From 9a78d5b87ad15cb9a883c497d4588baa2271df5f Mon Sep 17 00:00:00 2001 From: abel Date: Thu, 14 Mar 2024 17:21:14 -0300 Subject: [PATCH 01/48] (feat) Added support for all queries in the chain 'tendermint' module --- client/chain/chain.go | 60 ++++++++++++++++ client/chain/chain_test_support.go | 32 +++++++++ .../tendermint/query/1_GetNodeInfo/example.go | 69 ++++++++++++++++++ .../tendermint/query/2_GetSyncing/example.go | 69 ++++++++++++++++++ .../query/3_GetLatestBlock/example.go | 69 ++++++++++++++++++ .../query/4_GetBlockByHeight/example.go | 70 ++++++++++++++++++ .../query/5_GetLatestValidatorSet/example.go | 67 +++++++++++++++++ .../6_GetValidatorSetByHeight/example.go | 71 +++++++++++++++++++ 8 files changed, 507 insertions(+) create mode 100644 examples/chain/tendermint/query/1_GetNodeInfo/example.go create mode 100644 examples/chain/tendermint/query/2_GetSyncing/example.go create mode 100644 examples/chain/tendermint/query/3_GetLatestBlock/example.go create mode 100644 examples/chain/tendermint/query/4_GetBlockByHeight/example.go create mode 100644 examples/chain/tendermint/query/5_GetLatestValidatorSet/example.go create mode 100644 examples/chain/tendermint/query/6_GetValidatorSetByHeight/example.go diff --git a/client/chain/chain.go b/client/chain/chain.go index 058c57df..e3cd4097 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -13,6 +13,8 @@ import ( "sync/atomic" "time" + "github.com/cosmos/cosmos-sdk/client/grpc/tmservice" + distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" "github.com/cosmos/cosmos-sdk/types/query" @@ -234,6 +236,15 @@ type ChainClient interface { FetchTraderDerivativeConditionalOrders(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QueryTraderDerivativeConditionalOrdersResponse, error) FetchMarketAtomicExecutionFeeMultiplier(ctx context.Context, marketId string) (*exchangetypes.QueryMarketAtomicExecutionFeeMultiplierResponse, error) + // Tendermint module + FetchNodeInfo(ctx context.Context) (*tmservice.GetNodeInfoResponse, error) + FetchSyncing(ctx context.Context) (*tmservice.GetSyncingResponse, error) + FetchLatestBlock(ctx context.Context) (*tmservice.GetLatestBlockResponse, error) + FetchBlockByHeight(ctx context.Context, height int64) (*tmservice.GetBlockByHeightResponse, error) + FetchLatestValidatorSet(ctx context.Context) (*tmservice.GetLatestValidatorSetResponse, error) + FetchValidatorSetByHeight(ctx context.Context, height int64, pagination *query.PageRequest) (*tmservice.GetValidatorSetByHeightResponse, error) + ABCIQuery(ctx context.Context, path string, data []byte, height int64, prove bool) (*tmservice.ABCIQueryResponse, error) + Close() } @@ -269,6 +280,7 @@ type chainClient struct { chainStreamClient chainstreamtypes.StreamClient tokenfactoryQueryClient tokenfactorytypes.QueryClient distributionQueryClient distributiontypes.QueryClient + tendermintQueryClient tmservice.ServiceClient subaccountToNonce map[ethcommon.Hash]uint32 closed int64 @@ -364,6 +376,7 @@ func NewChainClient( chainStreamClient: chainstreamtypes.NewStreamClient(chainStreamConn), tokenfactoryQueryClient: tokenfactorytypes.NewQueryClient(conn), distributionQueryClient: distributiontypes.NewQueryClient(conn), + tendermintQueryClient: tmservice.NewServiceClient(conn), subaccountToNonce: make(map[ethcommon.Hash]uint32), } @@ -2017,3 +2030,50 @@ func (c *chainClient) FetchMarketAtomicExecutionFeeMultiplier(ctx context.Contex } return c.exchangeQueryClient.MarketAtomicExecutionFeeMultiplier(ctx, req) } + +// Tendermint module + +func (c *chainClient) FetchNodeInfo(ctx context.Context) (*tmservice.GetNodeInfoResponse, error) { + req := &tmservice.GetNodeInfoRequest{} + return c.tendermintQueryClient.GetNodeInfo(ctx, req) +} + +func (c *chainClient) FetchSyncing(ctx context.Context) (*tmservice.GetSyncingResponse, error) { + req := &tmservice.GetSyncingRequest{} + return c.tendermintQueryClient.GetSyncing(ctx, req) +} + +func (c *chainClient) FetchLatestBlock(ctx context.Context) (*tmservice.GetLatestBlockResponse, error) { + req := &tmservice.GetLatestBlockRequest{} + return c.tendermintQueryClient.GetLatestBlock(ctx, req) +} + +func (c *chainClient) FetchBlockByHeight(ctx context.Context, height int64) (*tmservice.GetBlockByHeightResponse, error) { + req := &tmservice.GetBlockByHeightRequest{ + Height: height, + } + return c.tendermintQueryClient.GetBlockByHeight(ctx, req) +} + +func (c *chainClient) FetchLatestValidatorSet(ctx context.Context) (*tmservice.GetLatestValidatorSetResponse, error) { + req := &tmservice.GetLatestValidatorSetRequest{} + return c.tendermintQueryClient.GetLatestValidatorSet(ctx, req) +} + +func (c *chainClient) FetchValidatorSetByHeight(ctx context.Context, height int64, pagination *query.PageRequest) (*tmservice.GetValidatorSetByHeightResponse, error) { + req := &tmservice.GetValidatorSetByHeightRequest{ + Height: height, + Pagination: pagination, + } + return c.tendermintQueryClient.GetValidatorSetByHeight(ctx, req) +} + +func (c *chainClient) ABCIQuery(ctx context.Context, path string, data []byte, height int64, prove bool) (*tmservice.ABCIQueryResponse, error) { + req := &tmservice.ABCIQueryRequest{ + Path: path, + Data: data, + Height: height, + Prove: prove, + } + return c.tendermintQueryClient.ABCIQuery(ctx, req) +} diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index 5ae0cfb6..a22fe440 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -5,6 +5,8 @@ import ( "errors" "time" + "github.com/cosmos/cosmos-sdk/client/grpc/tmservice" + distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" tokenfactorytypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types" @@ -546,3 +548,33 @@ func (c *MockChainClient) FetchTraderDerivativeConditionalOrders(ctx context.Con func (c *MockChainClient) FetchMarketAtomicExecutionFeeMultiplier(ctx context.Context, marketId string) (*exchangetypes.QueryMarketAtomicExecutionFeeMultiplierResponse, error) { return &exchangetypes.QueryMarketAtomicExecutionFeeMultiplierResponse{}, nil } + +// Tendermint module + +func (c *MockChainClient) FetchNodeInfo(ctx context.Context) (*tmservice.GetNodeInfoResponse, error) { + return &tmservice.GetNodeInfoResponse{}, nil +} + +func (c *MockChainClient) FetchSyncing(ctx context.Context) (*tmservice.GetSyncingResponse, error) { + return &tmservice.GetSyncingResponse{}, nil +} + +func (c *MockChainClient) FetchLatestBlock(ctx context.Context) (*tmservice.GetLatestBlockResponse, error) { + return &tmservice.GetLatestBlockResponse{}, nil +} + +func (c *MockChainClient) FetchBlockByHeight(ctx context.Context, height int64) (*tmservice.GetBlockByHeightResponse, error) { + return &tmservice.GetBlockByHeightResponse{}, nil +} + +func (c *MockChainClient) FetchLatestValidatorSet(ctx context.Context) (*tmservice.GetLatestValidatorSetResponse, error) { + return &tmservice.GetLatestValidatorSetResponse{}, nil +} + +func (c *MockChainClient) FetchValidatorSetByHeight(ctx context.Context, height int64, pagination *query.PageRequest) (*tmservice.GetValidatorSetByHeightResponse, error) { + return &tmservice.GetValidatorSetByHeightResponse{}, nil +} + +func (c *MockChainClient) ABCIQuery(ctx context.Context, path string, data []byte, height int64, prove bool) (*tmservice.ABCIQueryResponse, error) { + return &tmservice.ABCIQueryResponse{}, nil +} diff --git a/examples/chain/tendermint/query/1_GetNodeInfo/example.go b/examples/chain/tendermint/query/1_GetNodeInfo/example.go new file mode 100644 index 00000000..b5392b32 --- /dev/null +++ b/examples/chain/tendermint/query/1_GetNodeInfo/example.go @@ -0,0 +1,69 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "os" + + "github.com/InjectiveLabs/sdk-go/client" + 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("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + ctx := context.Background() + + res, err := chainClient.FetchNodeInfo(ctx) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/tendermint/query/2_GetSyncing/example.go b/examples/chain/tendermint/query/2_GetSyncing/example.go new file mode 100644 index 00000000..0d136f24 --- /dev/null +++ b/examples/chain/tendermint/query/2_GetSyncing/example.go @@ -0,0 +1,69 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "os" + + "github.com/InjectiveLabs/sdk-go/client" + 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("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + ctx := context.Background() + + res, err := chainClient.FetchSyncing(ctx) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/tendermint/query/3_GetLatestBlock/example.go b/examples/chain/tendermint/query/3_GetLatestBlock/example.go new file mode 100644 index 00000000..21434356 --- /dev/null +++ b/examples/chain/tendermint/query/3_GetLatestBlock/example.go @@ -0,0 +1,69 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "os" + + "github.com/InjectiveLabs/sdk-go/client" + 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("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + ctx := context.Background() + + res, err := chainClient.FetchLatestBlock(ctx) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/tendermint/query/4_GetBlockByHeight/example.go b/examples/chain/tendermint/query/4_GetBlockByHeight/example.go new file mode 100644 index 00000000..efcca72f --- /dev/null +++ b/examples/chain/tendermint/query/4_GetBlockByHeight/example.go @@ -0,0 +1,70 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "os" + + "github.com/InjectiveLabs/sdk-go/client" + 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("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + ctx := context.Background() + + height := int64(23040174) + res, err := chainClient.FetchBlockByHeight(ctx, height) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/tendermint/query/5_GetLatestValidatorSet/example.go b/examples/chain/tendermint/query/5_GetLatestValidatorSet/example.go new file mode 100644 index 00000000..66142f4a --- /dev/null +++ b/examples/chain/tendermint/query/5_GetLatestValidatorSet/example.go @@ -0,0 +1,67 @@ +package main + +import ( + "context" + "fmt" + + "os" + + "github.com/InjectiveLabs/sdk-go/client" + 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("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + ctx := context.Background() + + res, err := chainClient.FetchLatestValidatorSet(ctx) + if err != nil { + fmt.Println(err) + } + + fmt.Print(res.String()) + +} diff --git a/examples/chain/tendermint/query/6_GetValidatorSetByHeight/example.go b/examples/chain/tendermint/query/6_GetValidatorSetByHeight/example.go new file mode 100644 index 00000000..419abf97 --- /dev/null +++ b/examples/chain/tendermint/query/6_GetValidatorSetByHeight/example.go @@ -0,0 +1,71 @@ +package main + +import ( + "context" + "fmt" + + "github.com/cosmos/cosmos-sdk/types/query" + + "os" + + "github.com/InjectiveLabs/sdk-go/client" + 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("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + ctx := context.Background() + + height := int64(23040174) + pagination := query.PageRequest{Offset: 2, Limit: 10} + res, err := chainClient.FetchValidatorSetByHeight(ctx, height, &pagination) + if err != nil { + fmt.Println(err) + } + + fmt.Print(res.String()) + +} From 86991f475923b94c684890ff8e8ff5cb850deb39 Mon Sep 17 00:00:00 2001 From: abel Date: Tue, 9 Apr 2024 15:52:31 -0300 Subject: [PATCH 02/48] (feat) Changed the cookies management to get the cookie info from every gRPC response received --- client/chain/chain.go | 480 +++++++++++++++++-------- client/common/api_request_assistant.go | 36 ++ client/common/network.go | 99 +++-- client/common/network_test.go | 219 +++-------- client/exchange/exchange.go | 266 ++++++-------- client/explorer/explorer.go | 78 ++-- 6 files changed, 626 insertions(+), 552 deletions(-) create mode 100644 client/common/api_request_assistant.go diff --git a/client/chain/chain.go b/client/chain/chain.go index e3cd4097..1ab1e0ac 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -22,6 +22,10 @@ import ( "google.golang.org/grpc/credentials/insecure" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" + exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" + chainstreamtypes "github.com/InjectiveLabs/sdk-go/chain/stream/types" + tokenfactorytypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types" + "github.com/InjectiveLabs/sdk-go/client/common" log "github.com/InjectiveLabs/suplog" rpchttp "github.com/cometbft/cometbft/rpc/client/http" "github.com/cosmos/cosmos-sdk/client" @@ -37,12 +41,6 @@ import ( "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" - chainstreamtypes "github.com/InjectiveLabs/sdk-go/chain/stream/types" - tokenfactorytypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types" - "github.com/InjectiveLabs/sdk-go/client/common" ethcommon "github.com/ethereum/go-ethereum/common" ) @@ -469,22 +467,6 @@ func (c *chainClient) getAccSeq() uint64 { return c.accSeq } -func (c *chainClient) requestCookie() metadata.MD { - var header metadata.MD - _, err := c.bankQueryClient.Params(context.Background(), &banktypes.QueryParamsRequest{}, grpc.Header(&header)) - if err != nil { - panic(err) - } - return header -} - -func (c *chainClient) getCookie(ctx context.Context) context.Context { - provider := common.NewMetadataProvider(c.requestCookie) - cookie, _ := c.network.ChainMetadata(provider) - md := metadata.Pairs("cookie", cookie) - return metadata.NewOutgoingContext(ctx, md) -} - func (c *chainClient) GetAccNonce() (accNum uint64, accSeq uint64) { return c.accNum, c.accSeq } @@ -535,7 +517,9 @@ func (c *chainClient) GetBankBalances(ctx context.Context, address string) (*ban req := &banktypes.QueryAllBalancesRequest{ Address: address, } - return c.bankQueryClient.AllBalances(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.bankQueryClient.AllBalances, req) + + return res, err } func (c *chainClient) GetBankBalance(ctx context.Context, address string, denom string) (*banktypes.QueryBalanceResponse, error) { @@ -543,7 +527,9 @@ func (c *chainClient) GetBankBalance(ctx context.Context, address string, denom Address: address, Denom: denom, } - return c.bankQueryClient.Balance(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.bankQueryClient.Balance, req) + + return res, err } func (c *chainClient) GetBankSpendableBalances(ctx context.Context, address string, pagination *query.PageRequest) (*banktypes.QuerySpendableBalancesResponse, error) { @@ -551,7 +537,9 @@ func (c *chainClient) GetBankSpendableBalances(ctx context.Context, address stri Address: address, Pagination: pagination, } - return c.bankQueryClient.SpendableBalances(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.bankQueryClient.SpendableBalances, req) + + return res, err } func (c *chainClient) GetBankSpendableBalancesByDenom(ctx context.Context, address string, denom string) (*banktypes.QuerySpendableBalanceByDenomResponse, error) { @@ -559,27 +547,37 @@ func (c *chainClient) GetBankSpendableBalancesByDenom(ctx context.Context, addre Address: address, Denom: denom, } - return c.bankQueryClient.SpendableBalanceByDenom(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.bankQueryClient.SpendableBalanceByDenom, req) + + return res, err } func (c *chainClient) GetBankTotalSupply(ctx context.Context, pagination *query.PageRequest) (*banktypes.QueryTotalSupplyResponse, error) { req := &banktypes.QueryTotalSupplyRequest{Pagination: pagination} - return c.bankQueryClient.TotalSupply(ctx, req) + resp, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.bankQueryClient.TotalSupply, req) + + return resp, err } func (c *chainClient) GetBankSupplyOf(ctx context.Context, denom string) (*banktypes.QuerySupplyOfResponse, error) { req := &banktypes.QuerySupplyOfRequest{Denom: denom} - return c.bankQueryClient.SupplyOf(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.bankQueryClient.SupplyOf, req) + + return res, err } func (c *chainClient) GetDenomMetadata(ctx context.Context, denom string) (*banktypes.QueryDenomMetadataResponse, error) { req := &banktypes.QueryDenomMetadataRequest{Denom: denom} - return c.bankQueryClient.DenomMetadata(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.bankQueryClient.DenomMetadata, req) + + return res, err } func (c *chainClient) GetDenomsMetadata(ctx context.Context, pagination *query.PageRequest) (*banktypes.QueryDenomsMetadataResponse, error) { req := &banktypes.QueryDenomsMetadataRequest{Pagination: pagination} - return c.bankQueryClient.DenomsMetadata(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.bankQueryClient.DenomsMetadata, req) + + return res, err } func (c *chainClient) GetDenomOwners(ctx context.Context, denom string, pagination *query.PageRequest) (*banktypes.QueryDenomOwnersResponse, error) { @@ -587,7 +585,9 @@ func (c *chainClient) GetDenomOwners(ctx context.Context, denom string, paginati Denom: denom, Pagination: pagination, } - return c.bankQueryClient.DenomOwners(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.bankQueryClient.DenomOwners, req) + + return res, err } func (c *chainClient) GetBankSendEnabled(ctx context.Context, denoms []string, pagination *query.PageRequest) (*banktypes.QuerySendEnabledResponse, error) { @@ -595,7 +595,9 @@ func (c *chainClient) GetBankSendEnabled(ctx context.Context, denoms []string, p Denoms: denoms, Pagination: pagination, } - return c.bankQueryClient.SendEnabled(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.bankQueryClient.SendEnabled, req) + + return res, err } // Auth Module @@ -604,7 +606,9 @@ func (c *chainClient) GetAccount(ctx context.Context, address string) (*authtype req := &authtypes.QueryAccountRequest{ Address: address, } - return c.authQueryClient.Account(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.authQueryClient.Account, req) + + return res, err } // SyncBroadcastMsg sends Tx to chain and waits until Tx is included in block. @@ -640,7 +644,9 @@ func (c *chainClient) GetFeeDiscountInfo(ctx context.Context, account string) (* req := &exchangetypes.QueryFeeDiscountAccountInfoRequest{ Account: account, } - return c.exchangeQueryClient.FeeDiscountAccountInfo(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.FeeDiscountAccountInfo, req) + + return res, err } func (c *chainClient) SimulateMsg(clientCtx client.Context, msgs ...sdk.Msg) (*txtypes.SimulateResponse, error) { @@ -659,8 +665,9 @@ func (c *chainClient) SimulateMsg(clientCtx client.Context, msgs ...sdk.Msg) (*t } ctx := context.Background() - ctx = c.getCookie(ctx) - simRes, err := c.txClient.Simulate(ctx, &txtypes.SimulateRequest{TxBytes: simTxBytes}) + req := &txtypes.SimulateRequest{TxBytes: simTxBytes} + simRes, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.txClient.Simulate, req) + if err != nil { err = errors.Wrap(err, "failed to CalculateGas") return nil, err @@ -708,9 +715,11 @@ func (c *chainClient) BuildSignedTx(clientCtx client.Context, accNum, accSeq, in err = errors.Wrap(err, "failed to build sim tx bytes") return nil, err } - ctx := c.getCookie(context.Background()) - var header metadata.MD - simRes, err := c.txClient.Simulate(ctx, &txtypes.SimulateRequest{TxBytes: simTxBytes}, grpc.Header(&header)) + + ctx := context.Background() + req := &txtypes.SimulateRequest{TxBytes: simTxBytes} + simRes, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.txClient.Simulate, req) + if err != nil { err = errors.Wrap(err, "failed to CalculateGas") return nil, err @@ -750,8 +759,8 @@ func (c *chainClient) SyncBroadcastSignedTx(txBytes []byte) (*txtypes.BroadcastT } ctx := context.Background() - ctx = c.getCookie(ctx) - res, err := c.txClient.BroadcastTx(ctx, &req) + + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.txClient.BroadcastTx, &req) if err != nil { return res, err } @@ -797,9 +806,7 @@ func (c *chainClient) AsyncBroadcastSignedTx(txBytes []byte) (*txtypes.Broadcast } ctx := context.Background() - // use our own client to broadcast tx - ctx = c.getCookie(ctx) - res, err := c.txClient.BroadcastTx(ctx, &req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.txClient.BroadcastTx, &req) if err != nil { return nil, err } @@ -825,8 +832,9 @@ func (c *chainClient) broadcastTx( err = errors.Wrap(err, "failed to build sim tx bytes") return nil, err } - ctx := c.getCookie(ctx) - simRes, err := c.txClient.Simulate(ctx, &txtypes.SimulateRequest{TxBytes: simTxBytes}) + + req := &txtypes.SimulateRequest{TxBytes: simTxBytes} + simRes, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.txClient.Simulate, req) if err != nil { err = errors.Wrap(err, "failed to CalculateGas") return nil, err @@ -862,9 +870,8 @@ func (c *chainClient) broadcastTx( TxBytes: txBytes, Mode: txtypes.BroadcastMode_BROADCAST_MODE_SYNC, } - // use our own client to broadcast tx - ctx = c.getCookie(ctx) - res, err := c.txClient.BroadcastTx(ctx, &req) + + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.txClient.BroadcastTx, &req) if !await || err != nil { return res, err } @@ -1028,7 +1035,9 @@ func (c *chainClient) Subaccount(account sdk.AccAddress, index int) eth.Hash { func (c *chainClient) GetSubAccountNonce(ctx context.Context, subaccountId eth.Hash) (*exchangetypes.QuerySubaccountTradeNonceResponse, error) { req := &exchangetypes.QuerySubaccountTradeNonceRequest{SubaccountId: subaccountId.String()} - return c.exchangeQueryClient.SubaccountTradeNonce(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.SubaccountTradeNonce, req) + + return res, err } // Deprecated: Use CreateSpotOrder instead @@ -1113,7 +1122,9 @@ func (c *chainClient) OrderCancel(defaultSubaccountID eth.Hash, d *OrderCancelDa } func (c *chainClient) GetAuthzGrants(ctx context.Context, req authztypes.QueryGrantsRequest) (*authztypes.QueryGrantsResponse, error) { - return c.authzQueryClient.Grants(ctx, &req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.authzQueryClient.Grants, &req) + + return res, err } func (c *chainClient) BuildGenericAuthz(granter string, grantee string, msgtype string, expireIn time.Time) *authztypes.MsgGrant { @@ -1399,14 +1410,17 @@ func (c *chainClient) StreamOrderbookUpdateEventsWithWebsocket(orderbookType Ord } func (c *chainClient) GetTx(ctx context.Context, txHash string) (*txtypes.GetTxResponse, error) { - return c.txClient.GetTx(ctx, &txtypes.GetTxRequest{ + req := &txtypes.GetTxRequest{ Hash: txHash, - }) + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.txClient.GetTx, req) + + return res, err } func (c *chainClient) ChainStream(ctx context.Context, req chainstreamtypes.StreamRequest) (chainstreamtypes.Stream_StreamClient, error) { - ctx = c.getCookie(ctx) - stream, err := c.chainStreamClient.Stream(ctx, &req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ChainCookieAssistant, c.chainStreamClient.Stream, &req) + if err != nil { fmt.Println(err) return nil, err @@ -1421,7 +1435,9 @@ func (c *chainClient) FetchContractInfo(ctx context.Context, address string) (*w req := &wasmtypes.QueryContractInfoRequest{ Address: address, } - return c.wasmQueryClient.ContractInfo(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.wasmQueryClient.ContractInfo, req) + + return res, err } func (c *chainClient) FetchContractHistory(ctx context.Context, address string, pagination *query.PageRequest) (*wasmtypes.QueryContractHistoryResponse, error) { @@ -1429,7 +1445,9 @@ func (c *chainClient) FetchContractHistory(ctx context.Context, address string, Address: address, Pagination: pagination, } - return c.wasmQueryClient.ContractHistory(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.wasmQueryClient.ContractHistory, req) + + return res, err } func (c *chainClient) FetchContractsByCode(ctx context.Context, codeId uint64, pagination *query.PageRequest) (*wasmtypes.QueryContractsByCodeResponse, error) { @@ -1437,7 +1455,9 @@ func (c *chainClient) FetchContractsByCode(ctx context.Context, codeId uint64, p CodeId: codeId, Pagination: pagination, } - return c.wasmQueryClient.ContractsByCode(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.wasmQueryClient.ContractsByCode, req) + + return res, err } func (c *chainClient) FetchAllContractsState(ctx context.Context, address string, pagination *query.PageRequest) (*wasmtypes.QueryAllContractStateResponse, error) { @@ -1445,7 +1465,9 @@ func (c *chainClient) FetchAllContractsState(ctx context.Context, address string Address: address, Pagination: pagination, } - return c.wasmQueryClient.AllContractState(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.wasmQueryClient.AllContractState, req) + + return res, err } func (c *chainClient) RawContractState( @@ -1453,13 +1475,13 @@ func (c *chainClient) RawContractState( contractAddress string, queryData []byte, ) (*wasmtypes.QueryRawContractStateResponse, error) { - return c.wasmQueryClient.RawContractState( - ctx, - &wasmtypes.QueryRawContractStateRequest{ - Address: contractAddress, - QueryData: queryData, - }, - ) + req := &wasmtypes.QueryRawContractStateRequest{ + Address: contractAddress, + QueryData: queryData, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.wasmQueryClient.RawContractState, req) + + return res, err } func (c *chainClient) SmartContractState( @@ -1467,34 +1489,40 @@ func (c *chainClient) SmartContractState( contractAddress string, queryData []byte, ) (*wasmtypes.QuerySmartContractStateResponse, error) { - return c.wasmQueryClient.SmartContractState( - ctx, - &wasmtypes.QuerySmartContractStateRequest{ - Address: contractAddress, - QueryData: queryData, - }, - ) + req := &wasmtypes.QuerySmartContractStateRequest{ + Address: contractAddress, + QueryData: queryData, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.wasmQueryClient.SmartContractState, req) + + return res, err } func (c *chainClient) FetchCode(ctx context.Context, codeId uint64) (*wasmtypes.QueryCodeResponse, error) { req := &wasmtypes.QueryCodeRequest{ CodeId: codeId, } - return c.wasmQueryClient.Code(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.wasmQueryClient.Code, req) + + return res, err } func (c *chainClient) FetchCodes(ctx context.Context, pagination *query.PageRequest) (*wasmtypes.QueryCodesResponse, error) { req := &wasmtypes.QueryCodesRequest{ Pagination: pagination, } - return c.wasmQueryClient.Codes(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.wasmQueryClient.Codes, req) + + return res, err } func (c *chainClient) FetchPinnedCodes(ctx context.Context, pagination *query.PageRequest) (*wasmtypes.QueryPinnedCodesResponse, error) { req := &wasmtypes.QueryPinnedCodesRequest{ Pagination: pagination, } - return c.wasmQueryClient.PinnedCodes(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.wasmQueryClient.PinnedCodes, req) + + return res, err } func (c *chainClient) FetchContractsByCreator(ctx context.Context, creator string, pagination *query.PageRequest) (*wasmtypes.QueryContractsByCreatorResponse, error) { @@ -1502,7 +1530,9 @@ func (c *chainClient) FetchContractsByCreator(ctx context.Context, creator strin CreatorAddress: creator, Pagination: pagination, } - return c.wasmQueryClient.ContractsByCreator(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.wasmQueryClient.ContractsByCreator, req) + + return res, err } // Tokenfactory module @@ -1516,7 +1546,9 @@ func (c *chainClient) FetchDenomAuthorityMetadata(ctx context.Context, creator s req.SubDenom = subDenom } - return c.tokenfactoryQueryClient.DenomAuthorityMetadata(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tokenfactoryQueryClient.DenomAuthorityMetadata, req) + + return res, err } func (c *chainClient) FetchDenomsFromCreator(ctx context.Context, creator string) (*tokenfactorytypes.QueryDenomsFromCreatorResponse, error) { @@ -1524,13 +1556,17 @@ func (c *chainClient) FetchDenomsFromCreator(ctx context.Context, creator string Creator: creator, } - return c.tokenfactoryQueryClient.DenomsFromCreator(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tokenfactoryQueryClient.DenomsFromCreator, req) + + return res, err } func (c *chainClient) FetchTokenfactoryModuleState(ctx context.Context) (*tokenfactorytypes.QueryModuleStateResponse, error) { req := &tokenfactorytypes.QueryModuleStateRequest{} - return c.tokenfactoryQueryClient.TokenfactoryModuleState(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tokenfactoryQueryClient.TokenfactoryModuleState, req) + + return res, err } type DerivativeOrderData struct { @@ -1564,21 +1600,27 @@ func (c *chainClient) FetchValidatorDistributionInfo(ctx context.Context, valida req := &distributiontypes.QueryValidatorDistributionInfoRequest{ ValidatorAddress: validatorAddress, } - return c.distributionQueryClient.ValidatorDistributionInfo(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.distributionQueryClient.ValidatorDistributionInfo, req) + + return res, err } func (c *chainClient) FetchValidatorOutstandingRewards(ctx context.Context, validatorAddress string) (*distributiontypes.QueryValidatorOutstandingRewardsResponse, error) { req := &distributiontypes.QueryValidatorOutstandingRewardsRequest{ ValidatorAddress: validatorAddress, } - return c.distributionQueryClient.ValidatorOutstandingRewards(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.distributionQueryClient.ValidatorOutstandingRewards, req) + + return res, err } func (c *chainClient) FetchValidatorCommission(ctx context.Context, validatorAddress string) (*distributiontypes.QueryValidatorCommissionResponse, error) { req := &distributiontypes.QueryValidatorCommissionRequest{ ValidatorAddress: validatorAddress, } - return c.distributionQueryClient.ValidatorCommission(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.distributionQueryClient.ValidatorCommission, req) + + return res, err } func (c *chainClient) FetchValidatorSlashes(ctx context.Context, validatorAddress string, startingHeight uint64, endingHeight uint64, pagination *query.PageRequest) (*distributiontypes.QueryValidatorSlashesResponse, error) { @@ -1588,7 +1630,9 @@ func (c *chainClient) FetchValidatorSlashes(ctx context.Context, validatorAddres EndingHeight: endingHeight, Pagination: pagination, } - return c.distributionQueryClient.ValidatorSlashes(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.distributionQueryClient.ValidatorSlashes, req) + + return res, err } func (c *chainClient) FetchDelegationRewards(ctx context.Context, delegatorAddress string, validatorAddress string) (*distributiontypes.QueryDelegationRewardsResponse, error) { @@ -1596,33 +1640,43 @@ func (c *chainClient) FetchDelegationRewards(ctx context.Context, delegatorAddre DelegatorAddress: delegatorAddress, ValidatorAddress: validatorAddress, } - return c.distributionQueryClient.DelegationRewards(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.distributionQueryClient.DelegationRewards, req) + + return res, err } func (c *chainClient) FetchDelegationTotalRewards(ctx context.Context, delegatorAddress string) (*distributiontypes.QueryDelegationTotalRewardsResponse, error) { req := &distributiontypes.QueryDelegationTotalRewardsRequest{ DelegatorAddress: delegatorAddress, } - return c.distributionQueryClient.DelegationTotalRewards(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.distributionQueryClient.DelegationTotalRewards, req) + + return res, err } func (c *chainClient) FetchDelegatorValidators(ctx context.Context, delegatorAddress string) (*distributiontypes.QueryDelegatorValidatorsResponse, error) { req := &distributiontypes.QueryDelegatorValidatorsRequest{ DelegatorAddress: delegatorAddress, } - return c.distributionQueryClient.DelegatorValidators(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.distributionQueryClient.DelegatorValidators, req) + + return res, err } func (c *chainClient) FetchDelegatorWithdrawAddress(ctx context.Context, delegatorAddress string) (*distributiontypes.QueryDelegatorWithdrawAddressResponse, error) { req := &distributiontypes.QueryDelegatorWithdrawAddressRequest{ DelegatorAddress: delegatorAddress, } - return c.distributionQueryClient.DelegatorWithdrawAddress(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.distributionQueryClient.DelegatorWithdrawAddress, req) + + return res, err } func (c *chainClient) FetchCommunityPool(ctx context.Context) (*distributiontypes.QueryCommunityPoolResponse, error) { req := &distributiontypes.QueryCommunityPoolRequest{} - return c.distributionQueryClient.CommunityPool(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.distributionQueryClient.CommunityPool, req) + + return res, err } // Chain exchange module @@ -1630,7 +1684,9 @@ func (c *chainClient) FetchSubaccountDeposits(ctx context.Context, subaccountId req := &exchangetypes.QuerySubaccountDepositsRequest{ SubaccountId: subaccountId, } - return c.exchangeQueryClient.SubaccountDeposits(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.SubaccountDeposits, req) + + return res, err } func (c *chainClient) FetchSubaccountDeposit(ctx context.Context, subaccountId string, denom string) (*exchangetypes.QuerySubaccountDepositResponse, error) { @@ -1638,19 +1694,25 @@ func (c *chainClient) FetchSubaccountDeposit(ctx context.Context, subaccountId s SubaccountId: subaccountId, Denom: denom, } - return c.exchangeQueryClient.SubaccountDeposit(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.SubaccountDeposit, req) + + return res, err } func (c *chainClient) FetchExchangeBalances(ctx context.Context) (*exchangetypes.QueryExchangeBalancesResponse, error) { req := &exchangetypes.QueryExchangeBalancesRequest{} - return c.exchangeQueryClient.ExchangeBalances(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.ExchangeBalances, req) + + return res, err } func (c *chainClient) FetchAggregateVolume(ctx context.Context, account string) (*exchangetypes.QueryAggregateVolumeResponse, error) { req := &exchangetypes.QueryAggregateVolumeRequest{ Account: account, } - return c.exchangeQueryClient.AggregateVolume(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.AggregateVolume, req) + + return res, err } func (c *chainClient) FetchAggregateVolumes(ctx context.Context, accounts []string, marketIds []string) (*exchangetypes.QueryAggregateVolumesResponse, error) { @@ -1658,35 +1720,45 @@ func (c *chainClient) FetchAggregateVolumes(ctx context.Context, accounts []stri Accounts: accounts, MarketIds: marketIds, } - return c.exchangeQueryClient.AggregateVolumes(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.AggregateVolumes, req) + + return res, err } func (c *chainClient) FetchAggregateMarketVolume(ctx context.Context, marketId string) (*exchangetypes.QueryAggregateMarketVolumeResponse, error) { req := &exchangetypes.QueryAggregateMarketVolumeRequest{ MarketId: marketId, } - return c.exchangeQueryClient.AggregateMarketVolume(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.AggregateMarketVolume, req) + + return res, err } func (c *chainClient) FetchAggregateMarketVolumes(ctx context.Context, marketIds []string) (*exchangetypes.QueryAggregateMarketVolumesResponse, error) { req := &exchangetypes.QueryAggregateMarketVolumesRequest{ MarketIds: marketIds, } - return c.exchangeQueryClient.AggregateMarketVolumes(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.AggregateMarketVolumes, req) + + return res, err } func (c *chainClient) FetchDenomDecimal(ctx context.Context, denom string) (*exchangetypes.QueryDenomDecimalResponse, error) { req := &exchangetypes.QueryDenomDecimalRequest{ Denom: denom, } - return c.exchangeQueryClient.DenomDecimal(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.DenomDecimal, req) + + return res, err } func (c *chainClient) FetchDenomDecimals(ctx context.Context, denoms []string) (*exchangetypes.QueryDenomDecimalsResponse, error) { req := &exchangetypes.QueryDenomDecimalsRequest{ Denoms: denoms, } - return c.exchangeQueryClient.DenomDecimals(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.DenomDecimals, req) + + return res, err } func (c *chainClient) FetchChainSpotMarkets(ctx context.Context, status string, marketIds []string) (*exchangetypes.QuerySpotMarketsResponse, error) { @@ -1696,14 +1768,18 @@ func (c *chainClient) FetchChainSpotMarkets(ctx context.Context, status string, if status != "" { req.Status = status } - return c.exchangeQueryClient.SpotMarkets(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.SpotMarkets, req) + + return res, err } func (c *chainClient) FetchChainSpotMarket(ctx context.Context, marketId string) (*exchangetypes.QuerySpotMarketResponse, error) { req := &exchangetypes.QuerySpotMarketRequest{ MarketId: marketId, } - return c.exchangeQueryClient.SpotMarket(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.SpotMarket, req) + + return res, err } func (c *chainClient) FetchChainFullSpotMarkets(ctx context.Context, status string, marketIds []string, withMidPriceAndTob bool) (*exchangetypes.QueryFullSpotMarketsResponse, error) { @@ -1714,7 +1790,9 @@ func (c *chainClient) FetchChainFullSpotMarkets(ctx context.Context, status stri if status != "" { req.Status = status } - return c.exchangeQueryClient.FullSpotMarkets(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.FullSpotMarkets, req) + + return res, err } func (c *chainClient) FetchChainFullSpotMarket(ctx context.Context, marketId string, withMidPriceAndTob bool) (*exchangetypes.QueryFullSpotMarketResponse, error) { @@ -1722,7 +1800,9 @@ func (c *chainClient) FetchChainFullSpotMarket(ctx context.Context, marketId str MarketId: marketId, WithMidPriceAndTob: withMidPriceAndTob, } - return c.exchangeQueryClient.FullSpotMarket(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.FullSpotMarket, req) + + return res, err } func (c *chainClient) FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional sdk.Dec, limitCumulativeQuantity sdk.Dec) (*exchangetypes.QuerySpotOrderbookResponse, error) { @@ -1733,7 +1813,9 @@ func (c *chainClient) FetchChainSpotOrderbook(ctx context.Context, marketId stri LimitCumulativeNotional: &limitCumulativeNotional, LimitCumulativeQuantity: &limitCumulativeQuantity, } - return c.exchangeQueryClient.SpotOrderbook(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.SpotOrderbook, req) + + return res, err } func (c *chainClient) FetchChainTraderSpotOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) { @@ -1741,7 +1823,9 @@ func (c *chainClient) FetchChainTraderSpotOrders(ctx context.Context, marketId s MarketId: marketId, SubaccountId: subaccountId, } - return c.exchangeQueryClient.TraderSpotOrders(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.TraderSpotOrders, req) + + return res, err } func (c *chainClient) FetchChainAccountAddressSpotOrders(ctx context.Context, marketId string, address string) (*exchangetypes.QueryAccountAddressSpotOrdersResponse, error) { @@ -1749,7 +1833,9 @@ func (c *chainClient) FetchChainAccountAddressSpotOrders(ctx context.Context, ma MarketId: marketId, AccountAddress: address, } - return c.exchangeQueryClient.AccountAddressSpotOrders(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.AccountAddressSpotOrders, req) + + return res, err } func (c *chainClient) FetchChainSpotOrdersByHashes(ctx context.Context, marketId string, subaccountId string, orderHashes []string) (*exchangetypes.QuerySpotOrdersByHashesResponse, error) { @@ -1758,7 +1844,9 @@ func (c *chainClient) FetchChainSpotOrdersByHashes(ctx context.Context, marketId SubaccountId: subaccountId, OrderHashes: orderHashes, } - return c.exchangeQueryClient.SpotOrdersByHashes(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.SpotOrdersByHashes, req) + + return res, err } func (c *chainClient) FetchChainSubaccountOrders(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QuerySubaccountOrdersResponse, error) { @@ -1766,7 +1854,9 @@ func (c *chainClient) FetchChainSubaccountOrders(ctx context.Context, subaccount SubaccountId: subaccountId, MarketId: marketId, } - return c.exchangeQueryClient.SubaccountOrders(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.SubaccountOrders, req) + + return res, err } func (c *chainClient) FetchChainTraderSpotTransientOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) { @@ -1774,21 +1864,27 @@ func (c *chainClient) FetchChainTraderSpotTransientOrders(ctx context.Context, m MarketId: marketId, SubaccountId: subaccountId, } - return c.exchangeQueryClient.TraderSpotTransientOrders(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.TraderSpotTransientOrders, req) + + return res, err } func (c *chainClient) FetchSpotMidPriceAndTOB(ctx context.Context, marketId string) (*exchangetypes.QuerySpotMidPriceAndTOBResponse, error) { req := &exchangetypes.QuerySpotMidPriceAndTOBRequest{ MarketId: marketId, } - return c.exchangeQueryClient.SpotMidPriceAndTOB(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.SpotMidPriceAndTOB, req) + + return res, err } func (c *chainClient) FetchDerivativeMidPriceAndTOB(ctx context.Context, marketId string) (*exchangetypes.QueryDerivativeMidPriceAndTOBResponse, error) { req := &exchangetypes.QueryDerivativeMidPriceAndTOBRequest{ MarketId: marketId, } - return c.exchangeQueryClient.DerivativeMidPriceAndTOB(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.DerivativeMidPriceAndTOB, req) + + return res, err } func (c *chainClient) FetchChainDerivativeOrderbook(ctx context.Context, marketId string, limit uint64, limitCumulativeNotional sdk.Dec) (*exchangetypes.QueryDerivativeOrderbookResponse, error) { @@ -1797,7 +1893,9 @@ func (c *chainClient) FetchChainDerivativeOrderbook(ctx context.Context, marketI Limit: limit, LimitCumulativeNotional: &limitCumulativeNotional, } - return c.exchangeQueryClient.DerivativeOrderbook(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.DerivativeOrderbook, req) + + return res, err } func (c *chainClient) FetchChainTraderDerivativeOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) { @@ -1805,7 +1903,9 @@ func (c *chainClient) FetchChainTraderDerivativeOrders(ctx context.Context, mark MarketId: marketId, SubaccountId: subaccountId, } - return c.exchangeQueryClient.TraderDerivativeOrders(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.TraderDerivativeOrders, req) + + return res, err } func (c *chainClient) FetchChainAccountAddressDerivativeOrders(ctx context.Context, marketId string, address string) (*exchangetypes.QueryAccountAddressDerivativeOrdersResponse, error) { @@ -1813,7 +1913,9 @@ func (c *chainClient) FetchChainAccountAddressDerivativeOrders(ctx context.Conte MarketId: marketId, AccountAddress: address, } - return c.exchangeQueryClient.AccountAddressDerivativeOrders(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.AccountAddressDerivativeOrders, req) + + return res, err } func (c *chainClient) FetchChainDerivativeOrdersByHashes(ctx context.Context, marketId string, subaccountId string, orderHashes []string) (*exchangetypes.QueryDerivativeOrdersByHashesResponse, error) { @@ -1822,7 +1924,9 @@ func (c *chainClient) FetchChainDerivativeOrdersByHashes(ctx context.Context, ma SubaccountId: subaccountId, OrderHashes: orderHashes, } - return c.exchangeQueryClient.DerivativeOrdersByHashes(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.DerivativeOrdersByHashes, req) + + return res, err } func (c *chainClient) FetchChainTraderDerivativeTransientOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) { @@ -1830,7 +1934,9 @@ func (c *chainClient) FetchChainTraderDerivativeTransientOrders(ctx context.Cont MarketId: marketId, SubaccountId: subaccountId, } - return c.exchangeQueryClient.TraderDerivativeTransientOrders(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.TraderDerivativeTransientOrders, req) + + return res, err } func (c *chainClient) FetchChainDerivativeMarkets(ctx context.Context, status string, marketIds []string, withMidPriceAndTob bool) (*exchangetypes.QueryDerivativeMarketsResponse, error) { @@ -1841,40 +1947,52 @@ func (c *chainClient) FetchChainDerivativeMarkets(ctx context.Context, status st if status != "" { req.Status = status } - return c.exchangeQueryClient.DerivativeMarkets(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.DerivativeMarkets, req) + + return res, err } func (c *chainClient) FetchChainDerivativeMarket(ctx context.Context, marketId string) (*exchangetypes.QueryDerivativeMarketResponse, error) { req := &exchangetypes.QueryDerivativeMarketRequest{ MarketId: marketId, } - return c.exchangeQueryClient.DerivativeMarket(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.DerivativeMarket, req) + + return res, err } func (c *chainClient) FetchDerivativeMarketAddress(ctx context.Context, marketId string) (*exchangetypes.QueryDerivativeMarketAddressResponse, error) { req := &exchangetypes.QueryDerivativeMarketAddressRequest{ MarketId: marketId, } - return c.exchangeQueryClient.DerivativeMarketAddress(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.DerivativeMarketAddress, req) + + return res, err } func (c *chainClient) FetchSubaccountTradeNonce(ctx context.Context, subaccountId string) (*exchangetypes.QuerySubaccountTradeNonceResponse, error) { req := &exchangetypes.QuerySubaccountTradeNonceRequest{ SubaccountId: subaccountId, } - return c.exchangeQueryClient.SubaccountTradeNonce(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.SubaccountTradeNonce, req) + + return res, err } func (c *chainClient) FetchChainPositions(ctx context.Context) (*exchangetypes.QueryPositionsResponse, error) { req := &exchangetypes.QueryPositionsRequest{} - return c.exchangeQueryClient.Positions(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.Positions, req) + + return res, err } func (c *chainClient) FetchChainSubaccountPositions(ctx context.Context, subaccountId string) (*exchangetypes.QuerySubaccountPositionsResponse, error) { req := &exchangetypes.QuerySubaccountPositionsRequest{ SubaccountId: subaccountId, } - return c.exchangeQueryClient.SubaccountPositions(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.SubaccountPositions, req) + + return res, err } func (c *chainClient) FetchChainSubaccountPositionInMarket(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QuerySubaccountPositionInMarketResponse, error) { @@ -1882,7 +2000,9 @@ func (c *chainClient) FetchChainSubaccountPositionInMarket(ctx context.Context, SubaccountId: subaccountId, MarketId: marketId, } - return c.exchangeQueryClient.SubaccountPositionInMarket(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.SubaccountPositionInMarket, req) + + return res, err } func (c *chainClient) FetchChainSubaccountEffectivePositionInMarket(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QuerySubaccountEffectivePositionInMarketResponse, error) { @@ -1890,114 +2010,150 @@ func (c *chainClient) FetchChainSubaccountEffectivePositionInMarket(ctx context. SubaccountId: subaccountId, MarketId: marketId, } - return c.exchangeQueryClient.SubaccountEffectivePositionInMarket(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.SubaccountEffectivePositionInMarket, req) + + return res, err } func (c *chainClient) FetchChainPerpetualMarketInfo(ctx context.Context, marketId string) (*exchangetypes.QueryPerpetualMarketInfoResponse, error) { req := &exchangetypes.QueryPerpetualMarketInfoRequest{ MarketId: marketId, } - return c.exchangeQueryClient.PerpetualMarketInfo(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.PerpetualMarketInfo, req) + + return res, err } func (c *chainClient) FetchChainExpiryFuturesMarketInfo(ctx context.Context, marketId string) (*exchangetypes.QueryExpiryFuturesMarketInfoResponse, error) { req := &exchangetypes.QueryExpiryFuturesMarketInfoRequest{ MarketId: marketId, } - return c.exchangeQueryClient.ExpiryFuturesMarketInfo(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.ExpiryFuturesMarketInfo, req) + + return res, err } func (c *chainClient) FetchChainPerpetualMarketFunding(ctx context.Context, marketId string) (*exchangetypes.QueryPerpetualMarketFundingResponse, error) { req := &exchangetypes.QueryPerpetualMarketFundingRequest{ MarketId: marketId, } - return c.exchangeQueryClient.PerpetualMarketFunding(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.PerpetualMarketFunding, req) + + return res, err } func (c *chainClient) FetchSubaccountOrderMetadata(ctx context.Context, subaccountId string) (*exchangetypes.QuerySubaccountOrderMetadataResponse, error) { req := &exchangetypes.QuerySubaccountOrderMetadataRequest{ SubaccountId: subaccountId, } - return c.exchangeQueryClient.SubaccountOrderMetadata(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.SubaccountOrderMetadata, req) + + return res, err } func (c *chainClient) FetchTradeRewardPoints(ctx context.Context, accounts []string) (*exchangetypes.QueryTradeRewardPointsResponse, error) { req := &exchangetypes.QueryTradeRewardPointsRequest{ Accounts: accounts, } - return c.exchangeQueryClient.TradeRewardPoints(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.TradeRewardPoints, req) + + return res, err } func (c *chainClient) FetchPendingTradeRewardPoints(ctx context.Context, accounts []string) (*exchangetypes.QueryTradeRewardPointsResponse, error) { req := &exchangetypes.QueryTradeRewardPointsRequest{ Accounts: accounts, } - return c.exchangeQueryClient.PendingTradeRewardPoints(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.PendingTradeRewardPoints, req) + + return res, err } func (c *chainClient) FetchTradeRewardCampaign(ctx context.Context) (*exchangetypes.QueryTradeRewardCampaignResponse, error) { req := &exchangetypes.QueryTradeRewardCampaignRequest{} - return c.exchangeQueryClient.TradeRewardCampaign(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.TradeRewardCampaign, req) + + return res, err } func (c *chainClient) FetchFeeDiscountAccountInfo(ctx context.Context, account string) (*exchangetypes.QueryFeeDiscountAccountInfoResponse, error) { req := &exchangetypes.QueryFeeDiscountAccountInfoRequest{ Account: account, } - return c.exchangeQueryClient.FeeDiscountAccountInfo(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.FeeDiscountAccountInfo, req) + + return res, err } func (c *chainClient) FetchFeeDiscountSchedule(ctx context.Context) (*exchangetypes.QueryFeeDiscountScheduleResponse, error) { req := &exchangetypes.QueryFeeDiscountScheduleRequest{} - return c.exchangeQueryClient.FeeDiscountSchedule(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.FeeDiscountSchedule, req) + + return res, err } func (c *chainClient) FetchBalanceMismatches(ctx context.Context, dustFactor int64) (*exchangetypes.QueryBalanceMismatchesResponse, error) { req := &exchangetypes.QueryBalanceMismatchesRequest{ DustFactor: dustFactor, } - return c.exchangeQueryClient.BalanceMismatches(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.BalanceMismatches, req) + + return res, err } func (c *chainClient) FetchBalanceWithBalanceHolds(ctx context.Context) (*exchangetypes.QueryBalanceWithBalanceHoldsResponse, error) { req := &exchangetypes.QueryBalanceWithBalanceHoldsRequest{} - return c.exchangeQueryClient.BalanceWithBalanceHolds(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.BalanceWithBalanceHolds, req) + + return res, err } func (c *chainClient) FetchFeeDiscountTierStatistics(ctx context.Context) (*exchangetypes.QueryFeeDiscountTierStatisticsResponse, error) { req := &exchangetypes.QueryFeeDiscountTierStatisticsRequest{} - return c.exchangeQueryClient.FeeDiscountTierStatistics(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.FeeDiscountTierStatistics, req) + + return res, err } func (c *chainClient) FetchMitoVaultInfos(ctx context.Context) (*exchangetypes.MitoVaultInfosResponse, error) { req := &exchangetypes.MitoVaultInfosRequest{} - return c.exchangeQueryClient.MitoVaultInfos(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.MitoVaultInfos, req) + + return res, err } func (c *chainClient) FetchMarketIDFromVault(ctx context.Context, vaultAddress string) (*exchangetypes.QueryMarketIDFromVaultResponse, error) { req := &exchangetypes.QueryMarketIDFromVaultRequest{ VaultAddress: vaultAddress, } - return c.exchangeQueryClient.QueryMarketIDFromVault(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.QueryMarketIDFromVault, req) + + return res, err } func (c *chainClient) FetchHistoricalTradeRecords(ctx context.Context, marketId string) (*exchangetypes.QueryHistoricalTradeRecordsResponse, error) { req := &exchangetypes.QueryHistoricalTradeRecordsRequest{ MarketId: marketId, } - return c.exchangeQueryClient.HistoricalTradeRecords(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.HistoricalTradeRecords, req) + + return res, err } func (c *chainClient) FetchIsOptedOutOfRewards(ctx context.Context, account string) (*exchangetypes.QueryIsOptedOutOfRewardsResponse, error) { req := &exchangetypes.QueryIsOptedOutOfRewardsRequest{ Account: account, } - return c.exchangeQueryClient.IsOptedOutOfRewards(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.IsOptedOutOfRewards, req) + + return res, err } func (c *chainClient) FetchOptedOutOfRewardsAccounts(ctx context.Context) (*exchangetypes.QueryOptedOutOfRewardsAccountsResponse, error) { req := &exchangetypes.QueryOptedOutOfRewardsAccountsRequest{} - return c.exchangeQueryClient.OptedOutOfRewardsAccounts(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.OptedOutOfRewardsAccounts, req) + + return res, err } func (c *chainClient) FetchMarketVolatility(ctx context.Context, marketId string, tradeHistoryOptions *exchangetypes.TradeHistoryOptions) (*exchangetypes.QueryMarketVolatilityResponse, error) { @@ -2005,7 +2161,9 @@ func (c *chainClient) FetchMarketVolatility(ctx context.Context, marketId string MarketId: marketId, TradeHistoryOptions: tradeHistoryOptions, } - return c.exchangeQueryClient.MarketVolatility(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.MarketVolatility, req) + + return res, err } func (c *chainClient) FetchChainBinaryOptionsMarkets(ctx context.Context, status string) (*exchangetypes.QueryBinaryMarketsResponse, error) { @@ -2013,7 +2171,9 @@ func (c *chainClient) FetchChainBinaryOptionsMarkets(ctx context.Context, status if status != "" { req.Status = status } - return c.exchangeQueryClient.BinaryOptionsMarkets(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.BinaryOptionsMarkets, req) + + return res, err } func (c *chainClient) FetchTraderDerivativeConditionalOrders(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QueryTraderDerivativeConditionalOrdersResponse, error) { @@ -2021,43 +2181,57 @@ func (c *chainClient) FetchTraderDerivativeConditionalOrders(ctx context.Context SubaccountId: subaccountId, MarketId: marketId, } - return c.exchangeQueryClient.TraderDerivativeConditionalOrders(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.TraderDerivativeConditionalOrders, req) + + return res, err } func (c *chainClient) FetchMarketAtomicExecutionFeeMultiplier(ctx context.Context, marketId string) (*exchangetypes.QueryMarketAtomicExecutionFeeMultiplierResponse, error) { req := &exchangetypes.QueryMarketAtomicExecutionFeeMultiplierRequest{ MarketId: marketId, } - return c.exchangeQueryClient.MarketAtomicExecutionFeeMultiplier(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.MarketAtomicExecutionFeeMultiplier, req) + + return res, err } // Tendermint module func (c *chainClient) FetchNodeInfo(ctx context.Context) (*tmservice.GetNodeInfoResponse, error) { req := &tmservice.GetNodeInfoRequest{} - return c.tendermintQueryClient.GetNodeInfo(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tendermintQueryClient.GetNodeInfo, req) + + return res, err } func (c *chainClient) FetchSyncing(ctx context.Context) (*tmservice.GetSyncingResponse, error) { req := &tmservice.GetSyncingRequest{} - return c.tendermintQueryClient.GetSyncing(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tendermintQueryClient.GetSyncing, req) + + return res, err } func (c *chainClient) FetchLatestBlock(ctx context.Context) (*tmservice.GetLatestBlockResponse, error) { req := &tmservice.GetLatestBlockRequest{} - return c.tendermintQueryClient.GetLatestBlock(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tendermintQueryClient.GetLatestBlock, req) + + return res, err } func (c *chainClient) FetchBlockByHeight(ctx context.Context, height int64) (*tmservice.GetBlockByHeightResponse, error) { req := &tmservice.GetBlockByHeightRequest{ Height: height, } - return c.tendermintQueryClient.GetBlockByHeight(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tendermintQueryClient.GetBlockByHeight, req) + + return res, err } func (c *chainClient) FetchLatestValidatorSet(ctx context.Context) (*tmservice.GetLatestValidatorSetResponse, error) { req := &tmservice.GetLatestValidatorSetRequest{} - return c.tendermintQueryClient.GetLatestValidatorSet(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tendermintQueryClient.GetLatestValidatorSet, req) + + return res, err } func (c *chainClient) FetchValidatorSetByHeight(ctx context.Context, height int64, pagination *query.PageRequest) (*tmservice.GetValidatorSetByHeightResponse, error) { @@ -2065,7 +2239,9 @@ func (c *chainClient) FetchValidatorSetByHeight(ctx context.Context, height int6 Height: height, Pagination: pagination, } - return c.tendermintQueryClient.GetValidatorSetByHeight(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tendermintQueryClient.GetValidatorSetByHeight, req) + + return res, err } func (c *chainClient) ABCIQuery(ctx context.Context, path string, data []byte, height int64, prove bool) (*tmservice.ABCIQueryResponse, error) { @@ -2075,5 +2251,7 @@ func (c *chainClient) ABCIQuery(ctx context.Context, path string, data []byte, h Height: height, Prove: prove, } - return c.tendermintQueryClient.ABCIQuery(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tendermintQueryClient.ABCIQuery, req) + + return res, err } diff --git a/client/common/api_request_assistant.go b/client/common/api_request_assistant.go new file mode 100644 index 00000000..e5956792 --- /dev/null +++ b/client/common/api_request_assistant.go @@ -0,0 +1,36 @@ +package common + +import ( + "context" + "google.golang.org/grpc" + "google.golang.org/grpc/metadata" +) + +type ApiCall[Q any, R any] func(ctx context.Context, in *Q, opts ...grpc.CallOption) (*R, error) +type ApiStreamCall[Q any, S grpc.ClientStream] func(ctx context.Context, in *Q, opts ...grpc.CallOption) (S, error) + +func ExecuteCall[Q any, R any](ctx context.Context, cookieAssistant CookieAssistant, call ApiCall[Q, R], in *Q) (*R, error) { + var header metadata.MD + localCtx := metadata.NewOutgoingContext(ctx, cookieAssistant.RealMetadata()) + + response, err := call(localCtx, in, grpc.Header(&header)) + + cookieAssistant.ProcessResponseMetadata(header) + + return response, err +} + +func ExecuteStreamCall[Q any, S grpc.ClientStream](ctx context.Context, cookieAssistant CookieAssistant, call ApiStreamCall[Q, S], in *Q) (S, error) { + localCtx := metadata.NewOutgoingContext(ctx, cookieAssistant.RealMetadata()) + + stream, callError := call(localCtx, in) + + if callError == nil { + header, err := stream.Header() + if err == nil { + cookieAssistant.ProcessResponseMetadata(header) + } + } + + return stream, callError +} diff --git a/client/common/network.go b/client/common/network.go index ec50a01b..0fbbd499 100644 --- a/client/common/network.go +++ b/client/common/network.go @@ -41,6 +41,8 @@ func (provider *MetadataProvider) metadata() metadata.MD { type CookieAssistant interface { Metadata(provider MetadataProvider) (string, error) + RealMetadata() metadata.MD + ProcessResponseMetadata(header metadata.MD) } type ExpiringCookieAssistant struct { @@ -74,7 +76,7 @@ func (assistant *ExpiringCookieAssistant) checkCookieExpiration() { if err == nil { timestampDiff := time.Until(expirationTime) - if timestampDiff < SessionRenewalOffset { + if timestampDiff < 0 { assistant.cookie = "" } } @@ -95,6 +97,22 @@ func (assistant *ExpiringCookieAssistant) Metadata(provider MetadataProvider) (s return cookie, nil } +func (assistant *ExpiringCookieAssistant) RealMetadata() metadata.MD { + newMetadata := metadata.Pairs() + assistant.checkCookieExpiration() + if assistant.cookie != "" { + newMetadata.Append("cookie", assistant.cookie) + } + return newMetadata +} + +func (assistant *ExpiringCookieAssistant) ProcessResponseMetadata(header metadata.MD) { + cookieInfo := header.Get("set-cookie") + if len(cookieInfo) > 0 { + assistant.cookie = cookieInfo[0] + } +} + func TestnetKubernetesCookieAssistant() ExpiringCookieAssistant { assistant := ExpiringCookieAssistant{} assistant.expirationKey = "Expires" @@ -138,12 +156,33 @@ func (assistant *BareMetalLoadBalancedCookieAssistant) Metadata(provider Metadat return assistant.cookie, nil } +func (assistant *BareMetalLoadBalancedCookieAssistant) RealMetadata() metadata.MD { + newMetadata := metadata.Pairs() + if assistant.cookie != "" { + newMetadata.Append("cookie", assistant.cookie) + } + return newMetadata +} + +func (assistant *BareMetalLoadBalancedCookieAssistant) ProcessResponseMetadata(header metadata.MD) { + cookieInfo := header.Get("set-cookie") + if len(cookieInfo) > 0 { + assistant.cookie = cookieInfo[0] + } +} + type DisabledCookieAssistant struct{} func (assistant *DisabledCookieAssistant) Metadata(provider MetadataProvider) (string, error) { return "", nil } +func (assistant *DisabledCookieAssistant) RealMetadata() metadata.MD { + return metadata.Pairs() +} + +func (assistant *DisabledCookieAssistant) ProcessResponseMetadata(header metadata.MD) {} + type Network struct { LcdEndpoint string TmEndpoint string @@ -155,23 +194,11 @@ type Network struct { ExchangeTlsCert credentials.TransportCredentials ExplorerTlsCert credentials.TransportCredentials ChainId string - Fee_denom string + FeeDenom string Name string - chainCookieAssistant CookieAssistant - exchangeCookieAssistant CookieAssistant - explorerCookieAssistant CookieAssistant -} - -func (network *Network) ChainMetadata(provider MetadataProvider) (string, error) { - return network.chainCookieAssistant.Metadata(provider) -} - -func (network *Network) ExchangeMetadata(provider MetadataProvider) (string, error) { - return network.exchangeCookieAssistant.Metadata(provider) -} - -func (network *Network) ExplorerMetadata(provider MetadataProvider) (string, error) { - return network.explorerCookieAssistant.Metadata(provider) + ChainCookieAssistant CookieAssistant + ExchangeCookieAssistant CookieAssistant + ExplorerCookieAssistant CookieAssistant } func LoadNetwork(name string, node string) Network { @@ -186,11 +213,11 @@ func LoadNetwork(name string, node string) Network { ExchangeGrpcEndpoint: "tcp://devnet-1.api.injective.dev:9910", ExplorerGrpcEndpoint: "tcp://devnet-1.api.injective.dev:9911", ChainId: "injective-777", - Fee_denom: "inj", + FeeDenom: "inj", Name: "devnet-1", - chainCookieAssistant: &DisabledCookieAssistant{}, - exchangeCookieAssistant: &DisabledCookieAssistant{}, - explorerCookieAssistant: &DisabledCookieAssistant{}, + ChainCookieAssistant: &DisabledCookieAssistant{}, + ExchangeCookieAssistant: &DisabledCookieAssistant{}, + ExplorerCookieAssistant: &DisabledCookieAssistant{}, } case "devnet": return Network{ @@ -201,11 +228,11 @@ func LoadNetwork(name string, node string) Network { ExchangeGrpcEndpoint: "tcp://devnet.injective.dev:9910", ExplorerGrpcEndpoint: "tcp://devnet.api.injective.dev:9911", ChainId: "injective-777", - Fee_denom: "inj", + FeeDenom: "inj", Name: "devnet", - chainCookieAssistant: &DisabledCookieAssistant{}, - exchangeCookieAssistant: &DisabledCookieAssistant{}, - explorerCookieAssistant: &DisabledCookieAssistant{}, + ChainCookieAssistant: &DisabledCookieAssistant{}, + ExchangeCookieAssistant: &DisabledCookieAssistant{}, + ExplorerCookieAssistant: &DisabledCookieAssistant{}, } case "testnet": validNodes := []string{"lb", "sentry"} @@ -255,11 +282,11 @@ func LoadNetwork(name string, node string) Network { ExplorerGrpcEndpoint: explorerGrpcEndpoint, ExplorerTlsCert: explorerTlsCert, ChainId: "injective-888", - Fee_denom: "inj", + FeeDenom: "inj", Name: "testnet", - chainCookieAssistant: chainCookieAssistant, - exchangeCookieAssistant: exchangeCookieAssistant, - explorerCookieAssistant: explorerCookieAssistant, + ChainCookieAssistant: chainCookieAssistant, + ExchangeCookieAssistant: exchangeCookieAssistant, + ExplorerCookieAssistant: explorerCookieAssistant, } case "mainnet": validNodes := []string{"lb"} @@ -294,11 +321,11 @@ func LoadNetwork(name string, node string) Network { ExplorerGrpcEndpoint: explorerGrpcEndpoint, ExplorerTlsCert: explorerTlsCert, ChainId: "injective-1", - Fee_denom: "inj", + FeeDenom: "inj", Name: "mainnet", - chainCookieAssistant: chainCookieAssistant, - exchangeCookieAssistant: exchangeCookieAssistant, - explorerCookieAssistant: explorerCookieAssistant, + ChainCookieAssistant: chainCookieAssistant, + ExchangeCookieAssistant: exchangeCookieAssistant, + ExplorerCookieAssistant: explorerCookieAssistant, } } @@ -309,9 +336,9 @@ func LoadNetwork(name string, node string) Network { // It can be used to setup a custom environment from scratch. func NewNetwork() Network { return Network{ - chainCookieAssistant: &DisabledCookieAssistant{}, - exchangeCookieAssistant: &DisabledCookieAssistant{}, - explorerCookieAssistant: &DisabledCookieAssistant{}, + ChainCookieAssistant: &DisabledCookieAssistant{}, + ExchangeCookieAssistant: &DisabledCookieAssistant{}, + ExplorerCookieAssistant: &DisabledCookieAssistant{}, } } diff --git a/client/common/network_test.go b/client/common/network_test.go index 235c580e..3006b35e 100644 --- a/client/common/network_test.go +++ b/client/common/network_test.go @@ -10,227 +10,120 @@ import ( func TestMainnetKubernetesLoadBalancedCookieAssistant(t *testing.T) { assistant := MainnetKubernetesCookieAssistant() - expectedCookie := "GCLB=CMOO2-DdvKWMqQE; path=/; HttpOnly; expires=Sat, 16-Sep-2023 18:26:00 GMT" + expectedCookie := fmt.Sprintf("GCLB=CMOO2-DdvKWMqQE; path=/; HttpOnly; expires=%s", time.Now().Add(5*time.Hour).Format("Mon, 02-Jan-2006 15:04:05 MST")) - providerFunc := func() metadata.MD { - md := metadata.Pairs("set-cookie", expectedCookie) - return md - } - - provider := NewMetadataProvider(providerFunc) - cookie, err := assistant.Metadata(provider) + localMetadata := metadata.Pairs("set-cookie", expectedCookie) - if err != nil { - t.Errorf("Error parsing the cookie string %v", err) - } + assistant.ProcessResponseMetadata(localMetadata) + assistantMetadata := assistant.RealMetadata() + cookieInfo := assistantMetadata.Get("cookie") - if cookie != expectedCookie { - t.Fatalf("The parsed cookie is different than the expected cookie") + if len(cookieInfo) > 0 { + cookie := cookieInfo[0] + if cookie != expectedCookie { + t.Fatalf("The parsed cookie is different than the expected cookie") + } + } else { + t.Fatalf("The cookie was not parsed") } } func TestMainnetKubernetesLoadBalancedCookieAssistantRemovesExpiredCookie(t *testing.T) { assistant := MainnetKubernetesCookieAssistant() tt := time.Now() - closeExpirationTime := tt.Add(30 * time.Second) + closeExpirationTime := tt.Add(-30 * time.Second) - soonToExpireCookie := fmt.Sprintf( + expiredCookie := fmt.Sprintf( "GCLB=CMOO2-DdvKWMqQE; path=/; HttpOnly; expires=%s", closeExpirationTime.Format("Mon, 02-Jan-2006 15:04:05 MST"), ) - providerFunc := func() metadata.MD { - md := metadata.Pairs("set-cookie", soonToExpireCookie) - return md - } - - provider := NewMetadataProvider(providerFunc) - cookie, err := assistant.Metadata(provider) - - if err != nil { - t.Errorf("Error parsing the cookie string %v", err) - } - - if cookie != soonToExpireCookie { - t.Fatalf("The parsed cookie is different than the expected cookie") - } - - nextExpirationTime := tt.Add(5 * time.Minute) - secondCookie := fmt.Sprintf( - "GCLB=CMOO2-DdvKWMqQE; path=/; HttpOnly; expires=%s", - nextExpirationTime.Format("Mon, 02-Jan-2006 15:04:05 MST"), - ) - - providerFunc = func() metadata.MD { - md := metadata.Pairs("set-cookie", secondCookie) - return md - } - - provider = NewMetadataProvider(providerFunc) - cookie, err = assistant.Metadata(provider) + localMetadata := metadata.Pairs("set-cookie", expiredCookie) - if err != nil { - t.Errorf("Error parsing the cookie string %v", err) - } + assistant.ProcessResponseMetadata(localMetadata) + cookieInfo := assistant.RealMetadata() - if cookie != secondCookie { + if len(cookieInfo) > 0 { t.Fatalf("The expired cookie was not removed") } - farFutureTime := tt.Add(5 * time.Hour) - notRequiredCookie := fmt.Sprintf( - "GCLB=CMOO2-DdvKWMqQE; path=/; HttpOnly; expires=%s", - farFutureTime.Format("Mon, 02-Jan-2006 15:04:05 MST"), - ) - - providerFunc = func() metadata.MD { - md := metadata.Pairs("set-cookie", notRequiredCookie) - return md - } - - provider = NewMetadataProvider(providerFunc) - cookie, err = assistant.Metadata(provider) - - if err != nil { - t.Errorf("Error parsing the cookie string %v", err) - } - - if cookie != secondCookie { - t.Fatalf("The cookie assistant removed a cookie that was not expired") - } - } func TestTestnetKubernetesLoadBalancedCookieAssistant(t *testing.T) { assistant := TestnetKubernetesCookieAssistant() - expectedCookie := "grpc-cookie=d97c7a00bcb7bc8b69b26fb0303b60d4; Expires=Sun, 17-Sep-23 13:18:08 GMT; Max-Age=172800; Path=/; Secure; HttpOnly" + expectedCookie := fmt.Sprintf( + "grpc-cookie=d97c7a00bcb7bc8b69b26fb0303b60d4; Expires=%s; Max-Age=172800; Path=/; Secure; HttpOnly", + time.Now().Add(5*time.Hour).Format("Mon, 02-Jan-06 15:04:05 MST"), + ) - providerFunc := func() metadata.MD { - md := metadata.Pairs("set-cookie", expectedCookie) - return md - } + localMetadata := metadata.Pairs("set-cookie", expectedCookie) - provider := NewMetadataProvider(providerFunc) - cookie, err := assistant.Metadata(provider) + assistant.ProcessResponseMetadata(localMetadata) + assistantMetadata := assistant.RealMetadata() + cookieInfo := assistantMetadata.Get("cookie") - if err != nil { - t.Errorf("Error parsing the cookie string %v", err) - } - - if cookie != expectedCookie { - t.Fatalf("The parsed cookie is different than the expected cookie") + if len(cookieInfo) > 0 { + cookie := cookieInfo[0] + if cookie != expectedCookie { + t.Fatalf("The parsed cookie is different than the expected cookie") + } + } else { + t.Fatalf("The cookie was not parsed") } } func TestTestnetKubernetesLoadBalancedCookieAssistantRemovesExpiredCookie(t *testing.T) { assistant := TestnetKubernetesCookieAssistant() tt := time.Now() - closeExpirationTime := tt.Add(30 * time.Second) + closeExpirationTime := tt.Add(-30 * time.Second) - soonToExpireCookie := fmt.Sprintf( + expiredCookie := fmt.Sprintf( "grpc-cookie=d97c7a00bcb7bc8b69b26fb0303b60d4; Expires=%s; Max-Age=172800; Path=/; Secure; HttpOnly", closeExpirationTime.Format("Mon, 02-Jan-06 15:04:05 MST"), ) - providerFunc := func() metadata.MD { - md := metadata.Pairs("set-cookie", soonToExpireCookie) - return md - } - - provider := NewMetadataProvider(providerFunc) - cookie, err := assistant.Metadata(provider) - - if err != nil { - t.Errorf("Error parsing the cookie string %v", err) - } + localMetadata := metadata.Pairs("set-cookie", expiredCookie) - if cookie != soonToExpireCookie { - t.Fatalf("The parsed cookie is different than the expected cookie") - } + assistant.ProcessResponseMetadata(localMetadata) + cookieInfo := assistant.RealMetadata() - nextExpirationTime := tt.Add(5 * time.Minute) - secondCookie := fmt.Sprintf( - "grpc-cookie=d97c7a00bcb7bc8b69b26fb0303b60d4; Expires=%s; Max-Age=172800; Path=/; Secure; HttpOnly", - nextExpirationTime.Format("Mon, 02-Jan-06 15:04:05 MST"), - ) - - providerFunc = func() metadata.MD { - md := metadata.Pairs("set-cookie", secondCookie) - return md - } - - provider = NewMetadataProvider(providerFunc) - cookie, err = assistant.Metadata(provider) - - if err != nil { - t.Errorf("Error parsing the cookie string %v", err) - } - - if cookie != secondCookie { + if len(cookieInfo) > 0 { t.Fatalf("The expired cookie was not removed") } - farFutureTime := tt.Add(5 * time.Hour) - notRequiredCookie := fmt.Sprintf( - "grpc-cookie=d97c7a00bcb7bc8b69b26fb0303b60d4; Expires=%s; Max-Age=172800; Path=/; Secure; HttpOnly", - farFutureTime.Format("Mon, 02-Jan-06 15:04:05 MST"), - ) - - providerFunc = func() metadata.MD { - md := metadata.Pairs("set-cookie", notRequiredCookie) - return md - } - - provider = NewMetadataProvider(providerFunc) - cookie, err = assistant.Metadata(provider) - - if err != nil { - t.Errorf("Error parsing the cookie string %v", err) - } - - if cookie != secondCookie { - t.Fatalf("The cookie assistant removed a cookie that was not expired") - } - } func TestBareMetalLoadBalancedCookieAssistant(t *testing.T) { assistant := BareMetalLoadBalancedCookieAssistant{} expectedCookie := "lb=706c9476f31159d415afe3e9172972618b8ab99455c2daa799199540e6d31a1a; Path=/" - providerFunc := func() metadata.MD { - md := metadata.Pairs("set-cookie", expectedCookie) - return md - } + localMetadata := metadata.Pairs("set-cookie", expectedCookie) - provider := NewMetadataProvider(providerFunc) - cookie, err := assistant.Metadata(provider) + assistant.ProcessResponseMetadata(localMetadata) + assistantMetadata := assistant.RealMetadata() + cookieInfo := assistantMetadata.Get("cookie") - if err != nil { - t.Errorf("Error parsing the cookie string %v", err) - } - - if cookie != expectedCookie { - t.Fatalf("The parsed cookie is different than the expected cookie") + if len(cookieInfo) > 0 { + cookie := cookieInfo[0] + if cookie != expectedCookie { + t.Fatalf("The parsed cookie is different than the expected cookie") + } + } else { + t.Fatalf("The cookie was not parsed") } } func TestDisabledCookieAssistant(t *testing.T) { assistant := DisabledCookieAssistant{} providedCookie := "lb=706c9476f31159d415afe3e9172972618b8ab99455c2daa799199540e6d31a1a; Path=/" - providerFunc := func() metadata.MD { - md := metadata.Pairs("set-cookie", providedCookie) - return md - } - provider := NewMetadataProvider(providerFunc) - cookie, err := assistant.Metadata(provider) + localMetadata := metadata.Pairs("set-cookie", providedCookie) - if err != nil { - t.Errorf("Error parsing the cookie string %v", err) - } + assistant.ProcessResponseMetadata(localMetadata) + assistantMetadata := assistant.RealMetadata() + cookieInfo := assistantMetadata.Get("cookie") - if cookie != "" { - t.Fatalf("The parsed cookie is different than the expected cookie") + if len(cookieInfo) > 0 { + t.Fatalf("The disabled cookie assistant should not return any cookie") } } diff --git a/client/exchange/exchange.go b/client/exchange/exchange.go index 17577000..107e9f5e 100644 --- a/client/exchange/exchange.go +++ b/client/exchange/exchange.go @@ -3,22 +3,17 @@ package exchange import ( "context" "fmt" - "time" - "google.golang.org/grpc/credentials/insecure" "github.com/InjectiveLabs/sdk-go/client/common" accountPB "github.com/InjectiveLabs/sdk-go/exchange/accounts_rpc/pb" auctionPB "github.com/InjectiveLabs/sdk-go/exchange/auction_rpc/pb" derivativeExchangePB "github.com/InjectiveLabs/sdk-go/exchange/derivative_exchange_rpc/pb" - explorerPB "github.com/InjectiveLabs/sdk-go/exchange/explorer_rpc/pb" insurancePB "github.com/InjectiveLabs/sdk-go/exchange/insurance_rpc/pb" metaPB "github.com/InjectiveLabs/sdk-go/exchange/meta_rpc/pb" oraclePB "github.com/InjectiveLabs/sdk-go/exchange/oracle_rpc/pb" portfolioExchangePB "github.com/InjectiveLabs/sdk-go/exchange/portfolio_rpc/pb" spotExchangePB "github.com/InjectiveLabs/sdk-go/exchange/spot_exchange_rpc/pb" - "google.golang.org/grpc/metadata" - log "github.com/InjectiveLabs/suplog" "github.com/pkg/errors" "google.golang.org/grpc" @@ -131,7 +126,6 @@ func NewExchangeClient(network common.Network, options ...common.ClientOption) ( conn: conn, metaClient: metaPB.NewInjectiveMetaRPCClient(conn), - explorerClient: explorerPB.NewInjectiveExplorerRPCClient(conn), accountClient: accountPB.NewInjectiveAccountsRPCClient(conn), auctionClient: auctionPB.NewInjectiveAuctionRPCClient(conn), oracleClient: oraclePB.NewInjectiveOracleRPCClient(conn), @@ -156,7 +150,6 @@ type exchangeClient struct { logger log.Logger metaClient metaPB.InjectiveMetaRPCClient - explorerClient explorerPB.InjectiveExplorerRPCClient accountClient accountPB.InjectiveAccountsRPCClient auctionClient auctionPB.InjectiveAuctionRPCClient oracleClient oraclePB.InjectiveOracleRPCClient @@ -166,22 +159,6 @@ type exchangeClient struct { portfolioExchangeClient portfolioExchangePB.InjectivePortfolioRPCClient } -func (c *exchangeClient) requestCookie() metadata.MD { - var header metadata.MD - req := metaPB.InfoRequest{Timestamp: time.Now().UnixMilli()} - _, err := c.metaClient.Info(context.Background(), &req, grpc.Header(&header)) - if err != nil { - panic(err) - } - return header -} - -func (c *exchangeClient) getCookie(ctx context.Context) context.Context { - provider := common.NewMetadataProvider(c.requestCookie) - cookie, _ := c.network.ExchangeMetadata(provider) - return metadata.AppendToOutgoingContext(ctx, "cookie", cookie) -} - func (c *exchangeClient) QueryClient() *grpc.ClientConn { return c.conn } @@ -189,8 +166,7 @@ func (c *exchangeClient) QueryClient() *grpc.ClientConn { // Derivatives RPC func (c *exchangeClient) GetDerivativeOrders(ctx context.Context, req *derivativeExchangePB.OrdersRequest) (*derivativeExchangePB.OrdersResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.derivativeExchangeClient.Orders(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.Orders, req) if err != nil { fmt.Println(err) return &derivativeExchangePB.OrdersResponse{}, err @@ -201,8 +177,7 @@ func (c *exchangeClient) GetDerivativeOrders(ctx context.Context, req *derivativ // Deprecated: Use GetDerivativePositionsV2 instead. func (c *exchangeClient) GetDerivativePositions(ctx context.Context, req *derivativeExchangePB.PositionsRequest) (*derivativeExchangePB.PositionsResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.derivativeExchangeClient.Positions(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.Positions, req) if err != nil { fmt.Println(err) return &derivativeExchangePB.PositionsResponse{}, err @@ -212,8 +187,7 @@ func (c *exchangeClient) GetDerivativePositions(ctx context.Context, req *deriva } func (c *exchangeClient) GetDerivativePositionsV2(ctx context.Context, req *derivativeExchangePB.PositionsV2Request) (*derivativeExchangePB.PositionsV2Response, error) { - ctx = c.getCookie(ctx) - res, err := c.derivativeExchangeClient.PositionsV2(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.PositionsV2, req) if err != nil { fmt.Println(err) return &derivativeExchangePB.PositionsV2Response{}, err @@ -223,8 +197,7 @@ func (c *exchangeClient) GetDerivativePositionsV2(ctx context.Context, req *deri } func (c *exchangeClient) GetDerivativeLiquidablePositions(ctx context.Context, req *derivativeExchangePB.LiquidablePositionsRequest) (*derivativeExchangePB.LiquidablePositionsResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.derivativeExchangeClient.LiquidablePositions(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.LiquidablePositions, req) if err != nil { fmt.Println(err) return &derivativeExchangePB.LiquidablePositionsResponse{}, err @@ -238,8 +211,7 @@ func (c *exchangeClient) GetDerivativeOrderbookV2(ctx context.Context, marketId MarketId: marketId, } - ctx = c.getCookie(ctx) - res, err := c.derivativeExchangeClient.OrderbookV2(ctx, &req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.OrderbookV2, &req) if err != nil { fmt.Println(err) return &derivativeExchangePB.OrderbookV2Response{}, err @@ -253,8 +225,7 @@ func (c *exchangeClient) GetDerivativeOrderbooksV2(ctx context.Context, marketId MarketIds: marketIds, } - ctx = c.getCookie(ctx) - res, err := c.derivativeExchangeClient.OrderbooksV2(ctx, &req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.OrderbooksV2, &req) if err != nil { fmt.Println(err) return &derivativeExchangePB.OrderbooksV2Response{}, err @@ -268,8 +239,8 @@ func (c *exchangeClient) StreamDerivativeOrderbookV2(ctx context.Context, market MarketIds: marketIds, } - ctx = c.getCookie(ctx) - stream, err := c.derivativeExchangeClient.StreamOrderbookV2(ctx, &req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.StreamOrderbookV2, &req) + if err != nil { fmt.Println(err) return nil, err @@ -283,8 +254,8 @@ func (c *exchangeClient) StreamDerivativeOrderbookUpdate(ctx context.Context, ma MarketIds: marketIds, } - ctx = c.getCookie(ctx) - stream, err := c.derivativeExchangeClient.StreamOrderbookUpdate(ctx, &req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.StreamOrderbookUpdate, &req) + if err != nil { fmt.Println(err) return nil, err @@ -294,8 +265,7 @@ func (c *exchangeClient) StreamDerivativeOrderbookUpdate(ctx context.Context, ma } func (c *exchangeClient) GetDerivativeMarkets(ctx context.Context, req *derivativeExchangePB.MarketsRequest) (*derivativeExchangePB.MarketsResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.derivativeExchangeClient.Markets(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.Markets, req) if err != nil { fmt.Println(err) return &derivativeExchangePB.MarketsResponse{}, err @@ -309,8 +279,7 @@ func (c *exchangeClient) GetDerivativeMarket(ctx context.Context, marketId strin MarketId: marketId, } - ctx = c.getCookie(ctx) - res, err := c.derivativeExchangeClient.Market(ctx, &req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.Market, &req) if err != nil { fmt.Println(err) return &derivativeExchangePB.MarketResponse{}, err @@ -324,8 +293,8 @@ func (c *exchangeClient) StreamDerivativeMarket(ctx context.Context, marketIds [ MarketIds: marketIds, } - ctx = c.getCookie(ctx) - stream, err := c.derivativeExchangeClient.StreamMarket(ctx, &req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.StreamMarket, &req) + if err != nil { fmt.Println(err) return nil, err @@ -335,8 +304,8 @@ func (c *exchangeClient) StreamDerivativeMarket(ctx context.Context, marketIds [ } func (c *exchangeClient) StreamDerivativePositions(ctx context.Context, req *derivativeExchangePB.StreamPositionsRequest) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamPositionsClient, error) { - ctx = c.getCookie(ctx) - stream, err := c.derivativeExchangeClient.StreamPositions(ctx, req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.StreamPositions, req) + if err != nil { fmt.Println(err) return nil, err @@ -346,8 +315,8 @@ func (c *exchangeClient) StreamDerivativePositions(ctx context.Context, req *der } func (c *exchangeClient) StreamDerivativeOrders(ctx context.Context, req *derivativeExchangePB.StreamOrdersRequest) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamOrdersClient, error) { - ctx = c.getCookie(ctx) - stream, err := c.derivativeExchangeClient.StreamOrders(ctx, req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.StreamOrders, req) + if err != nil { fmt.Println(err) return nil, err @@ -357,8 +326,7 @@ func (c *exchangeClient) StreamDerivativeOrders(ctx context.Context, req *deriva } func (c *exchangeClient) GetDerivativeTrades(ctx context.Context, req *derivativeExchangePB.TradesRequest) (*derivativeExchangePB.TradesResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.derivativeExchangeClient.Trades(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.Trades, req) if err != nil { fmt.Println(err) return &derivativeExchangePB.TradesResponse{}, err @@ -368,8 +336,7 @@ func (c *exchangeClient) GetDerivativeTrades(ctx context.Context, req *derivativ } func (c *exchangeClient) GetDerivativeTradesV2(ctx context.Context, req *derivativeExchangePB.TradesV2Request) (*derivativeExchangePB.TradesV2Response, error) { - ctx = c.getCookie(ctx) - res, err := c.derivativeExchangeClient.TradesV2(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.TradesV2, req) if err != nil { fmt.Println(err) return &derivativeExchangePB.TradesV2Response{}, err @@ -379,8 +346,8 @@ func (c *exchangeClient) GetDerivativeTradesV2(ctx context.Context, req *derivat } func (c *exchangeClient) StreamDerivativeTrades(ctx context.Context, req *derivativeExchangePB.StreamTradesRequest) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamTradesClient, error) { - ctx = c.getCookie(ctx) - stream, err := c.derivativeExchangeClient.StreamTrades(ctx, req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.StreamTrades, req) + if err != nil { fmt.Println(err) return nil, err @@ -390,8 +357,8 @@ func (c *exchangeClient) StreamDerivativeTrades(ctx context.Context, req *deriva } func (c *exchangeClient) StreamDerivativeV2Trades(ctx context.Context, req *derivativeExchangePB.StreamTradesV2Request) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamTradesV2Client, error) { - ctx = c.getCookie(ctx) - stream, err := c.derivativeExchangeClient.StreamTradesV2(ctx, req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.StreamTradesV2, req) + if err != nil { fmt.Println(err) return nil, err @@ -401,8 +368,8 @@ func (c *exchangeClient) StreamDerivativeV2Trades(ctx context.Context, req *deri } func (c *exchangeClient) GetSubaccountDerivativeOrdersList(ctx context.Context, req *derivativeExchangePB.SubaccountOrdersListRequest) (*derivativeExchangePB.SubaccountOrdersListResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.derivativeExchangeClient.SubaccountOrdersList(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.SubaccountOrdersList, req) + if err != nil { fmt.Println(err) return &derivativeExchangePB.SubaccountOrdersListResponse{}, err @@ -412,8 +379,8 @@ func (c *exchangeClient) GetSubaccountDerivativeOrdersList(ctx context.Context, } func (c *exchangeClient) GetSubaccountDerivativeTradesList(ctx context.Context, req *derivativeExchangePB.SubaccountTradesListRequest) (*derivativeExchangePB.SubaccountTradesListResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.derivativeExchangeClient.SubaccountTradesList(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.SubaccountTradesList, req) + if err != nil { fmt.Println(err) return &derivativeExchangePB.SubaccountTradesListResponse{}, err @@ -423,8 +390,7 @@ func (c *exchangeClient) GetSubaccountDerivativeTradesList(ctx context.Context, } func (c *exchangeClient) GetHistoricalDerivativeOrders(ctx context.Context, req *derivativeExchangePB.OrdersHistoryRequest) (*derivativeExchangePB.OrdersHistoryResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.derivativeExchangeClient.OrdersHistory(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.OrdersHistory, req) if err != nil { return &derivativeExchangePB.OrdersHistoryResponse{}, err } @@ -433,8 +399,8 @@ func (c *exchangeClient) GetHistoricalDerivativeOrders(ctx context.Context, req } func (c *exchangeClient) StreamHistoricalDerivativeOrders(ctx context.Context, req *derivativeExchangePB.StreamOrdersHistoryRequest) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamOrdersHistoryClient, error) { - ctx = c.getCookie(ctx) - stream, err := c.derivativeExchangeClient.StreamOrdersHistory(ctx, req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.StreamOrdersHistory, req) + if err != nil { fmt.Println(err) return nil, err @@ -444,8 +410,7 @@ func (c *exchangeClient) StreamHistoricalDerivativeOrders(ctx context.Context, r } func (c *exchangeClient) GetDerivativeFundingPayments(ctx context.Context, req *derivativeExchangePB.FundingPaymentsRequest) (*derivativeExchangePB.FundingPaymentsResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.derivativeExchangeClient.FundingPayments(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.FundingPayments, req) if err != nil { fmt.Println(err) return &derivativeExchangePB.FundingPaymentsResponse{}, err @@ -455,8 +420,7 @@ func (c *exchangeClient) GetDerivativeFundingPayments(ctx context.Context, req * } func (c *exchangeClient) GetDerivativeFundingRates(ctx context.Context, req *derivativeExchangePB.FundingRatesRequest) (*derivativeExchangePB.FundingRatesResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.derivativeExchangeClient.FundingRates(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.FundingRates, req) if err != nil { fmt.Println(err) return &derivativeExchangePB.FundingRatesResponse{}, err @@ -475,8 +439,8 @@ func (c *exchangeClient) GetPrice(ctx context.Context, baseSymbol string, quoteS OracleScaleFactor: oracleScaleFactor, } - ctx = c.getCookie(ctx) - res, err := c.oracleClient.Price(ctx, &req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.oracleClient.Price, &req) + if err != nil { fmt.Println(err) return &oraclePB.PriceResponse{}, err @@ -488,8 +452,7 @@ func (c *exchangeClient) GetPrice(ctx context.Context, baseSymbol string, quoteS func (c *exchangeClient) GetOracleList(ctx context.Context) (*oraclePB.OracleListResponse, error) { req := oraclePB.OracleListRequest{} - ctx = c.getCookie(ctx) - res, err := c.oracleClient.OracleList(ctx, &req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.oracleClient.OracleList, &req) if err != nil { fmt.Println(err) return &oraclePB.OracleListResponse{}, err @@ -505,8 +468,8 @@ func (c *exchangeClient) StreamPrices(ctx context.Context, baseSymbol string, qu OracleType: oracleType, } - ctx = c.getCookie(ctx) - stream, err := c.oracleClient.StreamPrices(ctx, &req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.oracleClient.StreamPrices, &req) + if err != nil { fmt.Println(err) return nil, err @@ -522,8 +485,7 @@ func (c *exchangeClient) GetAuction(ctx context.Context, round int64) (*auctionP Round: round, } - ctx = c.getCookie(ctx) - res, err := c.auctionClient.AuctionEndpoint(ctx, &req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.auctionClient.AuctionEndpoint, &req) if err != nil { fmt.Println(err) return &auctionPB.AuctionEndpointResponse{}, err @@ -535,8 +497,7 @@ func (c *exchangeClient) GetAuction(ctx context.Context, round int64) (*auctionP func (c *exchangeClient) GetAuctions(ctx context.Context) (*auctionPB.AuctionsResponse, error) { req := auctionPB.AuctionsRequest{} - ctx = c.getCookie(ctx) - res, err := c.auctionClient.Auctions(ctx, &req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.auctionClient.Auctions, &req) if err != nil { fmt.Println(err) return &auctionPB.AuctionsResponse{}, err @@ -548,8 +509,8 @@ func (c *exchangeClient) GetAuctions(ctx context.Context) (*auctionPB.AuctionsRe func (c *exchangeClient) StreamBids(ctx context.Context) (auctionPB.InjectiveAuctionRPC_StreamBidsClient, error) { req := auctionPB.StreamBidsRequest{} - ctx = c.getCookie(ctx) - stream, err := c.auctionClient.StreamBids(ctx, &req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.auctionClient.StreamBids, &req) + if err != nil { fmt.Println(err) return nil, err @@ -565,8 +526,8 @@ func (c *exchangeClient) GetSubaccountsList(ctx context.Context, accountAddress AccountAddress: accountAddress, } - ctx = c.getCookie(ctx) - res, err := c.accountClient.SubaccountsList(ctx, &req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.accountClient.SubaccountsList, &req) + if err != nil { fmt.Println(err) return &accountPB.SubaccountsListResponse{}, err @@ -581,8 +542,8 @@ func (c *exchangeClient) GetSubaccountBalance(ctx context.Context, subaccountId Denom: denom, } - ctx = c.getCookie(ctx) - res, err := c.accountClient.SubaccountBalanceEndpoint(ctx, &req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.accountClient.SubaccountBalanceEndpoint, &req) + if err != nil { fmt.Println(err) return &accountPB.SubaccountBalanceEndpointResponse{}, err @@ -596,8 +557,8 @@ func (c *exchangeClient) StreamSubaccountBalance(ctx context.Context, subaccount SubaccountId: subaccountId, } - ctx = c.getCookie(ctx) - stream, err := c.accountClient.StreamSubaccountBalance(ctx, &req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.accountClient.StreamSubaccountBalance, &req) + if err != nil { fmt.Println(err) return nil, err @@ -611,8 +572,8 @@ func (c *exchangeClient) GetSubaccountBalancesList(ctx context.Context, subaccou SubaccountId: subaccountId, } - ctx = c.getCookie(ctx) - res, err := c.accountClient.SubaccountBalancesList(ctx, &req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.accountClient.SubaccountBalancesList, &req) + if err != nil { fmt.Println(err) return &accountPB.SubaccountBalancesListResponse{}, err @@ -622,8 +583,8 @@ func (c *exchangeClient) GetSubaccountBalancesList(ctx context.Context, subaccou } func (c *exchangeClient) GetSubaccountHistory(ctx context.Context, req *accountPB.SubaccountHistoryRequest) (*accountPB.SubaccountHistoryResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.accountClient.SubaccountHistory(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.accountClient.SubaccountHistory, req) + if err != nil { fmt.Println(err) return &accountPB.SubaccountHistoryResponse{}, err @@ -633,8 +594,8 @@ func (c *exchangeClient) GetSubaccountHistory(ctx context.Context, req *accountP } func (c *exchangeClient) GetSubaccountOrderSummary(ctx context.Context, req *accountPB.SubaccountOrderSummaryRequest) (*accountPB.SubaccountOrderSummaryResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.accountClient.SubaccountOrderSummary(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.accountClient.SubaccountOrderSummary, req) + if err != nil { fmt.Println(err) return &accountPB.SubaccountOrderSummaryResponse{}, err @@ -644,8 +605,7 @@ func (c *exchangeClient) GetSubaccountOrderSummary(ctx context.Context, req *acc } func (c *exchangeClient) GetOrderStates(ctx context.Context, req *accountPB.OrderStatesRequest) (*accountPB.OrderStatesResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.accountClient.OrderStates(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.accountClient.OrderStates, req) if err != nil { fmt.Println(err) return &accountPB.OrderStatesResponse{}, err @@ -659,8 +619,8 @@ func (c *exchangeClient) GetPortfolio(ctx context.Context, accountAddress string AccountAddress: accountAddress, } - ctx = c.getCookie(ctx) - res, err := c.accountClient.Portfolio(ctx, &req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.accountClient.Portfolio, &req) + if err != nil { fmt.Println(err) return &accountPB.PortfolioResponse{}, err @@ -670,8 +630,8 @@ func (c *exchangeClient) GetPortfolio(ctx context.Context, accountAddress string } func (c *exchangeClient) GetRewards(ctx context.Context, req *accountPB.RewardsRequest) (*accountPB.RewardsResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.accountClient.Rewards(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.accountClient.Rewards, req) + if err != nil { fmt.Println(err) return &accountPB.RewardsResponse{}, err @@ -683,8 +643,8 @@ func (c *exchangeClient) GetRewards(ctx context.Context, req *accountPB.RewardsR // Spot RPC func (c *exchangeClient) GetSpotOrders(ctx context.Context, req *spotExchangePB.OrdersRequest) (*spotExchangePB.OrdersResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.spotExchangeClient.Orders(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.Orders, req) + if err != nil { fmt.Println(err) return &spotExchangePB.OrdersResponse{}, err @@ -698,8 +658,8 @@ func (c *exchangeClient) GetSpotOrderbookV2(ctx context.Context, marketId string MarketId: marketId, } - ctx = c.getCookie(ctx) - res, err := c.spotExchangeClient.OrderbookV2(ctx, &req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.OrderbookV2, &req) + if err != nil { fmt.Println(err) return &spotExchangePB.OrderbookV2Response{}, err @@ -713,8 +673,8 @@ func (c *exchangeClient) GetSpotOrderbooksV2(ctx context.Context, marketIds []st MarketIds: marketIds, } - ctx = c.getCookie(ctx) - res, err := c.spotExchangeClient.OrderbooksV2(ctx, &req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.OrderbooksV2, &req) + if err != nil { fmt.Println(err) return &spotExchangePB.OrderbooksV2Response{}, err @@ -728,8 +688,8 @@ func (c *exchangeClient) StreamSpotOrderbookUpdate(ctx context.Context, marketId MarketIds: marketIds, } - ctx = c.getCookie(ctx) - stream, err := c.spotExchangeClient.StreamOrderbookUpdate(ctx, &req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.StreamOrderbookUpdate, &req) + if err != nil { fmt.Println(err) return nil, err @@ -743,8 +703,8 @@ func (c *exchangeClient) StreamSpotOrderbookV2(ctx context.Context, marketIds [] MarketIds: marketIds, } - ctx = c.getCookie(ctx) - stream, err := c.spotExchangeClient.StreamOrderbookV2(ctx, &req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.StreamOrderbookV2, &req) + if err != nil { fmt.Println(err) return nil, err @@ -754,8 +714,8 @@ func (c *exchangeClient) StreamSpotOrderbookV2(ctx context.Context, marketIds [] } func (c *exchangeClient) GetSpotMarkets(ctx context.Context, req *spotExchangePB.MarketsRequest) (*spotExchangePB.MarketsResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.spotExchangeClient.Markets(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.Markets, req) + if err != nil { fmt.Println(err) return &spotExchangePB.MarketsResponse{}, err @@ -769,8 +729,8 @@ func (c *exchangeClient) GetSpotMarket(ctx context.Context, marketId string) (*s MarketId: marketId, } - ctx = c.getCookie(ctx) - res, err := c.spotExchangeClient.Market(ctx, &req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.Market, &req) + if err != nil { fmt.Println(err) return &spotExchangePB.MarketResponse{}, err @@ -784,8 +744,8 @@ func (c *exchangeClient) StreamSpotMarket(ctx context.Context, marketIds []strin MarketIds: marketIds, } - ctx = c.getCookie(ctx) - stream, err := c.spotExchangeClient.StreamMarkets(ctx, &req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.StreamMarkets, &req) + if err != nil { fmt.Println(err) return nil, err @@ -795,8 +755,8 @@ func (c *exchangeClient) StreamSpotMarket(ctx context.Context, marketIds []strin } func (c *exchangeClient) StreamSpotOrders(ctx context.Context, req *spotExchangePB.StreamOrdersRequest) (spotExchangePB.InjectiveSpotExchangeRPC_StreamOrdersClient, error) { - ctx = c.getCookie(ctx) - stream, err := c.spotExchangeClient.StreamOrders(ctx, req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.StreamOrders, req) + if err != nil { fmt.Println(err) return nil, err @@ -806,8 +766,8 @@ func (c *exchangeClient) StreamSpotOrders(ctx context.Context, req *spotExchange } func (c *exchangeClient) GetSpotTrades(ctx context.Context, req *spotExchangePB.TradesRequest) (*spotExchangePB.TradesResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.spotExchangeClient.Trades(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.Trades, req) + if err != nil { fmt.Println(err) return &spotExchangePB.TradesResponse{}, err @@ -817,8 +777,8 @@ func (c *exchangeClient) GetSpotTrades(ctx context.Context, req *spotExchangePB. } func (c *exchangeClient) GetSpotTradesV2(ctx context.Context, req *spotExchangePB.TradesV2Request) (*spotExchangePB.TradesV2Response, error) { - ctx = c.getCookie(ctx) - res, err := c.spotExchangeClient.TradesV2(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.TradesV2, req) + if err != nil { fmt.Println(err) return &spotExchangePB.TradesV2Response{}, err @@ -828,8 +788,8 @@ func (c *exchangeClient) GetSpotTradesV2(ctx context.Context, req *spotExchangeP } func (c *exchangeClient) StreamSpotTrades(ctx context.Context, req *spotExchangePB.StreamTradesRequest) (spotExchangePB.InjectiveSpotExchangeRPC_StreamTradesClient, error) { - ctx = c.getCookie(ctx) - stream, err := c.spotExchangeClient.StreamTrades(ctx, req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.StreamTrades, req) + if err != nil { fmt.Println(err) return nil, err @@ -839,8 +799,8 @@ func (c *exchangeClient) StreamSpotTrades(ctx context.Context, req *spotExchange } func (c *exchangeClient) StreamSpotTradesV2(ctx context.Context, req *spotExchangePB.StreamTradesV2Request) (spotExchangePB.InjectiveSpotExchangeRPC_StreamTradesV2Client, error) { - ctx = c.getCookie(ctx) - stream, err := c.spotExchangeClient.StreamTradesV2(ctx, req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.StreamTradesV2, req) + if err != nil { fmt.Println(err) return nil, err @@ -850,8 +810,8 @@ func (c *exchangeClient) StreamSpotTradesV2(ctx context.Context, req *spotExchan } func (c *exchangeClient) GetSubaccountSpotOrdersList(ctx context.Context, req *spotExchangePB.SubaccountOrdersListRequest) (*spotExchangePB.SubaccountOrdersListResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.spotExchangeClient.SubaccountOrdersList(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.SubaccountOrdersList, req) + if err != nil { fmt.Println(err) return &spotExchangePB.SubaccountOrdersListResponse{}, err @@ -861,8 +821,8 @@ func (c *exchangeClient) GetSubaccountSpotOrdersList(ctx context.Context, req *s } func (c *exchangeClient) GetSubaccountSpotTradesList(ctx context.Context, req *spotExchangePB.SubaccountTradesListRequest) (*spotExchangePB.SubaccountTradesListResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.spotExchangeClient.SubaccountTradesList(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.SubaccountTradesList, req) + if err != nil { fmt.Println(err) return &spotExchangePB.SubaccountTradesListResponse{}, err @@ -872,8 +832,7 @@ func (c *exchangeClient) GetSubaccountSpotTradesList(ctx context.Context, req *s } func (c *exchangeClient) GetHistoricalSpotOrders(ctx context.Context, req *spotExchangePB.OrdersHistoryRequest) (*spotExchangePB.OrdersHistoryResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.spotExchangeClient.OrdersHistory(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.OrdersHistory, req) if err != nil { return &spotExchangePB.OrdersHistoryResponse{}, err } @@ -882,8 +841,8 @@ func (c *exchangeClient) GetHistoricalSpotOrders(ctx context.Context, req *spotE } func (c *exchangeClient) StreamHistoricalSpotOrders(ctx context.Context, req *spotExchangePB.StreamOrdersHistoryRequest) (spotExchangePB.InjectiveSpotExchangeRPC_StreamOrdersHistoryClient, error) { - ctx = c.getCookie(ctx) - stream, err := c.spotExchangeClient.StreamOrdersHistory(ctx, req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.StreamOrdersHistory, req) + if err != nil { fmt.Println(err) return nil, err @@ -893,8 +852,7 @@ func (c *exchangeClient) StreamHistoricalSpotOrders(ctx context.Context, req *sp } func (c *exchangeClient) GetInsuranceFunds(ctx context.Context, req *insurancePB.FundsRequest) (*insurancePB.FundsResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.insuranceClient.Funds(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.insuranceClient.Funds, req) if err != nil { fmt.Println(err) return &insurancePB.FundsResponse{}, err @@ -904,8 +862,8 @@ func (c *exchangeClient) GetInsuranceFunds(ctx context.Context, req *insurancePB } func (c *exchangeClient) GetRedemptions(ctx context.Context, req *insurancePB.RedemptionsRequest) (*insurancePB.RedemptionsResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.insuranceClient.Redemptions(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.insuranceClient.Redemptions, req) + if err != nil { fmt.Println(err) return &insurancePB.RedemptionsResponse{}, err @@ -915,8 +873,8 @@ func (c *exchangeClient) GetRedemptions(ctx context.Context, req *insurancePB.Re } func (c *exchangeClient) Ping(ctx context.Context, req *metaPB.PingRequest) (*metaPB.PingResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.metaClient.Ping(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.metaClient.Ping, req) + if err != nil { fmt.Println(err) return &metaPB.PingResponse{}, err @@ -926,8 +884,8 @@ func (c *exchangeClient) Ping(ctx context.Context, req *metaPB.PingRequest) (*me } func (c *exchangeClient) GetVersion(ctx context.Context, req *metaPB.VersionRequest) (*metaPB.VersionResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.metaClient.Version(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.metaClient.Version, req) + if err != nil { fmt.Println(err) return &metaPB.VersionResponse{}, err @@ -937,8 +895,7 @@ func (c *exchangeClient) GetVersion(ctx context.Context, req *metaPB.VersionRequ } func (c *exchangeClient) GetInfo(ctx context.Context, req *metaPB.InfoRequest) (*metaPB.InfoResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.metaClient.Info(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.metaClient.Info, req) if err != nil { fmt.Println(err) return &metaPB.InfoResponse{}, err @@ -950,8 +907,8 @@ func (c *exchangeClient) GetInfo(ctx context.Context, req *metaPB.InfoRequest) ( func (c *exchangeClient) StreamKeepalive(ctx context.Context) (metaPB.InjectiveMetaRPC_StreamKeepaliveClient, error) { req := metaPB.StreamKeepaliveRequest{} - ctx = c.getCookie(ctx) - stream, err := c.metaClient.StreamKeepalive(ctx, &req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.metaClient.StreamKeepalive, &req) + if err != nil { fmt.Println(err) return nil, err @@ -962,10 +919,10 @@ func (c *exchangeClient) StreamKeepalive(ctx context.Context) (metaPB.InjectiveM // Deprecated: Use GetAccountPortfolioBalances instead. func (c *exchangeClient) GetAccountPortfolio(ctx context.Context, accountAddress string) (*portfolioExchangePB.AccountPortfolioResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.portfolioExchangeClient.AccountPortfolio(ctx, &portfolioExchangePB.AccountPortfolioRequest{ + req := &portfolioExchangePB.AccountPortfolioRequest{ AccountAddress: accountAddress, - }) + } + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.portfolioExchangeClient.AccountPortfolio, req) if err != nil { fmt.Println(err) return &portfolioExchangePB.AccountPortfolioResponse{}, err @@ -975,10 +932,10 @@ func (c *exchangeClient) GetAccountPortfolio(ctx context.Context, accountAddress } func (c *exchangeClient) GetAccountPortfolioBalances(ctx context.Context, accountAddress string) (*portfolioExchangePB.AccountPortfolioBalancesResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.portfolioExchangeClient.AccountPortfolioBalances(ctx, &portfolioExchangePB.AccountPortfolioBalancesRequest{ + req := &portfolioExchangePB.AccountPortfolioBalancesRequest{ AccountAddress: accountAddress, - }) + } + res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.portfolioExchangeClient.AccountPortfolioBalances, req) if err != nil { fmt.Println(err) return &portfolioExchangePB.AccountPortfolioBalancesResponse{}, err @@ -988,12 +945,13 @@ func (c *exchangeClient) GetAccountPortfolioBalances(ctx context.Context, accoun } func (c *exchangeClient) StreamAccountPortfolio(ctx context.Context, accountAddress string, subaccountId, balanceType string) (portfolioExchangePB.InjectivePortfolioRPC_StreamAccountPortfolioClient, error) { - ctx = c.getCookie(ctx) - stream, err := c.portfolioExchangeClient.StreamAccountPortfolio(ctx, &portfolioExchangePB.StreamAccountPortfolioRequest{ + req := &portfolioExchangePB.StreamAccountPortfolioRequest{ AccountAddress: accountAddress, SubaccountId: subaccountId, Type: balanceType, - }) + } + stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.portfolioExchangeClient.StreamAccountPortfolio, req) + if err != nil { fmt.Println(err) return nil, err diff --git a/client/explorer/explorer.go b/client/explorer/explorer.go index 00c76fc6..02b2290a 100644 --- a/client/explorer/explorer.go +++ b/client/explorer/explorer.go @@ -8,8 +8,6 @@ import ( "github.com/InjectiveLabs/sdk-go/client/common" explorerPB "github.com/InjectiveLabs/sdk-go/exchange/explorer_rpc/pb" - "google.golang.org/grpc/metadata" - log "github.com/InjectiveLabs/suplog" "github.com/pkg/errors" "google.golang.org/grpc" @@ -86,22 +84,6 @@ type explorerClient struct { explorerClient explorerPB.InjectiveExplorerRPCClient } -func (c *explorerClient) requestCookie() metadata.MD { - var header metadata.MD - req := explorerPB.GetTxsRequest{} - _, err := c.explorerClient.GetTxs(context.Background(), &req, grpc.Header(&header)) - if err != nil { - panic(err) - } - return header -} - -func (c *explorerClient) getCookie(ctx context.Context) context.Context { - provider := common.NewMetadataProvider(c.requestCookie) - cookie, _ := c.network.ExplorerMetadata(provider) - return metadata.AppendToOutgoingContext(ctx, "cookie", cookie) -} - func (c *explorerClient) QueryClient() *grpc.ClientConn { return c.conn } @@ -111,8 +93,8 @@ func (c *explorerClient) GetTxByTxHash(ctx context.Context, hash string) (*explo Hash: hash, } - ctx = c.getCookie(ctx) - res, err := c.explorerClient.GetTxByTxHash(ctx, &req) + res, err := common.ExecuteCall(ctx, c.network.ExplorerCookieAssistant, c.explorerClient.GetTxByTxHash, &req) + if err != nil { fmt.Println(err) return &explorerPB.GetTxByTxHashResponse{}, err @@ -122,8 +104,8 @@ func (c *explorerClient) GetTxByTxHash(ctx context.Context, hash string) (*explo } func (c *explorerClient) GetAccountTxs(ctx context.Context, req *explorerPB.GetAccountTxsRequest) (*explorerPB.GetAccountTxsResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.explorerClient.GetAccountTxs(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExplorerCookieAssistant, c.explorerClient.GetAccountTxs, req) + if err != nil { fmt.Println(err) return &explorerPB.GetAccountTxsResponse{}, err @@ -135,8 +117,8 @@ func (c *explorerClient) GetAccountTxs(ctx context.Context, req *explorerPB.GetA func (c *explorerClient) GetBlocks(ctx context.Context) (*explorerPB.GetBlocksResponse, error) { req := explorerPB.GetBlocksRequest{} - ctx = c.getCookie(ctx) - res, err := c.explorerClient.GetBlocks(ctx, &req) + res, err := common.ExecuteCall(ctx, c.network.ExplorerCookieAssistant, c.explorerClient.GetBlocks, &req) + if err != nil { fmt.Println(err) return &explorerPB.GetBlocksResponse{}, err @@ -150,8 +132,8 @@ func (c *explorerClient) GetBlock(ctx context.Context, blockHeight string) (*exp Id: blockHeight, } - ctx = c.getCookie(ctx) - res, err := c.explorerClient.GetBlock(ctx, &req) + res, err := common.ExecuteCall(ctx, c.network.ExplorerCookieAssistant, c.explorerClient.GetBlock, &req) + if err != nil { fmt.Println(err) return &explorerPB.GetBlockResponse{}, err @@ -161,8 +143,8 @@ func (c *explorerClient) GetBlock(ctx context.Context, blockHeight string) (*exp } func (c *explorerClient) GetTxs(ctx context.Context, req *explorerPB.GetTxsRequest) (*explorerPB.GetTxsResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.explorerClient.GetTxs(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExplorerCookieAssistant, c.explorerClient.GetTxs, req) + if err != nil { fmt.Println(err) return &explorerPB.GetTxsResponse{}, err @@ -172,8 +154,8 @@ func (c *explorerClient) GetTxs(ctx context.Context, req *explorerPB.GetTxsReque } func (c *explorerClient) GetPeggyDeposits(ctx context.Context, req *explorerPB.GetPeggyDepositTxsRequest) (*explorerPB.GetPeggyDepositTxsResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.explorerClient.GetPeggyDepositTxs(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExplorerCookieAssistant, c.explorerClient.GetPeggyDepositTxs, req) + if err != nil { fmt.Println(err) return &explorerPB.GetPeggyDepositTxsResponse{}, err @@ -183,8 +165,8 @@ func (c *explorerClient) GetPeggyDeposits(ctx context.Context, req *explorerPB.G } func (c *explorerClient) GetPeggyWithdrawals(ctx context.Context, req *explorerPB.GetPeggyWithdrawalTxsRequest) (*explorerPB.GetPeggyWithdrawalTxsResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.explorerClient.GetPeggyWithdrawalTxs(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExplorerCookieAssistant, c.explorerClient.GetPeggyWithdrawalTxs, req) + if err != nil { fmt.Println(err) return &explorerPB.GetPeggyWithdrawalTxsResponse{}, err @@ -194,8 +176,8 @@ func (c *explorerClient) GetPeggyWithdrawals(ctx context.Context, req *explorerP } func (c *explorerClient) GetIBCTransfers(ctx context.Context, req *explorerPB.GetIBCTransferTxsRequest) (*explorerPB.GetIBCTransferTxsResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.explorerClient.GetIBCTransferTxs(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExplorerCookieAssistant, c.explorerClient.GetIBCTransferTxs, req) + if err != nil { fmt.Println(err) return &explorerPB.GetIBCTransferTxsResponse{}, err @@ -207,8 +189,8 @@ func (c *explorerClient) GetIBCTransfers(ctx context.Context, req *explorerPB.Ge func (c *explorerClient) StreamTxs(ctx context.Context) (explorerPB.InjectiveExplorerRPC_StreamTxsClient, error) { req := explorerPB.StreamTxsRequest{} - ctx = c.getCookie(ctx) - stream, err := c.explorerClient.StreamTxs(ctx, &req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExplorerCookieAssistant, c.explorerClient.StreamTxs, &req) + if err != nil { fmt.Println(err) return nil, err @@ -220,8 +202,8 @@ func (c *explorerClient) StreamTxs(ctx context.Context) (explorerPB.InjectiveExp func (c *explorerClient) StreamBlocks(ctx context.Context) (explorerPB.InjectiveExplorerRPC_StreamBlocksClient, error) { req := explorerPB.StreamBlocksRequest{} - ctx = c.getCookie(ctx) - stream, err := c.explorerClient.StreamBlocks(ctx, &req) + stream, err := common.ExecuteStreamCall(ctx, c.network.ExplorerCookieAssistant, c.explorerClient.StreamBlocks, &req) + if err != nil { fmt.Println(err) return nil, err @@ -231,8 +213,8 @@ func (c *explorerClient) StreamBlocks(ctx context.Context) (explorerPB.Injective } func (c *explorerClient) GetWasmCodes(ctx context.Context, req *explorerPB.GetWasmCodesRequest) (*explorerPB.GetWasmCodesResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.explorerClient.GetWasmCodes(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExplorerCookieAssistant, c.explorerClient.GetWasmCodes, req) + if err != nil { fmt.Println(err) return &explorerPB.GetWasmCodesResponse{}, err @@ -242,8 +224,8 @@ func (c *explorerClient) GetWasmCodes(ctx context.Context, req *explorerPB.GetWa } func (c *explorerClient) GetWasmCodeByID(ctx context.Context, req *explorerPB.GetWasmCodeByIDRequest) (*explorerPB.GetWasmCodeByIDResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.explorerClient.GetWasmCodeByID(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExplorerCookieAssistant, c.explorerClient.GetWasmCodeByID, req) + if err != nil { fmt.Println(err) return &explorerPB.GetWasmCodeByIDResponse{}, err @@ -253,8 +235,8 @@ func (c *explorerClient) GetWasmCodeByID(ctx context.Context, req *explorerPB.Ge } func (c *explorerClient) GetWasmContracts(ctx context.Context, req *explorerPB.GetWasmContractsRequest) (*explorerPB.GetWasmContractsResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.explorerClient.GetWasmContracts(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExplorerCookieAssistant, c.explorerClient.GetWasmContracts, req) + if err != nil { fmt.Println(err) return &explorerPB.GetWasmContractsResponse{}, err @@ -264,8 +246,8 @@ func (c *explorerClient) GetWasmContracts(ctx context.Context, req *explorerPB.G } func (c *explorerClient) GetWasmContractByAddress(ctx context.Context, req *explorerPB.GetWasmContractByAddressRequest) (*explorerPB.GetWasmContractByAddressResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.explorerClient.GetWasmContractByAddress(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExplorerCookieAssistant, c.explorerClient.GetWasmContractByAddress, req) + if err != nil { fmt.Println(err) return &explorerPB.GetWasmContractByAddressResponse{}, err @@ -275,8 +257,8 @@ func (c *explorerClient) GetWasmContractByAddress(ctx context.Context, req *expl } func (c *explorerClient) GetCW20Balance(ctx context.Context, req *explorerPB.GetCw20BalanceRequest) (*explorerPB.GetCw20BalanceResponse, error) { - ctx = c.getCookie(ctx) - res, err := c.explorerClient.GetCw20Balance(ctx, req) + res, err := common.ExecuteCall(ctx, c.network.ExplorerCookieAssistant, c.explorerClient.GetCw20Balance, req) + if err != nil { fmt.Println(err) return &explorerPB.GetCw20BalanceResponse{}, err From 7ac3f58e2ace0fdbd28f24b5879fe4fc1eebad7e Mon Sep 17 00:00:00 2001 From: abel Date: Tue, 9 Apr 2024 16:02:55 -0300 Subject: [PATCH 03/48] (fix) Fix pre-commit issues --- client/common/api_request_assistant.go | 1 + client/exchange/exchange.go | 1 + 2 files changed, 2 insertions(+) diff --git a/client/common/api_request_assistant.go b/client/common/api_request_assistant.go index e5956792..eaafb110 100644 --- a/client/common/api_request_assistant.go +++ b/client/common/api_request_assistant.go @@ -2,6 +2,7 @@ package common import ( "context" + "google.golang.org/grpc" "google.golang.org/grpc/metadata" ) diff --git a/client/exchange/exchange.go b/client/exchange/exchange.go index 107e9f5e..f0ec7892 100644 --- a/client/exchange/exchange.go +++ b/client/exchange/exchange.go @@ -3,6 +3,7 @@ package exchange import ( "context" "fmt" + "google.golang.org/grpc/credentials/insecure" "github.com/InjectiveLabs/sdk-go/client/common" From d6867e648319ad6f82f430bfbf683e25163857d1 Mon Sep 17 00:00:00 2001 From: abel Date: Thu, 11 Apr 2024 11:01:58 -0300 Subject: [PATCH 04/48] (feat) Added support and examples for IBC Transfer module queries and messages --- client/chain/chain.go | 78 ++++++++++++++--- client/chain/chain_test_support.go | 23 +++++ .../ibc/transfer/1_MsgTransfer/example.go | 87 +++++++++++++++++++ .../transfer/query/1_DenomTrace/example.go | 76 ++++++++++++++++ .../transfer/query/2_DenomTraces/example.go | 72 +++++++++++++++ .../ibc/transfer/query/3_DenomHash/example.go | 73 ++++++++++++++++ .../transfer/query/4_EscrowAddress/example.go | 72 +++++++++++++++ .../query/5_TotalEscrowForDenom/example.go | 71 +++++++++++++++ 8 files changed, 542 insertions(+), 10 deletions(-) create mode 100644 examples/chain/ibc/transfer/1_MsgTransfer/example.go create mode 100644 examples/chain/ibc/transfer/query/1_DenomTrace/example.go create mode 100644 examples/chain/ibc/transfer/query/2_DenomTraces/example.go create mode 100644 examples/chain/ibc/transfer/query/3_DenomHash/example.go create mode 100644 examples/chain/ibc/transfer/query/4_EscrowAddress/example.go create mode 100644 examples/chain/ibc/transfer/query/5_TotalEscrowForDenom/example.go diff --git a/client/chain/chain.go b/client/chain/chain.go index 1ab1e0ac..bcd5443d 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -13,6 +13,8 @@ import ( "sync/atomic" "time" + ibctransfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + "github.com/cosmos/cosmos-sdk/client/grpc/tmservice" distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" @@ -243,6 +245,13 @@ type ChainClient interface { FetchValidatorSetByHeight(ctx context.Context, height int64, pagination *query.PageRequest) (*tmservice.GetValidatorSetByHeightResponse, error) ABCIQuery(ctx context.Context, path string, data []byte, height int64, prove bool) (*tmservice.ABCIQueryResponse, error) + // IBC Transfer module + FetchDenomTrace(ctx context.Context, hash string) (*ibctransfertypes.QueryDenomTraceResponse, error) + FetchDenomTraces(ctx context.Context, pagination *query.PageRequest) (*ibctransfertypes.QueryDenomTracesResponse, error) + FetchDenomHash(ctx context.Context, trace string) (*ibctransfertypes.QueryDenomHashResponse, error) + FetchEscrowAddress(ctx context.Context, portId string, channelId string) (*ibctransfertypes.QueryEscrowAddressResponse, error) + FetchTotalEscrowForDenom(ctx context.Context, denom string) (*ibctransfertypes.QueryTotalEscrowForDenomResponse, error) + Close() } @@ -269,16 +278,17 @@ type chainClient struct { sessionEnabled bool - txClient txtypes.ServiceClient authQueryClient authtypes.QueryClient - exchangeQueryClient exchangetypes.QueryClient - bankQueryClient banktypes.QueryClient authzQueryClient authztypes.QueryClient - wasmQueryClient wasmtypes.QueryClient + bankQueryClient banktypes.QueryClient chainStreamClient chainstreamtypes.StreamClient - tokenfactoryQueryClient tokenfactorytypes.QueryClient distributionQueryClient distributiontypes.QueryClient + exchangeQueryClient exchangetypes.QueryClient + ibcTransferQueryClient ibctransfertypes.QueryClient tendermintQueryClient tmservice.ServiceClient + tokenfactoryQueryClient tokenfactorytypes.QueryClient + txClient txtypes.ServiceClient + wasmQueryClient wasmtypes.QueryClient subaccountToNonce map[ethcommon.Hash]uint32 closed int64 @@ -365,16 +375,17 @@ func NewChainClient( sessionEnabled: stickySessionEnabled, - txClient: txtypes.NewServiceClient(conn), authQueryClient: authtypes.NewQueryClient(conn), - exchangeQueryClient: exchangetypes.NewQueryClient(conn), - bankQueryClient: banktypes.NewQueryClient(conn), authzQueryClient: authztypes.NewQueryClient(conn), - wasmQueryClient: wasmtypes.NewQueryClient(conn), + bankQueryClient: banktypes.NewQueryClient(conn), chainStreamClient: chainstreamtypes.NewStreamClient(chainStreamConn), - tokenfactoryQueryClient: tokenfactorytypes.NewQueryClient(conn), distributionQueryClient: distributiontypes.NewQueryClient(conn), + exchangeQueryClient: exchangetypes.NewQueryClient(conn), + ibcTransferQueryClient: ibctransfertypes.NewQueryClient(conn), tendermintQueryClient: tmservice.NewServiceClient(conn), + tokenfactoryQueryClient: tokenfactorytypes.NewQueryClient(conn), + txClient: txtypes.NewServiceClient(conn), + wasmQueryClient: wasmtypes.NewQueryClient(conn), subaccountToNonce: make(map[ethcommon.Hash]uint32), } @@ -2255,3 +2266,50 @@ func (c *chainClient) ABCIQuery(ctx context.Context, path string, data []byte, h return res, err } + +// IBC Transfer module +func (c *chainClient) FetchDenomTrace(ctx context.Context, hash string) (*ibctransfertypes.QueryDenomTraceResponse, error) { + req := &ibctransfertypes.QueryDenomTraceRequest{ + Hash: hash, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcTransferQueryClient.DenomTrace, req) + + return res, err +} + +func (c *chainClient) FetchDenomTraces(ctx context.Context, pagination *query.PageRequest) (*ibctransfertypes.QueryDenomTracesResponse, error) { + req := &ibctransfertypes.QueryDenomTracesRequest{ + Pagination: pagination, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcTransferQueryClient.DenomTraces, req) + + return res, err +} + +func (c *chainClient) FetchDenomHash(ctx context.Context, trace string) (*ibctransfertypes.QueryDenomHashResponse, error) { + req := &ibctransfertypes.QueryDenomHashRequest{ + Trace: trace, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcTransferQueryClient.DenomHash, req) + + return res, err +} + +func (c *chainClient) FetchEscrowAddress(ctx context.Context, portId string, channelId string) (*ibctransfertypes.QueryEscrowAddressResponse, error) { + req := &ibctransfertypes.QueryEscrowAddressRequest{ + PortId: portId, + ChannelId: channelId, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcTransferQueryClient.EscrowAddress, req) + + return res, err +} + +func (c *chainClient) FetchTotalEscrowForDenom(ctx context.Context, denom string) (*ibctransfertypes.QueryTotalEscrowForDenomResponse, error) { + req := &ibctransfertypes.QueryTotalEscrowForDenomRequest{ + Denom: denom, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcTransferQueryClient.TotalEscrowForDenom, req) + + return res, err +} diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index a22fe440..cc643ecc 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -5,6 +5,8 @@ import ( "errors" "time" + ibctransfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + "github.com/cosmos/cosmos-sdk/client/grpc/tmservice" distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" @@ -578,3 +580,24 @@ func (c *MockChainClient) FetchValidatorSetByHeight(ctx context.Context, height func (c *MockChainClient) ABCIQuery(ctx context.Context, path string, data []byte, height int64, prove bool) (*tmservice.ABCIQueryResponse, error) { return &tmservice.ABCIQueryResponse{}, nil } + +// IBC Transfer module +func (c *MockChainClient) FetchDenomTrace(ctx context.Context, hash string) (*ibctransfertypes.QueryDenomTraceResponse, error) { + return &ibctransfertypes.QueryDenomTraceResponse{}, nil +} + +func (c *MockChainClient) FetchDenomTraces(ctx context.Context, pagination *query.PageRequest) (*ibctransfertypes.QueryDenomTracesResponse, error) { + return &ibctransfertypes.QueryDenomTracesResponse{}, nil +} + +func (c *MockChainClient) FetchDenomHash(ctx context.Context, trace string) (*ibctransfertypes.QueryDenomHashResponse, error) { + return &ibctransfertypes.QueryDenomHashResponse{}, nil +} + +func (c *MockChainClient) FetchEscrowAddress(ctx context.Context, portId string, channelId string) (*ibctransfertypes.QueryEscrowAddressResponse, error) { + return &ibctransfertypes.QueryEscrowAddressResponse{}, nil +} + +func (c *MockChainClient) FetchTotalEscrowForDenom(ctx context.Context, denom string) (*ibctransfertypes.QueryTotalEscrowForDenomResponse, error) { + return &ibctransfertypes.QueryTotalEscrowForDenomResponse{}, nil +} diff --git a/examples/chain/ibc/transfer/1_MsgTransfer/example.go b/examples/chain/ibc/transfer/1_MsgTransfer/example.go new file mode 100644 index 00000000..49d137ca --- /dev/null +++ b/examples/chain/ibc/transfer/1_MsgTransfer/example.go @@ -0,0 +1,87 @@ +package main + +import ( + "encoding/json" + "fmt" + "os" + + "github.com/InjectiveLabs/sdk-go/client" + "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" + ibctransfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + ibccoretypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "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(), + cosmosKeyring, + ) + if err != nil { + panic(err) + } + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + sourcePort := "transfer" + sourceChannel := "channel-126" + coin := sdktypes.Coin{ + Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + } + sender := senderAddress.String() + receiver := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" + timeoutHeight := ibccoretypes.Height{RevisionNumber: 10, RevisionHeight: 10} + + msg := &ibctransfertypes.MsgTransfer{ + SourcePort: sourcePort, + SourceChannel: sourceChannel, + Token: coin, + Sender: sender, + Receiver: receiver, + TimeoutHeight: timeoutHeight, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.AsyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/ibc/transfer/query/1_DenomTrace/example.go b/examples/chain/ibc/transfer/query/1_DenomTrace/example.go new file mode 100644 index 00000000..7653f19a --- /dev/null +++ b/examples/chain/ibc/transfer/query/1_DenomTrace/example.go @@ -0,0 +1,76 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + denomTrace := types.DenomTrace{ + Path: "transfer/channel-126", + BaseDenom: "uluna", + } + ctx := context.Background() + + res, err := chainClient.FetchDenomTrace(ctx, denomTrace.Hash().String()) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/transfer/query/2_DenomTraces/example.go b/examples/chain/ibc/transfer/query/2_DenomTraces/example.go new file mode 100644 index 00000000..1bf3191c --- /dev/null +++ b/examples/chain/ibc/transfer/query/2_DenomTraces/example.go @@ -0,0 +1,72 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + "github.com/cosmos/cosmos-sdk/types/query" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + pagination := query.PageRequest{Offset: 2, Limit: 4} + ctx := context.Background() + + res, err := chainClient.FetchDenomTraces(ctx, &pagination) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/transfer/query/3_DenomHash/example.go b/examples/chain/ibc/transfer/query/3_DenomHash/example.go new file mode 100644 index 00000000..1eaef69b --- /dev/null +++ b/examples/chain/ibc/transfer/query/3_DenomHash/example.go @@ -0,0 +1,73 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + path := "transfer/channel-126" + baseDenom := "uluna" + fullPath := fmt.Sprintf("%s/%s", path, baseDenom) + ctx := context.Background() + + res, err := chainClient.FetchDenomHash(ctx, fullPath) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/transfer/query/4_EscrowAddress/example.go b/examples/chain/ibc/transfer/query/4_EscrowAddress/example.go new file mode 100644 index 00000000..36922820 --- /dev/null +++ b/examples/chain/ibc/transfer/query/4_EscrowAddress/example.go @@ -0,0 +1,72 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + portId := "transfer" + channelId := "channel-126" + ctx := context.Background() + + res, err := chainClient.FetchEscrowAddress(ctx, portId, channelId) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/transfer/query/5_TotalEscrowForDenom/example.go b/examples/chain/ibc/transfer/query/5_TotalEscrowForDenom/example.go new file mode 100644 index 00000000..f64c0f1c --- /dev/null +++ b/examples/chain/ibc/transfer/query/5_TotalEscrowForDenom/example.go @@ -0,0 +1,71 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + baseDenom := "uluna" + ctx := context.Background() + + res, err := chainClient.FetchTotalEscrowForDenom(ctx, baseDenom) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} From 4a698eedf0b089b46e3d7835a2fc156325af98d0 Mon Sep 17 00:00:00 2001 From: abel Date: Mon, 15 Apr 2024 14:49:07 -0300 Subject: [PATCH 05/48] (feat) Added support for IBC Core Channel module queries. Added also example scripts for all the queries --- client/chain/chain.go | 161 +++++++++++++++++- client/chain/chain_test_support.go | 55 ++++++ .../10_PacketAcknowledgements/example.go | 76 +++++++++ .../query/11_UnreceivedPackets/example.go | 73 ++++++++ .../query/12_UnreceivedAcks/example.go | 73 ++++++++ .../query/13_NextSequenceReceive/example.go | 72 ++++++++ .../ibc/channel/query/1_Channel/example.go | 72 ++++++++ .../ibc/channel/query/2_Channels/example.go | 73 ++++++++ .../query/3_ConnectionChannels/example.go | 74 ++++++++ .../query/4_ChannelClientState/example.go | 70 ++++++++ .../query/5_ChannelConsensusState/example.go | 72 ++++++++ .../query/6_PacketCommitment/example.go | 73 ++++++++ .../query/7_PacketCommitments/example.go | 75 ++++++++ .../channel/query/8_PacketReceipt/example.go | 73 ++++++++ .../query/9_PacketAcknowledgement/example.go | 73 ++++++++ 15 files changed, 1163 insertions(+), 2 deletions(-) create mode 100644 examples/chain/ibc/channel/query/10_PacketAcknowledgements/example.go create mode 100644 examples/chain/ibc/channel/query/11_UnreceivedPackets/example.go create mode 100644 examples/chain/ibc/channel/query/12_UnreceivedAcks/example.go create mode 100644 examples/chain/ibc/channel/query/13_NextSequenceReceive/example.go create mode 100644 examples/chain/ibc/channel/query/1_Channel/example.go create mode 100644 examples/chain/ibc/channel/query/2_Channels/example.go create mode 100644 examples/chain/ibc/channel/query/3_ConnectionChannels/example.go create mode 100644 examples/chain/ibc/channel/query/4_ChannelClientState/example.go create mode 100644 examples/chain/ibc/channel/query/5_ChannelConsensusState/example.go create mode 100644 examples/chain/ibc/channel/query/6_PacketCommitment/example.go create mode 100644 examples/chain/ibc/channel/query/7_PacketCommitments/example.go create mode 100644 examples/chain/ibc/channel/query/8_PacketReceipt/example.go create mode 100644 examples/chain/ibc/channel/query/9_PacketAcknowledgement/example.go diff --git a/client/chain/chain.go b/client/chain/chain.go index bcd5443d..a827c014 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -13,8 +13,6 @@ import ( "sync/atomic" "time" - ibctransfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" - "github.com/cosmos/cosmos-sdk/client/grpc/tmservice" distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" @@ -39,6 +37,8 @@ import ( authztypes "github.com/cosmos/cosmos-sdk/x/authz" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" "github.com/cosmos/gogoproto/proto" + ibctransfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + ibcchanneltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" eth "github.com/ethereum/go-ethereum/common" "github.com/pkg/errors" "github.com/shopspring/decimal" @@ -252,6 +252,21 @@ type ChainClient interface { FetchEscrowAddress(ctx context.Context, portId string, channelId string) (*ibctransfertypes.QueryEscrowAddressResponse, error) FetchTotalEscrowForDenom(ctx context.Context, denom string) (*ibctransfertypes.QueryTotalEscrowForDenomResponse, error) + // IBC Core Channel module + FetchIBCChannel(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryChannelResponse, error) + FetchIBCChannels(ctx context.Context, pagination *query.PageRequest) (*ibcchanneltypes.QueryChannelsResponse, error) + FetchIBCConnectionChannels(ctx context.Context, connection string, pagination *query.PageRequest) (*ibcchanneltypes.QueryConnectionChannelsResponse, error) + FetchIBCChannelClientState(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryChannelClientStateResponse, error) + FetchIBCChannelConsensusState(ctx context.Context, portId string, channelId string, revisionNumber uint64, revisionHeight uint64) (*ibcchanneltypes.QueryChannelConsensusStateResponse, error) + FetchIBCPacketCommitment(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketCommitmentResponse, error) + FetchIBCPacketCommitments(ctx context.Context, portId string, channelId string, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketCommitmentsResponse, error) + FetchIBCPacketReceipt(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketReceiptResponse, error) + FetchIBCPacketAcknowledgement(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketAcknowledgementResponse, error) + FetchIBCPacketAcknowledgements(ctx context.Context, portId string, channelId string, packetCommitmentSequences []uint64, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketAcknowledgementsResponse, error) + FetchIBCUnreceivedPackets(ctx context.Context, portId string, channelId string, packetCommitmentSequences []uint64) (*ibcchanneltypes.QueryUnreceivedPacketsResponse, error) + FetchIBCUnreceivedAcks(ctx context.Context, portId string, channelId string, packetAckSequences []uint64) (*ibcchanneltypes.QueryUnreceivedAcksResponse, error) + FetchIBCNextSequenceReceive(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryNextSequenceReceiveResponse, error) + Close() } @@ -284,6 +299,7 @@ type chainClient struct { chainStreamClient chainstreamtypes.StreamClient distributionQueryClient distributiontypes.QueryClient exchangeQueryClient exchangetypes.QueryClient + ibcChannelQueryClient ibcchanneltypes.QueryClient ibcTransferQueryClient ibctransfertypes.QueryClient tendermintQueryClient tmservice.ServiceClient tokenfactoryQueryClient tokenfactorytypes.QueryClient @@ -381,6 +397,7 @@ func NewChainClient( chainStreamClient: chainstreamtypes.NewStreamClient(chainStreamConn), distributionQueryClient: distributiontypes.NewQueryClient(conn), exchangeQueryClient: exchangetypes.NewQueryClient(conn), + ibcChannelQueryClient: ibcchanneltypes.NewQueryClient(conn), ibcTransferQueryClient: ibctransfertypes.NewQueryClient(conn), tendermintQueryClient: tmservice.NewServiceClient(conn), tokenfactoryQueryClient: tokenfactorytypes.NewQueryClient(conn), @@ -2313,3 +2330,143 @@ func (c *chainClient) FetchTotalEscrowForDenom(ctx context.Context, denom string return res, err } + +// IBC Core Channel module +func (c *chainClient) FetchIBCChannel(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryChannelResponse, error) { + req := &ibcchanneltypes.QueryChannelRequest{ + PortId: portId, + ChannelId: channelId, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcChannelQueryClient.Channel, req) + + return res, err +} + +func (c *chainClient) FetchIBCChannels(ctx context.Context, pagination *query.PageRequest) (*ibcchanneltypes.QueryChannelsResponse, error) { + req := &ibcchanneltypes.QueryChannelsRequest{ + Pagination: pagination, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcChannelQueryClient.Channels, req) + + return res, err +} + +func (c *chainClient) FetchIBCConnectionChannels(ctx context.Context, connection string, pagination *query.PageRequest) (*ibcchanneltypes.QueryConnectionChannelsResponse, error) { + req := &ibcchanneltypes.QueryConnectionChannelsRequest{ + Connection: connection, + Pagination: pagination, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcChannelQueryClient.ConnectionChannels, req) + + return res, err +} + +func (c *chainClient) FetchIBCChannelClientState(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryChannelClientStateResponse, error) { + req := &ibcchanneltypes.QueryChannelClientStateRequest{ + PortId: portId, + ChannelId: channelId, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcChannelQueryClient.ChannelClientState, req) + + return res, err +} + +func (c *chainClient) FetchIBCChannelConsensusState(ctx context.Context, portId string, channelId string, revisionNumber uint64, revisionHeight uint64) (*ibcchanneltypes.QueryChannelConsensusStateResponse, error) { + req := &ibcchanneltypes.QueryChannelConsensusStateRequest{ + PortId: portId, + ChannelId: channelId, + RevisionNumber: revisionNumber, + RevisionHeight: revisionHeight, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcChannelQueryClient.ChannelConsensusState, req) + + return res, err +} + +func (c *chainClient) FetchIBCPacketCommitment(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketCommitmentResponse, error) { + req := &ibcchanneltypes.QueryPacketCommitmentRequest{ + PortId: portId, + ChannelId: channelId, + Sequence: sequence, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcChannelQueryClient.PacketCommitment, req) + + return res, err +} + +func (c *chainClient) FetchIBCPacketCommitments(ctx context.Context, portId string, channelId string, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketCommitmentsResponse, error) { + req := &ibcchanneltypes.QueryPacketCommitmentsRequest{ + PortId: portId, + ChannelId: channelId, + Pagination: pagination, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcChannelQueryClient.PacketCommitments, req) + + return res, err +} + +func (c *chainClient) FetchIBCPacketReceipt(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketReceiptResponse, error) { + req := &ibcchanneltypes.QueryPacketReceiptRequest{ + PortId: portId, + ChannelId: channelId, + Sequence: sequence, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcChannelQueryClient.PacketReceipt, req) + + return res, err +} + +func (c *chainClient) FetchIBCPacketAcknowledgement(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketAcknowledgementResponse, error) { + req := &ibcchanneltypes.QueryPacketAcknowledgementRequest{ + PortId: portId, + ChannelId: channelId, + Sequence: sequence, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcChannelQueryClient.PacketAcknowledgement, req) + + return res, err +} + +func (c *chainClient) FetchIBCPacketAcknowledgements(ctx context.Context, portId string, channelId string, packetCommitmentSequences []uint64, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketAcknowledgementsResponse, error) { + req := &ibcchanneltypes.QueryPacketAcknowledgementsRequest{ + PortId: portId, + ChannelId: channelId, + Pagination: pagination, + PacketCommitmentSequences: packetCommitmentSequences, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcChannelQueryClient.PacketAcknowledgements, req) + + return res, err +} + +func (c *chainClient) FetchIBCUnreceivedPackets(ctx context.Context, portId string, channelId string, packetCommitmentSequences []uint64) (*ibcchanneltypes.QueryUnreceivedPacketsResponse, error) { + req := &ibcchanneltypes.QueryUnreceivedPacketsRequest{ + PortId: portId, + ChannelId: channelId, + PacketCommitmentSequences: packetCommitmentSequences, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcChannelQueryClient.UnreceivedPackets, req) + + return res, err +} + +func (c *chainClient) FetchIBCUnreceivedAcks(ctx context.Context, portId string, channelId string, packetAckSequences []uint64) (*ibcchanneltypes.QueryUnreceivedAcksResponse, error) { + req := &ibcchanneltypes.QueryUnreceivedAcksRequest{ + PortId: portId, + ChannelId: channelId, + PacketAckSequences: packetAckSequences, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcChannelQueryClient.UnreceivedAcks, req) + + return res, err +} + +func (c *chainClient) FetchIBCNextSequenceReceive(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryNextSequenceReceiveResponse, error) { + req := &ibcchanneltypes.QueryNextSequenceReceiveRequest{ + PortId: portId, + ChannelId: channelId, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcChannelQueryClient.NextSequenceReceive, req) + + return res, err +} diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index cc643ecc..9414d73a 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -5,6 +5,8 @@ import ( "errors" "time" + ibcchanneltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + ibctransfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" "github.com/cosmos/cosmos-sdk/client/grpc/tmservice" @@ -601,3 +603,56 @@ func (c *MockChainClient) FetchEscrowAddress(ctx context.Context, portId string, func (c *MockChainClient) FetchTotalEscrowForDenom(ctx context.Context, denom string) (*ibctransfertypes.QueryTotalEscrowForDenomResponse, error) { return &ibctransfertypes.QueryTotalEscrowForDenomResponse{}, nil } + +// IBC Core Channel module +func (c *MockChainClient) FetchIBCChannel(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryChannelResponse, error) { + return &ibcchanneltypes.QueryChannelResponse{}, nil +} + +func (c *MockChainClient) FetchIBCChannels(ctx context.Context, pagination *query.PageRequest) (*ibcchanneltypes.QueryChannelsResponse, error) { + return &ibcchanneltypes.QueryChannelsResponse{}, nil +} + +func (c *MockChainClient) FetchIBCConnectionChannels(ctx context.Context, connection string, pagination *query.PageRequest) (*ibcchanneltypes.QueryConnectionChannelsResponse, error) { + return &ibcchanneltypes.QueryConnectionChannelsResponse{}, nil +} + +func (c *MockChainClient) FetchIBCChannelClientState(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryChannelClientStateResponse, error) { + return &ibcchanneltypes.QueryChannelClientStateResponse{}, nil +} + +func (c *MockChainClient) FetchIBCChannelConsensusState(ctx context.Context, portId string, channelId string, revisionNumber uint64, revisionHeight uint64) (*ibcchanneltypes.QueryChannelConsensusStateResponse, error) { + return &ibcchanneltypes.QueryChannelConsensusStateResponse{}, nil +} + +func (c *MockChainClient) FetchIBCPacketCommitment(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketCommitmentResponse, error) { + return &ibcchanneltypes.QueryPacketCommitmentResponse{}, nil +} + +func (c *MockChainClient) FetchIBCPacketCommitments(ctx context.Context, portId string, channelId string, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketCommitmentsResponse, error) { + return &ibcchanneltypes.QueryPacketCommitmentsResponse{}, nil +} + +func (c *MockChainClient) FetchIBCPacketReceipt(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketReceiptResponse, error) { + return &ibcchanneltypes.QueryPacketReceiptResponse{}, nil +} + +func (c *MockChainClient) FetchIBCPacketAcknowledgement(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketAcknowledgementResponse, error) { + return &ibcchanneltypes.QueryPacketAcknowledgementResponse{}, nil +} + +func (c *MockChainClient) FetchIBCPacketAcknowledgements(ctx context.Context, portId string, channelId string, packetCommitmentSequences []uint64, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketAcknowledgementsResponse, error) { + return &ibcchanneltypes.QueryPacketAcknowledgementsResponse{}, nil +} + +func (c *MockChainClient) FetchIBCUnreceivedPackets(ctx context.Context, portId string, channelId string, packetCommitmentSequences []uint64) (*ibcchanneltypes.QueryUnreceivedPacketsResponse, error) { + return &ibcchanneltypes.QueryUnreceivedPacketsResponse{}, nil +} + +func (c *MockChainClient) FetchIBCUnreceivedAcks(ctx context.Context, portId string, channelId string, packetAckSequences []uint64) (*ibcchanneltypes.QueryUnreceivedAcksResponse, error) { + return &ibcchanneltypes.QueryUnreceivedAcksResponse{}, nil +} + +func (c *MockChainClient) FetchIBCNextSequenceReceive(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryNextSequenceReceiveResponse, error) { + return &ibcchanneltypes.QueryNextSequenceReceiveResponse{}, nil +} diff --git a/examples/chain/ibc/channel/query/10_PacketAcknowledgements/example.go b/examples/chain/ibc/channel/query/10_PacketAcknowledgements/example.go new file mode 100644 index 00000000..57a3d8c6 --- /dev/null +++ b/examples/chain/ibc/channel/query/10_PacketAcknowledgements/example.go @@ -0,0 +1,76 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/cosmos/cosmos-sdk/types/query" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + portId := "transfer" + channelId := "channel-126" + sequences := []uint64{1, 2} + pagination := query.PageRequest{Offset: 2, Limit: 4} + ctx := context.Background() + + res, err := chainClient.FetchIBCPacketAcknowledgements(ctx, portId, channelId, sequences, &pagination) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/channel/query/11_UnreceivedPackets/example.go b/examples/chain/ibc/channel/query/11_UnreceivedPackets/example.go new file mode 100644 index 00000000..59d77766 --- /dev/null +++ b/examples/chain/ibc/channel/query/11_UnreceivedPackets/example.go @@ -0,0 +1,73 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + portId := "transfer" + channelId := "channel-126" + sequences := []uint64{1, 2} + ctx := context.Background() + + res, err := chainClient.FetchIBCUnreceivedPackets(ctx, portId, channelId, sequences) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/channel/query/12_UnreceivedAcks/example.go b/examples/chain/ibc/channel/query/12_UnreceivedAcks/example.go new file mode 100644 index 00000000..ad1025ca --- /dev/null +++ b/examples/chain/ibc/channel/query/12_UnreceivedAcks/example.go @@ -0,0 +1,73 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + portId := "transfer" + channelId := "channel-126" + sequences := []uint64{1, 2} + ctx := context.Background() + + res, err := chainClient.FetchIBCUnreceivedAcks(ctx, portId, channelId, sequences) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/channel/query/13_NextSequenceReceive/example.go b/examples/chain/ibc/channel/query/13_NextSequenceReceive/example.go new file mode 100644 index 00000000..86171598 --- /dev/null +++ b/examples/chain/ibc/channel/query/13_NextSequenceReceive/example.go @@ -0,0 +1,72 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + portId := "transfer" + channelId := "channel-126" + ctx := context.Background() + + res, err := chainClient.FetchIBCNextSequenceReceive(ctx, portId, channelId) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/channel/query/1_Channel/example.go b/examples/chain/ibc/channel/query/1_Channel/example.go new file mode 100644 index 00000000..73bab3cc --- /dev/null +++ b/examples/chain/ibc/channel/query/1_Channel/example.go @@ -0,0 +1,72 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + portId := "transfer" + channelId := "channel-126" + ctx := context.Background() + + res, err := chainClient.FetchIBCChannel(ctx, portId, channelId) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/channel/query/2_Channels/example.go b/examples/chain/ibc/channel/query/2_Channels/example.go new file mode 100644 index 00000000..688bd8c7 --- /dev/null +++ b/examples/chain/ibc/channel/query/2_Channels/example.go @@ -0,0 +1,73 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/cosmos/cosmos-sdk/types/query" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + pagination := query.PageRequest{Offset: 2, Limit: 4} + ctx := context.Background() + + res, err := chainClient.FetchIBCChannels(ctx, &pagination) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/channel/query/3_ConnectionChannels/example.go b/examples/chain/ibc/channel/query/3_ConnectionChannels/example.go new file mode 100644 index 00000000..525aaa85 --- /dev/null +++ b/examples/chain/ibc/channel/query/3_ConnectionChannels/example.go @@ -0,0 +1,74 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/cosmos/cosmos-sdk/types/query" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + connection := "connection-182" + pagination := query.PageRequest{Offset: 2, Limit: 4} + ctx := context.Background() + + res, err := chainClient.FetchIBCConnectionChannels(ctx, connection, &pagination) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/channel/query/4_ChannelClientState/example.go b/examples/chain/ibc/channel/query/4_ChannelClientState/example.go new file mode 100644 index 00000000..34579a77 --- /dev/null +++ b/examples/chain/ibc/channel/query/4_ChannelClientState/example.go @@ -0,0 +1,70 @@ +package main + +import ( + "context" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + portId := "transfer" + channelId := "channel-126" + ctx := context.Background() + + res, err := chainClient.FetchIBCChannelClientState(ctx, portId, channelId) + if err != nil { + fmt.Println(err) + } + + fmt.Print(res) + +} diff --git a/examples/chain/ibc/channel/query/5_ChannelConsensusState/example.go b/examples/chain/ibc/channel/query/5_ChannelConsensusState/example.go new file mode 100644 index 00000000..1346834c --- /dev/null +++ b/examples/chain/ibc/channel/query/5_ChannelConsensusState/example.go @@ -0,0 +1,72 @@ +package main + +import ( + "context" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + portId := "transfer" + channelId := "channel-126" + revisionNumber := uint64(1) + revisionHeight := uint64(7990906) + ctx := context.Background() + + res, err := chainClient.FetchIBCChannelConsensusState(ctx, portId, channelId, revisionNumber, revisionHeight) + if err != nil { + fmt.Println(err) + } + + fmt.Print(res) + +} diff --git a/examples/chain/ibc/channel/query/6_PacketCommitment/example.go b/examples/chain/ibc/channel/query/6_PacketCommitment/example.go new file mode 100644 index 00000000..2a5fec05 --- /dev/null +++ b/examples/chain/ibc/channel/query/6_PacketCommitment/example.go @@ -0,0 +1,73 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + portId := "transfer" + channelId := "channel-126" + sequence := uint64(1) + ctx := context.Background() + + res, err := chainClient.FetchIBCPacketCommitment(ctx, portId, channelId, sequence) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/channel/query/7_PacketCommitments/example.go b/examples/chain/ibc/channel/query/7_PacketCommitments/example.go new file mode 100644 index 00000000..e5af45c2 --- /dev/null +++ b/examples/chain/ibc/channel/query/7_PacketCommitments/example.go @@ -0,0 +1,75 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/cosmos/cosmos-sdk/types/query" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + portId := "transfer" + channelId := "channel-126" + pagination := query.PageRequest{Offset: 2, Limit: 4} + ctx := context.Background() + + res, err := chainClient.FetchIBCPacketCommitments(ctx, portId, channelId, &pagination) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/channel/query/8_PacketReceipt/example.go b/examples/chain/ibc/channel/query/8_PacketReceipt/example.go new file mode 100644 index 00000000..5b429ef3 --- /dev/null +++ b/examples/chain/ibc/channel/query/8_PacketReceipt/example.go @@ -0,0 +1,73 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + portId := "transfer" + channelId := "channel-126" + sequence := uint64(1) + ctx := context.Background() + + res, err := chainClient.FetchIBCPacketReceipt(ctx, portId, channelId, sequence) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/channel/query/9_PacketAcknowledgement/example.go b/examples/chain/ibc/channel/query/9_PacketAcknowledgement/example.go new file mode 100644 index 00000000..0737e5da --- /dev/null +++ b/examples/chain/ibc/channel/query/9_PacketAcknowledgement/example.go @@ -0,0 +1,73 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + portId := "transfer" + channelId := "channel-126" + sequence := uint64(1) + ctx := context.Background() + + res, err := chainClient.FetchIBCPacketAcknowledgement(ctx, portId, channelId, sequence) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} From 3878473aeca4b865cf4f0c2e3031e5a2072015ba Mon Sep 17 00:00:00 2001 From: abel Date: Tue, 23 Apr 2024 09:42:10 -0300 Subject: [PATCH 06/48] (feat) Added script examples for the IBC Core Client module queries --- client/chain/chain.go | 95 +++++++++++++++++++ client/chain/chain_test_support.go | 38 ++++++++ .../ibc/client/query/1_ClientState/example.go | 69 ++++++++++++++ .../client/query/2_ClientStates/example.go | 71 ++++++++++++++ .../client/query/3_ConsensusState/example.go | 73 ++++++++++++++ .../client/query/4_ConsensusStates/example.go | 72 ++++++++++++++ .../query/5_ConsensusStateHeight/example.go | 72 ++++++++++++++ .../client/query/6_ClientStatus/example.go | 71 ++++++++++++++ .../client/query/7_ClientParams/example.go | 70 ++++++++++++++ .../query/8_UpgradedClientState/example.go | 70 ++++++++++++++ .../query/9_UpgradedConsensusState/example.go | 70 ++++++++++++++ 11 files changed, 771 insertions(+) create mode 100644 examples/chain/ibc/client/query/1_ClientState/example.go create mode 100644 examples/chain/ibc/client/query/2_ClientStates/example.go create mode 100644 examples/chain/ibc/client/query/3_ConsensusState/example.go create mode 100644 examples/chain/ibc/client/query/4_ConsensusStates/example.go create mode 100644 examples/chain/ibc/client/query/5_ConsensusStateHeight/example.go create mode 100644 examples/chain/ibc/client/query/6_ClientStatus/example.go create mode 100644 examples/chain/ibc/client/query/7_ClientParams/example.go create mode 100644 examples/chain/ibc/client/query/8_UpgradedClientState/example.go create mode 100644 examples/chain/ibc/client/query/9_UpgradedConsensusState/example.go diff --git a/client/chain/chain.go b/client/chain/chain.go index a827c014..5cb9bf9f 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -38,6 +38,7 @@ import ( banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" "github.com/cosmos/gogoproto/proto" ibctransfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + ibcclienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" ibcchanneltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" eth "github.com/ethereum/go-ethereum/common" "github.com/pkg/errors" @@ -267,6 +268,17 @@ type ChainClient interface { FetchIBCUnreceivedAcks(ctx context.Context, portId string, channelId string, packetAckSequences []uint64) (*ibcchanneltypes.QueryUnreceivedAcksResponse, error) FetchIBCNextSequenceReceive(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryNextSequenceReceiveResponse, error) + // IBC Core Chain module + FetchIBCClientState(ctx context.Context, clientId string) (*ibcclienttypes.QueryClientStateResponse, error) + FetchIBCClientStates(ctx context.Context, pagination *query.PageRequest) (*ibcclienttypes.QueryClientStatesResponse, error) + FetchIBCConsensusState(ctx context.Context, clientId string, revisionNumber uint64, revisionHeight uint64, latestHeight bool) (*ibcclienttypes.QueryConsensusStateResponse, error) + FetchIBCConsensusStates(ctx context.Context, clientId string, pagination *query.PageRequest) (*ibcclienttypes.QueryConsensusStatesResponse, error) + FetchIBCConsensusStateHeights(ctx context.Context, clientId string, pagination *query.PageRequest) (*ibcclienttypes.QueryConsensusStateHeightsResponse, error) + FetchIBCClientStatus(ctx context.Context, clientId string) (*ibcclienttypes.QueryClientStatusResponse, error) + FetchIBCClientParams(ctx context.Context) (*ibcclienttypes.QueryClientParamsResponse, error) + FetchIBCUpgradedClientState(ctx context.Context) (*ibcclienttypes.QueryUpgradedClientStateResponse, error) + FetchIBCUpgradedConsensusState(ctx context.Context) (*ibcclienttypes.QueryUpgradedConsensusStateResponse, error) + Close() } @@ -300,6 +312,7 @@ type chainClient struct { distributionQueryClient distributiontypes.QueryClient exchangeQueryClient exchangetypes.QueryClient ibcChannelQueryClient ibcchanneltypes.QueryClient + ibcClientQueryClient ibcclienttypes.QueryClient ibcTransferQueryClient ibctransfertypes.QueryClient tendermintQueryClient tmservice.ServiceClient tokenfactoryQueryClient tokenfactorytypes.QueryClient @@ -398,6 +411,7 @@ func NewChainClient( distributionQueryClient: distributiontypes.NewQueryClient(conn), exchangeQueryClient: exchangetypes.NewQueryClient(conn), ibcChannelQueryClient: ibcchanneltypes.NewQueryClient(conn), + ibcClientQueryClient: ibcclienttypes.NewQueryClient(conn), ibcTransferQueryClient: ibctransfertypes.NewQueryClient(conn), tendermintQueryClient: tmservice.NewServiceClient(conn), tokenfactoryQueryClient: tokenfactorytypes.NewQueryClient(conn), @@ -2470,3 +2484,84 @@ func (c *chainClient) FetchIBCNextSequenceReceive(ctx context.Context, portId st return res, err } + +// IBC Core Chain module +func (c *chainClient) FetchIBCClientState(ctx context.Context, clientId string) (*ibcclienttypes.QueryClientStateResponse, error) { + req := &ibcclienttypes.QueryClientStateRequest{ + ClientId: clientId, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcClientQueryClient.ClientState, req) + + return res, err +} + +func (c *chainClient) FetchIBCClientStates(ctx context.Context, pagination *query.PageRequest) (*ibcclienttypes.QueryClientStatesResponse, error) { + req := &ibcclienttypes.QueryClientStatesRequest{ + Pagination: pagination, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcClientQueryClient.ClientStates, req) + + return res, err +} + +func (c *chainClient) FetchIBCConsensusState(ctx context.Context, clientId string, revisionNumber uint64, revisionHeight uint64, latestHeight bool) (*ibcclienttypes.QueryConsensusStateResponse, error) { + req := &ibcclienttypes.QueryConsensusStateRequest{ + ClientId: clientId, + RevisionNumber: revisionNumber, + RevisionHeight: revisionHeight, + LatestHeight: latestHeight, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcClientQueryClient.ConsensusState, req) + + return res, err +} + +func (c *chainClient) FetchIBCConsensusStates(ctx context.Context, clientId string, pagination *query.PageRequest) (*ibcclienttypes.QueryConsensusStatesResponse, error) { + req := &ibcclienttypes.QueryConsensusStatesRequest{ + ClientId: clientId, + Pagination: pagination, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcClientQueryClient.ConsensusStates, req) + + return res, err +} + +func (c *chainClient) FetchIBCConsensusStateHeights(ctx context.Context, clientId string, pagination *query.PageRequest) (*ibcclienttypes.QueryConsensusStateHeightsResponse, error) { + req := &ibcclienttypes.QueryConsensusStateHeightsRequest{ + ClientId: clientId, + Pagination: pagination, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcClientQueryClient.ConsensusStateHeights, req) + + return res, err +} + +func (c *chainClient) FetchIBCClientStatus(ctx context.Context, clientId string) (*ibcclienttypes.QueryClientStatusResponse, error) { + req := &ibcclienttypes.QueryClientStatusRequest{ + ClientId: clientId, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcClientQueryClient.ClientStatus, req) + + return res, err +} + +func (c *chainClient) FetchIBCClientParams(ctx context.Context) (*ibcclienttypes.QueryClientParamsResponse, error) { + req := &ibcclienttypes.QueryClientParamsRequest{} + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcClientQueryClient.ClientParams, req) + + return res, err +} + +func (c *chainClient) FetchIBCUpgradedClientState(ctx context.Context) (*ibcclienttypes.QueryUpgradedClientStateResponse, error) { + req := &ibcclienttypes.QueryUpgradedClientStateRequest{} + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcClientQueryClient.UpgradedClientState, req) + + return res, err +} + +func (c *chainClient) FetchIBCUpgradedConsensusState(ctx context.Context) (*ibcclienttypes.QueryUpgradedConsensusStateResponse, error) { + req := &ibcclienttypes.QueryUpgradedConsensusStateRequest{} + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcClientQueryClient.UpgradedConsensusState, req) + + return res, err +} diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index 9414d73a..f106cb36 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -3,6 +3,7 @@ package chain import ( "context" "errors" + ibcclienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" "time" ibcchanneltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" @@ -656,3 +657,40 @@ func (c *MockChainClient) FetchIBCUnreceivedAcks(ctx context.Context, portId str func (c *MockChainClient) FetchIBCNextSequenceReceive(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryNextSequenceReceiveResponse, error) { return &ibcchanneltypes.QueryNextSequenceReceiveResponse{}, nil } + +// IBC Core Chain module +func (c *MockChainClient) FetchIBCClientState(ctx context.Context, clientId string) (*ibcclienttypes.QueryClientStateResponse, error) { + return &ibcclienttypes.QueryClientStateResponse{}, nil +} + +func (c *MockChainClient) FetchIBCClientStates(ctx context.Context, pagination *query.PageRequest) (*ibcclienttypes.QueryClientStatesResponse, error) { + return &ibcclienttypes.QueryClientStatesResponse{}, nil +} + +func (c *MockChainClient) FetchIBCConsensusState(ctx context.Context, clientId string, revisionNumber uint64, revisionHeight uint64, latestHeight bool) (*ibcclienttypes.QueryConsensusStateResponse, error) { + return &ibcclienttypes.QueryConsensusStateResponse{}, nil +} + +func (c *MockChainClient) FetchIBCConsensusStates(ctx context.Context, clientId string, pagination *query.PageRequest) (*ibcclienttypes.QueryConsensusStatesResponse, error) { + return &ibcclienttypes.QueryConsensusStatesResponse{}, nil +} + +func (c *MockChainClient) FetchIBCConsensusStateHeights(ctx context.Context, clientId string, pagination *query.PageRequest) (*ibcclienttypes.QueryConsensusStateHeightsResponse, error) { + return &ibcclienttypes.QueryConsensusStateHeightsResponse{}, nil +} + +func (c *MockChainClient) FetchIBCClientStatus(ctx context.Context, clientId string) (*ibcclienttypes.QueryClientStatusResponse, error) { + return &ibcclienttypes.QueryClientStatusResponse{}, nil +} + +func (c *MockChainClient) FetchIBCClientParams(ctx context.Context) (*ibcclienttypes.QueryClientParamsResponse, error) { + return &ibcclienttypes.QueryClientParamsResponse{}, nil +} + +func (c *MockChainClient) FetchIBCUpgradedClientState(ctx context.Context) (*ibcclienttypes.QueryUpgradedClientStateResponse, error) { + return &ibcclienttypes.QueryUpgradedClientStateResponse{}, nil +} + +func (c *MockChainClient) FetchIBCUpgradedConsensusState(ctx context.Context) (*ibcclienttypes.QueryUpgradedConsensusStateResponse, error) { + return &ibcclienttypes.QueryUpgradedConsensusStateResponse{}, nil +} diff --git a/examples/chain/ibc/client/query/1_ClientState/example.go b/examples/chain/ibc/client/query/1_ClientState/example.go new file mode 100644 index 00000000..ccc893dc --- /dev/null +++ b/examples/chain/ibc/client/query/1_ClientState/example.go @@ -0,0 +1,69 @@ +package main + +import ( + "context" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + clientId := "07-tendermint-0" + ctx := context.Background() + + res, err := chainClient.FetchIBCClientState(ctx, clientId) + if err != nil { + fmt.Println(err) + } + + fmt.Print(res) + +} diff --git a/examples/chain/ibc/client/query/2_ClientStates/example.go b/examples/chain/ibc/client/query/2_ClientStates/example.go new file mode 100644 index 00000000..25d20383 --- /dev/null +++ b/examples/chain/ibc/client/query/2_ClientStates/example.go @@ -0,0 +1,71 @@ +package main + +import ( + "context" + "fmt" + + "github.com/cosmos/cosmos-sdk/types/query" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + pagination := query.PageRequest{Offset: 2, Limit: 4} + ctx := context.Background() + + res, err := chainClient.FetchIBCClientStates(ctx, &pagination) + if err != nil { + fmt.Println(err) + } + + fmt.Print(res) + +} diff --git a/examples/chain/ibc/client/query/3_ConsensusState/example.go b/examples/chain/ibc/client/query/3_ConsensusState/example.go new file mode 100644 index 00000000..4ec33765 --- /dev/null +++ b/examples/chain/ibc/client/query/3_ConsensusState/example.go @@ -0,0 +1,73 @@ +package main + +import ( + "context" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + clientId := "07-tendermint-0" + revisionNumber := uint64(0) + revisionHeight := uint64(7379538) + latestHeight := false + + ctx := context.Background() + + res, err := chainClient.FetchIBCConsensusState(ctx, clientId, revisionNumber, revisionHeight, latestHeight) + if err != nil { + fmt.Println(err) + } + + fmt.Print(res) + +} diff --git a/examples/chain/ibc/client/query/4_ConsensusStates/example.go b/examples/chain/ibc/client/query/4_ConsensusStates/example.go new file mode 100644 index 00000000..81062887 --- /dev/null +++ b/examples/chain/ibc/client/query/4_ConsensusStates/example.go @@ -0,0 +1,72 @@ +package main + +import ( + "context" + "fmt" + + "github.com/cosmos/cosmos-sdk/types/query" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + clientId := "07-tendermint-0" + pagination := query.PageRequest{Offset: 2, Limit: 4} + ctx := context.Background() + + res, err := chainClient.FetchIBCConsensusStates(ctx, clientId, &pagination) + if err != nil { + fmt.Println(err) + } + + fmt.Print(res) + +} diff --git a/examples/chain/ibc/client/query/5_ConsensusStateHeight/example.go b/examples/chain/ibc/client/query/5_ConsensusStateHeight/example.go new file mode 100644 index 00000000..450bdafb --- /dev/null +++ b/examples/chain/ibc/client/query/5_ConsensusStateHeight/example.go @@ -0,0 +1,72 @@ +package main + +import ( + "context" + "fmt" + + "github.com/cosmos/cosmos-sdk/types/query" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + clientId := "07-tendermint-0" + pagination := query.PageRequest{Offset: 2, Limit: 4} + ctx := context.Background() + + res, err := chainClient.FetchIBCConsensusStateHeights(ctx, clientId, &pagination) + if err != nil { + fmt.Println(err) + } + + fmt.Print(res) + +} diff --git a/examples/chain/ibc/client/query/6_ClientStatus/example.go b/examples/chain/ibc/client/query/6_ClientStatus/example.go new file mode 100644 index 00000000..19d17442 --- /dev/null +++ b/examples/chain/ibc/client/query/6_ClientStatus/example.go @@ -0,0 +1,71 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + clientId := "07-tendermint-0" + ctx := context.Background() + + res, err := chainClient.FetchIBCClientStatus(ctx, clientId) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/client/query/7_ClientParams/example.go b/examples/chain/ibc/client/query/7_ClientParams/example.go new file mode 100644 index 00000000..f0d4af1c --- /dev/null +++ b/examples/chain/ibc/client/query/7_ClientParams/example.go @@ -0,0 +1,70 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + ctx := context.Background() + + res, err := chainClient.FetchIBCClientParams(ctx) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/client/query/8_UpgradedClientState/example.go b/examples/chain/ibc/client/query/8_UpgradedClientState/example.go new file mode 100644 index 00000000..9e792113 --- /dev/null +++ b/examples/chain/ibc/client/query/8_UpgradedClientState/example.go @@ -0,0 +1,70 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + ctx := context.Background() + + res, err := chainClient.FetchIBCUpgradedClientState(ctx) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/client/query/9_UpgradedConsensusState/example.go b/examples/chain/ibc/client/query/9_UpgradedConsensusState/example.go new file mode 100644 index 00000000..1a69a9a8 --- /dev/null +++ b/examples/chain/ibc/client/query/9_UpgradedConsensusState/example.go @@ -0,0 +1,70 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + ctx := context.Background() + + res, err := chainClient.FetchIBCUpgradedConsensusState(ctx) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} From 13eff7c4bb68b5b85ae8dea076835f4c75fd2bbf Mon Sep 17 00:00:00 2001 From: abel Date: Tue, 23 Apr 2024 09:46:47 -0300 Subject: [PATCH 07/48] (fix) Fixed pre-commit errors --- client/chain/chain_test_support.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index f106cb36..b8b01b14 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -3,9 +3,10 @@ package chain import ( "context" "errors" - ibcclienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" "time" + ibcclienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" + ibcchanneltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" ibctransfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" From 01e7ce114fb731856132390963cb3fdf1a99f39c Mon Sep 17 00:00:00 2001 From: abel Date: Thu, 25 Apr 2024 12:13:56 -0300 Subject: [PATCH 08/48] (feat) Added support for IBC Core Connection module. Included example scripts --- client/chain/chain.go | 122 ++++++++++++++---- client/chain/chain_test_support.go | 44 +++++-- .../connection/query/1_Connection/example.go | 71 ++++++++++ .../connection/query/2_Connections/example.go | 73 +++++++++++ .../query/3_ClientConnections/example.go | 71 ++++++++++ .../query/4_ConnectionClientState/example.go | 69 ++++++++++ .../5_ConnectionConsensusState/example.go | 72 +++++++++++ .../query/6_ConnectionParams/example.go | 70 ++++++++++ 8 files changed, 552 insertions(+), 40 deletions(-) create mode 100644 examples/chain/ibc/connection/query/1_Connection/example.go create mode 100644 examples/chain/ibc/connection/query/2_Connections/example.go create mode 100644 examples/chain/ibc/connection/query/3_ClientConnections/example.go create mode 100644 examples/chain/ibc/connection/query/4_ConnectionClientState/example.go create mode 100644 examples/chain/ibc/connection/query/5_ConnectionConsensusState/example.go create mode 100644 examples/chain/ibc/connection/query/6_ConnectionParams/example.go diff --git a/client/chain/chain.go b/client/chain/chain.go index 5cb9bf9f..3e33f06a 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -39,6 +39,7 @@ import ( "github.com/cosmos/gogoproto/proto" ibctransfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" ibcclienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" + ibcconnectiontypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" ibcchanneltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" eth "github.com/ethereum/go-ethereum/common" "github.com/pkg/errors" @@ -279,6 +280,14 @@ type ChainClient interface { FetchIBCUpgradedClientState(ctx context.Context) (*ibcclienttypes.QueryUpgradedClientStateResponse, error) FetchIBCUpgradedConsensusState(ctx context.Context) (*ibcclienttypes.QueryUpgradedConsensusStateResponse, error) + // IBC Core Connection module + FetchIBCConnection(ctx context.Context, connectionId string) (*ibcconnectiontypes.QueryConnectionResponse, error) + FetchIBCConnections(ctx context.Context, pagination *query.PageRequest) (*ibcconnectiontypes.QueryConnectionsResponse, error) + FetchIBCClientConnections(ctx context.Context, clientId string) (*ibcconnectiontypes.QueryClientConnectionsResponse, error) + FetchIBCConnectionClientState(ctx context.Context, connectionId string) (*ibcconnectiontypes.QueryConnectionClientStateResponse, error) + FetchIBCConnectionConsensusState(ctx context.Context, connectionId string, revisionNumber uint64, revisionHeight uint64) (*ibcconnectiontypes.QueryConnectionConsensusStateResponse, error) + FetchIBCConnectionParams(ctx context.Context) (*ibcconnectiontypes.QueryConnectionParamsResponse, error) + Close() } @@ -305,20 +314,21 @@ type chainClient struct { sessionEnabled bool - authQueryClient authtypes.QueryClient - authzQueryClient authztypes.QueryClient - bankQueryClient banktypes.QueryClient - chainStreamClient chainstreamtypes.StreamClient - distributionQueryClient distributiontypes.QueryClient - exchangeQueryClient exchangetypes.QueryClient - ibcChannelQueryClient ibcchanneltypes.QueryClient - ibcClientQueryClient ibcclienttypes.QueryClient - ibcTransferQueryClient ibctransfertypes.QueryClient - tendermintQueryClient tmservice.ServiceClient - tokenfactoryQueryClient tokenfactorytypes.QueryClient - txClient txtypes.ServiceClient - wasmQueryClient wasmtypes.QueryClient - subaccountToNonce map[ethcommon.Hash]uint32 + authQueryClient authtypes.QueryClient + authzQueryClient authztypes.QueryClient + bankQueryClient banktypes.QueryClient + chainStreamClient chainstreamtypes.StreamClient + distributionQueryClient distributiontypes.QueryClient + exchangeQueryClient exchangetypes.QueryClient + ibcChannelQueryClient ibcchanneltypes.QueryClient + ibcClientQueryClient ibcclienttypes.QueryClient + ibcConnectionQueryClient ibcconnectiontypes.QueryClient + ibcTransferQueryClient ibctransfertypes.QueryClient + tendermintQueryClient tmservice.ServiceClient + tokenfactoryQueryClient tokenfactorytypes.QueryClient + txClient txtypes.ServiceClient + wasmQueryClient wasmtypes.QueryClient + subaccountToNonce map[ethcommon.Hash]uint32 closed int64 canSign bool @@ -404,20 +414,21 @@ func NewChainClient( sessionEnabled: stickySessionEnabled, - authQueryClient: authtypes.NewQueryClient(conn), - authzQueryClient: authztypes.NewQueryClient(conn), - bankQueryClient: banktypes.NewQueryClient(conn), - chainStreamClient: chainstreamtypes.NewStreamClient(chainStreamConn), - distributionQueryClient: distributiontypes.NewQueryClient(conn), - exchangeQueryClient: exchangetypes.NewQueryClient(conn), - ibcChannelQueryClient: ibcchanneltypes.NewQueryClient(conn), - ibcClientQueryClient: ibcclienttypes.NewQueryClient(conn), - ibcTransferQueryClient: ibctransfertypes.NewQueryClient(conn), - tendermintQueryClient: tmservice.NewServiceClient(conn), - tokenfactoryQueryClient: tokenfactorytypes.NewQueryClient(conn), - txClient: txtypes.NewServiceClient(conn), - wasmQueryClient: wasmtypes.NewQueryClient(conn), - subaccountToNonce: make(map[ethcommon.Hash]uint32), + authQueryClient: authtypes.NewQueryClient(conn), + authzQueryClient: authztypes.NewQueryClient(conn), + bankQueryClient: banktypes.NewQueryClient(conn), + chainStreamClient: chainstreamtypes.NewStreamClient(chainStreamConn), + distributionQueryClient: distributiontypes.NewQueryClient(conn), + exchangeQueryClient: exchangetypes.NewQueryClient(conn), + ibcChannelQueryClient: ibcchanneltypes.NewQueryClient(conn), + ibcClientQueryClient: ibcclienttypes.NewQueryClient(conn), + ibcConnectionQueryClient: ibcconnectiontypes.NewQueryClient(conn), + ibcTransferQueryClient: ibctransfertypes.NewQueryClient(conn), + tendermintQueryClient: tmservice.NewServiceClient(conn), + tokenfactoryQueryClient: tokenfactorytypes.NewQueryClient(conn), + txClient: txtypes.NewServiceClient(conn), + wasmQueryClient: wasmtypes.NewQueryClient(conn), + subaccountToNonce: make(map[ethcommon.Hash]uint32), } if cc.canSign { @@ -2565,3 +2576,58 @@ func (c *chainClient) FetchIBCUpgradedConsensusState(ctx context.Context) (*ibcc return res, err } + +// IBC Core Connection module +func (c *chainClient) FetchIBCConnection(ctx context.Context, connectionId string) (*ibcconnectiontypes.QueryConnectionResponse, error) { + req := &ibcconnectiontypes.QueryConnectionRequest{ + ConnectionId: connectionId, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcConnectionQueryClient.Connection, req) + + return res, err +} + +func (c *chainClient) FetchIBCConnections(ctx context.Context, pagination *query.PageRequest) (*ibcconnectiontypes.QueryConnectionsResponse, error) { + req := &ibcconnectiontypes.QueryConnectionsRequest{ + Pagination: pagination, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcConnectionQueryClient.Connections, req) + + return res, err +} + +func (c *chainClient) FetchIBCClientConnections(ctx context.Context, clientId string) (*ibcconnectiontypes.QueryClientConnectionsResponse, error) { + req := &ibcconnectiontypes.QueryClientConnectionsRequest{ + ClientId: clientId, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcConnectionQueryClient.ClientConnections, req) + + return res, err +} + +func (c *chainClient) FetchIBCConnectionClientState(ctx context.Context, connectionId string) (*ibcconnectiontypes.QueryConnectionClientStateResponse, error) { + req := &ibcconnectiontypes.QueryConnectionClientStateRequest{ + ConnectionId: connectionId, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcConnectionQueryClient.ConnectionClientState, req) + + return res, err +} + +func (c *chainClient) FetchIBCConnectionConsensusState(ctx context.Context, connectionId string, revisionNumber uint64, revisionHeight uint64) (*ibcconnectiontypes.QueryConnectionConsensusStateResponse, error) { + req := &ibcconnectiontypes.QueryConnectionConsensusStateRequest{ + ConnectionId: connectionId, + RevisionNumber: revisionNumber, + RevisionHeight: revisionHeight, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcConnectionQueryClient.ConnectionConsensusState, req) + + return res, err +} + +func (c *chainClient) FetchIBCConnectionParams(ctx context.Context) (*ibcconnectiontypes.QueryConnectionParamsResponse, error) { + req := &ibcconnectiontypes.QueryConnectionParamsRequest{} + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.ibcConnectionQueryClient.ConnectionParams, req) + + return res, err +} diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index b8b01b14..4139697c 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -5,22 +5,13 @@ import ( "errors" "time" - ibcclienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" - - ibcchanneltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - - ibctransfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" - "github.com/cosmos/cosmos-sdk/client/grpc/tmservice" - - distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" - - tokenfactorytypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types" + "google.golang.org/grpc" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" - exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" chainstreamtypes "github.com/InjectiveLabs/sdk-go/chain/stream/types" + tokenfactorytypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" "github.com/cosmos/cosmos-sdk/client" @@ -30,8 +21,12 @@ 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" + distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + ibctransfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + ibcclienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" + ibcconnectiontypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" + ibcchanneltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" eth "github.com/ethereum/go-ethereum/common" - "google.golang.org/grpc" ) type MockChainClient struct { @@ -695,3 +690,28 @@ func (c *MockChainClient) FetchIBCUpgradedClientState(ctx context.Context) (*ibc func (c *MockChainClient) FetchIBCUpgradedConsensusState(ctx context.Context) (*ibcclienttypes.QueryUpgradedConsensusStateResponse, error) { return &ibcclienttypes.QueryUpgradedConsensusStateResponse{}, nil } + +// IBC Core Connection module +func (c *MockChainClient) FetchIBCConnection(ctx context.Context, connectionId string) (*ibcconnectiontypes.QueryConnectionResponse, error) { + return &ibcconnectiontypes.QueryConnectionResponse{}, nil +} + +func (c *MockChainClient) FetchIBCConnections(ctx context.Context, pagination *query.PageRequest) (*ibcconnectiontypes.QueryConnectionsResponse, error) { + return &ibcconnectiontypes.QueryConnectionsResponse{}, nil +} + +func (c *MockChainClient) FetchIBCClientConnections(ctx context.Context, clientId string) (*ibcconnectiontypes.QueryClientConnectionsResponse, error) { + return &ibcconnectiontypes.QueryClientConnectionsResponse{}, nil +} + +func (c *MockChainClient) FetchIBCConnectionClientState(ctx context.Context, connectionId string) (*ibcconnectiontypes.QueryConnectionClientStateResponse, error) { + return &ibcconnectiontypes.QueryConnectionClientStateResponse{}, nil +} + +func (c *MockChainClient) FetchIBCConnectionConsensusState(ctx context.Context, connectionId string, revisionNumber uint64, revisionHeight uint64) (*ibcconnectiontypes.QueryConnectionConsensusStateResponse, error) { + return &ibcconnectiontypes.QueryConnectionConsensusStateResponse{}, nil +} + +func (c *MockChainClient) FetchIBCConnectionParams(ctx context.Context) (*ibcconnectiontypes.QueryConnectionParamsResponse, error) { + return &ibcconnectiontypes.QueryConnectionParamsResponse{}, nil +} diff --git a/examples/chain/ibc/connection/query/1_Connection/example.go b/examples/chain/ibc/connection/query/1_Connection/example.go new file mode 100644 index 00000000..f0e88c63 --- /dev/null +++ b/examples/chain/ibc/connection/query/1_Connection/example.go @@ -0,0 +1,71 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + connectionId := "connection-0" + ctx := context.Background() + + res, err := chainClient.FetchIBCConnection(ctx, connectionId) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/connection/query/2_Connections/example.go b/examples/chain/ibc/connection/query/2_Connections/example.go new file mode 100644 index 00000000..42c23719 --- /dev/null +++ b/examples/chain/ibc/connection/query/2_Connections/example.go @@ -0,0 +1,73 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/cosmos/cosmos-sdk/types/query" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + pagination := query.PageRequest{Offset: 2, Limit: 4} + ctx := context.Background() + + res, err := chainClient.FetchIBCConnections(ctx, &pagination) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/connection/query/3_ClientConnections/example.go b/examples/chain/ibc/connection/query/3_ClientConnections/example.go new file mode 100644 index 00000000..a1fd5599 --- /dev/null +++ b/examples/chain/ibc/connection/query/3_ClientConnections/example.go @@ -0,0 +1,71 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + clientId := "07-tendermint-0" + ctx := context.Background() + + res, err := chainClient.FetchIBCClientConnections(ctx, clientId) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/ibc/connection/query/4_ConnectionClientState/example.go b/examples/chain/ibc/connection/query/4_ConnectionClientState/example.go new file mode 100644 index 00000000..30488c64 --- /dev/null +++ b/examples/chain/ibc/connection/query/4_ConnectionClientState/example.go @@ -0,0 +1,69 @@ +package main + +import ( + "context" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + connectionId := "connection-0" + ctx := context.Background() + + res, err := chainClient.FetchIBCConnectionClientState(ctx, connectionId) + if err != nil { + fmt.Println(err) + } + + fmt.Print(res) + +} diff --git a/examples/chain/ibc/connection/query/5_ConnectionConsensusState/example.go b/examples/chain/ibc/connection/query/5_ConnectionConsensusState/example.go new file mode 100644 index 00000000..c2cf7d8a --- /dev/null +++ b/examples/chain/ibc/connection/query/5_ConnectionConsensusState/example.go @@ -0,0 +1,72 @@ +package main + +import ( + "context" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + connectionId := "connection-0" + revisionNumber := uint64(0) + revisionHeight := uint64(7379538) + + ctx := context.Background() + + res, err := chainClient.FetchIBCConnectionConsensusState(ctx, connectionId, revisionNumber, revisionHeight) + if err != nil { + fmt.Println(err) + } + + fmt.Print(res) + +} diff --git a/examples/chain/ibc/connection/query/6_ConnectionParams/example.go b/examples/chain/ibc/connection/query/6_ConnectionParams/example.go new file mode 100644 index 00000000..dd0cf9ea --- /dev/null +++ b/examples/chain/ibc/connection/query/6_ConnectionParams/example.go @@ -0,0 +1,70 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/InjectiveLabs/sdk-go/client" + + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + + "os" +) + +func main() { + network := common.LoadNetwork("testnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + ctx := context.Background() + + res, err := chainClient.FetchIBCConnectionParams(ctx) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} From 65148234579fd464cade651c36f21e53aa240f32 Mon Sep 17 00:00:00 2001 From: abel Date: Fri, 26 Apr 2024 13:27:58 -0300 Subject: [PATCH 09/48] (feat) Added a new config option to disable the auto fix of sequence mismatch. Added configuration for local network. --- client/chain/chain.go | 55 +++++++--------------------------------- client/common/network.go | 16 ++++++++++++ client/common/options.go | 11 +++++--- 3 files changed, 32 insertions(+), 50 deletions(-) diff --git a/client/chain/chain.go b/client/chain/chain.go index 3e33f06a..1a35c5a0 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -675,7 +675,7 @@ func (c *chainClient) SyncBroadcastMsg(msgs ...sdk.Msg) (*txtypes.BroadcastTxRes res, err := c.broadcastTx(c.ctx, c.txFactory, true, msgs...) if err != nil { - if strings.Contains(err.Error(), "account sequence mismatch") { + if c.opts.ShouldFixSequenceMismatch && strings.Contains(err.Error(), "account sequence mismatch") { c.syncNonce() sequence := c.getAccSeq() c.txFactory = c.txFactory.WithSequence(sequence) @@ -741,7 +741,7 @@ func (c *chainClient) AsyncBroadcastMsg(msgs ...sdk.Msg) (*txtypes.BroadcastTxRe c.txFactory = c.txFactory.WithAccountNumber(c.accNum) res, err := c.broadcastTx(c.ctx, c.txFactory, false, msgs...) if err != nil { - if strings.Contains(err.Error(), "account sequence mismatch") { + if c.opts.ShouldFixSequenceMismatch && strings.Contains(err.Error(), "account sequence mismatch") { c.syncNonce() sequence := c.getAccSeq() c.txFactory = c.txFactory.WithSequence(sequence) @@ -761,7 +761,10 @@ func (c *chainClient) AsyncBroadcastMsg(msgs ...sdk.Msg) (*txtypes.BroadcastTxRe func (c *chainClient) BuildSignedTx(clientCtx client.Context, accNum, accSeq, initialGas uint64, msgs ...sdk.Msg) ([]byte, error) { txf := NewTxFactory(clientCtx).WithSequence(accSeq).WithAccountNumber(accNum).WithGas(initialGas) + return c.buildSignedTx(clientCtx, txf, msgs...) +} +func (c *chainClient) buildSignedTx(clientCtx client.Context, txf tx.Factory, msgs ...sdk.Msg) ([]byte, error) { if clientCtx.Simulate { simTxBytes, err := txf.BuildSimTx(msgs...) if err != nil { @@ -873,49 +876,9 @@ func (c *chainClient) broadcastTx( await bool, msgs ...sdk.Msg, ) (*txtypes.BroadcastTxResponse, error) { - txf, err := c.prepareFactory(clientCtx, txf) - if err != nil { - err = errors.Wrap(err, "failed to prepareFactory") - return nil, err - } - ctx := context.Background() - if clientCtx.Simulate { - simTxBytes, err := txf.BuildSimTx(msgs...) - if err != nil { - err = errors.Wrap(err, "failed to build sim tx bytes") - return nil, err - } - - req := &txtypes.SimulateRequest{TxBytes: simTxBytes} - simRes, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.txClient.Simulate, req) - if err != nil { - err = errors.Wrap(err, "failed to CalculateGas") - return nil, err - } - - adjustedGas := uint64(txf.GasAdjustment() * float64(simRes.GasInfo.GasUsed)) - txf = txf.WithGas(adjustedGas) - - c.gasWanted = adjustedGas - } - - txn, err := txf.BuildUnsignedTx(msgs...) - + txBytes, err := c.buildSignedTx(clientCtx, txf, msgs...) if err != nil { - err = errors.Wrap(err, "failed to BuildUnsignedTx") - return nil, err - } - - txn.SetFeeGranter(clientCtx.GetFeeGranterAddress()) - err = tx.Sign(txf, clientCtx.GetFromName(), txn, true) - if err != nil { - err = errors.Wrap(err, "failed to Sign Tx") - return nil, err - } - - txBytes, err := clientCtx.TxConfig.TxEncoder()(txn.GetTx()) - if err != nil { - err = errors.Wrap(err, "failed TxEncoder to encode Tx") + err = errors.Wrap(err, "failed to build signed Tx") return nil, err } @@ -924,7 +887,7 @@ func (c *chainClient) broadcastTx( Mode: txtypes.BroadcastMode_BROADCAST_MODE_SYNC, } - res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.txClient.BroadcastTx, &req) + res, err := common.ExecuteCall(context.Background(), c.network.ChainCookieAssistant, c.txClient.BroadcastTx, &req) if !await || err != nil { return res, err } @@ -998,7 +961,7 @@ func (c *chainClient) runBatchBroadcast() { log.Debugln("broadcastTx with nonce", sequence) res, err := c.broadcastTx(c.ctx, c.txFactory, true, toSubmit...) if err != nil { - if strings.Contains(err.Error(), "account sequence mismatch") { + if c.opts.ShouldFixSequenceMismatch && strings.Contains(err.Error(), "account sequence mismatch") { c.syncNonce() sequence := c.getAccSeq() c.txFactory = c.txFactory.WithSequence(sequence) diff --git a/client/common/network.go b/client/common/network.go index 0fbbd499..d2a5184a 100644 --- a/client/common/network.go +++ b/client/common/network.go @@ -204,6 +204,22 @@ type Network struct { func LoadNetwork(name string, node string) Network { switch name { + case "local": + return Network{ + LcdEndpoint: "http://localhost:10337", + TmEndpoint: "http://localhost:26657", + ChainGrpcEndpoint: "tcp://localhost:9900", + ChainStreamGrpcEndpoint: "tcp://localhost:9999", + ExchangeGrpcEndpoint: "tcp://localhost:9910", + ExplorerGrpcEndpoint: "tcp://localhost:9911", + ChainId: "injective-1", + FeeDenom: "inj", + Name: "local", + ChainCookieAssistant: &DisabledCookieAssistant{}, + ExchangeCookieAssistant: &DisabledCookieAssistant{}, + ExplorerCookieAssistant: &DisabledCookieAssistant{}, + } + case "devnet-1": return Network{ LcdEndpoint: "https://devnet-1.lcd.injective.dev", diff --git a/client/common/options.go b/client/common/options.go index 59706cd1..a4050947 100644 --- a/client/common/options.go +++ b/client/common/options.go @@ -19,15 +19,18 @@ func init() { } type ClientOptions struct { - GasPrices string - TLSCert credentials.TransportCredentials - TxFactory *tx.Factory + GasPrices string + TLSCert credentials.TransportCredentials + TxFactory *tx.Factory + ShouldFixSequenceMismatch bool } type ClientOption func(opts *ClientOptions) error func DefaultClientOptions() *ClientOptions { - return &ClientOptions{} + return &ClientOptions{ + ShouldFixSequenceMismatch: true, + } } func OptionGasPrices(gasPrices string) ClientOption { From ae043e1a5701ce69f640343e9c1a59abadaa2a39 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Thu, 30 May 2024 17:18:11 -0300 Subject: [PATCH 10/48] (feat) Updated proto definitions from injective-core v1.13. Updated all go.mod dependencies to sync with injective-core dependencies --- Makefile | 14 +- chain/auction/types/auction.pb.go | 336 +- chain/auction/types/codec.go | 11 +- chain/auction/types/expected_keepers.go | 12 +- chain/auction/types/genesis.pb.go | 105 +- chain/auction/types/key.go | 9 +- chain/auction/types/params.go | 12 +- chain/auction/types/query.pb.go | 421 +- chain/auction/types/tx.pb.go | 65 +- chain/crypto/ethsecp256k1/keys.pb.go | 24 +- chain/exchange/types/authz.pb.go | 62 +- chain/exchange/types/authz_common.go | 4 +- chain/exchange/types/authz_derivative.go | 12 +- chain/exchange/types/authz_spot.go | 12 +- chain/exchange/types/codec.go | 26 +- chain/exchange/types/common_order.go | 16 +- chain/exchange/types/common_utils.go | 38 +- chain/exchange/types/deposit.go | 20 +- chain/exchange/types/derivative_orders.go | 136 +- chain/exchange/types/errors.go | 7 +- chain/exchange/types/events.go | 21 +- chain/exchange/types/events.pb.go | 1614 ++- chain/exchange/types/exchange.go | 81 +- chain/exchange/types/exchange.pb.go | 2127 +++- chain/exchange/types/expected_keepers.go | 18 +- chain/exchange/types/fee_discounts.go | 23 +- chain/exchange/types/fee_validation.go | 10 +- chain/exchange/types/genesis.pb.go | 960 +- chain/exchange/types/key.go | 48 +- chain/exchange/types/market.go | 69 +- chain/exchange/types/market_admin.go | 75 + chain/exchange/types/msgs.go | 446 +- chain/exchange/types/orderbook.go | 12 +- chain/exchange/types/params.go | 147 +- chain/exchange/types/positions.go | 116 +- chain/exchange/types/proposal.go | 167 +- chain/exchange/types/proposal.pb.go | 1485 ++- chain/exchange/types/query.pb.go | 2422 ++++- chain/exchange/types/spot_orders.go | 40 +- chain/exchange/types/stake_grants.go | 21 + chain/exchange/types/subaccount.go | 7 +- chain/exchange/types/trading_rewards.go | 6 +- chain/exchange/types/tx.pb.go | 9417 +++++++++++------ chain/exchange/types/volume_record.go | 20 +- chain/exchange/types/wasm_trade_summary.go | 21 +- chain/exchange/types/wasm_trades.go | 22 +- chain/insurance/types/codec.go | 12 +- chain/insurance/types/expected_keepers.go | 18 +- chain/insurance/types/insurance.pb.go | 103 +- chain/insurance/types/msgs.go | 4 +- chain/insurance/types/params.go | 4 +- chain/insurance/types/tx.pb.go | 98 +- chain/ocr/types/codec.go | 19 +- chain/ocr/types/expected_keepers.go | 18 +- chain/ocr/types/hooks.go | 5 +- chain/ocr/types/ocr.pb.go | 266 +- chain/ocr/types/tx.pb.go | 156 +- chain/ocr/types/types.go | 4 +- chain/oracle/bandchain/oracle/types/error.go | 4 +- chain/oracle/types/codec.go | 8 +- chain/oracle/types/events.pb.go | 134 +- chain/oracle/types/expected_keepers.go | 18 +- chain/oracle/types/oracle.go | 20 +- chain/oracle/types/oracle.pb.go | 262 +- chain/oracle/types/params.go | 3 +- chain/oracle/types/proposal.pb.go | 82 +- chain/oracle/types/pyth.go | 16 +- chain/oracle/types/query.pb.go | 502 +- chain/oracle/types/tx.pb.go | 131 +- chain/peggy/types/attestation.pb.go | 70 +- chain/peggy/types/codec.go | 22 +- chain/peggy/types/ethereum.go | 2 +- chain/peggy/types/events.pb.go | 206 +- chain/peggy/types/expected_keepers.go | 56 +- chain/peggy/types/msgs.go | 60 + chain/peggy/types/msgs.pb.go | 1029 +- chain/peggy/types/params.go | 22 +- chain/peggy/types/params.pb.go | 203 +- chain/peggy/types/pool.pb.go | 42 +- chain/peggy/types/types.go | 2 +- chain/peggy/types/types.pb.go | 74 +- chain/permissions/types/codec.go | 49 + chain/permissions/types/errors.go | 23 + chain/permissions/types/events.pb.go | 45 + chain/permissions/types/expected_keepers.go | 26 + chain/permissions/types/genesis.go | 38 + chain/permissions/types/genesis.pb.go | 390 + chain/permissions/types/params.go | 33 + chain/permissions/types/params.pb.go | 337 + chain/permissions/types/permissions.pb.go | 1748 +++ chain/permissions/types/query.pb.go | 2615 +++++ chain/permissions/types/tx.go | 130 + chain/permissions/types/tx.pb.go | 3968 +++++++ chain/permissions/types/types.go | 75 + chain/stream/types/query.pb.go | 272 +- chain/stream/types/request.go | 13 + chain/tokenfactory/types/codec.go | 16 +- chain/tokenfactory/types/denoms.go | 3 +- chain/tokenfactory/types/expected_keepers.go | 26 +- chain/tokenfactory/types/gov.go | 54 + chain/tokenfactory/types/gov.pb.go | 465 + chain/tokenfactory/types/msgs.go | 3 +- chain/tokenfactory/types/params.pb.go | 46 +- chain/tokenfactory/types/tx.pb.go | 107 +- chain/types/account.go | 6 +- chain/types/account.pb.go | 19 +- chain/types/codec.go | 5 +- chain/types/coin.go | 12 +- chain/types/gas.go | 2 +- chain/wasmx/types/codec.go | 21 +- chain/wasmx/types/expected_keepers.go | 18 +- chain/wasmx/types/proposal.pb.go | 94 +- chain/wasmx/types/tx.pb.go | 100 +- chain/wasmx/types/wasmx.pb.go | 130 +- client/chain/chain.go | 71 +- client/chain/chain_test_support.go | 43 +- client/chain/context.go | 18 +- client/core/market.go | 46 +- client/core/market_test.go | 34 +- .../ibc/transfer/1_MsgTransfer/example.go | 4 +- .../transfer/query/1_DenomTrace/example.go | 2 +- ...design_goagen_injective_accounts_rpc.pb.go | 5333 ++++++++++ ...design_goagen_injective_accounts_rpc.proto | 623 ++ ..._goagen_injective_accounts_rpc_grpc.pb.go} | 71 +- .../pb/injective_accounts_rpc.pb.go | 2606 ----- .../pb/injective_accounts_rpc.pb.gw.go | 260 +- .../pb/injective_accounts_rpc.proto | 274 - ...design_goagen_injective_accounts_rpc.pb.go | 5333 ++++++++++ ...design_goagen_injective_accounts_rpc.proto | 623 ++ ...n_goagen_injective_accounts_rpc_grpc.pb.go | 508 + .../pb/pb/injective_accounts_rpc.pb.gw.go | 882 ++ ...design_goagen_injective_auction_rpc.pb.go} | 271 +- ...design_goagen_injective_auction_rpc.proto} | 2 +- ...n_goagen_injective_auction_rpc_grpc.pb.go} | 6 +- .../pb/injective_auction_rpc.pb.gw.go | 60 +- ...esign_goagen_injective_campaign_rpc.pb.go} | 832 +- ...esign_goagen_injective_campaign_rpc.proto} | 24 +- ..._goagen_injective_campaign_rpc_grpc.pb.go} | 6 +- .../pb/injective_campaign_rpc.pb.gw.go | 120 +- ...n_injective_derivative_exchange_rpc.pb.go} | 2889 ++--- ...n_injective_derivative_exchange_rpc.proto} | 4 +- ...ective_derivative_exchange_rpc_grpc.pb.go} | 6 +- ...injective_derivative_exchange_rpc.pb.gw.go | 504 +- ...esign_goagen_injective_exchange_rpc.pb.go} | 567 +- ...esign_goagen_injective_exchange_rpc.proto} | 4 +- ..._goagen_injective_exchange_rpc_grpc.pb.go} | 6 +- .../pb/injective_exchange_rpc.pb.gw.go | 144 +- ...esign_goagen_injective_explorer_rpc.pb.go} | 3146 +++--- ...esign_goagen_injective_explorer_rpc.proto} | 27 +- ..._goagen_injective_explorer_rpc_grpc.pb.go} | 44 +- .../pb/injective_explorer_rpc.pb.gw.go | 561 +- .../pb/goadesign_goagen_health.pb.go | 341 + .../pb/goadesign_goagen_health.proto | 41 + .../pb/goadesign_goagen_health_grpc.pb.go | 107 + exchange/health_rpc/pb/health.pb.gw.go | 171 + ...esign_goagen_injective_insurance_rpc.pb.go | 993 ++ ...sign_goagen_injective_insurance_rpc.proto} | 14 +- ...goagen_injective_insurance_rpc_grpc.pb.go} | 44 +- .../pb/injective_insurance_rpc.pb.go | 854 -- .../pb/injective_insurance_rpc.pb.gw.go | 129 +- ...goadesign_goagen_injective_meta_rpc.pb.go} | 331 +- ...goadesign_goagen_injective_meta_rpc.proto} | 2 +- ...sign_goagen_injective_meta_rpc_grpc.pb.go} | 6 +- .../meta_rpc/pb/injective_meta_rpc.pb.gw.go | 108 +- ...adesign_goagen_injective_oracle_rpc.pb.go} | 291 +- ...adesign_goagen_injective_oracle_rpc.proto} | 2 +- ...gn_goagen_injective_oracle_rpc_grpc.pb.go} | 6 +- .../pb/injective_oracle_rpc.pb.gw.go | 72 +- ...esign_goagen_injective_portfolio_rpc.pb.go | 1534 +++ ...sign_goagen_injective_portfolio_rpc.proto} | 25 +- ...goagen_injective_portfolio_rpc_grpc.pb.go} | 44 +- .../pb/injective_portfolio_rpc.pb.go | 1289 --- .../pb/injective_portfolio_rpc.pb.gw.go | 145 +- ..._goagen_injective_spot_exchange_rpc.pb.go} | 1959 ++-- ..._goagen_injective_spot_exchange_rpc.proto} | 2 +- ...en_injective_spot_exchange_rpc_grpc.pb.go} | 6 +- .../pb/injective_spot_exchange_rpc.pb.gw.go | 348 +- ...adesign_goagen_injective_trading_rpc.pb.go | 974 ++ ...design_goagen_injective_trading_rpc.proto} | 28 +- ...n_goagen_injective_trading_rpc_grpc.pb.go} | 6 +- .../pb/injective_trading_rpc.pb.go | 789 -- .../pb/injective_trading_rpc.pb.gw.go | 24 +- .../pb/injective_trading_rpc_grpc.pb_mock.go | 2 +- go.mod | 199 +- go.sum | 1052 +- 185 files changed, 53976 insertions(+), 19217 deletions(-) create mode 100644 chain/exchange/types/market_admin.go create mode 100644 chain/exchange/types/stake_grants.go create mode 100644 chain/permissions/types/codec.go create mode 100644 chain/permissions/types/errors.go create mode 100644 chain/permissions/types/events.pb.go create mode 100644 chain/permissions/types/expected_keepers.go create mode 100644 chain/permissions/types/genesis.go create mode 100644 chain/permissions/types/genesis.pb.go create mode 100644 chain/permissions/types/params.go create mode 100644 chain/permissions/types/params.pb.go create mode 100644 chain/permissions/types/permissions.pb.go create mode 100644 chain/permissions/types/query.pb.go create mode 100644 chain/permissions/types/tx.go create mode 100644 chain/permissions/types/tx.pb.go create mode 100644 chain/permissions/types/types.go create mode 100644 chain/tokenfactory/types/gov.go create mode 100644 chain/tokenfactory/types/gov.pb.go create mode 100644 exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.pb.go create mode 100644 exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.proto rename exchange/accounts_rpc/pb/{injective_accounts_rpc_grpc.pb.go => goadesign_goagen_injective_accounts_rpc_grpc.pb.go} (88%) delete mode 100644 exchange/accounts_rpc/pb/injective_accounts_rpc.pb.go delete mode 100644 exchange/accounts_rpc/pb/injective_accounts_rpc.proto create mode 100644 exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.pb.go create mode 100644 exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.proto create mode 100644 exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go create mode 100644 exchange/accounts_rpc/pb/pb/injective_accounts_rpc.pb.gw.go rename exchange/auction_rpc/pb/{injective_auction_rpc.pb.go => goadesign_goagen_injective_auction_rpc.pb.go} (60%) rename exchange/auction_rpc/pb/{injective_auction_rpc.proto => goadesign_goagen_injective_auction_rpc.proto} (97%) rename exchange/auction_rpc/pb/{injective_auction_rpc_grpc.pb.go => goadesign_goagen_injective_auction_rpc_grpc.pb.go} (97%) rename exchange/campaign_rpc/pb/{injective_campaign_rpc.pb.go => goadesign_goagen_injective_campaign_rpc.pb.go} (58%) rename exchange/campaign_rpc/pb/{injective_campaign_rpc.proto => goadesign_goagen_injective_campaign_rpc.proto} (89%) rename exchange/campaign_rpc/pb/{injective_campaign_rpc_grpc.pb.go => goadesign_goagen_injective_campaign_rpc_grpc.pb.go} (98%) rename exchange/derivative_exchange_rpc/pb/{injective_derivative_exchange_rpc.pb.go => goadesign_goagen_injective_derivative_exchange_rpc.pb.go} (68%) rename exchange/derivative_exchange_rpc/pb/{injective_derivative_exchange_rpc.proto => goadesign_goagen_injective_derivative_exchange_rpc.proto} (99%) rename exchange/derivative_exchange_rpc/pb/{injective_derivative_exchange_rpc_grpc.pb.go => goadesign_goagen_injective_derivative_exchange_rpc_grpc.pb.go} (99%) rename exchange/exchange_rpc/pb/{injective_exchange_rpc.pb.go => goadesign_goagen_injective_exchange_rpc.pb.go} (62%) rename exchange/exchange_rpc/pb/{injective_exchange_rpc.proto => goadesign_goagen_injective_exchange_rpc.proto} (98%) rename exchange/exchange_rpc/pb/{injective_exchange_rpc_grpc.pb.go => goadesign_goagen_injective_exchange_rpc_grpc.pb.go} (98%) rename exchange/explorer_rpc/pb/{injective_explorer_rpc.pb.go => goadesign_goagen_injective_explorer_rpc.pb.go} (60%) rename exchange/explorer_rpc/pb/{injective_explorer_rpc.proto => goadesign_goagen_injective_explorer_rpc.proto} (97%) rename exchange/explorer_rpc/pb/{injective_explorer_rpc_grpc.pb.go => goadesign_goagen_injective_explorer_rpc_grpc.pb.go} (95%) create mode 100644 exchange/health_rpc/pb/goadesign_goagen_health.pb.go create mode 100644 exchange/health_rpc/pb/goadesign_goagen_health.proto create mode 100644 exchange/health_rpc/pb/goadesign_goagen_health_grpc.pb.go create mode 100644 exchange/health_rpc/pb/health.pb.gw.go create mode 100644 exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.pb.go rename exchange/insurance_rpc/pb/{injective_insurance_rpc.proto => goadesign_goagen_injective_insurance_rpc.proto} (88%) rename exchange/insurance_rpc/pb/{injective_insurance_rpc_grpc.pb.go => goadesign_goagen_injective_insurance_rpc_grpc.pb.go} (76%) delete mode 100644 exchange/insurance_rpc/pb/injective_insurance_rpc.pb.go rename exchange/meta_rpc/pb/{injective_meta_rpc.pb.go => goadesign_goagen_injective_meta_rpc.pb.go} (60%) rename exchange/meta_rpc/pb/{injective_meta_rpc.proto => goadesign_goagen_injective_meta_rpc.proto} (98%) rename exchange/meta_rpc/pb/{injective_meta_rpc_grpc.pb.go => goadesign_goagen_injective_meta_rpc_grpc.pb.go} (98%) rename exchange/oracle_rpc/pb/{injective_oracle_rpc.pb.go => goadesign_goagen_injective_oracle_rpc.pb.go} (59%) rename exchange/oracle_rpc/pb/{injective_oracle_rpc.proto => goadesign_goagen_injective_oracle_rpc.proto} (97%) rename exchange/oracle_rpc/pb/{injective_oracle_rpc_grpc.pb.go => goadesign_goagen_injective_oracle_rpc_grpc.pb.go} (98%) create mode 100644 exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.pb.go rename exchange/portfolio_rpc/pb/{injective_portfolio_rpc.proto => goadesign_goagen_injective_portfolio_rpc.proto} (85%) rename exchange/portfolio_rpc/pb/{injective_portfolio_rpc_grpc.pb.go => goadesign_goagen_injective_portfolio_rpc_grpc.pb.go} (82%) delete mode 100644 exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.go rename exchange/spot_exchange_rpc/pb/{injective_spot_exchange_rpc.pb.go => goadesign_goagen_injective_spot_exchange_rpc.pb.go} (66%) rename exchange/spot_exchange_rpc/pb/{injective_spot_exchange_rpc.proto => goadesign_goagen_injective_spot_exchange_rpc.proto} (99%) rename exchange/spot_exchange_rpc/pb/{injective_spot_exchange_rpc_grpc.pb.go => goadesign_goagen_injective_spot_exchange_rpc_grpc.pb.go} (99%) create mode 100644 exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.pb.go rename exchange/trading_rpc/pb/{injective_trading_rpc.proto => goadesign_goagen_injective_trading_rpc.proto} (81%) rename exchange/trading_rpc/pb/{injective_trading_rpc_grpc.pb.go => goadesign_goagen_injective_trading_rpc_grpc.pb.go} (95%) delete mode 100644 exchange/trading_rpc/pb/injective_trading_rpc.pb.go diff --git a/Makefile b/Makefile index 051ce836..418f085d 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,7 @@ all: copy-exchange-client: rm -rf exchange/* + mkdir -p exchange/health_rpc mkdir -p exchange/accounts_rpc mkdir -p exchange/auction_rpc mkdir -p exchange/campaign_rpc @@ -15,6 +16,8 @@ copy-exchange-client: mkdir -p exchange/spot_exchange_rpc mkdir -p exchange/trading_rpc + cp -r ../injective-indexer/api/gen/grpc/health/pb exchange/health_rpc/pb + cp -r ../injective-indexer/api/gen/grpc/injective_accounts_rpc/pb exchange/accounts_rpc/pb cp -r ../injective-indexer/api/gen/grpc/injective_accounts_rpc/pb exchange/accounts_rpc/pb cp -r ../injective-indexer/api/gen/grpc/injective_auction_rpc/pb exchange/auction_rpc/pb cp -r ../injective-indexer/api/gen/grpc/injective_campaign_rpc/pb exchange/campaign_rpc/pb @@ -31,8 +34,6 @@ copy-exchange-client: .PHONY: copy-exchange-client tests coverage copy-chain-types: - cp ../injective-core/injective-chain/types/*.go chain/types - rm -rf chain/types/*test.go rm -rf chain/types/*gw.go cp ../injective-core/injective-chain/crypto/ethsecp256k1/*.go chain/crypto/ethsecp256k1 rm -rf chain/crypto/ethsecp256k1/*test.go rm -rf chain/crypto/ethsecp256k1/*gw.go cp ../injective-core/injective-chain/modules/auction/types/*.go chain/auction/types @@ -48,11 +49,16 @@ copy-chain-types: 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 - cp ../injective-core/injective-chain/modules/wasmx/types/*.go chain/wasmx/types - rm -rf chain/wasmx/types/*test.go rm -rf chain/wasmx/types/*gw.go + cp ../injective-core/injective-chain/modules/permissions/types/*.go chain/permissions/types + rm -rf chain/permissions/types/*test.go rm -rf chain/permissions/types/*gw.go cp ../injective-core/injective-chain/modules/tokenfactory/types/*.go chain/tokenfactory/types rm -rf chain/tokenfactory/types/*test.go rm -rf chain/tokenfactory/types/*gw.go + cp ../injective-core/injective-chain/modules/wasmx/types/*.go chain/wasmx/types + rm -rf chain/wasmx/types/*test.go rm -rf chain/wasmx/types/*gw.go cp ../injective-core/injective-chain/stream/types/*.go chain/stream/types + rm -rf chain/stream/types/*test.go rm -rf chain/stream/types/*gw.go + cp ../injective-core/injective-chain/types/*.go chain/types + rm -rf chain/types/*test.go rm -rf chain/types/*gw.go echo "👉 Replace injective-core/injective-chain/modules with sdk-go/chain" echo "👉 Replace injective-core/injective-chain/types with sdk-go/chain/types" diff --git a/chain/auction/types/auction.pb.go b/chain/auction/types/auction.pb.go index d0d2e780..164a7820 100644 --- a/chain/auction/types/auction.pb.go +++ b/chain/auction/types/auction.pb.go @@ -4,9 +4,11 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" 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/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -29,7 +31,7 @@ type Params struct { // auction_period_duration defines the auction period duration AuctionPeriod int64 `protobuf:"varint,1,opt,name=auction_period,json=auctionPeriod,proto3" json:"auction_period,omitempty"` // min_next_bid_increment_rate defines the minimum increment rate for new bids - MinNextBidIncrementRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=min_next_bid_increment_rate,json=minNextBidIncrementRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_next_bid_increment_rate"` + MinNextBidIncrementRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=min_next_bid_increment_rate,json=minNextBidIncrementRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_next_bid_increment_rate"` } func (m *Params) Reset() { *m = Params{} } @@ -117,6 +119,62 @@ func (m *Bid) GetBidder() string { return "" } +type LastAuctionResult struct { + // winner describes the address of the winner + Winner string `protobuf:"bytes,1,opt,name=winner,proto3" json:"winner,omitempty"` + // amount describes the amount the winner get from the auction + Amount github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,2,opt,name=amount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"amount"` + // round defines the round number of auction + Round uint64 `protobuf:"varint,3,opt,name=round,proto3" json:"round,omitempty"` +} + +func (m *LastAuctionResult) Reset() { *m = LastAuctionResult{} } +func (m *LastAuctionResult) String() string { return proto.CompactTextString(m) } +func (*LastAuctionResult) ProtoMessage() {} +func (*LastAuctionResult) Descriptor() ([]byte, []int) { + return fileDescriptor_49edfee5f1ef4b5a, []int{2} +} +func (m *LastAuctionResult) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *LastAuctionResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_LastAuctionResult.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 *LastAuctionResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_LastAuctionResult.Merge(m, src) +} +func (m *LastAuctionResult) XXX_Size() int { + return m.Size() +} +func (m *LastAuctionResult) XXX_DiscardUnknown() { + xxx_messageInfo_LastAuctionResult.DiscardUnknown(m) +} + +var xxx_messageInfo_LastAuctionResult proto.InternalMessageInfo + +func (m *LastAuctionResult) GetWinner() string { + if m != nil { + return m.Winner + } + return "" +} + +func (m *LastAuctionResult) GetRound() uint64 { + if m != nil { + return m.Round + } + return 0 +} + type EventBid struct { // bidder describes the address of bidder Bidder string `protobuf:"bytes,1,opt,name=bidder,proto3" json:"bidder,omitempty"` @@ -130,7 +188,7 @@ func (m *EventBid) Reset() { *m = EventBid{} } func (m *EventBid) String() string { return proto.CompactTextString(m) } func (*EventBid) ProtoMessage() {} func (*EventBid) Descriptor() ([]byte, []int) { - return fileDescriptor_49edfee5f1ef4b5a, []int{2} + return fileDescriptor_49edfee5f1ef4b5a, []int{3} } func (m *EventBid) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -186,7 +244,7 @@ func (m *EventAuctionResult) Reset() { *m = EventAuctionResult{} } func (m *EventAuctionResult) String() string { return proto.CompactTextString(m) } func (*EventAuctionResult) ProtoMessage() {} func (*EventAuctionResult) Descriptor() ([]byte, []int) { - return fileDescriptor_49edfee5f1ef4b5a, []int{3} + return fileDescriptor_49edfee5f1ef4b5a, []int{4} } func (m *EventAuctionResult) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -243,7 +301,7 @@ func (m *EventAuctionStart) Reset() { *m = EventAuctionStart{} } func (m *EventAuctionStart) String() string { return proto.CompactTextString(m) } func (*EventAuctionStart) ProtoMessage() {} func (*EventAuctionStart) Descriptor() ([]byte, []int) { - return fileDescriptor_49edfee5f1ef4b5a, []int{4} + return fileDescriptor_49edfee5f1ef4b5a, []int{5} } func (m *EventAuctionStart) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -296,6 +354,7 @@ func (m *EventAuctionStart) GetNewBasket() github_com_cosmos_cosmos_sdk_types.Co func init() { proto.RegisterType((*Params)(nil), "injective.auction.v1beta1.Params") proto.RegisterType((*Bid)(nil), "injective.auction.v1beta1.Bid") + proto.RegisterType((*LastAuctionResult)(nil), "injective.auction.v1beta1.LastAuctionResult") proto.RegisterType((*EventBid)(nil), "injective.auction.v1beta1.EventBid") proto.RegisterType((*EventAuctionResult)(nil), "injective.auction.v1beta1.EventAuctionResult") proto.RegisterType((*EventAuctionStart)(nil), "injective.auction.v1beta1.EventAuctionStart") @@ -306,40 +365,43 @@ func init() { } var fileDescriptor_49edfee5f1ef4b5a = []byte{ - // 517 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x93, 0x3f, 0x6f, 0xd3, 0x40, - 0x18, 0xc6, 0x73, 0xb8, 0x44, 0xe4, 0x50, 0xf9, 0x73, 0xaa, 0x20, 0x6d, 0x25, 0x3b, 0xb2, 0x04, - 0x0d, 0x43, 0x6d, 0x4a, 0xb7, 0x6e, 0x18, 0x10, 0xaa, 0x04, 0xa8, 0x32, 0x4c, 0x2c, 0xd6, 0xd9, - 0xf7, 0x2a, 0xbd, 0x36, 0x77, 0x17, 0xf9, 0xce, 0x49, 0x3b, 0x22, 0x46, 0x16, 0x3e, 0x02, 0x12, - 0x1b, 0x9f, 0x82, 0xb1, 0x63, 0x47, 0xc4, 0x10, 0x50, 0xb2, 0x20, 0x46, 0x3e, 0x01, 0x8a, 0x7d, - 0x0e, 0x66, 0xeb, 0x00, 0x53, 0xf2, 0x3c, 0xf7, 0xdc, 0x73, 0xbf, 0x93, 0xef, 0xc5, 0x5b, 0x5c, - 0x1e, 0x41, 0x66, 0xf8, 0x18, 0x42, 0x5a, 0x64, 0x86, 0x2b, 0x19, 0x8e, 0x77, 0x52, 0x30, 0x74, - 0xa7, 0xd6, 0xc1, 0x28, 0x57, 0x46, 0x91, 0xf5, 0x65, 0x30, 0xa8, 0x17, 0x6c, 0x70, 0x63, 0x6d, - 0xa0, 0x06, 0xaa, 0x4c, 0x85, 0x8b, 0x7f, 0xd5, 0x86, 0x0d, 0x37, 0x53, 0x5a, 0x28, 0x1d, 0xa6, - 0x54, 0xc3, 0xb2, 0x33, 0x53, 0xdc, 0x16, 0xfa, 0x1f, 0x11, 0x6e, 0x1f, 0xd0, 0x9c, 0x0a, 0x4d, - 0xee, 0xe0, 0x6b, 0xb6, 0x33, 0x19, 0x41, 0xce, 0x15, 0xeb, 0xa2, 0x1e, 0xea, 0x3b, 0xf1, 0xaa, - 0x75, 0x0f, 0x4a, 0x93, 0x0c, 0xf1, 0xa6, 0xe0, 0x32, 0x91, 0x70, 0x62, 0x92, 0x94, 0xb3, 0x84, - 0xcb, 0x2c, 0x07, 0x01, 0xd2, 0x24, 0x39, 0x35, 0xd0, 0xbd, 0xd4, 0x43, 0xfd, 0x4e, 0x14, 0x9c, - 0x4d, 0xbd, 0xd6, 0xd7, 0xa9, 0x77, 0x77, 0xc0, 0xcd, 0x61, 0x91, 0x06, 0x99, 0x12, 0xa1, 0x25, - 0xa9, 0x7e, 0xb6, 0x35, 0x3b, 0x0e, 0xcd, 0xe9, 0x08, 0x74, 0xf0, 0x18, 0xb2, 0xf8, 0xb6, 0xe0, - 0xf2, 0x05, 0x9c, 0x98, 0x88, 0xb3, 0xfd, 0xba, 0x2f, 0xa6, 0x06, 0xf6, 0x56, 0x7e, 0x7c, 0xf0, - 0x90, 0xff, 0x16, 0x61, 0x27, 0xe2, 0x8c, 0xec, 0xe2, 0x76, 0xca, 0x19, 0x83, 0xbc, 0x44, 0xeb, - 0x44, 0x9b, 0x3f, 0xa7, 0x9e, 0x75, 0x7e, 0x4d, 0xbd, 0xd5, 0x53, 0x2a, 0x86, 0x7b, 0x7e, 0xa5, - 0xfd, 0xd8, 0x2e, 0x90, 0xa7, 0xb8, 0x4d, 0x85, 0x2a, 0xa4, 0xb1, 0x6c, 0xa1, 0x65, 0xdb, 0xba, - 0x00, 0xdb, 0x23, 0xc5, 0x65, 0x6c, 0xb7, 0xfb, 0x6f, 0x10, 0xbe, 0xf2, 0x64, 0x0c, 0x72, 0x41, - 0x49, 0x6e, 0xfd, 0x8d, 0xf2, 0xcf, 0x4f, 0x23, 0x6b, 0xf8, 0x72, 0xae, 0x0a, 0xc9, 0xba, 0x4e, - 0x0f, 0xf5, 0x57, 0xe2, 0x4a, 0xf8, 0xef, 0x10, 0x26, 0x25, 0xc3, 0xc3, 0xea, 0xa3, 0xc4, 0xa0, - 0x8b, 0xa1, 0x59, 0xd0, 0x4c, 0xb8, 0x94, 0x7f, 0x68, 0x2a, 0xf5, 0xbf, 0x69, 0x3e, 0x23, 0x7c, - 0xb3, 0x49, 0xf3, 0xd2, 0xd0, 0xbc, 0x91, 0x45, 0x8d, 0x2c, 0xb9, 0x87, 0x6f, 0x80, 0x64, 0x5c, - 0x0e, 0x12, 0xc3, 0x05, 0x68, 0x43, 0xc5, 0xa8, 0x84, 0x72, 0xe2, 0xeb, 0x95, 0xff, 0xaa, 0xb6, - 0xc9, 0x11, 0xc6, 0x12, 0x26, 0x49, 0x4a, 0xf5, 0x31, 0x98, 0xae, 0xd3, 0x73, 0xfa, 0x57, 0x1f, - 0xac, 0x07, 0x15, 0x60, 0xb0, 0x78, 0xc9, 0xf5, 0xa3, 0x2f, 0x19, 0xa3, 0xfb, 0x8b, 0x4b, 0x7d, - 0xfa, 0xe6, 0xf5, 0x2f, 0x78, 0x29, 0x1d, 0x77, 0x24, 0x4c, 0xa2, 0xb2, 0x3d, 0x1a, 0x9c, 0xcd, - 0x5c, 0x74, 0x3e, 0x73, 0xd1, 0xf7, 0x99, 0x8b, 0xde, 0xcf, 0xdd, 0xd6, 0xf9, 0xdc, 0x6d, 0x7d, - 0x99, 0xbb, 0xad, 0xd7, 0xcf, 0x1b, 0x75, 0xfb, 0xf5, 0xd8, 0x3d, 0xa3, 0xa9, 0x0e, 0x97, 0x43, - 0xb8, 0x9d, 0xa9, 0x1c, 0x9a, 0xf2, 0x90, 0x72, 0x19, 0x0a, 0xc5, 0x8a, 0x21, 0xe8, 0xe5, 0x28, - 0x97, 0x27, 0xa7, 0xed, 0x72, 0xe0, 0x76, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xe1, 0x6d, 0xcb, - 0x8b, 0xec, 0x03, 0x00, 0x00, + // 567 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x94, 0xbf, 0x6f, 0xd3, 0x40, + 0x14, 0xc7, 0x73, 0x18, 0x22, 0x7a, 0xa8, 0x40, 0xad, 0x8a, 0xa6, 0xad, 0x64, 0x47, 0x46, 0xa8, + 0x01, 0xa9, 0x3e, 0x4a, 0xb7, 0x6e, 0x18, 0x10, 0xaa, 0x14, 0x50, 0x65, 0x98, 0x58, 0xac, 0xb3, + 0xfd, 0xe4, 0x5c, 0x93, 0xbb, 0x8b, 0x7c, 0xe7, 0xa4, 0x19, 0x11, 0x5b, 0x59, 0xf8, 0x13, 0x98, + 0x61, 0xe1, 0x4f, 0x60, 0xec, 0xd8, 0x11, 0x31, 0x04, 0x94, 0x0c, 0x20, 0x46, 0xfe, 0x02, 0x14, + 0xff, 0x88, 0xbc, 0x20, 0x31, 0x74, 0x60, 0x49, 0xfc, 0xbe, 0xf7, 0xee, 0xfb, 0x3e, 0xef, 0x49, + 0xf7, 0xf0, 0x0e, 0x13, 0xc7, 0x10, 0x69, 0x36, 0x02, 0x42, 0xb3, 0x48, 0x33, 0x29, 0xc8, 0x68, + 0x2f, 0x04, 0x4d, 0xf7, 0xaa, 0xd8, 0x1d, 0xa6, 0x52, 0x4b, 0x73, 0x73, 0x99, 0xe8, 0x56, 0x07, + 0x65, 0xe2, 0xd6, 0x7a, 0x22, 0x13, 0x99, 0x67, 0x91, 0xc5, 0x57, 0x71, 0x61, 0xcb, 0x8a, 0xa4, + 0xe2, 0x52, 0x91, 0x90, 0x2a, 0x58, 0x7a, 0x46, 0x92, 0x95, 0x86, 0x5b, 0x6b, 0x94, 0x33, 0x21, + 0x49, 0xfe, 0x5b, 0x48, 0xce, 0x47, 0x84, 0x9b, 0x47, 0x34, 0xa5, 0x5c, 0x99, 0x77, 0xf0, 0xf5, + 0xb2, 0x4c, 0x30, 0x84, 0x94, 0xc9, 0xb8, 0x85, 0xda, 0xa8, 0x63, 0xf8, 0xab, 0xa5, 0x7a, 0x94, + 0x8b, 0x26, 0xc5, 0xdb, 0x9c, 0x89, 0x40, 0xc0, 0x89, 0x0e, 0x42, 0x16, 0x07, 0x4c, 0x44, 0x29, + 0x70, 0x10, 0x3a, 0x48, 0xa9, 0x86, 0xd6, 0xa5, 0x36, 0xea, 0xac, 0x78, 0xb7, 0xcf, 0xa6, 0x76, + 0xe3, 0xeb, 0xd4, 0xde, 0x2e, 0x88, 0x54, 0xdc, 0x77, 0x99, 0x24, 0x9c, 0xea, 0x9e, 0xdb, 0x85, + 0x84, 0x46, 0x93, 0xc7, 0x10, 0xf9, 0x1b, 0x9c, 0x89, 0xe7, 0x70, 0xa2, 0x3d, 0x16, 0x1f, 0x56, + 0x26, 0x3e, 0xd5, 0x70, 0xb0, 0xf1, 0xf3, 0xbd, 0x8d, 0x4e, 0x7f, 0x7c, 0xba, 0x57, 0x01, 0x91, + 0x02, 0xd1, 0x79, 0x83, 0xb0, 0xe1, 0xb1, 0xd8, 0xdc, 0xc7, 0xcd, 0x90, 0xc5, 0x31, 0xa4, 0x39, + 0xe2, 0x8a, 0xb7, 0xfd, 0x6b, 0x6a, 0x97, 0xca, 0xef, 0xa9, 0xbd, 0x3a, 0xa1, 0x7c, 0x70, 0xe0, + 0x14, 0xb1, 0xe3, 0x97, 0x07, 0xe6, 0x53, 0xdc, 0xa4, 0x5c, 0x66, 0x42, 0x97, 0x8c, 0xa4, 0x64, + 0xdc, 0x49, 0x98, 0xee, 0x65, 0xa1, 0x1b, 0x49, 0x4e, 0xca, 0x01, 0x16, 0x7f, 0xbb, 0x2a, 0xee, + 0x13, 0x3d, 0x19, 0x82, 0x72, 0x1f, 0x49, 0x26, 0xfc, 0xf2, 0xba, 0x73, 0x8a, 0xf0, 0x5a, 0x97, + 0x2a, 0xfd, 0xb0, 0x80, 0xf3, 0x41, 0x65, 0x03, 0x6d, 0xde, 0xc2, 0xcd, 0x31, 0x13, 0xa2, 0x62, + 0xf2, 0xcb, 0xe8, 0xc2, 0xca, 0x9a, 0xeb, 0xf8, 0x4a, 0x2a, 0x33, 0x11, 0xb7, 0x8c, 0x36, 0xea, + 0x5c, 0xf6, 0x8b, 0xc0, 0x79, 0x8d, 0xf0, 0xd5, 0x27, 0x23, 0x10, 0x8b, 0x29, 0x2e, 0x18, 0xea, + 0x73, 0xb9, 0xf0, 0xd6, 0xff, 0xc2, 0xf0, 0x16, 0x61, 0x33, 0x67, 0xf8, 0x2f, 0x26, 0xf2, 0x19, + 0xe1, 0xb5, 0x3a, 0xcd, 0x0b, 0x4d, 0xd3, 0x5a, 0x2e, 0xaa, 0xe5, 0x9a, 0x77, 0xf1, 0x4d, 0x10, + 0x31, 0x13, 0x49, 0xa0, 0x19, 0x07, 0xa5, 0x29, 0x1f, 0xe6, 0x50, 0x86, 0x7f, 0xa3, 0xd0, 0x5f, + 0x56, 0xb2, 0x79, 0x8c, 0xb1, 0x80, 0x71, 0x10, 0x52, 0xd5, 0x07, 0xdd, 0x32, 0xda, 0x46, 0xe7, + 0xda, 0x83, 0x4d, 0xb7, 0x00, 0x74, 0x17, 0x2f, 0xae, 0x7a, 0x9c, 0x39, 0xa3, 0x77, 0x7f, 0xd1, + 0xd4, 0x87, 0x6f, 0x76, 0xe7, 0x1f, 0x9b, 0x52, 0xfe, 0x8a, 0x80, 0xb1, 0x97, 0xbb, 0x7b, 0xc9, + 0xd9, 0xcc, 0x42, 0xe7, 0x33, 0x0b, 0x7d, 0x9f, 0x59, 0xe8, 0xdd, 0xdc, 0x6a, 0x9c, 0xcf, 0xad, + 0xc6, 0x97, 0xb9, 0xd5, 0x78, 0xf5, 0xac, 0x66, 0x77, 0x58, 0xad, 0x87, 0x2e, 0x0d, 0x15, 0x59, + 0x2e, 0x8b, 0xdd, 0x48, 0xa6, 0x50, 0x0f, 0x7b, 0x94, 0x09, 0xc2, 0x65, 0x9c, 0x0d, 0x40, 0x2d, + 0x57, 0x4e, 0x5e, 0x39, 0x6c, 0xe6, 0x5b, 0x60, 0xff, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x65, + 0x8c, 0x47, 0xe7, 0x94, 0x04, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { @@ -447,6 +509,51 @@ func (m *Bid) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *LastAuctionResult) 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 *LastAuctionResult) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *LastAuctionResult) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Round != 0 { + i = encodeVarintAuction(dAtA, i, uint64(m.Round)) + i-- + dAtA[i] = 0x18 + } + { + size := m.Amount.Size() + i -= size + if _, err := m.Amount.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintAuction(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Winner) > 0 { + i -= len(m.Winner) + copy(dAtA[i:], m.Winner) + i = encodeVarintAuction(dAtA, i, uint64(len(m.Winner))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *EventBid) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -624,6 +731,24 @@ func (m *Bid) Size() (n int) { return n } +func (m *LastAuctionResult) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Winner) + if l > 0 { + n += 1 + l + sovAuction(uint64(l)) + } + l = m.Amount.Size() + n += 1 + l + sovAuction(uint64(l)) + if m.Round != 0 { + n += 1 + sovAuction(uint64(m.Round)) + } + return n +} + func (m *EventBid) Size() (n int) { if m == nil { return 0 @@ -906,6 +1031,141 @@ func (m *Bid) Unmarshal(dAtA []byte) error { } return nil } +func (m *LastAuctionResult) 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 ErrIntOverflowAuction + } + 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: LastAuctionResult: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: LastAuctionResult: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Winner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + 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 ErrInvalidLengthAuction + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthAuction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Winner = 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 ErrIntOverflowAuction + } + 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 ErrInvalidLengthAuction + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthAuction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Round", wireType) + } + m.Round = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Round |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipAuction(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthAuction + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *EventBid) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/chain/auction/types/codec.go b/chain/auction/types/codec.go index c5299e0b..c19dfee4 100644 --- a/chain/auction/types/codec.go +++ b/chain/auction/types/codec.go @@ -14,6 +14,7 @@ import ( func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgBid{}, "auction/MsgBid", nil) cdc.RegisterConcrete(&MsgUpdateParams{}, "auction/MsgUpdateParams", nil) + cdc.RegisterConcrete(&Params{}, "auction/Params", nil) } func RegisterInterfaces(registry types.InterfaceRegistry) { @@ -26,21 +27,19 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { } var ( - amino = codec.NewLegacyAmino() - // ModuleCdc references the global x/auction module codec. Note, the codec should // ONLY be used in certain instances of tests and for JSON encoding as Amino is // still used for that purpose. // // The actual codec used for serialization should be provided to x/auction and // defined at the application level. - ModuleCdc = codec.NewAminoCodec(amino) + ModuleCdc = codec.NewLegacyAmino() ) func init() { - RegisterLegacyAminoCodec(amino) - cryptocodec.RegisterCrypto(amino) + RegisterLegacyAminoCodec(ModuleCdc) + cryptocodec.RegisterCrypto(ModuleCdc) RegisterLegacyAminoCodec(authzcdc.Amino) - amino.Seal() + ModuleCdc.Seal() } diff --git a/chain/auction/types/expected_keepers.go b/chain/auction/types/expected_keepers.go index e8d27ee8..e9b959b5 100644 --- a/chain/auction/types/expected_keepers.go +++ b/chain/auction/types/expected_keepers.go @@ -1,14 +1,16 @@ package types import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" ) // BankKeeper defines the expected bank keeper methods type BankKeeper interface { - GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins - SendCoinsFromModuleToModule(ctx sdk.Context, senderModule, recipientModule string, amt sdk.Coins) error - 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 + GetAllBalances(ctx context.Context, addr sdk.AccAddress) sdk.Coins + SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error + SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error + BurnCoins(ctx context.Context, moduleName string, amt sdk.Coins) error } diff --git a/chain/auction/types/genesis.pb.go b/chain/auction/types/genesis.pb.go index d1452e2a..458e36a1 100644 --- a/chain/auction/types/genesis.pb.go +++ b/chain/auction/types/genesis.pb.go @@ -33,6 +33,8 @@ type GenesisState struct { HighestBid *Bid `protobuf:"bytes,3,opt,name=highest_bid,json=highestBid,proto3" json:"highest_bid,omitempty"` // auction ending timestamp AuctionEndingTimestamp int64 `protobuf:"varint,4,opt,name=auction_ending_timestamp,json=auctionEndingTimestamp,proto3" json:"auction_ending_timestamp,omitempty"` + // last auction result + LastAuctionResult *LastAuctionResult `protobuf:"bytes,5,opt,name=last_auction_result,json=lastAuctionResult,proto3" json:"last_auction_result,omitempty"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -96,6 +98,13 @@ func (m *GenesisState) GetAuctionEndingTimestamp() int64 { return 0 } +func (m *GenesisState) GetLastAuctionResult() *LastAuctionResult { + if m != nil { + return m.LastAuctionResult + } + return nil +} + func init() { proto.RegisterType((*GenesisState)(nil), "injective.auction.v1beta1.GenesisState") } @@ -105,27 +114,29 @@ func init() { } var fileDescriptor_56f095f457353f49 = []byte{ - // 315 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0xb1, 0x4e, 0xc3, 0x30, - 0x10, 0x86, 0x63, 0x5a, 0x75, 0x70, 0xcb, 0x12, 0x21, 0x14, 0x3a, 0x98, 0x02, 0x03, 0x5d, 0x88, - 0x55, 0x58, 0xd8, 0x2a, 0x45, 0x42, 0x08, 0x09, 0x24, 0x14, 0x98, 0x58, 0x2a, 0x27, 0xb1, 0x9c, - 0x43, 0xc4, 0x8e, 0x62, 0xa7, 0x12, 0x6f, 0xc1, 0x63, 0x75, 0xec, 0xc8, 0x84, 0x50, 0xfb, 0x00, - 0xbc, 0x02, 0xaa, 0xeb, 0x44, 0x2c, 0x74, 0x3b, 0xff, 0xff, 0x77, 0xf7, 0x9f, 0x7c, 0xf8, 0x1c, - 0xe4, 0x2b, 0x4f, 0x0d, 0xcc, 0x39, 0x65, 0x75, 0x6a, 0x40, 0x49, 0x3a, 0x9f, 0x24, 0xdc, 0xb0, - 0x09, 0x15, 0x5c, 0x72, 0x0d, 0x3a, 0x2c, 0x2b, 0x65, 0x94, 0x7f, 0xd4, 0x82, 0xa1, 0x03, 0x43, - 0x07, 0x0e, 0x77, 0xcc, 0x68, 0x50, 0x3b, 0x63, 0x78, 0x20, 0x94, 0x50, 0xb6, 0xa4, 0x9b, 0x6a, - 0xab, 0x9e, 0xfe, 0x20, 0x3c, 0xb8, 0xdd, 0x66, 0x3d, 0x19, 0x66, 0xb8, 0x3f, 0xc5, 0xbd, 0x92, - 0x55, 0xac, 0xd0, 0x01, 0x1a, 0xa1, 0x71, 0xff, 0xf2, 0x24, 0xfc, 0x37, 0x3b, 0x7c, 0xb4, 0x60, - 0xd4, 0x5d, 0x7c, 0x1d, 0x7b, 0xb1, 0x6b, 0xf3, 0xcf, 0xf0, 0xbe, 0xe3, 0x66, 0x95, 0xaa, 0x65, - 0x16, 0xec, 0x8d, 0xd0, 0xb8, 0x1b, 0x0f, 0x9c, 0x18, 0x6f, 0x34, 0x7f, 0x8a, 0xfb, 0x39, 0x88, - 0x9c, 0x6b, 0x33, 0x4b, 0x20, 0x0b, 0x3a, 0x36, 0x8a, 0xec, 0x88, 0x8a, 0x20, 0x8b, 0xb1, 0x6b, - 0x89, 0x20, 0xf3, 0xaf, 0x71, 0xd0, 0xa4, 0x70, 0x99, 0x81, 0x14, 0x33, 0x03, 0x05, 0xd7, 0x86, - 0x15, 0x65, 0xd0, 0x1d, 0xa1, 0x71, 0x27, 0x3e, 0x74, 0xfe, 0x8d, 0xb5, 0x9f, 0x1b, 0x37, 0x12, - 0x8b, 0x15, 0x41, 0xcb, 0x15, 0x41, 0xdf, 0x2b, 0x82, 0x3e, 0xd6, 0xc4, 0x5b, 0xae, 0x89, 0xf7, - 0xb9, 0x26, 0xde, 0xcb, 0x83, 0x00, 0x93, 0xd7, 0x49, 0x98, 0xaa, 0x82, 0xde, 0x35, 0x9b, 0xdc, - 0xb3, 0x44, 0xd3, 0x76, 0xaf, 0x8b, 0x54, 0x55, 0xfc, 0xef, 0x33, 0x67, 0x20, 0x69, 0xa1, 0xb2, - 0xfa, 0x8d, 0xeb, 0xf6, 0x00, 0xe6, 0xbd, 0xe4, 0x3a, 0xe9, 0xd9, 0x1f, 0xbe, 0xfa, 0x0d, 0x00, - 0x00, 0xff, 0xff, 0x2f, 0xc4, 0xb2, 0x63, 0xe6, 0x01, 0x00, 0x00, + // 350 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0xc1, 0x4a, 0xeb, 0x40, + 0x14, 0x86, 0x93, 0xb6, 0xb7, 0x8b, 0x69, 0xef, 0xe2, 0xe6, 0x8a, 0xc4, 0x2e, 0x62, 0xd5, 0x85, + 0x5d, 0x68, 0x42, 0x75, 0xe3, 0xae, 0x18, 0x10, 0x11, 0x2a, 0x48, 0x74, 0x25, 0x42, 0x98, 0x24, + 0xc3, 0x64, 0x24, 0x99, 0x09, 0x99, 0x93, 0x82, 0x6f, 0xe1, 0x63, 0x75, 0x23, 0x74, 0xe9, 0x4a, + 0xa4, 0x7d, 0x11, 0xe9, 0x74, 0x12, 0x44, 0xb0, 0xbb, 0x33, 0xff, 0xf9, 0xcf, 0xf9, 0xfe, 0xe1, + 0xa0, 0x63, 0xc6, 0x9f, 0x49, 0x0c, 0x6c, 0x46, 0x3c, 0x5c, 0xc5, 0xc0, 0x04, 0xf7, 0x66, 0xe3, + 0x88, 0x00, 0x1e, 0x7b, 0x94, 0x70, 0x22, 0x99, 0x74, 0x8b, 0x52, 0x80, 0xb0, 0xf6, 0x1a, 0xa3, + 0xab, 0x8d, 0xae, 0x36, 0x0e, 0xb6, 0xec, 0xa8, 0xad, 0x6a, 0xc7, 0x60, 0x87, 0x0a, 0x2a, 0x54, + 0xe9, 0xad, 0xab, 0x8d, 0x7a, 0xf8, 0xd6, 0x42, 0xfd, 0xeb, 0x0d, 0xeb, 0x1e, 0x30, 0x10, 0x6b, + 0x82, 0xba, 0x05, 0x2e, 0x71, 0x2e, 0x6d, 0x73, 0x68, 0x8e, 0x7a, 0x67, 0x07, 0xee, 0xaf, 0x6c, + 0xf7, 0x4e, 0x19, 0xfd, 0xce, 0xfc, 0x63, 0xdf, 0x08, 0xf4, 0x98, 0x75, 0x84, 0xfe, 0x6a, 0x5f, + 0x58, 0x8a, 0x8a, 0x27, 0x76, 0x6b, 0x68, 0x8e, 0x3a, 0x41, 0x5f, 0x8b, 0xc1, 0x5a, 0xb3, 0x26, + 0xa8, 0x97, 0x32, 0x9a, 0x12, 0x09, 0x61, 0xc4, 0x12, 0xbb, 0xad, 0x50, 0xce, 0x16, 0x94, 0xcf, + 0x92, 0x00, 0xe9, 0x11, 0x9f, 0x25, 0xd6, 0x05, 0xb2, 0x6b, 0x0a, 0xe1, 0x09, 0xe3, 0x34, 0x04, + 0x96, 0x13, 0x09, 0x38, 0x2f, 0xec, 0xce, 0xd0, 0x1c, 0xb5, 0x83, 0x5d, 0xdd, 0xbf, 0x52, 0xed, + 0x87, 0xba, 0x6b, 0x3d, 0xa1, 0xff, 0x19, 0x96, 0x10, 0x36, 0x21, 0x89, 0xac, 0x32, 0xb0, 0xff, + 0xa8, 0x08, 0x27, 0x5b, 0x22, 0x4c, 0xb1, 0x84, 0x4b, 0xfd, 0x09, 0x35, 0x13, 0xfc, 0xcb, 0x7e, + 0x4a, 0x3e, 0x9d, 0x2f, 0x1d, 0x73, 0xb1, 0x74, 0xcc, 0xcf, 0xa5, 0x63, 0xbe, 0xae, 0x1c, 0x63, + 0xb1, 0x72, 0x8c, 0xf7, 0x95, 0x63, 0x3c, 0xde, 0x52, 0x06, 0x69, 0x15, 0xb9, 0xb1, 0xc8, 0xbd, + 0x9b, 0x1a, 0x32, 0xc5, 0x91, 0xf4, 0x1a, 0xe4, 0x69, 0x2c, 0x4a, 0xf2, 0xfd, 0x99, 0x62, 0xc6, + 0xbd, 0x5c, 0x24, 0x55, 0x46, 0x64, 0x73, 0x5e, 0x78, 0x29, 0x88, 0x8c, 0xba, 0xea, 0x7e, 0xe7, + 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x91, 0x86, 0x72, 0xfe, 0x44, 0x02, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { @@ -148,6 +159,18 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.LastAuctionResult != nil { + { + size, err := m.LastAuctionResult.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } if m.AuctionEndingTimestamp != 0 { i = encodeVarintGenesis(dAtA, i, uint64(m.AuctionEndingTimestamp)) i-- @@ -212,6 +235,10 @@ func (m *GenesisState) Size() (n int) { if m.AuctionEndingTimestamp != 0 { n += 1 + sovGenesis(uint64(m.AuctionEndingTimestamp)) } + if m.LastAuctionResult != nil { + l = m.LastAuctionResult.Size() + n += 1 + l + sovGenesis(uint64(l)) + } return n } @@ -357,6 +384,42 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { break } } + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastAuctionResult", 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 m.LastAuctionResult == nil { + m.LastAuctionResult = &LastAuctionResult{} + } + if err := m.LastAuctionResult.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) diff --git a/chain/auction/types/key.go b/chain/auction/types/key.go index 3c949674..0b151360 100644 --- a/chain/auction/types/key.go +++ b/chain/auction/types/key.go @@ -8,8 +8,9 @@ const ( var ( // Keys for store prefixes - BidsKey = []byte{0x01} - AuctionRoundKey = []byte{0x03} - KeyEndingTimeStamp = []byte{0x04} - ParamsKey = []byte{0x10} + BidsKey = []byte{0x01} + AuctionRoundKey = []byte{0x03} + KeyEndingTimeStamp = []byte{0x04} + KeyLastAuctionResult = []byte{0x05} + ParamsKey = []byte{0x10} ) diff --git a/chain/auction/types/params.go b/chain/auction/types/params.go index 6a0b98db..fe3f865b 100644 --- a/chain/auction/types/params.go +++ b/chain/auction/types/params.go @@ -3,7 +3,7 @@ package types import ( "fmt" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" ) @@ -14,7 +14,7 @@ var ( // DefaultAuctionPeriod represents the number of seconds in 1 week DefaultAuctionPeriod int64 = 60 * 60 * 24 * 7 // DefaultMinNextBidIncrementRate represents default min increment rate 0.25% - DefaultMinNextBidIncrementRate = sdk.NewDecWithPrec(25, 4) + DefaultMinNextBidIncrementRate = math.LegacyNewDecWithPrec(25, 4) ) // Parameter keys @@ -31,7 +31,7 @@ func ParamKeyTable() paramtypes.KeyTable { // NewParams creates a new Params instance func NewParams( auctionPeriod int64, - minNextBidIncrementRate sdk.Dec, + minNextBidIncrementRate math.LegacyDec, ) Params { return Params{ AuctionPeriod: auctionPeriod, @@ -82,7 +82,7 @@ func validateAuctionPeriodDuration(i interface{}) error { } func validateMinNextBidIncrementRate(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(math.LegacyDec) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } @@ -91,11 +91,11 @@ func validateMinNextBidIncrementRate(i interface{}) error { return fmt.Errorf("MinNextBidIncrementRate cannot be nil") } - if v.Equal(sdk.ZeroDec()) { + if v.Equal(math.LegacyZeroDec()) { return fmt.Errorf("MinNextBidIncrementRate must be positive: %s", v.String()) } - if v.GT(sdk.NewDecWithPrec(2, 1)) { // > 20% + if v.GT(math.LegacyNewDecWithPrec(2, 1)) { // > 20% return fmt.Errorf("MinNextBidIncrementRate must be equal or less than 20 percent: %s", v.String()) } diff --git a/chain/auction/types/query.pb.go b/chain/auction/types/query.pb.go index ec9d8b68..6aba7c13 100644 --- a/chain/auction/types/query.pb.go +++ b/chain/auction/types/query.pb.go @@ -5,6 +5,7 @@ package types import ( context "context" + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" @@ -165,7 +166,7 @@ type QueryCurrentAuctionBasketResponse struct { // highestBidder describes highest bidder on current round HighestBidder string `protobuf:"bytes,4,opt,name=highestBidder,proto3" json:"highestBidder,omitempty"` // highestBidAmount describes highest bid amount on current round - HighestBidAmount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,5,opt,name=highestBidAmount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"highestBidAmount"` + HighestBidAmount cosmossdk_io_math.Int `protobuf:"bytes,5,opt,name=highestBidAmount,proto3,customtype=cosmossdk.io/math.Int" json:"highestBidAmount"` } func (m *QueryCurrentAuctionBasketResponse) Reset() { *m = QueryCurrentAuctionBasketResponse{} } @@ -313,6 +314,86 @@ func (m *QueryModuleStateResponse) GetState() *GenesisState { return nil } +type QueryLastAuctionResultRequest struct { +} + +func (m *QueryLastAuctionResultRequest) Reset() { *m = QueryLastAuctionResultRequest{} } +func (m *QueryLastAuctionResultRequest) String() string { return proto.CompactTextString(m) } +func (*QueryLastAuctionResultRequest) ProtoMessage() {} +func (*QueryLastAuctionResultRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_2ae80edbdb9fffb7, []int{6} +} +func (m *QueryLastAuctionResultRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryLastAuctionResultRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryLastAuctionResultRequest.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 *QueryLastAuctionResultRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryLastAuctionResultRequest.Merge(m, src) +} +func (m *QueryLastAuctionResultRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryLastAuctionResultRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryLastAuctionResultRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryLastAuctionResultRequest proto.InternalMessageInfo + +type QueryLastAuctionResultResponse struct { + LastAuctionResult *LastAuctionResult `protobuf:"bytes,1,opt,name=last_auction_result,json=lastAuctionResult,proto3" json:"last_auction_result,omitempty"` +} + +func (m *QueryLastAuctionResultResponse) Reset() { *m = QueryLastAuctionResultResponse{} } +func (m *QueryLastAuctionResultResponse) String() string { return proto.CompactTextString(m) } +func (*QueryLastAuctionResultResponse) ProtoMessage() {} +func (*QueryLastAuctionResultResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2ae80edbdb9fffb7, []int{7} +} +func (m *QueryLastAuctionResultResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryLastAuctionResultResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryLastAuctionResultResponse.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 *QueryLastAuctionResultResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryLastAuctionResultResponse.Merge(m, src) +} +func (m *QueryLastAuctionResultResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryLastAuctionResultResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryLastAuctionResultResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryLastAuctionResultResponse proto.InternalMessageInfo + +func (m *QueryLastAuctionResultResponse) GetLastAuctionResult() *LastAuctionResult { + if m != nil { + return m.LastAuctionResult + } + return nil +} + func init() { proto.RegisterType((*QueryAuctionParamsRequest)(nil), "injective.auction.v1beta1.QueryAuctionParamsRequest") proto.RegisterType((*QueryAuctionParamsResponse)(nil), "injective.auction.v1beta1.QueryAuctionParamsResponse") @@ -320,6 +401,8 @@ func init() { proto.RegisterType((*QueryCurrentAuctionBasketResponse)(nil), "injective.auction.v1beta1.QueryCurrentAuctionBasketResponse") proto.RegisterType((*QueryModuleStateRequest)(nil), "injective.auction.v1beta1.QueryModuleStateRequest") proto.RegisterType((*QueryModuleStateResponse)(nil), "injective.auction.v1beta1.QueryModuleStateResponse") + proto.RegisterType((*QueryLastAuctionResultRequest)(nil), "injective.auction.v1beta1.QueryLastAuctionResultRequest") + proto.RegisterType((*QueryLastAuctionResultResponse)(nil), "injective.auction.v1beta1.QueryLastAuctionResultResponse") } func init() { @@ -327,45 +410,51 @@ func init() { } var fileDescriptor_2ae80edbdb9fffb7 = []byte{ - // 607 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0x4d, 0x6b, 0xd4, 0x40, - 0x18, 0xde, 0x69, 0xb7, 0x05, 0xa7, 0x16, 0x64, 0x28, 0x98, 0x8d, 0x92, 0xa6, 0xf1, 0xa3, 0xe9, - 0xa1, 0x89, 0xdd, 0xea, 0x49, 0x45, 0x9a, 0x1e, 0xa4, 0x60, 0x41, 0xa3, 0x17, 0x0b, 0x22, 0x93, - 0xec, 0x90, 0x1d, 0xdb, 0xcc, 0x6c, 0x33, 0x93, 0x42, 0xaf, 0xfe, 0x02, 0xc1, 0x5f, 0xe0, 0x49, - 0xf0, 0xe0, 0x2f, 0xf0, 0x07, 0xf4, 0x58, 0xf0, 0x22, 0x1e, 0xaa, 0xec, 0xfa, 0x43, 0x24, 0x99, - 0xd9, 0xed, 0x2e, 0xfb, 0xe5, 0x7a, 0xda, 0xe4, 0x9d, 0xf7, 0x79, 0xde, 0xe7, 0x79, 0xe7, 0xc9, - 0xc2, 0x3b, 0x94, 0xbd, 0x23, 0xb1, 0xa4, 0x27, 0xc4, 0xc7, 0x79, 0x2c, 0x29, 0x67, 0xfe, 0xc9, - 0x56, 0x44, 0x24, 0xde, 0xf2, 0x8f, 0x73, 0x92, 0x9d, 0x7a, 0xad, 0x8c, 0x4b, 0x8e, 0x6a, 0xbd, - 0x36, 0x4f, 0xb7, 0x79, 0xba, 0xcd, 0xbc, 0x99, 0x70, 0x9e, 0x1c, 0x11, 0x1f, 0xb7, 0xa8, 0x8f, - 0x19, 0xe3, 0x12, 0x17, 0xc7, 0x42, 0x01, 0xcd, 0xf5, 0xf1, 0xfc, 0x5d, 0xa2, 0xa9, 0x8d, 0x09, - 0x61, 0x44, 0xd0, 0x2e, 0xe3, 0x4a, 0xc2, 0x13, 0x5e, 0x3e, 0xfa, 0xc5, 0x93, 0xae, 0x5a, 0x31, - 0x17, 0x29, 0x17, 0x7e, 0x84, 0x05, 0xe9, 0x01, 0x63, 0x4e, 0x35, 0xbd, 0x73, 0x03, 0xd6, 0x5e, - 0x14, 0x7e, 0x76, 0x14, 0xf7, 0x73, 0x9c, 0xe1, 0x54, 0x84, 0xe4, 0x38, 0x27, 0x42, 0x3a, 0x6f, - 0xa0, 0x39, 0xea, 0x50, 0xb4, 0x38, 0x13, 0x04, 0x3d, 0x81, 0x8b, 0xad, 0xb2, 0x62, 0x00, 0x1b, - 0xb8, 0x4b, 0xf5, 0x35, 0x6f, 0xec, 0x32, 0x3c, 0x05, 0x0d, 0xaa, 0x67, 0x17, 0xab, 0x95, 0x50, - 0xc3, 0x1c, 0x07, 0xda, 0x25, 0xfd, 0x6e, 0x9e, 0x65, 0x84, 0x49, 0x3d, 0x25, 0xc0, 0xe2, 0x90, - 0xc8, 0xae, 0x84, 0x8b, 0x39, 0xb8, 0x36, 0xa1, 0x49, 0x4b, 0x89, 0xe1, 0x22, 0x4e, 0x79, 0xce, - 0xa4, 0x01, 0xec, 0x79, 0x77, 0xa9, 0x5e, 0xf3, 0x94, 0x6d, 0xaf, 0xb0, 0xdd, 0x13, 0xb1, 0xcb, - 0x29, 0x0b, 0xee, 0x15, 0x12, 0xbe, 0xfc, 0x5a, 0x75, 0x13, 0x2a, 0x9b, 0x79, 0xe4, 0xc5, 0x3c, - 0xf5, 0xf5, 0x8e, 0xd4, 0xcf, 0xa6, 0x68, 0x1c, 0xfa, 0xf2, 0xb4, 0x45, 0x44, 0x09, 0x10, 0xa1, - 0xa6, 0x46, 0x0e, 0xbc, 0xaa, 0x6d, 0x85, 0x3c, 0x67, 0x0d, 0x63, 0xce, 0x06, 0x6e, 0x35, 0x1c, - 0xa8, 0x21, 0x0f, 0x22, 0xfd, 0xbe, 0x7b, 0xc4, 0x05, 0x65, 0xc9, 0x2b, 0x9a, 0x12, 0x63, 0xde, - 0x06, 0xee, 0x7c, 0x38, 0xe2, 0x04, 0xdd, 0x86, 0xcb, 0x4d, 0x9a, 0x34, 0x89, 0x90, 0x01, 0x6d, - 0x34, 0x48, 0x66, 0x54, 0x6d, 0xe0, 0x5e, 0x09, 0x07, 0x8b, 0xe8, 0x00, 0x5e, 0xbb, 0x2c, 0xec, - 0x28, 0xa3, 0x0b, 0x45, 0x63, 0xe0, 0x15, 0x6e, 0x7e, 0x5e, 0xac, 0xde, 0xfd, 0x07, 0x37, 0x7b, - 0x4c, 0x86, 0x43, 0x3c, 0x4e, 0x0d, 0x5e, 0x2f, 0xf7, 0xbb, 0xcf, 0x1b, 0xf9, 0x11, 0x79, 0x29, - 0xb1, 0x24, 0xdd, 0xdd, 0xbf, 0x86, 0xc6, 0xf0, 0x91, 0xde, 0xf8, 0x63, 0xb8, 0x20, 0x8a, 0x82, - 0xbe, 0xfb, 0xf5, 0x09, 0x77, 0xff, 0x54, 0xc5, 0x54, 0xe1, 0x15, 0xaa, 0xfe, 0xa9, 0x0a, 0x17, - 0x4a, 0x6e, 0xf4, 0x19, 0xc0, 0xe5, 0x81, 0x7c, 0xa1, 0xfb, 0x13, 0xb8, 0xc6, 0x66, 0xd5, 0x7c, - 0x30, 0x23, 0x4a, 0xf9, 0x70, 0x36, 0xde, 0x7f, 0xff, 0xf3, 0x71, 0xee, 0x16, 0x5a, 0xf3, 0xc7, - 0x7f, 0x67, 0x2a, 0xae, 0xe8, 0x1b, 0x80, 0x2b, 0xa3, 0x52, 0x88, 0x1e, 0x4e, 0x1b, 0x3d, 0x21, - 0xe0, 0xe6, 0xa3, 0xff, 0x03, 0xcf, 0x20, 0x3f, 0x52, 0x2a, 0xbf, 0x02, 0x88, 0x34, 0x49, 0xdf, - 0x85, 0xa2, 0xfa, 0xb4, 0xf9, 0xc3, 0xc1, 0x30, 0xb7, 0x67, 0xc2, 0x68, 0xa9, 0x7e, 0x29, 0x75, - 0x03, 0xad, 0x4f, 0x90, 0x9a, 0x96, 0xb8, 0xb7, 0x65, 0x46, 0x82, 0xe4, 0xac, 0x6d, 0x81, 0xf3, - 0xb6, 0x05, 0x7e, 0xb7, 0x2d, 0xf0, 0xa1, 0x63, 0x55, 0xce, 0x3b, 0x56, 0xe5, 0x47, 0xc7, 0xaa, - 0x1c, 0xec, 0xf7, 0xa5, 0x7d, 0xaf, 0x4b, 0xf6, 0x0c, 0x47, 0xe2, 0x92, 0x7a, 0x33, 0xe6, 0x19, - 0xe9, 0x7f, 0x6d, 0x62, 0xca, 0x34, 0xbf, 0xe8, 0xcd, 0x2d, 0x3f, 0x8c, 0x68, 0xb1, 0xfc, 0x2b, - 0xdc, 0xfe, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xb8, 0xd8, 0x05, 0x8e, 0xf4, 0x05, 0x00, 0x00, + // 698 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x4f, 0x4f, 0x13, 0x4d, + 0x18, 0xef, 0x00, 0x25, 0x79, 0x87, 0x97, 0xe4, 0x65, 0x5e, 0x8c, 0xed, 0x2a, 0xdb, 0xb2, 0x6a, + 0x28, 0x89, 0xec, 0x42, 0x51, 0xa3, 0x51, 0x63, 0x28, 0x07, 0x43, 0x02, 0x89, 0xae, 0x5e, 0x34, + 0x1a, 0x32, 0xdd, 0x4e, 0xb6, 0x23, 0xdd, 0x99, 0xb2, 0x33, 0x4b, 0xc2, 0xc5, 0x83, 0x9f, 0xc0, + 0xc4, 0x0f, 0x61, 0xe2, 0xc1, 0x4f, 0xe0, 0xc1, 0x23, 0x17, 0x13, 0x12, 0x2f, 0xc6, 0x03, 0x1a, + 0xe0, 0x83, 0x98, 0x9d, 0x99, 0x16, 0xb0, 0xed, 0x36, 0x70, 0xea, 0xee, 0xf3, 0x3c, 0xbf, 0xdf, + 0xf3, 0x7b, 0xfe, 0x6d, 0xe1, 0x0d, 0xca, 0xde, 0x90, 0x40, 0xd2, 0x1d, 0xe2, 0xe1, 0x24, 0x90, + 0x94, 0x33, 0x6f, 0x67, 0xa9, 0x4e, 0x24, 0x5e, 0xf2, 0xb6, 0x13, 0x12, 0xef, 0xba, 0xed, 0x98, + 0x4b, 0x8e, 0x8a, 0xdd, 0x30, 0xd7, 0x84, 0xb9, 0x26, 0xcc, 0xba, 0x1a, 0x72, 0x1e, 0xb6, 0x88, + 0x87, 0xdb, 0xd4, 0xc3, 0x8c, 0x71, 0x89, 0x53, 0xb7, 0xd0, 0x40, 0x6b, 0x6e, 0x30, 0x7f, 0x87, + 0x68, 0x68, 0x60, 0x48, 0x18, 0x11, 0xb4, 0xc3, 0x38, 0x1d, 0xf2, 0x90, 0xab, 0x47, 0x2f, 0x7d, + 0x32, 0x56, 0x3b, 0xe0, 0x22, 0xe2, 0xc2, 0xab, 0x63, 0x41, 0xba, 0xc0, 0x80, 0x53, 0x43, 0xef, + 0x5c, 0x81, 0xc5, 0xa7, 0x69, 0x3d, 0x2b, 0x9a, 0xfb, 0x09, 0x8e, 0x71, 0x24, 0x7c, 0xb2, 0x9d, + 0x10, 0x21, 0x9d, 0xd7, 0xd0, 0xea, 0xe7, 0x14, 0x6d, 0xce, 0x04, 0x41, 0x8f, 0xe0, 0x78, 0x5b, + 0x59, 0x0a, 0xa0, 0x0c, 0x2a, 0x13, 0xd5, 0x59, 0x77, 0x60, 0x33, 0x5c, 0x0d, 0xad, 0x8d, 0xed, + 0x1d, 0x94, 0x72, 0xbe, 0x81, 0x39, 0x0e, 0x2c, 0x2b, 0xfa, 0xd5, 0x24, 0x8e, 0x09, 0x93, 0x26, + 0x4b, 0x0d, 0x8b, 0x2d, 0x22, 0x3b, 0x12, 0xbe, 0x8d, 0xc0, 0xd9, 0x8c, 0x20, 0x23, 0x25, 0x80, + 0xe3, 0x38, 0xe2, 0x09, 0x93, 0x05, 0x50, 0x1e, 0xad, 0x4c, 0x54, 0x8b, 0xae, 0x2e, 0xdb, 0x4d, + 0xcb, 0xee, 0x8a, 0x58, 0xe5, 0x94, 0xd5, 0x16, 0x53, 0x09, 0x9f, 0x7e, 0x95, 0x2a, 0x21, 0x95, + 0xcd, 0xa4, 0xee, 0x06, 0x3c, 0xf2, 0x4c, 0x8f, 0xf4, 0xcf, 0x82, 0x68, 0x6c, 0x79, 0x72, 0xb7, + 0x4d, 0x84, 0x02, 0x08, 0xdf, 0x50, 0x23, 0x07, 0xfe, 0x6b, 0xca, 0xf2, 0x79, 0xc2, 0x1a, 0x85, + 0x91, 0x32, 0xa8, 0x8c, 0xf9, 0x67, 0x6c, 0xc8, 0x85, 0xc8, 0xbc, 0xaf, 0xb6, 0xb8, 0xa0, 0x2c, + 0x7c, 0x4e, 0x23, 0x52, 0x18, 0x2d, 0x83, 0xca, 0xa8, 0xdf, 0xc7, 0x83, 0xae, 0xc3, 0xc9, 0x26, + 0x0d, 0x9b, 0x44, 0xc8, 0x1a, 0x6d, 0x34, 0x48, 0x5c, 0x18, 0x2b, 0x83, 0xca, 0x3f, 0xfe, 0x59, + 0x23, 0x5a, 0x83, 0xff, 0x9d, 0x18, 0x56, 0x74, 0xa1, 0xf9, 0x34, 0xb0, 0x36, 0x93, 0x56, 0xf3, + 0xf3, 0xa0, 0x74, 0x49, 0x6b, 0x17, 0x8d, 0x2d, 0x97, 0x72, 0x2f, 0xc2, 0xb2, 0xe9, 0xae, 0x31, + 0xe9, 0xf7, 0xc0, 0x9c, 0x22, 0xbc, 0xac, 0xda, 0xb9, 0xc1, 0x1b, 0x49, 0x8b, 0x3c, 0x93, 0x58, + 0x92, 0x4e, 0xab, 0x5f, 0xc0, 0x42, 0xaf, 0xcb, 0x34, 0xf8, 0x21, 0xcc, 0x8b, 0xd4, 0x60, 0x46, + 0x3d, 0x97, 0x31, 0xea, 0xc7, 0x7a, 0x2b, 0x35, 0x5e, 0xa3, 0x9c, 0x12, 0x9c, 0x51, 0xd4, 0xeb, + 0x58, 0x74, 0x26, 0xe8, 0x13, 0x91, 0xb4, 0xba, 0x63, 0x7e, 0x0b, 0xed, 0x41, 0x01, 0x46, 0xc1, + 0x2b, 0xf8, 0x7f, 0x0b, 0x0b, 0xb9, 0x69, 0xd2, 0x6d, 0xc6, 0xca, 0x6d, 0xf4, 0xdc, 0xcc, 0xd0, + 0xd3, 0x4b, 0x39, 0xd5, 0xfa, 0xdb, 0x54, 0x3d, 0xce, 0xc3, 0xbc, 0x12, 0x80, 0x3e, 0x02, 0x38, + 0x79, 0x66, 0xdf, 0xd1, 0xad, 0x0c, 0xf2, 0x81, 0xb7, 0x63, 0xdd, 0x3e, 0x27, 0x4a, 0x97, 0xe9, + 0xcc, 0xbf, 0xfb, 0x7e, 0xfc, 0x61, 0xe4, 0x1a, 0x9a, 0xf5, 0x06, 0xdf, 0xbd, 0x3e, 0x1f, 0xf4, + 0x05, 0xc0, 0xe9, 0x7e, 0x57, 0x81, 0xee, 0x0f, 0x4b, 0x9d, 0x71, 0x70, 0xd6, 0x83, 0x8b, 0x81, + 0xcf, 0x21, 0xbf, 0xae, 0x55, 0x7e, 0x06, 0x10, 0x19, 0x92, 0x53, 0x1b, 0x87, 0xaa, 0xc3, 0xf2, + 0xf7, 0x6e, 0xae, 0xb5, 0x7c, 0x2e, 0x8c, 0x91, 0xea, 0x29, 0xa9, 0xf3, 0x68, 0x2e, 0x43, 0x6a, + 0xa4, 0x70, 0x9b, 0x6a, 0x89, 0xd1, 0x57, 0x00, 0xa7, 0x7a, 0x96, 0x09, 0xdd, 0x1d, 0x96, 0x7b, + 0xd0, 0xce, 0x5b, 0xf7, 0x2e, 0x80, 0x34, 0xda, 0xef, 0x28, 0xed, 0x8b, 0xc8, 0xcd, 0xd0, 0xde, + 0xe7, 0x5a, 0x6a, 0xe1, 0xde, 0xa1, 0x0d, 0xf6, 0x0f, 0x6d, 0xf0, 0xfb, 0xd0, 0x06, 0xef, 0x8f, + 0xec, 0xdc, 0xfe, 0x91, 0x9d, 0xfb, 0x71, 0x64, 0xe7, 0x5e, 0x6e, 0x9c, 0xfa, 0x1c, 0xae, 0x75, + 0x38, 0xd7, 0x71, 0x5d, 0x9c, 0x64, 0x58, 0x08, 0x78, 0x4c, 0x4e, 0xbf, 0x36, 0x31, 0x65, 0xa6, + 0x45, 0xa2, 0x9b, 0x5e, 0x7d, 0x39, 0xeb, 0xe3, 0xea, 0xdf, 0x65, 0xf9, 0x4f, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xa1, 0xdd, 0x40, 0x94, 0x47, 0x07, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -386,6 +475,7 @@ type QueryClient interface { CurrentAuctionBasket(ctx context.Context, in *QueryCurrentAuctionBasketRequest, opts ...grpc.CallOption) (*QueryCurrentAuctionBasketResponse, error) // Retrieves the entire auction module's state AuctionModuleState(ctx context.Context, in *QueryModuleStateRequest, opts ...grpc.CallOption) (*QueryModuleStateResponse, error) + LastAuctionResult(ctx context.Context, in *QueryLastAuctionResultRequest, opts ...grpc.CallOption) (*QueryLastAuctionResultResponse, error) } type queryClient struct { @@ -423,6 +513,15 @@ func (c *queryClient) AuctionModuleState(ctx context.Context, in *QueryModuleSta return out, nil } +func (c *queryClient) LastAuctionResult(ctx context.Context, in *QueryLastAuctionResultRequest, opts ...grpc.CallOption) (*QueryLastAuctionResultResponse, error) { + out := new(QueryLastAuctionResultResponse) + err := c.cc.Invoke(ctx, "/injective.auction.v1beta1.Query/LastAuctionResult", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. type QueryServer interface { // Retrieves auction params @@ -431,6 +530,7 @@ type QueryServer interface { CurrentAuctionBasket(context.Context, *QueryCurrentAuctionBasketRequest) (*QueryCurrentAuctionBasketResponse, error) // Retrieves the entire auction module's state AuctionModuleState(context.Context, *QueryModuleStateRequest) (*QueryModuleStateResponse, error) + LastAuctionResult(context.Context, *QueryLastAuctionResultRequest) (*QueryLastAuctionResultResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -446,6 +546,9 @@ func (*UnimplementedQueryServer) CurrentAuctionBasket(ctx context.Context, req * func (*UnimplementedQueryServer) AuctionModuleState(ctx context.Context, req *QueryModuleStateRequest) (*QueryModuleStateResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AuctionModuleState not implemented") } +func (*UnimplementedQueryServer) LastAuctionResult(ctx context.Context, req *QueryLastAuctionResultRequest) (*QueryLastAuctionResultResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method LastAuctionResult not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -505,6 +608,24 @@ func _Query_AuctionModuleState_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Query_LastAuctionResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryLastAuctionResultRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).LastAuctionResult(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.auction.v1beta1.Query/LastAuctionResult", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).LastAuctionResult(ctx, req.(*QueryLastAuctionResultRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "injective.auction.v1beta1.Query", HandlerType: (*QueryServer)(nil), @@ -521,6 +642,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "AuctionModuleState", Handler: _Query_AuctionModuleState_Handler, }, + { + MethodName: "LastAuctionResult", + Handler: _Query_LastAuctionResult_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "injective/auction/v1beta1/query.proto", @@ -727,6 +852,64 @@ func (m *QueryModuleStateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } +func (m *QueryLastAuctionResultRequest) 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 *QueryLastAuctionResultRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryLastAuctionResultRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryLastAuctionResultResponse) 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 *QueryLastAuctionResultResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryLastAuctionResultResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.LastAuctionResult != nil { + { + size, err := m.LastAuctionResult.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 @@ -816,6 +999,28 @@ func (m *QueryModuleStateResponse) Size() (n int) { return n } +func (m *QueryLastAuctionResultRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryLastAuctionResultResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.LastAuctionResult != nil { + l = m.LastAuctionResult.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -1329,6 +1534,142 @@ func (m *QueryModuleStateResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryLastAuctionResultRequest) 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: QueryLastAuctionResultRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryLastAuctionResultRequest: 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 *QueryLastAuctionResultResponse) 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: QueryLastAuctionResultResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryLastAuctionResultResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastAuctionResult", 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.LastAuctionResult == nil { + m.LastAuctionResult = &LastAuctionResult{} + } + if err := m.LastAuctionResult.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 skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/auction/types/tx.pb.go b/chain/auction/types/tx.pb.go index 57d3be57..d2366e3f 100644 --- a/chain/auction/types/tx.pb.go +++ b/chain/auction/types/tx.pb.go @@ -9,6 +9,7 @@ import ( _ "github.com/cosmos/cosmos-proto" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -213,37 +214,39 @@ func init() { } var fileDescriptor_0943fd5f0d415547 = []byte{ - // 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, + // 497 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0x4f, 0x6f, 0xd3, 0x30, + 0x1c, 0x8d, 0xe9, 0xa8, 0x54, 0x83, 0x06, 0x44, 0x15, 0xfd, 0x73, 0x48, 0x4b, 0x0e, 0x50, 0x2a, + 0x2d, 0x56, 0x8b, 0xc4, 0x61, 0x07, 0xd0, 0xca, 0x09, 0x89, 0x4a, 0x28, 0x13, 0x17, 0x2e, 0x93, + 0x13, 0x5b, 0xae, 0x11, 0xb1, 0xa3, 0xd8, 0xa9, 0xd8, 0x95, 0x13, 0xe2, 0xc4, 0x27, 0x40, 0xfb, + 0x08, 0x3b, 0x20, 0x3e, 0xc3, 0xc4, 0x69, 0xe2, 0xc4, 0x09, 0xa1, 0xf6, 0x30, 0x3e, 0x06, 0x4a, + 0xec, 0x74, 0x01, 0x69, 0x63, 0x97, 0xc4, 0x3f, 0xbf, 0xf7, 0x7b, 0xbf, 0xf7, 0x6c, 0x43, 0x9f, + 0x8b, 0x37, 0x34, 0xd6, 0x7c, 0x49, 0x11, 0xce, 0x63, 0xcd, 0xa5, 0x40, 0xcb, 0x49, 0x44, 0x35, + 0x9e, 0x20, 0xfd, 0x2e, 0x48, 0x33, 0xa9, 0xa5, 0xdb, 0xdb, 0x70, 0x02, 0xcb, 0x09, 0x2c, 0xa7, + 0xdf, 0x66, 0x92, 0xc9, 0x92, 0x85, 0x8a, 0x95, 0x69, 0xe8, 0x7b, 0xb1, 0x54, 0x89, 0x54, 0x28, + 0xc2, 0x8a, 0x6e, 0xe4, 0x62, 0xc9, 0x85, 0xc5, 0x3b, 0x16, 0x4f, 0x14, 0x43, 0xcb, 0x49, 0xf1, + 0xb3, 0x40, 0xcf, 0x00, 0x07, 0x46, 0xd1, 0x14, 0x16, 0x7a, 0x70, 0xb1, 0xd1, 0xca, 0x94, 0x21, + 0xde, 0xc1, 0x09, 0x17, 0x12, 0x95, 0x5f, 0xb3, 0xe5, 0x7f, 0x06, 0xb0, 0x39, 0x57, 0x6c, 0xc6, + 0x89, 0x7b, 0x17, 0x36, 0x15, 0x15, 0x84, 0x66, 0x5d, 0x30, 0x04, 0xa3, 0x56, 0x68, 0x2b, 0xf7, + 0x09, 0x84, 0x11, 0x27, 0x07, 0x38, 0x91, 0xb9, 0xd0, 0xdd, 0x6b, 0x43, 0x30, 0xba, 0x31, 0xed, + 0x05, 0xd6, 0x41, 0x91, 0xa3, 0x8a, 0x1c, 0x3c, 0x93, 0x5c, 0xcc, 0xb6, 0x4e, 0x7e, 0x0e, 0x9c, + 0xb0, 0x15, 0x71, 0xb2, 0x57, 0x76, 0xb8, 0x6d, 0x78, 0x3d, 0x93, 0xb9, 0x20, 0xdd, 0xc6, 0x10, + 0x8c, 0xb6, 0x42, 0x53, 0xec, 0xde, 0xff, 0x70, 0x34, 0x70, 0x7e, 0x1f, 0x0d, 0x9c, 0xf7, 0x67, + 0xc7, 0x63, 0x3b, 0xea, 0xe3, 0xd9, 0xf1, 0x78, 0xbb, 0x8a, 0x60, 0x5c, 0xf9, 0xb7, 0xe1, 0xb6, + 0x59, 0x85, 0x54, 0xa5, 0x52, 0x28, 0xea, 0x7f, 0x05, 0xf0, 0xd6, 0x5c, 0xb1, 0x57, 0x29, 0xc1, + 0x9a, 0xbe, 0xc4, 0x19, 0x4e, 0x94, 0xfb, 0x18, 0xb6, 0x70, 0xae, 0x17, 0x32, 0xe3, 0xfa, 0xd0, + 0xd8, 0x9f, 0x75, 0xbf, 0x7f, 0xd9, 0x69, 0x5b, 0x97, 0x7b, 0x84, 0x64, 0x54, 0xa9, 0x7d, 0x9d, + 0x71, 0xc1, 0xc2, 0x73, 0xaa, 0xfb, 0x14, 0x36, 0xd3, 0x52, 0xc1, 0xe6, 0xba, 0x17, 0x5c, 0x78, + 0xa1, 0x81, 0x19, 0x65, 0xf3, 0xd9, 0xb6, 0xdd, 0x71, 0x61, 0xff, 0x5c, 0xb0, 0x48, 0xd0, 0xa9, + 0x25, 0xa8, 0x9b, 0xf4, 0x7b, 0xb0, 0xf3, 0xcf, 0x56, 0x95, 0x69, 0xfa, 0x0d, 0xc0, 0xc6, 0x5c, + 0x31, 0x77, 0x1f, 0x36, 0x8a, 0xab, 0xb8, 0xcc, 0x86, 0x39, 0x8d, 0xfe, 0xc3, 0xff, 0x52, 0x2a, + 0x71, 0x57, 0xc0, 0x9b, 0x7f, 0x1d, 0xd6, 0xf8, 0xf2, 0xd6, 0x3a, 0xb7, 0x3f, 0xbd, 0x3a, 0xb7, + 0x9a, 0x37, 0x63, 0x27, 0x2b, 0x0f, 0x9c, 0xae, 0x3c, 0xf0, 0x6b, 0xe5, 0x81, 0x4f, 0x6b, 0xcf, + 0x39, 0x5d, 0x7b, 0xce, 0x8f, 0xb5, 0xe7, 0xbc, 0x9e, 0x33, 0xae, 0x17, 0x79, 0x14, 0xc4, 0x32, + 0x41, 0xcf, 0x2b, 0xdd, 0x17, 0x38, 0x52, 0x68, 0x33, 0x65, 0x27, 0x96, 0x19, 0xad, 0x97, 0x0b, + 0xcc, 0x05, 0x4a, 0x24, 0xc9, 0xdf, 0x52, 0xb5, 0x79, 0xdf, 0xfa, 0x30, 0xa5, 0x2a, 0x6a, 0x96, + 0x6f, 0xf8, 0xd1, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xda, 0x66, 0xad, 0x44, 0xaa, 0x03, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/crypto/ethsecp256k1/keys.pb.go b/chain/crypto/ethsecp256k1/keys.pb.go index c445cb5b..32c0bec5 100644 --- a/chain/crypto/ethsecp256k1/keys.pb.go +++ b/chain/crypto/ethsecp256k1/keys.pb.go @@ -5,6 +5,7 @@ package ethsecp256k1 import ( fmt "fmt" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -125,21 +126,24 @@ func init() { } var fileDescriptor_9e3ee0885e4a981b = []byte{ - // 214 bytes of a gzipped FileDescriptorProto + // 266 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x32, 0xc8, 0xcc, 0xcb, 0x4a, 0x4d, 0x2e, 0xc9, 0x2c, 0x4b, 0xd5, 0x4f, 0x2e, 0xaa, 0x2c, 0x28, 0xc9, 0xd7, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x4f, 0x2d, 0xc9, 0x28, 0x4e, 0x4d, 0x2e, 0x30, 0x32, 0x35, 0xcb, 0x36, 0xd4, 0xcf, 0x4e, 0xad, 0x2c, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x52, 0x85, 0xeb, 0xd0, 0x83, 0xe8, 0xd0, 0x83, 0xea, 0xd0, 0x43, 0xd6, 0x21, 0x25, 0x92, 0x9e, 0x9f, 0x9e, 0x0f, - 0xd6, 0xa1, 0x0f, 0x62, 0x41, 0x34, 0x2b, 0x29, 0x70, 0xb1, 0x05, 0x94, 0x26, 0x79, 0xa7, 0x56, - 0x0a, 0x09, 0x70, 0x31, 0x67, 0xa7, 0x56, 0x4a, 0x30, 0x2a, 0x30, 0x6a, 0xf0, 0x04, 0x81, 0x98, - 0x56, 0x2c, 0x33, 0x16, 0xc8, 0x33, 0x28, 0x49, 0x73, 0xb1, 0x07, 0x14, 0x65, 0x96, 0x61, 0x55, - 0xe2, 0x94, 0x7a, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x4e, - 0x78, 0x2c, 0xc7, 0x70, 0xe1, 0xb1, 0x1c, 0xc3, 0x8d, 0xc7, 0x72, 0x0c, 0x51, 0xde, 0xe9, 0x99, - 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0x9e, 0x30, 0x07, 0xfa, 0x24, 0x26, 0x15, - 0xeb, 0xc3, 0x9d, 0xab, 0x9b, 0x9c, 0x5f, 0x94, 0x8a, 0xcc, 0xcd, 0x48, 0xcc, 0xcc, 0x83, 0xf9, - 0x1a, 0xd9, 0xed, 0x49, 0x6c, 0x60, 0xc7, 0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x2c, 0xcc, - 0xfc, 0xd6, 0x1d, 0x01, 0x00, 0x00, + 0xd6, 0xa1, 0x0f, 0x62, 0x41, 0x34, 0x4b, 0x09, 0x26, 0xe6, 0x66, 0xe6, 0xe5, 0xeb, 0x83, 0x49, + 0x88, 0x90, 0x92, 0x3f, 0x17, 0x5b, 0x40, 0x69, 0x92, 0x77, 0x6a, 0xa5, 0x90, 0x00, 0x17, 0x73, + 0x76, 0x6a, 0xa5, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x4f, 0x10, 0x88, 0x69, 0x65, 0x3c, 0x63, 0x81, + 0x3c, 0x43, 0xd7, 0xf3, 0x0d, 0x5a, 0x32, 0x08, 0x67, 0x42, 0x14, 0xbb, 0x96, 0x64, 0x04, 0xc3, + 0xec, 0x9a, 0xf4, 0x7c, 0x83, 0x16, 0x67, 0x76, 0x6a, 0x65, 0x7c, 0x5a, 0x66, 0x6a, 0x4e, 0x8a, + 0x92, 0x2f, 0x17, 0x7b, 0x40, 0x51, 0x66, 0x19, 0x76, 0x13, 0x0d, 0x40, 0xa6, 0xc9, 0x22, 0x99, + 0x06, 0x51, 0x89, 0xdb, 0x38, 0xa7, 0xd4, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, + 0xf0, 0x48, 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, + 0x88, 0xf2, 0x4e, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0xf7, 0x84, 0x99, + 0xe8, 0x93, 0x98, 0x54, 0xac, 0x0f, 0x37, 0x5f, 0x37, 0x39, 0xbf, 0x28, 0x15, 0x99, 0x9b, 0x91, + 0x98, 0x99, 0x07, 0x0b, 0x69, 0xe4, 0xf0, 0x4a, 0x62, 0x03, 0x87, 0x86, 0x31, 0x20, 0x00, 0x00, + 0xff, 0xff, 0x33, 0x0e, 0xfe, 0x6b, 0x91, 0x01, 0x00, 0x00, } func (m *PubKey) Marshal() (dAtA []byte, err error) { diff --git a/chain/exchange/types/authz.pb.go b/chain/exchange/types/authz.pb.go index e97e8a78..6816c345 100644 --- a/chain/exchange/types/authz.pb.go +++ b/chain/exchange/types/authz.pb.go @@ -6,6 +6,7 @@ package types import ( fmt "fmt" _ "github.com/cosmos/cosmos-proto" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" proto "github.com/cosmos/gogoproto/proto" io "io" math "math" @@ -625,33 +626,40 @@ func init() { } var fileDescriptor_ea13f83a88125645 = []byte{ - // 413 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x94, 0xc1, 0x6a, 0xe2, 0x40, - 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, - 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, - 0xb8, 0x02, 0xc6, 0x91, 0xd2, 0x8a, 0x0f, 0xf1, 0x63, 0x2d, 0x89, 0xea, 0x7d, 0xc9, 0xb0, 0x62, - 0x57, 0xbe, 0x50, 0x43, 0xee, 0x72, 0x75, 0x29, 0x29, 0x93, 0xa7, 0xe1, 0x64, 0xfd, 0x1f, 0xaa, - 0x40, 0x60, 0x63, 0x42, 0x44, 0xe0, 0xa9, 0x31, 0xa7, 0x35, 0xad, 0xa9, 0xb5, 0x4b, 0xa3, 0x72, - 0x7a, 0x39, 0xa0, 0xfa, 0x6f, 0x84, 0x5c, 0x2c, 0xef, 0x58, 0x28, 0x80, 0xda, 0xb7, 0x66, 0xb1, - 0x5d, 0x1a, 0x95, 0xe2, 0x9b, 0x01, 0x85, 0x93, 0xea, 0xcb, 0x53, 0xa7, 0x12, 0x8e, 0x13, 0x92, - 0x2f, 0xb1, 0xe2, 0xc2, 0x6b, 0x01, 0x6a, 0xa4, 0xcc, 0xf3, 0x48, 0x99, 0x3d, 0x74, 0x8e, 0xfe, - 0xf4, 0xb0, 0x22, 0xce, 0x21, 0xb7, 0x90, 0x29, 0xd9, 0x45, 0x3f, 0xfb, 0xd8, 0x23, 0x6c, 0x1a, - 0x42, 0x73, 0xd9, 0x6e, 0x6c, 0xf4, 0x33, 0x13, 0xb2, 0xde, 0x6e, 0xbc, 0xd8, 0x33, 0x26, 0xf9, - 0x0c, 0x87, 0x31, 0xcc, 0x29, 0x4c, 0x0b, 0xd4, 0xdc, 0x27, 0xe7, 0x15, 0xa9, 0x7b, 0xf4, 0x7f, - 0x27, 0x52, 0x87, 0x9c, 0x43, 0xe6, 0xff, 0x51, 0xf4, 0x91, 0x53, 0x74, 0x2e, 0xfb, 0xde, 0x89, - 0xd7, 0x1e, 0x39, 0x5b, 0xbf, 0x8f, 0x1a, 0xfa, 0x15, 0xb1, 0xaf, 0x7d, 0x8a, 0xd5, 0xd7, 0x89, - 0x7f, 0x51, 0x19, 0x7c, 0xa1, 0xc6, 0x31, 0x64, 0xcb, 0xfc, 0x01, 0x49, 0x0b, 0x81, 0xde, 0x41, - 0x3a, 0x4d, 0x2c, 0x25, 0xc2, 0x62, 0x24, 0xac, 0xd2, 0xbd, 0x84, 0x1d, 0x7a, 0xc9, 0x9e, 0xf3, - 0xbc, 0x36, 0xb4, 0xd5, 0xda, 0xd0, 0xde, 0xd6, 0x86, 0xf6, 0xb0, 0x31, 0x0a, 0xab, 0x8d, 0x51, - 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, 0x04, 0x50, 0x0d, 0x64, 0x22, 0x06, 0x00, 0x00, + // 526 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x95, 0x41, 0x6b, 0x13, 0x41, + 0x14, 0xc7, 0x33, 0x16, 0x84, 0x8c, 0xed, 0xa1, 0x8b, 0x48, 0x1b, 0xe8, 0x36, 0x6e, 0x51, 0xa2, + 0x90, 0x5d, 0x4a, 0x11, 0xb4, 0x07, 0xc5, 0xb6, 0x97, 0x40, 0x55, 0xa8, 0x78, 0xf1, 0x12, 0x66, + 0x67, 0x86, 0xee, 0x68, 0x77, 0x67, 0x99, 0x99, 0x0d, 0xda, 0x8f, 0xe0, 0x45, 0xaf, 0xe2, 0x59, + 0xbc, 0x2a, 0xf8, 0x19, 0x44, 0x3c, 0xf5, 0xe8, 0x51, 0x92, 0x83, 0x5f, 0x43, 0x76, 0xc6, 0xec, + 0xa6, 0xe9, 0x2c, 0xa1, 0xb0, 0xc9, 0x25, 0xb0, 0x33, 0xff, 0xcc, 0xfb, 0xbd, 0xf9, 0xbf, 0x37, + 0x0f, 0xde, 0x66, 0xc9, 0x2b, 0x8a, 0x15, 0x1b, 0xd0, 0x80, 0xbe, 0xc1, 0x11, 0x4a, 0x8e, 0x69, + 0x30, 0xd8, 0x0e, 0xa9, 0x42, 0xdb, 0x01, 0xca, 0x54, 0x74, 0xea, 0xa7, 0x82, 0x2b, 0xee, 0xb4, + 0x0a, 0x9d, 0x3f, 0xd6, 0xf9, 0xff, 0x75, 0xad, 0x75, 0xcc, 0x65, 0xcc, 0x65, 0x5f, 0x2b, 0x03, + 0xf3, 0x61, 0xfe, 0xd6, 0x5a, 0x45, 0x31, 0x4b, 0x78, 0xa0, 0x7f, 0xcd, 0x92, 0xf7, 0x11, 0xc0, + 0xf5, 0x7d, 0x41, 0x91, 0xa2, 0xcf, 0x53, 0xae, 0x0e, 0x59, 0xcc, 0xd4, 0x33, 0x41, 0xa8, 0x78, + 0x9c, 0x47, 0x73, 0xb6, 0xe0, 0x8a, 0xcc, 0x42, 0x84, 0x31, 0xcf, 0x12, 0xd5, 0x67, 0x64, 0x0d, + 0xb4, 0x41, 0xa7, 0x79, 0xb4, 0x5c, 0x2e, 0xf6, 0x88, 0xb3, 0x01, 0x61, 0x8c, 0xc4, 0x6b, 0x9a, + 0x0b, 0xe4, 0xda, 0x95, 0xf6, 0x52, 0xa7, 0x79, 0xd4, 0x34, 0x2b, 0x3d, 0x22, 0x77, 0xef, 0xff, + 0xfa, 0xde, 0x5d, 0xc9, 0x8f, 0xe3, 0x82, 0x9d, 0x22, 0xc5, 0x78, 0xf2, 0xee, 0xef, 0xd7, 0xbb, + 0x5e, 0x91, 0x5f, 0x65, 0x74, 0xef, 0x13, 0x80, 0xad, 0x72, 0xf7, 0x89, 0x3e, 0xb1, 0x66, 0xb8, + 0x07, 0x56, 0xb8, 0x2d, 0x0b, 0xdc, 0x74, 0x78, 0xef, 0x33, 0x80, 0x9b, 0x7b, 0x48, 0xe1, 0xc8, + 0x96, 0x80, 0xac, 0x0f, 0xf1, 0xa1, 0x15, 0xb1, 0x53, 0x20, 0xce, 0x60, 0xf0, 0xde, 0x03, 0x78, + 0x7d, 0x1f, 0x25, 0x98, 0x9e, 0xe4, 0xdb, 0x35, 0xdf, 0xdf, 0x8e, 0x15, 0x6e, 0xa3, 0xbc, 0x3f, + 0x4b, 0x60, 0xed, 0xab, 0xa1, 0x3e, 0xbf, 0x2b, 0x17, 0xe7, 0x6b, 0x75, 0x78, 0xed, 0xab, 0xb9, + 0xce, 0x03, 0x2a, 0xd8, 0x00, 0xe5, 0x5d, 0x36, 0x8f, 0xbe, 0x98, 0xe5, 0xeb, 0x0c, 0x06, 0xef, + 0x0b, 0x80, 0xed, 0x69, 0xcd, 0x5c, 0x7a, 0xe4, 0x91, 0x15, 0xf4, 0x4e, 0x25, 0xe8, 0x85, 0x4e, + 0xf9, 0x06, 0xe0, 0xad, 0x89, 0x2a, 0xb5, 0xa5, 0x54, 0xa3, 0xf5, 0x07, 0x56, 0x5c, 0xdf, 0xd6, + 0x2f, 0xd5, 0x24, 0xe6, 0xed, 0xd1, 0xf5, 0x51, 0x8a, 0x16, 0xfd, 0xf6, 0x54, 0x86, 0xd7, 0xde, + 0x4f, 0x94, 0xf0, 0x94, 0x46, 0x2e, 0xce, 0xfb, 0x59, 0x10, 0xde, 0x0f, 0x00, 0x6f, 0x68, 0xd1, + 0x8b, 0x94, 0x20, 0x75, 0x79, 0xbe, 0x9b, 0x70, 0x59, 0xa6, 0x5c, 0xf5, 0x0d, 0xd2, 0x98, 0xf0, + 0x9a, 0x2c, 0x5e, 0x64, 0xe9, 0x74, 0xa1, 0x43, 0x8a, 0xd8, 0x85, 0x70, 0x49, 0x0b, 0x57, 0xc9, + 0x54, 0x59, 0xca, 0xdd, 0x7b, 0xd6, 0x94, 0x36, 0xcf, 0xa7, 0x74, 0x81, 0x76, 0x2f, 0xfa, 0x39, + 0x74, 0xc1, 0xd9, 0xd0, 0x05, 0x7f, 0x86, 0x2e, 0xf8, 0x30, 0x72, 0x1b, 0x67, 0x23, 0xb7, 0xf1, + 0x7b, 0xe4, 0x36, 0x5e, 0x3e, 0x3d, 0x66, 0x2a, 0xca, 0x42, 0x1f, 0xf3, 0x38, 0xe8, 0x8d, 0xe7, + 0xf2, 0x21, 0x0a, 0x65, 0x50, 0x4c, 0xe9, 0x2e, 0xe6, 0x82, 0x4e, 0x7e, 0x46, 0x88, 0x25, 0x41, + 0xcc, 0x49, 0x76, 0x42, 0x65, 0x39, 0xea, 0xd5, 0xdb, 0x94, 0xca, 0xf0, 0xaa, 0x9e, 0xcc, 0x3b, + 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xd7, 0xbd, 0xab, 0x13, 0x0d, 0x08, 0x00, 0x00, } func (m *CreateSpotLimitOrderAuthz) Marshal() (dAtA []byte, err error) { diff --git a/chain/exchange/types/authz_common.go b/chain/exchange/types/authz_common.go index c5295775..af36d14e 100644 --- a/chain/exchange/types/authz_common.go +++ b/chain/exchange/types/authz_common.go @@ -1,6 +1,8 @@ package types import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/x/authz" @@ -39,7 +41,7 @@ func (a BatchUpdateOrdersAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgBatchUpdateOrders{}) } -func (a BatchUpdateOrdersAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a BatchUpdateOrdersAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { ordersToUpdate, ok := msg.(*MsgBatchUpdateOrders) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") diff --git a/chain/exchange/types/authz_derivative.go b/chain/exchange/types/authz_derivative.go index 1b62735c..f0db08a0 100644 --- a/chain/exchange/types/authz_derivative.go +++ b/chain/exchange/types/authz_derivative.go @@ -1,6 +1,8 @@ package types import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/x/authz" @@ -19,7 +21,7 @@ func (a CreateDerivativeLimitOrderAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgCreateDerivativeLimitOrder{}) } -func (a CreateDerivativeLimitOrderAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a CreateDerivativeLimitOrderAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { derivativeOrder, ok := msg.(*MsgCreateDerivativeLimitOrder) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") @@ -59,7 +61,7 @@ func (a CreateDerivativeMarketOrderAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgCreateDerivativeMarketOrder{}) } -func (a CreateDerivativeMarketOrderAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a CreateDerivativeMarketOrderAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { derivativeOrder, ok := msg.(*MsgCreateDerivativeMarketOrder) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") @@ -99,7 +101,7 @@ func (a BatchCreateDerivativeLimitOrdersAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgBatchCreateDerivativeLimitOrders{}) } -func (a BatchCreateDerivativeLimitOrdersAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a BatchCreateDerivativeLimitOrdersAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { derivativeOrders, ok := msg.(*MsgBatchCreateDerivativeLimitOrders) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") @@ -141,7 +143,7 @@ func (a CancelDerivativeOrderAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgCancelDerivativeOrder{}) } -func (a CancelDerivativeOrderAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a CancelDerivativeOrderAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { orderToCancel, ok := msg.(*MsgCancelDerivativeOrder) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") @@ -181,7 +183,7 @@ func (a BatchCancelDerivativeOrdersAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgBatchCancelDerivativeOrders{}) } -func (a BatchCancelDerivativeOrdersAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a BatchCancelDerivativeOrdersAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { ordersToCancel, ok := msg.(*MsgBatchCancelDerivativeOrders) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") diff --git a/chain/exchange/types/authz_spot.go b/chain/exchange/types/authz_spot.go index 3978f535..0517e7ac 100644 --- a/chain/exchange/types/authz_spot.go +++ b/chain/exchange/types/authz_spot.go @@ -1,6 +1,8 @@ package types import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/x/authz" @@ -19,7 +21,7 @@ func (a CreateSpotLimitOrderAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgCreateSpotLimitOrder{}) } -func (a CreateSpotLimitOrderAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a CreateSpotLimitOrderAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { spotOrder, ok := msg.(*MsgCreateSpotLimitOrder) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") @@ -59,7 +61,7 @@ func (a CreateSpotMarketOrderAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgCreateSpotMarketOrder{}) } -func (a CreateSpotMarketOrderAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a CreateSpotMarketOrderAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { spotOrder, ok := msg.(*MsgCreateSpotMarketOrder) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") @@ -99,7 +101,7 @@ func (a BatchCreateSpotLimitOrdersAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgBatchCreateSpotLimitOrders{}) } -func (a BatchCreateSpotLimitOrdersAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a BatchCreateSpotLimitOrdersAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { spotOrders, ok := msg.(*MsgBatchCreateSpotLimitOrders) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") @@ -141,7 +143,7 @@ func (a CancelSpotOrderAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgCancelSpotOrder{}) } -func (a CancelSpotOrderAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a CancelSpotOrderAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { orderToCancel, ok := msg.(*MsgCancelSpotOrder) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") @@ -181,7 +183,7 @@ func (a BatchCancelSpotOrdersAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgBatchCancelSpotOrders{}) } -func (a BatchCancelSpotOrdersAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a BatchCancelSpotOrdersAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { ordersToCancel, ok := msg.(*MsgBatchCancelSpotOrders) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") diff --git a/chain/exchange/types/codec.go b/chain/exchange/types/codec.go index 266f67f0..34f6f1e5 100644 --- a/chain/exchange/types/codec.go +++ b/chain/exchange/types/codec.go @@ -8,10 +8,8 @@ import ( "github.com/cosmos/cosmos-sdk/types/msgservice" "github.com/cosmos/cosmos-sdk/x/authz" 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" - proto "github.com/cosmos/gogoproto/proto" + "github.com/cosmos/gogoproto/proto" ) // RegisterLegacyAminoCodec registers the necessary x/exchange interfaces and concrete types @@ -45,8 +43,9 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgCreateBinaryOptionsMarketOrder{}, "exchange/MsgCreateBinaryOptionsMarketOrder", nil) 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(&MsgUpdateSpotMarket{}, "exchange/MsgUpdateSpotMarket", nil) + cdc.RegisterConcrete(&MsgUpdateDerivativeMarket{}, "exchange/MsgUpdateDerivativeMarket", nil) cdc.RegisterConcrete(&ExchangeEnableProposal{}, "exchange/ExchangeEnableProposal", nil) cdc.RegisterConcrete(&BatchExchangeModificationProposal{}, "exchange/BatchExchangeModificationProposal", nil) @@ -77,6 +76,8 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&CancelDerivativeOrderAuthz{}, "exchange/CancelDerivativeOrderAuthz", nil) cdc.RegisterConcrete(&BatchCancelDerivativeOrdersAuthz{}, "exchange/BatchCancelDerivativeOrdersAuthz", nil) cdc.RegisterConcrete(&BatchUpdateOrdersAuthz{}, "exchange/BatchUpdateOrdersAuthz", nil) + + cdc.RegisterConcrete(&Params{}, "exchange/Params", nil) } func RegisterInterfaces(registry types.InterfaceRegistry) { @@ -109,8 +110,9 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { &MsgCreateBinaryOptionsMarketOrder{}, &MsgCancelBinaryOptionsOrder{}, &MsgAdminUpdateBinaryOptionsMarket{}, - &MsgReclaimLockedFunds{}, &MsgUpdateParams{}, + &MsgUpdateSpotMarket{}, + &MsgUpdateDerivativeMarket{}, ) registry.RegisterImplementations( @@ -169,23 +171,19 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { } var ( - amino = codec.NewLegacyAmino() - // ModuleCdc references the global x/exchange module codec. Note, the codec should // ONLY be used in certain instances of tests and for JSON encoding as Amino is // still used for that purpose. // // The actual codec used for serialization should be provided to x/exchange and // defined at the application level. - ModuleCdc = codec.NewAminoCodec(amino) + ModuleCdc = codec.NewLegacyAmino() ) func init() { - RegisterLegacyAminoCodec(amino) - cryptocodec.RegisterCrypto(amino) - amino.Seal() - - RegisterLegacyAminoCodec(govcdc.Amino) + RegisterLegacyAminoCodec(ModuleCdc) + cryptocodec.RegisterCrypto(ModuleCdc) RegisterLegacyAminoCodec(authzcdc.Amino) - RegisterLegacyAminoCodec(groupcdc.Amino) + + ModuleCdc.Seal() } diff --git a/chain/exchange/types/common_order.go b/chain/exchange/types/common_order.go index 0c0abe99..ba357a76 100644 --- a/chain/exchange/types/common_order.go +++ b/chain/exchange/types/common_order.go @@ -3,7 +3,7 @@ package types import ( "strconv" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" "github.com/cosmos/gogoproto/proto" "github.com/ethereum/go-ethereum/common" ethmath "github.com/ethereum/go-ethereum/common/math" @@ -13,20 +13,20 @@ import ( // GetRequiredBinaryOptionsOrderMargin returns the required margin for a binary options trade (or order) at a given price func GetRequiredBinaryOptionsOrderMargin( - price sdk.Dec, - quantity sdk.Dec, + price math.LegacyDec, + quantity math.LegacyDec, oracleScaleFactor uint32, orderType OrderType, isReduceOnly bool, -) sdk.Dec { +) math.LegacyDec { if isReduceOnly { - return sdk.ZeroDec() + return math.LegacyZeroDec() } if orderType.IsBuy() { return price.Mul(quantity) } - return GetScaledPrice(sdk.OneDec(), oracleScaleFactor).Sub(price).Mul(quantity) + return GetScaledPrice(math.LegacyOneDec(), oracleScaleFactor).Sub(price).Mul(quantity) } func (t OrderType) IsBuy() bool { @@ -68,11 +68,11 @@ func (t OrderType) IsAtomic() bool { return false } -func (m *OrderInfo) GetNotional() sdk.Dec { +func (m *OrderInfo) GetNotional() math.LegacyDec { return m.Quantity.Mul(m.Price) } -func (m *OrderInfo) GetFeeAmount(fee sdk.Dec) sdk.Dec { +func (m *OrderInfo) GetFeeAmount(fee math.LegacyDec) math.LegacyDec { return m.GetNotional().Mul(fee) } diff --git a/chain/exchange/types/common_utils.go b/chain/exchange/types/common_utils.go index 2069b826..c949b754 100644 --- a/chain/exchange/types/common_utils.go +++ b/chain/exchange/types/common_utils.go @@ -9,6 +9,7 @@ import ( "strings" "cosmossdk.io/errors" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/ethereum/go-ethereum/common" ) @@ -37,21 +38,21 @@ func IsIBCDenom(denom string) bool { type SpotLimitOrderDelta struct { Order *SpotLimitOrder - FillQuantity sdk.Dec + FillQuantity math.LegacyDec } type DerivativeLimitOrderDelta struct { Order *DerivativeLimitOrder - FillQuantity sdk.Dec - CancelQuantity sdk.Dec + FillQuantity math.LegacyDec + CancelQuantity math.LegacyDec } type DerivativeMarketOrderDelta struct { Order *DerivativeMarketOrder - FillQuantity sdk.Dec + FillQuantity math.LegacyDec } -func (d *DerivativeMarketOrderDelta) UnfilledQuantity() sdk.Dec { +func (d *DerivativeMarketOrderDelta) UnfilledQuantity() math.LegacyDec { return d.Order.OrderInfo.Quantity.Sub(d.FillQuantity) } @@ -63,11 +64,11 @@ func (d *DerivativeLimitOrderDelta) SubaccountID() common.Hash { return d.Order.SubaccountID() } -func (d *DerivativeLimitOrderDelta) Price() sdk.Dec { +func (d *DerivativeLimitOrderDelta) Price() math.LegacyDec { return d.Order.Price() } -func (d *DerivativeLimitOrderDelta) FillableQuantity() sdk.Dec { +func (d *DerivativeLimitOrderDelta) FillableQuantity() math.LegacyDec { return d.Order.Fillable.Sub(d.CancelQuantity) } @@ -88,6 +89,8 @@ var TempRewardsSenderAddress = sdk.AccAddress(common.HexToAddress(ZeroSubaccount // inj1qqq3zyg3zyg3zyg3zyg3zyg3zyg3zyg3c9gg96 var AuctionFeesAddress = sdk.AccAddress(common.HexToAddress(AuctionSubaccountID.Hex()).Bytes()) +var hexRegex = regexp.MustCompile("^(0x)?[0-9a-fA-F]+$") + func StringInSlice(a string, list *[]string) bool { for _, b := range *list { if b == a { @@ -161,11 +164,10 @@ func IsHexHash(s string) bool { } func isHexString(str string) bool { - isMatched, _ := regexp.MatchString("^(0x)?[0-9a-fA-F]+$", str) - return isMatched + return hexRegex.MatchString(str) } -func BreachesMinimumTickSize(value, minTickSize sdk.Dec) bool { +func BreachesMinimumTickSize(value, minTickSize math.LegacyDec) bool { // obviously breached if the value less than the minTickSize if value.LT(minTickSize) { return true @@ -300,18 +302,26 @@ func EthAddressToSubaccountID(addr common.Address) common.Hash { return common.BytesToHash(common.RightPadBytes(addr.Bytes(), 32)) } -func DecToDecBytes(dec sdk.Dec) []byte { +func DecToDecBytes(dec math.LegacyDec) []byte { return dec.BigInt().Bytes() } -func DecBytesToDec(bz []byte) sdk.Dec { - dec := sdk.NewDecFromBigIntWithPrec(new(big.Int).SetBytes(bz), sdk.Precision) +func DecBytesToDec(bz []byte) math.LegacyDec { + dec := math.LegacyNewDecFromBigIntWithPrec(new(big.Int).SetBytes(bz), math.LegacyPrecision) if dec.IsNil() { - return sdk.ZeroDec() + return math.LegacyZeroDec() } return dec } +func IntToIntBytes(i math.Int) []byte { + return i.BigInt().Bytes() +} + +func IntBytesToInt(bz []byte) math.Int { + return math.NewIntFromBigInt(new(big.Int).SetBytes(bz)) +} + func HasDuplicates(slice []string) bool { seen := make(map[string]struct{}) for _, item := range slice { diff --git a/chain/exchange/types/deposit.go b/chain/exchange/types/deposit.go index 4814f94b..e0afd9d7 100644 --- a/chain/exchange/types/deposit.go +++ b/chain/exchange/types/deposit.go @@ -5,14 +5,14 @@ import ( "fmt" "sort" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" "github.com/ethereum/go-ethereum/common" ) func NewDeposit() *Deposit { return &Deposit{ - AvailableBalance: sdk.ZeroDec(), - TotalBalance: sdk.ZeroDec(), + AvailableBalance: math.LegacyZeroDec(), + TotalBalance: math.LegacyZeroDec(), } } @@ -25,11 +25,11 @@ func (d *Deposit) Display() string { } type DepositDelta struct { - AvailableBalanceDelta sdk.Dec - TotalBalanceDelta sdk.Dec + AvailableBalanceDelta math.LegacyDec + TotalBalanceDelta math.LegacyDec } -func NewUniformDepositDelta(delta sdk.Dec) *DepositDelta { +func NewUniformDepositDelta(delta math.LegacyDec) *DepositDelta { return &DepositDelta{ AvailableBalanceDelta: delta, TotalBalanceDelta: delta, @@ -37,10 +37,10 @@ func NewUniformDepositDelta(delta sdk.Dec) *DepositDelta { } func NewDepositDelta() *DepositDelta { - return NewUniformDepositDelta(sdk.ZeroDec()) + return NewUniformDepositDelta(math.LegacyZeroDec()) } -func (d *DepositDelta) AddAvailableBalance(amount sdk.Dec) { +func (d *DepositDelta) AddAvailableBalance(amount math.LegacyDec) { d.AvailableBalanceDelta = d.AvailableBalanceDelta.Add(amount) } @@ -74,11 +74,11 @@ func (d *DepositDeltas) ApplyDepositDelta(subaccountID common.Hash, delta *Depos d.ApplyDelta(subaccountID, delta.TotalBalanceDelta, delta.AvailableBalanceDelta) } -func (d *DepositDeltas) ApplyUniformDelta(subaccountID common.Hash, delta sdk.Dec) { +func (d *DepositDeltas) ApplyUniformDelta(subaccountID common.Hash, delta math.LegacyDec) { d.ApplyDelta(subaccountID, delta, delta) } -func (d *DepositDeltas) ApplyDelta(subaccountID common.Hash, totalBalanceDelta, availableBalanceDelta sdk.Dec) { +func (d *DepositDeltas) ApplyDelta(subaccountID common.Hash, totalBalanceDelta, availableBalanceDelta math.LegacyDec) { delta := (*d)[subaccountID] if delta == nil { delta = NewDepositDelta() diff --git a/chain/exchange/types/derivative_orders.go b/chain/exchange/types/derivative_orders.go index 7bc947f5..630b470a 100644 --- a/chain/exchange/types/derivative_orders.go +++ b/chain/exchange/types/derivative_orders.go @@ -2,6 +2,7 @@ package types import ( "cosmossdk.io/errors" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/ethereum/go-ethereum/common" ) @@ -10,7 +11,7 @@ func NewMarketOrderForLiquidation( position *Position, positionSubaccountID common.Hash, liquidator sdk.AccAddress, - worstPrice sdk.Dec, + worstPrice math.LegacyDec, ) *DerivativeMarketOrder { var ( orderType OrderType @@ -32,8 +33,8 @@ func NewMarketOrderForLiquidation( Quantity: position.Quantity, }, OrderType: orderType, - Margin: sdk.ZeroDec(), - MarginHold: sdk.ZeroDec(), + Margin: math.LegacyZeroDec(), + MarginHold: math.LegacyZeroDec(), TriggerPrice: nil, } @@ -48,6 +49,7 @@ func (m *DerivativeLimitOrder) ToTrimmed() *TrimmedDerivativeLimitOrder { Fillable: m.Fillable, IsBuy: m.IsBuy(), OrderHash: common.BytesToHash(m.OrderHash).Hex(), + Cid: m.Cid(), } } @@ -57,18 +59,18 @@ func (o *DerivativeMarketOrderCancel) GetCancelDepositDelta() *DepositDelta { if order.IsVanilla() && o.CancelQuantity.Equal(order.OrderInfo.Quantity) { return &DepositDelta{ AvailableBalanceDelta: order.MarginHold, - TotalBalanceDelta: sdk.ZeroDec(), + TotalBalanceDelta: math.LegacyZeroDec(), } } // TODO: double check that partial market order executions are covered earlier upstream return nil } -func (o *DerivativeMarketOrder) GetCancelRefundAmount() sdk.Dec { +func (o *DerivativeMarketOrder) GetCancelRefundAmount() math.LegacyDec { if o.IsVanilla() { return o.MarginHold } - return sdk.ZeroDec() + return math.LegacyZeroDec() } func (o *DerivativeMarketOrderCancel) ApplyDerivativeMarketCancellation( @@ -93,7 +95,7 @@ func NewDerivativeMarketOrder(o *DerivativeOrder, sender sdk.AccAddress, orderHa OrderInfo: o.OrderInfo, OrderType: o.OrderType, Margin: o.Margin, - MarginHold: sdk.ZeroDec(), + MarginHold: math.LegacyZeroDec(), TriggerPrice: o.TriggerPrice, OrderHash: orderHash.Bytes(), } @@ -132,7 +134,7 @@ func (o *DerivativeMarketOrder) ToDerivativeOrder(marketID string) *DerivativeOr } } -func (o *DerivativeLimitOrder) HasEqualOrWorsePrice(price sdk.Dec) bool { +func (o *DerivativeLimitOrder) HasEqualOrWorsePrice(price math.LegacyDec) bool { // the buy order has a worse price than the input price if it's less than if o.IsBuy() { return o.Price().LTE(price) @@ -140,7 +142,7 @@ func (o *DerivativeLimitOrder) HasEqualOrWorsePrice(price sdk.Dec) bool { return o.Price().GTE(price) } -func (o *DerivativeMarketOrder) HasEqualOrWorsePrice(price sdk.Dec) bool { +func (o *DerivativeMarketOrder) HasEqualOrWorsePrice(price math.LegacyDec) bool { // the buy order has a worse price than the input price if it's less than if o.IsBuy() { return o.Price().LTE(price) @@ -148,7 +150,7 @@ func (o *DerivativeMarketOrder) HasEqualOrWorsePrice(price sdk.Dec) bool { return o.Price().GTE(price) } -func ResizeReduceOnlyOrder(o IMutableDerivativeOrder, newQuantity sdk.Dec) error { +func ResizeReduceOnlyOrder(o IMutableDerivativeOrder, newQuantity math.LegacyDec) error { if o.IsVanilla() { return ErrOrderInvalid.Wrap("ResizeReduceOnlyOrder should only be used for reduce only orders!") } @@ -163,7 +165,7 @@ func ResizeReduceOnlyOrder(o IMutableDerivativeOrder, newQuantity sdk.Dec) error } func (o *DerivativeMarketOrder) ResizeReduceOnlyOrder( - newQuantity sdk.Dec, + newQuantity math.LegacyDec, oracleScaleFactor uint32, isBinaryOptionsOrder bool, ) { @@ -185,38 +187,38 @@ func (o *DerivativeMarketOrder) ResizeReduceOnlyOrder( } } -func (o *DerivativeLimitOrder) GetRequiredBinaryOptionsMargin(oracleScaleFactor uint32) sdk.Dec { +func (o *DerivativeLimitOrder) GetRequiredBinaryOptionsMargin(oracleScaleFactor uint32) math.LegacyDec { // Margin = Price * Quantity for buys if o.IsBuy() { notional := o.Price().Mul(o.OrderInfo.Quantity) return notional } // Margin = (scaled(1) - Price) * Quantity for sells - return o.OrderInfo.Quantity.Mul(GetScaledPrice(sdk.OneDec(), oracleScaleFactor).Sub(o.Price())) + return o.OrderInfo.Quantity.Mul(GetScaledPrice(math.LegacyOneDec(), oracleScaleFactor).Sub(o.Price())) } -func (o *DerivativeMarketOrder) GetRequiredBinaryOptionsMargin(oracleScaleFactor uint32) sdk.Dec { +func (o *DerivativeMarketOrder) GetRequiredBinaryOptionsMargin(oracleScaleFactor uint32) math.LegacyDec { // Margin = Price * Quantity for buys if o.IsBuy() { notional := o.Price().Mul(o.OrderInfo.Quantity) return notional } // Margin = (scaled(1) - Price) * Quantity for sells - return o.OrderInfo.Quantity.Mul(GetScaledPrice(sdk.OneDec(), oracleScaleFactor).Sub(o.Price())) + return o.OrderInfo.Quantity.Mul(GetScaledPrice(math.LegacyOneDec(), oracleScaleFactor).Sub(o.Price())) } -func (o *DerivativeLimitOrder) GetCancelDepositDelta(feeRate sdk.Dec) *DepositDelta { +func (o *DerivativeLimitOrder) GetCancelDepositDelta(feeRate math.LegacyDec) *DepositDelta { return &DepositDelta{ AvailableBalanceDelta: o.GetCancelRefundAmount(feeRate), - TotalBalanceDelta: sdk.ZeroDec(), + TotalBalanceDelta: math.LegacyZeroDec(), } } -func (o *DerivativeLimitOrder) GetCancelRefundAmount(feeRate sdk.Dec) sdk.Dec { - marginHoldRefund := sdk.ZeroDec() +func (o *DerivativeLimitOrder) GetCancelRefundAmount(feeRate math.LegacyDec) math.LegacyDec { + marginHoldRefund := math.LegacyZeroDec() if o.IsVanilla() { // negative fees are only accounted for upon matching - positiveFeePart := sdk.MaxDec(sdk.ZeroDec(), feeRate) + positiveFeePart := math.LegacyMaxDec(math.LegacyZeroDec(), feeRate) //nolint:all // Refund = (FillableQuantity / Quantity) * (Margin + Price * Quantity * feeRate) notional := o.OrderInfo.Price.Mul(o.OrderInfo.Quantity) @@ -225,45 +227,48 @@ func (o *DerivativeLimitOrder) GetCancelRefundAmount(feeRate sdk.Dec) sdk.Dec { return marginHoldRefund } -func (o *DerivativeOrder) CheckTickSize(minPriceTickSize, minQuantityTickSize sdk.Dec) error { +func (o *DerivativeOrder) CheckTickSize(minPriceTickSize, minQuantityTickSize math.LegacyDec) error { if BreachesMinimumTickSize(o.OrderInfo.Price, minPriceTickSize) { 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 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 errors.Wrapf(ErrInvalidMargin, "margin %s must be a multiple of the minimum quantity tick size %s", o.Margin.String(), minQuantityTickSize.String()) - } + return nil +} + +func (o *DerivativeOrder) CheckNotional(minNotional math.LegacyDec) error { + orderNotional := o.GetQuantity().Mul(o.GetPrice()) + if !minNotional.IsNil() && orderNotional.LT(minNotional) { + return errors.Wrapf(ErrInvalidNotional, "order notional (%s) is less than the minimum notional for the market (%s)", orderNotional.String(), minNotional.String()) } return nil } -func GetScaledPrice(price sdk.Dec, scaleFactor uint32) sdk.Dec { - return price.Mul(sdk.NewDec(10).Power(uint64(scaleFactor))) +func GetScaledPrice(price math.LegacyDec, scaleFactor uint32) math.LegacyDec { + return price.Mul(math.LegacyNewDec(10).Power(uint64(scaleFactor))) } -func (o *DerivativeOrder) GetRequiredBinaryOptionsMargin(oracleScaleFactor uint32) sdk.Dec { +func (o *DerivativeOrder) GetRequiredBinaryOptionsMargin(oracleScaleFactor uint32) math.LegacyDec { // Margin = Price * Quantity for buys if o.IsBuy() { notional := o.Price().Mul(o.OrderInfo.Quantity) return notional } // Margin = (scaled(1) - Price) * Quantity for sells - return o.OrderInfo.Quantity.Mul(GetScaledPrice(sdk.OneDec(), oracleScaleFactor).Sub(o.Price())) + return o.OrderInfo.Quantity.Mul(GetScaledPrice(math.LegacyOneDec(), oracleScaleFactor).Sub(o.Price())) } -func (o *DerivativeOrder) CheckMarginAndGetMarginHold(initialMarginRatio, executionMarkPrice, feeRate sdk.Dec, marketType MarketType, oracleScaleFactor uint32) (marginHold sdk.Dec, err error) { +func (o *DerivativeOrder) CheckMarginAndGetMarginHold(initialMarginRatio, executionMarkPrice, feeRate math.LegacyDec, marketType MarketType, oracleScaleFactor uint32) (marginHold math.LegacyDec, err error) { notional := o.OrderInfo.Price.Mul(o.OrderInfo.Quantity) - positiveFeeRatePart := sdk.MaxDec(feeRate, sdk.ZeroDec()) + positiveFeeRatePart := math.LegacyMaxDec(feeRate, math.LegacyZeroDec()) feeAmount := notional.Mul(positiveFeeRatePart) marginHold = o.Margin.Add(feeAmount) if marketType == MarketType_BinaryOption { requiredMargin := o.GetRequiredBinaryOptionsMargin(oracleScaleFactor) if !o.Margin.Equal(requiredMargin) { - return sdk.Dec{}, errors.Wrapf(ErrInsufficientOrderMargin, "margin check: need %s but got %s", requiredMargin.String(), o.Margin.String()) + return math.LegacyDec{}, errors.Wrapf(ErrInsufficientMargin, "margin check: need %s but got %s", requiredMargin.String(), o.Margin.String()) } return marginHold, nil } @@ -271,31 +276,34 @@ 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{}, errors.Wrapf(ErrInsufficientOrderMargin, "InitialMarginRatio Check: need at least %s but got %s", initialMarginRatio.Mul(notional).String(), o.Margin.String()) + return math.LegacyDec{}, errors.Wrapf(ErrInsufficientMargin, "InitialMarginRatio Check: need at least %s but got %s", initialMarginRatio.Mul(notional).String(), o.Margin.String()) } if err := o.CheckInitialMarginRequirementMarkPriceThreshold(initialMarginRatio, executionMarkPrice); err != nil { - return sdk.Dec{}, err + return math.LegacyDec{}, err } return marginHold, nil } -func (o *DerivativeOrder) CheckInitialMarginRequirementMarkPriceThreshold(initialMarginRatio, markPrice sdk.Dec) (err error) { - markPriceThreshold := o.ComputeInitialMarginRequirementMarkPriceThreshold(initialMarginRatio) +func (o *DerivativeOrder) CheckInitialMarginRequirementMarkPriceThreshold(initialMarginRatio, markPrice math.LegacyDec) (err error) { // 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 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 errors.Wrapf(ErrInsufficientOrderMargin, "Sell MarkPriceThreshold Check: mark/trigger price %s must be LTE %s", markPrice.String(), markPriceThreshold.String()) - } + markPriceThreshold := o.ComputeInitialMarginRequirementMarkPriceThreshold(initialMarginRatio) + return CheckInitialMarginMarkPriceRequirement(o.IsBuy(), markPriceThreshold, markPrice) +} +func CheckInitialMarginMarkPriceRequirement(isBuyOrLong bool, markPriceThreshold, markPrice math.LegacyDec) error { + if isBuyOrLong && markPrice.LT(markPriceThreshold) { + return errors.Wrapf(ErrInsufficientMargin, "Buy MarkPriceThreshold Check: mark/trigger price %s must be GTE %s", markPrice.String(), markPriceThreshold.String()) + } else if !isBuyOrLong && markPrice.GT(markPriceThreshold) { + return errors.Wrapf(ErrInsufficientMargin, "Sell MarkPriceThreshold Check: mark/trigger price %s must be LTE %s", markPrice.String(), markPriceThreshold.String()) + } return nil } // CheckValidConditionalPrice checks that conditional order type (STOP or TAKE) actually valid for current relation between triggerPrice and markPrice -func (o *DerivativeOrder) CheckValidConditionalPrice(markPrice sdk.Dec) (err error) { +func (o *DerivativeOrder) CheckValidConditionalPrice(markPrice math.LegacyDec) (err error) { if !o.IsConditional() { return nil } @@ -315,7 +323,7 @@ func (o *DerivativeOrder) CheckValidConditionalPrice(markPrice sdk.Dec) (err err // CheckBinaryOptionsPricesWithinBounds checks that binary options order prices don't exceed 1 (scaled) func (o *DerivativeOrder) CheckBinaryOptionsPricesWithinBounds(oracleScaleFactor uint32) (err error) { - maxScaledPrice := GetScaledPrice(sdk.OneDec(), oracleScaleFactor) + maxScaledPrice := GetScaledPrice(math.LegacyOneDec(), oracleScaleFactor) if o.Price().GTE(maxScaledPrice) { return errors.Wrapf(ErrInvalidPrice, "price must be less than %s", maxScaledPrice.String()) } @@ -326,24 +334,28 @@ func (o *DerivativeOrder) CheckBinaryOptionsPricesWithinBounds(oracleScaleFactor return nil } -func (o *DerivativeOrder) ComputeInitialMarginRequirementMarkPriceThreshold(initialMarginRatio sdk.Dec) sdk.Dec { - notional := o.OrderInfo.Price.Mul(o.OrderInfo.Quantity) - var numerator, denominator sdk.Dec - if o.OrderType.IsBuy() { - numerator = o.Margin.Sub(notional) - denominator = initialMarginRatio.Sub(sdk.OneDec()).Mul(o.OrderInfo.Quantity) +func (o *DerivativeOrder) ComputeInitialMarginRequirementMarkPriceThreshold(initialMarginRatio math.LegacyDec) math.LegacyDec { + return ComputeMarkPriceThreshold(o.IsBuy(), o.Price(), o.GetQuantity(), o.Margin, initialMarginRatio) +} + +func ComputeMarkPriceThreshold(isBuyOrLong bool, price, quantity, margin, initialMarginRatio math.LegacyDec) math.LegacyDec { + notional := price.Mul(quantity) + var numerator, denominator math.LegacyDec + if isBuyOrLong { + numerator = margin.Sub(notional) + denominator = initialMarginRatio.Sub(math.LegacyOneDec()).Mul(quantity) } else { - numerator = o.Margin.Add(notional) - denominator = initialMarginRatio.Add(sdk.OneDec()).Mul(o.OrderInfo.Quantity) + numerator = margin.Add(notional) + denominator = initialMarginRatio.Add(math.LegacyOneDec()).Mul(quantity) } return numerator.Quo(denominator) } -func (o *DerivativeLimitOrder) CheckInitialMarginRequirementMarkPriceThreshold(initialMarginRatio, markPrice sdk.Dec) (err error) { +func (o *DerivativeLimitOrder) CheckInitialMarginRequirementMarkPriceThreshold(initialMarginRatio, markPrice math.LegacyDec) (err error) { return o.ToDerivativeOrder("").CheckInitialMarginRequirementMarkPriceThreshold(initialMarginRatio, markPrice) } -func (o *DerivativeMarketOrder) CheckInitialMarginRequirementMarkPriceThreshold(initialMarginRatio, markPrice sdk.Dec) (err error) { +func (o *DerivativeMarketOrder) CheckInitialMarginRequirementMarkPriceThreshold(initialMarginRatio, markPrice math.LegacyDec) (err error) { return o.ToDerivativeOrder("").CheckInitialMarginRequirementMarkPriceThreshold(initialMarginRatio, markPrice) } @@ -417,23 +429,23 @@ func (m *DerivativeOrder) IsBuy() bool { return m.OrderType.IsBuy() } -func (m *DerivativeMarketOrder) Quantity() sdk.Dec { +func (m *DerivativeMarketOrder) Quantity() math.LegacyDec { return m.OrderInfo.Quantity } -func (m *DerivativeMarketOrder) FillableQuantity() sdk.Dec { +func (m *DerivativeMarketOrder) FillableQuantity() math.LegacyDec { return m.OrderInfo.Quantity } -func (m *DerivativeMarketOrder) Price() sdk.Dec { +func (m *DerivativeMarketOrder) Price() math.LegacyDec { return m.OrderInfo.Price } -func (m *DerivativeLimitOrder) Price() sdk.Dec { +func (m *DerivativeLimitOrder) Price() math.LegacyDec { return m.OrderInfo.Price } -func (m *DerivativeOrder) Price() sdk.Dec { +func (m *DerivativeOrder) Price() math.LegacyDec { return m.OrderInfo.Price } @@ -512,10 +524,10 @@ func (o *TrimmedDerivativeLimitOrder) IsReduceOnly() bool { func EmptyDerivativeMarketOrderResults() *DerivativeMarketOrderResults { return &DerivativeMarketOrderResults{ - Quantity: sdk.ZeroDec(), - Price: sdk.ZeroDec(), - Fee: sdk.ZeroDec(), + Quantity: math.LegacyZeroDec(), + Price: math.LegacyZeroDec(), + Fee: math.LegacyZeroDec(), PositionDelta: PositionDelta{}, - Payout: sdk.ZeroDec(), + Payout: math.LegacyZeroDec(), } } diff --git a/chain/exchange/types/errors.go b/chain/exchange/types/errors.go index 0d148680..b7b6035b 100644 --- a/chain/exchange/types/errors.go +++ b/chain/exchange/types/errors.go @@ -30,7 +30,7 @@ var ( 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") + ErrInsufficientMargin = errors.Register(ModuleName, 26, "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") @@ -104,4 +104,9 @@ var ( ErrClientOrderIdAlreadyExists = errors.Register(ModuleName, 97, "client order id already exists") ErrInvalidCid = errors.Register(ModuleName, 98, "client order id is invalid. Max length is 36 chars") ErrInvalidEmergencySettle = errors.Register(ModuleName, 99, "market cannot be settled in emergency mode") + ErrInvalidNotional = errors.Register(ModuleName, 100, "invalid notional") + ErrStaleOraclePrice = errors.Register(ModuleName, 101, "stale oracle price") + ErrInvalidStakeGrant = errors.Register(ModuleName, 102, "invalid stake grant") + ErrInsufficientStake = errors.Register(ModuleName, 103, "insufficient stake for grant") + ErrInvalidPermissions = errors.Register(ModuleName, 104, "invalid permissions") ) diff --git a/chain/exchange/types/events.go b/chain/exchange/types/events.go index d0143c3c..0ed30b40 100644 --- a/chain/exchange/types/events.go +++ b/chain/exchange/types/events.go @@ -6,11 +6,28 @@ import ( // Event type and attribute constants -func (e *EventOrderFail) AddOrderFail(orderHash common.Hash, flag uint32) { +func (e *EventOrderFail) AddOrderFail(orderHash common.Hash, cid string, flag uint32) { e.Hashes = append(e.Hashes, orderHash.Bytes()) e.Flags = append(e.Flags, flag) + + if cid != "" { + e.Cids = append(e.Cids, cid) + } } func (e *EventOrderFail) IsEmpty() bool { - return len(e.Flags) == 0 && len(e.Hashes) == 0 + return len(e.Flags) == 0 && len(e.Hashes) == 0 && len(e.Cids) == 0 +} + +func NewEventOrderCancelFail(marketID, subaccountID common.Hash, orderHash, cid string, err error) *EventOrderCancelFail { + ev := &EventOrderCancelFail{ + MarketId: marketID.Hex(), + SubaccountId: subaccountID.Hex(), + OrderHash: orderHash, + Cid: cid, + } + if err != nil { + ev.Description = err.Error() + } + return ev } diff --git a/chain/exchange/types/events.pb.go b/chain/exchange/types/events.pb.go index fde0ea75..4e09ca34 100644 --- a/chain/exchange/types/events.pb.go +++ b/chain/exchange/types/events.pb.go @@ -4,9 +4,9 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" _ "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/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" @@ -99,9 +99,9 @@ type EventBatchDerivativeExecution struct { IsBuy bool `protobuf:"varint,2,opt,name=is_buy,json=isBuy,proto3" json:"is_buy,omitempty"` IsLiquidation bool `protobuf:"varint,3,opt,name=is_liquidation,json=isLiquidation,proto3" json:"is_liquidation,omitempty"` // nil for time expiry futures - CumulativeFunding *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=cumulative_funding,json=cumulativeFunding,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"cumulative_funding,omitempty"` - ExecutionType ExecutionType `protobuf:"varint,5,opt,name=executionType,proto3,enum=injective.exchange.v1beta1.ExecutionType" json:"executionType,omitempty"` - Trades []*DerivativeTradeLog `protobuf:"bytes,6,rep,name=trades,proto3" json:"trades,omitempty"` + CumulativeFunding *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=cumulative_funding,json=cumulativeFunding,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cumulative_funding,omitempty"` + ExecutionType ExecutionType `protobuf:"varint,5,opt,name=executionType,proto3,enum=injective.exchange.v1beta1.ExecutionType" json:"executionType,omitempty"` + Trades []*DerivativeTradeLog `protobuf:"bytes,6,rep,name=trades,proto3" json:"trades,omitempty"` } func (m *EventBatchDerivativeExecution) Reset() { *m = EventBatchDerivativeExecution{} } @@ -173,10 +173,10 @@ func (m *EventBatchDerivativeExecution) GetTrades() []*DerivativeTradeLog { } type EventLostFundsFromLiquidation struct { - MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - SubaccountId []byte `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - LostFundsFromAvailableDuringPayout github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=lost_funds_from_available_during_payout,json=lostFundsFromAvailableDuringPayout,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"lost_funds_from_available_during_payout"` - LostFundsFromOrderCancels github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=lost_funds_from_order_cancels,json=lostFundsFromOrderCancels,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"lost_funds_from_order_cancels"` + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + SubaccountId []byte `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + LostFundsFromAvailableDuringPayout cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=lost_funds_from_available_during_payout,json=lostFundsFromAvailableDuringPayout,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"lost_funds_from_available_during_payout"` + LostFundsFromOrderCancels cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=lost_funds_from_order_cancels,json=lostFundsFromOrderCancels,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"lost_funds_from_order_cancels"` } func (m *EventLostFundsFromLiquidation) Reset() { *m = EventLostFundsFromLiquidation{} } @@ -839,11 +839,11 @@ func (m *EventExpiryFuturesMarketUpdate) GetExpiryFuturesMarketInfo() *ExpiryFut } type EventPerpetualMarketFundingUpdate struct { - MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - Funding PerpetualMarketFunding `protobuf:"bytes,2,opt,name=funding,proto3" json:"funding"` - IsHourlyFunding bool `protobuf:"varint,3,opt,name=is_hourly_funding,json=isHourlyFunding,proto3" json:"is_hourly_funding,omitempty"` - FundingRate *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=funding_rate,json=fundingRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"funding_rate,omitempty"` - MarkPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=mark_price,json=markPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"mark_price,omitempty"` + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + Funding PerpetualMarketFunding `protobuf:"bytes,2,opt,name=funding,proto3" json:"funding"` + IsHourlyFunding bool `protobuf:"varint,3,opt,name=is_hourly_funding,json=isHourlyFunding,proto3" json:"is_hourly_funding,omitempty"` + FundingRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=funding_rate,json=fundingRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"funding_rate,omitempty"` + MarkPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=mark_price,json=markPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"mark_price,omitempty"` } func (m *EventPerpetualMarketFundingUpdate) Reset() { *m = EventPerpetualMarketFundingUpdate{} } @@ -1125,8 +1125,8 @@ func (m *EventBatchDepositUpdate) GetDepositUpdates() []*DepositUpdate { } type DerivativeMarketOrderCancel struct { - MarketOrder *DerivativeMarketOrder `protobuf:"bytes,1,opt,name=market_order,json=marketOrder,proto3" json:"market_order,omitempty"` - CancelQuantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=cancel_quantity,json=cancelQuantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"cancel_quantity"` + MarketOrder *DerivativeMarketOrder `protobuf:"bytes,1,opt,name=market_order,json=marketOrder,proto3" json:"market_order,omitempty"` + CancelQuantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=cancel_quantity,json=cancelQuantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cancel_quantity"` } func (m *DerivativeMarketOrderCancel) Reset() { *m = DerivativeMarketOrderCancel{} } @@ -1518,6 +1518,7 @@ type EventConditionalDerivativeOrderTrigger struct { IsLimitTrigger bool `protobuf:"varint,2,opt,name=isLimitTrigger,proto3" json:"isLimitTrigger,omitempty"` TriggeredOrderHash []byte `protobuf:"bytes,3,opt,name=triggered_order_hash,json=triggeredOrderHash,proto3" json:"triggered_order_hash,omitempty"` PlacedOrderHash []byte `protobuf:"bytes,4,opt,name=placed_order_hash,json=placedOrderHash,proto3" json:"placed_order_hash,omitempty"` + TriggeredOrderCid string `protobuf:"bytes,5,opt,name=triggered_order_cid,json=triggeredOrderCid,proto3" json:"triggered_order_cid,omitempty"` } func (m *EventConditionalDerivativeOrderTrigger) Reset() { @@ -1583,10 +1584,18 @@ func (m *EventConditionalDerivativeOrderTrigger) GetPlacedOrderHash() []byte { return nil } +func (m *EventConditionalDerivativeOrderTrigger) GetTriggeredOrderCid() string { + if m != nil { + return m.TriggeredOrderCid + } + return "" +} + type EventOrderFail struct { Account []byte `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` Hashes [][]byte `protobuf:"bytes,2,rep,name=hashes,proto3" json:"hashes,omitempty"` Flags []uint32 `protobuf:"varint,3,rep,packed,name=flags,proto3" json:"flags,omitempty"` + Cids []string `protobuf:"bytes,4,rep,name=cids,proto3" json:"cids,omitempty"` } func (m *EventOrderFail) Reset() { *m = EventOrderFail{} } @@ -1643,6 +1652,13 @@ func (m *EventOrderFail) GetFlags() []uint32 { return nil } +func (m *EventOrderFail) GetCids() []string { + if m != nil { + return m.Cids + } + return nil +} + type EventAtomicMarketOrderFeeMultipliersUpdated struct { MarketFeeMultipliers []*MarketFeeMultiplier `protobuf:"bytes,1,rep,name=market_fee_multipliers,json=marketFeeMultipliers,proto3" json:"market_fee_multipliers,omitempty"` } @@ -1855,6 +1871,239 @@ func (m *Orderbook) GetSellLevels() []*Level { return nil } +type EventGrantAuthorizations struct { + Granter string `protobuf:"bytes,1,opt,name=granter,proto3" json:"granter,omitempty"` + Grants []*GrantAuthorization `protobuf:"bytes,2,rep,name=grants,proto3" json:"grants,omitempty"` +} + +func (m *EventGrantAuthorizations) Reset() { *m = EventGrantAuthorizations{} } +func (m *EventGrantAuthorizations) String() string { return proto.CompactTextString(m) } +func (*EventGrantAuthorizations) ProtoMessage() {} +func (*EventGrantAuthorizations) Descriptor() ([]byte, []int) { + return fileDescriptor_20dda602b6b13fd3, []int{32} +} +func (m *EventGrantAuthorizations) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventGrantAuthorizations) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventGrantAuthorizations.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 *EventGrantAuthorizations) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventGrantAuthorizations.Merge(m, src) +} +func (m *EventGrantAuthorizations) XXX_Size() int { + return m.Size() +} +func (m *EventGrantAuthorizations) XXX_DiscardUnknown() { + xxx_messageInfo_EventGrantAuthorizations.DiscardUnknown(m) +} + +var xxx_messageInfo_EventGrantAuthorizations proto.InternalMessageInfo + +func (m *EventGrantAuthorizations) GetGranter() string { + if m != nil { + return m.Granter + } + return "" +} + +func (m *EventGrantAuthorizations) GetGrants() []*GrantAuthorization { + if m != nil { + return m.Grants + } + return nil +} + +type EventGrantActivation struct { + Grantee string `protobuf:"bytes,1,opt,name=grantee,proto3" json:"grantee,omitempty"` + Granter string `protobuf:"bytes,2,opt,name=granter,proto3" json:"granter,omitempty"` + Amount cosmossdk_io_math.Int `protobuf:"bytes,3,opt,name=amount,proto3,customtype=cosmossdk.io/math.Int" json:"amount"` +} + +func (m *EventGrantActivation) Reset() { *m = EventGrantActivation{} } +func (m *EventGrantActivation) String() string { return proto.CompactTextString(m) } +func (*EventGrantActivation) ProtoMessage() {} +func (*EventGrantActivation) Descriptor() ([]byte, []int) { + return fileDescriptor_20dda602b6b13fd3, []int{33} +} +func (m *EventGrantActivation) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventGrantActivation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventGrantActivation.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 *EventGrantActivation) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventGrantActivation.Merge(m, src) +} +func (m *EventGrantActivation) XXX_Size() int { + return m.Size() +} +func (m *EventGrantActivation) XXX_DiscardUnknown() { + xxx_messageInfo_EventGrantActivation.DiscardUnknown(m) +} + +var xxx_messageInfo_EventGrantActivation proto.InternalMessageInfo + +func (m *EventGrantActivation) GetGrantee() string { + if m != nil { + return m.Grantee + } + return "" +} + +func (m *EventGrantActivation) GetGranter() string { + if m != nil { + return m.Granter + } + return "" +} + +type EventInvalidGrant struct { + Grantee string `protobuf:"bytes,1,opt,name=grantee,proto3" json:"grantee,omitempty"` + Granter string `protobuf:"bytes,2,opt,name=granter,proto3" json:"granter,omitempty"` +} + +func (m *EventInvalidGrant) Reset() { *m = EventInvalidGrant{} } +func (m *EventInvalidGrant) String() string { return proto.CompactTextString(m) } +func (*EventInvalidGrant) ProtoMessage() {} +func (*EventInvalidGrant) Descriptor() ([]byte, []int) { + return fileDescriptor_20dda602b6b13fd3, []int{34} +} +func (m *EventInvalidGrant) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventInvalidGrant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventInvalidGrant.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 *EventInvalidGrant) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventInvalidGrant.Merge(m, src) +} +func (m *EventInvalidGrant) XXX_Size() int { + return m.Size() +} +func (m *EventInvalidGrant) XXX_DiscardUnknown() { + xxx_messageInfo_EventInvalidGrant.DiscardUnknown(m) +} + +var xxx_messageInfo_EventInvalidGrant proto.InternalMessageInfo + +func (m *EventInvalidGrant) GetGrantee() string { + if m != nil { + return m.Grantee + } + return "" +} + +func (m *EventInvalidGrant) GetGranter() string { + if m != nil { + return m.Granter + } + return "" +} + +type EventOrderCancelFail struct { + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + OrderHash string `protobuf:"bytes,3,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + Cid string `protobuf:"bytes,4,opt,name=cid,proto3" json:"cid,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` +} + +func (m *EventOrderCancelFail) Reset() { *m = EventOrderCancelFail{} } +func (m *EventOrderCancelFail) String() string { return proto.CompactTextString(m) } +func (*EventOrderCancelFail) ProtoMessage() {} +func (*EventOrderCancelFail) Descriptor() ([]byte, []int) { + return fileDescriptor_20dda602b6b13fd3, []int{35} +} +func (m *EventOrderCancelFail) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventOrderCancelFail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventOrderCancelFail.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 *EventOrderCancelFail) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventOrderCancelFail.Merge(m, src) +} +func (m *EventOrderCancelFail) XXX_Size() int { + return m.Size() +} +func (m *EventOrderCancelFail) XXX_DiscardUnknown() { + xxx_messageInfo_EventOrderCancelFail.DiscardUnknown(m) +} + +var xxx_messageInfo_EventOrderCancelFail proto.InternalMessageInfo + +func (m *EventOrderCancelFail) GetMarketId() string { + if m != nil { + return m.MarketId + } + return "" +} + +func (m *EventOrderCancelFail) GetSubaccountId() string { + if m != nil { + return m.SubaccountId + } + return "" +} + +func (m *EventOrderCancelFail) GetOrderHash() string { + if m != nil { + return m.OrderHash + } + return "" +} + +func (m *EventOrderCancelFail) GetCid() string { + if m != nil { + return m.Cid + } + return "" +} + +func (m *EventOrderCancelFail) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + func init() { proto.RegisterType((*EventBatchSpotExecution)(nil), "injective.exchange.v1beta1.EventBatchSpotExecution") proto.RegisterType((*EventBatchDerivativeExecution)(nil), "injective.exchange.v1beta1.EventBatchDerivativeExecution") @@ -1888,6 +2137,10 @@ func init() { proto.RegisterType((*EventOrderbookUpdate)(nil), "injective.exchange.v1beta1.EventOrderbookUpdate") proto.RegisterType((*OrderbookUpdate)(nil), "injective.exchange.v1beta1.OrderbookUpdate") proto.RegisterType((*Orderbook)(nil), "injective.exchange.v1beta1.Orderbook") + proto.RegisterType((*EventGrantAuthorizations)(nil), "injective.exchange.v1beta1.EventGrantAuthorizations") + proto.RegisterType((*EventGrantActivation)(nil), "injective.exchange.v1beta1.EventGrantActivation") + proto.RegisterType((*EventInvalidGrant)(nil), "injective.exchange.v1beta1.EventInvalidGrant") + proto.RegisterType((*EventOrderCancelFail)(nil), "injective.exchange.v1beta1.EventOrderCancelFail") } func init() { @@ -1895,127 +2148,138 @@ func init() { } var fileDescriptor_20dda602b6b13fd3 = []byte{ - // 1909 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xcb, 0x6f, 0x1c, 0xc7, - 0xf1, 0xe6, 0xf0, 0x65, 0xb2, 0x76, 0x49, 0x9a, 0x23, 0x4a, 0xa6, 0xa9, 0x9f, 0x29, 0x6a, 0x7e, - 0x96, 0x2c, 0xc9, 0xf6, 0xae, 0x45, 0x23, 0xf0, 0x25, 0x87, 0x70, 0x49, 0x11, 0x62, 0x4c, 0x49, - 0x54, 0x53, 0x81, 0x02, 0x01, 0xc6, 0xa0, 0x77, 0xa6, 0xb9, 0xdb, 0xd1, 0xcc, 0xf4, 0x68, 0xba, - 0x87, 0xd2, 0x22, 0xc7, 0x5c, 0x92, 0x53, 0x72, 0x08, 0x90, 0xdc, 0x72, 0xcc, 0x2d, 0x40, 0x0e, - 0x39, 0xe5, 0x96, 0x93, 0x83, 0x5c, 0x8c, 0x9c, 0xf2, 0x82, 0x11, 0x50, 0xf9, 0x0b, 0xf2, 0x17, - 0x04, 0xfd, 0x98, 0xc7, 0x3e, 0x34, 0xda, 0x15, 0x1d, 0xe4, 0xc4, 0x99, 0x9e, 0xea, 0xaf, 0xbe, - 0xfe, 0xba, 0xba, 0xba, 0x6a, 0x09, 0x1f, 0xd0, 0xe8, 0x07, 0xc4, 0x13, 0xf4, 0x94, 0x34, 0xc9, - 0x0b, 0xaf, 0x8b, 0xa3, 0x0e, 0x69, 0x9e, 0xde, 0x6e, 0x13, 0x81, 0x6f, 0x37, 0xc9, 0x29, 0x89, - 0x04, 0x6f, 0xc4, 0x09, 0x13, 0xcc, 0xde, 0xc8, 0x0d, 0x1b, 0x99, 0x61, 0xc3, 0x18, 0x6e, 0xac, - 0x75, 0x58, 0x87, 0x29, 0xb3, 0xa6, 0x7c, 0xd2, 0x33, 0x36, 0x36, 0x3d, 0xc6, 0x43, 0xc6, 0x9b, - 0x6d, 0xcc, 0x0b, 0x4c, 0x8f, 0xd1, 0xc8, 0x7c, 0xbf, 0x56, 0xb8, 0x66, 0x09, 0xf6, 0x82, 0xc2, - 0x48, 0xbf, 0x1a, 0xb3, 0x9b, 0x55, 0x0c, 0x33, 0x26, 0xca, 0xd4, 0xf9, 0x87, 0x05, 0xef, 0xdc, - 0x91, 0xa4, 0x5b, 0x58, 0x78, 0xdd, 0xe3, 0x98, 0x89, 0x3b, 0x2f, 0x88, 0x97, 0x0a, 0xca, 0x22, - 0xfb, 0x32, 0x2c, 0x86, 0x38, 0x79, 0x4a, 0x84, 0x4b, 0xfd, 0x75, 0x6b, 0xcb, 0xba, 0xb1, 0x88, - 0x16, 0xf4, 0xc0, 0x81, 0x6f, 0x5f, 0x84, 0x79, 0xca, 0xdd, 0x76, 0xda, 0x5b, 0x9f, 0xde, 0xb2, - 0x6e, 0x2c, 0xa0, 0x39, 0xca, 0x5b, 0x69, 0xcf, 0x7e, 0x00, 0x4b, 0x24, 0x03, 0x78, 0xd4, 0x8b, - 0xc9, 0xfa, 0xcc, 0x96, 0x75, 0x63, 0x79, 0xfb, 0x66, 0xe3, 0xd5, 0x5a, 0x34, 0xee, 0x94, 0x27, - 0xa0, 0xfe, 0xf9, 0xf6, 0xb7, 0x61, 0x5e, 0x24, 0xd8, 0x27, 0x7c, 0x7d, 0x76, 0x6b, 0xe6, 0x46, - 0x6d, 0xfb, 0xfd, 0x2a, 0xa4, 0x47, 0xd2, 0xf2, 0x90, 0x75, 0x90, 0x99, 0xe3, 0xfc, 0x7b, 0x1a, - 0xde, 0x2b, 0x96, 0xb7, 0x47, 0x12, 0x7a, 0x8a, 0xe5, 0xd4, 0xf3, 0x2d, 0xf2, 0x1a, 0x2c, 0x53, - 0xee, 0x06, 0xf4, 0x59, 0x4a, 0x7d, 0x2c, 0x51, 0xd4, 0x2a, 0x17, 0xd0, 0x12, 0xe5, 0x87, 0xc5, - 0xa0, 0xfd, 0x05, 0xd8, 0x5e, 0x1a, 0xa6, 0x81, 0xf2, 0xe8, 0x9e, 0xa4, 0x91, 0x4f, 0xa3, 0xce, - 0xfa, 0xac, 0xf4, 0xd1, 0x6a, 0x7c, 0xf9, 0xf5, 0x15, 0xeb, 0x6f, 0x5f, 0x5f, 0xb9, 0xde, 0xa1, - 0xa2, 0x9b, 0xb6, 0x1b, 0x1e, 0x0b, 0x9b, 0x66, 0xf3, 0xf5, 0x9f, 0x8f, 0xb9, 0xff, 0xb4, 0x29, - 0x7a, 0x31, 0xe1, 0x8d, 0x3d, 0xe2, 0xa1, 0xd5, 0x02, 0x69, 0x5f, 0x03, 0x0d, 0x4b, 0x3d, 0x77, - 0x4e, 0xa9, 0xf7, 0x73, 0xa9, 0xe7, 0x95, 0xd4, 0x8d, 0x2a, 0xa4, 0x42, 0xcb, 0x21, 0xd1, 0xff, - 0x9a, 0x89, 0x7e, 0xc8, 0xb8, 0x90, 0x6c, 0xf9, 0x7e, 0xc2, 0xc2, 0xb2, 0x32, 0x95, 0xa2, 0xff, - 0x3f, 0x2c, 0xf1, 0xb4, 0x8d, 0x3d, 0x8f, 0xa5, 0x91, 0x32, 0x90, 0xda, 0xd7, 0x51, 0xbd, 0x18, - 0x3c, 0xf0, 0xed, 0x1f, 0x59, 0xf0, 0x41, 0xc0, 0xb8, 0x50, 0xb2, 0x72, 0xf7, 0x24, 0x61, 0xa1, - 0x8b, 0x4f, 0x31, 0x0d, 0x70, 0x3b, 0x20, 0xae, 0x9f, 0x26, 0x34, 0xea, 0xb8, 0x31, 0xee, 0xb1, - 0x54, 0xa8, 0xcd, 0xd1, 0x8a, 0x4f, 0x4d, 0xa0, 0xb8, 0x13, 0x94, 0xd9, 0xef, 0x64, 0xd8, 0x7b, - 0x0a, 0xfa, 0x48, 0x21, 0xdb, 0x31, 0xbc, 0x37, 0x48, 0x82, 0x25, 0x3e, 0x49, 0x5c, 0x0f, 0x47, - 0x1e, 0x09, 0x78, 0x69, 0xb3, 0x27, 0x71, 0xfd, 0x6e, 0x9f, 0xeb, 0x07, 0x12, 0x71, 0x57, 0x03, - 0x3a, 0x3f, 0xb1, 0xe0, 0xff, 0x46, 0x05, 0xf4, 0x11, 0xe3, 0xf4, 0xf5, 0xd2, 0x1e, 0xc2, 0x62, - 0x6c, 0x0c, 0xf9, 0xfa, 0xf4, 0xeb, 0x37, 0xf9, 0x38, 0x97, 0x3c, 0xc3, 0x47, 0x05, 0x80, 0xf3, - 0x7b, 0x0b, 0x2e, 0x2b, 0x2e, 0x05, 0x8d, 0x7b, 0xca, 0xd3, 0x11, 0x4e, 0x39, 0xf1, 0xab, 0xa9, - 0x5c, 0x85, 0x3a, 0x27, 0x42, 0x04, 0xc4, 0x8d, 0x13, 0xea, 0x11, 0xb5, 0xc9, 0x8b, 0xa8, 0xa6, - 0xc7, 0x8e, 0xe4, 0x90, 0xdd, 0x80, 0x0b, 0x82, 0x09, 0x1c, 0xb8, 0x21, 0xe5, 0x5c, 0xee, 0xa7, - 0x92, 0x59, 0x6f, 0x27, 0x5a, 0x55, 0x9f, 0xee, 0xe9, 0x2f, 0x4a, 0x2b, 0xfb, 0x23, 0xb0, 0xfb, - 0x2c, 0xdd, 0x04, 0x0b, 0xa2, 0xb7, 0x00, 0xbd, 0x1d, 0x96, 0x2c, 0x11, 0x16, 0xc4, 0xf9, 0x69, - 0xc6, 0x5e, 0x73, 0x6e, 0x91, 0x1e, 0x8b, 0xfc, 0x16, 0x8e, 0x9e, 0x26, 0x69, 0x2c, 0xbc, 0xde, - 0xb9, 0xd9, 0x7f, 0x02, 0x6b, 0x19, 0x1b, 0x83, 0x53, 0xa6, 0x9f, 0x31, 0xd5, 0xce, 0x15, 0x2b, - 0xe7, 0xc7, 0x16, 0xac, 0x2b, 0x46, 0x3b, 0x41, 0x90, 0xe9, 0xcd, 0xef, 0x62, 0x9a, 0x78, 0xa9, - 0x38, 0x37, 0x9d, 0xd1, 0xe2, 0xcc, 0xbc, 0x42, 0x1c, 0x06, 0x9b, 0x3a, 0xca, 0x68, 0x84, 0x93, - 0xde, 0x83, 0x58, 0x51, 0xd1, 0x5c, 0xbf, 0x17, 0xfb, 0x58, 0x10, 0xfb, 0x1e, 0xcc, 0x6b, 0xf7, - 0x8a, 0x4c, 0x6d, 0xbb, 0x59, 0x15, 0x47, 0x23, 0x60, 0x5a, 0xb3, 0xf2, 0x50, 0x20, 0x03, 0xe2, - 0xfc, 0xd1, 0x02, 0x5b, 0x79, 0xbc, 0x4f, 0x9e, 0xcb, 0x5b, 0x48, 0x05, 0x3d, 0xaf, 0x5e, 0xf5, - 0x01, 0x40, 0x3b, 0xed, 0xe9, 0x13, 0x97, 0x85, 0xf3, 0xad, 0xca, 0x70, 0x8e, 0x99, 0x38, 0xa4, - 0x21, 0xd5, 0xe8, 0x68, 0xb1, 0x9d, 0xf6, 0x8c, 0x9f, 0xcf, 0xa1, 0xc6, 0x49, 0x10, 0x64, 0x58, - 0x33, 0x13, 0x63, 0x81, 0x9c, 0xae, 0xc1, 0x9c, 0xbf, 0x67, 0xfb, 0x78, 0x9f, 0x3c, 0x2f, 0x8e, - 0xc6, 0x38, 0x2b, 0x7a, 0x30, 0x62, 0x45, 0x9f, 0x8c, 0x97, 0x85, 0x47, 0xaf, 0xeb, 0xe1, 0xa8, - 0x75, 0x4d, 0x8e, 0x58, 0x5e, 0xdd, 0x0f, 0x61, 0x4d, 0x2d, 0x4e, 0x67, 0xa4, 0x7c, 0xaf, 0xaa, - 0x17, 0xb6, 0x0f, 0x73, 0x8a, 0x82, 0x8a, 0xcc, 0x89, 0x94, 0x35, 0x71, 0xa2, 0xa7, 0x3b, 0x5f, - 0xc0, 0x45, 0xe5, 0x5c, 0xda, 0xf4, 0x85, 0xe3, 0xde, 0x40, 0x38, 0x5e, 0x7f, 0x9d, 0x87, 0x91, - 0x51, 0xf8, 0xeb, 0x69, 0xd8, 0x50, 0xf8, 0x47, 0x24, 0x89, 0x89, 0x48, 0x71, 0xd0, 0xe7, 0xe4, - 0xbb, 0x03, 0x4e, 0x3e, 0x1a, 0x4f, 0xc8, 0x51, 0xae, 0x6c, 0x0a, 0x17, 0xe3, 0xcc, 0x49, 0x96, - 0x20, 0x68, 0x74, 0xc2, 0x8c, 0x42, 0x95, 0xc7, 0x69, 0x80, 0xdd, 0x41, 0x74, 0xc2, 0x14, 0xba, - 0x85, 0x2e, 0xc4, 0xc3, 0x9f, 0x6c, 0x04, 0x6f, 0x65, 0xc5, 0xc7, 0x8c, 0x02, 0xdf, 0x9e, 0x00, - 0xdc, 0x54, 0x1b, 0x06, 0x3f, 0x03, 0x72, 0xfe, 0x65, 0x99, 0x0c, 0x71, 0xe7, 0x45, 0x4c, 0x93, - 0xde, 0x7e, 0x2a, 0xd2, 0x84, 0xf0, 0xff, 0x9a, 0x5a, 0xa7, 0xb0, 0x41, 0x94, 0x23, 0xf7, 0x44, - 0x7b, 0xea, 0x93, 0x4c, 0xaf, 0xea, 0xd3, 0xea, 0xc2, 0x67, 0x88, 0x66, 0x49, 0xb6, 0x77, 0xc8, - 0xe8, 0xcf, 0xce, 0xd9, 0x34, 0x5c, 0x1d, 0x15, 0x10, 0x46, 0x15, 0xb3, 0xd2, 0xca, 0xd0, 0x2f, - 0xa9, 0x3f, 0x7d, 0x2e, 0xf5, 0xa7, 0x72, 0xf5, 0xed, 0x5b, 0xb0, 0x4a, 0xb9, 0xdb, 0x65, 0x69, - 0x12, 0xf4, 0xdc, 0xf2, 0xde, 0x2e, 0xa0, 0x15, 0xca, 0xef, 0xaa, 0xf1, 0xac, 0x4c, 0x7c, 0x08, - 0x75, 0x63, 0x51, 0xba, 0x0f, 0x27, 0xae, 0x3f, 0x6b, 0x06, 0x03, 0xe9, 0xdc, 0x0f, 0x72, 0x79, - 0xe6, 0xb2, 0x99, 0x7b, 0x23, 0x40, 0xa5, 0x98, 0xba, 0x9a, 0x9c, 0x5f, 0x58, 0x70, 0x49, 0x9f, - 0xea, 0xbc, 0xdc, 0xd8, 0x23, 0xaa, 0xcc, 0xb0, 0xaf, 0x40, 0x8d, 0x27, 0x9e, 0x8b, 0x7d, 0x3f, - 0x21, 0x9c, 0x1b, 0x6d, 0x81, 0x27, 0xde, 0x8e, 0x1e, 0x19, 0xaf, 0x58, 0xfc, 0x0c, 0xe6, 0x71, - 0x28, 0x9f, 0x4d, 0xa4, 0xbc, 0xdb, 0xd0, 0x94, 0x1a, 0xb2, 0xcf, 0xca, 0xa5, 0xdf, 0x65, 0x34, - 0xca, 0xc2, 0x4e, 0x9b, 0x3b, 0xbf, 0xcc, 0xba, 0xa3, 0x82, 0xd9, 0x63, 0x2a, 0xba, 0x7e, 0x82, - 0x9f, 0x0f, 0x7b, 0xb6, 0x46, 0x78, 0xbe, 0x02, 0x35, 0x9f, 0x8b, 0x9c, 0xbf, 0xbe, 0x97, 0xc1, - 0xe7, 0x22, 0xe3, 0xff, 0xc6, 0xd4, 0x7e, 0x9b, 0x1d, 0xc0, 0x82, 0x5a, 0x0b, 0x07, 0x32, 0x27, - 0x3f, 0x4a, 0x70, 0xc4, 0x4f, 0x48, 0x22, 0xa3, 0x44, 0x8a, 0x37, 0xcc, 0x72, 0x11, 0xad, 0xf0, - 0xc4, 0x3b, 0x2e, 0x13, 0xbd, 0x05, 0xab, 0x92, 0xe8, 0xb0, 0x96, 0x8b, 0x68, 0xc5, 0xe7, 0xe2, - 0xf8, 0x1b, 0x91, 0x33, 0x2c, 0xf7, 0x9a, 0x66, 0x8b, 0xcd, 0x11, 0x42, 0xb0, 0xe2, 0xeb, 0x01, - 0x37, 0x55, 0x23, 0x72, 0xb3, 0xe5, 0x65, 0x75, 0xb3, 0x3a, 0x6b, 0x94, 0x30, 0xd0, 0xb2, 0x5f, - 0x7e, 0xe5, 0xce, 0x9f, 0x2d, 0xb8, 0x3c, 0x98, 0x57, 0x4a, 0xc5, 0xb4, 0xfd, 0x04, 0xea, 0xe6, - 0xd8, 0xea, 0xbb, 0x49, 0xa7, 0xa9, 0xdb, 0x93, 0xa4, 0xa9, 0xe2, 0x8a, 0xb2, 0x50, 0x2d, 0x2c, - 0x86, 0xec, 0xc7, 0xb0, 0xa2, 0x7b, 0x00, 0xf7, 0x59, 0x8a, 0x23, 0x41, 0x85, 0x6e, 0x21, 0x27, - 0xef, 0x05, 0x96, 0x35, 0xcc, 0x43, 0x83, 0x52, 0x5c, 0x51, 0x7a, 0x11, 0x03, 0xf5, 0x45, 0x75, - 0x2a, 0x7a, 0x1f, 0x54, 0x87, 0x1a, 0x52, 0x33, 0xd9, 0x74, 0xb5, 0xfd, 0x83, 0xf6, 0x63, 0xa8, - 0x05, 0xf2, 0xd5, 0xa8, 0xa2, 0xf7, 0x78, 0xe2, 0x9a, 0xc1, 0x88, 0x02, 0x41, 0x3e, 0x62, 0x87, - 0x70, 0xa1, 0xac, 0xb7, 0x69, 0x92, 0x54, 0x42, 0xaa, 0x6d, 0x7f, 0x36, 0xb1, 0xec, 0x9a, 0xae, - 0xf1, 0xb3, 0x1a, 0x0e, 0x7e, 0x70, 0x3a, 0xa6, 0x0a, 0xdb, 0x27, 0x64, 0x8f, 0x72, 0x15, 0xbc, - 0xc7, 0x5e, 0x97, 0xf8, 0x69, 0x40, 0xec, 0xcf, 0x61, 0x81, 0x9b, 0xe7, 0x71, 0xea, 0xd7, 0x11, - 0x10, 0x28, 0x07, 0x70, 0xce, 0x2c, 0xd8, 0x52, 0x9e, 0x64, 0x27, 0x2c, 0x73, 0x24, 0x79, 0x8e, - 0x13, 0x7f, 0x17, 0x87, 0x31, 0xa6, 0x9d, 0xc8, 0x04, 0xf8, 0x13, 0x58, 0xf2, 0xcc, 0x88, 0xbe, - 0xb4, 0xb4, 0xdb, 0x6f, 0xbd, 0xee, 0xe7, 0x8c, 0x21, 0x3c, 0x79, 0x2f, 0xa1, 0xba, 0x57, 0x7a, - 0xb3, 0xdb, 0x70, 0x31, 0xc7, 0x4e, 0x94, 0xb1, 0x1b, 0x33, 0x16, 0x8c, 0xd5, 0xe2, 0x65, 0xb0, - 0xda, 0xc9, 0x11, 0x63, 0x01, 0xba, 0xe0, 0x0d, 0x8d, 0x71, 0x27, 0x35, 0xe9, 0xa6, 0x8f, 0xd3, - 0x1e, 0xe5, 0x22, 0xa1, 0x6d, 0xfd, 0x4b, 0xca, 0x31, 0xac, 0x64, 0xb9, 0x43, 0x93, 0xc8, 0x8e, - 0x70, 0x65, 0xb5, 0xb7, 0xa3, 0xa7, 0x68, 0x3c, 0x8e, 0x96, 0x71, 0xdf, 0xbb, 0xf3, 0x3b, 0x0b, - 0x9c, 0xac, 0x96, 0xde, 0x65, 0x91, 0xaf, 0x9a, 0x22, 0x3c, 0x59, 0xd8, 0xef, 0xf4, 0x17, 0x9f, - 0x1f, 0x8e, 0x17, 0x69, 0xba, 0xf2, 0xd5, 0x33, 0x6d, 0x1b, 0x66, 0xbb, 0x98, 0x77, 0xd5, 0x61, - 0xa8, 0x23, 0xf5, 0x2c, 0x7d, 0xd2, 0xac, 0x0e, 0x51, 0x41, 0xbc, 0x80, 0x16, 0xa8, 0x29, 0x1e, - 0x9c, 0x5f, 0x4d, 0xc3, 0xb5, 0xd2, 0x31, 0x7d, 0x53, 0xea, 0xff, 0xe3, 0x13, 0x3b, 0x98, 0x21, - 0x67, 0xbf, 0xb9, 0x0c, 0xe9, 0xfc, 0xc9, 0x82, 0xeb, 0x5a, 0xa1, 0x57, 0x6a, 0xf3, 0x28, 0xa1, - 0x9d, 0xce, 0x28, 0x89, 0xea, 0x25, 0x89, 0xae, 0xc3, 0xb2, 0x51, 0xc3, 0x98, 0x1b, 0x8d, 0x06, - 0x46, 0x65, 0x3f, 0x2e, 0xf4, 0x23, 0xf1, 0x4d, 0x02, 0x2a, 0x6d, 0xa9, 0x9d, 0x7f, 0x53, 0x9e, - 0xef, 0xca, 0x0d, 0xbe, 0x05, 0xab, 0x71, 0x80, 0xbd, 0x7e, 0xf3, 0x59, 0x65, 0xbe, 0xa2, 0x3f, - 0xe4, 0xb6, 0xce, 0xf7, 0x61, 0x59, 0x2d, 0x46, 0x8d, 0xec, 0x63, 0x1a, 0xd8, 0xeb, 0xf0, 0x96, - 0x89, 0x65, 0x43, 0x39, 0x7b, 0xb5, 0x2f, 0xc1, 0xbc, 0x84, 0x22, 0xfa, 0x7c, 0xd6, 0x91, 0x79, - 0xb3, 0xd7, 0x60, 0xee, 0x24, 0xc0, 0x1d, 0xdd, 0xa6, 0x2d, 0x21, 0xfd, 0xe2, 0xfc, 0xdc, 0x82, - 0x0f, 0xf5, 0xaf, 0x02, 0x82, 0x85, 0xd4, 0x2b, 0xa9, 0xba, 0x4f, 0xc8, 0xbd, 0x34, 0x10, 0x34, - 0x0e, 0x28, 0x49, 0xb8, 0xce, 0x33, 0xbe, 0x4d, 0xe0, 0x52, 0xf6, 0x7b, 0x03, 0x21, 0x6e, 0x58, - 0x18, 0x98, 0xd3, 0x58, 0x99, 0xe8, 0x4c, 0xd5, 0x59, 0x06, 0x46, 0x6b, 0xe1, 0xf0, 0x20, 0x77, - 0xfe, 0x60, 0x99, 0x3e, 0x50, 0x51, 0x69, 0x33, 0xf6, 0xd4, 0x24, 0xba, 0xfb, 0x50, 0xe7, 0x31, - 0x1b, 0xbc, 0xc6, 0x2b, 0x0f, 0xdd, 0x00, 0x04, 0xaa, 0x49, 0x00, 0x73, 0x8b, 0xdb, 0x4f, 0xc0, - 0xf6, 0xf3, 0xb0, 0xc8, 0x51, 0xa7, 0x27, 0x47, 0x5d, 0x2d, 0x60, 0xb2, 0x0a, 0xa1, 0x0b, 0x2b, - 0x83, 0xf4, 0xdf, 0x86, 0x19, 0x4e, 0x9e, 0xa9, 0x2d, 0x9b, 0x45, 0xf2, 0xd1, 0xde, 0x85, 0x45, - 0x96, 0x19, 0x99, 0x14, 0x72, 0x6d, 0x2c, 0xbf, 0xa8, 0x98, 0xe7, 0xfc, 0xc6, 0x82, 0xc5, 0xfc, - 0x43, 0x75, 0x40, 0x7f, 0x47, 0xff, 0x08, 0x10, 0x90, 0x53, 0x92, 0xa7, 0xf0, 0xab, 0x55, 0x0e, - 0x0f, 0xa5, 0xa5, 0xea, 0xfa, 0xd5, 0x13, 0xb7, 0x5b, 0xa6, 0xeb, 0x37, 0x10, 0x33, 0xe3, 0x42, - 0xa8, 0x36, 0x5f, 0x63, 0xb4, 0xba, 0x5f, 0x9e, 0x6d, 0x5a, 0x5f, 0x9d, 0x6d, 0x5a, 0xff, 0x3c, - 0xdb, 0xb4, 0x7e, 0xf6, 0x72, 0x73, 0xea, 0xab, 0x97, 0x9b, 0x53, 0x7f, 0x79, 0xb9, 0x39, 0xf5, - 0xe4, 0x7e, 0xa9, 0x72, 0x39, 0xc8, 0x20, 0x0f, 0x71, 0x9b, 0x37, 0x73, 0x07, 0x1f, 0x7b, 0x2c, - 0x21, 0xe5, 0xd7, 0x2e, 0xa6, 0x51, 0x33, 0x64, 0xf2, 0xba, 0xe4, 0xc5, 0xff, 0x24, 0x54, 0x95, - 0xd3, 0x9e, 0x57, 0xff, 0x89, 0xf8, 0xf4, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xe2, 0xc0, 0xc6, - 0x87, 0x58, 0x19, 0x00, 0x00, + // 2082 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xcd, 0x6f, 0x1c, 0x49, + 0x15, 0x77, 0xfb, 0x6b, 0x3d, 0x6f, 0xc6, 0x76, 0xdc, 0xb6, 0xb3, 0x5e, 0x87, 0x38, 0x4e, 0xef, + 0x26, 0x9b, 0x64, 0x97, 0x99, 0x8d, 0x57, 0xab, 0xbd, 0x70, 0xc0, 0x63, 0x67, 0x36, 0x66, 0x9d, + 0xc4, 0x5b, 0x0e, 0x5a, 0x29, 0x12, 0x6a, 0xd5, 0x74, 0x97, 0x67, 0x8a, 0x74, 0x77, 0x75, 0xba, + 0xaa, 0x9d, 0x0c, 0x70, 0xe1, 0x06, 0x27, 0x38, 0x20, 0xc1, 0x8d, 0x23, 0x07, 0x24, 0x24, 0x0e, + 0x9c, 0xb8, 0xed, 0x85, 0x45, 0xe2, 0xb0, 0x47, 0x04, 0x68, 0x85, 0x12, 0x24, 0xfe, 0x08, 0x2e, + 0xa8, 0x3e, 0x7a, 0xba, 0xe7, 0x23, 0xe3, 0x99, 0x38, 0x88, 0x5b, 0x77, 0xf5, 0xab, 0xdf, 0xfb, + 0xd5, 0xaf, 0x5e, 0xbd, 0x7a, 0x55, 0x0d, 0xef, 0xd2, 0xe8, 0xfb, 0xc4, 0x13, 0xf4, 0x94, 0xd4, + 0xc8, 0x33, 0xaf, 0x8d, 0xa3, 0x16, 0xa9, 0x9d, 0xde, 0x6e, 0x12, 0x81, 0x6f, 0xd7, 0xc8, 0x29, + 0x89, 0x04, 0xaf, 0xc6, 0x09, 0x13, 0xcc, 0xde, 0xec, 0x1a, 0x56, 0x33, 0xc3, 0xaa, 0x31, 0xdc, + 0x5c, 0x6b, 0xb1, 0x16, 0x53, 0x66, 0x35, 0xf9, 0xa4, 0x7b, 0x6c, 0x6e, 0x79, 0x8c, 0x87, 0x8c, + 0xd7, 0x9a, 0x98, 0xe7, 0x98, 0x1e, 0xa3, 0x91, 0xf9, 0x7e, 0x2d, 0x77, 0xcd, 0x12, 0xec, 0x05, + 0xb9, 0x91, 0x7e, 0x35, 0x66, 0x37, 0x47, 0x31, 0xcc, 0x98, 0x28, 0x53, 0xe7, 0x1f, 0x16, 0xbc, + 0x79, 0x47, 0x92, 0xae, 0x63, 0xe1, 0xb5, 0x8f, 0x63, 0x26, 0xee, 0x3c, 0x23, 0x5e, 0x2a, 0x28, + 0x8b, 0xec, 0x4b, 0x50, 0x0a, 0x71, 0xf2, 0x98, 0x08, 0x97, 0xfa, 0x1b, 0xd6, 0xb6, 0x75, 0xa3, + 0x84, 0x16, 0x74, 0xc3, 0x81, 0x6f, 0xaf, 0xc3, 0x3c, 0xe5, 0x6e, 0x33, 0xed, 0x6c, 0x4c, 0x6f, + 0x5b, 0x37, 0x16, 0xd0, 0x1c, 0xe5, 0xf5, 0xb4, 0x63, 0x3f, 0x80, 0x45, 0x92, 0x01, 0x3c, 0xec, + 0xc4, 0x64, 0x63, 0x66, 0xdb, 0xba, 0xb1, 0xb4, 0x73, 0xb3, 0xfa, 0x72, 0x2d, 0xaa, 0x77, 0x8a, + 0x1d, 0x50, 0x6f, 0x7f, 0xfb, 0x5b, 0x30, 0x2f, 0x12, 0xec, 0x13, 0xbe, 0x31, 0xbb, 0x3d, 0x73, + 0xa3, 0xbc, 0xf3, 0xce, 0x28, 0xa4, 0x87, 0xd2, 0xf2, 0x90, 0xb5, 0x90, 0xe9, 0xe3, 0xfc, 0x7b, + 0x1a, 0x2e, 0xe7, 0xc3, 0xdb, 0x27, 0x09, 0x3d, 0xc5, 0xb2, 0xeb, 0xf9, 0x06, 0x79, 0x0d, 0x96, + 0x28, 0x77, 0x03, 0xfa, 0x24, 0xa5, 0x3e, 0x96, 0x28, 0x6a, 0x94, 0x0b, 0x68, 0x91, 0xf2, 0xc3, + 0xbc, 0xd1, 0x46, 0x60, 0x7b, 0x69, 0x98, 0x06, 0xca, 0xa3, 0x7b, 0x92, 0x46, 0x3e, 0x8d, 0x5a, + 0x1b, 0xb3, 0xd2, 0x47, 0xfd, 0xed, 0x2f, 0xbf, 0xbe, 0x62, 0xfd, 0xed, 0xeb, 0x2b, 0x97, 0xf4, + 0x8c, 0x73, 0xff, 0x71, 0x95, 0xb2, 0x5a, 0x88, 0x45, 0xbb, 0x7a, 0x48, 0x5a, 0xd8, 0xeb, 0xec, + 0x13, 0x0f, 0xad, 0xe4, 0xdd, 0x1b, 0xba, 0xf7, 0xa0, 0xbe, 0x73, 0xe7, 0xd4, 0xb7, 0xd1, 0xd5, + 0x77, 0x5e, 0xe9, 0x5b, 0x1d, 0x85, 0x94, 0x0b, 0x38, 0xa0, 0xf4, 0x17, 0x99, 0xd2, 0x87, 0x8c, + 0x0b, 0xc9, 0x96, 0x37, 0x12, 0x16, 0x16, 0xe5, 0x18, 0xa9, 0xf4, 0xdb, 0xb0, 0xc8, 0xd3, 0x26, + 0xf6, 0x3c, 0x96, 0x46, 0xca, 0x40, 0x0a, 0x5e, 0x41, 0x95, 0xbc, 0xf1, 0xc0, 0xb7, 0x9f, 0xc1, + 0xbb, 0x01, 0xe3, 0x42, 0x49, 0xc9, 0xdd, 0x93, 0x84, 0x85, 0x2e, 0x3e, 0xc5, 0x34, 0xc0, 0xcd, + 0x80, 0xb8, 0x7e, 0x9a, 0xd0, 0xa8, 0xe5, 0xc6, 0xb8, 0xc3, 0x52, 0xa1, 0x26, 0x44, 0xab, 0x3c, + 0x75, 0x96, 0xca, 0x4e, 0x50, 0x64, 0xbc, 0x9b, 0x01, 0xee, 0x2b, 0xbc, 0x23, 0x05, 0x67, 0x13, + 0xb8, 0xdc, 0xef, 0x99, 0x25, 0x3e, 0x49, 0x5c, 0x0f, 0x47, 0x1e, 0x09, 0x78, 0x61, 0x56, 0xcf, + 0xf4, 0xf7, 0x56, 0x8f, 0xbf, 0x07, 0x12, 0x66, 0x4f, 0xa3, 0x38, 0x3f, 0xb5, 0xe0, 0x1b, 0xc3, + 0xc2, 0xf5, 0x88, 0x71, 0x7a, 0xb6, 0x86, 0x87, 0x50, 0x8a, 0x8d, 0x21, 0xdf, 0x98, 0x3e, 0x7b, + 0x36, 0x8f, 0xbb, 0xda, 0x66, 0xf8, 0x28, 0x07, 0x70, 0xfe, 0x68, 0xc1, 0x25, 0xc5, 0x25, 0xa7, + 0x71, 0x4f, 0x79, 0x3a, 0xc2, 0x29, 0x27, 0xfe, 0x68, 0x2a, 0x57, 0xa1, 0xc2, 0x89, 0x10, 0x01, + 0x71, 0xe3, 0x84, 0x7a, 0x44, 0xcd, 0x66, 0x09, 0x95, 0x75, 0xdb, 0x91, 0x6c, 0xb2, 0xab, 0xb0, + 0x2a, 0x98, 0xc0, 0x81, 0x1b, 0x52, 0xce, 0xe5, 0xcc, 0x29, 0x6d, 0xf5, 0xc4, 0xa1, 0x15, 0xf5, + 0xe9, 0x9e, 0xfe, 0xa2, 0xb4, 0xb2, 0xdf, 0x07, 0xbb, 0xc7, 0xd2, 0x4d, 0xb0, 0x20, 0x5a, 0x77, + 0x74, 0x21, 0x2c, 0x58, 0x22, 0x2c, 0x88, 0xf3, 0xb3, 0x8c, 0xbd, 0xe6, 0x5c, 0x27, 0x1d, 0x16, + 0xf9, 0x75, 0x1c, 0x3d, 0x4e, 0xd2, 0x58, 0x78, 0x9d, 0x73, 0xb3, 0xff, 0x00, 0xd6, 0x32, 0x36, + 0x06, 0xa7, 0x48, 0x3f, 0x63, 0xaa, 0x9d, 0x2b, 0x56, 0xce, 0x4f, 0x2c, 0xd8, 0x50, 0x8c, 0x76, + 0x83, 0x20, 0xd3, 0x9b, 0xdf, 0xc5, 0x34, 0xf1, 0x52, 0x71, 0x6e, 0x3a, 0xc3, 0xc5, 0x99, 0x79, + 0x89, 0x38, 0x0c, 0xb6, 0x74, 0x94, 0xd1, 0x08, 0x27, 0x9d, 0x07, 0xb1, 0xa2, 0xa2, 0xb9, 0x7e, + 0x37, 0xf6, 0xb1, 0x20, 0xf6, 0x3d, 0x98, 0xd7, 0xee, 0x15, 0x99, 0xf2, 0x4e, 0x6d, 0x54, 0x1c, + 0x0d, 0x81, 0xa9, 0xcf, 0xca, 0x95, 0x80, 0x0c, 0x88, 0xf3, 0x67, 0x0b, 0x6c, 0xe5, 0xf1, 0x3e, + 0x79, 0x2a, 0xf7, 0x18, 0x15, 0xf4, 0x7c, 0xf4, 0xa8, 0x0f, 0x00, 0x9a, 0x69, 0x47, 0x2f, 0xb3, + 0x2c, 0x9c, 0x6f, 0x8d, 0x0c, 0xe7, 0x98, 0x89, 0x43, 0x1a, 0x52, 0x8d, 0x8e, 0x4a, 0xcd, 0xb4, + 0x63, 0xfc, 0x7c, 0x0a, 0x65, 0x4e, 0x82, 0x20, 0xc3, 0x9a, 0x99, 0x18, 0x0b, 0x64, 0x77, 0x0d, + 0xe6, 0xfc, 0x3d, 0x9b, 0xc7, 0xfb, 0xe4, 0x69, 0xbe, 0x34, 0xc6, 0x19, 0xd1, 0x83, 0x21, 0x23, + 0xfa, 0x60, 0xbc, 0x74, 0x3b, 0x7c, 0x5c, 0x9f, 0x0d, 0x1b, 0xd7, 0xe4, 0x88, 0xc5, 0xd1, 0xfd, + 0x10, 0xd6, 0xd4, 0xe0, 0x74, 0x46, 0xea, 0xce, 0xd5, 0xe8, 0x81, 0x35, 0x60, 0x4e, 0x51, 0x50, + 0x91, 0x39, 0x91, 0xb2, 0x26, 0x4e, 0x74, 0x77, 0xe7, 0x7b, 0xb0, 0xae, 0x9c, 0x4b, 0x9b, 0x9e, + 0x70, 0xdc, 0xef, 0x0b, 0xc7, 0xeb, 0x67, 0x79, 0x18, 0x1a, 0x85, 0xbf, 0x99, 0x86, 0x4d, 0x85, + 0x7f, 0x44, 0x92, 0x98, 0x88, 0x14, 0x07, 0x3d, 0x4e, 0xbe, 0xd3, 0xe7, 0xe4, 0xfd, 0xf1, 0x84, + 0x1c, 0xe6, 0xca, 0xa6, 0xb0, 0x1e, 0x67, 0x4e, 0xb2, 0x04, 0x41, 0xa3, 0x13, 0x66, 0x14, 0x1a, + 0xb9, 0x9c, 0xfa, 0xd8, 0x1d, 0x44, 0x27, 0x4c, 0xa1, 0x5b, 0x68, 0x35, 0x1e, 0xfc, 0x64, 0x23, + 0x78, 0x23, 0x2b, 0x2d, 0x66, 0x14, 0xf8, 0xce, 0x04, 0xe0, 0xa6, 0xac, 0x30, 0xf8, 0x19, 0x90, + 0xf3, 0x2f, 0xcb, 0x64, 0x88, 0x3b, 0xcf, 0x62, 0x9a, 0x74, 0x1a, 0xa9, 0x48, 0x13, 0xc2, 0xff, + 0x67, 0x6a, 0x9d, 0xc2, 0x26, 0x51, 0x8e, 0xdc, 0x13, 0xed, 0xa9, 0x47, 0x32, 0x3d, 0xaa, 0x0f, + 0x47, 0x57, 0x38, 0x03, 0x34, 0x0b, 0xb2, 0xbd, 0x49, 0x86, 0x7f, 0x76, 0xfe, 0x32, 0x0d, 0x57, + 0x87, 0x05, 0x84, 0x51, 0xc5, 0x8c, 0x74, 0x64, 0xe8, 0x17, 0xd4, 0x9f, 0x3e, 0x97, 0xfa, 0x53, + 0x5d, 0xf5, 0xed, 0x5b, 0xb0, 0x42, 0xb9, 0xdb, 0x66, 0x69, 0x12, 0x74, 0xdc, 0xe2, 0xdc, 0x2e, + 0xa0, 0x65, 0xca, 0xef, 0xaa, 0xf6, 0xac, 0x1e, 0x6c, 0x40, 0xc5, 0x58, 0x14, 0xf6, 0xc3, 0xf1, + 0xaa, 0xcb, 0xb2, 0xe9, 0x28, 0xb7, 0x04, 0xbb, 0x0e, 0x20, 0xc7, 0x64, 0x76, 0x98, 0xb9, 0xf1, + 0x51, 0x94, 0x36, 0x6a, 0x13, 0x72, 0x7e, 0x69, 0xc1, 0x45, 0xbd, 0x7e, 0xbb, 0x85, 0xc5, 0x3e, + 0x51, 0x05, 0x85, 0x7d, 0x05, 0xca, 0x3c, 0xf1, 0x5c, 0xec, 0xfb, 0x09, 0xe1, 0xdc, 0xa8, 0x08, + 0x3c, 0xf1, 0x76, 0x75, 0xcb, 0x78, 0xf5, 0xdf, 0xc7, 0x30, 0x8f, 0x43, 0xf9, 0x6c, 0x62, 0xe2, + 0xad, 0xaa, 0x66, 0x56, 0x95, 0xe7, 0xa5, 0xae, 0xc8, 0x7b, 0x8c, 0x46, 0x59, 0x80, 0x69, 0x73, + 0xe7, 0x57, 0xd9, 0x29, 0x27, 0x67, 0xf6, 0x39, 0x15, 0x6d, 0x3f, 0xc1, 0x4f, 0x07, 0x3d, 0x5b, + 0x43, 0x3c, 0x5f, 0x81, 0xb2, 0xcf, 0x45, 0x97, 0xbf, 0xde, 0x81, 0xc1, 0xe7, 0x22, 0xe3, 0xff, + 0xca, 0xd4, 0x7e, 0x9f, 0x2d, 0xb5, 0x9c, 0x5a, 0x1d, 0x07, 0x32, 0xfb, 0x3e, 0x4c, 0x70, 0xc4, + 0x4f, 0x48, 0x22, 0xe3, 0x41, 0x8a, 0x37, 0xc8, 0xb2, 0x84, 0x96, 0x79, 0xe2, 0x1d, 0x17, 0x89, + 0xde, 0x82, 0x15, 0x49, 0x74, 0x50, 0xcb, 0x12, 0x5a, 0xf6, 0xb9, 0x38, 0x7e, 0x2d, 0x72, 0x86, + 0xc5, 0x33, 0xa3, 0x99, 0x62, 0xb3, 0x58, 0x10, 0x2c, 0xfb, 0xba, 0xc1, 0x4d, 0x55, 0x8b, 0x9c, + 0x6c, 0xb9, 0x2d, 0xdd, 0x1c, 0x9d, 0x1f, 0x0a, 0x18, 0x68, 0xc9, 0x2f, 0xbe, 0x72, 0xe7, 0x4f, + 0x16, 0x5c, 0xea, 0xcf, 0x20, 0x85, 0xb2, 0xd9, 0x7e, 0x04, 0x15, 0xb3, 0x40, 0xf5, 0x2e, 0xa4, + 0x13, 0xd2, 0xed, 0x49, 0x12, 0x52, 0xbe, 0x19, 0x59, 0xa8, 0x1c, 0xe6, 0x4d, 0xf6, 0x21, 0x2c, + 0xeb, 0x12, 0xdf, 0x7d, 0x92, 0xe2, 0x48, 0x50, 0xa1, 0x8f, 0x82, 0x63, 0x96, 0xfa, 0x4b, 0xba, + 0xef, 0x67, 0xa6, 0x6b, 0xbe, 0x03, 0x69, 0xe6, 0x7d, 0xe5, 0xc3, 0xe8, 0x4c, 0xf3, 0x0e, 0xa8, + 0xe3, 0x65, 0x48, 0x4d, 0x67, 0x73, 0x24, 0xed, 0x6d, 0xb4, 0x3f, 0x87, 0x72, 0x20, 0x5f, 0x8d, + 0x14, 0x7a, 0x62, 0x27, 0x2e, 0x09, 0x8c, 0x12, 0x10, 0x74, 0x5b, 0xec, 0x10, 0x56, 0x8b, 0x22, + 0x9b, 0x83, 0x8f, 0xca, 0x37, 0xe5, 0x9d, 0x8f, 0x27, 0xd6, 0x5a, 0xd3, 0x35, 0x7e, 0x56, 0xc2, + 0xfe, 0x0f, 0x4e, 0xcb, 0x14, 0x59, 0x0d, 0x42, 0xf6, 0x29, 0x57, 0x11, 0x7b, 0xec, 0xb5, 0x89, + 0x9f, 0x06, 0xc4, 0xfe, 0x14, 0x16, 0xb8, 0x79, 0x1e, 0xa7, 0x3c, 0x1d, 0x02, 0x81, 0xba, 0x00, + 0xce, 0x73, 0x0b, 0xb6, 0x95, 0x27, 0x79, 0xa2, 0x95, 0xd9, 0x90, 0x3c, 0xc5, 0x89, 0xbf, 0x87, + 0xc3, 0x18, 0xd3, 0x56, 0x64, 0xa2, 0xfa, 0x11, 0x2c, 0x7a, 0xa6, 0x45, 0xef, 0x49, 0xda, 0xed, + 0x47, 0x67, 0xdd, 0x45, 0x0c, 0xe0, 0xc9, 0x6d, 0x07, 0x55, 0xbc, 0xc2, 0x9b, 0xdd, 0x84, 0xf5, + 0x2e, 0x76, 0xa2, 0x8c, 0xdd, 0x98, 0xb1, 0x60, 0xac, 0x13, 0x5c, 0x06, 0xab, 0x9d, 0x1c, 0x31, + 0x16, 0xa0, 0x55, 0x6f, 0xa0, 0x8d, 0x3b, 0xa9, 0xc9, 0x31, 0x3d, 0x9c, 0xf6, 0x29, 0x17, 0x09, + 0x6d, 0xea, 0x6b, 0x90, 0x63, 0x58, 0xce, 0x12, 0x86, 0x26, 0x91, 0xad, 0xdb, 0x91, 0xc5, 0xdc, + 0xae, 0xee, 0xa2, 0xf1, 0x38, 0x5a, 0xc2, 0x3d, 0xef, 0xce, 0x1f, 0x2c, 0x70, 0xb2, 0x52, 0x79, + 0x8f, 0x45, 0xbe, 0x3a, 0xf3, 0xe0, 0xc9, 0xc2, 0x7e, 0xb7, 0xb7, 0xb6, 0x7c, 0x6f, 0xbc, 0x48, + 0xd3, 0x85, 0xad, 0xee, 0x69, 0xdb, 0x30, 0xdb, 0xc6, 0xbc, 0xad, 0x16, 0x43, 0x05, 0xa9, 0x67, + 0xe9, 0x93, 0x66, 0x65, 0x86, 0x0a, 0xe2, 0x05, 0xb4, 0x40, 0x4d, 0x6d, 0xe0, 0xfc, 0x7a, 0x1a, + 0xae, 0x15, 0x96, 0xe9, 0xab, 0x52, 0xff, 0x3f, 0xaf, 0xd8, 0xfe, 0xb4, 0x38, 0xfb, 0xfa, 0xd2, + 0xa2, 0xf3, 0x1f, 0x0b, 0xae, 0x6b, 0x85, 0x5e, 0xaa, 0xcd, 0xc3, 0x84, 0xb6, 0x5a, 0xc3, 0x24, + 0xaa, 0x14, 0x24, 0xba, 0x0e, 0x4b, 0x46, 0x0d, 0x63, 0x6e, 0x34, 0xea, 0x6b, 0x95, 0xc7, 0x6d, + 0xa1, 0x1f, 0x89, 0x6f, 0x12, 0x50, 0x61, 0x4a, 0xed, 0xee, 0x37, 0xe5, 0xf9, 0xae, 0x9c, 0xe0, + 0x5b, 0xb0, 0x12, 0x07, 0xd8, 0xeb, 0x35, 0x9f, 0x55, 0xe6, 0xcb, 0xfa, 0x43, 0x6e, 0x5b, 0x85, + 0xd5, 0x7e, 0x74, 0x8f, 0xfa, 0xba, 0x0a, 0x42, 0x2b, 0xbd, 0xe0, 0x7b, 0xd4, 0x77, 0x02, 0x58, + 0x52, 0x83, 0x57, 0x0d, 0x0d, 0x4c, 0x03, 0x7b, 0x03, 0xde, 0x30, 0xb1, 0x6f, 0x86, 0x98, 0xbd, + 0xda, 0x17, 0x61, 0x5e, 0xba, 0x26, 0x7a, 0x3d, 0x57, 0x90, 0x79, 0xb3, 0xd7, 0x60, 0xee, 0x24, + 0xc0, 0x2d, 0x7d, 0x6a, 0x5b, 0x44, 0xfa, 0x45, 0x86, 0xaa, 0x47, 0x7d, 0x7d, 0xd7, 0x59, 0x42, + 0xea, 0xd9, 0xf9, 0x85, 0x05, 0xef, 0xe9, 0x8b, 0x03, 0xc1, 0x42, 0xea, 0x15, 0x66, 0xa6, 0x41, + 0xc8, 0xbd, 0x34, 0x10, 0x34, 0x0e, 0x28, 0x49, 0xb8, 0xce, 0x55, 0xbe, 0x4d, 0xe0, 0x62, 0x76, + 0x25, 0x41, 0x88, 0x1b, 0xe6, 0x06, 0x66, 0x45, 0x8f, 0x4c, 0x96, 0xa6, 0x30, 0x2d, 0x02, 0xa3, + 0xb5, 0x70, 0xb0, 0x91, 0x3b, 0x5f, 0x58, 0xe6, 0xa8, 0xa8, 0xa8, 0x34, 0x19, 0x7b, 0x6c, 0x92, + 0xe5, 0x7d, 0xa8, 0xf0, 0x98, 0xf5, 0xef, 0xff, 0x23, 0x17, 0x6e, 0x1f, 0x04, 0x2a, 0x4b, 0x00, + 0xb3, 0xfd, 0xdb, 0x8f, 0xc0, 0xf6, 0xbb, 0xa1, 0xd5, 0x45, 0x9d, 0x9e, 0x1c, 0x75, 0x25, 0x87, + 0xc9, 0x4a, 0x8b, 0x36, 0x2c, 0xf7, 0xd3, 0xbf, 0x00, 0x33, 0x9c, 0x3c, 0x51, 0xd3, 0x38, 0x8b, + 0xe4, 0xa3, 0xbd, 0x07, 0x25, 0x96, 0x19, 0x99, 0x34, 0x74, 0x6d, 0x2c, 0xbf, 0x28, 0xef, 0xe7, + 0xfc, 0xce, 0x82, 0x52, 0xf7, 0xc3, 0xe8, 0x45, 0xf1, 0x6d, 0x7d, 0x4f, 0x10, 0x90, 0x53, 0xd2, + 0xdd, 0x06, 0xae, 0x8e, 0x72, 0x78, 0x28, 0x2d, 0xd5, 0xc5, 0x80, 0x7a, 0xe2, 0x76, 0xdd, 0x5c, + 0x0c, 0x18, 0x88, 0x99, 0x71, 0x21, 0xd4, 0x4d, 0x80, 0xc6, 0x70, 0x7e, 0x64, 0x76, 0xe0, 0x4f, + 0x12, 0x1c, 0x89, 0xdd, 0x54, 0xb4, 0x59, 0x42, 0x7f, 0xa0, 0x6e, 0x72, 0xb9, 0x0c, 0xf7, 0x96, + 0x6c, 0x36, 0xc5, 0x56, 0x09, 0x65, 0xaf, 0x76, 0x03, 0xe6, 0xd5, 0xe3, 0x58, 0xdb, 0xd7, 0x20, + 0x34, 0x32, 0xbd, 0x9d, 0x1f, 0x67, 0xd1, 0xa5, 0x6d, 0x24, 0x80, 0xbe, 0x45, 0xee, 0xba, 0x26, + 0xbd, 0xae, 0x49, 0x91, 0xd4, 0x74, 0x2f, 0xa9, 0x8f, 0x7a, 0x0a, 0xdd, 0x52, 0xfd, 0xb2, 0xa9, + 0xdd, 0xd6, 0x07, 0x6b, 0xb7, 0x83, 0x48, 0x74, 0xcb, 0xdc, 0x4f, 0x60, 0x45, 0x51, 0x38, 0x88, + 0x4e, 0x71, 0x40, 0x7d, 0xc5, 0xe4, 0x55, 0xfc, 0x3b, 0xbf, 0xed, 0x59, 0x2a, 0x3a, 0xef, 0xab, + 0xb4, 0x31, 0xf9, 0x95, 0x78, 0xa9, 0xef, 0x60, 0x72, 0x19, 0xa0, 0x2f, 0x1d, 0x96, 0x4c, 0xd4, + 0xa9, 0xcc, 0x76, 0x01, 0x66, 0x64, 0x26, 0xd3, 0xb7, 0xa4, 0xf2, 0xd1, 0xde, 0x86, 0xb2, 0x4f, + 0xb8, 0x97, 0x50, 0x75, 0x5d, 0x67, 0x72, 0x5c, 0xb1, 0xa9, 0xde, 0xfe, 0xf2, 0xf9, 0x96, 0xf5, + 0xd5, 0xf3, 0x2d, 0xeb, 0x9f, 0xcf, 0xb7, 0xac, 0x9f, 0xbf, 0xd8, 0x9a, 0xfa, 0xea, 0xc5, 0xd6, + 0xd4, 0x5f, 0x5f, 0x6c, 0x4d, 0x3d, 0xba, 0xdf, 0xa2, 0xa2, 0x9d, 0x36, 0xab, 0x1e, 0x0b, 0x6b, + 0x07, 0xd9, 0xb4, 0x1e, 0xe2, 0x26, 0xaf, 0x75, 0x27, 0xf9, 0x9b, 0x1e, 0x4b, 0x48, 0xf1, 0xb5, + 0x8d, 0x69, 0x54, 0x0b, 0x99, 0xac, 0xb5, 0x78, 0xfe, 0x37, 0x4a, 0x74, 0x62, 0xc2, 0x9b, 0xf3, + 0xea, 0x1f, 0xd4, 0x87, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xc9, 0x62, 0x4f, 0x5a, 0x52, 0x1b, + 0x00, 0x00, } func (m *EventBatchSpotExecution) Marshal() (dAtA []byte, err error) { @@ -3347,6 +3611,13 @@ func (m *EventConditionalDerivativeOrderTrigger) MarshalToSizedBuffer(dAtA []byt _ = i var l int _ = l + if len(m.TriggeredOrderCid) > 0 { + i -= len(m.TriggeredOrderCid) + copy(dAtA[i:], m.TriggeredOrderCid) + i = encodeVarintEvents(dAtA, i, uint64(len(m.TriggeredOrderCid))) + i-- + dAtA[i] = 0x2a + } if len(m.PlacedOrderHash) > 0 { i -= len(m.PlacedOrderHash) copy(dAtA[i:], m.PlacedOrderHash) @@ -3401,6 +3672,15 @@ func (m *EventOrderFail) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.Cids) > 0 { + for iNdEx := len(m.Cids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Cids[iNdEx]) + copy(dAtA[i:], m.Cids[iNdEx]) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Cids[iNdEx]))) + i-- + dAtA[i] = 0x22 + } + } if len(m.Flags) > 0 { dAtA22 := make([]byte, len(m.Flags)*10) var j21 int @@ -3624,67 +3904,253 @@ func (m *Orderbook) MarshalToSizedBuffer(dAtA []byte) (int, error) { 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++ +func (m *EventGrantAuthorizations) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - dAtA[offset] = uint8(v) - return base + return dAtA[:n], nil } -func (m *EventBatchSpotExecution) Size() (n int) { - if m == nil { - return 0 - } + +func (m *EventGrantAuthorizations) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventGrantAuthorizations) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.MarketId) - if l > 0 { - n += 1 + l + sovEvents(uint64(l)) - } - if m.IsBuy { - n += 2 - } - if m.ExecutionType != 0 { - n += 1 + sovEvents(uint64(m.ExecutionType)) - } - if len(m.Trades) > 0 { - for _, e := range m.Trades { - l = e.Size() - n += 1 + l + sovEvents(uint64(l)) + if len(m.Grants) > 0 { + for iNdEx := len(m.Grants) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Grants[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 } } - return n + if len(m.Granter) > 0 { + i -= len(m.Granter) + copy(dAtA[i:], m.Granter) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Granter))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } -func (m *EventBatchDerivativeExecution) Size() (n int) { - if m == nil { - return 0 +func (m *EventGrantActivation) 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 *EventGrantActivation) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventGrantActivation) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.MarketId) - if l > 0 { - n += 1 + l + sovEvents(uint64(l)) - } - if m.IsBuy { - n += 2 - } - if m.IsLiquidation { - n += 2 + { + size := m.Amount.Size() + i -= size + if _, err := m.Amount.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintEvents(dAtA, i, uint64(size)) } - if m.CumulativeFunding != nil { - l = m.CumulativeFunding.Size() - n += 1 + l + sovEvents(uint64(l)) + i-- + dAtA[i] = 0x1a + if len(m.Granter) > 0 { + i -= len(m.Granter) + copy(dAtA[i:], m.Granter) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Granter))) + i-- + dAtA[i] = 0x12 } - if m.ExecutionType != 0 { - n += 1 + sovEvents(uint64(m.ExecutionType)) + if len(m.Grantee) > 0 { + i -= len(m.Grantee) + copy(dAtA[i:], m.Grantee) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Grantee))) + i-- + dAtA[i] = 0xa } - if len(m.Trades) > 0 { - for _, e := range m.Trades { + return len(dAtA) - i, nil +} + +func (m *EventInvalidGrant) 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 *EventInvalidGrant) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventInvalidGrant) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Granter) > 0 { + i -= len(m.Granter) + copy(dAtA[i:], m.Granter) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Granter))) + i-- + dAtA[i] = 0x12 + } + if len(m.Grantee) > 0 { + i -= len(m.Grantee) + copy(dAtA[i:], m.Grantee) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Grantee))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *EventOrderCancelFail) 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 *EventOrderCancelFail) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventOrderCancelFail) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Description) > 0 { + i -= len(m.Description) + copy(dAtA[i:], m.Description) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Description))) + i-- + dAtA[i] = 0x2a + } + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x22 + } + if len(m.OrderHash) > 0 { + i -= len(m.OrderHash) + copy(dAtA[i:], m.OrderHash) + i = encodeVarintEvents(dAtA, i, uint64(len(m.OrderHash))) + i-- + dAtA[i] = 0x1a + } + if len(m.SubaccountId) > 0 { + i -= len(m.SubaccountId) + copy(dAtA[i:], m.SubaccountId) + i = encodeVarintEvents(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 = encodeVarintEvents(dAtA, i, uint64(len(m.MarketId))) + 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 *EventBatchSpotExecution) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.MarketId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + if m.IsBuy { + n += 2 + } + if m.ExecutionType != 0 { + n += 1 + sovEvents(uint64(m.ExecutionType)) + } + if len(m.Trades) > 0 { + for _, e := range m.Trades { + l = e.Size() + n += 1 + l + sovEvents(uint64(l)) + } + } + return n +} + +func (m *EventBatchDerivativeExecution) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.MarketId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + if m.IsBuy { + n += 2 + } + if m.IsLiquidation { + n += 2 + } + if m.CumulativeFunding != nil { + l = m.CumulativeFunding.Size() + n += 1 + l + sovEvents(uint64(l)) + } + if m.ExecutionType != 0 { + n += 1 + sovEvents(uint64(m.ExecutionType)) + } + if len(m.Trades) > 0 { + for _, e := range m.Trades { l = e.Size() n += 1 + l + sovEvents(uint64(l)) } @@ -4173,6 +4639,10 @@ func (m *EventConditionalDerivativeOrderTrigger) Size() (n int) { if l > 0 { n += 1 + l + sovEvents(uint64(l)) } + l = len(m.TriggeredOrderCid) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } return n } @@ -4199,6 +4669,12 @@ func (m *EventOrderFail) Size() (n int) { } n += 1 + sovEvents(uint64(l)) + l } + if len(m.Cids) > 0 { + for _, s := range m.Cids { + l = len(s) + n += 1 + l + sovEvents(uint64(l)) + } + } return n } @@ -4279,6 +4755,90 @@ func (m *Orderbook) Size() (n int) { return n } +func (m *EventGrantAuthorizations) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Granter) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + if len(m.Grants) > 0 { + for _, e := range m.Grants { + l = e.Size() + n += 1 + l + sovEvents(uint64(l)) + } + } + return n +} + +func (m *EventGrantActivation) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Grantee) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.Granter) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = m.Amount.Size() + n += 1 + l + sovEvents(uint64(l)) + return n +} + +func (m *EventInvalidGrant) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Grantee) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.Granter) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + return n +} + +func (m *EventOrderCancelFail) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.MarketId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.SubaccountId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.OrderHash) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.Description) + 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 } @@ -4571,7 +5131,7 @@ func (m *EventBatchDerivativeExecution) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.CumulativeFunding = &v if err := m.CumulativeFunding.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6420,7 +6980,7 @@ func (m *EventPerpetualMarketFundingUpdate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.FundingRate = &v if err := m.FundingRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6456,7 +7016,7 @@ func (m *EventPerpetualMarketFundingUpdate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MarkPrice = &v if err := m.MarkPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8093,6 +8653,38 @@ func (m *EventConditionalDerivativeOrderTrigger) Unmarshal(dAtA []byte) error { m.PlacedOrderHash = []byte{} } iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TriggeredOrderCid", 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.TriggeredOrderCid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -8285,22 +8877,54 @@ func (m *EventOrderFail) Unmarshal(dAtA []byte) error { } else { return fmt.Errorf("proto: wrong wireType = %d for field Flags", wireType) } - 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 + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cids", wireType) } - iNdEx += skippy - } - } - + 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.Cids = append(m.Cids, 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 } @@ -8765,6 +9389,594 @@ func (m *Orderbook) Unmarshal(dAtA []byte) error { } return nil } +func (m *EventGrantAuthorizations) 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: EventGrantAuthorizations: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventGrantAuthorizations: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Granter", 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.Granter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grants", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Grants = append(m.Grants, &GrantAuthorization{}) + if err := m.Grants[len(m.Grants)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + 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 (m *EventGrantActivation) 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: EventGrantActivation: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventGrantActivation: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grantee", 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.Grantee = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Granter", 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.Granter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + 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 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 + } + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + 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 (m *EventInvalidGrant) 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: EventInvalidGrant: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventInvalidGrant: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grantee", 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.Grantee = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Granter", 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.Granter = 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 (m *EventOrderCancelFail) 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: EventOrderCancelFail: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventOrderCancelFail: 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 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.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 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.SubaccountId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", 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.OrderHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cid", 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.Cid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + 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 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.Description = 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/exchange/types/exchange.go b/chain/exchange/types/exchange.go index d4ad366e..ac34af0e 100644 --- a/chain/exchange/types/exchange.go +++ b/chain/exchange/types/exchange.go @@ -3,6 +3,7 @@ package types import ( "fmt" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/ethereum/go-ethereum/common" ) @@ -15,7 +16,7 @@ type MatchedMarketDirection struct { type TriggeredOrdersInMarket struct { Market *DerivativeMarket - MarkPrice sdk.Dec + MarkPrice math.LegacyDec MarketOrders []*DerivativeMarketOrder LimitOrders []*DerivativeLimitOrder HasLimitBuyOrders bool @@ -45,10 +46,10 @@ func (s MarketStatus) SupportsOrderCancellations() bool { type TradingRewardAccountPoints struct { Account sdk.AccAddress - Points sdk.Dec + Points math.LegacyDec } -func (p *PointsMultiplier) GetMultiplier(e ExecutionType) sdk.Dec { +func (p *PointsMultiplier) GetMultiplier(e ExecutionType) math.LegacyDec { if e.IsMaker() { return p.MakerPointsMultiplier } @@ -57,9 +58,9 @@ func (p *PointsMultiplier) GetMultiplier(e ExecutionType) sdk.Dec { } type IOrder interface { - GetPrice() sdk.Dec - GetQuantity() sdk.Dec - GetFillable() sdk.Dec + GetPrice() math.LegacyDec + GetQuantity() math.LegacyDec + GetFillable() math.LegacyDec IsBuy() bool GetSubaccountID() common.Hash } @@ -67,63 +68,63 @@ type IOrder interface { // IDerivativeOrder proto interface for wrapping all different variations of representations of derivative orders. Methods can be added as needed (make sure to add to every implementor) type IDerivativeOrder interface { IOrder - GetMargin() sdk.Dec + GetMargin() math.LegacyDec IsReduceOnly() bool IsVanilla() bool } type IMutableDerivativeOrder interface { IDerivativeOrder - SetPrice(sdk.Dec) - SetQuantity(sdk.Dec) - SetMargin(sdk.Dec) + SetPrice(math.LegacyDec) + SetQuantity(math.LegacyDec) + SetMargin(math.LegacyDec) } // DerivativeOrder - IMutableDerivativeOrder implementation -func (o *DerivativeOrder) GetPrice() sdk.Dec { +func (o *DerivativeOrder) GetPrice() math.LegacyDec { return o.OrderInfo.Price } -func (o *DerivativeOrder) GetQuantity() sdk.Dec { +func (o *DerivativeOrder) GetQuantity() math.LegacyDec { return o.OrderInfo.Quantity } -func (o *DerivativeOrder) GetFillable() sdk.Dec { +func (o *DerivativeOrder) GetFillable() math.LegacyDec { return o.GetQuantity() } -func (o *DerivativeOrder) GetMargin() sdk.Dec { +func (o *DerivativeOrder) GetMargin() math.LegacyDec { return o.Margin } func (o *DerivativeOrder) GetSubaccountID() common.Hash { return o.OrderInfo.SubaccountID() } -func (o *DerivativeOrder) SetPrice(price sdk.Dec) { +func (o *DerivativeOrder) SetPrice(price math.LegacyDec) { o.OrderInfo.Price = price } -func (o *DerivativeOrder) SetQuantity(quantity sdk.Dec) { +func (o *DerivativeOrder) SetQuantity(quantity math.LegacyDec) { o.OrderInfo.Quantity = quantity } -func (o *DerivativeOrder) SetMargin(margin sdk.Dec) { +func (o *DerivativeOrder) SetMargin(margin math.LegacyDec) { o.Margin = margin } // DerivativeLimitOrder - IMutableDerivativeOrder implementation -func (o *DerivativeLimitOrder) GetPrice() sdk.Dec { +func (o *DerivativeLimitOrder) GetPrice() math.LegacyDec { return o.OrderInfo.Price } -func (o *DerivativeLimitOrder) GetQuantity() sdk.Dec { +func (o *DerivativeLimitOrder) GetQuantity() math.LegacyDec { return o.OrderInfo.Quantity } -func (o *DerivativeLimitOrder) GetFillable() sdk.Dec { +func (o *DerivativeLimitOrder) GetFillable() math.LegacyDec { return o.Fillable } -func (o *DerivativeLimitOrder) GetMargin() sdk.Dec { +func (o *DerivativeLimitOrder) GetMargin() math.LegacyDec { return o.Margin } @@ -131,46 +132,46 @@ func (o *DerivativeLimitOrder) GetSubaccountID() common.Hash { return o.OrderInfo.SubaccountID() } -func (o *DerivativeLimitOrder) SetPrice(price sdk.Dec) { +func (o *DerivativeLimitOrder) SetPrice(price math.LegacyDec) { o.OrderInfo.Price = price } -func (o *DerivativeLimitOrder) SetQuantity(quantity sdk.Dec) { +func (o *DerivativeLimitOrder) SetQuantity(quantity math.LegacyDec) { o.OrderInfo.Quantity = quantity o.Fillable = quantity } -func (o *DerivativeLimitOrder) SetMargin(margin sdk.Dec) { +func (o *DerivativeLimitOrder) SetMargin(margin math.LegacyDec) { o.Margin = margin } // DerivativeMarketOrder - IMutableDerivativeOrder implementation -func (o *DerivativeMarketOrder) GetPrice() sdk.Dec { +func (o *DerivativeMarketOrder) GetPrice() math.LegacyDec { return o.OrderInfo.Price } -func (o *DerivativeMarketOrder) GetQuantity() sdk.Dec { +func (o *DerivativeMarketOrder) GetQuantity() math.LegacyDec { return o.OrderInfo.Quantity } -func (o *DerivativeMarketOrder) GetFillable() sdk.Dec { +func (o *DerivativeMarketOrder) GetFillable() math.LegacyDec { return o.OrderInfo.Quantity } -func (o *DerivativeMarketOrder) GetMargin() sdk.Dec { +func (o *DerivativeMarketOrder) GetMargin() math.LegacyDec { return o.Margin } func (o *DerivativeMarketOrder) GetSubaccountID() common.Hash { return o.OrderInfo.SubaccountID() } -func (o *DerivativeMarketOrder) SetPrice(price sdk.Dec) { +func (o *DerivativeMarketOrder) SetPrice(price math.LegacyDec) { o.OrderInfo.Price = price } -func (o *DerivativeMarketOrder) SetQuantity(quantity sdk.Dec) { +func (o *DerivativeMarketOrder) SetQuantity(quantity math.LegacyDec) { o.OrderInfo.Quantity = quantity } -func (o *DerivativeMarketOrder) SetMargin(margin sdk.Dec) { +func (o *DerivativeMarketOrder) SetMargin(margin math.LegacyDec) { o.Margin = margin } @@ -180,37 +181,37 @@ func (o *DerivativeMarketOrder) DebugString() string { // spot orders -func (o *SpotOrder) GetPrice() sdk.Dec { +func (o *SpotOrder) GetPrice() math.LegacyDec { return o.OrderInfo.Price } -func (o *SpotLimitOrder) GetPrice() sdk.Dec { +func (o *SpotLimitOrder) GetPrice() math.LegacyDec { return o.OrderInfo.Price } -func (o *SpotMarketOrder) GetPrice() sdk.Dec { +func (o *SpotMarketOrder) GetPrice() math.LegacyDec { return o.OrderInfo.Price } -func (o *SpotOrder) GetQuantity() sdk.Dec { +func (o *SpotOrder) GetQuantity() math.LegacyDec { return o.OrderInfo.Quantity } -func (o *SpotLimitOrder) GetQuantity() sdk.Dec { +func (o *SpotLimitOrder) GetQuantity() math.LegacyDec { return o.OrderInfo.Quantity } -func (o *SpotMarketOrder) GetQuantity() sdk.Dec { +func (o *SpotMarketOrder) GetQuantity() math.LegacyDec { return o.OrderInfo.Quantity } func (o *SpotMarketOrder) IsBuy() bool { return o.OrderType.IsBuy() } -func (o *SpotOrder) GetFillable() sdk.Dec { +func (o *SpotOrder) GetFillable() math.LegacyDec { return o.OrderInfo.Quantity } -func (o *SpotMarketOrder) GetFillable() sdk.Dec { +func (o *SpotMarketOrder) GetFillable() math.LegacyDec { // no fillable for market order, but quantity works same in this case return o.OrderInfo.Quantity } -func (o *SpotLimitOrder) GetFillable() sdk.Dec { +func (o *SpotLimitOrder) GetFillable() math.LegacyDec { return o.Fillable } diff --git a/chain/exchange/types/exchange.pb.go b/chain/exchange/types/exchange.pb.go index d462df25..fb4b5b68 100644 --- a/chain/exchange/types/exchange.pb.go +++ b/chain/exchange/types/exchange.pb.go @@ -4,10 +4,12 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" 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/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -236,22 +238,22 @@ type Params struct { 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 - 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"` + DefaultSpotMakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=default_spot_maker_fee_rate,json=defaultSpotMakerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 - 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"` + DefaultSpotTakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=default_spot_taker_fee_rate,json=defaultSpotTakerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"default_spot_taker_fee_rate"` // 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"` + DefaultDerivativeMakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=default_derivative_maker_fee_rate,json=defaultDerivativeMakerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"default_derivative_maker_fee_rate"` // 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"` + DefaultDerivativeTakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=default_derivative_taker_fee_rate,json=defaultDerivativeTakerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"default_derivative_taker_fee_rate"` // 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"` + DefaultInitialMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=default_initial_margin_ratio,json=defaultInitialMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"default_initial_margin_ratio"` // 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"` + DefaultMaintenanceMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=default_maintenance_margin_ratio,json=defaultMaintenanceMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"default_maintenance_margin_ratio"` // 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"` @@ -260,24 +262,24 @@ type Params struct { 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 - 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"` + RelayerFeeShareRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"relayer_fee_share_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"` + DefaultHourlyFundingRateCap cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=default_hourly_funding_rate_cap,json=defaultHourlyFundingRateCap,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + DefaultHourlyInterestRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=default_hourly_interest_rate,json=defaultHourlyInterestRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 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 - 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"` + InjRewardStakedRequirementThreshold cosmossdk_io_math.Int `protobuf:"bytes,15,opt,name=inj_reward_staked_requirement_threshold,json=injRewardStakedRequirementThreshold,proto3,customtype=cosmossdk.io/math.Int" json:"inj_reward_staked_requirement_threshold"` // 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 - 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"` + LiquidatorRewardShareRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,17,opt,name=liquidator_reward_share_rate,json=liquidatorRewardShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 BinaryOptionsMarketInstantListingFee types.Coin `protobuf:"bytes,18,opt,name=binary_options_market_instant_listing_fee,json=binaryOptionsMarketInstantListingFee,proto3" json:"binary_options_market_instant_listing_fee"` @@ -286,19 +288,24 @@ type Params struct { 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 - 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"` + SpotAtomicMarketOrderFeeMultiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,20,opt,name=spot_atomic_market_order_fee_multiplier,json=spotAtomicMarketOrderFeeMultiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 - 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"` + DerivativeAtomicMarketOrderFeeMultiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,21,opt,name=derivative_atomic_market_order_fee_multiplier,json=derivativeAtomicMarketOrderFeeMultiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 - 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"` + BinaryOptionsAtomicMarketOrderFeeMultiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,22,opt,name=binary_options_atomic_market_order_fee_multiplier,json=binaryOptionsAtomicMarketOrderFeeMultiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + MinimalProtocolFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,23,opt,name=minimal_protocol_fee_rate,json=minimalProtocolFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"minimal_protocol_fee_rate"` // 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"` PostOnlyModeHeightThreshold int64 `protobuf:"varint,25,opt,name=post_only_mode_height_threshold,json=postOnlyModeHeightThreshold,proto3" json:"post_only_mode_height_threshold,omitempty"` + // Maximum time in seconds since the last mark price update to allow a + // decrease in margin + MarginDecreasePriceTimestampThresholdSeconds int64 `protobuf:"varint,26,opt,name=margin_decrease_price_timestamp_threshold_seconds,json=marginDecreasePriceTimestampThresholdSeconds,proto3" json:"margin_decrease_price_timestamp_threshold_seconds,omitempty"` + // List of addresses that are allowed to perform exchange admin operations + ExchangeAdmins []string `protobuf:"bytes,27,rep,name=exchange_admins,json=exchangeAdmins,proto3" json:"exchange_admins,omitempty"` } func (m *Params) Reset() { *m = Params{} } @@ -404,9 +411,23 @@ func (m *Params) GetPostOnlyModeHeightThreshold() int64 { return 0 } +func (m *Params) GetMarginDecreasePriceTimestampThresholdSeconds() int64 { + if m != nil { + return m.MarginDecreasePriceTimestampThresholdSeconds + } + return 0 +} + +func (m *Params) GetExchangeAdmins() []string { + if m != nil { + return m.ExchangeAdmins + } + return nil +} + type MarketFeeMultiplier struct { - MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - FeeMultiplier github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=fee_multiplier,json=feeMultiplier,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fee_multiplier"` + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + FeeMultiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=fee_multiplier,json=feeMultiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fee_multiplier"` } func (m *MarketFeeMultiplier) Reset() { *m = MarketFeeMultiplier{} } @@ -460,17 +481,17 @@ type DerivativeMarket struct { 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 - 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"` + InitialMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"initial_margin_ratio"` // 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"` + MaintenanceMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,10,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` // 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"` + RelayerFeeShareRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"relayer_fee_share_rate"` // 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"` @@ -478,10 +499,17 @@ type DerivativeMarket struct { 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 - 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,15,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,16,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,17,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` + // current market admin + Admin string `protobuf:"bytes,18,opt,name=admin,proto3" json:"admin,omitempty"` + // level of admin permissions + AdminPermissions uint32 `protobuf:"varint,19,opt,name=admin_permissions,json=adminPermissions,proto3" json:"admin_permissions,omitempty"` } func (m *DerivativeMarket) Reset() { *m = DerivativeMarket{} } @@ -540,21 +568,26 @@ type BinaryOptionsMarket struct { // Unique market ID. MarketId string `protobuf:"bytes,10,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` // maker_fee_rate defines the maker fee rate of a binary options 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"` + MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` // 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"` + RelayerFeeShareRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 - 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,15,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,16,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + SettlementPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,17,opt,name=settlement_price,json=settlementPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"settlement_price,omitempty"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,18,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` + // level of admin permissions + AdminPermissions uint32 `protobuf:"varint,19,opt,name=admin_permissions,json=adminPermissions,proto3" json:"admin_permissions,omitempty"` } func (m *BinaryOptionsMarket) Reset() { *m = BinaryOptionsMarket{} } @@ -601,10 +634,10 @@ type ExpiryFuturesMarketInfo struct { 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 - 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"` + ExpirationTwapStartPriceCumulative cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=expiration_twap_start_price_cumulative,json=expirationTwapStartPriceCumulative,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"expiration_twap_start_price_cumulative"` // 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"` + SettlementPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=settlement_price,json=settlementPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"settlement_price"` } func (m *ExpiryFuturesMarketInfo) Reset() { *m = ExpiryFuturesMarketInfo{} } @@ -666,9 +699,9 @@ type PerpetualMarketInfo struct { 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 - 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"` + HourlyFundingRateCap cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=hourly_funding_rate_cap,json=hourlyFundingRateCap,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + HourlyInterestRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=hourly_interest_rate,json=hourlyInterestRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"hourly_interest_rate"` // 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"` @@ -733,11 +766,11 @@ 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"` + CumulativeFunding cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=cumulative_funding,json=cumulativeFunding,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cumulative_funding"` // 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"` + CumulativePrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=cumulative_price,json=cumulativePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cumulative_price"` + LastTimestamp int64 `protobuf:"varint,3,opt,name=last_timestamp,json=lastTimestamp,proto3" json:"last_timestamp,omitempty"` } func (m *PerpetualMarketFunding) Reset() { *m = PerpetualMarketFunding{} } @@ -784,7 +817,7 @@ type DerivativeMarketSettlementInfo struct { // market ID. MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` // settlement_price defines the settlement price - SettlementPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=settlement_price,json=settlementPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"settlement_price"` + SettlementPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=settlement_price,json=settlementPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"settlement_price"` } func (m *DerivativeMarketSettlementInfo) Reset() { *m = DerivativeMarketSettlementInfo{} } @@ -873,11 +906,11 @@ func (m *NextFundingTimestamp) GetNextTimestamp() int64 { 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"` + MidPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=mid_price,json=midPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + BestBuyPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=best_buy_price,json=bestBuyPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + BestSellPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=best_sell_price,json=bestSellPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"best_sell_price,omitempty"` } func (m *MidPriceAndTOB) Reset() { *m = MidPriceAndTOB{} } @@ -923,22 +956,29 @@ type SpotMarket struct { // Coin used for the quote asset QuoteDenom string `protobuf:"bytes,3,opt,name=quote_denom,json=quoteDenom,proto3" json:"quote_denom,omitempty"` // maker_fee_rate defines the fee percentage makers pay when trading - 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"` + MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` // 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"` + RelayerFeeShareRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 - 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,10,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` + // current market admin + Admin string `protobuf:"bytes,12,opt,name=admin,proto3" json:"admin,omitempty"` + // level of admin permissions + AdminPermissions uint32 `protobuf:"varint,13,opt,name=admin_permissions,json=adminPermissions,proto3" json:"admin_permissions,omitempty"` } func (m *SpotMarket) Reset() { *m = SpotMarket{} } @@ -1009,10 +1049,24 @@ func (m *SpotMarket) GetStatus() MarketStatus { return MarketStatus_Unspecified } +func (m *SpotMarket) GetAdmin() string { + if m != nil { + return m.Admin + } + return "" +} + +func (m *SpotMarket) GetAdminPermissions() uint32 { + if m != nil { + return m.AdminPermissions + } + return 0 +} + // A subaccount's deposit for a given base currency type Deposit struct { - AvailableBalance github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=available_balance,json=availableBalance,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"available_balance"` - TotalBalance github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=total_balance,json=totalBalance,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"total_balance"` + AvailableBalance cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=available_balance,json=availableBalance,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"available_balance"` + TotalBalance cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=total_balance,json=totalBalance,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"total_balance"` } func (m *Deposit) Reset() { *m = Deposit{} } @@ -1098,10 +1152,10 @@ type OrderInfo struct { // address fee_recipient address that will receive fees for the order FeeRecipient string `protobuf:"bytes,2,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` // price of the order - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` // quantity of the order - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` - Cid string `protobuf:"bytes,5,opt,name=cid,proto3" json:"cid,omitempty"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` + Cid string `protobuf:"bytes,5,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *OrderInfo) Reset() { *m = OrderInfo{} } @@ -1166,7 +1220,7 @@ type SpotOrder struct { // order types OrderType OrderType `protobuf:"varint,3,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"` // trigger_price is the trigger price used by stop/take orders - TriggerPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=trigger_price,json=triggerPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"trigger_price,omitempty"` + TriggerPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=trigger_price,json=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"trigger_price,omitempty"` } func (m *SpotOrder) Reset() { *m = SpotOrder{} } @@ -1230,10 +1284,10 @@ type SpotLimitOrder struct { // order types OrderType OrderType `protobuf:"varint,2,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"` // the amount of the quantity remaining fillable - Fillable github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=fillable,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fillable"` + Fillable cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=fillable,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fillable"` // trigger_price is the trigger price used by stop/take orders - TriggerPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=trigger_price,json=triggerPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"trigger_price,omitempty"` - OrderHash []byte `protobuf:"bytes,5,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + TriggerPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=trigger_price,json=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"trigger_price,omitempty"` + OrderHash []byte `protobuf:"bytes,5,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` } func (m *SpotLimitOrder) Reset() { *m = SpotLimitOrder{} } @@ -1293,13 +1347,13 @@ func (m *SpotLimitOrder) GetOrderHash() []byte { // A valid Spot market order with Metadata. type SpotMarketOrder struct { // order_info contains the information of the order - OrderInfo OrderInfo `protobuf:"bytes,1,opt,name=order_info,json=orderInfo,proto3" json:"order_info"` - BalanceHold github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=balance_hold,json=balanceHold,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"balance_hold"` - OrderHash []byte `protobuf:"bytes,3,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + OrderInfo OrderInfo `protobuf:"bytes,1,opt,name=order_info,json=orderInfo,proto3" json:"order_info"` + BalanceHold cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=balance_hold,json=balanceHold,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"balance_hold"` + OrderHash []byte `protobuf:"bytes,3,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` // order types OrderType OrderType `protobuf:"varint,4,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"` // trigger_price is the trigger price used by stop/take orders - TriggerPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"trigger_price,omitempty"` + TriggerPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"trigger_price,omitempty"` } func (m *SpotMarketOrder) Reset() { *m = SpotMarketOrder{} } @@ -1364,9 +1418,9 @@ type DerivativeOrder struct { // order types OrderType OrderType `protobuf:"varint,3,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"` // margin is the margin used by the limit order - Margin github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=margin,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"margin"` + Margin cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=margin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin"` // trigger_price is the trigger price used by stop/take orders - TriggerPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"trigger_price,omitempty"` + TriggerPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"trigger_price,omitempty"` } func (m *DerivativeOrder) Reset() { *m = DerivativeOrder{} } @@ -1428,12 +1482,12 @@ type SubaccountOrderbookMetadata struct { 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 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"` + AggregateReduceOnlyQuantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=aggregate_reduce_only_quantity,json=aggregateReduceOnlyQuantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"aggregate_reduce_only_quantity"` // 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"` + AggregateVanillaQuantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=aggregate_vanilla_quantity,json=aggregateVanillaQuantity,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` } func (m *SubaccountOrderbookMetadata) Reset() { *m = SubaccountOrderbookMetadata{} } @@ -1499,10 +1553,11 @@ func (m *SubaccountOrderbookMetadata) GetReduceOnlyConditionalOrderCount() uint3 type SubaccountOrder 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"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` // the amount of the quantity remaining fillable - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` - IsReduceOnly bool `protobuf:"varint,3,opt,name=isReduceOnly,proto3" json:"isReduceOnly,omitempty"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` + IsReduceOnly bool `protobuf:"varint,3,opt,name=isReduceOnly,proto3" json:"isReduceOnly,omitempty"` + Cid string `protobuf:"bytes,4,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *SubaccountOrder) Reset() { *m = SubaccountOrder{} } @@ -1545,6 +1600,13 @@ func (m *SubaccountOrder) GetIsReduceOnly() bool { return false } +func (m *SubaccountOrder) GetCid() string { + if m != nil { + return m.Cid + } + return "" +} + type SubaccountOrderData struct { Order *SubaccountOrder `protobuf:"bytes,1,opt,name=order,proto3" json:"order,omitempty"` OrderHash []byte `protobuf:"bytes,2,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` @@ -1604,12 +1666,12 @@ type DerivativeLimitOrder struct { // order types OrderType OrderType `protobuf:"varint,2,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"` // margin is the margin used by the limit order - Margin github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=margin,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"margin"` + Margin cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=margin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin"` // the amount of the quantity remaining fillable - Fillable github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=fillable,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fillable"` + Fillable cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=fillable,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fillable"` // trigger_price is the trigger price used by stop/take orders - TriggerPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"trigger_price,omitempty"` - OrderHash []byte `protobuf:"bytes,6,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + TriggerPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"trigger_price,omitempty"` + OrderHash []byte `protobuf:"bytes,6,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` } func (m *DerivativeLimitOrder) Reset() { *m = DerivativeLimitOrder{} } @@ -1671,12 +1733,12 @@ type DerivativeMarketOrder struct { // order_info contains the information of the order OrderInfo OrderInfo `protobuf:"bytes,1,opt,name=order_info,json=orderInfo,proto3" json:"order_info"` // order types - OrderType OrderType `protobuf:"varint,2,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"` - Margin github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=margin,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"margin"` - MarginHold github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=margin_hold,json=marginHold,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"margin_hold"` + OrderType OrderType `protobuf:"varint,2,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"` + Margin cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=margin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin"` + MarginHold cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=margin_hold,json=marginHold,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin_hold"` // trigger_price is the trigger price used by stop/take orders - TriggerPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"trigger_price,omitempty"` - OrderHash []byte `protobuf:"bytes,6,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + TriggerPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"trigger_price,omitempty"` + OrderHash []byte `protobuf:"bytes,6,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` } func (m *DerivativeMarketOrder) Reset() { *m = DerivativeMarketOrder{} } @@ -1734,11 +1796,11 @@ func (m *DerivativeMarketOrder) GetOrderHash() []byte { } type Position struct { - IsLong bool `protobuf:"varint,1,opt,name=isLong,proto3" json:"isLong,omitempty"` - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` - EntryPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=entry_price,json=entryPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"entry_price"` - Margin github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=margin,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"margin"` - CumulativeFundingEntry github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=cumulative_funding_entry,json=cumulativeFundingEntry,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"cumulative_funding_entry"` + IsLong bool `protobuf:"varint,1,opt,name=isLong,proto3" json:"isLong,omitempty"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` + EntryPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=entry_price,json=entryPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"entry_price"` + Margin cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=margin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin"` + CumulativeFundingEntry cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=cumulative_funding_entry,json=cumulativeFundingEntry,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cumulative_funding_entry"` } func (m *Position) Reset() { *m = Position{} } @@ -1835,14 +1897,14 @@ func (m *MarketOrderIndicator) GetIsBuy() bool { } type TradeLog struct { - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` // bytes32 subaccount ID that executed the trade - SubaccountId []byte `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - Fee github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=fee,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fee"` - OrderHash []byte `protobuf:"bytes,5,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` - FeeRecipientAddress []byte `protobuf:"bytes,6,opt,name=fee_recipient_address,json=feeRecipientAddress,proto3" json:"fee_recipient_address,omitempty"` - Cid string `protobuf:"bytes,7,opt,name=cid,proto3" json:"cid,omitempty"` + SubaccountId []byte `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + Fee cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=fee,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fee"` + OrderHash []byte `protobuf:"bytes,5,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + FeeRecipientAddress []byte `protobuf:"bytes,6,opt,name=fee_recipient_address,json=feeRecipientAddress,proto3" json:"fee_recipient_address,omitempty"` + Cid string `protobuf:"bytes,7,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *TradeLog) Reset() { *m = TradeLog{} } @@ -1907,10 +1969,10 @@ func (m *TradeLog) GetCid() string { } type PositionDelta struct { - IsLong bool `protobuf:"varint,1,opt,name=is_long,json=isLong,proto3" json:"is_long,omitempty"` - ExecutionQuantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=execution_quantity,json=executionQuantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"execution_quantity"` - ExecutionMargin github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=execution_margin,json=executionMargin,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"execution_margin"` - ExecutionPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=execution_price,json=executionPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"execution_price"` + IsLong bool `protobuf:"varint,1,opt,name=is_long,json=isLong,proto3" json:"is_long,omitempty"` + ExecutionQuantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=execution_quantity,json=executionQuantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"execution_quantity"` + ExecutionMargin cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=execution_margin,json=executionMargin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"execution_margin"` + ExecutionPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=execution_price,json=executionPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"execution_price"` } func (m *PositionDelta) Reset() { *m = PositionDelta{} } @@ -1954,13 +2016,14 @@ func (m *PositionDelta) GetIsLong() bool { } type DerivativeTradeLog struct { - SubaccountId []byte `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - PositionDelta *PositionDelta `protobuf:"bytes,2,opt,name=position_delta,json=positionDelta,proto3" json:"position_delta,omitempty"` - Payout github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=payout,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"payout"` - Fee github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=fee,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fee"` - OrderHash []byte `protobuf:"bytes,5,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` - FeeRecipientAddress []byte `protobuf:"bytes,6,opt,name=fee_recipient_address,json=feeRecipientAddress,proto3" json:"fee_recipient_address,omitempty"` - Cid string `protobuf:"bytes,7,opt,name=cid,proto3" json:"cid,omitempty"` + SubaccountId []byte `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + PositionDelta *PositionDelta `protobuf:"bytes,2,opt,name=position_delta,json=positionDelta,proto3" json:"position_delta,omitempty"` + Payout cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=payout,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"payout"` + Fee cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=fee,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fee"` + OrderHash []byte `protobuf:"bytes,5,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + FeeRecipientAddress []byte `protobuf:"bytes,6,opt,name=fee_recipient_address,json=feeRecipientAddress,proto3" json:"fee_recipient_address,omitempty"` + Cid string `protobuf:"bytes,7,opt,name=cid,proto3" json:"cid,omitempty"` + Pnl cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=pnl,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"pnl"` } func (m *DerivativeTradeLog) Reset() { *m = DerivativeTradeLog{} } @@ -2188,8 +2251,8 @@ func (m *DepositUpdate) GetDeposits() []*SubaccountDeposit { } type PointsMultiplier struct { - MakerPointsMultiplier github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=maker_points_multiplier,json=makerPointsMultiplier,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maker_points_multiplier"` - TakerPointsMultiplier github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=taker_points_multiplier,json=takerPointsMultiplier,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"taker_points_multiplier"` + MakerPointsMultiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=maker_points_multiplier,json=makerPointsMultiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_points_multiplier"` + TakerPointsMultiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=taker_points_multiplier,json=takerPointsMultiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_points_multiplier"` } func (m *PointsMultiplier) Reset() { *m = PointsMultiplier{} } @@ -2420,10 +2483,10 @@ func (m *TradingRewardCampaignInfo) GetDisqualifiedMarketIds() []string { } type FeeDiscountTierInfo struct { - MakerDiscountRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=maker_discount_rate,json=makerDiscountRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maker_discount_rate"` - TakerDiscountRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=taker_discount_rate,json=takerDiscountRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"taker_discount_rate"` - StakedAmount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,3,opt,name=staked_amount,json=stakedAmount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"staked_amount"` - Volume github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=volume,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"volume"` + MakerDiscountRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=maker_discount_rate,json=makerDiscountRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_discount_rate"` + TakerDiscountRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=taker_discount_rate,json=takerDiscountRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_discount_rate"` + StakedAmount cosmossdk_io_math.Int `protobuf:"bytes,3,opt,name=staked_amount,json=stakedAmount,proto3,customtype=cosmossdk.io/math.Int" json:"staked_amount"` + Volume cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=volume,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"volume"` } func (m *FeeDiscountTierInfo) Reset() { *m = FeeDiscountTierInfo{} } @@ -2593,8 +2656,8 @@ func (m *FeeDiscountTierTTL) GetTtlTimestamp() int64 { } type VolumeRecord struct { - MakerVolume github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=maker_volume,json=makerVolume,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maker_volume"` - TakerVolume github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=taker_volume,json=takerVolume,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"taker_volume"` + MakerVolume cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=maker_volume,json=makerVolume,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_volume"` + TakerVolume cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=taker_volume,json=takerVolume,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_volume"` } func (m *VolumeRecord) Reset() { *m = VolumeRecord{} } @@ -2779,9 +2842,9 @@ func (m *SubaccountIDs) GetSubaccountIds() [][]byte { } type TradeRecord struct { - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` } func (m *TradeRecord) Reset() { *m = TradeRecord{} } @@ -2826,9 +2889,9 @@ func (m *TradeRecord) GetTimestamp() int64 { type Level struct { // price - P github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=p,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"p"` + P cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=p,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"p"` // quantity - Q github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=q,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"q"` + Q cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=q,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"q"` } func (m *Level) Reset() { *m = Level{} } @@ -3072,6 +3135,149 @@ func (m *DenomDecimals) GetDecimals() uint64 { return 0 } +type GrantAuthorization struct { + Grantee string `protobuf:"bytes,1,opt,name=grantee,proto3" json:"grantee,omitempty"` + Amount cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=amount,proto3,customtype=cosmossdk.io/math.Int" json:"amount"` +} + +func (m *GrantAuthorization) Reset() { *m = GrantAuthorization{} } +func (m *GrantAuthorization) String() string { return proto.CompactTextString(m) } +func (*GrantAuthorization) ProtoMessage() {} +func (*GrantAuthorization) Descriptor() ([]byte, []int) { + return fileDescriptor_2116e2804e9c53f9, []int{48} +} +func (m *GrantAuthorization) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *GrantAuthorization) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_GrantAuthorization.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 *GrantAuthorization) XXX_Merge(src proto.Message) { + xxx_messageInfo_GrantAuthorization.Merge(m, src) +} +func (m *GrantAuthorization) XXX_Size() int { + return m.Size() +} +func (m *GrantAuthorization) XXX_DiscardUnknown() { + xxx_messageInfo_GrantAuthorization.DiscardUnknown(m) +} + +var xxx_messageInfo_GrantAuthorization proto.InternalMessageInfo + +func (m *GrantAuthorization) GetGrantee() string { + if m != nil { + return m.Grantee + } + return "" +} + +type ActiveGrant struct { + Granter string `protobuf:"bytes,1,opt,name=granter,proto3" json:"granter,omitempty"` + Amount cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=amount,proto3,customtype=cosmossdk.io/math.Int" json:"amount"` +} + +func (m *ActiveGrant) Reset() { *m = ActiveGrant{} } +func (m *ActiveGrant) String() string { return proto.CompactTextString(m) } +func (*ActiveGrant) ProtoMessage() {} +func (*ActiveGrant) Descriptor() ([]byte, []int) { + return fileDescriptor_2116e2804e9c53f9, []int{49} +} +func (m *ActiveGrant) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ActiveGrant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ActiveGrant.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 *ActiveGrant) XXX_Merge(src proto.Message) { + xxx_messageInfo_ActiveGrant.Merge(m, src) +} +func (m *ActiveGrant) XXX_Size() int { + return m.Size() +} +func (m *ActiveGrant) XXX_DiscardUnknown() { + xxx_messageInfo_ActiveGrant.DiscardUnknown(m) +} + +var xxx_messageInfo_ActiveGrant proto.InternalMessageInfo + +func (m *ActiveGrant) GetGranter() string { + if m != nil { + return m.Granter + } + return "" +} + +type EffectiveGrant struct { + Granter string `protobuf:"bytes,1,opt,name=granter,proto3" json:"granter,omitempty"` + NetGrantedStake cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=net_granted_stake,json=netGrantedStake,proto3,customtype=cosmossdk.io/math.Int" json:"net_granted_stake"` + IsValid bool `protobuf:"varint,3,opt,name=is_valid,json=isValid,proto3" json:"is_valid,omitempty"` +} + +func (m *EffectiveGrant) Reset() { *m = EffectiveGrant{} } +func (m *EffectiveGrant) String() string { return proto.CompactTextString(m) } +func (*EffectiveGrant) ProtoMessage() {} +func (*EffectiveGrant) Descriptor() ([]byte, []int) { + return fileDescriptor_2116e2804e9c53f9, []int{50} +} +func (m *EffectiveGrant) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EffectiveGrant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EffectiveGrant.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 *EffectiveGrant) XXX_Merge(src proto.Message) { + xxx_messageInfo_EffectiveGrant.Merge(m, src) +} +func (m *EffectiveGrant) XXX_Size() int { + return m.Size() +} +func (m *EffectiveGrant) XXX_DiscardUnknown() { + xxx_messageInfo_EffectiveGrant.DiscardUnknown(m) +} + +var xxx_messageInfo_EffectiveGrant proto.InternalMessageInfo + +func (m *EffectiveGrant) GetGranter() string { + if m != nil { + return m.Granter + } + return "" +} + +func (m *EffectiveGrant) GetIsValid() bool { + if m != nil { + return m.IsValid + } + return false +} + func init() { proto.RegisterEnum("injective.exchange.v1beta1.AtomicMarketOrderAccessLevel", AtomicMarketOrderAccessLevel_name, AtomicMarketOrderAccessLevel_value) proto.RegisterEnum("injective.exchange.v1beta1.MarketStatus", MarketStatus_name, MarketStatus_value) @@ -3126,6 +3332,9 @@ func init() { proto.RegisterType((*AggregateAccountVolumeRecord)(nil), "injective.exchange.v1beta1.AggregateAccountVolumeRecord") proto.RegisterType((*MarketVolume)(nil), "injective.exchange.v1beta1.MarketVolume") proto.RegisterType((*DenomDecimals)(nil), "injective.exchange.v1beta1.DenomDecimals") + proto.RegisterType((*GrantAuthorization)(nil), "injective.exchange.v1beta1.GrantAuthorization") + proto.RegisterType((*ActiveGrant)(nil), "injective.exchange.v1beta1.ActiveGrant") + proto.RegisterType((*EffectiveGrant)(nil), "injective.exchange.v1beta1.EffectiveGrant") } func init() { @@ -3133,266 +3342,283 @@ func init() { } var fileDescriptor_2116e2804e9c53f9 = []byte{ - // 4144 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5c, 0x4d, 0x6c, 0x23, 0x59, - 0x5e, 0xef, 0xb2, 0x9d, 0xc4, 0xfe, 0xc7, 0x76, 0xdc, 0x95, 0x74, 0xe2, 0xa4, 0xbb, 0x13, 0x8f, - 0x67, 0x7a, 0x3a, 0xd3, 0xb3, 0x93, 0xde, 0x69, 0x60, 0x35, 0x8c, 0x58, 0xa9, 0x9d, 0xaf, 0x69, - 0xcf, 0xe4, 0x6b, 0xca, 0xee, 0x59, 0x35, 0xab, 0xd9, 0xda, 0x97, 0xaa, 0x97, 0xf8, 0x4d, 0x97, - 0xab, 0xdc, 0xf5, 0x9e, 0xd3, 0xc9, 0x22, 0xa4, 0x15, 0x8b, 0x10, 0x1b, 0x90, 0x06, 0x38, 0x2c, - 0x7b, 0x89, 0xb4, 0x07, 0x2e, 0x70, 0x00, 0x0e, 0x88, 0xcb, 0xc0, 0x99, 0x3d, 0xee, 0x11, 0x21, - 0x58, 0x50, 0xcf, 0x05, 0x71, 0x40, 0x82, 0x1b, 0x42, 0x42, 0xe8, 0x7d, 0xd4, 0x87, 0xed, 0xc4, - 0x49, 0x57, 0xd2, 0x5a, 0x16, 0xed, 0x29, 0x7e, 0x5f, 0xbf, 0xff, 0x7b, 0xff, 0xef, 0xf7, 0x51, - 0x81, 0xb7, 0x88, 0xfb, 0x19, 0xb6, 0x18, 0x39, 0xc0, 0xf7, 0xf1, 0xa1, 0xd5, 0x42, 0xee, 0x3e, - 0xbe, 0x7f, 0xf0, 0xee, 0x2e, 0x66, 0xe8, 0xdd, 0xb0, 0x62, 0xa9, 0xe3, 0x7b, 0xcc, 0xd3, 0xe7, - 0xc2, 0xae, 0x4b, 0x61, 0x8b, 0xea, 0x3a, 0x37, 0xb5, 0xef, 0xed, 0x7b, 0xa2, 0xdb, 0x7d, 0xfe, - 0x4b, 0x8e, 0x98, 0x9b, 0xb7, 0x3c, 0xda, 0xf6, 0xe8, 0xfd, 0x5d, 0x44, 0x23, 0x54, 0xcb, 0x23, - 0xae, 0x6a, 0xbf, 0x13, 0x11, 0xf7, 0x7c, 0x64, 0x39, 0x51, 0x27, 0x59, 0x94, 0xdd, 0xaa, 0x3f, - 0xb8, 0x01, 0xa3, 0x3b, 0xc8, 0x47, 0x6d, 0xaa, 0x63, 0x58, 0xa0, 0x1d, 0x8f, 0x99, 0x6d, 0xe4, - 0x3f, 0xc5, 0xcc, 0x24, 0x2e, 0x65, 0xc8, 0x65, 0xa6, 0x43, 0x28, 0x23, 0xee, 0xbe, 0xb9, 0x87, - 0x71, 0x59, 0xab, 0x68, 0x8b, 0xe3, 0x0f, 0x66, 0x97, 0x24, 0xed, 0x25, 0x4e, 0x3b, 0x98, 0xe6, - 0xd2, 0x8a, 0x47, 0xdc, 0xe5, 0xcc, 0x8f, 0x7f, 0xba, 0x70, 0xcd, 0xb8, 0xc9, 0x71, 0x36, 0x05, - 0x4c, 0x5d, 0xa2, 0x6c, 0x48, 0x90, 0x75, 0x8c, 0xf5, 0x67, 0x70, 0xc7, 0xc6, 0x3e, 0x39, 0x40, - 0x7c, 0x6e, 0xc3, 0x88, 0xa5, 0x2e, 0x46, 0xec, 0xb5, 0x08, 0xed, 0x2c, 0x92, 0x0e, 0xdc, 0xb4, - 0xf1, 0x1e, 0xea, 0x3a, 0xcc, 0x54, 0x2b, 0x7c, 0x8a, 0x7d, 0x4e, 0xc3, 0xf4, 0x11, 0xc3, 0xe5, - 0x74, 0x45, 0x5b, 0xcc, 0x2d, 0x2f, 0x71, 0xb4, 0x7f, 0xf8, 0xe9, 0xc2, 0x9b, 0xfb, 0x84, 0xb5, - 0xba, 0xbb, 0x4b, 0x96, 0xd7, 0xbe, 0xaf, 0x78, 0x2c, 0xff, 0xbc, 0x43, 0xed, 0xa7, 0xf7, 0xd9, - 0x51, 0x07, 0xd3, 0xa5, 0x55, 0x6c, 0x19, 0x33, 0x0a, 0xb2, 0x21, 0xd6, 0xfa, 0x14, 0xfb, 0xeb, - 0x18, 0x1b, 0x88, 0x0d, 0x52, 0x63, 0xbd, 0xd4, 0x32, 0x97, 0xa6, 0xd6, 0x8c, 0x53, 0x3b, 0x84, - 0xd7, 0x02, 0x6a, 0x3d, 0x6c, 0xed, 0xa1, 0x39, 0x92, 0x88, 0xe6, 0x6d, 0x05, 0xbc, 0x1a, 0x63, - 0xf0, 0xb9, 0x94, 0xfb, 0x56, 0x3b, 0x7a, 0x45, 0x94, 0x7b, 0xd6, 0xec, 0xc1, 0xad, 0x80, 0x32, - 0x71, 0x09, 0x23, 0xc8, 0xe1, 0x7a, 0xb4, 0x4f, 0x5c, 0x4e, 0x93, 0x78, 0xe5, 0xb1, 0x44, 0x44, - 0x67, 0x15, 0x66, 0x5d, 0x42, 0x6e, 0x0a, 0x44, 0x83, 0x03, 0xea, 0xcf, 0xa1, 0x12, 0x10, 0x6c, - 0x23, 0xe2, 0x32, 0xec, 0x22, 0xd7, 0xc2, 0xbd, 0x44, 0xb3, 0x97, 0x5a, 0xe9, 0x66, 0x04, 0x1b, - 0x27, 0xfc, 0x1e, 0x94, 0x03, 0xc2, 0x7b, 0x5d, 0xd7, 0xe6, 0xa6, 0xc1, 0xfb, 0xf9, 0x07, 0xc8, - 0x29, 0xe7, 0x2a, 0xda, 0x62, 0xda, 0x98, 0x56, 0xed, 0xeb, 0xb2, 0xb9, 0xae, 0x5a, 0xf5, 0xb7, - 0xa0, 0x14, 0x8c, 0x68, 0x77, 0x1d, 0x46, 0x3a, 0x0e, 0x2e, 0x83, 0x18, 0x31, 0xa1, 0xea, 0x37, - 0x55, 0xb5, 0x6e, 0xc1, 0xb4, 0x8f, 0x1d, 0x74, 0xa4, 0xe4, 0x46, 0x5b, 0xc8, 0x57, 0xd2, 0x1b, - 0x4f, 0xb4, 0xa6, 0x49, 0x85, 0xb6, 0x8e, 0x71, 0x83, 0x63, 0x09, 0x99, 0x31, 0x58, 0x08, 0x56, - 0xd2, 0xf2, 0xba, 0xbe, 0x73, 0x14, 0x2e, 0x88, 0x53, 0x32, 0x2d, 0xd4, 0x29, 0xe7, 0x13, 0x51, - 0x0b, 0x8c, 0xed, 0x91, 0x40, 0x55, 0x6c, 0xe0, 0x24, 0x57, 0x50, 0x27, 0xae, 0x29, 0x8a, 0xaa, - 0x60, 0x1f, 0xa6, 0x4c, 0x2e, 0xb0, 0x70, 0x29, 0x4d, 0x91, 0x24, 0xeb, 0x0a, 0x51, 0x2c, 0x73, - 0x15, 0x16, 0xda, 0xe8, 0x30, 0x6e, 0x10, 0x9e, 0x6f, 0x63, 0xdf, 0xa4, 0xc4, 0xc6, 0xa6, 0xe5, - 0x75, 0x5d, 0x56, 0x2e, 0x56, 0xb4, 0xc5, 0x82, 0x71, 0xb3, 0x8d, 0x0e, 0x23, 0xf5, 0xde, 0xe6, - 0x9d, 0x1a, 0xc4, 0xc6, 0x2b, 0xbc, 0x8b, 0xfe, 0xdb, 0x1a, 0xdc, 0x25, 0xee, 0x67, 0xa6, 0x8f, - 0x9f, 0x23, 0xdf, 0x36, 0x29, 0x37, 0x2a, 0xdb, 0xf4, 0xf1, 0xb3, 0x2e, 0xf1, 0x71, 0x1b, 0xbb, - 0xcc, 0x64, 0x2d, 0x1f, 0xd3, 0x96, 0xe7, 0xd8, 0xe5, 0x89, 0x97, 0x5e, 0x42, 0xdd, 0x65, 0xc6, - 0xeb, 0xc4, 0xfd, 0xcc, 0x10, 0xe8, 0x0d, 0x01, 0x6e, 0x44, 0xd8, 0xcd, 0x00, 0x5a, 0xff, 0x00, - 0x2a, 0xcc, 0x47, 0x52, 0x48, 0xa2, 0x2f, 0x35, 0x0f, 0xb0, 0x74, 0xd0, 0x76, 0x57, 0x68, 0xbd, - 0x5b, 0x2e, 0x09, 0x9d, 0xba, 0xad, 0xfa, 0x49, 0x48, 0xfa, 0x89, 0xec, 0xb5, 0xaa, 0x3a, 0x71, - 0x31, 0x38, 0xe4, 0x59, 0x97, 0xd8, 0x88, 0x79, 0x7e, 0xb8, 0xaa, 0x48, 0xcf, 0xae, 0x27, 0x13, - 0x43, 0x84, 0xa9, 0x96, 0x12, 0x6a, 0xdb, 0x21, 0xbc, 0xb5, 0x4b, 0x5c, 0xe4, 0x1f, 0x99, 0x5e, - 0x87, 0xcf, 0x80, 0x0e, 0x0b, 0x34, 0xfa, 0xc5, 0x02, 0xcd, 0x1b, 0x12, 0x71, 0x5b, 0x02, 0x9e, - 0x15, 0x6b, 0xbe, 0xab, 0x41, 0x05, 0x31, 0xaf, 0x4d, 0xac, 0x80, 0xa4, 0x54, 0x00, 0x64, 0x59, - 0x98, 0x52, 0xd3, 0xc1, 0x07, 0xd8, 0x29, 0x4f, 0x56, 0xb4, 0xc5, 0xe2, 0x83, 0xf7, 0x96, 0xce, - 0x8e, 0xfa, 0x4b, 0x35, 0x81, 0x21, 0xa9, 0x08, 0xed, 0xa8, 0x09, 0x80, 0x0d, 0x3e, 0xde, 0xb8, - 0x85, 0x86, 0xb4, 0xea, 0xdf, 0xd3, 0xe0, 0xae, 0x88, 0x3c, 0xa7, 0xcd, 0x83, 0x5b, 0xb8, 0x72, - 0x08, 0x04, 0xfb, 0xe5, 0xa9, 0x44, 0x9c, 0xaf, 0x72, 0xf8, 0x81, 0x19, 0xae, 0x63, 0xbc, 0x19, - 0x22, 0xeb, 0x9f, 0x6b, 0xf0, 0x4e, 0xcc, 0x0c, 0x2e, 0x30, 0x97, 0x1b, 0x89, 0xe6, 0xb2, 0x18, - 0x11, 0x39, 0x67, 0x46, 0x3f, 0xd0, 0xe0, 0xdd, 0x3e, 0xad, 0xb8, 0xc0, 0xac, 0xa6, 0x13, 0xcd, - 0xea, 0xed, 0x1e, 0x65, 0x39, 0x67, 0x62, 0x04, 0x66, 0xdb, 0xc4, 0x25, 0x6d, 0xe4, 0x98, 0x22, - 0x2b, 0xb3, 0x3c, 0x27, 0x8a, 0xa0, 0x33, 0x89, 0xe8, 0x4f, 0x2b, 0xc0, 0x1d, 0x85, 0x17, 0x84, - 0xce, 0x6f, 0xc2, 0xdb, 0x84, 0x86, 0x56, 0x30, 0x98, 0x88, 0x39, 0xa8, 0xeb, 0x5a, 0x2d, 0x13, - 0xbb, 0x68, 0xd7, 0xc1, 0x76, 0xb9, 0x5c, 0xd1, 0x16, 0xb3, 0xc6, 0x9b, 0x84, 0x2a, 0x45, 0x5f, - 0xed, 0xcb, 0xb5, 0x36, 0x44, 0xf7, 0x35, 0xd9, 0x9b, 0x3b, 0xbf, 0x8e, 0x47, 0x99, 0xe9, 0xb9, - 0xce, 0x91, 0xd9, 0xf6, 0x6c, 0x6c, 0xb6, 0x30, 0xd9, 0x6f, 0xc5, 0xbd, 0xd5, 0xac, 0x70, 0x17, - 0x37, 0x79, 0xb7, 0x6d, 0xd7, 0x39, 0xda, 0xf4, 0x6c, 0xfc, 0x48, 0xf4, 0x09, 0xbd, 0xce, 0xfb, - 0x99, 0x7f, 0xfd, 0xd1, 0x82, 0x56, 0xfd, 0x5c, 0x83, 0x49, 0x49, 0xa3, 0x97, 0x57, 0x37, 0x21, - 0x17, 0x98, 0xb2, 0x2d, 0xf2, 0xd1, 0x9c, 0x91, 0x95, 0x15, 0x75, 0x5b, 0x7f, 0x0c, 0xc5, 0x3e, - 0xe9, 0xa5, 0x12, 0x71, 0xaf, 0xb0, 0x17, 0xa7, 0xf9, 0x7e, 0xe6, 0x77, 0x7f, 0xb4, 0x70, 0xad, - 0xfa, 0xe7, 0x59, 0x28, 0xf5, 0xaf, 0x5f, 0x9f, 0x86, 0x51, 0x46, 0xac, 0xa7, 0xd8, 0x57, 0x73, - 0x51, 0x25, 0x7d, 0x01, 0xc6, 0x65, 0x9e, 0x6d, 0x72, 0x77, 0x22, 0xa7, 0x61, 0x80, 0xac, 0x5a, - 0x46, 0x14, 0xeb, 0xaf, 0x41, 0x5e, 0x75, 0x78, 0xd6, 0xf5, 0x82, 0x24, 0xd4, 0x50, 0x83, 0x3e, - 0xe6, 0x55, 0xfa, 0x5a, 0x88, 0xc1, 0x67, 0x26, 0x12, 0xc7, 0xe2, 0x83, 0x37, 0x62, 0x4e, 0x43, - 0x65, 0xf2, 0x81, 0xcb, 0xd8, 0x16, 0xc5, 0xe6, 0x51, 0x07, 0x07, 0x94, 0xf8, 0x6f, 0x7d, 0x09, - 0x26, 0x15, 0x0c, 0xb5, 0x90, 0x83, 0xcd, 0x3d, 0x64, 0x31, 0xcf, 0x17, 0x39, 0x61, 0xc1, 0xb8, - 0x2e, 0x9b, 0x1a, 0xbc, 0x65, 0x5d, 0x34, 0xf0, 0xa9, 0x8b, 0x29, 0x99, 0x36, 0x76, 0xbd, 0xb6, - 0xcc, 0xe0, 0x0c, 0x10, 0x55, 0xab, 0xbc, 0xa6, 0x57, 0x04, 0x63, 0x7d, 0x22, 0xf8, 0x36, 0x4c, - 0x9d, 0x9a, 0x93, 0x25, 0x4b, 0x8f, 0x74, 0x32, 0x98, 0x8c, 0xb5, 0xa0, 0x7c, 0x66, 0x12, 0x96, - 0x4b, 0x68, 0x2c, 0xa7, 0x67, 0x5f, 0x4d, 0x28, 0xf6, 0x25, 0xd2, 0x90, 0x08, 0x3f, 0xdf, 0x8e, - 0x67, 0xaf, 0x4d, 0x28, 0xf6, 0x25, 0xc9, 0xc9, 0xd2, 0xac, 0x3c, 0x8b, 0xa3, 0x9e, 0x9d, 0xc4, - 0xe5, 0xaf, 0x2e, 0x89, 0xab, 0xc0, 0x38, 0xa1, 0x3b, 0xd8, 0xef, 0x60, 0xd6, 0x45, 0x8e, 0xc8, - 0x9e, 0xb2, 0x46, 0xbc, 0x4a, 0x7f, 0x08, 0xa3, 0x94, 0x21, 0xd6, 0xa5, 0x22, 0xcd, 0x29, 0x3e, - 0x58, 0x1c, 0x16, 0xe3, 0xa4, 0x0d, 0x35, 0x44, 0x7f, 0x43, 0x8d, 0xd3, 0x3f, 0x85, 0xc9, 0x36, - 0x71, 0xcd, 0x8e, 0x4f, 0x2c, 0x6c, 0x72, 0x6b, 0x32, 0x29, 0xf9, 0x0e, 0x4e, 0x90, 0xe6, 0xf0, - 0x55, 0x94, 0xda, 0xc4, 0xdd, 0xe1, 0x48, 0x4d, 0x62, 0x3d, 0x6d, 0x90, 0xef, 0x08, 0x3e, 0x71, - 0xf8, 0x67, 0x5d, 0xe4, 0x32, 0xc2, 0x8e, 0x62, 0x14, 0x4a, 0xc9, 0xf8, 0xd4, 0x26, 0xee, 0xc7, - 0x0a, 0x2c, 0x20, 0xa2, 0x1c, 0xc6, 0x9f, 0x64, 0x61, 0x72, 0x79, 0x30, 0x67, 0x38, 0xd3, 0x67, - 0xbc, 0x0e, 0x85, 0xc0, 0x50, 0x8f, 0xda, 0xbb, 0x9e, 0xa3, 0xbc, 0x86, 0xf2, 0x13, 0x0d, 0x51, - 0xa7, 0xdf, 0x85, 0x09, 0xd5, 0xa9, 0xe3, 0x7b, 0x07, 0xc4, 0xc6, 0xbe, 0x72, 0x1d, 0x45, 0x59, - 0xbd, 0xa3, 0x6a, 0x7f, 0x56, 0xde, 0xe3, 0x5d, 0x98, 0xc2, 0x87, 0x1d, 0x22, 0x13, 0x3f, 0x93, - 0x91, 0x36, 0xa6, 0x0c, 0xb5, 0x3b, 0xc2, 0x8d, 0xa4, 0x8d, 0xc9, 0xa8, 0xad, 0x19, 0x34, 0xf1, - 0x21, 0x14, 0x33, 0xe6, 0xa8, 0xcc, 0x36, 0x1c, 0x32, 0x26, 0x87, 0x44, 0x6d, 0xd1, 0x90, 0x29, - 0x18, 0x41, 0x76, 0x9b, 0xb8, 0xd2, 0xad, 0x18, 0xb2, 0xd0, 0xef, 0xb9, 0x72, 0xc3, 0x3d, 0x17, - 0xf4, 0x79, 0xae, 0x41, 0x6b, 0x1f, 0x7f, 0x25, 0xd6, 0x9e, 0x7f, 0xa5, 0xd6, 0x5e, 0xb8, 0x3a, - 0x6b, 0xff, 0x85, 0x2d, 0x73, 0x22, 0x4f, 0xa0, 0x14, 0xd3, 0x4e, 0xb1, 0x94, 0xd8, 0x7e, 0x45, - 0x7b, 0x09, 0xf8, 0x89, 0x08, 0x47, 0xac, 0x43, 0xb9, 0x89, 0xff, 0x4e, 0xc1, 0xcc, 0x1a, 0x37, - 0x8b, 0xa3, 0xf5, 0x2e, 0xeb, 0xfa, 0x38, 0xdc, 0x5a, 0xec, 0x79, 0xc3, 0xb3, 0x9d, 0xb3, 0x4c, - 0x2d, 0x75, 0xb6, 0xa9, 0x7d, 0x15, 0xa6, 0xd8, 0x73, 0xd4, 0xe1, 0x3b, 0x4a, 0x3f, 0x6e, 0x6a, - 0x69, 0x31, 0x44, 0xe7, 0x6d, 0x0d, 0xde, 0x14, 0x8d, 0xf8, 0x2d, 0x0d, 0xde, 0x8c, 0x53, 0x89, - 0x46, 0x4b, 0xa9, 0x5a, 0xdd, 0x76, 0xd7, 0x11, 0x19, 0x51, 0xc2, 0x93, 0xad, 0x6a, 0x6c, 0x9e, - 0x01, 0x79, 0xc1, 0x9e, 0x95, 0x10, 0xf9, 0x54, 0x19, 0x24, 0x3b, 0xd3, 0xea, 0x97, 0x41, 0xf5, - 0x1f, 0x53, 0x30, 0x19, 0x86, 0xaf, 0x8b, 0x72, 0x1e, 0xc3, 0xcc, 0x59, 0x87, 0x18, 0xc9, 0x12, - 0xce, 0xa9, 0xd6, 0x69, 0xa7, 0x17, 0xdf, 0x86, 0xa9, 0x53, 0x4f, 0x2d, 0x92, 0x1d, 0x58, 0xea, - 0xad, 0xc1, 0xe3, 0x8a, 0x5f, 0x86, 0x69, 0x17, 0x1f, 0x46, 0x87, 0x4b, 0x91, 0x46, 0x64, 0x84, - 0x46, 0x4c, 0xf1, 0x56, 0x35, 0xab, 0x48, 0x27, 0x62, 0x67, 0x4b, 0xe1, 0x69, 0xd4, 0x48, 0xcf, - 0xd9, 0x52, 0x70, 0x0c, 0x55, 0xfd, 0x2f, 0x0d, 0xa6, 0xfb, 0xd8, 0xab, 0xe0, 0xf4, 0x4f, 0x41, - 0x8f, 0x94, 0x27, 0x98, 0x81, 0x64, 0xf5, 0x4b, 0xaf, 0xed, 0x7a, 0x84, 0x14, 0xc0, 0x3f, 0x81, - 0x52, 0x0c, 0x5e, 0xea, 0x4c, 0x32, 0xe1, 0x4c, 0x44, 0x38, 0x42, 0x67, 0xf4, 0x3b, 0x50, 0x74, - 0x10, 0x1d, 0xb4, 0x9f, 0x02, 0xaf, 0x0d, 0xd9, 0x54, 0xfd, 0xa1, 0x06, 0xf3, 0xfd, 0x1b, 0x86, - 0x46, 0xa8, 0x7e, 0xe7, 0x6b, 0xd9, 0x69, 0x5a, 0x9f, 0xba, 0x1a, 0xad, 0xff, 0x3a, 0x4c, 0x6d, - 0x9d, 0x26, 0xd9, 0x3b, 0x50, 0x14, 0xfa, 0x10, 0xad, 0x4c, 0x93, 0x2b, 0xe3, 0xb5, 0xd1, 0xca, - 0x7e, 0x2f, 0x05, 0xc5, 0x4d, 0x62, 0x0b, 0xac, 0x9a, 0x6b, 0x37, 0xb7, 0x97, 0xf5, 0x8f, 0x20, - 0xd7, 0x26, 0xb6, 0x9a, 0xa5, 0x96, 0xc8, 0x3f, 0x66, 0xdb, 0x0a, 0x92, 0x07, 0xcd, 0x5d, 0xae, - 0xed, 0xbb, 0xdd, 0xa3, 0x81, 0x75, 0xbf, 0x0c, 0x62, 0x9e, 0xa3, 0x2c, 0x77, 0x8f, 0x24, 0xea, - 0x27, 0x30, 0x21, 0x50, 0x29, 0x76, 0x1c, 0x05, 0x9b, 0x4e, 0x04, 0x5b, 0xe0, 0x30, 0x0d, 0xec, - 0x38, 0x92, 0x99, 0x3f, 0x1c, 0x01, 0x68, 0x84, 0x37, 0x1e, 0x67, 0xa6, 0x77, 0xb7, 0x01, 0xf8, - 0x5e, 0x50, 0x25, 0x27, 0x32, 0xb7, 0xcb, 0xf1, 0x1a, 0x99, 0x9b, 0xf4, 0x25, 0x2f, 0xe9, 0x81, - 0xe4, 0x65, 0x30, 0x3f, 0xc9, 0xbc, 0x92, 0xfc, 0x64, 0xe4, 0x95, 0xe6, 0x27, 0xa3, 0x57, 0x97, - 0x9f, 0x0c, 0xdd, 0x87, 0x46, 0xc9, 0x4b, 0xf6, 0x6a, 0x93, 0x97, 0xdc, 0x2b, 0x4f, 0x5e, 0xe0, - 0xca, 0x92, 0x97, 0xea, 0x17, 0x1a, 0x8c, 0xad, 0xe2, 0x8e, 0x47, 0x09, 0xd3, 0xbf, 0x09, 0xd7, - 0xd1, 0x01, 0x22, 0x0e, 0xda, 0x15, 0xa7, 0x12, 0x0e, 0xdf, 0xed, 0x26, 0x74, 0xb7, 0xa5, 0x10, - 0x68, 0x59, 0xe2, 0xe8, 0x0d, 0x28, 0x30, 0x8f, 0x21, 0x27, 0x04, 0x4e, 0x25, 0xd4, 0x22, 0x0e, - 0xa2, 0x40, 0xab, 0x5f, 0x81, 0xa9, 0x46, 0x77, 0x17, 0x59, 0xe2, 0xdc, 0xbc, 0xe9, 0x23, 0x1b, - 0x6f, 0x79, 0x9c, 0xd8, 0x14, 0x8c, 0xb8, 0x5e, 0x30, 0xfb, 0x82, 0x21, 0x0b, 0x3c, 0xd4, 0xe4, - 0xc4, 0xe1, 0x9a, 0xf0, 0xac, 0xaf, 0x43, 0x81, 0x86, 0x63, 0x23, 0xef, 0x9a, 0x8f, 0x2a, 0xeb, - 0x36, 0xef, 0x24, 0xd4, 0x1e, 0x5b, 0xa4, 0x43, 0xb0, 0xcb, 0x82, 0x1d, 0xd7, 0x1e, 0xc6, 0x46, - 0x50, 0xa7, 0xaf, 0xc2, 0x48, 0xbf, 0xb3, 0x78, 0x99, 0x25, 0xc9, 0xc1, 0xfa, 0x87, 0x90, 0x0d, - 0x44, 0x9d, 0xd0, 0x6e, 0xc3, 0xf1, 0x7a, 0x09, 0xd2, 0x16, 0xb1, 0xa5, 0xa1, 0x1a, 0xfc, 0x67, - 0xf5, 0xf3, 0x14, 0xe4, 0xb8, 0x0b, 0x12, 0xeb, 0x1f, 0x1e, 0x55, 0x3e, 0x04, 0x90, 0xe7, 0x9c, - 0xc4, 0xdd, 0xf3, 0xd4, 0x25, 0xeb, 0x9d, 0x61, 0xc6, 0x11, 0xf2, 0x54, 0x9d, 0x83, 0xe7, 0xbc, - 0x90, 0xc9, 0xab, 0x01, 0x96, 0xd8, 0x62, 0xa6, 0x85, 0xa1, 0x9d, 0x8f, 0x25, 0xf6, 0x98, 0x12, - 0x45, 0x6c, 0x31, 0xb9, 0xee, 0xf8, 0x64, 0x7f, 0x1f, 0xfb, 0xca, 0x2b, 0x67, 0x92, 0x39, 0x7b, - 0x05, 0x22, 0x9d, 0xf2, 0x8b, 0x14, 0x14, 0x39, 0x47, 0x36, 0x48, 0x9b, 0x28, 0xb6, 0xf4, 0xae, - 0x5c, 0xbb, 0xc2, 0x95, 0xa7, 0x12, 0xae, 0xfc, 0x43, 0xc8, 0xee, 0x11, 0x47, 0x18, 0x52, 0x42, - 0xed, 0x0a, 0xc7, 0xbf, 0x12, 0x2e, 0xf2, 0x98, 0x25, 0x97, 0xd9, 0x42, 0xb4, 0x25, 0x14, 0x2e, - 0xaf, 0xe6, 0xff, 0x08, 0xd1, 0x56, 0xf5, 0xdf, 0x52, 0x30, 0x11, 0x45, 0xbe, 0xab, 0xe7, 0xf2, - 0xc7, 0x90, 0x57, 0xfe, 0xc4, 0x14, 0xa7, 0xc7, 0xc9, 0x9c, 0xca, 0xb8, 0xc2, 0x78, 0xe4, 0x39, - 0x76, 0xdf, 0x8a, 0xd2, 0x7d, 0x2b, 0xea, 0x93, 0x6b, 0xe6, 0xaa, 0x34, 0x7a, 0xe4, 0x0a, 0x34, - 0xfa, 0x9f, 0x52, 0x30, 0xd1, 0x77, 0x63, 0xf8, 0xf3, 0x66, 0xe9, 0xeb, 0x30, 0x2a, 0x8f, 0x6b, - 0x13, 0xba, 0x40, 0x35, 0xfa, 0xd5, 0xf0, 0xf7, 0x8f, 0x32, 0x70, 0x33, 0x0a, 0x37, 0x62, 0xfe, - 0xbb, 0x9e, 0xf7, 0x74, 0x13, 0x33, 0x64, 0x23, 0x86, 0xf4, 0x5f, 0x85, 0xd9, 0x03, 0xe4, 0x72, - 0x73, 0x33, 0x1d, 0xee, 0x54, 0xd4, 0x75, 0x91, 0xbc, 0xd4, 0x95, 0x91, 0x68, 0x5a, 0x75, 0x88, - 0x9c, 0x8e, 0xbc, 0xcf, 0x7d, 0x08, 0xb7, 0x7d, 0x6c, 0x77, 0x2d, 0x2c, 0xaf, 0x46, 0x06, 0x87, - 0xa7, 0xc4, 0xf0, 0x59, 0xd9, 0x69, 0xdb, 0x75, 0x8e, 0xfa, 0x11, 0x28, 0xcc, 0xa3, 0xfd, 0x7d, - 0x1f, 0xef, 0xf3, 0x7d, 0x66, 0x1c, 0x2b, 0x0c, 0x2a, 0xc9, 0xfc, 0xc7, 0xcd, 0x10, 0xd5, 0x08, - 0x69, 0x07, 0x59, 0x84, 0xee, 0xc0, 0x5c, 0x44, 0x34, 0x58, 0xfb, 0x25, 0xa3, 0x58, 0x39, 0x44, - 0xfc, 0x44, 0x02, 0x86, 0xd4, 0xd6, 0x60, 0x21, 0xa0, 0x61, 0x79, 0xae, 0x4d, 0x18, 0xf1, 0x5c, - 0xe4, 0xf4, 0xb0, 0x49, 0x9e, 0x3a, 0xde, 0x52, 0xdd, 0x56, 0xa2, 0x5e, 0x31, 0x4e, 0x6d, 0xc0, - 0xeb, 0x71, 0xfe, 0x9c, 0x05, 0x35, 0x2a, 0xa0, 0x16, 0x22, 0x8e, 0x9f, 0x8a, 0x56, 0xfd, 0x3b, - 0x0d, 0x26, 0xfa, 0x94, 0x22, 0x4a, 0x08, 0xb4, 0xab, 0x4a, 0x08, 0x52, 0x97, 0x4c, 0x08, 0xaa, - 0x90, 0x27, 0x34, 0x12, 0xa0, 0xd0, 0x85, 0xac, 0xd1, 0x53, 0x57, 0x7d, 0x0e, 0x93, 0x7d, 0x0b, - 0x59, 0xe5, 0x5a, 0x5d, 0x83, 0x11, 0xc1, 0x16, 0xe5, 0xa9, 0xdf, 0x1e, 0x66, 0xd3, 0x7d, 0xe3, - 0x0d, 0x39, 0xb2, 0xcf, 0xa5, 0xa6, 0xfa, 0x83, 0xc4, 0x5f, 0xa6, 0x61, 0x2a, 0xf2, 0x5b, 0xff, - 0xa7, 0xe3, 0x71, 0xe4, 0x9f, 0xd2, 0x97, 0xf2, 0x4f, 0xf1, 0xb8, 0x9e, 0xb9, 0xea, 0xb8, 0x3e, - 0x72, 0xe5, 0x71, 0x7d, 0xb4, 0x5f, 0x64, 0x7f, 0x9d, 0x86, 0x1b, 0xfd, 0x27, 0x17, 0xff, 0xdf, - 0x65, 0xb6, 0x0d, 0xe3, 0xea, 0x2a, 0x51, 0xa4, 0x1a, 0xc9, 0xc4, 0x06, 0x12, 0x42, 0x64, 0x1a, - 0x3f, 0x0b, 0xc1, 0xfd, 0x47, 0x0a, 0xb2, 0x3b, 0x7c, 0xb7, 0x47, 0x3c, 0x57, 0x9f, 0x86, 0x51, - 0x42, 0x37, 0x3c, 0x75, 0xa8, 0x96, 0x35, 0x54, 0xe9, 0x4a, 0x3d, 0xcf, 0x36, 0x8c, 0x63, 0x97, - 0xf9, 0x47, 0xe6, 0x65, 0xb6, 0x48, 0x20, 0x20, 0xe4, 0x02, 0xaf, 0x2a, 0x45, 0x68, 0x41, 0x79, - 0xf0, 0x74, 0xd1, 0x14, 0x84, 0x12, 0x9e, 0x70, 0x4c, 0x0f, 0x9c, 0x31, 0xae, 0x71, 0xb4, 0x6a, - 0x1d, 0xa6, 0x62, 0x16, 0x52, 0x77, 0x6d, 0x62, 0x21, 0xe6, 0x9d, 0x93, 0x9b, 0x4d, 0xc1, 0x08, - 0xa1, 0xcb, 0x5d, 0x29, 0x80, 0xac, 0x21, 0x0b, 0xd5, 0x7f, 0x4f, 0x41, 0x56, 0xec, 0x73, 0x37, - 0xbc, 0x5e, 0x31, 0x69, 0x97, 0x14, 0x53, 0x18, 0xb2, 0x52, 0x97, 0x09, 0x59, 0x03, 0x7b, 0x6a, - 0x99, 0x3e, 0xf7, 0xee, 0xa9, 0x1f, 0x42, 0x7a, 0x0f, 0x27, 0x75, 0x7b, 0x7c, 0xe8, 0x39, 0x9b, - 0x0e, 0xfd, 0x3d, 0xb8, 0xd1, 0xb3, 0x69, 0x37, 0x91, 0x6d, 0xfb, 0x98, 0x52, 0x69, 0x0d, 0xc2, - 0xcd, 0x68, 0xc6, 0x64, 0x7c, 0x0b, 0x5f, 0x93, 0x1d, 0x82, 0x7d, 0xf3, 0x58, 0xb4, 0x6f, 0xfe, - 0x22, 0x05, 0x85, 0xc0, 0x5e, 0x56, 0xb1, 0xc3, 0x90, 0x3e, 0x03, 0x63, 0x84, 0x9a, 0xce, 0xa0, - 0xd5, 0x7c, 0x0a, 0x3a, 0x3e, 0xc4, 0x56, 0x57, 0x5c, 0x83, 0x5c, 0xd2, 0x7e, 0xae, 0x87, 0x48, - 0x61, 0xf6, 0xf3, 0x04, 0x4a, 0x11, 0xfc, 0xa5, 0x1c, 0xda, 0x44, 0x88, 0x23, 0xdf, 0x32, 0xe8, - 0xdf, 0x80, 0xa8, 0x6a, 0x60, 0x6f, 0xf8, 0x32, 0xc8, 0xc5, 0x10, 0x46, 0x66, 0xcc, 0xdf, 0x4d, - 0x83, 0x1e, 0x7b, 0xa2, 0x1b, 0x28, 0xee, 0xa9, 0x47, 0x2f, 0xfd, 0x6a, 0xb2, 0x03, 0xc5, 0x8e, - 0x62, 0xbc, 0x69, 0x73, 0xce, 0xab, 0x0d, 0xca, 0x5b, 0xc3, 0x02, 0x40, 0x8f, 0xa8, 0x8c, 0x42, - 0xa7, 0x47, 0x72, 0xeb, 0x30, 0xda, 0x41, 0x47, 0x5e, 0x97, 0x25, 0x0d, 0x04, 0x72, 0xf4, 0xcf, - 0x97, 0x02, 0xff, 0x06, 0xe8, 0x51, 0x56, 0x16, 0x7a, 0xfe, 0x87, 0x90, 0x0d, 0x78, 0xa3, 0x62, - 0xf4, 0x1b, 0x17, 0x61, 0xab, 0x11, 0x8e, 0x1a, 0x94, 0x61, 0x6a, 0x50, 0x86, 0xd5, 0xe7, 0x70, - 0x3d, 0x22, 0x1e, 0x1c, 0x33, 0x5e, 0x48, 0xfa, 0x5f, 0x87, 0x31, 0x5b, 0xf6, 0x57, 0x62, 0x7f, - 0x7d, 0xd8, 0xfc, 0x14, 0xb4, 0x11, 0x8c, 0xa9, 0x76, 0xa0, 0xa0, 0xea, 0x1e, 0x77, 0x6c, 0xc4, - 0xc4, 0x89, 0xa0, 0x3c, 0x36, 0x97, 0x7e, 0x56, 0x16, 0xf4, 0x3a, 0x64, 0xd5, 0x08, 0x5a, 0x4e, - 0x55, 0xd2, 0x8b, 0xe3, 0x0f, 0xde, 0xb9, 0x58, 0x7a, 0x1b, 0x10, 0x0c, 0x87, 0x57, 0x5f, 0x68, - 0x50, 0xda, 0xf1, 0x88, 0xcb, 0x68, 0xec, 0x2d, 0xda, 0x1e, 0xcc, 0xc8, 0x13, 0xf9, 0x8e, 0x68, - 0x89, 0xbf, 0x3b, 0x4b, 0xe6, 0xb0, 0x6f, 0x08, 0xb8, 0xd3, 0xe8, 0xb0, 0x33, 0xe8, 0x24, 0xf3, - 0x3f, 0x37, 0xd8, 0x69, 0x74, 0xaa, 0xff, 0x93, 0x82, 0xf9, 0x66, 0xfc, 0x21, 0xef, 0x0a, 0x6a, - 0x77, 0x10, 0xd9, 0x77, 0x97, 0x3d, 0x8f, 0xca, 0x0b, 0xab, 0x5f, 0x81, 0x99, 0x5d, 0x5e, 0xc0, - 0xb6, 0xd9, 0xf3, 0xb1, 0x88, 0x4d, 0xcb, 0x5a, 0x25, 0xbd, 0x98, 0x33, 0xa6, 0x54, 0x73, 0x74, - 0x2c, 0x54, 0xb7, 0xa9, 0xfe, 0x19, 0xcc, 0xc4, 0xbb, 0x47, 0x0b, 0x08, 0x04, 0xf3, 0x95, 0xe1, - 0xfa, 0xd9, 0x3b, 0x51, 0x95, 0x4a, 0xde, 0x88, 0x3e, 0x33, 0x89, 0xda, 0xa8, 0x5e, 0x83, 0xdb, - 0xc1, 0x14, 0x4f, 0xf9, 0xd0, 0xc4, 0xa6, 0xe5, 0xb4, 0x98, 0xe8, 0x9c, 0xea, 0xd4, 0x9f, 0xe7, - 0xf2, 0xe9, 0x1e, 0xc0, 0xed, 0xc1, 0xa1, 0xf1, 0x49, 0x67, 0x12, 0x4f, 0xfa, 0x66, 0xff, 0xe7, - 0x2a, 0xb1, 0xa9, 0x57, 0xff, 0x46, 0x03, 0x3d, 0xe0, 0xb9, 0x94, 0xc0, 0x8e, 0x27, 0xdf, 0xfc, - 0xf4, 0x5f, 0xd8, 0xcb, 0x6b, 0xb9, 0x22, 0xed, 0xbd, 0xac, 0xff, 0x4d, 0x98, 0x6a, 0xa3, 0x43, - 0xd3, 0x52, 0x10, 0xc1, 0xab, 0x6d, 0xc5, 0xe3, 0x21, 0x2f, 0x9c, 0xbf, 0xca, 0xe7, 0xf6, 0x67, - 0xff, 0xbc, 0xb0, 0x78, 0x01, 0x05, 0xe2, 0x03, 0xa8, 0xa1, 0xb7, 0xd1, 0x61, 0xef, 0x54, 0x69, - 0xf5, 0x4f, 0x53, 0x30, 0x7b, 0xaa, 0xfe, 0x08, 0xd5, 0x79, 0x1f, 0x66, 0xc3, 0x89, 0x05, 0xcf, - 0xc7, 0x4d, 0x8a, 0xf9, 0x06, 0x9d, 0xaa, 0xf5, 0xcc, 0x04, 0x1d, 0x82, 0x97, 0xe3, 0x0d, 0xd9, - 0xac, 0xbf, 0x06, 0xf9, 0xd8, 0xe5, 0x98, 0x5c, 0x50, 0xce, 0x18, 0x8f, 0x6e, 0xc7, 0xa8, 0xde, - 0x85, 0xd9, 0xde, 0xc7, 0xea, 0xa6, 0x10, 0xb0, 0xdc, 0xa8, 0xa4, 0x85, 0x93, 0x79, 0x7f, 0x98, - 0xbc, 0x86, 0x2b, 0xbe, 0x31, 0xdd, 0xf3, 0xc2, 0x3d, 0x32, 0x88, 0xaf, 0xc1, 0x8c, 0x4d, 0xe8, - 0xb3, 0x2e, 0x72, 0xc8, 0x1e, 0xc1, 0x76, 0x5c, 0xcf, 0x32, 0x62, 0x92, 0x37, 0xe2, 0xcd, 0xa1, - 0x8a, 0x55, 0xff, 0x33, 0x05, 0x93, 0xeb, 0x18, 0xaf, 0x12, 0x2a, 0x6f, 0x37, 0x88, 0xda, 0x14, - 0x7d, 0x0b, 0x26, 0xa5, 0x4f, 0xb1, 0x55, 0x8b, 0xbc, 0x36, 0x4b, 0x78, 0x2d, 0x2e, 0xa0, 0x02, - 0x1a, 0xe2, 0xd2, 0xec, 0x5b, 0x30, 0xc9, 0x4e, 0xc1, 0x4f, 0x98, 0xc7, 0xb0, 0x01, 0xfc, 0x06, - 0x14, 0xd4, 0xe7, 0x0a, 0xa8, 0x2d, 0x0e, 0x5a, 0xd2, 0x89, 0xbe, 0x4f, 0xc8, 0x4b, 0x90, 0x9a, - 0xc0, 0xe0, 0xa1, 0xfd, 0xc0, 0x73, 0xba, 0xed, 0xa4, 0x51, 0x59, 0x8d, 0xae, 0xfe, 0x7e, 0x2f, - 0xd3, 0x1b, 0x56, 0x0b, 0xdb, 0x5d, 0x47, 0x3c, 0xc6, 0xdd, 0xed, 0x5a, 0x5c, 0x6e, 0xd1, 0x69, - 0x5e, 0xc6, 0x18, 0x97, 0x75, 0xf2, 0x58, 0xe9, 0x2e, 0x4c, 0xa8, 0x2e, 0xe1, 0xa7, 0x0f, 0xf2, - 0x9d, 0x4d, 0x51, 0x56, 0x87, 0xdf, 0x3a, 0xf4, 0xab, 0x6a, 0x7a, 0x50, 0x55, 0xb7, 0x00, 0x18, - 0x51, 0x7b, 0xe8, 0xc0, 0x97, 0xdc, 0x1f, 0xa6, 0x9b, 0xa7, 0x28, 0x8a, 0x91, 0x63, 0xea, 0x17, - 0x1d, 0xa6, 0x83, 0x23, 0xc3, 0x74, 0x70, 0x13, 0xf4, 0x3e, 0xe4, 0x66, 0x73, 0x43, 0xd7, 0x21, - 0xc3, 0x82, 0x10, 0x96, 0x31, 0xc4, 0x6f, 0x1e, 0xd4, 0x19, 0x73, 0x06, 0xde, 0x18, 0xe5, 0x19, - 0x73, 0xa2, 0x57, 0x01, 0x7f, 0xa5, 0x41, 0xfe, 0x13, 0xc1, 0x68, 0x03, 0x5b, 0x9e, 0x6f, 0xeb, - 0x1f, 0x83, 0xbc, 0x6b, 0x36, 0x95, 0xf0, 0x92, 0x29, 0xf1, 0xb8, 0xc0, 0x90, 0xc0, 0x1c, 0x92, - 0xc5, 0x21, 0x13, 0xde, 0x08, 0xb0, 0x08, 0xb2, 0xfa, 0x87, 0x1a, 0x14, 0x6b, 0x32, 0xee, 0x2b, - 0x47, 0xa6, 0x97, 0x61, 0x4c, 0x65, 0x02, 0x2a, 0xa1, 0x08, 0x8a, 0x3a, 0x86, 0xb1, 0x57, 0xe8, - 0x54, 0x03, 0xec, 0xea, 0xef, 0x68, 0x90, 0x17, 0xf9, 0xb4, 0xe4, 0x24, 0x3d, 0xef, 0xa1, 0xc8, - 0x94, 0x83, 0x18, 0xa6, 0xcc, 0xe4, 0x4e, 0x4a, 0x64, 0x96, 0x5e, 0x34, 0xc3, 0xbb, 0xe7, 0x79, - 0x3d, 0x45, 0xc4, 0xd0, 0x25, 0x48, 0x9c, 0x6e, 0xf5, 0x6b, 0x50, 0x88, 0xd2, 0xa2, 0xfa, 0x2a, - 0xd5, 0xef, 0x40, 0xb1, 0x27, 0xbd, 0x93, 0x71, 0x3f, 0x6f, 0x14, 0xe2, 0xf9, 0x1d, 0xad, 0xfe, - 0xad, 0x06, 0xe3, 0x31, 0x20, 0xfd, 0x16, 0xe4, 0xfa, 0x83, 0x57, 0x54, 0x71, 0x45, 0xdb, 0xd3, - 0xf8, 0x86, 0x39, 0x7d, 0xb9, 0x0d, 0x73, 0xf5, 0x7b, 0x1a, 0x8c, 0xc8, 0xaf, 0x69, 0x7e, 0x0d, - 0xb4, 0x4e, 0x42, 0xcd, 0xd5, 0x3a, 0x7c, 0xf4, 0xb3, 0x84, 0xab, 0xd2, 0x9e, 0x55, 0xff, 0x58, - 0x83, 0x85, 0x5a, 0x70, 0x5e, 0x1e, 0xc9, 0xa1, 0xc7, 0xc8, 0x2e, 0x74, 0xd1, 0xbd, 0x0d, 0x45, - 0xa5, 0x3e, 0xd2, 0x6e, 0x02, 0xdd, 0xb8, 0xc0, 0xab, 0x08, 0x45, 0xac, 0xd0, 0x8e, 0x95, 0x68, - 0xf5, 0xfb, 0x1a, 0xdc, 0x0a, 0x67, 0x56, 0x3b, 0x65, 0x5a, 0x67, 0x9b, 0xd0, 0x95, 0xcf, 0x85, - 0x42, 0x3e, 0xde, 0x3c, 0xdc, 0x56, 0xa2, 0x50, 0x22, 0x37, 0x1e, 0x43, 0xa9, 0xc6, 0x57, 0xa4, - 0xf2, 0xb7, 0x20, 0x94, 0xd4, 0xf8, 0x16, 0xc4, 0xf5, 0xda, 0xab, 0xd8, 0x22, 0x6d, 0xe4, 0xd0, - 0x33, 0xb6, 0x20, 0x73, 0x7c, 0x0b, 0x22, 0x7b, 0x08, 0x82, 0x19, 0x23, 0x2c, 0xdf, 0x63, 0x70, - 0x6b, 0xd8, 0x57, 0x5e, 0x3a, 0xc0, 0xe8, 0x96, 0xb7, 0xeb, 0xd9, 0x47, 0xa5, 0x6b, 0x7a, 0x15, - 0xe6, 0x97, 0xf1, 0x3e, 0x71, 0x97, 0x1d, 0xcf, 0x7a, 0x8a, 0xfd, 0x46, 0x1b, 0xf9, 0x6c, 0xc5, - 0x73, 0x99, 0x8f, 0x2c, 0x46, 0xb7, 0x5d, 0xe7, 0xa8, 0xa4, 0xe9, 0xd3, 0xa0, 0x9f, 0x52, 0x9f, - 0xd2, 0xf3, 0x90, 0x5d, 0x3b, 0xc0, 0xfe, 0x91, 0xe7, 0xe2, 0x52, 0xfa, 0x5e, 0x33, 0xe0, 0x96, - 0x7c, 0xee, 0xa2, 0x4f, 0xc0, 0xf8, 0x63, 0x97, 0x76, 0xb0, 0x25, 0x82, 0x43, 0xe9, 0x1a, 0x27, - 0x5b, 0x13, 0xfc, 0x28, 0x69, 0xfc, 0xf7, 0x0e, 0xea, 0x52, 0x6c, 0x97, 0x52, 0x7a, 0x11, 0x60, - 0x15, 0xb7, 0x3d, 0x87, 0xd0, 0x16, 0xb6, 0x4b, 0x69, 0x7d, 0x1c, 0xc6, 0xc4, 0xb3, 0x55, 0x6c, - 0x97, 0x32, 0xf7, 0xbe, 0x48, 0xa9, 0xc7, 0x17, 0xe2, 0x4c, 0xb6, 0x02, 0xe3, 0x8f, 0xb7, 0x1a, - 0x3b, 0x6b, 0x2b, 0xf5, 0xf5, 0xfa, 0xda, 0x6a, 0xe9, 0xda, 0xdc, 0xc4, 0xf1, 0x49, 0x25, 0x5e, - 0xc5, 0x77, 0xb2, 0xcb, 0x8f, 0x9f, 0x94, 0xb4, 0xb9, 0xb1, 0xe3, 0x93, 0x0a, 0xff, 0xc9, 0xc3, - 0x4e, 0x63, 0x6d, 0x63, 0xa3, 0x94, 0x9a, 0xcb, 0x1e, 0x9f, 0x54, 0xc4, 0x6f, 0xce, 0xbd, 0x46, - 0x73, 0x7b, 0xc7, 0xe4, 0x5d, 0xd3, 0x73, 0xf9, 0xe3, 0x93, 0x4a, 0x58, 0xe6, 0x1e, 0x45, 0xfc, - 0x16, 0x83, 0x32, 0x73, 0x85, 0xe3, 0x93, 0x4a, 0x54, 0xc1, 0x47, 0x36, 0x6b, 0x1f, 0xad, 0x89, - 0x91, 0x23, 0x72, 0x64, 0x50, 0xe6, 0x23, 0xc5, 0x6f, 0x31, 0x72, 0x54, 0x8e, 0x0c, 0x2b, 0xf4, - 0x69, 0x18, 0x5d, 0x7e, 0xfc, 0xc4, 0xdc, 0xd9, 0x2e, 0x8d, 0xcd, 0xc1, 0xf1, 0x49, 0x45, 0x95, - 0xb8, 0x42, 0xf3, 0x76, 0xde, 0x90, 0x9d, 0x1b, 0x3f, 0x3e, 0xa9, 0x04, 0x45, 0x7d, 0x1e, 0x80, - 0xf7, 0xa9, 0x35, 0xb7, 0x37, 0xeb, 0x2b, 0xa5, 0xdc, 0x5c, 0xf1, 0xf8, 0xa4, 0x12, 0xab, 0xe1, - 0xdc, 0x10, 0x5d, 0x55, 0x07, 0x90, 0xdc, 0x88, 0x55, 0xdd, 0xfb, 0x0b, 0x0d, 0x0a, 0x6b, 0xc1, - 0xd9, 0x8a, 0xe0, 0xe0, 0x2d, 0x28, 0xc7, 0xa4, 0xd2, 0xd3, 0x26, 0x45, 0x24, 0x65, 0x58, 0xd2, - 0xf4, 0x02, 0xe4, 0xc4, 0x9d, 0xca, 0x3a, 0x71, 0x9c, 0x52, 0x4a, 0x9f, 0x83, 0x69, 0x51, 0xdc, - 0x44, 0xcc, 0x6a, 0x19, 0xf2, 0x3b, 0x4c, 0x21, 0x98, 0x52, 0x9a, 0x2b, 0x48, 0xd4, 0xb6, 0x85, - 0x9f, 0xcb, 0xfa, 0x8c, 0x7e, 0x03, 0xae, 0xab, 0xcf, 0xb9, 0xd4, 0x07, 0x95, 0xc4, 0x73, 0x4b, - 0x23, 0x1c, 0x4a, 0xbe, 0x4b, 0xee, 0x7f, 0xba, 0x58, 0x1a, 0xbd, 0xf7, 0xfd, 0x40, 0xde, 0x9b, - 0x88, 0x3e, 0xe5, 0x3c, 0x7b, 0xbc, 0xf5, 0xb8, 0x21, 0x44, 0x2d, 0x78, 0x26, 0x4b, 0x5c, 0xca, - 0xb5, 0xad, 0x50, 0xca, 0xb5, 0xad, 0x27, 0x9c, 0x8b, 0xc6, 0xda, 0x07, 0x8f, 0x37, 0x6a, 0x46, - 0x29, 0x25, 0xb9, 0xa8, 0x8a, 0x9c, 0x4b, 0x2b, 0xdb, 0x5b, 0xab, 0xf5, 0x66, 0x7d, 0x7b, 0xab, - 0xc6, 0x25, 0x2a, 0xb8, 0x14, 0xab, 0xd2, 0x97, 0x60, 0x66, 0xb5, 0x6e, 0xac, 0xad, 0xf0, 0x22, - 0x17, 0xa4, 0xb9, 0x6d, 0x98, 0x8f, 0xea, 0x1f, 0x3c, 0x5a, 0x33, 0x4a, 0xd9, 0xb9, 0xeb, 0xc7, - 0x27, 0x95, 0x42, 0x4f, 0x65, 0x6f, 0x7f, 0xc1, 0xee, 0x6d, 0xc3, 0xdc, 0xd8, 0xfe, 0xc6, 0x9a, - 0x51, 0x2a, 0xc9, 0xfe, 0x3d, 0x95, 0xfa, 0x4d, 0x18, 0x6f, 0x3e, 0xd9, 0x59, 0x33, 0x37, 0x6b, - 0xc6, 0x47, 0x6b, 0xcd, 0x52, 0x45, 0x2e, 0x45, 0x96, 0xf4, 0x59, 0x00, 0xd1, 0xb8, 0x51, 0xdf, - 0xac, 0x37, 0x4b, 0x0f, 0xe7, 0x72, 0xc7, 0x27, 0x95, 0x11, 0x51, 0x58, 0x6e, 0xfd, 0xf8, 0xc5, - 0xbc, 0xf6, 0x93, 0x17, 0xf3, 0xda, 0xbf, 0xbc, 0x98, 0xd7, 0xfe, 0xe0, 0xcb, 0xf9, 0x6b, 0x3f, - 0xf9, 0x72, 0xfe, 0xda, 0xdf, 0x7f, 0x39, 0x7f, 0xed, 0xd7, 0xb7, 0x62, 0xae, 0xbe, 0x1e, 0xb8, - 0x99, 0x0d, 0xb4, 0x4b, 0xef, 0x87, 0x4e, 0xe7, 0x1d, 0xcb, 0xf3, 0x71, 0xbc, 0xd8, 0x42, 0xc4, - 0xbd, 0xdf, 0xf6, 0x78, 0x5e, 0x4a, 0xa3, 0xff, 0x1b, 0x21, 0xc2, 0xc2, 0xee, 0xa8, 0xf8, 0x3c, - 0xf0, 0x97, 0xfe, 0x37, 0x00, 0x00, 0xff, 0xff, 0x3f, 0x09, 0xcb, 0x9d, 0x5a, 0x42, 0x00, 0x00, + // 4410 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7c, 0xdb, 0x6f, 0x64, 0xd9, + 0x55, 0x77, 0x9f, 0x2a, 0x5f, 0xaa, 0x56, 0x5d, 0x5c, 0x3e, 0xbe, 0x95, 0xed, 0x6e, 0xbb, 0xa6, + 0x7a, 0x3a, 0xe3, 0xe9, 0x99, 0xb1, 0xd3, 0xf3, 0x7d, 0x13, 0x4d, 0x26, 0x8a, 0xd2, 0x65, 0x97, + 0xdd, 0x5d, 0x8c, 0x6f, 0x39, 0x65, 0x0f, 0x74, 0xa2, 0xe4, 0x68, 0xfb, 0x9c, 0x6d, 0xd7, 0x1e, + 0x9f, 0x4b, 0xf5, 0xd9, 0xa7, 0xdc, 0xf6, 0x20, 0x24, 0x1e, 0x46, 0x88, 0x18, 0x50, 0xc2, 0x03, + 0x42, 0x42, 0x32, 0x0a, 0x0f, 0x08, 0xc1, 0x0b, 0xbc, 0xc3, 0x03, 0x12, 0x02, 0xf2, 0x10, 0xa4, + 0x3c, 0x20, 0x81, 0x78, 0x08, 0x68, 0x06, 0x09, 0x84, 0xf2, 0x27, 0x20, 0x84, 0xf6, 0xe5, 0x5c, + 0xaa, 0xca, 0x2e, 0x57, 0xd9, 0x0e, 0x04, 0x78, 0xe9, 0xae, 0x7d, 0x59, 0xbf, 0xb5, 0xf6, 0x5a, + 0x6b, 0xaf, 0xb5, 0xf6, 0x3e, 0xe7, 0x18, 0xde, 0x24, 0xce, 0xc7, 0xd8, 0xf0, 0xc9, 0x09, 0x5e, + 0xc1, 0xa7, 0x46, 0x03, 0x39, 0x47, 0x78, 0xe5, 0xe4, 0xc9, 0x01, 0xf6, 0xd1, 0x93, 0xb0, 0x63, + 0xb9, 0xe9, 0xb9, 0xbe, 0xab, 0xce, 0x85, 0x53, 0x97, 0xc3, 0x11, 0x39, 0x75, 0x6e, 0xf2, 0xc8, + 0x3d, 0x72, 0xf9, 0xb4, 0x15, 0xf6, 0x4b, 0x50, 0xcc, 0x2d, 0x18, 0x2e, 0xb5, 0x5d, 0xba, 0x72, + 0x80, 0x68, 0x84, 0x6a, 0xb8, 0xc4, 0x91, 0xe3, 0x8f, 0x22, 0xe6, 0xae, 0x87, 0x0c, 0x2b, 0x9a, + 0x24, 0x9a, 0x72, 0xda, 0x38, 0xb2, 0x89, 0xe3, 0xae, 0xf0, 0x7f, 0x45, 0x57, 0xf9, 0xbb, 0x53, + 0x30, 0xb2, 0x8b, 0x3c, 0x64, 0x53, 0x15, 0xc3, 0x22, 0x6d, 0xba, 0xbe, 0x6e, 0x23, 0xef, 0x18, + 0xfb, 0x3a, 0x71, 0xa8, 0x8f, 0x1c, 0x5f, 0xb7, 0x08, 0xf5, 0x89, 0x73, 0xa4, 0x1f, 0x62, 0x5c, + 0x54, 0x4a, 0xca, 0x52, 0xe6, 0xdd, 0xd9, 0x65, 0x21, 0xce, 0x32, 0x13, 0x27, 0x90, 0x7c, 0x79, + 0xcd, 0x25, 0xce, 0xea, 0xd0, 0x0f, 0x7e, 0xbc, 0x78, 0x4f, 0x9b, 0x67, 0x38, 0x5b, 0x1c, 0xa6, + 0x26, 0x50, 0x36, 0x05, 0xc8, 0x06, 0xc6, 0xea, 0x4b, 0x78, 0x64, 0x62, 0x8f, 0x9c, 0x20, 0x26, + 0x6e, 0x2f, 0x66, 0x89, 0xfe, 0x98, 0xbd, 0x16, 0xa1, 0x5d, 0xc5, 0x12, 0xc1, 0xbc, 0x89, 0x0f, + 0x51, 0xcb, 0xf2, 0x75, 0xb9, 0xc2, 0x63, 0xec, 0x31, 0x1e, 0xba, 0x87, 0x7c, 0x5c, 0x4c, 0x96, + 0x94, 0xa5, 0xf4, 0xea, 0x43, 0x86, 0xf6, 0x0f, 0x3f, 0x5e, 0x9c, 0x17, 0xfc, 0xa8, 0x79, 0xbc, + 0x4c, 0xdc, 0x15, 0x1b, 0xf9, 0x8d, 0xe5, 0x4d, 0x7c, 0x84, 0x8c, 0xb3, 0x2a, 0x36, 0xb4, 0x19, + 0x89, 0x53, 0xe7, 0x0b, 0x3c, 0xc6, 0xde, 0x06, 0xc6, 0x1a, 0xf2, 0xbb, 0x59, 0xf8, 0xed, 0x2c, + 0x86, 0x6e, 0xc6, 0x62, 0x2f, 0xce, 0xc2, 0x86, 0xd7, 0x02, 0x16, 0x6d, 0x0a, 0x6c, 0x63, 0x34, + 0xdc, 0x3f, 0xa3, 0x07, 0x12, 0xad, 0x1a, 0xd3, 0xdf, 0xb5, 0xec, 0x3a, 0xd6, 0x35, 0x72, 0x1b, + 0x76, 0x6d, 0xab, 0x33, 0xe1, 0x7e, 0xc0, 0x8e, 0x38, 0xc4, 0x27, 0xc8, 0x62, 0xbe, 0x71, 0x44, + 0x1c, 0xc6, 0x88, 0xb8, 0xc5, 0xd1, 0xfe, 0x39, 0xcd, 0x4a, 0xa0, 0x9a, 0xc0, 0xd9, 0xe2, 0x30, + 0x1a, 0x43, 0x51, 0x2d, 0x28, 0x05, 0x5c, 0x6c, 0x44, 0x1c, 0x1f, 0x3b, 0xc8, 0x31, 0x70, 0x3b, + 0xa7, 0xd4, 0xe0, 0x6b, 0xda, 0x8a, 0xb0, 0xe2, 0xdc, 0xde, 0x87, 0x62, 0xc0, 0xed, 0xb0, 0xe5, + 0x98, 0xcc, 0xb1, 0xd9, 0x3c, 0xef, 0x04, 0x59, 0xc5, 0x74, 0x49, 0x59, 0x4a, 0x6a, 0xd3, 0x72, + 0x7c, 0x43, 0x0c, 0xd7, 0xe4, 0xa8, 0xfa, 0x26, 0x14, 0x02, 0x0a, 0xbb, 0x65, 0xf9, 0xa4, 0x69, + 0xe1, 0x22, 0x70, 0x8a, 0x31, 0xd9, 0xbf, 0x25, 0xbb, 0xd5, 0x5f, 0x80, 0x69, 0x0f, 0x5b, 0xe8, + 0x4c, 0x9a, 0x85, 0x36, 0x90, 0x27, 0x8d, 0x93, 0xe9, 0x7f, 0x21, 0x13, 0x12, 0x62, 0x03, 0xe3, + 0x3a, 0x03, 0xe0, 0x26, 0x21, 0xb0, 0x18, 0x88, 0xdf, 0x70, 0x5b, 0x9e, 0x75, 0x16, 0xae, 0x82, + 0xc1, 0xeb, 0x06, 0x6a, 0x16, 0xb3, 0xfd, 0xb3, 0x08, 0xf6, 0xc7, 0x73, 0x0e, 0x25, 0x17, 0xcc, + 0xf8, 0xac, 0xa1, 0x66, 0xdc, 0xfa, 0x92, 0x15, 0x57, 0x14, 0xa6, 0xbe, 0x58, 0x4a, 0x6e, 0x70, + 0xeb, 0x0b, 0x3e, 0x35, 0x09, 0xc3, 0x17, 0x54, 0x85, 0x45, 0x1b, 0x9d, 0xc6, 0xdd, 0xd9, 0xf5, + 0x4c, 0xec, 0xe9, 0x94, 0x98, 0x58, 0x37, 0xdc, 0x96, 0xe3, 0x17, 0xf3, 0x25, 0x65, 0x29, 0xa7, + 0xcd, 0xdb, 0xe8, 0x34, 0xf2, 0xd3, 0x1d, 0x36, 0xa9, 0x4e, 0x4c, 0xbc, 0xc6, 0xa6, 0xa8, 0x14, + 0xde, 0x20, 0xce, 0xc7, 0xba, 0x87, 0x5f, 0x21, 0xcf, 0xd4, 0x29, 0xdb, 0x11, 0xa6, 0xee, 0xe1, + 0x97, 0x2d, 0xe2, 0x61, 0x1b, 0x3b, 0xbe, 0xee, 0x37, 0x3c, 0x4c, 0x1b, 0xae, 0x65, 0x16, 0xc7, + 0xb8, 0xd8, 0x0f, 0xa4, 0xd8, 0x53, 0xdd, 0x62, 0xd7, 0x1c, 0x5f, 0x7b, 0x48, 0x9c, 0x8f, 0x35, + 0x0e, 0x56, 0xe7, 0x58, 0x5a, 0x04, 0xb5, 0x17, 0x20, 0xa9, 0xcf, 0xa0, 0xe4, 0x7b, 0x48, 0x28, + 0x9f, 0xcf, 0xa5, 0xfa, 0x09, 0x16, 0xb1, 0xd2, 0x6c, 0x71, 0xbf, 0x75, 0x8a, 0x05, 0xee, 0x20, + 0x0f, 0xe4, 0x3c, 0x01, 0x49, 0x3f, 0x12, 0xb3, 0xaa, 0x72, 0x12, 0xd3, 0xb4, 0x45, 0x5e, 0xb6, + 0x88, 0x89, 0x7c, 0xd7, 0x0b, 0x17, 0x11, 0x39, 0xcd, 0xf8, 0x00, 0x9a, 0x8e, 0x80, 0xa4, 0xfc, + 0xa1, 0xeb, 0x9c, 0xc2, 0x9b, 0x07, 0xc4, 0x41, 0xde, 0x99, 0xee, 0x36, 0x19, 0x5b, 0xda, 0x2b, + 0xd0, 0xab, 0xfd, 0x05, 0xfa, 0xd7, 0x05, 0xe2, 0x8e, 0x00, 0xbc, 0x2a, 0xd6, 0xff, 0xb2, 0x02, + 0x25, 0xe4, 0xbb, 0x36, 0x31, 0x02, 0x96, 0xc2, 0xc6, 0xc8, 0x30, 0x30, 0xa5, 0xba, 0x85, 0x4f, + 0xb0, 0x55, 0x9c, 0x28, 0x29, 0x4b, 0xf9, 0x77, 0xdf, 0x5f, 0xbe, 0x3a, 0x11, 0x2f, 0x57, 0x38, + 0x86, 0xe0, 0xc2, 0x1d, 0xa0, 0xc2, 0x01, 0x36, 0x19, 0xbd, 0x76, 0x1f, 0xf5, 0x18, 0x55, 0x4f, + 0xe1, 0x0d, 0x9e, 0x03, 0x2e, 0x13, 0x83, 0x6d, 0x51, 0xb9, 0xa3, 0x09, 0xf6, 0x8a, 0x93, 0xfd, + 0x6b, 0xbb, 0xcc, 0x30, 0xbb, 0xa4, 0xda, 0xc0, 0x78, 0x2b, 0x84, 0x53, 0x3f, 0x55, 0xe0, 0x9d, + 0x98, 0x77, 0xf7, 0x21, 0xc0, 0x54, 0xff, 0x02, 0x2c, 0x45, 0xc8, 0xd7, 0x88, 0xf1, 0x6b, 0x0a, + 0x3c, 0xe9, 0x30, 0x7f, 0x1f, 0xa2, 0x4c, 0xf7, 0x2f, 0xca, 0x5b, 0x6d, 0xae, 0x70, 0x8d, 0x34, + 0xdf, 0x86, 0x59, 0x9b, 0x38, 0xc4, 0x46, 0x96, 0xce, 0x6b, 0x1e, 0xc3, 0xb5, 0xa2, 0x04, 0x36, + 0xd3, 0x3f, 0xd3, 0x69, 0x89, 0xb2, 0x2b, 0x41, 0x82, 0xcc, 0xf5, 0x4d, 0x78, 0x8b, 0xd0, 0xd0, + 0xb1, 0xbb, 0x6b, 0x1b, 0x0b, 0xb5, 0x1c, 0xa3, 0xa1, 0x63, 0x07, 0x1d, 0x58, 0xd8, 0x2c, 0x16, + 0x4b, 0xca, 0x52, 0x4a, 0xfb, 0x02, 0xa1, 0xd2, 0x77, 0xab, 0x1d, 0xe5, 0xcb, 0x26, 0x9f, 0xbe, + 0x2e, 0x66, 0xb3, 0x90, 0xd5, 0x74, 0xa9, 0xaf, 0xbb, 0x8e, 0x75, 0xa6, 0xdb, 0xae, 0x89, 0xf5, + 0x06, 0x26, 0x47, 0x8d, 0x78, 0x90, 0x99, 0xe5, 0xdb, 0x7e, 0x9e, 0x4d, 0xdb, 0x71, 0xac, 0xb3, + 0x2d, 0xd7, 0xc4, 0xcf, 0xf9, 0x9c, 0x28, 0x7a, 0x1c, 0xc1, 0x13, 0x99, 0xe2, 0x4c, 0x6c, 0x78, + 0x18, 0x51, 0xac, 0x37, 0x3d, 0x62, 0x60, 0xdd, 0x27, 0x36, 0xa6, 0x3e, 0xb2, 0x9b, 0x11, 0x9e, + 0x4e, 0xb1, 0xe1, 0x3a, 0x26, 0x2d, 0xce, 0x71, 0xdc, 0xb7, 0x05, 0x61, 0x55, 0xd2, 0xed, 0x32, + 0xb2, 0xbd, 0x80, 0x2a, 0xe4, 0x50, 0x17, 0x34, 0xea, 0x1b, 0x30, 0x16, 0xec, 0x24, 0x1d, 0x99, + 0x36, 0x71, 0x68, 0x71, 0xbe, 0x94, 0x5c, 0x4a, 0x6b, 0xf9, 0xa0, 0xbb, 0xc2, 0x7b, 0x3f, 0x28, + 0xfe, 0xeb, 0xf7, 0x17, 0x95, 0xf3, 0x7f, 0xf9, 0x93, 0xc7, 0xe1, 0xfc, 0x15, 0x51, 0x86, 0x96, + 0x3f, 0x55, 0x60, 0x42, 0x68, 0xa2, 0xdd, 0x8c, 0xf3, 0x90, 0x0e, 0x62, 0x88, 0xc9, 0x0b, 0xd1, + 0xb4, 0x96, 0x12, 0x1d, 0x35, 0x53, 0xfd, 0x39, 0xc8, 0x77, 0x78, 0x53, 0xa2, 0x7f, 0xc3, 0xe6, + 0x0e, 0xe3, 0x8c, 0x3e, 0x18, 0xfa, 0xd5, 0xef, 0x2f, 0xde, 0x2b, 0xff, 0x24, 0x05, 0x85, 0x4e, + 0xd3, 0xa8, 0xd3, 0x30, 0xe2, 0x13, 0xe3, 0x18, 0x7b, 0x52, 0x00, 0xd9, 0x52, 0x17, 0x21, 0x23, + 0x0a, 0x6d, 0x9d, 0x05, 0x2f, 0xc1, 0x5b, 0x03, 0xd1, 0xb5, 0x8a, 0x28, 0x56, 0x5f, 0x83, 0xac, + 0x9c, 0xf0, 0xb2, 0xe5, 0x06, 0x25, 0xa7, 0x26, 0x89, 0xbe, 0xce, 0xba, 0xd4, 0xf5, 0x10, 0xc3, + 0x3f, 0x6b, 0x8a, 0x8a, 0x31, 0xff, 0xee, 0xeb, 0xb1, 0x10, 0x25, 0x4b, 0xf9, 0x20, 0x40, 0xed, + 0xf0, 0xe6, 0xde, 0x59, 0x13, 0x07, 0x9c, 0xd8, 0x6f, 0x75, 0x19, 0x26, 0x24, 0x0c, 0x35, 0x90, + 0x85, 0xf5, 0x43, 0x64, 0xf8, 0xae, 0xc7, 0xeb, 0xc2, 0x9c, 0x36, 0x2e, 0x86, 0xea, 0x6c, 0x64, + 0x83, 0x0f, 0x30, 0xd1, 0xb9, 0x48, 0xba, 0x89, 0x1d, 0xd7, 0x16, 0x05, 0x9d, 0x06, 0xbc, 0xab, + 0xca, 0x7a, 0xda, 0xf5, 0x3e, 0xda, 0xa1, 0xf7, 0x7d, 0x98, 0xbc, 0xb4, 0x5a, 0x1b, 0xa0, 0x86, + 0x52, 0x49, 0x77, 0x99, 0xf6, 0x2d, 0x28, 0x5e, 0x59, 0x9e, 0xa5, 0x07, 0xd9, 0xb1, 0x97, 0xd7, + 0x65, 0x35, 0xc8, 0x77, 0x94, 0xcd, 0xd0, 0x3f, 0x68, 0xd6, 0x8e, 0x97, 0xad, 0x35, 0xc8, 0x77, + 0x94, 0xc4, 0x03, 0x54, 0x5d, 0x59, 0x3f, 0x0e, 0x75, 0x75, 0x21, 0x97, 0xbd, 0x65, 0x21, 0x57, + 0x82, 0x0c, 0xa1, 0xbb, 0xd8, 0x6b, 0x62, 0xbf, 0x85, 0x2c, 0x5e, 0x4c, 0xa5, 0xb4, 0x78, 0x97, + 0xfa, 0x14, 0x46, 0xa8, 0x8f, 0xfc, 0x16, 0xe5, 0x05, 0x50, 0xfe, 0xdd, 0xa5, 0x5e, 0xa9, 0x51, + 0x6c, 0x86, 0x3a, 0x9f, 0xaf, 0x49, 0x3a, 0x55, 0x83, 0x09, 0x9b, 0x38, 0x61, 0x58, 0x31, 0x8e, + 0x75, 0x4a, 0x3e, 0xc1, 0xb2, 0x02, 0xea, 0x4b, 0xf4, 0x82, 0x4d, 0x1c, 0x19, 0x5e, 0x8c, 0xe3, + 0x3a, 0xf9, 0x84, 0x6b, 0x84, 0x61, 0xbe, 0x6c, 0x21, 0xc7, 0x27, 0xfe, 0x59, 0x0c, 0xb6, 0x30, + 0x80, 0x46, 0x6c, 0xe2, 0x7c, 0x5d, 0x22, 0x84, 0xc8, 0x1b, 0x90, 0x65, 0xc8, 0x8e, 0xcb, 0x12, + 0x08, 0xb2, 0x06, 0xa9, 0x7a, 0x32, 0x36, 0x71, 0xb6, 0x25, 0x9d, 0x3a, 0x09, 0xc3, 0x3c, 0xcc, + 0xf1, 0x1a, 0x26, 0xad, 0x89, 0x86, 0xfa, 0x16, 0x8c, 0xf3, 0x1f, 0x7a, 0x13, 0x7b, 0x36, 0xa1, + 0x94, 0x25, 0x29, 0x5e, 0x73, 0xe4, 0xb4, 0x02, 0x1f, 0xd8, 0x8d, 0xfa, 0x65, 0xb8, 0xf9, 0xbb, + 0x14, 0x4c, 0xac, 0x76, 0xd7, 0x37, 0x57, 0x46, 0x9c, 0x87, 0x90, 0x0b, 0xb6, 0xf9, 0x99, 0x7d, + 0xe0, 0x5a, 0x32, 0xe6, 0xc8, 0x28, 0x53, 0xe7, 0x7d, 0x2c, 0x1a, 0xcb, 0x49, 0x4d, 0xcf, 0x3d, + 0x21, 0x26, 0xf6, 0x64, 0xe0, 0xc9, 0x8b, 0xee, 0x5d, 0xd9, 0xfb, 0xdf, 0x15, 0x7b, 0x9e, 0xc0, + 0x24, 0x3e, 0x6d, 0x12, 0x51, 0x99, 0x46, 0xb9, 0x88, 0x07, 0xa1, 0xa4, 0x36, 0x11, 0x8d, 0x85, + 0x09, 0x87, 0x91, 0x50, 0xec, 0xfb, 0x96, 0xac, 0xb4, 0x43, 0x92, 0x51, 0x41, 0x12, 0x8d, 0x45, + 0x24, 0xa1, 0x8d, 0x52, 0x71, 0x1b, 0x75, 0xc4, 0xbd, 0x74, 0xef, 0xb8, 0x07, 0x1d, 0x71, 0xaf, + 0x3b, 0x82, 0x64, 0xee, 0x2e, 0x82, 0x64, 0xef, 0x3e, 0x82, 0xe4, 0x6e, 0x19, 0x41, 0xfe, 0xaf, + 0xc5, 0x87, 0x6d, 0x28, 0xc4, 0xdc, 0x8c, 0x0b, 0x1d, 0x8b, 0x11, 0xca, 0x75, 0x98, 0x63, 0x11, + 0x31, 0x97, 0xb8, 0x2b, 0xde, 0xa8, 0x37, 0x8c, 0x37, 0x37, 0x88, 0x2c, 0xff, 0x9c, 0x80, 0x99, + 0x75, 0xb6, 0x93, 0xce, 0x36, 0x5a, 0x7e, 0xcb, 0xc3, 0xe1, 0xc9, 0xe9, 0xd0, 0xed, 0x5d, 0x53, + 0x5d, 0xb5, 0x3b, 0x13, 0x57, 0xef, 0xce, 0x2f, 0xc2, 0xa4, 0xff, 0x0a, 0x35, 0xd9, 0xa1, 0xd8, + 0x8b, 0xef, 0xce, 0x24, 0x27, 0x51, 0xd9, 0x58, 0x9d, 0x0d, 0x45, 0x14, 0xaf, 0xe0, 0x0b, 0x71, + 0x26, 0x11, 0xb1, 0x70, 0x14, 0xa3, 0x65, 0xb7, 0x2c, 0x5e, 0x81, 0x0d, 0x72, 0x85, 0x56, 0x8e, + 0xc9, 0x16, 0xb0, 0xe4, 0x76, 0x58, 0x0b, 0xe1, 0x2e, 0xb5, 0xf0, 0x00, 0x97, 0x67, 0x9d, 0x16, + 0x2e, 0xff, 0x55, 0x02, 0x26, 0xc2, 0x7c, 0xda, 0xaf, 0x8a, 0xbf, 0x01, 0x33, 0x57, 0xdd, 0xac, + 0x0c, 0x50, 0xbf, 0x4e, 0x36, 0x2e, 0xbb, 0x52, 0xd9, 0x87, 0xc9, 0x4b, 0xaf, 0x52, 0x06, 0xb8, + 0xed, 0x54, 0x1b, 0xdd, 0x77, 0x28, 0xff, 0x1f, 0xa6, 0x1d, 0x7c, 0x1a, 0x5d, 0x68, 0x45, 0x46, + 0x1e, 0xe2, 0x46, 0x9e, 0x64, 0xa3, 0x52, 0x94, 0xc8, 0xcc, 0xb1, 0xfb, 0xac, 0xf0, 0x06, 0x6c, + 0xb8, 0xed, 0x3e, 0x2b, 0xb8, 0xfa, 0x2a, 0x7f, 0xae, 0xc0, 0x74, 0x87, 0x22, 0x25, 0x9c, 0xaa, + 0x81, 0x1a, 0x39, 0x44, 0x20, 0x81, 0x50, 0x6a, 0x7f, 0x0b, 0x1a, 0x8f, 0xc8, 0x03, 0xcc, 0x6d, + 0x28, 0xc4, 0x30, 0x85, 0x1f, 0x0c, 0xa0, 0xfb, 0xb1, 0x88, 0x58, 0xec, 0xf4, 0x47, 0x90, 0xb7, + 0x10, 0xed, 0x76, 0xfe, 0x1c, 0xeb, 0x0d, 0x15, 0x52, 0xfe, 0x0d, 0x05, 0x16, 0x3a, 0x8f, 0x17, + 0xf5, 0xd0, 0xa5, 0xae, 0xf7, 0x9c, 0xcb, 0xdc, 0x37, 0x71, 0x0b, 0xf7, 0xfd, 0x2a, 0x4c, 0x6e, + 0x5f, 0x66, 0xb8, 0x47, 0x90, 0xe7, 0xe6, 0x8e, 0x96, 0xa3, 0x88, 0xe5, 0xb0, 0xde, 0x68, 0x39, + 0xff, 0xa6, 0x40, 0x7e, 0x8b, 0x98, 0x1c, 0xab, 0xe2, 0x98, 0x7b, 0x3b, 0xab, 0xea, 0x53, 0x48, + 0xdb, 0xc4, 0x94, 0xa2, 0x29, 0xfd, 0xc7, 0xce, 0x94, 0x2d, 0x71, 0x58, 0x66, 0x3c, 0x60, 0x6e, + 0x7b, 0xd0, 0x3a, 0xeb, 0x5a, 0xe1, 0xb5, 0x30, 0x59, 0x46, 0xba, 0xda, 0x3a, 0x13, 0x50, 0x1f, + 0xc2, 0x18, 0x87, 0xa2, 0xd8, 0xb2, 0x24, 0x56, 0xb2, 0x7f, 0xac, 0x1c, 0xa3, 0xad, 0x63, 0xcb, + 0x12, 0xba, 0xfa, 0xc9, 0x30, 0x40, 0x3d, 0x7c, 0xc2, 0x71, 0x65, 0x89, 0xf6, 0x00, 0x80, 0x9d, + 0x06, 0x65, 0x81, 0x21, 0xea, 0xb3, 0x34, 0xeb, 0x11, 0xf5, 0x45, 0x47, 0x01, 0x92, 0xec, 0x2a, + 0x40, 0xba, 0x6b, 0x8c, 0xa1, 0xbb, 0xab, 0x31, 0x86, 0xef, 0xbe, 0xc6, 0x18, 0xb9, 0x65, 0x8d, + 0xd1, 0xf3, 0xa0, 0x19, 0x15, 0x20, 0xa9, 0xbb, 0x2d, 0x40, 0xd2, 0x3f, 0x9d, 0x02, 0x04, 0xee, + 0xf8, 0x80, 0x92, 0xb9, 0xed, 0x01, 0x25, 0x7b, 0xed, 0x01, 0x25, 0x77, 0x79, 0x19, 0x51, 0xfe, + 0x7d, 0x05, 0x46, 0xab, 0xb8, 0xe9, 0x52, 0xe2, 0xab, 0xbb, 0x30, 0x8e, 0x4e, 0x10, 0xb1, 0xd0, + 0x01, 0xbf, 0xeb, 0xb0, 0xd8, 0xc9, 0x7a, 0x90, 0x00, 0x5c, 0x08, 0xa9, 0x57, 0x05, 0xb1, 0xfa, + 0x1c, 0x72, 0xbe, 0xeb, 0x23, 0x2b, 0x44, 0x4b, 0x0c, 0xe2, 0x99, 0x8c, 0x52, 0x22, 0x95, 0xdf, + 0x86, 0xc9, 0x7a, 0xeb, 0x00, 0x19, 0xfc, 0x22, 0x7f, 0xcf, 0x43, 0x26, 0xde, 0x76, 0x19, 0x87, + 0x49, 0x18, 0x76, 0xdc, 0x40, 0xce, 0x9c, 0x26, 0x1a, 0x2c, 0xcd, 0xa4, 0xf9, 0x65, 0x21, 0x8f, + 0xb5, 0x0f, 0x21, 0x47, 0x43, 0xda, 0x28, 0xde, 0x66, 0xa3, 0xce, 0x9a, 0xc9, 0x26, 0xf1, 0xfd, + 0x83, 0x0d, 0xd2, 0x24, 0xd8, 0xf1, 0x83, 0x33, 0xd7, 0x21, 0xc6, 0x5a, 0xd0, 0xa7, 0x7e, 0x19, + 0x86, 0x3b, 0xe3, 0xcb, 0xb5, 0xeb, 0x10, 0x14, 0xea, 0xd7, 0x20, 0x15, 0x78, 0xd2, 0x20, 0x5b, + 0x3d, 0x24, 0x52, 0x0b, 0x90, 0x34, 0x88, 0x29, 0xf6, 0xb6, 0xc6, 0x7e, 0x96, 0x3f, 0x4d, 0x40, + 0x9a, 0x85, 0x2a, 0xbe, 0xd2, 0xeb, 0xae, 0xd0, 0x40, 0x5c, 0xcb, 0x12, 0xe7, 0xd0, 0x95, 0x0f, + 0x5f, 0x1f, 0xf5, 0xda, 0x65, 0xa1, 0xf6, 0xe4, 0xfd, 0x7c, 0xda, 0x0d, 0xd5, 0x59, 0x0d, 0xb0, + 0xf8, 0x71, 0x32, 0xc9, 0x77, 0xec, 0xf5, 0x58, 0xfc, 0x3c, 0x29, 0x50, 0xf8, 0x71, 0x92, 0xb9, + 0x86, 0x47, 0x8e, 0x8e, 0xb0, 0x27, 0x43, 0xf6, 0xd0, 0x00, 0xe1, 0x5f, 0x52, 0x8a, 0x88, 0xfd, + 0xc3, 0x04, 0xe4, 0x99, 0x1a, 0x36, 0x89, 0x4d, 0xa4, 0x2e, 0xda, 0x97, 0xab, 0xdc, 0xe1, 0x72, + 0x13, 0x37, 0x5c, 0xee, 0xd7, 0x20, 0x75, 0x48, 0x2c, 0xbe, 0x39, 0x06, 0x71, 0x9e, 0x90, 0xe8, + 0xee, 0xf4, 0xc5, 0x52, 0x97, 0x58, 0x50, 0x03, 0xd1, 0x06, 0xf7, 0xa7, 0xac, 0x94, 0xf4, 0x39, + 0xa2, 0x8d, 0xf2, 0xdf, 0x26, 0x60, 0x2c, 0x4a, 0x80, 0x77, 0xaf, 0xcf, 0x0d, 0xc8, 0xca, 0x68, + 0xa0, 0xf3, 0x1b, 0xee, 0x01, 0x42, 0x42, 0x46, 0x12, 0x3e, 0x77, 0x2d, 0xb3, 0x63, 0x19, 0xc9, + 0x8e, 0x65, 0x74, 0x98, 0x6d, 0xe8, 0xae, 0xbc, 0x74, 0xf8, 0xa6, 0x5e, 0xfa, 0xd7, 0x09, 0x18, + 0xeb, 0x78, 0xea, 0xf8, 0x3f, 0x6d, 0xcb, 0x7e, 0x05, 0x46, 0xc4, 0x65, 0xed, 0x20, 0x01, 0x4c, + 0x92, 0xdc, 0xa1, 0x26, 0xff, 0x3d, 0x09, 0xf3, 0x51, 0x2e, 0xe0, 0x92, 0x1e, 0xb8, 0xee, 0xf1, + 0x16, 0xf6, 0x91, 0x89, 0x7c, 0xa4, 0x7e, 0x19, 0x66, 0x4f, 0x90, 0xc3, 0xf6, 0x8d, 0x6e, 0xb1, + 0x90, 0x20, 0x1f, 0x48, 0x89, 0x47, 0xc0, 0x22, 0x4d, 0x4c, 0xcb, 0x09, 0x51, 0xc8, 0x10, 0x4f, + 0x7f, 0x9f, 0xc2, 0x03, 0x0f, 0x9b, 0x2d, 0x03, 0x8b, 0x47, 0x32, 0xdd, 0xe4, 0x09, 0x4e, 0x3e, + 0x2b, 0x26, 0xed, 0x38, 0xd6, 0x59, 0x27, 0x42, 0x03, 0x16, 0xd0, 0xd1, 0x91, 0x87, 0x8f, 0xd8, + 0x51, 0x2f, 0x8e, 0x15, 0x06, 0xff, 0x01, 0x76, 0xff, 0x7c, 0x08, 0xa5, 0x85, 0x0c, 0x83, 0x62, + 0x42, 0x45, 0x30, 0x17, 0x71, 0x0a, 0x16, 0x7c, 0x93, 0x14, 0x53, 0x0c, 0x61, 0x3e, 0x12, 0x28, + 0x21, 0x8b, 0x75, 0x58, 0x0c, 0x80, 0x0d, 0xd7, 0x31, 0x89, 0x28, 0x3b, 0xda, 0x14, 0x22, 0xae, + 0xff, 0xee, 0xcb, 0x69, 0x6b, 0xd1, 0xac, 0x98, 0x4e, 0x36, 0xe1, 0x61, 0x5c, 0x13, 0x57, 0x41, + 0x8d, 0x70, 0xa8, 0xc5, 0x48, 0xb7, 0x97, 0xa2, 0x95, 0xff, 0x42, 0x81, 0xb1, 0x0e, 0xf3, 0x47, + 0x79, 0x59, 0xb9, 0x55, 0x5e, 0x4e, 0xdc, 0x24, 0x2f, 0x97, 0x21, 0x4b, 0x68, 0x64, 0x1f, 0x6e, + 0xdf, 0x94, 0xd6, 0xd6, 0x17, 0xe4, 0xee, 0xa1, 0x28, 0x77, 0xbf, 0x82, 0x89, 0x8e, 0x45, 0x54, + 0x99, 0xef, 0x56, 0x60, 0x98, 0xab, 0x44, 0xc6, 0xd8, 0xb7, 0x7a, 0xed, 0xd1, 0x0e, 0x7a, 0x4d, + 0x50, 0x76, 0xc4, 0xc5, 0x44, 0x67, 0x78, 0xff, 0x6e, 0x12, 0x26, 0xa3, 0x38, 0xf4, 0x33, 0x9d, + 0x33, 0xa3, 0x78, 0x93, 0x1c, 0x3c, 0xde, 0xc4, 0x13, 0xee, 0xd0, 0x9d, 0x24, 0xdc, 0xe1, 0xbb, + 0x49, 0xb8, 0x23, 0x9d, 0x16, 0xf9, 0xad, 0x24, 0x4c, 0x75, 0xde, 0x16, 0xfc, 0xaf, 0x34, 0x49, + 0x15, 0x32, 0xf2, 0x61, 0x1f, 0x4f, 0xfc, 0x03, 0x58, 0x05, 0x04, 0x1d, 0xcf, 0xfb, 0xff, 0x65, + 0x76, 0xf9, 0xcb, 0x04, 0xa4, 0x76, 0xd9, 0xc1, 0x88, 0xb8, 0x8e, 0x3a, 0x0d, 0x23, 0x84, 0x6e, + 0xba, 0xf2, 0x46, 0x2a, 0xa5, 0xc9, 0xd6, 0xed, 0xc3, 0x47, 0x15, 0x32, 0xd8, 0xf1, 0xbd, 0x33, + 0x7d, 0xe0, 0x83, 0x05, 0x70, 0x3a, 0xb1, 0x94, 0x5b, 0xa5, 0xe6, 0x6f, 0x41, 0xb1, 0xfb, 0xe6, + 0x4d, 0xe7, 0xe8, 0x83, 0x5c, 0x25, 0x4c, 0x77, 0xdd, 0xbf, 0xad, 0x33, 0x88, 0x72, 0x0d, 0x26, + 0x63, 0x4e, 0x5d, 0x73, 0x4c, 0x62, 0x20, 0xdf, 0xbd, 0xa6, 0xfa, 0x99, 0x84, 0x61, 0x42, 0x57, + 0x5b, 0x42, 0xa9, 0x29, 0x4d, 0x34, 0xca, 0x7f, 0x93, 0x80, 0x14, 0x3f, 0xfc, 0x6d, 0xba, 0xed, + 0xaa, 0x57, 0x6e, 0xa2, 0xfa, 0x30, 0x6b, 0x24, 0x06, 0xce, 0x1a, 0x5d, 0x47, 0x4a, 0x51, 0x7f, + 0xb6, 0x1f, 0x29, 0xdf, 0x83, 0xe4, 0x21, 0x1e, 0x28, 0xfa, 0xb0, 0xf9, 0xd7, 0xd4, 0xe7, 0xea, + 0xfb, 0x30, 0xd5, 0x76, 0x50, 0xd5, 0x91, 0x69, 0x7a, 0x98, 0x52, 0xe1, 0xc0, 0x7c, 0xe3, 0x2b, + 0xda, 0x44, 0xfc, 0xd8, 0x5a, 0x11, 0x13, 0x82, 0x2c, 0x34, 0x1a, 0x65, 0xa1, 0xdf, 0x49, 0x40, + 0x2e, 0x70, 0xf1, 0x2a, 0xb6, 0x7c, 0xa4, 0xce, 0xc0, 0x28, 0xa1, 0xba, 0xd5, 0xed, 0xe8, 0x1a, + 0xa8, 0xf8, 0x14, 0x1b, 0x2d, 0x7e, 0x95, 0x7f, 0x13, 0x97, 0x1f, 0x0f, 0xc9, 0xc3, 0xfa, 0x62, + 0x1b, 0x0a, 0x11, 0xe6, 0xe0, 0x71, 0x65, 0x2c, 0x24, 0x16, 0xcf, 0xff, 0xd5, 0x4d, 0x88, 0xba, + 0xba, 0x4e, 0x49, 0xd7, 0xc2, 0xe5, 0x43, 0x5a, 0x51, 0x67, 0xfe, 0x5e, 0x12, 0xd4, 0xd8, 0xfb, + 0xac, 0x81, 0xdb, 0x5d, 0x7a, 0x9b, 0xd0, 0x69, 0xfa, 0x5d, 0xc8, 0x37, 0xa5, 0x5e, 0x75, 0x93, + 0x29, 0x56, 0x16, 0xf0, 0x6f, 0xf6, 0x8a, 0xb8, 0x6d, 0x96, 0xd0, 0x72, 0xcd, 0x36, 0xc3, 0x7c, + 0x05, 0x46, 0x9a, 0xe8, 0xcc, 0x6d, 0xf9, 0x03, 0x45, 0x5e, 0x41, 0xf2, 0xb3, 0xef, 0x89, 0x4c, + 0xc2, 0xa6, 0x63, 0x0d, 0xf2, 0x6a, 0x09, 0x9b, 0x5f, 0xfe, 0x45, 0x50, 0xa3, 0x32, 0x28, 0x0c, + 0xd6, 0x4f, 0x21, 0x15, 0x28, 0x4f, 0x66, 0xcd, 0xd7, 0xfb, 0xd1, 0xbb, 0x16, 0x52, 0x75, 0x1b, + 0x39, 0xd1, 0x6d, 0xe4, 0xf2, 0x2b, 0x18, 0x8f, 0x98, 0x07, 0x97, 0x68, 0x7d, 0xb9, 0xc7, 0x57, + 0x61, 0xd4, 0x14, 0xf3, 0xa5, 0x5f, 0x3c, 0xec, 0x25, 0x9f, 0x84, 0xd6, 0x02, 0x9a, 0x72, 0x13, + 0x72, 0xb2, 0x6f, 0xbf, 0x69, 0x22, 0x9f, 0xdf, 0x82, 0x89, 0x8b, 0x66, 0x11, 0x46, 0x45, 0x43, + 0xad, 0x41, 0x4a, 0x52, 0xd0, 0x62, 0xa2, 0x94, 0x5c, 0xca, 0xbc, 0xfb, 0x4e, 0x7f, 0xf5, 0x64, + 0xc0, 0x30, 0x24, 0x2f, 0xff, 0x50, 0x81, 0xc2, 0xae, 0x4b, 0x1c, 0x9f, 0xc6, 0x5e, 0xda, 0xfa, + 0x26, 0xcc, 0x88, 0x3b, 0xec, 0x26, 0x1f, 0x89, 0xbf, 0xa0, 0x35, 0x40, 0x3c, 0x9e, 0xe2, 0x18, + 0x97, 0x81, 0xfb, 0x57, 0x80, 0x0f, 0x10, 0x74, 0xa6, 0xfc, 0xcb, 0xc0, 0xcb, 0xff, 0x91, 0x80, + 0x85, 0xbd, 0xf8, 0x9b, 0xb4, 0x6b, 0xc8, 0x6e, 0x22, 0x72, 0xe4, 0xac, 0xba, 0x2e, 0x15, 0x0f, + 0x68, 0xde, 0x83, 0x99, 0x03, 0xd6, 0xc0, 0xa6, 0xde, 0xf6, 0xe1, 0x84, 0x49, 0x8b, 0x0a, 0x7f, + 0xe9, 0x6d, 0x52, 0x0e, 0x47, 0x77, 0x25, 0x35, 0x93, 0xaa, 0x1f, 0xc3, 0x4c, 0x7c, 0x7a, 0x24, + 0x75, 0x60, 0x82, 0xb7, 0x7b, 0x7b, 0x62, 0xbb, 0xa0, 0xb2, 0x8c, 0x9b, 0x8a, 0x3e, 0xb9, 0x88, + 0xc6, 0xa8, 0x5a, 0x81, 0x07, 0x81, 0x88, 0x97, 0x7c, 0x74, 0x61, 0xd2, 0x62, 0x92, 0x0b, 0x3a, + 0x27, 0x27, 0x75, 0xd6, 0x98, 0x4c, 0xdc, 0x13, 0x78, 0xd0, 0x4d, 0x1a, 0x17, 0x7a, 0xe8, 0xc6, + 0x42, 0xcf, 0x77, 0x7e, 0xba, 0x11, 0x13, 0xbd, 0xfc, 0x67, 0x0a, 0xa8, 0x81, 0xce, 0x85, 0x05, + 0x76, 0x5d, 0xf1, 0x4e, 0x4b, 0xe7, 0xd3, 0x65, 0xf1, 0x44, 0x2a, 0x4f, 0xdb, 0x9f, 0x2c, 0xff, + 0x12, 0x4c, 0xda, 0xe8, 0x54, 0x37, 0x24, 0x44, 0xf0, 0xda, 0xb4, 0xd4, 0x71, 0x8f, 0xb7, 0x8d, + 0xbf, 0xc8, 0x64, 0xfb, 0xa3, 0x7f, 0x5c, 0x5c, 0x3a, 0x22, 0x7e, 0xa3, 0x75, 0xb0, 0x6c, 0xb8, + 0xf6, 0x8a, 0xfc, 0xfe, 0x46, 0xfc, 0xf7, 0x0e, 0x35, 0x8f, 0x57, 0x58, 0x8d, 0x4c, 0x39, 0x01, + 0xd5, 0x54, 0x1b, 0x9d, 0xb6, 0x8b, 0x4a, 0xcb, 0x7f, 0x98, 0x80, 0xd9, 0x4b, 0xfd, 0x87, 0xbb, + 0xce, 0x07, 0x30, 0x1b, 0x0a, 0x16, 0xbc, 0xbf, 0x1d, 0xbe, 0x78, 0x29, 0xd6, 0x33, 0x13, 0x4c, + 0x08, 0x5e, 0xdd, 0x0e, 0xde, 0xb1, 0x7c, 0x0d, 0xb2, 0xb1, 0x07, 0x47, 0x62, 0x41, 0x69, 0x2d, + 0x13, 0x3d, 0x39, 0xa2, 0x6a, 0x0b, 0x66, 0xdb, 0xdf, 0x16, 0xd7, 0xb9, 0x81, 0xc5, 0x21, 0x21, + 0xc9, 0xc3, 0xc9, 0x07, 0xbd, 0xec, 0xd5, 0xdb, 0xf1, 0xb5, 0xe9, 0xb6, 0x57, 0xcc, 0xa3, 0x0d, + 0xf1, 0x25, 0x98, 0x31, 0x09, 0x7d, 0xd9, 0x42, 0x16, 0x39, 0x24, 0xd8, 0x8c, 0xfb, 0xd9, 0x10, + 0x17, 0x72, 0x2a, 0x3e, 0x1c, 0xba, 0x58, 0xf9, 0xcf, 0x13, 0x30, 0xb1, 0x81, 0x71, 0x95, 0x50, + 0x71, 0x77, 0x4f, 0xe4, 0x81, 0xa4, 0x0e, 0x13, 0x22, 0x7a, 0x98, 0x72, 0x44, 0x3c, 0x68, 0x1a, + 0xe4, 0x81, 0x2f, 0xa7, 0x0f, 0x80, 0xf9, 0x63, 0xa6, 0x3a, 0x4c, 0xf8, 0x97, 0x80, 0x0e, 0x52, + 0xa6, 0xf8, 0x5d, 0xa0, 0xab, 0x90, 0x93, 0x1f, 0x02, 0x20, 0x9b, 0xdf, 0x54, 0x24, 0xfb, 0x79, + 0xf3, 0x3f, 0x2b, 0x68, 0x2a, 0x9c, 0x84, 0xa5, 0xef, 0x13, 0xd7, 0x6a, 0xd9, 0x03, 0x25, 0x61, + 0x49, 0x52, 0xfe, 0xf5, 0x76, 0x15, 0xd6, 0x8d, 0x06, 0x36, 0x5b, 0x16, 0x7f, 0xf1, 0xf4, 0xa0, + 0x65, 0x30, 0x2b, 0x44, 0x97, 0x5b, 0x43, 0x5a, 0x46, 0xf4, 0x89, 0xbb, 0x97, 0x37, 0x60, 0x4c, + 0x4e, 0x09, 0xbf, 0x24, 0x10, 0xaf, 0x78, 0xe4, 0x45, 0x77, 0xf8, 0xe9, 0x40, 0xa7, 0xe3, 0x25, + 0xbb, 0x1d, 0x6f, 0x1b, 0xc0, 0x27, 0xf2, 0x34, 0x1a, 0x44, 0x86, 0x95, 0x5e, 0x9e, 0x76, 0x89, + 0xd9, 0xb5, 0xb4, 0x2f, 0x7f, 0xd1, 0x5e, 0x1e, 0x35, 0xdc, 0xcb, 0xa3, 0xb6, 0x40, 0xed, 0x40, + 0xde, 0xdb, 0xdb, 0x54, 0x55, 0x18, 0xf2, 0x83, 0xd4, 0x33, 0xa4, 0xf1, 0xdf, 0x2c, 0x19, 0xfb, + 0xbe, 0xd5, 0xf5, 0x7a, 0x4b, 0xd6, 0xf7, 0xad, 0xe8, 0xf1, 0xf6, 0xef, 0x2a, 0x90, 0xfd, 0x88, + 0x2b, 0x5a, 0xc3, 0x86, 0xeb, 0x99, 0xfc, 0xf1, 0x1c, 0x77, 0x22, 0x69, 0x31, 0x65, 0x90, 0xc7, + 0x73, 0x8c, 0x50, 0xa0, 0x31, 0x1c, 0x3f, 0x8e, 0x33, 0xc8, 0x4d, 0xb7, 0x1f, 0xe1, 0x94, 0x7f, + 0x53, 0x81, 0x7c, 0x45, 0x64, 0x66, 0x19, 0x80, 0xd4, 0x22, 0x8c, 0xca, 0x5c, 0x2d, 0x53, 0x7e, + 0xd0, 0x54, 0x31, 0x8c, 0xfe, 0x14, 0x83, 0x61, 0x80, 0x5d, 0xfe, 0x15, 0x05, 0xb2, 0xbc, 0x24, + 0x16, 0x3a, 0xa3, 0xbd, 0x4f, 0x73, 0x2f, 0x60, 0xd2, 0x42, 0x3e, 0xa6, 0xbe, 0xce, 0x82, 0x0b, + 0x2f, 0x19, 0xdd, 0x48, 0xc2, 0x37, 0xae, 0x8b, 0x56, 0x92, 0x89, 0xa6, 0x0a, 0x90, 0x38, 0xdf, + 0xf2, 0x97, 0x20, 0x17, 0x15, 0x2e, 0xb5, 0x2a, 0x55, 0x1f, 0x41, 0xbe, 0xad, 0x00, 0x13, 0xf9, + 0x3a, 0xab, 0xe5, 0xe2, 0x15, 0x18, 0x2d, 0xff, 0x81, 0x02, 0x99, 0x18, 0x90, 0x7a, 0x1f, 0xd2, + 0x9d, 0x49, 0x27, 0xea, 0xb8, 0xcd, 0x51, 0x31, 0x7e, 0x4c, 0x4d, 0xde, 0xe0, 0x98, 0x5a, 0xb6, + 0x61, 0x58, 0x7c, 0x7a, 0xf2, 0x04, 0x94, 0xe6, 0x20, 0xce, 0xa8, 0x34, 0x19, 0xc9, 0xcb, 0x41, + 0x64, 0x56, 0x5e, 0x96, 0x7f, 0x5b, 0x81, 0xc5, 0x4a, 0x70, 0x23, 0x1c, 0xa9, 0xb6, 0x6d, 0x87, + 0xf4, 0xf5, 0x44, 0x75, 0x07, 0xf2, 0xd2, 0x23, 0x84, 0xff, 0x07, 0xe6, 0xee, 0xe3, 0xe9, 0xbe, + 0x64, 0x96, 0xb3, 0x63, 0x2d, 0x5a, 0xfe, 0x8e, 0x02, 0xf7, 0x43, 0xc9, 0x2a, 0x97, 0x88, 0x75, + 0xf5, 0xae, 0xb8, 0x73, 0x59, 0x28, 0x64, 0xe3, 0xc3, 0xbd, 0xdd, 0x7f, 0x23, 0x0c, 0xfe, 0xa2, + 0xda, 0xef, 0xc9, 0x35, 0xbe, 0x22, 0x59, 0x4a, 0x05, 0x79, 0xa0, 0xc2, 0xea, 0x7e, 0xc7, 0xb5, + 0xab, 0xd8, 0x20, 0x36, 0xb2, 0xe8, 0x15, 0x75, 0xff, 0x1c, 0xab, 0xfb, 0xc5, 0x0c, 0xce, 0x70, + 0x48, 0x0b, 0xdb, 0x65, 0x0c, 0xea, 0x33, 0x0f, 0x39, 0x7e, 0xa5, 0xe5, 0x37, 0x5c, 0x8f, 0x7c, + 0x22, 0x82, 0x7f, 0x11, 0x46, 0x8f, 0x58, 0xaf, 0xfc, 0x0a, 0x38, 0xad, 0x05, 0x4d, 0xf5, 0x3d, + 0x18, 0x91, 0x49, 0x2f, 0xd1, 0x4f, 0xd2, 0x93, 0x93, 0xcb, 0xdf, 0x86, 0x4c, 0x85, 0xaf, 0x8f, + 0x33, 0x8b, 0xf0, 0xbd, 0x76, 0x7c, 0xef, 0xa6, 0xf8, 0xdf, 0x53, 0x20, 0xbf, 0x7e, 0x78, 0x88, + 0xfb, 0xe2, 0x51, 0x83, 0x71, 0x07, 0xfb, 0xba, 0x68, 0xca, 0x8f, 0xfa, 0xfa, 0x63, 0x37, 0xe6, + 0x60, 0xff, 0x99, 0x20, 0xe3, 0x9f, 0xef, 0xa9, 0xb3, 0x90, 0x22, 0x54, 0x3f, 0x41, 0x96, 0xbc, + 0xf2, 0x49, 0x69, 0xa3, 0x84, 0x7e, 0xc4, 0x9a, 0x8f, 0x7d, 0xb8, 0xdf, 0xeb, 0xb3, 0x32, 0x15, + 0x60, 0x64, 0xdb, 0x3d, 0x70, 0xcd, 0xb3, 0xc2, 0x3d, 0xb5, 0x0c, 0x0b, 0xab, 0xf8, 0x88, 0x38, + 0xab, 0x96, 0x6b, 0x1c, 0x63, 0xaf, 0x6e, 0x23, 0xcf, 0x5f, 0x73, 0x1d, 0xdf, 0x43, 0x86, 0x4f, + 0x77, 0x1c, 0xeb, 0xac, 0xa0, 0xa8, 0xd3, 0xa0, 0x5e, 0xd2, 0x9f, 0x50, 0xb3, 0x90, 0x5a, 0x3f, + 0xc1, 0xde, 0x99, 0xeb, 0xe0, 0x42, 0xf2, 0xf1, 0x5e, 0xe0, 0x87, 0xe2, 0x85, 0x18, 0x75, 0x0c, + 0x32, 0xfb, 0x0e, 0x6d, 0x62, 0x83, 0xe7, 0xcc, 0xc2, 0x3d, 0xc6, 0x56, 0x58, 0xa2, 0xa0, 0xb0, + 0xdf, 0xbb, 0xa8, 0x45, 0xb1, 0x59, 0x48, 0xa8, 0x79, 0x80, 0x2a, 0xb6, 0x5d, 0x8b, 0xd0, 0x06, + 0x36, 0x0b, 0x49, 0x35, 0x03, 0xa3, 0xfc, 0x45, 0x52, 0x6c, 0x16, 0x86, 0x1e, 0xff, 0x69, 0x42, + 0xbe, 0x3f, 0xc1, 0x2f, 0x7d, 0x4b, 0x90, 0xd9, 0xdf, 0xae, 0xef, 0xae, 0xaf, 0xd5, 0x36, 0x6a, + 0xeb, 0xd5, 0xc2, 0xbd, 0xb9, 0xb1, 0xf3, 0x8b, 0x52, 0xbc, 0x8b, 0x9d, 0xe7, 0x57, 0xf7, 0x5f, + 0x14, 0x94, 0xb9, 0xd1, 0xf3, 0x8b, 0x12, 0xfb, 0xc9, 0xb2, 0x71, 0x7d, 0x7d, 0x73, 0xb3, 0x90, + 0x98, 0x4b, 0x9d, 0x5f, 0x94, 0xf8, 0x6f, 0xe6, 0x97, 0xf5, 0xbd, 0x9d, 0x5d, 0x9d, 0x4d, 0x4d, + 0xce, 0x65, 0xcf, 0x2f, 0x4a, 0x61, 0x9b, 0x85, 0x5f, 0xfe, 0x9b, 0x13, 0x0d, 0xcd, 0xe5, 0xce, + 0x2f, 0x4a, 0x51, 0x07, 0xa3, 0xdc, 0xab, 0x7c, 0xb8, 0xce, 0x29, 0x87, 0x05, 0x65, 0xd0, 0x66, + 0x94, 0xfc, 0x37, 0xa7, 0x1c, 0x11, 0x94, 0x61, 0x87, 0x3a, 0x0d, 0x23, 0xab, 0xfb, 0x2f, 0xf4, + 0xdd, 0x9d, 0xc2, 0xe8, 0x1c, 0x9c, 0x5f, 0x94, 0x64, 0x8b, 0x79, 0x0b, 0x1b, 0x67, 0x03, 0xa9, + 0xb9, 0xcc, 0xf9, 0x45, 0x29, 0x68, 0xaa, 0x0b, 0x00, 0x6c, 0x4e, 0x65, 0x6f, 0x67, 0xab, 0xb6, + 0x56, 0x48, 0xcf, 0xe5, 0xcf, 0x2f, 0x4a, 0xb1, 0x1e, 0xa6, 0x0d, 0x3e, 0x55, 0x4e, 0x00, 0xa1, + 0x8d, 0x58, 0xd7, 0xe3, 0x3f, 0x56, 0x20, 0xb7, 0x1e, 0xdc, 0x25, 0x71, 0x0d, 0xde, 0x87, 0x62, + 0xcc, 0x2a, 0x6d, 0x63, 0xc2, 0x44, 0xc2, 0x86, 0x05, 0x45, 0xcd, 0x41, 0x9a, 0x3f, 0x93, 0xd9, + 0x20, 0x96, 0x55, 0x48, 0xa8, 0x73, 0x30, 0xcd, 0x9b, 0x5b, 0xc8, 0x37, 0x1a, 0x9a, 0xf8, 0xda, + 0x93, 0x1b, 0xa6, 0x90, 0x64, 0x0e, 0x12, 0x8d, 0x6d, 0xe3, 0x57, 0xa2, 0x7f, 0x48, 0x9d, 0x82, + 0x71, 0xf9, 0xb1, 0x99, 0xfc, 0x82, 0x93, 0xb8, 0x4e, 0x61, 0x98, 0x41, 0x89, 0x37, 0x85, 0x3b, + 0xdf, 0x47, 0x2c, 0x8c, 0x3c, 0xfe, 0x4e, 0x60, 0xef, 0x2d, 0x44, 0x8f, 0x99, 0xce, 0xf6, 0xb7, + 0xf7, 0xeb, 0xdc, 0xd4, 0x5c, 0x67, 0xa2, 0xc5, 0xac, 0x5c, 0xd9, 0x0e, 0xad, 0x5c, 0xd9, 0x7e, + 0xc1, 0xb4, 0xa8, 0xad, 0x3f, 0xdb, 0xdf, 0xac, 0x68, 0x85, 0x84, 0xd0, 0xa2, 0x6c, 0x32, 0x2d, + 0xad, 0xed, 0x6c, 0x57, 0x6b, 0x7b, 0xb5, 0x9d, 0xed, 0x0a, 0xb3, 0x28, 0xd7, 0x52, 0xac, 0x4b, + 0x5d, 0x86, 0x99, 0x6a, 0x4d, 0x5b, 0x5f, 0x63, 0x4d, 0x66, 0x48, 0x7d, 0x47, 0xd3, 0x9f, 0xd7, + 0x9e, 0x3d, 0x5f, 0xd7, 0x0a, 0xa9, 0xb9, 0xf1, 0xf3, 0x8b, 0x52, 0xae, 0xad, 0xb3, 0x7d, 0x3e, + 0x57, 0xf7, 0x8e, 0xa6, 0x6f, 0xee, 0xfc, 0xfc, 0xba, 0x56, 0x28, 0x88, 0xf9, 0x6d, 0x9d, 0xea, + 0x3c, 0x64, 0xf6, 0x5e, 0xec, 0xae, 0xeb, 0x5b, 0x15, 0xed, 0xc3, 0xf5, 0xbd, 0x42, 0x49, 0x2c, + 0x45, 0xb4, 0xd4, 0x59, 0x00, 0x3e, 0xb8, 0x59, 0xdb, 0xaa, 0xed, 0x15, 0x9e, 0xce, 0xa5, 0xcf, + 0x2f, 0x4a, 0xc3, 0xbc, 0xb1, 0xda, 0xf8, 0xc1, 0x67, 0x0b, 0xca, 0x8f, 0x3e, 0x5b, 0x50, 0xfe, + 0xe9, 0xb3, 0x05, 0xe5, 0x7b, 0x9f, 0x2f, 0xdc, 0xfb, 0xd1, 0xe7, 0x0b, 0xf7, 0xfe, 0xfe, 0xf3, + 0x85, 0x7b, 0xdf, 0xd8, 0x8e, 0x95, 0x49, 0xb5, 0x20, 0x80, 0x6f, 0xa2, 0x03, 0xba, 0x12, 0x86, + 0xf3, 0x77, 0x0c, 0xd7, 0xc3, 0xf1, 0x66, 0x03, 0x11, 0x67, 0xc5, 0x76, 0x59, 0xb9, 0x4e, 0xa3, + 0xbf, 0x1d, 0xc1, 0x4b, 0xaa, 0x83, 0x11, 0xfe, 0xc5, 0xe2, 0xff, 0xfb, 0xcf, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xf1, 0x88, 0x50, 0x14, 0x5e, 0x42, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { @@ -3489,6 +3715,17 @@ func (this *Params) Equal(that interface{}) bool { if this.PostOnlyModeHeightThreshold != that1.PostOnlyModeHeightThreshold { return false } + if this.MarginDecreasePriceTimestampThresholdSeconds != that1.MarginDecreasePriceTimestampThresholdSeconds { + return false + } + if len(this.ExchangeAdmins) != len(that1.ExchangeAdmins) { + return false + } + for i := range this.ExchangeAdmins { + if this.ExchangeAdmins[i] != that1.ExchangeAdmins[i] { + return false + } + } return true } func (m *Params) Marshal() (dAtA []byte, err error) { @@ -3511,6 +3748,24 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.ExchangeAdmins) > 0 { + for iNdEx := len(m.ExchangeAdmins) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.ExchangeAdmins[iNdEx]) + copy(dAtA[i:], m.ExchangeAdmins[iNdEx]) + i = encodeVarintExchange(dAtA, i, uint64(len(m.ExchangeAdmins[iNdEx]))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xda + } + } + if m.MarginDecreasePriceTimestampThresholdSeconds != 0 { + i = encodeVarintExchange(dAtA, i, uint64(m.MarginDecreasePriceTimestampThresholdSeconds)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xd0 + } if m.PostOnlyModeHeightThreshold != 0 { i = encodeVarintExchange(dAtA, i, uint64(m.PostOnlyModeHeightThreshold)) i-- @@ -3814,6 +4069,34 @@ func (m *DerivativeMarket) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.AdminPermissions != 0 { + i = encodeVarintExchange(dAtA, i, uint64(m.AdminPermissions)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x98 + } + if len(m.Admin) > 0 { + i -= len(m.Admin) + copy(dAtA[i:], m.Admin) + i = encodeVarintExchange(dAtA, i, uint64(len(m.Admin))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintExchange(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a { size := m.MinQuantityTickSize.Size() i -= size @@ -3969,6 +4252,25 @@ func (m *BinaryOptionsMarket) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.AdminPermissions != 0 { + i = encodeVarintExchange(dAtA, i, uint64(m.AdminPermissions)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x98 + } + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintExchange(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 if m.SettlementPrice != nil { { size := m.SettlementPrice.Size() @@ -4420,6 +4722,28 @@ func (m *SpotMarket) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.AdminPermissions != 0 { + i = encodeVarintExchange(dAtA, i, uint64(m.AdminPermissions)) + i-- + dAtA[i] = 0x68 + } + if len(m.Admin) > 0 { + i -= len(m.Admin) + copy(dAtA[i:], m.Admin) + i = encodeVarintExchange(dAtA, i, uint64(len(m.Admin))) + i-- + dAtA[i] = 0x62 + } + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintExchange(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x5a { size := m.MinQuantityTickSize.Size() i -= size @@ -4982,6 +5306,13 @@ func (m *SubaccountOrder) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintExchange(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x22 + } if m.IsReduceOnly { i-- if m.IsReduceOnly { @@ -5488,6 +5819,16 @@ func (m *DerivativeTradeLog) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + { + size := m.Pnl.Size() + i -= size + if _, err := m.Pnl.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintExchange(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 if len(m.Cid) > 0 { i -= len(m.Cid) copy(dAtA[i:], m.Cid) @@ -6469,52 +6810,182 @@ func (m *DenomDecimals) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func encodeVarintExchange(dAtA []byte, offset int, v uint64) int { - offset -= sovExchange(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ +func (m *GrantAuthorization) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - dAtA[offset] = uint8(v) - return base + return dAtA[:n], nil } -func (m *Params) Size() (n int) { - if m == nil { - return 0 - } + +func (m *GrantAuthorization) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *GrantAuthorization) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = m.SpotMarketInstantListingFee.Size() - n += 1 + l + sovExchange(uint64(l)) - l = m.DerivativeMarketInstantListingFee.Size() - n += 1 + l + sovExchange(uint64(l)) - l = m.DefaultSpotMakerFeeRate.Size() - n += 1 + l + sovExchange(uint64(l)) - l = m.DefaultSpotTakerFeeRate.Size() - n += 1 + l + sovExchange(uint64(l)) - l = m.DefaultDerivativeMakerFeeRate.Size() - n += 1 + l + sovExchange(uint64(l)) - l = m.DefaultDerivativeTakerFeeRate.Size() - n += 1 + l + sovExchange(uint64(l)) - l = m.DefaultInitialMarginRatio.Size() - n += 1 + l + sovExchange(uint64(l)) - l = m.DefaultMaintenanceMarginRatio.Size() - n += 1 + l + sovExchange(uint64(l)) - if m.DefaultFundingInterval != 0 { - n += 1 + sovExchange(uint64(m.DefaultFundingInterval)) + { + size := m.Amount.Size() + i -= size + if _, err := m.Amount.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintExchange(dAtA, i, uint64(size)) } - if m.FundingMultiple != 0 { - n += 1 + sovExchange(uint64(m.FundingMultiple)) + i-- + dAtA[i] = 0x12 + if len(m.Grantee) > 0 { + i -= len(m.Grantee) + copy(dAtA[i:], m.Grantee) + i = encodeVarintExchange(dAtA, i, uint64(len(m.Grantee))) + i-- + dAtA[i] = 0xa } - l = m.RelayerFeeShareRate.Size() - n += 1 + l + sovExchange(uint64(l)) - l = m.DefaultHourlyFundingRateCap.Size() - n += 1 + l + sovExchange(uint64(l)) - l = m.DefaultHourlyInterestRate.Size() - n += 1 + l + sovExchange(uint64(l)) - if m.MaxDerivativeOrderSideCount != 0 { + return len(dAtA) - i, nil +} + +func (m *ActiveGrant) 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 *ActiveGrant) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ActiveGrant) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size := m.Amount.Size() + i -= size + if _, err := m.Amount.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintExchange(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Granter) > 0 { + i -= len(m.Granter) + copy(dAtA[i:], m.Granter) + i = encodeVarintExchange(dAtA, i, uint64(len(m.Granter))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *EffectiveGrant) 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 *EffectiveGrant) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EffectiveGrant) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.IsValid { + i-- + if m.IsValid { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + { + size := m.NetGrantedStake.Size() + i -= size + if _, err := m.NetGrantedStake.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintExchange(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Granter) > 0 { + i -= len(m.Granter) + copy(dAtA[i:], m.Granter) + i = encodeVarintExchange(dAtA, i, uint64(len(m.Granter))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintExchange(dAtA []byte, offset int, v uint64) int { + offset -= sovExchange(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 = m.SpotMarketInstantListingFee.Size() + n += 1 + l + sovExchange(uint64(l)) + l = m.DerivativeMarketInstantListingFee.Size() + n += 1 + l + sovExchange(uint64(l)) + l = m.DefaultSpotMakerFeeRate.Size() + n += 1 + l + sovExchange(uint64(l)) + l = m.DefaultSpotTakerFeeRate.Size() + n += 1 + l + sovExchange(uint64(l)) + l = m.DefaultDerivativeMakerFeeRate.Size() + n += 1 + l + sovExchange(uint64(l)) + l = m.DefaultDerivativeTakerFeeRate.Size() + n += 1 + l + sovExchange(uint64(l)) + l = m.DefaultInitialMarginRatio.Size() + n += 1 + l + sovExchange(uint64(l)) + l = m.DefaultMaintenanceMarginRatio.Size() + n += 1 + l + sovExchange(uint64(l)) + if m.DefaultFundingInterval != 0 { + n += 1 + sovExchange(uint64(m.DefaultFundingInterval)) + } + if m.FundingMultiple != 0 { + n += 1 + sovExchange(uint64(m.FundingMultiple)) + } + l = m.RelayerFeeShareRate.Size() + n += 1 + l + sovExchange(uint64(l)) + l = m.DefaultHourlyFundingRateCap.Size() + n += 1 + l + sovExchange(uint64(l)) + l = m.DefaultHourlyInterestRate.Size() + n += 1 + l + sovExchange(uint64(l)) + if m.MaxDerivativeOrderSideCount != 0 { n += 1 + sovExchange(uint64(m.MaxDerivativeOrderSideCount)) } l = m.InjRewardStakedRequirementThreshold.Size() @@ -6543,6 +7014,15 @@ func (m *Params) Size() (n int) { if m.PostOnlyModeHeightThreshold != 0 { n += 2 + sovExchange(uint64(m.PostOnlyModeHeightThreshold)) } + if m.MarginDecreasePriceTimestampThresholdSeconds != 0 { + n += 2 + sovExchange(uint64(m.MarginDecreasePriceTimestampThresholdSeconds)) + } + if len(m.ExchangeAdmins) > 0 { + for _, s := range m.ExchangeAdmins { + l = len(s) + n += 2 + l + sovExchange(uint64(l)) + } + } return n } @@ -6613,6 +7093,15 @@ func (m *DerivativeMarket) Size() (n int) { n += 1 + l + sovExchange(uint64(l)) l = m.MinQuantityTickSize.Size() n += 2 + l + sovExchange(uint64(l)) + l = m.MinNotional.Size() + n += 2 + l + sovExchange(uint64(l)) + l = len(m.Admin) + if l > 0 { + n += 2 + l + sovExchange(uint64(l)) + } + if m.AdminPermissions != 0 { + n += 2 + sovExchange(uint64(m.AdminPermissions)) + } return n } @@ -6675,6 +7164,11 @@ func (m *BinaryOptionsMarket) Size() (n int) { l = m.SettlementPrice.Size() n += 2 + l + sovExchange(uint64(l)) } + l = m.MinNotional.Size() + n += 2 + l + sovExchange(uint64(l)) + if m.AdminPermissions != 0 { + n += 2 + sovExchange(uint64(m.AdminPermissions)) + } return n } @@ -6823,6 +7317,15 @@ func (m *SpotMarket) Size() (n int) { n += 1 + l + sovExchange(uint64(l)) l = m.MinQuantityTickSize.Size() n += 1 + l + sovExchange(uint64(l)) + l = m.MinNotional.Size() + n += 1 + l + sovExchange(uint64(l)) + l = len(m.Admin) + if l > 0 { + n += 1 + l + sovExchange(uint64(l)) + } + if m.AdminPermissions != 0 { + n += 1 + sovExchange(uint64(m.AdminPermissions)) + } return n } @@ -7008,6 +7511,10 @@ func (m *SubaccountOrder) Size() (n int) { if m.IsReduceOnly { n += 2 } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovExchange(uint64(l)) + } return n } @@ -7195,6 +7702,8 @@ func (m *DerivativeTradeLog) Size() (n int) { if l > 0 { n += 1 + l + sovExchange(uint64(l)) } + l = m.Pnl.Size() + n += 1 + l + sovExchange(uint64(l)) return n } @@ -7572,6 +8081,54 @@ func (m *DenomDecimals) Size() (n int) { return n } +func (m *GrantAuthorization) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Grantee) + if l > 0 { + n += 1 + l + sovExchange(uint64(l)) + } + l = m.Amount.Size() + n += 1 + l + sovExchange(uint64(l)) + return n +} + +func (m *ActiveGrant) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Granter) + if l > 0 { + n += 1 + l + sovExchange(uint64(l)) + } + l = m.Amount.Size() + n += 1 + l + sovExchange(uint64(l)) + return n +} + +func (m *EffectiveGrant) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Granter) + if l > 0 { + n += 1 + l + sovExchange(uint64(l)) + } + l = m.NetGrantedStake.Size() + n += 1 + l + sovExchange(uint64(l)) + if m.IsValid { + n += 2 + } + return n +} + func sovExchange(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -8350,6 +8907,57 @@ func (m *Params) Unmarshal(dAtA []byte) error { break } } + case 26: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MarginDecreasePriceTimestampThresholdSeconds", wireType) + } + m.MarginDecreasePriceTimestampThresholdSeconds = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExchange + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MarginDecreasePriceTimestampThresholdSeconds |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 27: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExchangeAdmins", 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 + } + m.ExchangeAdmins = append(m.ExchangeAdmins, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipExchange(dAtA[iNdEx:]) @@ -8991,19 +9599,104 @@ func (m *DerivativeMarket) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipExchange(dAtA[iNdEx:]) - if err != nil { - return err + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { + 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 } - if (iNdEx + skippy) > l { + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthExchange + } + if postIndex > l { return io.ErrUnexpectedEOF } - iNdEx += skippy + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Admin", 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 + } + m.Admin = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 19: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminPermissions", wireType) + } + m.AdminPermissions = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExchange + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AdminPermissions |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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 } } @@ -9528,12 +10221,65 @@ func (m *BinaryOptionsMarket) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.SettlementPrice = &v if err := m.SettlementPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", 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 + } + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 19: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminPermissions", wireType) + } + m.AdminPermissions = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExchange + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AdminPermissions |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipExchange(dAtA[iNdEx:]) @@ -10312,7 +11058,7 @@ func (m *MidPriceAndTOB) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MidPrice = &v if err := m.MidPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10348,7 +11094,7 @@ func (m *MidPriceAndTOB) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.BestBuyPrice = &v if err := m.BestBuyPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10384,7 +11130,7 @@ func (m *MidPriceAndTOB) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.BestSellPrice = &v if err := m.BestSellPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10757,6 +11503,91 @@ func (m *SpotMarket) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", 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 + } + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Admin", 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 + } + m.Admin = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminPermissions", wireType) + } + m.AdminPermissions = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExchange + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AdminPermissions |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipExchange(dAtA[iNdEx:]) @@ -11322,7 +12153,7 @@ func (m *SpotOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TriggerPrice = &v if err := m.TriggerPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -11494,7 +12325,7 @@ func (m *SpotLimitOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TriggerPrice = &v if err := m.TriggerPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -11734,7 +12565,7 @@ func (m *SpotMarketOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TriggerPrice = &v if err := m.TriggerPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -11938,7 +12769,7 @@ func (m *DerivativeOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TriggerPrice = &v if err := m.TriggerPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -12276,6 +13107,38 @@ func (m *SubaccountOrder) Unmarshal(dAtA []byte) error { } } m.IsReduceOnly = bool(v != 0) + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cid", 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 + } + m.Cid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipExchange(dAtA[iNdEx:]) @@ -12596,7 +13459,7 @@ func (m *DerivativeLimitOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TriggerPrice = &v if err := m.TriggerPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -12836,7 +13699,7 @@ func (m *DerivativeMarketOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TriggerPrice = &v if err := m.TriggerPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -13930,6 +14793,40 @@ func (m *DerivativeTradeLog) Unmarshal(dAtA []byte) error { } m.Cid = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pnl", 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 + } + if err := m.Pnl.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipExchange(dAtA[iNdEx:]) @@ -16474,6 +17371,374 @@ func (m *DenomDecimals) Unmarshal(dAtA []byte) error { } return nil } +func (m *GrantAuthorization) 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: GrantAuthorization: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GrantAuthorization: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grantee", 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 + } + m.Grantee = 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 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 + } + if err := m.Amount.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 *ActiveGrant) 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: ActiveGrant: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ActiveGrant: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Granter", 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 + } + m.Granter = 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 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 + } + if err := m.Amount.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 *EffectiveGrant) 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: EffectiveGrant: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EffectiveGrant: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Granter", 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 + } + m.Granter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NetGrantedStake", 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 + } + if err := m.NetGrantedStake.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsValid", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExchange + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.IsValid = bool(v != 0) + 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 skipExchange(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/exchange/types/expected_keepers.go b/chain/exchange/types/expected_keepers.go index 4a565c43..1078c62b 100644 --- a/chain/exchange/types/expected_keepers.go +++ b/chain/exchange/types/expected_keepers.go @@ -1,6 +1,7 @@ package types import ( + "context" "time" sdkmath "cosmossdk.io/math" @@ -27,13 +28,14 @@ type BankKeeper interface { // OracleKeeper defines the expected oracle keeper methods. type OracleKeeper interface { - GetPrice(ctx sdk.Context, oracletype oracletypes.OracleType, base string, quote string) *sdk.Dec - GetCumulativePrice(ctx sdk.Context, oracleType oracletypes.OracleType, base string, quote string) *sdk.Dec + GetPrice(ctx sdk.Context, oracletype oracletypes.OracleType, base string, quote string) *sdkmath.LegacyDec + GetPricePairState(ctx sdk.Context, oracletype oracletypes.OracleType, base, quote string, scalingOptions *oracletypes.ScalingOptions) *oracletypes.PricePairState + GetCumulativePrice(ctx sdk.Context, oracleType oracletypes.OracleType, base string, quote string) *sdkmath.LegacyDec GetHistoricalPriceRecords(ctx sdk.Context, oracleType oracletypes.OracleType, symbol string, from int64) (entry *oracletypes.PriceRecords, omitted bool) GetMixedHistoricalPriceRecords(ctx sdk.Context, baseOracleType, quoteOracleType oracletypes.OracleType, baseSymbol, quoteSymbol string, from int64) (mixed *oracletypes.PriceRecords, ok bool) - GetStandardDeviationForPriceRecords(priceRecords []*oracletypes.PriceRecord) *sdk.Dec + GetStandardDeviationForPriceRecords(priceRecords []*oracletypes.PriceRecord) *sdkmath.LegacyDec GetProviderInfo(ctx sdk.Context, provider string) *oracletypes.ProviderInfo - GetProviderPrice(ctx sdk.Context, provider, symbol string) *sdk.Dec + GetProviderPrice(ctx sdk.Context, provider, symbol string) *sdkmath.LegacyDec GetProviderPriceState(ctx sdk.Context, provider, symbol string) *oracletypes.ProviderPriceState } @@ -52,8 +54,8 @@ type InsuranceKeeper interface { } type GovKeeper interface { - IterateActiveProposalsQueue(ctx sdk.Context, endTime time.Time, cb func(proposal v1.Proposal) (stop bool)) - GetParams(ctx sdk.Context) v1.Params + IterateActiveProposalsQueue(ctx context.Context, endTime time.Time, cb func(proposal v1.Proposal) (stop bool)) + GetParams(ctx context.Context) v1.Params } type DistributionKeeper interface { @@ -63,8 +65,8 @@ type DistributionKeeper interface { } type StakingKeeper interface { - GetDelegatorDelegations(ctx sdk.Context, delegator sdk.AccAddress, maxRetrieve uint16) (delegations []stakingtypes.Delegation) - Validator(sdk.Context, sdk.ValAddress) stakingtypes.ValidatorI + GetDelegatorDelegations(ctx context.Context, delegator sdk.AccAddress, maxRetrieve uint16) (delegations []stakingtypes.Delegation, err error) + Validator(context.Context, sdk.ValAddress) (stakingtypes.ValidatorI, error) // get a particular validator by operator address } type WasmViewKeeper interface { diff --git a/chain/exchange/types/fee_discounts.go b/chain/exchange/types/fee_discounts.go index c9f16850..3e0bdec4 100644 --- a/chain/exchange/types/fee_discounts.go +++ b/chain/exchange/types/fee_discounts.go @@ -1,18 +1,17 @@ package types import ( - sdkmath "cosmossdk.io/math" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" ) type FeeDiscountRates struct { - MakerDiscountRate sdk.Dec - TakerDiscountRate sdk.Dec + MakerDiscountRate math.LegacyDec + TakerDiscountRate math.LegacyDec } func (s *FeeDiscountSchedule) CalculateFeeDiscountTier( - stakedAmount sdkmath.Int, - tradingVolume sdk.Dec, + stakedAmount math.Int, + tradingVolume math.LegacyDec, ) ( feeDiscountRates *FeeDiscountRates, tierLevel uint64, @@ -31,8 +30,8 @@ func (s *FeeDiscountSchedule) CalculateFeeDiscountTier( if tierLevel == 0 { feeDiscountRates = &FeeDiscountRates{ - MakerDiscountRate: sdk.ZeroDec(), - TakerDiscountRate: sdk.ZeroDec(), + MakerDiscountRate: math.LegacyZeroDec(), + TakerDiscountRate: math.LegacyZeroDec(), } } else { feeDiscountRates = &FeeDiscountRates{ @@ -45,8 +44,8 @@ func (s *FeeDiscountSchedule) CalculateFeeDiscountTier( } func (s *FeeDiscountSchedule) TierOneRequirements() ( - minStakedAmount sdkmath.Int, - minTradingFeePaid sdk.Dec, + minStakedAmount math.Int, + minTradingFeePaid math.LegacyDec, ) { // s.TierInfos[0] is tier one, since tier 0 is implicit return s.TierInfos[0].StakedAmount, s.TierInfos[0].Volume @@ -61,8 +60,8 @@ func (s *FeeDiscountSchedule) GetFeeDiscountRatesMap() FeeDiscountRatesMap { feeDiscountRatesMap := make(FeeDiscountRatesMap, len(s.TierInfos)) feeDiscountRatesMap[0] = &FeeDiscountRates{ - MakerDiscountRate: sdk.ZeroDec(), - TakerDiscountRate: sdk.ZeroDec(), + MakerDiscountRate: math.LegacyZeroDec(), + TakerDiscountRate: math.LegacyZeroDec(), } for idx, tierInfo := range s.TierInfos { diff --git a/chain/exchange/types/fee_validation.go b/chain/exchange/types/fee_validation.go index 9284639c..cc872f22 100644 --- a/chain/exchange/types/fee_validation.go +++ b/chain/exchange/types/fee_validation.go @@ -4,10 +4,10 @@ import ( "fmt" "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" ) -func ValidateMakerWithTakerFee(makerFeeRate, takerFeeRate, relayerFeeShareRate, minimalProtocolFeeRate sdk.Dec) error { +func ValidateMakerWithTakerFee(makerFeeRate, takerFeeRate, relayerFeeShareRate, minimalProtocolFeeRate math.LegacyDec) error { if makerFeeRate.GT(takerFeeRate) { return ErrFeeRatesRelation } @@ -17,7 +17,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) { + if takerFeeRate.Mul(math.LegacyOneDec().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 errors.Wrap(ErrFeeRatesRelation, errMsg) } @@ -25,12 +25,12 @@ func ValidateMakerWithTakerFee(makerFeeRate, takerFeeRate, relayerFeeShareRate, return nil } -func ValidateMakerWithTakerFeeAndDiscounts(makerFeeRate, takerFeeRate, relayerFeeShareRate, minimalProtocolFeeRate sdk.Dec, discountSchedule *FeeDiscountSchedule) error { +func ValidateMakerWithTakerFeeAndDiscounts(makerFeeRate, takerFeeRate, relayerFeeShareRate, minimalProtocolFeeRate math.LegacyDec, discountSchedule *FeeDiscountSchedule) error { smallestTakerFeeRate := takerFeeRate if makerFeeRate.IsNegative() && discountSchedule != nil && len(discountSchedule.TierInfos) > 0 { maxTakerDiscount := discountSchedule.TierInfos[len(discountSchedule.TierInfos)-1].TakerDiscountRate - smallestTakerFeeRate = smallestTakerFeeRate.Mul(sdk.OneDec().Sub(maxTakerDiscount)) + smallestTakerFeeRate = smallestTakerFeeRate.Mul(math.LegacyOneDec().Sub(maxTakerDiscount)) } return ValidateMakerWithTakerFee(makerFeeRate, smallestTakerFeeRate, relayerFeeShareRate, minimalProtocolFeeRate) diff --git a/chain/exchange/types/genesis.pb.go b/chain/exchange/types/genesis.pb.go index 92998d1d..bfb2e0ca 100644 --- a/chain/exchange/types/genesis.pb.go +++ b/chain/exchange/types/genesis.pb.go @@ -4,8 +4,8 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -101,6 +101,8 @@ type GenesisState struct { 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"` MarketVolumes []*MarketVolume `protobuf:"bytes,34,rep,name=market_volumes,json=marketVolumes,proto3" json:"market_volumes,omitempty"` + GrantAuthorizations []*FullGrantAuthorizations `protobuf:"bytes,35,rep,name=grant_authorizations,json=grantAuthorizations,proto3" json:"grant_authorizations,omitempty"` + ActiveGrants []*FullActiveGrant `protobuf:"bytes,36,rep,name=active_grants,json=activeGrants,proto3" json:"active_grants,omitempty"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -374,6 +376,20 @@ func (m *GenesisState) GetMarketVolumes() []*MarketVolume { return nil } +func (m *GenesisState) GetGrantAuthorizations() []*FullGrantAuthorizations { + if m != nil { + return m.GrantAuthorizations + } + return nil +} + +func (m *GenesisState) GetActiveGrants() []*FullActiveGrant { + if m != nil { + return m.ActiveGrants + } + return nil +} + type OrderbookSequence struct { Sequence uint64 `protobuf:"varint,1,opt,name=sequence,proto3" json:"sequence,omitempty"` MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` @@ -531,8 +547,8 @@ func (m *FeeDiscountBucketVolumeAccounts) GetAccountVolume() []*AccountVolume { } type AccountVolume struct { - Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` - Volume github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=volume,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"volume"` + Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + Volume cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=volume,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"volume"` } func (m *AccountVolume) Reset() { *m = AccountVolume{} } @@ -576,8 +592,8 @@ func (m *AccountVolume) GetAccount() string { } type TradingRewardCampaignAccountPoints struct { - Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` - Points github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=points,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"points"` + Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + Points cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=points,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"points"` } func (m *TradingRewardCampaignAccountPoints) Reset() { *m = TradingRewardCampaignAccountPoints{} } @@ -1018,6 +1034,119 @@ func (m *PerpetualMarketFundingState) GetFunding() *PerpetualMarketFunding { return nil } +type FullGrantAuthorizations struct { + Granter string `protobuf:"bytes,1,opt,name=granter,proto3" json:"granter,omitempty"` + TotalGrantAmount cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=total_grant_amount,json=totalGrantAmount,proto3,customtype=cosmossdk.io/math.Int" json:"total_grant_amount"` + LastDelegationsCheckedTime int64 `protobuf:"varint,3,opt,name=last_delegations_checked_time,json=lastDelegationsCheckedTime,proto3" json:"last_delegations_checked_time,omitempty"` + Grants []*GrantAuthorization `protobuf:"bytes,4,rep,name=grants,proto3" json:"grants,omitempty"` +} + +func (m *FullGrantAuthorizations) Reset() { *m = FullGrantAuthorizations{} } +func (m *FullGrantAuthorizations) String() string { return proto.CompactTextString(m) } +func (*FullGrantAuthorizations) ProtoMessage() {} +func (*FullGrantAuthorizations) Descriptor() ([]byte, []int) { + return fileDescriptor_c47ec6b98758ed05, []int{15} +} +func (m *FullGrantAuthorizations) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *FullGrantAuthorizations) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_FullGrantAuthorizations.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 *FullGrantAuthorizations) XXX_Merge(src proto.Message) { + xxx_messageInfo_FullGrantAuthorizations.Merge(m, src) +} +func (m *FullGrantAuthorizations) XXX_Size() int { + return m.Size() +} +func (m *FullGrantAuthorizations) XXX_DiscardUnknown() { + xxx_messageInfo_FullGrantAuthorizations.DiscardUnknown(m) +} + +var xxx_messageInfo_FullGrantAuthorizations proto.InternalMessageInfo + +func (m *FullGrantAuthorizations) GetGranter() string { + if m != nil { + return m.Granter + } + return "" +} + +func (m *FullGrantAuthorizations) GetLastDelegationsCheckedTime() int64 { + if m != nil { + return m.LastDelegationsCheckedTime + } + return 0 +} + +func (m *FullGrantAuthorizations) GetGrants() []*GrantAuthorization { + if m != nil { + return m.Grants + } + return nil +} + +type FullActiveGrant struct { + Grantee string `protobuf:"bytes,1,opt,name=grantee,proto3" json:"grantee,omitempty"` + ActiveGrant *ActiveGrant `protobuf:"bytes,2,opt,name=active_grant,json=activeGrant,proto3" json:"active_grant,omitempty"` +} + +func (m *FullActiveGrant) Reset() { *m = FullActiveGrant{} } +func (m *FullActiveGrant) String() string { return proto.CompactTextString(m) } +func (*FullActiveGrant) ProtoMessage() {} +func (*FullActiveGrant) Descriptor() ([]byte, []int) { + return fileDescriptor_c47ec6b98758ed05, []int{16} +} +func (m *FullActiveGrant) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *FullActiveGrant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_FullActiveGrant.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 *FullActiveGrant) XXX_Merge(src proto.Message) { + xxx_messageInfo_FullActiveGrant.Merge(m, src) +} +func (m *FullActiveGrant) XXX_Size() int { + return m.Size() +} +func (m *FullActiveGrant) XXX_DiscardUnknown() { + xxx_messageInfo_FullActiveGrant.DiscardUnknown(m) +} + +var xxx_messageInfo_FullActiveGrant proto.InternalMessageInfo + +func (m *FullActiveGrant) GetGrantee() string { + if m != nil { + return m.Grantee + } + return "" +} + +func (m *FullActiveGrant) GetActiveGrant() *ActiveGrant { + if m != nil { + return m.ActiveGrant + } + return nil +} + func init() { proto.RegisterType((*GenesisState)(nil), "injective.exchange.v1beta1.GenesisState") proto.RegisterType((*OrderbookSequence)(nil), "injective.exchange.v1beta1.OrderbookSequence") @@ -1034,6 +1163,8 @@ func init() { proto.RegisterType((*SubaccountNonce)(nil), "injective.exchange.v1beta1.SubaccountNonce") proto.RegisterType((*ExpiryFuturesMarketInfoState)(nil), "injective.exchange.v1beta1.ExpiryFuturesMarketInfoState") proto.RegisterType((*PerpetualMarketFundingState)(nil), "injective.exchange.v1beta1.PerpetualMarketFundingState") + proto.RegisterType((*FullGrantAuthorizations)(nil), "injective.exchange.v1beta1.FullGrantAuthorizations") + proto.RegisterType((*FullActiveGrant)(nil), "injective.exchange.v1beta1.FullActiveGrant") } func init() { @@ -1041,123 +1172,135 @@ func init() { } var fileDescriptor_c47ec6b98758ed05 = []byte{ - // 1851 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcb, 0x6f, 0xe3, 0xc6, - 0x19, 0x37, 0xd7, 0x1b, 0x5b, 0xfe, 0xbc, 0xf6, 0xae, 0xc7, 0x8f, 0xa5, 0x1f, 0x91, 0xbc, 0x72, - 0xbb, 0xd0, 0xb6, 0x59, 0x29, 0xbb, 0x69, 0x90, 0x36, 0x7d, 0x65, 0xb5, 0xb6, 0x5a, 0x03, 0x4e, - 0x6c, 0xd0, 0x42, 0x0e, 0xe9, 0x83, 0xa0, 0xc8, 0x91, 0x34, 0x59, 0x92, 0xc3, 0x70, 0x86, 0xce, - 0xfa, 0x16, 0xf4, 0x10, 0xa4, 0xa7, 0xb4, 0x05, 0x0a, 0xf4, 0x18, 0x14, 0x3d, 0xb4, 0x97, 0xfe, - 0x0f, 0xbd, 0xe5, 0x98, 0xde, 0x8a, 0x1e, 0x82, 0x62, 0xf7, 0xd2, 0x6b, 0xff, 0x83, 0x82, 0x33, - 0xc3, 0x87, 0x5e, 0x94, 0xec, 0xf6, 0x24, 0x71, 0xe6, 0xfb, 0x7e, 0xbf, 0xdf, 0x3c, 0x3e, 0x7e, - 0x1f, 0x3f, 0xa8, 0x11, 0xff, 0x43, 0x6c, 0x73, 0x72, 0x81, 0x1b, 0xf8, 0xb9, 0xdd, 0xb7, 0xfc, - 0x1e, 0x6e, 0x5c, 0x3c, 0xea, 0x60, 0x6e, 0x3d, 0x6a, 0xf4, 0xb0, 0x8f, 0x19, 0x61, 0xf5, 0x20, - 0xa4, 0x9c, 0xa2, 0x9d, 0xd4, 0xb2, 0x9e, 0x58, 0xd6, 0x95, 0xe5, 0xce, 0x83, 0x02, 0x94, 0xd4, - 0x58, 0xc0, 0xec, 0x1c, 0x14, 0x98, 0xf2, 0xe7, 0xca, 0x68, 0xa3, 0x47, 0x7b, 0x54, 0xfc, 0x6d, - 0xc4, 0xff, 0xe4, 0x68, 0xf5, 0x3f, 0xbb, 0x70, 0xeb, 0x27, 0x52, 0xd3, 0x39, 0xb7, 0x38, 0x46, - 0xef, 0xc0, 0x42, 0x60, 0x85, 0x96, 0xc7, 0x74, 0x6d, 0x5f, 0xab, 0x2d, 0x3f, 0xae, 0xd6, 0x27, - 0x6b, 0xac, 0x9f, 0x09, 0xcb, 0xe6, 0xcd, 0x2f, 0xbf, 0xae, 0xcc, 0x19, 0xca, 0x0f, 0x1d, 0xc3, - 0x2d, 0x16, 0x50, 0x6e, 0x7a, 0x56, 0xf8, 0x0c, 0x73, 0xa6, 0xdf, 0xd8, 0x9f, 0xaf, 0x2d, 0x3f, - 0xbe, 0x5f, 0x84, 0x73, 0x1e, 0x50, 0xfe, 0xae, 0x30, 0x37, 0x96, 0x59, 0xfa, 0x9f, 0xa1, 0x9f, - 0x01, 0x72, 0x70, 0x48, 0x2e, 0xac, 0xd8, 0x2d, 0x05, 0x9c, 0x17, 0x80, 0xaf, 0x15, 0x01, 0x1e, - 0xa6, 0x5e, 0x0a, 0x76, 0xcd, 0x19, 0x1a, 0x61, 0xe8, 0x7d, 0x58, 0x15, 0x3a, 0x69, 0xe8, 0xe0, - 0xb0, 0x43, 0xe9, 0x33, 0xfd, 0xa6, 0x00, 0x7e, 0x30, 0x4d, 0xe9, 0x69, 0xec, 0xd0, 0xa4, 0xf4, - 0x99, 0x5a, 0xf8, 0x0a, 0x4b, 0x06, 0x63, 0x14, 0xd4, 0x87, 0x8d, 0x9c, 0xe8, 0x0c, 0xfd, 0x15, - 0x81, 0xde, 0x98, 0x4d, 0xf6, 0x30, 0xc7, 0xba, 0x33, 0x38, 0x25, 0x98, 0x8e, 0xa0, 0xd4, 0xb1, - 0x5c, 0xcb, 0xb7, 0x31, 0xd3, 0x17, 0x04, 0xfa, 0x41, 0x11, 0x7a, 0x53, 0xda, 0x2a, 0xc4, 0xd4, - 0x15, 0x19, 0xb0, 0x14, 0x50, 0x46, 0x38, 0xa1, 0x3e, 0xd3, 0x17, 0x05, 0x4e, 0x7d, 0x36, 0x95, - 0x67, 0xca, 0x4d, 0x41, 0x66, 0x30, 0x88, 0xc0, 0x5d, 0x16, 0x75, 0x2c, 0xdb, 0xa6, 0x91, 0xcf, - 0x4d, 0x1e, 0x5a, 0x0e, 0x36, 0x7d, 0x2a, 0x94, 0x96, 0x04, 0xc3, 0xb7, 0x0b, 0x77, 0x39, 0x75, - 0x7d, 0x8f, 0x66, 0x8a, 0x37, 0x33, 0xc4, 0x76, 0x0c, 0x28, 0xe6, 0x18, 0xfa, 0x54, 0x83, 0x7d, - 0xfc, 0x3c, 0x20, 0xe1, 0xa5, 0xd9, 0x8d, 0x78, 0x14, 0x62, 0xa6, 0x6e, 0x8a, 0x49, 0xfc, 0x2e, - 0x35, 0x59, 0x7c, 0xad, 0xf5, 0x25, 0x41, 0xfa, 0xdd, 0x22, 0xd2, 0x23, 0x81, 0xd1, 0x92, 0x10, - 0xf2, 0x92, 0x1c, 0xfb, 0x5d, 0x2a, 0xc2, 0x42, 0x29, 0xd8, 0xc3, 0x05, 0x36, 0x88, 0xc0, 0x66, - 0x80, 0xc3, 0x00, 0xf3, 0xc8, 0x72, 0xf3, 0x12, 0x74, 0x98, 0x7e, 0xf2, 0x67, 0x89, 0x63, 0x06, - 0x9a, 0x9c, 0x7c, 0x30, 0x3a, 0x85, 0x7e, 0xa5, 0x41, 0x79, 0x84, 0xab, 0x1b, 0xf9, 0x0e, 0xf1, - 0x7b, 0x6a, 0xc5, 0xcb, 0x82, 0xf4, 0xad, 0x2b, 0x90, 0xb6, 0xa4, 0x7f, 0x7e, 0xc1, 0xbb, 0xc1, - 0x64, 0x13, 0xf4, 0x7b, 0x0d, 0xee, 0x8f, 0x84, 0xa7, 0xc9, 0x30, 0xe7, 0x2e, 0xf6, 0xb0, 0xcf, - 0x4d, 0x66, 0xf7, 0xb1, 0x13, 0xb9, 0xd8, 0xd1, 0x6f, 0x09, 0x31, 0x6f, 0x5f, 0x25, 0x64, 0xcf, - 0x53, 0x9c, 0xdc, 0x66, 0x1c, 0x38, 0x13, 0xad, 0xce, 0x13, 0x32, 0xf4, 0x16, 0xe8, 0x84, 0x99, - 0x22, 0xb6, 0x13, 0x16, 0x13, 0xfb, 0x56, 0x27, 0x16, 0xb2, 0xb2, 0xaf, 0xd5, 0x4a, 0xc6, 0x26, - 0x61, 0x71, 0x20, 0x1f, 0xa9, 0xd9, 0x23, 0x39, 0x89, 0x8e, 0xa0, 0x42, 0x98, 0x99, 0x51, 0xb0, - 0x51, 0xff, 0x55, 0xe1, 0xbf, 0x47, 0x58, 0x26, 0x97, 0x0d, 0xc3, 0x5c, 0xc0, 0x5e, 0x7c, 0xe1, - 0xe3, 0xa3, 0x08, 0xf1, 0xc7, 0x56, 0xe8, 0x98, 0xb6, 0xe5, 0x05, 0x16, 0xe9, 0xf9, 0xf2, 0x3a, - 0xdc, 0x16, 0x2f, 0xd6, 0x37, 0x8b, 0x36, 0xa3, 0x2d, 0xfd, 0x0d, 0xe1, 0xfe, 0x54, 0x79, 0xc7, - 0xfb, 0x60, 0x6c, 0xf3, 0x49, 0x53, 0xe8, 0x13, 0x0d, 0xbe, 0x39, 0x44, 0x1c, 0x50, 0xea, 0x66, - 0xec, 0xc9, 0x79, 0xe8, 0x77, 0xa6, 0x07, 0x79, 0x82, 0x2c, 0x79, 0xce, 0x28, 0x75, 0x8d, 0x7b, - 0x03, 0xd4, 0xf1, 0x50, 0x62, 0x94, 0xec, 0x3d, 0xfa, 0x9d, 0x06, 0xf7, 0x27, 0xad, 0x3d, 0x79, - 0x19, 0x04, 0x94, 0xf8, 0x9c, 0xe9, 0x6b, 0x42, 0xc3, 0x8f, 0xae, 0xbc, 0x0b, 0x4f, 0x24, 0xcc, - 0x99, 0x40, 0x31, 0xaa, 0x7c, 0xaa, 0x0d, 0xb2, 0x61, 0xb3, 0x8b, 0xb1, 0xe9, 0x10, 0x26, 0x05, - 0xa4, 0xdb, 0x80, 0xc4, 0x41, 0x14, 0xc6, 0x65, 0x0b, 0xe3, 0x43, 0xe5, 0x97, 0x2c, 0xd2, 0x58, - 0xef, 0x8e, 0x0e, 0xa2, 0x8f, 0xe1, 0xd5, 0x01, 0x92, 0xf4, 0xd5, 0x47, 0x70, 0x68, 0x72, 0xee, - 0xea, 0xeb, 0x62, 0xbd, 0x6f, 0xce, 0x48, 0xa6, 0x56, 0xd0, 0x26, 0x38, 0x6c, 0xb7, 0x4f, 0x8c, - 0xed, 0xee, 0xf8, 0x29, 0xee, 0xa2, 0x5f, 0x6b, 0x70, 0x30, 0xc0, 0xdc, 0x89, 0xec, 0x38, 0x0e, - 0x2f, 0xa8, 0x1b, 0x79, 0x38, 0xd1, 0xc1, 0xf4, 0x0d, 0xc1, 0xff, 0xfd, 0x19, 0xf9, 0x9b, 0x02, - 0xe4, 0x7d, 0x81, 0xa1, 0x08, 0x99, 0x51, 0xe9, 0x16, 0x1b, 0xa0, 0x1f, 0xc0, 0x2e, 0x61, 0x66, - 0x97, 0x84, 0x8c, 0x9b, 0xb1, 0x26, 0xfb, 0xd2, 0x76, 0xb1, 0xd9, 0x25, 0x3e, 0x61, 0x7d, 0xec, - 0xe8, 0x9b, 0x22, 0x78, 0xee, 0x12, 0xd6, 0x8a, 0x2d, 0x5a, 0x18, 0x3f, 0x8d, 0xe7, 0x5b, 0x6a, - 0x1a, 0x7d, 0xae, 0xc1, 0xc3, 0x00, 0xcb, 0x77, 0xd8, 0x6c, 0xf7, 0x78, 0xeb, 0x5a, 0xf7, 0xb8, - 0xa6, 0x48, 0xda, 0x53, 0xaf, 0xf3, 0x9f, 0x35, 0xa8, 0x4f, 0x50, 0x34, 0xe9, 0x5a, 0xdf, 0x15, - 0x92, 0x8e, 0xae, 0x7d, 0xad, 0x25, 0x9b, 0xba, 0xdd, 0x0f, 0xc6, 0x29, 0x1d, 0x7f, 0xc9, 0xbf, - 0x07, 0xdb, 0x52, 0x19, 0x33, 0x69, 0xc0, 0x4d, 0x1a, 0x71, 0xd3, 0x72, 0x9c, 0x10, 0x33, 0x86, - 0x99, 0xae, 0xef, 0xcf, 0xd7, 0x96, 0x8c, 0x2d, 0x65, 0x70, 0x1a, 0xf0, 0xd3, 0x88, 0x3f, 0x49, - 0x66, 0x51, 0x07, 0xf4, 0x3e, 0x61, 0x9c, 0x86, 0xc4, 0xb6, 0x5c, 0x95, 0xab, 0x43, 0x6c, 0xd3, - 0xd0, 0x61, 0xfa, 0xb6, 0x58, 0x4e, 0x6d, 0xda, 0x72, 0xb0, 0x21, 0xed, 0x8d, 0xad, 0x0c, 0x29, - 0x3f, 0x8e, 0x30, 0x6c, 0x75, 0x88, 0x6f, 0x85, 0x97, 0xb1, 0xba, 0xb8, 0x42, 0x48, 0xab, 0xb9, - 0x9d, 0xe9, 0xc9, 0xb1, 0x29, 0x3c, 0x4f, 0xa5, 0xa3, 0x2a, 0xe8, 0x36, 0x3a, 0xa3, 0x83, 0x0c, - 0xf5, 0xe1, 0xf1, 0x58, 0x1a, 0x93, 0x38, 0x2c, 0x4b, 0x47, 0x66, 0x97, 0x86, 0xb9, 0x3c, 0xa5, - 0xef, 0x8a, 0xed, 0x79, 0x6d, 0x0c, 0xe2, 0xb1, 0xc3, 0xd2, 0xbc, 0xd2, 0xa2, 0x61, 0x96, 0x6d, - 0x50, 0x1b, 0x6a, 0xb9, 0x2a, 0x77, 0x08, 0x9f, 0xd3, 0x98, 0xc2, 0xc6, 0xa6, 0xed, 0x52, 0x86, - 0xf5, 0x3d, 0x81, 0x5f, 0xcd, 0x2a, 0xdb, 0x3c, 0x6c, 0x9b, 0xb6, 0x62, 0xd3, 0xa7, 0xb1, 0x65, - 0x5c, 0x93, 0x3a, 0xd8, 0xa7, 0x9e, 0xe9, 0x60, 0x9b, 0x78, 0x96, 0xcb, 0xf4, 0x57, 0xa7, 0xd7, - 0xa4, 0x87, 0xb1, 0xc7, 0xa1, 0x72, 0x48, 0x6a, 0x52, 0x27, 0x3f, 0x18, 0xd7, 0x48, 0xf7, 0x6c, - 0xea, 0x3b, 0xa2, 0x3a, 0xb3, 0x5c, 0x73, 0x5c, 0x81, 0xca, 0xf4, 0xf2, 0xf4, 0x2c, 0xfd, 0x34, - 0x03, 0x19, 0x53, 0xac, 0x1a, 0x15, 0x7b, 0xe2, 0xbc, 0xa0, 0x88, 0xef, 0x41, 0x52, 0xad, 0x60, - 0x6c, 0x7a, 0x91, 0xcb, 0x49, 0xe0, 0x12, 0x1c, 0x32, 0xbd, 0x32, 0xfd, 0x1e, 0xa8, 0x1a, 0x04, - 0xe3, 0x77, 0x53, 0x3f, 0x63, 0xc3, 0x1b, 0x1d, 0x64, 0xe8, 0x97, 0xb0, 0x9e, 0xae, 0xcb, 0x64, - 0xf8, 0xa3, 0x08, 0x8b, 0xd2, 0x73, 0x5f, 0x70, 0x3c, 0x2c, 0xe2, 0x48, 0xb5, 0x9e, 0x2b, 0x2f, - 0x03, 0xd1, 0xe1, 0x21, 0x86, 0x3e, 0x04, 0x94, 0x2b, 0x6f, 0xe5, 0xab, 0x96, 0xe9, 0xf7, 0xa6, - 0xbf, 0x62, 0x9f, 0xf4, 0x7a, 0x21, 0xee, 0x59, 0x1c, 0x67, 0x25, 0xae, 0x7c, 0x87, 0xca, 0x40, - 0x31, 0xd6, 0xd8, 0xd0, 0x38, 0x43, 0xa7, 0xb0, 0xaa, 0xb6, 0x2c, 0xe1, 0xa9, 0x4e, 0x0f, 0x4a, - 0xb9, 0x55, 0x0a, 0x7a, 0xc5, 0xcb, 0x3d, 0xb1, 0xea, 0x09, 0xac, 0x8d, 0xac, 0x12, 0xed, 0x40, - 0x29, 0xd9, 0x27, 0xf1, 0xe5, 0x77, 0xd3, 0x48, 0x9f, 0xd1, 0x2e, 0x2c, 0xa5, 0xd7, 0x5c, 0xbf, - 0xb1, 0xaf, 0xd5, 0x96, 0x8c, 0x92, 0xa7, 0x2e, 0x72, 0xf5, 0x13, 0x0d, 0xb6, 0x27, 0x26, 0x2e, - 0xa4, 0xc3, 0xa2, 0x5a, 0x8e, 0x40, 0x5d, 0x32, 0x92, 0x47, 0x74, 0x0c, 0xa5, 0x34, 0x37, 0xde, - 0x10, 0x89, 0xb8, 0x3e, 0x63, 0x6e, 0x4a, 0x92, 0xe2, 0x22, 0x97, 0x29, 0xb0, 0xfa, 0x17, 0x0d, - 0x2a, 0x53, 0x72, 0x17, 0xfa, 0x0e, 0x6c, 0xa9, 0xc4, 0xc8, 0xb8, 0x15, 0xc6, 0x79, 0xd9, 0xc3, - 0x8c, 0x5b, 0x5e, 0x20, 0x74, 0xcd, 0x1b, 0x1b, 0x72, 0xf6, 0x3c, 0x9e, 0x6c, 0x27, 0x73, 0xe8, - 0x0c, 0x56, 0x07, 0x0f, 0x59, 0x7d, 0xcd, 0x16, 0xc6, 0xe3, 0x93, 0x81, 0x73, 0x5d, 0x19, 0x38, - 0xce, 0xea, 0x47, 0xb0, 0x32, 0x30, 0x5f, 0xb0, 0x43, 0x2d, 0x58, 0x48, 0x49, 0xb5, 0xda, 0x52, - 0xb3, 0x1e, 0x47, 0xf6, 0x3f, 0xbf, 0xae, 0xdc, 0xef, 0x11, 0xde, 0x8f, 0x3a, 0x75, 0x9b, 0x7a, - 0x0d, 0x9b, 0x32, 0x8f, 0x32, 0xf5, 0xf3, 0x90, 0x39, 0xcf, 0x1a, 0xfc, 0x32, 0xc0, 0xac, 0x7e, - 0x88, 0x6d, 0x43, 0x79, 0x57, 0x3f, 0xd5, 0xa0, 0x3a, 0x43, 0x06, 0x29, 0x14, 0xa2, 0xb2, 0xdb, - 0x35, 0x85, 0x48, 0xef, 0xea, 0xdf, 0x35, 0x78, 0x30, 0x73, 0xf2, 0x43, 0x3f, 0x84, 0xdd, 0x7c, - 0xf6, 0x1f, 0x7f, 0x6c, 0x7a, 0x98, 0x66, 0xef, 0xa1, 0xa3, 0xc3, 0xd9, 0xd1, 0xa5, 0xe2, 0xff, - 0x1f, 0x15, 0x67, 0x72, 0x9e, 0xf2, 0xb1, 0xfa, 0x07, 0x0d, 0x56, 0x06, 0x9a, 0x02, 0x83, 0xd1, - 0xa2, 0x0d, 0x46, 0x0b, 0xda, 0x83, 0x25, 0xc2, 0x9a, 0xd1, 0xe5, 0x39, 0x71, 0xe4, 0xb1, 0x96, - 0x8c, 0x6c, 0x00, 0x35, 0x61, 0x41, 0xbc, 0x6c, 0x92, 0x1e, 0xc7, 0xb7, 0xa6, 0xb5, 0x22, 0x4e, - 0x88, 0x47, 0x24, 0xb5, 0xa1, 0x3c, 0xdf, 0x2e, 0x7d, 0xf6, 0x45, 0x65, 0xee, 0xdf, 0x5f, 0x54, - 0xe6, 0xaa, 0x7f, 0xd2, 0x60, 0x7d, 0xcc, 0x4b, 0xfa, 0x7f, 0x11, 0xf8, 0xd3, 0x21, 0x81, 0xaf, - 0xcf, 0xf6, 0x45, 0x57, 0x28, 0xf3, 0x6f, 0xf3, 0x50, 0x2e, 0x4e, 0x2b, 0xc5, 0x8a, 0x3f, 0x80, - 0x3b, 0x6e, 0x8c, 0x6f, 0x76, 0xa2, 0x4b, 0x53, 0xa9, 0xbb, 0x71, 0x4d, 0x75, 0xab, 0x02, 0xa9, - 0x19, 0x5d, 0x8a, 0x47, 0x86, 0x7e, 0x01, 0x6b, 0x8a, 0x38, 0x07, 0x2e, 0x97, 0xfe, 0xe8, 0x2a, - 0x1f, 0xb3, 0x12, 0xfd, 0xb6, 0xc4, 0xca, 0xe0, 0x7f, 0x0e, 0x6b, 0x52, 0x3a, 0xc3, 0xae, 0x9b, - 0xc0, 0xdf, 0xbc, 0xa6, 0xf6, 0xdb, 0x02, 0xea, 0x1c, 0xbb, 0xae, 0x42, 0x37, 0x01, 0xa5, 0xdf, - 0xe4, 0x19, 0xfc, 0x2b, 0xd7, 0x55, 0x7f, 0xc7, 0x53, 0x5f, 0xdc, 0x09, 0x41, 0xee, 0x0c, 0x3f, - 0xd7, 0x60, 0x51, 0xb5, 0x97, 0xd0, 0x01, 0xac, 0xe4, 0x72, 0x63, 0x7a, 0x60, 0xb7, 0xb2, 0xc1, - 0x63, 0x07, 0x6d, 0xc0, 0x2b, 0xa2, 0x42, 0x51, 0xe9, 0x44, 0x3e, 0xa0, 0x1f, 0x43, 0xc9, 0xc1, - 0xa2, 0x89, 0x14, 0xef, 0xb2, 0x36, 0xad, 0xa1, 0x75, 0x28, 0x6d, 0x8d, 0xd4, 0x29, 0xa7, 0xe8, - 0x8f, 0x1a, 0xa0, 0xd1, 0x46, 0xd5, 0x6c, 0xe2, 0x8a, 0xf2, 0x1d, 0x7a, 0x07, 0x4a, 0x49, 0x9b, - 0x4b, 0x69, 0xfc, 0x46, 0x61, 0x8f, 0x45, 0xd9, 0x1a, 0xa9, 0x57, 0x4e, 0xe4, 0x5f, 0x35, 0xb8, - 0x3d, 0xd4, 0xeb, 0x9a, 0x4d, 0xa1, 0x0b, 0x5b, 0xe3, 0xdb, 0x6b, 0x2a, 0x95, 0xbe, 0x3e, 0x5b, - 0x77, 0x2d, 0x6b, 0xa3, 0xa9, 0xb2, 0x71, 0x63, 0x5c, 0x8b, 0x2d, 0x27, 0xf8, 0xb7, 0x1a, 0xec, - 0x15, 0xf5, 0xc9, 0x8a, 0x23, 0xb5, 0x0d, 0xcb, 0xf9, 0xb6, 0x98, 0x94, 0xfa, 0xc6, 0x35, 0x7a, - 0x72, 0x06, 0x78, 0xe9, 0xff, 0xea, 0x67, 0x1a, 0xec, 0x16, 0x74, 0xb2, 0x8a, 0x25, 0x9d, 0xc0, - 0xa2, 0x6a, 0x9b, 0x29, 0x39, 0x8f, 0xaf, 0xde, 0x30, 0x33, 0x12, 0x88, 0x66, 0xff, 0xcb, 0x17, - 0x65, 0xed, 0xab, 0x17, 0x65, 0xed, 0x5f, 0x2f, 0xca, 0xda, 0x6f, 0x5e, 0x96, 0xe7, 0xbe, 0x7a, - 0x59, 0x9e, 0xfb, 0xc7, 0xcb, 0xf2, 0xdc, 0x07, 0xef, 0xe5, 0x52, 0xe5, 0x71, 0x42, 0x70, 0x62, - 0x75, 0x58, 0x23, 0xa5, 0x7b, 0x68, 0xd3, 0x10, 0xe7, 0x1f, 0xfb, 0x16, 0xf1, 0x1b, 0x1e, 0x8d, - 0xbf, 0x12, 0x58, 0xd6, 0xd8, 0x17, 0x69, 0xb5, 0xb3, 0x20, 0xda, 0xf7, 0x6f, 0xfc, 0x37, 0x00, - 0x00, 0xff, 0xff, 0xa6, 0x40, 0x0d, 0xb7, 0x6c, 0x18, 0x00, 0x00, + // 2044 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x59, 0xcb, 0x6f, 0x24, 0x47, + 0x19, 0x77, 0xdb, 0x5e, 0x7b, 0xfc, 0xf9, 0xb5, 0x2e, 0x3f, 0xb6, 0xfd, 0xf6, 0x8e, 0xc3, 0x32, + 0x0b, 0xd9, 0x71, 0x76, 0x97, 0x28, 0x90, 0xf0, 0x88, 0xc7, 0x8f, 0x60, 0x70, 0x62, 0xab, 0x3d, + 0xca, 0x21, 0x3c, 0x5a, 0x3d, 0xdd, 0x35, 0x33, 0x15, 0x77, 0x77, 0x0d, 0x5d, 0xd5, 0xde, 0x35, + 0x5c, 0x22, 0x0e, 0x28, 0x88, 0x43, 0x00, 0x09, 0x89, 0x63, 0x84, 0x38, 0x80, 0x90, 0xf8, 0x1f, + 0xb8, 0xe5, 0x18, 0x6e, 0x88, 0x43, 0x84, 0x76, 0x2f, 0xfc, 0x19, 0xa8, 0xaa, 0xab, 0x1f, 0xf3, + 0xea, 0x19, 0x9b, 0xdc, 0xa6, 0xaa, 0xbe, 0xef, 0xf7, 0xfb, 0xd5, 0xf3, 0xfb, 0xfa, 0x1b, 0x28, + 0x11, 0xff, 0x43, 0x6c, 0x73, 0x72, 0x85, 0xf7, 0xf0, 0x73, 0xbb, 0x69, 0xf9, 0x0d, 0xbc, 0x77, + 0xf5, 0xb8, 0x86, 0xb9, 0xf5, 0x78, 0xaf, 0x81, 0x7d, 0xcc, 0x08, 0x2b, 0xb7, 0x02, 0xca, 0x29, + 0x5a, 0x4b, 0x2c, 0xcb, 0xb1, 0x65, 0x59, 0x59, 0xae, 0x3d, 0xcc, 0x41, 0x49, 0x8c, 0x25, 0xcc, + 0xda, 0x6e, 0x8e, 0x29, 0x7f, 0xae, 0x8c, 0x96, 0x1a, 0xb4, 0x41, 0xe5, 0xcf, 0x3d, 0xf1, 0x2b, + 0xea, 0x2d, 0xfe, 0x6d, 0x13, 0x66, 0xde, 0x89, 0x34, 0x5d, 0x70, 0x8b, 0x63, 0xf4, 0x36, 0x4c, + 0xb4, 0xac, 0xc0, 0xf2, 0x98, 0xae, 0xed, 0x68, 0xa5, 0xe9, 0x27, 0xc5, 0x72, 0x7f, 0x8d, 0xe5, + 0x73, 0x69, 0x59, 0x19, 0xff, 0xec, 0x8b, 0xed, 0x11, 0x43, 0xf9, 0xa1, 0x13, 0x98, 0x61, 0x2d, + 0xca, 0x4d, 0xcf, 0x0a, 0x2e, 0x31, 0x67, 0xfa, 0xe8, 0xce, 0x58, 0x69, 0xfa, 0xc9, 0x83, 0x3c, + 0x9c, 0x8b, 0x16, 0xe5, 0xef, 0x4a, 0x73, 0x63, 0x9a, 0x25, 0xbf, 0x19, 0xfa, 0x11, 0x20, 0x07, + 0x07, 0xe4, 0xca, 0x12, 0x6e, 0x09, 0xe0, 0x98, 0x04, 0x7c, 0x35, 0x0f, 0xf0, 0x30, 0xf1, 0x52, + 0xb0, 0x0b, 0x4e, 0x47, 0x0f, 0x43, 0xef, 0xc3, 0x9c, 0xd4, 0x49, 0x03, 0x07, 0x07, 0x35, 0x4a, + 0x2f, 0xf5, 0x71, 0x09, 0xfc, 0x70, 0x90, 0xd2, 0x33, 0xe1, 0x50, 0xa1, 0xf4, 0x52, 0x4d, 0x7c, + 0x96, 0xc5, 0x9d, 0x02, 0x05, 0x35, 0x61, 0x29, 0x23, 0x3a, 0x45, 0xbf, 0x23, 0xd1, 0xf7, 0x86, + 0x93, 0xdd, 0xc9, 0xb1, 0xe8, 0xb4, 0x0f, 0x49, 0xa6, 0x23, 0x28, 0xd4, 0x2c, 0xd7, 0xf2, 0x6d, + 0xcc, 0xf4, 0x09, 0x89, 0xbe, 0x9b, 0x87, 0x5e, 0x89, 0x6c, 0x15, 0x62, 0xe2, 0x8a, 0x0c, 0x98, + 0x6a, 0x51, 0x46, 0x38, 0xa1, 0x3e, 0xd3, 0x27, 0x25, 0x4e, 0x79, 0x38, 0x95, 0xe7, 0xca, 0x4d, + 0x41, 0xa6, 0x30, 0x88, 0xc0, 0x3d, 0x16, 0xd6, 0x2c, 0xdb, 0xa6, 0xa1, 0xcf, 0x4d, 0x1e, 0x58, + 0x0e, 0x36, 0x7d, 0x2a, 0x95, 0x16, 0x24, 0xc3, 0xd7, 0x73, 0x57, 0x39, 0x71, 0x7d, 0x8f, 0xa6, + 0x8a, 0x97, 0x53, 0xc4, 0xaa, 0x00, 0x94, 0x63, 0x0c, 0xfd, 0x4a, 0x83, 0x1d, 0xfc, 0xbc, 0x45, + 0x82, 0x6b, 0xb3, 0x1e, 0xf2, 0x30, 0xc0, 0x4c, 0x9d, 0x14, 0x93, 0xf8, 0x75, 0x6a, 0x32, 0x71, + 0xac, 0xf5, 0x29, 0x49, 0xfa, 0xcd, 0x3c, 0xd2, 0x23, 0x89, 0x71, 0x1c, 0x41, 0x44, 0x87, 0xe4, + 0xc4, 0xaf, 0x53, 0x79, 0x2d, 0x94, 0x82, 0x0d, 0x9c, 0x63, 0x83, 0x08, 0x2c, 0xb7, 0x70, 0xd0, + 0xc2, 0x3c, 0xb4, 0xdc, 0xac, 0x04, 0x1d, 0x06, 0xef, 0xfc, 0x79, 0xec, 0x98, 0x82, 0xc6, 0x3b, + 0xdf, 0xea, 0x1e, 0x42, 0xbf, 0xd4, 0x60, 0xab, 0x8b, 0xab, 0x1e, 0xfa, 0x0e, 0xf1, 0x1b, 0x6a, + 0xc6, 0xd3, 0x92, 0xf4, 0x8d, 0x1b, 0x90, 0x1e, 0x47, 0xfe, 0xd9, 0x09, 0xaf, 0xb7, 0xfa, 0x9b, + 0xa0, 0x3f, 0x68, 0xf0, 0xa0, 0xeb, 0x7a, 0x9a, 0x0c, 0x73, 0xee, 0x62, 0x0f, 0xfb, 0xdc, 0x64, + 0x76, 0x13, 0x3b, 0xa1, 0x8b, 0x1d, 0x7d, 0x46, 0x8a, 0x79, 0xf3, 0x26, 0x57, 0xf6, 0x22, 0xc1, + 0xc9, 0x2c, 0xc6, 0xae, 0xd3, 0xd7, 0xea, 0x22, 0x26, 0x43, 0x6f, 0x80, 0x4e, 0x98, 0x29, 0xef, + 0x76, 0xcc, 0x62, 0x62, 0xdf, 0xaa, 0x09, 0x21, 0xb3, 0x3b, 0x5a, 0xa9, 0x60, 0x2c, 0x13, 0x26, + 0x2e, 0xf2, 0x91, 0x1a, 0x3d, 0x8a, 0x06, 0xd1, 0x11, 0x6c, 0x13, 0x66, 0xa6, 0x14, 0xac, 0xdb, + 0x7f, 0x4e, 0xfa, 0x6f, 0x10, 0x96, 0xca, 0x65, 0x9d, 0x30, 0x57, 0xb0, 0x21, 0x0e, 0xbc, 0xd8, + 0x8a, 0x00, 0x3f, 0xb3, 0x02, 0xc7, 0xb4, 0x2d, 0xaf, 0x65, 0x91, 0x86, 0x1f, 0x1d, 0x87, 0x79, + 0xf9, 0xb0, 0xbe, 0x9e, 0xb7, 0x18, 0xd5, 0xc8, 0xdf, 0x90, 0xee, 0x07, 0xca, 0x5b, 0xac, 0x83, + 0xb1, 0xca, 0xfb, 0x0d, 0xa1, 0x8f, 0x34, 0xf8, 0x4a, 0x07, 0x71, 0x8b, 0x52, 0x37, 0x65, 0x8f, + 0xf7, 0x43, 0xbf, 0x3b, 0xf8, 0x92, 0xc7, 0xc8, 0x11, 0xcf, 0x39, 0xa5, 0xae, 0x71, 0xbf, 0x8d, + 0x5a, 0x74, 0xc5, 0x46, 0xf1, 0xda, 0xa3, 0xdf, 0x6b, 0xf0, 0xa0, 0xdf, 0xdc, 0xe3, 0xc7, 0xa0, + 0x45, 0x89, 0xcf, 0x99, 0xbe, 0x20, 0x35, 0x7c, 0xf7, 0xc6, 0xab, 0xb0, 0x1f, 0xc1, 0x9c, 0x4b, + 0x14, 0xa3, 0xc8, 0x07, 0xda, 0x20, 0x1b, 0x96, 0xeb, 0x18, 0x9b, 0x0e, 0x61, 0x91, 0x80, 0x64, + 0x19, 0x90, 0xdc, 0x88, 0xdc, 0x7b, 0x79, 0x8c, 0xf1, 0xa1, 0xf2, 0x8b, 0x27, 0x69, 0x2c, 0xd6, + 0xbb, 0x3b, 0xd1, 0x33, 0xd8, 0x6c, 0x23, 0x49, 0x9e, 0x3e, 0x82, 0x03, 0x93, 0x73, 0x57, 0x5f, + 0x94, 0xf3, 0x7d, 0x7d, 0x48, 0x32, 0x35, 0x83, 0x2a, 0xc1, 0x41, 0xb5, 0x7a, 0x6a, 0xac, 0xd6, + 0x7b, 0x0f, 0x71, 0x17, 0xfd, 0x5a, 0x83, 0xdd, 0x36, 0xe6, 0x5a, 0x68, 0x8b, 0x7b, 0x78, 0x45, + 0xdd, 0xd0, 0xc3, 0xb1, 0x0e, 0xa6, 0x2f, 0x49, 0xfe, 0xb7, 0x86, 0xe4, 0xaf, 0x48, 0x90, 0xf7, + 0x25, 0x86, 0x22, 0x64, 0xc6, 0x76, 0x3d, 0xdf, 0x00, 0x7d, 0x1b, 0xd6, 0x09, 0x33, 0xeb, 0x24, + 0x60, 0xdc, 0x14, 0x9a, 0xec, 0x6b, 0xdb, 0xc5, 0x66, 0x9d, 0xf8, 0x84, 0x35, 0xb1, 0xa3, 0x2f, + 0xcb, 0xcb, 0x73, 0x8f, 0xb0, 0x63, 0x61, 0x71, 0x8c, 0xf1, 0x81, 0x18, 0x3f, 0x56, 0xc3, 0xe8, + 0x13, 0x0d, 0x1e, 0xb5, 0x70, 0xf4, 0x86, 0x0d, 0x77, 0x8e, 0x57, 0x6e, 0x75, 0x8e, 0x4b, 0x8a, + 0xa4, 0x3a, 0xf0, 0x38, 0xff, 0x45, 0x83, 0x72, 0x1f, 0x45, 0xfd, 0x8e, 0xf5, 0x3d, 0x29, 0xe9, + 0xe8, 0xd6, 0xc7, 0x3a, 0x62, 0x53, 0xa7, 0xfb, 0x61, 0x2f, 0xa5, 0xbd, 0x0f, 0xf9, 0xb7, 0x60, + 0x35, 0x52, 0xc6, 0x4c, 0xda, 0xe2, 0x26, 0x0d, 0xb9, 0x69, 0x39, 0x4e, 0x80, 0x19, 0xc3, 0x4c, + 0xd7, 0x77, 0xc6, 0x4a, 0x53, 0xc6, 0x8a, 0x32, 0x38, 0x6b, 0xf1, 0xb3, 0x90, 0xef, 0xc7, 0xa3, + 0xa8, 0x06, 0x7a, 0x93, 0x30, 0x4e, 0x03, 0x62, 0x5b, 0xae, 0x8a, 0xd5, 0x01, 0xb6, 0x69, 0xe0, + 0x30, 0x7d, 0x55, 0x4e, 0xa7, 0x34, 0x68, 0x3a, 0xd8, 0x88, 0xec, 0x8d, 0x95, 0x14, 0x29, 0xdb, + 0x8f, 0x30, 0xac, 0xd4, 0x88, 0x6f, 0x05, 0xd7, 0x42, 0x9d, 0xc8, 0x10, 0x92, 0x6c, 0x6e, 0x6d, + 0x70, 0x70, 0xac, 0x48, 0xcf, 0xb3, 0xc8, 0x51, 0x25, 0x74, 0x4b, 0xb5, 0xee, 0x4e, 0x86, 0x9a, + 0xf0, 0xa4, 0x27, 0x8d, 0x49, 0x1c, 0x96, 0x86, 0x23, 0xb3, 0x4e, 0x83, 0x4c, 0x9c, 0xd2, 0xd7, + 0xe5, 0xf2, 0xbc, 0xda, 0x03, 0xf1, 0xc4, 0x61, 0x49, 0x5c, 0x39, 0xa6, 0x41, 0x1a, 0x6d, 0x50, + 0x15, 0x4a, 0x99, 0x2c, 0xb7, 0x03, 0x9f, 0x53, 0x41, 0x61, 0x63, 0xd3, 0x76, 0x29, 0xc3, 0xfa, + 0x86, 0xc4, 0x2f, 0xa6, 0x99, 0x6d, 0x16, 0xb6, 0x4a, 0x8f, 0x85, 0xe9, 0x81, 0xb0, 0x14, 0x39, + 0xa9, 0x83, 0x7d, 0xea, 0x99, 0x0e, 0xb6, 0x89, 0x67, 0xb9, 0x4c, 0xdf, 0x1c, 0x9c, 0x93, 0x1e, + 0x0a, 0x8f, 0x43, 0xe5, 0x10, 0xe7, 0xa4, 0x4e, 0xb6, 0x53, 0xe4, 0x48, 0xf7, 0x6d, 0xea, 0x3b, + 0x32, 0x3b, 0xb3, 0x5c, 0xb3, 0x57, 0x82, 0xca, 0xf4, 0xad, 0xc1, 0x51, 0xfa, 0x20, 0x05, 0xe9, + 0x91, 0xac, 0x1a, 0xdb, 0x76, 0xdf, 0x71, 0x49, 0x21, 0xce, 0x41, 0x9c, 0xad, 0x60, 0x6c, 0x7a, + 0xa1, 0xcb, 0x49, 0xcb, 0x25, 0x38, 0x60, 0xfa, 0xf6, 0xe0, 0x73, 0xa0, 0x72, 0x10, 0x8c, 0xdf, + 0x4d, 0xfc, 0x8c, 0x25, 0xaf, 0xbb, 0x93, 0xa1, 0x9f, 0xc2, 0x62, 0x32, 0x2f, 0x93, 0xe1, 0x9f, + 0x85, 0x58, 0xa6, 0x9e, 0x3b, 0x92, 0xe3, 0x51, 0x1e, 0x47, 0xa2, 0xf5, 0x42, 0x79, 0x19, 0x88, + 0x76, 0x76, 0x31, 0xf4, 0x21, 0xa0, 0x4c, 0x7a, 0x1b, 0x3d, 0xb5, 0x4c, 0xbf, 0x3f, 0xf8, 0x89, + 0xdd, 0x6f, 0x34, 0x02, 0xdc, 0xb0, 0x38, 0x4e, 0x53, 0xdc, 0xe8, 0x0d, 0x8d, 0x2e, 0x8a, 0xb1, + 0xc0, 0x3a, 0xfa, 0x19, 0x3a, 0x83, 0x39, 0xb5, 0x64, 0x31, 0x4f, 0x71, 0xf0, 0xa5, 0x8c, 0x96, + 0x4a, 0x41, 0xcf, 0x7a, 0x99, 0x16, 0x43, 0x75, 0x58, 0x6a, 0x04, 0x96, 0x88, 0x51, 0x21, 0x6f, + 0xd2, 0x80, 0xfc, 0xdc, 0x8a, 0x52, 0xff, 0x5d, 0x09, 0xfb, 0x34, 0x37, 0x42, 0x84, 0xae, 0xfb, + 0x8e, 0xf0, 0xdd, 0x6f, 0x73, 0x35, 0x16, 0x1b, 0xdd, 0x9d, 0xe8, 0x1c, 0x66, 0x2d, 0x89, 0x63, + 0xca, 0x51, 0xa6, 0xbf, 0x32, 0x38, 0xf3, 0x17, 0x04, 0xfb, 0x72, 0x4c, 0xd2, 0x18, 0x33, 0x56, + 0xda, 0x60, 0xc5, 0x53, 0x58, 0xe8, 0xda, 0x1f, 0xb4, 0x06, 0x85, 0x78, 0x87, 0xe5, 0x37, 0xeb, + 0xb8, 0x91, 0xb4, 0xd1, 0x3a, 0x4c, 0x25, 0x17, 0x54, 0x1f, 0xdd, 0xd1, 0x4a, 0x53, 0x46, 0xc1, + 0x53, 0x57, 0xb0, 0xf8, 0x91, 0x06, 0xab, 0x7d, 0x43, 0x2e, 0xd2, 0x61, 0x52, 0x6d, 0x84, 0x44, + 0x9d, 0x32, 0xe2, 0x26, 0x3a, 0x81, 0x42, 0x12, 0xd5, 0x47, 0x65, 0x0a, 0x51, 0x1e, 0x32, 0xaa, + 0xc6, 0xe1, 0x7c, 0x92, 0x47, 0xc1, 0xbb, 0xf8, 0x57, 0x0d, 0xb6, 0x07, 0x44, 0x5d, 0xf4, 0x0d, + 0x58, 0x51, 0x21, 0x9d, 0x71, 0x2b, 0x10, 0x19, 0x85, 0x87, 0x19, 0xb7, 0xbc, 0x96, 0xd4, 0x35, + 0x66, 0x2c, 0x45, 0xa3, 0x17, 0x62, 0xb0, 0x1a, 0x8f, 0xa1, 0x73, 0x98, 0x6b, 0x3f, 0x9e, 0xea, + 0x3b, 0x3c, 0xf7, 0x25, 0xd9, 0x6f, 0x3b, 0x91, 0xb3, 0x6d, 0x07, 0xb1, 0x58, 0x87, 0xd9, 0xb6, + 0xf1, 0x9c, 0x15, 0x7a, 0x0b, 0x26, 0x12, 0x52, 0xad, 0x34, 0x55, 0xd9, 0x15, 0x6f, 0xd2, 0xbf, + 0xbf, 0xd8, 0x5e, 0xb7, 0x29, 0xf3, 0x28, 0x63, 0xce, 0x65, 0x99, 0xd0, 0x3d, 0xcf, 0xe2, 0xcd, + 0xf2, 0x29, 0x6e, 0x58, 0xf6, 0xf5, 0x21, 0xb6, 0x0d, 0xe5, 0x52, 0xfc, 0x05, 0x14, 0x87, 0x88, + 0x77, 0xb9, 0xe4, 0x2a, 0x16, 0xdf, 0x84, 0x3c, 0x72, 0x29, 0xfe, 0x53, 0x83, 0x87, 0x43, 0xc7, + 0x67, 0xf4, 0x1d, 0x58, 0xcf, 0x26, 0x28, 0xbd, 0xf7, 0x47, 0x0f, 0x92, 0x04, 0xa3, 0x63, 0x8f, + 0x70, 0xba, 0x47, 0x89, 0xe2, 0x2f, 0x23, 0x29, 0x8e, 0x37, 0x2e, 0x6a, 0x16, 0xff, 0xa8, 0xc1, + 0x6c, 0x5b, 0xdd, 0xa2, 0xfd, 0x5a, 0x68, 0xed, 0xd7, 0x02, 0x6d, 0xc0, 0x14, 0x61, 0x95, 0xf0, + 0xfa, 0x82, 0x38, 0xd1, 0xfe, 0x15, 0x8c, 0xb4, 0x03, 0x55, 0x60, 0x42, 0xbe, 0x87, 0x71, 0x19, + 0xe6, 0x6b, 0x83, 0xaa, 0x25, 0xa7, 0xc4, 0x23, 0x11, 0xb5, 0xa1, 0x3c, 0xdf, 0x2c, 0x7c, 0xfc, + 0xe9, 0xf6, 0xc8, 0x7f, 0x3f, 0xdd, 0x1e, 0x29, 0xfe, 0x59, 0x83, 0xc5, 0x1e, 0x71, 0xe4, 0xff, + 0x11, 0xf8, 0xfd, 0x0e, 0x81, 0xaf, 0x0d, 0xf7, 0xd1, 0x99, 0x2b, 0xf3, 0x1f, 0x63, 0xb0, 0x95, + 0x1f, 0xf9, 0xf2, 0x15, 0x7f, 0x00, 0x77, 0x5d, 0x81, 0x6f, 0xd6, 0xc2, 0x6b, 0x53, 0xa9, 0x1b, + 0xbd, 0xa5, 0xba, 0x39, 0x89, 0x54, 0x09, 0xaf, 0x65, 0x93, 0xa1, 0x9f, 0xc0, 0x82, 0x22, 0xce, + 0x80, 0x47, 0x53, 0x7f, 0x7c, 0x93, 0xef, 0xed, 0x08, 0x7d, 0x3e, 0xc2, 0x4a, 0xe1, 0x7f, 0x0c, + 0x0b, 0x91, 0x74, 0x86, 0x5d, 0x37, 0x86, 0x1f, 0xbf, 0xa5, 0xf6, 0x79, 0x09, 0x75, 0x81, 0x5d, + 0x57, 0xa1, 0x9b, 0x80, 0x92, 0xb2, 0x41, 0x0a, 0x7f, 0xe7, 0xb6, 0xea, 0xef, 0x7a, 0xaa, 0x28, + 0x10, 0x13, 0x64, 0xf6, 0xf0, 0x13, 0x0d, 0x26, 0x55, 0x05, 0x0c, 0xed, 0xc2, 0x6c, 0x26, 0x7c, + 0x27, 0x1b, 0x36, 0x93, 0x76, 0x9e, 0x38, 0x68, 0x09, 0xee, 0xc8, 0x24, 0x4a, 0xc5, 0x8d, 0xa8, + 0x81, 0xbe, 0x07, 0x05, 0x07, 0xcb, 0x3a, 0x97, 0x58, 0x65, 0x6d, 0x50, 0xcd, 0xed, 0x30, 0xb2, + 0x35, 0x12, 0xa7, 0x8c, 0xa2, 0x3f, 0x69, 0x80, 0xba, 0x6b, 0x69, 0xc3, 0x89, 0xcb, 0x0b, 0x6c, + 0xe8, 0x6d, 0x28, 0xc4, 0x95, 0x38, 0xa5, 0xf1, 0x95, 0xdc, 0x32, 0x90, 0xb2, 0x35, 0x12, 0xaf, + 0x8c, 0xc8, 0xbf, 0x6b, 0x30, 0xdf, 0x51, 0x8e, 0x1b, 0x4e, 0xa1, 0x0b, 0x2b, 0xbd, 0x2b, 0x80, + 0x2a, 0x66, 0xbe, 0x36, 0x5c, 0x01, 0x30, 0xad, 0xf4, 0xa9, 0xcc, 0x76, 0xa9, 0x57, 0x15, 0x30, + 0x23, 0xf8, 0x77, 0x1a, 0x6c, 0xe4, 0x95, 0xf2, 0xf2, 0x6f, 0x6a, 0x15, 0xa6, 0xb3, 0x95, 0xbb, + 0x48, 0xea, 0xd3, 0x5b, 0x94, 0x0d, 0x0d, 0xf0, 0x92, 0xdf, 0xc5, 0x8f, 0x35, 0x58, 0xcf, 0x29, + 0xb6, 0xe5, 0x4b, 0x3a, 0x85, 0x49, 0x55, 0xd9, 0x53, 0x72, 0x9e, 0xdc, 0xbc, 0xa6, 0x67, 0xc4, + 0x10, 0xc5, 0xdf, 0x8c, 0xc2, 0xbd, 0x3e, 0x59, 0x9c, 0x88, 0xa9, 0x32, 0x53, 0xc3, 0x41, 0x1c, + 0x53, 0x55, 0x13, 0xfd, 0x10, 0x10, 0xa7, 0xdc, 0x72, 0x4d, 0x95, 0x38, 0x7a, 0x32, 0xf0, 0x46, + 0xf1, 0x75, 0x53, 0xc5, 0xd7, 0xe5, 0xee, 0xf8, 0x7a, 0xe2, 0x73, 0xe3, 0xae, 0x74, 0x8c, 0xe8, + 0xa4, 0x1b, 0xda, 0x87, 0x4d, 0xd7, 0x62, 0xdc, 0x74, 0xb0, 0x2b, 0x52, 0x61, 0xf9, 0x99, 0x66, + 0x37, 0xb1, 0x7d, 0x29, 0xbe, 0x9c, 0x88, 0x87, 0xe5, 0x99, 0x1d, 0x33, 0xd6, 0x84, 0xd1, 0x61, + 0x6a, 0x73, 0x10, 0x99, 0x88, 0xf0, 0x89, 0x8e, 0x61, 0x42, 0xe5, 0x94, 0xe3, 0x83, 0x4b, 0x00, + 0xdd, 0x53, 0x35, 0x94, 0x77, 0xf1, 0x19, 0xcc, 0x77, 0x64, 0x9c, 0xe9, 0x22, 0xe0, 0xf6, 0x45, + 0xc0, 0xe8, 0x07, 0x30, 0x93, 0xcd, 0x67, 0xd5, 0x6e, 0x7c, 0x35, 0x3f, 0xa1, 0x4a, 0x53, 0xd9, + 0xe9, 0x4c, 0x2a, 0x5b, 0x69, 0x7e, 0xf6, 0x62, 0x4b, 0xfb, 0xfc, 0xc5, 0x96, 0xf6, 0x9f, 0x17, + 0x5b, 0xda, 0x6f, 0x5f, 0x6e, 0x8d, 0x7c, 0xfe, 0x72, 0x6b, 0xe4, 0x5f, 0x2f, 0xb7, 0x46, 0x3e, + 0x78, 0xaf, 0x41, 0x78, 0x33, 0xac, 0x95, 0x6d, 0xea, 0xed, 0x9d, 0xc4, 0xc8, 0xa7, 0x56, 0x8d, + 0xed, 0x25, 0x3c, 0x8f, 0x6c, 0x1a, 0xe0, 0x6c, 0xb3, 0x69, 0x11, 0x7f, 0xcf, 0xa3, 0xe2, 0x7b, + 0x92, 0xa5, 0x7f, 0x01, 0xf1, 0xeb, 0x16, 0x66, 0xb5, 0x09, 0xf9, 0x47, 0xcf, 0xd3, 0xff, 0x05, + 0x00, 0x00, 0xff, 0xff, 0xc7, 0x69, 0x9a, 0x25, 0x96, 0x1a, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { @@ -1180,6 +1323,38 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.ActiveGrants) > 0 { + for iNdEx := len(m.ActiveGrants) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ActiveGrants[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xa2 + } + } + if len(m.GrantAuthorizations) > 0 { + for iNdEx := len(m.GrantAuthorizations) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.GrantAuthorizations[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0x9a + } + } if len(m.MarketVolumes) > 0 { for iNdEx := len(m.MarketVolumes) - 1; iNdEx >= 0; iNdEx-- { { @@ -2319,6 +2494,107 @@ func (m *PerpetualMarketFundingState) MarshalToSizedBuffer(dAtA []byte) (int, er return len(dAtA) - i, nil } +func (m *FullGrantAuthorizations) 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 *FullGrantAuthorizations) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *FullGrantAuthorizations) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Grants) > 0 { + for iNdEx := len(m.Grants) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Grants[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + } + if m.LastDelegationsCheckedTime != 0 { + i = encodeVarintGenesis(dAtA, i, uint64(m.LastDelegationsCheckedTime)) + i-- + dAtA[i] = 0x18 + } + { + size := m.TotalGrantAmount.Size() + i -= size + if _, err := m.TotalGrantAmount.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Granter) > 0 { + i -= len(m.Granter) + copy(dAtA[i:], m.Granter) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.Granter))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *FullActiveGrant) 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 *FullActiveGrant) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *FullActiveGrant) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.ActiveGrant != nil { + { + size, err := m.ActiveGrant.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Grantee) > 0 { + i -= len(m.Grantee) + copy(dAtA[i:], m.Grantee) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.Grantee))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintGenesis(dAtA []byte, offset int, v uint64) int { offset -= sovGenesis(v) base := offset @@ -2523,6 +2799,18 @@ func (m *GenesisState) Size() (n int) { n += 2 + l + sovGenesis(uint64(l)) } } + if len(m.GrantAuthorizations) > 0 { + for _, e := range m.GrantAuthorizations { + l = e.Size() + n += 2 + l + sovGenesis(uint64(l)) + } + } + if len(m.ActiveGrants) > 0 { + for _, e := range m.ActiveGrants { + l = e.Size() + n += 2 + l + sovGenesis(uint64(l)) + } + } return n } @@ -2797,6 +3085,47 @@ func (m *PerpetualMarketFundingState) Size() (n int) { return n } +func (m *FullGrantAuthorizations) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Granter) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + l = m.TotalGrantAmount.Size() + n += 1 + l + sovGenesis(uint64(l)) + if m.LastDelegationsCheckedTime != 0 { + n += 1 + sovGenesis(uint64(m.LastDelegationsCheckedTime)) + } + if len(m.Grants) > 0 { + for _, e := range m.Grants { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + return n +} + +func (m *FullActiveGrant) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Grantee) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + if m.ActiveGrant != nil { + l = m.ActiveGrant.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + return n +} + func sovGenesis(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -3943,27 +4272,95 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipGenesis(dAtA[iNdEx:]) - if err != nil { - return err + case 35: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GrantAuthorizations", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { + 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 } - if (iNdEx + skippy) > l { + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { return io.ErrUnexpectedEOF } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} + m.GrantAuthorizations = append(m.GrantAuthorizations, &FullGrantAuthorizations{}) + if err := m.GrantAuthorizations[len(m.GrantAuthorizations)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 36: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ActiveGrants", 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 + } + m.ActiveGrants = append(m.ActiveGrants, &FullActiveGrant{}) + if err := m.ActiveGrants[len(m.ActiveGrants)-1].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 *OrderbookSequence) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -5762,6 +6159,293 @@ func (m *PerpetualMarketFundingState) Unmarshal(dAtA []byte) error { } return nil } +func (m *FullGrantAuthorizations) 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: FullGrantAuthorizations: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: FullGrantAuthorizations: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Granter", 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.Granter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalGrantAmount", 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 + } + if err := m.TotalGrantAmount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LastDelegationsCheckedTime", wireType) + } + m.LastDelegationsCheckedTime = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.LastDelegationsCheckedTime |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grants", 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 + } + m.Grants = append(m.Grants, &GrantAuthorization{}) + if err := m.Grants[len(m.Grants)-1].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 *FullActiveGrant) 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: FullActiveGrant: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: FullActiveGrant: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grantee", 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.Grantee = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ActiveGrant", 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 m.ActiveGrant == nil { + m.ActiveGrant = &ActiveGrant{} + } + if err := m.ActiveGrant.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 skipGenesis(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/exchange/types/key.go b/chain/exchange/types/key.go index 93af05d1..c4023835 100644 --- a/chain/exchange/types/key.go +++ b/chain/exchange/types/key.go @@ -6,6 +6,7 @@ import ( "math/big" "strings" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/ethereum/go-ethereum/common" "github.com/shopspring/decimal" @@ -110,6 +111,11 @@ var ( ConditionalOrderInvalidationFlagPrefix = []byte{0x78} // prefix for a key to save flags to invalidate conditional orders AtomicMarketOrderTakerFeeMultiplierKey = []byte{0x79} // key to store individual market atomic take fee multiplier + + GrantAuthorizationsPrefix = []byte{0x80} // prefix to store individual stake grants by (granter, grantee) + TotalGrantAmountPrefix = []byte{0x81} // prefix to store the total granted amount by granter + LastGranterDelegationCheckTimePrefix = []byte{0x82} // prefix to store the last timestamp that the granter's delegations were checked + ActiveGrantPrefix = []byte{0x83} // prefix to store the grantee's active grant ) func GetSubaccountCidKey(subaccountID common.Hash, cid string) []byte { @@ -271,12 +277,12 @@ func GetSubaccountOrderSuffix(marketID, subaccountID common.Hash, isBuy bool) [] return append(MarketSubaccountInfix(marketID, subaccountID), getBoolPrefix(isBuy)...) } -func GetSubaccountOrderKey(marketID, subaccountID common.Hash, isBuy bool, price sdk.Dec, orderHash common.Hash) []byte { +func GetSubaccountOrderKey(marketID, subaccountID common.Hash, isBuy bool, price math.LegacyDec, orderHash common.Hash) []byte { // TODO use copy for greater efficiency return append(append(GetSubaccountOrderPrefixByMarketSubaccountDirection(marketID, subaccountID, isBuy), []byte(GetPaddedPrice(price))...), orderHash.Bytes()...) } -func GetSubaccountOrderIterationKey(price sdk.Dec, orderHash common.Hash) []byte { +func GetSubaccountOrderIterationKey(price math.LegacyDec, orderHash common.Hash) []byte { return append([]byte(GetPaddedPrice(price)), orderHash.Bytes()...) } @@ -308,7 +314,7 @@ func GetDerivativeMarketTransientMarketsKey(marketID common.Hash, isBuy bool) [] return append(DerivativeMarketOrderIndicatorPrefix, MarketDirectionPrefix(marketID, isBuy)...) } -func GetPaddedPrice(price sdk.Dec) string { +func GetPaddedPrice(price math.LegacyDec) string { dec := decimal.NewFromBigInt(price.BigInt(), -18).StringFixed(PriceDecimalPlaces) return getPaddedPriceFromString(dec) } @@ -319,7 +325,7 @@ func getPaddedPriceFromString(price string) string { return fmt.Sprintf("%032s.%s", naturalPart, decimalPart) } -func GetPriceFromPaddedPrice(paddedPrice string) sdk.Dec { +func GetPriceFromPaddedPrice(paddedPrice string) math.LegacyDec { priceString := strings.Trim(paddedPrice, "0") // remove the "." if there's no decimal component priceString = strings.TrimSuffix(priceString, ".") @@ -327,10 +333,10 @@ func GetPriceFromPaddedPrice(paddedPrice string) sdk.Dec { if strings.HasPrefix(priceString, ".") { priceString = "0" + priceString } - return sdk.MustNewDecFromStr(priceString) + return math.LegacyMustNewDecFromStr(priceString) } -func GetLimitOrderByPriceKeyPrefix(marketID common.Hash, isBuy bool, price sdk.Dec, orderHash common.Hash) []byte { +func GetLimitOrderByPriceKeyPrefix(marketID common.Hash, isBuy bool, price math.LegacyDec, orderHash common.Hash) []byte { return GetOrderByPriceKeyPrefix(marketID, isBuy, price, orderHash) } @@ -368,7 +374,7 @@ func GetLimitOrderIndexAccountAddressPrefix(marketID common.Hash, isBuy bool, ac return append(MarketDirectionPrefix(marketID, isBuy), account.Bytes()...) } -func GetOrderByPriceKeyPrefix(marketID common.Hash, isBuy bool, price sdk.Dec, orderHash common.Hash) []byte { +func GetOrderByPriceKeyPrefix(marketID common.Hash, isBuy bool, price math.LegacyDec, orderHash common.Hash) []byte { return append(append(MarketDirectionPrefix(marketID, isBuy), []byte(GetPaddedPrice(price))...), orderHash.Bytes()...) } @@ -376,12 +382,12 @@ func GetOrderByStringPriceKeyPrefix(marketID common.Hash, isBuy bool, price stri return append(append(MarketDirectionPrefix(marketID, isBuy), []byte(getPaddedPriceFromString(price))...), orderHash.Bytes()...) } -func GetConditionalOrderByTriggerPriceKeyPrefix(marketID common.Hash, isHigher bool, triggerPrice sdk.Dec, orderHash common.Hash) []byte { +func GetConditionalOrderByTriggerPriceKeyPrefix(marketID common.Hash, isHigher bool, triggerPrice math.LegacyDec, orderHash common.Hash) []byte { return append(append(MarketDirectionPrefix(marketID, isHigher), []byte(GetPaddedPrice(triggerPrice))...), orderHash.Bytes()...) } // SpotMarketDirectionPriceHashPrefix turns a marketID + direction + price + order hash to prefix used to get a spot order from the store. -func SpotMarketDirectionPriceHashPrefix(marketID common.Hash, isBuy bool, price sdk.Dec, orderHash common.Hash) []byte { +func SpotMarketDirectionPriceHashPrefix(marketID common.Hash, isBuy bool, price math.LegacyDec, orderHash common.Hash) []byte { return append(append(MarketDirectionPrefix(marketID, isBuy), []byte(GetPaddedPrice(price))...), orderHash.Bytes()...) } @@ -517,12 +523,32 @@ func GetDenomDecimalsKey(denom string) []byte { func GetSpotOrderbookLevelsKey(marketID common.Hash, isBuy bool) []byte { return append(SpotOrderbookLevelsPrefix, MarketDirectionPrefix(marketID, isBuy)...) } -func GetSpotOrderbookLevelsForPriceKey(marketID common.Hash, isBuy bool, price sdk.Dec) []byte { +func GetSpotOrderbookLevelsForPriceKey(marketID common.Hash, isBuy bool, price math.LegacyDec) []byte { return append(GetSpotOrderbookLevelsKey(marketID, isBuy), GetPaddedPrice(price)...) } func GetDerivativeOrderbookLevelsKey(marketID common.Hash, isBuy bool) []byte { return append(DerivativeOrderbookLevelsPrefix, MarketDirectionPrefix(marketID, isBuy)...) } -func GetDerivativeOrderbookLevelsForPriceKey(marketID common.Hash, isBuy bool, price sdk.Dec) []byte { +func GetDerivativeOrderbookLevelsForPriceKey(marketID common.Hash, isBuy bool, price math.LegacyDec) []byte { return append(GetDerivativeOrderbookLevelsKey(marketID, isBuy), GetPaddedPrice(price)...) } + +func GetGrantAuthorizationKey(granter, grantee sdk.AccAddress) []byte { + return append(GrantAuthorizationsPrefix, append(granter.Bytes(), grantee.Bytes()...)...) +} + +func GetGrantAuthorizationIteratorPrefix(granter sdk.AccAddress) []byte { + return append(GrantAuthorizationsPrefix, granter.Bytes()...) +} + +func GetTotalGrantAmountKey(granter sdk.AccAddress) []byte { + return append(TotalGrantAmountPrefix, granter.Bytes()...) +} + +func GetActiveGrantKey(grantee sdk.AccAddress) []byte { + return append(ActiveGrantPrefix, grantee.Bytes()...) +} + +func GetLastValidGrantDelegationCheckTimeKey(granter sdk.AccAddress) []byte { + return append(LastGranterDelegationCheckTimePrefix, granter.Bytes()...) +} diff --git a/chain/exchange/types/market.go b/chain/exchange/types/market.go index e84d685f..bff7bb51 100644 --- a/chain/exchange/types/market.go +++ b/chain/exchange/types/market.go @@ -3,7 +3,7 @@ package types import ( "strconv" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/crypto" @@ -11,11 +11,11 @@ import ( peggytypes "github.com/InjectiveLabs/sdk-go/chain/peggy/types" ) -var BinaryOptionsMarketRefundFlagPrice = sdk.NewDec(-1) +var BinaryOptionsMarketRefundFlagPrice = math.LegacyNewDec(-1) type DerivativeMarketInfo struct { Market *DerivativeMarket - MarkPrice sdk.Dec + MarkPrice math.LegacyDec Funding *PerpetualMarketFunding } @@ -90,26 +90,30 @@ func (m *SpotMarket) GetMarketType() MarketType { return MarketType_Spot } -func (m *SpotMarket) GetMakerFeeRate() sdk.Dec { +func (m *SpotMarket) GetMakerFeeRate() math.LegacyDec { return m.MakerFeeRate } -func (m *SpotMarket) GetTakerFeeRate() sdk.Dec { +func (m *SpotMarket) GetTakerFeeRate() math.LegacyDec { return m.TakerFeeRate } -func (m *SpotMarket) GetRelayerFeeShareRate() sdk.Dec { +func (m *SpotMarket) GetRelayerFeeShareRate() math.LegacyDec { return m.RelayerFeeShareRate } -func (m *SpotMarket) GetMinPriceTickSize() sdk.Dec { +func (m *SpotMarket) GetMinPriceTickSize() math.LegacyDec { return m.MinPriceTickSize } -func (m *SpotMarket) GetMinQuantityTickSize() sdk.Dec { +func (m *SpotMarket) GetMinQuantityTickSize() math.LegacyDec { return m.MinQuantityTickSize } +func (m *SpotMarket) GetMinNotional() math.LegacyDec { + return m.MinNotional +} + func (m *SpotMarket) GetMarketStatus() MarketStatus { return m.Status } @@ -149,10 +153,14 @@ func (m *DerivativeMarket) IsInactive() bool { return !m.IsActive() } -func (m *DerivativeMarket) GetMinQuantityTickSize() sdk.Dec { +func (m *DerivativeMarket) GetMinQuantityTickSize() math.LegacyDec { return m.MinQuantityTickSize } +func (m *DerivativeMarket) GetMinNotional() math.LegacyDec { + return m.MinNotional +} + type MarketType byte // nolint:all @@ -163,6 +171,21 @@ const ( MarketType_BinaryOption ) +func (m MarketType) String() string { + switch m { + case MarketType_Spot: + return "spot" + case MarketType_Perpetual: + return "perpetual" + case MarketType_BinaryOption: + return "binary_option" + case MarketType_Expiry: + return "expiry" + default: + return "" + } +} + func (m MarketType) IsSpot() bool { return m == MarketType_Spot } @@ -187,23 +210,23 @@ func (m *DerivativeMarket) GetMarketType() MarketType { } } -func (m *DerivativeMarket) GetMakerFeeRate() sdk.Dec { +func (m *DerivativeMarket) GetMakerFeeRate() math.LegacyDec { return m.MakerFeeRate } -func (m *DerivativeMarket) GetTakerFeeRate() sdk.Dec { +func (m *DerivativeMarket) GetTakerFeeRate() math.LegacyDec { return m.TakerFeeRate } -func (m *DerivativeMarket) GetRelayerFeeShareRate() sdk.Dec { +func (m *DerivativeMarket) GetRelayerFeeShareRate() math.LegacyDec { return m.RelayerFeeShareRate } -func (m *DerivativeMarket) GetInitialMarginRatio() sdk.Dec { +func (m *DerivativeMarket) GetInitialMarginRatio() math.LegacyDec { return m.InitialMarginRatio } -func (m *DerivativeMarket) GetMinPriceTickSize() sdk.Dec { +func (m *DerivativeMarket) GetMinPriceTickSize() math.LegacyDec { return m.MinPriceTickSize } @@ -234,8 +257,8 @@ func (m *BinaryOptionsMarket) GetMarketType() MarketType { return MarketType_BinaryOption } -func (m *BinaryOptionsMarket) GetInitialMarginRatio() sdk.Dec { - return sdk.OneDec() +func (m *BinaryOptionsMarket) GetInitialMarginRatio() math.LegacyDec { + return math.LegacyOneDec() } func (m *BinaryOptionsMarket) IsInactive() bool { return !m.IsActive() @@ -249,14 +272,18 @@ func (m *BinaryOptionsMarket) MarketID() common.Hash { return common.HexToHash(m.MarketId) } -func (m *BinaryOptionsMarket) GetMinPriceTickSize() sdk.Dec { +func (m *BinaryOptionsMarket) GetMinPriceTickSize() math.LegacyDec { return m.MinPriceTickSize } -func (m *BinaryOptionsMarket) GetMinQuantityTickSize() sdk.Dec { +func (m *BinaryOptionsMarket) GetMinQuantityTickSize() math.LegacyDec { return m.MinQuantityTickSize } +func (m *BinaryOptionsMarket) GetMinNotional() math.LegacyDec { + return m.MinNotional +} + func (m *BinaryOptionsMarket) GetTicker() string { return m.Ticker } @@ -265,15 +292,15 @@ func (m *BinaryOptionsMarket) GetQuoteDenom() string { return m.QuoteDenom } -func (m *BinaryOptionsMarket) GetMakerFeeRate() sdk.Dec { +func (m *BinaryOptionsMarket) GetMakerFeeRate() math.LegacyDec { return m.MakerFeeRate } -func (m *BinaryOptionsMarket) GetTakerFeeRate() sdk.Dec { +func (m *BinaryOptionsMarket) GetTakerFeeRate() math.LegacyDec { return m.TakerFeeRate } -func (m *BinaryOptionsMarket) GetRelayerFeeShareRate() sdk.Dec { +func (m *BinaryOptionsMarket) GetRelayerFeeShareRate() math.LegacyDec { return m.RelayerFeeShareRate } diff --git a/chain/exchange/types/market_admin.go b/chain/exchange/types/market_admin.go new file mode 100644 index 00000000..8b3068d3 --- /dev/null +++ b/chain/exchange/types/market_admin.go @@ -0,0 +1,75 @@ +package types + +import "cosmossdk.io/errors" + +const ( + TickerPerm = 1 << iota + MinPriceTickSizePerm = 1 << iota + MinQuantityTickSizePerm = 1 << iota + MinNotionalPerm = 1 << iota + InitialMarginRationPerm = 1 << iota + MaintenanceMarginRationPerm = 1 << iota +) + +const MaxPerm = TickerPerm | MinPriceTickSizePerm | MinQuantityTickSizePerm | MinNotionalPerm | InitialMarginRationPerm | MaintenanceMarginRationPerm + +type MarketAdminPermissions int + +func (p MarketAdminPermissions) HasPerm(pp MarketAdminPermissions) bool { + return p&pp != 0 +} + +func (p MarketAdminPermissions) CheckSpotMarketPermissions(msg *MsgUpdateSpotMarket) error { + if msg.HasTickerUpdate() && !p.HasPerm(TickerPerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update market ticker") + } + + if msg.HasMinPriceTickSizeUpdate() && !p.HasPerm(MinPriceTickSizePerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update min_price_tick_size") + } + + if msg.HasMinQuantityTickSizeUpdate() && !p.HasPerm(MinQuantityTickSizePerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update market min_quantity_tick_size") + } + + if msg.HasMinNotionalUpdate() && !p.HasPerm(MinNotionalPerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update market min_notional") + } + + return nil +} + +func (p MarketAdminPermissions) CheckDerivativeMarketPermissions(msg *MsgUpdateDerivativeMarket) error { + if msg.HasTickerUpdate() && !p.HasPerm(TickerPerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update ticker") + } + + if msg.HasMinPriceTickSizeUpdate() && !p.HasPerm(MinPriceTickSizePerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update min_price_tick_size") + } + + if msg.HasMinQuantityTickSizeUpdate() && !p.HasPerm(MinQuantityTickSizePerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update min_quantity_tick_size") + } + + if msg.HasMinNotionalUpdate() && !p.HasPerm(MinNotionalPerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update market min_notional") + } + + if msg.HasInitialMarginRatioUpdate() && !p.HasPerm(InitialMarginRationPerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update initial_margin_ratio") + } + + if msg.HasMaintenanceMarginRatioUpdate() && !p.HasPerm(MaintenanceMarginRationPerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update maintenance_margin_ratio") + } + + return nil +} + +func EmptyAdminInfo() AdminInfo { + return AdminInfo{ + Admin: "", + AdminPermissions: 0, + } +} \ No newline at end of file diff --git a/chain/exchange/types/msgs.go b/chain/exchange/types/msgs.go index 84ae39e5..611ea661 100644 --- a/chain/exchange/types/msgs.go +++ b/chain/exchange/types/msgs.go @@ -5,15 +5,11 @@ import ( "encoding/json" "cosmossdk.io/errors" - sdksecp256k1 "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" + "cosmossdk.io/math" 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/migrations/legacytx" - "github.com/cosmos/cosmos-sdk/x/auth/signing" "github.com/ethereum/go-ethereum/common" - "github.com/InjectiveLabs/sdk-go/chain/crypto/ethsecp256k1" oracletypes "github.com/InjectiveLabs/sdk-go/chain/oracle/types" wasmxtypes "github.com/InjectiveLabs/sdk-go/chain/wasmx/types" ) @@ -50,8 +46,9 @@ var ( _ sdk.Msg = &MsgCancelBinaryOptionsOrder{} _ sdk.Msg = &MsgAdminUpdateBinaryOptionsMarket{} _ sdk.Msg = &MsgBatchCancelBinaryOptionsOrders{} - _ sdk.Msg = &MsgReclaimLockedFunds{} _ sdk.Msg = &MsgUpdateParams{} + _ sdk.Msg = &MsgUpdateSpotMarket{} + _ sdk.Msg = &MsgUpdateDerivativeMarket{} ) // exchange message types @@ -71,6 +68,7 @@ const ( TypeMsgSubaccountTransfer = "subaccountTransfer" TypeMsgExternalTransfer = "externalTransfer" TypeMsgIncreasePositionMargin = "increasePositionMargin" + TypeMsgDecreasePositionMargin = "decreasePositionMargin" TypeMsgLiquidatePosition = "liquidatePosition" TypeMsgEmergencySettleMarket = "emergencySettleMarket" TypeMsgInstantSpotMarketLaunch = "instantSpotMarketLaunch" @@ -85,8 +83,11 @@ const ( TypeMsgCancelBinaryOptionsOrder = "cancelBinaryOptionsOrder" TypeMsgAdminUpdateBinaryOptionsMarket = "adminUpdateBinaryOptionsMarket" TypeMsgBatchCancelBinaryOptionsOrders = "batchCancelBinaryOptionsOrders" - TypeMsgReclaimLockedFunds = "reclaimLockedFunds" TypeMsgUpdateParams = "updateParams" + TypeMsgUpdateSpotMarket = "updateSpotMarket" + TypeMsgUpdateDerivativeMarket = "updateDerivativeMarket" + TypeMsgAuthorizeStakeGrants = "authorizeStakeGrant" + TypeMsgActivateStakeGrant = "acceptStakeGrant" ) func (msg MsgUpdateParams) Route() string { return RouterKey } @@ -114,6 +115,184 @@ func (msg MsgUpdateParams) GetSigners() []sdk.AccAddress { return []sdk.AccAddress{addr} } +func (msg *MsgUpdateSpotMarket) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Admin); err != nil { + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Admin) + } + + if !IsHexHash(msg.MarketId) { + return errors.Wrap(ErrMarketInvalid, msg.MarketId) + } + + hasNoUpdate := !msg.HasTickerUpdate() && + !msg.HasMinPriceTickSizeUpdate() && + !msg.HasMinQuantityTickSizeUpdate() && + !msg.HasMinNotionalUpdate() + + if hasNoUpdate { + return errors.Wrap(ErrBadField, "no update value present") + } + + if len(msg.NewTicker) > MaxTickerLength { + return errors.Wrapf(ErrInvalidTicker, "ticker should not exceed %d characters", MaxTickerLength) + } + + if msg.HasMinPriceTickSizeUpdate() { + if err := ValidateTickSize(msg.NewMinPriceTickSize); err != nil { + return errors.Wrap(ErrInvalidPriceTickSize, err.Error()) + } + } + + if msg.HasMinQuantityTickSizeUpdate() { + if err := ValidateTickSize(msg.NewMinQuantityTickSize); err != nil { + return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) + } + } + + if msg.HasMinNotionalUpdate() { + if err := ValidateMinNotional(msg.NewMinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } + } + + return nil +} + +func (msg *MsgUpdateSpotMarket) GetSigners() []sdk.AccAddress { + return []sdk.AccAddress{sdk.MustAccAddressFromBech32(msg.Admin)} +} + +func (msg *MsgUpdateSpotMarket) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) +} + +func (msg *MsgUpdateSpotMarket) Route() string { + return RouterKey +} + +func (msg *MsgUpdateSpotMarket) Type() string { + return TypeMsgUpdateSpotMarket +} + +func (msg *MsgUpdateSpotMarket) HasTickerUpdate() bool { + return msg.NewTicker != "" +} + +func (msg *MsgUpdateSpotMarket) HasMinPriceTickSizeUpdate() bool { + return !msg.NewMinPriceTickSize.IsNil() && !msg.NewMinPriceTickSize.IsZero() +} + +func (msg *MsgUpdateSpotMarket) HasMinQuantityTickSizeUpdate() bool { + return !msg.NewMinQuantityTickSize.IsNil() && !msg.NewMinQuantityTickSize.IsZero() +} + +func (msg *MsgUpdateSpotMarket) HasMinNotionalUpdate() bool { + return !msg.NewMinNotional.IsNil() && !msg.NewMinNotional.IsZero() +} + +func (msg *MsgUpdateDerivativeMarket) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Admin); err != nil { + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Admin) + } + + if !IsHexHash(msg.MarketId) { + return errors.Wrap(ErrMarketInvalid, msg.MarketId) + } + + hasNoUpdate := !msg.HasTickerUpdate() && + !msg.HasMinPriceTickSizeUpdate() && + !msg.HasMinNotionalUpdate() && + !msg.HasMinQuantityTickSizeUpdate() && + !msg.HasInitialMarginRatioUpdate() && + !msg.HasMaintenanceMarginRatioUpdate() + + if hasNoUpdate { + return errors.Wrap(ErrBadField, "no update value present") + } + + if len(msg.NewTicker) > MaxTickerLength { + return errors.Wrapf(ErrInvalidTicker, "ticker should not exceed %d characters", MaxTickerLength) + } + + if msg.HasMinPriceTickSizeUpdate() { + if err := ValidateTickSize(msg.NewMinPriceTickSize); err != nil { + return errors.Wrap(ErrInvalidPriceTickSize, err.Error()) + } + } + + if msg.HasMinQuantityTickSizeUpdate() { + if err := ValidateTickSize(msg.NewMinQuantityTickSize); err != nil { + return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) + } + } + + if msg.HasMinNotionalUpdate() { + if err := ValidateMinNotional(msg.NewMinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } + } + + if msg.HasInitialMarginRatioUpdate() { + if err := ValidateMarginRatio(msg.NewInitialMarginRatio); err != nil { + return err + } + } + + if msg.HasMaintenanceMarginRatioUpdate() { + if err := ValidateMarginRatio(msg.NewMaintenanceMarginRatio); err != nil { + return err + } + } + + if msg.HasInitialMarginRatioUpdate() && msg.HasMaintenanceMarginRatioUpdate() { + if msg.NewInitialMarginRatio.LT(msg.NewMaintenanceMarginRatio) { + return ErrMarginsRelation + } + } + + return nil +} + +func (msg *MsgUpdateDerivativeMarket) GetSigners() []sdk.AccAddress { + return []sdk.AccAddress{sdk.MustAccAddressFromBech32(msg.Admin)} +} + +func (msg *MsgUpdateDerivativeMarket) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) +} + +func (msg *MsgUpdateDerivativeMarket) Route() string { + return RouterKey +} + +func (msg *MsgUpdateDerivativeMarket) Type() string { + return TypeMsgUpdateDerivativeMarket +} + +func (msg *MsgUpdateDerivativeMarket) HasTickerUpdate() bool { + return msg.NewTicker != "" +} + +func (msg *MsgUpdateDerivativeMarket) HasMinPriceTickSizeUpdate() bool { + return !msg.NewMinPriceTickSize.IsNil() && !msg.NewMinPriceTickSize.IsZero() +} + +func (msg *MsgUpdateDerivativeMarket) HasMinQuantityTickSizeUpdate() bool { + return !msg.NewMinQuantityTickSize.IsNil() && !msg.NewMinQuantityTickSize.IsZero() +} + +func (msg *MsgUpdateDerivativeMarket) HasInitialMarginRatioUpdate() bool { + return !msg.NewInitialMarginRatio.IsNil() && !msg.NewInitialMarginRatio.IsZero() +} + +func (msg *MsgUpdateDerivativeMarket) HasMaintenanceMarginRatioUpdate() bool { + return !msg.NewMaintenanceMarginRatio.IsNil() && !msg.NewMaintenanceMarginRatio.IsZero() +} + +func (msg *MsgUpdateDerivativeMarket) HasMinNotionalUpdate() bool { + return !msg.NewMinNotional.IsNil() && !msg.NewMinNotional.IsZero() +} + func (o *SpotOrder) ValidateBasic(senderAddr sdk.AccAddress) error { if !IsHexHash(o.MarketId) { return errors.Wrap(ErrMarketInvalid, o.MarketId) @@ -148,19 +327,19 @@ func (o *OrderInfo) ValidateBasic(senderAddr sdk.AccAddress, hasBinaryPriceBand, return errors.Wrap(ErrInvalidCid, o.Cid) } - if o.Quantity.IsNil() || o.Quantity.LTE(sdk.ZeroDec()) || o.Quantity.GT(MaxOrderQuantity) { + if o.Quantity.IsNil() || o.Quantity.LTE(math.LegacyZeroDec()) || o.Quantity.GT(MaxOrderQuantity) { return errors.Wrap(ErrInvalidQuantity, o.Quantity.String()) } if hasBinaryPriceBand { - // o.Price.GT(MaxOrderPrice) is correct (as opposed to o.Price.GT(sdk.OneDec())), because the price here is scaled + // o.Price.GT(MaxOrderPrice) is correct (as opposed to o.Price.GT(math.LegacyOneDec())), because the price here is scaled // 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) { + if o.Price.IsNil() || o.Price.LT(math.LegacyZeroDec()) || o.Price.GT(MaxOrderPrice) { return errors.Wrap(ErrInvalidPrice, o.Price.String()) } } else { - if o.Price.IsNil() || o.Price.LTE(sdk.ZeroDec()) || o.Price.GT(MaxOrderPrice) { + if o.Price.IsNil() || o.Price.LTE(math.LegacyZeroDec()) || o.Price.GT(MaxOrderPrice) { return errors.Wrap(ErrInvalidPrice, o.Price.String()) } } @@ -184,8 +363,8 @@ func (o *DerivativeOrder) ValidateBasic(senderAddr sdk.AccAddress, hasBinaryPric return errors.Wrap(ErrUnrecognizedOrderType, string(o.OrderType)) } - if o.Margin.IsNil() || o.Margin.LT(sdk.ZeroDec()) { - return errors.Wrap(ErrInsufficientOrderMargin, o.Margin.String()) + if o.Margin.IsNil() || o.Margin.LT(math.LegacyZeroDec()) { + return errors.Wrap(ErrInsufficientMargin, o.Margin.String()) } if o.Margin.GT(MaxOrderMargin) { @@ -360,7 +539,7 @@ func (msg MsgInstantSpotMarketLaunch) ValidateBasic() error { return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.Ticker == "" || len(msg.Ticker) > MaxTickerLength { - return errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrapf(ErrInvalidTicker, "ticker should not be empty or exceed %d characters", MaxTickerLength) } if msg.BaseDenom == "" { return errors.Wrap(ErrInvalidBaseDenom, "base denom should not be empty") @@ -378,6 +557,9 @@ func (msg MsgInstantSpotMarketLaunch) ValidateBasic() error { if err := ValidateTickSize(msg.MinQuantityTickSize); err != nil { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } + if err := ValidateMinNotional(msg.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } return nil } @@ -409,7 +591,7 @@ func (msg MsgInstantPerpetualMarketLaunch) ValidateBasic() error { return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.Ticker == "" || len(msg.Ticker) > MaxTickerLength { - return errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrapf(ErrInvalidTicker, "ticker should not be empty or exceed %d characters", MaxTickerLength) } if msg.QuoteDenom == "" { return errors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") @@ -442,6 +624,9 @@ func (msg MsgInstantPerpetualMarketLaunch) ValidateBasic() error { if err := ValidateTickSize(msg.MinQuantityTickSize); err != nil { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } + if err := ValidateMinNotional(msg.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } return nil } @@ -475,7 +660,7 @@ func (msg MsgInstantBinaryOptionsMarketLaunch) ValidateBasic() error { return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.Ticker == "" || len(msg.Ticker) > MaxTickerLength { - return errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrapf(ErrInvalidTicker, "ticker should not be empty or exceed %d characters", MaxTickerLength) } if msg.OracleSymbol == "" { return errors.Wrap(ErrInvalidOracle, "oracle symbol should not be empty") @@ -516,6 +701,9 @@ func (msg MsgInstantBinaryOptionsMarketLaunch) ValidateBasic() error { if err := ValidateTickSize(msg.MinQuantityTickSize); err != nil { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } + if err := ValidateMinNotional(msg.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } return nil } @@ -549,7 +737,7 @@ func (msg MsgInstantExpiryFuturesMarketLaunch) ValidateBasic() error { return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.Ticker == "" || len(msg.Ticker) > MaxTickerLength { - return errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrapf(ErrInvalidTicker, "ticker should not be empty or exceed %d characters", MaxTickerLength) } if msg.QuoteDenom == "" { return errors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") @@ -586,6 +774,9 @@ func (msg MsgInstantExpiryFuturesMarketLaunch) ValidateBasic() error { if err := ValidateTickSize(msg.MinQuantityTickSize); err != nil { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } + if err := ValidateMinNotional(msg.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } return nil } @@ -831,7 +1022,7 @@ func NewMsgCreateBinaryOptionsLimitOrder( market *BinaryOptionsMarket, subaccountID string, feeRecipient string, - price, quantity sdk.Dec, + price, quantity math.LegacyDec, orderType OrderType, isReduceOnly bool, ) *MsgCreateBinaryOptionsLimitOrder { @@ -976,7 +1167,7 @@ func NewMsgCreateBinaryOptionsMarketOrder( market *BinaryOptionsMarket, subaccountID string, feeRecipient string, - price, quantity sdk.Dec, + price, quantity math.LegacyDec, orderType OrderType, isReduceOnly bool, ) *MsgCreateBinaryOptionsMarketOrder { @@ -1309,8 +1500,7 @@ func (msg *MsgExternalTransfer) ValidateBasic() error { return errors.Wrap(ErrBadSubaccountID, msg.SourceSubaccountId) } - _, ok := IsValidSubaccountID(msg.DestinationSubaccountId) - if !ok || IsDefaultSubaccountID(common.HexToHash(msg.DestinationSubaccountId)) { + if _, ok := IsValidSubaccountID(msg.DestinationSubaccountId); !ok { return errors.Wrap(ErrBadSubaccountID, msg.DestinationSubaccountId) } @@ -1382,6 +1572,54 @@ func (msg *MsgIncreasePositionMargin) GetSigners() []sdk.AccAddress { return []sdk.AccAddress{sender} } +func (msg *MsgDecreasePositionMargin) Route() string { + return RouterKey +} + +func (msg *MsgDecreasePositionMargin) Type() string { + return TypeMsgDecreasePositionMargin +} + +func (msg *MsgDecreasePositionMargin) ValidateBasic() error { + senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) + if err != nil { + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + } + + if !IsHexHash(msg.MarketId) { + return errors.Wrap(ErrMarketInvalid, msg.MarketId) + } + + if !msg.Amount.IsPositive() { + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) + } + + if msg.Amount.GT(MaxOrderMargin) { + return errors.Wrap(ErrTooMuchOrderMargin, msg.Amount.String()) + } + + if err := CheckValidSubaccountIDOrNonce(senderAddr, msg.SourceSubaccountId); err != nil { + return err + } + if err := CheckValidSubaccountIDOrNonce(senderAddr, msg.DestinationSubaccountId); err != nil { + return err + } + + return nil +} + +func (msg *MsgDecreasePositionMargin) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) +} + +func (msg *MsgDecreasePositionMargin) GetSigners() []sdk.AccAddress { + sender, err := sdk.AccAddressFromBech32(msg.Sender) + if err != nil { + panic(err) + } + return []sdk.AccAddress{sender} +} + func (msg *MsgPrivilegedExecuteContract) Route() string { return RouterKey } @@ -1588,17 +1826,17 @@ func (msg MsgBatchUpdateOrders) ValidateBasic() error { return err } - hasDuplicateSpotMarketIds := HasDuplicatesHexHash(msg.SpotMarketIdsToCancelAll) - if hasDuplicateSpotMarketIds { + hasDuplicateSpotMarketIDs := HasDuplicatesHexHash(msg.SpotMarketIdsToCancelAll) + if hasDuplicateSpotMarketIDs { return errors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains duplicate cancel all spot market ids") } - hasDuplicateDerivativesMarketIds := HasDuplicatesHexHash(msg.DerivativeMarketIdsToCancelAll) - if hasDuplicateDerivativesMarketIds { + hasDuplicateDerivativesMarketIDs := HasDuplicatesHexHash(msg.DerivativeMarketIdsToCancelAll) + if hasDuplicateDerivativesMarketIDs { return errors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains duplicate cancel all derivative market ids") } - hasDuplicateBinaryOptionsMarketIds := HasDuplicatesHexHash(msg.BinaryOptionsMarketIdsToCancelAll) - if hasDuplicateBinaryOptionsMarketIds { + hasDuplicateBinaryOptionsMarketIDs := HasDuplicatesHexHash(msg.BinaryOptionsMarketIdsToCancelAll) + if hasDuplicateBinaryOptionsMarketIDs { return errors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains duplicate cancel all binary options market ids") } } @@ -1769,7 +2007,7 @@ func (msg *MsgAdminUpdateBinaryOptionsMarket) ValidateBasic() error { msg.SettlementPrice.IsNil(): // ok case msg.SettlementPrice.Equal(BinaryOptionsMarketRefundFlagPrice), - msg.SettlementPrice.GTE(sdk.ZeroDec()) && msg.SettlementPrice.LTE(MaxBinaryOptionsOrderPrice): + msg.SettlementPrice.GTE(math.LegacyZeroDec()) && msg.SettlementPrice.LTE(MaxBinaryOptionsOrderPrice): if msg.Status != MarketStatus_Demolished { return errors.Wrapf(ErrInvalidMarketStatus, "status should be set to demolished when the settlement price is set, status: %s", msg.Status.String()) } @@ -1801,97 +2039,31 @@ func (msg *MsgAdminUpdateBinaryOptionsMarket) GetSigners() []sdk.AccAddress { return []sdk.AccAddress{sender} } -func (msg *MsgReclaimLockedFunds) Route() string { - return RouterKey -} +func (msg *MsgAuthorizeStakeGrants) Route() string { return RouterKey } -func (msg *MsgReclaimLockedFunds) Type() string { - return TypeMsgReclaimLockedFunds -} +func (msg *MsgAuthorizeStakeGrants) Type() string { return TypeMsgAuthorizeStakeGrants } -func (msg *MsgReclaimLockedFunds) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Sender) - if err != nil { +func (msg *MsgAuthorizeStakeGrants) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { 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 errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) - // } - - lockedPubKey := sdksecp256k1.PubKey{ - Key: msg.LockedAccountPubKey, - } - correctPubKey := ethsecp256k1.PubKey{ - Key: msg.LockedAccountPubKey, - } - lockedAddress := sdk.AccAddress(lockedPubKey.Address()) - recipientAddress := sdk.AccAddress(correctPubKey.Address()) - - data := ConstructFundsReclaimMessage( - recipientAddress, - lockedAddress, - ) - - msgSignData := MsgSignData{ - Signer: lockedAddress.Bytes(), - Data: data, - } - - if err := msgSignData.ValidateBasic(); err != nil { - return nil - } - - tx := legacytx.NewStdTx( - []sdk.Msg{&MsgSignDoc{ - SignType: "sign/MsgSignData", - Value: msgSignData, - }}, - legacytx.StdFee{ - Amount: sdk.Coins{}, - Gas: 0, - }, - //nolint:staticcheck // we know it's deprecated and we think it's okay - []legacytx.StdSignature{ - { - PubKey: &lockedPubKey, - Signature: msg.Signature, - }, - }, - "", - ) - - if err := tx.ValidateBasic(); err != nil { - return err - } - - aminoJSONHandler := legacytx.NewStdTxSignModeHandler() + for idx := range msg.Grants { + grant := msg.Grants[idx] - signingData := signing.SignerData{ - ChainID: "", - AccountNumber: 0, - Sequence: 0, - } + if _, err := sdk.AccAddressFromBech32(grant.Grantee); err != nil { + return errors.Wrap(sdkerrors.ErrInvalidAddress, grant.Grantee) + } - signBz, err := aminoJSONHandler.GetSignBytes(signingtypes.SignMode_SIGN_MODE_LEGACY_AMINO_JSON, signingData, tx) - if err != nil { - return err - } + if grant.Amount.IsNegative() || grant.Amount.GT(MaxTokenInt) { + return errors.Wrap(ErrInvalidStakeGrant, grant.Amount.String()) - if !lockedPubKey.VerifySignature(signBz, tx.GetSignatures()[0]) { - 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 } -func (msg *MsgReclaimLockedFunds) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) -} - -func (msg *MsgReclaimLockedFunds) GetSigners() []sdk.AccAddress { +func (msg *MsgAuthorizeStakeGrants) GetSigners() []sdk.AccAddress { sender, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { panic(err) @@ -1899,54 +2071,34 @@ func (msg *MsgReclaimLockedFunds) GetSigners() []sdk.AccAddress { return []sdk.AccAddress{sender} } -// / Skeleton sdk.Msg interface implementation -var _ sdk.Msg = &MsgSignData{} -var _ legacytx.LegacyMsg = &MsgSignData{} - -func (msg *MsgSignData) ValidateBasic() error { - if msg.Signer.Empty() { - return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Signer.String()) - } - - return nil +// GetSignBytes implements the sdk.Msg interface. It encodes the message for signing +func (msg *MsgAuthorizeStakeGrants) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) } -func (msg *MsgSignData) GetSigners() []sdk.AccAddress { - return []sdk.AccAddress{msg.Signer} -} +func (msg *MsgActivateStakeGrant) Route() string { return RouterKey } -func (m *MsgSignData) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(m)) -} +func (msg *MsgActivateStakeGrant) Type() string { return TypeMsgActivateStakeGrant } -func (m *MsgSignData) Route() string { - return RouterKey -} - -func (m *MsgSignData) Type() string { - return "signData" -} - -// / Skeleton sdk.Msg interface implementation -var _ sdk.Msg = &MsgSignDoc{} -var _ legacytx.LegacyMsg = &MsgSignDoc{} +func (msg *MsgActivateStakeGrant) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + } -func (msg *MsgSignDoc) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Granter); err != nil { + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Granter) + } return nil } -func (msg *MsgSignDoc) GetSigners() []sdk.AccAddress { - return msg.Value.GetSigners() -} - -func (m *MsgSignDoc) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(m)) -} - -func (m *MsgSignDoc) Route() string { - return RouterKey +func (msg *MsgActivateStakeGrant) GetSigners() []sdk.AccAddress { + sender, err := sdk.AccAddressFromBech32(msg.Sender) + if err != nil { + panic(err) + } + return []sdk.AccAddress{sender} } -func (m *MsgSignDoc) Type() string { - return "signDoc" +func (msg *MsgActivateStakeGrant) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) } diff --git a/chain/exchange/types/orderbook.go b/chain/exchange/types/orderbook.go index 00daf561..62b59125 100644 --- a/chain/exchange/types/orderbook.go +++ b/chain/exchange/types/orderbook.go @@ -5,7 +5,7 @@ import ( "sort" "strings" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" "github.com/ethereum/go-ethereum/common" "github.com/olekukonko/tablewriter" ) @@ -45,7 +45,7 @@ func (o *Orderbook) IsCrossed() bool { return false } - lowestSellPrice := sdk.ZeroDec() + lowestSellPrice := math.LegacyZeroDec() isQuantityAllZero := true @@ -126,7 +126,7 @@ func (o *Orderbook) Equals(other *Orderbook) bool { } // getReadableDec is a test utility function to return a readable representation of decimal strings -func getReadableDec(d sdk.Dec) string { +func getReadableDec(d math.LegacyDec) string { if d.IsNil() { return d.String() } @@ -141,17 +141,17 @@ func getReadableDec(d sdk.Dec) string { return dec } -func NewLevel(price, quantity sdk.Dec) *Level { +func NewLevel(price, quantity math.LegacyDec) *Level { return &Level{ P: price, Q: quantity, } } -func (l *Level) GetPrice() sdk.Dec { +func (l *Level) GetPrice() math.LegacyDec { return l.P } -func (l *Level) GetQuantity() sdk.Dec { +func (l *Level) GetQuantity() math.LegacyDec { return l.Q } diff --git a/chain/exchange/types/params.go b/chain/exchange/types/params.go index f5a45be8..51e03d31 100644 --- a/chain/exchange/types/params.go +++ b/chain/exchange/types/params.go @@ -3,7 +3,7 @@ package types import ( "fmt" - sdkmath "cosmossdk.io/math" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" ) @@ -42,23 +42,29 @@ const ( // MaxSubaccountNonceLength restricts the size of a subaccount number from 0 to 999 MaxSubaccountNonceLength = 3 + + // MaxGranterDelegations is the maximum number of delegations that are checked for stake granter + MaxGranterDelegations = 25 ) -var MaxBinaryOptionsOrderPrice = sdk.OneDec() +var MaxBinaryOptionsOrderPrice = math.LegacyOneDec() // would be $0.000001 for USDT -var MinDerivativeOrderPrice = sdk.OneDec() +var MinDerivativeOrderPrice = math.LegacyOneDec() // MaxOrderPrice equals 10^32 -var MaxOrderPrice = sdk.MustNewDecFromStr("100000000000000000000000000000000") +var MaxOrderPrice = math.LegacyMustNewDecFromStr("100000000000000000000000000000000") // MaxOrderMargin equals 10^32 -var MaxOrderMargin = sdk.MustNewDecFromStr("100000000000000000000000000000000") +var MaxOrderMargin = math.LegacyMustNewDecFromStr("100000000000000000000000000000000") + +// MaxTokenInt equals 100,000,000 * 10^18 +var MaxTokenInt, _ = math.NewIntFromString("100000000000000000000000000") -var MaxOrderQuantity = sdk.MustNewDecFromStr("100000000000000000000000000000000") -var MaxFeeMultiplier = sdk.MustNewDecFromStr("100") +var MaxOrderQuantity = math.LegacyMustNewDecFromStr("100000000000000000000000000000000") +var MaxFeeMultiplier = math.LegacyMustNewDecFromStr("100") -var minMarginRatio = sdk.NewDecWithPrec(5, 3) +var minMarginRatio = math.LegacyNewDecWithPrec(5, 3) // Parameter keys var ( @@ -98,27 +104,27 @@ func ParamKeyTable() paramtypes.KeyTable { func NewParams( spotMarketInstantListingFee sdk.Coin, derivativeMarketInstantListingFee sdk.Coin, - defaultSpotMakerFee sdk.Dec, - defaultSpotTakerFee sdk.Dec, - defaultDerivativeMakerFee sdk.Dec, - defaultDerivativeTakerFee sdk.Dec, - defaultInitialMarginRatio sdk.Dec, - defaultMaintenanceMarginRatio sdk.Dec, + defaultSpotMakerFee math.LegacyDec, + defaultSpotTakerFee math.LegacyDec, + defaultDerivativeMakerFee math.LegacyDec, + defaultDerivativeTakerFee math.LegacyDec, + defaultInitialMarginRatio math.LegacyDec, + defaultMaintenanceMarginRatio math.LegacyDec, defaultFundingInterval int64, fundingMultiple int64, - relayerFeeShare sdk.Dec, - defaultHourlyFundingRateCap sdk.Dec, - defaultHourlyInterestRate sdk.Dec, + relayerFeeShare math.LegacyDec, + defaultHourlyFundingRateCap math.LegacyDec, + defaultHourlyInterestRate math.LegacyDec, maxDerivativeSideOrderCount uint32, - injRewardStakedRequirementThreshold sdkmath.Int, + injRewardStakedRequirementThreshold math.Int, tradingRewardsVestingDuration int64, - liquidatorRewardShareRate sdk.Dec, + liquidatorRewardShareRate math.LegacyDec, binaryOptionsMarketInstantListingFee sdk.Coin, atomicMarketOrderAccessLevel AtomicMarketOrderAccessLevel, - spotAtomicMarketOrderFeeMultiplier sdk.Dec, - derivativeAtomicMarketOrderFeeMultiplier sdk.Dec, - binaryOptionsAtomicMarketOrderFeeMultiplier sdk.Dec, - minimalProtocolFeeRate sdk.Dec, + spotAtomicMarketOrderFeeMultiplier math.LegacyDec, + derivativeAtomicMarketOrderFeeMultiplier math.LegacyDec, + binaryOptionsAtomicMarketOrderFeeMultiplier math.LegacyDec, + minimalProtocolFeeRate math.LegacyDec, postOnlyModeHeightThreshold int64, ) Params { return Params{ @@ -184,29 +190,29 @@ func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { // DefaultParams returns a default set of parameters. func DefaultParams() Params { return Params{ - 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 - DefaultDerivativeTakerFeeRate: sdk.NewDecWithPrec(1, 3), // default 0.1% taker fees - DefaultInitialMarginRatio: sdk.NewDecWithPrec(5, 2), // default 5% initial margin ratio - DefaultMaintenanceMarginRatio: sdk.NewDecWithPrec(2, 2), // default 2% maintenance margin ratio + SpotMarketInstantListingFee: sdk.NewCoin("inj", math.NewIntWithDecimal(SpotMarketInstantListingFee, 18)), + DerivativeMarketInstantListingFee: sdk.NewCoin("inj", math.NewIntWithDecimal(DerivativeMarketInstantListingFee, 18)), + DefaultSpotMakerFeeRate: math.LegacyNewDecWithPrec(-1, 4), // default -0.01% maker fees + DefaultSpotTakerFeeRate: math.LegacyNewDecWithPrec(1, 3), // default 0.1% taker fees + DefaultDerivativeMakerFeeRate: math.LegacyNewDecWithPrec(-1, 4), // default -0.01% maker fees + DefaultDerivativeTakerFeeRate: math.LegacyNewDecWithPrec(1, 3), // default 0.1% taker fees + DefaultInitialMarginRatio: math.LegacyNewDecWithPrec(5, 2), // default 5% initial margin ratio + DefaultMaintenanceMarginRatio: math.LegacyNewDecWithPrec(2, 2), // default 2% maintenance margin ratio DefaultFundingInterval: DefaultFundingIntervalSeconds, FundingMultiple: DefaultFundingMultipleSeconds, - RelayerFeeShareRate: sdk.NewDecWithPrec(40, 2), // default 40% relayer fee share - 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 + RelayerFeeShareRate: math.LegacyNewDecWithPrec(40, 2), // default 40% relayer fee share + DefaultHourlyFundingRateCap: math.LegacyNewDecWithPrec(625, 6), // default 0.0625% max hourly funding rate + DefaultHourlyInterestRate: math.LegacyNewDecWithPrec(416666, 11), // 0.01% daily interest rate = 0.0001 / 24 = 0.00000416666 MaxDerivativeOrderSideCount: MaxDerivativeOrderSideCount, - 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)), + InjRewardStakedRequirementThreshold: math.NewIntWithDecimal(100, 18), // 100 INJ + TradingRewardsVestingDuration: 604800, // 7 days + LiquidatorRewardShareRate: math.LegacyNewDecWithPrec(5, 2), // 5% liquidator reward + BinaryOptionsMarketInstantListingFee: sdk.NewCoin("inj", math.NewIntWithDecimal(BinaryOptionsMarketInstantListingFee, 18)), AtomicMarketOrderAccessLevel: AtomicMarketOrderAccessLevel_SmartContractsOnly, - SpotAtomicMarketOrderFeeMultiplier: sdk.NewDecWithPrec(25, 1), // default 2.5 multiplier - DerivativeAtomicMarketOrderFeeMultiplier: sdk.NewDecWithPrec(25, 1), // default 2.5 multiplier - BinaryOptionsAtomicMarketOrderFeeMultiplier: sdk.NewDecWithPrec(25, 1), // default 2.5 multiplier - MinimalProtocolFeeRate: sdk.MustNewDecFromStr("0.00005"), // default 0.005% minimal fee rate + SpotAtomicMarketOrderFeeMultiplier: math.LegacyNewDecWithPrec(25, 1), // default 2.5 multiplier + DerivativeAtomicMarketOrderFeeMultiplier: math.LegacyNewDecWithPrec(25, 1), // default 2.5 multiplier + BinaryOptionsAtomicMarketOrderFeeMultiplier: math.LegacyNewDecWithPrec(25, 1), // default 2.5 multiplier + MinimalProtocolFeeRate: math.LegacyMustNewDecFromStr("0.00005"), // default 0.005% minimal fee rate IsInstantDerivativeMarketLaunchEnabled: false, PostOnlyModeHeightThreshold: 0, } @@ -326,7 +332,7 @@ func validateBinaryOptionsMarketInstantListingFee(i interface{}) error { } func ValidateFee(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(math.LegacyDec) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } @@ -338,7 +344,7 @@ func ValidateFee(i interface{}) error { if v.IsNegative() { return fmt.Errorf("exchange fee cannot be negative: %s", v) } - if v.GT(sdk.OneDec()) { + if v.GT(math.LegacyOneDec()) { return fmt.Errorf("exchange fee cannot be greater than 1: %s", v) } @@ -346,7 +352,7 @@ func ValidateFee(i interface{}) error { } func ValidateMakerFee(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(math.LegacyDec) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } @@ -355,11 +361,11 @@ func ValidateMakerFee(i interface{}) error { return fmt.Errorf("exchange fee cannot be nil: %s", v) } - if v.GT(sdk.OneDec()) { + if v.GT(math.LegacyOneDec()) { return fmt.Errorf("exchange fee cannot be greater than 1: %s", v) } - if v.LT(sdk.OneDec().Neg()) { + if v.LT(math.LegacyOneDec().Neg()) { return fmt.Errorf("exchange fee cannot be less than -1: %s", v) } @@ -367,7 +373,7 @@ func ValidateMakerFee(i interface{}) error { } func ValidateHourlyFundingRateCap(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(math.LegacyDec) if !ok { return fmt.Errorf("invalid parameter type: %T", i) @@ -385,7 +391,7 @@ func ValidateHourlyFundingRateCap(i interface{}) error { return fmt.Errorf("hourly funding rate cap cannot be zero: %s", v) } - if v.GT(sdk.NewDecWithPrec(3, 2)) { + if v.GT(math.LegacyNewDecWithPrec(3, 2)) { return fmt.Errorf("hourly funding rate cap cannot be larger than 3 percent: %s", v) } @@ -393,7 +399,7 @@ func ValidateHourlyFundingRateCap(i interface{}) error { } func ValidateHourlyInterestRate(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(math.LegacyDec) if !ok { return fmt.Errorf("invalid parameter type: %T", i) @@ -407,7 +413,7 @@ func ValidateHourlyInterestRate(i interface{}) error { return fmt.Errorf("hourly interest rate cannot be negative: %s", v) } - if v.GT(sdk.NewDecWithPrec(1, 2)) { + if v.GT(math.LegacyNewDecWithPrec(1, 2)) { return fmt.Errorf("hourly interest rate cannot be larger than 1 percent: %s", v) } @@ -415,7 +421,7 @@ func ValidateHourlyInterestRate(i interface{}) error { } func ValidateTickSize(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(math.LegacyDec) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } @@ -437,12 +443,12 @@ func ValidateTickSize(i interface{}) error { } // 1e18 scaleFactor - scaleFactor := sdk.NewDec(1000000000000000000) + scaleFactor := math.LegacyNewDec(1000000000000000000) // v can be a decimal (e.g. 1e-18) so we scale by 1e18 scaledValue := v.Mul(scaleFactor) - power := sdk.NewDec(1) - ten := sdk.NewDec(10) + power := math.LegacyNewDec(1) + ten := math.LegacyNewDec(10) // determine whether scaledValue is a power of 10 for power.LT(scaledValue) { @@ -456,8 +462,25 @@ func ValidateTickSize(i interface{}) error { return nil } +func ValidateMinNotional(i interface{}) error { + v, ok := i.(math.LegacyDec) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + + if v.IsNil() { + return fmt.Errorf("min notional cannot be nil") + } + + if v.IsNegative() { + return fmt.Errorf("min notional cannot be negative: %s", v) + } + + return nil +} + func ValidateMarginRatio(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(math.LegacyDec) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } @@ -468,7 +491,7 @@ func ValidateMarginRatio(i interface{}) error { if v.LT(minMarginRatio) { return fmt.Errorf("margin ratio cannot be less than minimum: %s", v) } - if v.GTE(sdk.OneDec()) { + if v.GTE(math.LegacyOneDec()) { return fmt.Errorf("margin ratio cannot be greater than or equal to 1: %s", v) } @@ -528,7 +551,7 @@ func validateDerivativeOrderSideCount(i interface{}) error { } func validateInjRewardStakedRequirementThreshold(i interface{}) error { - v, ok := i.(sdkmath.Int) + v, ok := i.(math.Int) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } @@ -558,7 +581,7 @@ func validateTradingRewardsVestingDuration(i interface{}) error { } func validateLiquidatorRewardShareRate(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(math.LegacyDec) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } @@ -569,7 +592,7 @@ func validateLiquidatorRewardShareRate(i interface{}) error { if v.IsNegative() { return fmt.Errorf("reward ratio cannot be negative: %s", v) } - if v.GT(sdk.OneDec()) { + if v.GT(math.LegacyOneDec()) { return fmt.Errorf("reward ratio cannot be greater than 1: %s", v) } @@ -588,7 +611,7 @@ func validateAtomicMarketOrderAccessLevel(i interface{}) error { } func validateAtomicMarketOrderFeeMultiplier(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(math.LegacyDec) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } @@ -596,7 +619,7 @@ func validateAtomicMarketOrderFeeMultiplier(i interface{}) error { if v.IsNil() { return fmt.Errorf("atomicMarketOrderFeeMultiplier cannot be nil: %s", v) } - if v.LT(sdk.OneDec()) { + if v.LT(math.LegacyOneDec()) { return fmt.Errorf("atomicMarketOrderFeeMultiplier cannot be less than one: %s", v) } if v.GT(MaxFeeMultiplier) { diff --git a/chain/exchange/types/positions.go b/chain/exchange/types/positions.go index 10899a5c..3928f708 100644 --- a/chain/exchange/types/positions.go +++ b/chain/exchange/types/positions.go @@ -1,12 +1,12 @@ package types import ( - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" ) type positionPayout struct { - Payout sdk.Dec - PnlNotional sdk.Dec + Payout math.LegacyDec + PnlNotional math.LegacyDec IsProfitable bool } @@ -33,12 +33,12 @@ func (p *DerivativePosition) Copy() *DerivativePosition { func (m *PositionDelta) IsShort() bool { return !m.IsLong } // NewPosition initializes a new position with a given cumulativeFundingEntry (should be nil for non-perpetual markets) -func NewPosition(isLong bool, cumulativeFundingEntry sdk.Dec) *Position { +func NewPosition(isLong bool, cumulativeFundingEntry math.LegacyDec) *Position { position := &Position{ IsLong: isLong, - Quantity: sdk.ZeroDec(), - EntryPrice: sdk.ZeroDec(), - Margin: sdk.ZeroDec(), + Quantity: math.LegacyZeroDec(), + EntryPrice: math.LegacyZeroDec(), + Margin: math.LegacyZeroDec(), } if !cumulativeFundingEntry.IsNil() { position.CumulativeFundingEntry = cumulativeFundingEntry @@ -48,7 +48,7 @@ func NewPosition(isLong bool, cumulativeFundingEntry sdk.Dec) *Position { // GetEffectiveMarginRatio returns the effective margin ratio of the position, based on the input closing price. // CONTRACT: position must already be funding-adjusted (if perpetual) and have positive quantity. -func (p *Position) GetEffectiveMarginRatio(closingPrice, closingFee sdk.Dec) (marginRatio sdk.Dec) { +func (p *Position) GetEffectiveMarginRatio(closingPrice, closingFee math.LegacyDec) (marginRatio math.LegacyDec) { // nolint:all // marginRatio = (margin + quantity * PnlPerContract) / (closingPrice * quantity) effectiveMargin := p.Margin.Add(p.GetPayoutFromPnl(closingPrice, p.Quantity)).Sub(closingFee) @@ -64,7 +64,7 @@ func (p *Position) GetEffectiveMarginRatio(closingPrice, closingFee sdk.Dec) (ma // => Entry price adjustment for sells // (settlementPrice - newEntryPrice) * quantity = (settlementPrice - entryPrice) * quantity * (1 - missingFundsRate) // newEntryPrice = entryPrice - entryPrice * haircutPercentage + settlementPrice * haircutPercentage -func (p *Position) ApplyProfitHaircutForDerivatives(deficitAmount, totalProfits, settlementPrice sdk.Dec) { +func (p *Position) ApplyProfitHaircutForDerivatives(deficitAmount, totalProfits, settlementPrice math.LegacyDec) { // haircutPercentage = deficitAmount / totalProfits // To preserve precision, the division by totalProfits is done last. // newEntryPrice = haircutPercentage * (settlementPrice - entryPrice) + entryPrice @@ -73,20 +73,20 @@ func (p *Position) ApplyProfitHaircutForDerivatives(deficitAmount, totalProfits, // profitable position but with negative margin, we didn't account for negative margin previously, // so we can safely add it if payout becomes negative from haircut - newPositionPayout := p.GetPayoutIfFullyClosing(settlementPrice, sdk.ZeroDec()).Payout + newPositionPayout := p.GetPayoutIfFullyClosing(settlementPrice, math.LegacyZeroDec()).Payout if newPositionPayout.IsNegative() { p.Margin = p.Margin.Add(newPositionPayout.Abs()) } } -func (p *Position) ApplyTotalPositionPayoutHaircut(deficitAmount, totalPayouts, settlementPrice sdk.Dec) { +func (p *Position) ApplyTotalPositionPayoutHaircut(deficitAmount, totalPayouts, settlementPrice math.LegacyDec) { p.ApplyProfitHaircutForDerivatives(deficitAmount, totalPayouts, settlementPrice) removedMargin := p.Margin.Mul(deficitAmount).Quo(totalPayouts) p.Margin = p.Margin.Sub(removedMargin) } -func (p *Position) ApplyProfitHaircutForBinaryOptions(deficitAmount, totalAssets sdk.Dec, oracleScaleFactor uint32) { +func (p *Position) ApplyProfitHaircutForBinaryOptions(deficitAmount, totalAssets math.LegacyDec, oracleScaleFactor uint32) { // haircutPercentage = deficitAmount / totalAssets // To preserve precision, the division by totalAssets is done last. // newMargin = p.Margin - p.Margin * haircutPercentage @@ -97,12 +97,12 @@ func (p *Position) ApplyProfitHaircutForBinaryOptions(deficitAmount, totalAssets if p.IsLong { p.EntryPrice = p.Margin.Quo(p.Quantity) } else { - scaledOne := GetScaledPrice(sdk.OneDec(), oracleScaleFactor) + scaledOne := GetScaledPrice(math.LegacyOneDec(), oracleScaleFactor) p.EntryPrice = scaledOne.Sub(p.Margin.Quo(p.Quantity)) } } -func (p *Position) ClosePositionWithSettlePrice(settlementPrice, closingFeeRate sdk.Dec) (payout, closeTradingFee sdk.Dec, positionDelta *PositionDelta) { +func (p *Position) ClosePositionWithSettlePrice(settlementPrice, closingFeeRate math.LegacyDec) (payout, closeTradingFee math.LegacyDec, positionDelta *PositionDelta, pnl math.LegacyDec) { closingDirection := !p.IsLong fullyClosingQuantity := p.Quantity @@ -110,29 +110,29 @@ func (p *Position) ClosePositionWithSettlePrice(settlementPrice, closingFeeRate positionDelta = &PositionDelta{ IsLong: closingDirection, ExecutionQuantity: fullyClosingQuantity, - ExecutionMargin: sdk.ZeroDec(), + ExecutionMargin: math.LegacyZeroDec(), ExecutionPrice: settlementPrice, } // there should not be positions with 0 quantity if fullyClosingQuantity.IsZero() { - return sdk.ZeroDec(), closeTradingFee, positionDelta + return math.LegacyZeroDec(), closeTradingFee, positionDelta, math.LegacyZeroDec() } - payout, _, _ = p.ApplyPositionDelta(positionDelta, closeTradingFee) + payout, _, _, pnl = p.ApplyPositionDelta(positionDelta, closeTradingFee) - return payout, closeTradingFee, positionDelta + return payout, closeTradingFee, positionDelta, pnl } func (p *Position) ClosePositionWithoutPayouts() { p.IsLong = false - p.EntryPrice = sdk.ZeroDec() - p.Quantity = sdk.ZeroDec() - p.Margin = sdk.ZeroDec() - p.CumulativeFundingEntry = sdk.ZeroDec() + p.EntryPrice = math.LegacyZeroDec() + p.Quantity = math.LegacyZeroDec() + p.Margin = math.LegacyZeroDec() + p.CumulativeFundingEntry = math.LegacyZeroDec() } -func (p *Position) ClosePositionByRefunding(closingFeeRate sdk.Dec) (payout, closeTradingFee sdk.Dec, positionDelta *PositionDelta) { +func (p *Position) ClosePositionByRefunding(closingFeeRate math.LegacyDec) (payout, closeTradingFee math.LegacyDec, positionDelta *PositionDelta, pnl math.LegacyDec) { return p.ClosePositionWithSettlePrice(p.EntryPrice, closingFeeRate) } @@ -146,11 +146,11 @@ func (p *Position) GetDirectionString() string { func (p *Position) CheckValidPositionToReduce( marketType MarketType, - reducePrice sdk.Dec, + reducePrice math.LegacyDec, isBuyOrder bool, - tradeFeeRate sdk.Dec, + tradeFeeRate math.LegacyDec, funding *PerpetualMarketFunding, - orderMargin sdk.Dec, + orderMargin math.LegacyDec, ) error { if isBuyOrder == p.IsLong { return ErrInvalidReduceOnlyPositionDirection @@ -167,19 +167,19 @@ func (p *Position) CheckValidPositionToReduce( return nil } -func (p *Position) checkValidClosingPrice(closingPrice, tradeFeeRate sdk.Dec, funding *PerpetualMarketFunding, orderMargin sdk.Dec) error { +func (p *Position) checkValidClosingPrice(closingPrice, tradeFeeRate math.LegacyDec, funding *PerpetualMarketFunding, orderMargin math.LegacyDec) error { bankruptcyPrice := p.GetBankruptcyPriceWithAddedMargin(funding, orderMargin) if p.IsLong { // For long positions, Price ≥ BankruptcyPrice / (1 - TradeFeeRate) must hold - feeAdjustedBankruptcyPrice := bankruptcyPrice.Quo(sdk.OneDec().Sub(tradeFeeRate)) + feeAdjustedBankruptcyPrice := bankruptcyPrice.Quo(math.LegacyOneDec().Sub(tradeFeeRate)) if closingPrice.LT(feeAdjustedBankruptcyPrice) { return ErrPriceSurpassesBankruptcyPrice } } else { // For short positions, Price ≤ BankruptcyPrice / (1 + TradeFeeRate) must hold - feeAdjustedBankruptcyPrice := bankruptcyPrice.Quo(sdk.OneDec().Add(tradeFeeRate)) + feeAdjustedBankruptcyPrice := bankruptcyPrice.Quo(math.LegacyOneDec().Add(tradeFeeRate)) if closingPrice.GT(feeAdjustedBankruptcyPrice) { return ErrPriceSurpassesBankruptcyPrice @@ -188,7 +188,7 @@ func (p *Position) checkValidClosingPrice(closingPrice, tradeFeeRate sdk.Dec, fu return nil } -func (p *Position) GetLiquidationMarketOrderWorstPrice(markPrice sdk.Dec, funding *PerpetualMarketFunding) sdk.Dec { +func (p *Position) GetLiquidationMarketOrderWorstPrice(markPrice math.LegacyDec, funding *PerpetualMarketFunding) math.LegacyDec { bankruptcyPrice := p.GetBankruptcyPrice(funding) hasNegativeEquity := (p.IsLong && markPrice.LT(bankruptcyPrice)) || (p.IsShort() && markPrice.GT(bankruptcyPrice)) @@ -199,40 +199,40 @@ func (p *Position) GetLiquidationMarketOrderWorstPrice(markPrice sdk.Dec, fundin return bankruptcyPrice } -func (p *Position) GetBankruptcyPrice(funding *PerpetualMarketFunding) (bankruptcyPrice sdk.Dec) { - return p.GetLiquidationPrice(sdk.ZeroDec(), funding) +func (p *Position) GetBankruptcyPrice(funding *PerpetualMarketFunding) (bankruptcyPrice math.LegacyDec) { + return p.GetLiquidationPrice(math.LegacyZeroDec(), funding) } -func (p *Position) GetBankruptcyPriceWithAddedMargin(funding *PerpetualMarketFunding, addedMargin sdk.Dec) (bankruptcyPrice sdk.Dec) { - return p.getLiquidationPriceWithAddedMargin(sdk.ZeroDec(), funding, addedMargin) +func (p *Position) GetBankruptcyPriceWithAddedMargin(funding *PerpetualMarketFunding, addedMargin math.LegacyDec) (bankruptcyPrice math.LegacyDec) { + return p.getLiquidationPriceWithAddedMargin(math.LegacyZeroDec(), funding, addedMargin) } -func (p *Position) GetLiquidationPrice(maintenanceMarginRatio sdk.Dec, funding *PerpetualMarketFunding) sdk.Dec { - return p.getLiquidationPriceWithAddedMargin(maintenanceMarginRatio, funding, sdk.ZeroDec()) +func (p *Position) GetLiquidationPrice(maintenanceMarginRatio math.LegacyDec, funding *PerpetualMarketFunding) math.LegacyDec { + return p.getLiquidationPriceWithAddedMargin(maintenanceMarginRatio, funding, math.LegacyZeroDec()) } -func (p *Position) getLiquidationPriceWithAddedMargin(maintenanceMarginRatio sdk.Dec, funding *PerpetualMarketFunding, addedMargin sdk.Dec) sdk.Dec { +func (p *Position) getLiquidationPriceWithAddedMargin(maintenanceMarginRatio math.LegacyDec, funding *PerpetualMarketFunding, addedMargin math.LegacyDec) math.LegacyDec { adjustedUnitMargin := p.getFundingAdjustedUnitMarginWithAddedMargin(funding, addedMargin) // TODO include closing fee for reduce only ? - var liquidationPrice sdk.Dec + var liquidationPrice math.LegacyDec if p.IsLong { // liquidation price = (entry price - unit margin) / (1 - maintenanceMarginRatio) - liquidationPrice = p.EntryPrice.Sub(adjustedUnitMargin).Quo(sdk.OneDec().Sub(maintenanceMarginRatio)) + liquidationPrice = p.EntryPrice.Sub(adjustedUnitMargin).Quo(math.LegacyOneDec().Sub(maintenanceMarginRatio)) } else { // liquidation price = (entry price + unit margin) / (1 + maintenanceMarginRatio) - liquidationPrice = p.EntryPrice.Add(adjustedUnitMargin).Quo(sdk.OneDec().Add(maintenanceMarginRatio)) + liquidationPrice = p.EntryPrice.Add(adjustedUnitMargin).Quo(math.LegacyOneDec().Add(maintenanceMarginRatio)) } return liquidationPrice } -func (p *Position) GetEffectiveMargin(funding *PerpetualMarketFunding, closingPrice sdk.Dec) sdk.Dec { +func (p *Position) GetEffectiveMargin(funding *PerpetualMarketFunding, closingPrice math.LegacyDec) math.LegacyDec { fundingAdjustedMargin := p.Margin if funding != nil { fundingAdjustedMargin = p.getFundingAdjustedMargin(funding) } - pnlNotional := sdk.ZeroDec() + pnlNotional := math.LegacyZeroDec() if !closingPrice.IsNil() { pnlNotional = p.GetPayoutFromPnl(closingPrice, p.Quantity) } @@ -250,11 +250,11 @@ func (p *Position) ApplyFunding(funding *PerpetualMarketFunding) { } } -func (p *Position) getFundingAdjustedMargin(funding *PerpetualMarketFunding) sdk.Dec { - return p.getFundingAdjustedMarginWithAddedMargin(funding, sdk.ZeroDec()) +func (p *Position) getFundingAdjustedMargin(funding *PerpetualMarketFunding) math.LegacyDec { + return p.getFundingAdjustedMarginWithAddedMargin(funding, math.LegacyZeroDec()) } -func (p *Position) getFundingAdjustedMarginWithAddedMargin(funding *PerpetualMarketFunding, addedMargin sdk.Dec) sdk.Dec { +func (p *Position) getFundingAdjustedMarginWithAddedMargin(funding *PerpetualMarketFunding, addedMargin math.LegacyDec) math.LegacyDec { adjustedMargin := p.Margin.Add(addedMargin) // Compute the adjusted position margin for positions in perpetual markets @@ -273,7 +273,7 @@ func (p *Position) getFundingAdjustedMarginWithAddedMargin(funding *PerpetualMar return adjustedMargin } -func (p *Position) getFundingAdjustedUnitMarginWithAddedMargin(funding *PerpetualMarketFunding, addedMargin sdk.Dec) sdk.Dec { +func (p *Position) getFundingAdjustedUnitMarginWithAddedMargin(funding *PerpetualMarketFunding, addedMargin math.LegacyDec) math.LegacyDec { adjustedMargin := p.getFundingAdjustedMarginWithAddedMargin(funding, addedMargin) // Unit Margin = PositionMargin / PositionQuantity @@ -281,14 +281,14 @@ func (p *Position) getFundingAdjustedUnitMarginWithAddedMargin(funding *Perpetua return fundingAdjustedUnitMargin } -func (p *Position) GetAverageWeightedEntryPrice(executionQuantity, executionPrice sdk.Dec) sdk.Dec { +func (p *Position) GetAverageWeightedEntryPrice(executionQuantity, executionPrice math.LegacyDec) math.LegacyDec { num := p.Quantity.Mul(p.EntryPrice).Add(executionQuantity.Mul(executionPrice)) denom := p.Quantity.Add(executionQuantity) return num.Quo(denom) } -func (p *Position) GetPayoutIfFullyClosing(closingPrice, closingFeeRate sdk.Dec) *positionPayout { +func (p *Position) GetPayoutIfFullyClosing(closingPrice, closingFeeRate math.LegacyDec) *positionPayout { isProfitable := (p.IsLong && p.EntryPrice.LT(closingPrice)) || (!p.IsLong && p.EntryPrice.GT(closingPrice)) fullyClosingQuantity := p.Quantity @@ -306,8 +306,8 @@ func (p *Position) GetPayoutIfFullyClosing(closingPrice, closingFeeRate sdk.Dec) } } -func (p *Position) GetPayoutFromPnl(closingPrice, closingQuantity sdk.Dec) sdk.Dec { - var pnlNotional sdk.Dec +func (p *Position) GetPayoutFromPnl(closingPrice, closingQuantity math.LegacyDec) math.LegacyDec { + var pnlNotional math.LegacyDec if p.IsLong { // nolint:all @@ -322,19 +322,19 @@ func (p *Position) GetPayoutFromPnl(closingPrice, closingQuantity sdk.Dec) sdk.D return pnlNotional } -func (p *Position) ApplyPositionDelta(delta *PositionDelta, tradingFeeForReduceOnly sdk.Dec) ( - payout, closeExecutionMargin, collateralizationMargin sdk.Dec, +func (p *Position) ApplyPositionDelta(delta *PositionDelta, tradingFeeForReduceOnly math.LegacyDec) ( + payout, closeExecutionMargin, collateralizationMargin, pnl math.LegacyDec, ) { // No payouts or margin changes if the position delta is nil if delta == nil || p == nil { - return sdk.ZeroDec(), sdk.ZeroDec(), sdk.ZeroDec() + return math.LegacyZeroDec(), math.LegacyZeroDec(), math.LegacyZeroDec(), math.LegacyZeroDec() } if p.Quantity.IsZero() { p.IsLong = delta.IsLong } - payout, closeExecutionMargin, collateralizationMargin = sdk.ZeroDec(), sdk.ZeroDec(), sdk.ZeroDec() + payout, closeExecutionMargin, collateralizationMargin = math.LegacyZeroDec(), math.LegacyZeroDec(), math.LegacyZeroDec() isNettingInSameDirection := (p.IsLong && delta.IsLong) || (p.IsShort() && delta.IsShort()) if isNettingInSameDirection { @@ -343,11 +343,11 @@ func (p *Position) ApplyPositionDelta(delta *PositionDelta, tradingFeeForReduceO p.Margin = p.Margin.Add(delta.ExecutionMargin) collateralizationMargin = delta.ExecutionMargin - return payout, closeExecutionMargin, collateralizationMargin + return payout, closeExecutionMargin, collateralizationMargin, math.LegacyZeroDec() } // netting in opposing direction - closingQuantity := sdk.MinDec(p.Quantity, delta.ExecutionQuantity) + closingQuantity := math.LegacyMinDec(p.Quantity, delta.ExecutionQuantity) // closeExecutionMargin = execution margin * closing quantity / execution quantity closeExecutionMargin = delta.ExecutionMargin.Mul(closingQuantity).Quo(delta.ExecutionQuantity) @@ -383,8 +383,8 @@ func (p *Position) ApplyPositionDelta(delta *PositionDelta, tradingFeeForReduceO } // recurse - _, _, collateralizationMargin = p.ApplyPositionDelta(newPositionDelta, tradingFeeForReduceOnly) + _, _, collateralizationMargin, _ = p.ApplyPositionDelta(newPositionDelta, tradingFeeForReduceOnly) } - return payout, closeExecutionMargin, collateralizationMargin + return payout, closeExecutionMargin, collateralizationMargin, pnlNotional } diff --git a/chain/exchange/types/proposal.go b/chain/exchange/types/proposal.go index ccba95ed..6d1b33e4 100644 --- a/chain/exchange/types/proposal.go +++ b/chain/exchange/types/proposal.go @@ -4,12 +4,11 @@ import ( "fmt" "cosmossdk.io/errors" - sdkmath "cosmossdk.io/math" + "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" gov "github.com/cosmos/cosmos-sdk/x/gov/types" "github.com/ethereum/go-ethereum/common" @@ -56,7 +55,7 @@ func init() { govtypes.RegisterProposalType(ProposalAtomicMarketOrderFeeMultiplierSchedule) } -func SafeIsPositiveInt(v sdkmath.Int) bool { +func SafeIsPositiveInt(v math.Int) bool { if v.IsNil() { return false } @@ -64,7 +63,7 @@ func SafeIsPositiveInt(v sdkmath.Int) bool { return v.IsPositive() } -func SafeIsPositiveDec(v sdk.Dec) bool { +func SafeIsPositiveDec(v math.LegacyDec) bool { if v.IsNil() { return false } @@ -72,7 +71,7 @@ func SafeIsPositiveDec(v sdk.Dec) bool { return v.IsPositive() } -func SafeIsNonNegativeDec(v sdk.Dec) bool { +func SafeIsNonNegativeDec(v math.LegacyDec) bool { if v.IsNil() { return false } @@ -80,11 +79,11 @@ func SafeIsNonNegativeDec(v sdk.Dec) bool { return !v.IsNegative() } -func IsZeroOrNilInt(v sdkmath.Int) bool { +func IsZeroOrNilInt(v math.Int) bool { return v.IsNil() || v.IsZero() } -func IsZeroOrNilDec(v sdk.Dec) bool { +func IsZeroOrNilDec(v math.LegacyDec) bool { return v.IsNil() || v.IsZero() } @@ -213,8 +212,7 @@ func (p *BatchExchangeModificationProposal) ValidateBasic() error { } // NewSpotMarketParamUpdateProposal returns new instance of SpotMarketParamUpdateProposal -func NewSpotMarketParamUpdateProposal(title, description string, marketID common.Hash, makerFeeRate, takerFeeRate, relayerFeeShareRate, minPriceTickSize, minQuantityTickSize *sdk.Dec, status MarketStatus) *SpotMarketParamUpdateProposal { - +func NewSpotMarketParamUpdateProposal(title, description string, marketID common.Hash, makerFeeRate, takerFeeRate, relayerFeeShareRate, minPriceTickSize, minQuantityTickSize, minNotional *math.LegacyDec, status MarketStatus, ticker string) *SpotMarketParamUpdateProposal { return &SpotMarketParamUpdateProposal{ title, description, @@ -225,6 +223,9 @@ func NewSpotMarketParamUpdateProposal(title, description string, marketID common minPriceTickSize, minQuantityTickSize, status, + ticker, + minNotional, + nil, } } @@ -254,7 +255,14 @@ func (p *SpotMarketParamUpdateProposal) ValidateBasic() error { if !IsHexHash(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 { + if p.MakerFeeRate == nil && + p.TakerFeeRate == nil && + p.RelayerFeeShareRate == nil && + p.MinPriceTickSize == nil && + p.MinQuantityTickSize == nil && + p.MinNotional == nil && + p.AdminInfo == nil && + p.Status == MarketStatus_Unspecified { return errors.Wrap(gov.ErrInvalidProposalContent, "At least one field should not be nil") } @@ -284,6 +292,26 @@ func (p *SpotMarketParamUpdateProposal) ValidateBasic() error { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } } + if p.MinNotional != nil { + if err := ValidateMinNotional(*p.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } + } + + if p.AdminInfo != nil { + if p.AdminInfo.Admin != "" { + if _, err := sdk.AccAddressFromBech32(p.AdminInfo.Admin); err != nil { + return errors.Wrap(ErrInvalidAddress, err.Error()) + } + } + if p.AdminInfo.AdminPermissions > MaxPerm { + return ErrInvalidPermissions + } + } + + if len(p.Ticker) > MaxTickerLength { + return errors.Wrapf(ErrInvalidTicker, "ticker should not exceed %d characters", MaxTickerLength) + } switch p.Status { case @@ -307,10 +335,11 @@ func NewSpotMarketLaunchProposal( ticker string, baseDenom string, quoteDenom string, - minPriceTickSize sdk.Dec, - minQuantityTickSize sdk.Dec, - makerFeeRate *sdk.Dec, - takerFeeRate *sdk.Dec, + minPriceTickSize math.LegacyDec, + minQuantityTickSize math.LegacyDec, + minNotional math.LegacyDec, + makerFeeRate *math.LegacyDec, + takerFeeRate *math.LegacyDec, ) *SpotMarketLaunchProposal { return &SpotMarketLaunchProposal{ Title: title, @@ -320,6 +349,7 @@ func NewSpotMarketLaunchProposal( QuoteDenom: quoteDenom, MinPriceTickSize: minPriceTickSize, MinQuantityTickSize: minQuantityTickSize, + MinNotional: minNotional, MakerFeeRate: makerFeeRate, TakerFeeRate: takerFeeRate, } @@ -349,7 +379,7 @@ 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 errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrapf(ErrInvalidTicker, "ticker should not be empty or exceed %d characters", MaxTickerLength) } if p.BaseDenom == "" { return errors.Wrap(ErrInvalidBaseDenom, "base denom should not be empty") @@ -367,6 +397,9 @@ func (p *SpotMarketLaunchProposal) ValidateBasic() error { if err := ValidateTickSize(p.MinQuantityTickSize); err != nil { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } + if err := ValidateMinNotional(p.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } if p.MakerFeeRate != nil { if err := ValidateMakerFee(*p.MakerFeeRate); err != nil { @@ -395,11 +428,23 @@ func (p *SpotMarketLaunchProposal) ValidateBasic() error { // NewDerivativeMarketParamUpdateProposal returns new instance of DerivativeMarketParamUpdateProposal func NewDerivativeMarketParamUpdateProposal( - title, description string, marketID string, - initialMarginRatio, maintenanceMarginRatio, - makerFeeRate, takerFeeRate, relayerFeeShareRate, minPriceTickSize, minQuantityTickSize *sdk.Dec, - hourlyInterestRate, hourlyFundingRateCap *sdk.Dec, - status MarketStatus, oracleParams *OracleParams, + title string, + description string, + marketID string, + initialMarginRatio *math.LegacyDec, + maintenanceMarginRatio *math.LegacyDec, + makerFeeRate *math.LegacyDec, + takerFeeRate *math.LegacyDec, + relayerFeeShareRate *math.LegacyDec, + minPriceTickSize *math.LegacyDec, + minQuantityTickSize *math.LegacyDec, + minNotional *math.LegacyDec, + hourlyInterestRate *math.LegacyDec, + hourlyFundingRateCap *math.LegacyDec, + status MarketStatus, + oracleParams *OracleParams, + ticker string, + adminInfo *AdminInfo, ) *DerivativeMarketParamUpdateProposal { return &DerivativeMarketParamUpdateProposal{ Title: title, @@ -416,6 +461,9 @@ func NewDerivativeMarketParamUpdateProposal( HourlyFundingRateCap: hourlyFundingRateCap, Status: status, OracleParams: oracleParams, + Ticker: ticker, + MinNotional: minNotional, + AdminInfo: adminInfo, } } @@ -450,11 +498,13 @@ func (p *DerivativeMarketParamUpdateProposal) ValidateBasic() error { p.RelayerFeeShareRate == nil && p.MinPriceTickSize == nil && p.MinQuantityTickSize == nil && + p.MinNotional == nil && p.InitialMarginRatio == nil && p.MaintenanceMarginRatio == nil && p.HourlyInterestRate == nil && p.HourlyFundingRateCap == nil && p.Status == MarketStatus_Unspecified && + p.AdminInfo == nil && p.OracleParams == nil { return errors.Wrap(gov.ErrInvalidProposalContent, "At least one field should not be nil") } @@ -497,6 +547,11 @@ func (p *DerivativeMarketParamUpdateProposal) ValidateBasic() error { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } } + if p.MinNotional != nil { + if err := ValidateMinNotional(*p.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } + } if p.HourlyInterestRate != nil { if err := ValidateHourlyInterestRate(*p.HourlyInterestRate); err != nil { @@ -510,6 +565,21 @@ func (p *DerivativeMarketParamUpdateProposal) ValidateBasic() error { } } + if p.AdminInfo != nil { + if p.AdminInfo.Admin != "" { + if _, err := sdk.AccAddressFromBech32(p.AdminInfo.Admin); err != nil { + return errors.Wrap(ErrInvalidAddress, err.Error()) + } + } + if p.AdminInfo.AdminPermissions > MaxPerm { + return ErrInvalidPermissions + } + } + + if len(p.Ticker) > MaxTickerLength { + return errors.Wrapf(ErrInvalidTicker, "ticker should not exceed %d characters", MaxTickerLength) + } + switch p.Status { case MarketStatus_Unspecified, @@ -534,7 +604,7 @@ func (p *DerivativeMarketParamUpdateProposal) ValidateBasic() error { // NewMarketForcedSettlementProposal returns new instance of MarketForcedSettlementProposal func NewMarketForcedSettlementProposal( title, description string, marketID string, - settlementPrice *sdk.Dec, + settlementPrice *math.LegacyDec, ) *MarketForcedSettlementProposal { return &MarketForcedSettlementProposal{ Title: title, @@ -708,7 +778,7 @@ func (p *ProviderOracleParams) ValidateBasic() error { func NewPerpetualMarketLaunchProposal( title, description, ticker, quoteDenom, oracleBase, oracleQuote string, oracleScaleFactor uint32, oracleType oracletypes.OracleType, - initialMarginRatio, maintenanceMarginRatio, makerFeeRate, takerFeeRate, minPriceTickSize, minQuantityTickSize sdk.Dec, + initialMarginRatio, maintenanceMarginRatio, makerFeeRate, takerFeeRate, minPriceTickSize, minQuantityTickSize, minNotional math.LegacyDec, ) *PerpetualMarketLaunchProposal { return &PerpetualMarketLaunchProposal{ Title: title, @@ -725,6 +795,7 @@ func NewPerpetualMarketLaunchProposal( TakerFeeRate: takerFeeRate, MinPriceTickSize: minPriceTickSize, MinQuantityTickSize: minQuantityTickSize, + MinNotional: minNotional, } } @@ -752,7 +823,7 @@ 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 errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrapf(ErrInvalidTicker, "ticker should not be empty or exceed %d characters", MaxTickerLength) } if p.QuoteDenom == "" { return errors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") @@ -787,6 +858,9 @@ func (p *PerpetualMarketLaunchProposal) ValidateBasic() error { if err := ValidateTickSize(p.MinQuantityTickSize); err != nil { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } + if err := ValidateMinNotional(p.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } return govtypes.ValidateAbstract(p) } @@ -795,7 +869,7 @@ func (p *PerpetualMarketLaunchProposal) ValidateBasic() error { func NewExpiryFuturesMarketLaunchProposal( title, description, ticker, quoteDenom, oracleBase, oracleQuote string, oracleScaleFactor uint32, oracleType oracletypes.OracleType, expiry int64, - initialMarginRatio, maintenanceMarginRatio, makerFeeRate, takerFeeRate, minPriceTickSize, minQuantityTickSize sdk.Dec, + initialMarginRatio, maintenanceMarginRatio, makerFeeRate, takerFeeRate, minPriceTickSize, minQuantityTickSize, minNotional math.LegacyDec, ) *ExpiryFuturesMarketLaunchProposal { return &ExpiryFuturesMarketLaunchProposal{ Title: title, @@ -813,6 +887,7 @@ func NewExpiryFuturesMarketLaunchProposal( TakerFeeRate: takerFeeRate, MinPriceTickSize: minPriceTickSize, MinQuantityTickSize: minQuantityTickSize, + MinNotional: minNotional, } } @@ -840,7 +915,7 @@ 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 errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrapf(ErrInvalidTicker, "ticker should not be empty or exceed %d characters", MaxTickerLength) } if p.QuoteDenom == "" { return errors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") @@ -878,6 +953,9 @@ func (p *ExpiryFuturesMarketLaunchProposal) ValidateBasic() error { if err := ValidateTickSize(p.MinQuantityTickSize); err != nil { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } + if err := ValidateMinNotional(p.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } return govtypes.ValidateAbstract(p) } @@ -1308,11 +1386,11 @@ func (p *FeeDiscountProposal) ValidateBasic() error { } func (t *FeeDiscountTierInfo) ValidateBasic() error { - if !SafeIsNonNegativeDec(t.MakerDiscountRate) || t.MakerDiscountRate.GT(sdk.OneDec()) { + if !SafeIsNonNegativeDec(t.MakerDiscountRate) || t.MakerDiscountRate.GT(math.LegacyOneDec()) { return errors.Wrap(ErrInvalidFeeDiscountSchedule, "MakerDiscountRate must be between 0 and 1") } - if !SafeIsNonNegativeDec(t.TakerDiscountRate) || t.TakerDiscountRate.GT(sdk.OneDec()) { + if !SafeIsNonNegativeDec(t.TakerDiscountRate) || t.TakerDiscountRate.GT(math.LegacyOneDec()) { return errors.Wrap(ErrInvalidFeeDiscountSchedule, "TakerDiscountRate must be between 0 and 1") } @@ -1363,7 +1441,7 @@ func NewBinaryOptionsMarketLaunchProposal( oracleType oracletypes.OracleType, oracleScaleFactor uint32, expirationTimestamp, settlementTimestamp int64, admin, quoteDenom string, - makerFeeRate, takerFeeRate, minPriceTickSize, minQuantityTickSize sdk.Dec, + makerFeeRate, takerFeeRate, minPriceTickSize, minQuantityTickSize, minNotional math.LegacyDec, ) *BinaryOptionsMarketLaunchProposal { return &BinaryOptionsMarketLaunchProposal{ @@ -1382,6 +1460,7 @@ func NewBinaryOptionsMarketLaunchProposal( TakerFeeRate: takerFeeRate, MinPriceTickSize: minPriceTickSize, MinQuantityTickSize: minQuantityTickSize, + MinNotional: minNotional, } } @@ -1409,7 +1488,7 @@ 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 errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrapf(ErrInvalidTicker, "ticker should not be empty or exceed %d characters", MaxTickerLength) } if p.OracleSymbol == "" { return errors.Wrap(ErrInvalidOracle, "oracle symbol should not be empty") @@ -1454,17 +1533,24 @@ func (p *BinaryOptionsMarketLaunchProposal) ValidateBasic() error { if err := ValidateTickSize(p.MinQuantityTickSize); err != nil { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } + if err := ValidateMinNotional(p.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } return govtypes.ValidateAbstract(p) } // NewBinaryOptionsMarketParamUpdateProposal returns new instance of BinaryOptionsMarketParamUpdateProposal func NewBinaryOptionsMarketParamUpdateProposal( - title, description string, marketID string, - makerFeeRate, takerFeeRate, relayerFeeShareRate, minPriceTickSize, minQuantityTickSize *sdk.Dec, + title string, + description string, + marketID string, + makerFeeRate, takerFeeRate, relayerFeeShareRate, minPriceTickSize, minQuantityTickSize, minNotional *math.LegacyDec, expirationTimestamp, settlementTimestamp int64, admin string, - status MarketStatus, oracleParams *ProviderOracleParams, + status MarketStatus, + oracleParams *ProviderOracleParams, + ticker string, ) *BinaryOptionsMarketParamUpdateProposal { return &BinaryOptionsMarketParamUpdateProposal{ Title: title, @@ -1475,11 +1561,13 @@ func NewBinaryOptionsMarketParamUpdateProposal( RelayerFeeShareRate: relayerFeeShareRate, MinPriceTickSize: minPriceTickSize, MinQuantityTickSize: minQuantityTickSize, + MinNotional: minNotional, ExpirationTimestamp: expirationTimestamp, SettlementTimestamp: settlementTimestamp, Admin: admin, Status: status, OracleParams: oracleParams, + Ticker: ticker, } } @@ -1514,6 +1602,7 @@ func (p *BinaryOptionsMarketParamUpdateProposal) ValidateBasic() error { p.RelayerFeeShareRate == nil && p.MinPriceTickSize == nil && p.MinQuantityTickSize == nil && + p.MinNotional == nil && p.Status == MarketStatus_Unspecified && p.ExpirationTimestamp == 0 && p.SettlementTimestamp == 0 && @@ -1552,6 +1641,12 @@ func (p *BinaryOptionsMarketParamUpdateProposal) ValidateBasic() error { } } + if p.MinNotional != nil { + if err := ValidateMinNotional(*p.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } + } + if p.ExpirationTimestamp != 0 && p.SettlementTimestamp != 0 { if p.ExpirationTimestamp >= p.SettlementTimestamp || p.ExpirationTimestamp < 0 || p.SettlementTimestamp < 0 { return ErrInvalidExpiry @@ -1568,13 +1663,17 @@ func (p *BinaryOptionsMarketParamUpdateProposal) ValidateBasic() error { } } + if len(p.Ticker) > MaxTickerLength { + return errors.Wrapf(ErrInvalidTicker, "ticker should not exceed %d characters", MaxTickerLength) + } + // price is either nil (not set), -1 (demolish with refund) or [0..1] (demolish with settle) switch { case p.SettlementPrice == nil, p.SettlementPrice.IsNil(): // ok case p.SettlementPrice.Equal(BinaryOptionsMarketRefundFlagPrice), - p.SettlementPrice.GTE(sdk.ZeroDec()) && p.SettlementPrice.LTE(MaxBinaryOptionsOrderPrice): + p.SettlementPrice.GTE(math.LegacyZeroDec()) && p.SettlementPrice.LTE(MaxBinaryOptionsOrderPrice): if p.Status != MarketStatus_Demolished { return errors.Wrapf(ErrInvalidMarketStatus, "status should be set to demolished when the settlement price is set, status: %s", p.Status.String()) } @@ -1634,7 +1733,7 @@ func (p *AtomicMarketOrderFeeMultiplierScheduleProposal) ValidateBasic() error { return fmt.Errorf("atomic taker fee multiplier cannot be nil: %v", multiplier) } - if multiplier.LT(sdk.OneDec()) { + if multiplier.LT(math.LegacyOneDec()) { return fmt.Errorf("atomic taker fee multiplier cannot be less than 1: %v", multiplier) } diff --git a/chain/exchange/types/proposal.pb.go b/chain/exchange/types/proposal.pb.go index 6f3eee76..1a20dfa1 100644 --- a/chain/exchange/types/proposal.pb.go +++ b/chain/exchange/types/proposal.pb.go @@ -4,12 +4,13 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" types "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 "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" types1 "github.com/cosmos/cosmos-sdk/x/distribution/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" @@ -62,19 +63,24 @@ type SpotMarketParamUpdateProposal struct { 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 trade fee rate for makers on the spot 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"` + MakerFeeRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + TakerFeeRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate,omitempty"` // 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"` + RelayerFeeShareRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"relayer_fee_share_rate,omitempty"` // 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"` + MinPriceTickSize *cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size,omitempty"` // 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"` + MinQuantityTickSize *cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size,omitempty"` + Status MarketStatus `protobuf:"varint,9,opt,name=status,proto3,enum=injective.exchange.v1beta1.MarketStatus" json:"status,omitempty"` + Ticker string `protobuf:"bytes,10,opt,name=ticker,proto3" json:"ticker,omitempty"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional *cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional,omitempty"` + AdminInfo *AdminInfo `protobuf:"bytes,12,opt,name=admin_info,json=adminInfo,proto3" json:"admin_info,omitempty"` } func (m *SpotMarketParamUpdateProposal) Reset() { *m = SpotMarketParamUpdateProposal{} } @@ -210,14 +216,17 @@ type SpotMarketLaunchProposal struct { // type of coin to use as the quote currency 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + MakerFeeRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate,omitempty"` // taker_fee_rate defines the fee percentage takers pay when trading - 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,omitempty"` + TakerFeeRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate,omitempty"` + // min_notional defines the minimum notional for orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,10,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` + AdminInfo *AdminInfo `protobuf:"bytes,11,opt,name=admin_info,json=adminInfo,proto3" json:"admin_info,omitempty"` } func (m *SpotMarketLaunchProposal) Reset() { *m = SpotMarketLaunchProposal{} } @@ -272,22 +281,26 @@ type PerpetualMarketLaunchProposal struct { OracleType types.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 - 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"` + InitialMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"initial_margin_ratio"` // 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"` + MaintenanceMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,10,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maintenance_margin_ratio"` // 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"` + MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate"` // 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"` + TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` // 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,14,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,15,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` + AdminInfo *AdminInfo `protobuf:"bytes,16,opt,name=admin_info,json=adminInfo,proto3" json:"admin_info,omitempty"` } func (m *PerpetualMarketLaunchProposal) Reset() { *m = PerpetualMarketLaunchProposal{} } @@ -345,15 +358,19 @@ type BinaryOptionsMarketLaunchProposal struct { // Address of the quote currency denomination for the binary options contract QuoteDenom string `protobuf:"bytes,11,opt,name=quote_denom,json=quoteDenom,proto3" json:"quote_denom,omitempty"` // maker_fee_rate defines the maker fee rate of a binary options 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"` + MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` // 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,14,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,15,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,16,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` + AdminPermissions uint32 `protobuf:"varint,17,opt,name=admin_permissions,json=adminPermissions,proto3" json:"admin_permissions,omitempty"` } func (m *BinaryOptionsMarketLaunchProposal) Reset() { *m = BinaryOptionsMarketLaunchProposal{} } @@ -410,22 +427,26 @@ type ExpiryFuturesMarketLaunchProposal struct { Expiry int64 `protobuf:"varint,9,opt,name=expiry,proto3" json:"expiry,omitempty"` // 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"` + InitialMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,10,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"initial_margin_ratio"` // 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"` + MaintenanceMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maintenance_margin_ratio"` // 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"` + MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate"` // 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"` + TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` // 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,14,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,15,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,16,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` + AdminInfo *AdminInfo `protobuf:"bytes,17,opt,name=admin_info,json=adminInfo,proto3" json:"admin_info,omitempty"` } func (m *ExpiryFuturesMarketLaunchProposal) Reset() { *m = ExpiryFuturesMarketLaunchProposal{} } @@ -467,32 +488,37 @@ type DerivativeMarketParamUpdateProposal struct { 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 - 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"` + InitialMarginRatio *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"initial_margin_ratio,omitempty"` // 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"` + MaintenanceMarginRatio *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maintenance_margin_ratio,omitempty"` // 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"` + MakerFeeRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate,omitempty"` // 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"` + TakerFeeRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate,omitempty"` // 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"` + RelayerFeeShareRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"relayer_fee_share_rate,omitempty"` // 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"` + MinPriceTickSize *cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size,omitempty"` // 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"` + MinQuantityTickSize *cosmossdk_io_math.LegacyDec `protobuf:"bytes,10,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + HourlyInterestRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=HourlyInterestRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"HourlyInterestRate,omitempty"` // 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"` + HourlyFundingRateCap *cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=HourlyFundingRateCap,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + Ticker string `protobuf:"bytes,15,opt,name=ticker,proto3" json:"ticker,omitempty"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional *cosmossdk_io_math.LegacyDec `protobuf:"bytes,16,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional,omitempty"` + AdminInfo *AdminInfo `protobuf:"bytes,17,opt,name=admin_info,json=adminInfo,proto3" json:"admin_info,omitempty"` } func (m *DerivativeMarketParamUpdateProposal) Reset() { *m = DerivativeMarketParamUpdateProposal{} } @@ -528,18 +554,70 @@ func (m *DerivativeMarketParamUpdateProposal) XXX_DiscardUnknown() { var xxx_messageInfo_DerivativeMarketParamUpdateProposal proto.InternalMessageInfo +type AdminInfo struct { + Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` + AdminPermissions uint32 `protobuf:"varint,2,opt,name=admin_permissions,json=adminPermissions,proto3" json:"admin_permissions,omitempty"` +} + +func (m *AdminInfo) Reset() { *m = AdminInfo{} } +func (m *AdminInfo) String() string { return proto.CompactTextString(m) } +func (*AdminInfo) ProtoMessage() {} +func (*AdminInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_32e9ec9b6b22477c, []int{8} +} +func (m *AdminInfo) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AdminInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AdminInfo.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 *AdminInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_AdminInfo.Merge(m, src) +} +func (m *AdminInfo) XXX_Size() int { + return m.Size() +} +func (m *AdminInfo) XXX_DiscardUnknown() { + xxx_messageInfo_AdminInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_AdminInfo proto.InternalMessageInfo + +func (m *AdminInfo) GetAdmin() string { + if m != nil { + return m.Admin + } + return "" +} + +func (m *AdminInfo) GetAdminPermissions() uint32 { + if m != nil { + return m.AdminPermissions + } + return 0 +} + type MarketForcedSettlementProposal 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"` - SettlementPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=settlement_price,json=settlementPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"settlement_price,omitempty"` + 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"` + SettlementPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=settlement_price,json=settlementPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"settlement_price,omitempty"` } func (m *MarketForcedSettlementProposal) Reset() { *m = MarketForcedSettlementProposal{} } func (m *MarketForcedSettlementProposal) String() string { return proto.CompactTextString(m) } func (*MarketForcedSettlementProposal) ProtoMessage() {} func (*MarketForcedSettlementProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_32e9ec9b6b22477c, []int{8} + return fileDescriptor_32e9ec9b6b22477c, []int{9} } func (m *MarketForcedSettlementProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -578,7 +656,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_32e9ec9b6b22477c, []int{9} + return fileDescriptor_32e9ec9b6b22477c, []int{10} } func (m *UpdateDenomDecimalsProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -613,29 +691,33 @@ type BinaryOptionsMarketParamUpdateProposal struct { 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 - 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"` + MakerFeeRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate,omitempty"` // 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"` + TakerFeeRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate,omitempty"` // 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"` + RelayerFeeShareRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"relayer_fee_share_rate,omitempty"` // 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"` + MinPriceTickSize *cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size,omitempty"` // 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"` + MinQuantityTickSize *cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size,omitempty"` // expiration timestamp ExpirationTimestamp int64 `protobuf:"varint,9,opt,name=expiration_timestamp,json=expirationTimestamp,proto3" json:"expiration_timestamp,omitempty"` // expiration timestamp SettlementTimestamp int64 `protobuf:"varint,10,opt,name=settlement_timestamp,json=settlementTimestamp,proto3" json:"settlement_timestamp,omitempty"` // new price at which market will be settled - SettlementPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,11,opt,name=settlement_price,json=settlementPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"settlement_price,omitempty"` + SettlementPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=settlement_price,json=settlementPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"settlement_price,omitempty"` // admin of the market Admin string `protobuf:"bytes,12,opt,name=admin,proto3" json:"admin,omitempty"` Status MarketStatus `protobuf:"varint,13,opt,name=status,proto3,enum=injective.exchange.v1beta1.MarketStatus" json:"status,omitempty"` OracleParams *ProviderOracleParams `protobuf:"bytes,14,opt,name=oracle_params,json=oracleParams,proto3" json:"oracle_params,omitempty"` + Ticker string `protobuf:"bytes,15,opt,name=ticker,proto3" json:"ticker,omitempty"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional *cosmossdk_io_math.LegacyDec `protobuf:"bytes,16,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional,omitempty"` } func (m *BinaryOptionsMarketParamUpdateProposal) Reset() { @@ -644,7 +726,7 @@ func (m *BinaryOptionsMarketParamUpdateProposal) Reset() { func (m *BinaryOptionsMarketParamUpdateProposal) String() string { return proto.CompactTextString(m) } func (*BinaryOptionsMarketParamUpdateProposal) ProtoMessage() {} func (*BinaryOptionsMarketParamUpdateProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_32e9ec9b6b22477c, []int{10} + return fileDescriptor_32e9ec9b6b22477c, []int{11} } func (m *BinaryOptionsMarketParamUpdateProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -688,7 +770,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_32e9ec9b6b22477c, []int{11} + return fileDescriptor_32e9ec9b6b22477c, []int{12} } func (m *ProviderOracleParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -760,7 +842,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_32e9ec9b6b22477c, []int{12} + return fileDescriptor_32e9ec9b6b22477c, []int{13} } func (m *OracleParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -828,7 +910,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_32e9ec9b6b22477c, []int{13} + return fileDescriptor_32e9ec9b6b22477c, []int{14} } func (m *TradingRewardCampaignLaunchProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -869,7 +951,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_32e9ec9b6b22477c, []int{14} + return fileDescriptor_32e9ec9b6b22477c, []int{15} } func (m *TradingRewardCampaignUpdateProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -901,14 +983,14 @@ var xxx_messageInfo_TradingRewardCampaignUpdateProposal proto.InternalMessageInf type RewardPointUpdate struct { AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` // new_points overwrites the current trading reward points for the account - NewPoints github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,12,opt,name=new_points,json=newPoints,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"new_points"` + NewPoints cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=new_points,json=newPoints,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"new_points"` } 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_32e9ec9b6b22477c, []int{15} + return fileDescriptor_32e9ec9b6b22477c, []int{16} } func (m *RewardPointUpdate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -957,7 +1039,7 @@ func (m *TradingRewardPendingPointsUpdateProposal) Reset() { func (m *TradingRewardPendingPointsUpdateProposal) String() string { return proto.CompactTextString(m) } func (*TradingRewardPendingPointsUpdateProposal) ProtoMessage() {} func (*TradingRewardPendingPointsUpdateProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_32e9ec9b6b22477c, []int{16} + return fileDescriptor_32e9ec9b6b22477c, []int{17} } func (m *TradingRewardPendingPointsUpdateProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -996,7 +1078,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_32e9ec9b6b22477c, []int{17} + return fileDescriptor_32e9ec9b6b22477c, []int{18} } func (m *FeeDiscountProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1035,7 +1117,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_32e9ec9b6b22477c, []int{18} + return fileDescriptor_32e9ec9b6b22477c, []int{19} } func (m *BatchCommunityPoolSpendProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1080,7 +1162,7 @@ func (m *AtomicMarketOrderFeeMultiplierScheduleProposal) String() string { } func (*AtomicMarketOrderFeeMultiplierScheduleProposal) ProtoMessage() {} func (*AtomicMarketOrderFeeMultiplierScheduleProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_32e9ec9b6b22477c, []int{19} + return fileDescriptor_32e9ec9b6b22477c, []int{20} } func (m *AtomicMarketOrderFeeMultiplierScheduleProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1119,6 +1201,7 @@ func init() { proto.RegisterType((*BinaryOptionsMarketLaunchProposal)(nil), "injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposal") proto.RegisterType((*ExpiryFuturesMarketLaunchProposal)(nil), "injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposal") proto.RegisterType((*DerivativeMarketParamUpdateProposal)(nil), "injective.exchange.v1beta1.DerivativeMarketParamUpdateProposal") + proto.RegisterType((*AdminInfo)(nil), "injective.exchange.v1beta1.AdminInfo") proto.RegisterType((*MarketForcedSettlementProposal)(nil), "injective.exchange.v1beta1.MarketForcedSettlementProposal") proto.RegisterType((*UpdateDenomDecimalsProposal)(nil), "injective.exchange.v1beta1.UpdateDenomDecimalsProposal") proto.RegisterType((*BinaryOptionsMarketParamUpdateProposal)(nil), "injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposal") @@ -1138,142 +1221,160 @@ func init() { } var fileDescriptor_32e9ec9b6b22477c = []byte{ - // 2150 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcd, 0x6f, 0x24, 0x47, - 0x15, 0x77, 0xaf, 0x3f, 0xe7, 0xcd, 0xf8, 0x23, 0xed, 0x89, 0x99, 0x78, 0xb3, 0xe3, 0x8f, 0x4d, - 0x76, 0x1d, 0xa4, 0x9d, 0x61, 0x4d, 0x50, 0xc4, 0x4a, 0x08, 0xfc, 0x31, 0x26, 0x16, 0xeb, 0xdd, - 0x49, 0x8f, 0x37, 0x82, 0x48, 0xd0, 0xd4, 0x74, 0x97, 0xed, 0xc2, 0xd3, 0x5d, 0xbd, 0x5d, 0x35, - 0xde, 0x75, 0xc4, 0x11, 0x04, 0x5a, 0x2e, 0x20, 0x81, 0xe0, 0xb2, 0x52, 0xb8, 0x71, 0xe3, 0x00, - 0xff, 0x00, 0x48, 0x48, 0x81, 0x1c, 0xc8, 0x31, 0xe2, 0x10, 0xa1, 0xdd, 0x03, 0x08, 0x89, 0x33, - 0x1c, 0x51, 0x57, 0x55, 0xf7, 0xf4, 0x7c, 0xf7, 0x8c, 0x3d, 0x11, 0x87, 0x3d, 0xcd, 0xd4, 0xab, - 0x57, 0xbf, 0xf7, 0xea, 0xd5, 0x7b, 0xaf, 0x5e, 0x55, 0x35, 0xbc, 0x41, 0xdc, 0xef, 0x61, 0x8b, - 0x93, 0x33, 0x5c, 0xc4, 0x8f, 0xad, 0x13, 0xe4, 0x1e, 0xe3, 0xe2, 0xd9, 0xed, 0x2a, 0xe6, 0xe8, - 0x76, 0xd1, 0xf3, 0xa9, 0x47, 0x19, 0xaa, 0x15, 0x3c, 0x9f, 0x72, 0xaa, 0x2f, 0x47, 0xac, 0x85, - 0x90, 0xb5, 0xa0, 0x58, 0x97, 0xf3, 0x16, 0x65, 0x0e, 0x65, 0xc5, 0x2a, 0x62, 0x8d, 0xf1, 0x16, - 0x25, 0xae, 0x1c, 0xbb, 0x5c, 0x50, 0xfd, 0x36, 0x61, 0xdc, 0x27, 0xd5, 0x3a, 0x27, 0xd4, 0x8d, - 0xf8, 0xe2, 0x44, 0xc5, 0xff, 0x39, 0xc5, 0xef, 0xb0, 0xe3, 0xe2, 0xd9, 0xed, 0xe0, 0x47, 0x75, - 0xbc, 0x22, 0x3b, 0x4c, 0xd1, 0x2a, 0xca, 0x86, 0xea, 0xca, 0x1e, 0xd3, 0x63, 0x2a, 0xe9, 0xc1, - 0x3f, 0x45, 0xed, 0x35, 0xc1, 0x68, 0x1a, 0x92, 0xf5, 0xf5, 0x06, 0x2b, 0xf5, 0x91, 0x55, 0x6b, - 0x30, 0xca, 0xa6, 0x64, 0x5b, 0xff, 0xdd, 0x24, 0x5c, 0xab, 0x78, 0x94, 0x1f, 0x20, 0xff, 0x14, - 0xf3, 0x32, 0xf2, 0x91, 0xf3, 0xc0, 0xb3, 0x11, 0xc7, 0x65, 0x65, 0x2f, 0x3d, 0x0b, 0x93, 0x9c, - 0xf0, 0x1a, 0xce, 0x69, 0xab, 0xda, 0x46, 0xca, 0x90, 0x0d, 0x7d, 0x15, 0xd2, 0x36, 0x66, 0x96, - 0x4f, 0xbc, 0x60, 0xa2, 0xb9, 0x2b, 0xa2, 0x2f, 0x4e, 0xd2, 0xaf, 0x42, 0xca, 0x11, 0xa0, 0x26, - 0xb1, 0x73, 0xe3, 0xa2, 0x7f, 0x46, 0x12, 0xf6, 0x6d, 0xfd, 0x10, 0xe6, 0x1c, 0x74, 0x8a, 0x7d, - 0xf3, 0x08, 0x63, 0xd3, 0x47, 0x1c, 0xe7, 0x26, 0x02, 0x8e, 0xed, 0xc2, 0x87, 0x9f, 0xae, 0x68, - 0x7f, 0xfb, 0x74, 0xe5, 0xc6, 0x31, 0xe1, 0x27, 0xf5, 0x6a, 0xc1, 0xa2, 0x8e, 0xb2, 0x8b, 0xfa, - 0xb9, 0xc5, 0xec, 0xd3, 0x22, 0x3f, 0xf7, 0x30, 0x2b, 0xec, 0x62, 0xcb, 0xc8, 0x08, 0x94, 0x3d, - 0x8c, 0x0d, 0xc4, 0x71, 0x80, 0xca, 0x9b, 0x51, 0x27, 0x87, 0x43, 0xe5, 0x71, 0x54, 0x0b, 0x96, - 0x7c, 0x5c, 0x43, 0xe7, 0x0a, 0x97, 0x9d, 0x20, 0x5f, 0xa1, 0x4f, 0x0d, 0x85, 0xbe, 0xa8, 0xd0, - 0xf6, 0x30, 0xae, 0x04, 0x58, 0x42, 0xc8, 0xb7, 0x61, 0xd1, 0x21, 0xae, 0xe9, 0xf9, 0xc4, 0xc2, - 0x26, 0x27, 0xd6, 0xa9, 0xc9, 0xc8, 0xfb, 0x38, 0x37, 0x3d, 0x94, 0x84, 0x05, 0x87, 0xb8, 0xe5, - 0x00, 0xe9, 0x90, 0x58, 0xa7, 0x15, 0xf2, 0xbe, 0x98, 0x43, 0x00, 0xff, 0xb0, 0x8e, 0x5c, 0x4e, - 0xf8, 0x79, 0x4c, 0xc2, 0xcc, 0x70, 0x73, 0x70, 0x88, 0xfb, 0x8e, 0x02, 0x8b, 0x84, 0x7c, 0x0d, - 0xa6, 0x18, 0x47, 0xbc, 0xce, 0x72, 0xa9, 0x55, 0x6d, 0x63, 0x6e, 0x73, 0xa3, 0xd0, 0x3d, 0xc8, - 0x0a, 0xd2, 0xe1, 0x2a, 0x82, 0xdf, 0x50, 0xe3, 0xee, 0xdc, 0xf8, 0xf1, 0x07, 0x2b, 0x63, 0xff, - 0xfc, 0x60, 0x65, 0xec, 0x2f, 0xbf, 0xbf, 0xb5, 0xac, 0xe2, 0xe1, 0x98, 0x9e, 0x45, 0x83, 0x76, - 0xa8, 0xcb, 0xb1, 0xcb, 0xd7, 0x7f, 0xa3, 0xc1, 0x52, 0x49, 0x21, 0x96, 0x5c, 0x54, 0xad, 0x5d, - 0xdc, 0x5d, 0xef, 0x42, 0x26, 0xd4, 0xf1, 0xf0, 0xdc, 0xc3, 0xc2, 0x63, 0xfb, 0x4c, 0xa1, 0x14, - 0xe3, 0x37, 0x9a, 0x46, 0xdf, 0x99, 0x09, 0x27, 0xb2, 0xfe, 0x8f, 0x0c, 0xac, 0x6d, 0x23, 0x6e, - 0x9d, 0x84, 0xdc, 0x07, 0xd4, 0x26, 0x47, 0xc4, 0x42, 0x81, 0xd4, 0x0b, 0x6b, 0xfd, 0x43, 0x0d, - 0xd6, 0x99, 0x47, 0xb9, 0xa9, 0x42, 0xcd, 0x0b, 0x02, 0xd8, 0xac, 0x8b, 0x08, 0x36, 0xc3, 0x94, - 0xc7, 0x72, 0xe3, 0xab, 0xe3, 0x1b, 0xe9, 0xcd, 0x2f, 0xf7, 0x9a, 0x4c, 0xcf, 0x24, 0x60, 0xe4, - 0x59, 0xaf, 0x6e, 0xa6, 0xff, 0x52, 0x83, 0x0d, 0x1b, 0xfb, 0xe4, 0x0c, 0x05, 0xe8, 0x7d, 0xb4, - 0x99, 0x10, 0xda, 0x7c, 0xb5, 0x97, 0x36, 0xbb, 0x11, 0x56, 0x77, 0x9d, 0x5e, 0xb3, 0xfb, 0x33, - 0x31, 0xbd, 0x0e, 0xaf, 0xc6, 0x0d, 0x54, 0x43, 0x75, 0xd7, 0x3a, 0x89, 0x29, 0x33, 0x29, 0x94, - 0x79, 0x33, 0x99, 0x69, 0xee, 0x8a, 0xd1, 0x91, 0x06, 0xaf, 0xb0, 0x2e, 0x3d, 0x4c, 0xff, 0x81, - 0x06, 0x6b, 0x1e, 0xf6, 0x3d, 0xcc, 0xeb, 0xa8, 0xd6, 0x55, 0xf8, 0x54, 0xff, 0x75, 0x29, 0x87, - 0x20, 0x1d, 0x35, 0xc8, 0x7b, 0xbd, 0xba, 0x99, 0xfe, 0x33, 0x0d, 0x6e, 0xe0, 0xc7, 0x1e, 0xf1, - 0xcf, 0xcd, 0xa3, 0x3a, 0xaf, 0xfb, 0x98, 0x75, 0xd5, 0x65, 0x5a, 0xe8, 0xf2, 0x95, 0xde, 0x0e, - 0x1f, 0x20, 0xed, 0x49, 0xa0, 0x8e, 0xfa, 0xac, 0xe3, 0x7e, 0x2c, 0x4c, 0xff, 0x85, 0x06, 0x37, - 0xb9, 0x8f, 0x6c, 0xe2, 0x1e, 0x9b, 0x3e, 0x7e, 0x84, 0x7c, 0xdb, 0xb4, 0x90, 0xe3, 0x21, 0x72, - 0xec, 0xb6, 0xfa, 0x8a, 0xc8, 0x4e, 0x7d, 0x5c, 0xe5, 0x50, 0x42, 0x19, 0x02, 0x69, 0x47, 0x01, - 0xb5, 0xb8, 0xca, 0x75, 0xde, 0x9f, 0x49, 0xd8, 0xaa, 0x4a, 0x5c, 0xe4, 0x9f, 0x9b, 0x54, 0x44, - 0x57, 0x77, 0x5b, 0xa5, 0xfa, 0xdb, 0x6a, 0x5b, 0x20, 0xdd, 0x97, 0x40, 0x9d, 0x6d, 0x55, 0xed, - 0xc7, 0xc2, 0xf4, 0x9f, 0x6b, 0xf0, 0x7a, 0x8b, 0x4e, 0x5d, 0x82, 0x0a, 0x84, 0x4a, 0xdb, 0x03, - 0xaa, 0xd4, 0x29, 0xae, 0xd6, 0x9a, 0xf4, 0xea, 0x18, 0x54, 0xdf, 0x87, 0xbc, 0x8d, 0x5d, 0xea, - 0x98, 0x36, 0xb6, 0x88, 0x83, 0x6a, 0xac, 0x6d, 0xe1, 0xd2, 0x62, 0xe1, 0xde, 0xea, 0xa5, 0x8e, - 0x04, 0xdd, 0x0d, 0x70, 0x76, 0x15, 0x4c, 0xa4, 0xc3, 0x55, 0x3b, 0x4e, 0x6e, 0x59, 0x28, 0x0b, - 0x5e, 0x0e, 0x36, 0x62, 0x9b, 0x30, 0x8b, 0xd6, 0x5d, 0xde, 0x10, 0x9a, 0x11, 0x42, 0x8b, 0xbd, - 0x84, 0xee, 0x61, 0xbc, 0xab, 0xc6, 0x45, 0xc2, 0x16, 0x8f, 0xda, 0x89, 0xfa, 0x8f, 0x34, 0x58, - 0x57, 0xcb, 0x7f, 0x44, 0x7d, 0x0b, 0xdb, 0x26, 0xc3, 0x9c, 0xd7, 0xb0, 0x83, 0x63, 0x12, 0x59, - 0x6e, 0x56, 0x98, 0xfd, 0x4e, 0xff, 0x9d, 0x6e, 0x4f, 0x80, 0x54, 0x22, 0x8c, 0x48, 0xfa, 0x8a, - 0xd3, 0xb3, 0x3f, 0xf9, 0xa6, 0xf8, 0xc7, 0x09, 0xc8, 0x75, 0x4b, 0x55, 0x43, 0x6f, 0x30, 0x4b, - 0x30, 0x15, 0xd4, 0x0a, 0xd8, 0x57, 0x25, 0x9c, 0x6a, 0xe9, 0xd7, 0x00, 0x82, 0xf2, 0xd8, 0x14, - 0xeb, 0x24, 0x8b, 0x37, 0x23, 0x15, 0x50, 0xc4, 0x7a, 0xea, 0x2b, 0x90, 0x7e, 0x58, 0xa7, 0x3c, - 0xec, 0x17, 0x65, 0x98, 0x01, 0x82, 0x24, 0x19, 0xba, 0xd4, 0x3b, 0x8d, 0x8a, 0x6a, 0x6c, 0x44, - 0xf5, 0xce, 0xf4, 0x50, 0x12, 0x3a, 0xd6, 0x3b, 0xed, 0x45, 0xec, 0xcc, 0x48, 0x8a, 0xd8, 0xd4, - 0xc5, 0x8b, 0xd8, 0xc4, 0x4e, 0xf4, 0xdb, 0x69, 0xb8, 0xd6, 0x73, 0xcb, 0xb9, 0x74, 0x4f, 0x6a, - 0x71, 0x95, 0x89, 0x36, 0x57, 0x59, 0x81, 0xb4, 0x3c, 0xb2, 0x98, 0x81, 0x7f, 0x85, 0xbe, 0x24, - 0x49, 0xdb, 0x88, 0x61, 0x7d, 0x0d, 0x32, 0x8a, 0x41, 0x8c, 0x92, 0x4e, 0x64, 0xa8, 0x41, 0xef, - 0x04, 0x24, 0xbd, 0x00, 0x8b, 0x8a, 0x85, 0x59, 0xa8, 0x86, 0xcd, 0x23, 0x64, 0x71, 0xea, 0x0b, - 0x67, 0x98, 0x35, 0x5e, 0x92, 0x5d, 0x95, 0xa0, 0x67, 0x4f, 0x74, 0xe8, 0xa5, 0x48, 0x66, 0x60, - 0x50, 0xb1, 0xae, 0x73, 0x9b, 0xaf, 0xc5, 0xa2, 0x5c, 0x1d, 0xa2, 0x42, 0xf3, 0xdd, 0x17, 0x4d, - 0x51, 0x08, 0x2a, 0xcd, 0x82, 0xff, 0xfa, 0x77, 0x21, 0x4b, 0x5c, 0xc2, 0x89, 0x2c, 0x01, 0x8e, - 0x89, 0x1b, 0x2c, 0x28, 0xa1, 0xb1, 0x15, 0x1d, 0xc4, 0x09, 0x75, 0x85, 0x75, 0x20, 0xa0, 0x8c, - 0x00, 0x49, 0x3f, 0x81, 0x9c, 0x83, 0x48, 0xb0, 0x76, 0xc8, 0xb5, 0x70, 0xb3, 0x14, 0x18, 0x4a, - 0xca, 0x52, 0x0c, 0x2f, 0x2e, 0xa9, 0xdd, 0xdb, 0xd3, 0x43, 0xe1, 0xf7, 0xf3, 0xf6, 0xcc, 0x70, - 0xa8, 0x4d, 0x47, 0xb6, 0x2e, 0xd9, 0x65, 0x76, 0xe4, 0xd9, 0x65, 0xee, 0xd2, 0xb2, 0x4b, 0xe2, - 0x88, 0xfd, 0xf7, 0x14, 0xac, 0xf5, 0x2d, 0x36, 0x2e, 0x3d, 0x6a, 0xaf, 0xc3, 0x6c, 0x18, 0x50, - 0xe7, 0x4e, 0x95, 0xd6, 0x54, 0xdc, 0xaa, 0x40, 0xac, 0x08, 0x9a, 0x7e, 0x13, 0xe6, 0x15, 0x93, - 0xe7, 0xd3, 0x33, 0x62, 0x63, 0x5f, 0x45, 0xef, 0x9c, 0x24, 0x97, 0x15, 0xb5, 0x35, 0xdc, 0xa6, - 0x86, 0x0c, 0xb7, 0x41, 0xa3, 0xfc, 0x36, 0x64, 0x45, 0xbd, 0x2a, 0xce, 0x62, 0x26, 0x27, 0x0e, - 0x66, 0x1c, 0x39, 0x9e, 0x08, 0xf7, 0x71, 0x63, 0xb1, 0xd1, 0x77, 0x18, 0x76, 0x05, 0x43, 0x62, - 0x75, 0x40, 0x63, 0x48, 0x4a, 0x0e, 0x69, 0xf4, 0x35, 0x86, 0x64, 0x61, 0x12, 0xd9, 0x0e, 0x71, - 0x65, 0x3c, 0x1a, 0xb2, 0xd1, 0x9a, 0xf6, 0xd2, 0x6d, 0x69, 0xaf, 0x3d, 0xde, 0x32, 0x23, 0x89, - 0xb7, 0xd9, 0xd1, 0xc5, 0xdb, 0xdc, 0xc8, 0xe3, 0x6d, 0xfe, 0xb3, 0x8f, 0xb7, 0x8f, 0xa6, 0x61, - 0xad, 0xef, 0x41, 0xe8, 0xc5, 0x2e, 0x39, 0x40, 0xd8, 0x2e, 0xc1, 0x94, 0x3c, 0x36, 0xaa, 0x28, - 0x52, 0xad, 0xae, 0xbb, 0x27, 0x7c, 0x26, 0xbb, 0x67, 0x7a, 0xc4, 0xbb, 0xe7, 0x8b, 0x68, 0xfe, - 0x7f, 0x88, 0xe6, 0x5f, 0xa5, 0xe0, 0x7a, 0x82, 0xcb, 0xa6, 0xd1, 0xdc, 0x82, 0x77, 0x73, 0xf0, - 0xe1, 0xee, 0xc2, 0x07, 0x75, 0xf0, 0xe1, 0xee, 0xc6, 0x93, 0x3b, 0xf8, 0xd4, 0x48, 0x0e, 0x43, - 0xd3, 0x23, 0xbd, 0xd1, 0x9f, 0x19, 0xf9, 0x8d, 0x7e, 0x6a, 0xe4, 0x37, 0xfa, 0x70, 0x79, 0x37, - 0xfa, 0xdf, 0x01, 0xfd, 0x6d, 0x5a, 0xf7, 0x6b, 0xe7, 0xfb, 0x2e, 0xc7, 0x3e, 0x66, 0xdc, 0x68, - 0xae, 0xfb, 0x07, 0x72, 0xcf, 0x76, 0x24, 0xbd, 0x0a, 0x59, 0x49, 0xdd, 0xab, 0xbb, 0xe2, 0x7e, - 0x0e, 0x71, 0xbc, 0x83, 0xbc, 0x58, 0x6e, 0x1c, 0x44, 0x42, 0x47, 0xac, 0xd8, 0xab, 0xc4, 0xec, - 0x70, 0xaf, 0x12, 0xfa, 0x41, 0x54, 0xeb, 0x8a, 0xbb, 0x37, 0x26, 0x32, 0x61, 0xba, 0x37, 0x90, - 0xdc, 0xea, 0x44, 0x26, 0x61, 0x61, 0x55, 0x2c, 0x5b, 0x89, 0x53, 0xd3, 0x7f, 0x35, 0xc8, 0xf7, - 0xbe, 0x3b, 0x1a, 0x4d, 0x56, 0xfa, 0x16, 0x2c, 0x34, 0x5d, 0x75, 0x11, 0x6b, 0xd8, 0xd7, 0xb9, - 0x79, 0x16, 0x53, 0x99, 0x58, 0xc9, 0xb3, 0xf2, 0x5f, 0x35, 0xb8, 0xda, 0xe3, 0x7a, 0x70, 0xe8, - 0x79, 0x97, 0x61, 0xae, 0xf9, 0xde, 0x52, 0xbd, 0x8c, 0xbc, 0xd1, 0xfb, 0x2d, 0x22, 0xa6, 0x82, - 0x31, 0xdb, 0x74, 0x33, 0x99, 0x78, 0x46, 0xff, 0x9a, 0x86, 0x1b, 0xc9, 0xee, 0x5f, 0x5f, 0x3c, - 0xb8, 0xbe, 0x78, 0x70, 0x4d, 0x98, 0x9e, 0xbb, 0x9d, 0x5f, 0x53, 0x83, 0x9f, 0x5f, 0xa1, 0xfb, - 0xf9, 0xb5, 0x53, 0x3e, 0x48, 0x5f, 0x4a, 0x3e, 0x68, 0x1c, 0x8d, 0x33, 0xf1, 0xa3, 0xf1, 0xc5, - 0x33, 0xf6, 0x83, 0xce, 0x19, 0xfb, 0x0b, 0x3d, 0x1f, 0xda, 0xd4, 0x65, 0xc4, 0x25, 0x64, 0xee, - 0x3f, 0x68, 0x90, 0xed, 0x04, 0x17, 0x9c, 0x74, 0xd4, 0x75, 0x89, 0x8c, 0x6d, 0xd5, 0xd2, 0x97, - 0x61, 0x26, 0xba, 0x21, 0x91, 0x91, 0x1d, 0xb5, 0xbb, 0x1d, 0xca, 0xc6, 0x13, 0x1e, 0xca, 0x26, - 0x86, 0x3b, 0x94, 0xad, 0xff, 0x59, 0x83, 0x4c, 0x93, 0xee, 0x2d, 0x07, 0x4c, 0xad, 0xef, 0x01, - 0xf3, 0x4a, 0xe2, 0x03, 0xe6, 0xa8, 0xe7, 0xf2, 0xa7, 0x2b, 0x70, 0xbd, 0xe3, 0x33, 0xe1, 0x25, - 0x1d, 0xda, 0xdf, 0x83, 0xd9, 0xe8, 0x05, 0x93, 0xb8, 0x47, 0x54, 0x4c, 0x28, 0xbd, 0xf9, 0xa5, - 0x81, 0x9f, 0x2d, 0xf7, 0xdd, 0x23, 0x6a, 0x64, 0xac, 0x58, 0x4b, 0xaf, 0xc2, 0xcb, 0x11, 0xb6, - 0x7a, 0x2d, 0xf5, 0x28, 0x8d, 0x5e, 0xd1, 0x0b, 0xbd, 0x64, 0x84, 0xb0, 0x52, 0x48, 0x99, 0xd2, - 0x9a, 0xb1, 0x68, 0xb5, 0xd1, 0x92, 0xfb, 0xf5, 0x47, 0xe3, 0x5d, 0xec, 0x78, 0x49, 0x3b, 0xd8, - 0x28, 0xed, 0x58, 0x87, 0x95, 0x8e, 0x76, 0x34, 0x91, 0x6d, 0x13, 0xb1, 0x23, 0x0f, 0x69, 0xd1, - 0x57, 0x3b, 0x58, 0x74, 0x2b, 0xc4, 0xd4, 0x1f, 0xc2, 0xb5, 0xce, 0x62, 0xe5, 0x83, 0x69, 0xf8, - 0xfd, 0xc1, 0xa0, 0x42, 0x97, 0x3b, 0x08, 0x95, 0x8b, 0x90, 0x7c, 0x35, 0x7f, 0xa2, 0xc1, 0x4b, - 0xe1, 0x70, 0xe2, 0x72, 0x39, 0x5c, 0xbf, 0x09, 0xf3, 0xc8, 0x92, 0xef, 0xaa, 0xc8, 0xb6, 0x7d, - 0xcc, 0x98, 0x5a, 0xc5, 0x39, 0x45, 0xde, 0x92, 0x54, 0xfd, 0x00, 0xc0, 0xc5, 0x8f, 0x4c, 0x2f, - 0x18, 0xcb, 0x86, 0xbc, 0xcd, 0x48, 0xb9, 0xf8, 0x91, 0x10, 0xce, 0xd6, 0x7f, 0x7d, 0x05, 0x36, - 0x9a, 0xd6, 0xb2, 0x8c, 0x45, 0x19, 0x2f, 0xbb, 0x2f, 0xc9, 0xc1, 0xde, 0x84, 0x25, 0x4f, 0xc2, - 0x8a, 0x55, 0x88, 0xed, 0x7f, 0xe3, 0x62, 0xff, 0xcb, 0x7a, 0xa1, 0x50, 0x5a, 0x6b, 0x6c, 0x80, - 0x26, 0x64, 0xa3, 0xa5, 0x23, 0x2e, 0x8f, 0x96, 0x4e, 0xfa, 0xcb, 0xad, 0x5e, 0x4b, 0xd7, 0x66, - 0x5f, 0x43, 0xf7, 0x5b, 0x49, 0x03, 0xbc, 0xf0, 0x6a, 0xb0, 0xd8, 0xe1, 0x01, 0x7b, 0x68, 0x73, - 0x7c, 0x03, 0x66, 0x98, 0x75, 0x82, 0xed, 0x7a, 0x0d, 0xab, 0x50, 0x4b, 0xfa, 0x76, 0x5e, 0x51, - 0xc3, 0x8c, 0x08, 0x20, 0xf1, 0x24, 0x3e, 0xd1, 0x60, 0x45, 0x7c, 0x10, 0xb5, 0x43, 0x1d, 0xa7, - 0xee, 0x12, 0x7e, 0x1e, 0x58, 0xbb, 0x12, 0x58, 0xfe, 0xc2, 0x13, 0x7a, 0x00, 0xa9, 0xd6, 0x8f, - 0x9e, 0xde, 0x52, 0x5f, 0x6b, 0x16, 0x9a, 0x3e, 0xcc, 0x6c, 0x28, 0xd5, 0x4d, 0x07, 0xa3, 0x81, - 0x94, 0x78, 0x6a, 0xff, 0xd1, 0xa0, 0xb0, 0xc5, 0xa9, 0x43, 0x2c, 0x59, 0x95, 0xdc, 0xf7, 0x6d, - 0x51, 0x75, 0x1e, 0xd4, 0x6b, 0x9c, 0x78, 0x35, 0x82, 0xfd, 0xd0, 0x6e, 0x17, 0x9e, 0x29, 0x86, - 0xa5, 0xf0, 0xeb, 0x04, 0x8c, 0x4d, 0x27, 0x12, 0x10, 0x4e, 0xbb, 0x98, 0xe0, 0x8b, 0x84, 0xb8, - 0x62, 0x46, 0xd6, 0x69, 0x27, 0x26, 0x9e, 0xf9, 0xe7, 0x1f, 0x43, 0x26, 0xfe, 0x35, 0x9c, 0xbe, - 0x09, 0xd9, 0xd2, 0x37, 0x77, 0xde, 0xde, 0xba, 0xf7, 0xf5, 0x92, 0xf9, 0xe0, 0x5e, 0xa5, 0x5c, - 0xda, 0xd9, 0xdf, 0xdb, 0x2f, 0xed, 0x2e, 0x8c, 0x2d, 0xe7, 0x9e, 0x3c, 0x5d, 0xed, 0xd8, 0xa7, - 0xeb, 0x30, 0x51, 0x29, 0xdf, 0x3f, 0x5c, 0xd0, 0x96, 0x67, 0x9e, 0x3c, 0x5d, 0x15, 0xff, 0x03, - 0x43, 0xec, 0x96, 0x8c, 0xfd, 0x77, 0xb7, 0x0e, 0xf7, 0xdf, 0x2d, 0x55, 0x16, 0xae, 0x2c, 0xcf, - 0x3f, 0x79, 0xba, 0x1a, 0x27, 0x6d, 0x9f, 0x7c, 0xf8, 0x2c, 0xaf, 0x7d, 0xfc, 0x2c, 0xaf, 0xfd, - 0xfd, 0x59, 0x5e, 0xfb, 0xe9, 0xf3, 0xfc, 0xd8, 0xc7, 0xcf, 0xf3, 0x63, 0x9f, 0x3c, 0xcf, 0x8f, - 0xbd, 0x77, 0x2f, 0x96, 0x84, 0xf6, 0x43, 0x63, 0xdc, 0x45, 0x55, 0x56, 0x8c, 0x4c, 0x73, 0xcb, - 0xa2, 0x3e, 0x8e, 0x37, 0x4f, 0x10, 0x71, 0x8b, 0x0e, 0x0d, 0x96, 0x88, 0x35, 0x3e, 0xb1, 0x15, - 0x09, 0xab, 0x3a, 0x25, 0xbe, 0x98, 0xfd, 0xe2, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa1, 0x8e, - 0xe4, 0xae, 0x66, 0x2c, 0x00, 0x00, + // 2444 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcb, 0x8f, 0x1b, 0x49, + 0xfd, 0x9f, 0x9e, 0x99, 0x4c, 0xec, 0xb2, 0xe7, 0xd5, 0xe3, 0x9d, 0x9f, 0x77, 0x92, 0x78, 0x66, + 0x3a, 0xaf, 0xd9, 0xfc, 0x36, 0x36, 0x09, 0x8b, 0x22, 0x2c, 0x21, 0x98, 0xe7, 0xee, 0x88, 0x64, + 0xe2, 0xb4, 0x67, 0x76, 0x57, 0x11, 0xa8, 0x55, 0xee, 0xae, 0x99, 0x29, 0xe2, 0x7e, 0xa4, 0xab, + 0x3c, 0xc9, 0xac, 0x38, 0x70, 0x60, 0x05, 0xca, 0x09, 0x10, 0x0f, 0x71, 0x88, 0xb4, 0x27, 0xce, + 0x48, 0xf0, 0x0f, 0xc0, 0x01, 0x2d, 0x2b, 0x0e, 0x2b, 0x71, 0x00, 0x71, 0x58, 0xa1, 0x44, 0x08, + 0xfe, 0x02, 0xc4, 0x81, 0x03, 0xea, 0xaa, 0xea, 0x76, 0xdb, 0x6e, 0xb7, 0xdb, 0x1e, 0x9b, 0x3d, + 0x90, 0x4b, 0xe2, 0xfe, 0xd6, 0xb7, 0x3e, 0xf5, 0xad, 0xef, 0xab, 0xbe, 0xf5, 0x18, 0xf0, 0x06, + 0xb6, 0xbe, 0x85, 0x74, 0x8a, 0x4f, 0x50, 0x09, 0x3d, 0xd5, 0x8f, 0xa1, 0x75, 0x84, 0x4a, 0x27, + 0xb7, 0x6a, 0x88, 0xc2, 0x5b, 0x25, 0xc7, 0xb5, 0x1d, 0x9b, 0xc0, 0x7a, 0xd1, 0x71, 0x6d, 0x6a, + 0xcb, 0x4b, 0x01, 0x6b, 0xd1, 0x67, 0x2d, 0x0a, 0xd6, 0xa5, 0x82, 0x6e, 0x13, 0xd3, 0x26, 0xa5, + 0x1a, 0x24, 0xcd, 0xfe, 0xba, 0x8d, 0x2d, 0xde, 0x77, 0xa9, 0x28, 0xda, 0x0d, 0x4c, 0xa8, 0x8b, + 0x6b, 0x0d, 0x8a, 0x6d, 0x2b, 0xe0, 0x0b, 0x13, 0x05, 0xff, 0xff, 0x09, 0x7e, 0x93, 0x1c, 0x95, + 0x4e, 0x6e, 0x79, 0xff, 0x89, 0x86, 0xd7, 0x79, 0x83, 0xc6, 0xbe, 0x4a, 0xfc, 0x43, 0x34, 0xe5, + 0x8e, 0xec, 0x23, 0x9b, 0xd3, 0xbd, 0x5f, 0x82, 0x1a, 0x37, 0xc1, 0x60, 0x1a, 0x9c, 0xf5, 0x6a, + 0x93, 0xd5, 0x76, 0xa1, 0x5e, 0x6f, 0x32, 0xf2, 0x4f, 0xc1, 0x36, 0x0f, 0x4d, 0x6c, 0xd9, 0x25, + 0xf6, 0x2f, 0x27, 0x29, 0x7f, 0x9c, 0x02, 0x97, 0xaa, 0x8e, 0x4d, 0xef, 0x41, 0xf7, 0x11, 0xa2, + 0x15, 0xe8, 0x42, 0xf3, 0xc0, 0x31, 0x20, 0x45, 0x15, 0xa1, 0x42, 0x39, 0x07, 0xce, 0x51, 0x4c, + 0xeb, 0x28, 0x2f, 0xad, 0x48, 0x6b, 0x69, 0x95, 0x7f, 0xc8, 0x2b, 0x20, 0x63, 0x20, 0xa2, 0xbb, + 0xd8, 0xf1, 0xe6, 0x9e, 0x1f, 0x67, 0x6d, 0x61, 0x92, 0x7c, 0x01, 0xa4, 0x4d, 0x06, 0xaa, 0x61, + 0x23, 0x3f, 0xc1, 0xda, 0x53, 0x9c, 0xb0, 0x6b, 0xc8, 0xbb, 0x60, 0xc6, 0x84, 0x8f, 0x90, 0xab, + 0x1d, 0x22, 0xa4, 0xb9, 0x90, 0xa2, 0xfc, 0xa4, 0xc7, 0xb1, 0x71, 0xf9, 0xe3, 0xcf, 0x96, 0xa5, + 0xbf, 0x7c, 0xb6, 0x7c, 0x81, 0xeb, 0x87, 0x18, 0x8f, 0x8a, 0xd8, 0x2e, 0x99, 0x90, 0x1e, 0x17, + 0xef, 0xa2, 0x23, 0xa8, 0x9f, 0x6e, 0x21, 0x5d, 0xcd, 0xb2, 0xae, 0x3b, 0x08, 0xa9, 0x90, 0x22, + 0x0f, 0x8a, 0xb6, 0x42, 0x9d, 0xeb, 0x03, 0x8a, 0x86, 0xa1, 0xde, 0x07, 0x8b, 0x2e, 0xaa, 0xc3, + 0x53, 0x01, 0x46, 0x8e, 0xa1, 0x2b, 0x20, 0xa7, 0x92, 0x43, 0x2e, 0x08, 0x88, 0x1d, 0x84, 0xaa, + 0x1e, 0x00, 0x43, 0x56, 0xc1, 0x82, 0x89, 0x2d, 0xcd, 0x71, 0xb1, 0x8e, 0x34, 0x8a, 0xf5, 0x47, + 0x1a, 0xc1, 0x1f, 0xa0, 0xfc, 0xf9, 0xe4, 0xb0, 0x73, 0x26, 0xb6, 0x2a, 0x5e, 0xf7, 0x7d, 0xac, + 0x3f, 0xaa, 0xe2, 0x0f, 0x98, 0xb4, 0x1e, 0xe6, 0xe3, 0x06, 0xb4, 0x28, 0xa6, 0xa7, 0x21, 0xd8, + 0x54, 0x1f, 0xd2, 0x9a, 0xd8, 0x7a, 0x20, 0x10, 0x02, 0xe4, 0xaf, 0x81, 0x29, 0x42, 0x21, 0x6d, + 0x90, 0x7c, 0x7a, 0x45, 0x5a, 0x9b, 0xb9, 0xbd, 0x56, 0xec, 0x1e, 0x40, 0x45, 0xee, 0x39, 0x55, + 0xc6, 0xaf, 0x8a, 0x7e, 0xf2, 0x45, 0x30, 0xe5, 0x89, 0x83, 0xdc, 0x3c, 0x60, 0xb2, 0x4c, 0x7a, + 0xb2, 0xa8, 0x82, 0x26, 0xef, 0x80, 0xac, 0x27, 0xb9, 0x65, 0x7b, 0x8e, 0x02, 0xeb, 0xf9, 0x4c, + 0x72, 0x79, 0x33, 0x26, 0xb6, 0xf6, 0x44, 0x3f, 0x79, 0x0b, 0x00, 0x68, 0x78, 0x48, 0xd8, 0x3a, + 0xb4, 0xf3, 0xd9, 0x15, 0x69, 0x2d, 0x73, 0xfb, 0x6a, 0x9c, 0xac, 0xeb, 0x1e, 0xf7, 0xae, 0x75, + 0x68, 0xab, 0x69, 0xe8, 0xff, 0x2c, 0x3f, 0xf8, 0xfe, 0x47, 0xcb, 0x63, 0xff, 0xf8, 0x68, 0x79, + 0xec, 0x93, 0x5f, 0xdf, 0x5c, 0x12, 0x71, 0x79, 0x64, 0x9f, 0x04, 0x9d, 0x36, 0x6d, 0x8b, 0x22, + 0x8b, 0x3e, 0xfb, 0xfb, 0x2f, 0x6f, 0x5c, 0x0b, 0x02, 0x31, 0x36, 0x66, 0x94, 0x3f, 0x48, 0x60, + 0x71, 0x5b, 0xb0, 0x6e, 0x5b, 0xb0, 0x56, 0x3f, 0x7b, 0x38, 0xdd, 0x05, 0x59, 0x7f, 0xf0, 0xfd, + 0x53, 0x07, 0xb1, 0x88, 0xea, 0x61, 0x99, 0xed, 0x10, 0xbf, 0xda, 0xd2, 0xbb, 0xfc, 0xa6, 0x3f, + 0x67, 0x6f, 0x56, 0xcb, 0xc1, 0xac, 0xa2, 0x65, 0x56, 0x7e, 0x3a, 0x0d, 0x56, 0x37, 0x20, 0xd5, + 0x8f, 0xfd, 0xf6, 0x7b, 0xb6, 0x81, 0x0f, 0xb1, 0x0e, 0x3d, 0xc9, 0xce, 0x3c, 0xb3, 0x0f, 0x25, + 0xa0, 0x10, 0xc7, 0xa6, 0x9a, 0x48, 0x17, 0x8e, 0xa7, 0x50, 0xad, 0xc1, 0x34, 0xaa, 0xf9, 0x99, + 0x9c, 0xe4, 0x27, 0x56, 0x26, 0xd6, 0x32, 0xb7, 0xbf, 0x1c, 0x37, 0xe1, 0x58, 0xa3, 0xa8, 0x05, + 0x12, 0xd7, 0x4c, 0xe4, 0x9f, 0x49, 0x60, 0xcd, 0x40, 0x2e, 0x3e, 0x81, 0x1e, 0x7a, 0x0f, 0x69, + 0x26, 0x99, 0x34, 0x5f, 0x8d, 0x93, 0x66, 0x2b, 0xc0, 0xea, 0x2e, 0xd3, 0x15, 0xa3, 0x37, 0x13, + 0x91, 0x1b, 0xe0, 0x62, 0x58, 0x41, 0x75, 0xd8, 0xb0, 0xf4, 0xe3, 0x90, 0x30, 0xe7, 0x98, 0x30, + 0x6f, 0x25, 0x53, 0xcd, 0x5d, 0xd6, 0x3b, 0x90, 0xe0, 0x75, 0xd2, 0xa5, 0x85, 0xc8, 0xdf, 0x95, + 0xc0, 0xaa, 0x83, 0x5c, 0x07, 0xd1, 0x06, 0xac, 0x77, 0x1d, 0x7c, 0xaa, 0xb7, 0x5d, 0x2a, 0x3e, + 0x48, 0xa4, 0x04, 0x05, 0x27, 0xae, 0x99, 0xc8, 0x3f, 0x94, 0xc0, 0x35, 0xf4, 0xd4, 0xc1, 0xee, + 0xa9, 0x76, 0xd8, 0xa0, 0x0d, 0x17, 0x91, 0xae, 0xb2, 0x9c, 0x67, 0xb2, 0x7c, 0x25, 0x3e, 0x28, + 0x3c, 0xa4, 0x1d, 0x0e, 0x14, 0x29, 0x8f, 0x82, 0x7a, 0xb1, 0x10, 0xf9, 0x27, 0x12, 0xb8, 0x4e, + 0x5d, 0x68, 0x60, 0xeb, 0x48, 0x73, 0xd1, 0x13, 0xe8, 0x1a, 0x9a, 0x0e, 0x4d, 0x07, 0xe2, 0x23, + 0xab, 0xdd, 0x57, 0x58, 0x36, 0xee, 0xe1, 0x2a, 0xfb, 0x1c, 0x4a, 0x65, 0x48, 0x9b, 0x02, 0xa8, + 0xcd, 0x55, 0x2e, 0xd3, 0xde, 0x4c, 0x4c, 0x57, 0x35, 0x6c, 0x41, 0xf7, 0x54, 0xb3, 0x59, 0x74, + 0x75, 0xd7, 0x55, 0xba, 0xb7, 0xae, 0x36, 0x18, 0xd2, 0x7d, 0x0e, 0x14, 0xad, 0xab, 0x5a, 0x2f, + 0x16, 0x22, 0xff, 0x58, 0x02, 0x57, 0xdb, 0x64, 0xea, 0x12, 0x54, 0x80, 0x89, 0xb4, 0xd1, 0xa7, + 0x48, 0x51, 0x71, 0xb5, 0xda, 0x22, 0x57, 0x64, 0x50, 0x7d, 0x1b, 0x14, 0x0c, 0x64, 0xd9, 0xa6, + 0x66, 0x20, 0x1d, 0x9b, 0xb0, 0x4e, 0x3a, 0x0c, 0x97, 0x61, 0x86, 0xbb, 0x13, 0x27, 0x0e, 0x07, + 0xdd, 0xf2, 0x70, 0xb6, 0x04, 0x4c, 0x20, 0xc3, 0x05, 0x23, 0x4c, 0x6e, 0x33, 0x94, 0x0e, 0x5e, + 0xf3, 0x4a, 0x0c, 0x03, 0x13, 0xdd, 0x6e, 0x58, 0xb4, 0x39, 0x28, 0x5f, 0xc5, 0x4a, 0x71, 0x83, + 0xee, 0x20, 0xb4, 0x25, 0xfa, 0x05, 0x83, 0x2d, 0x1c, 0x76, 0x12, 0xe5, 0xef, 0x49, 0x40, 0x11, + 0xe6, 0x3f, 0xb4, 0x5d, 0x1d, 0x19, 0x1a, 0x41, 0x94, 0xd6, 0x91, 0x89, 0x42, 0x23, 0x92, 0xfc, + 0x34, 0x53, 0x7b, 0xb9, 0xf7, 0x22, 0xbf, 0xc3, 0x40, 0xaa, 0x01, 0x46, 0x30, 0xfa, 0xb2, 0x19, + 0xdb, 0x4e, 0xca, 0x07, 0xc9, 0xd7, 0xd8, 0x1b, 0xc1, 0x6a, 0xd4, 0x73, 0xc9, 0x51, 0x3e, 0x39, + 0x07, 0xf2, 0xdd, 0x32, 0xdb, 0xc0, 0xeb, 0xd1, 0x62, 0x50, 0xbb, 0xf0, 0xaa, 0xd5, 0xaf, 0x5a, + 0x2e, 0x01, 0xe0, 0x6d, 0x12, 0x34, 0x66, 0x56, 0x5e, 0xaf, 0xaa, 0x69, 0x8f, 0xc2, 0xcc, 0x2f, + 0x2f, 0x83, 0xcc, 0xe3, 0x86, 0x4d, 0xfd, 0x76, 0x56, 0x84, 0xaa, 0x80, 0x91, 0x38, 0x43, 0x97, + 0x1a, 0xb0, 0x59, 0x5a, 0x8e, 0x0d, 0xb3, 0x06, 0x3c, 0x9f, 0x1c, 0x36, 0xb2, 0x06, 0xec, 0xac, + 0xd0, 0x53, 0xc3, 0xab, 0xd0, 0xd3, 0x83, 0x56, 0xe8, 0xed, 0x95, 0x23, 0x48, 0x3e, 0xcb, 0x98, + 0xca, 0x31, 0x33, 0x60, 0xe5, 0x78, 0x37, 0xb9, 0x57, 0xaf, 0x46, 0x54, 0x8e, 0xad, 0xfe, 0xaa, + 0xfc, 0x22, 0x05, 0x2e, 0xc5, 0xae, 0x94, 0x43, 0xf7, 0xe8, 0x36, 0x97, 0x9d, 0xec, 0x70, 0xd9, + 0x65, 0x90, 0xe1, 0x1b, 0x48, 0xcd, 0xf3, 0x73, 0xdf, 0xa7, 0x39, 0x69, 0x03, 0x12, 0x24, 0xaf, + 0x82, 0xac, 0x60, 0x60, 0xbd, 0xb8, 0x33, 0xab, 0xa2, 0xd3, 0x03, 0x8f, 0x24, 0x17, 0xc1, 0x82, + 0x60, 0x21, 0x3a, 0xac, 0x23, 0xed, 0x10, 0xea, 0xd4, 0x76, 0x99, 0x7f, 0x4e, 0xab, 0xf3, 0xbc, + 0xa9, 0xea, 0xb5, 0xec, 0xb0, 0x06, 0x79, 0x3b, 0x18, 0x93, 0x7a, 0x75, 0x6e, 0x8a, 0xd5, 0xb9, + 0x57, 0x42, 0xb6, 0x11, 0x5b, 0x5a, 0x5f, 0xc9, 0xf7, 0xd9, 0x27, 0xab, 0x71, 0x85, 0x64, 0xde, + 0x6f, 0xf9, 0x00, 0xe4, 0xb0, 0x85, 0x29, 0xe6, 0x95, 0xcb, 0x11, 0xb6, 0x3c, 0xcf, 0xc3, 0x76, + 0xc8, 0xf5, 0x7a, 0x7a, 0x8c, 0x2c, 0x00, 0xee, 0xb1, 0xfe, 0xaa, 0xd7, 0x5d, 0xfe, 0x26, 0xc8, + 0x9b, 0x10, 0x7b, 0x66, 0x85, 0x96, 0x8e, 0x5a, 0xa1, 0xfb, 0x70, 0xc6, 0xc5, 0x10, 0x48, 0x18, + 0xbe, 0x33, 0xea, 0x32, 0xc9, 0x41, 0x7b, 0x45, 0x5d, 0xb6, 0x0f, 0xa8, 0x96, 0xa8, 0xeb, 0x92, + 0xb9, 0xa6, 0x47, 0x93, 0xb9, 0x66, 0xce, 0x98, 0xb9, 0xda, 0x73, 0xc4, 0xec, 0x50, 0x72, 0xc4, + 0xdc, 0x7f, 0x73, 0x77, 0x19, 0x9b, 0x06, 0x94, 0xbf, 0x9d, 0x07, 0xab, 0x3d, 0x4b, 0xb3, 0xa1, + 0x27, 0x8b, 0xcb, 0x60, 0xda, 0x8f, 0xe3, 0x53, 0xb3, 0x66, 0xd7, 0x45, 0xba, 0x10, 0xf1, 0x5f, + 0x65, 0x34, 0xf9, 0x3a, 0x98, 0x15, 0x4c, 0x8e, 0x6b, 0x9f, 0x60, 0x03, 0xb9, 0x22, 0x69, 0xcc, + 0x70, 0x72, 0x45, 0x50, 0xdb, 0xa3, 0x7c, 0x6a, 0xc0, 0x28, 0xef, 0x37, 0xb9, 0xdc, 0x02, 0x39, + 0x56, 0xdd, 0xb3, 0x32, 0x42, 0xa3, 0xd8, 0x44, 0x84, 0x42, 0xd3, 0x61, 0x59, 0x66, 0x42, 0x5d, + 0x68, 0xb6, 0xed, 0xfb, 0x4d, 0x5e, 0x97, 0x50, 0xd5, 0xd4, 0xec, 0x92, 0xe6, 0x5d, 0x9a, 0x6d, + 0xcd, 0x2e, 0x39, 0x70, 0x8e, 0x39, 0x00, 0xcf, 0x08, 0x2a, 0xff, 0x68, 0xcf, 0xb6, 0x99, 0x8e, + 0x6c, 0xdb, 0x19, 0xfc, 0xd9, 0xe1, 0x05, 0xff, 0xf4, 0x90, 0x83, 0x7f, 0x66, 0x34, 0xc1, 0x3f, + 0x3b, 0xe4, 0xe0, 0x9f, 0x1b, 0x30, 0xf8, 0xff, 0x1f, 0xcc, 0xf3, 0xe0, 0x77, 0x90, 0x6b, 0x62, + 0x42, 0xbc, 0x30, 0xcb, 0xcf, 0x33, 0xb7, 0x9a, 0x63, 0x0d, 0x95, 0x26, 0x7d, 0xc0, 0xea, 0xb6, + 0x57, 0x04, 0x2b, 0xbf, 0x4b, 0x81, 0xd5, 0x9e, 0xdb, 0xd5, 0x57, 0x45, 0x41, 0x1f, 0xe9, 0x62, + 0x11, 0x4c, 0xf1, 0xcd, 0xbd, 0x88, 0x5e, 0xf1, 0xd5, 0xb5, 0x58, 0x00, 0xa3, 0x2b, 0x16, 0x32, + 0xa3, 0x28, 0x16, 0x5e, 0xe5, 0x8b, 0xcf, 0x2b, 0x5f, 0xb4, 0x16, 0x0b, 0xf3, 0x03, 0x16, 0x0b, + 0x03, 0x25, 0x92, 0x9e, 0x29, 0x42, 0xf9, 0x11, 0x00, 0x97, 0x13, 0x9c, 0x46, 0x8e, 0xe6, 0xaa, + 0xa7, 0x5b, 0x6c, 0xf5, 0x71, 0xe1, 0xd3, 0x6f, 0x6c, 0xf5, 0x71, 0x01, 0x94, 0x3c, 0xb6, 0xa6, + 0x86, 0xb7, 0xfd, 0x3d, 0x3f, 0xfc, 0x0b, 0xaa, 0xd4, 0x68, 0x2e, 0xa8, 0xd2, 0xa3, 0xb9, 0xa0, + 0x02, 0x67, 0xbc, 0xa0, 0xaa, 0x02, 0xf9, 0x1d, 0xbb, 0xe1, 0xd6, 0x4f, 0x77, 0x2d, 0x8a, 0x5c, + 0x44, 0xa8, 0xda, 0xba, 0x55, 0xea, 0xed, 0x51, 0x9d, 0xdd, 0xe5, 0xf7, 0x40, 0x8e, 0x53, 0x77, + 0x1a, 0x16, 0x3b, 0x68, 0x85, 0x14, 0x6d, 0x42, 0x27, 0x94, 0x54, 0x7b, 0xc2, 0x46, 0x02, 0x84, + 0xae, 0xd3, 0xa6, 0x07, 0xbc, 0x4e, 0xbb, 0x17, 0xd4, 0xde, 0xec, 0xe4, 0x94, 0xb0, 0x6c, 0x9a, + 0x89, 0x07, 0xe2, 0x4b, 0x20, 0x0b, 0x73, 0xe2, 0x57, 0xe9, 0xfc, 0x2b, 0x74, 0x3b, 0x37, 0x9b, + 0xe0, 0x76, 0x6e, 0x6e, 0x28, 0xb7, 0x73, 0x83, 0xa6, 0xc4, 0xf7, 0x92, 0xa7, 0xc4, 0x37, 0x83, + 0x94, 0x98, 0x20, 0xd9, 0x29, 0x7b, 0x20, 0x1d, 0x0c, 0xd8, 0xac, 0xd8, 0xa5, 0x70, 0xc5, 0x1e, + 0x59, 0x04, 0x8e, 0x47, 0x17, 0x81, 0xca, 0xcf, 0xc7, 0x41, 0x21, 0xfe, 0x98, 0x74, 0x34, 0xf9, + 0x75, 0x0f, 0xcc, 0xb5, 0x9c, 0xea, 0x62, 0xbd, 0xaf, 0xcb, 0xf4, 0x59, 0x12, 0x92, 0x13, 0xeb, + 0xa8, 0xac, 0x26, 0x57, 0xf8, 0xf5, 0x40, 0xe1, 0xf1, 0x13, 0x57, 0xfe, 0x25, 0x81, 0x0b, 0x31, + 0x47, 0xe5, 0x03, 0x2b, 0xa6, 0x02, 0x66, 0x5a, 0xcf, 0xf0, 0xc5, 0x2d, 0xe1, 0x1b, 0xf1, 0xf7, + 0x72, 0x21, 0x11, 0xd4, 0xe9, 0x96, 0x53, 0xfa, 0xf2, 0xfd, 0xe4, 0xb3, 0xbf, 0x12, 0xcc, 0x3e, + 0x66, 0x6a, 0xca, 0x6f, 0x53, 0xe0, 0x5a, 0xb2, 0x4b, 0x8b, 0x57, 0x2f, 0x2d, 0xfe, 0xf7, 0x5e, + 0x5a, 0x74, 0x3b, 0x8f, 0x48, 0xf7, 0x7f, 0x1e, 0x01, 0xba, 0x9f, 0x47, 0x44, 0xa5, 0x88, 0xcc, + 0xe0, 0x29, 0xa2, 0x99, 0x2d, 0xb3, 0xe1, 0x6c, 0x79, 0xf6, 0x65, 0xee, 0x20, 0x7a, 0x99, 0xfb, + 0x42, 0xec, 0xdd, 0xb2, 0x38, 0x51, 0xfa, 0xbc, 0x97, 0xbb, 0xf2, 0xc3, 0xe4, 0x99, 0xa3, 0x14, + 0x77, 0x08, 0x10, 0xb5, 0x56, 0xfd, 0x46, 0x02, 0xb9, 0xa8, 0x89, 0x7a, 0x1b, 0x5a, 0x71, 0x1a, + 0xc7, 0x73, 0x86, 0xf8, 0x92, 0x97, 0x40, 0x2a, 0x38, 0x80, 0xe3, 0x19, 0x23, 0xf8, 0xee, 0xb6, + 0xf7, 0x9e, 0x48, 0xb8, 0xf7, 0x9e, 0x1c, 0x6c, 0xef, 0xad, 0xfc, 0x5e, 0x02, 0xd9, 0x16, 0xd9, + 0xdb, 0xce, 0x11, 0xa4, 0x9e, 0xe7, 0x08, 0xe3, 0x89, 0xcf, 0x11, 0x46, 0x3d, 0x97, 0x7f, 0x8e, + 0x83, 0xcb, 0x91, 0x77, 0xf6, 0x43, 0x3a, 0x9b, 0x79, 0x08, 0xa6, 0x83, 0xe7, 0x04, 0xac, 0x7a, + 0x9a, 0x60, 0x81, 0xf0, 0xa5, 0xbe, 0xdf, 0x10, 0xb0, 0x6a, 0x2a, 0xab, 0x87, 0xbe, 0xe4, 0x1a, + 0x78, 0x2d, 0xc0, 0x16, 0x4f, 0x17, 0x1c, 0xdb, 0x0e, 0x9e, 0xb4, 0x14, 0xe3, 0xc6, 0xf0, 0x61, + 0xf9, 0x20, 0x15, 0xdb, 0xae, 0xab, 0x0b, 0x7a, 0x07, 0x8d, 0x0c, 0x56, 0xb4, 0x25, 0x50, 0xa8, + 0xf2, 0xef, 0x89, 0x2e, 0x8a, 0x1f, 0xd2, 0x52, 0x3a, 0x4a, 0xc5, 0x37, 0xc0, 0x72, 0xa4, 0xe2, + 0x35, 0x68, 0x18, 0x98, 0x25, 0x80, 0x01, 0x4d, 0x70, 0x31, 0xc2, 0x04, 0xeb, 0x3e, 0xa6, 0xfc, + 0x18, 0x5c, 0x8a, 0x1e, 0x96, 0x3f, 0x77, 0xf0, 0x5f, 0x0f, 0xf5, 0x3b, 0xe8, 0x52, 0xc4, 0xa0, + 0xdc, 0x08, 0xc3, 0x34, 0x7f, 0x5b, 0x1e, 0xfc, 0x8e, 0x04, 0xe6, 0xfd, 0xf1, 0xb0, 0x45, 0x79, + 0xab, 0x7c, 0x1d, 0xcc, 0x42, 0x9d, 0x3f, 0xa3, 0x80, 0x86, 0xe1, 0x22, 0x42, 0x84, 0xd9, 0x67, + 0x04, 0x79, 0x9d, 0x53, 0xe5, 0x0d, 0x00, 0x2c, 0xf4, 0x44, 0x73, 0xbc, 0xbe, 0xa4, 0x9f, 0xc3, + 0xb2, 0xb4, 0x85, 0x9e, 0xb0, 0x11, 0x89, 0xf2, 0xa7, 0x71, 0xb0, 0xd6, 0x22, 0x6a, 0x05, 0xb1, + 0xcd, 0x1e, 0x6f, 0x1e, 0x92, 0x1b, 0xbe, 0x05, 0x16, 0x1d, 0x0e, 0xcb, 0x6c, 0x15, 0x5a, 0xe5, + 0x27, 0xd8, 0x2a, 0x9f, 0x73, 0xfc, 0x41, 0xed, 0x7a, 0x73, 0x99, 0xd7, 0x40, 0x2e, 0x30, 0x30, + 0xb6, 0x68, 0x60, 0x60, 0xee, 0x55, 0x37, 0xe3, 0x0c, 0xdc, 0xa1, 0x54, 0x55, 0x76, 0xdb, 0x49, + 0xa4, 0xfc, 0x8d, 0xe4, 0x76, 0xbd, 0x15, 0x6d, 0xd7, 0x18, 0x65, 0x29, 0x2f, 0x25, 0xb0, 0x10, + 0xf1, 0xb4, 0x65, 0x60, 0x25, 0x7e, 0x1d, 0xa4, 0x88, 0x7e, 0x8c, 0x8c, 0x46, 0x1d, 0x89, 0x30, + 0x4e, 0xfa, 0xaa, 0xa6, 0x2a, 0xba, 0xa9, 0x01, 0x40, 0xf9, 0xed, 0xe4, 0x53, 0xbf, 0x18, 0x4c, + 0x3d, 0x62, 0x36, 0xca, 0x87, 0xe3, 0x60, 0x99, 0x3d, 0x6c, 0xd9, 0xb4, 0x4d, 0xb3, 0x61, 0x61, + 0x7a, 0xea, 0x19, 0xb1, 0xea, 0x19, 0xf4, 0xcc, 0x33, 0x3e, 0x00, 0xe9, 0xf6, 0xf7, 0x92, 0x77, + 0xc4, 0xfb, 0xf5, 0x62, 0xcb, 0x53, 0xf5, 0xa6, 0xd4, 0xdd, 0x64, 0x50, 0x9b, 0x48, 0xe5, 0x6a, + 0xf2, 0xb9, 0xaf, 0xb5, 0x3e, 0xde, 0xe9, 0x8e, 0xaf, 0xfc, 0x6a, 0x1c, 0x14, 0xd7, 0xa9, 0x6d, + 0x62, 0x9d, 0x97, 0x3d, 0xf7, 0x5d, 0x83, 0x55, 0xf2, 0xf7, 0x1a, 0x75, 0x8a, 0x9d, 0x3a, 0x46, + 0xae, 0x6f, 0x85, 0x33, 0xab, 0x05, 0x81, 0x45, 0xff, 0x15, 0x14, 0x42, 0x9a, 0x19, 0x0c, 0xe0, + 0xeb, 0xa8, 0x94, 0xe0, 0xe5, 0x53, 0x58, 0x30, 0x35, 0x67, 0x76, 0x12, 0x49, 0xb9, 0x96, 0x5c, + 0x4d, 0x77, 0x02, 0x35, 0xf5, 0xa7, 0x82, 0x1b, 0x4f, 0x41, 0x36, 0xfc, 0xaa, 0x57, 0xbe, 0x0d, + 0x72, 0xdb, 0xef, 0x6f, 0xbe, 0xb3, 0xbe, 0xf7, 0xf6, 0xb6, 0x76, 0xb0, 0x57, 0xad, 0x6c, 0x6f, + 0xee, 0xee, 0xec, 0x6e, 0x6f, 0xcd, 0x8d, 0x2d, 0xe5, 0x9f, 0x3d, 0x5f, 0x89, 0x6c, 0x93, 0x65, + 0x30, 0x59, 0xad, 0xdc, 0xdf, 0x9f, 0x93, 0x96, 0x52, 0xcf, 0x9e, 0xaf, 0xb0, 0xdf, 0x9e, 0x12, + 0xb7, 0xb6, 0xd5, 0xdd, 0x77, 0xd7, 0xf7, 0x77, 0xdf, 0xdd, 0xae, 0xce, 0x8d, 0x2f, 0xcd, 0x3e, + 0x7b, 0xbe, 0x12, 0x26, 0x6d, 0x1c, 0x7f, 0xfc, 0xa2, 0x20, 0x7d, 0xfa, 0xa2, 0x20, 0xfd, 0xf5, + 0x45, 0x41, 0xfa, 0xc1, 0xcb, 0xc2, 0xd8, 0xa7, 0x2f, 0x0b, 0x63, 0x7f, 0x7e, 0x59, 0x18, 0x7b, + 0xb8, 0x77, 0x84, 0xe9, 0x71, 0xa3, 0x56, 0xd4, 0x6d, 0xb3, 0xb4, 0xeb, 0x2b, 0xf2, 0x2e, 0xac, + 0x91, 0x52, 0xa0, 0xd6, 0x9b, 0xba, 0xed, 0xa2, 0xf0, 0xe7, 0x31, 0xc4, 0x56, 0xc9, 0xb4, 0xbd, + 0xb9, 0x91, 0x66, 0x35, 0xec, 0xd5, 0x64, 0xa4, 0x36, 0xc5, 0xfe, 0x32, 0xe1, 0x8b, 0xff, 0x09, + 0x00, 0x00, 0xff, 0xff, 0x16, 0x7b, 0x31, 0x71, 0xe1, 0x31, 0x00, 0x00, } func (m *SpotMarketParamUpdateProposal) Marshal() (dAtA []byte, err error) { @@ -1296,6 +1397,37 @@ func (m *SpotMarketParamUpdateProposal) MarshalToSizedBuffer(dAtA []byte) (int, _ = i var l int _ = l + if m.AdminInfo != nil { + { + size, err := m.AdminInfo.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x62 + } + if m.MinNotional != nil { + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x5a + } + if len(m.Ticker) > 0 { + i -= len(m.Ticker) + copy(dAtA[i:], m.Ticker) + i = encodeVarintProposal(dAtA, i, uint64(len(m.Ticker))) + i-- + dAtA[i] = 0x52 + } if m.Status != 0 { i = encodeVarintProposal(dAtA, i, uint64(m.Status)) i-- @@ -1632,6 +1764,28 @@ func (m *SpotMarketLaunchProposal) MarshalToSizedBuffer(dAtA []byte) (int, error _ = i var l int _ = l + if m.AdminInfo != nil { + { + size, err := m.AdminInfo.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x5a + } + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x52 if m.TakerFeeRate != nil { { size := m.TakerFeeRate.Size() @@ -1734,6 +1888,30 @@ func (m *PerpetualMarketLaunchProposal) MarshalToSizedBuffer(dAtA []byte) (int, _ = i var l int _ = l + if m.AdminInfo != nil { + { + size, err := m.AdminInfo.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x7a { size := m.MinQuantityTickSize.Size() i -= size @@ -1869,6 +2047,25 @@ func (m *BinaryOptionsMarketLaunchProposal) MarshalToSizedBuffer(dAtA []byte) (i _ = i var l int _ = l + if m.AdminPermissions != 0 { + i = encodeVarintProposal(dAtA, i, uint64(m.AdminPermissions)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x88 + } + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 { size := m.MinQuantityTickSize.Size() i -= size @@ -2001,6 +2198,32 @@ func (m *ExpiryFuturesMarketLaunchProposal) MarshalToSizedBuffer(dAtA []byte) (i _ = i var l int _ = l + if m.AdminInfo != nil { + { + size, err := m.AdminInfo.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 { size := m.MinQuantityTickSize.Size() i -= size @@ -2141,6 +2364,41 @@ func (m *DerivativeMarketParamUpdateProposal) MarshalToSizedBuffer(dAtA []byte) _ = i var l int _ = l + if m.AdminInfo != nil { + { + size, err := m.AdminInfo.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + if m.MinNotional != nil { + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + if len(m.Ticker) > 0 { + i -= len(m.Ticker) + copy(dAtA[i:], m.Ticker) + i = encodeVarintProposal(dAtA, i, uint64(len(m.Ticker))) + i-- + dAtA[i] = 0x7a + } if m.OracleParams != nil { { size, err := m.OracleParams.MarshalToSizedBuffer(dAtA[:i]) @@ -2290,6 +2548,41 @@ func (m *DerivativeMarketParamUpdateProposal) MarshalToSizedBuffer(dAtA []byte) return len(dAtA) - i, nil } +func (m *AdminInfo) 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 *AdminInfo) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *AdminInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.AdminPermissions != 0 { + i = encodeVarintProposal(dAtA, i, uint64(m.AdminPermissions)) + i-- + dAtA[i] = 0x10 + } + if len(m.Admin) > 0 { + i -= len(m.Admin) + copy(dAtA[i:], m.Admin) + i = encodeVarintProposal(dAtA, i, uint64(len(m.Admin))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *MarketForcedSettlementProposal) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -2417,6 +2710,27 @@ func (m *BinaryOptionsMarketParamUpdateProposal) MarshalToSizedBuffer(dAtA []byt _ = i var l int _ = l + if m.MinNotional != nil { + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + if len(m.Ticker) > 0 { + i -= len(m.Ticker) + copy(dAtA[i:], m.Ticker) + i = encodeVarintProposal(dAtA, i, uint64(len(m.Ticker))) + i-- + dAtA[i] = 0x7a + } if m.OracleParams != nil { { size, err := m.OracleParams.MarshalToSizedBuffer(dAtA[:i]) @@ -3080,6 +3394,18 @@ func (m *SpotMarketParamUpdateProposal) Size() (n int) { if m.Status != 0 { n += 1 + sovProposal(uint64(m.Status)) } + l = len(m.Ticker) + if l > 0 { + n += 1 + l + sovProposal(uint64(l)) + } + if m.MinNotional != nil { + l = m.MinNotional.Size() + n += 1 + l + sovProposal(uint64(l)) + } + if m.AdminInfo != nil { + l = m.AdminInfo.Size() + n += 1 + l + sovProposal(uint64(l)) + } return n } @@ -3218,6 +3544,12 @@ func (m *SpotMarketLaunchProposal) Size() (n int) { l = m.TakerFeeRate.Size() n += 1 + l + sovProposal(uint64(l)) } + l = m.MinNotional.Size() + n += 1 + l + sovProposal(uint64(l)) + if m.AdminInfo != nil { + l = m.AdminInfo.Size() + n += 1 + l + sovProposal(uint64(l)) + } return n } @@ -3269,6 +3601,12 @@ func (m *PerpetualMarketLaunchProposal) Size() (n int) { n += 1 + l + sovProposal(uint64(l)) l = m.MinQuantityTickSize.Size() n += 1 + l + sovProposal(uint64(l)) + l = m.MinNotional.Size() + n += 1 + l + sovProposal(uint64(l)) + if m.AdminInfo != nil { + l = m.AdminInfo.Size() + n += 2 + l + sovProposal(uint64(l)) + } return n } @@ -3326,6 +3664,11 @@ func (m *BinaryOptionsMarketLaunchProposal) Size() (n int) { n += 1 + l + sovProposal(uint64(l)) l = m.MinQuantityTickSize.Size() n += 1 + l + sovProposal(uint64(l)) + l = m.MinNotional.Size() + n += 2 + l + sovProposal(uint64(l)) + if m.AdminPermissions != 0 { + n += 2 + sovProposal(uint64(m.AdminPermissions)) + } return n } @@ -3380,6 +3723,12 @@ func (m *ExpiryFuturesMarketLaunchProposal) Size() (n int) { n += 1 + l + sovProposal(uint64(l)) l = m.MinQuantityTickSize.Size() n += 1 + l + sovProposal(uint64(l)) + l = m.MinNotional.Size() + n += 2 + l + sovProposal(uint64(l)) + if m.AdminInfo != nil { + l = m.AdminInfo.Size() + n += 2 + l + sovProposal(uint64(l)) + } return n } @@ -3444,6 +3793,34 @@ func (m *DerivativeMarketParamUpdateProposal) Size() (n int) { l = m.OracleParams.Size() n += 1 + l + sovProposal(uint64(l)) } + l = len(m.Ticker) + if l > 0 { + n += 1 + l + sovProposal(uint64(l)) + } + if m.MinNotional != nil { + l = m.MinNotional.Size() + n += 2 + l + sovProposal(uint64(l)) + } + if m.AdminInfo != nil { + l = m.AdminInfo.Size() + n += 2 + l + sovProposal(uint64(l)) + } + return n +} + +func (m *AdminInfo) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Admin) + if l > 0 { + n += 1 + l + sovProposal(uint64(l)) + } + if m.AdminPermissions != 0 { + n += 1 + sovProposal(uint64(m.AdminPermissions)) + } return n } @@ -3554,6 +3931,14 @@ func (m *BinaryOptionsMarketParamUpdateProposal) Size() (n int) { l = m.OracleParams.Size() n += 1 + l + sovProposal(uint64(l)) } + l = len(m.Ticker) + if l > 0 { + n += 1 + l + sovProposal(uint64(l)) + } + if m.MinNotional != nil { + l = m.MinNotional.Size() + n += 2 + l + sovProposal(uint64(l)) + } return n } @@ -3932,7 +4317,7 @@ func (m *SpotMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MakerFeeRate = &v if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3968,7 +4353,7 @@ func (m *SpotMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TakerFeeRate = &v if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4004,7 +4389,7 @@ func (m *SpotMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.RelayerFeeShareRate = &v if err := m.RelayerFeeShareRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4040,7 +4425,7 @@ func (m *SpotMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MinPriceTickSize = &v if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4076,7 +4461,7 @@ func (m *SpotMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MinQuantityTickSize = &v if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4101,8 +4486,112 @@ func (m *SpotMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { break } } - default: - iNdEx = preIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ticker", 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.Ticker = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", 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 + } + var v cosmossdk_io_math.LegacyDec + m.MinNotional = &v + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminInfo", 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 m.AdminInfo == nil { + m.AdminInfo = &AdminInfo{} + } + if err := m.AdminInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex skippy, err := skipProposal(dAtA[iNdEx:]) if err != nil { return err @@ -5036,7 +5525,7 @@ func (m *SpotMarketLaunchProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MakerFeeRate = &v if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -5072,12 +5561,82 @@ func (m *SpotMarketLaunchProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TakerFeeRate = &v if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", 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 + } + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminInfo", 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 m.AdminInfo == nil { + m.AdminInfo = &AdminInfo{} + } + if err := m.AdminInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipProposal(dAtA[iNdEx:]) @@ -5562,6 +6121,76 @@ func (m *PerpetualMarketLaunchProposal) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", 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 + } + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminInfo", 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 m.AdminInfo == nil { + m.AdminInfo = &AdminInfo{} + } + if err := m.AdminInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipProposal(dAtA[iNdEx:]) @@ -6048,19 +6677,72 @@ func (m *BinaryOptionsMarketLaunchProposal) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProposal(dAtA[iNdEx:]) - if err != nil { - return err + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { + 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 } - if (iNdEx + skippy) > l { + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProposal + } + if postIndex > l { return io.ErrUnexpectedEOF } - iNdEx += skippy + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 17: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminPermissions", wireType) + } + m.AdminPermissions = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProposal + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AdminPermissions |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipProposal(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthProposal + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy } } @@ -6551,6 +7233,76 @@ func (m *ExpiryFuturesMarketLaunchProposal) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", 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 + } + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminInfo", 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 m.AdminInfo == nil { + m.AdminInfo = &AdminInfo{} + } + if err := m.AdminInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipProposal(dAtA[iNdEx:]) @@ -6727,7 +7479,7 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.InitialMarginRatio = &v if err := m.InitialMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6763,7 +7515,7 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MaintenanceMarginRatio = &v if err := m.MaintenanceMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6799,7 +7551,7 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MakerFeeRate = &v if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6835,7 +7587,7 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TakerFeeRate = &v if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6871,7 +7623,7 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.RelayerFeeShareRate = &v if err := m.RelayerFeeShareRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6907,7 +7659,7 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MinPriceTickSize = &v if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6943,7 +7695,7 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MinQuantityTickSize = &v if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6979,7 +7731,7 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.HourlyInterestRate = &v if err := m.HourlyInterestRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7015,7 +7767,7 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.HourlyFundingRateCap = &v if err := m.HourlyFundingRateCap.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7076,6 +7828,211 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ticker", 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.Ticker = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", 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 + } + var v cosmossdk_io_math.LegacyDec + m.MinNotional = &v + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminInfo", 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 m.AdminInfo == nil { + m.AdminInfo = &AdminInfo{} + } + if err := m.AdminInfo.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) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthProposal + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AdminInfo) 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: AdminInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AdminInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Admin", 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.Admin = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminPermissions", wireType) + } + m.AdminPermissions = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProposal + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AdminPermissions |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipProposal(dAtA[iNdEx:]) @@ -7252,7 +8209,7 @@ func (m *MarketForcedSettlementProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.SettlementPrice = &v if err := m.SettlementPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7582,7 +8539,7 @@ func (m *BinaryOptionsMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MakerFeeRate = &v if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7618,7 +8575,7 @@ func (m *BinaryOptionsMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TakerFeeRate = &v if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7654,7 +8611,7 @@ func (m *BinaryOptionsMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.RelayerFeeShareRate = &v if err := m.RelayerFeeShareRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7690,7 +8647,7 @@ func (m *BinaryOptionsMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MinPriceTickSize = &v if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7726,7 +8683,7 @@ func (m *BinaryOptionsMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MinQuantityTickSize = &v if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7800,7 +8757,7 @@ func (m *BinaryOptionsMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.SettlementPrice = &v if err := m.SettlementPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7893,6 +8850,74 @@ func (m *BinaryOptionsMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ticker", 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.Ticker = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", 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 + } + var v cosmossdk_io_math.LegacyDec + m.MinNotional = &v + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipProposal(dAtA[iNdEx:]) diff --git a/chain/exchange/types/query.pb.go b/chain/exchange/types/query.pb.go index b4111c76..865c480d 100644 --- a/chain/exchange/types/query.pb.go +++ b/chain/exchange/types/query.pb.go @@ -5,9 +5,9 @@ package types import ( context "context" + cosmossdk_io_math "cosmossdk.io/math" 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/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -1450,11 +1450,11 @@ func (m *QuerySpotMarketResponse) GetMarket() *SpotMarket { // 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"` - 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"` + 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 *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=limit_cumulative_notional,json=limitCumulativeNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"limit_cumulative_notional,omitempty"` + LimitCumulativeQuantity *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=limit_cumulative_quantity,json=limitCumulativeQuantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"limit_cumulative_quantity,omitempty"` } func (m *QuerySpotOrderbookRequest) Reset() { *m = QuerySpotOrderbookRequest{} } @@ -2059,14 +2059,15 @@ func (m *QueryAccountAddressSpotOrdersRequest) GetAccountAddress() string { 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"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` // quantity of the order - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` // the amount of the quantity remaining fillable - Fillable github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=fillable,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fillable"` + Fillable cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=fillable,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fillable"` // true if the order is a buy IsBuy bool `protobuf:"varint,4,opt,name=isBuy,proto3" json:"isBuy,omitempty"` OrderHash string `protobuf:"bytes,5,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + Cid string `protobuf:"bytes,6,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *TrimmedSpotLimitOrder) Reset() { *m = TrimmedSpotLimitOrder{} } @@ -2116,6 +2117,13 @@ func (m *TrimmedSpotLimitOrder) GetOrderHash() string { return "" } +func (m *TrimmedSpotLimitOrder) GetCid() string { + if m != nil { + return m.Cid + } + return "" +} + // QueryTraderSpotOrdersResponse is the response type for the // Query/TraderSpotOrders RPC method. type QueryTraderSpotOrdersResponse struct { @@ -2259,11 +2267,11 @@ func (m *QuerySpotMidPriceAndTOBRequest) GetMarketId() string { // 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"` + MidPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=mid_price,json=midPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + BestBuyPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=best_buy_price,json=bestBuyPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + BestSellPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=best_sell_price,json=bestSellPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"best_sell_price,omitempty"` } func (m *QuerySpotMidPriceAndTOBResponse) Reset() { *m = QuerySpotMidPriceAndTOBResponse{} } @@ -2350,11 +2358,11 @@ func (m *QueryDerivativeMidPriceAndTOBRequest) GetMarketId() string { // 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"` + MidPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=mid_price,json=midPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + BestBuyPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=best_buy_price,json=bestBuyPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + BestSellPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=best_sell_price,json=bestSellPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"best_sell_price,omitempty"` } func (m *QueryDerivativeMidPriceAndTOBResponse) Reset() { *m = QueryDerivativeMidPriceAndTOBResponse{} } @@ -2394,9 +2402,9 @@ var xxx_messageInfo_QueryDerivativeMidPriceAndTOBResponse proto.InternalMessageI // 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"` - 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"` + 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 *cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=limit_cumulative_notional,json=limitCumulativeNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"limit_cumulative_notional,omitempty"` } func (m *QueryDerivativeOrderbookRequest) Reset() { *m = QueryDerivativeOrderbookRequest{} } @@ -2508,14 +2516,14 @@ type QueryTraderSpotOrdersToCancelUpToAmountRequest struct { // SubaccountID of the trader SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` // the base amount to cancel (free up) - BaseAmount github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=base_amount,json=baseAmount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"base_amount"` + BaseAmount cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=base_amount,json=baseAmount,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"base_amount"` // the quote amount to cancel (free up) - 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"` + QuoteAmount cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=quote_amount,json=quoteAmount,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 - 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"` + ReferencePrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=reference_price,json=referencePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"reference_price,omitempty"` } func (m *QueryTraderSpotOrdersToCancelUpToAmountRequest) Reset() { @@ -2584,12 +2592,12 @@ type QueryTraderDerivativeOrdersToCancelUpToAmountRequest struct { // SubaccountID of the trader SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` // the quote amount to cancel (free up) - 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"` + QuoteAmount cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=quote_amount,json=quoteAmount,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 - 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"` + ReferencePrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=reference_price,json=referencePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"reference_price,omitempty"` } func (m *QueryTraderDerivativeOrdersToCancelUpToAmountRequest) Reset() { @@ -2768,16 +2776,17 @@ func (m *QueryAccountAddressDerivativeOrdersRequest) GetAccountAddress() string 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"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` // quantity of the order - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` // margin of the order - Margin github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=margin,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"margin"` + Margin cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=margin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin"` // the amount of the quantity remaining fillable - Fillable github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=fillable,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fillable"` + Fillable cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=fillable,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fillable"` // true if the order is a buy IsBuy bool `protobuf:"varint,5,opt,name=isBuy,proto3" json:"isBuy"` OrderHash string `protobuf:"bytes,6,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + Cid string `protobuf:"bytes,7,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *TrimmedDerivativeLimitOrder) Reset() { *m = TrimmedDerivativeLimitOrder{} } @@ -2827,6 +2836,13 @@ func (m *TrimmedDerivativeLimitOrder) GetOrderHash() string { return "" } +func (m *TrimmedDerivativeLimitOrder) GetCid() string { + if m != nil { + return m.Cid + } + return "" +} + // QueryTraderDerivativeOrdersResponse is the response type for the // Query/TraderDerivativeOrders RPC method. type QueryTraderDerivativeOrdersResponse struct { @@ -3101,9 +3117,9 @@ func (m *QueryDerivativeMarketsRequest) GetWithMidPriceAndTob() bool { } 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"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` // quantity - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` } func (m *PriceLevel) Reset() { *m = PriceLevel{} } @@ -3196,8 +3212,8 @@ type FullDerivativeMarket struct { // Types that are valid to be assigned to Info: // *FullDerivativeMarket_PerpetualInfo // *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"` + Info isFullDerivativeMarket_Info `protobuf_oneof:"info"` + MarkPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=mark_price,json=markPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` @@ -3884,10 +3900,10 @@ func (m *QuerySubaccountPositionInMarketResponse) GetState() *Position { } type EffectivePosition struct { - IsLong bool `protobuf:"varint,1,opt,name=is_long,json=isLong,proto3" json:"is_long,omitempty"` - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` - EntryPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=entry_price,json=entryPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"entry_price"` - EffectiveMargin github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=effective_margin,json=effectiveMargin,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"effective_margin"` + IsLong bool `protobuf:"varint,1,opt,name=is_long,json=isLong,proto3" json:"is_long,omitempty"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` + EntryPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=entry_price,json=entryPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"entry_price"` + EffectiveMargin cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=effective_margin,json=effectiveMargin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"effective_margin"` } func (m *EffectivePosition) Reset() { *m = EffectivePosition{} } @@ -4572,7 +4588,7 @@ func (m *QueryTradeRewardPointsRequest) GetPendingPoolTimestamp() int64 { // 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"` + AccountTradeRewardPoints []cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,rep,name=account_trade_reward_points,json=accountTradeRewardPoints,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"account_trade_reward_points"` } func (m *QueryTradeRewardPointsResponse) Reset() { *m = QueryTradeRewardPointsResponse{} } @@ -4649,11 +4665,11 @@ var xxx_messageInfo_QueryTradeRewardCampaignRequest proto.InternalMessageInfo // 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"` - TotalTradeRewardPoints github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=total_trade_reward_points,json=totalTradeRewardPoints,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"total_trade_reward_points"` - PendingTradingRewardPoolCampaignSchedule []*CampaignRewardPool `protobuf:"bytes,4,rep,name=pending_trading_reward_pool_campaign_schedule,json=pendingTradingRewardPoolCampaignSchedule,proto3" json:"pending_trading_reward_pool_campaign_schedule,omitempty"` - PendingTotalTradeRewardPoints []github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,rep,name=pending_total_trade_reward_points,json=pendingTotalTradeRewardPoints,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"pending_total_trade_reward_points"` + 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"` + TotalTradeRewardPoints cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=total_trade_reward_points,json=totalTradeRewardPoints,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"total_trade_reward_points"` + PendingTradingRewardPoolCampaignSchedule []*CampaignRewardPool `protobuf:"bytes,4,rep,name=pending_trading_reward_pool_campaign_schedule,json=pendingTradingRewardPoolCampaignSchedule,proto3" json:"pending_trading_reward_pool_campaign_schedule,omitempty"` + PendingTotalTradeRewardPoints []cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,rep,name=pending_total_trade_reward_points,json=pendingTotalTradeRewardPoints,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"pending_total_trade_reward_points"` } func (m *QueryTradeRewardCampaignResponse) Reset() { *m = QueryTradeRewardCampaignResponse{} } @@ -5127,13 +5143,13 @@ func (m *QueryBalanceMismatchesRequest) GetDustFactor() int64 { } type BalanceMismatch struct { - SubaccountId string `protobuf:"bytes,1,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"` - Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` - Available github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=available,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"available"` - Total github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=total,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"total"` - BalanceHold github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=balance_hold,json=balanceHold,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"balance_hold"` - ExpectedTotal github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,opt,name=expected_total,json=expectedTotal,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"expected_total"` - Difference github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=difference,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"difference"` + SubaccountId string `protobuf:"bytes,1,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"` + Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` + Available cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=available,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"available"` + Total cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=total,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"total"` + BalanceHold cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=balance_hold,json=balanceHold,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"balance_hold"` + ExpectedTotal cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=expected_total,json=expectedTotal,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"expected_total"` + Difference cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=difference,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"difference"` } func (m *BalanceMismatch) Reset() { *m = BalanceMismatch{} } @@ -5268,11 +5284,11 @@ func (m *QueryBalanceWithBalanceHoldsRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryBalanceWithBalanceHoldsRequest proto.InternalMessageInfo type BalanceWithMarginHold struct { - SubaccountId string `protobuf:"bytes,1,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"` - Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` - Available github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=available,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"available"` - Total github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=total,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"total"` - BalanceHold github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=balance_hold,json=balanceHold,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"balance_hold"` + SubaccountId string `protobuf:"bytes,1,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"` + Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` + Available cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=available,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"available"` + Total cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=total,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"total"` + BalanceHold cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=balance_hold,json=balanceHold,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"balance_hold"` } func (m *BalanceWithMarginHold) Reset() { *m = BalanceWithMarginHold{} } @@ -5929,9 +5945,9 @@ func (m *QueryMarketVolatilityRequest) GetTradeHistoryOptions() *TradeHistoryOpt // 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"` - RawHistory []*TradeRecord `protobuf:"bytes,3,rep,name=raw_history,json=rawHistory,proto3" json:"raw_history,omitempty"` + Volatility *cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=volatility,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"volatility,omitempty"` + HistoryMetadata *types.MetadataStatistics `protobuf:"bytes,2,opt,name=history_metadata,json=historyMetadata,proto3" json:"history_metadata,omitempty"` + RawHistory []*TradeRecord `protobuf:"bytes,3,rep,name=raw_history,json=rawHistory,proto3" json:"raw_history,omitempty"` } func (m *QueryMarketVolatilityResponse) Reset() { *m = QueryMarketVolatilityResponse{} } @@ -6134,17 +6150,18 @@ func (m *QueryTraderDerivativeConditionalOrdersRequest) GetMarketId() string { type TrimmedDerivativeConditionalOrder 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"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` // quantity of the order - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` // margin of the order - Margin github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=margin,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"margin"` + Margin cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=margin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin"` // price to trigger the order - TriggerPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=triggerPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"triggerPrice"` + TriggerPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"triggerPrice"` // true if the order is a buy IsBuy bool `protobuf:"varint,5,opt,name=isBuy,proto3" json:"isBuy"` IsLimit bool `protobuf:"varint,6,opt,name=isLimit,proto3" json:"isLimit"` OrderHash string `protobuf:"bytes,7,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + Cid string `protobuf:"bytes,8,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *TrimmedDerivativeConditionalOrder) Reset() { *m = TrimmedDerivativeConditionalOrder{} } @@ -6201,6 +6218,13 @@ func (m *TrimmedDerivativeConditionalOrder) GetOrderHash() string { return "" } +func (m *TrimmedDerivativeConditionalOrder) GetCid() string { + if m != nil { + return m.Cid + } + return "" +} + // QueryTraderDerivativeOrdersResponse is the response type for the // Query/TraderDerivativeOrders RPC method. type QueryTraderDerivativeConditionalOrdersResponse struct { @@ -6300,7 +6324,7 @@ func (m *QueryMarketAtomicExecutionFeeMultiplierRequest) GetMarketId() string { } type QueryMarketAtomicExecutionFeeMultiplierResponse struct { - Multiplier github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=multiplier,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"multiplier"` + Multiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=multiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"multiplier"` } func (m *QueryMarketAtomicExecutionFeeMultiplierResponse) Reset() { @@ -6340,6 +6364,280 @@ func (m *QueryMarketAtomicExecutionFeeMultiplierResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryMarketAtomicExecutionFeeMultiplierResponse proto.InternalMessageInfo +type QueryActiveStakeGrantRequest struct { + Grantee string `protobuf:"bytes,1,opt,name=grantee,proto3" json:"grantee,omitempty"` +} + +func (m *QueryActiveStakeGrantRequest) Reset() { *m = QueryActiveStakeGrantRequest{} } +func (m *QueryActiveStakeGrantRequest) String() string { return proto.CompactTextString(m) } +func (*QueryActiveStakeGrantRequest) ProtoMessage() {} +func (*QueryActiveStakeGrantRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{124} +} +func (m *QueryActiveStakeGrantRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryActiveStakeGrantRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryActiveStakeGrantRequest.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 *QueryActiveStakeGrantRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryActiveStakeGrantRequest.Merge(m, src) +} +func (m *QueryActiveStakeGrantRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryActiveStakeGrantRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryActiveStakeGrantRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryActiveStakeGrantRequest proto.InternalMessageInfo + +func (m *QueryActiveStakeGrantRequest) GetGrantee() string { + if m != nil { + return m.Grantee + } + return "" +} + +type QueryActiveStakeGrantResponse struct { + Grant *ActiveGrant `protobuf:"bytes,1,opt,name=grant,proto3" json:"grant,omitempty"` + EffectiveGrant *EffectiveGrant `protobuf:"bytes,2,opt,name=effective_grant,json=effectiveGrant,proto3" json:"effective_grant,omitempty"` +} + +func (m *QueryActiveStakeGrantResponse) Reset() { *m = QueryActiveStakeGrantResponse{} } +func (m *QueryActiveStakeGrantResponse) String() string { return proto.CompactTextString(m) } +func (*QueryActiveStakeGrantResponse) ProtoMessage() {} +func (*QueryActiveStakeGrantResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{125} +} +func (m *QueryActiveStakeGrantResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryActiveStakeGrantResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryActiveStakeGrantResponse.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 *QueryActiveStakeGrantResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryActiveStakeGrantResponse.Merge(m, src) +} +func (m *QueryActiveStakeGrantResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryActiveStakeGrantResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryActiveStakeGrantResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryActiveStakeGrantResponse proto.InternalMessageInfo + +func (m *QueryActiveStakeGrantResponse) GetGrant() *ActiveGrant { + if m != nil { + return m.Grant + } + return nil +} + +func (m *QueryActiveStakeGrantResponse) GetEffectiveGrant() *EffectiveGrant { + if m != nil { + return m.EffectiveGrant + } + return nil +} + +type QueryGrantAuthorizationRequest struct { + Granter string `protobuf:"bytes,1,opt,name=granter,proto3" json:"granter,omitempty"` + Grantee string `protobuf:"bytes,2,opt,name=grantee,proto3" json:"grantee,omitempty"` +} + +func (m *QueryGrantAuthorizationRequest) Reset() { *m = QueryGrantAuthorizationRequest{} } +func (m *QueryGrantAuthorizationRequest) String() string { return proto.CompactTextString(m) } +func (*QueryGrantAuthorizationRequest) ProtoMessage() {} +func (*QueryGrantAuthorizationRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{126} +} +func (m *QueryGrantAuthorizationRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryGrantAuthorizationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryGrantAuthorizationRequest.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 *QueryGrantAuthorizationRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryGrantAuthorizationRequest.Merge(m, src) +} +func (m *QueryGrantAuthorizationRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryGrantAuthorizationRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryGrantAuthorizationRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryGrantAuthorizationRequest proto.InternalMessageInfo + +func (m *QueryGrantAuthorizationRequest) GetGranter() string { + if m != nil { + return m.Granter + } + return "" +} + +func (m *QueryGrantAuthorizationRequest) GetGrantee() string { + if m != nil { + return m.Grantee + } + return "" +} + +type QueryGrantAuthorizationResponse struct { + Amount cosmossdk_io_math.Int `protobuf:"bytes,1,opt,name=amount,proto3,customtype=cosmossdk.io/math.Int" json:"amount"` +} + +func (m *QueryGrantAuthorizationResponse) Reset() { *m = QueryGrantAuthorizationResponse{} } +func (m *QueryGrantAuthorizationResponse) String() string { return proto.CompactTextString(m) } +func (*QueryGrantAuthorizationResponse) ProtoMessage() {} +func (*QueryGrantAuthorizationResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{127} +} +func (m *QueryGrantAuthorizationResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryGrantAuthorizationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryGrantAuthorizationResponse.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 *QueryGrantAuthorizationResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryGrantAuthorizationResponse.Merge(m, src) +} +func (m *QueryGrantAuthorizationResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryGrantAuthorizationResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryGrantAuthorizationResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryGrantAuthorizationResponse proto.InternalMessageInfo + +type QueryGrantAuthorizationsRequest struct { + Granter string `protobuf:"bytes,1,opt,name=granter,proto3" json:"granter,omitempty"` +} + +func (m *QueryGrantAuthorizationsRequest) Reset() { *m = QueryGrantAuthorizationsRequest{} } +func (m *QueryGrantAuthorizationsRequest) String() string { return proto.CompactTextString(m) } +func (*QueryGrantAuthorizationsRequest) ProtoMessage() {} +func (*QueryGrantAuthorizationsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{128} +} +func (m *QueryGrantAuthorizationsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryGrantAuthorizationsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryGrantAuthorizationsRequest.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 *QueryGrantAuthorizationsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryGrantAuthorizationsRequest.Merge(m, src) +} +func (m *QueryGrantAuthorizationsRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryGrantAuthorizationsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryGrantAuthorizationsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryGrantAuthorizationsRequest proto.InternalMessageInfo + +func (m *QueryGrantAuthorizationsRequest) GetGranter() string { + if m != nil { + return m.Granter + } + return "" +} + +type QueryGrantAuthorizationsResponse struct { + TotalGrantAmount cosmossdk_io_math.Int `protobuf:"bytes,1,opt,name=total_grant_amount,json=totalGrantAmount,proto3,customtype=cosmossdk.io/math.Int" json:"total_grant_amount"` + Grants []*GrantAuthorization `protobuf:"bytes,2,rep,name=grants,proto3" json:"grants,omitempty"` +} + +func (m *QueryGrantAuthorizationsResponse) Reset() { *m = QueryGrantAuthorizationsResponse{} } +func (m *QueryGrantAuthorizationsResponse) String() string { return proto.CompactTextString(m) } +func (*QueryGrantAuthorizationsResponse) ProtoMessage() {} +func (*QueryGrantAuthorizationsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{129} +} +func (m *QueryGrantAuthorizationsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryGrantAuthorizationsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryGrantAuthorizationsResponse.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 *QueryGrantAuthorizationsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryGrantAuthorizationsResponse.Merge(m, src) +} +func (m *QueryGrantAuthorizationsResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryGrantAuthorizationsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryGrantAuthorizationsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryGrantAuthorizationsResponse proto.InternalMessageInfo + +func (m *QueryGrantAuthorizationsResponse) GetGrants() []*GrantAuthorization { + if m != nil { + return m.Grants + } + return nil +} + func init() { proto.RegisterEnum("injective.exchange.v1beta1.OrderSide", OrderSide_name, OrderSide_value) proto.RegisterEnum("injective.exchange.v1beta1.CancellationStrategy", CancellationStrategy_name, CancellationStrategy_value) @@ -6468,6 +6766,12 @@ func init() { proto.RegisterType((*QueryTraderDerivativeConditionalOrdersResponse)(nil), "injective.exchange.v1beta1.QueryTraderDerivativeConditionalOrdersResponse") proto.RegisterType((*QueryMarketAtomicExecutionFeeMultiplierRequest)(nil), "injective.exchange.v1beta1.QueryMarketAtomicExecutionFeeMultiplierRequest") proto.RegisterType((*QueryMarketAtomicExecutionFeeMultiplierResponse)(nil), "injective.exchange.v1beta1.QueryMarketAtomicExecutionFeeMultiplierResponse") + proto.RegisterType((*QueryActiveStakeGrantRequest)(nil), "injective.exchange.v1beta1.QueryActiveStakeGrantRequest") + proto.RegisterType((*QueryActiveStakeGrantResponse)(nil), "injective.exchange.v1beta1.QueryActiveStakeGrantResponse") + proto.RegisterType((*QueryGrantAuthorizationRequest)(nil), "injective.exchange.v1beta1.QueryGrantAuthorizationRequest") + proto.RegisterType((*QueryGrantAuthorizationResponse)(nil), "injective.exchange.v1beta1.QueryGrantAuthorizationResponse") + proto.RegisterType((*QueryGrantAuthorizationsRequest)(nil), "injective.exchange.v1beta1.QueryGrantAuthorizationsRequest") + proto.RegisterType((*QueryGrantAuthorizationsResponse)(nil), "injective.exchange.v1beta1.QueryGrantAuthorizationsResponse") } func init() { @@ -6475,355 +6779,372 @@ func init() { } var fileDescriptor_523db28b8af54781 = []byte{ - // 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, + // 5833 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5d, 0x7d, 0x8c, 0x1c, 0xc9, + 0x55, 0x77, 0xcf, 0x7e, 0x78, 0xf7, 0xed, 0xa7, 0x6b, 0xd7, 0xeb, 0xf5, 0xdc, 0x9d, 0x3f, 0xda, + 0x71, 0xce, 0xe7, 0x9c, 0x77, 0xed, 0xf5, 0xf7, 0xb7, 0xf7, 0xc3, 0x6b, 0xef, 0xd9, 0x6b, 0x3b, + 0xb3, 0xeb, 0xbb, 0xe4, 0x02, 0x4c, 0x7a, 0x67, 0x6a, 0x67, 0x3b, 0xee, 0x99, 0x1e, 0x4f, 0xf7, + 0xec, 0x79, 0x31, 0x46, 0x40, 0x40, 0x89, 0x40, 0x02, 0xa4, 0x08, 0x10, 0x02, 0x21, 0xe0, 0x4f, + 0xa4, 0x08, 0x89, 0x08, 0x81, 0x12, 0x29, 0x51, 0x08, 0x42, 0x21, 0xe1, 0x23, 0x40, 0x08, 0x28, + 0x82, 0x23, 0xba, 0x0b, 0x44, 0x39, 0x81, 0xc4, 0x5f, 0x48, 0x08, 0x14, 0x50, 0x57, 0xbd, 0xaa, + 0xe9, 0xef, 0xa9, 0x9e, 0xdd, 0xd3, 0x25, 0xf0, 0xd7, 0x4e, 0x57, 0xd7, 0x7b, 0xf5, 0xde, 0xab, + 0x57, 0xaf, 0x5e, 0x7d, 0xfc, 0x7a, 0xe1, 0xfd, 0x66, 0xed, 0x63, 0xb4, 0xe4, 0x9a, 0x9b, 0x74, + 0x9a, 0x3e, 0x29, 0x6d, 0x18, 0xb5, 0x0a, 0x9d, 0xde, 0x3c, 0xb5, 0x46, 0x5d, 0xe3, 0xd4, 0xf4, + 0xe3, 0x26, 0x6d, 0x6c, 0x4d, 0xd5, 0x1b, 0xb6, 0x6b, 0x93, 0xbc, 0xac, 0x37, 0x25, 0xea, 0x4d, + 0x61, 0xbd, 0xfc, 0xf3, 0x15, 0xdb, 0xae, 0x58, 0x74, 0xda, 0xa8, 0x9b, 0xd3, 0x46, 0xad, 0x66, + 0xbb, 0x86, 0x6b, 0xda, 0x35, 0x87, 0x53, 0xe6, 0x5f, 0x4a, 0x69, 0x41, 0xb2, 0xe2, 0x55, 0x8f, + 0xa5, 0x54, 0xad, 0xd0, 0x1a, 0x75, 0x4c, 0xc1, 0xf4, 0x68, 0xab, 0xa6, 0xdd, 0x30, 0x4a, 0x56, + 0xab, 0x1e, 0x7f, 0xc4, 0x6a, 0xe3, 0x15, 0xbb, 0x62, 0xb3, 0x9f, 0xd3, 0xde, 0x2f, 0x5e, 0xaa, + 0xdf, 0x07, 0x58, 0x69, 0xae, 0x19, 0xa5, 0x92, 0xdd, 0xac, 0xb9, 0x64, 0x02, 0x7a, 0xdd, 0x86, + 0x51, 0xa6, 0x8d, 0x49, 0xed, 0x90, 0x76, 0xac, 0xbf, 0x80, 0x4f, 0xe4, 0x25, 0x18, 0x75, 0x64, + 0xad, 0x62, 0xcd, 0xae, 0x95, 0xe8, 0x64, 0xee, 0x90, 0x76, 0x6c, 0xa8, 0x30, 0xd2, 0x2a, 0xbf, + 0xe7, 0x15, 0xeb, 0x1f, 0x85, 0xe7, 0x3f, 0xe8, 0xd9, 0xaa, 0xc5, 0xf5, 0x7e, 0xa3, 0x4c, 0x1b, + 0x4e, 0x81, 0x3e, 0x6e, 0x52, 0xc7, 0x25, 0x47, 0x60, 0xc8, 0xc7, 0xca, 0x2c, 0x63, 0x4b, 0x83, + 0xad, 0xc2, 0xa5, 0x32, 0x79, 0x0e, 0xfa, 0xab, 0x46, 0xe3, 0x11, 0x65, 0x15, 0x72, 0xac, 0x42, + 0x1f, 0x2f, 0x58, 0x2a, 0xeb, 0x5f, 0xd4, 0xe0, 0x85, 0x84, 0x26, 0x9c, 0xba, 0x5d, 0x73, 0x28, + 0xb9, 0x07, 0xb0, 0xd6, 0xdc, 0x2a, 0xda, 0xac, 0x74, 0x52, 0x3b, 0xd4, 0x75, 0x6c, 0x60, 0x66, + 0x7a, 0x2a, 0xb9, 0xd7, 0xa6, 0x42, 0x9c, 0x16, 0x0c, 0xd7, 0x28, 0xf4, 0xaf, 0x35, 0xb7, 0x38, + 0x5f, 0xf2, 0x00, 0x06, 0x1c, 0x6a, 0x59, 0x82, 0x61, 0xae, 0x33, 0x86, 0xe0, 0xf1, 0xe0, 0x1c, + 0xf5, 0xdf, 0xd5, 0xe0, 0x68, 0xa8, 0xce, 0x9a, 0x6d, 0x3f, 0x5a, 0xa6, 0xae, 0x51, 0x36, 0x5c, + 0xe3, 0x35, 0xd3, 0xdd, 0x58, 0x66, 0xfa, 0x92, 0x15, 0xe8, 0xab, 0x62, 0x29, 0x33, 0xd5, 0xc0, + 0xcc, 0xf9, 0x0c, 0x0d, 0xfb, 0x99, 0x16, 0x24, 0xa3, 0x54, 0xfb, 0x92, 0x71, 0xe8, 0x31, 0x9d, + 0xb9, 0xe6, 0xd6, 0x64, 0xd7, 0x21, 0xed, 0x58, 0x5f, 0x81, 0x3f, 0xe8, 0xcf, 0x43, 0x9e, 0x19, + 0xfd, 0x26, 0xb6, 0xf8, 0xc0, 0x68, 0x18, 0x55, 0xd1, 0xab, 0x7a, 0x11, 0x9e, 0x8b, 0x7d, 0x8b, + 0x1d, 0x72, 0x03, 0x7a, 0xeb, 0xac, 0x04, 0x55, 0xd0, 0xd3, 0x54, 0xe0, 0xb4, 0x73, 0xdd, 0x5f, + 0x7e, 0xf3, 0xe0, 0xae, 0x02, 0xd2, 0xe9, 0x9f, 0xd2, 0xe0, 0x40, 0xa8, 0xd3, 0x17, 0x68, 0xdd, + 0x76, 0x4c, 0x37, 0x9b, 0x67, 0xdd, 0x05, 0x68, 0x3d, 0x33, 0xd5, 0x07, 0x66, 0xde, 0xaf, 0x66, + 0x50, 0x26, 0x91, 0x56, 0xf0, 0xd1, 0xeb, 0xef, 0x68, 0x70, 0x30, 0x51, 0x2a, 0xd4, 0x9d, 0x42, + 0x5f, 0x19, 0xcb, 0xd0, 0x15, 0x97, 0xd2, 0xda, 0x6b, 0xc3, 0x6e, 0x4a, 0x14, 0xdc, 0xac, 0xb9, + 0x8d, 0xad, 0x82, 0x64, 0x9d, 0xff, 0x28, 0x0c, 0x05, 0x5e, 0x91, 0x51, 0xe8, 0x7a, 0x44, 0xb7, + 0xd0, 0x08, 0xde, 0x4f, 0x72, 0x11, 0x7a, 0x36, 0x0d, 0xab, 0x49, 0x51, 0xed, 0x23, 0x69, 0x62, + 0x20, 0xaf, 0x02, 0xa7, 0xb8, 0x94, 0xbb, 0xa0, 0xe9, 0x07, 0x70, 0x64, 0x8b, 0x3e, 0x9e, 0x33, + 0x2c, 0xa3, 0x56, 0xa2, 0xd2, 0x07, 0xd6, 0x71, 0x58, 0x46, 0xdf, 0xa3, 0x25, 0x6e, 0x42, 0xdf, + 0x1a, 0x96, 0xa1, 0x25, 0x52, 0x45, 0x40, 0x7a, 0x74, 0x04, 0x49, 0xaa, 0x9f, 0x47, 0x5f, 0x9b, + 0xad, 0x54, 0x1a, 0xb4, 0x62, 0xb8, 0xf4, 0x55, 0xdb, 0x6a, 0x56, 0xa9, 0x70, 0x83, 0x49, 0xd8, + 0x2d, 0xba, 0x97, 0xeb, 0x2e, 0x1e, 0xf5, 0x26, 0x2a, 0x10, 0x21, 0x44, 0xf9, 0x1e, 0xc2, 0x1e, + 0x43, 0xbc, 0x2a, 0x6e, 0xb2, 0x77, 0x42, 0xd0, 0x63, 0x69, 0x82, 0xf2, 0x91, 0x8a, 0xcc, 0x46, + 0x8d, 0x20, 0x77, 0x47, 0xff, 0x70, 0x7c, 0xb3, 0xd2, 0x6f, 0xf3, 0xd0, 0x87, 0x12, 0xf2, 0xd6, + 0xfa, 0x0b, 0xf2, 0x99, 0xbc, 0x00, 0x20, 0x07, 0x2a, 0x0f, 0x3c, 0xfd, 0x85, 0x7e, 0x31, 0x52, + 0x1d, 0xfd, 0x3f, 0x45, 0x28, 0x8c, 0xf2, 0x46, 0x9d, 0x5c, 0xd8, 0xdf, 0xd2, 0x49, 0x8c, 0x8d, + 0xa0, 0x6e, 0x17, 0xd2, 0x74, 0x93, 0x8c, 0x67, 0x39, 0xad, 0x30, 0x59, 0xc9, 0x6e, 0x94, 0x0b, + 0xfb, 0x8c, 0xd8, 0xb7, 0x0e, 0x59, 0x83, 0xc9, 0x56, 0xab, 0xa8, 0x80, 0x68, 0x34, 0x97, 0xd1, + 0xa0, 0x13, 0x92, 0x93, 0xbf, 0xd8, 0xd1, 0x6f, 0xc0, 0xe1, 0xa0, 0xea, 0x01, 0x2a, 0xb4, 0x6d, + 0x20, 0xd0, 0x69, 0xa1, 0x89, 0xc4, 0x02, 0x3d, 0x8d, 0x03, 0x5a, 0x70, 0x11, 0x7a, 0xb9, 0xe8, + 0x18, 0xbb, 0x52, 0x25, 0xf7, 0x9b, 0x47, 0x44, 0x30, 0x4e, 0xad, 0x9f, 0x84, 0x49, 0xd6, 0xda, + 0x02, 0xad, 0xd9, 0xd5, 0x05, 0x5a, 0x32, 0xab, 0x86, 0x25, 0xc4, 0x1c, 0x87, 0x9e, 0xb2, 0x57, + 0x8c, 0x22, 0xf2, 0x07, 0xfd, 0x2c, 0xec, 0x8f, 0xa1, 0x40, 0xb1, 0x26, 0x61, 0x77, 0x99, 0x17, + 0x31, 0xa2, 0xee, 0x82, 0x78, 0xd4, 0x4f, 0xc7, 0x90, 0x49, 0x67, 0x9b, 0x80, 0x5e, 0xc6, 0x5c, + 0xb8, 0x1a, 0x3e, 0xe9, 0x2e, 0x86, 0xf7, 0x10, 0x11, 0x36, 0xf6, 0x2a, 0x0c, 0xb3, 0x7a, 0x45, + 0x6c, 0x43, 0xb8, 0xce, 0x4b, 0xe9, 0x21, 0xc4, 0xc7, 0x0a, 0x8d, 0x31, 0x54, 0xf6, 0x17, 0xea, + 0xf3, 0x69, 0x3d, 0x20, 0x65, 0x0e, 0x0e, 0x02, 0x2d, 0x3c, 0x08, 0x4c, 0x38, 0x92, 0xca, 0x04, + 0x75, 0x98, 0x83, 0xdd, 0x9d, 0x8e, 0x69, 0x41, 0xa8, 0xbf, 0x1e, 0xc9, 0x3c, 0x44, 0x9c, 0xcc, + 0x32, 0x07, 0xc9, 0xde, 0xce, 0xf9, 0x7b, 0xdb, 0x48, 0x9a, 0xe0, 0xa4, 0x06, 0xd7, 0x03, 0x33, + 0x89, 0x72, 0x08, 0x97, 0x44, 0xfa, 0x03, 0xd8, 0xc7, 0x9b, 0xa8, 0xdb, 0x2e, 0x57, 0xd0, 0xef, + 0x17, 0x8e, 0x6b, 0xb8, 0x4d, 0x47, 0x64, 0x7e, 0xfc, 0xa9, 0x5d, 0x00, 0xfa, 0x21, 0x74, 0xea, + 0x00, 0x47, 0x39, 0xe9, 0xef, 0xe6, 0x15, 0x85, 0xc1, 0xd3, 0xe7, 0x59, 0xc9, 0xa1, 0x20, 0xc8, + 0xf4, 0xb3, 0x30, 0x11, 0xe2, 0xae, 0x34, 0xae, 0x3f, 0x1c, 0x51, 0x53, 0xca, 0x74, 0x0d, 0x7a, + 0x79, 0x35, 0x34, 0xa0, 0xaa, 0x48, 0x48, 0xa5, 0x7f, 0x23, 0x87, 0x83, 0xcb, 0x7b, 0x27, 0x33, + 0x2c, 0x15, 0xa9, 0xbc, 0x5e, 0xb7, 0xcc, 0xaa, 0xc9, 0x93, 0x8e, 0xee, 0x02, 0x7f, 0x20, 0x0b, + 0x00, 0x2c, 0xab, 0x2c, 0x3a, 0x66, 0x99, 0xb2, 0x8c, 0x6b, 0x78, 0xe6, 0x68, 0x9a, 0x50, 0xac, + 0xd1, 0x15, 0xb3, 0x4c, 0x0b, 0xfd, 0xb6, 0xf8, 0x49, 0x8a, 0xb0, 0x9f, 0xb1, 0x2b, 0x96, 0x9a, + 0xd5, 0xa6, 0x65, 0x78, 0x94, 0xc5, 0x9a, 0xed, 0xad, 0x3c, 0x0c, 0x6b, 0xb2, 0xdb, 0x13, 0x64, + 0xee, 0x88, 0x97, 0xbc, 0x7c, 0xf3, 0xcd, 0x83, 0xcf, 0x95, 0x6c, 0xa7, 0x6a, 0x3b, 0x4e, 0xf9, + 0xd1, 0x94, 0x69, 0x4f, 0x57, 0x0d, 0x77, 0x63, 0xea, 0x2e, 0xad, 0x18, 0xa5, 0xad, 0x05, 0x5a, + 0x2a, 0xec, 0x63, 0x5c, 0xe6, 0x25, 0x93, 0x7b, 0xc8, 0x23, 0xb6, 0x81, 0xc7, 0x4d, 0xa3, 0xe6, + 0x9a, 0xee, 0xd6, 0x64, 0x4f, 0xe7, 0x0d, 0x7c, 0x10, 0x79, 0xe8, 0x7f, 0xa8, 0x61, 0x00, 0x0a, + 0x19, 0x16, 0xfb, 0xed, 0x0e, 0x8c, 0xae, 0x35, 0xb7, 0x9c, 0x62, 0xbd, 0x61, 0x96, 0x68, 0xd1, + 0xa2, 0x9b, 0xd4, 0x42, 0xa7, 0x3a, 0x9c, 0x66, 0xac, 0xbb, 0x5e, 0xc5, 0xc2, 0xb0, 0x47, 0xfa, + 0xc0, 0xa3, 0x64, 0xcf, 0x64, 0x19, 0xf6, 0x78, 0xa9, 0x78, 0x90, 0x5b, 0x4e, 0x95, 0xdb, 0x08, + 0xa3, 0x6d, 0xb1, 0xd3, 0x3f, 0xad, 0xc1, 0xf0, 0x62, 0xd3, 0xb2, 0x5a, 0xee, 0xb2, 0x5d, 0x37, + 0x23, 0x1f, 0x81, 0x3d, 0x55, 0xb3, 0x8c, 0xf2, 0x19, 0xb5, 0x72, 0xd1, 0xb5, 0xd7, 0x30, 0x6b, + 0x3b, 0x9e, 0x1a, 0xb5, 0xcc, 0x32, 0x13, 0x6c, 0xb6, 0x56, 0x5e, 0xbd, 0x3f, 0x87, 0x09, 0xeb, + 0x70, 0xd5, 0x57, 0x6a, 0xaf, 0xe9, 0x9f, 0xd4, 0x30, 0x81, 0x0a, 0x0a, 0xbd, 0xcd, 0x50, 0x40, + 0x66, 0x60, 0xe2, 0x0d, 0xd3, 0xdd, 0x28, 0x46, 0x05, 0xe7, 0xeb, 0x08, 0xe2, 0xbd, 0x5d, 0x0e, + 0x8a, 0x52, 0xc6, 0xd4, 0x28, 0x22, 0x09, 0x76, 0xfb, 0x42, 0x38, 0x84, 0xa4, 0x6a, 0x1f, 0xe4, + 0xd2, 0x0a, 0x23, 0x55, 0x74, 0xad, 0xd0, 0x7b, 0x95, 0x41, 0x9b, 0xac, 0x54, 0x2e, 0x51, 0x29, + 0x23, 0xd6, 0xbc, 0xbe, 0x79, 0x28, 0xe8, 0x1b, 0x59, 0x54, 0x12, 0x61, 0xe8, 0x67, 0xe4, 0x6a, + 0x48, 0x8c, 0x16, 0x67, 0x6e, 0xeb, 0xb6, 0xe1, 0x6c, 0xb4, 0x26, 0xcd, 0x54, 0xb5, 0x22, 0xd3, + 0x54, 0x2e, 0x66, 0x9a, 0x3a, 0x0c, 0x83, 0x3c, 0x34, 0x6d, 0x30, 0xc6, 0x93, 0x5d, 0xac, 0xc7, + 0x07, 0x58, 0x19, 0x6f, 0x4b, 0xb7, 0xc4, 0xf2, 0x27, 0x46, 0x0c, 0x54, 0x77, 0x09, 0x7a, 0x03, + 0xeb, 0xf0, 0x53, 0x69, 0xea, 0xae, 0x36, 0xcc, 0x6a, 0x95, 0x96, 0x3d, 0x76, 0x77, 0xbd, 0x40, + 0xc1, 0x78, 0x16, 0x90, 0x81, 0xdc, 0x5a, 0x58, 0x65, 0x9b, 0x12, 0xad, 0x36, 0x77, 0x4c, 0x65, + 0xdd, 0x82, 0xf7, 0xf1, 0x54, 0x82, 0x97, 0xcc, 0x96, 0xcb, 0x0d, 0xea, 0x38, 0x19, 0x5b, 0x7a, + 0x11, 0x46, 0x44, 0x33, 0x06, 0x67, 0x80, 0x6d, 0x0d, 0x1b, 0x01, 0xb6, 0xfa, 0xaf, 0xe5, 0x60, + 0x6f, 0xac, 0xc6, 0xde, 0x4a, 0x8d, 0x79, 0x1b, 0xe7, 0xcd, 0x42, 0xeb, 0xae, 0x76, 0xa1, 0x95, + 0x53, 0x78, 0x49, 0x82, 0x0c, 0xcc, 0x39, 0x75, 0x6a, 0x49, 0xe4, 0x31, 0x58, 0x37, 0x2d, 0xcb, + 0x58, 0xb3, 0xf8, 0x7c, 0xa4, 0xca, 0x40, 0x10, 0xb5, 0xf6, 0x0f, 0xba, 0x7d, 0xfb, 0x07, 0x5e, + 0xf4, 0x68, 0x79, 0x13, 0x9f, 0x32, 0x70, 0x06, 0xf3, 0x1c, 0xc6, 0x5b, 0xad, 0x96, 0xcc, 0xf2, + 0x64, 0x2f, 0x5f, 0xad, 0x96, 0xcc, 0xb2, 0xfe, 0x31, 0xcc, 0xb5, 0xa2, 0xbd, 0xbd, 0xf3, 0x9e, + 0xd5, 0x80, 0xa3, 0x6d, 0xfa, 0x7d, 0xe7, 0xdb, 0xbc, 0xea, 0x1b, 0xc2, 0xc1, 0xb8, 0xad, 0x94, + 0xe4, 0xfc, 0x97, 0xe6, 0x1b, 0x7b, 0x61, 0x7a, 0x99, 0x81, 0xf5, 0xcb, 0xc0, 0xe5, 0x73, 0xa5, + 0xb6, 0xb3, 0x74, 0x9f, 0x98, 0x31, 0xc8, 0x12, 0x0c, 0xaf, 0x51, 0xc7, 0x2d, 0xae, 0x35, 0xb7, + 0x90, 0x4d, 0x4e, 0x9d, 0xcd, 0xa0, 0x47, 0x3a, 0xd7, 0xdc, 0xe2, 0xac, 0xee, 0xc0, 0x08, 0x63, + 0xc5, 0x76, 0xd2, 0x38, 0xaf, 0x2e, 0x75, 0x5e, 0x43, 0x1e, 0xed, 0x0a, 0xb5, 0x2c, 0xc6, 0x4c, + 0x9f, 0xc7, 0x81, 0xba, 0x40, 0x1b, 0xe6, 0x26, 0xcb, 0x24, 0x3a, 0x30, 0xe1, 0x4f, 0xe6, 0xb0, + 0xdb, 0x93, 0xb9, 0xfc, 0x9f, 0x37, 0xe4, 0xef, 0x0b, 0x37, 0x6a, 0xd9, 0x60, 0x27, 0xd2, 0xda, + 0xd4, 0x84, 0xb4, 0x6b, 0xfb, 0x09, 0xa9, 0xfe, 0x79, 0x0d, 0x0e, 0x25, 0xcb, 0xfd, 0x03, 0x90, + 0x35, 0xfe, 0x7a, 0x17, 0x4c, 0xc5, 0xc6, 0xb7, 0x55, 0x7b, 0xde, 0xa8, 0x95, 0xa8, 0xf5, 0xb0, + 0xbe, 0x6a, 0xcf, 0x56, 0xbd, 0x70, 0xb4, 0x73, 0x53, 0xfa, 0x02, 0x0c, 0xac, 0x19, 0x0e, 0x2d, + 0x1a, 0x8c, 0x6f, 0x96, 0xf0, 0x0e, 0x1e, 0x1d, 0x17, 0x87, 0x2c, 0xc2, 0xe0, 0xe3, 0xa6, 0xed, + 0x4a, 0x36, 0xdd, 0xea, 0x6c, 0x06, 0x18, 0x21, 0xf2, 0xb9, 0x0b, 0x7d, 0x8e, 0xdb, 0x30, 0x5c, + 0x5a, 0xe1, 0x6b, 0x88, 0xe1, 0x99, 0x93, 0x69, 0x86, 0xe4, 0x66, 0xb1, 0xd8, 0x81, 0xca, 0x0a, + 0xd2, 0x15, 0x24, 0x07, 0x72, 0x17, 0x46, 0x1a, 0x74, 0x9d, 0x36, 0x68, 0xad, 0x44, 0x71, 0x58, + 0xf4, 0xaa, 0x3b, 0xda, 0xb0, 0xa4, 0xe5, 0xe3, 0xe2, 0x1f, 0x72, 0x70, 0xc6, 0xd7, 0x3d, 0x21, + 0x2f, 0x7b, 0x57, 0x3b, 0x29, 0x6c, 0xde, 0xae, 0x1d, 0x30, 0x6f, 0xf7, 0xbb, 0x61, 0xde, 0x9e, + 0xce, 0xcd, 0xbb, 0x8e, 0x1b, 0x3f, 0xf1, 0xd6, 0xdd, 0xb9, 0x84, 0xae, 0x01, 0xc7, 0x63, 0x26, + 0xf6, 0x8e, 0xda, 0x53, 0x4e, 0xeb, 0xbe, 0x9b, 0x83, 0xe7, 0x70, 0xea, 0x6f, 0x35, 0xf4, 0x7d, + 0x92, 0xdc, 0x5d, 0x66, 0x8b, 0x8f, 0x8a, 0x59, 0xcb, 0xe2, 0x55, 0x48, 0x12, 0xc8, 0x0c, 0xbb, + 0x3b, 0xc9, 0x0c, 0x0f, 0x8a, 0xcc, 0xd0, 0xf3, 0x9c, 0xbe, 0xb9, 0xfe, 0x77, 0xde, 0x3c, 0xc8, + 0x0b, 0xe2, 0x93, 0xc4, 0xde, 0x84, 0x24, 0x71, 0x77, 0x2b, 0x49, 0xdc, 0xc4, 0xbd, 0xbf, 0x24, + 0x3f, 0xc2, 0x89, 0xe0, 0x7e, 0x28, 0x6d, 0x3b, 0xaf, 0x90, 0xb6, 0xc5, 0xf5, 0x9d, 0x4c, 0xde, + 0x7e, 0x1c, 0x3e, 0xa0, 0xe4, 0x57, 0xef, 0x56, 0xfb, 0x3f, 0xa7, 0x45, 0x12, 0xa0, 0xf7, 0x70, + 0x19, 0xf8, 0x24, 0x92, 0x47, 0x25, 0x2c, 0x06, 0x77, 0xdc, 0x0e, 0x3f, 0x2b, 0x0e, 0x40, 0x7c, + 0x29, 0xdc, 0x7b, 0xb6, 0x9b, 0xf1, 0x49, 0x0d, 0xc0, 0x97, 0x30, 0xbc, 0x87, 0xe3, 0x5c, 0xff, + 0x82, 0x06, 0xe3, 0x0f, 0x68, 0xa3, 0x4e, 0xdd, 0xa6, 0x61, 0x71, 0x8b, 0xac, 0xb8, 0x86, 0x4b, + 0xc9, 0x03, 0x18, 0x10, 0x6a, 0xd7, 0xd6, 0x6d, 0xdc, 0x82, 0x48, 0x3d, 0xca, 0x0e, 0xb1, 0x59, + 0xaa, 0xad, 0xdb, 0x05, 0x34, 0x9d, 0xf7, 0x9b, 0x3c, 0x84, 0xc1, 0xf5, 0x66, 0xad, 0x6c, 0xd6, + 0x2a, 0x9c, 0x25, 0xdf, 0xa6, 0x9a, 0xc9, 0xc0, 0x72, 0x91, 0x93, 0x17, 0x06, 0x90, 0x8f, 0xc7, + 0x56, 0xff, 0x6c, 0x17, 0x8c, 0x2f, 0x36, 0x2d, 0x2b, 0xdc, 0xb1, 0x64, 0x21, 0xb4, 0x7f, 0xf2, + 0x72, 0xfa, 0x1e, 0x78, 0x90, 0x5a, 0xee, 0xb0, 0x7d, 0x18, 0x86, 0xeb, 0x42, 0x0a, 0xbf, 0xdc, + 0x27, 0x33, 0xc8, 0xcd, 0x2c, 0x7a, 0x7b, 0x57, 0x61, 0x48, 0x72, 0x62, 0x06, 0xf9, 0x90, 0x67, + 0x10, 0xb7, 0xd9, 0xa0, 0x0e, 0x67, 0xdc, 0xc5, 0x18, 0x9f, 0x4e, 0x63, 0x7c, 0xf3, 0x49, 0xdd, + 0x6c, 0x6c, 0x2d, 0x72, 0xaa, 0x96, 0x9d, 0x6f, 0xef, 0xf2, 0x6c, 0xc2, 0x0a, 0x19, 0xe7, 0x39, + 0xee, 0xb3, 0x38, 0xfd, 0x66, 0x08, 0xc1, 0xcc, 0xb1, 0xf9, 0xea, 0x21, 0x76, 0x6b, 0xb1, 0x67, + 0x67, 0xb6, 0x16, 0xe7, 0x7a, 0xa1, 0xdb, 0x53, 0x59, 0xb7, 0x70, 0x6d, 0x1b, 0x33, 0x2a, 0x31, + 0x12, 0xbc, 0x12, 0xde, 0xd9, 0x3b, 0xd9, 0x6e, 0x1b, 0x2c, 0xd2, 0x95, 0x72, 0x7f, 0xef, 0x32, + 0xee, 0x0b, 0x45, 0x6a, 0xa8, 0x2c, 0x02, 0xcd, 0x84, 0x00, 0x22, 0x25, 0xbd, 0x1d, 0xf2, 0xb7, + 0xec, 0x82, 0x8a, 0x5d, 0xbb, 0x39, 0x9c, 0xac, 0xc2, 0x15, 0x70, 0xf6, 0x50, 0x12, 0x97, 0x46, + 0x17, 0xbe, 0x41, 0x1e, 0xad, 0xe3, 0x41, 0x91, 0xa5, 0x88, 0x53, 0x70, 0xfe, 0xa8, 0x96, 0x37, + 0xdd, 0xc2, 0xd5, 0x55, 0xeb, 0x30, 0x8a, 0xcd, 0xb0, 0xec, 0x8a, 0x4f, 0x96, 0xb3, 0x2e, 0x7d, + 0x31, 0x72, 0x41, 0xe2, 0x81, 0xed, 0x98, 0xec, 0x4e, 0x54, 0x26, 0x3e, 0x1f, 0x83, 0xf7, 0x27, + 0xf0, 0x59, 0xaa, 0x05, 0x7b, 0x7b, 0xfb, 0x17, 0x8c, 0x1c, 0x98, 0x0e, 0xb5, 0x75, 0x73, 0x7d, + 0x9d, 0xf7, 0xf8, 0xbb, 0xd7, 0xe8, 0x2b, 0xe8, 0x1c, 0xa1, 0x0b, 0x3c, 0xf2, 0xf2, 0x4e, 0x16, + 0x63, 0xd5, 0x22, 0xbd, 0xe7, 0x33, 0xba, 0x1c, 0x80, 0x3d, 0xde, 0x4c, 0x48, 0x71, 0xf8, 0x4d, + 0xa9, 0x45, 0x51, 0xc1, 0x07, 0x8f, 0x73, 0x39, 0x0b, 0xfd, 0x11, 0xbc, 0xd8, 0xb6, 0x73, 0xe4, + 0x4e, 0x8a, 0x6c, 0xd6, 0x1b, 0x4c, 0xef, 0x4b, 0x0d, 0xb7, 0xfe, 0xc6, 0x34, 0xd1, 0xd8, 0xc7, + 0x73, 0xb0, 0x27, 0xd2, 0x1f, 0x64, 0x1f, 0xec, 0x36, 0x9d, 0xa2, 0x65, 0xd7, 0x2a, 0x8c, 0x73, + 0x5f, 0xa1, 0xd7, 0x74, 0xee, 0xda, 0xb5, 0xca, 0xf6, 0x53, 0xe6, 0x05, 0x18, 0xa0, 0x35, 0xb7, + 0xb1, 0x15, 0xd9, 0x6a, 0x69, 0xbf, 0x66, 0x66, 0x74, 0x3c, 0xec, 0xde, 0x83, 0x51, 0x2a, 0x84, + 0x2e, 0x62, 0x0a, 0x9e, 0x21, 0x80, 0x8f, 0x48, 0xe2, 0x65, 0x46, 0xab, 0x3f, 0x83, 0x93, 0xea, + 0x3e, 0x2a, 0x37, 0x2f, 0x03, 0xb6, 0x3f, 0x91, 0x3a, 0x23, 0x85, 0xb9, 0x05, 0x3b, 0xe1, 0x1a, + 0x0e, 0xeb, 0xb8, 0xe4, 0x40, 0x25, 0x8c, 0x55, 0xd1, 0x43, 0x63, 0xe9, 0xa5, 0xb8, 0xdd, 0xdb, + 0xc8, 0x51, 0xd0, 0x43, 0xf9, 0x7c, 0x24, 0x22, 0x6f, 0xc2, 0x3c, 0xab, 0x24, 0x72, 0x13, 0x23, + 0x6f, 0x22, 0x0f, 0x14, 0x7b, 0x39, 0x20, 0x76, 0x27, 0xd3, 0x7e, 0x40, 0xf4, 0x59, 0x5c, 0x29, + 0x27, 0xe4, 0x4c, 0x6a, 0x92, 0x1f, 0x49, 0x65, 0x21, 0x6f, 0x4d, 0x06, 0xdc, 0xa3, 0x83, 0x0c, + 0x2e, 0x18, 0x15, 0xe4, 0x1a, 0x25, 0x31, 0xa4, 0x61, 0xc3, 0xa5, 0xc0, 0x15, 0x47, 0x2f, 0x1a, + 0xcd, 0x76, 0x78, 0xc5, 0xb1, 0x75, 0x6f, 0x52, 0xdc, 0x1a, 0x13, 0x8c, 0xf5, 0x8b, 0x78, 0x5d, + 0x28, 0x7e, 0x46, 0x43, 0x49, 0xc6, 0xa1, 0x87, 0x5f, 0x6e, 0xd5, 0xd8, 0xe5, 0x56, 0xfe, 0xa0, + 0xef, 0xc7, 0xfb, 0x04, 0xcb, 0x76, 0xb9, 0x69, 0x51, 0x96, 0xf5, 0x89, 0x3b, 0x6f, 0xaf, 0xe3, + 0xfd, 0x87, 0xc0, 0x2b, 0x79, 0xd7, 0x20, 0x60, 0xcf, 0xd4, 0xeb, 0x26, 0xb7, 0xf8, 0x8d, 0x5e, + 0xce, 0x00, 0xed, 0xb7, 0x0f, 0xf6, 0xf2, 0x6e, 0x0b, 0x4d, 0x98, 0x7a, 0x19, 0xaf, 0x45, 0xbc, + 0xbb, 0x41, 0xfd, 0xb1, 0xff, 0xfc, 0xa5, 0x40, 0xdf, 0x30, 0x1a, 0xe5, 0x07, 0xb6, 0x59, 0x73, + 0x95, 0xee, 0xad, 0x9d, 0x81, 0x89, 0x3a, 0xe5, 0x8b, 0x82, 0xba, 0x6d, 0x5b, 0x45, 0xd7, 0xac, + 0x52, 0xc7, 0x35, 0xaa, 0x75, 0x16, 0x83, 0xbb, 0x0a, 0xe3, 0xf8, 0xf6, 0x81, 0x6d, 0x5b, 0xab, + 0xe2, 0x9d, 0xfe, 0xd3, 0xe2, 0x58, 0x33, 0xa6, 0x4d, 0xd4, 0x70, 0x0d, 0x9e, 0x13, 0x93, 0x1f, + 0xbb, 0x9b, 0x5c, 0x6c, 0xb0, 0x5a, 0xc5, 0x3a, 0xab, 0xc6, 0xe5, 0x50, 0x0b, 0xa9, 0x93, 0x7e, + 0x37, 0xf0, 0xb7, 0xa5, 0x1f, 0xc6, 0xe0, 0xe6, 0x7b, 0x33, 0x6f, 0x54, 0xeb, 0x86, 0x59, 0xa9, + 0x89, 0x2e, 0xf8, 0x5e, 0x37, 0x06, 0xb0, 0xd8, 0x3a, 0x28, 0xeb, 0x26, 0x3c, 0xef, 0xc9, 0xe8, + 0x19, 0x01, 0xa5, 0x2c, 0x61, 0x15, 0xff, 0xe2, 0xeb, 0x6c, 0xfa, 0x1a, 0xd8, 0xe0, 0x63, 0xd4, + 0xdf, 0x00, 0x0b, 0x37, 0xfb, 0xdd, 0xa4, 0x57, 0xe4, 0x27, 0x34, 0x38, 0x1a, 0x6a, 0x98, 0x75, + 0x82, 0x6c, 0xdd, 0x29, 0x6d, 0x50, 0xcf, 0x5f, 0x71, 0xfb, 0x7a, 0x2a, 0x7d, 0x5b, 0x50, 0x68, + 0xc5, 0x2d, 0x64, 0x5b, 0x85, 0xc3, 0x81, 0xa6, 0xbd, 0x22, 0x51, 0x69, 0x05, 0x19, 0x93, 0x1f, + 0x81, 0xfd, 0xae, 0xed, 0x1a, 0x56, 0x6c, 0x27, 0x65, 0x98, 0x42, 0x27, 0x18, 0x97, 0x48, 0x17, + 0x91, 0x5f, 0xd0, 0xe0, 0x84, 0x70, 0x30, 0x35, 0x55, 0xbb, 0x3b, 0x52, 0xf5, 0x18, 0x36, 0xb2, + 0xda, 0x56, 0xe3, 0x2a, 0x1c, 0x96, 0x02, 0x25, 0x6a, 0xde, 0xa3, 0xee, 0x9e, 0x2f, 0x88, 0x96, + 0x63, 0x0d, 0xa0, 0x5f, 0x46, 0x1f, 0x5d, 0x72, 0xee, 0xd7, 0x5d, 0x5a, 0xbe, 0xdf, 0x74, 0xef, + 0xaf, 0xf3, 0x0a, 0x4e, 0xfb, 0x8b, 0xb0, 0x0b, 0xe8, 0xbc, 0xb1, 0xc4, 0xe8, 0xbc, 0x87, 0x60, + 0xd0, 0x74, 0x8a, 0xb6, 0xf7, 0xbe, 0x68, 0x37, 0x5d, 0xcc, 0xaa, 0xc0, 0x94, 0x24, 0xfa, 0x8b, + 0xb8, 0xeb, 0x13, 0xe1, 0x81, 0x9b, 0x62, 0x32, 0x5e, 0x2d, 0x60, 0xee, 0x9e, 0x52, 0x11, 0x1b, + 0x4d, 0x09, 0x29, 0xfa, 0x35, 0x9c, 0x08, 0x17, 0x29, 0x5d, 0x30, 0x1d, 0xbe, 0xed, 0x86, 0x19, + 0xaf, 0x6f, 0x0a, 0x4f, 0x56, 0xfa, 0xbb, 0x1a, 0x4e, 0x83, 0x49, 0x0c, 0x50, 0x86, 0x17, 0x00, + 0x5c, 0x93, 0x36, 0xe4, 0x71, 0x91, 0x76, 0xac, 0xbb, 0xd0, 0xef, 0x95, 0xf0, 0x5d, 0x9d, 0x02, + 0x0c, 0xca, 0xec, 0xbb, 0xb5, 0x6d, 0x90, 0x9a, 0x9d, 0xf8, 0x1a, 0x5c, 0x35, 0x69, 0x83, 0xb5, + 0x36, 0x60, 0xb4, 0x9a, 0x26, 0xf7, 0x61, 0x40, 0x06, 0x35, 0xd7, 0xc2, 0x0d, 0x83, 0xa9, 0x0c, + 0x2c, 0x57, 0x57, 0xef, 0x16, 0x40, 0xc4, 0x33, 0xd7, 0x92, 0x11, 0xcc, 0x57, 0x4d, 0x38, 0xaa, + 0xe8, 0x94, 0x4f, 0x88, 0x03, 0xb4, 0xd8, 0x3a, 0x72, 0x66, 0xde, 0xbb, 0x4e, 0x69, 0xb1, 0x8c, + 0xef, 0x5b, 0xa3, 0x49, 0xcb, 0xa4, 0xb5, 0xe4, 0x3b, 0xb6, 0x1e, 0x2d, 0xd4, 0x6f, 0xe0, 0x44, + 0x83, 0xf7, 0xbd, 0x97, 0x4d, 0xa7, 0x6a, 0xb8, 0x25, 0xdf, 0x1e, 0xe6, 0x41, 0x18, 0x28, 0x37, + 0x1d, 0xb7, 0xb8, 0x6e, 0x94, 0x5c, 0x9b, 0x43, 0x53, 0xba, 0x0a, 0xe0, 0x15, 0x2d, 0xb2, 0x12, + 0xfd, 0xb7, 0xbb, 0x60, 0x24, 0x44, 0x4d, 0x74, 0x08, 0xac, 0x89, 0xd4, 0x2f, 0x62, 0x92, 0x59, + 0xe8, 0x37, 0x36, 0x0d, 0x33, 0xf3, 0x0d, 0x88, 0x16, 0x15, 0xb9, 0x08, 0x3d, 0x2c, 0x08, 0x64, + 0x49, 0xf1, 0x39, 0x05, 0x59, 0x84, 0x41, 0xbc, 0xe9, 0x5e, 0xdc, 0xb0, 0xad, 0xb2, 0xef, 0x90, + 0xa5, 0xfd, 0xe9, 0x0f, 0x12, 0xde, 0xb6, 0xad, 0x32, 0x79, 0x05, 0x86, 0xe9, 0x93, 0x3a, 0x2d, + 0x79, 0xe3, 0x97, 0xcb, 0xd2, 0xab, 0xce, 0x69, 0x48, 0x90, 0xb2, 0xe8, 0x43, 0xe6, 0x01, 0xca, + 0xe6, 0x3a, 0x1e, 0xe0, 0xf0, 0xed, 0x77, 0xc5, 0x15, 0x50, 0x8b, 0x4c, 0xff, 0x31, 0x9c, 0xdb, + 0x63, 0xba, 0x19, 0xbd, 0xed, 0x75, 0x20, 0x42, 0xf5, 0xaa, 0x7c, 0x8b, 0xa9, 0xcc, 0x07, 0x14, + 0x90, 0x02, 0x82, 0x65, 0x61, 0xcf, 0x5a, 0xb8, 0x0d, 0xfd, 0x28, 0x0e, 0x7e, 0xac, 0xea, 0x25, + 0x8a, 0x73, 0x2d, 0x6b, 0xc9, 0x50, 0xf5, 0x2b, 0x39, 0xd8, 0xeb, 0xab, 0xc2, 0x17, 0x5b, 0xcc, + 0x9e, 0xff, 0xcf, 0xfd, 0x49, 0xff, 0x65, 0x91, 0xcd, 0x27, 0x5a, 0x10, 0x7b, 0xb1, 0x06, 0x79, + 0xd1, 0x20, 0xdb, 0x41, 0xf7, 0xb7, 0xae, 0x74, 0x6d, 0x26, 0xd6, 0xfe, 0x85, 0x7d, 0x6b, 0xf1, + 0xed, 0xca, 0x69, 0x28, 0x14, 0x12, 0xbd, 0x54, 0xda, 0x74, 0x5c, 0xb3, 0x24, 0xfb, 0xf6, 0x22, + 0x0c, 0x05, 0x5e, 0x10, 0x02, 0xdd, 0x5e, 0x5c, 0xc7, 0x18, 0xcf, 0x7e, 0x7b, 0x5d, 0xd8, 0x82, + 0x06, 0x75, 0x17, 0xf8, 0x83, 0xee, 0xe0, 0x0c, 0x96, 0xd2, 0x86, 0x5c, 0xb4, 0x82, 0x23, 0x4b, + 0x55, 0x6e, 0xc9, 0x07, 0xf8, 0x14, 0x7c, 0xc4, 0x5e, 0xfe, 0xbf, 0x6c, 0xba, 0xf6, 0xab, 0x46, + 0xd3, 0x62, 0xd3, 0x84, 0x54, 0xe4, 0x8f, 0x35, 0x98, 0x08, 0xbf, 0xc1, 0xe6, 0x5f, 0x82, 0xd1, + 0xaa, 0xe1, 0xb8, 0xb4, 0x21, 0xce, 0x28, 0xa9, 0x98, 0x48, 0x47, 0x78, 0xf9, 0xac, 0x28, 0x26, + 0xa7, 0x60, 0xbc, 0x2c, 0x97, 0x00, 0xbe, 0xea, 0xfc, 0x28, 0x64, 0xac, 0xf5, 0xae, 0x45, 0x72, + 0x14, 0x86, 0x9d, 0xba, 0xed, 0xfa, 0x2a, 0xf3, 0xc3, 0xa0, 0x21, 0xaf, 0x34, 0x50, 0xad, 0xf4, + 0xc6, 0xcc, 0x49, 0x5f, 0xb5, 0x6e, 0x5e, 0xcd, 0x2b, 0x95, 0xd5, 0xf4, 0x05, 0x8c, 0xfb, 0xb8, + 0xf0, 0x5d, 0x58, 0x6c, 0xd8, 0x55, 0xa6, 0x92, 0x6f, 0xaf, 0x6b, 0xd3, 0x7b, 0x2e, 0x06, 0x77, + 0x32, 0x07, 0x59, 0xa1, 0x38, 0x6d, 0x15, 0xd7, 0xa8, 0x62, 0xb8, 0xa0, 0x4d, 0x52, 0xd7, 0xc6, + 0x62, 0x79, 0x7d, 0xdb, 0x74, 0x5c, 0xbb, 0x61, 0x96, 0x64, 0xae, 0x55, 0xb2, 0x7d, 0xa9, 0x54, + 0x2a, 0x0b, 0x17, 0x43, 0x4b, 0x12, 0x0b, 0xb9, 0x2f, 0x30, 0x24, 0x52, 0x42, 0xf6, 0x42, 0x05, + 0x85, 0x10, 0x60, 0x34, 0xe8, 0xfa, 0x9e, 0xf4, 0x3f, 0xd0, 0x60, 0x8c, 0xbd, 0xe6, 0xcd, 0x7a, + 0xc9, 0x95, 0xb7, 0x14, 0x24, 0x2f, 0x03, 0xe1, 0xcd, 0x54, 0x1a, 0x76, 0xb3, 0xee, 0xa5, 0xa3, + 0x0e, 0x2d, 0xa1, 0x8b, 0x8f, 0xb2, 0x37, 0xb7, 0xf0, 0xc5, 0x0a, 0x2d, 0x91, 0x7d, 0xb0, 0xbb, + 0x6a, 0x3c, 0x29, 0x1a, 0x15, 0x8a, 0x0e, 0xdf, 0x5b, 0x35, 0x9e, 0xcc, 0x56, 0x28, 0x99, 0x82, + 0x31, 0xb3, 0x56, 0xb2, 0x9a, 0x9e, 0xbc, 0xc6, 0x1b, 0xc5, 0x0d, 0xde, 0x08, 0x5e, 0xe9, 0xdb, + 0x83, 0xaf, 0x0a, 0xc6, 0x1b, 0xd8, 0xba, 0xe7, 0x78, 0xa2, 0xbe, 0x5c, 0xcb, 0xb3, 0x53, 0xde, + 0xc2, 0x08, 0x96, 0x8b, 0x35, 0xba, 0xfe, 0x9b, 0x1a, 0xee, 0xd7, 0x4b, 0x8c, 0x85, 0xe1, 0x9a, + 0x96, 0xe9, 0x6e, 0x29, 0x9d, 0x59, 0x96, 0x60, 0x2f, 0xd7, 0x0f, 0x45, 0xf2, 0x52, 0x54, 0x4f, + 0x71, 0x95, 0x44, 0x2c, 0xc6, 0x5e, 0x85, 0x31, 0x37, 0x5a, 0xa8, 0x7f, 0x3c, 0x17, 0xf0, 0x4d, + 0xbf, 0x88, 0x12, 0x8b, 0x01, 0x9b, 0xb2, 0x14, 0x4f, 0xf8, 0x0e, 0xb6, 0x9d, 0x0e, 0x5b, 0x24, + 0xe4, 0x35, 0x18, 0x15, 0x1a, 0x48, 0x83, 0xe5, 0x22, 0x07, 0x5a, 0x88, 0xe0, 0x95, 0x87, 0x30, + 0x58, 0xd3, 0x17, 0x78, 0x46, 0x90, 0x8b, 0x78, 0x45, 0x6e, 0xc3, 0x80, 0xbf, 0xc7, 0xba, 0x98, + 0x97, 0xbd, 0xa8, 0xe8, 0x65, 0x05, 0x68, 0xc8, 0x3e, 0x95, 0x40, 0xa2, 0x39, 0xb3, 0x66, 0x08, + 0x53, 0xb4, 0x3b, 0x57, 0xd5, 0x2b, 0x78, 0xd9, 0x3a, 0x44, 0x24, 0xc3, 0x63, 0xe8, 0xd8, 0x27, + 0xb5, 0xbf, 0x38, 0x0f, 0xec, 0x94, 0xf0, 0xa9, 0xcf, 0x63, 0x38, 0x11, 0x7b, 0xf4, 0x3f, 0x6f, + 0xd7, 0xca, 0x26, 0xbf, 0x25, 0xb6, 0xd3, 0xc8, 0xe3, 0xdf, 0xe8, 0x82, 0xc3, 0x91, 0x53, 0xe9, + 0x70, 0x7b, 0x3f, 0xb8, 0xf7, 0x3b, 0x6e, 0xc1, 0xa0, 0xdb, 0x30, 0x2b, 0x15, 0xda, 0x78, 0x90, + 0xf5, 0x80, 0x31, 0x40, 0xd8, 0xfe, 0x9e, 0xc7, 0x51, 0xd8, 0x6d, 0x3a, 0xec, 0x38, 0x9f, 0x65, + 0xa5, 0x7d, 0x73, 0x03, 0xef, 0xbc, 0x79, 0x50, 0x14, 0x15, 0xc4, 0x8f, 0xd0, 0x75, 0x90, 0xdd, + 0x09, 0xd7, 0x41, 0xfa, 0x5a, 0xd7, 0x41, 0x3e, 0xa1, 0x05, 0x2e, 0xd5, 0xa5, 0x3a, 0x85, 0x04, + 0x7d, 0x06, 0xaf, 0x24, 0x5c, 0xcd, 0x74, 0x25, 0x21, 0xcc, 0x57, 0x5e, 0x4c, 0x58, 0x46, 0x41, + 0xf0, 0x74, 0xce, 0xb5, 0xab, 0x66, 0xe9, 0xe6, 0x13, 0x5a, 0x6a, 0x7a, 0x95, 0x17, 0x29, 0x5d, + 0x6e, 0x5a, 0xae, 0x59, 0xb7, 0x4c, 0xda, 0x50, 0x9a, 0x63, 0x36, 0xf1, 0x48, 0x4a, 0x85, 0x1d, + 0x2a, 0x36, 0x0f, 0x50, 0x95, 0xa5, 0x59, 0x7c, 0xd1, 0x47, 0xa6, 0x5f, 0x10, 0xd8, 0x55, 0x66, + 0x90, 0x15, 0xd7, 0x78, 0x44, 0x6f, 0x35, 0x8c, 0xd6, 0x6d, 0xb7, 0x49, 0xd8, 0x5d, 0xf1, 0x9e, + 0x29, 0x15, 0xcb, 0x6d, 0x7c, 0xd4, 0x3f, 0x23, 0xa1, 0xa9, 0x11, 0x52, 0x14, 0xf0, 0x2a, 0xf4, + 0xb0, 0xca, 0xb8, 0x98, 0x4c, 0x0d, 0x51, 0x9c, 0x09, 0xa7, 0xe7, 0x54, 0x64, 0x05, 0x5a, 0x87, + 0x22, 0x45, 0xce, 0x48, 0x01, 0x21, 0x23, 0xcf, 0x35, 0x38, 0xaf, 0x61, 0x1a, 0x78, 0xd6, 0x57, + 0x31, 0x9b, 0x60, 0x4f, 0xb3, 0x4d, 0x77, 0xc3, 0x6e, 0x98, 0x3f, 0xca, 0xae, 0xc4, 0x45, 0x34, + 0x6e, 0x04, 0x35, 0x6e, 0xf8, 0x6d, 0x91, 0x0b, 0xda, 0xe2, 0x43, 0xb8, 0x1c, 0x8f, 0xe3, 0x8a, + 0xc6, 0x38, 0x0b, 0xbd, 0x78, 0xdd, 0x8f, 0xf7, 0xd4, 0x0b, 0xd8, 0x53, 0x7b, 0xa3, 0x3d, 0xb5, + 0x54, 0x73, 0x0b, 0x58, 0x59, 0x6e, 0x03, 0x45, 0x39, 0x3b, 0x6d, 0x05, 0xf6, 0x52, 0x88, 0x43, + 0xc9, 0xd4, 0xf2, 0x0e, 0x2d, 0xe1, 0xfb, 0x59, 0x8c, 0xaa, 0x98, 0x45, 0xc8, 0x51, 0x46, 0xc8, + 0x99, 0x8b, 0x9b, 0xa3, 0xbd, 0x8c, 0x8d, 0xa3, 0xb2, 0xf3, 0x18, 0x63, 0x2d, 0xa4, 0x3e, 0x7e, + 0x06, 0xfa, 0x25, 0x0e, 0x8e, 0x8c, 0xc3, 0xa8, 0xf7, 0xb7, 0xf8, 0xb0, 0xe6, 0xd4, 0x69, 0xc9, + 0x5c, 0x37, 0x69, 0x79, 0x74, 0x17, 0xd9, 0x0d, 0x5d, 0x73, 0xcd, 0xad, 0x51, 0x8d, 0xf4, 0x41, + 0xf7, 0x0a, 0xb5, 0xac, 0xd1, 0xdc, 0xf1, 0x57, 0x61, 0x3c, 0xee, 0x92, 0xa3, 0xc7, 0xc0, 0x47, + 0xcb, 0x18, 0x8f, 0xee, 0x22, 0x63, 0x30, 0xe2, 0xe5, 0x92, 0xaf, 0xd9, 0x0d, 0xc7, 0x5d, 0xb5, + 0xe7, 0xa8, 0xe3, 0x8e, 0x6a, 0xa2, 0xd0, 0x7b, 0x5a, 0xb5, 0xd9, 0xab, 0xd1, 0xdc, 0xcc, 0x9f, + 0x53, 0xe8, 0x61, 0x76, 0x24, 0x9f, 0xd5, 0x60, 0x2c, 0xe6, 0x3b, 0x08, 0xe4, 0x5c, 0x5b, 0xc4, + 0x7f, 0xec, 0x67, 0x15, 0xf2, 0xe7, 0x33, 0xd3, 0xf1, 0x5e, 0xd3, 0x67, 0x7e, 0xea, 0x6f, 0xbe, + 0xfd, 0xa9, 0xdc, 0xcb, 0xe4, 0xf8, 0xb4, 0xc2, 0x17, 0x47, 0x50, 0xc8, 0xbf, 0xd0, 0x80, 0x44, + 0x3f, 0x3c, 0x40, 0x2e, 0x75, 0xf4, 0xb5, 0x02, 0x2e, 0xff, 0xe5, 0x6d, 0x7c, 0xe9, 0x40, 0xbf, + 0xce, 0x74, 0xb8, 0x48, 0xce, 0xab, 0xe8, 0x30, 0xed, 0x44, 0x25, 0xff, 0x8a, 0x06, 0x7b, 0x22, + 0xfc, 0xc9, 0xc5, 0xec, 0x32, 0x09, 0x75, 0x2e, 0x75, 0x42, 0x8a, 0xda, 0x5c, 0x63, 0xda, 0x5c, + 0x20, 0xe7, 0x3a, 0xd3, 0x86, 0xfc, 0x89, 0x06, 0xa3, 0xe1, 0x2f, 0x2b, 0x90, 0x0b, 0xca, 0xfe, + 0x11, 0xfa, 0x58, 0x43, 0xfe, 0x62, 0x07, 0x94, 0xa8, 0xc9, 0x55, 0xa6, 0xc9, 0x79, 0x72, 0x56, + 0x49, 0x13, 0x1a, 0x96, 0xf9, 0xcf, 0x34, 0x18, 0x09, 0x7d, 0xae, 0x80, 0xb4, 0xf7, 0xf3, 0xf8, + 0x8f, 0x3d, 0xe4, 0x2f, 0x64, 0x27, 0x44, 0x2d, 0x16, 0x99, 0x16, 0x37, 0xc8, 0x35, 0x25, 0x2d, + 0x42, 0x1f, 0x75, 0x98, 0x7e, 0x8a, 0xbd, 0xf3, 0x8c, 0xf5, 0x4b, 0xf8, 0xeb, 0x0b, 0x24, 0xb3, + 0x58, 0x19, 0xfa, 0x25, 0xe9, 0x53, 0x0f, 0x19, 0xfb, 0x25, 0xfc, 0x99, 0x0a, 0xf2, 0x2f, 0x1a, + 0xec, 0x8d, 0x85, 0xd0, 0x93, 0xab, 0xea, 0x32, 0xc5, 0x7c, 0x83, 0x21, 0x7f, 0xad, 0x53, 0x72, + 0xd4, 0xeb, 0x1e, 0xd3, 0xeb, 0x36, 0x59, 0xcc, 0xa6, 0x97, 0x9f, 0xd7, 0xf4, 0x53, 0x99, 0x5a, + 0x3d, 0x23, 0x6f, 0x6a, 0x30, 0x11, 0xff, 0xad, 0x00, 0xd2, 0xa1, 0xa8, 0xb2, 0xf7, 0xae, 0x77, + 0x4c, 0x8f, 0xba, 0xce, 0x33, 0x5d, 0xaf, 0x92, 0xcb, 0x9d, 0xeb, 0xea, 0x90, 0x2f, 0x68, 0x30, + 0xe8, 0xff, 0xf8, 0x02, 0x39, 0xd3, 0x56, 0xac, 0x98, 0x8f, 0x52, 0xe4, 0xcf, 0x66, 0xa4, 0x42, + 0x15, 0xe6, 0x98, 0x0a, 0x57, 0xc8, 0x25, 0x25, 0x15, 0x02, 0x9f, 0x95, 0x98, 0x7e, 0xca, 0x1e, + 0x9f, 0x91, 0xcf, 0x69, 0x30, 0x14, 0xf8, 0x7c, 0x04, 0xc9, 0x26, 0x8c, 0xec, 0x90, 0x73, 0x59, + 0xc9, 0x50, 0x89, 0xcb, 0x4c, 0x89, 0xb3, 0xe4, 0x74, 0x76, 0x25, 0x1c, 0xf2, 0x3b, 0x1a, 0x0c, + 0xf8, 0xd0, 0xcc, 0xe4, 0x74, 0xfb, 0x69, 0x23, 0x82, 0xc2, 0xce, 0x9f, 0xc9, 0x46, 0x84, 0x72, + 0x9f, 0x64, 0x72, 0x1f, 0x27, 0xc7, 0xd2, 0xe4, 0x76, 0xea, 0xb6, 0x3b, 0x8d, 0xcb, 0x68, 0xf2, + 0x19, 0x0d, 0xc0, 0x87, 0x5c, 0x9f, 0xc9, 0xd0, 0xac, 0x10, 0xf5, 0x74, 0x26, 0x1a, 0x94, 0xf4, + 0x0a, 0x93, 0xf4, 0x1c, 0x39, 0xa3, 0x2a, 0x69, 0x60, 0x0c, 0x7f, 0x4e, 0x83, 0x91, 0x10, 0x68, + 0x5c, 0x61, 0x12, 0x89, 0x07, 0xbc, 0x2b, 0x4c, 0x22, 0x09, 0xf8, 0x74, 0xfd, 0x2c, 0x53, 0x62, + 0x9a, 0x9c, 0x68, 0xab, 0xc4, 0x7a, 0xd3, 0xb2, 0x8a, 0xc2, 0xe6, 0x5f, 0x8a, 0x7e, 0x31, 0xe0, + 0x5c, 0x46, 0x19, 0xd4, 0x33, 0xc4, 0x78, 0x18, 0xba, 0x7e, 0x83, 0x89, 0x7e, 0x89, 0x5c, 0xc8, + 0x22, 0x7a, 0xa0, 0x0f, 0x3e, 0xaf, 0xc1, 0x50, 0xe0, 0x6b, 0x0d, 0x0a, 0x83, 0x34, 0xee, 0xb3, + 0x19, 0x0a, 0x83, 0x34, 0xf6, 0xa3, 0x10, 0x6a, 0x29, 0x15, 0x53, 0xc1, 0x16, 0xb4, 0x01, 0x05, + 0xbe, 0xae, 0xc1, 0x68, 0x18, 0x7d, 0xa7, 0x30, 0x75, 0x27, 0xc0, 0xcf, 0x15, 0xa6, 0xee, 0x24, + 0x28, 0xb3, 0x7e, 0x87, 0x69, 0x72, 0x93, 0xcc, 0xab, 0x69, 0x12, 0x18, 0x0b, 0xd3, 0x4f, 0x03, + 0xbb, 0x5a, 0xcf, 0xc8, 0x7f, 0x68, 0x30, 0x99, 0x04, 0x64, 0x26, 0x37, 0xda, 0xcf, 0x50, 0xe9, + 0xd8, 0xf7, 0xfc, 0xec, 0x36, 0x38, 0xa0, 0xba, 0x0f, 0x99, 0xba, 0xf7, 0xc9, 0x72, 0x27, 0xea, + 0xa2, 0xaa, 0x32, 0x05, 0x13, 0xa7, 0x03, 0xcf, 0xc8, 0xb7, 0xbd, 0x05, 0x4c, 0xe4, 0x4b, 0x04, + 0x2a, 0x0b, 0x98, 0xa4, 0xaf, 0x28, 0xa8, 0x2c, 0x60, 0x12, 0x3f, 0x7d, 0x90, 0x59, 0xcd, 0xe2, + 0xda, 0x16, 0x82, 0x6c, 0x52, 0xfb, 0xf7, 0x4b, 0x1a, 0x8c, 0x86, 0x3f, 0x7d, 0xa8, 0xe0, 0xb6, + 0x09, 0x1f, 0x64, 0xcc, 0x5f, 0xec, 0x80, 0x12, 0x15, 0xbc, 0xc4, 0x14, 0x3c, 0x43, 0x66, 0xd2, + 0x14, 0x14, 0x5d, 0x18, 0xd2, 0xe2, 0x3b, 0x1a, 0xec, 0x6f, 0x8d, 0x87, 0xd5, 0x86, 0x51, 0x73, + 0x4c, 0x5a, 0x7b, 0x4f, 0x47, 0xa1, 0x7a, 0x7f, 0xb9, 0x42, 0xdc, 0xa2, 0xc2, 0x78, 0xfc, 0x5b, + 0x74, 0xcb, 0x20, 0x82, 0x42, 0xd1, 0x2d, 0x63, 0x61, 0xed, 0x8a, 0x6e, 0x19, 0x0f, 0x66, 0x57, + 0x5b, 0xf9, 0xf0, 0x99, 0x37, 0x0c, 0x14, 0x09, 0x84, 0xcf, 0x7f, 0xd3, 0x60, 0x32, 0x09, 0x39, + 0xaf, 0x10, 0x67, 0xda, 0x40, 0xf7, 0x15, 0xe2, 0x4c, 0x3b, 0xd8, 0xbe, 0x7e, 0x97, 0x69, 0xba, + 0x48, 0x16, 0xd2, 0x34, 0x6d, 0x1d, 0x74, 0xb6, 0xd1, 0xf7, 0x1b, 0x1a, 0x8c, 0xc5, 0xa0, 0xcd, + 0xc9, 0xe5, 0x0c, 0x82, 0x46, 0xe6, 0xbe, 0x2b, 0x9d, 0x11, 0xa3, 0x82, 0x0b, 0x4c, 0xc1, 0x6b, + 0xe4, 0x8a, 0xa2, 0x82, 0xf1, 0xf3, 0xe0, 0xbf, 0x6a, 0x30, 0x11, 0x0f, 0xa0, 0x54, 0x58, 0x10, + 0xa5, 0x22, 0x78, 0x15, 0x16, 0x44, 0xe9, 0xc8, 0x4d, 0xfd, 0x83, 0x4c, 0xc3, 0x3b, 0x64, 0x29, + 0x8b, 0x86, 0xe9, 0xe3, 0xf1, 0xe7, 0x73, 0x70, 0x20, 0x1d, 0xb7, 0x49, 0x16, 0x33, 0xce, 0x71, + 0x49, 0xea, 0xdf, 0xda, 0x36, 0x1f, 0x34, 0xc3, 0x47, 0x98, 0x19, 0x1e, 0x92, 0x95, 0xce, 0xcd, + 0x90, 0x3c, 0x6f, 0xfe, 0x77, 0x60, 0x20, 0x87, 0x66, 0xcf, 0x1b, 0x59, 0x1d, 0x34, 0x32, 0x87, + 0xce, 0x6e, 0x83, 0xc3, 0xb6, 0xd4, 0x57, 0x9c, 0x4f, 0xff, 0x47, 0x83, 0x83, 0x61, 0x2f, 0x0c, + 0xcf, 0x47, 0xef, 0xf9, 0x38, 0xc8, 0x6a, 0x81, 0x4c, 0x33, 0xd4, 0x1f, 0x69, 0xb0, 0x27, 0x02, + 0xd5, 0x53, 0xd8, 0x28, 0x4d, 0x02, 0xdd, 0x2a, 0x6c, 0x94, 0x26, 0x22, 0x03, 0xf5, 0x73, 0x4c, + 0xd3, 0x93, 0x64, 0x4a, 0x35, 0x68, 0xa3, 0xb8, 0x5f, 0xd5, 0x60, 0x34, 0x02, 0x16, 0xbd, 0x90, + 0x59, 0x10, 0xf5, 0x3c, 0x22, 0x09, 0x31, 0xa8, 0xb6, 0x03, 0x12, 0xd5, 0x20, 0x10, 0x93, 0xbf, + 0xa3, 0xc1, 0xbe, 0x04, 0x8c, 0x1f, 0xb9, 0x9e, 0x59, 0xb4, 0x20, 0xc2, 0x30, 0x7f, 0xa3, 0x73, + 0x06, 0xa8, 0xe2, 0x12, 0x53, 0x71, 0x9e, 0xcc, 0x66, 0x52, 0x51, 0x84, 0x9c, 0x80, 0xa6, 0x7f, + 0xa5, 0xc1, 0x78, 0x1c, 0x28, 0x83, 0x5c, 0xc9, 0x90, 0x98, 0x46, 0xd0, 0x89, 0xf9, 0xab, 0x1d, + 0x52, 0x67, 0xd9, 0x9e, 0x90, 0x05, 0xe1, 0x01, 0xf5, 0x7b, 0x1a, 0x8c, 0x89, 0xfd, 0x73, 0x1f, + 0x34, 0x44, 0x61, 0x27, 0x28, 0x8a, 0x31, 0x51, 0xd8, 0x09, 0x8a, 0x41, 0x9f, 0xa8, 0xed, 0x04, + 0x55, 0x19, 0x61, 0x91, 0x01, 0x3e, 0xc8, 0x6f, 0x69, 0xd0, 0x2f, 0x21, 0x25, 0xe4, 0x54, 0xdb, + 0x56, 0xc3, 0xb8, 0x94, 0xfc, 0x4c, 0x16, 0x12, 0x14, 0xf3, 0x04, 0x13, 0xf3, 0x45, 0x72, 0x34, + 0x4d, 0xcc, 0xba, 0x94, 0xea, 0x2f, 0x35, 0x18, 0x8b, 0x41, 0x35, 0x92, 0x2c, 0x07, 0x4d, 0x11, + 0xb9, 0xaf, 0x74, 0x46, 0x9c, 0x65, 0xdb, 0x5d, 0x6a, 0x10, 0x71, 0x95, 0x7f, 0xd7, 0x20, 0x9f, + 0x8c, 0x9b, 0x24, 0x73, 0x1d, 0xc8, 0x16, 0x02, 0xa7, 0xe6, 0xe7, 0xb7, 0xc5, 0x23, 0xcb, 0x88, + 0x4f, 0x54, 0x33, 0x30, 0xe2, 0x7f, 0x29, 0x07, 0x47, 0x14, 0x70, 0x8b, 0xe4, 0x4e, 0x06, 0xb9, + 0xdb, 0x21, 0x74, 0xf3, 0x77, 0x77, 0x86, 0x19, 0x5a, 0x63, 0x85, 0x59, 0x63, 0x99, 0xdc, 0x49, + 0x0d, 0x0f, 0xf2, 0x7a, 0x82, 0x9a, 0x5d, 0xfe, 0x4e, 0x83, 0xb1, 0x18, 0x24, 0xa3, 0x82, 0x73, + 0x27, 0xc3, 0x30, 0x15, 0x9c, 0x3b, 0x05, 0x83, 0xa9, 0xdf, 0x64, 0x7a, 0x5e, 0x27, 0x57, 0x53, + 0x7b, 0x5d, 0x7e, 0x48, 0xc1, 0xf7, 0x69, 0x89, 0x80, 0x66, 0xdf, 0xd2, 0x60, 0x5f, 0x02, 0xd8, + 0x51, 0x61, 0x36, 0x4b, 0x47, 0x6d, 0x2a, 0xcc, 0x66, 0x6d, 0x20, 0x9b, 0xaa, 0x47, 0x16, 0x1e, + 0x93, 0x44, 0x15, 0xdf, 0xd6, 0x60, 0x22, 0x1e, 0x15, 0xa9, 0x90, 0x3c, 0xa6, 0x82, 0x3b, 0x15, + 0x92, 0xc7, 0x74, 0x64, 0xa7, 0x7e, 0x9b, 0xe9, 0x37, 0x47, 0x6e, 0x64, 0xea, 0x45, 0xfc, 0x1a, + 0x47, 0xa4, 0x23, 0x13, 0xe0, 0x9c, 0x0a, 0x1d, 0x99, 0x8e, 0x6d, 0x57, 0xe8, 0xc8, 0x36, 0x48, + 0x52, 0xb5, 0x8e, 0xe4, 0x57, 0xca, 0xc4, 0xa5, 0xcb, 0xb8, 0xed, 0xb5, 0x3d, 0x51, 0xc0, 0x99, + 0xe2, 0xb6, 0x52, 0x0c, 0x4e, 0x52, 0x21, 0x19, 0x4e, 0x84, 0x3b, 0xea, 0xe7, 0x99, 0x42, 0xa7, + 0xc8, 0x74, 0x9a, 0x42, 0x31, 0x48, 0x33, 0xf2, 0xd7, 0x1a, 0x4c, 0x3e, 0x68, 0x61, 0xd7, 0xbe, + 0x2f, 0x94, 0x51, 0xba, 0xd0, 0xe1, 0x47, 0xf5, 0x85, 0x95, 0xfa, 0xaa, 0xb8, 0xf3, 0x1c, 0x04, + 0x3d, 0x2a, 0x04, 0xc8, 0x64, 0x28, 0xa7, 0x42, 0x80, 0x4c, 0xc1, 0x78, 0xea, 0x17, 0x99, 0x4e, + 0xa7, 0xc9, 0x29, 0xe5, 0x0e, 0x12, 0xd0, 0x44, 0xf2, 0x96, 0x06, 0x13, 0xf1, 0x58, 0x34, 0x85, + 0x88, 0x91, 0x8a, 0x82, 0x53, 0x88, 0x18, 0xe9, 0x20, 0x38, 0xfd, 0x16, 0x53, 0x6b, 0x96, 0x5c, + 0x4f, 0x53, 0x2b, 0x00, 0x0d, 0xf3, 0x83, 0xe2, 0x7c, 0xd7, 0x23, 0xbc, 0x2e, 0x8b, 0x41, 0x82, + 0x29, 0x74, 0x59, 0x32, 0x76, 0x4d, 0xa1, 0xcb, 0x52, 0x40, 0x6d, 0x6a, 0x5d, 0x16, 0x0b, 0x7b, + 0x23, 0x5f, 0xd3, 0x60, 0x4f, 0x04, 0xbf, 0xa4, 0x30, 0x9c, 0x92, 0xa0, 0x6d, 0x0a, 0xc3, 0x29, + 0x11, 0x2e, 0xa5, 0xb6, 0xf9, 0x17, 0x05, 0x54, 0x4d, 0x3f, 0xf5, 0x81, 0xe9, 0x9e, 0x91, 0x7f, + 0xd4, 0x60, 0x5f, 0x02, 0xa4, 0x47, 0x21, 0xa2, 0xa7, 0xc3, 0xa9, 0x14, 0x22, 0x7a, 0x1b, 0x34, + 0x91, 0x5a, 0xcc, 0x10, 0xff, 0x1a, 0x26, 0x06, 0x70, 0x44, 0xfe, 0x49, 0x83, 0xfd, 0x89, 0xb0, + 0x1d, 0x32, 0x9b, 0xc5, 0x93, 0x62, 0x61, 0x45, 0xf9, 0xb9, 0xed, 0xb0, 0xc8, 0x72, 0xdd, 0x20, + 0xe0, 0x92, 0x0c, 0xa2, 0xea, 0xad, 0xdb, 0x1c, 0xf2, 0x69, 0x0d, 0x86, 0x83, 0x70, 0xa0, 0xf4, + 0xc5, 0x5b, 0x2c, 0xa8, 0x28, 0x7d, 0xf1, 0x16, 0x8f, 0x36, 0xd2, 0xcf, 0x30, 0xb1, 0xa7, 0xc8, + 0xcb, 0xa9, 0x6b, 0x4c, 0xd3, 0xb5, 0x8b, 0x1c, 0xc7, 0x63, 0x32, 0xe1, 0xbe, 0xae, 0xe1, 0xf7, + 0x0b, 0x22, 0x90, 0x1d, 0x85, 0x91, 0x94, 0x04, 0x16, 0x52, 0x18, 0x49, 0x89, 0x08, 0x21, 0xb5, + 0x5b, 0x37, 0x5c, 0x05, 0x99, 0x0b, 0x4d, 0x3f, 0x0d, 0x60, 0x93, 0x58, 0xf6, 0x3e, 0x11, 0x0f, + 0x01, 0x52, 0x08, 0xe7, 0xa9, 0xf0, 0x23, 0x85, 0x70, 0x9e, 0x8e, 0x3d, 0x52, 0xdb, 0xcd, 0xd8, + 0x90, 0x3c, 0x8a, 0x01, 0xa0, 0x12, 0x5b, 0x97, 0xc4, 0x40, 0xc5, 0x15, 0x62, 0x78, 0x32, 0x3a, + 0x5d, 0x21, 0x86, 0xa7, 0xa0, 0xd3, 0xd5, 0xd6, 0x25, 0x7e, 0xfc, 0x7a, 0xd1, 0x5e, 0xc7, 0x09, + 0xd8, 0xf1, 0xcd, 0x4e, 0xff, 0xac, 0xc1, 0xfe, 0x44, 0x54, 0xba, 0x42, 0x70, 0x68, 0x07, 0x7d, + 0x57, 0x08, 0x0e, 0x6d, 0x41, 0xf1, 0xfa, 0x2c, 0xd3, 0xf5, 0x32, 0xb9, 0x98, 0x9a, 0xd4, 0xc6, + 0x28, 0x5a, 0x94, 0x9f, 0xe3, 0xf8, 0x8a, 0x06, 0xa3, 0x61, 0x28, 0x93, 0xc2, 0xde, 0x68, 0x02, + 0x40, 0x2b, 0x7f, 0xb1, 0x03, 0xca, 0x2c, 0xca, 0xb4, 0xfe, 0x63, 0x14, 0x92, 0x07, 0xd6, 0x20, + 0x5f, 0xd4, 0x60, 0x3c, 0x06, 0x19, 0xa4, 0x72, 0x47, 0x2c, 0x0e, 0xc9, 0xa4, 0x70, 0xfd, 0x24, + 0x16, 0xcb, 0xa4, 0x76, 0xfa, 0xbd, 0xc6, 0x48, 0x05, 0x48, 0x4d, 0x6e, 0x56, 0xff, 0x6a, 0x0e, + 0x0e, 0xb7, 0xc5, 0xa8, 0x90, 0xa5, 0xcc, 0xa7, 0x06, 0x49, 0xe0, 0xa7, 0xfc, 0x2b, 0x3b, 0xc1, + 0x0a, 0x15, 0xff, 0x61, 0xa6, 0xf8, 0x6b, 0xe4, 0x61, 0xb6, 0xc3, 0xa8, 0x52, 0x8b, 0x61, 0xea, + 0x69, 0xc4, 0xf7, 0x34, 0xd0, 0xdb, 0xe3, 0x5c, 0xc8, 0x2b, 0x8a, 0x4e, 0xa8, 0x80, 0xbd, 0xc9, + 0xdf, 0xd9, 0x11, 0x5e, 0x59, 0x52, 0x16, 0x83, 0x71, 0xe2, 0x87, 0x33, 0x45, 0x6f, 0x66, 0x6f, + 0x81, 0x6e, 0xc8, 0x9f, 0x6a, 0x30, 0x1a, 0x46, 0xcd, 0xa8, 0x5c, 0x29, 0x8e, 0xc7, 0xe8, 0xa8, + 0x5c, 0x29, 0x4e, 0x80, 0xe8, 0xa8, 0x5d, 0x12, 0x33, 0xf8, 0x1e, 0x97, 0xe3, 0x91, 0x73, 0x94, + 0xc8, 0xf4, 0x53, 0x44, 0xbe, 0x3c, 0x23, 0xdf, 0xd4, 0x80, 0x44, 0x81, 0x1c, 0x0a, 0x97, 0x1f, + 0x12, 0x11, 0x38, 0x0a, 0x97, 0x1f, 0x92, 0x71, 0x36, 0x6a, 0x37, 0xad, 0x10, 0xea, 0xe2, 0x67, + 0x20, 0x54, 0x6a, 0x3c, 0xf3, 0x29, 0xf7, 0x75, 0x0d, 0xc6, 0x62, 0xb0, 0x33, 0xa4, 0x13, 0x09, + 0x33, 0x4c, 0x8c, 0x29, 0x70, 0x1d, 0xb5, 0x1d, 0x90, 0x18, 0xfd, 0x9c, 0x96, 0x82, 0x73, 0x1b, + 0x5f, 0x7e, 0xeb, 0x80, 0xf6, 0xb5, 0xb7, 0x0e, 0x68, 0xdf, 0x7a, 0xeb, 0x80, 0xf6, 0x8b, 0x6f, + 0x1f, 0xd8, 0xf5, 0xb5, 0xb7, 0x0f, 0xec, 0xfa, 0xfb, 0xb7, 0x0f, 0xec, 0x7a, 0xfd, 0x5e, 0xc5, + 0x74, 0x37, 0x9a, 0x6b, 0x53, 0x25, 0xbb, 0x3a, 0xbd, 0x24, 0xf8, 0xdf, 0x35, 0xd6, 0x9c, 0x56, + 0x6b, 0x27, 0x4a, 0x76, 0x83, 0xfa, 0x1f, 0x37, 0x0c, 0xb3, 0x86, 0x07, 0x0d, 0x4e, 0x4b, 0x14, + 0x77, 0xab, 0x4e, 0x9d, 0xb5, 0x5e, 0xf6, 0x4f, 0x68, 0x4f, 0xff, 0x6f, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x1e, 0xed, 0xe6, 0xe6, 0x7a, 0x77, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -6956,6 +7277,12 @@ type QueryClient interface { // Retrieves a trader's derivative conditional orders TraderDerivativeConditionalOrders(ctx context.Context, in *QueryTraderDerivativeConditionalOrdersRequest, opts ...grpc.CallOption) (*QueryTraderDerivativeConditionalOrdersResponse, error) MarketAtomicExecutionFeeMultiplier(ctx context.Context, in *QueryMarketAtomicExecutionFeeMultiplierRequest, opts ...grpc.CallOption) (*QueryMarketAtomicExecutionFeeMultiplierResponse, error) + // Retrieves the active stake grant for a grantee + ActiveStakeGrant(ctx context.Context, in *QueryActiveStakeGrantRequest, opts ...grpc.CallOption) (*QueryActiveStakeGrantResponse, error) + // Retrieves the grant authorization amount for a granter and grantee + GrantAuthorization(ctx context.Context, in *QueryGrantAuthorizationRequest, opts ...grpc.CallOption) (*QueryGrantAuthorizationResponse, error) + // Retrieves the grant authorization amount for a granter and grantee + GrantAuthorizations(ctx context.Context, in *QueryGrantAuthorizationsRequest, opts ...grpc.CallOption) (*QueryGrantAuthorizationsResponse, error) } type queryClient struct { @@ -7479,6 +7806,33 @@ func (c *queryClient) MarketAtomicExecutionFeeMultiplier(ctx context.Context, in return out, nil } +func (c *queryClient) ActiveStakeGrant(ctx context.Context, in *QueryActiveStakeGrantRequest, opts ...grpc.CallOption) (*QueryActiveStakeGrantResponse, error) { + out := new(QueryActiveStakeGrantResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Query/ActiveStakeGrant", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) GrantAuthorization(ctx context.Context, in *QueryGrantAuthorizationRequest, opts ...grpc.CallOption) (*QueryGrantAuthorizationResponse, error) { + out := new(QueryGrantAuthorizationResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Query/GrantAuthorization", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) GrantAuthorizations(ctx context.Context, in *QueryGrantAuthorizationsRequest, opts ...grpc.CallOption) (*QueryGrantAuthorizationsResponse, error) { + out := new(QueryGrantAuthorizationsResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Query/GrantAuthorizations", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. type QueryServer interface { // Retrieves exchange params @@ -7599,6 +7953,12 @@ type QueryServer interface { // Retrieves a trader's derivative conditional orders TraderDerivativeConditionalOrders(context.Context, *QueryTraderDerivativeConditionalOrdersRequest) (*QueryTraderDerivativeConditionalOrdersResponse, error) MarketAtomicExecutionFeeMultiplier(context.Context, *QueryMarketAtomicExecutionFeeMultiplierRequest) (*QueryMarketAtomicExecutionFeeMultiplierResponse, error) + // Retrieves the active stake grant for a grantee + ActiveStakeGrant(context.Context, *QueryActiveStakeGrantRequest) (*QueryActiveStakeGrantResponse, error) + // Retrieves the grant authorization amount for a granter and grantee + GrantAuthorization(context.Context, *QueryGrantAuthorizationRequest) (*QueryGrantAuthorizationResponse, error) + // Retrieves the grant authorization amount for a granter and grantee + GrantAuthorizations(context.Context, *QueryGrantAuthorizationsRequest) (*QueryGrantAuthorizationsResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -7776,6 +8136,15 @@ func (*UnimplementedQueryServer) TraderDerivativeConditionalOrders(ctx context.C func (*UnimplementedQueryServer) MarketAtomicExecutionFeeMultiplier(ctx context.Context, req *QueryMarketAtomicExecutionFeeMultiplierRequest) (*QueryMarketAtomicExecutionFeeMultiplierResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method MarketAtomicExecutionFeeMultiplier not implemented") } +func (*UnimplementedQueryServer) ActiveStakeGrant(ctx context.Context, req *QueryActiveStakeGrantRequest) (*QueryActiveStakeGrantResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ActiveStakeGrant not implemented") +} +func (*UnimplementedQueryServer) GrantAuthorization(ctx context.Context, req *QueryGrantAuthorizationRequest) (*QueryGrantAuthorizationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GrantAuthorization not implemented") +} +func (*UnimplementedQueryServer) GrantAuthorizations(ctx context.Context, req *QueryGrantAuthorizationsRequest) (*QueryGrantAuthorizationsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GrantAuthorizations not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -8807,6 +9176,60 @@ func _Query_MarketAtomicExecutionFeeMultiplier_Handler(srv interface{}, ctx cont return interceptor(ctx, in, info, handler) } +func _Query_ActiveStakeGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryActiveStakeGrantRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).ActiveStakeGrant(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.exchange.v1beta1.Query/ActiveStakeGrant", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ActiveStakeGrant(ctx, req.(*QueryActiveStakeGrantRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_GrantAuthorization_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryGrantAuthorizationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).GrantAuthorization(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.exchange.v1beta1.Query/GrantAuthorization", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).GrantAuthorization(ctx, req.(*QueryGrantAuthorizationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_GrantAuthorizations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryGrantAuthorizationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).GrantAuthorizations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.exchange.v1beta1.Query/GrantAuthorizations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).GrantAuthorizations(ctx, req.(*QueryGrantAuthorizationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "injective.exchange.v1beta1.Query", HandlerType: (*QueryServer)(nil), @@ -9039,6 +9462,18 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "MarketAtomicExecutionFeeMultiplier", Handler: _Query_MarketAtomicExecutionFeeMultiplier_Handler, }, + { + MethodName: "ActiveStakeGrant", + Handler: _Query_ActiveStakeGrant_Handler, + }, + { + MethodName: "GrantAuthorization", + Handler: _Query_GrantAuthorization_Handler, + }, + { + MethodName: "GrantAuthorizations", + Handler: _Query_GrantAuthorizations_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "injective/exchange/v1beta1/query.proto", @@ -10557,6 +10992,13 @@ func (m *TrimmedSpotLimitOrder) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x32 + } if len(m.OrderHash) > 0 { i -= len(m.OrderHash) copy(dAtA[i:], m.OrderHash) @@ -11189,6 +11631,13 @@ func (m *TrimmedDerivativeLimitOrder) MarshalToSizedBuffer(dAtA []byte) (int, er _ = i var l int _ = l + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x3a + } if len(m.OrderHash) > 0 { i -= len(m.OrderHash) copy(dAtA[i:], m.OrderHash) @@ -13831,6 +14280,13 @@ func (m *TrimmedDerivativeConditionalOrder) MarshalToSizedBuffer(dAtA []byte) (i _ = i var l int _ = l + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x42 + } if len(m.OrderHash) > 0 { i -= len(m.OrderHash) copy(dAtA[i:], m.OrderHash) @@ -14001,12 +14457,236 @@ func (m *QueryMarketAtomicExecutionFeeMultiplierResponse) MarshalToSizedBuffer(d 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 +func (m *QueryActiveStakeGrantRequest) 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 *QueryActiveStakeGrantRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryActiveStakeGrantRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Grantee) > 0 { + i -= len(m.Grantee) + copy(dAtA[i:], m.Grantee) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Grantee))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryActiveStakeGrantResponse) 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 *QueryActiveStakeGrantResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryActiveStakeGrantResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.EffectiveGrant != nil { + { + size, err := m.EffectiveGrant.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if m.Grant != nil { + { + size, err := m.Grant.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 *QueryGrantAuthorizationRequest) 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 *QueryGrantAuthorizationRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryGrantAuthorizationRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Grantee) > 0 { + i -= len(m.Grantee) + copy(dAtA[i:], m.Grantee) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Grantee))) + i-- + dAtA[i] = 0x12 + } + if len(m.Granter) > 0 { + i -= len(m.Granter) + copy(dAtA[i:], m.Granter) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Granter))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryGrantAuthorizationResponse) 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 *QueryGrantAuthorizationResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryGrantAuthorizationResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size := m.Amount.Size() + i -= size + if _, err := m.Amount.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *QueryGrantAuthorizationsRequest) 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 *QueryGrantAuthorizationsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryGrantAuthorizationsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Granter) > 0 { + i -= len(m.Granter) + copy(dAtA[i:], m.Granter) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Granter))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryGrantAuthorizationsResponse) 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 *QueryGrantAuthorizationsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryGrantAuthorizationsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Grants) > 0 { + for iNdEx := len(m.Grants) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Grants[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } + { + size := m.TotalGrantAmount.Size() + i -= size + if _, err := m.TotalGrantAmount.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + 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) @@ -14660,6 +15340,10 @@ func (m *TrimmedSpotLimitOrder) Size() (n int) { if l > 0 { n += 1 + l + sovQuery(uint64(l)) } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } return n } @@ -14911,6 +15595,10 @@ func (m *TrimmedDerivativeLimitOrder) Size() (n int) { if l > 0 { n += 1 + l + sovQuery(uint64(l)) } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } return n } @@ -15973,6 +16661,10 @@ func (m *TrimmedDerivativeConditionalOrder) Size() (n int) { if l > 0 { n += 1 + l + sovQuery(uint64(l)) } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } return n } @@ -16015,50 +16707,138 @@ func (m *QueryMarketAtomicExecutionFeeMultiplierResponse) Size() (n int) { return n } -func sovQuery(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 +func (m *QueryActiveStakeGrantRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Grantee) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n } -func sozQuery(x uint64) (n int) { - return sovQuery(uint64((x << 1) ^ uint64((int64(x) >> 63)))) + +func (m *QueryActiveStakeGrantResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Grant != nil { + l = m.Grant.Size() + n += 1 + l + sovQuery(uint64(l)) + } + if m.EffectiveGrant != nil { + l = m.EffectiveGrant.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n } -func (m *Subaccount) 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: Subaccount: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Subaccount: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Trader", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } + +func (m *QueryGrantAuthorizationRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Granter) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.Grantee) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryGrantAuthorizationResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Amount.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryGrantAuthorizationsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Granter) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryGrantAuthorizationsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.TotalGrantAmount.Size() + n += 1 + l + sovQuery(uint64(l)) + if len(m.Grants) > 0 { + for _, e := range m.Grants { + l = e.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 *Subaccount) 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: Subaccount: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Subaccount: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Trader", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } if iNdEx >= l { return io.ErrUnexpectedEOF } @@ -18797,7 +19577,7 @@ func (m *QuerySpotOrderbookRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.LimitCumulativeNotional = &v if err := m.LimitCumulativeNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -18833,7 +19613,7 @@ func (m *QuerySpotOrderbookRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.LimitCumulativeQuantity = &v if err := m.LimitCumulativeQuantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -20147,6 +20927,38 @@ func (m *TrimmedSpotLimitOrder) Unmarshal(dAtA []byte) error { } m.OrderHash = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cid", 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.Cid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -20477,7 +21289,7 @@ func (m *QuerySpotMidPriceAndTOBResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MidPrice = &v if err := m.MidPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -20513,7 +21325,7 @@ func (m *QuerySpotMidPriceAndTOBResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.BestBuyPrice = &v if err := m.BestBuyPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -20549,7 +21361,7 @@ func (m *QuerySpotMidPriceAndTOBResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.BestSellPrice = &v if err := m.BestSellPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -20717,7 +21529,7 @@ func (m *QueryDerivativeMidPriceAndTOBResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MidPrice = &v if err := m.MidPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -20753,7 +21565,7 @@ func (m *QueryDerivativeMidPriceAndTOBResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.BestBuyPrice = &v if err := m.BestBuyPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -20789,7 +21601,7 @@ func (m *QueryDerivativeMidPriceAndTOBResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.BestSellPrice = &v if err := m.BestSellPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -20926,7 +21738,7 @@ func (m *QueryDerivativeOrderbookRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.LimitCumulativeNotional = &v if err := m.LimitCumulativeNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -21281,7 +22093,7 @@ func (m *QueryTraderSpotOrdersToCancelUpToAmountRequest) Unmarshal(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.ReferencePrice = &v if err := m.ReferencePrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -21484,7 +22296,7 @@ func (m *QueryTraderDerivativeOrdersToCancelUpToAmountRequest) Unmarshal(dAtA [] if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.ReferencePrice = &v if err := m.ReferencePrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -21956,6 +22768,38 @@ func (m *TrimmedDerivativeLimitOrder) Unmarshal(dAtA []byte) error { } m.OrderHash = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cid", 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.Cid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -25403,7 +26247,7 @@ func (m *QueryTradeRewardPointsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.AccountTradeRewardPoints = append(m.AccountTradeRewardPoints, v) if err := m.AccountTradeRewardPoints[len(m.AccountTradeRewardPoints)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -25677,7 +26521,7 @@ func (m *QueryTradeRewardCampaignResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.PendingTotalTradeRewardPoints = append(m.PendingTotalTradeRewardPoints, v) if err := m.PendingTotalTradeRewardPoints[len(m.PendingTotalTradeRewardPoints)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -28219,7 +29063,7 @@ func (m *QueryMarketVolatilityResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.Volatility = &v if err := m.Volatility.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -28833,6 +29677,38 @@ func (m *TrimmedDerivativeConditionalOrder) Unmarshal(dAtA []byte) error { } m.OrderHash = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cid", 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.Cid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -29104,6 +29980,608 @@ func (m *QueryMarketAtomicExecutionFeeMultiplierResponse) Unmarshal(dAtA []byte) } return nil } +func (m *QueryActiveStakeGrantRequest) 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: QueryActiveStakeGrantRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryActiveStakeGrantRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grantee", 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.Grantee = 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 *QueryActiveStakeGrantResponse) 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: QueryActiveStakeGrantResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryActiveStakeGrantResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grant", 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.Grant == nil { + m.Grant = &ActiveGrant{} + } + if err := m.Grant.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EffectiveGrant", 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.EffectiveGrant == nil { + m.EffectiveGrant = &EffectiveGrant{} + } + if err := m.EffectiveGrant.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 *QueryGrantAuthorizationRequest) 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: QueryGrantAuthorizationRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryGrantAuthorizationRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Granter", 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.Granter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grantee", 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.Grantee = 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 *QueryGrantAuthorizationResponse) 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: QueryGrantAuthorizationResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryGrantAuthorizationResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + 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 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 + } + if err := m.Amount.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 *QueryGrantAuthorizationsRequest) 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: QueryGrantAuthorizationsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryGrantAuthorizationsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Granter", 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.Granter = 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 *QueryGrantAuthorizationsResponse) 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: QueryGrantAuthorizationsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryGrantAuthorizationsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalGrantAmount", 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 + } + if err := m.TotalGrantAmount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grants", 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.Grants = append(m.Grants, &GrantAuthorization{}) + if err := m.Grants[len(m.Grants)-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 skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/exchange/types/spot_orders.go b/chain/exchange/types/spot_orders.go index 29147bd2..3253e5b5 100644 --- a/chain/exchange/types/spot_orders.go +++ b/chain/exchange/types/spot_orders.go @@ -4,6 +4,7 @@ import ( "strconv" "cosmossdk.io/errors" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/ethereum/go-ethereum/common" ethmath "github.com/ethereum/go-ethereum/common/math" @@ -11,7 +12,7 @@ import ( "golang.org/x/crypto/sha3" ) -func (o *SpotOrder) ToSpotMarketOrder(sender sdk.AccAddress, balanceHold sdk.Dec, orderHash common.Hash) *SpotMarketOrder { +func (o *SpotOrder) ToSpotMarketOrder(sender sdk.AccAddress, balanceHold math.LegacyDec, orderHash common.Hash) *SpotMarketOrder { if o.OrderInfo.FeeRecipient == "" { o.OrderInfo.FeeRecipient = sender.String() } @@ -85,7 +86,7 @@ func (o *SpotMarketOrder) FeeRecipient() common.Address { return o.OrderInfo.FeeRecipientAddress() } -func (o *SpotOrder) CheckTickSize(minPriceTickSize, minQuantityTickSize sdk.Dec) error { +func (o *SpotOrder) CheckTickSize(minPriceTickSize, minQuantityTickSize math.LegacyDec) error { if BreachesMinimumTickSize(o.OrderInfo.Price, minPriceTickSize) { return errors.Wrapf(ErrInvalidPrice, "price %s must be a multiple of the minimum price tick size %s", o.OrderInfo.Price.String(), minPriceTickSize.String()) } @@ -95,6 +96,14 @@ func (o *SpotOrder) CheckTickSize(minPriceTickSize, minQuantityTickSize sdk.Dec) return nil } +func (o *SpotOrder) CheckNotional(minNotional math.LegacyDec) error { + orderNotional := o.GetQuantity().Mul(o.GetPrice()) + if !minNotional.IsNil() && orderNotional.LT(minNotional) { + return errors.Wrapf(ErrInvalidNotional, "order notional (%s) is less than the minimum notional for the market (%s)", orderNotional.String(), minNotional.String()) + } + return nil +} + func (o *SpotOrder) IsBuy() bool { return o.OrderType.IsBuy() } @@ -127,16 +136,16 @@ func (o *SpotMarketOrder) IsConditional() bool { return o.OrderType.IsConditional() } -func (m *SpotLimitOrder) GetUnfilledNotional() sdk.Dec { +func (m *SpotLimitOrder) GetUnfilledNotional() math.LegacyDec { return m.Fillable.Mul(m.OrderInfo.Price) } -func (m *SpotLimitOrder) GetUnfilledFeeAmount(fee sdk.Dec) sdk.Dec { +func (m *SpotLimitOrder) GetUnfilledFeeAmount(fee math.LegacyDec) math.LegacyDec { return m.GetUnfilledNotional().Mul(fee) } -func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (sdk.Dec, string) { +func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (math.LegacyDec, string) { var denom string - var balanceHold sdk.Dec + var balanceHold math.LegacyDec if m.IsBuy() { denom = market.QuoteDenom if m.OrderType.IsPostOnly() { @@ -158,16 +167,16 @@ func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (sdk.Dec, s return balanceHold, denom } -func (m *SpotLimitOrder) GetUnfilledMarginHoldAndMarginDenom(market *SpotMarket, isTransient bool) (sdk.Dec, string) { +func (m *SpotLimitOrder) GetUnfilledMarginHoldAndMarginDenom(market *SpotMarket, isTransient bool) (math.LegacyDec, string) { var denom string - var balanceHold sdk.Dec + var balanceHold math.LegacyDec if m.IsBuy() { - var tradeFeeRate sdk.Dec + var tradeFeeRate math.LegacyDec if isTransient { tradeFeeRate = market.TakerFeeRate } else { - tradeFeeRate = sdk.MaxDec(sdk.ZeroDec(), market.MakerFeeRate) + tradeFeeRate = math.LegacyMaxDec(math.LegacyZeroDec(), market.MakerFeeRate) } // for a resting limit buy in the ETH/USDT market, denom is USDT and fillable amount is BalanceHold is (1 + makerFee)*(price * quantity) since (takerFee - makerFee) is already refunded @@ -195,14 +204,14 @@ func (m *SpotOrder) GetMarginDenom(market *SpotMarket) string { } // GetMarketOrderBalanceHold calculates the balance hold for the market order. -func (m *SpotOrder) GetMarketOrderBalanceHold(feeRate, bestPrice sdk.Dec) sdk.Dec { - var balanceHold sdk.Dec +func (m *SpotOrder) GetMarketOrderBalanceHold(feeRate, bestPrice math.LegacyDec) math.LegacyDec { + var balanceHold math.LegacyDec if m.IsBuy() { // required margin for best sell price = bestPrice * quantity * (1 + feeRate) - requiredMarginForBestPrice := bestPrice.Mul(m.OrderInfo.Quantity).Mul(sdk.OneDec().Add(feeRate)) - requiredMarginForWorstPrice := m.OrderInfo.Price.Mul(m.OrderInfo.Quantity).Mul(sdk.OneDec().Add(feeRate)) - requiredMargin := sdk.MaxDec(requiredMarginForBestPrice, requiredMarginForWorstPrice) + requiredMarginForBestPrice := bestPrice.Mul(m.OrderInfo.Quantity).Mul(math.LegacyOneDec().Add(feeRate)) + requiredMarginForWorstPrice := m.OrderInfo.Price.Mul(m.OrderInfo.Quantity).Mul(math.LegacyOneDec().Add(feeRate)) + requiredMargin := math.LegacyMaxDec(requiredMarginForBestPrice, requiredMarginForWorstPrice) balanceHold = requiredMargin } else { // required margin for market sells just equals the quantity being sold @@ -218,6 +227,7 @@ func (m *SpotLimitOrder) ToTrimmed() *TrimmedSpotLimitOrder { Fillable: m.Fillable, IsBuy: m.IsBuy(), OrderHash: common.BytesToHash(m.OrderHash).Hex(), + Cid: m.Cid(), } } diff --git a/chain/exchange/types/stake_grants.go b/chain/exchange/types/stake_grants.go new file mode 100644 index 00000000..f2dc959f --- /dev/null +++ b/chain/exchange/types/stake_grants.go @@ -0,0 +1,21 @@ +package types + +import ( + "cosmossdk.io/math" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func NewActiveGrant(granter sdk.AccAddress, amount math.Int) *ActiveGrant { + return &ActiveGrant{ + Granter: granter.String(), + Amount: amount, + } +} + +func NewEffectiveGrant(granter string, amount math.Int, isValid bool) *EffectiveGrant { + return &EffectiveGrant{ + Granter: granter, + NetGrantedStake: amount, + IsValid: isValid, + } +} diff --git a/chain/exchange/types/subaccount.go b/chain/exchange/types/subaccount.go index 930b2f65..fb59981b 100644 --- a/chain/exchange/types/subaccount.go +++ b/chain/exchange/types/subaccount.go @@ -3,15 +3,15 @@ package types import ( "fmt" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" ) func NewSubaccountOrderbookMetadata() *SubaccountOrderbookMetadata { return &SubaccountOrderbookMetadata{ VanillaLimitOrderCount: 0, ReduceOnlyLimitOrderCount: 0, - AggregateReduceOnlyQuantity: sdk.ZeroDec(), - AggregateVanillaQuantity: sdk.ZeroDec(), + AggregateReduceOnlyQuantity: math.LegacyZeroDec(), + AggregateVanillaQuantity: math.LegacyZeroDec(), VanillaConditionalOrderCount: 0, ReduceOnlyConditionalOrderCount: 0, } @@ -26,6 +26,7 @@ func NewSubaccountOrder(o *DerivativeLimitOrder) *SubaccountOrder { Price: o.OrderInfo.Price, Quantity: o.Fillable, IsReduceOnly: o.IsReduceOnly(), + Cid: o.Cid(), } } diff --git a/chain/exchange/types/trading_rewards.go b/chain/exchange/types/trading_rewards.go index 8233e48f..9353574d 100644 --- a/chain/exchange/types/trading_rewards.go +++ b/chain/exchange/types/trading_rewards.go @@ -3,10 +3,10 @@ package types import ( "sort" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" ) -type TradingRewardPoints map[string]sdk.Dec +type TradingRewardPoints map[string]math.LegacyDec func NewTradingRewardPoints() TradingRewardPoints { tradingRewardPoints := make(TradingRewardPoints) @@ -23,7 +23,7 @@ func (l TradingRewardPoints) GetSortedAccountKeys() []string { return accountKeys } -func (l TradingRewardPoints) AddPointsForAddress(addr string, newPoints sdk.Dec) { +func (l TradingRewardPoints) AddPointsForAddress(addr string, newPoints math.LegacyDec) { if !newPoints.IsPositive() { return } diff --git a/chain/exchange/types/tx.pb.go b/chain/exchange/types/tx.pb.go index e57b3cd5..d4f4213e 100644 --- a/chain/exchange/types/tx.pb.go +++ b/chain/exchange/types/tx.pb.go @@ -5,12 +5,14 @@ package types import ( context "context" + cosmossdk_io_math "cosmossdk.io/math" 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" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/cosmos-sdk/x/distribution/types" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" @@ -34,6 +36,178 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package +type MsgUpdateSpotMarket struct { + // current admin address of the associated market + Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` + // id of the market to be updated + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // (optional) updated ticker value + NewTicker string `protobuf:"bytes,3,opt,name=new_ticker,json=newTicker,proto3" json:"new_ticker,omitempty"` + // (optional) updated min price tick size value + NewMinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=new_min_price_tick_size,json=newMinPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"new_min_price_tick_size"` + // (optional) updated min quantity tick size value + NewMinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=new_min_quantity_tick_size,json=newMinQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"new_min_quantity_tick_size"` + // (optional) updated min notional + NewMinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=new_min_notional,json=newMinNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"new_min_notional"` +} + +func (m *MsgUpdateSpotMarket) Reset() { *m = MsgUpdateSpotMarket{} } +func (m *MsgUpdateSpotMarket) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateSpotMarket) ProtoMessage() {} +func (*MsgUpdateSpotMarket) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{0} +} +func (m *MsgUpdateSpotMarket) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateSpotMarket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateSpotMarket.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 *MsgUpdateSpotMarket) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateSpotMarket.Merge(m, src) +} +func (m *MsgUpdateSpotMarket) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateSpotMarket) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateSpotMarket.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateSpotMarket proto.InternalMessageInfo + +type MsgUpdateSpotMarketResponse struct { +} + +func (m *MsgUpdateSpotMarketResponse) Reset() { *m = MsgUpdateSpotMarketResponse{} } +func (m *MsgUpdateSpotMarketResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateSpotMarketResponse) ProtoMessage() {} +func (*MsgUpdateSpotMarketResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{1} +} +func (m *MsgUpdateSpotMarketResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateSpotMarketResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateSpotMarketResponse.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 *MsgUpdateSpotMarketResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateSpotMarketResponse.Merge(m, src) +} +func (m *MsgUpdateSpotMarketResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateSpotMarketResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateSpotMarketResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateSpotMarketResponse proto.InternalMessageInfo + +type MsgUpdateDerivativeMarket struct { + // current admin address of the associated market + Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` + // id of the market to be updated + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // (optional) updated value for ticker + NewTicker string `protobuf:"bytes,3,opt,name=new_ticker,json=newTicker,proto3" json:"new_ticker,omitempty"` + // (optional) updated value for min_price_tick_size + NewMinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=new_min_price_tick_size,json=newMinPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"new_min_price_tick_size"` + // (optional) updated value min_quantity_tick_size + NewMinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=new_min_quantity_tick_size,json=newMinQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"new_min_quantity_tick_size"` + // (optional) updated min notional + NewMinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=new_min_notional,json=newMinNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"new_min_notional"` + // (optional) updated value for initial_margin_ratio + NewInitialMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=new_initial_margin_ratio,json=newInitialMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"new_initial_margin_ratio"` + // (optional) updated value for maintenance_margin_ratio + NewMaintenanceMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=new_maintenance_margin_ratio,json=newMaintenanceMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"new_maintenance_margin_ratio"` +} + +func (m *MsgUpdateDerivativeMarket) Reset() { *m = MsgUpdateDerivativeMarket{} } +func (m *MsgUpdateDerivativeMarket) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateDerivativeMarket) ProtoMessage() {} +func (*MsgUpdateDerivativeMarket) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{2} +} +func (m *MsgUpdateDerivativeMarket) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateDerivativeMarket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateDerivativeMarket.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 *MsgUpdateDerivativeMarket) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateDerivativeMarket.Merge(m, src) +} +func (m *MsgUpdateDerivativeMarket) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateDerivativeMarket) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateDerivativeMarket.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateDerivativeMarket proto.InternalMessageInfo + +type MsgUpdateDerivativeMarketResponse struct { +} + +func (m *MsgUpdateDerivativeMarketResponse) Reset() { *m = MsgUpdateDerivativeMarketResponse{} } +func (m *MsgUpdateDerivativeMarketResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateDerivativeMarketResponse) ProtoMessage() {} +func (*MsgUpdateDerivativeMarketResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{3} +} +func (m *MsgUpdateDerivativeMarketResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateDerivativeMarketResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateDerivativeMarketResponse.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 *MsgUpdateDerivativeMarketResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateDerivativeMarketResponse.Merge(m, src) +} +func (m *MsgUpdateDerivativeMarketResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateDerivativeMarketResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateDerivativeMarketResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateDerivativeMarketResponse 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"` @@ -47,7 +221,7 @@ 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} + return fileDescriptor_bd45b74cb6d81462, []int{4} } func (m *MsgUpdateParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -97,7 +271,7 @@ 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} + return fileDescriptor_bd45b74cb6d81462, []int{5} } func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -140,7 +314,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{2} + return fileDescriptor_bd45b74cb6d81462, []int{6} } func (m *MsgDeposit) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -177,7 +351,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{3} + return fileDescriptor_bd45b74cb6d81462, []int{7} } func (m *MsgDepositResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -219,7 +393,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{4} + return fileDescriptor_bd45b74cb6d81462, []int{8} } func (m *MsgWithdraw) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -256,7 +430,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{5} + return fileDescriptor_bd45b74cb6d81462, []int{9} } func (m *MsgWithdrawResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -296,7 +470,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{6} + return fileDescriptor_bd45b74cb6d81462, []int{10} } func (m *MsgCreateSpotLimitOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -329,13 +503,14 @@ var xxx_messageInfo_MsgCreateSpotLimitOrder proto.InternalMessageInfo // type. type MsgCreateSpotLimitOrderResponse struct { OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + Cid string `protobuf:"bytes,2,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *MsgCreateSpotLimitOrderResponse) Reset() { *m = MsgCreateSpotLimitOrderResponse{} } func (m *MsgCreateSpotLimitOrderResponse) String() string { return proto.CompactTextString(m) } func (*MsgCreateSpotLimitOrderResponse) ProtoMessage() {} func (*MsgCreateSpotLimitOrderResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{7} + return fileDescriptor_bd45b74cb6d81462, []int{11} } func (m *MsgCreateSpotLimitOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -375,7 +550,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{8} + return fileDescriptor_bd45b74cb6d81462, []int{12} } func (m *MsgBatchCreateSpotLimitOrders) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -407,14 +582,16 @@ var xxx_messageInfo_MsgBatchCreateSpotLimitOrders proto.InternalMessageInfo // 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"` + OrderHashes []string `protobuf:"bytes,1,rep,name=order_hashes,json=orderHashes,proto3" json:"order_hashes,omitempty"` + CreatedOrdersCids []string `protobuf:"bytes,2,rep,name=created_orders_cids,json=createdOrdersCids,proto3" json:"created_orders_cids,omitempty"` + FailedOrdersCids []string `protobuf:"bytes,3,rep,name=failed_orders_cids,json=failedOrdersCids,proto3" json:"failed_orders_cids,omitempty"` } func (m *MsgBatchCreateSpotLimitOrdersResponse) Reset() { *m = MsgBatchCreateSpotLimitOrdersResponse{} } func (m *MsgBatchCreateSpotLimitOrdersResponse) String() string { return proto.CompactTextString(m) } func (*MsgBatchCreateSpotLimitOrdersResponse) ProtoMessage() {} func (*MsgBatchCreateSpotLimitOrdersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{9} + return fileDescriptor_bd45b74cb6d81462, []int{13} } func (m *MsgBatchCreateSpotLimitOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -454,17 +631,20 @@ type MsgInstantSpotMarketLaunch struct { // type of coin to use as the quote currency 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` } func (m *MsgInstantSpotMarketLaunch) Reset() { *m = MsgInstantSpotMarketLaunch{} } func (m *MsgInstantSpotMarketLaunch) String() string { return proto.CompactTextString(m) } func (*MsgInstantSpotMarketLaunch) ProtoMessage() {} func (*MsgInstantSpotMarketLaunch) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{10} + return fileDescriptor_bd45b74cb6d81462, []int{14} } func (m *MsgInstantSpotMarketLaunch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -502,7 +682,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{11} + return fileDescriptor_bd45b74cb6d81462, []int{15} } func (m *MsgInstantSpotMarketLaunchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -549,29 +729,32 @@ type MsgInstantPerpetualMarketLaunch struct { 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 - 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"` + MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate"` // 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"` + TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` // 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"` + InitialMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,10,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"initial_margin_ratio"` // 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"` + MaintenanceMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maintenance_margin_ratio"` // 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,14,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` } func (m *MsgInstantPerpetualMarketLaunch) Reset() { *m = MsgInstantPerpetualMarketLaunch{} } func (m *MsgInstantPerpetualMarketLaunch) String() string { return proto.CompactTextString(m) } func (*MsgInstantPerpetualMarketLaunch) ProtoMessage() {} func (*MsgInstantPerpetualMarketLaunch) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{12} + return fileDescriptor_bd45b74cb6d81462, []int{16} } func (m *MsgInstantPerpetualMarketLaunch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -611,7 +794,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{13} + return fileDescriptor_bd45b74cb6d81462, []int{17} } func (m *MsgInstantPerpetualMarketLaunchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -656,10 +839,10 @@ type MsgInstantBinaryOptionsMarketLaunch struct { 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 - 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"` + MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate"` // 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"` + TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` // expiration timestamp ExpirationTimestamp int64 `protobuf:"varint,9,opt,name=expiration_timestamp,json=expirationTimestamp,proto3" json:"expiration_timestamp,omitempty"` // expiration timestamp @@ -670,17 +853,20 @@ type MsgInstantBinaryOptionsMarketLaunch struct { 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 - 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,14,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,15,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` } func (m *MsgInstantBinaryOptionsMarketLaunch) Reset() { *m = MsgInstantBinaryOptionsMarketLaunch{} } func (m *MsgInstantBinaryOptionsMarketLaunch) String() string { return proto.CompactTextString(m) } func (*MsgInstantBinaryOptionsMarketLaunch) ProtoMessage() {} func (*MsgInstantBinaryOptionsMarketLaunch) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{14} + return fileDescriptor_bd45b74cb6d81462, []int{18} } func (m *MsgInstantBinaryOptionsMarketLaunch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -722,7 +908,7 @@ func (m *MsgInstantBinaryOptionsMarketLaunchResponse) String() string { } func (*MsgInstantBinaryOptionsMarketLaunchResponse) ProtoMessage() {} func (*MsgInstantBinaryOptionsMarketLaunchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{15} + return fileDescriptor_bd45b74cb6d81462, []int{19} } func (m *MsgInstantBinaryOptionsMarketLaunchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -771,29 +957,32 @@ type MsgInstantExpiryFuturesMarketLaunch struct { 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 - 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"` + MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate"` // 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"` + TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,10,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` // 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"` + InitialMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"initial_margin_ratio"` // 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"` + MaintenanceMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maintenance_margin_ratio"` // 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,14,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,15,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` } func (m *MsgInstantExpiryFuturesMarketLaunch) Reset() { *m = MsgInstantExpiryFuturesMarketLaunch{} } func (m *MsgInstantExpiryFuturesMarketLaunch) String() string { return proto.CompactTextString(m) } func (*MsgInstantExpiryFuturesMarketLaunch) ProtoMessage() {} func (*MsgInstantExpiryFuturesMarketLaunch) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{16} + return fileDescriptor_bd45b74cb6d81462, []int{20} } func (m *MsgInstantExpiryFuturesMarketLaunch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -835,7 +1024,7 @@ func (m *MsgInstantExpiryFuturesMarketLaunchResponse) String() string { } func (*MsgInstantExpiryFuturesMarketLaunchResponse) ProtoMessage() {} func (*MsgInstantExpiryFuturesMarketLaunchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{17} + return fileDescriptor_bd45b74cb6d81462, []int{21} } func (m *MsgInstantExpiryFuturesMarketLaunchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -875,7 +1064,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{18} + return fileDescriptor_bd45b74cb6d81462, []int{22} } func (m *MsgCreateSpotMarketOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -909,13 +1098,14 @@ var xxx_messageInfo_MsgCreateSpotMarketOrder proto.InternalMessageInfo 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"` + Cid string `protobuf:"bytes,3,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *MsgCreateSpotMarketOrderResponse) Reset() { *m = MsgCreateSpotMarketOrderResponse{} } func (m *MsgCreateSpotMarketOrderResponse) String() string { return proto.CompactTextString(m) } func (*MsgCreateSpotMarketOrderResponse) ProtoMessage() {} func (*MsgCreateSpotMarketOrderResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{19} + return fileDescriptor_bd45b74cb6d81462, []int{23} } func (m *MsgCreateSpotMarketOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -945,16 +1135,16 @@ func (m *MsgCreateSpotMarketOrderResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCreateSpotMarketOrderResponse proto.InternalMessageInfo type SpotMarketOrderResults struct { - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` - Fee github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=fee,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fee"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` + Fee cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=fee,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fee"` } 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{20} + return fileDescriptor_bd45b74cb6d81462, []int{24} } func (m *SpotMarketOrderResults) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -993,7 +1183,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{21} + return fileDescriptor_bd45b74cb6d81462, []int{25} } func (m *MsgCreateDerivativeLimitOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1026,13 +1216,14 @@ var xxx_messageInfo_MsgCreateDerivativeLimitOrder proto.InternalMessageInfo // Msg/CreateDerivativeMarketOrder response type. type MsgCreateDerivativeLimitOrderResponse struct { OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + Cid string `protobuf:"bytes,2,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *MsgCreateDerivativeLimitOrderResponse) Reset() { *m = MsgCreateDerivativeLimitOrderResponse{} } func (m *MsgCreateDerivativeLimitOrderResponse) String() string { return proto.CompactTextString(m) } func (*MsgCreateDerivativeLimitOrderResponse) ProtoMessage() {} func (*MsgCreateDerivativeLimitOrderResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{22} + return fileDescriptor_bd45b74cb6d81462, []int{26} } func (m *MsgCreateDerivativeLimitOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1071,7 +1262,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{23} + return fileDescriptor_bd45b74cb6d81462, []int{27} } func (m *MsgCreateBinaryOptionsLimitOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1104,6 +1295,7 @@ var xxx_messageInfo_MsgCreateBinaryOptionsLimitOrder proto.InternalMessageInfo // Msg/CreateBinaryOptionsLimitOrder response type. type MsgCreateBinaryOptionsLimitOrderResponse struct { OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + Cid string `protobuf:"bytes,2,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *MsgCreateBinaryOptionsLimitOrderResponse) Reset() { @@ -1112,7 +1304,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{24} + return fileDescriptor_bd45b74cb6d81462, []int{28} } func (m *MsgCreateBinaryOptionsLimitOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1151,7 +1343,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{25} + return fileDescriptor_bd45b74cb6d81462, []int{29} } func (m *MsgBatchCreateDerivativeLimitOrders) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1183,7 +1375,9 @@ var xxx_messageInfo_MsgBatchCreateDerivativeLimitOrders proto.InternalMessageInf // 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"` + OrderHashes []string `protobuf:"bytes,1,rep,name=order_hashes,json=orderHashes,proto3" json:"order_hashes,omitempty"` + CreatedOrdersCids []string `protobuf:"bytes,2,rep,name=created_orders_cids,json=createdOrdersCids,proto3" json:"created_orders_cids,omitempty"` + FailedOrdersCids []string `protobuf:"bytes,3,rep,name=failed_orders_cids,json=failedOrdersCids,proto3" json:"failed_orders_cids,omitempty"` } func (m *MsgBatchCreateDerivativeLimitOrdersResponse) Reset() { @@ -1194,7 +1388,7 @@ func (m *MsgBatchCreateDerivativeLimitOrdersResponse) String() string { } func (*MsgBatchCreateDerivativeLimitOrdersResponse) ProtoMessage() {} func (*MsgBatchCreateDerivativeLimitOrdersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{26} + return fileDescriptor_bd45b74cb6d81462, []int{30} } func (m *MsgBatchCreateDerivativeLimitOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1236,7 +1430,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{27} + return fileDescriptor_bd45b74cb6d81462, []int{31} } func (m *MsgCancelSpotOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1273,7 +1467,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{28} + return fileDescriptor_bd45b74cb6d81462, []int{32} } func (m *MsgCancelSpotOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1312,7 +1506,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{29} + return fileDescriptor_bd45b74cb6d81462, []int{33} } func (m *MsgBatchCancelSpotOrders) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1351,7 +1545,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{30} + return fileDescriptor_bd45b74cb6d81462, []int{34} } func (m *MsgBatchCancelSpotOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1391,7 +1585,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{31} + return fileDescriptor_bd45b74cb6d81462, []int{35} } func (m *MsgBatchCancelBinaryOptionsOrders) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1434,7 +1628,7 @@ func (m *MsgBatchCancelBinaryOptionsOrdersResponse) String() string { } func (*MsgBatchCancelBinaryOptionsOrdersResponse) ProtoMessage() {} func (*MsgBatchCancelBinaryOptionsOrdersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{32} + return fileDescriptor_bd45b74cb6d81462, []int{36} } func (m *MsgBatchCancelBinaryOptionsOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1484,7 +1678,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{33} + return fileDescriptor_bd45b74cb6d81462, []int{37} } func (m *MsgBatchUpdateOrders) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1515,19 +1709,25 @@ var xxx_messageInfo_MsgBatchUpdateOrders proto.InternalMessageInfo // MsgBatchUpdateOrdersResponse defines the Msg/BatchUpdateOrders response type. type MsgBatchUpdateOrdersResponse struct { - SpotCancelSuccess []bool `protobuf:"varint,1,rep,packed,name=spot_cancel_success,json=spotCancelSuccess,proto3" json:"spot_cancel_success,omitempty"` - DerivativeCancelSuccess []bool `protobuf:"varint,2,rep,packed,name=derivative_cancel_success,json=derivativeCancelSuccess,proto3" json:"derivative_cancel_success,omitempty"` - SpotOrderHashes []string `protobuf:"bytes,3,rep,name=spot_order_hashes,json=spotOrderHashes,proto3" json:"spot_order_hashes,omitempty"` - DerivativeOrderHashes []string `protobuf:"bytes,4,rep,name=derivative_order_hashes,json=derivativeOrderHashes,proto3" json:"derivative_order_hashes,omitempty"` - BinaryOptionsCancelSuccess []bool `protobuf:"varint,5,rep,packed,name=binary_options_cancel_success,json=binaryOptionsCancelSuccess,proto3" json:"binary_options_cancel_success,omitempty"` - BinaryOptionsOrderHashes []string `protobuf:"bytes,6,rep,name=binary_options_order_hashes,json=binaryOptionsOrderHashes,proto3" json:"binary_options_order_hashes,omitempty"` + SpotCancelSuccess []bool `protobuf:"varint,1,rep,packed,name=spot_cancel_success,json=spotCancelSuccess,proto3" json:"spot_cancel_success,omitempty"` + DerivativeCancelSuccess []bool `protobuf:"varint,2,rep,packed,name=derivative_cancel_success,json=derivativeCancelSuccess,proto3" json:"derivative_cancel_success,omitempty"` + SpotOrderHashes []string `protobuf:"bytes,3,rep,name=spot_order_hashes,json=spotOrderHashes,proto3" json:"spot_order_hashes,omitempty"` + DerivativeOrderHashes []string `protobuf:"bytes,4,rep,name=derivative_order_hashes,json=derivativeOrderHashes,proto3" json:"derivative_order_hashes,omitempty"` + BinaryOptionsCancelSuccess []bool `protobuf:"varint,5,rep,packed,name=binary_options_cancel_success,json=binaryOptionsCancelSuccess,proto3" json:"binary_options_cancel_success,omitempty"` + BinaryOptionsOrderHashes []string `protobuf:"bytes,6,rep,name=binary_options_order_hashes,json=binaryOptionsOrderHashes,proto3" json:"binary_options_order_hashes,omitempty"` + CreatedSpotOrdersCids []string `protobuf:"bytes,7,rep,name=created_spot_orders_cids,json=createdSpotOrdersCids,proto3" json:"created_spot_orders_cids,omitempty"` + FailedSpotOrdersCids []string `protobuf:"bytes,8,rep,name=failed_spot_orders_cids,json=failedSpotOrdersCids,proto3" json:"failed_spot_orders_cids,omitempty"` + CreatedDerivativeOrdersCids []string `protobuf:"bytes,9,rep,name=created_derivative_orders_cids,json=createdDerivativeOrdersCids,proto3" json:"created_derivative_orders_cids,omitempty"` + FailedDerivativeOrdersCids []string `protobuf:"bytes,10,rep,name=failed_derivative_orders_cids,json=failedDerivativeOrdersCids,proto3" json:"failed_derivative_orders_cids,omitempty"` + CreatedBinaryOptionsOrdersCids []string `protobuf:"bytes,11,rep,name=created_binary_options_orders_cids,json=createdBinaryOptionsOrdersCids,proto3" json:"created_binary_options_orders_cids,omitempty"` + FailedBinaryOptionsOrdersCids []string `protobuf:"bytes,12,rep,name=failed_binary_options_orders_cids,json=failedBinaryOptionsOrdersCids,proto3" json:"failed_binary_options_orders_cids,omitempty"` } func (m *MsgBatchUpdateOrdersResponse) Reset() { *m = MsgBatchUpdateOrdersResponse{} } func (m *MsgBatchUpdateOrdersResponse) String() string { return proto.CompactTextString(m) } func (*MsgBatchUpdateOrdersResponse) ProtoMessage() {} func (*MsgBatchUpdateOrdersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{34} + return fileDescriptor_bd45b74cb6d81462, []int{38} } func (m *MsgBatchUpdateOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1566,7 +1766,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{35} + return fileDescriptor_bd45b74cb6d81462, []int{39} } func (m *MsgCreateDerivativeMarketOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1600,6 +1800,7 @@ var xxx_messageInfo_MsgCreateDerivativeMarketOrder proto.InternalMessageInfo 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"` + Cid string `protobuf:"bytes,3,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *MsgCreateDerivativeMarketOrderResponse) Reset() { @@ -1608,7 +1809,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{36} + return fileDescriptor_bd45b74cb6d81462, []int{40} } func (m *MsgCreateDerivativeMarketOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1638,18 +1839,18 @@ func (m *MsgCreateDerivativeMarketOrderResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCreateDerivativeMarketOrderResponse proto.InternalMessageInfo type DerivativeMarketOrderResults struct { - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` - Fee github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=fee,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fee"` - PositionDelta PositionDelta `protobuf:"bytes,4,opt,name=position_delta,json=positionDelta,proto3" json:"position_delta"` - Payout github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=payout,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"payout"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` + Fee cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=fee,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fee"` + PositionDelta PositionDelta `protobuf:"bytes,4,opt,name=position_delta,json=positionDelta,proto3" json:"position_delta"` + Payout cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=payout,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"payout"` } func (m *DerivativeMarketOrderResults) Reset() { *m = DerivativeMarketOrderResults{} } func (m *DerivativeMarketOrderResults) String() string { return proto.CompactTextString(m) } func (*DerivativeMarketOrderResults) ProtoMessage() {} func (*DerivativeMarketOrderResults) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{37} + return fileDescriptor_bd45b74cb6d81462, []int{41} } func (m *DerivativeMarketOrderResults) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1688,7 +1889,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{38} + return fileDescriptor_bd45b74cb6d81462, []int{42} } func (m *MsgCreateBinaryOptionsMarketOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1722,6 +1923,7 @@ var xxx_messageInfo_MsgCreateBinaryOptionsMarketOrder proto.InternalMessageInfo 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"` + Cid string `protobuf:"bytes,3,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *MsgCreateBinaryOptionsMarketOrderResponse) Reset() { @@ -1732,7 +1934,7 @@ func (m *MsgCreateBinaryOptionsMarketOrderResponse) String() string { } func (*MsgCreateBinaryOptionsMarketOrderResponse) ProtoMessage() {} func (*MsgCreateBinaryOptionsMarketOrderResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{39} + return fileDescriptor_bd45b74cb6d81462, []int{43} } func (m *MsgCreateBinaryOptionsMarketOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1775,7 +1977,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{40} + return fileDescriptor_bd45b74cb6d81462, []int{44} } func (m *MsgCancelDerivativeOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1813,7 +2015,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{41} + return fileDescriptor_bd45b74cb6d81462, []int{45} } func (m *MsgCancelDerivativeOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1857,7 +2059,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{42} + return fileDescriptor_bd45b74cb6d81462, []int{46} } func (m *MsgCancelBinaryOptionsOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1895,7 +2097,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{43} + return fileDescriptor_bd45b74cb6d81462, []int{47} } func (m *MsgCancelBinaryOptionsOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1936,7 +2138,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{44} + return fileDescriptor_bd45b74cb6d81462, []int{48} } func (m *OrderData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2011,7 +2213,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{45} + return fileDescriptor_bd45b74cb6d81462, []int{49} } func (m *MsgBatchCancelDerivativeOrders) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2052,7 +2254,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{46} + return fileDescriptor_bd45b74cb6d81462, []int{50} } func (m *MsgBatchCancelDerivativeOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2093,7 +2295,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{47} + return fileDescriptor_bd45b74cb6d81462, []int{51} } func (m *MsgSubaccountTransfer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2159,7 +2361,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{48} + return fileDescriptor_bd45b74cb6d81462, []int{52} } func (m *MsgSubaccountTransferResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2200,7 +2402,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{49} + return fileDescriptor_bd45b74cb6d81462, []int{53} } func (m *MsgExternalTransfer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2265,7 +2467,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{50} + return fileDescriptor_bd45b74cb6d81462, []int{54} } func (m *MsgExternalTransferResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2307,7 +2509,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{51} + return fileDescriptor_bd45b74cb6d81462, []int{55} } func (m *MsgLiquidatePosition) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2372,7 +2574,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{52} + return fileDescriptor_bd45b74cb6d81462, []int{56} } func (m *MsgLiquidatePositionResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2412,7 +2614,7 @@ func (m *MsgEmergencySettleMarket) Reset() { *m = MsgEmergencySettleMark func (m *MsgEmergencySettleMarket) String() string { return proto.CompactTextString(m) } func (*MsgEmergencySettleMarket) ProtoMessage() {} func (*MsgEmergencySettleMarket) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{53} + return fileDescriptor_bd45b74cb6d81462, []int{57} } func (m *MsgEmergencySettleMarket) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2471,7 +2673,7 @@ func (m *MsgEmergencySettleMarketResponse) Reset() { *m = MsgEmergencySe func (m *MsgEmergencySettleMarketResponse) String() string { return proto.CompactTextString(m) } func (*MsgEmergencySettleMarketResponse) ProtoMessage() {} func (*MsgEmergencySettleMarketResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{54} + return fileDescriptor_bd45b74cb6d81462, []int{58} } func (m *MsgEmergencySettleMarketResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2507,14 +2709,14 @@ type MsgIncreasePositionMargin struct { DestinationSubaccountId string `protobuf:"bytes,3,opt,name=destination_subaccount_id,json=destinationSubaccountId,proto3" json:"destination_subaccount_id,omitempty"` MarketId string `protobuf:"bytes,4,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` // amount defines the amount of margin to add to the position - Amount github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=amount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"amount"` + Amount cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=amount,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"amount"` } func (m *MsgIncreasePositionMargin) Reset() { *m = MsgIncreasePositionMargin{} } func (m *MsgIncreasePositionMargin) String() string { return proto.CompactTextString(m) } func (*MsgIncreasePositionMargin) ProtoMessage() {} func (*MsgIncreasePositionMargin) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{55} + return fileDescriptor_bd45b74cb6d81462, []int{59} } func (m *MsgIncreasePositionMargin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2580,7 +2782,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{56} + return fileDescriptor_bd45b74cb6d81462, []int{60} } func (m *MsgIncreasePositionMarginResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2609,30 +2811,28 @@ func (m *MsgIncreasePositionMarginResponse) XXX_DiscardUnknown() { 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 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"` - // data defines the call data used when executing the contract - Data string `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` +// A Cosmos-SDK MsgDecreasePositionMargin +type MsgDecreasePositionMargin struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` + SourceSubaccountId string `protobuf:"bytes,2,opt,name=source_subaccount_id,json=sourceSubaccountId,proto3" json:"source_subaccount_id,omitempty"` + DestinationSubaccountId string `protobuf:"bytes,3,opt,name=destination_subaccount_id,json=destinationSubaccountId,proto3" json:"destination_subaccount_id,omitempty"` + MarketId string `protobuf:"bytes,4,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // amount defines the amount of margin to withdraw from the position + Amount cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=amount,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"amount"` } -func (m *MsgPrivilegedExecuteContract) Reset() { *m = MsgPrivilegedExecuteContract{} } -func (m *MsgPrivilegedExecuteContract) String() string { return proto.CompactTextString(m) } -func (*MsgPrivilegedExecuteContract) ProtoMessage() {} -func (*MsgPrivilegedExecuteContract) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{57} +func (m *MsgDecreasePositionMargin) Reset() { *m = MsgDecreasePositionMargin{} } +func (m *MsgDecreasePositionMargin) String() string { return proto.CompactTextString(m) } +func (*MsgDecreasePositionMargin) ProtoMessage() {} +func (*MsgDecreasePositionMargin) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{61} } -func (m *MsgPrivilegedExecuteContract) XXX_Unmarshal(b []byte) error { +func (m *MsgDecreasePositionMargin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgPrivilegedExecuteContract) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgDecreasePositionMargin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgPrivilegedExecuteContract.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgDecreasePositionMargin.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2642,36 +2842,147 @@ func (m *MsgPrivilegedExecuteContract) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (m *MsgPrivilegedExecuteContract) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgPrivilegedExecuteContract.Merge(m, src) +func (m *MsgDecreasePositionMargin) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgDecreasePositionMargin.Merge(m, src) } -func (m *MsgPrivilegedExecuteContract) XXX_Size() int { +func (m *MsgDecreasePositionMargin) XXX_Size() int { return m.Size() } -func (m *MsgPrivilegedExecuteContract) XXX_DiscardUnknown() { - xxx_messageInfo_MsgPrivilegedExecuteContract.DiscardUnknown(m) +func (m *MsgDecreasePositionMargin) XXX_DiscardUnknown() { + xxx_messageInfo_MsgDecreasePositionMargin.DiscardUnknown(m) } -var xxx_messageInfo_MsgPrivilegedExecuteContract proto.InternalMessageInfo +var xxx_messageInfo_MsgDecreasePositionMargin proto.InternalMessageInfo -// MsgPrivilegedExecuteContractResponse defines the Msg/Exec response type. -type MsgPrivilegedExecuteContractResponse struct { - FundsDiff github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,1,rep,name=funds_diff,json=fundsDiff,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"funds_diff"` +func (m *MsgDecreasePositionMargin) GetSender() string { + if m != nil { + return m.Sender + } + return "" } -func (m *MsgPrivilegedExecuteContractResponse) Reset() { *m = MsgPrivilegedExecuteContractResponse{} } -func (m *MsgPrivilegedExecuteContractResponse) String() string { return proto.CompactTextString(m) } -func (*MsgPrivilegedExecuteContractResponse) ProtoMessage() {} -func (*MsgPrivilegedExecuteContractResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{58} +func (m *MsgDecreasePositionMargin) GetSourceSubaccountId() string { + if m != nil { + return m.SourceSubaccountId + } + return "" } -func (m *MsgPrivilegedExecuteContractResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) + +func (m *MsgDecreasePositionMargin) GetDestinationSubaccountId() string { + if m != nil { + return m.DestinationSubaccountId + } + return "" } -func (m *MsgPrivilegedExecuteContractResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgPrivilegedExecuteContractResponse.Marshal(b, m, deterministic) - } else { + +func (m *MsgDecreasePositionMargin) GetMarketId() string { + if m != nil { + return m.MarketId + } + return "" +} + +// MsgDecreasePositionMarginResponse defines the Msg/MsgDecreasePositionMargin +// response type. +type MsgDecreasePositionMarginResponse struct { +} + +func (m *MsgDecreasePositionMarginResponse) Reset() { *m = MsgDecreasePositionMarginResponse{} } +func (m *MsgDecreasePositionMarginResponse) String() string { return proto.CompactTextString(m) } +func (*MsgDecreasePositionMarginResponse) ProtoMessage() {} +func (*MsgDecreasePositionMarginResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{62} +} +func (m *MsgDecreasePositionMarginResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgDecreasePositionMarginResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgDecreasePositionMarginResponse.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 *MsgDecreasePositionMarginResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgDecreasePositionMarginResponse.Merge(m, src) +} +func (m *MsgDecreasePositionMarginResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgDecreasePositionMarginResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgDecreasePositionMarginResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgDecreasePositionMarginResponse 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 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"` + // data defines the call data used when executing the contract + Data string `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` +} + +func (m *MsgPrivilegedExecuteContract) Reset() { *m = MsgPrivilegedExecuteContract{} } +func (m *MsgPrivilegedExecuteContract) String() string { return proto.CompactTextString(m) } +func (*MsgPrivilegedExecuteContract) ProtoMessage() {} +func (*MsgPrivilegedExecuteContract) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{63} +} +func (m *MsgPrivilegedExecuteContract) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgPrivilegedExecuteContract) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgPrivilegedExecuteContract.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 *MsgPrivilegedExecuteContract) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgPrivilegedExecuteContract.Merge(m, src) +} +func (m *MsgPrivilegedExecuteContract) XXX_Size() int { + return m.Size() +} +func (m *MsgPrivilegedExecuteContract) XXX_DiscardUnknown() { + xxx_messageInfo_MsgPrivilegedExecuteContract.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgPrivilegedExecuteContract proto.InternalMessageInfo + +// MsgPrivilegedExecuteContractResponse defines the Msg/Exec response type. +type MsgPrivilegedExecuteContractResponse struct { + FundsDiff github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,1,rep,name=funds_diff,json=fundsDiff,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"funds_diff"` +} + +func (m *MsgPrivilegedExecuteContractResponse) Reset() { *m = MsgPrivilegedExecuteContractResponse{} } +func (m *MsgPrivilegedExecuteContractResponse) String() string { return proto.CompactTextString(m) } +func (*MsgPrivilegedExecuteContractResponse) ProtoMessage() {} +func (*MsgPrivilegedExecuteContractResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{64} +} +func (m *MsgPrivilegedExecuteContractResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgPrivilegedExecuteContractResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgPrivilegedExecuteContractResponse.Marshal(b, m, deterministic) + } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) if err != nil { @@ -2701,7 +3012,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{59} + return fileDescriptor_bd45b74cb6d81462, []int{65} } func (m *MsgRewardsOptOut) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2730,13 +3041,6 @@ func (m *MsgRewardsOptOut) XXX_DiscardUnknown() { var xxx_messageInfo_MsgRewardsOptOut proto.InternalMessageInfo -func (m *MsgRewardsOptOut) GetSender() string { - if m != nil { - return m.Sender - } - return "" -} - // MsgRewardsOptOutResponse defines the Msg/RewardsOptOut response type. type MsgRewardsOptOutResponse struct { } @@ -2745,7 +3049,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{60} + return fileDescriptor_bd45b74cb6d81462, []int{66} } func (m *MsgRewardsOptOutResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2785,7 +3089,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{61} + return fileDescriptor_bd45b74cb6d81462, []int{67} } func (m *MsgReclaimLockedFunds) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2844,7 +3148,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{62} + return fileDescriptor_bd45b74cb6d81462, []int{68} } func (m *MsgReclaimLockedFundsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2886,7 +3190,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{63} + return fileDescriptor_bd45b74cb6d81462, []int{69} } func (m *MsgSignData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2939,7 +3243,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{64} + return fileDescriptor_bd45b74cb6d81462, []int{70} } func (m *MsgSignDoc) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2988,7 +3292,7 @@ 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"` // new price at which market will be settled - SettlementPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=settlement_price,json=settlementPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"settlement_price,omitempty"` + SettlementPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=settlement_price,json=settlementPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"settlement_price,omitempty"` // expiration timestamp ExpirationTimestamp int64 `protobuf:"varint,4,opt,name=expiration_timestamp,json=expirationTimestamp,proto3" json:"expiration_timestamp,omitempty"` // expiration timestamp @@ -3001,7 +3305,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{65} + return fileDescriptor_bd45b74cb6d81462, []int{71} } func (m *MsgAdminUpdateBinaryOptionsMarket) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3078,7 +3382,7 @@ func (m *MsgAdminUpdateBinaryOptionsMarketResponse) String() string { } func (*MsgAdminUpdateBinaryOptionsMarketResponse) ProtoMessage() {} func (*MsgAdminUpdateBinaryOptionsMarketResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{66} + return fileDescriptor_bd45b74cb6d81462, []int{72} } func (m *MsgAdminUpdateBinaryOptionsMarketResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3107,7 +3411,189 @@ func (m *MsgAdminUpdateBinaryOptionsMarketResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgAdminUpdateBinaryOptionsMarketResponse proto.InternalMessageInfo +// MsgAuthorizeStakeGrants grants stakes to grantees. +type MsgAuthorizeStakeGrants struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` + Grants []*GrantAuthorization `protobuf:"bytes,2,rep,name=grants,proto3" json:"grants,omitempty"` +} + +func (m *MsgAuthorizeStakeGrants) Reset() { *m = MsgAuthorizeStakeGrants{} } +func (m *MsgAuthorizeStakeGrants) String() string { return proto.CompactTextString(m) } +func (*MsgAuthorizeStakeGrants) ProtoMessage() {} +func (*MsgAuthorizeStakeGrants) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{73} +} +func (m *MsgAuthorizeStakeGrants) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgAuthorizeStakeGrants) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgAuthorizeStakeGrants.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 *MsgAuthorizeStakeGrants) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgAuthorizeStakeGrants.Merge(m, src) +} +func (m *MsgAuthorizeStakeGrants) XXX_Size() int { + return m.Size() +} +func (m *MsgAuthorizeStakeGrants) XXX_DiscardUnknown() { + xxx_messageInfo_MsgAuthorizeStakeGrants.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgAuthorizeStakeGrants proto.InternalMessageInfo + +func (m *MsgAuthorizeStakeGrants) GetSender() string { + if m != nil { + return m.Sender + } + return "" +} + +func (m *MsgAuthorizeStakeGrants) GetGrants() []*GrantAuthorization { + if m != nil { + return m.Grants + } + return nil +} + +type MsgAuthorizeStakeGrantsResponse struct { +} + +func (m *MsgAuthorizeStakeGrantsResponse) Reset() { *m = MsgAuthorizeStakeGrantsResponse{} } +func (m *MsgAuthorizeStakeGrantsResponse) String() string { return proto.CompactTextString(m) } +func (*MsgAuthorizeStakeGrantsResponse) ProtoMessage() {} +func (*MsgAuthorizeStakeGrantsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{74} +} +func (m *MsgAuthorizeStakeGrantsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgAuthorizeStakeGrantsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgAuthorizeStakeGrantsResponse.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 *MsgAuthorizeStakeGrantsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgAuthorizeStakeGrantsResponse.Merge(m, src) +} +func (m *MsgAuthorizeStakeGrantsResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgAuthorizeStakeGrantsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgAuthorizeStakeGrantsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgAuthorizeStakeGrantsResponse proto.InternalMessageInfo + +// MsgActivateStakeGrant allows a grantee to activate a stake grant. +type MsgActivateStakeGrant struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` + Granter string `protobuf:"bytes,2,opt,name=granter,proto3" json:"granter,omitempty"` +} + +func (m *MsgActivateStakeGrant) Reset() { *m = MsgActivateStakeGrant{} } +func (m *MsgActivateStakeGrant) String() string { return proto.CompactTextString(m) } +func (*MsgActivateStakeGrant) ProtoMessage() {} +func (*MsgActivateStakeGrant) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{75} +} +func (m *MsgActivateStakeGrant) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgActivateStakeGrant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgActivateStakeGrant.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 *MsgActivateStakeGrant) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgActivateStakeGrant.Merge(m, src) +} +func (m *MsgActivateStakeGrant) XXX_Size() int { + return m.Size() +} +func (m *MsgActivateStakeGrant) XXX_DiscardUnknown() { + xxx_messageInfo_MsgActivateStakeGrant.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgActivateStakeGrant proto.InternalMessageInfo + +func (m *MsgActivateStakeGrant) GetSender() string { + if m != nil { + return m.Sender + } + return "" +} + +func (m *MsgActivateStakeGrant) GetGranter() string { + if m != nil { + return m.Granter + } + return "" +} + +type MsgActivateStakeGrantResponse struct { +} + +func (m *MsgActivateStakeGrantResponse) Reset() { *m = MsgActivateStakeGrantResponse{} } +func (m *MsgActivateStakeGrantResponse) String() string { return proto.CompactTextString(m) } +func (*MsgActivateStakeGrantResponse) ProtoMessage() {} +func (*MsgActivateStakeGrantResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{76} +} +func (m *MsgActivateStakeGrantResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgActivateStakeGrantResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgActivateStakeGrantResponse.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 *MsgActivateStakeGrantResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgActivateStakeGrantResponse.Merge(m, src) +} +func (m *MsgActivateStakeGrantResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgActivateStakeGrantResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgActivateStakeGrantResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgActivateStakeGrantResponse proto.InternalMessageInfo + func init() { + proto.RegisterType((*MsgUpdateSpotMarket)(nil), "injective.exchange.v1beta1.MsgUpdateSpotMarket") + proto.RegisterType((*MsgUpdateSpotMarketResponse)(nil), "injective.exchange.v1beta1.MsgUpdateSpotMarketResponse") + proto.RegisterType((*MsgUpdateDerivativeMarket)(nil), "injective.exchange.v1beta1.MsgUpdateDerivativeMarket") + proto.RegisterType((*MsgUpdateDerivativeMarketResponse)(nil), "injective.exchange.v1beta1.MsgUpdateDerivativeMarketResponse") proto.RegisterType((*MsgUpdateParams)(nil), "injective.exchange.v1beta1.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "injective.exchange.v1beta1.MsgUpdateParamsResponse") proto.RegisterType((*MsgDeposit)(nil), "injective.exchange.v1beta1.MsgDeposit") @@ -3165,6 +3651,8 @@ func init() { proto.RegisterType((*MsgEmergencySettleMarketResponse)(nil), "injective.exchange.v1beta1.MsgEmergencySettleMarketResponse") proto.RegisterType((*MsgIncreasePositionMargin)(nil), "injective.exchange.v1beta1.MsgIncreasePositionMargin") proto.RegisterType((*MsgIncreasePositionMarginResponse)(nil), "injective.exchange.v1beta1.MsgIncreasePositionMarginResponse") + proto.RegisterType((*MsgDecreasePositionMargin)(nil), "injective.exchange.v1beta1.MsgDecreasePositionMargin") + proto.RegisterType((*MsgDecreasePositionMarginResponse)(nil), "injective.exchange.v1beta1.MsgDecreasePositionMarginResponse") proto.RegisterType((*MsgPrivilegedExecuteContract)(nil), "injective.exchange.v1beta1.MsgPrivilegedExecuteContract") proto.RegisterType((*MsgPrivilegedExecuteContractResponse)(nil), "injective.exchange.v1beta1.MsgPrivilegedExecuteContractResponse") proto.RegisterType((*MsgRewardsOptOut)(nil), "injective.exchange.v1beta1.MsgRewardsOptOut") @@ -3175,6 +3663,10 @@ func init() { proto.RegisterType((*MsgSignDoc)(nil), "injective.exchange.v1beta1.MsgSignDoc") proto.RegisterType((*MsgAdminUpdateBinaryOptionsMarket)(nil), "injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarket") proto.RegisterType((*MsgAdminUpdateBinaryOptionsMarketResponse)(nil), "injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarketResponse") + proto.RegisterType((*MsgAuthorizeStakeGrants)(nil), "injective.exchange.v1beta1.MsgAuthorizeStakeGrants") + proto.RegisterType((*MsgAuthorizeStakeGrantsResponse)(nil), "injective.exchange.v1beta1.MsgAuthorizeStakeGrantsResponse") + proto.RegisterType((*MsgActivateStakeGrant)(nil), "injective.exchange.v1beta1.MsgActivateStakeGrant") + proto.RegisterType((*MsgActivateStakeGrantResponse)(nil), "injective.exchange.v1beta1.MsgActivateStakeGrantResponse") } func init() { @@ -3182,205 +3674,253 @@ func init() { } var fileDescriptor_bd45b74cb6d81462 = []byte{ - // 3167 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x1c, 0xdf, 0x6f, 0x1c, 0x47, - 0x39, 0xeb, 0x1f, 0x67, 0xdf, 0x67, 0x3b, 0x4e, 0xd6, 0x8e, 0x73, 0xb9, 0x24, 0x76, 0x6a, 0x37, - 0x8d, 0xd3, 0x10, 0xbb, 0x49, 0x43, 0xda, 0xa6, 0x84, 0xc4, 0x3f, 0xe2, 0x92, 0x36, 0x26, 0xee, - 0x9e, 0xf9, 0x55, 0x09, 0x8e, 0xf1, 0xee, 0xf8, 0xbc, 0xf5, 0xdd, 0xee, 0x65, 0x67, 0xce, 0x8d, - 0x2b, 0x24, 0xa0, 0xe2, 0xa1, 0x94, 0x1f, 0xa2, 0x50, 0x54, 0x28, 0x14, 0x2a, 0x21, 0x81, 0x04, - 0x08, 0xf5, 0x81, 0x47, 0x9e, 0x51, 0x1f, 0x2b, 0x24, 0xa4, 0x8a, 0x87, 0x00, 0x8d, 0x10, 0x55, - 0xff, 0x00, 0x1e, 0xfa, 0x80, 0xd0, 0xce, 0xcc, 0xce, 0xed, 0xee, 0xed, 0xaf, 0x3b, 0xd7, 0x49, - 0xc8, 0x53, 0x6e, 0x67, 0xbe, 0xef, 0x9b, 0xef, 0xf7, 0xcc, 0xf7, 0xcd, 0xc4, 0x30, 0x65, 0x5a, - 0xcf, 0x63, 0x9d, 0x9a, 0x5b, 0x78, 0x16, 0xdf, 0xd4, 0x37, 0x90, 0x55, 0xc1, 0xb3, 0x5b, 0x67, - 0xd6, 0x30, 0x45, 0x67, 0x66, 0xe9, 0xcd, 0x99, 0xba, 0x63, 0x53, 0x5b, 0x2d, 0x4a, 0xa0, 0x19, - 0x0f, 0x68, 0x46, 0x00, 0x15, 0xc7, 0x75, 0x9b, 0xd4, 0x6c, 0x32, 0xbb, 0x86, 0x48, 0x13, 0x53, - 0xb7, 0x4d, 0x8b, 0xe3, 0x16, 0x67, 0xc4, 0xbc, 0x61, 0x12, 0xea, 0x98, 0x6b, 0x0d, 0x6a, 0xda, - 0x96, 0x84, 0xf3, 0x0f, 0x0a, 0xf8, 0x83, 0x02, 0xbe, 0x46, 0x2a, 0xb3, 0x5b, 0x67, 0xdc, 0x7f, - 0xc4, 0xc4, 0x21, 0x3e, 0x51, 0x66, 0x5f, 0xb3, 0xfc, 0x43, 0x4c, 0x8d, 0x56, 0xec, 0x8a, 0xcd, - 0xc7, 0xdd, 0x5f, 0x62, 0xf4, 0x64, 0x82, 0x68, 0x52, 0x0c, 0x0e, 0x7a, 0xbc, 0x09, 0x6a, 0x3b, - 0x48, 0xaf, 0x36, 0x01, 0xf9, 0x27, 0x07, 0x9b, 0xfc, 0x99, 0x02, 0xc3, 0xcb, 0xa4, 0xf2, 0xb9, - 0xba, 0x81, 0x28, 0x5e, 0x41, 0x0e, 0xaa, 0x11, 0xf5, 0x3c, 0xe4, 0x51, 0x83, 0x6e, 0xd8, 0x8e, - 0x49, 0xb7, 0x0b, 0xca, 0x31, 0x65, 0x3a, 0x3f, 0x5f, 0xf8, 0xcb, 0x1f, 0x4f, 0x8f, 0x0a, 0x06, - 0xe7, 0x0c, 0xc3, 0xc1, 0x84, 0x94, 0xa8, 0x63, 0x5a, 0x15, 0xad, 0x09, 0xaa, 0x5e, 0x86, 0x5c, - 0x9d, 0x51, 0x28, 0x74, 0x1d, 0x53, 0xa6, 0x07, 0xce, 0x4e, 0xce, 0xc4, 0x2b, 0x79, 0x86, 0xaf, - 0x35, 0xdf, 0xf3, 0xce, 0xad, 0x89, 0x3d, 0x9a, 0xc0, 0xbb, 0xb0, 0xf7, 0xa5, 0x7f, 0xbf, 0xfd, - 0x70, 0x93, 0xe2, 0xe4, 0x21, 0x38, 0x18, 0x62, 0x4e, 0xc3, 0xa4, 0x6e, 0x5b, 0x04, 0x4f, 0xbe, - 0xae, 0x00, 0x2c, 0x93, 0xca, 0x22, 0xae, 0xdb, 0xc4, 0xa4, 0xea, 0x18, 0xe4, 0x08, 0xb6, 0x0c, - 0xec, 0x70, 0x86, 0x35, 0xf1, 0xa5, 0x4e, 0xc1, 0x10, 0x69, 0xac, 0x21, 0x5d, 0xb7, 0x1b, 0x16, - 0x2d, 0x9b, 0x06, 0x63, 0x2d, 0xaf, 0x0d, 0x36, 0x07, 0xaf, 0x1a, 0xea, 0x63, 0x90, 0x43, 0x35, - 0xf7, 0x77, 0xa1, 0x9b, 0x31, 0x7e, 0x48, 0x58, 0x78, 0xc6, 0xf5, 0x00, 0xc9, 0xf1, 0x82, 0x6d, - 0x5a, 0x1e, 0xbf, 0x1c, 0xfc, 0xc2, 0xc8, 0xcb, 0x6f, 0x4d, 0xec, 0xf9, 0xe0, 0xad, 0x89, 0x3d, - 0x2e, 0xdf, 0x62, 0xc9, 0xc9, 0x51, 0x50, 0x9b, 0x8c, 0x49, 0x7e, 0x7f, 0xa2, 0xc0, 0xc0, 0x32, - 0xa9, 0x7c, 0xc1, 0xa4, 0x1b, 0x86, 0x83, 0x5e, 0xb8, 0x97, 0x18, 0x3e, 0x00, 0x23, 0x3e, 0xce, - 0x24, 0xc7, 0xdf, 0x56, 0x98, 0xf6, 0x17, 0x1c, 0x8c, 0x28, 0x2e, 0xd5, 0x6d, 0x7a, 0xcd, 0xac, - 0x99, 0xf4, 0xba, 0xe3, 0x72, 0x19, 0xc7, 0xfd, 0x1c, 0xf4, 0xda, 0x2e, 0x80, 0xf0, 0x80, 0xe3, - 0x49, 0x1e, 0xe0, 0x92, 0x64, 0xd4, 0x04, 0x8f, 0x1c, 0x33, 0x9a, 0xc5, 0xa7, 0x61, 0x22, 0x86, - 0x15, 0x8f, 0x5d, 0xf5, 0x28, 0x00, 0x23, 0x50, 0xde, 0x40, 0x64, 0x43, 0xb0, 0x95, 0x67, 0x23, - 0x9f, 0x41, 0x64, 0xe3, 0x42, 0xbf, 0x47, 0x76, 0xf2, 0x55, 0x05, 0x8e, 0x2e, 0x93, 0xca, 0x3c, - 0xa2, 0xfa, 0x46, 0x14, 0x45, 0x12, 0x2b, 0xdd, 0x02, 0xe4, 0x18, 0x41, 0xd7, 0xc1, 0xbb, 0xdb, - 0x15, 0x4f, 0xa0, 0x46, 0xcb, 0xb7, 0x0a, 0xc7, 0x13, 0x59, 0x92, 0x52, 0x3e, 0x00, 0x83, 0x4d, - 0x29, 0x31, 0x29, 0x28, 0xc7, 0xba, 0xa7, 0xf3, 0xda, 0x80, 0x94, 0x13, 0x13, 0x9f, 0xa4, 0xff, - 0xea, 0x82, 0xe2, 0x32, 0xa9, 0x5c, 0xb5, 0x08, 0x45, 0x16, 0x75, 0x49, 0x2e, 0x23, 0x67, 0x13, - 0xd3, 0x6b, 0xa8, 0x61, 0xe9, 0x1b, 0xb1, 0x62, 0x8e, 0x41, 0x8e, 0x9a, 0xfa, 0xa6, 0xb0, 0x62, - 0x5e, 0x13, 0x5f, 0xae, 0x86, 0x5d, 0xff, 0x2a, 0x1b, 0xd8, 0xb2, 0x6b, 0xcc, 0xf3, 0xf2, 0x5a, - 0xde, 0x1d, 0x59, 0x74, 0x07, 0xd4, 0x09, 0x18, 0xb8, 0xd1, 0xb0, 0xa9, 0x37, 0xdf, 0xc3, 0xe6, - 0x81, 0x0d, 0x71, 0x80, 0x2f, 0xc3, 0x48, 0xcd, 0xb4, 0xca, 0x75, 0xc7, 0xd4, 0x71, 0xd9, 0xa5, - 0x59, 0x26, 0xe6, 0x8b, 0xb8, 0xd0, 0xcb, 0x32, 0xcc, 0x8c, 0xab, 0xa4, 0xbf, 0xdd, 0x9a, 0x78, - 0xa8, 0x62, 0xd2, 0x8d, 0xc6, 0xda, 0x8c, 0x6e, 0xd7, 0x44, 0x46, 0x14, 0xff, 0x9c, 0x26, 0xc6, - 0xe6, 0x2c, 0xdd, 0xae, 0x63, 0x32, 0xb3, 0x88, 0x75, 0x6d, 0x5f, 0xcd, 0xb4, 0x56, 0x5c, 0x4a, - 0xab, 0xa6, 0xbe, 0x59, 0x32, 0x5f, 0xc4, 0xaa, 0x0e, 0x63, 0x2e, 0xf9, 0x1b, 0x0d, 0x64, 0x51, - 0x93, 0x6e, 0xfb, 0x56, 0xc8, 0x75, 0xb4, 0x82, 0xcb, 0xec, 0xb3, 0x82, 0x98, 0xb7, 0x48, 0xb4, - 0xf5, 0x1e, 0x84, 0xc9, 0x78, 0x35, 0xcb, 0x78, 0xfa, 0x6f, 0x8e, 0x39, 0xb1, 0x00, 0x5b, 0xc1, - 0x4e, 0x1d, 0xd3, 0x06, 0xaa, 0xee, 0xc8, 0x24, 0x21, 0x9d, 0x77, 0xb7, 0xe8, 0x7c, 0x02, 0x06, - 0x78, 0xbe, 0x2f, 0xbb, 0x86, 0xf2, 0x8c, 0xc2, 0x87, 0xe6, 0x91, 0xe7, 0x50, 0x0c, 0x80, 0x61, - 0x71, 0x6b, 0x68, 0x02, 0xe9, 0x59, 0x77, 0x48, 0x9d, 0x81, 0x11, 0x01, 0x42, 0x74, 0x54, 0xc5, - 0xe5, 0x75, 0xa4, 0x53, 0xdb, 0x61, 0x5a, 0x1d, 0xd2, 0xf6, 0xf3, 0xa9, 0x92, 0x3b, 0xb3, 0xc4, - 0x26, 0xd4, 0x2b, 0x72, 0x4d, 0x57, 0x99, 0x85, 0xbe, 0x63, 0xca, 0xf4, 0xde, 0xb3, 0x0f, 0xfa, - 0x62, 0x45, 0xec, 0x40, 0x5e, 0xa4, 0x5c, 0x67, 0x9f, 0xab, 0xdb, 0x75, 0xec, 0x71, 0xe6, 0xfe, - 0x56, 0x57, 0x61, 0x6f, 0x0d, 0x6d, 0x62, 0xa7, 0xbc, 0x8e, 0x71, 0xd9, 0x41, 0x14, 0x17, 0xfa, - 0x3b, 0xb2, 0xe3, 0x20, 0xa3, 0xb2, 0x84, 0xb1, 0x86, 0x28, 0xa3, 0x4a, 0x83, 0x54, 0xf3, 0x9d, - 0x51, 0xa5, 0x7e, 0xaa, 0x5f, 0x85, 0x51, 0xd3, 0x32, 0xa9, 0x89, 0xaa, 0xe5, 0x1a, 0x72, 0x2a, - 0xa6, 0xe5, 0x92, 0x36, 0xed, 0x02, 0x74, 0x44, 0x5b, 0x15, 0xb4, 0x96, 0x19, 0x29, 0xcd, 0xa5, - 0xa4, 0x6e, 0x40, 0xa1, 0x86, 0x4c, 0x8b, 0x62, 0x0b, 0x59, 0x3a, 0x0e, 0xae, 0x32, 0xd0, 0xd1, - 0x2a, 0x63, 0x3e, 0x7a, 0xfe, 0x95, 0x62, 0xc2, 0x74, 0x70, 0xd7, 0xc3, 0x74, 0x68, 0x97, 0xc3, - 0xf4, 0x24, 0x9c, 0x48, 0x89, 0x3f, 0x19, 0xab, 0x7f, 0xca, 0xc1, 0x54, 0x13, 0x76, 0xde, 0xb4, - 0x90, 0xb3, 0x7d, 0xbd, 0xee, 0x9e, 0xe9, 0xc8, 0x8e, 0xe2, 0x75, 0x0a, 0x86, 0xbc, 0x50, 0xda, - 0xae, 0xad, 0xd9, 0x55, 0x11, 0xb1, 0x22, 0x04, 0x4b, 0x6c, 0x4c, 0x3d, 0x01, 0xc3, 0x02, 0xa8, - 0xee, 0xd8, 0x5b, 0xa6, 0x4b, 0x9d, 0xc7, 0xed, 0x5e, 0x3e, 0xbc, 0x22, 0x46, 0xc3, 0x81, 0xd6, - 0xdb, 0x61, 0xa0, 0xb5, 0x1b, 0xdf, 0xad, 0x81, 0xd9, 0xb7, 0x2b, 0x81, 0xd9, 0xff, 0x31, 0x04, - 0xe6, 0x19, 0x18, 0xc5, 0x37, 0xeb, 0x26, 0x8b, 0x13, 0xab, 0x4c, 0xcd, 0x1a, 0x26, 0x14, 0xd5, - 0xea, 0x2c, 0xe8, 0xbb, 0xb5, 0x91, 0xe6, 0xdc, 0xaa, 0x37, 0xe5, 0xa2, 0x10, 0x4c, 0x69, 0x15, - 0xd7, 0xb0, 0x45, 0x7d, 0x28, 0xc0, 0x51, 0x9a, 0x73, 0x4d, 0x94, 0x51, 0xe8, 0x45, 0x46, 0xcd, - 0xb4, 0x78, 0x24, 0x6a, 0xfc, 0x23, 0x9c, 0x9c, 0x07, 0xb3, 0x6e, 0x88, 0x43, 0xbb, 0x1e, 0x69, - 0x7b, 0x77, 0x39, 0xd2, 0x4e, 0xc3, 0xa9, 0x0c, 0xd1, 0x23, 0xa3, 0xed, 0x8d, 0x3e, 0x7f, 0xb4, - 0x5d, 0x71, 0x6d, 0xb2, 0xbd, 0xd4, 0xa0, 0x0d, 0x07, 0x93, 0x7b, 0x7f, 0x77, 0x0c, 0x05, 0x61, - 0xee, 0xe3, 0x0d, 0xc2, 0xbe, 0xb8, 0x20, 0x1c, 0x83, 0x1c, 0x73, 0xde, 0x6d, 0x16, 0x26, 0xdd, - 0x9a, 0xf8, 0x8a, 0x08, 0xce, 0xfc, 0xae, 0x04, 0x27, 0xec, 0xe2, 0xae, 0x39, 0x70, 0x47, 0x76, - 0xcd, 0xc1, 0x3b, 0xb1, 0x6b, 0xde, 0x67, 0xb1, 0x1c, 0x1b, 0x9b, 0x32, 0x96, 0x5f, 0x51, 0xa0, - 0x10, 0x28, 0xd5, 0x38, 0xd4, 0xdd, 0x29, 0x1b, 0x7f, 0xa9, 0xc0, 0xb1, 0x38, 0x66, 0x32, 0x16, - 0x8e, 0xaa, 0x06, 0x7d, 0x0e, 0x26, 0x8d, 0x2a, 0xf5, 0xda, 0x1a, 0x67, 0xd3, 0xb8, 0x0b, 0x2e, - 0xe2, 0x62, 0x32, 0x56, 0x15, 0xcd, 0x23, 0xe4, 0x2b, 0xd1, 0xfe, 0xa3, 0xc0, 0x58, 0x34, 0x8e, - 0xfa, 0x34, 0xf4, 0x7b, 0xe6, 0x16, 0x5d, 0x98, 0x76, 0x8d, 0x2c, 0xf1, 0xd5, 0x45, 0xe8, 0x65, - 0x9e, 0xc9, 0x13, 0x64, 0xdb, 0x84, 0x38, 0xb2, 0x7a, 0x19, 0xba, 0xd7, 0x31, 0xe6, 0x79, 0xb4, - 0x6d, 0x1a, 0x2e, 0x6a, 0x6b, 0x15, 0xce, 0x4d, 0xb3, 0x88, 0x1d, 0x73, 0x0b, 0xb9, 0x1a, 0xcd, - 0xd0, 0x63, 0x78, 0x2a, 0xe8, 0x2c, 0xa7, 0x92, 0xcc, 0xd1, 0x24, 0x1c, 0xe1, 0x32, 0xc3, 0x2f, - 0x87, 0xdc, 0x65, 0x85, 0x55, 0xe1, 0xf1, 0x2c, 0xb5, 0xdf, 0x6b, 0x78, 0xcd, 0xef, 0x80, 0x81, - 0x8d, 0xf0, 0xae, 0x0a, 0x5a, 0x82, 0xe9, 0x34, 0xae, 0xda, 0x97, 0xf5, 0xa7, 0x0a, 0xdb, 0xc5, - 0x7d, 0x4d, 0x8c, 0x28, 0x1d, 0xc6, 0x77, 0x57, 0xae, 0x86, 0xba, 0x2b, 0x1d, 0xc8, 0xeb, 0xf5, - 0x58, 0x5a, 0x04, 0x7e, 0x8e, 0x25, 0xb1, 0x34, 0xd6, 0x3a, 0xeb, 0xb2, 0xbc, 0xad, 0xb0, 0x86, - 0xdf, 0x82, 0xbb, 0x23, 0x54, 0x65, 0x76, 0x8a, 0x15, 0xf3, 0x30, 0xe4, 0x6b, 0x2c, 0xd8, 0x9b, - 0xcd, 0xbd, 0x7e, 0x3e, 0x70, 0xd5, 0x68, 0xed, 0xfe, 0x75, 0x47, 0x74, 0xff, 0x82, 0x16, 0xe9, - 0x09, 0x27, 0xac, 0x7d, 0xd0, 0xad, 0x9b, 0x86, 0x38, 0xaa, 0xb8, 0x3f, 0x5b, 0xd5, 0x71, 0x84, - 0xf5, 0x85, 0x42, 0x1c, 0xcb, 0x14, 0xfe, 0x2d, 0x9e, 0xc2, 0xb9, 0xb6, 0x82, 0x30, 0xf1, 0xd6, - 0xbb, 0x04, 0x3d, 0x06, 0xa2, 0x28, 0x4b, 0x67, 0x8c, 0x51, 0x5a, 0x44, 0x14, 0x09, 0xab, 0x31, - 0xc4, 0x56, 0x26, 0x97, 0x58, 0xe8, 0x44, 0x72, 0x21, 0x0d, 0x55, 0x80, 0x3e, 0xd2, 0xd0, 0x75, - 0x4c, 0xb8, 0x8d, 0xfa, 0x35, 0xef, 0xd3, 0x67, 0x9f, 0xef, 0x29, 0xf0, 0x40, 0x90, 0x50, 0xc0, - 0xe5, 0xef, 0xb8, 0x5c, 0xd7, 0xe1, 0x64, 0x2a, 0x3b, 0x6d, 0x09, 0xf8, 0x6e, 0x1f, 0x8c, 0x7a, - 0x14, 0x79, 0xaf, 0x3c, 0x45, 0xa6, 0x4c, 0x3d, 0xe6, 0x4b, 0x70, 0x94, 0xd4, 0x6d, 0x5a, 0x96, - 0xce, 0x4a, 0xca, 0xd4, 0x2e, 0xeb, 0x8c, 0xe3, 0x32, 0xaa, 0xba, 0xa5, 0xab, 0x1b, 0x14, 0x05, - 0x22, 0x77, 0xaf, 0xab, 0x06, 0x59, 0xb5, 0xb9, 0x48, 0x73, 0xd5, 0xaa, 0xfa, 0x0c, 0x4c, 0x19, - 0x32, 0xca, 0xe2, 0xc9, 0xf4, 0x30, 0x32, 0xe3, 0x4d, 0xd0, 0x48, 0x62, 0x5f, 0x81, 0x03, 0x8c, - 0x1b, 0x1e, 0xe0, 0x4d, 0x12, 0x85, 0xde, 0x76, 0xed, 0xa2, 0x68, 0x2a, 0x91, 0x8e, 0xe4, 0x2d, - 0xa1, 0x3e, 0x0f, 0x87, 0x7d, 0xcc, 0xb6, 0xac, 0x92, 0x6b, 0x7f, 0x95, 0x82, 0x11, 0x4c, 0x51, - 0xcd, 0xb5, 0x22, 0x64, 0x61, 0x39, 0xa9, 0xd0, 0xd7, 0x6e, 0x57, 0x39, 0x2c, 0x0b, 0x23, 0xa3, - 0xd6, 0xe3, 0x64, 0xe1, 0xab, 0xf4, 0x77, 0x96, 0x5d, 0xa3, 0x25, 0xe2, 0x2b, 0xde, 0x80, 0x89, - 0x35, 0xe6, 0xc4, 0x65, 0x9b, 0x7b, 0x71, 0xab, 0x06, 0xf3, 0xed, 0x6b, 0xf0, 0xf0, 0x5a, 0x6b, - 0x60, 0x48, 0x25, 0x6a, 0x70, 0x22, 0xb4, 0x64, 0xac, 0x87, 0x01, 0xf3, 0xb0, 0x07, 0xd6, 0x5a, - 0xeb, 0xd0, 0x90, 0x93, 0xbd, 0x90, 0x24, 0x06, 0x57, 0xde, 0x40, 0xa7, 0xca, 0x8b, 0x11, 0x86, - 0x51, 0x6d, 0xcd, 0x11, 0x1f, 0x75, 0xc1, 0x91, 0xa8, 0x90, 0x96, 0x79, 0x61, 0x06, 0x46, 0x98, - 0x0f, 0x09, 0x31, 0x83, 0x39, 0x62, 0xbf, 0x3b, 0x25, 0x72, 0x26, 0x9f, 0x50, 0x2f, 0xc0, 0x21, - 0x9f, 0x4f, 0x84, 0xb0, 0xba, 0x18, 0xd6, 0xc1, 0x26, 0x40, 0x10, 0xf7, 0x61, 0xd8, 0xdf, 0xf4, - 0x57, 0x6f, 0x4b, 0xe4, 0xd1, 0x3f, 0x2c, 0xdd, 0x8f, 0x6f, 0x8b, 0xea, 0x79, 0x38, 0x18, 0xf6, - 0x3d, 0x0f, 0x83, 0x07, 0xfa, 0x81, 0x90, 0x13, 0x09, 0xbc, 0x39, 0x38, 0x1a, 0x52, 0x7d, 0x88, - 0xc7, 0x5e, 0xc6, 0x63, 0x31, 0xa0, 0xc5, 0x20, 0x9b, 0x17, 0xe1, 0x70, 0x94, 0xf5, 0xbc, 0xe5, - 0x73, 0x3c, 0x5d, 0xb5, 0x9a, 0xa1, 0x65, 0x43, 0xff, 0xa1, 0x02, 0xe3, 0x11, 0xe7, 0xc0, 0x2c, - 0x85, 0xcc, 0xee, 0x1d, 0xd9, 0x7e, 0xa7, 0xc0, 0x43, 0xc9, 0x4c, 0x65, 0x2d, 0x68, 0xbe, 0x18, - 0x2e, 0x68, 0x1e, 0xcf, 0xc6, 0x65, 0x3b, 0x65, 0xcd, 0xcf, 0xbb, 0xe1, 0x48, 0x12, 0xe6, 0xfd, - 0x58, 0xdc, 0xa8, 0x9f, 0x87, 0xbd, 0xec, 0xce, 0xd7, 0xb4, 0xad, 0xb2, 0x81, 0xab, 0x14, 0xb1, - 0xb3, 0xd9, 0xc0, 0xd9, 0x93, 0x89, 0xf7, 0xe0, 0x02, 0x63, 0xd1, 0x45, 0x10, 0x3e, 0x30, 0x54, - 0xf7, 0x0f, 0xaa, 0x4b, 0x90, 0xab, 0xa3, 0x6d, 0xbb, 0x41, 0x3b, 0xbc, 0x2a, 0x13, 0xd8, 0x3e, - 0xf3, 0xfc, 0x98, 0x1f, 0x89, 0x22, 0x0a, 0x80, 0xbb, 0xeb, 0xe4, 0x7f, 0x50, 0xd8, 0xd9, 0x28, - 0x99, 0xaf, 0x7b, 0xc9, 0xcf, 0xff, 0x2a, 0xba, 0x1d, 0x2c, 0x11, 0x85, 0x64, 0xbd, 0x7b, 0x15, - 0x80, 0x9c, 0xae, 0x21, 0xb2, 0xc9, 0x9c, 0xa6, 0x57, 0x4c, 0x2f, 0x23, 0xb2, 0xe9, 0x15, 0x08, - 0xb9, 0x84, 0x02, 0x61, 0x92, 0x97, 0xad, 0x51, 0x62, 0xc9, 0x32, 0xe1, 0x3d, 0x05, 0x0e, 0x4b, - 0xa0, 0xd6, 0x33, 0xec, 0xff, 0xb3, 0xf8, 0xc7, 0x59, 0x25, 0x1b, 0x27, 0x99, 0xd4, 0xc0, 0x9b, - 0x0a, 0xe4, 0xe5, 0xa1, 0x25, 0x28, 0x97, 0x92, 0x26, 0x57, 0x57, 0xaa, 0x5c, 0xdd, 0xc9, 0x72, - 0xf5, 0xc4, 0xc8, 0xd5, 0xac, 0xfb, 0x26, 0x5f, 0xe1, 0x1b, 0x99, 0xaf, 0xd4, 0x08, 0xd9, 0xf2, - 0x4e, 0x96, 0x3d, 0xd7, 0xd8, 0xfe, 0x95, 0xc0, 0x4b, 0x5b, 0x35, 0xcf, 0x6d, 0x05, 0x0e, 0x2c, - 0x93, 0x4a, 0x49, 0xaa, 0x6f, 0xd5, 0x41, 0x16, 0x59, 0x4f, 0x70, 0xbb, 0x47, 0x60, 0x94, 0xd8, - 0x0d, 0x47, 0xc7, 0xe5, 0x28, 0x43, 0xa8, 0x7c, 0xae, 0xe4, 0x37, 0x07, 0x3b, 0x33, 0x11, 0x6a, - 0x5a, 0xfc, 0xf2, 0x28, 0xca, 0x2f, 0x0f, 0xfa, 0x00, 0x4a, 0xd1, 0x2f, 0x74, 0x7a, 0xda, 0x7b, - 0xa1, 0x33, 0xe0, 0xd7, 0xd9, 0x04, 0xeb, 0x91, 0xb5, 0x0a, 0x29, 0x3d, 0xf0, 0x9f, 0x0a, 0x7b, - 0xbb, 0x73, 0xe5, 0x26, 0xc5, 0x8e, 0x85, 0xaa, 0xf7, 0xa5, 0x12, 0x8e, 0xb2, 0x34, 0x13, 0x16, - 0x51, 0xaa, 0xe0, 0xcf, 0x0a, 0xab, 0x7e, 0xaf, 0x99, 0x37, 0x1a, 0x26, 0x7b, 0x27, 0x26, 0xf6, - 0xce, 0x9d, 0x55, 0xbf, 0x81, 0x60, 0xee, 0x0e, 0x05, 0xb3, 0xdc, 0x00, 0x7b, 0x3a, 0xdb, 0x00, - 0x15, 0x6f, 0x03, 0x0c, 0xc8, 0x39, 0xce, 0x8e, 0xfc, 0x2d, 0x72, 0x48, 0x41, 0xbf, 0xc9, 0xf7, - 0x9a, 0x2b, 0x35, 0xec, 0x54, 0xb0, 0xa5, 0x6f, 0x97, 0xd8, 0x45, 0x24, 0xdf, 0xad, 0x76, 0x4f, - 0xd8, 0x20, 0x8f, 0x7c, 0x5f, 0x88, 0x64, 0x41, 0xf2, 0xf9, 0xa3, 0x2e, 0x38, 0xc4, 0x6e, 0x0c, - 0xdc, 0x92, 0x89, 0x48, 0x39, 0xf8, 0x65, 0xc9, 0x3d, 0xe2, 0x99, 0x01, 0x89, 0x7b, 0x42, 0xe6, - 0x5d, 0x92, 0x6e, 0xdb, 0xe1, 0x79, 0x2b, 0xca, 0x8b, 0xa7, 0xd8, 0x89, 0x2b, 0x5a, 0x29, 0x52, - 0x75, 0x6f, 0x29, 0xcc, 0x07, 0x56, 0x1c, 0x73, 0xcb, 0xac, 0xe2, 0x0a, 0x36, 0xae, 0xdc, 0xc4, - 0x7a, 0x83, 0xe2, 0x05, 0xdb, 0xa2, 0x0e, 0xd2, 0xe3, 0xcd, 0x3c, 0x0a, 0xbd, 0xeb, 0x0d, 0xcb, - 0x20, 0x42, 0x5d, 0xfc, 0x43, 0x3d, 0x09, 0xfb, 0x74, 0x81, 0x59, 0x46, 0xfc, 0xd5, 0xa6, 0x50, - 0xcc, 0xb0, 0x37, 0x2e, 0x1e, 0x73, 0xaa, 0xaa, 0xc8, 0xf7, 0x5c, 0x17, 0x3c, 0x85, 0x47, 0x5e, - 0xa9, 0xfc, 0x46, 0x81, 0x07, 0x93, 0x58, 0x94, 0x59, 0xfc, 0x79, 0x00, 0xc6, 0x45, 0xd9, 0x30, - 0xd7, 0xd7, 0x59, 0x22, 0x4f, 0x4c, 0x00, 0x8f, 0xb8, 0x4a, 0xfe, 0xed, 0xdf, 0x27, 0xa6, 0x33, - 0x28, 0xd9, 0x45, 0x20, 0x5a, 0x9e, 0x91, 0x5f, 0x34, 0xd7, 0xd7, 0xa3, 0x39, 0x7d, 0x18, 0xf6, - 0x2d, 0x93, 0x8a, 0x86, 0x5f, 0x40, 0x8e, 0x41, 0xae, 0xd7, 0xe9, 0xf5, 0x46, 0xac, 0xfe, 0x26, - 0x8b, 0x2c, 0xb4, 0x02, 0xb0, 0xd2, 0x28, 0xdf, 0xe5, 0x5b, 0x8d, 0x86, 0xf5, 0x2a, 0x32, 0x6b, - 0xd7, 0x6c, 0x7d, 0x13, 0x1b, 0x4b, 0x4c, 0xbf, 0xf1, 0xbe, 0x3c, 0x52, 0x65, 0x60, 0x73, 0xdc, - 0xe1, 0x56, 0x1a, 0x6b, 0xcf, 0xe0, 0x6d, 0x66, 0x9b, 0x41, 0x2d, 0x6a, 0x4a, 0x3d, 0x02, 0x79, - 0x62, 0x56, 0x2c, 0x44, 0x1b, 0x0e, 0x2f, 0x41, 0x06, 0xb5, 0xe6, 0x40, 0xd4, 0x9e, 0xd0, 0xca, - 0x8d, 0xe4, 0xf7, 0x1b, 0xfc, 0xa5, 0x69, 0xc9, 0xac, 0x58, 0xec, 0x5c, 0x52, 0x82, 0x9c, 0xfb, - 0x5b, 0x70, 0x39, 0x38, 0xff, 0xe4, 0x87, 0xb7, 0x26, 0x72, 0x84, 0x8d, 0x7c, 0x74, 0x6b, 0xe2, - 0x74, 0x06, 0x7d, 0xcf, 0xe9, 0xba, 0xf0, 0x13, 0x4d, 0x90, 0x52, 0x8f, 0x40, 0xcf, 0x22, 0x3f, - 0x1f, 0xb8, 0x24, 0xfb, 0x3f, 0xbc, 0x35, 0xc1, 0x7c, 0x46, 0x63, 0xa3, 0x93, 0x37, 0xd9, 0xdb, - 0x5c, 0xc6, 0x81, 0xad, 0xab, 0xc7, 0xb9, 0x70, 0xfc, 0x7e, 0x9c, 0x17, 0x7b, 0x0c, 0xc1, 0xfd, - 0xd6, 0xfa, 0xdd, 0x29, 0x76, 0x03, 0xbe, 0x00, 0xbd, 0x5b, 0xa8, 0xda, 0xc0, 0xe2, 0xb4, 0x7e, - 0x22, 0x29, 0xab, 0xfa, 0xe4, 0xf3, 0x4a, 0x0a, 0x86, 0x3b, 0xf9, 0x41, 0x17, 0x8b, 0xb3, 0x39, - 0xa3, 0x66, 0x5a, 0xbc, 0x71, 0x12, 0x51, 0x46, 0x74, 0x76, 0x34, 0xfd, 0x12, 0xec, 0xf3, 0xbd, - 0x0b, 0xe1, 0x15, 0x67, 0xb3, 0x5a, 0x54, 0xda, 0x48, 0x10, 0xc3, 0x4d, 0x3a, 0xec, 0x96, 0x37, - 0xf6, 0x95, 0x4a, 0x4f, 0xfb, 0xaf, 0x54, 0x7a, 0xe3, 0x5f, 0xa9, 0x5c, 0x86, 0x1c, 0xa1, 0x88, - 0x36, 0x88, 0x78, 0xa4, 0x30, 0x9d, 0xa8, 0x61, 0x26, 0x76, 0x89, 0xc1, 0x6b, 0x02, 0x2f, 0xe8, - 0x88, 0xa7, 0x58, 0xad, 0x96, 0xac, 0x69, 0xcf, 0x29, 0xcf, 0xfe, 0x62, 0x0a, 0xba, 0x97, 0x49, - 0x45, 0x45, 0xd0, 0xe7, 0x3d, 0xd9, 0x7e, 0x28, 0xc5, 0xc0, 0x02, 0xae, 0x38, 0x93, 0x0d, 0x4e, - 0x26, 0x1e, 0x03, 0xfa, 0xe5, 0x2b, 0xeb, 0x34, 0x27, 0xf2, 0x00, 0x8b, 0xb3, 0x19, 0x01, 0xe5, - 0x2a, 0xaf, 0x2a, 0x70, 0x30, 0xee, 0x61, 0xed, 0xf9, 0x14, 0x62, 0x31, 0x78, 0xc5, 0x4f, 0x77, - 0x86, 0x27, 0x79, 0x72, 0xb7, 0x8f, 0xc4, 0xe7, 0xa5, 0x4f, 0x66, 0x5b, 0x20, 0x12, 0xb9, 0xb8, - 0xb0, 0x03, 0x64, 0xc9, 0xe2, 0xef, 0x15, 0x38, 0x96, 0xfa, 0xce, 0xe7, 0x52, 0xb6, 0x95, 0x62, - 0x09, 0x14, 0x9f, 0xda, 0x21, 0x01, 0xc9, 0xee, 0xcb, 0x0a, 0x8c, 0x46, 0x3e, 0x80, 0x7f, 0x34, - 0x65, 0x85, 0x28, 0xa4, 0xe2, 0x93, 0x1d, 0x20, 0x49, 0x56, 0xde, 0x50, 0xa0, 0x98, 0xf0, 0x66, - 0xfd, 0x89, 0x14, 0xda, 0xf1, 0xa8, 0xc5, 0xb9, 0x8e, 0x51, 0x25, 0x73, 0xdf, 0x51, 0xe0, 0x40, - 0xf4, 0x93, 0x8f, 0x73, 0x99, 0x65, 0xf6, 0x61, 0x15, 0x3f, 0xd5, 0x09, 0x96, 0xe4, 0x66, 0x1b, - 0x86, 0xc3, 0xb7, 0xb1, 0x69, 0x49, 0x24, 0x04, 0x5f, 0x3c, 0xdf, 0x1e, 0x7c, 0x40, 0x11, 0xd1, - 0x17, 0xa7, 0xe7, 0x32, 0x69, 0x39, 0x84, 0x95, 0xaa, 0x88, 0xe4, 0xeb, 0xd1, 0xaf, 0xc3, 0xfe, - 0xd6, 0x5b, 0xc1, 0x47, 0xb2, 0x90, 0xf4, 0x63, 0x14, 0x1f, 0x6f, 0x17, 0x43, 0x32, 0xf0, 0xba, - 0x02, 0x87, 0xe2, 0x4f, 0xb3, 0x69, 0x74, 0x63, 0x31, 0x8b, 0x97, 0x3b, 0xc5, 0x0c, 0x84, 0x53, - 0xc2, 0xe3, 0x93, 0x27, 0x32, 0x39, 0x60, 0x14, 0x6a, 0x6a, 0x38, 0x65, 0x78, 0x5f, 0xe2, 0x66, - 0xc9, 0xd4, 0x77, 0x14, 0x97, 0xb2, 0x87, 0x6d, 0x24, 0x81, 0xd4, 0x2c, 0x99, 0xf9, 0xb9, 0xc4, - 0x9b, 0x0a, 0x1c, 0x4e, 0xba, 0x2d, 0xb9, 0xd0, 0xa6, 0x46, 0xfc, 0x99, 0x60, 0xbe, 0x73, 0xdc, - 0x60, 0x76, 0x8a, 0x6c, 0xd1, 0x9e, 0xcb, 0x14, 0xe6, 0x21, 0xac, 0xf4, 0xec, 0x94, 0xd4, 0x37, - 0x65, 0xda, 0x4a, 0x6a, 0xc9, 0x5d, 0xc8, 0x1e, 0xf2, 0x61, 0xdc, 0x54, 0x6d, 0x65, 0x69, 0xbf, - 0xf9, 0xb6, 0xe8, 0xf8, 0x87, 0xef, 0x19, 0xb7, 0xe8, 0x58, 0x02, 0x59, 0xb7, 0xe8, 0xd4, 0xc7, - 0xc3, 0xea, 0xaf, 0x14, 0x38, 0x9a, 0xfc, 0xbe, 0x2a, 0xdb, 0x66, 0x12, 0x83, 0x5d, 0x5c, 0xdc, - 0x09, 0xb6, 0xe4, 0xf2, 0xd7, 0x0a, 0x8c, 0xa7, 0x5c, 0xb7, 0x5c, 0x6c, 0x7f, 0x21, 0x7f, 0xa0, - 0x5c, 0xd9, 0x11, 0xba, 0x64, 0xf4, 0x35, 0x05, 0x0a, 0xb1, 0x2d, 0xfd, 0xc7, 0x32, 0x39, 0x7e, - 0x2b, 0x62, 0xf1, 0x52, 0x87, 0x88, 0x01, 0xfd, 0xa5, 0xbc, 0xe0, 0xb9, 0x98, 0xdd, 0xf7, 0x23, - 0xd0, 0x53, 0xf5, 0x97, 0xf1, 0xc1, 0xce, 0x4b, 0x0a, 0xa8, 0x11, 0x5d, 0xe9, 0x33, 0x69, 0xd5, - 0x6c, 0x0b, 0x4a, 0xf1, 0x89, 0xb6, 0x51, 0x24, 0x13, 0x5f, 0x83, 0x7d, 0x2d, 0x2d, 0xe1, 0xb4, - 0x0a, 0x27, 0x8c, 0x50, 0x7c, 0xac, 0x4d, 0x04, 0xff, 0xa9, 0xa3, 0xb5, 0x1b, 0x9b, 0x76, 0xea, - 0x68, 0xc1, 0x48, 0x3d, 0x75, 0xc4, 0x76, 0x4a, 0x59, 0xbe, 0x8f, 0x6e, 0x93, 0xa6, 0xe5, 0xfb, - 0x48, 0xac, 0xd4, 0x7c, 0x9f, 0xd8, 0x0f, 0x55, 0xbf, 0xaf, 0xc0, 0x58, 0x4c, 0x33, 0xf4, 0x93, - 0xa9, 0x49, 0x30, 0x0a, 0xad, 0x78, 0xb1, 0x23, 0x34, 0xc9, 0x10, 0x81, 0xa1, 0x60, 0x57, 0xec, - 0x13, 0x29, 0xf4, 0x02, 0xd0, 0xc5, 0x73, 0xed, 0x40, 0x07, 0x02, 0x38, 0xa5, 0x2b, 0x93, 0x26, - 0x56, 0x32, 0x7a, 0x6a, 0x00, 0x67, 0xeb, 0x54, 0xb0, 0x00, 0x8e, 0xe8, 0xf5, 0x9d, 0x49, 0x95, - 0x3a, 0x8c, 0x92, 0x1a, 0xc0, 0xf1, 0x3d, 0x3c, 0xb5, 0x0e, 0x83, 0x81, 0xff, 0x92, 0x7f, 0x2a, - 0x85, 0x94, 0x1f, 0xb8, 0xf8, 0x68, 0x1b, 0xc0, 0xde, 0x8a, 0xf3, 0x1b, 0xef, 0xbc, 0x3f, 0xae, - 0xbc, 0xfb, 0xfe, 0xb8, 0xf2, 0x8f, 0xf7, 0xc7, 0x95, 0x1f, 0xdc, 0x1e, 0xdf, 0xf3, 0xee, 0xed, - 0xf1, 0x3d, 0xef, 0xdd, 0x1e, 0xdf, 0xf3, 0xdc, 0x67, 0x7d, 0x5d, 0xad, 0xab, 0x1e, 0xe1, 0x6b, - 0x68, 0x8d, 0xcc, 0xca, 0x65, 0x4e, 0xeb, 0xb6, 0x83, 0xfd, 0x9f, 0x1b, 0xc8, 0xb4, 0x66, 0x6b, - 0xb6, 0xd1, 0xa8, 0x62, 0xd2, 0xfc, 0x53, 0x05, 0xac, 0x03, 0xb6, 0x96, 0x63, 0x7f, 0x79, 0xe0, - 0xd1, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x70, 0x8b, 0x67, 0xfe, 0xa8, 0x41, 0x00, 0x00, + // 3934 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x4b, 0x6c, 0x1c, 0xc7, + 0x95, 0x6a, 0x0e, 0x39, 0x24, 0x1f, 0x29, 0x89, 0x6a, 0x52, 0xe2, 0x70, 0xf8, 0x93, 0x9a, 0x92, + 0xf5, 0x27, 0xf5, 0xff, 0x8c, 0x56, 0x96, 0xf8, 0x91, 0x6c, 0xae, 0x45, 0x4b, 0x1e, 0xca, 0xbb, + 0xde, 0x85, 0xbd, 0x83, 0x66, 0x4f, 0x71, 0xd8, 0xe6, 0x4c, 0xf7, 0xa8, 0xbb, 0x47, 0x12, 0x8d, + 0x05, 0x76, 0xd7, 0x87, 0x85, 0x76, 0x13, 0x04, 0x09, 0x10, 0x20, 0x40, 0x00, 0x03, 0x06, 0x02, + 0xc4, 0x80, 0x13, 0x24, 0x76, 0x10, 0x04, 0x3e, 0xe4, 0x87, 0x20, 0x07, 0xc7, 0x27, 0x27, 0x40, + 0x80, 0x20, 0x07, 0x25, 0xb0, 0x0f, 0x36, 0x7c, 0x0a, 0x72, 0x09, 0x90, 0x5c, 0x82, 0xae, 0xaa, + 0xae, 0xe9, 0x4f, 0x55, 0x77, 0xcf, 0x88, 0xb4, 0xe5, 0xc0, 0x17, 0x89, 0x5d, 0xf5, 0xde, 0xab, + 0xf7, 0x5e, 0xbd, 0x4f, 0xd5, 0xab, 0xaa, 0x81, 0x29, 0xdd, 0x78, 0x19, 0x69, 0x8e, 0x7e, 0x17, + 0xcd, 0xa0, 0xfb, 0xda, 0x9a, 0x6a, 0x54, 0xd0, 0xcc, 0xdd, 0x93, 0x2b, 0xc8, 0x51, 0x4f, 0xce, + 0x38, 0xf7, 0xa7, 0xeb, 0x96, 0xe9, 0x98, 0x72, 0x9e, 0x01, 0x4d, 0x7b, 0x40, 0xd3, 0x14, 0x28, + 0x3f, 0xa1, 0x99, 0x76, 0xcd, 0xb4, 0x67, 0x56, 0x54, 0xbb, 0x89, 0xa9, 0x99, 0xba, 0x41, 0x70, + 0xf3, 0xd3, 0xb4, 0xbf, 0xac, 0xdb, 0x8e, 0xa5, 0xaf, 0x34, 0x1c, 0xdd, 0x34, 0x18, 0x9c, 0xbf, + 0x91, 0xc2, 0x0f, 0x53, 0xf8, 0x9a, 0x5d, 0x99, 0xb9, 0x7b, 0xd2, 0xfd, 0x8f, 0x76, 0x8c, 0x90, + 0x8e, 0x12, 0xfe, 0x9a, 0x21, 0x1f, 0xb4, 0x6b, 0xa8, 0x62, 0x56, 0x4c, 0xd2, 0xee, 0xfe, 0x45, + 0x5b, 0x0f, 0xc7, 0x88, 0xc6, 0xc4, 0x20, 0xa0, 0x07, 0x9a, 0xa0, 0xa6, 0xa5, 0x6a, 0xd5, 0x26, + 0x20, 0xf9, 0xa4, 0x60, 0xbb, 0xd4, 0x9a, 0x6e, 0x98, 0x33, 0xf8, 0x5f, 0xd2, 0xa4, 0xbc, 0x91, + 0x81, 0xc1, 0x25, 0xbb, 0xf2, 0x7c, 0xbd, 0xac, 0x3a, 0x68, 0xb9, 0x6e, 0x3a, 0x4b, 0xaa, 0xb5, + 0x8e, 0x1c, 0x79, 0x08, 0xba, 0xd4, 0x72, 0x4d, 0x37, 0x72, 0xd2, 0x5e, 0xe9, 0x50, 0x6f, 0x91, + 0x7c, 0xc8, 0xa3, 0xd0, 0x5b, 0xc3, 0xfd, 0x25, 0xbd, 0x9c, 0xeb, 0xc0, 0x3d, 0x3d, 0xa4, 0x61, + 0xb1, 0x2c, 0x8f, 0x03, 0x18, 0xe8, 0x5e, 0xc9, 0xd1, 0xb5, 0x75, 0x64, 0xe5, 0x32, 0xb8, 0xb7, + 0xd7, 0x40, 0xf7, 0x6e, 0xe3, 0x06, 0xf9, 0xdf, 0x60, 0xd8, 0xed, 0xae, 0xe9, 0x46, 0xa9, 0x6e, + 0xe9, 0x1a, 0xc2, 0x80, 0x25, 0x5b, 0x7f, 0x05, 0xe5, 0x3a, 0x5d, 0xd8, 0xb9, 0xa9, 0x77, 0x1f, + 0x4e, 0x6e, 0xfb, 0xfd, 0xc3, 0xc9, 0x51, 0xa2, 0x1b, 0xbb, 0xbc, 0x3e, 0xad, 0x9b, 0x33, 0x35, + 0xd5, 0x59, 0x9b, 0xbe, 0x81, 0x2a, 0xaa, 0xb6, 0xb1, 0x80, 0xb4, 0xe2, 0xa0, 0x81, 0xee, 0x2d, + 0xe9, 0xc6, 0x2d, 0x97, 0x82, 0x4b, 0x78, 0x59, 0x7f, 0x05, 0xc9, 0x25, 0xc8, 0x7b, 0xa4, 0xef, + 0x34, 0x54, 0xc3, 0xd1, 0x9d, 0x0d, 0x1f, 0xf5, 0xae, 0xf4, 0xd4, 0xf7, 0x10, 0xea, 0xcf, 0x51, + 0x22, 0x6c, 0x80, 0x25, 0x18, 0xf0, 0x06, 0x30, 0x4c, 0x77, 0xb2, 0xd5, 0x6a, 0x2e, 0x9b, 0x9e, + 0xec, 0x0e, 0x42, 0xf6, 0x59, 0x8a, 0x5a, 0x38, 0xfd, 0xe0, 0xf5, 0xc9, 0x6d, 0x1f, 0xbf, 0x3e, + 0xb9, 0xed, 0xd5, 0x8f, 0xde, 0x3a, 0x42, 0x54, 0xfb, 0xff, 0x1f, 0xbd, 0x75, 0x64, 0x8c, 0x4d, + 0x33, 0x67, 0x46, 0x94, 0x71, 0x18, 0xe5, 0x34, 0x17, 0x91, 0x5d, 0x37, 0x0d, 0x1b, 0x29, 0x7f, + 0xe9, 0x84, 0x11, 0xd6, 0xbf, 0x80, 0x2c, 0xfd, 0xae, 0xea, 0xda, 0xc3, 0x17, 0xd3, 0xb9, 0xe5, + 0xd3, 0x29, 0xbf, 0x08, 0x39, 0x97, 0x9c, 0x6e, 0xe8, 0x8e, 0xae, 0x56, 0x4b, 0x35, 0xd5, 0xaa, + 0xe8, 0x46, 0xc9, 0x52, 0x1d, 0xdd, 0xcc, 0x75, 0xa7, 0x27, 0xbb, 0xdb, 0x40, 0xf7, 0x16, 0x09, + 0x8d, 0x25, 0x4c, 0xa2, 0xe8, 0x52, 0x90, 0xcb, 0x30, 0x86, 0x99, 0x55, 0x75, 0xc3, 0x41, 0x86, + 0x6a, 0x68, 0x28, 0x38, 0x42, 0x4f, 0xfa, 0x11, 0x46, 0x5c, 0xc6, 0x9b, 0x74, 0x7c, 0xa3, 0x14, + 0x2e, 0xf2, 0x4d, 0x52, 0x89, 0x9a, 0x64, 0xd8, 0xb6, 0x94, 0x29, 0xd8, 0x27, 0xec, 0x64, 0xe6, + 0xf9, 0x8e, 0x04, 0x3b, 0x19, 0xd4, 0x2d, 0xd5, 0x52, 0x6b, 0xb6, 0x7c, 0x0e, 0x7a, 0xd5, 0x86, + 0xb3, 0x66, 0x5a, 0xba, 0xb3, 0x41, 0x0c, 0x73, 0x2e, 0xf7, 0x9b, 0x1f, 0x1e, 0x1f, 0xa2, 0xb1, + 0x71, 0xb6, 0x5c, 0xb6, 0x90, 0x6d, 0x2f, 0x3b, 0x96, 0x6e, 0x54, 0x8a, 0x4d, 0x50, 0xf9, 0x2a, + 0x64, 0xeb, 0x98, 0x02, 0xb6, 0xd9, 0xbe, 0x53, 0xca, 0xb4, 0x38, 0xbe, 0x4f, 0x93, 0xb1, 0xe6, + 0x3a, 0x5d, 0xfd, 0x14, 0x29, 0x5e, 0xe1, 0xa8, 0x2b, 0x65, 0x93, 0xa2, 0x2b, 0x69, 0x2e, 0x2a, + 0x29, 0x41, 0x55, 0x46, 0x60, 0x38, 0xd4, 0xc4, 0xa4, 0xfa, 0xbe, 0x04, 0xb0, 0x64, 0x57, 0x16, + 0x50, 0xdd, 0xb4, 0x75, 0x47, 0xde, 0x03, 0x59, 0x1b, 0x19, 0x65, 0x64, 0x51, 0x37, 0xa3, 0x5f, + 0xf2, 0x14, 0x6c, 0xb7, 0x1b, 0x2b, 0xaa, 0xa6, 0x99, 0x0d, 0xc3, 0xe7, 0x6b, 0xfd, 0xcd, 0xc6, + 0xc5, 0xb2, 0x7c, 0x1e, 0xb2, 0x6a, 0xcd, 0xfd, 0x1b, 0xfb, 0x5a, 0xdf, 0xa9, 0x11, 0x9a, 0x79, + 0xa6, 0xdd, 0xcc, 0xc4, 0xc4, 0x99, 0x37, 0x75, 0xc3, 0x13, 0x86, 0x80, 0x17, 0x8e, 0xfa, 0xa7, + 0x8e, 0x0e, 0xe9, 0x4a, 0x34, 0xe8, 0x97, 0x88, 0xb2, 0xa8, 0x0c, 0x81, 0xdc, 0xfc, 0x62, 0x72, + 0xbc, 0x2d, 0x41, 0xdf, 0x92, 0x5d, 0xf9, 0x57, 0xdd, 0x59, 0x2b, 0x5b, 0xea, 0xbd, 0xcf, 0x48, + 0x90, 0x63, 0x02, 0x41, 0x86, 0xfc, 0x82, 0x78, 0x3c, 0x2a, 0xbb, 0x71, 0xe2, 0xf2, 0x3e, 0x99, + 0x28, 0xdf, 0x93, 0xf0, 0x74, 0xcd, 0x5b, 0x88, 0xc6, 0xc9, 0x1b, 0x7a, 0x4d, 0x77, 0x6e, 0x5a, + 0x2e, 0xfb, 0x22, 0xb1, 0x66, 0xa1, 0xcb, 0x74, 0x01, 0xa8, 0x3d, 0x1d, 0x88, 0xb3, 0x27, 0x97, + 0x24, 0xa6, 0x46, 0x99, 0x27, 0x98, 0x85, 0x0b, 0x02, 0xde, 0xf7, 0xfa, 0x79, 0xe7, 0x31, 0xa5, + 0xbc, 0x08, 0x93, 0x82, 0x2e, 0x4f, 0x26, 0x37, 0x14, 0xe3, 0x51, 0x4a, 0x6b, 0xaa, 0xbd, 0x46, + 0x79, 0xef, 0xc5, 0x2d, 0x4f, 0xab, 0xf6, 0x9a, 0x3c, 0x00, 0x19, 0x8d, 0xcd, 0x85, 0xfb, 0x67, + 0xa1, 0xc7, 0xe3, 0x46, 0xf9, 0xb1, 0x04, 0xe3, 0x4b, 0x76, 0x65, 0x4e, 0x75, 0xb4, 0x35, 0xde, + 0x18, 0xb6, 0x50, 0x29, 0xf3, 0x90, 0xc5, 0x43, 0xb8, 0x5e, 0x96, 0x69, 0x55, 0x2b, 0x14, 0xb5, + 0xf0, 0xa4, 0x40, 0x2d, 0x4f, 0xf8, 0xd5, 0x22, 0x66, 0x4e, 0xf9, 0x81, 0x04, 0x07, 0x62, 0x21, + 0x98, 0x8e, 0xf6, 0x41, 0x7f, 0x53, 0x47, 0xc8, 0xce, 0x49, 0x7b, 0x33, 0x87, 0x7a, 0x8b, 0x7d, + 0x4c, 0x4b, 0xc8, 0x96, 0xa7, 0x61, 0x50, 0xc3, 0x34, 0xca, 0x25, 0xc2, 0x5e, 0x49, 0xd3, 0xcb, + 0x44, 0xbc, 0xde, 0xe2, 0x2e, 0xda, 0x45, 0xc8, 0xce, 0xeb, 0x65, 0x5b, 0x3e, 0x06, 0xf2, 0xaa, + 0xaa, 0x57, 0x43, 0xe0, 0x19, 0x0c, 0x3e, 0x40, 0x7a, 0x9a, 0xd0, 0x3e, 0x9d, 0xff, 0x2c, 0x03, + 0xf9, 0x25, 0xbb, 0xb2, 0x68, 0xd8, 0x8e, 0x6a, 0x38, 0xcd, 0x5c, 0x7d, 0x43, 0x6d, 0x18, 0xda, + 0x9a, 0x50, 0xe1, 0x7b, 0x20, 0x4b, 0x93, 0x2d, 0x99, 0x49, 0xfa, 0xe5, 0xce, 0xbe, 0xeb, 0x39, + 0xa5, 0x32, 0x32, 0xcc, 0x9a, 0x97, 0x88, 0xdd, 0x96, 0x05, 0xb7, 0x41, 0x9e, 0x84, 0xbe, 0x3b, + 0x0d, 0xd3, 0xf1, 0xfa, 0x71, 0xf2, 0x2d, 0x02, 0x6e, 0x22, 0x00, 0x45, 0x18, 0xe4, 0x65, 0xe9, + 0x16, 0xf2, 0xe8, 0x40, 0x2d, 0x9c, 0xa2, 0x5f, 0x80, 0x3d, 0x82, 0xf4, 0xdc, 0x42, 0x1e, 0x75, + 0xd9, 0x8a, 0xe4, 0xe6, 0xeb, 0xd0, 0x1f, 0xc8, 0xcb, 0x2d, 0x24, 0xd0, 0xbe, 0x9a, 0x6f, 0x8d, + 0x75, 0x49, 0x60, 0x79, 0x53, 0x7e, 0xcb, 0x13, 0x4c, 0x91, 0xb2, 0x1f, 0x14, 0x71, 0x6f, 0x33, + 0x6a, 0x76, 0x63, 0xd7, 0xa5, 0x60, 0xb7, 0x90, 0x55, 0x47, 0x4e, 0x03, 0x27, 0xef, 0xf6, 0x27, + 0x3b, 0x34, 0x9b, 0x99, 0xc8, 0x6c, 0x4e, 0x42, 0x1f, 0x59, 0xd3, 0x97, 0x5c, 0x13, 0xf0, 0xa6, + 0x9b, 0x34, 0xcd, 0xa9, 0x9e, 0x23, 0x60, 0x00, 0x8c, 0x45, 0xe6, 0xb9, 0x48, 0x91, 0x9e, 0x73, + 0x9b, 0x5c, 0x47, 0xa0, 0x20, 0xb6, 0xa6, 0x56, 0x51, 0x69, 0x55, 0xd5, 0x1c, 0xd3, 0xc2, 0x53, + 0xb7, 0xbd, 0xb8, 0x8b, 0x74, 0x2d, 0xbb, 0x3d, 0xd7, 0x71, 0x87, 0x7c, 0x8d, 0x8d, 0xe9, 0x6c, + 0xd4, 0x11, 0x9e, 0x92, 0x1d, 0xa7, 0xf6, 0xfb, 0xe2, 0x01, 0xdd, 0x65, 0x78, 0xd1, 0xe0, 0x26, + 0xfe, 0xbc, 0xbd, 0x51, 0x47, 0x1e, 0x67, 0xee, 0xdf, 0xf2, 0x22, 0xec, 0xa8, 0xa9, 0xeb, 0xc8, + 0x2a, 0xad, 0x22, 0xe4, 0x2e, 0x5e, 0x50, 0x2b, 0x6b, 0x97, 0x7e, 0x8c, 0x7a, 0x1d, 0xa1, 0xa2, + 0xea, 0x60, 0x52, 0x4e, 0x90, 0x54, 0x6f, 0x0b, 0xa4, 0x1c, 0x3f, 0xa9, 0xe7, 0x61, 0x88, 0xbb, + 0x72, 0x83, 0xf4, 0x04, 0x65, 0x3d, 0xba, 0x6c, 0x7b, 0x09, 0x72, 0xc2, 0x25, 0x5b, 0x5f, 0x0b, + 0x4b, 0xd8, 0x1a, 0x77, 0xbd, 0x26, 0x72, 0xea, 0xfe, 0xad, 0x71, 0xea, 0xed, 0x9b, 0xec, 0xd4, + 0x3b, 0xda, 0x74, 0xea, 0xab, 0x02, 0xa7, 0x3e, 0xc4, 0x71, 0x6a, 0xae, 0x3f, 0x2a, 0x87, 0xe1, + 0x60, 0x02, 0x08, 0x73, 0xef, 0xff, 0xeb, 0x86, 0xa9, 0x26, 0xec, 0x9c, 0x6e, 0xa8, 0xd6, 0xc6, + 0xcd, 0xba, 0xcb, 0x89, 0xfd, 0x48, 0x2e, 0x3e, 0x05, 0xdb, 0x3d, 0xef, 0xdb, 0xa8, 0xad, 0x98, + 0x55, 0xea, 0xe4, 0xd4, 0x6b, 0x97, 0x71, 0x9b, 0x7c, 0x10, 0x76, 0x52, 0xa0, 0xba, 0x65, 0xde, + 0xd5, 0x5d, 0xea, 0xc4, 0xd5, 0x77, 0x90, 0xe6, 0x5b, 0xb4, 0x35, 0xec, 0x9b, 0x5d, 0x6d, 0xfa, + 0x66, 0xab, 0x21, 0x21, 0xea, 0xcb, 0xdd, 0x9b, 0xe7, 0xcb, 0x3d, 0xed, 0xfa, 0xf2, 0x49, 0x18, + 0x42, 0xf7, 0xeb, 0x3a, 0xf6, 0x32, 0xa3, 0xe4, 0xe8, 0x35, 0x64, 0x3b, 0x6a, 0xad, 0x8e, 0x83, + 0x43, 0xa6, 0x38, 0xd8, 0xec, 0xbb, 0xed, 0x75, 0xb9, 0x28, 0x36, 0x72, 0x9c, 0x2a, 0xaa, 0x21, + 0xc3, 0xf1, 0xa1, 0x00, 0x41, 0x69, 0xf6, 0x35, 0x51, 0xd8, 0x66, 0xba, 0xcf, 0xbf, 0x99, 0x0e, + 0x45, 0xee, 0xfe, 0xb4, 0x79, 0x78, 0xfb, 0xd6, 0xb8, 0xec, 0x8e, 0x4d, 0x76, 0xd9, 0x9d, 0x6d, + 0xba, 0xec, 0x82, 0xc0, 0x65, 0x8f, 0x71, 0x5c, 0x56, 0xe8, 0x63, 0xca, 0x71, 0x38, 0x9a, 0x02, + 0x8c, 0xb9, 0xee, 0xaf, 0x03, 0xae, 0x7b, 0xcd, 0x9d, 0xf6, 0x8d, 0xeb, 0x0d, 0xa7, 0x61, 0x21, + 0xfb, 0xf1, 0xcf, 0xce, 0x21, 0x8f, 0xce, 0x6e, 0xae, 0x47, 0x77, 0x8b, 0x3c, 0x7a, 0x0f, 0x64, + 0xb1, 0x7f, 0x6c, 0x60, 0xf7, 0xcb, 0x14, 0xe9, 0x17, 0xc7, 0xd3, 0x7b, 0x37, 0xcf, 0xd3, 0x61, + 0xb3, 0xb3, 0x76, 0xdf, 0xd6, 0x65, 0xed, 0xfe, 0x2d, 0xcb, 0xda, 0x5f, 0x84, 0x80, 0x64, 0x5f, + 0x0d, 0x86, 0x00, 0x21, 0x18, 0x0b, 0x01, 0x6f, 0x49, 0x90, 0x0b, 0xec, 0xab, 0x09, 0xd4, 0x96, + 0x17, 0x02, 0x2e, 0x0a, 0x84, 0xdd, 0xc7, 0x2f, 0x04, 0xf8, 0xb8, 0x52, 0xde, 0x96, 0x60, 0xaf, + 0xa8, 0x33, 0x6d, 0x2d, 0xa0, 0x08, 0xdd, 0x16, 0xb2, 0x1b, 0x55, 0xc7, 0x2b, 0x8e, 0x9d, 0x4a, + 0x92, 0x21, 0x38, 0x88, 0x8b, 0x89, 0x05, 0x92, 0x8a, 0x1e, 0x21, 0xaf, 0xbe, 0x90, 0xe1, 0xd5, + 0x17, 0x7e, 0x2b, 0xc1, 0x1e, 0x3e, 0x15, 0xf9, 0x0a, 0xf4, 0x78, 0x46, 0x49, 0xab, 0x7b, 0xa9, + 0x4c, 0x87, 0x21, 0xc9, 0x17, 0xa1, 0x0b, 0x7b, 0x0a, 0x09, 0xc2, 0xe9, 0xb0, 0x09, 0x86, 0x7c, + 0x16, 0x32, 0xab, 0x08, 0x11, 0x96, 0xd3, 0x21, 0xba, 0xf0, 0xd1, 0xba, 0x09, 0x99, 0x8b, 0x66, + 0x55, 0x33, 0x45, 0x31, 0xe9, 0xa9, 0xa0, 0x0d, 0x1d, 0x8d, 0xd3, 0x7f, 0x93, 0x30, 0xc7, 0x92, + 0x0a, 0x0f, 0x12, 0xea, 0x26, 0x62, 0xe6, 0x94, 0x15, 0x5c, 0x36, 0x11, 0x03, 0x6c, 0x46, 0x69, + 0xe9, 0x17, 0x7e, 0x73, 0x0d, 0xe4, 0xe4, 0x4f, 0x53, 0x4b, 0x97, 0x39, 0x5a, 0x3a, 0x1c, 0xd5, + 0x92, 0x80, 0x3f, 0x05, 0xc1, 0xa1, 0x24, 0x98, 0xcd, 0xd0, 0xd5, 0x7b, 0x12, 0x5e, 0x90, 0xf8, + 0xea, 0x58, 0xbc, 0x59, 0x11, 0x17, 0xe3, 0x16, 0x43, 0xc5, 0xb8, 0x36, 0xf4, 0xe5, 0x95, 0xe4, + 0xae, 0x3e, 0x48, 0x88, 0xc4, 0x49, 0x4c, 0x2a, 0xef, 0x48, 0x38, 0x14, 0x27, 0xc1, 0x3d, 0x8e, + 0xa5, 0xb9, 0xf7, 0x25, 0x5c, 0xff, 0x9e, 0x77, 0x13, 0x73, 0x95, 0x45, 0x70, 0xa1, 0xda, 0x63, + 0x0f, 0xc8, 0x22, 0xc5, 0xf0, 0x0c, 0xa7, 0x18, 0x1e, 0xb4, 0x99, 0x4e, 0x81, 0xcd, 0x74, 0x35, + 0x6d, 0x66, 0x86, 0x33, 0x3d, 0xa3, 0x01, 0x7b, 0x0e, 0xf2, 0xae, 0x8c, 0xe1, 0x62, 0x63, 0xa8, + 0x95, 0xa5, 0xc1, 0x37, 0x49, 0x1a, 0x24, 0x73, 0x15, 0x84, 0x11, 0x5b, 0xdb, 0x15, 0xe8, 0x2c, + 0xab, 0x8e, 0x9a, 0xa6, 0xf0, 0x8b, 0x29, 0x2d, 0xa8, 0x8e, 0x4a, 0xad, 0x0c, 0x23, 0x16, 0xce, + 0x3e, 0x48, 0x48, 0x80, 0x5c, 0x7e, 0x94, 0xeb, 0x38, 0xa0, 0x70, 0xfb, 0x98, 0x31, 0xe5, 0xa0, + 0xdb, 0x6e, 0x68, 0x1a, 0xb2, 0x89, 0x1d, 0xf5, 0x14, 0xbd, 0xcf, 0x60, 0xf0, 0xde, 0x17, 0x24, + 0x14, 0x70, 0xed, 0xad, 0x96, 0xfe, 0x49, 0x8e, 0xf4, 0x47, 0x04, 0xd2, 0x73, 0x18, 0x53, 0x6e, + 0xc2, 0xe1, 0x44, 0xa0, 0x96, 0xf4, 0xf1, 0xe7, 0x6e, 0x18, 0xf2, 0x28, 0x92, 0x73, 0xac, 0x04, + 0x15, 0xa4, 0x3a, 0xe7, 0xb9, 0x02, 0xe3, 0x76, 0xdd, 0x74, 0x4a, 0xcc, 0x43, 0xec, 0x92, 0x63, + 0x96, 0x34, 0xcc, 0x71, 0x49, 0xad, 0x56, 0xa9, 0x3b, 0xe6, 0x6c, 0xb6, 0x3c, 0x58, 0x2c, 0xdb, + 0xb7, 0x4d, 0x22, 0xd2, 0x6c, 0xb5, 0x2a, 0x3f, 0x03, 0x53, 0x65, 0x16, 0x38, 0xc4, 0x64, 0x3a, + 0x31, 0x99, 0x89, 0x72, 0xe8, 0x68, 0x31, 0x44, 0xec, 0x3f, 0x60, 0x37, 0xe6, 0x86, 0xc6, 0x03, + 0x46, 0x22, 0xd7, 0xd5, 0xea, 0x34, 0x4a, 0x45, 0xd9, 0x66, 0x76, 0xe7, 0x0d, 0x21, 0xbf, 0x0c, + 0xa3, 0x3e, 0x66, 0x23, 0xa3, 0x64, 0x5b, 0x1f, 0x25, 0x57, 0x0e, 0xc6, 0xe9, 0xe6, 0x58, 0x1c, + 0x59, 0x70, 0x04, 0xcc, 0x75, 0xb7, 0x7a, 0x12, 0x13, 0x96, 0x05, 0x93, 0x91, 0xeb, 0x22, 0x59, + 0xc8, 0x28, 0x3d, 0xed, 0xa5, 0x18, 0xbe, 0x44, 0x64, 0xc4, 0x3b, 0x30, 0xb9, 0x82, 0x8d, 0xb8, + 0x64, 0x12, 0x2b, 0x8e, 0x6a, 0xb0, 0xb7, 0x75, 0x0d, 0x8e, 0xae, 0x44, 0x1d, 0x83, 0x29, 0xb1, + 0x08, 0x07, 0x43, 0x43, 0x0a, 0x2d, 0x0c, 0xb0, 0x85, 0xed, 0x5b, 0x89, 0xd6, 0x15, 0x42, 0x46, + 0x76, 0x2f, 0x4e, 0x0c, 0xa2, 0xbc, 0xbe, 0x76, 0x95, 0x27, 0x10, 0x06, 0x53, 0x2d, 0x9c, 0xe4, + 0x84, 0x94, 0xf1, 0x48, 0x48, 0xf1, 0xfb, 0xb6, 0xf2, 0x20, 0x0b, 0x63, 0xbc, 0x0e, 0x16, 0x39, + 0xa6, 0x61, 0x10, 0x5b, 0x19, 0x55, 0x44, 0x30, 0x8a, 0xec, 0x72, 0xbb, 0x68, 0x10, 0x26, 0x1d, + 0x72, 0x01, 0x46, 0x7c, 0x56, 0x13, 0xc2, 0xea, 0xc0, 0x58, 0xc3, 0x4d, 0x80, 0x20, 0xee, 0x11, + 0xd8, 0xd5, 0xb4, 0x68, 0x6f, 0x1d, 0x40, 0xe2, 0xc3, 0x4e, 0x66, 0xa0, 0x74, 0x2d, 0x70, 0x0e, + 0x86, 0xc3, 0xd6, 0xe9, 0x61, 0x90, 0x50, 0xb0, 0x3b, 0x64, 0x66, 0x14, 0x6f, 0x16, 0xc6, 0x43, + 0x93, 0x13, 0xe2, 0xb1, 0x0b, 0xf3, 0x98, 0x0f, 0xe8, 0x39, 0xc8, 0xe6, 0x65, 0x18, 0xe5, 0xcd, + 0xaf, 0x37, 0x7c, 0x96, 0x04, 0xb4, 0xe8, 0x44, 0x51, 0x0e, 0xce, 0x43, 0xce, 0x5b, 0xc5, 0xf8, + 0xfd, 0x17, 0xaf, 0x4d, 0xba, 0x09, 0xeb, 0xb4, 0xbf, 0x99, 0xd8, 0xf0, 0x72, 0xe6, 0x2c, 0x0c, + 0xd3, 0xe5, 0x4c, 0x04, 0xaf, 0x07, 0xe3, 0x0d, 0x91, 0xee, 0x10, 0xda, 0x3c, 0x4c, 0x78, 0xe3, + 0x45, 0xfd, 0x19, 0x63, 0xf7, 0x62, 0xec, 0x51, 0x0a, 0x15, 0x32, 0x3c, 0x42, 0x64, 0x16, 0xc6, + 0xe9, 0xd8, 0x02, 0x1a, 0xc4, 0x3b, 0xf2, 0x04, 0x88, 0x4b, 0xe2, 0x9f, 0x41, 0xf1, 0xf8, 0xe0, + 0xbb, 0x07, 0xa6, 0xd3, 0x47, 0xe2, 0x38, 0x85, 0xe4, 0xe4, 0x34, 0x4c, 0xeb, 0x69, 0xd8, 0x47, + 0xd9, 0x89, 0x21, 0xd5, 0x8f, 0x49, 0x51, 0xbe, 0x05, 0x94, 0x7c, 0xf9, 0xef, 0xa7, 0x12, 0x4c, + 0x70, 0xb6, 0x43, 0x69, 0x2a, 0x02, 0x9b, 0xb6, 0x4f, 0xb9, 0xc4, 0xf1, 0xe0, 0x83, 0x71, 0xbb, + 0x39, 0x7f, 0x65, 0xe0, 0x27, 0x12, 0x3c, 0x11, 0x0f, 0x92, 0x76, 0x93, 0xf2, 0x42, 0xb8, 0x3e, + 0x70, 0x21, 0x9d, 0x44, 0x8f, 0x56, 0x25, 0xf8, 0x53, 0x07, 0x8c, 0xc5, 0xd1, 0xfa, 0x1c, 0xd6, + 0x0a, 0xe4, 0x7f, 0x81, 0x1d, 0xf8, 0x12, 0x8d, 0x6e, 0x1a, 0xa5, 0x32, 0xaa, 0x3a, 0x2a, 0x5e, + 0xdd, 0xf7, 0x9d, 0x3a, 0x1c, 0x7b, 0x1b, 0x89, 0x62, 0x2c, 0xb8, 0x08, 0xd4, 0x40, 0xb6, 0xd7, + 0xfd, 0x8d, 0xf2, 0x25, 0xc8, 0xd6, 0xd5, 0x0d, 0xb3, 0xe1, 0xb4, 0x72, 0x42, 0x4f, 0x51, 0x7c, + 0x2a, 0xff, 0x25, 0x59, 0x03, 0x73, 0x76, 0xb6, 0x9f, 0xaa, 0xd9, 0x27, 0xae, 0x85, 0xe3, 0x19, + 0x54, 0x7e, 0x2e, 0xe1, 0xc5, 0x70, 0x3c, 0xd4, 0xe3, 0x6d, 0xfc, 0x7f, 0xa3, 0x95, 0x48, 0x9c, + 0x69, 0x42, 0xca, 0xfa, 0xec, 0x76, 0x9e, 0xac, 0xbb, 0xa6, 0xda, 0xeb, 0xd8, 0xd4, 0xba, 0x68, + 0xf7, 0x92, 0x6a, 0xaf, 0x7b, 0x02, 0x65, 0x9b, 0x02, 0x25, 0xee, 0xe9, 0xb8, 0x02, 0x2a, 0x0a, + 0x29, 0x12, 0xf1, 0xfa, 0xd8, 0x26, 0xf5, 0x7f, 0x3a, 0xf0, 0xdd, 0x56, 0xd1, 0x66, 0xe7, 0x73, + 0xa4, 0xa4, 0x0b, 0x1c, 0x25, 0xed, 0x8f, 0x2a, 0x29, 0x2a, 0xa3, 0x72, 0x00, 0x17, 0x88, 0x44, + 0xdd, 0x4c, 0x55, 0xaf, 0x49, 0xd0, 0xcb, 0x96, 0xc1, 0x41, 0x05, 0x48, 0x49, 0x0a, 0xe8, 0x48, + 0x54, 0x40, 0x26, 0x5e, 0x01, 0x9d, 0x02, 0x05, 0x34, 0xcb, 0x17, 0xca, 0x8f, 0x48, 0xaa, 0xf5, + 0x6d, 0x5e, 0xc3, 0x2b, 0x86, 0xad, 0xdb, 0x77, 0x27, 0xa6, 0xd8, 0x18, 0xae, 0x94, 0x1b, 0x38, + 0xc3, 0xc6, 0x40, 0xb4, 0xb4, 0xe3, 0xfe, 0xdf, 0x0e, 0xd8, 0xbd, 0x64, 0x57, 0x96, 0x99, 0xaa, + 0x6f, 0x5b, 0xaa, 0x61, 0xaf, 0xc6, 0xd8, 0xf2, 0x09, 0x18, 0xb2, 0xcd, 0x86, 0xa5, 0xa1, 0x12, + 0x6f, 0xd2, 0x64, 0xd2, 0xb7, 0xec, 0x9f, 0x3a, 0xbc, 0x1e, 0xb7, 0x1d, 0xdd, 0x20, 0xa7, 0xdd, + 0x3c, 0x63, 0x1f, 0xf6, 0x01, 0x2c, 0xf3, 0xef, 0x68, 0x76, 0xb6, 0x76, 0x47, 0x73, 0x3a, 0xa4, + 0xdf, 0x09, 0xbf, 0x7e, 0xa3, 0xe2, 0x2a, 0x93, 0xb8, 0x8c, 0x1e, 0xed, 0x60, 0x06, 0xfd, 0x6a, + 0x07, 0xbe, 0xc7, 0x79, 0xed, 0xbe, 0x83, 0x2c, 0x43, 0xad, 0xfe, 0xa3, 0xe8, 0xe9, 0x58, 0x48, + 0x4f, 0x81, 0xbb, 0xfd, 0x61, 0x61, 0xe9, 0xdd, 0xfe, 0x70, 0x33, 0xd3, 0xd1, 0xc7, 0x12, 0xae, + 0xdf, 0xdc, 0xd0, 0xef, 0x34, 0x74, 0x7c, 0x0b, 0x99, 0x2e, 0x18, 0x1e, 0xad, 0x7e, 0x13, 0x08, + 0x1e, 0x99, 0x50, 0xf0, 0x60, 0x0b, 0x80, 0xce, 0xf6, 0x16, 0x00, 0x92, 0xb7, 0x00, 0x38, 0x1e, + 0xb7, 0x6b, 0x8d, 0x48, 0xa4, 0x4c, 0xe0, 0x4d, 0x6b, 0xa4, 0x9d, 0xa9, 0xe2, 0x0d, 0x92, 0x4c, + 0xaf, 0xd5, 0x90, 0x55, 0x41, 0x86, 0xb6, 0xb1, 0x8c, 0xef, 0x67, 0xd0, 0x57, 0x0e, 0x5b, 0xa6, + 0x8e, 0xc2, 0xc9, 0xb8, 0xc4, 0xc7, 0x65, 0x86, 0x26, 0x3e, 0x6e, 0x5f, 0xf3, 0xfe, 0x78, 0x07, + 0x7e, 0xb4, 0xb1, 0x68, 0xb8, 0x9b, 0x22, 0x9b, 0x49, 0x4b, 0x8e, 0x8c, 0x1f, 0x13, 0x17, 0x08, + 0xe8, 0xa5, 0x33, 0x64, 0x26, 0x97, 0x98, 0x7f, 0xb4, 0xb2, 0x58, 0xa5, 0x3e, 0x72, 0x2a, 0xa4, + 0x54, 0x25, 0x78, 0x1e, 0xcc, 0xd3, 0x09, 0x7d, 0x6c, 0xc0, 0xef, 0x0c, 0xab, 0x75, 0x01, 0x7d, + 0xa1, 0xd6, 0xb0, 0x5a, 0xf9, 0x3a, 0xa1, 0x6a, 0xe5, 0x77, 0x32, 0xb5, 0xbe, 0x27, 0x61, 0xe7, + 0xbc, 0x65, 0xe9, 0x77, 0xf5, 0x2a, 0xaa, 0xa0, 0xf2, 0xb5, 0xfb, 0x48, 0x6b, 0x38, 0x68, 0xde, + 0x34, 0x1c, 0x4b, 0xd5, 0xc4, 0xfe, 0x37, 0x04, 0x5d, 0xab, 0x0d, 0xa3, 0x6c, 0x53, 0x55, 0x92, + 0x0f, 0xf9, 0x30, 0x0c, 0x68, 0x14, 0xb3, 0xa4, 0x92, 0xb7, 0x1e, 0x54, 0x69, 0x3b, 0xbd, 0x76, + 0xfa, 0x04, 0x44, 0x96, 0xe9, 0xd2, 0x80, 0xe8, 0x89, 0x64, 0xfb, 0xcb, 0x82, 0x83, 0xf6, 0x03, + 0x7e, 0x71, 0x85, 0xbc, 0xba, 0x81, 0x64, 0x7f, 0x1c, 0x00, 0x4b, 0xf7, 0x2f, 0x03, 0x60, 0x7e, + 0x4b, 0x65, 0x7d, 0x75, 0x15, 0x67, 0xfc, 0xd8, 0x34, 0x70, 0xc2, 0x9d, 0xaa, 0x37, 0xff, 0x30, + 0x79, 0xa8, 0xa2, 0x3b, 0x6b, 0x8d, 0x95, 0x69, 0xcd, 0xac, 0xd1, 0xc7, 0x7e, 0xf4, 0xbf, 0xe3, + 0x76, 0x79, 0x7d, 0xc6, 0xd9, 0xa8, 0x23, 0x1b, 0x23, 0xd8, 0xc5, 0x5e, 0x4c, 0x7e, 0x41, 0x5f, + 0x5d, 0x2d, 0x0c, 0x72, 0x64, 0x52, 0x5e, 0x82, 0x81, 0x25, 0xbb, 0x52, 0x44, 0xf7, 0x54, 0xab, + 0x6c, 0xdf, 0xac, 0x3b, 0x37, 0x1b, 0x42, 0x4d, 0x93, 0x3a, 0x21, 0x47, 0x29, 0x23, 0x7e, 0xa5, + 0x04, 0x48, 0x29, 0x79, 0x1c, 0x50, 0x03, 0x6d, 0xfe, 0xf7, 0x2d, 0xbb, 0x71, 0xa7, 0x56, 0x55, + 0xf5, 0xda, 0x0d, 0x53, 0x5b, 0x47, 0xe5, 0xeb, 0x78, 0xf2, 0xc4, 0x4e, 0x34, 0x58, 0xc5, 0x60, + 0xb3, 0xc4, 0xd2, 0x6f, 0x35, 0x56, 0x9e, 0x41, 0x1b, 0x78, 0xe2, 0xfb, 0x8b, 0xbc, 0x2e, 0x79, + 0x0c, 0x7a, 0x6d, 0xbd, 0x62, 0xa8, 0x4e, 0xc3, 0x22, 0x9b, 0xf0, 0xfe, 0x62, 0xb3, 0x21, 0x7e, + 0xbd, 0x11, 0xe5, 0x8b, 0xae, 0x37, 0xa2, 0x1d, 0x4c, 0xa4, 0xff, 0x26, 0x4f, 0x5d, 0x96, 0xf5, + 0x8a, 0x81, 0x97, 0xd0, 0xcb, 0x90, 0x75, 0xff, 0xa6, 0x82, 0xf4, 0xcf, 0x5d, 0xfa, 0xe4, 0xe1, + 0x64, 0xd6, 0xc6, 0x2d, 0x7f, 0x7d, 0x38, 0x79, 0x3c, 0xc5, 0x2c, 0xce, 0x6a, 0x1a, 0xb5, 0xd3, + 0x22, 0x25, 0x25, 0x8f, 0x41, 0xe7, 0x02, 0x59, 0xca, 0xba, 0x24, 0x7b, 0x3e, 0x79, 0x38, 0x89, + 0x6d, 0xb6, 0x88, 0x5b, 0x95, 0xfb, 0xf8, 0xd1, 0x10, 0xe6, 0xc0, 0xd4, 0xe4, 0x03, 0x44, 0x7e, + 0x72, 0xd9, 0x8b, 0xd4, 0x3e, 0x30, 0x82, 0xfb, 0x5d, 0xec, 0x71, 0xbb, 0xf0, 0x75, 0xae, 0x79, + 0xe8, 0xba, 0xab, 0x56, 0x1b, 0x88, 0xee, 0x5c, 0x0f, 0xc6, 0x25, 0x64, 0x9f, 0x7c, 0xde, 0x6e, + 0x1c, 0xe3, 0x2a, 0x5f, 0xce, 0x60, 0x3f, 0x9f, 0x2d, 0xd7, 0x74, 0x83, 0xd4, 0x84, 0x39, 0x5b, + 0xea, 0xf6, 0xb6, 0x5b, 0xcf, 0xc2, 0x80, 0xef, 0x1e, 0x25, 0xa9, 0xc5, 0x34, 0x4b, 0x2a, 0x52, + 0x52, 0xf0, 0xda, 0xd9, 0x44, 0xc6, 0xd7, 0x9b, 0x84, 0x57, 0x39, 0x3b, 0x5b, 0xbf, 0xca, 0xd9, + 0x25, 0xbe, 0xca, 0x79, 0x15, 0xb2, 0xb6, 0xa3, 0x3a, 0x0d, 0x9b, 0x5e, 0xb3, 0x3b, 0x14, 0xab, + 0x56, 0x2c, 0xeb, 0x32, 0x86, 0x2f, 0x52, 0xbc, 0x42, 0x21, 0xae, 0xb8, 0x11, 0xaf, 0x68, 0xe5, + 0x28, 0xae, 0x6d, 0xc4, 0x03, 0x31, 0xc3, 0xfd, 0x0e, 0x79, 0xd8, 0x34, 0x4b, 0x1e, 0xad, 0xbd, + 0x82, 0x96, 0x1d, 0x75, 0x1d, 0x3d, 0x65, 0xa9, 0x86, 0x23, 0xf6, 0xc6, 0xeb, 0x90, 0xad, 0x60, + 0x08, 0xba, 0xa9, 0x9a, 0x8e, 0x13, 0x0f, 0xd3, 0xf2, 0xc8, 0x63, 0xd5, 0x16, 0x29, 0x76, 0xe1, + 0x44, 0xdc, 0xab, 0x26, 0x1e, 0x47, 0xca, 0x3e, 0xfc, 0x34, 0x82, 0xd7, 0xc5, 0x04, 0xda, 0xc0, + 0xb1, 0x65, 0xd6, 0xe5, 0x46, 0x75, 0x7c, 0x10, 0x42, 0x69, 0x72, 0xd0, 0x8d, 0xf9, 0x61, 0xd7, + 0x32, 0xbd, 0xcf, 0xf8, 0x28, 0x11, 0x1d, 0x81, 0x46, 0x89, 0x68, 0x87, 0xc7, 0xdb, 0xa9, 0x5f, + 0x1d, 0x84, 0xcc, 0x92, 0x5d, 0x91, 0x55, 0xe8, 0xf6, 0x1e, 0xf7, 0x3d, 0x91, 0xe0, 0x71, 0x14, + 0x2e, 0x3f, 0x9d, 0x0e, 0x8e, 0xe5, 0x97, 0x32, 0xf4, 0xb0, 0x77, 0x77, 0x49, 0x5e, 0xed, 0x01, + 0xe6, 0x67, 0x52, 0x02, 0xb2, 0x51, 0xbe, 0x26, 0xc1, 0xb0, 0xe8, 0x41, 0xd2, 0xb9, 0x04, 0x62, + 0x02, 0xbc, 0xfc, 0x93, 0xed, 0xe1, 0x31, 0x9e, 0x5e, 0x97, 0x60, 0x2c, 0xf6, 0xf1, 0xcc, 0xa5, + 0x74, 0x03, 0x70, 0x91, 0xf3, 0xf3, 0x8f, 0x80, 0xcc, 0x58, 0xfc, 0xae, 0x04, 0x7b, 0x13, 0x6f, + 0x11, 0x5f, 0x49, 0x37, 0x92, 0x90, 0x40, 0xfe, 0xa9, 0x47, 0x24, 0xc0, 0xd8, 0x7d, 0x20, 0xc1, + 0x10, 0xf7, 0xe5, 0xe3, 0xe9, 0x84, 0x11, 0x78, 0x48, 0xf9, 0x4b, 0x6d, 0x20, 0x31, 0x56, 0xbe, + 0x29, 0x41, 0x3e, 0xe6, 0xd5, 0xe1, 0xc5, 0x04, 0xda, 0x62, 0xd4, 0xfc, 0x6c, 0xdb, 0xa8, 0x8c, + 0xb9, 0x2f, 0x49, 0xb0, 0x9b, 0x7f, 0x33, 0xf4, 0x4c, 0x6a, 0x99, 0x7d, 0x58, 0xf9, 0x7f, 0x6a, + 0x07, 0x8b, 0x71, 0xb3, 0x01, 0x3b, 0xc3, 0x17, 0x92, 0x92, 0x82, 0x48, 0x08, 0x3e, 0x7f, 0xae, + 0x35, 0xf8, 0x80, 0x22, 0xf8, 0x77, 0x83, 0xce, 0xa4, 0xd2, 0x72, 0x08, 0x2b, 0x51, 0x11, 0xf1, + 0x77, 0x7b, 0xfe, 0x0b, 0x76, 0x45, 0xef, 0xa8, 0x9c, 0x48, 0x43, 0xd2, 0x8f, 0x91, 0xbf, 0xd0, + 0x2a, 0x06, 0x63, 0xe0, 0x1b, 0x12, 0x8c, 0x88, 0xb7, 0x37, 0x49, 0x74, 0x85, 0x98, 0xf9, 0xab, + 0xed, 0x62, 0x06, 0xdc, 0x29, 0xe6, 0x32, 0xea, 0xc5, 0x54, 0x06, 0xc8, 0x43, 0x4d, 0x74, 0xa7, + 0x14, 0x97, 0x48, 0xdd, 0x28, 0x99, 0x78, 0xb5, 0xf1, 0x4a, 0x7a, 0xb7, 0xe5, 0x12, 0x48, 0x8c, + 0x92, 0xa9, 0xef, 0x23, 0xbe, 0x26, 0xc1, 0x68, 0xdc, 0x59, 0x70, 0xa1, 0x45, 0x8d, 0xf8, 0x23, + 0xc1, 0x5c, 0xfb, 0xb8, 0xc1, 0xe8, 0xc4, 0x3d, 0x2d, 0x3a, 0x93, 0xca, 0xcd, 0x43, 0x58, 0xc9, + 0xd1, 0x29, 0xee, 0x70, 0x06, 0x6b, 0x2b, 0xae, 0x9c, 0x5f, 0x48, 0xef, 0xf2, 0x61, 0xdc, 0x44, + 0x6d, 0xa5, 0x29, 0xc7, 0xfb, 0x52, 0xb4, 0xf8, 0x8d, 0x5e, 0xca, 0x14, 0x2d, 0x24, 0x90, 0x36, + 0x45, 0x27, 0x3e, 0x4d, 0x92, 0xbf, 0x25, 0xc1, 0x78, 0xfc, 0x95, 0xe9, 0x74, 0xc9, 0x44, 0x80, + 0x9d, 0x5f, 0x78, 0x14, 0x6c, 0xc6, 0xe5, 0xb7, 0x25, 0x98, 0x48, 0x38, 0x3a, 0xbe, 0xdc, 0xfa, + 0x40, 0x7e, 0x47, 0xb9, 0xf6, 0x48, 0xe8, 0x8c, 0xd1, 0xaf, 0x4b, 0x90, 0x13, 0x9e, 0x1b, 0x9e, + 0x4f, 0x65, 0xf8, 0x51, 0xc4, 0xfc, 0x95, 0x36, 0x11, 0x03, 0xfa, 0x4b, 0xb8, 0x7e, 0x7a, 0x39, + 0xbd, 0xed, 0x73, 0xd0, 0x13, 0xf5, 0x97, 0xf2, 0xfa, 0xe8, 0xab, 0x12, 0xc8, 0x9c, 0x53, 0xaa, + 0x93, 0x49, 0xe5, 0x85, 0x08, 0x4a, 0xfe, 0x62, 0xcb, 0x28, 0x8c, 0x89, 0xff, 0x84, 0x81, 0xc8, + 0xf9, 0x4f, 0xd2, 0x0e, 0x27, 0x8c, 0x90, 0x3f, 0xdf, 0x22, 0x82, 0x7f, 0xd5, 0x11, 0x3d, 0x59, + 0x49, 0x5a, 0x75, 0x44, 0x30, 0x12, 0x57, 0x1d, 0xc2, 0x33, 0x0d, 0x1c, 0xef, 0xf9, 0x07, 0x1a, + 0x49, 0xf1, 0x9e, 0x8b, 0x95, 0x18, 0xef, 0x63, 0xcf, 0x24, 0xe4, 0xaf, 0x48, 0xb0, 0x47, 0x70, + 0x20, 0x71, 0x36, 0x31, 0x08, 0xf2, 0xd0, 0xf2, 0x97, 0xdb, 0x42, 0x0b, 0x30, 0x24, 0x28, 0xe5, + 0x9f, 0x4d, 0xdc, 0x6b, 0xb7, 0xc5, 0x50, 0x7c, 0x1d, 0x5c, 0xb6, 0x61, 0x7b, 0xb0, 0x1a, 0x7b, + 0x2c, 0x81, 0x5e, 0x00, 0x3a, 0x7f, 0xa6, 0x15, 0xe8, 0x40, 0x44, 0x49, 0xa8, 0xdb, 0x25, 0x89, + 0x15, 0x8f, 0x9e, 0x18, 0x51, 0xd2, 0xd5, 0xa9, 0xe4, 0x3a, 0xf4, 0x07, 0x7e, 0xe5, 0xe9, 0x68, + 0x02, 0x59, 0x3f, 0x70, 0xfe, 0x74, 0x0b, 0xc0, 0xfe, 0xf0, 0x11, 0xf9, 0xfd, 0xba, 0x99, 0x54, + 0x84, 0x9a, 0x08, 0x89, 0xe1, 0x43, 0xf4, 0xc3, 0x6b, 0xd8, 0x3c, 0x05, 0xbf, 0xba, 0x76, 0x36, + 0x15, 0xcd, 0x30, 0x5a, 0xa2, 0x79, 0xc6, 0xff, 0xd4, 0x16, 0x2e, 0x02, 0x70, 0xab, 0x84, 0x49, + 0xca, 0xe5, 0x21, 0x25, 0x16, 0x01, 0xe2, 0x4a, 0x7c, 0x38, 0xbb, 0x70, 0x0a, 0x7c, 0x49, 0xd9, + 0x25, 0x8a, 0x92, 0x98, 0x5d, 0xc4, 0xb5, 0xbc, 0xb9, 0xb5, 0x77, 0x3f, 0x98, 0x90, 0xde, 0xff, + 0x60, 0x42, 0xfa, 0xe3, 0x07, 0x13, 0xd2, 0x57, 0x3f, 0x9c, 0xd8, 0xf6, 0xfe, 0x87, 0x13, 0xdb, + 0x7e, 0xf7, 0xe1, 0xc4, 0xb6, 0x7f, 0x7f, 0xd6, 0x57, 0xdd, 0x5f, 0xf4, 0xc8, 0xdf, 0x50, 0x57, + 0xec, 0x19, 0x36, 0xd8, 0x71, 0xcd, 0xb4, 0x90, 0xff, 0x73, 0x4d, 0xd5, 0x8d, 0x99, 0x9a, 0x59, + 0x6e, 0x54, 0x91, 0xdd, 0xfc, 0x5d, 0x46, 0x7c, 0x12, 0xb0, 0x92, 0xc5, 0xbf, 0xa9, 0x78, 0xfa, + 0xef, 0x01, 0x00, 0x00, 0xff, 0xff, 0x80, 0xf5, 0x7b, 0xe9, 0x95, 0x52, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3468,14 +4008,21 @@ type MsgClient interface { EmergencySettleMarket(ctx context.Context, in *MsgEmergencySettleMarket, opts ...grpc.CallOption) (*MsgEmergencySettleMarketResponse, error) // IncreasePositionMargin defines a method for increasing margin of a position IncreasePositionMargin(ctx context.Context, in *MsgIncreasePositionMargin, opts ...grpc.CallOption) (*MsgIncreasePositionMarginResponse, error) + // DecreasePositionMargin defines a method for decreasing margin of a position + DecreasePositionMargin(ctx context.Context, in *MsgDecreasePositionMargin, opts ...grpc.CallOption) (*MsgDecreasePositionMarginResponse, 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(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) + // UpdateSpotMarket modifies certain spot market fields (admin only) + UpdateSpotMarket(ctx context.Context, in *MsgUpdateSpotMarket, opts ...grpc.CallOption) (*MsgUpdateSpotMarketResponse, error) + // UpdateDerivativeMarket modifies certain derivative market fields (admin + // only) + UpdateDerivativeMarket(ctx context.Context, in *MsgUpdateDerivativeMarket, opts ...grpc.CallOption) (*MsgUpdateDerivativeMarketResponse, error) + AuthorizeStakeGrants(ctx context.Context, in *MsgAuthorizeStakeGrants, opts ...grpc.CallOption) (*MsgAuthorizeStakeGrantsResponse, error) + ActivateStakeGrant(ctx context.Context, in *MsgActivateStakeGrant, opts ...grpc.CallOption) (*MsgActivateStakeGrantResponse, error) } type msgClient struct { @@ -3729,6 +4276,15 @@ func (c *msgClient) IncreasePositionMargin(ctx context.Context, in *MsgIncreaseP return out, nil } +func (c *msgClient) DecreasePositionMargin(ctx context.Context, in *MsgDecreasePositionMargin, opts ...grpc.CallOption) (*MsgDecreasePositionMarginResponse, error) { + out := new(MsgDecreasePositionMarginResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Msg/DecreasePositionMargin", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *msgClient) RewardsOptOut(ctx context.Context, in *MsgRewardsOptOut, opts ...grpc.CallOption) (*MsgRewardsOptOutResponse, error) { out := new(MsgRewardsOptOutResponse) err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Msg/RewardsOptOut", in, out, opts...) @@ -3747,18 +4303,45 @@ func (c *msgClient) AdminUpdateBinaryOptionsMarket(ctx context.Context, in *MsgA return out, nil } -func (c *msgClient) ReclaimLockedFunds(ctx context.Context, in *MsgReclaimLockedFunds, opts ...grpc.CallOption) (*MsgReclaimLockedFundsResponse, error) { - out := new(MsgReclaimLockedFundsResponse) - err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Msg/ReclaimLockedFunds", in, out, opts...) +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 +} + +func (c *msgClient) UpdateSpotMarket(ctx context.Context, in *MsgUpdateSpotMarket, opts ...grpc.CallOption) (*MsgUpdateSpotMarketResponse, error) { + out := new(MsgUpdateSpotMarketResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Msg/UpdateSpotMarket", in, out, opts...) if err != nil { return nil, err } 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...) +func (c *msgClient) UpdateDerivativeMarket(ctx context.Context, in *MsgUpdateDerivativeMarket, opts ...grpc.CallOption) (*MsgUpdateDerivativeMarketResponse, error) { + out := new(MsgUpdateDerivativeMarketResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Msg/UpdateDerivativeMarket", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) AuthorizeStakeGrants(ctx context.Context, in *MsgAuthorizeStakeGrants, opts ...grpc.CallOption) (*MsgAuthorizeStakeGrantsResponse, error) { + out := new(MsgAuthorizeStakeGrantsResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Msg/AuthorizeStakeGrants", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) ActivateStakeGrant(ctx context.Context, in *MsgActivateStakeGrant, opts ...grpc.CallOption) (*MsgActivateStakeGrantResponse, error) { + out := new(MsgActivateStakeGrantResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Msg/ActivateStakeGrant", in, out, opts...) if err != nil { return nil, err } @@ -3840,14 +4423,21 @@ type MsgServer interface { EmergencySettleMarket(context.Context, *MsgEmergencySettleMarket) (*MsgEmergencySettleMarketResponse, error) // IncreasePositionMargin defines a method for increasing margin of a position IncreasePositionMargin(context.Context, *MsgIncreasePositionMargin) (*MsgIncreasePositionMarginResponse, error) + // DecreasePositionMargin defines a method for decreasing margin of a position + DecreasePositionMargin(context.Context, *MsgDecreasePositionMargin) (*MsgDecreasePositionMarginResponse, 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(context.Context, *MsgAdminUpdateBinaryOptionsMarket) (*MsgAdminUpdateBinaryOptionsMarketResponse, error) - // - ReclaimLockedFunds(context.Context, *MsgReclaimLockedFunds) (*MsgReclaimLockedFundsResponse, error) UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + // UpdateSpotMarket modifies certain spot market fields (admin only) + UpdateSpotMarket(context.Context, *MsgUpdateSpotMarket) (*MsgUpdateSpotMarketResponse, error) + // UpdateDerivativeMarket modifies certain derivative market fields (admin + // only) + UpdateDerivativeMarket(context.Context, *MsgUpdateDerivativeMarket) (*MsgUpdateDerivativeMarketResponse, error) + AuthorizeStakeGrants(context.Context, *MsgAuthorizeStakeGrants) (*MsgAuthorizeStakeGrantsResponse, error) + ActivateStakeGrant(context.Context, *MsgActivateStakeGrant) (*MsgActivateStakeGrantResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -3935,18 +4525,30 @@ func (*UnimplementedMsgServer) EmergencySettleMarket(ctx context.Context, req *M func (*UnimplementedMsgServer) IncreasePositionMargin(ctx context.Context, req *MsgIncreasePositionMargin) (*MsgIncreasePositionMarginResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method IncreasePositionMargin not implemented") } +func (*UnimplementedMsgServer) DecreasePositionMargin(ctx context.Context, req *MsgDecreasePositionMargin) (*MsgDecreasePositionMarginResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DecreasePositionMargin not implemented") +} func (*UnimplementedMsgServer) RewardsOptOut(ctx context.Context, req *MsgRewardsOptOut) (*MsgRewardsOptOutResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RewardsOptOut not implemented") } func (*UnimplementedMsgServer) AdminUpdateBinaryOptionsMarket(ctx context.Context, req *MsgAdminUpdateBinaryOptionsMarket) (*MsgAdminUpdateBinaryOptionsMarketResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AdminUpdateBinaryOptionsMarket not implemented") } -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 (*UnimplementedMsgServer) UpdateSpotMarket(ctx context.Context, req *MsgUpdateSpotMarket) (*MsgUpdateSpotMarketResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateSpotMarket not implemented") +} +func (*UnimplementedMsgServer) UpdateDerivativeMarket(ctx context.Context, req *MsgUpdateDerivativeMarket) (*MsgUpdateDerivativeMarketResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateDerivativeMarket not implemented") +} +func (*UnimplementedMsgServer) AuthorizeStakeGrants(ctx context.Context, req *MsgAuthorizeStakeGrants) (*MsgAuthorizeStakeGrantsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AuthorizeStakeGrants not implemented") +} +func (*UnimplementedMsgServer) ActivateStakeGrant(ctx context.Context, req *MsgActivateStakeGrant) (*MsgActivateStakeGrantResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ActivateStakeGrant not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -4438,13 +5040,31 @@ func _Msg_IncreasePositionMargin_Handler(srv interface{}, ctx context.Context, d return interceptor(ctx, in, info, handler) } -func _Msg_RewardsOptOut_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgRewardsOptOut) +func _Msg_DecreasePositionMargin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgDecreasePositionMargin) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).RewardsOptOut(ctx, in) + return srv.(MsgServer).DecreasePositionMargin(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.exchange.v1beta1.Msg/DecreasePositionMargin", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).DecreasePositionMargin(ctx, req.(*MsgDecreasePositionMargin)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_RewardsOptOut_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRewardsOptOut) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).RewardsOptOut(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, @@ -4474,38 +5094,92 @@ func _Msg_AdminUpdateBinaryOptionsMarket_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } -func _Msg_ReclaimLockedFunds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgReclaimLockedFunds) +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).ReclaimLockedFunds(ctx, in) + return srv.(MsgServer).UpdateParams(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/injective.exchange.v1beta1.Msg/ReclaimLockedFunds", + FullMethod: "/injective.exchange.v1beta1.Msg/UpdateParams", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).ReclaimLockedFunds(ctx, req.(*MsgReclaimLockedFunds)) + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) } 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) +func _Msg_UpdateSpotMarket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateSpotMarket) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).UpdateParams(ctx, in) + return srv.(MsgServer).UpdateSpotMarket(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/injective.exchange.v1beta1.Msg/UpdateParams", + FullMethod: "/injective.exchange.v1beta1.Msg/UpdateSpotMarket", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + return srv.(MsgServer).UpdateSpotMarket(ctx, req.(*MsgUpdateSpotMarket)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_UpdateDerivativeMarket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateDerivativeMarket) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateDerivativeMarket(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.exchange.v1beta1.Msg/UpdateDerivativeMarket", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateDerivativeMarket(ctx, req.(*MsgUpdateDerivativeMarket)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_AuthorizeStakeGrants_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgAuthorizeStakeGrants) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).AuthorizeStakeGrants(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.exchange.v1beta1.Msg/AuthorizeStakeGrants", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).AuthorizeStakeGrants(ctx, req.(*MsgAuthorizeStakeGrants)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_ActivateStakeGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgActivateStakeGrant) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ActivateStakeGrant(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.exchange.v1beta1.Msg/ActivateStakeGrant", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ActivateStakeGrant(ctx, req.(*MsgActivateStakeGrant)) } return interceptor(ctx, in, info, handler) } @@ -4622,6 +5296,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "IncreasePositionMargin", Handler: _Msg_IncreasePositionMargin_Handler, }, + { + MethodName: "DecreasePositionMargin", + Handler: _Msg_DecreasePositionMargin_Handler, + }, { MethodName: "RewardsOptOut", Handler: _Msg_RewardsOptOut_Handler, @@ -4630,19 +5308,245 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "AdminUpdateBinaryOptionsMarket", Handler: _Msg_AdminUpdateBinaryOptionsMarket_Handler, }, - { - MethodName: "ReclaimLockedFunds", - Handler: _Msg_ReclaimLockedFunds_Handler, - }, { MethodName: "UpdateParams", Handler: _Msg_UpdateParams_Handler, }, + { + MethodName: "UpdateSpotMarket", + Handler: _Msg_UpdateSpotMarket_Handler, + }, + { + MethodName: "UpdateDerivativeMarket", + Handler: _Msg_UpdateDerivativeMarket_Handler, + }, + { + MethodName: "AuthorizeStakeGrants", + Handler: _Msg_AuthorizeStakeGrants_Handler, + }, + { + MethodName: "ActivateStakeGrant", + Handler: _Msg_ActivateStakeGrant_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "injective/exchange/v1beta1/tx.proto", } +func (m *MsgUpdateSpotMarket) 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 *MsgUpdateSpotMarket) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateSpotMarket) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size := m.NewMinNotional.Size() + i -= size + if _, err := m.NewMinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + { + size := m.NewMinQuantityTickSize.Size() + i -= size + if _, err := m.NewMinQuantityTickSize.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + { + size := m.NewMinPriceTickSize.Size() + i -= size + if _, err := m.NewMinPriceTickSize.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + if len(m.NewTicker) > 0 { + i -= len(m.NewTicker) + copy(dAtA[i:], m.NewTicker) + i = encodeVarintTx(dAtA, i, uint64(len(m.NewTicker))) + i-- + dAtA[i] = 0x1a + } + if len(m.MarketId) > 0 { + i -= len(m.MarketId) + copy(dAtA[i:], m.MarketId) + i = encodeVarintTx(dAtA, i, uint64(len(m.MarketId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Admin) > 0 { + i -= len(m.Admin) + copy(dAtA[i:], m.Admin) + i = encodeVarintTx(dAtA, i, uint64(len(m.Admin))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateSpotMarketResponse) 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 *MsgUpdateSpotMarketResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateSpotMarketResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgUpdateDerivativeMarket) 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 *MsgUpdateDerivativeMarket) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateDerivativeMarket) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size := m.NewMaintenanceMarginRatio.Size() + i -= size + if _, err := m.NewMaintenanceMarginRatio.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 + { + size := m.NewInitialMarginRatio.Size() + i -= size + if _, err := m.NewInitialMarginRatio.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x3a + { + size := m.NewMinNotional.Size() + i -= size + if _, err := m.NewMinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + { + size := m.NewMinQuantityTickSize.Size() + i -= size + if _, err := m.NewMinQuantityTickSize.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + { + size := m.NewMinPriceTickSize.Size() + i -= size + if _, err := m.NewMinPriceTickSize.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + if len(m.NewTicker) > 0 { + i -= len(m.NewTicker) + copy(dAtA[i:], m.NewTicker) + i = encodeVarintTx(dAtA, i, uint64(len(m.NewTicker))) + i-- + dAtA[i] = 0x1a + } + if len(m.MarketId) > 0 { + i -= len(m.MarketId) + copy(dAtA[i:], m.MarketId) + i = encodeVarintTx(dAtA, i, uint64(len(m.MarketId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Admin) > 0 { + i -= len(m.Admin) + copy(dAtA[i:], m.Admin) + i = encodeVarintTx(dAtA, i, uint64(len(m.Admin))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateDerivativeMarketResponse) 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 *MsgUpdateDerivativeMarketResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateDerivativeMarketResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -4906,7 +5810,14 @@ func (m *MsgCreateSpotLimitOrderResponse) MarshalToSizedBuffer(dAtA []byte) (int _ = i var l int _ = l - if len(m.OrderHash) > 0 { + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintTx(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x12 + } + if len(m.OrderHash) > 0 { i -= len(m.OrderHash) copy(dAtA[i:], m.OrderHash) i = encodeVarintTx(dAtA, i, uint64(len(m.OrderHash))) @@ -4980,6 +5891,24 @@ func (m *MsgBatchCreateSpotLimitOrdersResponse) MarshalToSizedBuffer(dAtA []byte _ = i var l int _ = l + if len(m.FailedOrdersCids) > 0 { + for iNdEx := len(m.FailedOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.FailedOrdersCids[iNdEx]) + copy(dAtA[i:], m.FailedOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.FailedOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if len(m.CreatedOrdersCids) > 0 { + for iNdEx := len(m.CreatedOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.CreatedOrdersCids[iNdEx]) + copy(dAtA[i:], m.CreatedOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.CreatedOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } if len(m.OrderHashes) > 0 { for iNdEx := len(m.OrderHashes) - 1; iNdEx >= 0; iNdEx-- { i -= len(m.OrderHashes[iNdEx]) @@ -5012,6 +5941,16 @@ func (m *MsgInstantSpotMarketLaunch) MarshalToSizedBuffer(dAtA []byte) (int, err _ = i var l int _ = l + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x3a { size := m.MinQuantityTickSize.Size() i -= size @@ -5106,6 +6045,16 @@ func (m *MsgInstantPerpetualMarketLaunch) MarshalToSizedBuffer(dAtA []byte) (int _ = i var l int _ = l + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x72 { size := m.MinQuantityTickSize.Size() i -= size @@ -5257,6 +6206,16 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) MarshalToSizedBuffer(dAtA []byte) _ = i var l int _ = l + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x7a { size := m.MinQuantityTickSize.Size() i -= size @@ -5405,6 +6364,16 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) MarshalToSizedBuffer(dAtA []byte) _ = i var l int _ = l + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x7a { size := m.MinQuantityTickSize.Size() i -= size @@ -5601,6 +6570,13 @@ func (m *MsgCreateSpotMarketOrderResponse) MarshalToSizedBuffer(dAtA []byte) (in _ = i var l int _ = l + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintTx(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x1a + } if m.Results != nil { { size, err := m.Results.MarshalToSizedBuffer(dAtA[:i]) @@ -5736,6 +6712,13 @@ func (m *MsgCreateDerivativeLimitOrderResponse) MarshalToSizedBuffer(dAtA []byte _ = i var l int _ = l + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintTx(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x12 + } if len(m.OrderHash) > 0 { i -= len(m.OrderHash) copy(dAtA[i:], m.OrderHash) @@ -5806,6 +6789,13 @@ func (m *MsgCreateBinaryOptionsLimitOrderResponse) MarshalToSizedBuffer(dAtA []b _ = i var l int _ = l + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintTx(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x12 + } if len(m.OrderHash) > 0 { i -= len(m.OrderHash) copy(dAtA[i:], m.OrderHash) @@ -5880,6 +6870,24 @@ func (m *MsgBatchCreateDerivativeLimitOrdersResponse) MarshalToSizedBuffer(dAtA _ = i var l int _ = l + if len(m.FailedOrdersCids) > 0 { + for iNdEx := len(m.FailedOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.FailedOrdersCids[iNdEx]) + copy(dAtA[i:], m.FailedOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.FailedOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if len(m.CreatedOrdersCids) > 0 { + for iNdEx := len(m.CreatedOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.CreatedOrdersCids[iNdEx]) + copy(dAtA[i:], m.CreatedOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.CreatedOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } if len(m.OrderHashes) > 0 { for iNdEx := len(m.OrderHashes) - 1; iNdEx >= 0; iNdEx-- { i -= len(m.OrderHashes[iNdEx]) @@ -6301,6 +7309,60 @@ func (m *MsgBatchUpdateOrdersResponse) MarshalToSizedBuffer(dAtA []byte) (int, e _ = i var l int _ = l + if len(m.FailedBinaryOptionsOrdersCids) > 0 { + for iNdEx := len(m.FailedBinaryOptionsOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.FailedBinaryOptionsOrdersCids[iNdEx]) + copy(dAtA[i:], m.FailedBinaryOptionsOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.FailedBinaryOptionsOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x62 + } + } + if len(m.CreatedBinaryOptionsOrdersCids) > 0 { + for iNdEx := len(m.CreatedBinaryOptionsOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.CreatedBinaryOptionsOrdersCids[iNdEx]) + copy(dAtA[i:], m.CreatedBinaryOptionsOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.CreatedBinaryOptionsOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x5a + } + } + if len(m.FailedDerivativeOrdersCids) > 0 { + for iNdEx := len(m.FailedDerivativeOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.FailedDerivativeOrdersCids[iNdEx]) + copy(dAtA[i:], m.FailedDerivativeOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.FailedDerivativeOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x52 + } + } + if len(m.CreatedDerivativeOrdersCids) > 0 { + for iNdEx := len(m.CreatedDerivativeOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.CreatedDerivativeOrdersCids[iNdEx]) + copy(dAtA[i:], m.CreatedDerivativeOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.CreatedDerivativeOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x4a + } + } + if len(m.FailedSpotOrdersCids) > 0 { + for iNdEx := len(m.FailedSpotOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.FailedSpotOrdersCids[iNdEx]) + copy(dAtA[i:], m.FailedSpotOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.FailedSpotOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x42 + } + } + if len(m.CreatedSpotOrdersCids) > 0 { + for iNdEx := len(m.CreatedSpotOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.CreatedSpotOrdersCids[iNdEx]) + copy(dAtA[i:], m.CreatedSpotOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.CreatedSpotOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x3a + } + } if len(m.BinaryOptionsOrderHashes) > 0 { for iNdEx := len(m.BinaryOptionsOrderHashes) - 1; iNdEx >= 0; iNdEx-- { i -= len(m.BinaryOptionsOrderHashes[iNdEx]) @@ -6430,6 +7492,13 @@ func (m *MsgCreateDerivativeMarketOrderResponse) MarshalToSizedBuffer(dAtA []byt _ = i var l int _ = l + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintTx(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x1a + } if m.Results != nil { { size, err := m.Results.MarshalToSizedBuffer(dAtA[:i]) @@ -6585,6 +7654,13 @@ func (m *MsgCreateBinaryOptionsMarketOrderResponse) MarshalToSizedBuffer(dAtA [] _ = i var l int _ = l + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintTx(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x1a + } if m.Results != nil { { size, err := m.Results.MarshalToSizedBuffer(dAtA[:i]) @@ -7299,6 +8375,90 @@ func (m *MsgIncreasePositionMarginResponse) MarshalToSizedBuffer(dAtA []byte) (i return len(dAtA) - i, nil } +func (m *MsgDecreasePositionMargin) 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 *MsgDecreasePositionMargin) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgDecreasePositionMargin) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size := m.Amount.Size() + i -= size + if _, err := m.Amount.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + if len(m.MarketId) > 0 { + i -= len(m.MarketId) + copy(dAtA[i:], m.MarketId) + i = encodeVarintTx(dAtA, i, uint64(len(m.MarketId))) + i-- + dAtA[i] = 0x22 + } + if len(m.DestinationSubaccountId) > 0 { + i -= len(m.DestinationSubaccountId) + copy(dAtA[i:], m.DestinationSubaccountId) + i = encodeVarintTx(dAtA, i, uint64(len(m.DestinationSubaccountId))) + i-- + dAtA[i] = 0x1a + } + if len(m.SourceSubaccountId) > 0 { + i -= len(m.SourceSubaccountId) + copy(dAtA[i:], m.SourceSubaccountId) + i = encodeVarintTx(dAtA, i, uint64(len(m.SourceSubaccountId))) + 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 *MsgDecreasePositionMarginResponse) 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 *MsgDecreasePositionMarginResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgDecreasePositionMarginResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func (m *MsgPrivilegedExecuteContract) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -7671,45 +8831,248 @@ func (m *MsgAdminUpdateBinaryOptionsMarketResponse) MarshalToSizedBuffer(dAtA [] 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++ +func (m *MsgAuthorizeStakeGrants) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - dAtA[offset] = uint8(v) - return base + return dAtA[:n], nil } -func (m *MsgUpdateParams) Size() (n int) { - if m == nil { - return 0 - } + +func (m *MsgAuthorizeStakeGrants) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgAuthorizeStakeGrants) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Authority) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Grants) > 0 { + for iNdEx := len(m.Grants) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Grants[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } } - l = m.Params.Size() - n += 1 + l + sovTx(uint64(l)) - return n + 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 *MsgUpdateParamsResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgAuthorizeStakeGrantsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgDeposit) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgAuthorizeStakeGrantsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgAuthorizeStakeGrantsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgActivateStakeGrant) 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 *MsgActivateStakeGrant) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgActivateStakeGrant) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Granter) > 0 { + i -= len(m.Granter) + copy(dAtA[i:], m.Granter) + i = encodeVarintTx(dAtA, i, uint64(len(m.Granter))) + 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 *MsgActivateStakeGrantResponse) 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 *MsgActivateStakeGrantResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgActivateStakeGrantResponse) 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 + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *MsgUpdateSpotMarket) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Admin) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.MarketId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.NewTicker) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.NewMinPriceTickSize.Size() + n += 1 + l + sovTx(uint64(l)) + l = m.NewMinQuantityTickSize.Size() + n += 1 + l + sovTx(uint64(l)) + l = m.NewMinNotional.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateSpotMarketResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgUpdateDerivativeMarket) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Admin) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.MarketId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.NewTicker) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.NewMinPriceTickSize.Size() + n += 1 + l + sovTx(uint64(l)) + l = m.NewMinQuantityTickSize.Size() + n += 1 + l + sovTx(uint64(l)) + l = m.NewMinNotional.Size() + n += 1 + l + sovTx(uint64(l)) + l = m.NewInitialMarginRatio.Size() + n += 1 + l + sovTx(uint64(l)) + l = m.NewMaintenanceMarginRatio.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateDerivativeMarketResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + 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 (m *MsgDeposit) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Sender) @@ -7787,6 +9150,10 @@ func (m *MsgCreateSpotLimitOrderResponse) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } @@ -7821,6 +9188,18 @@ func (m *MsgBatchCreateSpotLimitOrdersResponse) Size() (n int) { n += 1 + l + sovTx(uint64(l)) } } + if len(m.CreatedOrdersCids) > 0 { + for _, s := range m.CreatedOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + if len(m.FailedOrdersCids) > 0 { + for _, s := range m.FailedOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } return n } @@ -7850,6 +9229,8 @@ func (m *MsgInstantSpotMarketLaunch) Size() (n int) { n += 1 + l + sovTx(uint64(l)) l = m.MinQuantityTickSize.Size() n += 1 + l + sovTx(uint64(l)) + l = m.MinNotional.Size() + n += 1 + l + sovTx(uint64(l)) return n } @@ -7906,6 +9287,8 @@ func (m *MsgInstantPerpetualMarketLaunch) Size() (n int) { n += 1 + l + sovTx(uint64(l)) l = m.MinQuantityTickSize.Size() n += 1 + l + sovTx(uint64(l)) + l = m.MinNotional.Size() + n += 1 + l + sovTx(uint64(l)) return n } @@ -7968,6 +9351,8 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) Size() (n int) { n += 1 + l + sovTx(uint64(l)) l = m.MinQuantityTickSize.Size() n += 1 + l + sovTx(uint64(l)) + l = m.MinNotional.Size() + n += 1 + l + sovTx(uint64(l)) return n } @@ -8027,6 +9412,8 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Size() (n int) { n += 1 + l + sovTx(uint64(l)) l = m.MinQuantityTickSize.Size() n += 1 + l + sovTx(uint64(l)) + l = m.MinNotional.Size() + n += 1 + l + sovTx(uint64(l)) return n } @@ -8068,6 +9455,10 @@ func (m *MsgCreateSpotMarketOrderResponse) Size() (n int) { l = m.Results.Size() n += 1 + l + sovTx(uint64(l)) } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } @@ -8111,6 +9502,10 @@ func (m *MsgCreateDerivativeLimitOrderResponse) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } @@ -8139,6 +9534,10 @@ func (m *MsgCreateBinaryOptionsLimitOrderResponse) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } @@ -8173,6 +9572,18 @@ func (m *MsgBatchCreateDerivativeLimitOrdersResponse) Size() (n int) { n += 1 + l + sovTx(uint64(l)) } } + if len(m.CreatedOrdersCids) > 0 { + for _, s := range m.CreatedOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + if len(m.FailedOrdersCids) > 0 { + for _, s := range m.FailedOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } return n } @@ -8380,6 +9791,42 @@ func (m *MsgBatchUpdateOrdersResponse) Size() (n int) { n += 1 + l + sovTx(uint64(l)) } } + if len(m.CreatedSpotOrdersCids) > 0 { + for _, s := range m.CreatedSpotOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + if len(m.FailedSpotOrdersCids) > 0 { + for _, s := range m.FailedSpotOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + if len(m.CreatedDerivativeOrdersCids) > 0 { + for _, s := range m.CreatedDerivativeOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + if len(m.FailedDerivativeOrdersCids) > 0 { + for _, s := range m.FailedDerivativeOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + if len(m.CreatedBinaryOptionsOrdersCids) > 0 { + for _, s := range m.CreatedBinaryOptionsOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + if len(m.FailedBinaryOptionsOrdersCids) > 0 { + for _, s := range m.FailedBinaryOptionsOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } return n } @@ -8412,6 +9859,10 @@ func (m *MsgCreateDerivativeMarketOrderResponse) Size() (n int) { l = m.Results.Size() n += 1 + l + sovTx(uint64(l)) } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } @@ -8463,6 +9914,10 @@ func (m *MsgCreateBinaryOptionsMarketOrderResponse) Size() (n int) { l = m.Results.Size() n += 1 + l + sovTx(uint64(l)) } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } @@ -8771,7 +10226,7 @@ func (m *MsgIncreasePositionMarginResponse) Size() (n int) { return n } -func (m *MsgPrivilegedExecuteContract) Size() (n int) { +func (m *MsgDecreasePositionMargin) Size() (n int) { if m == nil { return 0 } @@ -8781,37 +10236,33 @@ func (m *MsgPrivilegedExecuteContract) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Funds) + l = len(m.SourceSubaccountId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.ContractAddress) + l = len(m.DestinationSubaccountId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Data) + l = len(m.MarketId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } + l = m.Amount.Size() + n += 1 + l + sovTx(uint64(l)) return n } -func (m *MsgPrivilegedExecuteContractResponse) Size() (n int) { +func (m *MsgDecreasePositionMarginResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.FundsDiff) > 0 { - for _, e := range m.FundsDiff { - l = e.Size() - n += 1 + l + sovTx(uint64(l)) - } - } return n } -func (m *MsgRewardsOptOut) Size() (n int) { +func (m *MsgPrivilegedExecuteContract) Size() (n int) { if m == nil { return 0 } @@ -8821,14 +10272,54 @@ func (m *MsgRewardsOptOut) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - return n -} - -func (m *MsgRewardsOptOutResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int + l = len(m.Funds) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ContractAddress) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Data) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgPrivilegedExecuteContractResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.FundsDiff) > 0 { + for _, e := range m.FundsDiff { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgRewardsOptOut) 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)) + } + return n +} + +func (m *MsgRewardsOptOutResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int _ = l return n } @@ -8934,13 +10425,67 @@ func (m *MsgAdminUpdateBinaryOptionsMarketResponse) Size() (n int) { return n } +func (m *MsgAuthorizeStakeGrants) 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)) + } + if len(m.Grants) > 0 { + for _, e := range m.Grants { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgAuthorizeStakeGrantsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgActivateStakeGrant) 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 = len(m.Granter) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgActivateStakeGrantResponse) 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 *MsgUpdateParams) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateSpotMarket) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8963,15 +10508,15 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateSpotMarket: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateSpotMarket: 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) + return fmt.Errorf("proto: wrong wireType = %d for field Admin", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -8999,13 +10544,13 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Authority = string(dAtA[iNdEx:postIndex]) + m.Admin = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Params", 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 ErrIntOverflowTx @@ -9015,22 +10560,155 @@ func (m *MsgUpdateParams) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.MarketId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewTicker", 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.NewTicker = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewMinPriceTickSize", 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 + } + if err := m.NewMinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewMinQuantityTickSize", 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 + } + if err := m.NewMinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewMinNotional", 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 + } + if err := m.NewMinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -9055,7 +10733,7 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateSpotMarketResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9078,10 +10756,10 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateSpotMarketResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateSpotMarketResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -9105,7 +10783,7 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgDeposit) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateDerivativeMarket) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9128,15 +10806,15 @@ func (m *MsgDeposit) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgDeposit: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateDerivativeMarket: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgDeposit: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateDerivativeMarket: 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) + return fmt.Errorf("proto: wrong wireType = %d for field Admin", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9164,11 +10842,11 @@ func (m *MsgDeposit) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + m.Admin = string(dAtA[iNdEx:postIndex]) 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 MarketId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9196,13 +10874,13 @@ func (m *MsgDeposit) 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 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NewTicker", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -9212,128 +10890,95 @@ func (m *MsgDeposit) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.NewTicker = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewMinPriceTickSize", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx + 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 + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgDepositResponse) 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 + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx } - if iNdEx >= l { + if postIndex > 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: MsgDepositResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgDepositResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { + if err := m.NewMinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewMinQuantityTickSize", wireType) } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + 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 + } } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgWithdraw) 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 + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx } - if iNdEx >= l { + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if err := m.NewMinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgWithdraw: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgWithdraw: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NewMinNotional", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9361,11 +11006,13 @@ func (m *MsgWithdraw) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + if err := m.NewMinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 2: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NewInitialMarginRatio", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9393,13 +11040,15 @@ func (m *MsgWithdraw) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SubaccountId = string(dAtA[iNdEx:postIndex]) + if err := m.NewInitialMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 3: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NewMaintenanceMarginRatio", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -9409,22 +11058,23 @@ func (m *MsgWithdraw) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.NewMaintenanceMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -9449,7 +11099,7 @@ func (m *MsgWithdraw) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgWithdrawResponse) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateDerivativeMarketResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9472,10 +11122,10 @@ func (m *MsgWithdrawResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgWithdrawResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateDerivativeMarketResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgWithdrawResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateDerivativeMarketResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -9499,7 +11149,7 @@ func (m *MsgWithdrawResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateSpotLimitOrder) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9522,15 +11172,15 @@ func (m *MsgCreateSpotLimitOrder) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateSpotLimitOrder: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateSpotLimitOrder: illegal tag %d (wire type %d)", fieldNum, wire) + 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 Sender", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9558,11 +11208,11 @@ func (m *MsgCreateSpotLimitOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + m.Authority = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -9589,7 +11239,7 @@ func (m *MsgCreateSpotLimitOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -9614,7 +11264,7 @@ func (m *MsgCreateSpotLimitOrder) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateSpotLimitOrderResponse) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9637,44 +11287,12 @@ func (m *MsgCreateSpotLimitOrderResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateSpotLimitOrderResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateSpotLimitOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", 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.OrderHash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -9696,7 +11314,7 @@ func (m *MsgCreateSpotLimitOrderResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBatchCreateSpotLimitOrders) Unmarshal(dAtA []byte) error { +func (m *MsgDeposit) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9719,10 +11337,10 @@ func (m *MsgBatchCreateSpotLimitOrders) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCreateSpotLimitOrders: wiretype end group for non-group") + return fmt.Errorf("proto: MsgDeposit: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCreateSpotLimitOrders: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgDeposit: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9759,9 +11377,9 @@ func (m *MsgBatchCreateSpotLimitOrders) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Orders", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -9771,31 +11389,62 @@ func (m *MsgBatchCreateSpotLimitOrders) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Orders = append(m.Orders, SpotOrder{}) - if err := m.Orders[len(m.Orders)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.SubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", 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.Amount.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 @@ -9812,7 +11461,7 @@ func (m *MsgBatchCreateSpotLimitOrders) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBatchCreateSpotLimitOrdersResponse) Unmarshal(dAtA []byte) error { +func (m *MsgDepositResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9835,44 +11484,12 @@ func (m *MsgBatchCreateSpotLimitOrdersResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCreateSpotLimitOrdersResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgDepositResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCreateSpotLimitOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgDepositResponse: 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) - } - 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.OrderHashes = append(m.OrderHashes, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -9894,7 +11511,7 @@ func (m *MsgBatchCreateSpotLimitOrdersResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgInstantSpotMarketLaunch) Unmarshal(dAtA []byte) error { +func (m *MsgWithdraw) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9917,10 +11534,10 @@ func (m *MsgInstantSpotMarketLaunch) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgInstantSpotMarketLaunch: wiretype end group for non-group") + return fmt.Errorf("proto: MsgWithdraw: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgInstantSpotMarketLaunch: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgWithdraw: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9957,7 +11574,7 @@ func (m *MsgInstantSpotMarketLaunch) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Ticker", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9985,111 +11602,13 @@ func (m *MsgInstantSpotMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Ticker = string(dAtA[iNdEx:postIndex]) + m.SubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BaseDenom", 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.BaseDenom = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field QuoteDenom", 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.QuoteDenom = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MinPriceTickSize", 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 - } - if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MinQuantityTickSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10099,23 +11618,22 @@ func (m *MsgInstantSpotMarketLaunch) 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 ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -10140,7 +11658,7 @@ func (m *MsgInstantSpotMarketLaunch) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgInstantSpotMarketLaunchResponse) Unmarshal(dAtA []byte) error { +func (m *MsgWithdrawResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10163,10 +11681,10 @@ func (m *MsgInstantSpotMarketLaunchResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgInstantSpotMarketLaunchResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgWithdrawResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgInstantSpotMarketLaunchResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgWithdrawResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -10190,7 +11708,7 @@ func (m *MsgInstantSpotMarketLaunchResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { +func (m *MsgCreateSpotLimitOrder) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10213,10 +11731,10 @@ func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgInstantPerpetualMarketLaunch: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCreateSpotLimitOrder: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgInstantPerpetualMarketLaunch: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCreateSpotLimitOrder: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10253,9 +11771,9 @@ func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Ticker", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10265,59 +11783,78 @@ func (m *MsgInstantPerpetualMarketLaunch) 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 ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Ticker = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field QuoteDenom", 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 - } + if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + intStringLen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthTx } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.QuoteDenom = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCreateSpotLimitOrderResponse) 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: MsgCreateSpotLimitOrderResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateSpotLimitOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleBase", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10345,11 +11882,11 @@ func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OracleBase = string(dAtA[iNdEx:postIndex]) + m.OrderHash = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleQuote", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10377,49 +11914,61 @@ func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OracleQuote = string(dAtA[iNdEx:postIndex]) + m.Cid = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleScaleFactor", wireType) + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err } - m.OracleScaleFactor = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.OracleScaleFactor |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx } - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleType", wireType) + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF } - m.OracleType = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.OracleType |= types1.OracleType(b&0x7F) << shift - if b < 0x80 { - break - } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgBatchCreateSpotLimitOrders) 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 } - case 8: + 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: MsgBatchCreateSpotLimitOrders: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBatchCreateSpotLimitOrders: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MakerFeeRate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10447,15 +11996,13 @@ func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Sender = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 9: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TakerFeeRate", 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 ErrIntOverflowTx @@ -10465,63 +12012,79 @@ func (m *MsgInstantPerpetualMarketLaunch) 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 ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Orders = append(m.Orders, SpotOrder{}) + if err := m.Orders[len(m.Orders)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field InitialMarginRatio", 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 - } + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err } - intStringLen := int(stringLen) - if intStringLen < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF } - if postIndex > l { + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgBatchCreateSpotLimitOrdersResponse) 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 } - if err := m.InitialMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - iNdEx = postIndex - case 11: + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgBatchCreateSpotLimitOrdersResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBatchCreateSpotLimitOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MaintenanceMarginRatio", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OrderHashes", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10549,13 +12112,11 @@ func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MaintenanceMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.OrderHashes = append(m.OrderHashes, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 12: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MinPriceTickSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CreatedOrdersCids", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10583,13 +12144,11 @@ func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.CreatedOrdersCids = append(m.CreatedOrdersCids, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 13: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MinQuantityTickSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FailedOrdersCids", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10617,9 +12176,7 @@ func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.FailedOrdersCids = append(m.FailedOrdersCids, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex default: iNdEx = preIndex @@ -10642,7 +12199,7 @@ func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgInstantPerpetualMarketLaunchResponse) Unmarshal(dAtA []byte) error { +func (m *MsgInstantSpotMarketLaunch) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10665,60 +12222,10 @@ func (m *MsgInstantPerpetualMarketLaunchResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgInstantPerpetualMarketLaunchResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgInstantSpotMarketLaunch: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgInstantPerpetualMarketLaunchResponse: 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 *MsgInstantBinaryOptionsMarketLaunch) 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: MsgInstantBinaryOptionsMarketLaunch: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgInstantBinaryOptionsMarketLaunch: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgInstantSpotMarketLaunch: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10787,7 +12294,7 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleSymbol", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BaseDenom", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10815,11 +12322,11 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OracleSymbol = string(dAtA[iNdEx:postIndex]) + m.BaseDenom = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleProvider", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field QuoteDenom", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10847,83 +12354,11 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OracleProvider = string(dAtA[iNdEx:postIndex]) + m.QuoteDenom = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleType", wireType) - } - m.OracleType = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.OracleType |= types1.OracleType(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleScaleFactor", wireType) - } - m.OracleScaleFactor = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.OracleScaleFactor |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MakerFeeRate", 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 - } - if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TakerFeeRate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MinPriceTickSize", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10951,115 +12386,13 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 9: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ExpirationTimestamp", wireType) - } - m.ExpirationTimestamp = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ExpirationTimestamp |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 10: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SettlementTimestamp", wireType) - } - m.SettlementTimestamp = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.SettlementTimestamp |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Admin", 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.Admin = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 12: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field QuoteDenom", 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.QuoteDenom = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 13: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MinPriceTickSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MinQuantityTickSize", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11087,13 +12420,13 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 14: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MinQuantityTickSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11121,7 +12454,7 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -11146,7 +12479,7 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgInstantBinaryOptionsMarketLaunchResponse) Unmarshal(dAtA []byte) error { +func (m *MsgInstantSpotMarketLaunchResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11169,10 +12502,10 @@ func (m *MsgInstantBinaryOptionsMarketLaunchResponse) Unmarshal(dAtA []byte) err fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgInstantBinaryOptionsMarketLaunchResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgInstantSpotMarketLaunchResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgInstantBinaryOptionsMarketLaunchResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgInstantSpotMarketLaunchResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -11196,7 +12529,7 @@ func (m *MsgInstantBinaryOptionsMarketLaunchResponse) Unmarshal(dAtA []byte) err } return nil } -func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { +func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11219,10 +12552,10 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgInstantExpiryFuturesMarketLaunch: wiretype end group for non-group") + return fmt.Errorf("proto: MsgInstantPerpetualMarketLaunch: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgInstantExpiryFuturesMarketLaunch: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgInstantPerpetualMarketLaunch: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11387,9 +12720,9 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 6: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleType", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OracleScaleFactor", wireType) } - m.OracleType = 0 + m.OracleScaleFactor = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11399,16 +12732,16 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.OracleType |= types1.OracleType(b&0x7F) << shift + m.OracleScaleFactor |= uint32(b&0x7F) << shift if b < 0x80 { break } } case 7: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleScaleFactor", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OracleType", wireType) } - m.OracleScaleFactor = 0 + m.OracleType = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11418,16 +12751,16 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.OracleScaleFactor |= uint32(b&0x7F) << shift + m.OracleType |= types1.OracleType(b&0x7F) << shift if b < 0x80 { break } } case 8: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Expiry", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MakerFeeRate", wireType) } - m.Expiry = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11437,14 +12770,29 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Expiry |= int64(b&0x7F) << shift + 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 + } + if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MakerFeeRate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TakerFeeRate", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11472,13 +12820,13 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TakerFeeRate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field InitialMarginRatio", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11506,13 +12854,13 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.InitialMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 11: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field InitialMarginRatio", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MaintenanceMarginRatio", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11540,13 +12888,13 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.InitialMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.MaintenanceMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 12: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MaintenanceMarginRatio", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MinPriceTickSize", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11574,13 +12922,13 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MaintenanceMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 13: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MinPriceTickSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MinQuantityTickSize", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11608,13 +12956,13 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 14: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MinQuantityTickSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11642,7 +12990,7 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -11667,7 +13015,7 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgInstantExpiryFuturesMarketLaunchResponse) Unmarshal(dAtA []byte) error { +func (m *MsgInstantPerpetualMarketLaunchResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11690,10 +13038,10 @@ func (m *MsgInstantExpiryFuturesMarketLaunchResponse) Unmarshal(dAtA []byte) err fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgInstantExpiryFuturesMarketLaunchResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgInstantPerpetualMarketLaunchResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgInstantExpiryFuturesMarketLaunchResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgInstantPerpetualMarketLaunchResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -11717,7 +13065,7 @@ func (m *MsgInstantExpiryFuturesMarketLaunchResponse) Unmarshal(dAtA []byte) err } return nil } -func (m *MsgCreateSpotMarketOrder) Unmarshal(dAtA []byte) error { +func (m *MsgInstantBinaryOptionsMarketLaunch) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11740,10 +13088,10 @@ func (m *MsgCreateSpotMarketOrder) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateSpotMarketOrder: wiretype end group for non-group") + return fmt.Errorf("proto: MsgInstantBinaryOptionsMarketLaunch: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateSpotMarketOrder: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgInstantBinaryOptionsMarketLaunch: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11780,9 +13128,9 @@ func (m *MsgCreateSpotMarketOrder) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Ticker", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11792,78 +13140,27 @@ func (m *MsgCreateSpotMarketOrder) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Ticker = string(dAtA[iNdEx:postIndex]) 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 *MsgCreateSpotMarketOrderResponse) 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: MsgCreateSpotMarketOrderResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateSpotMarketOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OracleSymbol", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11891,13 +13188,13 @@ func (m *MsgCreateSpotMarketOrderResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OrderHash = string(dAtA[iNdEx:postIndex]) + m.OracleSymbol = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Results", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OracleProvider", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11907,81 +13204,65 @@ func (m *MsgCreateSpotMarketOrderResponse) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Results == nil { - m.Results = &SpotMarketOrderResults{} - } - if err := m.Results.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.OracleProvider = string(dAtA[iNdEx:postIndex]) 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 + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OracleType", wireType) } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *SpotMarketOrderResults) 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 + m.OracleType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OracleType |= types1.OracleType(b&0x7F) << shift + if b < 0x80 { + break + } } - if iNdEx >= l { - return io.ErrUnexpectedEOF + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OracleScaleFactor", wireType) } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + m.OracleScaleFactor = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OracleScaleFactor |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: SpotMarketOrderResults: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: SpotMarketOrderResults: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Quantity", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MakerFeeRate", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12009,13 +13290,13 @@ func (m *SpotMarketOrderResults) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Quantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TakerFeeRate", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12043,15 +13324,15 @@ func (m *SpotMarketOrderResults) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ExpirationTimestamp", wireType) } - var stringLen uint64 + m.ExpirationTimestamp = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12061,7 +13342,45 @@ func (m *SpotMarketOrderResults) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.ExpirationTimestamp |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SettlementTimestamp", wireType) + } + m.SettlementTimestamp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SettlementTimestamp |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Admin", 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 } @@ -12077,63 +13396,77 @@ func (m *SpotMarketOrderResults) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Admin = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field QuoteDenom", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { + 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 } - if (iNdEx + skippy) > l { + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { return io.ErrUnexpectedEOF } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgCreateDerivativeLimitOrder) 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 + m.QuoteDenom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinPriceTickSize", wireType) } - if iNdEx >= l { + 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 } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgCreateDerivativeLimitOrder: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateDerivativeLimitOrder: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 14: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MinQuantityTickSize", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12161,13 +13494,15 @@ func (m *MsgCreateDerivativeLimitOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 2: + case 15: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12177,22 +13512,23 @@ func (m *MsgCreateDerivativeLimitOrder) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -12217,7 +13553,7 @@ func (m *MsgCreateDerivativeLimitOrder) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateDerivativeLimitOrderResponse) Unmarshal(dAtA []byte) error { +func (m *MsgInstantBinaryOptionsMarketLaunchResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12240,44 +13576,12 @@ func (m *MsgCreateDerivativeLimitOrderResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateDerivativeLimitOrderResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgInstantBinaryOptionsMarketLaunchResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateDerivativeLimitOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgInstantBinaryOptionsMarketLaunchResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", 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.OrderHash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -12299,7 +13603,7 @@ func (m *MsgCreateDerivativeLimitOrderResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateBinaryOptionsLimitOrder) Unmarshal(dAtA []byte) error { +func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12322,10 +13626,10 @@ func (m *MsgCreateBinaryOptionsLimitOrder) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateBinaryOptionsLimitOrder: wiretype end group for non-group") + return fmt.Errorf("proto: MsgInstantExpiryFuturesMarketLaunch: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateBinaryOptionsLimitOrder: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgInstantExpiryFuturesMarketLaunch: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12362,9 +13666,9 @@ func (m *MsgCreateBinaryOptionsLimitOrder) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Ticker", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12374,47 +13678,2000 @@ func (m *MsgCreateBinaryOptionsLimitOrder) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Ticker = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field QuoteDenom", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { + 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 } - if (iNdEx + skippy) > l { + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { return io.ErrUnexpectedEOF } - iNdEx += skippy - } - } - + m.QuoteDenom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OracleBase", 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.OracleBase = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OracleQuote", 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.OracleQuote = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OracleType", wireType) + } + m.OracleType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OracleType |= types1.OracleType(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OracleScaleFactor", wireType) + } + m.OracleScaleFactor = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OracleScaleFactor |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Expiry", wireType) + } + m.Expiry = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Expiry |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MakerFeeRate", 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 + } + if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TakerFeeRate", 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 + } + if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field InitialMarginRatio", 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 + } + if err := m.InitialMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MaintenanceMarginRatio", 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 + } + if err := m.MaintenanceMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinPriceTickSize", 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 + } + if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinQuantityTickSize", 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 + } + if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", 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 + } + if err := m.MinNotional.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 *MsgInstantExpiryFuturesMarketLaunchResponse) 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: MsgInstantExpiryFuturesMarketLaunchResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgInstantExpiryFuturesMarketLaunchResponse: 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 *MsgCreateSpotMarketOrder) 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: MsgCreateSpotMarketOrder: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateSpotMarketOrder: 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 Order", 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.Order.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 *MsgCreateSpotMarketOrderResponse) 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: MsgCreateSpotMarketOrderResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateSpotMarketOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", 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.OrderHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Results", 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.Results == nil { + m.Results = &SpotMarketOrderResults{} + } + if err := m.Results.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cid", 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.Cid = string(dAtA[iNdEx:postIndex]) + 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 *SpotMarketOrderResults) 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: SpotMarketOrderResults: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SpotMarketOrderResults: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Quantity", 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 + } + if err := m.Quantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Price", 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 + } + if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Fee", 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 + } + if err := m.Fee.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 *MsgCreateDerivativeLimitOrder) 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: MsgCreateDerivativeLimitOrder: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateDerivativeLimitOrder: 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 Order", 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.Order.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 *MsgCreateDerivativeLimitOrderResponse) 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: MsgCreateDerivativeLimitOrderResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateDerivativeLimitOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", 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.OrderHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cid", 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.Cid = string(dAtA[iNdEx:postIndex]) + 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 *MsgCreateBinaryOptionsLimitOrder) 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: MsgCreateBinaryOptionsLimitOrder: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateBinaryOptionsLimitOrder: 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 Order", 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.Order.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 *MsgCreateBinaryOptionsLimitOrderResponse) 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: MsgCreateBinaryOptionsLimitOrderResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateBinaryOptionsLimitOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", 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.OrderHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cid", 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.Cid = string(dAtA[iNdEx:postIndex]) + 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 *MsgBatchCreateDerivativeLimitOrders) 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: MsgBatchCreateDerivativeLimitOrders: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBatchCreateDerivativeLimitOrders: 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 Orders", 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 + } + m.Orders = append(m.Orders, DerivativeOrder{}) + if err := m.Orders[len(m.Orders)-1].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 *MsgBatchCreateDerivativeLimitOrdersResponse) 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: MsgBatchCreateDerivativeLimitOrdersResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBatchCreateDerivativeLimitOrdersResponse: 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) + } + 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.OrderHashes = append(m.OrderHashes, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CreatedOrdersCids", 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.CreatedOrdersCids = append(m.CreatedOrdersCids, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FailedOrdersCids", 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.FailedOrdersCids = append(m.FailedOrdersCids, string(dAtA[iNdEx:postIndex])) + 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 *MsgCancelSpotOrder) 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: MsgCancelSpotOrder: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCancelSpotOrder: 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 MarketId", 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.MarketId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + 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 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.SubaccountId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", 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.OrderHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cid", 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.Cid = string(dAtA[iNdEx:postIndex]) + 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 *MsgCancelSpotOrderResponse) 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: MsgCancelSpotOrderResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCancelSpotOrderResponse: 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 *MsgBatchCancelSpotOrders) 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: MsgBatchCancelSpotOrders: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBatchCancelSpotOrders: 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 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 + } + m.Data = append(m.Data, OrderData{}) + if err := m.Data[len(m.Data)-1].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 *MsgCreateBinaryOptionsLimitOrderResponse) Unmarshal(dAtA []byte) error { +func (m *MsgBatchCancelSpotOrdersResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12437,44 +15694,82 @@ func (m *MsgCreateBinaryOptionsLimitOrderResponse) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateBinaryOptionsLimitOrderResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBatchCancelSpotOrdersResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateBinaryOptionsLimitOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBatchCancelSpotOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx + if wireType == 0 { + 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 + } } - if iNdEx >= l { + m.Success = append(m.Success, bool(v != 0)) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break + var elementCount int + elementCount = packedLen + if elementCount != 0 && len(m.Success) == 0 { + m.Success = make([]bool, 0, elementCount) } + for iNdEx < postIndex { + 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.Success = append(m.Success, bool(v != 0)) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field Success", wireType) } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.OrderHash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -12496,7 +15791,7 @@ func (m *MsgCreateBinaryOptionsLimitOrderResponse) Unmarshal(dAtA []byte) error } return nil } -func (m *MsgBatchCreateDerivativeLimitOrders) Unmarshal(dAtA []byte) error { +func (m *MsgBatchCancelBinaryOptionsOrders) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12519,10 +15814,10 @@ func (m *MsgBatchCreateDerivativeLimitOrders) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCreateDerivativeLimitOrders: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBatchCancelBinaryOptionsOrders: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCreateDerivativeLimitOrders: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBatchCancelBinaryOptionsOrders: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12559,7 +15854,7 @@ func (m *MsgBatchCreateDerivativeLimitOrders) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Orders", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -12576,21 +15871,141 @@ func (m *MsgBatchCreateDerivativeLimitOrders) Unmarshal(dAtA []byte) error { break } } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Orders = append(m.Orders, DerivativeOrder{}) - if err := m.Orders[len(m.Orders)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Data = append(m.Data, OrderData{}) + if err := m.Data[len(m.Data)-1].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 *MsgBatchCancelBinaryOptionsOrdersResponse) 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: MsgBatchCancelBinaryOptionsOrdersResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBatchCancelBinaryOptionsOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType == 0 { + 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.Success = append(m.Success, bool(v != 0)) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + elementCount = packedLen + if elementCount != 0 && len(m.Success) == 0 { + m.Success = make([]bool, 0, elementCount) + } + for iNdEx < postIndex { + 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.Success = append(m.Success, bool(v != 0)) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field Success", wireType) + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -12612,7 +16027,7 @@ func (m *MsgBatchCreateDerivativeLimitOrders) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBatchCreateDerivativeLimitOrdersResponse) Unmarshal(dAtA []byte) error { +func (m *MsgBatchUpdateOrders) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12635,15 +16050,15 @@ func (m *MsgBatchCreateDerivativeLimitOrdersResponse) Unmarshal(dAtA []byte) err fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCreateDerivativeLimitOrdersResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBatchUpdateOrders: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCreateDerivativeLimitOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBatchUpdateOrders: 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 Sender", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12671,61 +16086,11 @@ func (m *MsgBatchCreateDerivativeLimitOrdersResponse) Unmarshal(dAtA []byte) err if postIndex > l { return io.ErrUnexpectedEOF } - m.OrderHashes = append(m.OrderHashes, string(dAtA[iNdEx:postIndex])) + m.Sender = string(dAtA[iNdEx:postIndex]) 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 *MsgCancelSpotOrder) 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: MsgCancelSpotOrder: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCancelSpotOrder: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12753,11 +16118,11 @@ func (m *MsgCancelSpotOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + m.SubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SpotMarketIdsToCancelAll", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12785,11 +16150,11 @@ func (m *MsgCancelSpotOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MarketId = string(dAtA[iNdEx:postIndex]) + m.SpotMarketIdsToCancelAll = append(m.SpotMarketIdsToCancelAll, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 3: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DerivativeMarketIdsToCancelAll", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12817,13 +16182,13 @@ func (m *MsgCancelSpotOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SubaccountId = string(dAtA[iNdEx:postIndex]) + m.DerivativeMarketIdsToCancelAll = append(m.DerivativeMarketIdsToCancelAll, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 4: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SpotOrdersToCancel", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12833,29 +16198,31 @@ func (m *MsgCancelSpotOrder) 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 ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.OrderHash = string(dAtA[iNdEx:postIndex]) + m.SpotOrdersToCancel = append(m.SpotOrdersToCancel, &OrderData{}) + if err := m.SpotOrdersToCancel[len(m.SpotOrdersToCancel)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 5: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DerivativeOrdersToCancel", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12865,127 +16232,131 @@ func (m *MsgCancelSpotOrder) 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 ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Cid = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { + m.DerivativeOrdersToCancel = append(m.DerivativeOrdersToCancel, &OrderData{}) + if err := m.DerivativeOrdersToCancel[len(m.DerivativeOrdersToCancel)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - if (skippy < 0) || (iNdEx+skippy) < 0 { + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SpotOrdersToCreate", 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 } - if (iNdEx + skippy) > l { + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { return io.ErrUnexpectedEOF } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgCancelSpotOrderResponse) 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 + m.SpotOrdersToCreate = append(m.SpotOrdersToCreate, &SpotOrder{}) + if err := m.SpotOrdersToCreate[len(m.SpotOrdersToCreate)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - if iNdEx >= l { - return io.ErrUnexpectedEOF + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DerivativeOrdersToCreate", wireType) } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + 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 + } } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgCancelSpotOrderResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCancelSpotOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DerivativeOrdersToCreate = append(m.DerivativeOrdersToCreate, &DerivativeOrder{}) + if err := m.DerivativeOrdersToCreate[len(m.DerivativeOrdersToCreate)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - if (skippy < 0) || (iNdEx+skippy) < 0 { + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsOrdersToCancel", 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 } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgBatchCancelSpotOrders) 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 + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + m.BinaryOptionsOrdersToCancel = append(m.BinaryOptionsOrdersToCancel, &OrderData{}) + if err := m.BinaryOptionsOrdersToCancel[len(m.BinaryOptionsOrdersToCancel)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCancelSpotOrders: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCancelSpotOrders: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsMarketIdsToCancelAll", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13013,11 +16384,11 @@ func (m *MsgBatchCancelSpotOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + m.BinaryOptionsMarketIdsToCancelAll = append(m.BinaryOptionsMarketIdsToCancelAll, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 2: + case 11: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsOrdersToCreate", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -13044,8 +16415,8 @@ func (m *MsgBatchCancelSpotOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Data = append(m.Data, OrderData{}) - if err := m.Data[len(m.Data)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.BinaryOptionsOrdersToCreate = append(m.BinaryOptionsOrdersToCreate, &DerivativeOrder{}) + if err := m.BinaryOptionsOrdersToCreate[len(m.BinaryOptionsOrdersToCreate)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -13070,7 +16441,7 @@ func (m *MsgBatchCancelSpotOrders) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBatchCancelSpotOrdersResponse) Unmarshal(dAtA []byte) error { +func (m *MsgBatchUpdateOrdersResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13093,10 +16464,10 @@ func (m *MsgBatchCancelSpotOrdersResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCancelSpotOrdersResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBatchUpdateOrdersResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCancelSpotOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBatchUpdateOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -13116,7 +16487,7 @@ func (m *MsgBatchCancelSpotOrdersResponse) Unmarshal(dAtA []byte) error { break } } - m.Success = append(m.Success, bool(v != 0)) + m.SpotCancelSuccess = append(m.SpotCancelSuccess, bool(v != 0)) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -13145,8 +16516,8 @@ func (m *MsgBatchCancelSpotOrdersResponse) Unmarshal(dAtA []byte) error { } var elementCount int elementCount = packedLen - if elementCount != 0 && len(m.Success) == 0 { - m.Success = make([]bool, 0, elementCount) + if elementCount != 0 && len(m.SpotCancelSuccess) == 0 { + m.SpotCancelSuccess = make([]bool, 0, elementCount) } for iNdEx < postIndex { var v int @@ -13164,64 +16535,84 @@ func (m *MsgBatchCancelSpotOrdersResponse) Unmarshal(dAtA []byte) error { break } } - m.Success = append(m.Success, bool(v != 0)) + m.SpotCancelSuccess = append(m.SpotCancelSuccess, bool(v != 0)) } } else { - return fmt.Errorf("proto: wrong wireType = %d for field Success", wireType) - } - 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 *MsgBatchCancelBinaryOptionsOrders) 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 + return fmt.Errorf("proto: wrong wireType = %d for field SpotCancelSuccess", wireType) } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + case 2: + if wireType == 0 { + 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.DerivativeCancelSuccess = append(m.DerivativeCancelSuccess, bool(v != 0)) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + elementCount = packedLen + if elementCount != 0 && len(m.DerivativeCancelSuccess) == 0 { + m.DerivativeCancelSuccess = make([]bool, 0, elementCount) + } + for iNdEx < postIndex { + 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.DerivativeCancelSuccess = append(m.DerivativeCancelSuccess, bool(v != 0)) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field DerivativeCancelSuccess", wireType) } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCancelBinaryOptionsOrders: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCancelBinaryOptionsOrders: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SpotOrderHashes", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13249,13 +16640,13 @@ func (m *MsgBatchCancelBinaryOptionsOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + m.SpotOrderHashes = append(m.SpotOrderHashes, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DerivativeOrderHashes", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -13265,77 +16656,25 @@ func (m *MsgBatchCancelBinaryOptionsOrders) 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 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Data = append(m.Data, OrderData{}) - if err := m.Data[len(m.Data)-1].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 *MsgBatchCancelBinaryOptionsOrdersResponse) 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 + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx } - if iNdEx >= l { - return io.ErrUnexpectedEOF + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if postIndex > l { + return io.ErrUnexpectedEOF } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCancelBinaryOptionsOrdersResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCancelBinaryOptionsOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + m.DerivativeOrderHashes = append(m.DerivativeOrderHashes, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 5: if wireType == 0 { var v int for shift := uint(0); ; shift += 7 { @@ -13352,7 +16691,7 @@ func (m *MsgBatchCancelBinaryOptionsOrdersResponse) Unmarshal(dAtA []byte) error break } } - m.Success = append(m.Success, bool(v != 0)) + m.BinaryOptionsCancelSuccess = append(m.BinaryOptionsCancelSuccess, bool(v != 0)) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -13381,8 +16720,8 @@ func (m *MsgBatchCancelBinaryOptionsOrdersResponse) Unmarshal(dAtA []byte) error } var elementCount int elementCount = packedLen - if elementCount != 0 && len(m.Success) == 0 { - m.Success = make([]bool, 0, elementCount) + if elementCount != 0 && len(m.BinaryOptionsCancelSuccess) == 0 { + m.BinaryOptionsCancelSuccess = make([]bool, 0, elementCount) } for iNdEx < postIndex { var v int @@ -13400,64 +16739,110 @@ func (m *MsgBatchCancelBinaryOptionsOrdersResponse) Unmarshal(dAtA []byte) error break } } - m.Success = append(m.Success, bool(v != 0)) + m.BinaryOptionsCancelSuccess = append(m.BinaryOptionsCancelSuccess, bool(v != 0)) } } else { - return fmt.Errorf("proto: wrong wireType = %d for field Success", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsCancelSuccess", wireType) } - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsOrderHashes", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { + 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 } - if (iNdEx + skippy) > l { + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { return io.ErrUnexpectedEOF } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgBatchUpdateOrders) 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 + m.BinaryOptionsOrderHashes = append(m.BinaryOptionsOrderHashes, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CreatedSpotOrdersCids", wireType) } - if iNdEx >= l { + 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 } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + m.CreatedSpotOrdersCids = append(m.CreatedSpotOrdersCids, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FailedSpotOrdersCids", wireType) } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgBatchUpdateOrders: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchUpdateOrders: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + 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.FailedSpotOrdersCids = append(m.FailedSpotOrdersCids, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CreatedDerivativeOrdersCids", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13485,11 +16870,11 @@ func (m *MsgBatchUpdateOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + m.CreatedDerivativeOrdersCids = append(m.CreatedDerivativeOrdersCids, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 2: + case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FailedDerivativeOrdersCids", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13517,11 +16902,11 @@ func (m *MsgBatchUpdateOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SubaccountId = string(dAtA[iNdEx:postIndex]) + m.FailedDerivativeOrdersCids = append(m.FailedDerivativeOrdersCids, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 3: + case 11: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpotMarketIdsToCancelAll", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CreatedBinaryOptionsOrdersCids", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13549,11 +16934,93 @@ func (m *MsgBatchUpdateOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SpotMarketIdsToCancelAll = append(m.SpotMarketIdsToCancelAll, string(dAtA[iNdEx:postIndex])) + m.CreatedBinaryOptionsOrdersCids = append(m.CreatedBinaryOptionsOrdersCids, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 4: + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FailedBinaryOptionsOrdersCids", 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.FailedBinaryOptionsOrdersCids = append(m.FailedBinaryOptionsOrdersCids, string(dAtA[iNdEx:postIndex])) + 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 *MsgCreateDerivativeMarketOrder) 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: MsgCreateDerivativeMarketOrder: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateDerivativeMarketOrder: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DerivativeMarketIdsToCancelAll", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13581,11 +17048,11 @@ func (m *MsgBatchUpdateOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.DerivativeMarketIdsToCancelAll = append(m.DerivativeMarketIdsToCancelAll, string(dAtA[iNdEx:postIndex])) + m.Sender = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpotOrdersToCancel", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -13612,84 +17079,65 @@ func (m *MsgBatchUpdateOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SpotOrdersToCancel = append(m.SpotOrdersToCancel, &OrderData{}) - if err := m.SpotOrdersToCancel[len(m.SpotOrdersToCancel)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DerivativeOrdersToCancel", 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 + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthTx } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.DerivativeOrdersToCancel = append(m.DerivativeOrdersToCancel, &OrderData{}) - if err := m.DerivativeOrdersToCancel[len(m.DerivativeOrdersToCancel)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpotOrdersToCreate", 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 + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCreateDerivativeMarketOrderResponse) 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 postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - m.SpotOrdersToCreate = append(m.SpotOrdersToCreate, &SpotOrder{}) - if err := m.SpotOrdersToCreate[len(m.SpotOrdersToCreate)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - iNdEx = postIndex - case 8: + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgCreateDerivativeMarketOrderResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateDerivativeMarketOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DerivativeOrdersToCreate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -13699,29 +17147,27 @@ func (m *MsgBatchUpdateOrders) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.DerivativeOrdersToCreate = append(m.DerivativeOrdersToCreate, &DerivativeOrder{}) - if err := m.DerivativeOrdersToCreate[len(m.DerivativeOrdersToCreate)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.OrderHash = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 9: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsOrdersToCancel", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Results", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -13748,14 +17194,16 @@ func (m *MsgBatchUpdateOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.BinaryOptionsOrdersToCancel = append(m.BinaryOptionsOrdersToCancel, &OrderData{}) - if err := m.BinaryOptionsOrdersToCancel[len(m.BinaryOptionsOrdersToCancel)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.Results == nil { + m.Results = &DerivativeMarketOrderResults{} + } + if err := m.Results.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 10: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsMarketIdsToCancelAll", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13783,41 +17231,7 @@ func (m *MsgBatchUpdateOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.BinaryOptionsMarketIdsToCancelAll = append(m.BinaryOptionsMarketIdsToCancelAll, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsOrdersToCreate", 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 - } - m.BinaryOptionsOrdersToCreate = append(m.BinaryOptionsOrdersToCreate, &DerivativeOrder{}) - if err := m.BinaryOptionsOrdersToCreate[len(m.BinaryOptionsOrdersToCreate)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Cid = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -13840,7 +17254,7 @@ func (m *MsgBatchUpdateOrders) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBatchUpdateOrdersResponse) Unmarshal(dAtA []byte) error { +func (m *DerivativeMarketOrderResults) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13863,155 +17277,49 @@ func (m *MsgBatchUpdateOrdersResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBatchUpdateOrdersResponse: wiretype end group for non-group") + return fmt.Errorf("proto: DerivativeMarketOrderResults: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchUpdateOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType == 0 { - 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.SpotCancelSuccess = append(m.SpotCancelSuccess, bool(v != 0)) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var elementCount int - elementCount = packedLen - if elementCount != 0 && len(m.SpotCancelSuccess) == 0 { - m.SpotCancelSuccess = make([]bool, 0, elementCount) - } - for iNdEx < postIndex { - 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.SpotCancelSuccess = append(m.SpotCancelSuccess, bool(v != 0)) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field SpotCancelSuccess", wireType) + return fmt.Errorf("proto: DerivativeMarketOrderResults: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Quantity", wireType) } - case 2: - if wireType == 0 { - 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.DerivativeCancelSuccess = append(m.DerivativeCancelSuccess, bool(v != 0)) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthTx + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx } - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - var elementCount int - elementCount = packedLen - if elementCount != 0 && len(m.DerivativeCancelSuccess) == 0 { - m.DerivativeCancelSuccess = make([]bool, 0, elementCount) - } - for iNdEx < postIndex { - 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.DerivativeCancelSuccess = append(m.DerivativeCancelSuccess, bool(v != 0)) + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field DerivativeCancelSuccess", wireType) } - case 3: + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Quantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpotOrderHashes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14039,11 +17347,13 @@ func (m *MsgBatchUpdateOrdersResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SpotOrderHashes = append(m.SpotOrderHashes, string(dAtA[iNdEx:postIndex])) + if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 4: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DerivativeOrderHashes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14071,81 +17381,46 @@ func (m *MsgBatchUpdateOrdersResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.DerivativeOrderHashes = append(m.DerivativeOrderHashes, string(dAtA[iNdEx:postIndex])) + if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 5: - if wireType == 0 { - 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.BinaryOptionsCancelSuccess = append(m.BinaryOptionsCancelSuccess, bool(v != 0)) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthTx + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PositionDelta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx } - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - var elementCount int - elementCount = packedLen - if elementCount != 0 && len(m.BinaryOptionsCancelSuccess) == 0 { - m.BinaryOptionsCancelSuccess = make([]bool, 0, elementCount) - } - for iNdEx < postIndex { - 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.BinaryOptionsCancelSuccess = append(m.BinaryOptionsCancelSuccess, bool(v != 0)) + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsCancelSuccess", wireType) } - case 6: + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.PositionDelta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsOrderHashes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Payout", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14173,7 +17448,9 @@ func (m *MsgBatchUpdateOrdersResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.BinaryOptionsOrderHashes = append(m.BinaryOptionsOrderHashes, string(dAtA[iNdEx:postIndex])) + if err := m.Payout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -14196,7 +17473,7 @@ func (m *MsgBatchUpdateOrdersResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateDerivativeMarketOrder) Unmarshal(dAtA []byte) error { +func (m *MsgCreateBinaryOptionsMarketOrder) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14219,10 +17496,10 @@ func (m *MsgCreateDerivativeMarketOrder) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateDerivativeMarketOrder: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCreateBinaryOptionsMarketOrder: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateDerivativeMarketOrder: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCreateBinaryOptionsMarketOrder: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -14311,7 +17588,7 @@ func (m *MsgCreateDerivativeMarketOrder) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateDerivativeMarketOrderResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCreateBinaryOptionsMarketOrderResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14334,10 +17611,10 @@ func (m *MsgCreateDerivativeMarketOrderResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateDerivativeMarketOrderResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCreateBinaryOptionsMarketOrderResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateDerivativeMarketOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCreateBinaryOptionsMarketOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -14363,20 +17640,56 @@ func (m *MsgCreateDerivativeMarketOrderResponse) Unmarshal(dAtA []byte) error { if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.OrderHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Results", 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 } - m.OrderHash = string(dAtA[iNdEx:postIndex]) + if m.Results == nil { + m.Results = &DerivativeMarketOrderResults{} + } + if err := m.Results.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 2: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Results", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -14386,27 +17699,23 @@ func (m *MsgCreateDerivativeMarketOrderResponse) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Results == nil { - m.Results = &DerivativeMarketOrderResults{} - } - if err := m.Results.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Cid = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -14429,7 +17738,7 @@ func (m *MsgCreateDerivativeMarketOrderResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *DerivativeMarketOrderResults) Unmarshal(dAtA []byte) error { +func (m *MsgCancelDerivativeOrder) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14452,15 +17761,15 @@ func (m *DerivativeMarketOrderResults) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: DerivativeMarketOrderResults: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCancelDerivativeOrder: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: DerivativeMarketOrderResults: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCancelDerivativeOrder: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Quantity", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14488,13 +17797,11 @@ func (m *DerivativeMarketOrderResults) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Quantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Sender = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14522,13 +17829,11 @@ func (m *DerivativeMarketOrderResults) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.MarketId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14556,15 +17861,13 @@ func (m *DerivativeMarketOrderResults) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.SubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PositionDelta", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -14574,30 +17877,29 @@ func (m *DerivativeMarketOrderResults) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.PositionDelta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.OrderHash = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Payout", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OrderMask", wireType) } - var stringLen uint64 + m.OrderMask = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -14607,79 +17909,14 @@ func (m *DerivativeMarketOrderResults) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.OrderMask |= int32(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 - } - if err := m.Payout.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 *MsgCreateBinaryOptionsMarketOrder) 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: MsgCreateBinaryOptionsMarketOrder: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateBinaryOptionsMarketOrder: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14707,40 +17944,7 @@ func (m *MsgCreateBinaryOptionsMarketOrder) Unmarshal(dAtA []byte) error { 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 Order", 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.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Cid = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -14763,7 +17967,7 @@ func (m *MsgCreateBinaryOptionsMarketOrder) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateBinaryOptionsMarketOrderResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCancelDerivativeOrderResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14786,80 +17990,12 @@ func (m *MsgCreateBinaryOptionsMarketOrderResponse) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateBinaryOptionsMarketOrderResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCancelDerivativeOrderResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateBinaryOptionsMarketOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCancelDerivativeOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", 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.OrderHash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Results", 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.Results == nil { - m.Results = &DerivativeMarketOrderResults{} - } - if err := m.Results.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -14881,7 +18017,7 @@ func (m *MsgCreateBinaryOptionsMarketOrderResponse) Unmarshal(dAtA []byte) error } return nil } -func (m *MsgCancelDerivativeOrder) Unmarshal(dAtA []byte) error { +func (m *MsgCancelBinaryOptionsOrder) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14904,10 +18040,10 @@ func (m *MsgCancelDerivativeOrder) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCancelDerivativeOrder: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCancelBinaryOptionsOrder: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCancelDerivativeOrder: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCancelBinaryOptionsOrder: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -15110,7 +18246,7 @@ func (m *MsgCancelDerivativeOrder) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCancelDerivativeOrderResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCancelBinaryOptionsOrderResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15133,10 +18269,10 @@ func (m *MsgCancelDerivativeOrderResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCancelDerivativeOrderResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCancelBinaryOptionsOrderResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCancelDerivativeOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCancelBinaryOptionsOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -15160,7 +18296,7 @@ func (m *MsgCancelDerivativeOrderResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCancelBinaryOptionsOrder) Unmarshal(dAtA []byte) error { +func (m *OrderData) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15183,15 +18319,15 @@ func (m *MsgCancelBinaryOptionsOrder) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCancelBinaryOptionsOrder: wiretype end group for non-group") + return fmt.Errorf("proto: OrderData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCancelBinaryOptionsOrder: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: OrderData: 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) + return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15219,11 +18355,11 @@ func (m *MsgCancelBinaryOptionsOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + m.MarketId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15251,11 +18387,11 @@ func (m *MsgCancelBinaryOptionsOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MarketId = string(dAtA[iNdEx:postIndex]) + m.SubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15283,11 +18419,30 @@ func (m *MsgCancelBinaryOptionsOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SubaccountId = string(dAtA[iNdEx:postIndex]) + m.OrderHash = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OrderMask", wireType) + } + m.OrderMask = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OrderMask |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15315,13 +18470,63 @@ func (m *MsgCancelBinaryOptionsOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OrderHash = string(dAtA[iNdEx:postIndex]) + m.Cid = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderMask", wireType) + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err } - m.OrderMask = 0 + 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 *MsgBatchCancelDerivativeOrders) 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: MsgBatchCancelDerivativeOrders: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBatchCancelDerivativeOrders: 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 @@ -15331,16 +18536,29 @@ func (m *MsgCancelBinaryOptionsOrder) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.OrderMask |= int32(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - case 6: + 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 Cid", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15350,23 +18568,25 @@ func (m *MsgCancelBinaryOptionsOrder) 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 ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Cid = string(dAtA[iNdEx:postIndex]) + m.Data = append(m.Data, OrderData{}) + if err := m.Data[len(m.Data)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -15389,7 +18609,7 @@ func (m *MsgCancelBinaryOptionsOrder) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCancelBinaryOptionsOrderResponse) Unmarshal(dAtA []byte) error { +func (m *MsgBatchCancelDerivativeOrdersResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15412,12 +18632,82 @@ func (m *MsgCancelBinaryOptionsOrderResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCancelBinaryOptionsOrderResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBatchCancelDerivativeOrdersResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCancelBinaryOptionsOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBatchCancelDerivativeOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType == 0 { + 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.Success = append(m.Success, bool(v != 0)) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + elementCount = packedLen + if elementCount != 0 && len(m.Success) == 0 { + m.Success = make([]bool, 0, elementCount) + } + for iNdEx < postIndex { + 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.Success = append(m.Success, bool(v != 0)) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field Success", wireType) + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -15439,7 +18729,7 @@ func (m *MsgCancelBinaryOptionsOrderResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *OrderData) Unmarshal(dAtA []byte) error { +func (m *MsgSubaccountTransfer) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15462,15 +18752,15 @@ func (m *OrderData) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: OrderData: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSubaccountTransfer: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: OrderData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSubaccountTransfer: 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 Sender", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15498,11 +18788,11 @@ func (m *OrderData) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MarketId = string(dAtA[iNdEx:postIndex]) + m.Sender = string(dAtA[iNdEx:postIndex]) 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 SourceSubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15530,11 +18820,11 @@ func (m *OrderData) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SubaccountId = string(dAtA[iNdEx:postIndex]) + m.SourceSubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DestinationSubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15562,32 +18852,13 @@ func (m *OrderData) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OrderHash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderMask", wireType) - } - m.OrderMask = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.OrderMask |= int32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: + m.DestinationSubaccountId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15597,23 +18868,24 @@ func (m *OrderData) 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 ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Cid = string(dAtA[iNdEx:postIndex]) + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -15636,7 +18908,7 @@ func (m *OrderData) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBatchCancelDerivativeOrders) Unmarshal(dAtA []byte) error { +func (m *MsgSubaccountTransferResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15659,10 +18931,60 @@ func (m *MsgBatchCancelDerivativeOrders) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCancelDerivativeOrders: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSubaccountTransferResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCancelDerivativeOrders: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSubaccountTransferResponse: 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 *MsgExternalTransfer) 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: MsgExternalTransfer: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgExternalTransfer: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -15699,9 +19021,9 @@ func (m *MsgBatchCancelDerivativeOrders) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SourceSubaccountId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15711,146 +19033,139 @@ func (m *MsgBatchCancelDerivativeOrders) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Data = append(m.Data, OrderData{}) - if err := m.Data[len(m.Data)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.SourceSubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DestinationSubaccountId", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx + 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 + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgBatchCancelDerivativeOrdersResponse) 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 + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + m.DestinationSubaccountId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCancelDerivativeOrdersResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCancelDerivativeOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType == 0 { - 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.Success = append(m.Success, bool(v != 0)) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthTx + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx } - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - var elementCount int - elementCount = packedLen - if elementCount != 0 && len(m.Success) == 0 { - m.Success = make([]bool, 0, elementCount) - } - for iNdEx < postIndex { - 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.Success = append(m.Success, bool(v != 0)) + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field Success", wireType) } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Amount.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 *MsgExternalTransferResponse) 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: MsgExternalTransferResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgExternalTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -15872,7 +19187,7 @@ func (m *MsgBatchCancelDerivativeOrdersResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSubaccountTransfer) Unmarshal(dAtA []byte) error { +func (m *MsgLiquidatePosition) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15895,10 +19210,10 @@ func (m *MsgSubaccountTransfer) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSubaccountTransfer: wiretype end group for non-group") + return fmt.Errorf("proto: MsgLiquidatePosition: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSubaccountTransfer: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgLiquidatePosition: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -15935,7 +19250,7 @@ func (m *MsgSubaccountTransfer) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SourceSubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15963,11 +19278,11 @@ func (m *MsgSubaccountTransfer) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SourceSubaccountId = string(dAtA[iNdEx:postIndex]) + m.SubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DestinationSubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15995,11 +19310,11 @@ func (m *MsgSubaccountTransfer) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.DestinationSubaccountId = string(dAtA[iNdEx:postIndex]) + m.MarketId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -16026,7 +19341,10 @@ func (m *MsgSubaccountTransfer) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.Order == nil { + m.Order = &DerivativeOrder{} + } + if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -16051,7 +19369,7 @@ func (m *MsgSubaccountTransfer) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSubaccountTransferResponse) Unmarshal(dAtA []byte) error { +func (m *MsgLiquidatePositionResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16074,10 +19392,10 @@ func (m *MsgSubaccountTransferResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSubaccountTransferResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgLiquidatePositionResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSubaccountTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgLiquidatePositionResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -16101,7 +19419,7 @@ func (m *MsgSubaccountTransferResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgExternalTransfer) Unmarshal(dAtA []byte) error { +func (m *MsgEmergencySettleMarket) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16124,10 +19442,10 @@ func (m *MsgExternalTransfer) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgExternalTransfer: wiretype end group for non-group") + return fmt.Errorf("proto: MsgEmergencySettleMarket: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgExternalTransfer: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgEmergencySettleMarket: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -16164,7 +19482,7 @@ func (m *MsgExternalTransfer) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SourceSubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16192,11 +19510,11 @@ func (m *MsgExternalTransfer) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SourceSubaccountId = string(dAtA[iNdEx:postIndex]) + m.SubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DestinationSubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16224,40 +19542,7 @@ func (m *MsgExternalTransfer) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.DestinationSubaccountId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", 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.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.MarketId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -16280,7 +19565,7 @@ func (m *MsgExternalTransfer) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgExternalTransferResponse) Unmarshal(dAtA []byte) error { +func (m *MsgEmergencySettleMarketResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16303,10 +19588,10 @@ func (m *MsgExternalTransferResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgExternalTransferResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgEmergencySettleMarketResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgExternalTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgEmergencySettleMarketResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -16330,7 +19615,7 @@ func (m *MsgExternalTransferResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgLiquidatePosition) Unmarshal(dAtA []byte) error { +func (m *MsgIncreasePositionMargin) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16353,10 +19638,10 @@ func (m *MsgLiquidatePosition) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgLiquidatePosition: wiretype end group for non-group") + return fmt.Errorf("proto: MsgIncreasePositionMargin: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgLiquidatePosition: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgIncreasePositionMargin: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -16393,7 +19678,7 @@ func (m *MsgLiquidatePosition) 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 SourceSubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16421,11 +19706,11 @@ func (m *MsgLiquidatePosition) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SubaccountId = string(dAtA[iNdEx:postIndex]) + m.SourceSubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DestinationSubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16453,13 +19738,13 @@ func (m *MsgLiquidatePosition) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MarketId = string(dAtA[iNdEx:postIndex]) + m.DestinationSubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Order", 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 ErrIntOverflowTx @@ -16469,25 +19754,55 @@ func (m *MsgLiquidatePosition) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Order == nil { - m.Order = &DerivativeOrder{} + m.MarketId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } - if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + 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 + } + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -16512,7 +19827,7 @@ func (m *MsgLiquidatePosition) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgLiquidatePositionResponse) Unmarshal(dAtA []byte) error { +func (m *MsgIncreasePositionMarginResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16535,10 +19850,10 @@ func (m *MsgLiquidatePositionResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgLiquidatePositionResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgIncreasePositionMarginResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgLiquidatePositionResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgIncreasePositionMarginResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -16562,7 +19877,7 @@ func (m *MsgLiquidatePositionResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgEmergencySettleMarket) Unmarshal(dAtA []byte) error { +func (m *MsgDecreasePositionMargin) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16585,15 +19900,79 @@ func (m *MsgEmergencySettleMarket) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgEmergencySettleMarket: wiretype end group for non-group") + return fmt.Errorf("proto: MsgDecreasePositionMargin: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEmergencySettleMarket: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgDecreasePositionMargin: 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) + 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 SourceSubaccountId", 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.SourceSubaccountId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DestinationSubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16621,11 +20000,11 @@ func (m *MsgEmergencySettleMarket) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + m.DestinationSubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + case 4: 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 { @@ -16653,11 +20032,11 @@ func (m *MsgEmergencySettleMarket) 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 3: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16685,7 +20064,9 @@ func (m *MsgEmergencySettleMarket) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MarketId = string(dAtA[iNdEx:postIndex]) + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -16708,7 +20089,7 @@ func (m *MsgEmergencySettleMarket) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgEmergencySettleMarketResponse) Unmarshal(dAtA []byte) error { +func (m *MsgDecreasePositionMarginResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16731,10 +20112,10 @@ func (m *MsgEmergencySettleMarketResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgEmergencySettleMarketResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgDecreasePositionMarginResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEmergencySettleMarketResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgDecreasePositionMarginResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -16758,7 +20139,7 @@ func (m *MsgEmergencySettleMarketResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgIncreasePositionMargin) Unmarshal(dAtA []byte) error { +func (m *MsgPrivilegedExecuteContract) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16781,10 +20162,10 @@ func (m *MsgIncreasePositionMargin) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgIncreasePositionMargin: wiretype end group for non-group") + return fmt.Errorf("proto: MsgPrivilegedExecuteContract: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgIncreasePositionMargin: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgPrivilegedExecuteContract: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -16821,7 +20202,7 @@ func (m *MsgIncreasePositionMargin) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SourceSubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Funds", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16849,11 +20230,11 @@ func (m *MsgIncreasePositionMargin) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SourceSubaccountId = string(dAtA[iNdEx:postIndex]) + m.Funds = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DestinationSubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ContractAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16881,11 +20262,11 @@ func (m *MsgIncreasePositionMargin) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.DestinationSubaccountId = string(dAtA[iNdEx:postIndex]) + m.ContractAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16913,11 +20294,145 @@ func (m *MsgIncreasePositionMargin) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MarketId = string(dAtA[iNdEx:postIndex]) + m.Data = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: + 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 *MsgPrivilegedExecuteContractResponse) 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: MsgPrivilegedExecuteContractResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgPrivilegedExecuteContractResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FundsDiff", 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 + } + m.FundsDiff = append(m.FundsDiff, types.Coin{}) + if err := m.FundsDiff[len(m.FundsDiff)-1].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 *MsgRewardsOptOut) 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: MsgRewardsOptOut: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRewardsOptOut: 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 { @@ -16945,9 +20460,7 @@ func (m *MsgIncreasePositionMargin) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Sender = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -16970,7 +20483,7 @@ func (m *MsgIncreasePositionMargin) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgIncreasePositionMarginResponse) Unmarshal(dAtA []byte) error { +func (m *MsgRewardsOptOutResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16993,10 +20506,10 @@ func (m *MsgIncreasePositionMarginResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgIncreasePositionMarginResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRewardsOptOutResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgIncreasePositionMarginResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRewardsOptOutResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -17020,7 +20533,7 @@ func (m *MsgIncreasePositionMarginResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgPrivilegedExecuteContract) Unmarshal(dAtA []byte) error { +func (m *MsgReclaimLockedFunds) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17043,10 +20556,10 @@ func (m *MsgPrivilegedExecuteContract) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgPrivilegedExecuteContract: wiretype end group for non-group") + return fmt.Errorf("proto: MsgReclaimLockedFunds: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPrivilegedExecuteContract: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgReclaimLockedFunds: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -17083,9 +20596,9 @@ func (m *MsgPrivilegedExecuteContract) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Funds", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field LockedAccountPubKey", wireType) } - var stringLen uint64 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -17095,29 +20608,31 @@ func (m *MsgPrivilegedExecuteContract) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if byteLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + byteLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Funds = string(dAtA[iNdEx:postIndex]) + m.LockedAccountPubKey = append(m.LockedAccountPubKey[:0], dAtA[iNdEx:postIndex]...) + if m.LockedAccountPubKey == nil { + m.LockedAccountPubKey = []byte{} + } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ContractAddress", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Signature", wireType) } - var stringLen uint64 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -17127,55 +20642,25 @@ func (m *MsgPrivilegedExecuteContract) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if byteLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + byteLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.ContractAddress = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", 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.Signature = append(m.Signature[:0], dAtA[iNdEx:postIndex]...) + if m.Signature == nil { + m.Signature = []byte{} } - m.Data = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -17198,7 +20683,7 @@ func (m *MsgPrivilegedExecuteContract) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgPrivilegedExecuteContractResponse) Unmarshal(dAtA []byte) error { +func (m *MsgReclaimLockedFundsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17221,46 +20706,12 @@ func (m *MsgPrivilegedExecuteContractResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgPrivilegedExecuteContractResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgReclaimLockedFundsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPrivilegedExecuteContractResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgReclaimLockedFundsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field FundsDiff", 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 - } - m.FundsDiff = append(m.FundsDiff, types.Coin{}) - if err := m.FundsDiff[len(m.FundsDiff)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -17282,7 +20733,7 @@ func (m *MsgPrivilegedExecuteContractResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRewardsOptOut) Unmarshal(dAtA []byte) error { +func (m *MsgSignData) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17305,17 +20756,17 @@ func (m *MsgRewardsOptOut) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRewardsOptOut: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSignData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRewardsOptOut: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSignData: 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) + return fmt.Errorf("proto: wrong wireType = %d for field Signer", wireType) } - var stringLen uint64 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -17325,23 +20776,59 @@ func (m *MsgRewardsOptOut) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if byteLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + byteLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + m.Signer = append(m.Signer[:0], dAtA[iNdEx:postIndex]...) + if m.Signer == nil { + m.Signer = []byte{} + } + iNdEx = postIndex + case 2: + 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 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.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) + if m.Data == nil { + m.Data = []byte{} + } iNdEx = postIndex default: iNdEx = preIndex @@ -17364,7 +20851,7 @@ func (m *MsgRewardsOptOut) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRewardsOptOutResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSignDoc) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17387,12 +20874,77 @@ func (m *MsgRewardsOptOutResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRewardsOptOutResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSignDoc: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRewardsOptOutResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSignDoc: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SignType", 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.SignType = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", 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.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -17414,7 +20966,7 @@ func (m *MsgRewardsOptOutResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgReclaimLockedFunds) Unmarshal(dAtA []byte) error { +func (m *MsgAdminUpdateBinaryOptionsMarket) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17437,10 +20989,10 @@ func (m *MsgReclaimLockedFunds) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgReclaimLockedFunds: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAdminUpdateBinaryOptionsMarket: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgReclaimLockedFunds: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAdminUpdateBinaryOptionsMarket: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -17477,9 +21029,96 @@ func (m *MsgReclaimLockedFunds) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LockedAccountPubKey", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MarketId", 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.MarketId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SettlementPrice", 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 + } + var v cosmossdk_io_math.LegacyDec + m.SettlementPrice = &v + if err := m.SettlementPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ExpirationTimestamp", wireType) + } + m.ExpirationTimestamp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ExpirationTimestamp |= int64(b&0x7F) << shift + if b < 0x80 { + break + } } - var byteLen int + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SettlementTimestamp", wireType) + } + m.SettlementTimestamp = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -17489,31 +21128,16 @@ func (m *MsgReclaimLockedFunds) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + m.SettlementTimestamp |= int64(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.LockedAccountPubKey = append(m.LockedAccountPubKey[:0], dAtA[iNdEx:postIndex]...) - if m.LockedAccountPubKey == nil { - m.LockedAccountPubKey = []byte{} - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Signature", wireType) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) } - var byteLen int + m.Status = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -17523,26 +21147,11 @@ func (m *MsgReclaimLockedFunds) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + m.Status |= MarketStatus(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.Signature = append(m.Signature[:0], dAtA[iNdEx:postIndex]...) - if m.Signature == nil { - m.Signature = []byte{} - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -17564,7 +21173,7 @@ func (m *MsgReclaimLockedFunds) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgReclaimLockedFundsResponse) Unmarshal(dAtA []byte) error { +func (m *MsgAdminUpdateBinaryOptionsMarketResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17587,10 +21196,10 @@ func (m *MsgReclaimLockedFundsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgReclaimLockedFundsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAdminUpdateBinaryOptionsMarketResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgReclaimLockedFundsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAdminUpdateBinaryOptionsMarketResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -17614,7 +21223,7 @@ func (m *MsgReclaimLockedFundsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSignData) Unmarshal(dAtA []byte) error { +func (m *MsgAuthorizeStakeGrants) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17637,17 +21246,17 @@ func (m *MsgSignData) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSignData: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAuthorizeStakeGrants: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSignData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAuthorizeStakeGrants: 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) + return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) } - var byteLen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -17657,31 +21266,29 @@ func (m *MsgSignData) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + byteLen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Signer = append(m.Signer[:0], dAtA[iNdEx:postIndex]...) - if m.Signer == nil { - m.Signer = []byte{} - } + m.Sender = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Grants", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -17691,24 +21298,24 @@ func (m *MsgSignData) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + if msglen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + byteLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) - if m.Data == nil { - m.Data = []byte{} + m.Grants = append(m.Grants, &GrantAuthorization{}) + if err := m.Grants[len(m.Grants)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex default: @@ -17732,7 +21339,7 @@ func (m *MsgSignData) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSignDoc) Unmarshal(dAtA []byte) error { +func (m *MsgAuthorizeStakeGrantsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17755,77 +21362,12 @@ func (m *MsgSignDoc) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSignDoc: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAuthorizeStakeGrantsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSignDoc: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAuthorizeStakeGrantsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SignType", 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.SignType = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Value", 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.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -17847,7 +21389,7 @@ func (m *MsgSignDoc) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAdminUpdateBinaryOptionsMarket) Unmarshal(dAtA []byte) error { +func (m *MsgActivateStakeGrant) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17870,10 +21412,10 @@ func (m *MsgAdminUpdateBinaryOptionsMarket) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAdminUpdateBinaryOptionsMarket: wiretype end group for non-group") + return fmt.Errorf("proto: MsgActivateStakeGrant: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAdminUpdateBinaryOptionsMarket: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgActivateStakeGrant: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -17910,39 +21452,7 @@ func (m *MsgAdminUpdateBinaryOptionsMarket) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: 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 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.MarketId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SettlementPrice", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Granter", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -17970,69 +21480,8 @@ func (m *MsgAdminUpdateBinaryOptionsMarket) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec - m.SettlementPrice = &v - if err := m.SettlementPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Granter = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ExpirationTimestamp", wireType) - } - m.ExpirationTimestamp = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ExpirationTimestamp |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SettlementTimestamp", wireType) - } - m.SettlementTimestamp = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.SettlementTimestamp |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) - } - m.Status = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Status |= MarketStatus(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -18054,7 +21503,7 @@ func (m *MsgAdminUpdateBinaryOptionsMarket) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAdminUpdateBinaryOptionsMarketResponse) Unmarshal(dAtA []byte) error { +func (m *MsgActivateStakeGrantResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18077,10 +21526,10 @@ func (m *MsgAdminUpdateBinaryOptionsMarketResponse) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAdminUpdateBinaryOptionsMarketResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgActivateStakeGrantResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAdminUpdateBinaryOptionsMarketResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgActivateStakeGrantResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: diff --git a/chain/exchange/types/volume_record.go b/chain/exchange/types/volume_record.go index 65729e9f..432d6f43 100644 --- a/chain/exchange/types/volume_record.go +++ b/chain/exchange/types/volume_record.go @@ -1,10 +1,10 @@ package types import ( - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" ) -func NewVolumeRecord(makerVolume, takerVolume sdk.Dec) VolumeRecord { +func NewVolumeRecord(makerVolume, takerVolume math.LegacyDec) VolumeRecord { return VolumeRecord{ MakerVolume: makerVolume, TakerVolume: takerVolume, @@ -12,16 +12,16 @@ func NewVolumeRecord(makerVolume, takerVolume sdk.Dec) VolumeRecord { } func NewZeroVolumeRecord() VolumeRecord { - return NewVolumeRecord(sdk.ZeroDec(), sdk.ZeroDec()) + return NewVolumeRecord(math.LegacyZeroDec(), math.LegacyZeroDec()) } func (v VolumeRecord) Add(record VolumeRecord) VolumeRecord { if v.MakerVolume.IsNil() { - v.MakerVolume = sdk.ZeroDec() + v.MakerVolume = math.LegacyZeroDec() } if v.TakerVolume.IsNil() { - v.TakerVolume = sdk.ZeroDec() + v.TakerVolume = math.LegacyZeroDec() } if record.IsZero() { @@ -45,8 +45,8 @@ func (v *VolumeRecord) IsZero() bool { return (v.TakerVolume.IsNil() || v.TakerVolume.IsZero()) && (v.MakerVolume.IsNil() || v.MakerVolume.IsZero()) } -func (v *VolumeRecord) Total() sdk.Dec { - totalVolume := sdk.ZeroDec() +func (v *VolumeRecord) Total() math.LegacyDec { + totalVolume := math.LegacyZeroDec() if !v.TakerVolume.IsNil() { totalVolume = totalVolume.Add(v.TakerVolume) } @@ -56,9 +56,9 @@ func (v *VolumeRecord) Total() sdk.Dec { return totalVolume } -func NewVolumeWithSingleType(volume sdk.Dec, isMaker bool) VolumeRecord { +func NewVolumeWithSingleType(volume math.LegacyDec, isMaker bool) VolumeRecord { if isMaker { - return NewVolumeRecord(volume, sdk.ZeroDec()) + return NewVolumeRecord(volume, math.LegacyZeroDec()) } - return NewVolumeRecord(sdk.ZeroDec(), volume) + return NewVolumeRecord(math.LegacyZeroDec(), volume) } diff --git a/chain/exchange/types/wasm_trade_summary.go b/chain/exchange/types/wasm_trade_summary.go index c11c7c1f..c5057bb5 100644 --- a/chain/exchange/types/wasm_trade_summary.go +++ b/chain/exchange/types/wasm_trade_summary.go @@ -4,25 +4,26 @@ import ( "bytes" "sort" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/ethereum/go-ethereum/common" ) type MarketSummary struct { - TotalUserQuantity sdk.Dec - TotalContractQuantity sdk.Dec - TotalUserMargin sdk.Dec - TotalContractMargin sdk.Dec - netQuantity sdk.Dec + TotalUserQuantity math.LegacyDec + TotalContractQuantity math.LegacyDec + TotalUserMargin math.LegacyDec + TotalContractMargin math.LegacyDec + netQuantity math.LegacyDec } func NewMarketSummary() *MarketSummary { return &MarketSummary{ - TotalUserQuantity: sdk.ZeroDec(), - TotalContractQuantity: sdk.ZeroDec(), - TotalUserMargin: sdk.ZeroDec(), - TotalContractMargin: sdk.ZeroDec(), - netQuantity: sdk.ZeroDec(), + TotalUserQuantity: math.LegacyZeroDec(), + TotalContractQuantity: math.LegacyZeroDec(), + TotalUserMargin: math.LegacyZeroDec(), + TotalContractMargin: math.LegacyZeroDec(), + netQuantity: math.LegacyZeroDec(), } } diff --git a/chain/exchange/types/wasm_trades.go b/chain/exchange/types/wasm_trades.go index 045a5d0b..b98311c5 100644 --- a/chain/exchange/types/wasm_trades.go +++ b/chain/exchange/types/wasm_trades.go @@ -1,15 +1,15 @@ package types import ( - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" "github.com/ethereum/go-ethereum/common" ) type PositionTransfer struct { - MarketID common.Hash `json:"market_id"` - SourceSubaccountID common.Hash `json:"source_subaccount_id"` - DestinationSubaccountID common.Hash `json:"destination_subaccount_id"` - Quantity sdk.Dec `json:"quantity"` + MarketID common.Hash `json:"market_id"` + SourceSubaccountID common.Hash `json:"source_subaccount_id"` + DestinationSubaccountID common.Hash `json:"destination_subaccount_id"` + Quantity math.LegacyDec `json:"quantity"` } func (p *PositionTransfer) ValidateBasic() error { @@ -50,12 +50,12 @@ func (a *SyntheticTradeAction) ValidateBasic() error { } type SyntheticTrade struct { - MarketID common.Hash `json:"market_id"` - SubaccountID common.Hash `json:"subaccount_id"` - IsBuy bool `json:"is_buy"` - Quantity sdk.Dec `json:"quantity"` - Price sdk.Dec `json:"price"` - Margin sdk.Dec `json:"margin"` + MarketID common.Hash `json:"market_id"` + SubaccountID common.Hash `json:"subaccount_id"` + IsBuy bool `json:"is_buy"` + Quantity math.LegacyDec `json:"quantity"` + Price math.LegacyDec `json:"price"` + Margin math.LegacyDec `json:"margin"` } func (t *SyntheticTrade) Validate() error { diff --git a/chain/insurance/types/codec.go b/chain/insurance/types/codec.go index 70d5be8a..b20eff35 100644 --- a/chain/insurance/types/codec.go +++ b/chain/insurance/types/codec.go @@ -16,6 +16,8 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgUnderwrite{}, "insurance/MsgUnderwrite", nil) cdc.RegisterConcrete(&MsgRequestRedemption{}, "insurance/MsgRequestRedemption", nil) cdc.RegisterConcrete(&MsgUpdateParams{}, "insurance/MsgUpdateParams", nil) + cdc.RegisterConcrete(&Params{}, "insurance/Params", nil) + } func RegisterInterfaces(registry types.InterfaceRegistry) { @@ -30,21 +32,19 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { } var ( - amino = codec.NewLegacyAmino() - // ModuleCdc references the global x/insurance module codec. Note, the codec should // ONLY be used in certain instances of tests and for JSON encoding as Amino is // still used for that purpose. // // The actual codec used for serialization should be provided to x/insurance and // defined at the application level. - ModuleCdc = codec.NewAminoCodec(amino) + ModuleCdc = codec.NewLegacyAmino() ) func init() { - RegisterLegacyAminoCodec(amino) - cryptocodec.RegisterCrypto(amino) - amino.Seal() + RegisterLegacyAminoCodec(ModuleCdc) + cryptocodec.RegisterCrypto(ModuleCdc) + ModuleCdc.Seal() RegisterLegacyAminoCodec(authzcdc.Amino) } diff --git a/chain/insurance/types/expected_keepers.go b/chain/insurance/types/expected_keepers.go index b52a739f..0e5195ef 100644 --- a/chain/insurance/types/expected_keepers.go +++ b/chain/insurance/types/expected_keepers.go @@ -1,18 +1,20 @@ package types import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" ) // BankKeeper defines the expected bank keeper methods type BankKeeper interface { - GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin - GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins - SendCoinsFromModuleToModule(ctx sdk.Context, senderModule, recipientModule string, amt sdk.Coins) error - 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 - MintCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error - BurnCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error - SetDenomMetaData(ctx sdk.Context, denomMeta banktypes.Metadata) + GetBalance(ctx context.Context, addr sdk.AccAddress, denom string) sdk.Coin + GetAllBalances(ctx context.Context, addr sdk.AccAddress) sdk.Coins + SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error + SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error + MintCoins(ctx context.Context, moduleName string, amt sdk.Coins) error + BurnCoins(ctx context.Context, moduleName string, amt sdk.Coins) error + SetDenomMetaData(ctx context.Context, denomMeta banktypes.Metadata) } diff --git a/chain/insurance/types/insurance.pb.go b/chain/insurance/types/insurance.pb.go index 3756d555..b278e24e 100644 --- a/chain/insurance/types/insurance.pb.go +++ b/chain/insurance/types/insurance.pb.go @@ -4,10 +4,11 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" 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/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types" @@ -88,9 +89,9 @@ type InsuranceFund struct { // 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"` + Balance cosmossdk_io_math.Int `protobuf:"bytes,4,opt,name=balance,proto3,customtype=cosmossdk.io/math.Int" json:"balance"` // total share tokens minted - TotalShare github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,5,opt,name=total_share,json=totalShare,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"total_share"` + TotalShare cosmossdk_io_math.Int `protobuf:"bytes,5,opt,name=total_share,json=totalShare,proto3,customtype=cosmossdk.io/math.Int" json:"total_share"` // marketID of the derivative market MarketId string `protobuf:"bytes,6,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` // ticker of the derivative market @@ -296,53 +297,55 @@ func init() { } var fileDescriptor_dbc47a7b76393948 = []byte{ - // 736 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0x31, 0x6f, 0xd3, 0x40, - 0x14, 0x8e, 0xd3, 0x34, 0x6d, 0x2e, 0x6d, 0x05, 0x27, 0x44, 0xdd, 0x54, 0x72, 0xd2, 0x40, 0x51, - 0x10, 0xd4, 0xa6, 0x85, 0xa9, 0xb0, 0x10, 0x0a, 0x22, 0x52, 0x45, 0x8b, 0x9b, 0x89, 0xc5, 0x3a, - 0xdb, 0xd7, 0xe4, 0x88, 0xed, 0x33, 0xf6, 0xb9, 0x22, 0x3b, 0x33, 0xea, 0x88, 0x98, 0xf8, 0x0b, - 0xfd, 0x0b, 0x4c, 0x1d, 0x3b, 0x22, 0x86, 0x82, 0xda, 0x85, 0x99, 0x5f, 0x80, 0xee, 0x7c, 0xb6, - 0x23, 0x10, 0xb4, 0x62, 0xb2, 0xdf, 0x7b, 0xdf, 0x7b, 0xf7, 0xee, 0x7b, 0xdf, 0x3b, 0x70, 0x87, - 0x04, 0xaf, 0xb1, 0xc3, 0xc8, 0x01, 0x36, 0x48, 0x10, 0x27, 0x11, 0x0a, 0x1c, 0x6c, 0x1c, 0xac, - 0xdb, 0x98, 0xa1, 0xf5, 0xc2, 0xa3, 0x87, 0x11, 0x65, 0x14, 0x2e, 0xe7, 0x60, 0xbd, 0x08, 0x49, - 0x70, 0xe3, 0xda, 0x80, 0x0e, 0xa8, 0xc0, 0x19, 0xfc, 0x2f, 0x4d, 0x69, 0x68, 0x03, 0x4a, 0x07, - 0x1e, 0x36, 0x84, 0x65, 0x27, 0xfb, 0x86, 0x9b, 0x44, 0x88, 0x11, 0x1a, 0xc8, 0x78, 0xf3, 0xf7, - 0x38, 0x23, 0x3e, 0x8e, 0x19, 0xf2, 0xc3, 0xac, 0x80, 0x43, 0x63, 0x9f, 0xc6, 0x86, 0x8d, 0xe2, - 0xa2, 0x31, 0x87, 0x92, 0xac, 0xc0, 0x6a, 0x71, 0x01, 0x1a, 0x21, 0xc7, 0x2b, 0x40, 0xa9, 0x99, - 0xc2, 0xda, 0x9f, 0x15, 0x50, 0xdd, 0x45, 0x11, 0xf2, 0x63, 0x78, 0xa4, 0x80, 0xdb, 0x2e, 0xde, - 0x47, 0x89, 0xc7, 0xac, 0x08, 0xbb, 0xd8, 0x0f, 0x79, 0x3f, 0x56, 0x40, 0x19, 0x71, 0xb0, 0x15, - 0xe2, 0x88, 0x50, 0xd7, 0xca, 0xda, 0x54, 0x95, 0x96, 0xd2, 0xa9, 0x6f, 0x2c, 0xe9, 0x69, 0x9f, - 0x7a, 0xd6, 0xa7, 0xbe, 0x25, 0x01, 0xdd, 0x47, 0xc7, 0xa7, 0xcd, 0xd2, 0xcf, 0xd3, 0xe6, 0xbd, - 0x31, 0xf2, 0xbd, 0xcd, 0xf6, 0xa5, 0x2b, 0xb7, 0x3f, 0x7c, 0x6b, 0x2a, 0xe6, 0xaa, 0xc4, 0x9b, - 0x39, 0xfc, 0x85, 0x40, 0xef, 0x0a, 0x70, 0x76, 0xc8, 0x66, 0xe5, 0xc7, 0xa7, 0xa6, 0xd2, 0x7e, - 0x3f, 0x0d, 0xe6, 0x7b, 0x19, 0xf1, 0xcf, 0x92, 0xc0, 0x85, 0x37, 0xc0, 0xbc, 0x8b, 0x43, 0x1a, - 0x13, 0x66, 0xb9, 0x38, 0xa0, 0xbe, 0x68, 0xb7, 0x66, 0xce, 0x49, 0xe7, 0x16, 0xf7, 0xc1, 0x87, - 0xa0, 0x91, 0x8f, 0xcb, 0x0a, 0x29, 0xf5, 0x2c, 0x46, 0x47, 0x38, 0x90, 0x19, 0x65, 0x91, 0xb1, - 0x98, 0x23, 0x76, 0x29, 0xf5, 0xfa, 0x3c, 0x9e, 0x26, 0x7f, 0x54, 0xc0, 0xca, 0xc5, 0x2c, 0x4d, - 0x5d, 0xc4, 0xd2, 0x03, 0xc9, 0x52, 0x27, 0x65, 0xe9, 0x92, 0xec, 0x68, 0xd1, 0x3f, 0x69, 0x81, - 0xcf, 0xc1, 0x8c, 0x8d, 0x3c, 0xde, 0xb5, 0x5a, 0xe1, 0xd7, 0xe8, 0xea, 0xfc, 0x98, 0xaf, 0xa7, - 0xcd, 0x5b, 0x03, 0xc2, 0x86, 0x89, 0xad, 0x3b, 0xd4, 0x37, 0xa4, 0x80, 0xd2, 0xcf, 0x5a, 0xec, - 0x8e, 0x0c, 0x36, 0x0e, 0x71, 0xac, 0xf7, 0x02, 0x66, 0x66, 0xe9, 0x70, 0x07, 0xd4, 0x19, 0x65, - 0xc8, 0xb3, 0xe2, 0x21, 0x8a, 0xb0, 0x3a, 0xfd, 0x5f, 0xd5, 0x80, 0x28, 0xb1, 0xc7, 0x2b, 0xc0, - 0x65, 0x50, 0xf3, 0x51, 0x34, 0xc2, 0xcc, 0x22, 0xae, 0x5a, 0x15, 0x1c, 0xcf, 0xa6, 0x8e, 0x9e, - 0x18, 0x9b, 0x0c, 0x32, 0xe2, 0x8c, 0x70, 0xa4, 0xce, 0xa4, 0x63, 0x4b, 0x9d, 0x7d, 0xe1, 0x83, - 0x4d, 0x50, 0x4f, 0x25, 0x6c, 0x71, 0xed, 0xab, 0xb3, 0x02, 0x02, 0x52, 0x57, 0x17, 0xc5, 0x18, - 0xae, 0x80, 0x39, 0x09, 0x78, 0x93, 0x50, 0x86, 0xd5, 0x9a, 0x40, 0xc8, 0xa4, 0x97, 0xdc, 0x05, - 0x9f, 0xe6, 0x35, 0x78, 0x97, 0x2a, 0x68, 0x29, 0x9d, 0x85, 0x8d, 0x9b, 0x7a, 0xb1, 0xc7, 0x72, - 0x49, 0xe4, 0xce, 0xe8, 0x3b, 0xc2, 0xec, 0x8f, 0x43, 0x9c, 0x9d, 0xc4, 0xff, 0xe1, 0x75, 0x50, - 0xc5, 0x6f, 0x43, 0x12, 0x8d, 0xd5, 0x7a, 0x4b, 0xe9, 0x4c, 0x99, 0xd2, 0x6a, 0x1f, 0x95, 0x01, - 0x2c, 0x94, 0xbb, 0xe7, 0x0c, 0xb1, 0x9b, 0x78, 0x18, 0x2e, 0x80, 0x32, 0x71, 0x85, 0x14, 0x2b, - 0x66, 0x99, 0xb8, 0xb0, 0x01, 0xf2, 0xab, 0x4b, 0xb9, 0x15, 0x54, 0x34, 0xc0, 0x2c, 0x1f, 0x32, - 0xf6, 0x71, 0x24, 0x54, 0x54, 0x33, 0x73, 0x1b, 0xbe, 0x53, 0xc0, 0x92, 0xe3, 0x21, 0xe2, 0x23, - 0xdb, 0xc3, 0x93, 0x1b, 0xc5, 0x1f, 0x09, 0x31, 0xf1, 0xfa, 0x46, 0xe3, 0x0f, 0xcd, 0xf5, 0xb3, - 0x17, 0xa4, 0x7b, 0x57, 0x8a, 0xae, 0x95, 0x8a, 0xee, 0xaf, 0xa5, 0xda, 0x87, 0x5c, 0x6c, 0x8b, - 0x79, 0xbc, 0xb8, 0x12, 0xaf, 0x05, 0xb7, 0xc1, 0xd5, 0x89, 0x04, 0xe4, 0xd3, 0x24, 0x60, 0x42, - 0x21, 0x5c, 0xf1, 0xa9, 0x10, 0x74, 0x3e, 0xa2, 0x9c, 0xc5, 0x27, 0x94, 0x04, 0xdd, 0x0a, 0x3f, - 0xdc, 0xbc, 0x52, 0x64, 0x3e, 0x16, 0x89, 0x5d, 0x72, 0x7c, 0xa6, 0x29, 0x27, 0x67, 0x9a, 0xf2, - 0xfd, 0x4c, 0x53, 0x0e, 0xcf, 0xb5, 0xd2, 0xc9, 0xb9, 0x56, 0xfa, 0x72, 0xae, 0x95, 0x5e, 0xed, - 0x4c, 0xc8, 0xac, 0x97, 0x4d, 0x68, 0x1b, 0xd9, 0xb1, 0x91, 0xcf, 0x6b, 0xcd, 0xa1, 0x11, 0x9e, - 0x34, 0x87, 0x88, 0x04, 0x86, 0x4f, 0x39, 0xed, 0xf1, 0xc4, 0x0b, 0x2e, 0x34, 0x69, 0x57, 0x05, - 0x27, 0xf7, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x78, 0x7e, 0xa2, 0xae, 0xe5, 0x05, 0x00, 0x00, + // 759 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0x41, 0x6f, 0xd3, 0x48, + 0x14, 0x8e, 0xd3, 0x6c, 0xda, 0x4c, 0xda, 0xaa, 0x1d, 0xed, 0x6e, 0xdd, 0x54, 0xeb, 0xa4, 0xd9, + 0xad, 0x94, 0xdd, 0x05, 0x9b, 0x16, 0x24, 0xa4, 0x82, 0x90, 0x08, 0x05, 0x29, 0x52, 0x45, 0x8b, + 0x9b, 0x13, 0x17, 0x6b, 0x6c, 0x4f, 0x93, 0x21, 0xb6, 0xc7, 0xd8, 0xe3, 0x8a, 0xdc, 0x39, 0x71, + 0xea, 0x11, 0x71, 0xe2, 0x27, 0xd0, 0x7f, 0xd1, 0x63, 0x6f, 0x20, 0x0e, 0x05, 0xb5, 0x07, 0x38, + 0x70, 0xe2, 0x17, 0xa0, 0x19, 0x8f, 0xed, 0x08, 0x04, 0xed, 0xc5, 0xf2, 0x7b, 0xef, 0x7b, 0x6f, + 0xde, 0xfb, 0xde, 0x37, 0x03, 0xfe, 0x27, 0xc1, 0x13, 0xec, 0x30, 0x72, 0x80, 0x0d, 0x12, 0xc4, + 0x49, 0x84, 0x02, 0x07, 0x1b, 0x07, 0xeb, 0x36, 0x66, 0x68, 0xbd, 0xf0, 0xe8, 0x61, 0x44, 0x19, + 0x85, 0x2b, 0x39, 0x58, 0x2f, 0x42, 0x12, 0xdc, 0xf8, 0x7d, 0x40, 0x07, 0x54, 0xe0, 0x0c, 0xfe, + 0x97, 0xa6, 0x34, 0xb4, 0x01, 0xa5, 0x03, 0x0f, 0x1b, 0xc2, 0xb2, 0x93, 0x7d, 0xc3, 0x4d, 0x22, + 0xc4, 0x08, 0x0d, 0x64, 0xbc, 0xf9, 0x7d, 0x9c, 0x11, 0x1f, 0xc7, 0x0c, 0xf9, 0x61, 0x56, 0xc0, + 0xa1, 0xb1, 0x4f, 0x63, 0xc3, 0x46, 0x71, 0xd1, 0x98, 0x43, 0x49, 0x56, 0x60, 0xad, 0x18, 0x80, + 0x46, 0xc8, 0xf1, 0x0a, 0x50, 0x6a, 0x4a, 0xd8, 0x22, 0xf2, 0x49, 0x40, 0x0d, 0xf1, 0x4d, 0x5d, + 0xed, 0xb7, 0x0a, 0xa8, 0xee, 0xa2, 0x08, 0xf9, 0x31, 0x3c, 0x52, 0xc0, 0xbf, 0x2e, 0xde, 0x47, + 0x89, 0xc7, 0xac, 0x08, 0xbb, 0xd8, 0x0f, 0x79, 0x8b, 0x56, 0x40, 0x19, 0x71, 0xb0, 0x15, 0xe2, + 0x88, 0x50, 0xd7, 0xca, 0x3a, 0x57, 0x95, 0x96, 0xd2, 0xa9, 0x6f, 0x2c, 0xeb, 0x69, 0xeb, 0x7a, + 0xd6, 0xba, 0xbe, 0x25, 0x01, 0xdd, 0xdb, 0xc7, 0xa7, 0xcd, 0xd2, 0xd7, 0xd3, 0xe6, 0xb5, 0x31, + 0xf2, 0xbd, 0xcd, 0xf6, 0xa5, 0x2b, 0xb7, 0x5f, 0x7e, 0x68, 0x2a, 0xe6, 0x9a, 0xc4, 0x9b, 0x39, + 0xfc, 0xa1, 0x40, 0xef, 0x0a, 0x70, 0x76, 0xc8, 0xe6, 0xf2, 0xe7, 0xd7, 0x4d, 0xe5, 0xc5, 0xa7, + 0x37, 0xff, 0x2d, 0x14, 0x8b, 0x4b, 0xc7, 0x69, 0x7f, 0xa9, 0x80, 0xb9, 0x5e, 0xe6, 0x7c, 0x90, + 0x04, 0x2e, 0xfc, 0x1b, 0xcc, 0xb9, 0x38, 0xa4, 0x31, 0x61, 0x96, 0x8b, 0x03, 0xea, 0x8b, 0x19, + 0x6a, 0xe6, 0xac, 0x74, 0x6e, 0x71, 0x1f, 0xbc, 0x05, 0x1a, 0x79, 0x29, 0x2b, 0xa4, 0xd4, 0xb3, + 0x18, 0x1d, 0xe1, 0x40, 0x66, 0x94, 0x45, 0xc6, 0x52, 0x8e, 0xd8, 0xa5, 0xd4, 0xeb, 0xf3, 0x78, + 0x9a, 0xfc, 0x4a, 0x01, 0xab, 0x17, 0x53, 0x37, 0x75, 0x11, 0x75, 0x37, 0x24, 0x75, 0x9d, 0x94, + 0xba, 0x4b, 0x52, 0xa6, 0x45, 0xbf, 0xe4, 0x0a, 0xde, 0x04, 0xd3, 0x36, 0xf2, 0x78, 0xd7, 0x6a, + 0x85, 0x8f, 0xd1, 0xfd, 0x8b, 0x1f, 0xf3, 0xfe, 0xb4, 0xf9, 0x47, 0xaa, 0xae, 0xd8, 0x1d, 0xe9, + 0x84, 0x1a, 0x3e, 0x62, 0x43, 0xbd, 0x17, 0x30, 0x33, 0x43, 0xc3, 0x3b, 0xa0, 0xce, 0x28, 0x43, + 0x9e, 0x15, 0x0f, 0x51, 0x84, 0xd5, 0xdf, 0x2e, 0x93, 0x0c, 0x44, 0xc6, 0x1e, 0x4f, 0x80, 0x2b, + 0xa0, 0xe6, 0xa3, 0x68, 0x84, 0x99, 0x45, 0x5c, 0xb5, 0x2a, 0x18, 0x9c, 0x49, 0x1d, 0x3d, 0xb1, + 0x14, 0x19, 0x64, 0xc4, 0x19, 0xe1, 0x48, 0x9d, 0x4e, 0x97, 0x92, 0x3a, 0xfb, 0xc2, 0x07, 0x9b, + 0xa0, 0x9e, 0x0a, 0xd9, 0xe2, 0x37, 0x40, 0x9d, 0x11, 0x10, 0x90, 0xba, 0xba, 0x28, 0xc6, 0x70, + 0x15, 0xcc, 0x4a, 0xc0, 0xd3, 0x84, 0x32, 0xac, 0xd6, 0x04, 0x42, 0x26, 0x3d, 0xe2, 0x2e, 0x78, + 0x3f, 0xaf, 0xc1, 0xc6, 0x21, 0x56, 0x41, 0x4b, 0xe9, 0xcc, 0x6f, 0xfc, 0xa3, 0x17, 0xb7, 0x59, + 0x5e, 0x15, 0x79, 0x73, 0xf4, 0x1d, 0x61, 0xf6, 0xc7, 0x21, 0xce, 0x4e, 0xe2, 0xff, 0xf0, 0x4f, + 0x50, 0xc5, 0xcf, 0x42, 0x12, 0x8d, 0xd5, 0x7a, 0x4b, 0xe9, 0x4c, 0x99, 0xd2, 0x6a, 0x1f, 0x95, + 0x01, 0x2c, 0xc4, 0xba, 0xe7, 0x0c, 0xb1, 0x9b, 0x78, 0x18, 0xce, 0x83, 0x32, 0x71, 0x85, 0xd0, + 0x2a, 0x66, 0x99, 0xb8, 0xb0, 0x01, 0xf2, 0xd1, 0xa5, 0x98, 0x0a, 0x2a, 0x1a, 0x60, 0x86, 0xaf, + 0x10, 0xfb, 0x38, 0x12, 0x1a, 0xa9, 0x99, 0xb9, 0x0d, 0x9f, 0x2b, 0x60, 0xd9, 0xf1, 0x10, 0xf1, + 0x91, 0xed, 0xe1, 0xc9, 0x4b, 0xc4, 0x9f, 0x0a, 0xb1, 0xcf, 0xfa, 0x46, 0xe3, 0x07, 0x45, 0xf5, + 0xb3, 0x77, 0xa4, 0x7b, 0x45, 0x4a, 0xaa, 0x95, 0x4a, 0xea, 0xa7, 0xa5, 0xda, 0x87, 0x5c, 0x4a, + 0x4b, 0x79, 0xbc, 0x18, 0x89, 0xd7, 0x82, 0xdb, 0x60, 0x71, 0x22, 0x01, 0xf9, 0x34, 0x09, 0x98, + 0x10, 0x04, 0xd7, 0x73, 0xaa, 0x04, 0x9d, 0xaf, 0x28, 0x67, 0xf1, 0x1e, 0x25, 0x41, 0xb7, 0xc2, + 0x0f, 0x37, 0x17, 0x8a, 0xcc, 0xbb, 0x22, 0xb1, 0x4b, 0x8e, 0xcf, 0x34, 0xe5, 0xe4, 0x4c, 0x53, + 0x3e, 0x9e, 0x69, 0xca, 0xe1, 0xb9, 0x56, 0x3a, 0x39, 0xd7, 0x4a, 0xef, 0xce, 0xb5, 0xd2, 0xe3, + 0x9d, 0x01, 0x61, 0xc3, 0xc4, 0xd6, 0x1d, 0xea, 0x1b, 0xbd, 0x6c, 0x43, 0xdb, 0xc8, 0x8e, 0x8d, + 0x7c, 0x5f, 0x57, 0x1d, 0x1a, 0xe1, 0x49, 0x73, 0x88, 0x48, 0x60, 0xf8, 0x94, 0xd3, 0x1e, 0x4f, + 0xbc, 0xe3, 0x7c, 0xdb, 0xb1, 0x5d, 0x15, 0x9c, 0x5c, 0xff, 0x16, 0x00, 0x00, 0xff, 0xff, 0x4b, + 0x5b, 0xe9, 0xd1, 0xeb, 0x05, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { diff --git a/chain/insurance/types/msgs.go b/chain/insurance/types/msgs.go index b1c7d01d..689f01f8 100644 --- a/chain/insurance/types/msgs.go +++ b/chain/insurance/types/msgs.go @@ -61,8 +61,8 @@ func (msg MsgCreateInsuranceFund) ValidateBasic() error { if msg.Sender == "" { return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } - if msg.Ticker == "" { - return errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + if msg.Ticker == "" || len(msg.Ticker) > 40 { + return errors.Wrapf(ErrInvalidTicker, "ticker should not be empty or exceed 40 characters") } if msg.QuoteDenom == "" { return errors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") diff --git a/chain/insurance/types/params.go b/chain/insurance/types/params.go index 2132f426..7cd8f19a 100644 --- a/chain/insurance/types/params.go +++ b/chain/insurance/types/params.go @@ -4,7 +4,7 @@ import ( "fmt" "time" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" ) @@ -18,7 +18,7 @@ const ( ) // MaxUnderwritingAmount equals 1 trillion * 1e18 -var MaxUnderwritingAmount, _ = sdk.NewIntFromString("1000000000000000000000000000") +var MaxUnderwritingAmount, _ = math.NewIntFromString("1000000000000000000000000000") var PerpetualExpiryFlag int64 = -1 var BinaryOptionsExpiryFlag int64 = -2 diff --git a/chain/insurance/types/tx.pb.go b/chain/insurance/types/tx.pb.go index 846919ee..0f1e3c31 100644 --- a/chain/insurance/types/tx.pb.go +++ b/chain/insurance/types/tx.pb.go @@ -10,6 +10,7 @@ import ( _ "github.com/cosmos/cosmos-proto" types1 "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -393,53 +394,56 @@ func init() { } var fileDescriptor_7e1fa941c3fd0dc4 = []byte{ - // 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, + // 771 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x4f, 0x4f, 0xdb, 0x48, + 0x14, 0x8f, 0x37, 0x6c, 0x80, 0x81, 0x05, 0xe1, 0x65, 0x89, 0x13, 0x56, 0x4e, 0x36, 0xcb, 0x4a, + 0x11, 0x0b, 0xb6, 0x12, 0x56, 0x6c, 0x49, 0x4f, 0x04, 0x5a, 0x15, 0xa9, 0x11, 0x6d, 0xda, 0x5e, + 0x7a, 0x89, 0x26, 0xf6, 0xc8, 0x4c, 0x89, 0x3d, 0xc6, 0x33, 0xa6, 0xe4, 0xd8, 0x5e, 0x5a, 0xf5, + 0xc4, 0x47, 0xe0, 0x23, 0x70, 0xe8, 0xa9, 0xea, 0x07, 0xe0, 0x88, 0x7a, 0xea, 0xa9, 0xaa, 0xe0, + 0x40, 0xbf, 0x40, 0xef, 0x95, 0x3d, 0x63, 0x3b, 0x29, 0xe1, 0xef, 0x25, 0xf1, 0x7b, 0xef, 0xf7, + 0x7e, 0xf3, 0xfb, 0xcd, 0x1b, 0x8f, 0xc1, 0x1c, 0x76, 0x5e, 0x20, 0x83, 0xe1, 0x5d, 0xa4, 0x63, + 0x87, 0xfa, 0x1e, 0x74, 0x0c, 0xa4, 0xef, 0x56, 0xda, 0x88, 0xc1, 0x8a, 0xce, 0xf6, 0x34, 0xd7, + 0x23, 0x8c, 0xc8, 0xb3, 0x31, 0x4a, 0x8b, 0x51, 0x9a, 0x40, 0xe5, 0xa7, 0x2d, 0x62, 0x91, 0x10, + 0xa7, 0x07, 0x4f, 0xbc, 0x25, 0xaf, 0x1a, 0x84, 0xda, 0x84, 0xea, 0x6d, 0x48, 0x13, 0x42, 0x83, + 0x60, 0x47, 0xd4, 0xb3, 0xa2, 0x6e, 0x53, 0x4b, 0xdf, 0xad, 0x04, 0x7f, 0xa2, 0x90, 0xe3, 0x85, + 0x16, 0x67, 0xe4, 0x81, 0x28, 0xfd, 0x7b, 0x99, 0xd8, 0x44, 0x18, 0x07, 0xff, 0x93, 0x80, 0x89, + 0x07, 0x8d, 0x4e, 0x82, 0xe4, 0xa1, 0x80, 0x4d, 0x41, 0x1b, 0x3b, 0x44, 0x0f, 0x7f, 0x79, 0xaa, + 0xb4, 0x9f, 0x06, 0x33, 0x0d, 0x6a, 0xad, 0x79, 0x08, 0x32, 0xb4, 0x11, 0xd1, 0xde, 0xf7, 0x1d, + 0x53, 0x9e, 0x01, 0x19, 0x8a, 0x1c, 0x13, 0x79, 0x8a, 0x54, 0x94, 0xca, 0xa3, 0x4d, 0x11, 0x05, + 0x79, 0x86, 0x8d, 0x6d, 0xe4, 0x29, 0xbf, 0xf0, 0x3c, 0x8f, 0xe4, 0x02, 0x18, 0xdb, 0xf1, 0x09, + 0x43, 0x2d, 0x13, 0x39, 0xc4, 0x56, 0xd2, 0x61, 0x11, 0x84, 0xa9, 0xf5, 0x20, 0x13, 0x00, 0xb8, + 0x9c, 0x56, 0xb0, 0x51, 0xca, 0x10, 0x07, 0xf0, 0x54, 0x1d, 0x52, 0x24, 0xff, 0x05, 0xc6, 0x05, + 0x20, 0xec, 0x52, 0x7e, 0x0d, 0x11, 0xa2, 0xe9, 0x71, 0x90, 0x92, 0xef, 0xc5, 0x1c, 0xac, 0xeb, + 0x22, 0x25, 0x53, 0x94, 0xca, 0x13, 0xd5, 0x39, 0x2d, 0x99, 0x99, 0x30, 0x2c, 0xfc, 0x6b, 0x9b, + 0x61, 0xf8, 0xb4, 0xeb, 0xa2, 0x68, 0xa5, 0xe0, 0x39, 0xf0, 0x80, 0xf6, 0x5c, 0xec, 0x75, 0x95, + 0xe1, 0xa2, 0x54, 0x4e, 0x37, 0x45, 0x24, 0x3f, 0x00, 0x93, 0xd8, 0xc1, 0x0c, 0xc3, 0x4e, 0xcb, + 0x44, 0x2e, 0xa1, 0x98, 0x29, 0x23, 0x45, 0xa9, 0x3c, 0x56, 0xcd, 0x69, 0x62, 0x3a, 0x81, 0xf4, + 0x98, 0x7d, 0x8d, 0x60, 0xa7, 0x3e, 0x74, 0xf4, 0xa5, 0x90, 0x6a, 0x4e, 0x88, 0xbe, 0x75, 0xde, + 0x56, 0xbb, 0xf3, 0xf6, 0xa0, 0x90, 0xfa, 0x76, 0x50, 0x48, 0xbd, 0x3e, 0x3b, 0x9c, 0x17, 0x5b, + 0xf7, 0xee, 0xec, 0x70, 0xbe, 0x98, 0x4c, 0x73, 0xf0, 0xbe, 0x97, 0x8a, 0x40, 0x1d, 0x5c, 0x69, + 0x22, 0xea, 0x12, 0x87, 0xa2, 0xd2, 0xa1, 0x04, 0x7e, 0x6b, 0x50, 0xeb, 0x59, 0xc0, 0xf9, 0xd2, + 0xc3, 0x0c, 0x5d, 0x38, 0xab, 0x59, 0x30, 0x6a, 0x43, 0x6f, 0x1b, 0xb1, 0x16, 0x36, 0xc5, 0xb8, + 0x46, 0x78, 0x62, 0xc3, 0x94, 0x57, 0xc0, 0x70, 0x64, 0x32, 0x7d, 0x3d, 0x93, 0x11, 0xbe, 0xa6, + 0x5f, 0xe0, 0x2e, 0xdb, 0xe7, 0x2e, 0x11, 0x58, 0xca, 0x82, 0x3f, 0xfa, 0x12, 0xb1, 0x97, 0x8f, + 0x12, 0x98, 0x6e, 0x50, 0xab, 0x89, 0x76, 0x7c, 0x44, 0x59, 0x13, 0x99, 0xc8, 0x76, 0x19, 0x26, + 0xce, 0xed, 0x2c, 0xfd, 0x0f, 0x32, 0xd0, 0x26, 0xbe, 0x73, 0x6d, 0x47, 0x02, 0x5e, 0x5b, 0xbe, + 0xc0, 0x90, 0xda, 0x67, 0xe8, 0x9c, 0xca, 0x92, 0x0a, 0xfe, 0x1c, 0x94, 0x8f, 0xed, 0x7d, 0x90, + 0xc0, 0x64, 0x60, 0xdc, 0x35, 0x21, 0x43, 0x8f, 0xa0, 0x07, 0x6d, 0x2a, 0x2f, 0x83, 0x51, 0xe8, + 0xb3, 0x2d, 0xe2, 0x61, 0xd6, 0xe5, 0xe6, 0xea, 0xca, 0xa7, 0xf7, 0x8b, 0xd3, 0x42, 0xea, 0xaa, + 0x69, 0x7a, 0x88, 0xd2, 0x27, 0xcc, 0xc3, 0x8e, 0xd5, 0x4c, 0xa0, 0xf2, 0x2a, 0xc8, 0xb8, 0x21, + 0x43, 0x68, 0x7b, 0xac, 0xfa, 0xb7, 0x76, 0xc9, 0x55, 0xa5, 0xf1, 0xc5, 0x22, 0x9b, 0xbc, 0xb1, + 0xb6, 0x10, 0xd8, 0x4b, 0x28, 0x03, 0x87, 0xb9, 0xfe, 0x91, 0xf5, 0x08, 0x2d, 0xe5, 0x40, 0xf6, + 0xa7, 0x54, 0xe4, 0xab, 0xfa, 0x3d, 0x0d, 0xd2, 0x0d, 0x6a, 0xc9, 0x6f, 0x24, 0xf0, 0xfb, 0xa0, + 0xcb, 0x63, 0xe9, 0x52, 0x6d, 0x83, 0xcf, 0x77, 0xfe, 0xee, 0x2d, 0x9a, 0x22, 0x45, 0x72, 0x07, + 0x80, 0x9e, 0x17, 0x62, 0xfe, 0x2a, 0xaa, 0x04, 0x9b, 0xaf, 0x5e, 0x1f, 0x1b, 0xaf, 0xf6, 0x4a, + 0x02, 0x53, 0xe7, 0xcf, 0x6c, 0xe5, 0x2a, 0xa6, 0x73, 0x2d, 0xf9, 0x95, 0x1b, 0xb7, 0xc4, 0x1a, + 0x3c, 0x30, 0xde, 0x77, 0xae, 0x16, 0xae, 0xf4, 0xd1, 0x83, 0xce, 0xff, 0x77, 0x13, 0x74, 0xb4, + 0x66, 0x1d, 0x1f, 0x9d, 0xa8, 0xd2, 0xf1, 0x89, 0x2a, 0x7d, 0x3d, 0x51, 0xa5, 0xfd, 0x53, 0x35, + 0x75, 0x7c, 0xaa, 0xa6, 0x3e, 0x9f, 0xaa, 0xa9, 0xe7, 0x9b, 0x16, 0x66, 0x5b, 0x7e, 0x5b, 0x33, + 0x88, 0xad, 0x6f, 0x44, 0xcc, 0x0f, 0x61, 0x9b, 0xea, 0xf1, 0x3a, 0x8b, 0x06, 0xf1, 0x50, 0x6f, + 0xb8, 0x05, 0xb1, 0xa3, 0xdb, 0xc4, 0xf4, 0x3b, 0x88, 0xf6, 0x7c, 0xe6, 0x82, 0xab, 0x9d, 0xb6, + 0x33, 0xe1, 0x17, 0x6a, 0xe9, 0x47, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc4, 0x1c, 0x9e, 0x97, 0xb7, + 0x07, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/ocr/types/codec.go b/chain/ocr/types/codec.go index 01261381..f9ff9d2b 100644 --- a/chain/ocr/types/codec.go +++ b/chain/ocr/types/codec.go @@ -7,9 +7,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" 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 @@ -27,6 +25,8 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&SetConfigProposal{}, "ocr/SetConfigProposal", nil) cdc.RegisterConcrete(&SetBatchConfigProposal{}, "ocr/SetBatchConfigProposal", nil) + cdc.RegisterConcrete(&Params{}, "ocr/Params", nil) + } func RegisterInterfaces(registry types.InterfaceRegistry) { @@ -52,23 +52,22 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { } var ( - amino = codec.NewLegacyAmino() - // ModuleCdc references the global modules/ocr module codec. Note, the codec should // ONLY be used in certain instances of tests and for JSON encoding as Amino is // still used for that purpose. // // The actual codec used for serialization should be provided to x/insurance and // defined at the application level. - ModuleCdc = codec.NewAminoCodec(amino) + ModuleCdc = codec.NewLegacyAmino() ) func init() { - RegisterLegacyAminoCodec(amino) - cryptocodec.RegisterCrypto(amino) - amino.Seal() + RegisterLegacyAminoCodec(ModuleCdc) + cryptocodec.RegisterCrypto(ModuleCdc) + ModuleCdc.Seal() - RegisterLegacyAminoCodec(govcdc.Amino) - RegisterLegacyAminoCodec(groupcdc.Amino) + // TODO: check + // RegisterLegacyAminoCodec(govcdc.Amino) + // RegisterLegacyAminoCodec(groupcdc.Amino) RegisterLegacyAminoCodec(authzcdc.Amino) } diff --git a/chain/ocr/types/expected_keepers.go b/chain/ocr/types/expected_keepers.go index 0475503f..feb64c63 100644 --- a/chain/ocr/types/expected_keepers.go +++ b/chain/ocr/types/expected_keepers.go @@ -1,6 +1,8 @@ package types import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" bank "github.com/cosmos/cosmos-sdk/x/bank/types" params "github.com/cosmos/cosmos-sdk/x/params/types" @@ -16,12 +18,12 @@ type ParamSubspace interface { // BankKeeper defines the expected bank keeper methods type BankKeeper interface { - GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin - GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins - SendCoinsFromModuleToModule(ctx sdk.Context, senderModule, recipientModule string, amt sdk.Coins) error - 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 - MintCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error - BurnCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error - SetDenomMetaData(ctx sdk.Context, denomMeta bank.Metadata) + GetBalance(ctx context.Context, addr sdk.AccAddress, denom string) sdk.Coin + GetAllBalances(ctx context.Context, addr sdk.AccAddress) sdk.Coins + SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error + SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error + MintCoins(ctx context.Context, moduleName string, amt sdk.Coins) error + BurnCoins(ctx context.Context, moduleName string, amt sdk.Coins) error + SetDenomMetaData(ctx context.Context, denomMeta bank.Metadata) } diff --git a/chain/ocr/types/hooks.go b/chain/ocr/types/hooks.go index 20746bb7..5bec4b95 100644 --- a/chain/ocr/types/hooks.go +++ b/chain/ocr/types/hooks.go @@ -1,12 +1,13 @@ package types import ( + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" ) type OcrHooks interface { AfterSetFeedConfig(ctx sdk.Context, feedConfig *FeedConfig) - AfterTransmit(ctx sdk.Context, feedId string, answer sdk.Dec, timestamp int64) + AfterTransmit(ctx sdk.Context, feedId string, answer math.LegacyDec, timestamp int64) AfterFundFeedRewardPool(ctx sdk.Context, feedId string, newPoolAmount sdk.Coin) } @@ -24,7 +25,7 @@ func (h MultiOcrHooks) AfterSetFeedConfig(ctx sdk.Context, feedConfig *FeedConfi } } -func (h MultiOcrHooks) AfterTransmit(ctx sdk.Context, feedId string, answer sdk.Dec, timestamp int64) { +func (h MultiOcrHooks) AfterTransmit(ctx sdk.Context, feedId string, answer math.LegacyDec, timestamp int64) { for i := range h { h[i].AfterTransmit(ctx, feedId, answer, timestamp) } diff --git a/chain/ocr/types/ocr.pb.go b/chain/ocr/types/ocr.pb.go index d80ac284..d165290e 100644 --- a/chain/ocr/types/ocr.pb.go +++ b/chain/ocr/types/ocr.pb.go @@ -4,10 +4,11 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" 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/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types" @@ -278,13 +279,13 @@ type ModuleParams 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"` // lowest answer the median of a report is allowed to be - MinAnswer github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=min_answer,json=minAnswer,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_answer"` + MinAnswer cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=min_answer,json=minAnswer,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_answer"` // highest answer the median of a report is allowed to be - MaxAnswer github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=max_answer,json=maxAnswer,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"max_answer"` + MaxAnswer cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=max_answer,json=maxAnswer,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"max_answer"` // Fixed LINK reward for each observer - LinkPerObservation github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,4,opt,name=link_per_observation,json=linkPerObservation,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"link_per_observation"` + LinkPerObservation cosmossdk_io_math.Int `protobuf:"bytes,4,opt,name=link_per_observation,json=linkPerObservation,proto3,customtype=cosmossdk.io/math.Int" json:"link_per_observation"` // Fixed LINK reward for transmitter - LinkPerTransmission github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,5,opt,name=link_per_transmission,json=linkPerTransmission,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"link_per_transmission"` + LinkPerTransmission cosmossdk_io_math.Int `protobuf:"bytes,5,opt,name=link_per_transmission,json=linkPerTransmission,proto3,customtype=cosmossdk.io/math.Int" json:"link_per_transmission"` // Native denom for LINK coin in the bank keeper LinkDenom string `protobuf:"bytes,6,opt,name=link_denom,json=linkDenom,proto3" json:"link_denom,omitempty"` // Enables unique reports @@ -531,13 +532,13 @@ type FeedProperties struct { // 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"` + MinAnswer cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=min_answer,json=minAnswer,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_answer"` // highest answer the median of a report is allowed to be - MaxAnswer github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=max_answer,json=maxAnswer,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"max_answer"` + MaxAnswer cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=max_answer,json=maxAnswer,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"max_answer"` // Fixed LINK reward for each observer - LinkPerObservation github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,8,opt,name=link_per_observation,json=linkPerObservation,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"link_per_observation"` + LinkPerObservation cosmossdk_io_math.Int `protobuf:"bytes,8,opt,name=link_per_observation,json=linkPerObservation,proto3,customtype=cosmossdk.io/math.Int" json:"link_per_observation"` // Fixed LINK reward for transmitter - 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"` + LinkPerTransmission cosmossdk_io_math.Int `protobuf:"bytes,9,opt,name=link_per_transmission,json=linkPerTransmission,proto3,customtype=cosmossdk.io/math.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 @@ -818,9 +819,9 @@ func (m *Payee) GetPaymentAddr() string { // Transmission records the median answer from the transmit transaction at // time timestamp type Transmission struct { - Answer github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=answer,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"answer"` - ObservationsTimestamp int64 `protobuf:"varint,2,opt,name=observations_timestamp,json=observationsTimestamp,proto3" json:"observations_timestamp,omitempty"` - TransmissionTimestamp int64 `protobuf:"varint,3,opt,name=transmission_timestamp,json=transmissionTimestamp,proto3" json:"transmission_timestamp,omitempty"` + Answer cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=answer,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"answer"` + ObservationsTimestamp int64 `protobuf:"varint,2,opt,name=observations_timestamp,json=observationsTimestamp,proto3" json:"observations_timestamp,omitempty"` + TransmissionTimestamp int64 `protobuf:"varint,3,opt,name=transmission_timestamp,json=transmissionTimestamp,proto3" json:"transmission_timestamp,omitempty"` } func (m *Transmission) Reset() { *m = Transmission{} } @@ -923,9 +924,9 @@ func (m *EpochAndRound) GetRound() uint64 { } type Report struct { - ObservationsTimestamp int64 `protobuf:"varint,1,opt,name=observations_timestamp,json=observationsTimestamp,proto3" json:"observations_timestamp,omitempty"` - Observers []byte `protobuf:"bytes,2,opt,name=observers,proto3" json:"observers,omitempty"` - Observations []github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,rep,name=observations,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"observations"` + ObservationsTimestamp int64 `protobuf:"varint,1,opt,name=observations_timestamp,json=observationsTimestamp,proto3" json:"observations_timestamp,omitempty"` + Observers []byte `protobuf:"bytes,2,opt,name=observers,proto3" json:"observers,omitempty"` + Observations []cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,rep,name=observations,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"observations"` } func (m *Report) Reset() { *m = Report{} } @@ -1113,9 +1114,9 @@ func (m *EventOraclePaid) GetAmount() types.Coin { } type EventAnswerUpdated struct { - Current github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,1,opt,name=current,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"current"` - RoundId github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,2,opt,name=round_id,json=roundId,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"round_id"` - UpdatedAt time.Time `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3,stdtime" json:"updated_at"` + Current cosmossdk_io_math.Int `protobuf:"bytes,1,opt,name=current,proto3,customtype=cosmossdk.io/math.Int" json:"current"` + RoundId cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=round_id,json=roundId,proto3,customtype=cosmossdk.io/math.Int" json:"round_id"` + UpdatedAt time.Time `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3,stdtime" json:"updated_at"` } func (m *EventAnswerUpdated) Reset() { *m = EventAnswerUpdated{} } @@ -1159,7 +1160,7 @@ func (m *EventAnswerUpdated) GetUpdatedAt() time.Time { } type EventNewRound struct { - RoundId github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,1,opt,name=round_id,json=roundId,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"round_id"` + RoundId cosmossdk_io_math.Int `protobuf:"bytes,1,opt,name=round_id,json=roundId,proto3,customtype=cosmossdk.io/math.Int" json:"round_id"` // address of starter StartedBy string `protobuf:"bytes,2,opt,name=started_by,json=startedBy,proto3" json:"started_by,omitempty"` StartedAt time.Time `protobuf:"bytes,3,opt,name=started_at,json=startedAt,proto3,stdtime" json:"started_at"` @@ -1265,15 +1266,15 @@ func (m *EventTransmitted) GetEpoch() uint64 { } type EventNewTransmission struct { - FeedId string `protobuf:"bytes,1,opt,name=feed_id,json=feedId,proto3" json:"feed_id,omitempty"` - AggregatorRoundId uint32 `protobuf:"varint,2,opt,name=aggregator_round_id,json=aggregatorRoundId,proto3" json:"aggregator_round_id,omitempty"` - Answer github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=answer,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"answer"` - Transmitter string `protobuf:"bytes,4,opt,name=transmitter,proto3" json:"transmitter,omitempty"` - ObservationsTimestamp int64 `protobuf:"varint,5,opt,name=observations_timestamp,json=observationsTimestamp,proto3" json:"observations_timestamp,omitempty"` - Observations []github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,rep,name=observations,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"observations"` - Observers []byte `protobuf:"bytes,7,opt,name=observers,proto3" json:"observers,omitempty"` - ConfigDigest []byte `protobuf:"bytes,8,opt,name=config_digest,json=configDigest,proto3" json:"config_digest,omitempty"` - EpochAndRound *EpochAndRound `protobuf:"bytes,9,opt,name=epoch_and_round,json=epochAndRound,proto3" json:"epoch_and_round,omitempty"` + FeedId string `protobuf:"bytes,1,opt,name=feed_id,json=feedId,proto3" json:"feed_id,omitempty"` + AggregatorRoundId uint32 `protobuf:"varint,2,opt,name=aggregator_round_id,json=aggregatorRoundId,proto3" json:"aggregator_round_id,omitempty"` + Answer cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=answer,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"answer"` + Transmitter string `protobuf:"bytes,4,opt,name=transmitter,proto3" json:"transmitter,omitempty"` + ObservationsTimestamp int64 `protobuf:"varint,5,opt,name=observations_timestamp,json=observationsTimestamp,proto3" json:"observations_timestamp,omitempty"` + Observations []cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,rep,name=observations,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"observations"` + Observers []byte `protobuf:"bytes,7,opt,name=observers,proto3" json:"observers,omitempty"` + ConfigDigest []byte `protobuf:"bytes,8,opt,name=config_digest,json=configDigest,proto3" json:"config_digest,omitempty"` + EpochAndRound *EpochAndRound `protobuf:"bytes,9,opt,name=epoch_and_round,json=epochAndRound,proto3" json:"epoch_and_round,omitempty"` } func (m *EventNewTransmission) Reset() { *m = EventNewTransmission{} } @@ -1456,107 +1457,110 @@ func init() { func init() { proto.RegisterFile("injective/ocr/v1beta1/ocr.proto", fileDescriptor_0acb79560f1720fa) } var fileDescriptor_0acb79560f1720fa = []byte{ - // 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, + // 1648 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x3b, 0x6f, 0x1b, 0xc7, + 0x16, 0xd6, 0x92, 0x14, 0x25, 0x1e, 0x3e, 0x64, 0xad, 0x24, 0x9b, 0xd6, 0xb5, 0x44, 0x7a, 0x7d, + 0x8d, 0xab, 0x7b, 0x01, 0x93, 0xd7, 0x0a, 0x12, 0x27, 0x76, 0x91, 0x88, 0xf2, 0x4b, 0x80, 0x1f, + 0xca, 0x4a, 0x76, 0x91, 0x66, 0x31, 0xdc, 0x1d, 0x92, 0x1b, 0x73, 0x67, 0x98, 0xd9, 0xa1, 0x6c, + 0xfd, 0x82, 0x04, 0xa9, 0x0c, 0x24, 0x48, 0xed, 0x2a, 0x45, 0x80, 0x00, 0x29, 0xdc, 0xa4, 0x49, + 0x95, 0xc2, 0x08, 0x02, 0xc4, 0x65, 0x90, 0xc2, 0x09, 0xec, 0x22, 0xfe, 0x0b, 0xa9, 0x12, 0xcc, + 0x83, 0xe4, 0xf2, 0x21, 0x5a, 0xb4, 0xd5, 0x10, 0x3b, 0xdf, 0x79, 0xcc, 0xd9, 0xf3, 0xf8, 0x66, + 0x96, 0x50, 0xf0, 0xc9, 0xc7, 0xd8, 0xe5, 0xfe, 0x1e, 0x2e, 0x53, 0x97, 0x95, 0xf7, 0xce, 0x57, + 0x31, 0x47, 0xe7, 0xc5, 0x73, 0xa9, 0xc5, 0x28, 0xa7, 0xe6, 0x52, 0x57, 0xa1, 0x24, 0x40, 0xad, + 0xb0, 0xbc, 0xea, 0xd2, 0x30, 0xa0, 0x61, 0xb9, 0x8a, 0x42, 0xdc, 0xb5, 0x72, 0xa9, 0x4f, 0x94, + 0xd9, 0xf2, 0x49, 0x25, 0x77, 0xe4, 0xaa, 0xac, 0x16, 0x5a, 0xb4, 0x58, 0xa7, 0x75, 0xaa, 0x70, + 0xf1, 0xa4, 0xd1, 0x42, 0x9d, 0xd2, 0x7a, 0x13, 0x97, 0xe5, 0xaa, 0xda, 0xae, 0x95, 0xb9, 0x1f, + 0xe0, 0x90, 0xa3, 0xa0, 0xa5, 0x15, 0xe6, 0x51, 0xe0, 0x13, 0x5a, 0x96, 0xbf, 0x0a, 0xb2, 0xbe, + 0x30, 0x20, 0xb9, 0x8d, 0x18, 0x0a, 0x42, 0x73, 0x05, 0xa0, 0xe9, 0x93, 0x7b, 0x8e, 0x87, 0x09, + 0x0d, 0xf2, 0x46, 0xd1, 0x58, 0x4b, 0xd9, 0x29, 0x81, 0x5c, 0x16, 0x80, 0xb9, 0x0e, 0x4b, 0x2d, + 0xb4, 0x4f, 0xdb, 0xdc, 0xa9, 0x36, 0xa9, 0x7b, 0xcf, 0xf1, 0x09, 0xc7, 0x6c, 0x0f, 0x35, 0xf3, + 0xb1, 0xa2, 0xb1, 0x96, 0xb0, 0x17, 0x94, 0xb0, 0x22, 0x64, 0x5b, 0x5a, 0x64, 0x9e, 0x86, 0x4c, + 0x40, 0xbd, 0x76, 0x13, 0x3b, 0xc8, 0x0b, 0x7c, 0x92, 0x8f, 0x4b, 0xa7, 0x69, 0x85, 0x6d, 0x08, + 0xe8, 0xe2, 0xc2, 0xcb, 0x47, 0x05, 0xe3, 0xf3, 0x3f, 0xbf, 0xfb, 0x1f, 0x88, 0xe4, 0xa9, 0x50, + 0xac, 0x6f, 0x62, 0x00, 0x57, 0x31, 0xf6, 0x36, 0x29, 0xa9, 0xf9, 0x75, 0x33, 0x0f, 0x33, 0xa1, + 0x5f, 0x27, 0x98, 0x85, 0x79, 0xa3, 0x18, 0x5f, 0x4b, 0xd9, 0x9d, 0xa5, 0x69, 0x41, 0x86, 0x33, + 0x44, 0xc2, 0xc0, 0xe7, 0x5c, 0x88, 0x63, 0x52, 0xdc, 0x87, 0x99, 0x19, 0x30, 0x6a, 0x72, 0xe7, + 0xac, 0x6d, 0xd4, 0xcc, 0xb3, 0x90, 0xa3, 0xc4, 0x6d, 0x20, 0x9f, 0x38, 0xae, 0xf4, 0x9e, 0x4f, + 0x14, 0x8d, 0xb5, 0x8c, 0x9d, 0xd5, 0xa8, 0xde, 0xf2, 0x1d, 0x38, 0x41, 0x6b, 0xb5, 0xa8, 0x9e, + 0xb3, 0x87, 0x59, 0xe8, 0x53, 0x92, 0x9f, 0x96, 0xef, 0xbb, 0xd4, 0x11, 0x2b, 0x83, 0xbb, 0x4a, + 0x68, 0xfe, 0x07, 0xe6, 0x06, 0xec, 0xf2, 0x49, 0xe9, 0x3f, 0xd7, 0xaf, 0x6f, 0x5e, 0x87, 0xac, + 0x4e, 0x4d, 0x4b, 0xbe, 0x73, 0x7e, 0xa6, 0x68, 0xac, 0xa5, 0xd7, 0xcf, 0x94, 0x46, 0x36, 0x4b, + 0xe9, 0xa6, 0xd4, 0x55, 0xe9, 0xb1, 0x75, 0x52, 0x75, 0xb2, 0x7e, 0x30, 0x20, 0xd7, 0x4b, 0xd6, + 0x16, 0xa9, 0x51, 0xf3, 0xff, 0xb0, 0xd8, 0x44, 0x1c, 0x87, 0xbc, 0x13, 0xbb, 0xe7, 0xd7, 0x71, + 0xc8, 0x65, 0x51, 0x33, 0xb6, 0xa9, 0x64, 0x4a, 0xff, 0xb2, 0x94, 0xa8, 0x24, 0xc5, 0x3a, 0x49, + 0xca, 0x80, 0x41, 0x3a, 0x29, 0x23, 0xa2, 0x8a, 0xda, 0x8d, 0x4b, 0xdb, 0x84, 0xcb, 0x84, 0x25, + 0xec, 0xb4, 0xc2, 0x36, 0x05, 0x64, 0x5e, 0x82, 0xe5, 0xfe, 0x0d, 0x55, 0x8f, 0x90, 0x76, 0x50, + 0xc5, 0x4c, 0x66, 0x2c, 0x6e, 0x9f, 0x88, 0x6e, 0x2b, 0xfb, 0xe4, 0x96, 0x14, 0x5b, 0x7f, 0xc7, + 0x21, 0x13, 0x7d, 0x3f, 0xf3, 0x04, 0xcc, 0xd4, 0x30, 0xf6, 0x1c, 0xdf, 0xd3, 0x6d, 0x98, 0x14, + 0xcb, 0x2d, 0xcf, 0xac, 0x00, 0x04, 0x3e, 0x71, 0x10, 0x09, 0xef, 0x63, 0x26, 0xc3, 0x4d, 0x55, + 0xce, 0x3c, 0x79, 0x56, 0x98, 0xfa, 0xed, 0x59, 0xe1, 0x5f, 0x6a, 0x42, 0x42, 0xef, 0x5e, 0xc9, + 0xa7, 0xe5, 0x00, 0xf1, 0x46, 0xe9, 0x06, 0xae, 0x23, 0x77, 0xff, 0x32, 0x76, 0xed, 0x54, 0xe0, + 0x93, 0x0d, 0x69, 0x25, 0x7d, 0xa0, 0x07, 0x1d, 0x1f, 0xf1, 0x49, 0x7c, 0xa0, 0x07, 0xda, 0xc7, + 0x6d, 0x58, 0x94, 0xa3, 0xd2, 0xc2, 0xcc, 0xa1, 0xd5, 0x50, 0x34, 0x3b, 0x17, 0xad, 0x91, 0x90, + 0xde, 0x56, 0xb4, 0xb7, 0xa5, 0x61, 0x6f, 0x5b, 0x84, 0xdb, 0xa6, 0x30, 0xdd, 0xc6, 0xec, 0x76, + 0xcf, 0xd0, 0xfc, 0x10, 0x96, 0xba, 0x0e, 0x75, 0xf3, 0x86, 0xdd, 0x66, 0x7b, 0xa5, 0xc7, 0x05, + 0xed, 0x71, 0x37, 0x62, 0x39, 0x30, 0xce, 0xc9, 0xc1, 0x71, 0x3e, 0x0b, 0xb9, 0x36, 0xf1, 0x3f, + 0x69, 0x63, 0x87, 0xe1, 0x16, 0x65, 0x5c, 0x35, 0xe0, 0xac, 0x9d, 0x55, 0xa8, 0xad, 0x40, 0xb3, + 0x08, 0x69, 0x0f, 0x87, 0x2e, 0xf3, 0x5b, 0xf2, 0x05, 0x67, 0xd5, 0x00, 0x47, 0x20, 0xb1, 0x8f, + 0x2c, 0x96, 0x9a, 0xf0, 0x94, 0xda, 0x47, 0x20, 0x72, 0xbe, 0xcd, 0x33, 0x90, 0xad, 0xfa, 0xcd, + 0xa6, 0x4f, 0xea, 0x5a, 0x03, 0xa4, 0x46, 0x46, 0x83, 0x52, 0xc9, 0xfa, 0x34, 0x06, 0xb9, 0x4d, + 0x4a, 0x38, 0x43, 0xae, 0xee, 0x8f, 0xa1, 0xa6, 0x33, 0x86, 0x9b, 0x2e, 0x42, 0x0b, 0xb1, 0xf1, + 0xb4, 0x10, 0x3f, 0x88, 0x16, 0x12, 0x07, 0xd3, 0xc2, 0xf4, 0x84, 0xb4, 0x90, 0x9c, 0x90, 0x16, + 0x66, 0x46, 0xd1, 0x82, 0xf5, 0xc4, 0x80, 0xf9, 0x1d, 0xac, 0x93, 0xb0, 0xcd, 0x68, 0x8b, 0x86, + 0xa8, 0x69, 0x2e, 0xc2, 0x34, 0xf7, 0x79, 0x13, 0xeb, 0x71, 0x50, 0x8b, 0xc1, 0xda, 0xc4, 0x86, + 0x6b, 0xf3, 0x1e, 0x24, 0xf5, 0x6e, 0x71, 0xc9, 0x2e, 0xa7, 0x0f, 0x60, 0x97, 0x1e, 0x7d, 0xd8, + 0xda, 0xe0, 0xe2, 0x07, 0x9f, 0x3d, 0x2a, 0x4c, 0xbd, 0x7c, 0x54, 0x98, 0xfa, 0xe9, 0xf1, 0xb9, + 0x65, 0x7d, 0xf8, 0xd4, 0xe9, 0x5e, 0xd7, 0x44, 0x94, 0x0b, 0x13, 0x2e, 0x98, 0x7b, 0x49, 0x30, + 0xf7, 0x50, 0xd0, 0xd6, 0xe3, 0x84, 0xe2, 0x25, 0x01, 0x60, 0xc6, 0x7d, 0x3c, 0x66, 0xb0, 0xfb, + 0xe9, 0x67, 0xb8, 0x18, 0xf1, 0x09, 0x8b, 0x91, 0x98, 0xb0, 0x18, 0xd3, 0x23, 0x39, 0xba, 0x9f, + 0x6e, 0x92, 0x47, 0x40, 0x37, 0x33, 0x47, 0x4a, 0x37, 0xb3, 0x47, 0x4e, 0x37, 0xa9, 0xd7, 0xa6, + 0x9b, 0x61, 0x3e, 0x81, 0x43, 0xf0, 0x49, 0x7a, 0xa8, 0x67, 0xad, 0x1f, 0x63, 0x70, 0x7c, 0x07, + 0xf3, 0x0a, 0xe2, 0x6e, 0xe3, 0x88, 0xc6, 0x20, 0x42, 0x14, 0xf1, 0xf1, 0x44, 0x91, 0x18, 0x41, + 0x14, 0xfd, 0x44, 0x3a, 0x3d, 0x48, 0xa4, 0xb7, 0x60, 0x4e, 0xf6, 0x74, 0xab, 0xdb, 0xe6, 0xf9, + 0x64, 0x31, 0xbe, 0x96, 0x5e, 0x3f, 0x3b, 0x66, 0xd8, 0x7a, 0x33, 0x61, 0xe7, 0x6a, 0x7d, 0xeb, + 0x8b, 0x57, 0x0e, 0x3f, 0x78, 0xcb, 0x7a, 0xf0, 0x46, 0xe4, 0xca, 0x5a, 0x87, 0xfc, 0x6d, 0x86, + 0xdc, 0x26, 0x8e, 0xd4, 0x3d, 0x94, 0xbc, 0x19, 0x9a, 0xc7, 0x05, 0x2d, 0x88, 0x27, 0x79, 0x9d, + 0xca, 0xda, 0x7a, 0x65, 0xdd, 0x85, 0xf9, 0x6b, 0x28, 0xb4, 0xb1, 0x1f, 0x54, 0xdb, 0x2c, 0xc4, + 0x01, 0x16, 0xca, 0x1b, 0x90, 0x63, 0x7d, 0x88, 0x34, 0x4a, 0xaf, 0x9f, 0x2c, 0xe9, 0xe0, 0xc4, + 0xfd, 0x35, 0x12, 0x9d, 0x4f, 0xec, 0x01, 0x03, 0xeb, 0x0e, 0x4c, 0x6f, 0xa3, 0x7d, 0x8c, 0xcd, + 0xff, 0xc2, 0xb1, 0x48, 0x6a, 0x1d, 0xe4, 0x79, 0x4c, 0xd7, 0x72, 0x2e, 0x82, 0x6f, 0x78, 0x1e, + 0x13, 0xfc, 0xdf, 0x42, 0xfb, 0xc2, 0x5e, 0xa9, 0xe9, 0xb2, 0x6a, 0x4c, 0xa8, 0x58, 0xdf, 0x1b, + 0x90, 0xe9, 0xeb, 0xc1, 0x4b, 0x90, 0xd4, 0x73, 0x66, 0x1c, 0x7e, 0xce, 0xb4, 0x89, 0xf9, 0x36, + 0x1c, 0x8f, 0xcc, 0x56, 0xe8, 0x74, 0x2f, 0xcf, 0x72, 0xeb, 0xb8, 0xbd, 0x14, 0x95, 0xee, 0x76, + 0x84, 0xc2, 0x2c, 0x3a, 0x41, 0x11, 0xb3, 0xb8, 0x32, 0x8b, 0x4a, 0xbb, 0x66, 0xd6, 0x25, 0xc8, + 0x5e, 0x69, 0x51, 0xb7, 0xb1, 0x41, 0x3c, 0x9b, 0xb6, 0x89, 0x27, 0x7a, 0x1b, 0x0b, 0x40, 0x1f, + 0x74, 0x6a, 0x21, 0x50, 0x26, 0xc4, 0xfa, 0x92, 0xad, 0x16, 0xd6, 0xd7, 0x06, 0x24, 0xd5, 0x40, + 0x8d, 0x89, 0xda, 0x18, 0x17, 0xf5, 0x29, 0x48, 0x29, 0x81, 0x3a, 0x3c, 0x05, 0xf9, 0xf5, 0x00, + 0xf3, 0x1a, 0x64, 0xa2, 0x66, 0x6a, 0x68, 0x0e, 0x97, 0xcd, 0x3e, 0x43, 0xeb, 0x2b, 0x03, 0x32, + 0x2a, 0xd0, 0x5d, 0xba, 0xe3, 0xd7, 0xe5, 0x6d, 0x60, 0xd4, 0x8d, 0x54, 0x1f, 0xf5, 0xfa, 0x2e, + 0xda, 0x4d, 0x45, 0x6c, 0x64, 0x2a, 0xe2, 0x91, 0x54, 0x88, 0xe1, 0xc4, 0x0f, 0x38, 0x43, 0x4e, + 0x03, 0x85, 0x0d, 0x7d, 0x95, 0x4f, 0x49, 0xe4, 0x3a, 0x0a, 0x1b, 0xa2, 0xd3, 0x15, 0x1d, 0x69, + 0x86, 0xd7, 0x2b, 0xeb, 0x4b, 0x03, 0xe6, 0xae, 0xec, 0x61, 0xc2, 0xd5, 0x8c, 0x6c, 0x23, 0xdf, + 0x9b, 0xa4, 0x39, 0x57, 0x00, 0x5a, 0xa2, 0xa1, 0xa3, 0xad, 0x99, 0x92, 0x88, 0x14, 0x5f, 0x80, + 0x24, 0x0a, 0xe4, 0xad, 0x45, 0x1d, 0xbb, 0x07, 0x8f, 0x4a, 0x25, 0x21, 0x92, 0x6a, 0x6b, 0x75, + 0xeb, 0x67, 0x03, 0x4c, 0x19, 0x96, 0x22, 0xfe, 0x3b, 0x2d, 0x0f, 0x71, 0xec, 0x99, 0x17, 0x60, + 0xc6, 0x6d, 0x33, 0x86, 0xf5, 0x35, 0xe8, 0x95, 0x04, 0xdd, 0xd1, 0x36, 0xdf, 0x85, 0x59, 0x99, + 0x26, 0x71, 0xe0, 0xc6, 0x0e, 0x65, 0x29, 0xd5, 0xb7, 0x3c, 0x73, 0x13, 0xa0, 0xad, 0x76, 0x77, + 0x50, 0xe7, 0x35, 0x96, 0x4b, 0xea, 0x03, 0xb3, 0xd4, 0xf9, 0xc0, 0x2c, 0x75, 0x1b, 0xaa, 0x32, + 0x2b, 0xfc, 0x3e, 0xfc, 0xbd, 0x60, 0xd8, 0x29, 0x6d, 0xb7, 0xc1, 0xad, 0x6f, 0x0d, 0xc8, 0xca, + 0xd7, 0xb9, 0x85, 0xef, 0xab, 0x2e, 0x8f, 0x06, 0x64, 0x4c, 0x14, 0xd0, 0x0a, 0x40, 0xc8, 0x11, + 0x13, 0x01, 0x55, 0xf7, 0x3b, 0x29, 0xd7, 0x48, 0x65, 0x5f, 0xc4, 0xdb, 0x11, 0x4f, 0x1a, 0xaf, + 0xb6, 0xdb, 0xe0, 0xd6, 0x4d, 0x38, 0x26, 0xc3, 0xdd, 0xed, 0x96, 0xdb, 0x7b, 0x83, 0x8e, 0xb5, + 0x7e, 0x89, 0xc3, 0x62, 0xe7, 0xf5, 0xfb, 0x78, 0xea, 0xc0, 0x6b, 0x50, 0x09, 0x16, 0x50, 0xbd, + 0xce, 0x70, 0x1d, 0x71, 0xca, 0x9c, 0xbe, 0xd2, 0x65, 0xed, 0xf9, 0x9e, 0xc8, 0xd6, 0x49, 0xe9, + 0x11, 0x5e, 0x7c, 0x72, 0xc2, 0x2b, 0x42, 0x3a, 0xd2, 0xd7, 0xea, 0xdb, 0xc5, 0x8e, 0x42, 0x63, + 0xc8, 0x65, 0x7a, 0x1c, 0xb9, 0x0c, 0xd2, 0x47, 0xf2, 0x35, 0xe9, 0xa3, 0x9f, 0xa5, 0x66, 0x06, + 0x59, 0x6a, 0xa8, 0x32, 0xb3, 0x23, 0x2a, 0x73, 0x03, 0xe6, 0x64, 0x31, 0x1c, 0x44, 0x3c, 0x95, + 0x50, 0x79, 0xc7, 0x49, 0xaf, 0xff, 0xfb, 0x80, 0xd3, 0xb9, 0x8f, 0x95, 0xed, 0x2c, 0x8e, 0x2e, + 0xad, 0xbf, 0x0c, 0xc8, 0xc9, 0x8a, 0xaa, 0xc3, 0x76, 0x07, 0xf3, 0xc3, 0xf5, 0xc7, 0xfb, 0x70, + 0xaa, 0xc5, 0xf0, 0x9e, 0x4f, 0xdb, 0xe1, 0xc8, 0x0f, 0x64, 0x75, 0xc2, 0x9c, 0xec, 0xe8, 0x0c, + 0x7d, 0x22, 0xbf, 0xc1, 0x45, 0xde, 0xbc, 0x0a, 0xfa, 0xa3, 0xc9, 0xf1, 0x49, 0x8d, 0xca, 0x32, + 0x8f, 0xbf, 0x9b, 0xf4, 0xfe, 0x47, 0xb0, 0xc1, 0xed, 0x3e, 0x57, 0xdc, 0x27, 0xcf, 0x57, 0x8d, + 0xa7, 0xcf, 0x57, 0x8d, 0x3f, 0x9e, 0xaf, 0x1a, 0x0f, 0x5f, 0xac, 0x4e, 0x3d, 0x7d, 0xb1, 0x3a, + 0xf5, 0xeb, 0x8b, 0xd5, 0xa9, 0x8f, 0xb6, 0xea, 0x3e, 0x6f, 0xb4, 0xab, 0x25, 0x97, 0x06, 0xe5, + 0xad, 0x8e, 0xdb, 0x1b, 0xa8, 0x1a, 0x96, 0xbb, 0x9b, 0x9c, 0x73, 0x29, 0xc3, 0xd1, 0xa5, 0xb8, + 0x65, 0x97, 0xd5, 0xdf, 0x18, 0xa1, 0xfc, 0xdb, 0x8c, 0xef, 0xb7, 0x70, 0x58, 0x4d, 0xca, 0x51, + 0x7d, 0xeb, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc9, 0x77, 0x1a, 0x63, 0x54, 0x13, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { @@ -5917,7 +5921,7 @@ func (m *Report) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.Observations = append(m.Observations, v) if err := m.Observations[len(m.Observations)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6879,7 +6883,7 @@ func (m *EventNewTransmission) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.Observations = append(m.Observations, v) if err := m.Observations[len(m.Observations)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/chain/ocr/types/tx.pb.go b/chain/ocr/types/tx.pb.go index 76af8a8c..fc7d7b38 100644 --- a/chain/ocr/types/tx.pb.go +++ b/chain/ocr/types/tx.pb.go @@ -5,11 +5,12 @@ package types import ( context "context" + cosmossdk_io_math "cosmossdk.io/math" 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/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -116,9 +117,9 @@ type MsgUpdateFeed struct { // 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"` + LinkPerObservation *cosmossdk_io_math.Int `protobuf:"bytes,5,opt,name=link_per_observation,json=linkPerObservation,proto3,customtype=cosmossdk.io/math.Int" json:"link_per_observation,omitempty"` // Fixed LINK reward for transmitter - LinkPerTransmission *github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,6,opt,name=link_per_transmission,json=linkPerTransmission,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"link_per_transmission,omitempty"` + LinkPerTransmission *cosmossdk_io_math.Int `protobuf:"bytes,6,opt,name=link_per_transmission,json=linkPerTransmission,proto3,customtype=cosmossdk.io/math.Int" json:"link_per_transmission,omitempty"` // Native denom for LINK coin in the bank keeper LinkDenom string `protobuf:"bytes,7,opt,name=link_denom,json=linkDenom,proto3" json:"link_denom,omitempty"` // feed administrator @@ -776,76 +777,81 @@ func init() { func init() { proto.RegisterFile("injective/ocr/v1beta1/tx.proto", fileDescriptor_570bfdb24a1374f8) } var fileDescriptor_570bfdb24a1374f8 = []byte{ - // 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, + // 1177 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xcd, 0x6f, 0x1b, 0x45, + 0x14, 0xf7, 0xd6, 0xa9, 0x13, 0xbf, 0xb8, 0x2a, 0xdd, 0x38, 0x89, 0xb3, 0x6a, 0x6c, 0x77, 0x83, + 0x2a, 0x37, 0x6d, 0xed, 0x26, 0xa1, 0x7c, 0x98, 0x53, 0x92, 0xaa, 0x22, 0x12, 0x56, 0xc3, 0x16, + 0x84, 0x54, 0x09, 0x99, 0xf5, 0xee, 0x64, 0xbd, 0x34, 0xde, 0x59, 0xcd, 0x8c, 0xd3, 0xe4, 0x8a, + 0x38, 0x20, 0x24, 0x24, 0xce, 0x9c, 0x7a, 0xe1, 0x8a, 0x72, 0xa8, 0xc4, 0x05, 0xee, 0x39, 0x56, + 0x48, 0x48, 0x88, 0x43, 0x84, 0x92, 0x43, 0xf9, 0x33, 0xd0, 0xcc, 0x8e, 0xc7, 0xeb, 0x8f, 0xcd, + 0x87, 0x38, 0x70, 0x49, 0xfc, 0xde, 0xfb, 0xbd, 0x8f, 0xdf, 0x7b, 0x33, 0x6f, 0x6c, 0x28, 0xfa, + 0xc1, 0x57, 0xc8, 0x61, 0xfe, 0x1e, 0xaa, 0x61, 0x87, 0xd4, 0xf6, 0x56, 0x5a, 0x88, 0xd9, 0x2b, + 0x35, 0xb6, 0x5f, 0x0d, 0x09, 0x66, 0x58, 0x9f, 0x55, 0xf6, 0x2a, 0x76, 0x48, 0x55, 0xda, 0x8d, + 0xa2, 0x83, 0x69, 0x07, 0xd3, 0x5a, 0xcb, 0xa6, 0x48, 0x39, 0x39, 0xd8, 0x0f, 0x22, 0x37, 0x63, + 0x5e, 0xda, 0x3b, 0xd4, 0xab, 0xed, 0xad, 0xf0, 0x7f, 0xd2, 0x90, 0xf7, 0xb0, 0x87, 0xc5, 0xc7, + 0x1a, 0xff, 0x24, 0xb5, 0xa5, 0xf1, 0x55, 0xf0, 0x8c, 0x11, 0x60, 0x21, 0x8a, 0xd7, 0x8c, 0x3c, + 0x23, 0x41, 0x9a, 0x6e, 0xd8, 0x1d, 0x3f, 0xc0, 0x35, 0xf1, 0x37, 0x52, 0x99, 0xdf, 0x6b, 0x70, + 0xad, 0x41, 0xbd, 0x4d, 0x82, 0x6c, 0x86, 0x1e, 0x23, 0xe4, 0xea, 0x73, 0x90, 0xa1, 0x28, 0x70, + 0x11, 0x29, 0x68, 0x65, 0xad, 0x92, 0xb5, 0xa4, 0xa4, 0x7f, 0x00, 0x19, 0x07, 0x07, 0x3b, 0xbe, + 0x57, 0xb8, 0x52, 0xd6, 0x2a, 0xd3, 0xab, 0xb7, 0xaa, 0x63, 0xf9, 0x56, 0x79, 0x90, 0x4d, 0x01, + 0xb4, 0xa4, 0x43, 0xfd, 0xce, 0xb7, 0x2f, 0x4b, 0xa9, 0x7f, 0x5e, 0x96, 0x52, 0x5f, 0xbf, 0x39, + 0x5c, 0x96, 0xf1, 0xbe, 0x7b, 0x73, 0xb8, 0x7c, 0x83, 0x33, 0x18, 0xc8, 0x6e, 0xce, 0xc3, 0xec, + 0x80, 0xc2, 0x42, 0x34, 0xc4, 0x01, 0x45, 0xe6, 0x61, 0x5a, 0x14, 0xfa, 0x59, 0xe8, 0x9e, 0x57, + 0xe8, 0x3c, 0x4c, 0xee, 0x20, 0xe4, 0x36, 0x7d, 0x57, 0x54, 0x9a, 0xb5, 0x32, 0x5c, 0xdc, 0x72, + 0xf5, 0x02, 0x4c, 0x52, 0xdf, 0x0b, 0x10, 0xa1, 0x85, 0x74, 0x39, 0x5d, 0xc9, 0x5a, 0x3d, 0x51, + 0x37, 0x21, 0xc7, 0x88, 0x1d, 0xd0, 0x8e, 0xcf, 0x18, 0x37, 0x4f, 0x08, 0xf3, 0x80, 0x4e, 0x7f, + 0x02, 0xf9, 0x5d, 0x3f, 0x78, 0xde, 0x0c, 0x11, 0x69, 0xe2, 0x16, 0x45, 0x64, 0xcf, 0x66, 0x3e, + 0x0e, 0x0a, 0x57, 0x79, 0x8e, 0x8d, 0xc5, 0xa3, 0xe3, 0x92, 0xf6, 0xd7, 0x71, 0x69, 0x36, 0x6a, + 0x38, 0x75, 0x9f, 0x57, 0x7d, 0x5c, 0xeb, 0xd8, 0xac, 0x5d, 0xdd, 0x0a, 0x98, 0xa5, 0x73, 0xd7, + 0x6d, 0x44, 0x9e, 0xf4, 0x1d, 0xf5, 0x4f, 0x60, 0x56, 0x05, 0x94, 0x99, 0x28, 0xe5, 0x11, 0x33, + 0x17, 0x89, 0x38, 0x23, 0x23, 0x7e, 0x1a, 0xf3, 0xd4, 0x17, 0x01, 0x44, 0x48, 0x17, 0x05, 0xb8, + 0x53, 0x98, 0x14, 0xec, 0xb3, 0x5c, 0xf3, 0x88, 0x2b, 0xb8, 0x59, 0x74, 0xc6, 0x76, 0x3b, 0x7e, + 0x50, 0x98, 0x8a, 0xcc, 0x5c, 0xb3, 0xce, 0x15, 0xfa, 0x12, 0x5c, 0x6b, 0xf9, 0xbb, 0xbb, 0x7e, + 0xe0, 0x49, 0x44, 0x56, 0x20, 0x72, 0x52, 0x29, 0x40, 0xe7, 0xce, 0xb2, 0x3f, 0x20, 0x39, 0xcb, + 0xbe, 0x42, 0xcd, 0xf2, 0xb7, 0x2b, 0x30, 0xdd, 0xa0, 0x9e, 0x2c, 0x9d, 0xe9, 0x65, 0x98, 0x8e, + 0xb5, 0x5a, 0x8e, 0x33, 0xae, 0xe2, 0xa5, 0x45, 0x67, 0xa9, 0xe9, 0xfa, 0x1e, 0xa2, 0x4c, 0x4c, + 0x36, 0x67, 0xe5, 0x22, 0xe5, 0x23, 0xa1, 0x8b, 0x0f, 0x3e, 0x3d, 0x30, 0xf8, 0x3c, 0x5c, 0x45, + 0x21, 0x76, 0xda, 0x85, 0x89, 0xb2, 0x56, 0x99, 0xb0, 0x22, 0x81, 0x6b, 0x09, 0xee, 0x06, 0xae, + 0x98, 0xe0, 0x84, 0x15, 0x09, 0xbc, 0x47, 0x68, 0x9f, 0x11, 0xbb, 0xd9, 0xb6, 0x69, 0x5b, 0x8c, + 0x22, 0x67, 0x65, 0x85, 0xe6, 0x23, 0x9b, 0xb6, 0xf5, 0x87, 0x90, 0x21, 0x28, 0xc4, 0x84, 0x89, + 0xee, 0x4e, 0xaf, 0x2e, 0x26, 0xdc, 0x02, 0x4b, 0x80, 0x2c, 0x09, 0xd6, 0x8b, 0x00, 0xfc, 0xac, + 0xd9, 0xac, 0x4b, 0x10, 0x2d, 0x4c, 0x95, 0xd3, 0x95, 0x9c, 0x15, 0xd3, 0xd4, 0xef, 0xc5, 0xbb, + 0x1a, 0x67, 0xce, 0x5b, 0x7b, 0x5d, 0xb6, 0xb6, 0xd7, 0x2f, 0x73, 0x16, 0x66, 0x62, 0xa2, 0x6a, + 0xeb, 0x2b, 0x4d, 0x34, 0xfc, 0x71, 0x37, 0x70, 0xa3, 0x76, 0xbf, 0xb0, 0x89, 0xbb, 0x8d, 0xf1, + 0xee, 0xe5, 0xaf, 0xca, 0x7b, 0x90, 0xb1, 0x3b, 0xb8, 0x1b, 0x30, 0xd1, 0xc9, 0xe9, 0xd5, 0x85, + 0xaa, 0x5c, 0x24, 0x7c, 0x8b, 0x29, 0x92, 0x9b, 0xd8, 0x0f, 0x36, 0x26, 0x8e, 0x8e, 0x4b, 0x29, + 0x4b, 0xc2, 0xeb, 0x2b, 0x09, 0xc7, 0x63, 0x41, 0x72, 0x18, 0x2d, 0xce, 0x2c, 0xc1, 0xe2, 0x58, + 0x83, 0xe2, 0xf5, 0xab, 0x06, 0x0b, 0x0d, 0xea, 0x7d, 0xee, 0xb3, 0xb6, 0x4b, 0xec, 0x17, 0xff, + 0x1b, 0xb7, 0x87, 0x09, 0xdc, 0x16, 0x25, 0xb7, 0xf1, 0x05, 0x9a, 0x4b, 0x70, 0x2b, 0xd1, 0xa8, + 0x38, 0xfe, 0xa4, 0x41, 0xae, 0x41, 0xbd, 0xa7, 0x88, 0x6d, 0xdb, 0x07, 0x08, 0xd1, 0xcb, 0xd3, + 0x1a, 0xde, 0x61, 0xe9, 0x31, 0x3b, 0x6c, 0x0e, 0x32, 0xa1, 0x08, 0x2f, 0x37, 0x9c, 0x94, 0xea, + 0x95, 0x04, 0x66, 0x6f, 0x49, 0x66, 0xaa, 0x2c, 0x73, 0x0e, 0xf2, 0x71, 0x59, 0xd5, 0xff, 0x8b, + 0x26, 0x0c, 0xe2, 0x4c, 0xee, 0x20, 0x12, 0x59, 0xdb, 0x7e, 0x98, 0xc8, 0x63, 0xe8, 0xce, 0x5f, + 0x19, 0xbd, 0xf3, 0x89, 0xd7, 0xd9, 0x80, 0xa9, 0x90, 0xe0, 0x10, 0x53, 0xe4, 0x8a, 0x1b, 0x9d, + 0xb5, 0x94, 0x5c, 0x7f, 0x90, 0xc0, 0xa4, 0x10, 0xbf, 0x43, 0xf1, 0x02, 0xcd, 0x22, 0xdc, 0x1c, + 0xa7, 0x57, 0xcc, 0x7e, 0xd4, 0x40, 0x6f, 0x50, 0x6f, 0xdd, 0x71, 0x50, 0xc8, 0xfa, 0xbc, 0xf2, + 0x70, 0x55, 0x34, 0x4f, 0xd2, 0x8a, 0x84, 0xff, 0xc0, 0xaa, 0xbe, 0x76, 0xd6, 0x0a, 0x98, 0x93, + 0xe5, 0x0f, 0x55, 0x61, 0xde, 0x04, 0x63, 0x54, 0xab, 0x4a, 0xff, 0x59, 0x83, 0xeb, 0x6a, 0x03, + 0x6f, 0xdb, 0xc4, 0xee, 0x50, 0xfd, 0x5d, 0xc8, 0xda, 0x5d, 0xd6, 0xc6, 0xc4, 0x67, 0x07, 0x51, + 0xed, 0x1b, 0x85, 0xdf, 0x5f, 0xdd, 0xcf, 0xcb, 0x3b, 0xb0, 0xee, 0xba, 0x04, 0x51, 0xfa, 0x94, + 0x11, 0x3f, 0xf0, 0xac, 0x3e, 0x54, 0xff, 0x90, 0x1f, 0x1d, 0x1e, 0x41, 0x3e, 0xff, 0x49, 0x8b, + 0x2f, 0x4a, 0xd3, 0xbb, 0x39, 0x91, 0x4b, 0xfd, 0x36, 0xe7, 0xd4, 0x0f, 0xc6, 0x19, 0xcd, 0x0c, + 0xbc, 0x17, 0x91, 0x97, 0xb9, 0x00, 0xf3, 0x43, 0xaa, 0x1e, 0x97, 0xd5, 0x3f, 0x26, 0x21, 0xdd, + 0xa0, 0x9e, 0xfe, 0x25, 0x40, 0xec, 0xcb, 0xca, 0xdb, 0x09, 0x55, 0x0c, 0x7c, 0x87, 0x30, 0xee, + 0x5d, 0x04, 0xd5, 0xcb, 0xc4, 0x33, 0xc4, 0xbe, 0x65, 0x9c, 0x91, 0xa1, 0x8f, 0x3a, 0x2b, 0xc3, + 0xe8, 0xfb, 0xa7, 0x3f, 0x83, 0x29, 0xf5, 0xf6, 0x99, 0xc9, 0x9e, 0x3d, 0x8c, 0xb1, 0x7c, 0x3e, + 0x46, 0xc5, 0xde, 0x07, 0x7d, 0xcc, 0x03, 0x70, 0x46, 0x7d, 0xa3, 0x68, 0xe3, 0x9d, 0xcb, 0xa0, + 0x55, 0xe6, 0x6f, 0x34, 0x98, 0x4b, 0xd8, 0xd1, 0x0f, 0x92, 0x03, 0x8e, 0xf7, 0x30, 0xde, 0xbf, + 0xac, 0x87, 0x2a, 0xe3, 0x0b, 0xc8, 0xf6, 0xb7, 0xe8, 0x52, 0x72, 0x18, 0x05, 0x32, 0xee, 0x5e, + 0x00, 0xa4, 0xc2, 0x77, 0xe1, 0xc6, 0xe8, 0x92, 0xbb, 0x7b, 0xce, 0x80, 0xe2, 0x60, 0x63, 0xed, + 0x12, 0x60, 0x95, 0x16, 0xc3, 0xf5, 0xe1, 0x0d, 0x74, 0x27, 0x39, 0xce, 0x10, 0xd4, 0x58, 0xb9, + 0x30, 0x54, 0x25, 0xdc, 0x81, 0xdc, 0xc0, 0xde, 0xb8, 0x7d, 0xde, 0x09, 0x8f, 0x70, 0x46, 0xf5, + 0x62, 0xb8, 0x5e, 0x9e, 0x0d, 0xe7, 0xe8, 0xa4, 0xa8, 0xbd, 0x3e, 0x29, 0x6a, 0x7f, 0x9f, 0x14, + 0xb5, 0x1f, 0x4e, 0x8b, 0xa9, 0xd7, 0xa7, 0xc5, 0xd4, 0x9f, 0xa7, 0xc5, 0xd4, 0xb3, 0x2d, 0xcf, + 0x67, 0xed, 0x6e, 0xab, 0xea, 0xe0, 0x4e, 0x6d, 0xab, 0x17, 0xf3, 0x63, 0xbb, 0x45, 0x6b, 0x2a, + 0xc3, 0x7d, 0x07, 0x13, 0x14, 0x17, 0xdb, 0xb6, 0x1f, 0xd4, 0x3a, 0xd8, 0xed, 0xee, 0x22, 0x2a, + 0x7e, 0x1f, 0xb1, 0x83, 0x10, 0xd1, 0x56, 0x46, 0xfc, 0xd8, 0x59, 0xfb, 0x37, 0x00, 0x00, 0xff, + 0xff, 0x86, 0x04, 0xae, 0x5e, 0xc3, 0x0d, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2643,7 +2649,7 @@ func (m *MsgUpdateFeed) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Int + var v cosmossdk_io_math.Int m.LinkPerObservation = &v if err := m.LinkPerObservation.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2679,7 +2685,7 @@ func (m *MsgUpdateFeed) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Int + var v cosmossdk_io_math.Int m.LinkPerTransmission = &v if err := m.LinkPerTransmission.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/chain/ocr/types/types.go b/chain/ocr/types/types.go index 0723eb75..22ea1fd2 100644 --- a/chain/ocr/types/types.go +++ b/chain/ocr/types/types.go @@ -84,13 +84,13 @@ func (cfg *FeedConfig) ValidateBasic() error { return errors.Wrap(ErrIncorrectConfig, "feed_id cannot have leading or trailing space characters") } - if len(cfg.ModuleParams.FeedAdmin) > 0 { + if cfg.ModuleParams.FeedAdmin != "" { if _, err := sdk.AccAddressFromBech32(cfg.ModuleParams.FeedAdmin); err != nil { return err } } - if len(cfg.ModuleParams.BillingAdmin) > 0 { + if cfg.ModuleParams.BillingAdmin != "" { if _, err := sdk.AccAddressFromBech32(cfg.ModuleParams.BillingAdmin); err != nil { return err } diff --git a/chain/oracle/bandchain/oracle/types/error.go b/chain/oracle/bandchain/oracle/types/error.go index 1e31330f..df4885ca 100644 --- a/chain/oracle/bandchain/oracle/types/error.go +++ b/chain/oracle/bandchain/oracle/types/error.go @@ -54,6 +54,6 @@ var ( ) // 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) +func WrapMaxError(err error, got, maximum int) error { + return errors.Wrapf(err, "got: %d, maximum: %d", got, maximum) } diff --git a/chain/oracle/types/codec.go b/chain/oracle/types/codec.go index c438ad07..4cf97e24 100644 --- a/chain/oracle/types/codec.go +++ b/chain/oracle/types/codec.go @@ -7,9 +7,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" 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 @@ -32,6 +30,7 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&EnableBandIBCProposal{}, "oracle/EnableBandIBCProposal", nil) cdc.RegisterConcrete(&GrantProviderPrivilegeProposal{}, "oracle/GrantProviderPrivilegeProposal", nil) cdc.RegisterConcrete(&RevokeProviderPrivilegeProposal{}, "oracle/RevokeProviderPrivilegeProposal", nil) + cdc.RegisterConcrete(&Params{}, "oracle/Params", nil) } func RegisterInterfaces(registry types.InterfaceRegistry) { @@ -80,6 +79,7 @@ func init() { amino.Seal() RegisterLegacyAminoCodec(authzcdc.Amino) - RegisterLegacyAminoCodec(govcdc.Amino) - RegisterLegacyAminoCodec(groupcdc.Amino) + // TODO: check + // RegisterLegacyAminoCodec(govcdc.Amino) + // RegisterLegacyAminoCodec(groupcdc.Amino) } diff --git a/chain/oracle/types/events.pb.go b/chain/oracle/types/events.pb.go index d8b8118e..8ea77f37 100644 --- a/chain/oracle/types/events.pb.go +++ b/chain/oracle/types/events.pb.go @@ -4,9 +4,9 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" _ "github.com/cosmos/cosmos-sdk/types" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -26,9 +26,9 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type SetChainlinkPriceEvent struct { - FeedId string `protobuf:"bytes,1,opt,name=feed_id,json=feedId,proto3" json:"feed_id,omitempty"` - Answer github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=answer,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"answer"` - Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + FeedId string `protobuf:"bytes,1,opt,name=feed_id,json=feedId,proto3" json:"feed_id,omitempty"` + Answer cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=answer,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"answer"` + Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` } func (m *SetChainlinkPriceEvent) Reset() { *m = SetChainlinkPriceEvent{} } @@ -80,11 +80,11 @@ func (m *SetChainlinkPriceEvent) GetTimestamp() uint64 { // Event type upon set ref type SetBandPriceEvent struct { - Relayer string `protobuf:"bytes,1,opt,name=relayer,proto3" json:"relayer,omitempty"` - Symbol string `protobuf:"bytes,2,opt,name=symbol,proto3" json:"symbol,omitempty"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` - ResolveTime uint64 `protobuf:"varint,4,opt,name=resolve_time,json=resolveTime,proto3" json:"resolve_time,omitempty"` - RequestId uint64 `protobuf:"varint,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + Relayer string `protobuf:"bytes,1,opt,name=relayer,proto3" json:"relayer,omitempty"` + Symbol string `protobuf:"bytes,2,opt,name=symbol,proto3" json:"symbol,omitempty"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` + ResolveTime uint64 `protobuf:"varint,4,opt,name=resolve_time,json=resolveTime,proto3" json:"resolve_time,omitempty"` + RequestId uint64 `protobuf:"varint,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` } func (m *SetBandPriceEvent) Reset() { *m = SetBandPriceEvent{} } @@ -149,12 +149,12 @@ func (m *SetBandPriceEvent) GetRequestId() uint64 { } type SetBandIBCPriceEvent struct { - Relayer string `protobuf:"bytes,1,opt,name=relayer,proto3" json:"relayer,omitempty"` - Symbols []string `protobuf:"bytes,2,rep,name=symbols,proto3" json:"symbols,omitempty"` - Prices []github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,rep,name=prices,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"prices"` - ResolveTime uint64 `protobuf:"varint,4,opt,name=resolve_time,json=resolveTime,proto3" json:"resolve_time,omitempty"` - RequestId uint64 `protobuf:"varint,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` - ClientId int64 `protobuf:"varint,6,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + Relayer string `protobuf:"bytes,1,opt,name=relayer,proto3" json:"relayer,omitempty"` + Symbols []string `protobuf:"bytes,2,rep,name=symbols,proto3" json:"symbols,omitempty"` + Prices []cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,rep,name=prices,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"prices"` + ResolveTime uint64 `protobuf:"varint,4,opt,name=resolve_time,json=resolveTime,proto3" json:"resolve_time,omitempty"` + RequestId uint64 `protobuf:"varint,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + ClientId int64 `protobuf:"varint,6,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` } func (m *SetBandIBCPriceEvent) Reset() { *m = SetBandIBCPriceEvent{} } @@ -378,7 +378,7 @@ type SetPriceFeedPriceEvent struct { Base string `protobuf:"bytes,2,opt,name=base,proto3" json:"base,omitempty"` Quote string `protobuf:"bytes,3,opt,name=quote,proto3" json:"quote,omitempty"` // price defines the price of the oracle base and quote - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` } func (m *SetPriceFeedPriceEvent) Reset() { *m = SetPriceFeedPriceEvent{} } @@ -436,10 +436,10 @@ func (m *SetPriceFeedPriceEvent) GetQuote() string { } type SetProviderPriceEvent struct { - Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` - Relayer string `protobuf:"bytes,2,opt,name=relayer,proto3" json:"relayer,omitempty"` - Symbol string `protobuf:"bytes,3,opt,name=symbol,proto3" json:"symbol,omitempty"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` + Relayer string `protobuf:"bytes,2,opt,name=relayer,proto3" json:"relayer,omitempty"` + Symbol string `protobuf:"bytes,3,opt,name=symbol,proto3" json:"symbol,omitempty"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` } func (m *SetProviderPriceEvent) Reset() { *m = SetProviderPriceEvent{} } @@ -497,9 +497,9 @@ func (m *SetProviderPriceEvent) GetSymbol() string { } type SetCoinbasePriceEvent struct { - Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` - Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` + Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` } func (m *SetCoinbasePriceEvent) Reset() { *m = SetCoinbasePriceEvent{} } @@ -611,49 +611,49 @@ func init() { } var fileDescriptor_c42b07097291dfa0 = []byte{ - // 664 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xbd, 0x6e, 0xdb, 0x48, - 0x10, 0xd6, 0x4a, 0xb2, 0x6c, 0xad, 0xaf, 0x39, 0x42, 0xe7, 0x23, 0xec, 0x3b, 0x5a, 0x11, 0x90, - 0x40, 0x8d, 0x49, 0x38, 0xe9, 0x52, 0x25, 0xf2, 0x0f, 0x20, 0xc0, 0x85, 0x41, 0x19, 0x29, 0xd2, - 0x18, 0xd4, 0x72, 0x6c, 0x6f, 0x44, 0x72, 0xe5, 0xdd, 0xa5, 0x02, 0xbd, 0x45, 0x80, 0x14, 0xe9, - 0xd3, 0xe6, 0x45, 0xdc, 0x04, 0x70, 0x19, 0xa4, 0x30, 0x02, 0xfb, 0x09, 0xf2, 0x06, 0xc1, 0xfe, - 0x48, 0x62, 0x04, 0x2b, 0xb0, 0xa1, 0x8a, 0x9c, 0xd9, 0x99, 0x6f, 0xbe, 0x6f, 0x77, 0x66, 0xf0, - 0x53, 0x9a, 0xbd, 0x03, 0x22, 0xe9, 0x08, 0x02, 0xc6, 0x23, 0x92, 0x40, 0x30, 0xda, 0xed, 0x83, - 0x8c, 0x76, 0x03, 0x18, 0x41, 0x26, 0x85, 0x3f, 0xe4, 0x4c, 0x32, 0xc7, 0x9d, 0x86, 0xf9, 0x26, - 0xcc, 0xb7, 0x61, 0x9b, 0x8d, 0x73, 0x76, 0xce, 0x74, 0x50, 0xa0, 0xfe, 0x4c, 0xfc, 0xa6, 0x47, - 0x98, 0x48, 0x99, 0x08, 0xfa, 0x91, 0x98, 0x21, 0x12, 0x46, 0x33, 0x7b, 0xbe, 0xb8, 0xac, 0x85, - 0xd7, 0x61, 0xad, 0x4f, 0x08, 0x6f, 0xf4, 0x40, 0xee, 0x5d, 0x44, 0x34, 0x4b, 0x68, 0x36, 0x38, - 0xe6, 0x94, 0xc0, 0x81, 0x22, 0xe6, 0xfc, 0x8b, 0x57, 0xcf, 0x00, 0xe2, 0x53, 0x1a, 0xbb, 0xa8, - 0x89, 0xda, 0xf5, 0xb0, 0xa6, 0xcc, 0x6e, 0xec, 0x1c, 0xe2, 0x5a, 0x94, 0x89, 0xf7, 0xc0, 0xdd, - 0xb2, 0xf2, 0x77, 0xfc, 0xab, 0x9b, 0xed, 0xd2, 0xf7, 0x9b, 0xed, 0x67, 0xe7, 0x54, 0x5e, 0xe4, - 0x7d, 0x9f, 0xb0, 0x34, 0xb0, 0xec, 0xcc, 0x67, 0x47, 0xc4, 0x83, 0x40, 0x8e, 0x87, 0x20, 0xfc, - 0x7d, 0x20, 0xa1, 0xcd, 0x76, 0xfe, 0xc3, 0x75, 0x49, 0x53, 0x10, 0x32, 0x4a, 0x87, 0x6e, 0xa5, - 0x89, 0xda, 0xd5, 0x70, 0xe6, 0x68, 0x7d, 0x45, 0xf8, 0xef, 0x1e, 0xc8, 0x4e, 0x94, 0xc5, 0x05, - 0x52, 0x2e, 0x5e, 0xe5, 0x90, 0x44, 0x63, 0xe0, 0x96, 0xd4, 0xc4, 0x74, 0x36, 0x70, 0x4d, 0x8c, - 0xd3, 0x3e, 0x4b, 0x0c, 0xab, 0xd0, 0x5a, 0xce, 0x3e, 0x5e, 0x19, 0xaa, 0x7c, 0x5d, 0xe1, 0xf1, - 0x64, 0x4d, 0xb2, 0xf3, 0x04, 0xff, 0xc5, 0x41, 0xb0, 0x64, 0x04, 0xa7, 0x8a, 0xa2, 0x5b, 0xd5, - 0x74, 0xd7, 0xad, 0xef, 0x84, 0xa6, 0xe0, 0xfc, 0x8f, 0x31, 0x87, 0xcb, 0x1c, 0x84, 0x54, 0x57, - 0xb6, 0x62, 0xf4, 0x58, 0x4f, 0x37, 0x6e, 0xfd, 0x44, 0xb8, 0x61, 0xf5, 0x74, 0x3b, 0x7b, 0x0f, - 0x92, 0xe4, 0xe2, 0x55, 0x23, 0x42, 0xb8, 0xe5, 0x66, 0x45, 0x9d, 0x58, 0x53, 0x3d, 0x81, 0xe6, - 0x25, 0xdc, 0x8a, 0x3a, 0x78, 0xfc, 0x13, 0x98, 0xec, 0xe5, 0x65, 0x39, 0x5b, 0xb8, 0x4e, 0x12, - 0x0a, 0x99, 0x3e, 0xad, 0x35, 0x51, 0xbb, 0x12, 0xae, 0x19, 0x47, 0x37, 0x6e, 0x9d, 0xe0, 0x0d, - 0xad, 0xd1, 0x8a, 0x7e, 0x4d, 0x06, 0xbd, 0x9c, 0x10, 0x10, 0x42, 0xa1, 0x46, 0x64, 0x70, 0xca, - 0x41, 0xe4, 0x89, 0xb4, 0xba, 0xeb, 0x11, 0x19, 0x84, 0xda, 0xf1, 0x3b, 0x6a, 0x79, 0x0e, 0xf5, - 0x18, 0x37, 0xe6, 0x50, 0x0f, 0x38, 0x67, 0x5c, 0x25, 0x29, 0x4c, 0x50, 0x86, 0x85, 0x5c, 0x8b, - 0x0a, 0x87, 0x8b, 0x11, 0x5f, 0xe2, 0xad, 0x22, 0x62, 0x08, 0x62, 0xc8, 0x32, 0xa1, 0xf5, 0xb3, - 0x7c, 0x8e, 0x0d, 0x9a, 0xcb, 0xfd, 0x6c, 0x26, 0x48, 0x3f, 0xe8, 0x21, 0xc0, 0xc3, 0x9a, 0xd5, - 0xc1, 0x55, 0x35, 0xb8, 0xb6, 0x55, 0xf5, 0xbf, 0xd3, 0xc0, 0x2b, 0x97, 0x39, 0x93, 0xb6, 0x51, - 0x43, 0x63, 0xcc, 0xda, 0xb7, 0xba, 0x44, 0xfb, 0xb6, 0xbe, 0x20, 0xfc, 0x8f, 0x26, 0xc9, 0x46, - 0x34, 0x06, 0x5e, 0xe0, 0xb8, 0x89, 0xd7, 0x86, 0xd6, 0x3b, 0xb9, 0xb3, 0x89, 0x5d, 0xe4, 0x5f, - 0x5e, 0x34, 0x6c, 0x95, 0xfb, 0x87, 0x6d, 0x29, 0xb6, 0x1f, 0x0d, 0xdb, 0x3d, 0x46, 0x33, 0x75, - 0x33, 0x05, 0xb6, 0xb3, 0xba, 0xe8, 0xfe, 0xba, 0xe5, 0x65, 0x86, 0xfc, 0xcf, 0x0b, 0xe9, 0x0d, - 0x76, 0x34, 0x09, 0x75, 0x8f, 0x63, 0x79, 0x71, 0x6c, 0x26, 0xe8, 0xd5, 0x74, 0x12, 0x51, 0xb3, - 0xd2, 0x5e, 0x7f, 0xde, 0xf6, 0x17, 0x2d, 0x72, 0x7f, 0x9a, 0xd5, 0x93, 0x91, 0x84, 0xc9, 0x0c, - 0x76, 0xce, 0xae, 0x6e, 0x3d, 0x74, 0x7d, 0xeb, 0xa1, 0x1f, 0xb7, 0x1e, 0xfa, 0x70, 0xe7, 0x95, - 0xae, 0xef, 0xbc, 0xd2, 0xb7, 0x3b, 0xaf, 0xf4, 0xf6, 0xa8, 0x40, 0xbf, 0x3b, 0x41, 0x3d, 0x8a, - 0xfa, 0x22, 0x98, 0xd6, 0xd8, 0x21, 0x8c, 0x43, 0xd1, 0x54, 0x8b, 0x3c, 0x48, 0x59, 0x9c, 0x27, - 0x20, 0x26, 0x9b, 0x5f, 0x0b, 0xed, 0xd7, 0xf4, 0xc6, 0x7f, 0xf1, 0x2b, 0x00, 0x00, 0xff, 0xff, - 0x81, 0xc7, 0x44, 0x17, 0x91, 0x06, 0x00, 0x00, + // 665 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xb1, 0x6e, 0x13, 0x4d, + 0x10, 0xf6, 0xda, 0x8e, 0x13, 0x6f, 0xfe, 0xe6, 0x3f, 0x99, 0x70, 0x4a, 0xc0, 0x31, 0x46, 0x48, + 0x6e, 0xb8, 0x53, 0xa0, 0x02, 0x1a, 0x70, 0x08, 0x92, 0xa5, 0x14, 0xd1, 0x39, 0xa2, 0xa0, 0x89, + 0xd6, 0x7b, 0x13, 0x7b, 0xf1, 0xdd, 0xad, 0xb3, 0xbb, 0x67, 0xe4, 0x37, 0xa0, 0xa0, 0xa0, 0xa3, + 0xe5, 0x59, 0xa8, 0x52, 0xa6, 0x44, 0x14, 0x11, 0x4a, 0x24, 0x9e, 0x03, 0xed, 0xde, 0xda, 0x3e, + 0xac, 0x18, 0x39, 0xa2, 0xbb, 0x99, 0x9d, 0xf9, 0xe6, 0x9b, 0xb9, 0xf9, 0x06, 0x3f, 0x62, 0xc9, + 0x7b, 0xa0, 0x8a, 0x8d, 0xc1, 0xe7, 0x82, 0xd0, 0x08, 0xfc, 0xf1, 0x5e, 0x0f, 0x14, 0xd9, 0xf3, + 0x61, 0x0c, 0x89, 0x92, 0xde, 0x48, 0x70, 0xc5, 0x1d, 0x77, 0x16, 0xe6, 0x65, 0x61, 0x9e, 0x0d, + 0xdb, 0xae, 0xf5, 0x79, 0x9f, 0x9b, 0x20, 0x5f, 0x7f, 0x65, 0xf1, 0xdb, 0x75, 0xca, 0x65, 0xcc, + 0xa5, 0xdf, 0x23, 0x72, 0x8e, 0x48, 0x39, 0x4b, 0xec, 0xfb, 0xf2, 0xb2, 0x16, 0xde, 0x84, 0x35, + 0x3f, 0x21, 0xbc, 0xd5, 0x05, 0xb5, 0x3f, 0x20, 0x2c, 0x89, 0x58, 0x32, 0x3c, 0x12, 0x8c, 0xc2, + 0x81, 0x26, 0xe6, 0xdc, 0xc5, 0xeb, 0xa7, 0x00, 0xe1, 0x09, 0x0b, 0x5d, 0xd4, 0x40, 0xad, 0x6a, + 0x50, 0xd1, 0x66, 0x27, 0x74, 0x5e, 0xe0, 0x0a, 0x49, 0xe4, 0x07, 0x10, 0x6e, 0x51, 0xfb, 0xdb, + 0x0f, 0xcf, 0x2f, 0x77, 0x0b, 0x3f, 0x2e, 0x77, 0x77, 0x32, 0x4a, 0x32, 0x1c, 0x7a, 0x8c, 0xfb, + 0x31, 0x51, 0x03, 0xef, 0x10, 0xfa, 0x84, 0x4e, 0x5e, 0x03, 0x0d, 0x6c, 0x8a, 0x73, 0x0f, 0x57, + 0x15, 0x8b, 0x41, 0x2a, 0x12, 0x8f, 0xdc, 0x52, 0x03, 0xb5, 0xca, 0xc1, 0xdc, 0xd1, 0xfc, 0x86, + 0xf0, 0xff, 0x5d, 0x50, 0x6d, 0x92, 0x84, 0x39, 0x26, 0x2e, 0x5e, 0x17, 0x10, 0x91, 0x09, 0x08, + 0xcb, 0x64, 0x6a, 0x3a, 0x5b, 0xb8, 0x22, 0x27, 0x71, 0x8f, 0x47, 0x19, 0x95, 0xc0, 0x5a, 0xce, + 0x33, 0xbc, 0x36, 0xd2, 0xf9, 0xa6, 0xc2, 0x8a, 0x0c, 0xb3, 0x0c, 0xe7, 0x01, 0xfe, 0x4f, 0x80, + 0xe4, 0xd1, 0x18, 0x4e, 0x34, 0x2f, 0xb7, 0x6c, 0x38, 0x6e, 0x5a, 0xdf, 0x31, 0x8b, 0xc1, 0xb9, + 0x8f, 0xb1, 0x80, 0xb3, 0x14, 0xa4, 0xd2, 0xc3, 0x59, 0xcb, 0x9a, 0xb0, 0x9e, 0x4e, 0xd8, 0xfc, + 0x85, 0x70, 0xcd, 0x36, 0xd1, 0x69, 0xef, 0xaf, 0xd4, 0x87, 0x8b, 0xd7, 0x33, 0xe6, 0xd2, 0x2d, + 0x36, 0x4a, 0xfa, 0xc5, 0x9a, 0x7a, 0xd8, 0x86, 0x97, 0x74, 0x4b, 0xfa, 0x61, 0xc5, 0x61, 0x67, + 0x29, 0xff, 0xde, 0x8b, 0xb3, 0x83, 0xab, 0x34, 0x62, 0x90, 0x98, 0xd7, 0x4a, 0x03, 0xb5, 0x4a, + 0xc1, 0x46, 0xe6, 0xe8, 0x84, 0xcd, 0x63, 0xbc, 0x65, 0x1a, 0xb3, 0x9d, 0xbe, 0xa2, 0xc3, 0x6e, + 0x4a, 0x29, 0x48, 0xa9, 0x51, 0x09, 0x1d, 0x9e, 0x08, 0x90, 0x69, 0xa4, 0x6c, 0xb3, 0x55, 0x42, + 0x87, 0x81, 0x71, 0xfc, 0x89, 0x5a, 0x5c, 0x40, 0x3d, 0xc2, 0xb5, 0x05, 0xd4, 0x03, 0x21, 0xb8, + 0xd0, 0x49, 0x1a, 0x13, 0xb4, 0x61, 0x21, 0x37, 0x48, 0xee, 0x71, 0x39, 0xe2, 0x73, 0xbc, 0x93, + 0x47, 0x0c, 0x40, 0x8e, 0x78, 0x22, 0x4d, 0xff, 0x3c, 0x5d, 0x60, 0x83, 0x16, 0x72, 0xbf, 0x64, + 0x02, 0x31, 0x7f, 0xf1, 0x0d, 0xc0, 0x6a, 0x6b, 0xe9, 0xe0, 0xb2, 0xd6, 0xa5, 0x5d, 0x4a, 0xf3, + 0xed, 0xd4, 0xf0, 0xda, 0x59, 0xca, 0x95, 0x5d, 0xc9, 0x20, 0x33, 0xe6, 0x8b, 0x5a, 0xbe, 0xed, + 0xa2, 0x36, 0xbf, 0x22, 0x7c, 0xc7, 0x30, 0xe3, 0x63, 0x16, 0x82, 0xc8, 0x11, 0xdb, 0xc6, 0x1b, + 0x23, 0xeb, 0x9d, 0x0e, 0x6a, 0x6a, 0xe7, 0x49, 0x17, 0x97, 0x69, 0xa9, 0x74, 0xb3, 0x96, 0x6e, + 0x4f, 0xf1, 0x63, 0x46, 0x71, 0x9f, 0xb3, 0x44, 0xcf, 0x20, 0x47, 0x71, 0x5e, 0x0c, 0xdd, 0x5c, + 0xac, 0x78, 0x6b, 0xe1, 0xfe, 0xfd, 0xb2, 0xbc, 0xc5, 0x8e, 0xa9, 0xac, 0x27, 0x36, 0x51, 0x83, + 0xa3, 0x4c, 0x20, 0x2f, 0x67, 0xea, 0x42, 0x8d, 0x52, 0x6b, 0xf3, 0x49, 0xcb, 0x5b, 0x76, 0x86, + 0xbd, 0x59, 0x56, 0x57, 0x11, 0x05, 0x53, 0x89, 0xb5, 0x4f, 0xcf, 0xaf, 0xea, 0xe8, 0xe2, 0xaa, + 0x8e, 0x7e, 0x5e, 0xd5, 0xd1, 0xe7, 0xeb, 0x7a, 0xe1, 0xe2, 0xba, 0x5e, 0xf8, 0x7e, 0x5d, 0x2f, + 0xbc, 0x3b, 0xec, 0x33, 0x35, 0x48, 0x7b, 0x1e, 0xe5, 0xb1, 0xdf, 0x99, 0xa2, 0x1e, 0x92, 0x9e, + 0xf4, 0x67, 0x35, 0x1e, 0x53, 0x2e, 0x20, 0x6f, 0xea, 0x33, 0xec, 0xc7, 0x3c, 0x4c, 0x23, 0x90, + 0xd3, 0xbb, 0xad, 0x26, 0x23, 0x90, 0xbd, 0x8a, 0xb9, 0xd7, 0x4f, 0x7f, 0x07, 0x00, 0x00, 0xff, + 0xff, 0xbc, 0x05, 0xc5, 0xe3, 0x4f, 0x06, 0x00, 0x00, } func (m *SetChainlinkPriceEvent) Marshal() (dAtA []byte, err error) { @@ -1775,7 +1775,7 @@ func (m *SetBandIBCPriceEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.Prices = append(m.Prices, v) if err := m.Prices[len(m.Prices)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/chain/oracle/types/expected_keepers.go b/chain/oracle/types/expected_keepers.go index 7cff08ad..dd6e7ed2 100644 --- a/chain/oracle/types/expected_keepers.go +++ b/chain/oracle/types/expected_keepers.go @@ -1,21 +1,23 @@ package types import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" - capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + capabilitytypes "github.com/cosmos/ibc-go/modules/capability/types" + clienttypes "github.com/cosmos/ibc-go/v8/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" ocrtypes "github.com/InjectiveLabs/sdk-go/chain/ocr/types" ) // BankKeeper defines the expected bank keeper methods type BankKeeper interface { - GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins - SendCoinsFromModuleToModule(ctx sdk.Context, senderModule, recipientModule string, amt sdk.Coins) error - 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 + GetAllBalances(ctx context.Context, addr sdk.AccAddress) sdk.Coins + SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error + SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error + BurnCoins(ctx context.Context, moduleName string, amt sdk.Coins) error } // ChannelKeeper defines the expected IBC channel keeper diff --git a/chain/oracle/types/oracle.go b/chain/oracle/types/oracle.go index a03aad9b..acb83b38 100644 --- a/chain/oracle/types/oracle.go +++ b/chain/oracle/types/oracle.go @@ -4,7 +4,7 @@ import ( "strings" "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" "github.com/cosmos/gogoproto/proto" ) @@ -47,29 +47,29 @@ func (o *OracleType) UnmarshalJSON(data []byte) error { return nil } -func (c *CoinbasePriceState) GetDecPrice() sdk.Dec { +func (c *CoinbasePriceState) GetDecPrice() math.LegacyDec { // nolint:all // price = price/10^6 - return sdk.NewDec(int64(c.Value)).QuoTruncate(sdk.NewDec(10).Power(6)) + return math.LegacyNewDec(int64(c.Value)).QuoTruncate(math.LegacyNewDec(10).Power(6)) } -func NewPriceState(price sdk.Dec, timestamp int64) *PriceState { +func NewPriceState(price math.LegacyDec, timestamp int64) *PriceState { return &PriceState{ Price: price, - CumulativePrice: sdk.ZeroDec(), + CumulativePrice: math.LegacyZeroDec(), Timestamp: timestamp, } } -func NewProviderPriceState(symbol string, price sdk.Dec, timestamp int64) *ProviderPriceState { +func NewProviderPriceState(symbol string, price math.LegacyDec, timestamp int64) *ProviderPriceState { return &ProviderPriceState{ Symbol: symbol, State: NewPriceState(price, timestamp), } } -func (p *PriceState) UpdatePrice(price sdk.Dec, timestamp int64) { - cumulativePriceDelta := sdk.NewDec(timestamp - p.Timestamp).Mul(p.Price) +func (p *PriceState) UpdatePrice(price math.LegacyDec, timestamp int64) { + cumulativePriceDelta := math.LegacyNewDec(timestamp - p.Timestamp).Mul(p.Price) p.CumulativePrice = p.CumulativePrice.Add(cumulativePriceDelta) p.Timestamp = timestamp p.Price = price @@ -105,8 +105,8 @@ func (s SymbolPriceTimestamps) GetTimestamp(oracleType OracleType, symbol string } // CheckPriceFeedThreshold returns true if the newPrice has changed beyond 100x or less than 1% of the last price -func CheckPriceFeedThreshold(lastPrice, newPrice sdk.Dec) bool { - return newPrice.GT(lastPrice.Mul(sdk.NewDec(100))) || newPrice.LT(lastPrice.Quo(sdk.NewDec(100))) +func CheckPriceFeedThreshold(lastPrice, newPrice math.LegacyDec) bool { + return newPrice.GT(lastPrice.Mul(math.LegacyNewDec(100))) || newPrice.LT(lastPrice.Quo(math.LegacyNewDec(100))) } func IsLegacySchemeOracleScript(scriptID int64, params BandIBCParams) bool { diff --git a/chain/oracle/types/oracle.pb.go b/chain/oracle/types/oracle.pb.go index 156c1208..f1d3ea11 100644 --- a/chain/oracle/types/oracle.pb.go +++ b/chain/oracle/types/oracle.pb.go @@ -4,9 +4,11 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" 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/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" golang_proto "github.com/golang/protobuf/proto" @@ -179,10 +181,10 @@ func (m *OracleInfo) GetOracleType() OracleType { } type ChainlinkPriceState struct { - FeedId string `protobuf:"bytes,1,opt,name=feed_id,json=feedId,proto3" json:"feed_id,omitempty"` - Answer github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=answer,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"answer"` - Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - PriceState PriceState `protobuf:"bytes,4,opt,name=price_state,json=priceState,proto3" json:"price_state"` + FeedId string `protobuf:"bytes,1,opt,name=feed_id,json=feedId,proto3" json:"feed_id,omitempty"` + Answer cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=answer,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"answer"` + Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + PriceState PriceState `protobuf:"bytes,4,opt,name=price_state,json=priceState,proto3" json:"price_state"` } func (m *ChainlinkPriceState) Reset() { *m = ChainlinkPriceState{} } @@ -240,11 +242,11 @@ func (m *ChainlinkPriceState) GetPriceState() PriceState { } type BandPriceState struct { - Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` - Rate github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,2,opt,name=rate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"rate"` - ResolveTime uint64 `protobuf:"varint,3,opt,name=resolve_time,json=resolveTime,proto3" json:"resolve_time,omitempty"` - Request_ID uint64 `protobuf:"varint,4,opt,name=request_ID,json=requestID,proto3" json:"request_ID,omitempty"` - PriceState PriceState `protobuf:"bytes,5,opt,name=price_state,json=priceState,proto3" json:"price_state"` + Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` + Rate cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=rate,proto3,customtype=cosmossdk.io/math.Int" json:"rate"` + ResolveTime uint64 `protobuf:"varint,3,opt,name=resolve_time,json=resolveTime,proto3" json:"resolve_time,omitempty"` + Request_ID uint64 `protobuf:"varint,4,opt,name=request_ID,json=requestID,proto3" json:"request_ID,omitempty"` + PriceState PriceState `protobuf:"bytes,5,opt,name=price_state,json=priceState,proto3" json:"price_state"` } func (m *BandPriceState) Reset() { *m = BandPriceState{} } @@ -585,7 +587,7 @@ func (m *PriceFeedInfo) GetQuote() string { } type PriceFeedPrice 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"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` } func (m *PriceFeedPrice) Reset() { *m = PriceFeedPrice{} } @@ -703,9 +705,9 @@ func (m *CoinbasePriceState) GetPriceState() PriceState { } type PriceState 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"` - 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"` - Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` + CumulativePrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=cumulative_price,json=cumulativePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cumulative_price"` + Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` } func (m *PriceState) Reset() { *m = PriceState{} } @@ -749,12 +751,12 @@ func (m *PriceState) GetTimestamp() int64 { } type PythPriceState struct { - PriceId string `protobuf:"bytes,1,opt,name=price_id,json=priceId,proto3" json:"price_id,omitempty"` - EmaPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=ema_price,json=emaPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"ema_price"` - EmaConf github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=ema_conf,json=emaConf,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"ema_conf"` - Conf github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=conf,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"conf"` - PublishTime uint64 `protobuf:"varint,5,opt,name=publish_time,json=publishTime,proto3" json:"publish_time,omitempty"` - PriceState PriceState `protobuf:"bytes,6,opt,name=price_state,json=priceState,proto3" json:"price_state"` + PriceId string `protobuf:"bytes,1,opt,name=price_id,json=priceId,proto3" json:"price_id,omitempty"` + EmaPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=ema_price,json=emaPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"ema_price"` + EmaConf cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=ema_conf,json=emaConf,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"ema_conf"` + Conf cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=conf,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"conf"` + PublishTime uint64 `protobuf:"varint,5,opt,name=publish_time,json=publishTime,proto3" json:"publish_time,omitempty"` + PriceState PriceState `protobuf:"bytes,6,opt,name=price_state,json=priceState,proto3" json:"price_state"` } func (m *PythPriceState) Reset() { *m = PythPriceState{} } @@ -1189,8 +1191,8 @@ func (m *PriceRecords) GetLatestPriceRecords() []*PriceRecord { } type PriceRecord struct { - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` } func (m *PriceRecord) Reset() { *m = PriceRecord{} } @@ -1245,20 +1247,20 @@ type MetadataStatistics struct { // 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"` + Mean cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=mean,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=twap,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"twap"` + Twap cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=twap,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` // LastTimestamp is the timestamp of the youngest record considered LastTimestamp int64 `protobuf:"varint,6,opt,name=last_timestamp,json=lastTimestamp,proto3" json:"last_timestamp,omitempty"` // MinPrice refers to the smallest individual raw price considered - MinPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=min_price,json=minPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_price"` + MinPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=min_price,json=minPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price"` // MaxPrice refers to the largest individual raw price considered - MaxPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,8,opt,name=max_price,json=maxPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"max_price"` + MaxPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=max_price,json=maxPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"max_price"` // MedianPrice refers to the median individual raw price considered - MedianPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,9,opt,name=median_price,json=medianPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"median_price"` + MedianPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=median_price,json=medianPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"median_price"` } func (m *MetadataStatistics) Reset() { *m = MetadataStatistics{} } @@ -1478,109 +1480,111 @@ func init() { } var fileDescriptor_1c8fbf1e7a765423 = []byte{ - // 1620 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x4f, 0x73, 0x1b, 0x4b, - 0x11, 0xf7, 0xea, 0xff, 0xb6, 0x2c, 0x79, 0x33, 0xf6, 0x03, 0xc5, 0x80, 0x6c, 0x04, 0x79, 0xa8, - 0x5e, 0xbd, 0x27, 0xbd, 0x38, 0x27, 0x52, 0x5c, 0x62, 0x3b, 0xa1, 0x54, 0x31, 0x85, 0x59, 0x3b, - 0xa1, 0xe0, 0x22, 0x66, 0x77, 0x47, 0xd6, 0xc4, 0xfb, 0x2f, 0x3b, 0x2b, 0xc7, 0xca, 0x07, 0xc8, - 0x15, 0xbe, 0x00, 0x05, 0xe7, 0x7c, 0x05, 0xaa, 0x28, 0x8a, 0x53, 0xaa, 0xb8, 0xe4, 0x48, 0x71, - 0x08, 0x10, 0x5f, 0xf8, 0x06, 0x1c, 0xb8, 0x50, 0x3d, 0x33, 0x5a, 0xad, 0x6d, 0x9c, 0xf8, 0x4f, - 0x38, 0x69, 0xa6, 0xa7, 0xfb, 0x37, 0xfd, 0x6f, 0xba, 0x7b, 0x05, 0x77, 0x78, 0xf8, 0x8c, 0xb9, - 0x29, 0x3f, 0x62, 0xfd, 0x28, 0xa1, 0xae, 0xcf, 0xfa, 0x47, 0x77, 0x1d, 0x96, 0xd2, 0xbb, 0x7a, - 0xdb, 0x8b, 0x93, 0x28, 0x8d, 0x48, 0x2b, 0x63, 0xeb, 0x69, 0xba, 0x66, 0x5b, 0x5d, 0x39, 0x88, - 0x0e, 0x22, 0xc9, 0xd4, 0xc7, 0x95, 0xe2, 0x5f, 0x6d, 0xbb, 0x91, 0x08, 0x22, 0xd1, 0x77, 0xa8, - 0x98, 0x23, 0xba, 0x11, 0x0f, 0xd5, 0x79, 0xe7, 0x1e, 0x54, 0x76, 0x69, 0x42, 0x03, 0x41, 0xbe, - 0x07, 0x8d, 0x78, 0x9a, 0x8e, 0x87, 0x6e, 0x14, 0xa6, 0x09, 0x75, 0xd3, 0x96, 0xb1, 0x6e, 0x74, - 0x4d, 0x7b, 0x11, 0x89, 0x5b, 0x9a, 0x76, 0xbf, 0xf4, 0xaf, 0xdf, 0xaf, 0x19, 0x9d, 0x43, 0x80, - 0x9f, 0xca, 0xcb, 0x07, 0xe1, 0x28, 0x22, 0xdf, 0x80, 0x8a, 0x98, 0x06, 0x4e, 0xe4, 0x6b, 0x09, - 0xbd, 0x23, 0x0f, 0xa1, 0xae, 0x54, 0x1c, 0xa6, 0xd3, 0x98, 0xb5, 0x0a, 0xeb, 0x46, 0xb7, 0xb9, - 0xf1, 0xfd, 0xde, 0x45, 0x06, 0xf4, 0x14, 0xe4, 0xfe, 0x34, 0x66, 0x36, 0x44, 0xd9, 0xba, 0xf3, - 0x4f, 0x03, 0x96, 0xb7, 0xc6, 0x94, 0x87, 0x3e, 0x0f, 0x0f, 0x77, 0x13, 0xee, 0xb2, 0xbd, 0x94, - 0xa6, 0x8c, 0x7c, 0x13, 0xaa, 0x23, 0xc6, 0xbc, 0x21, 0xf7, 0x66, 0xf7, 0xe2, 0x76, 0xe0, 0x91, - 0x47, 0x50, 0xa1, 0xa1, 0x78, 0xc1, 0x12, 0x79, 0xa5, 0xb9, 0xd9, 0x7b, 0xf3, 0x6e, 0x6d, 0xe1, - 0x6f, 0xef, 0xd6, 0x3e, 0x3f, 0xe0, 0xe9, 0x78, 0xe2, 0xf4, 0xdc, 0x28, 0xe8, 0x6b, 0xaf, 0xa8, - 0x9f, 0xaf, 0x84, 0x77, 0xd8, 0x47, 0x1d, 0x45, 0x6f, 0x9b, 0xb9, 0xb6, 0x96, 0x26, 0xdf, 0x06, - 0x33, 0xe5, 0x01, 0x13, 0x29, 0x0d, 0xe2, 0x56, 0x71, 0xdd, 0xe8, 0x96, 0xec, 0x39, 0x81, 0x3c, - 0x86, 0x7a, 0x8c, 0xca, 0x0c, 0x05, 0x6a, 0xd3, 0x2a, 0xad, 0x1b, 0xdd, 0xfa, 0x87, 0xac, 0x9b, - 0x6b, 0xbe, 0x59, 0x42, 0x85, 0x6c, 0x88, 0x33, 0x4a, 0xe7, 0x3f, 0x06, 0x34, 0x37, 0x69, 0xe8, - 0xe5, 0xcc, 0xbb, 0xc8, 0xab, 0x9b, 0x50, 0x4a, 0xf0, 0xc2, 0xab, 0xdb, 0x36, 0x08, 0x53, 0x5b, - 0xca, 0x92, 0xef, 0xc2, 0x62, 0xc2, 0x44, 0xe4, 0x1f, 0xb1, 0x21, 0x1a, 0xa4, 0x8d, 0xab, 0x6b, - 0xda, 0x3e, 0x0f, 0x18, 0xf9, 0x0e, 0x40, 0xc2, 0x9e, 0x4f, 0x98, 0x48, 0x87, 0x83, 0x6d, 0x69, - 0x5d, 0xc9, 0x36, 0x35, 0x65, 0xb0, 0x7d, 0xd6, 0xfa, 0xf2, 0x8d, 0xac, 0xff, 0xad, 0x01, 0x4d, - 0xc9, 0xf0, 0x88, 0x31, 0x4f, 0x59, 0x4f, 0xa0, 0x84, 0x19, 0xab, 0x6d, 0x97, 0x6b, 0xb2, 0x02, - 0xe5, 0xe7, 0x93, 0x68, 0x66, 0xba, 0xad, 0x36, 0x98, 0x65, 0x79, 0x4d, 0x8a, 0x97, 0xd7, 0x24, - 0xaf, 0x03, 0x59, 0x85, 0x5a, 0xc2, 0x7c, 0x3a, 0x65, 0x89, 0x68, 0x95, 0xd6, 0x8b, 0x5d, 0xd3, - 0xce, 0xf6, 0x9d, 0x47, 0xb0, 0xb8, 0x9b, 0x44, 0x47, 0xdc, 0x63, 0x89, 0x4c, 0xf8, 0x55, 0xa8, - 0xc5, 0x7a, 0xaf, 0x15, 0xcc, 0xf6, 0xa7, 0x70, 0x0a, 0x67, 0x70, 0xfe, 0x68, 0x40, 0x63, 0x06, - 0xa4, 0x6e, 0x7d, 0x0c, 0x8d, 0x99, 0xe4, 0x90, 0x87, 0xa3, 0x48, 0xc2, 0xd5, 0x37, 0x3e, 0xff, - 0x90, 0xfa, 0x73, 0x45, 0xec, 0xc5, 0x38, 0xaf, 0xd6, 0xaf, 0xe0, 0xb3, 0x0c, 0x2c, 0xe7, 0x12, - 0xa5, 0x47, 0x7d, 0xe3, 0xcb, 0x8f, 0x83, 0xe6, 0x7c, 0xb3, 0x1c, 0x9f, 0xa3, 0x89, 0xce, 0x18, - 0xc8, 0x79, 0xd6, 0x0b, 0x33, 0xf5, 0x3e, 0x94, 0x55, 0x4c, 0x0a, 0x57, 0x88, 0x89, 0x12, 0xe9, - 0xfc, 0x10, 0x3d, 0xa5, 0x33, 0x42, 0x1a, 0x77, 0xe9, 0x84, 0xe8, 0x3c, 0xcd, 0x25, 0x93, 0x5c, - 0x90, 0x6d, 0x28, 0x4b, 0x7f, 0x28, 0xe1, 0x2b, 0xd7, 0x03, 0x25, 0xdc, 0xf9, 0x83, 0x01, 0x64, - 0x2b, 0xe2, 0x21, 0x5e, 0x9d, 0xb3, 0x9e, 0x40, 0xe9, 0x90, 0x87, 0xb3, 0x1a, 0x24, 0xd7, 0xa7, - 0x2b, 0x47, 0xe1, 0x6c, 0xe5, 0xb0, 0xa0, 0x78, 0xc8, 0xa6, 0x32, 0x53, 0x4d, 0x1b, 0x97, 0x68, - 0xc8, 0x11, 0xf5, 0x27, 0x4c, 0xbf, 0x33, 0xb5, 0xf9, 0xb4, 0x6f, 0xec, 0x2f, 0x06, 0x40, 0x4e, - 0xeb, 0x4f, 0xe2, 0x12, 0xf2, 0x0b, 0xb0, 0xdc, 0x49, 0x30, 0xf1, 0x29, 0xaa, 0xa3, 0x72, 0xee, - 0x9a, 0x35, 0x77, 0x69, 0x8e, 0xa3, 0x62, 0x76, 0xae, 0xf8, 0x16, 0x73, 0x2e, 0xec, 0xfc, 0xbb, - 0x00, 0xcd, 0xdd, 0x69, 0x3a, 0xce, 0x59, 0x74, 0x1b, 0x1f, 0x25, 0x7a, 0x2b, 0xeb, 0x07, 0x55, - 0xb9, 0x1f, 0x78, 0xe4, 0x31, 0x98, 0x2c, 0xa0, 0x37, 0xd2, 0xaf, 0xc6, 0x02, 0xaa, 0x14, 0x1b, - 0x00, 0xae, 0xb1, 0x4b, 0x8e, 0x54, 0x08, 0xaf, 0x8c, 0x55, 0x65, 0x01, 0xdd, 0x8a, 0xc2, 0x11, - 0x96, 0x72, 0x09, 0x53, 0xba, 0x16, 0x8c, 0x94, 0xc5, 0x52, 0x1e, 0x4f, 0x1c, 0x9f, 0x8b, 0xb1, - 0x2a, 0xe5, 0x65, 0x55, 0xca, 0x35, 0x4d, 0x96, 0xf2, 0x33, 0x79, 0x54, 0xb9, 0x51, 0x1e, 0xbd, - 0x2a, 0xc2, 0x2d, 0xec, 0x54, 0xaa, 0x59, 0xdb, 0xaa, 0x21, 0xe4, 0xbb, 0x85, 0x76, 0x7f, 0xae, - 0x5b, 0x78, 0xa4, 0x0b, 0x96, 0x9e, 0x04, 0x84, 0x9b, 0xf0, 0x58, 0x32, 0x15, 0x64, 0x4c, 0x9b, - 0x8a, 0xbe, 0x27, 0xc9, 0x03, 0x8f, 0xb4, 0xa0, 0xaa, 0xaa, 0x87, 0x68, 0x15, 0x65, 0xf5, 0x9c, - 0x6d, 0xc9, 0xb7, 0xc0, 0xa4, 0xe2, 0x70, 0xe8, 0x46, 0x93, 0x30, 0xd5, 0xef, 0xa4, 0x46, 0xc5, - 0xe1, 0x16, 0xee, 0xf1, 0x30, 0xe0, 0xa1, 0x3e, 0x54, 0x2e, 0xa8, 0x05, 0x3c, 0x54, 0x87, 0x63, - 0x30, 0x47, 0x8c, 0x0d, 0x7d, 0x1e, 0xf0, 0xb4, 0x55, 0x91, 0xb5, 0xf0, 0x76, 0x4f, 0xb9, 0xb4, - 0x87, 0x8f, 0x39, 0x33, 0x1c, 0x5f, 0xf7, 0xe6, 0xd7, 0x68, 0xf2, 0xeb, 0xbf, 0xaf, 0x75, 0x2f, - 0x11, 0x06, 0x14, 0x10, 0x76, 0x6d, 0xc4, 0xd8, 0x0e, 0x82, 0x93, 0x35, 0xf4, 0x34, 0x8b, 0x69, - 0xc2, 0x86, 0x07, 0x54, 0xb4, 0xaa, 0x52, 0x11, 0xd0, 0xa4, 0x1f, 0x53, 0x81, 0x0c, 0xec, 0x98, - 0xb9, 0x93, 0x54, 0x31, 0xd4, 0x14, 0x83, 0x26, 0x21, 0x43, 0x17, 0x2c, 0x34, 0x44, 0x44, 0x93, - 0xc4, 0x65, 0xda, 0x1e, 0x53, 0x72, 0x35, 0x03, 0x1e, 0xee, 0x49, 0xb2, 0xb4, 0xaa, 0xf3, 0xaa, - 0x00, 0x0d, 0x0c, 0xc4, 0x60, 0x73, 0x4b, 0x0f, 0x70, 0x5d, 0xb0, 0x1c, 0x1a, 0x7a, 0x43, 0xee, - 0xb8, 0x43, 0x16, 0x52, 0xc7, 0x67, 0x2a, 0x14, 0x35, 0xbb, 0x89, 0xf4, 0x81, 0xe3, 0x3e, 0x54, - 0x54, 0xf2, 0x35, 0xac, 0x20, 0x53, 0x16, 0xb2, 0x30, 0x65, 0xc9, 0x11, 0xf5, 0x75, 0x4c, 0x08, - 0x77, 0x5c, 0x1d, 0xd8, 0x81, 0x3e, 0x21, 0x5f, 0x02, 0x52, 0x33, 0xbd, 0xc6, 0x34, 0x0c, 0x99, - 0xaf, 0x4b, 0x98, 0xc5, 0x1d, 0x57, 0x6b, 0xa6, 0xe8, 0x68, 0x26, 0x72, 0x1f, 0xb1, 0x44, 0xf0, - 0x28, 0x54, 0xf9, 0x6d, 0x03, 0x77, 0xdc, 0xa7, 0x8a, 0x42, 0xda, 0x8a, 0x21, 0x8e, 0x12, 0x99, - 0x0b, 0x65, 0xc9, 0x60, 0x72, 0xc7, 0xdd, 0x8d, 0x12, 0x4c, 0x83, 0x2f, 0xe0, 0x96, 0xcf, 0x0e, - 0xa8, 0x3b, 0x1d, 0xea, 0xbc, 0xe1, 0x9e, 0x90, 0xa1, 0x2b, 0xda, 0x4b, 0xea, 0x40, 0xcf, 0x9f, - 0x9e, 0xe8, 0xfc, 0xda, 0x80, 0x95, 0x3d, 0x99, 0x24, 0x32, 0x71, 0xf7, 0xb3, 0x3a, 0xfb, 0x23, - 0xa8, 0x28, 0x69, 0xe9, 0x85, 0xcb, 0x8e, 0x9e, 0x5a, 0x06, 0x53, 0x4a, 0xa5, 0xde, 0x2c, 0x59, - 0x4d, 0xbb, 0xa6, 0x08, 0x03, 0xef, 0x23, 0xd5, 0x69, 0x0a, 0xcb, 0x3b, 0x54, 0xa4, 0xa7, 0xd5, - 0x11, 0xc4, 0x81, 0xcf, 0x7c, 0x2a, 0x52, 0xdd, 0x9b, 0x33, 0x76, 0xd1, 0x32, 0x64, 0x4e, 0xf6, - 0x2e, 0x56, 0xef, 0x7f, 0x99, 0x67, 0x2f, 0xfb, 0xe7, 0xef, 0xe8, 0xfc, 0xd9, 0xc0, 0x59, 0x85, - 0xbb, 0xcc, 0x66, 0x6e, 0x94, 0x78, 0xe2, 0xff, 0xe9, 0x84, 0x9f, 0xc3, 0x8a, 0x8f, 0x63, 0xc1, - 0xcc, 0xa2, 0x44, 0x5d, 0x29, 0x1f, 0x6e, 0x7d, 0xe3, 0xce, 0x47, 0x0a, 0x8c, 0x52, 0xd0, 0x26, - 0x0a, 0x22, 0xaf, 0x73, 0xe7, 0x39, 0xd4, 0x73, 0xfb, 0xd3, 0xce, 0x36, 0xce, 0x38, 0x7b, 0xde, - 0xc9, 0x0a, 0x37, 0x69, 0xee, 0xaf, 0x4b, 0x40, 0x7e, 0xc2, 0x52, 0xea, 0xd1, 0x94, 0x62, 0xa1, - 0xe3, 0x22, 0xe5, 0xae, 0x7c, 0xaf, 0x07, 0x49, 0x34, 0x89, 0xf5, 0x4b, 0xc4, 0xcb, 0x1b, 0x36, - 0x48, 0x92, 0xaa, 0x2d, 0x3d, 0x58, 0xd6, 0x66, 0x0f, 0x05, 0x0d, 0x62, 0xac, 0x70, 0xfc, 0xa5, - 0xd2, 0xa5, 0x61, 0xdf, 0xd2, 0x47, 0x7b, 0xf2, 0x64, 0x8f, 0xbf, 0x64, 0x58, 0xf2, 0x03, 0x46, - 0xc3, 0x6b, 0x76, 0x0e, 0x29, 0x8b, 0x18, 0xe9, 0x0b, 0x1a, 0x5f, 0xb7, 0x6d, 0xa0, 0x2c, 0xf9, - 0x01, 0x2c, 0x8d, 0x78, 0x22, 0xd2, 0x79, 0x1a, 0xca, 0x47, 0x58, 0xb4, 0x9b, 0x92, 0x3c, 0x7f, - 0x44, 0x77, 0xa0, 0x29, 0x93, 0x76, 0xce, 0x57, 0x91, 0x7c, 0x0d, 0xa4, 0xee, 0xe7, 0xbe, 0x86, - 0x64, 0x01, 0x56, 0x91, 0xa8, 0x5e, 0xaf, 0xc5, 0x06, 0x3c, 0x54, 0x2d, 0x16, 0xc1, 0xe8, 0xb1, - 0x06, 0xab, 0x5d, 0x13, 0x8c, 0x1e, 0x2b, 0xb0, 0x9f, 0xc1, 0x62, 0xc0, 0x3c, 0x4e, 0x67, 0xca, - 0x99, 0xd7, 0xc2, 0xab, 0x2b, 0x0c, 0x09, 0x89, 0x5f, 0xa4, 0x96, 0x5c, 0x3d, 0x48, 0x31, 0x77, - 0x69, 0x8a, 0x25, 0xed, 0x03, 0xf3, 0xc7, 0x4a, 0x3e, 0x45, 0x8b, 0xb3, 0xe1, 0x89, 0xe8, 0xee, - 0xaf, 0x3e, 0xbe, 0x54, 0x37, 0x27, 0x50, 0x62, 0xc7, 0x71, 0x24, 0x43, 0x5b, 0xb6, 0xe5, 0x1a, - 0xdf, 0xe0, 0x7c, 0x7a, 0x51, 0x41, 0x9a, 0x4f, 0x23, 0xb7, 0x73, 0xd3, 0x48, 0x45, 0x02, 0x65, - 0xd3, 0x85, 0x3e, 0x92, 0x78, 0x55, 0x89, 0x87, 0x47, 0x0f, 0x11, 0xf2, 0xec, 0xd0, 0x50, 0x93, - 0xa8, 0xf9, 0xa1, 0xe1, 0x8b, 0xdf, 0x19, 0xb3, 0x6f, 0x7c, 0x2c, 0x08, 0x64, 0x09, 0xea, 0x4f, - 0x42, 0x11, 0x33, 0x97, 0x8f, 0x38, 0xf3, 0xac, 0x05, 0x52, 0x83, 0x12, 0x76, 0x1f, 0xcb, 0x20, - 0x0d, 0x30, 0xb3, 0x79, 0xdb, 0x2a, 0x90, 0x45, 0xa8, 0xcd, 0xa6, 0x64, 0xab, 0x88, 0x87, 0xd9, - 0xb7, 0xbb, 0x55, 0x22, 0x26, 0x94, 0x6d, 0xfa, 0x32, 0x4a, 0xac, 0x32, 0xa9, 0x42, 0x71, 0x9b, - 0x53, 0xab, 0x82, 0x48, 0x0f, 0x76, 0x07, 0xf7, 0xac, 0x2a, 0x92, 0x9e, 0x04, 0xd4, 0xaa, 0x21, - 0x09, 0xa7, 0x3b, 0xcb, 0x24, 0x75, 0xa8, 0xea, 0x26, 0x67, 0x01, 0x42, 0xcf, 0x3e, 0x3f, 0xac, - 0xfa, 0xe6, 0xb3, 0x37, 0xef, 0xdb, 0xc6, 0xdb, 0xf7, 0x6d, 0xe3, 0x1f, 0xef, 0xdb, 0xc6, 0x6f, - 0x4e, 0xda, 0x0b, 0x7f, 0x3a, 0x69, 0x1b, 0x6f, 0x4f, 0xda, 0x0b, 0x7f, 0x3d, 0x69, 0x2f, 0xfc, - 0x72, 0x27, 0x17, 0xd8, 0xc1, 0xac, 0x10, 0xed, 0x50, 0x47, 0xf4, 0xb3, 0xb2, 0xf4, 0x95, 0x1b, - 0x25, 0x2c, 0xbf, 0x45, 0x45, 0xfb, 0x41, 0xe4, 0x4d, 0x7c, 0x26, 0x66, 0x7f, 0xc2, 0xc8, 0x14, - 0x70, 0x2a, 0xf2, 0xcf, 0x92, 0x7b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xa0, 0xa3, 0x69, 0xd5, - 0xa5, 0x11, 0x00, 0x00, + // 1664 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x4f, 0x73, 0x23, 0x47, + 0x15, 0xf7, 0xe8, 0xff, 0x3c, 0x59, 0xda, 0xd9, 0xb6, 0x37, 0x68, 0x37, 0x44, 0x36, 0x0a, 0x0b, + 0xaa, 0xad, 0x44, 0xca, 0x6e, 0x0e, 0x54, 0x02, 0x45, 0x25, 0xf6, 0xee, 0x52, 0xaa, 0x35, 0xe0, + 0x1a, 0x6f, 0xa0, 0x8a, 0x8b, 0xe8, 0x99, 0x69, 0x59, 0x1d, 0xcd, 0x4c, 0x4f, 0xa6, 0x47, 0xce, + 0x6a, 0x3f, 0x40, 0x0e, 0x5c, 0xe0, 0x0b, 0x50, 0x70, 0xe6, 0xc4, 0x85, 0x13, 0x55, 0x14, 0xc5, + 0x29, 0xc7, 0x9c, 0x52, 0x14, 0x87, 0x00, 0xeb, 0x03, 0x14, 0x57, 0xbe, 0x00, 0xf5, 0xba, 0x5b, + 0xa3, 0xb1, 0x8d, 0x77, 0x2d, 0x96, 0x5c, 0xec, 0xee, 0xd7, 0xef, 0xbd, 0xfe, 0xbd, 0xd7, 0xef, + 0xdf, 0x08, 0x6e, 0xf3, 0xf8, 0x43, 0xe6, 0x67, 0xfc, 0x84, 0x0d, 0x45, 0x4a, 0xfd, 0x90, 0x0d, + 0x4f, 0xee, 0x7a, 0x2c, 0xa3, 0x77, 0xcd, 0x76, 0x90, 0xa4, 0x22, 0x13, 0xa4, 0x93, 0xb3, 0x0d, + 0x0c, 0xdd, 0xb0, 0xdd, 0xda, 0x3e, 0x16, 0xc7, 0x42, 0x31, 0x0d, 0x71, 0xa5, 0xf9, 0x6f, 0x75, + 0x7d, 0x21, 0x23, 0x21, 0x87, 0x1e, 0x95, 0x2b, 0x8d, 0xbe, 0xe0, 0xb1, 0x39, 0xbf, 0x4e, 0x23, + 0x1e, 0x8b, 0xa1, 0xfa, 0xab, 0x49, 0xbd, 0x07, 0x50, 0x3b, 0xa4, 0x29, 0x8d, 0x24, 0x79, 0x1d, + 0x5a, 0xc9, 0x22, 0x9b, 0x8e, 0x7d, 0x11, 0x67, 0x29, 0xf5, 0xb3, 0x8e, 0xb5, 0x6b, 0xf5, 0x6d, + 0x77, 0x13, 0x89, 0xfb, 0x86, 0xf6, 0xee, 0x2b, 0xff, 0xfc, 0xf5, 0x8e, 0xf5, 0xb3, 0x7f, 0xfc, + 0xf6, 0x4e, 0xcb, 0xe0, 0xd6, 0xc2, 0xbd, 0x19, 0xc0, 0x0f, 0x15, 0x61, 0x14, 0x4f, 0x04, 0x79, + 0x05, 0x6a, 0x72, 0x11, 0x79, 0x22, 0x34, 0x3a, 0xcc, 0x8e, 0x3c, 0x80, 0xa6, 0x16, 0x1b, 0x67, + 0x8b, 0x84, 0x75, 0x4a, 0xbb, 0x56, 0xbf, 0x7d, 0xef, 0xeb, 0x83, 0xcb, 0xac, 0x1c, 0x68, 0x95, + 0x8f, 0x17, 0x09, 0x73, 0x41, 0xe4, 0xeb, 0xde, 0xe7, 0x16, 0x6c, 0xed, 0x4f, 0x29, 0x8f, 0x43, + 0x1e, 0xcf, 0x0e, 0x53, 0xee, 0xb3, 0xa3, 0x8c, 0x66, 0x8c, 0x7c, 0x05, 0xea, 0x13, 0xc6, 0x82, + 0x31, 0x0f, 0x96, 0xf7, 0xe2, 0x76, 0x14, 0x90, 0x6f, 0x43, 0x8d, 0xc6, 0xf2, 0x63, 0x96, 0xaa, + 0x2b, 0xed, 0xbd, 0xd7, 0x3f, 0xfd, 0x62, 0x67, 0xe3, 0x2f, 0x5f, 0xec, 0xbc, 0xaa, 0xfd, 0x25, + 0x83, 0xd9, 0x80, 0x8b, 0x61, 0x44, 0xb3, 0xe9, 0xe0, 0x80, 0x1d, 0x53, 0x7f, 0x71, 0x9f, 0xf9, + 0xae, 0x11, 0x21, 0x5f, 0x05, 0x3b, 0xe3, 0x11, 0x93, 0x19, 0x8d, 0x92, 0x4e, 0x79, 0xd7, 0xea, + 0x57, 0xdc, 0x15, 0x81, 0x3c, 0x82, 0x66, 0x82, 0x08, 0xc6, 0x12, 0x21, 0x74, 0x2a, 0xbb, 0x56, + 0xbf, 0xf9, 0x3c, 0x93, 0x56, 0x70, 0xf7, 0x2a, 0x88, 0xc2, 0x85, 0x24, 0xa7, 0xf4, 0xfe, 0x65, + 0x41, 0x7b, 0x8f, 0xc6, 0x41, 0xc1, 0xa6, 0xcb, 0x5c, 0x79, 0x17, 0x2a, 0x29, 0x5e, 0xa8, 0x0d, + 0x7a, 0xcd, 0x18, 0x74, 0xe3, 0xa2, 0x41, 0xa3, 0x38, 0x73, 0x15, 0x2b, 0xf9, 0x1a, 0x6c, 0xa6, + 0x4c, 0x8a, 0xf0, 0x84, 0x8d, 0x11, 0xbf, 0xb1, 0xa5, 0x69, 0x68, 0x8f, 0x79, 0xc4, 0xc8, 0x6b, + 0x00, 0x29, 0xfb, 0x68, 0xce, 0x64, 0x36, 0x1e, 0xdd, 0x57, 0xc6, 0x54, 0x5c, 0xdb, 0x50, 0x46, + 0xf7, 0xcf, 0x1b, 0x5b, 0x7d, 0x29, 0x63, 0x7f, 0x69, 0x41, 0x5b, 0x31, 0x3c, 0x64, 0x2c, 0xd0, + 0xc6, 0x12, 0xa8, 0x60, 0xe8, 0x1a, 0x53, 0xd5, 0x9a, 0x6c, 0x43, 0xf5, 0xa3, 0xb9, 0x58, 0x5a, + 0xea, 0xea, 0x0d, 0x46, 0x52, 0x11, 0x49, 0xf9, 0xea, 0x48, 0x8a, 0x18, 0xc8, 0x2d, 0x68, 0xa4, + 0x2c, 0xa4, 0x0b, 0x96, 0xca, 0x4e, 0x65, 0xb7, 0xdc, 0xb7, 0xdd, 0x7c, 0xdf, 0x7b, 0x08, 0x9b, + 0x87, 0xa9, 0x38, 0xe1, 0x01, 0x4b, 0x55, 0x50, 0xdf, 0x82, 0x46, 0x62, 0xf6, 0x06, 0x60, 0xbe, + 0x3f, 0xa3, 0xa7, 0x74, 0x4e, 0xcf, 0x1f, 0x2c, 0x68, 0x2d, 0x15, 0xe9, 0x5b, 0x1f, 0x41, 0x6b, + 0x29, 0x39, 0xe6, 0xf1, 0x44, 0x28, 0x75, 0xcd, 0x7b, 0xdf, 0x78, 0x1e, 0xfc, 0x15, 0x10, 0x77, + 0x33, 0x29, 0xc2, 0xfa, 0x29, 0xdc, 0xc8, 0x95, 0x15, 0x5c, 0xa2, 0x71, 0x34, 0xef, 0xbd, 0xf1, + 0x62, 0xa5, 0x05, 0xdf, 0x6c, 0x25, 0x17, 0x68, 0xb2, 0x37, 0x05, 0x72, 0x91, 0xf5, 0xd2, 0xc0, + 0x7c, 0x17, 0xaa, 0xfa, 0x4d, 0x4a, 0x6b, 0xbc, 0x89, 0x16, 0xe9, 0xbd, 0x83, 0x9e, 0x32, 0x11, + 0xa1, 0x8c, 0xbb, 0x72, 0x40, 0xf4, 0x1e, 0x15, 0x82, 0x49, 0x2d, 0xc8, 0x3b, 0x50, 0x55, 0xfe, + 0xd0, 0xc2, 0x57, 0xcb, 0x79, 0x2d, 0xd1, 0xfb, 0xbd, 0x05, 0x64, 0x5f, 0xf0, 0x18, 0xef, 0x2b, + 0x98, 0x4c, 0xa0, 0x32, 0xe3, 0xf1, 0xb2, 0xb8, 0xa8, 0xf5, 0xd9, 0xea, 0x50, 0x3a, 0x5f, 0x1d, + 0x1c, 0x28, 0xcf, 0xd8, 0x42, 0x85, 0xa7, 0xed, 0xe2, 0x12, 0xd1, 0x9f, 0xd0, 0x70, 0xce, 0x4c, + 0x72, 0xe9, 0xcd, 0xff, 0x37, 0xb1, 0x7e, 0x67, 0x01, 0x14, 0x50, 0xff, 0xef, 0x7e, 0x20, 0x3f, + 0x00, 0xc7, 0x9f, 0x47, 0xf3, 0x90, 0x22, 0x06, 0x1d, 0x5d, 0xeb, 0x54, 0xd0, 0x6b, 0x2b, 0x61, + 0xfd, 0x24, 0x17, 0x4a, 0x69, 0xb9, 0xe0, 0xac, 0xde, 0xe7, 0x25, 0x68, 0x1f, 0x2e, 0xb2, 0x69, + 0x01, 0xfb, 0x4d, 0xcc, 0x39, 0xf4, 0x4b, 0x5e, 0xd2, 0xeb, 0x6a, 0x3f, 0x0a, 0xc8, 0x7b, 0x60, + 0xb3, 0x88, 0xae, 0x0f, 0xaa, 0xc1, 0x22, 0xaa, 0xd1, 0x7c, 0x17, 0x70, 0x8d, 0xfd, 0x6e, 0xa2, + 0x5f, 0xe8, 0x6a, 0x0a, 0xea, 0x2c, 0xa2, 0xfb, 0x22, 0x9e, 0x90, 0x6f, 0x41, 0x45, 0xc9, 0x56, + 0xae, 0x2e, 0xab, 0x04, 0xb0, 0x10, 0x27, 0x73, 0x2f, 0xe4, 0x72, 0xaa, 0x0b, 0x71, 0x55, 0x17, + 0x62, 0x43, 0x53, 0x85, 0xf8, 0x5c, 0x40, 0xd4, 0x5e, 0x2a, 0x20, 0x3e, 0x29, 0xc3, 0x75, 0x6c, + 0x2b, 0xba, 0x9d, 0xba, 0xba, 0x9c, 0x17, 0x6b, 0xbd, 0xf1, 0x6e, 0xa1, 0xd6, 0x07, 0xa4, 0x0f, + 0x8e, 0xe9, 0xd5, 0xd2, 0x4f, 0x79, 0xa2, 0x98, 0x4a, 0xea, 0xc9, 0xda, 0x9a, 0x7e, 0xa4, 0xc8, + 0xa3, 0x80, 0x74, 0xa0, 0xae, 0x73, 0x5f, 0x76, 0xca, 0xaa, 0xf6, 0x2d, 0xb7, 0xe4, 0x55, 0xb0, + 0xa9, 0x9c, 0x8d, 0x7d, 0x31, 0x8f, 0x33, 0x13, 0xf0, 0x0d, 0x2a, 0x67, 0xfb, 0xb8, 0xc7, 0xc3, + 0x88, 0xc7, 0xe6, 0x50, 0xbb, 0xa0, 0x11, 0xf1, 0x58, 0x1f, 0x4e, 0xc1, 0x9e, 0x30, 0x36, 0x0e, + 0x79, 0xc4, 0xb3, 0x4e, 0x4d, 0x55, 0xb2, 0x9b, 0x03, 0xed, 0xd9, 0x01, 0x66, 0x65, 0x6e, 0x38, + 0xa6, 0xe9, 0xde, 0x5b, 0x68, 0xf2, 0x6f, 0xfe, 0xba, 0xd3, 0x3f, 0xe6, 0xd9, 0x74, 0xee, 0x0d, + 0x7c, 0x11, 0x0d, 0xcd, 0x28, 0xa4, 0xff, 0xbd, 0x29, 0x83, 0xd9, 0x10, 0x67, 0x0e, 0xa9, 0x04, + 0xa4, 0xdb, 0x98, 0x30, 0x76, 0x80, 0xca, 0xc9, 0x0e, 0x7a, 0x9a, 0x25, 0x34, 0x65, 0xe3, 0x63, + 0x2a, 0x3b, 0x75, 0x05, 0x04, 0x0c, 0xe9, 0x7b, 0x54, 0x22, 0x03, 0x7b, 0xc2, 0xfc, 0x79, 0xa6, + 0x19, 0x1a, 0x9a, 0xc1, 0x90, 0x90, 0xa1, 0x0f, 0x0e, 0x1a, 0x22, 0xc5, 0x3c, 0xf5, 0x99, 0xb1, + 0xc7, 0x56, 0x5c, 0xed, 0x88, 0xc7, 0x47, 0x8a, 0xac, 0xac, 0xea, 0x7d, 0x52, 0x82, 0x16, 0x3e, + 0xc4, 0x68, 0x6f, 0xdf, 0x0c, 0x5d, 0x7d, 0x70, 0x3c, 0x1a, 0x07, 0x63, 0xee, 0xf9, 0x63, 0x16, + 0x53, 0x2f, 0x64, 0xfa, 0x29, 0x1a, 0x6e, 0x1b, 0xe9, 0x23, 0xcf, 0x7f, 0xa0, 0xa9, 0xe4, 0x2d, + 0xd8, 0x46, 0xa6, 0xfc, 0xc9, 0xe2, 0x8c, 0xa5, 0x27, 0x34, 0x34, 0x6f, 0x42, 0xb8, 0xe7, 0x9b, + 0x87, 0x1d, 0x99, 0x13, 0xf2, 0x06, 0x20, 0x35, 0xc7, 0x35, 0xa5, 0x71, 0xcc, 0x42, 0x53, 0x8b, + 0x1c, 0xee, 0xf9, 0x06, 0x99, 0xa6, 0xa3, 0x99, 0xc8, 0x7d, 0xc2, 0x52, 0xc9, 0x45, 0xac, 0x83, + 0xda, 0x05, 0xee, 0xf9, 0x3f, 0xd2, 0x14, 0xd2, 0xd5, 0x0c, 0x89, 0x48, 0x55, 0x2c, 0x54, 0x15, + 0x83, 0xcd, 0x3d, 0xff, 0x50, 0xa4, 0x18, 0x06, 0x77, 0xe0, 0x7a, 0xa8, 0x02, 0x7d, 0x6c, 0xe2, + 0x86, 0x07, 0x52, 0x3d, 0x5d, 0xd9, 0xbd, 0xa6, 0x0f, 0xcc, 0x84, 0x18, 0xc8, 0xde, 0xcf, 0x2d, + 0xd8, 0x3e, 0x52, 0x41, 0xa2, 0x02, 0xf7, 0x71, 0x5e, 0x30, 0xbf, 0x03, 0x35, 0x2d, 0xad, 0xbc, + 0x70, 0xd5, 0xe1, 0xd0, 0xc8, 0x60, 0x48, 0xe9, 0xd0, 0x5b, 0x06, 0xab, 0xed, 0x36, 0x34, 0x61, + 0x14, 0xbc, 0xa0, 0xf8, 0x2c, 0x60, 0xeb, 0x80, 0xca, 0xec, 0x2c, 0x1c, 0x49, 0x3c, 0xb8, 0x11, + 0x52, 0x99, 0x99, 0xce, 0x9a, 0xb3, 0xcb, 0x8e, 0xa5, 0x62, 0x72, 0x70, 0x39, 0xbc, 0xff, 0x66, + 0x9e, 0xbb, 0x15, 0x5e, 0xbc, 0xa3, 0xf7, 0x27, 0x0b, 0x27, 0x0d, 0xee, 0x33, 0x97, 0xf9, 0x22, + 0x0d, 0xe4, 0x97, 0xe9, 0x84, 0x1f, 0xc3, 0x76, 0x88, 0x4d, 0x7d, 0x69, 0x51, 0xaa, 0xaf, 0x54, + 0x89, 0xdb, 0xbc, 0x77, 0xfb, 0x05, 0x05, 0x46, 0x03, 0x74, 0x89, 0x56, 0x51, 0xc4, 0xdc, 0x9b, + 0x40, 0xb3, 0xb0, 0x3f, 0xeb, 0x6c, 0xeb, 0x9c, 0xb3, 0x57, 0x2d, 0xa9, 0xb4, 0x76, 0x6b, 0xfe, + 0x77, 0x19, 0xc8, 0xf7, 0x59, 0x46, 0x03, 0x9a, 0x51, 0xac, 0x6e, 0x5c, 0x66, 0xdc, 0x57, 0x49, + 0x7a, 0x9c, 0x8a, 0x79, 0x62, 0xd2, 0x0f, 0x6f, 0x6c, 0xb9, 0xa0, 0x48, 0xba, 0xa0, 0x0c, 0x60, + 0xcb, 0xd8, 0x3a, 0x96, 0x34, 0x4a, 0xb0, 0xac, 0xf1, 0xa7, 0x1a, 0x40, 0xcb, 0xbd, 0x6e, 0x8e, + 0x8e, 0xd4, 0xc9, 0x11, 0x7f, 0xca, 0xb0, 0xb8, 0x47, 0x8c, 0xc6, 0xeb, 0x34, 0x06, 0x25, 0x80, + 0x82, 0xd9, 0xc7, 0x34, 0x59, 0xab, 0x2b, 0xa0, 0x00, 0xf9, 0x26, 0x5c, 0x9b, 0xf0, 0x54, 0x66, + 0xab, 0x28, 0x53, 0x39, 0x56, 0x76, 0xdb, 0x8a, 0xbc, 0xca, 0x91, 0xdb, 0xd0, 0x56, 0x31, 0xb9, + 0xe2, 0xab, 0x29, 0xbe, 0x16, 0x52, 0x57, 0x6c, 0xef, 0xe9, 0xfa, 0xaa, 0x1d, 0x5d, 0x5f, 0xa3, + 0x41, 0x46, 0x3c, 0xd6, 0x0d, 0x12, 0x35, 0xd0, 0x27, 0x46, 0x43, 0x63, 0x1d, 0x0d, 0xf4, 0x89, + 0xd6, 0xf0, 0x10, 0x36, 0x23, 0x16, 0x70, 0xba, 0x84, 0x61, 0x5f, 0x5d, 0x49, 0x53, 0x0b, 0x2a, + 0x3d, 0xbd, 0xbf, 0x5b, 0xe0, 0xa8, 0xd5, 0xfb, 0x19, 0x46, 0x1e, 0xcd, 0xb0, 0x20, 0x3d, 0x67, + 0x38, 0xd8, 0x2e, 0x06, 0x58, 0x79, 0x39, 0xce, 0x10, 0xd3, 0xb0, 0xf5, 0x87, 0x8f, 0xee, 0xc5, + 0x04, 0x2a, 0xec, 0x49, 0x22, 0xd4, 0x73, 0x55, 0x5d, 0xb5, 0xc6, 0x0c, 0x5a, 0x8d, 0x16, 0xfa, + 0x0d, 0x56, 0x53, 0xc3, 0xcd, 0xc2, 0xd4, 0x50, 0x53, 0x8a, 0xf2, 0x81, 0xc0, 0x1c, 0x29, 0x7d, + 0x75, 0xa5, 0x0f, 0x8f, 0x1e, 0xa0, 0xca, 0xf3, 0x2d, 0xbf, 0xa1, 0xb4, 0x16, 0x5b, 0xfe, 0x9d, + 0x5f, 0x59, 0xcb, 0x6f, 0x68, 0x4c, 0x67, 0x72, 0x0d, 0x9a, 0x1f, 0xc4, 0x32, 0x61, 0x3e, 0x9f, + 0x70, 0x16, 0x38, 0x1b, 0xa4, 0x01, 0x15, 0xec, 0x1d, 0x8e, 0x45, 0x5a, 0x60, 0xe7, 0xb3, 0xae, + 0x53, 0x22, 0x9b, 0xd0, 0x58, 0x0e, 0xab, 0x4e, 0x19, 0x0f, 0xf3, 0x6f, 0x63, 0xa7, 0x42, 0x6c, + 0xa8, 0xba, 0xf4, 0xa9, 0x48, 0x9d, 0x2a, 0xa9, 0x43, 0xf9, 0x3e, 0xa7, 0x4e, 0x0d, 0x35, 0xbd, + 0x7f, 0x38, 0x7a, 0xdb, 0xa9, 0x23, 0xe9, 0x83, 0x88, 0x3a, 0x0d, 0x24, 0xe1, 0xe8, 0xe5, 0xd8, + 0xa4, 0x09, 0x75, 0xd3, 0xa2, 0x1c, 0x40, 0xd5, 0xcb, 0xd1, 0xdf, 0x69, 0xee, 0x7d, 0xf8, 0xe9, + 0xb3, 0xae, 0xf5, 0xd9, 0xb3, 0xae, 0xf5, 0xb7, 0x67, 0x5d, 0xeb, 0x17, 0xa7, 0xdd, 0x8d, 0x3f, + 0x9e, 0x76, 0xad, 0xcf, 0x4e, 0xbb, 0x1b, 0x7f, 0x3e, 0xed, 0x6e, 0xfc, 0xe4, 0xa0, 0xd0, 0x7c, + 0x47, 0xcb, 0x32, 0x72, 0x40, 0x3d, 0x39, 0xcc, 0x8b, 0xca, 0x9b, 0xbe, 0x48, 0x59, 0x71, 0x8b, + 0x40, 0x87, 0x91, 0x08, 0xe6, 0x21, 0x93, 0xcb, 0x5f, 0x42, 0x54, 0x9b, 0xf6, 0x6a, 0xea, 0xe7, + 0x89, 0xb7, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0x4b, 0x03, 0x60, 0xd7, 0x2a, 0x11, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { diff --git a/chain/oracle/types/params.go b/chain/oracle/types/params.go index 9c31dca2..e700debc 100644 --- a/chain/oracle/types/params.go +++ b/chain/oracle/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" ) @@ -10,7 +11,7 @@ import ( var _ paramtypes.ParamSet = &Params{} var ( - LargestDecPrice sdk.Dec = sdk.MustNewDecFromStr("10000000") + LargestDecPrice math.LegacyDec = math.LegacyMustNewDecFromStr("10000000") ) const ( diff --git a/chain/oracle/types/proposal.pb.go b/chain/oracle/types/proposal.pb.go index 2606c3f3..78b86f96 100644 --- a/chain/oracle/types/proposal.pb.go +++ b/chain/oracle/types/proposal.pb.go @@ -7,6 +7,7 @@ import ( fmt "fmt" _ "github.com/cosmos/cosmos-proto" _ "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -400,44 +401,49 @@ func init() { } var fileDescriptor_c5a187f865fd0c5b = []byte{ - // 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, + // 671 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x96, 0xcf, 0x6e, 0xd3, 0x4e, + 0x10, 0xc7, 0xb3, 0x6d, 0xfa, 0xfb, 0xb5, 0x5b, 0x21, 0xc0, 0xb4, 0x52, 0x88, 0x90, 0x93, 0x5a, + 0x2a, 0x2d, 0x7f, 0x6a, 0xab, 0x70, 0xeb, 0x8d, 0x54, 0x50, 0x45, 0x54, 0x22, 0x18, 0x7a, 0xe1, + 0x62, 0xad, 0xed, 0x21, 0x5d, 0x70, 0xbc, 0xee, 0x7a, 0x13, 0xa9, 0x3c, 0x01, 0xe2, 0xc4, 0x23, + 0xf4, 0x11, 0x38, 0x70, 0xe3, 0x05, 0xaa, 0x8a, 0x43, 0x8f, 0x9c, 0x10, 0x4a, 0x91, 0xe0, 0xc6, + 0x0d, 0x71, 0x03, 0x65, 0x77, 0x1d, 0x9a, 0x42, 0x9a, 0xd0, 0x96, 0x3f, 0x97, 0xc8, 0x33, 0xf3, + 0xdd, 0x99, 0xf9, 0x4c, 0xc6, 0xc9, 0xe2, 0x39, 0x1a, 0x3f, 0x82, 0x40, 0xd0, 0x16, 0x38, 0x8c, + 0x93, 0x20, 0x02, 0xa7, 0xb5, 0xe8, 0x83, 0x20, 0x8b, 0x4e, 0xc2, 0x59, 0xc2, 0x52, 0x12, 0xd9, + 0x09, 0x67, 0x82, 0x19, 0x85, 0xae, 0xd0, 0x56, 0x42, 0x5b, 0x0b, 0x8b, 0x66, 0xc0, 0xd2, 0x06, + 0x4b, 0x1d, 0x9f, 0xa4, 0xdf, 0x4f, 0x07, 0x8c, 0xc6, 0xea, 0x64, 0xf1, 0xbc, 0x8a, 0x7b, 0xd2, + 0x72, 0x94, 0xa1, 0x43, 0x53, 0x75, 0x56, 0x67, 0xca, 0xdf, 0x79, 0xd2, 0xde, 0xd9, 0xbe, 0x3d, + 0xe9, 0xca, 0x4a, 0x76, 0x96, 0x34, 0x68, 0xcc, 0x1c, 0xf9, 0xa9, 0x5c, 0xd6, 0x0e, 0xc2, 0xe5, + 0x15, 0x4e, 0x62, 0x51, 0x21, 0x71, 0x78, 0x47, 0x8a, 0x6b, 0x9c, 0xb6, 0x68, 0x04, 0x75, 0xa8, + 0x69, 0x1e, 0x63, 0x0a, 0x8f, 0x09, 0x2a, 0x22, 0x28, 0xa0, 0x32, 0x9a, 0x9f, 0x70, 0x95, 0x61, + 0x94, 0xf1, 0x64, 0x08, 0x69, 0xc0, 0x69, 0x22, 0x28, 0x8b, 0x0b, 0x23, 0x32, 0xb6, 0xdf, 0x65, + 0x14, 0xf1, 0x38, 0x87, 0x88, 0x6c, 0x02, 0x4f, 0x0b, 0xa3, 0xe5, 0xd1, 0xf9, 0x09, 0xb7, 0x6b, + 0x2f, 0xb9, 0x4f, 0xb7, 0x4a, 0xb9, 0x8f, 0x5b, 0xa5, 0xdc, 0xce, 0xcb, 0x85, 0xa2, 0x46, 0xac, + 0xb3, 0x56, 0x36, 0x23, 0x7b, 0x99, 0xc5, 0x02, 0x62, 0xf1, 0xec, 0xc3, 0x8b, 0xcb, 0x73, 0x9a, + 0x69, 0x50, 0x9f, 0xd6, 0x6b, 0x84, 0x67, 0x5c, 0x68, 0xb1, 0xc7, 0xf0, 0xa7, 0x69, 0xee, 0x0d, + 0x4f, 0x33, 0xaf, 0x69, 0x06, 0x36, 0x6a, 0x7d, 0x46, 0x78, 0x46, 0x32, 0xd7, 0x38, 0x0d, 0xe0, + 0x16, 0x40, 0x08, 0xfc, 0xe4, 0x70, 0x0c, 0x9c, 0xef, 0xec, 0x5f, 0x61, 0x54, 0x86, 0xe4, 0x73, + 0x27, 0xd7, 0x46, 0x93, 0x09, 0x28, 0xe4, 0x55, 0x2e, 0x69, 0xf4, 0x80, 0x8f, 0x1d, 0x1f, 0x7c, + 0x20, 0x92, 0xd5, 0x46, 0xd8, 0xd4, 0x2a, 0xd6, 0xa2, 0x27, 0x4a, 0x5d, 0xc4, 0xe3, 0x89, 0x4e, + 0xaa, 0xc9, 0xbb, 0x76, 0x0f, 0x67, 0xfe, 0x00, 0x67, 0x6d, 0x78, 0xce, 0xd9, 0x5e, 0xce, 0x3e, + 0x04, 0xd6, 0x7b, 0x84, 0x4b, 0x6a, 0x07, 0xfe, 0x1e, 0xe5, 0xc1, 0x6f, 0xf3, 0xee, 0xf0, 0x94, + 0x17, 0x7b, 0xd6, 0xb8, 0x3f, 0xe6, 0x17, 0x84, 0xad, 0x4c, 0xf3, 0xcf, 0x6e, 0xf1, 0xfd, 0xe1, + 0xb9, 0x2f, 0x1d, 0xe0, 0x3e, 0x64, 0x8d, 0xbf, 0x22, 0x6c, 0xdd, 0x68, 0x8a, 0x75, 0xc6, 0xe9, + 0x93, 0x7d, 0x2f, 0xba, 0x0b, 0x1b, 0x4d, 0x48, 0xc5, 0xb1, 0xd1, 0x6f, 0xe3, 0xff, 0xb9, 0x4a, + 0x25, 0xe9, 0x27, 0xaf, 0x5d, 0xb1, 0xfb, 0xfd, 0xe3, 0xd8, 0x3f, 0x54, 0xaf, 0xe4, 0xb7, 0xdf, + 0x96, 0x72, 0x6e, 0x96, 0xe1, 0x28, 0x13, 0x18, 0x8c, 0x66, 0xbd, 0x1a, 0xc1, 0xa5, 0xb5, 0x24, + 0x24, 0xe2, 0x37, 0xe0, 0x5f, 0xc5, 0x46, 0x08, 0x11, 0x08, 0xf0, 0x34, 0x83, 0x47, 0x43, 0xf5, + 0xc3, 0x9c, 0x77, 0xcf, 0xa8, 0x88, 0x2e, 0x55, 0x0d, 0x53, 0xc3, 0xc3, 0xd3, 0x4d, 0xd9, 0x88, + 0xa7, 0xba, 0xcf, 0x0e, 0xc9, 0x1d, 0xf9, 0xb5, 0xd1, 0xb9, 0xe7, 0x54, 0xa6, 0x1e, 0xe7, 0x51, + 0x5e, 0x9d, 0x01, 0x93, 0xb1, 0x3e, 0x21, 0x3c, 0x7d, 0x33, 0x26, 0x7e, 0x24, 0x35, 0xd5, 0xca, + 0xf2, 0xb1, 0x67, 0xb6, 0x86, 0x4f, 0xfb, 0x24, 0x0e, 0x3d, 0xea, 0x07, 0x5e, 0x42, 0x38, 0x69, + 0xa4, 0x7a, 0x75, 0xe6, 0x0e, 0xe7, 0xef, 0xd4, 0x96, 0x72, 0xbd, 0x36, 0xa7, 0x3a, 0x59, 0xaa, + 0x7e, 0xa0, 0x9c, 0x4b, 0x2b, 0xc3, 0xb3, 0x5f, 0xd0, 0xec, 0x3f, 0xe5, 0xaa, 0x3c, 0xdc, 0x6e, + 0x9b, 0x68, 0xb7, 0x6d, 0xa2, 0x77, 0x6d, 0x13, 0x3d, 0xdf, 0x33, 0x73, 0xbb, 0x7b, 0x66, 0xee, + 0xcd, 0x9e, 0x99, 0x7b, 0xb0, 0x5a, 0xa7, 0x62, 0xbd, 0xe9, 0xdb, 0x01, 0x6b, 0x38, 0xd5, 0xac, + 0xd5, 0x55, 0xe2, 0xa7, 0x4e, 0xb7, 0xf1, 0x85, 0x80, 0x71, 0xd8, 0x6f, 0xae, 0x13, 0x1a, 0x3b, + 0x0d, 0x16, 0x36, 0x23, 0x48, 0xb3, 0x7b, 0x91, 0xd8, 0x4c, 0x20, 0xf5, 0xff, 0x93, 0x97, 0x9f, + 0xeb, 0xdf, 0x02, 0x00, 0x00, 0xff, 0xff, 0xfd, 0xa0, 0xb4, 0x57, 0xcc, 0x09, 0x00, 0x00, } func (m *GrantBandOraclePrivilegeProposal) Marshal() (dAtA []byte, err error) { diff --git a/chain/oracle/types/pyth.go b/chain/oracle/types/pyth.go index 7b1fb3c3..4b986b39 100644 --- a/chain/oracle/types/pyth.go +++ b/chain/oracle/types/pyth.go @@ -1,15 +1,15 @@ package types import ( - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" "github.com/ethereum/go-ethereum/common" ) func NewPythPriceState( priceID common.Hash, - emaPrice, emaConf, conf sdk.Dec, + emaPrice, emaConf, conf math.LegacyDec, publishTime int64, - price sdk.Dec, + price math.LegacyDec, blockTime int64, ) *PythPriceState { return &PythPriceState{ @@ -23,9 +23,9 @@ func NewPythPriceState( } func (p *PythPriceState) Update( - emaPrice, emaConf, conf sdk.Dec, + emaPrice, emaConf, conf math.LegacyDec, publishTime uint64, - price sdk.Dec, + price math.LegacyDec, blockTime int64, ) { p.EmaPrice = emaPrice @@ -64,12 +64,12 @@ func (p *PriceAttestation) Validate() error { return nil } -func GetExponentiatedDec(value, expo int64) sdk.Dec { +func GetExponentiatedDec(value, expo int64) math.LegacyDec { // price * 10^-expo if expo <= 0 { - return sdk.NewDecWithPrec(value, -expo) + return math.LegacyNewDecWithPrec(value, -expo) } // price * 10^expo - return sdk.NewDec(value).Power(uint64(expo)) + return math.LegacyNewDec(value).Power(uint64(expo)) } diff --git a/chain/oracle/types/query.pb.go b/chain/oracle/types/query.pb.go index d82bee6f..38a42c17 100644 --- a/chain/oracle/types/query.pb.go +++ b/chain/oracle/types/query.pb.go @@ -5,8 +5,8 @@ package types import ( context "context" + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -1118,9 +1118,9 @@ func (m *QueryOracleVolatilityRequest) GetOracleHistoryOptions() *OracleHistoryO // 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"` - RawHistory []*PriceRecord `protobuf:"bytes,3,rep,name=raw_history,json=rawHistory,proto3" json:"raw_history,omitempty"` + Volatility *cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=volatility,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"volatility,omitempty"` + HistoryMetadata *MetadataStatistics `protobuf:"bytes,2,opt,name=history_metadata,json=historyMetadata,proto3" json:"history_metadata,omitempty"` + RawHistory []*PriceRecord `protobuf:"bytes,3,rep,name=raw_history,json=rawHistory,proto3" json:"raw_history,omitempty"` } func (m *QueryOracleVolatilityResponse) Reset() { *m = QueryOracleVolatilityResponse{} } @@ -1338,19 +1338,75 @@ func (m *QueryOracleProviderPricesResponse) GetProviderState() []*ProviderState return nil } +// ScalingOptions defines optional configuration to avoid precision loss. The +// oracle result will be returned as base_price * 10^base_decimals / quote_price +// * 10^quote_decimals +type ScalingOptions struct { + BaseDecimals uint32 `protobuf:"varint,1,opt,name=base_decimals,json=baseDecimals,proto3" json:"base_decimals,omitempty"` + QuoteDecimals uint32 `protobuf:"varint,2,opt,name=quote_decimals,json=quoteDecimals,proto3" json:"quote_decimals,omitempty"` +} + +func (m *ScalingOptions) Reset() { *m = ScalingOptions{} } +func (m *ScalingOptions) String() string { return proto.CompactTextString(m) } +func (*ScalingOptions) ProtoMessage() {} +func (*ScalingOptions) Descriptor() ([]byte, []int) { + return fileDescriptor_52f5d6f9962923ad, []int{29} +} +func (m *ScalingOptions) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ScalingOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ScalingOptions.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 *ScalingOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_ScalingOptions.Merge(m, src) +} +func (m *ScalingOptions) XXX_Size() int { + return m.Size() +} +func (m *ScalingOptions) XXX_DiscardUnknown() { + xxx_messageInfo_ScalingOptions.DiscardUnknown(m) +} + +var xxx_messageInfo_ScalingOptions proto.InternalMessageInfo + +func (m *ScalingOptions) GetBaseDecimals() uint32 { + if m != nil { + return m.BaseDecimals + } + return 0 +} + +func (m *ScalingOptions) GetQuoteDecimals() uint32 { + if m != nil { + return m.QuoteDecimals + } + return 0 +} + // 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"` - Quote string `protobuf:"bytes,3,opt,name=quote,proto3" json:"quote,omitempty"` + 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"` + Quote string `protobuf:"bytes,3,opt,name=quote,proto3" json:"quote,omitempty"` + ScalingOptions *ScalingOptions `protobuf:"bytes,4,opt,name=scaling_options,json=scalingOptions,proto3" json:"scaling_options,omitempty"` } func (m *QueryOraclePriceRequest) Reset() { *m = QueryOraclePriceRequest{} } func (m *QueryOraclePriceRequest) String() string { return proto.CompactTextString(m) } func (*QueryOraclePriceRequest) ProtoMessage() {} func (*QueryOraclePriceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{29} + return fileDescriptor_52f5d6f9962923ad, []int{30} } func (m *QueryOraclePriceRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1400,21 +1456,28 @@ func (m *QueryOraclePriceRequest) GetQuote() string { return "" } +func (m *QueryOraclePriceRequest) GetScalingOptions() *ScalingOptions { + if m != nil { + return m.ScalingOptions + } + return nil +} + type PricePairState struct { - PairPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=pair_price,json=pairPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"pair_price"` - BasePrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=base_price,json=basePrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"base_price"` - QuotePrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=quote_price,json=quotePrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quote_price"` - BaseCumulativePrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=base_cumulative_price,json=baseCumulativePrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"base_cumulative_price"` - QuoteCumulativePrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=quote_cumulative_price,json=quoteCumulativePrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quote_cumulative_price"` - BaseTimestamp int64 `protobuf:"varint,6,opt,name=base_timestamp,json=baseTimestamp,proto3" json:"base_timestamp,omitempty"` - QuoteTimestamp int64 `protobuf:"varint,7,opt,name=quote_timestamp,json=quoteTimestamp,proto3" json:"quote_timestamp,omitempty"` + PairPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=pair_price,json=pairPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"pair_price"` + BasePrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=base_price,json=basePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"base_price"` + QuotePrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=quote_price,json=quotePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quote_price"` + BaseCumulativePrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=base_cumulative_price,json=baseCumulativePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"base_cumulative_price"` + QuoteCumulativePrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=quote_cumulative_price,json=quoteCumulativePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quote_cumulative_price"` + BaseTimestamp int64 `protobuf:"varint,6,opt,name=base_timestamp,json=baseTimestamp,proto3" json:"base_timestamp,omitempty"` + QuoteTimestamp int64 `protobuf:"varint,7,opt,name=quote_timestamp,json=quoteTimestamp,proto3" json:"quote_timestamp,omitempty"` } func (m *PricePairState) Reset() { *m = PricePairState{} } func (m *PricePairState) String() string { return proto.CompactTextString(m) } func (*PricePairState) ProtoMessage() {} func (*PricePairState) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{30} + return fileDescriptor_52f5d6f9962923ad, []int{31} } func (m *PricePairState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1467,7 +1530,7 @@ func (m *QueryOraclePriceResponse) Reset() { *m = QueryOraclePriceRespon func (m *QueryOraclePriceResponse) String() string { return proto.CompactTextString(m) } func (*QueryOraclePriceResponse) ProtoMessage() {} func (*QueryOraclePriceResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{31} + return fileDescriptor_52f5d6f9962923ad, []int{32} } func (m *QueryOraclePriceResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1533,6 +1596,7 @@ func init() { proto.RegisterType((*QueryOracleProvidersInfoResponse)(nil), "injective.oracle.v1beta1.QueryOracleProvidersInfoResponse") proto.RegisterType((*QueryOracleProviderPricesRequest)(nil), "injective.oracle.v1beta1.QueryOracleProviderPricesRequest") proto.RegisterType((*QueryOracleProviderPricesResponse)(nil), "injective.oracle.v1beta1.QueryOracleProviderPricesResponse") + proto.RegisterType((*ScalingOptions)(nil), "injective.oracle.v1beta1.ScalingOptions") proto.RegisterType((*QueryOraclePriceRequest)(nil), "injective.oracle.v1beta1.QueryOraclePriceRequest") proto.RegisterType((*PricePairState)(nil), "injective.oracle.v1beta1.PricePairState") proto.RegisterType((*QueryOraclePriceResponse)(nil), "injective.oracle.v1beta1.QueryOraclePriceResponse") @@ -1543,111 +1607,115 @@ func init() { } var fileDescriptor_52f5d6f9962923ad = []byte{ - // 1657 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xdf, 0x6f, 0xd3, 0xd6, - 0x17, 0xaf, 0xfb, 0x8b, 0xe6, 0x04, 0xda, 0x72, 0x1b, 0x4a, 0x31, 0x90, 0x06, 0x43, 0x7f, 0xf0, - 0x85, 0xc6, 0x34, 0x7c, 0x37, 0x18, 0x63, 0x48, 0xb4, 0xc0, 0x56, 0x46, 0xd5, 0xce, 0xb0, 0x1f, - 0xda, 0x4b, 0x74, 0xe3, 0xdc, 0x26, 0x1e, 0x89, 0xaf, 0xb1, 0x9d, 0x42, 0x84, 0xd0, 0xa4, 0x3d, - 0x4e, 0x93, 0x36, 0x69, 0x4f, 0x93, 0xb6, 0xf7, 0x69, 0x6f, 0x7b, 0xd8, 0xc3, 0x5e, 0x27, 0x4d, - 0x62, 0x6f, 0x4c, 0xd3, 0xa4, 0x89, 0x07, 0x34, 0xc1, 0xfe, 0x90, 0xc9, 0xf7, 0x5e, 0xbb, 0x76, - 0x63, 0xc7, 0x49, 0xa4, 0x3d, 0x35, 0xbe, 0x3e, 0xe7, 0x73, 0x3e, 0xe7, 0xf8, 0x9c, 0x63, 0x7f, - 0x54, 0x38, 0x63, 0x98, 0x9f, 0x10, 0xdd, 0x35, 0x76, 0x89, 0x4a, 0x6d, 0xac, 0x37, 0x88, 0xba, - 0xbb, 0x5a, 0x21, 0x2e, 0x5e, 0x55, 0x1f, 0xb4, 0x88, 0xdd, 0x2e, 0x5a, 0x36, 0x75, 0x29, 0x9a, - 0x0b, 0xac, 0x8a, 0xdc, 0xaa, 0x28, 0xac, 0xe4, 0x13, 0x35, 0x4a, 0x6b, 0x0d, 0xa2, 0x62, 0xcb, - 0x50, 0xb1, 0x69, 0x52, 0x17, 0xbb, 0x06, 0x35, 0x1d, 0xee, 0x27, 0x2f, 0x24, 0xa2, 0x0b, 0x18, - 0x6e, 0xb6, 0x98, 0x68, 0x56, 0x23, 0x26, 0x71, 0x0c, 0x1f, 0x2e, 0x57, 0xa3, 0x35, 0xca, 0x7e, - 0xaa, 0xde, 0x2f, 0x7e, 0xaa, 0x94, 0xe0, 0xc8, 0x7b, 0x1e, 0xd7, 0xed, 0xb6, 0x5b, 0xdf, 0xb6, - 0x0d, 0x9d, 0x68, 0xe4, 0x41, 0x8b, 0x38, 0x2e, 0x3a, 0x06, 0x13, 0x96, 0x77, 0x5d, 0x36, 0xaa, - 0x73, 0x52, 0x41, 0x5a, 0xce, 0x68, 0x07, 0xd8, 0xf5, 0x46, 0x55, 0xd1, 0x61, 0x76, 0xbf, 0x8f, - 0x63, 0x51, 0xd3, 0x21, 0x68, 0x03, 0xb2, 0xdc, 0xc9, 0x71, 0xb1, 0x4b, 0x98, 0x5f, 0xb6, 0xb4, - 0x5c, 0x4c, 0x2a, 0x40, 0x31, 0x40, 0xb8, 0xeb, 0xd9, 0x6b, 0x60, 0x05, 0xbf, 0x95, 0x1c, 0x20, - 0x1e, 0x04, 0xdb, 0xb8, 0xe9, 0x08, 0x56, 0xca, 0xfb, 0x30, 0x13, 0x39, 0x15, 0x71, 0xaf, 0xc1, - 0xb8, 0xc5, 0x4e, 0x44, 0xc8, 0x42, 0x97, 0x90, 0xcc, 0x6e, 0x6d, 0xf4, 0xe9, 0x8b, 0xf9, 0x21, - 0x4d, 0x78, 0x29, 0x32, 0xcc, 0x31, 0xd8, 0x35, 0x6c, 0x56, 0x35, 0xd2, 0xc0, 0x6d, 0x62, 0x07, - 0x21, 0x2f, 0xc1, 0xb1, 0x98, 0x7b, 0x22, 0xb0, 0x0c, 0x13, 0xb6, 0x38, 0x9b, 0x93, 0x0a, 0x23, - 0xcb, 0x19, 0x2d, 0xb8, 0x56, 0x4e, 0xc2, 0xf1, 0xc0, 0x71, 0x2f, 0xc9, 0x00, 0xf7, 0x3e, 0x9c, - 0x88, 0xbf, 0x2d, 0xa0, 0xdf, 0x85, 0x83, 0xa1, 0x5a, 0x72, 0xf8, 0xae, 0xc5, 0x8c, 0x02, 0x69, - 0xd9, 0xbd, 0x62, 0x3a, 0x4a, 0x01, 0xf2, 0x41, 0xb0, 0x8d, 0xb5, 0xf5, 0x18, 0x3a, 0x26, 0xcc, - 0x27, 0x5a, 0xfc, 0x17, 0x8c, 0x14, 0x28, 0xf0, 0x27, 0xe9, 0x9d, 0xdd, 0x22, 0x24, 0xae, 0x44, - 0x16, 0x9c, 0xea, 0x62, 0x33, 0x28, 0xab, 0x00, 0x2d, 0x86, 0xd5, 0x29, 0x51, 0x85, 0x75, 0x6a, - 0x98, 0x15, 0xec, 0x90, 0x18, 0x52, 0x8e, 0x20, 0x1e, 0x6b, 0x22, 0x38, 0x6d, 0xc5, 0x72, 0x3a, - 0x9f, 0xcc, 0xa9, 0x13, 0x2c, 0xca, 0xcb, 0xef, 0xa5, 0xe8, 0xc0, 0x74, 0xf4, 0x52, 0xc7, 0xed, - 0x81, 0x6b, 0x14, 0x1d, 0xcc, 0x08, 0x97, 0x7b, 0xa2, 0x97, 0xb6, 0x6d, 0xba, 0x6b, 0x54, 0x89, - 0x1d, 0xb2, 0x13, 0xbb, 0x43, 0xf6, 0x76, 0x07, 0xbf, 0x29, 0x76, 0x47, 0x70, 0x8d, 0x66, 0x61, - 0xdc, 0x69, 0x37, 0x2b, 0xb4, 0x31, 0x37, 0xcc, 0xee, 0x88, 0x2b, 0xa5, 0x2e, 0x2a, 0x1f, 0x87, - 0x2a, 0xb2, 0xb8, 0x19, 0xb7, 0x5d, 0xce, 0xa4, 0x3c, 0xe8, 0xce, 0xcd, 0x72, 0x0c, 0x8e, 0xb2, - 0x48, 0x9b, 0xb4, 0xda, 0x6a, 0x44, 0x88, 0x2b, 0x1f, 0x89, 0x3d, 0x10, 0xb9, 0x25, 0xa2, 0x5f, - 0x85, 0xb1, 0x70, 0xdc, 0xc5, 0xe4, 0xb8, 0x6f, 0xf3, 0xbd, 0xcb, 0xdd, 0xb9, 0x93, 0xf2, 0x29, - 0x28, 0x0c, 0xf9, 0x1d, 0xc3, 0x71, 0xa9, 0x6d, 0xe8, 0xb8, 0x21, 0x36, 0xa7, 0x4e, 0xed, 0xaa, - 0xff, 0x1c, 0xd1, 0x55, 0x18, 0xe7, 0x58, 0x2c, 0xc8, 0x64, 0xb7, 0xe4, 0xb6, 0xd8, 0xe5, 0xbd, - 0xb6, 0x45, 0x34, 0xe1, 0x83, 0x8e, 0x43, 0x86, 0x17, 0xd3, 0xdb, 0xd9, 0xbc, 0xba, 0x13, 0xfc, - 0x60, 0xa3, 0xaa, 0xd8, 0x70, 0xba, 0x2b, 0x81, 0xa0, 0x53, 0x0e, 0xf1, 0x1a, 0xdb, 0xfc, 0x86, - 0x68, 0x95, 0xc5, 0x94, 0x2a, 0xfb, 0x30, 0xbc, 0xcd, 0xc4, 0x95, 0xf2, 0xb9, 0x04, 0x39, 0xce, - 0x93, 0x47, 0x6d, 0x6f, 0x59, 0xec, 0x05, 0x87, 0x8e, 0xc2, 0x81, 0x26, 0x7e, 0x54, 0xc6, 0x35, - 0x9e, 0xe8, 0xa8, 0x36, 0xde, 0xc4, 0x8f, 0xae, 0xd7, 0x08, 0x2a, 0xc2, 0x8c, 0x61, 0xea, 0x8d, - 0x56, 0x95, 0x94, 0x6d, 0xfc, 0xb0, 0x5c, 0xe7, 0x6e, 0x2c, 0x99, 0x09, 0xed, 0xb0, 0xb8, 0xa5, - 0xe1, 0x87, 0x02, 0x0f, 0x9d, 0x85, 0x69, 0xdf, 0xbe, 0x49, 0x5c, 0x5c, 0xc5, 0x2e, 0x9e, 0x1b, - 0x61, 0xc6, 0x53, 0xe2, 0x7c, 0x53, 0x1c, 0x2b, 0x5f, 0x0c, 0x8b, 0x21, 0xe1, 0x8c, 0x3e, 0xa0, - 0x0d, 0xec, 0x1a, 0x0d, 0xc3, 0x6d, 0xfb, 0xc5, 0xbf, 0x0e, 0x19, 0x6f, 0x04, 0xcb, 0x86, 0xb9, - 0x43, 0xd3, 0x9b, 0x8b, 0xa3, 0x6c, 0x98, 0x3b, 0x54, 0x9b, 0xf0, 0xdc, 0xbc, 0x5f, 0x68, 0x1d, - 0xe0, 0x41, 0x8b, 0xba, 0x02, 0x63, 0xb8, 0x0f, 0x8c, 0x0c, 0xf3, 0x63, 0x20, 0x55, 0x98, 0xe5, - 0x76, 0x7e, 0xfa, 0x65, 0xca, 0xcb, 0xc6, 0x32, 0xcb, 0x96, 0x8a, 0x69, 0x80, 0xd1, 0x62, 0x6b, - 0x39, 0x1a, 0x73, 0xea, 0x95, 0xe3, 0x64, 0x42, 0x39, 0x44, 0x2b, 0xdc, 0x06, 0xd8, 0x0d, 0x4e, - 0xf9, 0x1c, 0xaf, 0xfd, 0xef, 0xf9, 0x8b, 0xf9, 0xc5, 0x9a, 0xe1, 0xd6, 0x5b, 0x95, 0xa2, 0x4e, - 0x9b, 0xaa, 0x4e, 0x9d, 0x26, 0x75, 0xc4, 0x9f, 0x15, 0xa7, 0x7a, 0x5f, 0x75, 0xdb, 0x16, 0x71, - 0x8a, 0x37, 0x88, 0xae, 0x85, 0xbc, 0xd1, 0x87, 0x30, 0xed, 0x27, 0x13, 0x3c, 0x27, 0x5e, 0x9e, - 0x2e, 0x4b, 0xd1, 0x7f, 0x74, 0xde, 0x20, 0x19, 0x8e, 0x6b, 0xe8, 0x8e, 0x36, 0x25, 0x50, 0xfc, - 0x5b, 0xe8, 0x16, 0x64, 0xc3, 0x8d, 0x32, 0xc2, 0xba, 0x75, 0xa1, 0xa7, 0x6e, 0xd5, 0xc0, 0x0e, - 0x1a, 0x29, 0x58, 0xfc, 0xbc, 0x1a, 0xfe, 0x12, 0x72, 0xd8, 0xb3, 0x11, 0xcb, 0xa1, 0x2e, 0x16, - 0x7f, 0xac, 0x89, 0xa8, 0xd9, 0x0d, 0xc8, 0xf8, 0x9b, 0xae, 0xa7, 0xd1, 0xe1, 0xa6, 0xbc, 0x03, - 0x02, 0x47, 0xe5, 0x5a, 0x6c, 0x24, 0x46, 0xdd, 0xe9, 0x61, 0xc7, 0x2a, 0xb6, 0x78, 0x6f, 0xc6, - 0xfb, 0x0b, 0xaa, 0x9b, 0xde, 0xa4, 0xf3, 0x3b, 0x77, 0xc5, 0x5e, 0xf3, 0xe8, 0x2e, 0xa5, 0xd3, - 0xe5, 0x8b, 0x2d, 0xea, 0xed, 0xcd, 0xfa, 0xd1, 0x48, 0xd0, 0xd0, 0xb7, 0xe4, 0x4d, 0xc8, 0x8a, - 0x8e, 0xf6, 0xba, 0xa3, 0xaf, 0xdd, 0x06, 0x34, 0xf8, 0x8d, 0x10, 0x8c, 0x7a, 0x93, 0x26, 0x56, - 0x1b, 0xfb, 0x8d, 0x72, 0x30, 0xc6, 0x26, 0x87, 0xcd, 0x46, 0x46, 0xe3, 0x17, 0xca, 0x37, 0xa3, - 0x30, 0xc9, 0x18, 0x6c, 0x63, 0x83, 0xf3, 0x43, 0x9b, 0x00, 0x16, 0x36, 0xec, 0x32, 0x5b, 0x50, - 0xa2, 0x9b, 0x8b, 0xde, 0x47, 0x60, 0x1f, 0x1d, 0x9d, 0xf1, 0x10, 0x18, 0xae, 0x07, 0xc7, 0x96, - 0x05, 0x87, 0x1b, 0x1e, 0x0c, 0x2e, 0x78, 0xe3, 0xa3, 0x2d, 0xc8, 0xf2, 0xc5, 0xc1, 0xf1, 0x46, - 0x06, 0xc2, 0xe3, 0xbb, 0x87, 0x03, 0x56, 0xe0, 0x08, 0xe3, 0xa7, 0xb7, 0x9a, 0x2d, 0x6f, 0x0a, - 0x77, 0x7d, 0xe8, 0xd1, 0x81, 0xa0, 0x67, 0x3c, 0xb0, 0xf5, 0x00, 0x8b, 0xc7, 0xa8, 0xc2, 0x2c, - 0x27, 0xdd, 0x11, 0x64, 0x6c, 0xa0, 0x20, 0x39, 0x86, 0xb6, 0x3f, 0xca, 0x02, 0x4c, 0xb2, 0x4c, - 0x5c, 0xa3, 0x49, 0x1c, 0x17, 0x37, 0xad, 0xb9, 0xf1, 0x82, 0xb4, 0x3c, 0xa2, 0x1d, 0xf2, 0x4e, - 0xef, 0xf9, 0x87, 0x68, 0x09, 0xa6, 0x38, 0x99, 0x3d, 0xbb, 0x03, 0xcc, 0x6e, 0x92, 0x1d, 0x07, - 0x86, 0x8a, 0x29, 0xde, 0xf1, 0x91, 0x3e, 0x15, 0x33, 0xa1, 0xc1, 0x34, 0x7f, 0xfb, 0xb1, 0x56, - 0xe9, 0x55, 0xc4, 0x44, 0x1a, 0x4d, 0x9b, 0xb4, 0x22, 0xd7, 0xa5, 0xe7, 0x47, 0x60, 0x8c, 0x05, - 0x44, 0x5f, 0x4a, 0x30, 0xce, 0xe5, 0x07, 0xea, 0xb2, 0xf5, 0x3a, 0x55, 0x8f, 0xbc, 0xd2, 0xa3, - 0x35, 0xcf, 0x42, 0x59, 0xfe, 0xec, 0x8f, 0x7f, 0xbe, 0x1e, 0x56, 0x50, 0x41, 0x4d, 0x94, 0x86, - 0x5c, 0xf7, 0xa0, 0xef, 0x25, 0x38, 0x18, 0xd6, 0x35, 0xa8, 0x94, 0x12, 0x29, 0x46, 0x20, 0xc9, - 0x17, 0xfb, 0xf2, 0x11, 0x1c, 0x55, 0xc6, 0xf1, 0x2c, 0x5a, 0x4a, 0xe6, 0x58, 0xc1, 0x66, 0xb5, - 0xec, 0xab, 0x29, 0xf4, 0x93, 0x04, 0x53, 0xfb, 0xa4, 0x12, 0x7a, 0xad, 0x87, 0xc8, 0x9d, 0x5f, - 0xcb, 0xf2, 0xeb, 0xfd, 0xba, 0x09, 0xce, 0x17, 0x19, 0xe7, 0x15, 0x74, 0x2e, 0x85, 0x73, 0xf8, - 0x53, 0x1b, 0xfd, 0x22, 0x01, 0xea, 0xd4, 0x54, 0xe8, 0x72, 0x0f, 0x1c, 0x62, 0x85, 0x9a, 0xfc, - 0xc6, 0x00, 0x9e, 0x22, 0x81, 0x4b, 0x2c, 0x81, 0x55, 0xa4, 0xa6, 0x24, 0x60, 0x54, 0xf4, 0x68, - 0x12, 0xbf, 0x49, 0x90, 0x8b, 0x13, 0x61, 0xe8, 0x4a, 0x5a, 0x67, 0x26, 0xab, 0x3b, 0xf9, 0xcd, - 0x81, 0x7c, 0x45, 0x2a, 0x97, 0x59, 0x2a, 0x25, 0x74, 0xa1, 0x4b, 0x8f, 0x7b, 0x6e, 0x3b, 0x84, - 0xec, 0x7b, 0x20, 0xbf, 0x4a, 0x30, 0x13, 0xa3, 0xdd, 0x50, 0x5a, 0x5d, 0x93, 0x25, 0xa1, 0x7c, - 0x65, 0x10, 0xd7, 0xde, 0x9f, 0x89, 0x2e, 0xdc, 0xa3, 0x79, 0x78, 0x03, 0xb1, 0x4f, 0xef, 0xa5, - 0x0e, 0x44, 0xbc, 0x7c, 0x4c, 0x1d, 0x88, 0x04, 0x59, 0xd9, 0xcb, 0x40, 0x58, 0x6d, 0xb7, 0x1e, - 0xe5, 0xfd, 0xa7, 0x04, 0xa8, 0x53, 0xe4, 0xa5, 0x0e, 0x44, 0xa2, 0xda, 0x4c, 0x1d, 0x88, 0x64, - 0x45, 0xa9, 0xdc, 0x66, 0x09, 0xdc, 0x40, 0x6b, 0xdd, 0xba, 0x88, 0x7b, 0x87, 0x93, 0x50, 0x1f, - 0xfb, 0xa7, 0x4f, 0xd4, 0xc7, 0x5c, 0x61, 0x3d, 0x41, 0x3f, 0x48, 0x70, 0x98, 0xbf, 0x53, 0x42, - 0xea, 0x11, 0xad, 0xa6, 0x90, 0xeb, 0x14, 0xa1, 0x72, 0xa9, 0x1f, 0x17, 0x91, 0x48, 0x91, 0x25, - 0xb2, 0x8c, 0x16, 0x93, 0x13, 0x69, 0x32, 0x37, 0x9e, 0x00, 0xfa, 0x5d, 0x82, 0xd9, 0x78, 0x25, - 0x88, 0xae, 0xa6, 0x84, 0xef, 0xaa, 0x60, 0xe5, 0xb7, 0x06, 0xf4, 0x16, 0x79, 0x5c, 0x61, 0x79, - 0xfc, 0x1f, 0x95, 0x92, 0xf3, 0xa8, 0x07, 0x08, 0xe5, 0x88, 0x52, 0x45, 0x3f, 0x4a, 0x30, 0xbd, - 0x5f, 0xcc, 0xa0, 0xb4, 0xd6, 0x4e, 0x10, 0x83, 0xf2, 0xa5, 0xbe, 0xfd, 0x44, 0x06, 0xe7, 0x59, - 0x06, 0x8b, 0xe8, 0x4c, 0x72, 0x06, 0x21, 0x5d, 0xf4, 0xb3, 0x04, 0x33, 0x31, 0x7a, 0x22, 0x75, - 0x19, 0x25, 0xcb, 0x94, 0xd4, 0x65, 0xd4, 0x45, 0xbe, 0x28, 0xe7, 0x18, 0xf9, 0x05, 0x74, 0x3a, - 0x7d, 0x1e, 0xd8, 0x9b, 0x2d, 0x17, 0xa7, 0x30, 0x50, 0x7f, 0x0c, 0x22, 0xb2, 0x26, 0xf5, 0xa5, - 0xd0, 0x4d, 0xd2, 0x28, 0xab, 0x8c, 0xfe, 0x39, 0x74, 0xb6, 0xd7, 0x71, 0x76, 0xd0, 0x77, 0x12, - 0x64, 0x43, 0x5f, 0x82, 0xa9, 0xf3, 0xda, 0xa9, 0x6e, 0x52, 0xe7, 0x35, 0xe6, 0x43, 0x53, 0x59, - 0x62, 0x4c, 0x4f, 0xa1, 0xf9, 0x94, 0xd7, 0x17, 0xfa, 0x56, 0x82, 0x4c, 0xb0, 0x7e, 0x91, 0xda, - 0xeb, 0xa2, 0xf6, 0xb9, 0x5d, 0xe8, 0xdd, 0xa1, 0xf7, 0xfe, 0xdd, 0xdb, 0xe9, 0x6b, 0x3b, 0x4f, - 0x5f, 0xe6, 0xa5, 0x67, 0x2f, 0xf3, 0xd2, 0xdf, 0x2f, 0xf3, 0xd2, 0x57, 0xaf, 0xf2, 0x43, 0xcf, - 0x5e, 0xe5, 0x87, 0xfe, 0x7a, 0x95, 0x1f, 0xfa, 0xf8, 0x4e, 0xe8, 0xa3, 0x7f, 0xc3, 0x47, 0xba, - 0x83, 0x2b, 0xce, 0x1e, 0xee, 0x8a, 0x4e, 0x6d, 0x12, 0xbe, 0xac, 0x63, 0xc3, 0x14, 0x7b, 0xca, - 0xf1, 0x83, 0x32, 0x79, 0x50, 0x19, 0x67, 0xff, 0xad, 0xb8, 0xf8, 0x6f, 0x00, 0x00, 0x00, 0xff, - 0xff, 0xe1, 0xe8, 0xd9, 0x82, 0x72, 0x19, 0x00, 0x00, + // 1728 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xdd, 0x6f, 0x13, 0xc7, + 0x16, 0xcf, 0xe6, 0x8b, 0xf8, 0x98, 0x7c, 0x30, 0x31, 0x21, 0x18, 0x48, 0xc2, 0x86, 0x7c, 0x20, + 0xc0, 0x26, 0xe6, 0xde, 0x0b, 0x97, 0xcb, 0xa5, 0x22, 0x09, 0xb4, 0x69, 0x41, 0xa4, 0x0b, 0x2d, + 0x6d, 0x55, 0xc9, 0x1a, 0xaf, 0x27, 0xf6, 0x16, 0x7b, 0xc7, 0xec, 0xae, 0x03, 0x16, 0x42, 0x55, + 0xfb, 0x58, 0x55, 0x6a, 0xa5, 0xbe, 0xb6, 0xef, 0x55, 0xdf, 0xfa, 0xd0, 0x87, 0xbe, 0x56, 0xaa, + 0x44, 0xdf, 0xa8, 0xaa, 0x4a, 0x15, 0x0f, 0xa8, 0x4a, 0xfa, 0x87, 0x54, 0x3b, 0x67, 0x76, 0xe3, + 0x8d, 0x77, 0xbd, 0xeb, 0x48, 0x7d, 0xf3, 0xcc, 0x9c, 0xf3, 0x3b, 0xbf, 0x73, 0xe6, 0x9c, 0xb3, + 0x73, 0x64, 0x38, 0x63, 0x98, 0x1f, 0x31, 0xdd, 0x31, 0xb6, 0x59, 0x9e, 0x5b, 0x54, 0xaf, 0xb1, + 0xfc, 0xf6, 0x4a, 0x89, 0x39, 0x74, 0x25, 0xff, 0xa8, 0xc9, 0xac, 0x56, 0xae, 0x61, 0x71, 0x87, + 0x93, 0x69, 0x5f, 0x2a, 0x87, 0x52, 0x39, 0x29, 0x95, 0x3d, 0x59, 0xe1, 0xbc, 0x52, 0x63, 0x79, + 0xda, 0x30, 0xf2, 0xd4, 0x34, 0xb9, 0x43, 0x1d, 0x83, 0x9b, 0x36, 0xea, 0x65, 0x17, 0x22, 0xd1, + 0x25, 0x0c, 0x8a, 0x2d, 0x46, 0x8a, 0x55, 0x98, 0xc9, 0x6c, 0xc3, 0x83, 0xcb, 0x54, 0x78, 0x85, + 0x8b, 0x9f, 0x79, 0xf7, 0x17, 0xee, 0xaa, 0x05, 0x38, 0xfa, 0xb6, 0xcb, 0x75, 0xb3, 0xe5, 0x54, + 0x37, 0x2d, 0x43, 0x67, 0x1a, 0x7b, 0xd4, 0x64, 0xb6, 0x43, 0x8e, 0xc3, 0x48, 0xc3, 0x5d, 0x17, + 0x8d, 0xf2, 0xb4, 0x32, 0xa7, 0x2c, 0xa7, 0xb4, 0x43, 0x62, 0xbd, 0x51, 0x56, 0x75, 0x98, 0xda, + 0xaf, 0x63, 0x37, 0xb8, 0x69, 0x33, 0xb2, 0x01, 0x69, 0x54, 0xb2, 0x1d, 0xea, 0x30, 0xa1, 0x97, + 0x2e, 0x2c, 0xe7, 0xa2, 0x02, 0x90, 0xf3, 0x11, 0xee, 0xb9, 0xf2, 0x1a, 0x34, 0xfc, 0xdf, 0x6a, + 0x06, 0x08, 0x1a, 0xa1, 0x16, 0xad, 0xdb, 0x92, 0x95, 0xfa, 0x0e, 0x4c, 0x06, 0x76, 0xa5, 0xdd, + 0xeb, 0x30, 0xdc, 0x10, 0x3b, 0xd2, 0xe4, 0x5c, 0x17, 0x93, 0x42, 0x6e, 0x75, 0xf0, 0xf9, 0xab, + 0xd9, 0x3e, 0x4d, 0x6a, 0xa9, 0x59, 0x98, 0x16, 0xb0, 0xab, 0xd4, 0x2c, 0x6b, 0xac, 0x46, 0x5b, + 0xcc, 0xf2, 0x4d, 0x5e, 0x86, 0xe3, 0x21, 0x67, 0xd2, 0x70, 0x16, 0x46, 0x2c, 0xb9, 0x37, 0xad, + 0xcc, 0x0d, 0x2c, 0xa7, 0x34, 0x7f, 0xad, 0x9e, 0x82, 0x13, 0xbe, 0xe2, 0x9e, 0x93, 0x3e, 0xee, + 0x43, 0x38, 0x19, 0x7e, 0x2c, 0xa1, 0xdf, 0x82, 0xc3, 0x6d, 0xb1, 0x44, 0xf8, 0xae, 0xc1, 0x0c, + 0x02, 0x69, 0xe9, 0xbd, 0x60, 0xda, 0xea, 0x1c, 0xcc, 0xf8, 0xc6, 0x36, 0x56, 0xd7, 0x42, 0xe8, + 0x98, 0x30, 0x1b, 0x29, 0xf1, 0x4f, 0x30, 0x52, 0x61, 0x0e, 0x6f, 0xd2, 0xdd, 0xbb, 0xc5, 0x58, + 0x58, 0x88, 0x1a, 0x70, 0xba, 0x8b, 0xcc, 0x41, 0x59, 0xf9, 0x68, 0x21, 0xac, 0x4e, 0xcb, 0x28, + 0xac, 0x71, 0xc3, 0x2c, 0x51, 0x9b, 0x85, 0x90, 0xb2, 0x25, 0xf1, 0x50, 0x11, 0xc9, 0xe9, 0x6e, + 0x28, 0xa7, 0xf3, 0xd1, 0x9c, 0x3a, 0xc1, 0x82, 0xbc, 0xbc, 0x5c, 0x0a, 0x16, 0x4c, 0x47, 0x2e, + 0x75, 0x1c, 0x1f, 0x38, 0x46, 0xc1, 0xc2, 0x0c, 0x70, 0xb9, 0x2f, 0x73, 0x69, 0xd3, 0xe2, 0xdb, + 0x46, 0x99, 0x59, 0x6d, 0x72, 0xb2, 0x77, 0x64, 0xdd, 0xde, 0x81, 0x87, 0xb2, 0x77, 0xf8, 0x6b, + 0x32, 0x05, 0xc3, 0x76, 0xab, 0x5e, 0xe2, 0xb5, 0xe9, 0x7e, 0x71, 0x22, 0x57, 0x6a, 0x55, 0x46, + 0x3e, 0x0c, 0x55, 0x7a, 0x71, 0x33, 0xac, 0xbb, 0x9c, 0x89, 0xb9, 0xe8, 0xce, 0xce, 0x72, 0x1c, + 0x8e, 0x09, 0x4b, 0x77, 0x78, 0xb9, 0x59, 0x0b, 0x10, 0x57, 0xdf, 0x93, 0x7d, 0x20, 0x70, 0x24, + 0xad, 0x5f, 0x83, 0xa1, 0x76, 0xbb, 0x8b, 0xd1, 0x76, 0x5f, 0xc7, 0xbe, 0x8b, 0xea, 0xa8, 0xa4, + 0x7e, 0x0c, 0xaa, 0x40, 0x7e, 0xc3, 0xb0, 0x1d, 0x6e, 0x19, 0x3a, 0xad, 0xc9, 0xce, 0xa9, 0x73, + 0xab, 0xec, 0xdd, 0x23, 0xb9, 0x06, 0xc3, 0x88, 0x25, 0x8c, 0x8c, 0x75, 0x73, 0xee, 0xae, 0x58, + 0xde, 0x6f, 0x35, 0x98, 0x26, 0x75, 0xc8, 0x09, 0x48, 0x61, 0x30, 0xdd, 0x9e, 0x8d, 0xd1, 0x1d, + 0xc1, 0x8d, 0x8d, 0xb2, 0x6a, 0xc1, 0x7c, 0x57, 0x02, 0x7e, 0xa6, 0x8c, 0x62, 0x8c, 0x2d, 0x3c, + 0x90, 0xa9, 0xb2, 0x18, 0x13, 0x65, 0x0f, 0x06, 0xd3, 0x4c, 0xae, 0xd4, 0xcf, 0x14, 0xc8, 0x20, + 0x4f, 0xb4, 0xda, 0xba, 0xdb, 0x10, 0x1f, 0x38, 0x72, 0x0c, 0x0e, 0xd5, 0xe9, 0x93, 0x22, 0xad, + 0xa0, 0xa3, 0x83, 0xda, 0x70, 0x9d, 0x3e, 0xb9, 0x51, 0x61, 0x24, 0x07, 0x93, 0x86, 0xa9, 0xd7, + 0x9a, 0x65, 0x56, 0xb4, 0xe8, 0xe3, 0x62, 0x15, 0xd5, 0x84, 0x33, 0x23, 0xda, 0x11, 0x79, 0xa4, + 0xd1, 0xc7, 0x12, 0x8f, 0x9c, 0x85, 0x09, 0x4f, 0xbe, 0xce, 0x1c, 0x5a, 0xa6, 0x0e, 0x9d, 0x1e, + 0x10, 0xc2, 0xe3, 0x72, 0xff, 0x8e, 0xdc, 0x56, 0x3f, 0xef, 0x97, 0x45, 0x82, 0x8c, 0xde, 0xe5, + 0x35, 0xea, 0x18, 0x35, 0xc3, 0x69, 0x79, 0xc1, 0xbf, 0x01, 0x29, 0xb7, 0x04, 0x8b, 0x86, 0xb9, + 0xc5, 0xe3, 0x93, 0x0b, 0x51, 0x36, 0xcc, 0x2d, 0xae, 0x8d, 0xb8, 0x6a, 0xee, 0x2f, 0xb2, 0x06, + 0xf0, 0xa8, 0xc9, 0x1d, 0x89, 0xd1, 0xdf, 0x03, 0x46, 0x4a, 0xe8, 0x09, 0x90, 0x32, 0x4c, 0xa1, + 0x9c, 0xe7, 0x7e, 0x91, 0x63, 0xd8, 0x84, 0x67, 0xe9, 0x42, 0x2e, 0x0e, 0x30, 0x18, 0x6c, 0x2d, + 0xc3, 0x43, 0x76, 0xd5, 0x4f, 0xfa, 0xe1, 0x54, 0x44, 0x38, 0x64, 0x2a, 0xbc, 0x06, 0xb0, 0xed, + 0xef, 0x62, 0x1d, 0xaf, 0xce, 0xbe, 0x7c, 0x35, 0x7b, 0x42, 0xe7, 0x76, 0x9d, 0xdb, 0x76, 0xf9, + 0x61, 0xce, 0xe0, 0xf9, 0x3a, 0x75, 0xaa, 0xb9, 0xdb, 0xac, 0x42, 0xf5, 0xd6, 0x3a, 0xd3, 0xb5, + 0x36, 0x15, 0xf2, 0x00, 0x26, 0x3c, 0x0f, 0xfc, 0xcb, 0xc1, 0x98, 0x74, 0xe9, 0x84, 0xde, 0x7d, + 0xb9, 0xd5, 0x63, 0xd8, 0x8e, 0xa1, 0xdb, 0xda, 0xb8, 0x44, 0xf1, 0x8e, 0xc8, 0x2d, 0x48, 0xb7, + 0x67, 0xc7, 0x80, 0x48, 0xd1, 0x85, 0x44, 0x29, 0xaa, 0x81, 0xe5, 0x67, 0x8f, 0xdf, 0xed, 0x31, + 0x04, 0x5e, 0xe7, 0xb1, 0xc5, 0x85, 0xc8, 0x8e, 0x50, 0x95, 0xdd, 0x3e, 0x54, 0x44, 0x06, 0x6a, + 0x1d, 0x52, 0x5e, 0x7b, 0x4b, 0x54, 0x2f, 0x28, 0x8a, 0xd7, 0xee, 0x2b, 0xaa, 0xd7, 0x43, 0x2d, + 0x09, 0xea, 0x76, 0x82, 0xc6, 0xaa, 0x5a, 0xf2, 0x63, 0x19, 0xae, 0x2f, 0xa9, 0xde, 0x71, 0xcb, + 0x1b, 0x4f, 0xee, 0xc9, 0x66, 0xe6, 0xd2, 0x5d, 0x8a, 0xa7, 0x8b, 0xdd, 0x2c, 0xa8, 0xad, 0x7e, + 0x08, 0x63, 0xf7, 0x74, 0x5a, 0x33, 0xcc, 0x8a, 0x57, 0xd9, 0xf3, 0x30, 0x2a, 0x8a, 0xa8, 0xcc, + 0x74, 0xa3, 0x4e, 0x6b, 0xf8, 0x20, 0x1b, 0xd5, 0x0e, 0xbb, 0x9b, 0xeb, 0x72, 0x8f, 0x2c, 0xc0, + 0x18, 0x96, 0x89, 0x2f, 0xd5, 0x2f, 0xa4, 0x46, 0xc5, 0xae, 0x27, 0xa6, 0xee, 0x2a, 0xb2, 0x53, + 0x7b, 0x2e, 0xb5, 0x3d, 0x4f, 0x6f, 0x42, 0x5a, 0x16, 0x89, 0xd3, 0x6a, 0xf4, 0xd6, 0x2e, 0x81, + 0xfb, 0xbf, 0x09, 0x81, 0x41, 0x97, 0x99, 0xec, 0x96, 0xe2, 0x37, 0xc9, 0xc0, 0x90, 0xe0, 0x21, + 0xca, 0x2d, 0xa5, 0xe1, 0x82, 0x3c, 0x80, 0x71, 0x1b, 0x5d, 0xf5, 0xcb, 0x71, 0x30, 0xee, 0x79, + 0x1b, 0x8c, 0x8d, 0x78, 0x73, 0x2a, 0xda, 0x98, 0x1d, 0xd8, 0x55, 0x77, 0x06, 0x60, 0x4c, 0xb8, + 0xb6, 0x49, 0x0d, 0x0c, 0x2b, 0x59, 0x05, 0x68, 0x50, 0xc3, 0x2a, 0x8a, 0x66, 0x2a, 0x2b, 0x6f, + 0xde, 0x7d, 0xb0, 0xc6, 0x55, 0x5f, 0xca, 0x55, 0x13, 0x60, 0x2e, 0x86, 0xb8, 0x08, 0xc4, 0xe8, + 0xef, 0x01, 0xc3, 0x7f, 0x87, 0x90, 0x75, 0x48, 0xe3, 0x3d, 0x21, 0xc8, 0x40, 0x72, 0x10, 0x6c, + 0x83, 0x88, 0xf2, 0x00, 0x8e, 0x0a, 0x26, 0x7a, 0xb3, 0xde, 0x74, 0x7b, 0xc3, 0xb6, 0x87, 0x37, + 0x98, 0x1c, 0x6f, 0xd2, 0x45, 0x58, 0xf3, 0x01, 0x10, 0xf8, 0x7d, 0x98, 0x42, 0x7a, 0x1d, 0xc8, + 0x43, 0xc9, 0x91, 0x33, 0x02, 0x62, 0x3f, 0xf4, 0x02, 0x8c, 0x09, 0xce, 0x8e, 0x51, 0x67, 0xb6, + 0x43, 0xeb, 0x8d, 0xe9, 0xe1, 0x39, 0x65, 0x79, 0x40, 0x13, 0xc9, 0x7d, 0xdf, 0xdb, 0x24, 0x4b, + 0x30, 0x8e, 0x0c, 0xf6, 0xe4, 0x0e, 0x09, 0x39, 0xcc, 0x6f, 0x5f, 0x50, 0x35, 0xe5, 0xc3, 0x22, + 0x90, 0xc9, 0xb2, 0x26, 0x35, 0x98, 0xc0, 0x4f, 0xae, 0xb8, 0xf3, 0xa4, 0x93, 0x53, 0x20, 0x63, + 0xb4, 0xb1, 0x46, 0x60, 0x5d, 0x78, 0x79, 0x14, 0x86, 0x84, 0x41, 0xf2, 0x85, 0x02, 0xc3, 0x38, + 0xf3, 0x90, 0x2e, 0x5d, 0xb7, 0x73, 0xd4, 0xca, 0x5e, 0x48, 0x28, 0x8d, 0x5e, 0xa8, 0xcb, 0x9f, + 0xfe, 0xf6, 0xd7, 0x57, 0xfd, 0x2a, 0x99, 0xcb, 0x47, 0xce, 0xa3, 0x38, 0x6c, 0x91, 0x6f, 0x15, + 0x38, 0xdc, 0x3e, 0x4c, 0x91, 0x42, 0x8c, 0xa5, 0x90, 0xa9, 0x2c, 0x7b, 0xa9, 0x27, 0x1d, 0xc9, + 0x31, 0x2f, 0x38, 0x9e, 0x25, 0x4b, 0xd1, 0x1c, 0x4b, 0xd4, 0x2c, 0x17, 0xbd, 0x11, 0x8e, 0xfc, + 0xa0, 0xc0, 0xf8, 0xbe, 0xf9, 0x8c, 0xfc, 0x3b, 0x81, 0xe5, 0xce, 0x27, 0x7a, 0xf6, 0x3f, 0xbd, + 0xaa, 0x49, 0xce, 0x97, 0x04, 0xe7, 0x0b, 0xe4, 0x5c, 0x0c, 0xe7, 0xf6, 0xf7, 0x3d, 0xf9, 0x49, + 0x01, 0xd2, 0x39, 0xc8, 0x91, 0x2b, 0x09, 0x38, 0x84, 0x4e, 0x87, 0xd9, 0xff, 0x1e, 0x40, 0x53, + 0x3a, 0x70, 0x59, 0x38, 0xb0, 0x42, 0xf2, 0x31, 0x0e, 0x18, 0x25, 0x3d, 0xe8, 0xc4, 0x2f, 0x0a, + 0x64, 0xc2, 0x26, 0x3f, 0x72, 0x35, 0x2e, 0x33, 0xa3, 0x47, 0xca, 0xec, 0xff, 0x0e, 0xa4, 0x2b, + 0x5d, 0xb9, 0x22, 0x5c, 0x29, 0x90, 0x8b, 0x5d, 0x72, 0xdc, 0x55, 0xdb, 0x62, 0x6c, 0xdf, 0x85, + 0xfc, 0xac, 0xc0, 0x64, 0xc8, 0xc0, 0x48, 0xe2, 0xe2, 0x1a, 0x3d, 0x87, 0x66, 0xaf, 0x1e, 0x44, + 0x35, 0xf9, 0x9d, 0xe8, 0x52, 0x3d, 0xe8, 0x87, 0x5b, 0x10, 0xfb, 0x86, 0xcc, 0xd8, 0x82, 0x08, + 0x9f, 0x59, 0x63, 0x0b, 0x22, 0x62, 0x96, 0x4d, 0x52, 0x10, 0x8d, 0x96, 0x53, 0x0d, 0xf2, 0xfe, + 0x5d, 0x01, 0xd2, 0x39, 0x59, 0xc6, 0x16, 0x44, 0xe4, 0x88, 0x1b, 0x5b, 0x10, 0xd1, 0x63, 0xac, + 0xfa, 0xa6, 0x70, 0x60, 0x9d, 0xac, 0x76, 0xcb, 0x22, 0xd4, 0x6e, 0x77, 0x22, 0xff, 0xd4, 0xdb, + 0x7d, 0x96, 0x7f, 0x8a, 0x63, 0xdd, 0x33, 0xf2, 0x9d, 0x02, 0x47, 0xf0, 0x9b, 0xd2, 0x36, 0xb2, + 0x92, 0x95, 0x18, 0x72, 0x9d, 0x93, 0x6f, 0xb6, 0xd0, 0x8b, 0x8a, 0x74, 0x24, 0x27, 0x1c, 0x59, + 0x26, 0x8b, 0xd1, 0x8e, 0xd4, 0x85, 0x1a, 0x3a, 0x40, 0x7e, 0x55, 0x60, 0x2a, 0x7c, 0xfc, 0x24, + 0xd7, 0x62, 0xcc, 0x77, 0x1d, 0x9b, 0xb3, 0xff, 0x3f, 0xa0, 0xb6, 0xf4, 0xe3, 0xaa, 0xf0, 0xe3, + 0x5f, 0xa4, 0x10, 0xed, 0x47, 0xd5, 0x47, 0x28, 0x06, 0xc6, 0x63, 0xf2, 0xbd, 0x02, 0x13, 0xfb, + 0x27, 0x28, 0x12, 0x97, 0xda, 0x11, 0x13, 0x68, 0xf6, 0x72, 0xcf, 0x7a, 0xd2, 0x83, 0xf3, 0xc2, + 0x83, 0x45, 0x72, 0x26, 0xda, 0x83, 0xb6, 0xb9, 0xec, 0x47, 0x05, 0x26, 0x43, 0xe6, 0x99, 0xd8, + 0x66, 0x14, 0x3d, 0x26, 0xc5, 0x36, 0xa3, 0x2e, 0xe3, 0x93, 0x7a, 0x4e, 0x90, 0x5f, 0x20, 0xf3, + 0xf1, 0xf5, 0x20, 0xbe, 0x6c, 0x99, 0xb0, 0x09, 0x87, 0xf4, 0xc6, 0x20, 0x30, 0x56, 0xc5, 0x7e, + 0x14, 0xba, 0x8d, 0x54, 0xea, 0x8a, 0xa0, 0x7f, 0x8e, 0x9c, 0x4d, 0x5a, 0xce, 0x36, 0xf9, 0x46, + 0x81, 0x74, 0xdb, 0x4b, 0x30, 0xb6, 0x5e, 0x3b, 0xe7, 0x9f, 0xd8, 0x7a, 0x0d, 0x79, 0x68, 0xaa, + 0x4b, 0x82, 0xe9, 0x69, 0x32, 0x1b, 0xf3, 0xf9, 0x22, 0x5f, 0x2b, 0x90, 0xf2, 0xdb, 0x2f, 0xc9, + 0x27, 0x6d, 0xd4, 0x1e, 0xb7, 0x8b, 0xc9, 0x15, 0x92, 0xe7, 0xef, 0x5e, 0x4f, 0x5f, 0xdd, 0x7a, + 0xbe, 0x33, 0xa3, 0xbc, 0xd8, 0x99, 0x51, 0xfe, 0xdc, 0x99, 0x51, 0xbe, 0xdc, 0x9d, 0xe9, 0x7b, + 0xb1, 0x3b, 0xd3, 0xf7, 0xc7, 0xee, 0x4c, 0xdf, 0x07, 0xb7, 0x2b, 0x86, 0x53, 0x6d, 0x96, 0x72, + 0x3a, 0xaf, 0xe7, 0x37, 0x3c, 0xa4, 0xdb, 0xb4, 0x64, 0xef, 0xe1, 0x5e, 0xd0, 0xb9, 0xc5, 0xda, + 0x97, 0x55, 0x6a, 0x98, 0xb2, 0x4f, 0xd9, 0x9e, 0x51, 0x77, 0xa6, 0xb4, 0x4b, 0xc3, 0xe2, 0x2f, + 0x92, 0x4b, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x51, 0x7a, 0x1d, 0x9a, 0xe7, 0x19, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3229,6 +3297,39 @@ func (m *QueryOracleProviderPricesResponse) MarshalToSizedBuffer(dAtA []byte) (i return len(dAtA) - i, nil } +func (m *ScalingOptions) 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 *ScalingOptions) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ScalingOptions) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.QuoteDecimals != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.QuoteDecimals)) + i-- + dAtA[i] = 0x10 + } + if m.BaseDecimals != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.BaseDecimals)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func (m *QueryOraclePriceRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -3249,6 +3350,18 @@ func (m *QueryOraclePriceRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l + if m.ScalingOptions != nil { + { + size, err := m.ScalingOptions.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } if len(m.Quote) > 0 { i -= len(m.Quote) copy(dAtA[i:], m.Quote) @@ -3787,6 +3900,21 @@ func (m *QueryOracleProviderPricesResponse) Size() (n int) { return n } +func (m *ScalingOptions) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.BaseDecimals != 0 { + n += 1 + sovQuery(uint64(m.BaseDecimals)) + } + if m.QuoteDecimals != 0 { + n += 1 + sovQuery(uint64(m.QuoteDecimals)) + } + return n +} + func (m *QueryOraclePriceRequest) Size() (n int) { if m == nil { return 0 @@ -3804,6 +3932,10 @@ func (m *QueryOraclePriceRequest) Size() (n int) { if l > 0 { n += 1 + l + sovQuery(uint64(l)) } + if m.ScalingOptions != nil { + l = m.ScalingOptions.Size() + n += 1 + l + sovQuery(uint64(l)) + } return n } @@ -5801,7 +5933,7 @@ func (m *QueryOracleVolatilityResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.Volatility = &v if err := m.Volatility.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6198,6 +6330,94 @@ func (m *QueryOracleProviderPricesResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *ScalingOptions) 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: ScalingOptions: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ScalingOptions: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BaseDecimals", wireType) + } + m.BaseDecimals = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BaseDecimals |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field QuoteDecimals", wireType) + } + m.QuoteDecimals = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.QuoteDecimals |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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 *QueryOraclePriceRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -6310,6 +6530,42 @@ func (m *QueryOraclePriceRequest) Unmarshal(dAtA []byte) error { } m.Quote = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ScalingOptions", 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.ScalingOptions == nil { + m.ScalingOptions = &ScalingOptions{} + } + if err := m.ScalingOptions.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) diff --git a/chain/oracle/types/tx.pb.go b/chain/oracle/types/tx.pb.go index c993e9d9..8eae71e5 100644 --- a/chain/oracle/types/tx.pb.go +++ b/chain/oracle/types/tx.pb.go @@ -5,10 +5,11 @@ package types import ( context "context" + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" _ "github.com/cosmos/cosmos-proto" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -34,10 +35,10 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // 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"` - Symbols []string `protobuf:"bytes,3,rep,name=symbols,proto3" json:"symbols,omitempty"` - Prices []github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,rep,name=prices,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"prices"` + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` + Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` + Symbols []string `protobuf:"bytes,3,rep,name=symbols,proto3" json:"symbols,omitempty"` + Prices []cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,rep,name=prices,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"prices"` } func (m *MsgRelayProviderPrices) Reset() { *m = MsgRelayProviderPrices{} } @@ -116,7 +117,7 @@ type MsgRelayPriceFeedPrice struct { Base []string `protobuf:"bytes,2,rep,name=base,proto3" json:"base,omitempty"` Quote []string `protobuf:"bytes,3,rep,name=quote,proto3" json:"quote,omitempty"` // price defines the price of the oracle base and quote - Price []github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,rep,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` + Price []cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,rep,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` } func (m *MsgRelayPriceFeedPrice) Reset() { *m = MsgRelayPriceFeedPrice{} } @@ -642,61 +643,65 @@ func init() { func init() { proto.RegisterFile("injective/oracle/v1beta1/tx.proto", fileDescriptor_5fdf1c490eba4310) } var fileDescriptor_5fdf1c490eba4310 = []byte{ - // 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, + // 914 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0x4f, 0x6f, 0x1b, 0x45, + 0x14, 0xf7, 0x26, 0x8e, 0x21, 0xd3, 0x40, 0x95, 0x21, 0xa4, 0x9b, 0x2d, 0xb5, 0x8d, 0x2b, 0xa4, + 0x36, 0xd0, 0x5d, 0x9c, 0xf2, 0xd7, 0x48, 0x48, 0x75, 0x2b, 0xa4, 0x48, 0x89, 0x14, 0x2d, 0x70, + 0x80, 0x4b, 0x34, 0xde, 0x1d, 0xd6, 0x03, 0xde, 0x9d, 0xed, 0xcc, 0xd8, 0xc2, 0x47, 0x38, 0x00, + 0xe2, 0xc4, 0x47, 0xe8, 0x8d, 0x6b, 0x0f, 0x3d, 0xf1, 0x09, 0x7a, 0x00, 0xa9, 0xe2, 0x84, 0x7a, + 0xa8, 0x50, 0x72, 0x28, 0x1f, 0x80, 0x0f, 0x50, 0xed, 0xec, 0xec, 0x78, 0xbd, 0xf6, 0xc6, 0xf6, + 0x25, 0x99, 0xf7, 0xde, 0xef, 0xbd, 0xf9, 0xfd, 0xe6, 0xcd, 0x3c, 0x2f, 0x78, 0x93, 0x44, 0xdf, + 0x62, 0x4f, 0x90, 0x11, 0x76, 0x28, 0x43, 0xde, 0x00, 0x3b, 0xa3, 0x76, 0x0f, 0x0b, 0xd4, 0x76, + 0xc4, 0xf7, 0x76, 0xcc, 0xa8, 0xa0, 0xd0, 0xd4, 0x10, 0x3b, 0x85, 0xd8, 0x0a, 0x62, 0xed, 0x04, + 0x34, 0xa0, 0x12, 0xe4, 0x24, 0xab, 0x14, 0x6f, 0xbd, 0x55, 0x5a, 0x52, 0xa5, 0xa7, 0xb0, 0x2b, + 0x1e, 0xe5, 0x21, 0xe5, 0x4e, 0xc8, 0x03, 0x67, 0xd4, 0x4e, 0xfe, 0xa9, 0xc0, 0x5e, 0x1a, 0x38, + 0x4d, 0x0b, 0xa7, 0x86, 0x0a, 0x6d, 0xa3, 0x90, 0x44, 0xd4, 0x91, 0x7f, 0x53, 0x57, 0xeb, 0xa9, + 0x01, 0x76, 0x8f, 0x79, 0xe0, 0xe2, 0x01, 0x1a, 0x9f, 0x30, 0x3a, 0x22, 0x3e, 0x66, 0x27, 0x8c, + 0x78, 0x98, 0xc3, 0x5d, 0x50, 0xe3, 0x38, 0xf2, 0x31, 0x33, 0x8d, 0xa6, 0x71, 0x63, 0xd3, 0x55, + 0x16, 0xb4, 0xc0, 0xcb, 0xb1, 0x42, 0x9a, 0x6b, 0x32, 0xa2, 0x6d, 0x68, 0x82, 0x97, 0xf8, 0x38, + 0xec, 0xd1, 0x01, 0x37, 0xd7, 0x9b, 0xeb, 0x37, 0x36, 0xdd, 0xcc, 0x84, 0x9f, 0x80, 0x5a, 0x2c, + 0xeb, 0x9a, 0xd5, 0x24, 0xd0, 0xbd, 0xfe, 0xf8, 0x59, 0xa3, 0xf2, 0xf4, 0x59, 0xe3, 0x6a, 0xca, + 0x90, 0xfb, 0xdf, 0xd9, 0x84, 0x3a, 0x21, 0x12, 0x7d, 0xfb, 0x08, 0x07, 0xc8, 0x1b, 0xdf, 0xc3, + 0x9e, 0xab, 0x52, 0x3a, 0xef, 0xff, 0xf2, 0xa0, 0x51, 0xf9, 0xef, 0x41, 0xa3, 0xf2, 0xe3, 0xf3, + 0x87, 0xfb, 0x8a, 0xc7, 0xaf, 0xcf, 0x1f, 0xee, 0x5f, 0x53, 0x27, 0x34, 0x5f, 0x41, 0xab, 0x09, + 0xea, 0xf3, 0x23, 0x2e, 0xe6, 0x31, 0x8d, 0x38, 0x6e, 0xfd, 0x39, 0x25, 0x9f, 0x78, 0xf8, 0x33, + 0x8c, 0x7d, 0xb9, 0x28, 0x95, 0x0f, 0x41, 0xb5, 0x87, 0x38, 0x36, 0xd7, 0xa4, 0x3e, 0xb9, 0x86, + 0x3b, 0x60, 0xe3, 0xfe, 0x90, 0x0a, 0xac, 0x44, 0xa7, 0x06, 0xfc, 0x18, 0x6c, 0x48, 0xfe, 0xab, + 0x28, 0x4e, 0x33, 0x56, 0x10, 0x9c, 0xe7, 0x3c, 0x2d, 0x38, 0x1f, 0xd1, 0x82, 0xff, 0x32, 0xc0, + 0x76, 0x06, 0xe9, 0xa2, 0xc8, 0x77, 0x91, 0xc0, 0x3c, 0x69, 0x1b, 0x4b, 0x3c, 0x5a, 0x6c, 0x66, + 0xe6, 0x1b, 0xba, 0x36, 0xdd, 0xd0, 0x1d, 0xb0, 0xc1, 0x92, 0x64, 0xa9, 0xb9, 0xea, 0xa6, 0x06, + 0xbc, 0x0e, 0x5e, 0x61, 0x98, 0xd3, 0xc1, 0x08, 0x9f, 0x0a, 0x12, 0xaa, 0x6e, 0x57, 0xdd, 0x2d, + 0xe5, 0xfc, 0x22, 0xf1, 0xc1, 0x3a, 0x00, 0x0c, 0xdf, 0x1f, 0x62, 0x2e, 0x0e, 0xef, 0x71, 0x73, + 0x43, 0x22, 0x72, 0x9e, 0xce, 0xcd, 0x44, 0x75, 0x46, 0x21, 0x91, 0x6d, 0x16, 0x64, 0x6b, 0xe6, + 0xad, 0xab, 0x60, 0x6f, 0xc6, 0xa9, 0xc5, 0xfe, 0x6e, 0x00, 0x33, 0x8b, 0xde, 0xa5, 0x24, 0x4a, + 0x7a, 0x75, 0x8c, 0x39, 0x47, 0xc1, 0xc5, 0xd7, 0x3b, 0x54, 0x18, 0x29, 0x79, 0xcb, 0xd5, 0x76, + 0x42, 0x9c, 0x93, 0x20, 0x42, 0x62, 0xc8, 0x94, 0xf0, 0x2d, 0x37, 0xe7, 0xe9, 0x7c, 0x58, 0xd2, + 0xb6, 0x46, 0x81, 0x7f, 0x91, 0x4c, 0xab, 0x05, 0x9a, 0x65, 0x31, 0xad, 0xe6, 0xa7, 0xec, 0xae, + 0xca, 0x73, 0x4a, 0xd4, 0x1e, 0x76, 0xef, 0xa6, 0xfd, 0x2b, 0xd3, 0x72, 0x4d, 0x1f, 0xf4, 0x29, + 0xf1, 0xe5, 0x63, 0xad, 0xba, 0x9b, 0xd9, 0x41, 0xfb, 0xcb, 0xdd, 0xb2, 0x99, 0xdd, 0xf4, 0x2d, + 0x9b, 0x89, 0x68, 0xaa, 0x7f, 0x18, 0x00, 0xea, 0x8b, 0x38, 0x16, 0xfd, 0x05, 0x13, 0xe5, 0x2b, + 0x00, 0xe5, 0xb5, 0x3f, 0x45, 0x42, 0x60, 0x2e, 0x90, 0x20, 0x34, 0x4a, 0x0f, 0xff, 0xd2, 0xc1, + 0xbe, 0x5d, 0x36, 0x3f, 0x6d, 0x59, 0xf5, 0xce, 0x24, 0xc5, 0xdd, 0x8e, 0x0b, 0x1e, 0xde, 0x69, + 0x97, 0x48, 0xdc, 0x2b, 0x3e, 0x24, 0xcd, 0xb2, 0xf5, 0x06, 0xb0, 0x66, 0xbd, 0x5a, 0xda, 0x23, + 0x03, 0x5c, 0x3e, 0xe6, 0xc1, 0x97, 0xb1, 0x8f, 0x04, 0x3e, 0x41, 0x0c, 0x85, 0x1c, 0x7e, 0x00, + 0x36, 0xd1, 0x50, 0xf4, 0x29, 0x23, 0x62, 0x9c, 0x4a, 0xeb, 0x9a, 0x7f, 0x3f, 0xba, 0xb5, 0xa3, + 0x86, 0xef, 0x1d, 0xdf, 0x67, 0x98, 0xf3, 0xcf, 0x05, 0x23, 0x51, 0xe0, 0x4e, 0xa0, 0xf0, 0x53, + 0x50, 0x8b, 0x65, 0x05, 0xd9, 0x9a, 0x4b, 0x07, 0xcd, 0x0b, 0xb4, 0x4a, 0x5c, 0xb7, 0x9a, 0xcc, + 0x10, 0x57, 0x65, 0xa5, 0xef, 0x64, 0x52, 0x2f, 0xd1, 0xb5, 0x3b, 0xd1, 0x95, 0xa7, 0xd8, 0xda, + 0x03, 0x57, 0x0a, 0xae, 0x4c, 0xd1, 0xc1, 0xff, 0x35, 0xb0, 0x7e, 0xcc, 0x03, 0xf8, 0x83, 0x01, + 0x5e, 0x9b, 0xf7, 0x3b, 0xf0, 0x6e, 0x39, 0xab, 0xf9, 0xd3, 0xd5, 0xfa, 0x68, 0xd5, 0x8c, 0x8c, + 0x4b, 0x9e, 0xc3, 0xd4, 0x30, 0x5e, 0x8a, 0x43, 0x3e, 0x63, 0x39, 0x0e, 0xf3, 0x46, 0x24, 0x64, + 0xe0, 0xd5, 0xc2, 0x78, 0x7c, 0x7b, 0x71, 0x2d, 0x0d, 0xb6, 0x6e, 0xaf, 0x00, 0x2e, 0xe8, 0x9e, + 0x7d, 0xd8, 0x8b, 0x74, 0xcf, 0x64, 0x2c, 0xd4, 0x5d, 0xfa, 0x68, 0xe1, 0xcf, 0x06, 0x78, 0x7d, + 0xfe, 0xa8, 0x3c, 0x58, 0x2c, 0xa9, 0x98, 0x63, 0x75, 0x56, 0xcf, 0xd1, 0x4c, 0x86, 0xe0, 0x72, + 0x71, 0x74, 0xbc, 0xb3, 0x44, 0x3b, 0x35, 0xda, 0x7a, 0x6f, 0x15, 0xb4, 0xde, 0x76, 0x00, 0xb6, + 0xa6, 0x9e, 0xf5, 0xcd, 0x0b, 0xab, 0xe4, 0xa1, 0x56, 0x7b, 0x69, 0x68, 0xb6, 0x5b, 0xf7, 0x9b, + 0xc7, 0x67, 0x75, 0xe3, 0xc9, 0x59, 0xdd, 0xf8, 0xf7, 0xac, 0x6e, 0xfc, 0x76, 0x5e, 0xaf, 0x3c, + 0x39, 0xaf, 0x57, 0xfe, 0x39, 0xaf, 0x57, 0xbe, 0x3e, 0x0a, 0x88, 0xe8, 0x0f, 0x7b, 0xb6, 0x47, + 0x43, 0xe7, 0x30, 0x2b, 0x7b, 0x84, 0x7a, 0xdc, 0xd1, 0x9b, 0xdc, 0xf2, 0x28, 0xc3, 0x79, 0xb3, + 0x8f, 0x48, 0xe4, 0x84, 0xd4, 0x1f, 0x0e, 0x30, 0xcf, 0xbe, 0x1b, 0xc5, 0x38, 0xc6, 0xbc, 0x57, + 0x93, 0x1f, 0x7a, 0xb7, 0x5f, 0x04, 0x00, 0x00, 0xff, 0xff, 0xed, 0x5d, 0x1e, 0x24, 0xab, 0x0a, + 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1968,7 +1973,7 @@ func (m *MsgRelayProviderPrices) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.Prices = append(m.Prices, v) if err := m.Prices[len(m.Prices)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2200,7 +2205,7 @@ func (m *MsgRelayPriceFeedPrice) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.Price = append(m.Price, v) if err := m.Price[len(m.Price)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/chain/peggy/types/attestation.pb.go b/chain/peggy/types/attestation.pb.go index 0d591bd2..a88e4156 100644 --- a/chain/peggy/types/attestation.pb.go +++ b/chain/peggy/types/attestation.pb.go @@ -4,9 +4,9 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" types "github.com/cosmos/cosmos-sdk/codec/types" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -151,8 +151,8 @@ func (m *Attestation) GetClaim() *types.Any { // (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"` + Contract string `protobuf:"bytes,1,opt,name=contract,proto3" json:"contract,omitempty"` + Amount cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=amount,proto3,customtype=cosmossdk.io/math.Int" json:"amount"` } func (m *ERC20Token) Reset() { *m = ERC20Token{} } @@ -206,38 +206,38 @@ func init() { } var fileDescriptor_3022043570947e1e = []byte{ - // 485 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0x31, 0x6f, 0x9b, 0x40, - 0x1c, 0xc5, 0xc1, 0x76, 0xac, 0xf8, 0xb2, 0x58, 0x57, 0x2b, 0x25, 0x48, 0x25, 0x28, 0xaa, 0x2a, - 0x2b, 0x52, 0xee, 0x92, 0x74, 0xed, 0x42, 0x0c, 0x55, 0x51, 0x5c, 0xdb, 0x22, 0xa4, 0x56, 0xba, - 0x58, 0x80, 0xaf, 0x98, 0xc6, 0x70, 0xc8, 0x77, 0x46, 0x62, 0xee, 0x52, 0x79, 0xea, 0x17, 0xb0, - 0x3a, 0xf4, 0xcb, 0x64, 0xcc, 0x58, 0x75, 0x88, 0x2a, 0xfb, 0x8b, 0x54, 0x06, 0xe2, 0xba, 0x49, - 0x3a, 0xc1, 0xbb, 0xf7, 0xfb, 0x1f, 0x4f, 0x7f, 0x1e, 0x78, 0x19, 0x44, 0x9f, 0x89, 0xc7, 0x83, - 0x84, 0xe0, 0x98, 0xf8, 0x7e, 0x8a, 0x93, 0x13, 0xec, 0x70, 0x4e, 0x18, 0x77, 0x78, 0x40, 0x23, - 0x14, 0x4f, 0x28, 0xa7, 0x10, 0xae, 0x29, 0x94, 0x51, 0x28, 0x39, 0x91, 0x1b, 0x3e, 0xf5, 0x69, - 0x66, 0xe3, 0xd5, 0x5b, 0x4e, 0xca, 0x7b, 0x3e, 0xa5, 0xfe, 0x98, 0xe0, 0x4c, 0xb9, 0xd3, 0x4f, - 0xd8, 0x89, 0xd2, 0xdc, 0x3a, 0xf8, 0x22, 0x82, 0x1d, 0xed, 0xef, 0xd5, 0x50, 0x06, 0xdb, 0xd4, - 0x65, 0x64, 0x92, 0x90, 0xa1, 0x24, 0xaa, 0x62, 0x73, 0xdb, 0x5a, 0x6b, 0xd8, 0x00, 0x5b, 0x09, - 0xe5, 0x84, 0x49, 0x25, 0xb5, 0xdc, 0xac, 0x59, 0xb9, 0x80, 0xbb, 0xa0, 0x3a, 0x22, 0x81, 0x3f, - 0xe2, 0x52, 0x59, 0x15, 0x9b, 0x15, 0xab, 0x50, 0xf0, 0x10, 0x6c, 0x79, 0x63, 0x27, 0x08, 0xa5, - 0x8a, 0x2a, 0x36, 0x77, 0x4e, 0x1b, 0x28, 0x0f, 0x81, 0xee, 0x43, 0x20, 0x2d, 0x4a, 0xad, 0x1c, - 0x39, 0x88, 0x01, 0x30, 0xac, 0xd6, 0xe9, 0xb1, 0x4d, 0xaf, 0x49, 0x96, 0xc1, 0xa3, 0x11, 0x9f, - 0x38, 0x1e, 0xcf, 0x32, 0xd4, 0xac, 0xb5, 0x86, 0x6f, 0x41, 0xd5, 0x09, 0xe9, 0x34, 0xe2, 0x52, - 0x69, 0xe5, 0x9c, 0xa1, 0x9b, 0xbb, 0x7d, 0xe1, 0xd7, 0xdd, 0xfe, 0x2b, 0x3f, 0xe0, 0xa3, 0xa9, - 0x8b, 0x3c, 0x1a, 0x62, 0x8f, 0xb2, 0x90, 0xb2, 0xe2, 0x71, 0xc4, 0x86, 0xd7, 0x98, 0xa7, 0x31, - 0x61, 0xc8, 0x8c, 0xb8, 0x55, 0x4c, 0x1f, 0x7e, 0x2f, 0x81, 0x5a, 0x6b, 0xf5, 0x6d, 0x3b, 0x8d, - 0x09, 0x44, 0x00, 0xb6, 0xda, 0x9a, 0xf9, 0x7e, 0x60, 0x5f, 0xf5, 0x8c, 0xc1, 0x65, 0xe7, 0xbc, - 0xd3, 0xed, 0x77, 0xea, 0x82, 0xbc, 0x3b, 0x9b, 0xab, 0x4f, 0x38, 0x0f, 0x78, 0xdd, 0xe8, 0x75, - 0x2f, 0x4c, 0xbb, 0x2e, 0x3e, 0xe2, 0x0b, 0x07, 0x1e, 0x83, 0x67, 0x1b, 0xa7, 0x7d, 0xd3, 0x7e, - 0xa7, 0x5b, 0x5a, 0xbf, 0x5e, 0x92, 0x9f, 0xcf, 0xe6, 0xea, 0x53, 0x16, 0x7c, 0x03, 0xf6, 0x36, - 0x8e, 0xb3, 0xe5, 0xac, 0x6e, 0x6b, 0x77, 0xaf, 0x0c, 0xbd, 0x5e, 0x96, 0x5f, 0xcc, 0xe6, 0xea, - 0xff, 0x81, 0x07, 0xd3, 0x1f, 0xb4, 0xf6, 0x85, 0x61, 0x0f, 0x2e, 0x7b, 0xba, 0x66, 0x1b, 0x7a, - 0xbd, 0xf2, 0x68, 0xfa, 0x5f, 0x40, 0xae, 0x7c, 0xfd, 0xa1, 0x08, 0x67, 0xe4, 0x66, 0xa1, 0x88, - 0xb7, 0x0b, 0x45, 0xfc, 0xbd, 0x50, 0xc4, 0x6f, 0x4b, 0x45, 0xb8, 0x5d, 0x2a, 0xc2, 0xcf, 0xa5, - 0x22, 0x7c, 0x3c, 0xdf, 0xd8, 0xb5, 0x79, 0xdf, 0xc1, 0xb6, 0xe3, 0x32, 0xbc, 0x6e, 0xe4, 0x91, - 0x47, 0x27, 0x64, 0x53, 0x8e, 0x9c, 0x20, 0xc2, 0x21, 0x1d, 0x4e, 0xc7, 0x84, 0x15, 0xa5, 0xce, - 0x7e, 0x8a, 0x5b, 0xcd, 0xfa, 0xf0, 0xfa, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0f, 0xa2, 0x82, - 0x9c, 0xf4, 0x02, 0x00, 0x00, + // 483 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0x31, 0x6f, 0xda, 0x40, + 0x14, 0xc7, 0x6d, 0x20, 0x28, 0x5c, 0x16, 0xeb, 0x4a, 0x53, 0xc7, 0x52, 0x1c, 0x2b, 0xea, 0x80, + 0x22, 0xf5, 0x2e, 0x49, 0xd5, 0xad, 0x8b, 0x83, 0x2d, 0xd5, 0x0a, 0x05, 0xe4, 0x38, 0x45, 0xe9, + 0x82, 0x6c, 0x73, 0xb5, 0xdd, 0x60, 0x1f, 0xe2, 0x0e, 0x4b, 0x9e, 0xbb, 0x54, 0x4c, 0xfd, 0x02, + 0xa8, 0x43, 0xbf, 0x4c, 0xc6, 0x8c, 0x55, 0x87, 0xa8, 0x82, 0x2f, 0x52, 0x61, 0x13, 0x4a, 0x93, + 0x74, 0xbb, 0xff, 0xfb, 0xff, 0xde, 0xbb, 0xbf, 0xee, 0x1e, 0x78, 0x19, 0x25, 0x9f, 0x89, 0xcf, + 0xa3, 0x94, 0xe0, 0x11, 0x09, 0x82, 0x0c, 0xa7, 0x27, 0xd8, 0xe5, 0x9c, 0x30, 0xee, 0xf2, 0x88, + 0x26, 0x68, 0x34, 0xa6, 0x9c, 0x42, 0xb8, 0xa6, 0x50, 0x4e, 0xa1, 0xf4, 0x44, 0xa9, 0x07, 0x34, + 0xa0, 0xb9, 0x8d, 0x97, 0xa7, 0x82, 0x54, 0xf6, 0x02, 0x4a, 0x83, 0x21, 0xc1, 0xb9, 0xf2, 0x26, + 0x9f, 0xb0, 0x9b, 0x64, 0x85, 0x75, 0xf8, 0x45, 0x04, 0x3b, 0xfa, 0xdf, 0xd1, 0x50, 0x01, 0xdb, + 0xd4, 0x63, 0x64, 0x9c, 0x92, 0x81, 0x2c, 0x6a, 0x62, 0x63, 0xdb, 0x5e, 0x6b, 0x58, 0x07, 0x5b, + 0x29, 0xe5, 0x84, 0xc9, 0x25, 0xad, 0xdc, 0xa8, 0xd9, 0x85, 0x80, 0xbb, 0xa0, 0x1a, 0x92, 0x28, + 0x08, 0xb9, 0x5c, 0xd6, 0xc4, 0x46, 0xc5, 0x5e, 0x29, 0x78, 0x04, 0xb6, 0xfc, 0xa1, 0x1b, 0xc5, + 0x72, 0x45, 0x13, 0x1b, 0x3b, 0xa7, 0x75, 0x54, 0x84, 0x40, 0xf7, 0x21, 0x90, 0x9e, 0x64, 0x76, + 0x81, 0x1c, 0xf6, 0x01, 0x30, 0xed, 0xe6, 0xe9, 0xb1, 0x43, 0xaf, 0x49, 0x9e, 0xc1, 0xa7, 0x09, + 0x1f, 0xbb, 0x3e, 0xcf, 0x33, 0xd4, 0xec, 0xb5, 0x86, 0x6f, 0x40, 0xd5, 0x8d, 0xe9, 0x24, 0xe1, + 0x72, 0x69, 0xe9, 0x9c, 0xed, 0xdf, 0xdc, 0x1d, 0x08, 0xbf, 0xee, 0x0e, 0x9e, 0xfb, 0x94, 0xc5, + 0x94, 0xb1, 0xc1, 0x35, 0x8a, 0x28, 0x8e, 0x5d, 0x1e, 0x22, 0x2b, 0xe1, 0xf6, 0x0a, 0x3e, 0xfa, + 0x5e, 0x02, 0xb5, 0xe6, 0xf2, 0x2a, 0x27, 0x1b, 0x11, 0x88, 0x00, 0x6c, 0xb6, 0x74, 0xeb, 0x7d, + 0xdf, 0xb9, 0xea, 0x9a, 0xfd, 0xcb, 0xf6, 0x79, 0xbb, 0xd3, 0x6b, 0x4b, 0x82, 0xb2, 0x3b, 0x9d, + 0x69, 0x4f, 0x38, 0x0f, 0x78, 0xc3, 0xec, 0x76, 0x2e, 0x2c, 0x47, 0x12, 0x1f, 0xf1, 0x2b, 0x07, + 0x1e, 0x83, 0x67, 0x1b, 0xd5, 0x9e, 0xe5, 0xbc, 0x33, 0x6c, 0xbd, 0x27, 0x95, 0x94, 0x17, 0xd3, + 0x99, 0xf6, 0x94, 0x05, 0xdf, 0x82, 0xbd, 0x8d, 0x72, 0xfe, 0x16, 0xcb, 0x69, 0xad, 0xce, 0x95, + 0x69, 0x48, 0x65, 0x65, 0x7f, 0x3a, 0xd3, 0xfe, 0x0f, 0x3c, 0xe8, 0xfe, 0xa0, 0xb7, 0x2e, 0x4c, + 0xa7, 0x7f, 0xd9, 0x35, 0x74, 0xc7, 0x34, 0xa4, 0xca, 0xa3, 0xee, 0x7f, 0x01, 0xa5, 0xf2, 0xf5, + 0x87, 0x2a, 0x9c, 0x91, 0x9b, 0xb9, 0x2a, 0xde, 0xce, 0x55, 0xf1, 0xf7, 0x5c, 0x15, 0xbf, 0x2d, + 0x54, 0xe1, 0x76, 0xa1, 0x0a, 0x3f, 0x17, 0xaa, 0xf0, 0xf1, 0x3c, 0x88, 0x78, 0x38, 0xf1, 0x90, + 0x4f, 0x63, 0x6c, 0xdd, 0xaf, 0x5c, 0xcb, 0xf5, 0x18, 0x5e, 0x2f, 0xe0, 0x2b, 0x9f, 0x8e, 0xc9, + 0xa6, 0x0c, 0xdd, 0x28, 0xc1, 0x31, 0x1d, 0x4c, 0x86, 0x84, 0xad, 0x76, 0x98, 0x67, 0x23, 0xc2, + 0xbc, 0x6a, 0xfe, 0xfd, 0xaf, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x7f, 0x9f, 0x86, 0x0b, 0xe3, + 0x02, 0x00, 0x00, } func (m *Attestation) Marshal() (dAtA []byte, err error) { diff --git a/chain/peggy/types/codec.go b/chain/peggy/types/codec.go index 172e34ed..bead1936 100644 --- a/chain/peggy/types/codec.go +++ b/chain/peggy/types/codec.go @@ -7,9 +7,6 @@ import ( "github.com/cosmos/cosmos-sdk/types/msgservice" 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 @@ -17,10 +14,10 @@ var ModuleCdc = codec.NewLegacyAmino() func init() { RegisterLegacyAminoCodec(ModuleCdc) - RegisterLegacyAminoCodec(authzcdc.Amino) - RegisterLegacyAminoCodec(govcdc.Amino) - RegisterLegacyAminoCodec(groupcdc.Amino) + // TODO: check + // RegisterLegacyAminoCodec(govcdc.Amino) + // RegisterLegacyAminoCodec(groupcdc.Amino) } // RegisterInterfaces registers the interfaces for the proto stuff @@ -38,11 +35,8 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { &MsgCancelSendToEth{}, &MsgSubmitBadSignatureEvidence{}, &MsgUpdateParams{}, - ) - - registry.RegisterImplementations((*govtypes.Content)(nil), - &BlacklistEthereumAddressesProposal{}, - &RevokeEthereumBlacklistProposal{}, + &MsgBlacklistEthereumAddresses{}, + &MsgRevokeEthereumBlacklist{}, ) registry.RegisterInterface( @@ -77,7 +71,7 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { 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) + cdc.RegisterConcrete(&MsgBlacklistEthereumAddresses{}, "peggy/MsgBlacklistEthereumAddresses", nil) + cdc.RegisterConcrete(&MsgRevokeEthereumBlacklist{}, "peggy/MsgRevokeEthereumBlacklist", nil) + cdc.RegisterConcrete(&Params{}, "peggy/Params", nil) } diff --git a/chain/peggy/types/ethereum.go b/chain/peggy/types/ethereum.go index 4bba8f3e..6c0651a5 100644 --- a/chain/peggy/types/ethereum.go +++ b/chain/peggy/types/ethereum.go @@ -62,7 +62,7 @@ func ValidateEthAddress(address string) error { // NewERC20Token returns a new instance of an ERC20 func NewERC20Token(amount uint64, contract gethcommon.Address) *ERC20Token { - return &ERC20Token{Amount: sdk.NewIntFromUint64(amount), Contract: contract.Hex()} + return &ERC20Token{Amount: math.NewIntFromUint64(amount), Contract: contract.Hex()} } func NewSDKIntERC20Token(amount math.Int, contract gethcommon.Address) *ERC20Token { diff --git a/chain/peggy/types/events.pb.go b/chain/peggy/types/events.pb.go index 13168705..ac80a720 100644 --- a/chain/peggy/types/events.pb.go +++ b/chain/peggy/types/events.pb.go @@ -4,6 +4,7 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" @@ -297,11 +298,11 @@ func (m *EventOutgoingBatchCanceled) GetNonce() uint64 { } type EventValsetUpdateRequest struct { - ValsetNonce uint64 `protobuf:"varint,1,opt,name=valset_nonce,json=valsetNonce,proto3" json:"valset_nonce,omitempty"` - ValsetHeight uint64 `protobuf:"varint,2,opt,name=valset_height,json=valsetHeight,proto3" json:"valset_height,omitempty"` - ValsetMembers []*BridgeValidator `protobuf:"bytes,3,rep,name=valset_members,json=valsetMembers,proto3" json:"valset_members,omitempty"` - RewardAmount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,4,opt,name=reward_amount,json=rewardAmount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"reward_amount"` - RewardToken string `protobuf:"bytes,5,opt,name=reward_token,json=rewardToken,proto3" json:"reward_token,omitempty"` + ValsetNonce uint64 `protobuf:"varint,1,opt,name=valset_nonce,json=valsetNonce,proto3" json:"valset_nonce,omitempty"` + ValsetHeight uint64 `protobuf:"varint,2,opt,name=valset_height,json=valsetHeight,proto3" json:"valset_height,omitempty"` + ValsetMembers []*BridgeValidator `protobuf:"bytes,3,rep,name=valset_members,json=valsetMembers,proto3" json:"valset_members,omitempty"` + RewardAmount cosmossdk_io_math.Int `protobuf:"bytes,4,opt,name=reward_amount,json=rewardAmount,proto3,customtype=cosmossdk.io/math.Int" json:"reward_amount"` + RewardToken string `protobuf:"bytes,5,opt,name=reward_token,json=rewardToken,proto3" json:"reward_token,omitempty"` } func (m *EventValsetUpdateRequest) Reset() { *m = EventValsetUpdateRequest{} } @@ -652,15 +653,15 @@ func (m *EventAttestationVote) GetVoter() string { } type EventDepositClaim struct { - EventNonce uint64 `protobuf:"varint,1,opt,name=event_nonce,json=eventNonce,proto3" json:"event_nonce,omitempty"` - EventHeight uint64 `protobuf:"varint,2,opt,name=event_height,json=eventHeight,proto3" json:"event_height,omitempty"` - AttestationId []byte `protobuf:"bytes,3,opt,name=attestation_id,json=attestationId,proto3" json:"attestation_id,omitempty"` - EthereumSender string `protobuf:"bytes,4,opt,name=ethereum_sender,json=ethereumSender,proto3" json:"ethereum_sender,omitempty"` - CosmosReceiver string `protobuf:"bytes,5,opt,name=cosmos_receiver,json=cosmosReceiver,proto3" json:"cosmos_receiver,omitempty"` - TokenContract string `protobuf:"bytes,6,opt,name=token_contract,json=tokenContract,proto3" json:"token_contract,omitempty"` - Amount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,7,opt,name=amount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"amount"` - OrchestratorAddress string `protobuf:"bytes,8,opt,name=orchestrator_address,json=orchestratorAddress,proto3" json:"orchestrator_address,omitempty"` - Data string `protobuf:"bytes,9,opt,name=data,proto3" json:"data,omitempty"` + EventNonce uint64 `protobuf:"varint,1,opt,name=event_nonce,json=eventNonce,proto3" json:"event_nonce,omitempty"` + EventHeight uint64 `protobuf:"varint,2,opt,name=event_height,json=eventHeight,proto3" json:"event_height,omitempty"` + AttestationId []byte `protobuf:"bytes,3,opt,name=attestation_id,json=attestationId,proto3" json:"attestation_id,omitempty"` + EthereumSender string `protobuf:"bytes,4,opt,name=ethereum_sender,json=ethereumSender,proto3" json:"ethereum_sender,omitempty"` + CosmosReceiver string `protobuf:"bytes,5,opt,name=cosmos_receiver,json=cosmosReceiver,proto3" json:"cosmos_receiver,omitempty"` + TokenContract string `protobuf:"bytes,6,opt,name=token_contract,json=tokenContract,proto3" json:"token_contract,omitempty"` + Amount cosmossdk_io_math.Int `protobuf:"bytes,7,opt,name=amount,proto3,customtype=cosmossdk.io/math.Int" json:"amount"` + OrchestratorAddress string `protobuf:"bytes,8,opt,name=orchestrator_address,json=orchestratorAddress,proto3" json:"orchestrator_address,omitempty"` + Data string `protobuf:"bytes,9,opt,name=data,proto3" json:"data,omitempty"` } func (m *EventDepositClaim) Reset() { *m = EventDepositClaim{} } @@ -945,14 +946,14 @@ func (m *EventERC20DeployedClaim) GetOrchestratorAddress() string { } type EventValsetUpdateClaim struct { - EventNonce uint64 `protobuf:"varint,1,opt,name=event_nonce,json=eventNonce,proto3" json:"event_nonce,omitempty"` - EventHeight uint64 `protobuf:"varint,2,opt,name=event_height,json=eventHeight,proto3" json:"event_height,omitempty"` - AttestationId []byte `protobuf:"bytes,3,opt,name=attestation_id,json=attestationId,proto3" json:"attestation_id,omitempty"` - ValsetNonce uint64 `protobuf:"varint,4,opt,name=valset_nonce,json=valsetNonce,proto3" json:"valset_nonce,omitempty"` - ValsetMembers []*BridgeValidator `protobuf:"bytes,5,rep,name=valset_members,json=valsetMembers,proto3" json:"valset_members,omitempty"` - RewardAmount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,6,opt,name=reward_amount,json=rewardAmount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"reward_amount"` - RewardToken string `protobuf:"bytes,7,opt,name=reward_token,json=rewardToken,proto3" json:"reward_token,omitempty"` - OrchestratorAddress string `protobuf:"bytes,8,opt,name=orchestrator_address,json=orchestratorAddress,proto3" json:"orchestrator_address,omitempty"` + EventNonce uint64 `protobuf:"varint,1,opt,name=event_nonce,json=eventNonce,proto3" json:"event_nonce,omitempty"` + EventHeight uint64 `protobuf:"varint,2,opt,name=event_height,json=eventHeight,proto3" json:"event_height,omitempty"` + AttestationId []byte `protobuf:"bytes,3,opt,name=attestation_id,json=attestationId,proto3" json:"attestation_id,omitempty"` + ValsetNonce uint64 `protobuf:"varint,4,opt,name=valset_nonce,json=valsetNonce,proto3" json:"valset_nonce,omitempty"` + ValsetMembers []*BridgeValidator `protobuf:"bytes,5,rep,name=valset_members,json=valsetMembers,proto3" json:"valset_members,omitempty"` + RewardAmount cosmossdk_io_math.Int `protobuf:"bytes,6,opt,name=reward_amount,json=rewardAmount,proto3,customtype=cosmossdk.io/math.Int" json:"reward_amount"` + RewardToken string `protobuf:"bytes,7,opt,name=reward_token,json=rewardToken,proto3" json:"reward_token,omitempty"` + OrchestratorAddress string `protobuf:"bytes,8,opt,name=orchestrator_address,json=orchestratorAddress,proto3" json:"orchestrator_address,omitempty"` } func (m *EventValsetUpdateClaim) Reset() { *m = EventValsetUpdateClaim{} } @@ -1232,86 +1233,87 @@ func init() { func init() { proto.RegisterFile("injective/peggy/v1/events.proto", fileDescriptor_95f217691d2f42c2) } var fileDescriptor_95f217691d2f42c2 = []byte{ - // 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, + // 1265 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xcf, 0x6f, 0x1b, 0xc5, + 0x17, 0xcf, 0xda, 0x4e, 0x52, 0x4f, 0x1c, 0x3b, 0x9d, 0xe6, 0xdb, 0xaf, 0x1b, 0x54, 0xc7, 0xdd, + 0xb6, 0x24, 0x80, 0x6a, 0xb7, 0x45, 0x1c, 0x90, 0xb8, 0xd4, 0xae, 0xa1, 0xe1, 0x47, 0x2b, 0x6d, + 0x42, 0x91, 0xb8, 0x58, 0xb3, 0x3b, 0xaf, 0xde, 0x69, 0xbc, 0x33, 0x66, 0x67, 0xec, 0x36, 0x67, + 0x2e, 0x1c, 0x38, 0x70, 0xe1, 0xca, 0xff, 0xc0, 0x81, 0x3f, 0x01, 0xa9, 0xdc, 0x7a, 0x44, 0x1c, + 0x2a, 0xd4, 0xfe, 0x07, 0x48, 0x5c, 0x38, 0xa1, 0x9d, 0x99, 0xdd, 0x38, 0x59, 0x5b, 0xa4, 0x01, + 0xca, 0xc9, 0x3b, 0x6f, 0xde, 0x7b, 0xf3, 0xe6, 0xf3, 0x3e, 0xf3, 0xde, 0x33, 0xda, 0x64, 0xfc, + 0x21, 0x04, 0x8a, 0x4d, 0xa0, 0x3d, 0x82, 0xc1, 0xe0, 0xa0, 0x3d, 0xb9, 0xd1, 0x86, 0x09, 0x70, + 0x25, 0x5b, 0xa3, 0x58, 0x28, 0x81, 0x71, 0xa6, 0xd0, 0xd2, 0x0a, 0xad, 0xc9, 0x8d, 0x8d, 0xf5, + 0x81, 0x18, 0x08, 0xbd, 0xdd, 0x4e, 0xbe, 0x8c, 0xe6, 0xc6, 0x95, 0x19, 0xae, 0x88, 0x52, 0x20, + 0x15, 0x51, 0x4c, 0x70, 0xab, 0xd5, 0x98, 0xa1, 0xa5, 0x0e, 0x46, 0x60, 0xcf, 0x73, 0x7f, 0x73, + 0x50, 0xbd, 0x97, 0x04, 0x70, 0xeb, 0xd0, 0xf4, 0x9e, 0x2f, 0x21, 0x9e, 0x00, 0xc5, 0x77, 0xd0, + 0xda, 0x94, 0xc7, 0x7e, 0x62, 0x57, 0x77, 0x9a, 0xce, 0x76, 0xf5, 0xe6, 0xc5, 0x56, 0x3e, 0xce, + 0x56, 0x77, 0x48, 0x58, 0xb4, 0x77, 0x30, 0x02, 0xaf, 0x36, 0x65, 0x96, 0x08, 0xf0, 0x16, 0xaa, + 0xf9, 0x31, 0xa3, 0x03, 0xe8, 0x07, 0x82, 0xab, 0x98, 0x04, 0xaa, 0x5e, 0x68, 0x3a, 0xdb, 0x65, + 0xaf, 0x6a, 0xc4, 0x5d, 0x2b, 0xc5, 0xaf, 0x1f, 0x2a, 0x86, 0x84, 0xf1, 0x3e, 0xa3, 0xf5, 0x62, + 0xd3, 0xd9, 0x2e, 0x79, 0xab, 0x56, 0x31, 0x91, 0xee, 0x50, 0x7c, 0x15, 0x55, 0xa7, 0x43, 0x63, + 0xb4, 0x5e, 0x6a, 0x3a, 0xdb, 0x15, 0x6f, 0x75, 0x4a, 0xba, 0x43, 0xf1, 0x3a, 0x5a, 0xe4, 0x82, + 0x07, 0x50, 0x5f, 0xd4, 0x4e, 0xcc, 0xc2, 0xe5, 0xe8, 0x35, 0x7d, 0xe7, 0x8e, 0x76, 0xf9, 0x19, + 0x53, 0x21, 0x8d, 0xc9, 0xa3, 0x2e, 0xe1, 0x01, 0x0c, 0x81, 0xce, 0x0a, 0xd6, 0x39, 0x69, 0xb0, + 0x85, 0x19, 0xc1, 0xba, 0x3f, 0x3a, 0x08, 0xeb, 0x03, 0xef, 0x8d, 0xd5, 0x40, 0x30, 0x3e, 0xe8, + 0x10, 0x15, 0x84, 0x49, 0x70, 0x14, 0xb8, 0x88, 0xac, 0x77, 0xb3, 0xc0, 0x37, 0xd0, 0xba, 0x88, + 0x83, 0x10, 0xa4, 0x8a, 0x89, 0x12, 0x71, 0x9f, 0x50, 0x1a, 0x83, 0x94, 0x16, 0xaf, 0x73, 0xd3, + 0x7b, 0xb7, 0xcc, 0x16, 0xde, 0x44, 0x2b, 0x7e, 0xe2, 0xb1, 0x6f, 0xee, 0x6a, 0x00, 0x43, 0x5a, + 0x74, 0x37, 0x91, 0xe0, 0xcb, 0x68, 0xd5, 0x28, 0x28, 0x16, 0x81, 0x18, 0x2b, 0x0d, 0x56, 0xc9, + 0xab, 0x68, 0xe1, 0x9e, 0x91, 0xe1, 0x26, 0xaa, 0x58, 0xa5, 0xc7, 0x7d, 0x46, 0x65, 0x7d, 0xb1, + 0x59, 0xcc, 0xdc, 0xec, 0x3d, 0xde, 0xa1, 0xd2, 0xfd, 0xce, 0x41, 0x1b, 0xf9, 0x7b, 0xfc, 0x6b, + 0xb8, 0xe1, 0x0b, 0xe8, 0x8c, 0x89, 0x28, 0x63, 0xc1, 0xb2, 0x5e, 0x4f, 0x27, 0xb6, 0x34, 0x9d, + 0xd8, 0x6f, 0x0b, 0x96, 0xcd, 0xf7, 0xc9, 0x50, 0x82, 0xfa, 0x74, 0x44, 0x89, 0x02, 0x0f, 0xbe, + 0x18, 0x83, 0x54, 0xf8, 0x12, 0xaa, 0x4c, 0xb4, 0xd8, 0xc2, 0xe4, 0x68, 0xcb, 0x15, 0x23, 0xcb, + 0x70, 0xb2, 0x2a, 0x21, 0xb0, 0x41, 0xa8, 0x6c, 0x58, 0xd6, 0xee, 0x8e, 0x96, 0xe1, 0x0f, 0x51, + 0xd5, 0x2a, 0x45, 0x10, 0xf9, 0x10, 0xcb, 0x7a, 0xb1, 0x59, 0xdc, 0x5e, 0xb9, 0x79, 0x79, 0xd6, + 0x9b, 0x30, 0x14, 0xbb, 0x4f, 0x86, 0x8c, 0x26, 0x19, 0xf3, 0xac, 0xff, 0x4f, 0x8c, 0x25, 0xee, + 0xa0, 0xd5, 0x18, 0x1e, 0x91, 0x98, 0xf6, 0x49, 0x24, 0xc6, 0xdc, 0x24, 0xa6, 0xdc, 0xb9, 0xf8, + 0xe4, 0xd9, 0xe6, 0xc2, 0x2f, 0xcf, 0x36, 0xff, 0x17, 0x08, 0x19, 0x09, 0x29, 0xe9, 0x7e, 0x8b, + 0x89, 0x76, 0x44, 0x54, 0xd8, 0xda, 0xe1, 0xca, 0xab, 0x18, 0x9b, 0x5b, 0xda, 0x24, 0xb9, 0x97, + 0xf5, 0xa1, 0xc4, 0x3e, 0x70, 0x4d, 0xf5, 0xb2, 0xb7, 0x62, 0x64, 0x7b, 0x89, 0xc8, 0xfd, 0xde, + 0x41, 0x17, 0x35, 0x2e, 0xbb, 0xa0, 0xee, 0xe5, 0x09, 0x04, 0x12, 0xbf, 0x85, 0xce, 0x4e, 0xd2, + 0x20, 0x33, 0xca, 0x99, 0xec, 0xad, 0x65, 0x1b, 0x29, 0xdf, 0x4e, 0x41, 0xd1, 0xeb, 0x68, 0x5d, + 0x8c, 0xc0, 0xa8, 0x83, 0x0a, 0x33, 0x93, 0xa2, 0x36, 0xc1, 0xe9, 0x5e, 0x4f, 0x85, 0xd6, 0xc2, + 0x7d, 0x68, 0xdf, 0x8c, 0x49, 0x65, 0x57, 0xf0, 0x07, 0x2c, 0x8e, 0x4e, 0x92, 0xc4, 0x97, 0x8f, + 0xce, 0xfd, 0xb2, 0x80, 0xaa, 0x16, 0x1f, 0x4e, 0xf7, 0x44, 0x4f, 0x85, 0xf8, 0x0a, 0xaa, 0x0a, + 0xcb, 0x72, 0xf3, 0x20, 0xec, 0x51, 0x95, 0x54, 0x9a, 0x3c, 0x09, 0x7c, 0x1e, 0x2d, 0x49, 0xe0, + 0x14, 0x62, 0xeb, 0xdd, 0xae, 0xf0, 0x06, 0x3a, 0x13, 0x43, 0x00, 0x6c, 0x02, 0xb1, 0xbd, 0x62, + 0xb6, 0xc6, 0x1f, 0xa0, 0xa5, 0x23, 0xc9, 0x6e, 0xdb, 0x64, 0x6f, 0x0d, 0x98, 0x0a, 0xc7, 0x7e, + 0x2b, 0x10, 0x51, 0xdb, 0xe4, 0xdd, 0xfe, 0x5c, 0x93, 0x74, 0xdf, 0x16, 0xed, 0xae, 0x60, 0xdc, + 0xb3, 0xe6, 0xf8, 0x2e, 0x42, 0xf6, 0x19, 0x3d, 0x00, 0x53, 0xe1, 0x4e, 0xe1, 0xac, 0x6c, 0x5c, + 0xbc, 0x0f, 0xe0, 0x0e, 0xd0, 0x59, 0x0d, 0x82, 0xc5, 0xda, 0x14, 0xa9, 0x63, 0xb5, 0xc5, 0xc9, + 0xd5, 0x96, 0x53, 0xc0, 0xad, 0xd0, 0xfa, 0xf1, 0x9e, 0x73, 0x5f, 0x28, 0x48, 0xce, 0xd2, 0xcd, + 0xf0, 0xe8, 0x59, 0x5a, 0x64, 0xce, 0xca, 0x57, 0xfd, 0xc2, 0x9c, 0xaa, 0x3f, 0x11, 0x2a, 0x83, + 0xde, 0x2c, 0xdc, 0xdf, 0x0b, 0xf6, 0x7e, 0xb7, 0x61, 0x24, 0x24, 0x53, 0xba, 0x5d, 0xfd, 0xf5, + 0x99, 0x97, 0x50, 0xc5, 0x28, 0x1c, 0x29, 0x09, 0xc6, 0xc8, 0x56, 0x84, 0x7c, 0x58, 0xc5, 0x59, + 0x61, 0x6d, 0xa1, 0x1a, 0xa8, 0x10, 0x62, 0x18, 0x47, 0x7d, 0xcb, 0x9a, 0x92, 0xa9, 0x8f, 0xa9, + 0x78, 0xd7, 0xb0, 0x67, 0x0b, 0xd5, 0x4c, 0xb2, 0xfa, 0x19, 0x89, 0xcc, 0xa3, 0xae, 0x1a, 0xb1, + 0x97, 0x52, 0xe9, 0x2a, 0xaa, 0xea, 0x37, 0x7f, 0x58, 0x70, 0x97, 0xb4, 0xde, 0xaa, 0x96, 0x66, + 0xf5, 0xf6, 0x9d, 0x8c, 0x71, 0xcb, 0x27, 0x29, 0x2f, 0x29, 0xbf, 0xe6, 0x65, 0xf6, 0xcc, 0xfc, + 0x67, 0x8e, 0x51, 0x89, 0x12, 0x45, 0xea, 0x65, 0xad, 0xa2, 0xbf, 0xdd, 0x3f, 0xd2, 0xee, 0x97, + 0x35, 0xda, 0x57, 0x0d, 0xfc, 0x31, 0x0e, 0x97, 0x72, 0x1c, 0xce, 0xe3, 0xb8, 0x38, 0x0b, 0xc7, + 0x79, 0x80, 0x2c, 0xcd, 0xa7, 0xfa, 0x4f, 0x05, 0xf4, 0x7f, 0x7d, 0xf9, 0x9e, 0xd7, 0xbd, 0x79, + 0xfd, 0x36, 0x8c, 0x86, 0xe2, 0x00, 0xe8, 0x2b, 0x47, 0xe0, 0x12, 0xaa, 0x58, 0x46, 0x99, 0x89, + 0xc3, 0xf0, 0x6e, 0xc5, 0xc8, 0x6e, 0xeb, 0xb9, 0xe3, 0x84, 0x18, 0x60, 0x54, 0xe2, 0x24, 0x02, + 0x7b, 0x67, 0xfd, 0xad, 0xab, 0xe0, 0x41, 0xe4, 0x8b, 0xa1, 0xe1, 0x97, 0x67, 0x57, 0x49, 0x15, + 0xa4, 0x10, 0xb0, 0x88, 0x0c, 0x0d, 0x69, 0x4a, 0x5e, 0xb6, 0x9e, 0x8b, 0x65, 0x79, 0x3e, 0x96, + 0x5f, 0x17, 0xd1, 0xf9, 0x5c, 0x77, 0xff, 0x2f, 0xa0, 0x3c, 0xd2, 0x81, 0x4a, 0xf9, 0x0e, 0x94, + 0x9f, 0x10, 0x16, 0xff, 0xb9, 0x09, 0x61, 0xe9, 0xef, 0x4f, 0x08, 0xcb, 0xb9, 0x09, 0xe1, 0x14, + 0x6f, 0xdd, 0x7d, 0xcf, 0x56, 0x71, 0x33, 0xff, 0xbd, 0x64, 0xe7, 0x74, 0xbf, 0x72, 0xd0, 0xa6, + 0x69, 0xb9, 0x63, 0x3f, 0x62, 0xaa, 0x43, 0xe8, 0x2e, 0x1b, 0x70, 0xa2, 0xc6, 0x31, 0xf4, 0x26, + 0x8c, 0x42, 0x82, 0xe3, 0x9b, 0xe8, 0xac, 0x4f, 0xa8, 0x9e, 0x17, 0x64, 0xba, 0x69, 0x87, 0x92, + 0x9a, 0x4f, 0x68, 0x4f, 0x85, 0x99, 0x0d, 0x7e, 0x17, 0x5d, 0xc8, 0xe9, 0xf6, 0xe5, 0xd8, 0x4f, + 0xf0, 0xb6, 0xbd, 0xe8, 0xfc, 0x31, 0x9b, 0x5d, 0xb3, 0xeb, 0xfe, 0xe0, 0xa0, 0x73, 0x29, 0xaf, + 0x4c, 0x12, 0x76, 0x87, 0x44, 0xea, 0xf9, 0x7c, 0x24, 0x1e, 0x41, 0xac, 0x8f, 0x2c, 0x7a, 0x66, + 0x91, 0x90, 0x3d, 0x06, 0x22, 0x05, 0x4f, 0x5b, 0xbe, 0x59, 0x25, 0x13, 0x54, 0x20, 0xb8, 0x04, + 0x2e, 0xc7, 0xf2, 0xd8, 0x78, 0xb3, 0x96, 0x6d, 0xa4, 0x75, 0xf2, 0x0d, 0xb4, 0x96, 0x8d, 0x43, + 0xa9, 0xae, 0x79, 0x93, 0xb5, 0x54, 0x9e, 0xaa, 0xd6, 0xd1, 0x72, 0x24, 0x38, 0xdb, 0xcf, 0x9a, + 0x40, 0xba, 0xec, 0xc0, 0x93, 0xe7, 0x0d, 0xe7, 0xe9, 0xf3, 0x86, 0xf3, 0xeb, 0xf3, 0x86, 0xf3, + 0xcd, 0x8b, 0xc6, 0xc2, 0xd3, 0x17, 0x8d, 0x85, 0x9f, 0x5f, 0x34, 0x16, 0x3e, 0xff, 0x68, 0xaa, + 0xfb, 0xef, 0xa4, 0x94, 0xfb, 0x98, 0xf8, 0xb2, 0x9d, 0x11, 0xf0, 0x5a, 0x20, 0x62, 0x98, 0x5e, + 0x26, 0x33, 0x77, 0x3b, 0x12, 0x74, 0x3c, 0x04, 0x69, 0xff, 0x2b, 0xea, 0x31, 0xc1, 0x5f, 0xd2, + 0xff, 0x14, 0xdf, 0xfe, 0x33, 0x00, 0x00, 0xff, 0xff, 0x1e, 0x8d, 0x4c, 0x9e, 0xbc, 0x0e, 0x00, + 0x00, } func (m *EventAttestationObserved) Marshal() (dAtA []byte, err error) { diff --git a/chain/peggy/types/expected_keepers.go b/chain/peggy/types/expected_keepers.go index b4d8bb2d..a76278f5 100644 --- a/chain/peggy/types/expected_keepers.go +++ b/chain/peggy/types/expected_keepers.go @@ -1,9 +1,11 @@ package types import ( + "context" "time" - sdkmath "cosmossdk.io/math" + "cosmossdk.io/math" + storetypes "cosmossdk.io/store/types" sdk "github.com/cosmos/cosmos-sdk/types" bank "github.com/cosmos/cosmos-sdk/x/bank/types" "github.com/cosmos/cosmos-sdk/x/distribution/types" @@ -13,40 +15,40 @@ import ( // StakingKeeper defines the expected staking keeper methods type StakingKeeper interface { - GetBondedValidatorsByPower(ctx sdk.Context) []stakingtypes.Validator - GetLastValidatorPower(ctx sdk.Context, operator sdk.ValAddress) int64 - 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 - GetValidator(ctx sdk.Context, addr sdk.ValAddress) (validator stakingtypes.Validator, found bool) - IterateBondedValidatorsByPower(sdk.Context, func(index int64, validator stakingtypes.ValidatorI) (stop bool)) - 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) sdkmath.Int - Jail(sdk.Context, sdk.ConsAddress) - PowerReduction(ctx sdk.Context) (res sdkmath.Int) + GetBondedValidatorsByPower(ctx context.Context) ([]stakingtypes.Validator, error) + GetLastValidatorPower(ctx context.Context, operator sdk.ValAddress) (int64, error) + GetLastTotalPower(ctx context.Context) (power math.Int, err error) + IterateValidators(context.Context, func(index int64, validator stakingtypes.ValidatorI) (stop bool)) error + ValidatorQueueIterator(ctx context.Context, endTime time.Time, endHeight int64) (storetypes.Iterator, error) + GetParams(ctx context.Context) (stakingtypes.Params, error) + GetValidator(ctx context.Context, addr sdk.ValAddress) (validator stakingtypes.Validator, err error) + IterateBondedValidatorsByPower(context.Context, func(index int64, validator stakingtypes.ValidatorI) (stop bool)) error + IterateLastValidators(context.Context, func(index int64, validator stakingtypes.ValidatorI) (stop bool)) error + Validator(context.Context, sdk.ValAddress) (stakingtypes.ValidatorI, error) + ValidatorByConsAddr(context.Context, sdk.ConsAddress) (stakingtypes.ValidatorI, error) + Slash(context.Context, sdk.ConsAddress, int64, int64, math.LegacyDec) (math.Int, error) + Jail(context.Context, sdk.ConsAddress) error + PowerReduction(ctx context.Context) (res math.Int) } // BankKeeper defines the expected bank keeper methods type BankKeeper interface { - SendCoinsFromModuleToModule(ctx sdk.Context, senderModule, recipientModule string, amt sdk.Coins) error - 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 - MintCoins(ctx sdk.Context, name string, amt sdk.Coins) error - BurnCoins(ctx sdk.Context, name string, amt sdk.Coins) error - GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins - GetDenomMetaData(ctx sdk.Context, denom string) (bank.Metadata, bool) - GetSupply(ctx sdk.Context, denom string) sdk.Coin + SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error + SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error + MintCoins(ctx context.Context, name string, amt sdk.Coins) error + BurnCoins(ctx context.Context, name string, amt sdk.Coins) error + GetAllBalances(ctx context.Context, addr sdk.AccAddress) sdk.Coins + GetDenomMetaData(ctx context.Context, denom string) (bank.Metadata, bool) + GetSupply(ctx context.Context, denom string) sdk.Coin } type SlashingKeeper interface { - GetValidatorSigningInfo(ctx sdk.Context, address sdk.ConsAddress) (info slashingtypes.ValidatorSigningInfo, found bool) + GetValidatorSigningInfo(ctx context.Context, address sdk.ConsAddress) (info slashingtypes.ValidatorSigningInfo, err error) } type DistributionKeeper interface { - FundCommunityPool(ctx sdk.Context, amount sdk.Coins, sender sdk.AccAddress) error - GetFeePool(ctx sdk.Context) (feePool types.FeePool) - SetFeePool(ctx sdk.Context, feePool types.FeePool) + FundCommunityPool(ctx context.Context, amount sdk.Coins, sender sdk.AccAddress) error + GetFeePool(ctx context.Context) (feePool types.FeePool) + SetFeePool(ctx context.Context, feePool types.FeePool) } diff --git a/chain/peggy/types/msgs.go b/chain/peggy/types/msgs.go index e95cdb2f..c1910b4f 100644 --- a/chain/peggy/types/msgs.go +++ b/chain/peggy/types/msgs.go @@ -24,6 +24,8 @@ var ( _ sdk.Msg = &MsgValsetUpdatedClaim{} _ sdk.Msg = &MsgSubmitBadSignatureEvidence{} _ sdk.Msg = &MsgUpdateParams{} + _ sdk.Msg = &MsgBlacklistEthereumAddresses{} + _ sdk.Msg = &MsgRevokeEthereumBlacklist{} ) func (m *MsgUpdateParams) Route() string { return RouterKey } @@ -618,3 +620,61 @@ func (msg MsgSubmitBadSignatureEvidence) Type() string { return "Submit_Bad_Sign // Route should return the name of the module func (msg MsgSubmitBadSignatureEvidence) Route() string { return RouterKey } + +func (m *MsgBlacklistEthereumAddresses) Route() string { return RouterKey } + +func (m *MsgBlacklistEthereumAddresses) Type() string { return "blacklist_ethereum_addresses" } + +func (m *MsgBlacklistEthereumAddresses) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(m.Signer); err != nil { + return errors.Wrap(err, "invalid signer address") + } + + for _, blacklistAddress := range m.BlacklistAddresses { + + _, err := NewEthAddress(blacklistAddress) + if err != nil { + return errors.Wrapf(err, "invalid blacklist address %s", blacklistAddress) + } + } + + return nil +} + +func (m *MsgBlacklistEthereumAddresses) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m *MsgBlacklistEthereumAddresses) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Signer) + return []sdk.AccAddress{addr} +} + +func (m *MsgRevokeEthereumBlacklist) Route() string { return RouterKey } + +func (m *MsgRevokeEthereumBlacklist) Type() string { return "revoke_ethereum_blacklist" } + +func (m *MsgRevokeEthereumBlacklist) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(m.Signer); err != nil { + return errors.Wrap(err, "invalid signer address") + } + + for _, blacklistAddress := range m.BlacklistAddresses { + + _, err := NewEthAddress(blacklistAddress) + if err != nil { + return errors.Wrapf(err, "invalid blacklist address %s", blacklistAddress) + } + } + + return nil +} + +func (m *MsgRevokeEthereumBlacklist) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m *MsgRevokeEthereumBlacklist) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Signer) + return []sdk.AccAddress{addr} +} diff --git a/chain/peggy/types/msgs.pb.go b/chain/peggy/types/msgs.pb.go index 6bf0619c..a19ba087 100644 --- a/chain/peggy/types/msgs.pb.go +++ b/chain/peggy/types/msgs.pb.go @@ -5,12 +5,13 @@ package types import ( context "context" + cosmossdk_io_math "cosmossdk.io/math" 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/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -601,14 +602,14 @@ var xxx_messageInfo_MsgConfirmBatchResponse proto.InternalMessageInfo // issued to the Cosmos address in question // ------------- type MsgDepositClaim struct { - EventNonce uint64 `protobuf:"varint,1,opt,name=event_nonce,json=eventNonce,proto3" json:"event_nonce,omitempty"` - BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` - TokenContract string `protobuf:"bytes,3,opt,name=token_contract,json=tokenContract,proto3" json:"token_contract,omitempty"` - Amount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,4,opt,name=amount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"amount"` - EthereumSender string `protobuf:"bytes,5,opt,name=ethereum_sender,json=ethereumSender,proto3" json:"ethereum_sender,omitempty"` - CosmosReceiver string `protobuf:"bytes,6,opt,name=cosmos_receiver,json=cosmosReceiver,proto3" json:"cosmos_receiver,omitempty"` - Orchestrator string `protobuf:"bytes,7,opt,name=orchestrator,proto3" json:"orchestrator,omitempty"` - Data string `protobuf:"bytes,8,opt,name=data,proto3" json:"data,omitempty"` + EventNonce uint64 `protobuf:"varint,1,opt,name=event_nonce,json=eventNonce,proto3" json:"event_nonce,omitempty"` + BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` + TokenContract string `protobuf:"bytes,3,opt,name=token_contract,json=tokenContract,proto3" json:"token_contract,omitempty"` + Amount cosmossdk_io_math.Int `protobuf:"bytes,4,opt,name=amount,proto3,customtype=cosmossdk.io/math.Int" json:"amount"` + EthereumSender string `protobuf:"bytes,5,opt,name=ethereum_sender,json=ethereumSender,proto3" json:"ethereum_sender,omitempty"` + CosmosReceiver string `protobuf:"bytes,6,opt,name=cosmos_receiver,json=cosmosReceiver,proto3" json:"cosmos_receiver,omitempty"` + Orchestrator string `protobuf:"bytes,7,opt,name=orchestrator,proto3" json:"orchestrator,omitempty"` + Data string `protobuf:"bytes,8,opt,name=data,proto3" json:"data,omitempty"` } func (m *MsgDepositClaim) Reset() { *m = MsgDepositClaim{} } @@ -1175,13 +1176,13 @@ var xxx_messageInfo_MsgSubmitBadSignatureEvidenceResponse proto.InternalMessageI // This informs the Cosmos module that a validator // set has been updated. type MsgValsetUpdatedClaim struct { - EventNonce uint64 `protobuf:"varint,1,opt,name=event_nonce,json=eventNonce,proto3" json:"event_nonce,omitempty"` - ValsetNonce uint64 `protobuf:"varint,2,opt,name=valset_nonce,json=valsetNonce,proto3" json:"valset_nonce,omitempty"` - BlockHeight uint64 `protobuf:"varint,3,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` - Members []*BridgeValidator `protobuf:"bytes,4,rep,name=members,proto3" json:"members,omitempty"` - RewardAmount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,5,opt,name=reward_amount,json=rewardAmount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"reward_amount"` - RewardToken string `protobuf:"bytes,6,opt,name=reward_token,json=rewardToken,proto3" json:"reward_token,omitempty"` - Orchestrator string `protobuf:"bytes,7,opt,name=orchestrator,proto3" json:"orchestrator,omitempty"` + EventNonce uint64 `protobuf:"varint,1,opt,name=event_nonce,json=eventNonce,proto3" json:"event_nonce,omitempty"` + ValsetNonce uint64 `protobuf:"varint,2,opt,name=valset_nonce,json=valsetNonce,proto3" json:"valset_nonce,omitempty"` + BlockHeight uint64 `protobuf:"varint,3,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` + Members []*BridgeValidator `protobuf:"bytes,4,rep,name=members,proto3" json:"members,omitempty"` + RewardAmount cosmossdk_io_math.Int `protobuf:"bytes,5,opt,name=reward_amount,json=rewardAmount,proto3,customtype=cosmossdk.io/math.Int" json:"reward_amount"` + RewardToken string `protobuf:"bytes,6,opt,name=reward_token,json=rewardToken,proto3" json:"reward_token,omitempty"` + Orchestrator string `protobuf:"bytes,7,opt,name=orchestrator,proto3" json:"orchestrator,omitempty"` } func (m *MsgValsetUpdatedClaim) Reset() { *m = MsgValsetUpdatedClaim{} } @@ -1387,6 +1388,194 @@ func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo +// MsgBlacklistEthereumAddresses defines the message used to add Ethereum +// addresses to peggy blacklist. +type MsgBlacklistEthereumAddresses struct { + // signer address + Signer string `protobuf:"bytes,1,opt,name=signer,proto3" json:"signer,omitempty"` + // Ethereum addresses to include in the blacklist + BlacklistAddresses []string `protobuf:"bytes,2,rep,name=blacklist_addresses,json=blacklistAddresses,proto3" json:"blacklist_addresses,omitempty"` +} + +func (m *MsgBlacklistEthereumAddresses) Reset() { *m = MsgBlacklistEthereumAddresses{} } +func (m *MsgBlacklistEthereumAddresses) String() string { return proto.CompactTextString(m) } +func (*MsgBlacklistEthereumAddresses) ProtoMessage() {} +func (*MsgBlacklistEthereumAddresses) Descriptor() ([]byte, []int) { + return fileDescriptor_751daa04abed7ef4, []int{24} +} +func (m *MsgBlacklistEthereumAddresses) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgBlacklistEthereumAddresses) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgBlacklistEthereumAddresses.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 *MsgBlacklistEthereumAddresses) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBlacklistEthereumAddresses.Merge(m, src) +} +func (m *MsgBlacklistEthereumAddresses) XXX_Size() int { + return m.Size() +} +func (m *MsgBlacklistEthereumAddresses) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBlacklistEthereumAddresses.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgBlacklistEthereumAddresses proto.InternalMessageInfo + +func (m *MsgBlacklistEthereumAddresses) GetSigner() string { + if m != nil { + return m.Signer + } + return "" +} + +func (m *MsgBlacklistEthereumAddresses) GetBlacklistAddresses() []string { + if m != nil { + return m.BlacklistAddresses + } + return nil +} + +// MsgBlacklistEthereumAddressesResponse defines the +// MsgBlacklistEthereumAddresses response type. +type MsgBlacklistEthereumAddressesResponse struct { +} + +func (m *MsgBlacklistEthereumAddressesResponse) Reset() { *m = MsgBlacklistEthereumAddressesResponse{} } +func (m *MsgBlacklistEthereumAddressesResponse) String() string { return proto.CompactTextString(m) } +func (*MsgBlacklistEthereumAddressesResponse) ProtoMessage() {} +func (*MsgBlacklistEthereumAddressesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_751daa04abed7ef4, []int{25} +} +func (m *MsgBlacklistEthereumAddressesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgBlacklistEthereumAddressesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgBlacklistEthereumAddressesResponse.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 *MsgBlacklistEthereumAddressesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBlacklistEthereumAddressesResponse.Merge(m, src) +} +func (m *MsgBlacklistEthereumAddressesResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgBlacklistEthereumAddressesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBlacklistEthereumAddressesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgBlacklistEthereumAddressesResponse proto.InternalMessageInfo + +// MsgRevokeEthereumBlacklist defines the message used to remove Ethereum +// addresses from peggy blacklist. +type MsgRevokeEthereumBlacklist struct { + // signer address + Signer string `protobuf:"bytes,1,opt,name=signer,proto3" json:"signer,omitempty"` + // Ethereum addresses to include in the blacklist + BlacklistAddresses []string `protobuf:"bytes,2,rep,name=blacklist_addresses,json=blacklistAddresses,proto3" json:"blacklist_addresses,omitempty"` +} + +func (m *MsgRevokeEthereumBlacklist) Reset() { *m = MsgRevokeEthereumBlacklist{} } +func (m *MsgRevokeEthereumBlacklist) String() string { return proto.CompactTextString(m) } +func (*MsgRevokeEthereumBlacklist) ProtoMessage() {} +func (*MsgRevokeEthereumBlacklist) Descriptor() ([]byte, []int) { + return fileDescriptor_751daa04abed7ef4, []int{26} +} +func (m *MsgRevokeEthereumBlacklist) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRevokeEthereumBlacklist) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRevokeEthereumBlacklist.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 *MsgRevokeEthereumBlacklist) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRevokeEthereumBlacklist.Merge(m, src) +} +func (m *MsgRevokeEthereumBlacklist) XXX_Size() int { + return m.Size() +} +func (m *MsgRevokeEthereumBlacklist) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRevokeEthereumBlacklist.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRevokeEthereumBlacklist proto.InternalMessageInfo + +func (m *MsgRevokeEthereumBlacklist) GetSigner() string { + if m != nil { + return m.Signer + } + return "" +} + +func (m *MsgRevokeEthereumBlacklist) GetBlacklistAddresses() []string { + if m != nil { + return m.BlacklistAddresses + } + return nil +} + +// MsgRevokeEthereumBlacklistResponse defines the MsgRevokeEthereumBlacklist +// response type. +type MsgRevokeEthereumBlacklistResponse struct { +} + +func (m *MsgRevokeEthereumBlacklistResponse) Reset() { *m = MsgRevokeEthereumBlacklistResponse{} } +func (m *MsgRevokeEthereumBlacklistResponse) String() string { return proto.CompactTextString(m) } +func (*MsgRevokeEthereumBlacklistResponse) ProtoMessage() {} +func (*MsgRevokeEthereumBlacklistResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_751daa04abed7ef4, []int{27} +} +func (m *MsgRevokeEthereumBlacklistResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRevokeEthereumBlacklistResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRevokeEthereumBlacklistResponse.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 *MsgRevokeEthereumBlacklistResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRevokeEthereumBlacklistResponse.Merge(m, src) +} +func (m *MsgRevokeEthereumBlacklistResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgRevokeEthereumBlacklistResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRevokeEthereumBlacklistResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRevokeEthereumBlacklistResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgSetOrchestratorAddresses)(nil), "injective.peggy.v1.MsgSetOrchestratorAddresses") proto.RegisterType((*MsgSetOrchestratorAddressesResponse)(nil), "injective.peggy.v1.MsgSetOrchestratorAddressesResponse") @@ -1412,109 +1601,127 @@ func init() { proto.RegisterType((*MsgValsetUpdatedClaimResponse)(nil), "injective.peggy.v1.MsgValsetUpdatedClaimResponse") proto.RegisterType((*MsgUpdateParams)(nil), "injective.peggy.v1.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "injective.peggy.v1.MsgUpdateParamsResponse") + proto.RegisterType((*MsgBlacklistEthereumAddresses)(nil), "injective.peggy.v1.MsgBlacklistEthereumAddresses") + proto.RegisterType((*MsgBlacklistEthereumAddressesResponse)(nil), "injective.peggy.v1.MsgBlacklistEthereumAddressesResponse") + proto.RegisterType((*MsgRevokeEthereumBlacklist)(nil), "injective.peggy.v1.MsgRevokeEthereumBlacklist") + proto.RegisterType((*MsgRevokeEthereumBlacklistResponse)(nil), "injective.peggy.v1.MsgRevokeEthereumBlacklistResponse") } func init() { proto.RegisterFile("injective/peggy/v1/msgs.proto", fileDescriptor_751daa04abed7ef4) } var fileDescriptor_751daa04abed7ef4 = []byte{ - // 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, + // 1769 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4d, 0x6c, 0xdc, 0xc6, + 0x15, 0x16, 0xb5, 0xab, 0xbf, 0x59, 0xc9, 0xb2, 0x59, 0xd9, 0x5e, 0xd1, 0xd6, 0x4a, 0xa2, 0x6c, + 0x4b, 0x96, 0x6d, 0x52, 0x2b, 0xb7, 0x76, 0x2d, 0xa0, 0x05, 0xbc, 0x92, 0x8a, 0x1a, 0xad, 0xdc, + 0x62, 0xe5, 0xba, 0x40, 0x2f, 0xec, 0x2c, 0x39, 0x26, 0x59, 0x2d, 0x39, 0x5b, 0xce, 0xec, 0xba, + 0x3a, 0x14, 0x68, 0x7d, 0x74, 0x0f, 0x2d, 0xd0, 0x43, 0x90, 0x43, 0x4e, 0xc9, 0xd5, 0x80, 0x0f, + 0x01, 0x82, 0xf8, 0x9c, 0x00, 0x3e, 0x1a, 0xc9, 0x25, 0x08, 0x02, 0x23, 0xb0, 0x03, 0x18, 0xc8, + 0x29, 0xf7, 0x5c, 0x02, 0xce, 0x0c, 0xb9, 0xe4, 0x2e, 0xb9, 0x5a, 0x01, 0xba, 0x08, 0x3b, 0x6f, + 0xde, 0x9b, 0xf9, 0xde, 0xef, 0x7c, 0x14, 0x58, 0x70, 0xfd, 0xbf, 0x21, 0x93, 0xba, 0x1d, 0xa4, + 0xb7, 0x90, 0x6d, 0x1f, 0xea, 0x9d, 0xaa, 0xee, 0x11, 0x9b, 0x68, 0xad, 0x00, 0x53, 0x2c, 0xcb, + 0xf1, 0xb6, 0xc6, 0xb6, 0xb5, 0x4e, 0x55, 0xa9, 0x98, 0x98, 0x78, 0x98, 0xe8, 0x0d, 0x48, 0x90, + 0xde, 0xa9, 0x36, 0x10, 0x85, 0x55, 0xdd, 0xc4, 0xae, 0xcf, 0x6d, 0x94, 0x39, 0x1b, 0xdb, 0x98, + 0xfd, 0xd4, 0xc3, 0x5f, 0x42, 0x7a, 0xd1, 0xc6, 0xd8, 0x6e, 0x22, 0x1d, 0xb6, 0x5c, 0x1d, 0xfa, + 0x3e, 0xa6, 0x90, 0xba, 0xd8, 0x17, 0xf7, 0x28, 0x95, 0x0c, 0x18, 0xf4, 0xb0, 0x85, 0xa2, 0xfd, + 0xc5, 0x8c, 0xfd, 0x16, 0x0c, 0xa0, 0x17, 0x29, 0xcc, 0x8b, 0xe3, 0xd9, 0xaa, 0xd1, 0x7e, 0xa4, + 0x43, 0xff, 0x50, 0x6c, 0x9d, 0x17, 0x78, 0x3d, 0x62, 0x0b, 0xef, 0x22, 0x1b, 0xbe, 0x61, 0x70, + 0xac, 0x7c, 0x21, 0xb6, 0xce, 0x40, 0xcf, 0xf5, 0xb1, 0xce, 0xfe, 0x72, 0x91, 0xfa, 0x4c, 0x02, + 0x17, 0xf6, 0x88, 0xbd, 0x8f, 0xe8, 0x1f, 0x02, 0xd3, 0x41, 0x84, 0x06, 0x90, 0xe2, 0xe0, 0xae, + 0x65, 0x05, 0x88, 0x10, 0x44, 0xe4, 0x73, 0x60, 0x9c, 0x20, 0xdf, 0x42, 0x41, 0x59, 0x5a, 0x92, + 0xd6, 0xa6, 0xea, 0x62, 0x25, 0xab, 0x60, 0x1a, 0x27, 0x0c, 0xca, 0xa3, 0x6c, 0x37, 0x25, 0x93, + 0x17, 0x41, 0x09, 0x51, 0xc7, 0x80, 0xfc, 0xb0, 0x72, 0x81, 0xa9, 0x00, 0x44, 0x1d, 0x71, 0xfc, + 0x56, 0xf5, 0xc9, 0xbb, 0xe7, 0xeb, 0xe2, 0xc4, 0xa7, 0xef, 0x9e, 0xaf, 0x2f, 0xf3, 0x28, 0x0c, + 0xc0, 0xa3, 0x5e, 0x06, 0x2b, 0x03, 0xb6, 0xeb, 0x88, 0xb4, 0xb0, 0x4f, 0x90, 0xfa, 0xa9, 0x04, + 0x4e, 0xef, 0x11, 0xfb, 0x21, 0x6c, 0x12, 0x44, 0xb7, 0xb1, 0xff, 0xc8, 0x0d, 0x3c, 0x79, 0x0e, + 0x8c, 0xf9, 0xd8, 0x37, 0x11, 0x73, 0xa5, 0x58, 0xe7, 0x8b, 0x13, 0xf1, 0x44, 0xbe, 0x08, 0xa6, + 0x88, 0x6b, 0xfb, 0x90, 0xb6, 0x03, 0x54, 0x2e, 0xb2, 0xed, 0xae, 0x60, 0xeb, 0x7a, 0xe8, 0x67, + 0xea, 0xc4, 0xd0, 0xdb, 0x73, 0xb1, 0xb7, 0x29, 0x98, 0xaa, 0x02, 0xca, 0xbd, 0xb2, 0xd8, 0xaf, + 0xd7, 0x12, 0x98, 0x66, 0xfe, 0xfb, 0xd6, 0x03, 0xbc, 0x4b, 0x9d, 0xdc, 0xfc, 0xcc, 0x83, 0xc9, + 0x10, 0xb1, 0x85, 0x08, 0x15, 0x1e, 0x4d, 0x20, 0xea, 0xec, 0x20, 0x42, 0xe5, 0xdb, 0x60, 0x1c, + 0x7a, 0xb8, 0xed, 0x53, 0xe6, 0x47, 0x69, 0x73, 0x5e, 0x13, 0x45, 0x12, 0x96, 0xbe, 0x26, 0x4a, + 0x5f, 0xdb, 0xc6, 0xae, 0x5f, 0x2b, 0xbe, 0x7c, 0xbd, 0x38, 0x52, 0x17, 0xea, 0xf2, 0xaf, 0x01, + 0x68, 0x04, 0xae, 0x65, 0x23, 0xe3, 0x11, 0xe2, 0x5e, 0x0e, 0x61, 0x3c, 0xc5, 0x4d, 0x7e, 0x83, + 0xd0, 0x96, 0xda, 0x93, 0x6e, 0x39, 0x91, 0x6e, 0xe1, 0x8f, 0x7a, 0x0e, 0xcc, 0x25, 0xd7, 0xb1, + 0xe3, 0xff, 0x00, 0xb3, 0x7b, 0xc4, 0xae, 0xa3, 0xbf, 0xb7, 0x11, 0xa1, 0x35, 0x48, 0x4d, 0xa7, + 0x2f, 0x71, 0x52, 0x46, 0xe2, 0xe6, 0xc0, 0x98, 0x85, 0x7c, 0xec, 0x89, 0x18, 0xf0, 0xc5, 0xd6, + 0xb5, 0xcc, 0x7c, 0x9c, 0x8d, 0xe1, 0x24, 0xaf, 0x51, 0xe7, 0xc1, 0xf9, 0x1e, 0x51, 0x0c, 0xea, + 0x1b, 0x89, 0xa1, 0x12, 0x49, 0xe2, 0xa8, 0xb2, 0x8b, 0xec, 0x32, 0x38, 0x45, 0xf1, 0x01, 0xf2, + 0x0d, 0x13, 0xfb, 0x34, 0x80, 0x66, 0x94, 0x94, 0x19, 0x26, 0xdd, 0x16, 0x42, 0x79, 0x01, 0x84, + 0x45, 0x65, 0x84, 0x95, 0x83, 0x02, 0x51, 0x66, 0x53, 0x88, 0x3a, 0xfb, 0x4c, 0xd0, 0xe7, 0x71, + 0x31, 0xc3, 0xe3, 0x54, 0x25, 0x8e, 0xf5, 0x56, 0xe2, 0x51, 0x9e, 0x27, 0x5d, 0x11, 0x9e, 0x27, + 0x45, 0xb1, 0xe7, 0xdf, 0x8f, 0x32, 0xcf, 0x77, 0x50, 0x0b, 0x13, 0x97, 0x6e, 0x37, 0xa1, 0xeb, + 0xb1, 0x26, 0xe9, 0x20, 0x9f, 0x1a, 0x49, 0xff, 0x01, 0x13, 0xdd, 0x67, 0x41, 0x58, 0x06, 0xd3, + 0x8d, 0x26, 0x36, 0x0f, 0x0c, 0x07, 0xb9, 0xb6, 0xc3, 0x43, 0x50, 0xac, 0x97, 0x98, 0xec, 0xb7, + 0x4c, 0x94, 0x11, 0xa7, 0x42, 0x56, 0x9c, 0x7e, 0x11, 0x97, 0x30, 0x0b, 0x41, 0x6d, 0x21, 0x2c, + 0xb5, 0xaf, 0x5f, 0x2f, 0x9e, 0xe5, 0xc5, 0x48, 0xac, 0x03, 0xcd, 0xc5, 0xba, 0x07, 0xa9, 0xa3, + 0xdd, 0xf3, 0x69, 0x5c, 0xc0, 0xab, 0x60, 0x16, 0x51, 0x07, 0x05, 0xa8, 0xed, 0x19, 0xa2, 0x6b, + 0x78, 0x84, 0x4e, 0x45, 0xe2, 0x7d, 0xde, 0x3d, 0xab, 0x60, 0x56, 0x4c, 0xd1, 0x00, 0x99, 0xc8, + 0xed, 0xa0, 0xa0, 0x3c, 0xce, 0x15, 0xb9, 0xb8, 0x2e, 0xa4, 0x7d, 0x19, 0x99, 0xc8, 0xc8, 0x88, + 0x0c, 0x8a, 0x16, 0xa4, 0xb0, 0x3c, 0xc9, 0xf6, 0xd8, 0xef, 0x23, 0xf3, 0x90, 0x0c, 0xac, 0xc8, + 0x43, 0x52, 0x14, 0xe7, 0xe1, 0x07, 0x3e, 0xe7, 0xfe, 0xec, 0x52, 0xc7, 0x0a, 0xe0, 0xe3, 0x93, + 0x4b, 0xc4, 0x22, 0x28, 0x35, 0xc2, 0x8c, 0x8b, 0x33, 0x0a, 0xfc, 0x0c, 0x26, 0xba, 0x9f, 0x53, + 0xd1, 0xc5, 0xac, 0x4c, 0xf5, 0x06, 0x68, 0xac, 0x3f, 0x40, 0x47, 0x8e, 0xc7, 0x94, 0x77, 0x62, + 0x3c, 0xa6, 0x64, 0x71, 0x38, 0x3e, 0x1b, 0x05, 0x67, 0xf7, 0x88, 0xbd, 0x5b, 0xdf, 0xde, 0xdc, + 0xd8, 0x41, 0xad, 0x26, 0x3e, 0x44, 0xd6, 0xc9, 0xc5, 0x64, 0x19, 0x4c, 0x8b, 0xaa, 0xe0, 0x33, + 0x85, 0x97, 0x66, 0x89, 0xcb, 0x76, 0x42, 0xd1, 0xb0, 0x51, 0x91, 0x41, 0xd1, 0x87, 0x5e, 0xd4, + 0x9f, 0xec, 0x37, 0x9b, 0xe4, 0x87, 0x5e, 0x03, 0x37, 0x45, 0xa9, 0x89, 0x95, 0xac, 0x80, 0x49, + 0x0b, 0x99, 0xae, 0x07, 0x9b, 0x84, 0x95, 0x57, 0xb1, 0x1e, 0xaf, 0xfb, 0xa2, 0x3b, 0x99, 0x11, + 0xdd, 0x6a, 0x66, 0x74, 0x2f, 0xc4, 0xd1, 0xed, 0x0f, 0x96, 0xba, 0x08, 0x16, 0x32, 0x37, 0xe2, + 0x38, 0xff, 0x13, 0xc8, 0xe1, 0x64, 0x80, 0xbe, 0x89, 0x9a, 0xdd, 0xb7, 0x28, 0x74, 0x3e, 0x80, + 0x3e, 0x81, 0x66, 0x48, 0x82, 0x0c, 0xd7, 0x12, 0x61, 0x9e, 0x49, 0x48, 0xef, 0x59, 0x89, 0x27, + 0x6b, 0x34, 0xf9, 0x64, 0x6d, 0xad, 0xf5, 0x3c, 0x0f, 0xe5, 0xee, 0x54, 0x4a, 0x5f, 0xa4, 0x5e, + 0x04, 0x4a, 0xbf, 0x34, 0x06, 0xf7, 0x42, 0x62, 0xf0, 0xf7, 0xdb, 0x0d, 0xcf, 0xa5, 0x35, 0x68, + 0xed, 0x47, 0xd3, 0x6f, 0xb7, 0xe3, 0x5a, 0x28, 0xcc, 0xb5, 0x06, 0x26, 0x48, 0xbb, 0x11, 0x52, + 0x2f, 0x86, 0xb0, 0xb4, 0x39, 0xa7, 0x71, 0xa2, 0xa5, 0x45, 0x44, 0x4b, 0xbb, 0xeb, 0x1f, 0xd6, + 0x23, 0xa5, 0xf4, 0x4c, 0x1d, 0xed, 0x99, 0xa9, 0x09, 0x7f, 0x0a, 0x29, 0x7f, 0x6e, 0xf6, 0xf8, + 0xb3, 0xd2, 0x7d, 0xee, 0x72, 0xa1, 0xa9, 0xab, 0xe0, 0xf2, 0x40, 0x85, 0xd8, 0xcb, 0x1f, 0x79, + 0xa9, 0x73, 0x9a, 0xf0, 0xa7, 0x96, 0x05, 0xe9, 0x71, 0x4a, 0xbd, 0xc3, 0xcc, 0x84, 0x86, 0x28, + 0x75, 0x2e, 0xcb, 0xee, 0x86, 0x42, 0x7f, 0x37, 0xfc, 0x0a, 0x4c, 0x78, 0xc8, 0x6b, 0xa0, 0x80, + 0x94, 0x8b, 0x4b, 0x85, 0xb5, 0xd2, 0xe6, 0x8a, 0xd6, 0x4f, 0xab, 0xb5, 0x1a, 0x7b, 0xfd, 0x1f, + 0xc2, 0xa6, 0x6b, 0x85, 0xa5, 0x57, 0x8f, 0x6c, 0xe4, 0x1a, 0x98, 0x09, 0xd0, 0x63, 0x18, 0x58, + 0x86, 0x98, 0xe4, 0x63, 0xc3, 0x4c, 0xf2, 0x69, 0x6e, 0x73, 0x97, 0xcf, 0xf3, 0x65, 0x20, 0xd6, + 0x06, 0x6b, 0x2f, 0xd1, 0x38, 0x25, 0x2e, 0x7b, 0x10, 0x8a, 0x86, 0x19, 0xd0, 0x47, 0x76, 0x48, + 0x7f, 0x8c, 0x45, 0x87, 0xf4, 0x6f, 0xc4, 0xe9, 0x79, 0xc6, 0xa9, 0x01, 0xdf, 0xfb, 0x23, 0xe3, + 0xf4, 0xf2, 0x2d, 0x30, 0x05, 0xdb, 0xd4, 0xc1, 0x81, 0x4b, 0x0f, 0x39, 0x5b, 0xa9, 0x95, 0xbf, + 0xf8, 0xf8, 0xc6, 0x9c, 0x60, 0x50, 0x82, 0x4b, 0xee, 0xd3, 0xc0, 0xf5, 0xed, 0x7a, 0x57, 0x55, + 0xfe, 0x25, 0x18, 0xe7, 0x5f, 0x05, 0x2c, 0x53, 0xa5, 0x4d, 0x25, 0x2b, 0xd0, 0xfc, 0x8e, 0x88, + 0xb1, 0x71, 0x7d, 0xde, 0x52, 0xdd, 0x93, 0xd2, 0x6f, 0x4c, 0x12, 0x9b, 0x78, 0x63, 0x92, 0xa2, + 0xd8, 0x95, 0x0f, 0x78, 0x3f, 0xd5, 0x9a, 0xd0, 0x3c, 0x68, 0xba, 0x84, 0xee, 0x8a, 0xb7, 0x32, + 0xfd, 0x91, 0xc0, 0x29, 0x4b, 0x44, 0x42, 0x39, 0x5f, 0xd1, 0xc1, 0xcf, 0x1a, 0x91, 0x55, 0x44, + 0x9e, 0x51, 0xe8, 0x45, 0x61, 0x6d, 0xaa, 0x2e, 0xc7, 0x5b, 0xf1, 0x41, 0x51, 0xcb, 0x30, 0xeb, + 0x74, 0xcb, 0xe4, 0xdf, 0x2e, 0x5a, 0x26, 0x5f, 0x21, 0x76, 0xe4, 0x3d, 0x89, 0xcd, 0x8d, 0x3a, + 0xea, 0xe0, 0x03, 0x14, 0xa9, 0xc5, 0x76, 0x27, 0xe7, 0xc5, 0x46, 0x8f, 0x17, 0x4b, 0x09, 0x62, + 0x99, 0x79, 0xb5, 0x7a, 0x09, 0xa8, 0xf9, 0xbb, 0x11, 0xfe, 0xcd, 0x4f, 0x4e, 0x83, 0xc2, 0x1e, + 0xb1, 0xe5, 0xff, 0x4a, 0x60, 0x26, 0xfd, 0x65, 0x73, 0x29, 0xab, 0x22, 0x7a, 0x3f, 0x22, 0x94, + 0xeb, 0xc3, 0x68, 0xc5, 0xd1, 0x5a, 0x7f, 0xf2, 0xe5, 0x77, 0xff, 0x1f, 0xbd, 0xa4, 0xaa, 0x7a, + 0xc6, 0x57, 0xaa, 0x98, 0x1f, 0xa6, 0xb8, 0xff, 0x5f, 0x12, 0x98, 0xea, 0xbe, 0x03, 0x4b, 0x39, + 0xf7, 0xc4, 0x1a, 0xca, 0xda, 0x51, 0x1a, 0x31, 0x8a, 0x55, 0x86, 0x62, 0x59, 0x5d, 0xcc, 0x42, + 0x11, 0xce, 0x56, 0x83, 0x62, 0x03, 0x51, 0x47, 0xfe, 0x8f, 0x04, 0xa6, 0x53, 0x9f, 0x07, 0x2b, + 0x39, 0x77, 0x24, 0x95, 0x94, 0x6b, 0x43, 0x28, 0xc5, 0x58, 0xae, 0x32, 0x2c, 0x2b, 0xea, 0x72, + 0x16, 0x96, 0x80, 0x5b, 0x18, 0x8c, 0x22, 0x31, 0x34, 0xa9, 0xcf, 0x82, 0x3c, 0x34, 0x49, 0xa5, + 0x5c, 0x34, 0x99, 0x14, 0x7c, 0x20, 0x1a, 0x91, 0x98, 0x04, 0x9a, 0x14, 0x55, 0xcf, 0x43, 0x93, + 0x54, 0xca, 0x45, 0x93, 0x49, 0x44, 0x07, 0xa2, 0xb1, 0xb8, 0x85, 0x61, 0xb2, 0xcb, 0xc3, 0xf2, + 0x4d, 0x13, 0xd6, 0xbc, 0xf2, 0x4d, 0x69, 0xe5, 0x96, 0x6f, 0x36, 0x15, 0x1c, 0x58, 0xbe, 0x8f, + 0x85, 0x89, 0x40, 0xf4, 0xa1, 0x04, 0xce, 0x24, 0x67, 0x39, 0x47, 0x75, 0x75, 0x60, 0xbb, 0x24, + 0xa7, 0xbe, 0x52, 0x1d, 0x5a, 0x35, 0xc6, 0xb7, 0xc1, 0xf0, 0xad, 0xab, 0x6b, 0x03, 0xda, 0xab, + 0xcd, 0x0d, 0x05, 0xca, 0x8f, 0x24, 0x20, 0x67, 0x30, 0xdb, 0x3c, 0x98, 0xfd, 0xaa, 0xb9, 0x30, + 0x07, 0x30, 0xbd, 0x81, 0x30, 0x51, 0x60, 0x6e, 0x6e, 0x18, 0x96, 0x30, 0x14, 0x30, 0x5f, 0x48, + 0xa0, 0x9c, 0xfb, 0xef, 0x24, 0x3d, 0xb7, 0xf1, 0xb3, 0x0d, 0x94, 0xdb, 0xc7, 0x34, 0x88, 0x81, + 0xff, 0x9c, 0x01, 0xd7, 0xd4, 0xeb, 0xd9, 0x83, 0x83, 0x1a, 0xc9, 0xf7, 0x3e, 0x1a, 0xeb, 0xf2, + 0xfb, 0x12, 0x98, 0xed, 0xa5, 0xb5, 0x57, 0xf2, 0xba, 0x32, 0xad, 0xa7, 0x68, 0xc3, 0xe9, 0xc5, + 0x08, 0x35, 0x86, 0x70, 0x4d, 0xbd, 0x92, 0xd9, 0xc0, 0xcc, 0xc8, 0x48, 0x4e, 0xb8, 0xcf, 0x25, + 0xa0, 0x0c, 0x20, 0xb5, 0x79, 0xc9, 0xcd, 0x37, 0x51, 0xee, 0x1c, 0xdb, 0x24, 0x06, 0x7f, 0x87, + 0x81, 0xbf, 0xa9, 0x56, 0x33, 0xc3, 0xcb, 0xec, 0x8d, 0x06, 0xb4, 0x8c, 0x98, 0x26, 0x1b, 0x28, + 0x02, 0xfa, 0x57, 0x30, 0x9d, 0xa2, 0x45, 0x79, 0xc3, 0x28, 0xa9, 0x94, 0x3b, 0x8c, 0xb2, 0x18, + 0x8b, 0xfc, 0x54, 0x02, 0xca, 0x00, 0xba, 0x92, 0x17, 0xa9, 0x7c, 0x93, 0xdc, 0x48, 0x1d, 0xcd, + 0x3a, 0xe4, 0x7f, 0x4b, 0xe0, 0x7c, 0x1e, 0xe5, 0xd0, 0x72, 0x9f, 0x9f, 0x4c, 0x7d, 0xe5, 0xd6, + 0xf1, 0xf4, 0x23, 0x0c, 0x35, 0xf4, 0xf2, 0x4d, 0x45, 0x7a, 0xf5, 0xa6, 0x22, 0x7d, 0xfb, 0xa6, + 0x22, 0xfd, 0xef, 0x6d, 0x65, 0xe4, 0xd5, 0xdb, 0xca, 0xc8, 0x57, 0x6f, 0x2b, 0x23, 0x7f, 0xf9, + 0x9d, 0xed, 0x52, 0xa7, 0xdd, 0xd0, 0x4c, 0xec, 0xe9, 0xf7, 0xa2, 0xb3, 0x7f, 0x0f, 0x1b, 0xa4, + 0x9b, 0xd7, 0x1b, 0x26, 0x0e, 0x50, 0x72, 0xe9, 0x40, 0xd7, 0xd7, 0x3d, 0x6c, 0xb5, 0x9b, 0x88, + 0x88, 0xa4, 0xb3, 0xff, 0x6a, 0x37, 0xc6, 0xd9, 0xe7, 0xd3, 0xcd, 0x9f, 0x02, 0x00, 0x00, 0xff, + 0xff, 0x13, 0xd4, 0x22, 0xee, 0x7f, 0x17, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1541,6 +1748,11 @@ type MsgClient interface { 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) + // BlacklistEthereumAddresses adds Ethereum addresses to the peggy blacklist. + BlacklistEthereumAddresses(ctx context.Context, in *MsgBlacklistEthereumAddresses, opts ...grpc.CallOption) (*MsgBlacklistEthereumAddressesResponse, error) + // RevokeEthereumBlacklist removes Ethereum addresses from the peggy + // blacklist. + RevokeEthereumBlacklist(ctx context.Context, in *MsgRevokeEthereumBlacklist, opts ...grpc.CallOption) (*MsgRevokeEthereumBlacklistResponse, error) } type msgClient struct { @@ -1659,6 +1871,24 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts return out, nil } +func (c *msgClient) BlacklistEthereumAddresses(ctx context.Context, in *MsgBlacklistEthereumAddresses, opts ...grpc.CallOption) (*MsgBlacklistEthereumAddressesResponse, error) { + out := new(MsgBlacklistEthereumAddressesResponse) + err := c.cc.Invoke(ctx, "/injective.peggy.v1.Msg/BlacklistEthereumAddresses", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) RevokeEthereumBlacklist(ctx context.Context, in *MsgRevokeEthereumBlacklist, opts ...grpc.CallOption) (*MsgRevokeEthereumBlacklistResponse, error) { + out := new(MsgRevokeEthereumBlacklistResponse) + err := c.cc.Invoke(ctx, "/injective.peggy.v1.Msg/RevokeEthereumBlacklist", 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) @@ -1673,6 +1903,11 @@ type MsgServer interface { CancelSendToEth(context.Context, *MsgCancelSendToEth) (*MsgCancelSendToEthResponse, error) SubmitBadSignatureEvidence(context.Context, *MsgSubmitBadSignatureEvidence) (*MsgSubmitBadSignatureEvidenceResponse, error) UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + // BlacklistEthereumAddresses adds Ethereum addresses to the peggy blacklist. + BlacklistEthereumAddresses(context.Context, *MsgBlacklistEthereumAddresses) (*MsgBlacklistEthereumAddressesResponse, error) + // RevokeEthereumBlacklist removes Ethereum addresses from the peggy + // blacklist. + RevokeEthereumBlacklist(context.Context, *MsgRevokeEthereumBlacklist) (*MsgRevokeEthereumBlacklistResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -1715,6 +1950,12 @@ func (*UnimplementedMsgServer) SubmitBadSignatureEvidence(ctx context.Context, r func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") } +func (*UnimplementedMsgServer) BlacklistEthereumAddresses(ctx context.Context, req *MsgBlacklistEthereumAddresses) (*MsgBlacklistEthereumAddressesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BlacklistEthereumAddresses not implemented") +} +func (*UnimplementedMsgServer) RevokeEthereumBlacklist(ctx context.Context, req *MsgRevokeEthereumBlacklist) (*MsgRevokeEthereumBlacklistResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RevokeEthereumBlacklist not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -1936,6 +2177,42 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +func _Msg_BlacklistEthereumAddresses_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgBlacklistEthereumAddresses) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).BlacklistEthereumAddresses(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.peggy.v1.Msg/BlacklistEthereumAddresses", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).BlacklistEthereumAddresses(ctx, req.(*MsgBlacklistEthereumAddresses)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_RevokeEthereumBlacklist_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRevokeEthereumBlacklist) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).RevokeEthereumBlacklist(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.peggy.v1.Msg/RevokeEthereumBlacklist", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).RevokeEthereumBlacklist(ctx, req.(*MsgRevokeEthereumBlacklist)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "injective.peggy.v1.Msg", HandlerType: (*MsgServer)(nil), @@ -1988,6 +2265,14 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "UpdateParams", Handler: _Msg_UpdateParams_Handler, }, + { + MethodName: "BlacklistEthereumAddresses", + Handler: _Msg_BlacklistEthereumAddresses_Handler, + }, + { + MethodName: "RevokeEthereumBlacklist", + Handler: _Msg_RevokeEthereumBlacklist_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "injective/peggy/v1/msgs.proto", @@ -2915,6 +3200,130 @@ func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *MsgBlacklistEthereumAddresses) 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 *MsgBlacklistEthereumAddresses) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBlacklistEthereumAddresses) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.BlacklistAddresses) > 0 { + for iNdEx := len(m.BlacklistAddresses) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.BlacklistAddresses[iNdEx]) + copy(dAtA[i:], m.BlacklistAddresses[iNdEx]) + i = encodeVarintMsgs(dAtA, i, uint64(len(m.BlacklistAddresses[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + if len(m.Signer) > 0 { + i -= len(m.Signer) + copy(dAtA[i:], m.Signer) + i = encodeVarintMsgs(dAtA, i, uint64(len(m.Signer))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgBlacklistEthereumAddressesResponse) 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 *MsgBlacklistEthereumAddressesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBlacklistEthereumAddressesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgRevokeEthereumBlacklist) 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 *MsgRevokeEthereumBlacklist) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRevokeEthereumBlacklist) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.BlacklistAddresses) > 0 { + for iNdEx := len(m.BlacklistAddresses) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.BlacklistAddresses[iNdEx]) + copy(dAtA[i:], m.BlacklistAddresses[iNdEx]) + i = encodeVarintMsgs(dAtA, i, uint64(len(m.BlacklistAddresses[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + if len(m.Signer) > 0 { + i -= len(m.Signer) + copy(dAtA[i:], m.Signer) + i = encodeVarintMsgs(dAtA, i, uint64(len(m.Signer))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgRevokeEthereumBlacklistResponse) 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 *MsgRevokeEthereumBlacklistResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRevokeEthereumBlacklistResponse) 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 @@ -3332,11 +3741,67 @@ func (m *MsgUpdateParamsResponse) Size() (n int) { return n } -func sovMsgs(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 +func (m *MsgBlacklistEthereumAddresses) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Signer) + if l > 0 { + n += 1 + l + sovMsgs(uint64(l)) + } + if len(m.BlacklistAddresses) > 0 { + for _, s := range m.BlacklistAddresses { + l = len(s) + n += 1 + l + sovMsgs(uint64(l)) + } + } + return n } -func sozMsgs(x uint64) (n int) { - return sovMsgs(uint64((x << 1) ^ uint64((int64(x) >> 63)))) + +func (m *MsgBlacklistEthereumAddressesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgRevokeEthereumBlacklist) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Signer) + if l > 0 { + n += 1 + l + sovMsgs(uint64(l)) + } + if len(m.BlacklistAddresses) > 0 { + for _, s := range m.BlacklistAddresses { + l = len(s) + n += 1 + l + sovMsgs(uint64(l)) + } + } + return n +} + +func (m *MsgRevokeEthereumBlacklistResponse) 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 +} +func sozMsgs(x uint64) (n int) { + return sovMsgs(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } func (m *MsgSetOrchestratorAddresses) Unmarshal(dAtA []byte) error { l := len(dAtA) @@ -6065,6 +6530,334 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgBlacklistEthereumAddresses) 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: MsgBlacklistEthereumAddresses: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBlacklistEthereumAddresses: 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 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.Signer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlacklistAddresses", 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.BlacklistAddresses = append(m.BlacklistAddresses, string(dAtA[iNdEx:postIndex])) + 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 *MsgBlacklistEthereumAddressesResponse) 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: MsgBlacklistEthereumAddressesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBlacklistEthereumAddressesResponse: 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 (m *MsgRevokeEthereumBlacklist) 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: MsgRevokeEthereumBlacklist: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRevokeEthereumBlacklist: 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 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.Signer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlacklistAddresses", 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.BlacklistAddresses = append(m.BlacklistAddresses, string(dAtA[iNdEx:postIndex])) + 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 *MsgRevokeEthereumBlacklistResponse) 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: MsgRevokeEthereumBlacklistResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRevokeEthereumBlacklistResponse: 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 index 43e1374c..656ada2b 100644 --- a/chain/peggy/types/params.go +++ b/chain/peggy/types/params.go @@ -6,7 +6,7 @@ import ( "strings" "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" ) // DefaultParamspace defines the default auth module parameter subspace @@ -25,11 +25,11 @@ func DefaultParams() *Params { 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)), + SlashFractionValset: math.LegacyNewDec(1).Quo(math.LegacyNewDec(1000)), + SlashFractionBatch: math.LegacyNewDec(1).Quo(math.LegacyNewDec(1000)), + SlashFractionClaim: math.LegacyNewDec(1).Quo(math.LegacyNewDec(1000)), + SlashFractionConflictingClaim: math.LegacyNewDec(1).Quo(math.LegacyNewDec(1000)), + SlashFractionBadEthSignature: math.LegacyNewDec(1).Quo(math.LegacyNewDec(1000)), CosmosCoinDenom: "inj", UnbondSlashingValsetsWindow: 10000, ClaimSlashingEnabled: false, @@ -199,7 +199,7 @@ func validateUnbondSlashingValsetsWindow(i interface{}) error { } func validateSlashFractionValset(i interface{}) error { - if _, ok := i.(sdk.Dec); !ok { + if _, ok := i.(math.LegacyDec); !ok { return fmt.Errorf("invalid parameter type: %T", i) } return nil @@ -220,21 +220,21 @@ func validateSignedClaimsWindow(i interface{}) error { } func validateSlashFractionBatch(i interface{}) error { - if _, ok := i.(sdk.Dec); !ok { + if _, ok := i.(math.LegacyDec); !ok { return fmt.Errorf("invalid parameter type: %T", i) } return nil } func validateSlashFractionClaim(i interface{}) error { - if _, ok := i.(sdk.Dec); !ok { + if _, ok := i.(math.LegacyDec); !ok { return fmt.Errorf("invalid parameter type: %T", i) } return nil } func validateSlashFractionConflictingClaim(i interface{}) error { - if _, ok := i.(sdk.Dec); !ok { + if _, ok := i.(math.LegacyDec); !ok { return fmt.Errorf("invalid parameter type: %T", i) } return nil @@ -284,7 +284,7 @@ func validateClaimSlashingEnabled(i interface{}) error { } func validateSlashFractionBadEthSignature(i interface{}) error { - if _, ok := i.(sdk.Dec); !ok { + if _, ok := i.(math.LegacyDec); !ok { return fmt.Errorf("invalid parameter type: %T", i) } return nil diff --git a/chain/peggy/types/params.pb.go b/chain/peggy/types/params.pb.go index f7932952..0d2bacca 100644 --- a/chain/peggy/types/params.pb.go +++ b/chain/peggy/types/params.pb.go @@ -4,9 +4,10 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" - 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/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -26,27 +27,28 @@ var _ = math.Inf 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"` + 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 cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=slash_fraction_valset,json=slashFractionValset,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"slash_fraction_valset"` + SlashFractionBatch cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=slash_fraction_batch,json=slashFractionBatch,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"slash_fraction_batch"` + SlashFractionClaim cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=slash_fraction_claim,json=slashFractionClaim,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"slash_fraction_claim"` + SlashFractionConflictingClaim cosmossdk_io_math.LegacyDec `protobuf:"bytes,14,opt,name=slash_fraction_conflicting_claim,json=slashFractionConflictingClaim,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 cosmossdk_io_math.LegacyDec `protobuf:"bytes,16,opt,name=slash_fraction_bad_eth_signature,json=slashFractionBadEthSignature,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + Admins []string `protobuf:"bytes,22,rep,name=admins,proto3" json:"admins,omitempty"` } func (m *Params) Reset() { *m = Params{} } @@ -194,6 +196,13 @@ func (m *Params) GetValsetReward() types.Coin { return types.Coin{} } +func (m *Params) GetAdmins() []string { + if m != nil { + return m.Admins + } + return nil +} + func init() { proto.RegisterType((*Params)(nil), "injective.peggy.v1.Params") } @@ -201,55 +210,58 @@ func init() { 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, + // 803 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x95, 0x41, 0x6f, 0x23, 0x35, + 0x14, 0xc7, 0x33, 0x6c, 0xe9, 0xb6, 0xde, 0x96, 0x6e, 0xdd, 0xa4, 0xeb, 0xb6, 0x4b, 0x1a, 0x81, + 0x84, 0xa2, 0x15, 0xcc, 0xb4, 0x05, 0x71, 0x00, 0x21, 0x44, 0xd2, 0xa2, 0xad, 0xd8, 0x03, 0x4a, + 0x81, 0x95, 0xb8, 0x58, 0x9e, 0xb1, 0x77, 0xc6, 0x74, 0xc6, 0xae, 0xc6, 0x4e, 0xaa, 0xde, 0x38, + 0x73, 0xe2, 0xa3, 0xf0, 0x31, 0xf6, 0xb8, 0x47, 0x84, 0xd0, 0x0a, 0xb5, 0x07, 0x24, 0x3e, 0x05, + 0xf2, 0xb3, 0x27, 0x49, 0x03, 0x87, 0x6a, 0x2f, 0x55, 0xed, 0xdf, 0xff, 0xff, 0x9e, 0xf3, 0xec, + 0xfc, 0x83, 0xf6, 0xa5, 0xfa, 0x49, 0x64, 0x56, 0x4e, 0x44, 0x72, 0x21, 0xf2, 0xfc, 0x2a, 0x99, + 0x1c, 0x26, 0x17, 0xac, 0x66, 0x95, 0x89, 0x2f, 0x6a, 0x6d, 0x35, 0xc6, 0x53, 0x41, 0x0c, 0x82, + 0x78, 0x72, 0xb8, 0xdb, 0xce, 0x75, 0xae, 0x01, 0x27, 0xee, 0x3f, 0xaf, 0xdc, 0xed, 0x66, 0xda, + 0x54, 0xda, 0x24, 0x29, 0x33, 0x22, 0x99, 0x1c, 0xa6, 0xc2, 0xb2, 0xc3, 0x24, 0xd3, 0x52, 0x05, + 0xbe, 0xc9, 0x2a, 0xa9, 0x74, 0x02, 0x7f, 0xfd, 0xd6, 0x7b, 0xff, 0x20, 0xb4, 0xfc, 0x2d, 0x74, + 0xc3, 0x3b, 0x68, 0x05, 0xea, 0x53, 0xc9, 0x49, 0xd4, 0x8b, 0xfa, 0xab, 0xa3, 0xfb, 0xb0, 0x3e, + 0xe5, 0xf8, 0x00, 0xb5, 0x33, 0xad, 0x6c, 0xcd, 0x32, 0x4b, 0x8d, 0x1e, 0xd7, 0x99, 0xa0, 0x05, + 0x33, 0x05, 0x79, 0x0b, 0x64, 0xb8, 0x61, 0x67, 0x80, 0x9e, 0x32, 0x53, 0xe0, 0x4f, 0xd1, 0xa3, + 0xb4, 0x96, 0x3c, 0x17, 0x54, 0xd8, 0x42, 0xd4, 0x62, 0x5c, 0x51, 0xc6, 0x79, 0x2d, 0x8c, 0x21, + 0xf7, 0xc0, 0xd4, 0xf1, 0xf8, 0x24, 0xd0, 0xaf, 0x3c, 0xc4, 0x1f, 0xa0, 0x8d, 0xe0, 0xcb, 0x0a, + 0x26, 0x95, 0x3b, 0xcb, 0x52, 0x2f, 0xea, 0x2f, 0x8d, 0xd6, 0xfd, 0xf6, 0xd0, 0xed, 0x9e, 0x72, + 0x7c, 0x84, 0x3a, 0x46, 0xe6, 0x4a, 0x70, 0x3a, 0x61, 0xa5, 0x11, 0xd6, 0xd0, 0x4b, 0xa9, 0xb8, + 0xbe, 0x24, 0x6f, 0x83, 0x7a, 0xcb, 0xc3, 0x1f, 0x3c, 0x7b, 0x0e, 0x68, 0xce, 0x93, 0x32, 0x9b, + 0x15, 0x62, 0xea, 0x59, 0x9e, 0xf7, 0x0c, 0x3c, 0x0b, 0x9e, 0x03, 0xd4, 0x0e, 0x9e, 0xac, 0x64, + 0xb2, 0x9a, 0x5a, 0xee, 0x83, 0x05, 0x7b, 0x36, 0x04, 0x34, 0x73, 0x58, 0x56, 0xe7, 0xc2, 0xfa, + 0x2e, 0xd4, 0xca, 0x4a, 0xe8, 0xb1, 0x25, 0x2b, 0xde, 0xe1, 0x19, 0x34, 0xf9, 0xce, 0x13, 0xfc, + 0x21, 0xc2, 0x6c, 0x22, 0x6a, 0x96, 0x0b, 0x9a, 0x96, 0x3a, 0x3b, 0x07, 0x0b, 0x59, 0x05, 0xfd, + 0xc3, 0x40, 0x06, 0x0e, 0x38, 0x03, 0xfe, 0x02, 0xed, 0x35, 0xea, 0xe9, 0x68, 0xe7, 0x6c, 0x08, + 0x6c, 0x24, 0x48, 0x9a, 0xf1, 0xce, 0xec, 0xcf, 0x51, 0xc7, 0x94, 0xcc, 0x14, 0xf4, 0x85, 0xbb, + 0x31, 0xa9, 0x55, 0x18, 0x20, 0x79, 0xd0, 0x8b, 0xfa, 0x6b, 0x83, 0xf7, 0x5f, 0xbe, 0xde, 0x6f, + 0xfd, 0xf1, 0x7a, 0x7f, 0xcf, 0x3f, 0x25, 0xc3, 0xcf, 0x63, 0xa9, 0x93, 0x8a, 0xd9, 0x22, 0x7e, + 0x26, 0x72, 0x96, 0x5d, 0x1d, 0x8b, 0x6c, 0xb4, 0x05, 0x15, 0xbe, 0x0e, 0x05, 0xfc, 0x90, 0xf1, + 0xf7, 0xa8, 0xbd, 0x50, 0x18, 0x3e, 0x3f, 0x59, 0xbb, 0x7b, 0x5d, 0x7c, 0xab, 0x2e, 0xcc, 0xe8, + 0x7f, 0xca, 0xc2, 0x45, 0x90, 0xf5, 0x37, 0x2d, 0x0b, 0x97, 0x85, 0x4b, 0xd4, 0x5b, 0x2c, 0xab, + 0xd5, 0x8b, 0x52, 0x66, 0x56, 0xaa, 0x3c, 0xb4, 0x78, 0xe7, 0xee, 0x2d, 0xde, 0xbd, 0xdd, 0x62, + 0x56, 0xca, 0x77, 0x1b, 0xa2, 0xee, 0x58, 0xa5, 0x5a, 0x71, 0x0a, 0x3a, 0xd7, 0x62, 0xe1, 0xd9, + 0x6e, 0xc0, 0xb5, 0xed, 0x79, 0xd5, 0x59, 0x10, 0xdd, 0x7e, 0xbe, 0xe7, 0xff, 0x39, 0x72, 0xca, + 0xb8, 0x7b, 0x03, 0xd4, 0xbd, 0x42, 0x66, 0xc7, 0xb5, 0x20, 0x0f, 0xef, 0x7e, 0xe4, 0xc7, 0x0b, + 0xc3, 0xe6, 0x27, 0xb6, 0x38, 0x6b, 0x0a, 0xe1, 0x27, 0x68, 0xd3, 0x9b, 0xa9, 0xcb, 0x0f, 0xca, + 0x85, 0xd2, 0x15, 0xd9, 0x84, 0x6f, 0xee, 0x86, 0x07, 0x43, 0x2d, 0xd5, 0xb1, 0xdb, 0xc6, 0x9f, + 0xa3, 0xdd, 0x79, 0xad, 0xa8, 0xb3, 0xa3, 0x03, 0xda, 0x64, 0x02, 0xc1, 0x60, 0x7a, 0x34, 0x33, + 0x9d, 0x38, 0x3e, 0x0c, 0x18, 0x7f, 0x82, 0xb6, 0x61, 0xda, 0xb3, 0xc9, 0x08, 0xc5, 0xd2, 0x52, + 0x70, 0xb2, 0xd5, 0x8b, 0xfa, 0x2b, 0xa3, 0x36, 0xd0, 0x66, 0x22, 0x27, 0x9e, 0xe1, 0x2f, 0xd1, + 0xe3, 0x26, 0x26, 0xa6, 0xb9, 0x64, 0x59, 0x6d, 0x69, 0x21, 0x64, 0x5e, 0x58, 0xd2, 0x86, 0x71, + 0xee, 0x84, 0xcc, 0x68, 0xe2, 0xc9, 0x29, 0x9e, 0x82, 0x00, 0x1f, 0xa3, 0x75, 0x7f, 0x03, 0xb4, + 0x16, 0x97, 0xac, 0xe6, 0xa4, 0xd3, 0x8b, 0xfa, 0x0f, 0x8e, 0x76, 0x62, 0x7f, 0xce, 0xd8, 0x45, + 0x68, 0x1c, 0x22, 0x34, 0x76, 0xa7, 0x1e, 0x2c, 0xb9, 0xa1, 0x8e, 0xd6, 0xbc, 0x6b, 0x04, 0x26, + 0xbc, 0x8d, 0x96, 0x19, 0xaf, 0xa4, 0x32, 0x64, 0xbb, 0x77, 0xaf, 0xbf, 0x3a, 0x0a, 0xab, 0xcf, + 0x3a, 0x3f, 0xff, 0xd9, 0x6b, 0xfd, 0xf2, 0xf7, 0x6f, 0x4f, 0xd6, 0x7c, 0xa4, 0xfb, 0x84, 0x1d, + 0x88, 0x97, 0xd7, 0xdd, 0xe8, 0xd5, 0x75, 0x37, 0xfa, 0xeb, 0xba, 0x1b, 0xfd, 0x7a, 0xd3, 0x6d, + 0xbd, 0xba, 0xe9, 0xb6, 0x7e, 0xbf, 0xe9, 0xb6, 0x7e, 0xfc, 0x26, 0x97, 0xb6, 0x18, 0xa7, 0x71, + 0xa6, 0xab, 0xe4, 0xb4, 0x89, 0xfb, 0x67, 0x2c, 0x35, 0xc9, 0x34, 0xfc, 0x3f, 0xca, 0x74, 0x2d, + 0xe6, 0x97, 0x2e, 0x09, 0x93, 0x4a, 0xf3, 0x71, 0x29, 0x4c, 0xf8, 0xe9, 0xb0, 0x57, 0x17, 0xc2, + 0xa4, 0xcb, 0x10, 0xed, 0x1f, 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x8b, 0xfa, 0xa0, 0xe8, 0x5a, + 0x06, 0x00, 0x00, } func (m *Params) Marshal() (dAtA []byte, err error) { @@ -272,6 +284,17 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.Admins) > 0 { + for iNdEx := len(m.Admins) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Admins[iNdEx]) + copy(dAtA[i:], m.Admins[iNdEx]) + i = encodeVarintParams(dAtA, i, uint64(len(m.Admins[iNdEx]))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb2 + } + } { size, err := m.ValsetReward.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -516,6 +539,12 @@ func (m *Params) Size() (n int) { } l = m.ValsetReward.Size() n += 2 + l + sovParams(uint64(l)) + if len(m.Admins) > 0 { + for _, s := range m.Admins { + l = len(s) + n += 2 + l + sovParams(uint64(l)) + } + } return n } @@ -1103,6 +1132,38 @@ func (m *Params) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 22: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Admins", 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.Admins = append(m.Admins, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipParams(dAtA[iNdEx:]) diff --git a/chain/peggy/types/pool.pb.go b/chain/peggy/types/pool.pb.go index a7eabb67..8d108d35 100644 --- a/chain/peggy/types/pool.pb.go +++ b/chain/peggy/types/pool.pb.go @@ -4,8 +4,8 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -70,8 +70,8 @@ func (m *IDSet) GetIds() []uint64 { } type BatchFees struct { - Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` - TotalFees github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,2,opt,name=total_fees,json=totalFees,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"total_fees"` + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + TotalFees cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=total_fees,json=totalFees,proto3,customtype=cosmossdk.io/math.Int" json:"total_fees"` } func (m *BatchFees) Reset() { *m = BatchFees{} } @@ -122,24 +122,24 @@ func init() { func init() { proto.RegisterFile("injective/peggy/v1/pool.proto", fileDescriptor_36397d69759ce164) } var fileDescriptor_36397d69759ce164 = []byte{ - // 271 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x90, 0xcf, 0x4a, 0xf3, 0x40, - 0x14, 0xc5, 0x33, 0x5f, 0xbf, 0x0a, 0x99, 0x95, 0x84, 0x2e, 0xa2, 0xe0, 0xb4, 0x74, 0x21, 0xdd, - 0x74, 0x86, 0xe2, 0x1b, 0x04, 0x11, 0x82, 0xba, 0x89, 0x3b, 0x37, 0x92, 0x3f, 0xd7, 0x24, 0x36, - 0xc9, 0x0d, 0x9d, 0xdb, 0x40, 0xdf, 0xc2, 0xc7, 0xea, 0xb2, 0x4b, 0x71, 0x51, 0x24, 0x79, 0x11, - 0xc9, 0xb4, 0x96, 0xae, 0xe6, 0x1c, 0x7e, 0xc3, 0x39, 0x9c, 0xcb, 0x6f, 0xf2, 0xea, 0x03, 0x62, - 0xca, 0x1b, 0x50, 0x35, 0xa4, 0xe9, 0x46, 0x35, 0x0b, 0x55, 0x23, 0x16, 0xb2, 0x5e, 0x21, 0xa1, - 0xe3, 0x9c, 0xb0, 0x34, 0x58, 0x36, 0x8b, 0xeb, 0x51, 0x8a, 0x29, 0x1a, 0xac, 0x7a, 0x75, 0xf8, - 0x39, 0xbd, 0xe2, 0x43, 0xff, 0xfe, 0x05, 0xc8, 0xb9, 0xe4, 0x83, 0x3c, 0xd1, 0x2e, 0x9b, 0x0c, - 0x66, 0xff, 0x83, 0x5e, 0x4e, 0x6b, 0x6e, 0x7b, 0x21, 0xc5, 0xd9, 0x03, 0x80, 0x76, 0x46, 0x7c, - 0x48, 0xb8, 0x84, 0xca, 0x65, 0x13, 0x36, 0xb3, 0x83, 0x83, 0x71, 0x9e, 0x39, 0x27, 0xa4, 0xb0, - 0x78, 0x7b, 0x07, 0xd0, 0xee, 0xbf, 0x1e, 0x79, 0x72, 0xbb, 0x1f, 0x5b, 0xdf, 0xfb, 0xf1, 0x6d, - 0x9a, 0x53, 0xb6, 0x8e, 0x64, 0x8c, 0xa5, 0x8a, 0x51, 0x97, 0xa8, 0x8f, 0xcf, 0x5c, 0x27, 0x4b, - 0x45, 0x9b, 0x1a, 0xb4, 0xf4, 0x2b, 0x0a, 0x6c, 0x93, 0xd0, 0x97, 0x78, 0xb0, 0x6d, 0x05, 0xdb, - 0xb5, 0x82, 0xfd, 0xb4, 0x82, 0x7d, 0x76, 0xc2, 0xda, 0x75, 0xc2, 0xfa, 0xea, 0x84, 0xf5, 0xfa, - 0x78, 0x16, 0xe6, 0xff, 0x6d, 0x7b, 0x0a, 0x23, 0xad, 0x4e, 0x4b, 0xe7, 0x31, 0xae, 0xe0, 0xdc, - 0x66, 0x61, 0x5e, 0xa9, 0x12, 0x93, 0x75, 0x01, 0xfa, 0x78, 0x25, 0xd3, 0x1a, 0x5d, 0x98, 0xe9, - 0x77, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc8, 0x08, 0x7d, 0xe1, 0x45, 0x01, 0x00, 0x00, + // 267 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x90, 0xcf, 0x4a, 0xc3, 0x40, + 0x10, 0xc6, 0xb3, 0xd6, 0x0a, 0xd9, 0x93, 0x84, 0x0a, 0x51, 0xe8, 0xb6, 0xf4, 0xd4, 0x8b, 0xbb, + 0x14, 0xaf, 0x9e, 0x82, 0x08, 0x41, 0x4f, 0xf1, 0xe6, 0xa5, 0xe4, 0xcf, 0x98, 0xac, 0x4d, 0x32, + 0xa1, 0x3b, 0x0d, 0xf4, 0x2d, 0x7c, 0xac, 0x1e, 0x7b, 0x14, 0x0f, 0x45, 0x92, 0x17, 0x91, 0xa4, + 0x5a, 0xbc, 0x7d, 0x1f, 0xbf, 0x99, 0x81, 0xdf, 0xf0, 0xb1, 0x2e, 0xdf, 0x21, 0x26, 0x5d, 0x83, + 0xaa, 0x20, 0x4d, 0xb7, 0xaa, 0x5e, 0xa8, 0x0a, 0x31, 0x97, 0xd5, 0x1a, 0x09, 0x1d, 0xe7, 0x84, + 0x65, 0x8f, 0x65, 0xbd, 0xb8, 0x19, 0xa5, 0x98, 0x62, 0x8f, 0x55, 0x97, 0x8e, 0x93, 0xb3, 0x6b, + 0x3e, 0xf4, 0x1f, 0x5e, 0x80, 0x9c, 0x4b, 0x3e, 0xd0, 0x89, 0x71, 0xd9, 0x74, 0x30, 0x3f, 0x0f, + 0xba, 0x38, 0x5b, 0x72, 0xdb, 0x0b, 0x29, 0xce, 0x1e, 0x01, 0x8c, 0x33, 0xe2, 0x43, 0xc2, 0x15, + 0x94, 0x2e, 0x9b, 0xb2, 0xb9, 0x1d, 0x1c, 0x8b, 0x73, 0xcf, 0x39, 0x21, 0x85, 0xf9, 0xf2, 0x0d, + 0xc0, 0xb8, 0x67, 0x1d, 0xf2, 0xc6, 0xbb, 0xc3, 0xc4, 0xfa, 0x3a, 0x4c, 0xae, 0x62, 0x34, 0x05, + 0x1a, 0x93, 0xac, 0xa4, 0x46, 0x55, 0x84, 0x94, 0x49, 0xbf, 0xa4, 0xc0, 0xee, 0x17, 0xba, 0x9b, + 0x1e, 0xec, 0x1a, 0xc1, 0xf6, 0x8d, 0x60, 0xdf, 0x8d, 0x60, 0x1f, 0xad, 0xb0, 0xf6, 0xad, 0xb0, + 0x3e, 0x5b, 0x61, 0xbd, 0x3e, 0xa5, 0x9a, 0xb2, 0x4d, 0x24, 0x63, 0x2c, 0x94, 0xff, 0xa7, 0xf2, + 0x1c, 0x46, 0x46, 0x9d, 0xc4, 0x6e, 0x63, 0x5c, 0xc3, 0xff, 0x9a, 0x85, 0xba, 0x54, 0x05, 0x26, + 0x9b, 0x1c, 0xcc, 0xef, 0x53, 0x68, 0x5b, 0x81, 0x89, 0x2e, 0x7a, 0xd3, 0xbb, 0x9f, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x38, 0x4c, 0x07, 0x7f, 0x34, 0x01, 0x00, 0x00, } func (m *IDSet) Marshal() (dAtA []byte, err error) { diff --git a/chain/peggy/types/types.go b/chain/peggy/types/types.go index 92c9e203..48959e4a 100644 --- a/chain/peggy/types/types.go +++ b/chain/peggy/types/types.go @@ -250,7 +250,7 @@ func (v Valsets) Swap(i, j int) { // GetFees returns the total fees contained within a given batch func (b OutgoingTxBatch) GetFees() sdkmath.Int { - sum := sdk.ZeroInt() + sum := sdkmath.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 66673a3c..f164779c 100644 --- a/chain/peggy/types/types.pb.go +++ b/chain/peggy/types/types.pb.go @@ -4,8 +4,8 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -81,10 +81,10 @@ func (m *BridgeValidator) GetEthereumAddress() string { // maintains an ETH key to sign messages, these are used to check signatures on // ETH because of the significant gas savings type Valset struct { - Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"` - Members []*BridgeValidator `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"` - Height uint64 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"` - RewardAmount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,4,opt,name=reward_amount,json=rewardAmount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"reward_amount"` + Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"` + Members []*BridgeValidator `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"` + Height uint64 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"` + RewardAmount cosmossdk_io_math.Int `protobuf:"bytes,4,opt,name=reward_amount,json=rewardAmount,proto3,customtype=cosmossdk.io/math.Int" json:"reward_amount"` // the reward token in it's Ethereum hex address representation RewardToken string `protobuf:"bytes,5,opt,name=reward_token,json=rewardToken,proto3" json:"reward_token,omitempty"` } @@ -325,38 +325,38 @@ func init() { func init() { proto.RegisterFile("injective/peggy/v1/types.proto", fileDescriptor_b641943ad411b503) } var fileDescriptor_b641943ad411b503 = []byte{ - // 494 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x53, 0x4f, 0x6f, 0xd3, 0x4e, - 0x10, 0x8d, 0xfb, 0x27, 0x3f, 0x75, 0xdb, 0x1f, 0x85, 0x6d, 0x40, 0x16, 0x07, 0xa7, 0x04, 0x09, - 0x85, 0x43, 0xed, 0x34, 0xdc, 0x90, 0x38, 0x34, 0x25, 0x12, 0x15, 0x15, 0x48, 0xa6, 0xea, 0x81, - 0x8b, 0xb5, 0xb6, 0x47, 0xb6, 0x89, 0xbd, 0x1b, 0xed, 0x6e, 0x5c, 0xf5, 0x03, 0x70, 0xe7, 0x63, - 0xf5, 0xd8, 0x23, 0xe2, 0x50, 0xa1, 0xe4, 0xcc, 0x77, 0x40, 0xfb, 0xc7, 0x91, 0xa1, 0x9c, 0x92, - 0xf7, 0x66, 0xe6, 0xbd, 0xd9, 0x99, 0x31, 0xf2, 0x0a, 0xfa, 0x05, 0x12, 0x59, 0xd4, 0x10, 0xcc, - 0x21, 0xcb, 0xae, 0x83, 0xfa, 0x38, 0x90, 0xd7, 0x73, 0x10, 0xfe, 0x9c, 0x33, 0xc9, 0x30, 0x5e, - 0xc7, 0x7d, 0x1d, 0xf7, 0xeb, 0xe3, 0xa7, 0xbd, 0x8c, 0x65, 0x4c, 0x87, 0x03, 0xf5, 0xcf, 0x64, - 0x0e, 0x42, 0xb4, 0x3f, 0xe1, 0x45, 0x9a, 0xc1, 0x25, 0x29, 0x8b, 0x94, 0x48, 0xc6, 0x71, 0x0f, - 0x6d, 0xcf, 0xd9, 0x15, 0x70, 0xd7, 0x39, 0x74, 0x86, 0x5b, 0xa1, 0x01, 0xf8, 0x25, 0x7a, 0x08, - 0x32, 0x07, 0x0e, 0x8b, 0x2a, 0x22, 0x69, 0xca, 0x41, 0x08, 0x77, 0xe3, 0xd0, 0x19, 0xee, 0x84, - 0xfb, 0x0d, 0x7f, 0x62, 0xe8, 0xc1, 0x2f, 0x07, 0x75, 0x2f, 0x49, 0x29, 0x40, 0x2a, 0x2d, 0xca, - 0x68, 0x02, 0x8d, 0x96, 0x06, 0xf8, 0x0d, 0xfa, 0xaf, 0x82, 0x2a, 0x06, 0xae, 0x24, 0x36, 0x87, - 0xbb, 0xe3, 0xe7, 0xfe, 0xfd, 0x86, 0xfd, 0xbf, 0xfa, 0x0a, 0x9b, 0x1a, 0xfc, 0x04, 0x75, 0x73, - 0x28, 0xb2, 0x5c, 0xba, 0x9b, 0x5a, 0xd5, 0x22, 0xfc, 0x09, 0xfd, 0xcf, 0xe1, 0x8a, 0xf0, 0x34, - 0x22, 0x15, 0x5b, 0x50, 0xe9, 0x6e, 0xa9, 0xfe, 0x26, 0xfe, 0xcd, 0x5d, 0xbf, 0xf3, 0xe3, 0xae, - 0xff, 0x22, 0x2b, 0x64, 0xbe, 0x88, 0xfd, 0x84, 0x55, 0x41, 0xc2, 0x44, 0xc5, 0x84, 0xfd, 0x39, - 0x12, 0xe9, 0xcc, 0x8e, 0xef, 0x8c, 0xca, 0x70, 0xcf, 0x88, 0x9c, 0x68, 0x0d, 0xfc, 0x0c, 0x59, - 0x1c, 0x49, 0x36, 0x03, 0xea, 0x6e, 0xeb, 0x37, 0xef, 0x1a, 0xee, 0x42, 0x51, 0x83, 0xaf, 0x0e, - 0xea, 0x9f, 0x13, 0x21, 0x3f, 0xc6, 0x02, 0x78, 0x0d, 0xe9, 0xd4, 0xce, 0x63, 0x52, 0xb2, 0x64, - 0xf6, 0xce, 0xf4, 0xe6, 0xa3, 0x03, 0x63, 0x16, 0xc5, 0x8a, 0x8d, 0xec, 0x03, 0xcc, 0x58, 0x1e, - 0x99, 0x50, 0x3b, 0x7f, 0x8c, 0x1e, 0xaf, 0xc7, 0xfd, 0x47, 0xc5, 0x86, 0xae, 0x38, 0x80, 0xfb, - 0x1e, 0x83, 0x1a, 0x3d, 0x50, 0x6d, 0x9c, 0x96, 0xa4, 0xa8, 0xa6, 0x35, 0x50, 0x89, 0x47, 0xa8, - 0xb7, 0x56, 0x01, 0xc5, 0x44, 0xed, 0x6d, 0xe0, 0x26, 0xa6, 0x93, 0x3f, 0xe8, 0xd5, 0xb4, 0x7d, - 0x4d, 0xc5, 0xbf, 0x7d, 0x75, 0x89, 0xf5, 0x7d, 0x8d, 0xf6, 0xa6, 0xe1, 0xe9, 0x78, 0x74, 0xc1, - 0xde, 0x02, 0x65, 0x95, 0x5a, 0x3a, 0xf0, 0x64, 0x3c, 0xd2, 0x36, 0x3b, 0xa1, 0x01, 0x8a, 0x4d, - 0x55, 0xd8, 0x5e, 0x8d, 0x01, 0x13, 0xb8, 0x59, 0x7a, 0xce, 0xed, 0xd2, 0x73, 0x7e, 0x2e, 0x3d, - 0xe7, 0xdb, 0xca, 0xeb, 0xdc, 0xae, 0xbc, 0xce, 0xf7, 0x95, 0xd7, 0xf9, 0xfc, 0xbe, 0xb5, 0xae, - 0xb3, 0xe6, 0x3a, 0xce, 0x49, 0x2c, 0x82, 0xf5, 0xad, 0x1c, 0x25, 0x8c, 0x43, 0x1b, 0xe6, 0xa4, - 0xa0, 0x41, 0xc5, 0xd2, 0x45, 0x09, 0xc2, 0x7e, 0x19, 0x7a, 0xaf, 0x71, 0x57, 0x5f, 0xfb, 0xab, - 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xa3, 0x6d, 0x63, 0x90, 0x39, 0x03, 0x00, 0x00, + // 490 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x53, 0xcf, 0x6f, 0xd3, 0x30, + 0x14, 0x6e, 0xf6, 0xa3, 0x68, 0xde, 0x60, 0xe0, 0x75, 0x28, 0x42, 0x22, 0x1d, 0xe5, 0x52, 0x0e, + 0x24, 0x5d, 0xb9, 0x21, 0x71, 0x58, 0x46, 0x25, 0x26, 0x26, 0x90, 0xa2, 0x69, 0x07, 0x2e, 0x91, + 0x93, 0x3c, 0x25, 0xa1, 0xb1, 0x5d, 0xd9, 0x6e, 0xa6, 0xfd, 0x01, 0xdc, 0xf9, 0xb3, 0x76, 0xdc, + 0x11, 0x21, 0x34, 0xa1, 0xf6, 0x1f, 0x41, 0xb6, 0x93, 0xaa, 0x30, 0x6e, 0xf9, 0xbe, 0xe7, 0xef, + 0x7d, 0x5f, 0x9e, 0x9f, 0x91, 0x57, 0xb2, 0xaf, 0x90, 0xaa, 0xb2, 0x86, 0x60, 0x06, 0x79, 0x7e, + 0x1d, 0xd4, 0xc7, 0x81, 0xba, 0x9e, 0x81, 0xf4, 0x67, 0x82, 0x2b, 0x8e, 0xf1, 0xaa, 0xee, 0x9b, + 0xba, 0x5f, 0x1f, 0x3f, 0xeb, 0xe5, 0x3c, 0xe7, 0xa6, 0x1c, 0xe8, 0x2f, 0x7b, 0x72, 0x10, 0xa1, + 0xfd, 0x50, 0x94, 0x59, 0x0e, 0x97, 0xa4, 0x2a, 0x33, 0xa2, 0xb8, 0xc0, 0x3d, 0xb4, 0x3d, 0xe3, + 0x57, 0x20, 0x5c, 0xe7, 0xc8, 0x19, 0x6e, 0x45, 0x16, 0xe0, 0x57, 0xe8, 0x31, 0xa8, 0x02, 0x04, + 0xcc, 0x69, 0x4c, 0xb2, 0x4c, 0x80, 0x94, 0xee, 0xc6, 0x91, 0x33, 0xdc, 0x89, 0xf6, 0x5b, 0xfe, + 0xc4, 0xd2, 0x83, 0x5f, 0x0e, 0xea, 0x5e, 0x92, 0x4a, 0x82, 0xd2, 0xbd, 0x18, 0x67, 0x29, 0xb4, + 0xbd, 0x0c, 0xc0, 0xef, 0xd0, 0x03, 0x0a, 0x34, 0x01, 0xa1, 0x5b, 0x6c, 0x0e, 0x77, 0xc7, 0x2f, + 0xfd, 0xfb, 0x81, 0xfd, 0x7f, 0x72, 0x45, 0xad, 0x06, 0x3f, 0x45, 0xdd, 0x02, 0xca, 0xbc, 0x50, + 0xee, 0xa6, 0xe9, 0xda, 0x20, 0x1c, 0xa2, 0x87, 0x02, 0xae, 0x88, 0xc8, 0x62, 0x42, 0xf9, 0x9c, + 0x29, 0x77, 0x4b, 0xe7, 0x0b, 0x9f, 0xdf, 0xdc, 0xf5, 0x3b, 0x3f, 0xef, 0xfa, 0x87, 0x29, 0x97, + 0x94, 0x4b, 0x99, 0x4d, 0xfd, 0x92, 0x07, 0x94, 0xa8, 0xc2, 0x3f, 0x63, 0x2a, 0xda, 0xb3, 0x9a, + 0x13, 0x23, 0xc1, 0x2f, 0x50, 0x83, 0x63, 0xc5, 0xa7, 0xc0, 0xdc, 0x6d, 0xf3, 0x8b, 0xbb, 0x96, + 0xbb, 0xd0, 0xd4, 0xe0, 0x9b, 0x83, 0xfa, 0xe7, 0x44, 0xaa, 0xcf, 0x89, 0x04, 0x51, 0x43, 0x36, + 0x69, 0x7e, 0x3f, 0xac, 0x78, 0x3a, 0xfd, 0x60, 0xa3, 0xf8, 0xe8, 0xc0, 0xba, 0xc5, 0x89, 0x66, + 0xe3, 0x26, 0xaf, 0x9d, 0xc2, 0x13, 0x5b, 0x5a, 0x3f, 0x3f, 0x46, 0x87, 0xab, 0xe9, 0xfe, 0xa5, + 0xd8, 0x30, 0x8a, 0x03, 0xb8, 0xef, 0x31, 0xa8, 0xd1, 0x23, 0x1d, 0xe3, 0xb4, 0x22, 0x25, 0x9d, + 0xd4, 0xc0, 0x14, 0x1e, 0xa1, 0xde, 0xaa, 0x0b, 0x68, 0x26, 0x5e, 0x1f, 0x3e, 0x6e, 0x6b, 0xe6, + 0xf0, 0x27, 0x73, 0x13, 0xeb, 0xbe, 0x56, 0xf1, 0x7f, 0x5f, 0x23, 0x69, 0x7c, 0xdf, 0xa2, 0xbd, + 0x49, 0x74, 0x3a, 0x1e, 0x5d, 0xf0, 0xf7, 0xc0, 0x38, 0xd5, 0x77, 0x0c, 0x22, 0x1d, 0x8f, 0x8c, + 0xcd, 0x4e, 0x64, 0x81, 0x66, 0x33, 0x5d, 0x6e, 0x96, 0xc4, 0x82, 0x10, 0x6e, 0x16, 0x9e, 0x73, + 0xbb, 0xf0, 0x9c, 0xdf, 0x0b, 0xcf, 0xf9, 0xbe, 0xf4, 0x3a, 0xb7, 0x4b, 0xaf, 0xf3, 0x63, 0xe9, + 0x75, 0xbe, 0x7c, 0xcc, 0x4b, 0x55, 0xcc, 0x13, 0x3f, 0xe5, 0x34, 0x38, 0x6b, 0x97, 0xe1, 0x9c, + 0x24, 0x32, 0x58, 0xad, 0xc6, 0xeb, 0x94, 0x0b, 0x58, 0x87, 0x05, 0x29, 0x59, 0x40, 0x79, 0x36, + 0xaf, 0x40, 0x36, 0x0f, 0xc1, 0xbc, 0x82, 0xa4, 0x6b, 0x96, 0xfb, 0xcd, 0x9f, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xb5, 0x74, 0x5d, 0x7b, 0x28, 0x03, 0x00, 0x00, } func (m *BridgeValidator) Marshal() (dAtA []byte, err error) { diff --git a/chain/permissions/types/codec.go b/chain/permissions/types/codec.go new file mode 100644 index 00000000..a5cc7fea --- /dev/null +++ b/chain/permissions/types/codec.go @@ -0,0 +1,49 @@ +package types + +import ( + "github.com/cosmos/cosmos-sdk/codec" + cdctypes "github.com/cosmos/cosmos-sdk/codec/types" + sdk "github.com/cosmos/cosmos-sdk/types" + authzcdc "github.com/cosmos/cosmos-sdk/x/authz/codec" + // this line is used by starport scaffolding # 1 + "github.com/cosmos/cosmos-sdk/types/msgservice" +) + +const ModuleName = "permissions" + +func RegisterCodec(cdc *codec.LegacyAmino) { + cdc.RegisterConcrete(&MsgUpdateParams{}, "permissions/MsgUpdateParams", nil) + cdc.RegisterConcrete(&MsgCreateNamespace{}, "permissions/MsgCreateNamespace", nil) + cdc.RegisterConcrete(&MsgDeleteNamespace{}, "permissions/MsgDeleteNamespace", nil) + cdc.RegisterConcrete(&MsgUpdateNamespace{}, "permissions/MsgUpdateNamespace", nil) + cdc.RegisterConcrete(&MsgUpdateNamespaceRoles{}, "permissions/MsgUpdateNamespaceRoles", nil) + cdc.RegisterConcrete(&MsgRevokeNamespaceRoles{}, "permissions/MsgRevokeNamespaceRoles", nil) + cdc.RegisterConcrete(&MsgClaimVoucher{}, "permissions/MsgClaimVoucher", nil) +} + +func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgUpdateParams{}, + &MsgCreateNamespace{}, + &MsgDeleteNamespace{}, + &MsgUpdateNamespace{}, + &MsgUpdateNamespaceRoles{}, + &MsgRevokeNamespaceRoles{}, + &MsgClaimVoucher{}, + ) + + msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) +} + +var ( + ModuleCdc = codec.NewLegacyAmino() +) + +func init() { + RegisterCodec(ModuleCdc) + // Register all Amino interfaces and concrete types on the authz Amino codec so that this can later be + // used to properly serialize MsgGrant and MsgExec instances + sdk.RegisterLegacyAminoCodec(ModuleCdc) + RegisterCodec(authzcdc.Amino) + ModuleCdc.Seal() +} diff --git a/chain/permissions/types/errors.go b/chain/permissions/types/errors.go new file mode 100644 index 00000000..2ad6e08d --- /dev/null +++ b/chain/permissions/types/errors.go @@ -0,0 +1,23 @@ +package types + +// DONTCOVER + +import ( + "cosmossdk.io/errors" +) + +// x/tokenfactory module sentinel errors +var ( + ErrDenomNamespaceExists = errors.Register(ModuleName, 2, "attempting to create a namespace for denom that already exists") + ErrUnauthorized = errors.Register(ModuleName, 3, "unauthorized account") + ErrInvalidGenesis = errors.Register(ModuleName, 4, "invalid genesis") + ErrInvalidNamespaceAdmin = errors.Register(ModuleName, 5, "invalid admin") + ErrInvalidPermission = errors.Register(ModuleName, 6, "invalid permissions") + ErrUnknownRole = errors.Register(ModuleName, 7, "unknown role") + ErrUnknownWasmHook = errors.Register(ModuleName, 8, "unknown contract address") + ErrRestrictedAction = errors.Register(ModuleName, 9, "restricted action") + ErrInvalidRole = errors.Register(ModuleName, 10, "invalid role") + ErrUnknownDenom = errors.Register(ModuleName, 11, "namespace for denom is not existing") + ErrWasmHookError = errors.Register(ModuleName, 12, "wasm hook query error") + ErrVoucherNotFound = errors.Register(ModuleName, 13, "voucher was not found") +) diff --git a/chain/permissions/types/events.pb.go b/chain/permissions/types/events.pb.go new file mode 100644 index 00000000..5073c605 --- /dev/null +++ b/chain/permissions/types/events.pb.go @@ -0,0 +1,45 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: injective/permissions/v1beta1/events.proto + +package types + +import ( + fmt "fmt" + _ "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/cosmos-sdk/x/bank/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" + math "math" +) + +// 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 + +func init() { + proto.RegisterFile("injective/permissions/v1beta1/events.proto", fileDescriptor_705c3e21b20426fa) +} + +var fileDescriptor_705c3e21b20426fa = []byte{ + // 202 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0xca, 0xcc, 0xcb, 0x4a, + 0x4d, 0x2e, 0xc9, 0x2c, 0x4b, 0xd5, 0x2f, 0x48, 0x2d, 0xca, 0xcd, 0x2c, 0x2e, 0xce, 0xcc, 0xcf, + 0x2b, 0xd6, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x4f, 0x2d, 0x4b, 0xcd, 0x2b, 0x29, + 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0x85, 0xab, 0xd5, 0x43, 0x52, 0xab, 0x07, 0x55, + 0x2b, 0x25, 0x92, 0x9e, 0x9f, 0x9e, 0x0f, 0x56, 0xa9, 0x0f, 0x62, 0x41, 0x34, 0x49, 0xc9, 0x25, + 0xe7, 0x17, 0xe7, 0xe6, 0x17, 0xeb, 0x27, 0x25, 0x16, 0xa7, 0xc2, 0x8d, 0x4d, 0xce, 0xcf, 0xcc, + 0xc3, 0x90, 0xcf, 0xcb, 0x86, 0xcb, 0x83, 0x38, 0x10, 0x79, 0xa7, 0xec, 0x13, 0x8f, 0xe4, 0x18, + 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, + 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x88, 0x0a, 0x4c, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, + 0xcf, 0xd5, 0xf7, 0x84, 0xb9, 0xcc, 0x27, 0x31, 0xa9, 0x58, 0x1f, 0xee, 0x4e, 0xdd, 0xe4, 0xfc, + 0xa2, 0x54, 0x64, 0x6e, 0x46, 0x62, 0x66, 0x9e, 0x7e, 0x6e, 0x7e, 0x4a, 0x69, 0x4e, 0x6a, 0x31, + 0x8a, 0x87, 0x4b, 0x2a, 0x0b, 0x52, 0x8b, 0x93, 0xd8, 0xc0, 0x76, 0x1a, 0x03, 0x02, 0x00, 0x00, + 0xff, 0xff, 0xf5, 0x22, 0x59, 0x7e, 0x16, 0x01, 0x00, 0x00, +} diff --git a/chain/permissions/types/expected_keepers.go b/chain/permissions/types/expected_keepers.go new file mode 100644 index 00000000..3fdbb230 --- /dev/null +++ b/chain/permissions/types/expected_keepers.go @@ -0,0 +1,26 @@ +package types + +import ( + "context" + + sdk "github.com/cosmos/cosmos-sdk/types" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + + tftypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types" +) + +type BankKeeper interface { + AppendSendRestriction(restriction banktypes.SendRestrictionFn) + PrependSendRestriction(restriction banktypes.SendRestrictionFn) + ClearSendRestriction() + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error +} + +type TokenFactoryKeeper interface { + GetAuthorityMetadata(ctx sdk.Context, denom string) (tftypes.DenomAuthorityMetadata, error) +} + +type WasmKeeper interface { + HasContractInfo(ctx context.Context, contractAddress sdk.AccAddress) bool + QuerySmart(ctx context.Context, contractAddr sdk.AccAddress, req []byte) ([]byte, error) +} diff --git a/chain/permissions/types/genesis.go b/chain/permissions/types/genesis.go new file mode 100644 index 00000000..4eff5bb7 --- /dev/null +++ b/chain/permissions/types/genesis.go @@ -0,0 +1,38 @@ +package types + +import ( + "cosmossdk.io/errors" +) + +// this line is used by starport scaffolding # genesis/types/import + +// DefaultIndex is the default capability global index +const DefaultIndex uint64 = 1 + +// DefaultGenesis returns the default Capability genesis state +func DefaultGenesis() *GenesisState { + return &GenesisState{ + Params: DefaultParams(), + Namespaces: []Namespace{}, + } +} + +// Validate performs basic genesis state validation returning an error upon any +// failure. +func (gs GenesisState) Validate() error { + err := gs.Params.Validate() + if err != nil { + return err + } + + seenDenoms := map[string]struct{}{} + + for _, ns := range gs.GetNamespaces() { + if _, ok := seenDenoms[ns.GetDenom()]; ok { + return errors.Wrapf(ErrInvalidGenesis, "duplicate denom: %s", ns.GetDenom()) + } + seenDenoms[ns.GetDenom()] = struct{}{} + } + + return nil +} diff --git a/chain/permissions/types/genesis.pb.go b/chain/permissions/types/genesis.pb.go new file mode 100644 index 00000000..f4b7b7d6 --- /dev/null +++ b/chain/permissions/types/genesis.pb.go @@ -0,0 +1,390 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: injective/permissions/v1beta1/genesis.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 + +// GenesisState defines the permissions module's genesis state. +type GenesisState struct { + // params defines the parameters of the module. + Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` + Namespaces []Namespace `protobuf:"bytes,2,rep,name=namespaces,proto3" json:"namespaces"` +} + +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_5ff1982ce1793022, []int{0} +} +func (m *GenesisState) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *GenesisState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_GenesisState.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 *GenesisState) XXX_Merge(src proto.Message) { + xxx_messageInfo_GenesisState.Merge(m, src) +} +func (m *GenesisState) XXX_Size() int { + return m.Size() +} +func (m *GenesisState) XXX_DiscardUnknown() { + xxx_messageInfo_GenesisState.DiscardUnknown(m) +} + +var xxx_messageInfo_GenesisState proto.InternalMessageInfo + +func (m *GenesisState) GetParams() Params { + if m != nil { + return m.Params + } + return Params{} +} + +func (m *GenesisState) GetNamespaces() []Namespace { + if m != nil { + return m.Namespaces + } + return nil +} + +func init() { + proto.RegisterType((*GenesisState)(nil), "injective.permissions.v1beta1.GenesisState") +} + +func init() { + proto.RegisterFile("injective/permissions/v1beta1/genesis.proto", fileDescriptor_5ff1982ce1793022) +} + +var fileDescriptor_5ff1982ce1793022 = []byte{ + // 270 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0xce, 0xcc, 0xcb, 0x4a, + 0x4d, 0x2e, 0xc9, 0x2c, 0x4b, 0xd5, 0x2f, 0x48, 0x2d, 0xca, 0xcd, 0x2c, 0x2e, 0xce, 0xcc, 0xcf, + 0x2b, 0xd6, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x4f, 0x4f, 0xcd, 0x4b, 0x2d, 0xce, + 0x2c, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0x85, 0x2b, 0xd6, 0x43, 0x52, 0xac, 0x07, + 0x55, 0x2c, 0x25, 0x92, 0x9e, 0x9f, 0x9e, 0x0f, 0x56, 0xa9, 0x0f, 0x62, 0x41, 0x34, 0x49, 0x69, + 0xe1, 0xb7, 0xa1, 0x20, 0xb1, 0x28, 0x31, 0x17, 0x6a, 0x81, 0x94, 0x3e, 0x01, 0xb5, 0x48, 0x96, + 0x82, 0x35, 0x28, 0x2d, 0x66, 0xe4, 0xe2, 0x71, 0x87, 0xb8, 0x31, 0xb8, 0x24, 0xb1, 0x24, 0x55, + 0xc8, 0x99, 0x8b, 0x0d, 0x62, 0xa2, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0xb7, 0x91, 0xaa, 0x1e, 0x5e, + 0x37, 0xeb, 0x05, 0x80, 0x15, 0x3b, 0xb1, 0x9c, 0xb8, 0x27, 0xcf, 0x10, 0x04, 0xd5, 0x2a, 0xe4, + 0xc7, 0xc5, 0x95, 0x97, 0x98, 0x9b, 0x5a, 0x5c, 0x90, 0x98, 0x9c, 0x5a, 0x2c, 0xc1, 0xa4, 0xc0, + 0xac, 0xc1, 0x6d, 0xa4, 0x41, 0xc0, 0x20, 0x3f, 0x98, 0x06, 0xa8, 0x59, 0x48, 0x26, 0x38, 0x65, + 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, 0x54, 0x60, 0x7a, 0x66, 0x49, 0x46, + 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0xbe, 0x27, 0xcc, 0x7c, 0x9f, 0xc4, 0xa4, 0x62, 0x44, 0x48, + 0xe8, 0x26, 0xe7, 0x17, 0xa5, 0x22, 0x73, 0x33, 0x12, 0x33, 0xf3, 0xf4, 0x73, 0xf3, 0x53, 0x4a, + 0x73, 0x52, 0x8b, 0x51, 0x82, 0xa9, 0xa4, 0xb2, 0x20, 0xb5, 0x38, 0x89, 0x0d, 0x1c, 0x32, 0xc6, + 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb9, 0x0c, 0xe9, 0xc0, 0xda, 0x01, 0x00, 0x00, +} + +func (m *GenesisState) 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 *GenesisState) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Namespaces) > 0 { + for iNdEx := len(m.Namespaces) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Namespaces[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func encodeVarintGenesis(dAtA []byte, offset int, v uint64) int { + offset -= sovGenesis(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *GenesisState) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Params.Size() + n += 1 + l + sovGenesis(uint64(l)) + if len(m.Namespaces) > 0 { + for _, e := range m.Namespaces { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + return n +} + +func sovGenesis(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozGenesis(x uint64) (n int) { + return sovGenesis(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *GenesisState) 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: GenesisState: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GenesisState: 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 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.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Namespaces", 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 + } + m.Namespaces = append(m.Namespaces, Namespace{}) + if err := m.Namespaces[len(m.Namespaces)-1].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 skipGenesis(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, ErrIntOverflowGenesis + } + 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, ErrIntOverflowGenesis + } + 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, ErrIntOverflowGenesis + } + 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, ErrInvalidLengthGenesis + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupGenesis + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthGenesis + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthGenesis = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGenesis = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupGenesis = fmt.Errorf("proto: unexpected end of group") +) diff --git a/chain/permissions/types/params.go b/chain/permissions/types/params.go new file mode 100644 index 00000000..c8ff643e --- /dev/null +++ b/chain/permissions/types/params.go @@ -0,0 +1,33 @@ +package types + +import ( + paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" +) + +// ParamTable +func ParamKeyTable() paramtypes.KeyTable { + return paramtypes.NewKeyTable().RegisterParamSet(&Params{}) +} + +func NewParams(wasmHookQueryMaxGas uint64) Params { + return Params{ + WasmHookQueryMaxGas: wasmHookQueryMaxGas, + } +} + +// default module parameters. +func DefaultParams() Params { + return Params{ + WasmHookQueryMaxGas: 200_000, + } +} + +// validate params. +func (p Params) Validate() error { + return nil +} + +// Implements params.ParamSet. +func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { + return paramtypes.ParamSetPairs{} +} diff --git a/chain/permissions/types/params.pb.go b/chain/permissions/types/params.pb.go new file mode 100644 index 00000000..291c992a --- /dev/null +++ b/chain/permissions/types/params.pb.go @@ -0,0 +1,337 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: injective/permissions/v1beta1/params.proto + +package types + +import ( + fmt "fmt" + _ "github.com/cosmos/cosmos-proto" + _ "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "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 + +// Params defines the parameters for the permissions module. +type Params struct { + WasmHookQueryMaxGas uint64 `protobuf:"varint,1,opt,name=wasm_hook_query_max_gas,json=wasmHookQueryMaxGas,proto3" json:"wasm_hook_query_max_gas,omitempty"` +} + +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_4a7ea0496163621f, []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) GetWasmHookQueryMaxGas() uint64 { + if m != nil { + return m.WasmHookQueryMaxGas + } + return 0 +} + +func init() { + proto.RegisterType((*Params)(nil), "injective.permissions.v1beta1.Params") +} + +func init() { + proto.RegisterFile("injective/permissions/v1beta1/params.proto", fileDescriptor_4a7ea0496163621f) +} + +var fileDescriptor_4a7ea0496163621f = []byte{ + // 287 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0x31, 0x4e, 0xc3, 0x30, + 0x14, 0x86, 0x6b, 0x09, 0x75, 0xc8, 0x46, 0x40, 0x02, 0x8a, 0x30, 0x88, 0x09, 0x55, 0x22, 0x56, + 0x05, 0x13, 0x23, 0x0b, 0x20, 0x81, 0x44, 0x19, 0x61, 0x88, 0x5e, 0x82, 0x95, 0x98, 0xe0, 0xbc, + 0x90, 0xe7, 0x94, 0xf6, 0x0a, 0x4c, 0x1c, 0x81, 0x23, 0x70, 0x0c, 0xc6, 0x8e, 0x8c, 0x28, 0x19, + 0xe0, 0x18, 0x28, 0x71, 0x88, 0xc2, 0x62, 0xf9, 0xf7, 0xf7, 0xdb, 0x7e, 0xff, 0xef, 0x8c, 0x55, + 0xfa, 0x20, 0x43, 0xa3, 0x66, 0x52, 0x64, 0x32, 0xd7, 0x8a, 0x48, 0x61, 0x4a, 0x62, 0x36, 0x09, + 0xa4, 0x81, 0x89, 0xc8, 0x20, 0x07, 0x4d, 0x5e, 0x96, 0xa3, 0x41, 0x77, 0xa7, 0xf3, 0x7a, 0x3d, + 0xaf, 0xd7, 0x7a, 0x47, 0xeb, 0x11, 0x46, 0xd8, 0x38, 0x45, 0xbd, 0xb3, 0x97, 0x46, 0x5b, 0x21, + 0x92, 0x46, 0xf2, 0x2d, 0xb0, 0xa2, 0x45, 0xdc, 0x2a, 0x11, 0x00, 0xc9, 0xee, 0xc7, 0x10, 0x55, + 0xda, 0xf2, 0x55, 0xd0, 0x2a, 0x45, 0xd1, 0xac, 0xf6, 0x68, 0xff, 0xce, 0x19, 0x5e, 0x37, 0x23, + 0xb9, 0xc7, 0xce, 0xc6, 0x33, 0x90, 0xf6, 0x63, 0xc4, 0xc4, 0x7f, 0x2a, 0x64, 0xbe, 0xf0, 0x35, + 0xcc, 0xfd, 0x08, 0x68, 0x93, 0xed, 0xb1, 0x83, 0x95, 0x9b, 0xb5, 0x1a, 0x9f, 0x23, 0x26, 0xd3, + 0x1a, 0x5e, 0xc1, 0xfc, 0x0c, 0xe8, 0x64, 0xfb, 0xe7, 0x6d, 0x97, 0xbd, 0x7c, 0xbf, 0x8f, 0xdd, + 0x7e, 0x5a, 0xfb, 0xe4, 0x69, 0xf2, 0x51, 0x72, 0xb6, 0x2c, 0x39, 0xfb, 0x2a, 0x39, 0x7b, 0xad, + 0xf8, 0x60, 0x59, 0xf1, 0xc1, 0x67, 0xc5, 0x07, 0xb7, 0xd3, 0x48, 0x99, 0xb8, 0x08, 0xbc, 0x10, + 0xb5, 0xb8, 0xf8, 0x2b, 0xe1, 0x12, 0x02, 0x12, 0x5d, 0x25, 0x87, 0x21, 0xe6, 0xb2, 0x2f, 0x63, + 0x50, 0xa9, 0xd0, 0x78, 0x5f, 0x3c, 0x4a, 0xfa, 0xd7, 0xad, 0x59, 0x64, 0x92, 0x82, 0x61, 0x13, + 0xe8, 0xe8, 0x37, 0x00, 0x00, 0xff, 0xff, 0xc7, 0x42, 0x3f, 0x45, 0x81, 0x01, 0x00, 0x00, +} + +func (this *Params) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Params) + if !ok { + that2, ok := that.(Params) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.WasmHookQueryMaxGas != that1.WasmHookQueryMaxGas { + return false + } + return true +} +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 m.WasmHookQueryMaxGas != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.WasmHookQueryMaxGas)) + i-- + dAtA[i] = 0x8 + } + 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 + if m.WasmHookQueryMaxGas != 0 { + n += 1 + sovParams(uint64(m.WasmHookQueryMaxGas)) + } + 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 != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field WasmHookQueryMaxGas", wireType) + } + m.WasmHookQueryMaxGas = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.WasmHookQueryMaxGas |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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/permissions/types/permissions.pb.go b/chain/permissions/types/permissions.pb.go new file mode 100644 index 00000000..8dac3cbb --- /dev/null +++ b/chain/permissions/types/permissions.pb.go @@ -0,0 +1,1748 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: injective/permissions/v1beta1/permissions.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 + +// each Action enum value should be a power of two +type Action int32 + +const ( + Action_UNSPECIFIED Action = 0 + Action_MINT Action = 1 + Action_RECEIVE Action = 2 + Action_BURN Action = 4 +) + +var Action_name = map[int32]string{ + 0: "UNSPECIFIED", + 1: "MINT", + 2: "RECEIVE", + 4: "BURN", +} + +var Action_value = map[string]int32{ + "UNSPECIFIED": 0, + "MINT": 1, + "RECEIVE": 2, + "BURN": 4, +} + +func (x Action) String() string { + return proto.EnumName(Action_name, int32(x)) +} + +func (Action) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_6d25f3ecf3806c6c, []int{0} +} + +// Namespace defines a permissions namespace +type Namespace struct { + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + WasmHook string `protobuf:"bytes,2,opt,name=wasm_hook,json=wasmHook,proto3" json:"wasm_hook,omitempty"` + MintsPaused bool `protobuf:"varint,3,opt,name=mints_paused,json=mintsPaused,proto3" json:"mints_paused,omitempty"` + SendsPaused bool `protobuf:"varint,4,opt,name=sends_paused,json=sendsPaused,proto3" json:"sends_paused,omitempty"` + BurnsPaused bool `protobuf:"varint,5,opt,name=burns_paused,json=burnsPaused,proto3" json:"burns_paused,omitempty"` + RolePermissions []*Role `protobuf:"bytes,6,rep,name=role_permissions,json=rolePermissions,proto3" json:"role_permissions,omitempty"` + AddressRoles []*AddressRoles `protobuf:"bytes,7,rep,name=address_roles,json=addressRoles,proto3" json:"address_roles,omitempty"` +} + +func (m *Namespace) Reset() { *m = Namespace{} } +func (m *Namespace) String() string { return proto.CompactTextString(m) } +func (*Namespace) ProtoMessage() {} +func (*Namespace) Descriptor() ([]byte, []int) { + return fileDescriptor_6d25f3ecf3806c6c, []int{0} +} +func (m *Namespace) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Namespace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Namespace.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 *Namespace) XXX_Merge(src proto.Message) { + xxx_messageInfo_Namespace.Merge(m, src) +} +func (m *Namespace) XXX_Size() int { + return m.Size() +} +func (m *Namespace) XXX_DiscardUnknown() { + xxx_messageInfo_Namespace.DiscardUnknown(m) +} + +var xxx_messageInfo_Namespace proto.InternalMessageInfo + +func (m *Namespace) GetDenom() string { + if m != nil { + return m.Denom + } + return "" +} + +func (m *Namespace) GetWasmHook() string { + if m != nil { + return m.WasmHook + } + return "" +} + +func (m *Namespace) GetMintsPaused() bool { + if m != nil { + return m.MintsPaused + } + return false +} + +func (m *Namespace) GetSendsPaused() bool { + if m != nil { + return m.SendsPaused + } + return false +} + +func (m *Namespace) GetBurnsPaused() bool { + if m != nil { + return m.BurnsPaused + } + return false +} + +func (m *Namespace) GetRolePermissions() []*Role { + if m != nil { + return m.RolePermissions + } + return nil +} + +func (m *Namespace) GetAddressRoles() []*AddressRoles { + if m != nil { + return m.AddressRoles + } + return nil +} + +type AddressRoles struct { + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` +} + +func (m *AddressRoles) Reset() { *m = AddressRoles{} } +func (m *AddressRoles) String() string { return proto.CompactTextString(m) } +func (*AddressRoles) ProtoMessage() {} +func (*AddressRoles) Descriptor() ([]byte, []int) { + return fileDescriptor_6d25f3ecf3806c6c, []int{1} +} +func (m *AddressRoles) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AddressRoles) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AddressRoles.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 *AddressRoles) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddressRoles.Merge(m, src) +} +func (m *AddressRoles) XXX_Size() int { + return m.Size() +} +func (m *AddressRoles) XXX_DiscardUnknown() { + xxx_messageInfo_AddressRoles.DiscardUnknown(m) +} + +var xxx_messageInfo_AddressRoles proto.InternalMessageInfo + +func (m *AddressRoles) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + +func (m *AddressRoles) GetRoles() []string { + if m != nil { + return m.Roles + } + return nil +} + +// Role is only used for storage +type Role struct { + Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` + Permissions uint32 `protobuf:"varint,2,opt,name=permissions,proto3" json:"permissions,omitempty"` +} + +func (m *Role) Reset() { *m = Role{} } +func (m *Role) String() string { return proto.CompactTextString(m) } +func (*Role) ProtoMessage() {} +func (*Role) Descriptor() ([]byte, []int) { + return fileDescriptor_6d25f3ecf3806c6c, []int{2} +} +func (m *Role) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Role) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Role.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 *Role) XXX_Merge(src proto.Message) { + xxx_messageInfo_Role.Merge(m, src) +} +func (m *Role) XXX_Size() int { + return m.Size() +} +func (m *Role) XXX_DiscardUnknown() { + xxx_messageInfo_Role.DiscardUnknown(m) +} + +var xxx_messageInfo_Role proto.InternalMessageInfo + +func (m *Role) GetRole() string { + if m != nil { + return m.Role + } + return "" +} + +func (m *Role) GetPermissions() uint32 { + if m != nil { + return m.Permissions + } + return 0 +} + +// used in storage +type RoleIDs struct { + RoleIds []uint32 `protobuf:"varint,1,rep,packed,name=role_ids,json=roleIds,proto3" json:"role_ids,omitempty"` +} + +func (m *RoleIDs) Reset() { *m = RoleIDs{} } +func (m *RoleIDs) String() string { return proto.CompactTextString(m) } +func (*RoleIDs) ProtoMessage() {} +func (*RoleIDs) Descriptor() ([]byte, []int) { + return fileDescriptor_6d25f3ecf3806c6c, []int{3} +} +func (m *RoleIDs) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RoleIDs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RoleIDs.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 *RoleIDs) XXX_Merge(src proto.Message) { + xxx_messageInfo_RoleIDs.Merge(m, src) +} +func (m *RoleIDs) XXX_Size() int { + return m.Size() +} +func (m *RoleIDs) XXX_DiscardUnknown() { + xxx_messageInfo_RoleIDs.DiscardUnknown(m) +} + +var xxx_messageInfo_RoleIDs proto.InternalMessageInfo + +func (m *RoleIDs) GetRoleIds() []uint32 { + if m != nil { + return m.RoleIds + } + return nil +} + +type Voucher struct { + Coins github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,1,rep,name=coins,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"coins"` +} + +func (m *Voucher) Reset() { *m = Voucher{} } +func (m *Voucher) String() string { return proto.CompactTextString(m) } +func (*Voucher) ProtoMessage() {} +func (*Voucher) Descriptor() ([]byte, []int) { + return fileDescriptor_6d25f3ecf3806c6c, []int{4} +} +func (m *Voucher) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Voucher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Voucher.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 *Voucher) XXX_Merge(src proto.Message) { + xxx_messageInfo_Voucher.Merge(m, src) +} +func (m *Voucher) XXX_Size() int { + return m.Size() +} +func (m *Voucher) XXX_DiscardUnknown() { + xxx_messageInfo_Voucher.DiscardUnknown(m) +} + +var xxx_messageInfo_Voucher proto.InternalMessageInfo + +func (m *Voucher) GetCoins() github_com_cosmos_cosmos_sdk_types.Coins { + if m != nil { + return m.Coins + } + return nil +} + +type AddressVoucher struct { + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Voucher *Voucher `protobuf:"bytes,2,opt,name=voucher,proto3" json:"voucher,omitempty"` +} + +func (m *AddressVoucher) Reset() { *m = AddressVoucher{} } +func (m *AddressVoucher) String() string { return proto.CompactTextString(m) } +func (*AddressVoucher) ProtoMessage() {} +func (*AddressVoucher) Descriptor() ([]byte, []int) { + return fileDescriptor_6d25f3ecf3806c6c, []int{5} +} +func (m *AddressVoucher) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AddressVoucher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AddressVoucher.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 *AddressVoucher) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddressVoucher.Merge(m, src) +} +func (m *AddressVoucher) XXX_Size() int { + return m.Size() +} +func (m *AddressVoucher) XXX_DiscardUnknown() { + xxx_messageInfo_AddressVoucher.DiscardUnknown(m) +} + +var xxx_messageInfo_AddressVoucher proto.InternalMessageInfo + +func (m *AddressVoucher) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + +func (m *AddressVoucher) GetVoucher() *Voucher { + if m != nil { + return m.Voucher + } + return nil +} + +func init() { + proto.RegisterEnum("injective.permissions.v1beta1.Action", Action_name, Action_value) + proto.RegisterType((*Namespace)(nil), "injective.permissions.v1beta1.Namespace") + proto.RegisterType((*AddressRoles)(nil), "injective.permissions.v1beta1.AddressRoles") + proto.RegisterType((*Role)(nil), "injective.permissions.v1beta1.Role") + proto.RegisterType((*RoleIDs)(nil), "injective.permissions.v1beta1.RoleIDs") + proto.RegisterType((*Voucher)(nil), "injective.permissions.v1beta1.Voucher") + proto.RegisterType((*AddressVoucher)(nil), "injective.permissions.v1beta1.AddressVoucher") +} + +func init() { + proto.RegisterFile("injective/permissions/v1beta1/permissions.proto", fileDescriptor_6d25f3ecf3806c6c) +} + +var fileDescriptor_6d25f3ecf3806c6c = []byte{ + // 567 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x53, 0x4d, 0x8f, 0xd2, 0x4e, + 0x18, 0xa7, 0xbc, 0x15, 0xa6, 0xf0, 0x5f, 0x32, 0xd9, 0x43, 0x77, 0xff, 0xb1, 0x8b, 0xd5, 0x18, + 0xa2, 0xd9, 0xd6, 0xc5, 0x9b, 0x31, 0xc6, 0x85, 0xc5, 0xd8, 0x44, 0x09, 0x56, 0x77, 0x0f, 0x5e, + 0x48, 0x5f, 0x26, 0x30, 0x42, 0x3b, 0xa4, 0x4f, 0xc1, 0xf8, 0x2d, 0xfc, 0x1c, 0x7e, 0x92, 0xf5, + 0xb6, 0x47, 0x4f, 0x6a, 0xe0, 0x8b, 0x98, 0x99, 0x29, 0x50, 0x0f, 0xba, 0x27, 0xfa, 0xfc, 0x5e, + 0x9e, 0xe1, 0xf9, 0xcd, 0x33, 0xc8, 0xa6, 0xf1, 0x47, 0x12, 0xa4, 0x74, 0x45, 0xec, 0x05, 0x49, + 0x22, 0x0a, 0x40, 0x59, 0x0c, 0xf6, 0xea, 0xcc, 0x27, 0xa9, 0x77, 0x96, 0xc7, 0xac, 0x45, 0xc2, + 0x52, 0x86, 0xef, 0xec, 0x0c, 0x56, 0x9e, 0xcc, 0x0c, 0xc7, 0x87, 0x13, 0x36, 0x61, 0x42, 0x69, + 0xf3, 0x2f, 0x69, 0x3a, 0x36, 0x02, 0x06, 0x11, 0x03, 0xdb, 0xf7, 0x80, 0xec, 0x7a, 0x07, 0x8c, + 0xc6, 0x92, 0x37, 0xbf, 0x15, 0x51, 0x7d, 0xe8, 0x45, 0x04, 0x16, 0x5e, 0x40, 0xf0, 0x21, 0xaa, + 0x84, 0x24, 0x66, 0x91, 0xae, 0xb4, 0x95, 0x4e, 0xdd, 0x95, 0x05, 0xfe, 0x1f, 0xd5, 0x3f, 0x79, + 0x10, 0x8d, 0xa7, 0x8c, 0xcd, 0xf4, 0xa2, 0x60, 0x6a, 0x1c, 0x78, 0xc5, 0xd8, 0x0c, 0xdf, 0x45, + 0x8d, 0x88, 0xc6, 0x29, 0x8c, 0x17, 0xde, 0x12, 0x48, 0xa8, 0x97, 0xda, 0x4a, 0xa7, 0xe6, 0x6a, + 0x02, 0x1b, 0x09, 0x88, 0x4b, 0x80, 0xc4, 0xe1, 0x4e, 0x52, 0x96, 0x12, 0x81, 0xed, 0x25, 0xfe, + 0x32, 0x89, 0x77, 0x92, 0x8a, 0x94, 0x08, 0x2c, 0x93, 0x0c, 0x51, 0x2b, 0x61, 0x73, 0x32, 0xce, + 0xcd, 0xae, 0x57, 0xdb, 0xa5, 0x8e, 0xd6, 0xbd, 0x67, 0xfd, 0x33, 0x19, 0xcb, 0x65, 0x73, 0xe2, + 0x1e, 0x70, 0xf3, 0x68, 0xcf, 0xe2, 0x11, 0x6a, 0x7a, 0x61, 0x98, 0x10, 0x80, 0x31, 0xa7, 0x40, + 0x57, 0x45, 0xb3, 0x47, 0xb7, 0x34, 0x3b, 0x97, 0x1e, 0xde, 0x13, 0xdc, 0x86, 0x97, 0xab, 0xcc, + 0xe7, 0xa8, 0x91, 0x67, 0xb1, 0x8e, 0xd4, 0x8c, 0xcf, 0xf2, 0xdc, 0x96, 0x3c, 0x67, 0x79, 0x66, + 0xb1, 0x5d, 0xe2, 0x39, 0x8b, 0xc2, 0x7c, 0x86, 0xca, 0xdc, 0x88, 0x31, 0x2a, 0x73, 0x20, 0x33, + 0x89, 0x6f, 0xdc, 0x46, 0x5a, 0x7e, 0x70, 0x7e, 0x0b, 0x4d, 0x37, 0x0f, 0x99, 0xf7, 0x91, 0xca, + 0xdd, 0xce, 0x05, 0xe0, 0x23, 0x54, 0x13, 0x51, 0xd1, 0x90, 0x9f, 0x5c, 0xea, 0x34, 0x5d, 0x95, + 0xd7, 0x4e, 0x08, 0xe6, 0x1c, 0xa9, 0x57, 0x6c, 0x19, 0x4c, 0x49, 0x82, 0x3d, 0x54, 0xe1, 0x8b, + 0x20, 0x25, 0x5a, 0xf7, 0xc8, 0x92, 0xab, 0x62, 0xf1, 0x55, 0xd9, 0x8d, 0xdb, 0x67, 0x34, 0xee, + 0x3d, 0xbe, 0xfe, 0x71, 0x52, 0xf8, 0xfa, 0xf3, 0xa4, 0x33, 0xa1, 0xe9, 0x74, 0xe9, 0x5b, 0x01, + 0x8b, 0xec, 0x6c, 0xaf, 0xe4, 0xcf, 0x29, 0x84, 0x33, 0x3b, 0xfd, 0xbc, 0x20, 0x20, 0x0c, 0xe0, + 0xca, 0xce, 0xe6, 0x1c, 0xfd, 0x97, 0x25, 0xb2, 0x3d, 0xf4, 0xef, 0x99, 0xbc, 0x40, 0xea, 0x4a, + 0x8a, 0xc4, 0x74, 0x5a, 0xf7, 0xc1, 0x2d, 0x37, 0x91, 0xb5, 0x74, 0xb7, 0xb6, 0x87, 0x4f, 0x51, + 0xf5, 0x3c, 0x48, 0x29, 0x8b, 0xf1, 0x01, 0xd2, 0x2e, 0x87, 0xef, 0x46, 0x83, 0xbe, 0xf3, 0xd2, + 0x19, 0x5c, 0xb4, 0x0a, 0xb8, 0x86, 0xca, 0x6f, 0x9c, 0xe1, 0xfb, 0x96, 0x82, 0x35, 0xa4, 0xba, + 0x83, 0xfe, 0xc0, 0xb9, 0x1a, 0xb4, 0x8a, 0x1c, 0xee, 0x5d, 0xba, 0xc3, 0x56, 0xb9, 0x37, 0xbb, + 0x5e, 0x1b, 0xca, 0xcd, 0xda, 0x50, 0x7e, 0xad, 0x0d, 0xe5, 0xcb, 0xc6, 0x28, 0xdc, 0x6c, 0x8c, + 0xc2, 0xf7, 0x8d, 0x51, 0xf8, 0xf0, 0x36, 0x37, 0xb4, 0xb3, 0xfd, 0x43, 0xaf, 0x3d, 0x1f, 0xf6, + 0x0f, 0xf8, 0x34, 0x60, 0x09, 0xc9, 0x97, 0x53, 0x8f, 0xc6, 0x76, 0xc4, 0xc2, 0xe5, 0x9c, 0xc0, + 0x1f, 0xaf, 0x5b, 0x64, 0xe4, 0x57, 0xc5, 0xdb, 0x7b, 0xf2, 0x3b, 0x00, 0x00, 0xff, 0xff, 0xf3, + 0xf2, 0xce, 0xa8, 0x03, 0x04, 0x00, 0x00, +} + +func (m *Namespace) 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 *Namespace) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Namespace) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.AddressRoles) > 0 { + for iNdEx := len(m.AddressRoles) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.AddressRoles[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPermissions(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x3a + } + } + if len(m.RolePermissions) > 0 { + for iNdEx := len(m.RolePermissions) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.RolePermissions[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPermissions(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + } + } + if m.BurnsPaused { + i-- + if m.BurnsPaused { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if m.SendsPaused { + i-- + if m.SendsPaused { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.MintsPaused { + i-- + if m.MintsPaused { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if len(m.WasmHook) > 0 { + i -= len(m.WasmHook) + copy(dAtA[i:], m.WasmHook) + i = encodeVarintPermissions(dAtA, i, uint64(len(m.WasmHook))) + i-- + dAtA[i] = 0x12 + } + if len(m.Denom) > 0 { + i -= len(m.Denom) + copy(dAtA[i:], m.Denom) + i = encodeVarintPermissions(dAtA, i, uint64(len(m.Denom))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *AddressRoles) 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 *AddressRoles) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *AddressRoles) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Roles) > 0 { + for iNdEx := len(m.Roles) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Roles[iNdEx]) + copy(dAtA[i:], m.Roles[iNdEx]) + i = encodeVarintPermissions(dAtA, i, uint64(len(m.Roles[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + if len(m.Address) > 0 { + i -= len(m.Address) + copy(dAtA[i:], m.Address) + i = encodeVarintPermissions(dAtA, i, uint64(len(m.Address))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *Role) 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 *Role) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Role) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Permissions != 0 { + i = encodeVarintPermissions(dAtA, i, uint64(m.Permissions)) + i-- + dAtA[i] = 0x10 + } + if len(m.Role) > 0 { + i -= len(m.Role) + copy(dAtA[i:], m.Role) + i = encodeVarintPermissions(dAtA, i, uint64(len(m.Role))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *RoleIDs) 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 *RoleIDs) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RoleIDs) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.RoleIds) > 0 { + dAtA2 := make([]byte, len(m.RoleIds)*10) + var j1 int + for _, num := range m.RoleIds { + 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 = encodeVarintPermissions(dAtA, i, uint64(j1)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *Voucher) 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 *Voucher) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Voucher) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Coins) > 0 { + for iNdEx := len(m.Coins) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Coins[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPermissions(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *AddressVoucher) 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 *AddressVoucher) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *AddressVoucher) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Voucher != nil { + { + size, err := m.Voucher.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPermissions(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Address) > 0 { + i -= len(m.Address) + copy(dAtA[i:], m.Address) + i = encodeVarintPermissions(dAtA, i, uint64(len(m.Address))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintPermissions(dAtA []byte, offset int, v uint64) int { + offset -= sovPermissions(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *Namespace) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Denom) + if l > 0 { + n += 1 + l + sovPermissions(uint64(l)) + } + l = len(m.WasmHook) + if l > 0 { + n += 1 + l + sovPermissions(uint64(l)) + } + if m.MintsPaused { + n += 2 + } + if m.SendsPaused { + n += 2 + } + if m.BurnsPaused { + n += 2 + } + if len(m.RolePermissions) > 0 { + for _, e := range m.RolePermissions { + l = e.Size() + n += 1 + l + sovPermissions(uint64(l)) + } + } + if len(m.AddressRoles) > 0 { + for _, e := range m.AddressRoles { + l = e.Size() + n += 1 + l + sovPermissions(uint64(l)) + } + } + return n +} + +func (m *AddressRoles) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Address) + if l > 0 { + n += 1 + l + sovPermissions(uint64(l)) + } + if len(m.Roles) > 0 { + for _, s := range m.Roles { + l = len(s) + n += 1 + l + sovPermissions(uint64(l)) + } + } + return n +} + +func (m *Role) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Role) + if l > 0 { + n += 1 + l + sovPermissions(uint64(l)) + } + if m.Permissions != 0 { + n += 1 + sovPermissions(uint64(m.Permissions)) + } + return n +} + +func (m *RoleIDs) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.RoleIds) > 0 { + l = 0 + for _, e := range m.RoleIds { + l += sovPermissions(uint64(e)) + } + n += 1 + sovPermissions(uint64(l)) + l + } + return n +} + +func (m *Voucher) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Coins) > 0 { + for _, e := range m.Coins { + l = e.Size() + n += 1 + l + sovPermissions(uint64(l)) + } + } + return n +} + +func (m *AddressVoucher) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Address) + if l > 0 { + n += 1 + l + sovPermissions(uint64(l)) + } + if m.Voucher != nil { + l = m.Voucher.Size() + n += 1 + l + sovPermissions(uint64(l)) + } + return n +} + +func sovPermissions(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozPermissions(x uint64) (n int) { + return sovPermissions(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *Namespace) 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 ErrIntOverflowPermissions + } + 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: Namespace: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Namespace: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + 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 ErrInvalidLengthPermissions + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Denom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WasmHook", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + 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 ErrInvalidLengthPermissions + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.WasmHook = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MintsPaused", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.MintsPaused = bool(v != 0) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SendsPaused", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SendsPaused = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BurnsPaused", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.BurnsPaused = bool(v != 0) + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RolePermissions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPermissions + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RolePermissions = append(m.RolePermissions, &Role{}) + if err := m.RolePermissions[len(m.RolePermissions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AddressRoles", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPermissions + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AddressRoles = append(m.AddressRoles, &AddressRoles{}) + if err := m.AddressRoles[len(m.AddressRoles)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipPermissions(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPermissions + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AddressRoles) 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 ErrIntOverflowPermissions + } + 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: AddressRoles: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AddressRoles: 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 ErrIntOverflowPermissions + } + 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 ErrInvalidLengthPermissions + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + 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 Roles", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + 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 ErrInvalidLengthPermissions + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Roles = append(m.Roles, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipPermissions(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPermissions + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Role) 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 ErrIntOverflowPermissions + } + 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: Role: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Role: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Role", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + 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 ErrInvalidLengthPermissions + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Role = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) + } + m.Permissions = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Permissions |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipPermissions(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPermissions + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RoleIDs) 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 ErrIntOverflowPermissions + } + 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: RoleIDs: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RoleIDs: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType == 0 { + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.RoleIds = append(m.RoleIds, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthPermissions + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + 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.RoleIds) == 0 { + m.RoleIds = make([]uint32, 0, elementCount) + } + for iNdEx < postIndex { + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.RoleIds = append(m.RoleIds, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field RoleIds", wireType) + } + default: + iNdEx = preIndex + skippy, err := skipPermissions(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPermissions + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Voucher) 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 ErrIntOverflowPermissions + } + 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: Voucher: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Voucher: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Coins", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPermissions + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Coins = append(m.Coins, types.Coin{}) + if err := m.Coins[len(m.Coins)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipPermissions(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPermissions + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AddressVoucher) 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 ErrIntOverflowPermissions + } + 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: AddressVoucher: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AddressVoucher: 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 ErrIntOverflowPermissions + } + 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 ErrInvalidLengthPermissions + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + 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 Voucher", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPermissions + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Voucher == nil { + m.Voucher = &Voucher{} + } + if err := m.Voucher.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipPermissions(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPermissions + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipPermissions(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, ErrIntOverflowPermissions + } + 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, ErrIntOverflowPermissions + } + 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, ErrIntOverflowPermissions + } + 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, ErrInvalidLengthPermissions + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupPermissions + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthPermissions + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthPermissions = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowPermissions = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupPermissions = fmt.Errorf("proto: unexpected end of group") +) diff --git a/chain/permissions/types/query.pb.go b/chain/permissions/types/query.pb.go new file mode 100644 index 00000000..db2b4c09 --- /dev/null +++ b/chain/permissions/types/query.pb.go @@ -0,0 +1,2615 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: injective/permissions/v1beta1/query.proto + +package types + +import ( + context "context" + fmt "fmt" + _ "github.com/cosmos/cosmos-sdk/types/query" + _ "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" + 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 + +// QueryParamsRequest is the request type for the Query/Params RPC method. +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_e0ae50f1018498b3, []int{0} +} +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 is the response type for the Query/Params RPC method. +type QueryParamsResponse struct { + // params defines the parameters of the module. + 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_e0ae50f1018498b3, []int{1} +} +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{} +} + +// QueryAllNamespacesRequest is the request type for the Query/AllNamespaces RPC +// method. +type QueryAllNamespacesRequest struct { +} + +func (m *QueryAllNamespacesRequest) Reset() { *m = QueryAllNamespacesRequest{} } +func (m *QueryAllNamespacesRequest) String() string { return proto.CompactTextString(m) } +func (*QueryAllNamespacesRequest) ProtoMessage() {} +func (*QueryAllNamespacesRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{2} +} +func (m *QueryAllNamespacesRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAllNamespacesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAllNamespacesRequest.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 *QueryAllNamespacesRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAllNamespacesRequest.Merge(m, src) +} +func (m *QueryAllNamespacesRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryAllNamespacesRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAllNamespacesRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAllNamespacesRequest proto.InternalMessageInfo + +// QueryAllNamespacesResponse is the response type for the Query/AllNamespaces +// RPC method. +type QueryAllNamespacesResponse struct { + Namespaces []*Namespace `protobuf:"bytes,1,rep,name=namespaces,proto3" json:"namespaces,omitempty"` +} + +func (m *QueryAllNamespacesResponse) Reset() { *m = QueryAllNamespacesResponse{} } +func (m *QueryAllNamespacesResponse) String() string { return proto.CompactTextString(m) } +func (*QueryAllNamespacesResponse) ProtoMessage() {} +func (*QueryAllNamespacesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{3} +} +func (m *QueryAllNamespacesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAllNamespacesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAllNamespacesResponse.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 *QueryAllNamespacesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAllNamespacesResponse.Merge(m, src) +} +func (m *QueryAllNamespacesResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryAllNamespacesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAllNamespacesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAllNamespacesResponse proto.InternalMessageInfo + +func (m *QueryAllNamespacesResponse) GetNamespaces() []*Namespace { + if m != nil { + return m.Namespaces + } + return nil +} + +// QueryNamespaceByDenomRequest is the request type for the +// Query/NamespaceByDenom RPC method. +type QueryNamespaceByDenomRequest struct { + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + IncludeRoles bool `protobuf:"varint,2,opt,name=include_roles,json=includeRoles,proto3" json:"include_roles,omitempty"` +} + +func (m *QueryNamespaceByDenomRequest) Reset() { *m = QueryNamespaceByDenomRequest{} } +func (m *QueryNamespaceByDenomRequest) String() string { return proto.CompactTextString(m) } +func (*QueryNamespaceByDenomRequest) ProtoMessage() {} +func (*QueryNamespaceByDenomRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{4} +} +func (m *QueryNamespaceByDenomRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryNamespaceByDenomRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryNamespaceByDenomRequest.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 *QueryNamespaceByDenomRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryNamespaceByDenomRequest.Merge(m, src) +} +func (m *QueryNamespaceByDenomRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryNamespaceByDenomRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryNamespaceByDenomRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryNamespaceByDenomRequest proto.InternalMessageInfo + +func (m *QueryNamespaceByDenomRequest) GetDenom() string { + if m != nil { + return m.Denom + } + return "" +} + +func (m *QueryNamespaceByDenomRequest) GetIncludeRoles() bool { + if m != nil { + return m.IncludeRoles + } + return false +} + +// QueryNamespaceByDenomResponse is the response type for the +// Query/NamespaceByDenom RPC method. +type QueryNamespaceByDenomResponse struct { + Namespace *Namespace `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` +} + +func (m *QueryNamespaceByDenomResponse) Reset() { *m = QueryNamespaceByDenomResponse{} } +func (m *QueryNamespaceByDenomResponse) String() string { return proto.CompactTextString(m) } +func (*QueryNamespaceByDenomResponse) ProtoMessage() {} +func (*QueryNamespaceByDenomResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{5} +} +func (m *QueryNamespaceByDenomResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryNamespaceByDenomResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryNamespaceByDenomResponse.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 *QueryNamespaceByDenomResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryNamespaceByDenomResponse.Merge(m, src) +} +func (m *QueryNamespaceByDenomResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryNamespaceByDenomResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryNamespaceByDenomResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryNamespaceByDenomResponse proto.InternalMessageInfo + +func (m *QueryNamespaceByDenomResponse) GetNamespace() *Namespace { + if m != nil { + return m.Namespace + } + return nil +} + +// QueryAddressesByRoleRequest is the request type for the Query/AddressesByRole +// RPC method. +type QueryAddressesByRoleRequest struct { + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + Role string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"` +} + +func (m *QueryAddressesByRoleRequest) Reset() { *m = QueryAddressesByRoleRequest{} } +func (m *QueryAddressesByRoleRequest) String() string { return proto.CompactTextString(m) } +func (*QueryAddressesByRoleRequest) ProtoMessage() {} +func (*QueryAddressesByRoleRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{6} +} +func (m *QueryAddressesByRoleRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAddressesByRoleRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAddressesByRoleRequest.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 *QueryAddressesByRoleRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAddressesByRoleRequest.Merge(m, src) +} +func (m *QueryAddressesByRoleRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryAddressesByRoleRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAddressesByRoleRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAddressesByRoleRequest proto.InternalMessageInfo + +func (m *QueryAddressesByRoleRequest) GetDenom() string { + if m != nil { + return m.Denom + } + return "" +} + +func (m *QueryAddressesByRoleRequest) GetRole() string { + if m != nil { + return m.Role + } + return "" +} + +// QueryAddressesByRoleResponse is the response type for the +// Query/AddressesByRole RPC method. +type QueryAddressesByRoleResponse struct { + Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"` +} + +func (m *QueryAddressesByRoleResponse) Reset() { *m = QueryAddressesByRoleResponse{} } +func (m *QueryAddressesByRoleResponse) String() string { return proto.CompactTextString(m) } +func (*QueryAddressesByRoleResponse) ProtoMessage() {} +func (*QueryAddressesByRoleResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{7} +} +func (m *QueryAddressesByRoleResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAddressesByRoleResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAddressesByRoleResponse.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 *QueryAddressesByRoleResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAddressesByRoleResponse.Merge(m, src) +} +func (m *QueryAddressesByRoleResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryAddressesByRoleResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAddressesByRoleResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAddressesByRoleResponse proto.InternalMessageInfo + +func (m *QueryAddressesByRoleResponse) GetAddresses() []string { + if m != nil { + return m.Addresses + } + return nil +} + +type QueryAddressRolesRequest struct { + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` +} + +func (m *QueryAddressRolesRequest) Reset() { *m = QueryAddressRolesRequest{} } +func (m *QueryAddressRolesRequest) String() string { return proto.CompactTextString(m) } +func (*QueryAddressRolesRequest) ProtoMessage() {} +func (*QueryAddressRolesRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{8} +} +func (m *QueryAddressRolesRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAddressRolesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAddressRolesRequest.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 *QueryAddressRolesRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAddressRolesRequest.Merge(m, src) +} +func (m *QueryAddressRolesRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryAddressRolesRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAddressRolesRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAddressRolesRequest proto.InternalMessageInfo + +func (m *QueryAddressRolesRequest) GetDenom() string { + if m != nil { + return m.Denom + } + return "" +} + +func (m *QueryAddressRolesRequest) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + +type QueryAddressRolesResponse struct { + Roles []string `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` +} + +func (m *QueryAddressRolesResponse) Reset() { *m = QueryAddressRolesResponse{} } +func (m *QueryAddressRolesResponse) String() string { return proto.CompactTextString(m) } +func (*QueryAddressRolesResponse) ProtoMessage() {} +func (*QueryAddressRolesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{9} +} +func (m *QueryAddressRolesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAddressRolesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAddressRolesResponse.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 *QueryAddressRolesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAddressRolesResponse.Merge(m, src) +} +func (m *QueryAddressRolesResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryAddressRolesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAddressRolesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAddressRolesResponse proto.InternalMessageInfo + +func (m *QueryAddressRolesResponse) GetRoles() []string { + if m != nil { + return m.Roles + } + return nil +} + +type QueryVouchersForAddressRequest struct { + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` +} + +func (m *QueryVouchersForAddressRequest) Reset() { *m = QueryVouchersForAddressRequest{} } +func (m *QueryVouchersForAddressRequest) String() string { return proto.CompactTextString(m) } +func (*QueryVouchersForAddressRequest) ProtoMessage() {} +func (*QueryVouchersForAddressRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{10} +} +func (m *QueryVouchersForAddressRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryVouchersForAddressRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryVouchersForAddressRequest.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 *QueryVouchersForAddressRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryVouchersForAddressRequest.Merge(m, src) +} +func (m *QueryVouchersForAddressRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryVouchersForAddressRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryVouchersForAddressRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryVouchersForAddressRequest proto.InternalMessageInfo + +func (m *QueryVouchersForAddressRequest) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + +type QueryVouchersForAddressResponse struct { + Vouchers []*AddressVoucher `protobuf:"bytes,1,rep,name=vouchers,proto3" json:"vouchers,omitempty"` +} + +func (m *QueryVouchersForAddressResponse) Reset() { *m = QueryVouchersForAddressResponse{} } +func (m *QueryVouchersForAddressResponse) String() string { return proto.CompactTextString(m) } +func (*QueryVouchersForAddressResponse) ProtoMessage() {} +func (*QueryVouchersForAddressResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{11} +} +func (m *QueryVouchersForAddressResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryVouchersForAddressResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryVouchersForAddressResponse.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 *QueryVouchersForAddressResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryVouchersForAddressResponse.Merge(m, src) +} +func (m *QueryVouchersForAddressResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryVouchersForAddressResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryVouchersForAddressResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryVouchersForAddressResponse proto.InternalMessageInfo + +func (m *QueryVouchersForAddressResponse) GetVouchers() []*AddressVoucher { + if m != nil { + return m.Vouchers + } + return nil +} + +func init() { + proto.RegisterType((*QueryParamsRequest)(nil), "injective.permissions.v1beta1.QueryParamsRequest") + proto.RegisterType((*QueryParamsResponse)(nil), "injective.permissions.v1beta1.QueryParamsResponse") + proto.RegisterType((*QueryAllNamespacesRequest)(nil), "injective.permissions.v1beta1.QueryAllNamespacesRequest") + proto.RegisterType((*QueryAllNamespacesResponse)(nil), "injective.permissions.v1beta1.QueryAllNamespacesResponse") + proto.RegisterType((*QueryNamespaceByDenomRequest)(nil), "injective.permissions.v1beta1.QueryNamespaceByDenomRequest") + proto.RegisterType((*QueryNamespaceByDenomResponse)(nil), "injective.permissions.v1beta1.QueryNamespaceByDenomResponse") + proto.RegisterType((*QueryAddressesByRoleRequest)(nil), "injective.permissions.v1beta1.QueryAddressesByRoleRequest") + proto.RegisterType((*QueryAddressesByRoleResponse)(nil), "injective.permissions.v1beta1.QueryAddressesByRoleResponse") + proto.RegisterType((*QueryAddressRolesRequest)(nil), "injective.permissions.v1beta1.QueryAddressRolesRequest") + proto.RegisterType((*QueryAddressRolesResponse)(nil), "injective.permissions.v1beta1.QueryAddressRolesResponse") + proto.RegisterType((*QueryVouchersForAddressRequest)(nil), "injective.permissions.v1beta1.QueryVouchersForAddressRequest") + proto.RegisterType((*QueryVouchersForAddressResponse)(nil), "injective.permissions.v1beta1.QueryVouchersForAddressResponse") +} + +func init() { + proto.RegisterFile("injective/permissions/v1beta1/query.proto", fileDescriptor_e0ae50f1018498b3) +} + +var fileDescriptor_e0ae50f1018498b3 = []byte{ + // 758 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x96, 0xcf, 0x6f, 0xd3, 0x4a, + 0x10, 0xc7, 0xb3, 0x7d, 0x6d, 0x5f, 0x33, 0x6d, 0xf5, 0x9e, 0xf6, 0xe5, 0x90, 0xe7, 0xb6, 0x69, + 0x65, 0x54, 0x11, 0x40, 0x89, 0x49, 0xaa, 0x8a, 0xfe, 0x02, 0x89, 0x80, 0x0a, 0x45, 0x08, 0x51, + 0x1f, 0x90, 0xe8, 0x25, 0xda, 0x24, 0x5b, 0xd7, 0x60, 0x7b, 0x5d, 0xaf, 0x53, 0x29, 0x57, 0x6e, + 0xdc, 0x90, 0xb8, 0xf3, 0x8f, 0xf4, 0xca, 0xa1, 0xc7, 0x4a, 0x5c, 0x38, 0x21, 0xd4, 0xf2, 0x87, + 0x20, 0xaf, 0xd7, 0x8e, 0xd3, 0x34, 0x71, 0x1a, 0x6e, 0xd9, 0xdd, 0xf9, 0xce, 0x7c, 0xbe, 0x93, + 0xcc, 0x28, 0x70, 0xc7, 0x74, 0xde, 0xd1, 0xa6, 0x6f, 0x9e, 0x50, 0xcd, 0xa5, 0x9e, 0x6d, 0x72, + 0x6e, 0x32, 0x87, 0x6b, 0x27, 0x95, 0x06, 0xf5, 0x49, 0x45, 0x3b, 0x6e, 0x53, 0xaf, 0x53, 0x76, + 0x3d, 0xe6, 0x33, 0xbc, 0x14, 0x87, 0x96, 0x13, 0xa1, 0x65, 0x19, 0xaa, 0xe4, 0x0c, 0x66, 0x30, + 0x11, 0xa9, 0x05, 0x9f, 0x42, 0x91, 0xb2, 0x68, 0x30, 0x66, 0x58, 0x54, 0x23, 0xae, 0xa9, 0x11, + 0xc7, 0x61, 0x3e, 0xf1, 0x85, 0x2a, 0x7c, 0xbd, 0xdb, 0x64, 0xdc, 0x66, 0x5c, 0x6b, 0x10, 0x4e, + 0xc3, 0x5a, 0x71, 0x65, 0x97, 0x18, 0xa6, 0x23, 0x82, 0xa3, 0xd8, 0xe1, 0xa4, 0x2e, 0xf1, 0x88, + 0x1d, 0xe5, 0xbd, 0x37, 0x3c, 0xd6, 0xa0, 0x0e, 0xe5, 0x66, 0x14, 0xac, 0xa5, 0x24, 0x4e, 0x78, + 0x15, 0x02, 0x35, 0x07, 0x78, 0x3f, 0x60, 0x7d, 0x2d, 0x4a, 0xea, 0xf4, 0xb8, 0x4d, 0xb9, 0xaf, + 0x1e, 0xc0, 0x7f, 0x3d, 0xb7, 0xdc, 0x65, 0x0e, 0xa7, 0xf8, 0x09, 0x4c, 0x87, 0x68, 0x79, 0xb4, + 0x82, 0x8a, 0xb3, 0xd5, 0xd5, 0xf2, 0xd0, 0x36, 0x96, 0x43, 0x79, 0x6d, 0xf2, 0xec, 0xc7, 0x72, + 0x46, 0x97, 0x52, 0x75, 0x01, 0xfe, 0x17, 0xb9, 0x1f, 0x5b, 0xd6, 0x2b, 0x62, 0x53, 0xee, 0x92, + 0x26, 0x8d, 0x0b, 0x1f, 0x82, 0x72, 0xdd, 0xa3, 0xac, 0xff, 0x1c, 0xc0, 0x89, 0x6f, 0xf3, 0x68, + 0xe5, 0xaf, 0xe2, 0x6c, 0xb5, 0x98, 0xc2, 0x10, 0xa7, 0xd1, 0x13, 0x5a, 0xf5, 0x2d, 0x2c, 0x8a, + 0x3a, 0xf1, 0x6b, 0xad, 0xf3, 0x94, 0x3a, 0xcc, 0x96, 0x1c, 0x38, 0x07, 0x53, 0xad, 0xe0, 0x2c, + 0x8c, 0x66, 0xf5, 0xf0, 0x80, 0x6f, 0xc1, 0xbc, 0xe9, 0x34, 0xad, 0x76, 0x8b, 0xd6, 0x3d, 0x66, + 0x51, 0x9e, 0x9f, 0x58, 0x41, 0xc5, 0x19, 0x7d, 0x4e, 0x5e, 0xea, 0xc1, 0x9d, 0x6a, 0xc0, 0xd2, + 0x80, 0xd4, 0xd2, 0xc5, 0x2e, 0x64, 0x63, 0x12, 0xd9, 0xc8, 0xd1, 0x4d, 0x74, 0xa5, 0xea, 0x33, + 0x58, 0x08, 0x7b, 0xd5, 0x6a, 0x79, 0x94, 0x73, 0xca, 0x6b, 0x9d, 0x80, 0x60, 0xb8, 0x05, 0x0c, + 0x93, 0x01, 0xba, 0x20, 0xcf, 0xea, 0xe2, 0xb3, 0xba, 0x23, 0x9b, 0xd1, 0x97, 0x48, 0x02, 0x2f, + 0x42, 0x96, 0x44, 0x4f, 0xa2, 0xeb, 0x59, 0xbd, 0x7b, 0xa1, 0xbe, 0x80, 0x7c, 0x52, 0x2d, 0x9a, + 0x30, 0x9c, 0x21, 0x0f, 0x7f, 0x4b, 0xb9, 0xc4, 0x88, 0x8e, 0x6a, 0x25, 0xfa, 0x6d, 0xf4, 0xe4, + 0x92, 0x18, 0x39, 0x98, 0x0a, 0xbb, 0x1e, 0x22, 0x84, 0x07, 0x75, 0x0b, 0x0a, 0x42, 0xf2, 0x86, + 0xb5, 0x9b, 0x47, 0xd4, 0xe3, 0xbb, 0xcc, 0x8b, 0xd4, 0x12, 0x22, 0x51, 0x0e, 0xf5, 0x96, 0xb3, + 0x60, 0x79, 0xa0, 0x56, 0x16, 0xdd, 0x83, 0x99, 0x13, 0xf9, 0x2a, 0x7f, 0x70, 0xa5, 0x94, 0xef, + 0x4a, 0x66, 0x90, 0x39, 0xf5, 0x58, 0x5e, 0xfd, 0x98, 0x85, 0x29, 0x51, 0x0e, 0x7f, 0x41, 0x30, + 0x1d, 0xce, 0x06, 0xae, 0xa4, 0x64, 0xeb, 0x1f, 0x4e, 0xa5, 0x7a, 0x13, 0x49, 0x68, 0x43, 0x2d, + 0x7d, 0xf8, 0xf6, 0xeb, 0xf3, 0xc4, 0x6d, 0xbc, 0xaa, 0x8d, 0xb2, 0x79, 0xf0, 0x29, 0x82, 0xf9, + 0x9e, 0x11, 0xc4, 0x1b, 0xa3, 0x14, 0xbd, 0x6e, 0xa4, 0x95, 0xcd, 0x31, 0x94, 0x92, 0x7a, 0x5d, + 0x50, 0x6b, 0xb8, 0x94, 0x42, 0x4d, 0x2c, 0xab, 0xde, 0x1d, 0x6e, 0x7c, 0x86, 0xe0, 0xdf, 0xab, + 0xd3, 0x87, 0xb7, 0x47, 0xc1, 0x18, 0xb0, 0x0e, 0x94, 0x9d, 0xf1, 0xc4, 0xd2, 0xc6, 0xa6, 0xb0, + 0xb1, 0x86, 0x2b, 0x29, 0x36, 0x62, 0x0b, 0xf5, 0x46, 0xa7, 0x1e, 0x8e, 0xca, 0x29, 0x82, 0xb9, + 0xe4, 0x30, 0xe0, 0x07, 0x23, 0x75, 0xb3, 0x7f, 0x14, 0x95, 0x8d, 0x9b, 0x0b, 0x25, 0xfe, 0x86, + 0xc0, 0xaf, 0xe2, 0xfb, 0x69, 0xdf, 0x42, 0xb4, 0x12, 0x02, 0xfc, 0x60, 0x38, 0xf1, 0x57, 0x04, + 0xff, 0x5c, 0x59, 0x2a, 0x78, 0xeb, 0x06, 0x1c, 0x57, 0x56, 0x9a, 0xb2, 0x3d, 0x96, 0xf6, 0x8f, + 0x6d, 0x9c, 0x23, 0xc0, 0xfd, 0x2b, 0x02, 0x3f, 0x1c, 0x85, 0x66, 0xe0, 0x5a, 0x52, 0x1e, 0x8d, + 0x2b, 0x97, 0x7e, 0xb6, 0x85, 0x9f, 0x75, 0xbc, 0x96, 0xe2, 0x27, 0xda, 0x3f, 0xf5, 0x43, 0xe6, + 0xd5, 0xa5, 0xb9, 0xda, 0xfb, 0xb3, 0x8b, 0x02, 0x3a, 0xbf, 0x28, 0xa0, 0x9f, 0x17, 0x05, 0xf4, + 0xe9, 0xb2, 0x90, 0x39, 0xbf, 0x2c, 0x64, 0xbe, 0x5f, 0x16, 0x32, 0x07, 0xfb, 0x86, 0xe9, 0x1f, + 0xb5, 0x1b, 0xe5, 0x26, 0xb3, 0xb5, 0xbd, 0x28, 0xf1, 0x4b, 0xd2, 0xe0, 0xdd, 0x32, 0xa5, 0x26, + 0xf3, 0x68, 0xf2, 0x78, 0x44, 0x4c, 0x47, 0xb3, 0x59, 0xab, 0x6d, 0x51, 0xde, 0xc3, 0xe0, 0x77, + 0x5c, 0xca, 0x1b, 0xd3, 0xe2, 0xaf, 0xc6, 0xda, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0, 0xec, + 0x3f, 0x09, 0xa0, 0x09, 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 { + // Params defines a gRPC query method that returns the permissions module's + // parameters. + Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) + // AllNamespaces defines a gRPC query method that returns the permissions + // module's created namespaces. + AllNamespaces(ctx context.Context, in *QueryAllNamespacesRequest, opts ...grpc.CallOption) (*QueryAllNamespacesResponse, error) + // NamespaceByDenom defines a gRPC query method that returns the permissions + // module's namespace associated with the provided denom. + NamespaceByDenom(ctx context.Context, in *QueryNamespaceByDenomRequest, opts ...grpc.CallOption) (*QueryNamespaceByDenomResponse, error) + // AddressRoles defines a gRPC query method that returns address roles in the + // namespace + AddressRoles(ctx context.Context, in *QueryAddressRolesRequest, opts ...grpc.CallOption) (*QueryAddressRolesResponse, error) + // AddressesByRole defines a gRPC query method that returns a namespace's + // roles associated with the provided address. + AddressesByRole(ctx context.Context, in *QueryAddressesByRoleRequest, opts ...grpc.CallOption) (*QueryAddressesByRoleResponse, error) + // VouchersForAddress defines a gRPC query method that returns a map of + // vouchers that are held by permissions module for this address, keyed by the + // originator address + VouchersForAddress(ctx context.Context, in *QueryVouchersForAddressRequest, opts ...grpc.CallOption) (*QueryVouchersForAddressResponse, error) +} + +type queryClient struct { + cc grpc1.ClientConn +} + +func NewQueryClient(cc grpc1.ClientConn) QueryClient { + return &queryClient{cc} +} + +func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + out := new(QueryParamsResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Query/Params", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) AllNamespaces(ctx context.Context, in *QueryAllNamespacesRequest, opts ...grpc.CallOption) (*QueryAllNamespacesResponse, error) { + out := new(QueryAllNamespacesResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Query/AllNamespaces", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) NamespaceByDenom(ctx context.Context, in *QueryNamespaceByDenomRequest, opts ...grpc.CallOption) (*QueryNamespaceByDenomResponse, error) { + out := new(QueryNamespaceByDenomResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Query/NamespaceByDenom", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) AddressRoles(ctx context.Context, in *QueryAddressRolesRequest, opts ...grpc.CallOption) (*QueryAddressRolesResponse, error) { + out := new(QueryAddressRolesResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Query/AddressRoles", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) AddressesByRole(ctx context.Context, in *QueryAddressesByRoleRequest, opts ...grpc.CallOption) (*QueryAddressesByRoleResponse, error) { + out := new(QueryAddressesByRoleResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Query/AddressesByRole", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) VouchersForAddress(ctx context.Context, in *QueryVouchersForAddressRequest, opts ...grpc.CallOption) (*QueryVouchersForAddressResponse, error) { + out := new(QueryVouchersForAddressResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Query/VouchersForAddress", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// QueryServer is the server API for Query service. +type QueryServer interface { + // Params defines a gRPC query method that returns the permissions module's + // parameters. + Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) + // AllNamespaces defines a gRPC query method that returns the permissions + // module's created namespaces. + AllNamespaces(context.Context, *QueryAllNamespacesRequest) (*QueryAllNamespacesResponse, error) + // NamespaceByDenom defines a gRPC query method that returns the permissions + // module's namespace associated with the provided denom. + NamespaceByDenom(context.Context, *QueryNamespaceByDenomRequest) (*QueryNamespaceByDenomResponse, error) + // AddressRoles defines a gRPC query method that returns address roles in the + // namespace + AddressRoles(context.Context, *QueryAddressRolesRequest) (*QueryAddressRolesResponse, error) + // AddressesByRole defines a gRPC query method that returns a namespace's + // roles associated with the provided address. + AddressesByRole(context.Context, *QueryAddressesByRoleRequest) (*QueryAddressesByRoleResponse, error) + // VouchersForAddress defines a gRPC query method that returns a map of + // vouchers that are held by permissions module for this address, keyed by the + // originator address + VouchersForAddress(context.Context, *QueryVouchersForAddressRequest) (*QueryVouchersForAddressResponse, error) +} + +// UnimplementedQueryServer can be embedded to have forward compatible implementations. +type UnimplementedQueryServer struct { +} + +func (*UnimplementedQueryServer) Params(ctx context.Context, req *QueryParamsRequest) (*QueryParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") +} +func (*UnimplementedQueryServer) AllNamespaces(ctx context.Context, req *QueryAllNamespacesRequest) (*QueryAllNamespacesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AllNamespaces not implemented") +} +func (*UnimplementedQueryServer) NamespaceByDenom(ctx context.Context, req *QueryNamespaceByDenomRequest) (*QueryNamespaceByDenomResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method NamespaceByDenom not implemented") +} +func (*UnimplementedQueryServer) AddressRoles(ctx context.Context, req *QueryAddressRolesRequest) (*QueryAddressRolesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddressRoles not implemented") +} +func (*UnimplementedQueryServer) AddressesByRole(ctx context.Context, req *QueryAddressesByRoleRequest) (*QueryAddressesByRoleResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddressesByRole not implemented") +} +func (*UnimplementedQueryServer) VouchersForAddress(ctx context.Context, req *QueryVouchersForAddressRequest) (*QueryVouchersForAddressResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method VouchersForAddress not implemented") +} + +func RegisterQueryServer(s grpc1.Server, srv QueryServer) { + s.RegisterService(&_Query_serviceDesc, srv) +} + +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.permissions.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_AllNamespaces_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAllNamespacesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).AllNamespaces(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Query/AllNamespaces", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).AllNamespaces(ctx, req.(*QueryAllNamespacesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_NamespaceByDenom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryNamespaceByDenomRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).NamespaceByDenom(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Query/NamespaceByDenom", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).NamespaceByDenom(ctx, req.(*QueryNamespaceByDenomRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_AddressRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAddressRolesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).AddressRoles(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Query/AddressRoles", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).AddressRoles(ctx, req.(*QueryAddressRolesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_AddressesByRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAddressesByRoleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).AddressesByRole(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Query/AddressesByRole", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).AddressesByRole(ctx, req.(*QueryAddressesByRoleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_VouchersForAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryVouchersForAddressRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).VouchersForAddress(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Query/VouchersForAddress", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).VouchersForAddress(ctx, req.(*QueryVouchersForAddressRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _Query_serviceDesc = grpc.ServiceDesc{ + ServiceName: "injective.permissions.v1beta1.Query", + HandlerType: (*QueryServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Params", + Handler: _Query_Params_Handler, + }, + { + MethodName: "AllNamespaces", + Handler: _Query_AllNamespaces_Handler, + }, + { + MethodName: "NamespaceByDenom", + Handler: _Query_NamespaceByDenom_Handler, + }, + { + MethodName: "AddressRoles", + Handler: _Query_AddressRoles_Handler, + }, + { + MethodName: "AddressesByRole", + Handler: _Query_AddressesByRole_Handler, + }, + { + MethodName: "VouchersForAddress", + Handler: _Query_VouchersForAddress_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "injective/permissions/v1beta1/query.proto", +} + +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 *QueryAllNamespacesRequest) 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 *QueryAllNamespacesRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAllNamespacesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryAllNamespacesResponse) 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 *QueryAllNamespacesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAllNamespacesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Namespaces) > 0 { + for iNdEx := len(m.Namespaces) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Namespaces[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 *QueryNamespaceByDenomRequest) 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 *QueryNamespaceByDenomRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryNamespaceByDenomRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.IncludeRoles { + i-- + if m.IncludeRoles { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if len(m.Denom) > 0 { + i -= len(m.Denom) + copy(dAtA[i:], m.Denom) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Denom))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryNamespaceByDenomResponse) 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 *QueryNamespaceByDenomResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryNamespaceByDenomResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Namespace != nil { + { + size, err := m.Namespace.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 *QueryAddressesByRoleRequest) 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 *QueryAddressesByRoleRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAddressesByRoleRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Role) > 0 { + i -= len(m.Role) + copy(dAtA[i:], m.Role) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Role))) + i-- + dAtA[i] = 0x12 + } + if len(m.Denom) > 0 { + i -= len(m.Denom) + copy(dAtA[i:], m.Denom) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Denom))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryAddressesByRoleResponse) 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 *QueryAddressesByRoleResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAddressesByRoleResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Addresses) > 0 { + for iNdEx := len(m.Addresses) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Addresses[iNdEx]) + copy(dAtA[i:], m.Addresses[iNdEx]) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Addresses[iNdEx]))) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *QueryAddressRolesRequest) 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 *QueryAddressRolesRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAddressRolesRequest) 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] = 0x12 + } + if len(m.Denom) > 0 { + i -= len(m.Denom) + copy(dAtA[i:], m.Denom) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Denom))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryAddressRolesResponse) 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 *QueryAddressRolesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAddressRolesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Roles) > 0 { + for iNdEx := len(m.Roles) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Roles[iNdEx]) + copy(dAtA[i:], m.Roles[iNdEx]) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Roles[iNdEx]))) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *QueryVouchersForAddressRequest) 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 *QueryVouchersForAddressRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryVouchersForAddressRequest) 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 *QueryVouchersForAddressResponse) 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 *QueryVouchersForAddressResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryVouchersForAddressResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Vouchers) > 0 { + for iNdEx := len(m.Vouchers) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Vouchers[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 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 *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 *QueryAllNamespacesRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryAllNamespacesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Namespaces) > 0 { + for _, e := range m.Namespaces { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + +func (m *QueryNamespaceByDenomRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Denom) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.IncludeRoles { + n += 2 + } + return n +} + +func (m *QueryNamespaceByDenomResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Namespace != nil { + l = m.Namespace.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryAddressesByRoleRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Denom) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.Role) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryAddressesByRoleResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Addresses) > 0 { + for _, s := range m.Addresses { + l = len(s) + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + +func (m *QueryAddressRolesRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Denom) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.Address) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryAddressRolesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Roles) > 0 { + for _, s := range m.Roles { + l = len(s) + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + +func (m *QueryVouchersForAddressRequest) 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 *QueryVouchersForAddressResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Vouchers) > 0 { + for _, e := range m.Vouchers { + l = e.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 *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) || (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) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryAllNamespacesRequest) 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: QueryAllNamespacesRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAllNamespacesRequest: 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 *QueryAllNamespacesResponse) 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: QueryAllNamespacesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAllNamespacesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Namespaces", 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.Namespaces = append(m.Namespaces, &Namespace{}) + if err := m.Namespaces[len(m.Namespaces)-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 *QueryNamespaceByDenomRequest) 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: QueryNamespaceByDenomRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryNamespaceByDenomRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Denom", 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.Denom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IncludeRoles", 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.IncludeRoles = bool(v != 0) + 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 *QueryNamespaceByDenomResponse) 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: QueryNamespaceByDenomResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryNamespaceByDenomResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Namespace", 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.Namespace == nil { + m.Namespace = &Namespace{} + } + if err := m.Namespace.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 *QueryAddressesByRoleRequest) 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: QueryAddressesByRoleRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAddressesByRoleRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Denom", 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.Denom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Role", 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.Role = 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 *QueryAddressesByRoleResponse) 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: QueryAddressesByRoleResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAddressesByRoleResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Addresses", 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.Addresses = append(m.Addresses, 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 *QueryAddressRolesRequest) 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: QueryAddressRolesRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAddressRolesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Denom", 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.Denom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + 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) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryAddressRolesResponse) 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: QueryAddressRolesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAddressRolesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Roles", 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.Roles = append(m.Roles, 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 *QueryVouchersForAddressRequest) 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: QueryVouchersForAddressRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryVouchersForAddressRequest: 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) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryVouchersForAddressResponse) 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: QueryVouchersForAddressResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryVouchersForAddressResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Vouchers", 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.Vouchers = append(m.Vouchers, &AddressVoucher{}) + if err := m.Vouchers[len(m.Vouchers)-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 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/permissions/types/tx.go b/chain/permissions/types/tx.go new file mode 100644 index 00000000..dbbd6e91 --- /dev/null +++ b/chain/permissions/types/tx.go @@ -0,0 +1,130 @@ +package types + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// constants +const ( + // RouterKey is the message route for slashing + routerKey = ModuleName +) + +var _ sdk.Msg = &MsgUpdateParams{} + +func (m MsgUpdateParams) Route() string { return routerKey } + +func (m MsgUpdateParams) Type() string { return "update_params" } + +func (m MsgUpdateParams) ValidateBasic() error { 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} +} + +var _ sdk.Msg = &MsgCreateNamespace{} + +func (m MsgCreateNamespace) Route() string { return routerKey } + +func (m MsgCreateNamespace) Type() string { return "create_namespace" } + +func (msg MsgCreateNamespace) ValidateBasic() error { return nil } + +func (m *MsgCreateNamespace) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgCreateNamespace) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +var _ sdk.Msg = &MsgDeleteNamespace{} + +func (m MsgDeleteNamespace) Route() string { return routerKey } + +func (m MsgDeleteNamespace) Type() string { return "delete_namespace" } + +func (m MsgDeleteNamespace) ValidateBasic() error { return nil } + +func (m *MsgDeleteNamespace) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgDeleteNamespace) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +var _ sdk.Msg = &MsgUpdateNamespace{} + +func (m MsgUpdateNamespace) Route() string { return routerKey } + +func (m MsgUpdateNamespace) Type() string { return "update_namespace" } + +func (m MsgUpdateNamespace) ValidateBasic() error { return nil } + +func (m *MsgUpdateNamespace) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgUpdateNamespace) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +var _ sdk.Msg = &MsgUpdateNamespaceRoles{} + +func (m MsgUpdateNamespaceRoles) Route() string { return routerKey } + +func (m MsgUpdateNamespaceRoles) Type() string { return "update_namespace_roles" } + +func (msg MsgUpdateNamespaceRoles) ValidateBasic() error { return nil } + +func (m *MsgUpdateNamespaceRoles) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgUpdateNamespaceRoles) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +var _ sdk.Msg = &MsgRevokeNamespaceRoles{} + +func (m MsgRevokeNamespaceRoles) Route() string { return routerKey } + +func (m MsgRevokeNamespaceRoles) Type() string { return "revoke_namespace_roles" } + +func (msg MsgRevokeNamespaceRoles) ValidateBasic() error { return nil } + +func (m *MsgRevokeNamespaceRoles) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgRevokeNamespaceRoles) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +var _ sdk.Msg = &MsgClaimVoucher{} + +func (m MsgClaimVoucher) Route() string { return routerKey } + +func (m MsgClaimVoucher) Type() string { return "claim_voucher" } + +func (msg MsgClaimVoucher) ValidateBasic() error { return nil } + +func (m *MsgClaimVoucher) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgClaimVoucher) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} diff --git a/chain/permissions/types/tx.pb.go b/chain/permissions/types/tx.pb.go new file mode 100644 index 00000000..a6c5feda --- /dev/null +++ b/chain/permissions/types/tx.pb.go @@ -0,0 +1,3968 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: injective/permissions/v1beta1/tx.proto + +package types + +import ( + context "context" + fmt "fmt" + _ "github.com/cosmos/cosmos-proto" + _ "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/cosmos-sdk/x/bank/types" + _ "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" + 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 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 permissions 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_ab9bfdcab1d9b6fa, []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_ab9bfdcab1d9b6fa, []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 + +type MsgCreateNamespace struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` + Namespace Namespace `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace"` +} + +func (m *MsgCreateNamespace) Reset() { *m = MsgCreateNamespace{} } +func (m *MsgCreateNamespace) String() string { return proto.CompactTextString(m) } +func (*MsgCreateNamespace) ProtoMessage() {} +func (*MsgCreateNamespace) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{2} +} +func (m *MsgCreateNamespace) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCreateNamespace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCreateNamespace.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 *MsgCreateNamespace) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCreateNamespace.Merge(m, src) +} +func (m *MsgCreateNamespace) XXX_Size() int { + return m.Size() +} +func (m *MsgCreateNamespace) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCreateNamespace.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCreateNamespace proto.InternalMessageInfo + +func (m *MsgCreateNamespace) GetSender() string { + if m != nil { + return m.Sender + } + return "" +} + +func (m *MsgCreateNamespace) GetNamespace() Namespace { + if m != nil { + return m.Namespace + } + return Namespace{} +} + +type MsgCreateNamespaceResponse struct { +} + +func (m *MsgCreateNamespaceResponse) Reset() { *m = MsgCreateNamespaceResponse{} } +func (m *MsgCreateNamespaceResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCreateNamespaceResponse) ProtoMessage() {} +func (*MsgCreateNamespaceResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{3} +} +func (m *MsgCreateNamespaceResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCreateNamespaceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCreateNamespaceResponse.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 *MsgCreateNamespaceResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCreateNamespaceResponse.Merge(m, src) +} +func (m *MsgCreateNamespaceResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCreateNamespaceResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCreateNamespaceResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCreateNamespaceResponse proto.InternalMessageInfo + +type MsgDeleteNamespace struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` + NamespaceDenom string `protobuf:"bytes,2,opt,name=namespace_denom,json=namespaceDenom,proto3" json:"namespace_denom,omitempty"` +} + +func (m *MsgDeleteNamespace) Reset() { *m = MsgDeleteNamespace{} } +func (m *MsgDeleteNamespace) String() string { return proto.CompactTextString(m) } +func (*MsgDeleteNamespace) ProtoMessage() {} +func (*MsgDeleteNamespace) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{4} +} +func (m *MsgDeleteNamespace) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgDeleteNamespace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgDeleteNamespace.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 *MsgDeleteNamespace) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgDeleteNamespace.Merge(m, src) +} +func (m *MsgDeleteNamespace) XXX_Size() int { + return m.Size() +} +func (m *MsgDeleteNamespace) XXX_DiscardUnknown() { + xxx_messageInfo_MsgDeleteNamespace.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgDeleteNamespace proto.InternalMessageInfo + +func (m *MsgDeleteNamespace) GetSender() string { + if m != nil { + return m.Sender + } + return "" +} + +func (m *MsgDeleteNamespace) GetNamespaceDenom() string { + if m != nil { + return m.NamespaceDenom + } + return "" +} + +type MsgDeleteNamespaceResponse struct { +} + +func (m *MsgDeleteNamespaceResponse) Reset() { *m = MsgDeleteNamespaceResponse{} } +func (m *MsgDeleteNamespaceResponse) String() string { return proto.CompactTextString(m) } +func (*MsgDeleteNamespaceResponse) ProtoMessage() {} +func (*MsgDeleteNamespaceResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{5} +} +func (m *MsgDeleteNamespaceResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgDeleteNamespaceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgDeleteNamespaceResponse.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 *MsgDeleteNamespaceResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgDeleteNamespaceResponse.Merge(m, src) +} +func (m *MsgDeleteNamespaceResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgDeleteNamespaceResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgDeleteNamespaceResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgDeleteNamespaceResponse proto.InternalMessageInfo + +type MsgUpdateNamespace struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` + NamespaceDenom string `protobuf:"bytes,2,opt,name=namespace_denom,json=namespaceDenom,proto3" json:"namespace_denom,omitempty"` + WasmHook *MsgUpdateNamespace_MsgSetWasmHook `protobuf:"bytes,3,opt,name=wasm_hook,json=wasmHook,proto3" json:"wasm_hook,omitempty"` + MintsPaused *MsgUpdateNamespace_MsgSetMintsPaused `protobuf:"bytes,4,opt,name=mints_paused,json=mintsPaused,proto3" json:"mints_paused,omitempty"` + SendsPaused *MsgUpdateNamespace_MsgSetSendsPaused `protobuf:"bytes,5,opt,name=sends_paused,json=sendsPaused,proto3" json:"sends_paused,omitempty"` + BurnsPaused *MsgUpdateNamespace_MsgSetBurnsPaused `protobuf:"bytes,6,opt,name=burns_paused,json=burnsPaused,proto3" json:"burns_paused,omitempty"` +} + +func (m *MsgUpdateNamespace) Reset() { *m = MsgUpdateNamespace{} } +func (m *MsgUpdateNamespace) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateNamespace) ProtoMessage() {} +func (*MsgUpdateNamespace) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{6} +} +func (m *MsgUpdateNamespace) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateNamespace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateNamespace.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 *MsgUpdateNamespace) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateNamespace.Merge(m, src) +} +func (m *MsgUpdateNamespace) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateNamespace) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateNamespace.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateNamespace proto.InternalMessageInfo + +func (m *MsgUpdateNamespace) GetSender() string { + if m != nil { + return m.Sender + } + return "" +} + +func (m *MsgUpdateNamespace) GetNamespaceDenom() string { + if m != nil { + return m.NamespaceDenom + } + return "" +} + +func (m *MsgUpdateNamespace) GetWasmHook() *MsgUpdateNamespace_MsgSetWasmHook { + if m != nil { + return m.WasmHook + } + return nil +} + +func (m *MsgUpdateNamespace) GetMintsPaused() *MsgUpdateNamespace_MsgSetMintsPaused { + if m != nil { + return m.MintsPaused + } + return nil +} + +func (m *MsgUpdateNamespace) GetSendsPaused() *MsgUpdateNamespace_MsgSetSendsPaused { + if m != nil { + return m.SendsPaused + } + return nil +} + +func (m *MsgUpdateNamespace) GetBurnsPaused() *MsgUpdateNamespace_MsgSetBurnsPaused { + if m != nil { + return m.BurnsPaused + } + return nil +} + +type MsgUpdateNamespace_MsgSetWasmHook struct { + NewValue string `protobuf:"bytes,1,opt,name=new_value,json=newValue,proto3" json:"new_value,omitempty"` +} + +func (m *MsgUpdateNamespace_MsgSetWasmHook) Reset() { *m = MsgUpdateNamespace_MsgSetWasmHook{} } +func (m *MsgUpdateNamespace_MsgSetWasmHook) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateNamespace_MsgSetWasmHook) ProtoMessage() {} +func (*MsgUpdateNamespace_MsgSetWasmHook) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{6, 0} +} +func (m *MsgUpdateNamespace_MsgSetWasmHook) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateNamespace_MsgSetWasmHook) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateNamespace_MsgSetWasmHook.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 *MsgUpdateNamespace_MsgSetWasmHook) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateNamespace_MsgSetWasmHook.Merge(m, src) +} +func (m *MsgUpdateNamespace_MsgSetWasmHook) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateNamespace_MsgSetWasmHook) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateNamespace_MsgSetWasmHook.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateNamespace_MsgSetWasmHook proto.InternalMessageInfo + +func (m *MsgUpdateNamespace_MsgSetWasmHook) GetNewValue() string { + if m != nil { + return m.NewValue + } + return "" +} + +type MsgUpdateNamespace_MsgSetMintsPaused struct { + NewValue bool `protobuf:"varint,1,opt,name=new_value,json=newValue,proto3" json:"new_value,omitempty"` +} + +func (m *MsgUpdateNamespace_MsgSetMintsPaused) Reset() { *m = MsgUpdateNamespace_MsgSetMintsPaused{} } +func (m *MsgUpdateNamespace_MsgSetMintsPaused) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateNamespace_MsgSetMintsPaused) ProtoMessage() {} +func (*MsgUpdateNamespace_MsgSetMintsPaused) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{6, 1} +} +func (m *MsgUpdateNamespace_MsgSetMintsPaused) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateNamespace_MsgSetMintsPaused) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateNamespace_MsgSetMintsPaused.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 *MsgUpdateNamespace_MsgSetMintsPaused) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateNamespace_MsgSetMintsPaused.Merge(m, src) +} +func (m *MsgUpdateNamespace_MsgSetMintsPaused) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateNamespace_MsgSetMintsPaused) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateNamespace_MsgSetMintsPaused.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateNamespace_MsgSetMintsPaused proto.InternalMessageInfo + +func (m *MsgUpdateNamespace_MsgSetMintsPaused) GetNewValue() bool { + if m != nil { + return m.NewValue + } + return false +} + +type MsgUpdateNamespace_MsgSetSendsPaused struct { + NewValue bool `protobuf:"varint,1,opt,name=new_value,json=newValue,proto3" json:"new_value,omitempty"` +} + +func (m *MsgUpdateNamespace_MsgSetSendsPaused) Reset() { *m = MsgUpdateNamespace_MsgSetSendsPaused{} } +func (m *MsgUpdateNamespace_MsgSetSendsPaused) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateNamespace_MsgSetSendsPaused) ProtoMessage() {} +func (*MsgUpdateNamespace_MsgSetSendsPaused) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{6, 2} +} +func (m *MsgUpdateNamespace_MsgSetSendsPaused) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateNamespace_MsgSetSendsPaused) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateNamespace_MsgSetSendsPaused.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 *MsgUpdateNamespace_MsgSetSendsPaused) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateNamespace_MsgSetSendsPaused.Merge(m, src) +} +func (m *MsgUpdateNamespace_MsgSetSendsPaused) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateNamespace_MsgSetSendsPaused) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateNamespace_MsgSetSendsPaused.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateNamespace_MsgSetSendsPaused proto.InternalMessageInfo + +func (m *MsgUpdateNamespace_MsgSetSendsPaused) GetNewValue() bool { + if m != nil { + return m.NewValue + } + return false +} + +type MsgUpdateNamespace_MsgSetBurnsPaused struct { + NewValue bool `protobuf:"varint,1,opt,name=new_value,json=newValue,proto3" json:"new_value,omitempty"` +} + +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) Reset() { *m = MsgUpdateNamespace_MsgSetBurnsPaused{} } +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateNamespace_MsgSetBurnsPaused) ProtoMessage() {} +func (*MsgUpdateNamespace_MsgSetBurnsPaused) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{6, 3} +} +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateNamespace_MsgSetBurnsPaused.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 *MsgUpdateNamespace_MsgSetBurnsPaused) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateNamespace_MsgSetBurnsPaused.Merge(m, src) +} +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateNamespace_MsgSetBurnsPaused.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateNamespace_MsgSetBurnsPaused proto.InternalMessageInfo + +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) GetNewValue() bool { + if m != nil { + return m.NewValue + } + return false +} + +type MsgUpdateNamespaceResponse struct { +} + +func (m *MsgUpdateNamespaceResponse) Reset() { *m = MsgUpdateNamespaceResponse{} } +func (m *MsgUpdateNamespaceResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateNamespaceResponse) ProtoMessage() {} +func (*MsgUpdateNamespaceResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{7} +} +func (m *MsgUpdateNamespaceResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateNamespaceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateNamespaceResponse.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 *MsgUpdateNamespaceResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateNamespaceResponse.Merge(m, src) +} +func (m *MsgUpdateNamespaceResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateNamespaceResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateNamespaceResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateNamespaceResponse proto.InternalMessageInfo + +type MsgUpdateNamespaceRoles struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` + NamespaceDenom string `protobuf:"bytes,2,opt,name=namespace_denom,json=namespaceDenom,proto3" json:"namespace_denom,omitempty"` + RolePermissions []*Role `protobuf:"bytes,3,rep,name=role_permissions,json=rolePermissions,proto3" json:"role_permissions,omitempty"` + AddressRoles []*AddressRoles `protobuf:"bytes,4,rep,name=address_roles,json=addressRoles,proto3" json:"address_roles,omitempty"` +} + +func (m *MsgUpdateNamespaceRoles) Reset() { *m = MsgUpdateNamespaceRoles{} } +func (m *MsgUpdateNamespaceRoles) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateNamespaceRoles) ProtoMessage() {} +func (*MsgUpdateNamespaceRoles) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{8} +} +func (m *MsgUpdateNamespaceRoles) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateNamespaceRoles) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateNamespaceRoles.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 *MsgUpdateNamespaceRoles) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateNamespaceRoles.Merge(m, src) +} +func (m *MsgUpdateNamespaceRoles) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateNamespaceRoles) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateNamespaceRoles.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateNamespaceRoles proto.InternalMessageInfo + +func (m *MsgUpdateNamespaceRoles) GetSender() string { + if m != nil { + return m.Sender + } + return "" +} + +func (m *MsgUpdateNamespaceRoles) GetNamespaceDenom() string { + if m != nil { + return m.NamespaceDenom + } + return "" +} + +func (m *MsgUpdateNamespaceRoles) GetRolePermissions() []*Role { + if m != nil { + return m.RolePermissions + } + return nil +} + +func (m *MsgUpdateNamespaceRoles) GetAddressRoles() []*AddressRoles { + if m != nil { + return m.AddressRoles + } + return nil +} + +type MsgUpdateNamespaceRolesResponse struct { +} + +func (m *MsgUpdateNamespaceRolesResponse) Reset() { *m = MsgUpdateNamespaceRolesResponse{} } +func (m *MsgUpdateNamespaceRolesResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateNamespaceRolesResponse) ProtoMessage() {} +func (*MsgUpdateNamespaceRolesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{9} +} +func (m *MsgUpdateNamespaceRolesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateNamespaceRolesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateNamespaceRolesResponse.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 *MsgUpdateNamespaceRolesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateNamespaceRolesResponse.Merge(m, src) +} +func (m *MsgUpdateNamespaceRolesResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateNamespaceRolesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateNamespaceRolesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateNamespaceRolesResponse proto.InternalMessageInfo + +type MsgRevokeNamespaceRoles struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` + NamespaceDenom string `protobuf:"bytes,2,opt,name=namespace_denom,json=namespaceDenom,proto3" json:"namespace_denom,omitempty"` + AddressRolesToRevoke []*AddressRoles `protobuf:"bytes,3,rep,name=address_roles_to_revoke,json=addressRolesToRevoke,proto3" json:"address_roles_to_revoke,omitempty"` +} + +func (m *MsgRevokeNamespaceRoles) Reset() { *m = MsgRevokeNamespaceRoles{} } +func (m *MsgRevokeNamespaceRoles) String() string { return proto.CompactTextString(m) } +func (*MsgRevokeNamespaceRoles) ProtoMessage() {} +func (*MsgRevokeNamespaceRoles) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{10} +} +func (m *MsgRevokeNamespaceRoles) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRevokeNamespaceRoles) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRevokeNamespaceRoles.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 *MsgRevokeNamespaceRoles) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRevokeNamespaceRoles.Merge(m, src) +} +func (m *MsgRevokeNamespaceRoles) XXX_Size() int { + return m.Size() +} +func (m *MsgRevokeNamespaceRoles) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRevokeNamespaceRoles.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRevokeNamespaceRoles proto.InternalMessageInfo + +func (m *MsgRevokeNamespaceRoles) GetSender() string { + if m != nil { + return m.Sender + } + return "" +} + +func (m *MsgRevokeNamespaceRoles) GetNamespaceDenom() string { + if m != nil { + return m.NamespaceDenom + } + return "" +} + +func (m *MsgRevokeNamespaceRoles) GetAddressRolesToRevoke() []*AddressRoles { + if m != nil { + return m.AddressRolesToRevoke + } + return nil +} + +type MsgRevokeNamespaceRolesResponse struct { +} + +func (m *MsgRevokeNamespaceRolesResponse) Reset() { *m = MsgRevokeNamespaceRolesResponse{} } +func (m *MsgRevokeNamespaceRolesResponse) String() string { return proto.CompactTextString(m) } +func (*MsgRevokeNamespaceRolesResponse) ProtoMessage() {} +func (*MsgRevokeNamespaceRolesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{11} +} +func (m *MsgRevokeNamespaceRolesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRevokeNamespaceRolesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRevokeNamespaceRolesResponse.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 *MsgRevokeNamespaceRolesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRevokeNamespaceRolesResponse.Merge(m, src) +} +func (m *MsgRevokeNamespaceRolesResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgRevokeNamespaceRolesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRevokeNamespaceRolesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRevokeNamespaceRolesResponse proto.InternalMessageInfo + +type MsgClaimVoucher struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` + Originator string `protobuf:"bytes,2,opt,name=originator,proto3" json:"originator,omitempty"` +} + +func (m *MsgClaimVoucher) Reset() { *m = MsgClaimVoucher{} } +func (m *MsgClaimVoucher) String() string { return proto.CompactTextString(m) } +func (*MsgClaimVoucher) ProtoMessage() {} +func (*MsgClaimVoucher) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{12} +} +func (m *MsgClaimVoucher) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgClaimVoucher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgClaimVoucher.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 *MsgClaimVoucher) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgClaimVoucher.Merge(m, src) +} +func (m *MsgClaimVoucher) XXX_Size() int { + return m.Size() +} +func (m *MsgClaimVoucher) XXX_DiscardUnknown() { + xxx_messageInfo_MsgClaimVoucher.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgClaimVoucher proto.InternalMessageInfo + +func (m *MsgClaimVoucher) GetSender() string { + if m != nil { + return m.Sender + } + return "" +} + +func (m *MsgClaimVoucher) GetOriginator() string { + if m != nil { + return m.Originator + } + return "" +} + +type MsgClaimVoucherResponse struct { +} + +func (m *MsgClaimVoucherResponse) Reset() { *m = MsgClaimVoucherResponse{} } +func (m *MsgClaimVoucherResponse) String() string { return proto.CompactTextString(m) } +func (*MsgClaimVoucherResponse) ProtoMessage() {} +func (*MsgClaimVoucherResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{13} +} +func (m *MsgClaimVoucherResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgClaimVoucherResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgClaimVoucherResponse.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 *MsgClaimVoucherResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgClaimVoucherResponse.Merge(m, src) +} +func (m *MsgClaimVoucherResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgClaimVoucherResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgClaimVoucherResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgClaimVoucherResponse proto.InternalMessageInfo + +func init() { + proto.RegisterType((*MsgUpdateParams)(nil), "injective.permissions.v1beta1.MsgUpdateParams") + proto.RegisterType((*MsgUpdateParamsResponse)(nil), "injective.permissions.v1beta1.MsgUpdateParamsResponse") + proto.RegisterType((*MsgCreateNamespace)(nil), "injective.permissions.v1beta1.MsgCreateNamespace") + proto.RegisterType((*MsgCreateNamespaceResponse)(nil), "injective.permissions.v1beta1.MsgCreateNamespaceResponse") + proto.RegisterType((*MsgDeleteNamespace)(nil), "injective.permissions.v1beta1.MsgDeleteNamespace") + proto.RegisterType((*MsgDeleteNamespaceResponse)(nil), "injective.permissions.v1beta1.MsgDeleteNamespaceResponse") + proto.RegisterType((*MsgUpdateNamespace)(nil), "injective.permissions.v1beta1.MsgUpdateNamespace") + proto.RegisterType((*MsgUpdateNamespace_MsgSetWasmHook)(nil), "injective.permissions.v1beta1.MsgUpdateNamespace.MsgSetWasmHook") + proto.RegisterType((*MsgUpdateNamespace_MsgSetMintsPaused)(nil), "injective.permissions.v1beta1.MsgUpdateNamespace.MsgSetMintsPaused") + proto.RegisterType((*MsgUpdateNamespace_MsgSetSendsPaused)(nil), "injective.permissions.v1beta1.MsgUpdateNamespace.MsgSetSendsPaused") + proto.RegisterType((*MsgUpdateNamespace_MsgSetBurnsPaused)(nil), "injective.permissions.v1beta1.MsgUpdateNamespace.MsgSetBurnsPaused") + proto.RegisterType((*MsgUpdateNamespaceResponse)(nil), "injective.permissions.v1beta1.MsgUpdateNamespaceResponse") + proto.RegisterType((*MsgUpdateNamespaceRoles)(nil), "injective.permissions.v1beta1.MsgUpdateNamespaceRoles") + proto.RegisterType((*MsgUpdateNamespaceRolesResponse)(nil), "injective.permissions.v1beta1.MsgUpdateNamespaceRolesResponse") + proto.RegisterType((*MsgRevokeNamespaceRoles)(nil), "injective.permissions.v1beta1.MsgRevokeNamespaceRoles") + proto.RegisterType((*MsgRevokeNamespaceRolesResponse)(nil), "injective.permissions.v1beta1.MsgRevokeNamespaceRolesResponse") + proto.RegisterType((*MsgClaimVoucher)(nil), "injective.permissions.v1beta1.MsgClaimVoucher") + proto.RegisterType((*MsgClaimVoucherResponse)(nil), "injective.permissions.v1beta1.MsgClaimVoucherResponse") +} + +func init() { + proto.RegisterFile("injective/permissions/v1beta1/tx.proto", fileDescriptor_ab9bfdcab1d9b6fa) +} + +var fileDescriptor_ab9bfdcab1d9b6fa = []byte{ + // 962 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0x4f, 0x6f, 0xe3, 0x44, + 0x1c, 0xad, 0xb7, 0xdd, 0xd2, 0x4c, 0xbb, 0x5b, 0x6a, 0x55, 0x6a, 0xd6, 0x0b, 0x6e, 0xc9, 0x0a, + 0x28, 0x5d, 0xd5, 0x26, 0x5d, 0xa9, 0x12, 0x39, 0x20, 0x48, 0xf6, 0x00, 0xd2, 0x66, 0x15, 0x5c, + 0x58, 0x24, 0x24, 0x64, 0x8d, 0x93, 0xc1, 0x31, 0x89, 0x67, 0x2c, 0x8f, 0x93, 0xd0, 0x13, 0x12, + 0x07, 0x24, 0x38, 0x20, 0x8e, 0x88, 0x4f, 0xb1, 0x07, 0xae, 0x70, 0xe2, 0xb0, 0xc7, 0x15, 0x27, + 0x4e, 0x2b, 0xd4, 0x1e, 0xf6, 0x8e, 0xf8, 0x00, 0x68, 0x3c, 0x13, 0xdb, 0x99, 0xa4, 0xb1, 0xd3, + 0x55, 0xf7, 0xd2, 0x66, 0x7e, 0x7f, 0xdf, 0x7b, 0xa3, 0xdf, 0xcc, 0x18, 0xbc, 0xe5, 0xe1, 0xaf, + 0x51, 0x3b, 0xf2, 0x86, 0xc8, 0x0c, 0x50, 0xe8, 0x7b, 0x94, 0x7a, 0x04, 0x53, 0x73, 0x58, 0x75, + 0x50, 0x04, 0xab, 0x66, 0xf4, 0x8d, 0x11, 0x84, 0x24, 0x22, 0xea, 0xeb, 0x49, 0x9c, 0x91, 0x89, + 0x33, 0x44, 0x9c, 0xb6, 0xed, 0x12, 0x97, 0xc4, 0x91, 0x26, 0xfb, 0xc5, 0x93, 0x34, 0xbd, 0x4d, + 0xa8, 0x4f, 0xa8, 0xe9, 0x40, 0x8a, 0x92, 0x92, 0x6d, 0xe2, 0xe1, 0x29, 0x3f, 0xee, 0x25, 0x7e, + 0xb6, 0x10, 0xfe, 0x1d, 0xe1, 0xf7, 0xa9, 0x6b, 0x0e, 0xab, 0xec, 0x9f, 0x70, 0xdc, 0xe2, 0x0e, + 0x9b, 0x77, 0xe4, 0x0b, 0xe1, 0x3a, 0x98, 0x4f, 0x28, 0x80, 0x21, 0xf4, 0xc7, 0xb1, 0x66, 0x4e, + 0x6c, 0x86, 0x28, 0x4f, 0xd8, 0x82, 0xbe, 0x87, 0x89, 0x19, 0xff, 0xe5, 0xa6, 0xca, 0x1f, 0x0a, + 0xd8, 0x6c, 0x52, 0xf7, 0xb3, 0xa0, 0x03, 0x23, 0xd4, 0x8a, 0xab, 0xab, 0xc7, 0xa0, 0x04, 0x07, + 0x51, 0x97, 0x84, 0x5e, 0x74, 0x5a, 0x56, 0xf6, 0x94, 0xfd, 0x52, 0xbd, 0xfc, 0xd7, 0x6f, 0x87, + 0xdb, 0x02, 0xe8, 0x87, 0x9d, 0x4e, 0x88, 0x28, 0x3d, 0x89, 0x42, 0x0f, 0xbb, 0x56, 0x1a, 0xaa, + 0x36, 0xc0, 0x2a, 0xc7, 0x57, 0xbe, 0xb6, 0xa7, 0xec, 0xaf, 0x1f, 0xbd, 0x69, 0xcc, 0x55, 0xdd, + 0xe0, 0xed, 0xea, 0x2b, 0x4f, 0x9e, 0xed, 0x2e, 0x59, 0x22, 0xb5, 0x66, 0x7c, 0xf7, 0xfc, 0xf1, + 0x41, 0x5a, 0xf4, 0xc7, 0xe7, 0x8f, 0x0f, 0x6e, 0x67, 0xd9, 0x49, 0x60, 0x2b, 0xb7, 0xc0, 0x8e, + 0x64, 0xb2, 0x10, 0x0d, 0x08, 0xa6, 0xa8, 0xf2, 0xbb, 0x02, 0xd4, 0x26, 0x75, 0x1b, 0x21, 0x82, + 0x11, 0x7a, 0x08, 0x7d, 0x44, 0x03, 0xd8, 0x46, 0xea, 0x3b, 0x60, 0x95, 0x22, 0xdc, 0x41, 0xa1, + 0xe0, 0xb6, 0xf5, 0xef, 0xb3, 0xdd, 0x1b, 0xa7, 0xd0, 0xef, 0xd7, 0x2a, 0xdc, 0x5e, 0xb1, 0x44, + 0x80, 0xfa, 0x00, 0x94, 0xf0, 0x38, 0x4f, 0x90, 0xda, 0xcf, 0x21, 0x95, 0xf4, 0x11, 0xbc, 0xd2, + 0x02, 0x9c, 0x9a, 0x28, 0xcd, 0x78, 0xe9, 0x12, 0x2f, 0x09, 0x68, 0xe5, 0x35, 0xa0, 0x4d, 0x5b, + 0x13, 0x76, 0xbf, 0x70, 0x76, 0xf7, 0x51, 0x1f, 0x5d, 0x92, 0xdd, 0xdb, 0x60, 0x33, 0x01, 0x67, + 0x77, 0x10, 0x26, 0x7e, 0xcc, 0xb1, 0x64, 0xdd, 0x4c, 0xcc, 0xf7, 0x99, 0x35, 0x17, 0xb8, 0x84, + 0x41, 0x00, 0x97, 0xac, 0x09, 0xf0, 0xff, 0xae, 0xc7, 0xc0, 0xf9, 0x96, 0x5d, 0x29, 0x70, 0xf5, + 0x4b, 0x50, 0x1a, 0x41, 0xea, 0xdb, 0x5d, 0x42, 0x7a, 0xe5, 0xe5, 0x78, 0xff, 0x3e, 0xc8, 0xd9, + 0xbf, 0x69, 0x64, 0xcc, 0x74, 0x82, 0xa2, 0xcf, 0x21, 0xf5, 0x3f, 0x22, 0xa4, 0x67, 0xad, 0x8d, + 0xc4, 0x2f, 0xf5, 0x2b, 0xb0, 0xe1, 0x7b, 0x38, 0xa2, 0x76, 0x00, 0x07, 0x14, 0x75, 0xca, 0x2b, + 0x71, 0x87, 0xc6, 0x65, 0x3b, 0x34, 0x59, 0xad, 0x56, 0x5c, 0xca, 0x5a, 0xf7, 0xd3, 0x05, 0xeb, + 0xc3, 0x98, 0x27, 0x7d, 0xae, 0xbf, 0x58, 0x9f, 0x13, 0x56, 0x6b, 0xdc, 0x87, 0xa6, 0x0b, 0xd6, + 0xc7, 0x19, 0x84, 0x38, 0xe9, 0xb3, 0xfa, 0x62, 0x7d, 0xea, 0xac, 0xd6, 0xb8, 0x8f, 0x93, 0x2e, + 0xb4, 0x43, 0x70, 0x73, 0x52, 0x53, 0xf5, 0x36, 0x28, 0x61, 0x34, 0xb2, 0x87, 0xb0, 0x3f, 0x40, + 0x7c, 0xff, 0xad, 0x35, 0x8c, 0x46, 0x8f, 0xd8, 0x5a, 0x7b, 0x17, 0x6c, 0x4d, 0x09, 0x34, 0x9d, + 0xb1, 0x36, 0x2b, 0x23, 0x43, 0xb5, 0x60, 0x46, 0x06, 0xf4, 0xdc, 0x8c, 0xdc, 0xa1, 0x90, 0x34, + 0x11, 0x43, 0x21, 0x59, 0x93, 0xa1, 0xf8, 0xf3, 0x5a, 0xe6, 0x1c, 0x4b, 0xdd, 0xa4, 0x8f, 0xe8, + 0x95, 0x4c, 0xc6, 0x43, 0xf0, 0x6a, 0x48, 0xfa, 0xc8, 0xce, 0x80, 0x2e, 0x2f, 0xef, 0x2d, 0xef, + 0xaf, 0x1f, 0xdd, 0xc9, 0xd9, 0x6e, 0x86, 0xc9, 0xda, 0x64, 0xc9, 0xad, 0xd4, 0xab, 0xb6, 0xc0, + 0x0d, 0xc8, 0xef, 0x05, 0x9b, 0xb9, 0x68, 0x79, 0x25, 0x2e, 0x76, 0x37, 0xa7, 0x98, 0xb8, 0x4b, + 0x62, 0x9e, 0xd6, 0x06, 0xcc, 0xac, 0x6a, 0xf7, 0x24, 0x7d, 0xef, 0xcc, 0xd7, 0x37, 0x4e, 0xaa, + 0xbc, 0x01, 0x76, 0x2f, 0x70, 0x25, 0x4a, 0x7f, 0xcf, 0x95, 0xb6, 0xd0, 0x90, 0xf4, 0x5e, 0x86, + 0xd2, 0x0e, 0xd8, 0x99, 0x50, 0xc6, 0x8e, 0x88, 0x1d, 0xc6, 0xcd, 0x85, 0xe0, 0x0b, 0x69, 0xb4, + 0x9d, 0xd5, 0xe8, 0x53, 0xc2, 0x59, 0xe4, 0x6a, 0x35, 0x8b, 0xac, 0xd0, 0x6a, 0x96, 0x2b, 0xd1, + 0xea, 0x07, 0xfe, 0x3a, 0x68, 0xf4, 0xa1, 0xe7, 0x3f, 0x22, 0x83, 0x76, 0x17, 0x85, 0x8b, 0x68, + 0xa4, 0x03, 0x40, 0x42, 0xcf, 0xf5, 0x30, 0x8c, 0x48, 0x28, 0xe4, 0xc9, 0x58, 0x6a, 0x77, 0x25, + 0xd8, 0xf2, 0x45, 0x9f, 0xed, 0x2b, 0x2e, 0xfa, 0xac, 0x69, 0x0c, 0xf3, 0xe8, 0xd7, 0x57, 0xc0, + 0x72, 0x93, 0xba, 0xea, 0x10, 0x6c, 0x4c, 0x3c, 0x64, 0x8c, 0xa2, 0x27, 0x17, 0x8f, 0xd7, 0x8e, + 0x17, 0x8b, 0x1f, 0xf7, 0x57, 0xbf, 0x05, 0x9b, 0xf2, 0x23, 0xa3, 0x9a, 0x5f, 0x4a, 0x4a, 0xd1, + 0xde, 0x5b, 0x38, 0x25, 0x0b, 0x40, 0x7e, 0x07, 0x14, 0x00, 0x20, 0xa5, 0x14, 0x01, 0x70, 0xc1, + 0x9d, 0xce, 0x00, 0xc8, 0xf7, 0x79, 0x75, 0xe1, 0x6b, 0xa3, 0x08, 0x80, 0x0b, 0xce, 0x4f, 0xf5, + 0x27, 0x05, 0x6c, 0xcf, 0x3c, 0x3c, 0x8f, 0x17, 0xaf, 0xc9, 0xf2, 0xb4, 0xf7, 0x2f, 0x97, 0x37, + 0x01, 0x68, 0xe6, 0x19, 0x53, 0x00, 0xd0, 0xac, 0xbc, 0x22, 0x80, 0xe6, 0xcd, 0x32, 0x1b, 0x8e, + 0x89, 0x39, 0x2e, 0x30, 0x1c, 0xd9, 0xf8, 0x22, 0xc3, 0x31, 0x6b, 0x38, 0xeb, 0xbd, 0x27, 0x67, + 0xba, 0xf2, 0xf4, 0x4c, 0x57, 0xfe, 0x39, 0xd3, 0x95, 0x9f, 0xcf, 0xf5, 0xa5, 0xa7, 0xe7, 0xfa, + 0xd2, 0xdf, 0xe7, 0xfa, 0xd2, 0x17, 0x9f, 0xb8, 0x5e, 0xd4, 0x1d, 0x38, 0x46, 0x9b, 0xf8, 0xe6, + 0xc7, 0xe3, 0xda, 0x0f, 0xa0, 0x43, 0xd3, 0x0f, 0x9b, 0xc3, 0x36, 0x09, 0x51, 0x76, 0xd9, 0x85, + 0x1e, 0x36, 0x7d, 0xd2, 0x19, 0xf4, 0x11, 0x9d, 0xf8, 0xea, 0x89, 0x4e, 0x03, 0x44, 0x9d, 0xd5, + 0xf8, 0xab, 0xe6, 0xde, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xef, 0xa1, 0xe8, 0x8e, 0x18, 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 + +// 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 { + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) + CreateNamespace(ctx context.Context, in *MsgCreateNamespace, opts ...grpc.CallOption) (*MsgCreateNamespaceResponse, error) + DeleteNamespace(ctx context.Context, in *MsgDeleteNamespace, opts ...grpc.CallOption) (*MsgDeleteNamespaceResponse, error) + UpdateNamespace(ctx context.Context, in *MsgUpdateNamespace, opts ...grpc.CallOption) (*MsgUpdateNamespaceResponse, error) + UpdateNamespaceRoles(ctx context.Context, in *MsgUpdateNamespaceRoles, opts ...grpc.CallOption) (*MsgUpdateNamespaceRolesResponse, error) + RevokeNamespaceRoles(ctx context.Context, in *MsgRevokeNamespaceRoles, opts ...grpc.CallOption) (*MsgRevokeNamespaceRolesResponse, error) + ClaimVoucher(ctx context.Context, in *MsgClaimVoucher, opts ...grpc.CallOption) (*MsgClaimVoucherResponse, error) +} + +type msgClient struct { + cc grpc1.ClientConn +} + +func NewMsgClient(cc grpc1.ClientConn) MsgClient { + return &msgClient{cc} +} + +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Msg/UpdateParams", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CreateNamespace(ctx context.Context, in *MsgCreateNamespace, opts ...grpc.CallOption) (*MsgCreateNamespaceResponse, error) { + out := new(MsgCreateNamespaceResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Msg/CreateNamespace", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) DeleteNamespace(ctx context.Context, in *MsgDeleteNamespace, opts ...grpc.CallOption) (*MsgDeleteNamespaceResponse, error) { + out := new(MsgDeleteNamespaceResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Msg/DeleteNamespace", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) UpdateNamespace(ctx context.Context, in *MsgUpdateNamespace, opts ...grpc.CallOption) (*MsgUpdateNamespaceResponse, error) { + out := new(MsgUpdateNamespaceResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Msg/UpdateNamespace", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) UpdateNamespaceRoles(ctx context.Context, in *MsgUpdateNamespaceRoles, opts ...grpc.CallOption) (*MsgUpdateNamespaceRolesResponse, error) { + out := new(MsgUpdateNamespaceRolesResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Msg/UpdateNamespaceRoles", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) RevokeNamespaceRoles(ctx context.Context, in *MsgRevokeNamespaceRoles, opts ...grpc.CallOption) (*MsgRevokeNamespaceRolesResponse, error) { + out := new(MsgRevokeNamespaceRolesResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Msg/RevokeNamespaceRoles", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) ClaimVoucher(ctx context.Context, in *MsgClaimVoucher, opts ...grpc.CallOption) (*MsgClaimVoucherResponse, error) { + out := new(MsgClaimVoucherResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Msg/ClaimVoucher", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// MsgServer is the server API for Msg service. +type MsgServer interface { + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + CreateNamespace(context.Context, *MsgCreateNamespace) (*MsgCreateNamespaceResponse, error) + DeleteNamespace(context.Context, *MsgDeleteNamespace) (*MsgDeleteNamespaceResponse, error) + UpdateNamespace(context.Context, *MsgUpdateNamespace) (*MsgUpdateNamespaceResponse, error) + UpdateNamespaceRoles(context.Context, *MsgUpdateNamespaceRoles) (*MsgUpdateNamespaceRolesResponse, error) + RevokeNamespaceRoles(context.Context, *MsgRevokeNamespaceRoles) (*MsgRevokeNamespaceRolesResponse, error) + ClaimVoucher(context.Context, *MsgClaimVoucher) (*MsgClaimVoucherResponse, error) +} + +// UnimplementedMsgServer can be embedded to have forward compatible implementations. +type UnimplementedMsgServer struct { +} + +func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} +func (*UnimplementedMsgServer) CreateNamespace(ctx context.Context, req *MsgCreateNamespace) (*MsgCreateNamespaceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateNamespace not implemented") +} +func (*UnimplementedMsgServer) DeleteNamespace(ctx context.Context, req *MsgDeleteNamespace) (*MsgDeleteNamespaceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteNamespace not implemented") +} +func (*UnimplementedMsgServer) UpdateNamespace(ctx context.Context, req *MsgUpdateNamespace) (*MsgUpdateNamespaceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateNamespace not implemented") +} +func (*UnimplementedMsgServer) UpdateNamespaceRoles(ctx context.Context, req *MsgUpdateNamespaceRoles) (*MsgUpdateNamespaceRolesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateNamespaceRoles not implemented") +} +func (*UnimplementedMsgServer) RevokeNamespaceRoles(ctx context.Context, req *MsgRevokeNamespaceRoles) (*MsgRevokeNamespaceRolesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RevokeNamespaceRoles not implemented") +} +func (*UnimplementedMsgServer) ClaimVoucher(ctx context.Context, req *MsgClaimVoucher) (*MsgClaimVoucherResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ClaimVoucher not implemented") +} + +func RegisterMsgServer(s grpc1.Server, srv MsgServer) { + s.RegisterService(&_Msg_serviceDesc, srv) +} + +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.permissions.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) +} + +func _Msg_CreateNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCreateNamespace) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CreateNamespace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Msg/CreateNamespace", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CreateNamespace(ctx, req.(*MsgCreateNamespace)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_DeleteNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgDeleteNamespace) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).DeleteNamespace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Msg/DeleteNamespace", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).DeleteNamespace(ctx, req.(*MsgDeleteNamespace)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_UpdateNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateNamespace) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateNamespace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Msg/UpdateNamespace", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateNamespace(ctx, req.(*MsgUpdateNamespace)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_UpdateNamespaceRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateNamespaceRoles) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateNamespaceRoles(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Msg/UpdateNamespaceRoles", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateNamespaceRoles(ctx, req.(*MsgUpdateNamespaceRoles)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_RevokeNamespaceRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRevokeNamespaceRoles) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).RevokeNamespaceRoles(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Msg/RevokeNamespaceRoles", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).RevokeNamespaceRoles(ctx, req.(*MsgRevokeNamespaceRoles)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_ClaimVoucher_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgClaimVoucher) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ClaimVoucher(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Msg/ClaimVoucher", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ClaimVoucher(ctx, req.(*MsgClaimVoucher)) + } + return interceptor(ctx, in, info, handler) +} + +var _Msg_serviceDesc = grpc.ServiceDesc{ + ServiceName: "injective.permissions.v1beta1.Msg", + HandlerType: (*MsgServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, + { + MethodName: "CreateNamespace", + Handler: _Msg_CreateNamespace_Handler, + }, + { + MethodName: "DeleteNamespace", + Handler: _Msg_DeleteNamespace_Handler, + }, + { + MethodName: "UpdateNamespace", + Handler: _Msg_UpdateNamespace_Handler, + }, + { + MethodName: "UpdateNamespaceRoles", + Handler: _Msg_UpdateNamespaceRoles_Handler, + }, + { + MethodName: "RevokeNamespaceRoles", + Handler: _Msg_RevokeNamespaceRoles_Handler, + }, + { + MethodName: "ClaimVoucher", + Handler: _Msg_ClaimVoucher_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "injective/permissions/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 *MsgCreateNamespace) 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 *MsgCreateNamespace) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCreateNamespace) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Namespace.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 *MsgCreateNamespaceResponse) 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 *MsgCreateNamespaceResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCreateNamespaceResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgDeleteNamespace) 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 *MsgDeleteNamespace) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgDeleteNamespace) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.NamespaceDenom) > 0 { + i -= len(m.NamespaceDenom) + copy(dAtA[i:], m.NamespaceDenom) + i = encodeVarintTx(dAtA, i, uint64(len(m.NamespaceDenom))) + 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 *MsgDeleteNamespaceResponse) 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 *MsgDeleteNamespaceResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgDeleteNamespaceResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgUpdateNamespace) 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 *MsgUpdateNamespace) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateNamespace) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.BurnsPaused != nil { + { + size, err := m.BurnsPaused.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + } + if m.SendsPaused != nil { + { + size, err := m.SendsPaused.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } + if m.MintsPaused != nil { + { + size, err := m.MintsPaused.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + if m.WasmHook != nil { + { + size, err := m.WasmHook.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + if len(m.NamespaceDenom) > 0 { + i -= len(m.NamespaceDenom) + copy(dAtA[i:], m.NamespaceDenom) + i = encodeVarintTx(dAtA, i, uint64(len(m.NamespaceDenom))) + 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 *MsgUpdateNamespace_MsgSetWasmHook) 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 *MsgUpdateNamespace_MsgSetWasmHook) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateNamespace_MsgSetWasmHook) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.NewValue) > 0 { + i -= len(m.NewValue) + copy(dAtA[i:], m.NewValue) + i = encodeVarintTx(dAtA, i, uint64(len(m.NewValue))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateNamespace_MsgSetMintsPaused) 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 *MsgUpdateNamespace_MsgSetMintsPaused) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateNamespace_MsgSetMintsPaused) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.NewValue { + i-- + if m.NewValue { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateNamespace_MsgSetSendsPaused) 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 *MsgUpdateNamespace_MsgSetSendsPaused) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateNamespace_MsgSetSendsPaused) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.NewValue { + i-- + if m.NewValue { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) 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 *MsgUpdateNamespace_MsgSetBurnsPaused) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.NewValue { + i-- + if m.NewValue { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateNamespaceResponse) 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 *MsgUpdateNamespaceResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateNamespaceResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgUpdateNamespaceRoles) 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 *MsgUpdateNamespaceRoles) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateNamespaceRoles) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.AddressRoles) > 0 { + for iNdEx := len(m.AddressRoles) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.AddressRoles[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + } + if len(m.RolePermissions) > 0 { + for iNdEx := len(m.RolePermissions) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.RolePermissions[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + } + if len(m.NamespaceDenom) > 0 { + i -= len(m.NamespaceDenom) + copy(dAtA[i:], m.NamespaceDenom) + i = encodeVarintTx(dAtA, i, uint64(len(m.NamespaceDenom))) + 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 *MsgUpdateNamespaceRolesResponse) 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 *MsgUpdateNamespaceRolesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateNamespaceRolesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgRevokeNamespaceRoles) 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 *MsgRevokeNamespaceRoles) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRevokeNamespaceRoles) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.AddressRolesToRevoke) > 0 { + for iNdEx := len(m.AddressRolesToRevoke) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.AddressRolesToRevoke[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + } + if len(m.NamespaceDenom) > 0 { + i -= len(m.NamespaceDenom) + copy(dAtA[i:], m.NamespaceDenom) + i = encodeVarintTx(dAtA, i, uint64(len(m.NamespaceDenom))) + 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 *MsgRevokeNamespaceRolesResponse) 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 *MsgRevokeNamespaceRolesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRevokeNamespaceRolesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgClaimVoucher) 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 *MsgClaimVoucher) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgClaimVoucher) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Originator) > 0 { + i -= len(m.Originator) + copy(dAtA[i:], m.Originator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Originator))) + 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 *MsgClaimVoucherResponse) 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 *MsgClaimVoucherResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgClaimVoucherResponse) 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 + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + 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 *MsgCreateNamespace) 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.Namespace.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgCreateNamespaceResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgDeleteNamespace) 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 = len(m.NamespaceDenom) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgDeleteNamespaceResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgUpdateNamespace) 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 = len(m.NamespaceDenom) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.WasmHook != nil { + l = m.WasmHook.Size() + n += 1 + l + sovTx(uint64(l)) + } + if m.MintsPaused != nil { + l = m.MintsPaused.Size() + n += 1 + l + sovTx(uint64(l)) + } + if m.SendsPaused != nil { + l = m.SendsPaused.Size() + n += 1 + l + sovTx(uint64(l)) + } + if m.BurnsPaused != nil { + l = m.BurnsPaused.Size() + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUpdateNamespace_MsgSetWasmHook) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.NewValue) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUpdateNamespace_MsgSetMintsPaused) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.NewValue { + n += 2 + } + return n +} + +func (m *MsgUpdateNamespace_MsgSetSendsPaused) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.NewValue { + n += 2 + } + return n +} + +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.NewValue { + n += 2 + } + return n +} + +func (m *MsgUpdateNamespaceResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgUpdateNamespaceRoles) 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 = len(m.NamespaceDenom) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.RolePermissions) > 0 { + for _, e := range m.RolePermissions { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + if len(m.AddressRoles) > 0 { + for _, e := range m.AddressRoles { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgUpdateNamespaceRolesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgRevokeNamespaceRoles) 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 = len(m.NamespaceDenom) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.AddressRolesToRevoke) > 0 { + for _, e := range m.AddressRolesToRevoke { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgRevokeNamespaceRolesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgClaimVoucher) 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 = len(m.Originator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgClaimVoucherResponse) 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 *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 *MsgCreateNamespace) 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: MsgCreateNamespace: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateNamespace: 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 Namespace", 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.Namespace.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 *MsgCreateNamespaceResponse) 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: MsgCreateNamespaceResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateNamespaceResponse: 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 *MsgDeleteNamespace) 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: MsgDeleteNamespace: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgDeleteNamespace: 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 NamespaceDenom", 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.NamespaceDenom = string(dAtA[iNdEx:postIndex]) + 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 *MsgDeleteNamespaceResponse) 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: MsgDeleteNamespaceResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgDeleteNamespaceResponse: 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 *MsgUpdateNamespace) 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: MsgUpdateNamespace: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateNamespace: 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 NamespaceDenom", 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.NamespaceDenom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WasmHook", 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.WasmHook == nil { + m.WasmHook = &MsgUpdateNamespace_MsgSetWasmHook{} + } + if err := m.WasmHook.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MintsPaused", 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.MintsPaused == nil { + m.MintsPaused = &MsgUpdateNamespace_MsgSetMintsPaused{} + } + if err := m.MintsPaused.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SendsPaused", 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.SendsPaused == nil { + m.SendsPaused = &MsgUpdateNamespace_MsgSetSendsPaused{} + } + if err := m.SendsPaused.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BurnsPaused", 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.BurnsPaused == nil { + m.BurnsPaused = &MsgUpdateNamespace_MsgSetBurnsPaused{} + } + if err := m.BurnsPaused.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 *MsgUpdateNamespace_MsgSetWasmHook) 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: MsgSetWasmHook: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSetWasmHook: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewValue", 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.NewValue = string(dAtA[iNdEx:postIndex]) + 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 *MsgUpdateNamespace_MsgSetMintsPaused) 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: MsgSetMintsPaused: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSetMintsPaused: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NewValue", 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.NewValue = 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 *MsgUpdateNamespace_MsgSetSendsPaused) 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: MsgSetSendsPaused: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSetSendsPaused: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NewValue", 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.NewValue = 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 *MsgUpdateNamespace_MsgSetBurnsPaused) 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: MsgSetBurnsPaused: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSetBurnsPaused: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NewValue", 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.NewValue = 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 *MsgUpdateNamespaceResponse) 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: MsgUpdateNamespaceResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateNamespaceResponse: 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 *MsgUpdateNamespaceRoles) 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: MsgUpdateNamespaceRoles: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateNamespaceRoles: 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 NamespaceDenom", 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.NamespaceDenom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RolePermissions", 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 + } + m.RolePermissions = append(m.RolePermissions, &Role{}) + if err := m.RolePermissions[len(m.RolePermissions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AddressRoles", 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 + } + m.AddressRoles = append(m.AddressRoles, &AddressRoles{}) + if err := m.AddressRoles[len(m.AddressRoles)-1].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 *MsgUpdateNamespaceRolesResponse) 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: MsgUpdateNamespaceRolesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateNamespaceRolesResponse: 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 *MsgRevokeNamespaceRoles) 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: MsgRevokeNamespaceRoles: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRevokeNamespaceRoles: 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 NamespaceDenom", 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.NamespaceDenom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AddressRolesToRevoke", 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 + } + m.AddressRolesToRevoke = append(m.AddressRolesToRevoke, &AddressRoles{}) + if err := m.AddressRolesToRevoke[len(m.AddressRolesToRevoke)-1].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 *MsgRevokeNamespaceRolesResponse) 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: MsgRevokeNamespaceRolesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRevokeNamespaceRolesResponse: 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 *MsgClaimVoucher) 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: MsgClaimVoucher: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgClaimVoucher: 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 Originator", 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.Originator = string(dAtA[iNdEx:postIndex]) + 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 *MsgClaimVoucherResponse) 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: MsgClaimVoucherResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgClaimVoucherResponse: 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 + 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/permissions/types/types.go b/chain/permissions/types/types.go new file mode 100644 index 00000000..563d1b68 --- /dev/null +++ b/chain/permissions/types/types.go @@ -0,0 +1,75 @@ +package types + +import ( + "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + + tftypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types" +) + +const ( + EVERYONE = "EVERYONE" + MaxPerm = uint32(Action_MINT) | uint32(Action_RECEIVE) | uint32(Action_BURN) +) + +type WasmHookMsg struct { + From sdk.AccAddress `json:"from_address"` + To sdk.AccAddress `json:"to_address"` + Action string `json:"action"` + Amounts sdk.Coins `json:"amounts"` +} + +func (n *Namespace) Validate() error { + if _, _, err := tftypes.DeconstructDenom(n.Denom); err != nil { + return errors.Wrap(err, "permissions namespace can only be applied to tokenfactory denoms") + } + + // role_permissions + hasEveryoneSet := false + foundRoles := make(map[string]struct{}, len(n.RolePermissions)) + for _, rolePerm := range n.RolePermissions { + if rolePerm.Role == EVERYONE { + hasEveryoneSet = true + } + if _, ok := foundRoles[rolePerm.Role]; ok { + return errors.Wrapf(ErrInvalidPermission, "permissions for the role %s set multiple times?", rolePerm.Role) + } + if rolePerm.Permissions > MaxPerm { + return errors.Wrapf(ErrInvalidPermission, "permissions %d for the role %s is bigger than maximum expected %d", rolePerm.Permissions, rolePerm.Role, MaxPerm) + } + foundRoles[rolePerm.Role] = struct{}{} + } + + if !hasEveryoneSet { + return errors.Wrapf(ErrInvalidPermission, "permissions for role %s should be explicitly set", EVERYONE) + } + + // address_roles + foundAddresses := make(map[string]struct{}, len(n.AddressRoles)) + for _, addrRoles := range n.AddressRoles { + if _, err := sdk.AccAddressFromBech32(addrRoles.Address); err != nil { + return errors.Wrapf(err, "invalid address %s", addrRoles.Address) + } + if _, ok := foundAddresses[addrRoles.Address]; ok { + return errors.Wrapf(ErrInvalidRole, "address %s is assigned new roles multiple times?", addrRoles.Address) + } + for _, role := range addrRoles.Roles { + if _, ok := foundRoles[role]; !ok { + return errors.Wrapf(ErrUnknownRole, "role %s has no defined permissions", role) + } + if role == EVERYONE { + return errors.Wrapf(ErrInvalidRole, "role %s should not be explicitly attached to address, you need to remove address from the list completely instead", EVERYONE) + } + } + foundAddresses[addrRoles.Address] = struct{}{} + } + + // existing wasm hook contract + if n.WasmHook != "" { + if _, err := sdk.AccAddressFromBech32(n.WasmHook); err != nil { + return errors.Wrap(err, "invalid WasmHook address") + } + } + + return nil +} diff --git a/chain/stream/types/query.pb.go b/chain/stream/types/query.pb.go index 1e7e3f0c..be31fd77 100644 --- a/chain/stream/types/query.pb.go +++ b/chain/stream/types/query.pb.go @@ -5,6 +5,7 @@ package types import ( context "context" + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" types "github.com/InjectiveLabs/sdk-go/chain/exchange/types" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" @@ -827,13 +828,13 @@ func (m *DerivativeOrder) GetIsMarket() bool { } type Position struct { - MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - IsLong bool `protobuf:"varint,3,opt,name=isLong,proto3" json:"isLong,omitempty"` - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` - EntryPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=entry_price,json=entryPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"entry_price"` - Margin github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,opt,name=margin,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"margin"` - CumulativeFundingEntry github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=cumulative_funding_entry,json=cumulativeFundingEntry,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"cumulative_funding_entry"` + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + IsLong bool `protobuf:"varint,3,opt,name=isLong,proto3" json:"isLong,omitempty"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` + EntryPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=entry_price,json=entryPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"entry_price"` + Margin cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=margin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin"` + CumulativeFundingEntry cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=cumulative_funding_entry,json=cumulativeFundingEntry,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cumulative_funding_entry"` } func (m *Position) Reset() { *m = Position{} } @@ -891,9 +892,9 @@ func (m *Position) GetIsLong() bool { } type OraclePrice struct { - Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` - Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` + Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` + Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` } func (m *OraclePrice) Reset() { *m = OraclePrice{} } @@ -944,18 +945,18 @@ func (m *OraclePrice) GetType() string { } type SpotTrade struct { - MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - IsBuy bool `protobuf:"varint,2,opt,name=is_buy,json=isBuy,proto3" json:"is_buy,omitempty"` - ExecutionType string `protobuf:"bytes,3,opt,name=executionType,proto3" json:"executionType,omitempty"` - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + IsBuy bool `protobuf:"varint,2,opt,name=is_buy,json=isBuy,proto3" json:"is_buy,omitempty"` + ExecutionType string `protobuf:"bytes,3,opt,name=executionType,proto3" json:"executionType,omitempty"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` // bytes32 subaccount ID that executed the trade - SubaccountId string `protobuf:"bytes,6,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - Fee github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=fee,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fee"` - OrderHash []byte `protobuf:"bytes,8,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` - FeeRecipientAddress string `protobuf:"bytes,9,opt,name=fee_recipient_address,json=feeRecipientAddress,proto3" json:"fee_recipient_address,omitempty"` - Cid string `protobuf:"bytes,10,opt,name=cid,proto3" json:"cid,omitempty"` - TradeId string `protobuf:"bytes,11,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` + SubaccountId string `protobuf:"bytes,6,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + Fee cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=fee,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fee"` + OrderHash []byte `protobuf:"bytes,8,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + FeeRecipientAddress string `protobuf:"bytes,9,opt,name=fee_recipient_address,json=feeRecipientAddress,proto3" json:"fee_recipient_address,omitempty"` + Cid string `protobuf:"bytes,10,opt,name=cid,proto3" json:"cid,omitempty"` + TradeId string `protobuf:"bytes,11,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` } func (m *SpotTrade) Reset() { *m = SpotTrade{} } @@ -1048,17 +1049,17 @@ func (m *SpotTrade) GetTradeId() string { } type DerivativeTrade struct { - MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - IsBuy bool `protobuf:"varint,2,opt,name=is_buy,json=isBuy,proto3" json:"is_buy,omitempty"` - ExecutionType string `protobuf:"bytes,3,opt,name=executionType,proto3" json:"executionType,omitempty"` - SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - PositionDelta *types.PositionDelta `protobuf:"bytes,5,opt,name=position_delta,json=positionDelta,proto3" json:"position_delta,omitempty"` - Payout github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,opt,name=payout,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"payout"` - Fee github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=fee,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fee"` - OrderHash string `protobuf:"bytes,8,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` - FeeRecipientAddress string `protobuf:"bytes,9,opt,name=fee_recipient_address,json=feeRecipientAddress,proto3" json:"fee_recipient_address,omitempty"` - Cid string `protobuf:"bytes,10,opt,name=cid,proto3" json:"cid,omitempty"` - TradeId string `protobuf:"bytes,11,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + IsBuy bool `protobuf:"varint,2,opt,name=is_buy,json=isBuy,proto3" json:"is_buy,omitempty"` + ExecutionType string `protobuf:"bytes,3,opt,name=executionType,proto3" json:"executionType,omitempty"` + SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + PositionDelta *types.PositionDelta `protobuf:"bytes,5,opt,name=position_delta,json=positionDelta,proto3" json:"position_delta,omitempty"` + Payout cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=payout,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"payout"` + Fee cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=fee,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fee"` + OrderHash string `protobuf:"bytes,8,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + FeeRecipientAddress string `protobuf:"bytes,9,opt,name=fee_recipient_address,json=feeRecipientAddress,proto3" json:"fee_recipient_address,omitempty"` + Cid string `protobuf:"bytes,10,opt,name=cid,proto3" json:"cid,omitempty"` + TradeId string `protobuf:"bytes,11,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` } func (m *DerivativeTrade) Reset() { *m = DerivativeTrade{} } @@ -1520,109 +1521,110 @@ func init() { } var fileDescriptor_e23b7dcfb2fbc9c7 = []byte{ - // 1630 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0x4b, 0x73, 0xdb, 0x46, - 0x12, 0x16, 0x44, 0x89, 0x22, 0x9a, 0x94, 0x44, 0x8d, 0x65, 0x15, 0xac, 0xdd, 0x95, 0x6c, 0xc8, - 0x0f, 0xc9, 0x0f, 0x52, 0xd6, 0x5e, 0x76, 0x4f, 0x6b, 0x53, 0x5a, 0x95, 0xe5, 0x92, 0xcb, 0x2e, - 0x48, 0xde, 0xad, 0x72, 0xad, 0x17, 0x85, 0xc7, 0x90, 0xc4, 0x92, 0x04, 0x28, 0x0c, 0xa0, 0x32, - 0x4f, 0x7b, 0xcd, 0x29, 0xe5, 0x6b, 0x8e, 0xb9, 0xe6, 0x90, 0x4b, 0xfe, 0x41, 0x4e, 0x3e, 0xa5, - 0x7c, 0x4c, 0xe5, 0xe0, 0xa4, 0xec, 0xfc, 0x82, 0xfc, 0x82, 0xd4, 0x3c, 0x00, 0x02, 0x20, 0x45, - 0x52, 0x8a, 0x5d, 0x3e, 0x11, 0x18, 0x74, 0x7f, 0xdf, 0x74, 0xcf, 0xf4, 0x37, 0xcd, 0x81, 0xeb, - 0x8e, 0xfb, 0x3f, 0x6c, 0x05, 0xce, 0x29, 0xae, 0x92, 0xc0, 0xc7, 0x46, 0xa7, 0x7a, 0x7a, 0xdf, - 0xc4, 0x81, 0x71, 0xbf, 0x7a, 0x12, 0x62, 0xbf, 0x57, 0xe9, 0xfa, 0x5e, 0xe0, 0x21, 0x25, 0xb6, - 0xaa, 0x70, 0xab, 0x8a, 0xb0, 0x5a, 0x5d, 0xb3, 0x3c, 0xd2, 0xf1, 0x48, 0xd5, 0x34, 0x08, 0x8e, - 0x5d, 0x2d, 0xcf, 0x71, 0xb9, 0xe7, 0xea, 0x72, 0xc3, 0x6b, 0x78, 0xec, 0xb1, 0x4a, 0x9f, 0xc4, - 0xe8, 0xad, 0x3e, 0x2b, 0x7e, 0x65, 0x35, 0x0d, 0xb7, 0xd1, 0x77, 0xc6, 0xa7, 0xd8, 0x0d, 0x88, - 0x30, 0xdc, 0x1a, 0x65, 0x28, 0x06, 0xb8, 0xa9, 0xfa, 0x65, 0x01, 0xe6, 0x8f, 0xd8, 0xe4, 0x34, - 0x7c, 0x12, 0x62, 0x12, 0x20, 0x1b, 0x96, 0x4d, 0xc3, 0x6d, 0xe9, 0xa6, 0xd1, 0x36, 0x5c, 0x0b, - 0x13, 0xbd, 0xee, 0xb4, 0x03, 0xec, 0x2b, 0xd2, 0x55, 0x69, 0xb3, 0xb8, 0x73, 0xb7, 0x72, 0x56, - 0x50, 0x95, 0x9a, 0xe1, 0xb6, 0x6a, 0xc2, 0x69, 0x9f, 0xf9, 0xd4, 0x66, 0xde, 0xbc, 0x5b, 0x97, - 0x34, 0x64, 0x0e, 0x7c, 0x41, 0xa7, 0xb0, 0x4a, 0x42, 0xd3, 0xb0, 0x2c, 0x2f, 0x74, 0x03, 0xdd, - 0xc6, 0x5d, 0x8f, 0x38, 0x41, 0xcc, 0x35, 0xcd, 0xb8, 0x76, 0xce, 0xe6, 0x3a, 0x8a, 0x7d, 0xf7, - 0x84, 0x6b, 0x8a, 0x51, 0x21, 0x67, 0x7c, 0x47, 0x2f, 0x00, 0x91, 0xae, 0x17, 0xe8, 0x81, 0x6f, - 0xd8, 0xfd, 0xd8, 0x72, 0x8c, 0xef, 0xe6, 0xd9, 0x7c, 0xc7, 0xcc, 0x3c, 0xc5, 0x51, 0xa6, 0x38, - 0xc9, 0x71, 0x54, 0x07, 0xc5, 0xc6, 0xbe, 0x73, 0x6a, 0x50, 0x84, 0x0c, 0xc3, 0xcc, 0x05, 0x18, - 0x56, 0xfa, 0x68, 0x29, 0x9e, 0x28, 0x06, 0xcf, 0xb7, 0xb1, 0x1f, 0x33, 0xcc, 0x8e, 0x63, 0x78, - 0xca, 0xcc, 0x07, 0x63, 0x48, 0x8e, 0x67, 0x62, 0x48, 0x33, 0xe4, 0x2f, 0xc0, 0x90, 0x88, 0x21, - 0xc5, 0x83, 0x61, 0xa5, 0x1f, 0x83, 0xe9, 0x79, 0xad, 0x98, 0x65, 0x8e, 0xb1, 0x6c, 0x8d, 0x61, - 0xa1, 0x2e, 0x29, 0xa2, 0xe5, 0x38, 0x14, 0x86, 0x26, 0x68, 0x4e, 0xe0, 0xcf, 0xd9, 0x70, 0x52, - 0x64, 0x85, 0x8b, 0x91, 0xad, 0x66, 0xa2, 0x4a, 0x52, 0xbe, 0x80, 0x32, 0xdb, 0x71, 0x8e, 0xe7, - 0xc6, 0x34, 0xf2, 0x38, 0x9a, 0x67, 0x91, 0x47, 0x8a, 0x66, 0xb1, 0x9b, 0x1e, 0x46, 0x06, 0x5c, - 0xf2, 0x7c, 0xc3, 0x6a, 0x63, 0xbd, 0xeb, 0x3b, 0x16, 0x8e, 0xe0, 0x81, 0xc1, 0xdf, 0x19, 0x15, - 0x05, 0x75, 0x7a, 0x46, 0x7d, 0x52, 0x04, 0x4b, 0x5e, 0xf6, 0x83, 0xfa, 0xf5, 0x1c, 0x2c, 0x44, - 0x82, 0x40, 0xba, 0x9e, 0x4b, 0x30, 0xba, 0x06, 0x25, 0xb3, 0xed, 0x59, 0x2d, 0xbd, 0x89, 0x9d, - 0x46, 0x33, 0x60, 0x4a, 0x30, 0xa3, 0x15, 0xd9, 0xd8, 0x23, 0x36, 0x84, 0xfe, 0x02, 0xc0, 0x4d, - 0x02, 0xa7, 0x83, 0x59, 0xf9, 0xe6, 0x34, 0x99, 0x8d, 0x1c, 0x3b, 0x1d, 0x8c, 0x1e, 0xc3, 0x7c, - 0x4a, 0x53, 0x94, 0xdc, 0xd5, 0xdc, 0x66, 0x71, 0xe7, 0xc6, 0x44, 0x62, 0xa2, 0x95, 0x92, 0xfa, - 0x81, 0x5e, 0xc2, 0xa5, 0x21, 0xca, 0xa1, 0xcc, 0x30, 0xc4, 0xbb, 0xe7, 0x91, 0x0c, 0x0d, 0x0d, - 0xca, 0x04, 0xda, 0x83, 0x62, 0x42, 0x20, 0x94, 0x59, 0x06, 0xbb, 0x31, 0x02, 0x36, 0x52, 0x01, - 0x0d, 0xfa, 0x82, 0x80, 0xfe, 0x05, 0x4b, 0x03, 0x52, 0xa0, 0xe4, 0x19, 0xd6, 0x88, 0x5d, 0xb0, - 0x97, 0xae, 0x77, 0xad, 0x9c, 0x15, 0x00, 0xf4, 0x58, 0xcc, 0x8e, 0x17, 0xa6, 0x32, 0x37, 0x0e, - 0xf1, 0x28, 0x2a, 0x8a, 0xe7, 0x5d, 0xdb, 0x08, 0xc4, 0x1c, 0x79, 0x21, 0xa2, 0xff, 0xa4, 0xe6, - 0x28, 0x10, 0x0b, 0x0c, 0xb1, 0x3a, 0xc9, 0x1c, 0x93, 0xb8, 0xe5, 0x6c, 0x99, 0x23, 0x3d, 0x5b, - 0xe0, 0x7a, 0xc8, 0x4c, 0x89, 0x22, 0x8f, 0x9b, 0x74, 0x5c, 0x52, 0x02, 0x3c, 0x5d, 0xda, 0x7c, - 0x90, 0xa0, 0xd6, 0xf0, 0xd2, 0x8e, 0x69, 0xe0, 0xbc, 0x34, 0xc3, 0x8a, 0x3a, 0x22, 0x7b, 0x00, - 0x72, 0x5c, 0x8b, 0x4a, 0x91, 0x21, 0xab, 0xe3, 0xab, 0x59, 0xeb, 0x3b, 0xd1, 0x12, 0x48, 0x96, - 0x2e, 0x51, 0x4a, 0xe3, 0x4a, 0x20, 0x51, 0xb4, 0x5a, 0x29, 0x51, 0xa8, 0x44, 0xad, 0xc3, 0x62, - 0x66, 0x86, 0xa8, 0x0c, 0x39, 0x82, 0x4f, 0x44, 0x69, 0xd2, 0x47, 0xf4, 0x10, 0xe4, 0x38, 0x29, - 0xe2, 0x40, 0xdd, 0x98, 0x20, 0x19, 0x5a, 0xdf, 0x4b, 0xfd, 0x56, 0x02, 0x39, 0xfe, 0x80, 0xfe, - 0x04, 0x72, 0xc7, 0xf0, 0x5b, 0x38, 0xd0, 0x1d, 0x9b, 0x11, 0xc9, 0x5a, 0x81, 0x0f, 0x1c, 0xd8, - 0xe8, 0x01, 0x80, 0x19, 0xf6, 0xf4, 0x36, 0x3e, 0xc5, 0x6d, 0xa2, 0x4c, 0xb3, 0xd8, 0xae, 0x25, - 0xe8, 0xe2, 0xb6, 0x23, 0x22, 0x3c, 0xa4, 0x96, 0x9a, 0x6c, 0x86, 0x3d, 0xf6, 0x44, 0x50, 0x0d, - 0x8a, 0x04, 0xb7, 0xdb, 0x11, 0x44, 0x6e, 0x52, 0x08, 0xa0, 0x5e, 0x1c, 0x43, 0x7d, 0x2d, 0x41, - 0x31, 0xa1, 0x1c, 0x48, 0x81, 0x39, 0x51, 0xdf, 0x62, 0xc2, 0xd1, 0x2b, 0x6a, 0x40, 0x21, 0x16, - 0x23, 0x3e, 0xdb, 0x2b, 0x15, 0xde, 0x94, 0x55, 0x68, 0x53, 0x16, 0x73, 0xec, 0x7a, 0x8e, 0x5b, - 0xdb, 0x7e, 0xf3, 0x6e, 0x7d, 0xea, 0x9b, 0x9f, 0xd7, 0x37, 0x1b, 0x4e, 0xd0, 0x0c, 0xcd, 0x8a, - 0xe5, 0x75, 0xaa, 0xa2, 0x83, 0xe3, 0x3f, 0xf7, 0x88, 0xdd, 0xaa, 0x06, 0xbd, 0x2e, 0x26, 0xcc, - 0x81, 0x68, 0x31, 0xb8, 0xfa, 0x85, 0x04, 0x68, 0x50, 0x7a, 0xd0, 0x06, 0xcc, 0x27, 0x54, 0x2c, - 0x4e, 0x68, 0xa9, 0x3f, 0x78, 0x60, 0xa3, 0x27, 0x50, 0x88, 0xf5, 0x8d, 0x4f, 0xf2, 0xce, 0x39, - 0xf4, 0x8d, 0x69, 0xfc, 0x94, 0x16, 0x43, 0xa8, 0x2e, 0x2c, 0x0d, 0x18, 0xa1, 0x65, 0x98, 0xb5, - 0xb1, 0xeb, 0x75, 0xc4, 0x04, 0xf8, 0x0b, 0xda, 0x85, 0x39, 0xe1, 0x36, 0x64, 0xeb, 0x0c, 0x2c, - 0x44, 0x9a, 0x30, 0xf2, 0x54, 0xbf, 0x97, 0x60, 0x31, 0x23, 0x40, 0x68, 0x17, 0xf2, 0x24, 0x30, - 0x82, 0x90, 0x30, 0xbe, 0x85, 0xd1, 0x87, 0x56, 0xec, 0x76, 0xc4, 0x5c, 0x34, 0xe1, 0x4a, 0x4f, - 0x1b, 0xb6, 0x49, 0xf5, 0xa6, 0x41, 0x9a, 0x6c, 0x82, 0x25, 0xb1, 0x6d, 0x1f, 0x19, 0xa4, 0x49, - 0x6b, 0xc1, 0x72, 0x6c, 0xd6, 0xd4, 0xc9, 0x1a, 0x7d, 0x44, 0x7f, 0x87, 0x59, 0xf6, 0x59, 0xb4, - 0x61, 0x1b, 0x13, 0x08, 0xa6, 0xc6, 0x3d, 0xd4, 0x2e, 0xc8, 0xf1, 0xd8, 0xe8, 0x12, 0xd8, 0x8f, - 0x48, 0x78, 0xc6, 0x6e, 0x8f, 0xca, 0x18, 0x85, 0x3c, 0x74, 0x3a, 0x0e, 0xc7, 0x15, 0x89, 0x13, - 0x8c, 0x3f, 0x48, 0x70, 0x79, 0xa8, 0xca, 0x7e, 0xa6, 0xe4, 0xfd, 0x23, 0x9d, 0xbc, 0xad, 0x89, - 0xcf, 0x86, 0x28, 0xa0, 0xaf, 0x24, 0x58, 0xcc, 0x7c, 0x1a, 0x9d, 0xc9, 0xc3, 0x74, 0x26, 0xb7, - 0x47, 0xef, 0xbd, 0x08, 0xf8, 0x8c, 0x7c, 0x52, 0x2a, 0x87, 0xe8, 0x1c, 0x9c, 0xc5, 0x55, 0xd0, - 0x0a, 0x0e, 0x79, 0xc2, 0xde, 0xd5, 0xef, 0x72, 0x50, 0x88, 0xe4, 0x7a, 0xf4, 0xa4, 0x06, 0x2a, - 0x76, 0x7a, 0x48, 0xc5, 0xae, 0x40, 0xde, 0x21, 0x87, 0x9e, 0xdb, 0x10, 0x44, 0xe2, 0x0d, 0x3d, - 0x86, 0xc2, 0x49, 0x68, 0xb8, 0x81, 0x13, 0xf4, 0x58, 0x1a, 0xe5, 0x5a, 0x85, 0x4e, 0xf1, 0xa7, - 0x77, 0xeb, 0x37, 0x27, 0xd0, 0x94, 0x3d, 0x6c, 0x69, 0xb1, 0x3f, 0x7a, 0x0a, 0x45, 0xec, 0x06, - 0x7e, 0x8f, 0x1f, 0x24, 0xac, 0xef, 0x3f, 0x3f, 0x1c, 0x30, 0x08, 0x76, 0x9e, 0xa0, 0x7d, 0xc8, - 0x77, 0x0c, 0xbf, 0xe1, 0xb8, 0xac, 0xc3, 0x3f, 0x3f, 0x96, 0xf0, 0x46, 0x4d, 0x50, 0xac, 0xb0, - 0x13, 0xb6, 0xf9, 0x89, 0x5c, 0x0f, 0x5d, 0xdb, 0x71, 0x1b, 0x3a, 0x23, 0x62, 0x5d, 0xfd, 0xf9, - 0x91, 0x57, 0xfa, 0x78, 0xfb, 0x1c, 0xee, 0x9f, 0x14, 0x4d, 0xfd, 0x3f, 0x14, 0x13, 0xa7, 0x23, - 0xcd, 0x3a, 0xe9, 0x75, 0x4c, 0xaf, 0x2d, 0x16, 0x4d, 0xbc, 0xa1, 0x3d, 0x98, 0xe5, 0x39, 0x9a, - 0xbe, 0x10, 0x3b, 0x77, 0x46, 0x08, 0x66, 0xe8, 0x98, 0x28, 0x09, 0xf6, 0xac, 0xfe, 0x9a, 0xe3, - 0xb2, 0xc0, 0xda, 0xb2, 0xd1, 0xfb, 0xe6, 0x32, 0xdd, 0x12, 0xba, 0x19, 0xf6, 0xd8, 0x2c, 0x0a, - 0xda, 0xac, 0x43, 0x6a, 0x61, 0x0f, 0x5d, 0x87, 0x79, 0xfc, 0x0a, 0x5b, 0x21, 0xdd, 0x78, 0xc7, - 0x7d, 0xf8, 0xf4, 0xe0, 0x47, 0xdd, 0x37, 0x71, 0x36, 0x66, 0xff, 0x48, 0x36, 0x06, 0xca, 0x20, - 0x3f, 0xa4, 0x0c, 0x1e, 0x40, 0xae, 0x8e, 0xf1, 0x05, 0x17, 0x9d, 0xba, 0x66, 0x54, 0xaa, 0x90, - 0x55, 0xa9, 0xbf, 0xc1, 0xe5, 0x3a, 0xc6, 0xba, 0x8f, 0x2d, 0xa7, 0xeb, 0x60, 0x37, 0xd0, 0x0d, - 0xdb, 0xf6, 0x31, 0x21, 0xec, 0x9f, 0x96, 0x2c, 0xfe, 0xdd, 0x5c, 0xaa, 0x63, 0xac, 0x45, 0x16, - 0x0f, 0xb9, 0x41, 0xa4, 0x6f, 0xd0, 0xd7, 0xb7, 0x2b, 0x50, 0x60, 0x0d, 0x3a, 0x0d, 0xa6, 0xc8, - 0xbb, 0x04, 0xf6, 0x7e, 0x60, 0xab, 0xbf, 0xe5, 0x92, 0xca, 0xf5, 0xa9, 0x17, 0x7b, 0x20, 0xb5, - 0x33, 0x43, 0x52, 0xfb, 0x0c, 0x16, 0xa2, 0xa6, 0x52, 0xb7, 0x71, 0x3b, 0x30, 0xc4, 0x1f, 0xff, - 0xad, 0x51, 0x22, 0x19, 0x29, 0xdc, 0x1e, 0x75, 0xd0, 0xe6, 0xbb, 0xc9, 0x57, 0x5a, 0xfe, 0x5d, - 0xa3, 0xe7, 0x85, 0xc1, 0x45, 0xcb, 0x9f, 0x7b, 0x7f, 0x92, 0x45, 0x97, 0x3f, 0xc3, 0xa2, 0x1f, - 0x43, 0x29, 0x75, 0xdd, 0x72, 0x03, 0x16, 0x52, 0xcb, 0x42, 0x4f, 0xdf, 0x1c, 0x5d, 0xbd, 0xe4, - 0xba, 0xb0, 0x73, 0x35, 0xde, 0x17, 0xbc, 0x5d, 0x93, 0x35, 0x39, 0xda, 0x18, 0x44, 0xfd, 0x37, - 0x2c, 0x66, 0xfe, 0xe4, 0x7f, 0x24, 0xe0, 0x63, 0x28, 0xa5, 0x6e, 0x56, 0x3e, 0x0e, 0xea, 0x76, - 0xe2, 0x2f, 0x86, 0x00, 0x4e, 0x7b, 0x48, 0x83, 0x1e, 0x68, 0xf0, 0x06, 0x10, 0xad, 0x42, 0x41, - 0x90, 0x46, 0x2e, 0xf1, 0xbb, 0xfa, 0x10, 0x94, 0xb3, 0xee, 0xf1, 0x26, 0x8c, 0x42, 0xbd, 0x03, - 0x4b, 0x03, 0x77, 0x1b, 0xa9, 0xe3, 0x20, 0xd7, 0x3f, 0x0e, 0x6e, 0x1f, 0x52, 0xe3, 0x4c, 0x5b, - 0x84, 0x16, 0xa1, 0xf8, 0xdc, 0x25, 0x5d, 0x6c, 0x39, 0x75, 0x07, 0xdb, 0xe5, 0x29, 0x04, 0x90, - 0xaf, 0x79, 0x5e, 0x0b, 0xdb, 0x65, 0x09, 0x15, 0x61, 0xee, 0x89, 0x11, 0x58, 0x4d, 0x6c, 0x97, - 0xa7, 0xd1, 0x3c, 0xc8, 0xbb, 0x34, 0xb4, 0x76, 0x1b, 0xdb, 0xe5, 0xdc, 0x4e, 0x03, 0xf2, 0xfc, - 0x9e, 0x04, 0xbd, 0x8c, 0x9f, 0x6e, 0x8d, 0x68, 0x2c, 0x93, 0x97, 0xac, 0xab, 0x9b, 0xe3, 0x0d, - 0xf9, 0xe5, 0xcb, 0xb6, 0x54, 0xfb, 0xef, 0x9b, 0xf7, 0x6b, 0xd2, 0xdb, 0xf7, 0x6b, 0xd2, 0x2f, - 0xef, 0xd7, 0xa4, 0xd7, 0x1f, 0xd6, 0xa6, 0xde, 0x7e, 0x58, 0x9b, 0xfa, 0xf1, 0xc3, 0xda, 0xd4, - 0x8b, 0xbd, 0x44, 0x71, 0x1d, 0x44, 0x78, 0x87, 0x86, 0x49, 0xaa, 0x31, 0xfa, 0x3d, 0xcb, 0xf3, - 0x71, 0xf2, 0xb5, 0x69, 0x38, 0x6e, 0x74, 0x69, 0xcd, 0xca, 0xcf, 0xcc, 0xb3, 0x9b, 0xe0, 0xbf, - 0xfe, 0x1e, 0x00, 0x00, 0xff, 0xff, 0xd8, 0xec, 0xaf, 0x5b, 0xd5, 0x16, 0x00, 0x00, + // 1640 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xcd, 0x6e, 0xdb, 0xc6, + 0x16, 0xb6, 0x2c, 0x5b, 0x16, 0x8f, 0x64, 0x5b, 0x9e, 0x38, 0x06, 0xe3, 0xdc, 0x6b, 0x27, 0x74, + 0x72, 0x63, 0xe7, 0x47, 0x72, 0x7c, 0x71, 0x81, 0x5b, 0x74, 0x91, 0x44, 0x76, 0x83, 0x38, 0x70, + 0xd0, 0x80, 0x76, 0x5a, 0x20, 0x68, 0x4a, 0x50, 0xe4, 0x48, 0x9a, 0x4a, 0x22, 0x65, 0x0e, 0x69, + 0x44, 0x4f, 0xd0, 0xae, 0x8a, 0x6c, 0xbb, 0xec, 0xb6, 0x8b, 0x3e, 0x44, 0xbb, 0xc9, 0xaa, 0xc8, + 0xb2, 0x28, 0x8a, 0xb4, 0x48, 0x5e, 0xa4, 0x98, 0x1f, 0x52, 0x24, 0x25, 0x4b, 0x72, 0x9a, 0x22, + 0x2b, 0x91, 0xa3, 0x73, 0xbe, 0x6f, 0xce, 0x99, 0x39, 0xdf, 0x1c, 0x0e, 0x5c, 0x21, 0xce, 0x57, + 0xd8, 0xf2, 0xc9, 0x09, 0xae, 0x50, 0xdf, 0xc3, 0x66, 0xa7, 0x72, 0x72, 0xbb, 0x86, 0x7d, 0xf3, + 0x76, 0xe5, 0x38, 0xc0, 0x5e, 0xaf, 0xdc, 0xf5, 0x5c, 0xdf, 0x45, 0x6a, 0x64, 0x55, 0x16, 0x56, + 0x65, 0x69, 0xb5, 0xba, 0x66, 0xb9, 0xb4, 0xe3, 0xd2, 0x4a, 0xcd, 0xa4, 0x38, 0x72, 0xb5, 0x5c, + 0xe2, 0x08, 0xcf, 0xd5, 0xe5, 0x86, 0xdb, 0x70, 0xf9, 0x63, 0x85, 0x3d, 0xc9, 0xd1, 0x6b, 0x7d, + 0x56, 0xfc, 0xdc, 0x6a, 0x9a, 0x4e, 0xa3, 0xef, 0x8c, 0x4f, 0xb0, 0xe3, 0x53, 0x69, 0xb8, 0x35, + 0xca, 0x50, 0x0e, 0x08, 0x53, 0xed, 0xdb, 0x3c, 0xcc, 0x1f, 0xf2, 0xc9, 0xe9, 0xf8, 0x38, 0xc0, + 0xd4, 0x47, 0x36, 0x2c, 0xd7, 0x4c, 0xa7, 0x65, 0xd4, 0xcc, 0xb6, 0xe9, 0x58, 0x98, 0x1a, 0x75, + 0xd2, 0xf6, 0xb1, 0xa7, 0x66, 0x2e, 0x65, 0x36, 0x0b, 0x3b, 0x37, 0xcb, 0xa7, 0x05, 0x55, 0xae, + 0x9a, 0x4e, 0xab, 0x2a, 0x9d, 0xee, 0x73, 0x9f, 0xea, 0xcc, 0xcb, 0xd7, 0xeb, 0x19, 0x1d, 0xd5, + 0x06, 0xfe, 0x41, 0x27, 0xb0, 0x4a, 0x83, 0x9a, 0x69, 0x59, 0x6e, 0xe0, 0xf8, 0x86, 0x8d, 0xbb, + 0x2e, 0x25, 0x7e, 0xc4, 0x35, 0xcd, 0xb9, 0x76, 0x4e, 0xe7, 0x3a, 0x8c, 0x7c, 0xf7, 0xa4, 0x6b, + 0x82, 0x51, 0xa5, 0xa7, 0xfc, 0x8f, 0x9e, 0x02, 0xa2, 0x5d, 0xd7, 0x37, 0x7c, 0xcf, 0xb4, 0xfb, + 0xb1, 0x65, 0x39, 0xdf, 0x7f, 0x4e, 0xe7, 0x3b, 0xe2, 0xe6, 0x09, 0x8e, 0x12, 0xc3, 0x89, 0x8f, + 0xa3, 0x3a, 0xa8, 0x36, 0xf6, 0xc8, 0x89, 0xc9, 0x10, 0x52, 0x0c, 0x33, 0xef, 0xc0, 0xb0, 0xd2, + 0x47, 0x4b, 0xf0, 0x84, 0x31, 0xb8, 0x9e, 0x8d, 0xbd, 0x88, 0x61, 0x76, 0x1c, 0xc3, 0xa7, 0xdc, + 0x7c, 0x30, 0x86, 0xf8, 0x78, 0x2a, 0x86, 0x24, 0x43, 0xee, 0x1d, 0x18, 0x62, 0x31, 0x24, 0x78, + 0x30, 0xac, 0xf4, 0x63, 0xa8, 0xb9, 0x6e, 0x2b, 0x62, 0x99, 0xe3, 0x2c, 0x5b, 0x63, 0x58, 0x98, + 0x4b, 0x82, 0x68, 0x39, 0x0a, 0x85, 0xa3, 0x49, 0x9a, 0x63, 0xf8, 0x57, 0x3a, 0x9c, 0x04, 0x59, + 0xfe, 0xdd, 0xc8, 0x56, 0x53, 0x51, 0xc5, 0x29, 0x9f, 0x42, 0x89, 0xef, 0x38, 0xe2, 0x3a, 0x11, + 0x8d, 0x32, 0x8e, 0xe6, 0x71, 0xe8, 0x91, 0xa0, 0x59, 0xec, 0x26, 0x87, 0x91, 0x09, 0xe7, 0x5c, + 0xcf, 0xb4, 0xda, 0xd8, 0xe8, 0x7a, 0xc4, 0xc2, 0x21, 0x3c, 0x70, 0xf8, 0x1b, 0xa3, 0xa2, 0x60, + 0x4e, 0x8f, 0x99, 0x4f, 0x82, 0x60, 0xc9, 0x4d, 0xff, 0xa1, 0x7d, 0x3f, 0x07, 0x0b, 0xa1, 0x20, + 0xd0, 0xae, 0xeb, 0x50, 0x8c, 0x2e, 0x43, 0xb1, 0xd6, 0x76, 0xad, 0x96, 0xd1, 0xc4, 0xa4, 0xd1, + 0xf4, 0xb9, 0x12, 0xcc, 0xe8, 0x05, 0x3e, 0xf6, 0x80, 0x0f, 0xa1, 0x7f, 0x03, 0x08, 0x13, 0x9f, + 0x74, 0x30, 0x2f, 0xdf, 0xac, 0xae, 0xf0, 0x91, 0x23, 0xd2, 0xc1, 0xe8, 0x21, 0xcc, 0x27, 0x34, + 0x45, 0xcd, 0x5e, 0xca, 0x6e, 0x16, 0x76, 0xae, 0x4e, 0x24, 0x26, 0x7a, 0x31, 0xae, 0x1f, 0xe8, + 0x19, 0x9c, 0x1b, 0xa2, 0x1c, 0xea, 0x0c, 0x47, 0xbc, 0x79, 0x16, 0xc9, 0xd0, 0xd1, 0xa0, 0x4c, + 0xa0, 0x3d, 0x28, 0xc4, 0x04, 0x42, 0x9d, 0xe5, 0xb0, 0x1b, 0x23, 0x60, 0x43, 0x15, 0xd0, 0xa1, + 0x2f, 0x08, 0xe8, 0x33, 0x58, 0x1a, 0x90, 0x02, 0x35, 0xc7, 0xb1, 0x46, 0xec, 0x82, 0xbd, 0x64, + 0xbd, 0xeb, 0xa5, 0xb4, 0x00, 0xa0, 0x87, 0x72, 0x76, 0xa2, 0x30, 0xd5, 0xb9, 0x71, 0x88, 0x87, + 0x61, 0x51, 0x3c, 0xe9, 0xda, 0xa6, 0x2f, 0xe7, 0x28, 0x0a, 0x11, 0x7d, 0x91, 0x98, 0xa3, 0x44, + 0xcc, 0x73, 0xc4, 0xca, 0x24, 0x73, 0x8c, 0xe3, 0x96, 0xd2, 0x65, 0x8e, 0x8c, 0x74, 0x81, 0x1b, + 0x01, 0x37, 0xa5, 0xaa, 0x32, 0x6e, 0xd2, 0x51, 0x49, 0x49, 0xf0, 0x64, 0x69, 0x8b, 0x41, 0x8a, + 0x5a, 0xc3, 0x4b, 0x3b, 0xa2, 0x81, 0xb3, 0xd2, 0x0c, 0x2b, 0xea, 0x90, 0xec, 0x2e, 0x28, 0x51, + 0x2d, 0xaa, 0x05, 0x8e, 0xac, 0x8d, 0xaf, 0x66, 0xbd, 0xef, 0xc4, 0x4a, 0x20, 0x5e, 0xba, 0x54, + 0x2d, 0x8e, 0x2b, 0x81, 0x58, 0xd1, 0xea, 0xc5, 0x58, 0xa1, 0x52, 0xad, 0x0e, 0x8b, 0xa9, 0x19, + 0xa2, 0x12, 0x64, 0x29, 0x3e, 0x96, 0xa5, 0xc9, 0x1e, 0xd1, 0x3d, 0x50, 0xa2, 0xa4, 0xc8, 0x03, + 0x75, 0x63, 0x82, 0x64, 0xe8, 0x7d, 0x2f, 0xed, 0xc7, 0x0c, 0x28, 0xd1, 0x1f, 0xe8, 0x22, 0x28, + 0x1d, 0xd3, 0x6b, 0x61, 0xdf, 0x20, 0x36, 0x27, 0x52, 0xf4, 0xbc, 0x18, 0xd8, 0xb7, 0xd1, 0x5d, + 0x80, 0x5a, 0xd0, 0x33, 0xda, 0xf8, 0x04, 0xb7, 0xa9, 0x3a, 0xcd, 0x63, 0xbb, 0x1c, 0xa3, 0x8b, + 0xda, 0x8e, 0x90, 0xf0, 0x80, 0x59, 0xea, 0x4a, 0x2d, 0xe8, 0xf1, 0x27, 0x8a, 0xaa, 0x50, 0xa0, + 0xb8, 0xdd, 0x0e, 0x21, 0xb2, 0x93, 0x42, 0x00, 0xf3, 0x12, 0x18, 0xda, 0x8b, 0x0c, 0x14, 0x62, + 0xca, 0x81, 0x54, 0x98, 0x93, 0xf5, 0x2d, 0x27, 0x1c, 0xbe, 0xa2, 0x06, 0xe4, 0x23, 0x31, 0x12, + 0xb3, 0xbd, 0x50, 0x16, 0x4d, 0x59, 0x99, 0x35, 0x65, 0x11, 0xc7, 0xae, 0x4b, 0x9c, 0xea, 0xf6, + 0xcb, 0xd7, 0xeb, 0x53, 0x3f, 0xfc, 0xb1, 0xbe, 0xd9, 0x20, 0x7e, 0x33, 0xa8, 0x95, 0x2d, 0xb7, + 0x53, 0x91, 0x1d, 0x9c, 0xf8, 0xb9, 0x45, 0xed, 0x56, 0xc5, 0xef, 0x75, 0x31, 0xe5, 0x0e, 0x54, + 0x8f, 0xc0, 0xb5, 0x6f, 0x32, 0x80, 0x06, 0xa5, 0x07, 0x6d, 0xc0, 0x7c, 0x4c, 0xc5, 0xa2, 0x84, + 0x16, 0xfb, 0x83, 0xfb, 0x36, 0x7a, 0x04, 0xf9, 0x48, 0xdf, 0xc4, 0x24, 0x6f, 0x9c, 0x41, 0xdf, + 0xb8, 0xc6, 0x4f, 0xe9, 0x11, 0x84, 0xe6, 0xc0, 0xd2, 0x80, 0x11, 0x5a, 0x86, 0x59, 0x1b, 0x3b, + 0x6e, 0x47, 0x4e, 0x40, 0xbc, 0xa0, 0x5d, 0x98, 0x93, 0x6e, 0x43, 0xb6, 0xce, 0xc0, 0x42, 0x24, + 0x09, 0x43, 0x4f, 0xed, 0xa7, 0x0c, 0x2c, 0xa6, 0x04, 0x08, 0xed, 0x42, 0x8e, 0xfa, 0xa6, 0x1f, + 0x50, 0xce, 0xb7, 0x30, 0xfa, 0xd0, 0x8a, 0xdc, 0x0e, 0xb9, 0x8b, 0x2e, 0x5d, 0xd9, 0x69, 0xc3, + 0x37, 0xa9, 0xd1, 0x34, 0x69, 0x93, 0x4f, 0xb0, 0x28, 0xb7, 0xed, 0x03, 0x93, 0x36, 0x59, 0x2d, + 0x58, 0xc4, 0xe6, 0x4d, 0x9d, 0xa2, 0xb3, 0x47, 0xf4, 0x11, 0xcc, 0xf2, 0xbf, 0x65, 0x1b, 0xb6, + 0x31, 0x81, 0x60, 0xea, 0xc2, 0x43, 0xeb, 0x82, 0x12, 0x8d, 0x8d, 0x2e, 0x81, 0xfb, 0x21, 0x89, + 0xc8, 0xd8, 0xf5, 0x51, 0x19, 0x63, 0x90, 0x07, 0xa4, 0x43, 0x04, 0xae, 0x4c, 0x9c, 0x64, 0xfc, + 0x25, 0x03, 0xe7, 0x87, 0xaa, 0xec, 0x07, 0x4a, 0xde, 0x9d, 0x64, 0xf2, 0xb6, 0x26, 0x3e, 0x1b, + 0xc2, 0x80, 0xbe, 0xcb, 0xc0, 0x62, 0xea, 0xaf, 0xd1, 0x99, 0x3c, 0x48, 0x66, 0x72, 0x7b, 0xf4, + 0xde, 0x0b, 0x81, 0x4f, 0xc9, 0x27, 0xa3, 0x22, 0xd4, 0x10, 0xe0, 0x3c, 0xae, 0xbc, 0x9e, 0x27, + 0xf4, 0x11, 0x7f, 0xd7, 0xbe, 0xce, 0x42, 0x3e, 0x94, 0xeb, 0xd1, 0x93, 0x1a, 0xa8, 0xd8, 0xe9, + 0x21, 0x15, 0xbb, 0x02, 0x39, 0x42, 0x0f, 0x5c, 0xa7, 0x21, 0x89, 0xe4, 0x1b, 0xba, 0x03, 0xf9, + 0xe3, 0xc0, 0x74, 0x7c, 0xe2, 0xf7, 0x78, 0x1a, 0x95, 0xea, 0x06, 0x9b, 0xe2, 0x6f, 0xaf, 0xd7, + 0x2f, 0x0a, 0x05, 0xa1, 0x76, 0xab, 0x4c, 0xdc, 0x4a, 0xc7, 0xf4, 0x9b, 0xe5, 0x03, 0xdc, 0x30, + 0xad, 0xde, 0x1e, 0xb6, 0xf4, 0xc8, 0x89, 0xb5, 0x25, 0xd8, 0xf1, 0xbd, 0x9e, 0x38, 0x3d, 0x78, + 0xb3, 0x3f, 0x21, 0x06, 0x70, 0x3f, 0x7e, 0x72, 0xa0, 0x8f, 0x21, 0xd7, 0x31, 0xbd, 0x06, 0x71, + 0x78, 0x2f, 0x3f, 0x21, 0x80, 0x74, 0x41, 0xcf, 0x40, 0xb5, 0x82, 0x4e, 0xd0, 0x16, 0x07, 0x6e, + 0x3d, 0x70, 0x6c, 0xe2, 0x34, 0x0c, 0x8e, 0xce, 0x9b, 0xf6, 0x09, 0xe1, 0x56, 0xfa, 0x20, 0xf7, + 0x05, 0xc6, 0x27, 0x0c, 0x42, 0xf3, 0xa1, 0x10, 0x3b, 0xf1, 0x58, 0x26, 0x69, 0xaf, 0x53, 0x73, + 0xdb, 0x72, 0x21, 0xe4, 0x1b, 0x2b, 0x65, 0x91, 0x82, 0xe9, 0xc9, 0x29, 0x85, 0x07, 0x42, 0x30, + 0xc3, 0x34, 0x5a, 0xee, 0x6d, 0xfe, 0xac, 0xfd, 0x9c, 0x15, 0xf5, 0xcd, 0xfb, 0xab, 0xd1, 0x1b, + 0xe0, 0x3c, 0x5b, 0x5b, 0xa3, 0x16, 0xf4, 0x38, 0x75, 0x5e, 0x9f, 0x25, 0xb4, 0x1a, 0xf4, 0xd0, + 0x15, 0x98, 0xc7, 0xcf, 0xb1, 0x15, 0xb0, 0x1d, 0x74, 0xd4, 0x87, 0x4f, 0x0e, 0xfe, 0xfd, 0x0d, + 0x10, 0xc5, 0x3d, 0x7b, 0xe6, 0xb8, 0x07, 0x76, 0x6e, 0x6e, 0xc8, 0xce, 0xfd, 0x1f, 0x64, 0xeb, + 0x18, 0x9f, 0x65, 0x21, 0x99, 0x7d, 0x4a, 0x4d, 0xf2, 0x69, 0x35, 0xf9, 0x3f, 0x9c, 0xaf, 0x63, + 0x6c, 0x78, 0xd8, 0x22, 0x5d, 0x82, 0x1d, 0xdf, 0x30, 0x6d, 0xdb, 0xc3, 0x94, 0xf2, 0x2f, 0x22, + 0x45, 0x7e, 0x85, 0x9c, 0xab, 0x63, 0xac, 0x87, 0x16, 0xf7, 0x84, 0x41, 0xa8, 0x43, 0xd0, 0xd7, + 0xa1, 0x0b, 0x90, 0xe7, 0x8d, 0x34, 0x8b, 0xa0, 0x20, 0x4e, 0x73, 0xfe, 0xbe, 0x6f, 0x6b, 0xbf, + 0x67, 0xe3, 0x0a, 0xf3, 0x4f, 0xaf, 0xe5, 0x40, 0x3e, 0x67, 0x86, 0xe4, 0xf3, 0x31, 0x2c, 0x84, + 0xcd, 0x9f, 0x61, 0xe3, 0xb6, 0x6f, 0xca, 0x0f, 0xf4, 0xad, 0x51, 0x62, 0x16, 0x2a, 0xd1, 0x1e, + 0x73, 0xd0, 0xe7, 0xbb, 0xf1, 0x57, 0x56, 0xbc, 0x5d, 0xb3, 0xe7, 0x06, 0xfe, 0x99, 0x8a, 0x57, + 0xb8, 0xbc, 0xbf, 0xe5, 0x55, 0x3e, 0xc0, 0xf2, 0x1e, 0x41, 0x31, 0x71, 0x01, 0x72, 0x15, 0x16, + 0x12, 0x0b, 0xc0, 0xce, 0xc3, 0x2c, 0x5b, 0xa7, 0xf8, 0x0a, 0xf0, 0x93, 0x2e, 0xda, 0x01, 0xa2, + 0x81, 0x52, 0x74, 0x25, 0xdc, 0x02, 0x54, 0xfb, 0x1c, 0x16, 0x53, 0x9f, 0xdd, 0xef, 0x09, 0xf8, + 0x08, 0x8a, 0x89, 0xbb, 0x8e, 0xf7, 0x83, 0xba, 0x1d, 0x6b, 0xfa, 0x25, 0x70, 0xd2, 0x23, 0x33, + 0xe8, 0x81, 0x06, 0xef, 0xe4, 0xd0, 0x2a, 0xe4, 0x25, 0x69, 0xe8, 0x12, 0xbd, 0x6b, 0xf7, 0x40, + 0x3d, 0xed, 0x66, 0x6d, 0xc2, 0x28, 0xb4, 0x1b, 0xb0, 0x34, 0x70, 0xdb, 0x90, 0x10, 0xf3, 0x6c, + 0x5f, 0xcc, 0xaf, 0x1f, 0x30, 0xe3, 0x54, 0xa3, 0x82, 0x16, 0xa1, 0xf0, 0xc4, 0xa1, 0x5d, 0x6c, + 0x91, 0x3a, 0xc1, 0x76, 0x69, 0x0a, 0x01, 0xe4, 0xaa, 0xae, 0xdb, 0xc2, 0x76, 0x29, 0x83, 0x0a, + 0x30, 0xf7, 0xc8, 0xf4, 0xad, 0x26, 0xb6, 0x4b, 0xd3, 0x68, 0x1e, 0x94, 0x5d, 0x16, 0x5a, 0xbb, + 0x8d, 0xed, 0x52, 0x76, 0xa7, 0x01, 0x39, 0x71, 0x73, 0x81, 0x9e, 0x45, 0x4f, 0xd7, 0x46, 0xb4, + 0x7a, 0xf1, 0x6b, 0xcf, 0xd5, 0xcd, 0xf1, 0x86, 0xe2, 0x3a, 0x64, 0x3b, 0x53, 0xfd, 0xf2, 0xe5, + 0x9b, 0xb5, 0xcc, 0xab, 0x37, 0x6b, 0x99, 0x3f, 0xdf, 0xac, 0x65, 0x5e, 0xbc, 0x5d, 0x9b, 0x7a, + 0xf5, 0x76, 0x6d, 0xea, 0xd7, 0xb7, 0x6b, 0x53, 0x4f, 0xf7, 0x62, 0x5f, 0x08, 0xfb, 0x21, 0xde, + 0x81, 0x59, 0xa3, 0x95, 0x08, 0xfd, 0x96, 0xe5, 0x7a, 0x38, 0xfe, 0xda, 0x34, 0x89, 0x13, 0x5e, + 0x23, 0xf3, 0x6f, 0x88, 0x5a, 0x8e, 0xdf, 0xcd, 0xfe, 0xf7, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x78, 0x25, 0xda, 0xad, 0x67, 0x16, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/stream/types/request.go b/chain/stream/types/request.go index d78d5031..3bf542aa 100644 --- a/chain/stream/types/request.go +++ b/chain/stream/types/request.go @@ -39,3 +39,16 @@ func NewFullStreamRequest() *StreamRequest { }, } } + +// Empty query matches any set of events. +type Empty struct { +} + +// Matches always returns true. +func (Empty) Matches(tags map[string][]string) (bool, error) { + return true, nil +} + +func (Empty) String() string { + return "empty" +} diff --git a/chain/tokenfactory/types/codec.go b/chain/tokenfactory/types/codec.go index 174c4f91..1cd69979 100644 --- a/chain/tokenfactory/types/codec.go +++ b/chain/tokenfactory/types/codec.go @@ -5,9 +5,6 @@ import ( cdctypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" authzcdc "github.com/cosmos/cosmos-sdk/x/authz/codec" - govcdc "github.com/cosmos/cosmos-sdk/x/gov/codec" - groupcdc "github.com/cosmos/cosmos-sdk/x/group/codec" - // this line is used by starport scaffolding # 1 "github.com/cosmos/cosmos-sdk/types/msgservice" ) @@ -21,6 +18,8 @@ func RegisterCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgChangeAdmin{}, "injective/tokenfactory/change-admin", nil) cdc.RegisterConcrete(&MsgUpdateParams{}, "injective/tokenfactory/update-params", nil) cdc.RegisterConcrete(&MsgSetDenomMetadata{}, "injective/tokenfactory/set-denom-metadata", nil) + cdc.RegisterConcrete(&Params{}, "injective/tokenfactory/Params", nil) + } func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { @@ -38,18 +37,15 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { } var ( - amino = codec.NewLegacyAmino() - ModuleCdc = codec.NewAminoCodec(amino) + ModuleCdc = codec.NewLegacyAmino() ) func init() { - RegisterCodec(amino) + RegisterCodec(ModuleCdc) // Register all Amino interfaces and concrete types on the authz Amino codec so that this can later be // used to properly serialize MsgGrant and MsgExec instances - sdk.RegisterLegacyAminoCodec(amino) - RegisterCodec(govcdc.Amino) + sdk.RegisterLegacyAminoCodec(ModuleCdc) RegisterCodec(authzcdc.Amino) - RegisterCodec(groupcdc.Amino) - amino.Seal() + ModuleCdc.Seal() } diff --git a/chain/tokenfactory/types/denoms.go b/chain/tokenfactory/types/denoms.go index 7b975add..a31d5cef 100644 --- a/chain/tokenfactory/types/denoms.go +++ b/chain/tokenfactory/types/denoms.go @@ -1,6 +1,7 @@ package types import ( + "context" "fmt" "strings" @@ -104,7 +105,7 @@ func DeconstructDenom(denom string) (creator, subdenom string, err error) { // NewTokenFactoryDenomMintCoinsRestriction creates and returns a MintingRestrictionFn that only allows minting of // valid tokenfactory denoms func NewTokenFactoryDenomMintCoinsRestriction() banktypes.MintingRestrictionFn { - return func(ctx sdk.Context, coinsToMint sdk.Coins) error { + return func(ctx context.Context, coinsToMint sdk.Coins) error { for _, coin := range coinsToMint { _, _, err := DeconstructDenom(coin.Denom) if err != nil { diff --git a/chain/tokenfactory/types/expected_keepers.go b/chain/tokenfactory/types/expected_keepers.go index 4dfa4edc..6482fbe2 100644 --- a/chain/tokenfactory/types/expected_keepers.go +++ b/chain/tokenfactory/types/expected_keepers.go @@ -1,32 +1,34 @@ package types import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" ) type BankKeeper interface { // Methods imported from bank should be defined here - GetDenomMetaData(ctx sdk.Context, denom string) (banktypes.Metadata, bool) - SetDenomMetaData(ctx sdk.Context, denomMetaData banktypes.Metadata) + GetDenomMetaData(ctx context.Context, denom string) (banktypes.Metadata, bool) + SetDenomMetaData(ctx context.Context, denomMetaData banktypes.Metadata) - HasSupply(ctx sdk.Context, denom string) bool + HasSupply(ctx context.Context, denom string) bool - 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 - MintCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error - BurnCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error + SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error + MintCoins(ctx context.Context, moduleName string, amt sdk.Coins) error + BurnCoins(ctx context.Context, moduleName string, amt sdk.Coins) error - SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error - HasBalance(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coin) bool + SendCoins(ctx context.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error + HasBalance(ctx context.Context, addr sdk.AccAddress, amt sdk.Coin) bool } type AccountKeeper interface { - SetModuleAccount(ctx sdk.Context, macc authtypes.ModuleAccountI) + SetModuleAccount(ctx context.Context, macc sdk.ModuleAccountI) + NewAccount(ctx context.Context, acc sdk.AccountI) sdk.AccountI } // CommunityPoolKeeper defines the contract needed to be fulfilled for community pool interactions. type CommunityPoolKeeper interface { - FundCommunityPool(ctx sdk.Context, amount sdk.Coins, sender sdk.AccAddress) error + FundCommunityPool(ctx context.Context, amount sdk.Coins, sender sdk.AccAddress) error } diff --git a/chain/tokenfactory/types/gov.go b/chain/tokenfactory/types/gov.go new file mode 100644 index 00000000..346c24ae --- /dev/null +++ b/chain/tokenfactory/types/gov.go @@ -0,0 +1,54 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" +) + +const ( + ProposalTypeUpdateDenomsMetaData = "UpdateDenomsMetaData" +) + +func init() { + govtypes.RegisterProposalType(ProposalTypeUpdateDenomsMetaData) +} + +var ( + _ govtypes.Content = &UpdateDenomsMetadataProposal{} +) + +func NewUpdateDenomsMetadataProposal(title, description string, metadatas []banktypes.Metadata) govtypes.Content { + return &UpdateDenomsMetadataProposal{ + Title: title, + Description: description, + Metadatas: metadatas, + } +} + +func (p *UpdateDenomsMetadataProposal) GetTitle() string { return p.Title } + +func (p *UpdateDenomsMetadataProposal) GetDescription() string { return p.Description } + +func (p *UpdateDenomsMetadataProposal) ProposalRoute() string { return RouterKey } + +func (p *UpdateDenomsMetadataProposal) ProposalType() string { + return ProposalTypeUpdateDenomsMetaData +} + +func (p *UpdateDenomsMetadataProposal) ValidateBasic() error { + err := govtypes.ValidateAbstract(p) + if err != nil { + return err + } + + for idx := range p.Metadatas { + metadata := p.Metadatas[idx] + if metadata.Base == "" { + return errorsmod.Wrapf(sdkerrors.ErrInvalidRequest, "invalid denom (%s)", metadata.Base) + } + } + + return nil +} diff --git a/chain/tokenfactory/types/gov.pb.go b/chain/tokenfactory/types/gov.pb.go new file mode 100644 index 00000000..0a090625 --- /dev/null +++ b/chain/tokenfactory/types/gov.pb.go @@ -0,0 +1,465 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: injective/tokenfactory/v1beta1/gov.proto + +package types + +import ( + fmt "fmt" + types "github.com/cosmos/cosmos-sdk/x/bank/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 UpdateDenomsMetadataProposal 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"` + Metadatas []types.Metadata `protobuf:"bytes,3,rep,name=metadatas,proto3" json:"metadatas"` + Deposit string `protobuf:"bytes,4,opt,name=deposit,proto3" json:"deposit,omitempty" yaml:"deposit"` +} + +func (m *UpdateDenomsMetadataProposal) Reset() { *m = UpdateDenomsMetadataProposal{} } +func (m *UpdateDenomsMetadataProposal) String() string { return proto.CompactTextString(m) } +func (*UpdateDenomsMetadataProposal) ProtoMessage() {} +func (*UpdateDenomsMetadataProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_2c4dd8ce2ae85492, []int{0} +} +func (m *UpdateDenomsMetadataProposal) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *UpdateDenomsMetadataProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_UpdateDenomsMetadataProposal.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 *UpdateDenomsMetadataProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateDenomsMetadataProposal.Merge(m, src) +} +func (m *UpdateDenomsMetadataProposal) XXX_Size() int { + return m.Size() +} +func (m *UpdateDenomsMetadataProposal) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateDenomsMetadataProposal.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateDenomsMetadataProposal proto.InternalMessageInfo + +func init() { + proto.RegisterType((*UpdateDenomsMetadataProposal)(nil), "injective.tokenfactory.v1beta1.UpdateDenomsMetadataProposal") +} + +func init() { + proto.RegisterFile("injective/tokenfactory/v1beta1/gov.proto", fileDescriptor_2c4dd8ce2ae85492) +} + +var fileDescriptor_2c4dd8ce2ae85492 = []byte{ + // 332 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x91, 0xc1, 0x4e, 0xf2, 0x40, + 0x14, 0x85, 0xdb, 0x1f, 0x7e, 0x0d, 0x25, 0x71, 0xd1, 0xb0, 0x68, 0x88, 0x0e, 0x84, 0x15, 0x0b, + 0x9d, 0x09, 0xba, 0x63, 0x27, 0x71, 0x63, 0xa2, 0x89, 0x69, 0xe2, 0xc6, 0xdd, 0xb4, 0xbd, 0x96, + 0x91, 0xb6, 0x77, 0xd2, 0xb9, 0x90, 0xf0, 0x06, 0x2e, 0x7d, 0x04, 0x1f, 0x87, 0x8d, 0x09, 0x4b, + 0x57, 0xc4, 0xc0, 0x1b, 0xf8, 0x04, 0x86, 0xb6, 0x20, 0xee, 0x7a, 0x7a, 0xbe, 0x7b, 0xcf, 0xcd, + 0x19, 0xa7, 0xaf, 0xb2, 0x17, 0x08, 0x49, 0xcd, 0x40, 0x10, 0x4e, 0x20, 0x7b, 0x96, 0x21, 0x61, + 0x3e, 0x17, 0xb3, 0x41, 0x00, 0x24, 0x07, 0x22, 0xc6, 0x19, 0xd7, 0x39, 0x12, 0xba, 0x6c, 0x4f, + 0xf2, 0x43, 0x92, 0x57, 0x64, 0xbb, 0x15, 0x63, 0x8c, 0x05, 0x2a, 0xb6, 0x5f, 0xe5, 0x54, 0x9b, + 0x85, 0x68, 0x52, 0x34, 0x22, 0x90, 0xd9, 0x64, 0xbf, 0x74, 0x2b, 0x4a, 0xbf, 0xf7, 0x61, 0x3b, + 0xa7, 0x8f, 0x3a, 0x92, 0x04, 0x37, 0x90, 0x61, 0x6a, 0xee, 0x81, 0x64, 0x24, 0x49, 0x3e, 0xe4, + 0xa8, 0xd1, 0xc8, 0xc4, 0x6d, 0x39, 0xff, 0x49, 0x51, 0x02, 0x9e, 0xdd, 0xb5, 0xfb, 0x0d, 0xbf, + 0x14, 0x6e, 0xd7, 0x69, 0x46, 0x60, 0xc2, 0x5c, 0x69, 0x52, 0x98, 0x79, 0xff, 0x0a, 0xef, 0xf0, + 0x97, 0x7b, 0xed, 0x34, 0xd2, 0x6a, 0x97, 0xf1, 0x6a, 0xdd, 0x5a, 0xbf, 0x79, 0x79, 0xc6, 0xcb, + 0x63, 0x78, 0x91, 0x5f, 0x1d, 0xc3, 0x77, 0x89, 0xa3, 0xfa, 0x62, 0xd5, 0xb1, 0xfc, 0xdf, 0x29, + 0xf7, 0xdc, 0x39, 0x8e, 0x40, 0xa3, 0x51, 0xe4, 0xd5, 0xb7, 0x01, 0x23, 0xf7, 0x7b, 0xd5, 0x39, + 0x99, 0xcb, 0x34, 0x19, 0xf6, 0x2a, 0xa3, 0xe7, 0xef, 0x90, 0x61, 0xfd, 0xf5, 0xbd, 0x63, 0x8d, + 0x92, 0xc5, 0x9a, 0xd9, 0xcb, 0x35, 0xb3, 0xbf, 0xd6, 0xcc, 0x7e, 0xdb, 0x30, 0x6b, 0xb9, 0x61, + 0xd6, 0xe7, 0x86, 0x59, 0x4f, 0x7e, 0xac, 0x68, 0x3c, 0x0d, 0x78, 0x88, 0xa9, 0xb8, 0xdd, 0x55, + 0x79, 0x27, 0x03, 0x23, 0xf6, 0xc5, 0x5e, 0x84, 0x98, 0xc3, 0xa1, 0x1c, 0x4b, 0x95, 0x89, 0x14, + 0xa3, 0x69, 0x02, 0xe6, 0xef, 0xfb, 0xd0, 0x5c, 0x83, 0x09, 0x8e, 0x8a, 0x12, 0xaf, 0x7e, 0x02, + 0x00, 0x00, 0xff, 0xff, 0x31, 0xc4, 0xfd, 0x93, 0xc6, 0x01, 0x00, 0x00, +} + +func (m *UpdateDenomsMetadataProposal) 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 *UpdateDenomsMetadataProposal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *UpdateDenomsMetadataProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Deposit) > 0 { + i -= len(m.Deposit) + copy(dAtA[i:], m.Deposit) + i = encodeVarintGov(dAtA, i, uint64(len(m.Deposit))) + i-- + dAtA[i] = 0x22 + } + if len(m.Metadatas) > 0 { + for iNdEx := len(m.Metadatas) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Metadatas[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGov(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + } + if len(m.Description) > 0 { + i -= len(m.Description) + copy(dAtA[i:], m.Description) + i = encodeVarintGov(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 = encodeVarintGov(dAtA, i, uint64(len(m.Title))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintGov(dAtA []byte, offset int, v uint64) int { + offset -= sovGov(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *UpdateDenomsMetadataProposal) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Title) + if l > 0 { + n += 1 + l + sovGov(uint64(l)) + } + l = len(m.Description) + if l > 0 { + n += 1 + l + sovGov(uint64(l)) + } + if len(m.Metadatas) > 0 { + for _, e := range m.Metadatas { + l = e.Size() + n += 1 + l + sovGov(uint64(l)) + } + } + l = len(m.Deposit) + if l > 0 { + n += 1 + l + sovGov(uint64(l)) + } + return n +} + +func sovGov(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozGov(x uint64) (n int) { + return sovGov(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *UpdateDenomsMetadataProposal) 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 ErrIntOverflowGov + } + 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: UpdateDenomsMetadataProposal: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: UpdateDenomsMetadataProposal: 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 ErrIntOverflowGov + } + 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 ErrInvalidLengthGov + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGov + } + 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 ErrIntOverflowGov + } + 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 ErrInvalidLengthGov + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGov + } + 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 Metadatas", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGov + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGov + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGov + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Metadatas = append(m.Metadatas, types.Metadata{}) + if err := m.Metadatas[len(m.Metadatas)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Deposit", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGov + } + 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 ErrInvalidLengthGov + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGov + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Deposit = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGov(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGov + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipGov(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, ErrIntOverflowGov + } + 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, ErrIntOverflowGov + } + 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, ErrIntOverflowGov + } + 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, ErrInvalidLengthGov + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupGov + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthGov + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthGov = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGov = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupGov = fmt.Errorf("proto: unexpected end of group") +) diff --git a/chain/tokenfactory/types/msgs.go b/chain/tokenfactory/types/msgs.go index 6e5d083d..7b0c417e 100644 --- a/chain/tokenfactory/types/msgs.go +++ b/chain/tokenfactory/types/msgs.go @@ -2,6 +2,7 @@ package types import ( "cosmossdk.io/errors" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" @@ -101,7 +102,7 @@ func (m MsgMint) ValidateBasic() error { return errors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid sender address (%s)", err) } - if !m.Amount.IsValid() || m.Amount.Amount.Equal(sdk.ZeroInt()) { + if !m.Amount.IsValid() || m.Amount.Amount.Equal(math.ZeroInt()) { return errors.Wrap(sdkerrors.ErrInvalidCoins, m.Amount.String()) } diff --git a/chain/tokenfactory/types/params.pb.go b/chain/tokenfactory/types/params.pb.go index 9d705d9c..ff3228f9 100644 --- a/chain/tokenfactory/types/params.pb.go +++ b/chain/tokenfactory/types/params.pb.go @@ -8,6 +8,7 @@ import ( _ "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/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -80,28 +81,29 @@ func init() { } var fileDescriptor_91405c82ccfd2f8a = []byte{ - // 323 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x90, 0xb1, 0x6a, 0x32, 0x41, - 0x14, 0x85, 0x77, 0xf9, 0xc1, 0xc2, 0xbf, 0x09, 0x92, 0x22, 0x5a, 0x8c, 0xc1, 0x4a, 0x08, 0xee, - 0x60, 0x02, 0x29, 0x52, 0x2a, 0x04, 0x02, 0x11, 0x82, 0x65, 0x1a, 0xb9, 0x3b, 0x7b, 0xd5, 0x89, - 0xee, 0x5c, 0xd9, 0xb9, 0x0a, 0xfb, 0x16, 0xa9, 0xd2, 0xa7, 0xcd, 0x93, 0x58, 0x5a, 0xa6, 0x32, - 0x41, 0xdf, 0x20, 0x4f, 0x10, 0x9c, 0x1d, 0xc5, 0x90, 0x22, 0xd5, 0xcc, 0xe5, 0x9e, 0xf3, 0xcd, - 0x99, 0x53, 0xbe, 0xd0, 0xe6, 0x09, 0x15, 0xeb, 0x05, 0x4a, 0xa6, 0x09, 0x9a, 0x21, 0x28, 0xa6, - 0x2c, 0x97, 0x8b, 0x76, 0x8c, 0x0c, 0x6d, 0x39, 0x83, 0x0c, 0x52, 0x1b, 0xcd, 0x32, 0x62, 0xaa, - 0x88, 0x83, 0x38, 0x3a, 0x16, 0x47, 0x5e, 0x5c, 0x3b, 0x1d, 0xd1, 0x88, 0x9c, 0x54, 0xee, 0x6e, - 0x85, 0xab, 0x76, 0xfd, 0xc7, 0x13, 0x30, 0xe7, 0x31, 0x65, 0x9a, 0xf3, 0x1e, 0x32, 0x24, 0xc0, - 0xe0, 0x7d, 0x55, 0x45, 0x36, 0x25, 0x3b, 0x28, 0x80, 0xc5, 0xe0, 0x57, 0xa2, 0x98, 0x64, 0x0c, - 0x16, 0x0f, 0x1c, 0x45, 0xda, 0x14, 0xfb, 0xc6, 0x6b, 0x58, 0x2e, 0x3d, 0xb8, 0xe4, 0x95, 0x97, - 0xb0, 0x5c, 0x49, 0xd0, 0x50, 0x3a, 0x50, 0x19, 0x02, 0x6b, 0x32, 0x83, 0x21, 0xe2, 0x59, 0x78, - 0xfe, 0xaf, 0xf9, 0xff, 0xb2, 0x1a, 0x79, 0xec, 0x0e, 0xb4, 0xff, 0x46, 0xd4, 0x25, 0x6d, 0x3a, - 0xbd, 0xe5, 0xba, 0x1e, 0x7c, 0xad, 0xeb, 0xd5, 0x1c, 0xd2, 0xe9, 0x4d, 0xe3, 0x37, 0xa2, 0xf1, - 0xf6, 0x51, 0x6f, 0x8e, 0x34, 0x8f, 0xe7, 0x71, 0xa4, 0x28, 0xf5, 0x01, 0xfd, 0xd1, 0xb2, 0xc9, - 0x44, 0x72, 0x3e, 0x43, 0xeb, 0x68, 0xb6, 0x7f, 0xe2, 0x00, 0x5d, 0xef, 0xbf, 0x45, 0xec, 0x4c, - 0x97, 0x1b, 0x11, 0xae, 0x36, 0x22, 0xfc, 0xdc, 0x88, 0xf0, 0x79, 0x2b, 0x82, 0xd5, 0x56, 0x04, - 0xef, 0x5b, 0x11, 0x3c, 0xf6, 0x8f, 0xa8, 0x77, 0xfb, 0xee, 0xee, 0x21, 0xb6, 0xf2, 0xd0, 0x64, - 0x4b, 0x51, 0x86, 0xc7, 0xe3, 0x18, 0xb4, 0x91, 0x29, 0x25, 0xf3, 0x29, 0xda, 0x9f, 0x35, 0xbb, - 0x14, 0x71, 0xc9, 0x15, 0x73, 0xf5, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xea, 0xbf, 0x7a, 0x46, 0xf0, - 0x01, 0x00, 0x00, + // 349 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x90, 0x31, 0x6b, 0x2a, 0x41, + 0x10, 0xc7, 0xef, 0x78, 0x60, 0xe1, 0x6b, 0xde, 0x93, 0x57, 0x3c, 0x85, 0xac, 0xe1, 0x2a, 0x49, + 0xf0, 0x16, 0x13, 0x48, 0x61, 0xa9, 0x10, 0x08, 0x44, 0x08, 0x96, 0x69, 0x64, 0xee, 0x6e, 0xd4, + 0x8d, 0xee, 0x8e, 0xdc, 0xae, 0xc2, 0x7d, 0x85, 0x54, 0xa9, 0xf2, 0x21, 0x52, 0xe5, 0x4b, 0x04, + 0x2c, 0x2d, 0x53, 0x99, 0xa0, 0x45, 0xfa, 0x7c, 0x82, 0xe0, 0xde, 0x2a, 0x86, 0x10, 0xd2, 0xec, + 0xee, 0xec, 0xfc, 0xe7, 0xf7, 0x9f, 0x99, 0xe2, 0xb1, 0x50, 0x37, 0x18, 0x1b, 0x31, 0x43, 0x6e, + 0x68, 0x84, 0xaa, 0x0f, 0xb1, 0xa1, 0x34, 0xe3, 0xb3, 0x46, 0x84, 0x06, 0x1a, 0x7c, 0x02, 0x29, + 0x48, 0x1d, 0x4e, 0x52, 0x32, 0x54, 0x62, 0x3b, 0x71, 0xb8, 0x2f, 0x0e, 0x9d, 0xb8, 0xf2, 0x6f, + 0x40, 0x03, 0xb2, 0x52, 0xbe, 0x79, 0xe5, 0x55, 0x95, 0xb3, 0x1f, 0x2c, 0x60, 0x6a, 0x86, 0x94, + 0x0a, 0x93, 0x75, 0xd0, 0x40, 0x02, 0x06, 0x5c, 0x5d, 0x39, 0x26, 0x2d, 0x49, 0xf7, 0x72, 0x60, + 0x1e, 0xb8, 0x14, 0xcb, 0x23, 0x1e, 0x81, 0xc6, 0x1d, 0x27, 0x26, 0xa1, 0x5c, 0xfe, 0x2f, 0x48, + 0xa1, 0x88, 0xdb, 0x33, 0xff, 0x0a, 0x9e, 0xfc, 0x62, 0xe1, 0xca, 0x0e, 0x53, 0xba, 0xf7, 0x8b, + 0xa5, 0x04, 0x15, 0xc9, 0x5e, 0x9c, 0x22, 0x18, 0x41, 0xaa, 0xd7, 0x47, 0xfc, 0xef, 0x1f, 0xfe, + 0xaa, 0xfd, 0x3e, 0x29, 0x87, 0xce, 0x69, 0xc3, 0xde, 0x4e, 0x16, 0xb6, 0x49, 0xa8, 0x56, 0x67, + 0xbe, 0xac, 0x7a, 0xef, 0xcb, 0x6a, 0x39, 0x03, 0x39, 0x6e, 0x06, 0x5f, 0x11, 0xc1, 0xc3, 0x4b, + 0xb5, 0x36, 0x10, 0x66, 0x38, 0x8d, 0xc2, 0x98, 0xa4, 0xeb, 0xd9, 0x5d, 0x75, 0x9d, 0x8c, 0xb8, + 0xc9, 0x26, 0xa8, 0x2d, 0x4d, 0x77, 0xff, 0x58, 0x40, 0xdb, 0xd5, 0x9f, 0x23, 0x36, 0x83, 0xdb, + 0xb7, 0xc7, 0xa3, 0x83, 0x6f, 0xd6, 0x95, 0x37, 0xdf, 0x1a, 0xcf, 0x57, 0xcc, 0x5f, 0xac, 0x98, + 0xff, 0xba, 0x62, 0xfe, 0xdd, 0x9a, 0x79, 0x8b, 0x35, 0xf3, 0x9e, 0xd7, 0xcc, 0xbb, 0xee, 0xee, + 0x39, 0x5f, 0x6c, 0x19, 0x97, 0x10, 0x69, 0xbe, 0x23, 0xd6, 0x63, 0x4a, 0x71, 0x3f, 0x1c, 0x82, + 0x50, 0x5c, 0x52, 0x32, 0x1d, 0xa3, 0xfe, 0x6c, 0x67, 0x3b, 0x8d, 0x0a, 0x76, 0x79, 0xa7, 0x1f, + 0x01, 0x00, 0x00, 0xff, 0xff, 0x7f, 0xcd, 0x91, 0xe3, 0x27, 0x02, 0x00, 0x00, } func (m *Params) Marshal() (dAtA []byte, err error) { diff --git a/chain/tokenfactory/types/tx.pb.go b/chain/tokenfactory/types/tx.pb.go index 214084f8..b12c89c3 100644 --- a/chain/tokenfactory/types/tx.pb.go +++ b/chain/tokenfactory/types/tx.pb.go @@ -9,6 +9,7 @@ import ( _ "github.com/cosmos/cosmos-proto" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" types1 "github.com/cosmos/cosmos-sdk/x/bank/types" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" @@ -640,57 +641,61 @@ func init() { } var fileDescriptor_b0b26fd7f19ce3c4 = []byte{ - // 789 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x55, 0xcf, 0x6e, 0xd3, 0x4e, - 0x10, 0x8e, 0x7f, 0x4d, 0xf3, 0x6b, 0x37, 0x6d, 0xd3, 0xba, 0xa5, 0x4d, 0x83, 0xea, 0x20, 0x23, - 0xb5, 0xfc, 0x51, 0x6d, 0xa5, 0x95, 0x8a, 0x54, 0x4e, 0x4d, 0x7b, 0x00, 0x89, 0x48, 0xc8, 0x85, - 0x0b, 0x42, 0x2a, 0x9b, 0x78, 0x71, 0x4c, 0xe3, 0xdd, 0xc8, 0xbb, 0x69, 0x9b, 0x2b, 0xe2, 0xc6, - 0x85, 0x37, 0x40, 0x88, 0x17, 0xe0, 0xc0, 0x81, 0x47, 0x28, 0xb7, 0x8a, 0x13, 0xa7, 0x08, 0xb5, - 0x07, 0xee, 0x79, 0x02, 0xb4, 0xeb, 0xb5, 0x63, 0x37, 0x88, 0x3a, 0x9c, 0x38, 0x25, 0xbb, 0xf3, - 0x7d, 0x33, 0xdf, 0xcc, 0xce, 0x8c, 0xc1, 0x9a, 0x8b, 0x5f, 0xa1, 0x06, 0x73, 0x8f, 0x90, 0xc9, - 0xc8, 0x21, 0xc2, 0x2f, 0x61, 0x83, 0x11, 0xbf, 0x6b, 0x1e, 0x55, 0xea, 0x88, 0xc1, 0x8a, 0xc9, - 0x4e, 0x8c, 0xb6, 0x4f, 0x18, 0x51, 0xb5, 0x08, 0x68, 0xc4, 0x81, 0x86, 0x04, 0x96, 0x16, 0x1c, - 0xe2, 0x10, 0x01, 0x35, 0xf9, 0xbf, 0x80, 0x55, 0xd2, 0x1a, 0x84, 0x7a, 0x84, 0x9a, 0x75, 0x48, - 0x51, 0xe4, 0xb3, 0x41, 0x5c, 0x3c, 0x64, 0xc7, 0x87, 0x91, 0x9d, 0x1f, 0xa4, 0x7d, 0x49, 0xda, - 0x3d, 0xea, 0x98, 0x47, 0x15, 0xfe, 0x23, 0x0d, 0xcb, 0x81, 0xe1, 0x20, 0x88, 0x18, 0x1c, 0xa4, - 0xe9, 0xee, 0x15, 0x29, 0xb5, 0xa1, 0x0f, 0x3d, 0x09, 0xd6, 0xbf, 0x2a, 0x60, 0xa6, 0x46, 0x9d, - 0x5d, 0x1f, 0x41, 0x86, 0xf6, 0x10, 0x26, 0x9e, 0x7a, 0x1b, 0xe4, 0x28, 0xc2, 0x36, 0xf2, 0x8b, - 0xca, 0x0d, 0xe5, 0xd6, 0x64, 0x75, 0xae, 0xdf, 0x2b, 0x4f, 0x77, 0xa1, 0xd7, 0xda, 0xd6, 0x83, - 0x7b, 0xdd, 0x92, 0x00, 0xd5, 0x04, 0x13, 0xb4, 0x53, 0xb7, 0x39, 0xad, 0xf8, 0x9f, 0x00, 0xcf, - 0xf7, 0x7b, 0xe5, 0x82, 0x04, 0x4b, 0x8b, 0x6e, 0x45, 0x20, 0xf5, 0x26, 0xc8, 0x62, 0xe8, 0xa1, - 0xe2, 0x98, 0x00, 0x17, 0xfa, 0xbd, 0x72, 0x3e, 0x00, 0xf3, 0x5b, 0xdd, 0x12, 0x46, 0x21, 0xa0, - 0xeb, 0xd5, 0x49, 0xab, 0x98, 0x1d, 0x12, 0x20, 0xee, 0xb9, 0x00, 0xf1, 0x67, 0x3b, 0xff, 0xfa, - 0xe7, 0xa7, 0x3b, 0x52, 0x8d, 0xfe, 0x1c, 0x2c, 0x26, 0x53, 0xb1, 0x10, 0x6d, 0x13, 0x4c, 0x91, - 0x5a, 0x05, 0x05, 0x8c, 0x8e, 0x0f, 0x44, 0x39, 0x0e, 0x02, 0xb9, 0x41, 0x6e, 0xa5, 0x7e, 0xaf, - 0xbc, 0x28, 0x15, 0x24, 0x01, 0xba, 0x35, 0x8d, 0xd1, 0xf1, 0x13, 0x7e, 0x21, 0x7c, 0xe9, 0x6f, - 0x15, 0xf0, 0x7f, 0x8d, 0x3a, 0x35, 0x17, 0xb3, 0x51, 0x4a, 0xf4, 0x00, 0xe4, 0xa0, 0x47, 0x3a, - 0x98, 0x89, 0x02, 0xe5, 0x37, 0x96, 0x0d, 0xf9, 0x58, 0xbc, 0x25, 0xc2, 0xee, 0x31, 0x76, 0x89, - 0x8b, 0xab, 0xd7, 0x4e, 0x7b, 0xe5, 0xcc, 0xc0, 0x53, 0x40, 0xd3, 0x2d, 0xc9, 0x4f, 0xe6, 0x3a, - 0x07, 0x0a, 0x52, 0x4c, 0x98, 0x64, 0x28, 0xb0, 0xda, 0xf1, 0xf1, 0x3f, 0x23, 0x90, 0x8b, 0x89, - 0x04, 0x7e, 0x94, 0xbd, 0xd6, 0x84, 0xd8, 0x41, 0x3b, 0xb6, 0xe7, 0x8e, 0xa4, 0x73, 0x15, 0x8c, - 0xc7, 0x1b, 0x6d, 0xb6, 0xdf, 0x2b, 0x4f, 0x05, 0x48, 0xf9, 0x5e, 0x81, 0x59, 0xad, 0x80, 0x49, - 0xfe, 0x94, 0x90, 0xfb, 0x97, 0x7d, 0xb6, 0xd0, 0xef, 0x95, 0x67, 0x07, 0xaf, 0x2c, 0x4c, 0xba, - 0x35, 0x81, 0xd1, 0xb1, 0x50, 0x91, 0x14, 0x5e, 0x0c, 0xba, 0x68, 0x20, 0x32, 0xd2, 0xff, 0x41, - 0x01, 0xf3, 0x35, 0xea, 0xec, 0x23, 0x26, 0x3a, 0xa2, 0x86, 0x18, 0xb4, 0x21, 0x83, 0xa3, 0x24, - 0x61, 0x81, 0x09, 0x4f, 0xd2, 0x64, 0xb9, 0x57, 0x06, 0xe5, 0xc6, 0x87, 0x51, 0xb9, 0x43, 0xdf, - 0xd5, 0x25, 0x59, 0x72, 0x39, 0x53, 0x21, 0x59, 0xb7, 0x22, 0x3f, 0x49, 0xf5, 0x2b, 0xe0, 0xfa, - 0x6f, 0x24, 0x46, 0x29, 0xbc, 0x57, 0xc4, 0xb3, 0x3c, 0x6d, 0xdb, 0x90, 0xa1, 0xc7, 0x62, 0x11, - 0xa8, 0x5b, 0x60, 0x12, 0x76, 0x58, 0x93, 0xf8, 0x2e, 0xeb, 0xca, 0x0c, 0x8a, 0xdf, 0x3e, 0xaf, - 0x2f, 0x48, 0x5d, 0x3b, 0xb6, 0xed, 0x23, 0x4a, 0xf7, 0x99, 0xef, 0x62, 0xc7, 0x1a, 0x40, 0xd5, - 0x3d, 0x90, 0x0b, 0x56, 0x89, 0xcc, 0x64, 0xd5, 0xf8, 0xf3, 0x8a, 0x34, 0x82, 0x78, 0xd5, 0x2c, - 0x4f, 0xc9, 0x92, 0xdc, 0xed, 0x19, 0xae, 0x7e, 0xe0, 0x55, 0x5f, 0x06, 0x4b, 0x97, 0x04, 0x86, - 0xe2, 0x37, 0xbe, 0x8c, 0x83, 0xb1, 0x1a, 0x75, 0xd4, 0x0e, 0xc8, 0xc7, 0xf7, 0x95, 0x71, 0x55, - 0xdc, 0xe4, 0x52, 0x28, 0x6d, 0x8d, 0x86, 0x8f, 0x96, 0xc8, 0x0b, 0x90, 0x15, 0xc3, 0xbf, 0x96, - 0x82, 0xcf, 0x81, 0x25, 0x33, 0x25, 0x30, 0x1e, 0x41, 0x4c, 0x6f, 0x9a, 0x08, 0x1c, 0x98, 0x2a, - 0x42, 0x7c, 0x04, 0x45, 0xe9, 0x62, 0xe3, 0x97, 0xaa, 0x74, 0x03, 0x7c, 0xba, 0xd2, 0x0d, 0x4f, - 0x8e, 0xfa, 0x46, 0x01, 0xb3, 0x43, 0x63, 0xb3, 0x99, 0xc2, 0xd9, 0x65, 0x52, 0xe9, 0xfe, 0x5f, - 0x90, 0x22, 0x19, 0x27, 0x60, 0x2a, 0xd1, 0xf9, 0x69, 0xca, 0x17, 0x27, 0x94, 0xee, 0x8d, 0x48, - 0x08, 0x23, 0x57, 0x5b, 0xa7, 0xe7, 0x9a, 0x72, 0x76, 0xae, 0x29, 0x3f, 0xce, 0x35, 0xe5, 0xdd, - 0x85, 0x96, 0x39, 0xbb, 0xd0, 0x32, 0xdf, 0x2f, 0xb4, 0xcc, 0x33, 0xcb, 0x71, 0x59, 0xb3, 0x53, - 0x37, 0x1a, 0xc4, 0x33, 0x1f, 0x86, 0xce, 0x1f, 0xc1, 0x3a, 0x35, 0xa3, 0x50, 0xeb, 0x0d, 0xe2, - 0xa3, 0xf8, 0xb1, 0x09, 0x5d, 0x6c, 0x7a, 0xc4, 0xee, 0xb4, 0x10, 0x4d, 0x7e, 0xe3, 0x59, 0xb7, - 0x8d, 0x68, 0x3d, 0x27, 0xbe, 0xed, 0x9b, 0xbf, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa5, 0xcb, 0x12, - 0xae, 0xdd, 0x08, 0x00, 0x00, + // 855 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0x4d, 0x6f, 0xe3, 0x44, + 0x18, 0x8e, 0xd9, 0x6c, 0x68, 0xa7, 0xbb, 0xa4, 0xf5, 0x96, 0x6d, 0x9a, 0xd5, 0x3a, 0xc8, 0x8b, + 0x76, 0x69, 0xab, 0xd8, 0x4a, 0x2b, 0xb5, 0x22, 0x9c, 0x9a, 0xf6, 0x00, 0x12, 0x91, 0x90, 0x0b, + 0x17, 0x84, 0x54, 0xc6, 0xf1, 0xe0, 0x98, 0xc6, 0x33, 0x91, 0x67, 0xdc, 0x36, 0x57, 0xc4, 0x89, + 0x13, 0xff, 0x83, 0x4b, 0x0f, 0x1c, 0xf8, 0x09, 0x95, 0x38, 0x50, 0x71, 0xe2, 0x14, 0xa1, 0xf6, + 0xd0, 0x33, 0xf9, 0x05, 0x68, 0x3e, 0xec, 0x38, 0x09, 0xa1, 0x0e, 0x27, 0x2e, 0xad, 0x67, 0xde, + 0xe7, 0x79, 0xe7, 0x7d, 0xde, 0x2f, 0x05, 0xbc, 0x09, 0xf0, 0xb7, 0xa8, 0xc3, 0x82, 0x73, 0x64, + 0x33, 0x72, 0x86, 0xf0, 0x37, 0xb0, 0xc3, 0x48, 0x34, 0xb0, 0xcf, 0x1b, 0x2e, 0x62, 0xb0, 0x61, + 0xb3, 0x4b, 0xab, 0x1f, 0x11, 0x46, 0x74, 0x23, 0x05, 0x5a, 0x59, 0xa0, 0xa5, 0x80, 0xd5, 0x75, + 0x9f, 0xf8, 0x44, 0x40, 0x6d, 0xfe, 0x25, 0x59, 0x55, 0xa3, 0x43, 0x68, 0x48, 0xa8, 0xed, 0x42, + 0x8a, 0x52, 0x9f, 0x1d, 0x12, 0xe0, 0x19, 0x3b, 0x3e, 0x4b, 0xed, 0xfc, 0xa0, 0xec, 0x1b, 0xca, + 0x1e, 0x52, 0xdf, 0x3e, 0x6f, 0xf0, 0x7f, 0xca, 0xb0, 0x29, 0x0d, 0xa7, 0xf2, 0x45, 0x79, 0x50, + 0xa6, 0x9d, 0x07, 0x24, 0xf5, 0x61, 0x04, 0xc3, 0x04, 0xbc, 0x06, 0xc3, 0x00, 0x13, 0x5b, 0xfc, + 0x95, 0x57, 0xe6, 0x5f, 0x1a, 0x78, 0xa7, 0x4d, 0xfd, 0xa3, 0x08, 0x41, 0x86, 0x8e, 0x11, 0x26, + 0xa1, 0xbe, 0x05, 0x4a, 0x14, 0x61, 0x0f, 0x45, 0x15, 0xed, 0x3d, 0xed, 0x83, 0xe5, 0xd6, 0xda, + 0x68, 0x58, 0x7b, 0x3a, 0x80, 0x61, 0xaf, 0x69, 0xca, 0x7b, 0xd3, 0x51, 0x00, 0xdd, 0x06, 0x4b, + 0x34, 0x76, 0x3d, 0x4e, 0xab, 0xbc, 0x25, 0xc0, 0xcf, 0x46, 0xc3, 0x5a, 0x59, 0x81, 0x95, 0xc5, + 0x74, 0x52, 0x90, 0xfe, 0x0a, 0x14, 0x31, 0x0c, 0x51, 0xe5, 0x91, 0x00, 0x97, 0x47, 0xc3, 0xda, + 0x8a, 0x04, 0xf3, 0x5b, 0xd3, 0x11, 0x46, 0x11, 0xc0, 0x20, 0x74, 0x49, 0xaf, 0x52, 0x9c, 0x09, + 0x40, 0xdc, 0xf3, 0x00, 0xc4, 0x47, 0x73, 0xef, 0xbb, 0xfb, 0xab, 0x6d, 0x15, 0xcd, 0x0f, 0xf7, + 0x57, 0xdb, 0xaf, 0xe6, 0xa4, 0xa3, 0x23, 0xf4, 0xd5, 0x65, 0x3c, 0x5f, 0x81, 0xe7, 0x93, 0x92, + 0x1d, 0x44, 0xfb, 0x04, 0x53, 0xa4, 0xb7, 0x40, 0x19, 0xa3, 0x8b, 0x53, 0x41, 0x3d, 0x95, 0xb2, + 0x64, 0x0e, 0xaa, 0xa3, 0x61, 0xed, 0xb9, 0x8a, 0x74, 0x12, 0x60, 0x3a, 0x4f, 0x31, 0xba, 0xf8, + 0x9c, 0x5f, 0x08, 0x5f, 0xe6, 0x4f, 0x1a, 0x78, 0xbb, 0x4d, 0xfd, 0x76, 0x80, 0xd9, 0x22, 0xa9, + 0xfc, 0x18, 0x94, 0x60, 0x48, 0x62, 0xcc, 0x44, 0x22, 0x57, 0x76, 0x37, 0x2d, 0x55, 0x67, 0xde, + 0x4d, 0x49, 0xe3, 0x59, 0x47, 0x24, 0xc0, 0xad, 0x77, 0xaf, 0x87, 0xb5, 0xc2, 0xd8, 0x93, 0xa4, + 0x99, 0x8e, 0xe2, 0x37, 0x77, 0xa6, 0x72, 0xf2, 0x62, 0x4e, 0x4e, 0xc2, 0x00, 0x33, 0x73, 0x0d, + 0x94, 0x55, 0xb0, 0x49, 0x12, 0x12, 0x01, 0xad, 0x38, 0xc2, 0xff, 0x6f, 0x01, 0x6e, 0x1c, 0x61, + 0x25, 0x80, 0x07, 0x9b, 0x0a, 0xf8, 0x55, 0xf5, 0x74, 0x17, 0x62, 0x1f, 0x1d, 0x7a, 0x61, 0xb0, + 0x90, 0x8e, 0xd7, 0xe0, 0x71, 0xb6, 0xa1, 0x57, 0x47, 0xc3, 0xda, 0x13, 0x89, 0x54, 0xf5, 0x96, + 0x66, 0xbd, 0x01, 0x96, 0x79, 0x2b, 0x40, 0xee, 0x5f, 0xf5, 0xf3, 0xfa, 0x68, 0x58, 0x5b, 0x1d, + 0x77, 0x89, 0x30, 0x99, 0xce, 0x12, 0x46, 0x17, 0x22, 0x8a, 0xfc, 0xdd, 0x2a, 0x22, 0xaf, 0x4b, + 0x7e, 0x45, 0x76, 0xeb, 0x58, 0x4c, 0xaa, 0xf3, 0x37, 0x0d, 0x3c, 0x6b, 0x53, 0xff, 0x04, 0x31, + 0xd1, 0x79, 0x6d, 0xc4, 0xa0, 0x07, 0x19, 0x5c, 0x44, 0xac, 0x03, 0x96, 0x42, 0x45, 0x53, 0x65, + 0x7b, 0x39, 0x2e, 0x1b, 0x3e, 0x4b, 0xcb, 0x96, 0xf8, 0x6e, 0x6d, 0xa8, 0xd2, 0xa9, 0x19, 0x4f, + 0xc8, 0xa6, 0x93, 0xfa, 0x69, 0x7e, 0x38, 0xa5, 0x72, 0x6b, 0x8e, 0x4a, 0x8a, 0x98, 0x1c, 0xc8, + 0x7a, 0xea, 0xe5, 0x25, 0x78, 0xf1, 0x0f, 0x82, 0x52, 0xc1, 0xd7, 0x9a, 0x28, 0xf6, 0x17, 0x7d, + 0x0f, 0x32, 0xf4, 0x99, 0xd8, 0x6c, 0xfa, 0x3e, 0x58, 0x86, 0x31, 0xeb, 0x92, 0x28, 0x60, 0x03, + 0xa5, 0xb7, 0xf2, 0xfb, 0xcf, 0xf5, 0x75, 0xa5, 0xe2, 0xd0, 0xf3, 0x22, 0x44, 0xe9, 0x09, 0x8b, + 0x02, 0xec, 0x3b, 0x63, 0xa8, 0x7e, 0x0c, 0x4a, 0x72, 0x37, 0x2a, 0xdd, 0xaf, 0xad, 0x7f, 0xdf, + 0xf9, 0x96, 0x7c, 0xaf, 0x55, 0xe4, 0x09, 0x70, 0x14, 0xb7, 0x79, 0xc0, 0xb5, 0x8e, 0xbd, 0x72, + 0xb9, 0xef, 0xcf, 0x91, 0x1b, 0x8b, 0xa8, 0xeb, 0x92, 0x68, 0x6e, 0x82, 0x8d, 0x29, 0x25, 0x89, + 0xca, 0xdd, 0x5f, 0x1e, 0x83, 0x47, 0x6d, 0xea, 0xeb, 0x31, 0x58, 0xc9, 0xae, 0x65, 0xeb, 0xa1, + 0x00, 0x27, 0x77, 0x5a, 0x75, 0x7f, 0x31, 0x7c, 0xba, 0x03, 0xbf, 0x06, 0x45, 0xb1, 0xbb, 0xde, + 0xe4, 0xe0, 0x73, 0x60, 0xd5, 0xce, 0x09, 0xcc, 0xbe, 0x20, 0x96, 0x4b, 0x9e, 0x17, 0x38, 0x30, + 0xd7, 0x0b, 0xd9, 0x0d, 0x20, 0x52, 0x97, 0x99, 0xfe, 0x5c, 0xa9, 0x1b, 0xe3, 0xf3, 0xa5, 0x6e, + 0x76, 0x20, 0xf5, 0xef, 0x35, 0xb0, 0x3a, 0x33, 0x8d, 0x7b, 0x39, 0x9c, 0x4d, 0x93, 0xaa, 0x1f, + 0xfd, 0x07, 0x52, 0x1a, 0xc6, 0x25, 0x78, 0x32, 0x31, 0x22, 0x79, 0xd2, 0x97, 0x25, 0x54, 0x0f, + 0x16, 0x24, 0x24, 0x2f, 0xb7, 0x7a, 0xd7, 0xb7, 0x86, 0x76, 0x73, 0x6b, 0x68, 0x7f, 0xde, 0x1a, + 0xda, 0x8f, 0x77, 0x46, 0xe1, 0xe6, 0xce, 0x28, 0xfc, 0x71, 0x67, 0x14, 0xbe, 0x74, 0xfc, 0x80, + 0x75, 0x63, 0xd7, 0xea, 0x90, 0xd0, 0xfe, 0x24, 0x71, 0xfe, 0x29, 0x74, 0xa9, 0x9d, 0x3e, 0x55, + 0xef, 0x90, 0x08, 0x65, 0x8f, 0x5d, 0x18, 0x60, 0x3b, 0x24, 0x5e, 0xdc, 0x43, 0x74, 0x72, 0x96, + 0xd8, 0xa0, 0x8f, 0xa8, 0x5b, 0x12, 0x3f, 0x61, 0xf6, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xaa, + 0xc1, 0x4d, 0x17, 0xd7, 0x09, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/types/account.go b/chain/types/account.go index 9c9ef989..7d6be3d5 100644 --- a/chain/types/account.go +++ b/chain/types/account.go @@ -6,20 +6,20 @@ import ( "fmt" "strings" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" "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" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" ethcmn "github.com/ethereum/go-ethereum/common" ethcrypto "github.com/ethereum/go-ethereum/crypto" ) var ( - _ authtypes.AccountI = (*EthAccount)(nil) + _ sdk.AccountI = (*EthAccount)(nil) _ authtypes.GenesisAccount = (*EthAccount)(nil) _ codectypes.UnpackInterfacesMessage = (*EthAccount)(nil) ) @@ -32,7 +32,7 @@ var EmptyCodeHash = ethcrypto.Keccak256(nil) // ProtoAccount defines the prototype function for BaseAccount used for an // AccountKeeper. -func ProtoAccount() authtypes.AccountI { +func ProtoAccount() sdk.AccountI { return &EthAccount{ BaseAccount: &authtypes.BaseAccount{}, CodeHash: ethcrypto.Keccak256(nil), diff --git a/chain/types/account.pb.go b/chain/types/account.pb.go index cb352b87..7f26dc54 100644 --- a/chain/types/account.pb.go +++ b/chain/types/account.pb.go @@ -73,28 +73,27 @@ func init() { } var fileDescriptor_e25f61138fdc8ede = []byte{ - // 330 bytes of a gzipped FileDescriptorProto + // 317 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0xcd, 0xcc, 0xcb, 0x4a, 0x4d, 0x2e, 0xc9, 0x2c, 0x4b, 0xd5, 0x2f, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x4f, 0x4c, 0x4e, 0xce, 0x2f, 0xcd, 0x2b, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x87, 0x2b, 0xd3, 0x03, 0x2b, 0xd3, 0x83, 0x2a, 0x93, 0x92, 0x4b, 0xce, 0x2f, 0xce, 0xcd, 0x2f, 0xd6, 0x4f, 0x2c, 0x2d, 0xc9, 0x40, 0xe8, 0x2d, 0x2d, 0xc9, 0x80, 0x68, 0x94, 0x92, 0x84, 0xc8, 0xc7, 0x83, 0x79, 0xfa, 0x10, 0x0e, 0x54, 0x4a, 0x24, 0x3d, 0x3f, 0x3d, 0x1f, - 0x22, 0x0e, 0x62, 0x41, 0x44, 0x95, 0x9e, 0x32, 0x72, 0x71, 0xb9, 0x96, 0x64, 0x38, 0x42, 0xac, + 0x22, 0x0e, 0x62, 0x41, 0x44, 0x95, 0xce, 0x33, 0x72, 0x71, 0xb9, 0x96, 0x64, 0x38, 0x42, 0xac, 0x17, 0x4a, 0xe0, 0xe2, 0x49, 0x4a, 0x2c, 0x4e, 0x8d, 0x87, 0x3a, 0x47, 0x82, 0x51, 0x81, 0x51, 0x83, 0xdb, 0x48, 0x41, 0x0f, 0x6a, 0x12, 0xd8, 0x26, 0xa8, 0xb5, 0x7a, 0x4e, 0x89, 0xc5, 0xa9, 0x50, 0x7d, 0x4e, 0xd2, 0x17, 0xee, 0xc9, 0x33, 0x7e, 0xba, 0x27, 0x2f, 0x5c, 0x99, 0x98, 0x9b, 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, 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, 0x96, 0xda, 0x34, 0x87, 0xda, 0x01, 0x00, 0x00, + 0xc3, 0x4a, 0xa7, 0x63, 0x81, 0x3c, 0xc3, 0x8c, 0x05, 0xf2, 0x0c, 0x2f, 0x16, 0xc8, 0x33, 0x9c, + 0xda, 0xa2, 0x2b, 0x83, 0xcd, 0x35, 0x50, 0xf3, 0x3d, 0x9d, 0xc2, 0x4f, 0x3c, 0x92, 0x63, 0xbc, + 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23, 0x39, 0xc6, 0x09, 0x8f, 0xe5, 0x18, 0x2e, 0x3c, 0x96, 0x63, + 0xb8, 0xf1, 0x58, 0x8e, 0x21, 0xca, 0x36, 0x3d, 0xb3, 0x24, 0xa3, 0x34, 0x49, 0x2f, 0x39, 0x3f, + 0x57, 0xdf, 0x13, 0x16, 0xc0, 0x3e, 0x89, 0x49, 0xc5, 0xfa, 0xf0, 0xe0, 0xd6, 0x4d, 0xce, 0x2f, + 0x4a, 0x45, 0xe6, 0x66, 0x24, 0x66, 0xe6, 0x41, 0xa2, 0x2a, 0x89, 0x0d, 0x1c, 0x62, 0xc6, 0x80, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xef, 0x10, 0x61, 0x9a, 0xc4, 0x01, 0x00, 0x00, } func (m *EthAccount) Marshal() (dAtA []byte, err error) { diff --git a/chain/types/codec.go b/chain/types/codec.go index 321ee347..6f061a2d 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" "github.com/cosmos/cosmos-sdk/types/tx" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" ) @@ -9,10 +10,10 @@ import ( // RegisterInterfaces registers the tendermint concrete client-related // implementations and interfaces. func RegisterInterfaces(registry codectypes.InterfaceRegistry) { - registry.RegisterInterface("injective.types.v1beta1.EthAccount", (*authtypes.AccountI)(nil)) + registry.RegisterInterface("injective.types.v1beta1.EthAccount", (*types.AccountI)(nil)) registry.RegisterImplementations( - (*authtypes.AccountI)(nil), + (*types.AccountI)(nil), &EthAccount{}, ) diff --git a/chain/types/coin.go b/chain/types/coin.go index 824041f2..b8ec01ae 100644 --- a/chain/types/coin.go +++ b/chain/types/coin.go @@ -1,7 +1,7 @@ package types import ( - sdkmath "cosmossdk.io/math" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -20,18 +20,12 @@ const ( BaseDenomUnit = 18 ) -// NewInjectiveCoin is a utility function that returns an "inj" coin with the given sdkmath.Int amount. +// NewInjectiveCoin is a utility function that returns an "inj" coin with the given math.Int amount. // The function will panic if the provided amount is negative. -func NewInjectiveCoin(amount sdkmath.Int) sdk.Coin { +func NewInjectiveCoin(amount math.Int) sdk.Coin { return sdk.NewCoin(InjectiveCoin, 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 sdkmath.Int) sdk.DecCoin { - return sdk.NewDecCoin(InjectiveCoin, amount) -} - // NewInjectiveCoinInt64 is a utility function that returns an "inj" coin with the given int64 amount. // The function will panic if the provided amount is negative. func NewInjectiveCoinInt64(amount int64) sdk.Coin { diff --git a/chain/types/gas.go b/chain/types/gas.go index 1c15357a..b14660de 100644 --- a/chain/types/gas.go +++ b/chain/types/gas.go @@ -5,7 +5,7 @@ import ( "math" "sync" - storetypes "github.com/cosmos/cosmos-sdk/store/types" + storetypes "cosmossdk.io/store/types" ) type infiniteGasMeter struct { diff --git a/chain/wasmx/types/codec.go b/chain/wasmx/types/codec.go index 8b78b8db..01d03e7a 100644 --- a/chain/wasmx/types/codec.go +++ b/chain/wasmx/types/codec.go @@ -7,9 +7,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" 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 @@ -25,6 +23,9 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&BatchContractRegistrationRequestProposal{}, "wasmx/BatchContractRegistrationRequestProposal", nil) cdc.RegisterConcrete(&BatchContractDeregistrationProposal{}, "wasmx/BatchContractDeregistrationProposal", nil) cdc.RegisterConcrete(&BatchStoreCodeProposal{}, "wasmx/BatchStoreCodeProposal", nil) + + cdc.RegisterConcrete(&Params{}, "wasmx/Params", nil) + } func RegisterInterfaces(registry types.InterfaceRegistry) { @@ -48,23 +49,23 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { } var ( - amino = codec.NewLegacyAmino() - // ModuleCdc references the global x/wasmx module codec. Note, the codec should // ONLY be used in certain instances of tests and for JSON encoding as Amino is // still used for that purpose. // // The actual codec used for serialization should be provided to x/wasmx and // defined at the application level. - ModuleCdc = codec.NewAminoCodec(amino) + ModuleCdc = codec.NewLegacyAmino() ) func init() { - RegisterLegacyAminoCodec(amino) - cryptocodec.RegisterCrypto(amino) - amino.Seal() + RegisterLegacyAminoCodec(ModuleCdc) + cryptocodec.RegisterCrypto(ModuleCdc) + ModuleCdc.Seal() RegisterLegacyAminoCodec(authzcdc.Amino) - RegisterLegacyAminoCodec(govcdc.Amino) - RegisterLegacyAminoCodec(groupcdc.Amino) + + // TODO: Check + // RegisterLegacyAminoCodec(govcdc.Amino) + // RegisterLegacyAminoCodec(groupcdc.Amino) } diff --git a/chain/wasmx/types/expected_keepers.go b/chain/wasmx/types/expected_keepers.go index 81859f92..e9d5d692 100644 --- a/chain/wasmx/types/expected_keepers.go +++ b/chain/wasmx/types/expected_keepers.go @@ -1,20 +1,22 @@ package types import ( + "context" + wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" sdk "github.com/cosmos/cosmos-sdk/types" ) // BankKeeper defines the expected bank keeper methods type BankKeeper interface { - GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin - GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins - SendCoinsFromModuleToModule(ctx sdk.Context, senderModule, recipientModule string, amt sdk.Coins) error - 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 + GetBalance(ctx context.Context, addr sdk.AccAddress, denom string) sdk.Coin + GetAllBalances(ctx context.Context, addr sdk.AccAddress) sdk.Coins + SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error + SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error + BurnCoins(ctx context.Context, moduleName string, amt sdk.Coins) error + IsSendEnabledCoins(ctx context.Context, coins ...sdk.Coin) error + SendCoins(ctx context.Context, from, to sdk.AccAddress, amt sdk.Coins) error } type WasmViewKeeper interface { diff --git a/chain/wasmx/types/proposal.pb.go b/chain/wasmx/types/proposal.pb.go index 04fe8406..646665a5 100644 --- a/chain/wasmx/types/proposal.pb.go +++ b/chain/wasmx/types/proposal.pb.go @@ -7,6 +7,7 @@ import ( fmt "fmt" types "github.com/CosmWasm/wasmd/x/wasm/types" _ "github.com/cosmos/cosmos-proto" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -346,51 +347,54 @@ func init() { func init() { proto.RegisterFile("injective/wasmx/v1/proposal.proto", fileDescriptor_ba51f3e994cc61a5) } var fileDescriptor_ba51f3e994cc61a5 = []byte{ - // 696 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0xcd, 0x6e, 0xd3, 0x4c, - 0x14, 0x8d, 0x93, 0xb4, 0x4d, 0x26, 0xfd, 0xc9, 0x37, 0x5f, 0x05, 0xa6, 0x2d, 0x4e, 0x68, 0xa4, - 0x12, 0x90, 0x6a, 0xd3, 0xb2, 0xeb, 0xae, 0x69, 0x45, 0x55, 0xd1, 0x8a, 0xca, 0x15, 0x1b, 0x36, - 0xd6, 0xc4, 0x73, 0xe3, 0x0c, 0xb2, 0x3d, 0xc6, 0x33, 0x49, 0x89, 0xd8, 0xb0, 0x83, 0x25, 0x8f, - 0x50, 0x89, 0x07, 0x60, 0xc3, 0x0b, 0xb0, 0xab, 0x58, 0x75, 0xc9, 0x0a, 0xa1, 0x76, 0xc3, 0x63, - 0x20, 0xff, 0xa5, 0x41, 0x85, 0x50, 0x51, 0xb1, 0xcb, 0xb9, 0xf7, 0xdc, 0x3b, 0xe7, 0x9e, 0xb9, - 0x9e, 0xa0, 0x3b, 0xcc, 0x7f, 0x0e, 0xb6, 0x64, 0x7d, 0x30, 0x8e, 0x88, 0xf0, 0x5e, 0x1a, 0xfd, - 0x35, 0x23, 0x08, 0x79, 0xc0, 0x05, 0x71, 0xf5, 0x20, 0xe4, 0x92, 0x63, 0x3c, 0xa4, 0xe8, 0x31, - 0x45, 0xef, 0xaf, 0x2d, 0xdc, 0xb2, 0xb9, 0xf0, 0xb8, 0xb0, 0x62, 0x86, 0x91, 0x80, 0x84, 0xbe, - 0xb0, 0x12, 0xa1, 0x88, 0x18, 0x37, 0x1c, 0xed, 0x67, 0xb9, 0xe0, 0x10, 0x7b, 0x90, 0xf2, 0xe6, - 0x1d, 0xee, 0xf0, 0xa4, 0x3e, 0xfa, 0x95, 0x44, 0x97, 0x5f, 0xe7, 0x51, 0x63, 0x8b, 0xfb, 0x32, - 0x24, 0xb6, 0x34, 0xc1, 0x61, 0x42, 0x86, 0x44, 0x32, 0xee, 0x9b, 0xf0, 0xa2, 0x07, 0x42, 0x1e, - 0xa4, 0xad, 0xf0, 0x3c, 0x9a, 0x90, 0x4c, 0xba, 0xa0, 0x2a, 0x75, 0xa5, 0x59, 0x36, 0x13, 0x80, - 0xeb, 0xa8, 0x42, 0x41, 0xd8, 0x21, 0x0b, 0xa2, 0x1a, 0x35, 0x1f, 0xe7, 0x46, 0x43, 0x78, 0x80, - 0x6e, 0xdb, 0x69, 0x7b, 0x2b, 0x1c, 0xe9, 0x6f, 0x85, 0xc9, 0x01, 0x6a, 0xa1, 0xae, 0x34, 0x2b, - 0xeb, 0x86, 0x7e, 0x79, 0x68, 0x7d, 0x8c, 0xae, 0x56, 0xf1, 0xe4, 0x6b, 0x2d, 0x67, 0x2e, 0xda, - 0xbf, 0xa7, 0x6c, 0xac, 0xbc, 0x3d, 0xae, 0xe5, 0xbe, 0x1f, 0xd7, 0x72, 0x9f, 0x3f, 0xae, 0x2e, - 0xa4, 0x96, 0x39, 0xbc, 0xaf, 0xf7, 0xd7, 0xda, 0x20, 0x49, 0xd2, 0x1e, 0x7c, 0xb9, 0xfc, 0x26, - 0x8f, 0x9a, 0x2d, 0x22, 0xed, 0xee, 0xbf, 0xf4, 0xe1, 0x15, 0xd2, 0xc6, 0xfa, 0x20, 0xd4, 0x42, - 0xbd, 0xf0, 0xf7, 0x46, 0x2c, 0x8d, 0x31, 0x42, 0x5c, 0xd9, 0x89, 0xf7, 0x0a, 0x6a, 0xfc, 0xe4, - 0xc4, 0x36, 0x8c, 0x6a, 0xbd, 0xb6, 0x09, 0x4b, 0xa8, 0x9c, 0xe9, 0x4c, 0xe6, 0x2d, 0x9b, 0x17, - 0x81, 0x2b, 0xab, 0xfc, 0x50, 0x40, 0x8b, 0x63, 0x1c, 0xc1, 0xf7, 0x50, 0x75, 0x68, 0x35, 0xa1, - 0x34, 0x04, 0x21, 0x52, 0xa1, 0x73, 0x59, 0x7c, 0x33, 0x09, 0xe3, 0x45, 0x54, 0x76, 0x88, 0xb0, - 0x5c, 0xe6, 0x31, 0x19, 0x0b, 0x2e, 0x9a, 0x25, 0x87, 0x88, 0xbd, 0x08, 0x67, 0xc9, 0x20, 0x64, - 0x36, 0xc4, 0x6b, 0x9a, 0x24, 0x0f, 0x22, 0x8c, 0x75, 0xf4, 0xbf, 0xe8, 0xf2, 0x9e, 0x4b, 0xad, - 0x80, 0xf9, 0x56, 0xd6, 0x57, 0x2d, 0xd6, 0x95, 0x66, 0xc9, 0xfc, 0x2f, 0x49, 0x1d, 0x30, 0x3f, - 0xd3, 0x89, 0x1f, 0xa0, 0x79, 0x26, 0x2c, 0x8f, 0x39, 0xe9, 0xb5, 0x13, 0xd7, 0xe5, 0x47, 0x40, - 0xd5, 0x89, 0xb8, 0x00, 0x33, 0xb1, 0x9f, 0xa5, 0x36, 0x93, 0x0c, 0xbe, 0x89, 0xa6, 0x6c, 0x4e, - 0xc1, 0x62, 0x54, 0x9d, 0x8c, 0x0f, 0x9f, 0x8c, 0xe0, 0x2e, 0xc5, 0x0d, 0x34, 0x43, 0xa8, 0xc7, - 0xfc, 0xe1, 0x70, 0x53, 0xf1, 0x70, 0xd3, 0x71, 0x30, 0x9b, 0xec, 0x2e, 0x9a, 0x73, 0x42, 0xe2, - 0x4b, 0x08, 0x87, 0xb4, 0x52, 0x4c, 0x9b, 0x4d, 0xc3, 0x19, 0xb1, 0x85, 0xa6, 0x3b, 0x3d, 0x9f, - 0x32, 0xdf, 0xb1, 0x3c, 0x4e, 0x41, 0x2d, 0xd7, 0x95, 0xe6, 0xec, 0x7a, 0xed, 0x57, 0x6b, 0xf8, - 0x28, 0xe1, 0xed, 0x73, 0x0a, 0x66, 0xa5, 0x73, 0x01, 0x36, 0xb4, 0x3f, 0xdc, 0xd8, 0x27, 0x05, - 0xdd, 0x88, 0xf7, 0xea, 0x50, 0xf2, 0x10, 0xb6, 0x38, 0x85, 0x6b, 0xaf, 0xd2, 0x0e, 0x2a, 0x67, - 0xcf, 0x5c, 0xf6, 0xe9, 0x34, 0xf4, 0xec, 0x25, 0x8c, 0x25, 0x47, 0x8a, 0x2f, 0x9d, 0x97, 0x7e, - 0x2e, 0x17, 0xb5, 0x57, 0xdd, 0xba, 0xfb, 0x3b, 0xa8, 0x32, 0x32, 0x3f, 0x9e, 0x43, 0x95, 0xa7, - 0xbe, 0x08, 0xc0, 0x66, 0x1d, 0x06, 0xb4, 0x9a, 0xc3, 0xb3, 0x08, 0x1d, 0x82, 0xdb, 0x89, 0x38, - 0x40, 0xab, 0x0a, 0x9e, 0x41, 0xe5, 0x9d, 0xc8, 0xe9, 0x27, 0xbe, 0x3b, 0xa8, 0xe6, 0x71, 0x09, - 0x15, 0xb7, 0x7b, 0xc4, 0xad, 0x16, 0x5a, 0x70, 0x72, 0xa6, 0x29, 0xa7, 0x67, 0x9a, 0xf2, 0xed, - 0x4c, 0x53, 0xde, 0x9d, 0x6b, 0xb9, 0xd3, 0x73, 0x2d, 0xf7, 0xe5, 0x5c, 0xcb, 0x3d, 0x7b, 0xec, - 0x30, 0xd9, 0xed, 0xb5, 0x75, 0x9b, 0x7b, 0xc6, 0x6e, 0x66, 0xff, 0x1e, 0x69, 0x0b, 0x63, 0x78, - 0x19, 0xab, 0x36, 0x0f, 0x61, 0x14, 0x76, 0x09, 0xf3, 0x0d, 0x8f, 0xd3, 0x9e, 0x0b, 0x22, 0xfd, - 0x47, 0x91, 0x83, 0x00, 0x44, 0x7b, 0x32, 0x7e, 0xdf, 0x1f, 0xfe, 0x08, 0x00, 0x00, 0xff, 0xff, - 0x04, 0xe3, 0xe0, 0x18, 0x71, 0x06, 0x00, 0x00, + // 738 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0xcf, 0x6e, 0xd3, 0x4e, + 0x10, 0x8e, 0x93, 0xb4, 0x4d, 0x36, 0xfd, 0x93, 0xee, 0xaf, 0xfa, 0x61, 0xda, 0xe2, 0x84, 0x44, + 0x82, 0xb4, 0x52, 0x6d, 0x5a, 0x6e, 0xb9, 0x35, 0xad, 0x88, 0x2a, 0x5a, 0x51, 0xb9, 0x70, 0x80, + 0x8b, 0xb5, 0xf1, 0x6e, 0x9c, 0x45, 0xb6, 0xd7, 0x78, 0x37, 0x29, 0x11, 0x2f, 0x80, 0x38, 0xf1, + 0x08, 0x7d, 0x02, 0xe0, 0xc0, 0x89, 0x27, 0xa8, 0x38, 0x95, 0x1b, 0x27, 0x84, 0xd2, 0x03, 0x3c, + 0x06, 0xf2, 0xbf, 0x34, 0xa8, 0x10, 0x45, 0xad, 0xb8, 0x44, 0x99, 0x99, 0x6f, 0x67, 0xe6, 0xfb, + 0x66, 0xd6, 0x0b, 0x6e, 0x53, 0xf7, 0x39, 0x31, 0x05, 0xed, 0x11, 0xed, 0x18, 0x71, 0xe7, 0xa5, + 0xd6, 0xdb, 0xd4, 0x3c, 0x9f, 0x79, 0x8c, 0x23, 0x5b, 0xf5, 0x7c, 0x26, 0x18, 0x84, 0x43, 0x88, + 0x1a, 0x42, 0xd4, 0xde, 0xe6, 0xf2, 0x4d, 0x93, 0x71, 0x87, 0x71, 0x23, 0x44, 0x68, 0x91, 0x11, + 0xc1, 0x97, 0xef, 0x04, 0x56, 0x00, 0x0c, 0x13, 0x8e, 0xe6, 0x33, 0x6c, 0x62, 0x21, 0xb3, 0x1f, + 0xe3, 0x96, 0x2c, 0x66, 0xb1, 0xe8, 0x7c, 0xf0, 0x2f, 0xf6, 0x2e, 0x22, 0x87, 0xba, 0x4c, 0x0b, + 0x7f, 0x23, 0x57, 0xe5, 0x5d, 0x1a, 0x54, 0x77, 0x98, 0x2b, 0x7c, 0x64, 0x0a, 0x9d, 0x58, 0x94, + 0x0b, 0x1f, 0x09, 0xca, 0x5c, 0x9d, 0xbc, 0xe8, 0x12, 0x2e, 0x0e, 0xe3, 0xec, 0x70, 0x09, 0x4c, + 0x09, 0x2a, 0x6c, 0x22, 0x4b, 0x65, 0xa9, 0x96, 0xd7, 0x23, 0x03, 0x96, 0x41, 0x01, 0x13, 0x6e, + 0xfa, 0xd4, 0x0b, 0xce, 0xc8, 0xe9, 0x30, 0x36, 0xea, 0x82, 0x7d, 0x70, 0xcb, 0x8c, 0xd3, 0x1b, + 0xfe, 0x48, 0x7e, 0xc3, 0x8f, 0x0a, 0xc8, 0x99, 0xb2, 0x54, 0x2b, 0x6c, 0x69, 0xea, 0x65, 0x1d, + 0xd4, 0x31, 0x7d, 0x35, 0xb2, 0xa7, 0xdf, 0x4a, 0x29, 0x7d, 0xc5, 0xfc, 0x3b, 0xa4, 0xfe, 0xf8, + 0xf5, 0x49, 0x29, 0xf5, 0xf3, 0xa4, 0x94, 0xfa, 0xfc, 0x71, 0x63, 0x39, 0x56, 0xd1, 0x62, 0x3d, + 0xb5, 0xb7, 0xd9, 0x22, 0x02, 0x45, 0xe9, 0x89, 0x2b, 0xde, 0xfc, 0xf8, 0xb0, 0xbe, 0x16, 0x8d, + 0x67, 0x02, 0x21, 0x2a, 0x9f, 0xd2, 0xa0, 0xd6, 0x40, 0xc2, 0xec, 0xfc, 0x4b, 0xd5, 0x5e, 0x01, + 0x65, 0xac, 0x6a, 0x5c, 0xce, 0x94, 0x33, 0x57, 0x97, 0x6d, 0x75, 0x8c, 0x6c, 0xbc, 0xfe, 0x74, + 0x72, 0xdd, 0xa2, 0xa2, 0xda, 0xa4, 0x7a, 0x54, 0xbe, 0x48, 0xa0, 0xfa, 0x1b, 0x78, 0x97, 0x8c, + 0xd2, 0xbb, 0xb6, 0x6e, 0xab, 0x20, 0x9f, 0x50, 0x8b, 0x24, 0xca, 0xeb, 0x17, 0x8e, 0x2b, 0x2c, + 0xc4, 0x04, 0xbd, 0x56, 0xde, 0x67, 0xc0, 0xca, 0x18, 0xee, 0x70, 0x0d, 0x14, 0x87, 0xb3, 0x44, + 0x18, 0xfb, 0x84, 0xf3, 0x98, 0xd6, 0x42, 0xe2, 0xdf, 0x8e, 0xdc, 0x70, 0x05, 0xe4, 0x2d, 0xc4, + 0x0d, 0x9b, 0x3a, 0x54, 0x84, 0xf4, 0xb2, 0x7a, 0xce, 0x42, 0x7c, 0x3f, 0xb0, 0x93, 0xa0, 0xe7, + 0x53, 0x93, 0x84, 0xb7, 0x26, 0x0a, 0x1e, 0x06, 0x36, 0x54, 0xc1, 0x7f, 0xbc, 0xc3, 0xba, 0x36, + 0x36, 0x3c, 0xea, 0x1a, 0x49, 0x5e, 0x39, 0x5b, 0x96, 0x6a, 0x39, 0x7d, 0x31, 0x0a, 0x1d, 0x52, + 0x37, 0xe9, 0x13, 0xde, 0x03, 0x4b, 0x94, 0x1b, 0x0e, 0xb5, 0xe2, 0xbd, 0x42, 0xb6, 0xcd, 0x8e, + 0x09, 0x96, 0xa7, 0xc2, 0x03, 0x90, 0xf2, 0x83, 0x24, 0xb4, 0x1d, 0x45, 0xe0, 0x0d, 0x30, 0x63, + 0x32, 0x4c, 0x0c, 0x8a, 0xe5, 0xe9, 0xb0, 0xf8, 0x74, 0x60, 0xee, 0x61, 0x58, 0x05, 0x73, 0x08, + 0x3b, 0xd4, 0x1d, 0x92, 0x9b, 0x09, 0xc9, 0xcd, 0x86, 0xce, 0x84, 0xd9, 0x5d, 0xb0, 0x60, 0xf9, + 0xc8, 0x15, 0xc4, 0x1f, 0xc2, 0x72, 0x21, 0x6c, 0x3e, 0x76, 0x27, 0xc0, 0x06, 0x98, 0x6d, 0x77, + 0x5d, 0x4c, 0x5d, 0xcb, 0x70, 0x18, 0x26, 0x72, 0xbe, 0x2c, 0xd5, 0xe6, 0xb7, 0x4a, 0x7f, 0xda, + 0xf3, 0x07, 0x11, 0xee, 0x80, 0x61, 0xa2, 0x17, 0xda, 0x17, 0x46, 0x5d, 0x19, 0x3f, 0xdf, 0xca, + 0x40, 0x02, 0xff, 0x87, 0x93, 0x3d, 0x12, 0xcc, 0x27, 0x3b, 0x0c, 0x93, 0x6b, 0x2f, 0x5e, 0x13, + 0xe4, 0x93, 0x0f, 0x71, 0x72, 0x37, 0xab, 0x6a, 0xf2, 0xad, 0x0e, 0x5b, 0x0e, 0x3a, 0xbe, 0x54, + 0x2f, 0xbe, 0x8f, 0x17, 0x67, 0xeb, 0xcd, 0xc9, 0x77, 0x74, 0x75, 0x64, 0x47, 0x2f, 0x65, 0x5e, + 0x6f, 0x82, 0xc2, 0x88, 0x40, 0x70, 0x01, 0x14, 0x9e, 0xb8, 0xdc, 0x23, 0x26, 0x6d, 0x53, 0x82, + 0x8b, 0x29, 0x38, 0x0f, 0xc0, 0x11, 0xb1, 0xdb, 0x01, 0x86, 0xe0, 0xa2, 0x04, 0xe7, 0x40, 0xbe, + 0x19, 0x8c, 0xe2, 0x91, 0x6b, 0xf7, 0x8b, 0x69, 0x98, 0x03, 0xd9, 0xdd, 0x2e, 0xb2, 0x8b, 0x99, + 0x06, 0x39, 0x1d, 0x28, 0xd2, 0xd9, 0x40, 0x91, 0xbe, 0x0f, 0x14, 0xe9, 0xed, 0xb9, 0x92, 0x3a, + 0x3b, 0x57, 0x52, 0x5f, 0xcf, 0x95, 0xd4, 0xb3, 0x87, 0x16, 0x15, 0x9d, 0x6e, 0x4b, 0x35, 0x99, + 0xa3, 0xed, 0x25, 0xf3, 0xd9, 0x47, 0x2d, 0xae, 0x0d, 0xa7, 0xb5, 0x61, 0x32, 0x9f, 0x8c, 0x9a, + 0x1d, 0x44, 0x5d, 0xcd, 0x61, 0xb8, 0x6b, 0x13, 0x1e, 0x3f, 0x8a, 0xa2, 0xef, 0x11, 0xde, 0x9a, + 0x0e, 0xdf, 0xa3, 0xfb, 0xbf, 0x02, 0x00, 0x00, 0xff, 0xff, 0x0d, 0xee, 0xb6, 0x0c, 0x34, 0x07, + 0x00, 0x00, } func (m *ContractRegistrationRequestProposal) Marshal() (dAtA []byte, err error) { diff --git a/chain/wasmx/types/tx.pb.go b/chain/wasmx/types/tx.pb.go index 02545b39..46b3d349 100644 --- a/chain/wasmx/types/tx.pb.go +++ b/chain/wasmx/types/tx.pb.go @@ -9,6 +9,7 @@ import ( _ "github.com/cosmos/cosmos-proto" _ "github.com/cosmos/cosmos-sdk/codec/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -643,53 +644,58 @@ func init() { func init() { proto.RegisterFile("injective/wasmx/v1/tx.proto", fileDescriptor_f7afe23baa925f70) } var fileDescriptor_f7afe23baa925f70 = []byte{ - // 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, + // 801 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x41, 0x4f, 0xdc, 0x46, + 0x14, 0x5e, 0x97, 0x05, 0xc1, 0x94, 0x0a, 0x70, 0xa1, 0xec, 0x7a, 0x8b, 0xa1, 0xae, 0x2a, 0x58, + 0x28, 0x6b, 0x41, 0x2b, 0x54, 0xed, 0x0d, 0x68, 0x0f, 0x55, 0x59, 0x09, 0xb9, 0xea, 0xa5, 0x97, + 0xed, 0xac, 0x3d, 0x0c, 0xae, 0xd6, 0x1e, 0xc7, 0x33, 0x4b, 0xd8, 0xe4, 0x96, 0x1c, 0x22, 0xe5, + 0x94, 0x5f, 0x91, 0x5b, 0x24, 0x0e, 0x39, 0xe5, 0x17, 0x70, 0x44, 0xc9, 0x25, 0xa7, 0x28, 0x82, + 0x48, 0xfc, 0x8d, 0xc8, 0x33, 0xe3, 0xd9, 0xe0, 0xb5, 0xc9, 0x46, 0x4a, 0x2e, 0x2b, 0xbf, 0xf7, + 0xbe, 0x99, 0xef, 0xfb, 0xde, 0xbc, 0xf1, 0x1a, 0xd4, 0xfc, 0xf0, 0x7f, 0xe4, 0x32, 0xff, 0x04, + 0xd9, 0x77, 0x21, 0x0d, 0x4e, 0xed, 0x93, 0x2d, 0x9b, 0x9d, 0x36, 0xa2, 0x98, 0x30, 0xa2, 0xeb, + 0xaa, 0xd8, 0xe0, 0xc5, 0xc6, 0xc9, 0x96, 0x31, 0x8f, 0x09, 0x26, 0xbc, 0x6c, 0x27, 0x4f, 0x02, + 0x69, 0x54, 0x31, 0x21, 0xb8, 0x8b, 0x6c, 0x1e, 0x75, 0x7a, 0x47, 0x36, 0x0c, 0xfb, 0x69, 0xc9, + 0x25, 0x34, 0x20, 0xb4, 0x2d, 0xd6, 0x88, 0x40, 0x96, 0x16, 0x45, 0x64, 0x07, 0x14, 0x27, 0xbc, + 0x01, 0xc5, 0xb2, 0x60, 0xe6, 0xa8, 0x12, 0x0a, 0x44, 0xfd, 0x87, 0x9c, 0x7a, 0x14, 0x93, 0x88, + 0x50, 0xd8, 0x95, 0x90, 0x39, 0x18, 0xf8, 0x21, 0xb1, 0xf9, 0xaf, 0x48, 0x59, 0x4f, 0x35, 0x50, + 0x69, 0x51, 0xfc, 0xc7, 0x29, 0x72, 0x7b, 0x0c, 0xed, 0x93, 0x90, 0xc5, 0xd0, 0x65, 0xfb, 0x24, + 0x88, 0x20, 0xd3, 0xbf, 0x03, 0x13, 0x14, 0x85, 0x1e, 0x8a, 0x2b, 0xda, 0x8a, 0xb6, 0x36, 0xe5, + 0xc8, 0x48, 0x37, 0xc0, 0xa4, 0x2b, 0x91, 0x95, 0xaf, 0x78, 0x45, 0xc5, 0xfa, 0x2c, 0x18, 0x0b, + 0x28, 0xae, 0x8c, 0xf1, 0x74, 0xf2, 0xa8, 0xcf, 0x83, 0xf1, 0xa3, 0x5e, 0xe8, 0xd1, 0x4a, 0x99, + 0xe7, 0x44, 0xd0, 0x6c, 0x3c, 0xb8, 0x3e, 0x5b, 0x97, 0x1b, 0x3e, 0xbe, 0x3e, 0x5b, 0x37, 0x85, + 0xe8, 0x22, 0x2d, 0xd6, 0x0e, 0x58, 0x29, 0xaa, 0x39, 0x88, 0x46, 0x24, 0xa4, 0x48, 0xd7, 0x41, + 0xd9, 0x83, 0x0c, 0x72, 0xb5, 0xd3, 0x0e, 0x7f, 0xb6, 0xde, 0x69, 0x60, 0xae, 0x45, 0xf1, 0x3f, + 0x91, 0x07, 0x07, 0xeb, 0x0a, 0x9d, 0xd5, 0xc1, 0x6c, 0xea, 0xa4, 0x0d, 0x3d, 0x2f, 0x46, 0x94, + 0x4a, 0x87, 0x33, 0x69, 0x7e, 0x57, 0xa4, 0xf5, 0x1a, 0x98, 0xc2, 0x90, 0xb6, 0xbb, 0x7e, 0xe0, + 0x33, 0x6e, 0xb7, 0xec, 0x4c, 0x62, 0x48, 0x0f, 0x92, 0x38, 0x2d, 0x46, 0xb1, 0xef, 0x22, 0xee, + 0x5b, 0x14, 0x0f, 0x93, 0x58, 0xaf, 0x83, 0x6f, 0xa0, 0x17, 0xf8, 0xa1, 0x62, 0x18, 0x4f, 0x18, + 0xf6, 0xca, 0xe7, 0x6f, 0x96, 0x35, 0x67, 0x9a, 0x97, 0x24, 0x49, 0x73, 0x35, 0xd3, 0xa5, 0x45, + 0xd5, 0xa5, 0x9b, 0x86, 0xac, 0x1a, 0xa8, 0x0e, 0x25, 0xd3, 0xbe, 0x58, 0x0f, 0x35, 0xf0, 0x6d, + 0x8b, 0xe2, 0xdd, 0x64, 0x3a, 0x3e, 0x6f, 0x17, 0x9a, 0xf5, 0x8c, 0xc0, 0xaa, 0x12, 0x98, 0x65, + 0xb3, 0x96, 0x40, 0x2d, 0x27, 0xad, 0x44, 0x3e, 0xd2, 0xc0, 0x42, 0x8b, 0xe2, 0xdf, 0x11, 0xfc, + 0x02, 0x32, 0x37, 0x32, 0x32, 0x6b, 0x4a, 0xe6, 0x30, 0x9f, 0xb5, 0x0c, 0x96, 0x72, 0x0b, 0x4a, + 0xea, 0x33, 0x0d, 0xcc, 0xa8, 0x6e, 0x1f, 0xc2, 0x18, 0x06, 0x54, 0xdf, 0x01, 0x53, 0xb0, 0xc7, + 0x8e, 0x49, 0xec, 0xb3, 0xbe, 0xd0, 0xb9, 0x57, 0x79, 0xf9, 0x7c, 0x73, 0x5e, 0x5e, 0x6e, 0x29, + 0xe4, 0x6f, 0x16, 0xfb, 0x21, 0x76, 0x06, 0x50, 0xfd, 0x37, 0x30, 0x11, 0xf1, 0x1d, 0xb8, 0xf4, + 0xaf, 0xb7, 0x8d, 0xc6, 0xf0, 0x0b, 0xa6, 0x21, 0x38, 0xf8, 0x84, 0x94, 0x1c, 0x89, 0x6f, 0xae, + 0x25, 0x9e, 0x06, 0x3b, 0x25, 0xb6, 0x16, 0x32, 0xe3, 0x21, 0xd6, 0x59, 0x55, 0xb0, 0x98, 0x49, + 0x29, 0x2b, 0xaf, 0xc4, 0x68, 0x38, 0x08, 0xfb, 0x94, 0xa1, 0xf8, 0xa3, 0x3d, 0xef, 0x83, 0x25, + 0xd5, 0xf3, 0x98, 0x2f, 0x8a, 0x21, 0xf3, 0x49, 0xd8, 0x8e, 0xd1, 0x9d, 0x1e, 0xa2, 0x4c, 0xba, + 0xb0, 0xf3, 0x5c, 0x0c, 0xfa, 0x38, 0x58, 0xe7, 0x88, 0x65, 0xd2, 0x5a, 0xcd, 0x2d, 0x86, 0xdc, + 0x32, 0x6a, 0x59, 0xf5, 0x72, 0xd4, 0xb2, 0xe9, 0xd4, 0xf4, 0xf6, 0x8b, 0x71, 0x30, 0xd6, 0xa2, + 0x58, 0x67, 0xe0, 0x7b, 0xd1, 0x14, 0x49, 0xd7, 0x4f, 0x91, 0xf2, 0x4c, 0x7f, 0xca, 0x73, 0x31, + 0x74, 0xcd, 0x8c, 0xcd, 0x91, 0x60, 0xea, 0x2d, 0xc5, 0x40, 0x25, 0xbd, 0x04, 0x59, 0x5e, 0x7d, + 0xb5, 0x60, 0xab, 0xec, 0xad, 0x31, 0xec, 0x11, 0x81, 0x8a, 0xf5, 0x1e, 0x30, 0x06, 0x13, 0x3d, + 0xc4, 0x5b, 0x2f, 0xd8, 0x6e, 0xf8, 0x12, 0x18, 0x5b, 0x23, 0x43, 0x15, 0xf7, 0x7d, 0xb0, 0x90, + 0xff, 0x07, 0xf3, 0x73, 0xc1, 0x5e, 0xb9, 0x68, 0xe3, 0xd7, 0x4f, 0x41, 0x2b, 0xf2, 0xff, 0xc0, + 0xf4, 0x8d, 0x8b, 0xfa, 0xe3, 0xad, 0xa7, 0x25, 0x40, 0xc6, 0xc6, 0x08, 0x20, 0xc5, 0xd0, 0x05, + 0xb3, 0x43, 0xf7, 0xa7, 0xe8, 0x20, 0xb3, 0xc0, 0xc2, 0x83, 0x2c, 0x1a, 0xde, 0x3d, 0x74, 0x7e, + 0x69, 0x6a, 0x17, 0x97, 0xa6, 0xf6, 0xf6, 0xd2, 0xd4, 0x9e, 0x5c, 0x99, 0xa5, 0x8b, 0x2b, 0xb3, + 0xf4, 0xfa, 0xca, 0x2c, 0xfd, 0xfb, 0x17, 0xf6, 0xd9, 0x71, 0xaf, 0xd3, 0x70, 0x49, 0x60, 0xff, + 0x99, 0x6e, 0x7a, 0x00, 0x3b, 0xd4, 0x56, 0x14, 0x9b, 0x2e, 0x89, 0xd1, 0x87, 0xe1, 0x31, 0xf4, + 0x43, 0x3b, 0x20, 0x5e, 0xaf, 0x8b, 0xa8, 0xfc, 0x6e, 0x60, 0xfd, 0x08, 0xd1, 0xce, 0x04, 0xff, + 0x3e, 0xf8, 0xe5, 0x7d, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4a, 0xd0, 0xc8, 0x8a, 0x0d, 0x09, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/wasmx/types/wasmx.pb.go b/chain/wasmx/types/wasmx.pb.go index 053a0a76..bc44ad85 100644 --- a/chain/wasmx/types/wasmx.pb.go +++ b/chain/wasmx/types/wasmx.pb.go @@ -5,6 +5,8 @@ package types import ( fmt "fmt" + types "github.com/CosmWasm/wasmd/x/wasm/types" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -35,7 +37,8 @@ type Params struct { 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. - MinGasPrice uint64 `protobuf:"varint,4,opt,name=min_gas_price,json=minGasPrice,proto3" json:"min_gas_price,omitempty"` + MinGasPrice uint64 `protobuf:"varint,4,opt,name=min_gas_price,json=minGasPrice,proto3" json:"min_gas_price,omitempty"` + RegisterContractAccess types.AccessConfig `protobuf:"bytes,5,opt,name=register_contract_access,json=registerContractAccess,proto3" json:"register_contract_access" yaml:"register_contract_access"` } func (m *Params) Reset() { *m = Params{} } @@ -99,6 +102,13 @@ func (m *Params) GetMinGasPrice() uint64 { return 0 } +func (m *Params) GetRegisterContractAccess() types.AccessConfig { + if m != nil { + return m.RegisterContractAccess + } + return types.AccessConfig{} +} + type RegisteredContract struct { // limit of gas per BB execution GasLimit uint64 `protobuf:"varint,1,opt,name=gas_limit,json=gasLimit,proto3" json:"gas_limit,omitempty"` @@ -208,38 +218,44 @@ func init() { func init() { proto.RegisterFile("injective/wasmx/v1/wasmx.proto", fileDescriptor_6818ff331f2cddc4) } var fileDescriptor_6818ff331f2cddc4 = []byte{ - // 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, + // 588 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x93, 0x3f, 0x6f, 0xd4, 0x30, + 0x18, 0xc6, 0xcf, 0xc7, 0x71, 0xbd, 0xba, 0x7f, 0x10, 0xa6, 0xad, 0x42, 0x81, 0xdc, 0x71, 0x2c, + 0x47, 0x45, 0x13, 0xda, 0x2e, 0xa8, 0x62, 0xe9, 0x55, 0xa5, 0xaa, 0x28, 0x52, 0x15, 0x31, 0xb1, + 0x44, 0x8e, 0xed, 0xa6, 0x86, 0xd8, 0x3e, 0xc5, 0xb9, 0xe3, 0xfa, 0x05, 0x18, 0x98, 0xf8, 0x08, + 0x8c, 0x8c, 0xfd, 0x18, 0x1d, 0x3b, 0x32, 0x55, 0xa8, 0x1d, 0xca, 0xc2, 0xc2, 0x27, 0x40, 0xb6, + 0x93, 0x6b, 0x25, 0x60, 0x89, 0x9c, 0xf7, 0xf7, 0x3c, 0xaf, 0xf3, 0x3e, 0x8e, 0xa1, 0xcf, 0xe5, + 0x7b, 0x46, 0x0a, 0x3e, 0x62, 0xe1, 0x47, 0xac, 0xc5, 0x38, 0x1c, 0xad, 0xb9, 0x45, 0x30, 0xc8, + 0x55, 0xa1, 0x10, 0x9a, 0xf0, 0xc0, 0x95, 0x47, 0x6b, 0xcb, 0x0b, 0xa9, 0x4a, 0x95, 0xc5, 0xa1, + 0x59, 0x39, 0xe5, 0xf2, 0x43, 0xa2, 0xb4, 0x30, 0x1a, 0xeb, 0x37, 0x7d, 0x8a, 0xe3, 0x01, 0xd3, + 0x25, 0xbd, 0x8b, 0x05, 0x97, 0x2a, 0xb4, 0xcf, 0xb2, 0xf4, 0xf8, 0x1f, 0x5b, 0x0f, 0x72, 0x35, + 0x50, 0x1a, 0x67, 0x4e, 0xd2, 0xfd, 0x55, 0x87, 0xcd, 0x03, 0x9c, 0x63, 0xa1, 0xd1, 0x73, 0xb8, + 0xc0, 0x75, 0xcc, 0xc6, 0x8c, 0x0c, 0x0b, 0xae, 0x64, 0xcc, 0x24, 0x4e, 0x32, 0x46, 0x3d, 0xd0, + 0x01, 0xbd, 0x56, 0x84, 0xb8, 0xde, 0xa9, 0xd0, 0x8e, 0x23, 0xe8, 0x05, 0xbc, 0x2f, 0xf0, 0x38, + 0x4e, 0x58, 0xca, 0x65, 0x9c, 0x64, 0x8a, 0x7c, 0x88, 0x0b, 0x55, 0xe0, 0x2c, 0x4e, 0xb1, 0xf6, + 0xea, 0x1d, 0xd0, 0x6b, 0x44, 0x8b, 0x02, 0x8f, 0xfb, 0x86, 0xf7, 0x0d, 0x7e, 0x6b, 0xe8, 0x2e, + 0xd6, 0x68, 0x03, 0x2e, 0x19, 0x27, 0x51, 0xb2, 0xc8, 0x31, 0x29, 0x8c, 0x21, 0xce, 0xb8, 0xe0, + 0x85, 0x77, 0xcb, 0xda, 0xee, 0x09, 0x3c, 0xde, 0x2e, 0xe1, 0x2e, 0xd6, 0xfb, 0x06, 0xa1, 0x2e, + 0x9c, 0x13, 0x5c, 0x5a, 0xed, 0x20, 0xe7, 0x84, 0x79, 0x0d, 0xab, 0x9d, 0x11, 0x5c, 0xee, 0x62, + 0x7d, 0x60, 0x4a, 0xe8, 0x13, 0x80, 0x5e, 0xce, 0x52, 0xae, 0x0b, 0x96, 0x5f, 0xb7, 0xc7, 0x84, + 0x30, 0xad, 0xbd, 0xdb, 0x1d, 0xd0, 0x9b, 0x59, 0xf7, 0x83, 0x2a, 0x47, 0x1b, 0x78, 0x30, 0x5a, + 0x0b, 0xb6, 0x2c, 0xdf, 0x56, 0xf2, 0x90, 0xa7, 0xfd, 0x67, 0xa7, 0xe7, 0xed, 0xda, 0xef, 0xf3, + 0x76, 0xfb, 0x18, 0x8b, 0x6c, 0xb3, 0xfb, 0xbf, 0x6e, 0xdd, 0x6f, 0x57, 0x27, 0x2b, 0x20, 0x5a, + 0xaa, 0x78, 0xf5, 0xb9, 0xae, 0xd7, 0xe6, 0xe2, 0xcf, 0xaf, 0x6d, 0xf0, 0xf9, 0xea, 0x64, 0x65, + 0xd6, 0x45, 0xef, 0x42, 0xee, 0x9e, 0xd4, 0x21, 0x8a, 0x4a, 0x07, 0xa3, 0x95, 0x07, 0x3d, 0x80, + 0xd3, 0xd7, 0x11, 0x00, 0x3b, 0x56, 0x2b, 0xad, 0xe6, 0x2e, 0xa1, 0x9b, 0xb9, 0x3e, 0x81, 0x6e, + 0xe0, 0x27, 0x70, 0x6e, 0x72, 0x6a, 0xe6, 0x54, 0x6c, 0x80, 0xad, 0x68, 0xb6, 0x3a, 0x2e, 0x53, + 0x43, 0x8f, 0xe0, 0x14, 0x51, 0x94, 0xc5, 0x9c, 0xba, 0xcc, 0xfa, 0x8d, 0xd3, 0xf3, 0x36, 0x88, + 0x9a, 0xa6, 0xb8, 0x47, 0xd1, 0x53, 0x38, 0x87, 0xa9, 0x89, 0x16, 0x53, 0x9a, 0x57, 0x41, 0x4d, + 0x97, 0xa2, 0x59, 0x8b, 0xb6, 0x1c, 0x41, 0xab, 0xf0, 0x4e, 0x9a, 0x63, 0x69, 0xf2, 0xa8, 0xc4, + 0xcd, 0x1b, 0xe2, 0xf9, 0x12, 0x56, 0xf2, 0x97, 0x70, 0xfa, 0x70, 0x28, 0x69, 0x2c, 0x14, 0x65, + 0xde, 0x54, 0x07, 0xf4, 0xe6, 0xd7, 0xdb, 0xc1, 0xdf, 0x3f, 0x7c, 0xf0, 0x6a, 0x28, 0x29, 0x97, + 0xe9, 0x1b, 0x45, 0x59, 0xd4, 0x32, 0x0e, 0xb3, 0xda, 0x6c, 0x98, 0x0c, 0xfb, 0xec, 0xf4, 0xc2, + 0x07, 0x67, 0x17, 0x3e, 0xf8, 0x71, 0xe1, 0x83, 0x2f, 0x97, 0x7e, 0xed, 0xec, 0xd2, 0xaf, 0x7d, + 0xbf, 0xf4, 0x6b, 0xef, 0x5e, 0xa7, 0xbc, 0x38, 0x1a, 0x26, 0x01, 0x51, 0x22, 0xdc, 0xab, 0x9a, + 0xee, 0xe3, 0x44, 0x87, 0x93, 0x2d, 0x56, 0x89, 0xca, 0xd9, 0xcd, 0xd7, 0x23, 0xcc, 0x65, 0x28, + 0x14, 0x1d, 0x66, 0x4c, 0x97, 0xb7, 0xc2, 0xde, 0xa2, 0xa4, 0x69, 0x2f, 0xc4, 0xc6, 0x9f, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x2d, 0xc0, 0xef, 0x9c, 0xb0, 0x03, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { @@ -273,6 +289,9 @@ func (this *Params) Equal(that interface{}) bool { if this.MinGasPrice != that1.MinGasPrice { return false } + if !this.RegisterContractAccess.Equal(&that1.RegisterContractAccess) { + return false + } return true } func (this *RegisteredContract) Equal(that interface{}) bool { @@ -337,6 +356,16 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + { + size, err := m.RegisterContractAccess.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintWasmx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a if m.MinGasPrice != 0 { i = encodeVarintWasmx(dAtA, i, uint64(m.MinGasPrice)) i-- @@ -461,6 +490,8 @@ func (m *Params) Size() (n int) { if m.MinGasPrice != 0 { n += 1 + sovWasmx(uint64(m.MinGasPrice)) } + l = m.RegisterContractAccess.Size() + n += 1 + l + sovWasmx(uint64(l)) return n } @@ -608,6 +639,39 @@ func (m *Params) Unmarshal(dAtA []byte) error { break } } + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RegisterContractAccess", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasmx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthWasmx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthWasmx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.RegisterContractAccess.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipWasmx(dAtA[iNdEx:]) diff --git a/client/chain/chain.go b/client/chain/chain.go index 1a35c5a0..092285b5 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -2,6 +2,7 @@ package chain import ( "context" + sdkmath "cosmossdk.io/math" "encoding/base64" "encoding/hex" "encoding/json" @@ -13,7 +14,7 @@ import ( "sync/atomic" "time" - "github.com/cosmos/cosmos-sdk/client/grpc/tmservice" + "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice" distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" @@ -37,10 +38,10 @@ import ( authztypes "github.com/cosmos/cosmos-sdk/x/authz" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" "github.com/cosmos/gogoproto/proto" - ibctransfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" - ibcclienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" - ibcconnectiontypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" - ibcchanneltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + ibctransfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" + ibcclienttypes "github.com/cosmos/ibc-go/v8/modules/core/02-client/types" + ibcconnectiontypes "github.com/cosmos/ibc-go/v8/modules/core/03-connection/types" + ibcchanneltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" eth "github.com/ethereum/go-ethereum/common" "github.com/pkg/errors" "github.com/shopspring/decimal" @@ -195,7 +196,7 @@ type ChainClient interface { FetchChainSpotMarket(ctx context.Context, marketId string) (*exchangetypes.QuerySpotMarketResponse, error) FetchChainFullSpotMarkets(ctx context.Context, status string, marketIds []string, withMidPriceAndTob bool) (*exchangetypes.QueryFullSpotMarketsResponse, error) FetchChainFullSpotMarket(ctx context.Context, marketId string, withMidPriceAndTob bool) (*exchangetypes.QueryFullSpotMarketResponse, error) - FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional sdk.Dec, limitCumulativeQuantity sdk.Dec) (*exchangetypes.QuerySpotOrderbookResponse, error) + FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional sdkmath.LegacyDec, limitCumulativeQuantity sdkmath.LegacyDec) (*exchangetypes.QuerySpotOrderbookResponse, error) FetchChainTraderSpotOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) FetchChainAccountAddressSpotOrders(ctx context.Context, marketId string, address string) (*exchangetypes.QueryAccountAddressSpotOrdersResponse, error) FetchChainSpotOrdersByHashes(ctx context.Context, marketId string, subaccountId string, orderHashes []string) (*exchangetypes.QuerySpotOrdersByHashesResponse, error) @@ -203,7 +204,7 @@ type ChainClient interface { FetchChainTraderSpotTransientOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) FetchSpotMidPriceAndTOB(ctx context.Context, marketId string) (*exchangetypes.QuerySpotMidPriceAndTOBResponse, error) FetchDerivativeMidPriceAndTOB(ctx context.Context, marketId string) (*exchangetypes.QueryDerivativeMidPriceAndTOBResponse, error) - FetchChainDerivativeOrderbook(ctx context.Context, marketId string, limit uint64, limitCumulativeNotional sdk.Dec) (*exchangetypes.QueryDerivativeOrderbookResponse, error) + FetchChainDerivativeOrderbook(ctx context.Context, marketId string, limit uint64, limitCumulativeNotional sdkmath.LegacyDec) (*exchangetypes.QueryDerivativeOrderbookResponse, error) FetchChainTraderDerivativeOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) FetchChainAccountAddressDerivativeOrders(ctx context.Context, marketId string, address string) (*exchangetypes.QueryAccountAddressDerivativeOrdersResponse, error) FetchChainDerivativeOrdersByHashes(ctx context.Context, marketId string, subaccountId string, orderHashes []string) (*exchangetypes.QueryDerivativeOrdersByHashesResponse, error) @@ -239,13 +240,13 @@ type ChainClient interface { FetchMarketAtomicExecutionFeeMultiplier(ctx context.Context, marketId string) (*exchangetypes.QueryMarketAtomicExecutionFeeMultiplierResponse, error) // Tendermint module - FetchNodeInfo(ctx context.Context) (*tmservice.GetNodeInfoResponse, error) - FetchSyncing(ctx context.Context) (*tmservice.GetSyncingResponse, error) - FetchLatestBlock(ctx context.Context) (*tmservice.GetLatestBlockResponse, error) - FetchBlockByHeight(ctx context.Context, height int64) (*tmservice.GetBlockByHeightResponse, error) - FetchLatestValidatorSet(ctx context.Context) (*tmservice.GetLatestValidatorSetResponse, error) - FetchValidatorSetByHeight(ctx context.Context, height int64, pagination *query.PageRequest) (*tmservice.GetValidatorSetByHeightResponse, error) - ABCIQuery(ctx context.Context, path string, data []byte, height int64, prove bool) (*tmservice.ABCIQueryResponse, error) + FetchNodeInfo(ctx context.Context) (*cmtservice.GetNodeInfoResponse, error) + FetchSyncing(ctx context.Context) (*cmtservice.GetSyncingResponse, error) + FetchLatestBlock(ctx context.Context) (*cmtservice.GetLatestBlockResponse, error) + FetchBlockByHeight(ctx context.Context, height int64) (*cmtservice.GetBlockByHeightResponse, error) + FetchLatestValidatorSet(ctx context.Context) (*cmtservice.GetLatestValidatorSetResponse, error) + FetchValidatorSetByHeight(ctx context.Context, height int64, pagination *query.PageRequest) (*cmtservice.GetValidatorSetByHeightResponse, error) + ABCIQuery(ctx context.Context, path string, data []byte, height int64, prove bool) (*cmtservice.ABCIQueryResponse, error) // IBC Transfer module FetchDenomTrace(ctx context.Context, hash string) (*ibctransfertypes.QueryDenomTraceResponse, error) @@ -324,7 +325,7 @@ type chainClient struct { ibcClientQueryClient ibcclienttypes.QueryClient ibcConnectionQueryClient ibcconnectiontypes.QueryClient ibcTransferQueryClient ibctransfertypes.QueryClient - tendermintQueryClient tmservice.ServiceClient + tendermintQueryClient cmtservice.ServiceClient tokenfactoryQueryClient tokenfactorytypes.QueryClient txClient txtypes.ServiceClient wasmQueryClient wasmtypes.QueryClient @@ -424,7 +425,7 @@ func NewChainClient( ibcClientQueryClient: ibcclienttypes.NewQueryClient(conn), ibcConnectionQueryClient: ibcconnectiontypes.NewQueryClient(conn), ibcTransferQueryClient: ibctransfertypes.NewQueryClient(conn), - tendermintQueryClient: tmservice.NewServiceClient(conn), + tendermintQueryClient: cmtservice.NewServiceClient(conn), tokenfactoryQueryClient: tokenfactorytypes.NewQueryClient(conn), txClient: txtypes.NewServiceClient(conn), wasmQueryClient: wasmtypes.NewQueryClient(conn), @@ -765,6 +766,7 @@ func (c *chainClient) BuildSignedTx(clientCtx client.Context, accNum, accSeq, in } func (c *chainClient) buildSignedTx(clientCtx client.Context, txf tx.Factory, msgs ...sdk.Msg) ([]byte, error) { + ctx := context.Background() if clientCtx.Simulate { simTxBytes, err := txf.BuildSimTx(msgs...) if err != nil { @@ -772,7 +774,6 @@ func (c *chainClient) buildSignedTx(clientCtx client.Context, txf tx.Factory, ms return nil, err } - ctx := context.Background() req := &txtypes.SimulateRequest{TxBytes: simTxBytes} simRes, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.txClient.Simulate, req) @@ -799,7 +800,7 @@ func (c *chainClient) buildSignedTx(clientCtx client.Context, txf tx.Factory, ms } txn.SetFeeGranter(clientCtx.GetFeeGranterAddress()) - err = tx.Sign(txf, clientCtx.GetFromName(), txn, true) + err = tx.Sign(ctx, txf, clientCtx.GetFromName(), txn, true) if err != nil { err = errors.Wrap(err, "failed to Sign Tx") return nil, err @@ -1108,7 +1109,7 @@ func (c *chainClient) CreateDerivativeOrder(defaultSubaccountID eth.Hash, d *Der orderSize := market.QuantityToChainFormat(d.Quantity) orderPrice := market.PriceToChainFormat(d.Price) - orderMargin := sdk.MustNewDecFromStr("0") + orderMargin := sdkmath.LegacyMustNewDecFromStr("0") if !d.IsReduceOnly { orderMargin = market.CalculateMarginInChainFormat(d.Quantity, d.Price, d.Leverage) @@ -1821,7 +1822,7 @@ func (c *chainClient) FetchChainFullSpotMarket(ctx context.Context, marketId str return res, err } -func (c *chainClient) FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional sdk.Dec, limitCumulativeQuantity sdk.Dec) (*exchangetypes.QuerySpotOrderbookResponse, error) { +func (c *chainClient) FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional sdkmath.LegacyDec, limitCumulativeQuantity sdkmath.LegacyDec) (*exchangetypes.QuerySpotOrderbookResponse, error) { req := &exchangetypes.QuerySpotOrderbookRequest{ MarketId: marketId, Limit: limit, @@ -1903,7 +1904,7 @@ func (c *chainClient) FetchDerivativeMidPriceAndTOB(ctx context.Context, marketI return res, err } -func (c *chainClient) FetchChainDerivativeOrderbook(ctx context.Context, marketId string, limit uint64, limitCumulativeNotional sdk.Dec) (*exchangetypes.QueryDerivativeOrderbookResponse, error) { +func (c *chainClient) FetchChainDerivativeOrderbook(ctx context.Context, marketId string, limit uint64, limitCumulativeNotional sdkmath.LegacyDec) (*exchangetypes.QueryDerivativeOrderbookResponse, error) { req := &exchangetypes.QueryDerivativeOrderbookRequest{ MarketId: marketId, Limit: limit, @@ -2213,29 +2214,29 @@ func (c *chainClient) FetchMarketAtomicExecutionFeeMultiplier(ctx context.Contex // Tendermint module -func (c *chainClient) FetchNodeInfo(ctx context.Context) (*tmservice.GetNodeInfoResponse, error) { - req := &tmservice.GetNodeInfoRequest{} +func (c *chainClient) FetchNodeInfo(ctx context.Context) (*cmtservice.GetNodeInfoResponse, error) { + req := &cmtservice.GetNodeInfoRequest{} res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tendermintQueryClient.GetNodeInfo, req) return res, err } -func (c *chainClient) FetchSyncing(ctx context.Context) (*tmservice.GetSyncingResponse, error) { - req := &tmservice.GetSyncingRequest{} +func (c *chainClient) FetchSyncing(ctx context.Context) (*cmtservice.GetSyncingResponse, error) { + req := &cmtservice.GetSyncingRequest{} res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tendermintQueryClient.GetSyncing, req) return res, err } -func (c *chainClient) FetchLatestBlock(ctx context.Context) (*tmservice.GetLatestBlockResponse, error) { - req := &tmservice.GetLatestBlockRequest{} +func (c *chainClient) FetchLatestBlock(ctx context.Context) (*cmtservice.GetLatestBlockResponse, error) { + req := &cmtservice.GetLatestBlockRequest{} res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tendermintQueryClient.GetLatestBlock, req) return res, err } -func (c *chainClient) FetchBlockByHeight(ctx context.Context, height int64) (*tmservice.GetBlockByHeightResponse, error) { - req := &tmservice.GetBlockByHeightRequest{ +func (c *chainClient) FetchBlockByHeight(ctx context.Context, height int64) (*cmtservice.GetBlockByHeightResponse, error) { + req := &cmtservice.GetBlockByHeightRequest{ Height: height, } res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tendermintQueryClient.GetBlockByHeight, req) @@ -2243,15 +2244,15 @@ func (c *chainClient) FetchBlockByHeight(ctx context.Context, height int64) (*tm return res, err } -func (c *chainClient) FetchLatestValidatorSet(ctx context.Context) (*tmservice.GetLatestValidatorSetResponse, error) { - req := &tmservice.GetLatestValidatorSetRequest{} +func (c *chainClient) FetchLatestValidatorSet(ctx context.Context) (*cmtservice.GetLatestValidatorSetResponse, error) { + req := &cmtservice.GetLatestValidatorSetRequest{} res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tendermintQueryClient.GetLatestValidatorSet, req) return res, err } -func (c *chainClient) FetchValidatorSetByHeight(ctx context.Context, height int64, pagination *query.PageRequest) (*tmservice.GetValidatorSetByHeightResponse, error) { - req := &tmservice.GetValidatorSetByHeightRequest{ +func (c *chainClient) FetchValidatorSetByHeight(ctx context.Context, height int64, pagination *query.PageRequest) (*cmtservice.GetValidatorSetByHeightResponse, error) { + req := &cmtservice.GetValidatorSetByHeightRequest{ Height: height, Pagination: pagination, } @@ -2260,8 +2261,8 @@ func (c *chainClient) FetchValidatorSetByHeight(ctx context.Context, height int6 return res, err } -func (c *chainClient) ABCIQuery(ctx context.Context, path string, data []byte, height int64, prove bool) (*tmservice.ABCIQueryResponse, error) { - req := &tmservice.ABCIQueryRequest{ +func (c *chainClient) ABCIQuery(ctx context.Context, path string, data []byte, height int64, prove bool) (*cmtservice.ABCIQueryResponse, error) { + req := &cmtservice.ABCIQueryRequest{ Path: path, Data: data, Height: height, diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index 4139697c..74140cc6 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -2,10 +2,11 @@ package chain import ( "context" + sdkmath "cosmossdk.io/math" "errors" "time" - "github.com/cosmos/cosmos-sdk/client/grpc/tmservice" + "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice" "google.golang.org/grpc" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" @@ -22,10 +23,10 @@ import ( authztypes "github.com/cosmos/cosmos-sdk/x/authz" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" - ibctransfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" - ibcclienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" - ibcconnectiontypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" - ibcchanneltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + ibctransfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" + ibcclienttypes "github.com/cosmos/ibc-go/v8/modules/core/02-client/types" + ibcconnectiontypes "github.com/cosmos/ibc-go/v8/modules/core/03-connection/types" + ibcchanneltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" eth "github.com/ethereum/go-ethereum/common" ) @@ -382,7 +383,7 @@ func (c *MockChainClient) FetchChainFullSpotMarket(ctx context.Context, marketId return &exchangetypes.QueryFullSpotMarketResponse{}, nil } -func (c *MockChainClient) FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional sdk.Dec, limitCumulativeQuantity sdk.Dec) (*exchangetypes.QuerySpotOrderbookResponse, error) { +func (c *MockChainClient) FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional sdkmath.LegacyDec, limitCumulativeQuantity sdkmath.LegacyDec) (*exchangetypes.QuerySpotOrderbookResponse, error) { return &exchangetypes.QuerySpotOrderbookResponse{}, nil } @@ -414,7 +415,7 @@ func (c *MockChainClient) FetchDerivativeMidPriceAndTOB(ctx context.Context, mar return &exchangetypes.QueryDerivativeMidPriceAndTOBResponse{}, nil } -func (c *MockChainClient) FetchChainDerivativeOrderbook(ctx context.Context, marketId string, limit uint64, limitCumulativeNotional sdk.Dec) (*exchangetypes.QueryDerivativeOrderbookResponse, error) { +func (c *MockChainClient) FetchChainDerivativeOrderbook(ctx context.Context, marketId string, limit uint64, limitCumulativeNotional sdkmath.LegacyDec) (*exchangetypes.QueryDerivativeOrderbookResponse, error) { return &exchangetypes.QueryDerivativeOrderbookResponse{}, nil } @@ -552,32 +553,32 @@ func (c *MockChainClient) FetchMarketAtomicExecutionFeeMultiplier(ctx context.Co // Tendermint module -func (c *MockChainClient) FetchNodeInfo(ctx context.Context) (*tmservice.GetNodeInfoResponse, error) { - return &tmservice.GetNodeInfoResponse{}, nil +func (c *MockChainClient) FetchNodeInfo(ctx context.Context) (*cmtservice.GetNodeInfoResponse, error) { + return &cmtservice.GetNodeInfoResponse{}, nil } -func (c *MockChainClient) FetchSyncing(ctx context.Context) (*tmservice.GetSyncingResponse, error) { - return &tmservice.GetSyncingResponse{}, nil +func (c *MockChainClient) FetchSyncing(ctx context.Context) (*cmtservice.GetSyncingResponse, error) { + return &cmtservice.GetSyncingResponse{}, nil } -func (c *MockChainClient) FetchLatestBlock(ctx context.Context) (*tmservice.GetLatestBlockResponse, error) { - return &tmservice.GetLatestBlockResponse{}, nil +func (c *MockChainClient) FetchLatestBlock(ctx context.Context) (*cmtservice.GetLatestBlockResponse, error) { + return &cmtservice.GetLatestBlockResponse{}, nil } -func (c *MockChainClient) FetchBlockByHeight(ctx context.Context, height int64) (*tmservice.GetBlockByHeightResponse, error) { - return &tmservice.GetBlockByHeightResponse{}, nil +func (c *MockChainClient) FetchBlockByHeight(ctx context.Context, height int64) (*cmtservice.GetBlockByHeightResponse, error) { + return &cmtservice.GetBlockByHeightResponse{}, nil } -func (c *MockChainClient) FetchLatestValidatorSet(ctx context.Context) (*tmservice.GetLatestValidatorSetResponse, error) { - return &tmservice.GetLatestValidatorSetResponse{}, nil +func (c *MockChainClient) FetchLatestValidatorSet(ctx context.Context) (*cmtservice.GetLatestValidatorSetResponse, error) { + return &cmtservice.GetLatestValidatorSetResponse{}, nil } -func (c *MockChainClient) FetchValidatorSetByHeight(ctx context.Context, height int64, pagination *query.PageRequest) (*tmservice.GetValidatorSetByHeightResponse, error) { - return &tmservice.GetValidatorSetByHeightResponse{}, nil +func (c *MockChainClient) FetchValidatorSetByHeight(ctx context.Context, height int64, pagination *query.PageRequest) (*cmtservice.GetValidatorSetByHeightResponse, error) { + return &cmtservice.GetValidatorSetByHeightResponse{}, nil } -func (c *MockChainClient) ABCIQuery(ctx context.Context, path string, data []byte, height int64, prove bool) (*tmservice.ABCIQueryResponse, error) { - return &tmservice.ABCIQueryResponse{}, nil +func (c *MockChainClient) ABCIQuery(ctx context.Context, path string, data []byte, height int64, prove bool) (*cmtservice.ABCIQueryResponse, error) { + return &cmtservice.ABCIQueryResponse{}, nil } // IBC Transfer module diff --git a/client/chain/context.go b/client/chain/context.go index ec54769d..5715986a 100644 --- a/client/chain/context.go +++ b/client/chain/context.go @@ -25,6 +25,9 @@ import ( chaintypes "github.com/InjectiveLabs/sdk-go/chain/types" wasmx "github.com/InjectiveLabs/sdk-go/chain/wasmx/types" + evidencetypes "cosmossdk.io/x/evidence/types" + feegranttypes "cosmossdk.io/x/feegrant" + upgradetypes "cosmossdk.io/x/upgrade/types" cosmostypes "github.com/cosmos/cosmos-sdk/types" signingtypes "github.com/cosmos/cosmos-sdk/types/tx/signing" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" @@ -33,20 +36,17 @@ import ( banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" 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" 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/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" - ibclightclienttypes "github.com/cosmos/ibc-go/v7/modules/light-clients/06-solomachine" - ibctenderminttypes "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint" + icatypes "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/types" + ibcfeetypes "github.com/cosmos/ibc-go/v8/modules/apps/29-fee/types" + ibcapplicationtypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" + ibccoretypes "github.com/cosmos/ibc-go/v8/modules/core/types" + ibclightclienttypes "github.com/cosmos/ibc-go/v8/modules/light-clients/06-solomachine" + ibctenderminttypes "github.com/cosmos/ibc-go/v8/modules/light-clients/07-tendermint" ) // NewTxConfig initializes new Cosmos TxConfig with certain signModes enabled. diff --git a/client/core/market.go b/client/core/market.go index e6f9fe88..df2151c6 100644 --- a/client/core/market.go +++ b/client/core/market.go @@ -1,8 +1,8 @@ package core import ( + sdkmath "cosmossdk.io/math" "github.com/InjectiveLabs/sdk-go/client/common" - cosmtypes "github.com/cosmos/cosmos-sdk/types" "github.com/shopspring/decimal" ) @@ -21,37 +21,37 @@ type SpotMarket struct { MinQuantityTickSize decimal.Decimal } -func (spotMarket SpotMarket) QuantityToChainFormat(humanReadableValue decimal.Decimal) cosmtypes.Dec { +func (spotMarket SpotMarket) QuantityToChainFormat(humanReadableValue decimal.Decimal) sdkmath.LegacyDec { chainFormattedValue := humanReadableValue.Mul(decimal.New(1, spotMarket.BaseToken.Decimals)) quantizedValue := chainFormattedValue.DivRound(spotMarket.MinQuantityTickSize, 0).Mul(spotMarket.MinQuantityTickSize) - valueInChainFormat, _ := cosmtypes.NewDecFromStr(quantizedValue.String()) + valueInChainFormat, _ := sdkmath.LegacyNewDecFromStr(quantizedValue.String()) return valueInChainFormat } -func (spotMarket SpotMarket) PriceToChainFormat(humanReadableValue decimal.Decimal) cosmtypes.Dec { +func (spotMarket SpotMarket) PriceToChainFormat(humanReadableValue decimal.Decimal) sdkmath.LegacyDec { decimals := spotMarket.QuoteToken.Decimals - spotMarket.BaseToken.Decimals chainFormattedValue := humanReadableValue.Mul(decimal.New(1, decimals)) quantizedValue := chainFormattedValue.DivRound(spotMarket.MinPriceTickSize, 0).Mul(spotMarket.MinPriceTickSize) - valueInChainFormat, _ := cosmtypes.NewDecFromStr(quantizedValue.String()) + valueInChainFormat, _ := sdkmath.LegacyNewDecFromStr(quantizedValue.String()) return valueInChainFormat } -func (spotMarket SpotMarket) QuantityFromChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (spotMarket SpotMarket) QuantityFromChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { return decimal.RequireFromString(chainValue.String()).Div(decimal.New(1, spotMarket.BaseToken.Decimals)) } -func (spotMarket SpotMarket) PriceFromChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (spotMarket SpotMarket) PriceFromChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { decimals := spotMarket.BaseToken.Decimals - spotMarket.QuoteToken.Decimals return decimal.RequireFromString(chainValue.String()).Mul(decimal.New(1, decimals)) } -func (spotMarket SpotMarket) QuantityFromExtendedChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (spotMarket SpotMarket) QuantityFromExtendedChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { return common.RemoveExtraDecimals(spotMarket.QuantityFromChainFormat(chainValue), AdditionalChainFormatDecimals) } -func (spotMarket SpotMarket) PriceFromExtendedChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (spotMarket SpotMarket) PriceFromExtendedChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { return common.RemoveExtraDecimals(spotMarket.PriceFromChainFormat(chainValue), AdditionalChainFormatDecimals) } @@ -73,33 +73,33 @@ type DerivativeMarket struct { MinQuantityTickSize decimal.Decimal } -func (derivativeMarket DerivativeMarket) QuantityToChainFormat(humanReadableValue decimal.Decimal) cosmtypes.Dec { +func (derivativeMarket DerivativeMarket) QuantityToChainFormat(humanReadableValue decimal.Decimal) sdkmath.LegacyDec { chainFormattedValue := humanReadableValue quantizedValue := chainFormattedValue.DivRound(derivativeMarket.MinQuantityTickSize, 0).Mul(derivativeMarket.MinQuantityTickSize) - valueInChainFormat, _ := cosmtypes.NewDecFromStr(quantizedValue.String()) + valueInChainFormat, _ := sdkmath.LegacyNewDecFromStr(quantizedValue.String()) return valueInChainFormat } -func (derivativeMarket DerivativeMarket) PriceToChainFormat(humanReadableValue decimal.Decimal) cosmtypes.Dec { +func (derivativeMarket DerivativeMarket) PriceToChainFormat(humanReadableValue decimal.Decimal) sdkmath.LegacyDec { decimals := derivativeMarket.QuoteToken.Decimals chainFormattedValue := humanReadableValue.Mul(decimal.New(1, decimals)) quantizedValue := chainFormattedValue.DivRound(derivativeMarket.MinPriceTickSize, 0).Mul(derivativeMarket.MinPriceTickSize) - valueInChainFormat, _ := cosmtypes.NewDecFromStr(quantizedValue.String()) + valueInChainFormat, _ := sdkmath.LegacyNewDecFromStr(quantizedValue.String()) return valueInChainFormat } -func (derivativeMarket DerivativeMarket) MarginToChainFormat(humanReadableValue decimal.Decimal) cosmtypes.Dec { +func (derivativeMarket DerivativeMarket) MarginToChainFormat(humanReadableValue decimal.Decimal) sdkmath.LegacyDec { decimals := derivativeMarket.QuoteToken.Decimals chainFormattedValue := humanReadableValue.Mul(decimal.New(1, decimals)) quantizedValue := chainFormattedValue.DivRound(derivativeMarket.MinQuantityTickSize, 0).Mul(derivativeMarket.MinQuantityTickSize) - valueInChainFormat, _ := cosmtypes.NewDecFromStr(quantizedValue.String()) + valueInChainFormat, _ := sdkmath.LegacyNewDecFromStr(quantizedValue.String()) return valueInChainFormat } -func (derivativeMarket DerivativeMarket) CalculateMarginInChainFormat(humanReadableQuantity decimal.Decimal, humanReadablePrice decimal.Decimal, leverage decimal.Decimal) cosmtypes.Dec { +func (derivativeMarket DerivativeMarket) CalculateMarginInChainFormat(humanReadableQuantity decimal.Decimal, humanReadablePrice decimal.Decimal, leverage decimal.Decimal) sdkmath.LegacyDec { chainFormattedQuantity := humanReadableQuantity chainFormattedPrice := humanReadablePrice.Mul(decimal.New(1, derivativeMarket.QuoteToken.Decimals)) @@ -107,33 +107,33 @@ func (derivativeMarket DerivativeMarket) CalculateMarginInChainFormat(humanReada // We are using the min_quantity_tick_size to quantize the margin because that is the way margin is validated // in the chain (it might be changed to a min_notional in the future) quantizedMargin := margin.DivRound(derivativeMarket.MinQuantityTickSize, 0).Mul(derivativeMarket.MinQuantityTickSize) - valueInChainFormat, _ := cosmtypes.NewDecFromStr(quantizedMargin.String()) + valueInChainFormat, _ := sdkmath.LegacyNewDecFromStr(quantizedMargin.String()) return valueInChainFormat } -func (derivativeMarket DerivativeMarket) QuantityFromChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (derivativeMarket DerivativeMarket) QuantityFromChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { return decimal.RequireFromString(chainValue.String()) } -func (derivativeMarket DerivativeMarket) PriceFromChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (derivativeMarket DerivativeMarket) PriceFromChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { decimals := -derivativeMarket.QuoteToken.Decimals return decimal.RequireFromString(chainValue.String()).Mul(decimal.New(1, decimals)) } -func (derivativeMarket DerivativeMarket) MarginFromChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (derivativeMarket DerivativeMarket) MarginFromChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { decimals := -derivativeMarket.QuoteToken.Decimals return decimal.RequireFromString(chainValue.String()).Mul(decimal.New(1, decimals)) } -func (derivativeMarket DerivativeMarket) QuantityFromExtendedChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (derivativeMarket DerivativeMarket) QuantityFromExtendedChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { return common.RemoveExtraDecimals(derivativeMarket.QuantityFromChainFormat(chainValue), AdditionalChainFormatDecimals) } -func (derivativeMarket DerivativeMarket) PriceFromExtendedChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (derivativeMarket DerivativeMarket) PriceFromExtendedChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { return common.RemoveExtraDecimals(derivativeMarket.PriceFromChainFormat(chainValue), AdditionalChainFormatDecimals) } -func (derivativeMarket DerivativeMarket) MarginFromExtendedChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (derivativeMarket DerivativeMarket) MarginFromExtendedChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { return common.RemoveExtraDecimals(derivativeMarket.MarginFromChainFormat(chainValue), AdditionalChainFormatDecimals) } diff --git a/client/core/market_test.go b/client/core/market_test.go index d80b246a..bbe37e70 100644 --- a/client/core/market_test.go +++ b/client/core/market_test.go @@ -1,9 +1,9 @@ package core import ( + sdkmath "cosmossdk.io/math" "testing" - "github.com/cosmos/cosmos-sdk/types" "github.com/huandu/go-assert" "github.com/shopspring/decimal" ) @@ -73,7 +73,7 @@ func TestConvertQuantityToChainFormatForSpotMarket(t *testing.T) { chainValue := spotMarket.QuantityToChainFormat(originalQuantity) expectedValue := originalQuantity.Mul(decimal.New(1, spotMarket.BaseToken.Decimals)) quantizedValue := expectedValue.DivRound(spotMarket.MinQuantityTickSize, 0).Mul(spotMarket.MinQuantityTickSize) - quantizedChainFormatValue := types.MustNewDecFromStr(quantizedValue.String()) + quantizedChainFormatValue := sdkmath.LegacyMustNewDecFromStr(quantizedValue.String()) assert.Assert(t, quantizedChainFormatValue.Equal(chainValue)) } @@ -86,7 +86,7 @@ func TestConvertPriceToChainFormatForSpotMarket(t *testing.T) { priceDecimals := spotMarket.QuoteToken.Decimals - spotMarket.BaseToken.Decimals expectedValue := originalPrice.Mul(decimal.New(1, priceDecimals)) quantizedValue := expectedValue.DivRound(spotMarket.MinPriceTickSize, 0).Mul(spotMarket.MinPriceTickSize) - quantizedChainFormatValue := types.MustNewDecFromStr(quantizedValue.String()) + quantizedChainFormatValue := sdkmath.LegacyMustNewDecFromStr(quantizedValue.String()) assert.Assert(t, quantizedChainFormatValue.Equal(chainValue)) } @@ -96,7 +96,7 @@ func TestConvertQuantityFromChainFormatForSpotMarket(t *testing.T) { expectedQuantity := decimal.RequireFromString("123.456") chainFormatQuantity := expectedQuantity.Mul(decimal.New(1, spotMarket.BaseToken.Decimals)) - humanReadableQuantity := spotMarket.QuantityFromChainFormat(types.MustNewDecFromStr(chainFormatQuantity.String())) + humanReadableQuantity := spotMarket.QuantityFromChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatQuantity.String())) assert.Assert(t, expectedQuantity.Equal(humanReadableQuantity)) } @@ -107,7 +107,7 @@ func TestConvertPriceFromChainFormatForSpotMarket(t *testing.T) { priceDecimals := spotMarket.QuoteToken.Decimals - spotMarket.BaseToken.Decimals chainFormatPrice := expectedPrice.Mul(decimal.New(1, priceDecimals)) - humanReadablePrice := spotMarket.PriceFromChainFormat(types.MustNewDecFromStr(chainFormatPrice.String())) + humanReadablePrice := spotMarket.PriceFromChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatPrice.String())) assert.Assert(t, expectedPrice.Equal(humanReadablePrice)) } @@ -117,7 +117,7 @@ func TestConvertQuantityFromExtendedChainFormatForSpotMarket(t *testing.T) { expectedQuantity := decimal.RequireFromString("123.456") chainFormatQuantity := expectedQuantity.Mul(decimal.New(1, spotMarket.BaseToken.Decimals)).Mul(decimal.New(1, AdditionalChainFormatDecimals)) - humanReadableQuantity := spotMarket.QuantityFromExtendedChainFormat(types.MustNewDecFromStr(chainFormatQuantity.String())) + humanReadableQuantity := spotMarket.QuantityFromExtendedChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatQuantity.String())) assert.Assert(t, expectedQuantity.Equal(humanReadableQuantity)) } @@ -128,7 +128,7 @@ func TestConvertPriceFromExtendedChainFormatForSpotMarket(t *testing.T) { priceDecimals := spotMarket.QuoteToken.Decimals - spotMarket.BaseToken.Decimals chainFormatPrice := expectedPrice.Mul(decimal.New(1, priceDecimals)).Mul(decimal.New(1, AdditionalChainFormatDecimals)) - humanReadablePrice := spotMarket.PriceFromExtendedChainFormat(types.MustNewDecFromStr(chainFormatPrice.String())) + humanReadablePrice := spotMarket.PriceFromExtendedChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatPrice.String())) assert.Assert(t, expectedPrice.Equal(humanReadablePrice)) } @@ -141,7 +141,7 @@ func TestConvertQuantityToChainFormatForDerivativeMarket(t *testing.T) { chainValue := derivativeMarket.QuantityToChainFormat(originalQuantity) quantizedValue := originalQuantity.DivRound(derivativeMarket.MinQuantityTickSize, 0).Mul(derivativeMarket.MinQuantityTickSize) - quantizedChainFormatValue := types.MustNewDecFromStr(quantizedValue.String()) + quantizedChainFormatValue := sdkmath.LegacyMustNewDecFromStr(quantizedValue.String()) assert.Assert(t, quantizedChainFormatValue.Equal(chainValue)) } @@ -154,7 +154,7 @@ func TestConvertPriceToChainFormatForDerivativeMarket(t *testing.T) { priceDecimals := derivativeMarket.QuoteToken.Decimals expectedValue := originalPrice.Mul(decimal.New(1, priceDecimals)) quantizedValue := expectedValue.DivRound(derivativeMarket.MinPriceTickSize, 0).Mul(derivativeMarket.MinPriceTickSize) - quantizedChainFormatValue := types.MustNewDecFromStr(quantizedValue.String()) + quantizedChainFormatValue := sdkmath.LegacyMustNewDecFromStr(quantizedValue.String()) assert.Assert(t, quantizedChainFormatValue.Equal(chainValue)) } @@ -167,7 +167,7 @@ func TestConvertMarginToChainFormatForDerivativeMarket(t *testing.T) { marginDecimals := derivativeMarket.QuoteToken.Decimals expectedValue := originalPrice.Mul(decimal.New(1, marginDecimals)) quantizedValue := expectedValue.DivRound(derivativeMarket.MinQuantityTickSize, 0).Mul(derivativeMarket.MinQuantityTickSize) - quantizedChainFormatValue := types.MustNewDecFromStr(quantizedValue.String()) + quantizedChainFormatValue := sdkmath.LegacyMustNewDecFromStr(quantizedValue.String()) assert.Assert(t, quantizedChainFormatValue.Equal(chainValue)) } @@ -182,7 +182,7 @@ func TestCalculateMarginInChainFormatForDerivativeMarket(t *testing.T) { decimals := derivativeMarket.QuoteToken.Decimals expectedValue := originalQuantity.Mul(originalPrice).Div(originalLeverage).Mul(decimal.New(1, decimals)) quantizedValue := expectedValue.DivRound(derivativeMarket.MinQuantityTickSize, 0).Mul(derivativeMarket.MinQuantityTickSize) - legacyDecimalQuantizedValue := types.MustNewDecFromStr(quantizedValue.String()) + legacyDecimalQuantizedValue := sdkmath.LegacyMustNewDecFromStr(quantizedValue.String()) assert.Assert(t, chainValue.Equal(legacyDecimalQuantizedValue)) } @@ -192,7 +192,7 @@ func TestConvertQuantityFromChainFormatForDerivativeMarket(t *testing.T) { expectedQuantity := decimal.RequireFromString("123.456") chainFormatQuantity := expectedQuantity - humanReadableQuantity := derivativeMarket.QuantityFromChainFormat(types.MustNewDecFromStr(chainFormatQuantity.String())) + humanReadableQuantity := derivativeMarket.QuantityFromChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatQuantity.String())) assert.Assert(t, expectedQuantity.Equal(humanReadableQuantity)) } @@ -203,7 +203,7 @@ func TestConvertPriceFromChainFormatForDerivativeMarket(t *testing.T) { priceDecimals := derivativeMarket.QuoteToken.Decimals chainFormatPrice := expectedPrice.Mul(decimal.New(1, priceDecimals)) - humanReadablePrice := derivativeMarket.PriceFromChainFormat(types.MustNewDecFromStr(chainFormatPrice.String())) + humanReadablePrice := derivativeMarket.PriceFromChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatPrice.String())) assert.Assert(t, expectedPrice.Equal(humanReadablePrice)) } @@ -214,7 +214,7 @@ func TestConvertMarginFromChainFormatForDerivativeMarket(t *testing.T) { marginDecimals := derivativeMarket.QuoteToken.Decimals chainFormatMargin := expectedMargin.Mul(decimal.New(1, marginDecimals)) - humanReadablePrice := derivativeMarket.MarginFromChainFormat(types.MustNewDecFromStr(chainFormatMargin.String())) + humanReadablePrice := derivativeMarket.MarginFromChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatMargin.String())) assert.Assert(t, expectedMargin.Equal(humanReadablePrice)) } @@ -224,7 +224,7 @@ func TestConvertQuantityFromExtendedChainFormatForDerivativeMarket(t *testing.T) expectedQuantity := decimal.RequireFromString("123.456") chainFormatQuantity := expectedQuantity.Mul(decimal.New(1, AdditionalChainFormatDecimals)) - humanReadableQuantity := derivativeMarket.QuantityFromExtendedChainFormat(types.MustNewDecFromStr(chainFormatQuantity.String())) + humanReadableQuantity := derivativeMarket.QuantityFromExtendedChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatQuantity.String())) assert.Assert(t, expectedQuantity.Equal(humanReadableQuantity)) } @@ -235,7 +235,7 @@ func TestConvertPriceFromExtendedChainFormatForDerivativeMarket(t *testing.T) { priceDecimals := derivativeMarket.QuoteToken.Decimals chainFormatPrice := expectedPrice.Mul(decimal.New(1, priceDecimals)).Mul(decimal.New(1, AdditionalChainFormatDecimals)) - humanReadablePrice := derivativeMarket.PriceFromExtendedChainFormat(types.MustNewDecFromStr(chainFormatPrice.String())) + humanReadablePrice := derivativeMarket.PriceFromExtendedChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatPrice.String())) assert.Assert(t, expectedPrice.Equal(humanReadablePrice)) } @@ -246,7 +246,7 @@ func TestConvertMarginFromExtendedChainFormatForDerivativeMarket(t *testing.T) { marginDecimals := derivativeMarket.QuoteToken.Decimals chainFormatMargin := expectedMargin.Mul(decimal.New(1, marginDecimals)).Mul(decimal.New(1, AdditionalChainFormatDecimals)) - humanReadablePrice := derivativeMarket.MarginFromExtendedChainFormat(types.MustNewDecFromStr(chainFormatMargin.String())) + humanReadablePrice := derivativeMarket.MarginFromExtendedChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatMargin.String())) assert.Assert(t, expectedMargin.Equal(humanReadablePrice)) } diff --git a/examples/chain/ibc/transfer/1_MsgTransfer/example.go b/examples/chain/ibc/transfer/1_MsgTransfer/example.go index 49d137ca..c08689e4 100644 --- a/examples/chain/ibc/transfer/1_MsgTransfer/example.go +++ b/examples/chain/ibc/transfer/1_MsgTransfer/example.go @@ -11,8 +11,8 @@ import ( chainclient "github.com/InjectiveLabs/sdk-go/client/chain" rpchttp "github.com/cometbft/cometbft/rpc/client/http" sdktypes "github.com/cosmos/cosmos-sdk/types" - ibctransfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" - ibccoretypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" + ibctransfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" + ibccoretypes "github.com/cosmos/ibc-go/v8/modules/core/02-client/types" ) func main() { diff --git a/examples/chain/ibc/transfer/query/1_DenomTrace/example.go b/examples/chain/ibc/transfer/query/1_DenomTrace/example.go index 7653f19a..1e13e8c6 100644 --- a/examples/chain/ibc/transfer/query/1_DenomTrace/example.go +++ b/examples/chain/ibc/transfer/query/1_DenomTrace/example.go @@ -5,7 +5,7 @@ import ( "encoding/json" "fmt" - "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" "github.com/InjectiveLabs/sdk-go/client" diff --git a/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.pb.go b/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.pb.go new file mode 100644 index 00000000..d68f07d1 --- /dev/null +++ b/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.pb.go @@ -0,0 +1,5333 @@ +// Code generated with goa v3.7.0, DO NOT EDIT. +// +// InjectiveAccountsRPC protocol buffer definition +// +// Command: +// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc v4.25.3 +// source: goadesign_goagen_injective_accounts_rpc.proto + +package injective_accounts_rpcpb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type PortfolioRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *PortfolioRequest) Reset() { + *x = PortfolioRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortfolioRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortfolioRequest) ProtoMessage() {} + +func (x *PortfolioRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortfolioRequest.ProtoReflect.Descriptor instead. +func (*PortfolioRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{0} +} + +func (x *PortfolioRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type PortfolioResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The portfolio of this account + Portfolio *AccountPortfolio `protobuf:"bytes,1,opt,name=portfolio,proto3" json:"portfolio,omitempty"` +} + +func (x *PortfolioResponse) Reset() { + *x = PortfolioResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortfolioResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortfolioResponse) ProtoMessage() {} + +func (x *PortfolioResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortfolioResponse.ProtoReflect.Descriptor instead. +func (*PortfolioResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{1} +} + +func (x *PortfolioResponse) GetPortfolio() *AccountPortfolio { + if x != nil { + return x.Portfolio + } + return nil +} + +type AccountPortfolio struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The account's portfolio value in USD. + PortfolioValue string `protobuf:"bytes,1,opt,name=portfolio_value,json=portfolioValue,proto3" json:"portfolio_value,omitempty"` + // The account's available balance value in USD. + AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` + // The account's locked balance value in USD. + LockedBalance string `protobuf:"bytes,3,opt,name=locked_balance,json=lockedBalance,proto3" json:"locked_balance,omitempty"` + // The account's total unrealized PnL value in USD. + UnrealizedPnl string `protobuf:"bytes,4,opt,name=unrealized_pnl,json=unrealizedPnl,proto3" json:"unrealized_pnl,omitempty"` + // List of all subaccounts' portfolio + Subaccounts []*SubaccountPortfolio `protobuf:"bytes,5,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` +} + +func (x *AccountPortfolio) Reset() { + *x = AccountPortfolio{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountPortfolio) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountPortfolio) ProtoMessage() {} + +func (x *AccountPortfolio) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountPortfolio.ProtoReflect.Descriptor instead. +func (*AccountPortfolio) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{2} +} + +func (x *AccountPortfolio) GetPortfolioValue() string { + if x != nil { + return x.PortfolioValue + } + return "" +} + +func (x *AccountPortfolio) GetAvailableBalance() string { + if x != nil { + return x.AvailableBalance + } + return "" +} + +func (x *AccountPortfolio) GetLockedBalance() string { + if x != nil { + return x.LockedBalance + } + return "" +} + +func (x *AccountPortfolio) GetUnrealizedPnl() string { + if x != nil { + return x.UnrealizedPnl + } + return "" +} + +func (x *AccountPortfolio) GetSubaccounts() []*SubaccountPortfolio { + if x != nil { + return x.Subaccounts + } + return nil +} + +type SubaccountPortfolio struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of this subaccount + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The subaccount's available balance value in USD. + AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` + // The subaccount's locked balance value in USD. + LockedBalance string `protobuf:"bytes,3,opt,name=locked_balance,json=lockedBalance,proto3" json:"locked_balance,omitempty"` + // The subaccount's total unrealized PnL value in USD. + UnrealizedPnl string `protobuf:"bytes,4,opt,name=unrealized_pnl,json=unrealizedPnl,proto3" json:"unrealized_pnl,omitempty"` +} + +func (x *SubaccountPortfolio) Reset() { + *x = SubaccountPortfolio{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountPortfolio) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountPortfolio) ProtoMessage() {} + +func (x *SubaccountPortfolio) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountPortfolio.ProtoReflect.Descriptor instead. +func (*SubaccountPortfolio) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{3} +} + +func (x *SubaccountPortfolio) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountPortfolio) GetAvailableBalance() string { + if x != nil { + return x.AvailableBalance + } + return "" +} + +func (x *SubaccountPortfolio) GetLockedBalance() string { + if x != nil { + return x.LockedBalance + } + return "" +} + +func (x *SubaccountPortfolio) GetUnrealizedPnl() string { + if x != nil { + return x.UnrealizedPnl + } + return "" +} + +type OrderStatesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SpotOrderHashes []string `protobuf:"bytes,1,rep,name=spot_order_hashes,json=spotOrderHashes,proto3" json:"spot_order_hashes,omitempty"` + DerivativeOrderHashes []string `protobuf:"bytes,2,rep,name=derivative_order_hashes,json=derivativeOrderHashes,proto3" json:"derivative_order_hashes,omitempty"` +} + +func (x *OrderStatesRequest) Reset() { + *x = OrderStatesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderStatesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderStatesRequest) ProtoMessage() {} + +func (x *OrderStatesRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderStatesRequest.ProtoReflect.Descriptor instead. +func (*OrderStatesRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{4} +} + +func (x *OrderStatesRequest) GetSpotOrderHashes() []string { + if x != nil { + return x.SpotOrderHashes + } + return nil +} + +func (x *OrderStatesRequest) GetDerivativeOrderHashes() []string { + if x != nil { + return x.DerivativeOrderHashes + } + return nil +} + +type OrderStatesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of the spot order state records + SpotOrderStates []*OrderStateRecord `protobuf:"bytes,1,rep,name=spot_order_states,json=spotOrderStates,proto3" json:"spot_order_states,omitempty"` + // List of the derivative order state records + DerivativeOrderStates []*OrderStateRecord `protobuf:"bytes,2,rep,name=derivative_order_states,json=derivativeOrderStates,proto3" json:"derivative_order_states,omitempty"` +} + +func (x *OrderStatesResponse) Reset() { + *x = OrderStatesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderStatesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderStatesResponse) ProtoMessage() {} + +func (x *OrderStatesResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderStatesResponse.ProtoReflect.Descriptor instead. +func (*OrderStatesResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{5} +} + +func (x *OrderStatesResponse) GetSpotOrderStates() []*OrderStateRecord { + if x != nil { + return x.SpotOrderStates + } + return nil +} + +func (x *OrderStatesResponse) GetDerivativeOrderStates() []*OrderStateRecord { + if x != nil { + return x.DerivativeOrderStates + } + return nil +} + +type OrderStateRecord struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The Market ID of the order + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The type of the order + OrderType string `protobuf:"bytes,4,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` + // The side of the order + OrderSide string `protobuf:"bytes,5,opt,name=order_side,json=orderSide,proto3" json:"order_side,omitempty"` + // The state (status) of the order + State string `protobuf:"bytes,6,opt,name=state,proto3" json:"state,omitempty"` + // The filled quantity of the order + QuantityFilled string `protobuf:"bytes,7,opt,name=quantity_filled,json=quantityFilled,proto3" json:"quantity_filled,omitempty"` + // The filled quantity of the order + QuantityRemaining string `protobuf:"bytes,8,opt,name=quantity_remaining,json=quantityRemaining,proto3" json:"quantity_remaining,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Order prices + Price string `protobuf:"bytes,11,opt,name=price,proto3" json:"price,omitempty"` + // Margin for derivative order + Margin string `protobuf:"bytes,12,opt,name=margin,proto3" json:"margin,omitempty"` +} + +func (x *OrderStateRecord) Reset() { + *x = OrderStateRecord{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderStateRecord) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderStateRecord) ProtoMessage() {} + +func (x *OrderStateRecord) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderStateRecord.ProtoReflect.Descriptor instead. +func (*OrderStateRecord) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{6} +} + +func (x *OrderStateRecord) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *OrderStateRecord) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *OrderStateRecord) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *OrderStateRecord) GetOrderType() string { + if x != nil { + return x.OrderType + } + return "" +} + +func (x *OrderStateRecord) GetOrderSide() string { + if x != nil { + return x.OrderSide + } + return "" +} + +func (x *OrderStateRecord) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *OrderStateRecord) GetQuantityFilled() string { + if x != nil { + return x.QuantityFilled + } + return "" +} + +func (x *OrderStateRecord) GetQuantityRemaining() string { + if x != nil { + return x.QuantityRemaining + } + return "" +} + +func (x *OrderStateRecord) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *OrderStateRecord) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *OrderStateRecord) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *OrderStateRecord) GetMargin() string { + if x != nil { + return x.Margin + } + return "" +} + +type SubaccountsListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address, the subaccounts owner + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *SubaccountsListRequest) Reset() { + *x = SubaccountsListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountsListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountsListRequest) ProtoMessage() {} + +func (x *SubaccountsListRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountsListRequest.ProtoReflect.Descriptor instead. +func (*SubaccountsListRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{7} +} + +func (x *SubaccountsListRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type SubaccountsListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subaccounts []string `protobuf:"bytes,1,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` +} + +func (x *SubaccountsListResponse) Reset() { + *x = SubaccountsListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountsListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountsListResponse) ProtoMessage() {} + +func (x *SubaccountsListResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountsListResponse.ProtoReflect.Descriptor instead. +func (*SubaccountsListResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{8} +} + +func (x *SubaccountsListResponse) GetSubaccounts() []string { + if x != nil { + return x.Subaccounts + } + return nil +} + +type SubaccountBalancesListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the trades from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Filter balances by denoms. If not set, the balances of all the denoms for + // the subaccount are provided. + Denoms []string `protobuf:"bytes,2,rep,name=denoms,proto3" json:"denoms,omitempty"` +} + +func (x *SubaccountBalancesListRequest) Reset() { + *x = SubaccountBalancesListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalancesListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalancesListRequest) ProtoMessage() {} + +func (x *SubaccountBalancesListRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalancesListRequest.ProtoReflect.Descriptor instead. +func (*SubaccountBalancesListRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{9} +} + +func (x *SubaccountBalancesListRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountBalancesListRequest) GetDenoms() []string { + if x != nil { + return x.Denoms + } + return nil +} + +type SubaccountBalancesListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of subaccount balances + Balances []*SubaccountBalance `protobuf:"bytes,1,rep,name=balances,proto3" json:"balances,omitempty"` +} + +func (x *SubaccountBalancesListResponse) Reset() { + *x = SubaccountBalancesListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalancesListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalancesListResponse) ProtoMessage() {} + +func (x *SubaccountBalancesListResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalancesListResponse.ProtoReflect.Descriptor instead. +func (*SubaccountBalancesListResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{10} +} + +func (x *SubaccountBalancesListResponse) GetBalances() []*SubaccountBalance { + if x != nil { + return x.Balances + } + return nil +} + +type SubaccountBalance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Related subaccount ID + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Account address, owner of this subaccount + AccountAddress string `protobuf:"bytes,2,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // Coin denom on the chain. + Denom string `protobuf:"bytes,3,opt,name=denom,proto3" json:"denom,omitempty"` + Deposit *SubaccountDeposit `protobuf:"bytes,4,opt,name=deposit,proto3" json:"deposit,omitempty"` +} + +func (x *SubaccountBalance) Reset() { + *x = SubaccountBalance{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalance) ProtoMessage() {} + +func (x *SubaccountBalance) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalance.ProtoReflect.Descriptor instead. +func (*SubaccountBalance) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{11} +} + +func (x *SubaccountBalance) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountBalance) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *SubaccountBalance) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *SubaccountBalance) GetDeposit() *SubaccountDeposit { + if x != nil { + return x.Deposit + } + return nil +} + +type SubaccountDeposit struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TotalBalance string `protobuf:"bytes,1,opt,name=total_balance,json=totalBalance,proto3" json:"total_balance,omitempty"` + AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` +} + +func (x *SubaccountDeposit) Reset() { + *x = SubaccountDeposit{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountDeposit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountDeposit) ProtoMessage() {} + +func (x *SubaccountDeposit) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountDeposit.ProtoReflect.Descriptor instead. +func (*SubaccountDeposit) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{12} +} + +func (x *SubaccountDeposit) GetTotalBalance() string { + if x != nil { + return x.TotalBalance + } + return "" +} + +func (x *SubaccountDeposit) GetAvailableBalance() string { + if x != nil { + return x.AvailableBalance + } + return "" +} + +type SubaccountBalanceEndpointRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the trades from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Specify denom to get balance + Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` +} + +func (x *SubaccountBalanceEndpointRequest) Reset() { + *x = SubaccountBalanceEndpointRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalanceEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalanceEndpointRequest) ProtoMessage() {} + +func (x *SubaccountBalanceEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalanceEndpointRequest.ProtoReflect.Descriptor instead. +func (*SubaccountBalanceEndpointRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{13} +} + +func (x *SubaccountBalanceEndpointRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountBalanceEndpointRequest) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +type SubaccountBalanceEndpointResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Subaccount balance + Balance *SubaccountBalance `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"` +} + +func (x *SubaccountBalanceEndpointResponse) Reset() { + *x = SubaccountBalanceEndpointResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalanceEndpointResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalanceEndpointResponse) ProtoMessage() {} + +func (x *SubaccountBalanceEndpointResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalanceEndpointResponse.ProtoReflect.Descriptor instead. +func (*SubaccountBalanceEndpointResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{14} +} + +func (x *SubaccountBalanceEndpointResponse) GetBalance() *SubaccountBalance { + if x != nil { + return x.Balance + } + return nil +} + +type StreamSubaccountBalanceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the trades from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Filter balances by denoms. If not set, the balances of all the denoms for + // the subaccount are provided. + Denoms []string `protobuf:"bytes,2,rep,name=denoms,proto3" json:"denoms,omitempty"` +} + +func (x *StreamSubaccountBalanceRequest) Reset() { + *x = StreamSubaccountBalanceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamSubaccountBalanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamSubaccountBalanceRequest) ProtoMessage() {} + +func (x *StreamSubaccountBalanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamSubaccountBalanceRequest.ProtoReflect.Descriptor instead. +func (*StreamSubaccountBalanceRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{15} +} + +func (x *StreamSubaccountBalanceRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *StreamSubaccountBalanceRequest) GetDenoms() []string { + if x != nil { + return x.Denoms + } + return nil +} + +type StreamSubaccountBalanceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Subaccount balance + Balance *SubaccountBalance `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *StreamSubaccountBalanceResponse) Reset() { + *x = StreamSubaccountBalanceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamSubaccountBalanceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamSubaccountBalanceResponse) ProtoMessage() {} + +func (x *StreamSubaccountBalanceResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamSubaccountBalanceResponse.ProtoReflect.Descriptor instead. +func (*StreamSubaccountBalanceResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{16} +} + +func (x *StreamSubaccountBalanceResponse) GetBalance() *SubaccountBalance { + if x != nil { + return x.Balance + } + return nil +} + +func (x *StreamSubaccountBalanceResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type SubaccountHistoryRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the history from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Filter history by denom + Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` + // Filter history by transfer type + TransferTypes []string `protobuf:"bytes,3,rep,name=transfer_types,json=transferTypes,proto3" json:"transfer_types,omitempty"` + // Skip will skip the first n item from the result + Skip uint64 `protobuf:"varint,4,opt,name=skip,proto3" json:"skip,omitempty"` + // Limit is used to specify the maximum number of items to be returned + Limit int32 `protobuf:"zigzag32,5,opt,name=limit,proto3" json:"limit,omitempty"` + // Upper bound of account transfer history's executedAt + EndTime int64 `protobuf:"zigzag64,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` +} + +func (x *SubaccountHistoryRequest) Reset() { + *x = SubaccountHistoryRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountHistoryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountHistoryRequest) ProtoMessage() {} + +func (x *SubaccountHistoryRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountHistoryRequest.ProtoReflect.Descriptor instead. +func (*SubaccountHistoryRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{17} +} + +func (x *SubaccountHistoryRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountHistoryRequest) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *SubaccountHistoryRequest) GetTransferTypes() []string { + if x != nil { + return x.TransferTypes + } + return nil +} + +func (x *SubaccountHistoryRequest) GetSkip() uint64 { + if x != nil { + return x.Skip + } + return 0 +} + +func (x *SubaccountHistoryRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *SubaccountHistoryRequest) GetEndTime() int64 { + if x != nil { + return x.EndTime + } + return 0 +} + +type SubaccountHistoryResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of subaccount transfers + Transfers []*SubaccountBalanceTransfer `protobuf:"bytes,1,rep,name=transfers,proto3" json:"transfers,omitempty"` + Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` +} + +func (x *SubaccountHistoryResponse) Reset() { + *x = SubaccountHistoryResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountHistoryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountHistoryResponse) ProtoMessage() {} + +func (x *SubaccountHistoryResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountHistoryResponse.ProtoReflect.Descriptor instead. +func (*SubaccountHistoryResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{18} +} + +func (x *SubaccountHistoryResponse) GetTransfers() []*SubaccountBalanceTransfer { + if x != nil { + return x.Transfers + } + return nil +} + +func (x *SubaccountHistoryResponse) GetPaging() *Paging { + if x != nil { + return x.Paging + } + return nil +} + +type SubaccountBalanceTransfer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Type of the subaccount balance transfer + TransferType string `protobuf:"bytes,1,opt,name=transfer_type,json=transferType,proto3" json:"transfer_type,omitempty"` + // Subaccount ID of the sending side + SrcSubaccountId string `protobuf:"bytes,2,opt,name=src_subaccount_id,json=srcSubaccountId,proto3" json:"src_subaccount_id,omitempty"` + // Account address of the sending side + SrcAccountAddress string `protobuf:"bytes,3,opt,name=src_account_address,json=srcAccountAddress,proto3" json:"src_account_address,omitempty"` + // Subaccount ID of the receiving side + DstSubaccountId string `protobuf:"bytes,4,opt,name=dst_subaccount_id,json=dstSubaccountId,proto3" json:"dst_subaccount_id,omitempty"` + // Account address of the receiving side + DstAccountAddress string `protobuf:"bytes,5,opt,name=dst_account_address,json=dstAccountAddress,proto3" json:"dst_account_address,omitempty"` + // Coin amount of the transfer + Amount *CosmosCoin `protobuf:"bytes,6,opt,name=amount,proto3" json:"amount,omitempty"` + // Timestamp of the transfer in UNIX millis + ExecutedAt int64 `protobuf:"zigzag64,7,opt,name=executed_at,json=executedAt,proto3" json:"executed_at,omitempty"` +} + +func (x *SubaccountBalanceTransfer) Reset() { + *x = SubaccountBalanceTransfer{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalanceTransfer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalanceTransfer) ProtoMessage() {} + +func (x *SubaccountBalanceTransfer) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalanceTransfer.ProtoReflect.Descriptor instead. +func (*SubaccountBalanceTransfer) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{19} +} + +func (x *SubaccountBalanceTransfer) GetTransferType() string { + if x != nil { + return x.TransferType + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetSrcSubaccountId() string { + if x != nil { + return x.SrcSubaccountId + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetSrcAccountAddress() string { + if x != nil { + return x.SrcAccountAddress + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetDstSubaccountId() string { + if x != nil { + return x.DstSubaccountId + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetDstAccountAddress() string { + if x != nil { + return x.DstAccountAddress + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetAmount() *CosmosCoin { + if x != nil { + return x.Amount + } + return nil +} + +func (x *SubaccountBalanceTransfer) GetExecutedAt() int64 { + if x != nil { + return x.ExecutedAt + } + return 0 +} + +type CosmosCoin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Coin denominator + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + // Coin amount (big int) + Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *CosmosCoin) Reset() { + *x = CosmosCoin{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CosmosCoin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CosmosCoin) ProtoMessage() {} + +func (x *CosmosCoin) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CosmosCoin.ProtoReflect.Descriptor instead. +func (*CosmosCoin) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{20} +} + +func (x *CosmosCoin) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *CosmosCoin) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +// Paging defines the structure for required params for handling pagination +type Paging struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // total number of txs saved in database + Total int64 `protobuf:"zigzag64,1,opt,name=total,proto3" json:"total,omitempty"` + // can be either block height or index num + From int32 `protobuf:"zigzag32,2,opt,name=from,proto3" json:"from,omitempty"` + // can be either block height or index num + To int32 `protobuf:"zigzag32,3,opt,name=to,proto3" json:"to,omitempty"` + // count entries by subaccount, serving some places on helix + CountBySubaccount int64 `protobuf:"zigzag64,4,opt,name=count_by_subaccount,json=countBySubaccount,proto3" json:"count_by_subaccount,omitempty"` + // array of tokens to navigate to the next pages + Next []string `protobuf:"bytes,5,rep,name=next,proto3" json:"next,omitempty"` +} + +func (x *Paging) Reset() { + *x = Paging{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Paging) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Paging) ProtoMessage() {} + +func (x *Paging) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Paging.ProtoReflect.Descriptor instead. +func (*Paging) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{21} +} + +func (x *Paging) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *Paging) GetFrom() int32 { + if x != nil { + return x.From + } + return 0 +} + +func (x *Paging) GetTo() int32 { + if x != nil { + return x.To + } + return 0 +} + +func (x *Paging) GetCountBySubaccount() int64 { + if x != nil { + return x.CountBySubaccount + } + return 0 +} + +func (x *Paging) GetNext() []string { + if x != nil { + return x.Next + } + return nil +} + +type SubaccountOrderSummaryRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the summary from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // MarketId is limiting order summary to specific market only + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // Filter by direction of the orders + OrderDirection string `protobuf:"bytes,3,opt,name=order_direction,json=orderDirection,proto3" json:"order_direction,omitempty"` +} + +func (x *SubaccountOrderSummaryRequest) Reset() { + *x = SubaccountOrderSummaryRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountOrderSummaryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountOrderSummaryRequest) ProtoMessage() {} + +func (x *SubaccountOrderSummaryRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountOrderSummaryRequest.ProtoReflect.Descriptor instead. +func (*SubaccountOrderSummaryRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{22} +} + +func (x *SubaccountOrderSummaryRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountOrderSummaryRequest) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *SubaccountOrderSummaryRequest) GetOrderDirection() string { + if x != nil { + return x.OrderDirection + } + return "" +} + +type SubaccountOrderSummaryResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Total count of subaccount's spot orders in given market and direction + SpotOrdersTotal int64 `protobuf:"zigzag64,1,opt,name=spot_orders_total,json=spotOrdersTotal,proto3" json:"spot_orders_total,omitempty"` + // Total count of subaccount's derivative orders in given market and direction + DerivativeOrdersTotal int64 `protobuf:"zigzag64,2,opt,name=derivative_orders_total,json=derivativeOrdersTotal,proto3" json:"derivative_orders_total,omitempty"` +} + +func (x *SubaccountOrderSummaryResponse) Reset() { + *x = SubaccountOrderSummaryResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountOrderSummaryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountOrderSummaryResponse) ProtoMessage() {} + +func (x *SubaccountOrderSummaryResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountOrderSummaryResponse.ProtoReflect.Descriptor instead. +func (*SubaccountOrderSummaryResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{23} +} + +func (x *SubaccountOrderSummaryResponse) GetSpotOrdersTotal() int64 { + if x != nil { + return x.SpotOrdersTotal + } + return 0 +} + +func (x *SubaccountOrderSummaryResponse) GetDerivativeOrdersTotal() int64 { + if x != nil { + return x.DerivativeOrdersTotal + } + return 0 +} + +type RewardsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The distribution epoch sequence number. -1 for latest. + Epoch int64 `protobuf:"zigzag64,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Account address for the rewards distribution + AccountAddress string `protobuf:"bytes,2,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *RewardsRequest) Reset() { + *x = RewardsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RewardsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RewardsRequest) ProtoMessage() {} + +func (x *RewardsRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RewardsRequest.ProtoReflect.Descriptor instead. +func (*RewardsRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{24} +} + +func (x *RewardsRequest) GetEpoch() int64 { + if x != nil { + return x.Epoch + } + return 0 +} + +func (x *RewardsRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type RewardsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The trading rewards distributed + Rewards []*Reward `protobuf:"bytes,1,rep,name=rewards,proto3" json:"rewards,omitempty"` +} + +func (x *RewardsResponse) Reset() { + *x = RewardsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RewardsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RewardsResponse) ProtoMessage() {} + +func (x *RewardsResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RewardsResponse.ProtoReflect.Descriptor instead. +func (*RewardsResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{25} +} + +func (x *RewardsResponse) GetRewards() []*Reward { + if x != nil { + return x.Rewards + } + return nil +} + +type Reward struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // Reward coins distributed + Rewards []*Coin `protobuf:"bytes,2,rep,name=rewards,proto3" json:"rewards,omitempty"` + // Rewards distribution timestamp in UNIX millis. + DistributedAt int64 `protobuf:"zigzag64,3,opt,name=distributed_at,json=distributedAt,proto3" json:"distributed_at,omitempty"` +} + +func (x *Reward) Reset() { + *x = Reward{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Reward) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Reward) ProtoMessage() {} + +func (x *Reward) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Reward.ProtoReflect.Descriptor instead. +func (*Reward) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{26} +} + +func (x *Reward) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *Reward) GetRewards() []*Coin { + if x != nil { + return x.Rewards + } + return nil +} + +func (x *Reward) GetDistributedAt() int64 { + if x != nil { + return x.DistributedAt + } + return 0 +} + +type Coin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Denom of the coin + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *Coin) Reset() { + *x = Coin{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Coin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Coin) ProtoMessage() {} + +func (x *Coin) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Coin.ProtoReflect.Descriptor instead. +func (*Coin) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{27} +} + +func (x *Coin) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *Coin) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +type StreamAccountDataRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // account address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *StreamAccountDataRequest) Reset() { + *x = StreamAccountDataRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamAccountDataRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamAccountDataRequest) ProtoMessage() {} + +func (x *StreamAccountDataRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamAccountDataRequest.ProtoReflect.Descriptor instead. +func (*StreamAccountDataRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{28} +} + +func (x *StreamAccountDataRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type StreamAccountDataResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SubaccountBalance *SubaccountBalanceResult `protobuf:"bytes,1,opt,name=subaccount_balance,json=subaccountBalance,proto3" json:"subaccount_balance,omitempty"` + Position *PositionsResult `protobuf:"bytes,2,opt,name=position,proto3" json:"position,omitempty"` + Trade *TradeResult `protobuf:"bytes,3,opt,name=trade,proto3" json:"trade,omitempty"` + Order *OrderResult `protobuf:"bytes,4,opt,name=order,proto3" json:"order,omitempty"` + OrderHistory *OrderHistoryResult `protobuf:"bytes,5,opt,name=order_history,json=orderHistory,proto3" json:"order_history,omitempty"` + FundingPayment *FundingPaymentResult `protobuf:"bytes,6,opt,name=funding_payment,json=fundingPayment,proto3" json:"funding_payment,omitempty"` +} + +func (x *StreamAccountDataResponse) Reset() { + *x = StreamAccountDataResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamAccountDataResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamAccountDataResponse) ProtoMessage() {} + +func (x *StreamAccountDataResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamAccountDataResponse.ProtoReflect.Descriptor instead. +func (*StreamAccountDataResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{29} +} + +func (x *StreamAccountDataResponse) GetSubaccountBalance() *SubaccountBalanceResult { + if x != nil { + return x.SubaccountBalance + } + return nil +} + +func (x *StreamAccountDataResponse) GetPosition() *PositionsResult { + if x != nil { + return x.Position + } + return nil +} + +func (x *StreamAccountDataResponse) GetTrade() *TradeResult { + if x != nil { + return x.Trade + } + return nil +} + +func (x *StreamAccountDataResponse) GetOrder() *OrderResult { + if x != nil { + return x.Order + } + return nil +} + +func (x *StreamAccountDataResponse) GetOrderHistory() *OrderHistoryResult { + if x != nil { + return x.OrderHistory + } + return nil +} + +func (x *StreamAccountDataResponse) GetFundingPayment() *FundingPaymentResult { + if x != nil { + return x.FundingPayment + } + return nil +} + +type SubaccountBalanceResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Subaccount balance + Balance *SubaccountBalance `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *SubaccountBalanceResult) Reset() { + *x = SubaccountBalanceResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalanceResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalanceResult) ProtoMessage() {} + +func (x *SubaccountBalanceResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalanceResult.ProtoReflect.Descriptor instead. +func (*SubaccountBalanceResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{30} +} + +func (x *SubaccountBalanceResult) GetBalance() *SubaccountBalance { + if x != nil { + return x.Balance + } + return nil +} + +func (x *SubaccountBalanceResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type PositionsResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Updated derivative Position + Position *Position `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *PositionsResult) Reset() { + *x = PositionsResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PositionsResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PositionsResult) ProtoMessage() {} + +func (x *PositionsResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PositionsResult.ProtoReflect.Descriptor instead. +func (*PositionsResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{31} +} + +func (x *PositionsResult) GetPosition() *Position { + if x != nil { + return x.Position + } + return nil +} + +func (x *PositionsResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type Position struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Ticker of the derivative market + Ticker string `protobuf:"bytes,1,opt,name=ticker,proto3" json:"ticker,omitempty"` + // Derivative Market ID + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The subaccountId that the position belongs to + SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Direction of the position + Direction string `protobuf:"bytes,4,opt,name=direction,proto3" json:"direction,omitempty"` + // Quantity of the position + Quantity string `protobuf:"bytes,5,opt,name=quantity,proto3" json:"quantity,omitempty"` + // Price of the position + EntryPrice string `protobuf:"bytes,6,opt,name=entry_price,json=entryPrice,proto3" json:"entry_price,omitempty"` + // Margin of the position + Margin string `protobuf:"bytes,7,opt,name=margin,proto3" json:"margin,omitempty"` + // LiquidationPrice of the position + LiquidationPrice string `protobuf:"bytes,8,opt,name=liquidation_price,json=liquidationPrice,proto3" json:"liquidation_price,omitempty"` + // MarkPrice of the position + MarkPrice string `protobuf:"bytes,9,opt,name=mark_price,json=markPrice,proto3" json:"mark_price,omitempty"` + // Position updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Position created timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` +} + +func (x *Position) Reset() { + *x = Position{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Position) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Position) ProtoMessage() {} + +func (x *Position) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Position.ProtoReflect.Descriptor instead. +func (*Position) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{32} +} + +func (x *Position) GetTicker() string { + if x != nil { + return x.Ticker + } + return "" +} + +func (x *Position) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *Position) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *Position) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *Position) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *Position) GetEntryPrice() string { + if x != nil { + return x.EntryPrice + } + return "" +} + +func (x *Position) GetMargin() string { + if x != nil { + return x.Margin + } + return "" +} + +func (x *Position) GetLiquidationPrice() string { + if x != nil { + return x.LiquidationPrice + } + return "" +} + +func (x *Position) GetMarkPrice() string { + if x != nil { + return x.MarkPrice + } + return "" +} + +func (x *Position) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *Position) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +type TradeResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Trade: + // + // *TradeResult_SpotTrade + // *TradeResult_DerivativeTrade + Trade isTradeResult_Trade `protobuf_oneof:"trade"` + // Executed trades update type + OperationType string `protobuf:"bytes,3,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *TradeResult) Reset() { + *x = TradeResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TradeResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TradeResult) ProtoMessage() {} + +func (x *TradeResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TradeResult.ProtoReflect.Descriptor instead. +func (*TradeResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{33} +} + +func (m *TradeResult) GetTrade() isTradeResult_Trade { + if m != nil { + return m.Trade + } + return nil +} + +func (x *TradeResult) GetSpotTrade() *SpotTrade { + if x, ok := x.GetTrade().(*TradeResult_SpotTrade); ok { + return x.SpotTrade + } + return nil +} + +func (x *TradeResult) GetDerivativeTrade() *DerivativeTrade { + if x, ok := x.GetTrade().(*TradeResult_DerivativeTrade); ok { + return x.DerivativeTrade + } + return nil +} + +func (x *TradeResult) GetOperationType() string { + if x != nil { + return x.OperationType + } + return "" +} + +func (x *TradeResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type isTradeResult_Trade interface { + isTradeResult_Trade() +} + +type TradeResult_SpotTrade struct { + // New spot market trade + SpotTrade *SpotTrade `protobuf:"bytes,1,opt,name=spot_trade,json=spotTrade,proto3,oneof"` +} + +type TradeResult_DerivativeTrade struct { + // New derivative market trade + DerivativeTrade *DerivativeTrade `protobuf:"bytes,2,opt,name=derivative_trade,json=derivativeTrade,proto3,oneof"` +} + +func (*TradeResult_SpotTrade) isTradeResult_Trade() {} + +func (*TradeResult_DerivativeTrade) isTradeResult_Trade() {} + +type SpotTrade struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Maker order hash. + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The subaccountId that executed the trade + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The ID of the market that this trade is in + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The execution type of the trade + TradeExecutionType string `protobuf:"bytes,4,opt,name=trade_execution_type,json=tradeExecutionType,proto3" json:"trade_execution_type,omitempty"` + // The direction the trade + TradeDirection string `protobuf:"bytes,5,opt,name=trade_direction,json=tradeDirection,proto3" json:"trade_direction,omitempty"` + // Price level at which trade has been executed + Price *PriceLevel `protobuf:"bytes,6,opt,name=price,proto3" json:"price,omitempty"` + // The fee associated with the trade (quote asset denom) + Fee string `protobuf:"bytes,7,opt,name=fee,proto3" json:"fee,omitempty"` + // Timestamp of trade execution in UNIX millis + ExecutedAt int64 `protobuf:"zigzag64,8,opt,name=executed_at,json=executedAt,proto3" json:"executed_at,omitempty"` + // Fee recipient address + FeeRecipient string `protobuf:"bytes,9,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` + // A unique string that helps differentiate between trades + TradeId string `protobuf:"bytes,10,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` + // Trade's execution side, marker/taker + ExecutionSide string `protobuf:"bytes,11,opt,name=execution_side,json=executionSide,proto3" json:"execution_side,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,12,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *SpotTrade) Reset() { + *x = SpotTrade{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpotTrade) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpotTrade) ProtoMessage() {} + +func (x *SpotTrade) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SpotTrade.ProtoReflect.Descriptor instead. +func (*SpotTrade) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{34} +} + +func (x *SpotTrade) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *SpotTrade) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SpotTrade) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *SpotTrade) GetTradeExecutionType() string { + if x != nil { + return x.TradeExecutionType + } + return "" +} + +func (x *SpotTrade) GetTradeDirection() string { + if x != nil { + return x.TradeDirection + } + return "" +} + +func (x *SpotTrade) GetPrice() *PriceLevel { + if x != nil { + return x.Price + } + return nil +} + +func (x *SpotTrade) GetFee() string { + if x != nil { + return x.Fee + } + return "" +} + +func (x *SpotTrade) GetExecutedAt() int64 { + if x != nil { + return x.ExecutedAt + } + return 0 +} + +func (x *SpotTrade) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *SpotTrade) GetTradeId() string { + if x != nil { + return x.TradeId + } + return "" +} + +func (x *SpotTrade) GetExecutionSide() string { + if x != nil { + return x.ExecutionSide + } + return "" +} + +func (x *SpotTrade) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type PriceLevel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Price number of the price level. + Price string `protobuf:"bytes,1,opt,name=price,proto3" json:"price,omitempty"` + // Quantity of the price level. + Quantity string `protobuf:"bytes,2,opt,name=quantity,proto3" json:"quantity,omitempty"` + // Price level last updated timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *PriceLevel) Reset() { + *x = PriceLevel{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PriceLevel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PriceLevel) ProtoMessage() {} + +func (x *PriceLevel) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PriceLevel.ProtoReflect.Descriptor instead. +func (*PriceLevel) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{35} +} + +func (x *PriceLevel) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *PriceLevel) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *PriceLevel) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type DerivativeTrade struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Order hash. + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The subaccountId that executed the trade + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The ID of the market that this trade is in + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The execution type of the trade + TradeExecutionType string `protobuf:"bytes,4,opt,name=trade_execution_type,json=tradeExecutionType,proto3" json:"trade_execution_type,omitempty"` + // True if the trade is a liquidation + IsLiquidation bool `protobuf:"varint,5,opt,name=is_liquidation,json=isLiquidation,proto3" json:"is_liquidation,omitempty"` + // Position Delta from the trade + PositionDelta *PositionDelta `protobuf:"bytes,6,opt,name=position_delta,json=positionDelta,proto3" json:"position_delta,omitempty"` + // The payout associated with the trade + Payout string `protobuf:"bytes,7,opt,name=payout,proto3" json:"payout,omitempty"` + // The fee associated with the trade + Fee string `protobuf:"bytes,8,opt,name=fee,proto3" json:"fee,omitempty"` + // Timestamp of trade execution in UNIX millis + ExecutedAt int64 `protobuf:"zigzag64,9,opt,name=executed_at,json=executedAt,proto3" json:"executed_at,omitempty"` + // Fee recipient address + FeeRecipient string `protobuf:"bytes,10,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` + // A unique string that helps differentiate between trades + TradeId string `protobuf:"bytes,11,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` + // Trade's execution side, marker/taker + ExecutionSide string `protobuf:"bytes,12,opt,name=execution_side,json=executionSide,proto3" json:"execution_side,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,13,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *DerivativeTrade) Reset() { + *x = DerivativeTrade{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DerivativeTrade) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DerivativeTrade) ProtoMessage() {} + +func (x *DerivativeTrade) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DerivativeTrade.ProtoReflect.Descriptor instead. +func (*DerivativeTrade) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{36} +} + +func (x *DerivativeTrade) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *DerivativeTrade) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *DerivativeTrade) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *DerivativeTrade) GetTradeExecutionType() string { + if x != nil { + return x.TradeExecutionType + } + return "" +} + +func (x *DerivativeTrade) GetIsLiquidation() bool { + if x != nil { + return x.IsLiquidation + } + return false +} + +func (x *DerivativeTrade) GetPositionDelta() *PositionDelta { + if x != nil { + return x.PositionDelta + } + return nil +} + +func (x *DerivativeTrade) GetPayout() string { + if x != nil { + return x.Payout + } + return "" +} + +func (x *DerivativeTrade) GetFee() string { + if x != nil { + return x.Fee + } + return "" +} + +func (x *DerivativeTrade) GetExecutedAt() int64 { + if x != nil { + return x.ExecutedAt + } + return 0 +} + +func (x *DerivativeTrade) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *DerivativeTrade) GetTradeId() string { + if x != nil { + return x.TradeId + } + return "" +} + +func (x *DerivativeTrade) GetExecutionSide() string { + if x != nil { + return x.ExecutionSide + } + return "" +} + +func (x *DerivativeTrade) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type PositionDelta struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The direction the trade + TradeDirection string `protobuf:"bytes,1,opt,name=trade_direction,json=tradeDirection,proto3" json:"trade_direction,omitempty"` + // Execution Price of the trade. + ExecutionPrice string `protobuf:"bytes,2,opt,name=execution_price,json=executionPrice,proto3" json:"execution_price,omitempty"` + // Execution Quantity of the trade. + ExecutionQuantity string `protobuf:"bytes,3,opt,name=execution_quantity,json=executionQuantity,proto3" json:"execution_quantity,omitempty"` + // Execution Margin of the trade. + ExecutionMargin string `protobuf:"bytes,4,opt,name=execution_margin,json=executionMargin,proto3" json:"execution_margin,omitempty"` +} + +func (x *PositionDelta) Reset() { + *x = PositionDelta{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PositionDelta) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PositionDelta) ProtoMessage() {} + +func (x *PositionDelta) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PositionDelta.ProtoReflect.Descriptor instead. +func (*PositionDelta) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{37} +} + +func (x *PositionDelta) GetTradeDirection() string { + if x != nil { + return x.TradeDirection + } + return "" +} + +func (x *PositionDelta) GetExecutionPrice() string { + if x != nil { + return x.ExecutionPrice + } + return "" +} + +func (x *PositionDelta) GetExecutionQuantity() string { + if x != nil { + return x.ExecutionQuantity + } + return "" +} + +func (x *PositionDelta) GetExecutionMargin() string { + if x != nil { + return x.ExecutionMargin + } + return "" +} + +type OrderResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Order: + // + // *OrderResult_SpotOrder + // *OrderResult_DerivativeOrder + Order isOrderResult_Order `protobuf_oneof:"order"` + // Executed orders update type + OperationType string `protobuf:"bytes,3,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *OrderResult) Reset() { + *x = OrderResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderResult) ProtoMessage() {} + +func (x *OrderResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderResult.ProtoReflect.Descriptor instead. +func (*OrderResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{38} +} + +func (m *OrderResult) GetOrder() isOrderResult_Order { + if m != nil { + return m.Order + } + return nil +} + +func (x *OrderResult) GetSpotOrder() *SpotLimitOrder { + if x, ok := x.GetOrder().(*OrderResult_SpotOrder); ok { + return x.SpotOrder + } + return nil +} + +func (x *OrderResult) GetDerivativeOrder() *DerivativeLimitOrder { + if x, ok := x.GetOrder().(*OrderResult_DerivativeOrder); ok { + return x.DerivativeOrder + } + return nil +} + +func (x *OrderResult) GetOperationType() string { + if x != nil { + return x.OperationType + } + return "" +} + +func (x *OrderResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type isOrderResult_Order interface { + isOrderResult_Order() +} + +type OrderResult_SpotOrder struct { + // Updated spot market order + SpotOrder *SpotLimitOrder `protobuf:"bytes,1,opt,name=spot_order,json=spotOrder,proto3,oneof"` +} + +type OrderResult_DerivativeOrder struct { + // Updated derivative market order + DerivativeOrder *DerivativeLimitOrder `protobuf:"bytes,2,opt,name=derivative_order,json=derivativeOrder,proto3,oneof"` +} + +func (*OrderResult_SpotOrder) isOrderResult_Order() {} + +func (*OrderResult_DerivativeOrder) isOrderResult_Order() {} + +type SpotLimitOrder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The side of the order + OrderSide string `protobuf:"bytes,2,opt,name=order_side,json=orderSide,proto3" json:"order_side,omitempty"` + // Spot Market ID is keccak265(baseDenom + quoteDenom) + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Price of the order + Price string `protobuf:"bytes,5,opt,name=price,proto3" json:"price,omitempty"` + // Quantity of the order + Quantity string `protobuf:"bytes,6,opt,name=quantity,proto3" json:"quantity,omitempty"` + // The amount of the quantity remaining unfilled + UnfilledQuantity string `protobuf:"bytes,7,opt,name=unfilled_quantity,json=unfilledQuantity,proto3" json:"unfilled_quantity,omitempty"` + // Trigger price is the trigger price used by stop/take orders. 0 if the + // trigger price is not set. + TriggerPrice string `protobuf:"bytes,8,opt,name=trigger_price,json=triggerPrice,proto3" json:"trigger_price,omitempty"` + // Fee recipient address + FeeRecipient string `protobuf:"bytes,9,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` + // Order state + State string `protobuf:"bytes,10,opt,name=state,proto3" json:"state,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Transaction Hash where order is created. Not all orders have this field + TxHash string `protobuf:"bytes,13,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,14,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *SpotLimitOrder) Reset() { + *x = SpotLimitOrder{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpotLimitOrder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpotLimitOrder) ProtoMessage() {} + +func (x *SpotLimitOrder) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SpotLimitOrder.ProtoReflect.Descriptor instead. +func (*SpotLimitOrder) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{39} +} + +func (x *SpotLimitOrder) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *SpotLimitOrder) GetOrderSide() string { + if x != nil { + return x.OrderSide + } + return "" +} + +func (x *SpotLimitOrder) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *SpotLimitOrder) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SpotLimitOrder) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *SpotLimitOrder) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *SpotLimitOrder) GetUnfilledQuantity() string { + if x != nil { + return x.UnfilledQuantity + } + return "" +} + +func (x *SpotLimitOrder) GetTriggerPrice() string { + if x != nil { + return x.TriggerPrice + } + return "" +} + +func (x *SpotLimitOrder) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *SpotLimitOrder) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *SpotLimitOrder) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *SpotLimitOrder) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *SpotLimitOrder) GetTxHash() string { + if x != nil { + return x.TxHash + } + return "" +} + +func (x *SpotLimitOrder) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type DerivativeLimitOrder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The side of the order + OrderSide string `protobuf:"bytes,2,opt,name=order_side,json=orderSide,proto3" json:"order_side,omitempty"` + // Derivative Market ID + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // True if the order is a reduce-only order + IsReduceOnly bool `protobuf:"varint,5,opt,name=is_reduce_only,json=isReduceOnly,proto3" json:"is_reduce_only,omitempty"` + // Margin of the order + Margin string `protobuf:"bytes,6,opt,name=margin,proto3" json:"margin,omitempty"` + // Price of the order + Price string `protobuf:"bytes,7,opt,name=price,proto3" json:"price,omitempty"` + // Quantity of the order + Quantity string `protobuf:"bytes,8,opt,name=quantity,proto3" json:"quantity,omitempty"` + // The amount of the quantity remaining unfilled + UnfilledQuantity string `protobuf:"bytes,9,opt,name=unfilled_quantity,json=unfilledQuantity,proto3" json:"unfilled_quantity,omitempty"` + // Trigger price is the trigger price used by stop/take orders + TriggerPrice string `protobuf:"bytes,10,opt,name=trigger_price,json=triggerPrice,proto3" json:"trigger_price,omitempty"` + // Fee recipient address + FeeRecipient string `protobuf:"bytes,11,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` + // Order state + State string `protobuf:"bytes,12,opt,name=state,proto3" json:"state,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,13,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,14,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Order number of subaccount + OrderNumber int64 `protobuf:"zigzag64,15,opt,name=order_number,json=orderNumber,proto3" json:"order_number,omitempty"` + // Order type + OrderType string `protobuf:"bytes,16,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` + // Order type + IsConditional bool `protobuf:"varint,17,opt,name=is_conditional,json=isConditional,proto3" json:"is_conditional,omitempty"` + // Trigger timestamp, only exists for conditional orders + TriggerAt uint64 `protobuf:"varint,18,opt,name=trigger_at,json=triggerAt,proto3" json:"trigger_at,omitempty"` + // OrderHash of order that is triggered by this conditional order + PlacedOrderHash string `protobuf:"bytes,19,opt,name=placed_order_hash,json=placedOrderHash,proto3" json:"placed_order_hash,omitempty"` + // Execution type of conditional order + ExecutionType string `protobuf:"bytes,20,opt,name=execution_type,json=executionType,proto3" json:"execution_type,omitempty"` + // Transaction Hash where order is created. Not all orders have this field + TxHash string `protobuf:"bytes,21,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,22,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *DerivativeLimitOrder) Reset() { + *x = DerivativeLimitOrder{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DerivativeLimitOrder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DerivativeLimitOrder) ProtoMessage() {} + +func (x *DerivativeLimitOrder) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DerivativeLimitOrder.ProtoReflect.Descriptor instead. +func (*DerivativeLimitOrder) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{40} +} + +func (x *DerivativeLimitOrder) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *DerivativeLimitOrder) GetOrderSide() string { + if x != nil { + return x.OrderSide + } + return "" +} + +func (x *DerivativeLimitOrder) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *DerivativeLimitOrder) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *DerivativeLimitOrder) GetIsReduceOnly() bool { + if x != nil { + return x.IsReduceOnly + } + return false +} + +func (x *DerivativeLimitOrder) GetMargin() string { + if x != nil { + return x.Margin + } + return "" +} + +func (x *DerivativeLimitOrder) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *DerivativeLimitOrder) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *DerivativeLimitOrder) GetUnfilledQuantity() string { + if x != nil { + return x.UnfilledQuantity + } + return "" +} + +func (x *DerivativeLimitOrder) GetTriggerPrice() string { + if x != nil { + return x.TriggerPrice + } + return "" +} + +func (x *DerivativeLimitOrder) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *DerivativeLimitOrder) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *DerivativeLimitOrder) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *DerivativeLimitOrder) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *DerivativeLimitOrder) GetOrderNumber() int64 { + if x != nil { + return x.OrderNumber + } + return 0 +} + +func (x *DerivativeLimitOrder) GetOrderType() string { + if x != nil { + return x.OrderType + } + return "" +} + +func (x *DerivativeLimitOrder) GetIsConditional() bool { + if x != nil { + return x.IsConditional + } + return false +} + +func (x *DerivativeLimitOrder) GetTriggerAt() uint64 { + if x != nil { + return x.TriggerAt + } + return 0 +} + +func (x *DerivativeLimitOrder) GetPlacedOrderHash() string { + if x != nil { + return x.PlacedOrderHash + } + return "" +} + +func (x *DerivativeLimitOrder) GetExecutionType() string { + if x != nil { + return x.ExecutionType + } + return "" +} + +func (x *DerivativeLimitOrder) GetTxHash() string { + if x != nil { + return x.TxHash + } + return "" +} + +func (x *DerivativeLimitOrder) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type OrderHistoryResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to OrderHistory: + // + // *OrderHistoryResult_SpotOrderHistory + // *OrderHistoryResult_DerivativeOrderHistory + OrderHistory isOrderHistoryResult_OrderHistory `protobuf_oneof:"order_history"` + // Order update type + OperationType string `protobuf:"bytes,3,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *OrderHistoryResult) Reset() { + *x = OrderHistoryResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderHistoryResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderHistoryResult) ProtoMessage() {} + +func (x *OrderHistoryResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderHistoryResult.ProtoReflect.Descriptor instead. +func (*OrderHistoryResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{41} +} + +func (m *OrderHistoryResult) GetOrderHistory() isOrderHistoryResult_OrderHistory { + if m != nil { + return m.OrderHistory + } + return nil +} + +func (x *OrderHistoryResult) GetSpotOrderHistory() *SpotOrderHistory { + if x, ok := x.GetOrderHistory().(*OrderHistoryResult_SpotOrderHistory); ok { + return x.SpotOrderHistory + } + return nil +} + +func (x *OrderHistoryResult) GetDerivativeOrderHistory() *DerivativeOrderHistory { + if x, ok := x.GetOrderHistory().(*OrderHistoryResult_DerivativeOrderHistory); ok { + return x.DerivativeOrderHistory + } + return nil +} + +func (x *OrderHistoryResult) GetOperationType() string { + if x != nil { + return x.OperationType + } + return "" +} + +func (x *OrderHistoryResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type isOrderHistoryResult_OrderHistory interface { + isOrderHistoryResult_OrderHistory() +} + +type OrderHistoryResult_SpotOrderHistory struct { + // Spot order history + SpotOrderHistory *SpotOrderHistory `protobuf:"bytes,1,opt,name=spot_order_history,json=spotOrderHistory,proto3,oneof"` +} + +type OrderHistoryResult_DerivativeOrderHistory struct { + // Derivative order history + DerivativeOrderHistory *DerivativeOrderHistory `protobuf:"bytes,2,opt,name=derivative_order_history,json=derivativeOrderHistory,proto3,oneof"` +} + +func (*OrderHistoryResult_SpotOrderHistory) isOrderHistoryResult_OrderHistory() {} + +func (*OrderHistoryResult_DerivativeOrderHistory) isOrderHistoryResult_OrderHistory() {} + +type SpotOrderHistory struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // Spot Market ID is keccak265(baseDenom + quoteDenom) + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // active state of the order + IsActive bool `protobuf:"varint,3,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The execution type + ExecutionType string `protobuf:"bytes,5,opt,name=execution_type,json=executionType,proto3" json:"execution_type,omitempty"` + // The side of the order + OrderType string `protobuf:"bytes,6,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` + // Price of the order + Price string `protobuf:"bytes,7,opt,name=price,proto3" json:"price,omitempty"` + // Trigger price + TriggerPrice string `protobuf:"bytes,8,opt,name=trigger_price,json=triggerPrice,proto3" json:"trigger_price,omitempty"` + // Quantity of the order + Quantity string `protobuf:"bytes,9,opt,name=quantity,proto3" json:"quantity,omitempty"` + // Filled amount + FilledQuantity string `protobuf:"bytes,10,opt,name=filled_quantity,json=filledQuantity,proto3" json:"filled_quantity,omitempty"` + // Order state + State string `protobuf:"bytes,11,opt,name=state,proto3" json:"state,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,13,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Order direction (order side) + Direction string `protobuf:"bytes,14,opt,name=direction,proto3" json:"direction,omitempty"` + // Transaction Hash where order is created. Not all orders have this field + TxHash string `protobuf:"bytes,15,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,16,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *SpotOrderHistory) Reset() { + *x = SpotOrderHistory{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpotOrderHistory) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpotOrderHistory) ProtoMessage() {} + +func (x *SpotOrderHistory) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SpotOrderHistory.ProtoReflect.Descriptor instead. +func (*SpotOrderHistory) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{42} +} + +func (x *SpotOrderHistory) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *SpotOrderHistory) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *SpotOrderHistory) GetIsActive() bool { + if x != nil { + return x.IsActive + } + return false +} + +func (x *SpotOrderHistory) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SpotOrderHistory) GetExecutionType() string { + if x != nil { + return x.ExecutionType + } + return "" +} + +func (x *SpotOrderHistory) GetOrderType() string { + if x != nil { + return x.OrderType + } + return "" +} + +func (x *SpotOrderHistory) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *SpotOrderHistory) GetTriggerPrice() string { + if x != nil { + return x.TriggerPrice + } + return "" +} + +func (x *SpotOrderHistory) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *SpotOrderHistory) GetFilledQuantity() string { + if x != nil { + return x.FilledQuantity + } + return "" +} + +func (x *SpotOrderHistory) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *SpotOrderHistory) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *SpotOrderHistory) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *SpotOrderHistory) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *SpotOrderHistory) GetTxHash() string { + if x != nil { + return x.TxHash + } + return "" +} + +func (x *SpotOrderHistory) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type DerivativeOrderHistory struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // Spot Market ID is keccak265(baseDenom + quoteDenom) + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // active state of the order + IsActive bool `protobuf:"varint,3,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The execution type + ExecutionType string `protobuf:"bytes,5,opt,name=execution_type,json=executionType,proto3" json:"execution_type,omitempty"` + // The side of the order + OrderType string `protobuf:"bytes,6,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` + // Price of the order + Price string `protobuf:"bytes,7,opt,name=price,proto3" json:"price,omitempty"` + // Trigger price + TriggerPrice string `protobuf:"bytes,8,opt,name=trigger_price,json=triggerPrice,proto3" json:"trigger_price,omitempty"` + // Quantity of the order + Quantity string `protobuf:"bytes,9,opt,name=quantity,proto3" json:"quantity,omitempty"` + // Filled amount + FilledQuantity string `protobuf:"bytes,10,opt,name=filled_quantity,json=filledQuantity,proto3" json:"filled_quantity,omitempty"` + // Order state + State string `protobuf:"bytes,11,opt,name=state,proto3" json:"state,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,13,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // True if an order is reduce only + IsReduceOnly bool `protobuf:"varint,14,opt,name=is_reduce_only,json=isReduceOnly,proto3" json:"is_reduce_only,omitempty"` + // Order direction (order side) + Direction string `protobuf:"bytes,15,opt,name=direction,proto3" json:"direction,omitempty"` + // True if this is conditional order, otherwise false + IsConditional bool `protobuf:"varint,16,opt,name=is_conditional,json=isConditional,proto3" json:"is_conditional,omitempty"` + // Trigger timestamp in unix milli + TriggerAt uint64 `protobuf:"varint,17,opt,name=trigger_at,json=triggerAt,proto3" json:"trigger_at,omitempty"` + // Order hash placed when this triggers + PlacedOrderHash string `protobuf:"bytes,18,opt,name=placed_order_hash,json=placedOrderHash,proto3" json:"placed_order_hash,omitempty"` + // Order's margin + Margin string `protobuf:"bytes,19,opt,name=margin,proto3" json:"margin,omitempty"` + // Transaction Hash where order is created. Not all orders have this field + TxHash string `protobuf:"bytes,20,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,21,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *DerivativeOrderHistory) Reset() { + *x = DerivativeOrderHistory{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DerivativeOrderHistory) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DerivativeOrderHistory) ProtoMessage() {} + +func (x *DerivativeOrderHistory) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DerivativeOrderHistory.ProtoReflect.Descriptor instead. +func (*DerivativeOrderHistory) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{43} +} + +func (x *DerivativeOrderHistory) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *DerivativeOrderHistory) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *DerivativeOrderHistory) GetIsActive() bool { + if x != nil { + return x.IsActive + } + return false +} + +func (x *DerivativeOrderHistory) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *DerivativeOrderHistory) GetExecutionType() string { + if x != nil { + return x.ExecutionType + } + return "" +} + +func (x *DerivativeOrderHistory) GetOrderType() string { + if x != nil { + return x.OrderType + } + return "" +} + +func (x *DerivativeOrderHistory) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *DerivativeOrderHistory) GetTriggerPrice() string { + if x != nil { + return x.TriggerPrice + } + return "" +} + +func (x *DerivativeOrderHistory) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *DerivativeOrderHistory) GetFilledQuantity() string { + if x != nil { + return x.FilledQuantity + } + return "" +} + +func (x *DerivativeOrderHistory) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *DerivativeOrderHistory) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *DerivativeOrderHistory) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *DerivativeOrderHistory) GetIsReduceOnly() bool { + if x != nil { + return x.IsReduceOnly + } + return false +} + +func (x *DerivativeOrderHistory) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *DerivativeOrderHistory) GetIsConditional() bool { + if x != nil { + return x.IsConditional + } + return false +} + +func (x *DerivativeOrderHistory) GetTriggerAt() uint64 { + if x != nil { + return x.TriggerAt + } + return 0 +} + +func (x *DerivativeOrderHistory) GetPlacedOrderHash() string { + if x != nil { + return x.PlacedOrderHash + } + return "" +} + +func (x *DerivativeOrderHistory) GetMargin() string { + if x != nil { + return x.Margin + } + return "" +} + +func (x *DerivativeOrderHistory) GetTxHash() string { + if x != nil { + return x.TxHash + } + return "" +} + +func (x *DerivativeOrderHistory) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type FundingPaymentResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Funding payments of the account + FundingPayments *FundingPayment `protobuf:"bytes,1,opt,name=funding_payments,json=fundingPayments,proto3" json:"funding_payments,omitempty"` + // Funding payments type + OperationType string `protobuf:"bytes,2,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *FundingPaymentResult) Reset() { + *x = FundingPaymentResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundingPaymentResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundingPaymentResult) ProtoMessage() {} + +func (x *FundingPaymentResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FundingPaymentResult.ProtoReflect.Descriptor instead. +func (*FundingPaymentResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{44} +} + +func (x *FundingPaymentResult) GetFundingPayments() *FundingPayment { + if x != nil { + return x.FundingPayments + } + return nil +} + +func (x *FundingPaymentResult) GetOperationType() string { + if x != nil { + return x.OperationType + } + return "" +} + +func (x *FundingPaymentResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type FundingPayment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Derivative Market ID + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The subaccountId that the position belongs to + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Amount of the funding payment + Amount string `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` + // Timestamp of funding payment in UNIX millis + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *FundingPayment) Reset() { + *x = FundingPayment{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundingPayment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundingPayment) ProtoMessage() {} + +func (x *FundingPayment) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FundingPayment.ProtoReflect.Descriptor instead. +func (*FundingPayment) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{45} +} + +func (x *FundingPayment) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *FundingPayment) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *FundingPayment) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +func (x *FundingPayment) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +var File_goadesign_goagen_injective_accounts_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_accounts_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x16, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x3b, 0x0a, 0x10, 0x50, 0x6f, 0x72, 0x74, 0x66, + 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x22, 0x5b, 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, + 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x09, 0x70, 0x6f, 0x72, + 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, + 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, + 0x6f, 0x22, 0x85, 0x02, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, + 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, + 0x6c, 0x69, 0x6f, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, + 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x64, 0x5f, 0x70, 0x6e, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x75, 0x6e, 0x72, + 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x6e, 0x6c, 0x12, 0x4d, 0x0a, 0x0b, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x0b, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0xb5, 0x01, 0x0a, 0x13, 0x53, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, + 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, + 0x6b, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, + 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x70, 0x6e, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x6e, + 0x6c, 0x22, 0x78, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x70, 0x6f, 0x74, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0f, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, + 0x68, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x22, 0xcd, 0x01, 0x0a, 0x13, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0f, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x17, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x52, 0x15, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x22, 0x8b, 0x03, 0x0a, 0x10, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x2d, + 0x0a, 0x12, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x71, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x12, 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, 0x0a, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x22, 0x41, 0x0a, 0x16, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3b, 0x0a, 0x17, + 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x5c, 0x0a, 0x1d, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x22, 0x67, 0x0a, 0x1e, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x22, 0xbc, 0x01, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x43, 0x0a, 0x07, 0x64, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x07, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x22, + 0x65, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x5d, 0x0a, 0x20, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x68, 0x0a, 0x21, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, + 0x5d, 0x0a, 0x1e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x22, 0x84, + 0x01, 0x0a, 0x1f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc1, 0x01, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x25, 0x0a, + 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x19, 0x53, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x09, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x22, 0xd5, 0x02, 0x0a, 0x19, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x23, + 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x73, 0x72, 0x63, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x2e, 0x0a, 0x13, 0x73, 0x72, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x72, + 0x63, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x2a, 0x0a, 0x11, 0x64, 0x73, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x73, 0x74, 0x53, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x64, + 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x73, 0x74, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x52, + 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 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, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, + 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x22, 0x8a, 0x01, + 0x0a, 0x1d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x1e, 0x53, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, + 0x11, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0f, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x15, 0x64, 0x65, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x74, 0x61, + 0x6c, 0x22, 0x4f, 0x0a, 0x0e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x22, + 0x90, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, + 0x69, 0x6e, 0x52, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x64, + 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x22, 0x34, 0x0a, 0x04, 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, 0x43, 0x0a, 0x18, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xde, 0x03, + 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x12, 0x73, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x11, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x39, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, + 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x0d, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x55, 0x0a, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0e, + 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x7c, + 0x0a, 0x17, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x6d, 0x0a, 0x0f, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x3c, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xe1, 0x02, 0x0a, 0x08, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, + 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, + 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, + 0xf5, 0x01, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x42, 0x0a, 0x0a, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x48, 0x00, 0x52, 0x09, 0x73, 0x70, 0x6f, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x12, 0x54, 0x0a, 0x10, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x07, + 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x22, 0xad, 0x03, 0x0a, 0x09, 0x53, 0x70, 0x6f, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, 0x72, 0x61, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, + 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x38, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x66, + 0x65, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, + 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, + 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, + 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xdd, 0x03, 0x0a, 0x0f, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, 0x72, 0x61, 0x64, 0x65, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, + 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, + 0x74, 0x61, 0x52, 0x0d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, + 0x61, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, + 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x0d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x72, + 0x67, 0x69, 0x6e, 0x22, 0xff, 0x01, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, + 0x00, 0x52, 0x09, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x10, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x07, 0x0a, 0x05, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xb8, 0x03, 0x0a, 0x0e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x49, 0x64, 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, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, + 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 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, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, + 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, + 0x22, 0xd7, 0x05, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x64, 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, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, + 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, + 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x66, + 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, + 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, + 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 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, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 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, 0x0e, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, + 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, + 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, + 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xb0, 0x02, 0x0a, 0x12, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x58, 0x0a, 0x12, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x48, 0x00, 0x52, 0x10, 0x73, 0x70, 0x6f, 0x74, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x6a, 0x0a, 0x18, 0x64, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x48, 0x00, 0x52, + 0x16, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0f, 0x0a, 0x0d, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0xf3, 0x03, + 0x0a, 0x10, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, + 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1b, + 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 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, + 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, + 0x0f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, + 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, + 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, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, + 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x63, 0x69, 0x64, 0x22, 0xa9, 0x05, 0x0a, 0x16, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1d, + 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1b, 0x0a, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, + 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 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, 0x12, 0x25, 0x0a, 0x0e, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x6c, + 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, 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, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x64, + 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x69, 0x73, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1c, 0x0a, 0x09, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, + 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x74, + 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, + 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, + 0x72, 0x67, 0x69, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, + 0x03, 0x63, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, + 0xae, 0x01, 0x0a, 0x14, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x51, 0x0a, 0x10, 0x66, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x66, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 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, 0x23, 0x0a, 0x0d, 0x73, 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, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x32, 0xdc, 0x09, 0x0a, 0x14, + 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x52, 0x50, 0x43, 0x12, 0x60, 0x0a, 0x09, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, + 0x6f, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66, + 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, + 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x90, 0x01, 0x0a, + 0x19, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x8c, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x36, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x78, + 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x07, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, + 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, + 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, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_goadesign_goagen_injective_accounts_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_accounts_rpc_proto_rawDescData = file_goadesign_goagen_injective_accounts_rpc_proto_rawDesc +) + +func file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_accounts_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_accounts_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_accounts_rpc_proto_rawDescData) + }) + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescData +} + +var file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 46) +var file_goadesign_goagen_injective_accounts_rpc_proto_goTypes = []interface{}{ + (*PortfolioRequest)(nil), // 0: injective_accounts_rpc.PortfolioRequest + (*PortfolioResponse)(nil), // 1: injective_accounts_rpc.PortfolioResponse + (*AccountPortfolio)(nil), // 2: injective_accounts_rpc.AccountPortfolio + (*SubaccountPortfolio)(nil), // 3: injective_accounts_rpc.SubaccountPortfolio + (*OrderStatesRequest)(nil), // 4: injective_accounts_rpc.OrderStatesRequest + (*OrderStatesResponse)(nil), // 5: injective_accounts_rpc.OrderStatesResponse + (*OrderStateRecord)(nil), // 6: injective_accounts_rpc.OrderStateRecord + (*SubaccountsListRequest)(nil), // 7: injective_accounts_rpc.SubaccountsListRequest + (*SubaccountsListResponse)(nil), // 8: injective_accounts_rpc.SubaccountsListResponse + (*SubaccountBalancesListRequest)(nil), // 9: injective_accounts_rpc.SubaccountBalancesListRequest + (*SubaccountBalancesListResponse)(nil), // 10: injective_accounts_rpc.SubaccountBalancesListResponse + (*SubaccountBalance)(nil), // 11: injective_accounts_rpc.SubaccountBalance + (*SubaccountDeposit)(nil), // 12: injective_accounts_rpc.SubaccountDeposit + (*SubaccountBalanceEndpointRequest)(nil), // 13: injective_accounts_rpc.SubaccountBalanceEndpointRequest + (*SubaccountBalanceEndpointResponse)(nil), // 14: injective_accounts_rpc.SubaccountBalanceEndpointResponse + (*StreamSubaccountBalanceRequest)(nil), // 15: injective_accounts_rpc.StreamSubaccountBalanceRequest + (*StreamSubaccountBalanceResponse)(nil), // 16: injective_accounts_rpc.StreamSubaccountBalanceResponse + (*SubaccountHistoryRequest)(nil), // 17: injective_accounts_rpc.SubaccountHistoryRequest + (*SubaccountHistoryResponse)(nil), // 18: injective_accounts_rpc.SubaccountHistoryResponse + (*SubaccountBalanceTransfer)(nil), // 19: injective_accounts_rpc.SubaccountBalanceTransfer + (*CosmosCoin)(nil), // 20: injective_accounts_rpc.CosmosCoin + (*Paging)(nil), // 21: injective_accounts_rpc.Paging + (*SubaccountOrderSummaryRequest)(nil), // 22: injective_accounts_rpc.SubaccountOrderSummaryRequest + (*SubaccountOrderSummaryResponse)(nil), // 23: injective_accounts_rpc.SubaccountOrderSummaryResponse + (*RewardsRequest)(nil), // 24: injective_accounts_rpc.RewardsRequest + (*RewardsResponse)(nil), // 25: injective_accounts_rpc.RewardsResponse + (*Reward)(nil), // 26: injective_accounts_rpc.Reward + (*Coin)(nil), // 27: injective_accounts_rpc.Coin + (*StreamAccountDataRequest)(nil), // 28: injective_accounts_rpc.StreamAccountDataRequest + (*StreamAccountDataResponse)(nil), // 29: injective_accounts_rpc.StreamAccountDataResponse + (*SubaccountBalanceResult)(nil), // 30: injective_accounts_rpc.SubaccountBalanceResult + (*PositionsResult)(nil), // 31: injective_accounts_rpc.PositionsResult + (*Position)(nil), // 32: injective_accounts_rpc.Position + (*TradeResult)(nil), // 33: injective_accounts_rpc.TradeResult + (*SpotTrade)(nil), // 34: injective_accounts_rpc.SpotTrade + (*PriceLevel)(nil), // 35: injective_accounts_rpc.PriceLevel + (*DerivativeTrade)(nil), // 36: injective_accounts_rpc.DerivativeTrade + (*PositionDelta)(nil), // 37: injective_accounts_rpc.PositionDelta + (*OrderResult)(nil), // 38: injective_accounts_rpc.OrderResult + (*SpotLimitOrder)(nil), // 39: injective_accounts_rpc.SpotLimitOrder + (*DerivativeLimitOrder)(nil), // 40: injective_accounts_rpc.DerivativeLimitOrder + (*OrderHistoryResult)(nil), // 41: injective_accounts_rpc.OrderHistoryResult + (*SpotOrderHistory)(nil), // 42: injective_accounts_rpc.SpotOrderHistory + (*DerivativeOrderHistory)(nil), // 43: injective_accounts_rpc.DerivativeOrderHistory + (*FundingPaymentResult)(nil), // 44: injective_accounts_rpc.FundingPaymentResult + (*FundingPayment)(nil), // 45: injective_accounts_rpc.FundingPayment +} +var file_goadesign_goagen_injective_accounts_rpc_proto_depIdxs = []int32{ + 2, // 0: injective_accounts_rpc.PortfolioResponse.portfolio:type_name -> injective_accounts_rpc.AccountPortfolio + 3, // 1: injective_accounts_rpc.AccountPortfolio.subaccounts:type_name -> injective_accounts_rpc.SubaccountPortfolio + 6, // 2: injective_accounts_rpc.OrderStatesResponse.spot_order_states:type_name -> injective_accounts_rpc.OrderStateRecord + 6, // 3: injective_accounts_rpc.OrderStatesResponse.derivative_order_states:type_name -> injective_accounts_rpc.OrderStateRecord + 11, // 4: injective_accounts_rpc.SubaccountBalancesListResponse.balances:type_name -> injective_accounts_rpc.SubaccountBalance + 12, // 5: injective_accounts_rpc.SubaccountBalance.deposit:type_name -> injective_accounts_rpc.SubaccountDeposit + 11, // 6: injective_accounts_rpc.SubaccountBalanceEndpointResponse.balance:type_name -> injective_accounts_rpc.SubaccountBalance + 11, // 7: injective_accounts_rpc.StreamSubaccountBalanceResponse.balance:type_name -> injective_accounts_rpc.SubaccountBalance + 19, // 8: injective_accounts_rpc.SubaccountHistoryResponse.transfers:type_name -> injective_accounts_rpc.SubaccountBalanceTransfer + 21, // 9: injective_accounts_rpc.SubaccountHistoryResponse.paging:type_name -> injective_accounts_rpc.Paging + 20, // 10: injective_accounts_rpc.SubaccountBalanceTransfer.amount:type_name -> injective_accounts_rpc.CosmosCoin + 26, // 11: injective_accounts_rpc.RewardsResponse.rewards:type_name -> injective_accounts_rpc.Reward + 27, // 12: injective_accounts_rpc.Reward.rewards:type_name -> injective_accounts_rpc.Coin + 30, // 13: injective_accounts_rpc.StreamAccountDataResponse.subaccount_balance:type_name -> injective_accounts_rpc.SubaccountBalanceResult + 31, // 14: injective_accounts_rpc.StreamAccountDataResponse.position:type_name -> injective_accounts_rpc.PositionsResult + 33, // 15: injective_accounts_rpc.StreamAccountDataResponse.trade:type_name -> injective_accounts_rpc.TradeResult + 38, // 16: injective_accounts_rpc.StreamAccountDataResponse.order:type_name -> injective_accounts_rpc.OrderResult + 41, // 17: injective_accounts_rpc.StreamAccountDataResponse.order_history:type_name -> injective_accounts_rpc.OrderHistoryResult + 44, // 18: injective_accounts_rpc.StreamAccountDataResponse.funding_payment:type_name -> injective_accounts_rpc.FundingPaymentResult + 11, // 19: injective_accounts_rpc.SubaccountBalanceResult.balance:type_name -> injective_accounts_rpc.SubaccountBalance + 32, // 20: injective_accounts_rpc.PositionsResult.position:type_name -> injective_accounts_rpc.Position + 34, // 21: injective_accounts_rpc.TradeResult.spot_trade:type_name -> injective_accounts_rpc.SpotTrade + 36, // 22: injective_accounts_rpc.TradeResult.derivative_trade:type_name -> injective_accounts_rpc.DerivativeTrade + 35, // 23: injective_accounts_rpc.SpotTrade.price:type_name -> injective_accounts_rpc.PriceLevel + 37, // 24: injective_accounts_rpc.DerivativeTrade.position_delta:type_name -> injective_accounts_rpc.PositionDelta + 39, // 25: injective_accounts_rpc.OrderResult.spot_order:type_name -> injective_accounts_rpc.SpotLimitOrder + 40, // 26: injective_accounts_rpc.OrderResult.derivative_order:type_name -> injective_accounts_rpc.DerivativeLimitOrder + 42, // 27: injective_accounts_rpc.OrderHistoryResult.spot_order_history:type_name -> injective_accounts_rpc.SpotOrderHistory + 43, // 28: injective_accounts_rpc.OrderHistoryResult.derivative_order_history:type_name -> injective_accounts_rpc.DerivativeOrderHistory + 45, // 29: injective_accounts_rpc.FundingPaymentResult.funding_payments:type_name -> injective_accounts_rpc.FundingPayment + 0, // 30: injective_accounts_rpc.InjectiveAccountsRPC.Portfolio:input_type -> injective_accounts_rpc.PortfolioRequest + 4, // 31: injective_accounts_rpc.InjectiveAccountsRPC.OrderStates:input_type -> injective_accounts_rpc.OrderStatesRequest + 7, // 32: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountsList:input_type -> injective_accounts_rpc.SubaccountsListRequest + 9, // 33: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalancesList:input_type -> injective_accounts_rpc.SubaccountBalancesListRequest + 13, // 34: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalanceEndpoint:input_type -> injective_accounts_rpc.SubaccountBalanceEndpointRequest + 15, // 35: injective_accounts_rpc.InjectiveAccountsRPC.StreamSubaccountBalance:input_type -> injective_accounts_rpc.StreamSubaccountBalanceRequest + 17, // 36: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountHistory:input_type -> injective_accounts_rpc.SubaccountHistoryRequest + 22, // 37: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountOrderSummary:input_type -> injective_accounts_rpc.SubaccountOrderSummaryRequest + 24, // 38: injective_accounts_rpc.InjectiveAccountsRPC.Rewards:input_type -> injective_accounts_rpc.RewardsRequest + 28, // 39: injective_accounts_rpc.InjectiveAccountsRPC.StreamAccountData:input_type -> injective_accounts_rpc.StreamAccountDataRequest + 1, // 40: injective_accounts_rpc.InjectiveAccountsRPC.Portfolio:output_type -> injective_accounts_rpc.PortfolioResponse + 5, // 41: injective_accounts_rpc.InjectiveAccountsRPC.OrderStates:output_type -> injective_accounts_rpc.OrderStatesResponse + 8, // 42: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountsList:output_type -> injective_accounts_rpc.SubaccountsListResponse + 10, // 43: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalancesList:output_type -> injective_accounts_rpc.SubaccountBalancesListResponse + 14, // 44: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalanceEndpoint:output_type -> injective_accounts_rpc.SubaccountBalanceEndpointResponse + 16, // 45: injective_accounts_rpc.InjectiveAccountsRPC.StreamSubaccountBalance:output_type -> injective_accounts_rpc.StreamSubaccountBalanceResponse + 18, // 46: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountHistory:output_type -> injective_accounts_rpc.SubaccountHistoryResponse + 23, // 47: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountOrderSummary:output_type -> injective_accounts_rpc.SubaccountOrderSummaryResponse + 25, // 48: injective_accounts_rpc.InjectiveAccountsRPC.Rewards:output_type -> injective_accounts_rpc.RewardsResponse + 29, // 49: injective_accounts_rpc.InjectiveAccountsRPC.StreamAccountData:output_type -> injective_accounts_rpc.StreamAccountDataResponse + 40, // [40:50] is the sub-list for method output_type + 30, // [30:40] is the sub-list for method input_type + 30, // [30:30] is the sub-list for extension type_name + 30, // [30:30] is the sub-list for extension extendee + 0, // [0:30] is the sub-list for field type_name +} + +func init() { file_goadesign_goagen_injective_accounts_rpc_proto_init() } +func file_goadesign_goagen_injective_accounts_rpc_proto_init() { + if File_goadesign_goagen_injective_accounts_rpc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortfolioRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortfolioResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountPortfolio); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountPortfolio); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderStatesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderStatesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderStateRecord); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountsListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountsListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalancesListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalancesListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountDeposit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalanceEndpointRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalanceEndpointResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamSubaccountBalanceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamSubaccountBalanceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountHistoryRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountHistoryResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalanceTransfer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CosmosCoin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Paging); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountOrderSummaryRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountOrderSummaryResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RewardsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RewardsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Reward); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Coin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamAccountDataRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamAccountDataResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalanceResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PositionsResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Position); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TradeResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpotTrade); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PriceLevel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DerivativeTrade); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PositionDelta); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpotLimitOrder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DerivativeLimitOrder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderHistoryResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpotOrderHistory); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DerivativeOrderHistory); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundingPaymentResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundingPayment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[33].OneofWrappers = []interface{}{ + (*TradeResult_SpotTrade)(nil), + (*TradeResult_DerivativeTrade)(nil), + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[38].OneofWrappers = []interface{}{ + (*OrderResult_SpotOrder)(nil), + (*OrderResult_DerivativeOrder)(nil), + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[41].OneofWrappers = []interface{}{ + (*OrderHistoryResult_SpotOrderHistory)(nil), + (*OrderHistoryResult_DerivativeOrderHistory)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_goadesign_goagen_injective_accounts_rpc_proto_rawDesc, + NumEnums: 0, + NumMessages: 46, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_goadesign_goagen_injective_accounts_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_accounts_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes, + }.Build() + File_goadesign_goagen_injective_accounts_rpc_proto = out.File + file_goadesign_goagen_injective_accounts_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_accounts_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_accounts_rpc_proto_depIdxs = nil +} diff --git a/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.proto b/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.proto new file mode 100644 index 00000000..e28956da --- /dev/null +++ b/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.proto @@ -0,0 +1,623 @@ +// Code generated with goa v3.7.0, DO NOT EDIT. +// +// InjectiveAccountsRPC protocol buffer definition +// +// Command: +// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ + +syntax = "proto3"; + +package injective_accounts_rpc; + +option go_package = "/injective_accounts_rpcpb"; + +// InjectiveAccountsRPC defines API of Exchange Accounts provider. +service InjectiveAccountsRPC { + // Provide the account's portfolio value in USD. + rpc Portfolio (PortfolioRequest) returns (PortfolioResponse); + // List order states by order hashes + rpc OrderStates (OrderStatesRequest) returns (OrderStatesResponse); + // List all subaccounts IDs of an account address + rpc SubaccountsList (SubaccountsListRequest) returns (SubaccountsListResponse); + // List subaccount balances for the provided denoms. + rpc SubaccountBalancesList (SubaccountBalancesListRequest) returns (SubaccountBalancesListResponse); + // Gets a balance for specific coin denom + rpc SubaccountBalanceEndpoint (SubaccountBalanceEndpointRequest) returns (SubaccountBalanceEndpointResponse); + // StreamSubaccountBalance streams new balance changes for a specified +// subaccount and denoms. If no denoms are provided, all denom changes are +// streamed. + rpc StreamSubaccountBalance (StreamSubaccountBalanceRequest) returns (stream StreamSubaccountBalanceResponse); + // Get subaccount's deposits and withdrawals history + rpc SubaccountHistory (SubaccountHistoryRequest) returns (SubaccountHistoryResponse); + // Get subaccount's orders summary + rpc SubaccountOrderSummary (SubaccountOrderSummaryRequest) returns (SubaccountOrderSummaryResponse); + // Provide historical trading rewards + rpc Rewards (RewardsRequest) returns (RewardsResponse); + // Stream live data for an account and respective data + rpc StreamAccountData (StreamAccountDataRequest) returns (stream StreamAccountDataResponse); +} + +message PortfolioRequest { + // Account address + string account_address = 1; +} + +message PortfolioResponse { + // The portfolio of this account + AccountPortfolio portfolio = 1; +} + +message AccountPortfolio { + // The account's portfolio value in USD. + string portfolio_value = 1; + // The account's available balance value in USD. + string available_balance = 2; + // The account's locked balance value in USD. + string locked_balance = 3; + // The account's total unrealized PnL value in USD. + string unrealized_pnl = 4; + // List of all subaccounts' portfolio + repeated SubaccountPortfolio subaccounts = 5; +} + +message SubaccountPortfolio { + // The ID of this subaccount + string subaccount_id = 1; + // The subaccount's available balance value in USD. + string available_balance = 2; + // The subaccount's locked balance value in USD. + string locked_balance = 3; + // The subaccount's total unrealized PnL value in USD. + string unrealized_pnl = 4; +} + +message OrderStatesRequest { + repeated string spot_order_hashes = 1; + repeated string derivative_order_hashes = 2; +} + +message OrderStatesResponse { + // List of the spot order state records + repeated OrderStateRecord spot_order_states = 1; + // List of the derivative order state records + repeated OrderStateRecord derivative_order_states = 2; +} + +message OrderStateRecord { + // Hash of the order + string order_hash = 1; + // The subaccountId that this order belongs to + string subaccount_id = 2; + // The Market ID of the order + string market_id = 3; + // The type of the order + string order_type = 4; + // The side of the order + string order_side = 5; + // The state (status) of the order + string state = 6; + // The filled quantity of the order + string quantity_filled = 7; + // The filled quantity of the order + string quantity_remaining = 8; + // Order committed timestamp in UNIX millis. + sint64 created_at = 9; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 10; + // Order prices + string price = 11; + // Margin for derivative order + string margin = 12; +} + +message SubaccountsListRequest { + // Account address, the subaccounts owner + string account_address = 1; +} + +message SubaccountsListResponse { + repeated string subaccounts = 1; +} + +message SubaccountBalancesListRequest { + // SubaccountId of the trader we want to get the trades from + string subaccount_id = 1; + // Filter balances by denoms. If not set, the balances of all the denoms for +// the subaccount are provided. + repeated string denoms = 2; +} + +message SubaccountBalancesListResponse { + // List of subaccount balances + repeated SubaccountBalance balances = 1; +} + +message SubaccountBalance { + // Related subaccount ID + string subaccount_id = 1; + // Account address, owner of this subaccount + string account_address = 2; + // Coin denom on the chain. + string denom = 3; + SubaccountDeposit deposit = 4; +} + +message SubaccountDeposit { + string total_balance = 1; + string available_balance = 2; +} + +message SubaccountBalanceEndpointRequest { + // SubaccountId of the trader we want to get the trades from + string subaccount_id = 1; + // Specify denom to get balance + string denom = 2; +} + +message SubaccountBalanceEndpointResponse { + // Subaccount balance + SubaccountBalance balance = 1; +} + +message StreamSubaccountBalanceRequest { + // SubaccountId of the trader we want to get the trades from + string subaccount_id = 1; + // Filter balances by denoms. If not set, the balances of all the denoms for +// the subaccount are provided. + repeated string denoms = 2; +} + +message StreamSubaccountBalanceResponse { + // Subaccount balance + SubaccountBalance balance = 1; + // Operation timestamp in UNIX millis. + sint64 timestamp = 2; +} + +message SubaccountHistoryRequest { + // SubaccountId of the trader we want to get the history from + string subaccount_id = 1; + // Filter history by denom + string denom = 2; + // Filter history by transfer type + repeated string transfer_types = 3; + // Skip will skip the first n item from the result + uint64 skip = 4; + // Limit is used to specify the maximum number of items to be returned + sint32 limit = 5; + // Upper bound of account transfer history's executedAt + sint64 end_time = 6; +} + +message SubaccountHistoryResponse { + // List of subaccount transfers + repeated SubaccountBalanceTransfer transfers = 1; + Paging paging = 2; +} + +message SubaccountBalanceTransfer { + // Type of the subaccount balance transfer + string transfer_type = 1; + // Subaccount ID of the sending side + string src_subaccount_id = 2; + // Account address of the sending side + string src_account_address = 3; + // Subaccount ID of the receiving side + string dst_subaccount_id = 4; + // Account address of the receiving side + string dst_account_address = 5; + // Coin amount of the transfer + CosmosCoin amount = 6; + // Timestamp of the transfer in UNIX millis + sint64 executed_at = 7; +} + +message CosmosCoin { + // Coin denominator + string denom = 1; + // Coin amount (big int) + string amount = 2; +} +// Paging defines the structure for required params for handling pagination +message Paging { + // total number of txs saved in database + sint64 total = 1; + // can be either block height or index num + sint32 from = 2; + // can be either block height or index num + sint32 to = 3; + // count entries by subaccount, serving some places on helix + sint64 count_by_subaccount = 4; + // array of tokens to navigate to the next pages + repeated string next = 5; +} + +message SubaccountOrderSummaryRequest { + // SubaccountId of the trader we want to get the summary from + string subaccount_id = 1; + // MarketId is limiting order summary to specific market only + string market_id = 2; + // Filter by direction of the orders + string order_direction = 3; +} + +message SubaccountOrderSummaryResponse { + // Total count of subaccount's spot orders in given market and direction + sint64 spot_orders_total = 1; + // Total count of subaccount's derivative orders in given market and direction + sint64 derivative_orders_total = 2; +} + +message RewardsRequest { + // The distribution epoch sequence number. -1 for latest. + sint64 epoch = 1; + // Account address for the rewards distribution + string account_address = 2; +} + +message RewardsResponse { + // The trading rewards distributed + repeated Reward rewards = 1; +} + +message Reward { + // Account address + string account_address = 1; + // Reward coins distributed + repeated Coin rewards = 2; + // Rewards distribution timestamp in UNIX millis. + sint64 distributed_at = 3; +} + +message Coin { + // Denom of the coin + string denom = 1; + string amount = 2; +} + +message StreamAccountDataRequest { + // account address + string account_address = 1; +} + +message StreamAccountDataResponse { + SubaccountBalanceResult subaccount_balance = 1; + PositionsResult position = 2; + TradeResult trade = 3; + OrderResult order = 4; + OrderHistoryResult order_history = 5; + FundingPaymentResult funding_payment = 6; +} + +message SubaccountBalanceResult { + // Subaccount balance + SubaccountBalance balance = 1; + // Operation timestamp in UNIX millis. + sint64 timestamp = 2; +} + +message PositionsResult { + // Updated derivative Position + Position position = 1; + // Operation timestamp in UNIX millis. + sint64 timestamp = 2; +} + +message Position { + // Ticker of the derivative market + string ticker = 1; + // Derivative Market ID + string market_id = 2; + // The subaccountId that the position belongs to + string subaccount_id = 3; + // Direction of the position + string direction = 4; + // Quantity of the position + string quantity = 5; + // Price of the position + string entry_price = 6; + // Margin of the position + string margin = 7; + // LiquidationPrice of the position + string liquidation_price = 8; + // MarkPrice of the position + string mark_price = 9; + // Position updated timestamp in UNIX millis. + sint64 updated_at = 10; + // Position created timestamp in UNIX millis. + sint64 created_at = 11; +} + +message TradeResult { + oneof trade { + // New spot market trade + SpotTrade spot_trade = 1; + // New derivative market trade + DerivativeTrade derivative_trade = 2; + } + // Executed trades update type + string operation_type = 3; + // Operation timestamp in UNIX millis. + sint64 timestamp = 4; +} + +message SpotTrade { + // Maker order hash. + string order_hash = 1; + // The subaccountId that executed the trade + string subaccount_id = 2; + // The ID of the market that this trade is in + string market_id = 3; + // The execution type of the trade + string trade_execution_type = 4; + // The direction the trade + string trade_direction = 5; + // Price level at which trade has been executed + PriceLevel price = 6; + // The fee associated with the trade (quote asset denom) + string fee = 7; + // Timestamp of trade execution in UNIX millis + sint64 executed_at = 8; + // Fee recipient address + string fee_recipient = 9; + // A unique string that helps differentiate between trades + string trade_id = 10; + // Trade's execution side, marker/taker + string execution_side = 11; + // Custom client order ID + string cid = 12; +} + +message PriceLevel { + // Price number of the price level. + string price = 1; + // Quantity of the price level. + string quantity = 2; + // Price level last updated timestamp in UNIX millis. + sint64 timestamp = 3; +} + +message DerivativeTrade { + // Order hash. + string order_hash = 1; + // The subaccountId that executed the trade + string subaccount_id = 2; + // The ID of the market that this trade is in + string market_id = 3; + // The execution type of the trade + string trade_execution_type = 4; + // True if the trade is a liquidation + bool is_liquidation = 5; + // Position Delta from the trade + PositionDelta position_delta = 6; + // The payout associated with the trade + string payout = 7; + // The fee associated with the trade + string fee = 8; + // Timestamp of trade execution in UNIX millis + sint64 executed_at = 9; + // Fee recipient address + string fee_recipient = 10; + // A unique string that helps differentiate between trades + string trade_id = 11; + // Trade's execution side, marker/taker + string execution_side = 12; + // Custom client order ID + string cid = 13; +} + +message PositionDelta { + // The direction the trade + string trade_direction = 1; + // Execution Price of the trade. + string execution_price = 2; + // Execution Quantity of the trade. + string execution_quantity = 3; + // Execution Margin of the trade. + string execution_margin = 4; +} + +message OrderResult { + oneof order { + // Updated spot market order + SpotLimitOrder spot_order = 1; + // Updated derivative market order + DerivativeLimitOrder derivative_order = 2; + } + // Executed orders update type + string operation_type = 3; + // Operation timestamp in UNIX millis. + sint64 timestamp = 4; +} + +message SpotLimitOrder { + // Hash of the order + string order_hash = 1; + // The side of the order + string order_side = 2; + // Spot Market ID is keccak265(baseDenom + quoteDenom) + string market_id = 3; + // The subaccountId that this order belongs to + string subaccount_id = 4; + // Price of the order + string price = 5; + // Quantity of the order + string quantity = 6; + // The amount of the quantity remaining unfilled + string unfilled_quantity = 7; + // Trigger price is the trigger price used by stop/take orders. 0 if the +// trigger price is not set. + string trigger_price = 8; + // Fee recipient address + string fee_recipient = 9; + // Order state + string state = 10; + // Order committed timestamp in UNIX millis. + sint64 created_at = 11; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 12; + // Transaction Hash where order is created. Not all orders have this field + string tx_hash = 13; + // Custom client order ID + string cid = 14; +} + +message DerivativeLimitOrder { + // Hash of the order + string order_hash = 1; + // The side of the order + string order_side = 2; + // Derivative Market ID + string market_id = 3; + // The subaccountId that this order belongs to + string subaccount_id = 4; + // True if the order is a reduce-only order + bool is_reduce_only = 5; + // Margin of the order + string margin = 6; + // Price of the order + string price = 7; + // Quantity of the order + string quantity = 8; + // The amount of the quantity remaining unfilled + string unfilled_quantity = 9; + // Trigger price is the trigger price used by stop/take orders + string trigger_price = 10; + // Fee recipient address + string fee_recipient = 11; + // Order state + string state = 12; + // Order committed timestamp in UNIX millis. + sint64 created_at = 13; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 14; + // Order number of subaccount + sint64 order_number = 15; + // Order type + string order_type = 16; + // Order type + bool is_conditional = 17; + // Trigger timestamp, only exists for conditional orders + uint64 trigger_at = 18; + // OrderHash of order that is triggered by this conditional order + string placed_order_hash = 19; + // Execution type of conditional order + string execution_type = 20; + // Transaction Hash where order is created. Not all orders have this field + string tx_hash = 21; + // Custom client order ID + string cid = 22; +} + +message OrderHistoryResult { + oneof order_history { + // Spot order history + SpotOrderHistory spot_order_history = 1; + // Derivative order history + DerivativeOrderHistory derivative_order_history = 2; + } + // Order update type + string operation_type = 3; + // Operation timestamp in UNIX millis. + sint64 timestamp = 4; +} + +message SpotOrderHistory { + // Hash of the order + string order_hash = 1; + // Spot Market ID is keccak265(baseDenom + quoteDenom) + string market_id = 2; + // active state of the order + bool is_active = 3; + // The subaccountId that this order belongs to + string subaccount_id = 4; + // The execution type + string execution_type = 5; + // The side of the order + string order_type = 6; + // Price of the order + string price = 7; + // Trigger price + string trigger_price = 8; + // Quantity of the order + string quantity = 9; + // Filled amount + string filled_quantity = 10; + // Order state + string state = 11; + // Order committed timestamp in UNIX millis. + sint64 created_at = 12; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 13; + // Order direction (order side) + string direction = 14; + // Transaction Hash where order is created. Not all orders have this field + string tx_hash = 15; + // Custom client order ID + string cid = 16; +} + +message DerivativeOrderHistory { + // Hash of the order + string order_hash = 1; + // Spot Market ID is keccak265(baseDenom + quoteDenom) + string market_id = 2; + // active state of the order + bool is_active = 3; + // The subaccountId that this order belongs to + string subaccount_id = 4; + // The execution type + string execution_type = 5; + // The side of the order + string order_type = 6; + // Price of the order + string price = 7; + // Trigger price + string trigger_price = 8; + // Quantity of the order + string quantity = 9; + // Filled amount + string filled_quantity = 10; + // Order state + string state = 11; + // Order committed timestamp in UNIX millis. + sint64 created_at = 12; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 13; + // True if an order is reduce only + bool is_reduce_only = 14; + // Order direction (order side) + string direction = 15; + // True if this is conditional order, otherwise false + bool is_conditional = 16; + // Trigger timestamp in unix milli + uint64 trigger_at = 17; + // Order hash placed when this triggers + string placed_order_hash = 18; + // Order's margin + string margin = 19; + // Transaction Hash where order is created. Not all orders have this field + string tx_hash = 20; + // Custom client order ID + string cid = 21; +} + +message FundingPaymentResult { + // Funding payments of the account + FundingPayment funding_payments = 1; + // Funding payments type + string operation_type = 2; + // Operation timestamp in UNIX millis. + sint64 timestamp = 4; +} + +message FundingPayment { + // Derivative Market ID + string market_id = 1; + // The subaccountId that the position belongs to + string subaccount_id = 2; + // Amount of the funding payment + string amount = 3; + // Timestamp of funding payment in UNIX millis + sint64 timestamp = 4; +} diff --git a/exchange/accounts_rpc/pb/injective_accounts_rpc_grpc.pb.go b/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go similarity index 88% rename from exchange/accounts_rpc/pb/injective_accounts_rpc_grpc.pb.go rename to exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go index 14ccbcfc..fc873c15 100644 --- a/exchange/accounts_rpc/pb/injective_accounts_rpc_grpc.pb.go +++ b/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_accounts_rpc.proto package injective_accounts_rpcpb @@ -38,6 +42,8 @@ type InjectiveAccountsRPCClient interface { SubaccountOrderSummary(ctx context.Context, in *SubaccountOrderSummaryRequest, opts ...grpc.CallOption) (*SubaccountOrderSummaryResponse, error) // Provide historical trading rewards Rewards(ctx context.Context, in *RewardsRequest, opts ...grpc.CallOption) (*RewardsResponse, error) + // Stream live data for an account and respective data + StreamAccountData(ctx context.Context, in *StreamAccountDataRequest, opts ...grpc.CallOption) (InjectiveAccountsRPC_StreamAccountDataClient, error) } type injectiveAccountsRPCClient struct { @@ -152,6 +158,38 @@ func (c *injectiveAccountsRPCClient) Rewards(ctx context.Context, in *RewardsReq return out, nil } +func (c *injectiveAccountsRPCClient) StreamAccountData(ctx context.Context, in *StreamAccountDataRequest, opts ...grpc.CallOption) (InjectiveAccountsRPC_StreamAccountDataClient, error) { + stream, err := c.cc.NewStream(ctx, &InjectiveAccountsRPC_ServiceDesc.Streams[1], "/injective_accounts_rpc.InjectiveAccountsRPC/StreamAccountData", opts...) + if err != nil { + return nil, err + } + x := &injectiveAccountsRPCStreamAccountDataClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type InjectiveAccountsRPC_StreamAccountDataClient interface { + Recv() (*StreamAccountDataResponse, error) + grpc.ClientStream +} + +type injectiveAccountsRPCStreamAccountDataClient struct { + grpc.ClientStream +} + +func (x *injectiveAccountsRPCStreamAccountDataClient) Recv() (*StreamAccountDataResponse, error) { + m := new(StreamAccountDataResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + // InjectiveAccountsRPCServer is the server API for InjectiveAccountsRPC service. // All implementations must embed UnimplementedInjectiveAccountsRPCServer // for forward compatibility @@ -176,6 +214,8 @@ type InjectiveAccountsRPCServer interface { SubaccountOrderSummary(context.Context, *SubaccountOrderSummaryRequest) (*SubaccountOrderSummaryResponse, error) // Provide historical trading rewards Rewards(context.Context, *RewardsRequest) (*RewardsResponse, error) + // Stream live data for an account and respective data + StreamAccountData(*StreamAccountDataRequest, InjectiveAccountsRPC_StreamAccountDataServer) error mustEmbedUnimplementedInjectiveAccountsRPCServer() } @@ -210,6 +250,9 @@ func (UnimplementedInjectiveAccountsRPCServer) SubaccountOrderSummary(context.Co func (UnimplementedInjectiveAccountsRPCServer) Rewards(context.Context, *RewardsRequest) (*RewardsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Rewards not implemented") } +func (UnimplementedInjectiveAccountsRPCServer) StreamAccountData(*StreamAccountDataRequest, InjectiveAccountsRPC_StreamAccountDataServer) error { + return status.Errorf(codes.Unimplemented, "method StreamAccountData not implemented") +} func (UnimplementedInjectiveAccountsRPCServer) mustEmbedUnimplementedInjectiveAccountsRPCServer() {} // UnsafeInjectiveAccountsRPCServer may be embedded to opt out of forward compatibility for this service. @@ -388,6 +431,27 @@ func _InjectiveAccountsRPC_Rewards_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _InjectiveAccountsRPC_StreamAccountData_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(StreamAccountDataRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(InjectiveAccountsRPCServer).StreamAccountData(m, &injectiveAccountsRPCStreamAccountDataServer{stream}) +} + +type InjectiveAccountsRPC_StreamAccountDataServer interface { + Send(*StreamAccountDataResponse) error + grpc.ServerStream +} + +type injectiveAccountsRPCStreamAccountDataServer struct { + grpc.ServerStream +} + +func (x *injectiveAccountsRPCStreamAccountDataServer) Send(m *StreamAccountDataResponse) error { + return x.ServerStream.SendMsg(m) +} + // InjectiveAccountsRPC_ServiceDesc is the grpc.ServiceDesc for InjectiveAccountsRPC service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -434,6 +498,11 @@ var InjectiveAccountsRPC_ServiceDesc = grpc.ServiceDesc{ Handler: _InjectiveAccountsRPC_StreamSubaccountBalance_Handler, ServerStreams: true, }, + { + StreamName: "StreamAccountData", + Handler: _InjectiveAccountsRPC_StreamAccountData_Handler, + ServerStreams: true, + }, }, - Metadata: "injective_accounts_rpc.proto", + Metadata: "goadesign_goagen_injective_accounts_rpc.proto", } diff --git a/exchange/accounts_rpc/pb/injective_accounts_rpc.pb.go b/exchange/accounts_rpc/pb/injective_accounts_rpc.pb.go deleted file mode 100644 index a7cca461..00000000 --- a/exchange/accounts_rpc/pb/injective_accounts_rpc.pb.go +++ /dev/null @@ -1,2606 +0,0 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. -// -// InjectiveAccountsRPC protocol buffer definition -// -// Command: -// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_accounts_rpc.proto - -package injective_accounts_rpcpb - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type PortfolioRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Account address - AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` -} - -func (x *PortfolioRequest) Reset() { - *x = PortfolioRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PortfolioRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PortfolioRequest) ProtoMessage() {} - -func (x *PortfolioRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PortfolioRequest.ProtoReflect.Descriptor instead. -func (*PortfolioRequest) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{0} -} - -func (x *PortfolioRequest) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -type PortfolioResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The portfolio of this account - Portfolio *AccountPortfolio `protobuf:"bytes,1,opt,name=portfolio,proto3" json:"portfolio,omitempty"` -} - -func (x *PortfolioResponse) Reset() { - *x = PortfolioResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PortfolioResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PortfolioResponse) ProtoMessage() {} - -func (x *PortfolioResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PortfolioResponse.ProtoReflect.Descriptor instead. -func (*PortfolioResponse) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{1} -} - -func (x *PortfolioResponse) GetPortfolio() *AccountPortfolio { - if x != nil { - return x.Portfolio - } - return nil -} - -type AccountPortfolio struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The account's portfolio value in USD. - PortfolioValue string `protobuf:"bytes,1,opt,name=portfolio_value,json=portfolioValue,proto3" json:"portfolio_value,omitempty"` - // The account's available balance value in USD. - AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` - // The account's locked balance value in USD. - LockedBalance string `protobuf:"bytes,3,opt,name=locked_balance,json=lockedBalance,proto3" json:"locked_balance,omitempty"` - // The account's total unrealized PnL value in USD. - UnrealizedPnl string `protobuf:"bytes,4,opt,name=unrealized_pnl,json=unrealizedPnl,proto3" json:"unrealized_pnl,omitempty"` - // List of all subaccounts' portfolio - Subaccounts []*SubaccountPortfolio `protobuf:"bytes,5,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` -} - -func (x *AccountPortfolio) Reset() { - *x = AccountPortfolio{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AccountPortfolio) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AccountPortfolio) ProtoMessage() {} - -func (x *AccountPortfolio) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AccountPortfolio.ProtoReflect.Descriptor instead. -func (*AccountPortfolio) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{2} -} - -func (x *AccountPortfolio) GetPortfolioValue() string { - if x != nil { - return x.PortfolioValue - } - return "" -} - -func (x *AccountPortfolio) GetAvailableBalance() string { - if x != nil { - return x.AvailableBalance - } - return "" -} - -func (x *AccountPortfolio) GetLockedBalance() string { - if x != nil { - return x.LockedBalance - } - return "" -} - -func (x *AccountPortfolio) GetUnrealizedPnl() string { - if x != nil { - return x.UnrealizedPnl - } - return "" -} - -func (x *AccountPortfolio) GetSubaccounts() []*SubaccountPortfolio { - if x != nil { - return x.Subaccounts - } - return nil -} - -type SubaccountPortfolio struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The ID of this subaccount - SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // The subaccount's available balance value in USD. - AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` - // The subaccount's locked balance value in USD. - LockedBalance string `protobuf:"bytes,3,opt,name=locked_balance,json=lockedBalance,proto3" json:"locked_balance,omitempty"` - // The subaccount's total unrealized PnL value in USD. - UnrealizedPnl string `protobuf:"bytes,4,opt,name=unrealized_pnl,json=unrealizedPnl,proto3" json:"unrealized_pnl,omitempty"` -} - -func (x *SubaccountPortfolio) Reset() { - *x = SubaccountPortfolio{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountPortfolio) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountPortfolio) ProtoMessage() {} - -func (x *SubaccountPortfolio) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountPortfolio.ProtoReflect.Descriptor instead. -func (*SubaccountPortfolio) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{3} -} - -func (x *SubaccountPortfolio) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *SubaccountPortfolio) GetAvailableBalance() string { - if x != nil { - return x.AvailableBalance - } - return "" -} - -func (x *SubaccountPortfolio) GetLockedBalance() string { - if x != nil { - return x.LockedBalance - } - return "" -} - -func (x *SubaccountPortfolio) GetUnrealizedPnl() string { - if x != nil { - return x.UnrealizedPnl - } - return "" -} - -type OrderStatesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SpotOrderHashes []string `protobuf:"bytes,1,rep,name=spot_order_hashes,json=spotOrderHashes,proto3" json:"spot_order_hashes,omitempty"` - DerivativeOrderHashes []string `protobuf:"bytes,2,rep,name=derivative_order_hashes,json=derivativeOrderHashes,proto3" json:"derivative_order_hashes,omitempty"` -} - -func (x *OrderStatesRequest) Reset() { - *x = OrderStatesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrderStatesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrderStatesRequest) ProtoMessage() {} - -func (x *OrderStatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrderStatesRequest.ProtoReflect.Descriptor instead. -func (*OrderStatesRequest) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{4} -} - -func (x *OrderStatesRequest) GetSpotOrderHashes() []string { - if x != nil { - return x.SpotOrderHashes - } - return nil -} - -func (x *OrderStatesRequest) GetDerivativeOrderHashes() []string { - if x != nil { - return x.DerivativeOrderHashes - } - return nil -} - -type OrderStatesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // List of the spot order state records - SpotOrderStates []*OrderStateRecord `protobuf:"bytes,1,rep,name=spot_order_states,json=spotOrderStates,proto3" json:"spot_order_states,omitempty"` - // List of the derivative order state records - DerivativeOrderStates []*OrderStateRecord `protobuf:"bytes,2,rep,name=derivative_order_states,json=derivativeOrderStates,proto3" json:"derivative_order_states,omitempty"` -} - -func (x *OrderStatesResponse) Reset() { - *x = OrderStatesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrderStatesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrderStatesResponse) ProtoMessage() {} - -func (x *OrderStatesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrderStatesResponse.ProtoReflect.Descriptor instead. -func (*OrderStatesResponse) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{5} -} - -func (x *OrderStatesResponse) GetSpotOrderStates() []*OrderStateRecord { - if x != nil { - return x.SpotOrderStates - } - return nil -} - -func (x *OrderStatesResponse) GetDerivativeOrderStates() []*OrderStateRecord { - if x != nil { - return x.DerivativeOrderStates - } - return nil -} - -type OrderStateRecord struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Hash of the order - OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` - // The subaccountId that this order belongs to - SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // The Market ID of the order - MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - // The type of the order - OrderType string `protobuf:"bytes,4,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` - // The side of the order - OrderSide string `protobuf:"bytes,5,opt,name=order_side,json=orderSide,proto3" json:"order_side,omitempty"` - // The state (status) of the order - State string `protobuf:"bytes,6,opt,name=state,proto3" json:"state,omitempty"` - // The filled quantity of the order - QuantityFilled string `protobuf:"bytes,7,opt,name=quantity_filled,json=quantityFilled,proto3" json:"quantity_filled,omitempty"` - // The filled quantity of the order - QuantityRemaining string `protobuf:"bytes,8,opt,name=quantity_remaining,json=quantityRemaining,proto3" json:"quantity_remaining,omitempty"` - // Order committed timestamp in UNIX millis. - CreatedAt int64 `protobuf:"zigzag64,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - // Order updated timestamp in UNIX millis. - UpdatedAt int64 `protobuf:"zigzag64,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - // Order prices - Price string `protobuf:"bytes,11,opt,name=price,proto3" json:"price,omitempty"` - // Margin for derivative order - Margin string `protobuf:"bytes,12,opt,name=margin,proto3" json:"margin,omitempty"` -} - -func (x *OrderStateRecord) Reset() { - *x = OrderStateRecord{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrderStateRecord) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrderStateRecord) ProtoMessage() {} - -func (x *OrderStateRecord) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrderStateRecord.ProtoReflect.Descriptor instead. -func (*OrderStateRecord) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{6} -} - -func (x *OrderStateRecord) GetOrderHash() string { - if x != nil { - return x.OrderHash - } - return "" -} - -func (x *OrderStateRecord) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *OrderStateRecord) GetMarketId() string { - if x != nil { - return x.MarketId - } - return "" -} - -func (x *OrderStateRecord) GetOrderType() string { - if x != nil { - return x.OrderType - } - return "" -} - -func (x *OrderStateRecord) GetOrderSide() string { - if x != nil { - return x.OrderSide - } - return "" -} - -func (x *OrderStateRecord) GetState() string { - if x != nil { - return x.State - } - return "" -} - -func (x *OrderStateRecord) GetQuantityFilled() string { - if x != nil { - return x.QuantityFilled - } - return "" -} - -func (x *OrderStateRecord) GetQuantityRemaining() string { - if x != nil { - return x.QuantityRemaining - } - return "" -} - -func (x *OrderStateRecord) GetCreatedAt() int64 { - if x != nil { - return x.CreatedAt - } - return 0 -} - -func (x *OrderStateRecord) GetUpdatedAt() int64 { - if x != nil { - return x.UpdatedAt - } - return 0 -} - -func (x *OrderStateRecord) GetPrice() string { - if x != nil { - return x.Price - } - return "" -} - -func (x *OrderStateRecord) GetMargin() string { - if x != nil { - return x.Margin - } - return "" -} - -type SubaccountsListRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Account address, the subaccounts owner - AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` -} - -func (x *SubaccountsListRequest) Reset() { - *x = SubaccountsListRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountsListRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountsListRequest) ProtoMessage() {} - -func (x *SubaccountsListRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountsListRequest.ProtoReflect.Descriptor instead. -func (*SubaccountsListRequest) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{7} -} - -func (x *SubaccountsListRequest) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -type SubaccountsListResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Subaccounts []string `protobuf:"bytes,1,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` -} - -func (x *SubaccountsListResponse) Reset() { - *x = SubaccountsListResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountsListResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountsListResponse) ProtoMessage() {} - -func (x *SubaccountsListResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountsListResponse.ProtoReflect.Descriptor instead. -func (*SubaccountsListResponse) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{8} -} - -func (x *SubaccountsListResponse) GetSubaccounts() []string { - if x != nil { - return x.Subaccounts - } - return nil -} - -type SubaccountBalancesListRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // SubaccountId of the trader we want to get the trades from - SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // Filter balances by denoms. If not set, the balances of all the denoms for - // the subaccount are provided. - Denoms []string `protobuf:"bytes,2,rep,name=denoms,proto3" json:"denoms,omitempty"` -} - -func (x *SubaccountBalancesListRequest) Reset() { - *x = SubaccountBalancesListRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountBalancesListRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountBalancesListRequest) ProtoMessage() {} - -func (x *SubaccountBalancesListRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountBalancesListRequest.ProtoReflect.Descriptor instead. -func (*SubaccountBalancesListRequest) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{9} -} - -func (x *SubaccountBalancesListRequest) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *SubaccountBalancesListRequest) GetDenoms() []string { - if x != nil { - return x.Denoms - } - return nil -} - -type SubaccountBalancesListResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // List of subaccount balances - Balances []*SubaccountBalance `protobuf:"bytes,1,rep,name=balances,proto3" json:"balances,omitempty"` -} - -func (x *SubaccountBalancesListResponse) Reset() { - *x = SubaccountBalancesListResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountBalancesListResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountBalancesListResponse) ProtoMessage() {} - -func (x *SubaccountBalancesListResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountBalancesListResponse.ProtoReflect.Descriptor instead. -func (*SubaccountBalancesListResponse) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{10} -} - -func (x *SubaccountBalancesListResponse) GetBalances() []*SubaccountBalance { - if x != nil { - return x.Balances - } - return nil -} - -type SubaccountBalance struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Related subaccount ID - SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // Account address, owner of this subaccount - AccountAddress string `protobuf:"bytes,2,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` - // Coin denom on the chain. - Denom string `protobuf:"bytes,3,opt,name=denom,proto3" json:"denom,omitempty"` - Deposit *SubaccountDeposit `protobuf:"bytes,4,opt,name=deposit,proto3" json:"deposit,omitempty"` -} - -func (x *SubaccountBalance) Reset() { - *x = SubaccountBalance{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountBalance) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountBalance) ProtoMessage() {} - -func (x *SubaccountBalance) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountBalance.ProtoReflect.Descriptor instead. -func (*SubaccountBalance) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{11} -} - -func (x *SubaccountBalance) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *SubaccountBalance) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -func (x *SubaccountBalance) GetDenom() string { - if x != nil { - return x.Denom - } - return "" -} - -func (x *SubaccountBalance) GetDeposit() *SubaccountDeposit { - if x != nil { - return x.Deposit - } - return nil -} - -type SubaccountDeposit struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TotalBalance string `protobuf:"bytes,1,opt,name=total_balance,json=totalBalance,proto3" json:"total_balance,omitempty"` - AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` -} - -func (x *SubaccountDeposit) Reset() { - *x = SubaccountDeposit{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountDeposit) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountDeposit) ProtoMessage() {} - -func (x *SubaccountDeposit) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountDeposit.ProtoReflect.Descriptor instead. -func (*SubaccountDeposit) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{12} -} - -func (x *SubaccountDeposit) GetTotalBalance() string { - if x != nil { - return x.TotalBalance - } - return "" -} - -func (x *SubaccountDeposit) GetAvailableBalance() string { - if x != nil { - return x.AvailableBalance - } - return "" -} - -type SubaccountBalanceEndpointRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // SubaccountId of the trader we want to get the trades from - SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // Specify denom to get balance - Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` -} - -func (x *SubaccountBalanceEndpointRequest) Reset() { - *x = SubaccountBalanceEndpointRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountBalanceEndpointRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountBalanceEndpointRequest) ProtoMessage() {} - -func (x *SubaccountBalanceEndpointRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountBalanceEndpointRequest.ProtoReflect.Descriptor instead. -func (*SubaccountBalanceEndpointRequest) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{13} -} - -func (x *SubaccountBalanceEndpointRequest) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *SubaccountBalanceEndpointRequest) GetDenom() string { - if x != nil { - return x.Denom - } - return "" -} - -type SubaccountBalanceEndpointResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Subaccount balance - Balance *SubaccountBalance `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"` -} - -func (x *SubaccountBalanceEndpointResponse) Reset() { - *x = SubaccountBalanceEndpointResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountBalanceEndpointResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountBalanceEndpointResponse) ProtoMessage() {} - -func (x *SubaccountBalanceEndpointResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountBalanceEndpointResponse.ProtoReflect.Descriptor instead. -func (*SubaccountBalanceEndpointResponse) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{14} -} - -func (x *SubaccountBalanceEndpointResponse) GetBalance() *SubaccountBalance { - if x != nil { - return x.Balance - } - return nil -} - -type StreamSubaccountBalanceRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // SubaccountId of the trader we want to get the trades from - SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // Filter balances by denoms. If not set, the balances of all the denoms for - // the subaccount are provided. - Denoms []string `protobuf:"bytes,2,rep,name=denoms,proto3" json:"denoms,omitempty"` -} - -func (x *StreamSubaccountBalanceRequest) Reset() { - *x = StreamSubaccountBalanceRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamSubaccountBalanceRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamSubaccountBalanceRequest) ProtoMessage() {} - -func (x *StreamSubaccountBalanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamSubaccountBalanceRequest.ProtoReflect.Descriptor instead. -func (*StreamSubaccountBalanceRequest) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{15} -} - -func (x *StreamSubaccountBalanceRequest) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *StreamSubaccountBalanceRequest) GetDenoms() []string { - if x != nil { - return x.Denoms - } - return nil -} - -type StreamSubaccountBalanceResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Subaccount balance - Balance *SubaccountBalance `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"` - // Operation timestamp in UNIX millis. - Timestamp int64 `protobuf:"zigzag64,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` -} - -func (x *StreamSubaccountBalanceResponse) Reset() { - *x = StreamSubaccountBalanceResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamSubaccountBalanceResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamSubaccountBalanceResponse) ProtoMessage() {} - -func (x *StreamSubaccountBalanceResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamSubaccountBalanceResponse.ProtoReflect.Descriptor instead. -func (*StreamSubaccountBalanceResponse) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{16} -} - -func (x *StreamSubaccountBalanceResponse) GetBalance() *SubaccountBalance { - if x != nil { - return x.Balance - } - return nil -} - -func (x *StreamSubaccountBalanceResponse) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -type SubaccountHistoryRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // SubaccountId of the trader we want to get the history from - SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // Filter history by denom - Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` - // Filter history by transfer type - TransferTypes []string `protobuf:"bytes,3,rep,name=transfer_types,json=transferTypes,proto3" json:"transfer_types,omitempty"` - // Skip will skip the first n item from the result - Skip uint64 `protobuf:"varint,4,opt,name=skip,proto3" json:"skip,omitempty"` - // Limit is used to specify the maximum number of items to be returned - Limit int32 `protobuf:"zigzag32,5,opt,name=limit,proto3" json:"limit,omitempty"` - // Upper bound of account transfer history's executedAt - EndTime int64 `protobuf:"zigzag64,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` -} - -func (x *SubaccountHistoryRequest) Reset() { - *x = SubaccountHistoryRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountHistoryRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountHistoryRequest) ProtoMessage() {} - -func (x *SubaccountHistoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountHistoryRequest.ProtoReflect.Descriptor instead. -func (*SubaccountHistoryRequest) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{17} -} - -func (x *SubaccountHistoryRequest) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *SubaccountHistoryRequest) GetDenom() string { - if x != nil { - return x.Denom - } - return "" -} - -func (x *SubaccountHistoryRequest) GetTransferTypes() []string { - if x != nil { - return x.TransferTypes - } - return nil -} - -func (x *SubaccountHistoryRequest) GetSkip() uint64 { - if x != nil { - return x.Skip - } - return 0 -} - -func (x *SubaccountHistoryRequest) GetLimit() int32 { - if x != nil { - return x.Limit - } - return 0 -} - -func (x *SubaccountHistoryRequest) GetEndTime() int64 { - if x != nil { - return x.EndTime - } - return 0 -} - -type SubaccountHistoryResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // List of subaccount transfers - Transfers []*SubaccountBalanceTransfer `protobuf:"bytes,1,rep,name=transfers,proto3" json:"transfers,omitempty"` - Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` -} - -func (x *SubaccountHistoryResponse) Reset() { - *x = SubaccountHistoryResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountHistoryResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountHistoryResponse) ProtoMessage() {} - -func (x *SubaccountHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountHistoryResponse.ProtoReflect.Descriptor instead. -func (*SubaccountHistoryResponse) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{18} -} - -func (x *SubaccountHistoryResponse) GetTransfers() []*SubaccountBalanceTransfer { - if x != nil { - return x.Transfers - } - return nil -} - -func (x *SubaccountHistoryResponse) GetPaging() *Paging { - if x != nil { - return x.Paging - } - return nil -} - -type SubaccountBalanceTransfer struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Type of the subaccount balance transfer - TransferType string `protobuf:"bytes,1,opt,name=transfer_type,json=transferType,proto3" json:"transfer_type,omitempty"` - // Subaccount ID of the sending side - SrcSubaccountId string `protobuf:"bytes,2,opt,name=src_subaccount_id,json=srcSubaccountId,proto3" json:"src_subaccount_id,omitempty"` - // Account address of the sending side - SrcAccountAddress string `protobuf:"bytes,3,opt,name=src_account_address,json=srcAccountAddress,proto3" json:"src_account_address,omitempty"` - // Subaccount ID of the receiving side - DstSubaccountId string `protobuf:"bytes,4,opt,name=dst_subaccount_id,json=dstSubaccountId,proto3" json:"dst_subaccount_id,omitempty"` - // Account address of the receiving side - DstAccountAddress string `protobuf:"bytes,5,opt,name=dst_account_address,json=dstAccountAddress,proto3" json:"dst_account_address,omitempty"` - // Coin amount of the transfer - Amount *CosmosCoin `protobuf:"bytes,6,opt,name=amount,proto3" json:"amount,omitempty"` - // Timestamp of the transfer in UNIX millis - ExecutedAt int64 `protobuf:"zigzag64,7,opt,name=executed_at,json=executedAt,proto3" json:"executed_at,omitempty"` -} - -func (x *SubaccountBalanceTransfer) Reset() { - *x = SubaccountBalanceTransfer{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountBalanceTransfer) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountBalanceTransfer) ProtoMessage() {} - -func (x *SubaccountBalanceTransfer) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountBalanceTransfer.ProtoReflect.Descriptor instead. -func (*SubaccountBalanceTransfer) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{19} -} - -func (x *SubaccountBalanceTransfer) GetTransferType() string { - if x != nil { - return x.TransferType - } - return "" -} - -func (x *SubaccountBalanceTransfer) GetSrcSubaccountId() string { - if x != nil { - return x.SrcSubaccountId - } - return "" -} - -func (x *SubaccountBalanceTransfer) GetSrcAccountAddress() string { - if x != nil { - return x.SrcAccountAddress - } - return "" -} - -func (x *SubaccountBalanceTransfer) GetDstSubaccountId() string { - if x != nil { - return x.DstSubaccountId - } - return "" -} - -func (x *SubaccountBalanceTransfer) GetDstAccountAddress() string { - if x != nil { - return x.DstAccountAddress - } - return "" -} - -func (x *SubaccountBalanceTransfer) GetAmount() *CosmosCoin { - if x != nil { - return x.Amount - } - return nil -} - -func (x *SubaccountBalanceTransfer) GetExecutedAt() int64 { - if x != nil { - return x.ExecutedAt - } - return 0 -} - -type CosmosCoin struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Coin denominator - Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` - // Coin amount (big int) - Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` -} - -func (x *CosmosCoin) Reset() { - *x = CosmosCoin{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CosmosCoin) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CosmosCoin) ProtoMessage() {} - -func (x *CosmosCoin) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CosmosCoin.ProtoReflect.Descriptor instead. -func (*CosmosCoin) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{20} -} - -func (x *CosmosCoin) GetDenom() string { - if x != nil { - return x.Denom - } - return "" -} - -func (x *CosmosCoin) GetAmount() string { - if x != nil { - return x.Amount - } - return "" -} - -// Paging defines the structure for required params for handling pagination -type Paging struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // total number of txs saved in database - Total int64 `protobuf:"zigzag64,1,opt,name=total,proto3" json:"total,omitempty"` - // can be either block height or index num - From int32 `protobuf:"zigzag32,2,opt,name=from,proto3" json:"from,omitempty"` - // can be either block height or index num - To int32 `protobuf:"zigzag32,3,opt,name=to,proto3" json:"to,omitempty"` - // count entries by subaccount, serving some places on helix - CountBySubaccount int64 `protobuf:"zigzag64,4,opt,name=count_by_subaccount,json=countBySubaccount,proto3" json:"count_by_subaccount,omitempty"` - // array of tokens to navigate to the next pages - Next []string `protobuf:"bytes,5,rep,name=next,proto3" json:"next,omitempty"` -} - -func (x *Paging) Reset() { - *x = Paging{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Paging) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Paging) ProtoMessage() {} - -func (x *Paging) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Paging.ProtoReflect.Descriptor instead. -func (*Paging) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{21} -} - -func (x *Paging) GetTotal() int64 { - if x != nil { - return x.Total - } - return 0 -} - -func (x *Paging) GetFrom() int32 { - if x != nil { - return x.From - } - return 0 -} - -func (x *Paging) GetTo() int32 { - if x != nil { - return x.To - } - return 0 -} - -func (x *Paging) GetCountBySubaccount() int64 { - if x != nil { - return x.CountBySubaccount - } - return 0 -} - -func (x *Paging) GetNext() []string { - if x != nil { - return x.Next - } - return nil -} - -type SubaccountOrderSummaryRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // SubaccountId of the trader we want to get the summary from - SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // MarketId is limiting order summary to specific market only - MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - // Filter by direction of the orders - OrderDirection string `protobuf:"bytes,3,opt,name=order_direction,json=orderDirection,proto3" json:"order_direction,omitempty"` -} - -func (x *SubaccountOrderSummaryRequest) Reset() { - *x = SubaccountOrderSummaryRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountOrderSummaryRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountOrderSummaryRequest) ProtoMessage() {} - -func (x *SubaccountOrderSummaryRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountOrderSummaryRequest.ProtoReflect.Descriptor instead. -func (*SubaccountOrderSummaryRequest) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{22} -} - -func (x *SubaccountOrderSummaryRequest) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *SubaccountOrderSummaryRequest) GetMarketId() string { - if x != nil { - return x.MarketId - } - return "" -} - -func (x *SubaccountOrderSummaryRequest) GetOrderDirection() string { - if x != nil { - return x.OrderDirection - } - return "" -} - -type SubaccountOrderSummaryResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Total count of subaccount's spot orders in given market and direction - SpotOrdersTotal int64 `protobuf:"zigzag64,1,opt,name=spot_orders_total,json=spotOrdersTotal,proto3" json:"spot_orders_total,omitempty"` - // Total count of subaccount's derivative orders in given market and direction - DerivativeOrdersTotal int64 `protobuf:"zigzag64,2,opt,name=derivative_orders_total,json=derivativeOrdersTotal,proto3" json:"derivative_orders_total,omitempty"` -} - -func (x *SubaccountOrderSummaryResponse) Reset() { - *x = SubaccountOrderSummaryResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountOrderSummaryResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountOrderSummaryResponse) ProtoMessage() {} - -func (x *SubaccountOrderSummaryResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountOrderSummaryResponse.ProtoReflect.Descriptor instead. -func (*SubaccountOrderSummaryResponse) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{23} -} - -func (x *SubaccountOrderSummaryResponse) GetSpotOrdersTotal() int64 { - if x != nil { - return x.SpotOrdersTotal - } - return 0 -} - -func (x *SubaccountOrderSummaryResponse) GetDerivativeOrdersTotal() int64 { - if x != nil { - return x.DerivativeOrdersTotal - } - return 0 -} - -type RewardsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The distribution epoch sequence number. -1 for latest. - Epoch int64 `protobuf:"zigzag64,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Account address for the rewards distribution - AccountAddress string `protobuf:"bytes,2,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` -} - -func (x *RewardsRequest) Reset() { - *x = RewardsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RewardsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RewardsRequest) ProtoMessage() {} - -func (x *RewardsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RewardsRequest.ProtoReflect.Descriptor instead. -func (*RewardsRequest) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{24} -} - -func (x *RewardsRequest) GetEpoch() int64 { - if x != nil { - return x.Epoch - } - return 0 -} - -func (x *RewardsRequest) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -type RewardsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The trading rewards distributed - Rewards []*Reward `protobuf:"bytes,1,rep,name=rewards,proto3" json:"rewards,omitempty"` -} - -func (x *RewardsResponse) Reset() { - *x = RewardsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RewardsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RewardsResponse) ProtoMessage() {} - -func (x *RewardsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RewardsResponse.ProtoReflect.Descriptor instead. -func (*RewardsResponse) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{25} -} - -func (x *RewardsResponse) GetRewards() []*Reward { - if x != nil { - return x.Rewards - } - return nil -} - -type Reward struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Account address - AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` - // Reward coins distributed - Rewards []*Coin `protobuf:"bytes,2,rep,name=rewards,proto3" json:"rewards,omitempty"` - // Rewards distribution timestamp in UNIX millis. - DistributedAt int64 `protobuf:"zigzag64,3,opt,name=distributed_at,json=distributedAt,proto3" json:"distributed_at,omitempty"` -} - -func (x *Reward) Reset() { - *x = Reward{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Reward) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Reward) ProtoMessage() {} - -func (x *Reward) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Reward.ProtoReflect.Descriptor instead. -func (*Reward) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{26} -} - -func (x *Reward) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -func (x *Reward) GetRewards() []*Coin { - if x != nil { - return x.Rewards - } - return nil -} - -func (x *Reward) GetDistributedAt() int64 { - if x != nil { - return x.DistributedAt - } - return 0 -} - -type Coin struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Denom of the coin - Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` - Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` -} - -func (x *Coin) Reset() { - *x = Coin{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Coin) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Coin) ProtoMessage() {} - -func (x *Coin) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Coin.ProtoReflect.Descriptor instead. -func (*Coin) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{27} -} - -func (x *Coin) GetDenom() string { - if x != nil { - return x.Denom - } - return "" -} - -func (x *Coin) GetAmount() string { - if x != nil { - return x.Amount - } - return "" -} - -var File_injective_accounts_rpc_proto protoreflect.FileDescriptor - -var file_injective_accounts_rpc_proto_rawDesc = []byte{ - 0x0a, 0x1c, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x3b, 0x0a, 0x10, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, - 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x22, 0x5b, 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, - 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, - 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, - 0x22, 0x85, 0x02, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, - 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, - 0x69, 0x6f, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2b, - 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, - 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, - 0x5f, 0x70, 0x6e, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x75, 0x6e, 0x72, 0x65, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x6e, 0x6c, 0x12, 0x4d, 0x0a, 0x0b, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x0b, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0xb5, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, - 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x6b, - 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, 0x72, - 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x70, 0x6e, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x6e, 0x6c, - 0x22, 0x78, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0f, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, - 0x65, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x15, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x22, 0xcd, 0x01, 0x0a, 0x13, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0f, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x17, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x52, 0x15, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x22, 0x8b, 0x03, 0x0a, 0x10, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, - 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, - 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, - 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x5f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x71, - 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x2d, 0x0a, - 0x12, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, - 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x71, 0x75, 0x61, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, - 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, 0x0a, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x22, 0x41, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3b, 0x0a, 0x17, 0x53, - 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x5c, 0x0a, 0x1d, 0x53, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, - 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x22, 0x67, 0x0a, 0x1e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x62, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, - 0xbc, 0x01, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, - 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x43, 0x0a, 0x07, 0x64, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x07, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x22, 0x65, - 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x5d, 0x0a, 0x20, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x68, 0x0a, 0x21, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x5d, - 0x0a, 0x1e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x22, 0x84, 0x01, - 0x0a, 0x1f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x43, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc1, 0x01, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x25, 0x0a, 0x0e, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, - 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x19, 0x53, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x09, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, - 0xd5, 0x02, 0x0a, 0x19, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x23, 0x0a, - 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, - 0x72, 0x63, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, - 0x0a, 0x13, 0x73, 0x72, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x72, 0x63, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, - 0x0a, 0x11, 0x64, 0x73, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x73, 0x74, 0x53, 0x75, - 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x73, - 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 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, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x22, 0x8a, 0x01, 0x0a, - 0x1d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, - 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, - 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x1e, 0x53, 0x75, - 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x6d, - 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x11, - 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0f, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x15, 0x64, 0x65, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, - 0x22, 0x4f, 0x0a, 0x0e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x22, 0x90, - 0x01, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, - 0x6e, 0x52, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x69, - 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x22, 0x34, 0x0a, 0x04, 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, 0x32, 0xe0, 0x08, 0x0a, 0x14, 0x49, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x50, 0x43, - 0x12, 0x60, 0x0a, 0x09, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x12, 0x28, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x73, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0f, 0x53, 0x75, - 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, - 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x53, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x17, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, - 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x78, 0x0a, 0x11, 0x53, 0x75, - 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, - 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, - 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, - 0x0a, 0x07, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x1b, 0x5a, 0x19, 0x2f, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_injective_accounts_rpc_proto_rawDescOnce sync.Once - file_injective_accounts_rpc_proto_rawDescData = file_injective_accounts_rpc_proto_rawDesc -) - -func file_injective_accounts_rpc_proto_rawDescGZIP() []byte { - file_injective_accounts_rpc_proto_rawDescOnce.Do(func() { - file_injective_accounts_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_accounts_rpc_proto_rawDescData) - }) - return file_injective_accounts_rpc_proto_rawDescData -} - -var file_injective_accounts_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 28) -var file_injective_accounts_rpc_proto_goTypes = []interface{}{ - (*PortfolioRequest)(nil), // 0: injective_accounts_rpc.PortfolioRequest - (*PortfolioResponse)(nil), // 1: injective_accounts_rpc.PortfolioResponse - (*AccountPortfolio)(nil), // 2: injective_accounts_rpc.AccountPortfolio - (*SubaccountPortfolio)(nil), // 3: injective_accounts_rpc.SubaccountPortfolio - (*OrderStatesRequest)(nil), // 4: injective_accounts_rpc.OrderStatesRequest - (*OrderStatesResponse)(nil), // 5: injective_accounts_rpc.OrderStatesResponse - (*OrderStateRecord)(nil), // 6: injective_accounts_rpc.OrderStateRecord - (*SubaccountsListRequest)(nil), // 7: injective_accounts_rpc.SubaccountsListRequest - (*SubaccountsListResponse)(nil), // 8: injective_accounts_rpc.SubaccountsListResponse - (*SubaccountBalancesListRequest)(nil), // 9: injective_accounts_rpc.SubaccountBalancesListRequest - (*SubaccountBalancesListResponse)(nil), // 10: injective_accounts_rpc.SubaccountBalancesListResponse - (*SubaccountBalance)(nil), // 11: injective_accounts_rpc.SubaccountBalance - (*SubaccountDeposit)(nil), // 12: injective_accounts_rpc.SubaccountDeposit - (*SubaccountBalanceEndpointRequest)(nil), // 13: injective_accounts_rpc.SubaccountBalanceEndpointRequest - (*SubaccountBalanceEndpointResponse)(nil), // 14: injective_accounts_rpc.SubaccountBalanceEndpointResponse - (*StreamSubaccountBalanceRequest)(nil), // 15: injective_accounts_rpc.StreamSubaccountBalanceRequest - (*StreamSubaccountBalanceResponse)(nil), // 16: injective_accounts_rpc.StreamSubaccountBalanceResponse - (*SubaccountHistoryRequest)(nil), // 17: injective_accounts_rpc.SubaccountHistoryRequest - (*SubaccountHistoryResponse)(nil), // 18: injective_accounts_rpc.SubaccountHistoryResponse - (*SubaccountBalanceTransfer)(nil), // 19: injective_accounts_rpc.SubaccountBalanceTransfer - (*CosmosCoin)(nil), // 20: injective_accounts_rpc.CosmosCoin - (*Paging)(nil), // 21: injective_accounts_rpc.Paging - (*SubaccountOrderSummaryRequest)(nil), // 22: injective_accounts_rpc.SubaccountOrderSummaryRequest - (*SubaccountOrderSummaryResponse)(nil), // 23: injective_accounts_rpc.SubaccountOrderSummaryResponse - (*RewardsRequest)(nil), // 24: injective_accounts_rpc.RewardsRequest - (*RewardsResponse)(nil), // 25: injective_accounts_rpc.RewardsResponse - (*Reward)(nil), // 26: injective_accounts_rpc.Reward - (*Coin)(nil), // 27: injective_accounts_rpc.Coin -} -var file_injective_accounts_rpc_proto_depIdxs = []int32{ - 2, // 0: injective_accounts_rpc.PortfolioResponse.portfolio:type_name -> injective_accounts_rpc.AccountPortfolio - 3, // 1: injective_accounts_rpc.AccountPortfolio.subaccounts:type_name -> injective_accounts_rpc.SubaccountPortfolio - 6, // 2: injective_accounts_rpc.OrderStatesResponse.spot_order_states:type_name -> injective_accounts_rpc.OrderStateRecord - 6, // 3: injective_accounts_rpc.OrderStatesResponse.derivative_order_states:type_name -> injective_accounts_rpc.OrderStateRecord - 11, // 4: injective_accounts_rpc.SubaccountBalancesListResponse.balances:type_name -> injective_accounts_rpc.SubaccountBalance - 12, // 5: injective_accounts_rpc.SubaccountBalance.deposit:type_name -> injective_accounts_rpc.SubaccountDeposit - 11, // 6: injective_accounts_rpc.SubaccountBalanceEndpointResponse.balance:type_name -> injective_accounts_rpc.SubaccountBalance - 11, // 7: injective_accounts_rpc.StreamSubaccountBalanceResponse.balance:type_name -> injective_accounts_rpc.SubaccountBalance - 19, // 8: injective_accounts_rpc.SubaccountHistoryResponse.transfers:type_name -> injective_accounts_rpc.SubaccountBalanceTransfer - 21, // 9: injective_accounts_rpc.SubaccountHistoryResponse.paging:type_name -> injective_accounts_rpc.Paging - 20, // 10: injective_accounts_rpc.SubaccountBalanceTransfer.amount:type_name -> injective_accounts_rpc.CosmosCoin - 26, // 11: injective_accounts_rpc.RewardsResponse.rewards:type_name -> injective_accounts_rpc.Reward - 27, // 12: injective_accounts_rpc.Reward.rewards:type_name -> injective_accounts_rpc.Coin - 0, // 13: injective_accounts_rpc.InjectiveAccountsRPC.Portfolio:input_type -> injective_accounts_rpc.PortfolioRequest - 4, // 14: injective_accounts_rpc.InjectiveAccountsRPC.OrderStates:input_type -> injective_accounts_rpc.OrderStatesRequest - 7, // 15: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountsList:input_type -> injective_accounts_rpc.SubaccountsListRequest - 9, // 16: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalancesList:input_type -> injective_accounts_rpc.SubaccountBalancesListRequest - 13, // 17: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalanceEndpoint:input_type -> injective_accounts_rpc.SubaccountBalanceEndpointRequest - 15, // 18: injective_accounts_rpc.InjectiveAccountsRPC.StreamSubaccountBalance:input_type -> injective_accounts_rpc.StreamSubaccountBalanceRequest - 17, // 19: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountHistory:input_type -> injective_accounts_rpc.SubaccountHistoryRequest - 22, // 20: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountOrderSummary:input_type -> injective_accounts_rpc.SubaccountOrderSummaryRequest - 24, // 21: injective_accounts_rpc.InjectiveAccountsRPC.Rewards:input_type -> injective_accounts_rpc.RewardsRequest - 1, // 22: injective_accounts_rpc.InjectiveAccountsRPC.Portfolio:output_type -> injective_accounts_rpc.PortfolioResponse - 5, // 23: injective_accounts_rpc.InjectiveAccountsRPC.OrderStates:output_type -> injective_accounts_rpc.OrderStatesResponse - 8, // 24: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountsList:output_type -> injective_accounts_rpc.SubaccountsListResponse - 10, // 25: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalancesList:output_type -> injective_accounts_rpc.SubaccountBalancesListResponse - 14, // 26: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalanceEndpoint:output_type -> injective_accounts_rpc.SubaccountBalanceEndpointResponse - 16, // 27: injective_accounts_rpc.InjectiveAccountsRPC.StreamSubaccountBalance:output_type -> injective_accounts_rpc.StreamSubaccountBalanceResponse - 18, // 28: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountHistory:output_type -> injective_accounts_rpc.SubaccountHistoryResponse - 23, // 29: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountOrderSummary:output_type -> injective_accounts_rpc.SubaccountOrderSummaryResponse - 25, // 30: injective_accounts_rpc.InjectiveAccountsRPC.Rewards:output_type -> injective_accounts_rpc.RewardsResponse - 22, // [22:31] is the sub-list for method output_type - 13, // [13:22] is the sub-list for method input_type - 13, // [13:13] is the sub-list for extension type_name - 13, // [13:13] is the sub-list for extension extendee - 0, // [0:13] is the sub-list for field type_name -} - -func init() { file_injective_accounts_rpc_proto_init() } -func file_injective_accounts_rpc_proto_init() { - if File_injective_accounts_rpc_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_injective_accounts_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PortfolioRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PortfolioResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccountPortfolio); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountPortfolio); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrderStatesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrderStatesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrderStateRecord); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountsListRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountsListResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountBalancesListRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountBalancesListResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountBalance); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountDeposit); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountBalanceEndpointRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountBalanceEndpointResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamSubaccountBalanceRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamSubaccountBalanceResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountHistoryRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountHistoryResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountBalanceTransfer); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CosmosCoin); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Paging); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountOrderSummaryRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountOrderSummaryResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RewardsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RewardsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Reward); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Coin); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_accounts_rpc_proto_rawDesc, - NumEnums: 0, - NumMessages: 28, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_injective_accounts_rpc_proto_goTypes, - DependencyIndexes: file_injective_accounts_rpc_proto_depIdxs, - MessageInfos: file_injective_accounts_rpc_proto_msgTypes, - }.Build() - File_injective_accounts_rpc_proto = out.File - file_injective_accounts_rpc_proto_rawDesc = nil - file_injective_accounts_rpc_proto_goTypes = nil - file_injective_accounts_rpc_proto_depIdxs = nil -} diff --git a/exchange/accounts_rpc/pb/injective_accounts_rpc.pb.gw.go b/exchange/accounts_rpc/pb/injective_accounts_rpc.pb.gw.go index 9f07d8f7..4ceab949 100644 --- a/exchange/accounts_rpc/pb/injective_accounts_rpc.pb.gw.go +++ b/exchange/accounts_rpc/pb/injective_accounts_rpc.pb.gw.go @@ -328,6 +328,31 @@ func local_request_InjectiveAccountsRPC_Rewards_0(ctx context.Context, marshaler } +func request_InjectiveAccountsRPC_StreamAccountData_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (InjectiveAccountsRPC_StreamAccountDataClient, runtime.ServerMetadata, error) { + var protoReq StreamAccountDataRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + stream, err := client.StreamAccountData(ctx, &protoReq) + if err != nil { + return nil, metadata, err + } + header, err := stream.Header() + if err != nil { + return nil, metadata, err + } + metadata.HeaderMD = header + return stream, metadata, nil + +} + // RegisterInjectiveAccountsRPCHandlerServer registers the http handlers for service InjectiveAccountsRPC to "mux". // UnaryRPC :call InjectiveAccountsRPCServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -340,20 +365,22 @@ func RegisterInjectiveAccountsRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAccountsRPC_Portfolio_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAccountsRPC_Portfolio_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_Portfolio_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_Portfolio_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -363,20 +390,22 @@ func RegisterInjectiveAccountsRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAccountsRPC_OrderStates_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAccountsRPC_OrderStates_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_OrderStates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_OrderStates_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -386,20 +415,22 @@ func RegisterInjectiveAccountsRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAccountsRPC_SubaccountsList_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountsList_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountsList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountsList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -409,20 +440,22 @@ func RegisterInjectiveAccountsRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAccountsRPC_SubaccountBalancesList_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountBalancesList_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountBalancesList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountBalancesList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -432,20 +465,22 @@ func RegisterInjectiveAccountsRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -462,20 +497,22 @@ func RegisterInjectiveAccountsRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAccountsRPC_SubaccountHistory_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountHistory_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountHistory_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -485,20 +522,22 @@ func RegisterInjectiveAccountsRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAccountsRPC_SubaccountOrderSummary_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountOrderSummary_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountOrderSummary_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountOrderSummary_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -508,23 +547,32 @@ func RegisterInjectiveAccountsRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Rewards", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Rewards")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Rewards", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Rewards")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAccountsRPC_Rewards_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAccountsRPC_Rewards_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_Rewards_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_Rewards_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) + mux.Handle("POST", pattern_InjectiveAccountsRPC_StreamAccountData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") + _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + }) + return nil } @@ -570,19 +618,21 @@ func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAccountsRPC_Portfolio_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAccountsRPC_Portfolio_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_Portfolio_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_Portfolio_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -590,19 +640,21 @@ func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAccountsRPC_OrderStates_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAccountsRPC_OrderStates_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_OrderStates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_OrderStates_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -610,19 +662,21 @@ func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAccountsRPC_SubaccountsList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAccountsRPC_SubaccountsList_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountsList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountsList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -630,19 +684,21 @@ func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAccountsRPC_SubaccountBalancesList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAccountsRPC_SubaccountBalancesList_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountBalancesList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountBalancesList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -650,19 +706,21 @@ func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -670,19 +728,21 @@ func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/StreamSubaccountBalance", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/StreamSubaccountBalance")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/StreamSubaccountBalance", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/StreamSubaccountBalance")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAccountsRPC_StreamSubaccountBalance_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAccountsRPC_StreamSubaccountBalance_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_StreamSubaccountBalance_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_StreamSubaccountBalance_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -690,19 +750,21 @@ func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAccountsRPC_SubaccountHistory_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAccountsRPC_SubaccountHistory_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountHistory_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -710,19 +772,21 @@ func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAccountsRPC_SubaccountOrderSummary_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAccountsRPC_SubaccountOrderSummary_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountOrderSummary_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountOrderSummary_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -730,19 +794,43 @@ func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Rewards", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Rewards")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Rewards", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Rewards")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAccountsRPC_Rewards_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAccountsRPC_Rewards_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_Rewards_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_StreamAccountData_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/StreamAccountData", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/StreamAccountData")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } + resp, md, err := request_InjectiveAccountsRPC_StreamAccountData_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } - forward_InjectiveAccountsRPC_Rewards_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_StreamAccountData_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -767,6 +855,8 @@ var ( pattern_InjectiveAccountsRPC_SubaccountOrderSummary_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "SubaccountOrderSummary"}, "")) pattern_InjectiveAccountsRPC_Rewards_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "Rewards"}, "")) + + pattern_InjectiveAccountsRPC_StreamAccountData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "StreamAccountData"}, "")) ) var ( @@ -787,4 +877,6 @@ var ( forward_InjectiveAccountsRPC_SubaccountOrderSummary_0 = runtime.ForwardResponseMessage forward_InjectiveAccountsRPC_Rewards_0 = runtime.ForwardResponseMessage + + forward_InjectiveAccountsRPC_StreamAccountData_0 = runtime.ForwardResponseStream ) diff --git a/exchange/accounts_rpc/pb/injective_accounts_rpc.proto b/exchange/accounts_rpc/pb/injective_accounts_rpc.proto deleted file mode 100644 index b5c3eba7..00000000 --- a/exchange/accounts_rpc/pb/injective_accounts_rpc.proto +++ /dev/null @@ -1,274 +0,0 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. -// -// InjectiveAccountsRPC protocol buffer definition -// -// Command: -// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ - -syntax = "proto3"; - -package injective_accounts_rpc; - -option go_package = "/injective_accounts_rpcpb"; - -// InjectiveAccountsRPC defines API of Exchange Accounts provider. -service InjectiveAccountsRPC { - // Provide the account's portfolio value in USD. - rpc Portfolio (PortfolioRequest) returns (PortfolioResponse); - // List order states by order hashes - rpc OrderStates (OrderStatesRequest) returns (OrderStatesResponse); - // List all subaccounts IDs of an account address - rpc SubaccountsList (SubaccountsListRequest) returns (SubaccountsListResponse); - // List subaccount balances for the provided denoms. - rpc SubaccountBalancesList (SubaccountBalancesListRequest) returns (SubaccountBalancesListResponse); - // Gets a balance for specific coin denom - rpc SubaccountBalanceEndpoint (SubaccountBalanceEndpointRequest) returns (SubaccountBalanceEndpointResponse); - // StreamSubaccountBalance streams new balance changes for a specified -// subaccount and denoms. If no denoms are provided, all denom changes are -// streamed. - rpc StreamSubaccountBalance (StreamSubaccountBalanceRequest) returns (stream StreamSubaccountBalanceResponse); - // Get subaccount's deposits and withdrawals history - rpc SubaccountHistory (SubaccountHistoryRequest) returns (SubaccountHistoryResponse); - // Get subaccount's orders summary - rpc SubaccountOrderSummary (SubaccountOrderSummaryRequest) returns (SubaccountOrderSummaryResponse); - // Provide historical trading rewards - rpc Rewards (RewardsRequest) returns (RewardsResponse); -} - -message PortfolioRequest { - // Account address - string account_address = 1; -} - -message PortfolioResponse { - // The portfolio of this account - AccountPortfolio portfolio = 1; -} - -message AccountPortfolio { - // The account's portfolio value in USD. - string portfolio_value = 1; - // The account's available balance value in USD. - string available_balance = 2; - // The account's locked balance value in USD. - string locked_balance = 3; - // The account's total unrealized PnL value in USD. - string unrealized_pnl = 4; - // List of all subaccounts' portfolio - repeated SubaccountPortfolio subaccounts = 5; -} - -message SubaccountPortfolio { - // The ID of this subaccount - string subaccount_id = 1; - // The subaccount's available balance value in USD. - string available_balance = 2; - // The subaccount's locked balance value in USD. - string locked_balance = 3; - // The subaccount's total unrealized PnL value in USD. - string unrealized_pnl = 4; -} - -message OrderStatesRequest { - repeated string spot_order_hashes = 1; - repeated string derivative_order_hashes = 2; -} - -message OrderStatesResponse { - // List of the spot order state records - repeated OrderStateRecord spot_order_states = 1; - // List of the derivative order state records - repeated OrderStateRecord derivative_order_states = 2; -} - -message OrderStateRecord { - // Hash of the order - string order_hash = 1; - // The subaccountId that this order belongs to - string subaccount_id = 2; - // The Market ID of the order - string market_id = 3; - // The type of the order - string order_type = 4; - // The side of the order - string order_side = 5; - // The state (status) of the order - string state = 6; - // The filled quantity of the order - string quantity_filled = 7; - // The filled quantity of the order - string quantity_remaining = 8; - // Order committed timestamp in UNIX millis. - sint64 created_at = 9; - // Order updated timestamp in UNIX millis. - sint64 updated_at = 10; - // Order prices - string price = 11; - // Margin for derivative order - string margin = 12; -} - -message SubaccountsListRequest { - // Account address, the subaccounts owner - string account_address = 1; -} - -message SubaccountsListResponse { - repeated string subaccounts = 1; -} - -message SubaccountBalancesListRequest { - // SubaccountId of the trader we want to get the trades from - string subaccount_id = 1; - // Filter balances by denoms. If not set, the balances of all the denoms for -// the subaccount are provided. - repeated string denoms = 2; -} - -message SubaccountBalancesListResponse { - // List of subaccount balances - repeated SubaccountBalance balances = 1; -} - -message SubaccountBalance { - // Related subaccount ID - string subaccount_id = 1; - // Account address, owner of this subaccount - string account_address = 2; - // Coin denom on the chain. - string denom = 3; - SubaccountDeposit deposit = 4; -} - -message SubaccountDeposit { - string total_balance = 1; - string available_balance = 2; -} - -message SubaccountBalanceEndpointRequest { - // SubaccountId of the trader we want to get the trades from - string subaccount_id = 1; - // Specify denom to get balance - string denom = 2; -} - -message SubaccountBalanceEndpointResponse { - // Subaccount balance - SubaccountBalance balance = 1; -} - -message StreamSubaccountBalanceRequest { - // SubaccountId of the trader we want to get the trades from - string subaccount_id = 1; - // Filter balances by denoms. If not set, the balances of all the denoms for -// the subaccount are provided. - repeated string denoms = 2; -} - -message StreamSubaccountBalanceResponse { - // Subaccount balance - SubaccountBalance balance = 1; - // Operation timestamp in UNIX millis. - sint64 timestamp = 2; -} - -message SubaccountHistoryRequest { - // SubaccountId of the trader we want to get the history from - string subaccount_id = 1; - // Filter history by denom - string denom = 2; - // Filter history by transfer type - repeated string transfer_types = 3; - // Skip will skip the first n item from the result - uint64 skip = 4; - // Limit is used to specify the maximum number of items to be returned - sint32 limit = 5; - // Upper bound of account transfer history's executedAt - sint64 end_time = 6; -} - -message SubaccountHistoryResponse { - // List of subaccount transfers - repeated SubaccountBalanceTransfer transfers = 1; - Paging paging = 2; -} - -message SubaccountBalanceTransfer { - // Type of the subaccount balance transfer - string transfer_type = 1; - // Subaccount ID of the sending side - string src_subaccount_id = 2; - // Account address of the sending side - string src_account_address = 3; - // Subaccount ID of the receiving side - string dst_subaccount_id = 4; - // Account address of the receiving side - string dst_account_address = 5; - // Coin amount of the transfer - CosmosCoin amount = 6; - // Timestamp of the transfer in UNIX millis - sint64 executed_at = 7; -} - -message CosmosCoin { - // Coin denominator - string denom = 1; - // Coin amount (big int) - string amount = 2; -} -// Paging defines the structure for required params for handling pagination -message Paging { - // total number of txs saved in database - sint64 total = 1; - // can be either block height or index num - sint32 from = 2; - // can be either block height or index num - sint32 to = 3; - // count entries by subaccount, serving some places on helix - sint64 count_by_subaccount = 4; - // array of tokens to navigate to the next pages - repeated string next = 5; -} - -message SubaccountOrderSummaryRequest { - // SubaccountId of the trader we want to get the summary from - string subaccount_id = 1; - // MarketId is limiting order summary to specific market only - string market_id = 2; - // Filter by direction of the orders - string order_direction = 3; -} - -message SubaccountOrderSummaryResponse { - // Total count of subaccount's spot orders in given market and direction - sint64 spot_orders_total = 1; - // Total count of subaccount's derivative orders in given market and direction - sint64 derivative_orders_total = 2; -} - -message RewardsRequest { - // The distribution epoch sequence number. -1 for latest. - sint64 epoch = 1; - // Account address for the rewards distribution - string account_address = 2; -} - -message RewardsResponse { - // The trading rewards distributed - repeated Reward rewards = 1; -} - -message Reward { - // Account address - string account_address = 1; - // Reward coins distributed - repeated Coin rewards = 2; - // Rewards distribution timestamp in UNIX millis. - sint64 distributed_at = 3; -} - -message Coin { - // Denom of the coin - string denom = 1; - string amount = 2; -} diff --git a/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.pb.go b/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.pb.go new file mode 100644 index 00000000..d68f07d1 --- /dev/null +++ b/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.pb.go @@ -0,0 +1,5333 @@ +// Code generated with goa v3.7.0, DO NOT EDIT. +// +// InjectiveAccountsRPC protocol buffer definition +// +// Command: +// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc v4.25.3 +// source: goadesign_goagen_injective_accounts_rpc.proto + +package injective_accounts_rpcpb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type PortfolioRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *PortfolioRequest) Reset() { + *x = PortfolioRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortfolioRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortfolioRequest) ProtoMessage() {} + +func (x *PortfolioRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortfolioRequest.ProtoReflect.Descriptor instead. +func (*PortfolioRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{0} +} + +func (x *PortfolioRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type PortfolioResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The portfolio of this account + Portfolio *AccountPortfolio `protobuf:"bytes,1,opt,name=portfolio,proto3" json:"portfolio,omitempty"` +} + +func (x *PortfolioResponse) Reset() { + *x = PortfolioResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortfolioResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortfolioResponse) ProtoMessage() {} + +func (x *PortfolioResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortfolioResponse.ProtoReflect.Descriptor instead. +func (*PortfolioResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{1} +} + +func (x *PortfolioResponse) GetPortfolio() *AccountPortfolio { + if x != nil { + return x.Portfolio + } + return nil +} + +type AccountPortfolio struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The account's portfolio value in USD. + PortfolioValue string `protobuf:"bytes,1,opt,name=portfolio_value,json=portfolioValue,proto3" json:"portfolio_value,omitempty"` + // The account's available balance value in USD. + AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` + // The account's locked balance value in USD. + LockedBalance string `protobuf:"bytes,3,opt,name=locked_balance,json=lockedBalance,proto3" json:"locked_balance,omitempty"` + // The account's total unrealized PnL value in USD. + UnrealizedPnl string `protobuf:"bytes,4,opt,name=unrealized_pnl,json=unrealizedPnl,proto3" json:"unrealized_pnl,omitempty"` + // List of all subaccounts' portfolio + Subaccounts []*SubaccountPortfolio `protobuf:"bytes,5,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` +} + +func (x *AccountPortfolio) Reset() { + *x = AccountPortfolio{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountPortfolio) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountPortfolio) ProtoMessage() {} + +func (x *AccountPortfolio) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountPortfolio.ProtoReflect.Descriptor instead. +func (*AccountPortfolio) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{2} +} + +func (x *AccountPortfolio) GetPortfolioValue() string { + if x != nil { + return x.PortfolioValue + } + return "" +} + +func (x *AccountPortfolio) GetAvailableBalance() string { + if x != nil { + return x.AvailableBalance + } + return "" +} + +func (x *AccountPortfolio) GetLockedBalance() string { + if x != nil { + return x.LockedBalance + } + return "" +} + +func (x *AccountPortfolio) GetUnrealizedPnl() string { + if x != nil { + return x.UnrealizedPnl + } + return "" +} + +func (x *AccountPortfolio) GetSubaccounts() []*SubaccountPortfolio { + if x != nil { + return x.Subaccounts + } + return nil +} + +type SubaccountPortfolio struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of this subaccount + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The subaccount's available balance value in USD. + AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` + // The subaccount's locked balance value in USD. + LockedBalance string `protobuf:"bytes,3,opt,name=locked_balance,json=lockedBalance,proto3" json:"locked_balance,omitempty"` + // The subaccount's total unrealized PnL value in USD. + UnrealizedPnl string `protobuf:"bytes,4,opt,name=unrealized_pnl,json=unrealizedPnl,proto3" json:"unrealized_pnl,omitempty"` +} + +func (x *SubaccountPortfolio) Reset() { + *x = SubaccountPortfolio{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountPortfolio) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountPortfolio) ProtoMessage() {} + +func (x *SubaccountPortfolio) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountPortfolio.ProtoReflect.Descriptor instead. +func (*SubaccountPortfolio) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{3} +} + +func (x *SubaccountPortfolio) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountPortfolio) GetAvailableBalance() string { + if x != nil { + return x.AvailableBalance + } + return "" +} + +func (x *SubaccountPortfolio) GetLockedBalance() string { + if x != nil { + return x.LockedBalance + } + return "" +} + +func (x *SubaccountPortfolio) GetUnrealizedPnl() string { + if x != nil { + return x.UnrealizedPnl + } + return "" +} + +type OrderStatesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SpotOrderHashes []string `protobuf:"bytes,1,rep,name=spot_order_hashes,json=spotOrderHashes,proto3" json:"spot_order_hashes,omitempty"` + DerivativeOrderHashes []string `protobuf:"bytes,2,rep,name=derivative_order_hashes,json=derivativeOrderHashes,proto3" json:"derivative_order_hashes,omitempty"` +} + +func (x *OrderStatesRequest) Reset() { + *x = OrderStatesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderStatesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderStatesRequest) ProtoMessage() {} + +func (x *OrderStatesRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderStatesRequest.ProtoReflect.Descriptor instead. +func (*OrderStatesRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{4} +} + +func (x *OrderStatesRequest) GetSpotOrderHashes() []string { + if x != nil { + return x.SpotOrderHashes + } + return nil +} + +func (x *OrderStatesRequest) GetDerivativeOrderHashes() []string { + if x != nil { + return x.DerivativeOrderHashes + } + return nil +} + +type OrderStatesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of the spot order state records + SpotOrderStates []*OrderStateRecord `protobuf:"bytes,1,rep,name=spot_order_states,json=spotOrderStates,proto3" json:"spot_order_states,omitempty"` + // List of the derivative order state records + DerivativeOrderStates []*OrderStateRecord `protobuf:"bytes,2,rep,name=derivative_order_states,json=derivativeOrderStates,proto3" json:"derivative_order_states,omitempty"` +} + +func (x *OrderStatesResponse) Reset() { + *x = OrderStatesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderStatesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderStatesResponse) ProtoMessage() {} + +func (x *OrderStatesResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderStatesResponse.ProtoReflect.Descriptor instead. +func (*OrderStatesResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{5} +} + +func (x *OrderStatesResponse) GetSpotOrderStates() []*OrderStateRecord { + if x != nil { + return x.SpotOrderStates + } + return nil +} + +func (x *OrderStatesResponse) GetDerivativeOrderStates() []*OrderStateRecord { + if x != nil { + return x.DerivativeOrderStates + } + return nil +} + +type OrderStateRecord struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The Market ID of the order + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The type of the order + OrderType string `protobuf:"bytes,4,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` + // The side of the order + OrderSide string `protobuf:"bytes,5,opt,name=order_side,json=orderSide,proto3" json:"order_side,omitempty"` + // The state (status) of the order + State string `protobuf:"bytes,6,opt,name=state,proto3" json:"state,omitempty"` + // The filled quantity of the order + QuantityFilled string `protobuf:"bytes,7,opt,name=quantity_filled,json=quantityFilled,proto3" json:"quantity_filled,omitempty"` + // The filled quantity of the order + QuantityRemaining string `protobuf:"bytes,8,opt,name=quantity_remaining,json=quantityRemaining,proto3" json:"quantity_remaining,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Order prices + Price string `protobuf:"bytes,11,opt,name=price,proto3" json:"price,omitempty"` + // Margin for derivative order + Margin string `protobuf:"bytes,12,opt,name=margin,proto3" json:"margin,omitempty"` +} + +func (x *OrderStateRecord) Reset() { + *x = OrderStateRecord{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderStateRecord) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderStateRecord) ProtoMessage() {} + +func (x *OrderStateRecord) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderStateRecord.ProtoReflect.Descriptor instead. +func (*OrderStateRecord) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{6} +} + +func (x *OrderStateRecord) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *OrderStateRecord) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *OrderStateRecord) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *OrderStateRecord) GetOrderType() string { + if x != nil { + return x.OrderType + } + return "" +} + +func (x *OrderStateRecord) GetOrderSide() string { + if x != nil { + return x.OrderSide + } + return "" +} + +func (x *OrderStateRecord) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *OrderStateRecord) GetQuantityFilled() string { + if x != nil { + return x.QuantityFilled + } + return "" +} + +func (x *OrderStateRecord) GetQuantityRemaining() string { + if x != nil { + return x.QuantityRemaining + } + return "" +} + +func (x *OrderStateRecord) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *OrderStateRecord) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *OrderStateRecord) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *OrderStateRecord) GetMargin() string { + if x != nil { + return x.Margin + } + return "" +} + +type SubaccountsListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address, the subaccounts owner + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *SubaccountsListRequest) Reset() { + *x = SubaccountsListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountsListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountsListRequest) ProtoMessage() {} + +func (x *SubaccountsListRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountsListRequest.ProtoReflect.Descriptor instead. +func (*SubaccountsListRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{7} +} + +func (x *SubaccountsListRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type SubaccountsListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subaccounts []string `protobuf:"bytes,1,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` +} + +func (x *SubaccountsListResponse) Reset() { + *x = SubaccountsListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountsListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountsListResponse) ProtoMessage() {} + +func (x *SubaccountsListResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountsListResponse.ProtoReflect.Descriptor instead. +func (*SubaccountsListResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{8} +} + +func (x *SubaccountsListResponse) GetSubaccounts() []string { + if x != nil { + return x.Subaccounts + } + return nil +} + +type SubaccountBalancesListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the trades from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Filter balances by denoms. If not set, the balances of all the denoms for + // the subaccount are provided. + Denoms []string `protobuf:"bytes,2,rep,name=denoms,proto3" json:"denoms,omitempty"` +} + +func (x *SubaccountBalancesListRequest) Reset() { + *x = SubaccountBalancesListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalancesListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalancesListRequest) ProtoMessage() {} + +func (x *SubaccountBalancesListRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalancesListRequest.ProtoReflect.Descriptor instead. +func (*SubaccountBalancesListRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{9} +} + +func (x *SubaccountBalancesListRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountBalancesListRequest) GetDenoms() []string { + if x != nil { + return x.Denoms + } + return nil +} + +type SubaccountBalancesListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of subaccount balances + Balances []*SubaccountBalance `protobuf:"bytes,1,rep,name=balances,proto3" json:"balances,omitempty"` +} + +func (x *SubaccountBalancesListResponse) Reset() { + *x = SubaccountBalancesListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalancesListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalancesListResponse) ProtoMessage() {} + +func (x *SubaccountBalancesListResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalancesListResponse.ProtoReflect.Descriptor instead. +func (*SubaccountBalancesListResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{10} +} + +func (x *SubaccountBalancesListResponse) GetBalances() []*SubaccountBalance { + if x != nil { + return x.Balances + } + return nil +} + +type SubaccountBalance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Related subaccount ID + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Account address, owner of this subaccount + AccountAddress string `protobuf:"bytes,2,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // Coin denom on the chain. + Denom string `protobuf:"bytes,3,opt,name=denom,proto3" json:"denom,omitempty"` + Deposit *SubaccountDeposit `protobuf:"bytes,4,opt,name=deposit,proto3" json:"deposit,omitempty"` +} + +func (x *SubaccountBalance) Reset() { + *x = SubaccountBalance{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalance) ProtoMessage() {} + +func (x *SubaccountBalance) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalance.ProtoReflect.Descriptor instead. +func (*SubaccountBalance) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{11} +} + +func (x *SubaccountBalance) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountBalance) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *SubaccountBalance) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *SubaccountBalance) GetDeposit() *SubaccountDeposit { + if x != nil { + return x.Deposit + } + return nil +} + +type SubaccountDeposit struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TotalBalance string `protobuf:"bytes,1,opt,name=total_balance,json=totalBalance,proto3" json:"total_balance,omitempty"` + AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` +} + +func (x *SubaccountDeposit) Reset() { + *x = SubaccountDeposit{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountDeposit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountDeposit) ProtoMessage() {} + +func (x *SubaccountDeposit) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountDeposit.ProtoReflect.Descriptor instead. +func (*SubaccountDeposit) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{12} +} + +func (x *SubaccountDeposit) GetTotalBalance() string { + if x != nil { + return x.TotalBalance + } + return "" +} + +func (x *SubaccountDeposit) GetAvailableBalance() string { + if x != nil { + return x.AvailableBalance + } + return "" +} + +type SubaccountBalanceEndpointRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the trades from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Specify denom to get balance + Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` +} + +func (x *SubaccountBalanceEndpointRequest) Reset() { + *x = SubaccountBalanceEndpointRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalanceEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalanceEndpointRequest) ProtoMessage() {} + +func (x *SubaccountBalanceEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalanceEndpointRequest.ProtoReflect.Descriptor instead. +func (*SubaccountBalanceEndpointRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{13} +} + +func (x *SubaccountBalanceEndpointRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountBalanceEndpointRequest) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +type SubaccountBalanceEndpointResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Subaccount balance + Balance *SubaccountBalance `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"` +} + +func (x *SubaccountBalanceEndpointResponse) Reset() { + *x = SubaccountBalanceEndpointResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalanceEndpointResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalanceEndpointResponse) ProtoMessage() {} + +func (x *SubaccountBalanceEndpointResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalanceEndpointResponse.ProtoReflect.Descriptor instead. +func (*SubaccountBalanceEndpointResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{14} +} + +func (x *SubaccountBalanceEndpointResponse) GetBalance() *SubaccountBalance { + if x != nil { + return x.Balance + } + return nil +} + +type StreamSubaccountBalanceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the trades from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Filter balances by denoms. If not set, the balances of all the denoms for + // the subaccount are provided. + Denoms []string `protobuf:"bytes,2,rep,name=denoms,proto3" json:"denoms,omitempty"` +} + +func (x *StreamSubaccountBalanceRequest) Reset() { + *x = StreamSubaccountBalanceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamSubaccountBalanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamSubaccountBalanceRequest) ProtoMessage() {} + +func (x *StreamSubaccountBalanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamSubaccountBalanceRequest.ProtoReflect.Descriptor instead. +func (*StreamSubaccountBalanceRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{15} +} + +func (x *StreamSubaccountBalanceRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *StreamSubaccountBalanceRequest) GetDenoms() []string { + if x != nil { + return x.Denoms + } + return nil +} + +type StreamSubaccountBalanceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Subaccount balance + Balance *SubaccountBalance `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *StreamSubaccountBalanceResponse) Reset() { + *x = StreamSubaccountBalanceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamSubaccountBalanceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamSubaccountBalanceResponse) ProtoMessage() {} + +func (x *StreamSubaccountBalanceResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamSubaccountBalanceResponse.ProtoReflect.Descriptor instead. +func (*StreamSubaccountBalanceResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{16} +} + +func (x *StreamSubaccountBalanceResponse) GetBalance() *SubaccountBalance { + if x != nil { + return x.Balance + } + return nil +} + +func (x *StreamSubaccountBalanceResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type SubaccountHistoryRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the history from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Filter history by denom + Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` + // Filter history by transfer type + TransferTypes []string `protobuf:"bytes,3,rep,name=transfer_types,json=transferTypes,proto3" json:"transfer_types,omitempty"` + // Skip will skip the first n item from the result + Skip uint64 `protobuf:"varint,4,opt,name=skip,proto3" json:"skip,omitempty"` + // Limit is used to specify the maximum number of items to be returned + Limit int32 `protobuf:"zigzag32,5,opt,name=limit,proto3" json:"limit,omitempty"` + // Upper bound of account transfer history's executedAt + EndTime int64 `protobuf:"zigzag64,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` +} + +func (x *SubaccountHistoryRequest) Reset() { + *x = SubaccountHistoryRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountHistoryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountHistoryRequest) ProtoMessage() {} + +func (x *SubaccountHistoryRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountHistoryRequest.ProtoReflect.Descriptor instead. +func (*SubaccountHistoryRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{17} +} + +func (x *SubaccountHistoryRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountHistoryRequest) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *SubaccountHistoryRequest) GetTransferTypes() []string { + if x != nil { + return x.TransferTypes + } + return nil +} + +func (x *SubaccountHistoryRequest) GetSkip() uint64 { + if x != nil { + return x.Skip + } + return 0 +} + +func (x *SubaccountHistoryRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *SubaccountHistoryRequest) GetEndTime() int64 { + if x != nil { + return x.EndTime + } + return 0 +} + +type SubaccountHistoryResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of subaccount transfers + Transfers []*SubaccountBalanceTransfer `protobuf:"bytes,1,rep,name=transfers,proto3" json:"transfers,omitempty"` + Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` +} + +func (x *SubaccountHistoryResponse) Reset() { + *x = SubaccountHistoryResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountHistoryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountHistoryResponse) ProtoMessage() {} + +func (x *SubaccountHistoryResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountHistoryResponse.ProtoReflect.Descriptor instead. +func (*SubaccountHistoryResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{18} +} + +func (x *SubaccountHistoryResponse) GetTransfers() []*SubaccountBalanceTransfer { + if x != nil { + return x.Transfers + } + return nil +} + +func (x *SubaccountHistoryResponse) GetPaging() *Paging { + if x != nil { + return x.Paging + } + return nil +} + +type SubaccountBalanceTransfer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Type of the subaccount balance transfer + TransferType string `protobuf:"bytes,1,opt,name=transfer_type,json=transferType,proto3" json:"transfer_type,omitempty"` + // Subaccount ID of the sending side + SrcSubaccountId string `protobuf:"bytes,2,opt,name=src_subaccount_id,json=srcSubaccountId,proto3" json:"src_subaccount_id,omitempty"` + // Account address of the sending side + SrcAccountAddress string `protobuf:"bytes,3,opt,name=src_account_address,json=srcAccountAddress,proto3" json:"src_account_address,omitempty"` + // Subaccount ID of the receiving side + DstSubaccountId string `protobuf:"bytes,4,opt,name=dst_subaccount_id,json=dstSubaccountId,proto3" json:"dst_subaccount_id,omitempty"` + // Account address of the receiving side + DstAccountAddress string `protobuf:"bytes,5,opt,name=dst_account_address,json=dstAccountAddress,proto3" json:"dst_account_address,omitempty"` + // Coin amount of the transfer + Amount *CosmosCoin `protobuf:"bytes,6,opt,name=amount,proto3" json:"amount,omitempty"` + // Timestamp of the transfer in UNIX millis + ExecutedAt int64 `protobuf:"zigzag64,7,opt,name=executed_at,json=executedAt,proto3" json:"executed_at,omitempty"` +} + +func (x *SubaccountBalanceTransfer) Reset() { + *x = SubaccountBalanceTransfer{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalanceTransfer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalanceTransfer) ProtoMessage() {} + +func (x *SubaccountBalanceTransfer) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalanceTransfer.ProtoReflect.Descriptor instead. +func (*SubaccountBalanceTransfer) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{19} +} + +func (x *SubaccountBalanceTransfer) GetTransferType() string { + if x != nil { + return x.TransferType + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetSrcSubaccountId() string { + if x != nil { + return x.SrcSubaccountId + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetSrcAccountAddress() string { + if x != nil { + return x.SrcAccountAddress + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetDstSubaccountId() string { + if x != nil { + return x.DstSubaccountId + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetDstAccountAddress() string { + if x != nil { + return x.DstAccountAddress + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetAmount() *CosmosCoin { + if x != nil { + return x.Amount + } + return nil +} + +func (x *SubaccountBalanceTransfer) GetExecutedAt() int64 { + if x != nil { + return x.ExecutedAt + } + return 0 +} + +type CosmosCoin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Coin denominator + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + // Coin amount (big int) + Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *CosmosCoin) Reset() { + *x = CosmosCoin{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CosmosCoin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CosmosCoin) ProtoMessage() {} + +func (x *CosmosCoin) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CosmosCoin.ProtoReflect.Descriptor instead. +func (*CosmosCoin) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{20} +} + +func (x *CosmosCoin) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *CosmosCoin) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +// Paging defines the structure for required params for handling pagination +type Paging struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // total number of txs saved in database + Total int64 `protobuf:"zigzag64,1,opt,name=total,proto3" json:"total,omitempty"` + // can be either block height or index num + From int32 `protobuf:"zigzag32,2,opt,name=from,proto3" json:"from,omitempty"` + // can be either block height or index num + To int32 `protobuf:"zigzag32,3,opt,name=to,proto3" json:"to,omitempty"` + // count entries by subaccount, serving some places on helix + CountBySubaccount int64 `protobuf:"zigzag64,4,opt,name=count_by_subaccount,json=countBySubaccount,proto3" json:"count_by_subaccount,omitempty"` + // array of tokens to navigate to the next pages + Next []string `protobuf:"bytes,5,rep,name=next,proto3" json:"next,omitempty"` +} + +func (x *Paging) Reset() { + *x = Paging{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Paging) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Paging) ProtoMessage() {} + +func (x *Paging) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Paging.ProtoReflect.Descriptor instead. +func (*Paging) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{21} +} + +func (x *Paging) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *Paging) GetFrom() int32 { + if x != nil { + return x.From + } + return 0 +} + +func (x *Paging) GetTo() int32 { + if x != nil { + return x.To + } + return 0 +} + +func (x *Paging) GetCountBySubaccount() int64 { + if x != nil { + return x.CountBySubaccount + } + return 0 +} + +func (x *Paging) GetNext() []string { + if x != nil { + return x.Next + } + return nil +} + +type SubaccountOrderSummaryRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the summary from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // MarketId is limiting order summary to specific market only + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // Filter by direction of the orders + OrderDirection string `protobuf:"bytes,3,opt,name=order_direction,json=orderDirection,proto3" json:"order_direction,omitempty"` +} + +func (x *SubaccountOrderSummaryRequest) Reset() { + *x = SubaccountOrderSummaryRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountOrderSummaryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountOrderSummaryRequest) ProtoMessage() {} + +func (x *SubaccountOrderSummaryRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountOrderSummaryRequest.ProtoReflect.Descriptor instead. +func (*SubaccountOrderSummaryRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{22} +} + +func (x *SubaccountOrderSummaryRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountOrderSummaryRequest) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *SubaccountOrderSummaryRequest) GetOrderDirection() string { + if x != nil { + return x.OrderDirection + } + return "" +} + +type SubaccountOrderSummaryResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Total count of subaccount's spot orders in given market and direction + SpotOrdersTotal int64 `protobuf:"zigzag64,1,opt,name=spot_orders_total,json=spotOrdersTotal,proto3" json:"spot_orders_total,omitempty"` + // Total count of subaccount's derivative orders in given market and direction + DerivativeOrdersTotal int64 `protobuf:"zigzag64,2,opt,name=derivative_orders_total,json=derivativeOrdersTotal,proto3" json:"derivative_orders_total,omitempty"` +} + +func (x *SubaccountOrderSummaryResponse) Reset() { + *x = SubaccountOrderSummaryResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountOrderSummaryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountOrderSummaryResponse) ProtoMessage() {} + +func (x *SubaccountOrderSummaryResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountOrderSummaryResponse.ProtoReflect.Descriptor instead. +func (*SubaccountOrderSummaryResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{23} +} + +func (x *SubaccountOrderSummaryResponse) GetSpotOrdersTotal() int64 { + if x != nil { + return x.SpotOrdersTotal + } + return 0 +} + +func (x *SubaccountOrderSummaryResponse) GetDerivativeOrdersTotal() int64 { + if x != nil { + return x.DerivativeOrdersTotal + } + return 0 +} + +type RewardsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The distribution epoch sequence number. -1 for latest. + Epoch int64 `protobuf:"zigzag64,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Account address for the rewards distribution + AccountAddress string `protobuf:"bytes,2,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *RewardsRequest) Reset() { + *x = RewardsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RewardsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RewardsRequest) ProtoMessage() {} + +func (x *RewardsRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RewardsRequest.ProtoReflect.Descriptor instead. +func (*RewardsRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{24} +} + +func (x *RewardsRequest) GetEpoch() int64 { + if x != nil { + return x.Epoch + } + return 0 +} + +func (x *RewardsRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type RewardsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The trading rewards distributed + Rewards []*Reward `protobuf:"bytes,1,rep,name=rewards,proto3" json:"rewards,omitempty"` +} + +func (x *RewardsResponse) Reset() { + *x = RewardsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RewardsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RewardsResponse) ProtoMessage() {} + +func (x *RewardsResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RewardsResponse.ProtoReflect.Descriptor instead. +func (*RewardsResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{25} +} + +func (x *RewardsResponse) GetRewards() []*Reward { + if x != nil { + return x.Rewards + } + return nil +} + +type Reward struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // Reward coins distributed + Rewards []*Coin `protobuf:"bytes,2,rep,name=rewards,proto3" json:"rewards,omitempty"` + // Rewards distribution timestamp in UNIX millis. + DistributedAt int64 `protobuf:"zigzag64,3,opt,name=distributed_at,json=distributedAt,proto3" json:"distributed_at,omitempty"` +} + +func (x *Reward) Reset() { + *x = Reward{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Reward) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Reward) ProtoMessage() {} + +func (x *Reward) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Reward.ProtoReflect.Descriptor instead. +func (*Reward) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{26} +} + +func (x *Reward) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *Reward) GetRewards() []*Coin { + if x != nil { + return x.Rewards + } + return nil +} + +func (x *Reward) GetDistributedAt() int64 { + if x != nil { + return x.DistributedAt + } + return 0 +} + +type Coin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Denom of the coin + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *Coin) Reset() { + *x = Coin{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Coin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Coin) ProtoMessage() {} + +func (x *Coin) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Coin.ProtoReflect.Descriptor instead. +func (*Coin) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{27} +} + +func (x *Coin) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *Coin) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +type StreamAccountDataRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // account address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *StreamAccountDataRequest) Reset() { + *x = StreamAccountDataRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamAccountDataRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamAccountDataRequest) ProtoMessage() {} + +func (x *StreamAccountDataRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamAccountDataRequest.ProtoReflect.Descriptor instead. +func (*StreamAccountDataRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{28} +} + +func (x *StreamAccountDataRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type StreamAccountDataResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SubaccountBalance *SubaccountBalanceResult `protobuf:"bytes,1,opt,name=subaccount_balance,json=subaccountBalance,proto3" json:"subaccount_balance,omitempty"` + Position *PositionsResult `protobuf:"bytes,2,opt,name=position,proto3" json:"position,omitempty"` + Trade *TradeResult `protobuf:"bytes,3,opt,name=trade,proto3" json:"trade,omitempty"` + Order *OrderResult `protobuf:"bytes,4,opt,name=order,proto3" json:"order,omitempty"` + OrderHistory *OrderHistoryResult `protobuf:"bytes,5,opt,name=order_history,json=orderHistory,proto3" json:"order_history,omitempty"` + FundingPayment *FundingPaymentResult `protobuf:"bytes,6,opt,name=funding_payment,json=fundingPayment,proto3" json:"funding_payment,omitempty"` +} + +func (x *StreamAccountDataResponse) Reset() { + *x = StreamAccountDataResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamAccountDataResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamAccountDataResponse) ProtoMessage() {} + +func (x *StreamAccountDataResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamAccountDataResponse.ProtoReflect.Descriptor instead. +func (*StreamAccountDataResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{29} +} + +func (x *StreamAccountDataResponse) GetSubaccountBalance() *SubaccountBalanceResult { + if x != nil { + return x.SubaccountBalance + } + return nil +} + +func (x *StreamAccountDataResponse) GetPosition() *PositionsResult { + if x != nil { + return x.Position + } + return nil +} + +func (x *StreamAccountDataResponse) GetTrade() *TradeResult { + if x != nil { + return x.Trade + } + return nil +} + +func (x *StreamAccountDataResponse) GetOrder() *OrderResult { + if x != nil { + return x.Order + } + return nil +} + +func (x *StreamAccountDataResponse) GetOrderHistory() *OrderHistoryResult { + if x != nil { + return x.OrderHistory + } + return nil +} + +func (x *StreamAccountDataResponse) GetFundingPayment() *FundingPaymentResult { + if x != nil { + return x.FundingPayment + } + return nil +} + +type SubaccountBalanceResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Subaccount balance + Balance *SubaccountBalance `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *SubaccountBalanceResult) Reset() { + *x = SubaccountBalanceResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalanceResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalanceResult) ProtoMessage() {} + +func (x *SubaccountBalanceResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalanceResult.ProtoReflect.Descriptor instead. +func (*SubaccountBalanceResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{30} +} + +func (x *SubaccountBalanceResult) GetBalance() *SubaccountBalance { + if x != nil { + return x.Balance + } + return nil +} + +func (x *SubaccountBalanceResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type PositionsResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Updated derivative Position + Position *Position `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *PositionsResult) Reset() { + *x = PositionsResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PositionsResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PositionsResult) ProtoMessage() {} + +func (x *PositionsResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PositionsResult.ProtoReflect.Descriptor instead. +func (*PositionsResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{31} +} + +func (x *PositionsResult) GetPosition() *Position { + if x != nil { + return x.Position + } + return nil +} + +func (x *PositionsResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type Position struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Ticker of the derivative market + Ticker string `protobuf:"bytes,1,opt,name=ticker,proto3" json:"ticker,omitempty"` + // Derivative Market ID + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The subaccountId that the position belongs to + SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Direction of the position + Direction string `protobuf:"bytes,4,opt,name=direction,proto3" json:"direction,omitempty"` + // Quantity of the position + Quantity string `protobuf:"bytes,5,opt,name=quantity,proto3" json:"quantity,omitempty"` + // Price of the position + EntryPrice string `protobuf:"bytes,6,opt,name=entry_price,json=entryPrice,proto3" json:"entry_price,omitempty"` + // Margin of the position + Margin string `protobuf:"bytes,7,opt,name=margin,proto3" json:"margin,omitempty"` + // LiquidationPrice of the position + LiquidationPrice string `protobuf:"bytes,8,opt,name=liquidation_price,json=liquidationPrice,proto3" json:"liquidation_price,omitempty"` + // MarkPrice of the position + MarkPrice string `protobuf:"bytes,9,opt,name=mark_price,json=markPrice,proto3" json:"mark_price,omitempty"` + // Position updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Position created timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` +} + +func (x *Position) Reset() { + *x = Position{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Position) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Position) ProtoMessage() {} + +func (x *Position) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Position.ProtoReflect.Descriptor instead. +func (*Position) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{32} +} + +func (x *Position) GetTicker() string { + if x != nil { + return x.Ticker + } + return "" +} + +func (x *Position) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *Position) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *Position) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *Position) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *Position) GetEntryPrice() string { + if x != nil { + return x.EntryPrice + } + return "" +} + +func (x *Position) GetMargin() string { + if x != nil { + return x.Margin + } + return "" +} + +func (x *Position) GetLiquidationPrice() string { + if x != nil { + return x.LiquidationPrice + } + return "" +} + +func (x *Position) GetMarkPrice() string { + if x != nil { + return x.MarkPrice + } + return "" +} + +func (x *Position) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *Position) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +type TradeResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Trade: + // + // *TradeResult_SpotTrade + // *TradeResult_DerivativeTrade + Trade isTradeResult_Trade `protobuf_oneof:"trade"` + // Executed trades update type + OperationType string `protobuf:"bytes,3,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *TradeResult) Reset() { + *x = TradeResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TradeResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TradeResult) ProtoMessage() {} + +func (x *TradeResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TradeResult.ProtoReflect.Descriptor instead. +func (*TradeResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{33} +} + +func (m *TradeResult) GetTrade() isTradeResult_Trade { + if m != nil { + return m.Trade + } + return nil +} + +func (x *TradeResult) GetSpotTrade() *SpotTrade { + if x, ok := x.GetTrade().(*TradeResult_SpotTrade); ok { + return x.SpotTrade + } + return nil +} + +func (x *TradeResult) GetDerivativeTrade() *DerivativeTrade { + if x, ok := x.GetTrade().(*TradeResult_DerivativeTrade); ok { + return x.DerivativeTrade + } + return nil +} + +func (x *TradeResult) GetOperationType() string { + if x != nil { + return x.OperationType + } + return "" +} + +func (x *TradeResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type isTradeResult_Trade interface { + isTradeResult_Trade() +} + +type TradeResult_SpotTrade struct { + // New spot market trade + SpotTrade *SpotTrade `protobuf:"bytes,1,opt,name=spot_trade,json=spotTrade,proto3,oneof"` +} + +type TradeResult_DerivativeTrade struct { + // New derivative market trade + DerivativeTrade *DerivativeTrade `protobuf:"bytes,2,opt,name=derivative_trade,json=derivativeTrade,proto3,oneof"` +} + +func (*TradeResult_SpotTrade) isTradeResult_Trade() {} + +func (*TradeResult_DerivativeTrade) isTradeResult_Trade() {} + +type SpotTrade struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Maker order hash. + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The subaccountId that executed the trade + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The ID of the market that this trade is in + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The execution type of the trade + TradeExecutionType string `protobuf:"bytes,4,opt,name=trade_execution_type,json=tradeExecutionType,proto3" json:"trade_execution_type,omitempty"` + // The direction the trade + TradeDirection string `protobuf:"bytes,5,opt,name=trade_direction,json=tradeDirection,proto3" json:"trade_direction,omitempty"` + // Price level at which trade has been executed + Price *PriceLevel `protobuf:"bytes,6,opt,name=price,proto3" json:"price,omitempty"` + // The fee associated with the trade (quote asset denom) + Fee string `protobuf:"bytes,7,opt,name=fee,proto3" json:"fee,omitempty"` + // Timestamp of trade execution in UNIX millis + ExecutedAt int64 `protobuf:"zigzag64,8,opt,name=executed_at,json=executedAt,proto3" json:"executed_at,omitempty"` + // Fee recipient address + FeeRecipient string `protobuf:"bytes,9,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` + // A unique string that helps differentiate between trades + TradeId string `protobuf:"bytes,10,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` + // Trade's execution side, marker/taker + ExecutionSide string `protobuf:"bytes,11,opt,name=execution_side,json=executionSide,proto3" json:"execution_side,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,12,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *SpotTrade) Reset() { + *x = SpotTrade{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpotTrade) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpotTrade) ProtoMessage() {} + +func (x *SpotTrade) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SpotTrade.ProtoReflect.Descriptor instead. +func (*SpotTrade) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{34} +} + +func (x *SpotTrade) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *SpotTrade) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SpotTrade) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *SpotTrade) GetTradeExecutionType() string { + if x != nil { + return x.TradeExecutionType + } + return "" +} + +func (x *SpotTrade) GetTradeDirection() string { + if x != nil { + return x.TradeDirection + } + return "" +} + +func (x *SpotTrade) GetPrice() *PriceLevel { + if x != nil { + return x.Price + } + return nil +} + +func (x *SpotTrade) GetFee() string { + if x != nil { + return x.Fee + } + return "" +} + +func (x *SpotTrade) GetExecutedAt() int64 { + if x != nil { + return x.ExecutedAt + } + return 0 +} + +func (x *SpotTrade) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *SpotTrade) GetTradeId() string { + if x != nil { + return x.TradeId + } + return "" +} + +func (x *SpotTrade) GetExecutionSide() string { + if x != nil { + return x.ExecutionSide + } + return "" +} + +func (x *SpotTrade) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type PriceLevel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Price number of the price level. + Price string `protobuf:"bytes,1,opt,name=price,proto3" json:"price,omitempty"` + // Quantity of the price level. + Quantity string `protobuf:"bytes,2,opt,name=quantity,proto3" json:"quantity,omitempty"` + // Price level last updated timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *PriceLevel) Reset() { + *x = PriceLevel{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PriceLevel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PriceLevel) ProtoMessage() {} + +func (x *PriceLevel) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PriceLevel.ProtoReflect.Descriptor instead. +func (*PriceLevel) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{35} +} + +func (x *PriceLevel) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *PriceLevel) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *PriceLevel) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type DerivativeTrade struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Order hash. + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The subaccountId that executed the trade + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The ID of the market that this trade is in + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The execution type of the trade + TradeExecutionType string `protobuf:"bytes,4,opt,name=trade_execution_type,json=tradeExecutionType,proto3" json:"trade_execution_type,omitempty"` + // True if the trade is a liquidation + IsLiquidation bool `protobuf:"varint,5,opt,name=is_liquidation,json=isLiquidation,proto3" json:"is_liquidation,omitempty"` + // Position Delta from the trade + PositionDelta *PositionDelta `protobuf:"bytes,6,opt,name=position_delta,json=positionDelta,proto3" json:"position_delta,omitempty"` + // The payout associated with the trade + Payout string `protobuf:"bytes,7,opt,name=payout,proto3" json:"payout,omitempty"` + // The fee associated with the trade + Fee string `protobuf:"bytes,8,opt,name=fee,proto3" json:"fee,omitempty"` + // Timestamp of trade execution in UNIX millis + ExecutedAt int64 `protobuf:"zigzag64,9,opt,name=executed_at,json=executedAt,proto3" json:"executed_at,omitempty"` + // Fee recipient address + FeeRecipient string `protobuf:"bytes,10,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` + // A unique string that helps differentiate between trades + TradeId string `protobuf:"bytes,11,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` + // Trade's execution side, marker/taker + ExecutionSide string `protobuf:"bytes,12,opt,name=execution_side,json=executionSide,proto3" json:"execution_side,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,13,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *DerivativeTrade) Reset() { + *x = DerivativeTrade{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DerivativeTrade) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DerivativeTrade) ProtoMessage() {} + +func (x *DerivativeTrade) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DerivativeTrade.ProtoReflect.Descriptor instead. +func (*DerivativeTrade) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{36} +} + +func (x *DerivativeTrade) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *DerivativeTrade) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *DerivativeTrade) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *DerivativeTrade) GetTradeExecutionType() string { + if x != nil { + return x.TradeExecutionType + } + return "" +} + +func (x *DerivativeTrade) GetIsLiquidation() bool { + if x != nil { + return x.IsLiquidation + } + return false +} + +func (x *DerivativeTrade) GetPositionDelta() *PositionDelta { + if x != nil { + return x.PositionDelta + } + return nil +} + +func (x *DerivativeTrade) GetPayout() string { + if x != nil { + return x.Payout + } + return "" +} + +func (x *DerivativeTrade) GetFee() string { + if x != nil { + return x.Fee + } + return "" +} + +func (x *DerivativeTrade) GetExecutedAt() int64 { + if x != nil { + return x.ExecutedAt + } + return 0 +} + +func (x *DerivativeTrade) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *DerivativeTrade) GetTradeId() string { + if x != nil { + return x.TradeId + } + return "" +} + +func (x *DerivativeTrade) GetExecutionSide() string { + if x != nil { + return x.ExecutionSide + } + return "" +} + +func (x *DerivativeTrade) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type PositionDelta struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The direction the trade + TradeDirection string `protobuf:"bytes,1,opt,name=trade_direction,json=tradeDirection,proto3" json:"trade_direction,omitempty"` + // Execution Price of the trade. + ExecutionPrice string `protobuf:"bytes,2,opt,name=execution_price,json=executionPrice,proto3" json:"execution_price,omitempty"` + // Execution Quantity of the trade. + ExecutionQuantity string `protobuf:"bytes,3,opt,name=execution_quantity,json=executionQuantity,proto3" json:"execution_quantity,omitempty"` + // Execution Margin of the trade. + ExecutionMargin string `protobuf:"bytes,4,opt,name=execution_margin,json=executionMargin,proto3" json:"execution_margin,omitempty"` +} + +func (x *PositionDelta) Reset() { + *x = PositionDelta{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PositionDelta) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PositionDelta) ProtoMessage() {} + +func (x *PositionDelta) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PositionDelta.ProtoReflect.Descriptor instead. +func (*PositionDelta) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{37} +} + +func (x *PositionDelta) GetTradeDirection() string { + if x != nil { + return x.TradeDirection + } + return "" +} + +func (x *PositionDelta) GetExecutionPrice() string { + if x != nil { + return x.ExecutionPrice + } + return "" +} + +func (x *PositionDelta) GetExecutionQuantity() string { + if x != nil { + return x.ExecutionQuantity + } + return "" +} + +func (x *PositionDelta) GetExecutionMargin() string { + if x != nil { + return x.ExecutionMargin + } + return "" +} + +type OrderResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Order: + // + // *OrderResult_SpotOrder + // *OrderResult_DerivativeOrder + Order isOrderResult_Order `protobuf_oneof:"order"` + // Executed orders update type + OperationType string `protobuf:"bytes,3,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *OrderResult) Reset() { + *x = OrderResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderResult) ProtoMessage() {} + +func (x *OrderResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderResult.ProtoReflect.Descriptor instead. +func (*OrderResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{38} +} + +func (m *OrderResult) GetOrder() isOrderResult_Order { + if m != nil { + return m.Order + } + return nil +} + +func (x *OrderResult) GetSpotOrder() *SpotLimitOrder { + if x, ok := x.GetOrder().(*OrderResult_SpotOrder); ok { + return x.SpotOrder + } + return nil +} + +func (x *OrderResult) GetDerivativeOrder() *DerivativeLimitOrder { + if x, ok := x.GetOrder().(*OrderResult_DerivativeOrder); ok { + return x.DerivativeOrder + } + return nil +} + +func (x *OrderResult) GetOperationType() string { + if x != nil { + return x.OperationType + } + return "" +} + +func (x *OrderResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type isOrderResult_Order interface { + isOrderResult_Order() +} + +type OrderResult_SpotOrder struct { + // Updated spot market order + SpotOrder *SpotLimitOrder `protobuf:"bytes,1,opt,name=spot_order,json=spotOrder,proto3,oneof"` +} + +type OrderResult_DerivativeOrder struct { + // Updated derivative market order + DerivativeOrder *DerivativeLimitOrder `protobuf:"bytes,2,opt,name=derivative_order,json=derivativeOrder,proto3,oneof"` +} + +func (*OrderResult_SpotOrder) isOrderResult_Order() {} + +func (*OrderResult_DerivativeOrder) isOrderResult_Order() {} + +type SpotLimitOrder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The side of the order + OrderSide string `protobuf:"bytes,2,opt,name=order_side,json=orderSide,proto3" json:"order_side,omitempty"` + // Spot Market ID is keccak265(baseDenom + quoteDenom) + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Price of the order + Price string `protobuf:"bytes,5,opt,name=price,proto3" json:"price,omitempty"` + // Quantity of the order + Quantity string `protobuf:"bytes,6,opt,name=quantity,proto3" json:"quantity,omitempty"` + // The amount of the quantity remaining unfilled + UnfilledQuantity string `protobuf:"bytes,7,opt,name=unfilled_quantity,json=unfilledQuantity,proto3" json:"unfilled_quantity,omitempty"` + // Trigger price is the trigger price used by stop/take orders. 0 if the + // trigger price is not set. + TriggerPrice string `protobuf:"bytes,8,opt,name=trigger_price,json=triggerPrice,proto3" json:"trigger_price,omitempty"` + // Fee recipient address + FeeRecipient string `protobuf:"bytes,9,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` + // Order state + State string `protobuf:"bytes,10,opt,name=state,proto3" json:"state,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Transaction Hash where order is created. Not all orders have this field + TxHash string `protobuf:"bytes,13,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,14,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *SpotLimitOrder) Reset() { + *x = SpotLimitOrder{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpotLimitOrder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpotLimitOrder) ProtoMessage() {} + +func (x *SpotLimitOrder) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SpotLimitOrder.ProtoReflect.Descriptor instead. +func (*SpotLimitOrder) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{39} +} + +func (x *SpotLimitOrder) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *SpotLimitOrder) GetOrderSide() string { + if x != nil { + return x.OrderSide + } + return "" +} + +func (x *SpotLimitOrder) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *SpotLimitOrder) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SpotLimitOrder) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *SpotLimitOrder) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *SpotLimitOrder) GetUnfilledQuantity() string { + if x != nil { + return x.UnfilledQuantity + } + return "" +} + +func (x *SpotLimitOrder) GetTriggerPrice() string { + if x != nil { + return x.TriggerPrice + } + return "" +} + +func (x *SpotLimitOrder) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *SpotLimitOrder) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *SpotLimitOrder) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *SpotLimitOrder) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *SpotLimitOrder) GetTxHash() string { + if x != nil { + return x.TxHash + } + return "" +} + +func (x *SpotLimitOrder) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type DerivativeLimitOrder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The side of the order + OrderSide string `protobuf:"bytes,2,opt,name=order_side,json=orderSide,proto3" json:"order_side,omitempty"` + // Derivative Market ID + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // True if the order is a reduce-only order + IsReduceOnly bool `protobuf:"varint,5,opt,name=is_reduce_only,json=isReduceOnly,proto3" json:"is_reduce_only,omitempty"` + // Margin of the order + Margin string `protobuf:"bytes,6,opt,name=margin,proto3" json:"margin,omitempty"` + // Price of the order + Price string `protobuf:"bytes,7,opt,name=price,proto3" json:"price,omitempty"` + // Quantity of the order + Quantity string `protobuf:"bytes,8,opt,name=quantity,proto3" json:"quantity,omitempty"` + // The amount of the quantity remaining unfilled + UnfilledQuantity string `protobuf:"bytes,9,opt,name=unfilled_quantity,json=unfilledQuantity,proto3" json:"unfilled_quantity,omitempty"` + // Trigger price is the trigger price used by stop/take orders + TriggerPrice string `protobuf:"bytes,10,opt,name=trigger_price,json=triggerPrice,proto3" json:"trigger_price,omitempty"` + // Fee recipient address + FeeRecipient string `protobuf:"bytes,11,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` + // Order state + State string `protobuf:"bytes,12,opt,name=state,proto3" json:"state,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,13,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,14,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Order number of subaccount + OrderNumber int64 `protobuf:"zigzag64,15,opt,name=order_number,json=orderNumber,proto3" json:"order_number,omitempty"` + // Order type + OrderType string `protobuf:"bytes,16,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` + // Order type + IsConditional bool `protobuf:"varint,17,opt,name=is_conditional,json=isConditional,proto3" json:"is_conditional,omitempty"` + // Trigger timestamp, only exists for conditional orders + TriggerAt uint64 `protobuf:"varint,18,opt,name=trigger_at,json=triggerAt,proto3" json:"trigger_at,omitempty"` + // OrderHash of order that is triggered by this conditional order + PlacedOrderHash string `protobuf:"bytes,19,opt,name=placed_order_hash,json=placedOrderHash,proto3" json:"placed_order_hash,omitempty"` + // Execution type of conditional order + ExecutionType string `protobuf:"bytes,20,opt,name=execution_type,json=executionType,proto3" json:"execution_type,omitempty"` + // Transaction Hash where order is created. Not all orders have this field + TxHash string `protobuf:"bytes,21,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,22,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *DerivativeLimitOrder) Reset() { + *x = DerivativeLimitOrder{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DerivativeLimitOrder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DerivativeLimitOrder) ProtoMessage() {} + +func (x *DerivativeLimitOrder) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DerivativeLimitOrder.ProtoReflect.Descriptor instead. +func (*DerivativeLimitOrder) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{40} +} + +func (x *DerivativeLimitOrder) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *DerivativeLimitOrder) GetOrderSide() string { + if x != nil { + return x.OrderSide + } + return "" +} + +func (x *DerivativeLimitOrder) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *DerivativeLimitOrder) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *DerivativeLimitOrder) GetIsReduceOnly() bool { + if x != nil { + return x.IsReduceOnly + } + return false +} + +func (x *DerivativeLimitOrder) GetMargin() string { + if x != nil { + return x.Margin + } + return "" +} + +func (x *DerivativeLimitOrder) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *DerivativeLimitOrder) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *DerivativeLimitOrder) GetUnfilledQuantity() string { + if x != nil { + return x.UnfilledQuantity + } + return "" +} + +func (x *DerivativeLimitOrder) GetTriggerPrice() string { + if x != nil { + return x.TriggerPrice + } + return "" +} + +func (x *DerivativeLimitOrder) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *DerivativeLimitOrder) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *DerivativeLimitOrder) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *DerivativeLimitOrder) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *DerivativeLimitOrder) GetOrderNumber() int64 { + if x != nil { + return x.OrderNumber + } + return 0 +} + +func (x *DerivativeLimitOrder) GetOrderType() string { + if x != nil { + return x.OrderType + } + return "" +} + +func (x *DerivativeLimitOrder) GetIsConditional() bool { + if x != nil { + return x.IsConditional + } + return false +} + +func (x *DerivativeLimitOrder) GetTriggerAt() uint64 { + if x != nil { + return x.TriggerAt + } + return 0 +} + +func (x *DerivativeLimitOrder) GetPlacedOrderHash() string { + if x != nil { + return x.PlacedOrderHash + } + return "" +} + +func (x *DerivativeLimitOrder) GetExecutionType() string { + if x != nil { + return x.ExecutionType + } + return "" +} + +func (x *DerivativeLimitOrder) GetTxHash() string { + if x != nil { + return x.TxHash + } + return "" +} + +func (x *DerivativeLimitOrder) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type OrderHistoryResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to OrderHistory: + // + // *OrderHistoryResult_SpotOrderHistory + // *OrderHistoryResult_DerivativeOrderHistory + OrderHistory isOrderHistoryResult_OrderHistory `protobuf_oneof:"order_history"` + // Order update type + OperationType string `protobuf:"bytes,3,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *OrderHistoryResult) Reset() { + *x = OrderHistoryResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderHistoryResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderHistoryResult) ProtoMessage() {} + +func (x *OrderHistoryResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderHistoryResult.ProtoReflect.Descriptor instead. +func (*OrderHistoryResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{41} +} + +func (m *OrderHistoryResult) GetOrderHistory() isOrderHistoryResult_OrderHistory { + if m != nil { + return m.OrderHistory + } + return nil +} + +func (x *OrderHistoryResult) GetSpotOrderHistory() *SpotOrderHistory { + if x, ok := x.GetOrderHistory().(*OrderHistoryResult_SpotOrderHistory); ok { + return x.SpotOrderHistory + } + return nil +} + +func (x *OrderHistoryResult) GetDerivativeOrderHistory() *DerivativeOrderHistory { + if x, ok := x.GetOrderHistory().(*OrderHistoryResult_DerivativeOrderHistory); ok { + return x.DerivativeOrderHistory + } + return nil +} + +func (x *OrderHistoryResult) GetOperationType() string { + if x != nil { + return x.OperationType + } + return "" +} + +func (x *OrderHistoryResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type isOrderHistoryResult_OrderHistory interface { + isOrderHistoryResult_OrderHistory() +} + +type OrderHistoryResult_SpotOrderHistory struct { + // Spot order history + SpotOrderHistory *SpotOrderHistory `protobuf:"bytes,1,opt,name=spot_order_history,json=spotOrderHistory,proto3,oneof"` +} + +type OrderHistoryResult_DerivativeOrderHistory struct { + // Derivative order history + DerivativeOrderHistory *DerivativeOrderHistory `protobuf:"bytes,2,opt,name=derivative_order_history,json=derivativeOrderHistory,proto3,oneof"` +} + +func (*OrderHistoryResult_SpotOrderHistory) isOrderHistoryResult_OrderHistory() {} + +func (*OrderHistoryResult_DerivativeOrderHistory) isOrderHistoryResult_OrderHistory() {} + +type SpotOrderHistory struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // Spot Market ID is keccak265(baseDenom + quoteDenom) + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // active state of the order + IsActive bool `protobuf:"varint,3,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The execution type + ExecutionType string `protobuf:"bytes,5,opt,name=execution_type,json=executionType,proto3" json:"execution_type,omitempty"` + // The side of the order + OrderType string `protobuf:"bytes,6,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` + // Price of the order + Price string `protobuf:"bytes,7,opt,name=price,proto3" json:"price,omitempty"` + // Trigger price + TriggerPrice string `protobuf:"bytes,8,opt,name=trigger_price,json=triggerPrice,proto3" json:"trigger_price,omitempty"` + // Quantity of the order + Quantity string `protobuf:"bytes,9,opt,name=quantity,proto3" json:"quantity,omitempty"` + // Filled amount + FilledQuantity string `protobuf:"bytes,10,opt,name=filled_quantity,json=filledQuantity,proto3" json:"filled_quantity,omitempty"` + // Order state + State string `protobuf:"bytes,11,opt,name=state,proto3" json:"state,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,13,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Order direction (order side) + Direction string `protobuf:"bytes,14,opt,name=direction,proto3" json:"direction,omitempty"` + // Transaction Hash where order is created. Not all orders have this field + TxHash string `protobuf:"bytes,15,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,16,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *SpotOrderHistory) Reset() { + *x = SpotOrderHistory{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpotOrderHistory) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpotOrderHistory) ProtoMessage() {} + +func (x *SpotOrderHistory) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SpotOrderHistory.ProtoReflect.Descriptor instead. +func (*SpotOrderHistory) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{42} +} + +func (x *SpotOrderHistory) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *SpotOrderHistory) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *SpotOrderHistory) GetIsActive() bool { + if x != nil { + return x.IsActive + } + return false +} + +func (x *SpotOrderHistory) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SpotOrderHistory) GetExecutionType() string { + if x != nil { + return x.ExecutionType + } + return "" +} + +func (x *SpotOrderHistory) GetOrderType() string { + if x != nil { + return x.OrderType + } + return "" +} + +func (x *SpotOrderHistory) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *SpotOrderHistory) GetTriggerPrice() string { + if x != nil { + return x.TriggerPrice + } + return "" +} + +func (x *SpotOrderHistory) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *SpotOrderHistory) GetFilledQuantity() string { + if x != nil { + return x.FilledQuantity + } + return "" +} + +func (x *SpotOrderHistory) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *SpotOrderHistory) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *SpotOrderHistory) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *SpotOrderHistory) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *SpotOrderHistory) GetTxHash() string { + if x != nil { + return x.TxHash + } + return "" +} + +func (x *SpotOrderHistory) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type DerivativeOrderHistory struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // Spot Market ID is keccak265(baseDenom + quoteDenom) + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // active state of the order + IsActive bool `protobuf:"varint,3,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The execution type + ExecutionType string `protobuf:"bytes,5,opt,name=execution_type,json=executionType,proto3" json:"execution_type,omitempty"` + // The side of the order + OrderType string `protobuf:"bytes,6,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` + // Price of the order + Price string `protobuf:"bytes,7,opt,name=price,proto3" json:"price,omitempty"` + // Trigger price + TriggerPrice string `protobuf:"bytes,8,opt,name=trigger_price,json=triggerPrice,proto3" json:"trigger_price,omitempty"` + // Quantity of the order + Quantity string `protobuf:"bytes,9,opt,name=quantity,proto3" json:"quantity,omitempty"` + // Filled amount + FilledQuantity string `protobuf:"bytes,10,opt,name=filled_quantity,json=filledQuantity,proto3" json:"filled_quantity,omitempty"` + // Order state + State string `protobuf:"bytes,11,opt,name=state,proto3" json:"state,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,13,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // True if an order is reduce only + IsReduceOnly bool `protobuf:"varint,14,opt,name=is_reduce_only,json=isReduceOnly,proto3" json:"is_reduce_only,omitempty"` + // Order direction (order side) + Direction string `protobuf:"bytes,15,opt,name=direction,proto3" json:"direction,omitempty"` + // True if this is conditional order, otherwise false + IsConditional bool `protobuf:"varint,16,opt,name=is_conditional,json=isConditional,proto3" json:"is_conditional,omitempty"` + // Trigger timestamp in unix milli + TriggerAt uint64 `protobuf:"varint,17,opt,name=trigger_at,json=triggerAt,proto3" json:"trigger_at,omitempty"` + // Order hash placed when this triggers + PlacedOrderHash string `protobuf:"bytes,18,opt,name=placed_order_hash,json=placedOrderHash,proto3" json:"placed_order_hash,omitempty"` + // Order's margin + Margin string `protobuf:"bytes,19,opt,name=margin,proto3" json:"margin,omitempty"` + // Transaction Hash where order is created. Not all orders have this field + TxHash string `protobuf:"bytes,20,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,21,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *DerivativeOrderHistory) Reset() { + *x = DerivativeOrderHistory{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DerivativeOrderHistory) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DerivativeOrderHistory) ProtoMessage() {} + +func (x *DerivativeOrderHistory) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DerivativeOrderHistory.ProtoReflect.Descriptor instead. +func (*DerivativeOrderHistory) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{43} +} + +func (x *DerivativeOrderHistory) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *DerivativeOrderHistory) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *DerivativeOrderHistory) GetIsActive() bool { + if x != nil { + return x.IsActive + } + return false +} + +func (x *DerivativeOrderHistory) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *DerivativeOrderHistory) GetExecutionType() string { + if x != nil { + return x.ExecutionType + } + return "" +} + +func (x *DerivativeOrderHistory) GetOrderType() string { + if x != nil { + return x.OrderType + } + return "" +} + +func (x *DerivativeOrderHistory) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *DerivativeOrderHistory) GetTriggerPrice() string { + if x != nil { + return x.TriggerPrice + } + return "" +} + +func (x *DerivativeOrderHistory) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *DerivativeOrderHistory) GetFilledQuantity() string { + if x != nil { + return x.FilledQuantity + } + return "" +} + +func (x *DerivativeOrderHistory) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *DerivativeOrderHistory) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *DerivativeOrderHistory) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *DerivativeOrderHistory) GetIsReduceOnly() bool { + if x != nil { + return x.IsReduceOnly + } + return false +} + +func (x *DerivativeOrderHistory) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *DerivativeOrderHistory) GetIsConditional() bool { + if x != nil { + return x.IsConditional + } + return false +} + +func (x *DerivativeOrderHistory) GetTriggerAt() uint64 { + if x != nil { + return x.TriggerAt + } + return 0 +} + +func (x *DerivativeOrderHistory) GetPlacedOrderHash() string { + if x != nil { + return x.PlacedOrderHash + } + return "" +} + +func (x *DerivativeOrderHistory) GetMargin() string { + if x != nil { + return x.Margin + } + return "" +} + +func (x *DerivativeOrderHistory) GetTxHash() string { + if x != nil { + return x.TxHash + } + return "" +} + +func (x *DerivativeOrderHistory) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type FundingPaymentResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Funding payments of the account + FundingPayments *FundingPayment `protobuf:"bytes,1,opt,name=funding_payments,json=fundingPayments,proto3" json:"funding_payments,omitempty"` + // Funding payments type + OperationType string `protobuf:"bytes,2,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *FundingPaymentResult) Reset() { + *x = FundingPaymentResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundingPaymentResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundingPaymentResult) ProtoMessage() {} + +func (x *FundingPaymentResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FundingPaymentResult.ProtoReflect.Descriptor instead. +func (*FundingPaymentResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{44} +} + +func (x *FundingPaymentResult) GetFundingPayments() *FundingPayment { + if x != nil { + return x.FundingPayments + } + return nil +} + +func (x *FundingPaymentResult) GetOperationType() string { + if x != nil { + return x.OperationType + } + return "" +} + +func (x *FundingPaymentResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type FundingPayment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Derivative Market ID + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The subaccountId that the position belongs to + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Amount of the funding payment + Amount string `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` + // Timestamp of funding payment in UNIX millis + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *FundingPayment) Reset() { + *x = FundingPayment{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundingPayment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundingPayment) ProtoMessage() {} + +func (x *FundingPayment) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FundingPayment.ProtoReflect.Descriptor instead. +func (*FundingPayment) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{45} +} + +func (x *FundingPayment) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *FundingPayment) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *FundingPayment) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +func (x *FundingPayment) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +var File_goadesign_goagen_injective_accounts_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_accounts_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x16, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x3b, 0x0a, 0x10, 0x50, 0x6f, 0x72, 0x74, 0x66, + 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x22, 0x5b, 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, + 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x09, 0x70, 0x6f, 0x72, + 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, + 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, + 0x6f, 0x22, 0x85, 0x02, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, + 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, + 0x6c, 0x69, 0x6f, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, + 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x64, 0x5f, 0x70, 0x6e, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x75, 0x6e, 0x72, + 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x6e, 0x6c, 0x12, 0x4d, 0x0a, 0x0b, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x0b, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0xb5, 0x01, 0x0a, 0x13, 0x53, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, + 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, + 0x6b, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, + 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x70, 0x6e, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x6e, + 0x6c, 0x22, 0x78, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x70, 0x6f, 0x74, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0f, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, + 0x68, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x22, 0xcd, 0x01, 0x0a, 0x13, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0f, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x17, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x52, 0x15, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x22, 0x8b, 0x03, 0x0a, 0x10, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x2d, + 0x0a, 0x12, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x71, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x12, 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, 0x0a, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x22, 0x41, 0x0a, 0x16, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3b, 0x0a, 0x17, + 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x5c, 0x0a, 0x1d, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x22, 0x67, 0x0a, 0x1e, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x22, 0xbc, 0x01, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x43, 0x0a, 0x07, 0x64, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x07, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x22, + 0x65, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x5d, 0x0a, 0x20, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x68, 0x0a, 0x21, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, + 0x5d, 0x0a, 0x1e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x22, 0x84, + 0x01, 0x0a, 0x1f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc1, 0x01, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x25, 0x0a, + 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x19, 0x53, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x09, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x22, 0xd5, 0x02, 0x0a, 0x19, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x23, + 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x73, 0x72, 0x63, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x2e, 0x0a, 0x13, 0x73, 0x72, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x72, + 0x63, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x2a, 0x0a, 0x11, 0x64, 0x73, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x73, 0x74, 0x53, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x64, + 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x73, 0x74, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x52, + 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 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, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, + 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x22, 0x8a, 0x01, + 0x0a, 0x1d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x1e, 0x53, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, + 0x11, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0f, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x15, 0x64, 0x65, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x74, 0x61, + 0x6c, 0x22, 0x4f, 0x0a, 0x0e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x22, + 0x90, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, + 0x69, 0x6e, 0x52, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x64, + 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x22, 0x34, 0x0a, 0x04, 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, 0x43, 0x0a, 0x18, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xde, 0x03, + 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x12, 0x73, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x11, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x39, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, + 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x0d, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x55, 0x0a, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0e, + 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x7c, + 0x0a, 0x17, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x6d, 0x0a, 0x0f, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x3c, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xe1, 0x02, 0x0a, 0x08, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, + 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, + 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, + 0xf5, 0x01, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x42, 0x0a, 0x0a, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x48, 0x00, 0x52, 0x09, 0x73, 0x70, 0x6f, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x12, 0x54, 0x0a, 0x10, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x07, + 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x22, 0xad, 0x03, 0x0a, 0x09, 0x53, 0x70, 0x6f, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, 0x72, 0x61, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, + 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x38, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x66, + 0x65, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, + 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, + 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, + 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xdd, 0x03, 0x0a, 0x0f, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, 0x72, 0x61, 0x64, 0x65, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, + 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, + 0x74, 0x61, 0x52, 0x0d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, + 0x61, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, + 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x0d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x72, + 0x67, 0x69, 0x6e, 0x22, 0xff, 0x01, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, + 0x00, 0x52, 0x09, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x10, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x07, 0x0a, 0x05, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xb8, 0x03, 0x0a, 0x0e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x49, 0x64, 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, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, + 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 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, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, + 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, + 0x22, 0xd7, 0x05, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x64, 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, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, + 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, + 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x66, + 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, + 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, + 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 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, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 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, 0x0e, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, + 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, + 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, + 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xb0, 0x02, 0x0a, 0x12, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x58, 0x0a, 0x12, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x48, 0x00, 0x52, 0x10, 0x73, 0x70, 0x6f, 0x74, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x6a, 0x0a, 0x18, 0x64, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x48, 0x00, 0x52, + 0x16, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0f, 0x0a, 0x0d, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0xf3, 0x03, + 0x0a, 0x10, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, + 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1b, + 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 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, + 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, + 0x0f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, + 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, + 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, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, + 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x63, 0x69, 0x64, 0x22, 0xa9, 0x05, 0x0a, 0x16, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1d, + 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1b, 0x0a, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, + 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 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, 0x12, 0x25, 0x0a, 0x0e, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x6c, + 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, 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, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x64, + 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x69, 0x73, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1c, 0x0a, 0x09, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, + 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x74, + 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, + 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, + 0x72, 0x67, 0x69, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, + 0x03, 0x63, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, + 0xae, 0x01, 0x0a, 0x14, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x51, 0x0a, 0x10, 0x66, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x66, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 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, 0x23, 0x0a, 0x0d, 0x73, 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, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x32, 0xdc, 0x09, 0x0a, 0x14, + 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x52, 0x50, 0x43, 0x12, 0x60, 0x0a, 0x09, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, + 0x6f, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66, + 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, + 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x90, 0x01, 0x0a, + 0x19, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x8c, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x36, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x78, + 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x07, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, + 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, + 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, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_goadesign_goagen_injective_accounts_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_accounts_rpc_proto_rawDescData = file_goadesign_goagen_injective_accounts_rpc_proto_rawDesc +) + +func file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_accounts_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_accounts_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_accounts_rpc_proto_rawDescData) + }) + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescData +} + +var file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 46) +var file_goadesign_goagen_injective_accounts_rpc_proto_goTypes = []interface{}{ + (*PortfolioRequest)(nil), // 0: injective_accounts_rpc.PortfolioRequest + (*PortfolioResponse)(nil), // 1: injective_accounts_rpc.PortfolioResponse + (*AccountPortfolio)(nil), // 2: injective_accounts_rpc.AccountPortfolio + (*SubaccountPortfolio)(nil), // 3: injective_accounts_rpc.SubaccountPortfolio + (*OrderStatesRequest)(nil), // 4: injective_accounts_rpc.OrderStatesRequest + (*OrderStatesResponse)(nil), // 5: injective_accounts_rpc.OrderStatesResponse + (*OrderStateRecord)(nil), // 6: injective_accounts_rpc.OrderStateRecord + (*SubaccountsListRequest)(nil), // 7: injective_accounts_rpc.SubaccountsListRequest + (*SubaccountsListResponse)(nil), // 8: injective_accounts_rpc.SubaccountsListResponse + (*SubaccountBalancesListRequest)(nil), // 9: injective_accounts_rpc.SubaccountBalancesListRequest + (*SubaccountBalancesListResponse)(nil), // 10: injective_accounts_rpc.SubaccountBalancesListResponse + (*SubaccountBalance)(nil), // 11: injective_accounts_rpc.SubaccountBalance + (*SubaccountDeposit)(nil), // 12: injective_accounts_rpc.SubaccountDeposit + (*SubaccountBalanceEndpointRequest)(nil), // 13: injective_accounts_rpc.SubaccountBalanceEndpointRequest + (*SubaccountBalanceEndpointResponse)(nil), // 14: injective_accounts_rpc.SubaccountBalanceEndpointResponse + (*StreamSubaccountBalanceRequest)(nil), // 15: injective_accounts_rpc.StreamSubaccountBalanceRequest + (*StreamSubaccountBalanceResponse)(nil), // 16: injective_accounts_rpc.StreamSubaccountBalanceResponse + (*SubaccountHistoryRequest)(nil), // 17: injective_accounts_rpc.SubaccountHistoryRequest + (*SubaccountHistoryResponse)(nil), // 18: injective_accounts_rpc.SubaccountHistoryResponse + (*SubaccountBalanceTransfer)(nil), // 19: injective_accounts_rpc.SubaccountBalanceTransfer + (*CosmosCoin)(nil), // 20: injective_accounts_rpc.CosmosCoin + (*Paging)(nil), // 21: injective_accounts_rpc.Paging + (*SubaccountOrderSummaryRequest)(nil), // 22: injective_accounts_rpc.SubaccountOrderSummaryRequest + (*SubaccountOrderSummaryResponse)(nil), // 23: injective_accounts_rpc.SubaccountOrderSummaryResponse + (*RewardsRequest)(nil), // 24: injective_accounts_rpc.RewardsRequest + (*RewardsResponse)(nil), // 25: injective_accounts_rpc.RewardsResponse + (*Reward)(nil), // 26: injective_accounts_rpc.Reward + (*Coin)(nil), // 27: injective_accounts_rpc.Coin + (*StreamAccountDataRequest)(nil), // 28: injective_accounts_rpc.StreamAccountDataRequest + (*StreamAccountDataResponse)(nil), // 29: injective_accounts_rpc.StreamAccountDataResponse + (*SubaccountBalanceResult)(nil), // 30: injective_accounts_rpc.SubaccountBalanceResult + (*PositionsResult)(nil), // 31: injective_accounts_rpc.PositionsResult + (*Position)(nil), // 32: injective_accounts_rpc.Position + (*TradeResult)(nil), // 33: injective_accounts_rpc.TradeResult + (*SpotTrade)(nil), // 34: injective_accounts_rpc.SpotTrade + (*PriceLevel)(nil), // 35: injective_accounts_rpc.PriceLevel + (*DerivativeTrade)(nil), // 36: injective_accounts_rpc.DerivativeTrade + (*PositionDelta)(nil), // 37: injective_accounts_rpc.PositionDelta + (*OrderResult)(nil), // 38: injective_accounts_rpc.OrderResult + (*SpotLimitOrder)(nil), // 39: injective_accounts_rpc.SpotLimitOrder + (*DerivativeLimitOrder)(nil), // 40: injective_accounts_rpc.DerivativeLimitOrder + (*OrderHistoryResult)(nil), // 41: injective_accounts_rpc.OrderHistoryResult + (*SpotOrderHistory)(nil), // 42: injective_accounts_rpc.SpotOrderHistory + (*DerivativeOrderHistory)(nil), // 43: injective_accounts_rpc.DerivativeOrderHistory + (*FundingPaymentResult)(nil), // 44: injective_accounts_rpc.FundingPaymentResult + (*FundingPayment)(nil), // 45: injective_accounts_rpc.FundingPayment +} +var file_goadesign_goagen_injective_accounts_rpc_proto_depIdxs = []int32{ + 2, // 0: injective_accounts_rpc.PortfolioResponse.portfolio:type_name -> injective_accounts_rpc.AccountPortfolio + 3, // 1: injective_accounts_rpc.AccountPortfolio.subaccounts:type_name -> injective_accounts_rpc.SubaccountPortfolio + 6, // 2: injective_accounts_rpc.OrderStatesResponse.spot_order_states:type_name -> injective_accounts_rpc.OrderStateRecord + 6, // 3: injective_accounts_rpc.OrderStatesResponse.derivative_order_states:type_name -> injective_accounts_rpc.OrderStateRecord + 11, // 4: injective_accounts_rpc.SubaccountBalancesListResponse.balances:type_name -> injective_accounts_rpc.SubaccountBalance + 12, // 5: injective_accounts_rpc.SubaccountBalance.deposit:type_name -> injective_accounts_rpc.SubaccountDeposit + 11, // 6: injective_accounts_rpc.SubaccountBalanceEndpointResponse.balance:type_name -> injective_accounts_rpc.SubaccountBalance + 11, // 7: injective_accounts_rpc.StreamSubaccountBalanceResponse.balance:type_name -> injective_accounts_rpc.SubaccountBalance + 19, // 8: injective_accounts_rpc.SubaccountHistoryResponse.transfers:type_name -> injective_accounts_rpc.SubaccountBalanceTransfer + 21, // 9: injective_accounts_rpc.SubaccountHistoryResponse.paging:type_name -> injective_accounts_rpc.Paging + 20, // 10: injective_accounts_rpc.SubaccountBalanceTransfer.amount:type_name -> injective_accounts_rpc.CosmosCoin + 26, // 11: injective_accounts_rpc.RewardsResponse.rewards:type_name -> injective_accounts_rpc.Reward + 27, // 12: injective_accounts_rpc.Reward.rewards:type_name -> injective_accounts_rpc.Coin + 30, // 13: injective_accounts_rpc.StreamAccountDataResponse.subaccount_balance:type_name -> injective_accounts_rpc.SubaccountBalanceResult + 31, // 14: injective_accounts_rpc.StreamAccountDataResponse.position:type_name -> injective_accounts_rpc.PositionsResult + 33, // 15: injective_accounts_rpc.StreamAccountDataResponse.trade:type_name -> injective_accounts_rpc.TradeResult + 38, // 16: injective_accounts_rpc.StreamAccountDataResponse.order:type_name -> injective_accounts_rpc.OrderResult + 41, // 17: injective_accounts_rpc.StreamAccountDataResponse.order_history:type_name -> injective_accounts_rpc.OrderHistoryResult + 44, // 18: injective_accounts_rpc.StreamAccountDataResponse.funding_payment:type_name -> injective_accounts_rpc.FundingPaymentResult + 11, // 19: injective_accounts_rpc.SubaccountBalanceResult.balance:type_name -> injective_accounts_rpc.SubaccountBalance + 32, // 20: injective_accounts_rpc.PositionsResult.position:type_name -> injective_accounts_rpc.Position + 34, // 21: injective_accounts_rpc.TradeResult.spot_trade:type_name -> injective_accounts_rpc.SpotTrade + 36, // 22: injective_accounts_rpc.TradeResult.derivative_trade:type_name -> injective_accounts_rpc.DerivativeTrade + 35, // 23: injective_accounts_rpc.SpotTrade.price:type_name -> injective_accounts_rpc.PriceLevel + 37, // 24: injective_accounts_rpc.DerivativeTrade.position_delta:type_name -> injective_accounts_rpc.PositionDelta + 39, // 25: injective_accounts_rpc.OrderResult.spot_order:type_name -> injective_accounts_rpc.SpotLimitOrder + 40, // 26: injective_accounts_rpc.OrderResult.derivative_order:type_name -> injective_accounts_rpc.DerivativeLimitOrder + 42, // 27: injective_accounts_rpc.OrderHistoryResult.spot_order_history:type_name -> injective_accounts_rpc.SpotOrderHistory + 43, // 28: injective_accounts_rpc.OrderHistoryResult.derivative_order_history:type_name -> injective_accounts_rpc.DerivativeOrderHistory + 45, // 29: injective_accounts_rpc.FundingPaymentResult.funding_payments:type_name -> injective_accounts_rpc.FundingPayment + 0, // 30: injective_accounts_rpc.InjectiveAccountsRPC.Portfolio:input_type -> injective_accounts_rpc.PortfolioRequest + 4, // 31: injective_accounts_rpc.InjectiveAccountsRPC.OrderStates:input_type -> injective_accounts_rpc.OrderStatesRequest + 7, // 32: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountsList:input_type -> injective_accounts_rpc.SubaccountsListRequest + 9, // 33: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalancesList:input_type -> injective_accounts_rpc.SubaccountBalancesListRequest + 13, // 34: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalanceEndpoint:input_type -> injective_accounts_rpc.SubaccountBalanceEndpointRequest + 15, // 35: injective_accounts_rpc.InjectiveAccountsRPC.StreamSubaccountBalance:input_type -> injective_accounts_rpc.StreamSubaccountBalanceRequest + 17, // 36: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountHistory:input_type -> injective_accounts_rpc.SubaccountHistoryRequest + 22, // 37: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountOrderSummary:input_type -> injective_accounts_rpc.SubaccountOrderSummaryRequest + 24, // 38: injective_accounts_rpc.InjectiveAccountsRPC.Rewards:input_type -> injective_accounts_rpc.RewardsRequest + 28, // 39: injective_accounts_rpc.InjectiveAccountsRPC.StreamAccountData:input_type -> injective_accounts_rpc.StreamAccountDataRequest + 1, // 40: injective_accounts_rpc.InjectiveAccountsRPC.Portfolio:output_type -> injective_accounts_rpc.PortfolioResponse + 5, // 41: injective_accounts_rpc.InjectiveAccountsRPC.OrderStates:output_type -> injective_accounts_rpc.OrderStatesResponse + 8, // 42: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountsList:output_type -> injective_accounts_rpc.SubaccountsListResponse + 10, // 43: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalancesList:output_type -> injective_accounts_rpc.SubaccountBalancesListResponse + 14, // 44: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalanceEndpoint:output_type -> injective_accounts_rpc.SubaccountBalanceEndpointResponse + 16, // 45: injective_accounts_rpc.InjectiveAccountsRPC.StreamSubaccountBalance:output_type -> injective_accounts_rpc.StreamSubaccountBalanceResponse + 18, // 46: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountHistory:output_type -> injective_accounts_rpc.SubaccountHistoryResponse + 23, // 47: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountOrderSummary:output_type -> injective_accounts_rpc.SubaccountOrderSummaryResponse + 25, // 48: injective_accounts_rpc.InjectiveAccountsRPC.Rewards:output_type -> injective_accounts_rpc.RewardsResponse + 29, // 49: injective_accounts_rpc.InjectiveAccountsRPC.StreamAccountData:output_type -> injective_accounts_rpc.StreamAccountDataResponse + 40, // [40:50] is the sub-list for method output_type + 30, // [30:40] is the sub-list for method input_type + 30, // [30:30] is the sub-list for extension type_name + 30, // [30:30] is the sub-list for extension extendee + 0, // [0:30] is the sub-list for field type_name +} + +func init() { file_goadesign_goagen_injective_accounts_rpc_proto_init() } +func file_goadesign_goagen_injective_accounts_rpc_proto_init() { + if File_goadesign_goagen_injective_accounts_rpc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortfolioRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortfolioResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountPortfolio); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountPortfolio); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderStatesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderStatesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderStateRecord); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountsListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountsListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalancesListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalancesListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountDeposit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalanceEndpointRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalanceEndpointResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamSubaccountBalanceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamSubaccountBalanceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountHistoryRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountHistoryResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalanceTransfer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CosmosCoin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Paging); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountOrderSummaryRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountOrderSummaryResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RewardsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RewardsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Reward); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Coin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamAccountDataRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamAccountDataResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalanceResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PositionsResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Position); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TradeResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpotTrade); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PriceLevel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DerivativeTrade); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PositionDelta); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpotLimitOrder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DerivativeLimitOrder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderHistoryResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpotOrderHistory); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DerivativeOrderHistory); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundingPaymentResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundingPayment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[33].OneofWrappers = []interface{}{ + (*TradeResult_SpotTrade)(nil), + (*TradeResult_DerivativeTrade)(nil), + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[38].OneofWrappers = []interface{}{ + (*OrderResult_SpotOrder)(nil), + (*OrderResult_DerivativeOrder)(nil), + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[41].OneofWrappers = []interface{}{ + (*OrderHistoryResult_SpotOrderHistory)(nil), + (*OrderHistoryResult_DerivativeOrderHistory)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_goadesign_goagen_injective_accounts_rpc_proto_rawDesc, + NumEnums: 0, + NumMessages: 46, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_goadesign_goagen_injective_accounts_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_accounts_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes, + }.Build() + File_goadesign_goagen_injective_accounts_rpc_proto = out.File + file_goadesign_goagen_injective_accounts_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_accounts_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_accounts_rpc_proto_depIdxs = nil +} diff --git a/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.proto b/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.proto new file mode 100644 index 00000000..e28956da --- /dev/null +++ b/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.proto @@ -0,0 +1,623 @@ +// Code generated with goa v3.7.0, DO NOT EDIT. +// +// InjectiveAccountsRPC protocol buffer definition +// +// Command: +// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ + +syntax = "proto3"; + +package injective_accounts_rpc; + +option go_package = "/injective_accounts_rpcpb"; + +// InjectiveAccountsRPC defines API of Exchange Accounts provider. +service InjectiveAccountsRPC { + // Provide the account's portfolio value in USD. + rpc Portfolio (PortfolioRequest) returns (PortfolioResponse); + // List order states by order hashes + rpc OrderStates (OrderStatesRequest) returns (OrderStatesResponse); + // List all subaccounts IDs of an account address + rpc SubaccountsList (SubaccountsListRequest) returns (SubaccountsListResponse); + // List subaccount balances for the provided denoms. + rpc SubaccountBalancesList (SubaccountBalancesListRequest) returns (SubaccountBalancesListResponse); + // Gets a balance for specific coin denom + rpc SubaccountBalanceEndpoint (SubaccountBalanceEndpointRequest) returns (SubaccountBalanceEndpointResponse); + // StreamSubaccountBalance streams new balance changes for a specified +// subaccount and denoms. If no denoms are provided, all denom changes are +// streamed. + rpc StreamSubaccountBalance (StreamSubaccountBalanceRequest) returns (stream StreamSubaccountBalanceResponse); + // Get subaccount's deposits and withdrawals history + rpc SubaccountHistory (SubaccountHistoryRequest) returns (SubaccountHistoryResponse); + // Get subaccount's orders summary + rpc SubaccountOrderSummary (SubaccountOrderSummaryRequest) returns (SubaccountOrderSummaryResponse); + // Provide historical trading rewards + rpc Rewards (RewardsRequest) returns (RewardsResponse); + // Stream live data for an account and respective data + rpc StreamAccountData (StreamAccountDataRequest) returns (stream StreamAccountDataResponse); +} + +message PortfolioRequest { + // Account address + string account_address = 1; +} + +message PortfolioResponse { + // The portfolio of this account + AccountPortfolio portfolio = 1; +} + +message AccountPortfolio { + // The account's portfolio value in USD. + string portfolio_value = 1; + // The account's available balance value in USD. + string available_balance = 2; + // The account's locked balance value in USD. + string locked_balance = 3; + // The account's total unrealized PnL value in USD. + string unrealized_pnl = 4; + // List of all subaccounts' portfolio + repeated SubaccountPortfolio subaccounts = 5; +} + +message SubaccountPortfolio { + // The ID of this subaccount + string subaccount_id = 1; + // The subaccount's available balance value in USD. + string available_balance = 2; + // The subaccount's locked balance value in USD. + string locked_balance = 3; + // The subaccount's total unrealized PnL value in USD. + string unrealized_pnl = 4; +} + +message OrderStatesRequest { + repeated string spot_order_hashes = 1; + repeated string derivative_order_hashes = 2; +} + +message OrderStatesResponse { + // List of the spot order state records + repeated OrderStateRecord spot_order_states = 1; + // List of the derivative order state records + repeated OrderStateRecord derivative_order_states = 2; +} + +message OrderStateRecord { + // Hash of the order + string order_hash = 1; + // The subaccountId that this order belongs to + string subaccount_id = 2; + // The Market ID of the order + string market_id = 3; + // The type of the order + string order_type = 4; + // The side of the order + string order_side = 5; + // The state (status) of the order + string state = 6; + // The filled quantity of the order + string quantity_filled = 7; + // The filled quantity of the order + string quantity_remaining = 8; + // Order committed timestamp in UNIX millis. + sint64 created_at = 9; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 10; + // Order prices + string price = 11; + // Margin for derivative order + string margin = 12; +} + +message SubaccountsListRequest { + // Account address, the subaccounts owner + string account_address = 1; +} + +message SubaccountsListResponse { + repeated string subaccounts = 1; +} + +message SubaccountBalancesListRequest { + // SubaccountId of the trader we want to get the trades from + string subaccount_id = 1; + // Filter balances by denoms. If not set, the balances of all the denoms for +// the subaccount are provided. + repeated string denoms = 2; +} + +message SubaccountBalancesListResponse { + // List of subaccount balances + repeated SubaccountBalance balances = 1; +} + +message SubaccountBalance { + // Related subaccount ID + string subaccount_id = 1; + // Account address, owner of this subaccount + string account_address = 2; + // Coin denom on the chain. + string denom = 3; + SubaccountDeposit deposit = 4; +} + +message SubaccountDeposit { + string total_balance = 1; + string available_balance = 2; +} + +message SubaccountBalanceEndpointRequest { + // SubaccountId of the trader we want to get the trades from + string subaccount_id = 1; + // Specify denom to get balance + string denom = 2; +} + +message SubaccountBalanceEndpointResponse { + // Subaccount balance + SubaccountBalance balance = 1; +} + +message StreamSubaccountBalanceRequest { + // SubaccountId of the trader we want to get the trades from + string subaccount_id = 1; + // Filter balances by denoms. If not set, the balances of all the denoms for +// the subaccount are provided. + repeated string denoms = 2; +} + +message StreamSubaccountBalanceResponse { + // Subaccount balance + SubaccountBalance balance = 1; + // Operation timestamp in UNIX millis. + sint64 timestamp = 2; +} + +message SubaccountHistoryRequest { + // SubaccountId of the trader we want to get the history from + string subaccount_id = 1; + // Filter history by denom + string denom = 2; + // Filter history by transfer type + repeated string transfer_types = 3; + // Skip will skip the first n item from the result + uint64 skip = 4; + // Limit is used to specify the maximum number of items to be returned + sint32 limit = 5; + // Upper bound of account transfer history's executedAt + sint64 end_time = 6; +} + +message SubaccountHistoryResponse { + // List of subaccount transfers + repeated SubaccountBalanceTransfer transfers = 1; + Paging paging = 2; +} + +message SubaccountBalanceTransfer { + // Type of the subaccount balance transfer + string transfer_type = 1; + // Subaccount ID of the sending side + string src_subaccount_id = 2; + // Account address of the sending side + string src_account_address = 3; + // Subaccount ID of the receiving side + string dst_subaccount_id = 4; + // Account address of the receiving side + string dst_account_address = 5; + // Coin amount of the transfer + CosmosCoin amount = 6; + // Timestamp of the transfer in UNIX millis + sint64 executed_at = 7; +} + +message CosmosCoin { + // Coin denominator + string denom = 1; + // Coin amount (big int) + string amount = 2; +} +// Paging defines the structure for required params for handling pagination +message Paging { + // total number of txs saved in database + sint64 total = 1; + // can be either block height or index num + sint32 from = 2; + // can be either block height or index num + sint32 to = 3; + // count entries by subaccount, serving some places on helix + sint64 count_by_subaccount = 4; + // array of tokens to navigate to the next pages + repeated string next = 5; +} + +message SubaccountOrderSummaryRequest { + // SubaccountId of the trader we want to get the summary from + string subaccount_id = 1; + // MarketId is limiting order summary to specific market only + string market_id = 2; + // Filter by direction of the orders + string order_direction = 3; +} + +message SubaccountOrderSummaryResponse { + // Total count of subaccount's spot orders in given market and direction + sint64 spot_orders_total = 1; + // Total count of subaccount's derivative orders in given market and direction + sint64 derivative_orders_total = 2; +} + +message RewardsRequest { + // The distribution epoch sequence number. -1 for latest. + sint64 epoch = 1; + // Account address for the rewards distribution + string account_address = 2; +} + +message RewardsResponse { + // The trading rewards distributed + repeated Reward rewards = 1; +} + +message Reward { + // Account address + string account_address = 1; + // Reward coins distributed + repeated Coin rewards = 2; + // Rewards distribution timestamp in UNIX millis. + sint64 distributed_at = 3; +} + +message Coin { + // Denom of the coin + string denom = 1; + string amount = 2; +} + +message StreamAccountDataRequest { + // account address + string account_address = 1; +} + +message StreamAccountDataResponse { + SubaccountBalanceResult subaccount_balance = 1; + PositionsResult position = 2; + TradeResult trade = 3; + OrderResult order = 4; + OrderHistoryResult order_history = 5; + FundingPaymentResult funding_payment = 6; +} + +message SubaccountBalanceResult { + // Subaccount balance + SubaccountBalance balance = 1; + // Operation timestamp in UNIX millis. + sint64 timestamp = 2; +} + +message PositionsResult { + // Updated derivative Position + Position position = 1; + // Operation timestamp in UNIX millis. + sint64 timestamp = 2; +} + +message Position { + // Ticker of the derivative market + string ticker = 1; + // Derivative Market ID + string market_id = 2; + // The subaccountId that the position belongs to + string subaccount_id = 3; + // Direction of the position + string direction = 4; + // Quantity of the position + string quantity = 5; + // Price of the position + string entry_price = 6; + // Margin of the position + string margin = 7; + // LiquidationPrice of the position + string liquidation_price = 8; + // MarkPrice of the position + string mark_price = 9; + // Position updated timestamp in UNIX millis. + sint64 updated_at = 10; + // Position created timestamp in UNIX millis. + sint64 created_at = 11; +} + +message TradeResult { + oneof trade { + // New spot market trade + SpotTrade spot_trade = 1; + // New derivative market trade + DerivativeTrade derivative_trade = 2; + } + // Executed trades update type + string operation_type = 3; + // Operation timestamp in UNIX millis. + sint64 timestamp = 4; +} + +message SpotTrade { + // Maker order hash. + string order_hash = 1; + // The subaccountId that executed the trade + string subaccount_id = 2; + // The ID of the market that this trade is in + string market_id = 3; + // The execution type of the trade + string trade_execution_type = 4; + // The direction the trade + string trade_direction = 5; + // Price level at which trade has been executed + PriceLevel price = 6; + // The fee associated with the trade (quote asset denom) + string fee = 7; + // Timestamp of trade execution in UNIX millis + sint64 executed_at = 8; + // Fee recipient address + string fee_recipient = 9; + // A unique string that helps differentiate between trades + string trade_id = 10; + // Trade's execution side, marker/taker + string execution_side = 11; + // Custom client order ID + string cid = 12; +} + +message PriceLevel { + // Price number of the price level. + string price = 1; + // Quantity of the price level. + string quantity = 2; + // Price level last updated timestamp in UNIX millis. + sint64 timestamp = 3; +} + +message DerivativeTrade { + // Order hash. + string order_hash = 1; + // The subaccountId that executed the trade + string subaccount_id = 2; + // The ID of the market that this trade is in + string market_id = 3; + // The execution type of the trade + string trade_execution_type = 4; + // True if the trade is a liquidation + bool is_liquidation = 5; + // Position Delta from the trade + PositionDelta position_delta = 6; + // The payout associated with the trade + string payout = 7; + // The fee associated with the trade + string fee = 8; + // Timestamp of trade execution in UNIX millis + sint64 executed_at = 9; + // Fee recipient address + string fee_recipient = 10; + // A unique string that helps differentiate between trades + string trade_id = 11; + // Trade's execution side, marker/taker + string execution_side = 12; + // Custom client order ID + string cid = 13; +} + +message PositionDelta { + // The direction the trade + string trade_direction = 1; + // Execution Price of the trade. + string execution_price = 2; + // Execution Quantity of the trade. + string execution_quantity = 3; + // Execution Margin of the trade. + string execution_margin = 4; +} + +message OrderResult { + oneof order { + // Updated spot market order + SpotLimitOrder spot_order = 1; + // Updated derivative market order + DerivativeLimitOrder derivative_order = 2; + } + // Executed orders update type + string operation_type = 3; + // Operation timestamp in UNIX millis. + sint64 timestamp = 4; +} + +message SpotLimitOrder { + // Hash of the order + string order_hash = 1; + // The side of the order + string order_side = 2; + // Spot Market ID is keccak265(baseDenom + quoteDenom) + string market_id = 3; + // The subaccountId that this order belongs to + string subaccount_id = 4; + // Price of the order + string price = 5; + // Quantity of the order + string quantity = 6; + // The amount of the quantity remaining unfilled + string unfilled_quantity = 7; + // Trigger price is the trigger price used by stop/take orders. 0 if the +// trigger price is not set. + string trigger_price = 8; + // Fee recipient address + string fee_recipient = 9; + // Order state + string state = 10; + // Order committed timestamp in UNIX millis. + sint64 created_at = 11; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 12; + // Transaction Hash where order is created. Not all orders have this field + string tx_hash = 13; + // Custom client order ID + string cid = 14; +} + +message DerivativeLimitOrder { + // Hash of the order + string order_hash = 1; + // The side of the order + string order_side = 2; + // Derivative Market ID + string market_id = 3; + // The subaccountId that this order belongs to + string subaccount_id = 4; + // True if the order is a reduce-only order + bool is_reduce_only = 5; + // Margin of the order + string margin = 6; + // Price of the order + string price = 7; + // Quantity of the order + string quantity = 8; + // The amount of the quantity remaining unfilled + string unfilled_quantity = 9; + // Trigger price is the trigger price used by stop/take orders + string trigger_price = 10; + // Fee recipient address + string fee_recipient = 11; + // Order state + string state = 12; + // Order committed timestamp in UNIX millis. + sint64 created_at = 13; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 14; + // Order number of subaccount + sint64 order_number = 15; + // Order type + string order_type = 16; + // Order type + bool is_conditional = 17; + // Trigger timestamp, only exists for conditional orders + uint64 trigger_at = 18; + // OrderHash of order that is triggered by this conditional order + string placed_order_hash = 19; + // Execution type of conditional order + string execution_type = 20; + // Transaction Hash where order is created. Not all orders have this field + string tx_hash = 21; + // Custom client order ID + string cid = 22; +} + +message OrderHistoryResult { + oneof order_history { + // Spot order history + SpotOrderHistory spot_order_history = 1; + // Derivative order history + DerivativeOrderHistory derivative_order_history = 2; + } + // Order update type + string operation_type = 3; + // Operation timestamp in UNIX millis. + sint64 timestamp = 4; +} + +message SpotOrderHistory { + // Hash of the order + string order_hash = 1; + // Spot Market ID is keccak265(baseDenom + quoteDenom) + string market_id = 2; + // active state of the order + bool is_active = 3; + // The subaccountId that this order belongs to + string subaccount_id = 4; + // The execution type + string execution_type = 5; + // The side of the order + string order_type = 6; + // Price of the order + string price = 7; + // Trigger price + string trigger_price = 8; + // Quantity of the order + string quantity = 9; + // Filled amount + string filled_quantity = 10; + // Order state + string state = 11; + // Order committed timestamp in UNIX millis. + sint64 created_at = 12; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 13; + // Order direction (order side) + string direction = 14; + // Transaction Hash where order is created. Not all orders have this field + string tx_hash = 15; + // Custom client order ID + string cid = 16; +} + +message DerivativeOrderHistory { + // Hash of the order + string order_hash = 1; + // Spot Market ID is keccak265(baseDenom + quoteDenom) + string market_id = 2; + // active state of the order + bool is_active = 3; + // The subaccountId that this order belongs to + string subaccount_id = 4; + // The execution type + string execution_type = 5; + // The side of the order + string order_type = 6; + // Price of the order + string price = 7; + // Trigger price + string trigger_price = 8; + // Quantity of the order + string quantity = 9; + // Filled amount + string filled_quantity = 10; + // Order state + string state = 11; + // Order committed timestamp in UNIX millis. + sint64 created_at = 12; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 13; + // True if an order is reduce only + bool is_reduce_only = 14; + // Order direction (order side) + string direction = 15; + // True if this is conditional order, otherwise false + bool is_conditional = 16; + // Trigger timestamp in unix milli + uint64 trigger_at = 17; + // Order hash placed when this triggers + string placed_order_hash = 18; + // Order's margin + string margin = 19; + // Transaction Hash where order is created. Not all orders have this field + string tx_hash = 20; + // Custom client order ID + string cid = 21; +} + +message FundingPaymentResult { + // Funding payments of the account + FundingPayment funding_payments = 1; + // Funding payments type + string operation_type = 2; + // Operation timestamp in UNIX millis. + sint64 timestamp = 4; +} + +message FundingPayment { + // Derivative Market ID + string market_id = 1; + // The subaccountId that the position belongs to + string subaccount_id = 2; + // Amount of the funding payment + string amount = 3; + // Timestamp of funding payment in UNIX millis + sint64 timestamp = 4; +} diff --git a/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go b/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go new file mode 100644 index 00000000..fc873c15 --- /dev/null +++ b/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go @@ -0,0 +1,508 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_accounts_rpc.proto + +package injective_accounts_rpcpb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// InjectiveAccountsRPCClient is the client API for InjectiveAccountsRPC service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type InjectiveAccountsRPCClient interface { + // Provide the account's portfolio value in USD. + Portfolio(ctx context.Context, in *PortfolioRequest, opts ...grpc.CallOption) (*PortfolioResponse, error) + // List order states by order hashes + OrderStates(ctx context.Context, in *OrderStatesRequest, opts ...grpc.CallOption) (*OrderStatesResponse, error) + // List all subaccounts IDs of an account address + SubaccountsList(ctx context.Context, in *SubaccountsListRequest, opts ...grpc.CallOption) (*SubaccountsListResponse, error) + // List subaccount balances for the provided denoms. + SubaccountBalancesList(ctx context.Context, in *SubaccountBalancesListRequest, opts ...grpc.CallOption) (*SubaccountBalancesListResponse, error) + // Gets a balance for specific coin denom + SubaccountBalanceEndpoint(ctx context.Context, in *SubaccountBalanceEndpointRequest, opts ...grpc.CallOption) (*SubaccountBalanceEndpointResponse, error) + // StreamSubaccountBalance streams new balance changes for a specified + // subaccount and denoms. If no denoms are provided, all denom changes are + // streamed. + StreamSubaccountBalance(ctx context.Context, in *StreamSubaccountBalanceRequest, opts ...grpc.CallOption) (InjectiveAccountsRPC_StreamSubaccountBalanceClient, error) + // Get subaccount's deposits and withdrawals history + SubaccountHistory(ctx context.Context, in *SubaccountHistoryRequest, opts ...grpc.CallOption) (*SubaccountHistoryResponse, error) + // Get subaccount's orders summary + SubaccountOrderSummary(ctx context.Context, in *SubaccountOrderSummaryRequest, opts ...grpc.CallOption) (*SubaccountOrderSummaryResponse, error) + // Provide historical trading rewards + Rewards(ctx context.Context, in *RewardsRequest, opts ...grpc.CallOption) (*RewardsResponse, error) + // Stream live data for an account and respective data + StreamAccountData(ctx context.Context, in *StreamAccountDataRequest, opts ...grpc.CallOption) (InjectiveAccountsRPC_StreamAccountDataClient, error) +} + +type injectiveAccountsRPCClient struct { + cc grpc.ClientConnInterface +} + +func NewInjectiveAccountsRPCClient(cc grpc.ClientConnInterface) InjectiveAccountsRPCClient { + return &injectiveAccountsRPCClient{cc} +} + +func (c *injectiveAccountsRPCClient) Portfolio(ctx context.Context, in *PortfolioRequest, opts ...grpc.CallOption) (*PortfolioResponse, error) { + out := new(PortfolioResponse) + err := c.cc.Invoke(ctx, "/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *injectiveAccountsRPCClient) OrderStates(ctx context.Context, in *OrderStatesRequest, opts ...grpc.CallOption) (*OrderStatesResponse, error) { + out := new(OrderStatesResponse) + err := c.cc.Invoke(ctx, "/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *injectiveAccountsRPCClient) SubaccountsList(ctx context.Context, in *SubaccountsListRequest, opts ...grpc.CallOption) (*SubaccountsListResponse, error) { + out := new(SubaccountsListResponse) + err := c.cc.Invoke(ctx, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *injectiveAccountsRPCClient) SubaccountBalancesList(ctx context.Context, in *SubaccountBalancesListRequest, opts ...grpc.CallOption) (*SubaccountBalancesListResponse, error) { + out := new(SubaccountBalancesListResponse) + err := c.cc.Invoke(ctx, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *injectiveAccountsRPCClient) SubaccountBalanceEndpoint(ctx context.Context, in *SubaccountBalanceEndpointRequest, opts ...grpc.CallOption) (*SubaccountBalanceEndpointResponse, error) { + out := new(SubaccountBalanceEndpointResponse) + err := c.cc.Invoke(ctx, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *injectiveAccountsRPCClient) StreamSubaccountBalance(ctx context.Context, in *StreamSubaccountBalanceRequest, opts ...grpc.CallOption) (InjectiveAccountsRPC_StreamSubaccountBalanceClient, error) { + stream, err := c.cc.NewStream(ctx, &InjectiveAccountsRPC_ServiceDesc.Streams[0], "/injective_accounts_rpc.InjectiveAccountsRPC/StreamSubaccountBalance", opts...) + if err != nil { + return nil, err + } + x := &injectiveAccountsRPCStreamSubaccountBalanceClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type InjectiveAccountsRPC_StreamSubaccountBalanceClient interface { + Recv() (*StreamSubaccountBalanceResponse, error) + grpc.ClientStream +} + +type injectiveAccountsRPCStreamSubaccountBalanceClient struct { + grpc.ClientStream +} + +func (x *injectiveAccountsRPCStreamSubaccountBalanceClient) Recv() (*StreamSubaccountBalanceResponse, error) { + m := new(StreamSubaccountBalanceResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *injectiveAccountsRPCClient) SubaccountHistory(ctx context.Context, in *SubaccountHistoryRequest, opts ...grpc.CallOption) (*SubaccountHistoryResponse, error) { + out := new(SubaccountHistoryResponse) + err := c.cc.Invoke(ctx, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *injectiveAccountsRPCClient) SubaccountOrderSummary(ctx context.Context, in *SubaccountOrderSummaryRequest, opts ...grpc.CallOption) (*SubaccountOrderSummaryResponse, error) { + out := new(SubaccountOrderSummaryResponse) + err := c.cc.Invoke(ctx, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *injectiveAccountsRPCClient) Rewards(ctx context.Context, in *RewardsRequest, opts ...grpc.CallOption) (*RewardsResponse, error) { + out := new(RewardsResponse) + err := c.cc.Invoke(ctx, "/injective_accounts_rpc.InjectiveAccountsRPC/Rewards", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *injectiveAccountsRPCClient) StreamAccountData(ctx context.Context, in *StreamAccountDataRequest, opts ...grpc.CallOption) (InjectiveAccountsRPC_StreamAccountDataClient, error) { + stream, err := c.cc.NewStream(ctx, &InjectiveAccountsRPC_ServiceDesc.Streams[1], "/injective_accounts_rpc.InjectiveAccountsRPC/StreamAccountData", opts...) + if err != nil { + return nil, err + } + x := &injectiveAccountsRPCStreamAccountDataClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type InjectiveAccountsRPC_StreamAccountDataClient interface { + Recv() (*StreamAccountDataResponse, error) + grpc.ClientStream +} + +type injectiveAccountsRPCStreamAccountDataClient struct { + grpc.ClientStream +} + +func (x *injectiveAccountsRPCStreamAccountDataClient) Recv() (*StreamAccountDataResponse, error) { + m := new(StreamAccountDataResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// InjectiveAccountsRPCServer is the server API for InjectiveAccountsRPC service. +// All implementations must embed UnimplementedInjectiveAccountsRPCServer +// for forward compatibility +type InjectiveAccountsRPCServer interface { + // Provide the account's portfolio value in USD. + Portfolio(context.Context, *PortfolioRequest) (*PortfolioResponse, error) + // List order states by order hashes + OrderStates(context.Context, *OrderStatesRequest) (*OrderStatesResponse, error) + // List all subaccounts IDs of an account address + SubaccountsList(context.Context, *SubaccountsListRequest) (*SubaccountsListResponse, error) + // List subaccount balances for the provided denoms. + SubaccountBalancesList(context.Context, *SubaccountBalancesListRequest) (*SubaccountBalancesListResponse, error) + // Gets a balance for specific coin denom + SubaccountBalanceEndpoint(context.Context, *SubaccountBalanceEndpointRequest) (*SubaccountBalanceEndpointResponse, error) + // StreamSubaccountBalance streams new balance changes for a specified + // subaccount and denoms. If no denoms are provided, all denom changes are + // streamed. + StreamSubaccountBalance(*StreamSubaccountBalanceRequest, InjectiveAccountsRPC_StreamSubaccountBalanceServer) error + // Get subaccount's deposits and withdrawals history + SubaccountHistory(context.Context, *SubaccountHistoryRequest) (*SubaccountHistoryResponse, error) + // Get subaccount's orders summary + SubaccountOrderSummary(context.Context, *SubaccountOrderSummaryRequest) (*SubaccountOrderSummaryResponse, error) + // Provide historical trading rewards + Rewards(context.Context, *RewardsRequest) (*RewardsResponse, error) + // Stream live data for an account and respective data + StreamAccountData(*StreamAccountDataRequest, InjectiveAccountsRPC_StreamAccountDataServer) error + mustEmbedUnimplementedInjectiveAccountsRPCServer() +} + +// UnimplementedInjectiveAccountsRPCServer must be embedded to have forward compatible implementations. +type UnimplementedInjectiveAccountsRPCServer struct { +} + +func (UnimplementedInjectiveAccountsRPCServer) Portfolio(context.Context, *PortfolioRequest) (*PortfolioResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Portfolio not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) OrderStates(context.Context, *OrderStatesRequest) (*OrderStatesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method OrderStates not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) SubaccountsList(context.Context, *SubaccountsListRequest) (*SubaccountsListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SubaccountsList not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) SubaccountBalancesList(context.Context, *SubaccountBalancesListRequest) (*SubaccountBalancesListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SubaccountBalancesList not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) SubaccountBalanceEndpoint(context.Context, *SubaccountBalanceEndpointRequest) (*SubaccountBalanceEndpointResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SubaccountBalanceEndpoint not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) StreamSubaccountBalance(*StreamSubaccountBalanceRequest, InjectiveAccountsRPC_StreamSubaccountBalanceServer) error { + return status.Errorf(codes.Unimplemented, "method StreamSubaccountBalance not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) SubaccountHistory(context.Context, *SubaccountHistoryRequest) (*SubaccountHistoryResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SubaccountHistory not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) SubaccountOrderSummary(context.Context, *SubaccountOrderSummaryRequest) (*SubaccountOrderSummaryResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SubaccountOrderSummary not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) Rewards(context.Context, *RewardsRequest) (*RewardsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Rewards not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) StreamAccountData(*StreamAccountDataRequest, InjectiveAccountsRPC_StreamAccountDataServer) error { + return status.Errorf(codes.Unimplemented, "method StreamAccountData not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) mustEmbedUnimplementedInjectiveAccountsRPCServer() {} + +// UnsafeInjectiveAccountsRPCServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to InjectiveAccountsRPCServer will +// result in compilation errors. +type UnsafeInjectiveAccountsRPCServer interface { + mustEmbedUnimplementedInjectiveAccountsRPCServer() +} + +func RegisterInjectiveAccountsRPCServer(s grpc.ServiceRegistrar, srv InjectiveAccountsRPCServer) { + s.RegisterService(&InjectiveAccountsRPC_ServiceDesc, srv) +} + +func _InjectiveAccountsRPC_Portfolio_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PortfolioRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveAccountsRPCServer).Portfolio(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveAccountsRPCServer).Portfolio(ctx, req.(*PortfolioRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InjectiveAccountsRPC_OrderStates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OrderStatesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveAccountsRPCServer).OrderStates(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveAccountsRPCServer).OrderStates(ctx, req.(*OrderStatesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InjectiveAccountsRPC_SubaccountsList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SubaccountsListRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveAccountsRPCServer).SubaccountsList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveAccountsRPCServer).SubaccountsList(ctx, req.(*SubaccountsListRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InjectiveAccountsRPC_SubaccountBalancesList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SubaccountBalancesListRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveAccountsRPCServer).SubaccountBalancesList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveAccountsRPCServer).SubaccountBalancesList(ctx, req.(*SubaccountBalancesListRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InjectiveAccountsRPC_SubaccountBalanceEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SubaccountBalanceEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveAccountsRPCServer).SubaccountBalanceEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveAccountsRPCServer).SubaccountBalanceEndpoint(ctx, req.(*SubaccountBalanceEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InjectiveAccountsRPC_StreamSubaccountBalance_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(StreamSubaccountBalanceRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(InjectiveAccountsRPCServer).StreamSubaccountBalance(m, &injectiveAccountsRPCStreamSubaccountBalanceServer{stream}) +} + +type InjectiveAccountsRPC_StreamSubaccountBalanceServer interface { + Send(*StreamSubaccountBalanceResponse) error + grpc.ServerStream +} + +type injectiveAccountsRPCStreamSubaccountBalanceServer struct { + grpc.ServerStream +} + +func (x *injectiveAccountsRPCStreamSubaccountBalanceServer) Send(m *StreamSubaccountBalanceResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _InjectiveAccountsRPC_SubaccountHistory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SubaccountHistoryRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveAccountsRPCServer).SubaccountHistory(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveAccountsRPCServer).SubaccountHistory(ctx, req.(*SubaccountHistoryRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InjectiveAccountsRPC_SubaccountOrderSummary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SubaccountOrderSummaryRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveAccountsRPCServer).SubaccountOrderSummary(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveAccountsRPCServer).SubaccountOrderSummary(ctx, req.(*SubaccountOrderSummaryRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InjectiveAccountsRPC_Rewards_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RewardsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveAccountsRPCServer).Rewards(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_accounts_rpc.InjectiveAccountsRPC/Rewards", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveAccountsRPCServer).Rewards(ctx, req.(*RewardsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InjectiveAccountsRPC_StreamAccountData_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(StreamAccountDataRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(InjectiveAccountsRPCServer).StreamAccountData(m, &injectiveAccountsRPCStreamAccountDataServer{stream}) +} + +type InjectiveAccountsRPC_StreamAccountDataServer interface { + Send(*StreamAccountDataResponse) error + grpc.ServerStream +} + +type injectiveAccountsRPCStreamAccountDataServer struct { + grpc.ServerStream +} + +func (x *injectiveAccountsRPCStreamAccountDataServer) Send(m *StreamAccountDataResponse) error { + return x.ServerStream.SendMsg(m) +} + +// InjectiveAccountsRPC_ServiceDesc is the grpc.ServiceDesc for InjectiveAccountsRPC service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var InjectiveAccountsRPC_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "injective_accounts_rpc.InjectiveAccountsRPC", + HandlerType: (*InjectiveAccountsRPCServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Portfolio", + Handler: _InjectiveAccountsRPC_Portfolio_Handler, + }, + { + MethodName: "OrderStates", + Handler: _InjectiveAccountsRPC_OrderStates_Handler, + }, + { + MethodName: "SubaccountsList", + Handler: _InjectiveAccountsRPC_SubaccountsList_Handler, + }, + { + MethodName: "SubaccountBalancesList", + Handler: _InjectiveAccountsRPC_SubaccountBalancesList_Handler, + }, + { + MethodName: "SubaccountBalanceEndpoint", + Handler: _InjectiveAccountsRPC_SubaccountBalanceEndpoint_Handler, + }, + { + MethodName: "SubaccountHistory", + Handler: _InjectiveAccountsRPC_SubaccountHistory_Handler, + }, + { + MethodName: "SubaccountOrderSummary", + Handler: _InjectiveAccountsRPC_SubaccountOrderSummary_Handler, + }, + { + MethodName: "Rewards", + Handler: _InjectiveAccountsRPC_Rewards_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "StreamSubaccountBalance", + Handler: _InjectiveAccountsRPC_StreamSubaccountBalance_Handler, + ServerStreams: true, + }, + { + StreamName: "StreamAccountData", + Handler: _InjectiveAccountsRPC_StreamAccountData_Handler, + ServerStreams: true, + }, + }, + Metadata: "goadesign_goagen_injective_accounts_rpc.proto", +} diff --git a/exchange/accounts_rpc/pb/pb/injective_accounts_rpc.pb.gw.go b/exchange/accounts_rpc/pb/pb/injective_accounts_rpc.pb.gw.go new file mode 100644 index 00000000..4ceab949 --- /dev/null +++ b/exchange/accounts_rpc/pb/pb/injective_accounts_rpc.pb.gw.go @@ -0,0 +1,882 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: injective_accounts_rpc.proto + +/* +Package injective_accounts_rpcpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package injective_accounts_rpcpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_InjectiveAccountsRPC_Portfolio_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PortfolioRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Portfolio(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveAccountsRPC_Portfolio_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveAccountsRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PortfolioRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Portfolio(ctx, &protoReq) + return msg, metadata, err + +} + +func request_InjectiveAccountsRPC_OrderStates_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrderStatesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.OrderStates(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveAccountsRPC_OrderStates_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveAccountsRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrderStatesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.OrderStates(ctx, &protoReq) + return msg, metadata, err + +} + +func request_InjectiveAccountsRPC_SubaccountsList_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountsListRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.SubaccountsList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveAccountsRPC_SubaccountsList_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveAccountsRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountsListRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SubaccountsList(ctx, &protoReq) + return msg, metadata, err + +} + +func request_InjectiveAccountsRPC_SubaccountBalancesList_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountBalancesListRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.SubaccountBalancesList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveAccountsRPC_SubaccountBalancesList_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveAccountsRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountBalancesListRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SubaccountBalancesList(ctx, &protoReq) + return msg, metadata, err + +} + +func request_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountBalanceEndpointRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.SubaccountBalanceEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveAccountsRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountBalanceEndpointRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SubaccountBalanceEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +func request_InjectiveAccountsRPC_StreamSubaccountBalance_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (InjectiveAccountsRPC_StreamSubaccountBalanceClient, runtime.ServerMetadata, error) { + var protoReq StreamSubaccountBalanceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + stream, err := client.StreamSubaccountBalance(ctx, &protoReq) + if err != nil { + return nil, metadata, err + } + header, err := stream.Header() + if err != nil { + return nil, metadata, err + } + metadata.HeaderMD = header + return stream, metadata, nil + +} + +func request_InjectiveAccountsRPC_SubaccountHistory_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountHistoryRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.SubaccountHistory(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveAccountsRPC_SubaccountHistory_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveAccountsRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountHistoryRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SubaccountHistory(ctx, &protoReq) + return msg, metadata, err + +} + +func request_InjectiveAccountsRPC_SubaccountOrderSummary_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountOrderSummaryRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.SubaccountOrderSummary(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveAccountsRPC_SubaccountOrderSummary_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveAccountsRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountOrderSummaryRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SubaccountOrderSummary(ctx, &protoReq) + return msg, metadata, err + +} + +func request_InjectiveAccountsRPC_Rewards_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RewardsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Rewards(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveAccountsRPC_Rewards_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveAccountsRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RewardsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Rewards(ctx, &protoReq) + return msg, metadata, err + +} + +func request_InjectiveAccountsRPC_StreamAccountData_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (InjectiveAccountsRPC_StreamAccountDataClient, runtime.ServerMetadata, error) { + var protoReq StreamAccountDataRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + stream, err := client.StreamAccountData(ctx, &protoReq) + if err != nil { + return nil, metadata, err + } + header, err := stream.Header() + if err != nil { + return nil, metadata, err + } + metadata.HeaderMD = header + return stream, metadata, nil + +} + +// RegisterInjectiveAccountsRPCHandlerServer registers the http handlers for service InjectiveAccountsRPC to "mux". +// UnaryRPC :call InjectiveAccountsRPCServer 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 to stop working. Consider using RegisterInjectiveAccountsRPCHandlerFromEndpoint instead. +func RegisterInjectiveAccountsRPCHandlerServer(ctx context.Context, mux *runtime.ServeMux, server InjectiveAccountsRPCServer) error { + + mux.Handle("POST", pattern_InjectiveAccountsRPC_Portfolio_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_InjectiveAccountsRPC_Portfolio_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_Portfolio_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_OrderStates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_InjectiveAccountsRPC_OrderStates_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_OrderStates_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountsList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountsList_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountsList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountBalancesList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountBalancesList_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountBalancesList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_StreamSubaccountBalance_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") + _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountHistory_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountHistory_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountOrderSummary_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountOrderSummary_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountOrderSummary_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_Rewards_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Rewards", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Rewards")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_InjectiveAccountsRPC_Rewards_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_Rewards_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_StreamAccountData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") + _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + }) + + return nil +} + +// RegisterInjectiveAccountsRPCHandlerFromEndpoint is same as RegisterInjectiveAccountsRPCHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterInjectiveAccountsRPCHandlerFromEndpoint(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 RegisterInjectiveAccountsRPCHandler(ctx, mux, conn) +} + +// RegisterInjectiveAccountsRPCHandler registers the http handlers for service InjectiveAccountsRPC to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterInjectiveAccountsRPCHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterInjectiveAccountsRPCHandlerClient(ctx, mux, NewInjectiveAccountsRPCClient(conn)) +} + +// RegisterInjectiveAccountsRPCHandlerClient registers the http handlers for service InjectiveAccountsRPC +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "InjectiveAccountsRPCClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "InjectiveAccountsRPCClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "InjectiveAccountsRPCClient" to call the correct interceptors. +func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime.ServeMux, client InjectiveAccountsRPCClient) error { + + mux.Handle("POST", pattern_InjectiveAccountsRPC_Portfolio_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_Portfolio_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_Portfolio_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_OrderStates_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_OrderStates_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_OrderStates_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountsList_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_SubaccountsList_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountsList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountBalancesList_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_SubaccountBalancesList_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountBalancesList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountBalanceEndpoint_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_StreamSubaccountBalance_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/StreamSubaccountBalance", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/StreamSubaccountBalance")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_StreamSubaccountBalance_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_StreamSubaccountBalance_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountHistory_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_SubaccountHistory_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountOrderSummary_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_SubaccountOrderSummary_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountOrderSummary_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_Rewards_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Rewards", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Rewards")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_Rewards_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_Rewards_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_StreamAccountData_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/StreamAccountData", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/StreamAccountData")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_StreamAccountData_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_StreamAccountData_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_InjectiveAccountsRPC_Portfolio_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "Portfolio"}, "")) + + pattern_InjectiveAccountsRPC_OrderStates_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "OrderStates"}, "")) + + pattern_InjectiveAccountsRPC_SubaccountsList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "SubaccountsList"}, "")) + + pattern_InjectiveAccountsRPC_SubaccountBalancesList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "SubaccountBalancesList"}, "")) + + pattern_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "SubaccountBalanceEndpoint"}, "")) + + pattern_InjectiveAccountsRPC_StreamSubaccountBalance_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "StreamSubaccountBalance"}, "")) + + pattern_InjectiveAccountsRPC_SubaccountHistory_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "SubaccountHistory"}, "")) + + pattern_InjectiveAccountsRPC_SubaccountOrderSummary_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "SubaccountOrderSummary"}, "")) + + pattern_InjectiveAccountsRPC_Rewards_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "Rewards"}, "")) + + pattern_InjectiveAccountsRPC_StreamAccountData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "StreamAccountData"}, "")) +) + +var ( + forward_InjectiveAccountsRPC_Portfolio_0 = runtime.ForwardResponseMessage + + forward_InjectiveAccountsRPC_OrderStates_0 = runtime.ForwardResponseMessage + + forward_InjectiveAccountsRPC_SubaccountsList_0 = runtime.ForwardResponseMessage + + forward_InjectiveAccountsRPC_SubaccountBalancesList_0 = runtime.ForwardResponseMessage + + forward_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0 = runtime.ForwardResponseMessage + + forward_InjectiveAccountsRPC_StreamSubaccountBalance_0 = runtime.ForwardResponseStream + + forward_InjectiveAccountsRPC_SubaccountHistory_0 = runtime.ForwardResponseMessage + + forward_InjectiveAccountsRPC_SubaccountOrderSummary_0 = runtime.ForwardResponseMessage + + forward_InjectiveAccountsRPC_Rewards_0 = runtime.ForwardResponseMessage + + forward_InjectiveAccountsRPC_StreamAccountData_0 = runtime.ForwardResponseStream +) diff --git a/exchange/auction_rpc/pb/injective_auction_rpc.pb.go b/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc.pb.go similarity index 60% rename from exchange/auction_rpc/pb/injective_auction_rpc.pb.go rename to exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc.pb.go index 772b1378..97affccb 100644 --- a/exchange/auction_rpc/pb/injective_auction_rpc.pb.go +++ b/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc.pb.go @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveAuctionRPC protocol buffer definition // @@ -8,8 +8,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_auction_rpc.proto +// protoc v4.25.3 +// source: goadesign_goagen_injective_auction_rpc.proto package injective_auction_rpcpb @@ -39,7 +39,7 @@ type AuctionEndpointRequest struct { func (x *AuctionEndpointRequest) Reset() { *x = AuctionEndpointRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_auction_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52,7 +52,7 @@ func (x *AuctionEndpointRequest) String() string { func (*AuctionEndpointRequest) ProtoMessage() {} func (x *AuctionEndpointRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_auction_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -65,7 +65,7 @@ func (x *AuctionEndpointRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AuctionEndpointRequest.ProtoReflect.Descriptor instead. func (*AuctionEndpointRequest) Descriptor() ([]byte, []int) { - return file_injective_auction_rpc_proto_rawDescGZIP(), []int{0} + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP(), []int{0} } func (x *AuctionEndpointRequest) GetRound() int64 { @@ -89,7 +89,7 @@ type AuctionEndpointResponse struct { func (x *AuctionEndpointResponse) Reset() { *x = AuctionEndpointResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_auction_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -102,7 +102,7 @@ func (x *AuctionEndpointResponse) String() string { func (*AuctionEndpointResponse) ProtoMessage() {} func (x *AuctionEndpointResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_auction_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -115,7 +115,7 @@ func (x *AuctionEndpointResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AuctionEndpointResponse.ProtoReflect.Descriptor instead. func (*AuctionEndpointResponse) Descriptor() ([]byte, []int) { - return file_injective_auction_rpc_proto_rawDescGZIP(), []int{1} + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP(), []int{1} } func (x *AuctionEndpointResponse) GetAuction() *Auction { @@ -152,7 +152,7 @@ type Auction struct { func (x *Auction) Reset() { *x = Auction{} if protoimpl.UnsafeEnabled { - mi := &file_injective_auction_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -165,7 +165,7 @@ func (x *Auction) String() string { func (*Auction) ProtoMessage() {} func (x *Auction) ProtoReflect() protoreflect.Message { - mi := &file_injective_auction_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -178,7 +178,7 @@ func (x *Auction) ProtoReflect() protoreflect.Message { // Deprecated: Use Auction.ProtoReflect.Descriptor instead. func (*Auction) Descriptor() ([]byte, []int) { - return file_injective_auction_rpc_proto_rawDescGZIP(), []int{2} + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP(), []int{2} } func (x *Auction) GetWinner() string { @@ -236,7 +236,7 @@ type Coin struct { func (x *Coin) Reset() { *x = Coin{} if protoimpl.UnsafeEnabled { - mi := &file_injective_auction_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -249,7 +249,7 @@ func (x *Coin) String() string { func (*Coin) ProtoMessage() {} func (x *Coin) ProtoReflect() protoreflect.Message { - mi := &file_injective_auction_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -262,7 +262,7 @@ func (x *Coin) ProtoReflect() protoreflect.Message { // Deprecated: Use Coin.ProtoReflect.Descriptor instead. func (*Coin) Descriptor() ([]byte, []int) { - return file_injective_auction_rpc_proto_rawDescGZIP(), []int{3} + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP(), []int{3} } func (x *Coin) GetDenom() string { @@ -294,7 +294,7 @@ type Bid struct { func (x *Bid) Reset() { *x = Bid{} if protoimpl.UnsafeEnabled { - mi := &file_injective_auction_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -307,7 +307,7 @@ func (x *Bid) String() string { func (*Bid) ProtoMessage() {} func (x *Bid) ProtoReflect() protoreflect.Message { - mi := &file_injective_auction_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -320,7 +320,7 @@ func (x *Bid) ProtoReflect() protoreflect.Message { // Deprecated: Use Bid.ProtoReflect.Descriptor instead. func (*Bid) Descriptor() ([]byte, []int) { - return file_injective_auction_rpc_proto_rawDescGZIP(), []int{4} + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP(), []int{4} } func (x *Bid) GetBidder() string { @@ -353,7 +353,7 @@ type AuctionsRequest struct { func (x *AuctionsRequest) Reset() { *x = AuctionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_auction_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -366,7 +366,7 @@ func (x *AuctionsRequest) String() string { func (*AuctionsRequest) ProtoMessage() {} func (x *AuctionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_auction_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -379,7 +379,7 @@ func (x *AuctionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AuctionsRequest.ProtoReflect.Descriptor instead. func (*AuctionsRequest) Descriptor() ([]byte, []int) { - return file_injective_auction_rpc_proto_rawDescGZIP(), []int{5} + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP(), []int{5} } type AuctionsResponse struct { @@ -394,7 +394,7 @@ type AuctionsResponse struct { func (x *AuctionsResponse) Reset() { *x = AuctionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_auction_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -407,7 +407,7 @@ func (x *AuctionsResponse) String() string { func (*AuctionsResponse) ProtoMessage() {} func (x *AuctionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_auction_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -420,7 +420,7 @@ func (x *AuctionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AuctionsResponse.ProtoReflect.Descriptor instead. func (*AuctionsResponse) Descriptor() ([]byte, []int) { - return file_injective_auction_rpc_proto_rawDescGZIP(), []int{6} + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP(), []int{6} } func (x *AuctionsResponse) GetAuctions() []*Auction { @@ -439,7 +439,7 @@ type StreamBidsRequest struct { func (x *StreamBidsRequest) Reset() { *x = StreamBidsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_auction_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -452,7 +452,7 @@ func (x *StreamBidsRequest) String() string { func (*StreamBidsRequest) ProtoMessage() {} func (x *StreamBidsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_auction_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -465,7 +465,7 @@ func (x *StreamBidsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamBidsRequest.ProtoReflect.Descriptor instead. func (*StreamBidsRequest) Descriptor() ([]byte, []int) { - return file_injective_auction_rpc_proto_rawDescGZIP(), []int{7} + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP(), []int{7} } type StreamBidsResponse struct { @@ -484,7 +484,7 @@ type StreamBidsResponse struct { func (x *StreamBidsResponse) Reset() { *x = StreamBidsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_auction_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -497,7 +497,7 @@ func (x *StreamBidsResponse) String() string { func (*StreamBidsResponse) ProtoMessage() {} func (x *StreamBidsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_auction_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -510,7 +510,7 @@ func (x *StreamBidsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamBidsResponse.ProtoReflect.Descriptor instead. func (*StreamBidsResponse) Descriptor() ([]byte, []int) { - return file_injective_auction_rpc_proto_rawDescGZIP(), []int{8} + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP(), []int{8} } func (x *StreamBidsResponse) GetBidder() string { @@ -541,101 +541,102 @@ func (x *StreamBidsResponse) GetTimestamp() int64 { return 0 } -var File_injective_auction_rpc_proto protoreflect.FileDescriptor - -var file_injective_auction_rpc_proto_rawDesc = []byte{ - 0x0a, 0x1b, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x72, 0x70, 0x63, 0x22, 0x2e, 0x0a, 0x16, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, - 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x72, - 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x83, 0x01, 0x0a, 0x17, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x38, 0x0a, 0x07, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x07, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x04, 0x62, 0x69, - 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x42, 0x69, 0x64, 0x52, 0x04, 0x62, 0x69, 0x64, 0x73, 0x22, 0xde, 0x01, 0x0a, 0x07, 0x41, - 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x33, - 0x0a, 0x06, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x06, 0x62, 0x61, 0x73, - 0x6b, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x62, - 0x69, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x10, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x69, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0c, - 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x34, 0x0a, 0x04, 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, 0x53, 0x0a, 0x03, 0x42, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x69, 0x64, 0x64, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x69, 0x64, 0x64, 0x65, 0x72, - 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x11, 0x0a, 0x0f, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4e, 0x0a, 0x10, 0x41, 0x75, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, - 0x08, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x08, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x42, 0x69, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x7f, - 0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x69, 0x64, 0x64, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x69, 0x64, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, - 0x62, 0x69, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x62, 0x69, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, - 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, - 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x32, - 0xc9, 0x02, 0x0a, 0x13, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x50, 0x43, 0x12, 0x70, 0x0a, 0x0f, 0x41, 0x75, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, +var File_goadesign_goagen_injective_auction_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_auction_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2c, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x2e, 0x0a, 0x16, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x83, 0x01, 0x0a, 0x17, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, + 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x04, 0x62, + 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x42, 0x69, 0x64, 0x52, 0x04, 0x62, 0x69, 0x64, 0x73, 0x22, 0xde, 0x01, 0x0a, 0x07, + 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x12, + 0x33, 0x0a, 0x06, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x06, 0x62, 0x61, + 0x73, 0x6b, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x62, 0x69, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x69, 0x64, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x0c, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x34, 0x0a, 0x04, + 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, 0x53, 0x0a, 0x03, 0x42, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x69, 0x64, + 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x69, 0x64, 0x64, 0x65, + 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x11, 0x0a, 0x0f, 0x41, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4e, 0x0a, 0x10, 0x41, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, + 0x0a, 0x08, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x08, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x7f, 0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, 0x64, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x69, 0x64, 0x64, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x69, 0x64, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, + 0x0a, 0x62, 0x69, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x62, 0x69, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x32, 0xc9, 0x02, 0x0a, 0x13, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x50, 0x43, 0x12, 0x70, 0x0a, 0x0f, 0x41, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x08, 0x41, 0x75, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x42, 0x69, 0x64, 0x73, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x42, 0x69, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x08, 0x41, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, + 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, 0x64, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, 0x1a, 0x5a, 0x18, 0x2f, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x42, 0x69, 0x64, 0x73, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, + 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, 0x1a, 0x5a, 0x18, + 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_injective_auction_rpc_proto_rawDescOnce sync.Once - file_injective_auction_rpc_proto_rawDescData = file_injective_auction_rpc_proto_rawDesc + file_goadesign_goagen_injective_auction_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_auction_rpc_proto_rawDescData = file_goadesign_goagen_injective_auction_rpc_proto_rawDesc ) -func file_injective_auction_rpc_proto_rawDescGZIP() []byte { - file_injective_auction_rpc_proto_rawDescOnce.Do(func() { - file_injective_auction_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_auction_rpc_proto_rawDescData) +func file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_auction_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_auction_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_auction_rpc_proto_rawDescData) }) - return file_injective_auction_rpc_proto_rawDescData + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescData } -var file_injective_auction_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 9) -var file_injective_auction_rpc_proto_goTypes = []interface{}{ +var file_goadesign_goagen_injective_auction_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_goadesign_goagen_injective_auction_rpc_proto_goTypes = []interface{}{ (*AuctionEndpointRequest)(nil), // 0: injective_auction_rpc.AuctionEndpointRequest (*AuctionEndpointResponse)(nil), // 1: injective_auction_rpc.AuctionEndpointResponse (*Auction)(nil), // 2: injective_auction_rpc.Auction @@ -646,7 +647,7 @@ var file_injective_auction_rpc_proto_goTypes = []interface{}{ (*StreamBidsRequest)(nil), // 7: injective_auction_rpc.StreamBidsRequest (*StreamBidsResponse)(nil), // 8: injective_auction_rpc.StreamBidsResponse } -var file_injective_auction_rpc_proto_depIdxs = []int32{ +var file_goadesign_goagen_injective_auction_rpc_proto_depIdxs = []int32{ 2, // 0: injective_auction_rpc.AuctionEndpointResponse.auction:type_name -> injective_auction_rpc.Auction 4, // 1: injective_auction_rpc.AuctionEndpointResponse.bids:type_name -> injective_auction_rpc.Bid 3, // 2: injective_auction_rpc.Auction.basket:type_name -> injective_auction_rpc.Coin @@ -664,13 +665,13 @@ var file_injective_auction_rpc_proto_depIdxs = []int32{ 0, // [0:4] is the sub-list for field type_name } -func init() { file_injective_auction_rpc_proto_init() } -func file_injective_auction_rpc_proto_init() { - if File_injective_auction_rpc_proto != nil { +func init() { file_goadesign_goagen_injective_auction_rpc_proto_init() } +func file_goadesign_goagen_injective_auction_rpc_proto_init() { + if File_goadesign_goagen_injective_auction_rpc_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_injective_auction_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuctionEndpointRequest); i { case 0: return &v.state @@ -682,7 +683,7 @@ func file_injective_auction_rpc_proto_init() { return nil } } - file_injective_auction_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuctionEndpointResponse); i { case 0: return &v.state @@ -694,7 +695,7 @@ func file_injective_auction_rpc_proto_init() { return nil } } - file_injective_auction_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Auction); i { case 0: return &v.state @@ -706,7 +707,7 @@ func file_injective_auction_rpc_proto_init() { return nil } } - file_injective_auction_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Coin); i { case 0: return &v.state @@ -718,7 +719,7 @@ func file_injective_auction_rpc_proto_init() { return nil } } - file_injective_auction_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bid); i { case 0: return &v.state @@ -730,7 +731,7 @@ func file_injective_auction_rpc_proto_init() { return nil } } - file_injective_auction_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuctionsRequest); i { case 0: return &v.state @@ -742,7 +743,7 @@ func file_injective_auction_rpc_proto_init() { return nil } } - file_injective_auction_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuctionsResponse); i { case 0: return &v.state @@ -754,7 +755,7 @@ func file_injective_auction_rpc_proto_init() { return nil } } - file_injective_auction_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamBidsRequest); i { case 0: return &v.state @@ -766,7 +767,7 @@ func file_injective_auction_rpc_proto_init() { return nil } } - file_injective_auction_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamBidsResponse); i { case 0: return &v.state @@ -783,18 +784,18 @@ func file_injective_auction_rpc_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_auction_rpc_proto_rawDesc, + RawDescriptor: file_goadesign_goagen_injective_auction_rpc_proto_rawDesc, NumEnums: 0, NumMessages: 9, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_injective_auction_rpc_proto_goTypes, - DependencyIndexes: file_injective_auction_rpc_proto_depIdxs, - MessageInfos: file_injective_auction_rpc_proto_msgTypes, + GoTypes: file_goadesign_goagen_injective_auction_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_auction_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_auction_rpc_proto_msgTypes, }.Build() - File_injective_auction_rpc_proto = out.File - file_injective_auction_rpc_proto_rawDesc = nil - file_injective_auction_rpc_proto_goTypes = nil - file_injective_auction_rpc_proto_depIdxs = nil + File_goadesign_goagen_injective_auction_rpc_proto = out.File + file_goadesign_goagen_injective_auction_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_auction_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_auction_rpc_proto_depIdxs = nil } diff --git a/exchange/auction_rpc/pb/injective_auction_rpc.proto b/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc.proto similarity index 97% rename from exchange/auction_rpc/pb/injective_auction_rpc.proto rename to exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc.proto index a9f8841f..1e2257c4 100644 --- a/exchange/auction_rpc/pb/injective_auction_rpc.proto +++ b/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveAuctionRPC protocol buffer definition // diff --git a/exchange/auction_rpc/pb/injective_auction_rpc_grpc.pb.go b/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc_grpc.pb.go similarity index 97% rename from exchange/auction_rpc/pb/injective_auction_rpc_grpc.pb.go rename to exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc_grpc.pb.go index 1d843816..5614a0ec 100644 --- a/exchange/auction_rpc/pb/injective_auction_rpc_grpc.pb.go +++ b/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_auction_rpc.proto package injective_auction_rpcpb @@ -203,5 +207,5 @@ var InjectiveAuctionRPC_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, }, - Metadata: "injective_auction_rpc.proto", + Metadata: "goadesign_goagen_injective_auction_rpc.proto", } diff --git a/exchange/auction_rpc/pb/injective_auction_rpc.pb.gw.go b/exchange/auction_rpc/pb/injective_auction_rpc.pb.gw.go index beff7a3e..5d95026e 100644 --- a/exchange/auction_rpc/pb/injective_auction_rpc.pb.gw.go +++ b/exchange/auction_rpc/pb/injective_auction_rpc.pb.gw.go @@ -136,20 +136,22 @@ func RegisterInjectiveAuctionRPCHandlerServer(ctx context.Context, mux *runtime. var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/AuctionEndpoint", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/AuctionEndpoint")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/AuctionEndpoint", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/AuctionEndpoint")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAuctionRPC_AuctionEndpoint_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAuctionRPC_AuctionEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAuctionRPC_AuctionEndpoint_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAuctionRPC_AuctionEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -159,20 +161,22 @@ func RegisterInjectiveAuctionRPCHandlerServer(ctx context.Context, mux *runtime. var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/Auctions", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/Auctions")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/Auctions", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/Auctions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAuctionRPC_Auctions_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAuctionRPC_Auctions_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAuctionRPC_Auctions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAuctionRPC_Auctions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -228,19 +232,21 @@ func RegisterInjectiveAuctionRPCHandlerClient(ctx context.Context, mux *runtime. ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/AuctionEndpoint", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/AuctionEndpoint")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/AuctionEndpoint", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/AuctionEndpoint")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAuctionRPC_AuctionEndpoint_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAuctionRPC_AuctionEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAuctionRPC_AuctionEndpoint_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAuctionRPC_AuctionEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -248,19 +254,21 @@ func RegisterInjectiveAuctionRPCHandlerClient(ctx context.Context, mux *runtime. ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/Auctions", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/Auctions")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/Auctions", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/Auctions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAuctionRPC_Auctions_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAuctionRPC_Auctions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAuctionRPC_Auctions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAuctionRPC_Auctions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -268,19 +276,21 @@ func RegisterInjectiveAuctionRPCHandlerClient(ctx context.Context, mux *runtime. ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/StreamBids", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/StreamBids")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/StreamBids", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/StreamBids")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAuctionRPC_StreamBids_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAuctionRPC_StreamBids_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAuctionRPC_StreamBids_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveAuctionRPC_StreamBids_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) diff --git a/exchange/campaign_rpc/pb/injective_campaign_rpc.pb.go b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.pb.go similarity index 58% rename from exchange/campaign_rpc/pb/injective_campaign_rpc.pb.go rename to exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.pb.go index 98d763de..7fbab22c 100644 --- a/exchange/campaign_rpc/pb/injective_campaign_rpc.pb.go +++ b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.pb.go @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveCampaignRPC protocol buffer definition // @@ -8,8 +8,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_campaign_rpc.proto +// protoc v4.25.3 +// source: goadesign_goagen_injective_campaign_rpc.proto package injective_campaign_rpcpb @@ -40,12 +40,14 @@ type RankingRequest struct { AccountAddress string `protobuf:"bytes,3,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` Limit int32 `protobuf:"zigzag32,4,opt,name=limit,proto3" json:"limit,omitempty"` Skip uint64 `protobuf:"varint,5,opt,name=skip,proto3" json:"skip,omitempty"` + // Contract address that manages the round and reward + ContractAddress string `protobuf:"bytes,6,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"` } func (x *RankingRequest) Reset() { *x = RankingRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -58,7 +60,7 @@ func (x *RankingRequest) String() string { func (*RankingRequest) ProtoMessage() {} func (x *RankingRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -71,7 +73,7 @@ func (x *RankingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RankingRequest.ProtoReflect.Descriptor instead. func (*RankingRequest) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{0} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{0} } func (x *RankingRequest) GetCampaignId() string { @@ -109,6 +111,13 @@ func (x *RankingRequest) GetSkip() uint64 { return 0 } +func (x *RankingRequest) GetContractAddress() string { + if x != nil { + return x.ContractAddress + } + return "" +} + type RankingResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -124,7 +133,7 @@ type RankingResponse struct { func (x *RankingResponse) Reset() { *x = RankingResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -137,7 +146,7 @@ func (x *RankingResponse) String() string { func (*RankingResponse) ProtoMessage() {} func (x *RankingResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -150,7 +159,7 @@ func (x *RankingResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RankingResponse.ProtoReflect.Descriptor instead. func (*RankingResponse) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{1} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{1} } func (x *RankingResponse) GetCampaign() *Campaign { @@ -195,18 +204,27 @@ type Campaign struct { // Campaigns round ID RoundId int32 `protobuf:"zigzag32,9,opt,name=round_id,json=roundId,proto3" json:"round_id,omitempty"` // Contract address that controls this campaign - Contract string `protobuf:"bytes,10,opt,name=contract,proto3" json:"contract,omitempty"` + ManagerContract string `protobuf:"bytes,10,opt,name=manager_contract,json=managerContract,proto3" json:"manager_contract,omitempty"` // Reward tokens of this campaign Rewards []*Coin `protobuf:"bytes,11,rep,name=rewards,proto3" json:"rewards,omitempty"` // Total user score if accountAddress is passed, this is useful to estimate // account's reward UserScore string `protobuf:"bytes,12,opt,name=user_score,json=userScore,proto3" json:"user_score,omitempty"` + // Return true if user claimed the reward of this campaign + UserClaimed bool `protobuf:"varint,13,opt,name=user_claimed,json=userClaimed,proto3" json:"user_claimed,omitempty"` + // Suffix of the subaccount that eligible for volume score + SubaccountIdSuffix string `protobuf:"bytes,14,opt,name=subaccount_id_suffix,json=subaccountIdSuffix,proto3" json:"subaccount_id_suffix,omitempty"` + // Contract that manage users reward + RewardContract string `protobuf:"bytes,15,opt,name=reward_contract,json=rewardContract,proto3" json:"reward_contract,omitempty"` + // Version of reward contract, UI use this to determine the message that need + // to be sent + Version string `protobuf:"bytes,16,opt,name=version,proto3" json:"version,omitempty"` } func (x *Campaign) Reset() { *x = Campaign{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -219,7 +237,7 @@ func (x *Campaign) String() string { func (*Campaign) ProtoMessage() {} func (x *Campaign) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -232,7 +250,7 @@ func (x *Campaign) ProtoReflect() protoreflect.Message { // Deprecated: Use Campaign.ProtoReflect.Descriptor instead. func (*Campaign) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{2} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{2} } func (x *Campaign) GetCampaignId() string { @@ -291,9 +309,9 @@ func (x *Campaign) GetRoundId() int32 { return 0 } -func (x *Campaign) GetContract() string { +func (x *Campaign) GetManagerContract() string { if x != nil { - return x.Contract + return x.ManagerContract } return "" } @@ -312,6 +330,34 @@ func (x *Campaign) GetUserScore() string { return "" } +func (x *Campaign) GetUserClaimed() bool { + if x != nil { + return x.UserClaimed + } + return false +} + +func (x *Campaign) GetSubaccountIdSuffix() string { + if x != nil { + return x.SubaccountIdSuffix + } + return "" +} + +func (x *Campaign) GetRewardContract() string { + if x != nil { + return x.RewardContract + } + return "" +} + +func (x *Campaign) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + type Coin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -325,7 +371,7 @@ type Coin struct { func (x *Coin) Reset() { *x = Coin{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -338,7 +384,7 @@ func (x *Coin) String() string { func (*Coin) ProtoMessage() {} func (x *Coin) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -351,7 +397,7 @@ func (x *Coin) ProtoReflect() protoreflect.Message { // Deprecated: Use Coin.ProtoReflect.Descriptor instead. func (*Coin) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{3} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{3} } func (x *Coin) GetDenom() string { @@ -391,12 +437,14 @@ type CampaignUser struct { // True if this user is updated to be in Galxe Campain list, only eligible // address are added GalxeUpdated bool `protobuf:"varint,9,opt,name=galxe_updated,json=galxeUpdated,proto3" json:"galxe_updated,omitempty"` + // True if this user claimed the reward + RewardClaimed bool `protobuf:"varint,10,opt,name=reward_claimed,json=rewardClaimed,proto3" json:"reward_claimed,omitempty"` } func (x *CampaignUser) Reset() { *x = CampaignUser{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -409,7 +457,7 @@ func (x *CampaignUser) String() string { func (*CampaignUser) ProtoMessage() {} func (x *CampaignUser) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -422,7 +470,7 @@ func (x *CampaignUser) ProtoReflect() protoreflect.Message { // Deprecated: Use CampaignUser.ProtoReflect.Descriptor instead. func (*CampaignUser) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{4} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{4} } func (x *CampaignUser) GetCampaignId() string { @@ -488,6 +536,13 @@ func (x *CampaignUser) GetGalxeUpdated() bool { return false } +func (x *CampaignUser) GetRewardClaimed() bool { + if x != nil { + return x.RewardClaimed + } + return false +} + // Paging defines the structure for required params for handling pagination type Paging struct { state protoimpl.MessageState @@ -509,7 +564,7 @@ type Paging struct { func (x *Paging) Reset() { *x = Paging{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -522,7 +577,7 @@ func (x *Paging) String() string { func (*Paging) ProtoMessage() {} func (x *Paging) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -535,7 +590,7 @@ func (x *Paging) ProtoReflect() protoreflect.Message { // Deprecated: Use Paging.ProtoReflect.Descriptor instead. func (*Paging) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{5} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{5} } func (x *Paging) GetTotal() int64 { @@ -578,19 +633,21 @@ type CampaignsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Round ID, if not specified, it will return latest roundId + // Round ID, if not specified, it will return latest roundId RoundId int64 `protobuf:"zigzag64,1,opt,name=round_id,json=roundId,proto3" json:"round_id,omitempty"` // Address of login account, if not specified it will return no user rewards AccountAddress string `protobuf:"bytes,2,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` // This will return campaign x where x.roundId <= toRoundId. Useful for listing // multiple rounds ToRoundId int32 `protobuf:"zigzag32,3,opt,name=to_round_id,json=toRoundId,proto3" json:"to_round_id,omitempty"` + // Contract address that manages the round and reward + ContractAddress string `protobuf:"bytes,4,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"` } func (x *CampaignsRequest) Reset() { *x = CampaignsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -603,7 +660,7 @@ func (x *CampaignsRequest) String() string { func (*CampaignsRequest) ProtoMessage() {} func (x *CampaignsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -616,7 +673,7 @@ func (x *CampaignsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CampaignsRequest.ProtoReflect.Descriptor instead. func (*CampaignsRequest) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{6} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{6} } func (x *CampaignsRequest) GetRoundId() int64 { @@ -640,19 +697,27 @@ func (x *CampaignsRequest) GetToRoundId() int32 { return 0 } +func (x *CampaignsRequest) GetContractAddress() string { + if x != nil { + return x.ContractAddress + } + return "" +} + type CampaignsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Campaigns []*Campaign `protobuf:"bytes,1,rep,name=campaigns,proto3" json:"campaigns,omitempty"` - AccountRewards []*Coin `protobuf:"bytes,2,rep,name=account_rewards,json=accountRewards,proto3" json:"account_rewards,omitempty"` + Campaigns []*Campaign `protobuf:"bytes,1,rep,name=campaigns,proto3" json:"campaigns,omitempty"` + AccumulatedRewards []*Coin `protobuf:"bytes,2,rep,name=accumulated_rewards,json=accumulatedRewards,proto3" json:"accumulated_rewards,omitempty"` + RewardCount int32 `protobuf:"zigzag32,3,opt,name=reward_count,json=rewardCount,proto3" json:"reward_count,omitempty"` } func (x *CampaignsResponse) Reset() { *x = CampaignsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -665,7 +730,7 @@ func (x *CampaignsResponse) String() string { func (*CampaignsResponse) ProtoMessage() {} func (x *CampaignsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -678,7 +743,7 @@ func (x *CampaignsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CampaignsResponse.ProtoReflect.Descriptor instead. func (*CampaignsResponse) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{7} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{7} } func (x *CampaignsResponse) GetCampaigns() []*Campaign { @@ -688,13 +753,20 @@ func (x *CampaignsResponse) GetCampaigns() []*Campaign { return nil } -func (x *CampaignsResponse) GetAccountRewards() []*Coin { +func (x *CampaignsResponse) GetAccumulatedRewards() []*Coin { if x != nil { - return x.AccountRewards + return x.AccumulatedRewards } return nil } +func (x *CampaignsResponse) GetRewardCount() int32 { + if x != nil { + return x.RewardCount + } + return 0 +} + type ListGuildsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -713,7 +785,7 @@ type ListGuildsRequest struct { func (x *ListGuildsRequest) Reset() { *x = ListGuildsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -726,7 +798,7 @@ func (x *ListGuildsRequest) String() string { func (*ListGuildsRequest) ProtoMessage() {} func (x *ListGuildsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -739,7 +811,7 @@ func (x *ListGuildsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGuildsRequest.ProtoReflect.Descriptor instead. func (*ListGuildsRequest) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{8} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{8} } func (x *ListGuildsRequest) GetCampaignContract() string { @@ -786,7 +858,7 @@ type ListGuildsResponse struct { func (x *ListGuildsResponse) Reset() { *x = ListGuildsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -799,7 +871,7 @@ func (x *ListGuildsResponse) String() string { func (*ListGuildsResponse) ProtoMessage() {} func (x *ListGuildsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -812,7 +884,7 @@ func (x *ListGuildsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGuildsResponse.ProtoReflect.Descriptor instead. func (*ListGuildsResponse) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{9} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{9} } func (x *ListGuildsResponse) GetGuilds() []*Guild { @@ -884,7 +956,7 @@ type Guild struct { func (x *Guild) Reset() { *x = Guild{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -897,7 +969,7 @@ func (x *Guild) String() string { func (*Guild) ProtoMessage() {} func (x *Guild) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -910,7 +982,7 @@ func (x *Guild) ProtoReflect() protoreflect.Message { // Deprecated: Use Guild.ProtoReflect.Descriptor instead. func (*Guild) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{10} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{10} } func (x *Guild) GetCampaignContract() string { @@ -1048,7 +1120,7 @@ type CampaignSummary struct { func (x *CampaignSummary) Reset() { *x = CampaignSummary{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1061,7 +1133,7 @@ func (x *CampaignSummary) String() string { func (*CampaignSummary) ProtoMessage() {} func (x *CampaignSummary) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1074,7 +1146,7 @@ func (x *CampaignSummary) ProtoReflect() protoreflect.Message { // Deprecated: Use CampaignSummary.ProtoReflect.Descriptor instead. func (*CampaignSummary) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{11} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{11} } func (x *CampaignSummary) GetCampaignId() string { @@ -1170,7 +1242,7 @@ type ListGuildMembersRequest struct { func (x *ListGuildMembersRequest) Reset() { *x = ListGuildMembersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1183,7 +1255,7 @@ func (x *ListGuildMembersRequest) String() string { func (*ListGuildMembersRequest) ProtoMessage() {} func (x *ListGuildMembersRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1196,7 +1268,7 @@ func (x *ListGuildMembersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGuildMembersRequest.ProtoReflect.Descriptor instead. func (*ListGuildMembersRequest) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{12} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{12} } func (x *ListGuildMembersRequest) GetCampaignContract() string { @@ -1254,7 +1326,7 @@ type ListGuildMembersResponse struct { func (x *ListGuildMembersResponse) Reset() { *x = ListGuildMembersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1267,7 +1339,7 @@ func (x *ListGuildMembersResponse) String() string { func (*ListGuildMembersResponse) ProtoMessage() {} func (x *ListGuildMembersResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1280,7 +1352,7 @@ func (x *ListGuildMembersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGuildMembersResponse.ProtoReflect.Descriptor instead. func (*ListGuildMembersResponse) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{13} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{13} } func (x *ListGuildMembersResponse) GetMembers() []*GuildMember { @@ -1336,7 +1408,7 @@ type GuildMember struct { func (x *GuildMember) Reset() { *x = GuildMember{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1349,7 +1421,7 @@ func (x *GuildMember) String() string { func (*GuildMember) ProtoMessage() {} func (x *GuildMember) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1362,7 +1434,7 @@ func (x *GuildMember) ProtoReflect() protoreflect.Message { // Deprecated: Use GuildMember.ProtoReflect.Descriptor instead. func (*GuildMember) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{14} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{14} } func (x *GuildMember) GetCampaignContract() string { @@ -1456,7 +1528,7 @@ type GetGuildMemberRequest struct { func (x *GetGuildMemberRequest) Reset() { *x = GetGuildMemberRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[15] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1469,7 +1541,7 @@ func (x *GetGuildMemberRequest) String() string { func (*GetGuildMemberRequest) ProtoMessage() {} func (x *GetGuildMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[15] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1482,7 +1554,7 @@ func (x *GetGuildMemberRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGuildMemberRequest.ProtoReflect.Descriptor instead. func (*GetGuildMemberRequest) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{15} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{15} } func (x *GetGuildMemberRequest) GetCampaignContract() string { @@ -1510,7 +1582,7 @@ type GetGuildMemberResponse struct { func (x *GetGuildMemberResponse) Reset() { *x = GetGuildMemberResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[16] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1523,7 +1595,7 @@ func (x *GetGuildMemberResponse) String() string { func (*GetGuildMemberResponse) ProtoMessage() {} func (x *GetGuildMemberResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[16] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1536,7 +1608,7 @@ func (x *GetGuildMemberResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGuildMemberResponse.ProtoReflect.Descriptor instead. func (*GetGuildMemberResponse) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{16} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{16} } func (x *GetGuildMemberResponse) GetInfo() *GuildMember { @@ -1546,307 +1618,329 @@ func (x *GetGuildMemberResponse) GetInfo() *GuildMember { return nil } -var File_injective_campaign_rpc_proto protoreflect.FileDescriptor - -var file_injective_campaign_rpc_proto_rawDesc = []byte{ - 0x0a, 0x1c, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, - 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, - 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x22, 0xa1, 0x01, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x6b, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, +var File_goadesign_goagen_injective_campaign_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_campaign_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, + 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x16, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, + 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x22, 0xcc, 0x01, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x6b, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, + 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, + 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xc3, 0x01, 0x0a, 0x0f, 0x52, 0x61, 0x6e, 0x6b, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x63, 0x61, + 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, + 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x52, 0x08, + 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x12, 0x3a, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, + 0x73, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, + 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0x9e, 0x04, 0x0a, + 0x08, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x22, 0xc3, 0x01, 0x0a, 0x0f, 0x52, - 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, - 0x0a, 0x08, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, - 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, - 0x67, 0x6e, 0x52, 0x08, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x12, 0x3a, 0x0a, 0x05, - 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, + 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, + 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, + 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x63, 0x6c, 0x61, 0x69, + 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x43, + 0x6c, 0x61, 0x69, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x36, + 0x0a, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, + 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x07, 0x72, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x6c, + 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x73, 0x65, + 0x72, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x34, 0x0a, + 0x04, 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, 0xef, 0x02, 0x0a, 0x0c, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, + 0x55, 0x73, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61, + 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x29, + 0x0a, 0x10, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, + 0x73, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x61, 0x6c, + 0x78, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x67, 0x61, 0x6c, 0x78, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x25, + 0x0a, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6c, + 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, + 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x22, 0xa1, + 0x01, 0x0a, 0x10, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x27, + 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x74, 0x6f, 0x5f, 0x72, 0x6f, + 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x09, 0x74, 0x6f, + 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x11, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x09, 0x63, 0x61, 0x6d, 0x70, + 0x61, 0x69, 0x67, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, - 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, - 0x22, 0xf7, 0x02, 0x0a, 0x08, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x12, 0x1f, 0x0a, - 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x1b, - 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, - 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, - 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x19, - 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, - 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0b, 0x69, 0x73, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, - 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0b, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, - 0x69, 0x6e, 0x52, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x75, 0x73, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x34, 0x0a, 0x04, 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, 0xc8, 0x02, 0x0a, 0x0c, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, - 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, - 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x29, - 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, - 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x61, 0x6c, 0x78, 0x65, 0x5f, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x67, - 0x61, 0x6c, 0x78, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x06, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, - 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, - 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x65, 0x78, 0x74, 0x22, 0x76, 0x0a, 0x10, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x75, 0x6e, - 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x6e, - 0x64, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0b, - 0x74, 0x6f, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x11, 0x52, 0x09, 0x74, 0x6f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x9a, 0x01, 0x0a, - 0x11, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x09, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x52, 0x09, 0x63, + 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x13, 0x61, 0x63, 0x63, 0x75, + 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, - 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x52, 0x09, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, - 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x4c, 0x69, - 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, - 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 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, 0x11, - 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, - 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x22, - 0xf6, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x06, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x36, 0x0a, - 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, - 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x12, 0x52, 0x0a, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x6f, 0x69, 0x6e, 0x52, 0x12, 0x61, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0b, 0x72, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x4c, + 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, + 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 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, + 0x11, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, + 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, + 0x22, 0xf6, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x67, 0x75, 0x69, 0x6c, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x06, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x36, + 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, - 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, - 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0xe5, 0x03, 0x0a, 0x05, 0x47, 0x75, 0x69, - 0x6c, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, + 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x52, 0x0a, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, + 0x6e, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, + 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, + 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, + 0x67, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0xe5, 0x03, 0x0a, 0x05, 0x47, 0x75, + 0x69, 0x6c, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6d, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x76, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x76, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x62, 0x79, 0x5f, 0x76, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0c, 0x72, 0x61, 0x6e, 0x6b, 0x42, + 0x79, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x6b, 0x5f, + 0x62, 0x79, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x09, 0x72, 0x61, + 0x6e, 0x6b, 0x42, 0x79, 0x54, 0x76, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x76, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, + 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x73, 0x74, + 0x65, 0x72, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x82, 0x03, 0x0a, 0x0f, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, + 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, + 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x67, 0x75, 0x69, + 0x6c, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, + 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x76, 0x6c, 0x12, 0x2a, + 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x76, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x76, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2e, 0x0a, 0x13, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x47, + 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, - 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x76, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x76, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, - 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, - 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x62, 0x79, 0x5f, 0x76, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0c, 0x72, 0x61, 0x6e, 0x6b, 0x42, 0x79, - 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x62, - 0x79, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x09, 0x72, 0x61, 0x6e, - 0x6b, 0x42, 0x79, 0x54, 0x76, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x76, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, - 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x73, 0x74, 0x65, - 0x72, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x20, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x82, 0x03, 0x0a, 0x0f, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x53, 0x75, 0x6d, - 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61, - 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, - 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x67, 0x75, 0x69, 0x6c, - 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x10, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x76, 0x6c, 0x12, 0x2a, 0x0a, - 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x76, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, - 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x76, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, - 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, - 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, - 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, - 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x19, - 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 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, 0x11, 0x52, 0x04, 0x73, - 0x6b, 0x69, 0x70, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x67, - 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x22, 0xcf, 0x01, 0x0a, 0x18, 0x4c, - 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x3c, - 0x0a, 0x0a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, - 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x75, 0x69, 0x6c, - 0x64, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xd3, 0x03, 0x0a, - 0x0b, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x11, - 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, - 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, - 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, - 0x6c, 0x64, 0x49, 0x64, 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, 0x1b, - 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, - 0x76, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x74, 0x76, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x76, 0x6c, 0x12, 0x36, 0x0a, 0x17, 0x76, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, - 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x15, 0x76, 0x6f, 0x6c, 0x75, 0x6d, - 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, - 0x12, 0x30, 0x0a, 0x14, 0x74, 0x76, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x65, - 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, - 0x74, 0x76, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, - 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x74, 0x76, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x09, 0x74, 0x76, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, - 0x41, 0x0a, 0x0d, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x22, 0x5e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x63, - 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 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, 0x51, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x04, - 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x32, 0xa1, 0x04, 0x0a, 0x14, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x52, 0x50, 0x43, 0x12, 0x5a, - 0x0a, 0x07, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 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, 0x11, 0x52, 0x04, + 0x73, 0x6b, 0x69, 0x70, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, + 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x22, 0xcf, 0x01, 0x0a, 0x18, + 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, - 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x09, 0x43, 0x61, - 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x70, 0x63, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, - 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, - 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0a, - 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x29, 0x2e, 0x69, 0x6e, 0x6a, + 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, + 0x3c, 0x0a, 0x0a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x75, 0x69, + 0x6c, 0x64, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xd3, 0x03, + 0x0a, 0x0b, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2b, 0x0a, + 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, + 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, + 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, + 0x69, 0x6c, 0x64, 0x49, 0x64, 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, + 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x74, 0x76, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x74, 0x76, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x76, 0x6c, 0x12, 0x36, 0x0a, 0x17, 0x76, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, + 0x74, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x15, 0x76, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, + 0x65, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x76, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, + 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x12, 0x74, 0x76, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, + 0x61, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x74, 0x76, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x09, 0x74, 0x76, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x12, 0x41, 0x0a, 0x0d, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x22, 0x5e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x11, + 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, + 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 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, 0x51, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, + 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x32, 0xa1, 0x04, 0x0a, 0x14, 0x49, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x52, 0x50, 0x43, 0x12, + 0x5a, 0x0a, 0x07, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x75, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, + 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x6b, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x09, 0x43, + 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, + 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, + 0x61, 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, + 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x75, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x0e, 0x47, 0x65, 0x74, + 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x1b, 0x5a, 0x19, 0x2f, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x1b, 0x5a, 0x19, 0x2f, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, + 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_injective_campaign_rpc_proto_rawDescOnce sync.Once - file_injective_campaign_rpc_proto_rawDescData = file_injective_campaign_rpc_proto_rawDesc + file_goadesign_goagen_injective_campaign_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_campaign_rpc_proto_rawDescData = file_goadesign_goagen_injective_campaign_rpc_proto_rawDesc ) -func file_injective_campaign_rpc_proto_rawDescGZIP() []byte { - file_injective_campaign_rpc_proto_rawDescOnce.Do(func() { - file_injective_campaign_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_campaign_rpc_proto_rawDescData) +func file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_campaign_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_campaign_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_campaign_rpc_proto_rawDescData) }) - return file_injective_campaign_rpc_proto_rawDescData + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescData } -var file_injective_campaign_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 17) -var file_injective_campaign_rpc_proto_goTypes = []interface{}{ +var file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_goadesign_goagen_injective_campaign_rpc_proto_goTypes = []interface{}{ (*RankingRequest)(nil), // 0: injective_campaign_rpc.RankingRequest (*RankingResponse)(nil), // 1: injective_campaign_rpc.RankingResponse (*Campaign)(nil), // 2: injective_campaign_rpc.Campaign @@ -1865,13 +1959,13 @@ var file_injective_campaign_rpc_proto_goTypes = []interface{}{ (*GetGuildMemberRequest)(nil), // 15: injective_campaign_rpc.GetGuildMemberRequest (*GetGuildMemberResponse)(nil), // 16: injective_campaign_rpc.GetGuildMemberResponse } -var file_injective_campaign_rpc_proto_depIdxs = []int32{ +var file_goadesign_goagen_injective_campaign_rpc_proto_depIdxs = []int32{ 2, // 0: injective_campaign_rpc.RankingResponse.campaign:type_name -> injective_campaign_rpc.Campaign 4, // 1: injective_campaign_rpc.RankingResponse.users:type_name -> injective_campaign_rpc.CampaignUser 5, // 2: injective_campaign_rpc.RankingResponse.paging:type_name -> injective_campaign_rpc.Paging 3, // 3: injective_campaign_rpc.Campaign.rewards:type_name -> injective_campaign_rpc.Coin 2, // 4: injective_campaign_rpc.CampaignsResponse.campaigns:type_name -> injective_campaign_rpc.Campaign - 3, // 5: injective_campaign_rpc.CampaignsResponse.account_rewards:type_name -> injective_campaign_rpc.Coin + 3, // 5: injective_campaign_rpc.CampaignsResponse.accumulated_rewards:type_name -> injective_campaign_rpc.Coin 10, // 6: injective_campaign_rpc.ListGuildsResponse.guilds:type_name -> injective_campaign_rpc.Guild 5, // 7: injective_campaign_rpc.ListGuildsResponse.paging:type_name -> injective_campaign_rpc.Paging 11, // 8: injective_campaign_rpc.ListGuildsResponse.campaign_summary:type_name -> injective_campaign_rpc.CampaignSummary @@ -1898,13 +1992,13 @@ var file_injective_campaign_rpc_proto_depIdxs = []int32{ 0, // [0:15] is the sub-list for field type_name } -func init() { file_injective_campaign_rpc_proto_init() } -func file_injective_campaign_rpc_proto_init() { - if File_injective_campaign_rpc_proto != nil { +func init() { file_goadesign_goagen_injective_campaign_rpc_proto_init() } +func file_goadesign_goagen_injective_campaign_rpc_proto_init() { + if File_goadesign_goagen_injective_campaign_rpc_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_injective_campaign_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RankingRequest); i { case 0: return &v.state @@ -1916,7 +2010,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RankingResponse); i { case 0: return &v.state @@ -1928,7 +2022,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Campaign); i { case 0: return &v.state @@ -1940,7 +2034,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Coin); i { case 0: return &v.state @@ -1952,7 +2046,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CampaignUser); i { case 0: return &v.state @@ -1964,7 +2058,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Paging); i { case 0: return &v.state @@ -1976,7 +2070,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CampaignsRequest); i { case 0: return &v.state @@ -1988,7 +2082,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CampaignsResponse); i { case 0: return &v.state @@ -2000,7 +2094,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListGuildsRequest); i { case 0: return &v.state @@ -2012,7 +2106,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListGuildsResponse); i { case 0: return &v.state @@ -2024,7 +2118,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Guild); i { case 0: return &v.state @@ -2036,7 +2130,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CampaignSummary); i { case 0: return &v.state @@ -2048,7 +2142,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListGuildMembersRequest); i { case 0: return &v.state @@ -2060,7 +2154,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListGuildMembersResponse); i { case 0: return &v.state @@ -2072,7 +2166,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GuildMember); i { case 0: return &v.state @@ -2084,7 +2178,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetGuildMemberRequest); i { case 0: return &v.state @@ -2096,7 +2190,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetGuildMemberResponse); i { case 0: return &v.state @@ -2113,18 +2207,18 @@ func file_injective_campaign_rpc_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_campaign_rpc_proto_rawDesc, + RawDescriptor: file_goadesign_goagen_injective_campaign_rpc_proto_rawDesc, NumEnums: 0, NumMessages: 17, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_injective_campaign_rpc_proto_goTypes, - DependencyIndexes: file_injective_campaign_rpc_proto_depIdxs, - MessageInfos: file_injective_campaign_rpc_proto_msgTypes, + GoTypes: file_goadesign_goagen_injective_campaign_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_campaign_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes, }.Build() - File_injective_campaign_rpc_proto = out.File - file_injective_campaign_rpc_proto_rawDesc = nil - file_injective_campaign_rpc_proto_goTypes = nil - file_injective_campaign_rpc_proto_depIdxs = nil + File_goadesign_goagen_injective_campaign_rpc_proto = out.File + file_goadesign_goagen_injective_campaign_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_campaign_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_campaign_rpc_proto_depIdxs = nil } diff --git a/exchange/campaign_rpc/pb/injective_campaign_rpc.proto b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.proto similarity index 89% rename from exchange/campaign_rpc/pb/injective_campaign_rpc.proto rename to exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.proto index ab85df23..08a9aa9b 100644 --- a/exchange/campaign_rpc/pb/injective_campaign_rpc.proto +++ b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveCampaignRPC protocol buffer definition // @@ -34,6 +34,8 @@ message RankingRequest { string account_address = 3; sint32 limit = 4; uint64 skip = 5; + // Contract address that manages the round and reward + string contract_address = 6; } message RankingResponse { @@ -61,12 +63,21 @@ message Campaign { // Campaigns round ID sint32 round_id = 9; // Contract address that controls this campaign - string contract = 10; + string manager_contract = 10; // Reward tokens of this campaign repeated Coin rewards = 11; // Total user score if accountAddress is passed, this is useful to estimate // account's reward string user_score = 12; + // Return true if user claimed the reward of this campaign + bool user_claimed = 13; + // Suffix of the subaccount that eligible for volume score + string subaccount_id_suffix = 14; + // Contract that manage users reward + string reward_contract = 15; + // Version of reward contract, UI use this to determine the message that need +// to be sent + string version = 16; } message Coin { @@ -94,6 +105,8 @@ message CampaignUser { // True if this user is updated to be in Galxe Campain list, only eligible // address are added bool galxe_updated = 9; + // True if this user claimed the reward + bool reward_claimed = 10; } // Paging defines the structure for required params for handling pagination message Paging { @@ -110,18 +123,21 @@ message Paging { } message CampaignsRequest { - // Round ID, if not specified, it will return latest roundId + // Round ID, if not specified, it will return latest roundId sint64 round_id = 1; // Address of login account, if not specified it will return no user rewards string account_address = 2; // This will return campaign x where x.roundId <= toRoundId. Useful for listing // multiple rounds sint32 to_round_id = 3; + // Contract address that manages the round and reward + string contract_address = 4; } message CampaignsResponse { repeated Campaign campaigns = 1; - repeated Coin account_rewards = 2; + repeated Coin accumulated_rewards = 2; + sint32 reward_count = 3; } message ListGuildsRequest { diff --git a/exchange/campaign_rpc/pb/injective_campaign_rpc_grpc.pb.go b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc_grpc.pb.go similarity index 98% rename from exchange/campaign_rpc/pb/injective_campaign_rpc_grpc.pb.go rename to exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc_grpc.pb.go index 2f061eed..6359121f 100644 --- a/exchange/campaign_rpc/pb/injective_campaign_rpc_grpc.pb.go +++ b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_campaign_rpc.proto package injective_campaign_rpcpb @@ -251,5 +255,5 @@ var InjectiveCampaignRPC_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "injective_campaign_rpc.proto", + Metadata: "goadesign_goagen_injective_campaign_rpc.proto", } diff --git a/exchange/campaign_rpc/pb/injective_campaign_rpc.pb.gw.go b/exchange/campaign_rpc/pb/injective_campaign_rpc.pb.gw.go index 05530247..d403baec 100644 --- a/exchange/campaign_rpc/pb/injective_campaign_rpc.pb.gw.go +++ b/exchange/campaign_rpc/pb/injective_campaign_rpc.pb.gw.go @@ -213,20 +213,22 @@ func RegisterInjectiveCampaignRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/Ranking", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/Ranking")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/Ranking", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/Ranking")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveCampaignRPC_Ranking_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveCampaignRPC_Ranking_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_Ranking_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_Ranking_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -236,20 +238,22 @@ func RegisterInjectiveCampaignRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/Campaigns", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/Campaigns")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/Campaigns", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/Campaigns")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveCampaignRPC_Campaigns_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveCampaignRPC_Campaigns_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_Campaigns_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_Campaigns_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -259,20 +263,22 @@ func RegisterInjectiveCampaignRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/ListGuilds", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/ListGuilds")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/ListGuilds", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/ListGuilds")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveCampaignRPC_ListGuilds_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveCampaignRPC_ListGuilds_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_ListGuilds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_ListGuilds_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -282,20 +288,22 @@ func RegisterInjectiveCampaignRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/ListGuildMembers", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/ListGuildMembers")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/ListGuildMembers", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/ListGuildMembers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveCampaignRPC_ListGuildMembers_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveCampaignRPC_ListGuildMembers_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_ListGuildMembers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_ListGuildMembers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -305,20 +313,22 @@ func RegisterInjectiveCampaignRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/GetGuildMember", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/GetGuildMember")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/GetGuildMember", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/GetGuildMember")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveCampaignRPC_GetGuildMember_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveCampaignRPC_GetGuildMember_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_GetGuildMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_GetGuildMember_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -367,19 +377,21 @@ func RegisterInjectiveCampaignRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/Ranking", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/Ranking")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/Ranking", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/Ranking")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveCampaignRPC_Ranking_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveCampaignRPC_Ranking_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_Ranking_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_Ranking_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -387,19 +399,21 @@ func RegisterInjectiveCampaignRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/Campaigns", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/Campaigns")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/Campaigns", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/Campaigns")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveCampaignRPC_Campaigns_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveCampaignRPC_Campaigns_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_Campaigns_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_Campaigns_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -407,19 +421,21 @@ func RegisterInjectiveCampaignRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/ListGuilds", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/ListGuilds")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/ListGuilds", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/ListGuilds")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveCampaignRPC_ListGuilds_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveCampaignRPC_ListGuilds_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_ListGuilds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_ListGuilds_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -427,19 +443,21 @@ func RegisterInjectiveCampaignRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/ListGuildMembers", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/ListGuildMembers")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/ListGuildMembers", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/ListGuildMembers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveCampaignRPC_ListGuildMembers_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveCampaignRPC_ListGuildMembers_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_ListGuildMembers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_ListGuildMembers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -447,19 +465,21 @@ func RegisterInjectiveCampaignRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/GetGuildMember", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/GetGuildMember")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/GetGuildMember", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/GetGuildMember")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveCampaignRPC_GetGuildMember_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveCampaignRPC_GetGuildMember_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_GetGuildMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_GetGuildMember_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.pb.go b/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.pb.go similarity index 68% rename from exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.pb.go rename to exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.pb.go index 1f41c548..37996a86 100644 --- a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.pb.go +++ b/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.pb.go @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveDerivativeExchangeRPC protocol buffer definition // @@ -8,8 +8,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_derivative_exchange_rpc.proto +// protoc v4.25.3 +// source: goadesign_goagen_injective_derivative_exchange_rpc.proto package injective_derivative_exchange_rpcpb @@ -42,7 +42,7 @@ type MarketsRequest struct { func (x *MarketsRequest) Reset() { *x = MarketsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -55,7 +55,7 @@ func (x *MarketsRequest) String() string { func (*MarketsRequest) ProtoMessage() {} func (x *MarketsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -68,7 +68,7 @@ func (x *MarketsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MarketsRequest.ProtoReflect.Descriptor instead. func (*MarketsRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{0} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{0} } func (x *MarketsRequest) GetMarketStatus() string { @@ -104,7 +104,7 @@ type MarketsResponse struct { func (x *MarketsResponse) Reset() { *x = MarketsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -117,7 +117,7 @@ func (x *MarketsResponse) String() string { func (*MarketsResponse) ProtoMessage() {} func (x *MarketsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -130,7 +130,7 @@ func (x *MarketsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MarketsResponse.ProtoReflect.Descriptor instead. func (*MarketsResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{1} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{1} } func (x *MarketsResponse) GetMarkets() []*DerivativeMarketInfo { @@ -192,7 +192,7 @@ type DerivativeMarketInfo struct { func (x *DerivativeMarketInfo) Reset() { *x = DerivativeMarketInfo{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -205,7 +205,7 @@ func (x *DerivativeMarketInfo) String() string { func (*DerivativeMarketInfo) ProtoMessage() {} func (x *DerivativeMarketInfo) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -218,7 +218,7 @@ func (x *DerivativeMarketInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use DerivativeMarketInfo.ProtoReflect.Descriptor instead. func (*DerivativeMarketInfo) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{2} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{2} } func (x *DerivativeMarketInfo) GetMarketId() string { @@ -383,7 +383,7 @@ type TokenMeta struct { func (x *TokenMeta) Reset() { *x = TokenMeta{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -396,7 +396,7 @@ func (x *TokenMeta) String() string { func (*TokenMeta) ProtoMessage() {} func (x *TokenMeta) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -409,7 +409,7 @@ func (x *TokenMeta) ProtoReflect() protoreflect.Message { // Deprecated: Use TokenMeta.ProtoReflect.Descriptor instead. func (*TokenMeta) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{3} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{3} } func (x *TokenMeta) GetName() string { @@ -474,7 +474,7 @@ type PerpetualMarketInfo struct { func (x *PerpetualMarketInfo) Reset() { *x = PerpetualMarketInfo{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -487,7 +487,7 @@ func (x *PerpetualMarketInfo) String() string { func (*PerpetualMarketInfo) ProtoMessage() {} func (x *PerpetualMarketInfo) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -500,7 +500,7 @@ func (x *PerpetualMarketInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use PerpetualMarketInfo.ProtoReflect.Descriptor instead. func (*PerpetualMarketInfo) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{4} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{4} } func (x *PerpetualMarketInfo) GetHourlyFundingRateCap() string { @@ -549,7 +549,7 @@ type PerpetualMarketFunding struct { func (x *PerpetualMarketFunding) Reset() { *x = PerpetualMarketFunding{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -562,7 +562,7 @@ func (x *PerpetualMarketFunding) String() string { func (*PerpetualMarketFunding) ProtoMessage() {} func (x *PerpetualMarketFunding) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -575,7 +575,7 @@ func (x *PerpetualMarketFunding) ProtoReflect() protoreflect.Message { // Deprecated: Use PerpetualMarketFunding.ProtoReflect.Descriptor instead. func (*PerpetualMarketFunding) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{5} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{5} } func (x *PerpetualMarketFunding) GetCumulativeFunding() string { @@ -613,7 +613,7 @@ type ExpiryFuturesMarketInfo struct { func (x *ExpiryFuturesMarketInfo) Reset() { *x = ExpiryFuturesMarketInfo{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -626,7 +626,7 @@ func (x *ExpiryFuturesMarketInfo) String() string { func (*ExpiryFuturesMarketInfo) ProtoMessage() {} func (x *ExpiryFuturesMarketInfo) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -639,7 +639,7 @@ func (x *ExpiryFuturesMarketInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ExpiryFuturesMarketInfo.ProtoReflect.Descriptor instead. func (*ExpiryFuturesMarketInfo) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{6} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{6} } func (x *ExpiryFuturesMarketInfo) GetExpirationTimestamp() int64 { @@ -668,7 +668,7 @@ type MarketRequest struct { func (x *MarketRequest) Reset() { *x = MarketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -681,7 +681,7 @@ func (x *MarketRequest) String() string { func (*MarketRequest) ProtoMessage() {} func (x *MarketRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -694,7 +694,7 @@ func (x *MarketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MarketRequest.ProtoReflect.Descriptor instead. func (*MarketRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{7} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{7} } func (x *MarketRequest) GetMarketId() string { @@ -716,7 +716,7 @@ type MarketResponse struct { func (x *MarketResponse) Reset() { *x = MarketResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -729,7 +729,7 @@ func (x *MarketResponse) String() string { func (*MarketResponse) ProtoMessage() {} func (x *MarketResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -742,7 +742,7 @@ func (x *MarketResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MarketResponse.ProtoReflect.Descriptor instead. func (*MarketResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{8} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{8} } func (x *MarketResponse) GetMarket() *DerivativeMarketInfo { @@ -765,7 +765,7 @@ type StreamMarketRequest struct { func (x *StreamMarketRequest) Reset() { *x = StreamMarketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -778,7 +778,7 @@ func (x *StreamMarketRequest) String() string { func (*StreamMarketRequest) ProtoMessage() {} func (x *StreamMarketRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -791,7 +791,7 @@ func (x *StreamMarketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamMarketRequest.ProtoReflect.Descriptor instead. func (*StreamMarketRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{9} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{9} } func (x *StreamMarketRequest) GetMarketIds() []string { @@ -817,7 +817,7 @@ type StreamMarketResponse struct { func (x *StreamMarketResponse) Reset() { *x = StreamMarketResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -830,7 +830,7 @@ func (x *StreamMarketResponse) String() string { func (*StreamMarketResponse) ProtoMessage() {} func (x *StreamMarketResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -843,7 +843,7 @@ func (x *StreamMarketResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamMarketResponse.ProtoReflect.Descriptor instead. func (*StreamMarketResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{10} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{10} } func (x *StreamMarketResponse) GetMarket() *DerivativeMarketInfo { @@ -885,7 +885,7 @@ type BinaryOptionsMarketsRequest struct { func (x *BinaryOptionsMarketsRequest) Reset() { *x = BinaryOptionsMarketsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -898,7 +898,7 @@ func (x *BinaryOptionsMarketsRequest) String() string { func (*BinaryOptionsMarketsRequest) ProtoMessage() {} func (x *BinaryOptionsMarketsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -911,7 +911,7 @@ func (x *BinaryOptionsMarketsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BinaryOptionsMarketsRequest.ProtoReflect.Descriptor instead. func (*BinaryOptionsMarketsRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{11} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{11} } func (x *BinaryOptionsMarketsRequest) GetMarketStatus() string { @@ -955,7 +955,7 @@ type BinaryOptionsMarketsResponse struct { func (x *BinaryOptionsMarketsResponse) Reset() { *x = BinaryOptionsMarketsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -968,7 +968,7 @@ func (x *BinaryOptionsMarketsResponse) String() string { func (*BinaryOptionsMarketsResponse) ProtoMessage() {} func (x *BinaryOptionsMarketsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -981,7 +981,7 @@ func (x *BinaryOptionsMarketsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BinaryOptionsMarketsResponse.ProtoReflect.Descriptor instead. func (*BinaryOptionsMarketsResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{12} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{12} } func (x *BinaryOptionsMarketsResponse) GetMarkets() []*BinaryOptionsMarketInfo { @@ -1043,7 +1043,7 @@ type BinaryOptionsMarketInfo struct { func (x *BinaryOptionsMarketInfo) Reset() { *x = BinaryOptionsMarketInfo{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1056,7 +1056,7 @@ func (x *BinaryOptionsMarketInfo) String() string { func (*BinaryOptionsMarketInfo) ProtoMessage() {} func (x *BinaryOptionsMarketInfo) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1069,7 +1069,7 @@ func (x *BinaryOptionsMarketInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use BinaryOptionsMarketInfo.ProtoReflect.Descriptor instead. func (*BinaryOptionsMarketInfo) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{13} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{13} } func (x *BinaryOptionsMarketInfo) GetMarketId() string { @@ -1212,7 +1212,7 @@ type Paging struct { func (x *Paging) Reset() { *x = Paging{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1225,7 +1225,7 @@ func (x *Paging) String() string { func (*Paging) ProtoMessage() {} func (x *Paging) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1238,7 +1238,7 @@ func (x *Paging) ProtoReflect() protoreflect.Message { // Deprecated: Use Paging.ProtoReflect.Descriptor instead. func (*Paging) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{14} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{14} } func (x *Paging) GetTotal() int64 { @@ -1288,7 +1288,7 @@ type BinaryOptionsMarketRequest struct { func (x *BinaryOptionsMarketRequest) Reset() { *x = BinaryOptionsMarketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[15] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1301,7 +1301,7 @@ func (x *BinaryOptionsMarketRequest) String() string { func (*BinaryOptionsMarketRequest) ProtoMessage() {} func (x *BinaryOptionsMarketRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[15] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1314,7 +1314,7 @@ func (x *BinaryOptionsMarketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BinaryOptionsMarketRequest.ProtoReflect.Descriptor instead. func (*BinaryOptionsMarketRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{15} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{15} } func (x *BinaryOptionsMarketRequest) GetMarketId() string { @@ -1336,7 +1336,7 @@ type BinaryOptionsMarketResponse struct { func (x *BinaryOptionsMarketResponse) Reset() { *x = BinaryOptionsMarketResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[16] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1349,7 +1349,7 @@ func (x *BinaryOptionsMarketResponse) String() string { func (*BinaryOptionsMarketResponse) ProtoMessage() {} func (x *BinaryOptionsMarketResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[16] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1362,7 +1362,7 @@ func (x *BinaryOptionsMarketResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BinaryOptionsMarketResponse.ProtoReflect.Descriptor instead. func (*BinaryOptionsMarketResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{16} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{16} } func (x *BinaryOptionsMarketResponse) GetMarket() *BinaryOptionsMarketInfo { @@ -1384,7 +1384,7 @@ type OrderbookV2Request struct { func (x *OrderbookV2Request) Reset() { *x = OrderbookV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[17] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1397,7 +1397,7 @@ func (x *OrderbookV2Request) String() string { func (*OrderbookV2Request) ProtoMessage() {} func (x *OrderbookV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[17] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1410,7 +1410,7 @@ func (x *OrderbookV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbookV2Request.ProtoReflect.Descriptor instead. func (*OrderbookV2Request) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{17} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{17} } func (x *OrderbookV2Request) GetMarketId() string { @@ -1432,7 +1432,7 @@ type OrderbookV2Response struct { func (x *OrderbookV2Response) Reset() { *x = OrderbookV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[18] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1445,7 +1445,7 @@ func (x *OrderbookV2Response) String() string { func (*OrderbookV2Response) ProtoMessage() {} func (x *OrderbookV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[18] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1458,7 +1458,7 @@ func (x *OrderbookV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbookV2Response.ProtoReflect.Descriptor instead. func (*OrderbookV2Response) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{18} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{18} } func (x *OrderbookV2Response) GetOrderbook() *DerivativeLimitOrderbookV2 { @@ -1486,7 +1486,7 @@ type DerivativeLimitOrderbookV2 struct { func (x *DerivativeLimitOrderbookV2) Reset() { *x = DerivativeLimitOrderbookV2{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[19] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1499,7 +1499,7 @@ func (x *DerivativeLimitOrderbookV2) String() string { func (*DerivativeLimitOrderbookV2) ProtoMessage() {} func (x *DerivativeLimitOrderbookV2) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[19] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1512,7 +1512,7 @@ func (x *DerivativeLimitOrderbookV2) ProtoReflect() protoreflect.Message { // Deprecated: Use DerivativeLimitOrderbookV2.ProtoReflect.Descriptor instead. func (*DerivativeLimitOrderbookV2) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{19} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{19} } func (x *DerivativeLimitOrderbookV2) GetBuys() []*PriceLevel { @@ -1559,7 +1559,7 @@ type PriceLevel struct { func (x *PriceLevel) Reset() { *x = PriceLevel{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[20] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1572,7 +1572,7 @@ func (x *PriceLevel) String() string { func (*PriceLevel) ProtoMessage() {} func (x *PriceLevel) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[20] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1585,7 +1585,7 @@ func (x *PriceLevel) ProtoReflect() protoreflect.Message { // Deprecated: Use PriceLevel.ProtoReflect.Descriptor instead. func (*PriceLevel) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{20} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{20} } func (x *PriceLevel) GetPrice() string { @@ -1621,7 +1621,7 @@ type OrderbooksV2Request struct { func (x *OrderbooksV2Request) Reset() { *x = OrderbooksV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[21] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1634,7 +1634,7 @@ func (x *OrderbooksV2Request) String() string { func (*OrderbooksV2Request) ProtoMessage() {} func (x *OrderbooksV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[21] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1647,7 +1647,7 @@ func (x *OrderbooksV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbooksV2Request.ProtoReflect.Descriptor instead. func (*OrderbooksV2Request) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{21} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{21} } func (x *OrderbooksV2Request) GetMarketIds() []string { @@ -1668,7 +1668,7 @@ type OrderbooksV2Response struct { func (x *OrderbooksV2Response) Reset() { *x = OrderbooksV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[22] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1681,7 +1681,7 @@ func (x *OrderbooksV2Response) String() string { func (*OrderbooksV2Response) ProtoMessage() {} func (x *OrderbooksV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[22] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1694,7 +1694,7 @@ func (x *OrderbooksV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbooksV2Response.ProtoReflect.Descriptor instead. func (*OrderbooksV2Response) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{22} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{22} } func (x *OrderbooksV2Response) GetOrderbooks() []*SingleDerivativeLimitOrderbookV2 { @@ -1718,7 +1718,7 @@ type SingleDerivativeLimitOrderbookV2 struct { func (x *SingleDerivativeLimitOrderbookV2) Reset() { *x = SingleDerivativeLimitOrderbookV2{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[23] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1731,7 +1731,7 @@ func (x *SingleDerivativeLimitOrderbookV2) String() string { func (*SingleDerivativeLimitOrderbookV2) ProtoMessage() {} func (x *SingleDerivativeLimitOrderbookV2) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[23] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1744,7 +1744,7 @@ func (x *SingleDerivativeLimitOrderbookV2) ProtoReflect() protoreflect.Message { // Deprecated: Use SingleDerivativeLimitOrderbookV2.ProtoReflect.Descriptor instead. func (*SingleDerivativeLimitOrderbookV2) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{23} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{23} } func (x *SingleDerivativeLimitOrderbookV2) GetMarketId() string { @@ -1774,7 +1774,7 @@ type StreamOrderbookV2Request struct { func (x *StreamOrderbookV2Request) Reset() { *x = StreamOrderbookV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[24] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1787,7 +1787,7 @@ func (x *StreamOrderbookV2Request) String() string { func (*StreamOrderbookV2Request) ProtoMessage() {} func (x *StreamOrderbookV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[24] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1800,7 +1800,7 @@ func (x *StreamOrderbookV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrderbookV2Request.ProtoReflect.Descriptor instead. func (*StreamOrderbookV2Request) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{24} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{24} } func (x *StreamOrderbookV2Request) GetMarketIds() []string { @@ -1828,7 +1828,7 @@ type StreamOrderbookV2Response struct { func (x *StreamOrderbookV2Response) Reset() { *x = StreamOrderbookV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[25] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1841,7 +1841,7 @@ func (x *StreamOrderbookV2Response) String() string { func (*StreamOrderbookV2Response) ProtoMessage() {} func (x *StreamOrderbookV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[25] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1854,7 +1854,7 @@ func (x *StreamOrderbookV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrderbookV2Response.ProtoReflect.Descriptor instead. func (*StreamOrderbookV2Response) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{25} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{25} } func (x *StreamOrderbookV2Response) GetOrderbook() *DerivativeLimitOrderbookV2 { @@ -1898,7 +1898,7 @@ type StreamOrderbookUpdateRequest struct { func (x *StreamOrderbookUpdateRequest) Reset() { *x = StreamOrderbookUpdateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[26] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1911,7 +1911,7 @@ func (x *StreamOrderbookUpdateRequest) String() string { func (*StreamOrderbookUpdateRequest) ProtoMessage() {} func (x *StreamOrderbookUpdateRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[26] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1924,7 +1924,7 @@ func (x *StreamOrderbookUpdateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrderbookUpdateRequest.ProtoReflect.Descriptor instead. func (*StreamOrderbookUpdateRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{26} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{26} } func (x *StreamOrderbookUpdateRequest) GetMarketIds() []string { @@ -1952,7 +1952,7 @@ type StreamOrderbookUpdateResponse struct { func (x *StreamOrderbookUpdateResponse) Reset() { *x = StreamOrderbookUpdateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[27] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1965,7 +1965,7 @@ func (x *StreamOrderbookUpdateResponse) String() string { func (*StreamOrderbookUpdateResponse) ProtoMessage() {} func (x *StreamOrderbookUpdateResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[27] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1978,7 +1978,7 @@ func (x *StreamOrderbookUpdateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrderbookUpdateResponse.ProtoReflect.Descriptor instead. func (*StreamOrderbookUpdateResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{27} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{27} } func (x *StreamOrderbookUpdateResponse) GetOrderbookLevelUpdates() *OrderbookLevelUpdates { @@ -2029,7 +2029,7 @@ type OrderbookLevelUpdates struct { func (x *OrderbookLevelUpdates) Reset() { *x = OrderbookLevelUpdates{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[28] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2042,7 +2042,7 @@ func (x *OrderbookLevelUpdates) String() string { func (*OrderbookLevelUpdates) ProtoMessage() {} func (x *OrderbookLevelUpdates) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[28] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2055,7 +2055,7 @@ func (x *OrderbookLevelUpdates) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbookLevelUpdates.ProtoReflect.Descriptor instead. func (*OrderbookLevelUpdates) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{28} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{28} } func (x *OrderbookLevelUpdates) GetMarketId() string { @@ -2111,7 +2111,7 @@ type PriceLevelUpdate struct { func (x *PriceLevelUpdate) Reset() { *x = PriceLevelUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[29] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2124,7 +2124,7 @@ func (x *PriceLevelUpdate) String() string { func (*PriceLevelUpdate) ProtoMessage() {} func (x *PriceLevelUpdate) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[29] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2137,7 +2137,7 @@ func (x *PriceLevelUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use PriceLevelUpdate.ProtoReflect.Descriptor instead. func (*PriceLevelUpdate) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{29} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{29} } func (x *PriceLevelUpdate) GetPrice() string { @@ -2210,7 +2210,7 @@ type OrdersRequest struct { func (x *OrdersRequest) Reset() { *x = OrdersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[30] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2223,7 +2223,7 @@ func (x *OrdersRequest) String() string { func (*OrdersRequest) ProtoMessage() {} func (x *OrdersRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[30] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2236,7 +2236,7 @@ func (x *OrdersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use OrdersRequest.ProtoReflect.Descriptor instead. func (*OrdersRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{30} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{30} } func (x *OrdersRequest) GetMarketId() string { @@ -2349,7 +2349,7 @@ type OrdersResponse struct { func (x *OrdersResponse) Reset() { *x = OrdersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[31] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2362,7 +2362,7 @@ func (x *OrdersResponse) String() string { func (*OrdersResponse) ProtoMessage() {} func (x *OrdersResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[31] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2375,7 +2375,7 @@ func (x *OrdersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use OrdersResponse.ProtoReflect.Descriptor instead. func (*OrdersResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{31} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{31} } func (x *OrdersResponse) GetOrders() []*DerivativeLimitOrder { @@ -2446,7 +2446,7 @@ type DerivativeLimitOrder struct { func (x *DerivativeLimitOrder) Reset() { *x = DerivativeLimitOrder{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[32] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2459,7 +2459,7 @@ func (x *DerivativeLimitOrder) String() string { func (*DerivativeLimitOrder) ProtoMessage() {} func (x *DerivativeLimitOrder) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[32] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2472,7 +2472,7 @@ func (x *DerivativeLimitOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use DerivativeLimitOrder.ProtoReflect.Descriptor instead. func (*DerivativeLimitOrder) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{32} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{32} } func (x *DerivativeLimitOrder) GetOrderHash() string { @@ -2663,7 +2663,7 @@ type PositionsRequest struct { func (x *PositionsRequest) Reset() { *x = PositionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[33] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2676,7 +2676,7 @@ func (x *PositionsRequest) String() string { func (*PositionsRequest) ProtoMessage() {} func (x *PositionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[33] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2689,7 +2689,7 @@ func (x *PositionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PositionsRequest.ProtoReflect.Descriptor instead. func (*PositionsRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{33} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{33} } func (x *PositionsRequest) GetSubaccountId() string { @@ -2774,7 +2774,7 @@ type PositionsResponse struct { func (x *PositionsResponse) Reset() { *x = PositionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[34] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2787,7 +2787,7 @@ func (x *PositionsResponse) String() string { func (*PositionsResponse) ProtoMessage() {} func (x *PositionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[34] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2800,7 +2800,7 @@ func (x *PositionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PositionsResponse.ProtoReflect.Descriptor instead. func (*PositionsResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{34} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{34} } func (x *PositionsResponse) GetPositions() []*DerivativePosition { @@ -2851,7 +2851,7 @@ type DerivativePosition struct { func (x *DerivativePosition) Reset() { *x = DerivativePosition{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[35] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2864,7 +2864,7 @@ func (x *DerivativePosition) String() string { func (*DerivativePosition) ProtoMessage() {} func (x *DerivativePosition) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[35] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2877,7 +2877,7 @@ func (x *DerivativePosition) ProtoReflect() protoreflect.Message { // Deprecated: Use DerivativePosition.ProtoReflect.Descriptor instead. func (*DerivativePosition) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{35} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{35} } func (x *DerivativePosition) GetTicker() string { @@ -2998,7 +2998,7 @@ type PositionsV2Request struct { func (x *PositionsV2Request) Reset() { *x = PositionsV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[36] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3011,7 +3011,7 @@ func (x *PositionsV2Request) String() string { func (*PositionsV2Request) ProtoMessage() {} func (x *PositionsV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[36] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3024,7 +3024,7 @@ func (x *PositionsV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use PositionsV2Request.ProtoReflect.Descriptor instead. func (*PositionsV2Request) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{36} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{36} } func (x *PositionsV2Request) GetSubaccountId() string { @@ -3109,7 +3109,7 @@ type PositionsV2Response struct { func (x *PositionsV2Response) Reset() { *x = PositionsV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[37] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3122,7 +3122,7 @@ func (x *PositionsV2Response) String() string { func (*PositionsV2Response) ProtoMessage() {} func (x *PositionsV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[37] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3135,7 +3135,7 @@ func (x *PositionsV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use PositionsV2Response.ProtoReflect.Descriptor instead. func (*PositionsV2Response) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{37} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{37} } func (x *PositionsV2Response) GetPositions() []*DerivativePositionV2 { @@ -3184,7 +3184,7 @@ type DerivativePositionV2 struct { func (x *DerivativePositionV2) Reset() { *x = DerivativePositionV2{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[38] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3197,7 +3197,7 @@ func (x *DerivativePositionV2) String() string { func (*DerivativePositionV2) ProtoMessage() {} func (x *DerivativePositionV2) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[38] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3210,7 +3210,7 @@ func (x *DerivativePositionV2) ProtoReflect() protoreflect.Message { // Deprecated: Use DerivativePositionV2.ProtoReflect.Descriptor instead. func (*DerivativePositionV2) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{38} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{38} } func (x *DerivativePositionV2) GetTicker() string { @@ -3306,7 +3306,7 @@ type LiquidablePositionsRequest struct { func (x *LiquidablePositionsRequest) Reset() { *x = LiquidablePositionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[39] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3319,7 +3319,7 @@ func (x *LiquidablePositionsRequest) String() string { func (*LiquidablePositionsRequest) ProtoMessage() {} func (x *LiquidablePositionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[39] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3332,7 +3332,7 @@ func (x *LiquidablePositionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LiquidablePositionsRequest.ProtoReflect.Descriptor instead. func (*LiquidablePositionsRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{39} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{39} } func (x *LiquidablePositionsRequest) GetMarketId() string { @@ -3368,7 +3368,7 @@ type LiquidablePositionsResponse struct { func (x *LiquidablePositionsResponse) Reset() { *x = LiquidablePositionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[40] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3381,7 +3381,7 @@ func (x *LiquidablePositionsResponse) String() string { func (*LiquidablePositionsResponse) ProtoMessage() {} func (x *LiquidablePositionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[40] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3394,7 +3394,7 @@ func (x *LiquidablePositionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LiquidablePositionsResponse.ProtoReflect.Descriptor instead. func (*LiquidablePositionsResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{40} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{40} } func (x *LiquidablePositionsResponse) GetPositions() []*DerivativePosition { @@ -3428,7 +3428,7 @@ type FundingPaymentsRequest struct { func (x *FundingPaymentsRequest) Reset() { *x = FundingPaymentsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[41] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3441,7 +3441,7 @@ func (x *FundingPaymentsRequest) String() string { func (*FundingPaymentsRequest) ProtoMessage() {} func (x *FundingPaymentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[41] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3454,7 +3454,7 @@ func (x *FundingPaymentsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FundingPaymentsRequest.ProtoReflect.Descriptor instead. func (*FundingPaymentsRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{41} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{41} } func (x *FundingPaymentsRequest) GetSubaccountId() string { @@ -3512,7 +3512,7 @@ type FundingPaymentsResponse struct { func (x *FundingPaymentsResponse) Reset() { *x = FundingPaymentsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[42] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3525,7 +3525,7 @@ func (x *FundingPaymentsResponse) String() string { func (*FundingPaymentsResponse) ProtoMessage() {} func (x *FundingPaymentsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[42] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3538,7 +3538,7 @@ func (x *FundingPaymentsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FundingPaymentsResponse.ProtoReflect.Descriptor instead. func (*FundingPaymentsResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{42} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{42} } func (x *FundingPaymentsResponse) GetPayments() []*FundingPayment { @@ -3573,7 +3573,7 @@ type FundingPayment struct { func (x *FundingPayment) Reset() { *x = FundingPayment{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[43] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3586,7 +3586,7 @@ func (x *FundingPayment) String() string { func (*FundingPayment) ProtoMessage() {} func (x *FundingPayment) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[43] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3599,7 +3599,7 @@ func (x *FundingPayment) ProtoReflect() protoreflect.Message { // Deprecated: Use FundingPayment.ProtoReflect.Descriptor instead. func (*FundingPayment) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{43} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{43} } func (x *FundingPayment) GetMarketId() string { @@ -3648,7 +3648,7 @@ type FundingRatesRequest struct { func (x *FundingRatesRequest) Reset() { *x = FundingRatesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[44] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3661,7 +3661,7 @@ func (x *FundingRatesRequest) String() string { func (*FundingRatesRequest) ProtoMessage() {} func (x *FundingRatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[44] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3674,7 +3674,7 @@ func (x *FundingRatesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FundingRatesRequest.ProtoReflect.Descriptor instead. func (*FundingRatesRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{44} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{44} } func (x *FundingRatesRequest) GetMarketId() string { @@ -3718,7 +3718,7 @@ type FundingRatesResponse struct { func (x *FundingRatesResponse) Reset() { *x = FundingRatesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[45] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3731,7 +3731,7 @@ func (x *FundingRatesResponse) String() string { func (*FundingRatesResponse) ProtoMessage() {} func (x *FundingRatesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[45] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3744,7 +3744,7 @@ func (x *FundingRatesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FundingRatesResponse.ProtoReflect.Descriptor instead. func (*FundingRatesResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{45} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{45} } func (x *FundingRatesResponse) GetFundingRates() []*FundingRate { @@ -3777,7 +3777,7 @@ type FundingRate struct { func (x *FundingRate) Reset() { *x = FundingRate{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[46] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3790,7 +3790,7 @@ func (x *FundingRate) String() string { func (*FundingRate) ProtoMessage() {} func (x *FundingRate) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[46] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3803,7 +3803,7 @@ func (x *FundingRate) ProtoReflect() protoreflect.Message { // Deprecated: Use FundingRate.ProtoReflect.Descriptor instead. func (*FundingRate) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{46} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{46} } func (x *FundingRate) GetMarketId() string { @@ -3847,7 +3847,7 @@ type StreamPositionsRequest struct { func (x *StreamPositionsRequest) Reset() { *x = StreamPositionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[47] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3860,7 +3860,7 @@ func (x *StreamPositionsRequest) String() string { func (*StreamPositionsRequest) ProtoMessage() {} func (x *StreamPositionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[47] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3873,7 +3873,7 @@ func (x *StreamPositionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamPositionsRequest.ProtoReflect.Descriptor instead. func (*StreamPositionsRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{47} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{47} } func (x *StreamPositionsRequest) GetSubaccountId() string { @@ -3916,7 +3916,7 @@ type StreamPositionsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Updated Derivative Position + // Updated derivative Position Position *DerivativePosition `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"` // Operation timestamp in UNIX millis. Timestamp int64 `protobuf:"zigzag64,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` @@ -3925,7 +3925,7 @@ type StreamPositionsResponse struct { func (x *StreamPositionsResponse) Reset() { *x = StreamPositionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[48] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3938,7 +3938,7 @@ func (x *StreamPositionsResponse) String() string { func (*StreamPositionsResponse) ProtoMessage() {} func (x *StreamPositionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[48] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3951,7 +3951,7 @@ func (x *StreamPositionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamPositionsResponse.ProtoReflect.Descriptor instead. func (*StreamPositionsResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{48} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{48} } func (x *StreamPositionsResponse) GetPosition() *DerivativePosition { @@ -4010,7 +4010,7 @@ type StreamOrdersRequest struct { func (x *StreamOrdersRequest) Reset() { *x = StreamOrdersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[49] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4023,7 +4023,7 @@ func (x *StreamOrdersRequest) String() string { func (*StreamOrdersRequest) ProtoMessage() {} func (x *StreamOrdersRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[49] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4036,7 +4036,7 @@ func (x *StreamOrdersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrdersRequest.ProtoReflect.Descriptor instead. func (*StreamOrdersRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{49} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{49} } func (x *StreamOrdersRequest) GetMarketId() string { @@ -4153,7 +4153,7 @@ type StreamOrdersResponse struct { func (x *StreamOrdersResponse) Reset() { *x = StreamOrdersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[50] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4166,7 +4166,7 @@ func (x *StreamOrdersResponse) String() string { func (*StreamOrdersResponse) ProtoMessage() {} func (x *StreamOrdersResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[50] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4179,7 +4179,7 @@ func (x *StreamOrdersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrdersResponse.ProtoReflect.Descriptor instead. func (*StreamOrdersResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{50} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{50} } func (x *StreamOrdersResponse) GetOrder() *DerivativeLimitOrder { @@ -4243,7 +4243,7 @@ type TradesRequest struct { func (x *TradesRequest) Reset() { *x = TradesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[51] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4256,7 +4256,7 @@ func (x *TradesRequest) String() string { func (*TradesRequest) ProtoMessage() {} func (x *TradesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[51] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4269,7 +4269,7 @@ func (x *TradesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TradesRequest.ProtoReflect.Descriptor instead. func (*TradesRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{51} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{51} } func (x *TradesRequest) GetMarketId() string { @@ -4383,7 +4383,7 @@ type TradesResponse struct { func (x *TradesResponse) Reset() { *x = TradesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[52] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4396,7 +4396,7 @@ func (x *TradesResponse) String() string { func (*TradesResponse) ProtoMessage() {} func (x *TradesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[52] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4409,7 +4409,7 @@ func (x *TradesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TradesResponse.ProtoReflect.Descriptor instead. func (*TradesResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{52} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{52} } func (x *TradesResponse) GetTrades() []*DerivativeTrade { @@ -4462,7 +4462,7 @@ type DerivativeTrade struct { func (x *DerivativeTrade) Reset() { *x = DerivativeTrade{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[53] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4475,7 +4475,7 @@ func (x *DerivativeTrade) String() string { func (*DerivativeTrade) ProtoMessage() {} func (x *DerivativeTrade) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[53] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4488,7 +4488,7 @@ func (x *DerivativeTrade) ProtoReflect() protoreflect.Message { // Deprecated: Use DerivativeTrade.ProtoReflect.Descriptor instead. func (*DerivativeTrade) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{53} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{53} } func (x *DerivativeTrade) GetOrderHash() string { @@ -4600,7 +4600,7 @@ type PositionDelta struct { func (x *PositionDelta) Reset() { *x = PositionDelta{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[54] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4613,7 +4613,7 @@ func (x *PositionDelta) String() string { func (*PositionDelta) ProtoMessage() {} func (x *PositionDelta) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[54] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4626,7 +4626,7 @@ func (x *PositionDelta) ProtoReflect() protoreflect.Message { // Deprecated: Use PositionDelta.ProtoReflect.Descriptor instead. func (*PositionDelta) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{54} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{54} } func (x *PositionDelta) GetTradeDirection() string { @@ -4697,7 +4697,7 @@ type TradesV2Request struct { func (x *TradesV2Request) Reset() { *x = TradesV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[55] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4710,7 +4710,7 @@ func (x *TradesV2Request) String() string { func (*TradesV2Request) ProtoMessage() {} func (x *TradesV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[55] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4723,7 +4723,7 @@ func (x *TradesV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use TradesV2Request.ProtoReflect.Descriptor instead. func (*TradesV2Request) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{55} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{55} } func (x *TradesV2Request) GetMarketId() string { @@ -4837,7 +4837,7 @@ type TradesV2Response struct { func (x *TradesV2Response) Reset() { *x = TradesV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[56] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4850,7 +4850,7 @@ func (x *TradesV2Response) String() string { func (*TradesV2Response) ProtoMessage() {} func (x *TradesV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[56] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4863,7 +4863,7 @@ func (x *TradesV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use TradesV2Response.ProtoReflect.Descriptor instead. func (*TradesV2Response) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{56} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{56} } func (x *TradesV2Response) GetTrades() []*DerivativeTrade { @@ -4920,7 +4920,7 @@ type StreamTradesRequest struct { func (x *StreamTradesRequest) Reset() { *x = StreamTradesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[57] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4933,7 +4933,7 @@ func (x *StreamTradesRequest) String() string { func (*StreamTradesRequest) ProtoMessage() {} func (x *StreamTradesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[57] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4946,7 +4946,7 @@ func (x *StreamTradesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTradesRequest.ProtoReflect.Descriptor instead. func (*StreamTradesRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{57} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{57} } func (x *StreamTradesRequest) GetMarketId() string { @@ -5063,7 +5063,7 @@ type StreamTradesResponse struct { func (x *StreamTradesResponse) Reset() { *x = StreamTradesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[58] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5076,7 +5076,7 @@ func (x *StreamTradesResponse) String() string { func (*StreamTradesResponse) ProtoMessage() {} func (x *StreamTradesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[58] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5089,7 +5089,7 @@ func (x *StreamTradesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTradesResponse.ProtoReflect.Descriptor instead. func (*StreamTradesResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{58} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{58} } func (x *StreamTradesResponse) GetTrade() *DerivativeTrade { @@ -5153,7 +5153,7 @@ type StreamTradesV2Request struct { func (x *StreamTradesV2Request) Reset() { *x = StreamTradesV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[59] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5166,7 +5166,7 @@ func (x *StreamTradesV2Request) String() string { func (*StreamTradesV2Request) ProtoMessage() {} func (x *StreamTradesV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[59] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5179,7 +5179,7 @@ func (x *StreamTradesV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTradesV2Request.ProtoReflect.Descriptor instead. func (*StreamTradesV2Request) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{59} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{59} } func (x *StreamTradesV2Request) GetMarketId() string { @@ -5296,7 +5296,7 @@ type StreamTradesV2Response struct { func (x *StreamTradesV2Response) Reset() { *x = StreamTradesV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[60] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5309,7 +5309,7 @@ func (x *StreamTradesV2Response) String() string { func (*StreamTradesV2Response) ProtoMessage() {} func (x *StreamTradesV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[60] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5322,7 +5322,7 @@ func (x *StreamTradesV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTradesV2Response.ProtoReflect.Descriptor instead. func (*StreamTradesV2Response) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{60} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{60} } func (x *StreamTradesV2Response) GetTrade() *DerivativeTrade { @@ -5364,7 +5364,7 @@ type SubaccountOrdersListRequest struct { func (x *SubaccountOrdersListRequest) Reset() { *x = SubaccountOrdersListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[61] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5377,7 +5377,7 @@ func (x *SubaccountOrdersListRequest) String() string { func (*SubaccountOrdersListRequest) ProtoMessage() {} func (x *SubaccountOrdersListRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[61] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5390,7 +5390,7 @@ func (x *SubaccountOrdersListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SubaccountOrdersListRequest.ProtoReflect.Descriptor instead. func (*SubaccountOrdersListRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{61} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{61} } func (x *SubaccountOrdersListRequest) GetSubaccountId() string { @@ -5434,7 +5434,7 @@ type SubaccountOrdersListResponse struct { func (x *SubaccountOrdersListResponse) Reset() { *x = SubaccountOrdersListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[62] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5447,7 +5447,7 @@ func (x *SubaccountOrdersListResponse) String() string { func (*SubaccountOrdersListResponse) ProtoMessage() {} func (x *SubaccountOrdersListResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[62] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5460,7 +5460,7 @@ func (x *SubaccountOrdersListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SubaccountOrdersListResponse.ProtoReflect.Descriptor instead. func (*SubaccountOrdersListResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{62} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{62} } func (x *SubaccountOrdersListResponse) GetOrders() []*DerivativeLimitOrder { @@ -5499,7 +5499,7 @@ type SubaccountTradesListRequest struct { func (x *SubaccountTradesListRequest) Reset() { *x = SubaccountTradesListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[63] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5512,7 +5512,7 @@ func (x *SubaccountTradesListRequest) String() string { func (*SubaccountTradesListRequest) ProtoMessage() {} func (x *SubaccountTradesListRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[63] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5525,7 +5525,7 @@ func (x *SubaccountTradesListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SubaccountTradesListRequest.ProtoReflect.Descriptor instead. func (*SubaccountTradesListRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{63} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{63} } func (x *SubaccountTradesListRequest) GetSubaccountId() string { @@ -5582,7 +5582,7 @@ type SubaccountTradesListResponse struct { func (x *SubaccountTradesListResponse) Reset() { *x = SubaccountTradesListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[64] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5595,7 +5595,7 @@ func (x *SubaccountTradesListResponse) String() string { func (*SubaccountTradesListResponse) ProtoMessage() {} func (x *SubaccountTradesListResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[64] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5608,7 +5608,7 @@ func (x *SubaccountTradesListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SubaccountTradesListResponse.ProtoReflect.Descriptor instead. func (*SubaccountTradesListResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{64} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{64} } func (x *SubaccountTradesListResponse) GetTrades() []*DerivativeTrade { @@ -5658,7 +5658,7 @@ type OrdersHistoryRequest struct { func (x *OrdersHistoryRequest) Reset() { *x = OrdersHistoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[65] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5671,7 +5671,7 @@ func (x *OrdersHistoryRequest) String() string { func (*OrdersHistoryRequest) ProtoMessage() {} func (x *OrdersHistoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[65] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5684,7 +5684,7 @@ func (x *OrdersHistoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use OrdersHistoryRequest.ProtoReflect.Descriptor instead. func (*OrdersHistoryRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{65} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{65} } func (x *OrdersHistoryRequest) GetSubaccountId() string { @@ -5812,7 +5812,7 @@ type OrdersHistoryResponse struct { func (x *OrdersHistoryResponse) Reset() { *x = OrdersHistoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[66] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5825,7 +5825,7 @@ func (x *OrdersHistoryResponse) String() string { func (*OrdersHistoryResponse) ProtoMessage() {} func (x *OrdersHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[66] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5838,7 +5838,7 @@ func (x *OrdersHistoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use OrdersHistoryResponse.ProtoReflect.Descriptor instead. func (*OrdersHistoryResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{66} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{66} } func (x *OrdersHistoryResponse) GetOrders() []*DerivativeOrderHistory { @@ -5907,7 +5907,7 @@ type DerivativeOrderHistory struct { func (x *DerivativeOrderHistory) Reset() { *x = DerivativeOrderHistory{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[67] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5920,7 +5920,7 @@ func (x *DerivativeOrderHistory) String() string { func (*DerivativeOrderHistory) ProtoMessage() {} func (x *DerivativeOrderHistory) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[67] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5933,7 +5933,7 @@ func (x *DerivativeOrderHistory) ProtoReflect() protoreflect.Message { // Deprecated: Use DerivativeOrderHistory.ProtoReflect.Descriptor instead. func (*DerivativeOrderHistory) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{67} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{67} } func (x *DerivativeOrderHistory) GetOrderHash() string { @@ -6104,7 +6104,7 @@ type StreamOrdersHistoryRequest struct { func (x *StreamOrdersHistoryRequest) Reset() { *x = StreamOrdersHistoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[68] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6117,7 +6117,7 @@ func (x *StreamOrdersHistoryRequest) String() string { func (*StreamOrdersHistoryRequest) ProtoMessage() {} func (x *StreamOrdersHistoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[68] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6130,7 +6130,7 @@ func (x *StreamOrdersHistoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrdersHistoryRequest.ProtoReflect.Descriptor instead. func (*StreamOrdersHistoryRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{68} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{68} } func (x *StreamOrdersHistoryRequest) GetSubaccountId() string { @@ -6191,7 +6191,7 @@ type StreamOrdersHistoryResponse struct { func (x *StreamOrdersHistoryResponse) Reset() { *x = StreamOrdersHistoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[69] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6204,7 +6204,7 @@ func (x *StreamOrdersHistoryResponse) String() string { func (*StreamOrdersHistoryResponse) ProtoMessage() {} func (x *StreamOrdersHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[69] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6217,7 +6217,7 @@ func (x *StreamOrdersHistoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrdersHistoryResponse.ProtoReflect.Descriptor instead. func (*StreamOrdersHistoryResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{69} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{69} } func (x *StreamOrdersHistoryResponse) GetOrder() *DerivativeOrderHistory { @@ -6241,656 +6241,365 @@ func (x *StreamOrdersHistoryResponse) GetTimestamp() int64 { return 0 } -var File_injective_derivative_exchange_rpc_proto protoreflect.FileDescriptor +var File_goadesign_goagen_injective_derivative_exchange_rpc_proto protoreflect.FileDescriptor -var file_injective_derivative_exchange_rpc_proto_rawDesc = []byte{ - 0x0a, 0x27, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x21, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x7f, 0x0a, 0x0e, - 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, - 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x6e, - 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x44, - 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x22, 0x64, 0x0a, - 0x0f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x51, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x73, 0x22, 0xc9, 0x08, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, - 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 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, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, - 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, - 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, - 0x63, 0x6c, 0x65, 0x42, 0x61, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x61, 0x63, 0x6c, - 0x65, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, - 0x72, 0x61, 0x63, 0x6c, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, - 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6f, - 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, - 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, - 0x53, 0x63, 0x61, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x14, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x38, 0x0a, - 0x18, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x72, - 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x16, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x72, 0x67, - 0x69, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, - 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, - 0x6f, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x56, 0x0a, 0x10, 0x71, 0x75, 0x6f, 0x74, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, - 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, - 0x52, 0x0e, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, - 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, - 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x46, - 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x5f, - 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x74, 0x61, 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x14, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x5f, 0x66, 0x65, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x65, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, - 0x6c, 0x12, 0x2d, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, - 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, - 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x69, 0x63, - 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x6a, 0x0a, 0x15, 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, - 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x12, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, - 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x70, 0x65, - 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x73, 0x0a, 0x18, 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, - 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x16, - 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x46, - 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x77, 0x0a, 0x1a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, - 0x5f, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x45, - 0x78, 0x70, 0x69, 0x72, 0x79, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x17, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x46, 0x75, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, - 0xa0, 0x01, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 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, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, - 0x62, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, - 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, - 0x61, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x22, 0xdf, 0x01, 0x0a, 0x13, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, - 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x17, 0x68, 0x6f, - 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, - 0x65, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x68, 0x6f, 0x75, - 0x72, 0x6c, 0x79, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x43, 0x61, - 0x70, 0x12, 0x30, 0x0a, 0x14, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x12, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x52, - 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x75, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x14, 0x6e, 0x65, 0x78, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x75, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x76, 0x61, 0x6c, 0x22, 0x99, 0x01, 0x0a, 0x16, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, - 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, - 0x2d, 0x0a, 0x12, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x75, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x75, 0x6d, - 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x29, - 0x0a, 0x10, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x69, - 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x22, 0x77, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, - 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x14, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x13, 0x65, 0x78, 0x70, 0x69, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x29, - 0x0a, 0x10, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x69, - 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x2c, 0x0a, 0x0d, 0x4d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x61, 0x0a, 0x0e, 0x4d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x22, 0x34, 0x0a, 0x13, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, - 0x22, 0xac, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, +var file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDesc = []byte{ + 0x0a, 0x38, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x21, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, - 0x8d, 0x01, 0x0a, 0x1b, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x7f, 0x0a, + 0x0e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, - 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, - 0xb7, 0x01, 0x0a, 0x1c, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x54, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, - 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xfe, 0x05, 0x0a, 0x17, 0x42, 0x69, - 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 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, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, - 0x23, 0x0a, 0x0d, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x53, 0x79, - 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, - 0x72, 0x61, 0x63, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, - 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, - 0x0a, 0x13, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x66, - 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x72, 0x61, - 0x63, 0x6c, 0x65, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x31, - 0x0a, 0x14, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x13, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x12, 0x31, 0x0a, 0x14, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x13, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x64, 0x65, - 0x6e, 0x6f, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, - 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x56, 0x0a, 0x10, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0e, 0x71, - 0x75, 0x6f, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x24, 0x0a, - 0x0e, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, - 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, - 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, 0x6b, - 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x65, - 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x65, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x6d, - 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x69, - 0x63, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x69, - 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x51, - 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x22, 0x64, + 0x0a, 0x0f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x51, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x73, 0x22, 0xc9, 0x08, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 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, 0x23, 0x0a, 0x0d, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, + 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, + 0x61, 0x63, 0x6c, 0x65, 0x42, 0x61, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x61, 0x63, + 0x6c, 0x65, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, + 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, + 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x72, 0x61, 0x63, 0x6c, + 0x65, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x14, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x5f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x38, + 0x0a, 0x18, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x61, + 0x72, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x16, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x72, + 0x67, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, + 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, + 0x75, 0x6f, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x56, 0x0a, 0x10, 0x71, 0x75, 0x6f, + 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x52, 0x0e, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, + 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6b, 0x65, 0x72, + 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6b, 0x65, 0x72, + 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, + 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x65, 0x65, 0x12, + 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, + 0x61, 0x6c, 0x12, 0x2d, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, + 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x69, + 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x6a, 0x0a, 0x15, 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, + 0x75, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, + 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x70, + 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x73, 0x0a, 0x18, 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x5f, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, + 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, + 0x16, 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x77, 0x0a, 0x1a, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x79, 0x5f, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x17, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x46, + 0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 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, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, + 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, + 0x6d, 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, + 0x6d, 0x61, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x22, 0xdf, 0x01, 0x0a, 0x13, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, + 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x17, 0x68, + 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, + 0x74, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x68, 0x6f, + 0x75, 0x72, 0x6c, 0x79, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x43, + 0x61, 0x70, 0x12, 0x30, 0x0a, 0x14, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x12, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, + 0x52, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x75, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x14, 0x6e, 0x65, 0x78, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x99, 0x01, 0x0a, 0x16, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, + 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, + 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x75, + 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, + 0x29, 0x0a, 0x10, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x75, 0x6d, 0x75, 0x6c, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x22, 0x77, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x46, 0x75, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x14, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x13, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x74, 0x74, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, - 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, - 0x0e, 0x0a, 0x02, 0x74, 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, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x65, 0x78, 0x74, 0x22, 0x39, 0x0a, 0x1a, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 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, 0x22, 0x71, - 0x0a, 0x1b, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, - 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x22, 0x31, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x72, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, - 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x09, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, + 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x74, 0x74, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x2c, 0x0a, 0x0d, 0x4d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x61, 0x0a, 0x0e, 0x4d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x22, 0x34, 0x0a, 0x13, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, + 0x73, 0x22, 0xac, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x22, 0x8d, 0x01, 0x0a, 0x1b, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x64, + 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, + 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x22, 0xb7, 0x01, 0x0a, 0x1c, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x54, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, + 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xfe, 0x05, 0x0a, 0x17, 0x42, + 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 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, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, + 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x53, + 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1f, + 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x2e, 0x0a, 0x13, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, + 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x72, + 0x61, 0x63, 0x6c, 0x65, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, + 0x31, 0x0a, 0x14, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x13, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x12, 0x31, 0x0a, 0x14, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x13, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x64, + 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, + 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x56, 0x0a, 0x10, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0e, + 0x71, 0x75, 0x6f, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x24, + 0x0a, 0x0e, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, + 0x52, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, + 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, + 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x66, + 0x65, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x65, 0x65, 0x12, 0x2d, 0x0a, 0x13, + 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d, + 0x69, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x63, 0x6b, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x69, 0x6e, + 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x74, 0x74, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x06, + 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, + 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, + 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x65, 0x78, 0x74, 0x22, 0x39, 0x0a, 0x1a, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 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, 0x22, + 0x71, 0x0a, 0x1b, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, + 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0xde, 0x01, 0x0a, 0x1a, 0x44, 0x65, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x41, 0x0a, 0x04, 0x62, 0x75, 0x79, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x52, 0x04, 0x62, 0x75, 0x79, 0x73, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x65, - 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x73, 0x65, 0x6c, 0x6c, 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, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x72, 0x69, - 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x34, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x7b, 0x0a, - 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x69, - 0x6e, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x0a, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x20, 0x53, - 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 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, 0x5b, 0x0a, 0x09, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x22, 0x31, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, + 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x72, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x09, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0x39, 0x0a, 0x18, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x49, 0x64, 0x73, 0x22, 0xda, 0x01, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x12, - 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, - 0x64, 0x22, 0x3d, 0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, - 0x22, 0xf3, 0x01, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x70, 0x0a, 0x17, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, - 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x15, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0x83, 0x02, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 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, 0x1a, 0x0a, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x04, 0x62, 0x75, 0x79, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x04, 0x62, 0x75, - 0x79, 0x73, 0x12, 0x49, 0x0a, 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x1d, 0x0a, - 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x7f, 0x0a, 0x10, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc9, 0x03, - 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x1d, 0x0a, 0x0a, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, - 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, - 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x73, 0x43, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa4, 0x01, 0x0a, 0x0e, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, - 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, - 0x22, 0xd7, 0x05, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x49, 0x64, 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, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, - 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, - 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x66, - 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, - 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, - 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 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, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 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, 0x0e, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, - 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, - 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, - 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, - 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, - 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xdc, 0x02, 0x0a, 0x10, 0x50, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, - 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, - 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x11, 0x50, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x53, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, - 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, - 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xb0, 0x03, 0x0a, 0x12, 0x44, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, - 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x63, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x6c, - 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, - 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, - 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x1e, 0x61, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, - 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x1b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, - 0x4f, 0x6e, 0x6c, 0x79, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xde, 0x02, 0x0a, 0x12, 0x50, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, - 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xaf, 0x01, 0x0a, 0x13, - 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0xde, 0x01, 0x0a, 0x1a, 0x44, 0x65, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x41, 0x0a, 0x04, 0x62, 0x75, 0x79, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, - 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x04, 0x62, 0x75, 0x79, 0x73, 0x12, 0x43, 0x0a, 0x05, 0x73, + 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xe4, 0x02, - 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1b, - 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, - 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, - 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, - 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, - 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, - 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x63, 0x0a, 0x1a, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x62, - 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 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, - 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, - 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x72, 0x0a, 0x1b, 0x4c, 0x69, 0x71, - 0x75, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbe, 0x01, - 0x0a, 0x16, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, - 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, - 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, - 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xab, - 0x01, 0x0a, 0x17, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x08, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, - 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0x88, 0x01, 0x0a, - 0x0e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 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, 0x23, 0x0a, 0x0d, - 0x73, 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, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x77, 0x0a, 0x13, 0x46, 0x75, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x12, 0x0a, 0x04, 0x73, - 0x6b, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x22, 0xae, 0x01, 0x0a, 0x14, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0d, 0x66, 0x75, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, - 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x41, - 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x67, 0x22, 0x5c, 0x0a, 0x0b, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, + 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x73, 0x65, 0x6c, 0x6c, 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, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x34, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x7b, + 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, + 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x20, + 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 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, 0x12, 0x0a, - 0x04, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x61, 0x74, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, - 0xc9, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, - 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, - 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x17, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xcf, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x5b, 0x0a, + 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, + 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0x39, 0x0a, 0x18, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xda, 0x01, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, + 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, + 0x73, 0x22, 0xf3, 0x01, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x17, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, + 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x15, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0x83, 0x02, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 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, 0x1a, + 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x04, 0x62, 0x75, + 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x04, 0x62, + 0x75, 0x79, 0x73, 0x12, 0x49, 0x0a, 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x1d, + 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x7f, 0x0a, + 0x10, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc9, + 0x03, 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, @@ -6918,19 +6627,392 @@ var file_injective_derivative_exchange_rpc_proto_rawDesc = []byte{ 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x14, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa4, 0x01, 0x0a, 0x0e, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, + 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x41, + 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, + 0x67, 0x22, 0xd7, 0x05, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x49, 0x64, 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, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, + 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, + 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, + 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 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, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 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, 0x0e, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, + 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x74, 0x12, 0x2a, 0x0a, + 0x11, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, + 0x73, 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xdc, 0x02, 0x0a, 0x10, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x11, 0x50, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x53, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xb0, 0x03, 0x0a, 0x12, 0x44, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, + 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, + 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, + 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, + 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, + 0x61, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x1e, 0x61, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, + 0x79, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x1b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x64, 0x75, 0x63, + 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xde, 0x02, 0x0a, 0x12, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, + 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xaf, 0x01, 0x0a, + 0x13, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, + 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xe4, + 0x02, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, + 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, + 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, + 0x72, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x63, 0x0a, 0x1a, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, + 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 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, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, + 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x72, 0x0a, 0x1b, 0x4c, 0x69, + 0x71, 0x75, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x09, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbe, + 0x01, 0x0a, 0x16, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, + 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, + 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, + 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, + 0xab, 0x01, 0x0a, 0x17, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x08, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, + 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0x88, 0x01, + 0x0a, 0x0e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 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, 0x23, 0x0a, + 0x0d, 0x73, 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, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x77, 0x0a, 0x13, 0x46, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x12, 0x0a, 0x04, + 0x73, 0x6b, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, + 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x22, 0xae, 0x01, 0x0a, 0x14, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0d, 0x66, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, + 0x65, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, + 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x67, 0x22, 0x5c, 0x0a, 0x0b, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, + 0x65, 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, 0x12, + 0x0a, 0x04, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x61, + 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x22, 0xc9, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, + 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x8a, 0x01, 0x0a, + 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xcf, 0x03, 0x0a, 0x13, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 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, 0x1d, + 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, + 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x19, + 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x14, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xbf, 0x03, 0x0a, 0x0d, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, + 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x9f, 0x01, 0x0a, 0x0e, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, + 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, + 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, + 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xe8, 0x03, 0x0a, + 0x0f, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x12, 0x74, 0x72, 0x61, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4c, + 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0e, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xbf, 0x03, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x65, 0x6c, 0x74, 0x61, 0x52, 0x0d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, + 0x6c, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, + 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, + 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, + 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, + 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x0d, 0x50, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, + 0x64, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x61, 0x72, 0x67, 0x69, 0x6e, 0x22, 0xc1, 0x03, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, + 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, @@ -6957,559 +7039,478 @@ var file_injective_derivative_exchange_rpc_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x9f, 0x01, 0x0a, 0x0e, 0x54, 0x72, - 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x06, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, - 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, - 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, - 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xe8, 0x03, 0x0a, 0x0f, - 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, - 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, - 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4c, 0x69, - 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0e, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, - 0x6c, 0x74, 0x61, 0x52, 0x0d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, - 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, 0x0b, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, - 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, - 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, - 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x0d, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, - 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, - 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, - 0x72, 0x67, 0x69, 0x6e, 0x22, 0xc1, 0x03, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, - 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, - 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, - 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, - 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x10, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, - 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x10, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, + 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, + 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xc5, 0x03, + 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, + 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, + 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, + 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa5, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, + 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, - 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xc5, 0x03, 0x0a, - 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, - 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, - 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, - 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, - 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x63, 0x69, 0x64, 0x22, 0xa5, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, - 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, - 0x52, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc7, 0x03, 0x0a, - 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, - 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, - 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, - 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, - 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa7, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x48, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xb2, 0x01, 0x0a, - 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, - 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x41, - 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x67, 0x22, 0xce, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc7, 0x03, + 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, + 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, + 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa7, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x22, 0x6a, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, - 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x22, 0xfc, - 0x03, 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, - 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, - 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, - 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x6e, - 0x6c, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x63, - 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xad, 0x01, - 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xa9, 0x05, - 0x0a, 0x16, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xb2, 0x01, + 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, + 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, + 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x67, 0x22, 0xce, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x65, 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, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, - 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, - 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, - 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, 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, - 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, - 0x6c, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, 0x75, - 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, - 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, - 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, - 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x17, - 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x15, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xdc, 0x01, 0x0a, 0x1a, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, + 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x22, 0x6a, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x22, + 0xfc, 0x03, 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x1b, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x32, 0xc4, - 0x1a, 0x0a, 0x1e, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x50, - 0x43, 0x12, 0x70, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x06, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x30, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, + 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, + 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, + 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, + 0x6e, 0x6c, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x63, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xad, + 0x01, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x97, 0x01, 0x0a, 0x14, 0x42, 0x69, 0x6e, 0x61, 0x72, - 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, - 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x94, 0x01, 0x0a, 0x13, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xa9, + 0x05, 0x0a, 0x16, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x65, 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, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, + 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, 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, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, + 0x6e, 0x6c, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, + 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, + 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, + 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, + 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, + 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xdc, 0x01, 0x0a, 0x1a, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, + 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x1b, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x05, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x32, + 0xc4, 0x1a, 0x0a, 0x1e, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, + 0x50, 0x43, 0x12, 0x70, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x31, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x06, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x30, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x97, 0x01, 0x0a, 0x14, 0x42, 0x69, 0x6e, 0x61, + 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, + 0x12, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x94, 0x01, 0x0a, 0x13, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, + 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, - 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x0c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x0c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, - 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, + 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x90, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x3b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x90, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x3b, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, - 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9c, 0x01, 0x0a, 0x15, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x12, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, + 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9c, 0x01, 0x0a, 0x15, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x6d, 0x0a, 0x06, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, - 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x09, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x7c, 0x0a, 0x0b, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, 0x35, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x6d, 0x0a, 0x06, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x09, 0x50, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x94, 0x01, - 0x0a, 0x13, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x7c, 0x0a, 0x0b, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, + 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x94, + 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x71, 0x75, 0x69, + 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, - 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x88, 0x01, 0x0a, 0x0f, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, - 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x88, 0x01, 0x0a, 0x0f, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x7f, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, + 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x7f, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, + 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x81, + 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x8a, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x81, 0x01, - 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x36, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x12, 0x6d, 0x0a, 0x06, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x73, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x32, 0x2e, 0x69, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x30, 0x01, 0x12, 0x6d, 0x0a, 0x06, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, + 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x87, 0x01, 0x0a, 0x0e, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x38, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x30, 0x01, 0x12, 0x97, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x97, 0x01, - 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, - 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, - 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x96, 0x01, 0x0a, - 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, - 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, + 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x73, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x32, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x87, 0x01, 0x0a, 0x0e, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x38, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x30, 0x01, 0x12, 0x97, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x97, + 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x0d, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x37, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, 0x26, 0x5a, 0x24, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x96, 0x01, + 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, 0x26, 0x5a, 0x24, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_injective_derivative_exchange_rpc_proto_rawDescOnce sync.Once - file_injective_derivative_exchange_rpc_proto_rawDescData = file_injective_derivative_exchange_rpc_proto_rawDesc + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescData = file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDesc ) -func file_injective_derivative_exchange_rpc_proto_rawDescGZIP() []byte { - file_injective_derivative_exchange_rpc_proto_rawDescOnce.Do(func() { - file_injective_derivative_exchange_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_derivative_exchange_rpc_proto_rawDescData) +func file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescData) }) - return file_injective_derivative_exchange_rpc_proto_rawDescData + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescData } -var file_injective_derivative_exchange_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 70) -var file_injective_derivative_exchange_rpc_proto_goTypes = []interface{}{ +var file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 70) +var file_goadesign_goagen_injective_derivative_exchange_rpc_proto_goTypes = []interface{}{ (*MarketsRequest)(nil), // 0: injective_derivative_exchange_rpc.MarketsRequest (*MarketsResponse)(nil), // 1: injective_derivative_exchange_rpc.MarketsResponse (*DerivativeMarketInfo)(nil), // 2: injective_derivative_exchange_rpc.DerivativeMarketInfo @@ -7581,7 +7582,7 @@ var file_injective_derivative_exchange_rpc_proto_goTypes = []interface{}{ (*StreamOrdersHistoryRequest)(nil), // 68: injective_derivative_exchange_rpc.StreamOrdersHistoryRequest (*StreamOrdersHistoryResponse)(nil), // 69: injective_derivative_exchange_rpc.StreamOrdersHistoryResponse } -var file_injective_derivative_exchange_rpc_proto_depIdxs = []int32{ +var file_goadesign_goagen_injective_derivative_exchange_rpc_proto_depIdxs = []int32{ 2, // 0: injective_derivative_exchange_rpc.MarketsResponse.markets:type_name -> injective_derivative_exchange_rpc.DerivativeMarketInfo 3, // 1: injective_derivative_exchange_rpc.DerivativeMarketInfo.quote_token_meta:type_name -> injective_derivative_exchange_rpc.TokenMeta 4, // 2: injective_derivative_exchange_rpc.DerivativeMarketInfo.perpetual_market_info:type_name -> injective_derivative_exchange_rpc.PerpetualMarketInfo @@ -7685,13 +7686,13 @@ var file_injective_derivative_exchange_rpc_proto_depIdxs = []int32{ 0, // [0:46] is the sub-list for field type_name } -func init() { file_injective_derivative_exchange_rpc_proto_init() } -func file_injective_derivative_exchange_rpc_proto_init() { - if File_injective_derivative_exchange_rpc_proto != nil { +func init() { file_goadesign_goagen_injective_derivative_exchange_rpc_proto_init() } +func file_goadesign_goagen_injective_derivative_exchange_rpc_proto_init() { + if File_goadesign_goagen_injective_derivative_exchange_rpc_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_injective_derivative_exchange_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MarketsRequest); i { case 0: return &v.state @@ -7703,7 +7704,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MarketsResponse); i { case 0: return &v.state @@ -7715,7 +7716,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DerivativeMarketInfo); i { case 0: return &v.state @@ -7727,7 +7728,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenMeta); i { case 0: return &v.state @@ -7739,7 +7740,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerpetualMarketInfo); i { case 0: return &v.state @@ -7751,7 +7752,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerpetualMarketFunding); i { case 0: return &v.state @@ -7763,7 +7764,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExpiryFuturesMarketInfo); i { case 0: return &v.state @@ -7775,7 +7776,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MarketRequest); i { case 0: return &v.state @@ -7787,7 +7788,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MarketResponse); i { case 0: return &v.state @@ -7799,7 +7800,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamMarketRequest); i { case 0: return &v.state @@ -7811,7 +7812,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamMarketResponse); i { case 0: return &v.state @@ -7823,7 +7824,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BinaryOptionsMarketsRequest); i { case 0: return &v.state @@ -7835,7 +7836,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BinaryOptionsMarketsResponse); i { case 0: return &v.state @@ -7847,7 +7848,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BinaryOptionsMarketInfo); i { case 0: return &v.state @@ -7859,7 +7860,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Paging); i { case 0: return &v.state @@ -7871,7 +7872,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BinaryOptionsMarketRequest); i { case 0: return &v.state @@ -7883,7 +7884,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BinaryOptionsMarketResponse); i { case 0: return &v.state @@ -7895,7 +7896,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbookV2Request); i { case 0: return &v.state @@ -7907,7 +7908,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbookV2Response); i { case 0: return &v.state @@ -7919,7 +7920,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DerivativeLimitOrderbookV2); i { case 0: return &v.state @@ -7931,7 +7932,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PriceLevel); i { case 0: return &v.state @@ -7943,7 +7944,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbooksV2Request); i { case 0: return &v.state @@ -7955,7 +7956,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbooksV2Response); i { case 0: return &v.state @@ -7967,7 +7968,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SingleDerivativeLimitOrderbookV2); i { case 0: return &v.state @@ -7979,7 +7980,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrderbookV2Request); i { case 0: return &v.state @@ -7991,7 +7992,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrderbookV2Response); i { case 0: return &v.state @@ -8003,7 +8004,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrderbookUpdateRequest); i { case 0: return &v.state @@ -8015,7 +8016,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrderbookUpdateResponse); i { case 0: return &v.state @@ -8027,7 +8028,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbookLevelUpdates); i { case 0: return &v.state @@ -8039,7 +8040,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PriceLevelUpdate); i { case 0: return &v.state @@ -8051,7 +8052,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrdersRequest); i { case 0: return &v.state @@ -8063,7 +8064,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrdersResponse); i { case 0: return &v.state @@ -8075,7 +8076,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DerivativeLimitOrder); i { case 0: return &v.state @@ -8087,7 +8088,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PositionsRequest); i { case 0: return &v.state @@ -8099,7 +8100,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PositionsResponse); i { case 0: return &v.state @@ -8111,7 +8112,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DerivativePosition); i { case 0: return &v.state @@ -8123,7 +8124,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PositionsV2Request); i { case 0: return &v.state @@ -8135,7 +8136,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PositionsV2Response); i { case 0: return &v.state @@ -8147,7 +8148,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DerivativePositionV2); i { case 0: return &v.state @@ -8159,7 +8160,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LiquidablePositionsRequest); i { case 0: return &v.state @@ -8171,7 +8172,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LiquidablePositionsResponse); i { case 0: return &v.state @@ -8183,7 +8184,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FundingPaymentsRequest); i { case 0: return &v.state @@ -8195,7 +8196,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FundingPaymentsResponse); i { case 0: return &v.state @@ -8207,7 +8208,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FundingPayment); i { case 0: return &v.state @@ -8219,7 +8220,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FundingRatesRequest); i { case 0: return &v.state @@ -8231,7 +8232,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FundingRatesResponse); i { case 0: return &v.state @@ -8243,7 +8244,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FundingRate); i { case 0: return &v.state @@ -8255,7 +8256,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamPositionsRequest); i { case 0: return &v.state @@ -8267,7 +8268,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamPositionsResponse); i { case 0: return &v.state @@ -8279,7 +8280,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrdersRequest); i { case 0: return &v.state @@ -8291,7 +8292,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrdersResponse); i { case 0: return &v.state @@ -8303,7 +8304,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TradesRequest); i { case 0: return &v.state @@ -8315,7 +8316,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TradesResponse); i { case 0: return &v.state @@ -8327,7 +8328,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DerivativeTrade); i { case 0: return &v.state @@ -8339,7 +8340,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PositionDelta); i { case 0: return &v.state @@ -8351,7 +8352,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TradesV2Request); i { case 0: return &v.state @@ -8363,7 +8364,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TradesV2Response); i { case 0: return &v.state @@ -8375,7 +8376,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTradesRequest); i { case 0: return &v.state @@ -8387,7 +8388,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTradesResponse); i { case 0: return &v.state @@ -8399,7 +8400,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTradesV2Request); i { case 0: return &v.state @@ -8411,7 +8412,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTradesV2Response); i { case 0: return &v.state @@ -8423,7 +8424,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubaccountOrdersListRequest); i { case 0: return &v.state @@ -8435,7 +8436,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubaccountOrdersListResponse); i { case 0: return &v.state @@ -8447,7 +8448,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubaccountTradesListRequest); i { case 0: return &v.state @@ -8459,7 +8460,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubaccountTradesListResponse); i { case 0: return &v.state @@ -8471,7 +8472,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrdersHistoryRequest); i { case 0: return &v.state @@ -8483,7 +8484,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrdersHistoryResponse); i { case 0: return &v.state @@ -8495,7 +8496,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DerivativeOrderHistory); i { case 0: return &v.state @@ -8507,7 +8508,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrdersHistoryRequest); i { case 0: return &v.state @@ -8519,7 +8520,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrdersHistoryResponse); i { case 0: return &v.state @@ -8536,18 +8537,18 @@ func file_injective_derivative_exchange_rpc_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_derivative_exchange_rpc_proto_rawDesc, + RawDescriptor: file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDesc, NumEnums: 0, NumMessages: 70, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_injective_derivative_exchange_rpc_proto_goTypes, - DependencyIndexes: file_injective_derivative_exchange_rpc_proto_depIdxs, - MessageInfos: file_injective_derivative_exchange_rpc_proto_msgTypes, + GoTypes: file_goadesign_goagen_injective_derivative_exchange_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_derivative_exchange_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes, }.Build() - File_injective_derivative_exchange_rpc_proto = out.File - file_injective_derivative_exchange_rpc_proto_rawDesc = nil - file_injective_derivative_exchange_rpc_proto_goTypes = nil - file_injective_derivative_exchange_rpc_proto_depIdxs = nil + File_goadesign_goagen_injective_derivative_exchange_rpc_proto = out.File + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_depIdxs = nil } diff --git a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.proto b/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.proto similarity index 99% rename from exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.proto rename to exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.proto index 6ebed93d..38828579 100644 --- a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.proto +++ b/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveDerivativeExchangeRPC protocol buffer definition // @@ -670,7 +670,7 @@ message StreamPositionsRequest { } message StreamPositionsResponse { - // Updated Derivative Position + // Updated derivative Position DerivativePosition position = 1; // Operation timestamp in UNIX millis. sint64 timestamp = 2; diff --git a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc_grpc.pb.go b/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc_grpc.pb.go similarity index 99% rename from exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc_grpc.pb.go rename to exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc_grpc.pb.go index 6fdb5942..7ebc3c29 100644 --- a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc_grpc.pb.go +++ b/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_derivative_exchange_rpc.proto package injective_derivative_exchange_rpcpb @@ -1233,5 +1237,5 @@ var InjectiveDerivativeExchangeRPC_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, }, - Metadata: "injective_derivative_exchange_rpc.proto", + Metadata: "goadesign_goagen_injective_derivative_exchange_rpc.proto", } diff --git a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.pb.gw.go b/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.pb.gw.go index 181b7657..952d119a 100644 --- a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.pb.gw.go +++ b/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.pb.gw.go @@ -821,20 +821,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Markets_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Markets_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Markets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Markets_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -844,20 +846,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Market", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Market")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Market", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Market")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Market_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Market_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Market_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Market_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -874,20 +878,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_BinaryOptionsMarkets_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_BinaryOptionsMarkets_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_BinaryOptionsMarkets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_BinaryOptionsMarkets_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -897,20 +903,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarket", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarket")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarket", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarket")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_BinaryOptionsMarket_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_BinaryOptionsMarket_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_BinaryOptionsMarket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_BinaryOptionsMarket_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -920,20 +928,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbookV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbookV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbookV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbookV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_OrderbookV2_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_OrderbookV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_OrderbookV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_OrderbookV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -943,20 +953,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbooksV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbooksV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbooksV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbooksV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_OrderbooksV2_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_OrderbooksV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_OrderbooksV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_OrderbooksV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -980,20 +992,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Orders_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Orders_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Orders_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Orders_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1003,20 +1017,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Positions_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Positions_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Positions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Positions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1026,20 +1042,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/PositionsV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/PositionsV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/PositionsV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/PositionsV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_PositionsV2_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_PositionsV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_PositionsV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_PositionsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1049,20 +1067,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/LiquidablePositions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/LiquidablePositions")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/LiquidablePositions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/LiquidablePositions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_LiquidablePositions_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_LiquidablePositions_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_LiquidablePositions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_LiquidablePositions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1072,20 +1092,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_FundingPayments_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_FundingPayments_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_FundingPayments_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_FundingPayments_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1095,20 +1117,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingRates", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingRates")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingRates", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingRates")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_FundingRates_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_FundingRates_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_FundingRates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_FundingRates_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1132,20 +1156,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Trades_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Trades_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Trades_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Trades_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1155,20 +1181,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/TradesV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/TradesV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/TradesV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/TradesV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_TradesV2_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_TradesV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_TradesV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_TradesV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1192,20 +1220,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountOrdersList", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountOrdersList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountOrdersList", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountOrdersList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_SubaccountOrdersList_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_SubaccountOrdersList_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_SubaccountOrdersList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_SubaccountOrdersList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1215,20 +1245,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountTradesList", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountTradesList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountTradesList", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountTradesList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_SubaccountTradesList_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_SubaccountTradesList_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_SubaccountTradesList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_SubaccountTradesList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1238,20 +1270,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_OrdersHistory_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_OrdersHistory_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_OrdersHistory_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_OrdersHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1307,19 +1341,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_Markets_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_Markets_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Markets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Markets_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1327,19 +1363,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Market", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Market")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Market", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Market")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_Market_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_Market_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Market_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Market_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1347,19 +1385,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamMarket", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamMarket")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamMarket", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamMarket")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamMarket_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamMarket_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_StreamMarket_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_StreamMarket_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1367,19 +1407,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_BinaryOptionsMarkets_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_BinaryOptionsMarkets_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_BinaryOptionsMarkets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_BinaryOptionsMarkets_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1387,19 +1429,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarket", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarket")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarket", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarket")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_BinaryOptionsMarket_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_BinaryOptionsMarket_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_BinaryOptionsMarket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_BinaryOptionsMarket_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1407,19 +1451,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbookV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbookV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbookV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbookV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_OrderbookV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_OrderbookV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_OrderbookV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_OrderbookV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1427,19 +1473,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbooksV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbooksV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbooksV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbooksV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_OrderbooksV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_OrderbooksV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_OrderbooksV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_OrderbooksV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1447,19 +1495,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamOrderbookV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamOrderbookV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_StreamOrderbookV2_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_StreamOrderbookV2_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1467,19 +1517,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookUpdate", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookUpdate")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookUpdate", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookUpdate")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamOrderbookUpdate_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamOrderbookUpdate_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_StreamOrderbookUpdate_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_StreamOrderbookUpdate_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1487,19 +1539,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_Orders_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_Orders_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Orders_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Orders_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1507,19 +1561,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_Positions_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_Positions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Positions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Positions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1527,19 +1583,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/PositionsV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/PositionsV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/PositionsV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/PositionsV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_PositionsV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_PositionsV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_PositionsV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_PositionsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1547,19 +1605,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/LiquidablePositions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/LiquidablePositions")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/LiquidablePositions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/LiquidablePositions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_LiquidablePositions_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_LiquidablePositions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_LiquidablePositions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_LiquidablePositions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1567,19 +1627,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_FundingPayments_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_FundingPayments_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_FundingPayments_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_FundingPayments_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1587,19 +1649,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingRates", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingRates")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingRates", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingRates")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_FundingRates_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_FundingRates_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_FundingRates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_FundingRates_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1607,19 +1671,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamPositions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamPositions")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamPositions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamPositions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamPositions_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamPositions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_StreamPositions_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_StreamPositions_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1627,19 +1693,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrders", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrders")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrders", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrders")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamOrders_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamOrders_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_StreamOrders_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_StreamOrders_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1647,19 +1715,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_Trades_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_Trades_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Trades_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Trades_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1667,19 +1737,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/TradesV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/TradesV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/TradesV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/TradesV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_TradesV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_TradesV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_TradesV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_TradesV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1687,19 +1759,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTrades", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTrades")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTrades", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTrades")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamTrades_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamTrades_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_StreamTrades_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_StreamTrades_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1707,19 +1781,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTradesV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTradesV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTradesV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTradesV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamTradesV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamTradesV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_StreamTradesV2_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_StreamTradesV2_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1727,19 +1803,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountOrdersList", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountOrdersList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountOrdersList", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountOrdersList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_SubaccountOrdersList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_SubaccountOrdersList_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_SubaccountOrdersList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_SubaccountOrdersList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1747,19 +1825,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountTradesList", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountTradesList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountTradesList", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountTradesList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_SubaccountTradesList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_SubaccountTradesList_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_SubaccountTradesList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_SubaccountTradesList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1767,19 +1847,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_OrdersHistory_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_OrdersHistory_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_OrdersHistory_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_OrdersHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1787,19 +1869,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrdersHistory", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrdersHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrdersHistory", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrdersHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamOrdersHistory_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamOrdersHistory_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_StreamOrdersHistory_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_StreamOrdersHistory_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) diff --git a/exchange/exchange_rpc/pb/injective_exchange_rpc.pb.go b/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc.pb.go similarity index 62% rename from exchange/exchange_rpc/pb/injective_exchange_rpc.pb.go rename to exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc.pb.go index 8903d4ed..70064bb9 100644 --- a/exchange/exchange_rpc/pb/injective_exchange_rpc.pb.go +++ b/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc.pb.go @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveExchangeRPC protocol buffer definition // @@ -8,8 +8,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_exchange_rpc.proto +// protoc v4.25.3 +// source: goadesign_goagen_injective_exchange_rpc.proto package injective_exchange_rpcpb @@ -39,7 +39,7 @@ type GetTxRequest struct { func (x *GetTxRequest) Reset() { *x = GetTxRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52,7 +52,7 @@ func (x *GetTxRequest) String() string { func (*GetTxRequest) ProtoMessage() {} func (x *GetTxRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -65,7 +65,7 @@ func (x *GetTxRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTxRequest.ProtoReflect.Descriptor instead. func (*GetTxRequest) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{0} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{0} } func (x *GetTxRequest) GetHash() string { @@ -102,7 +102,7 @@ type GetTxResponse struct { func (x *GetTxResponse) Reset() { *x = GetTxResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -115,7 +115,7 @@ func (x *GetTxResponse) String() string { func (*GetTxResponse) ProtoMessage() {} func (x *GetTxResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -128,7 +128,7 @@ func (x *GetTxResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTxResponse.ProtoReflect.Descriptor instead. func (*GetTxResponse) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{1} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{1} } func (x *GetTxResponse) GetTxHash() string { @@ -196,7 +196,7 @@ type PrepareTxRequest struct { ChainId uint64 `protobuf:"varint,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` // Specify Ethereum address of a signer SignerAddress string `protobuf:"bytes,2,opt,name=signer_address,json=signerAddress,proto3" json:"signer_address,omitempty"` - // Account sequence number (nonce) of signer + // Deprecated: this field is ignored Sequence uint64 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"` // Textual memo information to attach with tx Memo string `protobuf:"bytes,4,opt,name=memo,proto3" json:"memo,omitempty"` @@ -211,7 +211,7 @@ type PrepareTxRequest struct { func (x *PrepareTxRequest) Reset() { *x = PrepareTxRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -224,7 +224,7 @@ func (x *PrepareTxRequest) String() string { func (*PrepareTxRequest) ProtoMessage() {} func (x *PrepareTxRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -237,7 +237,7 @@ func (x *PrepareTxRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PrepareTxRequest.ProtoReflect.Descriptor instead. func (*PrepareTxRequest) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{2} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{2} } func (x *PrepareTxRequest) GetChainId() uint64 { @@ -306,7 +306,7 @@ type CosmosTxFee struct { func (x *CosmosTxFee) Reset() { *x = CosmosTxFee{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -319,7 +319,7 @@ func (x *CosmosTxFee) String() string { func (*CosmosTxFee) ProtoMessage() {} func (x *CosmosTxFee) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -332,7 +332,7 @@ func (x *CosmosTxFee) ProtoReflect() protoreflect.Message { // Deprecated: Use CosmosTxFee.ProtoReflect.Descriptor instead. func (*CosmosTxFee) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{3} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{3} } func (x *CosmosTxFee) GetPrice() []*CosmosCoin { @@ -370,7 +370,7 @@ type CosmosCoin struct { func (x *CosmosCoin) Reset() { *x = CosmosCoin{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -383,7 +383,7 @@ func (x *CosmosCoin) String() string { func (*CosmosCoin) ProtoMessage() {} func (x *CosmosCoin) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -396,7 +396,7 @@ func (x *CosmosCoin) ProtoReflect() protoreflect.Message { // Deprecated: Use CosmosCoin.ProtoReflect.Descriptor instead. func (*CosmosCoin) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{4} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{4} } func (x *CosmosCoin) GetDenom() string { @@ -435,7 +435,7 @@ type PrepareTxResponse struct { func (x *PrepareTxResponse) Reset() { *x = PrepareTxResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -448,7 +448,7 @@ func (x *PrepareTxResponse) String() string { func (*PrepareTxResponse) ProtoMessage() {} func (x *PrepareTxResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -461,7 +461,7 @@ func (x *PrepareTxResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PrepareTxResponse.ProtoReflect.Descriptor instead. func (*PrepareTxResponse) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{5} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{5} } func (x *PrepareTxResponse) GetData() string { @@ -532,7 +532,7 @@ type BroadcastTxRequest struct { func (x *BroadcastTxRequest) Reset() { *x = BroadcastTxRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -545,7 +545,7 @@ func (x *BroadcastTxRequest) String() string { func (*BroadcastTxRequest) ProtoMessage() {} func (x *BroadcastTxRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -558,7 +558,7 @@ func (x *BroadcastTxRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BroadcastTxRequest.ProtoReflect.Descriptor instead. func (*BroadcastTxRequest) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{6} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{6} } func (x *BroadcastTxRequest) GetChainId() uint64 { @@ -631,7 +631,7 @@ type CosmosPubKey struct { func (x *CosmosPubKey) Reset() { *x = CosmosPubKey{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -644,7 +644,7 @@ func (x *CosmosPubKey) String() string { func (*CosmosPubKey) ProtoMessage() {} func (x *CosmosPubKey) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -657,7 +657,7 @@ func (x *CosmosPubKey) ProtoReflect() protoreflect.Message { // Deprecated: Use CosmosPubKey.ProtoReflect.Descriptor instead. func (*CosmosPubKey) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{7} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{7} } func (x *CosmosPubKey) GetType() string { @@ -701,7 +701,7 @@ type BroadcastTxResponse struct { func (x *BroadcastTxResponse) Reset() { *x = BroadcastTxResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -714,7 +714,7 @@ func (x *BroadcastTxResponse) String() string { func (*BroadcastTxResponse) ProtoMessage() {} func (x *BroadcastTxResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -727,7 +727,7 @@ func (x *BroadcastTxResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BroadcastTxResponse.ProtoReflect.Descriptor instead. func (*BroadcastTxResponse) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{8} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{8} } func (x *BroadcastTxResponse) GetTxHash() string { @@ -808,7 +808,7 @@ type PrepareCosmosTxRequest struct { func (x *PrepareCosmosTxRequest) Reset() { *x = PrepareCosmosTxRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -821,7 +821,7 @@ func (x *PrepareCosmosTxRequest) String() string { func (*PrepareCosmosTxRequest) ProtoMessage() {} func (x *PrepareCosmosTxRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -834,7 +834,7 @@ func (x *PrepareCosmosTxRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PrepareCosmosTxRequest.ProtoReflect.Descriptor instead. func (*PrepareCosmosTxRequest) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{9} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{9} } func (x *PrepareCosmosTxRequest) GetChainId() uint64 { @@ -901,7 +901,7 @@ type PrepareCosmosTxResponse struct { func (x *PrepareCosmosTxResponse) Reset() { *x = PrepareCosmosTxResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -914,7 +914,7 @@ func (x *PrepareCosmosTxResponse) String() string { func (*PrepareCosmosTxResponse) ProtoMessage() {} func (x *PrepareCosmosTxResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -927,7 +927,7 @@ func (x *PrepareCosmosTxResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PrepareCosmosTxResponse.ProtoReflect.Descriptor instead. func (*PrepareCosmosTxResponse) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{10} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{10} } func (x *PrepareCosmosTxResponse) GetTx() []byte { @@ -990,7 +990,7 @@ type BroadcastCosmosTxRequest struct { func (x *BroadcastCosmosTxRequest) Reset() { *x = BroadcastCosmosTxRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1003,7 +1003,7 @@ func (x *BroadcastCosmosTxRequest) String() string { func (*BroadcastCosmosTxRequest) ProtoMessage() {} func (x *BroadcastCosmosTxRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1016,7 +1016,7 @@ func (x *BroadcastCosmosTxRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BroadcastCosmosTxRequest.ProtoReflect.Descriptor instead. func (*BroadcastCosmosTxRequest) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{11} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{11} } func (x *BroadcastCosmosTxRequest) GetTx() []byte { @@ -1074,7 +1074,7 @@ type BroadcastCosmosTxResponse struct { func (x *BroadcastCosmosTxResponse) Reset() { *x = BroadcastCosmosTxResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1087,7 +1087,7 @@ func (x *BroadcastCosmosTxResponse) String() string { func (*BroadcastCosmosTxResponse) ProtoMessage() {} func (x *BroadcastCosmosTxResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1100,7 +1100,7 @@ func (x *BroadcastCosmosTxResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BroadcastCosmosTxResponse.ProtoReflect.Descriptor instead. func (*BroadcastCosmosTxResponse) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{12} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{12} } func (x *BroadcastCosmosTxResponse) GetTxHash() string { @@ -1168,7 +1168,7 @@ type GetFeePayerRequest struct { func (x *GetFeePayerRequest) Reset() { *x = GetFeePayerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1181,7 +1181,7 @@ func (x *GetFeePayerRequest) String() string { func (*GetFeePayerRequest) ProtoMessage() {} func (x *GetFeePayerRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1194,7 +1194,7 @@ func (x *GetFeePayerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetFeePayerRequest.ProtoReflect.Descriptor instead. func (*GetFeePayerRequest) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{13} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{13} } type GetFeePayerResponse struct { @@ -1211,7 +1211,7 @@ type GetFeePayerResponse struct { func (x *GetFeePayerResponse) Reset() { *x = GetFeePayerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1224,7 +1224,7 @@ func (x *GetFeePayerResponse) String() string { func (*GetFeePayerResponse) ProtoMessage() {} func (x *GetFeePayerResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1237,7 +1237,7 @@ func (x *GetFeePayerResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetFeePayerResponse.ProtoReflect.Descriptor instead. func (*GetFeePayerResponse) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{14} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{14} } func (x *GetFeePayerResponse) GetFeePayer() string { @@ -1254,226 +1254,227 @@ func (x *GetFeePayerResponse) GetFeePayerPubKey() *CosmosPubKey { return nil } -var File_injective_exchange_rpc_proto protoreflect.FileDescriptor - -var file_injective_exchange_rpc_proto_rawDesc = []byte{ - 0x0a, 0x1c, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x22, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x54, 0x78, 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, 0xd3, 0x01, 0x0a, 0x0d, 0x47, - 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, - 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, - 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x61, 0x77, - 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x77, 0x4c, - 0x6f, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x22, 0xf6, 0x01, 0x0a, 0x10, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x78, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, - 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, - 0x41, 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, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x35, - 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x46, 0x65, 0x65, - 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x22, 0x7c, 0x0a, 0x0b, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x46, 0x65, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x05, 0x70, 0x72, 0x69, - 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x03, 0x67, 0x61, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x5f, 0x66, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 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, 0xc3, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, - 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, 0x67, - 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, - 0x67, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, - 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x75, - 0x62, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, - 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, - 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, - 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x65, - 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x67, 0x22, 0x85, 0x02, 0x0a, 0x12, 0x42, 0x72, - 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x74, - 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x6d, - 0x73, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x12, - 0x3d, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x1c, - 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, - 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, - 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x67, 0x12, 0x12, 0x0a, - 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, - 0x65, 0x22, 0x34, 0x0a, 0x0c, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, - 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0xd9, 0x01, 0x0a, 0x13, 0x42, 0x72, 0x6f, 0x61, - 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, - 0x72, 0x61, 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, - 0x61, 0x77, 0x4c, 0x6f, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x22, 0xe0, 0x01, 0x0a, 0x16, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x43, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, - 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, - 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x35, 0x0a, 0x03, 0x66, - 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, +var File_goadesign_goagen_injective_exchange_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_exchange_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x16, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x22, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x54, 0x78, + 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, 0xd3, 0x01, 0x0a, 0x0d, + 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, + 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x61, + 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x77, + 0x4c, 0x6f, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x22, 0xf6, 0x01, 0x0a, 0x10, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x78, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, + 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x72, 0x41, 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, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, + 0x35, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x46, 0x65, + 0x65, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x22, 0x7c, 0x0a, 0x0b, 0x43, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x46, 0x65, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x70, 0x72, 0x69, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x46, 0x65, 0x65, 0x52, 0x03, 0x66, - 0x65, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0c, - 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x17, 0x50, 0x72, 0x65, 0x70, 0x61, - 0x72, 0x65, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, - 0x74, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, - 0x20, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x22, - 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x53, - 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, - 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, 0x62, - 0x4b, 0x65, 0x79, 0x52, 0x0e, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x50, 0x75, 0x62, - 0x4b, 0x65, 0x79, 0x22, 0xae, 0x01, 0x0a, 0x18, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, - 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 0x78, - 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x05, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x03, 0x67, 0x61, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 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, 0xc3, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, + 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, + 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, + 0x67, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, + 0x69, 0x67, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x5f, 0x6b, + 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, + 0x75, 0x62, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, + 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, + 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, + 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x67, 0x22, 0x85, 0x02, 0x0a, 0x12, 0x42, + 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, + 0x74, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 0x78, 0x12, 0x12, 0x0a, 0x04, + 0x6d, 0x73, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, + 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, - 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x25, 0x0a, - 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x22, 0xdf, 0x01, 0x0a, 0x19, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, - 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x68, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, - 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x17, 0x0a, 0x07, 0x72, 0x61, 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x72, 0x61, 0x77, 0x4c, 0x6f, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x14, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, - 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x83, 0x01, 0x0a, - 0x13, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, - 0x72, 0x12, 0x4f, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x70, - 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, 0x62, 0x4b, - 0x65, 0x79, 0x52, 0x0e, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x50, 0x75, 0x62, 0x4b, - 0x65, 0x79, 0x32, 0x8c, 0x05, 0x0a, 0x14, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x50, 0x43, 0x12, 0x54, 0x0a, 0x05, 0x47, - 0x65, 0x74, 0x54, 0x78, 0x12, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x60, 0x0a, 0x09, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x78, 0x12, 0x28, + 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x0a, + 0x09, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, + 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x67, 0x12, 0x12, + 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, + 0x64, 0x65, 0x22, 0x34, 0x0a, 0x0c, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, 0x62, 0x4b, + 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0xd9, 0x01, 0x0a, 0x13, 0x42, 0x72, 0x6f, + 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, + 0x07, 0x72, 0x61, 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x72, 0x61, 0x77, 0x4c, 0x6f, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x22, 0xe0, 0x01, 0x0a, 0x16, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, + 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x74, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x35, 0x0a, 0x03, + 0x66, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x46, 0x65, 0x65, 0x52, 0x03, + 0x66, 0x65, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x17, 0x50, 0x72, 0x65, 0x70, + 0x61, 0x72, 0x65, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x02, 0x74, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x4d, 0x6f, 0x64, 0x65, + 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, + 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, + 0x53, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, - 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, - 0x54, 0x78, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x72, 0x6f, 0x61, - 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, - 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0f, 0x50, - 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x12, 0x2e, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x43, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x43, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x78, 0x0a, 0x11, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x54, 0x78, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x72, - 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, - 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x47, 0x65, 0x74, - 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, - 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x42, 0x1b, 0x5a, 0x19, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, + 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0e, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x50, 0x75, + 0x62, 0x4b, 0x65, 0x79, 0x22, 0xae, 0x01, 0x0a, 0x18, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, + 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, + 0x78, 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, + 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x25, + 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xdf, 0x01, 0x0a, 0x19, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, + 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, + 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, + 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, + 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x17, 0x0a, 0x07, 0x72, 0x61, 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x72, 0x61, 0x77, 0x4c, 0x6f, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x14, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x46, 0x65, + 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x83, 0x01, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, + 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, 0x62, + 0x4b, 0x65, 0x79, 0x52, 0x0e, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x50, 0x75, 0x62, + 0x4b, 0x65, 0x79, 0x32, 0x8c, 0x05, 0x0a, 0x14, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x50, 0x43, 0x12, 0x54, 0x0a, 0x05, + 0x47, 0x65, 0x74, 0x54, 0x78, 0x12, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x60, 0x0a, 0x09, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x78, 0x12, + 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, + 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, + 0x74, 0x54, 0x78, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x72, 0x6f, + 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, + 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0f, + 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x12, + 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x78, 0x0a, 0x11, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, + 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x47, 0x65, + 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, + 0x65, 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x42, 0x1b, 0x5a, 0x19, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_injective_exchange_rpc_proto_rawDescOnce sync.Once - file_injective_exchange_rpc_proto_rawDescData = file_injective_exchange_rpc_proto_rawDesc + file_goadesign_goagen_injective_exchange_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_exchange_rpc_proto_rawDescData = file_goadesign_goagen_injective_exchange_rpc_proto_rawDesc ) -func file_injective_exchange_rpc_proto_rawDescGZIP() []byte { - file_injective_exchange_rpc_proto_rawDescOnce.Do(func() { - file_injective_exchange_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_exchange_rpc_proto_rawDescData) +func file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_exchange_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_exchange_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_exchange_rpc_proto_rawDescData) }) - return file_injective_exchange_rpc_proto_rawDescData + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescData } -var file_injective_exchange_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 15) -var file_injective_exchange_rpc_proto_goTypes = []interface{}{ +var file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_goadesign_goagen_injective_exchange_rpc_proto_goTypes = []interface{}{ (*GetTxRequest)(nil), // 0: injective_exchange_rpc.GetTxRequest (*GetTxResponse)(nil), // 1: injective_exchange_rpc.GetTxResponse (*PrepareTxRequest)(nil), // 2: injective_exchange_rpc.PrepareTxRequest @@ -1490,7 +1491,7 @@ var file_injective_exchange_rpc_proto_goTypes = []interface{}{ (*GetFeePayerRequest)(nil), // 13: injective_exchange_rpc.GetFeePayerRequest (*GetFeePayerResponse)(nil), // 14: injective_exchange_rpc.GetFeePayerResponse } -var file_injective_exchange_rpc_proto_depIdxs = []int32{ +var file_goadesign_goagen_injective_exchange_rpc_proto_depIdxs = []int32{ 3, // 0: injective_exchange_rpc.PrepareTxRequest.fee:type_name -> injective_exchange_rpc.CosmosTxFee 4, // 1: injective_exchange_rpc.CosmosTxFee.price:type_name -> injective_exchange_rpc.CosmosCoin 7, // 2: injective_exchange_rpc.BroadcastTxRequest.pub_key:type_name -> injective_exchange_rpc.CosmosPubKey @@ -1517,13 +1518,13 @@ var file_injective_exchange_rpc_proto_depIdxs = []int32{ 0, // [0:7] is the sub-list for field type_name } -func init() { file_injective_exchange_rpc_proto_init() } -func file_injective_exchange_rpc_proto_init() { - if File_injective_exchange_rpc_proto != nil { +func init() { file_goadesign_goagen_injective_exchange_rpc_proto_init() } +func file_goadesign_goagen_injective_exchange_rpc_proto_init() { + if File_goadesign_goagen_injective_exchange_rpc_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_injective_exchange_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTxRequest); i { case 0: return &v.state @@ -1535,7 +1536,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTxResponse); i { case 0: return &v.state @@ -1547,7 +1548,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PrepareTxRequest); i { case 0: return &v.state @@ -1559,7 +1560,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CosmosTxFee); i { case 0: return &v.state @@ -1571,7 +1572,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CosmosCoin); i { case 0: return &v.state @@ -1583,7 +1584,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PrepareTxResponse); i { case 0: return &v.state @@ -1595,7 +1596,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BroadcastTxRequest); i { case 0: return &v.state @@ -1607,7 +1608,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CosmosPubKey); i { case 0: return &v.state @@ -1619,7 +1620,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BroadcastTxResponse); i { case 0: return &v.state @@ -1631,7 +1632,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PrepareCosmosTxRequest); i { case 0: return &v.state @@ -1643,7 +1644,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PrepareCosmosTxResponse); i { case 0: return &v.state @@ -1655,7 +1656,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BroadcastCosmosTxRequest); i { case 0: return &v.state @@ -1667,7 +1668,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BroadcastCosmosTxResponse); i { case 0: return &v.state @@ -1679,7 +1680,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetFeePayerRequest); i { case 0: return &v.state @@ -1691,7 +1692,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetFeePayerResponse); i { case 0: return &v.state @@ -1708,18 +1709,18 @@ func file_injective_exchange_rpc_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_exchange_rpc_proto_rawDesc, + RawDescriptor: file_goadesign_goagen_injective_exchange_rpc_proto_rawDesc, NumEnums: 0, NumMessages: 15, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_injective_exchange_rpc_proto_goTypes, - DependencyIndexes: file_injective_exchange_rpc_proto_depIdxs, - MessageInfos: file_injective_exchange_rpc_proto_msgTypes, + GoTypes: file_goadesign_goagen_injective_exchange_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_exchange_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes, }.Build() - File_injective_exchange_rpc_proto = out.File - file_injective_exchange_rpc_proto_rawDesc = nil - file_injective_exchange_rpc_proto_goTypes = nil - file_injective_exchange_rpc_proto_depIdxs = nil + File_goadesign_goagen_injective_exchange_rpc_proto = out.File + file_goadesign_goagen_injective_exchange_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_exchange_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_exchange_rpc_proto_depIdxs = nil } diff --git a/exchange/exchange_rpc/pb/injective_exchange_rpc.proto b/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc.proto similarity index 98% rename from exchange/exchange_rpc/pb/injective_exchange_rpc.proto rename to exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc.proto index 7654becd..0788c6d3 100644 --- a/exchange/exchange_rpc/pb/injective_exchange_rpc.proto +++ b/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveExchangeRPC protocol buffer definition // @@ -57,7 +57,7 @@ message PrepareTxRequest { uint64 chain_id = 1; // Specify Ethereum address of a signer string signer_address = 2; - // Account sequence number (nonce) of signer + // Deprecated: this field is ignored uint64 sequence = 3; // Textual memo information to attach with tx string memo = 4; diff --git a/exchange/exchange_rpc/pb/injective_exchange_rpc_grpc.pb.go b/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc_grpc.pb.go similarity index 98% rename from exchange/exchange_rpc/pb/injective_exchange_rpc_grpc.pb.go rename to exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc_grpc.pb.go index dc5460ab..743899c7 100644 --- a/exchange/exchange_rpc/pb/injective_exchange_rpc_grpc.pb.go +++ b/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_exchange_rpc.proto package injective_exchange_rpcpb @@ -289,5 +293,5 @@ var InjectiveExchangeRPC_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "injective_exchange_rpc.proto", + Metadata: "goadesign_goagen_injective_exchange_rpc.proto", } diff --git a/exchange/exchange_rpc/pb/injective_exchange_rpc.pb.gw.go b/exchange/exchange_rpc/pb/injective_exchange_rpc.pb.gw.go index 8428a313..d5d28a2a 100644 --- a/exchange/exchange_rpc/pb/injective_exchange_rpc.pb.gw.go +++ b/exchange/exchange_rpc/pb/injective_exchange_rpc.pb.gw.go @@ -247,20 +247,22 @@ func RegisterInjectiveExchangeRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/GetTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/GetTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/GetTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/GetTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExchangeRPC_GetTx_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExchangeRPC_GetTx_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_GetTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_GetTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -270,20 +272,22 @@ func RegisterInjectiveExchangeRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/PrepareTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/PrepareTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/PrepareTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/PrepareTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExchangeRPC_PrepareTx_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExchangeRPC_PrepareTx_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_PrepareTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_PrepareTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -293,20 +297,22 @@ func RegisterInjectiveExchangeRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExchangeRPC_BroadcastTx_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExchangeRPC_BroadcastTx_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_BroadcastTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_BroadcastTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -316,20 +322,22 @@ func RegisterInjectiveExchangeRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/PrepareCosmosTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/PrepareCosmosTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/PrepareCosmosTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/PrepareCosmosTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExchangeRPC_PrepareCosmosTx_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExchangeRPC_PrepareCosmosTx_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_PrepareCosmosTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_PrepareCosmosTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -339,20 +347,22 @@ func RegisterInjectiveExchangeRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastCosmosTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastCosmosTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastCosmosTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastCosmosTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExchangeRPC_BroadcastCosmosTx_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExchangeRPC_BroadcastCosmosTx_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_BroadcastCosmosTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_BroadcastCosmosTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -362,20 +372,22 @@ func RegisterInjectiveExchangeRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/GetFeePayer", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/GetFeePayer")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/GetFeePayer", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/GetFeePayer")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExchangeRPC_GetFeePayer_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExchangeRPC_GetFeePayer_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_GetFeePayer_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_GetFeePayer_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -424,19 +436,21 @@ func RegisterInjectiveExchangeRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/GetTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/GetTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/GetTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/GetTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExchangeRPC_GetTx_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExchangeRPC_GetTx_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_GetTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_GetTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -444,19 +458,21 @@ func RegisterInjectiveExchangeRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/PrepareTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/PrepareTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/PrepareTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/PrepareTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExchangeRPC_PrepareTx_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExchangeRPC_PrepareTx_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_PrepareTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_PrepareTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -464,19 +480,21 @@ func RegisterInjectiveExchangeRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExchangeRPC_BroadcastTx_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExchangeRPC_BroadcastTx_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_BroadcastTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_BroadcastTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -484,19 +502,21 @@ func RegisterInjectiveExchangeRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/PrepareCosmosTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/PrepareCosmosTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/PrepareCosmosTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/PrepareCosmosTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExchangeRPC_PrepareCosmosTx_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExchangeRPC_PrepareCosmosTx_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_PrepareCosmosTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_PrepareCosmosTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -504,19 +524,21 @@ func RegisterInjectiveExchangeRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastCosmosTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastCosmosTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastCosmosTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastCosmosTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExchangeRPC_BroadcastCosmosTx_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExchangeRPC_BroadcastCosmosTx_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_BroadcastCosmosTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_BroadcastCosmosTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -524,19 +546,21 @@ func RegisterInjectiveExchangeRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/GetFeePayer", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/GetFeePayer")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/GetFeePayer", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/GetFeePayer")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExchangeRPC_GetFeePayer_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExchangeRPC_GetFeePayer_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_GetFeePayer_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_GetFeePayer_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/exchange/explorer_rpc/pb/injective_explorer_rpc.pb.go b/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc.pb.go similarity index 60% rename from exchange/explorer_rpc/pb/injective_explorer_rpc.pb.go rename to exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc.pb.go index 298f7e3f..2295464b 100644 --- a/exchange/explorer_rpc/pb/injective_explorer_rpc.pb.go +++ b/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc.pb.go @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveExplorerRPC protocol buffer definition // @@ -8,8 +8,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_explorer_rpc.proto +// protoc v4.25.3 +// source: goadesign_goagen_injective_explorer_rpc.proto package injective_explorer_rpcpb @@ -57,7 +57,7 @@ type GetAccountTxsRequest struct { func (x *GetAccountTxsRequest) Reset() { *x = GetAccountTxsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70,7 +70,7 @@ func (x *GetAccountTxsRequest) String() string { func (*GetAccountTxsRequest) ProtoMessage() {} func (x *GetAccountTxsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -83,7 +83,7 @@ func (x *GetAccountTxsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAccountTxsRequest.ProtoReflect.Descriptor instead. func (*GetAccountTxsRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{0} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{0} } func (x *GetAccountTxsRequest) GetAddress() string { @@ -182,7 +182,7 @@ type GetAccountTxsResponse struct { func (x *GetAccountTxsResponse) Reset() { *x = GetAccountTxsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -195,7 +195,7 @@ func (x *GetAccountTxsResponse) String() string { func (*GetAccountTxsResponse) ProtoMessage() {} func (x *GetAccountTxsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -208,7 +208,7 @@ func (x *GetAccountTxsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAccountTxsResponse.ProtoReflect.Descriptor instead. func (*GetAccountTxsResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{1} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{1} } func (x *GetAccountTxsResponse) GetPaging() *Paging { @@ -246,7 +246,7 @@ type Paging struct { func (x *Paging) Reset() { *x = Paging{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -259,7 +259,7 @@ func (x *Paging) String() string { func (*Paging) ProtoMessage() {} func (x *Paging) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -272,7 +272,7 @@ func (x *Paging) ProtoReflect() protoreflect.Message { // Deprecated: Use Paging.ProtoReflect.Descriptor instead. func (*Paging) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{2} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{2} } func (x *Paging) GetTotal() int64 { @@ -346,7 +346,7 @@ type TxDetailData struct { func (x *TxDetailData) Reset() { *x = TxDetailData{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -359,7 +359,7 @@ func (x *TxDetailData) String() string { func (*TxDetailData) ProtoMessage() {} func (x *TxDetailData) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -372,7 +372,7 @@ func (x *TxDetailData) ProtoReflect() protoreflect.Message { // Deprecated: Use TxDetailData.ProtoReflect.Descriptor instead. func (*TxDetailData) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{3} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{3} } func (x *TxDetailData) GetId() string { @@ -536,7 +536,7 @@ type GasFee struct { func (x *GasFee) Reset() { *x = GasFee{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -549,7 +549,7 @@ func (x *GasFee) String() string { func (*GasFee) ProtoMessage() {} func (x *GasFee) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -562,7 +562,7 @@ func (x *GasFee) ProtoReflect() protoreflect.Message { // Deprecated: Use GasFee.ProtoReflect.Descriptor instead. func (*GasFee) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{4} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{4} } func (x *GasFee) GetAmount() []*CosmosCoin { @@ -607,7 +607,7 @@ type CosmosCoin struct { func (x *CosmosCoin) Reset() { *x = CosmosCoin{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -620,7 +620,7 @@ func (x *CosmosCoin) String() string { func (*CosmosCoin) ProtoMessage() {} func (x *CosmosCoin) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -633,7 +633,7 @@ func (x *CosmosCoin) ProtoReflect() protoreflect.Message { // Deprecated: Use CosmosCoin.ProtoReflect.Descriptor instead. func (*CosmosCoin) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{5} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{5} } func (x *CosmosCoin) GetDenom() string { @@ -662,7 +662,7 @@ type Event struct { func (x *Event) Reset() { *x = Event{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -675,7 +675,7 @@ func (x *Event) String() string { func (*Event) ProtoMessage() {} func (x *Event) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -688,7 +688,7 @@ func (x *Event) ProtoReflect() protoreflect.Message { // Deprecated: Use Event.ProtoReflect.Descriptor instead. func (*Event) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{6} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{6} } func (x *Event) GetType() string { @@ -720,7 +720,7 @@ type Signature struct { func (x *Signature) Reset() { *x = Signature{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -733,7 +733,7 @@ func (x *Signature) String() string { func (*Signature) ProtoMessage() {} func (x *Signature) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -746,7 +746,7 @@ func (x *Signature) ProtoReflect() protoreflect.Message { // Deprecated: Use Signature.ProtoReflect.Descriptor instead. func (*Signature) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{7} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{7} } func (x *Signature) GetPubkey() string { @@ -793,7 +793,7 @@ type GetContractTxsRequest struct { func (x *GetContractTxsRequest) Reset() { *x = GetContractTxsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -806,7 +806,7 @@ func (x *GetContractTxsRequest) String() string { func (*GetContractTxsRequest) ProtoMessage() {} func (x *GetContractTxsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -819,7 +819,7 @@ func (x *GetContractTxsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetContractTxsRequest.ProtoReflect.Descriptor instead. func (*GetContractTxsRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{8} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{8} } func (x *GetContractTxsRequest) GetAddress() string { @@ -869,7 +869,7 @@ type GetContractTxsResponse struct { func (x *GetContractTxsResponse) Reset() { *x = GetContractTxsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -882,7 +882,7 @@ func (x *GetContractTxsResponse) String() string { func (*GetContractTxsResponse) ProtoMessage() {} func (x *GetContractTxsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -895,7 +895,7 @@ func (x *GetContractTxsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetContractTxsResponse.ProtoReflect.Descriptor instead. func (*GetContractTxsResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{9} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{9} } func (x *GetContractTxsResponse) GetPaging() *Paging { @@ -912,6 +912,153 @@ func (x *GetContractTxsResponse) GetData() []*TxDetailData { return nil } +type GetContractTxsV2Request struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Address of contract + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // Height of the block + Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"` + // Unix timestamp (UTC) in milliseconds + From int64 `protobuf:"zigzag64,3,opt,name=from,proto3" json:"from,omitempty"` + // Unix timestamp (UTC) in milliseconds + To int64 `protobuf:"zigzag64,4,opt,name=to,proto3" json:"to,omitempty"` + Limit int32 `protobuf:"zigzag32,5,opt,name=limit,proto3" json:"limit,omitempty"` + // Pagination token + Token string `protobuf:"bytes,6,opt,name=token,proto3" json:"token,omitempty"` +} + +func (x *GetContractTxsV2Request) Reset() { + *x = GetContractTxsV2Request{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetContractTxsV2Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetContractTxsV2Request) ProtoMessage() {} + +func (x *GetContractTxsV2Request) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetContractTxsV2Request.ProtoReflect.Descriptor instead. +func (*GetContractTxsV2Request) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{10} +} + +func (x *GetContractTxsV2Request) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *GetContractTxsV2Request) GetHeight() uint64 { + if x != nil { + return x.Height + } + return 0 +} + +func (x *GetContractTxsV2Request) GetFrom() int64 { + if x != nil { + return x.From + } + return 0 +} + +func (x *GetContractTxsV2Request) GetTo() int64 { + if x != nil { + return x.To + } + return 0 +} + +func (x *GetContractTxsV2Request) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *GetContractTxsV2Request) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +type GetContractTxsV2Response struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Next []string `protobuf:"bytes,1,rep,name=next,proto3" json:"next,omitempty"` + Data []*TxDetailData `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` +} + +func (x *GetContractTxsV2Response) Reset() { + *x = GetContractTxsV2Response{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetContractTxsV2Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetContractTxsV2Response) ProtoMessage() {} + +func (x *GetContractTxsV2Response) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetContractTxsV2Response.ProtoReflect.Descriptor instead. +func (*GetContractTxsV2Response) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{11} +} + +func (x *GetContractTxsV2Response) GetNext() []string { + if x != nil { + return x.Next + } + return nil +} + +func (x *GetContractTxsV2Response) GetData() []*TxDetailData { + if x != nil { + return x.Data + } + return nil +} + type GetBlocksRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -920,12 +1067,16 @@ type GetBlocksRequest struct { Before uint64 `protobuf:"varint,1,opt,name=before,proto3" json:"before,omitempty"` After uint64 `protobuf:"varint,2,opt,name=after,proto3" json:"after,omitempty"` Limit int32 `protobuf:"zigzag32,3,opt,name=limit,proto3" json:"limit,omitempty"` + // Unix timestamp (UTC) in milliseconds + From uint64 `protobuf:"varint,4,opt,name=from,proto3" json:"from,omitempty"` + // Unix timestamp (UTC) in milliseconds + To uint64 `protobuf:"varint,5,opt,name=to,proto3" json:"to,omitempty"` } func (x *GetBlocksRequest) Reset() { *x = GetBlocksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -938,7 +1089,7 @@ func (x *GetBlocksRequest) String() string { func (*GetBlocksRequest) ProtoMessage() {} func (x *GetBlocksRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -951,7 +1102,7 @@ func (x *GetBlocksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlocksRequest.ProtoReflect.Descriptor instead. func (*GetBlocksRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{10} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{12} } func (x *GetBlocksRequest) GetBefore() uint64 { @@ -975,6 +1126,20 @@ func (x *GetBlocksRequest) GetLimit() int32 { return 0 } +func (x *GetBlocksRequest) GetFrom() uint64 { + if x != nil { + return x.From + } + return 0 +} + +func (x *GetBlocksRequest) GetTo() uint64 { + if x != nil { + return x.To + } + return 0 +} + type GetBlocksResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -987,7 +1152,7 @@ type GetBlocksResponse struct { func (x *GetBlocksResponse) Reset() { *x = GetBlocksResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1000,7 +1165,7 @@ func (x *GetBlocksResponse) String() string { func (*GetBlocksResponse) ProtoMessage() {} func (x *GetBlocksResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1013,7 +1178,7 @@ func (x *GetBlocksResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlocksResponse.ProtoReflect.Descriptor instead. func (*GetBlocksResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{11} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{13} } func (x *GetBlocksResponse) GetPaging() *Paging { @@ -1049,7 +1214,7 @@ type BlockInfo struct { func (x *BlockInfo) Reset() { *x = BlockInfo{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1062,7 +1227,7 @@ func (x *BlockInfo) String() string { func (*BlockInfo) ProtoMessage() {} func (x *BlockInfo) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1075,7 +1240,7 @@ func (x *BlockInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use BlockInfo.ProtoReflect.Descriptor instead. func (*BlockInfo) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{12} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{14} } func (x *BlockInfo) GetHeight() uint64 { @@ -1164,7 +1329,7 @@ type TxDataRPC struct { func (x *TxDataRPC) Reset() { *x = TxDataRPC{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1177,7 +1342,7 @@ func (x *TxDataRPC) String() string { func (*TxDataRPC) ProtoMessage() {} func (x *TxDataRPC) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1190,7 +1355,7 @@ func (x *TxDataRPC) ProtoReflect() protoreflect.Message { // Deprecated: Use TxDataRPC.ProtoReflect.Descriptor instead. func (*TxDataRPC) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{13} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{15} } func (x *TxDataRPC) GetId() string { @@ -1274,7 +1439,7 @@ type GetBlockRequest struct { func (x *GetBlockRequest) Reset() { *x = GetBlockRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1287,7 +1452,7 @@ func (x *GetBlockRequest) String() string { func (*GetBlockRequest) ProtoMessage() {} func (x *GetBlockRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1300,7 +1465,7 @@ func (x *GetBlockRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlockRequest.ProtoReflect.Descriptor instead. func (*GetBlockRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{14} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{16} } func (x *GetBlockRequest) GetId() string { @@ -1325,7 +1490,7 @@ type GetBlockResponse struct { func (x *GetBlockResponse) Reset() { *x = GetBlockResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[15] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1338,7 +1503,7 @@ func (x *GetBlockResponse) String() string { func (*GetBlockResponse) ProtoMessage() {} func (x *GetBlockResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[15] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1351,7 +1516,7 @@ func (x *GetBlockResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlockResponse.ProtoReflect.Descriptor instead. func (*GetBlockResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{15} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{17} } func (x *GetBlockResponse) GetS() string { @@ -1395,7 +1560,7 @@ type BlockDetailInfo struct { func (x *BlockDetailInfo) Reset() { *x = BlockDetailInfo{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[16] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1408,7 +1573,7 @@ func (x *BlockDetailInfo) String() string { func (*BlockDetailInfo) ProtoMessage() {} func (x *BlockDetailInfo) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[16] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1421,7 +1586,7 @@ func (x *BlockDetailInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use BlockDetailInfo.ProtoReflect.Descriptor instead. func (*BlockDetailInfo) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{16} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{18} } func (x *BlockDetailInfo) GetHeight() uint64 { @@ -1520,7 +1685,7 @@ type TxData struct { func (x *TxData) Reset() { *x = TxData{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[17] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1533,7 +1698,7 @@ func (x *TxData) String() string { func (*TxData) ProtoMessage() {} func (x *TxData) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[17] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1546,7 +1711,7 @@ func (x *TxData) ProtoReflect() protoreflect.Message { // Deprecated: Use TxData.ProtoReflect.Descriptor instead. func (*TxData) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{17} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{19} } func (x *TxData) GetId() string { @@ -1642,7 +1807,7 @@ type GetValidatorsRequest struct { func (x *GetValidatorsRequest) Reset() { *x = GetValidatorsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[18] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1655,7 +1820,7 @@ func (x *GetValidatorsRequest) String() string { func (*GetValidatorsRequest) ProtoMessage() {} func (x *GetValidatorsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[18] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1668,7 +1833,7 @@ func (x *GetValidatorsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetValidatorsRequest.ProtoReflect.Descriptor instead. func (*GetValidatorsRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{18} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{20} } type GetValidatorsResponse struct { @@ -1686,7 +1851,7 @@ type GetValidatorsResponse struct { func (x *GetValidatorsResponse) Reset() { *x = GetValidatorsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[19] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1699,7 +1864,7 @@ func (x *GetValidatorsResponse) String() string { func (*GetValidatorsResponse) ProtoMessage() {} func (x *GetValidatorsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[19] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1712,7 +1877,7 @@ func (x *GetValidatorsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetValidatorsResponse.ProtoReflect.Descriptor instead. func (*GetValidatorsResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{19} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{21} } func (x *GetValidatorsResponse) GetS() string { @@ -1772,7 +1937,7 @@ type Validator struct { func (x *Validator) Reset() { *x = Validator{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[20] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1785,7 +1950,7 @@ func (x *Validator) String() string { func (*Validator) ProtoMessage() {} func (x *Validator) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[20] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1798,7 +1963,7 @@ func (x *Validator) ProtoReflect() protoreflect.Message { // Deprecated: Use Validator.ProtoReflect.Descriptor instead. func (*Validator) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{20} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{22} } func (x *Validator) GetId() string { @@ -1978,7 +2143,7 @@ type ValidatorDescription struct { func (x *ValidatorDescription) Reset() { *x = ValidatorDescription{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[21] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1991,7 +2156,7 @@ func (x *ValidatorDescription) String() string { func (*ValidatorDescription) ProtoMessage() {} func (x *ValidatorDescription) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[21] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2004,7 +2169,7 @@ func (x *ValidatorDescription) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidatorDescription.ProtoReflect.Descriptor instead. func (*ValidatorDescription) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{21} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{23} } func (x *ValidatorDescription) GetMoniker() string { @@ -2061,7 +2226,7 @@ type ValidatorUptime struct { func (x *ValidatorUptime) Reset() { *x = ValidatorUptime{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[22] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2074,7 +2239,7 @@ func (x *ValidatorUptime) String() string { func (*ValidatorUptime) ProtoMessage() {} func (x *ValidatorUptime) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[22] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2087,7 +2252,7 @@ func (x *ValidatorUptime) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidatorUptime.ProtoReflect.Descriptor instead. func (*ValidatorUptime) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{22} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{24} } func (x *ValidatorUptime) GetBlockNumber() uint64 { @@ -2121,7 +2286,7 @@ type SlashingEvent struct { func (x *SlashingEvent) Reset() { *x = SlashingEvent{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[23] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2134,7 +2299,7 @@ func (x *SlashingEvent) String() string { func (*SlashingEvent) ProtoMessage() {} func (x *SlashingEvent) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[23] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2147,7 +2312,7 @@ func (x *SlashingEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use SlashingEvent.ProtoReflect.Descriptor instead. func (*SlashingEvent) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{23} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{25} } func (x *SlashingEvent) GetBlockNumber() uint64 { @@ -2210,7 +2375,7 @@ type GetValidatorRequest struct { func (x *GetValidatorRequest) Reset() { *x = GetValidatorRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[24] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2223,7 +2388,7 @@ func (x *GetValidatorRequest) String() string { func (*GetValidatorRequest) ProtoMessage() {} func (x *GetValidatorRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[24] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2236,7 +2401,7 @@ func (x *GetValidatorRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetValidatorRequest.ProtoReflect.Descriptor instead. func (*GetValidatorRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{24} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{26} } func (x *GetValidatorRequest) GetAddress() string { @@ -2261,7 +2426,7 @@ type GetValidatorResponse struct { func (x *GetValidatorResponse) Reset() { *x = GetValidatorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[25] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2274,7 +2439,7 @@ func (x *GetValidatorResponse) String() string { func (*GetValidatorResponse) ProtoMessage() {} func (x *GetValidatorResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[25] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2287,7 +2452,7 @@ func (x *GetValidatorResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetValidatorResponse.ProtoReflect.Descriptor instead. func (*GetValidatorResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{25} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{27} } func (x *GetValidatorResponse) GetS() string { @@ -2322,7 +2487,7 @@ type GetValidatorUptimeRequest struct { func (x *GetValidatorUptimeRequest) Reset() { *x = GetValidatorUptimeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[26] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2335,7 +2500,7 @@ func (x *GetValidatorUptimeRequest) String() string { func (*GetValidatorUptimeRequest) ProtoMessage() {} func (x *GetValidatorUptimeRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[26] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2348,7 +2513,7 @@ func (x *GetValidatorUptimeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetValidatorUptimeRequest.ProtoReflect.Descriptor instead. func (*GetValidatorUptimeRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{26} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{28} } func (x *GetValidatorUptimeRequest) GetAddress() string { @@ -2373,7 +2538,7 @@ type GetValidatorUptimeResponse struct { func (x *GetValidatorUptimeResponse) Reset() { *x = GetValidatorUptimeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[27] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2386,7 +2551,7 @@ func (x *GetValidatorUptimeResponse) String() string { func (*GetValidatorUptimeResponse) ProtoMessage() {} func (x *GetValidatorUptimeResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[27] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2399,7 +2564,7 @@ func (x *GetValidatorUptimeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetValidatorUptimeResponse.ProtoReflect.Descriptor instead. func (*GetValidatorUptimeResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{27} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{29} } func (x *GetValidatorUptimeResponse) GetS() string { @@ -2449,7 +2614,7 @@ type GetTxsRequest struct { func (x *GetTxsRequest) Reset() { *x = GetTxsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[28] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2462,7 +2627,7 @@ func (x *GetTxsRequest) String() string { func (*GetTxsRequest) ProtoMessage() {} func (x *GetTxsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[28] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2475,7 +2640,7 @@ func (x *GetTxsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTxsRequest.ProtoReflect.Descriptor instead. func (*GetTxsRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{28} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{30} } func (x *GetTxsRequest) GetBefore() uint64 { @@ -2567,7 +2732,7 @@ type GetTxsResponse struct { func (x *GetTxsResponse) Reset() { *x = GetTxsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[29] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2580,7 +2745,7 @@ func (x *GetTxsResponse) String() string { func (*GetTxsResponse) ProtoMessage() {} func (x *GetTxsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[29] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2593,7 +2758,7 @@ func (x *GetTxsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTxsResponse.ProtoReflect.Descriptor instead. func (*GetTxsResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{29} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{31} } func (x *GetTxsResponse) GetPaging() *Paging { @@ -2621,7 +2786,7 @@ type GetTxByTxHashRequest struct { func (x *GetTxByTxHashRequest) Reset() { *x = GetTxByTxHashRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[30] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2634,7 +2799,7 @@ func (x *GetTxByTxHashRequest) String() string { func (*GetTxByTxHashRequest) ProtoMessage() {} func (x *GetTxByTxHashRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[30] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2647,7 +2812,7 @@ func (x *GetTxByTxHashRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTxByTxHashRequest.ProtoReflect.Descriptor instead. func (*GetTxByTxHashRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{30} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{32} } func (x *GetTxByTxHashRequest) GetHash() string { @@ -2672,7 +2837,7 @@ type GetTxByTxHashResponse struct { func (x *GetTxByTxHashResponse) Reset() { *x = GetTxByTxHashResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[31] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2685,7 +2850,7 @@ func (x *GetTxByTxHashResponse) String() string { func (*GetTxByTxHashResponse) ProtoMessage() {} func (x *GetTxByTxHashResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[31] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2698,7 +2863,7 @@ func (x *GetTxByTxHashResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTxByTxHashResponse.ProtoReflect.Descriptor instead. func (*GetTxByTxHashResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{31} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{33} } func (x *GetTxByTxHashResponse) GetS() string { @@ -2738,7 +2903,7 @@ type GetPeggyDepositTxsRequest struct { func (x *GetPeggyDepositTxsRequest) Reset() { *x = GetPeggyDepositTxsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[32] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2751,7 +2916,7 @@ func (x *GetPeggyDepositTxsRequest) String() string { func (*GetPeggyDepositTxsRequest) ProtoMessage() {} func (x *GetPeggyDepositTxsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[32] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2764,7 +2929,7 @@ func (x *GetPeggyDepositTxsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPeggyDepositTxsRequest.ProtoReflect.Descriptor instead. func (*GetPeggyDepositTxsRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{32} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{34} } func (x *GetPeggyDepositTxsRequest) GetSender() string { @@ -2806,7 +2971,7 @@ type GetPeggyDepositTxsResponse struct { func (x *GetPeggyDepositTxsResponse) Reset() { *x = GetPeggyDepositTxsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[33] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2819,7 +2984,7 @@ func (x *GetPeggyDepositTxsResponse) String() string { func (*GetPeggyDepositTxsResponse) ProtoMessage() {} func (x *GetPeggyDepositTxsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[33] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2832,7 +2997,7 @@ func (x *GetPeggyDepositTxsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPeggyDepositTxsResponse.ProtoReflect.Descriptor instead. func (*GetPeggyDepositTxsResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{33} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{35} } func (x *GetPeggyDepositTxsResponse) GetField() []*PeggyDepositTx { @@ -2875,7 +3040,7 @@ type PeggyDepositTx struct { func (x *PeggyDepositTx) Reset() { *x = PeggyDepositTx{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[34] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2888,7 +3053,7 @@ func (x *PeggyDepositTx) String() string { func (*PeggyDepositTx) ProtoMessage() {} func (x *PeggyDepositTx) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[34] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2901,7 +3066,7 @@ func (x *PeggyDepositTx) ProtoReflect() protoreflect.Message { // Deprecated: Use PeggyDepositTx.ProtoReflect.Descriptor instead. func (*PeggyDepositTx) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{34} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{36} } func (x *PeggyDepositTx) GetSender() string { @@ -3004,7 +3169,7 @@ type GetPeggyWithdrawalTxsRequest struct { func (x *GetPeggyWithdrawalTxsRequest) Reset() { *x = GetPeggyWithdrawalTxsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[35] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3017,7 +3182,7 @@ func (x *GetPeggyWithdrawalTxsRequest) String() string { func (*GetPeggyWithdrawalTxsRequest) ProtoMessage() {} func (x *GetPeggyWithdrawalTxsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[35] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3030,7 +3195,7 @@ func (x *GetPeggyWithdrawalTxsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPeggyWithdrawalTxsRequest.ProtoReflect.Descriptor instead. func (*GetPeggyWithdrawalTxsRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{35} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{37} } func (x *GetPeggyWithdrawalTxsRequest) GetSender() string { @@ -3072,7 +3237,7 @@ type GetPeggyWithdrawalTxsResponse struct { func (x *GetPeggyWithdrawalTxsResponse) Reset() { *x = GetPeggyWithdrawalTxsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[36] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3085,7 +3250,7 @@ func (x *GetPeggyWithdrawalTxsResponse) String() string { func (*GetPeggyWithdrawalTxsResponse) ProtoMessage() {} func (x *GetPeggyWithdrawalTxsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[36] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3098,7 +3263,7 @@ func (x *GetPeggyWithdrawalTxsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPeggyWithdrawalTxsResponse.ProtoReflect.Descriptor instead. func (*GetPeggyWithdrawalTxsResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{36} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{38} } func (x *GetPeggyWithdrawalTxsResponse) GetField() []*PeggyWithdrawalTx { @@ -3151,7 +3316,7 @@ type PeggyWithdrawalTx struct { func (x *PeggyWithdrawalTx) Reset() { *x = PeggyWithdrawalTx{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[37] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3164,7 +3329,7 @@ func (x *PeggyWithdrawalTx) String() string { func (*PeggyWithdrawalTx) ProtoMessage() {} func (x *PeggyWithdrawalTx) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[37] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3177,7 +3342,7 @@ func (x *PeggyWithdrawalTx) ProtoReflect() protoreflect.Message { // Deprecated: Use PeggyWithdrawalTx.ProtoReflect.Descriptor instead. func (*PeggyWithdrawalTx) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{37} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{39} } func (x *PeggyWithdrawalTx) GetSender() string { @@ -3310,7 +3475,7 @@ type GetIBCTransferTxsRequest struct { func (x *GetIBCTransferTxsRequest) Reset() { *x = GetIBCTransferTxsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[38] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3323,7 +3488,7 @@ func (x *GetIBCTransferTxsRequest) String() string { func (*GetIBCTransferTxsRequest) ProtoMessage() {} func (x *GetIBCTransferTxsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[38] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3336,7 +3501,7 @@ func (x *GetIBCTransferTxsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIBCTransferTxsRequest.ProtoReflect.Descriptor instead. func (*GetIBCTransferTxsRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{38} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{40} } func (x *GetIBCTransferTxsRequest) GetSender() string { @@ -3406,7 +3571,7 @@ type GetIBCTransferTxsResponse struct { func (x *GetIBCTransferTxsResponse) Reset() { *x = GetIBCTransferTxsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[39] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3419,7 +3584,7 @@ func (x *GetIBCTransferTxsResponse) String() string { func (*GetIBCTransferTxsResponse) ProtoMessage() {} func (x *GetIBCTransferTxsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[39] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3432,7 +3597,7 @@ func (x *GetIBCTransferTxsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIBCTransferTxsResponse.ProtoReflect.Descriptor instead. func (*GetIBCTransferTxsResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{39} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{41} } func (x *GetIBCTransferTxsResponse) GetField() []*IBCTransferTx { @@ -3484,7 +3649,7 @@ type IBCTransferTx struct { func (x *IBCTransferTx) Reset() { *x = IBCTransferTx{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[40] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3497,7 +3662,7 @@ func (x *IBCTransferTx) String() string { func (*IBCTransferTx) ProtoMessage() {} func (x *IBCTransferTx) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[40] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3510,7 +3675,7 @@ func (x *IBCTransferTx) ProtoReflect() protoreflect.Message { // Deprecated: Use IBCTransferTx.ProtoReflect.Descriptor instead. func (*IBCTransferTx) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{40} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{42} } func (x *IBCTransferTx) GetSender() string { @@ -3638,7 +3803,7 @@ type GetWasmCodesRequest struct { func (x *GetWasmCodesRequest) Reset() { *x = GetWasmCodesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[41] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3651,7 +3816,7 @@ func (x *GetWasmCodesRequest) String() string { func (*GetWasmCodesRequest) ProtoMessage() {} func (x *GetWasmCodesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[41] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3664,7 +3829,7 @@ func (x *GetWasmCodesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWasmCodesRequest.ProtoReflect.Descriptor instead. func (*GetWasmCodesRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{41} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{43} } func (x *GetWasmCodesRequest) GetLimit() int32 { @@ -3700,7 +3865,7 @@ type GetWasmCodesResponse struct { func (x *GetWasmCodesResponse) Reset() { *x = GetWasmCodesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[42] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3713,7 +3878,7 @@ func (x *GetWasmCodesResponse) String() string { func (*GetWasmCodesResponse) ProtoMessage() {} func (x *GetWasmCodesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[42] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3726,7 +3891,7 @@ func (x *GetWasmCodesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWasmCodesResponse.ProtoReflect.Descriptor instead. func (*GetWasmCodesResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{42} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{44} } func (x *GetWasmCodesResponse) GetPaging() *Paging { @@ -3780,7 +3945,7 @@ type WasmCode struct { func (x *WasmCode) Reset() { *x = WasmCode{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[43] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3793,7 +3958,7 @@ func (x *WasmCode) String() string { func (*WasmCode) ProtoMessage() {} func (x *WasmCode) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[43] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3806,7 +3971,7 @@ func (x *WasmCode) ProtoReflect() protoreflect.Message { // Deprecated: Use WasmCode.ProtoReflect.Descriptor instead. func (*WasmCode) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{43} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{45} } func (x *WasmCode) GetCodeId() uint64 { @@ -3914,7 +4079,7 @@ type Checksum struct { func (x *Checksum) Reset() { *x = Checksum{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[44] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3927,7 +4092,7 @@ func (x *Checksum) String() string { func (*Checksum) ProtoMessage() {} func (x *Checksum) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[44] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3940,7 +4105,7 @@ func (x *Checksum) ProtoReflect() protoreflect.Message { // Deprecated: Use Checksum.ProtoReflect.Descriptor instead. func (*Checksum) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{44} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{46} } func (x *Checksum) GetAlgorithm() string { @@ -3971,7 +4136,7 @@ type ContractPermission struct { func (x *ContractPermission) Reset() { *x = ContractPermission{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[45] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3984,7 +4149,7 @@ func (x *ContractPermission) String() string { func (*ContractPermission) ProtoMessage() {} func (x *ContractPermission) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[45] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3997,7 +4162,7 @@ func (x *ContractPermission) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractPermission.ProtoReflect.Descriptor instead. func (*ContractPermission) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{45} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{47} } func (x *ContractPermission) GetAccessType() int32 { @@ -4026,7 +4191,7 @@ type GetWasmCodeByIDRequest struct { func (x *GetWasmCodeByIDRequest) Reset() { *x = GetWasmCodeByIDRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[46] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4039,7 +4204,7 @@ func (x *GetWasmCodeByIDRequest) String() string { func (*GetWasmCodeByIDRequest) ProtoMessage() {} func (x *GetWasmCodeByIDRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[46] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4052,7 +4217,7 @@ func (x *GetWasmCodeByIDRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWasmCodeByIDRequest.ProtoReflect.Descriptor instead. func (*GetWasmCodeByIDRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{46} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{48} } func (x *GetWasmCodeByIDRequest) GetCodeId() int64 { @@ -4098,7 +4263,7 @@ type GetWasmCodeByIDResponse struct { func (x *GetWasmCodeByIDResponse) Reset() { *x = GetWasmCodeByIDResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[47] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4111,7 +4276,7 @@ func (x *GetWasmCodeByIDResponse) String() string { func (*GetWasmCodeByIDResponse) ProtoMessage() {} func (x *GetWasmCodeByIDResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[47] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4124,7 +4289,7 @@ func (x *GetWasmCodeByIDResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWasmCodeByIDResponse.ProtoReflect.Descriptor instead. func (*GetWasmCodeByIDResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{47} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{49} } func (x *GetWasmCodeByIDResponse) GetCodeId() uint64 { @@ -4236,7 +4401,7 @@ type GetWasmContractsRequest struct { func (x *GetWasmContractsRequest) Reset() { *x = GetWasmContractsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[48] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4249,7 +4414,7 @@ func (x *GetWasmContractsRequest) String() string { func (*GetWasmContractsRequest) ProtoMessage() {} func (x *GetWasmContractsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[48] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4262,7 +4427,7 @@ func (x *GetWasmContractsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWasmContractsRequest.ProtoReflect.Descriptor instead. func (*GetWasmContractsRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{48} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{50} } func (x *GetWasmContractsRequest) GetLimit() int32 { @@ -4326,7 +4491,7 @@ type GetWasmContractsResponse struct { func (x *GetWasmContractsResponse) Reset() { *x = GetWasmContractsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[49] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4339,7 +4504,7 @@ func (x *GetWasmContractsResponse) String() string { func (*GetWasmContractsResponse) ProtoMessage() {} func (x *GetWasmContractsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[49] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4352,7 +4517,7 @@ func (x *GetWasmContractsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWasmContractsResponse.ProtoReflect.Descriptor instead. func (*GetWasmContractsResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{49} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{51} } func (x *GetWasmContractsResponse) GetPaging() *Paging { @@ -4413,7 +4578,7 @@ type WasmContract struct { func (x *WasmContract) Reset() { *x = WasmContract{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[50] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4426,7 +4591,7 @@ func (x *WasmContract) String() string { func (*WasmContract) ProtoMessage() {} func (x *WasmContract) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[50] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4439,7 +4604,7 @@ func (x *WasmContract) ProtoReflect() protoreflect.Message { // Deprecated: Use WasmContract.ProtoReflect.Descriptor instead. func (*WasmContract) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{50} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{52} } func (x *WasmContract) GetLabel() string { @@ -4575,7 +4740,7 @@ type ContractFund struct { func (x *ContractFund) Reset() { *x = ContractFund{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[51] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4588,7 +4753,7 @@ func (x *ContractFund) String() string { func (*ContractFund) ProtoMessage() {} func (x *ContractFund) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[51] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4601,7 +4766,7 @@ func (x *ContractFund) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractFund.ProtoReflect.Descriptor instead. func (*ContractFund) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{51} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{53} } func (x *ContractFund) GetDenom() string { @@ -4631,7 +4796,7 @@ type Cw20Metadata struct { func (x *Cw20Metadata) Reset() { *x = Cw20Metadata{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[52] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4644,7 +4809,7 @@ func (x *Cw20Metadata) String() string { func (*Cw20Metadata) ProtoMessage() {} func (x *Cw20Metadata) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[52] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4657,7 +4822,7 @@ func (x *Cw20Metadata) ProtoReflect() protoreflect.Message { // Deprecated: Use Cw20Metadata.ProtoReflect.Descriptor instead. func (*Cw20Metadata) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{52} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{54} } func (x *Cw20Metadata) GetTokenInfo() *Cw20TokenInfo { @@ -4693,7 +4858,7 @@ type Cw20TokenInfo struct { func (x *Cw20TokenInfo) Reset() { *x = Cw20TokenInfo{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[53] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4706,7 +4871,7 @@ func (x *Cw20TokenInfo) String() string { func (*Cw20TokenInfo) ProtoMessage() {} func (x *Cw20TokenInfo) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[53] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4719,7 +4884,7 @@ func (x *Cw20TokenInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use Cw20TokenInfo.ProtoReflect.Descriptor instead. func (*Cw20TokenInfo) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{53} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{55} } func (x *Cw20TokenInfo) GetName() string { @@ -4769,7 +4934,7 @@ type Cw20MarketingInfo struct { func (x *Cw20MarketingInfo) Reset() { *x = Cw20MarketingInfo{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[54] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4782,7 +4947,7 @@ func (x *Cw20MarketingInfo) String() string { func (*Cw20MarketingInfo) ProtoMessage() {} func (x *Cw20MarketingInfo) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[54] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4795,7 +4960,7 @@ func (x *Cw20MarketingInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use Cw20MarketingInfo.ProtoReflect.Descriptor instead. func (*Cw20MarketingInfo) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{54} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{56} } func (x *Cw20MarketingInfo) GetProject() string { @@ -4838,7 +5003,7 @@ type GetWasmContractByAddressRequest struct { func (x *GetWasmContractByAddressRequest) Reset() { *x = GetWasmContractByAddressRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[55] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4851,7 +5016,7 @@ func (x *GetWasmContractByAddressRequest) String() string { func (*GetWasmContractByAddressRequest) ProtoMessage() {} func (x *GetWasmContractByAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[55] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4864,7 +5029,7 @@ func (x *GetWasmContractByAddressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWasmContractByAddressRequest.ProtoReflect.Descriptor instead. func (*GetWasmContractByAddressRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{55} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{57} } func (x *GetWasmContractByAddressRequest) GetContractAddress() string { @@ -4917,7 +5082,7 @@ type GetWasmContractByAddressResponse struct { func (x *GetWasmContractByAddressResponse) Reset() { *x = GetWasmContractByAddressResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[56] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4930,7 +5095,7 @@ func (x *GetWasmContractByAddressResponse) String() string { func (*GetWasmContractByAddressResponse) ProtoMessage() {} func (x *GetWasmContractByAddressResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[56] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4943,7 +5108,7 @@ func (x *GetWasmContractByAddressResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWasmContractByAddressResponse.ProtoReflect.Descriptor instead. func (*GetWasmContractByAddressResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{56} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{58} } func (x *GetWasmContractByAddressResponse) GetLabel() string { @@ -5078,7 +5243,7 @@ type GetCw20BalanceRequest struct { func (x *GetCw20BalanceRequest) Reset() { *x = GetCw20BalanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[57] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5091,7 +5256,7 @@ func (x *GetCw20BalanceRequest) String() string { func (*GetCw20BalanceRequest) ProtoMessage() {} func (x *GetCw20BalanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[57] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5104,7 +5269,7 @@ func (x *GetCw20BalanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCw20BalanceRequest.ProtoReflect.Descriptor instead. func (*GetCw20BalanceRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{57} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{59} } func (x *GetCw20BalanceRequest) GetAddress() string { @@ -5132,7 +5297,7 @@ type GetCw20BalanceResponse struct { func (x *GetCw20BalanceResponse) Reset() { *x = GetCw20BalanceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[58] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5145,7 +5310,7 @@ func (x *GetCw20BalanceResponse) String() string { func (*GetCw20BalanceResponse) ProtoMessage() {} func (x *GetCw20BalanceResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[58] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5158,7 +5323,7 @@ func (x *GetCw20BalanceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCw20BalanceResponse.ProtoReflect.Descriptor instead. func (*GetCw20BalanceResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{58} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{60} } func (x *GetCw20BalanceResponse) GetField() []*WasmCw20Balance { @@ -5187,7 +5352,7 @@ type WasmCw20Balance struct { func (x *WasmCw20Balance) Reset() { *x = WasmCw20Balance{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[59] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5200,7 +5365,7 @@ func (x *WasmCw20Balance) String() string { func (*WasmCw20Balance) ProtoMessage() {} func (x *WasmCw20Balance) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[59] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5213,7 +5378,7 @@ func (x *WasmCw20Balance) ProtoReflect() protoreflect.Message { // Deprecated: Use WasmCw20Balance.ProtoReflect.Descriptor instead. func (*WasmCw20Balance) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{59} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{61} } func (x *WasmCw20Balance) GetContractAddress() string { @@ -5263,7 +5428,7 @@ type RelayersRequest struct { func (x *RelayersRequest) Reset() { *x = RelayersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[60] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5276,7 +5441,7 @@ func (x *RelayersRequest) String() string { func (*RelayersRequest) ProtoMessage() {} func (x *RelayersRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[60] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5289,7 +5454,7 @@ func (x *RelayersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RelayersRequest.ProtoReflect.Descriptor instead. func (*RelayersRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{60} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{62} } func (x *RelayersRequest) GetMarketIDs() []string { @@ -5310,7 +5475,7 @@ type RelayersResponse struct { func (x *RelayersResponse) Reset() { *x = RelayersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[61] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5323,7 +5488,7 @@ func (x *RelayersResponse) String() string { func (*RelayersResponse) ProtoMessage() {} func (x *RelayersResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[61] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5336,7 +5501,7 @@ func (x *RelayersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RelayersResponse.ProtoReflect.Descriptor instead. func (*RelayersResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{61} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{63} } func (x *RelayersResponse) GetField() []*RelayerMarkets { @@ -5360,7 +5525,7 @@ type RelayerMarkets struct { func (x *RelayerMarkets) Reset() { *x = RelayerMarkets{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[62] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5373,7 +5538,7 @@ func (x *RelayerMarkets) String() string { func (*RelayerMarkets) ProtoMessage() {} func (x *RelayerMarkets) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[62] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5386,7 +5551,7 @@ func (x *RelayerMarkets) ProtoReflect() protoreflect.Message { // Deprecated: Use RelayerMarkets.ProtoReflect.Descriptor instead. func (*RelayerMarkets) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{62} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{64} } func (x *RelayerMarkets) GetMarketId() string { @@ -5417,7 +5582,7 @@ type Relayer struct { func (x *Relayer) Reset() { *x = Relayer{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[63] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5430,7 +5595,7 @@ func (x *Relayer) String() string { func (*Relayer) ProtoMessage() {} func (x *Relayer) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[63] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5443,7 +5608,7 @@ func (x *Relayer) ProtoReflect() protoreflect.Message { // Deprecated: Use Relayer.ProtoReflect.Descriptor instead. func (*Relayer) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{63} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{65} } func (x *Relayer) GetName() string { @@ -5489,7 +5654,7 @@ type GetBankTransfersRequest struct { func (x *GetBankTransfersRequest) Reset() { *x = GetBankTransfersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[64] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5502,7 +5667,7 @@ func (x *GetBankTransfersRequest) String() string { func (*GetBankTransfersRequest) ProtoMessage() {} func (x *GetBankTransfersRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[64] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5515,7 +5680,7 @@ func (x *GetBankTransfersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBankTransfersRequest.ProtoReflect.Descriptor instead. func (*GetBankTransfersRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{64} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{66} } func (x *GetBankTransfersRequest) GetSenders() []string { @@ -5600,7 +5765,7 @@ type GetBankTransfersResponse struct { func (x *GetBankTransfersResponse) Reset() { *x = GetBankTransfersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[65] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5613,7 +5778,7 @@ func (x *GetBankTransfersResponse) String() string { func (*GetBankTransfersResponse) ProtoMessage() {} func (x *GetBankTransfersResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[65] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5626,7 +5791,7 @@ func (x *GetBankTransfersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBankTransfersResponse.ProtoReflect.Descriptor instead. func (*GetBankTransfersResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{65} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{67} } func (x *GetBankTransfersResponse) GetPaging() *Paging { @@ -5660,7 +5825,7 @@ type BankTransfer struct { func (x *BankTransfer) Reset() { *x = BankTransfer{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[66] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5673,7 +5838,7 @@ func (x *BankTransfer) String() string { func (*BankTransfer) ProtoMessage() {} func (x *BankTransfer) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[66] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5686,7 +5851,7 @@ func (x *BankTransfer) ProtoReflect() protoreflect.Message { // Deprecated: Use BankTransfer.ProtoReflect.Descriptor instead. func (*BankTransfer) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{66} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{68} } func (x *BankTransfer) GetSender() string { @@ -5737,7 +5902,7 @@ type Coin struct { func (x *Coin) Reset() { *x = Coin{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[67] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5750,7 +5915,7 @@ func (x *Coin) String() string { func (*Coin) ProtoMessage() {} func (x *Coin) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[67] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5763,7 +5928,7 @@ func (x *Coin) ProtoReflect() protoreflect.Message { // Deprecated: Use Coin.ProtoReflect.Descriptor instead. func (*Coin) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{67} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{69} } func (x *Coin) GetDenom() string { @@ -5789,7 +5954,7 @@ type StreamTxsRequest struct { func (x *StreamTxsRequest) Reset() { *x = StreamTxsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[68] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5802,7 +5967,7 @@ func (x *StreamTxsRequest) String() string { func (*StreamTxsRequest) ProtoMessage() {} func (x *StreamTxsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[68] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5815,7 +5980,7 @@ func (x *StreamTxsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTxsRequest.ProtoReflect.Descriptor instead. func (*StreamTxsRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{68} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{70} } type StreamTxsResponse struct { @@ -5840,7 +6005,7 @@ type StreamTxsResponse struct { func (x *StreamTxsResponse) Reset() { *x = StreamTxsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[69] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5853,7 +6018,7 @@ func (x *StreamTxsResponse) String() string { func (*StreamTxsResponse) ProtoMessage() {} func (x *StreamTxsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[69] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5866,7 +6031,7 @@ func (x *StreamTxsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTxsResponse.ProtoReflect.Descriptor instead. func (*StreamTxsResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{69} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{71} } func (x *StreamTxsResponse) GetId() string { @@ -5948,7 +6113,7 @@ type StreamBlocksRequest struct { func (x *StreamBlocksRequest) Reset() { *x = StreamBlocksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[70] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5961,7 +6126,7 @@ func (x *StreamBlocksRequest) String() string { func (*StreamBlocksRequest) ProtoMessage() {} func (x *StreamBlocksRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[70] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5974,7 +6139,7 @@ func (x *StreamBlocksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamBlocksRequest.ProtoReflect.Descriptor instead. func (*StreamBlocksRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{70} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{72} } type StreamBlocksResponse struct { @@ -5996,7 +6161,7 @@ type StreamBlocksResponse struct { func (x *StreamBlocksResponse) Reset() { *x = StreamBlocksResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[71] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6009,7 +6174,7 @@ func (x *StreamBlocksResponse) String() string { func (*StreamBlocksResponse) ProtoMessage() {} func (x *StreamBlocksResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[71] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6022,7 +6187,7 @@ func (x *StreamBlocksResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamBlocksResponse.ProtoReflect.Descriptor instead. func (*StreamBlocksResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{71} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{73} } func (x *StreamBlocksResponse) GetHeight() uint64 { @@ -6088,158 +6253,225 @@ func (x *StreamBlocksResponse) GetTimestamp() string { return "" } -var File_injective_explorer_rpc_proto protoreflect.FileDescriptor +var File_goadesign_goagen_injective_explorer_rpc_proto protoreflect.FileDescriptor -var file_injective_explorer_rpc_proto_rawDesc = []byte{ - 0x0a, 0x1c, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, - 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, - 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x22, 0xc4, 0x02, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 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, 0x16, 0x0a, 0x06, 0x62, 0x65, 0x66, - 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, - 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, - 0x07, 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, 0x08, 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, 0x09, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x08, 0x74, 0x6f, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, - 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, - 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x89, 0x01, - 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 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, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, - 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, - 0x0a, 0x02, 0x74, 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, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, - 0x78, 0x74, 0x22, 0xab, 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, 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, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, - 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x09, 0x67, 0x61, 0x73, 0x57, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x12, 0x19, - 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x07, 0x67, 0x61, 0x73, 0x55, 0x73, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x07, 0x67, 0x61, 0x73, - 0x5f, 0x66, 0x65, 0x65, 0x18, 0x0b, 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, 0x47, 0x61, 0x73, 0x46, 0x65, 0x65, 0x52, 0x06, 0x67, 0x61, 0x73, 0x46, - 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x12, 0x35, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1d, 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, 0x52, - 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0a, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x10, 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, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, - 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, - 0x65, 0x6d, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x78, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x30, 0x0a, 0x14, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 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, 0x12, - 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6c, - 0x6f, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x16, 0x20, 0x03, 0x28, 0x12, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x49, 0x64, 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, +var file_goadesign_goagen_injective_explorer_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, + 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x16, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, + 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x22, 0xc4, 0x02, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 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, 0x16, 0x0a, 0x06, 0x62, 0x65, + 0x66, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x62, 0x65, 0x66, 0x6f, + 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, + 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, + 0x18, 0x07, 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, 0x08, 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, 0x09, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x08, 0x74, 0x6f, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x89, + 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 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, 0x86, 0x01, 0x0a, 0x06, 0x50, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, + 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, + 0x0e, 0x0a, 0x02, 0x74, 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, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x65, 0x78, 0x74, 0x22, 0xab, 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, 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, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, + 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, + 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x67, 0x61, 0x73, 0x57, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x12, + 0x19, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x07, 0x67, 0x61, 0x73, 0x55, 0x73, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x07, 0x67, 0x61, + 0x73, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x0b, 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, 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, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x61, 0x73, 0x46, 0x65, 0x65, 0x52, 0x06, 0x67, 0x61, 0x73, + 0x46, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x35, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1d, 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, + 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x41, 0x0a, + 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x10, 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, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x78, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x30, 0x0a, 0x14, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 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, + 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, + 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x12, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x49, 0x64, + 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, 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, + 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, + 0x9b, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, + 0x78, 0x73, 0x56, 0x32, 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, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x04, 0x66, 0x72, 0x6f, + 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x02, 0x74, + 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, + 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x68, 0x0a, + 0x18, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x73, 0x56, + 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, + 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 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, 0x7a, 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, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x66, + 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x02, 0x74, 0x6f, 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, 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, + 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, 0xa0, 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, 0x12, 0x1b, + 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, + 0x12, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x49, 0x64, 0x73, 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, @@ -6252,900 +6484,861 @@ var file_injective_explorer_rpc_proto_rawDesc = []byte{ 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, 0xa0, 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, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, - 0x20, 0x03, 0x28, 0x12, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x49, 0x64, 0x73, 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, 0xd3, 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, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0c, - 0x20, 0x03, 0x28, 0x12, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x49, 0x64, 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, 0xb5, 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, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x55, 0x72, 0x6c, 0x22, 0xc8, 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, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 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, + 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, 0xd3, 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, 0x12, 0x1b, + 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, + 0x12, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x49, 0x64, 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, 0xb5, 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, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, + 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, + 0x6c, 0x22, 0xc8, 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, 0x12, + 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 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, 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, 0xa3, - 0x02, 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, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 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, + 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, 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, + 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, 0xa3, 0x02, 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, 0x12, + 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 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, 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, + 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, 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, + 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, 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, + 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, 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, 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, + 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, 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, 0xd1, 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, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 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, 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, 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, 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, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 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, 0xd1, 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, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 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, 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, 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, + 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, 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, + 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, 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, 0xbd, 0x02, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6e, + 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x72, + 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x69, + 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, + 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, + 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x52, + 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, + 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6e, + 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 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, 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x22, 0xc8, 0x01, 0x0a, 0x0c, 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 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, 0x1c, 0x0a, + 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x07, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 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, 0xbd, 0x02, 0x0a, 0x17, 0x47, 0x65, 0x74, - 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1e, - 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x39, - 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x70, - 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x16, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x50, 0x6f, - 0x6f, 0x6c, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, - 0x6b, 0x69, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, - 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, - 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 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, 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc8, 0x01, 0x0a, 0x0c, 0x42, 0x61, 0x6e, 0x6b, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 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, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x36, - 0x0a, 0x07, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1c, 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, 0x69, 0x6e, 0x52, 0x07, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 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, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x22, 0x34, 0x0a, 0x04, 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, 0x12, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa8, 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, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, - 0x61, 0x69, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x12, 0x52, 0x08, 0x63, - 0x6c, 0x61, 0x69, 0x6d, 0x49, 0x64, 0x73, 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, 0xcf, 0x12, 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, 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, + 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x07, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x18, 0x04, 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, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, + 0x34, 0x0a, 0x04, 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, 0x12, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, + 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa8, 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, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x69, 0x6d, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x12, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x69, + 0x6d, 0x49, 0x64, 0x73, 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, 0xc6, 0x13, 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, 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, + 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, 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, 0x75, + 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x73, + 0x56, 0x32, 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, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x73, 0x56, 0x32, 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, - 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, 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, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x73, 0x56, 0x32, 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, 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, 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, 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, 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, + 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, 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, + 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, 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, + 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, 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, 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, + 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, 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, 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, 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, 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, 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, + 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, 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, 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, + 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, 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, + 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, 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, + 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, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 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, 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 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, 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 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, + 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, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x61, + 0x6e, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 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, 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 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, 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 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 ( - file_injective_explorer_rpc_proto_rawDescOnce sync.Once - file_injective_explorer_rpc_proto_rawDescData = file_injective_explorer_rpc_proto_rawDesc + file_goadesign_goagen_injective_explorer_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_explorer_rpc_proto_rawDescData = file_goadesign_goagen_injective_explorer_rpc_proto_rawDesc ) -func file_injective_explorer_rpc_proto_rawDescGZIP() []byte { - file_injective_explorer_rpc_proto_rawDescOnce.Do(func() { - file_injective_explorer_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_explorer_rpc_proto_rawDescData) +func file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_explorer_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_explorer_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_explorer_rpc_proto_rawDescData) }) - return file_injective_explorer_rpc_proto_rawDescData + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescData } -var file_injective_explorer_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 73) -var file_injective_explorer_rpc_proto_goTypes = []interface{}{ +var file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 75) +var file_goadesign_goagen_injective_explorer_rpc_proto_goTypes = []interface{}{ (*GetAccountTxsRequest)(nil), // 0: injective_explorer_rpc.GetAccountTxsRequest (*GetAccountTxsResponse)(nil), // 1: injective_explorer_rpc.GetAccountTxsResponse (*Paging)(nil), // 2: injective_explorer_rpc.Paging @@ -7156,175 +7349,180 @@ var file_injective_explorer_rpc_proto_goTypes = []interface{}{ (*Signature)(nil), // 7: injective_explorer_rpc.Signature (*GetContractTxsRequest)(nil), // 8: injective_explorer_rpc.GetContractTxsRequest (*GetContractTxsResponse)(nil), // 9: injective_explorer_rpc.GetContractTxsResponse - (*GetBlocksRequest)(nil), // 10: injective_explorer_rpc.GetBlocksRequest - (*GetBlocksResponse)(nil), // 11: injective_explorer_rpc.GetBlocksResponse - (*BlockInfo)(nil), // 12: injective_explorer_rpc.BlockInfo - (*TxDataRPC)(nil), // 13: injective_explorer_rpc.TxDataRPC - (*GetBlockRequest)(nil), // 14: injective_explorer_rpc.GetBlockRequest - (*GetBlockResponse)(nil), // 15: injective_explorer_rpc.GetBlockResponse - (*BlockDetailInfo)(nil), // 16: injective_explorer_rpc.BlockDetailInfo - (*TxData)(nil), // 17: injective_explorer_rpc.TxData - (*GetValidatorsRequest)(nil), // 18: injective_explorer_rpc.GetValidatorsRequest - (*GetValidatorsResponse)(nil), // 19: injective_explorer_rpc.GetValidatorsResponse - (*Validator)(nil), // 20: injective_explorer_rpc.Validator - (*ValidatorDescription)(nil), // 21: injective_explorer_rpc.ValidatorDescription - (*ValidatorUptime)(nil), // 22: injective_explorer_rpc.ValidatorUptime - (*SlashingEvent)(nil), // 23: injective_explorer_rpc.SlashingEvent - (*GetValidatorRequest)(nil), // 24: injective_explorer_rpc.GetValidatorRequest - (*GetValidatorResponse)(nil), // 25: injective_explorer_rpc.GetValidatorResponse - (*GetValidatorUptimeRequest)(nil), // 26: injective_explorer_rpc.GetValidatorUptimeRequest - (*GetValidatorUptimeResponse)(nil), // 27: injective_explorer_rpc.GetValidatorUptimeResponse - (*GetTxsRequest)(nil), // 28: injective_explorer_rpc.GetTxsRequest - (*GetTxsResponse)(nil), // 29: injective_explorer_rpc.GetTxsResponse - (*GetTxByTxHashRequest)(nil), // 30: injective_explorer_rpc.GetTxByTxHashRequest - (*GetTxByTxHashResponse)(nil), // 31: injective_explorer_rpc.GetTxByTxHashResponse - (*GetPeggyDepositTxsRequest)(nil), // 32: injective_explorer_rpc.GetPeggyDepositTxsRequest - (*GetPeggyDepositTxsResponse)(nil), // 33: injective_explorer_rpc.GetPeggyDepositTxsResponse - (*PeggyDepositTx)(nil), // 34: injective_explorer_rpc.PeggyDepositTx - (*GetPeggyWithdrawalTxsRequest)(nil), // 35: injective_explorer_rpc.GetPeggyWithdrawalTxsRequest - (*GetPeggyWithdrawalTxsResponse)(nil), // 36: injective_explorer_rpc.GetPeggyWithdrawalTxsResponse - (*PeggyWithdrawalTx)(nil), // 37: injective_explorer_rpc.PeggyWithdrawalTx - (*GetIBCTransferTxsRequest)(nil), // 38: injective_explorer_rpc.GetIBCTransferTxsRequest - (*GetIBCTransferTxsResponse)(nil), // 39: injective_explorer_rpc.GetIBCTransferTxsResponse - (*IBCTransferTx)(nil), // 40: injective_explorer_rpc.IBCTransferTx - (*GetWasmCodesRequest)(nil), // 41: injective_explorer_rpc.GetWasmCodesRequest - (*GetWasmCodesResponse)(nil), // 42: injective_explorer_rpc.GetWasmCodesResponse - (*WasmCode)(nil), // 43: injective_explorer_rpc.WasmCode - (*Checksum)(nil), // 44: injective_explorer_rpc.Checksum - (*ContractPermission)(nil), // 45: injective_explorer_rpc.ContractPermission - (*GetWasmCodeByIDRequest)(nil), // 46: injective_explorer_rpc.GetWasmCodeByIDRequest - (*GetWasmCodeByIDResponse)(nil), // 47: injective_explorer_rpc.GetWasmCodeByIDResponse - (*GetWasmContractsRequest)(nil), // 48: injective_explorer_rpc.GetWasmContractsRequest - (*GetWasmContractsResponse)(nil), // 49: injective_explorer_rpc.GetWasmContractsResponse - (*WasmContract)(nil), // 50: injective_explorer_rpc.WasmContract - (*ContractFund)(nil), // 51: injective_explorer_rpc.ContractFund - (*Cw20Metadata)(nil), // 52: injective_explorer_rpc.Cw20Metadata - (*Cw20TokenInfo)(nil), // 53: injective_explorer_rpc.Cw20TokenInfo - (*Cw20MarketingInfo)(nil), // 54: injective_explorer_rpc.Cw20MarketingInfo - (*GetWasmContractByAddressRequest)(nil), // 55: injective_explorer_rpc.GetWasmContractByAddressRequest - (*GetWasmContractByAddressResponse)(nil), // 56: injective_explorer_rpc.GetWasmContractByAddressResponse - (*GetCw20BalanceRequest)(nil), // 57: injective_explorer_rpc.GetCw20BalanceRequest - (*GetCw20BalanceResponse)(nil), // 58: injective_explorer_rpc.GetCw20BalanceResponse - (*WasmCw20Balance)(nil), // 59: injective_explorer_rpc.WasmCw20Balance - (*RelayersRequest)(nil), // 60: injective_explorer_rpc.RelayersRequest - (*RelayersResponse)(nil), // 61: injective_explorer_rpc.RelayersResponse - (*RelayerMarkets)(nil), // 62: injective_explorer_rpc.RelayerMarkets - (*Relayer)(nil), // 63: injective_explorer_rpc.Relayer - (*GetBankTransfersRequest)(nil), // 64: injective_explorer_rpc.GetBankTransfersRequest - (*GetBankTransfersResponse)(nil), // 65: injective_explorer_rpc.GetBankTransfersResponse - (*BankTransfer)(nil), // 66: injective_explorer_rpc.BankTransfer - (*Coin)(nil), // 67: injective_explorer_rpc.Coin - (*StreamTxsRequest)(nil), // 68: injective_explorer_rpc.StreamTxsRequest - (*StreamTxsResponse)(nil), // 69: injective_explorer_rpc.StreamTxsResponse - (*StreamBlocksRequest)(nil), // 70: injective_explorer_rpc.StreamBlocksRequest - (*StreamBlocksResponse)(nil), // 71: injective_explorer_rpc.StreamBlocksResponse - nil, // 72: injective_explorer_rpc.Event.AttributesEntry -} -var file_injective_explorer_rpc_proto_depIdxs = []int32{ + (*GetContractTxsV2Request)(nil), // 10: injective_explorer_rpc.GetContractTxsV2Request + (*GetContractTxsV2Response)(nil), // 11: injective_explorer_rpc.GetContractTxsV2Response + (*GetBlocksRequest)(nil), // 12: injective_explorer_rpc.GetBlocksRequest + (*GetBlocksResponse)(nil), // 13: injective_explorer_rpc.GetBlocksResponse + (*BlockInfo)(nil), // 14: injective_explorer_rpc.BlockInfo + (*TxDataRPC)(nil), // 15: injective_explorer_rpc.TxDataRPC + (*GetBlockRequest)(nil), // 16: injective_explorer_rpc.GetBlockRequest + (*GetBlockResponse)(nil), // 17: injective_explorer_rpc.GetBlockResponse + (*BlockDetailInfo)(nil), // 18: injective_explorer_rpc.BlockDetailInfo + (*TxData)(nil), // 19: injective_explorer_rpc.TxData + (*GetValidatorsRequest)(nil), // 20: injective_explorer_rpc.GetValidatorsRequest + (*GetValidatorsResponse)(nil), // 21: injective_explorer_rpc.GetValidatorsResponse + (*Validator)(nil), // 22: injective_explorer_rpc.Validator + (*ValidatorDescription)(nil), // 23: injective_explorer_rpc.ValidatorDescription + (*ValidatorUptime)(nil), // 24: injective_explorer_rpc.ValidatorUptime + (*SlashingEvent)(nil), // 25: injective_explorer_rpc.SlashingEvent + (*GetValidatorRequest)(nil), // 26: injective_explorer_rpc.GetValidatorRequest + (*GetValidatorResponse)(nil), // 27: injective_explorer_rpc.GetValidatorResponse + (*GetValidatorUptimeRequest)(nil), // 28: injective_explorer_rpc.GetValidatorUptimeRequest + (*GetValidatorUptimeResponse)(nil), // 29: injective_explorer_rpc.GetValidatorUptimeResponse + (*GetTxsRequest)(nil), // 30: injective_explorer_rpc.GetTxsRequest + (*GetTxsResponse)(nil), // 31: injective_explorer_rpc.GetTxsResponse + (*GetTxByTxHashRequest)(nil), // 32: injective_explorer_rpc.GetTxByTxHashRequest + (*GetTxByTxHashResponse)(nil), // 33: injective_explorer_rpc.GetTxByTxHashResponse + (*GetPeggyDepositTxsRequest)(nil), // 34: injective_explorer_rpc.GetPeggyDepositTxsRequest + (*GetPeggyDepositTxsResponse)(nil), // 35: injective_explorer_rpc.GetPeggyDepositTxsResponse + (*PeggyDepositTx)(nil), // 36: injective_explorer_rpc.PeggyDepositTx + (*GetPeggyWithdrawalTxsRequest)(nil), // 37: injective_explorer_rpc.GetPeggyWithdrawalTxsRequest + (*GetPeggyWithdrawalTxsResponse)(nil), // 38: injective_explorer_rpc.GetPeggyWithdrawalTxsResponse + (*PeggyWithdrawalTx)(nil), // 39: injective_explorer_rpc.PeggyWithdrawalTx + (*GetIBCTransferTxsRequest)(nil), // 40: injective_explorer_rpc.GetIBCTransferTxsRequest + (*GetIBCTransferTxsResponse)(nil), // 41: injective_explorer_rpc.GetIBCTransferTxsResponse + (*IBCTransferTx)(nil), // 42: injective_explorer_rpc.IBCTransferTx + (*GetWasmCodesRequest)(nil), // 43: injective_explorer_rpc.GetWasmCodesRequest + (*GetWasmCodesResponse)(nil), // 44: injective_explorer_rpc.GetWasmCodesResponse + (*WasmCode)(nil), // 45: injective_explorer_rpc.WasmCode + (*Checksum)(nil), // 46: injective_explorer_rpc.Checksum + (*ContractPermission)(nil), // 47: injective_explorer_rpc.ContractPermission + (*GetWasmCodeByIDRequest)(nil), // 48: injective_explorer_rpc.GetWasmCodeByIDRequest + (*GetWasmCodeByIDResponse)(nil), // 49: injective_explorer_rpc.GetWasmCodeByIDResponse + (*GetWasmContractsRequest)(nil), // 50: injective_explorer_rpc.GetWasmContractsRequest + (*GetWasmContractsResponse)(nil), // 51: injective_explorer_rpc.GetWasmContractsResponse + (*WasmContract)(nil), // 52: injective_explorer_rpc.WasmContract + (*ContractFund)(nil), // 53: injective_explorer_rpc.ContractFund + (*Cw20Metadata)(nil), // 54: injective_explorer_rpc.Cw20Metadata + (*Cw20TokenInfo)(nil), // 55: injective_explorer_rpc.Cw20TokenInfo + (*Cw20MarketingInfo)(nil), // 56: injective_explorer_rpc.Cw20MarketingInfo + (*GetWasmContractByAddressRequest)(nil), // 57: injective_explorer_rpc.GetWasmContractByAddressRequest + (*GetWasmContractByAddressResponse)(nil), // 58: injective_explorer_rpc.GetWasmContractByAddressResponse + (*GetCw20BalanceRequest)(nil), // 59: injective_explorer_rpc.GetCw20BalanceRequest + (*GetCw20BalanceResponse)(nil), // 60: injective_explorer_rpc.GetCw20BalanceResponse + (*WasmCw20Balance)(nil), // 61: injective_explorer_rpc.WasmCw20Balance + (*RelayersRequest)(nil), // 62: injective_explorer_rpc.RelayersRequest + (*RelayersResponse)(nil), // 63: injective_explorer_rpc.RelayersResponse + (*RelayerMarkets)(nil), // 64: injective_explorer_rpc.RelayerMarkets + (*Relayer)(nil), // 65: injective_explorer_rpc.Relayer + (*GetBankTransfersRequest)(nil), // 66: injective_explorer_rpc.GetBankTransfersRequest + (*GetBankTransfersResponse)(nil), // 67: injective_explorer_rpc.GetBankTransfersResponse + (*BankTransfer)(nil), // 68: injective_explorer_rpc.BankTransfer + (*Coin)(nil), // 69: injective_explorer_rpc.Coin + (*StreamTxsRequest)(nil), // 70: injective_explorer_rpc.StreamTxsRequest + (*StreamTxsResponse)(nil), // 71: injective_explorer_rpc.StreamTxsResponse + (*StreamBlocksRequest)(nil), // 72: injective_explorer_rpc.StreamBlocksRequest + (*StreamBlocksResponse)(nil), // 73: injective_explorer_rpc.StreamBlocksResponse + nil, // 74: injective_explorer_rpc.Event.AttributesEntry +} +var file_goadesign_goagen_injective_explorer_rpc_proto_depIdxs = []int32{ 2, // 0: injective_explorer_rpc.GetAccountTxsResponse.paging:type_name -> injective_explorer_rpc.Paging 3, // 1: injective_explorer_rpc.GetAccountTxsResponse.data:type_name -> injective_explorer_rpc.TxDetailData 4, // 2: injective_explorer_rpc.TxDetailData.gas_fee:type_name -> injective_explorer_rpc.GasFee 6, // 3: injective_explorer_rpc.TxDetailData.events:type_name -> injective_explorer_rpc.Event 7, // 4: injective_explorer_rpc.TxDetailData.signatures:type_name -> injective_explorer_rpc.Signature 5, // 5: injective_explorer_rpc.GasFee.amount:type_name -> injective_explorer_rpc.CosmosCoin - 72, // 6: injective_explorer_rpc.Event.attributes:type_name -> injective_explorer_rpc.Event.AttributesEntry + 74, // 6: injective_explorer_rpc.Event.attributes:type_name -> injective_explorer_rpc.Event.AttributesEntry 2, // 7: injective_explorer_rpc.GetContractTxsResponse.paging:type_name -> injective_explorer_rpc.Paging 3, // 8: injective_explorer_rpc.GetContractTxsResponse.data:type_name -> injective_explorer_rpc.TxDetailData - 2, // 9: injective_explorer_rpc.GetBlocksResponse.paging:type_name -> injective_explorer_rpc.Paging - 12, // 10: injective_explorer_rpc.GetBlocksResponse.data:type_name -> injective_explorer_rpc.BlockInfo - 13, // 11: injective_explorer_rpc.BlockInfo.txs:type_name -> injective_explorer_rpc.TxDataRPC - 16, // 12: injective_explorer_rpc.GetBlockResponse.data:type_name -> injective_explorer_rpc.BlockDetailInfo - 17, // 13: injective_explorer_rpc.BlockDetailInfo.txs:type_name -> injective_explorer_rpc.TxData - 20, // 14: injective_explorer_rpc.GetValidatorsResponse.data:type_name -> injective_explorer_rpc.Validator - 21, // 15: injective_explorer_rpc.Validator.description:type_name -> injective_explorer_rpc.ValidatorDescription - 22, // 16: injective_explorer_rpc.Validator.uptimes:type_name -> injective_explorer_rpc.ValidatorUptime - 23, // 17: injective_explorer_rpc.Validator.slashing_events:type_name -> injective_explorer_rpc.SlashingEvent - 20, // 18: injective_explorer_rpc.GetValidatorResponse.data:type_name -> injective_explorer_rpc.Validator - 22, // 19: injective_explorer_rpc.GetValidatorUptimeResponse.data:type_name -> injective_explorer_rpc.ValidatorUptime - 2, // 20: injective_explorer_rpc.GetTxsResponse.paging:type_name -> injective_explorer_rpc.Paging - 17, // 21: injective_explorer_rpc.GetTxsResponse.data:type_name -> injective_explorer_rpc.TxData - 3, // 22: injective_explorer_rpc.GetTxByTxHashResponse.data:type_name -> injective_explorer_rpc.TxDetailData - 34, // 23: injective_explorer_rpc.GetPeggyDepositTxsResponse.field:type_name -> injective_explorer_rpc.PeggyDepositTx - 37, // 24: injective_explorer_rpc.GetPeggyWithdrawalTxsResponse.field:type_name -> injective_explorer_rpc.PeggyWithdrawalTx - 40, // 25: injective_explorer_rpc.GetIBCTransferTxsResponse.field:type_name -> injective_explorer_rpc.IBCTransferTx - 2, // 26: injective_explorer_rpc.GetWasmCodesResponse.paging:type_name -> injective_explorer_rpc.Paging - 43, // 27: injective_explorer_rpc.GetWasmCodesResponse.data:type_name -> injective_explorer_rpc.WasmCode - 44, // 28: injective_explorer_rpc.WasmCode.checksum:type_name -> injective_explorer_rpc.Checksum - 45, // 29: injective_explorer_rpc.WasmCode.permission:type_name -> injective_explorer_rpc.ContractPermission - 44, // 30: injective_explorer_rpc.GetWasmCodeByIDResponse.checksum:type_name -> injective_explorer_rpc.Checksum - 45, // 31: injective_explorer_rpc.GetWasmCodeByIDResponse.permission:type_name -> injective_explorer_rpc.ContractPermission - 2, // 32: injective_explorer_rpc.GetWasmContractsResponse.paging:type_name -> injective_explorer_rpc.Paging - 50, // 33: injective_explorer_rpc.GetWasmContractsResponse.data:type_name -> injective_explorer_rpc.WasmContract - 51, // 34: injective_explorer_rpc.WasmContract.funds:type_name -> injective_explorer_rpc.ContractFund - 52, // 35: injective_explorer_rpc.WasmContract.cw20_metadata:type_name -> injective_explorer_rpc.Cw20Metadata - 53, // 36: injective_explorer_rpc.Cw20Metadata.token_info:type_name -> injective_explorer_rpc.Cw20TokenInfo - 54, // 37: injective_explorer_rpc.Cw20Metadata.marketing_info:type_name -> injective_explorer_rpc.Cw20MarketingInfo - 51, // 38: injective_explorer_rpc.GetWasmContractByAddressResponse.funds:type_name -> injective_explorer_rpc.ContractFund - 52, // 39: injective_explorer_rpc.GetWasmContractByAddressResponse.cw20_metadata:type_name -> injective_explorer_rpc.Cw20Metadata - 59, // 40: injective_explorer_rpc.GetCw20BalanceResponse.field:type_name -> injective_explorer_rpc.WasmCw20Balance - 52, // 41: injective_explorer_rpc.WasmCw20Balance.cw20_metadata:type_name -> injective_explorer_rpc.Cw20Metadata - 62, // 42: injective_explorer_rpc.RelayersResponse.field:type_name -> injective_explorer_rpc.RelayerMarkets - 63, // 43: injective_explorer_rpc.RelayerMarkets.relayers:type_name -> injective_explorer_rpc.Relayer - 2, // 44: injective_explorer_rpc.GetBankTransfersResponse.paging:type_name -> injective_explorer_rpc.Paging - 66, // 45: injective_explorer_rpc.GetBankTransfersResponse.data:type_name -> injective_explorer_rpc.BankTransfer - 67, // 46: injective_explorer_rpc.BankTransfer.amounts:type_name -> injective_explorer_rpc.Coin - 13, // 47: injective_explorer_rpc.StreamBlocksResponse.txs:type_name -> injective_explorer_rpc.TxDataRPC - 0, // 48: injective_explorer_rpc.InjectiveExplorerRPC.GetAccountTxs:input_type -> injective_explorer_rpc.GetAccountTxsRequest - 8, // 49: injective_explorer_rpc.InjectiveExplorerRPC.GetContractTxs:input_type -> injective_explorer_rpc.GetContractTxsRequest - 10, // 50: injective_explorer_rpc.InjectiveExplorerRPC.GetBlocks:input_type -> injective_explorer_rpc.GetBlocksRequest - 14, // 51: injective_explorer_rpc.InjectiveExplorerRPC.GetBlock:input_type -> injective_explorer_rpc.GetBlockRequest - 18, // 52: injective_explorer_rpc.InjectiveExplorerRPC.GetValidators:input_type -> injective_explorer_rpc.GetValidatorsRequest - 24, // 53: injective_explorer_rpc.InjectiveExplorerRPC.GetValidator:input_type -> injective_explorer_rpc.GetValidatorRequest - 26, // 54: injective_explorer_rpc.InjectiveExplorerRPC.GetValidatorUptime:input_type -> injective_explorer_rpc.GetValidatorUptimeRequest - 28, // 55: injective_explorer_rpc.InjectiveExplorerRPC.GetTxs:input_type -> injective_explorer_rpc.GetTxsRequest - 30, // 56: injective_explorer_rpc.InjectiveExplorerRPC.GetTxByTxHash:input_type -> injective_explorer_rpc.GetTxByTxHashRequest - 32, // 57: injective_explorer_rpc.InjectiveExplorerRPC.GetPeggyDepositTxs:input_type -> injective_explorer_rpc.GetPeggyDepositTxsRequest - 35, // 58: injective_explorer_rpc.InjectiveExplorerRPC.GetPeggyWithdrawalTxs:input_type -> injective_explorer_rpc.GetPeggyWithdrawalTxsRequest - 38, // 59: injective_explorer_rpc.InjectiveExplorerRPC.GetIBCTransferTxs:input_type -> injective_explorer_rpc.GetIBCTransferTxsRequest - 41, // 60: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmCodes:input_type -> injective_explorer_rpc.GetWasmCodesRequest - 46, // 61: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmCodeByID:input_type -> injective_explorer_rpc.GetWasmCodeByIDRequest - 48, // 62: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmContracts:input_type -> injective_explorer_rpc.GetWasmContractsRequest - 55, // 63: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmContractByAddress:input_type -> injective_explorer_rpc.GetWasmContractByAddressRequest - 57, // 64: injective_explorer_rpc.InjectiveExplorerRPC.GetCw20Balance:input_type -> injective_explorer_rpc.GetCw20BalanceRequest - 60, // 65: injective_explorer_rpc.InjectiveExplorerRPC.Relayers:input_type -> injective_explorer_rpc.RelayersRequest - 64, // 66: injective_explorer_rpc.InjectiveExplorerRPC.GetBankTransfers:input_type -> injective_explorer_rpc.GetBankTransfersRequest - 68, // 67: injective_explorer_rpc.InjectiveExplorerRPC.StreamTxs:input_type -> injective_explorer_rpc.StreamTxsRequest - 70, // 68: injective_explorer_rpc.InjectiveExplorerRPC.StreamBlocks:input_type -> injective_explorer_rpc.StreamBlocksRequest - 1, // 69: injective_explorer_rpc.InjectiveExplorerRPC.GetAccountTxs:output_type -> injective_explorer_rpc.GetAccountTxsResponse - 9, // 70: injective_explorer_rpc.InjectiveExplorerRPC.GetContractTxs:output_type -> injective_explorer_rpc.GetContractTxsResponse - 11, // 71: injective_explorer_rpc.InjectiveExplorerRPC.GetBlocks:output_type -> injective_explorer_rpc.GetBlocksResponse - 15, // 72: injective_explorer_rpc.InjectiveExplorerRPC.GetBlock:output_type -> injective_explorer_rpc.GetBlockResponse - 19, // 73: injective_explorer_rpc.InjectiveExplorerRPC.GetValidators:output_type -> injective_explorer_rpc.GetValidatorsResponse - 25, // 74: injective_explorer_rpc.InjectiveExplorerRPC.GetValidator:output_type -> injective_explorer_rpc.GetValidatorResponse - 27, // 75: injective_explorer_rpc.InjectiveExplorerRPC.GetValidatorUptime:output_type -> injective_explorer_rpc.GetValidatorUptimeResponse - 29, // 76: injective_explorer_rpc.InjectiveExplorerRPC.GetTxs:output_type -> injective_explorer_rpc.GetTxsResponse - 31, // 77: injective_explorer_rpc.InjectiveExplorerRPC.GetTxByTxHash:output_type -> injective_explorer_rpc.GetTxByTxHashResponse - 33, // 78: injective_explorer_rpc.InjectiveExplorerRPC.GetPeggyDepositTxs:output_type -> injective_explorer_rpc.GetPeggyDepositTxsResponse - 36, // 79: injective_explorer_rpc.InjectiveExplorerRPC.GetPeggyWithdrawalTxs:output_type -> injective_explorer_rpc.GetPeggyWithdrawalTxsResponse - 39, // 80: injective_explorer_rpc.InjectiveExplorerRPC.GetIBCTransferTxs:output_type -> injective_explorer_rpc.GetIBCTransferTxsResponse - 42, // 81: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmCodes:output_type -> injective_explorer_rpc.GetWasmCodesResponse - 47, // 82: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmCodeByID:output_type -> injective_explorer_rpc.GetWasmCodeByIDResponse - 49, // 83: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmContracts:output_type -> injective_explorer_rpc.GetWasmContractsResponse - 56, // 84: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmContractByAddress:output_type -> injective_explorer_rpc.GetWasmContractByAddressResponse - 58, // 85: injective_explorer_rpc.InjectiveExplorerRPC.GetCw20Balance:output_type -> injective_explorer_rpc.GetCw20BalanceResponse - 61, // 86: injective_explorer_rpc.InjectiveExplorerRPC.Relayers:output_type -> injective_explorer_rpc.RelayersResponse - 65, // 87: injective_explorer_rpc.InjectiveExplorerRPC.GetBankTransfers:output_type -> injective_explorer_rpc.GetBankTransfersResponse - 69, // 88: injective_explorer_rpc.InjectiveExplorerRPC.StreamTxs:output_type -> injective_explorer_rpc.StreamTxsResponse - 71, // 89: injective_explorer_rpc.InjectiveExplorerRPC.StreamBlocks:output_type -> injective_explorer_rpc.StreamBlocksResponse - 69, // [69:90] is the sub-list for method output_type - 48, // [48:69] is the sub-list for method input_type - 48, // [48:48] is the sub-list for extension type_name - 48, // [48:48] is the sub-list for extension extendee - 0, // [0:48] is the sub-list for field type_name -} - -func init() { file_injective_explorer_rpc_proto_init() } -func file_injective_explorer_rpc_proto_init() { - if File_injective_explorer_rpc_proto != nil { + 3, // 9: injective_explorer_rpc.GetContractTxsV2Response.data:type_name -> injective_explorer_rpc.TxDetailData + 2, // 10: injective_explorer_rpc.GetBlocksResponse.paging:type_name -> injective_explorer_rpc.Paging + 14, // 11: injective_explorer_rpc.GetBlocksResponse.data:type_name -> injective_explorer_rpc.BlockInfo + 15, // 12: injective_explorer_rpc.BlockInfo.txs:type_name -> injective_explorer_rpc.TxDataRPC + 18, // 13: injective_explorer_rpc.GetBlockResponse.data:type_name -> injective_explorer_rpc.BlockDetailInfo + 19, // 14: injective_explorer_rpc.BlockDetailInfo.txs:type_name -> injective_explorer_rpc.TxData + 22, // 15: injective_explorer_rpc.GetValidatorsResponse.data:type_name -> injective_explorer_rpc.Validator + 23, // 16: injective_explorer_rpc.Validator.description:type_name -> injective_explorer_rpc.ValidatorDescription + 24, // 17: injective_explorer_rpc.Validator.uptimes:type_name -> injective_explorer_rpc.ValidatorUptime + 25, // 18: injective_explorer_rpc.Validator.slashing_events:type_name -> injective_explorer_rpc.SlashingEvent + 22, // 19: injective_explorer_rpc.GetValidatorResponse.data:type_name -> injective_explorer_rpc.Validator + 24, // 20: injective_explorer_rpc.GetValidatorUptimeResponse.data:type_name -> injective_explorer_rpc.ValidatorUptime + 2, // 21: injective_explorer_rpc.GetTxsResponse.paging:type_name -> injective_explorer_rpc.Paging + 19, // 22: injective_explorer_rpc.GetTxsResponse.data:type_name -> injective_explorer_rpc.TxData + 3, // 23: injective_explorer_rpc.GetTxByTxHashResponse.data:type_name -> injective_explorer_rpc.TxDetailData + 36, // 24: injective_explorer_rpc.GetPeggyDepositTxsResponse.field:type_name -> injective_explorer_rpc.PeggyDepositTx + 39, // 25: injective_explorer_rpc.GetPeggyWithdrawalTxsResponse.field:type_name -> injective_explorer_rpc.PeggyWithdrawalTx + 42, // 26: injective_explorer_rpc.GetIBCTransferTxsResponse.field:type_name -> injective_explorer_rpc.IBCTransferTx + 2, // 27: injective_explorer_rpc.GetWasmCodesResponse.paging:type_name -> injective_explorer_rpc.Paging + 45, // 28: injective_explorer_rpc.GetWasmCodesResponse.data:type_name -> injective_explorer_rpc.WasmCode + 46, // 29: injective_explorer_rpc.WasmCode.checksum:type_name -> injective_explorer_rpc.Checksum + 47, // 30: injective_explorer_rpc.WasmCode.permission:type_name -> injective_explorer_rpc.ContractPermission + 46, // 31: injective_explorer_rpc.GetWasmCodeByIDResponse.checksum:type_name -> injective_explorer_rpc.Checksum + 47, // 32: injective_explorer_rpc.GetWasmCodeByIDResponse.permission:type_name -> injective_explorer_rpc.ContractPermission + 2, // 33: injective_explorer_rpc.GetWasmContractsResponse.paging:type_name -> injective_explorer_rpc.Paging + 52, // 34: injective_explorer_rpc.GetWasmContractsResponse.data:type_name -> injective_explorer_rpc.WasmContract + 53, // 35: injective_explorer_rpc.WasmContract.funds:type_name -> injective_explorer_rpc.ContractFund + 54, // 36: injective_explorer_rpc.WasmContract.cw20_metadata:type_name -> injective_explorer_rpc.Cw20Metadata + 55, // 37: injective_explorer_rpc.Cw20Metadata.token_info:type_name -> injective_explorer_rpc.Cw20TokenInfo + 56, // 38: injective_explorer_rpc.Cw20Metadata.marketing_info:type_name -> injective_explorer_rpc.Cw20MarketingInfo + 53, // 39: injective_explorer_rpc.GetWasmContractByAddressResponse.funds:type_name -> injective_explorer_rpc.ContractFund + 54, // 40: injective_explorer_rpc.GetWasmContractByAddressResponse.cw20_metadata:type_name -> injective_explorer_rpc.Cw20Metadata + 61, // 41: injective_explorer_rpc.GetCw20BalanceResponse.field:type_name -> injective_explorer_rpc.WasmCw20Balance + 54, // 42: injective_explorer_rpc.WasmCw20Balance.cw20_metadata:type_name -> injective_explorer_rpc.Cw20Metadata + 64, // 43: injective_explorer_rpc.RelayersResponse.field:type_name -> injective_explorer_rpc.RelayerMarkets + 65, // 44: injective_explorer_rpc.RelayerMarkets.relayers:type_name -> injective_explorer_rpc.Relayer + 2, // 45: injective_explorer_rpc.GetBankTransfersResponse.paging:type_name -> injective_explorer_rpc.Paging + 68, // 46: injective_explorer_rpc.GetBankTransfersResponse.data:type_name -> injective_explorer_rpc.BankTransfer + 69, // 47: injective_explorer_rpc.BankTransfer.amounts:type_name -> injective_explorer_rpc.Coin + 15, // 48: injective_explorer_rpc.StreamBlocksResponse.txs:type_name -> injective_explorer_rpc.TxDataRPC + 0, // 49: injective_explorer_rpc.InjectiveExplorerRPC.GetAccountTxs:input_type -> injective_explorer_rpc.GetAccountTxsRequest + 8, // 50: injective_explorer_rpc.InjectiveExplorerRPC.GetContractTxs:input_type -> injective_explorer_rpc.GetContractTxsRequest + 10, // 51: injective_explorer_rpc.InjectiveExplorerRPC.GetContractTxsV2:input_type -> injective_explorer_rpc.GetContractTxsV2Request + 12, // 52: injective_explorer_rpc.InjectiveExplorerRPC.GetBlocks:input_type -> injective_explorer_rpc.GetBlocksRequest + 16, // 53: injective_explorer_rpc.InjectiveExplorerRPC.GetBlock:input_type -> injective_explorer_rpc.GetBlockRequest + 20, // 54: injective_explorer_rpc.InjectiveExplorerRPC.GetValidators:input_type -> injective_explorer_rpc.GetValidatorsRequest + 26, // 55: injective_explorer_rpc.InjectiveExplorerRPC.GetValidator:input_type -> injective_explorer_rpc.GetValidatorRequest + 28, // 56: injective_explorer_rpc.InjectiveExplorerRPC.GetValidatorUptime:input_type -> injective_explorer_rpc.GetValidatorUptimeRequest + 30, // 57: injective_explorer_rpc.InjectiveExplorerRPC.GetTxs:input_type -> injective_explorer_rpc.GetTxsRequest + 32, // 58: injective_explorer_rpc.InjectiveExplorerRPC.GetTxByTxHash:input_type -> injective_explorer_rpc.GetTxByTxHashRequest + 34, // 59: injective_explorer_rpc.InjectiveExplorerRPC.GetPeggyDepositTxs:input_type -> injective_explorer_rpc.GetPeggyDepositTxsRequest + 37, // 60: injective_explorer_rpc.InjectiveExplorerRPC.GetPeggyWithdrawalTxs:input_type -> injective_explorer_rpc.GetPeggyWithdrawalTxsRequest + 40, // 61: injective_explorer_rpc.InjectiveExplorerRPC.GetIBCTransferTxs:input_type -> injective_explorer_rpc.GetIBCTransferTxsRequest + 43, // 62: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmCodes:input_type -> injective_explorer_rpc.GetWasmCodesRequest + 48, // 63: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmCodeByID:input_type -> injective_explorer_rpc.GetWasmCodeByIDRequest + 50, // 64: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmContracts:input_type -> injective_explorer_rpc.GetWasmContractsRequest + 57, // 65: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmContractByAddress:input_type -> injective_explorer_rpc.GetWasmContractByAddressRequest + 59, // 66: injective_explorer_rpc.InjectiveExplorerRPC.GetCw20Balance:input_type -> injective_explorer_rpc.GetCw20BalanceRequest + 62, // 67: injective_explorer_rpc.InjectiveExplorerRPC.Relayers:input_type -> injective_explorer_rpc.RelayersRequest + 66, // 68: injective_explorer_rpc.InjectiveExplorerRPC.GetBankTransfers:input_type -> injective_explorer_rpc.GetBankTransfersRequest + 70, // 69: injective_explorer_rpc.InjectiveExplorerRPC.StreamTxs:input_type -> injective_explorer_rpc.StreamTxsRequest + 72, // 70: injective_explorer_rpc.InjectiveExplorerRPC.StreamBlocks:input_type -> injective_explorer_rpc.StreamBlocksRequest + 1, // 71: injective_explorer_rpc.InjectiveExplorerRPC.GetAccountTxs:output_type -> injective_explorer_rpc.GetAccountTxsResponse + 9, // 72: injective_explorer_rpc.InjectiveExplorerRPC.GetContractTxs:output_type -> injective_explorer_rpc.GetContractTxsResponse + 11, // 73: injective_explorer_rpc.InjectiveExplorerRPC.GetContractTxsV2:output_type -> injective_explorer_rpc.GetContractTxsV2Response + 13, // 74: injective_explorer_rpc.InjectiveExplorerRPC.GetBlocks:output_type -> injective_explorer_rpc.GetBlocksResponse + 17, // 75: injective_explorer_rpc.InjectiveExplorerRPC.GetBlock:output_type -> injective_explorer_rpc.GetBlockResponse + 21, // 76: injective_explorer_rpc.InjectiveExplorerRPC.GetValidators:output_type -> injective_explorer_rpc.GetValidatorsResponse + 27, // 77: injective_explorer_rpc.InjectiveExplorerRPC.GetValidator:output_type -> injective_explorer_rpc.GetValidatorResponse + 29, // 78: injective_explorer_rpc.InjectiveExplorerRPC.GetValidatorUptime:output_type -> injective_explorer_rpc.GetValidatorUptimeResponse + 31, // 79: injective_explorer_rpc.InjectiveExplorerRPC.GetTxs:output_type -> injective_explorer_rpc.GetTxsResponse + 33, // 80: injective_explorer_rpc.InjectiveExplorerRPC.GetTxByTxHash:output_type -> injective_explorer_rpc.GetTxByTxHashResponse + 35, // 81: injective_explorer_rpc.InjectiveExplorerRPC.GetPeggyDepositTxs:output_type -> injective_explorer_rpc.GetPeggyDepositTxsResponse + 38, // 82: injective_explorer_rpc.InjectiveExplorerRPC.GetPeggyWithdrawalTxs:output_type -> injective_explorer_rpc.GetPeggyWithdrawalTxsResponse + 41, // 83: injective_explorer_rpc.InjectiveExplorerRPC.GetIBCTransferTxs:output_type -> injective_explorer_rpc.GetIBCTransferTxsResponse + 44, // 84: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmCodes:output_type -> injective_explorer_rpc.GetWasmCodesResponse + 49, // 85: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmCodeByID:output_type -> injective_explorer_rpc.GetWasmCodeByIDResponse + 51, // 86: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmContracts:output_type -> injective_explorer_rpc.GetWasmContractsResponse + 58, // 87: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmContractByAddress:output_type -> injective_explorer_rpc.GetWasmContractByAddressResponse + 60, // 88: injective_explorer_rpc.InjectiveExplorerRPC.GetCw20Balance:output_type -> injective_explorer_rpc.GetCw20BalanceResponse + 63, // 89: injective_explorer_rpc.InjectiveExplorerRPC.Relayers:output_type -> injective_explorer_rpc.RelayersResponse + 67, // 90: injective_explorer_rpc.InjectiveExplorerRPC.GetBankTransfers:output_type -> injective_explorer_rpc.GetBankTransfersResponse + 71, // 91: injective_explorer_rpc.InjectiveExplorerRPC.StreamTxs:output_type -> injective_explorer_rpc.StreamTxsResponse + 73, // 92: injective_explorer_rpc.InjectiveExplorerRPC.StreamBlocks:output_type -> injective_explorer_rpc.StreamBlocksResponse + 71, // [71:93] is the sub-list for method output_type + 49, // [49:71] is the sub-list for method input_type + 49, // [49:49] is the sub-list for extension type_name + 49, // [49:49] is the sub-list for extension extendee + 0, // [0:49] is the sub-list for field type_name +} + +func init() { file_goadesign_goagen_injective_explorer_rpc_proto_init() } +func file_goadesign_goagen_injective_explorer_rpc_proto_init() { + if File_goadesign_goagen_injective_explorer_rpc_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_injective_explorer_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAccountTxsRequest); i { case 0: return &v.state @@ -7336,7 +7534,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAccountTxsResponse); i { case 0: return &v.state @@ -7348,7 +7546,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Paging); i { case 0: return &v.state @@ -7360,7 +7558,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TxDetailData); i { case 0: return &v.state @@ -7372,7 +7570,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GasFee); i { case 0: return &v.state @@ -7384,7 +7582,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CosmosCoin); i { case 0: return &v.state @@ -7396,7 +7594,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Event); i { case 0: return &v.state @@ -7408,7 +7606,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Signature); i { case 0: return &v.state @@ -7420,7 +7618,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetContractTxsRequest); i { case 0: return &v.state @@ -7432,7 +7630,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetContractTxsResponse); i { case 0: return &v.state @@ -7444,7 +7642,31 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetContractTxsV2Request); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetContractTxsV2Response); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBlocksRequest); i { case 0: return &v.state @@ -7456,7 +7678,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBlocksResponse); i { case 0: return &v.state @@ -7468,7 +7690,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BlockInfo); i { case 0: return &v.state @@ -7480,7 +7702,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TxDataRPC); i { case 0: return &v.state @@ -7492,7 +7714,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBlockRequest); i { case 0: return &v.state @@ -7504,7 +7726,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBlockResponse); i { case 0: return &v.state @@ -7516,7 +7738,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BlockDetailInfo); i { case 0: return &v.state @@ -7528,7 +7750,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TxData); i { case 0: return &v.state @@ -7540,7 +7762,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetValidatorsRequest); i { case 0: return &v.state @@ -7552,7 +7774,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetValidatorsResponse); i { case 0: return &v.state @@ -7564,7 +7786,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Validator); i { case 0: return &v.state @@ -7576,7 +7798,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidatorDescription); i { case 0: return &v.state @@ -7588,7 +7810,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidatorUptime); i { case 0: return &v.state @@ -7600,7 +7822,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SlashingEvent); i { case 0: return &v.state @@ -7612,7 +7834,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetValidatorRequest); i { case 0: return &v.state @@ -7624,7 +7846,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetValidatorResponse); i { case 0: return &v.state @@ -7636,7 +7858,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetValidatorUptimeRequest); i { case 0: return &v.state @@ -7648,7 +7870,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetValidatorUptimeResponse); i { case 0: return &v.state @@ -7660,7 +7882,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTxsRequest); i { case 0: return &v.state @@ -7672,7 +7894,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTxsResponse); i { case 0: return &v.state @@ -7684,7 +7906,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTxByTxHashRequest); i { case 0: return &v.state @@ -7696,7 +7918,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTxByTxHashResponse); i { case 0: return &v.state @@ -7708,7 +7930,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetPeggyDepositTxsRequest); i { case 0: return &v.state @@ -7720,7 +7942,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetPeggyDepositTxsResponse); i { case 0: return &v.state @@ -7732,7 +7954,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PeggyDepositTx); i { case 0: return &v.state @@ -7744,7 +7966,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetPeggyWithdrawalTxsRequest); i { case 0: return &v.state @@ -7756,7 +7978,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetPeggyWithdrawalTxsResponse); i { case 0: return &v.state @@ -7768,7 +7990,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PeggyWithdrawalTx); i { case 0: return &v.state @@ -7780,7 +8002,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIBCTransferTxsRequest); i { case 0: return &v.state @@ -7792,7 +8014,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIBCTransferTxsResponse); i { case 0: return &v.state @@ -7804,7 +8026,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IBCTransferTx); i { case 0: return &v.state @@ -7816,7 +8038,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWasmCodesRequest); i { case 0: return &v.state @@ -7828,7 +8050,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWasmCodesResponse); i { case 0: return &v.state @@ -7840,7 +8062,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WasmCode); i { case 0: return &v.state @@ -7852,7 +8074,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Checksum); i { case 0: return &v.state @@ -7864,7 +8086,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContractPermission); i { case 0: return &v.state @@ -7876,7 +8098,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWasmCodeByIDRequest); i { case 0: return &v.state @@ -7888,7 +8110,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWasmCodeByIDResponse); i { case 0: return &v.state @@ -7900,7 +8122,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWasmContractsRequest); i { case 0: return &v.state @@ -7912,7 +8134,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWasmContractsResponse); i { case 0: return &v.state @@ -7924,7 +8146,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WasmContract); i { case 0: return &v.state @@ -7936,7 +8158,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContractFund); i { case 0: return &v.state @@ -7948,7 +8170,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cw20Metadata); i { case 0: return &v.state @@ -7960,7 +8182,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cw20TokenInfo); i { case 0: return &v.state @@ -7972,7 +8194,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cw20MarketingInfo); i { case 0: return &v.state @@ -7984,7 +8206,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWasmContractByAddressRequest); i { case 0: return &v.state @@ -7996,7 +8218,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWasmContractByAddressResponse); i { case 0: return &v.state @@ -8008,7 +8230,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetCw20BalanceRequest); i { case 0: return &v.state @@ -8020,7 +8242,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetCw20BalanceResponse); i { case 0: return &v.state @@ -8032,7 +8254,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WasmCw20Balance); i { case 0: return &v.state @@ -8044,7 +8266,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RelayersRequest); i { case 0: return &v.state @@ -8056,7 +8278,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RelayersResponse); i { case 0: return &v.state @@ -8068,7 +8290,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RelayerMarkets); i { case 0: return &v.state @@ -8080,7 +8302,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Relayer); i { case 0: return &v.state @@ -8092,7 +8314,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBankTransfersRequest); i { case 0: return &v.state @@ -8104,7 +8326,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBankTransfersResponse); i { case 0: return &v.state @@ -8116,7 +8338,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BankTransfer); i { case 0: return &v.state @@ -8128,7 +8350,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Coin); i { case 0: return &v.state @@ -8140,7 +8362,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTxsRequest); i { case 0: return &v.state @@ -8152,7 +8374,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTxsResponse); i { case 0: return &v.state @@ -8164,7 +8386,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamBlocksRequest); i { case 0: return &v.state @@ -8176,7 +8398,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamBlocksResponse); i { case 0: return &v.state @@ -8193,18 +8415,18 @@ func file_injective_explorer_rpc_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_explorer_rpc_proto_rawDesc, + RawDescriptor: file_goadesign_goagen_injective_explorer_rpc_proto_rawDesc, NumEnums: 0, - NumMessages: 73, + NumMessages: 75, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_injective_explorer_rpc_proto_goTypes, - DependencyIndexes: file_injective_explorer_rpc_proto_depIdxs, - MessageInfos: file_injective_explorer_rpc_proto_msgTypes, + GoTypes: file_goadesign_goagen_injective_explorer_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_explorer_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes, }.Build() - File_injective_explorer_rpc_proto = out.File - file_injective_explorer_rpc_proto_rawDesc = nil - file_injective_explorer_rpc_proto_goTypes = nil - file_injective_explorer_rpc_proto_depIdxs = nil + File_goadesign_goagen_injective_explorer_rpc_proto = out.File + file_goadesign_goagen_injective_explorer_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_explorer_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_explorer_rpc_proto_depIdxs = nil } diff --git a/exchange/explorer_rpc/pb/injective_explorer_rpc.proto b/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc.proto similarity index 97% rename from exchange/explorer_rpc/pb/injective_explorer_rpc.proto rename to exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc.proto index a834b35e..077fc0bc 100644 --- a/exchange/explorer_rpc/pb/injective_explorer_rpc.proto +++ b/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveExplorerRPC protocol buffer definition // @@ -17,6 +17,8 @@ service InjectiveExplorerRPC { rpc GetAccountTxs (GetAccountTxsRequest) returns (GetAccountTxsResponse); // GetContractTxs returns contract-related transactions rpc GetContractTxs (GetContractTxsRequest) returns (GetContractTxsResponse); + // GetContractTxs returns contract-related transactions + rpc GetContractTxsV2 (GetContractTxsV2Request) returns (GetContractTxsV2Response); // GetBlocks returns blocks based upon the request params rpc GetBlocks (GetBlocksRequest) returns (GetBlocksResponse); // GetBlock returns block based upon the height or hash @@ -170,10 +172,33 @@ message GetContractTxsResponse { repeated TxDetailData data = 2; } +message GetContractTxsV2Request { + // Address of contract + string address = 1; + // Height of the block + uint64 height = 2; + // Unix timestamp (UTC) in milliseconds + sint64 from = 3; + // Unix timestamp (UTC) in milliseconds + sint64 to = 4; + sint32 limit = 5; + // Pagination token + string token = 6; +} + +message GetContractTxsV2Response { + repeated string next = 1; + repeated TxDetailData data = 2; +} + message GetBlocksRequest { uint64 before = 1; uint64 after = 2; sint32 limit = 3; + // Unix timestamp (UTC) in milliseconds + uint64 from = 4; + // Unix timestamp (UTC) in milliseconds + uint64 to = 5; } message GetBlocksResponse { diff --git a/exchange/explorer_rpc/pb/injective_explorer_rpc_grpc.pb.go b/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc_grpc.pb.go similarity index 95% rename from exchange/explorer_rpc/pb/injective_explorer_rpc_grpc.pb.go rename to exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc_grpc.pb.go index 86ed6d65..79f668a5 100644 --- a/exchange/explorer_rpc/pb/injective_explorer_rpc_grpc.pb.go +++ b/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_explorer_rpc.proto package injective_explorer_rpcpb @@ -22,6 +26,8 @@ type InjectiveExplorerRPCClient interface { GetAccountTxs(ctx context.Context, in *GetAccountTxsRequest, opts ...grpc.CallOption) (*GetAccountTxsResponse, error) // GetContractTxs returns contract-related transactions GetContractTxs(ctx context.Context, in *GetContractTxsRequest, opts ...grpc.CallOption) (*GetContractTxsResponse, error) + // GetContractTxs returns contract-related transactions + GetContractTxsV2(ctx context.Context, in *GetContractTxsV2Request, opts ...grpc.CallOption) (*GetContractTxsV2Response, error) // GetBlocks returns blocks based upon the request params GetBlocks(ctx context.Context, in *GetBlocksRequest, opts ...grpc.CallOption) (*GetBlocksResponse, error) // GetBlock returns block based upon the height or hash @@ -92,6 +98,15 @@ func (c *injectiveExplorerRPCClient) GetContractTxs(ctx context.Context, in *Get return out, nil } +func (c *injectiveExplorerRPCClient) GetContractTxsV2(ctx context.Context, in *GetContractTxsV2Request, opts ...grpc.CallOption) (*GetContractTxsV2Response, error) { + out := new(GetContractTxsV2Response) + err := c.cc.Invoke(ctx, "/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxsV2", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *injectiveExplorerRPCClient) GetBlocks(ctx context.Context, in *GetBlocksRequest, opts ...grpc.CallOption) (*GetBlocksResponse, error) { out := new(GetBlocksResponse) err := c.cc.Invoke(ctx, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocks", in, out, opts...) @@ -317,6 +332,8 @@ type InjectiveExplorerRPCServer interface { GetAccountTxs(context.Context, *GetAccountTxsRequest) (*GetAccountTxsResponse, error) // GetContractTxs returns contract-related transactions GetContractTxs(context.Context, *GetContractTxsRequest) (*GetContractTxsResponse, error) + // GetContractTxs returns contract-related transactions + GetContractTxsV2(context.Context, *GetContractTxsV2Request) (*GetContractTxsV2Response, error) // GetBlocks returns blocks based upon the request params GetBlocks(context.Context, *GetBlocksRequest) (*GetBlocksResponse, error) // GetBlock returns block based upon the height or hash @@ -372,6 +389,9 @@ func (UnimplementedInjectiveExplorerRPCServer) GetAccountTxs(context.Context, *G func (UnimplementedInjectiveExplorerRPCServer) GetContractTxs(context.Context, *GetContractTxsRequest) (*GetContractTxsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetContractTxs not implemented") } +func (UnimplementedInjectiveExplorerRPCServer) GetContractTxsV2(context.Context, *GetContractTxsV2Request) (*GetContractTxsV2Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetContractTxsV2 not implemented") +} func (UnimplementedInjectiveExplorerRPCServer) GetBlocks(context.Context, *GetBlocksRequest) (*GetBlocksResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetBlocks not implemented") } @@ -478,6 +498,24 @@ func _InjectiveExplorerRPC_GetContractTxs_Handler(srv interface{}, ctx context.C return interceptor(ctx, in, info, handler) } +func _InjectiveExplorerRPC_GetContractTxsV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetContractTxsV2Request) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveExplorerRPCServer).GetContractTxsV2(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxsV2", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveExplorerRPCServer).GetContractTxsV2(ctx, req.(*GetContractTxsV2Request)) + } + return interceptor(ctx, in, info, handler) +} + func _InjectiveExplorerRPC_GetBlocks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetBlocksRequest) if err := dec(in); err != nil { @@ -841,6 +879,10 @@ var InjectiveExplorerRPC_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetContractTxs", Handler: _InjectiveExplorerRPC_GetContractTxs_Handler, }, + { + MethodName: "GetContractTxsV2", + Handler: _InjectiveExplorerRPC_GetContractTxsV2_Handler, + }, { MethodName: "GetBlocks", Handler: _InjectiveExplorerRPC_GetBlocks_Handler, @@ -922,5 +964,5 @@ var InjectiveExplorerRPC_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, }, - Metadata: "injective_explorer_rpc.proto", + Metadata: "goadesign_goagen_injective_explorer_rpc.proto", } diff --git a/exchange/explorer_rpc/pb/injective_explorer_rpc.pb.gw.go b/exchange/explorer_rpc/pb/injective_explorer_rpc.pb.gw.go index 0ffa21a9..06257030 100644 --- a/exchange/explorer_rpc/pb/injective_explorer_rpc.pb.gw.go +++ b/exchange/explorer_rpc/pb/injective_explorer_rpc.pb.gw.go @@ -99,6 +99,40 @@ func local_request_InjectiveExplorerRPC_GetContractTxs_0(ctx context.Context, ma } +func request_InjectiveExplorerRPC_GetContractTxsV2_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveExplorerRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetContractTxsV2Request + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetContractTxsV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveExplorerRPC_GetContractTxsV2_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveExplorerRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetContractTxsV2Request + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetContractTxsV2(ctx, &protoReq) + return msg, metadata, err + +} + func request_InjectiveExplorerRPC_GetBlocks_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveExplorerRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq GetBlocksRequest var metadata runtime.ServerMetadata @@ -739,20 +773,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetAccountTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetAccountTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetAccountTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetAccountTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetAccountTxs_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetAccountTxs_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetAccountTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetAccountTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -762,20 +798,47 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetContractTxs_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetContractTxs_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveExplorerRPC_GetContractTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveExplorerRPC_GetContractTxsV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxsV2", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxsV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } + resp, md, err := local_request_InjectiveExplorerRPC_GetContractTxsV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } - forward_InjectiveExplorerRPC_GetContractTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetContractTxsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -785,20 +848,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocks", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocks")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocks", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocks")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetBlocks_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetBlocks_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetBlocks_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetBlocks_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -808,20 +873,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBlock", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBlock")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBlock", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBlock")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetBlock_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetBlock_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetBlock_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetBlock_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -831,20 +898,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidators", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidators")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidators", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidators")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetValidators_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetValidators_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetValidators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetValidators_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -854,20 +923,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidator", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidator")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidator", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidator")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetValidator_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetValidator_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetValidator_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetValidator_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -877,20 +948,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidatorUptime", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidatorUptime")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidatorUptime", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidatorUptime")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetValidatorUptime_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetValidatorUptime_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetValidatorUptime_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetValidatorUptime_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -900,20 +973,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetTxs_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetTxs_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -923,20 +998,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetTxByTxHash", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetTxByTxHash")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetTxByTxHash", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetTxByTxHash")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetTxByTxHash_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetTxByTxHash_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetTxByTxHash_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetTxByTxHash_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -946,20 +1023,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyDepositTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyDepositTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyDepositTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyDepositTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetPeggyDepositTxs_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetPeggyDepositTxs_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetPeggyDepositTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetPeggyDepositTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -969,20 +1048,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyWithdrawalTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyWithdrawalTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyWithdrawalTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyWithdrawalTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetPeggyWithdrawalTxs_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetPeggyWithdrawalTxs_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetPeggyWithdrawalTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetPeggyWithdrawalTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -992,20 +1073,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetIBCTransferTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetIBCTransferTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetIBCTransferTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetIBCTransferTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetIBCTransferTxs_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetIBCTransferTxs_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetIBCTransferTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetIBCTransferTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1015,20 +1098,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodes", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodes")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodes", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodes")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetWasmCodes_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetWasmCodes_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetWasmCodes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetWasmCodes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1038,20 +1123,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodeByID", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodeByID")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodeByID", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodeByID")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetWasmCodeByID_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetWasmCodeByID_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetWasmCodeByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetWasmCodeByID_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1061,20 +1148,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContracts", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContracts")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContracts", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContracts")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetWasmContracts_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetWasmContracts_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetWasmContracts_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetWasmContracts_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1084,20 +1173,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContractByAddress", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContractByAddress")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContractByAddress", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContractByAddress")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetWasmContractByAddress_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetWasmContractByAddress_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetWasmContractByAddress_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetWasmContractByAddress_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1107,20 +1198,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetCw20Balance", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetCw20Balance")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetCw20Balance", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetCw20Balance")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetCw20Balance_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetCw20Balance_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetCw20Balance_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetCw20Balance_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1130,20 +1223,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/Relayers", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/Relayers")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/Relayers", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/Relayers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_Relayers_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_Relayers_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_Relayers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_Relayers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1153,20 +1248,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBankTransfers", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBankTransfers")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBankTransfers", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBankTransfers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetBankTransfers_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetBankTransfers_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetBankTransfers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetBankTransfers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1229,19 +1326,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetAccountTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetAccountTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetAccountTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetAccountTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetAccountTxs_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetAccountTxs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetAccountTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetAccountTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1249,19 +1348,43 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetContractTxs_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetContractTxs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveExplorerRPC_GetContractTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveExplorerRPC_GetContractTxsV2_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxsV2", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxsV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } + resp, md, err := request_InjectiveExplorerRPC_GetContractTxsV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } - forward_InjectiveExplorerRPC_GetContractTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetContractTxsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1269,19 +1392,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocks", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocks")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocks", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocks")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetBlocks_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetBlocks_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetBlocks_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetBlocks_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1289,19 +1414,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBlock", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBlock")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBlock", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBlock")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetBlock_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetBlock_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetBlock_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetBlock_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1309,19 +1436,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidators", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidators")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidators", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidators")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetValidators_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetValidators_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetValidators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetValidators_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1329,19 +1458,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidator", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidator")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidator", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidator")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetValidator_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetValidator_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetValidator_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetValidator_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1349,19 +1480,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidatorUptime", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidatorUptime")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidatorUptime", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidatorUptime")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetValidatorUptime_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetValidatorUptime_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetValidatorUptime_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetValidatorUptime_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1369,19 +1502,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetTxs_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetTxs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1389,19 +1524,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetTxByTxHash", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetTxByTxHash")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetTxByTxHash", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetTxByTxHash")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetTxByTxHash_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetTxByTxHash_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetTxByTxHash_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetTxByTxHash_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1409,19 +1546,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyDepositTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyDepositTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyDepositTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyDepositTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetPeggyDepositTxs_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetPeggyDepositTxs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetPeggyDepositTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetPeggyDepositTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1429,19 +1568,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyWithdrawalTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyWithdrawalTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyWithdrawalTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyWithdrawalTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetPeggyWithdrawalTxs_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetPeggyWithdrawalTxs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetPeggyWithdrawalTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetPeggyWithdrawalTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1449,19 +1590,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetIBCTransferTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetIBCTransferTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetIBCTransferTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetIBCTransferTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetIBCTransferTxs_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetIBCTransferTxs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetIBCTransferTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetIBCTransferTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1469,19 +1612,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodes", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodes")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodes", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodes")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetWasmCodes_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetWasmCodes_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetWasmCodes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetWasmCodes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1489,19 +1634,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodeByID", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodeByID")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodeByID", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodeByID")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetWasmCodeByID_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetWasmCodeByID_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetWasmCodeByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetWasmCodeByID_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1509,19 +1656,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContracts", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContracts")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContracts", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContracts")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetWasmContracts_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetWasmContracts_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetWasmContracts_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetWasmContracts_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1529,19 +1678,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContractByAddress", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContractByAddress")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContractByAddress", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContractByAddress")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetWasmContractByAddress_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetWasmContractByAddress_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetWasmContractByAddress_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetWasmContractByAddress_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1549,19 +1700,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetCw20Balance", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetCw20Balance")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetCw20Balance", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetCw20Balance")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetCw20Balance_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetCw20Balance_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetCw20Balance_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetCw20Balance_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1569,19 +1722,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/Relayers", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/Relayers")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/Relayers", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/Relayers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_Relayers_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_Relayers_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_Relayers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_Relayers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1589,19 +1744,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBankTransfers", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBankTransfers")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBankTransfers", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBankTransfers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetBankTransfers_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetBankTransfers_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetBankTransfers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetBankTransfers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1609,19 +1766,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/StreamTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/StreamTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/StreamTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/StreamTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_StreamTxs_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_StreamTxs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_StreamTxs_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_StreamTxs_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1629,19 +1788,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/StreamBlocks", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/StreamBlocks")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/StreamBlocks", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/StreamBlocks")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_StreamBlocks_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_StreamBlocks_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_StreamBlocks_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_StreamBlocks_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1653,6 +1814,8 @@ var ( pattern_InjectiveExplorerRPC_GetContractTxs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_explorer_rpc.InjectiveExplorerRPC", "GetContractTxs"}, "")) + pattern_InjectiveExplorerRPC_GetContractTxsV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_explorer_rpc.InjectiveExplorerRPC", "GetContractTxsV2"}, "")) + pattern_InjectiveExplorerRPC_GetBlocks_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_explorer_rpc.InjectiveExplorerRPC", "GetBlocks"}, "")) pattern_InjectiveExplorerRPC_GetBlock_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_explorer_rpc.InjectiveExplorerRPC", "GetBlock"}, "")) @@ -1697,6 +1860,8 @@ var ( forward_InjectiveExplorerRPC_GetContractTxs_0 = runtime.ForwardResponseMessage + forward_InjectiveExplorerRPC_GetContractTxsV2_0 = runtime.ForwardResponseMessage + forward_InjectiveExplorerRPC_GetBlocks_0 = runtime.ForwardResponseMessage forward_InjectiveExplorerRPC_GetBlock_0 = runtime.ForwardResponseMessage diff --git a/exchange/health_rpc/pb/goadesign_goagen_health.pb.go b/exchange/health_rpc/pb/goadesign_goagen_health.pb.go new file mode 100644 index 00000000..b7680d05 --- /dev/null +++ b/exchange/health_rpc/pb/goadesign_goagen_health.pb.go @@ -0,0 +1,341 @@ +// Code generated with goa v3.7.0, DO NOT EDIT. +// +// health protocol buffer definition +// +// Command: +// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc v4.25.3 +// source: goadesign_goagen_health.proto + +package api_v1pb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type GetStatusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GetStatusRequest) Reset() { + *x = GetStatusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_health_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetStatusRequest) ProtoMessage() {} + +func (x *GetStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_health_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetStatusRequest.ProtoReflect.Descriptor instead. +func (*GetStatusRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_health_proto_rawDescGZIP(), []int{0} +} + +type GetStatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Status of the response. + S string `protobuf:"bytes,1,opt,name=s,proto3" json:"s,omitempty"` + // Error message. + Errmsg string `protobuf:"bytes,2,opt,name=errmsg,proto3" json:"errmsg,omitempty"` + Data *HealthStatus `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` + Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *GetStatusResponse) Reset() { + *x = GetStatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_health_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetStatusResponse) ProtoMessage() {} + +func (x *GetStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_health_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetStatusResponse.ProtoReflect.Descriptor instead. +func (*GetStatusResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_health_proto_rawDescGZIP(), []int{1} +} + +func (x *GetStatusResponse) GetS() string { + if x != nil { + return x.S + } + return "" +} + +func (x *GetStatusResponse) GetErrmsg() string { + if x != nil { + return x.Errmsg + } + return "" +} + +func (x *GetStatusResponse) GetData() *HealthStatus { + if x != nil { + return x.Data + } + return nil +} + +func (x *GetStatusResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +// Status defines the structure for health information +type HealthStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Block height from local mongo exchange db. + LocalHeight int32 `protobuf:"zigzag32,1,opt,name=local_height,json=localHeight,proto3" json:"local_height,omitempty"` + // block timestamp from local mongo exchange db. + LocalTimestamp int32 `protobuf:"zigzag32,2,opt,name=local_timestamp,json=localTimestamp,proto3" json:"local_timestamp,omitempty"` + // block height from Horacle service. + HoracleHeight int32 `protobuf:"zigzag32,3,opt,name=horacle_height,json=horacleHeight,proto3" json:"horacle_height,omitempty"` + // block timestamp from Horacle service. + HoracleTimestamp int32 `protobuf:"zigzag32,4,opt,name=horacle_timestamp,json=horacleTimestamp,proto3" json:"horacle_timestamp,omitempty"` +} + +func (x *HealthStatus) Reset() { + *x = HealthStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_health_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HealthStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HealthStatus) ProtoMessage() {} + +func (x *HealthStatus) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_health_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HealthStatus.ProtoReflect.Descriptor instead. +func (*HealthStatus) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_health_proto_rawDescGZIP(), []int{2} +} + +func (x *HealthStatus) GetLocalHeight() int32 { + if x != nil { + return x.LocalHeight + } + return 0 +} + +func (x *HealthStatus) GetLocalTimestamp() int32 { + if x != nil { + return x.LocalTimestamp + } + return 0 +} + +func (x *HealthStatus) GetHoracleHeight() int32 { + if x != nil { + return x.HoracleHeight + } + return 0 +} + +func (x *HealthStatus) GetHoracleTimestamp() int32 { + if x != nil { + return x.HoracleTimestamp + } + return 0 +} + +var File_goadesign_goagen_health_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_health_proto_rawDesc = []byte{ + 0x0a, 0x1d, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x06, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x22, 0x12, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x7b, 0x0a, 0x11, 0x47, + 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 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, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xae, 0x01, 0x0a, 0x0c, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, + 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x27, 0x0a, 0x0f, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x68, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, + 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0d, 0x68, + 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2b, 0x0a, 0x11, + 0x68, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x10, 0x68, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x32, 0x4a, 0x0a, 0x06, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x12, 0x40, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0b, 0x5a, 0x09, 0x2f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_goadesign_goagen_health_proto_rawDescOnce sync.Once + file_goadesign_goagen_health_proto_rawDescData = file_goadesign_goagen_health_proto_rawDesc +) + +func file_goadesign_goagen_health_proto_rawDescGZIP() []byte { + file_goadesign_goagen_health_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_health_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_health_proto_rawDescData) + }) + return file_goadesign_goagen_health_proto_rawDescData +} + +var file_goadesign_goagen_health_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_goadesign_goagen_health_proto_goTypes = []interface{}{ + (*GetStatusRequest)(nil), // 0: api.v1.GetStatusRequest + (*GetStatusResponse)(nil), // 1: api.v1.GetStatusResponse + (*HealthStatus)(nil), // 2: api.v1.HealthStatus +} +var file_goadesign_goagen_health_proto_depIdxs = []int32{ + 2, // 0: api.v1.GetStatusResponse.data:type_name -> api.v1.HealthStatus + 0, // 1: api.v1.Health.GetStatus:input_type -> api.v1.GetStatusRequest + 1, // 2: api.v1.Health.GetStatus:output_type -> api.v1.GetStatusResponse + 2, // [2:3] is the sub-list for method output_type + 1, // [1:2] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_goadesign_goagen_health_proto_init() } +func file_goadesign_goagen_health_proto_init() { + if File_goadesign_goagen_health_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_goadesign_goagen_health_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetStatusRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_health_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetStatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_health_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HealthStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_goadesign_goagen_health_proto_rawDesc, + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_goadesign_goagen_health_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_health_proto_depIdxs, + MessageInfos: file_goadesign_goagen_health_proto_msgTypes, + }.Build() + File_goadesign_goagen_health_proto = out.File + file_goadesign_goagen_health_proto_rawDesc = nil + file_goadesign_goagen_health_proto_goTypes = nil + file_goadesign_goagen_health_proto_depIdxs = nil +} diff --git a/exchange/health_rpc/pb/goadesign_goagen_health.proto b/exchange/health_rpc/pb/goadesign_goagen_health.proto new file mode 100644 index 00000000..0d503603 --- /dev/null +++ b/exchange/health_rpc/pb/goadesign_goagen_health.proto @@ -0,0 +1,41 @@ +// Code generated with goa v3.7.0, DO NOT EDIT. +// +// health protocol buffer definition +// +// Command: +// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ + +syntax = "proto3"; + +package api.v1; + +option go_package = "/api.v1pb"; + +// HealthAPI allows to check if backend data is up-to-date and reliable or not. +service Health { + // Get current backend health status + rpc GetStatus (GetStatusRequest) returns (GetStatusResponse); +} + +message GetStatusRequest { +} + +message GetStatusResponse { + // Status of the response. + string s = 1; + // Error message. + string errmsg = 2; + HealthStatus data = 3; + string status = 4; +} +// Status defines the structure for health information +message HealthStatus { + // Block height from local mongo exchange db. + sint32 local_height = 1; + // block timestamp from local mongo exchange db. + sint32 local_timestamp = 2; + // block height from Horacle service. + sint32 horacle_height = 3; + // block timestamp from Horacle service. + sint32 horacle_timestamp = 4; +} diff --git a/exchange/health_rpc/pb/goadesign_goagen_health_grpc.pb.go b/exchange/health_rpc/pb/goadesign_goagen_health_grpc.pb.go new file mode 100644 index 00000000..f456f4f5 --- /dev/null +++ b/exchange/health_rpc/pb/goadesign_goagen_health_grpc.pb.go @@ -0,0 +1,107 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_health.proto + +package api_v1pb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// HealthClient is the client API for Health service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type HealthClient interface { + // Get current backend health status + GetStatus(ctx context.Context, in *GetStatusRequest, opts ...grpc.CallOption) (*GetStatusResponse, error) +} + +type healthClient struct { + cc grpc.ClientConnInterface +} + +func NewHealthClient(cc grpc.ClientConnInterface) HealthClient { + return &healthClient{cc} +} + +func (c *healthClient) GetStatus(ctx context.Context, in *GetStatusRequest, opts ...grpc.CallOption) (*GetStatusResponse, error) { + out := new(GetStatusResponse) + err := c.cc.Invoke(ctx, "/api.v1.Health/GetStatus", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// HealthServer is the server API for Health service. +// All implementations must embed UnimplementedHealthServer +// for forward compatibility +type HealthServer interface { + // Get current backend health status + GetStatus(context.Context, *GetStatusRequest) (*GetStatusResponse, error) + mustEmbedUnimplementedHealthServer() +} + +// UnimplementedHealthServer must be embedded to have forward compatible implementations. +type UnimplementedHealthServer struct { +} + +func (UnimplementedHealthServer) GetStatus(context.Context, *GetStatusRequest) (*GetStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetStatus not implemented") +} +func (UnimplementedHealthServer) mustEmbedUnimplementedHealthServer() {} + +// UnsafeHealthServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to HealthServer will +// result in compilation errors. +type UnsafeHealthServer interface { + mustEmbedUnimplementedHealthServer() +} + +func RegisterHealthServer(s grpc.ServiceRegistrar, srv HealthServer) { + s.RegisterService(&Health_ServiceDesc, srv) +} + +func _Health_GetStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(HealthServer).GetStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.v1.Health/GetStatus", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(HealthServer).GetStatus(ctx, req.(*GetStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// Health_ServiceDesc is the grpc.ServiceDesc for Health service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Health_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "api.v1.Health", + HandlerType: (*HealthServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetStatus", + Handler: _Health_GetStatus_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "goadesign_goagen_health.proto", +} diff --git a/exchange/health_rpc/pb/health.pb.gw.go b/exchange/health_rpc/pb/health.pb.gw.go new file mode 100644 index 00000000..e52ca0e3 --- /dev/null +++ b/exchange/health_rpc/pb/health.pb.gw.go @@ -0,0 +1,171 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: health.proto + +/* +Package api_v1pb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package api_v1pb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_Health_GetStatus_0(ctx context.Context, marshaler runtime.Marshaler, client HealthClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetStatusRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Health_GetStatus_0(ctx context.Context, marshaler runtime.Marshaler, server HealthServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetStatusRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetStatus(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterHealthHandlerServer registers the http handlers for service Health to "mux". +// UnaryRPC :call HealthServer 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 to stop working. Consider using RegisterHealthHandlerFromEndpoint instead. +func RegisterHealthHandlerServer(ctx context.Context, mux *runtime.ServeMux, server HealthServer) error { + + mux.Handle("POST", pattern_Health_GetStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.v1.Health/GetStatus", runtime.WithHTTPPathPattern("/api.v1.Health/GetStatus")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Health_GetStatus_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Health_GetStatus_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterHealthHandlerFromEndpoint is same as RegisterHealthHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterHealthHandlerFromEndpoint(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 RegisterHealthHandler(ctx, mux, conn) +} + +// RegisterHealthHandler registers the http handlers for service Health to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterHealthHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterHealthHandlerClient(ctx, mux, NewHealthClient(conn)) +} + +// RegisterHealthHandlerClient registers the http handlers for service Health +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "HealthClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "HealthClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "HealthClient" to call the correct interceptors. +func RegisterHealthHandlerClient(ctx context.Context, mux *runtime.ServeMux, client HealthClient) error { + + mux.Handle("POST", pattern_Health_GetStatus_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/api.v1.Health/GetStatus", runtime.WithHTTPPathPattern("/api.v1.Health/GetStatus")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Health_GetStatus_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Health_GetStatus_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_Health_GetStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api.v1.Health", "GetStatus"}, "")) +) + +var ( + forward_Health_GetStatus_0 = runtime.ForwardResponseMessage +) diff --git a/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.pb.go b/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.pb.go new file mode 100644 index 00000000..3759dbcd --- /dev/null +++ b/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.pb.go @@ -0,0 +1,993 @@ +// Code generated with goa v3.7.0, DO NOT EDIT. +// +// InjectiveInsuranceRPC protocol buffer definition +// +// Command: +// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc v4.25.3 +// source: goadesign_goagen_injective_insurance_rpc.proto + +package injective_insurance_rpcpb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type FundsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *FundsRequest) Reset() { + *x = FundsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundsRequest) ProtoMessage() {} + +func (x *FundsRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FundsRequest.ProtoReflect.Descriptor instead. +func (*FundsRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP(), []int{0} +} + +type FundsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Funds []*InsuranceFund `protobuf:"bytes,1,rep,name=funds,proto3" json:"funds,omitempty"` +} + +func (x *FundsResponse) Reset() { + *x = FundsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundsResponse) ProtoMessage() {} + +func (x *FundsResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FundsResponse.ProtoReflect.Descriptor instead. +func (*FundsResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP(), []int{1} +} + +func (x *FundsResponse) GetFunds() []*InsuranceFund { + if x != nil { + return x.Funds + } + return nil +} + +type InsuranceFund struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Ticker of the derivative market. + MarketTicker string `protobuf:"bytes,1,opt,name=market_ticker,json=marketTicker,proto3" json:"market_ticker,omitempty"` + // Derivative Market ID + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // Coin denom used for the underwriting of the insurance fund. + DepositDenom string `protobuf:"bytes,3,opt,name=deposit_denom,json=depositDenom,proto3" json:"deposit_denom,omitempty"` + // Pool token denom + PoolTokenDenom string `protobuf:"bytes,4,opt,name=pool_token_denom,json=poolTokenDenom,proto3" json:"pool_token_denom,omitempty"` + // Redemption notice period duration in seconds. + RedemptionNoticePeriodDuration int64 `protobuf:"zigzag64,5,opt,name=redemption_notice_period_duration,json=redemptionNoticePeriodDuration,proto3" json:"redemption_notice_period_duration,omitempty"` + Balance string `protobuf:"bytes,6,opt,name=balance,proto3" json:"balance,omitempty"` + TotalShare string `protobuf:"bytes,7,opt,name=total_share,json=totalShare,proto3" json:"total_share,omitempty"` + // Oracle base currency + OracleBase string `protobuf:"bytes,8,opt,name=oracle_base,json=oracleBase,proto3" json:"oracle_base,omitempty"` + // Oracle quote currency + OracleQuote string `protobuf:"bytes,9,opt,name=oracle_quote,json=oracleQuote,proto3" json:"oracle_quote,omitempty"` + // Oracle Type + OracleType string `protobuf:"bytes,10,opt,name=oracle_type,json=oracleType,proto3" json:"oracle_type,omitempty"` + // Defines the expiry, if any + Expiry int64 `protobuf:"zigzag64,11,opt,name=expiry,proto3" json:"expiry,omitempty"` + // Token metadata for the deposit asset, only for Ethereum-based assets + DepositTokenMeta *TokenMeta `protobuf:"bytes,12,opt,name=deposit_token_meta,json=depositTokenMeta,proto3" json:"deposit_token_meta,omitempty"` +} + +func (x *InsuranceFund) Reset() { + *x = InsuranceFund{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InsuranceFund) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InsuranceFund) ProtoMessage() {} + +func (x *InsuranceFund) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InsuranceFund.ProtoReflect.Descriptor instead. +func (*InsuranceFund) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP(), []int{2} +} + +func (x *InsuranceFund) GetMarketTicker() string { + if x != nil { + return x.MarketTicker + } + return "" +} + +func (x *InsuranceFund) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *InsuranceFund) GetDepositDenom() string { + if x != nil { + return x.DepositDenom + } + return "" +} + +func (x *InsuranceFund) GetPoolTokenDenom() string { + if x != nil { + return x.PoolTokenDenom + } + return "" +} + +func (x *InsuranceFund) GetRedemptionNoticePeriodDuration() int64 { + if x != nil { + return x.RedemptionNoticePeriodDuration + } + return 0 +} + +func (x *InsuranceFund) GetBalance() string { + if x != nil { + return x.Balance + } + return "" +} + +func (x *InsuranceFund) GetTotalShare() string { + if x != nil { + return x.TotalShare + } + return "" +} + +func (x *InsuranceFund) GetOracleBase() string { + if x != nil { + return x.OracleBase + } + return "" +} + +func (x *InsuranceFund) GetOracleQuote() string { + if x != nil { + return x.OracleQuote + } + return "" +} + +func (x *InsuranceFund) GetOracleType() string { + if x != nil { + return x.OracleType + } + return "" +} + +func (x *InsuranceFund) GetExpiry() int64 { + if x != nil { + return x.Expiry + } + return 0 +} + +func (x *InsuranceFund) GetDepositTokenMeta() *TokenMeta { + if x != nil { + return x.DepositTokenMeta + } + return nil +} + +type TokenMeta struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Token full name + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Token Ethereum contract address + Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` + // Token symbol short name + Symbol string `protobuf:"bytes,3,opt,name=symbol,proto3" json:"symbol,omitempty"` + // URL to the logo image + Logo string `protobuf:"bytes,4,opt,name=logo,proto3" json:"logo,omitempty"` + // Token decimals + Decimals int32 `protobuf:"zigzag32,5,opt,name=decimals,proto3" json:"decimals,omitempty"` + // Token metadata fetched timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` +} + +func (x *TokenMeta) Reset() { + *x = TokenMeta{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TokenMeta) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TokenMeta) ProtoMessage() {} + +func (x *TokenMeta) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TokenMeta.ProtoReflect.Descriptor instead. +func (*TokenMeta) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP(), []int{3} +} + +func (x *TokenMeta) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *TokenMeta) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *TokenMeta) GetSymbol() string { + if x != nil { + return x.Symbol + } + return "" +} + +func (x *TokenMeta) GetLogo() string { + if x != nil { + return x.Logo + } + return "" +} + +func (x *TokenMeta) GetDecimals() int32 { + if x != nil { + return x.Decimals + } + return 0 +} + +func (x *TokenMeta) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +type FundRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // denom of insurance fund + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` +} + +func (x *FundRequest) Reset() { + *x = FundRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundRequest) ProtoMessage() {} + +func (x *FundRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FundRequest.ProtoReflect.Descriptor instead. +func (*FundRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP(), []int{4} +} + +func (x *FundRequest) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +type FundResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The insurance fund corresponding to the provided token denom + Fund *InsuranceFund `protobuf:"bytes,1,opt,name=fund,proto3" json:"fund,omitempty"` +} + +func (x *FundResponse) Reset() { + *x = FundResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundResponse) ProtoMessage() {} + +func (x *FundResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FundResponse.ProtoReflect.Descriptor instead. +func (*FundResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP(), []int{5} +} + +func (x *FundResponse) GetFund() *InsuranceFund { + if x != nil { + return x.Fund + } + return nil +} + +type RedemptionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address of the redemption owner + Redeemer string `protobuf:"bytes,1,opt,name=redeemer,proto3" json:"redeemer,omitempty"` + // Denom of the insurance pool token. + RedemptionDenom string `protobuf:"bytes,2,opt,name=redemption_denom,json=redemptionDenom,proto3" json:"redemption_denom,omitempty"` + // Status of the redemption. Either pending or disbursed. + Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *RedemptionsRequest) Reset() { + *x = RedemptionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RedemptionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RedemptionsRequest) ProtoMessage() {} + +func (x *RedemptionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RedemptionsRequest.ProtoReflect.Descriptor instead. +func (*RedemptionsRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP(), []int{6} +} + +func (x *RedemptionsRequest) GetRedeemer() string { + if x != nil { + return x.Redeemer + } + return "" +} + +func (x *RedemptionsRequest) GetRedemptionDenom() string { + if x != nil { + return x.RedemptionDenom + } + return "" +} + +func (x *RedemptionsRequest) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type RedemptionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RedemptionSchedules []*RedemptionSchedule `protobuf:"bytes,1,rep,name=redemption_schedules,json=redemptionSchedules,proto3" json:"redemption_schedules,omitempty"` +} + +func (x *RedemptionsResponse) Reset() { + *x = RedemptionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RedemptionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RedemptionsResponse) ProtoMessage() {} + +func (x *RedemptionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RedemptionsResponse.ProtoReflect.Descriptor instead. +func (*RedemptionsResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP(), []int{7} +} + +func (x *RedemptionsResponse) GetRedemptionSchedules() []*RedemptionSchedule { + if x != nil { + return x.RedemptionSchedules + } + return nil +} + +type RedemptionSchedule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Redemption ID. + RedemptionId uint64 `protobuf:"varint,1,opt,name=redemption_id,json=redemptionId,proto3" json:"redemption_id,omitempty"` + // Status of the redemption. Either pending or disbursed. + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + // Account address of the redemption owner + Redeemer string `protobuf:"bytes,3,opt,name=redeemer,proto3" json:"redeemer,omitempty"` + // Claimable redemption time in seconds + ClaimableRedemptionTime int64 `protobuf:"zigzag64,4,opt,name=claimable_redemption_time,json=claimableRedemptionTime,proto3" json:"claimable_redemption_time,omitempty"` + // Amount of pool tokens being redeemed. + RedemptionAmount string `protobuf:"bytes,5,opt,name=redemption_amount,json=redemptionAmount,proto3" json:"redemption_amount,omitempty"` + // Pool token denom being redeemed. + RedemptionDenom string `protobuf:"bytes,6,opt,name=redemption_denom,json=redemptionDenom,proto3" json:"redemption_denom,omitempty"` + // Redemption request time in unix milliseconds. + RequestedAt int64 `protobuf:"zigzag64,7,opt,name=requested_at,json=requestedAt,proto3" json:"requested_at,omitempty"` + // Amount of quote tokens disbursed + DisbursedAmount string `protobuf:"bytes,8,opt,name=disbursed_amount,json=disbursedAmount,proto3" json:"disbursed_amount,omitempty"` + // Denom of the quote tokens disbursed + DisbursedDenom string `protobuf:"bytes,9,opt,name=disbursed_denom,json=disbursedDenom,proto3" json:"disbursed_denom,omitempty"` + // Redemption disbursement time in unix milliseconds. + DisbursedAt int64 `protobuf:"zigzag64,10,opt,name=disbursed_at,json=disbursedAt,proto3" json:"disbursed_at,omitempty"` +} + +func (x *RedemptionSchedule) Reset() { + *x = RedemptionSchedule{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RedemptionSchedule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RedemptionSchedule) ProtoMessage() {} + +func (x *RedemptionSchedule) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RedemptionSchedule.ProtoReflect.Descriptor instead. +func (*RedemptionSchedule) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP(), []int{8} +} + +func (x *RedemptionSchedule) GetRedemptionId() uint64 { + if x != nil { + return x.RedemptionId + } + return 0 +} + +func (x *RedemptionSchedule) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *RedemptionSchedule) GetRedeemer() string { + if x != nil { + return x.Redeemer + } + return "" +} + +func (x *RedemptionSchedule) GetClaimableRedemptionTime() int64 { + if x != nil { + return x.ClaimableRedemptionTime + } + return 0 +} + +func (x *RedemptionSchedule) GetRedemptionAmount() string { + if x != nil { + return x.RedemptionAmount + } + return "" +} + +func (x *RedemptionSchedule) GetRedemptionDenom() string { + if x != nil { + return x.RedemptionDenom + } + return "" +} + +func (x *RedemptionSchedule) GetRequestedAt() int64 { + if x != nil { + return x.RequestedAt + } + return 0 +} + +func (x *RedemptionSchedule) GetDisbursedAmount() string { + if x != nil { + return x.DisbursedAmount + } + return "" +} + +func (x *RedemptionSchedule) GetDisbursedDenom() string { + if x != nil { + return x.DisbursedDenom + } + return "" +} + +func (x *RedemptionSchedule) GetDisbursedAt() int64 { + if x != nil { + return x.DisbursedAt + } + return 0 +} + +var File_goadesign_goagen_injective_insurance_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_insurance_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, + 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x17, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, + 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x0e, 0x0a, 0x0c, 0x46, 0x75, 0x6e, + 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4d, 0x0a, 0x0d, 0x46, 0x75, 0x6e, + 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x66, 0x75, + 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x75, 0x6e, + 0x64, 0x52, 0x05, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x22, 0xf5, 0x03, 0x0a, 0x0d, 0x49, 0x6e, 0x73, + 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, + 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, + 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x44, 0x65, 0x6e, 0x6f, + 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x6f, 0x6f, + 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x49, 0x0a, 0x21, 0x72, + 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, + 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x1e, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x44, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x42, 0x61, + 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x71, 0x75, 0x6f, + 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, + 0x51, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, + 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x50, + 0x0a, 0x12, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x10, + 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 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, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, + 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, + 0x6d, 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, + 0x6d, 0x61, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x22, 0x23, 0x0a, 0x0b, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x4a, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x49, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x04, + 0x66, 0x75, 0x6e, 0x64, 0x22, 0x73, 0x0a, 0x12, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, + 0x64, 0x65, 0x65, 0x6d, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, + 0x64, 0x65, 0x65, 0x6d, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6e, 0x6f, + 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x75, 0x0a, 0x13, 0x52, 0x65, 0x64, + 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x5e, 0x0a, 0x14, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x13, 0x72, 0x65, 0x64, + 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, + 0x22, 0x9b, 0x03, 0x0a, 0x12, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x65, 0x6d, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, + 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x65, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x65, 0x72, + 0x12, 0x3a, 0x0a, 0x19, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, + 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x17, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, + 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, + 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x64, + 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x62, 0x75, + 0x72, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x62, 0x75, 0x72, 0x73, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x62, 0x75, 0x72, 0x73, 0x65, 0x64, 0x5f, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x69, 0x73, + 0x62, 0x75, 0x72, 0x73, 0x65, 0x64, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x64, + 0x69, 0x73, 0x62, 0x75, 0x72, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x62, 0x75, 0x72, 0x73, 0x65, 0x64, 0x41, 0x74, 0x32, 0xae, + 0x02, 0x0a, 0x15, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x75, + 0x72, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x50, 0x43, 0x12, 0x56, 0x0a, 0x05, 0x46, 0x75, 0x6e, 0x64, + 0x73, 0x12, 0x25, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, + 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x53, 0x0a, 0x04, 0x46, 0x75, 0x6e, 0x64, 0x12, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0b, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, + 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, + 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x64, 0x65, + 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, + 0x1c, 0x5a, 0x1a, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, + 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_goadesign_goagen_injective_insurance_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_insurance_rpc_proto_rawDescData = file_goadesign_goagen_injective_insurance_rpc_proto_rawDesc +) + +func file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_insurance_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_insurance_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_insurance_rpc_proto_rawDescData) + }) + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescData +} + +var file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_goadesign_goagen_injective_insurance_rpc_proto_goTypes = []interface{}{ + (*FundsRequest)(nil), // 0: injective_insurance_rpc.FundsRequest + (*FundsResponse)(nil), // 1: injective_insurance_rpc.FundsResponse + (*InsuranceFund)(nil), // 2: injective_insurance_rpc.InsuranceFund + (*TokenMeta)(nil), // 3: injective_insurance_rpc.TokenMeta + (*FundRequest)(nil), // 4: injective_insurance_rpc.FundRequest + (*FundResponse)(nil), // 5: injective_insurance_rpc.FundResponse + (*RedemptionsRequest)(nil), // 6: injective_insurance_rpc.RedemptionsRequest + (*RedemptionsResponse)(nil), // 7: injective_insurance_rpc.RedemptionsResponse + (*RedemptionSchedule)(nil), // 8: injective_insurance_rpc.RedemptionSchedule +} +var file_goadesign_goagen_injective_insurance_rpc_proto_depIdxs = []int32{ + 2, // 0: injective_insurance_rpc.FundsResponse.funds:type_name -> injective_insurance_rpc.InsuranceFund + 3, // 1: injective_insurance_rpc.InsuranceFund.deposit_token_meta:type_name -> injective_insurance_rpc.TokenMeta + 2, // 2: injective_insurance_rpc.FundResponse.fund:type_name -> injective_insurance_rpc.InsuranceFund + 8, // 3: injective_insurance_rpc.RedemptionsResponse.redemption_schedules:type_name -> injective_insurance_rpc.RedemptionSchedule + 0, // 4: injective_insurance_rpc.InjectiveInsuranceRPC.Funds:input_type -> injective_insurance_rpc.FundsRequest + 4, // 5: injective_insurance_rpc.InjectiveInsuranceRPC.Fund:input_type -> injective_insurance_rpc.FundRequest + 6, // 6: injective_insurance_rpc.InjectiveInsuranceRPC.Redemptions:input_type -> injective_insurance_rpc.RedemptionsRequest + 1, // 7: injective_insurance_rpc.InjectiveInsuranceRPC.Funds:output_type -> injective_insurance_rpc.FundsResponse + 5, // 8: injective_insurance_rpc.InjectiveInsuranceRPC.Fund:output_type -> injective_insurance_rpc.FundResponse + 7, // 9: injective_insurance_rpc.InjectiveInsuranceRPC.Redemptions:output_type -> injective_insurance_rpc.RedemptionsResponse + 7, // [7:10] is the sub-list for method output_type + 4, // [4:7] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_goadesign_goagen_injective_insurance_rpc_proto_init() } +func file_goadesign_goagen_injective_insurance_rpc_proto_init() { + if File_goadesign_goagen_injective_insurance_rpc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InsuranceFund); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TokenMeta); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RedemptionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RedemptionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RedemptionSchedule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_goadesign_goagen_injective_insurance_rpc_proto_rawDesc, + NumEnums: 0, + NumMessages: 9, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_goadesign_goagen_injective_insurance_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_insurance_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes, + }.Build() + File_goadesign_goagen_injective_insurance_rpc_proto = out.File + file_goadesign_goagen_injective_insurance_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_insurance_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_insurance_rpc_proto_depIdxs = nil +} diff --git a/exchange/insurance_rpc/pb/injective_insurance_rpc.proto b/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.proto similarity index 88% rename from exchange/insurance_rpc/pb/injective_insurance_rpc.proto rename to exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.proto index c340aba8..b670ddea 100644 --- a/exchange/insurance_rpc/pb/injective_insurance_rpc.proto +++ b/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveInsuranceRPC protocol buffer definition // @@ -15,6 +15,8 @@ option go_package = "/injective_insurance_rpcpb"; service InjectiveInsuranceRPC { // Funds lists all insurance funds. rpc Funds (FundsRequest) returns (FundsResponse); + // Funds returns an insurance fund for a given insurance fund token denom. + rpc Fund (FundRequest) returns (FundResponse); // PendingRedemptions lists all pending redemptions according to a filter rpc Redemptions (RedemptionsRequest) returns (RedemptionsResponse); } @@ -66,6 +68,16 @@ message TokenMeta { sint64 updated_at = 6; } +message FundRequest { + // denom of insurance fund + string denom = 1; +} + +message FundResponse { + // The insurance fund corresponding to the provided token denom + InsuranceFund fund = 1; +} + message RedemptionsRequest { // Account address of the redemption owner string redeemer = 1; diff --git a/exchange/insurance_rpc/pb/injective_insurance_rpc_grpc.pb.go b/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc_grpc.pb.go similarity index 76% rename from exchange/insurance_rpc/pb/injective_insurance_rpc_grpc.pb.go rename to exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc_grpc.pb.go index c2da7f7a..1361dc6b 100644 --- a/exchange/insurance_rpc/pb/injective_insurance_rpc_grpc.pb.go +++ b/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_insurance_rpc.proto package injective_insurance_rpcpb @@ -20,6 +24,8 @@ const _ = grpc.SupportPackageIsVersion7 type InjectiveInsuranceRPCClient interface { // Funds lists all insurance funds. Funds(ctx context.Context, in *FundsRequest, opts ...grpc.CallOption) (*FundsResponse, error) + // Funds returns an insurance fund for a given insurance fund token denom. + Fund(ctx context.Context, in *FundRequest, opts ...grpc.CallOption) (*FundResponse, error) // PendingRedemptions lists all pending redemptions according to a filter Redemptions(ctx context.Context, in *RedemptionsRequest, opts ...grpc.CallOption) (*RedemptionsResponse, error) } @@ -41,6 +47,15 @@ func (c *injectiveInsuranceRPCClient) Funds(ctx context.Context, in *FundsReques return out, nil } +func (c *injectiveInsuranceRPCClient) Fund(ctx context.Context, in *FundRequest, opts ...grpc.CallOption) (*FundResponse, error) { + out := new(FundResponse) + err := c.cc.Invoke(ctx, "/injective_insurance_rpc.InjectiveInsuranceRPC/Fund", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *injectiveInsuranceRPCClient) Redemptions(ctx context.Context, in *RedemptionsRequest, opts ...grpc.CallOption) (*RedemptionsResponse, error) { out := new(RedemptionsResponse) err := c.cc.Invoke(ctx, "/injective_insurance_rpc.InjectiveInsuranceRPC/Redemptions", in, out, opts...) @@ -56,6 +71,8 @@ func (c *injectiveInsuranceRPCClient) Redemptions(ctx context.Context, in *Redem type InjectiveInsuranceRPCServer interface { // Funds lists all insurance funds. Funds(context.Context, *FundsRequest) (*FundsResponse, error) + // Funds returns an insurance fund for a given insurance fund token denom. + Fund(context.Context, *FundRequest) (*FundResponse, error) // PendingRedemptions lists all pending redemptions according to a filter Redemptions(context.Context, *RedemptionsRequest) (*RedemptionsResponse, error) mustEmbedUnimplementedInjectiveInsuranceRPCServer() @@ -68,6 +85,9 @@ type UnimplementedInjectiveInsuranceRPCServer struct { func (UnimplementedInjectiveInsuranceRPCServer) Funds(context.Context, *FundsRequest) (*FundsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Funds not implemented") } +func (UnimplementedInjectiveInsuranceRPCServer) Fund(context.Context, *FundRequest) (*FundResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Fund not implemented") +} func (UnimplementedInjectiveInsuranceRPCServer) Redemptions(context.Context, *RedemptionsRequest) (*RedemptionsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Redemptions not implemented") } @@ -102,6 +122,24 @@ func _InjectiveInsuranceRPC_Funds_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _InjectiveInsuranceRPC_Fund_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FundRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveInsuranceRPCServer).Fund(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_insurance_rpc.InjectiveInsuranceRPC/Fund", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveInsuranceRPCServer).Fund(ctx, req.(*FundRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _InjectiveInsuranceRPC_Redemptions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(RedemptionsRequest) if err := dec(in); err != nil { @@ -131,11 +169,15 @@ var InjectiveInsuranceRPC_ServiceDesc = grpc.ServiceDesc{ MethodName: "Funds", Handler: _InjectiveInsuranceRPC_Funds_Handler, }, + { + MethodName: "Fund", + Handler: _InjectiveInsuranceRPC_Fund_Handler, + }, { MethodName: "Redemptions", Handler: _InjectiveInsuranceRPC_Redemptions_Handler, }, }, Streams: []grpc.StreamDesc{}, - Metadata: "injective_insurance_rpc.proto", + Metadata: "goadesign_goagen_injective_insurance_rpc.proto", } diff --git a/exchange/insurance_rpc/pb/injective_insurance_rpc.pb.go b/exchange/insurance_rpc/pb/injective_insurance_rpc.pb.go deleted file mode 100644 index 6e52b6d8..00000000 --- a/exchange/insurance_rpc/pb/injective_insurance_rpc.pb.go +++ /dev/null @@ -1,854 +0,0 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. -// -// InjectiveInsuranceRPC protocol buffer definition -// -// Command: -// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_insurance_rpc.proto - -package injective_insurance_rpcpb - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type FundsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *FundsRequest) Reset() { - *x = FundsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_insurance_rpc_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FundsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FundsRequest) ProtoMessage() {} - -func (x *FundsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_insurance_rpc_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FundsRequest.ProtoReflect.Descriptor instead. -func (*FundsRequest) Descriptor() ([]byte, []int) { - return file_injective_insurance_rpc_proto_rawDescGZIP(), []int{0} -} - -type FundsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Funds []*InsuranceFund `protobuf:"bytes,1,rep,name=funds,proto3" json:"funds,omitempty"` -} - -func (x *FundsResponse) Reset() { - *x = FundsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_insurance_rpc_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FundsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FundsResponse) ProtoMessage() {} - -func (x *FundsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_insurance_rpc_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FundsResponse.ProtoReflect.Descriptor instead. -func (*FundsResponse) Descriptor() ([]byte, []int) { - return file_injective_insurance_rpc_proto_rawDescGZIP(), []int{1} -} - -func (x *FundsResponse) GetFunds() []*InsuranceFund { - if x != nil { - return x.Funds - } - return nil -} - -type InsuranceFund struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Ticker of the derivative market. - MarketTicker string `protobuf:"bytes,1,opt,name=market_ticker,json=marketTicker,proto3" json:"market_ticker,omitempty"` - // Derivative Market ID - MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - // Coin denom used for the underwriting of the insurance fund. - DepositDenom string `protobuf:"bytes,3,opt,name=deposit_denom,json=depositDenom,proto3" json:"deposit_denom,omitempty"` - // Pool token denom - PoolTokenDenom string `protobuf:"bytes,4,opt,name=pool_token_denom,json=poolTokenDenom,proto3" json:"pool_token_denom,omitempty"` - // Redemption notice period duration in seconds. - RedemptionNoticePeriodDuration int64 `protobuf:"zigzag64,5,opt,name=redemption_notice_period_duration,json=redemptionNoticePeriodDuration,proto3" json:"redemption_notice_period_duration,omitempty"` - Balance string `protobuf:"bytes,6,opt,name=balance,proto3" json:"balance,omitempty"` - TotalShare string `protobuf:"bytes,7,opt,name=total_share,json=totalShare,proto3" json:"total_share,omitempty"` - // Oracle base currency - OracleBase string `protobuf:"bytes,8,opt,name=oracle_base,json=oracleBase,proto3" json:"oracle_base,omitempty"` - // Oracle quote currency - OracleQuote string `protobuf:"bytes,9,opt,name=oracle_quote,json=oracleQuote,proto3" json:"oracle_quote,omitempty"` - // Oracle Type - OracleType string `protobuf:"bytes,10,opt,name=oracle_type,json=oracleType,proto3" json:"oracle_type,omitempty"` - // Defines the expiry, if any - Expiry int64 `protobuf:"zigzag64,11,opt,name=expiry,proto3" json:"expiry,omitempty"` - // Token metadata for the deposit asset, only for Ethereum-based assets - DepositTokenMeta *TokenMeta `protobuf:"bytes,12,opt,name=deposit_token_meta,json=depositTokenMeta,proto3" json:"deposit_token_meta,omitempty"` -} - -func (x *InsuranceFund) Reset() { - *x = InsuranceFund{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_insurance_rpc_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InsuranceFund) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InsuranceFund) ProtoMessage() {} - -func (x *InsuranceFund) ProtoReflect() protoreflect.Message { - mi := &file_injective_insurance_rpc_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InsuranceFund.ProtoReflect.Descriptor instead. -func (*InsuranceFund) Descriptor() ([]byte, []int) { - return file_injective_insurance_rpc_proto_rawDescGZIP(), []int{2} -} - -func (x *InsuranceFund) GetMarketTicker() string { - if x != nil { - return x.MarketTicker - } - return "" -} - -func (x *InsuranceFund) GetMarketId() string { - if x != nil { - return x.MarketId - } - return "" -} - -func (x *InsuranceFund) GetDepositDenom() string { - if x != nil { - return x.DepositDenom - } - return "" -} - -func (x *InsuranceFund) GetPoolTokenDenom() string { - if x != nil { - return x.PoolTokenDenom - } - return "" -} - -func (x *InsuranceFund) GetRedemptionNoticePeriodDuration() int64 { - if x != nil { - return x.RedemptionNoticePeriodDuration - } - return 0 -} - -func (x *InsuranceFund) GetBalance() string { - if x != nil { - return x.Balance - } - return "" -} - -func (x *InsuranceFund) GetTotalShare() string { - if x != nil { - return x.TotalShare - } - return "" -} - -func (x *InsuranceFund) GetOracleBase() string { - if x != nil { - return x.OracleBase - } - return "" -} - -func (x *InsuranceFund) GetOracleQuote() string { - if x != nil { - return x.OracleQuote - } - return "" -} - -func (x *InsuranceFund) GetOracleType() string { - if x != nil { - return x.OracleType - } - return "" -} - -func (x *InsuranceFund) GetExpiry() int64 { - if x != nil { - return x.Expiry - } - return 0 -} - -func (x *InsuranceFund) GetDepositTokenMeta() *TokenMeta { - if x != nil { - return x.DepositTokenMeta - } - return nil -} - -type TokenMeta struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Token full name - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // Token Ethereum contract address - Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` - // Token symbol short name - Symbol string `protobuf:"bytes,3,opt,name=symbol,proto3" json:"symbol,omitempty"` - // URL to the logo image - Logo string `protobuf:"bytes,4,opt,name=logo,proto3" json:"logo,omitempty"` - // Token decimals - Decimals int32 `protobuf:"zigzag32,5,opt,name=decimals,proto3" json:"decimals,omitempty"` - // Token metadata fetched timestamp in UNIX millis. - UpdatedAt int64 `protobuf:"zigzag64,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` -} - -func (x *TokenMeta) Reset() { - *x = TokenMeta{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_insurance_rpc_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TokenMeta) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TokenMeta) ProtoMessage() {} - -func (x *TokenMeta) ProtoReflect() protoreflect.Message { - mi := &file_injective_insurance_rpc_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TokenMeta.ProtoReflect.Descriptor instead. -func (*TokenMeta) Descriptor() ([]byte, []int) { - return file_injective_insurance_rpc_proto_rawDescGZIP(), []int{3} -} - -func (x *TokenMeta) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *TokenMeta) GetAddress() string { - if x != nil { - return x.Address - } - return "" -} - -func (x *TokenMeta) GetSymbol() string { - if x != nil { - return x.Symbol - } - return "" -} - -func (x *TokenMeta) GetLogo() string { - if x != nil { - return x.Logo - } - return "" -} - -func (x *TokenMeta) GetDecimals() int32 { - if x != nil { - return x.Decimals - } - return 0 -} - -func (x *TokenMeta) GetUpdatedAt() int64 { - if x != nil { - return x.UpdatedAt - } - return 0 -} - -type RedemptionsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Account address of the redemption owner - Redeemer string `protobuf:"bytes,1,opt,name=redeemer,proto3" json:"redeemer,omitempty"` - // Denom of the insurance pool token. - RedemptionDenom string `protobuf:"bytes,2,opt,name=redemption_denom,json=redemptionDenom,proto3" json:"redemption_denom,omitempty"` - // Status of the redemption. Either pending or disbursed. - Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` -} - -func (x *RedemptionsRequest) Reset() { - *x = RedemptionsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_insurance_rpc_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RedemptionsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RedemptionsRequest) ProtoMessage() {} - -func (x *RedemptionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_insurance_rpc_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RedemptionsRequest.ProtoReflect.Descriptor instead. -func (*RedemptionsRequest) Descriptor() ([]byte, []int) { - return file_injective_insurance_rpc_proto_rawDescGZIP(), []int{4} -} - -func (x *RedemptionsRequest) GetRedeemer() string { - if x != nil { - return x.Redeemer - } - return "" -} - -func (x *RedemptionsRequest) GetRedemptionDenom() string { - if x != nil { - return x.RedemptionDenom - } - return "" -} - -func (x *RedemptionsRequest) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -type RedemptionsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RedemptionSchedules []*RedemptionSchedule `protobuf:"bytes,1,rep,name=redemption_schedules,json=redemptionSchedules,proto3" json:"redemption_schedules,omitempty"` -} - -func (x *RedemptionsResponse) Reset() { - *x = RedemptionsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_insurance_rpc_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RedemptionsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RedemptionsResponse) ProtoMessage() {} - -func (x *RedemptionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_insurance_rpc_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RedemptionsResponse.ProtoReflect.Descriptor instead. -func (*RedemptionsResponse) Descriptor() ([]byte, []int) { - return file_injective_insurance_rpc_proto_rawDescGZIP(), []int{5} -} - -func (x *RedemptionsResponse) GetRedemptionSchedules() []*RedemptionSchedule { - if x != nil { - return x.RedemptionSchedules - } - return nil -} - -type RedemptionSchedule struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Redemption ID. - RedemptionId uint64 `protobuf:"varint,1,opt,name=redemption_id,json=redemptionId,proto3" json:"redemption_id,omitempty"` - // Status of the redemption. Either pending or disbursed. - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` - // Account address of the redemption owner - Redeemer string `protobuf:"bytes,3,opt,name=redeemer,proto3" json:"redeemer,omitempty"` - // Claimable redemption time in seconds - ClaimableRedemptionTime int64 `protobuf:"zigzag64,4,opt,name=claimable_redemption_time,json=claimableRedemptionTime,proto3" json:"claimable_redemption_time,omitempty"` - // Amount of pool tokens being redeemed. - RedemptionAmount string `protobuf:"bytes,5,opt,name=redemption_amount,json=redemptionAmount,proto3" json:"redemption_amount,omitempty"` - // Pool token denom being redeemed. - RedemptionDenom string `protobuf:"bytes,6,opt,name=redemption_denom,json=redemptionDenom,proto3" json:"redemption_denom,omitempty"` - // Redemption request time in unix milliseconds. - RequestedAt int64 `protobuf:"zigzag64,7,opt,name=requested_at,json=requestedAt,proto3" json:"requested_at,omitempty"` - // Amount of quote tokens disbursed - DisbursedAmount string `protobuf:"bytes,8,opt,name=disbursed_amount,json=disbursedAmount,proto3" json:"disbursed_amount,omitempty"` - // Denom of the quote tokens disbursed - DisbursedDenom string `protobuf:"bytes,9,opt,name=disbursed_denom,json=disbursedDenom,proto3" json:"disbursed_denom,omitempty"` - // Redemption disbursement time in unix milliseconds. - DisbursedAt int64 `protobuf:"zigzag64,10,opt,name=disbursed_at,json=disbursedAt,proto3" json:"disbursed_at,omitempty"` -} - -func (x *RedemptionSchedule) Reset() { - *x = RedemptionSchedule{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_insurance_rpc_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RedemptionSchedule) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RedemptionSchedule) ProtoMessage() {} - -func (x *RedemptionSchedule) ProtoReflect() protoreflect.Message { - mi := &file_injective_insurance_rpc_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RedemptionSchedule.ProtoReflect.Descriptor instead. -func (*RedemptionSchedule) Descriptor() ([]byte, []int) { - return file_injective_insurance_rpc_proto_rawDescGZIP(), []int{6} -} - -func (x *RedemptionSchedule) GetRedemptionId() uint64 { - if x != nil { - return x.RedemptionId - } - return 0 -} - -func (x *RedemptionSchedule) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *RedemptionSchedule) GetRedeemer() string { - if x != nil { - return x.Redeemer - } - return "" -} - -func (x *RedemptionSchedule) GetClaimableRedemptionTime() int64 { - if x != nil { - return x.ClaimableRedemptionTime - } - return 0 -} - -func (x *RedemptionSchedule) GetRedemptionAmount() string { - if x != nil { - return x.RedemptionAmount - } - return "" -} - -func (x *RedemptionSchedule) GetRedemptionDenom() string { - if x != nil { - return x.RedemptionDenom - } - return "" -} - -func (x *RedemptionSchedule) GetRequestedAt() int64 { - if x != nil { - return x.RequestedAt - } - return 0 -} - -func (x *RedemptionSchedule) GetDisbursedAmount() string { - if x != nil { - return x.DisbursedAmount - } - return "" -} - -func (x *RedemptionSchedule) GetDisbursedDenom() string { - if x != nil { - return x.DisbursedDenom - } - return "" -} - -func (x *RedemptionSchedule) GetDisbursedAt() int64 { - if x != nil { - return x.DisbursedAt - } - return 0 -} - -var File_injective_insurance_rpc_proto protoreflect.FileDescriptor - -var file_injective_insurance_rpc_proto_rawDesc = []byte{ - 0x0a, 0x1d, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, - 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x17, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x0e, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x64, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4d, 0x0a, 0x0d, 0x46, 0x75, 0x6e, 0x64, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x66, 0x75, 0x6e, - 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x75, 0x6e, 0x64, - 0x52, 0x05, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x22, 0xf5, 0x03, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x75, - 0x72, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1b, - 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x44, 0x65, 0x6e, 0x6f, 0x6d, - 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x6f, 0x6f, 0x6c, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x49, 0x0a, 0x21, 0x72, 0x65, - 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x5f, - 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x1e, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x42, 0x61, 0x73, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x71, 0x75, 0x6f, 0x74, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x51, - 0x75, 0x6f, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x50, 0x0a, - 0x12, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, - 0x65, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x10, 0x64, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x22, - 0xa0, 0x01, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 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, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, - 0x62, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, - 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, - 0x61, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x22, 0x73, 0x0a, 0x12, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x65, - 0x65, 0x6d, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x64, 0x65, - 0x65, 0x6d, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x75, 0x0a, 0x13, 0x52, 0x65, 0x64, 0x65, 0x6d, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, - 0x0a, 0x14, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x13, 0x72, 0x65, 0x64, 0x65, 0x6d, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x9b, - 0x03, 0x0a, 0x12, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x72, 0x65, - 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x65, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x65, 0x72, 0x12, 0x3a, - 0x0a, 0x19, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x65, - 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x17, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x64, 0x65, - 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, - 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x64, 0x65, 0x6d, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6e, - 0x6f, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x62, 0x75, 0x72, 0x73, - 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0f, 0x64, 0x69, 0x73, 0x62, 0x75, 0x72, 0x73, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x62, 0x75, 0x72, 0x73, 0x65, 0x64, 0x5f, 0x64, 0x65, - 0x6e, 0x6f, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x62, 0x75, - 0x72, 0x73, 0x65, 0x64, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, - 0x62, 0x75, 0x72, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x0b, 0x64, 0x69, 0x73, 0x62, 0x75, 0x72, 0x73, 0x65, 0x64, 0x41, 0x74, 0x32, 0xd9, 0x01, 0x0a, - 0x15, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x75, 0x72, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x50, 0x43, 0x12, 0x56, 0x0a, 0x05, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x12, - 0x25, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, - 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, - 0x0a, 0x0b, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x1c, 0x5a, 0x1a, 0x2f, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_injective_insurance_rpc_proto_rawDescOnce sync.Once - file_injective_insurance_rpc_proto_rawDescData = file_injective_insurance_rpc_proto_rawDesc -) - -func file_injective_insurance_rpc_proto_rawDescGZIP() []byte { - file_injective_insurance_rpc_proto_rawDescOnce.Do(func() { - file_injective_insurance_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_insurance_rpc_proto_rawDescData) - }) - return file_injective_insurance_rpc_proto_rawDescData -} - -var file_injective_insurance_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 7) -var file_injective_insurance_rpc_proto_goTypes = []interface{}{ - (*FundsRequest)(nil), // 0: injective_insurance_rpc.FundsRequest - (*FundsResponse)(nil), // 1: injective_insurance_rpc.FundsResponse - (*InsuranceFund)(nil), // 2: injective_insurance_rpc.InsuranceFund - (*TokenMeta)(nil), // 3: injective_insurance_rpc.TokenMeta - (*RedemptionsRequest)(nil), // 4: injective_insurance_rpc.RedemptionsRequest - (*RedemptionsResponse)(nil), // 5: injective_insurance_rpc.RedemptionsResponse - (*RedemptionSchedule)(nil), // 6: injective_insurance_rpc.RedemptionSchedule -} -var file_injective_insurance_rpc_proto_depIdxs = []int32{ - 2, // 0: injective_insurance_rpc.FundsResponse.funds:type_name -> injective_insurance_rpc.InsuranceFund - 3, // 1: injective_insurance_rpc.InsuranceFund.deposit_token_meta:type_name -> injective_insurance_rpc.TokenMeta - 6, // 2: injective_insurance_rpc.RedemptionsResponse.redemption_schedules:type_name -> injective_insurance_rpc.RedemptionSchedule - 0, // 3: injective_insurance_rpc.InjectiveInsuranceRPC.Funds:input_type -> injective_insurance_rpc.FundsRequest - 4, // 4: injective_insurance_rpc.InjectiveInsuranceRPC.Redemptions:input_type -> injective_insurance_rpc.RedemptionsRequest - 1, // 5: injective_insurance_rpc.InjectiveInsuranceRPC.Funds:output_type -> injective_insurance_rpc.FundsResponse - 5, // 6: injective_insurance_rpc.InjectiveInsuranceRPC.Redemptions:output_type -> injective_insurance_rpc.RedemptionsResponse - 5, // [5:7] is the sub-list for method output_type - 3, // [3:5] is the sub-list for method input_type - 3, // [3:3] is the sub-list for extension type_name - 3, // [3:3] is the sub-list for extension extendee - 0, // [0:3] is the sub-list for field type_name -} - -func init() { file_injective_insurance_rpc_proto_init() } -func file_injective_insurance_rpc_proto_init() { - if File_injective_insurance_rpc_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_injective_insurance_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FundsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_insurance_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FundsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_insurance_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InsuranceFund); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_insurance_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TokenMeta); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_insurance_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RedemptionsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_insurance_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RedemptionsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_insurance_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RedemptionSchedule); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_insurance_rpc_proto_rawDesc, - NumEnums: 0, - NumMessages: 7, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_injective_insurance_rpc_proto_goTypes, - DependencyIndexes: file_injective_insurance_rpc_proto_depIdxs, - MessageInfos: file_injective_insurance_rpc_proto_msgTypes, - }.Build() - File_injective_insurance_rpc_proto = out.File - file_injective_insurance_rpc_proto_rawDesc = nil - file_injective_insurance_rpc_proto_goTypes = nil - file_injective_insurance_rpc_proto_depIdxs = nil -} diff --git a/exchange/insurance_rpc/pb/injective_insurance_rpc.pb.gw.go b/exchange/insurance_rpc/pb/injective_insurance_rpc.pb.gw.go index 54821ee5..eab9eda7 100644 --- a/exchange/insurance_rpc/pb/injective_insurance_rpc.pb.gw.go +++ b/exchange/insurance_rpc/pb/injective_insurance_rpc.pb.gw.go @@ -65,6 +65,40 @@ func local_request_InjectiveInsuranceRPC_Funds_0(ctx context.Context, marshaler } +func request_InjectiveInsuranceRPC_Fund_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveInsuranceRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq FundRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Fund(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveInsuranceRPC_Fund_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveInsuranceRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq FundRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Fund(ctx, &protoReq) + return msg, metadata, err + +} + func request_InjectiveInsuranceRPC_Redemptions_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveInsuranceRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq RedemptionsRequest var metadata runtime.ServerMetadata @@ -111,20 +145,47 @@ func RegisterInjectiveInsuranceRPCHandlerServer(ctx context.Context, mux *runtim var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Funds", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Funds")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Funds", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Funds")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveInsuranceRPC_Funds_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveInsuranceRPC_Funds_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveInsuranceRPC_Funds_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveInsuranceRPC_Fund_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Fund", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Fund")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } + resp, md, err := local_request_InjectiveInsuranceRPC_Fund_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } - forward_InjectiveInsuranceRPC_Funds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveInsuranceRPC_Fund_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -134,20 +195,22 @@ func RegisterInjectiveInsuranceRPCHandlerServer(ctx context.Context, mux *runtim var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Redemptions", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Redemptions")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Redemptions", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Redemptions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveInsuranceRPC_Redemptions_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveInsuranceRPC_Redemptions_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveInsuranceRPC_Redemptions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveInsuranceRPC_Redemptions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -196,19 +259,43 @@ func RegisterInjectiveInsuranceRPCHandlerClient(ctx context.Context, mux *runtim ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Funds", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Funds")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Funds", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Funds")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveInsuranceRPC_Funds_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveInsuranceRPC_Funds_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveInsuranceRPC_Funds_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveInsuranceRPC_Fund_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Fund", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Fund")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } + resp, md, err := request_InjectiveInsuranceRPC_Fund_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } - forward_InjectiveInsuranceRPC_Funds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveInsuranceRPC_Fund_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -216,19 +303,21 @@ func RegisterInjectiveInsuranceRPCHandlerClient(ctx context.Context, mux *runtim ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Redemptions", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Redemptions")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Redemptions", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Redemptions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveInsuranceRPC_Redemptions_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveInsuranceRPC_Redemptions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveInsuranceRPC_Redemptions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveInsuranceRPC_Redemptions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -238,11 +327,15 @@ func RegisterInjectiveInsuranceRPCHandlerClient(ctx context.Context, mux *runtim var ( pattern_InjectiveInsuranceRPC_Funds_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_insurance_rpc.InjectiveInsuranceRPC", "Funds"}, "")) + pattern_InjectiveInsuranceRPC_Fund_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_insurance_rpc.InjectiveInsuranceRPC", "Fund"}, "")) + pattern_InjectiveInsuranceRPC_Redemptions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_insurance_rpc.InjectiveInsuranceRPC", "Redemptions"}, "")) ) var ( forward_InjectiveInsuranceRPC_Funds_0 = runtime.ForwardResponseMessage + forward_InjectiveInsuranceRPC_Fund_0 = runtime.ForwardResponseMessage + forward_InjectiveInsuranceRPC_Redemptions_0 = runtime.ForwardResponseMessage ) diff --git a/exchange/meta_rpc/pb/injective_meta_rpc.pb.go b/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc.pb.go similarity index 60% rename from exchange/meta_rpc/pb/injective_meta_rpc.pb.go rename to exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc.pb.go index 24d9b61a..57610fcc 100644 --- a/exchange/meta_rpc/pb/injective_meta_rpc.pb.go +++ b/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc.pb.go @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveMetaRPC protocol buffer definition // @@ -8,8 +8,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_meta_rpc.proto +// protoc v4.25.3 +// source: goadesign_goagen_injective_meta_rpc.proto package injective_meta_rpcpb @@ -36,7 +36,7 @@ type PingRequest struct { func (x *PingRequest) Reset() { *x = PingRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -49,7 +49,7 @@ func (x *PingRequest) String() string { func (*PingRequest) ProtoMessage() {} func (x *PingRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -62,7 +62,7 @@ func (x *PingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PingRequest.ProtoReflect.Descriptor instead. func (*PingRequest) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{0} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{0} } type PingResponse struct { @@ -74,7 +74,7 @@ type PingResponse struct { func (x *PingResponse) Reset() { *x = PingResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -87,7 +87,7 @@ func (x *PingResponse) String() string { func (*PingResponse) ProtoMessage() {} func (x *PingResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -100,7 +100,7 @@ func (x *PingResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PingResponse.ProtoReflect.Descriptor instead. func (*PingResponse) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{1} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{1} } type VersionRequest struct { @@ -112,7 +112,7 @@ type VersionRequest struct { func (x *VersionRequest) Reset() { *x = VersionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -125,7 +125,7 @@ func (x *VersionRequest) String() string { func (*VersionRequest) ProtoMessage() {} func (x *VersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -138,7 +138,7 @@ func (x *VersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use VersionRequest.ProtoReflect.Descriptor instead. func (*VersionRequest) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{2} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{2} } type VersionResponse struct { @@ -155,7 +155,7 @@ type VersionResponse struct { func (x *VersionResponse) Reset() { *x = VersionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -168,7 +168,7 @@ func (x *VersionResponse) String() string { func (*VersionResponse) ProtoMessage() {} func (x *VersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -181,7 +181,7 @@ func (x *VersionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use VersionResponse.ProtoReflect.Descriptor instead. func (*VersionResponse) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{3} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{3} } func (x *VersionResponse) GetVersion() string { @@ -210,7 +210,7 @@ type InfoRequest struct { func (x *InfoRequest) Reset() { *x = InfoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -223,7 +223,7 @@ func (x *InfoRequest) String() string { func (*InfoRequest) ProtoMessage() {} func (x *InfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -236,7 +236,7 @@ func (x *InfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InfoRequest.ProtoReflect.Descriptor instead. func (*InfoRequest) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{4} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{4} } func (x *InfoRequest) GetTimestamp() int64 { @@ -266,7 +266,7 @@ type InfoResponse struct { func (x *InfoResponse) Reset() { *x = InfoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -279,7 +279,7 @@ func (x *InfoResponse) String() string { func (*InfoResponse) ProtoMessage() {} func (x *InfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -292,7 +292,7 @@ func (x *InfoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use InfoResponse.ProtoReflect.Descriptor instead. func (*InfoResponse) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{5} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{5} } func (x *InfoResponse) GetTimestamp() int64 { @@ -339,7 +339,7 @@ type StreamKeepaliveRequest struct { func (x *StreamKeepaliveRequest) Reset() { *x = StreamKeepaliveRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -352,7 +352,7 @@ func (x *StreamKeepaliveRequest) String() string { func (*StreamKeepaliveRequest) ProtoMessage() {} func (x *StreamKeepaliveRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -365,7 +365,7 @@ func (x *StreamKeepaliveRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamKeepaliveRequest.ProtoReflect.Descriptor instead. func (*StreamKeepaliveRequest) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{6} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{6} } type StreamKeepaliveResponse struct { @@ -384,7 +384,7 @@ type StreamKeepaliveResponse struct { func (x *StreamKeepaliveResponse) Reset() { *x = StreamKeepaliveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -397,7 +397,7 @@ func (x *StreamKeepaliveResponse) String() string { func (*StreamKeepaliveResponse) ProtoMessage() {} func (x *StreamKeepaliveResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -410,7 +410,7 @@ func (x *StreamKeepaliveResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamKeepaliveResponse.ProtoReflect.Descriptor instead. func (*StreamKeepaliveResponse) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{7} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{7} } func (x *StreamKeepaliveResponse) GetEvent() string { @@ -445,7 +445,7 @@ type TokenMetadataRequest struct { func (x *TokenMetadataRequest) Reset() { *x = TokenMetadataRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -458,7 +458,7 @@ func (x *TokenMetadataRequest) String() string { func (*TokenMetadataRequest) ProtoMessage() {} func (x *TokenMetadataRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -471,7 +471,7 @@ func (x *TokenMetadataRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TokenMetadataRequest.ProtoReflect.Descriptor instead. func (*TokenMetadataRequest) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{8} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{8} } func (x *TokenMetadataRequest) GetDenoms() []string { @@ -493,7 +493,7 @@ type TokenMetadataResponse struct { func (x *TokenMetadataResponse) Reset() { *x = TokenMetadataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -506,7 +506,7 @@ func (x *TokenMetadataResponse) String() string { func (*TokenMetadataResponse) ProtoMessage() {} func (x *TokenMetadataResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -519,7 +519,7 @@ func (x *TokenMetadataResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TokenMetadataResponse.ProtoReflect.Descriptor instead. func (*TokenMetadataResponse) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{9} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{9} } func (x *TokenMetadataResponse) GetTokens() []*TokenMetadataElement { @@ -553,7 +553,7 @@ type TokenMetadataElement struct { func (x *TokenMetadataElement) Reset() { *x = TokenMetadataElement{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -566,7 +566,7 @@ func (x *TokenMetadataElement) String() string { func (*TokenMetadataElement) ProtoMessage() {} func (x *TokenMetadataElement) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -579,7 +579,7 @@ func (x *TokenMetadataElement) ProtoReflect() protoreflect.Message { // Deprecated: Use TokenMetadataElement.ProtoReflect.Descriptor instead. func (*TokenMetadataElement) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{10} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{10} } func (x *TokenMetadataElement) GetEthereumAddress() string { @@ -631,123 +631,124 @@ func (x *TokenMetadataElement) GetLogo() string { return "" } -var File_injective_meta_rpc_proto protoreflect.FileDescriptor - -var file_injective_meta_rpc_proto_rawDesc = []byte{ - 0x0a, 0x18, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x0d, - 0x0a, 0x0b, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0e, 0x0a, - 0x0c, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x10, 0x0a, - 0x0e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0xab, 0x01, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, - 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x62, 0x75, - 0x69, 0x6c, 0x64, 0x1a, 0x38, 0x0a, 0x0a, 0x42, 0x75, 0x69, 0x6c, 0x64, 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, 0x2b, 0x0a, - 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, +var File_goadesign_goagen_injective_meta_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_meta_rpc_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x22, + 0x0d, 0x0a, 0x0b, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0e, + 0x0a, 0x0c, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x10, + 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x22, 0xab, 0x01, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x44, + 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x1a, 0x38, 0x0a, 0x0a, 0x42, 0x75, 0x69, 0x6c, 0x64, 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, 0x2b, + 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xfc, 0x01, 0x0a, 0x0c, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xfc, 0x01, 0x0a, 0x0c, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x1a, - 0x38, 0x0a, 0x0a, 0x42, 0x75, 0x69, 0x6c, 0x64, 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, 0x18, 0x0a, 0x16, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x70, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x65, - 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x2e, 0x0a, 0x14, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x22, 0x59, 0x0a, 0x15, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, - 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0x22, 0xd6, 0x01, 0x0a, 0x14, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x74, 0x68, - 0x65, 0x72, 0x65, 0x75, 0x6d, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x69, 0x6e, 0x67, 0x65, 0x63, 0x6b, - 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x69, 0x6e, - 0x67, 0x65, 0x63, 0x6b, 0x6f, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x05, 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, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x65, 0x63, - 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x32, 0xd0, 0x03, 0x0a, 0x10, 0x49, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x50, 0x43, 0x12, 0x49, - 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x1a, 0x38, 0x0a, 0x0a, 0x42, 0x75, 0x69, 0x6c, 0x64, 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, 0x18, 0x0a, 0x16, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x70, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x65, + 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x2e, 0x0a, 0x14, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x22, 0x59, 0x0a, 0x15, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x40, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x22, 0xd6, 0x01, 0x0a, 0x14, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x74, + 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x69, 0x6e, 0x67, 0x65, 0x63, + 0x6b, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x69, + 0x6e, 0x67, 0x65, 0x63, 0x6b, 0x6f, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, + 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x05, 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, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x65, + 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x32, 0xd0, 0x03, 0x0a, 0x10, 0x49, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x50, 0x43, 0x12, + 0x49, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x07, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, - 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x07, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, + 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x2a, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, - 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x17, 0x5a, 0x15, - 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, - 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x0f, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x2a, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x17, 0x5a, + 0x15, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_injective_meta_rpc_proto_rawDescOnce sync.Once - file_injective_meta_rpc_proto_rawDescData = file_injective_meta_rpc_proto_rawDesc + file_goadesign_goagen_injective_meta_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_meta_rpc_proto_rawDescData = file_goadesign_goagen_injective_meta_rpc_proto_rawDesc ) -func file_injective_meta_rpc_proto_rawDescGZIP() []byte { - file_injective_meta_rpc_proto_rawDescOnce.Do(func() { - file_injective_meta_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_meta_rpc_proto_rawDescData) +func file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_meta_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_meta_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_meta_rpc_proto_rawDescData) }) - return file_injective_meta_rpc_proto_rawDescData + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescData } -var file_injective_meta_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 13) -var file_injective_meta_rpc_proto_goTypes = []interface{}{ +var file_goadesign_goagen_injective_meta_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_goadesign_goagen_injective_meta_rpc_proto_goTypes = []interface{}{ (*PingRequest)(nil), // 0: injective_meta_rpc.PingRequest (*PingResponse)(nil), // 1: injective_meta_rpc.PingResponse (*VersionRequest)(nil), // 2: injective_meta_rpc.VersionRequest @@ -762,7 +763,7 @@ var file_injective_meta_rpc_proto_goTypes = []interface{}{ nil, // 11: injective_meta_rpc.VersionResponse.BuildEntry nil, // 12: injective_meta_rpc.InfoResponse.BuildEntry } -var file_injective_meta_rpc_proto_depIdxs = []int32{ +var file_goadesign_goagen_injective_meta_rpc_proto_depIdxs = []int32{ 11, // 0: injective_meta_rpc.VersionResponse.build:type_name -> injective_meta_rpc.VersionResponse.BuildEntry 12, // 1: injective_meta_rpc.InfoResponse.build:type_name -> injective_meta_rpc.InfoResponse.BuildEntry 10, // 2: injective_meta_rpc.TokenMetadataResponse.tokens:type_name -> injective_meta_rpc.TokenMetadataElement @@ -783,13 +784,13 @@ var file_injective_meta_rpc_proto_depIdxs = []int32{ 0, // [0:3] is the sub-list for field type_name } -func init() { file_injective_meta_rpc_proto_init() } -func file_injective_meta_rpc_proto_init() { - if File_injective_meta_rpc_proto != nil { +func init() { file_goadesign_goagen_injective_meta_rpc_proto_init() } +func file_goadesign_goagen_injective_meta_rpc_proto_init() { + if File_goadesign_goagen_injective_meta_rpc_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_injective_meta_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PingRequest); i { case 0: return &v.state @@ -801,7 +802,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PingResponse); i { case 0: return &v.state @@ -813,7 +814,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VersionRequest); i { case 0: return &v.state @@ -825,7 +826,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VersionResponse); i { case 0: return &v.state @@ -837,7 +838,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InfoRequest); i { case 0: return &v.state @@ -849,7 +850,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InfoResponse); i { case 0: return &v.state @@ -861,7 +862,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamKeepaliveRequest); i { case 0: return &v.state @@ -873,7 +874,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamKeepaliveResponse); i { case 0: return &v.state @@ -885,7 +886,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenMetadataRequest); i { case 0: return &v.state @@ -897,7 +898,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenMetadataResponse); i { case 0: return &v.state @@ -909,7 +910,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenMetadataElement); i { case 0: return &v.state @@ -926,18 +927,18 @@ func file_injective_meta_rpc_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_meta_rpc_proto_rawDesc, + RawDescriptor: file_goadesign_goagen_injective_meta_rpc_proto_rawDesc, NumEnums: 0, NumMessages: 13, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_injective_meta_rpc_proto_goTypes, - DependencyIndexes: file_injective_meta_rpc_proto_depIdxs, - MessageInfos: file_injective_meta_rpc_proto_msgTypes, + GoTypes: file_goadesign_goagen_injective_meta_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_meta_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_meta_rpc_proto_msgTypes, }.Build() - File_injective_meta_rpc_proto = out.File - file_injective_meta_rpc_proto_rawDesc = nil - file_injective_meta_rpc_proto_goTypes = nil - file_injective_meta_rpc_proto_depIdxs = nil + File_goadesign_goagen_injective_meta_rpc_proto = out.File + file_goadesign_goagen_injective_meta_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_meta_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_meta_rpc_proto_depIdxs = nil } diff --git a/exchange/meta_rpc/pb/injective_meta_rpc.proto b/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc.proto similarity index 98% rename from exchange/meta_rpc/pb/injective_meta_rpc.proto rename to exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc.proto index ed6001d3..87f2e718 100644 --- a/exchange/meta_rpc/pb/injective_meta_rpc.proto +++ b/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveMetaRPC protocol buffer definition // diff --git a/exchange/meta_rpc/pb/injective_meta_rpc_grpc.pb.go b/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc_grpc.pb.go similarity index 98% rename from exchange/meta_rpc/pb/injective_meta_rpc_grpc.pb.go rename to exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc_grpc.pb.go index d1e1ab5b..5928b6b7 100644 --- a/exchange/meta_rpc/pb/injective_meta_rpc_grpc.pb.go +++ b/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_meta_rpc.proto package injective_meta_rpcpb @@ -281,5 +285,5 @@ var InjectiveMetaRPC_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, }, - Metadata: "injective_meta_rpc.proto", + Metadata: "goadesign_goagen_injective_meta_rpc.proto", } diff --git a/exchange/meta_rpc/pb/injective_meta_rpc.pb.gw.go b/exchange/meta_rpc/pb/injective_meta_rpc.pb.gw.go index ee142b89..00df0503 100644 --- a/exchange/meta_rpc/pb/injective_meta_rpc.pb.gw.go +++ b/exchange/meta_rpc/pb/injective_meta_rpc.pb.gw.go @@ -204,20 +204,22 @@ func RegisterInjectiveMetaRPCHandlerServer(ctx context.Context, mux *runtime.Ser var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Ping", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Ping")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Ping", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Ping")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveMetaRPC_Ping_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveMetaRPC_Ping_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveMetaRPC_Ping_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveMetaRPC_Ping_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -227,20 +229,22 @@ func RegisterInjectiveMetaRPCHandlerServer(ctx context.Context, mux *runtime.Ser var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Version", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Version")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Version", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Version")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveMetaRPC_Version_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveMetaRPC_Version_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveMetaRPC_Version_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveMetaRPC_Version_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -250,20 +254,22 @@ func RegisterInjectiveMetaRPCHandlerServer(ctx context.Context, mux *runtime.Ser var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Info", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Info")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Info", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Info")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveMetaRPC_Info_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveMetaRPC_Info_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveMetaRPC_Info_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveMetaRPC_Info_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -280,20 +286,22 @@ func RegisterInjectiveMetaRPCHandlerServer(ctx context.Context, mux *runtime.Ser var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/TokenMetadata", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/TokenMetadata")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/TokenMetadata", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/TokenMetadata")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveMetaRPC_TokenMetadata_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveMetaRPC_TokenMetadata_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveMetaRPC_TokenMetadata_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveMetaRPC_TokenMetadata_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -342,19 +350,21 @@ func RegisterInjectiveMetaRPCHandlerClient(ctx context.Context, mux *runtime.Ser ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Ping", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Ping")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Ping", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Ping")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveMetaRPC_Ping_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveMetaRPC_Ping_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveMetaRPC_Ping_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveMetaRPC_Ping_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -362,19 +372,21 @@ func RegisterInjectiveMetaRPCHandlerClient(ctx context.Context, mux *runtime.Ser ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Version", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Version")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Version", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Version")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveMetaRPC_Version_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveMetaRPC_Version_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveMetaRPC_Version_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveMetaRPC_Version_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -382,19 +394,21 @@ func RegisterInjectiveMetaRPCHandlerClient(ctx context.Context, mux *runtime.Ser ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Info", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Info")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Info", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Info")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveMetaRPC_Info_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveMetaRPC_Info_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveMetaRPC_Info_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveMetaRPC_Info_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -402,19 +416,21 @@ func RegisterInjectiveMetaRPCHandlerClient(ctx context.Context, mux *runtime.Ser ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/StreamKeepalive", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/StreamKeepalive")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/StreamKeepalive", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/StreamKeepalive")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveMetaRPC_StreamKeepalive_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveMetaRPC_StreamKeepalive_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveMetaRPC_StreamKeepalive_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveMetaRPC_StreamKeepalive_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -422,19 +438,21 @@ func RegisterInjectiveMetaRPCHandlerClient(ctx context.Context, mux *runtime.Ser ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/TokenMetadata", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/TokenMetadata")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/TokenMetadata", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/TokenMetadata")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveMetaRPC_TokenMetadata_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveMetaRPC_TokenMetadata_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveMetaRPC_TokenMetadata_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveMetaRPC_TokenMetadata_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/exchange/oracle_rpc/pb/injective_oracle_rpc.pb.go b/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc.pb.go similarity index 59% rename from exchange/oracle_rpc/pb/injective_oracle_rpc.pb.go rename to exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc.pb.go index 0a61a950..7af894ce 100644 --- a/exchange/oracle_rpc/pb/injective_oracle_rpc.pb.go +++ b/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc.pb.go @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveOracleRPC protocol buffer definition // @@ -8,8 +8,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_oracle_rpc.proto +// protoc v4.25.3 +// source: goadesign_goagen_injective_oracle_rpc.proto package injective_oracle_rpcpb @@ -36,7 +36,7 @@ type OracleListRequest struct { func (x *OracleListRequest) Reset() { *x = OracleListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_oracle_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -49,7 +49,7 @@ func (x *OracleListRequest) String() string { func (*OracleListRequest) ProtoMessage() {} func (x *OracleListRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_oracle_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -62,7 +62,7 @@ func (x *OracleListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use OracleListRequest.ProtoReflect.Descriptor instead. func (*OracleListRequest) Descriptor() ([]byte, []int) { - return file_injective_oracle_rpc_proto_rawDescGZIP(), []int{0} + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP(), []int{0} } type OracleListResponse struct { @@ -76,7 +76,7 @@ type OracleListResponse struct { func (x *OracleListResponse) Reset() { *x = OracleListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_oracle_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -89,7 +89,7 @@ func (x *OracleListResponse) String() string { func (*OracleListResponse) ProtoMessage() {} func (x *OracleListResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_oracle_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -102,7 +102,7 @@ func (x *OracleListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use OracleListResponse.ProtoReflect.Descriptor instead. func (*OracleListResponse) Descriptor() ([]byte, []int) { - return file_injective_oracle_rpc_proto_rawDescGZIP(), []int{1} + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP(), []int{1} } func (x *OracleListResponse) GetOracles() []*Oracle { @@ -132,7 +132,7 @@ type Oracle struct { func (x *Oracle) Reset() { *x = Oracle{} if protoimpl.UnsafeEnabled { - mi := &file_injective_oracle_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -145,7 +145,7 @@ func (x *Oracle) String() string { func (*Oracle) ProtoMessage() {} func (x *Oracle) ProtoReflect() protoreflect.Message { - mi := &file_injective_oracle_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -158,7 +158,7 @@ func (x *Oracle) ProtoReflect() protoreflect.Message { // Deprecated: Use Oracle.ProtoReflect.Descriptor instead. func (*Oracle) Descriptor() ([]byte, []int) { - return file_injective_oracle_rpc_proto_rawDescGZIP(), []int{2} + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP(), []int{2} } func (x *Oracle) GetSymbol() string { @@ -214,7 +214,7 @@ type PriceRequest struct { func (x *PriceRequest) Reset() { *x = PriceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_oracle_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -227,7 +227,7 @@ func (x *PriceRequest) String() string { func (*PriceRequest) ProtoMessage() {} func (x *PriceRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_oracle_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -240,7 +240,7 @@ func (x *PriceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PriceRequest.ProtoReflect.Descriptor instead. func (*PriceRequest) Descriptor() ([]byte, []int) { - return file_injective_oracle_rpc_proto_rawDescGZIP(), []int{3} + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP(), []int{3} } func (x *PriceRequest) GetBaseSymbol() string { @@ -283,7 +283,7 @@ type PriceResponse struct { func (x *PriceResponse) Reset() { *x = PriceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_oracle_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -296,7 +296,7 @@ func (x *PriceResponse) String() string { func (*PriceResponse) ProtoMessage() {} func (x *PriceResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_oracle_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -309,7 +309,7 @@ func (x *PriceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PriceResponse.ProtoReflect.Descriptor instead. func (*PriceResponse) Descriptor() ([]byte, []int) { - return file_injective_oracle_rpc_proto_rawDescGZIP(), []int{4} + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP(), []int{4} } func (x *PriceResponse) GetPrice() string { @@ -335,7 +335,7 @@ type StreamPricesRequest struct { func (x *StreamPricesRequest) Reset() { *x = StreamPricesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_oracle_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -348,7 +348,7 @@ func (x *StreamPricesRequest) String() string { func (*StreamPricesRequest) ProtoMessage() {} func (x *StreamPricesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_oracle_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -361,7 +361,7 @@ func (x *StreamPricesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamPricesRequest.ProtoReflect.Descriptor instead. func (*StreamPricesRequest) Descriptor() ([]byte, []int) { - return file_injective_oracle_rpc_proto_rawDescGZIP(), []int{5} + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP(), []int{5} } func (x *StreamPricesRequest) GetBaseSymbol() string { @@ -399,7 +399,7 @@ type StreamPricesResponse struct { func (x *StreamPricesResponse) Reset() { *x = StreamPricesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_oracle_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -412,7 +412,7 @@ func (x *StreamPricesResponse) String() string { func (*StreamPricesResponse) ProtoMessage() {} func (x *StreamPricesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_oracle_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -425,7 +425,7 @@ func (x *StreamPricesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamPricesResponse.ProtoReflect.Descriptor instead. func (*StreamPricesResponse) Descriptor() ([]byte, []int) { - return file_injective_oracle_rpc_proto_rawDescGZIP(), []int{6} + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP(), []int{6} } func (x *StreamPricesResponse) GetPrice() string { @@ -454,7 +454,7 @@ type StreamPricesByMarketsRequest struct { func (x *StreamPricesByMarketsRequest) Reset() { *x = StreamPricesByMarketsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_oracle_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -467,7 +467,7 @@ func (x *StreamPricesByMarketsRequest) String() string { func (*StreamPricesByMarketsRequest) ProtoMessage() {} func (x *StreamPricesByMarketsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_oracle_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -480,7 +480,7 @@ func (x *StreamPricesByMarketsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamPricesByMarketsRequest.ProtoReflect.Descriptor instead. func (*StreamPricesByMarketsRequest) Descriptor() ([]byte, []int) { - return file_injective_oracle_rpc_proto_rawDescGZIP(), []int{7} + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP(), []int{7} } func (x *StreamPricesByMarketsRequest) GetMarketIds() []string { @@ -506,7 +506,7 @@ type StreamPricesByMarketsResponse struct { func (x *StreamPricesByMarketsResponse) Reset() { *x = StreamPricesByMarketsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_oracle_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -519,7 +519,7 @@ func (x *StreamPricesByMarketsResponse) String() string { func (*StreamPricesByMarketsResponse) ProtoMessage() {} func (x *StreamPricesByMarketsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_oracle_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -532,7 +532,7 @@ func (x *StreamPricesByMarketsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamPricesByMarketsResponse.ProtoReflect.Descriptor instead. func (*StreamPricesByMarketsResponse) Descriptor() ([]byte, []int) { - return file_injective_oracle_rpc_proto_rawDescGZIP(), []int{8} + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP(), []int{8} } func (x *StreamPricesByMarketsResponse) GetPrice() string { @@ -556,111 +556,112 @@ func (x *StreamPricesByMarketsResponse) GetMarketId() string { return "" } -var File_injective_oracle_rpc_proto protoreflect.FileDescriptor - -var file_injective_oracle_rpc_proto_rawDesc = []byte{ - 0x0a, 0x1a, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, - 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x22, 0x13, 0x0a, 0x11, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4c, 0x0a, 0x12, 0x4f, 0x72, 0x61, 0x63, 0x6c, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, - 0x07, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x07, 0x6f, 0x72, - 0x61, 0x63, 0x6c, 0x65, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x06, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x73, 0x65, - 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, +var File_goadesign_goagen_injective_oracle_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_oracle_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2b, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, + 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x22, 0x13, 0x0a, 0x11, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4c, 0x0a, 0x12, 0x4f, 0x72, 0x61, 0x63, + 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, + 0x0a, 0x07, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, + 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x07, 0x6f, + 0x72, 0x61, 0x63, 0x6c, 0x65, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x06, 0x4f, 0x72, 0x61, 0x63, 0x6c, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x73, + 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x62, 0x61, 0x73, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, + 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1f, 0x0a, + 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x79, + 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x73, 0x65, + 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, + 0x6f, 0x74, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x61, + 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x72, + 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x53, + 0x63, 0x61, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x25, 0x0a, 0x0d, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x22, 0x7a, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, 0x6f, - 0x74, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x74, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, - 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x79, 0x6d, - 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x53, - 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x73, - 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x6f, - 0x74, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, - 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, - 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x72, 0x61, - 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x53, 0x63, - 0x61, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x25, 0x0a, 0x0d, 0x50, 0x72, 0x69, - 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, - 0x22, 0x7a, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x5f, - 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, - 0x73, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, 0x6f, 0x74, - 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x71, 0x75, 0x6f, 0x74, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, - 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4a, 0x0a, 0x14, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x3d, 0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, + 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4a, 0x0a, + 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x3d, 0x0a, 0x1c, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x42, 0x79, 0x4d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x70, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x42, 0x79, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x70, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x42, 0x79, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x32, 0xb5, 0x03, 0x0a, 0x12, 0x49, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x50, 0x43, - 0x12, 0x5f, 0x0a, 0x0a, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, - 0x72, 0x61, 0x63, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x50, 0x0a, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x22, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, - 0x63, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, - 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x42, 0x79, 0x4d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x42, 0x79, 0x4d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x42, 0x79, - 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x42, 0x19, 0x5a, 0x17, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x32, 0xb5, 0x03, 0x0a, 0x12, 0x49, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x50, + 0x43, 0x12, 0x5f, 0x0a, 0x0a, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, + 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x50, 0x0a, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x22, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, + 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, + 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, + 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x42, 0x79, + 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x42, 0x79, 0x4d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x42, + 0x79, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x30, 0x01, 0x42, 0x19, 0x5a, 0x17, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_injective_oracle_rpc_proto_rawDescOnce sync.Once - file_injective_oracle_rpc_proto_rawDescData = file_injective_oracle_rpc_proto_rawDesc + file_goadesign_goagen_injective_oracle_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_oracle_rpc_proto_rawDescData = file_goadesign_goagen_injective_oracle_rpc_proto_rawDesc ) -func file_injective_oracle_rpc_proto_rawDescGZIP() []byte { - file_injective_oracle_rpc_proto_rawDescOnce.Do(func() { - file_injective_oracle_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_oracle_rpc_proto_rawDescData) +func file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_oracle_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_oracle_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_oracle_rpc_proto_rawDescData) }) - return file_injective_oracle_rpc_proto_rawDescData + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescData } -var file_injective_oracle_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 9) -var file_injective_oracle_rpc_proto_goTypes = []interface{}{ +var file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_goadesign_goagen_injective_oracle_rpc_proto_goTypes = []interface{}{ (*OracleListRequest)(nil), // 0: injective_oracle_rpc.OracleListRequest (*OracleListResponse)(nil), // 1: injective_oracle_rpc.OracleListResponse (*Oracle)(nil), // 2: injective_oracle_rpc.Oracle @@ -671,7 +672,7 @@ var file_injective_oracle_rpc_proto_goTypes = []interface{}{ (*StreamPricesByMarketsRequest)(nil), // 7: injective_oracle_rpc.StreamPricesByMarketsRequest (*StreamPricesByMarketsResponse)(nil), // 8: injective_oracle_rpc.StreamPricesByMarketsResponse } -var file_injective_oracle_rpc_proto_depIdxs = []int32{ +var file_goadesign_goagen_injective_oracle_rpc_proto_depIdxs = []int32{ 2, // 0: injective_oracle_rpc.OracleListResponse.oracles:type_name -> injective_oracle_rpc.Oracle 0, // 1: injective_oracle_rpc.InjectiveOracleRPC.OracleList:input_type -> injective_oracle_rpc.OracleListRequest 3, // 2: injective_oracle_rpc.InjectiveOracleRPC.Price:input_type -> injective_oracle_rpc.PriceRequest @@ -688,13 +689,13 @@ var file_injective_oracle_rpc_proto_depIdxs = []int32{ 0, // [0:1] is the sub-list for field type_name } -func init() { file_injective_oracle_rpc_proto_init() } -func file_injective_oracle_rpc_proto_init() { - if File_injective_oracle_rpc_proto != nil { +func init() { file_goadesign_goagen_injective_oracle_rpc_proto_init() } +func file_goadesign_goagen_injective_oracle_rpc_proto_init() { + if File_goadesign_goagen_injective_oracle_rpc_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_injective_oracle_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OracleListRequest); i { case 0: return &v.state @@ -706,7 +707,7 @@ func file_injective_oracle_rpc_proto_init() { return nil } } - file_injective_oracle_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OracleListResponse); i { case 0: return &v.state @@ -718,7 +719,7 @@ func file_injective_oracle_rpc_proto_init() { return nil } } - file_injective_oracle_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Oracle); i { case 0: return &v.state @@ -730,7 +731,7 @@ func file_injective_oracle_rpc_proto_init() { return nil } } - file_injective_oracle_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PriceRequest); i { case 0: return &v.state @@ -742,7 +743,7 @@ func file_injective_oracle_rpc_proto_init() { return nil } } - file_injective_oracle_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PriceResponse); i { case 0: return &v.state @@ -754,7 +755,7 @@ func file_injective_oracle_rpc_proto_init() { return nil } } - file_injective_oracle_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamPricesRequest); i { case 0: return &v.state @@ -766,7 +767,7 @@ func file_injective_oracle_rpc_proto_init() { return nil } } - file_injective_oracle_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamPricesResponse); i { case 0: return &v.state @@ -778,7 +779,7 @@ func file_injective_oracle_rpc_proto_init() { return nil } } - file_injective_oracle_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamPricesByMarketsRequest); i { case 0: return &v.state @@ -790,7 +791,7 @@ func file_injective_oracle_rpc_proto_init() { return nil } } - file_injective_oracle_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamPricesByMarketsResponse); i { case 0: return &v.state @@ -807,18 +808,18 @@ func file_injective_oracle_rpc_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_oracle_rpc_proto_rawDesc, + RawDescriptor: file_goadesign_goagen_injective_oracle_rpc_proto_rawDesc, NumEnums: 0, NumMessages: 9, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_injective_oracle_rpc_proto_goTypes, - DependencyIndexes: file_injective_oracle_rpc_proto_depIdxs, - MessageInfos: file_injective_oracle_rpc_proto_msgTypes, + GoTypes: file_goadesign_goagen_injective_oracle_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_oracle_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes, }.Build() - File_injective_oracle_rpc_proto = out.File - file_injective_oracle_rpc_proto_rawDesc = nil - file_injective_oracle_rpc_proto_goTypes = nil - file_injective_oracle_rpc_proto_depIdxs = nil + File_goadesign_goagen_injective_oracle_rpc_proto = out.File + file_goadesign_goagen_injective_oracle_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_oracle_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_oracle_rpc_proto_depIdxs = nil } diff --git a/exchange/oracle_rpc/pb/injective_oracle_rpc.proto b/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc.proto similarity index 97% rename from exchange/oracle_rpc/pb/injective_oracle_rpc.proto rename to exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc.proto index 8f190dd9..7185b66e 100644 --- a/exchange/oracle_rpc/pb/injective_oracle_rpc.proto +++ b/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveOracleRPC protocol buffer definition // diff --git a/exchange/oracle_rpc/pb/injective_oracle_rpc_grpc.pb.go b/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc_grpc.pb.go similarity index 98% rename from exchange/oracle_rpc/pb/injective_oracle_rpc_grpc.pb.go rename to exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc_grpc.pb.go index 169bec13..342df40a 100644 --- a/exchange/oracle_rpc/pb/injective_oracle_rpc_grpc.pb.go +++ b/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_oracle_rpc.proto package injective_oracle_rpcpb @@ -270,5 +274,5 @@ var InjectiveOracleRPC_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, }, - Metadata: "injective_oracle_rpc.proto", + Metadata: "goadesign_goagen_injective_oracle_rpc.proto", } diff --git a/exchange/oracle_rpc/pb/injective_oracle_rpc.pb.gw.go b/exchange/oracle_rpc/pb/injective_oracle_rpc.pb.gw.go index 10332f0e..6880d0ca 100644 --- a/exchange/oracle_rpc/pb/injective_oracle_rpc.pb.gw.go +++ b/exchange/oracle_rpc/pb/injective_oracle_rpc.pb.gw.go @@ -161,20 +161,22 @@ func RegisterInjectiveOracleRPCHandlerServer(ctx context.Context, mux *runtime.S var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/OracleList", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/OracleList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/OracleList", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/OracleList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveOracleRPC_OracleList_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveOracleRPC_OracleList_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveOracleRPC_OracleList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveOracleRPC_OracleList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -184,20 +186,22 @@ func RegisterInjectiveOracleRPCHandlerServer(ctx context.Context, mux *runtime.S var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/Price", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/Price")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/Price", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/Price")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveOracleRPC_Price_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveOracleRPC_Price_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveOracleRPC_Price_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveOracleRPC_Price_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -260,19 +264,21 @@ func RegisterInjectiveOracleRPCHandlerClient(ctx context.Context, mux *runtime.S ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/OracleList", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/OracleList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/OracleList", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/OracleList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveOracleRPC_OracleList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveOracleRPC_OracleList_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveOracleRPC_OracleList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveOracleRPC_OracleList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -280,19 +286,21 @@ func RegisterInjectiveOracleRPCHandlerClient(ctx context.Context, mux *runtime.S ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/Price", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/Price")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/Price", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/Price")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveOracleRPC_Price_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveOracleRPC_Price_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveOracleRPC_Price_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveOracleRPC_Price_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -300,19 +308,21 @@ func RegisterInjectiveOracleRPCHandlerClient(ctx context.Context, mux *runtime.S ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/StreamPrices", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/StreamPrices")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/StreamPrices", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/StreamPrices")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveOracleRPC_StreamPrices_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveOracleRPC_StreamPrices_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveOracleRPC_StreamPrices_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveOracleRPC_StreamPrices_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -320,19 +330,21 @@ func RegisterInjectiveOracleRPCHandlerClient(ctx context.Context, mux *runtime.S ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/StreamPricesByMarkets", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/StreamPricesByMarkets")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/StreamPricesByMarkets", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/StreamPricesByMarkets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveOracleRPC_StreamPricesByMarkets_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveOracleRPC_StreamPricesByMarkets_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveOracleRPC_StreamPricesByMarkets_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveOracleRPC_StreamPricesByMarkets_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) diff --git a/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.pb.go b/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.pb.go new file mode 100644 index 00000000..7f9f25db --- /dev/null +++ b/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.pb.go @@ -0,0 +1,1534 @@ +// Code generated with goa v3.7.0, DO NOT EDIT. +// +// InjectivePortfolioRPC protocol buffer definition +// +// Command: +// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc v4.25.3 +// source: goadesign_goagen_injective_portfolio_rpc.proto + +package injective_portfolio_rpcpb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type TokenHoldersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Denom of the token + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + // Cursor for pagination + Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` + Limit int32 `protobuf:"zigzag32,3,opt,name=limit,proto3" json:"limit,omitempty"` +} + +func (x *TokenHoldersRequest) Reset() { + *x = TokenHoldersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TokenHoldersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TokenHoldersRequest) ProtoMessage() {} + +func (x *TokenHoldersRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TokenHoldersRequest.ProtoReflect.Descriptor instead. +func (*TokenHoldersRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{0} +} + +func (x *TokenHoldersRequest) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *TokenHoldersRequest) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +func (x *TokenHoldersRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +type TokenHoldersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Holders []*Holder `protobuf:"bytes,1,rep,name=holders,proto3" json:"holders,omitempty"` + // Next cursors for pagination + NextCursors []string `protobuf:"bytes,2,rep,name=next_cursors,json=nextCursors,proto3" json:"next_cursors,omitempty"` +} + +func (x *TokenHoldersResponse) Reset() { + *x = TokenHoldersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TokenHoldersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TokenHoldersResponse) ProtoMessage() {} + +func (x *TokenHoldersResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TokenHoldersResponse.ProtoReflect.Descriptor instead. +func (*TokenHoldersResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{1} +} + +func (x *TokenHoldersResponse) GetHolders() []*Holder { + if x != nil { + return x.Holders + } + return nil +} + +func (x *TokenHoldersResponse) GetNextCursors() []string { + if x != nil { + return x.NextCursors + } + return nil +} + +type Holder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address for the holder + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // The balance of the holder + Balance string `protobuf:"bytes,2,opt,name=balance,proto3" json:"balance,omitempty"` +} + +func (x *Holder) Reset() { + *x = Holder{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Holder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Holder) ProtoMessage() {} + +func (x *Holder) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Holder.ProtoReflect.Descriptor instead. +func (*Holder) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{2} +} + +func (x *Holder) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *Holder) GetBalance() string { + if x != nil { + return x.Balance + } + return "" +} + +type AccountPortfolioRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *AccountPortfolioRequest) Reset() { + *x = AccountPortfolioRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountPortfolioRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountPortfolioRequest) ProtoMessage() {} + +func (x *AccountPortfolioRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountPortfolioRequest.ProtoReflect.Descriptor instead. +func (*AccountPortfolioRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{3} +} + +func (x *AccountPortfolioRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type AccountPortfolioResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The portfolio of this account + Portfolio *Portfolio `protobuf:"bytes,1,opt,name=portfolio,proto3" json:"portfolio,omitempty"` +} + +func (x *AccountPortfolioResponse) Reset() { + *x = AccountPortfolioResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountPortfolioResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountPortfolioResponse) ProtoMessage() {} + +func (x *AccountPortfolioResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountPortfolioResponse.ProtoReflect.Descriptor instead. +func (*AccountPortfolioResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{4} +} + +func (x *AccountPortfolioResponse) GetPortfolio() *Portfolio { + if x != nil { + return x.Portfolio + } + return nil +} + +type Portfolio struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The account's portfolio address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // Account available bank balances + BankBalances []*Coin `protobuf:"bytes,2,rep,name=bank_balances,json=bankBalances,proto3" json:"bank_balances,omitempty"` + // Subaccounts list + Subaccounts []*SubaccountBalanceV2 `protobuf:"bytes,3,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` + // All positions for all subaccounts, with unrealized PNL + PositionsWithUpnl []*PositionsWithUPNL `protobuf:"bytes,4,rep,name=positions_with_upnl,json=positionsWithUpnl,proto3" json:"positions_with_upnl,omitempty"` +} + +func (x *Portfolio) Reset() { + *x = Portfolio{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Portfolio) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Portfolio) ProtoMessage() {} + +func (x *Portfolio) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Portfolio.ProtoReflect.Descriptor instead. +func (*Portfolio) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{5} +} + +func (x *Portfolio) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *Portfolio) GetBankBalances() []*Coin { + if x != nil { + return x.BankBalances + } + return nil +} + +func (x *Portfolio) GetSubaccounts() []*SubaccountBalanceV2 { + if x != nil { + return x.Subaccounts + } + return nil +} + +func (x *Portfolio) GetPositionsWithUpnl() []*PositionsWithUPNL { + if x != nil { + return x.PositionsWithUpnl + } + return nil +} + +type Coin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Denom of the coin + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *Coin) Reset() { + *x = Coin{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Coin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Coin) ProtoMessage() {} + +func (x *Coin) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Coin.ProtoReflect.Descriptor instead. +func (*Coin) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{6} +} + +func (x *Coin) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *Coin) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +type SubaccountBalanceV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Related subaccount ID + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Coin denom on the chain. + Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` + Deposit *SubaccountDeposit `protobuf:"bytes,3,opt,name=deposit,proto3" json:"deposit,omitempty"` +} + +func (x *SubaccountBalanceV2) Reset() { + *x = SubaccountBalanceV2{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalanceV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalanceV2) ProtoMessage() {} + +func (x *SubaccountBalanceV2) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalanceV2.ProtoReflect.Descriptor instead. +func (*SubaccountBalanceV2) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{7} +} + +func (x *SubaccountBalanceV2) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountBalanceV2) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *SubaccountBalanceV2) GetDeposit() *SubaccountDeposit { + if x != nil { + return x.Deposit + } + return nil +} + +type SubaccountDeposit struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TotalBalance string `protobuf:"bytes,1,opt,name=total_balance,json=totalBalance,proto3" json:"total_balance,omitempty"` + AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` +} + +func (x *SubaccountDeposit) Reset() { + *x = SubaccountDeposit{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountDeposit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountDeposit) ProtoMessage() {} + +func (x *SubaccountDeposit) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountDeposit.ProtoReflect.Descriptor instead. +func (*SubaccountDeposit) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{8} +} + +func (x *SubaccountDeposit) GetTotalBalance() string { + if x != nil { + return x.TotalBalance + } + return "" +} + +func (x *SubaccountDeposit) GetAvailableBalance() string { + if x != nil { + return x.AvailableBalance + } + return "" +} + +type PositionsWithUPNL struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Position *DerivativePosition `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"` + // Unrealized PNL + UnrealizedPnl string `protobuf:"bytes,2,opt,name=unrealized_pnl,json=unrealizedPnl,proto3" json:"unrealized_pnl,omitempty"` +} + +func (x *PositionsWithUPNL) Reset() { + *x = PositionsWithUPNL{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PositionsWithUPNL) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PositionsWithUPNL) ProtoMessage() {} + +func (x *PositionsWithUPNL) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PositionsWithUPNL.ProtoReflect.Descriptor instead. +func (*PositionsWithUPNL) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{9} +} + +func (x *PositionsWithUPNL) GetPosition() *DerivativePosition { + if x != nil { + return x.Position + } + return nil +} + +func (x *PositionsWithUPNL) GetUnrealizedPnl() string { + if x != nil { + return x.UnrealizedPnl + } + return "" +} + +type DerivativePosition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Ticker of the derivative market + Ticker string `protobuf:"bytes,1,opt,name=ticker,proto3" json:"ticker,omitempty"` + // Derivative Market ID + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The subaccountId that the position belongs to + SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Direction of the position + Direction string `protobuf:"bytes,4,opt,name=direction,proto3" json:"direction,omitempty"` + // Quantity of the position + Quantity string `protobuf:"bytes,5,opt,name=quantity,proto3" json:"quantity,omitempty"` + // Price of the position + EntryPrice string `protobuf:"bytes,6,opt,name=entry_price,json=entryPrice,proto3" json:"entry_price,omitempty"` + // Margin of the position + Margin string `protobuf:"bytes,7,opt,name=margin,proto3" json:"margin,omitempty"` + // LiquidationPrice of the position + LiquidationPrice string `protobuf:"bytes,8,opt,name=liquidation_price,json=liquidationPrice,proto3" json:"liquidation_price,omitempty"` + // MarkPrice of the position + MarkPrice string `protobuf:"bytes,9,opt,name=mark_price,json=markPrice,proto3" json:"mark_price,omitempty"` + // Aggregate Quantity of the Reduce Only orders associated with the position + AggregateReduceOnlyQuantity string `protobuf:"bytes,11,opt,name=aggregate_reduce_only_quantity,json=aggregateReduceOnlyQuantity,proto3" json:"aggregate_reduce_only_quantity,omitempty"` + // Position updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Position created timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,13,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` +} + +func (x *DerivativePosition) Reset() { + *x = DerivativePosition{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DerivativePosition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DerivativePosition) ProtoMessage() {} + +func (x *DerivativePosition) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DerivativePosition.ProtoReflect.Descriptor instead. +func (*DerivativePosition) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{10} +} + +func (x *DerivativePosition) GetTicker() string { + if x != nil { + return x.Ticker + } + return "" +} + +func (x *DerivativePosition) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *DerivativePosition) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *DerivativePosition) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *DerivativePosition) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *DerivativePosition) GetEntryPrice() string { + if x != nil { + return x.EntryPrice + } + return "" +} + +func (x *DerivativePosition) GetMargin() string { + if x != nil { + return x.Margin + } + return "" +} + +func (x *DerivativePosition) GetLiquidationPrice() string { + if x != nil { + return x.LiquidationPrice + } + return "" +} + +func (x *DerivativePosition) GetMarkPrice() string { + if x != nil { + return x.MarkPrice + } + return "" +} + +func (x *DerivativePosition) GetAggregateReduceOnlyQuantity() string { + if x != nil { + return x.AggregateReduceOnlyQuantity + } + return "" +} + +func (x *DerivativePosition) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *DerivativePosition) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +type AccountPortfolioBalancesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *AccountPortfolioBalancesRequest) Reset() { + *x = AccountPortfolioBalancesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountPortfolioBalancesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountPortfolioBalancesRequest) ProtoMessage() {} + +func (x *AccountPortfolioBalancesRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountPortfolioBalancesRequest.ProtoReflect.Descriptor instead. +func (*AccountPortfolioBalancesRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{11} +} + +func (x *AccountPortfolioBalancesRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type AccountPortfolioBalancesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The portfolio balances of this account + Portfolio *PortfolioBalances `protobuf:"bytes,1,opt,name=portfolio,proto3" json:"portfolio,omitempty"` +} + +func (x *AccountPortfolioBalancesResponse) Reset() { + *x = AccountPortfolioBalancesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountPortfolioBalancesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountPortfolioBalancesResponse) ProtoMessage() {} + +func (x *AccountPortfolioBalancesResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountPortfolioBalancesResponse.ProtoReflect.Descriptor instead. +func (*AccountPortfolioBalancesResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{12} +} + +func (x *AccountPortfolioBalancesResponse) GetPortfolio() *PortfolioBalances { + if x != nil { + return x.Portfolio + } + return nil +} + +type PortfolioBalances struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The account's portfolio address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // Account available bank balances + BankBalances []*Coin `protobuf:"bytes,2,rep,name=bank_balances,json=bankBalances,proto3" json:"bank_balances,omitempty"` + // Subaccounts list + Subaccounts []*SubaccountBalanceV2 `protobuf:"bytes,3,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` +} + +func (x *PortfolioBalances) Reset() { + *x = PortfolioBalances{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortfolioBalances) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortfolioBalances) ProtoMessage() {} + +func (x *PortfolioBalances) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortfolioBalances.ProtoReflect.Descriptor instead. +func (*PortfolioBalances) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{13} +} + +func (x *PortfolioBalances) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *PortfolioBalances) GetBankBalances() []*Coin { + if x != nil { + return x.BankBalances + } + return nil +} + +func (x *PortfolioBalances) GetSubaccounts() []*SubaccountBalanceV2 { + if x != nil { + return x.Subaccounts + } + return nil +} + +type StreamAccountPortfolioRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The account's portfolio address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // Related subaccount ID + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` +} + +func (x *StreamAccountPortfolioRequest) Reset() { + *x = StreamAccountPortfolioRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamAccountPortfolioRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamAccountPortfolioRequest) ProtoMessage() {} + +func (x *StreamAccountPortfolioRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamAccountPortfolioRequest.ProtoReflect.Descriptor instead. +func (*StreamAccountPortfolioRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{14} +} + +func (x *StreamAccountPortfolioRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *StreamAccountPortfolioRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *StreamAccountPortfolioRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +type StreamAccountPortfolioResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // type of portfolio entry + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // denom of portfolio entry + Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` + // amount of portfolio entry + 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() { + *x = StreamAccountPortfolioResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamAccountPortfolioResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamAccountPortfolioResponse) ProtoMessage() {} + +func (x *StreamAccountPortfolioResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamAccountPortfolioResponse.ProtoReflect.Descriptor instead. +func (*StreamAccountPortfolioResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{15} +} + +func (x *StreamAccountPortfolioResponse) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *StreamAccountPortfolioResponse) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *StreamAccountPortfolioResponse) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +func (x *StreamAccountPortfolioResponse) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *StreamAccountPortfolioResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +var File_goadesign_goagen_injective_portfolio_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_portfolio_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x72, + 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x17, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, + 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x59, 0x0a, 0x13, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 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, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x22, 0x74, 0x0a, 0x14, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x6f, 0x6c, + 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x07, + 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 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, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x07, + 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x6e, + 0x65, 0x78, 0x74, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x73, 0x22, 0x4b, 0x0a, 0x06, 0x48, 0x6f, + 0x6c, 0x64, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, + 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x42, 0x0a, 0x17, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x5c, 0x0a, 0x18, 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, 0x40, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x66, + 0x6f, 0x6c, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 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, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x09, + 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x22, 0xa4, 0x02, 0x0a, 0x09, 0x50, 0x6f, + 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x42, 0x0a, 0x0d, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 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, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x0c, 0x62, 0x61, 0x6e, 0x6b, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 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, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x32, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x13, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x70, 0x6e, 0x6c, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2a, 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, 0x50, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x50, 0x4e, 0x4c, 0x52, 0x11, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x70, 0x6e, 0x6c, + 0x22, 0x34, 0x0a, 0x04, 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, 0x96, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x32, 0x12, 0x23, + 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x44, 0x0a, 0x07, 0x64, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 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, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x07, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x22, + 0x65, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x50, 0x4e, 0x4c, 0x12, 0x47, 0x0a, 0x08, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 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, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x64, 0x5f, 0x70, 0x6e, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x75, + 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x6e, 0x6c, 0x22, 0xb0, 0x03, 0x0a, + 0x12, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, + 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, + 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, + 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x69, 0x71, + 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x1e, + 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, + 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, + 0x4a, 0x0a, 0x1f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, + 0x6c, 0x69, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x6c, 0x0a, 0x20, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x48, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2a, 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, 0x50, 0x6f, 0x72, + 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x09, + 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x22, 0xd0, 0x01, 0x0a, 0x11, 0x50, 0x6f, + 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, + 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x62, 0x61, 0x6e, 0x6b, + 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1d, 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, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x0c, + 0x62, 0x61, 0x6e, 0x6b, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0b, + 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2c, 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, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x32, 0x52, + 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x81, 0x01, 0x0a, + 0x1d, 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, 0x12, 0x27, + 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 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, 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, 0x65, 0x6e, 0x6f, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 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, 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, 0x9d, 0x04, 0x0a, 0x15, 0x49, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, + 0x50, 0x43, 0x12, 0x6b, 0x0a, 0x0c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x6f, 0x6c, 0x64, 0x65, + 0x72, 0x73, 0x12, 0x2c, 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, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2d, 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, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x18, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x38, 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, + 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x39, 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, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x73, 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 ( + file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescData = file_goadesign_goagen_injective_portfolio_rpc_proto_rawDesc +) + +func file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescData) + }) + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescData +} + +var file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_goadesign_goagen_injective_portfolio_rpc_proto_goTypes = []interface{}{ + (*TokenHoldersRequest)(nil), // 0: injective_portfolio_rpc.TokenHoldersRequest + (*TokenHoldersResponse)(nil), // 1: injective_portfolio_rpc.TokenHoldersResponse + (*Holder)(nil), // 2: injective_portfolio_rpc.Holder + (*AccountPortfolioRequest)(nil), // 3: injective_portfolio_rpc.AccountPortfolioRequest + (*AccountPortfolioResponse)(nil), // 4: injective_portfolio_rpc.AccountPortfolioResponse + (*Portfolio)(nil), // 5: injective_portfolio_rpc.Portfolio + (*Coin)(nil), // 6: injective_portfolio_rpc.Coin + (*SubaccountBalanceV2)(nil), // 7: injective_portfolio_rpc.SubaccountBalanceV2 + (*SubaccountDeposit)(nil), // 8: injective_portfolio_rpc.SubaccountDeposit + (*PositionsWithUPNL)(nil), // 9: injective_portfolio_rpc.PositionsWithUPNL + (*DerivativePosition)(nil), // 10: injective_portfolio_rpc.DerivativePosition + (*AccountPortfolioBalancesRequest)(nil), // 11: injective_portfolio_rpc.AccountPortfolioBalancesRequest + (*AccountPortfolioBalancesResponse)(nil), // 12: injective_portfolio_rpc.AccountPortfolioBalancesResponse + (*PortfolioBalances)(nil), // 13: injective_portfolio_rpc.PortfolioBalances + (*StreamAccountPortfolioRequest)(nil), // 14: injective_portfolio_rpc.StreamAccountPortfolioRequest + (*StreamAccountPortfolioResponse)(nil), // 15: injective_portfolio_rpc.StreamAccountPortfolioResponse +} +var file_goadesign_goagen_injective_portfolio_rpc_proto_depIdxs = []int32{ + 2, // 0: injective_portfolio_rpc.TokenHoldersResponse.holders:type_name -> injective_portfolio_rpc.Holder + 5, // 1: injective_portfolio_rpc.AccountPortfolioResponse.portfolio:type_name -> injective_portfolio_rpc.Portfolio + 6, // 2: injective_portfolio_rpc.Portfolio.bank_balances:type_name -> injective_portfolio_rpc.Coin + 7, // 3: injective_portfolio_rpc.Portfolio.subaccounts:type_name -> injective_portfolio_rpc.SubaccountBalanceV2 + 9, // 4: injective_portfolio_rpc.Portfolio.positions_with_upnl:type_name -> injective_portfolio_rpc.PositionsWithUPNL + 8, // 5: injective_portfolio_rpc.SubaccountBalanceV2.deposit:type_name -> injective_portfolio_rpc.SubaccountDeposit + 10, // 6: injective_portfolio_rpc.PositionsWithUPNL.position:type_name -> injective_portfolio_rpc.DerivativePosition + 13, // 7: injective_portfolio_rpc.AccountPortfolioBalancesResponse.portfolio:type_name -> injective_portfolio_rpc.PortfolioBalances + 6, // 8: injective_portfolio_rpc.PortfolioBalances.bank_balances:type_name -> injective_portfolio_rpc.Coin + 7, // 9: injective_portfolio_rpc.PortfolioBalances.subaccounts:type_name -> injective_portfolio_rpc.SubaccountBalanceV2 + 0, // 10: injective_portfolio_rpc.InjectivePortfolioRPC.TokenHolders:input_type -> injective_portfolio_rpc.TokenHoldersRequest + 3, // 11: injective_portfolio_rpc.InjectivePortfolioRPC.AccountPortfolio:input_type -> injective_portfolio_rpc.AccountPortfolioRequest + 11, // 12: injective_portfolio_rpc.InjectivePortfolioRPC.AccountPortfolioBalances:input_type -> injective_portfolio_rpc.AccountPortfolioBalancesRequest + 14, // 13: injective_portfolio_rpc.InjectivePortfolioRPC.StreamAccountPortfolio:input_type -> injective_portfolio_rpc.StreamAccountPortfolioRequest + 1, // 14: injective_portfolio_rpc.InjectivePortfolioRPC.TokenHolders:output_type -> injective_portfolio_rpc.TokenHoldersResponse + 4, // 15: injective_portfolio_rpc.InjectivePortfolioRPC.AccountPortfolio:output_type -> injective_portfolio_rpc.AccountPortfolioResponse + 12, // 16: injective_portfolio_rpc.InjectivePortfolioRPC.AccountPortfolioBalances:output_type -> injective_portfolio_rpc.AccountPortfolioBalancesResponse + 15, // 17: injective_portfolio_rpc.InjectivePortfolioRPC.StreamAccountPortfolio:output_type -> injective_portfolio_rpc.StreamAccountPortfolioResponse + 14, // [14:18] is the sub-list for method output_type + 10, // [10:14] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { file_goadesign_goagen_injective_portfolio_rpc_proto_init() } +func file_goadesign_goagen_injective_portfolio_rpc_proto_init() { + if File_goadesign_goagen_injective_portfolio_rpc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TokenHoldersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TokenHoldersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Holder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountPortfolioRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountPortfolioResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Portfolio); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Coin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalanceV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountDeposit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PositionsWithUPNL); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DerivativePosition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountPortfolioBalancesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountPortfolioBalancesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortfolioBalances); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamAccountPortfolioRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamAccountPortfolioResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_goadesign_goagen_injective_portfolio_rpc_proto_rawDesc, + NumEnums: 0, + NumMessages: 16, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_goadesign_goagen_injective_portfolio_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_portfolio_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes, + }.Build() + File_goadesign_goagen_injective_portfolio_rpc_proto = out.File + file_goadesign_goagen_injective_portfolio_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_portfolio_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_portfolio_rpc_proto_depIdxs = nil +} diff --git a/exchange/portfolio_rpc/pb/injective_portfolio_rpc.proto b/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.proto similarity index 85% rename from exchange/portfolio_rpc/pb/injective_portfolio_rpc.proto rename to exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.proto index 9c56cbdc..df98146b 100644 --- a/exchange/portfolio_rpc/pb/injective_portfolio_rpc.proto +++ b/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectivePortfolioRPC protocol buffer definition // @@ -13,6 +13,8 @@ option go_package = "/injective_portfolio_rpcpb"; // InjectivePortfolioRPC defines gRPC API of Exchange Portfolio provider. service InjectivePortfolioRPC { + // Provide a list of addresses holding a specific token + rpc TokenHolders (TokenHoldersRequest) returns (TokenHoldersResponse); // Provide the account's portfolio rpc AccountPortfolio (AccountPortfolioRequest) returns (AccountPortfolioResponse); // Provide the account's portfolio balances @@ -21,6 +23,27 @@ service InjectivePortfolioRPC { rpc StreamAccountPortfolio (StreamAccountPortfolioRequest) returns (stream StreamAccountPortfolioResponse); } +message TokenHoldersRequest { + // Denom of the token + string denom = 1; + // Cursor for pagination + string cursor = 2; + sint32 limit = 3; +} + +message TokenHoldersResponse { + repeated Holder holders = 1; + // Next cursors for pagination + repeated string next_cursors = 2; +} + +message Holder { + // Account address for the holder + string account_address = 1; + // The balance of the holder + string balance = 2; +} + message AccountPortfolioRequest { // Account address string account_address = 1; diff --git a/exchange/portfolio_rpc/pb/injective_portfolio_rpc_grpc.pb.go b/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc_grpc.pb.go similarity index 82% rename from exchange/portfolio_rpc/pb/injective_portfolio_rpc_grpc.pb.go rename to exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc_grpc.pb.go index e2346487..ba8d525d 100644 --- a/exchange/portfolio_rpc/pb/injective_portfolio_rpc_grpc.pb.go +++ b/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_portfolio_rpc.proto package injective_portfolio_rpcpb @@ -18,6 +22,8 @@ const _ = grpc.SupportPackageIsVersion7 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type InjectivePortfolioRPCClient interface { + // Provide a list of addresses holding a specific token + TokenHolders(ctx context.Context, in *TokenHoldersRequest, opts ...grpc.CallOption) (*TokenHoldersResponse, error) // Provide the account's portfolio AccountPortfolio(ctx context.Context, in *AccountPortfolioRequest, opts ...grpc.CallOption) (*AccountPortfolioResponse, error) // Provide the account's portfolio balances @@ -34,6 +40,15 @@ func NewInjectivePortfolioRPCClient(cc grpc.ClientConnInterface) InjectivePortfo return &injectivePortfolioRPCClient{cc} } +func (c *injectivePortfolioRPCClient) TokenHolders(ctx context.Context, in *TokenHoldersRequest, opts ...grpc.CallOption) (*TokenHoldersResponse, error) { + out := new(TokenHoldersResponse) + err := c.cc.Invoke(ctx, "/injective_portfolio_rpc.InjectivePortfolioRPC/TokenHolders", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *injectivePortfolioRPCClient) AccountPortfolio(ctx context.Context, in *AccountPortfolioRequest, opts ...grpc.CallOption) (*AccountPortfolioResponse, error) { out := new(AccountPortfolioResponse) err := c.cc.Invoke(ctx, "/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio", in, out, opts...) @@ -88,6 +103,8 @@ func (x *injectivePortfolioRPCStreamAccountPortfolioClient) Recv() (*StreamAccou // All implementations must embed UnimplementedInjectivePortfolioRPCServer // for forward compatibility type InjectivePortfolioRPCServer interface { + // Provide a list of addresses holding a specific token + TokenHolders(context.Context, *TokenHoldersRequest) (*TokenHoldersResponse, error) // Provide the account's portfolio AccountPortfolio(context.Context, *AccountPortfolioRequest) (*AccountPortfolioResponse, error) // Provide the account's portfolio balances @@ -101,6 +118,9 @@ type InjectivePortfolioRPCServer interface { type UnimplementedInjectivePortfolioRPCServer struct { } +func (UnimplementedInjectivePortfolioRPCServer) TokenHolders(context.Context, *TokenHoldersRequest) (*TokenHoldersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TokenHolders not implemented") +} func (UnimplementedInjectivePortfolioRPCServer) AccountPortfolio(context.Context, *AccountPortfolioRequest) (*AccountPortfolioResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AccountPortfolio not implemented") } @@ -123,6 +143,24 @@ func RegisterInjectivePortfolioRPCServer(s grpc.ServiceRegistrar, srv InjectiveP s.RegisterService(&InjectivePortfolioRPC_ServiceDesc, srv) } +func _InjectivePortfolioRPC_TokenHolders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TokenHoldersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectivePortfolioRPCServer).TokenHolders(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_portfolio_rpc.InjectivePortfolioRPC/TokenHolders", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectivePortfolioRPCServer).TokenHolders(ctx, req.(*TokenHoldersRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _InjectivePortfolioRPC_AccountPortfolio_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(AccountPortfolioRequest) if err := dec(in); err != nil { @@ -187,6 +225,10 @@ var InjectivePortfolioRPC_ServiceDesc = grpc.ServiceDesc{ ServiceName: "injective_portfolio_rpc.InjectivePortfolioRPC", HandlerType: (*InjectivePortfolioRPCServer)(nil), Methods: []grpc.MethodDesc{ + { + MethodName: "TokenHolders", + Handler: _InjectivePortfolioRPC_TokenHolders_Handler, + }, { MethodName: "AccountPortfolio", Handler: _InjectivePortfolioRPC_AccountPortfolio_Handler, @@ -203,5 +245,5 @@ var InjectivePortfolioRPC_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, }, - Metadata: "injective_portfolio_rpc.proto", + Metadata: "goadesign_goagen_injective_portfolio_rpc.proto", } diff --git a/exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.go b/exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.go deleted file mode 100644 index cc9a6daa..00000000 --- a/exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.go +++ /dev/null @@ -1,1289 +0,0 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. -// -// InjectivePortfolioRPC protocol buffer definition -// -// Command: -// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_portfolio_rpc.proto - -package injective_portfolio_rpcpb - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type AccountPortfolioRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Account address - AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` -} - -func (x *AccountPortfolioRequest) Reset() { - *x = AccountPortfolioRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AccountPortfolioRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AccountPortfolioRequest) ProtoMessage() {} - -func (x *AccountPortfolioRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AccountPortfolioRequest.ProtoReflect.Descriptor instead. -func (*AccountPortfolioRequest) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{0} -} - -func (x *AccountPortfolioRequest) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -type AccountPortfolioResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The portfolio of this account - Portfolio *Portfolio `protobuf:"bytes,1,opt,name=portfolio,proto3" json:"portfolio,omitempty"` -} - -func (x *AccountPortfolioResponse) Reset() { - *x = AccountPortfolioResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AccountPortfolioResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AccountPortfolioResponse) ProtoMessage() {} - -func (x *AccountPortfolioResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AccountPortfolioResponse.ProtoReflect.Descriptor instead. -func (*AccountPortfolioResponse) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{1} -} - -func (x *AccountPortfolioResponse) GetPortfolio() *Portfolio { - if x != nil { - return x.Portfolio - } - return nil -} - -type Portfolio struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The account's portfolio address - AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` - // Account available bank balances - BankBalances []*Coin `protobuf:"bytes,2,rep,name=bank_balances,json=bankBalances,proto3" json:"bank_balances,omitempty"` - // Subaccounts list - Subaccounts []*SubaccountBalanceV2 `protobuf:"bytes,3,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` - // All positions for all subaccounts, with unrealized PNL - PositionsWithUpnl []*PositionsWithUPNL `protobuf:"bytes,4,rep,name=positions_with_upnl,json=positionsWithUpnl,proto3" json:"positions_with_upnl,omitempty"` -} - -func (x *Portfolio) Reset() { - *x = Portfolio{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Portfolio) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Portfolio) ProtoMessage() {} - -func (x *Portfolio) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Portfolio.ProtoReflect.Descriptor instead. -func (*Portfolio) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{2} -} - -func (x *Portfolio) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -func (x *Portfolio) GetBankBalances() []*Coin { - if x != nil { - return x.BankBalances - } - return nil -} - -func (x *Portfolio) GetSubaccounts() []*SubaccountBalanceV2 { - if x != nil { - return x.Subaccounts - } - return nil -} - -func (x *Portfolio) GetPositionsWithUpnl() []*PositionsWithUPNL { - if x != nil { - return x.PositionsWithUpnl - } - return nil -} - -type Coin struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Denom of the coin - Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` - Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` -} - -func (x *Coin) Reset() { - *x = Coin{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Coin) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Coin) ProtoMessage() {} - -func (x *Coin) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Coin.ProtoReflect.Descriptor instead. -func (*Coin) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{3} -} - -func (x *Coin) GetDenom() string { - if x != nil { - return x.Denom - } - return "" -} - -func (x *Coin) GetAmount() string { - if x != nil { - return x.Amount - } - return "" -} - -type SubaccountBalanceV2 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Related subaccount ID - SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // Coin denom on the chain. - Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` - Deposit *SubaccountDeposit `protobuf:"bytes,3,opt,name=deposit,proto3" json:"deposit,omitempty"` -} - -func (x *SubaccountBalanceV2) Reset() { - *x = SubaccountBalanceV2{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountBalanceV2) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountBalanceV2) ProtoMessage() {} - -func (x *SubaccountBalanceV2) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountBalanceV2.ProtoReflect.Descriptor instead. -func (*SubaccountBalanceV2) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{4} -} - -func (x *SubaccountBalanceV2) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *SubaccountBalanceV2) GetDenom() string { - if x != nil { - return x.Denom - } - return "" -} - -func (x *SubaccountBalanceV2) GetDeposit() *SubaccountDeposit { - if x != nil { - return x.Deposit - } - return nil -} - -type SubaccountDeposit struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TotalBalance string `protobuf:"bytes,1,opt,name=total_balance,json=totalBalance,proto3" json:"total_balance,omitempty"` - AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` -} - -func (x *SubaccountDeposit) Reset() { - *x = SubaccountDeposit{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountDeposit) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountDeposit) ProtoMessage() {} - -func (x *SubaccountDeposit) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountDeposit.ProtoReflect.Descriptor instead. -func (*SubaccountDeposit) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{5} -} - -func (x *SubaccountDeposit) GetTotalBalance() string { - if x != nil { - return x.TotalBalance - } - return "" -} - -func (x *SubaccountDeposit) GetAvailableBalance() string { - if x != nil { - return x.AvailableBalance - } - return "" -} - -type PositionsWithUPNL struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Position *DerivativePosition `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"` - // Unrealized PNL - UnrealizedPnl string `protobuf:"bytes,2,opt,name=unrealized_pnl,json=unrealizedPnl,proto3" json:"unrealized_pnl,omitempty"` -} - -func (x *PositionsWithUPNL) Reset() { - *x = PositionsWithUPNL{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PositionsWithUPNL) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PositionsWithUPNL) ProtoMessage() {} - -func (x *PositionsWithUPNL) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PositionsWithUPNL.ProtoReflect.Descriptor instead. -func (*PositionsWithUPNL) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{6} -} - -func (x *PositionsWithUPNL) GetPosition() *DerivativePosition { - if x != nil { - return x.Position - } - return nil -} - -func (x *PositionsWithUPNL) GetUnrealizedPnl() string { - if x != nil { - return x.UnrealizedPnl - } - return "" -} - -type DerivativePosition struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Ticker of the derivative market - Ticker string `protobuf:"bytes,1,opt,name=ticker,proto3" json:"ticker,omitempty"` - // Derivative Market ID - MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - // The subaccountId that the position belongs to - SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // Direction of the position - Direction string `protobuf:"bytes,4,opt,name=direction,proto3" json:"direction,omitempty"` - // Quantity of the position - Quantity string `protobuf:"bytes,5,opt,name=quantity,proto3" json:"quantity,omitempty"` - // Price of the position - EntryPrice string `protobuf:"bytes,6,opt,name=entry_price,json=entryPrice,proto3" json:"entry_price,omitempty"` - // Margin of the position - Margin string `protobuf:"bytes,7,opt,name=margin,proto3" json:"margin,omitempty"` - // LiquidationPrice of the position - LiquidationPrice string `protobuf:"bytes,8,opt,name=liquidation_price,json=liquidationPrice,proto3" json:"liquidation_price,omitempty"` - // MarkPrice of the position - MarkPrice string `protobuf:"bytes,9,opt,name=mark_price,json=markPrice,proto3" json:"mark_price,omitempty"` - // Aggregate Quantity of the Reduce Only orders associated with the position - AggregateReduceOnlyQuantity string `protobuf:"bytes,11,opt,name=aggregate_reduce_only_quantity,json=aggregateReduceOnlyQuantity,proto3" json:"aggregate_reduce_only_quantity,omitempty"` - // Position updated timestamp in UNIX millis. - UpdatedAt int64 `protobuf:"zigzag64,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - // Position created timestamp in UNIX millis. - CreatedAt int64 `protobuf:"zigzag64,13,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` -} - -func (x *DerivativePosition) Reset() { - *x = DerivativePosition{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DerivativePosition) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DerivativePosition) ProtoMessage() {} - -func (x *DerivativePosition) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DerivativePosition.ProtoReflect.Descriptor instead. -func (*DerivativePosition) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{7} -} - -func (x *DerivativePosition) GetTicker() string { - if x != nil { - return x.Ticker - } - return "" -} - -func (x *DerivativePosition) GetMarketId() string { - if x != nil { - return x.MarketId - } - return "" -} - -func (x *DerivativePosition) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *DerivativePosition) GetDirection() string { - if x != nil { - return x.Direction - } - return "" -} - -func (x *DerivativePosition) GetQuantity() string { - if x != nil { - return x.Quantity - } - return "" -} - -func (x *DerivativePosition) GetEntryPrice() string { - if x != nil { - return x.EntryPrice - } - return "" -} - -func (x *DerivativePosition) GetMargin() string { - if x != nil { - return x.Margin - } - return "" -} - -func (x *DerivativePosition) GetLiquidationPrice() string { - if x != nil { - return x.LiquidationPrice - } - return "" -} - -func (x *DerivativePosition) GetMarkPrice() string { - if x != nil { - return x.MarkPrice - } - return "" -} - -func (x *DerivativePosition) GetAggregateReduceOnlyQuantity() string { - if x != nil { - return x.AggregateReduceOnlyQuantity - } - return "" -} - -func (x *DerivativePosition) GetUpdatedAt() int64 { - if x != nil { - return x.UpdatedAt - } - return 0 -} - -func (x *DerivativePosition) GetCreatedAt() int64 { - if x != nil { - return x.CreatedAt - } - return 0 -} - -type AccountPortfolioBalancesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Account address - AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` -} - -func (x *AccountPortfolioBalancesRequest) Reset() { - *x = AccountPortfolioBalancesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AccountPortfolioBalancesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AccountPortfolioBalancesRequest) ProtoMessage() {} - -func (x *AccountPortfolioBalancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AccountPortfolioBalancesRequest.ProtoReflect.Descriptor instead. -func (*AccountPortfolioBalancesRequest) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{8} -} - -func (x *AccountPortfolioBalancesRequest) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -type AccountPortfolioBalancesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The portfolio balances of this account - Portfolio *PortfolioBalances `protobuf:"bytes,1,opt,name=portfolio,proto3" json:"portfolio,omitempty"` -} - -func (x *AccountPortfolioBalancesResponse) Reset() { - *x = AccountPortfolioBalancesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AccountPortfolioBalancesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AccountPortfolioBalancesResponse) ProtoMessage() {} - -func (x *AccountPortfolioBalancesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AccountPortfolioBalancesResponse.ProtoReflect.Descriptor instead. -func (*AccountPortfolioBalancesResponse) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{9} -} - -func (x *AccountPortfolioBalancesResponse) GetPortfolio() *PortfolioBalances { - if x != nil { - return x.Portfolio - } - return nil -} - -type PortfolioBalances struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The account's portfolio address - AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` - // Account available bank balances - BankBalances []*Coin `protobuf:"bytes,2,rep,name=bank_balances,json=bankBalances,proto3" json:"bank_balances,omitempty"` - // Subaccounts list - Subaccounts []*SubaccountBalanceV2 `protobuf:"bytes,3,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` -} - -func (x *PortfolioBalances) Reset() { - *x = PortfolioBalances{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PortfolioBalances) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PortfolioBalances) ProtoMessage() {} - -func (x *PortfolioBalances) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PortfolioBalances.ProtoReflect.Descriptor instead. -func (*PortfolioBalances) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{10} -} - -func (x *PortfolioBalances) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -func (x *PortfolioBalances) GetBankBalances() []*Coin { - if x != nil { - return x.BankBalances - } - return nil -} - -func (x *PortfolioBalances) GetSubaccounts() []*SubaccountBalanceV2 { - if x != nil { - return x.Subaccounts - } - return nil -} - -type StreamAccountPortfolioRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The account's portfolio address - AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` - // Related subaccount ID - SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` -} - -func (x *StreamAccountPortfolioRequest) Reset() { - *x = StreamAccountPortfolioRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamAccountPortfolioRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamAccountPortfolioRequest) ProtoMessage() {} - -func (x *StreamAccountPortfolioRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamAccountPortfolioRequest.ProtoReflect.Descriptor instead. -func (*StreamAccountPortfolioRequest) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{11} -} - -func (x *StreamAccountPortfolioRequest) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -func (x *StreamAccountPortfolioRequest) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *StreamAccountPortfolioRequest) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -type StreamAccountPortfolioResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // type of portfolio entry - Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` - // denom of portfolio entry - Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` - // amount of portfolio entry - 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() { - *x = StreamAccountPortfolioResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamAccountPortfolioResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamAccountPortfolioResponse) ProtoMessage() {} - -func (x *StreamAccountPortfolioResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamAccountPortfolioResponse.ProtoReflect.Descriptor instead. -func (*StreamAccountPortfolioResponse) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{12} -} - -func (x *StreamAccountPortfolioResponse) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -func (x *StreamAccountPortfolioResponse) GetDenom() string { - if x != nil { - return x.Denom - } - return "" -} - -func (x *StreamAccountPortfolioResponse) GetAmount() string { - if x != nil { - return x.Amount - } - return "" -} - -func (x *StreamAccountPortfolioResponse) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - 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{ - 0x0a, 0x1d, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, - 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x17, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x66, - 0x6f, 0x6c, 0x69, 0x6f, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x42, 0x0a, 0x17, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x5c, 0x0a, 0x18, - 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, 0x40, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, - 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 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, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, - 0x09, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x22, 0xa4, 0x02, 0x0a, 0x09, 0x50, - 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 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, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x0c, 0x62, 0x61, 0x6e, 0x6b, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 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, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x32, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x13, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x70, 0x6e, 0x6c, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2a, 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, 0x50, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x50, 0x4e, 0x4c, 0x52, 0x11, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x70, 0x6e, - 0x6c, 0x22, 0x34, 0x0a, 0x04, 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, 0x96, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x32, 0x12, - 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x44, 0x0a, 0x07, 0x64, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 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, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x07, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x22, 0x65, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x50, 0x4e, 0x4c, 0x12, 0x47, 0x0a, - 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2b, 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, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x70, 0x6e, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x75, 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x6e, 0x6c, 0x22, 0xb0, 0x03, - 0x0a, 0x12, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, - 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, - 0x79, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, - 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, - 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x69, - 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x43, 0x0a, - 0x1e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, - 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x22, 0x4a, 0x0a, 0x1f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, - 0x6f, 0x6c, 0x69, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x6c, 0x0a, 0x20, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x48, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2a, 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, 0x50, 0x6f, - 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, - 0x09, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x22, 0xd0, 0x01, 0x0a, 0x11, 0x50, - 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x62, 0x61, 0x6e, - 0x6b, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1d, 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, 0x43, 0x6f, 0x69, 0x6e, 0x52, - 0x0c, 0x62, 0x61, 0x6e, 0x6b, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x4e, 0x0a, - 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2c, 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, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x32, - 0x52, 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x81, 0x01, - 0x0a, 0x1d, 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, 0x12, - 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 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, 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, 0x65, 0x6e, 0x6f, - 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 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, 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, 0xb0, 0x03, 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, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8f, 0x01, 0x0a, - 0x18, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, - 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x38, 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, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x39, 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, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 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 ( - file_injective_portfolio_rpc_proto_rawDescOnce sync.Once - file_injective_portfolio_rpc_proto_rawDescData = file_injective_portfolio_rpc_proto_rawDesc -) - -func file_injective_portfolio_rpc_proto_rawDescGZIP() []byte { - file_injective_portfolio_rpc_proto_rawDescOnce.Do(func() { - file_injective_portfolio_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_portfolio_rpc_proto_rawDescData) - }) - return file_injective_portfolio_rpc_proto_rawDescData -} - -var file_injective_portfolio_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 13) -var file_injective_portfolio_rpc_proto_goTypes = []interface{}{ - (*AccountPortfolioRequest)(nil), // 0: injective_portfolio_rpc.AccountPortfolioRequest - (*AccountPortfolioResponse)(nil), // 1: injective_portfolio_rpc.AccountPortfolioResponse - (*Portfolio)(nil), // 2: injective_portfolio_rpc.Portfolio - (*Coin)(nil), // 3: injective_portfolio_rpc.Coin - (*SubaccountBalanceV2)(nil), // 4: injective_portfolio_rpc.SubaccountBalanceV2 - (*SubaccountDeposit)(nil), // 5: injective_portfolio_rpc.SubaccountDeposit - (*PositionsWithUPNL)(nil), // 6: injective_portfolio_rpc.PositionsWithUPNL - (*DerivativePosition)(nil), // 7: injective_portfolio_rpc.DerivativePosition - (*AccountPortfolioBalancesRequest)(nil), // 8: injective_portfolio_rpc.AccountPortfolioBalancesRequest - (*AccountPortfolioBalancesResponse)(nil), // 9: injective_portfolio_rpc.AccountPortfolioBalancesResponse - (*PortfolioBalances)(nil), // 10: injective_portfolio_rpc.PortfolioBalances - (*StreamAccountPortfolioRequest)(nil), // 11: injective_portfolio_rpc.StreamAccountPortfolioRequest - (*StreamAccountPortfolioResponse)(nil), // 12: injective_portfolio_rpc.StreamAccountPortfolioResponse -} -var file_injective_portfolio_rpc_proto_depIdxs = []int32{ - 2, // 0: injective_portfolio_rpc.AccountPortfolioResponse.portfolio:type_name -> injective_portfolio_rpc.Portfolio - 3, // 1: injective_portfolio_rpc.Portfolio.bank_balances:type_name -> injective_portfolio_rpc.Coin - 4, // 2: injective_portfolio_rpc.Portfolio.subaccounts:type_name -> injective_portfolio_rpc.SubaccountBalanceV2 - 6, // 3: injective_portfolio_rpc.Portfolio.positions_with_upnl:type_name -> injective_portfolio_rpc.PositionsWithUPNL - 5, // 4: injective_portfolio_rpc.SubaccountBalanceV2.deposit:type_name -> injective_portfolio_rpc.SubaccountDeposit - 7, // 5: injective_portfolio_rpc.PositionsWithUPNL.position:type_name -> injective_portfolio_rpc.DerivativePosition - 10, // 6: injective_portfolio_rpc.AccountPortfolioBalancesResponse.portfolio:type_name -> injective_portfolio_rpc.PortfolioBalances - 3, // 7: injective_portfolio_rpc.PortfolioBalances.bank_balances:type_name -> injective_portfolio_rpc.Coin - 4, // 8: injective_portfolio_rpc.PortfolioBalances.subaccounts:type_name -> injective_portfolio_rpc.SubaccountBalanceV2 - 0, // 9: injective_portfolio_rpc.InjectivePortfolioRPC.AccountPortfolio:input_type -> injective_portfolio_rpc.AccountPortfolioRequest - 8, // 10: injective_portfolio_rpc.InjectivePortfolioRPC.AccountPortfolioBalances:input_type -> injective_portfolio_rpc.AccountPortfolioBalancesRequest - 11, // 11: injective_portfolio_rpc.InjectivePortfolioRPC.StreamAccountPortfolio:input_type -> injective_portfolio_rpc.StreamAccountPortfolioRequest - 1, // 12: injective_portfolio_rpc.InjectivePortfolioRPC.AccountPortfolio:output_type -> injective_portfolio_rpc.AccountPortfolioResponse - 9, // 13: injective_portfolio_rpc.InjectivePortfolioRPC.AccountPortfolioBalances:output_type -> injective_portfolio_rpc.AccountPortfolioBalancesResponse - 12, // 14: injective_portfolio_rpc.InjectivePortfolioRPC.StreamAccountPortfolio:output_type -> injective_portfolio_rpc.StreamAccountPortfolioResponse - 12, // [12:15] is the sub-list for method output_type - 9, // [9:12] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name -} - -func init() { file_injective_portfolio_rpc_proto_init() } -func file_injective_portfolio_rpc_proto_init() { - if File_injective_portfolio_rpc_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_injective_portfolio_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccountPortfolioRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccountPortfolioResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Portfolio); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Coin); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountBalanceV2); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountDeposit); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PositionsWithUPNL); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DerivativePosition); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccountPortfolioBalancesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccountPortfolioBalancesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PortfolioBalances); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamAccountPortfolioRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamAccountPortfolioResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_portfolio_rpc_proto_rawDesc, - NumEnums: 0, - NumMessages: 13, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_injective_portfolio_rpc_proto_goTypes, - DependencyIndexes: file_injective_portfolio_rpc_proto_depIdxs, - MessageInfos: file_injective_portfolio_rpc_proto_msgTypes, - }.Build() - File_injective_portfolio_rpc_proto = out.File - file_injective_portfolio_rpc_proto_rawDesc = nil - file_injective_portfolio_rpc_proto_goTypes = nil - file_injective_portfolio_rpc_proto_depIdxs = nil -} diff --git a/exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.gw.go b/exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.gw.go index 6dd15a45..4277c8ee 100644 --- a/exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.gw.go +++ b/exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.gw.go @@ -31,6 +31,40 @@ var _ = runtime.String var _ = utilities.NewDoubleArray var _ = metadata.Join +func request_InjectivePortfolioRPC_TokenHolders_0(ctx context.Context, marshaler runtime.Marshaler, client InjectivePortfolioRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq TokenHoldersRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.TokenHolders(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectivePortfolioRPC_TokenHolders_0(ctx context.Context, marshaler runtime.Marshaler, server InjectivePortfolioRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq TokenHoldersRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.TokenHolders(ctx, &protoReq) + return msg, metadata, err + +} + func request_InjectivePortfolioRPC_AccountPortfolio_0(ctx context.Context, marshaler runtime.Marshaler, client InjectivePortfolioRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq AccountPortfolioRequest var metadata runtime.ServerMetadata @@ -130,26 +164,53 @@ func request_InjectivePortfolioRPC_StreamAccountPortfolio_0(ctx context.Context, // Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterInjectivePortfolioRPCHandlerFromEndpoint instead. func RegisterInjectivePortfolioRPCHandlerServer(ctx context.Context, mux *runtime.ServeMux, server InjectivePortfolioRPCServer) error { - mux.Handle("POST", pattern_InjectivePortfolioRPC_AccountPortfolio_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_InjectivePortfolioRPC_TokenHolders_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/TokenHolders", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/TokenHolders")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectivePortfolioRPC_AccountPortfolio_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectivePortfolioRPC_TokenHolders_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectivePortfolioRPC_TokenHolders_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectivePortfolioRPC_AccountPortfolio_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } + resp, md, err := local_request_InjectivePortfolioRPC_AccountPortfolio_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } - forward_InjectivePortfolioRPC_AccountPortfolio_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectivePortfolioRPC_AccountPortfolio_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -159,20 +220,22 @@ func RegisterInjectivePortfolioRPCHandlerServer(ctx context.Context, mux *runtim var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolioBalances", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolioBalances")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolioBalances", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolioBalances")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectivePortfolioRPC_AccountPortfolioBalances_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectivePortfolioRPC_AccountPortfolioBalances_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectivePortfolioRPC_AccountPortfolioBalances_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectivePortfolioRPC_AccountPortfolioBalances_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -224,23 +287,47 @@ func RegisterInjectivePortfolioRPCHandler(ctx context.Context, mux *runtime.Serv // "InjectivePortfolioRPCClient" to call the correct interceptors. func RegisterInjectivePortfolioRPCHandlerClient(ctx context.Context, mux *runtime.ServeMux, client InjectivePortfolioRPCClient) error { - mux.Handle("POST", pattern_InjectivePortfolioRPC_AccountPortfolio_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_InjectivePortfolioRPC_TokenHolders_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, "/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/TokenHolders", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/TokenHolders")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectivePortfolioRPC_AccountPortfolio_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectivePortfolioRPC_TokenHolders_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectivePortfolioRPC_TokenHolders_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectivePortfolioRPC_AccountPortfolio_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } + resp, md, err := request_InjectivePortfolioRPC_AccountPortfolio_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } - forward_InjectivePortfolioRPC_AccountPortfolio_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectivePortfolioRPC_AccountPortfolio_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -248,19 +335,21 @@ func RegisterInjectivePortfolioRPCHandlerClient(ctx context.Context, mux *runtim ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolioBalances", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolioBalances")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolioBalances", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolioBalances")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectivePortfolioRPC_AccountPortfolioBalances_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectivePortfolioRPC_AccountPortfolioBalances_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectivePortfolioRPC_AccountPortfolioBalances_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectivePortfolioRPC_AccountPortfolioBalances_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -268,19 +357,21 @@ func RegisterInjectivePortfolioRPCHandlerClient(ctx context.Context, mux *runtim ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/StreamAccountPortfolio", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/StreamAccountPortfolio")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/StreamAccountPortfolio", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/StreamAccountPortfolio")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectivePortfolioRPC_StreamAccountPortfolio_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectivePortfolioRPC_StreamAccountPortfolio_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectivePortfolioRPC_StreamAccountPortfolio_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectivePortfolioRPC_StreamAccountPortfolio_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -288,6 +379,8 @@ func RegisterInjectivePortfolioRPCHandlerClient(ctx context.Context, mux *runtim } var ( + pattern_InjectivePortfolioRPC_TokenHolders_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_portfolio_rpc.InjectivePortfolioRPC", "TokenHolders"}, "")) + pattern_InjectivePortfolioRPC_AccountPortfolio_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_portfolio_rpc.InjectivePortfolioRPC", "AccountPortfolio"}, "")) pattern_InjectivePortfolioRPC_AccountPortfolioBalances_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_portfolio_rpc.InjectivePortfolioRPC", "AccountPortfolioBalances"}, "")) @@ -296,6 +389,8 @@ var ( ) var ( + forward_InjectivePortfolioRPC_TokenHolders_0 = runtime.ForwardResponseMessage + forward_InjectivePortfolioRPC_AccountPortfolio_0 = runtime.ForwardResponseMessage forward_InjectivePortfolioRPC_AccountPortfolioBalances_0 = runtime.ForwardResponseMessage diff --git a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.pb.go b/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.pb.go similarity index 66% rename from exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.pb.go rename to exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.pb.go index f09e57fd..c73b808a 100644 --- a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.pb.go +++ b/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.pb.go @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveSpotExchangeRPC protocol buffer definition // @@ -8,8 +8,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_spot_exchange_rpc.proto +// protoc v4.25.3 +// source: goadesign_goagen_injective_spot_exchange_rpc.proto package injective_spot_exchange_rpcpb @@ -44,7 +44,7 @@ type MarketsRequest struct { func (x *MarketsRequest) Reset() { *x = MarketsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -57,7 +57,7 @@ func (x *MarketsRequest) String() string { func (*MarketsRequest) ProtoMessage() {} func (x *MarketsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -70,7 +70,7 @@ func (x *MarketsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MarketsRequest.ProtoReflect.Descriptor instead. func (*MarketsRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{0} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{0} } func (x *MarketsRequest) GetMarketStatus() string { @@ -113,7 +113,7 @@ type MarketsResponse struct { func (x *MarketsResponse) Reset() { *x = MarketsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -126,7 +126,7 @@ func (x *MarketsResponse) String() string { func (*MarketsResponse) ProtoMessage() {} func (x *MarketsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -139,7 +139,7 @@ func (x *MarketsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MarketsResponse.ProtoReflect.Descriptor instead. func (*MarketsResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{1} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{1} } func (x *MarketsResponse) GetMarkets() []*SpotMarketInfo { @@ -184,7 +184,7 @@ type SpotMarketInfo struct { func (x *SpotMarketInfo) Reset() { *x = SpotMarketInfo{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -197,7 +197,7 @@ func (x *SpotMarketInfo) String() string { func (*SpotMarketInfo) ProtoMessage() {} func (x *SpotMarketInfo) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -210,7 +210,7 @@ func (x *SpotMarketInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use SpotMarketInfo.ProtoReflect.Descriptor instead. func (*SpotMarketInfo) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{2} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{2} } func (x *SpotMarketInfo) GetMarketId() string { @@ -319,7 +319,7 @@ type TokenMeta struct { func (x *TokenMeta) Reset() { *x = TokenMeta{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -332,7 +332,7 @@ func (x *TokenMeta) String() string { func (*TokenMeta) ProtoMessage() {} func (x *TokenMeta) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -345,7 +345,7 @@ func (x *TokenMeta) ProtoReflect() protoreflect.Message { // Deprecated: Use TokenMeta.ProtoReflect.Descriptor instead. func (*TokenMeta) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{3} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{3} } func (x *TokenMeta) GetName() string { @@ -402,7 +402,7 @@ type MarketRequest struct { func (x *MarketRequest) Reset() { *x = MarketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -415,7 +415,7 @@ func (x *MarketRequest) String() string { func (*MarketRequest) ProtoMessage() {} func (x *MarketRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -428,7 +428,7 @@ func (x *MarketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MarketRequest.ProtoReflect.Descriptor instead. func (*MarketRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{4} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{4} } func (x *MarketRequest) GetMarketId() string { @@ -450,7 +450,7 @@ type MarketResponse struct { func (x *MarketResponse) Reset() { *x = MarketResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -463,7 +463,7 @@ func (x *MarketResponse) String() string { func (*MarketResponse) ProtoMessage() {} func (x *MarketResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -476,7 +476,7 @@ func (x *MarketResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MarketResponse.ProtoReflect.Descriptor instead. func (*MarketResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{5} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{5} } func (x *MarketResponse) GetMarket() *SpotMarketInfo { @@ -498,7 +498,7 @@ type StreamMarketsRequest struct { func (x *StreamMarketsRequest) Reset() { *x = StreamMarketsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -511,7 +511,7 @@ func (x *StreamMarketsRequest) String() string { func (*StreamMarketsRequest) ProtoMessage() {} func (x *StreamMarketsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -524,7 +524,7 @@ func (x *StreamMarketsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamMarketsRequest.ProtoReflect.Descriptor instead. func (*StreamMarketsRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{6} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{6} } func (x *StreamMarketsRequest) GetMarketIds() []string { @@ -550,7 +550,7 @@ type StreamMarketsResponse struct { func (x *StreamMarketsResponse) Reset() { *x = StreamMarketsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -563,7 +563,7 @@ func (x *StreamMarketsResponse) String() string { func (*StreamMarketsResponse) ProtoMessage() {} func (x *StreamMarketsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -576,7 +576,7 @@ func (x *StreamMarketsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamMarketsResponse.ProtoReflect.Descriptor instead. func (*StreamMarketsResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{7} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{7} } func (x *StreamMarketsResponse) GetMarket() *SpotMarketInfo { @@ -612,7 +612,7 @@ type OrderbookV2Request struct { func (x *OrderbookV2Request) Reset() { *x = OrderbookV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -625,7 +625,7 @@ func (x *OrderbookV2Request) String() string { func (*OrderbookV2Request) ProtoMessage() {} func (x *OrderbookV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -638,7 +638,7 @@ func (x *OrderbookV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbookV2Request.ProtoReflect.Descriptor instead. func (*OrderbookV2Request) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{8} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{8} } func (x *OrderbookV2Request) GetMarketId() string { @@ -660,7 +660,7 @@ type OrderbookV2Response struct { func (x *OrderbookV2Response) Reset() { *x = OrderbookV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -673,7 +673,7 @@ func (x *OrderbookV2Response) String() string { func (*OrderbookV2Response) ProtoMessage() {} func (x *OrderbookV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -686,7 +686,7 @@ func (x *OrderbookV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbookV2Response.ProtoReflect.Descriptor instead. func (*OrderbookV2Response) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{9} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{9} } func (x *OrderbookV2Response) GetOrderbook() *SpotLimitOrderbookV2 { @@ -714,7 +714,7 @@ type SpotLimitOrderbookV2 struct { func (x *SpotLimitOrderbookV2) Reset() { *x = SpotLimitOrderbookV2{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -727,7 +727,7 @@ func (x *SpotLimitOrderbookV2) String() string { func (*SpotLimitOrderbookV2) ProtoMessage() {} func (x *SpotLimitOrderbookV2) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -740,7 +740,7 @@ func (x *SpotLimitOrderbookV2) ProtoReflect() protoreflect.Message { // Deprecated: Use SpotLimitOrderbookV2.ProtoReflect.Descriptor instead. func (*SpotLimitOrderbookV2) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{10} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{10} } func (x *SpotLimitOrderbookV2) GetBuys() []*PriceLevel { @@ -787,7 +787,7 @@ type PriceLevel struct { func (x *PriceLevel) Reset() { *x = PriceLevel{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -800,7 +800,7 @@ func (x *PriceLevel) String() string { func (*PriceLevel) ProtoMessage() {} func (x *PriceLevel) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -813,7 +813,7 @@ func (x *PriceLevel) ProtoReflect() protoreflect.Message { // Deprecated: Use PriceLevel.ProtoReflect.Descriptor instead. func (*PriceLevel) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{11} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{11} } func (x *PriceLevel) GetPrice() string { @@ -849,7 +849,7 @@ type OrderbooksV2Request struct { func (x *OrderbooksV2Request) Reset() { *x = OrderbooksV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -862,7 +862,7 @@ func (x *OrderbooksV2Request) String() string { func (*OrderbooksV2Request) ProtoMessage() {} func (x *OrderbooksV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -875,7 +875,7 @@ func (x *OrderbooksV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbooksV2Request.ProtoReflect.Descriptor instead. func (*OrderbooksV2Request) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{12} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{12} } func (x *OrderbooksV2Request) GetMarketIds() []string { @@ -896,7 +896,7 @@ type OrderbooksV2Response struct { func (x *OrderbooksV2Response) Reset() { *x = OrderbooksV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -909,7 +909,7 @@ func (x *OrderbooksV2Response) String() string { func (*OrderbooksV2Response) ProtoMessage() {} func (x *OrderbooksV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -922,7 +922,7 @@ func (x *OrderbooksV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbooksV2Response.ProtoReflect.Descriptor instead. func (*OrderbooksV2Response) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{13} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{13} } func (x *OrderbooksV2Response) GetOrderbooks() []*SingleSpotLimitOrderbookV2 { @@ -946,7 +946,7 @@ type SingleSpotLimitOrderbookV2 struct { func (x *SingleSpotLimitOrderbookV2) Reset() { *x = SingleSpotLimitOrderbookV2{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -959,7 +959,7 @@ func (x *SingleSpotLimitOrderbookV2) String() string { func (*SingleSpotLimitOrderbookV2) ProtoMessage() {} func (x *SingleSpotLimitOrderbookV2) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -972,7 +972,7 @@ func (x *SingleSpotLimitOrderbookV2) ProtoReflect() protoreflect.Message { // Deprecated: Use SingleSpotLimitOrderbookV2.ProtoReflect.Descriptor instead. func (*SingleSpotLimitOrderbookV2) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{14} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{14} } func (x *SingleSpotLimitOrderbookV2) GetMarketId() string { @@ -1001,7 +1001,7 @@ type StreamOrderbookV2Request struct { func (x *StreamOrderbookV2Request) Reset() { *x = StreamOrderbookV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[15] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1014,7 +1014,7 @@ func (x *StreamOrderbookV2Request) String() string { func (*StreamOrderbookV2Request) ProtoMessage() {} func (x *StreamOrderbookV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[15] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1027,7 +1027,7 @@ func (x *StreamOrderbookV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrderbookV2Request.ProtoReflect.Descriptor instead. func (*StreamOrderbookV2Request) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{15} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{15} } func (x *StreamOrderbookV2Request) GetMarketIds() []string { @@ -1055,7 +1055,7 @@ type StreamOrderbookV2Response struct { func (x *StreamOrderbookV2Response) Reset() { *x = StreamOrderbookV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[16] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1068,7 +1068,7 @@ func (x *StreamOrderbookV2Response) String() string { func (*StreamOrderbookV2Response) ProtoMessage() {} func (x *StreamOrderbookV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[16] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1081,7 +1081,7 @@ func (x *StreamOrderbookV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrderbookV2Response.ProtoReflect.Descriptor instead. func (*StreamOrderbookV2Response) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{16} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{16} } func (x *StreamOrderbookV2Response) GetOrderbook() *SpotLimitOrderbookV2 { @@ -1124,7 +1124,7 @@ type StreamOrderbookUpdateRequest struct { func (x *StreamOrderbookUpdateRequest) Reset() { *x = StreamOrderbookUpdateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[17] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1137,7 +1137,7 @@ func (x *StreamOrderbookUpdateRequest) String() string { func (*StreamOrderbookUpdateRequest) ProtoMessage() {} func (x *StreamOrderbookUpdateRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[17] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1150,7 +1150,7 @@ func (x *StreamOrderbookUpdateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrderbookUpdateRequest.ProtoReflect.Descriptor instead. func (*StreamOrderbookUpdateRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{17} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{17} } func (x *StreamOrderbookUpdateRequest) GetMarketIds() []string { @@ -1178,7 +1178,7 @@ type StreamOrderbookUpdateResponse struct { func (x *StreamOrderbookUpdateResponse) Reset() { *x = StreamOrderbookUpdateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[18] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1191,7 +1191,7 @@ func (x *StreamOrderbookUpdateResponse) String() string { func (*StreamOrderbookUpdateResponse) ProtoMessage() {} func (x *StreamOrderbookUpdateResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[18] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1204,7 +1204,7 @@ func (x *StreamOrderbookUpdateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrderbookUpdateResponse.ProtoReflect.Descriptor instead. func (*StreamOrderbookUpdateResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{18} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{18} } func (x *StreamOrderbookUpdateResponse) GetOrderbookLevelUpdates() *OrderbookLevelUpdates { @@ -1255,7 +1255,7 @@ type OrderbookLevelUpdates struct { func (x *OrderbookLevelUpdates) Reset() { *x = OrderbookLevelUpdates{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[19] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1268,7 +1268,7 @@ func (x *OrderbookLevelUpdates) String() string { func (*OrderbookLevelUpdates) ProtoMessage() {} func (x *OrderbookLevelUpdates) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[19] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1281,7 +1281,7 @@ func (x *OrderbookLevelUpdates) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbookLevelUpdates.ProtoReflect.Descriptor instead. func (*OrderbookLevelUpdates) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{19} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{19} } func (x *OrderbookLevelUpdates) GetMarketId() string { @@ -1337,7 +1337,7 @@ type PriceLevelUpdate struct { func (x *PriceLevelUpdate) Reset() { *x = PriceLevelUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[20] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1350,7 +1350,7 @@ func (x *PriceLevelUpdate) String() string { func (*PriceLevelUpdate) ProtoMessage() {} func (x *PriceLevelUpdate) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[20] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1363,7 +1363,7 @@ func (x *PriceLevelUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use PriceLevelUpdate.ProtoReflect.Descriptor instead. func (*PriceLevelUpdate) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{20} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{20} } func (x *PriceLevelUpdate) GetPrice() string { @@ -1430,7 +1430,7 @@ type OrdersRequest struct { func (x *OrdersRequest) Reset() { *x = OrdersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[21] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1443,7 +1443,7 @@ func (x *OrdersRequest) String() string { func (*OrdersRequest) ProtoMessage() {} func (x *OrdersRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[21] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1456,7 +1456,7 @@ func (x *OrdersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use OrdersRequest.ProtoReflect.Descriptor instead. func (*OrdersRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{21} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{21} } func (x *OrdersRequest) GetMarketId() string { @@ -1555,7 +1555,7 @@ type OrdersResponse struct { func (x *OrdersResponse) Reset() { *x = OrdersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[22] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1568,7 +1568,7 @@ func (x *OrdersResponse) String() string { func (*OrdersResponse) ProtoMessage() {} func (x *OrdersResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[22] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1581,7 +1581,7 @@ func (x *OrdersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use OrdersResponse.ProtoReflect.Descriptor instead. func (*OrdersResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{22} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{22} } func (x *OrdersResponse) GetOrders() []*SpotLimitOrder { @@ -1637,7 +1637,7 @@ type SpotLimitOrder struct { func (x *SpotLimitOrder) Reset() { *x = SpotLimitOrder{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[23] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1650,7 +1650,7 @@ func (x *SpotLimitOrder) String() string { func (*SpotLimitOrder) ProtoMessage() {} func (x *SpotLimitOrder) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[23] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1663,7 +1663,7 @@ func (x *SpotLimitOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use SpotLimitOrder.ProtoReflect.Descriptor instead. func (*SpotLimitOrder) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{23} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{23} } func (x *SpotLimitOrder) GetOrderHash() string { @@ -1785,7 +1785,7 @@ type Paging struct { func (x *Paging) Reset() { *x = Paging{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[24] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1798,7 +1798,7 @@ func (x *Paging) String() string { func (*Paging) ProtoMessage() {} func (x *Paging) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[24] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1811,7 +1811,7 @@ func (x *Paging) ProtoReflect() protoreflect.Message { // Deprecated: Use Paging.ProtoReflect.Descriptor instead. func (*Paging) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{24} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{24} } func (x *Paging) GetTotal() int64 { @@ -1885,7 +1885,7 @@ type StreamOrdersRequest struct { func (x *StreamOrdersRequest) Reset() { *x = StreamOrdersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[25] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1898,7 +1898,7 @@ func (x *StreamOrdersRequest) String() string { func (*StreamOrdersRequest) ProtoMessage() {} func (x *StreamOrdersRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[25] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1911,7 +1911,7 @@ func (x *StreamOrdersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrdersRequest.ProtoReflect.Descriptor instead. func (*StreamOrdersRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{25} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{25} } func (x *StreamOrdersRequest) GetMarketId() string { @@ -2014,7 +2014,7 @@ type StreamOrdersResponse struct { func (x *StreamOrdersResponse) Reset() { *x = StreamOrdersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[26] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2027,7 +2027,7 @@ func (x *StreamOrdersResponse) String() string { func (*StreamOrdersResponse) ProtoMessage() {} func (x *StreamOrdersResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[26] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2040,7 +2040,7 @@ func (x *StreamOrdersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrdersResponse.ProtoReflect.Descriptor instead. func (*StreamOrdersResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{26} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{26} } func (x *StreamOrdersResponse) GetOrder() *SpotLimitOrder { @@ -2103,7 +2103,7 @@ type TradesRequest struct { func (x *TradesRequest) Reset() { *x = TradesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[27] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2116,7 +2116,7 @@ func (x *TradesRequest) String() string { func (*TradesRequest) ProtoMessage() {} func (x *TradesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[27] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2129,7 +2129,7 @@ func (x *TradesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TradesRequest.ProtoReflect.Descriptor instead. func (*TradesRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{27} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{27} } func (x *TradesRequest) GetMarketId() string { @@ -2244,7 +2244,7 @@ type TradesResponse struct { func (x *TradesResponse) Reset() { *x = TradesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[28] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2257,7 +2257,7 @@ func (x *TradesResponse) String() string { func (*TradesResponse) ProtoMessage() {} func (x *TradesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[28] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2270,7 +2270,7 @@ func (x *TradesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TradesResponse.ProtoReflect.Descriptor instead. func (*TradesResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{28} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{28} } func (x *TradesResponse) GetTrades() []*SpotTrade { @@ -2321,7 +2321,7 @@ type SpotTrade struct { func (x *SpotTrade) Reset() { *x = SpotTrade{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[29] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2334,7 +2334,7 @@ func (x *SpotTrade) String() string { func (*SpotTrade) ProtoMessage() {} func (x *SpotTrade) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[29] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2347,7 +2347,7 @@ func (x *SpotTrade) ProtoReflect() protoreflect.Message { // Deprecated: Use SpotTrade.ProtoReflect.Descriptor instead. func (*SpotTrade) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{29} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{29} } func (x *SpotTrade) GetOrderHash() string { @@ -2473,7 +2473,7 @@ type StreamTradesRequest struct { func (x *StreamTradesRequest) Reset() { *x = StreamTradesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[30] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2486,7 +2486,7 @@ func (x *StreamTradesRequest) String() string { func (*StreamTradesRequest) ProtoMessage() {} func (x *StreamTradesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[30] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2499,7 +2499,7 @@ func (x *StreamTradesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTradesRequest.ProtoReflect.Descriptor instead. func (*StreamTradesRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{30} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{30} } func (x *StreamTradesRequest) GetMarketId() string { @@ -2616,7 +2616,7 @@ type StreamTradesResponse struct { func (x *StreamTradesResponse) Reset() { *x = StreamTradesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[31] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2629,7 +2629,7 @@ func (x *StreamTradesResponse) String() string { func (*StreamTradesResponse) ProtoMessage() {} func (x *StreamTradesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[31] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2642,7 +2642,7 @@ func (x *StreamTradesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTradesResponse.ProtoReflect.Descriptor instead. func (*StreamTradesResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{31} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{31} } func (x *StreamTradesResponse) GetTrade() *SpotTrade { @@ -2705,7 +2705,7 @@ type TradesV2Request struct { func (x *TradesV2Request) Reset() { *x = TradesV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[32] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2718,7 +2718,7 @@ func (x *TradesV2Request) String() string { func (*TradesV2Request) ProtoMessage() {} func (x *TradesV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[32] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2731,7 +2731,7 @@ func (x *TradesV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use TradesV2Request.ProtoReflect.Descriptor instead. func (*TradesV2Request) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{32} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{32} } func (x *TradesV2Request) GetMarketId() string { @@ -2846,7 +2846,7 @@ type TradesV2Response struct { func (x *TradesV2Response) Reset() { *x = TradesV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[33] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2859,7 +2859,7 @@ func (x *TradesV2Response) String() string { func (*TradesV2Response) ProtoMessage() {} func (x *TradesV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[33] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2872,7 +2872,7 @@ func (x *TradesV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use TradesV2Response.ProtoReflect.Descriptor instead. func (*TradesV2Response) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{33} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{33} } func (x *TradesV2Response) GetTrades() []*SpotTrade { @@ -2928,7 +2928,7 @@ type StreamTradesV2Request struct { func (x *StreamTradesV2Request) Reset() { *x = StreamTradesV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[34] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2941,7 +2941,7 @@ func (x *StreamTradesV2Request) String() string { func (*StreamTradesV2Request) ProtoMessage() {} func (x *StreamTradesV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[34] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2954,7 +2954,7 @@ func (x *StreamTradesV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTradesV2Request.ProtoReflect.Descriptor instead. func (*StreamTradesV2Request) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{34} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{34} } func (x *StreamTradesV2Request) GetMarketId() string { @@ -3071,7 +3071,7 @@ type StreamTradesV2Response struct { func (x *StreamTradesV2Response) Reset() { *x = StreamTradesV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[35] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3084,7 +3084,7 @@ func (x *StreamTradesV2Response) String() string { func (*StreamTradesV2Response) ProtoMessage() {} func (x *StreamTradesV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[35] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3097,7 +3097,7 @@ func (x *StreamTradesV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTradesV2Response.ProtoReflect.Descriptor instead. func (*StreamTradesV2Response) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{35} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{35} } func (x *StreamTradesV2Response) GetTrade() *SpotTrade { @@ -3139,7 +3139,7 @@ type SubaccountOrdersListRequest struct { func (x *SubaccountOrdersListRequest) Reset() { *x = SubaccountOrdersListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[36] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3152,7 +3152,7 @@ func (x *SubaccountOrdersListRequest) String() string { func (*SubaccountOrdersListRequest) ProtoMessage() {} func (x *SubaccountOrdersListRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[36] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3165,7 +3165,7 @@ func (x *SubaccountOrdersListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SubaccountOrdersListRequest.ProtoReflect.Descriptor instead. func (*SubaccountOrdersListRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{36} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{36} } func (x *SubaccountOrdersListRequest) GetSubaccountId() string { @@ -3208,7 +3208,7 @@ type SubaccountOrdersListResponse struct { func (x *SubaccountOrdersListResponse) Reset() { *x = SubaccountOrdersListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[37] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3221,7 +3221,7 @@ func (x *SubaccountOrdersListResponse) String() string { func (*SubaccountOrdersListResponse) ProtoMessage() {} func (x *SubaccountOrdersListResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[37] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3234,7 +3234,7 @@ func (x *SubaccountOrdersListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SubaccountOrdersListResponse.ProtoReflect.Descriptor instead. func (*SubaccountOrdersListResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{37} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{37} } func (x *SubaccountOrdersListResponse) GetOrders() []*SpotLimitOrder { @@ -3273,7 +3273,7 @@ type SubaccountTradesListRequest struct { func (x *SubaccountTradesListRequest) Reset() { *x = SubaccountTradesListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[38] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3286,7 +3286,7 @@ func (x *SubaccountTradesListRequest) String() string { func (*SubaccountTradesListRequest) ProtoMessage() {} func (x *SubaccountTradesListRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[38] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3299,7 +3299,7 @@ func (x *SubaccountTradesListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SubaccountTradesListRequest.ProtoReflect.Descriptor instead. func (*SubaccountTradesListRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{38} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{38} } func (x *SubaccountTradesListRequest) GetSubaccountId() string { @@ -3356,7 +3356,7 @@ type SubaccountTradesListResponse struct { func (x *SubaccountTradesListResponse) Reset() { *x = SubaccountTradesListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[39] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3369,7 +3369,7 @@ func (x *SubaccountTradesListResponse) String() string { func (*SubaccountTradesListResponse) ProtoMessage() {} func (x *SubaccountTradesListResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[39] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3382,7 +3382,7 @@ func (x *SubaccountTradesListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SubaccountTradesListResponse.ProtoReflect.Descriptor instead. func (*SubaccountTradesListResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{39} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{39} } func (x *SubaccountTradesListResponse) GetTrades() []*SpotTrade { @@ -3428,7 +3428,7 @@ type OrdersHistoryRequest struct { func (x *OrdersHistoryRequest) Reset() { *x = OrdersHistoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[40] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3441,7 +3441,7 @@ func (x *OrdersHistoryRequest) String() string { func (*OrdersHistoryRequest) ProtoMessage() {} func (x *OrdersHistoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[40] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3454,7 +3454,7 @@ func (x *OrdersHistoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use OrdersHistoryRequest.ProtoReflect.Descriptor instead. func (*OrdersHistoryRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{40} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{40} } func (x *OrdersHistoryRequest) GetSubaccountId() string { @@ -3568,7 +3568,7 @@ type OrdersHistoryResponse struct { func (x *OrdersHistoryResponse) Reset() { *x = OrdersHistoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[41] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3581,7 +3581,7 @@ func (x *OrdersHistoryResponse) String() string { func (*OrdersHistoryResponse) ProtoMessage() {} func (x *OrdersHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[41] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3594,7 +3594,7 @@ func (x *OrdersHistoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use OrdersHistoryResponse.ProtoReflect.Descriptor instead. func (*OrdersHistoryResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{41} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{41} } func (x *OrdersHistoryResponse) GetOrders() []*SpotOrderHistory { @@ -3653,7 +3653,7 @@ type SpotOrderHistory struct { func (x *SpotOrderHistory) Reset() { *x = SpotOrderHistory{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[42] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3666,7 +3666,7 @@ func (x *SpotOrderHistory) String() string { func (*SpotOrderHistory) ProtoMessage() {} func (x *SpotOrderHistory) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[42] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3679,7 +3679,7 @@ func (x *SpotOrderHistory) ProtoReflect() protoreflect.Message { // Deprecated: Use SpotOrderHistory.ProtoReflect.Descriptor instead. func (*SpotOrderHistory) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{42} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{42} } func (x *SpotOrderHistory) GetOrderHash() string { @@ -3815,7 +3815,7 @@ type StreamOrdersHistoryRequest struct { func (x *StreamOrdersHistoryRequest) Reset() { *x = StreamOrdersHistoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[43] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3828,7 +3828,7 @@ func (x *StreamOrdersHistoryRequest) String() string { func (*StreamOrdersHistoryRequest) ProtoMessage() {} func (x *StreamOrdersHistoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[43] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3841,7 +3841,7 @@ func (x *StreamOrdersHistoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrdersHistoryRequest.ProtoReflect.Descriptor instead. func (*StreamOrdersHistoryRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{43} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{43} } func (x *StreamOrdersHistoryRequest) GetSubaccountId() string { @@ -3902,7 +3902,7 @@ type StreamOrdersHistoryResponse struct { func (x *StreamOrdersHistoryResponse) Reset() { *x = StreamOrdersHistoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[44] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3915,7 +3915,7 @@ func (x *StreamOrdersHistoryResponse) String() string { func (*StreamOrdersHistoryResponse) ProtoMessage() {} func (x *StreamOrdersHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[44] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3928,7 +3928,7 @@ func (x *StreamOrdersHistoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrdersHistoryResponse.ProtoReflect.Descriptor instead. func (*StreamOrdersHistoryResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{44} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{44} } func (x *StreamOrdersHistoryResponse) GetOrder() *SpotOrderHistory { @@ -3974,7 +3974,7 @@ type AtomicSwapHistoryRequest struct { func (x *AtomicSwapHistoryRequest) Reset() { *x = AtomicSwapHistoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[45] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3987,7 +3987,7 @@ func (x *AtomicSwapHistoryRequest) String() string { func (*AtomicSwapHistoryRequest) ProtoMessage() {} func (x *AtomicSwapHistoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[45] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4000,7 +4000,7 @@ func (x *AtomicSwapHistoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AtomicSwapHistoryRequest.ProtoReflect.Descriptor instead. func (*AtomicSwapHistoryRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{45} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{45} } func (x *AtomicSwapHistoryRequest) GetAddress() string { @@ -4059,7 +4059,7 @@ type AtomicSwapHistoryResponse struct { func (x *AtomicSwapHistoryResponse) Reset() { *x = AtomicSwapHistoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[46] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4072,7 +4072,7 @@ func (x *AtomicSwapHistoryResponse) String() string { func (*AtomicSwapHistoryResponse) ProtoMessage() {} func (x *AtomicSwapHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[46] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4085,7 +4085,7 @@ func (x *AtomicSwapHistoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AtomicSwapHistoryResponse.ProtoReflect.Descriptor instead. func (*AtomicSwapHistoryResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{46} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{46} } func (x *AtomicSwapHistoryResponse) GetPaging() *Paging { @@ -4135,7 +4135,7 @@ type AtomicSwap struct { func (x *AtomicSwap) Reset() { *x = AtomicSwap{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[47] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4148,7 +4148,7 @@ func (x *AtomicSwap) String() string { func (*AtomicSwap) ProtoMessage() {} func (x *AtomicSwap) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[47] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4161,7 +4161,7 @@ func (x *AtomicSwap) ProtoReflect() protoreflect.Message { // Deprecated: Use AtomicSwap.ProtoReflect.Descriptor instead. func (*AtomicSwap) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{47} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{47} } func (x *AtomicSwap) GetSender() string { @@ -4254,7 +4254,7 @@ type Coin struct { func (x *Coin) Reset() { *x = Coin{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[48] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4267,7 +4267,7 @@ func (x *Coin) String() string { func (*Coin) ProtoMessage() {} func (x *Coin) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[48] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4280,7 +4280,7 @@ func (x *Coin) ProtoReflect() protoreflect.Message { // Deprecated: Use Coin.ProtoReflect.Descriptor instead. func (*Coin) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{48} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{48} } func (x *Coin) GetDenom() string { @@ -4297,337 +4297,441 @@ func (x *Coin) GetAmount() string { return "" } -var File_injective_spot_exchange_rpc_proto protoreflect.FileDescriptor +var File_goadesign_goagen_injective_spot_exchange_rpc_proto protoreflect.FileDescriptor -var file_injective_spot_exchange_rpc_proto_rawDesc = []byte{ - 0x0a, 0x21, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, - 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x22, 0x9e, 0x01, 0x0a, 0x0e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x65, - 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, - 0x73, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, - 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, - 0x6f, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, - 0x73, 0x22, 0x58, 0x0a, 0x0f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xae, 0x04, 0x0a, 0x0e, - 0x53, 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 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, 0x23, 0x0a, 0x0d, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x65, - 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, - 0x73, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x4e, 0x0a, 0x0f, 0x62, 0x61, 0x73, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, - 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, - 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, - 0x6f, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x50, 0x0a, 0x10, 0x71, 0x75, 0x6f, 0x74, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, - 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0e, 0x71, 0x75, 0x6f, 0x74, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, - 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, - 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, - 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x46, - 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x65, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x5f, - 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, - 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x5f, 0x71, - 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x51, 0x75, 0x61, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa0, 0x01, 0x0a, - 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 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, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, - 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, - 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, - 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, - 0x2c, 0x0a, 0x0d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 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, 0x22, 0x55, 0x0a, - 0x0e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x43, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, - 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x22, 0x35, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xa1, 0x01, 0x0a, 0x15, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, - 0x31, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x66, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, - 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, - 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0xcc, 0x01, 0x0a, 0x14, 0x53, - 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, - 0x6b, 0x56, 0x32, 0x12, 0x3b, 0x0a, 0x04, 0x62, 0x75, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, +var file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDesc = []byte{ + 0x0a, 0x32, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, + 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x22, 0x9e, 0x01, 0x0a, 0x0e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73, + 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, + 0x61, 0x73, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, + 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, + 0x75, 0x6f, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x65, 0x73, 0x22, 0x58, 0x0a, 0x0f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xae, 0x04, 0x0a, + 0x0e, 0x53, 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 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, 0x23, 0x0a, 0x0d, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73, + 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, + 0x61, 0x73, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x4e, 0x0a, 0x0f, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x04, 0x62, 0x75, 0x79, 0x73, - 0x12, 0x3d, 0x0a, 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x73, 0x65, 0x6c, 0x6c, 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, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x72, 0x69, - 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x34, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x6f, 0x0a, - 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x70, - 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, - 0x56, 0x32, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x22, 0x8a, - 0x01, 0x0a, 0x1a, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 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, 0x4f, 0x0a, 0x09, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, + 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, + 0x75, 0x6f, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x50, 0x0a, 0x10, 0x71, 0x75, 0x6f, + 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0e, 0x71, 0x75, 0x6f, + 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x6d, + 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, + 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, + 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, 0x6b, 0x65, 0x72, + 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x65, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x6d, 0x69, 0x6e, + 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x5f, + 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x51, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa0, 0x01, + 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 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, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, + 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, + 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x22, 0x2c, 0x0a, 0x0d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 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, 0x22, 0x55, + 0x0a, 0x0e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x43, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, + 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x22, 0x35, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xa1, 0x01, 0x0a, + 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x22, 0x31, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x66, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, + 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, - 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0x39, 0x0a, 0x18, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xce, 0x01, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, - 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0xcc, 0x01, 0x0a, 0x14, + 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x3b, 0x0a, 0x04, 0x62, 0x75, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, + 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x04, 0x62, 0x75, 0x79, + 0x73, 0x12, 0x3d, 0x0a, 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, + 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, + 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x73, 0x65, 0x6c, 0x6c, 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, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x34, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x6f, + 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, + 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, + 0x6b, 0x56, 0x32, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x22, + 0x8a, 0x01, 0x0a, 0x1a, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 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, 0x4f, 0x0a, 0x09, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, + 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, + 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0x39, 0x0a, 0x18, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, + 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xce, 0x01, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xed, 0x01, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x17, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x15, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xed, 0x01, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x17, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0xf7, 0x01, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 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, 0x1a, + 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x04, 0x62, 0x75, + 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x04, 0x62, 0x75, 0x79, 0x73, 0x12, 0x43, 0x0a, + 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x65, 0x6c, + 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x22, 0x7f, 0x0a, 0x10, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x22, 0x83, 0x03, 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 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, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, + 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x92, 0x01, 0x0a, 0x0e, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, + 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, + 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xb8, 0x03, + 0x0a, 0x0e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, + 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, + 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 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, + 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, + 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, + 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, + 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, + 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, + 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x12, 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, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x17, 0x0a, + 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, + 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, + 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, + 0x02, 0x74, 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, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, + 0x74, 0x22, 0x89, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, + 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x29, 0x0a, + 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x49, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, + 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, + 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x9e, 0x01, + 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xbf, + 0x03, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 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, 0x25, 0x0a, + 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, + 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, + 0x22, 0x8d, 0x01, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, + 0x64, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x22, 0xb2, 0x03, 0x0a, 0x09, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, + 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, + 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x05, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, - 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x15, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, + 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xc5, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, + 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, + 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, + 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x99, 0x01, + 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0xf7, 0x01, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 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, 0x1a, 0x0a, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x04, 0x62, 0x75, 0x79, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x04, 0x62, 0x75, 0x79, 0x73, 0x12, 0x43, 0x0a, 0x05, - 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x65, 0x6c, 0x6c, - 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x22, 0x7f, 0x0a, 0x10, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, - 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, - 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x22, 0x83, 0x03, 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 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, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc1, 0x03, 0x0a, 0x0f, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, - 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, - 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, - 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x92, 0x01, 0x0a, 0x0e, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, - 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xb8, 0x03, 0x0a, - 0x0e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, - 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, - 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, 0x0a, - 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 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, 0x12, - 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, - 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6e, - 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, - 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, - 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, - 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x12, 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, - 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x17, 0x0a, 0x07, - 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, - 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x69, - 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, - 0x74, 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, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, - 0x22, 0x89, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, - 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x53, 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, - 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x29, 0x0a, 0x10, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, - 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, - 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, - 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x9e, 0x01, 0x0a, - 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xbf, 0x03, - 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, - 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, - 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, - 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, - 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, - 0x8d, 0x01, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, + 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, + 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x8f, 0x01, + 0x0a, 0x10, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, @@ -4636,492 +4740,389 @@ var file_injective_spot_exchange_rpc_proto_rawDesc = []byte{ 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, - 0xb2, 0x03, 0x0a, 0x09, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, - 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x30, - 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, 0x72, - 0x61, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x05, 0x70, 0x72, 0x69, - 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, - 0x6c, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x66, - 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, - 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, - 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x63, 0x69, 0x64, 0x22, 0xc5, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, - 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, - 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, - 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, - 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, - 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x99, 0x01, 0x0a, - 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0xc7, 0x03, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, + 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, + 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, + 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, + 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x16, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, + 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, + 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x22, 0xa0, 0x01, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x74, 0x72, - 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc1, 0x03, 0x0a, 0x0f, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, - 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, - 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, - 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, - 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, - 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x8f, 0x01, 0x0a, - 0x10, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, - 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, - 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, - 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xc7, - 0x03, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, - 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, - 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, - 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, - 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, - 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, 0x64, - 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, + 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xce, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x22, 0xa0, 0x01, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, - 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xce, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, - 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, - 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, - 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x5e, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x22, 0xb6, 0x03, 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, + 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, + 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x5e, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, + 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x22, 0xb6, 0x03, 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x49, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x2e, + 0x0a, 0x13, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, + 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, + 0x22, 0x9b, 0x01, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x06, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, + 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xf3, + 0x03, 0x0a, 0x10, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, + 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, + 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 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, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, + 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x12, 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, 0x0d, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, + 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x63, 0x69, 0x64, 0x22, 0xdc, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0a, 0x20, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, - 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, - 0x13, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x5f, - 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, - 0x9b, 0x01, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x06, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, - 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, - 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xf3, 0x03, - 0x0a, 0x10, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, - 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1b, - 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 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, - 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, - 0x0f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, - 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, - 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, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, - 0x61, 0x73, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, - 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x63, 0x69, 0x64, 0x22, 0xdc, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x43, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, - 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc7, 0x01, 0x0a, - 0x18, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 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, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x73, 0x6b, - 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 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, 0x05, 0x20, 0x01, 0x28, 0x11, 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, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x74, 0x6f, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x95, 0x01, 0x0a, 0x19, 0x41, 0x74, 0x6f, 0x6d, 0x69, - 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x67, 0x12, 0x3b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x74, - 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe0, - 0x03, 0x0a, 0x0a, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 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, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, - 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, - 0x6f, 0x69, 0x6e, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, - 0x3e, 0x0a, 0x09, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, + 0x70, 0x65, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x08, 0x64, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x12, - 0x35, 0x0a, 0x04, 0x66, 0x65, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, 0x6e, - 0x52, 0x04, 0x66, 0x65, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0d, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x42, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x15, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x42, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, - 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x22, 0x34, 0x0a, 0x04, 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, 0x32, 0x9e, 0x11, 0x0a, 0x18, 0x49, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x52, 0x50, 0x43, 0x12, 0x64, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, - 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x4d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, - 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, - 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x31, + 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc7, 0x01, + 0x0a, 0x18, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 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, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x73, + 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 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, 0x05, 0x20, 0x01, 0x28, 0x11, 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, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x74, + 0x6f, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x95, 0x01, 0x0a, 0x19, 0x41, 0x74, 0x6f, 0x6d, + 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x67, 0x12, 0x3b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, + 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, + 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0xe0, 0x03, 0x0a, 0x0a, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 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, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x0b, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, + 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x69, 0x6e, + 0x12, 0x3e, 0x0a, 0x09, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x08, 0x64, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x69, 0x6e, + 0x12, 0x35, 0x0a, 0x04, 0x66, 0x65, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, + 0x6e, 0x52, 0x04, 0x66, 0x65, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x62, 0x79, 0x5f, 0x73, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0d, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x42, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x15, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x42, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x0b, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, + 0x0d, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x22, 0x34, 0x0a, 0x04, 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, 0x32, 0x9e, 0x11, 0x0a, 0x18, 0x49, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x52, 0x50, 0x43, 0x12, 0x64, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, + 0x12, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, + 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x4d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x70, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, + 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, + 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, + 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x70, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, - 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x0c, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, - 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, - 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, - 0x01, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x90, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, - 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, + 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, + 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x0c, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, - 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x0c, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x69, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x84, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x67, 0x0a, 0x08, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x69, 0x6e, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x90, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, + 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x30, 0x01, 0x12, 0x8b, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x8b, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x73, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, - 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, - 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, + 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, - 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x37, + 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x0c, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x30, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, - 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x2a, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, - 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, - 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, - 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x20, 0x5a, 0x1e, 0x2f, 0x69, 0x6e, 0x6a, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x67, 0x0a, + 0x08, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x30, 0x01, 0x12, 0x8b, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x76, 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x12, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, + 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, + 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, + 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, + 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, + 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x20, 0x5a, 0x1e, 0x2f, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( - file_injective_spot_exchange_rpc_proto_rawDescOnce sync.Once - file_injective_spot_exchange_rpc_proto_rawDescData = file_injective_spot_exchange_rpc_proto_rawDesc + file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescData = file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDesc ) -func file_injective_spot_exchange_rpc_proto_rawDescGZIP() []byte { - file_injective_spot_exchange_rpc_proto_rawDescOnce.Do(func() { - file_injective_spot_exchange_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_spot_exchange_rpc_proto_rawDescData) +func file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescData) }) - return file_injective_spot_exchange_rpc_proto_rawDescData + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescData } -var file_injective_spot_exchange_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 49) -var file_injective_spot_exchange_rpc_proto_goTypes = []interface{}{ +var file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 49) +var file_goadesign_goagen_injective_spot_exchange_rpc_proto_goTypes = []interface{}{ (*MarketsRequest)(nil), // 0: injective_spot_exchange_rpc.MarketsRequest (*MarketsResponse)(nil), // 1: injective_spot_exchange_rpc.MarketsResponse (*SpotMarketInfo)(nil), // 2: injective_spot_exchange_rpc.SpotMarketInfo @@ -5172,7 +5173,7 @@ var file_injective_spot_exchange_rpc_proto_goTypes = []interface{}{ (*AtomicSwap)(nil), // 47: injective_spot_exchange_rpc.AtomicSwap (*Coin)(nil), // 48: injective_spot_exchange_rpc.Coin } -var file_injective_spot_exchange_rpc_proto_depIdxs = []int32{ +var file_goadesign_goagen_injective_spot_exchange_rpc_proto_depIdxs = []int32{ 2, // 0: injective_spot_exchange_rpc.MarketsResponse.markets:type_name -> injective_spot_exchange_rpc.SpotMarketInfo 3, // 1: injective_spot_exchange_rpc.SpotMarketInfo.base_token_meta:type_name -> injective_spot_exchange_rpc.TokenMeta 3, // 2: injective_spot_exchange_rpc.SpotMarketInfo.quote_token_meta:type_name -> injective_spot_exchange_rpc.TokenMeta @@ -5251,13 +5252,13 @@ var file_injective_spot_exchange_rpc_proto_depIdxs = []int32{ 0, // [0:35] is the sub-list for field type_name } -func init() { file_injective_spot_exchange_rpc_proto_init() } -func file_injective_spot_exchange_rpc_proto_init() { - if File_injective_spot_exchange_rpc_proto != nil { +func init() { file_goadesign_goagen_injective_spot_exchange_rpc_proto_init() } +func file_goadesign_goagen_injective_spot_exchange_rpc_proto_init() { + if File_goadesign_goagen_injective_spot_exchange_rpc_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_injective_spot_exchange_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MarketsRequest); i { case 0: return &v.state @@ -5269,7 +5270,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MarketsResponse); i { case 0: return &v.state @@ -5281,7 +5282,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SpotMarketInfo); i { case 0: return &v.state @@ -5293,7 +5294,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenMeta); i { case 0: return &v.state @@ -5305,7 +5306,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MarketRequest); i { case 0: return &v.state @@ -5317,7 +5318,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MarketResponse); i { case 0: return &v.state @@ -5329,7 +5330,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamMarketsRequest); i { case 0: return &v.state @@ -5341,7 +5342,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamMarketsResponse); i { case 0: return &v.state @@ -5353,7 +5354,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbookV2Request); i { case 0: return &v.state @@ -5365,7 +5366,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbookV2Response); i { case 0: return &v.state @@ -5377,7 +5378,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SpotLimitOrderbookV2); i { case 0: return &v.state @@ -5389,7 +5390,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PriceLevel); i { case 0: return &v.state @@ -5401,7 +5402,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbooksV2Request); i { case 0: return &v.state @@ -5413,7 +5414,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbooksV2Response); i { case 0: return &v.state @@ -5425,7 +5426,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SingleSpotLimitOrderbookV2); i { case 0: return &v.state @@ -5437,7 +5438,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrderbookV2Request); i { case 0: return &v.state @@ -5449,7 +5450,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrderbookV2Response); i { case 0: return &v.state @@ -5461,7 +5462,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrderbookUpdateRequest); i { case 0: return &v.state @@ -5473,7 +5474,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrderbookUpdateResponse); i { case 0: return &v.state @@ -5485,7 +5486,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbookLevelUpdates); i { case 0: return &v.state @@ -5497,7 +5498,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PriceLevelUpdate); i { case 0: return &v.state @@ -5509,7 +5510,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrdersRequest); i { case 0: return &v.state @@ -5521,7 +5522,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrdersResponse); i { case 0: return &v.state @@ -5533,7 +5534,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SpotLimitOrder); i { case 0: return &v.state @@ -5545,7 +5546,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Paging); i { case 0: return &v.state @@ -5557,7 +5558,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrdersRequest); i { case 0: return &v.state @@ -5569,7 +5570,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrdersResponse); i { case 0: return &v.state @@ -5581,7 +5582,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TradesRequest); i { case 0: return &v.state @@ -5593,7 +5594,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TradesResponse); i { case 0: return &v.state @@ -5605,7 +5606,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SpotTrade); i { case 0: return &v.state @@ -5617,7 +5618,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTradesRequest); i { case 0: return &v.state @@ -5629,7 +5630,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTradesResponse); i { case 0: return &v.state @@ -5641,7 +5642,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TradesV2Request); i { case 0: return &v.state @@ -5653,7 +5654,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TradesV2Response); i { case 0: return &v.state @@ -5665,7 +5666,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTradesV2Request); i { case 0: return &v.state @@ -5677,7 +5678,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTradesV2Response); i { case 0: return &v.state @@ -5689,7 +5690,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubaccountOrdersListRequest); i { case 0: return &v.state @@ -5701,7 +5702,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubaccountOrdersListResponse); i { case 0: return &v.state @@ -5713,7 +5714,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubaccountTradesListRequest); i { case 0: return &v.state @@ -5725,7 +5726,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubaccountTradesListResponse); i { case 0: return &v.state @@ -5737,7 +5738,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrdersHistoryRequest); i { case 0: return &v.state @@ -5749,7 +5750,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrdersHistoryResponse); i { case 0: return &v.state @@ -5761,7 +5762,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SpotOrderHistory); i { case 0: return &v.state @@ -5773,7 +5774,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrdersHistoryRequest); i { case 0: return &v.state @@ -5785,7 +5786,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrdersHistoryResponse); i { case 0: return &v.state @@ -5797,7 +5798,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AtomicSwapHistoryRequest); i { case 0: return &v.state @@ -5809,7 +5810,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AtomicSwapHistoryResponse); i { case 0: return &v.state @@ -5821,7 +5822,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AtomicSwap); i { case 0: return &v.state @@ -5833,7 +5834,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Coin); i { case 0: return &v.state @@ -5850,18 +5851,18 @@ func file_injective_spot_exchange_rpc_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_spot_exchange_rpc_proto_rawDesc, + RawDescriptor: file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDesc, NumEnums: 0, NumMessages: 49, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_injective_spot_exchange_rpc_proto_goTypes, - DependencyIndexes: file_injective_spot_exchange_rpc_proto_depIdxs, - MessageInfos: file_injective_spot_exchange_rpc_proto_msgTypes, + GoTypes: file_goadesign_goagen_injective_spot_exchange_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_spot_exchange_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes, }.Build() - File_injective_spot_exchange_rpc_proto = out.File - file_injective_spot_exchange_rpc_proto_rawDesc = nil - file_injective_spot_exchange_rpc_proto_goTypes = nil - file_injective_spot_exchange_rpc_proto_depIdxs = nil + File_goadesign_goagen_injective_spot_exchange_rpc_proto = out.File + file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_spot_exchange_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_spot_exchange_rpc_proto_depIdxs = nil } diff --git a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.proto b/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.proto similarity index 99% rename from exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.proto rename to exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.proto index ea74b297..e5759878 100644 --- a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.proto +++ b/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveSpotExchangeRPC protocol buffer definition // diff --git a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc_grpc.pb.go b/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc_grpc.pb.go similarity index 99% rename from exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc_grpc.pb.go rename to exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc_grpc.pb.go index cb95d816..4032d51d 100644 --- a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc_grpc.pb.go +++ b/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_spot_exchange_rpc.proto package injective_spot_exchange_rpcpb @@ -936,5 +940,5 @@ var InjectiveSpotExchangeRPC_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, }, - Metadata: "injective_spot_exchange_rpc.proto", + Metadata: "goadesign_goagen_injective_spot_exchange_rpc.proto", } diff --git a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.pb.gw.go b/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.pb.gw.go index 1324f523..4abea1de 100644 --- a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.pb.gw.go +++ b/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.pb.gw.go @@ -592,20 +592,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Markets", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Markets")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Markets", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Markets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_Markets_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_Markets_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_Markets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_Markets_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -615,20 +617,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Market", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Market")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Market", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Market")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_Market_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_Market_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_Market_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_Market_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -645,20 +649,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbookV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbookV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbookV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbookV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_OrderbookV2_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_OrderbookV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_OrderbookV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_OrderbookV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -668,20 +674,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbooksV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbooksV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbooksV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbooksV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_OrderbooksV2_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_OrderbooksV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_OrderbooksV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_OrderbooksV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -705,20 +713,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Orders", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Orders")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Orders", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Orders")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_Orders_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_Orders_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_Orders_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_Orders_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -735,20 +745,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Trades", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Trades")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Trades", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Trades")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_Trades_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_Trades_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_Trades_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_Trades_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -765,20 +777,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/TradesV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/TradesV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/TradesV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/TradesV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_TradesV2_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_TradesV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_TradesV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_TradesV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -795,20 +809,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountOrdersList", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountOrdersList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountOrdersList", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountOrdersList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_SubaccountOrdersList_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_SubaccountOrdersList_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_SubaccountOrdersList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_SubaccountOrdersList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -818,20 +834,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountTradesList", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountTradesList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountTradesList", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountTradesList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_SubaccountTradesList_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_SubaccountTradesList_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_SubaccountTradesList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_SubaccountTradesList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -841,20 +859,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrdersHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrdersHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrdersHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrdersHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_OrdersHistory_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_OrdersHistory_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_OrdersHistory_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_OrdersHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -871,20 +891,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/AtomicSwapHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/AtomicSwapHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/AtomicSwapHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/AtomicSwapHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_AtomicSwapHistory_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_AtomicSwapHistory_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_AtomicSwapHistory_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_AtomicSwapHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -933,19 +955,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Markets", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Markets")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Markets", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Markets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_Markets_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_Markets_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_Markets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_Markets_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -953,19 +977,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Market", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Market")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Market", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Market")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_Market_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_Market_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_Market_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_Market_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -973,19 +999,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamMarkets", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamMarkets")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamMarkets", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamMarkets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_StreamMarkets_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_StreamMarkets_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_StreamMarkets_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_StreamMarkets_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -993,19 +1021,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbookV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbookV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbookV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbookV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_OrderbookV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_OrderbookV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_OrderbookV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_OrderbookV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1013,19 +1043,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbooksV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbooksV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbooksV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbooksV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_OrderbooksV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_OrderbooksV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_OrderbooksV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_OrderbooksV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1033,19 +1065,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_StreamOrderbookV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_StreamOrderbookV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_StreamOrderbookV2_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_StreamOrderbookV2_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1053,19 +1087,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookUpdate", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookUpdate")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookUpdate", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookUpdate")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_StreamOrderbookUpdate_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_StreamOrderbookUpdate_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_StreamOrderbookUpdate_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_StreamOrderbookUpdate_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1073,19 +1109,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Orders", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Orders")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Orders", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Orders")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_Orders_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_Orders_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_Orders_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_Orders_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1093,19 +1131,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrders", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrders")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrders", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrders")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_StreamOrders_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_StreamOrders_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_StreamOrders_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_StreamOrders_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1113,19 +1153,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Trades", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Trades")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Trades", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Trades")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_Trades_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_Trades_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_Trades_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_Trades_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1133,19 +1175,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTrades", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTrades")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTrades", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTrades")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_StreamTrades_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_StreamTrades_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_StreamTrades_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_StreamTrades_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1153,19 +1197,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/TradesV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/TradesV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/TradesV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/TradesV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_TradesV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_TradesV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_TradesV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_TradesV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1173,19 +1219,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTradesV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTradesV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTradesV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTradesV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_StreamTradesV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_StreamTradesV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_StreamTradesV2_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_StreamTradesV2_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1193,19 +1241,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountOrdersList", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountOrdersList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountOrdersList", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountOrdersList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_SubaccountOrdersList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_SubaccountOrdersList_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_SubaccountOrdersList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_SubaccountOrdersList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1213,19 +1263,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountTradesList", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountTradesList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountTradesList", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountTradesList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_SubaccountTradesList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_SubaccountTradesList_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_SubaccountTradesList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_SubaccountTradesList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1233,19 +1285,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrdersHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrdersHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrdersHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrdersHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_OrdersHistory_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_OrdersHistory_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_OrdersHistory_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_OrdersHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1253,19 +1307,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrdersHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrdersHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrdersHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrdersHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_StreamOrdersHistory_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_StreamOrdersHistory_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_StreamOrdersHistory_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_StreamOrdersHistory_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1273,19 +1329,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/AtomicSwapHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/AtomicSwapHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/AtomicSwapHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/AtomicSwapHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_AtomicSwapHistory_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_AtomicSwapHistory_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_AtomicSwapHistory_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_AtomicSwapHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.pb.go b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.pb.go new file mode 100644 index 00000000..fa06c65a --- /dev/null +++ b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.pb.go @@ -0,0 +1,974 @@ +// Code generated with goa v3.7.0, DO NOT EDIT. +// +// InjectiveTradingRPC protocol buffer definition +// +// Command: +// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc v4.25.3 +// source: goadesign_goagen_injective_trading_rpc.proto + +package injective_trading_rpcpb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ListTradingStrategiesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` + // MarketId of the trading strategy + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // subaccount ID to filter by + SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Account address + AccountAddress string `protobuf:"bytes,4,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // Indicates whether the trading strategy is pending execution + PendingExecution bool `protobuf:"varint,5,opt,name=pending_execution,json=pendingExecution,proto3" json:"pending_execution,omitempty"` + // The starting timestamp in UNIX milliseconds for the creation time of the + // trading strategy + StartTime int64 `protobuf:"zigzag64,6,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // The ending timestamp in UNIX milliseconds for the creation time of the + // trading strategy + EndTime int64 `protobuf:"zigzag64,7,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + Limit int32 `protobuf:"zigzag32,8,opt,name=limit,proto3" json:"limit,omitempty"` + Skip uint64 `protobuf:"varint,9,opt,name=skip,proto3" json:"skip,omitempty"` + // Filter by strategy type + StrategyType []string `protobuf:"bytes,10,rep,name=strategy_type,json=strategyType,proto3" json:"strategy_type,omitempty"` + // Filter by market type + MarketType string `protobuf:"bytes,11,opt,name=market_type,json=marketType,proto3" json:"market_type,omitempty"` +} + +func (x *ListTradingStrategiesRequest) Reset() { + *x = ListTradingStrategiesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTradingStrategiesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTradingStrategiesRequest) ProtoMessage() {} + +func (x *ListTradingStrategiesRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTradingStrategiesRequest.ProtoReflect.Descriptor instead. +func (*ListTradingStrategiesRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_trading_rpc_proto_rawDescGZIP(), []int{0} +} + +func (x *ListTradingStrategiesRequest) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *ListTradingStrategiesRequest) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *ListTradingStrategiesRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *ListTradingStrategiesRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *ListTradingStrategiesRequest) GetPendingExecution() bool { + if x != nil { + return x.PendingExecution + } + return false +} + +func (x *ListTradingStrategiesRequest) GetStartTime() int64 { + if x != nil { + return x.StartTime + } + return 0 +} + +func (x *ListTradingStrategiesRequest) GetEndTime() int64 { + if x != nil { + return x.EndTime + } + return 0 +} + +func (x *ListTradingStrategiesRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *ListTradingStrategiesRequest) GetSkip() uint64 { + if x != nil { + return x.Skip + } + return 0 +} + +func (x *ListTradingStrategiesRequest) GetStrategyType() []string { + if x != nil { + return x.StrategyType + } + return nil +} + +func (x *ListTradingStrategiesRequest) GetMarketType() string { + if x != nil { + return x.MarketType + } + return "" +} + +type ListTradingStrategiesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The trading strategies + Strategies []*TradingStrategy `protobuf:"bytes,1,rep,name=strategies,proto3" json:"strategies,omitempty"` + Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` +} + +func (x *ListTradingStrategiesResponse) Reset() { + *x = ListTradingStrategiesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTradingStrategiesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTradingStrategiesResponse) ProtoMessage() {} + +func (x *ListTradingStrategiesResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTradingStrategiesResponse.ProtoReflect.Descriptor instead. +func (*ListTradingStrategiesResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_trading_rpc_proto_rawDescGZIP(), []int{1} +} + +func (x *ListTradingStrategiesResponse) GetStrategies() []*TradingStrategy { + if x != nil { + return x.Strategies + } + return nil +} + +func (x *ListTradingStrategiesResponse) GetPaging() *Paging { + if x != nil { + return x.Paging + } + return nil +} + +type TradingStrategy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` + // MarketId of the trading strategy + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // subaccount ID of the trading strategy + SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Account address + AccountAddress string `protobuf:"bytes,4,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // Contract address + ContractAddress string `protobuf:"bytes,5,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"` + // Execution price of the trading strategy + ExecutionPrice string `protobuf:"bytes,6,opt,name=execution_price,json=executionPrice,proto3" json:"execution_price,omitempty"` + // Base quantity of the trading strategy + BaseQuantity string `protobuf:"bytes,7,opt,name=base_quantity,json=baseQuantity,proto3" json:"base_quantity,omitempty"` + // Quote quantity of the trading strategy + QuoteQuantity string `protobuf:"bytes,20,opt,name=quote_quantity,json=quoteQuantity,proto3" json:"quote_quantity,omitempty"` + // Lower bound of the trading strategy + LowerBound string `protobuf:"bytes,8,opt,name=lower_bound,json=lowerBound,proto3" json:"lower_bound,omitempty"` + // Upper bound of the trading strategy + UpperBound string `protobuf:"bytes,9,opt,name=upper_bound,json=upperBound,proto3" json:"upper_bound,omitempty"` + // Stop loss limit of the trading strategy + StopLoss string `protobuf:"bytes,10,opt,name=stop_loss,json=stopLoss,proto3" json:"stop_loss,omitempty"` + // Take profit limit of the trading strategy + TakeProfit string `protobuf:"bytes,11,opt,name=take_profit,json=takeProfit,proto3" json:"take_profit,omitempty"` + // Swap fee of the trading strategy + SwapFee string `protobuf:"bytes,12,opt,name=swap_fee,json=swapFee,proto3" json:"swap_fee,omitempty"` + // Base deposit at the time of closing the trading strategy + BaseDeposit string `protobuf:"bytes,17,opt,name=base_deposit,json=baseDeposit,proto3" json:"base_deposit,omitempty"` + // Quote deposit at the time of closing the trading strategy + QuoteDeposit string `protobuf:"bytes,18,opt,name=quote_deposit,json=quoteDeposit,proto3" json:"quote_deposit,omitempty"` + // Market mid price at the time of closing the trading strategy + MarketMidPrice string `protobuf:"bytes,19,opt,name=market_mid_price,json=marketMidPrice,proto3" json:"market_mid_price,omitempty"` + // Subscription quote quantity of the trading strategy + SubscriptionQuoteQuantity string `protobuf:"bytes,21,opt,name=subscription_quote_quantity,json=subscriptionQuoteQuantity,proto3" json:"subscription_quote_quantity,omitempty"` + // Subscription base quantity of the trading strategy + SubscriptionBaseQuantity string `protobuf:"bytes,22,opt,name=subscription_base_quantity,json=subscriptionBaseQuantity,proto3" json:"subscription_base_quantity,omitempty"` + // Number of grid levels of the trading strategy + NumberOfGridLevels string `protobuf:"bytes,23,opt,name=number_of_grid_levels,json=numberOfGridLevels,proto3" json:"number_of_grid_levels,omitempty"` + // Indicates whether the trading strategy should exit with quote only + ShouldExitWithQuoteOnly bool `protobuf:"varint,24,opt,name=should_exit_with_quote_only,json=shouldExitWithQuoteOnly,proto3" json:"should_exit_with_quote_only,omitempty"` + // Indicates the reason for stopping the trading strategy + StopReason string `protobuf:"bytes,25,opt,name=stop_reason,json=stopReason,proto3" json:"stop_reason,omitempty"` + // Indicates whether the trading strategy is pending execution + PendingExecution bool `protobuf:"varint,26,opt,name=pending_execution,json=pendingExecution,proto3" json:"pending_execution,omitempty"` + // Block height when the strategy was created. + CreatedHeight int64 `protobuf:"zigzag64,13,opt,name=created_height,json=createdHeight,proto3" json:"created_height,omitempty"` + // Block height when the strategy was removed. + RemovedHeight int64 `protobuf:"zigzag64,14,opt,name=removed_height,json=removedHeight,proto3" json:"removed_height,omitempty"` + // UpdatedAt timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,15,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // UpdatedAt timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,16,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Indicate how bot will convert funds (into base or quote or keep as is) after + // strategy ended + ExitType string `protobuf:"bytes,27,opt,name=exit_type,json=exitType,proto3" json:"exit_type,omitempty"` + // Exit config for stop loss + StopLossConfig *ExitConfig `protobuf:"bytes,28,opt,name=stop_loss_config,json=stopLossConfig,proto3" json:"stop_loss_config,omitempty"` + // Exit config for take profit + TakeProfitConfig *ExitConfig `protobuf:"bytes,29,opt,name=take_profit_config,json=takeProfitConfig,proto3" json:"take_profit_config,omitempty"` + // Strategy type: arithmetic, geometric... + StrategyType string `protobuf:"bytes,30,opt,name=strategy_type,json=strategyType,proto3" json:"strategy_type,omitempty"` + // Version of the contract + ContractVersion string `protobuf:"bytes,31,opt,name=contract_version,json=contractVersion,proto3" json:"contract_version,omitempty"` + // Name of the contract + ContractName string `protobuf:"bytes,32,opt,name=contract_name,json=contractName,proto3" json:"contract_name,omitempty"` + // Type of the market + MarketType string `protobuf:"bytes,33,opt,name=market_type,json=marketType,proto3" json:"market_type,omitempty"` +} + +func (x *TradingStrategy) Reset() { + *x = TradingStrategy{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TradingStrategy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TradingStrategy) ProtoMessage() {} + +func (x *TradingStrategy) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TradingStrategy.ProtoReflect.Descriptor instead. +func (*TradingStrategy) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_trading_rpc_proto_rawDescGZIP(), []int{2} +} + +func (x *TradingStrategy) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *TradingStrategy) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *TradingStrategy) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *TradingStrategy) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *TradingStrategy) GetContractAddress() string { + if x != nil { + return x.ContractAddress + } + return "" +} + +func (x *TradingStrategy) GetExecutionPrice() string { + if x != nil { + return x.ExecutionPrice + } + return "" +} + +func (x *TradingStrategy) GetBaseQuantity() string { + if x != nil { + return x.BaseQuantity + } + return "" +} + +func (x *TradingStrategy) GetQuoteQuantity() string { + if x != nil { + return x.QuoteQuantity + } + return "" +} + +func (x *TradingStrategy) GetLowerBound() string { + if x != nil { + return x.LowerBound + } + return "" +} + +func (x *TradingStrategy) GetUpperBound() string { + if x != nil { + return x.UpperBound + } + return "" +} + +func (x *TradingStrategy) GetStopLoss() string { + if x != nil { + return x.StopLoss + } + return "" +} + +func (x *TradingStrategy) GetTakeProfit() string { + if x != nil { + return x.TakeProfit + } + return "" +} + +func (x *TradingStrategy) GetSwapFee() string { + if x != nil { + return x.SwapFee + } + return "" +} + +func (x *TradingStrategy) GetBaseDeposit() string { + if x != nil { + return x.BaseDeposit + } + return "" +} + +func (x *TradingStrategy) GetQuoteDeposit() string { + if x != nil { + return x.QuoteDeposit + } + return "" +} + +func (x *TradingStrategy) GetMarketMidPrice() string { + if x != nil { + return x.MarketMidPrice + } + return "" +} + +func (x *TradingStrategy) GetSubscriptionQuoteQuantity() string { + if x != nil { + return x.SubscriptionQuoteQuantity + } + return "" +} + +func (x *TradingStrategy) GetSubscriptionBaseQuantity() string { + if x != nil { + return x.SubscriptionBaseQuantity + } + return "" +} + +func (x *TradingStrategy) GetNumberOfGridLevels() string { + if x != nil { + return x.NumberOfGridLevels + } + return "" +} + +func (x *TradingStrategy) GetShouldExitWithQuoteOnly() bool { + if x != nil { + return x.ShouldExitWithQuoteOnly + } + return false +} + +func (x *TradingStrategy) GetStopReason() string { + if x != nil { + return x.StopReason + } + return "" +} + +func (x *TradingStrategy) GetPendingExecution() bool { + if x != nil { + return x.PendingExecution + } + return false +} + +func (x *TradingStrategy) GetCreatedHeight() int64 { + if x != nil { + return x.CreatedHeight + } + return 0 +} + +func (x *TradingStrategy) GetRemovedHeight() int64 { + if x != nil { + return x.RemovedHeight + } + return 0 +} + +func (x *TradingStrategy) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *TradingStrategy) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *TradingStrategy) GetExitType() string { + if x != nil { + return x.ExitType + } + return "" +} + +func (x *TradingStrategy) GetStopLossConfig() *ExitConfig { + if x != nil { + return x.StopLossConfig + } + return nil +} + +func (x *TradingStrategy) GetTakeProfitConfig() *ExitConfig { + if x != nil { + return x.TakeProfitConfig + } + return nil +} + +func (x *TradingStrategy) GetStrategyType() string { + if x != nil { + return x.StrategyType + } + return "" +} + +func (x *TradingStrategy) GetContractVersion() string { + if x != nil { + return x.ContractVersion + } + return "" +} + +func (x *TradingStrategy) GetContractName() string { + if x != nil { + return x.ContractName + } + return "" +} + +func (x *TradingStrategy) GetMarketType() string { + if x != nil { + return x.MarketType + } + return "" +} + +type ExitConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // strategy exit type (stopLoss/takeProfit) + ExitType string `protobuf:"bytes,1,opt,name=exit_type,json=exitType,proto3" json:"exit_type,omitempty"` + // strategy stopLoss/takeProfit price + ExitPrice string `protobuf:"bytes,2,opt,name=exit_price,json=exitPrice,proto3" json:"exit_price,omitempty"` +} + +func (x *ExitConfig) Reset() { + *x = ExitConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExitConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExitConfig) ProtoMessage() {} + +func (x *ExitConfig) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExitConfig.ProtoReflect.Descriptor instead. +func (*ExitConfig) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_trading_rpc_proto_rawDescGZIP(), []int{3} +} + +func (x *ExitConfig) GetExitType() string { + if x != nil { + return x.ExitType + } + return "" +} + +func (x *ExitConfig) GetExitPrice() string { + if x != nil { + return x.ExitPrice + } + return "" +} + +// Paging defines the structure for required params for handling pagination +type Paging struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // total number of txs saved in database + Total int64 `protobuf:"zigzag64,1,opt,name=total,proto3" json:"total,omitempty"` + // can be either block height or index num + From int32 `protobuf:"zigzag32,2,opt,name=from,proto3" json:"from,omitempty"` + // can be either block height or index num + To int32 `protobuf:"zigzag32,3,opt,name=to,proto3" json:"to,omitempty"` + // count entries by subaccount, serving some places on helix + CountBySubaccount int64 `protobuf:"zigzag64,4,opt,name=count_by_subaccount,json=countBySubaccount,proto3" json:"count_by_subaccount,omitempty"` + // array of tokens to navigate to the next pages + Next []string `protobuf:"bytes,5,rep,name=next,proto3" json:"next,omitempty"` +} + +func (x *Paging) Reset() { + *x = Paging{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Paging) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Paging) ProtoMessage() {} + +func (x *Paging) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Paging.ProtoReflect.Descriptor instead. +func (*Paging) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_trading_rpc_proto_rawDescGZIP(), []int{4} +} + +func (x *Paging) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *Paging) GetFrom() int32 { + if x != nil { + return x.From + } + return 0 +} + +func (x *Paging) GetTo() int32 { + if x != nil { + return x.To + } + return 0 +} + +func (x *Paging) GetCountBySubaccount() int64 { + if x != nil { + return x.CountBySubaccount + } + return 0 +} + +func (x *Paging) GetNext() []string { + if x != nil { + return x.Next + } + return nil +} + +var File_goadesign_goagen_injective_trading_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_trading_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2c, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, + 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, + 0x67, 0x5f, 0x72, 0x70, 0x63, 0x22, 0xf6, 0x02, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x27, + 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x61, + 0x74, 0x65, 0x67, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0c, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x9e, + 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x46, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, + 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0a, 0x73, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, + 0xd9, 0x0a, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, + 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x62, 0x61, 0x73, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x25, 0x0a, + 0x0e, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x51, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x62, 0x6f, + 0x75, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x77, 0x65, 0x72, + 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x62, + 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x70, 0x65, + 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x6c, + 0x6f, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x4c, + 0x6f, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, + 0x69, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x72, + 0x6f, 0x66, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x66, 0x65, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x77, 0x61, 0x70, 0x46, 0x65, 0x65, 0x12, + 0x21, 0x0a, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x44, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x71, 0x75, 0x6f, 0x74, 0x65, + 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x5f, 0x6d, 0x69, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x64, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x3e, 0x0a, 0x1b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x73, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, + 0x31, 0x0a, 0x15, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x67, 0x72, 0x69, + 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x47, 0x72, 0x69, 0x64, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x73, 0x12, 0x3c, 0x0a, 0x1b, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x65, 0x78, 0x69, + 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, + 0x79, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x45, + 0x78, 0x69, 0x74, 0x57, 0x69, 0x74, 0x68, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, + 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, + 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x65, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, + 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x48, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, + 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0d, 0x72, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x12, + 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, 0x12, 0x52, + 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, + 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, + 0x78, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4b, 0x0a, 0x10, 0x73, 0x74, 0x6f, 0x70, 0x5f, + 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1c, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, + 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x69, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x73, 0x74, 0x6f, 0x70, 0x4c, 0x6f, 0x73, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x12, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x70, 0x72, 0x6f, + 0x66, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, + 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x10, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, + 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x1f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x48, 0x0a, 0x0a, 0x45, + 0x78, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, + 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, + 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x69, 0x74, + 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, + 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x32, 0x9a, + 0x01, 0x0a, 0x13, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x50, 0x43, 0x12, 0x82, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, + 0x12, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, + 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x1a, 0x5a, 0x18, 0x2f, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, + 0x67, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_goadesign_goagen_injective_trading_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_trading_rpc_proto_rawDescData = file_goadesign_goagen_injective_trading_rpc_proto_rawDesc +) + +func file_goadesign_goagen_injective_trading_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_trading_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_trading_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_trading_rpc_proto_rawDescData) + }) + return file_goadesign_goagen_injective_trading_rpc_proto_rawDescData +} + +var file_goadesign_goagen_injective_trading_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_goadesign_goagen_injective_trading_rpc_proto_goTypes = []interface{}{ + (*ListTradingStrategiesRequest)(nil), // 0: injective_trading_rpc.ListTradingStrategiesRequest + (*ListTradingStrategiesResponse)(nil), // 1: injective_trading_rpc.ListTradingStrategiesResponse + (*TradingStrategy)(nil), // 2: injective_trading_rpc.TradingStrategy + (*ExitConfig)(nil), // 3: injective_trading_rpc.ExitConfig + (*Paging)(nil), // 4: injective_trading_rpc.Paging +} +var file_goadesign_goagen_injective_trading_rpc_proto_depIdxs = []int32{ + 2, // 0: injective_trading_rpc.ListTradingStrategiesResponse.strategies:type_name -> injective_trading_rpc.TradingStrategy + 4, // 1: injective_trading_rpc.ListTradingStrategiesResponse.paging:type_name -> injective_trading_rpc.Paging + 3, // 2: injective_trading_rpc.TradingStrategy.stop_loss_config:type_name -> injective_trading_rpc.ExitConfig + 3, // 3: injective_trading_rpc.TradingStrategy.take_profit_config:type_name -> injective_trading_rpc.ExitConfig + 0, // 4: injective_trading_rpc.InjectiveTradingRPC.ListTradingStrategies:input_type -> injective_trading_rpc.ListTradingStrategiesRequest + 1, // 5: injective_trading_rpc.InjectiveTradingRPC.ListTradingStrategies:output_type -> injective_trading_rpc.ListTradingStrategiesResponse + 5, // [5:6] is the sub-list for method output_type + 4, // [4:5] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_goadesign_goagen_injective_trading_rpc_proto_init() } +func file_goadesign_goagen_injective_trading_rpc_proto_init() { + if File_goadesign_goagen_injective_trading_rpc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTradingStrategiesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTradingStrategiesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TradingStrategy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExitConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Paging); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_goadesign_goagen_injective_trading_rpc_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_goadesign_goagen_injective_trading_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_trading_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_trading_rpc_proto_msgTypes, + }.Build() + File_goadesign_goagen_injective_trading_rpc_proto = out.File + file_goadesign_goagen_injective_trading_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_trading_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_trading_rpc_proto_depIdxs = nil +} diff --git a/exchange/trading_rpc/pb/injective_trading_rpc.proto b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.proto similarity index 81% rename from exchange/trading_rpc/pb/injective_trading_rpc.proto rename to exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.proto index 342f673f..18b00922 100644 --- a/exchange/trading_rpc/pb/injective_trading_rpc.proto +++ b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveTradingRPC protocol buffer definition // @@ -36,6 +36,10 @@ message ListTradingStrategiesRequest { sint64 end_time = 7; sint32 limit = 8; uint64 skip = 9; + // Filter by strategy type + repeated string strategy_type = 10; + // Filter by market type + string market_type = 11; } message ListTradingStrategiesResponse { @@ -96,6 +100,28 @@ message TradingStrategy { sint64 created_at = 15; // UpdatedAt timestamp in UNIX millis. sint64 updated_at = 16; + // Indicate how bot will convert funds (into base or quote or keep as is) after +// strategy ended + string exit_type = 27; + // Exit config for stop loss + ExitConfig stop_loss_config = 28; + // Exit config for take profit + ExitConfig take_profit_config = 29; + // Strategy type: arithmetic, geometric... + string strategy_type = 30; + // Version of the contract + string contract_version = 31; + // Name of the contract + string contract_name = 32; + // Type of the market + string market_type = 33; +} + +message ExitConfig { + // strategy exit type (stopLoss/takeProfit) + string exit_type = 1; + // strategy stopLoss/takeProfit price + string exit_price = 2; } // Paging defines the structure for required params for handling pagination message Paging { diff --git a/exchange/trading_rpc/pb/injective_trading_rpc_grpc.pb.go b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc_grpc.pb.go similarity index 95% rename from exchange/trading_rpc/pb/injective_trading_rpc_grpc.pb.go rename to exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc_grpc.pb.go index ec0497c6..ec918fd5 100644 --- a/exchange/trading_rpc/pb/injective_trading_rpc_grpc.pb.go +++ b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_trading_rpc.proto package injective_trading_rpcpb @@ -99,5 +103,5 @@ var InjectiveTradingRPC_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "injective_trading_rpc.proto", + Metadata: "goadesign_goagen_injective_trading_rpc.proto", } diff --git a/exchange/trading_rpc/pb/injective_trading_rpc.pb.go b/exchange/trading_rpc/pb/injective_trading_rpc.pb.go deleted file mode 100644 index bc203873..00000000 --- a/exchange/trading_rpc/pb/injective_trading_rpc.pb.go +++ /dev/null @@ -1,789 +0,0 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. -// -// InjectiveTradingRPC protocol buffer definition -// -// Command: -// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_trading_rpc.proto - -package injective_trading_rpcpb - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type ListTradingStrategiesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` - // MarketId of the trading strategy - MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - // subaccount ID to filter by - SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // Account address - AccountAddress string `protobuf:"bytes,4,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` - // Indicates whether the trading strategy is pending execution - PendingExecution bool `protobuf:"varint,5,opt,name=pending_execution,json=pendingExecution,proto3" json:"pending_execution,omitempty"` - // The starting timestamp in UNIX milliseconds for the creation time of the - // trading strategy - StartTime int64 `protobuf:"zigzag64,6,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` - // The ending timestamp in UNIX milliseconds for the creation time of the - // trading strategy - EndTime int64 `protobuf:"zigzag64,7,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` - Limit int32 `protobuf:"zigzag32,8,opt,name=limit,proto3" json:"limit,omitempty"` - Skip uint64 `protobuf:"varint,9,opt,name=skip,proto3" json:"skip,omitempty"` -} - -func (x *ListTradingStrategiesRequest) Reset() { - *x = ListTradingStrategiesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_trading_rpc_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListTradingStrategiesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListTradingStrategiesRequest) ProtoMessage() {} - -func (x *ListTradingStrategiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_trading_rpc_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListTradingStrategiesRequest.ProtoReflect.Descriptor instead. -func (*ListTradingStrategiesRequest) Descriptor() ([]byte, []int) { - return file_injective_trading_rpc_proto_rawDescGZIP(), []int{0} -} - -func (x *ListTradingStrategiesRequest) GetState() string { - if x != nil { - return x.State - } - return "" -} - -func (x *ListTradingStrategiesRequest) GetMarketId() string { - if x != nil { - return x.MarketId - } - return "" -} - -func (x *ListTradingStrategiesRequest) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *ListTradingStrategiesRequest) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -func (x *ListTradingStrategiesRequest) GetPendingExecution() bool { - if x != nil { - return x.PendingExecution - } - return false -} - -func (x *ListTradingStrategiesRequest) GetStartTime() int64 { - if x != nil { - return x.StartTime - } - return 0 -} - -func (x *ListTradingStrategiesRequest) GetEndTime() int64 { - if x != nil { - return x.EndTime - } - return 0 -} - -func (x *ListTradingStrategiesRequest) GetLimit() int32 { - if x != nil { - return x.Limit - } - return 0 -} - -func (x *ListTradingStrategiesRequest) GetSkip() uint64 { - if x != nil { - return x.Skip - } - return 0 -} - -type ListTradingStrategiesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The trading strategies - Strategies []*TradingStrategy `protobuf:"bytes,1,rep,name=strategies,proto3" json:"strategies,omitempty"` - Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` -} - -func (x *ListTradingStrategiesResponse) Reset() { - *x = ListTradingStrategiesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_trading_rpc_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListTradingStrategiesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListTradingStrategiesResponse) ProtoMessage() {} - -func (x *ListTradingStrategiesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_trading_rpc_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListTradingStrategiesResponse.ProtoReflect.Descriptor instead. -func (*ListTradingStrategiesResponse) Descriptor() ([]byte, []int) { - return file_injective_trading_rpc_proto_rawDescGZIP(), []int{1} -} - -func (x *ListTradingStrategiesResponse) GetStrategies() []*TradingStrategy { - if x != nil { - return x.Strategies - } - return nil -} - -func (x *ListTradingStrategiesResponse) GetPaging() *Paging { - if x != nil { - return x.Paging - } - return nil -} - -type TradingStrategy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` - // MarketId of the trading strategy - MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - // subaccount ID of the trading strategy - SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // Account address - AccountAddress string `protobuf:"bytes,4,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` - // Contract address - ContractAddress string `protobuf:"bytes,5,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"` - // Execution price of the trading strategy - ExecutionPrice string `protobuf:"bytes,6,opt,name=execution_price,json=executionPrice,proto3" json:"execution_price,omitempty"` - // Base quantity of the trading strategy - BaseQuantity string `protobuf:"bytes,7,opt,name=base_quantity,json=baseQuantity,proto3" json:"base_quantity,omitempty"` - // Quote quantity of the trading strategy - QuoteQuantity string `protobuf:"bytes,20,opt,name=quote_quantity,json=quoteQuantity,proto3" json:"quote_quantity,omitempty"` - // Lower bound of the trading strategy - LowerBound string `protobuf:"bytes,8,opt,name=lower_bound,json=lowerBound,proto3" json:"lower_bound,omitempty"` - // Upper bound of the trading strategy - UpperBound string `protobuf:"bytes,9,opt,name=upper_bound,json=upperBound,proto3" json:"upper_bound,omitempty"` - // Stop loss limit of the trading strategy - StopLoss string `protobuf:"bytes,10,opt,name=stop_loss,json=stopLoss,proto3" json:"stop_loss,omitempty"` - // Take profit limit of the trading strategy - TakeProfit string `protobuf:"bytes,11,opt,name=take_profit,json=takeProfit,proto3" json:"take_profit,omitempty"` - // Swap fee of the trading strategy - SwapFee string `protobuf:"bytes,12,opt,name=swap_fee,json=swapFee,proto3" json:"swap_fee,omitempty"` - // Base deposit at the time of closing the trading strategy - BaseDeposit string `protobuf:"bytes,17,opt,name=base_deposit,json=baseDeposit,proto3" json:"base_deposit,omitempty"` - // Quote deposit at the time of closing the trading strategy - QuoteDeposit string `protobuf:"bytes,18,opt,name=quote_deposit,json=quoteDeposit,proto3" json:"quote_deposit,omitempty"` - // Market mid price at the time of closing the trading strategy - MarketMidPrice string `protobuf:"bytes,19,opt,name=market_mid_price,json=marketMidPrice,proto3" json:"market_mid_price,omitempty"` - // Subscription quote quantity of the trading strategy - SubscriptionQuoteQuantity string `protobuf:"bytes,21,opt,name=subscription_quote_quantity,json=subscriptionQuoteQuantity,proto3" json:"subscription_quote_quantity,omitempty"` - // Subscription base quantity of the trading strategy - SubscriptionBaseQuantity string `protobuf:"bytes,22,opt,name=subscription_base_quantity,json=subscriptionBaseQuantity,proto3" json:"subscription_base_quantity,omitempty"` - // Number of grid levels of the trading strategy - NumberOfGridLevels string `protobuf:"bytes,23,opt,name=number_of_grid_levels,json=numberOfGridLevels,proto3" json:"number_of_grid_levels,omitempty"` - // Indicates whether the trading strategy should exit with quote only - ShouldExitWithQuoteOnly bool `protobuf:"varint,24,opt,name=should_exit_with_quote_only,json=shouldExitWithQuoteOnly,proto3" json:"should_exit_with_quote_only,omitempty"` - // Indicates the reason for stopping the trading strategy - StopReason string `protobuf:"bytes,25,opt,name=stop_reason,json=stopReason,proto3" json:"stop_reason,omitempty"` - // Indicates whether the trading strategy is pending execution - PendingExecution bool `protobuf:"varint,26,opt,name=pending_execution,json=pendingExecution,proto3" json:"pending_execution,omitempty"` - // Block height when the strategy was created. - CreatedHeight int64 `protobuf:"zigzag64,13,opt,name=created_height,json=createdHeight,proto3" json:"created_height,omitempty"` - // Block height when the strategy was removed. - RemovedHeight int64 `protobuf:"zigzag64,14,opt,name=removed_height,json=removedHeight,proto3" json:"removed_height,omitempty"` - // UpdatedAt timestamp in UNIX millis. - CreatedAt int64 `protobuf:"zigzag64,15,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - // UpdatedAt timestamp in UNIX millis. - UpdatedAt int64 `protobuf:"zigzag64,16,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` -} - -func (x *TradingStrategy) Reset() { - *x = TradingStrategy{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_trading_rpc_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TradingStrategy) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TradingStrategy) ProtoMessage() {} - -func (x *TradingStrategy) ProtoReflect() protoreflect.Message { - mi := &file_injective_trading_rpc_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TradingStrategy.ProtoReflect.Descriptor instead. -func (*TradingStrategy) Descriptor() ([]byte, []int) { - return file_injective_trading_rpc_proto_rawDescGZIP(), []int{2} -} - -func (x *TradingStrategy) GetState() string { - if x != nil { - return x.State - } - return "" -} - -func (x *TradingStrategy) GetMarketId() string { - if x != nil { - return x.MarketId - } - return "" -} - -func (x *TradingStrategy) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *TradingStrategy) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -func (x *TradingStrategy) GetContractAddress() string { - if x != nil { - return x.ContractAddress - } - return "" -} - -func (x *TradingStrategy) GetExecutionPrice() string { - if x != nil { - return x.ExecutionPrice - } - return "" -} - -func (x *TradingStrategy) GetBaseQuantity() string { - if x != nil { - return x.BaseQuantity - } - return "" -} - -func (x *TradingStrategy) GetQuoteQuantity() string { - if x != nil { - return x.QuoteQuantity - } - return "" -} - -func (x *TradingStrategy) GetLowerBound() string { - if x != nil { - return x.LowerBound - } - return "" -} - -func (x *TradingStrategy) GetUpperBound() string { - if x != nil { - return x.UpperBound - } - return "" -} - -func (x *TradingStrategy) GetStopLoss() string { - if x != nil { - return x.StopLoss - } - return "" -} - -func (x *TradingStrategy) GetTakeProfit() string { - if x != nil { - return x.TakeProfit - } - return "" -} - -func (x *TradingStrategy) GetSwapFee() string { - if x != nil { - return x.SwapFee - } - return "" -} - -func (x *TradingStrategy) GetBaseDeposit() string { - if x != nil { - return x.BaseDeposit - } - return "" -} - -func (x *TradingStrategy) GetQuoteDeposit() string { - if x != nil { - return x.QuoteDeposit - } - return "" -} - -func (x *TradingStrategy) GetMarketMidPrice() string { - if x != nil { - return x.MarketMidPrice - } - return "" -} - -func (x *TradingStrategy) GetSubscriptionQuoteQuantity() string { - if x != nil { - return x.SubscriptionQuoteQuantity - } - return "" -} - -func (x *TradingStrategy) GetSubscriptionBaseQuantity() string { - if x != nil { - return x.SubscriptionBaseQuantity - } - return "" -} - -func (x *TradingStrategy) GetNumberOfGridLevels() string { - if x != nil { - return x.NumberOfGridLevels - } - return "" -} - -func (x *TradingStrategy) GetShouldExitWithQuoteOnly() bool { - if x != nil { - return x.ShouldExitWithQuoteOnly - } - return false -} - -func (x *TradingStrategy) GetStopReason() string { - if x != nil { - return x.StopReason - } - return "" -} - -func (x *TradingStrategy) GetPendingExecution() bool { - if x != nil { - return x.PendingExecution - } - return false -} - -func (x *TradingStrategy) GetCreatedHeight() int64 { - if x != nil { - return x.CreatedHeight - } - return 0 -} - -func (x *TradingStrategy) GetRemovedHeight() int64 { - if x != nil { - return x.RemovedHeight - } - return 0 -} - -func (x *TradingStrategy) GetCreatedAt() int64 { - if x != nil { - return x.CreatedAt - } - return 0 -} - -func (x *TradingStrategy) GetUpdatedAt() int64 { - if x != nil { - return x.UpdatedAt - } - return 0 -} - -// Paging defines the structure for required params for handling pagination -type Paging struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // total number of txs saved in database - Total int64 `protobuf:"zigzag64,1,opt,name=total,proto3" json:"total,omitempty"` - // can be either block height or index num - From int32 `protobuf:"zigzag32,2,opt,name=from,proto3" json:"from,omitempty"` - // can be either block height or index num - To int32 `protobuf:"zigzag32,3,opt,name=to,proto3" json:"to,omitempty"` - // count entries by subaccount, serving some places on helix - CountBySubaccount int64 `protobuf:"zigzag64,4,opt,name=count_by_subaccount,json=countBySubaccount,proto3" json:"count_by_subaccount,omitempty"` - // array of tokens to navigate to the next pages - Next []string `protobuf:"bytes,5,rep,name=next,proto3" json:"next,omitempty"` -} - -func (x *Paging) Reset() { - *x = Paging{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_trading_rpc_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Paging) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Paging) ProtoMessage() {} - -func (x *Paging) ProtoReflect() protoreflect.Message { - mi := &file_injective_trading_rpc_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Paging.ProtoReflect.Descriptor instead. -func (*Paging) Descriptor() ([]byte, []int) { - return file_injective_trading_rpc_proto_rawDescGZIP(), []int{3} -} - -func (x *Paging) GetTotal() int64 { - if x != nil { - return x.Total - } - return 0 -} - -func (x *Paging) GetFrom() int32 { - if x != nil { - return x.From - } - return 0 -} - -func (x *Paging) GetTo() int32 { - if x != nil { - return x.To - } - return 0 -} - -func (x *Paging) GetCountBySubaccount() int64 { - if x != nil { - return x.CountBySubaccount - } - return 0 -} - -func (x *Paging) GetNext() []string { - if x != nil { - return x.Next - } - return nil -} - -var File_injective_trading_rpc_proto protoreflect.FileDescriptor - -var file_injective_trading_rpc_proto_rawDesc = []byte{ - 0x0a, 0x1b, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, - 0x5f, 0x72, 0x70, 0x63, 0x22, 0xb0, 0x02, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, - 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, - 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x22, 0x9e, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, - 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0a, 0x73, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, - 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, - 0x73, 0x12, 0x35, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, - 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, - 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0x88, 0x08, 0x0a, 0x0f, 0x54, 0x72, 0x61, - 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, - 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, - 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x51, 0x75, - 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x71, 0x75, 0x6f, 0x74, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, - 0x0b, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1f, - 0x0a, 0x0b, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x70, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, - 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x4c, 0x6f, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, - 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x12, 0x19, 0x0a, - 0x08, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x73, 0x77, 0x61, 0x70, 0x46, 0x65, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x61, 0x73, 0x65, - 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x62, 0x61, 0x73, 0x65, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x71, - 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x64, 0x5f, 0x70, - 0x72, 0x69, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x4d, 0x69, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x3e, 0x0a, 0x1b, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, - 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x19, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x6f, - 0x74, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x73, 0x65, - 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x31, 0x0a, 0x15, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, - 0x66, 0x47, 0x72, 0x69, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x12, 0x3c, 0x0a, 0x1b, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, - 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x17, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x45, 0x78, 0x69, 0x74, 0x57, 0x69, 0x74, 0x68, - 0x51, 0x75, 0x6f, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x6f, - 0x70, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x73, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x25, - 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x48, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x12, 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, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x32, 0x9a, 0x01, 0x0a, - 0x13, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, - 0x67, 0x52, 0x50, 0x43, 0x12, 0x82, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, - 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x12, 0x33, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x69, - 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x64, 0x69, - 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x1a, 0x5a, 0x18, 0x2f, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_injective_trading_rpc_proto_rawDescOnce sync.Once - file_injective_trading_rpc_proto_rawDescData = file_injective_trading_rpc_proto_rawDesc -) - -func file_injective_trading_rpc_proto_rawDescGZIP() []byte { - file_injective_trading_rpc_proto_rawDescOnce.Do(func() { - file_injective_trading_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_trading_rpc_proto_rawDescData) - }) - return file_injective_trading_rpc_proto_rawDescData -} - -var file_injective_trading_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 4) -var file_injective_trading_rpc_proto_goTypes = []interface{}{ - (*ListTradingStrategiesRequest)(nil), // 0: injective_trading_rpc.ListTradingStrategiesRequest - (*ListTradingStrategiesResponse)(nil), // 1: injective_trading_rpc.ListTradingStrategiesResponse - (*TradingStrategy)(nil), // 2: injective_trading_rpc.TradingStrategy - (*Paging)(nil), // 3: injective_trading_rpc.Paging -} -var file_injective_trading_rpc_proto_depIdxs = []int32{ - 2, // 0: injective_trading_rpc.ListTradingStrategiesResponse.strategies:type_name -> injective_trading_rpc.TradingStrategy - 3, // 1: injective_trading_rpc.ListTradingStrategiesResponse.paging:type_name -> injective_trading_rpc.Paging - 0, // 2: injective_trading_rpc.InjectiveTradingRPC.ListTradingStrategies:input_type -> injective_trading_rpc.ListTradingStrategiesRequest - 1, // 3: injective_trading_rpc.InjectiveTradingRPC.ListTradingStrategies:output_type -> injective_trading_rpc.ListTradingStrategiesResponse - 3, // [3:4] is the sub-list for method output_type - 2, // [2:3] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name -} - -func init() { file_injective_trading_rpc_proto_init() } -func file_injective_trading_rpc_proto_init() { - if File_injective_trading_rpc_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_injective_trading_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListTradingStrategiesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_trading_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListTradingStrategiesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_trading_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TradingStrategy); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_trading_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Paging); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_trading_rpc_proto_rawDesc, - NumEnums: 0, - NumMessages: 4, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_injective_trading_rpc_proto_goTypes, - DependencyIndexes: file_injective_trading_rpc_proto_depIdxs, - MessageInfos: file_injective_trading_rpc_proto_msgTypes, - }.Build() - File_injective_trading_rpc_proto = out.File - file_injective_trading_rpc_proto_rawDesc = nil - file_injective_trading_rpc_proto_goTypes = nil - file_injective_trading_rpc_proto_depIdxs = nil -} diff --git a/exchange/trading_rpc/pb/injective_trading_rpc.pb.gw.go b/exchange/trading_rpc/pb/injective_trading_rpc.pb.gw.go index b9fd679e..6e6cf424 100644 --- a/exchange/trading_rpc/pb/injective_trading_rpc.pb.gw.go +++ b/exchange/trading_rpc/pb/injective_trading_rpc.pb.gw.go @@ -77,20 +77,22 @@ func RegisterInjectiveTradingRPCHandlerServer(ctx context.Context, mux *runtime. var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_trading_rpc.InjectiveTradingRPC/ListTradingStrategies", runtime.WithHTTPPathPattern("/injective_trading_rpc.InjectiveTradingRPC/ListTradingStrategies")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_trading_rpc.InjectiveTradingRPC/ListTradingStrategies", runtime.WithHTTPPathPattern("/injective_trading_rpc.InjectiveTradingRPC/ListTradingStrategies")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveTradingRPC_ListTradingStrategies_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveTradingRPC_ListTradingStrategies_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveTradingRPC_ListTradingStrategies_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveTradingRPC_ListTradingStrategies_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -139,19 +141,21 @@ func RegisterInjectiveTradingRPCHandlerClient(ctx context.Context, mux *runtime. ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_trading_rpc.InjectiveTradingRPC/ListTradingStrategies", runtime.WithHTTPPathPattern("/injective_trading_rpc.InjectiveTradingRPC/ListTradingStrategies")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_trading_rpc.InjectiveTradingRPC/ListTradingStrategies", runtime.WithHTTPPathPattern("/injective_trading_rpc.InjectiveTradingRPC/ListTradingStrategies")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveTradingRPC_ListTradingStrategies_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveTradingRPC_ListTradingStrategies_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveTradingRPC_ListTradingStrategies_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveTradingRPC_ListTradingStrategies_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/exchange/trading_rpc/pb/injective_trading_rpc_grpc.pb_mock.go b/exchange/trading_rpc/pb/injective_trading_rpc_grpc.pb_mock.go index abfadfa6..17ef5dbc 100644 --- a/exchange/trading_rpc/pb/injective_trading_rpc_grpc.pb_mock.go +++ b/exchange/trading_rpc/pb/injective_trading_rpc_grpc.pb_mock.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: api/gen/grpc/injective_trading_rpc/pb/injective_trading_rpc_grpc.pb.go +// Source: api/gen/grpc/injective_trading_rpc/pb/goadesign_goagen_injective_trading_rpc_grpc.pb.go // Package injective_trading_rpcpb is a generated GoMock package. package injective_trading_rpcpb diff --git a/go.mod b/go.mod index 79c9c338..d5171206 100644 --- a/go.mod +++ b/go.mod @@ -1,51 +1,59 @@ module github.com/InjectiveLabs/sdk-go -go 1.19 +go 1.21 require ( - cosmossdk.io/errors v1.0.0 - cosmossdk.io/math v1.1.2 + cosmossdk.io/errors v1.0.1 + cosmossdk.io/math v1.3.0 + cosmossdk.io/store v1.1.0 + cosmossdk.io/x/evidence v0.1.0 + cosmossdk.io/x/feegrant v0.1.0 + cosmossdk.io/x/upgrade v0.1.1 github.com/CosmWasm/wasmd v0.40.2 github.com/InjectiveLabs/suplog v1.3.3 github.com/bandprotocol/bandchain-packet v0.0.4 github.com/btcsuite/btcd v0.23.4 github.com/btcsuite/btcd/btcutil v1.1.3 - github.com/cometbft/cometbft v0.37.2 - github.com/cosmos/cosmos-proto v1.0.0-beta.3 - github.com/cosmos/cosmos-sdk v0.47.5 - github.com/cosmos/gogoproto v1.4.10 - github.com/cosmos/ibc-go/v7 v7.3.0 + github.com/cometbft/cometbft v0.38.7 + github.com/cosmos/cosmos-proto v1.0.0-beta.5 + github.com/cosmos/cosmos-sdk v0.50.6 + github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/ibc-go/modules/capability v1.0.0 + github.com/cosmos/ibc-go/v8 v8.2.0 github.com/ethereum/go-ethereum v1.11.5 github.com/golang/mock v1.6.0 - github.com/golang/protobuf v1.5.3 - github.com/google/uuid v1.4.0 + github.com/golang/protobuf v1.5.4 + github.com/google/uuid v1.6.0 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 github.com/huandu/go-assert v1.1.5 github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/shopspring/decimal v1.2.0 - github.com/stretchr/testify v1.8.4 + github.com/stretchr/testify v1.9.0 github.com/tyler-smith/go-bip39 v1.1.0 - golang.org/x/crypto v0.11.0 - google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529 - google.golang.org/grpc v1.56.2 - google.golang.org/protobuf v1.31.0 + golang.org/x/crypto v0.22.0 + google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de + google.golang.org/grpc v1.63.2 + google.golang.org/protobuf v1.33.0 gopkg.in/ini.v1 v1.67.0 gopkg.in/yaml.v2 v2.4.0 ) require ( - cosmossdk.io/api v0.3.1 // indirect - cosmossdk.io/core v0.6.1 // indirect + cosmossdk.io/api v0.7.4 // indirect + cosmossdk.io/collections v0.4.0 // indirect + cosmossdk.io/core v0.11.0 // indirect cosmossdk.io/depinject v1.0.0-alpha.4 // indirect + cosmossdk.io/log v1.3.1 // indirect + cosmossdk.io/x/tx v0.13.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.2 // indirect - github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect - github.com/CosmWasm/wasmvm v1.5.0 // indirect + github.com/CosmWasm/wasmvm/v2 v2.0.0 // indirect + github.com/DataDog/datadog-go v3.2.0+incompatible // indirect + github.com/DataDog/zstd v1.5.5 // indirect github.com/StackExchange/wmi v1.2.1 // indirect - github.com/armon/go-metrics v0.4.1 // indirect - github.com/aws/aws-sdk-go v1.44.203 // indirect + github.com/aws/aws-sdk-go v1.44.327 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect github.com/bitly/go-simplejson v0.5.1 // indirect @@ -53,122 +61,155 @@ require ( 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/cenkalti/backoff/v4 v4.1.3 // indirect github.com/cespare/cp v1.1.1 // indirect github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/chzyer/readline v1.5.1 // indirect - github.com/cockroachdb/errors v1.10.0 // indirect + github.com/cockroachdb/errors v1.11.1 // indirect github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect + github.com/cockroachdb/pebble v1.1.0 // indirect github.com/cockroachdb/redact v1.1.5 // indirect - github.com/cometbft/cometbft-db v0.8.0 // indirect - github.com/confio/ics23/go v0.9.0 // indirect + github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect + github.com/cometbft/cometbft-db v0.9.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect + github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect - github.com/cosmos/iavl v0.20.1 // indirect + github.com/cosmos/gogogateway v1.2.0 // indirect + github.com/cosmos/iavl v1.1.2 // indirect github.com/cosmos/ics23/go v0.10.0 // indirect - github.com/cosmos/ledger-cosmos-go v0.12.2 // indirect + github.com/cosmos/ledger-cosmos-go v0.13.3 // indirect github.com/danieljoos/wincred v1.1.2 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/deckarep/golang-set/v2 v2.1.0 // indirect - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect + github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect github.com/dgraph-io/badger/v2 v2.2007.4 // 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.2+incompatible // indirect + github.com/distribution/reference v0.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect - github.com/dvsekhvalnov/jose2go v1.5.0 // indirect - github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/dvsekhvalnov/jose2go v1.6.0 // indirect + github.com/emicklei/dot v1.6.1 // indirect + github.com/fatih/color v1.15.0 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/gballet/go-libpcsclite v0.0.0-20191108122812-4678299bea08 // indirect - github.com/getsentry/sentry-go v0.23.0 // indirect + github.com/getsentry/sentry-go v0.27.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.6.0 // indirect github.com/go-ole/go-ole v1.2.6 // indirect github.com/go-stack/stack v1.8.1 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect - github.com/gofrs/uuid v4.3.0+incompatible // indirect + github.com/gofrs/uuid v4.4.0+incompatible // indirect + github.com/gogo/googleapis v1.4.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/glog v1.1.0 // indirect + github.com/golang/glog v1.2.0 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/btree v1.1.2 // indirect - github.com/google/go-cmp v0.5.9 // indirect + github.com/google/go-cmp v0.6.0 // indirect + github.com/gorilla/handlers v1.5.2 // indirect + github.com/gorilla/mux v1.8.1 // indirect github.com/gorilla/websocket v1.5.0 // indirect - github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect + github.com/grpc-ecosystem/go-grpc-middleware v1.4.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-hclog v1.5.0 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect - github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect - github.com/hashicorp/hcl v1.0.0 // indirect + github.com/hashicorp/go-metrics v0.5.3 // indirect + github.com/hashicorp/go-plugin v1.5.2 // indirect + github.com/hashicorp/golang-lru v1.0.2 // indirect + github.com/hashicorp/hcl v1.0.1-vault-5 // indirect + github.com/hashicorp/yamux v0.1.1 // indirect github.com/hdevalence/ed25519consensus v0.1.0 // indirect github.com/holiman/uint256 v1.2.2 // indirect github.com/huandu/skiplist v1.2.0 // indirect + github.com/iancoleman/strcase v0.3.0 // indirect + github.com/improbable-eng/grpc-web v0.15.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/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 // indirect - github.com/klauspost/compress v1.16.3 // indirect + github.com/klauspost/compress v1.17.7 // 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/linxGnu/grocksdb v1.7.16 // indirect + github.com/linxGnu/grocksdb v1.8.14 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect - github.com/mattn/go-isatty v0.0.19 // indirect - github.com/mattn/go-runewidth v0.0.9 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect - github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-runewidth v0.0.15 // indirect + github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mtibben/percent v0.2.1 // indirect + github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a // indirect + github.com/oklog/run v1.1.0 // indirect github.com/oklog/ulid v1.3.1 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/pelletier/go-toml/v2 v2.0.8 // indirect - github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.16.0 // indirect - github.com/prometheus/client_model v0.3.0 // indirect - github.com/prometheus/common v0.42.0 // indirect - github.com/prometheus/procfs v0.10.1 // indirect + github.com/pelletier/go-toml/v2 v2.1.0 // indirect + github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67 // indirect + github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect + github.com/prometheus/client_golang v1.19.0 // indirect + github.com/prometheus/client_model v0.6.1 // indirect + github.com/prometheus/common v0.52.2 // indirect + github.com/prometheus/procfs v0.13.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect - github.com/rogpeppe/go-internal v1.11.0 // indirect + github.com/rivo/uniseg v0.4.4 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + github.com/rs/cors v1.8.3 // indirect + github.com/rs/zerolog v1.32.0 // indirect + github.com/sagikazarmark/locafero v0.4.0 // indirect + github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/sasha-s/go-deadlock v0.3.1 // 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.5 // indirect - github.com/spf13/cast v1.5.1 // indirect - github.com/spf13/cobra v1.7.0 // indirect - github.com/spf13/jwalterweatherman v1.1.0 // indirect + github.com/sourcegraph/conc v0.3.0 // indirect + github.com/spf13/afero v1.11.0 // indirect + github.com/spf13/cast v1.6.0 // indirect + github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.16.0 // indirect - github.com/subosito/gotenv v1.4.2 // indirect + github.com/spf13/viper v1.18.2 // indirect + github.com/subosito/gotenv v1.6.0 // indirect github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect github.com/tendermint/go-amino v0.16.0 // indirect - github.com/tidwall/btree v1.6.0 // indirect + github.com/tidwall/btree v1.7.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-20230711153332-06a737ee72cb // indirect - golang.org/x/net v0.12.0 // indirect - golang.org/x/sys v0.11.0 // indirect - golang.org/x/term v0.10.0 // indirect - golang.org/x/text v0.12.0 // indirect - google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect + github.com/zondax/hid v0.9.2 // indirect + github.com/zondax/ledger-go v0.14.3 // indirect + go.etcd.io/bbolt v1.3.8 // indirect + go.uber.org/multierr v1.11.0 // indirect + golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0 // indirect + golang.org/x/net v0.24.0 // indirect + golang.org/x/sync v0.7.0 // indirect + golang.org/x/sys v0.19.0 // indirect + golang.org/x/term v0.19.0 // indirect + golang.org/x/text v0.14.0 // indirect + google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda // 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 + gotest.tools/v3 v3.5.1 // indirect + nhooyr.io/websocket v1.8.6 // indirect + pgregory.net/rapid v1.1.0 // indirect + sigs.k8s.io/yaml v1.4.0 // indirect ) replace ( - cosmossdk.io/math => github.com/InjectiveLabs/cosmos-sdk/math v0.47.3-inj-1 - github.com/CosmWasm/wasmd => github.com/InjectiveLabs/wasmd v0.45.0-inj + cosmossdk.io/store => github.com/InjectiveLabs/cosmos-sdk/store v1.1.1-0.20240522173845-46ef88f66790 + cosmossdk.io/x/evidence => github.com/InjectiveLabs/cosmos-sdk/x/evidence v0.1.1-0.20240522173845-46ef88f66790 + cosmossdk.io/x/feegrant => github.com/InjectiveLabs/cosmos-sdk/x/feegrant v0.1.1-0.20240522173845-46ef88f66790 + cosmossdk.io/x/upgrade => github.com/InjectiveLabs/cosmos-sdk/x/upgrade v0.1.2-0.20240522173845-46ef88f66790 + + github.com/CosmWasm/wasmd => github.com/InjectiveLabs/wasmd v0.51.1-0.20240517110802-c05574f2352f github.com/bandprotocol/bandchain-packet => github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1 - github.com/cometbft/cometbft => github.com/InjectiveLabs/cometbft v0.37.2-inj - github.com/cosmos/cosmos-sdk => github.com/InjectiveLabs/cosmos-sdk v0.47.3-inj-9 - github.com/cosmos/ibc-go/v7 => github.com/InjectiveLabs/ibc-go/v7 v7.2.0-inj + github.com/cometbft/cometbft => github.com/InjectiveLabs/cometbft v0.38.7-0.20240530121154-e6f77c2eab89 + + github.com/cosmos/cosmos-sdk => github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240530121542-f786214f432c + github.com/cosmos/ibc-apps/modules/ibc-hooks/v8 => github.com/InjectiveLabs/ibc-apps/modules/ibc-hooks/v8 v8.0.0-20240507173420-7acb85b883f5 + github.com/cosmos/ibc-go/v8 => github.com/InjectiveLabs/ibc-go/v8 v8.3.2-0.20240530084055-772bafc23563 + 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 47472ee8..7b202ed5 100644 --- a/go.sum +++ b/go.sum @@ -1,55 +1,35 @@ cloud.google.com/go v0.26.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.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk= -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= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -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/compute v1.20.1 h1:6aKEtlUiwEpJzM001l0yFkpXmUVXaN8W+fbkb2AZNbg= +cloud.google.com/go v0.112.0 h1:tpFCD7hpHFlQ8yPwT3x+QeXqc2T6+n6T+hmABHfDUSM= +cloud.google.com/go v0.112.0/go.mod h1:3jEEVwZ/MHU4djK5t5RHuKOA/GbLddgTdVubX1qnPD4= +cloud.google.com/go/compute v1.24.0 h1:phWcR2eWzRJaL/kOiJwfFsPs4BaKq1j6vnpZrc1YlVg= +cloud.google.com/go/compute v1.24.0/go.mod h1:kw1/T+h/+tK2LJK0wiPPx1intgdAM3j/g3hFDlscY40= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= -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/iam v1.1.0 h1:67gSqaPukx7O8WLLHMa0PNs3EBGd2eE4d+psbO/CO94= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -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/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= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.30.1 h1:uOdMxAs8HExqBlnLtnQyP0YkvbiDpdGShGKtx6U/oNM= -cosmossdk.io/api v0.3.1 h1:NNiOclKRR0AOlO4KIqeaG6PS6kswOMhHD0ir0SscNXE= -cosmossdk.io/api v0.3.1/go.mod h1:DfHfMkiNA2Uhy8fj0JJlOCYOBp4eWUUJ1te5zBGNyIw= -cosmossdk.io/core v0.6.1 h1:OBy7TI2W+/gyn2z40vVvruK3di+cAluinA6cybFbE7s= -cosmossdk.io/core v0.6.1/go.mod h1:g3MMBCBXtxbDWBURDVnJE7XML4BG5qENhs0gzkcpuFA= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/iam v1.1.6 h1:bEa06k05IO4f4uJonbB5iAgKTPpABy1ayxaIZV/GHVc= +cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI= +cloud.google.com/go/storage v1.36.0 h1:P0mOkAcaJxhCTvAkMhxMfrTKiNcub4YmmPBtlhAyTr8= +cloud.google.com/go/storage v1.36.0/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= +cosmossdk.io/api v0.7.4 h1:sPo8wKwCty1lht8kgL3J7YL1voJywP3YWuA5JKkBz30= +cosmossdk.io/api v0.7.4/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= +cosmossdk.io/client/v2 v2.0.0-beta.1 h1:XkHh1lhrLYIT9zKl7cIOXUXg2hdhtjTPBUfqERNA1/Q= +cosmossdk.io/client/v2 v2.0.0-beta.1/go.mod h1:JEUSu9moNZQ4kU3ir1DKD5eU4bllmAexrGWjmb9k8qU= +cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= +cosmossdk.io/collections v0.4.0/go.mod h1:oa5lUING2dP+gdDquow+QjlF45eL1t4TJDypgGd+tv0= +cosmossdk.io/core v0.11.0 h1:vtIafqUi+1ZNAE/oxLOQQ7Oek2n4S48SWLG8h/+wdbo= +cosmossdk.io/core v0.11.0/go.mod h1:LaTtayWBSoacF5xNzoF8tmLhehqlA9z1SWiPuNC6X1w= cosmossdk.io/depinject v1.0.0-alpha.4 h1:PLNp8ZYAMPTUKyG9IK2hsbciDWqna2z1Wsl98okJopc= cosmossdk.io/depinject v1.0.0-alpha.4/go.mod h1:HeDk7IkR5ckZ3lMGs/o91AVUc7E596vMaOmslGFM3yU= -cosmossdk.io/errors v1.0.0 h1:nxF07lmlBbB8NKQhtJ+sJm6ef5uV1XkvPXG2bUntb04= -cosmossdk.io/errors v1.0.0/go.mod h1:+hJZLuhdDE0pYN8HkOrVNwrIOYvUGnn6+4fjnJs/oV0= -cosmossdk.io/log v1.2.1 h1:Xc1GgTCicniwmMiKwDxUjO4eLhPxoVdI9vtMW8Ti/uk= -cosmossdk.io/tools/rosetta v0.2.1 h1:ddOMatOH+pbxWbrGJKRAawdBkPYLfKXutK9IETnjYxw= +cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= +cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U= +cosmossdk.io/log v1.3.1 h1:UZx8nWIkfbbNEWusZqzAx3ZGvu54TZacWib3EzUYmGI= +cosmossdk.io/log v1.3.1/go.mod h1:2/dIomt8mKdk6vl3OWJcPk2be3pGOS8OQaLUM/3/tCM= +cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE= +cosmossdk.io/math v1.3.0/go.mod h1:vnRTxewy+M7BtXBNFybkuhSH4WfedVAAnERHgVFhp3k= +cosmossdk.io/x/circuit v0.1.0 h1:IAej8aRYeuOMritczqTlljbUVHq1E85CpBqaCTwYgXs= +cosmossdk.io/x/circuit v0.1.0/go.mod h1:YDzblVE8+E+urPYQq5kq5foRY/IzhXovSYXb4nwd39w= +cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= +cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= @@ -59,53 +39,78 @@ github.com/99designs/keyring v1.2.2 h1:pZd3neh/EmUzWONb35LxQfvuY7kiSXAq3HQd97+XB github.com/99designs/keyring v1.2.2/go.mod h1:wes/FrByc8j7lFOAGLGSNEg8f/PaI3cgTBqhFkHUrPk= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= 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.5.0 h1:3hKeT9SfwfLhxTGKH3vXaKFzBz1yuvP8SlfwfQXbQfw= -github.com/CosmWasm/wasmvm v1.5.0/go.mod h1:fXB+m2gyh4v9839zlIXdMZGeLAxqUdYdFQqYsTha2hc= +github.com/CosmWasm/wasmvm/v2 v2.0.0 h1:IqNCI2G0mvs7K6ej17/I28805rVqnu+Y1cWDqIdwb08= +github.com/CosmWasm/wasmvm/v2 v2.0.0/go.mod h1:su9lg5qLr7adV95eOfzjZWkGiky8WNaNIHDr7Fpu7Ck= +github.com/DataDog/datadog-go v3.2.0+incompatible h1:qSG2N4FghB1He/r2mFrWKCaL7dXCilEuNEeAn20fdD4= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/DataDog/zstd v1.5.2 h1:vUG4lAyuPCXO0TLbXvPv7EB7cNK1QV/luu55UHLrrn8= +github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= +github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1 h1:ZnvCV/lzjWmBwuGbkAz+okucfJEyEzkU9GYK3tKU9cU= github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1/go.mod h1:QELTDYiwnbAqIgTF9zeKr+hVlK6eVyt6Nxmh6/1mmzQ= -github.com/InjectiveLabs/cometbft v0.37.2-inj h1:vKLatEKl3qzhvFAgyvywApTuq44K0XooJpDWWP0bSt0= -github.com/InjectiveLabs/cometbft v0.37.2-inj/go.mod h1:Y2MMMN//O5K4YKd8ze4r9jmk4Y7h0ajqILXbH5JQFVs= -github.com/InjectiveLabs/cosmos-sdk v0.47.3-inj-9 h1:/x20L4ZfYIhGu/wsmXb2nV6DF6t5QVNq7ecAFqAcrMU= -github.com/InjectiveLabs/cosmos-sdk v0.47.3-inj-9/go.mod h1:c4OfLdAykA9zsj1CqrxBRqXzVz48I++JSvIMPSPcEmk= -github.com/InjectiveLabs/cosmos-sdk/math v0.47.3-inj-1 h1:BHZQuZJXJctENiTfIBSH21HyR3a+Zx3Wd7RPz21spFI= -github.com/InjectiveLabs/cosmos-sdk/math v0.47.3-inj-1/go.mod h1:An0MllWJY6PxibUpnwGk8jOm+a/qIxlKmL5Zyp9NnaM= -github.com/InjectiveLabs/ibc-go/v7 v7.2.0-inj h1:CtzShjiD+mGQktWYS0kTzUu8hQaDOmtvSTMekvOm9Rw= -github.com/InjectiveLabs/ibc-go/v7 v7.2.0-inj/go.mod h1:aEQF2stK9Bi/J56kW93MHlcKIF1uSt204mTngJYdNcY= +github.com/InjectiveLabs/cometbft v0.38.7-0.20240530121154-e6f77c2eab89 h1:Bd0zseWj0r5WFVWfSkYOIkJEfSWWMPGxlkLTxdhfOv4= +github.com/InjectiveLabs/cometbft v0.38.7-0.20240530121154-e6f77c2eab89/go.mod h1:8rSPxzUJYquCN8uuBgbUHOMg2KAwvr7CyUw+6ukO4nw= +github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240530121542-f786214f432c h1:BFzkjbIeeB/Fu07lg8MqfPSJj+pLpRjo9SIxQD5LZvI= +github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240530121542-f786214f432c/go.mod h1:iylzgvhuWvrLrI2udUARCGSqfo5zFNVe5iZzjuxju3E= +github.com/InjectiveLabs/cosmos-sdk/store v1.1.1-0.20240522173845-46ef88f66790 h1:F4FYZR9rLg9igzxitFdLU5s7ZU9XS0wUB7DbkBOVXc8= +github.com/InjectiveLabs/cosmos-sdk/store v1.1.1-0.20240522173845-46ef88f66790/go.mod h1:ZW4eIE98wivInyQyhxU2nHqEielc/iZAcr41qNyWSrw= +github.com/InjectiveLabs/cosmos-sdk/x/evidence v0.1.1-0.20240522173845-46ef88f66790 h1:vbSB6IBNnrVw3s/odYJiF1MUi2JL6PnjgNEBkTM/sBI= +github.com/InjectiveLabs/cosmos-sdk/x/evidence v0.1.1-0.20240522173845-46ef88f66790/go.mod h1:/5BJ6rqcaDZgfdhFGHsqwoD3sCqMPU6M/RMhKTPxV6Y= +github.com/InjectiveLabs/cosmos-sdk/x/feegrant v0.1.1-0.20240522173845-46ef88f66790 h1:19d3ZzozFNd9MYVeto4JmXHm03xKsynyQIDI32iiRD4= +github.com/InjectiveLabs/cosmos-sdk/x/feegrant v0.1.1-0.20240522173845-46ef88f66790/go.mod h1:Tnwfp0+AmtSF3sktmOwt5Sk4PbRMrDAWsJTr6cX1Hj8= +github.com/InjectiveLabs/cosmos-sdk/x/upgrade v0.1.2-0.20240522173845-46ef88f66790 h1:ImlT8paRJvKIve+ZGi6RvCNp+1u1CC/EIHebQhm+ZYo= +github.com/InjectiveLabs/cosmos-sdk/x/upgrade v0.1.2-0.20240522173845-46ef88f66790/go.mod h1:Cn5qF2yRpXZcd+yJM6mu0UGt1p75IherhBhfeAvkmPc= +github.com/InjectiveLabs/ibc-go/v8 v8.3.2-0.20240530084055-772bafc23563 h1:hapevKTBYkJVv8Y/H8PGjj2u7rVbgnIZWBvghUSXyLw= +github.com/InjectiveLabs/ibc-go/v8 v8.3.2-0.20240530084055-772bafc23563/go.mod h1:H8y0uWT/SlGELRCkzAKd7H6Psjvtji6nP3326MJppbM= 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.45.0-inj h1:hYRzxEiBNJqJA7EoE9kMTFpWayjT2ICo/FsmtAf8A+o= -github.com/InjectiveLabs/wasmd v0.45.0-inj/go.mod h1:M8hxvHoOzZkzdrFNqDYcPPcQw7EmJwYNZkslhHbCj0I= +github.com/InjectiveLabs/wasmd v0.51.1-0.20240517110802-c05574f2352f h1:HB590uhSnGKBDC/yC7vtpN1+pXHnKwJEur0RCbSLDaA= +github.com/InjectiveLabs/wasmd v0.51.1-0.20240517110802-c05574f2352f/go.mod h1:CGIOxbGca/pOiZ+Q7e6aMoNnnSPXrV5/hV1dK3H8FUo= +github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= 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.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/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/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= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/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.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-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= +github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= github.com/aws/aws-sdk-go v1.25.16/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -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 v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.44.327 h1:ZS8oO4+7MOBLhkdwIhgtVeDzCeWOlTfKJS7EgggbIEY= +github.com/aws/aws-sdk-go v1.44.327/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= 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/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.1 h1:xgwPbetQScXt1gh9BmoJ6j9JMr3TElvuIyjR8pgdoow= github.com/bitly/go-simplejson v0.5.1/go.mod h1:YOPVLzCfwK14b4Sff3oP1AmGhI9T9Vsg84etUnlyp+Q= +github.com/bits-and-blooms/bitset v1.8.0 h1:FD+XqgOZDUxxZ8hzoBFuV9+cGWY9CslN6d5MS5JVb4c= +github.com/bits-and-blooms/bitset v1.8.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= 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= @@ -132,21 +137,26 @@ 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/protocompile v0.6.0 h1:Uu7WiSQ6Yj9DbkdnOe7U4mNKp58y9WDMKDn28/ZlunY= +github.com/bufbuild/protocompile v0.6.0/go.mod h1:YNP35qEYoYGme7QMtz5SBCoN4kL4g12jTtjuzRNdjpE= github.com/bugsnag/bugsnag-go v1.5.3/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= github.com/bugsnag/bugsnag-go v2.1.2+incompatible h1:E7dor84qzwUO8KdCM68CZwq9QOSR7HXlLx3Wj5vui2s= github.com/bugsnag/bugsnag-go v2.1.2+incompatible/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= 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/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= +github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +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.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.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= 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.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= 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= @@ -158,145 +168,221 @@ 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/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +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/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/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/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= -github.com/cockroachdb/errors v1.10.0 h1:lfxS8zZz1+OjtV4MtNWgboi/W5tyLEB6VQZBXN+0VUU= -github.com/cockroachdb/errors v1.10.0/go.mod h1:lknhIsEVQ9Ss/qKDBQS/UqFSvPQjOwNq2qyKAxtHRqE= +github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f h1:otljaYPt5hWxV3MUfO5dFPFiOXg9CyG5/kCfayTqsJ4= +github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= +github.com/cockroachdb/errors v1.11.1 h1:xSEW75zKaKCWzR3OfxXUxgrk/NtT4G1MiOv5lWZazG8= +github.com/cockroachdb/errors v1.11.1/go.mod h1:8MUxA3Gi6b25tYlFEBGLf+D8aISL+M4MIpiWMSNRfxw= 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-20230226194802-02d779ffbc46 h1:yMaoO76pV9knZ6bzEwzPSHnPSCTnrJohwkIQirmii70= +github.com/cockroachdb/pebble v1.1.0 h1:pcFh8CdCIt2kmEpK0OIatq67Ln9uGDYY3d5XnE0LJG4= +github.com/cockroachdb/pebble v1.1.0/go.mod h1:sEHm5NOXxyiAoKWhoFxT8xMgd/f3RA6qUqQ1BXKrh2E= github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= -github.com/coinbase/rosetta-sdk-go/types v1.0.0 h1:jpVIwLcPoOeCR6o1tU+Xv7r5bMONNbHU7MuEHboiFuA= -github.com/cometbft/cometbft-db v0.8.0 h1:vUMDaH3ApkX8m0KZvOFFy9b5DZHBAjsnEuo9AKVZpjo= -github.com/cometbft/cometbft-db v0.8.0/go.mod h1:6ASCP4pfhmrCBpfk01/9E1SI29nD3HfVHrY4PG8x5c0= -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/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= +github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= +github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= +github.com/cometbft/cometbft-db v0.9.1 h1:MIhVX5ja5bXNHF8EYrThkG9F7r9kSfv8BX4LWaxWJ4M= +github.com/cometbft/cometbft-db v0.9.1/go.mod h1:iliyWaoV0mRwBJoizElCwwRA9Tf7jZJOURcRZF9m60U= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= 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-proto v1.0.0-beta.3 h1:VitvZ1lPORTVxkmF2fAp3IiA61xVwArQYKXTdEcpW6o= -github.com/cosmos/cosmos-proto v1.0.0-beta.3/go.mod h1:t8IASdLaAq+bbHbjq4p960BvcTqtwuAxid3b/2rOD6I= -github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= +github.com/cosmos/cosmos-db v1.0.2 h1:hwMjozuY1OlJs/uh6vddqnk9j7VamLv+0DBlbEXbAKs= +github.com/cosmos/cosmos-db v1.0.2/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA= +github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= +github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= 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/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoKuI= -github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek= -github.com/cosmos/iavl v0.20.1 h1:rM1kqeG3/HBT85vsZdoSNsehciqUQPWrR4BYmqE2+zg= -github.com/cosmos/iavl v0.20.1/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= +github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= +github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= +github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= +github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/iavl v1.1.2 h1:zL9FK7C4L/P4IF1Dm5fIwz0WXCnn7Bp1M2FxH0ayM7Y= +github.com/cosmos/iavl v1.1.2/go.mod h1:jLeUvm6bGT1YutCaL2fIar/8vGUE8cPZvh/gXEWDaDM= +github.com/cosmos/ibc-go/modules/capability v1.0.0 h1:r/l++byFtn7jHYa09zlAdSeevo8ci1mVZNO9+V0xsLE= +github.com/cosmos/ibc-go/modules/capability v1.0.0/go.mod h1:D81ZxzjZAe0ZO5ambnvn1qedsFQ8lOwtqicG6liLBco= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= github.com/cosmos/ics23/go v0.10.0/go.mod h1:ZfJSmng/TBNTBkFemHHHj5YY7VAU/MBU980F4VU1NG0= -github.com/cosmos/ledger-cosmos-go v0.12.2 h1:/XYaBlE2BJxtvpkHiBm97gFGSGmYGKunKyF3nNqAXZA= -github.com/cosmos/ledger-cosmos-go v0.12.2/go.mod h1:ZcqYgnfNJ6lAXe4HPtWgarNEY+B74i+2/8MhZw4ziiI= -github.com/cosmos/rosetta-sdk-go v0.10.0 h1:E5RhTruuoA7KTIXUcMicL76cffyeoyvNybzUGSKFTcM= +github.com/cosmos/ledger-cosmos-go v0.13.3 h1:7ehuBGuyIytsXbd4MP43mLeoN2LTOEnk5nvue4rK+yM= +github.com/cosmos/ledger-cosmos-go v0.13.3/go.mod h1:HENcEP+VtahZFw38HZ3+LS3Iv5XV6svsnkk9vdJtLr8= 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.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creachadair/taskgroup v0.4.2 h1:jsBLdAJE42asreGss2xZGZ8fJra7WtwnHWeJFxv2Li8= +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.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM= +github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +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/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 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/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 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/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y= +github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= 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/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= 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/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/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= 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 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/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/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK2OFGvA0= +github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= -github.com/dvsekhvalnov/jose2go v1.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= -github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= +github.com/dvsekhvalnov/jose2go v1.6.0 h1:Y9gnSnP4qEI0+/uQkHvFXeD2PLPJeXEL+ySMEA2EjTY= +github.com/dvsekhvalnov/jose2go v1.6.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= +github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/emicklei/dot v1.6.1 h1:ujpDlBkkwgWUY+qPId5IwapRW/xEoligRSYjioR6DFI= +github.com/emicklei/dot v1.6.1/go.mod h1:DeV7GvQtIw4h2u73RKBkkFdvVAz0D9fzeJrgPW6gy/s= +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.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= 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/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= +github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= 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/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= -github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= +github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= +github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= +github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= 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.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= +github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= 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/getsentry/sentry-go v0.23.0 h1:dn+QRCeJv4pPt9OjVXiMcGIBIefaTJPw/h0bZWO05nE= -github.com/getsentry/sentry-go v0.23.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= +github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps= +github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= +github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= -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-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= 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-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.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +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 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= +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 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= +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.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= +github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= +github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= 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/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= +github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= +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 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og= +github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= +github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= +github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= -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/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= +github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA= +github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +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.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/golang-jwt/jwt/v4 v4.3.0 h1:kHL1vqdqWNfATmA0FNMdmZNMyZI1U6O31X4rlIPoBog= +github.com/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= -github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -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/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= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -304,7 +390,6 @@ github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= @@ -315,8 +400,10 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= 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.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/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= @@ -328,79 +415,106 @@ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5a 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= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -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/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc= +github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= +github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= -github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= -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= -github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= -github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= -github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= +github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= +github.com/googleapis/gax-go/v2 v2.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= +github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE= +github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w= +github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= +github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -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= +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.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= +github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI= +github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= 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.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/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= -github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= -github.com/gtank/merlin v0.1.1 h1:eQ90iG7K9pOhtereWsmyRJ6RAwcP4tHTDBHXNg+u5is= -github.com/gtank/merlin v0.1.1/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= -github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uMzcc= -github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= +github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= +github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-bexpr v0.1.10 h1:9kuI5PFotCboP3dkDYFr/wi0gg0QVbSNz5oFRpxn4uE= +github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0= 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-getter v1.7.1 h1:SWiSWN/42qdpR0MdhaOc/bLR48PLuP1ZQtYLRlM69uY= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-getter v1.7.3 h1:bN2+Fw9XPFvOCjB0UOevFIMICZ7G2XSQHzfvLUyOM5E= +github.com/hashicorp/go-getter v1.7.3/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c= +github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-metrics v0.5.3 h1:M5uADWMOGCTUNU1YuC4hfknOeHNaX54LDm4oYSucoNE= +github.com/hashicorp/go-metrics v0.5.3/go.mod h1:KEjodfebIOuBYSAe/bHTm+HChmKSxAOXPBieMLYozDE= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-plugin v1.5.2 h1:aWv8eimFqWlsEiMrYZdPYl+FdHaBJSN4AWwGWfT1G2Y= +github.com/hashicorp/go-plugin v1.5.2/go.mod h1:w1sAEES3g3PuV/RzUrgow20W2uErMly84hhD3um1WL4= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= -github.com/hashicorp/go-uuid v1.0.0 h1:RS8zrF7PhGwyNPOtxSClXXj9HA8feRnJzgnI1RJCSnM= +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-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= +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.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.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/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= +github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/hcl v1.0.1-vault-5 h1:kI3hhbbyzr4dldA8UdTb7ZlVVlI2DACdCfz31RPDgJM= +github.com/hashicorp/hcl v1.0.1-vault-5/go.mod h1:XYhtn6ijBSAj6n4YqAaf7RBPS4I06AItNorpy+MoQNM= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= +github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= github.com/hdevalence/ed25519consensus v0.1.0 h1:jtBwzzcHuTmFrQN6xQZn6CQEO/V9f7HsjsjeEZ6auqU= github.com/hdevalence/ed25519consensus v0.1.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo= 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= @@ -408,16 +522,23 @@ github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3 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/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/huin/goupnp v1.0.3 h1:N8No57ls+MnjlB+JPiCVSOyy/ot7MJTqlo7rn+NYSqQ= -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= +github.com/huin/goupnp v1.0.3/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= +github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= +github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= 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.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/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/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/jhump/protoreflect v1.15.3 h1:6SFRuqU45u9hIZPJAoZ8c28T3nK64BNdp9w6jFonzls= +github.com/jhump/protoreflect v1.15.3/go.mod h1:4ORHmSBmlCW8fh3xHmJMGyul1zNqZK4Elxc8qKP+p1k= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= @@ -425,22 +546,33 @@ github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGw github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -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/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= 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/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/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/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= +github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -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/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= @@ -450,47 +582,93 @@ 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/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= +github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= 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/linxGnu/grocksdb v1.7.16 h1:Q2co1xrpdkr5Hx3Fp+f+f7fRGhQFQhvi/+226dtLmA8= -github.com/linxGnu/grocksdb v1.7.16/go.mod h1:JkS7pl5qWpGpuVb3bPqTz8nC12X3YtPZT+Xq7+QfQo4= +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/linxGnu/grocksdb v1.8.14 h1:HTgyYalNwBSG/1qCQUIott44wU5b2Y9Kr3z7SK5OfGQ= +github.com/linxGnu/grocksdb v1.8.14/go.mod h1:QYiYypR2d4v63Wj1adOOfzglnoII0gLj3PNh4fZkcFA= +github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +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.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/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= +github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -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/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= -github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 h1:QRUSJEgZn2Snx0EmT/QLXibWjSUDjKWvXIT19NBVp94= -github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= +github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +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-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/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +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.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= +github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76/go.mod h1:x5OoJHDHqxHS801UIuhqGl6QdSAEJvtausosHSdazIo= +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/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +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/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a h1:dlRvE5fWabOchtH7znfiFCcOvmIYgOeAS5ifBXBlh9Q= +github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a/go.mod h1:hVoHR2EVESiICEMbg137etN/Lx+lSrHPTD39Z/uE+2s= +github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= +github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= +github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -498,103 +676,164 @@ github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= 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/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.20.0 h1:8W0cWlwFkflGPLltQvLRB7ZVD5HuP6ng320w2IS245Q= +github.com/onsi/gomega v1.26.0 h1:03cDLK28U6hWvCAns6NeydX3zIm4SF3ci69ulidS32Q= +github.com/onsi/gomega v1.26.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM= +github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= +github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= +github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= +github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +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/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/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= -github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= +github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= +github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= +github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= -github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 h1:hDSdbBuw3Lefr6R18ax0tZ2BJeNB3NehB3trOwYBsdU= -github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= +github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67 h1:jik8PHtAIsPlCRJjJzl4udgEf7hawInF9texMeO2jrU= +github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= +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/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= +github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +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.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8= -github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU= +github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k= 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= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4= -github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= +github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= +github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= +github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +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.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM= -github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= +github.com/prometheus/common v0.52.2 h1:LW8Vk7BccEdONfrJBDffQGRtpSzi5CQaRZGtboOO2ck= +github.com/prometheus/common v0.52.2/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg= -github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= -github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.13.0 h1:GqzLlQyfsPbaEHaQkO7tbDlriv/4o5Hudv6OXHGKX7o= +github.com/prometheus/procfs v0.13.0/go.mod h1:cd4PFCR54QLnGKPaKGA6l+cfuNXtht43ZKY6tow0Y1g= +github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/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/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= +github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= 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.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= -github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.8.3 h1:O+qNyWn7Z+F9M0ILBHgMVPuB1xTOucVd5gtaYyXBpRo= -github.com/rs/zerolog v1.30.0 h1:SymVODrcRsaRaSInD9yQtKbtWqwsfoPcRff/oRXLj4c= +github.com/rs/cors v1.8.3/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.32.0 h1:keLypqrlIjaFsbmJOBdB/qvyF8KEtCWHwobLp5l/mQ0= +github.com/rs/zerolog v1.32.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +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/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= +github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= +github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= +github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= +github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= 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/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= 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/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/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= +github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= -github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= +github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= +github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -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/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= +github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +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.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= -github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= +github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= +github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= 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= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc= -github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg= +github.com/spf13/viper v1.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ= +github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= github.com/status-im/keycard-go v0.2.0 h1:QDLFswOQu1r5jsycloeQh3bVU8n/NatHHaZobtDnDzA= +github.com/status-im/keycard-go v0.2.0/go.mod h1:wlp8ZLbsmrF6g6WjugPAx+IzoLrkdf9+mHxBEeo3Hbg= +github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= 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= @@ -602,174 +841,174 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -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/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= +github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= 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/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/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= -github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= +github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= +github.com/tidwall/btree v1.7.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= 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.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/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= 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/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= 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.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= +github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= 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/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/urfave/cli/v2 v2.17.2-0.20221006022127-8f469abc00aa h1:5SqCsI/2Qya2bCzK15ozrqo2sZxkh0FHynJZOTVoV6Q= +github.com/urfave/cli/v2 v2.17.2-0.20221006022127-8f469abc00aa/go.mod h1:1CNUng3PtjQMtRzJO4FMXBQvkGtuYRxxiR9xMa7jMwI= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -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.1 h1:Pip65OOl4iJ84WTpA4BKChvOufMhhbxED3BaihoZN4c= -github.com/zondax/ledger-go v0.14.1/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= -go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ= -go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +github.com/zondax/hid v0.9.2 h1:WCJFnEDMiqGF64nlZz28E9qLVZ0KSJ7xpc5DLEyma2U= +github.com/zondax/hid v0.9.2/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= +github.com/zondax/ledger-go v0.14.3 h1:wEpJt2CEcBJ428md/5MgSLsXLBos98sBOyxNmCjfUCw= +github.com/zondax/ledger-go v0.14.3/go.mod h1:IKKaoxupuB43g4NxeQmbLXv7T9AlQyie1UpHb342ycI= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.8 h1:xs88BrvEv273UsB79e0hcVrlUWmS0a8upikMFhSyAtA= +go.etcd.io/bbolt v1.3.8/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -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.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0 h1:UNQQKPfTDe1J81ViolILjTKPr9WetKW6uei2hFgJmFs= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0/go.mod h1:r9vWsPS/3AQItv3OSlEJ/E4mbrhUbbw18meOjArPtKQ= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 h1:sv9kVfal0MK0wBMCOGr+HeJm9v803BkJxGrk2au7j08= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0/go.mod h1:SK2UL73Zy1quvRPonmOmRDiWk1KBV3LyIeeIxcEApWw= +go.opentelemetry.io/otel v1.22.0 h1:xS7Ku+7yTFvDfDraDIJVpw7XPyuHlB9MCiqqX5mcJ6Y= +go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI= +go.opentelemetry.io/otel/metric v1.22.0 h1:lypMQnGyJYeuYPhOM/bgjbFM6WE44W1/T45er4d8Hhg= +go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY= +go.opentelemetry.io/otel/trace v1.22.0 h1:Hg6pPujv0XG9QaVbGOBVHunyuLcCC3jN7WEhPx83XD0= +go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/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-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-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= -golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= +golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= +golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -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= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -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-20230711153332-06a737ee72cb h1:xIApU0ow1zwMa2uL1VDNeQlNVFTWMQxZUZCMDy0Q4Us= -golang.org/x/exp v0.0.0-20230711153332-06a737ee72cb/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= +golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= +golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0 h1:985EYyeCOxTpcgOTJpflJUwOeEz0CQOdPt73OzpE9F8= +golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI= 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/lint v0.0.0-20181026193005-c67002cb31c3/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= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/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/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.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= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= 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-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +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-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= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -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-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220517181318-183a9ca12b87/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= -golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= +golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= +golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= +golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= 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= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +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-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -778,227 +1017,140 @@ golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/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-20190726091711-fc99dfbffb4e/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= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -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-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= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/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-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/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-20210819135213-f52c844e1c1c/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-20211025201205-69cdffdb9359/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-20220128215802-99c3d69c2c27/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-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/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-20220908164124-27713097b956/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-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= +golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.10.0 h1:3R7pNqamzBraeqj/Tj8qt1aQ2HpmlC+Cx/qL/7hn4/c= -golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= +golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +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.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= -golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -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/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/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.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/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-20181030221726-6c7e314b6563/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-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/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-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/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-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/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-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-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= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/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-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= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= 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= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.126.0 h1:q4GJq+cAdMAC7XP7njvQ4tvohGLiSlytuL4BQxbIZ+o= +google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= +google.golang.org/api v0.162.0 h1:Vhs54HkaEpkMBdgGdOT2P6F0csGG/vxDS0hWHJzmmps= +google.golang.org/api v0.162.0/go.mod h1:6SulDkfoBIg4NFmCuZ39XeeAgSHCPecfSUuDyYlAHs0= 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.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/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/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= +google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= 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-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -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-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-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= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/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-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= -google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 h1:Au6te5hbKUV8pIYWHqOUZ1pva5qK/rwbIhoXEUB9Lu8= -google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:O9kGHb51iE/nOGvQaDUuadVYqovW56s5emA88lQnj6Y= -google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529 h1:s5YSX+ZH5b5vS9rnpGymvIyMpLRJizowqDlOuyjXnTk= -google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 h1:bVf09lpb+OJbByTj913DRJioFFAjf/ZGxEz7MajTp2U= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= +google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20220314164441-57ef72a4c106/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY= +google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo= +google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de h1:jFNzHPIeuzhdRwVhbZdiym9q0ory/xY3sA+v2wPg8I0= +google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda h1:LI5DOvAxUPMv/50agcLLoo+AdWc1irS9Rzz4vPuD1V4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= +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.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.0/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.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.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.56.2 h1:fVRFRnXvU+x6C4IlHZewvJOVHoOv1TUuQyoRsYnB4bI= -google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= +google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= 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= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1011,22 +1163,30 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= 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/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.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= 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/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/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= 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/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1037,22 +1197,20 @@ 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-20200313102051-9f266ea9e77c/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.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/v3 v3.5.0 h1:Ljk6PdHdOhAb5aDMWXjDLMMhph+BpztA4v1QdqEW2eY= +gotest.tools/v3 v3.5.1 h1:EENdUnS3pdur5nybKYIh2Vfgc8IUNBjxDPSjtiJcOzU= +gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/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= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -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= nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= -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/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= +pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= +sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= +sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= From 43bd9ea7afde8585eb515950e8462f6349ac2fd6 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Fri, 31 May 2024 09:34:38 -0300 Subject: [PATCH 11/48] (fix) Remove unused constants --- client/chain/chain.go | 5 ----- 1 file changed, 5 deletions(-) diff --git a/client/chain/chain.go b/client/chain/chain.go index 092285b5..07b713eb 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -52,11 +52,6 @@ import ( type OrderbookType string -const ( - SpotOrderbook = "injective.exchange.v1beta1.EventOrderbookUpdate.spot_orderbooks" - DerivativeOrderbook = "injective.exchange.v1beta1.EventOrderbookUpdate.derivative_orderbooks" -) - const ( msgCommitBatchSizeLimit = 1024 msgCommitBatchTimeLimit = 500 * time.Millisecond From 2ae0864555dffbd3a8318d907c34ba0c4b64e136 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Fri, 31 May 2024 09:46:33 -0300 Subject: [PATCH 12/48] (fix) Update GitHub workflows configuration to get the Go version to use from the go.mod file --- .github/workflows/pre-commit.yml | 3 ++- .github/workflows/run-tests.yml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index e822c838..120cd2a2 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -11,7 +11,8 @@ jobs: - uses: actions/setup-python@v4 - uses: actions/setup-go@v5 with: - go-version: 1.19 + go-version-file: "go.mod" + check-latest: true - run: go install golang.org/x/tools/cmd/goimports@latest - run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s - -b $(go env GOPATH)/bin v1.49.0 - run: echo "PATH=$PATH:/home/runner/go/bin" >> $GITHUB_ENV diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index c95973fc..340df78f 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -13,7 +13,8 @@ jobs: fetch-depth: 2 - uses: actions/setup-go@v5 with: - go-version: 1.19 + go-version-file: "go.mod" + check-latest: true - name: Run test and calculate coverage run: make coverage - name: Upload coverage to Codecov From b9ca0afbb5fb8aafa1e29233030f88ca3f38b9ce Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Fri, 31 May 2024 09:49:49 -0300 Subject: [PATCH 13/48] (fix) Fix pre-commit workflow configuration --- .github/workflows/pre-commit.yml | 4 +++- .github/workflows/run-tests.yml | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 120cd2a2..e16ece52 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -9,6 +9,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/setup-python@v4 + - uses: actions/checkout@master + with: + fetch-depth: 2 - uses: actions/setup-go@v5 with: go-version-file: "go.mod" @@ -16,5 +19,4 @@ jobs: - run: go install golang.org/x/tools/cmd/goimports@latest - run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s - -b $(go env GOPATH)/bin v1.49.0 - run: echo "PATH=$PATH:/home/runner/go/bin" >> $GITHUB_ENV - - uses: actions/checkout@v3 - uses: pre-commit/action@v2.0.2 diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 340df78f..1fdfffc4 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -8,7 +8,7 @@ jobs: run-tests: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@master with: fetch-depth: 2 - uses: actions/setup-go@v5 From 020aa4b61cd486c6664dc05c2ea2f7d1f825bf9b Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Fri, 31 May 2024 11:42:53 -0300 Subject: [PATCH 14/48] (fix) Updated eip712_cosmos module. Solved all pre-commit issues. --- client/chain/chain.go | 7 ++++--- client/chain/chain_test_support.go | 3 ++- client/core/market_test.go | 3 ++- eip712_cosmos.go | 17 ++++++++--------- typeddata/typed_data.go | 8 ++++---- 5 files changed, 20 insertions(+), 18 deletions(-) diff --git a/client/chain/chain.go b/client/chain/chain.go index 07b713eb..a37c0b3a 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -2,7 +2,6 @@ package chain import ( "context" - sdkmath "cosmossdk.io/math" "encoding/base64" "encoding/hex" "encoding/json" @@ -14,6 +13,8 @@ import ( "sync/atomic" "time" + sdkmath "cosmossdk.io/math" + "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice" distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" @@ -832,7 +833,7 @@ func (c *chainClient) SyncBroadcastSignedTx(txBytes []byte) (*txtypes.BroadcastT case <-t.C: resultTx, err := c.ctx.Client.Tx(awaitCtx, txHash, false) if err != nil { - if errRes := client.CheckTendermintError(err, txBytes); errRes != nil { + if errRes := client.CheckCometError(err, txBytes); errRes != nil { return &txtypes.BroadcastTxResponse{TxResponse: errRes}, err } @@ -903,7 +904,7 @@ func (c *chainClient) broadcastTx( case <-t.C: resultTx, err := clientCtx.Client.Tx(awaitCtx, txHash, false) if err != nil { - if errRes := client.CheckTendermintError(err, txBytes); errRes != nil { + if errRes := client.CheckCometError(err, txBytes); errRes != nil { return &txtypes.BroadcastTxResponse{TxResponse: errRes}, err } diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index 74140cc6..de867442 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -2,10 +2,11 @@ package chain import ( "context" - sdkmath "cosmossdk.io/math" "errors" "time" + sdkmath "cosmossdk.io/math" + "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice" "google.golang.org/grpc" diff --git a/client/core/market_test.go b/client/core/market_test.go index bbe37e70..64a58679 100644 --- a/client/core/market_test.go +++ b/client/core/market_test.go @@ -1,9 +1,10 @@ package core import ( - sdkmath "cosmossdk.io/math" "testing" + sdkmath "cosmossdk.io/math" + "github.com/huandu/go-assert" "github.com/shopspring/decimal" ) diff --git a/eip712_cosmos.go b/eip712_cosmos.go index 8107f903..3f3ad3d5 100644 --- a/eip712_cosmos.go +++ b/eip712_cosmos.go @@ -10,14 +10,14 @@ import ( "strings" "time" - sdkmath "cosmossdk.io/math" + "cosmossdk.io/math" "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" cosmtypes "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" authsigning "github.com/cosmos/cosmos-sdk/x/auth/signing" "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/common/math" + ethmath "github.com/ethereum/go-ethereum/common/math" "github.com/pkg/errors" "github.com/InjectiveLabs/sdk-go/typeddata" @@ -53,7 +53,6 @@ func WrapTxToEIP712( timeoutHeight, feeInfo, msgs, memo, - nil, ) txData := make(map[string]interface{}) @@ -65,7 +64,7 @@ func WrapTxToEIP712( domain := typeddata.TypedDataDomain{ Name: "Injective Web3", Version: "1.0.0", - ChainId: math.NewHexOrDecimal256(int64(chainID)), + ChainId: ethmath.NewHexOrDecimal256(int64(chainID)), VerifyingContract: "cosmos", Salt: "0", } @@ -291,7 +290,7 @@ func traverseFields( fieldPrefix := fmt.Sprintf("%s.%s", prefix, fieldName) ethTyp := typToEth(fieldType) - if len(ethTyp) > 0 { + if ethTyp != "" { if isCollection { ethTyp += "[]" } @@ -380,7 +379,7 @@ var ( hashType = reflect.TypeOf(common.Hash{}) addressType = reflect.TypeOf(common.Address{}) bigIntType = reflect.TypeOf(big.Int{}) - cosmIntType = reflect.TypeOf(sdkmath.Int{}) + cosmIntType = reflect.TypeOf(math.Int{}) cosmosAnyType = reflect.TypeOf(&codectypes.Any{}) timeType = reflect.TypeOf(time.Time{}) ) @@ -415,12 +414,12 @@ func typToEth(typ reflect.Type) string { return "uint64" case reflect.Slice: ethName := typToEth(typ.Elem()) - if len(ethName) > 0 { + if ethName != "" { return ethName + "[]" } case reflect.Array: ethName := typToEth(typ.Elem()) - if len(ethName) > 0 { + if ethName != "" { return ethName + "[]" } case reflect.Ptr: @@ -501,7 +500,7 @@ func WrapTxToEIP712V2( domain := typeddata.TypedDataDomain{ Name: "Injective Web3", Version: "1.0.0", - ChainId: math.NewHexOrDecimal256(int64(chainID)), + ChainId: ethmath.NewHexOrDecimal256(int64(chainID)), VerifyingContract: "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC", Salt: "0", } diff --git a/typeddata/typed_data.go b/typeddata/typed_data.go index bff47192..e23efe82 100644 --- a/typeddata/typed_data.go +++ b/typeddata/typed_data.go @@ -784,19 +784,19 @@ func (domain *TypedDataDomain) Map() map[string]interface{} { dataMap["chainId"] = domain.ChainId } - if len(domain.Name) > 0 { + if domain.Name != "" { dataMap["name"] = domain.Name } - if len(domain.Version) > 0 { + if domain.Version != "" { dataMap["version"] = domain.Version } - if len(domain.VerifyingContract) > 0 { + if domain.VerifyingContract != "" { dataMap["verifyingContract"] = domain.VerifyingContract } - if len(domain.Salt) > 0 { + if domain.Salt != "" { dataMap["salt"] = domain.Salt } return dataMap From cb865ec37b17b6f0618240826ecc40ab148254a3 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Fri, 31 May 2024 12:03:08 -0300 Subject: [PATCH 15/48] (fix) Change in pre-commit workflow config to try and solve the issue that makes the workflow fail --- .github/workflows/pre-commit.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index e16ece52..e4500fd6 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -17,6 +17,5 @@ jobs: go-version-file: "go.mod" check-latest: true - run: go install golang.org/x/tools/cmd/goimports@latest - - run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s - -b $(go env GOPATH)/bin v1.49.0 - - run: echo "PATH=$PATH:/home/runner/go/bin" >> $GITHUB_ENV + - run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.59.0 - uses: pre-commit/action@v2.0.2 From 9a3740bf103ee202538b6346698e7667d6daf711 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Tue, 4 Jun 2024 10:56:26 -0300 Subject: [PATCH 16/48] (feat) Added golangci configuration to include more validations in the pre-commit run --- .golangci.yml | 53 ++++++ .pre-commit-config.yaml | 2 +- auth_vote/authz_vote.go | 4 +- chain/exchange/types/derivative_orders.go | 2 +- chain/exchange/types/spot_orders.go | 6 +- chain/peggy/types/params.go | 2 +- chain/permissions/types/tx.go | 8 +- chain/wasmx/types/params.go | 2 +- chain/wasmx/types/util.go | 3 +- client/chain/chain.go | 121 +++++++------ client/chain/chain_test_support.go | 76 ++++----- client/chain/keys.go | 4 +- client/chain/markets_assistant.go | 161 +++++++++--------- client/common/api_request_assistant.go | 8 +- client/common/network.go | 48 +++--- client/common/options.go | 2 +- client/common/util.go | 3 +- client/core/market.go | 2 +- client/core/market_test.go | 2 +- client/exchange/exchange.go | 12 +- client/exchange/exchange_test_support.go | 8 +- client/explorer/explorer.go | 4 +- client/metadata/fetch_metadata.go | 6 +- client/tm/tmclient.go | 15 +- eip712_cosmos.go | 8 +- ethereum/util/amounts.go | 12 +- ethereum/util/contract.go | 6 +- examples/chain/1_LocalOrderHash/example.go | 2 +- .../example.go | 2 +- .../example.go | 2 +- examples/chain/6_MsgRegisterAsDMM/example.go | 2 +- examples/chain/auction/1_MsgBid/example.go | 2 +- examples/chain/authz/1_MsgGrant/example.go | 8 +- examples/chain/authz/2_MsgExec/example.go | 2 +- examples/chain/authz/3_MsgRevoke/example.go | 2 +- examples/chain/bank/1_MsgSend/example.go | 2 +- examples/chain/bank/2_MsgMultiSend/example.go | 2 +- .../1_SetWithdrawAddress/example.go | 2 +- .../2_MsgWithdrawDelegatorReward/example.go | 2 +- .../3_WithdrawValidatorCommission/example.go | 2 +- .../4_FundCommunityPool/example.go | 2 +- .../example.go | 2 +- .../example.go | 2 +- .../12_MsgCancelDerivativeOrder/example.go | 2 +- .../example.go | 2 +- .../14_MsgSubaccountTransfer/example.go | 2 +- .../15_MsgExternalTransfer/example.go | 2 +- .../16_MsgLiquidatePosition/example.go | 2 +- .../17_MsgIncreasePositionMargin/example.go | 2 +- .../chain/exchange/1_MsgDeposit/example.go | 2 +- .../exchange/21_MsgRewardsOptOut/example.go | 2 +- .../chain/exchange/2_MsgWithdraw/example.go | 2 +- .../3_MsgInstantSpotMarketLaunch/example.go | 2 +- .../example.go | 2 +- .../example.go | 2 +- .../6_MsgCreateSpotLimitOrder/example.go | 2 +- .../7_MsgCreateSpotMarketOrder/example.go | 2 +- .../exchange/8_MsgCancelSpotOrder/example.go | 2 +- .../9_MsgBatchUpdateOrders/example.go | 2 +- .../ibc/transfer/1_MsgTransfer/example.go | 2 +- .../1_MsgRelayPriceFeedPrice/example.go | 2 +- .../chain/peggy/1_MsgSendToEth/example.go | 2 +- .../chain/staking/1_MsgDelegate/example.go | 2 +- .../tokenfactory/1_CreateDenom/example.go | 2 +- .../chain/tokenfactory/2_MsgMint/example.go | 2 +- .../chain/tokenfactory/3_MsgBurn/example.go | 2 +- .../4_MsgSetDenomMetadata/example.go | 2 +- .../tokenfactory/5_MsgChangeAdmin/example.go | 2 +- .../1_MsgExecuteContractCompat/example.go | 2 +- .../1_StreamSubaccountBalance/example.go | 2 +- .../derivatives/13_StreamTrades/example.go | 2 +- .../14_SubaccountOrdersList/example.go | 2 +- .../15_SubaccountTradesList/example.go | 2 +- .../derivatives/16_FundingPayments/example.go | 2 +- .../derivatives/17_FundingRates/example.go | 2 +- .../exchange/derivatives/1_Market/example.go | 2 +- .../exchange/derivatives/2_Markets/example.go | 2 +- .../derivatives/3_StreamMarket/example.go | 2 +- .../derivatives/4_Orderbook/example.go | 2 +- .../derivatives/5_Orderbooks/example.go | 2 +- .../derivatives/8_Positions/example.go | 2 +- .../exchange/derivatives/9_Orders/example.go | 2 +- .../insurance/1_InsuranceFunds/example.go | 2 +- .../insurance/2_Redemptions/example.go | 2 +- examples/exchange/meta/1_Ping/example.go | 2 +- examples/exchange/meta/2_Version/example.go | 2 +- examples/exchange/meta/3_Info/example.go | 2 +- .../meta/4_StreamKeepAlive/example.go | 2 +- .../exchange/spot/10_StreamTrades/example.go | 2 +- .../spot/11_SubaccountOrdersList/example.go | 2 +- .../spot/12_SubaccountTradesList/example.go | 2 +- .../exchange/spot/13_Orderbooks/example.go | 2 +- examples/exchange/spot/1_Market/example.go | 2 +- examples/exchange/spot/2_Markets/example.go | 2 +- .../exchange/spot/3_StreamMarket/example.go | 2 +- examples/exchange/spot/4_Orderbook/example.go | 2 +- examples/exchange/spot/5_Orders/example.go | 2 +- .../exchange/spot/9_StreamOrders/example.go | 2 +- go.mod | 6 +- go.sum | 12 +- typeddata/typed_data.go | 2 +- 101 files changed, 398 insertions(+), 350 deletions(-) create mode 100644 .golangci.yml diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 00000000..0073fe19 --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,53 @@ +{ + "run": { + "tests": false, + }, + "linters": { + "fast": false, + "enable": [ + "errcheck", + "errorlint", + "gas", + "gocritic", + "gosimple", + "govet", + "ineffassign", + "megacheck", + "misspell", + "nakedret", + "prealloc", + "revive", + "staticcheck", + "unconvert", + "unparam", + ], + "disable": [ + "unused", + ] + }, + "linters-settings": { + "revive": { + "enableAllRules": true, + "rules": [ + { + "name": "var-naming", + "arguments": [ + ["ID"] + ] + } + ] + }, + "gocritic": { + "enabled-tags": [ + "diagnostic", + "experimental", + "opinionated", + "performance", + "style", + ], + "disabled-checks": [ + "hugeParam", + ] + } + }, +} \ No newline at end of file diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a70840d1..6641de94 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,7 +13,7 @@ repos: - id: end-of-file-fixer - id: check-yaml - repo: https://github.com/dnephin/pre-commit-golang - rev: v0.5.0 + rev: master hooks: - id: go-fmt - id: go-imports diff --git a/auth_vote/authz_vote.go b/auth_vote/authz_vote.go index 508a7c70..77613712 100644 --- a/auth_vote/authz_vote.go +++ b/auth_vote/authz_vote.go @@ -69,7 +69,7 @@ func main() { validators := []string{"inj156t3yxd4udv0h9gwagfcmwnmm3quy0npqc7pks", "inj16nd8yqxe9p6ggnrz58qr7dxn5y2834yendward"} grantee := senderAddress.String() proposalId := uint64(375) - var msgs []sdk.Msg + var msgs = make([]sdk.Msg, 0) for _, validator := range validators { msgVote := v1beta1.MsgVote{ @@ -92,7 +92,7 @@ func main() { msgs = append(msgs, sdkMsg) } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msgs...) if err != nil { diff --git a/chain/exchange/types/derivative_orders.go b/chain/exchange/types/derivative_orders.go index 630b470a..422fd108 100644 --- a/chain/exchange/types/derivative_orders.go +++ b/chain/exchange/types/derivative_orders.go @@ -219,7 +219,7 @@ func (o *DerivativeLimitOrder) GetCancelRefundAmount(feeRate math.LegacyDec) mat if o.IsVanilla() { // negative fees are only accounted for upon matching positiveFeePart := math.LegacyMaxDec(math.LegacyZeroDec(), feeRate) - //nolint:all + // nolint:all // Refund = (FillableQuantity / Quantity) * (Margin + Price * Quantity * feeRate) notional := o.OrderInfo.Price.Mul(o.OrderInfo.Quantity) marginHoldRefund = o.Fillable.Mul(o.Margin.Add(notional.Mul(positiveFeePart))).Quo(o.OrderInfo.Quantity) diff --git a/chain/exchange/types/spot_orders.go b/chain/exchange/types/spot_orders.go index 3253e5b5..7225a00c 100644 --- a/chain/exchange/types/spot_orders.go +++ b/chain/exchange/types/spot_orders.go @@ -143,9 +143,7 @@ func (m *SpotLimitOrder) GetUnfilledFeeAmount(fee math.LegacyDec) math.LegacyDec return m.GetUnfilledNotional().Mul(fee) } -func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (math.LegacyDec, string) { - var denom string - var balanceHold math.LegacyDec +func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (balanceHold math.LegacyDec, denom string) { if m.IsBuy() { denom = market.QuoteDenom if m.OrderType.IsPostOnly() { @@ -167,7 +165,7 @@ func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (math.Legac return balanceHold, denom } -func (m *SpotLimitOrder) GetUnfilledMarginHoldAndMarginDenom(market *SpotMarket, isTransient bool) (math.LegacyDec, string) { +func (m *SpotLimitOrder) GetUnfilledMarginHoldAndMarginDenom(market *SpotMarket, isTransient bool) (marginHold math.LegacyDec, marginDenom string) { var denom string var balanceHold math.LegacyDec if m.IsBuy() { diff --git a/chain/peggy/types/params.go b/chain/peggy/types/params.go index 656ada2b..b4363219 100644 --- a/chain/peggy/types/params.go +++ b/chain/peggy/types/params.go @@ -290,6 +290,6 @@ func validateSlashFractionBadEthSignature(i interface{}) error { return nil } -func validateValsetReward(i interface{}) error { +func validateValsetReward(_ interface{}) error { return nil } diff --git a/chain/permissions/types/tx.go b/chain/permissions/types/tx.go index dbbd6e91..776372a5 100644 --- a/chain/permissions/types/tx.go +++ b/chain/permissions/types/tx.go @@ -33,7 +33,7 @@ func (m MsgCreateNamespace) Route() string { return routerKey } func (m MsgCreateNamespace) Type() string { return "create_namespace" } -func (msg MsgCreateNamespace) ValidateBasic() error { return nil } +func (m MsgCreateNamespace) ValidateBasic() error { return nil } func (m *MsgCreateNamespace) GetSignBytes() []byte { return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) @@ -84,7 +84,7 @@ func (m MsgUpdateNamespaceRoles) Route() string { return routerKey } func (m MsgUpdateNamespaceRoles) Type() string { return "update_namespace_roles" } -func (msg MsgUpdateNamespaceRoles) ValidateBasic() error { return nil } +func (m MsgUpdateNamespaceRoles) ValidateBasic() error { return nil } func (m *MsgUpdateNamespaceRoles) GetSignBytes() []byte { return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) @@ -101,7 +101,7 @@ func (m MsgRevokeNamespaceRoles) Route() string { return routerKey } func (m MsgRevokeNamespaceRoles) Type() string { return "revoke_namespace_roles" } -func (msg MsgRevokeNamespaceRoles) ValidateBasic() error { return nil } +func (m MsgRevokeNamespaceRoles) ValidateBasic() error { return nil } func (m *MsgRevokeNamespaceRoles) GetSignBytes() []byte { return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) @@ -118,7 +118,7 @@ func (m MsgClaimVoucher) Route() string { return routerKey } func (m MsgClaimVoucher) Type() string { return "claim_voucher" } -func (msg MsgClaimVoucher) ValidateBasic() error { return nil } +func (m MsgClaimVoucher) ValidateBasic() error { return nil } func (m *MsgClaimVoucher) GetSignBytes() []byte { return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) diff --git a/chain/wasmx/types/params.go b/chain/wasmx/types/params.go index 53bd56d5..8e1e5351 100644 --- a/chain/wasmx/types/params.go +++ b/chain/wasmx/types/params.go @@ -19,7 +19,7 @@ const ( var ( DefaultIsExecutionEnabled = false DefaultMaxBeginBlockTotalGas uint64 = 42_000_000 // 42M - DefaultMaxContractGasLimit uint64 = DefaultMaxBeginBlockTotalGas / 12 // 3.5M + DefaultMaxContractGasLimit = DefaultMaxBeginBlockTotalGas / 12 // 3.5M DefaultMinGasPrice uint64 = 1_000_000_000 // 1B ) diff --git a/chain/wasmx/types/util.go b/chain/wasmx/types/util.go index c7eb5ae2..bde09b7a 100644 --- a/chain/wasmx/types/util.go +++ b/chain/wasmx/types/util.go @@ -6,8 +6,7 @@ import ( ) func IsAllowed(accessConfig types.AccessConfig, actor types2.AccAddress) bool { - switch accessConfig.Permission { - case types.AccessTypeAnyOfAddresses: + if accessConfig.Permission == types.AccessTypeAnyOfAddresses { for _, v := range accessConfig.Addresses { if v == actor.String() { return true diff --git a/client/chain/chain.go b/client/chain/chain.go index a37c0b3a..c8d25ddc 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -43,7 +43,6 @@ import ( ibcclienttypes "github.com/cosmos/ibc-go/v8/modules/core/02-client/types" ibcconnectiontypes "github.com/cosmos/ibc-go/v8/modules/core/03-connection/types" ibcchanneltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" - eth "github.com/ethereum/go-ethereum/common" "github.com/pkg/errors" "github.com/shopspring/decimal" "google.golang.org/grpc" @@ -114,21 +113,21 @@ type ChainClient interface { expireIn time.Time, ) *authztypes.MsgGrant - DefaultSubaccount(acc sdk.AccAddress) eth.Hash - Subaccount(account sdk.AccAddress, index int) eth.Hash + DefaultSubaccount(acc sdk.AccAddress) ethcommon.Hash + Subaccount(account sdk.AccAddress, index int) ethcommon.Hash - GetSubAccountNonce(ctx context.Context, subaccountId eth.Hash) (*exchangetypes.QuerySubaccountTradeNonceResponse, error) + GetSubAccountNonce(ctx context.Context, subaccountId ethcommon.Hash) (*exchangetypes.QuerySubaccountTradeNonceResponse, error) GetFeeDiscountInfo(ctx context.Context, account string) (*exchangetypes.QueryFeeDiscountAccountInfoResponse, error) UpdateSubaccountNonceFromChain() error - SynchronizeSubaccountNonce(subaccountId eth.Hash) error - ComputeOrderHashes(spotOrders []exchangetypes.SpotOrder, derivativeOrders []exchangetypes.DerivativeOrder, subaccountId eth.Hash) (OrderHashes, error) + SynchronizeSubaccountNonce(subaccountId ethcommon.Hash) error + ComputeOrderHashes(spotOrders []exchangetypes.SpotOrder, derivativeOrders []exchangetypes.DerivativeOrder, subaccountId ethcommon.Hash) (OrderHashes, error) - SpotOrder(defaultSubaccountID eth.Hash, network common.Network, d *SpotOrderData) *exchangetypes.SpotOrder - CreateSpotOrder(defaultSubaccountID eth.Hash, d *SpotOrderData, marketsAssistant MarketsAssistant) *exchangetypes.SpotOrder - DerivativeOrder(defaultSubaccountID eth.Hash, network common.Network, d *DerivativeOrderData) *exchangetypes.DerivativeOrder - CreateDerivativeOrder(defaultSubaccountID eth.Hash, d *DerivativeOrderData, marketAssistant MarketsAssistant) *exchangetypes.DerivativeOrder - OrderCancel(defaultSubaccountID eth.Hash, d *OrderCancelData) *exchangetypes.OrderData + SpotOrder(defaultSubaccountID ethcommon.Hash, network common.Network, d *SpotOrderData) *exchangetypes.SpotOrder + CreateSpotOrder(defaultSubaccountID ethcommon.Hash, d *SpotOrderData, marketsAssistant MarketsAssistant) *exchangetypes.SpotOrder + DerivativeOrder(defaultSubaccountID ethcommon.Hash, network common.Network, d *DerivativeOrderData) *exchangetypes.DerivativeOrder + CreateDerivativeOrder(defaultSubaccountID ethcommon.Hash, d *DerivativeOrderData, marketAssistant MarketsAssistant) *exchangetypes.DerivativeOrder + OrderCancel(defaultSubaccountID ethcommon.Hash, d *OrderCancelData) *exchangetypes.OrderData GetGasFee() (string, error) @@ -340,8 +339,8 @@ func NewChainClient( // process options opts := common.DefaultClientOptions() - if network.ChainTlsCert != nil { - options = append(options, common.OptionTLSCert(network.ChainTlsCert)) + if network.ChainTLSCert != nil { + options = append(options, common.OptionTLSCert(network.ChainTLSCert)) } for _, opt := range options { if err := opt(opts); err != nil { @@ -517,7 +516,7 @@ func (c *chainClient) getAccSeq() uint64 { return c.accSeq } -func (c *chainClient) GetAccNonce() (accNum uint64, accSeq uint64) { +func (c *chainClient) GetAccNonce() (accNum, accSeq uint64) { return c.accNum, c.accSeq } @@ -561,7 +560,7 @@ func (c *chainClient) Close() { } } -//Bank Module +// Bank Module func (c *chainClient) GetBankBalances(ctx context.Context, address string) (*banktypes.QueryAllBalancesResponse, error) { req := &banktypes.QueryAllBalancesRequest{ @@ -572,7 +571,7 @@ func (c *chainClient) GetBankBalances(ctx context.Context, address string) (*ban return res, err } -func (c *chainClient) GetBankBalance(ctx context.Context, address string, denom string) (*banktypes.QueryBalanceResponse, error) { +func (c *chainClient) GetBankBalance(ctx context.Context, address, denom string) (*banktypes.QueryBalanceResponse, error) { req := &banktypes.QueryBalanceRequest{ Address: address, Denom: denom, @@ -592,7 +591,7 @@ func (c *chainClient) GetBankSpendableBalances(ctx context.Context, address stri return res, err } -func (c *chainClient) GetBankSpendableBalancesByDenom(ctx context.Context, address string, denom string) (*banktypes.QuerySpendableBalanceByDenomResponse, error) { +func (c *chainClient) GetBankSpendableBalancesByDenom(ctx context.Context, address, denom string) (*banktypes.QuerySpendableBalanceByDenomResponse, error) { req := &banktypes.QuerySpendableBalanceByDenomRequest{ Address: address, Denom: denom, @@ -1034,19 +1033,19 @@ func (c *chainClient) GetGasFee() (string, error) { return c.gasFee, err } -func (c *chainClient) DefaultSubaccount(acc sdk.AccAddress) eth.Hash { +func (c *chainClient) DefaultSubaccount(acc sdk.AccAddress) ethcommon.Hash { return c.Subaccount(acc, 0) } -func (c *chainClient) Subaccount(account sdk.AccAddress, index int) eth.Hash { - ethAddress := eth.BytesToAddress(account.Bytes()) +func (c *chainClient) Subaccount(account sdk.AccAddress, index int) ethcommon.Hash { + ethAddress := ethcommon.BytesToAddress(account.Bytes()) ethLowerAddress := strings.ToLower(ethAddress.String()) subaccountId := fmt.Sprintf("%s%024x", ethLowerAddress, index) - return eth.HexToHash(subaccountId) + return ethcommon.HexToHash(subaccountId) } -func (c *chainClient) GetSubAccountNonce(ctx context.Context, subaccountId eth.Hash) (*exchangetypes.QuerySubaccountTradeNonceResponse, error) { +func (c *chainClient) GetSubAccountNonce(ctx context.Context, subaccountId ethcommon.Hash) (*exchangetypes.QuerySubaccountTradeNonceResponse, error) { req := &exchangetypes.QuerySubaccountTradeNonceRequest{SubaccountId: subaccountId.String()} res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.SubaccountTradeNonce, req) @@ -1054,7 +1053,7 @@ func (c *chainClient) GetSubAccountNonce(ctx context.Context, subaccountId eth.H } // Deprecated: Use CreateSpotOrder instead -func (c *chainClient) SpotOrder(defaultSubaccountID eth.Hash, network common.Network, d *SpotOrderData) *exchangetypes.SpotOrder { +func (c *chainClient) SpotOrder(defaultSubaccountID ethcommon.Hash, network common.Network, d *SpotOrderData) *exchangetypes.SpotOrder { assistant, err := NewMarketsAssistant(network.Name) if err != nil { panic(err) @@ -1063,7 +1062,7 @@ func (c *chainClient) SpotOrder(defaultSubaccountID eth.Hash, network common.Net return c.CreateSpotOrder(defaultSubaccountID, d, assistant) } -func (c *chainClient) CreateSpotOrder(defaultSubaccountID eth.Hash, d *SpotOrderData, marketsAssistant MarketsAssistant) *exchangetypes.SpotOrder { +func (c *chainClient) CreateSpotOrder(defaultSubaccountID ethcommon.Hash, d *SpotOrderData, marketsAssistant MarketsAssistant) *exchangetypes.SpotOrder { market, isPresent := marketsAssistant.AllSpotMarkets()[d.MarketId] if !isPresent { @@ -1087,7 +1086,7 @@ func (c *chainClient) CreateSpotOrder(defaultSubaccountID eth.Hash, d *SpotOrder } // Deprecated: Use CreateDerivativeOrder instead -func (c *chainClient) DerivativeOrder(defaultSubaccountID eth.Hash, network common.Network, d *DerivativeOrderData) *exchangetypes.DerivativeOrder { +func (c *chainClient) DerivativeOrder(defaultSubaccountID ethcommon.Hash, network common.Network, d *DerivativeOrderData) *exchangetypes.DerivativeOrder { assistant, err := NewMarketsAssistant(network.Name) if err != nil { @@ -1097,7 +1096,7 @@ func (c *chainClient) DerivativeOrder(defaultSubaccountID eth.Hash, network comm return c.CreateDerivativeOrder(defaultSubaccountID, d, assistant) } -func (c *chainClient) CreateDerivativeOrder(defaultSubaccountID eth.Hash, d *DerivativeOrderData, marketAssistant MarketsAssistant) *exchangetypes.DerivativeOrder { +func (c *chainClient) CreateDerivativeOrder(defaultSubaccountID ethcommon.Hash, d *DerivativeOrderData, marketAssistant MarketsAssistant) *exchangetypes.DerivativeOrder { market, isPresent := marketAssistant.AllDerivativeMarkets()[d.MarketId] if !isPresent { panic(errors.Errorf("Invalid derivative market id for %s network (%s)", c.network.Name, d.MarketId)) @@ -1125,7 +1124,7 @@ func (c *chainClient) CreateDerivativeOrder(defaultSubaccountID eth.Hash, d *Der } } -func (c *chainClient) OrderCancel(defaultSubaccountID eth.Hash, d *OrderCancelData) *exchangetypes.OrderData { +func (c *chainClient) OrderCancel(defaultSubaccountID ethcommon.Hash, d *OrderCancelData) *exchangetypes.OrderData { return &exchangetypes.OrderData{ MarketId: d.MarketId, OrderHash: d.OrderHash, @@ -1140,7 +1139,7 @@ func (c *chainClient) GetAuthzGrants(ctx context.Context, req authztypes.QueryGr return res, err } -func (c *chainClient) BuildGenericAuthz(granter string, grantee string, msgtype string, expireIn time.Time) *authztypes.MsgGrant { +func (c *chainClient) BuildGenericAuthz(granter, grantee, msgtype string, expireIn time.Time) *authztypes.MsgGrant { authz := authztypes.NewGenericAuthorization(msgtype) authzAny := codectypes.UnsafePackAny(authz) return &authztypes.MsgGrant{ @@ -1171,7 +1170,7 @@ var ( BatchUpdateOrdersAuthz = ExchangeAuthz("/" + proto.MessageName(&exchangetypes.BatchUpdateOrdersAuthz{})) ) -func (c *chainClient) BuildExchangeAuthz(granter string, grantee string, authzType ExchangeAuthz, subaccountId string, markets []string, expireIn time.Time) *authztypes.MsgGrant { +func (c *chainClient) BuildExchangeAuthz(granter, grantee string, authzType ExchangeAuthz, subaccountId string, markets []string, expireIn time.Time) *authztypes.MsgGrant { var typedAuthzAny codectypes.Any var typedAuthzBytes []byte switch authzType { @@ -1550,7 +1549,7 @@ func (c *chainClient) FetchContractsByCreator(ctx context.Context, creator strin // Tokenfactory module -func (c *chainClient) FetchDenomAuthorityMetadata(ctx context.Context, creator string, subDenom string) (*tokenfactorytypes.QueryDenomAuthorityMetadataResponse, error) { +func (c *chainClient) FetchDenomAuthorityMetadata(ctx context.Context, creator, subDenom string) (*tokenfactorytypes.QueryDenomAuthorityMetadataResponse, error) { req := &tokenfactorytypes.QueryDenomAuthorityMetadataRequest{ Creator: creator, } @@ -1636,7 +1635,7 @@ func (c *chainClient) FetchValidatorCommission(ctx context.Context, validatorAdd return res, err } -func (c *chainClient) FetchValidatorSlashes(ctx context.Context, validatorAddress string, startingHeight uint64, endingHeight uint64, pagination *query.PageRequest) (*distributiontypes.QueryValidatorSlashesResponse, error) { +func (c *chainClient) FetchValidatorSlashes(ctx context.Context, validatorAddress string, startingHeight, endingHeight uint64, pagination *query.PageRequest) (*distributiontypes.QueryValidatorSlashesResponse, error) { req := &distributiontypes.QueryValidatorSlashesRequest{ ValidatorAddress: validatorAddress, StartingHeight: startingHeight, @@ -1648,7 +1647,7 @@ func (c *chainClient) FetchValidatorSlashes(ctx context.Context, validatorAddres return res, err } -func (c *chainClient) FetchDelegationRewards(ctx context.Context, delegatorAddress string, validatorAddress string) (*distributiontypes.QueryDelegationRewardsResponse, error) { +func (c *chainClient) FetchDelegationRewards(ctx context.Context, delegatorAddress, validatorAddress string) (*distributiontypes.QueryDelegationRewardsResponse, error) { req := &distributiontypes.QueryDelegationRewardsRequest{ DelegatorAddress: delegatorAddress, ValidatorAddress: validatorAddress, @@ -1702,7 +1701,7 @@ func (c *chainClient) FetchSubaccountDeposits(ctx context.Context, subaccountId return res, err } -func (c *chainClient) FetchSubaccountDeposit(ctx context.Context, subaccountId string, denom string) (*exchangetypes.QuerySubaccountDepositResponse, error) { +func (c *chainClient) FetchSubaccountDeposit(ctx context.Context, subaccountId, denom string) (*exchangetypes.QuerySubaccountDepositResponse, error) { req := &exchangetypes.QuerySubaccountDepositRequest{ SubaccountId: subaccountId, Denom: denom, @@ -1728,7 +1727,7 @@ func (c *chainClient) FetchAggregateVolume(ctx context.Context, account string) return res, err } -func (c *chainClient) FetchAggregateVolumes(ctx context.Context, accounts []string, marketIds []string) (*exchangetypes.QueryAggregateVolumesResponse, error) { +func (c *chainClient) FetchAggregateVolumes(ctx context.Context, accounts, marketIds []string) (*exchangetypes.QueryAggregateVolumesResponse, error) { req := &exchangetypes.QueryAggregateVolumesRequest{ Accounts: accounts, MarketIds: marketIds, @@ -1818,7 +1817,7 @@ func (c *chainClient) FetchChainFullSpotMarket(ctx context.Context, marketId str return res, err } -func (c *chainClient) FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional sdkmath.LegacyDec, limitCumulativeQuantity sdkmath.LegacyDec) (*exchangetypes.QuerySpotOrderbookResponse, error) { +func (c *chainClient) FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional, limitCumulativeQuantity sdkmath.LegacyDec) (*exchangetypes.QuerySpotOrderbookResponse, error) { req := &exchangetypes.QuerySpotOrderbookRequest{ MarketId: marketId, Limit: limit, @@ -1831,7 +1830,7 @@ func (c *chainClient) FetchChainSpotOrderbook(ctx context.Context, marketId stri return res, err } -func (c *chainClient) FetchChainTraderSpotOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) { +func (c *chainClient) FetchChainTraderSpotOrders(ctx context.Context, marketId, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) { req := &exchangetypes.QueryTraderSpotOrdersRequest{ MarketId: marketId, SubaccountId: subaccountId, @@ -1841,7 +1840,7 @@ func (c *chainClient) FetchChainTraderSpotOrders(ctx context.Context, marketId s return res, err } -func (c *chainClient) FetchChainAccountAddressSpotOrders(ctx context.Context, marketId string, address string) (*exchangetypes.QueryAccountAddressSpotOrdersResponse, error) { +func (c *chainClient) FetchChainAccountAddressSpotOrders(ctx context.Context, marketId, address string) (*exchangetypes.QueryAccountAddressSpotOrdersResponse, error) { req := &exchangetypes.QueryAccountAddressSpotOrdersRequest{ MarketId: marketId, AccountAddress: address, @@ -1851,7 +1850,7 @@ func (c *chainClient) FetchChainAccountAddressSpotOrders(ctx context.Context, ma return res, err } -func (c *chainClient) FetchChainSpotOrdersByHashes(ctx context.Context, marketId string, subaccountId string, orderHashes []string) (*exchangetypes.QuerySpotOrdersByHashesResponse, error) { +func (c *chainClient) FetchChainSpotOrdersByHashes(ctx context.Context, marketId, subaccountId string, orderHashes []string) (*exchangetypes.QuerySpotOrdersByHashesResponse, error) { req := &exchangetypes.QuerySpotOrdersByHashesRequest{ MarketId: marketId, SubaccountId: subaccountId, @@ -1862,7 +1861,7 @@ func (c *chainClient) FetchChainSpotOrdersByHashes(ctx context.Context, marketId return res, err } -func (c *chainClient) FetchChainSubaccountOrders(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QuerySubaccountOrdersResponse, error) { +func (c *chainClient) FetchChainSubaccountOrders(ctx context.Context, subaccountId, marketId string) (*exchangetypes.QuerySubaccountOrdersResponse, error) { req := &exchangetypes.QuerySubaccountOrdersRequest{ SubaccountId: subaccountId, MarketId: marketId, @@ -1872,7 +1871,7 @@ func (c *chainClient) FetchChainSubaccountOrders(ctx context.Context, subaccount return res, err } -func (c *chainClient) FetchChainTraderSpotTransientOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) { +func (c *chainClient) FetchChainTraderSpotTransientOrders(ctx context.Context, marketId, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) { req := &exchangetypes.QueryTraderSpotOrdersRequest{ MarketId: marketId, SubaccountId: subaccountId, @@ -1911,7 +1910,7 @@ func (c *chainClient) FetchChainDerivativeOrderbook(ctx context.Context, marketI return res, err } -func (c *chainClient) FetchChainTraderDerivativeOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) { +func (c *chainClient) FetchChainTraderDerivativeOrders(ctx context.Context, marketId, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) { req := &exchangetypes.QueryTraderDerivativeOrdersRequest{ MarketId: marketId, SubaccountId: subaccountId, @@ -1921,7 +1920,7 @@ func (c *chainClient) FetchChainTraderDerivativeOrders(ctx context.Context, mark return res, err } -func (c *chainClient) FetchChainAccountAddressDerivativeOrders(ctx context.Context, marketId string, address string) (*exchangetypes.QueryAccountAddressDerivativeOrdersResponse, error) { +func (c *chainClient) FetchChainAccountAddressDerivativeOrders(ctx context.Context, marketId, address string) (*exchangetypes.QueryAccountAddressDerivativeOrdersResponse, error) { req := &exchangetypes.QueryAccountAddressDerivativeOrdersRequest{ MarketId: marketId, AccountAddress: address, @@ -1931,7 +1930,7 @@ func (c *chainClient) FetchChainAccountAddressDerivativeOrders(ctx context.Conte return res, err } -func (c *chainClient) FetchChainDerivativeOrdersByHashes(ctx context.Context, marketId string, subaccountId string, orderHashes []string) (*exchangetypes.QueryDerivativeOrdersByHashesResponse, error) { +func (c *chainClient) FetchChainDerivativeOrdersByHashes(ctx context.Context, marketId, subaccountId string, orderHashes []string) (*exchangetypes.QueryDerivativeOrdersByHashesResponse, error) { req := &exchangetypes.QueryDerivativeOrdersByHashesRequest{ MarketId: marketId, SubaccountId: subaccountId, @@ -1942,7 +1941,7 @@ func (c *chainClient) FetchChainDerivativeOrdersByHashes(ctx context.Context, ma return res, err } -func (c *chainClient) FetchChainTraderDerivativeTransientOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) { +func (c *chainClient) FetchChainTraderDerivativeTransientOrders(ctx context.Context, marketId, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) { req := &exchangetypes.QueryTraderDerivativeOrdersRequest{ MarketId: marketId, SubaccountId: subaccountId, @@ -2008,7 +2007,7 @@ func (c *chainClient) FetchChainSubaccountPositions(ctx context.Context, subacco return res, err } -func (c *chainClient) FetchChainSubaccountPositionInMarket(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QuerySubaccountPositionInMarketResponse, error) { +func (c *chainClient) FetchChainSubaccountPositionInMarket(ctx context.Context, subaccountId, marketId string) (*exchangetypes.QuerySubaccountPositionInMarketResponse, error) { req := &exchangetypes.QuerySubaccountPositionInMarketRequest{ SubaccountId: subaccountId, MarketId: marketId, @@ -2018,7 +2017,7 @@ func (c *chainClient) FetchChainSubaccountPositionInMarket(ctx context.Context, return res, err } -func (c *chainClient) FetchChainSubaccountEffectivePositionInMarket(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QuerySubaccountEffectivePositionInMarketResponse, error) { +func (c *chainClient) FetchChainSubaccountEffectivePositionInMarket(ctx context.Context, subaccountId, marketId string) (*exchangetypes.QuerySubaccountEffectivePositionInMarketResponse, error) { req := &exchangetypes.QuerySubaccountEffectivePositionInMarketRequest{ SubaccountId: subaccountId, MarketId: marketId, @@ -2189,7 +2188,7 @@ func (c *chainClient) FetchChainBinaryOptionsMarkets(ctx context.Context, status return res, err } -func (c *chainClient) FetchTraderDerivativeConditionalOrders(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QueryTraderDerivativeConditionalOrdersResponse, error) { +func (c *chainClient) FetchTraderDerivativeConditionalOrders(ctx context.Context, subaccountId, marketId string) (*exchangetypes.QueryTraderDerivativeConditionalOrdersResponse, error) { req := &exchangetypes.QueryTraderDerivativeConditionalOrdersRequest{ SubaccountId: subaccountId, MarketId: marketId, @@ -2297,7 +2296,7 @@ func (c *chainClient) FetchDenomHash(ctx context.Context, trace string) (*ibctra return res, err } -func (c *chainClient) FetchEscrowAddress(ctx context.Context, portId string, channelId string) (*ibctransfertypes.QueryEscrowAddressResponse, error) { +func (c *chainClient) FetchEscrowAddress(ctx context.Context, portId, channelId string) (*ibctransfertypes.QueryEscrowAddressResponse, error) { req := &ibctransfertypes.QueryEscrowAddressRequest{ PortId: portId, ChannelId: channelId, @@ -2317,7 +2316,7 @@ func (c *chainClient) FetchTotalEscrowForDenom(ctx context.Context, denom string } // IBC Core Channel module -func (c *chainClient) FetchIBCChannel(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryChannelResponse, error) { +func (c *chainClient) FetchIBCChannel(ctx context.Context, portId, channelId string) (*ibcchanneltypes.QueryChannelResponse, error) { req := &ibcchanneltypes.QueryChannelRequest{ PortId: portId, ChannelId: channelId, @@ -2346,7 +2345,7 @@ func (c *chainClient) FetchIBCConnectionChannels(ctx context.Context, connection return res, err } -func (c *chainClient) FetchIBCChannelClientState(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryChannelClientStateResponse, error) { +func (c *chainClient) FetchIBCChannelClientState(ctx context.Context, portId, channelId string) (*ibcchanneltypes.QueryChannelClientStateResponse, error) { req := &ibcchanneltypes.QueryChannelClientStateRequest{ PortId: portId, ChannelId: channelId, @@ -2356,7 +2355,7 @@ func (c *chainClient) FetchIBCChannelClientState(ctx context.Context, portId str return res, err } -func (c *chainClient) FetchIBCChannelConsensusState(ctx context.Context, portId string, channelId string, revisionNumber uint64, revisionHeight uint64) (*ibcchanneltypes.QueryChannelConsensusStateResponse, error) { +func (c *chainClient) FetchIBCChannelConsensusState(ctx context.Context, portId, channelId string, revisionNumber, revisionHeight uint64) (*ibcchanneltypes.QueryChannelConsensusStateResponse, error) { req := &ibcchanneltypes.QueryChannelConsensusStateRequest{ PortId: portId, ChannelId: channelId, @@ -2368,7 +2367,7 @@ func (c *chainClient) FetchIBCChannelConsensusState(ctx context.Context, portId return res, err } -func (c *chainClient) FetchIBCPacketCommitment(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketCommitmentResponse, error) { +func (c *chainClient) FetchIBCPacketCommitment(ctx context.Context, portId, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketCommitmentResponse, error) { req := &ibcchanneltypes.QueryPacketCommitmentRequest{ PortId: portId, ChannelId: channelId, @@ -2379,7 +2378,7 @@ func (c *chainClient) FetchIBCPacketCommitment(ctx context.Context, portId strin return res, err } -func (c *chainClient) FetchIBCPacketCommitments(ctx context.Context, portId string, channelId string, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketCommitmentsResponse, error) { +func (c *chainClient) FetchIBCPacketCommitments(ctx context.Context, portId, channelId string, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketCommitmentsResponse, error) { req := &ibcchanneltypes.QueryPacketCommitmentsRequest{ PortId: portId, ChannelId: channelId, @@ -2390,7 +2389,7 @@ func (c *chainClient) FetchIBCPacketCommitments(ctx context.Context, portId stri return res, err } -func (c *chainClient) FetchIBCPacketReceipt(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketReceiptResponse, error) { +func (c *chainClient) FetchIBCPacketReceipt(ctx context.Context, portId, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketReceiptResponse, error) { req := &ibcchanneltypes.QueryPacketReceiptRequest{ PortId: portId, ChannelId: channelId, @@ -2401,7 +2400,7 @@ func (c *chainClient) FetchIBCPacketReceipt(ctx context.Context, portId string, return res, err } -func (c *chainClient) FetchIBCPacketAcknowledgement(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketAcknowledgementResponse, error) { +func (c *chainClient) FetchIBCPacketAcknowledgement(ctx context.Context, portId, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketAcknowledgementResponse, error) { req := &ibcchanneltypes.QueryPacketAcknowledgementRequest{ PortId: portId, ChannelId: channelId, @@ -2412,7 +2411,7 @@ func (c *chainClient) FetchIBCPacketAcknowledgement(ctx context.Context, portId return res, err } -func (c *chainClient) FetchIBCPacketAcknowledgements(ctx context.Context, portId string, channelId string, packetCommitmentSequences []uint64, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketAcknowledgementsResponse, error) { +func (c *chainClient) FetchIBCPacketAcknowledgements(ctx context.Context, portId, channelId string, packetCommitmentSequences []uint64, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketAcknowledgementsResponse, error) { req := &ibcchanneltypes.QueryPacketAcknowledgementsRequest{ PortId: portId, ChannelId: channelId, @@ -2424,7 +2423,7 @@ func (c *chainClient) FetchIBCPacketAcknowledgements(ctx context.Context, portId return res, err } -func (c *chainClient) FetchIBCUnreceivedPackets(ctx context.Context, portId string, channelId string, packetCommitmentSequences []uint64) (*ibcchanneltypes.QueryUnreceivedPacketsResponse, error) { +func (c *chainClient) FetchIBCUnreceivedPackets(ctx context.Context, portId, channelId string, packetCommitmentSequences []uint64) (*ibcchanneltypes.QueryUnreceivedPacketsResponse, error) { req := &ibcchanneltypes.QueryUnreceivedPacketsRequest{ PortId: portId, ChannelId: channelId, @@ -2435,7 +2434,7 @@ func (c *chainClient) FetchIBCUnreceivedPackets(ctx context.Context, portId stri return res, err } -func (c *chainClient) FetchIBCUnreceivedAcks(ctx context.Context, portId string, channelId string, packetAckSequences []uint64) (*ibcchanneltypes.QueryUnreceivedAcksResponse, error) { +func (c *chainClient) FetchIBCUnreceivedAcks(ctx context.Context, portId, channelId string, packetAckSequences []uint64) (*ibcchanneltypes.QueryUnreceivedAcksResponse, error) { req := &ibcchanneltypes.QueryUnreceivedAcksRequest{ PortId: portId, ChannelId: channelId, @@ -2446,7 +2445,7 @@ func (c *chainClient) FetchIBCUnreceivedAcks(ctx context.Context, portId string, return res, err } -func (c *chainClient) FetchIBCNextSequenceReceive(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryNextSequenceReceiveResponse, error) { +func (c *chainClient) FetchIBCNextSequenceReceive(ctx context.Context, portId, channelId string) (*ibcchanneltypes.QueryNextSequenceReceiveResponse, error) { req := &ibcchanneltypes.QueryNextSequenceReceiveRequest{ PortId: portId, ChannelId: channelId, @@ -2475,7 +2474,7 @@ func (c *chainClient) FetchIBCClientStates(ctx context.Context, pagination *quer return res, err } -func (c *chainClient) FetchIBCConsensusState(ctx context.Context, clientId string, revisionNumber uint64, revisionHeight uint64, latestHeight bool) (*ibcclienttypes.QueryConsensusStateResponse, error) { +func (c *chainClient) FetchIBCConsensusState(ctx context.Context, clientId string, revisionNumber, revisionHeight uint64, latestHeight bool) (*ibcclienttypes.QueryConsensusStateResponse, error) { req := &ibcclienttypes.QueryConsensusStateRequest{ ClientId: clientId, RevisionNumber: revisionNumber, @@ -2574,7 +2573,7 @@ func (c *chainClient) FetchIBCConnectionClientState(ctx context.Context, connect return res, err } -func (c *chainClient) FetchIBCConnectionConsensusState(ctx context.Context, connectionId string, revisionNumber uint64, revisionHeight uint64) (*ibcconnectiontypes.QueryConnectionConsensusStateResponse, error) { +func (c *chainClient) FetchIBCConnectionConsensusState(ctx context.Context, connectionId string, revisionNumber, revisionHeight uint64) (*ibcconnectiontypes.QueryConnectionConsensusStateResponse, error) { req := &ibcconnectiontypes.QueryConnectionConsensusStateRequest{ ConnectionId: connectionId, RevisionNumber: revisionNumber, diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index de867442..2d8af3ab 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -51,7 +51,7 @@ func (c *MockChainClient) ClientContext() client.Context { return client.Context{} } -func (c *MockChainClient) GetAccNonce() (accNum uint64, accSeq uint64) { +func (c *MockChainClient) GetAccNonce() (accNum, accSeq uint64) { return 1, 2 } @@ -68,7 +68,7 @@ func (c *MockChainClient) SyncBroadcastMsg(msgs ...sdk.Msg) (*txtypes.BroadcastT } func (c *MockChainClient) BuildSignedTx(clientCtx client.Context, accNum, accSeq, initialGas uint64, msg ...sdk.Msg) ([]byte, error) { - return *new([]byte), nil + return []byte(nil), nil } func (c *MockChainClient) SyncBroadcastSignedTx(tyBytes []byte) (*txtypes.BroadcastTxResponse, error) { @@ -87,7 +87,7 @@ func (c *MockChainClient) GetBankBalances(ctx context.Context, address string) ( return &banktypes.QueryAllBalancesResponse{}, nil } -func (c *MockChainClient) GetBankBalance(ctx context.Context, address string, denom string) (*banktypes.QueryBalanceResponse, error) { +func (c *MockChainClient) GetBankBalance(ctx context.Context, address, denom string) (*banktypes.QueryBalanceResponse, error) { return &banktypes.QueryBalanceResponse{}, nil } @@ -95,7 +95,7 @@ func (c *MockChainClient) GetBankSpendableBalances(ctx context.Context, address return &banktypes.QuerySpendableBalancesResponse{}, nil } -func (c *MockChainClient) GetBankSpendableBalancesByDenom(ctx context.Context, address string, denom string) (*banktypes.QuerySpendableBalanceByDenomResponse, error) { +func (c *MockChainClient) GetBankSpendableBalancesByDenom(ctx context.Context, address, denom string) (*banktypes.QuerySpendableBalanceByDenomResponse, error) { return &banktypes.QuerySpendableBalanceByDenomResponse{}, nil } @@ -142,11 +142,11 @@ func (c *MockChainClient) GetAccount(ctx context.Context, address string) (*auth return &authtypes.QueryAccountResponse{}, nil } -func (c *MockChainClient) BuildGenericAuthz(granter string, grantee string, msgtype string, expireIn time.Time) *authztypes.MsgGrant { +func (c *MockChainClient) BuildGenericAuthz(granter, grantee, msgtype string, expireIn time.Time) *authztypes.MsgGrant { return &authztypes.MsgGrant{} } -func (c *MockChainClient) BuildExchangeAuthz(granter string, grantee string, authzType ExchangeAuthz, subaccountId string, markets []string, expireIn time.Time) *authztypes.MsgGrant { +func (c *MockChainClient) BuildExchangeAuthz(granter, grantee string, authzType ExchangeAuthz, subaccountId string, markets []string, expireIn time.Time) *authztypes.MsgGrant { return &authztypes.MsgGrant{} } @@ -282,7 +282,7 @@ func (c *MockChainClient) FetchContractsByCreator(ctx context.Context, creator s return &wasmtypes.QueryContractsByCreatorResponse{}, nil } -func (c *MockChainClient) FetchDenomAuthorityMetadata(ctx context.Context, creator string, subDenom string) (*tokenfactorytypes.QueryDenomAuthorityMetadataResponse, error) { +func (c *MockChainClient) FetchDenomAuthorityMetadata(ctx context.Context, creator, subDenom string) (*tokenfactorytypes.QueryDenomAuthorityMetadataResponse, error) { return &tokenfactorytypes.QueryDenomAuthorityMetadataResponse{}, nil } @@ -307,11 +307,11 @@ func (c *MockChainClient) FetchValidatorCommission(ctx context.Context, validato return &distributiontypes.QueryValidatorCommissionResponse{}, nil } -func (c *MockChainClient) FetchValidatorSlashes(ctx context.Context, validatorAddress string, startingHeight uint64, endingHeight uint64, pagination *query.PageRequest) (*distributiontypes.QueryValidatorSlashesResponse, error) { +func (c *MockChainClient) FetchValidatorSlashes(ctx context.Context, validatorAddress string, startingHeight, endingHeight uint64, pagination *query.PageRequest) (*distributiontypes.QueryValidatorSlashesResponse, error) { return &distributiontypes.QueryValidatorSlashesResponse{}, nil } -func (c *MockChainClient) FetchDelegationRewards(ctx context.Context, delegatorAddress string, validatorAddress string) (*distributiontypes.QueryDelegationRewardsResponse, error) { +func (c *MockChainClient) FetchDelegationRewards(ctx context.Context, delegatorAddress, validatorAddress string) (*distributiontypes.QueryDelegationRewardsResponse, error) { return &distributiontypes.QueryDelegationRewardsResponse{}, nil } @@ -336,7 +336,7 @@ func (c *MockChainClient) FetchSubaccountDeposits(ctx context.Context, subaccoun return &exchangetypes.QuerySubaccountDepositsResponse{}, nil } -func (c *MockChainClient) FetchSubaccountDeposit(ctx context.Context, subaccountId string, denom string) (*exchangetypes.QuerySubaccountDepositResponse, error) { +func (c *MockChainClient) FetchSubaccountDeposit(ctx context.Context, subaccountId, denom string) (*exchangetypes.QuerySubaccountDepositResponse, error) { return &exchangetypes.QuerySubaccountDepositResponse{}, nil } @@ -348,7 +348,7 @@ func (c *MockChainClient) FetchAggregateVolume(ctx context.Context, account stri return &exchangetypes.QueryAggregateVolumeResponse{}, nil } -func (c *MockChainClient) FetchAggregateVolumes(ctx context.Context, accounts []string, marketIds []string) (*exchangetypes.QueryAggregateVolumesResponse, error) { +func (c *MockChainClient) FetchAggregateVolumes(ctx context.Context, accounts, marketIds []string) (*exchangetypes.QueryAggregateVolumesResponse, error) { return &exchangetypes.QueryAggregateVolumesResponse{}, nil } @@ -384,27 +384,27 @@ func (c *MockChainClient) FetchChainFullSpotMarket(ctx context.Context, marketId return &exchangetypes.QueryFullSpotMarketResponse{}, nil } -func (c *MockChainClient) FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional sdkmath.LegacyDec, limitCumulativeQuantity sdkmath.LegacyDec) (*exchangetypes.QuerySpotOrderbookResponse, error) { +func (c *MockChainClient) FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional, limitCumulativeQuantity sdkmath.LegacyDec) (*exchangetypes.QuerySpotOrderbookResponse, error) { return &exchangetypes.QuerySpotOrderbookResponse{}, nil } -func (c *MockChainClient) FetchChainTraderSpotOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) { +func (c *MockChainClient) FetchChainTraderSpotOrders(ctx context.Context, marketId, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) { return &exchangetypes.QueryTraderSpotOrdersResponse{}, nil } -func (c *MockChainClient) FetchChainAccountAddressSpotOrders(ctx context.Context, marketId string, address string) (*exchangetypes.QueryAccountAddressSpotOrdersResponse, error) { +func (c *MockChainClient) FetchChainAccountAddressSpotOrders(ctx context.Context, marketId, address string) (*exchangetypes.QueryAccountAddressSpotOrdersResponse, error) { return &exchangetypes.QueryAccountAddressSpotOrdersResponse{}, nil } -func (c *MockChainClient) FetchChainSpotOrdersByHashes(ctx context.Context, marketId string, subaccountId string, orderHashes []string) (*exchangetypes.QuerySpotOrdersByHashesResponse, error) { +func (c *MockChainClient) FetchChainSpotOrdersByHashes(ctx context.Context, marketId, subaccountId string, orderHashes []string) (*exchangetypes.QuerySpotOrdersByHashesResponse, error) { return &exchangetypes.QuerySpotOrdersByHashesResponse{}, nil } -func (c *MockChainClient) FetchChainSubaccountOrders(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QuerySubaccountOrdersResponse, error) { +func (c *MockChainClient) FetchChainSubaccountOrders(ctx context.Context, subaccountId, marketId string) (*exchangetypes.QuerySubaccountOrdersResponse, error) { return &exchangetypes.QuerySubaccountOrdersResponse{}, nil } -func (c *MockChainClient) FetchChainTraderSpotTransientOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) { +func (c *MockChainClient) FetchChainTraderSpotTransientOrders(ctx context.Context, marketId, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) { return &exchangetypes.QueryTraderSpotOrdersResponse{}, nil } @@ -420,19 +420,19 @@ func (c *MockChainClient) FetchChainDerivativeOrderbook(ctx context.Context, mar return &exchangetypes.QueryDerivativeOrderbookResponse{}, nil } -func (c *MockChainClient) FetchChainTraderDerivativeOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) { +func (c *MockChainClient) FetchChainTraderDerivativeOrders(ctx context.Context, marketId, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) { return &exchangetypes.QueryTraderDerivativeOrdersResponse{}, nil } -func (c *MockChainClient) FetchChainAccountAddressDerivativeOrders(ctx context.Context, marketId string, address string) (*exchangetypes.QueryAccountAddressDerivativeOrdersResponse, error) { +func (c *MockChainClient) FetchChainAccountAddressDerivativeOrders(ctx context.Context, marketId, address string) (*exchangetypes.QueryAccountAddressDerivativeOrdersResponse, error) { return &exchangetypes.QueryAccountAddressDerivativeOrdersResponse{}, nil } -func (c *MockChainClient) FetchChainDerivativeOrdersByHashes(ctx context.Context, marketId string, subaccountId string, orderHashes []string) (*exchangetypes.QueryDerivativeOrdersByHashesResponse, error) { +func (c *MockChainClient) FetchChainDerivativeOrdersByHashes(ctx context.Context, marketId, subaccountId string, orderHashes []string) (*exchangetypes.QueryDerivativeOrdersByHashesResponse, error) { return &exchangetypes.QueryDerivativeOrdersByHashesResponse{}, nil } -func (c *MockChainClient) FetchChainTraderDerivativeTransientOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) { +func (c *MockChainClient) FetchChainTraderDerivativeTransientOrders(ctx context.Context, marketId, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) { return &exchangetypes.QueryTraderDerivativeOrdersResponse{}, nil } @@ -460,11 +460,11 @@ func (c *MockChainClient) FetchChainSubaccountPositions(ctx context.Context, sub return &exchangetypes.QuerySubaccountPositionsResponse{}, nil } -func (c *MockChainClient) FetchChainSubaccountPositionInMarket(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QuerySubaccountPositionInMarketResponse, error) { +func (c *MockChainClient) FetchChainSubaccountPositionInMarket(ctx context.Context, subaccountId, marketId string) (*exchangetypes.QuerySubaccountPositionInMarketResponse, error) { return &exchangetypes.QuerySubaccountPositionInMarketResponse{}, nil } -func (c *MockChainClient) FetchChainSubaccountEffectivePositionInMarket(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QuerySubaccountEffectivePositionInMarketResponse, error) { +func (c *MockChainClient) FetchChainSubaccountEffectivePositionInMarket(ctx context.Context, subaccountId, marketId string) (*exchangetypes.QuerySubaccountEffectivePositionInMarketResponse, error) { return &exchangetypes.QuerySubaccountEffectivePositionInMarketResponse{}, nil } @@ -544,7 +544,7 @@ func (c *MockChainClient) FetchChainBinaryOptionsMarkets(ctx context.Context, st return &exchangetypes.QueryBinaryMarketsResponse{}, nil } -func (c *MockChainClient) FetchTraderDerivativeConditionalOrders(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QueryTraderDerivativeConditionalOrdersResponse, error) { +func (c *MockChainClient) FetchTraderDerivativeConditionalOrders(ctx context.Context, subaccountId, marketId string) (*exchangetypes.QueryTraderDerivativeConditionalOrdersResponse, error) { return &exchangetypes.QueryTraderDerivativeConditionalOrdersResponse{}, nil } @@ -595,7 +595,7 @@ func (c *MockChainClient) FetchDenomHash(ctx context.Context, trace string) (*ib return &ibctransfertypes.QueryDenomHashResponse{}, nil } -func (c *MockChainClient) FetchEscrowAddress(ctx context.Context, portId string, channelId string) (*ibctransfertypes.QueryEscrowAddressResponse, error) { +func (c *MockChainClient) FetchEscrowAddress(ctx context.Context, portId, channelId string) (*ibctransfertypes.QueryEscrowAddressResponse, error) { return &ibctransfertypes.QueryEscrowAddressResponse{}, nil } @@ -604,7 +604,7 @@ func (c *MockChainClient) FetchTotalEscrowForDenom(ctx context.Context, denom st } // IBC Core Channel module -func (c *MockChainClient) FetchIBCChannel(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryChannelResponse, error) { +func (c *MockChainClient) FetchIBCChannel(ctx context.Context, portId, channelId string) (*ibcchanneltypes.QueryChannelResponse, error) { return &ibcchanneltypes.QueryChannelResponse{}, nil } @@ -616,43 +616,43 @@ func (c *MockChainClient) FetchIBCConnectionChannels(ctx context.Context, connec return &ibcchanneltypes.QueryConnectionChannelsResponse{}, nil } -func (c *MockChainClient) FetchIBCChannelClientState(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryChannelClientStateResponse, error) { +func (c *MockChainClient) FetchIBCChannelClientState(ctx context.Context, portId, channelId string) (*ibcchanneltypes.QueryChannelClientStateResponse, error) { return &ibcchanneltypes.QueryChannelClientStateResponse{}, nil } -func (c *MockChainClient) FetchIBCChannelConsensusState(ctx context.Context, portId string, channelId string, revisionNumber uint64, revisionHeight uint64) (*ibcchanneltypes.QueryChannelConsensusStateResponse, error) { +func (c *MockChainClient) FetchIBCChannelConsensusState(ctx context.Context, portId, channelId string, revisionNumber, revisionHeight uint64) (*ibcchanneltypes.QueryChannelConsensusStateResponse, error) { return &ibcchanneltypes.QueryChannelConsensusStateResponse{}, nil } -func (c *MockChainClient) FetchIBCPacketCommitment(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketCommitmentResponse, error) { +func (c *MockChainClient) FetchIBCPacketCommitment(ctx context.Context, portId, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketCommitmentResponse, error) { return &ibcchanneltypes.QueryPacketCommitmentResponse{}, nil } -func (c *MockChainClient) FetchIBCPacketCommitments(ctx context.Context, portId string, channelId string, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketCommitmentsResponse, error) { +func (c *MockChainClient) FetchIBCPacketCommitments(ctx context.Context, portId, channelId string, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketCommitmentsResponse, error) { return &ibcchanneltypes.QueryPacketCommitmentsResponse{}, nil } -func (c *MockChainClient) FetchIBCPacketReceipt(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketReceiptResponse, error) { +func (c *MockChainClient) FetchIBCPacketReceipt(ctx context.Context, portId, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketReceiptResponse, error) { return &ibcchanneltypes.QueryPacketReceiptResponse{}, nil } -func (c *MockChainClient) FetchIBCPacketAcknowledgement(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketAcknowledgementResponse, error) { +func (c *MockChainClient) FetchIBCPacketAcknowledgement(ctx context.Context, portId, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketAcknowledgementResponse, error) { return &ibcchanneltypes.QueryPacketAcknowledgementResponse{}, nil } -func (c *MockChainClient) FetchIBCPacketAcknowledgements(ctx context.Context, portId string, channelId string, packetCommitmentSequences []uint64, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketAcknowledgementsResponse, error) { +func (c *MockChainClient) FetchIBCPacketAcknowledgements(ctx context.Context, portId, channelId string, packetCommitmentSequences []uint64, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketAcknowledgementsResponse, error) { return &ibcchanneltypes.QueryPacketAcknowledgementsResponse{}, nil } -func (c *MockChainClient) FetchIBCUnreceivedPackets(ctx context.Context, portId string, channelId string, packetCommitmentSequences []uint64) (*ibcchanneltypes.QueryUnreceivedPacketsResponse, error) { +func (c *MockChainClient) FetchIBCUnreceivedPackets(ctx context.Context, portId, channelId string, packetCommitmentSequences []uint64) (*ibcchanneltypes.QueryUnreceivedPacketsResponse, error) { return &ibcchanneltypes.QueryUnreceivedPacketsResponse{}, nil } -func (c *MockChainClient) FetchIBCUnreceivedAcks(ctx context.Context, portId string, channelId string, packetAckSequences []uint64) (*ibcchanneltypes.QueryUnreceivedAcksResponse, error) { +func (c *MockChainClient) FetchIBCUnreceivedAcks(ctx context.Context, portId, channelId string, packetAckSequences []uint64) (*ibcchanneltypes.QueryUnreceivedAcksResponse, error) { return &ibcchanneltypes.QueryUnreceivedAcksResponse{}, nil } -func (c *MockChainClient) FetchIBCNextSequenceReceive(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryNextSequenceReceiveResponse, error) { +func (c *MockChainClient) FetchIBCNextSequenceReceive(ctx context.Context, portId, channelId string) (*ibcchanneltypes.QueryNextSequenceReceiveResponse, error) { return &ibcchanneltypes.QueryNextSequenceReceiveResponse{}, nil } @@ -665,7 +665,7 @@ func (c *MockChainClient) FetchIBCClientStates(ctx context.Context, pagination * return &ibcclienttypes.QueryClientStatesResponse{}, nil } -func (c *MockChainClient) FetchIBCConsensusState(ctx context.Context, clientId string, revisionNumber uint64, revisionHeight uint64, latestHeight bool) (*ibcclienttypes.QueryConsensusStateResponse, error) { +func (c *MockChainClient) FetchIBCConsensusState(ctx context.Context, clientId string, revisionNumber, revisionHeight uint64, latestHeight bool) (*ibcclienttypes.QueryConsensusStateResponse, error) { return &ibcclienttypes.QueryConsensusStateResponse{}, nil } @@ -710,7 +710,7 @@ func (c *MockChainClient) FetchIBCConnectionClientState(ctx context.Context, con return &ibcconnectiontypes.QueryConnectionClientStateResponse{}, nil } -func (c *MockChainClient) FetchIBCConnectionConsensusState(ctx context.Context, connectionId string, revisionNumber uint64, revisionHeight uint64) (*ibcconnectiontypes.QueryConnectionConsensusStateResponse, error) { +func (c *MockChainClient) FetchIBCConnectionConsensusState(ctx context.Context, connectionId string, revisionNumber, revisionHeight uint64) (*ibcconnectiontypes.QueryConnectionConsensusStateResponse, error) { return &ibcconnectiontypes.QueryConnectionConsensusStateResponse{}, nil } diff --git a/client/chain/keys.go b/client/chain/keys.go index f23a380b..f9a97aa2 100644 --- a/client/chain/keys.go +++ b/client/chain/keys.go @@ -48,7 +48,7 @@ func InitCosmosKeyring( return emptyCosmosAddress, nil, err } - // Specfic to Injective chain with Ethermint keys + // Specific to Injective chain with Ethermint keys // Should be secp256k1.PrivKey for generic Cosmos chain cosmosAccPk := ðsecp256k1.PrivKey{ Key: pkBytes, @@ -72,7 +72,7 @@ func InitCosmosKeyring( } } - if len(keyName) == 0 { + if keyName == "" { keyName = defaultKeyringKeyName } diff --git a/client/chain/markets_assistant.go b/client/chain/markets_assistant.go index 10b2b188..6b970d4d 100644 --- a/client/chain/markets_assistant.go +++ b/client/chain/markets_assistant.go @@ -112,22 +112,20 @@ func NewMarketsAssistant(networkName string) (MarketsAssistant, error) { assistant.derivativeMarkets[market.Id] = market } - } else { - if sectionName != "DEFAULT" { - tokenDecimals, _ := section.Key("decimals").Int() - newToken := core.Token{ - Name: sectionName, - Symbol: sectionName, - Denom: section.Key("peggy_denom").String(), - Address: "", - Decimals: int32(tokenDecimals), - Logo: "", - Updated: -1, - } - - assistant.tokensByDenom[newToken.Denom] = newToken - assistant.tokensBySymbol[newToken.Symbol] = newToken + } else if sectionName != "DEFAULT" { + tokenDecimals, _ := section.Key("decimals").Int() + newToken := core.Token{ + Name: sectionName, + Symbol: sectionName, + Denom: section.Key("peggy_denom").String(), + Address: "", + Decimals: int32(tokenDecimals), + Logo: "", + Updated: -1, } + + assistant.tokensByDenom[newToken.Denom] = newToken + assistant.tokensBySymbol[newToken.Symbol] = newToken } } } @@ -150,40 +148,42 @@ func NewMarketsAssistantInitializedFromChain(ctx context.Context, exchangeClient } for _, marketInfo := range spotMarkets.GetMarkets() { - if len(marketInfo.GetBaseTokenMeta().GetSymbol()) > 0 && len(marketInfo.GetQuoteTokenMeta().GetSymbol()) > 0 { - var baseTokenSymbol, quoteTokenSymbol string - if strings.Contains(marketInfo.GetTicker(), "/") { - baseAndQuote := strings.Split(marketInfo.GetTicker(), "/") - baseTokenSymbol, quoteTokenSymbol = baseAndQuote[0], baseAndQuote[1] - } else { - baseTokenSymbol = marketInfo.GetBaseTokenMeta().GetSymbol() - quoteTokenSymbol = marketInfo.GetQuoteTokenMeta().GetSymbol() - } + if marketInfo.GetBaseTokenMeta().GetSymbol() == "" || marketInfo.GetQuoteTokenMeta().GetSymbol() == "" { + continue + } - baseToken := spotTokenRepresentation(baseTokenSymbol, marketInfo.GetBaseTokenMeta(), marketInfo.GetBaseDenom(), &assistant) - quoteToken := spotTokenRepresentation(quoteTokenSymbol, marketInfo.GetQuoteTokenMeta(), marketInfo.GetQuoteDenom(), &assistant) - - makerFeeRate := decimal.RequireFromString(marketInfo.GetMakerFeeRate()) - takerFeeRate := decimal.RequireFromString(marketInfo.GetTakerFeeRate()) - serviceProviderFee := decimal.RequireFromString(marketInfo.GetServiceProviderFee()) - minPriceTickSize := decimal.RequireFromString(marketInfo.GetMinPriceTickSize()) - minQuantityTickSize := decimal.RequireFromString(marketInfo.GetMinQuantityTickSize()) - - market := core.SpotMarket{ - Id: marketInfo.GetMarketId(), - Status: marketInfo.GetMarketStatus(), - Ticker: marketInfo.GetTicker(), - BaseToken: baseToken, - QuoteToken: quoteToken, - MakerFeeRate: makerFeeRate, - TakerFeeRate: takerFeeRate, - ServiceProviderFee: serviceProviderFee, - MinPriceTickSize: minPriceTickSize, - MinQuantityTickSize: minQuantityTickSize, - } + var baseTokenSymbol, quoteTokenSymbol string + if strings.Contains(marketInfo.GetTicker(), "/") { + baseAndQuote := strings.Split(marketInfo.GetTicker(), "/") + baseTokenSymbol, quoteTokenSymbol = baseAndQuote[0], baseAndQuote[1] + } else { + baseTokenSymbol = marketInfo.GetBaseTokenMeta().GetSymbol() + quoteTokenSymbol = marketInfo.GetQuoteTokenMeta().GetSymbol() + } - assistant.spotMarkets[market.Id] = market + baseToken := spotTokenRepresentation(baseTokenSymbol, marketInfo.GetBaseTokenMeta(), marketInfo.GetBaseDenom(), &assistant) + quoteToken := spotTokenRepresentation(quoteTokenSymbol, marketInfo.GetQuoteTokenMeta(), marketInfo.GetQuoteDenom(), &assistant) + + makerFeeRate := decimal.RequireFromString(marketInfo.GetMakerFeeRate()) + takerFeeRate := decimal.RequireFromString(marketInfo.GetTakerFeeRate()) + serviceProviderFee := decimal.RequireFromString(marketInfo.GetServiceProviderFee()) + minPriceTickSize := decimal.RequireFromString(marketInfo.GetMinPriceTickSize()) + minQuantityTickSize := decimal.RequireFromString(marketInfo.GetMinQuantityTickSize()) + + market := core.SpotMarket{ + Id: marketInfo.GetMarketId(), + Status: marketInfo.GetMarketStatus(), + Ticker: marketInfo.GetTicker(), + BaseToken: baseToken, + QuoteToken: quoteToken, + MakerFeeRate: makerFeeRate, + TakerFeeRate: takerFeeRate, + ServiceProviderFee: serviceProviderFee, + MinPriceTickSize: minPriceTickSize, + MinQuantityTickSize: minQuantityTickSize, } + + assistant.spotMarkets[market.Id] = market } derivativeMarketsRequest := derivativeExchangePB.MarketsRequest{ @@ -196,39 +196,41 @@ func NewMarketsAssistantInitializedFromChain(ctx context.Context, exchangeClient } for _, marketInfo := range derivativeMarkets.GetMarkets() { - if len(marketInfo.GetQuoteTokenMeta().GetSymbol()) > 0 { - quoteTokenSymbol := marketInfo.GetQuoteTokenMeta().GetSymbol() - - quoteToken := derivativeTokenRepresentation(quoteTokenSymbol, marketInfo.GetQuoteTokenMeta(), marketInfo.GetQuoteDenom(), &assistant) - - initialMarginRatio := decimal.RequireFromString(marketInfo.GetInitialMarginRatio()) - maintenanceMarginRatio := decimal.RequireFromString(marketInfo.GetMaintenanceMarginRatio()) - makerFeeRate := decimal.RequireFromString(marketInfo.GetMakerFeeRate()) - takerFeeRate := decimal.RequireFromString(marketInfo.GetTakerFeeRate()) - serviceProviderFee := decimal.RequireFromString(marketInfo.GetServiceProviderFee()) - minPriceTickSize := decimal.RequireFromString(marketInfo.GetMinPriceTickSize()) - minQuantityTickSize := decimal.RequireFromString(marketInfo.GetMinQuantityTickSize()) - - market := core.DerivativeMarket{ - Id: marketInfo.GetMarketId(), - Status: marketInfo.GetMarketStatus(), - Ticker: marketInfo.GetTicker(), - OracleBase: marketInfo.GetOracleBase(), - OracleQuote: marketInfo.GetOracleQuote(), - OracleType: marketInfo.GetOracleType(), - OracleScaleFactor: marketInfo.GetOracleScaleFactor(), - InitialMarginRatio: initialMarginRatio, - MaintenanceMarginRatio: maintenanceMarginRatio, - QuoteToken: quoteToken, - MakerFeeRate: makerFeeRate, - TakerFeeRate: takerFeeRate, - ServiceProviderFee: serviceProviderFee, - MinPriceTickSize: minPriceTickSize, - MinQuantityTickSize: minQuantityTickSize, - } + if marketInfo.GetQuoteTokenMeta().GetSymbol() == "" { + continue + } - assistant.derivativeMarkets[market.Id] = market + quoteTokenSymbol := marketInfo.GetQuoteTokenMeta().GetSymbol() + + quoteToken := derivativeTokenRepresentation(quoteTokenSymbol, marketInfo.GetQuoteTokenMeta(), marketInfo.GetQuoteDenom(), &assistant) + + initialMarginRatio := decimal.RequireFromString(marketInfo.GetInitialMarginRatio()) + maintenanceMarginRatio := decimal.RequireFromString(marketInfo.GetMaintenanceMarginRatio()) + makerFeeRate := decimal.RequireFromString(marketInfo.GetMakerFeeRate()) + takerFeeRate := decimal.RequireFromString(marketInfo.GetTakerFeeRate()) + serviceProviderFee := decimal.RequireFromString(marketInfo.GetServiceProviderFee()) + minPriceTickSize := decimal.RequireFromString(marketInfo.GetMinPriceTickSize()) + minQuantityTickSize := decimal.RequireFromString(marketInfo.GetMinQuantityTickSize()) + + market := core.DerivativeMarket{ + Id: marketInfo.GetMarketId(), + Status: marketInfo.GetMarketStatus(), + Ticker: marketInfo.GetTicker(), + OracleBase: marketInfo.GetOracleBase(), + OracleQuote: marketInfo.GetOracleQuote(), + OracleType: marketInfo.GetOracleType(), + OracleScaleFactor: marketInfo.GetOracleScaleFactor(), + InitialMarginRatio: initialMarginRatio, + MaintenanceMarginRatio: maintenanceMarginRatio, + QuoteToken: quoteToken, + MakerFeeRate: makerFeeRate, + TakerFeeRate: takerFeeRate, + ServiceProviderFee: serviceProviderFee, + MinPriceTickSize: minPriceTickSize, + MinQuantityTickSize: minQuantityTickSize, } + + assistant.derivativeMarkets[market.Id] = market } return assistant, nil @@ -245,7 +247,7 @@ func NewMarketsAssistantWithAllTokens(ctx context.Context, exchangeClient exchan return assistant, nil } -func uniqueSymbol(symbol string, denom string, tokenMetaSymbol string, tokenMetaName string, assistant MarketsAssistant) string { +func uniqueSymbol(symbol, denom, tokenMetaSymbol, tokenMetaName string, assistant MarketsAssistant) string { uniqueSymbol := denom _, isSymbolPresent := assistant.tokensBySymbol[symbol] if isSymbolPresent { @@ -343,7 +345,8 @@ func (assistant MarketsAssistant) initializeTokensFromChainDenoms(ctx context.Co denomsMetadata = append(denomsMetadata, result.GetMetadatas()...) } - for _, denomMetadata := range denomsMetadata { + for i := range denomsMetadata { + denomMetadata := denomsMetadata[i] symbol := denomMetadata.GetSymbol() denom := denomMetadata.GetBase() diff --git a/client/common/api_request_assistant.go b/client/common/api_request_assistant.go index eaafb110..1dd4acee 100644 --- a/client/common/api_request_assistant.go +++ b/client/common/api_request_assistant.go @@ -7,10 +7,10 @@ import ( "google.golang.org/grpc/metadata" ) -type ApiCall[Q any, R any] func(ctx context.Context, in *Q, opts ...grpc.CallOption) (*R, error) -type ApiStreamCall[Q any, S grpc.ClientStream] func(ctx context.Context, in *Q, opts ...grpc.CallOption) (S, error) +type APICall[Q any, R any] func(ctx context.Context, in *Q, opts ...grpc.CallOption) (*R, error) +type APIStreamCall[Q any, S grpc.ClientStream] func(ctx context.Context, in *Q, opts ...grpc.CallOption) (S, error) -func ExecuteCall[Q any, R any](ctx context.Context, cookieAssistant CookieAssistant, call ApiCall[Q, R], in *Q) (*R, error) { +func ExecuteCall[Q any, R any](ctx context.Context, cookieAssistant CookieAssistant, call APICall[Q, R], in *Q) (*R, error) { var header metadata.MD localCtx := metadata.NewOutgoingContext(ctx, cookieAssistant.RealMetadata()) @@ -21,7 +21,7 @@ func ExecuteCall[Q any, R any](ctx context.Context, cookieAssistant CookieAssist return response, err } -func ExecuteStreamCall[Q any, S grpc.ClientStream](ctx context.Context, cookieAssistant CookieAssistant, call ApiStreamCall[Q, S], in *Q) (S, error) { +func ExecuteStreamCall[Q any, S grpc.ClientStream](ctx context.Context, cookieAssistant CookieAssistant, call APIStreamCall[Q, S], in *Q) (S, error) { localCtx := metadata.NewOutgoingContext(ctx, cookieAssistant.RealMetadata()) stream, callError := call(localCtx, in) diff --git a/client/common/network.go b/client/common/network.go index d2a5184a..c5786ce1 100644 --- a/client/common/network.go +++ b/client/common/network.go @@ -64,7 +64,7 @@ func (assistant *ExpiringCookieAssistant) initializeCookie(provider MetadataProv } func (assistant *ExpiringCookieAssistant) checkCookieExpiration() { - //borrow http request to parse cookie + // borrow http request to parse cookie header := http.Header{} header.Add("Cookie", assistant.cookie) request := http.Request{Header: header} @@ -188,11 +188,11 @@ type Network struct { TmEndpoint string ChainGrpcEndpoint string ChainStreamGrpcEndpoint string - ChainTlsCert credentials.TransportCredentials + ChainTLSCert credentials.TransportCredentials ExchangeGrpcEndpoint string ExplorerGrpcEndpoint string - ExchangeTlsCert credentials.TransportCredentials - ExplorerTlsCert credentials.TransportCredentials + ExchangeTLSCert credentials.TransportCredentials + ExplorerTLSCert credentials.TransportCredentials ChainId string FeeDenom string Name string @@ -201,7 +201,7 @@ type Network struct { ExplorerCookieAssistant CookieAssistant } -func LoadNetwork(name string, node string) Network { +func LoadNetwork(name, node string) Network { switch name { case "local": @@ -257,7 +257,7 @@ func LoadNetwork(name string, node string) Network { } var lcdEndpoint, tmEndpoint, chainGrpcEndpoint, chainStreamGrpcEndpoint, exchangeGrpcEndpoint, explorerGrpcEndpoint string - var chainTlsCert, exchangeTlsCert, explorerTlsCert credentials.TransportCredentials + var chainTLSCert, exchangeTLSCert, explorerTLSCert credentials.TransportCredentials var chainCookieAssistant, exchangeCookieAssistant, explorerCookieAssistant CookieAssistant if node == "lb" { lcdEndpoint = "https://testnet.sentry.lcd.injective.network:443" @@ -266,9 +266,9 @@ func LoadNetwork(name string, node string) Network { chainStreamGrpcEndpoint = "testnet.sentry.chain.stream.injective.network:443" exchangeGrpcEndpoint = "testnet.sentry.exchange.grpc.injective.network:443" explorerGrpcEndpoint = "testnet.sentry.explorer.grpc.injective.network:443" - chainTlsCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - exchangeTlsCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - explorerTlsCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) chainCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} exchangeCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} explorerCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} @@ -279,9 +279,9 @@ func LoadNetwork(name string, node string) Network { chainStreamGrpcEndpoint = "testnet.chain.stream.injective.network:443" exchangeGrpcEndpoint = "testnet.exchange.grpc.injective.network:443" explorerGrpcEndpoint = "testnet.explorer.grpc.injective.network:443" - chainTlsCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - exchangeTlsCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - explorerTlsCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) chainCookieAssistant = &DisabledCookieAssistant{} exchangeCookieAssistant = &DisabledCookieAssistant{} explorerCookieAssistant = &DisabledCookieAssistant{} @@ -292,11 +292,11 @@ func LoadNetwork(name string, node string) Network { TmEndpoint: tmEndpoint, ChainGrpcEndpoint: chainGrpcEndpoint, ChainStreamGrpcEndpoint: chainStreamGrpcEndpoint, - ChainTlsCert: chainTlsCert, + ChainTLSCert: chainTLSCert, ExchangeGrpcEndpoint: exchangeGrpcEndpoint, - ExchangeTlsCert: exchangeTlsCert, + ExchangeTLSCert: exchangeTLSCert, ExplorerGrpcEndpoint: explorerGrpcEndpoint, - ExplorerTlsCert: explorerTlsCert, + ExplorerTLSCert: explorerTLSCert, ChainId: "injective-888", FeeDenom: "inj", Name: "testnet", @@ -310,7 +310,7 @@ func LoadNetwork(name string, node string) Network { panic(fmt.Sprintf("invalid node %s for %s", node, name)) } var lcdEndpoint, tmEndpoint, chainGrpcEndpoint, chainStreamGrpcEndpoint, exchangeGrpcEndpoint, explorerGrpcEndpoint string - var chainTlsCert, exchangeTlsCert, explorerTlsCert credentials.TransportCredentials + var chainTLSCert, exchangeTLSCert, explorerTLSCert credentials.TransportCredentials var chainCookieAssistant, exchangeCookieAssistant, explorerCookieAssistant CookieAssistant lcdEndpoint = "https://sentry.lcd.injective.network" @@ -319,9 +319,9 @@ func LoadNetwork(name string, node string) Network { chainStreamGrpcEndpoint = "sentry.chain.stream.injective.network:443" exchangeGrpcEndpoint = "sentry.exchange.grpc.injective.network:443" explorerGrpcEndpoint = "sentry.explorer.grpc.injective.network:443" - chainTlsCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - exchangeTlsCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - explorerTlsCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) chainCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} exchangeCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} explorerCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} @@ -331,11 +331,11 @@ func LoadNetwork(name string, node string) Network { TmEndpoint: tmEndpoint, ChainGrpcEndpoint: chainGrpcEndpoint, ChainStreamGrpcEndpoint: chainStreamGrpcEndpoint, - ChainTlsCert: chainTlsCert, + ChainTLSCert: chainTLSCert, ExchangeGrpcEndpoint: exchangeGrpcEndpoint, - ExchangeTlsCert: exchangeTlsCert, + ExchangeTLSCert: exchangeTLSCert, ExplorerGrpcEndpoint: explorerGrpcEndpoint, - ExplorerTlsCert: explorerTlsCert, + ExplorerTLSCert: explorerTLSCert, ChainId: "injective-1", FeeDenom: "inj", Name: "mainnet", @@ -382,8 +382,8 @@ func Connect(protoAddr string) (net.Conn, error) { // ProtocolAndAddress splits an address into the protocol and address components. // For instance, "tcp://127.0.0.1:8080" will be split into "tcp" and "127.0.0.1:8080". // If the address has no protocol prefix, the default is "tcp". -func ProtocolAndAddress(listenAddr string) (string, string) { - protocol, address := "tcp", listenAddr +func ProtocolAndAddress(listenAddr string) (protocol, address string) { + protocol, address = "tcp", listenAddr parts := strings.SplitN(address, "://", 2) if len(parts) == 2 { protocol, address = parts[0], parts[1] diff --git a/client/common/options.go b/client/common/options.go index a4050947..17526a59 100644 --- a/client/common/options.go +++ b/client/common/options.go @@ -51,7 +51,7 @@ func OptionTLSCert(tlsCert credentials.TransportCredentials) ClientOption { if tlsCert == nil { log.Infoln("client does not use grpc secure transport") } else { - log.Infoln("succesfully load server TLS cert") + log.Infoln("successfully load server TLS cert") } opts.TLSCert = tlsCert return nil diff --git a/client/common/util.go b/client/common/util.go index 7254ea51..80416fcb 100644 --- a/client/common/util.go +++ b/client/common/util.go @@ -25,7 +25,7 @@ func HexToBytes(str string) ([]byte, error) { return data, nil } -func LoadTlsCert(path string, serverName string) credentials.TransportCredentials { +func LoadTLSCert(path, serverName string) credentials.TransportCredentials { if path == "" { return nil } @@ -43,6 +43,7 @@ func LoadTlsCert(path string, serverName string) credentials.TransportCredential } // get domain from tcp://domain:port domain := strings.Split(serverName, ":")[1][2:] + // nolint:gosec // we ignore the MinVersion validation because it's not a security issue config := &tls.Config{ RootCAs: certPool, ServerName: domain, diff --git a/client/core/market.go b/client/core/market.go index df2151c6..3e6c273b 100644 --- a/client/core/market.go +++ b/client/core/market.go @@ -99,7 +99,7 @@ func (derivativeMarket DerivativeMarket) MarginToChainFormat(humanReadableValue return valueInChainFormat } -func (derivativeMarket DerivativeMarket) CalculateMarginInChainFormat(humanReadableQuantity decimal.Decimal, humanReadablePrice decimal.Decimal, leverage decimal.Decimal) sdkmath.LegacyDec { +func (derivativeMarket DerivativeMarket) CalculateMarginInChainFormat(humanReadableQuantity, humanReadablePrice, leverage decimal.Decimal) sdkmath.LegacyDec { chainFormattedQuantity := humanReadableQuantity chainFormattedPrice := humanReadablePrice.Mul(decimal.New(1, derivativeMarket.QuoteToken.Decimals)) diff --git a/client/core/market_test.go b/client/core/market_test.go index 64a58679..733b8be8 100644 --- a/client/core/market_test.go +++ b/client/core/market_test.go @@ -134,7 +134,7 @@ func TestConvertPriceFromExtendedChainFormatForSpotMarket(t *testing.T) { assert.Assert(t, expectedPrice.Equal(humanReadablePrice)) } -//Derivative markets tests +// Derivative markets tests func TestConvertQuantityToChainFormatForDerivativeMarket(t *testing.T) { derivativeMarket := createBTCUSDTPerpMarket() diff --git a/client/exchange/exchange.go b/client/exchange/exchange.go index f0ec7892..847b1cd1 100644 --- a/client/exchange/exchange.go +++ b/client/exchange/exchange.go @@ -96,8 +96,8 @@ type ExchangeClient interface { func NewExchangeClient(network common.Network, options ...common.ClientOption) (ExchangeClient, error) { // process options opts := common.DefaultClientOptions() - if network.ChainTlsCert != nil { - options = append(options, common.OptionTLSCert(network.ExchangeTlsCert)) + if network.ChainTLSCert != nil { + options = append(options, common.OptionTLSCert(network.ExchangeTLSCert)) } for _, opt := range options { if err := opt(opts); err != nil { @@ -432,7 +432,7 @@ func (c *exchangeClient) GetDerivativeFundingRates(ctx context.Context, req *der // Oracle RPC -func (c *exchangeClient) GetPrice(ctx context.Context, baseSymbol string, quoteSymbol string, oracleType string, oracleScaleFactor uint32) (*oraclePB.PriceResponse, error) { +func (c *exchangeClient) GetPrice(ctx context.Context, baseSymbol, quoteSymbol, oracleType string, oracleScaleFactor uint32) (*oraclePB.PriceResponse, error) { req := oraclePB.PriceRequest{ BaseSymbol: baseSymbol, QuoteSymbol: quoteSymbol, @@ -462,7 +462,7 @@ func (c *exchangeClient) GetOracleList(ctx context.Context) (*oraclePB.OracleLis return res, nil } -func (c *exchangeClient) StreamPrices(ctx context.Context, baseSymbol string, quoteSymbol string, oracleType string) (oraclePB.InjectiveOracleRPC_StreamPricesClient, error) { +func (c *exchangeClient) StreamPrices(ctx context.Context, baseSymbol, quoteSymbol, oracleType string) (oraclePB.InjectiveOracleRPC_StreamPricesClient, error) { req := oraclePB.StreamPricesRequest{ BaseSymbol: baseSymbol, QuoteSymbol: quoteSymbol, @@ -537,7 +537,7 @@ func (c *exchangeClient) GetSubaccountsList(ctx context.Context, accountAddress return res, nil } -func (c *exchangeClient) GetSubaccountBalance(ctx context.Context, subaccountId string, denom string) (*accountPB.SubaccountBalanceEndpointResponse, error) { +func (c *exchangeClient) GetSubaccountBalance(ctx context.Context, subaccountId, denom string) (*accountPB.SubaccountBalanceEndpointResponse, error) { req := accountPB.SubaccountBalanceEndpointRequest{ SubaccountId: subaccountId, Denom: denom, @@ -945,7 +945,7 @@ func (c *exchangeClient) GetAccountPortfolioBalances(ctx context.Context, accoun return res, nil } -func (c *exchangeClient) StreamAccountPortfolio(ctx context.Context, accountAddress string, subaccountId, balanceType string) (portfolioExchangePB.InjectivePortfolioRPC_StreamAccountPortfolioClient, error) { +func (c *exchangeClient) StreamAccountPortfolio(ctx context.Context, accountAddress, subaccountId, balanceType string) (portfolioExchangePB.InjectivePortfolioRPC_StreamAccountPortfolioClient, error) { req := &portfolioExchangePB.StreamAccountPortfolioRequest{ AccountAddress: accountAddress, SubaccountId: subaccountId, diff --git a/client/exchange/exchange_test_support.go b/client/exchange/exchange_test_support.go index 2b37623a..68af97d4 100644 --- a/client/exchange/exchange_test_support.go +++ b/client/exchange/exchange_test_support.go @@ -128,7 +128,7 @@ func (e *MockExchangeClient) GetDerivativeFundingRates(ctx context.Context, req return &derivativeExchangePB.FundingRatesResponse{}, nil } -func (e *MockExchangeClient) GetPrice(ctx context.Context, baseSymbol string, quoteSymbol string, oracleType string, oracleScaleFactor uint32) (*oraclePB.PriceResponse, error) { +func (e *MockExchangeClient) GetPrice(ctx context.Context, baseSymbol, quoteSymbol, oracleType string, oracleScaleFactor uint32) (*oraclePB.PriceResponse, error) { return &oraclePB.PriceResponse{}, nil } @@ -136,7 +136,7 @@ func (e *MockExchangeClient) GetOracleList(ctx context.Context) (*oraclePB.Oracl return &oraclePB.OracleListResponse{}, nil } -func (e *MockExchangeClient) StreamPrices(ctx context.Context, baseSymbol string, quoteSymbol string, oracleType string) (oraclePB.InjectiveOracleRPC_StreamPricesClient, error) { +func (e *MockExchangeClient) StreamPrices(ctx context.Context, baseSymbol, quoteSymbol, oracleType string) (oraclePB.InjectiveOracleRPC_StreamPricesClient, error) { return nil, nil } @@ -156,7 +156,7 @@ func (e *MockExchangeClient) GetSubaccountsList(ctx context.Context, accountAddr return &accountPB.SubaccountsListResponse{}, nil } -func (e *MockExchangeClient) GetSubaccountBalance(ctx context.Context, subaccountId string, denom string) (*accountPB.SubaccountBalanceEndpointResponse, error) { +func (e *MockExchangeClient) GetSubaccountBalance(ctx context.Context, subaccountId, denom string) (*accountPB.SubaccountBalanceEndpointResponse, error) { return &accountPB.SubaccountBalanceEndpointResponse{}, nil } @@ -283,7 +283,7 @@ func (e *MockExchangeClient) GetAccountPortfolioBalances(ctx context.Context, ac return &portfolioExchangePB.AccountPortfolioBalancesResponse{}, nil } -func (e *MockExchangeClient) StreamAccountPortfolio(ctx context.Context, accountAddress string, subaccountId, balanceType string) (portfolioExchangePB.InjectivePortfolioRPC_StreamAccountPortfolioClient, error) { +func (e *MockExchangeClient) StreamAccountPortfolio(ctx context.Context, accountAddress, subaccountId, balanceType string) (portfolioExchangePB.InjectivePortfolioRPC_StreamAccountPortfolioClient, error) { return nil, nil } diff --git a/client/explorer/explorer.go b/client/explorer/explorer.go index 02b2290a..2dbe8ce8 100644 --- a/client/explorer/explorer.go +++ b/client/explorer/explorer.go @@ -36,8 +36,8 @@ type ExplorerClient interface { func NewExplorerClient(network common.Network, options ...common.ClientOption) (ExplorerClient, error) { // process options opts := common.DefaultClientOptions() - if network.ChainTlsCert != nil { - options = append(options, common.OptionTLSCert(network.ExchangeTlsCert)) + if network.ChainTLSCert != nil { + options = append(options, common.OptionTLSCert(network.ExchangeTLSCert)) } for _, opt := range options { if err := opt(opts); err != nil { diff --git a/client/metadata/fetch_metadata.go b/client/metadata/fetch_metadata.go index cb4f08b0..5bfa0da2 100644 --- a/client/metadata/fetch_metadata.go +++ b/client/metadata/fetch_metadata.go @@ -9,7 +9,7 @@ import ( exchangeclient "github.com/InjectiveLabs/sdk-go/client/exchange" derivativeExchangePB "github.com/InjectiveLabs/sdk-go/exchange/derivative_exchange_rpc/pb" - //derivativeExchangePB "github.com/InjectiveLabs/sdk-go/exchange/derivative_exchange_rpc/pb" + // derivativeExchangePB "github.com/InjectiveLabs/sdk-go/exchange/derivative_exchange_rpc/pb" "math" "strconv" @@ -81,7 +81,7 @@ func FetchDenom(network common.Network) { metadataOutput += config } - //fetch derivative markets + // fetch derivative markets derivativeMarketsReq := derivativeExchangePB.MarketsRequest{MarketStatus: "active"} derivativeRes, err := exchangeClient.GetDerivativeMarkets(ctx, &derivativeMarketsReq) if err != nil { @@ -128,7 +128,7 @@ func FetchDenom(network common.Network) { } fileName := fmt.Sprintf("client/metadata/assets/%s.ini", network.Name) - err = os.WriteFile(fileName, []byte(metadataOutput), 0644) + err = os.WriteFile(fileName, []byte(metadataOutput), 0600) // nolint:gocritic // 0600 is the correct permission if err != nil { panic(err) } diff --git a/client/tm/tmclient.go b/client/tm/tmclient.go index 420567f6..6b5908c8 100644 --- a/client/tm/tmclient.go +++ b/client/tm/tmclient.go @@ -9,15 +9,14 @@ import ( 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 { - GetBlock(ctx context.Context, height int64) (*tmctypes.ResultBlock, error) + GetBlock(ctx context.Context, height int64) (*ctypes.ResultBlock, error) GetLatestBlockHeight(ctx context.Context) (int64, error) - GetTxs(ctx context.Context, block *tmctypes.ResultBlock) ([]*ctypes.ResultTx, error) + GetTxs(ctx context.Context, block *ctypes.ResultBlock) ([]*ctypes.ResultTx, error) GetBlockResults(ctx context.Context, height int64) (*ctypes.ResultBlockResults, error) - GetValidatorSet(ctx context.Context, height int64) (*tmctypes.ResultValidators, error) + GetValidatorSet(ctx context.Context, height int64) (*ctypes.ResultValidators, error) GetABCIInfo(ctx context.Context) (*ctypes.ResultABCIInfo, error) } @@ -37,7 +36,7 @@ func NewRPCClient(rpcNodeAddr string) TendermintClient { } // GetBlock queries for a block by height. An error is returned if the query fails. -func (c *tmClient) GetBlock(ctx context.Context, height int64) (*tmctypes.ResultBlock, error) { +func (c *tmClient) GetBlock(ctx context.Context, height int64) (*ctypes.ResultBlock, error) { return c.rpcClient.Block(ctx, &height) } @@ -60,7 +59,7 @@ func (c *tmClient) GetLatestBlockHeight(ctx context.Context) (int64, error) { // GetTxs queries for all the transactions in a block height. // It uses `Tx` RPC method to query for the transaction. -func (c *tmClient) GetTxs(ctx context.Context, block *tmctypes.ResultBlock) ([]*ctypes.ResultTx, error) { +func (c *tmClient) GetTxs(ctx context.Context, block *ctypes.ResultBlock) ([]*ctypes.ResultTx, error) { txs := make([]*ctypes.ResultTx, 0, len(block.Block.Txs)) for _, tmTx := range block.Block.Txs { @@ -82,11 +81,11 @@ func (c *tmClient) GetTxs(ctx context.Context, block *tmctypes.ResultBlock) ([]* // GetValidatorSet returns all the known Tendermint validators for a given block // height. An error is returned if the query fails. -func (c *tmClient) GetValidatorSet(ctx context.Context, height int64) (*tmctypes.ResultValidators, error) { +func (c *tmClient) GetValidatorSet(ctx context.Context, height int64) (*ctypes.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) { +func (c *tmClient) GetABCIInfo(ctx context.Context) (*ctypes.ResultABCIInfo, error) { return c.rpcClient.ABCIInfo(ctx) } diff --git a/eip712_cosmos.go b/eip712_cosmos.go index 3f3ad3d5..cc0e645b 100644 --- a/eip712_cosmos.go +++ b/eip712_cosmos.go @@ -194,12 +194,12 @@ func traverseFields( if prefix == typeDefPrefix { if len(typeMap[rootType]) == n { - return + return nil } } else { typeDef := sanitizeTypedef(prefix) if len(typeMap[typeDef]) == n { - return + return nil } } @@ -232,7 +232,7 @@ func traverseFields( err = cdc.UnpackAny(any, &anyWrapper.Value) if err != nil { err = errors.Wrap(err, "failed to unpack Any in msg struct") - return + return err } fieldType = reflect.TypeOf(anyWrapper) @@ -337,7 +337,7 @@ func traverseFields( err = traverseFields(cdc, typeMap, rootType, fieldPrefix, fieldType, field) if err != nil { - return + return err } continue diff --git a/ethereum/util/amounts.go b/ethereum/util/amounts.go index 1435beaa..9535c8cf 100644 --- a/ethereum/util/amounts.go +++ b/ethereum/util/amounts.go @@ -10,16 +10,16 @@ import ( type Wei decimal.Decimal func (w Wei) String() string { - return (decimal.Decimal)(w).String() + return decimal.Decimal(w).String() } func (w Wei) StringGwei() string { - d := (decimal.Decimal)(w).Div(decimal.NewFromFloat(1e9)) + d := decimal.Decimal(w).Div(decimal.NewFromFloat(1e9)) return d.String() } func (w Wei) Bytes() []byte { - return []byte((decimal.Decimal)(w).String()) + return []byte(decimal.Decimal(w).String()) } func (w *Wei) Scan(v interface{}) error { @@ -37,10 +37,10 @@ func (w *Wei) Scan(v interface{}) error { } d, err := decimal.NewFromString(source) if err != nil { - err := fmt.Errorf("failed to parse decimal.Decimal from %s, error: %v", source, err) + err := fmt.Errorf("failed to parse decimal.Decimal from %s, error: %w", source, err) return err } else { - *w = (Wei)(d) + *w = Wei(d) } return nil } @@ -128,7 +128,7 @@ func (w *Wei) Add(amount *Wei) *Wei { return (*Wei)(&result) } -// Sub substracts two amounts and returns a new amount. +// Sub subtracts two amounts and returns a new amount. func (w *Wei) Sub(amount *Wei) *Wei { d1 := (*decimal.Decimal)(w) d2 := (*decimal.Decimal)(amount) diff --git a/ethereum/util/contract.go b/ethereum/util/contract.go index c3c66568..7f83113c 100644 --- a/ethereum/util/contract.go +++ b/ethereum/util/contract.go @@ -41,7 +41,7 @@ func BindContract(client *ethclient.Client, contract *Contract) (*BoundContract, } parsedABI, err := abi.JSON(bytes.NewReader(contract.ABI)) if err != nil { - err = fmt.Errorf("failed to parse contract ABI: %v", err) + err = fmt.Errorf("failed to parse contract ABI: %w", err) return nil, err } bound := &BoundContract{ @@ -87,10 +87,6 @@ func (contract *BoundContract) ABI() abi.ABI { return contract.abi } -func (c *BoundContract) DeployContract(opts *bind.TransactOpts, params ...interface{}) (common.Address, *types.Transaction, error) { - panic("not implemented") -} - func (c *BoundContract) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { if c.transactFn == nil { return c.BoundContract.Transact(opts, method, params...) diff --git a/examples/chain/1_LocalOrderHash/example.go b/examples/chain/1_LocalOrderHash/example.go index b271aaab..a3ba477d 100644 --- a/examples/chain/1_LocalOrderHash/example.go +++ b/examples/chain/1_LocalOrderHash/example.go @@ -119,7 +119,7 @@ func main() { fmt.Println("computed spot order hashes: ", orderHashes.Spot) fmt.Println("computed derivative order hashes: ", orderHashes.Derivative) - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg, msg1) if err != nil { diff --git a/examples/chain/4_MsgBatchCreateSpotLimitOrders/example.go b/examples/chain/4_MsgBatchCreateSpotLimitOrders/example.go index 617617dd..e8911b0c 100644 --- a/examples/chain/4_MsgBatchCreateSpotLimitOrders/example.go +++ b/examples/chain/4_MsgBatchCreateSpotLimitOrders/example.go @@ -112,7 +112,7 @@ func main() { fmt.Println("simulated order hashes", msgBatchCreateSpotLimitOrdersResponse.OrderHashes) - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/5_MsgBatchCreateDerivativeLimitOrders/example.go b/examples/chain/5_MsgBatchCreateDerivativeLimitOrders/example.go index 24830abc..cbd1812c 100644 --- a/examples/chain/5_MsgBatchCreateDerivativeLimitOrders/example.go +++ b/examples/chain/5_MsgBatchCreateDerivativeLimitOrders/example.go @@ -117,7 +117,7 @@ func main() { fmt.Println("simulated order hashes", msgBatchCreateDerivativeLimitOrdersResponse.OrderHashes) - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/6_MsgRegisterAsDMM/example.go b/examples/chain/6_MsgRegisterAsDMM/example.go index ca877e9e..a21f352b 100644 --- a/examples/chain/6_MsgRegisterAsDMM/example.go +++ b/examples/chain/6_MsgRegisterAsDMM/example.go @@ -60,7 +60,7 @@ func main() { Sender: senderAddress.String(), } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/auction/1_MsgBid/example.go b/examples/chain/auction/1_MsgBid/example.go index 0012157c..705b626a 100644 --- a/examples/chain/auction/1_MsgBid/example.go +++ b/examples/chain/auction/1_MsgBid/example.go @@ -68,7 +68,7 @@ func main() { BidAmount: bidAmount, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/authz/1_MsgGrant/example.go b/examples/chain/authz/1_MsgGrant/example.go index 02f5116e..96fad70a 100644 --- a/examples/chain/authz/1_MsgGrant/example.go +++ b/examples/chain/authz/1_MsgGrant/example.go @@ -60,9 +60,9 @@ func main() { grantee := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" expireIn := time.Now().AddDate(1, 0, 0) // years months days - //GENERIC AUTHZ - //msgtype := "/injective.exchange.v1beta1.MsgCreateSpotLimitOrder" - //msg := chainClient.BuildGenericAuthz(granter, grantee, msgtype, expireIn) + // GENERIC AUTHZ + // msgtype := "/injective.exchange.v1beta1.MsgCreateSpotLimitOrder" + // msg := chainClient.BuildGenericAuthz(granter, grantee, msgtype, expireIn) // TYPED AUTHZ msg := chainClient.BuildExchangeAuthz( @@ -74,7 +74,7 @@ func main() { expireIn, ) - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/authz/2_MsgExec/example.go b/examples/chain/authz/2_MsgExec/example.go index 4fd3f7aa..840b4bc9 100644 --- a/examples/chain/authz/2_MsgExec/example.go +++ b/examples/chain/authz/2_MsgExec/example.go @@ -126,7 +126,7 @@ func main() { Msgs: []*codectypes.Any{msg0Any}, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/authz/3_MsgRevoke/example.go b/examples/chain/authz/3_MsgRevoke/example.go index 46bb2f3a..dfdfa8b5 100644 --- a/examples/chain/authz/3_MsgRevoke/example.go +++ b/examples/chain/authz/3_MsgRevoke/example.go @@ -65,7 +65,7 @@ func main() { MsgTypeUrl: msgType, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/bank/1_MsgSend/example.go b/examples/chain/bank/1_MsgSend/example.go index d49591a3..a7a2e737 100644 --- a/examples/chain/bank/1_MsgSend/example.go +++ b/examples/chain/bank/1_MsgSend/example.go @@ -66,7 +66,7 @@ func main() { }, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/bank/2_MsgMultiSend/example.go b/examples/chain/bank/2_MsgMultiSend/example.go index 5bf49241..77c8e0b5 100644 --- a/examples/chain/bank/2_MsgMultiSend/example.go +++ b/examples/chain/bank/2_MsgMultiSend/example.go @@ -92,7 +92,7 @@ func main() { }, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/distribution/1_SetWithdrawAddress/example.go b/examples/chain/distribution/1_SetWithdrawAddress/example.go index 7e0d371c..71ef6fe0 100644 --- a/examples/chain/distribution/1_SetWithdrawAddress/example.go +++ b/examples/chain/distribution/1_SetWithdrawAddress/example.go @@ -63,7 +63,7 @@ func main() { WithdrawAddress: withdrawAddress, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/distribution/2_MsgWithdrawDelegatorReward/example.go b/examples/chain/distribution/2_MsgWithdrawDelegatorReward/example.go index 46eed8cb..e2c7a359 100644 --- a/examples/chain/distribution/2_MsgWithdrawDelegatorReward/example.go +++ b/examples/chain/distribution/2_MsgWithdrawDelegatorReward/example.go @@ -60,7 +60,7 @@ func main() { msg.DelegatorAddress = senderAddress.String() msg.ValidatorAddress = "injvaloper14gy4acwjm96wd20awm9ar6j54lev5p7espy9ug" - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/distribution/3_WithdrawValidatorCommission/example.go b/examples/chain/distribution/3_WithdrawValidatorCommission/example.go index 85efe852..2e90b143 100644 --- a/examples/chain/distribution/3_WithdrawValidatorCommission/example.go +++ b/examples/chain/distribution/3_WithdrawValidatorCommission/example.go @@ -62,7 +62,7 @@ func main() { ValidatorAddress: validatorAddress, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/distribution/4_FundCommunityPool/example.go b/examples/chain/distribution/4_FundCommunityPool/example.go index 9c2c9aeb..9da1b1d7 100644 --- a/examples/chain/distribution/4_FundCommunityPool/example.go +++ b/examples/chain/distribution/4_FundCommunityPool/example.go @@ -64,7 +64,7 @@ func main() { Depositor: senderAddress.String(), } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/10_MsgCreateDerivativeLimitOrder/example.go b/examples/chain/exchange/10_MsgCreateDerivativeLimitOrder/example.go index 13d00928..d8881b1c 100644 --- a/examples/chain/exchange/10_MsgCreateDerivativeLimitOrder/example.go +++ b/examples/chain/exchange/10_MsgCreateDerivativeLimitOrder/example.go @@ -113,7 +113,7 @@ func main() { fmt.Println("simulated order hash", msgCreateDerivativeLimitOrderResponse.OrderHash) - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/11_MsgCreateDerivativeMarketOrder/example.go b/examples/chain/exchange/11_MsgCreateDerivativeMarketOrder/example.go index 26806c33..9e1a8d78 100644 --- a/examples/chain/exchange/11_MsgCreateDerivativeMarketOrder/example.go +++ b/examples/chain/exchange/11_MsgCreateDerivativeMarketOrder/example.go @@ -114,7 +114,7 @@ func main() { fmt.Println("simulated order hash", msgCreateDerivativeMarketOrderResponse.OrderHash) - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/12_MsgCancelDerivativeOrder/example.go b/examples/chain/exchange/12_MsgCancelDerivativeOrder/example.go index dd5972d2..2fb04e91 100644 --- a/examples/chain/exchange/12_MsgCancelDerivativeOrder/example.go +++ b/examples/chain/exchange/12_MsgCancelDerivativeOrder/example.go @@ -64,7 +64,7 @@ func main() { OrderHash: "0x8cf97e586c0d84cd7864ccc8916b886557120d84fc97a21ae193b67882835ec5", } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/13_MsgInstantBinaryOptionsMarketLaunch/example.go b/examples/chain/exchange/13_MsgInstantBinaryOptionsMarketLaunch/example.go index be7b7ddc..475aed44 100644 --- a/examples/chain/exchange/13_MsgInstantBinaryOptionsMarketLaunch/example.go +++ b/examples/chain/exchange/13_MsgInstantBinaryOptionsMarketLaunch/example.go @@ -95,7 +95,7 @@ func main() { MinQuantityTickSize: chainMinQuantityTickSize, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/14_MsgSubaccountTransfer/example.go b/examples/chain/exchange/14_MsgSubaccountTransfer/example.go index d7580995..2bae28c4 100644 --- a/examples/chain/exchange/14_MsgSubaccountTransfer/example.go +++ b/examples/chain/exchange/14_MsgSubaccountTransfer/example.go @@ -66,7 +66,7 @@ func main() { }, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/15_MsgExternalTransfer/example.go b/examples/chain/exchange/15_MsgExternalTransfer/example.go index 4a25192f..3481f248 100644 --- a/examples/chain/exchange/15_MsgExternalTransfer/example.go +++ b/examples/chain/exchange/15_MsgExternalTransfer/example.go @@ -66,7 +66,7 @@ func main() { }, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/16_MsgLiquidatePosition/example.go b/examples/chain/exchange/16_MsgLiquidatePosition/example.go index 8a328d94..4a00f6a8 100644 --- a/examples/chain/exchange/16_MsgLiquidatePosition/example.go +++ b/examples/chain/exchange/16_MsgLiquidatePosition/example.go @@ -100,7 +100,7 @@ func main() { Order: order, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/17_MsgIncreasePositionMargin/example.go b/examples/chain/exchange/17_MsgIncreasePositionMargin/example.go index 578d9243..f27c5904 100644 --- a/examples/chain/exchange/17_MsgIncreasePositionMargin/example.go +++ b/examples/chain/exchange/17_MsgIncreasePositionMargin/example.go @@ -66,7 +66,7 @@ func main() { Amount: cosmtypes.MustNewDecFromStr("100000000"), //100 USDT } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/1_MsgDeposit/example.go b/examples/chain/exchange/1_MsgDeposit/example.go index abf339a4..33c274ce 100644 --- a/examples/chain/exchange/1_MsgDeposit/example.go +++ b/examples/chain/exchange/1_MsgDeposit/example.go @@ -65,7 +65,7 @@ func main() { }, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/21_MsgRewardsOptOut/example.go b/examples/chain/exchange/21_MsgRewardsOptOut/example.go index ca877e9e..a21f352b 100644 --- a/examples/chain/exchange/21_MsgRewardsOptOut/example.go +++ b/examples/chain/exchange/21_MsgRewardsOptOut/example.go @@ -60,7 +60,7 @@ func main() { Sender: senderAddress.String(), } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/2_MsgWithdraw/example.go b/examples/chain/exchange/2_MsgWithdraw/example.go index 8c49c6e5..522fbacf 100644 --- a/examples/chain/exchange/2_MsgWithdraw/example.go +++ b/examples/chain/exchange/2_MsgWithdraw/example.go @@ -65,7 +65,7 @@ func main() { }, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/3_MsgInstantSpotMarketLaunch/example.go b/examples/chain/exchange/3_MsgInstantSpotMarketLaunch/example.go index 2bd6e62a..1b34f23f 100644 --- a/examples/chain/exchange/3_MsgInstantSpotMarketLaunch/example.go +++ b/examples/chain/exchange/3_MsgInstantSpotMarketLaunch/example.go @@ -89,7 +89,7 @@ func main() { MinQuantityTickSize: chainMinQuantityTickSize, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/4_MsgInstantPerpetualMarketLaunch/example.go b/examples/chain/exchange/4_MsgInstantPerpetualMarketLaunch/example.go index 0792a6d2..890c2286 100644 --- a/examples/chain/exchange/4_MsgInstantPerpetualMarketLaunch/example.go +++ b/examples/chain/exchange/4_MsgInstantPerpetualMarketLaunch/example.go @@ -94,7 +94,7 @@ func main() { MinQuantityTickSize: chainMinQuantityTickSize, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/5_MsgInstantExpiryFuturesMarketLaunch/example.go b/examples/chain/exchange/5_MsgInstantExpiryFuturesMarketLaunch/example.go index dac6f76f..e1cba9c9 100644 --- a/examples/chain/exchange/5_MsgInstantExpiryFuturesMarketLaunch/example.go +++ b/examples/chain/exchange/5_MsgInstantExpiryFuturesMarketLaunch/example.go @@ -95,7 +95,7 @@ func main() { MinQuantityTickSize: chainMinQuantityTickSize, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/6_MsgCreateSpotLimitOrder/example.go b/examples/chain/exchange/6_MsgCreateSpotLimitOrder/example.go index 976f8881..3707d502 100644 --- a/examples/chain/exchange/6_MsgCreateSpotLimitOrder/example.go +++ b/examples/chain/exchange/6_MsgCreateSpotLimitOrder/example.go @@ -112,7 +112,7 @@ func main() { fmt.Println("simulated order hash: ", msgCreateSpotLimitOrderResponse.OrderHash) - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/7_MsgCreateSpotMarketOrder/example.go b/examples/chain/exchange/7_MsgCreateSpotMarketOrder/example.go index 6fd3595f..392fbd08 100644 --- a/examples/chain/exchange/7_MsgCreateSpotMarketOrder/example.go +++ b/examples/chain/exchange/7_MsgCreateSpotMarketOrder/example.go @@ -111,7 +111,7 @@ func main() { fmt.Println("simulated order hash", msgCreateSpotMarketOrderResponse.OrderHash) - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/8_MsgCancelSpotOrder/example.go b/examples/chain/exchange/8_MsgCancelSpotOrder/example.go index f42ec5cc..adc9d9a8 100644 --- a/examples/chain/exchange/8_MsgCancelSpotOrder/example.go +++ b/examples/chain/exchange/8_MsgCancelSpotOrder/example.go @@ -64,7 +64,7 @@ func main() { OrderHash: "0xc1dd07efb7cf3a90c3d09da958fa22d96a5787eba3dbec56b63902c482accbd4", } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/9_MsgBatchUpdateOrders/example.go b/examples/chain/exchange/9_MsgBatchUpdateOrders/example.go index a1aff89d..a292074d 100644 --- a/examples/chain/exchange/9_MsgBatchUpdateOrders/example.go +++ b/examples/chain/exchange/9_MsgBatchUpdateOrders/example.go @@ -137,7 +137,7 @@ func main() { fmt.Println("simulated derivative order hashes", MsgBatchUpdateOrdersResponse.DerivativeOrderHashes) - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/ibc/transfer/1_MsgTransfer/example.go b/examples/chain/ibc/transfer/1_MsgTransfer/example.go index c08689e4..587b0c91 100644 --- a/examples/chain/ibc/transfer/1_MsgTransfer/example.go +++ b/examples/chain/ibc/transfer/1_MsgTransfer/example.go @@ -75,7 +75,7 @@ func main() { TimeoutHeight: timeoutHeight, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/oracle/1_MsgRelayPriceFeedPrice/example.go b/examples/chain/oracle/1_MsgRelayPriceFeedPrice/example.go index 9718d252..f7988a87 100644 --- a/examples/chain/oracle/1_MsgRelayPriceFeedPrice/example.go +++ b/examples/chain/oracle/1_MsgRelayPriceFeedPrice/example.go @@ -68,7 +68,7 @@ func main() { Quote: quote, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/peggy/1_MsgSendToEth/example.go b/examples/chain/peggy/1_MsgSendToEth/example.go index 89623c6b..bee6838b 100644 --- a/examples/chain/peggy/1_MsgSendToEth/example.go +++ b/examples/chain/peggy/1_MsgSendToEth/example.go @@ -73,7 +73,7 @@ func main() { BridgeFee: bridgeFee, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/staking/1_MsgDelegate/example.go b/examples/chain/staking/1_MsgDelegate/example.go index 756a26dd..0ba43c66 100644 --- a/examples/chain/staking/1_MsgDelegate/example.go +++ b/examples/chain/staking/1_MsgDelegate/example.go @@ -64,7 +64,7 @@ func main() { Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/tokenfactory/1_CreateDenom/example.go b/examples/chain/tokenfactory/1_CreateDenom/example.go index 0ced42bf..6839dca9 100644 --- a/examples/chain/tokenfactory/1_CreateDenom/example.go +++ b/examples/chain/tokenfactory/1_CreateDenom/example.go @@ -60,7 +60,7 @@ func main() { message.Name = "Injective Test Token" message.Symbol = "INJTEST" - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(message) if err != nil { diff --git a/examples/chain/tokenfactory/2_MsgMint/example.go b/examples/chain/tokenfactory/2_MsgMint/example.go index 26a43830..c651e18f 100644 --- a/examples/chain/tokenfactory/2_MsgMint/example.go +++ b/examples/chain/tokenfactory/2_MsgMint/example.go @@ -62,7 +62,7 @@ func main() { Amount: sdktypes.NewInt(1000000000), } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(message) if err != nil { diff --git a/examples/chain/tokenfactory/3_MsgBurn/example.go b/examples/chain/tokenfactory/3_MsgBurn/example.go index 35c6cc64..a342a851 100644 --- a/examples/chain/tokenfactory/3_MsgBurn/example.go +++ b/examples/chain/tokenfactory/3_MsgBurn/example.go @@ -62,7 +62,7 @@ func main() { Amount: sdktypes.NewInt(100), } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(message) if err != nil { diff --git a/examples/chain/tokenfactory/4_MsgSetDenomMetadata/example.go b/examples/chain/tokenfactory/4_MsgSetDenomMetadata/example.go index d5787500..2957f952 100644 --- a/examples/chain/tokenfactory/4_MsgSetDenomMetadata/example.go +++ b/examples/chain/tokenfactory/4_MsgSetDenomMetadata/example.go @@ -85,7 +85,7 @@ func main() { message.Sender = senderAddress.String() message.Metadata = metadata - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(message) if err != nil { diff --git a/examples/chain/tokenfactory/5_MsgChangeAdmin/example.go b/examples/chain/tokenfactory/5_MsgChangeAdmin/example.go index a9371ebb..09f4c57b 100644 --- a/examples/chain/tokenfactory/5_MsgChangeAdmin/example.go +++ b/examples/chain/tokenfactory/5_MsgChangeAdmin/example.go @@ -60,7 +60,7 @@ func main() { // This is the zero address to remove admin permissions message.NewAdmin = "inj1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqe2hm49" - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(message) if err != nil { diff --git a/examples/chain/wasmx/1_MsgExecuteContractCompat/example.go b/examples/chain/wasmx/1_MsgExecuteContractCompat/example.go index dc405028..bea54441 100644 --- a/examples/chain/wasmx/1_MsgExecuteContractCompat/example.go +++ b/examples/chain/wasmx/1_MsgExecuteContractCompat/example.go @@ -77,7 +77,7 @@ func main() { Funds: funds, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(&message) if err != nil { diff --git a/examples/exchange/accounts/1_StreamSubaccountBalance/example.go b/examples/exchange/accounts/1_StreamSubaccountBalance/example.go index 49f3222d..c14b5022 100644 --- a/examples/exchange/accounts/1_StreamSubaccountBalance/example.go +++ b/examples/exchange/accounts/1_StreamSubaccountBalance/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/13_StreamTrades/example.go b/examples/exchange/derivatives/13_StreamTrades/example.go index 02239ad5..139a6872 100644 --- a/examples/exchange/derivatives/13_StreamTrades/example.go +++ b/examples/exchange/derivatives/13_StreamTrades/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/14_SubaccountOrdersList/example.go b/examples/exchange/derivatives/14_SubaccountOrdersList/example.go index 0177193e..f7fefbda 100644 --- a/examples/exchange/derivatives/14_SubaccountOrdersList/example.go +++ b/examples/exchange/derivatives/14_SubaccountOrdersList/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/15_SubaccountTradesList/example.go b/examples/exchange/derivatives/15_SubaccountTradesList/example.go index 2bf30a1e..4117ce62 100644 --- a/examples/exchange/derivatives/15_SubaccountTradesList/example.go +++ b/examples/exchange/derivatives/15_SubaccountTradesList/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/16_FundingPayments/example.go b/examples/exchange/derivatives/16_FundingPayments/example.go index 8aa286c9..87dcaf2c 100644 --- a/examples/exchange/derivatives/16_FundingPayments/example.go +++ b/examples/exchange/derivatives/16_FundingPayments/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/17_FundingRates/example.go b/examples/exchange/derivatives/17_FundingRates/example.go index 0512f91a..5271b7bf 100644 --- a/examples/exchange/derivatives/17_FundingRates/example.go +++ b/examples/exchange/derivatives/17_FundingRates/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/1_Market/example.go b/examples/exchange/derivatives/1_Market/example.go index 8576e113..61a1c7f6 100644 --- a/examples/exchange/derivatives/1_Market/example.go +++ b/examples/exchange/derivatives/1_Market/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/2_Markets/example.go b/examples/exchange/derivatives/2_Markets/example.go index 97618d7a..cf18c133 100644 --- a/examples/exchange/derivatives/2_Markets/example.go +++ b/examples/exchange/derivatives/2_Markets/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("mainnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/3_StreamMarket/example.go b/examples/exchange/derivatives/3_StreamMarket/example.go index 2de5f205..ac5bd943 100644 --- a/examples/exchange/derivatives/3_StreamMarket/example.go +++ b/examples/exchange/derivatives/3_StreamMarket/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/4_Orderbook/example.go b/examples/exchange/derivatives/4_Orderbook/example.go index 87ffff36..d14c0501 100644 --- a/examples/exchange/derivatives/4_Orderbook/example.go +++ b/examples/exchange/derivatives/4_Orderbook/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/5_Orderbooks/example.go b/examples/exchange/derivatives/5_Orderbooks/example.go index 29681c50..fdca6060 100644 --- a/examples/exchange/derivatives/5_Orderbooks/example.go +++ b/examples/exchange/derivatives/5_Orderbooks/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/8_Positions/example.go b/examples/exchange/derivatives/8_Positions/example.go index 3b11e289..d081759e 100644 --- a/examples/exchange/derivatives/8_Positions/example.go +++ b/examples/exchange/derivatives/8_Positions/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/9_Orders/example.go b/examples/exchange/derivatives/9_Orders/example.go index 824ebd28..5aa8b22c 100644 --- a/examples/exchange/derivatives/9_Orders/example.go +++ b/examples/exchange/derivatives/9_Orders/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/insurance/1_InsuranceFunds/example.go b/examples/exchange/insurance/1_InsuranceFunds/example.go index 63abd806..8cb4adaf 100644 --- a/examples/exchange/insurance/1_InsuranceFunds/example.go +++ b/examples/exchange/insurance/1_InsuranceFunds/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/insurance/2_Redemptions/example.go b/examples/exchange/insurance/2_Redemptions/example.go index e109cc7d..17166b4b 100644 --- a/examples/exchange/insurance/2_Redemptions/example.go +++ b/examples/exchange/insurance/2_Redemptions/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/meta/1_Ping/example.go b/examples/exchange/meta/1_Ping/example.go index 15172af0..f814e871 100644 --- a/examples/exchange/meta/1_Ping/example.go +++ b/examples/exchange/meta/1_Ping/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/meta/2_Version/example.go b/examples/exchange/meta/2_Version/example.go index f9f9ef15..3428627d 100644 --- a/examples/exchange/meta/2_Version/example.go +++ b/examples/exchange/meta/2_Version/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/meta/3_Info/example.go b/examples/exchange/meta/3_Info/example.go index 571c3b6c..6d1bceae 100644 --- a/examples/exchange/meta/3_Info/example.go +++ b/examples/exchange/meta/3_Info/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/meta/4_StreamKeepAlive/example.go b/examples/exchange/meta/4_StreamKeepAlive/example.go index c76a8605..bd007577 100644 --- a/examples/exchange/meta/4_StreamKeepAlive/example.go +++ b/examples/exchange/meta/4_StreamKeepAlive/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/10_StreamTrades/example.go b/examples/exchange/spot/10_StreamTrades/example.go index 48d160c1..6406cc99 100644 --- a/examples/exchange/spot/10_StreamTrades/example.go +++ b/examples/exchange/spot/10_StreamTrades/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/11_SubaccountOrdersList/example.go b/examples/exchange/spot/11_SubaccountOrdersList/example.go index 6bb6d48b..e2321f8d 100644 --- a/examples/exchange/spot/11_SubaccountOrdersList/example.go +++ b/examples/exchange/spot/11_SubaccountOrdersList/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/12_SubaccountTradesList/example.go b/examples/exchange/spot/12_SubaccountTradesList/example.go index 401e981d..1830dc20 100644 --- a/examples/exchange/spot/12_SubaccountTradesList/example.go +++ b/examples/exchange/spot/12_SubaccountTradesList/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/13_Orderbooks/example.go b/examples/exchange/spot/13_Orderbooks/example.go index ebab285a..f6a865ed 100644 --- a/examples/exchange/spot/13_Orderbooks/example.go +++ b/examples/exchange/spot/13_Orderbooks/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/1_Market/example.go b/examples/exchange/spot/1_Market/example.go index 813c75c8..4c980328 100644 --- a/examples/exchange/spot/1_Market/example.go +++ b/examples/exchange/spot/1_Market/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/2_Markets/example.go b/examples/exchange/spot/2_Markets/example.go index e11b3b6d..4c5488c1 100644 --- a/examples/exchange/spot/2_Markets/example.go +++ b/examples/exchange/spot/2_Markets/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/3_StreamMarket/example.go b/examples/exchange/spot/3_StreamMarket/example.go index e7af4810..d1beea22 100644 --- a/examples/exchange/spot/3_StreamMarket/example.go +++ b/examples/exchange/spot/3_StreamMarket/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/4_Orderbook/example.go b/examples/exchange/spot/4_Orderbook/example.go index 2c158cbc..9e964ca4 100644 --- a/examples/exchange/spot/4_Orderbook/example.go +++ b/examples/exchange/spot/4_Orderbook/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/5_Orders/example.go b/examples/exchange/spot/5_Orders/example.go index 4fe513c8..850525ed 100644 --- a/examples/exchange/spot/5_Orders/example.go +++ b/examples/exchange/spot/5_Orders/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("mainnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/9_StreamOrders/example.go b/examples/exchange/spot/9_StreamOrders/example.go index cb4cfffb..98c22487 100644 --- a/examples/exchange/spot/9_StreamOrders/example.go +++ b/examples/exchange/spot/9_StreamOrders/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/go.mod b/go.mod index d5171206..bff702f3 100644 --- a/go.mod +++ b/go.mod @@ -184,9 +184,9 @@ require ( golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0 // indirect golang.org/x/net v0.24.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.19.0 // indirect - golang.org/x/term v0.19.0 // indirect - golang.org/x/text v0.14.0 // indirect + golang.org/x/sys v0.20.0 // indirect + golang.org/x/term v0.20.0 // indirect + golang.org/x/text v0.15.0 // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda // indirect gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect diff --git a/go.sum b/go.sum index 7b202ed5..40c5e343 100644 --- a/go.sum +++ b/go.sum @@ -1062,13 +1062,13 @@ golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= -golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= +golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -1076,8 +1076,8 @@ 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.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/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.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= diff --git a/typeddata/typed_data.go b/typeddata/typed_data.go index e23efe82..f52cefd1 100644 --- a/typeddata/typed_data.go +++ b/typeddata/typed_data.go @@ -105,7 +105,7 @@ var typedDataReferenceTypeRegexp = regexp.MustCompile(`^[A-Z](\w*)(\[\])?$`) // SignTextWithValidator signs the given message which can be further recovered // with the given validator. // hash = keccak256("\x19\x00"${address}${data}). -func SignTextValidator(validatorData ValidatorData) (hexutil.Bytes, string) { +func SignTextValidator(validatorData ValidatorData) (signature hexutil.Bytes, message string) { msg := fmt.Sprintf("\x19\x00%s%s", string(validatorData.Address.Bytes()), string(validatorData.Message)) return crypto.Keccak256([]byte(msg)), msg } From 386b2bc912683eb408a0d6dea6f0f33e585b8769 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Tue, 4 Jun 2024 10:59:49 -0300 Subject: [PATCH 17/48] (fix) Fix pre-commit end of file issue --- .golangci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.golangci.yml b/.golangci.yml index 0073fe19..d679ee99 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -50,4 +50,4 @@ ] } }, -} \ No newline at end of file +} From 2218318c3e3c85cd7457d3f2de2588c709ee3522 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Wed, 5 Jun 2024 23:50:20 -0300 Subject: [PATCH 18/48] (feat) Added logic in the markets assistant to load all the tokens from the official tokens lists for each environment --- client/chain/chain_test.go | 2 + client/chain/markets_assistant.go | 51 ++++++++--------- client/chain/markets_assistant_test.go | 23 ++++++++ client/common/network.go | 11 +++- client/core/tokens_file_loader.go | 67 ++++++++++++++++++++++ client/core/tokens_file_loader_test.go | 73 ++++++++++++++++++++++++ client/exchange/exchange.go | 5 ++ client/exchange/exchange_test_support.go | 6 ++ go.mod | 1 + go.sum | 2 +- 10 files changed, 212 insertions(+), 29 deletions(-) create mode 100644 client/core/tokens_file_loader.go create mode 100644 client/core/tokens_file_loader_test.go diff --git a/client/chain/chain_test.go b/client/chain/chain_test.go index ed55ed2a..f3845e06 100644 --- a/client/chain/chain_test.go +++ b/client/chain/chain_test.go @@ -39,6 +39,8 @@ func createClient(senderAddress cosmtypes.AccAddress, cosmosKeyring keyring.Keyr } clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + // configure Keyring as nil to avoid the account initialization request when running unit tests + clientCtx.Keyring = nil chainClient, err := NewChainClient( clientCtx, diff --git a/client/chain/markets_assistant.go b/client/chain/markets_assistant.go index 10b2b188..5db6ae8a 100644 --- a/client/chain/markets_assistant.go +++ b/client/chain/markets_assistant.go @@ -21,6 +21,15 @@ import ( var legacyMarketAssistantLazyInitialization sync.Once var legacyMarketAssistant MarketsAssistant +type TokenMetadata interface { + GetName() string + GetAddress() string + GetSymbol() string + GetLogo() string + GetDecimals() int32 + GetUpdatedAt() int64 +} + type MarketsAssistant struct { tokensBySymbol map[string]core.Token tokensByDenom map[string]core.Token @@ -140,6 +149,17 @@ func NewMarketsAssistant(networkName string) (MarketsAssistant, error) { func NewMarketsAssistantInitializedFromChain(ctx context.Context, exchangeClient exchange.ExchangeClient) (MarketsAssistant, error) { assistant := newMarketsAssistant() + + officialTokens, err := core.LoadTokens(exchangeClient.GetNetwork().OfficialTokensListUrl) + if err == nil { + for _, tokenMetadata := range officialTokens { + if tokenMetadata.Denom != "" { + // add tokens to the assistant ensuring all of them get assigned a unique symbol + tokenRepresentation(tokenMetadata.GetSymbol(), tokenMetadata, tokenMetadata.Denom, &assistant) + } + } + } + spotMarketsRequest := spotExchangePB.MarketsRequest{ MarketStatus: "active", } @@ -160,8 +180,8 @@ func NewMarketsAssistantInitializedFromChain(ctx context.Context, exchangeClient quoteTokenSymbol = marketInfo.GetQuoteTokenMeta().GetSymbol() } - baseToken := spotTokenRepresentation(baseTokenSymbol, marketInfo.GetBaseTokenMeta(), marketInfo.GetBaseDenom(), &assistant) - quoteToken := spotTokenRepresentation(quoteTokenSymbol, marketInfo.GetQuoteTokenMeta(), marketInfo.GetQuoteDenom(), &assistant) + baseToken := tokenRepresentation(baseTokenSymbol, marketInfo.GetBaseTokenMeta(), marketInfo.GetBaseDenom(), &assistant) + quoteToken := tokenRepresentation(quoteTokenSymbol, marketInfo.GetQuoteTokenMeta(), marketInfo.GetQuoteDenom(), &assistant) makerFeeRate := decimal.RequireFromString(marketInfo.GetMakerFeeRate()) takerFeeRate := decimal.RequireFromString(marketInfo.GetTakerFeeRate()) @@ -199,7 +219,7 @@ func NewMarketsAssistantInitializedFromChain(ctx context.Context, exchangeClient if len(marketInfo.GetQuoteTokenMeta().GetSymbol()) > 0 { quoteTokenSymbol := marketInfo.GetQuoteTokenMeta().GetSymbol() - quoteToken := derivativeTokenRepresentation(quoteTokenSymbol, marketInfo.GetQuoteTokenMeta(), marketInfo.GetQuoteDenom(), &assistant) + quoteToken := tokenRepresentation(quoteTokenSymbol, marketInfo.GetQuoteTokenMeta(), marketInfo.GetQuoteDenom(), &assistant) initialMarginRatio := decimal.RequireFromString(marketInfo.GetInitialMarginRatio()) maintenanceMarginRatio := decimal.RequireFromString(marketInfo.GetMaintenanceMarginRatio()) @@ -265,30 +285,7 @@ func uniqueSymbol(symbol string, denom string, tokenMetaSymbol string, tokenMeta return uniqueSymbol } -func spotTokenRepresentation(symbol string, tokenMeta *spotExchangePB.TokenMeta, denom string, assistant *MarketsAssistant) core.Token { - _, isPresent := assistant.tokensByDenom[denom] - - if !isPresent { - uniqueSymbol := uniqueSymbol(symbol, denom, tokenMeta.GetSymbol(), tokenMeta.GetName(), *assistant) - - newToken := core.Token{ - Name: tokenMeta.GetName(), - Symbol: symbol, - Denom: denom, - Address: tokenMeta.GetAddress(), - Decimals: tokenMeta.GetDecimals(), - Logo: tokenMeta.GetLogo(), - Updated: tokenMeta.GetUpdatedAt(), - } - - assistant.tokensByDenom[denom] = newToken - assistant.tokensBySymbol[uniqueSymbol] = newToken - } - - return assistant.tokensByDenom[denom] -} - -func derivativeTokenRepresentation(symbol string, tokenMeta *derivativeExchangePB.TokenMeta, denom string, assistant *MarketsAssistant) core.Token { +func tokenRepresentation(symbol string, tokenMeta TokenMetadata, denom string, assistant *MarketsAssistant) core.Token { _, isPresent := assistant.tokensByDenom[denom] if !isPresent { diff --git a/client/chain/markets_assistant_test.go b/client/chain/markets_assistant_test.go index 12ffb0bd..31778e70 100644 --- a/client/chain/markets_assistant_test.go +++ b/client/chain/markets_assistant_test.go @@ -2,6 +2,9 @@ package chain import ( "context" + "github.com/InjectiveLabs/sdk-go/client/common" + "net/http" + "net/http/httptest" "strings" "testing" @@ -13,7 +16,17 @@ import ( ) func TestMarketAssistantCreationUsingMarketsFromExchange(t *testing.T) { + httpServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + w.Write([]byte("[]")) + })) + defer httpServer.Close() + + network := common.NewNetwork() + network.OfficialTokensListUrl = httpServer.URL + mockExchange := exchange.MockExchangeClient{} + mockExchange.Network = network var spotMarketInfos []*spotExchangePB.SpotMarketInfo var derivativeMarketInfos []*derivativeExchangePB.DerivativeMarketInfo injUsdtSpotMarketInfo := createINJUSDTSpotMarketInfo() @@ -74,7 +87,17 @@ func TestMarketAssistantCreationUsingMarketsFromExchange(t *testing.T) { } func TestMarketAssistantCreationWithAllTokens(t *testing.T) { + httpServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + w.Write([]byte("[]")) + })) + defer httpServer.Close() + + network := common.NewNetwork() + network.OfficialTokensListUrl = httpServer.URL + mockExchange := exchange.MockExchangeClient{} + mockExchange.Network = network mockChain := MockChainClient{} smartDenomMetadata := createSmartDenomMetadata() diff --git a/client/common/network.go b/client/common/network.go index d2a5184a..5cef0b2a 100644 --- a/client/common/network.go +++ b/client/common/network.go @@ -15,7 +15,9 @@ import ( ) const ( - SessionRenewalOffset = 2 * time.Minute + MainnetTokensListUrl = "https://github.com/InjectiveLabs/injective-lists/raw/master/tokens/mainnet.json" + TestnetTokensListUrl = "https://github.com/InjectiveLabs/injective-lists/raw/master/tokens/testnet.json" + DevnetTokensListUrl = "https://github.com/InjectiveLabs/injective-lists/raw/master/tokens/devnet.json" ) func cookieByName(cookies []*http.Cookie, key string) *http.Cookie { @@ -199,6 +201,7 @@ type Network struct { ChainCookieAssistant CookieAssistant ExchangeCookieAssistant CookieAssistant ExplorerCookieAssistant CookieAssistant + OfficialTokensListUrl string } func LoadNetwork(name string, node string) Network { @@ -218,6 +221,7 @@ func LoadNetwork(name string, node string) Network { ChainCookieAssistant: &DisabledCookieAssistant{}, ExchangeCookieAssistant: &DisabledCookieAssistant{}, ExplorerCookieAssistant: &DisabledCookieAssistant{}, + OfficialTokensListUrl: MainnetTokensListUrl, } case "devnet-1": @@ -234,6 +238,7 @@ func LoadNetwork(name string, node string) Network { ChainCookieAssistant: &DisabledCookieAssistant{}, ExchangeCookieAssistant: &DisabledCookieAssistant{}, ExplorerCookieAssistant: &DisabledCookieAssistant{}, + OfficialTokensListUrl: DevnetTokensListUrl, } case "devnet": return Network{ @@ -249,6 +254,7 @@ func LoadNetwork(name string, node string) Network { ChainCookieAssistant: &DisabledCookieAssistant{}, ExchangeCookieAssistant: &DisabledCookieAssistant{}, ExplorerCookieAssistant: &DisabledCookieAssistant{}, + OfficialTokensListUrl: DevnetTokensListUrl, } case "testnet": validNodes := []string{"lb", "sentry"} @@ -303,6 +309,7 @@ func LoadNetwork(name string, node string) Network { ChainCookieAssistant: chainCookieAssistant, ExchangeCookieAssistant: exchangeCookieAssistant, ExplorerCookieAssistant: explorerCookieAssistant, + OfficialTokensListUrl: TestnetTokensListUrl, } case "mainnet": validNodes := []string{"lb"} @@ -342,6 +349,7 @@ func LoadNetwork(name string, node string) Network { ChainCookieAssistant: chainCookieAssistant, ExchangeCookieAssistant: exchangeCookieAssistant, ExplorerCookieAssistant: explorerCookieAssistant, + OfficialTokensListUrl: MainnetTokensListUrl, } } @@ -355,6 +363,7 @@ func NewNetwork() Network { ChainCookieAssistant: &DisabledCookieAssistant{}, ExchangeCookieAssistant: &DisabledCookieAssistant{}, ExplorerCookieAssistant: &DisabledCookieAssistant{}, + OfficialTokensListUrl: MainnetTokensListUrl, } } diff --git a/client/core/tokens_file_loader.go b/client/core/tokens_file_loader.go new file mode 100644 index 00000000..c56f108e --- /dev/null +++ b/client/core/tokens_file_loader.go @@ -0,0 +1,67 @@ +package core + +import ( + "encoding/json" + "fmt" + "net/http" +) + +type TokenMetadata struct { + Address string `json:"address"` + IsNative bool `json:"isNative"` + TokenVerification string `json:"tokenVerification"` + Decimals int32 `json:"decimals"` + CoinGeckoId string `json:"coinGeckoId"` + Name string `json:"name"` + Symbol string `json:"symbol"` + Logo string `json:"logo"` + Creator string `json:"creator"` + Denom string `json:"denom"` + TokenType string `json:"tokenType"` + ExternalLogo string `json:"externalLogo"` +} + +func (tm TokenMetadata) GetName() string { + return tm.Name +} + +func (tm TokenMetadata) GetAddress() string { + return tm.Address +} + +func (tm TokenMetadata) GetSymbol() string { + return tm.Symbol +} + +func (tm TokenMetadata) GetLogo() string { + return tm.Logo +} + +func (tm TokenMetadata) GetDecimals() int32 { + return tm.Decimals +} + +func (tm TokenMetadata) GetUpdatedAt() int64 { + return -1 +} + +// LoadTokens loads tokens from the given file URL +func LoadTokens(tokensFileUrl string) ([]TokenMetadata, error) { + var tokensMetadata []TokenMetadata + response, err := http.Get(tokensFileUrl) + if err != nil { + return tokensMetadata, err + } + if 400 <= response.StatusCode { + return tokensMetadata, fmt.Errorf("failed to load tokens from %s: %s", tokensFileUrl, response.Status) + } + defer response.Body.Close() + + decoder := json.NewDecoder(response.Body) + err = decoder.Decode(&tokensMetadata) + if err != nil { + return make([]TokenMetadata, 0), err + } + + return tokensMetadata, nil +} diff --git a/client/core/tokens_file_loader_test.go b/client/core/tokens_file_loader_test.go new file mode 100644 index 00000000..dd08d601 --- /dev/null +++ b/client/core/tokens_file_loader_test.go @@ -0,0 +1,73 @@ +package core + +import ( + "encoding/json" + "fmt" + "gotest.tools/v3/assert" + "net/http" + "net/http/httptest" + "testing" +) + +func TestLoadTokensFromUrl(t *testing.T) { + tokensMetadata := make([]TokenMetadata, 2) + tokensMetadata = append(tokensMetadata, TokenMetadata{ + Address: "", + IsNative: true, + Decimals: 9, + Symbol: "SOL", + Name: "Solana", + Logo: "https://imagedelivery.net/DYKOWp0iCc0sIkF-2e4dNw/2aa4deed-fa31-4d1a-ba0a-d698b84f3800/public", + Creator: "inj15jeczm4mqwtc9lk4c0cyynndud32mqd4m9xnmu", + CoinGeckoId: "solana", + Denom: "", + TokenType: "spl", + TokenVerification: "verified", + ExternalLogo: "solana.png", + }, + ) + tokensMetadata = append(tokensMetadata, TokenMetadata{ + Address: "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270", + IsNative: false, + Decimals: 18, + Symbol: "WMATIC", + Name: "Wrapped Matic", + Logo: "https://imagedelivery.net/DYKOWp0iCc0sIkF-2e4dNw/0d061e1e-a746-4b19-1399-8187b8bb1700/public", + Creator: "inj169ed97mcnf8ay6rgvskn95n6tyt46uwvy5qgs0", + CoinGeckoId: "wmatic", + Denom: "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270", + TokenType: "evm", + TokenVerification: "verified", + ExternalLogo: "polygon.png", + }, + ) + + metadataString, err := json.Marshal(tokensMetadata) + assert.NilError(t, err) + + httpServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + w.Write(metadataString) + })) + defer httpServer.Close() + + loadedTokens, err := LoadTokens(httpServer.URL) + assert.NilError(t, err) + + assert.Equal(t, len(loadedTokens), len(tokensMetadata)) + + for i, metadata := range tokensMetadata { + assert.Equal(t, loadedTokens[i], metadata) + } +} + +func TestLoadTokensFromUrlReturnsNoTokensWhenRequestErrorHappens(t *testing.T) { + httpServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusNotFound) + })) + defer httpServer.Close() + + loadedTokens, err := LoadTokens(httpServer.URL) + assert.Error(t, err, fmt.Sprintf("failed to load tokens from %s: %v %s", httpServer.URL, http.StatusNotFound, http.StatusText(http.StatusNotFound))) + assert.Equal(t, len(loadedTokens), 0) +} diff --git a/client/exchange/exchange.go b/client/exchange/exchange.go index f0ec7892..a46c123b 100644 --- a/client/exchange/exchange.go +++ b/client/exchange/exchange.go @@ -90,6 +90,7 @@ type ExchangeClient interface { GetInfo(ctx context.Context, req *metaPB.InfoRequest) (*metaPB.InfoResponse, error) GetVersion(ctx context.Context, req *metaPB.VersionRequest) (*metaPB.VersionResponse, error) Ping(ctx context.Context, req *metaPB.PingRequest) (*metaPB.PingResponse, error) + GetNetwork() common.Network Close() } @@ -961,6 +962,10 @@ func (c *exchangeClient) StreamAccountPortfolio(ctx context.Context, accountAddr return stream, nil } +func (c *exchangeClient) GetNetwork() common.Network { + return c.network +} + func (c *exchangeClient) Close() { c.conn.Close() } diff --git a/client/exchange/exchange_test_support.go b/client/exchange/exchange_test_support.go index 2b37623a..ce5822cc 100644 --- a/client/exchange/exchange_test_support.go +++ b/client/exchange/exchange_test_support.go @@ -3,6 +3,7 @@ package exchange import ( "context" "errors" + "github.com/InjectiveLabs/sdk-go/client/common" accountPB "github.com/InjectiveLabs/sdk-go/exchange/accounts_rpc/pb" auctionPB "github.com/InjectiveLabs/sdk-go/exchange/auction_rpc/pb" @@ -16,6 +17,7 @@ import ( ) type MockExchangeClient struct { + Network common.Network SpotMarketsResponses []*spotExchangePB.MarketsResponse DerivativeMarketsResponses []*derivativeExchangePB.MarketsResponse } @@ -303,6 +305,10 @@ func (e *MockExchangeClient) Ping(ctx context.Context, req *metaPB.PingRequest) return &metaPB.PingResponse{}, nil } +func (e *MockExchangeClient) GetNetwork() common.Network { + return e.Network +} + func (e *MockExchangeClient) Close() { } diff --git a/go.mod b/go.mod index 79c9c338..bebb0fe0 100644 --- a/go.mod +++ b/go.mod @@ -32,6 +32,7 @@ require ( google.golang.org/protobuf v1.31.0 gopkg.in/ini.v1 v1.67.0 gopkg.in/yaml.v2 v2.4.0 + gotest.tools/v3 v3.5.0 ) require ( diff --git a/go.sum b/go.sum index 47472ee8..d034f1ae 100644 --- a/go.sum +++ b/go.sum @@ -1039,8 +1039,8 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/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/v3 v3.5.0 h1:Ljk6PdHdOhAb5aDMWXjDLMMhph+BpztA4v1QdqEW2eY= +gotest.tools/v3 v3.5.0/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= 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= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= From ce23fb7f85b4f3308f7d4826d98e475f2299541a Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Wed, 5 Jun 2024 23:57:40 -0300 Subject: [PATCH 19/48] (fix) Fix pre-commit issues --- client/chain/markets_assistant_test.go | 7 ++++--- client/core/tokens_file_loader_test.go | 5 +++-- client/exchange/exchange_test_support.go | 1 + 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/client/chain/markets_assistant_test.go b/client/chain/markets_assistant_test.go index 31778e70..b8da6e01 100644 --- a/client/chain/markets_assistant_test.go +++ b/client/chain/markets_assistant_test.go @@ -2,12 +2,13 @@ package chain import ( "context" - "github.com/InjectiveLabs/sdk-go/client/common" "net/http" "net/http/httptest" "strings" "testing" + "github.com/InjectiveLabs/sdk-go/client/common" + "github.com/InjectiveLabs/sdk-go/client/exchange" derivativeExchangePB "github.com/InjectiveLabs/sdk-go/exchange/derivative_exchange_rpc/pb" spotExchangePB "github.com/InjectiveLabs/sdk-go/exchange/spot_exchange_rpc/pb" @@ -18,7 +19,7 @@ import ( func TestMarketAssistantCreationUsingMarketsFromExchange(t *testing.T) { httpServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) - w.Write([]byte("[]")) + _, _ = w.Write([]byte("[]")) })) defer httpServer.Close() @@ -89,7 +90,7 @@ func TestMarketAssistantCreationUsingMarketsFromExchange(t *testing.T) { func TestMarketAssistantCreationWithAllTokens(t *testing.T) { httpServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) - w.Write([]byte("[]")) + _, _ = w.Write([]byte("[]")) })) defer httpServer.Close() diff --git a/client/core/tokens_file_loader_test.go b/client/core/tokens_file_loader_test.go index dd08d601..8fbc27cd 100644 --- a/client/core/tokens_file_loader_test.go +++ b/client/core/tokens_file_loader_test.go @@ -3,10 +3,11 @@ package core import ( "encoding/json" "fmt" - "gotest.tools/v3/assert" "net/http" "net/http/httptest" "testing" + + "gotest.tools/v3/assert" ) func TestLoadTokensFromUrl(t *testing.T) { @@ -47,7 +48,7 @@ func TestLoadTokensFromUrl(t *testing.T) { httpServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) - w.Write(metadataString) + _, _ = w.Write(metadataString) })) defer httpServer.Close() diff --git a/client/exchange/exchange_test_support.go b/client/exchange/exchange_test_support.go index ce5822cc..9c28bd32 100644 --- a/client/exchange/exchange_test_support.go +++ b/client/exchange/exchange_test_support.go @@ -3,6 +3,7 @@ package exchange import ( "context" "errors" + "github.com/InjectiveLabs/sdk-go/client/common" accountPB "github.com/InjectiveLabs/sdk-go/exchange/accounts_rpc/pb" From 0a1185e199a75d521a1a85decf9569f9721d4081 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Thu, 6 Jun 2024 09:38:39 -0300 Subject: [PATCH 20/48] (fix) Added a default case in the LoadNetwork switch as suggested in the PR review --- client/common/network.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/client/common/network.go b/client/common/network.go index 5cef0b2a..7640a335 100644 --- a/client/common/network.go +++ b/client/common/network.go @@ -351,9 +351,10 @@ func LoadNetwork(name string, node string) Network { ExplorerCookieAssistant: explorerCookieAssistant, OfficialTokensListUrl: MainnetTokensListUrl, } - } - return Network{} + default: + panic(fmt.Sprintf("invalid network %s", name)) + } } // NewNetwork returns a new Network instance with all cookie assistants disabled. From 191586c9a2c7a29fcb4cd2e1627f4861d38a4cc7 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Thu, 30 May 2024 17:18:11 -0300 Subject: [PATCH 21/48] (feat) Updated proto definitions from injective-core v1.13. Updated all go.mod dependencies to sync with injective-core dependencies --- Makefile | 14 +- chain/auction/types/auction.pb.go | 336 +- chain/auction/types/codec.go | 11 +- chain/auction/types/expected_keepers.go | 12 +- chain/auction/types/genesis.pb.go | 105 +- chain/auction/types/key.go | 9 +- chain/auction/types/params.go | 12 +- chain/auction/types/query.pb.go | 421 +- chain/auction/types/tx.pb.go | 65 +- chain/crypto/ethsecp256k1/keys.pb.go | 24 +- chain/exchange/types/authz.pb.go | 62 +- chain/exchange/types/authz_common.go | 4 +- chain/exchange/types/authz_derivative.go | 12 +- chain/exchange/types/authz_spot.go | 12 +- chain/exchange/types/codec.go | 26 +- chain/exchange/types/common_order.go | 16 +- chain/exchange/types/common_utils.go | 38 +- chain/exchange/types/deposit.go | 20 +- chain/exchange/types/derivative_orders.go | 136 +- chain/exchange/types/errors.go | 7 +- chain/exchange/types/events.go | 21 +- chain/exchange/types/events.pb.go | 1614 ++- chain/exchange/types/exchange.go | 81 +- chain/exchange/types/exchange.pb.go | 2127 +++- chain/exchange/types/expected_keepers.go | 18 +- chain/exchange/types/fee_discounts.go | 23 +- chain/exchange/types/fee_validation.go | 10 +- chain/exchange/types/genesis.pb.go | 960 +- chain/exchange/types/key.go | 48 +- chain/exchange/types/market.go | 69 +- chain/exchange/types/market_admin.go | 75 + chain/exchange/types/msgs.go | 446 +- chain/exchange/types/orderbook.go | 12 +- chain/exchange/types/params.go | 147 +- chain/exchange/types/positions.go | 116 +- chain/exchange/types/proposal.go | 167 +- chain/exchange/types/proposal.pb.go | 1485 ++- chain/exchange/types/query.pb.go | 2422 ++++- chain/exchange/types/spot_orders.go | 40 +- chain/exchange/types/stake_grants.go | 21 + chain/exchange/types/subaccount.go | 7 +- chain/exchange/types/trading_rewards.go | 6 +- chain/exchange/types/tx.pb.go | 9417 +++++++++++------ chain/exchange/types/volume_record.go | 20 +- chain/exchange/types/wasm_trade_summary.go | 21 +- chain/exchange/types/wasm_trades.go | 22 +- chain/insurance/types/codec.go | 12 +- chain/insurance/types/expected_keepers.go | 18 +- chain/insurance/types/insurance.pb.go | 103 +- chain/insurance/types/msgs.go | 4 +- chain/insurance/types/params.go | 4 +- chain/insurance/types/tx.pb.go | 98 +- chain/ocr/types/codec.go | 19 +- chain/ocr/types/expected_keepers.go | 18 +- chain/ocr/types/hooks.go | 5 +- chain/ocr/types/ocr.pb.go | 266 +- chain/ocr/types/tx.pb.go | 156 +- chain/ocr/types/types.go | 4 +- chain/oracle/bandchain/oracle/types/error.go | 4 +- chain/oracle/types/codec.go | 8 +- chain/oracle/types/events.pb.go | 134 +- chain/oracle/types/expected_keepers.go | 18 +- chain/oracle/types/oracle.go | 20 +- chain/oracle/types/oracle.pb.go | 262 +- chain/oracle/types/params.go | 3 +- chain/oracle/types/proposal.pb.go | 82 +- chain/oracle/types/pyth.go | 16 +- chain/oracle/types/query.pb.go | 502 +- chain/oracle/types/tx.pb.go | 131 +- chain/peggy/types/attestation.pb.go | 70 +- chain/peggy/types/codec.go | 22 +- chain/peggy/types/ethereum.go | 2 +- chain/peggy/types/events.pb.go | 206 +- chain/peggy/types/expected_keepers.go | 56 +- chain/peggy/types/msgs.go | 60 + chain/peggy/types/msgs.pb.go | 1029 +- chain/peggy/types/params.go | 22 +- chain/peggy/types/params.pb.go | 203 +- chain/peggy/types/pool.pb.go | 42 +- chain/peggy/types/types.go | 2 +- chain/peggy/types/types.pb.go | 74 +- chain/permissions/types/codec.go | 49 + chain/permissions/types/errors.go | 23 + chain/permissions/types/events.pb.go | 45 + chain/permissions/types/expected_keepers.go | 26 + chain/permissions/types/genesis.go | 38 + chain/permissions/types/genesis.pb.go | 390 + chain/permissions/types/params.go | 33 + chain/permissions/types/params.pb.go | 337 + chain/permissions/types/permissions.pb.go | 1748 +++ chain/permissions/types/query.pb.go | 2615 +++++ chain/permissions/types/tx.go | 130 + chain/permissions/types/tx.pb.go | 3968 +++++++ chain/permissions/types/types.go | 75 + chain/stream/types/query.pb.go | 272 +- chain/stream/types/request.go | 13 + chain/tokenfactory/types/codec.go | 16 +- chain/tokenfactory/types/denoms.go | 3 +- chain/tokenfactory/types/expected_keepers.go | 26 +- chain/tokenfactory/types/gov.go | 54 + chain/tokenfactory/types/gov.pb.go | 465 + chain/tokenfactory/types/msgs.go | 3 +- chain/tokenfactory/types/params.pb.go | 46 +- chain/tokenfactory/types/tx.pb.go | 107 +- chain/types/account.go | 6 +- chain/types/account.pb.go | 19 +- chain/types/codec.go | 5 +- chain/types/coin.go | 12 +- chain/types/gas.go | 2 +- chain/wasmx/types/codec.go | 21 +- chain/wasmx/types/expected_keepers.go | 18 +- chain/wasmx/types/proposal.pb.go | 94 +- chain/wasmx/types/tx.pb.go | 100 +- chain/wasmx/types/wasmx.pb.go | 130 +- client/chain/chain.go | 71 +- client/chain/chain_test_support.go | 43 +- client/chain/context.go | 18 +- client/core/market.go | 46 +- client/core/market_test.go | 34 +- .../ibc/transfer/1_MsgTransfer/example.go | 4 +- .../transfer/query/1_DenomTrace/example.go | 2 +- ...design_goagen_injective_accounts_rpc.pb.go | 5333 ++++++++++ ...design_goagen_injective_accounts_rpc.proto | 623 ++ ..._goagen_injective_accounts_rpc_grpc.pb.go} | 71 +- .../pb/injective_accounts_rpc.pb.go | 2606 ----- .../pb/injective_accounts_rpc.pb.gw.go | 260 +- .../pb/injective_accounts_rpc.proto | 274 - ...design_goagen_injective_accounts_rpc.pb.go | 5333 ++++++++++ ...design_goagen_injective_accounts_rpc.proto | 623 ++ ...n_goagen_injective_accounts_rpc_grpc.pb.go | 508 + .../pb/pb/injective_accounts_rpc.pb.gw.go | 882 ++ ...design_goagen_injective_auction_rpc.pb.go} | 271 +- ...design_goagen_injective_auction_rpc.proto} | 2 +- ...n_goagen_injective_auction_rpc_grpc.pb.go} | 6 +- .../pb/injective_auction_rpc.pb.gw.go | 60 +- ...esign_goagen_injective_campaign_rpc.pb.go} | 832 +- ...esign_goagen_injective_campaign_rpc.proto} | 24 +- ..._goagen_injective_campaign_rpc_grpc.pb.go} | 6 +- .../pb/injective_campaign_rpc.pb.gw.go | 120 +- ...n_injective_derivative_exchange_rpc.pb.go} | 2889 ++--- ...n_injective_derivative_exchange_rpc.proto} | 4 +- ...ective_derivative_exchange_rpc_grpc.pb.go} | 6 +- ...injective_derivative_exchange_rpc.pb.gw.go | 504 +- ...esign_goagen_injective_exchange_rpc.pb.go} | 567 +- ...esign_goagen_injective_exchange_rpc.proto} | 4 +- ..._goagen_injective_exchange_rpc_grpc.pb.go} | 6 +- .../pb/injective_exchange_rpc.pb.gw.go | 144 +- ...esign_goagen_injective_explorer_rpc.pb.go} | 3146 +++--- ...esign_goagen_injective_explorer_rpc.proto} | 27 +- ..._goagen_injective_explorer_rpc_grpc.pb.go} | 44 +- .../pb/injective_explorer_rpc.pb.gw.go | 561 +- .../pb/goadesign_goagen_health.pb.go | 341 + .../pb/goadesign_goagen_health.proto | 41 + .../pb/goadesign_goagen_health_grpc.pb.go | 107 + exchange/health_rpc/pb/health.pb.gw.go | 171 + ...esign_goagen_injective_insurance_rpc.pb.go | 993 ++ ...sign_goagen_injective_insurance_rpc.proto} | 14 +- ...goagen_injective_insurance_rpc_grpc.pb.go} | 44 +- .../pb/injective_insurance_rpc.pb.go | 854 -- .../pb/injective_insurance_rpc.pb.gw.go | 129 +- ...goadesign_goagen_injective_meta_rpc.pb.go} | 331 +- ...goadesign_goagen_injective_meta_rpc.proto} | 2 +- ...sign_goagen_injective_meta_rpc_grpc.pb.go} | 6 +- .../meta_rpc/pb/injective_meta_rpc.pb.gw.go | 108 +- ...adesign_goagen_injective_oracle_rpc.pb.go} | 291 +- ...adesign_goagen_injective_oracle_rpc.proto} | 2 +- ...gn_goagen_injective_oracle_rpc_grpc.pb.go} | 6 +- .../pb/injective_oracle_rpc.pb.gw.go | 72 +- ...esign_goagen_injective_portfolio_rpc.pb.go | 1534 +++ ...sign_goagen_injective_portfolio_rpc.proto} | 25 +- ...goagen_injective_portfolio_rpc_grpc.pb.go} | 44 +- .../pb/injective_portfolio_rpc.pb.go | 1289 --- .../pb/injective_portfolio_rpc.pb.gw.go | 145 +- ..._goagen_injective_spot_exchange_rpc.pb.go} | 1959 ++-- ..._goagen_injective_spot_exchange_rpc.proto} | 2 +- ...en_injective_spot_exchange_rpc_grpc.pb.go} | 6 +- .../pb/injective_spot_exchange_rpc.pb.gw.go | 348 +- ...adesign_goagen_injective_trading_rpc.pb.go | 974 ++ ...design_goagen_injective_trading_rpc.proto} | 28 +- ...n_goagen_injective_trading_rpc_grpc.pb.go} | 6 +- .../pb/injective_trading_rpc.pb.go | 789 -- .../pb/injective_trading_rpc.pb.gw.go | 24 +- .../pb/injective_trading_rpc_grpc.pb_mock.go | 2 +- go.mod | 199 +- go.sum | 1052 +- 185 files changed, 53976 insertions(+), 19217 deletions(-) create mode 100644 chain/exchange/types/market_admin.go create mode 100644 chain/exchange/types/stake_grants.go create mode 100644 chain/permissions/types/codec.go create mode 100644 chain/permissions/types/errors.go create mode 100644 chain/permissions/types/events.pb.go create mode 100644 chain/permissions/types/expected_keepers.go create mode 100644 chain/permissions/types/genesis.go create mode 100644 chain/permissions/types/genesis.pb.go create mode 100644 chain/permissions/types/params.go create mode 100644 chain/permissions/types/params.pb.go create mode 100644 chain/permissions/types/permissions.pb.go create mode 100644 chain/permissions/types/query.pb.go create mode 100644 chain/permissions/types/tx.go create mode 100644 chain/permissions/types/tx.pb.go create mode 100644 chain/permissions/types/types.go create mode 100644 chain/tokenfactory/types/gov.go create mode 100644 chain/tokenfactory/types/gov.pb.go create mode 100644 exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.pb.go create mode 100644 exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.proto rename exchange/accounts_rpc/pb/{injective_accounts_rpc_grpc.pb.go => goadesign_goagen_injective_accounts_rpc_grpc.pb.go} (88%) delete mode 100644 exchange/accounts_rpc/pb/injective_accounts_rpc.pb.go delete mode 100644 exchange/accounts_rpc/pb/injective_accounts_rpc.proto create mode 100644 exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.pb.go create mode 100644 exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.proto create mode 100644 exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go create mode 100644 exchange/accounts_rpc/pb/pb/injective_accounts_rpc.pb.gw.go rename exchange/auction_rpc/pb/{injective_auction_rpc.pb.go => goadesign_goagen_injective_auction_rpc.pb.go} (60%) rename exchange/auction_rpc/pb/{injective_auction_rpc.proto => goadesign_goagen_injective_auction_rpc.proto} (97%) rename exchange/auction_rpc/pb/{injective_auction_rpc_grpc.pb.go => goadesign_goagen_injective_auction_rpc_grpc.pb.go} (97%) rename exchange/campaign_rpc/pb/{injective_campaign_rpc.pb.go => goadesign_goagen_injective_campaign_rpc.pb.go} (58%) rename exchange/campaign_rpc/pb/{injective_campaign_rpc.proto => goadesign_goagen_injective_campaign_rpc.proto} (89%) rename exchange/campaign_rpc/pb/{injective_campaign_rpc_grpc.pb.go => goadesign_goagen_injective_campaign_rpc_grpc.pb.go} (98%) rename exchange/derivative_exchange_rpc/pb/{injective_derivative_exchange_rpc.pb.go => goadesign_goagen_injective_derivative_exchange_rpc.pb.go} (68%) rename exchange/derivative_exchange_rpc/pb/{injective_derivative_exchange_rpc.proto => goadesign_goagen_injective_derivative_exchange_rpc.proto} (99%) rename exchange/derivative_exchange_rpc/pb/{injective_derivative_exchange_rpc_grpc.pb.go => goadesign_goagen_injective_derivative_exchange_rpc_grpc.pb.go} (99%) rename exchange/exchange_rpc/pb/{injective_exchange_rpc.pb.go => goadesign_goagen_injective_exchange_rpc.pb.go} (62%) rename exchange/exchange_rpc/pb/{injective_exchange_rpc.proto => goadesign_goagen_injective_exchange_rpc.proto} (98%) rename exchange/exchange_rpc/pb/{injective_exchange_rpc_grpc.pb.go => goadesign_goagen_injective_exchange_rpc_grpc.pb.go} (98%) rename exchange/explorer_rpc/pb/{injective_explorer_rpc.pb.go => goadesign_goagen_injective_explorer_rpc.pb.go} (60%) rename exchange/explorer_rpc/pb/{injective_explorer_rpc.proto => goadesign_goagen_injective_explorer_rpc.proto} (97%) rename exchange/explorer_rpc/pb/{injective_explorer_rpc_grpc.pb.go => goadesign_goagen_injective_explorer_rpc_grpc.pb.go} (95%) create mode 100644 exchange/health_rpc/pb/goadesign_goagen_health.pb.go create mode 100644 exchange/health_rpc/pb/goadesign_goagen_health.proto create mode 100644 exchange/health_rpc/pb/goadesign_goagen_health_grpc.pb.go create mode 100644 exchange/health_rpc/pb/health.pb.gw.go create mode 100644 exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.pb.go rename exchange/insurance_rpc/pb/{injective_insurance_rpc.proto => goadesign_goagen_injective_insurance_rpc.proto} (88%) rename exchange/insurance_rpc/pb/{injective_insurance_rpc_grpc.pb.go => goadesign_goagen_injective_insurance_rpc_grpc.pb.go} (76%) delete mode 100644 exchange/insurance_rpc/pb/injective_insurance_rpc.pb.go rename exchange/meta_rpc/pb/{injective_meta_rpc.pb.go => goadesign_goagen_injective_meta_rpc.pb.go} (60%) rename exchange/meta_rpc/pb/{injective_meta_rpc.proto => goadesign_goagen_injective_meta_rpc.proto} (98%) rename exchange/meta_rpc/pb/{injective_meta_rpc_grpc.pb.go => goadesign_goagen_injective_meta_rpc_grpc.pb.go} (98%) rename exchange/oracle_rpc/pb/{injective_oracle_rpc.pb.go => goadesign_goagen_injective_oracle_rpc.pb.go} (59%) rename exchange/oracle_rpc/pb/{injective_oracle_rpc.proto => goadesign_goagen_injective_oracle_rpc.proto} (97%) rename exchange/oracle_rpc/pb/{injective_oracle_rpc_grpc.pb.go => goadesign_goagen_injective_oracle_rpc_grpc.pb.go} (98%) create mode 100644 exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.pb.go rename exchange/portfolio_rpc/pb/{injective_portfolio_rpc.proto => goadesign_goagen_injective_portfolio_rpc.proto} (85%) rename exchange/portfolio_rpc/pb/{injective_portfolio_rpc_grpc.pb.go => goadesign_goagen_injective_portfolio_rpc_grpc.pb.go} (82%) delete mode 100644 exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.go rename exchange/spot_exchange_rpc/pb/{injective_spot_exchange_rpc.pb.go => goadesign_goagen_injective_spot_exchange_rpc.pb.go} (66%) rename exchange/spot_exchange_rpc/pb/{injective_spot_exchange_rpc.proto => goadesign_goagen_injective_spot_exchange_rpc.proto} (99%) rename exchange/spot_exchange_rpc/pb/{injective_spot_exchange_rpc_grpc.pb.go => goadesign_goagen_injective_spot_exchange_rpc_grpc.pb.go} (99%) create mode 100644 exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.pb.go rename exchange/trading_rpc/pb/{injective_trading_rpc.proto => goadesign_goagen_injective_trading_rpc.proto} (81%) rename exchange/trading_rpc/pb/{injective_trading_rpc_grpc.pb.go => goadesign_goagen_injective_trading_rpc_grpc.pb.go} (95%) delete mode 100644 exchange/trading_rpc/pb/injective_trading_rpc.pb.go diff --git a/Makefile b/Makefile index 051ce836..418f085d 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,7 @@ all: copy-exchange-client: rm -rf exchange/* + mkdir -p exchange/health_rpc mkdir -p exchange/accounts_rpc mkdir -p exchange/auction_rpc mkdir -p exchange/campaign_rpc @@ -15,6 +16,8 @@ copy-exchange-client: mkdir -p exchange/spot_exchange_rpc mkdir -p exchange/trading_rpc + cp -r ../injective-indexer/api/gen/grpc/health/pb exchange/health_rpc/pb + cp -r ../injective-indexer/api/gen/grpc/injective_accounts_rpc/pb exchange/accounts_rpc/pb cp -r ../injective-indexer/api/gen/grpc/injective_accounts_rpc/pb exchange/accounts_rpc/pb cp -r ../injective-indexer/api/gen/grpc/injective_auction_rpc/pb exchange/auction_rpc/pb cp -r ../injective-indexer/api/gen/grpc/injective_campaign_rpc/pb exchange/campaign_rpc/pb @@ -31,8 +34,6 @@ copy-exchange-client: .PHONY: copy-exchange-client tests coverage copy-chain-types: - cp ../injective-core/injective-chain/types/*.go chain/types - rm -rf chain/types/*test.go rm -rf chain/types/*gw.go cp ../injective-core/injective-chain/crypto/ethsecp256k1/*.go chain/crypto/ethsecp256k1 rm -rf chain/crypto/ethsecp256k1/*test.go rm -rf chain/crypto/ethsecp256k1/*gw.go cp ../injective-core/injective-chain/modules/auction/types/*.go chain/auction/types @@ -48,11 +49,16 @@ copy-chain-types: 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 - cp ../injective-core/injective-chain/modules/wasmx/types/*.go chain/wasmx/types - rm -rf chain/wasmx/types/*test.go rm -rf chain/wasmx/types/*gw.go + cp ../injective-core/injective-chain/modules/permissions/types/*.go chain/permissions/types + rm -rf chain/permissions/types/*test.go rm -rf chain/permissions/types/*gw.go cp ../injective-core/injective-chain/modules/tokenfactory/types/*.go chain/tokenfactory/types rm -rf chain/tokenfactory/types/*test.go rm -rf chain/tokenfactory/types/*gw.go + cp ../injective-core/injective-chain/modules/wasmx/types/*.go chain/wasmx/types + rm -rf chain/wasmx/types/*test.go rm -rf chain/wasmx/types/*gw.go cp ../injective-core/injective-chain/stream/types/*.go chain/stream/types + rm -rf chain/stream/types/*test.go rm -rf chain/stream/types/*gw.go + cp ../injective-core/injective-chain/types/*.go chain/types + rm -rf chain/types/*test.go rm -rf chain/types/*gw.go echo "👉 Replace injective-core/injective-chain/modules with sdk-go/chain" echo "👉 Replace injective-core/injective-chain/types with sdk-go/chain/types" diff --git a/chain/auction/types/auction.pb.go b/chain/auction/types/auction.pb.go index d0d2e780..164a7820 100644 --- a/chain/auction/types/auction.pb.go +++ b/chain/auction/types/auction.pb.go @@ -4,9 +4,11 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" 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/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -29,7 +31,7 @@ type Params struct { // auction_period_duration defines the auction period duration AuctionPeriod int64 `protobuf:"varint,1,opt,name=auction_period,json=auctionPeriod,proto3" json:"auction_period,omitempty"` // min_next_bid_increment_rate defines the minimum increment rate for new bids - MinNextBidIncrementRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=min_next_bid_increment_rate,json=minNextBidIncrementRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_next_bid_increment_rate"` + MinNextBidIncrementRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=min_next_bid_increment_rate,json=minNextBidIncrementRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_next_bid_increment_rate"` } func (m *Params) Reset() { *m = Params{} } @@ -117,6 +119,62 @@ func (m *Bid) GetBidder() string { return "" } +type LastAuctionResult struct { + // winner describes the address of the winner + Winner string `protobuf:"bytes,1,opt,name=winner,proto3" json:"winner,omitempty"` + // amount describes the amount the winner get from the auction + Amount github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,2,opt,name=amount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"amount"` + // round defines the round number of auction + Round uint64 `protobuf:"varint,3,opt,name=round,proto3" json:"round,omitempty"` +} + +func (m *LastAuctionResult) Reset() { *m = LastAuctionResult{} } +func (m *LastAuctionResult) String() string { return proto.CompactTextString(m) } +func (*LastAuctionResult) ProtoMessage() {} +func (*LastAuctionResult) Descriptor() ([]byte, []int) { + return fileDescriptor_49edfee5f1ef4b5a, []int{2} +} +func (m *LastAuctionResult) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *LastAuctionResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_LastAuctionResult.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 *LastAuctionResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_LastAuctionResult.Merge(m, src) +} +func (m *LastAuctionResult) XXX_Size() int { + return m.Size() +} +func (m *LastAuctionResult) XXX_DiscardUnknown() { + xxx_messageInfo_LastAuctionResult.DiscardUnknown(m) +} + +var xxx_messageInfo_LastAuctionResult proto.InternalMessageInfo + +func (m *LastAuctionResult) GetWinner() string { + if m != nil { + return m.Winner + } + return "" +} + +func (m *LastAuctionResult) GetRound() uint64 { + if m != nil { + return m.Round + } + return 0 +} + type EventBid struct { // bidder describes the address of bidder Bidder string `protobuf:"bytes,1,opt,name=bidder,proto3" json:"bidder,omitempty"` @@ -130,7 +188,7 @@ func (m *EventBid) Reset() { *m = EventBid{} } func (m *EventBid) String() string { return proto.CompactTextString(m) } func (*EventBid) ProtoMessage() {} func (*EventBid) Descriptor() ([]byte, []int) { - return fileDescriptor_49edfee5f1ef4b5a, []int{2} + return fileDescriptor_49edfee5f1ef4b5a, []int{3} } func (m *EventBid) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -186,7 +244,7 @@ func (m *EventAuctionResult) Reset() { *m = EventAuctionResult{} } func (m *EventAuctionResult) String() string { return proto.CompactTextString(m) } func (*EventAuctionResult) ProtoMessage() {} func (*EventAuctionResult) Descriptor() ([]byte, []int) { - return fileDescriptor_49edfee5f1ef4b5a, []int{3} + return fileDescriptor_49edfee5f1ef4b5a, []int{4} } func (m *EventAuctionResult) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -243,7 +301,7 @@ func (m *EventAuctionStart) Reset() { *m = EventAuctionStart{} } func (m *EventAuctionStart) String() string { return proto.CompactTextString(m) } func (*EventAuctionStart) ProtoMessage() {} func (*EventAuctionStart) Descriptor() ([]byte, []int) { - return fileDescriptor_49edfee5f1ef4b5a, []int{4} + return fileDescriptor_49edfee5f1ef4b5a, []int{5} } func (m *EventAuctionStart) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -296,6 +354,7 @@ func (m *EventAuctionStart) GetNewBasket() github_com_cosmos_cosmos_sdk_types.Co func init() { proto.RegisterType((*Params)(nil), "injective.auction.v1beta1.Params") proto.RegisterType((*Bid)(nil), "injective.auction.v1beta1.Bid") + proto.RegisterType((*LastAuctionResult)(nil), "injective.auction.v1beta1.LastAuctionResult") proto.RegisterType((*EventBid)(nil), "injective.auction.v1beta1.EventBid") proto.RegisterType((*EventAuctionResult)(nil), "injective.auction.v1beta1.EventAuctionResult") proto.RegisterType((*EventAuctionStart)(nil), "injective.auction.v1beta1.EventAuctionStart") @@ -306,40 +365,43 @@ func init() { } var fileDescriptor_49edfee5f1ef4b5a = []byte{ - // 517 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x93, 0x3f, 0x6f, 0xd3, 0x40, - 0x18, 0xc6, 0x73, 0xb8, 0x44, 0xe4, 0x50, 0xf9, 0x73, 0xaa, 0x20, 0x6d, 0x25, 0x3b, 0xb2, 0x04, - 0x0d, 0x43, 0x6d, 0x4a, 0xb7, 0x6e, 0x18, 0x10, 0xaa, 0x04, 0xa8, 0x32, 0x4c, 0x2c, 0xd6, 0xd9, - 0xf7, 0x2a, 0xbd, 0x36, 0x77, 0x17, 0xf9, 0xce, 0x49, 0x3b, 0x22, 0x46, 0x16, 0x3e, 0x02, 0x12, - 0x1b, 0x9f, 0x82, 0xb1, 0x63, 0x47, 0xc4, 0x10, 0x50, 0xb2, 0x20, 0x46, 0x3e, 0x01, 0x8a, 0x7d, - 0x0e, 0x66, 0xeb, 0x00, 0x53, 0xf2, 0x3c, 0xf7, 0xdc, 0x73, 0xbf, 0x93, 0xef, 0xc5, 0x5b, 0x5c, - 0x1e, 0x41, 0x66, 0xf8, 0x18, 0x42, 0x5a, 0x64, 0x86, 0x2b, 0x19, 0x8e, 0x77, 0x52, 0x30, 0x74, - 0xa7, 0xd6, 0xc1, 0x28, 0x57, 0x46, 0x91, 0xf5, 0x65, 0x30, 0xa8, 0x17, 0x6c, 0x70, 0x63, 0x6d, - 0xa0, 0x06, 0xaa, 0x4c, 0x85, 0x8b, 0x7f, 0xd5, 0x86, 0x0d, 0x37, 0x53, 0x5a, 0x28, 0x1d, 0xa6, - 0x54, 0xc3, 0xb2, 0x33, 0x53, 0xdc, 0x16, 0xfa, 0x1f, 0x11, 0x6e, 0x1f, 0xd0, 0x9c, 0x0a, 0x4d, - 0xee, 0xe0, 0x6b, 0xb6, 0x33, 0x19, 0x41, 0xce, 0x15, 0xeb, 0xa2, 0x1e, 0xea, 0x3b, 0xf1, 0xaa, - 0x75, 0x0f, 0x4a, 0x93, 0x0c, 0xf1, 0xa6, 0xe0, 0x32, 0x91, 0x70, 0x62, 0x92, 0x94, 0xb3, 0x84, - 0xcb, 0x2c, 0x07, 0x01, 0xd2, 0x24, 0x39, 0x35, 0xd0, 0xbd, 0xd4, 0x43, 0xfd, 0x4e, 0x14, 0x9c, - 0x4d, 0xbd, 0xd6, 0xd7, 0xa9, 0x77, 0x77, 0xc0, 0xcd, 0x61, 0x91, 0x06, 0x99, 0x12, 0xa1, 0x25, - 0xa9, 0x7e, 0xb6, 0x35, 0x3b, 0x0e, 0xcd, 0xe9, 0x08, 0x74, 0xf0, 0x18, 0xb2, 0xf8, 0xb6, 0xe0, - 0xf2, 0x05, 0x9c, 0x98, 0x88, 0xb3, 0xfd, 0xba, 0x2f, 0xa6, 0x06, 0xf6, 0x56, 0x7e, 0x7c, 0xf0, - 0x90, 0xff, 0x16, 0x61, 0x27, 0xe2, 0x8c, 0xec, 0xe2, 0x76, 0xca, 0x19, 0x83, 0xbc, 0x44, 0xeb, - 0x44, 0x9b, 0x3f, 0xa7, 0x9e, 0x75, 0x7e, 0x4d, 0xbd, 0xd5, 0x53, 0x2a, 0x86, 0x7b, 0x7e, 0xa5, - 0xfd, 0xd8, 0x2e, 0x90, 0xa7, 0xb8, 0x4d, 0x85, 0x2a, 0xa4, 0xb1, 0x6c, 0xa1, 0x65, 0xdb, 0xba, - 0x00, 0xdb, 0x23, 0xc5, 0x65, 0x6c, 0xb7, 0xfb, 0x6f, 0x10, 0xbe, 0xf2, 0x64, 0x0c, 0x72, 0x41, - 0x49, 0x6e, 0xfd, 0x8d, 0xf2, 0xcf, 0x4f, 0x23, 0x6b, 0xf8, 0x72, 0xae, 0x0a, 0xc9, 0xba, 0x4e, - 0x0f, 0xf5, 0x57, 0xe2, 0x4a, 0xf8, 0xef, 0x10, 0x26, 0x25, 0xc3, 0xc3, 0xea, 0xa3, 0xc4, 0xa0, - 0x8b, 0xa1, 0x59, 0xd0, 0x4c, 0xb8, 0x94, 0x7f, 0x68, 0x2a, 0xf5, 0xbf, 0x69, 0x3e, 0x23, 0x7c, - 0xb3, 0x49, 0xf3, 0xd2, 0xd0, 0xbc, 0x91, 0x45, 0x8d, 0x2c, 0xb9, 0x87, 0x6f, 0x80, 0x64, 0x5c, - 0x0e, 0x12, 0xc3, 0x05, 0x68, 0x43, 0xc5, 0xa8, 0x84, 0x72, 0xe2, 0xeb, 0x95, 0xff, 0xaa, 0xb6, - 0xc9, 0x11, 0xc6, 0x12, 0x26, 0x49, 0x4a, 0xf5, 0x31, 0x98, 0xae, 0xd3, 0x73, 0xfa, 0x57, 0x1f, - 0xac, 0x07, 0x15, 0x60, 0xb0, 0x78, 0xc9, 0xf5, 0xa3, 0x2f, 0x19, 0xa3, 0xfb, 0x8b, 0x4b, 0x7d, - 0xfa, 0xe6, 0xf5, 0x2f, 0x78, 0x29, 0x1d, 0x77, 0x24, 0x4c, 0xa2, 0xb2, 0x3d, 0x1a, 0x9c, 0xcd, - 0x5c, 0x74, 0x3e, 0x73, 0xd1, 0xf7, 0x99, 0x8b, 0xde, 0xcf, 0xdd, 0xd6, 0xf9, 0xdc, 0x6d, 0x7d, - 0x99, 0xbb, 0xad, 0xd7, 0xcf, 0x1b, 0x75, 0xfb, 0xf5, 0xd8, 0x3d, 0xa3, 0xa9, 0x0e, 0x97, 0x43, - 0xb8, 0x9d, 0xa9, 0x1c, 0x9a, 0xf2, 0x90, 0x72, 0x19, 0x0a, 0xc5, 0x8a, 0x21, 0xe8, 0xe5, 0x28, - 0x97, 0x27, 0xa7, 0xed, 0x72, 0xe0, 0x76, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xe1, 0x6d, 0xcb, - 0x8b, 0xec, 0x03, 0x00, 0x00, + // 567 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x94, 0xbf, 0x6f, 0xd3, 0x40, + 0x14, 0xc7, 0x73, 0x18, 0x22, 0x7a, 0xa8, 0x40, 0xad, 0x8a, 0xa6, 0xad, 0x64, 0x47, 0x46, 0xa8, + 0x01, 0xa9, 0x3e, 0x4a, 0xb7, 0x6e, 0x18, 0x10, 0xaa, 0x14, 0x50, 0x65, 0x98, 0x58, 0xac, 0xb3, + 0xfd, 0xe4, 0x5c, 0x93, 0xbb, 0x8b, 0x7c, 0xe7, 0xa4, 0x19, 0x11, 0x5b, 0x59, 0xf8, 0x13, 0x98, + 0x61, 0xe1, 0x4f, 0x60, 0xec, 0xd8, 0x11, 0x31, 0x04, 0x94, 0x0c, 0x20, 0x46, 0xfe, 0x02, 0x14, + 0xff, 0x88, 0xbc, 0x20, 0x31, 0x74, 0x60, 0x49, 0xfc, 0xbe, 0xf7, 0xee, 0xfb, 0x3e, 0xef, 0x49, + 0xf7, 0xf0, 0x0e, 0x13, 0xc7, 0x10, 0x69, 0x36, 0x02, 0x42, 0xb3, 0x48, 0x33, 0x29, 0xc8, 0x68, + 0x2f, 0x04, 0x4d, 0xf7, 0xaa, 0xd8, 0x1d, 0xa6, 0x52, 0x4b, 0x73, 0x73, 0x99, 0xe8, 0x56, 0x07, + 0x65, 0xe2, 0xd6, 0x7a, 0x22, 0x13, 0x99, 0x67, 0x91, 0xc5, 0x57, 0x71, 0x61, 0xcb, 0x8a, 0xa4, + 0xe2, 0x52, 0x91, 0x90, 0x2a, 0x58, 0x7a, 0x46, 0x92, 0x95, 0x86, 0x5b, 0x6b, 0x94, 0x33, 0x21, + 0x49, 0xfe, 0x5b, 0x48, 0xce, 0x47, 0x84, 0x9b, 0x47, 0x34, 0xa5, 0x5c, 0x99, 0x77, 0xf0, 0xf5, + 0xb2, 0x4c, 0x30, 0x84, 0x94, 0xc9, 0xb8, 0x85, 0xda, 0xa8, 0x63, 0xf8, 0xab, 0xa5, 0x7a, 0x94, + 0x8b, 0x26, 0xc5, 0xdb, 0x9c, 0x89, 0x40, 0xc0, 0x89, 0x0e, 0x42, 0x16, 0x07, 0x4c, 0x44, 0x29, + 0x70, 0x10, 0x3a, 0x48, 0xa9, 0x86, 0xd6, 0xa5, 0x36, 0xea, 0xac, 0x78, 0xb7, 0xcf, 0xa6, 0x76, + 0xe3, 0xeb, 0xd4, 0xde, 0x2e, 0x88, 0x54, 0xdc, 0x77, 0x99, 0x24, 0x9c, 0xea, 0x9e, 0xdb, 0x85, + 0x84, 0x46, 0x93, 0xc7, 0x10, 0xf9, 0x1b, 0x9c, 0x89, 0xe7, 0x70, 0xa2, 0x3d, 0x16, 0x1f, 0x56, + 0x26, 0x3e, 0xd5, 0x70, 0xb0, 0xf1, 0xf3, 0xbd, 0x8d, 0x4e, 0x7f, 0x7c, 0xba, 0x57, 0x01, 0x91, + 0x02, 0xd1, 0x79, 0x83, 0xb0, 0xe1, 0xb1, 0xd8, 0xdc, 0xc7, 0xcd, 0x90, 0xc5, 0x31, 0xa4, 0x39, + 0xe2, 0x8a, 0xb7, 0xfd, 0x6b, 0x6a, 0x97, 0xca, 0xef, 0xa9, 0xbd, 0x3a, 0xa1, 0x7c, 0x70, 0xe0, + 0x14, 0xb1, 0xe3, 0x97, 0x07, 0xe6, 0x53, 0xdc, 0xa4, 0x5c, 0x66, 0x42, 0x97, 0x8c, 0xa4, 0x64, + 0xdc, 0x49, 0x98, 0xee, 0x65, 0xa1, 0x1b, 0x49, 0x4e, 0xca, 0x01, 0x16, 0x7f, 0xbb, 0x2a, 0xee, + 0x13, 0x3d, 0x19, 0x82, 0x72, 0x1f, 0x49, 0x26, 0xfc, 0xf2, 0xba, 0x73, 0x8a, 0xf0, 0x5a, 0x97, + 0x2a, 0xfd, 0xb0, 0x80, 0xf3, 0x41, 0x65, 0x03, 0x6d, 0xde, 0xc2, 0xcd, 0x31, 0x13, 0xa2, 0x62, + 0xf2, 0xcb, 0xe8, 0xc2, 0xca, 0x9a, 0xeb, 0xf8, 0x4a, 0x2a, 0x33, 0x11, 0xb7, 0x8c, 0x36, 0xea, + 0x5c, 0xf6, 0x8b, 0xc0, 0x79, 0x8d, 0xf0, 0xd5, 0x27, 0x23, 0x10, 0x8b, 0x29, 0x2e, 0x18, 0xea, + 0x73, 0xb9, 0xf0, 0xd6, 0xff, 0xc2, 0xf0, 0x16, 0x61, 0x33, 0x67, 0xf8, 0x2f, 0x26, 0xf2, 0x19, + 0xe1, 0xb5, 0x3a, 0xcd, 0x0b, 0x4d, 0xd3, 0x5a, 0x2e, 0xaa, 0xe5, 0x9a, 0x77, 0xf1, 0x4d, 0x10, + 0x31, 0x13, 0x49, 0xa0, 0x19, 0x07, 0xa5, 0x29, 0x1f, 0xe6, 0x50, 0x86, 0x7f, 0xa3, 0xd0, 0x5f, + 0x56, 0xb2, 0x79, 0x8c, 0xb1, 0x80, 0x71, 0x10, 0x52, 0xd5, 0x07, 0xdd, 0x32, 0xda, 0x46, 0xe7, + 0xda, 0x83, 0x4d, 0xb7, 0x00, 0x74, 0x17, 0x2f, 0xae, 0x7a, 0x9c, 0x39, 0xa3, 0x77, 0x7f, 0xd1, + 0xd4, 0x87, 0x6f, 0x76, 0xe7, 0x1f, 0x9b, 0x52, 0xfe, 0x8a, 0x80, 0xb1, 0x97, 0xbb, 0x7b, 0xc9, + 0xd9, 0xcc, 0x42, 0xe7, 0x33, 0x0b, 0x7d, 0x9f, 0x59, 0xe8, 0xdd, 0xdc, 0x6a, 0x9c, 0xcf, 0xad, + 0xc6, 0x97, 0xb9, 0xd5, 0x78, 0xf5, 0xac, 0x66, 0x77, 0x58, 0xad, 0x87, 0x2e, 0x0d, 0x15, 0x59, + 0x2e, 0x8b, 0xdd, 0x48, 0xa6, 0x50, 0x0f, 0x7b, 0x94, 0x09, 0xc2, 0x65, 0x9c, 0x0d, 0x40, 0x2d, + 0x57, 0x4e, 0x5e, 0x39, 0x6c, 0xe6, 0x5b, 0x60, 0xff, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x65, + 0x8c, 0x47, 0xe7, 0x94, 0x04, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { @@ -447,6 +509,51 @@ func (m *Bid) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *LastAuctionResult) 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 *LastAuctionResult) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *LastAuctionResult) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Round != 0 { + i = encodeVarintAuction(dAtA, i, uint64(m.Round)) + i-- + dAtA[i] = 0x18 + } + { + size := m.Amount.Size() + i -= size + if _, err := m.Amount.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintAuction(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Winner) > 0 { + i -= len(m.Winner) + copy(dAtA[i:], m.Winner) + i = encodeVarintAuction(dAtA, i, uint64(len(m.Winner))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *EventBid) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -624,6 +731,24 @@ func (m *Bid) Size() (n int) { return n } +func (m *LastAuctionResult) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Winner) + if l > 0 { + n += 1 + l + sovAuction(uint64(l)) + } + l = m.Amount.Size() + n += 1 + l + sovAuction(uint64(l)) + if m.Round != 0 { + n += 1 + sovAuction(uint64(m.Round)) + } + return n +} + func (m *EventBid) Size() (n int) { if m == nil { return 0 @@ -906,6 +1031,141 @@ func (m *Bid) Unmarshal(dAtA []byte) error { } return nil } +func (m *LastAuctionResult) 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 ErrIntOverflowAuction + } + 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: LastAuctionResult: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: LastAuctionResult: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Winner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + 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 ErrInvalidLengthAuction + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthAuction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Winner = 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 ErrIntOverflowAuction + } + 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 ErrInvalidLengthAuction + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthAuction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Round", wireType) + } + m.Round = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowAuction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Round |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipAuction(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthAuction + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *EventBid) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/chain/auction/types/codec.go b/chain/auction/types/codec.go index c5299e0b..c19dfee4 100644 --- a/chain/auction/types/codec.go +++ b/chain/auction/types/codec.go @@ -14,6 +14,7 @@ import ( func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgBid{}, "auction/MsgBid", nil) cdc.RegisterConcrete(&MsgUpdateParams{}, "auction/MsgUpdateParams", nil) + cdc.RegisterConcrete(&Params{}, "auction/Params", nil) } func RegisterInterfaces(registry types.InterfaceRegistry) { @@ -26,21 +27,19 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { } var ( - amino = codec.NewLegacyAmino() - // ModuleCdc references the global x/auction module codec. Note, the codec should // ONLY be used in certain instances of tests and for JSON encoding as Amino is // still used for that purpose. // // The actual codec used for serialization should be provided to x/auction and // defined at the application level. - ModuleCdc = codec.NewAminoCodec(amino) + ModuleCdc = codec.NewLegacyAmino() ) func init() { - RegisterLegacyAminoCodec(amino) - cryptocodec.RegisterCrypto(amino) + RegisterLegacyAminoCodec(ModuleCdc) + cryptocodec.RegisterCrypto(ModuleCdc) RegisterLegacyAminoCodec(authzcdc.Amino) - amino.Seal() + ModuleCdc.Seal() } diff --git a/chain/auction/types/expected_keepers.go b/chain/auction/types/expected_keepers.go index e8d27ee8..e9b959b5 100644 --- a/chain/auction/types/expected_keepers.go +++ b/chain/auction/types/expected_keepers.go @@ -1,14 +1,16 @@ package types import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" ) // BankKeeper defines the expected bank keeper methods type BankKeeper interface { - GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins - SendCoinsFromModuleToModule(ctx sdk.Context, senderModule, recipientModule string, amt sdk.Coins) error - 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 + GetAllBalances(ctx context.Context, addr sdk.AccAddress) sdk.Coins + SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error + SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error + BurnCoins(ctx context.Context, moduleName string, amt sdk.Coins) error } diff --git a/chain/auction/types/genesis.pb.go b/chain/auction/types/genesis.pb.go index d1452e2a..458e36a1 100644 --- a/chain/auction/types/genesis.pb.go +++ b/chain/auction/types/genesis.pb.go @@ -33,6 +33,8 @@ type GenesisState struct { HighestBid *Bid `protobuf:"bytes,3,opt,name=highest_bid,json=highestBid,proto3" json:"highest_bid,omitempty"` // auction ending timestamp AuctionEndingTimestamp int64 `protobuf:"varint,4,opt,name=auction_ending_timestamp,json=auctionEndingTimestamp,proto3" json:"auction_ending_timestamp,omitempty"` + // last auction result + LastAuctionResult *LastAuctionResult `protobuf:"bytes,5,opt,name=last_auction_result,json=lastAuctionResult,proto3" json:"last_auction_result,omitempty"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -96,6 +98,13 @@ func (m *GenesisState) GetAuctionEndingTimestamp() int64 { return 0 } +func (m *GenesisState) GetLastAuctionResult() *LastAuctionResult { + if m != nil { + return m.LastAuctionResult + } + return nil +} + func init() { proto.RegisterType((*GenesisState)(nil), "injective.auction.v1beta1.GenesisState") } @@ -105,27 +114,29 @@ func init() { } var fileDescriptor_56f095f457353f49 = []byte{ - // 315 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0xb1, 0x4e, 0xc3, 0x30, - 0x10, 0x86, 0x63, 0x5a, 0x75, 0x70, 0xcb, 0x12, 0x21, 0x14, 0x3a, 0x98, 0x02, 0x03, 0x5d, 0x88, - 0x55, 0x58, 0xd8, 0x2a, 0x45, 0x42, 0x08, 0x09, 0x24, 0x14, 0x98, 0x58, 0x2a, 0x27, 0xb1, 0x9c, - 0x43, 0xc4, 0x8e, 0x62, 0xa7, 0x12, 0x6f, 0xc1, 0x63, 0x75, 0xec, 0xc8, 0x84, 0x50, 0xfb, 0x00, - 0xbc, 0x02, 0xaa, 0xeb, 0x44, 0x2c, 0x74, 0x3b, 0xff, 0xff, 0x77, 0xf7, 0x9f, 0x7c, 0xf8, 0x1c, - 0xe4, 0x2b, 0x4f, 0x0d, 0xcc, 0x39, 0x65, 0x75, 0x6a, 0x40, 0x49, 0x3a, 0x9f, 0x24, 0xdc, 0xb0, - 0x09, 0x15, 0x5c, 0x72, 0x0d, 0x3a, 0x2c, 0x2b, 0x65, 0x94, 0x7f, 0xd4, 0x82, 0xa1, 0x03, 0x43, - 0x07, 0x0e, 0x77, 0xcc, 0x68, 0x50, 0x3b, 0x63, 0x78, 0x20, 0x94, 0x50, 0xb6, 0xa4, 0x9b, 0x6a, - 0xab, 0x9e, 0xfe, 0x20, 0x3c, 0xb8, 0xdd, 0x66, 0x3d, 0x19, 0x66, 0xb8, 0x3f, 0xc5, 0xbd, 0x92, - 0x55, 0xac, 0xd0, 0x01, 0x1a, 0xa1, 0x71, 0xff, 0xf2, 0x24, 0xfc, 0x37, 0x3b, 0x7c, 0xb4, 0x60, - 0xd4, 0x5d, 0x7c, 0x1d, 0x7b, 0xb1, 0x6b, 0xf3, 0xcf, 0xf0, 0xbe, 0xe3, 0x66, 0x95, 0xaa, 0x65, - 0x16, 0xec, 0x8d, 0xd0, 0xb8, 0x1b, 0x0f, 0x9c, 0x18, 0x6f, 0x34, 0x7f, 0x8a, 0xfb, 0x39, 0x88, - 0x9c, 0x6b, 0x33, 0x4b, 0x20, 0x0b, 0x3a, 0x36, 0x8a, 0xec, 0x88, 0x8a, 0x20, 0x8b, 0xb1, 0x6b, - 0x89, 0x20, 0xf3, 0xaf, 0x71, 0xd0, 0xa4, 0x70, 0x99, 0x81, 0x14, 0x33, 0x03, 0x05, 0xd7, 0x86, - 0x15, 0x65, 0xd0, 0x1d, 0xa1, 0x71, 0x27, 0x3e, 0x74, 0xfe, 0x8d, 0xb5, 0x9f, 0x1b, 0x37, 0x12, - 0x8b, 0x15, 0x41, 0xcb, 0x15, 0x41, 0xdf, 0x2b, 0x82, 0x3e, 0xd6, 0xc4, 0x5b, 0xae, 0x89, 0xf7, - 0xb9, 0x26, 0xde, 0xcb, 0x83, 0x00, 0x93, 0xd7, 0x49, 0x98, 0xaa, 0x82, 0xde, 0x35, 0x9b, 0xdc, - 0xb3, 0x44, 0xd3, 0x76, 0xaf, 0x8b, 0x54, 0x55, 0xfc, 0xef, 0x33, 0x67, 0x20, 0x69, 0xa1, 0xb2, - 0xfa, 0x8d, 0xeb, 0xf6, 0x00, 0xe6, 0xbd, 0xe4, 0x3a, 0xe9, 0xd9, 0x1f, 0xbe, 0xfa, 0x0d, 0x00, - 0x00, 0xff, 0xff, 0x2f, 0xc4, 0xb2, 0x63, 0xe6, 0x01, 0x00, 0x00, + // 350 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0xc1, 0x4a, 0xeb, 0x40, + 0x14, 0x86, 0x93, 0xb6, 0xb7, 0x8b, 0x69, 0xef, 0xe2, 0xe6, 0x8a, 0xc4, 0x2e, 0x62, 0xd5, 0x85, + 0x5d, 0x68, 0x42, 0x75, 0xe3, 0xae, 0x18, 0x10, 0x11, 0x2a, 0x48, 0x74, 0x25, 0x42, 0x98, 0x24, + 0xc3, 0x64, 0x24, 0x99, 0x09, 0x99, 0x93, 0x82, 0x6f, 0xe1, 0x63, 0x75, 0x23, 0x74, 0xe9, 0x4a, + 0xa4, 0x7d, 0x11, 0xe9, 0x74, 0x12, 0x44, 0xb0, 0xbb, 0x33, 0xff, 0xf9, 0xcf, 0xf9, 0xfe, 0xe1, + 0xa0, 0x63, 0xc6, 0x9f, 0x49, 0x0c, 0x6c, 0x46, 0x3c, 0x5c, 0xc5, 0xc0, 0x04, 0xf7, 0x66, 0xe3, + 0x88, 0x00, 0x1e, 0x7b, 0x94, 0x70, 0x22, 0x99, 0x74, 0x8b, 0x52, 0x80, 0xb0, 0xf6, 0x1a, 0xa3, + 0xab, 0x8d, 0xae, 0x36, 0x0e, 0xb6, 0xec, 0xa8, 0xad, 0x6a, 0xc7, 0x60, 0x87, 0x0a, 0x2a, 0x54, + 0xe9, 0xad, 0xab, 0x8d, 0x7a, 0xf8, 0xd6, 0x42, 0xfd, 0xeb, 0x0d, 0xeb, 0x1e, 0x30, 0x10, 0x6b, + 0x82, 0xba, 0x05, 0x2e, 0x71, 0x2e, 0x6d, 0x73, 0x68, 0x8e, 0x7a, 0x67, 0x07, 0xee, 0xaf, 0x6c, + 0xf7, 0x4e, 0x19, 0xfd, 0xce, 0xfc, 0x63, 0xdf, 0x08, 0xf4, 0x98, 0x75, 0x84, 0xfe, 0x6a, 0x5f, + 0x58, 0x8a, 0x8a, 0x27, 0x76, 0x6b, 0x68, 0x8e, 0x3a, 0x41, 0x5f, 0x8b, 0xc1, 0x5a, 0xb3, 0x26, + 0xa8, 0x97, 0x32, 0x9a, 0x12, 0x09, 0x61, 0xc4, 0x12, 0xbb, 0xad, 0x50, 0xce, 0x16, 0x94, 0xcf, + 0x92, 0x00, 0xe9, 0x11, 0x9f, 0x25, 0xd6, 0x05, 0xb2, 0x6b, 0x0a, 0xe1, 0x09, 0xe3, 0x34, 0x04, + 0x96, 0x13, 0x09, 0x38, 0x2f, 0xec, 0xce, 0xd0, 0x1c, 0xb5, 0x83, 0x5d, 0xdd, 0xbf, 0x52, 0xed, + 0x87, 0xba, 0x6b, 0x3d, 0xa1, 0xff, 0x19, 0x96, 0x10, 0x36, 0x21, 0x89, 0xac, 0x32, 0xb0, 0xff, + 0xa8, 0x08, 0x27, 0x5b, 0x22, 0x4c, 0xb1, 0x84, 0x4b, 0xfd, 0x09, 0x35, 0x13, 0xfc, 0xcb, 0x7e, + 0x4a, 0x3e, 0x9d, 0x2f, 0x1d, 0x73, 0xb1, 0x74, 0xcc, 0xcf, 0xa5, 0x63, 0xbe, 0xae, 0x1c, 0x63, + 0xb1, 0x72, 0x8c, 0xf7, 0x95, 0x63, 0x3c, 0xde, 0x52, 0x06, 0x69, 0x15, 0xb9, 0xb1, 0xc8, 0xbd, + 0x9b, 0x1a, 0x32, 0xc5, 0x91, 0xf4, 0x1a, 0xe4, 0x69, 0x2c, 0x4a, 0xf2, 0xfd, 0x99, 0x62, 0xc6, + 0xbd, 0x5c, 0x24, 0x55, 0x46, 0x64, 0x73, 0x5e, 0x78, 0x29, 0x88, 0x8c, 0xba, 0xea, 0x7e, 0xe7, + 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x91, 0x86, 0x72, 0xfe, 0x44, 0x02, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { @@ -148,6 +159,18 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.LastAuctionResult != nil { + { + size, err := m.LastAuctionResult.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } if m.AuctionEndingTimestamp != 0 { i = encodeVarintGenesis(dAtA, i, uint64(m.AuctionEndingTimestamp)) i-- @@ -212,6 +235,10 @@ func (m *GenesisState) Size() (n int) { if m.AuctionEndingTimestamp != 0 { n += 1 + sovGenesis(uint64(m.AuctionEndingTimestamp)) } + if m.LastAuctionResult != nil { + l = m.LastAuctionResult.Size() + n += 1 + l + sovGenesis(uint64(l)) + } return n } @@ -357,6 +384,42 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { break } } + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastAuctionResult", 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 m.LastAuctionResult == nil { + m.LastAuctionResult = &LastAuctionResult{} + } + if err := m.LastAuctionResult.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) diff --git a/chain/auction/types/key.go b/chain/auction/types/key.go index 3c949674..0b151360 100644 --- a/chain/auction/types/key.go +++ b/chain/auction/types/key.go @@ -8,8 +8,9 @@ const ( var ( // Keys for store prefixes - BidsKey = []byte{0x01} - AuctionRoundKey = []byte{0x03} - KeyEndingTimeStamp = []byte{0x04} - ParamsKey = []byte{0x10} + BidsKey = []byte{0x01} + AuctionRoundKey = []byte{0x03} + KeyEndingTimeStamp = []byte{0x04} + KeyLastAuctionResult = []byte{0x05} + ParamsKey = []byte{0x10} ) diff --git a/chain/auction/types/params.go b/chain/auction/types/params.go index 6a0b98db..fe3f865b 100644 --- a/chain/auction/types/params.go +++ b/chain/auction/types/params.go @@ -3,7 +3,7 @@ package types import ( "fmt" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" ) @@ -14,7 +14,7 @@ var ( // DefaultAuctionPeriod represents the number of seconds in 1 week DefaultAuctionPeriod int64 = 60 * 60 * 24 * 7 // DefaultMinNextBidIncrementRate represents default min increment rate 0.25% - DefaultMinNextBidIncrementRate = sdk.NewDecWithPrec(25, 4) + DefaultMinNextBidIncrementRate = math.LegacyNewDecWithPrec(25, 4) ) // Parameter keys @@ -31,7 +31,7 @@ func ParamKeyTable() paramtypes.KeyTable { // NewParams creates a new Params instance func NewParams( auctionPeriod int64, - minNextBidIncrementRate sdk.Dec, + minNextBidIncrementRate math.LegacyDec, ) Params { return Params{ AuctionPeriod: auctionPeriod, @@ -82,7 +82,7 @@ func validateAuctionPeriodDuration(i interface{}) error { } func validateMinNextBidIncrementRate(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(math.LegacyDec) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } @@ -91,11 +91,11 @@ func validateMinNextBidIncrementRate(i interface{}) error { return fmt.Errorf("MinNextBidIncrementRate cannot be nil") } - if v.Equal(sdk.ZeroDec()) { + if v.Equal(math.LegacyZeroDec()) { return fmt.Errorf("MinNextBidIncrementRate must be positive: %s", v.String()) } - if v.GT(sdk.NewDecWithPrec(2, 1)) { // > 20% + if v.GT(math.LegacyNewDecWithPrec(2, 1)) { // > 20% return fmt.Errorf("MinNextBidIncrementRate must be equal or less than 20 percent: %s", v.String()) } diff --git a/chain/auction/types/query.pb.go b/chain/auction/types/query.pb.go index ec9d8b68..6aba7c13 100644 --- a/chain/auction/types/query.pb.go +++ b/chain/auction/types/query.pb.go @@ -5,6 +5,7 @@ package types import ( context "context" + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" @@ -165,7 +166,7 @@ type QueryCurrentAuctionBasketResponse struct { // highestBidder describes highest bidder on current round HighestBidder string `protobuf:"bytes,4,opt,name=highestBidder,proto3" json:"highestBidder,omitempty"` // highestBidAmount describes highest bid amount on current round - HighestBidAmount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,5,opt,name=highestBidAmount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"highestBidAmount"` + HighestBidAmount cosmossdk_io_math.Int `protobuf:"bytes,5,opt,name=highestBidAmount,proto3,customtype=cosmossdk.io/math.Int" json:"highestBidAmount"` } func (m *QueryCurrentAuctionBasketResponse) Reset() { *m = QueryCurrentAuctionBasketResponse{} } @@ -313,6 +314,86 @@ func (m *QueryModuleStateResponse) GetState() *GenesisState { return nil } +type QueryLastAuctionResultRequest struct { +} + +func (m *QueryLastAuctionResultRequest) Reset() { *m = QueryLastAuctionResultRequest{} } +func (m *QueryLastAuctionResultRequest) String() string { return proto.CompactTextString(m) } +func (*QueryLastAuctionResultRequest) ProtoMessage() {} +func (*QueryLastAuctionResultRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_2ae80edbdb9fffb7, []int{6} +} +func (m *QueryLastAuctionResultRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryLastAuctionResultRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryLastAuctionResultRequest.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 *QueryLastAuctionResultRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryLastAuctionResultRequest.Merge(m, src) +} +func (m *QueryLastAuctionResultRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryLastAuctionResultRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryLastAuctionResultRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryLastAuctionResultRequest proto.InternalMessageInfo + +type QueryLastAuctionResultResponse struct { + LastAuctionResult *LastAuctionResult `protobuf:"bytes,1,opt,name=last_auction_result,json=lastAuctionResult,proto3" json:"last_auction_result,omitempty"` +} + +func (m *QueryLastAuctionResultResponse) Reset() { *m = QueryLastAuctionResultResponse{} } +func (m *QueryLastAuctionResultResponse) String() string { return proto.CompactTextString(m) } +func (*QueryLastAuctionResultResponse) ProtoMessage() {} +func (*QueryLastAuctionResultResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2ae80edbdb9fffb7, []int{7} +} +func (m *QueryLastAuctionResultResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryLastAuctionResultResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryLastAuctionResultResponse.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 *QueryLastAuctionResultResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryLastAuctionResultResponse.Merge(m, src) +} +func (m *QueryLastAuctionResultResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryLastAuctionResultResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryLastAuctionResultResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryLastAuctionResultResponse proto.InternalMessageInfo + +func (m *QueryLastAuctionResultResponse) GetLastAuctionResult() *LastAuctionResult { + if m != nil { + return m.LastAuctionResult + } + return nil +} + func init() { proto.RegisterType((*QueryAuctionParamsRequest)(nil), "injective.auction.v1beta1.QueryAuctionParamsRequest") proto.RegisterType((*QueryAuctionParamsResponse)(nil), "injective.auction.v1beta1.QueryAuctionParamsResponse") @@ -320,6 +401,8 @@ func init() { proto.RegisterType((*QueryCurrentAuctionBasketResponse)(nil), "injective.auction.v1beta1.QueryCurrentAuctionBasketResponse") proto.RegisterType((*QueryModuleStateRequest)(nil), "injective.auction.v1beta1.QueryModuleStateRequest") proto.RegisterType((*QueryModuleStateResponse)(nil), "injective.auction.v1beta1.QueryModuleStateResponse") + proto.RegisterType((*QueryLastAuctionResultRequest)(nil), "injective.auction.v1beta1.QueryLastAuctionResultRequest") + proto.RegisterType((*QueryLastAuctionResultResponse)(nil), "injective.auction.v1beta1.QueryLastAuctionResultResponse") } func init() { @@ -327,45 +410,51 @@ func init() { } var fileDescriptor_2ae80edbdb9fffb7 = []byte{ - // 607 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0x4d, 0x6b, 0xd4, 0x40, - 0x18, 0xde, 0x69, 0xb7, 0x05, 0xa7, 0x16, 0x64, 0x28, 0x98, 0x8d, 0x92, 0xa6, 0xf1, 0xa3, 0xe9, - 0xa1, 0x89, 0xdd, 0xea, 0x49, 0x45, 0x9a, 0x1e, 0xa4, 0x60, 0x41, 0xa3, 0x17, 0x0b, 0x22, 0x93, - 0xec, 0x90, 0x1d, 0xdb, 0xcc, 0x6c, 0x33, 0x93, 0x42, 0xaf, 0xfe, 0x02, 0xc1, 0x5f, 0xe0, 0x49, - 0xf0, 0xe0, 0x2f, 0xf0, 0x07, 0xf4, 0x58, 0xf0, 0x22, 0x1e, 0xaa, 0xec, 0xfa, 0x43, 0x24, 0x99, - 0xd9, 0xed, 0x2e, 0xfb, 0xe5, 0x7a, 0xda, 0xe4, 0x9d, 0xf7, 0x79, 0xde, 0xe7, 0x79, 0xe7, 0xc9, - 0xc2, 0x3b, 0x94, 0xbd, 0x23, 0xb1, 0xa4, 0x27, 0xc4, 0xc7, 0x79, 0x2c, 0x29, 0x67, 0xfe, 0xc9, - 0x56, 0x44, 0x24, 0xde, 0xf2, 0x8f, 0x73, 0x92, 0x9d, 0x7a, 0xad, 0x8c, 0x4b, 0x8e, 0x6a, 0xbd, - 0x36, 0x4f, 0xb7, 0x79, 0xba, 0xcd, 0xbc, 0x99, 0x70, 0x9e, 0x1c, 0x11, 0x1f, 0xb7, 0xa8, 0x8f, - 0x19, 0xe3, 0x12, 0x17, 0xc7, 0x42, 0x01, 0xcd, 0xf5, 0xf1, 0xfc, 0x5d, 0xa2, 0xa9, 0x8d, 0x09, - 0x61, 0x44, 0xd0, 0x2e, 0xe3, 0x4a, 0xc2, 0x13, 0x5e, 0x3e, 0xfa, 0xc5, 0x93, 0xae, 0x5a, 0x31, - 0x17, 0x29, 0x17, 0x7e, 0x84, 0x05, 0xe9, 0x01, 0x63, 0x4e, 0x35, 0xbd, 0x73, 0x03, 0xd6, 0x5e, - 0x14, 0x7e, 0x76, 0x14, 0xf7, 0x73, 0x9c, 0xe1, 0x54, 0x84, 0xe4, 0x38, 0x27, 0x42, 0x3a, 0x6f, - 0xa0, 0x39, 0xea, 0x50, 0xb4, 0x38, 0x13, 0x04, 0x3d, 0x81, 0x8b, 0xad, 0xb2, 0x62, 0x00, 0x1b, - 0xb8, 0x4b, 0xf5, 0x35, 0x6f, 0xec, 0x32, 0x3c, 0x05, 0x0d, 0xaa, 0x67, 0x17, 0xab, 0x95, 0x50, - 0xc3, 0x1c, 0x07, 0xda, 0x25, 0xfd, 0x6e, 0x9e, 0x65, 0x84, 0x49, 0x3d, 0x25, 0xc0, 0xe2, 0x90, - 0xc8, 0xae, 0x84, 0x8b, 0x39, 0xb8, 0x36, 0xa1, 0x49, 0x4b, 0x89, 0xe1, 0x22, 0x4e, 0x79, 0xce, - 0xa4, 0x01, 0xec, 0x79, 0x77, 0xa9, 0x5e, 0xf3, 0x94, 0x6d, 0xaf, 0xb0, 0xdd, 0x13, 0xb1, 0xcb, - 0x29, 0x0b, 0xee, 0x15, 0x12, 0xbe, 0xfc, 0x5a, 0x75, 0x13, 0x2a, 0x9b, 0x79, 0xe4, 0xc5, 0x3c, - 0xf5, 0xf5, 0x8e, 0xd4, 0xcf, 0xa6, 0x68, 0x1c, 0xfa, 0xf2, 0xb4, 0x45, 0x44, 0x09, 0x10, 0xa1, - 0xa6, 0x46, 0x0e, 0xbc, 0xaa, 0x6d, 0x85, 0x3c, 0x67, 0x0d, 0x63, 0xce, 0x06, 0x6e, 0x35, 0x1c, - 0xa8, 0x21, 0x0f, 0x22, 0xfd, 0xbe, 0x7b, 0xc4, 0x05, 0x65, 0xc9, 0x2b, 0x9a, 0x12, 0x63, 0xde, - 0x06, 0xee, 0x7c, 0x38, 0xe2, 0x04, 0xdd, 0x86, 0xcb, 0x4d, 0x9a, 0x34, 0x89, 0x90, 0x01, 0x6d, - 0x34, 0x48, 0x66, 0x54, 0x6d, 0xe0, 0x5e, 0x09, 0x07, 0x8b, 0xe8, 0x00, 0x5e, 0xbb, 0x2c, 0xec, - 0x28, 0xa3, 0x0b, 0x45, 0x63, 0xe0, 0x15, 0x6e, 0x7e, 0x5e, 0xac, 0xde, 0xfd, 0x07, 0x37, 0x7b, - 0x4c, 0x86, 0x43, 0x3c, 0x4e, 0x0d, 0x5e, 0x2f, 0xf7, 0xbb, 0xcf, 0x1b, 0xf9, 0x11, 0x79, 0x29, - 0xb1, 0x24, 0xdd, 0xdd, 0xbf, 0x86, 0xc6, 0xf0, 0x91, 0xde, 0xf8, 0x63, 0xb8, 0x20, 0x8a, 0x82, - 0xbe, 0xfb, 0xf5, 0x09, 0x77, 0xff, 0x54, 0xc5, 0x54, 0xe1, 0x15, 0xaa, 0xfe, 0xa9, 0x0a, 0x17, - 0x4a, 0x6e, 0xf4, 0x19, 0xc0, 0xe5, 0x81, 0x7c, 0xa1, 0xfb, 0x13, 0xb8, 0xc6, 0x66, 0xd5, 0x7c, - 0x30, 0x23, 0x4a, 0xf9, 0x70, 0x36, 0xde, 0x7f, 0xff, 0xf3, 0x71, 0xee, 0x16, 0x5a, 0xf3, 0xc7, - 0x7f, 0x67, 0x2a, 0xae, 0xe8, 0x1b, 0x80, 0x2b, 0xa3, 0x52, 0x88, 0x1e, 0x4e, 0x1b, 0x3d, 0x21, - 0xe0, 0xe6, 0xa3, 0xff, 0x03, 0xcf, 0x20, 0x3f, 0x52, 0x2a, 0xbf, 0x02, 0x88, 0x34, 0x49, 0xdf, - 0x85, 0xa2, 0xfa, 0xb4, 0xf9, 0xc3, 0xc1, 0x30, 0xb7, 0x67, 0xc2, 0x68, 0xa9, 0x7e, 0x29, 0x75, - 0x03, 0xad, 0x4f, 0x90, 0x9a, 0x96, 0xb8, 0xb7, 0x65, 0x46, 0x82, 0xe4, 0xac, 0x6d, 0x81, 0xf3, - 0xb6, 0x05, 0x7e, 0xb7, 0x2d, 0xf0, 0xa1, 0x63, 0x55, 0xce, 0x3b, 0x56, 0xe5, 0x47, 0xc7, 0xaa, - 0x1c, 0xec, 0xf7, 0xa5, 0x7d, 0xaf, 0x4b, 0xf6, 0x0c, 0x47, 0xe2, 0x92, 0x7a, 0x33, 0xe6, 0x19, - 0xe9, 0x7f, 0x6d, 0x62, 0xca, 0x34, 0xbf, 0xe8, 0xcd, 0x2d, 0x3f, 0x8c, 0x68, 0xb1, 0xfc, 0x2b, - 0xdc, 0xfe, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xb8, 0xd8, 0x05, 0x8e, 0xf4, 0x05, 0x00, 0x00, + // 698 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x4f, 0x4f, 0x13, 0x4d, + 0x18, 0xef, 0x00, 0x25, 0x79, 0x87, 0x97, 0xe4, 0x65, 0x5e, 0x8c, 0xed, 0x2a, 0xdb, 0xb2, 0x6a, + 0x28, 0x89, 0xec, 0x42, 0x51, 0xa3, 0x51, 0x63, 0x28, 0x07, 0x43, 0x02, 0x89, 0xae, 0x5e, 0x34, + 0x1a, 0x32, 0xdd, 0x4e, 0xb6, 0x23, 0xdd, 0x99, 0xb2, 0x33, 0x4b, 0xc2, 0xc5, 0x83, 0x9f, 0xc0, + 0xc4, 0x0f, 0x61, 0xe2, 0xc1, 0x4f, 0xe0, 0xc1, 0x23, 0x17, 0x13, 0x12, 0x2f, 0xc6, 0x03, 0x1a, + 0xe0, 0x83, 0x98, 0x9d, 0x99, 0x16, 0xb0, 0xed, 0x36, 0x70, 0xea, 0xee, 0xf3, 0x3c, 0xbf, 0xdf, + 0xf3, 0x7b, 0xfe, 0x6d, 0xe1, 0x0d, 0xca, 0xde, 0x90, 0x40, 0xd2, 0x1d, 0xe2, 0xe1, 0x24, 0x90, + 0x94, 0x33, 0x6f, 0x67, 0xa9, 0x4e, 0x24, 0x5e, 0xf2, 0xb6, 0x13, 0x12, 0xef, 0xba, 0xed, 0x98, + 0x4b, 0x8e, 0x8a, 0xdd, 0x30, 0xd7, 0x84, 0xb9, 0x26, 0xcc, 0xba, 0x1a, 0x72, 0x1e, 0xb6, 0x88, + 0x87, 0xdb, 0xd4, 0xc3, 0x8c, 0x71, 0x89, 0x53, 0xb7, 0xd0, 0x40, 0x6b, 0x6e, 0x30, 0x7f, 0x87, + 0x68, 0x68, 0x60, 0x48, 0x18, 0x11, 0xb4, 0xc3, 0x38, 0x1d, 0xf2, 0x90, 0xab, 0x47, 0x2f, 0x7d, + 0x32, 0x56, 0x3b, 0xe0, 0x22, 0xe2, 0xc2, 0xab, 0x63, 0x41, 0xba, 0xc0, 0x80, 0x53, 0x43, 0xef, + 0x5c, 0x81, 0xc5, 0xa7, 0x69, 0x3d, 0x2b, 0x9a, 0xfb, 0x09, 0x8e, 0x71, 0x24, 0x7c, 0xb2, 0x9d, + 0x10, 0x21, 0x9d, 0xd7, 0xd0, 0xea, 0xe7, 0x14, 0x6d, 0xce, 0x04, 0x41, 0x8f, 0xe0, 0x78, 0x5b, + 0x59, 0x0a, 0xa0, 0x0c, 0x2a, 0x13, 0xd5, 0x59, 0x77, 0x60, 0x33, 0x5c, 0x0d, 0xad, 0x8d, 0xed, + 0x1d, 0x94, 0x72, 0xbe, 0x81, 0x39, 0x0e, 0x2c, 0x2b, 0xfa, 0xd5, 0x24, 0x8e, 0x09, 0x93, 0x26, + 0x4b, 0x0d, 0x8b, 0x2d, 0x22, 0x3b, 0x12, 0xbe, 0x8d, 0xc0, 0xd9, 0x8c, 0x20, 0x23, 0x25, 0x80, + 0xe3, 0x38, 0xe2, 0x09, 0x93, 0x05, 0x50, 0x1e, 0xad, 0x4c, 0x54, 0x8b, 0xae, 0x2e, 0xdb, 0x4d, + 0xcb, 0xee, 0x8a, 0x58, 0xe5, 0x94, 0xd5, 0x16, 0x53, 0x09, 0x9f, 0x7e, 0x95, 0x2a, 0x21, 0x95, + 0xcd, 0xa4, 0xee, 0x06, 0x3c, 0xf2, 0x4c, 0x8f, 0xf4, 0xcf, 0x82, 0x68, 0x6c, 0x79, 0x72, 0xb7, + 0x4d, 0x84, 0x02, 0x08, 0xdf, 0x50, 0x23, 0x07, 0xfe, 0x6b, 0xca, 0xf2, 0x79, 0xc2, 0x1a, 0x85, + 0x91, 0x32, 0xa8, 0x8c, 0xf9, 0x67, 0x6c, 0xc8, 0x85, 0xc8, 0xbc, 0xaf, 0xb6, 0xb8, 0xa0, 0x2c, + 0x7c, 0x4e, 0x23, 0x52, 0x18, 0x2d, 0x83, 0xca, 0xa8, 0xdf, 0xc7, 0x83, 0xae, 0xc3, 0xc9, 0x26, + 0x0d, 0x9b, 0x44, 0xc8, 0x1a, 0x6d, 0x34, 0x48, 0x5c, 0x18, 0x2b, 0x83, 0xca, 0x3f, 0xfe, 0x59, + 0x23, 0x5a, 0x83, 0xff, 0x9d, 0x18, 0x56, 0x74, 0xa1, 0xf9, 0x34, 0xb0, 0x36, 0x93, 0x56, 0xf3, + 0xf3, 0xa0, 0x74, 0x49, 0x6b, 0x17, 0x8d, 0x2d, 0x97, 0x72, 0x2f, 0xc2, 0xb2, 0xe9, 0xae, 0x31, + 0xe9, 0xf7, 0xc0, 0x9c, 0x22, 0xbc, 0xac, 0xda, 0xb9, 0xc1, 0x1b, 0x49, 0x8b, 0x3c, 0x93, 0x58, + 0x92, 0x4e, 0xab, 0x5f, 0xc0, 0x42, 0xaf, 0xcb, 0x34, 0xf8, 0x21, 0xcc, 0x8b, 0xd4, 0x60, 0x46, + 0x3d, 0x97, 0x31, 0xea, 0xc7, 0x7a, 0x2b, 0x35, 0x5e, 0xa3, 0x9c, 0x12, 0x9c, 0x51, 0xd4, 0xeb, + 0x58, 0x74, 0x26, 0xe8, 0x13, 0x91, 0xb4, 0xba, 0x63, 0x7e, 0x0b, 0xed, 0x41, 0x01, 0x46, 0xc1, + 0x2b, 0xf8, 0x7f, 0x0b, 0x0b, 0xb9, 0x69, 0xd2, 0x6d, 0xc6, 0xca, 0x6d, 0xf4, 0xdc, 0xcc, 0xd0, + 0xd3, 0x4b, 0x39, 0xd5, 0xfa, 0xdb, 0x54, 0x3d, 0xce, 0xc3, 0xbc, 0x12, 0x80, 0x3e, 0x02, 0x38, + 0x79, 0x66, 0xdf, 0xd1, 0xad, 0x0c, 0xf2, 0x81, 0xb7, 0x63, 0xdd, 0x3e, 0x27, 0x4a, 0x97, 0xe9, + 0xcc, 0xbf, 0xfb, 0x7e, 0xfc, 0x61, 0xe4, 0x1a, 0x9a, 0xf5, 0x06, 0xdf, 0xbd, 0x3e, 0x1f, 0xf4, + 0x05, 0xc0, 0xe9, 0x7e, 0x57, 0x81, 0xee, 0x0f, 0x4b, 0x9d, 0x71, 0x70, 0xd6, 0x83, 0x8b, 0x81, + 0xcf, 0x21, 0xbf, 0xae, 0x55, 0x7e, 0x06, 0x10, 0x19, 0x92, 0x53, 0x1b, 0x87, 0xaa, 0xc3, 0xf2, + 0xf7, 0x6e, 0xae, 0xb5, 0x7c, 0x2e, 0x8c, 0x91, 0xea, 0x29, 0xa9, 0xf3, 0x68, 0x2e, 0x43, 0x6a, + 0xa4, 0x70, 0x9b, 0x6a, 0x89, 0xd1, 0x57, 0x00, 0xa7, 0x7a, 0x96, 0x09, 0xdd, 0x1d, 0x96, 0x7b, + 0xd0, 0xce, 0x5b, 0xf7, 0x2e, 0x80, 0x34, 0xda, 0xef, 0x28, 0xed, 0x8b, 0xc8, 0xcd, 0xd0, 0xde, + 0xe7, 0x5a, 0x6a, 0xe1, 0xde, 0xa1, 0x0d, 0xf6, 0x0f, 0x6d, 0xf0, 0xfb, 0xd0, 0x06, 0xef, 0x8f, + 0xec, 0xdc, 0xfe, 0x91, 0x9d, 0xfb, 0x71, 0x64, 0xe7, 0x5e, 0x6e, 0x9c, 0xfa, 0x1c, 0xae, 0x75, + 0x38, 0xd7, 0x71, 0x5d, 0x9c, 0x64, 0x58, 0x08, 0x78, 0x4c, 0x4e, 0xbf, 0x36, 0x31, 0x65, 0xa6, + 0x45, 0xa2, 0x9b, 0x5e, 0x7d, 0x39, 0xeb, 0xe3, 0xea, 0xdf, 0x65, 0xf9, 0x4f, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xa1, 0xdd, 0x40, 0x94, 0x47, 0x07, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -386,6 +475,7 @@ type QueryClient interface { CurrentAuctionBasket(ctx context.Context, in *QueryCurrentAuctionBasketRequest, opts ...grpc.CallOption) (*QueryCurrentAuctionBasketResponse, error) // Retrieves the entire auction module's state AuctionModuleState(ctx context.Context, in *QueryModuleStateRequest, opts ...grpc.CallOption) (*QueryModuleStateResponse, error) + LastAuctionResult(ctx context.Context, in *QueryLastAuctionResultRequest, opts ...grpc.CallOption) (*QueryLastAuctionResultResponse, error) } type queryClient struct { @@ -423,6 +513,15 @@ func (c *queryClient) AuctionModuleState(ctx context.Context, in *QueryModuleSta return out, nil } +func (c *queryClient) LastAuctionResult(ctx context.Context, in *QueryLastAuctionResultRequest, opts ...grpc.CallOption) (*QueryLastAuctionResultResponse, error) { + out := new(QueryLastAuctionResultResponse) + err := c.cc.Invoke(ctx, "/injective.auction.v1beta1.Query/LastAuctionResult", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. type QueryServer interface { // Retrieves auction params @@ -431,6 +530,7 @@ type QueryServer interface { CurrentAuctionBasket(context.Context, *QueryCurrentAuctionBasketRequest) (*QueryCurrentAuctionBasketResponse, error) // Retrieves the entire auction module's state AuctionModuleState(context.Context, *QueryModuleStateRequest) (*QueryModuleStateResponse, error) + LastAuctionResult(context.Context, *QueryLastAuctionResultRequest) (*QueryLastAuctionResultResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -446,6 +546,9 @@ func (*UnimplementedQueryServer) CurrentAuctionBasket(ctx context.Context, req * func (*UnimplementedQueryServer) AuctionModuleState(ctx context.Context, req *QueryModuleStateRequest) (*QueryModuleStateResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AuctionModuleState not implemented") } +func (*UnimplementedQueryServer) LastAuctionResult(ctx context.Context, req *QueryLastAuctionResultRequest) (*QueryLastAuctionResultResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method LastAuctionResult not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -505,6 +608,24 @@ func _Query_AuctionModuleState_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Query_LastAuctionResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryLastAuctionResultRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).LastAuctionResult(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.auction.v1beta1.Query/LastAuctionResult", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).LastAuctionResult(ctx, req.(*QueryLastAuctionResultRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "injective.auction.v1beta1.Query", HandlerType: (*QueryServer)(nil), @@ -521,6 +642,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "AuctionModuleState", Handler: _Query_AuctionModuleState_Handler, }, + { + MethodName: "LastAuctionResult", + Handler: _Query_LastAuctionResult_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "injective/auction/v1beta1/query.proto", @@ -727,6 +852,64 @@ func (m *QueryModuleStateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } +func (m *QueryLastAuctionResultRequest) 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 *QueryLastAuctionResultRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryLastAuctionResultRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryLastAuctionResultResponse) 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 *QueryLastAuctionResultResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryLastAuctionResultResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.LastAuctionResult != nil { + { + size, err := m.LastAuctionResult.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 @@ -816,6 +999,28 @@ func (m *QueryModuleStateResponse) Size() (n int) { return n } +func (m *QueryLastAuctionResultRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryLastAuctionResultResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.LastAuctionResult != nil { + l = m.LastAuctionResult.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -1329,6 +1534,142 @@ func (m *QueryModuleStateResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryLastAuctionResultRequest) 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: QueryLastAuctionResultRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryLastAuctionResultRequest: 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 *QueryLastAuctionResultResponse) 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: QueryLastAuctionResultResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryLastAuctionResultResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastAuctionResult", 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.LastAuctionResult == nil { + m.LastAuctionResult = &LastAuctionResult{} + } + if err := m.LastAuctionResult.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 skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/auction/types/tx.pb.go b/chain/auction/types/tx.pb.go index 57d3be57..d2366e3f 100644 --- a/chain/auction/types/tx.pb.go +++ b/chain/auction/types/tx.pb.go @@ -9,6 +9,7 @@ import ( _ "github.com/cosmos/cosmos-proto" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -213,37 +214,39 @@ func init() { } var fileDescriptor_0943fd5f0d415547 = []byte{ - // 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, + // 497 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0x4f, 0x6f, 0xd3, 0x30, + 0x1c, 0x8d, 0xe9, 0xa8, 0x54, 0x83, 0x06, 0x44, 0x15, 0xfd, 0x73, 0x48, 0x4b, 0x0e, 0x50, 0x2a, + 0x2d, 0x56, 0x8b, 0xc4, 0x61, 0x07, 0xd0, 0xca, 0x09, 0x89, 0x4a, 0x28, 0x13, 0x17, 0x2e, 0x93, + 0x13, 0x5b, 0xae, 0x11, 0xb1, 0xa3, 0xd8, 0xa9, 0xd8, 0x95, 0x13, 0xe2, 0xc4, 0x27, 0x40, 0xfb, + 0x08, 0x3b, 0x20, 0x3e, 0xc3, 0xc4, 0x69, 0xe2, 0xc4, 0x09, 0xa1, 0xf6, 0x30, 0x3e, 0x06, 0x4a, + 0xec, 0x74, 0x01, 0x69, 0x63, 0x97, 0xc4, 0x3f, 0xbf, 0xf7, 0x7b, 0xbf, 0xf7, 0x6c, 0x43, 0x9f, + 0x8b, 0x37, 0x34, 0xd6, 0x7c, 0x49, 0x11, 0xce, 0x63, 0xcd, 0xa5, 0x40, 0xcb, 0x49, 0x44, 0x35, + 0x9e, 0x20, 0xfd, 0x2e, 0x48, 0x33, 0xa9, 0xa5, 0xdb, 0xdb, 0x70, 0x02, 0xcb, 0x09, 0x2c, 0xa7, + 0xdf, 0x66, 0x92, 0xc9, 0x92, 0x85, 0x8a, 0x95, 0x69, 0xe8, 0x7b, 0xb1, 0x54, 0x89, 0x54, 0x28, + 0xc2, 0x8a, 0x6e, 0xe4, 0x62, 0xc9, 0x85, 0xc5, 0x3b, 0x16, 0x4f, 0x14, 0x43, 0xcb, 0x49, 0xf1, + 0xb3, 0x40, 0xcf, 0x00, 0x07, 0x46, 0xd1, 0x14, 0x16, 0x7a, 0x70, 0xb1, 0xd1, 0xca, 0x94, 0x21, + 0xde, 0xc1, 0x09, 0x17, 0x12, 0x95, 0x5f, 0xb3, 0xe5, 0x7f, 0x06, 0xb0, 0x39, 0x57, 0x6c, 0xc6, + 0x89, 0x7b, 0x17, 0x36, 0x15, 0x15, 0x84, 0x66, 0x5d, 0x30, 0x04, 0xa3, 0x56, 0x68, 0x2b, 0xf7, + 0x09, 0x84, 0x11, 0x27, 0x07, 0x38, 0x91, 0xb9, 0xd0, 0xdd, 0x6b, 0x43, 0x30, 0xba, 0x31, 0xed, + 0x05, 0xd6, 0x41, 0x91, 0xa3, 0x8a, 0x1c, 0x3c, 0x93, 0x5c, 0xcc, 0xb6, 0x4e, 0x7e, 0x0e, 0x9c, + 0xb0, 0x15, 0x71, 0xb2, 0x57, 0x76, 0xb8, 0x6d, 0x78, 0x3d, 0x93, 0xb9, 0x20, 0xdd, 0xc6, 0x10, + 0x8c, 0xb6, 0x42, 0x53, 0xec, 0xde, 0xff, 0x70, 0x34, 0x70, 0x7e, 0x1f, 0x0d, 0x9c, 0xf7, 0x67, + 0xc7, 0x63, 0x3b, 0xea, 0xe3, 0xd9, 0xf1, 0x78, 0xbb, 0x8a, 0x60, 0x5c, 0xf9, 0xb7, 0xe1, 0xb6, + 0x59, 0x85, 0x54, 0xa5, 0x52, 0x28, 0xea, 0x7f, 0x05, 0xf0, 0xd6, 0x5c, 0xb1, 0x57, 0x29, 0xc1, + 0x9a, 0xbe, 0xc4, 0x19, 0x4e, 0x94, 0xfb, 0x18, 0xb6, 0x70, 0xae, 0x17, 0x32, 0xe3, 0xfa, 0xd0, + 0xd8, 0x9f, 0x75, 0xbf, 0x7f, 0xd9, 0x69, 0x5b, 0x97, 0x7b, 0x84, 0x64, 0x54, 0xa9, 0x7d, 0x9d, + 0x71, 0xc1, 0xc2, 0x73, 0xaa, 0xfb, 0x14, 0x36, 0xd3, 0x52, 0xc1, 0xe6, 0xba, 0x17, 0x5c, 0x78, + 0xa1, 0x81, 0x19, 0x65, 0xf3, 0xd9, 0xb6, 0xdd, 0x71, 0x61, 0xff, 0x5c, 0xb0, 0x48, 0xd0, 0xa9, + 0x25, 0xa8, 0x9b, 0xf4, 0x7b, 0xb0, 0xf3, 0xcf, 0x56, 0x95, 0x69, 0xfa, 0x0d, 0xc0, 0xc6, 0x5c, + 0x31, 0x77, 0x1f, 0x36, 0x8a, 0xab, 0xb8, 0xcc, 0x86, 0x39, 0x8d, 0xfe, 0xc3, 0xff, 0x52, 0x2a, + 0x71, 0x57, 0xc0, 0x9b, 0x7f, 0x1d, 0xd6, 0xf8, 0xf2, 0xd6, 0x3a, 0xb7, 0x3f, 0xbd, 0x3a, 0xb7, + 0x9a, 0x37, 0x63, 0x27, 0x2b, 0x0f, 0x9c, 0xae, 0x3c, 0xf0, 0x6b, 0xe5, 0x81, 0x4f, 0x6b, 0xcf, + 0x39, 0x5d, 0x7b, 0xce, 0x8f, 0xb5, 0xe7, 0xbc, 0x9e, 0x33, 0xae, 0x17, 0x79, 0x14, 0xc4, 0x32, + 0x41, 0xcf, 0x2b, 0xdd, 0x17, 0x38, 0x52, 0x68, 0x33, 0x65, 0x27, 0x96, 0x19, 0xad, 0x97, 0x0b, + 0xcc, 0x05, 0x4a, 0x24, 0xc9, 0xdf, 0x52, 0xb5, 0x79, 0xdf, 0xfa, 0x30, 0xa5, 0x2a, 0x6a, 0x96, + 0x6f, 0xf8, 0xd1, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xda, 0x66, 0xad, 0x44, 0xaa, 0x03, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/crypto/ethsecp256k1/keys.pb.go b/chain/crypto/ethsecp256k1/keys.pb.go index c445cb5b..32c0bec5 100644 --- a/chain/crypto/ethsecp256k1/keys.pb.go +++ b/chain/crypto/ethsecp256k1/keys.pb.go @@ -5,6 +5,7 @@ package ethsecp256k1 import ( fmt "fmt" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -125,21 +126,24 @@ func init() { } var fileDescriptor_9e3ee0885e4a981b = []byte{ - // 214 bytes of a gzipped FileDescriptorProto + // 266 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x32, 0xc8, 0xcc, 0xcb, 0x4a, 0x4d, 0x2e, 0xc9, 0x2c, 0x4b, 0xd5, 0x4f, 0x2e, 0xaa, 0x2c, 0x28, 0xc9, 0xd7, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x4f, 0x2d, 0xc9, 0x28, 0x4e, 0x4d, 0x2e, 0x30, 0x32, 0x35, 0xcb, 0x36, 0xd4, 0xcf, 0x4e, 0xad, 0x2c, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x52, 0x85, 0xeb, 0xd0, 0x83, 0xe8, 0xd0, 0x83, 0xea, 0xd0, 0x43, 0xd6, 0x21, 0x25, 0x92, 0x9e, 0x9f, 0x9e, 0x0f, - 0xd6, 0xa1, 0x0f, 0x62, 0x41, 0x34, 0x2b, 0x29, 0x70, 0xb1, 0x05, 0x94, 0x26, 0x79, 0xa7, 0x56, - 0x0a, 0x09, 0x70, 0x31, 0x67, 0xa7, 0x56, 0x4a, 0x30, 0x2a, 0x30, 0x6a, 0xf0, 0x04, 0x81, 0x98, - 0x56, 0x2c, 0x33, 0x16, 0xc8, 0x33, 0x28, 0x49, 0x73, 0xb1, 0x07, 0x14, 0x65, 0x96, 0x61, 0x55, - 0xe2, 0x94, 0x7a, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x4e, - 0x78, 0x2c, 0xc7, 0x70, 0xe1, 0xb1, 0x1c, 0xc3, 0x8d, 0xc7, 0x72, 0x0c, 0x51, 0xde, 0xe9, 0x99, - 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0x9e, 0x30, 0x07, 0xfa, 0x24, 0x26, 0x15, - 0xeb, 0xc3, 0x9d, 0xab, 0x9b, 0x9c, 0x5f, 0x94, 0x8a, 0xcc, 0xcd, 0x48, 0xcc, 0xcc, 0x83, 0xf9, - 0x1a, 0xd9, 0xed, 0x49, 0x6c, 0x60, 0xc7, 0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x2c, 0xcc, - 0xfc, 0xd6, 0x1d, 0x01, 0x00, 0x00, + 0xd6, 0xa1, 0x0f, 0x62, 0x41, 0x34, 0x4b, 0x09, 0x26, 0xe6, 0x66, 0xe6, 0xe5, 0xeb, 0x83, 0x49, + 0x88, 0x90, 0x92, 0x3f, 0x17, 0x5b, 0x40, 0x69, 0x92, 0x77, 0x6a, 0xa5, 0x90, 0x00, 0x17, 0x73, + 0x76, 0x6a, 0xa5, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x4f, 0x10, 0x88, 0x69, 0x65, 0x3c, 0x63, 0x81, + 0x3c, 0x43, 0xd7, 0xf3, 0x0d, 0x5a, 0x32, 0x08, 0x67, 0x42, 0x14, 0xbb, 0x96, 0x64, 0x04, 0xc3, + 0xec, 0x9a, 0xf4, 0x7c, 0x83, 0x16, 0x67, 0x76, 0x6a, 0x65, 0x7c, 0x5a, 0x66, 0x6a, 0x4e, 0x8a, + 0x92, 0x2f, 0x17, 0x7b, 0x40, 0x51, 0x66, 0x19, 0x76, 0x13, 0x0d, 0x40, 0xa6, 0xc9, 0x22, 0x99, + 0x06, 0x51, 0x89, 0xdb, 0x38, 0xa7, 0xd4, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, + 0xf0, 0x48, 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, + 0x88, 0xf2, 0x4e, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0xf7, 0x84, 0x99, + 0xe8, 0x93, 0x98, 0x54, 0xac, 0x0f, 0x37, 0x5f, 0x37, 0x39, 0xbf, 0x28, 0x15, 0x99, 0x9b, 0x91, + 0x98, 0x99, 0x07, 0x0b, 0x69, 0xe4, 0xf0, 0x4a, 0x62, 0x03, 0x87, 0x86, 0x31, 0x20, 0x00, 0x00, + 0xff, 0xff, 0x33, 0x0e, 0xfe, 0x6b, 0x91, 0x01, 0x00, 0x00, } func (m *PubKey) Marshal() (dAtA []byte, err error) { diff --git a/chain/exchange/types/authz.pb.go b/chain/exchange/types/authz.pb.go index e97e8a78..6816c345 100644 --- a/chain/exchange/types/authz.pb.go +++ b/chain/exchange/types/authz.pb.go @@ -6,6 +6,7 @@ package types import ( fmt "fmt" _ "github.com/cosmos/cosmos-proto" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" proto "github.com/cosmos/gogoproto/proto" io "io" math "math" @@ -625,33 +626,40 @@ func init() { } var fileDescriptor_ea13f83a88125645 = []byte{ - // 413 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x94, 0xc1, 0x6a, 0xe2, 0x40, - 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, - 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, - 0xb8, 0x02, 0xc6, 0x91, 0xd2, 0x8a, 0x0f, 0xf1, 0x63, 0x2d, 0x89, 0xea, 0x7d, 0xc9, 0xb0, 0x62, - 0x57, 0xbe, 0x50, 0x43, 0xee, 0x72, 0x75, 0x29, 0x29, 0x93, 0xa7, 0xe1, 0x64, 0xfd, 0x1f, 0xaa, - 0x40, 0x60, 0x63, 0x42, 0x44, 0xe0, 0xa9, 0x31, 0xa7, 0x35, 0xad, 0xa9, 0xb5, 0x4b, 0xa3, 0x72, - 0x7a, 0x39, 0xa0, 0xfa, 0x6f, 0x84, 0x5c, 0x2c, 0xef, 0x58, 0x28, 0x80, 0xda, 0xb7, 0x66, 0xb1, - 0x5d, 0x1a, 0x95, 0xe2, 0x9b, 0x01, 0x85, 0x93, 0xea, 0xcb, 0x53, 0xa7, 0x12, 0x8e, 0x13, 0x92, - 0x2f, 0xb1, 0xe2, 0xc2, 0x6b, 0x01, 0x6a, 0xa4, 0xcc, 0xf3, 0x48, 0x99, 0x3d, 0x74, 0x8e, 0xfe, - 0xf4, 0xb0, 0x22, 0xce, 0x21, 0xb7, 0x90, 0x29, 0xd9, 0x45, 0x3f, 0xfb, 0xd8, 0x23, 0x6c, 0x1a, - 0x42, 0x73, 0xd9, 0x6e, 0x6c, 0xf4, 0x33, 0x13, 0xb2, 0xde, 0x6e, 0xbc, 0xd8, 0x33, 0x26, 0xf9, - 0x0c, 0x87, 0x31, 0xcc, 0x29, 0x4c, 0x0b, 0xd4, 0xdc, 0x27, 0xe7, 0x15, 0xa9, 0x7b, 0xf4, 0x7f, - 0x27, 0x52, 0x87, 0x9c, 0x43, 0xe6, 0xff, 0x51, 0xf4, 0x91, 0x53, 0x74, 0x2e, 0xfb, 0xde, 0x89, - 0xd7, 0x1e, 0x39, 0x5b, 0xbf, 0x8f, 0x1a, 0xfa, 0x15, 0xb1, 0xaf, 0x7d, 0x8a, 0xd5, 0xd7, 0x89, - 0x7f, 0x51, 0x19, 0x7c, 0xa1, 0xc6, 0x31, 0x64, 0xcb, 0xfc, 0x01, 0x49, 0x0b, 0x81, 0xde, 0x41, - 0x3a, 0x4d, 0x2c, 0x25, 0xc2, 0x62, 0x24, 0xac, 0xd2, 0xbd, 0x84, 0x1d, 0x7a, 0xc9, 0x9e, 0xf3, - 0xbc, 0x36, 0xb4, 0xd5, 0xda, 0xd0, 0xde, 0xd6, 0x86, 0xf6, 0xb0, 0x31, 0x0a, 0xab, 0x8d, 0x51, - 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, 0x04, 0x50, 0x0d, 0x64, 0x22, 0x06, 0x00, 0x00, + // 526 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x95, 0x41, 0x6b, 0x13, 0x41, + 0x14, 0xc7, 0x33, 0x16, 0x84, 0x8c, 0xed, 0xa1, 0x8b, 0x48, 0x1b, 0xe8, 0x36, 0x6e, 0x51, 0xa2, + 0x90, 0x5d, 0x4a, 0x11, 0xb4, 0x07, 0xc5, 0xb6, 0x97, 0x40, 0x55, 0xa8, 0x78, 0xf1, 0x12, 0x66, + 0x67, 0x86, 0xee, 0x68, 0x77, 0x67, 0x99, 0x99, 0x0d, 0xda, 0x8f, 0xe0, 0x45, 0xaf, 0xe2, 0x59, + 0xbc, 0x2a, 0xf8, 0x19, 0x44, 0x3c, 0xf5, 0xe8, 0x51, 0x92, 0x83, 0x5f, 0x43, 0x76, 0xc6, 0xec, + 0xa6, 0xe9, 0x2c, 0xa1, 0xb0, 0xc9, 0x25, 0xb0, 0x33, 0xff, 0xcc, 0xfb, 0xbd, 0xf9, 0xbf, 0x37, + 0x0f, 0xde, 0x66, 0xc9, 0x2b, 0x8a, 0x15, 0x1b, 0xd0, 0x80, 0xbe, 0xc1, 0x11, 0x4a, 0x8e, 0x69, + 0x30, 0xd8, 0x0e, 0xa9, 0x42, 0xdb, 0x01, 0xca, 0x54, 0x74, 0xea, 0xa7, 0x82, 0x2b, 0xee, 0xb4, + 0x0a, 0x9d, 0x3f, 0xd6, 0xf9, 0xff, 0x75, 0xad, 0x75, 0xcc, 0x65, 0xcc, 0x65, 0x5f, 0x2b, 0x03, + 0xf3, 0x61, 0xfe, 0xd6, 0x5a, 0x45, 0x31, 0x4b, 0x78, 0xa0, 0x7f, 0xcd, 0x92, 0xf7, 0x11, 0xc0, + 0xf5, 0x7d, 0x41, 0x91, 0xa2, 0xcf, 0x53, 0xae, 0x0e, 0x59, 0xcc, 0xd4, 0x33, 0x41, 0xa8, 0x78, + 0x9c, 0x47, 0x73, 0xb6, 0xe0, 0x8a, 0xcc, 0x42, 0x84, 0x31, 0xcf, 0x12, 0xd5, 0x67, 0x64, 0x0d, + 0xb4, 0x41, 0xa7, 0x79, 0xb4, 0x5c, 0x2e, 0xf6, 0x88, 0xb3, 0x01, 0x61, 0x8c, 0xc4, 0x6b, 0x9a, + 0x0b, 0xe4, 0xda, 0x95, 0xf6, 0x52, 0xa7, 0x79, 0xd4, 0x34, 0x2b, 0x3d, 0x22, 0x77, 0xef, 0xff, + 0xfa, 0xde, 0x5d, 0xc9, 0x8f, 0xe3, 0x82, 0x9d, 0x22, 0xc5, 0x78, 0xf2, 0xee, 0xef, 0xd7, 0xbb, + 0x5e, 0x91, 0x5f, 0x65, 0x74, 0xef, 0x13, 0x80, 0xad, 0x72, 0xf7, 0x89, 0x3e, 0xb1, 0x66, 0xb8, + 0x07, 0x56, 0xb8, 0x2d, 0x0b, 0xdc, 0x74, 0x78, 0xef, 0x33, 0x80, 0x9b, 0x7b, 0x48, 0xe1, 0xc8, + 0x96, 0x80, 0xac, 0x0f, 0xf1, 0xa1, 0x15, 0xb1, 0x53, 0x20, 0xce, 0x60, 0xf0, 0xde, 0x03, 0x78, + 0x7d, 0x1f, 0x25, 0x98, 0x9e, 0xe4, 0xdb, 0x35, 0xdf, 0xdf, 0x8e, 0x15, 0x6e, 0xa3, 0xbc, 0x3f, + 0x4b, 0x60, 0xed, 0xab, 0xa1, 0x3e, 0xbf, 0x2b, 0x17, 0xe7, 0x6b, 0x75, 0x78, 0xed, 0xab, 0xb9, + 0xce, 0x03, 0x2a, 0xd8, 0x00, 0xe5, 0x5d, 0x36, 0x8f, 0xbe, 0x98, 0xe5, 0xeb, 0x0c, 0x06, 0xef, + 0x0b, 0x80, 0xed, 0x69, 0xcd, 0x5c, 0x7a, 0xe4, 0x91, 0x15, 0xf4, 0x4e, 0x25, 0xe8, 0x85, 0x4e, + 0xf9, 0x06, 0xe0, 0xad, 0x89, 0x2a, 0xb5, 0xa5, 0x54, 0xa3, 0xf5, 0x07, 0x56, 0x5c, 0xdf, 0xd6, + 0x2f, 0xd5, 0x24, 0xe6, 0xed, 0xd1, 0xf5, 0x51, 0x8a, 0x16, 0xfd, 0xf6, 0x54, 0x86, 0xd7, 0xde, + 0x4f, 0x94, 0xf0, 0x94, 0x46, 0x2e, 0xce, 0xfb, 0x59, 0x10, 0xde, 0x0f, 0x00, 0x6f, 0x68, 0xd1, + 0x8b, 0x94, 0x20, 0x75, 0x79, 0xbe, 0x9b, 0x70, 0x59, 0xa6, 0x5c, 0xf5, 0x0d, 0xd2, 0x98, 0xf0, + 0x9a, 0x2c, 0x5e, 0x64, 0xe9, 0x74, 0xa1, 0x43, 0x8a, 0xd8, 0x85, 0x70, 0x49, 0x0b, 0x57, 0xc9, + 0x54, 0x59, 0xca, 0xdd, 0x7b, 0xd6, 0x94, 0x36, 0xcf, 0xa7, 0x74, 0x81, 0x76, 0x2f, 0xfa, 0x39, + 0x74, 0xc1, 0xd9, 0xd0, 0x05, 0x7f, 0x86, 0x2e, 0xf8, 0x30, 0x72, 0x1b, 0x67, 0x23, 0xb7, 0xf1, + 0x7b, 0xe4, 0x36, 0x5e, 0x3e, 0x3d, 0x66, 0x2a, 0xca, 0x42, 0x1f, 0xf3, 0x38, 0xe8, 0x8d, 0xe7, + 0xf2, 0x21, 0x0a, 0x65, 0x50, 0x4c, 0xe9, 0x2e, 0xe6, 0x82, 0x4e, 0x7e, 0x46, 0x88, 0x25, 0x41, + 0xcc, 0x49, 0x76, 0x42, 0x65, 0x39, 0xea, 0xd5, 0xdb, 0x94, 0xca, 0xf0, 0xaa, 0x9e, 0xcc, 0x3b, + 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xd7, 0xbd, 0xab, 0x13, 0x0d, 0x08, 0x00, 0x00, } func (m *CreateSpotLimitOrderAuthz) Marshal() (dAtA []byte, err error) { diff --git a/chain/exchange/types/authz_common.go b/chain/exchange/types/authz_common.go index c5295775..af36d14e 100644 --- a/chain/exchange/types/authz_common.go +++ b/chain/exchange/types/authz_common.go @@ -1,6 +1,8 @@ package types import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/x/authz" @@ -39,7 +41,7 @@ func (a BatchUpdateOrdersAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgBatchUpdateOrders{}) } -func (a BatchUpdateOrdersAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a BatchUpdateOrdersAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { ordersToUpdate, ok := msg.(*MsgBatchUpdateOrders) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") diff --git a/chain/exchange/types/authz_derivative.go b/chain/exchange/types/authz_derivative.go index 1b62735c..f0db08a0 100644 --- a/chain/exchange/types/authz_derivative.go +++ b/chain/exchange/types/authz_derivative.go @@ -1,6 +1,8 @@ package types import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/x/authz" @@ -19,7 +21,7 @@ func (a CreateDerivativeLimitOrderAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgCreateDerivativeLimitOrder{}) } -func (a CreateDerivativeLimitOrderAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a CreateDerivativeLimitOrderAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { derivativeOrder, ok := msg.(*MsgCreateDerivativeLimitOrder) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") @@ -59,7 +61,7 @@ func (a CreateDerivativeMarketOrderAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgCreateDerivativeMarketOrder{}) } -func (a CreateDerivativeMarketOrderAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a CreateDerivativeMarketOrderAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { derivativeOrder, ok := msg.(*MsgCreateDerivativeMarketOrder) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") @@ -99,7 +101,7 @@ func (a BatchCreateDerivativeLimitOrdersAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgBatchCreateDerivativeLimitOrders{}) } -func (a BatchCreateDerivativeLimitOrdersAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a BatchCreateDerivativeLimitOrdersAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { derivativeOrders, ok := msg.(*MsgBatchCreateDerivativeLimitOrders) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") @@ -141,7 +143,7 @@ func (a CancelDerivativeOrderAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgCancelDerivativeOrder{}) } -func (a CancelDerivativeOrderAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a CancelDerivativeOrderAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { orderToCancel, ok := msg.(*MsgCancelDerivativeOrder) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") @@ -181,7 +183,7 @@ func (a BatchCancelDerivativeOrdersAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgBatchCancelDerivativeOrders{}) } -func (a BatchCancelDerivativeOrdersAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a BatchCancelDerivativeOrdersAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { ordersToCancel, ok := msg.(*MsgBatchCancelDerivativeOrders) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") diff --git a/chain/exchange/types/authz_spot.go b/chain/exchange/types/authz_spot.go index 3978f535..0517e7ac 100644 --- a/chain/exchange/types/authz_spot.go +++ b/chain/exchange/types/authz_spot.go @@ -1,6 +1,8 @@ package types import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/x/authz" @@ -19,7 +21,7 @@ func (a CreateSpotLimitOrderAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgCreateSpotLimitOrder{}) } -func (a CreateSpotLimitOrderAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a CreateSpotLimitOrderAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { spotOrder, ok := msg.(*MsgCreateSpotLimitOrder) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") @@ -59,7 +61,7 @@ func (a CreateSpotMarketOrderAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgCreateSpotMarketOrder{}) } -func (a CreateSpotMarketOrderAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a CreateSpotMarketOrderAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { spotOrder, ok := msg.(*MsgCreateSpotMarketOrder) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") @@ -99,7 +101,7 @@ func (a BatchCreateSpotLimitOrdersAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgBatchCreateSpotLimitOrders{}) } -func (a BatchCreateSpotLimitOrdersAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a BatchCreateSpotLimitOrdersAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { spotOrders, ok := msg.(*MsgBatchCreateSpotLimitOrders) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") @@ -141,7 +143,7 @@ func (a CancelSpotOrderAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgCancelSpotOrder{}) } -func (a CancelSpotOrderAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a CancelSpotOrderAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { orderToCancel, ok := msg.(*MsgCancelSpotOrder) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") @@ -181,7 +183,7 @@ func (a BatchCancelSpotOrdersAuthz) MsgTypeURL() string { return sdk.MsgTypeURL(&MsgBatchCancelSpotOrders{}) } -func (a BatchCancelSpotOrdersAuthz) Accept(ctx sdk.Context, msg sdk.Msg) (authz.AcceptResponse, error) { +func (a BatchCancelSpotOrdersAuthz) Accept(ctx context.Context, msg sdk.Msg) (authz.AcceptResponse, error) { ordersToCancel, ok := msg.(*MsgBatchCancelSpotOrders) if !ok { return authz.AcceptResponse{}, sdkerrors.ErrInvalidType.Wrap("type mismatch") diff --git a/chain/exchange/types/codec.go b/chain/exchange/types/codec.go index 266f67f0..34f6f1e5 100644 --- a/chain/exchange/types/codec.go +++ b/chain/exchange/types/codec.go @@ -8,10 +8,8 @@ import ( "github.com/cosmos/cosmos-sdk/types/msgservice" "github.com/cosmos/cosmos-sdk/x/authz" 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" - proto "github.com/cosmos/gogoproto/proto" + "github.com/cosmos/gogoproto/proto" ) // RegisterLegacyAminoCodec registers the necessary x/exchange interfaces and concrete types @@ -45,8 +43,9 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgCreateBinaryOptionsMarketOrder{}, "exchange/MsgCreateBinaryOptionsMarketOrder", nil) 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(&MsgUpdateSpotMarket{}, "exchange/MsgUpdateSpotMarket", nil) + cdc.RegisterConcrete(&MsgUpdateDerivativeMarket{}, "exchange/MsgUpdateDerivativeMarket", nil) cdc.RegisterConcrete(&ExchangeEnableProposal{}, "exchange/ExchangeEnableProposal", nil) cdc.RegisterConcrete(&BatchExchangeModificationProposal{}, "exchange/BatchExchangeModificationProposal", nil) @@ -77,6 +76,8 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&CancelDerivativeOrderAuthz{}, "exchange/CancelDerivativeOrderAuthz", nil) cdc.RegisterConcrete(&BatchCancelDerivativeOrdersAuthz{}, "exchange/BatchCancelDerivativeOrdersAuthz", nil) cdc.RegisterConcrete(&BatchUpdateOrdersAuthz{}, "exchange/BatchUpdateOrdersAuthz", nil) + + cdc.RegisterConcrete(&Params{}, "exchange/Params", nil) } func RegisterInterfaces(registry types.InterfaceRegistry) { @@ -109,8 +110,9 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { &MsgCreateBinaryOptionsMarketOrder{}, &MsgCancelBinaryOptionsOrder{}, &MsgAdminUpdateBinaryOptionsMarket{}, - &MsgReclaimLockedFunds{}, &MsgUpdateParams{}, + &MsgUpdateSpotMarket{}, + &MsgUpdateDerivativeMarket{}, ) registry.RegisterImplementations( @@ -169,23 +171,19 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { } var ( - amino = codec.NewLegacyAmino() - // ModuleCdc references the global x/exchange module codec. Note, the codec should // ONLY be used in certain instances of tests and for JSON encoding as Amino is // still used for that purpose. // // The actual codec used for serialization should be provided to x/exchange and // defined at the application level. - ModuleCdc = codec.NewAminoCodec(amino) + ModuleCdc = codec.NewLegacyAmino() ) func init() { - RegisterLegacyAminoCodec(amino) - cryptocodec.RegisterCrypto(amino) - amino.Seal() - - RegisterLegacyAminoCodec(govcdc.Amino) + RegisterLegacyAminoCodec(ModuleCdc) + cryptocodec.RegisterCrypto(ModuleCdc) RegisterLegacyAminoCodec(authzcdc.Amino) - RegisterLegacyAminoCodec(groupcdc.Amino) + + ModuleCdc.Seal() } diff --git a/chain/exchange/types/common_order.go b/chain/exchange/types/common_order.go index 0c0abe99..ba357a76 100644 --- a/chain/exchange/types/common_order.go +++ b/chain/exchange/types/common_order.go @@ -3,7 +3,7 @@ package types import ( "strconv" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" "github.com/cosmos/gogoproto/proto" "github.com/ethereum/go-ethereum/common" ethmath "github.com/ethereum/go-ethereum/common/math" @@ -13,20 +13,20 @@ import ( // GetRequiredBinaryOptionsOrderMargin returns the required margin for a binary options trade (or order) at a given price func GetRequiredBinaryOptionsOrderMargin( - price sdk.Dec, - quantity sdk.Dec, + price math.LegacyDec, + quantity math.LegacyDec, oracleScaleFactor uint32, orderType OrderType, isReduceOnly bool, -) sdk.Dec { +) math.LegacyDec { if isReduceOnly { - return sdk.ZeroDec() + return math.LegacyZeroDec() } if orderType.IsBuy() { return price.Mul(quantity) } - return GetScaledPrice(sdk.OneDec(), oracleScaleFactor).Sub(price).Mul(quantity) + return GetScaledPrice(math.LegacyOneDec(), oracleScaleFactor).Sub(price).Mul(quantity) } func (t OrderType) IsBuy() bool { @@ -68,11 +68,11 @@ func (t OrderType) IsAtomic() bool { return false } -func (m *OrderInfo) GetNotional() sdk.Dec { +func (m *OrderInfo) GetNotional() math.LegacyDec { return m.Quantity.Mul(m.Price) } -func (m *OrderInfo) GetFeeAmount(fee sdk.Dec) sdk.Dec { +func (m *OrderInfo) GetFeeAmount(fee math.LegacyDec) math.LegacyDec { return m.GetNotional().Mul(fee) } diff --git a/chain/exchange/types/common_utils.go b/chain/exchange/types/common_utils.go index 2069b826..c949b754 100644 --- a/chain/exchange/types/common_utils.go +++ b/chain/exchange/types/common_utils.go @@ -9,6 +9,7 @@ import ( "strings" "cosmossdk.io/errors" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/ethereum/go-ethereum/common" ) @@ -37,21 +38,21 @@ func IsIBCDenom(denom string) bool { type SpotLimitOrderDelta struct { Order *SpotLimitOrder - FillQuantity sdk.Dec + FillQuantity math.LegacyDec } type DerivativeLimitOrderDelta struct { Order *DerivativeLimitOrder - FillQuantity sdk.Dec - CancelQuantity sdk.Dec + FillQuantity math.LegacyDec + CancelQuantity math.LegacyDec } type DerivativeMarketOrderDelta struct { Order *DerivativeMarketOrder - FillQuantity sdk.Dec + FillQuantity math.LegacyDec } -func (d *DerivativeMarketOrderDelta) UnfilledQuantity() sdk.Dec { +func (d *DerivativeMarketOrderDelta) UnfilledQuantity() math.LegacyDec { return d.Order.OrderInfo.Quantity.Sub(d.FillQuantity) } @@ -63,11 +64,11 @@ func (d *DerivativeLimitOrderDelta) SubaccountID() common.Hash { return d.Order.SubaccountID() } -func (d *DerivativeLimitOrderDelta) Price() sdk.Dec { +func (d *DerivativeLimitOrderDelta) Price() math.LegacyDec { return d.Order.Price() } -func (d *DerivativeLimitOrderDelta) FillableQuantity() sdk.Dec { +func (d *DerivativeLimitOrderDelta) FillableQuantity() math.LegacyDec { return d.Order.Fillable.Sub(d.CancelQuantity) } @@ -88,6 +89,8 @@ var TempRewardsSenderAddress = sdk.AccAddress(common.HexToAddress(ZeroSubaccount // inj1qqq3zyg3zyg3zyg3zyg3zyg3zyg3zyg3c9gg96 var AuctionFeesAddress = sdk.AccAddress(common.HexToAddress(AuctionSubaccountID.Hex()).Bytes()) +var hexRegex = regexp.MustCompile("^(0x)?[0-9a-fA-F]+$") + func StringInSlice(a string, list *[]string) bool { for _, b := range *list { if b == a { @@ -161,11 +164,10 @@ func IsHexHash(s string) bool { } func isHexString(str string) bool { - isMatched, _ := regexp.MatchString("^(0x)?[0-9a-fA-F]+$", str) - return isMatched + return hexRegex.MatchString(str) } -func BreachesMinimumTickSize(value, minTickSize sdk.Dec) bool { +func BreachesMinimumTickSize(value, minTickSize math.LegacyDec) bool { // obviously breached if the value less than the minTickSize if value.LT(minTickSize) { return true @@ -300,18 +302,26 @@ func EthAddressToSubaccountID(addr common.Address) common.Hash { return common.BytesToHash(common.RightPadBytes(addr.Bytes(), 32)) } -func DecToDecBytes(dec sdk.Dec) []byte { +func DecToDecBytes(dec math.LegacyDec) []byte { return dec.BigInt().Bytes() } -func DecBytesToDec(bz []byte) sdk.Dec { - dec := sdk.NewDecFromBigIntWithPrec(new(big.Int).SetBytes(bz), sdk.Precision) +func DecBytesToDec(bz []byte) math.LegacyDec { + dec := math.LegacyNewDecFromBigIntWithPrec(new(big.Int).SetBytes(bz), math.LegacyPrecision) if dec.IsNil() { - return sdk.ZeroDec() + return math.LegacyZeroDec() } return dec } +func IntToIntBytes(i math.Int) []byte { + return i.BigInt().Bytes() +} + +func IntBytesToInt(bz []byte) math.Int { + return math.NewIntFromBigInt(new(big.Int).SetBytes(bz)) +} + func HasDuplicates(slice []string) bool { seen := make(map[string]struct{}) for _, item := range slice { diff --git a/chain/exchange/types/deposit.go b/chain/exchange/types/deposit.go index 4814f94b..e0afd9d7 100644 --- a/chain/exchange/types/deposit.go +++ b/chain/exchange/types/deposit.go @@ -5,14 +5,14 @@ import ( "fmt" "sort" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" "github.com/ethereum/go-ethereum/common" ) func NewDeposit() *Deposit { return &Deposit{ - AvailableBalance: sdk.ZeroDec(), - TotalBalance: sdk.ZeroDec(), + AvailableBalance: math.LegacyZeroDec(), + TotalBalance: math.LegacyZeroDec(), } } @@ -25,11 +25,11 @@ func (d *Deposit) Display() string { } type DepositDelta struct { - AvailableBalanceDelta sdk.Dec - TotalBalanceDelta sdk.Dec + AvailableBalanceDelta math.LegacyDec + TotalBalanceDelta math.LegacyDec } -func NewUniformDepositDelta(delta sdk.Dec) *DepositDelta { +func NewUniformDepositDelta(delta math.LegacyDec) *DepositDelta { return &DepositDelta{ AvailableBalanceDelta: delta, TotalBalanceDelta: delta, @@ -37,10 +37,10 @@ func NewUniformDepositDelta(delta sdk.Dec) *DepositDelta { } func NewDepositDelta() *DepositDelta { - return NewUniformDepositDelta(sdk.ZeroDec()) + return NewUniformDepositDelta(math.LegacyZeroDec()) } -func (d *DepositDelta) AddAvailableBalance(amount sdk.Dec) { +func (d *DepositDelta) AddAvailableBalance(amount math.LegacyDec) { d.AvailableBalanceDelta = d.AvailableBalanceDelta.Add(amount) } @@ -74,11 +74,11 @@ func (d *DepositDeltas) ApplyDepositDelta(subaccountID common.Hash, delta *Depos d.ApplyDelta(subaccountID, delta.TotalBalanceDelta, delta.AvailableBalanceDelta) } -func (d *DepositDeltas) ApplyUniformDelta(subaccountID common.Hash, delta sdk.Dec) { +func (d *DepositDeltas) ApplyUniformDelta(subaccountID common.Hash, delta math.LegacyDec) { d.ApplyDelta(subaccountID, delta, delta) } -func (d *DepositDeltas) ApplyDelta(subaccountID common.Hash, totalBalanceDelta, availableBalanceDelta sdk.Dec) { +func (d *DepositDeltas) ApplyDelta(subaccountID common.Hash, totalBalanceDelta, availableBalanceDelta math.LegacyDec) { delta := (*d)[subaccountID] if delta == nil { delta = NewDepositDelta() diff --git a/chain/exchange/types/derivative_orders.go b/chain/exchange/types/derivative_orders.go index 7bc947f5..630b470a 100644 --- a/chain/exchange/types/derivative_orders.go +++ b/chain/exchange/types/derivative_orders.go @@ -2,6 +2,7 @@ package types import ( "cosmossdk.io/errors" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/ethereum/go-ethereum/common" ) @@ -10,7 +11,7 @@ func NewMarketOrderForLiquidation( position *Position, positionSubaccountID common.Hash, liquidator sdk.AccAddress, - worstPrice sdk.Dec, + worstPrice math.LegacyDec, ) *DerivativeMarketOrder { var ( orderType OrderType @@ -32,8 +33,8 @@ func NewMarketOrderForLiquidation( Quantity: position.Quantity, }, OrderType: orderType, - Margin: sdk.ZeroDec(), - MarginHold: sdk.ZeroDec(), + Margin: math.LegacyZeroDec(), + MarginHold: math.LegacyZeroDec(), TriggerPrice: nil, } @@ -48,6 +49,7 @@ func (m *DerivativeLimitOrder) ToTrimmed() *TrimmedDerivativeLimitOrder { Fillable: m.Fillable, IsBuy: m.IsBuy(), OrderHash: common.BytesToHash(m.OrderHash).Hex(), + Cid: m.Cid(), } } @@ -57,18 +59,18 @@ func (o *DerivativeMarketOrderCancel) GetCancelDepositDelta() *DepositDelta { if order.IsVanilla() && o.CancelQuantity.Equal(order.OrderInfo.Quantity) { return &DepositDelta{ AvailableBalanceDelta: order.MarginHold, - TotalBalanceDelta: sdk.ZeroDec(), + TotalBalanceDelta: math.LegacyZeroDec(), } } // TODO: double check that partial market order executions are covered earlier upstream return nil } -func (o *DerivativeMarketOrder) GetCancelRefundAmount() sdk.Dec { +func (o *DerivativeMarketOrder) GetCancelRefundAmount() math.LegacyDec { if o.IsVanilla() { return o.MarginHold } - return sdk.ZeroDec() + return math.LegacyZeroDec() } func (o *DerivativeMarketOrderCancel) ApplyDerivativeMarketCancellation( @@ -93,7 +95,7 @@ func NewDerivativeMarketOrder(o *DerivativeOrder, sender sdk.AccAddress, orderHa OrderInfo: o.OrderInfo, OrderType: o.OrderType, Margin: o.Margin, - MarginHold: sdk.ZeroDec(), + MarginHold: math.LegacyZeroDec(), TriggerPrice: o.TriggerPrice, OrderHash: orderHash.Bytes(), } @@ -132,7 +134,7 @@ func (o *DerivativeMarketOrder) ToDerivativeOrder(marketID string) *DerivativeOr } } -func (o *DerivativeLimitOrder) HasEqualOrWorsePrice(price sdk.Dec) bool { +func (o *DerivativeLimitOrder) HasEqualOrWorsePrice(price math.LegacyDec) bool { // the buy order has a worse price than the input price if it's less than if o.IsBuy() { return o.Price().LTE(price) @@ -140,7 +142,7 @@ func (o *DerivativeLimitOrder) HasEqualOrWorsePrice(price sdk.Dec) bool { return o.Price().GTE(price) } -func (o *DerivativeMarketOrder) HasEqualOrWorsePrice(price sdk.Dec) bool { +func (o *DerivativeMarketOrder) HasEqualOrWorsePrice(price math.LegacyDec) bool { // the buy order has a worse price than the input price if it's less than if o.IsBuy() { return o.Price().LTE(price) @@ -148,7 +150,7 @@ func (o *DerivativeMarketOrder) HasEqualOrWorsePrice(price sdk.Dec) bool { return o.Price().GTE(price) } -func ResizeReduceOnlyOrder(o IMutableDerivativeOrder, newQuantity sdk.Dec) error { +func ResizeReduceOnlyOrder(o IMutableDerivativeOrder, newQuantity math.LegacyDec) error { if o.IsVanilla() { return ErrOrderInvalid.Wrap("ResizeReduceOnlyOrder should only be used for reduce only orders!") } @@ -163,7 +165,7 @@ func ResizeReduceOnlyOrder(o IMutableDerivativeOrder, newQuantity sdk.Dec) error } func (o *DerivativeMarketOrder) ResizeReduceOnlyOrder( - newQuantity sdk.Dec, + newQuantity math.LegacyDec, oracleScaleFactor uint32, isBinaryOptionsOrder bool, ) { @@ -185,38 +187,38 @@ func (o *DerivativeMarketOrder) ResizeReduceOnlyOrder( } } -func (o *DerivativeLimitOrder) GetRequiredBinaryOptionsMargin(oracleScaleFactor uint32) sdk.Dec { +func (o *DerivativeLimitOrder) GetRequiredBinaryOptionsMargin(oracleScaleFactor uint32) math.LegacyDec { // Margin = Price * Quantity for buys if o.IsBuy() { notional := o.Price().Mul(o.OrderInfo.Quantity) return notional } // Margin = (scaled(1) - Price) * Quantity for sells - return o.OrderInfo.Quantity.Mul(GetScaledPrice(sdk.OneDec(), oracleScaleFactor).Sub(o.Price())) + return o.OrderInfo.Quantity.Mul(GetScaledPrice(math.LegacyOneDec(), oracleScaleFactor).Sub(o.Price())) } -func (o *DerivativeMarketOrder) GetRequiredBinaryOptionsMargin(oracleScaleFactor uint32) sdk.Dec { +func (o *DerivativeMarketOrder) GetRequiredBinaryOptionsMargin(oracleScaleFactor uint32) math.LegacyDec { // Margin = Price * Quantity for buys if o.IsBuy() { notional := o.Price().Mul(o.OrderInfo.Quantity) return notional } // Margin = (scaled(1) - Price) * Quantity for sells - return o.OrderInfo.Quantity.Mul(GetScaledPrice(sdk.OneDec(), oracleScaleFactor).Sub(o.Price())) + return o.OrderInfo.Quantity.Mul(GetScaledPrice(math.LegacyOneDec(), oracleScaleFactor).Sub(o.Price())) } -func (o *DerivativeLimitOrder) GetCancelDepositDelta(feeRate sdk.Dec) *DepositDelta { +func (o *DerivativeLimitOrder) GetCancelDepositDelta(feeRate math.LegacyDec) *DepositDelta { return &DepositDelta{ AvailableBalanceDelta: o.GetCancelRefundAmount(feeRate), - TotalBalanceDelta: sdk.ZeroDec(), + TotalBalanceDelta: math.LegacyZeroDec(), } } -func (o *DerivativeLimitOrder) GetCancelRefundAmount(feeRate sdk.Dec) sdk.Dec { - marginHoldRefund := sdk.ZeroDec() +func (o *DerivativeLimitOrder) GetCancelRefundAmount(feeRate math.LegacyDec) math.LegacyDec { + marginHoldRefund := math.LegacyZeroDec() if o.IsVanilla() { // negative fees are only accounted for upon matching - positiveFeePart := sdk.MaxDec(sdk.ZeroDec(), feeRate) + positiveFeePart := math.LegacyMaxDec(math.LegacyZeroDec(), feeRate) //nolint:all // Refund = (FillableQuantity / Quantity) * (Margin + Price * Quantity * feeRate) notional := o.OrderInfo.Price.Mul(o.OrderInfo.Quantity) @@ -225,45 +227,48 @@ func (o *DerivativeLimitOrder) GetCancelRefundAmount(feeRate sdk.Dec) sdk.Dec { return marginHoldRefund } -func (o *DerivativeOrder) CheckTickSize(minPriceTickSize, minQuantityTickSize sdk.Dec) error { +func (o *DerivativeOrder) CheckTickSize(minPriceTickSize, minQuantityTickSize math.LegacyDec) error { if BreachesMinimumTickSize(o.OrderInfo.Price, minPriceTickSize) { 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 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 errors.Wrapf(ErrInvalidMargin, "margin %s must be a multiple of the minimum quantity tick size %s", o.Margin.String(), minQuantityTickSize.String()) - } + return nil +} + +func (o *DerivativeOrder) CheckNotional(minNotional math.LegacyDec) error { + orderNotional := o.GetQuantity().Mul(o.GetPrice()) + if !minNotional.IsNil() && orderNotional.LT(minNotional) { + return errors.Wrapf(ErrInvalidNotional, "order notional (%s) is less than the minimum notional for the market (%s)", orderNotional.String(), minNotional.String()) } return nil } -func GetScaledPrice(price sdk.Dec, scaleFactor uint32) sdk.Dec { - return price.Mul(sdk.NewDec(10).Power(uint64(scaleFactor))) +func GetScaledPrice(price math.LegacyDec, scaleFactor uint32) math.LegacyDec { + return price.Mul(math.LegacyNewDec(10).Power(uint64(scaleFactor))) } -func (o *DerivativeOrder) GetRequiredBinaryOptionsMargin(oracleScaleFactor uint32) sdk.Dec { +func (o *DerivativeOrder) GetRequiredBinaryOptionsMargin(oracleScaleFactor uint32) math.LegacyDec { // Margin = Price * Quantity for buys if o.IsBuy() { notional := o.Price().Mul(o.OrderInfo.Quantity) return notional } // Margin = (scaled(1) - Price) * Quantity for sells - return o.OrderInfo.Quantity.Mul(GetScaledPrice(sdk.OneDec(), oracleScaleFactor).Sub(o.Price())) + return o.OrderInfo.Quantity.Mul(GetScaledPrice(math.LegacyOneDec(), oracleScaleFactor).Sub(o.Price())) } -func (o *DerivativeOrder) CheckMarginAndGetMarginHold(initialMarginRatio, executionMarkPrice, feeRate sdk.Dec, marketType MarketType, oracleScaleFactor uint32) (marginHold sdk.Dec, err error) { +func (o *DerivativeOrder) CheckMarginAndGetMarginHold(initialMarginRatio, executionMarkPrice, feeRate math.LegacyDec, marketType MarketType, oracleScaleFactor uint32) (marginHold math.LegacyDec, err error) { notional := o.OrderInfo.Price.Mul(o.OrderInfo.Quantity) - positiveFeeRatePart := sdk.MaxDec(feeRate, sdk.ZeroDec()) + positiveFeeRatePart := math.LegacyMaxDec(feeRate, math.LegacyZeroDec()) feeAmount := notional.Mul(positiveFeeRatePart) marginHold = o.Margin.Add(feeAmount) if marketType == MarketType_BinaryOption { requiredMargin := o.GetRequiredBinaryOptionsMargin(oracleScaleFactor) if !o.Margin.Equal(requiredMargin) { - return sdk.Dec{}, errors.Wrapf(ErrInsufficientOrderMargin, "margin check: need %s but got %s", requiredMargin.String(), o.Margin.String()) + return math.LegacyDec{}, errors.Wrapf(ErrInsufficientMargin, "margin check: need %s but got %s", requiredMargin.String(), o.Margin.String()) } return marginHold, nil } @@ -271,31 +276,34 @@ 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{}, errors.Wrapf(ErrInsufficientOrderMargin, "InitialMarginRatio Check: need at least %s but got %s", initialMarginRatio.Mul(notional).String(), o.Margin.String()) + return math.LegacyDec{}, errors.Wrapf(ErrInsufficientMargin, "InitialMarginRatio Check: need at least %s but got %s", initialMarginRatio.Mul(notional).String(), o.Margin.String()) } if err := o.CheckInitialMarginRequirementMarkPriceThreshold(initialMarginRatio, executionMarkPrice); err != nil { - return sdk.Dec{}, err + return math.LegacyDec{}, err } return marginHold, nil } -func (o *DerivativeOrder) CheckInitialMarginRequirementMarkPriceThreshold(initialMarginRatio, markPrice sdk.Dec) (err error) { - markPriceThreshold := o.ComputeInitialMarginRequirementMarkPriceThreshold(initialMarginRatio) +func (o *DerivativeOrder) CheckInitialMarginRequirementMarkPriceThreshold(initialMarginRatio, markPrice math.LegacyDec) (err error) { // 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 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 errors.Wrapf(ErrInsufficientOrderMargin, "Sell MarkPriceThreshold Check: mark/trigger price %s must be LTE %s", markPrice.String(), markPriceThreshold.String()) - } + markPriceThreshold := o.ComputeInitialMarginRequirementMarkPriceThreshold(initialMarginRatio) + return CheckInitialMarginMarkPriceRequirement(o.IsBuy(), markPriceThreshold, markPrice) +} +func CheckInitialMarginMarkPriceRequirement(isBuyOrLong bool, markPriceThreshold, markPrice math.LegacyDec) error { + if isBuyOrLong && markPrice.LT(markPriceThreshold) { + return errors.Wrapf(ErrInsufficientMargin, "Buy MarkPriceThreshold Check: mark/trigger price %s must be GTE %s", markPrice.String(), markPriceThreshold.String()) + } else if !isBuyOrLong && markPrice.GT(markPriceThreshold) { + return errors.Wrapf(ErrInsufficientMargin, "Sell MarkPriceThreshold Check: mark/trigger price %s must be LTE %s", markPrice.String(), markPriceThreshold.String()) + } return nil } // CheckValidConditionalPrice checks that conditional order type (STOP or TAKE) actually valid for current relation between triggerPrice and markPrice -func (o *DerivativeOrder) CheckValidConditionalPrice(markPrice sdk.Dec) (err error) { +func (o *DerivativeOrder) CheckValidConditionalPrice(markPrice math.LegacyDec) (err error) { if !o.IsConditional() { return nil } @@ -315,7 +323,7 @@ func (o *DerivativeOrder) CheckValidConditionalPrice(markPrice sdk.Dec) (err err // CheckBinaryOptionsPricesWithinBounds checks that binary options order prices don't exceed 1 (scaled) func (o *DerivativeOrder) CheckBinaryOptionsPricesWithinBounds(oracleScaleFactor uint32) (err error) { - maxScaledPrice := GetScaledPrice(sdk.OneDec(), oracleScaleFactor) + maxScaledPrice := GetScaledPrice(math.LegacyOneDec(), oracleScaleFactor) if o.Price().GTE(maxScaledPrice) { return errors.Wrapf(ErrInvalidPrice, "price must be less than %s", maxScaledPrice.String()) } @@ -326,24 +334,28 @@ func (o *DerivativeOrder) CheckBinaryOptionsPricesWithinBounds(oracleScaleFactor return nil } -func (o *DerivativeOrder) ComputeInitialMarginRequirementMarkPriceThreshold(initialMarginRatio sdk.Dec) sdk.Dec { - notional := o.OrderInfo.Price.Mul(o.OrderInfo.Quantity) - var numerator, denominator sdk.Dec - if o.OrderType.IsBuy() { - numerator = o.Margin.Sub(notional) - denominator = initialMarginRatio.Sub(sdk.OneDec()).Mul(o.OrderInfo.Quantity) +func (o *DerivativeOrder) ComputeInitialMarginRequirementMarkPriceThreshold(initialMarginRatio math.LegacyDec) math.LegacyDec { + return ComputeMarkPriceThreshold(o.IsBuy(), o.Price(), o.GetQuantity(), o.Margin, initialMarginRatio) +} + +func ComputeMarkPriceThreshold(isBuyOrLong bool, price, quantity, margin, initialMarginRatio math.LegacyDec) math.LegacyDec { + notional := price.Mul(quantity) + var numerator, denominator math.LegacyDec + if isBuyOrLong { + numerator = margin.Sub(notional) + denominator = initialMarginRatio.Sub(math.LegacyOneDec()).Mul(quantity) } else { - numerator = o.Margin.Add(notional) - denominator = initialMarginRatio.Add(sdk.OneDec()).Mul(o.OrderInfo.Quantity) + numerator = margin.Add(notional) + denominator = initialMarginRatio.Add(math.LegacyOneDec()).Mul(quantity) } return numerator.Quo(denominator) } -func (o *DerivativeLimitOrder) CheckInitialMarginRequirementMarkPriceThreshold(initialMarginRatio, markPrice sdk.Dec) (err error) { +func (o *DerivativeLimitOrder) CheckInitialMarginRequirementMarkPriceThreshold(initialMarginRatio, markPrice math.LegacyDec) (err error) { return o.ToDerivativeOrder("").CheckInitialMarginRequirementMarkPriceThreshold(initialMarginRatio, markPrice) } -func (o *DerivativeMarketOrder) CheckInitialMarginRequirementMarkPriceThreshold(initialMarginRatio, markPrice sdk.Dec) (err error) { +func (o *DerivativeMarketOrder) CheckInitialMarginRequirementMarkPriceThreshold(initialMarginRatio, markPrice math.LegacyDec) (err error) { return o.ToDerivativeOrder("").CheckInitialMarginRequirementMarkPriceThreshold(initialMarginRatio, markPrice) } @@ -417,23 +429,23 @@ func (m *DerivativeOrder) IsBuy() bool { return m.OrderType.IsBuy() } -func (m *DerivativeMarketOrder) Quantity() sdk.Dec { +func (m *DerivativeMarketOrder) Quantity() math.LegacyDec { return m.OrderInfo.Quantity } -func (m *DerivativeMarketOrder) FillableQuantity() sdk.Dec { +func (m *DerivativeMarketOrder) FillableQuantity() math.LegacyDec { return m.OrderInfo.Quantity } -func (m *DerivativeMarketOrder) Price() sdk.Dec { +func (m *DerivativeMarketOrder) Price() math.LegacyDec { return m.OrderInfo.Price } -func (m *DerivativeLimitOrder) Price() sdk.Dec { +func (m *DerivativeLimitOrder) Price() math.LegacyDec { return m.OrderInfo.Price } -func (m *DerivativeOrder) Price() sdk.Dec { +func (m *DerivativeOrder) Price() math.LegacyDec { return m.OrderInfo.Price } @@ -512,10 +524,10 @@ func (o *TrimmedDerivativeLimitOrder) IsReduceOnly() bool { func EmptyDerivativeMarketOrderResults() *DerivativeMarketOrderResults { return &DerivativeMarketOrderResults{ - Quantity: sdk.ZeroDec(), - Price: sdk.ZeroDec(), - Fee: sdk.ZeroDec(), + Quantity: math.LegacyZeroDec(), + Price: math.LegacyZeroDec(), + Fee: math.LegacyZeroDec(), PositionDelta: PositionDelta{}, - Payout: sdk.ZeroDec(), + Payout: math.LegacyZeroDec(), } } diff --git a/chain/exchange/types/errors.go b/chain/exchange/types/errors.go index 0d148680..b7b6035b 100644 --- a/chain/exchange/types/errors.go +++ b/chain/exchange/types/errors.go @@ -30,7 +30,7 @@ var ( 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") + ErrInsufficientMargin = errors.Register(ModuleName, 26, "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") @@ -104,4 +104,9 @@ var ( ErrClientOrderIdAlreadyExists = errors.Register(ModuleName, 97, "client order id already exists") ErrInvalidCid = errors.Register(ModuleName, 98, "client order id is invalid. Max length is 36 chars") ErrInvalidEmergencySettle = errors.Register(ModuleName, 99, "market cannot be settled in emergency mode") + ErrInvalidNotional = errors.Register(ModuleName, 100, "invalid notional") + ErrStaleOraclePrice = errors.Register(ModuleName, 101, "stale oracle price") + ErrInvalidStakeGrant = errors.Register(ModuleName, 102, "invalid stake grant") + ErrInsufficientStake = errors.Register(ModuleName, 103, "insufficient stake for grant") + ErrInvalidPermissions = errors.Register(ModuleName, 104, "invalid permissions") ) diff --git a/chain/exchange/types/events.go b/chain/exchange/types/events.go index d0143c3c..0ed30b40 100644 --- a/chain/exchange/types/events.go +++ b/chain/exchange/types/events.go @@ -6,11 +6,28 @@ import ( // Event type and attribute constants -func (e *EventOrderFail) AddOrderFail(orderHash common.Hash, flag uint32) { +func (e *EventOrderFail) AddOrderFail(orderHash common.Hash, cid string, flag uint32) { e.Hashes = append(e.Hashes, orderHash.Bytes()) e.Flags = append(e.Flags, flag) + + if cid != "" { + e.Cids = append(e.Cids, cid) + } } func (e *EventOrderFail) IsEmpty() bool { - return len(e.Flags) == 0 && len(e.Hashes) == 0 + return len(e.Flags) == 0 && len(e.Hashes) == 0 && len(e.Cids) == 0 +} + +func NewEventOrderCancelFail(marketID, subaccountID common.Hash, orderHash, cid string, err error) *EventOrderCancelFail { + ev := &EventOrderCancelFail{ + MarketId: marketID.Hex(), + SubaccountId: subaccountID.Hex(), + OrderHash: orderHash, + Cid: cid, + } + if err != nil { + ev.Description = err.Error() + } + return ev } diff --git a/chain/exchange/types/events.pb.go b/chain/exchange/types/events.pb.go index fde0ea75..4e09ca34 100644 --- a/chain/exchange/types/events.pb.go +++ b/chain/exchange/types/events.pb.go @@ -4,9 +4,9 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" _ "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/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" @@ -99,9 +99,9 @@ type EventBatchDerivativeExecution struct { IsBuy bool `protobuf:"varint,2,opt,name=is_buy,json=isBuy,proto3" json:"is_buy,omitempty"` IsLiquidation bool `protobuf:"varint,3,opt,name=is_liquidation,json=isLiquidation,proto3" json:"is_liquidation,omitempty"` // nil for time expiry futures - CumulativeFunding *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=cumulative_funding,json=cumulativeFunding,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"cumulative_funding,omitempty"` - ExecutionType ExecutionType `protobuf:"varint,5,opt,name=executionType,proto3,enum=injective.exchange.v1beta1.ExecutionType" json:"executionType,omitempty"` - Trades []*DerivativeTradeLog `protobuf:"bytes,6,rep,name=trades,proto3" json:"trades,omitempty"` + CumulativeFunding *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=cumulative_funding,json=cumulativeFunding,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cumulative_funding,omitempty"` + ExecutionType ExecutionType `protobuf:"varint,5,opt,name=executionType,proto3,enum=injective.exchange.v1beta1.ExecutionType" json:"executionType,omitempty"` + Trades []*DerivativeTradeLog `protobuf:"bytes,6,rep,name=trades,proto3" json:"trades,omitempty"` } func (m *EventBatchDerivativeExecution) Reset() { *m = EventBatchDerivativeExecution{} } @@ -173,10 +173,10 @@ func (m *EventBatchDerivativeExecution) GetTrades() []*DerivativeTradeLog { } type EventLostFundsFromLiquidation struct { - MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - SubaccountId []byte `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - LostFundsFromAvailableDuringPayout github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=lost_funds_from_available_during_payout,json=lostFundsFromAvailableDuringPayout,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"lost_funds_from_available_during_payout"` - LostFundsFromOrderCancels github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=lost_funds_from_order_cancels,json=lostFundsFromOrderCancels,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"lost_funds_from_order_cancels"` + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + SubaccountId []byte `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + LostFundsFromAvailableDuringPayout cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=lost_funds_from_available_during_payout,json=lostFundsFromAvailableDuringPayout,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"lost_funds_from_available_during_payout"` + LostFundsFromOrderCancels cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=lost_funds_from_order_cancels,json=lostFundsFromOrderCancels,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"lost_funds_from_order_cancels"` } func (m *EventLostFundsFromLiquidation) Reset() { *m = EventLostFundsFromLiquidation{} } @@ -839,11 +839,11 @@ func (m *EventExpiryFuturesMarketUpdate) GetExpiryFuturesMarketInfo() *ExpiryFut } type EventPerpetualMarketFundingUpdate struct { - MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - Funding PerpetualMarketFunding `protobuf:"bytes,2,opt,name=funding,proto3" json:"funding"` - IsHourlyFunding bool `protobuf:"varint,3,opt,name=is_hourly_funding,json=isHourlyFunding,proto3" json:"is_hourly_funding,omitempty"` - FundingRate *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=funding_rate,json=fundingRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"funding_rate,omitempty"` - MarkPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=mark_price,json=markPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"mark_price,omitempty"` + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + Funding PerpetualMarketFunding `protobuf:"bytes,2,opt,name=funding,proto3" json:"funding"` + IsHourlyFunding bool `protobuf:"varint,3,opt,name=is_hourly_funding,json=isHourlyFunding,proto3" json:"is_hourly_funding,omitempty"` + FundingRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=funding_rate,json=fundingRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"funding_rate,omitempty"` + MarkPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=mark_price,json=markPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"mark_price,omitempty"` } func (m *EventPerpetualMarketFundingUpdate) Reset() { *m = EventPerpetualMarketFundingUpdate{} } @@ -1125,8 +1125,8 @@ func (m *EventBatchDepositUpdate) GetDepositUpdates() []*DepositUpdate { } type DerivativeMarketOrderCancel struct { - MarketOrder *DerivativeMarketOrder `protobuf:"bytes,1,opt,name=market_order,json=marketOrder,proto3" json:"market_order,omitempty"` - CancelQuantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=cancel_quantity,json=cancelQuantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"cancel_quantity"` + MarketOrder *DerivativeMarketOrder `protobuf:"bytes,1,opt,name=market_order,json=marketOrder,proto3" json:"market_order,omitempty"` + CancelQuantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=cancel_quantity,json=cancelQuantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cancel_quantity"` } func (m *DerivativeMarketOrderCancel) Reset() { *m = DerivativeMarketOrderCancel{} } @@ -1518,6 +1518,7 @@ type EventConditionalDerivativeOrderTrigger struct { IsLimitTrigger bool `protobuf:"varint,2,opt,name=isLimitTrigger,proto3" json:"isLimitTrigger,omitempty"` TriggeredOrderHash []byte `protobuf:"bytes,3,opt,name=triggered_order_hash,json=triggeredOrderHash,proto3" json:"triggered_order_hash,omitempty"` PlacedOrderHash []byte `protobuf:"bytes,4,opt,name=placed_order_hash,json=placedOrderHash,proto3" json:"placed_order_hash,omitempty"` + TriggeredOrderCid string `protobuf:"bytes,5,opt,name=triggered_order_cid,json=triggeredOrderCid,proto3" json:"triggered_order_cid,omitempty"` } func (m *EventConditionalDerivativeOrderTrigger) Reset() { @@ -1583,10 +1584,18 @@ func (m *EventConditionalDerivativeOrderTrigger) GetPlacedOrderHash() []byte { return nil } +func (m *EventConditionalDerivativeOrderTrigger) GetTriggeredOrderCid() string { + if m != nil { + return m.TriggeredOrderCid + } + return "" +} + type EventOrderFail struct { Account []byte `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` Hashes [][]byte `protobuf:"bytes,2,rep,name=hashes,proto3" json:"hashes,omitempty"` Flags []uint32 `protobuf:"varint,3,rep,packed,name=flags,proto3" json:"flags,omitempty"` + Cids []string `protobuf:"bytes,4,rep,name=cids,proto3" json:"cids,omitempty"` } func (m *EventOrderFail) Reset() { *m = EventOrderFail{} } @@ -1643,6 +1652,13 @@ func (m *EventOrderFail) GetFlags() []uint32 { return nil } +func (m *EventOrderFail) GetCids() []string { + if m != nil { + return m.Cids + } + return nil +} + type EventAtomicMarketOrderFeeMultipliersUpdated struct { MarketFeeMultipliers []*MarketFeeMultiplier `protobuf:"bytes,1,rep,name=market_fee_multipliers,json=marketFeeMultipliers,proto3" json:"market_fee_multipliers,omitempty"` } @@ -1855,6 +1871,239 @@ func (m *Orderbook) GetSellLevels() []*Level { return nil } +type EventGrantAuthorizations struct { + Granter string `protobuf:"bytes,1,opt,name=granter,proto3" json:"granter,omitempty"` + Grants []*GrantAuthorization `protobuf:"bytes,2,rep,name=grants,proto3" json:"grants,omitempty"` +} + +func (m *EventGrantAuthorizations) Reset() { *m = EventGrantAuthorizations{} } +func (m *EventGrantAuthorizations) String() string { return proto.CompactTextString(m) } +func (*EventGrantAuthorizations) ProtoMessage() {} +func (*EventGrantAuthorizations) Descriptor() ([]byte, []int) { + return fileDescriptor_20dda602b6b13fd3, []int{32} +} +func (m *EventGrantAuthorizations) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventGrantAuthorizations) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventGrantAuthorizations.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 *EventGrantAuthorizations) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventGrantAuthorizations.Merge(m, src) +} +func (m *EventGrantAuthorizations) XXX_Size() int { + return m.Size() +} +func (m *EventGrantAuthorizations) XXX_DiscardUnknown() { + xxx_messageInfo_EventGrantAuthorizations.DiscardUnknown(m) +} + +var xxx_messageInfo_EventGrantAuthorizations proto.InternalMessageInfo + +func (m *EventGrantAuthorizations) GetGranter() string { + if m != nil { + return m.Granter + } + return "" +} + +func (m *EventGrantAuthorizations) GetGrants() []*GrantAuthorization { + if m != nil { + return m.Grants + } + return nil +} + +type EventGrantActivation struct { + Grantee string `protobuf:"bytes,1,opt,name=grantee,proto3" json:"grantee,omitempty"` + Granter string `protobuf:"bytes,2,opt,name=granter,proto3" json:"granter,omitempty"` + Amount cosmossdk_io_math.Int `protobuf:"bytes,3,opt,name=amount,proto3,customtype=cosmossdk.io/math.Int" json:"amount"` +} + +func (m *EventGrantActivation) Reset() { *m = EventGrantActivation{} } +func (m *EventGrantActivation) String() string { return proto.CompactTextString(m) } +func (*EventGrantActivation) ProtoMessage() {} +func (*EventGrantActivation) Descriptor() ([]byte, []int) { + return fileDescriptor_20dda602b6b13fd3, []int{33} +} +func (m *EventGrantActivation) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventGrantActivation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventGrantActivation.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 *EventGrantActivation) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventGrantActivation.Merge(m, src) +} +func (m *EventGrantActivation) XXX_Size() int { + return m.Size() +} +func (m *EventGrantActivation) XXX_DiscardUnknown() { + xxx_messageInfo_EventGrantActivation.DiscardUnknown(m) +} + +var xxx_messageInfo_EventGrantActivation proto.InternalMessageInfo + +func (m *EventGrantActivation) GetGrantee() string { + if m != nil { + return m.Grantee + } + return "" +} + +func (m *EventGrantActivation) GetGranter() string { + if m != nil { + return m.Granter + } + return "" +} + +type EventInvalidGrant struct { + Grantee string `protobuf:"bytes,1,opt,name=grantee,proto3" json:"grantee,omitempty"` + Granter string `protobuf:"bytes,2,opt,name=granter,proto3" json:"granter,omitempty"` +} + +func (m *EventInvalidGrant) Reset() { *m = EventInvalidGrant{} } +func (m *EventInvalidGrant) String() string { return proto.CompactTextString(m) } +func (*EventInvalidGrant) ProtoMessage() {} +func (*EventInvalidGrant) Descriptor() ([]byte, []int) { + return fileDescriptor_20dda602b6b13fd3, []int{34} +} +func (m *EventInvalidGrant) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventInvalidGrant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventInvalidGrant.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 *EventInvalidGrant) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventInvalidGrant.Merge(m, src) +} +func (m *EventInvalidGrant) XXX_Size() int { + return m.Size() +} +func (m *EventInvalidGrant) XXX_DiscardUnknown() { + xxx_messageInfo_EventInvalidGrant.DiscardUnknown(m) +} + +var xxx_messageInfo_EventInvalidGrant proto.InternalMessageInfo + +func (m *EventInvalidGrant) GetGrantee() string { + if m != nil { + return m.Grantee + } + return "" +} + +func (m *EventInvalidGrant) GetGranter() string { + if m != nil { + return m.Granter + } + return "" +} + +type EventOrderCancelFail struct { + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + OrderHash string `protobuf:"bytes,3,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + Cid string `protobuf:"bytes,4,opt,name=cid,proto3" json:"cid,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` +} + +func (m *EventOrderCancelFail) Reset() { *m = EventOrderCancelFail{} } +func (m *EventOrderCancelFail) String() string { return proto.CompactTextString(m) } +func (*EventOrderCancelFail) ProtoMessage() {} +func (*EventOrderCancelFail) Descriptor() ([]byte, []int) { + return fileDescriptor_20dda602b6b13fd3, []int{35} +} +func (m *EventOrderCancelFail) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventOrderCancelFail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventOrderCancelFail.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 *EventOrderCancelFail) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventOrderCancelFail.Merge(m, src) +} +func (m *EventOrderCancelFail) XXX_Size() int { + return m.Size() +} +func (m *EventOrderCancelFail) XXX_DiscardUnknown() { + xxx_messageInfo_EventOrderCancelFail.DiscardUnknown(m) +} + +var xxx_messageInfo_EventOrderCancelFail proto.InternalMessageInfo + +func (m *EventOrderCancelFail) GetMarketId() string { + if m != nil { + return m.MarketId + } + return "" +} + +func (m *EventOrderCancelFail) GetSubaccountId() string { + if m != nil { + return m.SubaccountId + } + return "" +} + +func (m *EventOrderCancelFail) GetOrderHash() string { + if m != nil { + return m.OrderHash + } + return "" +} + +func (m *EventOrderCancelFail) GetCid() string { + if m != nil { + return m.Cid + } + return "" +} + +func (m *EventOrderCancelFail) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + func init() { proto.RegisterType((*EventBatchSpotExecution)(nil), "injective.exchange.v1beta1.EventBatchSpotExecution") proto.RegisterType((*EventBatchDerivativeExecution)(nil), "injective.exchange.v1beta1.EventBatchDerivativeExecution") @@ -1888,6 +2137,10 @@ func init() { proto.RegisterType((*EventOrderbookUpdate)(nil), "injective.exchange.v1beta1.EventOrderbookUpdate") proto.RegisterType((*OrderbookUpdate)(nil), "injective.exchange.v1beta1.OrderbookUpdate") proto.RegisterType((*Orderbook)(nil), "injective.exchange.v1beta1.Orderbook") + proto.RegisterType((*EventGrantAuthorizations)(nil), "injective.exchange.v1beta1.EventGrantAuthorizations") + proto.RegisterType((*EventGrantActivation)(nil), "injective.exchange.v1beta1.EventGrantActivation") + proto.RegisterType((*EventInvalidGrant)(nil), "injective.exchange.v1beta1.EventInvalidGrant") + proto.RegisterType((*EventOrderCancelFail)(nil), "injective.exchange.v1beta1.EventOrderCancelFail") } func init() { @@ -1895,127 +2148,138 @@ func init() { } var fileDescriptor_20dda602b6b13fd3 = []byte{ - // 1909 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xcb, 0x6f, 0x1c, 0xc7, - 0xf1, 0xe6, 0xf0, 0x65, 0xb2, 0x76, 0x49, 0x9a, 0x23, 0x4a, 0xa6, 0xa9, 0x9f, 0x29, 0x6a, 0x7e, - 0x96, 0x2c, 0xc9, 0xf6, 0xae, 0x45, 0x23, 0xf0, 0x25, 0x87, 0x70, 0x49, 0x11, 0x62, 0x4c, 0x49, - 0x54, 0x53, 0x81, 0x02, 0x01, 0xc6, 0xa0, 0x77, 0xa6, 0xb9, 0xdb, 0xd1, 0xcc, 0xf4, 0x68, 0xba, - 0x87, 0xd2, 0x22, 0xc7, 0x5c, 0x92, 0x53, 0x72, 0x08, 0x90, 0xdc, 0x72, 0xcc, 0x2d, 0x40, 0x0e, - 0x39, 0xe5, 0x96, 0x93, 0x83, 0x5c, 0x8c, 0x9c, 0xf2, 0x82, 0x11, 0x50, 0xf9, 0x0b, 0xf2, 0x17, - 0x04, 0xfd, 0x98, 0xc7, 0x3e, 0x34, 0xda, 0x15, 0x1d, 0xe4, 0xc4, 0x99, 0x9e, 0xea, 0xaf, 0xbe, - 0xfe, 0xba, 0xba, 0xba, 0x6a, 0x09, 0x1f, 0xd0, 0xe8, 0x07, 0xc4, 0x13, 0xf4, 0x94, 0x34, 0xc9, - 0x0b, 0xaf, 0x8b, 0xa3, 0x0e, 0x69, 0x9e, 0xde, 0x6e, 0x13, 0x81, 0x6f, 0x37, 0xc9, 0x29, 0x89, - 0x04, 0x6f, 0xc4, 0x09, 0x13, 0xcc, 0xde, 0xc8, 0x0d, 0x1b, 0x99, 0x61, 0xc3, 0x18, 0x6e, 0xac, - 0x75, 0x58, 0x87, 0x29, 0xb3, 0xa6, 0x7c, 0xd2, 0x33, 0x36, 0x36, 0x3d, 0xc6, 0x43, 0xc6, 0x9b, - 0x6d, 0xcc, 0x0b, 0x4c, 0x8f, 0xd1, 0xc8, 0x7c, 0xbf, 0x56, 0xb8, 0x66, 0x09, 0xf6, 0x82, 0xc2, - 0x48, 0xbf, 0x1a, 0xb3, 0x9b, 0x55, 0x0c, 0x33, 0x26, 0xca, 0xd4, 0xf9, 0x87, 0x05, 0xef, 0xdc, - 0x91, 0xa4, 0x5b, 0x58, 0x78, 0xdd, 0xe3, 0x98, 0x89, 0x3b, 0x2f, 0x88, 0x97, 0x0a, 0xca, 0x22, - 0xfb, 0x32, 0x2c, 0x86, 0x38, 0x79, 0x4a, 0x84, 0x4b, 0xfd, 0x75, 0x6b, 0xcb, 0xba, 0xb1, 0x88, - 0x16, 0xf4, 0xc0, 0x81, 0x6f, 0x5f, 0x84, 0x79, 0xca, 0xdd, 0x76, 0xda, 0x5b, 0x9f, 0xde, 0xb2, - 0x6e, 0x2c, 0xa0, 0x39, 0xca, 0x5b, 0x69, 0xcf, 0x7e, 0x00, 0x4b, 0x24, 0x03, 0x78, 0xd4, 0x8b, - 0xc9, 0xfa, 0xcc, 0x96, 0x75, 0x63, 0x79, 0xfb, 0x66, 0xe3, 0xd5, 0x5a, 0x34, 0xee, 0x94, 0x27, - 0xa0, 0xfe, 0xf9, 0xf6, 0xb7, 0x61, 0x5e, 0x24, 0xd8, 0x27, 0x7c, 0x7d, 0x76, 0x6b, 0xe6, 0x46, - 0x6d, 0xfb, 0xfd, 0x2a, 0xa4, 0x47, 0xd2, 0xf2, 0x90, 0x75, 0x90, 0x99, 0xe3, 0xfc, 0x7b, 0x1a, - 0xde, 0x2b, 0x96, 0xb7, 0x47, 0x12, 0x7a, 0x8a, 0xe5, 0xd4, 0xf3, 0x2d, 0xf2, 0x1a, 0x2c, 0x53, - 0xee, 0x06, 0xf4, 0x59, 0x4a, 0x7d, 0x2c, 0x51, 0xd4, 0x2a, 0x17, 0xd0, 0x12, 0xe5, 0x87, 0xc5, - 0xa0, 0xfd, 0x05, 0xd8, 0x5e, 0x1a, 0xa6, 0x81, 0xf2, 0xe8, 0x9e, 0xa4, 0x91, 0x4f, 0xa3, 0xce, - 0xfa, 0xac, 0xf4, 0xd1, 0x6a, 0x7c, 0xf9, 0xf5, 0x15, 0xeb, 0x6f, 0x5f, 0x5f, 0xb9, 0xde, 0xa1, - 0xa2, 0x9b, 0xb6, 0x1b, 0x1e, 0x0b, 0x9b, 0x66, 0xf3, 0xf5, 0x9f, 0x8f, 0xb9, 0xff, 0xb4, 0x29, - 0x7a, 0x31, 0xe1, 0x8d, 0x3d, 0xe2, 0xa1, 0xd5, 0x02, 0x69, 0x5f, 0x03, 0x0d, 0x4b, 0x3d, 0x77, - 0x4e, 0xa9, 0xf7, 0x73, 0xa9, 0xe7, 0x95, 0xd4, 0x8d, 0x2a, 0xa4, 0x42, 0xcb, 0x21, 0xd1, 0xff, - 0x9a, 0x89, 0x7e, 0xc8, 0xb8, 0x90, 0x6c, 0xf9, 0x7e, 0xc2, 0xc2, 0xb2, 0x32, 0x95, 0xa2, 0xff, - 0x3f, 0x2c, 0xf1, 0xb4, 0x8d, 0x3d, 0x8f, 0xa5, 0x91, 0x32, 0x90, 0xda, 0xd7, 0x51, 0xbd, 0x18, - 0x3c, 0xf0, 0xed, 0x1f, 0x59, 0xf0, 0x41, 0xc0, 0xb8, 0x50, 0xb2, 0x72, 0xf7, 0x24, 0x61, 0xa1, - 0x8b, 0x4f, 0x31, 0x0d, 0x70, 0x3b, 0x20, 0xae, 0x9f, 0x26, 0x34, 0xea, 0xb8, 0x31, 0xee, 0xb1, - 0x54, 0xa8, 0xcd, 0xd1, 0x8a, 0x4f, 0x4d, 0xa0, 0xb8, 0x13, 0x94, 0xd9, 0xef, 0x64, 0xd8, 0x7b, - 0x0a, 0xfa, 0x48, 0x21, 0xdb, 0x31, 0xbc, 0x37, 0x48, 0x82, 0x25, 0x3e, 0x49, 0x5c, 0x0f, 0x47, - 0x1e, 0x09, 0x78, 0x69, 0xb3, 0x27, 0x71, 0xfd, 0x6e, 0x9f, 0xeb, 0x07, 0x12, 0x71, 0x57, 0x03, - 0x3a, 0x3f, 0xb1, 0xe0, 0xff, 0x46, 0x05, 0xf4, 0x11, 0xe3, 0xf4, 0xf5, 0xd2, 0x1e, 0xc2, 0x62, - 0x6c, 0x0c, 0xf9, 0xfa, 0xf4, 0xeb, 0x37, 0xf9, 0x38, 0x97, 0x3c, 0xc3, 0x47, 0x05, 0x80, 0xf3, - 0x7b, 0x0b, 0x2e, 0x2b, 0x2e, 0x05, 0x8d, 0x7b, 0xca, 0xd3, 0x11, 0x4e, 0x39, 0xf1, 0xab, 0xa9, - 0x5c, 0x85, 0x3a, 0x27, 0x42, 0x04, 0xc4, 0x8d, 0x13, 0xea, 0x11, 0xb5, 0xc9, 0x8b, 0xa8, 0xa6, - 0xc7, 0x8e, 0xe4, 0x90, 0xdd, 0x80, 0x0b, 0x82, 0x09, 0x1c, 0xb8, 0x21, 0xe5, 0x5c, 0xee, 0xa7, - 0x92, 0x59, 0x6f, 0x27, 0x5a, 0x55, 0x9f, 0xee, 0xe9, 0x2f, 0x4a, 0x2b, 0xfb, 0x23, 0xb0, 0xfb, - 0x2c, 0xdd, 0x04, 0x0b, 0xa2, 0xb7, 0x00, 0xbd, 0x1d, 0x96, 0x2c, 0x11, 0x16, 0xc4, 0xf9, 0x69, - 0xc6, 0x5e, 0x73, 0x6e, 0x91, 0x1e, 0x8b, 0xfc, 0x16, 0x8e, 0x9e, 0x26, 0x69, 0x2c, 0xbc, 0xde, - 0xb9, 0xd9, 0x7f, 0x02, 0x6b, 0x19, 0x1b, 0x83, 0x53, 0xa6, 0x9f, 0x31, 0xd5, 0xce, 0x15, 0x2b, - 0xe7, 0xc7, 0x16, 0xac, 0x2b, 0x46, 0x3b, 0x41, 0x90, 0xe9, 0xcd, 0xef, 0x62, 0x9a, 0x78, 0xa9, - 0x38, 0x37, 0x9d, 0xd1, 0xe2, 0xcc, 0xbc, 0x42, 0x1c, 0x06, 0x9b, 0x3a, 0xca, 0x68, 0x84, 0x93, - 0xde, 0x83, 0x58, 0x51, 0xd1, 0x5c, 0xbf, 0x17, 0xfb, 0x58, 0x10, 0xfb, 0x1e, 0xcc, 0x6b, 0xf7, - 0x8a, 0x4c, 0x6d, 0xbb, 0x59, 0x15, 0x47, 0x23, 0x60, 0x5a, 0xb3, 0xf2, 0x50, 0x20, 0x03, 0xe2, - 0xfc, 0xd1, 0x02, 0x5b, 0x79, 0xbc, 0x4f, 0x9e, 0xcb, 0x5b, 0x48, 0x05, 0x3d, 0xaf, 0x5e, 0xf5, - 0x01, 0x40, 0x3b, 0xed, 0xe9, 0x13, 0x97, 0x85, 0xf3, 0xad, 0xca, 0x70, 0x8e, 0x99, 0x38, 0xa4, - 0x21, 0xd5, 0xe8, 0x68, 0xb1, 0x9d, 0xf6, 0x8c, 0x9f, 0xcf, 0xa1, 0xc6, 0x49, 0x10, 0x64, 0x58, - 0x33, 0x13, 0x63, 0x81, 0x9c, 0xae, 0xc1, 0x9c, 0xbf, 0x67, 0xfb, 0x78, 0x9f, 0x3c, 0x2f, 0x8e, - 0xc6, 0x38, 0x2b, 0x7a, 0x30, 0x62, 0x45, 0x9f, 0x8c, 0x97, 0x85, 0x47, 0xaf, 0xeb, 0xe1, 0xa8, - 0x75, 0x4d, 0x8e, 0x58, 0x5e, 0xdd, 0x0f, 0x61, 0x4d, 0x2d, 0x4e, 0x67, 0xa4, 0x7c, 0xaf, 0xaa, - 0x17, 0xb6, 0x0f, 0x73, 0x8a, 0x82, 0x8a, 0xcc, 0x89, 0x94, 0x35, 0x71, 0xa2, 0xa7, 0x3b, 0x5f, - 0xc0, 0x45, 0xe5, 0x5c, 0xda, 0xf4, 0x85, 0xe3, 0xde, 0x40, 0x38, 0x5e, 0x7f, 0x9d, 0x87, 0x91, - 0x51, 0xf8, 0xeb, 0x69, 0xd8, 0x50, 0xf8, 0x47, 0x24, 0x89, 0x89, 0x48, 0x71, 0xd0, 0xe7, 0xe4, - 0xbb, 0x03, 0x4e, 0x3e, 0x1a, 0x4f, 0xc8, 0x51, 0xae, 0x6c, 0x0a, 0x17, 0xe3, 0xcc, 0x49, 0x96, - 0x20, 0x68, 0x74, 0xc2, 0x8c, 0x42, 0x95, 0xc7, 0x69, 0x80, 0xdd, 0x41, 0x74, 0xc2, 0x14, 0xba, - 0x85, 0x2e, 0xc4, 0xc3, 0x9f, 0x6c, 0x04, 0x6f, 0x65, 0xc5, 0xc7, 0x8c, 0x02, 0xdf, 0x9e, 0x00, - 0xdc, 0x54, 0x1b, 0x06, 0x3f, 0x03, 0x72, 0xfe, 0x65, 0x99, 0x0c, 0x71, 0xe7, 0x45, 0x4c, 0x93, - 0xde, 0x7e, 0x2a, 0xd2, 0x84, 0xf0, 0xff, 0x9a, 0x5a, 0xa7, 0xb0, 0x41, 0x94, 0x23, 0xf7, 0x44, - 0x7b, 0xea, 0x93, 0x4c, 0xaf, 0xea, 0xd3, 0xea, 0xc2, 0x67, 0x88, 0x66, 0x49, 0xb6, 0x77, 0xc8, - 0xe8, 0xcf, 0xce, 0xd9, 0x34, 0x5c, 0x1d, 0x15, 0x10, 0x46, 0x15, 0xb3, 0xd2, 0xca, 0xd0, 0x2f, - 0xa9, 0x3f, 0x7d, 0x2e, 0xf5, 0xa7, 0x72, 0xf5, 0xed, 0x5b, 0xb0, 0x4a, 0xb9, 0xdb, 0x65, 0x69, - 0x12, 0xf4, 0xdc, 0xf2, 0xde, 0x2e, 0xa0, 0x15, 0xca, 0xef, 0xaa, 0xf1, 0xac, 0x4c, 0x7c, 0x08, - 0x75, 0x63, 0x51, 0xba, 0x0f, 0x27, 0xae, 0x3f, 0x6b, 0x06, 0x03, 0xe9, 0xdc, 0x0f, 0x72, 0x79, - 0xe6, 0xb2, 0x99, 0x7b, 0x23, 0x40, 0xa5, 0x98, 0xba, 0x9a, 0x9c, 0x5f, 0x58, 0x70, 0x49, 0x9f, - 0xea, 0xbc, 0xdc, 0xd8, 0x23, 0xaa, 0xcc, 0xb0, 0xaf, 0x40, 0x8d, 0x27, 0x9e, 0x8b, 0x7d, 0x3f, - 0x21, 0x9c, 0x1b, 0x6d, 0x81, 0x27, 0xde, 0x8e, 0x1e, 0x19, 0xaf, 0x58, 0xfc, 0x0c, 0xe6, 0x71, - 0x28, 0x9f, 0x4d, 0xa4, 0xbc, 0xdb, 0xd0, 0x94, 0x1a, 0xb2, 0xcf, 0xca, 0xa5, 0xdf, 0x65, 0x34, - 0xca, 0xc2, 0x4e, 0x9b, 0x3b, 0xbf, 0xcc, 0xba, 0xa3, 0x82, 0xd9, 0x63, 0x2a, 0xba, 0x7e, 0x82, - 0x9f, 0x0f, 0x7b, 0xb6, 0x46, 0x78, 0xbe, 0x02, 0x35, 0x9f, 0x8b, 0x9c, 0xbf, 0xbe, 0x97, 0xc1, - 0xe7, 0x22, 0xe3, 0xff, 0xc6, 0xd4, 0x7e, 0x9b, 0x1d, 0xc0, 0x82, 0x5a, 0x0b, 0x07, 0x32, 0x27, - 0x3f, 0x4a, 0x70, 0xc4, 0x4f, 0x48, 0x22, 0xa3, 0x44, 0x8a, 0x37, 0xcc, 0x72, 0x11, 0xad, 0xf0, - 0xc4, 0x3b, 0x2e, 0x13, 0xbd, 0x05, 0xab, 0x92, 0xe8, 0xb0, 0x96, 0x8b, 0x68, 0xc5, 0xe7, 0xe2, - 0xf8, 0x1b, 0x91, 0x33, 0x2c, 0xf7, 0x9a, 0x66, 0x8b, 0xcd, 0x11, 0x42, 0xb0, 0xe2, 0xeb, 0x01, - 0x37, 0x55, 0x23, 0x72, 0xb3, 0xe5, 0x65, 0x75, 0xb3, 0x3a, 0x6b, 0x94, 0x30, 0xd0, 0xb2, 0x5f, - 0x7e, 0xe5, 0xce, 0x9f, 0x2d, 0xb8, 0x3c, 0x98, 0x57, 0x4a, 0xc5, 0xb4, 0xfd, 0x04, 0xea, 0xe6, - 0xd8, 0xea, 0xbb, 0x49, 0xa7, 0xa9, 0xdb, 0x93, 0xa4, 0xa9, 0xe2, 0x8a, 0xb2, 0x50, 0x2d, 0x2c, - 0x86, 0xec, 0xc7, 0xb0, 0xa2, 0x7b, 0x00, 0xf7, 0x59, 0x8a, 0x23, 0x41, 0x85, 0x6e, 0x21, 0x27, - 0xef, 0x05, 0x96, 0x35, 0xcc, 0x43, 0x83, 0x52, 0x5c, 0x51, 0x7a, 0x11, 0x03, 0xf5, 0x45, 0x75, - 0x2a, 0x7a, 0x1f, 0x54, 0x87, 0x1a, 0x52, 0x33, 0xd9, 0x74, 0xb5, 0xfd, 0x83, 0xf6, 0x63, 0xa8, - 0x05, 0xf2, 0xd5, 0xa8, 0xa2, 0xf7, 0x78, 0xe2, 0x9a, 0xc1, 0x88, 0x02, 0x41, 0x3e, 0x62, 0x87, - 0x70, 0xa1, 0xac, 0xb7, 0x69, 0x92, 0x54, 0x42, 0xaa, 0x6d, 0x7f, 0x36, 0xb1, 0xec, 0x9a, 0xae, - 0xf1, 0xb3, 0x1a, 0x0e, 0x7e, 0x70, 0x3a, 0xa6, 0x0a, 0xdb, 0x27, 0x64, 0x8f, 0x72, 0x15, 0xbc, - 0xc7, 0x5e, 0x97, 0xf8, 0x69, 0x40, 0xec, 0xcf, 0x61, 0x81, 0x9b, 0xe7, 0x71, 0xea, 0xd7, 0x11, - 0x10, 0x28, 0x07, 0x70, 0xce, 0x2c, 0xd8, 0x52, 0x9e, 0x64, 0x27, 0x2c, 0x73, 0x24, 0x79, 0x8e, - 0x13, 0x7f, 0x17, 0x87, 0x31, 0xa6, 0x9d, 0xc8, 0x04, 0xf8, 0x13, 0x58, 0xf2, 0xcc, 0x88, 0xbe, - 0xb4, 0xb4, 0xdb, 0x6f, 0xbd, 0xee, 0xe7, 0x8c, 0x21, 0x3c, 0x79, 0x2f, 0xa1, 0xba, 0x57, 0x7a, - 0xb3, 0xdb, 0x70, 0x31, 0xc7, 0x4e, 0x94, 0xb1, 0x1b, 0x33, 0x16, 0x8c, 0xd5, 0xe2, 0x65, 0xb0, - 0xda, 0xc9, 0x11, 0x63, 0x01, 0xba, 0xe0, 0x0d, 0x8d, 0x71, 0x27, 0x35, 0xe9, 0xa6, 0x8f, 0xd3, - 0x1e, 0xe5, 0x22, 0xa1, 0x6d, 0xfd, 0x4b, 0xca, 0x31, 0xac, 0x64, 0xb9, 0x43, 0x93, 0xc8, 0x8e, - 0x70, 0x65, 0xb5, 0xb7, 0xa3, 0xa7, 0x68, 0x3c, 0x8e, 0x96, 0x71, 0xdf, 0xbb, 0xf3, 0x3b, 0x0b, - 0x9c, 0xac, 0x96, 0xde, 0x65, 0x91, 0xaf, 0x9a, 0x22, 0x3c, 0x59, 0xd8, 0xef, 0xf4, 0x17, 0x9f, - 0x1f, 0x8e, 0x17, 0x69, 0xba, 0xf2, 0xd5, 0x33, 0x6d, 0x1b, 0x66, 0xbb, 0x98, 0x77, 0xd5, 0x61, - 0xa8, 0x23, 0xf5, 0x2c, 0x7d, 0xd2, 0xac, 0x0e, 0x51, 0x41, 0xbc, 0x80, 0x16, 0xa8, 0x29, 0x1e, - 0x9c, 0x5f, 0x4d, 0xc3, 0xb5, 0xd2, 0x31, 0x7d, 0x53, 0xea, 0xff, 0xe3, 0x13, 0x3b, 0x98, 0x21, - 0x67, 0xbf, 0xb9, 0x0c, 0xe9, 0xfc, 0xc9, 0x82, 0xeb, 0x5a, 0xa1, 0x57, 0x6a, 0xf3, 0x28, 0xa1, - 0x9d, 0xce, 0x28, 0x89, 0xea, 0x25, 0x89, 0xae, 0xc3, 0xb2, 0x51, 0xc3, 0x98, 0x1b, 0x8d, 0x06, - 0x46, 0x65, 0x3f, 0x2e, 0xf4, 0x23, 0xf1, 0x4d, 0x02, 0x2a, 0x6d, 0xa9, 0x9d, 0x7f, 0x53, 0x9e, - 0xef, 0xca, 0x0d, 0xbe, 0x05, 0xab, 0x71, 0x80, 0xbd, 0x7e, 0xf3, 0x59, 0x65, 0xbe, 0xa2, 0x3f, - 0xe4, 0xb6, 0xce, 0xf7, 0x61, 0x59, 0x2d, 0x46, 0x8d, 0xec, 0x63, 0x1a, 0xd8, 0xeb, 0xf0, 0x96, - 0x89, 0x65, 0x43, 0x39, 0x7b, 0xb5, 0x2f, 0xc1, 0xbc, 0x84, 0x22, 0xfa, 0x7c, 0xd6, 0x91, 0x79, - 0xb3, 0xd7, 0x60, 0xee, 0x24, 0xc0, 0x1d, 0xdd, 0xa6, 0x2d, 0x21, 0xfd, 0xe2, 0xfc, 0xdc, 0x82, - 0x0f, 0xf5, 0xaf, 0x02, 0x82, 0x85, 0xd4, 0x2b, 0xa9, 0xba, 0x4f, 0xc8, 0xbd, 0x34, 0x10, 0x34, - 0x0e, 0x28, 0x49, 0xb8, 0xce, 0x33, 0xbe, 0x4d, 0xe0, 0x52, 0xf6, 0x7b, 0x03, 0x21, 0x6e, 0x58, - 0x18, 0x98, 0xd3, 0x58, 0x99, 0xe8, 0x4c, 0xd5, 0x59, 0x06, 0x46, 0x6b, 0xe1, 0xf0, 0x20, 0x77, - 0xfe, 0x60, 0x99, 0x3e, 0x50, 0x51, 0x69, 0x33, 0xf6, 0xd4, 0x24, 0xba, 0xfb, 0x50, 0xe7, 0x31, - 0x1b, 0xbc, 0xc6, 0x2b, 0x0f, 0xdd, 0x00, 0x04, 0xaa, 0x49, 0x00, 0x73, 0x8b, 0xdb, 0x4f, 0xc0, - 0xf6, 0xf3, 0xb0, 0xc8, 0x51, 0xa7, 0x27, 0x47, 0x5d, 0x2d, 0x60, 0xb2, 0x0a, 0xa1, 0x0b, 0x2b, - 0x83, 0xf4, 0xdf, 0x86, 0x19, 0x4e, 0x9e, 0xa9, 0x2d, 0x9b, 0x45, 0xf2, 0xd1, 0xde, 0x85, 0x45, - 0x96, 0x19, 0x99, 0x14, 0x72, 0x6d, 0x2c, 0xbf, 0xa8, 0x98, 0xe7, 0xfc, 0xc6, 0x82, 0xc5, 0xfc, - 0x43, 0x75, 0x40, 0x7f, 0x47, 0xff, 0x08, 0x10, 0x90, 0x53, 0x92, 0xa7, 0xf0, 0xab, 0x55, 0x0e, - 0x0f, 0xa5, 0xa5, 0xea, 0xfa, 0xd5, 0x13, 0xb7, 0x5b, 0xa6, 0xeb, 0x37, 0x10, 0x33, 0xe3, 0x42, - 0xa8, 0x36, 0x5f, 0x63, 0xb4, 0xba, 0x5f, 0x9e, 0x6d, 0x5a, 0x5f, 0x9d, 0x6d, 0x5a, 0xff, 0x3c, - 0xdb, 0xb4, 0x7e, 0xf6, 0x72, 0x73, 0xea, 0xab, 0x97, 0x9b, 0x53, 0x7f, 0x79, 0xb9, 0x39, 0xf5, - 0xe4, 0x7e, 0xa9, 0x72, 0x39, 0xc8, 0x20, 0x0f, 0x71, 0x9b, 0x37, 0x73, 0x07, 0x1f, 0x7b, 0x2c, - 0x21, 0xe5, 0xd7, 0x2e, 0xa6, 0x51, 0x33, 0x64, 0xf2, 0xba, 0xe4, 0xc5, 0xff, 0x24, 0x54, 0x95, - 0xd3, 0x9e, 0x57, 0xff, 0x89, 0xf8, 0xf4, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xe2, 0xc0, 0xc6, - 0x87, 0x58, 0x19, 0x00, 0x00, + // 2082 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xcd, 0x6f, 0x1c, 0x49, + 0x15, 0x77, 0xfb, 0x6b, 0x3d, 0x6f, 0xc6, 0x76, 0xdc, 0xb6, 0xb3, 0x5e, 0x87, 0x38, 0x4e, 0xef, + 0x26, 0x9b, 0x64, 0x97, 0x99, 0x8d, 0x57, 0xab, 0xbd, 0x70, 0xc0, 0x63, 0x67, 0x36, 0x66, 0x9d, + 0xc4, 0x5b, 0x0e, 0x5a, 0x29, 0x12, 0x6a, 0xd5, 0x74, 0x97, 0x67, 0x8a, 0x74, 0x77, 0x75, 0xba, + 0xaa, 0x9d, 0x0c, 0x70, 0xe1, 0x06, 0x27, 0x38, 0x20, 0xc1, 0x8d, 0x23, 0x07, 0x24, 0x24, 0x0e, + 0x9c, 0xb8, 0xed, 0x85, 0x45, 0xe2, 0xb0, 0x47, 0x04, 0x68, 0x85, 0x12, 0x24, 0xfe, 0x08, 0x2e, + 0xa8, 0x3e, 0x7a, 0xba, 0xe7, 0x23, 0xe3, 0x99, 0x38, 0x88, 0x5b, 0x77, 0xf5, 0xab, 0xdf, 0xfb, + 0xd5, 0xaf, 0x5e, 0xbd, 0x7a, 0x55, 0x0d, 0xef, 0xd2, 0xe8, 0xfb, 0xc4, 0x13, 0xf4, 0x94, 0xd4, + 0xc8, 0x33, 0xaf, 0x8d, 0xa3, 0x16, 0xa9, 0x9d, 0xde, 0x6e, 0x12, 0x81, 0x6f, 0xd7, 0xc8, 0x29, + 0x89, 0x04, 0xaf, 0xc6, 0x09, 0x13, 0xcc, 0xde, 0xec, 0x1a, 0x56, 0x33, 0xc3, 0xaa, 0x31, 0xdc, + 0x5c, 0x6b, 0xb1, 0x16, 0x53, 0x66, 0x35, 0xf9, 0xa4, 0x7b, 0x6c, 0x6e, 0x79, 0x8c, 0x87, 0x8c, + 0xd7, 0x9a, 0x98, 0xe7, 0x98, 0x1e, 0xa3, 0x91, 0xf9, 0x7e, 0x2d, 0x77, 0xcd, 0x12, 0xec, 0x05, + 0xb9, 0x91, 0x7e, 0x35, 0x66, 0x37, 0x47, 0x31, 0xcc, 0x98, 0x28, 0x53, 0xe7, 0x1f, 0x16, 0xbc, + 0x79, 0x47, 0x92, 0xae, 0x63, 0xe1, 0xb5, 0x8f, 0x63, 0x26, 0xee, 0x3c, 0x23, 0x5e, 0x2a, 0x28, + 0x8b, 0xec, 0x4b, 0x50, 0x0a, 0x71, 0xf2, 0x98, 0x08, 0x97, 0xfa, 0x1b, 0xd6, 0xb6, 0x75, 0xa3, + 0x84, 0x16, 0x74, 0xc3, 0x81, 0x6f, 0xaf, 0xc3, 0x3c, 0xe5, 0x6e, 0x33, 0xed, 0x6c, 0x4c, 0x6f, + 0x5b, 0x37, 0x16, 0xd0, 0x1c, 0xe5, 0xf5, 0xb4, 0x63, 0x3f, 0x80, 0x45, 0x92, 0x01, 0x3c, 0xec, + 0xc4, 0x64, 0x63, 0x66, 0xdb, 0xba, 0xb1, 0xb4, 0x73, 0xb3, 0xfa, 0x72, 0x2d, 0xaa, 0x77, 0x8a, + 0x1d, 0x50, 0x6f, 0x7f, 0xfb, 0x5b, 0x30, 0x2f, 0x12, 0xec, 0x13, 0xbe, 0x31, 0xbb, 0x3d, 0x73, + 0xa3, 0xbc, 0xf3, 0xce, 0x28, 0xa4, 0x87, 0xd2, 0xf2, 0x90, 0xb5, 0x90, 0xe9, 0xe3, 0xfc, 0x7b, + 0x1a, 0x2e, 0xe7, 0xc3, 0xdb, 0x27, 0x09, 0x3d, 0xc5, 0xb2, 0xeb, 0xf9, 0x06, 0x79, 0x0d, 0x96, + 0x28, 0x77, 0x03, 0xfa, 0x24, 0xa5, 0x3e, 0x96, 0x28, 0x6a, 0x94, 0x0b, 0x68, 0x91, 0xf2, 0xc3, + 0xbc, 0xd1, 0x46, 0x60, 0x7b, 0x69, 0x98, 0x06, 0xca, 0xa3, 0x7b, 0x92, 0x46, 0x3e, 0x8d, 0x5a, + 0x1b, 0xb3, 0xd2, 0x47, 0xfd, 0xed, 0x2f, 0xbf, 0xbe, 0x62, 0xfd, 0xed, 0xeb, 0x2b, 0x97, 0xf4, + 0x8c, 0x73, 0xff, 0x71, 0x95, 0xb2, 0x5a, 0x88, 0x45, 0xbb, 0x7a, 0x48, 0x5a, 0xd8, 0xeb, 0xec, + 0x13, 0x0f, 0xad, 0xe4, 0xdd, 0x1b, 0xba, 0xf7, 0xa0, 0xbe, 0x73, 0xe7, 0xd4, 0xb7, 0xd1, 0xd5, + 0x77, 0x5e, 0xe9, 0x5b, 0x1d, 0x85, 0x94, 0x0b, 0x38, 0xa0, 0xf4, 0x17, 0x99, 0xd2, 0x87, 0x8c, + 0x0b, 0xc9, 0x96, 0x37, 0x12, 0x16, 0x16, 0xe5, 0x18, 0xa9, 0xf4, 0xdb, 0xb0, 0xc8, 0xd3, 0x26, + 0xf6, 0x3c, 0x96, 0x46, 0xca, 0x40, 0x0a, 0x5e, 0x41, 0x95, 0xbc, 0xf1, 0xc0, 0xb7, 0x9f, 0xc1, + 0xbb, 0x01, 0xe3, 0x42, 0x49, 0xc9, 0xdd, 0x93, 0x84, 0x85, 0x2e, 0x3e, 0xc5, 0x34, 0xc0, 0xcd, + 0x80, 0xb8, 0x7e, 0x9a, 0xd0, 0xa8, 0xe5, 0xc6, 0xb8, 0xc3, 0x52, 0xa1, 0x26, 0x44, 0xab, 0x3c, + 0x75, 0x96, 0xca, 0x4e, 0x50, 0x64, 0xbc, 0x9b, 0x01, 0xee, 0x2b, 0xbc, 0x23, 0x05, 0x67, 0x13, + 0xb8, 0xdc, 0xef, 0x99, 0x25, 0x3e, 0x49, 0x5c, 0x0f, 0x47, 0x1e, 0x09, 0x78, 0x61, 0x56, 0xcf, + 0xf4, 0xf7, 0x56, 0x8f, 0xbf, 0x07, 0x12, 0x66, 0x4f, 0xa3, 0x38, 0x3f, 0xb5, 0xe0, 0x1b, 0xc3, + 0xc2, 0xf5, 0x88, 0x71, 0x7a, 0xb6, 0x86, 0x87, 0x50, 0x8a, 0x8d, 0x21, 0xdf, 0x98, 0x3e, 0x7b, + 0x36, 0x8f, 0xbb, 0xda, 0x66, 0xf8, 0x28, 0x07, 0x70, 0xfe, 0x68, 0xc1, 0x25, 0xc5, 0x25, 0xa7, + 0x71, 0x4f, 0x79, 0x3a, 0xc2, 0x29, 0x27, 0xfe, 0x68, 0x2a, 0x57, 0xa1, 0xc2, 0x89, 0x10, 0x01, + 0x71, 0xe3, 0x84, 0x7a, 0x44, 0xcd, 0x66, 0x09, 0x95, 0x75, 0xdb, 0x91, 0x6c, 0xb2, 0xab, 0xb0, + 0x2a, 0x98, 0xc0, 0x81, 0x1b, 0x52, 0xce, 0xe5, 0xcc, 0x29, 0x6d, 0xf5, 0xc4, 0xa1, 0x15, 0xf5, + 0xe9, 0x9e, 0xfe, 0xa2, 0xb4, 0xb2, 0xdf, 0x07, 0xbb, 0xc7, 0xd2, 0x4d, 0xb0, 0x20, 0x5a, 0x77, + 0x74, 0x21, 0x2c, 0x58, 0x22, 0x2c, 0x88, 0xf3, 0xb3, 0x8c, 0xbd, 0xe6, 0x5c, 0x27, 0x1d, 0x16, + 0xf9, 0x75, 0x1c, 0x3d, 0x4e, 0xd2, 0x58, 0x78, 0x9d, 0x73, 0xb3, 0xff, 0x00, 0xd6, 0x32, 0x36, + 0x06, 0xa7, 0x48, 0x3f, 0x63, 0xaa, 0x9d, 0x2b, 0x56, 0xce, 0x4f, 0x2c, 0xd8, 0x50, 0x8c, 0x76, + 0x83, 0x20, 0xd3, 0x9b, 0xdf, 0xc5, 0x34, 0xf1, 0x52, 0x71, 0x6e, 0x3a, 0xc3, 0xc5, 0x99, 0x79, + 0x89, 0x38, 0x0c, 0xb6, 0x74, 0x94, 0xd1, 0x08, 0x27, 0x9d, 0x07, 0xb1, 0xa2, 0xa2, 0xb9, 0x7e, + 0x37, 0xf6, 0xb1, 0x20, 0xf6, 0x3d, 0x98, 0xd7, 0xee, 0x15, 0x99, 0xf2, 0x4e, 0x6d, 0x54, 0x1c, + 0x0d, 0x81, 0xa9, 0xcf, 0xca, 0x95, 0x80, 0x0c, 0x88, 0xf3, 0x67, 0x0b, 0x6c, 0xe5, 0xf1, 0x3e, + 0x79, 0x2a, 0xf7, 0x18, 0x15, 0xf4, 0x7c, 0xf4, 0xa8, 0x0f, 0x00, 0x9a, 0x69, 0x47, 0x2f, 0xb3, + 0x2c, 0x9c, 0x6f, 0x8d, 0x0c, 0xe7, 0x98, 0x89, 0x43, 0x1a, 0x52, 0x8d, 0x8e, 0x4a, 0xcd, 0xb4, + 0x63, 0xfc, 0x7c, 0x0a, 0x65, 0x4e, 0x82, 0x20, 0xc3, 0x9a, 0x99, 0x18, 0x0b, 0x64, 0x77, 0x0d, + 0xe6, 0xfc, 0x3d, 0x9b, 0xc7, 0xfb, 0xe4, 0x69, 0xbe, 0x34, 0xc6, 0x19, 0xd1, 0x83, 0x21, 0x23, + 0xfa, 0x60, 0xbc, 0x74, 0x3b, 0x7c, 0x5c, 0x9f, 0x0d, 0x1b, 0xd7, 0xe4, 0x88, 0xc5, 0xd1, 0xfd, + 0x10, 0xd6, 0xd4, 0xe0, 0x74, 0x46, 0xea, 0xce, 0xd5, 0xe8, 0x81, 0x35, 0x60, 0x4e, 0x51, 0x50, + 0x91, 0x39, 0x91, 0xb2, 0x26, 0x4e, 0x74, 0x77, 0xe7, 0x7b, 0xb0, 0xae, 0x9c, 0x4b, 0x9b, 0x9e, + 0x70, 0xdc, 0xef, 0x0b, 0xc7, 0xeb, 0x67, 0x79, 0x18, 0x1a, 0x85, 0xbf, 0x99, 0x86, 0x4d, 0x85, + 0x7f, 0x44, 0x92, 0x98, 0x88, 0x14, 0x07, 0x3d, 0x4e, 0xbe, 0xd3, 0xe7, 0xe4, 0xfd, 0xf1, 0x84, + 0x1c, 0xe6, 0xca, 0xa6, 0xb0, 0x1e, 0x67, 0x4e, 0xb2, 0x04, 0x41, 0xa3, 0x13, 0x66, 0x14, 0x1a, + 0xb9, 0x9c, 0xfa, 0xd8, 0x1d, 0x44, 0x27, 0x4c, 0xa1, 0x5b, 0x68, 0x35, 0x1e, 0xfc, 0x64, 0x23, + 0x78, 0x23, 0x2b, 0x2d, 0x66, 0x14, 0xf8, 0xce, 0x04, 0xe0, 0xa6, 0xac, 0x30, 0xf8, 0x19, 0x90, + 0xf3, 0x2f, 0xcb, 0x64, 0x88, 0x3b, 0xcf, 0x62, 0x9a, 0x74, 0x1a, 0xa9, 0x48, 0x13, 0xc2, 0xff, + 0x67, 0x6a, 0x9d, 0xc2, 0x26, 0x51, 0x8e, 0xdc, 0x13, 0xed, 0xa9, 0x47, 0x32, 0x3d, 0xaa, 0x0f, + 0x47, 0x57, 0x38, 0x03, 0x34, 0x0b, 0xb2, 0xbd, 0x49, 0x86, 0x7f, 0x76, 0xfe, 0x32, 0x0d, 0x57, + 0x87, 0x05, 0x84, 0x51, 0xc5, 0x8c, 0x74, 0x64, 0xe8, 0x17, 0xd4, 0x9f, 0x3e, 0x97, 0xfa, 0x53, + 0x5d, 0xf5, 0xed, 0x5b, 0xb0, 0x42, 0xb9, 0xdb, 0x66, 0x69, 0x12, 0x74, 0xdc, 0xe2, 0xdc, 0x2e, + 0xa0, 0x65, 0xca, 0xef, 0xaa, 0xf6, 0xac, 0x1e, 0x6c, 0x40, 0xc5, 0x58, 0x14, 0xf6, 0xc3, 0xf1, + 0xaa, 0xcb, 0xb2, 0xe9, 0x28, 0xb7, 0x04, 0xbb, 0x0e, 0x20, 0xc7, 0x64, 0x76, 0x98, 0xb9, 0xf1, + 0x51, 0x94, 0x36, 0x6a, 0x13, 0x72, 0x7e, 0x69, 0xc1, 0x45, 0xbd, 0x7e, 0xbb, 0x85, 0xc5, 0x3e, + 0x51, 0x05, 0x85, 0x7d, 0x05, 0xca, 0x3c, 0xf1, 0x5c, 0xec, 0xfb, 0x09, 0xe1, 0xdc, 0xa8, 0x08, + 0x3c, 0xf1, 0x76, 0x75, 0xcb, 0x78, 0xf5, 0xdf, 0xc7, 0x30, 0x8f, 0x43, 0xf9, 0x6c, 0x62, 0xe2, + 0xad, 0xaa, 0x66, 0x56, 0x95, 0xe7, 0xa5, 0xae, 0xc8, 0x7b, 0x8c, 0x46, 0x59, 0x80, 0x69, 0x73, + 0xe7, 0x57, 0xd9, 0x29, 0x27, 0x67, 0xf6, 0x39, 0x15, 0x6d, 0x3f, 0xc1, 0x4f, 0x07, 0x3d, 0x5b, + 0x43, 0x3c, 0x5f, 0x81, 0xb2, 0xcf, 0x45, 0x97, 0xbf, 0xde, 0x81, 0xc1, 0xe7, 0x22, 0xe3, 0xff, + 0xca, 0xd4, 0x7e, 0x9f, 0x2d, 0xb5, 0x9c, 0x5a, 0x1d, 0x07, 0x32, 0xfb, 0x3e, 0x4c, 0x70, 0xc4, + 0x4f, 0x48, 0x22, 0xe3, 0x41, 0x8a, 0x37, 0xc8, 0xb2, 0x84, 0x96, 0x79, 0xe2, 0x1d, 0x17, 0x89, + 0xde, 0x82, 0x15, 0x49, 0x74, 0x50, 0xcb, 0x12, 0x5a, 0xf6, 0xb9, 0x38, 0x7e, 0x2d, 0x72, 0x86, + 0xc5, 0x33, 0xa3, 0x99, 0x62, 0xb3, 0x58, 0x10, 0x2c, 0xfb, 0xba, 0xc1, 0x4d, 0x55, 0x8b, 0x9c, + 0x6c, 0xb9, 0x2d, 0xdd, 0x1c, 0x9d, 0x1f, 0x0a, 0x18, 0x68, 0xc9, 0x2f, 0xbe, 0x72, 0xe7, 0x4f, + 0x16, 0x5c, 0xea, 0xcf, 0x20, 0x85, 0xb2, 0xd9, 0x7e, 0x04, 0x15, 0xb3, 0x40, 0xf5, 0x2e, 0xa4, + 0x13, 0xd2, 0xed, 0x49, 0x12, 0x52, 0xbe, 0x19, 0x59, 0xa8, 0x1c, 0xe6, 0x4d, 0xf6, 0x21, 0x2c, + 0xeb, 0x12, 0xdf, 0x7d, 0x92, 0xe2, 0x48, 0x50, 0xa1, 0x8f, 0x82, 0x63, 0x96, 0xfa, 0x4b, 0xba, + 0xef, 0x67, 0xa6, 0x6b, 0xbe, 0x03, 0x69, 0xe6, 0x7d, 0xe5, 0xc3, 0xe8, 0x4c, 0xf3, 0x0e, 0xa8, + 0xe3, 0x65, 0x48, 0x4d, 0x67, 0x73, 0x24, 0xed, 0x6d, 0xb4, 0x3f, 0x87, 0x72, 0x20, 0x5f, 0x8d, + 0x14, 0x7a, 0x62, 0x27, 0x2e, 0x09, 0x8c, 0x12, 0x10, 0x74, 0x5b, 0xec, 0x10, 0x56, 0x8b, 0x22, + 0x9b, 0x83, 0x8f, 0xca, 0x37, 0xe5, 0x9d, 0x8f, 0x27, 0xd6, 0x5a, 0xd3, 0x35, 0x7e, 0x56, 0xc2, + 0xfe, 0x0f, 0x4e, 0xcb, 0x14, 0x59, 0x0d, 0x42, 0xf6, 0x29, 0x57, 0x11, 0x7b, 0xec, 0xb5, 0x89, + 0x9f, 0x06, 0xc4, 0xfe, 0x14, 0x16, 0xb8, 0x79, 0x1e, 0xa7, 0x3c, 0x1d, 0x02, 0x81, 0xba, 0x00, + 0xce, 0x73, 0x0b, 0xb6, 0x95, 0x27, 0x79, 0xa2, 0x95, 0xd9, 0x90, 0x3c, 0xc5, 0x89, 0xbf, 0x87, + 0xc3, 0x18, 0xd3, 0x56, 0x64, 0xa2, 0xfa, 0x11, 0x2c, 0x7a, 0xa6, 0x45, 0xef, 0x49, 0xda, 0xed, + 0x47, 0x67, 0xdd, 0x45, 0x0c, 0xe0, 0xc9, 0x6d, 0x07, 0x55, 0xbc, 0xc2, 0x9b, 0xdd, 0x84, 0xf5, + 0x2e, 0x76, 0xa2, 0x8c, 0xdd, 0x98, 0xb1, 0x60, 0xac, 0x13, 0x5c, 0x06, 0xab, 0x9d, 0x1c, 0x31, + 0x16, 0xa0, 0x55, 0x6f, 0xa0, 0x8d, 0x3b, 0xa9, 0xc9, 0x31, 0x3d, 0x9c, 0xf6, 0x29, 0x17, 0x09, + 0x6d, 0xea, 0x6b, 0x90, 0x63, 0x58, 0xce, 0x12, 0x86, 0x26, 0x91, 0xad, 0xdb, 0x91, 0xc5, 0xdc, + 0xae, 0xee, 0xa2, 0xf1, 0x38, 0x5a, 0xc2, 0x3d, 0xef, 0xce, 0x1f, 0x2c, 0x70, 0xb2, 0x52, 0x79, + 0x8f, 0x45, 0xbe, 0x3a, 0xf3, 0xe0, 0xc9, 0xc2, 0x7e, 0xb7, 0xb7, 0xb6, 0x7c, 0x6f, 0xbc, 0x48, + 0xd3, 0x85, 0xad, 0xee, 0x69, 0xdb, 0x30, 0xdb, 0xc6, 0xbc, 0xad, 0x16, 0x43, 0x05, 0xa9, 0x67, + 0xe9, 0x93, 0x66, 0x65, 0x86, 0x0a, 0xe2, 0x05, 0xb4, 0x40, 0x4d, 0x6d, 0xe0, 0xfc, 0x7a, 0x1a, + 0xae, 0x15, 0x96, 0xe9, 0xab, 0x52, 0xff, 0x3f, 0xaf, 0xd8, 0xfe, 0xb4, 0x38, 0xfb, 0xfa, 0xd2, + 0xa2, 0xf3, 0x1f, 0x0b, 0xae, 0x6b, 0x85, 0x5e, 0xaa, 0xcd, 0xc3, 0x84, 0xb6, 0x5a, 0xc3, 0x24, + 0xaa, 0x14, 0x24, 0xba, 0x0e, 0x4b, 0x46, 0x0d, 0x63, 0x6e, 0x34, 0xea, 0x6b, 0x95, 0xc7, 0x6d, + 0xa1, 0x1f, 0x89, 0x6f, 0x12, 0x50, 0x61, 0x4a, 0xed, 0xee, 0x37, 0xe5, 0xf9, 0xae, 0x9c, 0xe0, + 0x5b, 0xb0, 0x12, 0x07, 0xd8, 0xeb, 0x35, 0x9f, 0x55, 0xe6, 0xcb, 0xfa, 0x43, 0x6e, 0x5b, 0x85, + 0xd5, 0x7e, 0x74, 0x8f, 0xfa, 0xba, 0x0a, 0x42, 0x2b, 0xbd, 0xe0, 0x7b, 0xd4, 0x77, 0x02, 0x58, + 0x52, 0x83, 0x57, 0x0d, 0x0d, 0x4c, 0x03, 0x7b, 0x03, 0xde, 0x30, 0xb1, 0x6f, 0x86, 0x98, 0xbd, + 0xda, 0x17, 0x61, 0x5e, 0xba, 0x26, 0x7a, 0x3d, 0x57, 0x90, 0x79, 0xb3, 0xd7, 0x60, 0xee, 0x24, + 0xc0, 0x2d, 0x7d, 0x6a, 0x5b, 0x44, 0xfa, 0x45, 0x86, 0xaa, 0x47, 0x7d, 0x7d, 0xd7, 0x59, 0x42, + 0xea, 0xd9, 0xf9, 0x85, 0x05, 0xef, 0xe9, 0x8b, 0x03, 0xc1, 0x42, 0xea, 0x15, 0x66, 0xa6, 0x41, + 0xc8, 0xbd, 0x34, 0x10, 0x34, 0x0e, 0x28, 0x49, 0xb8, 0xce, 0x55, 0xbe, 0x4d, 0xe0, 0x62, 0x76, + 0x25, 0x41, 0x88, 0x1b, 0xe6, 0x06, 0x66, 0x45, 0x8f, 0x4c, 0x96, 0xa6, 0x30, 0x2d, 0x02, 0xa3, + 0xb5, 0x70, 0xb0, 0x91, 0x3b, 0x5f, 0x58, 0xe6, 0xa8, 0xa8, 0xa8, 0x34, 0x19, 0x7b, 0x6c, 0x92, + 0xe5, 0x7d, 0xa8, 0xf0, 0x98, 0xf5, 0xef, 0xff, 0x23, 0x17, 0x6e, 0x1f, 0x04, 0x2a, 0x4b, 0x00, + 0xb3, 0xfd, 0xdb, 0x8f, 0xc0, 0xf6, 0xbb, 0xa1, 0xd5, 0x45, 0x9d, 0x9e, 0x1c, 0x75, 0x25, 0x87, + 0xc9, 0x4a, 0x8b, 0x36, 0x2c, 0xf7, 0xd3, 0xbf, 0x00, 0x33, 0x9c, 0x3c, 0x51, 0xd3, 0x38, 0x8b, + 0xe4, 0xa3, 0xbd, 0x07, 0x25, 0x96, 0x19, 0x99, 0x34, 0x74, 0x6d, 0x2c, 0xbf, 0x28, 0xef, 0xe7, + 0xfc, 0xce, 0x82, 0x52, 0xf7, 0xc3, 0xe8, 0x45, 0xf1, 0x6d, 0x7d, 0x4f, 0x10, 0x90, 0x53, 0xd2, + 0xdd, 0x06, 0xae, 0x8e, 0x72, 0x78, 0x28, 0x2d, 0xd5, 0xc5, 0x80, 0x7a, 0xe2, 0x76, 0xdd, 0x5c, + 0x0c, 0x18, 0x88, 0x99, 0x71, 0x21, 0xd4, 0x4d, 0x80, 0xc6, 0x70, 0x7e, 0x64, 0x76, 0xe0, 0x4f, + 0x12, 0x1c, 0x89, 0xdd, 0x54, 0xb4, 0x59, 0x42, 0x7f, 0xa0, 0x6e, 0x72, 0xb9, 0x0c, 0xf7, 0x96, + 0x6c, 0x36, 0xc5, 0x56, 0x09, 0x65, 0xaf, 0x76, 0x03, 0xe6, 0xd5, 0xe3, 0x58, 0xdb, 0xd7, 0x20, + 0x34, 0x32, 0xbd, 0x9d, 0x1f, 0x67, 0xd1, 0xa5, 0x6d, 0x24, 0x80, 0xbe, 0x45, 0xee, 0xba, 0x26, + 0xbd, 0xae, 0x49, 0x91, 0xd4, 0x74, 0x2f, 0xa9, 0x8f, 0x7a, 0x0a, 0xdd, 0x52, 0xfd, 0xb2, 0xa9, + 0xdd, 0xd6, 0x07, 0x6b, 0xb7, 0x83, 0x48, 0x74, 0xcb, 0xdc, 0x4f, 0x60, 0x45, 0x51, 0x38, 0x88, + 0x4e, 0x71, 0x40, 0x7d, 0xc5, 0xe4, 0x55, 0xfc, 0x3b, 0xbf, 0xed, 0x59, 0x2a, 0x3a, 0xef, 0xab, + 0xb4, 0x31, 0xf9, 0x95, 0x78, 0xa9, 0xef, 0x60, 0x72, 0x19, 0xa0, 0x2f, 0x1d, 0x96, 0x4c, 0xd4, + 0xa9, 0xcc, 0x76, 0x01, 0x66, 0x64, 0x26, 0xd3, 0xb7, 0xa4, 0xf2, 0xd1, 0xde, 0x86, 0xb2, 0x4f, + 0xb8, 0x97, 0x50, 0x75, 0x5d, 0x67, 0x72, 0x5c, 0xb1, 0xa9, 0xde, 0xfe, 0xf2, 0xf9, 0x96, 0xf5, + 0xd5, 0xf3, 0x2d, 0xeb, 0x9f, 0xcf, 0xb7, 0xac, 0x9f, 0xbf, 0xd8, 0x9a, 0xfa, 0xea, 0xc5, 0xd6, + 0xd4, 0x5f, 0x5f, 0x6c, 0x4d, 0x3d, 0xba, 0xdf, 0xa2, 0xa2, 0x9d, 0x36, 0xab, 0x1e, 0x0b, 0x6b, + 0x07, 0xd9, 0xb4, 0x1e, 0xe2, 0x26, 0xaf, 0x75, 0x27, 0xf9, 0x9b, 0x1e, 0x4b, 0x48, 0xf1, 0xb5, + 0x8d, 0x69, 0x54, 0x0b, 0x99, 0xac, 0xb5, 0x78, 0xfe, 0x37, 0x4a, 0x74, 0x62, 0xc2, 0x9b, 0xf3, + 0xea, 0x1f, 0xd4, 0x87, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xc9, 0x62, 0x4f, 0x5a, 0x52, 0x1b, + 0x00, 0x00, } func (m *EventBatchSpotExecution) Marshal() (dAtA []byte, err error) { @@ -3347,6 +3611,13 @@ func (m *EventConditionalDerivativeOrderTrigger) MarshalToSizedBuffer(dAtA []byt _ = i var l int _ = l + if len(m.TriggeredOrderCid) > 0 { + i -= len(m.TriggeredOrderCid) + copy(dAtA[i:], m.TriggeredOrderCid) + i = encodeVarintEvents(dAtA, i, uint64(len(m.TriggeredOrderCid))) + i-- + dAtA[i] = 0x2a + } if len(m.PlacedOrderHash) > 0 { i -= len(m.PlacedOrderHash) copy(dAtA[i:], m.PlacedOrderHash) @@ -3401,6 +3672,15 @@ func (m *EventOrderFail) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.Cids) > 0 { + for iNdEx := len(m.Cids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Cids[iNdEx]) + copy(dAtA[i:], m.Cids[iNdEx]) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Cids[iNdEx]))) + i-- + dAtA[i] = 0x22 + } + } if len(m.Flags) > 0 { dAtA22 := make([]byte, len(m.Flags)*10) var j21 int @@ -3624,67 +3904,253 @@ func (m *Orderbook) MarshalToSizedBuffer(dAtA []byte) (int, error) { 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++ +func (m *EventGrantAuthorizations) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - dAtA[offset] = uint8(v) - return base + return dAtA[:n], nil } -func (m *EventBatchSpotExecution) Size() (n int) { - if m == nil { - return 0 - } + +func (m *EventGrantAuthorizations) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventGrantAuthorizations) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.MarketId) - if l > 0 { - n += 1 + l + sovEvents(uint64(l)) - } - if m.IsBuy { - n += 2 - } - if m.ExecutionType != 0 { - n += 1 + sovEvents(uint64(m.ExecutionType)) - } - if len(m.Trades) > 0 { - for _, e := range m.Trades { - l = e.Size() - n += 1 + l + sovEvents(uint64(l)) + if len(m.Grants) > 0 { + for iNdEx := len(m.Grants) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Grants[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 } } - return n + if len(m.Granter) > 0 { + i -= len(m.Granter) + copy(dAtA[i:], m.Granter) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Granter))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } -func (m *EventBatchDerivativeExecution) Size() (n int) { - if m == nil { - return 0 +func (m *EventGrantActivation) 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 *EventGrantActivation) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventGrantActivation) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.MarketId) - if l > 0 { - n += 1 + l + sovEvents(uint64(l)) - } - if m.IsBuy { - n += 2 - } - if m.IsLiquidation { - n += 2 + { + size := m.Amount.Size() + i -= size + if _, err := m.Amount.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintEvents(dAtA, i, uint64(size)) } - if m.CumulativeFunding != nil { - l = m.CumulativeFunding.Size() - n += 1 + l + sovEvents(uint64(l)) + i-- + dAtA[i] = 0x1a + if len(m.Granter) > 0 { + i -= len(m.Granter) + copy(dAtA[i:], m.Granter) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Granter))) + i-- + dAtA[i] = 0x12 } - if m.ExecutionType != 0 { - n += 1 + sovEvents(uint64(m.ExecutionType)) + if len(m.Grantee) > 0 { + i -= len(m.Grantee) + copy(dAtA[i:], m.Grantee) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Grantee))) + i-- + dAtA[i] = 0xa } - if len(m.Trades) > 0 { - for _, e := range m.Trades { + return len(dAtA) - i, nil +} + +func (m *EventInvalidGrant) 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 *EventInvalidGrant) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventInvalidGrant) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Granter) > 0 { + i -= len(m.Granter) + copy(dAtA[i:], m.Granter) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Granter))) + i-- + dAtA[i] = 0x12 + } + if len(m.Grantee) > 0 { + i -= len(m.Grantee) + copy(dAtA[i:], m.Grantee) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Grantee))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *EventOrderCancelFail) 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 *EventOrderCancelFail) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventOrderCancelFail) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Description) > 0 { + i -= len(m.Description) + copy(dAtA[i:], m.Description) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Description))) + i-- + dAtA[i] = 0x2a + } + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x22 + } + if len(m.OrderHash) > 0 { + i -= len(m.OrderHash) + copy(dAtA[i:], m.OrderHash) + i = encodeVarintEvents(dAtA, i, uint64(len(m.OrderHash))) + i-- + dAtA[i] = 0x1a + } + if len(m.SubaccountId) > 0 { + i -= len(m.SubaccountId) + copy(dAtA[i:], m.SubaccountId) + i = encodeVarintEvents(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 = encodeVarintEvents(dAtA, i, uint64(len(m.MarketId))) + 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 *EventBatchSpotExecution) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.MarketId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + if m.IsBuy { + n += 2 + } + if m.ExecutionType != 0 { + n += 1 + sovEvents(uint64(m.ExecutionType)) + } + if len(m.Trades) > 0 { + for _, e := range m.Trades { + l = e.Size() + n += 1 + l + sovEvents(uint64(l)) + } + } + return n +} + +func (m *EventBatchDerivativeExecution) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.MarketId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + if m.IsBuy { + n += 2 + } + if m.IsLiquidation { + n += 2 + } + if m.CumulativeFunding != nil { + l = m.CumulativeFunding.Size() + n += 1 + l + sovEvents(uint64(l)) + } + if m.ExecutionType != 0 { + n += 1 + sovEvents(uint64(m.ExecutionType)) + } + if len(m.Trades) > 0 { + for _, e := range m.Trades { l = e.Size() n += 1 + l + sovEvents(uint64(l)) } @@ -4173,6 +4639,10 @@ func (m *EventConditionalDerivativeOrderTrigger) Size() (n int) { if l > 0 { n += 1 + l + sovEvents(uint64(l)) } + l = len(m.TriggeredOrderCid) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } return n } @@ -4199,6 +4669,12 @@ func (m *EventOrderFail) Size() (n int) { } n += 1 + sovEvents(uint64(l)) + l } + if len(m.Cids) > 0 { + for _, s := range m.Cids { + l = len(s) + n += 1 + l + sovEvents(uint64(l)) + } + } return n } @@ -4279,6 +4755,90 @@ func (m *Orderbook) Size() (n int) { return n } +func (m *EventGrantAuthorizations) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Granter) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + if len(m.Grants) > 0 { + for _, e := range m.Grants { + l = e.Size() + n += 1 + l + sovEvents(uint64(l)) + } + } + return n +} + +func (m *EventGrantActivation) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Grantee) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.Granter) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = m.Amount.Size() + n += 1 + l + sovEvents(uint64(l)) + return n +} + +func (m *EventInvalidGrant) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Grantee) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.Granter) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + return n +} + +func (m *EventOrderCancelFail) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.MarketId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.SubaccountId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.OrderHash) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.Description) + 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 } @@ -4571,7 +5131,7 @@ func (m *EventBatchDerivativeExecution) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.CumulativeFunding = &v if err := m.CumulativeFunding.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6420,7 +6980,7 @@ func (m *EventPerpetualMarketFundingUpdate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.FundingRate = &v if err := m.FundingRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6456,7 +7016,7 @@ func (m *EventPerpetualMarketFundingUpdate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MarkPrice = &v if err := m.MarkPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8093,6 +8653,38 @@ func (m *EventConditionalDerivativeOrderTrigger) Unmarshal(dAtA []byte) error { m.PlacedOrderHash = []byte{} } iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TriggeredOrderCid", 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.TriggeredOrderCid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -8285,22 +8877,54 @@ func (m *EventOrderFail) Unmarshal(dAtA []byte) error { } else { return fmt.Errorf("proto: wrong wireType = %d for field Flags", wireType) } - 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 + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cids", wireType) } - iNdEx += skippy - } - } - + 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.Cids = append(m.Cids, 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 } @@ -8765,6 +9389,594 @@ func (m *Orderbook) Unmarshal(dAtA []byte) error { } return nil } +func (m *EventGrantAuthorizations) 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: EventGrantAuthorizations: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventGrantAuthorizations: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Granter", 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.Granter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grants", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Grants = append(m.Grants, &GrantAuthorization{}) + if err := m.Grants[len(m.Grants)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + 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 (m *EventGrantActivation) 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: EventGrantActivation: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventGrantActivation: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grantee", 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.Grantee = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Granter", 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.Granter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + 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 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 + } + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + 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 (m *EventInvalidGrant) 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: EventInvalidGrant: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventInvalidGrant: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grantee", 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.Grantee = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Granter", 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.Granter = 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 (m *EventOrderCancelFail) 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: EventOrderCancelFail: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventOrderCancelFail: 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 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.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 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.SubaccountId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", 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.OrderHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cid", 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.Cid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + 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 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.Description = 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/exchange/types/exchange.go b/chain/exchange/types/exchange.go index d4ad366e..ac34af0e 100644 --- a/chain/exchange/types/exchange.go +++ b/chain/exchange/types/exchange.go @@ -3,6 +3,7 @@ package types import ( "fmt" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/ethereum/go-ethereum/common" ) @@ -15,7 +16,7 @@ type MatchedMarketDirection struct { type TriggeredOrdersInMarket struct { Market *DerivativeMarket - MarkPrice sdk.Dec + MarkPrice math.LegacyDec MarketOrders []*DerivativeMarketOrder LimitOrders []*DerivativeLimitOrder HasLimitBuyOrders bool @@ -45,10 +46,10 @@ func (s MarketStatus) SupportsOrderCancellations() bool { type TradingRewardAccountPoints struct { Account sdk.AccAddress - Points sdk.Dec + Points math.LegacyDec } -func (p *PointsMultiplier) GetMultiplier(e ExecutionType) sdk.Dec { +func (p *PointsMultiplier) GetMultiplier(e ExecutionType) math.LegacyDec { if e.IsMaker() { return p.MakerPointsMultiplier } @@ -57,9 +58,9 @@ func (p *PointsMultiplier) GetMultiplier(e ExecutionType) sdk.Dec { } type IOrder interface { - GetPrice() sdk.Dec - GetQuantity() sdk.Dec - GetFillable() sdk.Dec + GetPrice() math.LegacyDec + GetQuantity() math.LegacyDec + GetFillable() math.LegacyDec IsBuy() bool GetSubaccountID() common.Hash } @@ -67,63 +68,63 @@ type IOrder interface { // IDerivativeOrder proto interface for wrapping all different variations of representations of derivative orders. Methods can be added as needed (make sure to add to every implementor) type IDerivativeOrder interface { IOrder - GetMargin() sdk.Dec + GetMargin() math.LegacyDec IsReduceOnly() bool IsVanilla() bool } type IMutableDerivativeOrder interface { IDerivativeOrder - SetPrice(sdk.Dec) - SetQuantity(sdk.Dec) - SetMargin(sdk.Dec) + SetPrice(math.LegacyDec) + SetQuantity(math.LegacyDec) + SetMargin(math.LegacyDec) } // DerivativeOrder - IMutableDerivativeOrder implementation -func (o *DerivativeOrder) GetPrice() sdk.Dec { +func (o *DerivativeOrder) GetPrice() math.LegacyDec { return o.OrderInfo.Price } -func (o *DerivativeOrder) GetQuantity() sdk.Dec { +func (o *DerivativeOrder) GetQuantity() math.LegacyDec { return o.OrderInfo.Quantity } -func (o *DerivativeOrder) GetFillable() sdk.Dec { +func (o *DerivativeOrder) GetFillable() math.LegacyDec { return o.GetQuantity() } -func (o *DerivativeOrder) GetMargin() sdk.Dec { +func (o *DerivativeOrder) GetMargin() math.LegacyDec { return o.Margin } func (o *DerivativeOrder) GetSubaccountID() common.Hash { return o.OrderInfo.SubaccountID() } -func (o *DerivativeOrder) SetPrice(price sdk.Dec) { +func (o *DerivativeOrder) SetPrice(price math.LegacyDec) { o.OrderInfo.Price = price } -func (o *DerivativeOrder) SetQuantity(quantity sdk.Dec) { +func (o *DerivativeOrder) SetQuantity(quantity math.LegacyDec) { o.OrderInfo.Quantity = quantity } -func (o *DerivativeOrder) SetMargin(margin sdk.Dec) { +func (o *DerivativeOrder) SetMargin(margin math.LegacyDec) { o.Margin = margin } // DerivativeLimitOrder - IMutableDerivativeOrder implementation -func (o *DerivativeLimitOrder) GetPrice() sdk.Dec { +func (o *DerivativeLimitOrder) GetPrice() math.LegacyDec { return o.OrderInfo.Price } -func (o *DerivativeLimitOrder) GetQuantity() sdk.Dec { +func (o *DerivativeLimitOrder) GetQuantity() math.LegacyDec { return o.OrderInfo.Quantity } -func (o *DerivativeLimitOrder) GetFillable() sdk.Dec { +func (o *DerivativeLimitOrder) GetFillable() math.LegacyDec { return o.Fillable } -func (o *DerivativeLimitOrder) GetMargin() sdk.Dec { +func (o *DerivativeLimitOrder) GetMargin() math.LegacyDec { return o.Margin } @@ -131,46 +132,46 @@ func (o *DerivativeLimitOrder) GetSubaccountID() common.Hash { return o.OrderInfo.SubaccountID() } -func (o *DerivativeLimitOrder) SetPrice(price sdk.Dec) { +func (o *DerivativeLimitOrder) SetPrice(price math.LegacyDec) { o.OrderInfo.Price = price } -func (o *DerivativeLimitOrder) SetQuantity(quantity sdk.Dec) { +func (o *DerivativeLimitOrder) SetQuantity(quantity math.LegacyDec) { o.OrderInfo.Quantity = quantity o.Fillable = quantity } -func (o *DerivativeLimitOrder) SetMargin(margin sdk.Dec) { +func (o *DerivativeLimitOrder) SetMargin(margin math.LegacyDec) { o.Margin = margin } // DerivativeMarketOrder - IMutableDerivativeOrder implementation -func (o *DerivativeMarketOrder) GetPrice() sdk.Dec { +func (o *DerivativeMarketOrder) GetPrice() math.LegacyDec { return o.OrderInfo.Price } -func (o *DerivativeMarketOrder) GetQuantity() sdk.Dec { +func (o *DerivativeMarketOrder) GetQuantity() math.LegacyDec { return o.OrderInfo.Quantity } -func (o *DerivativeMarketOrder) GetFillable() sdk.Dec { +func (o *DerivativeMarketOrder) GetFillable() math.LegacyDec { return o.OrderInfo.Quantity } -func (o *DerivativeMarketOrder) GetMargin() sdk.Dec { +func (o *DerivativeMarketOrder) GetMargin() math.LegacyDec { return o.Margin } func (o *DerivativeMarketOrder) GetSubaccountID() common.Hash { return o.OrderInfo.SubaccountID() } -func (o *DerivativeMarketOrder) SetPrice(price sdk.Dec) { +func (o *DerivativeMarketOrder) SetPrice(price math.LegacyDec) { o.OrderInfo.Price = price } -func (o *DerivativeMarketOrder) SetQuantity(quantity sdk.Dec) { +func (o *DerivativeMarketOrder) SetQuantity(quantity math.LegacyDec) { o.OrderInfo.Quantity = quantity } -func (o *DerivativeMarketOrder) SetMargin(margin sdk.Dec) { +func (o *DerivativeMarketOrder) SetMargin(margin math.LegacyDec) { o.Margin = margin } @@ -180,37 +181,37 @@ func (o *DerivativeMarketOrder) DebugString() string { // spot orders -func (o *SpotOrder) GetPrice() sdk.Dec { +func (o *SpotOrder) GetPrice() math.LegacyDec { return o.OrderInfo.Price } -func (o *SpotLimitOrder) GetPrice() sdk.Dec { +func (o *SpotLimitOrder) GetPrice() math.LegacyDec { return o.OrderInfo.Price } -func (o *SpotMarketOrder) GetPrice() sdk.Dec { +func (o *SpotMarketOrder) GetPrice() math.LegacyDec { return o.OrderInfo.Price } -func (o *SpotOrder) GetQuantity() sdk.Dec { +func (o *SpotOrder) GetQuantity() math.LegacyDec { return o.OrderInfo.Quantity } -func (o *SpotLimitOrder) GetQuantity() sdk.Dec { +func (o *SpotLimitOrder) GetQuantity() math.LegacyDec { return o.OrderInfo.Quantity } -func (o *SpotMarketOrder) GetQuantity() sdk.Dec { +func (o *SpotMarketOrder) GetQuantity() math.LegacyDec { return o.OrderInfo.Quantity } func (o *SpotMarketOrder) IsBuy() bool { return o.OrderType.IsBuy() } -func (o *SpotOrder) GetFillable() sdk.Dec { +func (o *SpotOrder) GetFillable() math.LegacyDec { return o.OrderInfo.Quantity } -func (o *SpotMarketOrder) GetFillable() sdk.Dec { +func (o *SpotMarketOrder) GetFillable() math.LegacyDec { // no fillable for market order, but quantity works same in this case return o.OrderInfo.Quantity } -func (o *SpotLimitOrder) GetFillable() sdk.Dec { +func (o *SpotLimitOrder) GetFillable() math.LegacyDec { return o.Fillable } diff --git a/chain/exchange/types/exchange.pb.go b/chain/exchange/types/exchange.pb.go index d462df25..fb4b5b68 100644 --- a/chain/exchange/types/exchange.pb.go +++ b/chain/exchange/types/exchange.pb.go @@ -4,10 +4,12 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" 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/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -236,22 +238,22 @@ type Params struct { 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 - 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"` + DefaultSpotMakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=default_spot_maker_fee_rate,json=defaultSpotMakerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 - 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"` + DefaultSpotTakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=default_spot_taker_fee_rate,json=defaultSpotTakerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"default_spot_taker_fee_rate"` // 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"` + DefaultDerivativeMakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=default_derivative_maker_fee_rate,json=defaultDerivativeMakerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"default_derivative_maker_fee_rate"` // 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"` + DefaultDerivativeTakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=default_derivative_taker_fee_rate,json=defaultDerivativeTakerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"default_derivative_taker_fee_rate"` // 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"` + DefaultInitialMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=default_initial_margin_ratio,json=defaultInitialMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"default_initial_margin_ratio"` // 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"` + DefaultMaintenanceMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=default_maintenance_margin_ratio,json=defaultMaintenanceMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"default_maintenance_margin_ratio"` // 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"` @@ -260,24 +262,24 @@ type Params struct { 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 - 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"` + RelayerFeeShareRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"relayer_fee_share_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"` + DefaultHourlyFundingRateCap cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=default_hourly_funding_rate_cap,json=defaultHourlyFundingRateCap,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + DefaultHourlyInterestRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=default_hourly_interest_rate,json=defaultHourlyInterestRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 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 - 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"` + InjRewardStakedRequirementThreshold cosmossdk_io_math.Int `protobuf:"bytes,15,opt,name=inj_reward_staked_requirement_threshold,json=injRewardStakedRequirementThreshold,proto3,customtype=cosmossdk.io/math.Int" json:"inj_reward_staked_requirement_threshold"` // 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 - 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"` + LiquidatorRewardShareRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,17,opt,name=liquidator_reward_share_rate,json=liquidatorRewardShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 BinaryOptionsMarketInstantListingFee types.Coin `protobuf:"bytes,18,opt,name=binary_options_market_instant_listing_fee,json=binaryOptionsMarketInstantListingFee,proto3" json:"binary_options_market_instant_listing_fee"` @@ -286,19 +288,24 @@ type Params struct { 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 - 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"` + SpotAtomicMarketOrderFeeMultiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,20,opt,name=spot_atomic_market_order_fee_multiplier,json=spotAtomicMarketOrderFeeMultiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 - 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"` + DerivativeAtomicMarketOrderFeeMultiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,21,opt,name=derivative_atomic_market_order_fee_multiplier,json=derivativeAtomicMarketOrderFeeMultiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 - 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"` + BinaryOptionsAtomicMarketOrderFeeMultiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,22,opt,name=binary_options_atomic_market_order_fee_multiplier,json=binaryOptionsAtomicMarketOrderFeeMultiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + MinimalProtocolFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,23,opt,name=minimal_protocol_fee_rate,json=minimalProtocolFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"minimal_protocol_fee_rate"` // 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"` PostOnlyModeHeightThreshold int64 `protobuf:"varint,25,opt,name=post_only_mode_height_threshold,json=postOnlyModeHeightThreshold,proto3" json:"post_only_mode_height_threshold,omitempty"` + // Maximum time in seconds since the last mark price update to allow a + // decrease in margin + MarginDecreasePriceTimestampThresholdSeconds int64 `protobuf:"varint,26,opt,name=margin_decrease_price_timestamp_threshold_seconds,json=marginDecreasePriceTimestampThresholdSeconds,proto3" json:"margin_decrease_price_timestamp_threshold_seconds,omitempty"` + // List of addresses that are allowed to perform exchange admin operations + ExchangeAdmins []string `protobuf:"bytes,27,rep,name=exchange_admins,json=exchangeAdmins,proto3" json:"exchange_admins,omitempty"` } func (m *Params) Reset() { *m = Params{} } @@ -404,9 +411,23 @@ func (m *Params) GetPostOnlyModeHeightThreshold() int64 { return 0 } +func (m *Params) GetMarginDecreasePriceTimestampThresholdSeconds() int64 { + if m != nil { + return m.MarginDecreasePriceTimestampThresholdSeconds + } + return 0 +} + +func (m *Params) GetExchangeAdmins() []string { + if m != nil { + return m.ExchangeAdmins + } + return nil +} + type MarketFeeMultiplier struct { - MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - FeeMultiplier github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=fee_multiplier,json=feeMultiplier,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fee_multiplier"` + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + FeeMultiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=fee_multiplier,json=feeMultiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fee_multiplier"` } func (m *MarketFeeMultiplier) Reset() { *m = MarketFeeMultiplier{} } @@ -460,17 +481,17 @@ type DerivativeMarket struct { 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 - 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"` + InitialMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"initial_margin_ratio"` // 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"` + MaintenanceMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,10,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` // 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"` + RelayerFeeShareRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"relayer_fee_share_rate"` // 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"` @@ -478,10 +499,17 @@ type DerivativeMarket struct { 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 - 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,15,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,16,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,17,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` + // current market admin + Admin string `protobuf:"bytes,18,opt,name=admin,proto3" json:"admin,omitempty"` + // level of admin permissions + AdminPermissions uint32 `protobuf:"varint,19,opt,name=admin_permissions,json=adminPermissions,proto3" json:"admin_permissions,omitempty"` } func (m *DerivativeMarket) Reset() { *m = DerivativeMarket{} } @@ -540,21 +568,26 @@ type BinaryOptionsMarket struct { // Unique market ID. MarketId string `protobuf:"bytes,10,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` // maker_fee_rate defines the maker fee rate of a binary options 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"` + MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` // 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"` + RelayerFeeShareRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 - 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,15,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,16,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + SettlementPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,17,opt,name=settlement_price,json=settlementPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"settlement_price,omitempty"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,18,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` + // level of admin permissions + AdminPermissions uint32 `protobuf:"varint,19,opt,name=admin_permissions,json=adminPermissions,proto3" json:"admin_permissions,omitempty"` } func (m *BinaryOptionsMarket) Reset() { *m = BinaryOptionsMarket{} } @@ -601,10 +634,10 @@ type ExpiryFuturesMarketInfo struct { 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 - 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"` + ExpirationTwapStartPriceCumulative cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=expiration_twap_start_price_cumulative,json=expirationTwapStartPriceCumulative,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"expiration_twap_start_price_cumulative"` // 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"` + SettlementPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=settlement_price,json=settlementPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"settlement_price"` } func (m *ExpiryFuturesMarketInfo) Reset() { *m = ExpiryFuturesMarketInfo{} } @@ -666,9 +699,9 @@ type PerpetualMarketInfo struct { 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 - 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"` + HourlyFundingRateCap cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=hourly_funding_rate_cap,json=hourlyFundingRateCap,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + HourlyInterestRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=hourly_interest_rate,json=hourlyInterestRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"hourly_interest_rate"` // 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"` @@ -733,11 +766,11 @@ 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"` + CumulativeFunding cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=cumulative_funding,json=cumulativeFunding,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cumulative_funding"` // 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"` + CumulativePrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=cumulative_price,json=cumulativePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cumulative_price"` + LastTimestamp int64 `protobuf:"varint,3,opt,name=last_timestamp,json=lastTimestamp,proto3" json:"last_timestamp,omitempty"` } func (m *PerpetualMarketFunding) Reset() { *m = PerpetualMarketFunding{} } @@ -784,7 +817,7 @@ type DerivativeMarketSettlementInfo struct { // market ID. MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` // settlement_price defines the settlement price - SettlementPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=settlement_price,json=settlementPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"settlement_price"` + SettlementPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=settlement_price,json=settlementPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"settlement_price"` } func (m *DerivativeMarketSettlementInfo) Reset() { *m = DerivativeMarketSettlementInfo{} } @@ -873,11 +906,11 @@ func (m *NextFundingTimestamp) GetNextTimestamp() int64 { 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"` + MidPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=mid_price,json=midPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + BestBuyPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=best_buy_price,json=bestBuyPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + BestSellPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=best_sell_price,json=bestSellPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"best_sell_price,omitempty"` } func (m *MidPriceAndTOB) Reset() { *m = MidPriceAndTOB{} } @@ -923,22 +956,29 @@ type SpotMarket struct { // Coin used for the quote asset QuoteDenom string `protobuf:"bytes,3,opt,name=quote_denom,json=quoteDenom,proto3" json:"quote_denom,omitempty"` // maker_fee_rate defines the fee percentage makers pay when trading - 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"` + MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` // 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"` + RelayerFeeShareRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 - 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,10,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` + // current market admin + Admin string `protobuf:"bytes,12,opt,name=admin,proto3" json:"admin,omitempty"` + // level of admin permissions + AdminPermissions uint32 `protobuf:"varint,13,opt,name=admin_permissions,json=adminPermissions,proto3" json:"admin_permissions,omitempty"` } func (m *SpotMarket) Reset() { *m = SpotMarket{} } @@ -1009,10 +1049,24 @@ func (m *SpotMarket) GetStatus() MarketStatus { return MarketStatus_Unspecified } +func (m *SpotMarket) GetAdmin() string { + if m != nil { + return m.Admin + } + return "" +} + +func (m *SpotMarket) GetAdminPermissions() uint32 { + if m != nil { + return m.AdminPermissions + } + return 0 +} + // A subaccount's deposit for a given base currency type Deposit struct { - AvailableBalance github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=available_balance,json=availableBalance,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"available_balance"` - TotalBalance github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=total_balance,json=totalBalance,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"total_balance"` + AvailableBalance cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=available_balance,json=availableBalance,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"available_balance"` + TotalBalance cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=total_balance,json=totalBalance,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"total_balance"` } func (m *Deposit) Reset() { *m = Deposit{} } @@ -1098,10 +1152,10 @@ type OrderInfo struct { // address fee_recipient address that will receive fees for the order FeeRecipient string `protobuf:"bytes,2,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` // price of the order - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` // quantity of the order - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` - Cid string `protobuf:"bytes,5,opt,name=cid,proto3" json:"cid,omitempty"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` + Cid string `protobuf:"bytes,5,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *OrderInfo) Reset() { *m = OrderInfo{} } @@ -1166,7 +1220,7 @@ type SpotOrder struct { // order types OrderType OrderType `protobuf:"varint,3,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"` // trigger_price is the trigger price used by stop/take orders - TriggerPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=trigger_price,json=triggerPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"trigger_price,omitempty"` + TriggerPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=trigger_price,json=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"trigger_price,omitempty"` } func (m *SpotOrder) Reset() { *m = SpotOrder{} } @@ -1230,10 +1284,10 @@ type SpotLimitOrder struct { // order types OrderType OrderType `protobuf:"varint,2,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"` // the amount of the quantity remaining fillable - Fillable github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=fillable,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fillable"` + Fillable cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=fillable,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fillable"` // trigger_price is the trigger price used by stop/take orders - TriggerPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=trigger_price,json=triggerPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"trigger_price,omitempty"` - OrderHash []byte `protobuf:"bytes,5,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + TriggerPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=trigger_price,json=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"trigger_price,omitempty"` + OrderHash []byte `protobuf:"bytes,5,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` } func (m *SpotLimitOrder) Reset() { *m = SpotLimitOrder{} } @@ -1293,13 +1347,13 @@ func (m *SpotLimitOrder) GetOrderHash() []byte { // A valid Spot market order with Metadata. type SpotMarketOrder struct { // order_info contains the information of the order - OrderInfo OrderInfo `protobuf:"bytes,1,opt,name=order_info,json=orderInfo,proto3" json:"order_info"` - BalanceHold github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=balance_hold,json=balanceHold,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"balance_hold"` - OrderHash []byte `protobuf:"bytes,3,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + OrderInfo OrderInfo `protobuf:"bytes,1,opt,name=order_info,json=orderInfo,proto3" json:"order_info"` + BalanceHold cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=balance_hold,json=balanceHold,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"balance_hold"` + OrderHash []byte `protobuf:"bytes,3,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` // order types OrderType OrderType `protobuf:"varint,4,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"` // trigger_price is the trigger price used by stop/take orders - TriggerPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"trigger_price,omitempty"` + TriggerPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"trigger_price,omitempty"` } func (m *SpotMarketOrder) Reset() { *m = SpotMarketOrder{} } @@ -1364,9 +1418,9 @@ type DerivativeOrder struct { // order types OrderType OrderType `protobuf:"varint,3,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"` // margin is the margin used by the limit order - Margin github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=margin,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"margin"` + Margin cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=margin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin"` // trigger_price is the trigger price used by stop/take orders - TriggerPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"trigger_price,omitempty"` + TriggerPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"trigger_price,omitempty"` } func (m *DerivativeOrder) Reset() { *m = DerivativeOrder{} } @@ -1428,12 +1482,12 @@ type SubaccountOrderbookMetadata struct { 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 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"` + AggregateReduceOnlyQuantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=aggregate_reduce_only_quantity,json=aggregateReduceOnlyQuantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"aggregate_reduce_only_quantity"` // 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"` + AggregateVanillaQuantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=aggregate_vanilla_quantity,json=aggregateVanillaQuantity,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` } func (m *SubaccountOrderbookMetadata) Reset() { *m = SubaccountOrderbookMetadata{} } @@ -1499,10 +1553,11 @@ func (m *SubaccountOrderbookMetadata) GetReduceOnlyConditionalOrderCount() uint3 type SubaccountOrder 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"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` // the amount of the quantity remaining fillable - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` - IsReduceOnly bool `protobuf:"varint,3,opt,name=isReduceOnly,proto3" json:"isReduceOnly,omitempty"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` + IsReduceOnly bool `protobuf:"varint,3,opt,name=isReduceOnly,proto3" json:"isReduceOnly,omitempty"` + Cid string `protobuf:"bytes,4,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *SubaccountOrder) Reset() { *m = SubaccountOrder{} } @@ -1545,6 +1600,13 @@ func (m *SubaccountOrder) GetIsReduceOnly() bool { return false } +func (m *SubaccountOrder) GetCid() string { + if m != nil { + return m.Cid + } + return "" +} + type SubaccountOrderData struct { Order *SubaccountOrder `protobuf:"bytes,1,opt,name=order,proto3" json:"order,omitempty"` OrderHash []byte `protobuf:"bytes,2,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` @@ -1604,12 +1666,12 @@ type DerivativeLimitOrder struct { // order types OrderType OrderType `protobuf:"varint,2,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"` // margin is the margin used by the limit order - Margin github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=margin,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"margin"` + Margin cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=margin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin"` // the amount of the quantity remaining fillable - Fillable github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=fillable,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fillable"` + Fillable cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=fillable,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fillable"` // trigger_price is the trigger price used by stop/take orders - TriggerPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"trigger_price,omitempty"` - OrderHash []byte `protobuf:"bytes,6,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + TriggerPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"trigger_price,omitempty"` + OrderHash []byte `protobuf:"bytes,6,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` } func (m *DerivativeLimitOrder) Reset() { *m = DerivativeLimitOrder{} } @@ -1671,12 +1733,12 @@ type DerivativeMarketOrder struct { // order_info contains the information of the order OrderInfo OrderInfo `protobuf:"bytes,1,opt,name=order_info,json=orderInfo,proto3" json:"order_info"` // order types - OrderType OrderType `protobuf:"varint,2,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"` - Margin github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=margin,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"margin"` - MarginHold github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=margin_hold,json=marginHold,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"margin_hold"` + OrderType OrderType `protobuf:"varint,2,opt,name=order_type,json=orderType,proto3,enum=injective.exchange.v1beta1.OrderType" json:"order_type,omitempty"` + Margin cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=margin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin"` + MarginHold cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=margin_hold,json=marginHold,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin_hold"` // trigger_price is the trigger price used by stop/take orders - TriggerPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"trigger_price,omitempty"` - OrderHash []byte `protobuf:"bytes,6,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + TriggerPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=trigger_price,json=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"trigger_price,omitempty"` + OrderHash []byte `protobuf:"bytes,6,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` } func (m *DerivativeMarketOrder) Reset() { *m = DerivativeMarketOrder{} } @@ -1734,11 +1796,11 @@ func (m *DerivativeMarketOrder) GetOrderHash() []byte { } type Position struct { - IsLong bool `protobuf:"varint,1,opt,name=isLong,proto3" json:"isLong,omitempty"` - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` - EntryPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=entry_price,json=entryPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"entry_price"` - Margin github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=margin,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"margin"` - CumulativeFundingEntry github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=cumulative_funding_entry,json=cumulativeFundingEntry,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"cumulative_funding_entry"` + IsLong bool `protobuf:"varint,1,opt,name=isLong,proto3" json:"isLong,omitempty"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` + EntryPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=entry_price,json=entryPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"entry_price"` + Margin cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=margin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin"` + CumulativeFundingEntry cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=cumulative_funding_entry,json=cumulativeFundingEntry,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cumulative_funding_entry"` } func (m *Position) Reset() { *m = Position{} } @@ -1835,14 +1897,14 @@ func (m *MarketOrderIndicator) GetIsBuy() bool { } type TradeLog struct { - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` // bytes32 subaccount ID that executed the trade - SubaccountId []byte `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - Fee github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=fee,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fee"` - OrderHash []byte `protobuf:"bytes,5,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` - FeeRecipientAddress []byte `protobuf:"bytes,6,opt,name=fee_recipient_address,json=feeRecipientAddress,proto3" json:"fee_recipient_address,omitempty"` - Cid string `protobuf:"bytes,7,opt,name=cid,proto3" json:"cid,omitempty"` + SubaccountId []byte `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + Fee cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=fee,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fee"` + OrderHash []byte `protobuf:"bytes,5,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + FeeRecipientAddress []byte `protobuf:"bytes,6,opt,name=fee_recipient_address,json=feeRecipientAddress,proto3" json:"fee_recipient_address,omitempty"` + Cid string `protobuf:"bytes,7,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *TradeLog) Reset() { *m = TradeLog{} } @@ -1907,10 +1969,10 @@ func (m *TradeLog) GetCid() string { } type PositionDelta struct { - IsLong bool `protobuf:"varint,1,opt,name=is_long,json=isLong,proto3" json:"is_long,omitempty"` - ExecutionQuantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=execution_quantity,json=executionQuantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"execution_quantity"` - ExecutionMargin github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=execution_margin,json=executionMargin,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"execution_margin"` - ExecutionPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=execution_price,json=executionPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"execution_price"` + IsLong bool `protobuf:"varint,1,opt,name=is_long,json=isLong,proto3" json:"is_long,omitempty"` + ExecutionQuantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=execution_quantity,json=executionQuantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"execution_quantity"` + ExecutionMargin cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=execution_margin,json=executionMargin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"execution_margin"` + ExecutionPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=execution_price,json=executionPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"execution_price"` } func (m *PositionDelta) Reset() { *m = PositionDelta{} } @@ -1954,13 +2016,14 @@ func (m *PositionDelta) GetIsLong() bool { } type DerivativeTradeLog struct { - SubaccountId []byte `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - PositionDelta *PositionDelta `protobuf:"bytes,2,opt,name=position_delta,json=positionDelta,proto3" json:"position_delta,omitempty"` - Payout github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=payout,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"payout"` - Fee github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=fee,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fee"` - OrderHash []byte `protobuf:"bytes,5,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` - FeeRecipientAddress []byte `protobuf:"bytes,6,opt,name=fee_recipient_address,json=feeRecipientAddress,proto3" json:"fee_recipient_address,omitempty"` - Cid string `protobuf:"bytes,7,opt,name=cid,proto3" json:"cid,omitempty"` + SubaccountId []byte `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + PositionDelta *PositionDelta `protobuf:"bytes,2,opt,name=position_delta,json=positionDelta,proto3" json:"position_delta,omitempty"` + Payout cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=payout,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"payout"` + Fee cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=fee,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fee"` + OrderHash []byte `protobuf:"bytes,5,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + FeeRecipientAddress []byte `protobuf:"bytes,6,opt,name=fee_recipient_address,json=feeRecipientAddress,proto3" json:"fee_recipient_address,omitempty"` + Cid string `protobuf:"bytes,7,opt,name=cid,proto3" json:"cid,omitempty"` + Pnl cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=pnl,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"pnl"` } func (m *DerivativeTradeLog) Reset() { *m = DerivativeTradeLog{} } @@ -2188,8 +2251,8 @@ func (m *DepositUpdate) GetDeposits() []*SubaccountDeposit { } type PointsMultiplier struct { - MakerPointsMultiplier github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=maker_points_multiplier,json=makerPointsMultiplier,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maker_points_multiplier"` - TakerPointsMultiplier github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=taker_points_multiplier,json=takerPointsMultiplier,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"taker_points_multiplier"` + MakerPointsMultiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=maker_points_multiplier,json=makerPointsMultiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_points_multiplier"` + TakerPointsMultiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=taker_points_multiplier,json=takerPointsMultiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_points_multiplier"` } func (m *PointsMultiplier) Reset() { *m = PointsMultiplier{} } @@ -2420,10 +2483,10 @@ func (m *TradingRewardCampaignInfo) GetDisqualifiedMarketIds() []string { } type FeeDiscountTierInfo struct { - MakerDiscountRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=maker_discount_rate,json=makerDiscountRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maker_discount_rate"` - TakerDiscountRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=taker_discount_rate,json=takerDiscountRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"taker_discount_rate"` - StakedAmount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,3,opt,name=staked_amount,json=stakedAmount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"staked_amount"` - Volume github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=volume,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"volume"` + MakerDiscountRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=maker_discount_rate,json=makerDiscountRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_discount_rate"` + TakerDiscountRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=taker_discount_rate,json=takerDiscountRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_discount_rate"` + StakedAmount cosmossdk_io_math.Int `protobuf:"bytes,3,opt,name=staked_amount,json=stakedAmount,proto3,customtype=cosmossdk.io/math.Int" json:"staked_amount"` + Volume cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=volume,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"volume"` } func (m *FeeDiscountTierInfo) Reset() { *m = FeeDiscountTierInfo{} } @@ -2593,8 +2656,8 @@ func (m *FeeDiscountTierTTL) GetTtlTimestamp() int64 { } type VolumeRecord struct { - MakerVolume github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=maker_volume,json=makerVolume,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"maker_volume"` - TakerVolume github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=taker_volume,json=takerVolume,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"taker_volume"` + MakerVolume cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=maker_volume,json=makerVolume,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_volume"` + TakerVolume cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=taker_volume,json=takerVolume,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_volume"` } func (m *VolumeRecord) Reset() { *m = VolumeRecord{} } @@ -2779,9 +2842,9 @@ func (m *SubaccountIDs) GetSubaccountIds() [][]byte { } type TradeRecord struct { - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` } func (m *TradeRecord) Reset() { *m = TradeRecord{} } @@ -2826,9 +2889,9 @@ func (m *TradeRecord) GetTimestamp() int64 { type Level struct { // price - P github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=p,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"p"` + P cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=p,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"p"` // quantity - Q github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=q,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"q"` + Q cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=q,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"q"` } func (m *Level) Reset() { *m = Level{} } @@ -3072,6 +3135,149 @@ func (m *DenomDecimals) GetDecimals() uint64 { return 0 } +type GrantAuthorization struct { + Grantee string `protobuf:"bytes,1,opt,name=grantee,proto3" json:"grantee,omitempty"` + Amount cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=amount,proto3,customtype=cosmossdk.io/math.Int" json:"amount"` +} + +func (m *GrantAuthorization) Reset() { *m = GrantAuthorization{} } +func (m *GrantAuthorization) String() string { return proto.CompactTextString(m) } +func (*GrantAuthorization) ProtoMessage() {} +func (*GrantAuthorization) Descriptor() ([]byte, []int) { + return fileDescriptor_2116e2804e9c53f9, []int{48} +} +func (m *GrantAuthorization) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *GrantAuthorization) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_GrantAuthorization.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 *GrantAuthorization) XXX_Merge(src proto.Message) { + xxx_messageInfo_GrantAuthorization.Merge(m, src) +} +func (m *GrantAuthorization) XXX_Size() int { + return m.Size() +} +func (m *GrantAuthorization) XXX_DiscardUnknown() { + xxx_messageInfo_GrantAuthorization.DiscardUnknown(m) +} + +var xxx_messageInfo_GrantAuthorization proto.InternalMessageInfo + +func (m *GrantAuthorization) GetGrantee() string { + if m != nil { + return m.Grantee + } + return "" +} + +type ActiveGrant struct { + Granter string `protobuf:"bytes,1,opt,name=granter,proto3" json:"granter,omitempty"` + Amount cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=amount,proto3,customtype=cosmossdk.io/math.Int" json:"amount"` +} + +func (m *ActiveGrant) Reset() { *m = ActiveGrant{} } +func (m *ActiveGrant) String() string { return proto.CompactTextString(m) } +func (*ActiveGrant) ProtoMessage() {} +func (*ActiveGrant) Descriptor() ([]byte, []int) { + return fileDescriptor_2116e2804e9c53f9, []int{49} +} +func (m *ActiveGrant) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ActiveGrant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ActiveGrant.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 *ActiveGrant) XXX_Merge(src proto.Message) { + xxx_messageInfo_ActiveGrant.Merge(m, src) +} +func (m *ActiveGrant) XXX_Size() int { + return m.Size() +} +func (m *ActiveGrant) XXX_DiscardUnknown() { + xxx_messageInfo_ActiveGrant.DiscardUnknown(m) +} + +var xxx_messageInfo_ActiveGrant proto.InternalMessageInfo + +func (m *ActiveGrant) GetGranter() string { + if m != nil { + return m.Granter + } + return "" +} + +type EffectiveGrant struct { + Granter string `protobuf:"bytes,1,opt,name=granter,proto3" json:"granter,omitempty"` + NetGrantedStake cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=net_granted_stake,json=netGrantedStake,proto3,customtype=cosmossdk.io/math.Int" json:"net_granted_stake"` + IsValid bool `protobuf:"varint,3,opt,name=is_valid,json=isValid,proto3" json:"is_valid,omitempty"` +} + +func (m *EffectiveGrant) Reset() { *m = EffectiveGrant{} } +func (m *EffectiveGrant) String() string { return proto.CompactTextString(m) } +func (*EffectiveGrant) ProtoMessage() {} +func (*EffectiveGrant) Descriptor() ([]byte, []int) { + return fileDescriptor_2116e2804e9c53f9, []int{50} +} +func (m *EffectiveGrant) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EffectiveGrant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EffectiveGrant.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 *EffectiveGrant) XXX_Merge(src proto.Message) { + xxx_messageInfo_EffectiveGrant.Merge(m, src) +} +func (m *EffectiveGrant) XXX_Size() int { + return m.Size() +} +func (m *EffectiveGrant) XXX_DiscardUnknown() { + xxx_messageInfo_EffectiveGrant.DiscardUnknown(m) +} + +var xxx_messageInfo_EffectiveGrant proto.InternalMessageInfo + +func (m *EffectiveGrant) GetGranter() string { + if m != nil { + return m.Granter + } + return "" +} + +func (m *EffectiveGrant) GetIsValid() bool { + if m != nil { + return m.IsValid + } + return false +} + func init() { proto.RegisterEnum("injective.exchange.v1beta1.AtomicMarketOrderAccessLevel", AtomicMarketOrderAccessLevel_name, AtomicMarketOrderAccessLevel_value) proto.RegisterEnum("injective.exchange.v1beta1.MarketStatus", MarketStatus_name, MarketStatus_value) @@ -3126,6 +3332,9 @@ func init() { proto.RegisterType((*AggregateAccountVolumeRecord)(nil), "injective.exchange.v1beta1.AggregateAccountVolumeRecord") proto.RegisterType((*MarketVolume)(nil), "injective.exchange.v1beta1.MarketVolume") proto.RegisterType((*DenomDecimals)(nil), "injective.exchange.v1beta1.DenomDecimals") + proto.RegisterType((*GrantAuthorization)(nil), "injective.exchange.v1beta1.GrantAuthorization") + proto.RegisterType((*ActiveGrant)(nil), "injective.exchange.v1beta1.ActiveGrant") + proto.RegisterType((*EffectiveGrant)(nil), "injective.exchange.v1beta1.EffectiveGrant") } func init() { @@ -3133,266 +3342,283 @@ func init() { } var fileDescriptor_2116e2804e9c53f9 = []byte{ - // 4144 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5c, 0x4d, 0x6c, 0x23, 0x59, - 0x5e, 0xef, 0xb2, 0x9d, 0xc4, 0xfe, 0xc7, 0x76, 0xdc, 0x95, 0x74, 0xe2, 0xa4, 0xbb, 0x13, 0x8f, - 0x67, 0x7a, 0x3a, 0xd3, 0xb3, 0x93, 0xde, 0x69, 0x60, 0x35, 0x8c, 0x58, 0xa9, 0x9d, 0xaf, 0x69, - 0xcf, 0xe4, 0x6b, 0xca, 0xee, 0x59, 0x35, 0xab, 0xd9, 0xda, 0x97, 0xaa, 0x97, 0xf8, 0x4d, 0x97, - 0xab, 0xdc, 0xf5, 0x9e, 0xd3, 0xc9, 0x22, 0xa4, 0x15, 0x8b, 0x10, 0x1b, 0x90, 0x06, 0x38, 0x2c, - 0x7b, 0x89, 0xb4, 0x07, 0x2e, 0x70, 0x00, 0x0e, 0x88, 0xcb, 0xc0, 0x99, 0x3d, 0xee, 0x11, 0x21, - 0x58, 0x50, 0xcf, 0x05, 0x71, 0x40, 0x82, 0x1b, 0x42, 0x42, 0xe8, 0x7d, 0xd4, 0x87, 0xed, 0xc4, - 0x49, 0x57, 0xd2, 0x5a, 0x16, 0xed, 0x29, 0x7e, 0x5f, 0xbf, 0xff, 0x7b, 0xff, 0xef, 0xf7, 0x51, - 0x81, 0xb7, 0x88, 0xfb, 0x19, 0xb6, 0x18, 0x39, 0xc0, 0xf7, 0xf1, 0xa1, 0xd5, 0x42, 0xee, 0x3e, - 0xbe, 0x7f, 0xf0, 0xee, 0x2e, 0x66, 0xe8, 0xdd, 0xb0, 0x62, 0xa9, 0xe3, 0x7b, 0xcc, 0xd3, 0xe7, - 0xc2, 0xae, 0x4b, 0x61, 0x8b, 0xea, 0x3a, 0x37, 0xb5, 0xef, 0xed, 0x7b, 0xa2, 0xdb, 0x7d, 0xfe, - 0x4b, 0x8e, 0x98, 0x9b, 0xb7, 0x3c, 0xda, 0xf6, 0xe8, 0xfd, 0x5d, 0x44, 0x23, 0x54, 0xcb, 0x23, - 0xae, 0x6a, 0xbf, 0x13, 0x11, 0xf7, 0x7c, 0x64, 0x39, 0x51, 0x27, 0x59, 0x94, 0xdd, 0xaa, 0x3f, - 0xb8, 0x01, 0xa3, 0x3b, 0xc8, 0x47, 0x6d, 0xaa, 0x63, 0x58, 0xa0, 0x1d, 0x8f, 0x99, 0x6d, 0xe4, - 0x3f, 0xc5, 0xcc, 0x24, 0x2e, 0x65, 0xc8, 0x65, 0xa6, 0x43, 0x28, 0x23, 0xee, 0xbe, 0xb9, 0x87, - 0x71, 0x59, 0xab, 0x68, 0x8b, 0xe3, 0x0f, 0x66, 0x97, 0x24, 0xed, 0x25, 0x4e, 0x3b, 0x98, 0xe6, - 0xd2, 0x8a, 0x47, 0xdc, 0xe5, 0xcc, 0x8f, 0x7f, 0xba, 0x70, 0xcd, 0xb8, 0xc9, 0x71, 0x36, 0x05, - 0x4c, 0x5d, 0xa2, 0x6c, 0x48, 0x90, 0x75, 0x8c, 0xf5, 0x67, 0x70, 0xc7, 0xc6, 0x3e, 0x39, 0x40, - 0x7c, 0x6e, 0xc3, 0x88, 0xa5, 0x2e, 0x46, 0xec, 0xb5, 0x08, 0xed, 0x2c, 0x92, 0x0e, 0xdc, 0xb4, - 0xf1, 0x1e, 0xea, 0x3a, 0xcc, 0x54, 0x2b, 0x7c, 0x8a, 0x7d, 0x4e, 0xc3, 0xf4, 0x11, 0xc3, 0xe5, - 0x74, 0x45, 0x5b, 0xcc, 0x2d, 0x2f, 0x71, 0xb4, 0x7f, 0xf8, 0xe9, 0xc2, 0x9b, 0xfb, 0x84, 0xb5, - 0xba, 0xbb, 0x4b, 0x96, 0xd7, 0xbe, 0xaf, 0x78, 0x2c, 0xff, 0xbc, 0x43, 0xed, 0xa7, 0xf7, 0xd9, - 0x51, 0x07, 0xd3, 0xa5, 0x55, 0x6c, 0x19, 0x33, 0x0a, 0xb2, 0x21, 0xd6, 0xfa, 0x14, 0xfb, 0xeb, - 0x18, 0x1b, 0x88, 0x0d, 0x52, 0x63, 0xbd, 0xd4, 0x32, 0x97, 0xa6, 0xd6, 0x8c, 0x53, 0x3b, 0x84, - 0xd7, 0x02, 0x6a, 0x3d, 0x6c, 0xed, 0xa1, 0x39, 0x92, 0x88, 0xe6, 0x6d, 0x05, 0xbc, 0x1a, 0x63, - 0xf0, 0xb9, 0x94, 0xfb, 0x56, 0x3b, 0x7a, 0x45, 0x94, 0x7b, 0xd6, 0xec, 0xc1, 0xad, 0x80, 0x32, - 0x71, 0x09, 0x23, 0xc8, 0xe1, 0x7a, 0xb4, 0x4f, 0x5c, 0x4e, 0x93, 0x78, 0xe5, 0xb1, 0x44, 0x44, - 0x67, 0x15, 0x66, 0x5d, 0x42, 0x6e, 0x0a, 0x44, 0x83, 0x03, 0xea, 0xcf, 0xa1, 0x12, 0x10, 0x6c, - 0x23, 0xe2, 0x32, 0xec, 0x22, 0xd7, 0xc2, 0xbd, 0x44, 0xb3, 0x97, 0x5a, 0xe9, 0x66, 0x04, 0x1b, - 0x27, 0xfc, 0x1e, 0x94, 0x03, 0xc2, 0x7b, 0x5d, 0xd7, 0xe6, 0xa6, 0xc1, 0xfb, 0xf9, 0x07, 0xc8, - 0x29, 0xe7, 0x2a, 0xda, 0x62, 0xda, 0x98, 0x56, 0xed, 0xeb, 0xb2, 0xb9, 0xae, 0x5a, 0xf5, 0xb7, - 0xa0, 0x14, 0x8c, 0x68, 0x77, 0x1d, 0x46, 0x3a, 0x0e, 0x2e, 0x83, 0x18, 0x31, 0xa1, 0xea, 0x37, - 0x55, 0xb5, 0x6e, 0xc1, 0xb4, 0x8f, 0x1d, 0x74, 0xa4, 0xe4, 0x46, 0x5b, 0xc8, 0x57, 0xd2, 0x1b, - 0x4f, 0xb4, 0xa6, 0x49, 0x85, 0xb6, 0x8e, 0x71, 0x83, 0x63, 0x09, 0x99, 0x31, 0x58, 0x08, 0x56, - 0xd2, 0xf2, 0xba, 0xbe, 0x73, 0x14, 0x2e, 0x88, 0x53, 0x32, 0x2d, 0xd4, 0x29, 0xe7, 0x13, 0x51, - 0x0b, 0x8c, 0xed, 0x91, 0x40, 0x55, 0x6c, 0xe0, 0x24, 0x57, 0x50, 0x27, 0xae, 0x29, 0x8a, 0xaa, - 0x60, 0x1f, 0xa6, 0x4c, 0x2e, 0xb0, 0x70, 0x29, 0x4d, 0x91, 0x24, 0xeb, 0x0a, 0x51, 0x2c, 0x73, - 0x15, 0x16, 0xda, 0xe8, 0x30, 0x6e, 0x10, 0x9e, 0x6f, 0x63, 0xdf, 0xa4, 0xc4, 0xc6, 0xa6, 0xe5, - 0x75, 0x5d, 0x56, 0x2e, 0x56, 0xb4, 0xc5, 0x82, 0x71, 0xb3, 0x8d, 0x0e, 0x23, 0xf5, 0xde, 0xe6, - 0x9d, 0x1a, 0xc4, 0xc6, 0x2b, 0xbc, 0x8b, 0xfe, 0xdb, 0x1a, 0xdc, 0x25, 0xee, 0x67, 0xa6, 0x8f, - 0x9f, 0x23, 0xdf, 0x36, 0x29, 0x37, 0x2a, 0xdb, 0xf4, 0xf1, 0xb3, 0x2e, 0xf1, 0x71, 0x1b, 0xbb, - 0xcc, 0x64, 0x2d, 0x1f, 0xd3, 0x96, 0xe7, 0xd8, 0xe5, 0x89, 0x97, 0x5e, 0x42, 0xdd, 0x65, 0xc6, - 0xeb, 0xc4, 0xfd, 0xcc, 0x10, 0xe8, 0x0d, 0x01, 0x6e, 0x44, 0xd8, 0xcd, 0x00, 0x5a, 0xff, 0x00, - 0x2a, 0xcc, 0x47, 0x52, 0x48, 0xa2, 0x2f, 0x35, 0x0f, 0xb0, 0x74, 0xd0, 0x76, 0x57, 0x68, 0xbd, - 0x5b, 0x2e, 0x09, 0x9d, 0xba, 0xad, 0xfa, 0x49, 0x48, 0xfa, 0x89, 0xec, 0xb5, 0xaa, 0x3a, 0x71, - 0x31, 0x38, 0xe4, 0x59, 0x97, 0xd8, 0x88, 0x79, 0x7e, 0xb8, 0xaa, 0x48, 0xcf, 0xae, 0x27, 0x13, - 0x43, 0x84, 0xa9, 0x96, 0x12, 0x6a, 0xdb, 0x21, 0xbc, 0xb5, 0x4b, 0x5c, 0xe4, 0x1f, 0x99, 0x5e, - 0x87, 0xcf, 0x80, 0x0e, 0x0b, 0x34, 0xfa, 0xc5, 0x02, 0xcd, 0x1b, 0x12, 0x71, 0x5b, 0x02, 0x9e, - 0x15, 0x6b, 0xbe, 0xab, 0x41, 0x05, 0x31, 0xaf, 0x4d, 0xac, 0x80, 0xa4, 0x54, 0x00, 0x64, 0x59, - 0x98, 0x52, 0xd3, 0xc1, 0x07, 0xd8, 0x29, 0x4f, 0x56, 0xb4, 0xc5, 0xe2, 0x83, 0xf7, 0x96, 0xce, - 0x8e, 0xfa, 0x4b, 0x35, 0x81, 0x21, 0xa9, 0x08, 0xed, 0xa8, 0x09, 0x80, 0x0d, 0x3e, 0xde, 0xb8, - 0x85, 0x86, 0xb4, 0xea, 0xdf, 0xd3, 0xe0, 0xae, 0x88, 0x3c, 0xa7, 0xcd, 0x83, 0x5b, 0xb8, 0x72, - 0x08, 0x04, 0xfb, 0xe5, 0xa9, 0x44, 0x9c, 0xaf, 0x72, 0xf8, 0x81, 0x19, 0xae, 0x63, 0xbc, 0x19, - 0x22, 0xeb, 0x9f, 0x6b, 0xf0, 0x4e, 0xcc, 0x0c, 0x2e, 0x30, 0x97, 0x1b, 0x89, 0xe6, 0xb2, 0x18, - 0x11, 0x39, 0x67, 0x46, 0x3f, 0xd0, 0xe0, 0xdd, 0x3e, 0xad, 0xb8, 0xc0, 0xac, 0xa6, 0x13, 0xcd, - 0xea, 0xed, 0x1e, 0x65, 0x39, 0x67, 0x62, 0x04, 0x66, 0xdb, 0xc4, 0x25, 0x6d, 0xe4, 0x98, 0x22, - 0x2b, 0xb3, 0x3c, 0x27, 0x8a, 0xa0, 0x33, 0x89, 0xe8, 0x4f, 0x2b, 0xc0, 0x1d, 0x85, 0x17, 0x84, - 0xce, 0x6f, 0xc2, 0xdb, 0x84, 0x86, 0x56, 0x30, 0x98, 0x88, 0x39, 0xa8, 0xeb, 0x5a, 0x2d, 0x13, - 0xbb, 0x68, 0xd7, 0xc1, 0x76, 0xb9, 0x5c, 0xd1, 0x16, 0xb3, 0xc6, 0x9b, 0x84, 0x2a, 0x45, 0x5f, - 0xed, 0xcb, 0xb5, 0x36, 0x44, 0xf7, 0x35, 0xd9, 0x9b, 0x3b, 0xbf, 0x8e, 0x47, 0x99, 0xe9, 0xb9, - 0xce, 0x91, 0xd9, 0xf6, 0x6c, 0x6c, 0xb6, 0x30, 0xd9, 0x6f, 0xc5, 0xbd, 0xd5, 0xac, 0x70, 0x17, - 0x37, 0x79, 0xb7, 0x6d, 0xd7, 0x39, 0xda, 0xf4, 0x6c, 0xfc, 0x48, 0xf4, 0x09, 0xbd, 0xce, 0xfb, - 0x99, 0x7f, 0xfd, 0xd1, 0x82, 0x56, 0xfd, 0x5c, 0x83, 0x49, 0x49, 0xa3, 0x97, 0x57, 0x37, 0x21, - 0x17, 0x98, 0xb2, 0x2d, 0xf2, 0xd1, 0x9c, 0x91, 0x95, 0x15, 0x75, 0x5b, 0x7f, 0x0c, 0xc5, 0x3e, - 0xe9, 0xa5, 0x12, 0x71, 0xaf, 0xb0, 0x17, 0xa7, 0xf9, 0x7e, 0xe6, 0x77, 0x7f, 0xb4, 0x70, 0xad, - 0xfa, 0xe7, 0x59, 0x28, 0xf5, 0xaf, 0x5f, 0x9f, 0x86, 0x51, 0x46, 0xac, 0xa7, 0xd8, 0x57, 0x73, - 0x51, 0x25, 0x7d, 0x01, 0xc6, 0x65, 0x9e, 0x6d, 0x72, 0x77, 0x22, 0xa7, 0x61, 0x80, 0xac, 0x5a, - 0x46, 0x14, 0xeb, 0xaf, 0x41, 0x5e, 0x75, 0x78, 0xd6, 0xf5, 0x82, 0x24, 0xd4, 0x50, 0x83, 0x3e, - 0xe6, 0x55, 0xfa, 0x5a, 0x88, 0xc1, 0x67, 0x26, 0x12, 0xc7, 0xe2, 0x83, 0x37, 0x62, 0x4e, 0x43, - 0x65, 0xf2, 0x81, 0xcb, 0xd8, 0x16, 0xc5, 0xe6, 0x51, 0x07, 0x07, 0x94, 0xf8, 0x6f, 0x7d, 0x09, - 0x26, 0x15, 0x0c, 0xb5, 0x90, 0x83, 0xcd, 0x3d, 0x64, 0x31, 0xcf, 0x17, 0x39, 0x61, 0xc1, 0xb8, - 0x2e, 0x9b, 0x1a, 0xbc, 0x65, 0x5d, 0x34, 0xf0, 0xa9, 0x8b, 0x29, 0x99, 0x36, 0x76, 0xbd, 0xb6, - 0xcc, 0xe0, 0x0c, 0x10, 0x55, 0xab, 0xbc, 0xa6, 0x57, 0x04, 0x63, 0x7d, 0x22, 0xf8, 0x36, 0x4c, - 0x9d, 0x9a, 0x93, 0x25, 0x4b, 0x8f, 0x74, 0x32, 0x98, 0x8c, 0xb5, 0xa0, 0x7c, 0x66, 0x12, 0x96, - 0x4b, 0x68, 0x2c, 0xa7, 0x67, 0x5f, 0x4d, 0x28, 0xf6, 0x25, 0xd2, 0x90, 0x08, 0x3f, 0xdf, 0x8e, - 0x67, 0xaf, 0x4d, 0x28, 0xf6, 0x25, 0xc9, 0xc9, 0xd2, 0xac, 0x3c, 0x8b, 0xa3, 0x9e, 0x9d, 0xc4, - 0xe5, 0xaf, 0x2e, 0x89, 0xab, 0xc0, 0x38, 0xa1, 0x3b, 0xd8, 0xef, 0x60, 0xd6, 0x45, 0x8e, 0xc8, - 0x9e, 0xb2, 0x46, 0xbc, 0x4a, 0x7f, 0x08, 0xa3, 0x94, 0x21, 0xd6, 0xa5, 0x22, 0xcd, 0x29, 0x3e, - 0x58, 0x1c, 0x16, 0xe3, 0xa4, 0x0d, 0x35, 0x44, 0x7f, 0x43, 0x8d, 0xd3, 0x3f, 0x85, 0xc9, 0x36, - 0x71, 0xcd, 0x8e, 0x4f, 0x2c, 0x6c, 0x72, 0x6b, 0x32, 0x29, 0xf9, 0x0e, 0x4e, 0x90, 0xe6, 0xf0, - 0x55, 0x94, 0xda, 0xc4, 0xdd, 0xe1, 0x48, 0x4d, 0x62, 0x3d, 0x6d, 0x90, 0xef, 0x08, 0x3e, 0x71, - 0xf8, 0x67, 0x5d, 0xe4, 0x32, 0xc2, 0x8e, 0x62, 0x14, 0x4a, 0xc9, 0xf8, 0xd4, 0x26, 0xee, 0xc7, - 0x0a, 0x2c, 0x20, 0xa2, 0x1c, 0xc6, 0x9f, 0x64, 0x61, 0x72, 0x79, 0x30, 0x67, 0x38, 0xd3, 0x67, - 0xbc, 0x0e, 0x85, 0xc0, 0x50, 0x8f, 0xda, 0xbb, 0x9e, 0xa3, 0xbc, 0x86, 0xf2, 0x13, 0x0d, 0x51, - 0xa7, 0xdf, 0x85, 0x09, 0xd5, 0xa9, 0xe3, 0x7b, 0x07, 0xc4, 0xc6, 0xbe, 0x72, 0x1d, 0x45, 0x59, - 0xbd, 0xa3, 0x6a, 0x7f, 0x56, 0xde, 0xe3, 0x5d, 0x98, 0xc2, 0x87, 0x1d, 0x22, 0x13, 0x3f, 0x93, - 0x91, 0x36, 0xa6, 0x0c, 0xb5, 0x3b, 0xc2, 0x8d, 0xa4, 0x8d, 0xc9, 0xa8, 0xad, 0x19, 0x34, 0xf1, - 0x21, 0x14, 0x33, 0xe6, 0xa8, 0xcc, 0x36, 0x1c, 0x32, 0x26, 0x87, 0x44, 0x6d, 0xd1, 0x90, 0x29, - 0x18, 0x41, 0x76, 0x9b, 0xb8, 0xd2, 0xad, 0x18, 0xb2, 0xd0, 0xef, 0xb9, 0x72, 0xc3, 0x3d, 0x17, - 0xf4, 0x79, 0xae, 0x41, 0x6b, 0x1f, 0x7f, 0x25, 0xd6, 0x9e, 0x7f, 0xa5, 0xd6, 0x5e, 0xb8, 0x3a, - 0x6b, 0xff, 0x85, 0x2d, 0x73, 0x22, 0x4f, 0xa0, 0x14, 0xd3, 0x4e, 0xb1, 0x94, 0xd8, 0x7e, 0x45, - 0x7b, 0x09, 0xf8, 0x89, 0x08, 0x47, 0xac, 0x43, 0xb9, 0x89, 0xff, 0x4e, 0xc1, 0xcc, 0x1a, 0x37, - 0x8b, 0xa3, 0xf5, 0x2e, 0xeb, 0xfa, 0x38, 0xdc, 0x5a, 0xec, 0x79, 0xc3, 0xb3, 0x9d, 0xb3, 0x4c, - 0x2d, 0x75, 0xb6, 0xa9, 0x7d, 0x15, 0xa6, 0xd8, 0x73, 0xd4, 0xe1, 0x3b, 0x4a, 0x3f, 0x6e, 0x6a, - 0x69, 0x31, 0x44, 0xe7, 0x6d, 0x0d, 0xde, 0x14, 0x8d, 0xf8, 0x2d, 0x0d, 0xde, 0x8c, 0x53, 0x89, - 0x46, 0x4b, 0xa9, 0x5a, 0xdd, 0x76, 0xd7, 0x11, 0x19, 0x51, 0xc2, 0x93, 0xad, 0x6a, 0x6c, 0x9e, - 0x01, 0x79, 0xc1, 0x9e, 0x95, 0x10, 0xf9, 0x54, 0x19, 0x24, 0x3b, 0xd3, 0xea, 0x97, 0x41, 0xf5, - 0x1f, 0x53, 0x30, 0x19, 0x86, 0xaf, 0x8b, 0x72, 0x1e, 0xc3, 0xcc, 0x59, 0x87, 0x18, 0xc9, 0x12, - 0xce, 0xa9, 0xd6, 0x69, 0xa7, 0x17, 0xdf, 0x86, 0xa9, 0x53, 0x4f, 0x2d, 0x92, 0x1d, 0x58, 0xea, - 0xad, 0xc1, 0xe3, 0x8a, 0x5f, 0x86, 0x69, 0x17, 0x1f, 0x46, 0x87, 0x4b, 0x91, 0x46, 0x64, 0x84, - 0x46, 0x4c, 0xf1, 0x56, 0x35, 0xab, 0x48, 0x27, 0x62, 0x67, 0x4b, 0xe1, 0x69, 0xd4, 0x48, 0xcf, - 0xd9, 0x52, 0x70, 0x0c, 0x55, 0xfd, 0x2f, 0x0d, 0xa6, 0xfb, 0xd8, 0xab, 0xe0, 0xf4, 0x4f, 0x41, - 0x8f, 0x94, 0x27, 0x98, 0x81, 0x64, 0xf5, 0x4b, 0xaf, 0xed, 0x7a, 0x84, 0x14, 0xc0, 0x3f, 0x81, - 0x52, 0x0c, 0x5e, 0xea, 0x4c, 0x32, 0xe1, 0x4c, 0x44, 0x38, 0x42, 0x67, 0xf4, 0x3b, 0x50, 0x74, - 0x10, 0x1d, 0xb4, 0x9f, 0x02, 0xaf, 0x0d, 0xd9, 0x54, 0xfd, 0xa1, 0x06, 0xf3, 0xfd, 0x1b, 0x86, - 0x46, 0xa8, 0x7e, 0xe7, 0x6b, 0xd9, 0x69, 0x5a, 0x9f, 0xba, 0x1a, 0xad, 0xff, 0x3a, 0x4c, 0x6d, - 0x9d, 0x26, 0xd9, 0x3b, 0x50, 0x14, 0xfa, 0x10, 0xad, 0x4c, 0x93, 0x2b, 0xe3, 0xb5, 0xd1, 0xca, - 0x7e, 0x2f, 0x05, 0xc5, 0x4d, 0x62, 0x0b, 0xac, 0x9a, 0x6b, 0x37, 0xb7, 0x97, 0xf5, 0x8f, 0x20, - 0xd7, 0x26, 0xb6, 0x9a, 0xa5, 0x96, 0xc8, 0x3f, 0x66, 0xdb, 0x0a, 0x92, 0x07, 0xcd, 0x5d, 0xae, - 0xed, 0xbb, 0xdd, 0xa3, 0x81, 0x75, 0xbf, 0x0c, 0x62, 0x9e, 0xa3, 0x2c, 0x77, 0x8f, 0x24, 0xea, - 0x27, 0x30, 0x21, 0x50, 0x29, 0x76, 0x1c, 0x05, 0x9b, 0x4e, 0x04, 0x5b, 0xe0, 0x30, 0x0d, 0xec, - 0x38, 0x92, 0x99, 0x3f, 0x1c, 0x01, 0x68, 0x84, 0x37, 0x1e, 0x67, 0xa6, 0x77, 0xb7, 0x01, 0xf8, - 0x5e, 0x50, 0x25, 0x27, 0x32, 0xb7, 0xcb, 0xf1, 0x1a, 0x99, 0x9b, 0xf4, 0x25, 0x2f, 0xe9, 0x81, - 0xe4, 0x65, 0x30, 0x3f, 0xc9, 0xbc, 0x92, 0xfc, 0x64, 0xe4, 0x95, 0xe6, 0x27, 0xa3, 0x57, 0x97, - 0x9f, 0x0c, 0xdd, 0x87, 0x46, 0xc9, 0x4b, 0xf6, 0x6a, 0x93, 0x97, 0xdc, 0x2b, 0x4f, 0x5e, 0xe0, - 0xca, 0x92, 0x97, 0xea, 0x17, 0x1a, 0x8c, 0xad, 0xe2, 0x8e, 0x47, 0x09, 0xd3, 0xbf, 0x09, 0xd7, - 0xd1, 0x01, 0x22, 0x0e, 0xda, 0x15, 0xa7, 0x12, 0x0e, 0xdf, 0xed, 0x26, 0x74, 0xb7, 0xa5, 0x10, - 0x68, 0x59, 0xe2, 0xe8, 0x0d, 0x28, 0x30, 0x8f, 0x21, 0x27, 0x04, 0x4e, 0x25, 0xd4, 0x22, 0x0e, - 0xa2, 0x40, 0xab, 0x5f, 0x81, 0xa9, 0x46, 0x77, 0x17, 0x59, 0xe2, 0xdc, 0xbc, 0xe9, 0x23, 0x1b, - 0x6f, 0x79, 0x9c, 0xd8, 0x14, 0x8c, 0xb8, 0x5e, 0x30, 0xfb, 0x82, 0x21, 0x0b, 0x3c, 0xd4, 0xe4, - 0xc4, 0xe1, 0x9a, 0xf0, 0xac, 0xaf, 0x43, 0x81, 0x86, 0x63, 0x23, 0xef, 0x9a, 0x8f, 0x2a, 0xeb, - 0x36, 0xef, 0x24, 0xd4, 0x1e, 0x5b, 0xa4, 0x43, 0xb0, 0xcb, 0x82, 0x1d, 0xd7, 0x1e, 0xc6, 0x46, - 0x50, 0xa7, 0xaf, 0xc2, 0x48, 0xbf, 0xb3, 0x78, 0x99, 0x25, 0xc9, 0xc1, 0xfa, 0x87, 0x90, 0x0d, - 0x44, 0x9d, 0xd0, 0x6e, 0xc3, 0xf1, 0x7a, 0x09, 0xd2, 0x16, 0xb1, 0xa5, 0xa1, 0x1a, 0xfc, 0x67, - 0xf5, 0xf3, 0x14, 0xe4, 0xb8, 0x0b, 0x12, 0xeb, 0x1f, 0x1e, 0x55, 0x3e, 0x04, 0x90, 0xe7, 0x9c, - 0xc4, 0xdd, 0xf3, 0xd4, 0x25, 0xeb, 0x9d, 0x61, 0xc6, 0x11, 0xf2, 0x54, 0x9d, 0x83, 0xe7, 0xbc, - 0x90, 0xc9, 0xab, 0x01, 0x96, 0xd8, 0x62, 0xa6, 0x85, 0xa1, 0x9d, 0x8f, 0x25, 0xf6, 0x98, 0x12, - 0x45, 0x6c, 0x31, 0xb9, 0xee, 0xf8, 0x64, 0x7f, 0x1f, 0xfb, 0xca, 0x2b, 0x67, 0x92, 0x39, 0x7b, - 0x05, 0x22, 0x9d, 0xf2, 0x8b, 0x14, 0x14, 0x39, 0x47, 0x36, 0x48, 0x9b, 0x28, 0xb6, 0xf4, 0xae, - 0x5c, 0xbb, 0xc2, 0x95, 0xa7, 0x12, 0xae, 0xfc, 0x43, 0xc8, 0xee, 0x11, 0x47, 0x18, 0x52, 0x42, - 0xed, 0x0a, 0xc7, 0xbf, 0x12, 0x2e, 0xf2, 0x98, 0x25, 0x97, 0xd9, 0x42, 0xb4, 0x25, 0x14, 0x2e, - 0xaf, 0xe6, 0xff, 0x08, 0xd1, 0x56, 0xf5, 0xdf, 0x52, 0x30, 0x11, 0x45, 0xbe, 0xab, 0xe7, 0xf2, - 0xc7, 0x90, 0x57, 0xfe, 0xc4, 0x14, 0xa7, 0xc7, 0xc9, 0x9c, 0xca, 0xb8, 0xc2, 0x78, 0xe4, 0x39, - 0x76, 0xdf, 0x8a, 0xd2, 0x7d, 0x2b, 0xea, 0x93, 0x6b, 0xe6, 0xaa, 0x34, 0x7a, 0xe4, 0x0a, 0x34, - 0xfa, 0x9f, 0x52, 0x30, 0xd1, 0x77, 0x63, 0xf8, 0xf3, 0x66, 0xe9, 0xeb, 0x30, 0x2a, 0x8f, 0x6b, - 0x13, 0xba, 0x40, 0x35, 0xfa, 0xd5, 0xf0, 0xf7, 0x8f, 0x32, 0x70, 0x33, 0x0a, 0x37, 0x62, 0xfe, - 0xbb, 0x9e, 0xf7, 0x74, 0x13, 0x33, 0x64, 0x23, 0x86, 0xf4, 0x5f, 0x85, 0xd9, 0x03, 0xe4, 0x72, - 0x73, 0x33, 0x1d, 0xee, 0x54, 0xd4, 0x75, 0x91, 0xbc, 0xd4, 0x95, 0x91, 0x68, 0x5a, 0x75, 0x88, - 0x9c, 0x8e, 0xbc, 0xcf, 0x7d, 0x08, 0xb7, 0x7d, 0x6c, 0x77, 0x2d, 0x2c, 0xaf, 0x46, 0x06, 0x87, - 0xa7, 0xc4, 0xf0, 0x59, 0xd9, 0x69, 0xdb, 0x75, 0x8e, 0xfa, 0x11, 0x28, 0xcc, 0xa3, 0xfd, 0x7d, - 0x1f, 0xef, 0xf3, 0x7d, 0x66, 0x1c, 0x2b, 0x0c, 0x2a, 0xc9, 0xfc, 0xc7, 0xcd, 0x10, 0xd5, 0x08, - 0x69, 0x07, 0x59, 0x84, 0xee, 0xc0, 0x5c, 0x44, 0x34, 0x58, 0xfb, 0x25, 0xa3, 0x58, 0x39, 0x44, - 0xfc, 0x44, 0x02, 0x86, 0xd4, 0xd6, 0x60, 0x21, 0xa0, 0x61, 0x79, 0xae, 0x4d, 0x18, 0xf1, 0x5c, - 0xe4, 0xf4, 0xb0, 0x49, 0x9e, 0x3a, 0xde, 0x52, 0xdd, 0x56, 0xa2, 0x5e, 0x31, 0x4e, 0x6d, 0xc0, - 0xeb, 0x71, 0xfe, 0x9c, 0x05, 0x35, 0x2a, 0xa0, 0x16, 0x22, 0x8e, 0x9f, 0x8a, 0x56, 0xfd, 0x3b, - 0x0d, 0x26, 0xfa, 0x94, 0x22, 0x4a, 0x08, 0xb4, 0xab, 0x4a, 0x08, 0x52, 0x97, 0x4c, 0x08, 0xaa, - 0x90, 0x27, 0x34, 0x12, 0xa0, 0xd0, 0x85, 0xac, 0xd1, 0x53, 0x57, 0x7d, 0x0e, 0x93, 0x7d, 0x0b, - 0x59, 0xe5, 0x5a, 0x5d, 0x83, 0x11, 0xc1, 0x16, 0xe5, 0xa9, 0xdf, 0x1e, 0x66, 0xd3, 0x7d, 0xe3, - 0x0d, 0x39, 0xb2, 0xcf, 0xa5, 0xa6, 0xfa, 0x83, 0xc4, 0x5f, 0xa6, 0x61, 0x2a, 0xf2, 0x5b, 0xff, - 0xa7, 0xe3, 0x71, 0xe4, 0x9f, 0xd2, 0x97, 0xf2, 0x4f, 0xf1, 0xb8, 0x9e, 0xb9, 0xea, 0xb8, 0x3e, - 0x72, 0xe5, 0x71, 0x7d, 0xb4, 0x5f, 0x64, 0x7f, 0x9d, 0x86, 0x1b, 0xfd, 0x27, 0x17, 0xff, 0xdf, - 0x65, 0xb6, 0x0d, 0xe3, 0xea, 0x2a, 0x51, 0xa4, 0x1a, 0xc9, 0xc4, 0x06, 0x12, 0x42, 0x64, 0x1a, - 0x3f, 0x0b, 0xc1, 0xfd, 0x47, 0x0a, 0xb2, 0x3b, 0x7c, 0xb7, 0x47, 0x3c, 0x57, 0x9f, 0x86, 0x51, - 0x42, 0x37, 0x3c, 0x75, 0xa8, 0x96, 0x35, 0x54, 0xe9, 0x4a, 0x3d, 0xcf, 0x36, 0x8c, 0x63, 0x97, - 0xf9, 0x47, 0xe6, 0x65, 0xb6, 0x48, 0x20, 0x20, 0xe4, 0x02, 0xaf, 0x2a, 0x45, 0x68, 0x41, 0x79, - 0xf0, 0x74, 0xd1, 0x14, 0x84, 0x12, 0x9e, 0x70, 0x4c, 0x0f, 0x9c, 0x31, 0xae, 0x71, 0xb4, 0x6a, - 0x1d, 0xa6, 0x62, 0x16, 0x52, 0x77, 0x6d, 0x62, 0x21, 0xe6, 0x9d, 0x93, 0x9b, 0x4d, 0xc1, 0x08, - 0xa1, 0xcb, 0x5d, 0x29, 0x80, 0xac, 0x21, 0x0b, 0xd5, 0x7f, 0x4f, 0x41, 0x56, 0xec, 0x73, 0x37, - 0xbc, 0x5e, 0x31, 0x69, 0x97, 0x14, 0x53, 0x18, 0xb2, 0x52, 0x97, 0x09, 0x59, 0x03, 0x7b, 0x6a, - 0x99, 0x3e, 0xf7, 0xee, 0xa9, 0x1f, 0x42, 0x7a, 0x0f, 0x27, 0x75, 0x7b, 0x7c, 0xe8, 0x39, 0x9b, - 0x0e, 0xfd, 0x3d, 0xb8, 0xd1, 0xb3, 0x69, 0x37, 0x91, 0x6d, 0xfb, 0x98, 0x52, 0x69, 0x0d, 0xc2, - 0xcd, 0x68, 0xc6, 0x64, 0x7c, 0x0b, 0x5f, 0x93, 0x1d, 0x82, 0x7d, 0xf3, 0x58, 0xb4, 0x6f, 0xfe, - 0x22, 0x05, 0x85, 0xc0, 0x5e, 0x56, 0xb1, 0xc3, 0x90, 0x3e, 0x03, 0x63, 0x84, 0x9a, 0xce, 0xa0, - 0xd5, 0x7c, 0x0a, 0x3a, 0x3e, 0xc4, 0x56, 0x57, 0x5c, 0x83, 0x5c, 0xd2, 0x7e, 0xae, 0x87, 0x48, - 0x61, 0xf6, 0xf3, 0x04, 0x4a, 0x11, 0xfc, 0xa5, 0x1c, 0xda, 0x44, 0x88, 0x23, 0xdf, 0x32, 0xe8, - 0xdf, 0x80, 0xa8, 0x6a, 0x60, 0x6f, 0xf8, 0x32, 0xc8, 0xc5, 0x10, 0x46, 0x66, 0xcc, 0xdf, 0x4d, - 0x83, 0x1e, 0x7b, 0xa2, 0x1b, 0x28, 0xee, 0xa9, 0x47, 0x2f, 0xfd, 0x6a, 0xb2, 0x03, 0xc5, 0x8e, - 0x62, 0xbc, 0x69, 0x73, 0xce, 0xab, 0x0d, 0xca, 0x5b, 0xc3, 0x02, 0x40, 0x8f, 0xa8, 0x8c, 0x42, - 0xa7, 0x47, 0x72, 0xeb, 0x30, 0xda, 0x41, 0x47, 0x5e, 0x97, 0x25, 0x0d, 0x04, 0x72, 0xf4, 0xcf, - 0x97, 0x02, 0xff, 0x06, 0xe8, 0x51, 0x56, 0x16, 0x7a, 0xfe, 0x87, 0x90, 0x0d, 0x78, 0xa3, 0x62, - 0xf4, 0x1b, 0x17, 0x61, 0xab, 0x11, 0x8e, 0x1a, 0x94, 0x61, 0x6a, 0x50, 0x86, 0xd5, 0xe7, 0x70, - 0x3d, 0x22, 0x1e, 0x1c, 0x33, 0x5e, 0x48, 0xfa, 0x5f, 0x87, 0x31, 0x5b, 0xf6, 0x57, 0x62, 0x7f, - 0x7d, 0xd8, 0xfc, 0x14, 0xb4, 0x11, 0x8c, 0xa9, 0x76, 0xa0, 0xa0, 0xea, 0x1e, 0x77, 0x6c, 0xc4, - 0xc4, 0x89, 0xa0, 0x3c, 0x36, 0x97, 0x7e, 0x56, 0x16, 0xf4, 0x3a, 0x64, 0xd5, 0x08, 0x5a, 0x4e, - 0x55, 0xd2, 0x8b, 0xe3, 0x0f, 0xde, 0xb9, 0x58, 0x7a, 0x1b, 0x10, 0x0c, 0x87, 0x57, 0x5f, 0x68, - 0x50, 0xda, 0xf1, 0x88, 0xcb, 0x68, 0xec, 0x2d, 0xda, 0x1e, 0xcc, 0xc8, 0x13, 0xf9, 0x8e, 0x68, - 0x89, 0xbf, 0x3b, 0x4b, 0xe6, 0xb0, 0x6f, 0x08, 0xb8, 0xd3, 0xe8, 0xb0, 0x33, 0xe8, 0x24, 0xf3, - 0x3f, 0x37, 0xd8, 0x69, 0x74, 0xaa, 0xff, 0x93, 0x82, 0xf9, 0x66, 0xfc, 0x21, 0xef, 0x0a, 0x6a, - 0x77, 0x10, 0xd9, 0x77, 0x97, 0x3d, 0x8f, 0xca, 0x0b, 0xab, 0x5f, 0x81, 0x99, 0x5d, 0x5e, 0xc0, - 0xb6, 0xd9, 0xf3, 0xb1, 0x88, 0x4d, 0xcb, 0x5a, 0x25, 0xbd, 0x98, 0x33, 0xa6, 0x54, 0x73, 0x74, - 0x2c, 0x54, 0xb7, 0xa9, 0xfe, 0x19, 0xcc, 0xc4, 0xbb, 0x47, 0x0b, 0x08, 0x04, 0xf3, 0x95, 0xe1, - 0xfa, 0xd9, 0x3b, 0x51, 0x95, 0x4a, 0xde, 0x88, 0x3e, 0x33, 0x89, 0xda, 0xa8, 0x5e, 0x83, 0xdb, - 0xc1, 0x14, 0x4f, 0xf9, 0xd0, 0xc4, 0xa6, 0xe5, 0xb4, 0x98, 0xe8, 0x9c, 0xea, 0xd4, 0x9f, 0xe7, - 0xf2, 0xe9, 0x1e, 0xc0, 0xed, 0xc1, 0xa1, 0xf1, 0x49, 0x67, 0x12, 0x4f, 0xfa, 0x66, 0xff, 0xe7, - 0x2a, 0xb1, 0xa9, 0x57, 0xff, 0x46, 0x03, 0x3d, 0xe0, 0xb9, 0x94, 0xc0, 0x8e, 0x27, 0xdf, 0xfc, - 0xf4, 0x5f, 0xd8, 0xcb, 0x6b, 0xb9, 0x22, 0xed, 0xbd, 0xac, 0xff, 0x4d, 0x98, 0x6a, 0xa3, 0x43, - 0xd3, 0x52, 0x10, 0xc1, 0xab, 0x6d, 0xc5, 0xe3, 0x21, 0x2f, 0x9c, 0xbf, 0xca, 0xe7, 0xf6, 0x67, - 0xff, 0xbc, 0xb0, 0x78, 0x01, 0x05, 0xe2, 0x03, 0xa8, 0xa1, 0xb7, 0xd1, 0x61, 0xef, 0x54, 0x69, - 0xf5, 0x4f, 0x53, 0x30, 0x7b, 0xaa, 0xfe, 0x08, 0xd5, 0x79, 0x1f, 0x66, 0xc3, 0x89, 0x05, 0xcf, - 0xc7, 0x4d, 0x8a, 0xf9, 0x06, 0x9d, 0xaa, 0xf5, 0xcc, 0x04, 0x1d, 0x82, 0x97, 0xe3, 0x0d, 0xd9, - 0xac, 0xbf, 0x06, 0xf9, 0xd8, 0xe5, 0x98, 0x5c, 0x50, 0xce, 0x18, 0x8f, 0x6e, 0xc7, 0xa8, 0xde, - 0x85, 0xd9, 0xde, 0xc7, 0xea, 0xa6, 0x10, 0xb0, 0xdc, 0xa8, 0xa4, 0x85, 0x93, 0x79, 0x7f, 0x98, - 0xbc, 0x86, 0x2b, 0xbe, 0x31, 0xdd, 0xf3, 0xc2, 0x3d, 0x32, 0x88, 0xaf, 0xc1, 0x8c, 0x4d, 0xe8, - 0xb3, 0x2e, 0x72, 0xc8, 0x1e, 0xc1, 0x76, 0x5c, 0xcf, 0x32, 0x62, 0x92, 0x37, 0xe2, 0xcd, 0xa1, - 0x8a, 0x55, 0xff, 0x33, 0x05, 0x93, 0xeb, 0x18, 0xaf, 0x12, 0x2a, 0x6f, 0x37, 0x88, 0xda, 0x14, - 0x7d, 0x0b, 0x26, 0xa5, 0x4f, 0xb1, 0x55, 0x8b, 0xbc, 0x36, 0x4b, 0x78, 0x2d, 0x2e, 0xa0, 0x02, - 0x1a, 0xe2, 0xd2, 0xec, 0x5b, 0x30, 0xc9, 0x4e, 0xc1, 0x4f, 0x98, 0xc7, 0xb0, 0x01, 0xfc, 0x06, - 0x14, 0xd4, 0xe7, 0x0a, 0xa8, 0x2d, 0x0e, 0x5a, 0xd2, 0x89, 0xbe, 0x4f, 0xc8, 0x4b, 0x90, 0x9a, - 0xc0, 0xe0, 0xa1, 0xfd, 0xc0, 0x73, 0xba, 0xed, 0xa4, 0x51, 0x59, 0x8d, 0xae, 0xfe, 0x7e, 0x2f, - 0xd3, 0x1b, 0x56, 0x0b, 0xdb, 0x5d, 0x47, 0x3c, 0xc6, 0xdd, 0xed, 0x5a, 0x5c, 0x6e, 0xd1, 0x69, - 0x5e, 0xc6, 0x18, 0x97, 0x75, 0xf2, 0x58, 0xe9, 0x2e, 0x4c, 0xa8, 0x2e, 0xe1, 0xa7, 0x0f, 0xf2, - 0x9d, 0x4d, 0x51, 0x56, 0x87, 0xdf, 0x3a, 0xf4, 0xab, 0x6a, 0x7a, 0x50, 0x55, 0xb7, 0x00, 0x18, - 0x51, 0x7b, 0xe8, 0xc0, 0x97, 0xdc, 0x1f, 0xa6, 0x9b, 0xa7, 0x28, 0x8a, 0x91, 0x63, 0xea, 0x17, - 0x1d, 0xa6, 0x83, 0x23, 0xc3, 0x74, 0x70, 0x13, 0xf4, 0x3e, 0xe4, 0x66, 0x73, 0x43, 0xd7, 0x21, - 0xc3, 0x82, 0x10, 0x96, 0x31, 0xc4, 0x6f, 0x1e, 0xd4, 0x19, 0x73, 0x06, 0xde, 0x18, 0xe5, 0x19, - 0x73, 0xa2, 0x57, 0x01, 0x7f, 0xa5, 0x41, 0xfe, 0x13, 0xc1, 0x68, 0x03, 0x5b, 0x9e, 0x6f, 0xeb, - 0x1f, 0x83, 0xbc, 0x6b, 0x36, 0x95, 0xf0, 0x92, 0x29, 0xf1, 0xb8, 0xc0, 0x90, 0xc0, 0x1c, 0x92, - 0xc5, 0x21, 0x13, 0xde, 0x08, 0xb0, 0x08, 0xb2, 0xfa, 0x87, 0x1a, 0x14, 0x6b, 0x32, 0xee, 0x2b, - 0x47, 0xa6, 0x97, 0x61, 0x4c, 0x65, 0x02, 0x2a, 0xa1, 0x08, 0x8a, 0x3a, 0x86, 0xb1, 0x57, 0xe8, - 0x54, 0x03, 0xec, 0xea, 0xef, 0x68, 0x90, 0x17, 0xf9, 0xb4, 0xe4, 0x24, 0x3d, 0xef, 0xa1, 0xc8, - 0x94, 0x83, 0x18, 0xa6, 0xcc, 0xe4, 0x4e, 0x4a, 0x64, 0x96, 0x5e, 0x34, 0xc3, 0xbb, 0xe7, 0x79, - 0x3d, 0x45, 0xc4, 0xd0, 0x25, 0x48, 0x9c, 0x6e, 0xf5, 0x6b, 0x50, 0x88, 0xd2, 0xa2, 0xfa, 0x2a, - 0xd5, 0xef, 0x40, 0xb1, 0x27, 0xbd, 0x93, 0x71, 0x3f, 0x6f, 0x14, 0xe2, 0xf9, 0x1d, 0xad, 0xfe, - 0xad, 0x06, 0xe3, 0x31, 0x20, 0xfd, 0x16, 0xe4, 0xfa, 0x83, 0x57, 0x54, 0x71, 0x45, 0xdb, 0xd3, - 0xf8, 0x86, 0x39, 0x7d, 0xb9, 0x0d, 0x73, 0xf5, 0x7b, 0x1a, 0x8c, 0xc8, 0xaf, 0x69, 0x7e, 0x0d, - 0xb4, 0x4e, 0x42, 0xcd, 0xd5, 0x3a, 0x7c, 0xf4, 0xb3, 0x84, 0xab, 0xd2, 0x9e, 0x55, 0xff, 0x58, - 0x83, 0x85, 0x5a, 0x70, 0x5e, 0x1e, 0xc9, 0xa1, 0xc7, 0xc8, 0x2e, 0x74, 0xd1, 0xbd, 0x0d, 0x45, - 0xa5, 0x3e, 0xd2, 0x6e, 0x02, 0xdd, 0xb8, 0xc0, 0xab, 0x08, 0x45, 0xac, 0xd0, 0x8e, 0x95, 0x68, - 0xf5, 0xfb, 0x1a, 0xdc, 0x0a, 0x67, 0x56, 0x3b, 0x65, 0x5a, 0x67, 0x9b, 0xd0, 0x95, 0xcf, 0x85, - 0x42, 0x3e, 0xde, 0x3c, 0xdc, 0x56, 0xa2, 0x50, 0x22, 0x37, 0x1e, 0x43, 0xa9, 0xc6, 0x57, 0xa4, - 0xf2, 0xb7, 0x20, 0x94, 0xd4, 0xf8, 0x16, 0xc4, 0xf5, 0xda, 0xab, 0xd8, 0x22, 0x6d, 0xe4, 0xd0, - 0x33, 0xb6, 0x20, 0x73, 0x7c, 0x0b, 0x22, 0x7b, 0x08, 0x82, 0x19, 0x23, 0x2c, 0xdf, 0x63, 0x70, - 0x6b, 0xd8, 0x57, 0x5e, 0x3a, 0xc0, 0xe8, 0x96, 0xb7, 0xeb, 0xd9, 0x47, 0xa5, 0x6b, 0x7a, 0x15, - 0xe6, 0x97, 0xf1, 0x3e, 0x71, 0x97, 0x1d, 0xcf, 0x7a, 0x8a, 0xfd, 0x46, 0x1b, 0xf9, 0x6c, 0xc5, - 0x73, 0x99, 0x8f, 0x2c, 0x46, 0xb7, 0x5d, 0xe7, 0xa8, 0xa4, 0xe9, 0xd3, 0xa0, 0x9f, 0x52, 0x9f, - 0xd2, 0xf3, 0x90, 0x5d, 0x3b, 0xc0, 0xfe, 0x91, 0xe7, 0xe2, 0x52, 0xfa, 0x5e, 0x33, 0xe0, 0x96, - 0x7c, 0xee, 0xa2, 0x4f, 0xc0, 0xf8, 0x63, 0x97, 0x76, 0xb0, 0x25, 0x82, 0x43, 0xe9, 0x1a, 0x27, - 0x5b, 0x13, 0xfc, 0x28, 0x69, 0xfc, 0xf7, 0x0e, 0xea, 0x52, 0x6c, 0x97, 0x52, 0x7a, 0x11, 0x60, - 0x15, 0xb7, 0x3d, 0x87, 0xd0, 0x16, 0xb6, 0x4b, 0x69, 0x7d, 0x1c, 0xc6, 0xc4, 0xb3, 0x55, 0x6c, - 0x97, 0x32, 0xf7, 0xbe, 0x48, 0xa9, 0xc7, 0x17, 0xe2, 0x4c, 0xb6, 0x02, 0xe3, 0x8f, 0xb7, 0x1a, - 0x3b, 0x6b, 0x2b, 0xf5, 0xf5, 0xfa, 0xda, 0x6a, 0xe9, 0xda, 0xdc, 0xc4, 0xf1, 0x49, 0x25, 0x5e, - 0xc5, 0x77, 0xb2, 0xcb, 0x8f, 0x9f, 0x94, 0xb4, 0xb9, 0xb1, 0xe3, 0x93, 0x0a, 0xff, 0xc9, 0xc3, - 0x4e, 0x63, 0x6d, 0x63, 0xa3, 0x94, 0x9a, 0xcb, 0x1e, 0x9f, 0x54, 0xc4, 0x6f, 0xce, 0xbd, 0x46, - 0x73, 0x7b, 0xc7, 0xe4, 0x5d, 0xd3, 0x73, 0xf9, 0xe3, 0x93, 0x4a, 0x58, 0xe6, 0x1e, 0x45, 0xfc, - 0x16, 0x83, 0x32, 0x73, 0x85, 0xe3, 0x93, 0x4a, 0x54, 0xc1, 0x47, 0x36, 0x6b, 0x1f, 0xad, 0x89, - 0x91, 0x23, 0x72, 0x64, 0x50, 0xe6, 0x23, 0xc5, 0x6f, 0x31, 0x72, 0x54, 0x8e, 0x0c, 0x2b, 0xf4, - 0x69, 0x18, 0x5d, 0x7e, 0xfc, 0xc4, 0xdc, 0xd9, 0x2e, 0x8d, 0xcd, 0xc1, 0xf1, 0x49, 0x45, 0x95, - 0xb8, 0x42, 0xf3, 0x76, 0xde, 0x90, 0x9d, 0x1b, 0x3f, 0x3e, 0xa9, 0x04, 0x45, 0x7d, 0x1e, 0x80, - 0xf7, 0xa9, 0x35, 0xb7, 0x37, 0xeb, 0x2b, 0xa5, 0xdc, 0x5c, 0xf1, 0xf8, 0xa4, 0x12, 0xab, 0xe1, - 0xdc, 0x10, 0x5d, 0x55, 0x07, 0x90, 0xdc, 0x88, 0x55, 0xdd, 0xfb, 0x0b, 0x0d, 0x0a, 0x6b, 0xc1, - 0xd9, 0x8a, 0xe0, 0xe0, 0x2d, 0x28, 0xc7, 0xa4, 0xd2, 0xd3, 0x26, 0x45, 0x24, 0x65, 0x58, 0xd2, - 0xf4, 0x02, 0xe4, 0xc4, 0x9d, 0xca, 0x3a, 0x71, 0x9c, 0x52, 0x4a, 0x9f, 0x83, 0x69, 0x51, 0xdc, - 0x44, 0xcc, 0x6a, 0x19, 0xf2, 0x3b, 0x4c, 0x21, 0x98, 0x52, 0x9a, 0x2b, 0x48, 0xd4, 0xb6, 0x85, - 0x9f, 0xcb, 0xfa, 0x8c, 0x7e, 0x03, 0xae, 0xab, 0xcf, 0xb9, 0xd4, 0x07, 0x95, 0xc4, 0x73, 0x4b, - 0x23, 0x1c, 0x4a, 0xbe, 0x4b, 0xee, 0x7f, 0xba, 0x58, 0x1a, 0xbd, 0xf7, 0xfd, 0x40, 0xde, 0x9b, - 0x88, 0x3e, 0xe5, 0x3c, 0x7b, 0xbc, 0xf5, 0xb8, 0x21, 0x44, 0x2d, 0x78, 0x26, 0x4b, 0x5c, 0xca, - 0xb5, 0xad, 0x50, 0xca, 0xb5, 0xad, 0x27, 0x9c, 0x8b, 0xc6, 0xda, 0x07, 0x8f, 0x37, 0x6a, 0x46, - 0x29, 0x25, 0xb9, 0xa8, 0x8a, 0x9c, 0x4b, 0x2b, 0xdb, 0x5b, 0xab, 0xf5, 0x66, 0x7d, 0x7b, 0xab, - 0xc6, 0x25, 0x2a, 0xb8, 0x14, 0xab, 0xd2, 0x97, 0x60, 0x66, 0xb5, 0x6e, 0xac, 0xad, 0xf0, 0x22, - 0x17, 0xa4, 0xb9, 0x6d, 0x98, 0x8f, 0xea, 0x1f, 0x3c, 0x5a, 0x33, 0x4a, 0xd9, 0xb9, 0xeb, 0xc7, - 0x27, 0x95, 0x42, 0x4f, 0x65, 0x6f, 0x7f, 0xc1, 0xee, 0x6d, 0xc3, 0xdc, 0xd8, 0xfe, 0xc6, 0x9a, - 0x51, 0x2a, 0xc9, 0xfe, 0x3d, 0x95, 0xfa, 0x4d, 0x18, 0x6f, 0x3e, 0xd9, 0x59, 0x33, 0x37, 0x6b, - 0xc6, 0x47, 0x6b, 0xcd, 0x52, 0x45, 0x2e, 0x45, 0x96, 0xf4, 0x59, 0x00, 0xd1, 0xb8, 0x51, 0xdf, - 0xac, 0x37, 0x4b, 0x0f, 0xe7, 0x72, 0xc7, 0x27, 0x95, 0x11, 0x51, 0x58, 0x6e, 0xfd, 0xf8, 0xc5, - 0xbc, 0xf6, 0x93, 0x17, 0xf3, 0xda, 0xbf, 0xbc, 0x98, 0xd7, 0xfe, 0xe0, 0xcb, 0xf9, 0x6b, 0x3f, - 0xf9, 0x72, 0xfe, 0xda, 0xdf, 0x7f, 0x39, 0x7f, 0xed, 0xd7, 0xb7, 0x62, 0xae, 0xbe, 0x1e, 0xb8, - 0x99, 0x0d, 0xb4, 0x4b, 0xef, 0x87, 0x4e, 0xe7, 0x1d, 0xcb, 0xf3, 0x71, 0xbc, 0xd8, 0x42, 0xc4, - 0xbd, 0xdf, 0xf6, 0x78, 0x5e, 0x4a, 0xa3, 0xff, 0x1b, 0x21, 0xc2, 0xc2, 0xee, 0xa8, 0xf8, 0x3c, - 0xf0, 0x97, 0xfe, 0x37, 0x00, 0x00, 0xff, 0xff, 0x3f, 0x09, 0xcb, 0x9d, 0x5a, 0x42, 0x00, 0x00, + // 4410 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7c, 0xdb, 0x6f, 0x64, 0xd9, + 0x55, 0x77, 0x9f, 0x2a, 0x5f, 0xaa, 0x56, 0x5d, 0x5c, 0x3e, 0xbe, 0x95, 0xed, 0x6e, 0xbb, 0xa6, + 0x7a, 0x3a, 0xe3, 0xe9, 0x99, 0xb1, 0xd3, 0xf3, 0x7d, 0x13, 0x4d, 0x26, 0x8a, 0xd2, 0x65, 0x97, + 0xdd, 0x5d, 0x8c, 0x6f, 0x39, 0x65, 0x0f, 0x74, 0xa2, 0xe4, 0x68, 0xfb, 0x9c, 0x6d, 0xd7, 0x1e, + 0x9f, 0x4b, 0xf5, 0xd9, 0xa7, 0xdc, 0xf6, 0x20, 0x24, 0x1e, 0x46, 0x88, 0x18, 0x50, 0xc2, 0x03, + 0x42, 0x42, 0x32, 0x0a, 0x0f, 0x08, 0xc1, 0x0b, 0xbc, 0xc3, 0x03, 0x12, 0x02, 0xf2, 0x10, 0xa4, + 0x3c, 0x20, 0x81, 0x78, 0x08, 0x68, 0x06, 0x09, 0x84, 0xf2, 0x27, 0x20, 0x84, 0xf6, 0xe5, 0x5c, + 0xaa, 0xca, 0x2e, 0x57, 0xd9, 0x0e, 0x04, 0x78, 0xe9, 0xae, 0x7d, 0x59, 0xbf, 0xb5, 0xf6, 0x5a, + 0x6b, 0xaf, 0xb5, 0xf6, 0x3e, 0xe7, 0x18, 0xde, 0x24, 0xce, 0xc7, 0xd8, 0xf0, 0xc9, 0x09, 0x5e, + 0xc1, 0xa7, 0x46, 0x03, 0x39, 0x47, 0x78, 0xe5, 0xe4, 0xc9, 0x01, 0xf6, 0xd1, 0x93, 0xb0, 0x63, + 0xb9, 0xe9, 0xb9, 0xbe, 0xab, 0xce, 0x85, 0x53, 0x97, 0xc3, 0x11, 0x39, 0x75, 0x6e, 0xf2, 0xc8, + 0x3d, 0x72, 0xf9, 0xb4, 0x15, 0xf6, 0x4b, 0x50, 0xcc, 0x2d, 0x18, 0x2e, 0xb5, 0x5d, 0xba, 0x72, + 0x80, 0x68, 0x84, 0x6a, 0xb8, 0xc4, 0x91, 0xe3, 0x8f, 0x22, 0xe6, 0xae, 0x87, 0x0c, 0x2b, 0x9a, + 0x24, 0x9a, 0x72, 0xda, 0x38, 0xb2, 0x89, 0xe3, 0xae, 0xf0, 0x7f, 0x45, 0x57, 0xf9, 0xbb, 0x53, + 0x30, 0xb2, 0x8b, 0x3c, 0x64, 0x53, 0x15, 0xc3, 0x22, 0x6d, 0xba, 0xbe, 0x6e, 0x23, 0xef, 0x18, + 0xfb, 0x3a, 0x71, 0xa8, 0x8f, 0x1c, 0x5f, 0xb7, 0x08, 0xf5, 0x89, 0x73, 0xa4, 0x1f, 0x62, 0x5c, + 0x54, 0x4a, 0xca, 0x52, 0xe6, 0xdd, 0xd9, 0x65, 0x21, 0xce, 0x32, 0x13, 0x27, 0x90, 0x7c, 0x79, + 0xcd, 0x25, 0xce, 0xea, 0xd0, 0x0f, 0x7e, 0xbc, 0x78, 0x4f, 0x9b, 0x67, 0x38, 0x5b, 0x1c, 0xa6, + 0x26, 0x50, 0x36, 0x05, 0xc8, 0x06, 0xc6, 0xea, 0x4b, 0x78, 0x64, 0x62, 0x8f, 0x9c, 0x20, 0x26, + 0x6e, 0x2f, 0x66, 0x89, 0xfe, 0x98, 0xbd, 0x16, 0xa1, 0x5d, 0xc5, 0x12, 0xc1, 0xbc, 0x89, 0x0f, + 0x51, 0xcb, 0xf2, 0x75, 0xb9, 0xc2, 0x63, 0xec, 0x31, 0x1e, 0xba, 0x87, 0x7c, 0x5c, 0x4c, 0x96, + 0x94, 0xa5, 0xf4, 0xea, 0x43, 0x86, 0xf6, 0x0f, 0x3f, 0x5e, 0x9c, 0x17, 0xfc, 0xa8, 0x79, 0xbc, + 0x4c, 0xdc, 0x15, 0x1b, 0xf9, 0x8d, 0xe5, 0x4d, 0x7c, 0x84, 0x8c, 0xb3, 0x2a, 0x36, 0xb4, 0x19, + 0x89, 0x53, 0xe7, 0x0b, 0x3c, 0xc6, 0xde, 0x06, 0xc6, 0x1a, 0xf2, 0xbb, 0x59, 0xf8, 0xed, 0x2c, + 0x86, 0x6e, 0xc6, 0x62, 0x2f, 0xce, 0xc2, 0x86, 0xd7, 0x02, 0x16, 0x6d, 0x0a, 0x6c, 0x63, 0x34, + 0xdc, 0x3f, 0xa3, 0x07, 0x12, 0xad, 0x1a, 0xd3, 0xdf, 0xb5, 0xec, 0x3a, 0xd6, 0x35, 0x72, 0x1b, + 0x76, 0x6d, 0xab, 0x33, 0xe1, 0x7e, 0xc0, 0x8e, 0x38, 0xc4, 0x27, 0xc8, 0x62, 0xbe, 0x71, 0x44, + 0x1c, 0xc6, 0x88, 0xb8, 0xc5, 0xd1, 0xfe, 0x39, 0xcd, 0x4a, 0xa0, 0x9a, 0xc0, 0xd9, 0xe2, 0x30, + 0x1a, 0x43, 0x51, 0x2d, 0x28, 0x05, 0x5c, 0x6c, 0x44, 0x1c, 0x1f, 0x3b, 0xc8, 0x31, 0x70, 0x3b, + 0xa7, 0xd4, 0xe0, 0x6b, 0xda, 0x8a, 0xb0, 0xe2, 0xdc, 0xde, 0x87, 0x62, 0xc0, 0xed, 0xb0, 0xe5, + 0x98, 0xcc, 0xb1, 0xd9, 0x3c, 0xef, 0x04, 0x59, 0xc5, 0x74, 0x49, 0x59, 0x4a, 0x6a, 0xd3, 0x72, + 0x7c, 0x43, 0x0c, 0xd7, 0xe4, 0xa8, 0xfa, 0x26, 0x14, 0x02, 0x0a, 0xbb, 0x65, 0xf9, 0xa4, 0x69, + 0xe1, 0x22, 0x70, 0x8a, 0x31, 0xd9, 0xbf, 0x25, 0xbb, 0xd5, 0x5f, 0x80, 0x69, 0x0f, 0x5b, 0xe8, + 0x4c, 0x9a, 0x85, 0x36, 0x90, 0x27, 0x8d, 0x93, 0xe9, 0x7f, 0x21, 0x13, 0x12, 0x62, 0x03, 0xe3, + 0x3a, 0x03, 0xe0, 0x26, 0x21, 0xb0, 0x18, 0x88, 0xdf, 0x70, 0x5b, 0x9e, 0x75, 0x16, 0xae, 0x82, + 0xc1, 0xeb, 0x06, 0x6a, 0x16, 0xb3, 0xfd, 0xb3, 0x08, 0xf6, 0xc7, 0x73, 0x0e, 0x25, 0x17, 0xcc, + 0xf8, 0xac, 0xa1, 0x66, 0xdc, 0xfa, 0x92, 0x15, 0x57, 0x14, 0xa6, 0xbe, 0x58, 0x4a, 0x6e, 0x70, + 0xeb, 0x0b, 0x3e, 0x35, 0x09, 0xc3, 0x17, 0x54, 0x85, 0x45, 0x1b, 0x9d, 0xc6, 0xdd, 0xd9, 0xf5, + 0x4c, 0xec, 0xe9, 0x94, 0x98, 0x58, 0x37, 0xdc, 0x96, 0xe3, 0x17, 0xf3, 0x25, 0x65, 0x29, 0xa7, + 0xcd, 0xdb, 0xe8, 0x34, 0xf2, 0xd3, 0x1d, 0x36, 0xa9, 0x4e, 0x4c, 0xbc, 0xc6, 0xa6, 0xa8, 0x14, + 0xde, 0x20, 0xce, 0xc7, 0xba, 0x87, 0x5f, 0x21, 0xcf, 0xd4, 0x29, 0xdb, 0x11, 0xa6, 0xee, 0xe1, + 0x97, 0x2d, 0xe2, 0x61, 0x1b, 0x3b, 0xbe, 0xee, 0x37, 0x3c, 0x4c, 0x1b, 0xae, 0x65, 0x16, 0xc7, + 0xb8, 0xd8, 0x0f, 0xa4, 0xd8, 0x53, 0xdd, 0x62, 0xd7, 0x1c, 0x5f, 0x7b, 0x48, 0x9c, 0x8f, 0x35, + 0x0e, 0x56, 0xe7, 0x58, 0x5a, 0x04, 0xb5, 0x17, 0x20, 0xa9, 0xcf, 0xa0, 0xe4, 0x7b, 0x48, 0x28, + 0x9f, 0xcf, 0xa5, 0xfa, 0x09, 0x16, 0xb1, 0xd2, 0x6c, 0x71, 0xbf, 0x75, 0x8a, 0x05, 0xee, 0x20, + 0x0f, 0xe4, 0x3c, 0x01, 0x49, 0x3f, 0x12, 0xb3, 0xaa, 0x72, 0x12, 0xd3, 0xb4, 0x45, 0x5e, 0xb6, + 0x88, 0x89, 0x7c, 0xd7, 0x0b, 0x17, 0x11, 0x39, 0xcd, 0xf8, 0x00, 0x9a, 0x8e, 0x80, 0xa4, 0xfc, + 0xa1, 0xeb, 0x9c, 0xc2, 0x9b, 0x07, 0xc4, 0x41, 0xde, 0x99, 0xee, 0x36, 0x19, 0x5b, 0xda, 0x2b, + 0xd0, 0xab, 0xfd, 0x05, 0xfa, 0xd7, 0x05, 0xe2, 0x8e, 0x00, 0xbc, 0x2a, 0xd6, 0xff, 0xb2, 0x02, + 0x25, 0xe4, 0xbb, 0x36, 0x31, 0x02, 0x96, 0xc2, 0xc6, 0xc8, 0x30, 0x30, 0xa5, 0xba, 0x85, 0x4f, + 0xb0, 0x55, 0x9c, 0x28, 0x29, 0x4b, 0xf9, 0x77, 0xdf, 0x5f, 0xbe, 0x3a, 0x11, 0x2f, 0x57, 0x38, + 0x86, 0xe0, 0xc2, 0x1d, 0xa0, 0xc2, 0x01, 0x36, 0x19, 0xbd, 0x76, 0x1f, 0xf5, 0x18, 0x55, 0x4f, + 0xe1, 0x0d, 0x9e, 0x03, 0x2e, 0x13, 0x83, 0x6d, 0x51, 0xb9, 0xa3, 0x09, 0xf6, 0x8a, 0x93, 0xfd, + 0x6b, 0xbb, 0xcc, 0x30, 0xbb, 0xa4, 0xda, 0xc0, 0x78, 0x2b, 0x84, 0x53, 0x3f, 0x55, 0xe0, 0x9d, + 0x98, 0x77, 0xf7, 0x21, 0xc0, 0x54, 0xff, 0x02, 0x2c, 0x45, 0xc8, 0xd7, 0x88, 0xf1, 0x6b, 0x0a, + 0x3c, 0xe9, 0x30, 0x7f, 0x1f, 0xa2, 0x4c, 0xf7, 0x2f, 0xca, 0x5b, 0x6d, 0xae, 0x70, 0x8d, 0x34, + 0xdf, 0x86, 0x59, 0x9b, 0x38, 0xc4, 0x46, 0x96, 0xce, 0x6b, 0x1e, 0xc3, 0xb5, 0xa2, 0x04, 0x36, + 0xd3, 0x3f, 0xd3, 0x69, 0x89, 0xb2, 0x2b, 0x41, 0x82, 0xcc, 0xf5, 0x4d, 0x78, 0x8b, 0xd0, 0xd0, + 0xb1, 0xbb, 0x6b, 0x1b, 0x0b, 0xb5, 0x1c, 0xa3, 0xa1, 0x63, 0x07, 0x1d, 0x58, 0xd8, 0x2c, 0x16, + 0x4b, 0xca, 0x52, 0x4a, 0xfb, 0x02, 0xa1, 0xd2, 0x77, 0xab, 0x1d, 0xe5, 0xcb, 0x26, 0x9f, 0xbe, + 0x2e, 0x66, 0xb3, 0x90, 0xd5, 0x74, 0xa9, 0xaf, 0xbb, 0x8e, 0x75, 0xa6, 0xdb, 0xae, 0x89, 0xf5, + 0x06, 0x26, 0x47, 0x8d, 0x78, 0x90, 0x99, 0xe5, 0xdb, 0x7e, 0x9e, 0x4d, 0xdb, 0x71, 0xac, 0xb3, + 0x2d, 0xd7, 0xc4, 0xcf, 0xf9, 0x9c, 0x28, 0x7a, 0x1c, 0xc1, 0x13, 0x99, 0xe2, 0x4c, 0x6c, 0x78, + 0x18, 0x51, 0xac, 0x37, 0x3d, 0x62, 0x60, 0xdd, 0x27, 0x36, 0xa6, 0x3e, 0xb2, 0x9b, 0x11, 0x9e, + 0x4e, 0xb1, 0xe1, 0x3a, 0x26, 0x2d, 0xce, 0x71, 0xdc, 0xb7, 0x05, 0x61, 0x55, 0xd2, 0xed, 0x32, + 0xb2, 0xbd, 0x80, 0x2a, 0xe4, 0x50, 0x17, 0x34, 0xea, 0x1b, 0x30, 0x16, 0xec, 0x24, 0x1d, 0x99, + 0x36, 0x71, 0x68, 0x71, 0xbe, 0x94, 0x5c, 0x4a, 0x6b, 0xf9, 0xa0, 0xbb, 0xc2, 0x7b, 0x3f, 0x28, + 0xfe, 0xeb, 0xf7, 0x17, 0x95, 0xf3, 0x7f, 0xf9, 0x93, 0xc7, 0xe1, 0xfc, 0x15, 0x51, 0x86, 0x96, + 0x3f, 0x55, 0x60, 0x42, 0x68, 0xa2, 0xdd, 0x8c, 0xf3, 0x90, 0x0e, 0x62, 0x88, 0xc9, 0x0b, 0xd1, + 0xb4, 0x96, 0x12, 0x1d, 0x35, 0x53, 0xfd, 0x39, 0xc8, 0x77, 0x78, 0x53, 0xa2, 0x7f, 0xc3, 0xe6, + 0x0e, 0xe3, 0x8c, 0x3e, 0x18, 0xfa, 0xd5, 0xef, 0x2f, 0xde, 0x2b, 0xff, 0x24, 0x05, 0x85, 0x4e, + 0xd3, 0xa8, 0xd3, 0x30, 0xe2, 0x13, 0xe3, 0x18, 0x7b, 0x52, 0x00, 0xd9, 0x52, 0x17, 0x21, 0x23, + 0x0a, 0x6d, 0x9d, 0x05, 0x2f, 0xc1, 0x5b, 0x03, 0xd1, 0xb5, 0x8a, 0x28, 0x56, 0x5f, 0x83, 0xac, + 0x9c, 0xf0, 0xb2, 0xe5, 0x06, 0x25, 0xa7, 0x26, 0x89, 0xbe, 0xce, 0xba, 0xd4, 0xf5, 0x10, 0xc3, + 0x3f, 0x6b, 0x8a, 0x8a, 0x31, 0xff, 0xee, 0xeb, 0xb1, 0x10, 0x25, 0x4b, 0xf9, 0x20, 0x40, 0xed, + 0xf0, 0xe6, 0xde, 0x59, 0x13, 0x07, 0x9c, 0xd8, 0x6f, 0x75, 0x19, 0x26, 0x24, 0x0c, 0x35, 0x90, + 0x85, 0xf5, 0x43, 0x64, 0xf8, 0xae, 0xc7, 0xeb, 0xc2, 0x9c, 0x36, 0x2e, 0x86, 0xea, 0x6c, 0x64, + 0x83, 0x0f, 0x30, 0xd1, 0xb9, 0x48, 0xba, 0x89, 0x1d, 0xd7, 0x16, 0x05, 0x9d, 0x06, 0xbc, 0xab, + 0xca, 0x7a, 0xda, 0xf5, 0x3e, 0xda, 0xa1, 0xf7, 0x7d, 0x98, 0xbc, 0xb4, 0x5a, 0x1b, 0xa0, 0x86, + 0x52, 0x49, 0x77, 0x99, 0xf6, 0x2d, 0x28, 0x5e, 0x59, 0x9e, 0xa5, 0x07, 0xd9, 0xb1, 0x97, 0xd7, + 0x65, 0x35, 0xc8, 0x77, 0x94, 0xcd, 0xd0, 0x3f, 0x68, 0xd6, 0x8e, 0x97, 0xad, 0x35, 0xc8, 0x77, + 0x94, 0xc4, 0x03, 0x54, 0x5d, 0x59, 0x3f, 0x0e, 0x75, 0x75, 0x21, 0x97, 0xbd, 0x65, 0x21, 0x57, + 0x82, 0x0c, 0xa1, 0xbb, 0xd8, 0x6b, 0x62, 0xbf, 0x85, 0x2c, 0x5e, 0x4c, 0xa5, 0xb4, 0x78, 0x97, + 0xfa, 0x14, 0x46, 0xa8, 0x8f, 0xfc, 0x16, 0xe5, 0x05, 0x50, 0xfe, 0xdd, 0xa5, 0x5e, 0xa9, 0x51, + 0x6c, 0x86, 0x3a, 0x9f, 0xaf, 0x49, 0x3a, 0x55, 0x83, 0x09, 0x9b, 0x38, 0x61, 0x58, 0x31, 0x8e, + 0x75, 0x4a, 0x3e, 0xc1, 0xb2, 0x02, 0xea, 0x4b, 0xf4, 0x82, 0x4d, 0x1c, 0x19, 0x5e, 0x8c, 0xe3, + 0x3a, 0xf9, 0x84, 0x6b, 0x84, 0x61, 0xbe, 0x6c, 0x21, 0xc7, 0x27, 0xfe, 0x59, 0x0c, 0xb6, 0x30, + 0x80, 0x46, 0x6c, 0xe2, 0x7c, 0x5d, 0x22, 0x84, 0xc8, 0x1b, 0x90, 0x65, 0xc8, 0x8e, 0xcb, 0x12, + 0x08, 0xb2, 0x06, 0xa9, 0x7a, 0x32, 0x36, 0x71, 0xb6, 0x25, 0x9d, 0x3a, 0x09, 0xc3, 0x3c, 0xcc, + 0xf1, 0x1a, 0x26, 0xad, 0x89, 0x86, 0xfa, 0x16, 0x8c, 0xf3, 0x1f, 0x7a, 0x13, 0x7b, 0x36, 0xa1, + 0x94, 0x25, 0x29, 0x5e, 0x73, 0xe4, 0xb4, 0x02, 0x1f, 0xd8, 0x8d, 0xfa, 0x65, 0xb8, 0xf9, 0xbb, + 0x14, 0x4c, 0xac, 0x76, 0xd7, 0x37, 0x57, 0x46, 0x9c, 0x87, 0x90, 0x0b, 0xb6, 0xf9, 0x99, 0x7d, + 0xe0, 0x5a, 0x32, 0xe6, 0xc8, 0x28, 0x53, 0xe7, 0x7d, 0x2c, 0x1a, 0xcb, 0x49, 0x4d, 0xcf, 0x3d, + 0x21, 0x26, 0xf6, 0x64, 0xe0, 0xc9, 0x8b, 0xee, 0x5d, 0xd9, 0xfb, 0xdf, 0x15, 0x7b, 0x9e, 0xc0, + 0x24, 0x3e, 0x6d, 0x12, 0x51, 0x99, 0x46, 0xb9, 0x88, 0x07, 0xa1, 0xa4, 0x36, 0x11, 0x8d, 0x85, + 0x09, 0x87, 0x91, 0x50, 0xec, 0xfb, 0x96, 0xac, 0xb4, 0x43, 0x92, 0x51, 0x41, 0x12, 0x8d, 0x45, + 0x24, 0xa1, 0x8d, 0x52, 0x71, 0x1b, 0x75, 0xc4, 0xbd, 0x74, 0xef, 0xb8, 0x07, 0x1d, 0x71, 0xaf, + 0x3b, 0x82, 0x64, 0xee, 0x2e, 0x82, 0x64, 0xef, 0x3e, 0x82, 0xe4, 0x6e, 0x19, 0x41, 0xfe, 0xaf, + 0xc5, 0x87, 0x6d, 0x28, 0xc4, 0xdc, 0x8c, 0x0b, 0x1d, 0x8b, 0x11, 0xca, 0x75, 0x98, 0x63, 0x11, + 0x31, 0x97, 0xb8, 0x2b, 0xde, 0xa8, 0x37, 0x8c, 0x37, 0x37, 0x88, 0x2c, 0xff, 0x9c, 0x80, 0x99, + 0x75, 0xb6, 0x93, 0xce, 0x36, 0x5a, 0x7e, 0xcb, 0xc3, 0xe1, 0xc9, 0xe9, 0xd0, 0xed, 0x5d, 0x53, + 0x5d, 0xb5, 0x3b, 0x13, 0x57, 0xef, 0xce, 0x2f, 0xc2, 0xa4, 0xff, 0x0a, 0x35, 0xd9, 0xa1, 0xd8, + 0x8b, 0xef, 0xce, 0x24, 0x27, 0x51, 0xd9, 0x58, 0x9d, 0x0d, 0x45, 0x14, 0xaf, 0xe0, 0x0b, 0x71, + 0x26, 0x11, 0xb1, 0x70, 0x14, 0xa3, 0x65, 0xb7, 0x2c, 0x5e, 0x81, 0x0d, 0x72, 0x85, 0x56, 0x8e, + 0xc9, 0x16, 0xb0, 0xe4, 0x76, 0x58, 0x0b, 0xe1, 0x2e, 0xb5, 0xf0, 0x00, 0x97, 0x67, 0x9d, 0x16, + 0x2e, 0xff, 0x55, 0x02, 0x26, 0xc2, 0x7c, 0xda, 0xaf, 0x8a, 0xbf, 0x01, 0x33, 0x57, 0xdd, 0xac, + 0x0c, 0x50, 0xbf, 0x4e, 0x36, 0x2e, 0xbb, 0x52, 0xd9, 0x87, 0xc9, 0x4b, 0xaf, 0x52, 0x06, 0xb8, + 0xed, 0x54, 0x1b, 0xdd, 0x77, 0x28, 0xff, 0x1f, 0xa6, 0x1d, 0x7c, 0x1a, 0x5d, 0x68, 0x45, 0x46, + 0x1e, 0xe2, 0x46, 0x9e, 0x64, 0xa3, 0x52, 0x94, 0xc8, 0xcc, 0xb1, 0xfb, 0xac, 0xf0, 0x06, 0x6c, + 0xb8, 0xed, 0x3e, 0x2b, 0xb8, 0xfa, 0x2a, 0x7f, 0xae, 0xc0, 0x74, 0x87, 0x22, 0x25, 0x9c, 0xaa, + 0x81, 0x1a, 0x39, 0x44, 0x20, 0x81, 0x50, 0x6a, 0x7f, 0x0b, 0x1a, 0x8f, 0xc8, 0x03, 0xcc, 0x6d, + 0x28, 0xc4, 0x30, 0x85, 0x1f, 0x0c, 0xa0, 0xfb, 0xb1, 0x88, 0x58, 0xec, 0xf4, 0x47, 0x90, 0xb7, + 0x10, 0xed, 0x76, 0xfe, 0x1c, 0xeb, 0x0d, 0x15, 0x52, 0xfe, 0x0d, 0x05, 0x16, 0x3a, 0x8f, 0x17, + 0xf5, 0xd0, 0xa5, 0xae, 0xf7, 0x9c, 0xcb, 0xdc, 0x37, 0x71, 0x0b, 0xf7, 0xfd, 0x2a, 0x4c, 0x6e, + 0x5f, 0x66, 0xb8, 0x47, 0x90, 0xe7, 0xe6, 0x8e, 0x96, 0xa3, 0x88, 0xe5, 0xb0, 0xde, 0x68, 0x39, + 0xff, 0xa6, 0x40, 0x7e, 0x8b, 0x98, 0x1c, 0xab, 0xe2, 0x98, 0x7b, 0x3b, 0xab, 0xea, 0x53, 0x48, + 0xdb, 0xc4, 0x94, 0xa2, 0x29, 0xfd, 0xc7, 0xce, 0x94, 0x2d, 0x71, 0x58, 0x66, 0x3c, 0x60, 0x6e, + 0x7b, 0xd0, 0x3a, 0xeb, 0x5a, 0xe1, 0xb5, 0x30, 0x59, 0x46, 0xba, 0xda, 0x3a, 0x13, 0x50, 0x1f, + 0xc2, 0x18, 0x87, 0xa2, 0xd8, 0xb2, 0x24, 0x56, 0xb2, 0x7f, 0xac, 0x1c, 0xa3, 0xad, 0x63, 0xcb, + 0x12, 0xba, 0xfa, 0xc9, 0x30, 0x40, 0x3d, 0x7c, 0xc2, 0x71, 0x65, 0x89, 0xf6, 0x00, 0x80, 0x9d, + 0x06, 0x65, 0x81, 0x21, 0xea, 0xb3, 0x34, 0xeb, 0x11, 0xf5, 0x45, 0x47, 0x01, 0x92, 0xec, 0x2a, + 0x40, 0xba, 0x6b, 0x8c, 0xa1, 0xbb, 0xab, 0x31, 0x86, 0xef, 0xbe, 0xc6, 0x18, 0xb9, 0x65, 0x8d, + 0xd1, 0xf3, 0xa0, 0x19, 0x15, 0x20, 0xa9, 0xbb, 0x2d, 0x40, 0xd2, 0x3f, 0x9d, 0x02, 0x04, 0xee, + 0xf8, 0x80, 0x92, 0xb9, 0xed, 0x01, 0x25, 0x7b, 0xed, 0x01, 0x25, 0x77, 0x79, 0x19, 0x51, 0xfe, + 0x7d, 0x05, 0x46, 0xab, 0xb8, 0xe9, 0x52, 0xe2, 0xab, 0xbb, 0x30, 0x8e, 0x4e, 0x10, 0xb1, 0xd0, + 0x01, 0xbf, 0xeb, 0xb0, 0xd8, 0xc9, 0x7a, 0x90, 0x00, 0x5c, 0x08, 0xa9, 0x57, 0x05, 0xb1, 0xfa, + 0x1c, 0x72, 0xbe, 0xeb, 0x23, 0x2b, 0x44, 0x4b, 0x0c, 0xe2, 0x99, 0x8c, 0x52, 0x22, 0x95, 0xdf, + 0x86, 0xc9, 0x7a, 0xeb, 0x00, 0x19, 0xfc, 0x22, 0x7f, 0xcf, 0x43, 0x26, 0xde, 0x76, 0x19, 0x87, + 0x49, 0x18, 0x76, 0xdc, 0x40, 0xce, 0x9c, 0x26, 0x1a, 0x2c, 0xcd, 0xa4, 0xf9, 0x65, 0x21, 0x8f, + 0xb5, 0x0f, 0x21, 0x47, 0x43, 0xda, 0x28, 0xde, 0x66, 0xa3, 0xce, 0x9a, 0xc9, 0x26, 0xf1, 0xfd, + 0x83, 0x0d, 0xd2, 0x24, 0xd8, 0xf1, 0x83, 0x33, 0xd7, 0x21, 0xc6, 0x5a, 0xd0, 0xa7, 0x7e, 0x19, + 0x86, 0x3b, 0xe3, 0xcb, 0xb5, 0xeb, 0x10, 0x14, 0xea, 0xd7, 0x20, 0x15, 0x78, 0xd2, 0x20, 0x5b, + 0x3d, 0x24, 0x52, 0x0b, 0x90, 0x34, 0x88, 0x29, 0xf6, 0xb6, 0xc6, 0x7e, 0x96, 0x3f, 0x4d, 0x40, + 0x9a, 0x85, 0x2a, 0xbe, 0xd2, 0xeb, 0xae, 0xd0, 0x40, 0x5c, 0xcb, 0x12, 0xe7, 0xd0, 0x95, 0x0f, + 0x5f, 0x1f, 0xf5, 0xda, 0x65, 0xa1, 0xf6, 0xe4, 0xfd, 0x7c, 0xda, 0x0d, 0xd5, 0x59, 0x0d, 0xb0, + 0xf8, 0x71, 0x32, 0xc9, 0x77, 0xec, 0xf5, 0x58, 0xfc, 0x3c, 0x29, 0x50, 0xf8, 0x71, 0x92, 0xb9, + 0x86, 0x47, 0x8e, 0x8e, 0xb0, 0x27, 0x43, 0xf6, 0xd0, 0x00, 0xe1, 0x5f, 0x52, 0x8a, 0x88, 0xfd, + 0xc3, 0x04, 0xe4, 0x99, 0x1a, 0x36, 0x89, 0x4d, 0xa4, 0x2e, 0xda, 0x97, 0xab, 0xdc, 0xe1, 0x72, + 0x13, 0x37, 0x5c, 0xee, 0xd7, 0x20, 0x75, 0x48, 0x2c, 0xbe, 0x39, 0x06, 0x71, 0x9e, 0x90, 0xe8, + 0xee, 0xf4, 0xc5, 0x52, 0x97, 0x58, 0x50, 0x03, 0xd1, 0x06, 0xf7, 0xa7, 0xac, 0x94, 0xf4, 0x39, + 0xa2, 0x8d, 0xf2, 0xdf, 0x26, 0x60, 0x2c, 0x4a, 0x80, 0x77, 0xaf, 0xcf, 0x0d, 0xc8, 0xca, 0x68, + 0xa0, 0xf3, 0x1b, 0xee, 0x01, 0x42, 0x42, 0x46, 0x12, 0x3e, 0x77, 0x2d, 0xb3, 0x63, 0x19, 0xc9, + 0x8e, 0x65, 0x74, 0x98, 0x6d, 0xe8, 0xae, 0xbc, 0x74, 0xf8, 0xa6, 0x5e, 0xfa, 0xd7, 0x09, 0x18, + 0xeb, 0x78, 0xea, 0xf8, 0x3f, 0x6d, 0xcb, 0x7e, 0x05, 0x46, 0xc4, 0x65, 0xed, 0x20, 0x01, 0x4c, + 0x92, 0xdc, 0xa1, 0x26, 0xff, 0x3d, 0x09, 0xf3, 0x51, 0x2e, 0xe0, 0x92, 0x1e, 0xb8, 0xee, 0xf1, + 0x16, 0xf6, 0x91, 0x89, 0x7c, 0xa4, 0x7e, 0x19, 0x66, 0x4f, 0x90, 0xc3, 0xf6, 0x8d, 0x6e, 0xb1, + 0x90, 0x20, 0x1f, 0x48, 0x89, 0x47, 0xc0, 0x22, 0x4d, 0x4c, 0xcb, 0x09, 0x51, 0xc8, 0x10, 0x4f, + 0x7f, 0x9f, 0xc2, 0x03, 0x0f, 0x9b, 0x2d, 0x03, 0x8b, 0x47, 0x32, 0xdd, 0xe4, 0x09, 0x4e, 0x3e, + 0x2b, 0x26, 0xed, 0x38, 0xd6, 0x59, 0x27, 0x42, 0x03, 0x16, 0xd0, 0xd1, 0x91, 0x87, 0x8f, 0xd8, + 0x51, 0x2f, 0x8e, 0x15, 0x06, 0xff, 0x01, 0x76, 0xff, 0x7c, 0x08, 0xa5, 0x85, 0x0c, 0x83, 0x62, + 0x42, 0x45, 0x30, 0x17, 0x71, 0x0a, 0x16, 0x7c, 0x93, 0x14, 0x53, 0x0c, 0x61, 0x3e, 0x12, 0x28, + 0x21, 0x8b, 0x75, 0x58, 0x0c, 0x80, 0x0d, 0xd7, 0x31, 0x89, 0x28, 0x3b, 0xda, 0x14, 0x22, 0xae, + 0xff, 0xee, 0xcb, 0x69, 0x6b, 0xd1, 0xac, 0x98, 0x4e, 0x36, 0xe1, 0x61, 0x5c, 0x13, 0x57, 0x41, + 0x8d, 0x70, 0xa8, 0xc5, 0x48, 0xb7, 0x97, 0xa2, 0x95, 0xff, 0x42, 0x81, 0xb1, 0x0e, 0xf3, 0x47, + 0x79, 0x59, 0xb9, 0x55, 0x5e, 0x4e, 0xdc, 0x24, 0x2f, 0x97, 0x21, 0x4b, 0x68, 0x64, 0x1f, 0x6e, + 0xdf, 0x94, 0xd6, 0xd6, 0x17, 0xe4, 0xee, 0xa1, 0x28, 0x77, 0xbf, 0x82, 0x89, 0x8e, 0x45, 0x54, + 0x99, 0xef, 0x56, 0x60, 0x98, 0xab, 0x44, 0xc6, 0xd8, 0xb7, 0x7a, 0xed, 0xd1, 0x0e, 0x7a, 0x4d, + 0x50, 0x76, 0xc4, 0xc5, 0x44, 0x67, 0x78, 0xff, 0x6e, 0x12, 0x26, 0xa3, 0x38, 0xf4, 0x33, 0x9d, + 0x33, 0xa3, 0x78, 0x93, 0x1c, 0x3c, 0xde, 0xc4, 0x13, 0xee, 0xd0, 0x9d, 0x24, 0xdc, 0xe1, 0xbb, + 0x49, 0xb8, 0x23, 0x9d, 0x16, 0xf9, 0xad, 0x24, 0x4c, 0x75, 0xde, 0x16, 0xfc, 0xaf, 0x34, 0x49, + 0x15, 0x32, 0xf2, 0x61, 0x1f, 0x4f, 0xfc, 0x03, 0x58, 0x05, 0x04, 0x1d, 0xcf, 0xfb, 0xff, 0x65, + 0x76, 0xf9, 0xcb, 0x04, 0xa4, 0x76, 0xd9, 0xc1, 0x88, 0xb8, 0x8e, 0x3a, 0x0d, 0x23, 0x84, 0x6e, + 0xba, 0xf2, 0x46, 0x2a, 0xa5, 0xc9, 0xd6, 0xed, 0xc3, 0x47, 0x15, 0x32, 0xd8, 0xf1, 0xbd, 0x33, + 0x7d, 0xe0, 0x83, 0x05, 0x70, 0x3a, 0xb1, 0x94, 0x5b, 0xa5, 0xe6, 0x6f, 0x41, 0xb1, 0xfb, 0xe6, + 0x4d, 0xe7, 0xe8, 0x83, 0x5c, 0x25, 0x4c, 0x77, 0xdd, 0xbf, 0xad, 0x33, 0x88, 0x72, 0x0d, 0x26, + 0x63, 0x4e, 0x5d, 0x73, 0x4c, 0x62, 0x20, 0xdf, 0xbd, 0xa6, 0xfa, 0x99, 0x84, 0x61, 0x42, 0x57, + 0x5b, 0x42, 0xa9, 0x29, 0x4d, 0x34, 0xca, 0x7f, 0x93, 0x80, 0x14, 0x3f, 0xfc, 0x6d, 0xba, 0xed, + 0xaa, 0x57, 0x6e, 0xa2, 0xfa, 0x30, 0x6b, 0x24, 0x06, 0xce, 0x1a, 0x5d, 0x47, 0x4a, 0x51, 0x7f, + 0xb6, 0x1f, 0x29, 0xdf, 0x83, 0xe4, 0x21, 0x1e, 0x28, 0xfa, 0xb0, 0xf9, 0xd7, 0xd4, 0xe7, 0xea, + 0xfb, 0x30, 0xd5, 0x76, 0x50, 0xd5, 0x91, 0x69, 0x7a, 0x98, 0x52, 0xe1, 0xc0, 0x7c, 0xe3, 0x2b, + 0xda, 0x44, 0xfc, 0xd8, 0x5a, 0x11, 0x13, 0x82, 0x2c, 0x34, 0x1a, 0x65, 0xa1, 0xdf, 0x49, 0x40, + 0x2e, 0x70, 0xf1, 0x2a, 0xb6, 0x7c, 0xa4, 0xce, 0xc0, 0x28, 0xa1, 0xba, 0xd5, 0xed, 0xe8, 0x1a, + 0xa8, 0xf8, 0x14, 0x1b, 0x2d, 0x7e, 0x95, 0x7f, 0x13, 0x97, 0x1f, 0x0f, 0xc9, 0xc3, 0xfa, 0x62, + 0x1b, 0x0a, 0x11, 0xe6, 0xe0, 0x71, 0x65, 0x2c, 0x24, 0x16, 0xcf, 0xff, 0xd5, 0x4d, 0x88, 0xba, + 0xba, 0x4e, 0x49, 0xd7, 0xc2, 0xe5, 0x43, 0x5a, 0x51, 0x67, 0xfe, 0x5e, 0x12, 0xd4, 0xd8, 0xfb, + 0xac, 0x81, 0xdb, 0x5d, 0x7a, 0x9b, 0xd0, 0x69, 0xfa, 0x5d, 0xc8, 0x37, 0xa5, 0x5e, 0x75, 0x93, + 0x29, 0x56, 0x16, 0xf0, 0x6f, 0xf6, 0x8a, 0xb8, 0x6d, 0x96, 0xd0, 0x72, 0xcd, 0x36, 0xc3, 0x7c, + 0x05, 0x46, 0x9a, 0xe8, 0xcc, 0x6d, 0xf9, 0x03, 0x45, 0x5e, 0x41, 0xf2, 0xb3, 0xef, 0x89, 0x4c, + 0xc2, 0xa6, 0x63, 0x0d, 0xf2, 0x6a, 0x09, 0x9b, 0x5f, 0xfe, 0x45, 0x50, 0xa3, 0x32, 0x28, 0x0c, + 0xd6, 0x4f, 0x21, 0x15, 0x28, 0x4f, 0x66, 0xcd, 0xd7, 0xfb, 0xd1, 0xbb, 0x16, 0x52, 0x75, 0x1b, + 0x39, 0xd1, 0x6d, 0xe4, 0xf2, 0x2b, 0x18, 0x8f, 0x98, 0x07, 0x97, 0x68, 0x7d, 0xb9, 0xc7, 0x57, + 0x61, 0xd4, 0x14, 0xf3, 0xa5, 0x5f, 0x3c, 0xec, 0x25, 0x9f, 0x84, 0xd6, 0x02, 0x9a, 0x72, 0x13, + 0x72, 0xb2, 0x6f, 0xbf, 0x69, 0x22, 0x9f, 0xdf, 0x82, 0x89, 0x8b, 0x66, 0x11, 0x46, 0x45, 0x43, + 0xad, 0x41, 0x4a, 0x52, 0xd0, 0x62, 0xa2, 0x94, 0x5c, 0xca, 0xbc, 0xfb, 0x4e, 0x7f, 0xf5, 0x64, + 0xc0, 0x30, 0x24, 0x2f, 0xff, 0x50, 0x81, 0xc2, 0xae, 0x4b, 0x1c, 0x9f, 0xc6, 0x5e, 0xda, 0xfa, + 0x26, 0xcc, 0x88, 0x3b, 0xec, 0x26, 0x1f, 0x89, 0xbf, 0xa0, 0x35, 0x40, 0x3c, 0x9e, 0xe2, 0x18, + 0x97, 0x81, 0xfb, 0x57, 0x80, 0x0f, 0x10, 0x74, 0xa6, 0xfc, 0xcb, 0xc0, 0xcb, 0xff, 0x91, 0x80, + 0x85, 0xbd, 0xf8, 0x9b, 0xb4, 0x6b, 0xc8, 0x6e, 0x22, 0x72, 0xe4, 0xac, 0xba, 0x2e, 0x15, 0x0f, + 0x68, 0xde, 0x83, 0x99, 0x03, 0xd6, 0xc0, 0xa6, 0xde, 0xf6, 0xe1, 0x84, 0x49, 0x8b, 0x0a, 0x7f, + 0xe9, 0x6d, 0x52, 0x0e, 0x47, 0x77, 0x25, 0x35, 0x93, 0xaa, 0x1f, 0xc3, 0x4c, 0x7c, 0x7a, 0x24, + 0x75, 0x60, 0x82, 0xb7, 0x7b, 0x7b, 0x62, 0xbb, 0xa0, 0xb2, 0x8c, 0x9b, 0x8a, 0x3e, 0xb9, 0x88, + 0xc6, 0xa8, 0x5a, 0x81, 0x07, 0x81, 0x88, 0x97, 0x7c, 0x74, 0x61, 0xd2, 0x62, 0x92, 0x0b, 0x3a, + 0x27, 0x27, 0x75, 0xd6, 0x98, 0x4c, 0xdc, 0x13, 0x78, 0xd0, 0x4d, 0x1a, 0x17, 0x7a, 0xe8, 0xc6, + 0x42, 0xcf, 0x77, 0x7e, 0xba, 0x11, 0x13, 0xbd, 0xfc, 0x67, 0x0a, 0xa8, 0x81, 0xce, 0x85, 0x05, + 0x76, 0x5d, 0xf1, 0x4e, 0x4b, 0xe7, 0xd3, 0x65, 0xf1, 0x44, 0x2a, 0x4f, 0xdb, 0x9f, 0x2c, 0xff, + 0x12, 0x4c, 0xda, 0xe8, 0x54, 0x37, 0x24, 0x44, 0xf0, 0xda, 0xb4, 0xd4, 0x71, 0x8f, 0xb7, 0x8d, + 0xbf, 0xc8, 0x64, 0xfb, 0xa3, 0x7f, 0x5c, 0x5c, 0x3a, 0x22, 0x7e, 0xa3, 0x75, 0xb0, 0x6c, 0xb8, + 0xf6, 0x8a, 0xfc, 0xfe, 0x46, 0xfc, 0xf7, 0x0e, 0x35, 0x8f, 0x57, 0x58, 0x8d, 0x4c, 0x39, 0x01, + 0xd5, 0x54, 0x1b, 0x9d, 0xb6, 0x8b, 0x4a, 0xcb, 0x7f, 0x98, 0x80, 0xd9, 0x4b, 0xfd, 0x87, 0xbb, + 0xce, 0x07, 0x30, 0x1b, 0x0a, 0x16, 0xbc, 0xbf, 0x1d, 0xbe, 0x78, 0x29, 0xd6, 0x33, 0x13, 0x4c, + 0x08, 0x5e, 0xdd, 0x0e, 0xde, 0xb1, 0x7c, 0x0d, 0xb2, 0xb1, 0x07, 0x47, 0x62, 0x41, 0x69, 0x2d, + 0x13, 0x3d, 0x39, 0xa2, 0x6a, 0x0b, 0x66, 0xdb, 0xdf, 0x16, 0xd7, 0xb9, 0x81, 0xc5, 0x21, 0x21, + 0xc9, 0xc3, 0xc9, 0x07, 0xbd, 0xec, 0xd5, 0xdb, 0xf1, 0xb5, 0xe9, 0xb6, 0x57, 0xcc, 0xa3, 0x0d, + 0xf1, 0x25, 0x98, 0x31, 0x09, 0x7d, 0xd9, 0x42, 0x16, 0x39, 0x24, 0xd8, 0x8c, 0xfb, 0xd9, 0x10, + 0x17, 0x72, 0x2a, 0x3e, 0x1c, 0xba, 0x58, 0xf9, 0xcf, 0x13, 0x30, 0xb1, 0x81, 0x71, 0x95, 0x50, + 0x71, 0x77, 0x4f, 0xe4, 0x81, 0xa4, 0x0e, 0x13, 0x22, 0x7a, 0x98, 0x72, 0x44, 0x3c, 0x68, 0x1a, + 0xe4, 0x81, 0x2f, 0xa7, 0x0f, 0x80, 0xf9, 0x63, 0xa6, 0x3a, 0x4c, 0xf8, 0x97, 0x80, 0x0e, 0x52, + 0xa6, 0xf8, 0x5d, 0xa0, 0xab, 0x90, 0x93, 0x1f, 0x02, 0x20, 0x9b, 0xdf, 0x54, 0x24, 0xfb, 0x79, + 0xf3, 0x3f, 0x2b, 0x68, 0x2a, 0x9c, 0x84, 0xa5, 0xef, 0x13, 0xd7, 0x6a, 0xd9, 0x03, 0x25, 0x61, + 0x49, 0x52, 0xfe, 0xf5, 0x76, 0x15, 0xd6, 0x8d, 0x06, 0x36, 0x5b, 0x16, 0x7f, 0xf1, 0xf4, 0xa0, + 0x65, 0x30, 0x2b, 0x44, 0x97, 0x5b, 0x43, 0x5a, 0x46, 0xf4, 0x89, 0xbb, 0x97, 0x37, 0x60, 0x4c, + 0x4e, 0x09, 0xbf, 0x24, 0x10, 0xaf, 0x78, 0xe4, 0x45, 0x77, 0xf8, 0xe9, 0x40, 0xa7, 0xe3, 0x25, + 0xbb, 0x1d, 0x6f, 0x1b, 0xc0, 0x27, 0xf2, 0x34, 0x1a, 0x44, 0x86, 0x95, 0x5e, 0x9e, 0x76, 0x89, + 0xd9, 0xb5, 0xb4, 0x2f, 0x7f, 0xd1, 0x5e, 0x1e, 0x35, 0xdc, 0xcb, 0xa3, 0xb6, 0x40, 0xed, 0x40, + 0xde, 0xdb, 0xdb, 0x54, 0x55, 0x18, 0xf2, 0x83, 0xd4, 0x33, 0xa4, 0xf1, 0xdf, 0x2c, 0x19, 0xfb, + 0xbe, 0xd5, 0xf5, 0x7a, 0x4b, 0xd6, 0xf7, 0xad, 0xe8, 0xf1, 0xf6, 0xef, 0x2a, 0x90, 0xfd, 0x88, + 0x2b, 0x5a, 0xc3, 0x86, 0xeb, 0x99, 0xfc, 0xf1, 0x1c, 0x77, 0x22, 0x69, 0x31, 0x65, 0x90, 0xc7, + 0x73, 0x8c, 0x50, 0xa0, 0x31, 0x1c, 0x3f, 0x8e, 0x33, 0xc8, 0x4d, 0xb7, 0x1f, 0xe1, 0x94, 0x7f, + 0x53, 0x81, 0x7c, 0x45, 0x64, 0x66, 0x19, 0x80, 0xd4, 0x22, 0x8c, 0xca, 0x5c, 0x2d, 0x53, 0x7e, + 0xd0, 0x54, 0x31, 0x8c, 0xfe, 0x14, 0x83, 0x61, 0x80, 0x5d, 0xfe, 0x15, 0x05, 0xb2, 0xbc, 0x24, + 0x16, 0x3a, 0xa3, 0xbd, 0x4f, 0x73, 0x2f, 0x60, 0xd2, 0x42, 0x3e, 0xa6, 0xbe, 0xce, 0x82, 0x0b, + 0x2f, 0x19, 0xdd, 0x48, 0xc2, 0x37, 0xae, 0x8b, 0x56, 0x92, 0x89, 0xa6, 0x0a, 0x90, 0x38, 0xdf, + 0xf2, 0x97, 0x20, 0x17, 0x15, 0x2e, 0xb5, 0x2a, 0x55, 0x1f, 0x41, 0xbe, 0xad, 0x00, 0x13, 0xf9, + 0x3a, 0xab, 0xe5, 0xe2, 0x15, 0x18, 0x2d, 0xff, 0x81, 0x02, 0x99, 0x18, 0x90, 0x7a, 0x1f, 0xd2, + 0x9d, 0x49, 0x27, 0xea, 0xb8, 0xcd, 0x51, 0x31, 0x7e, 0x4c, 0x4d, 0xde, 0xe0, 0x98, 0x5a, 0xb6, + 0x61, 0x58, 0x7c, 0x7a, 0xf2, 0x04, 0x94, 0xe6, 0x20, 0xce, 0xa8, 0x34, 0x19, 0xc9, 0xcb, 0x41, + 0x64, 0x56, 0x5e, 0x96, 0x7f, 0x5b, 0x81, 0xc5, 0x4a, 0x70, 0x23, 0x1c, 0xa9, 0xb6, 0x6d, 0x87, + 0xf4, 0xf5, 0x44, 0x75, 0x07, 0xf2, 0xd2, 0x23, 0x84, 0xff, 0x07, 0xe6, 0xee, 0xe3, 0xe9, 0xbe, + 0x64, 0x96, 0xb3, 0x63, 0x2d, 0x5a, 0xfe, 0x8e, 0x02, 0xf7, 0x43, 0xc9, 0x2a, 0x97, 0x88, 0x75, + 0xf5, 0xae, 0xb8, 0x73, 0x59, 0x28, 0x64, 0xe3, 0xc3, 0xbd, 0xdd, 0x7f, 0x23, 0x0c, 0xfe, 0xa2, + 0xda, 0xef, 0xc9, 0x35, 0xbe, 0x22, 0x59, 0x4a, 0x05, 0x79, 0xa0, 0xc2, 0xea, 0x7e, 0xc7, 0xb5, + 0xab, 0xd8, 0x20, 0x36, 0xb2, 0xe8, 0x15, 0x75, 0xff, 0x1c, 0xab, 0xfb, 0xc5, 0x0c, 0xce, 0x70, + 0x48, 0x0b, 0xdb, 0x65, 0x0c, 0xea, 0x33, 0x0f, 0x39, 0x7e, 0xa5, 0xe5, 0x37, 0x5c, 0x8f, 0x7c, + 0x22, 0x82, 0x7f, 0x11, 0x46, 0x8f, 0x58, 0xaf, 0xfc, 0x0a, 0x38, 0xad, 0x05, 0x4d, 0xf5, 0x3d, + 0x18, 0x91, 0x49, 0x2f, 0xd1, 0x4f, 0xd2, 0x93, 0x93, 0xcb, 0xdf, 0x86, 0x4c, 0x85, 0xaf, 0x8f, + 0x33, 0x8b, 0xf0, 0xbd, 0x76, 0x7c, 0xef, 0xa6, 0xf8, 0xdf, 0x53, 0x20, 0xbf, 0x7e, 0x78, 0x88, + 0xfb, 0xe2, 0x51, 0x83, 0x71, 0x07, 0xfb, 0xba, 0x68, 0xca, 0x8f, 0xfa, 0xfa, 0x63, 0x37, 0xe6, + 0x60, 0xff, 0x99, 0x20, 0xe3, 0x9f, 0xef, 0xa9, 0xb3, 0x90, 0x22, 0x54, 0x3f, 0x41, 0x96, 0xbc, + 0xf2, 0x49, 0x69, 0xa3, 0x84, 0x7e, 0xc4, 0x9a, 0x8f, 0x7d, 0xb8, 0xdf, 0xeb, 0xb3, 0x32, 0x15, + 0x60, 0x64, 0xdb, 0x3d, 0x70, 0xcd, 0xb3, 0xc2, 0x3d, 0xb5, 0x0c, 0x0b, 0xab, 0xf8, 0x88, 0x38, + 0xab, 0x96, 0x6b, 0x1c, 0x63, 0xaf, 0x6e, 0x23, 0xcf, 0x5f, 0x73, 0x1d, 0xdf, 0x43, 0x86, 0x4f, + 0x77, 0x1c, 0xeb, 0xac, 0xa0, 0xa8, 0xd3, 0xa0, 0x5e, 0xd2, 0x9f, 0x50, 0xb3, 0x90, 0x5a, 0x3f, + 0xc1, 0xde, 0x99, 0xeb, 0xe0, 0x42, 0xf2, 0xf1, 0x5e, 0xe0, 0x87, 0xe2, 0x85, 0x18, 0x75, 0x0c, + 0x32, 0xfb, 0x0e, 0x6d, 0x62, 0x83, 0xe7, 0xcc, 0xc2, 0x3d, 0xc6, 0x56, 0x58, 0xa2, 0xa0, 0xb0, + 0xdf, 0xbb, 0xa8, 0x45, 0xb1, 0x59, 0x48, 0xa8, 0x79, 0x80, 0x2a, 0xb6, 0x5d, 0x8b, 0xd0, 0x06, + 0x36, 0x0b, 0x49, 0x35, 0x03, 0xa3, 0xfc, 0x45, 0x52, 0x6c, 0x16, 0x86, 0x1e, 0xff, 0x69, 0x42, + 0xbe, 0x3f, 0xc1, 0x2f, 0x7d, 0x4b, 0x90, 0xd9, 0xdf, 0xae, 0xef, 0xae, 0xaf, 0xd5, 0x36, 0x6a, + 0xeb, 0xd5, 0xc2, 0xbd, 0xb9, 0xb1, 0xf3, 0x8b, 0x52, 0xbc, 0x8b, 0x9d, 0xe7, 0x57, 0xf7, 0x5f, + 0x14, 0x94, 0xb9, 0xd1, 0xf3, 0x8b, 0x12, 0xfb, 0xc9, 0xb2, 0x71, 0x7d, 0x7d, 0x73, 0xb3, 0x90, + 0x98, 0x4b, 0x9d, 0x5f, 0x94, 0xf8, 0x6f, 0xe6, 0x97, 0xf5, 0xbd, 0x9d, 0x5d, 0x9d, 0x4d, 0x4d, + 0xce, 0x65, 0xcf, 0x2f, 0x4a, 0x61, 0x9b, 0x85, 0x5f, 0xfe, 0x9b, 0x13, 0x0d, 0xcd, 0xe5, 0xce, + 0x2f, 0x4a, 0x51, 0x07, 0xa3, 0xdc, 0xab, 0x7c, 0xb8, 0xce, 0x29, 0x87, 0x05, 0x65, 0xd0, 0x66, + 0x94, 0xfc, 0x37, 0xa7, 0x1c, 0x11, 0x94, 0x61, 0x87, 0x3a, 0x0d, 0x23, 0xab, 0xfb, 0x2f, 0xf4, + 0xdd, 0x9d, 0xc2, 0xe8, 0x1c, 0x9c, 0x5f, 0x94, 0x64, 0x8b, 0x79, 0x0b, 0x1b, 0x67, 0x03, 0xa9, + 0xb9, 0xcc, 0xf9, 0x45, 0x29, 0x68, 0xaa, 0x0b, 0x00, 0x6c, 0x4e, 0x65, 0x6f, 0x67, 0xab, 0xb6, + 0x56, 0x48, 0xcf, 0xe5, 0xcf, 0x2f, 0x4a, 0xb1, 0x1e, 0xa6, 0x0d, 0x3e, 0x55, 0x4e, 0x00, 0xa1, + 0x8d, 0x58, 0xd7, 0xe3, 0x3f, 0x56, 0x20, 0xb7, 0x1e, 0xdc, 0x25, 0x71, 0x0d, 0xde, 0x87, 0x62, + 0xcc, 0x2a, 0x6d, 0x63, 0xc2, 0x44, 0xc2, 0x86, 0x05, 0x45, 0xcd, 0x41, 0x9a, 0x3f, 0x93, 0xd9, + 0x20, 0x96, 0x55, 0x48, 0xa8, 0x73, 0x30, 0xcd, 0x9b, 0x5b, 0xc8, 0x37, 0x1a, 0x9a, 0xf8, 0xda, + 0x93, 0x1b, 0xa6, 0x90, 0x64, 0x0e, 0x12, 0x8d, 0x6d, 0xe3, 0x57, 0xa2, 0x7f, 0x48, 0x9d, 0x82, + 0x71, 0xf9, 0xb1, 0x99, 0xfc, 0x82, 0x93, 0xb8, 0x4e, 0x61, 0x98, 0x41, 0x89, 0x37, 0x85, 0x3b, + 0xdf, 0x47, 0x2c, 0x8c, 0x3c, 0xfe, 0x4e, 0x60, 0xef, 0x2d, 0x44, 0x8f, 0x99, 0xce, 0xf6, 0xb7, + 0xf7, 0xeb, 0xdc, 0xd4, 0x5c, 0x67, 0xa2, 0xc5, 0xac, 0x5c, 0xd9, 0x0e, 0xad, 0x5c, 0xd9, 0x7e, + 0xc1, 0xb4, 0xa8, 0xad, 0x3f, 0xdb, 0xdf, 0xac, 0x68, 0x85, 0x84, 0xd0, 0xa2, 0x6c, 0x32, 0x2d, + 0xad, 0xed, 0x6c, 0x57, 0x6b, 0x7b, 0xb5, 0x9d, 0xed, 0x0a, 0xb3, 0x28, 0xd7, 0x52, 0xac, 0x4b, + 0x5d, 0x86, 0x99, 0x6a, 0x4d, 0x5b, 0x5f, 0x63, 0x4d, 0x66, 0x48, 0x7d, 0x47, 0xd3, 0x9f, 0xd7, + 0x9e, 0x3d, 0x5f, 0xd7, 0x0a, 0xa9, 0xb9, 0xf1, 0xf3, 0x8b, 0x52, 0xae, 0xad, 0xb3, 0x7d, 0x3e, + 0x57, 0xf7, 0x8e, 0xa6, 0x6f, 0xee, 0xfc, 0xfc, 0xba, 0x56, 0x28, 0x88, 0xf9, 0x6d, 0x9d, 0xea, + 0x3c, 0x64, 0xf6, 0x5e, 0xec, 0xae, 0xeb, 0x5b, 0x15, 0xed, 0xc3, 0xf5, 0xbd, 0x42, 0x49, 0x2c, + 0x45, 0xb4, 0xd4, 0x59, 0x00, 0x3e, 0xb8, 0x59, 0xdb, 0xaa, 0xed, 0x15, 0x9e, 0xce, 0xa5, 0xcf, + 0x2f, 0x4a, 0xc3, 0xbc, 0xb1, 0xda, 0xf8, 0xc1, 0x67, 0x0b, 0xca, 0x8f, 0x3e, 0x5b, 0x50, 0xfe, + 0xe9, 0xb3, 0x05, 0xe5, 0x7b, 0x9f, 0x2f, 0xdc, 0xfb, 0xd1, 0xe7, 0x0b, 0xf7, 0xfe, 0xfe, 0xf3, + 0x85, 0x7b, 0xdf, 0xd8, 0x8e, 0x95, 0x49, 0xb5, 0x20, 0x80, 0x6f, 0xa2, 0x03, 0xba, 0x12, 0x86, + 0xf3, 0x77, 0x0c, 0xd7, 0xc3, 0xf1, 0x66, 0x03, 0x11, 0x67, 0xc5, 0x76, 0x59, 0xb9, 0x4e, 0xa3, + 0xbf, 0x1d, 0xc1, 0x4b, 0xaa, 0x83, 0x11, 0xfe, 0xc5, 0xe2, 0xff, 0xfb, 0xcf, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xf1, 0x88, 0x50, 0x14, 0x5e, 0x42, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { @@ -3489,6 +3715,17 @@ func (this *Params) Equal(that interface{}) bool { if this.PostOnlyModeHeightThreshold != that1.PostOnlyModeHeightThreshold { return false } + if this.MarginDecreasePriceTimestampThresholdSeconds != that1.MarginDecreasePriceTimestampThresholdSeconds { + return false + } + if len(this.ExchangeAdmins) != len(that1.ExchangeAdmins) { + return false + } + for i := range this.ExchangeAdmins { + if this.ExchangeAdmins[i] != that1.ExchangeAdmins[i] { + return false + } + } return true } func (m *Params) Marshal() (dAtA []byte, err error) { @@ -3511,6 +3748,24 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.ExchangeAdmins) > 0 { + for iNdEx := len(m.ExchangeAdmins) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.ExchangeAdmins[iNdEx]) + copy(dAtA[i:], m.ExchangeAdmins[iNdEx]) + i = encodeVarintExchange(dAtA, i, uint64(len(m.ExchangeAdmins[iNdEx]))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xda + } + } + if m.MarginDecreasePriceTimestampThresholdSeconds != 0 { + i = encodeVarintExchange(dAtA, i, uint64(m.MarginDecreasePriceTimestampThresholdSeconds)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xd0 + } if m.PostOnlyModeHeightThreshold != 0 { i = encodeVarintExchange(dAtA, i, uint64(m.PostOnlyModeHeightThreshold)) i-- @@ -3814,6 +4069,34 @@ func (m *DerivativeMarket) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.AdminPermissions != 0 { + i = encodeVarintExchange(dAtA, i, uint64(m.AdminPermissions)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x98 + } + if len(m.Admin) > 0 { + i -= len(m.Admin) + copy(dAtA[i:], m.Admin) + i = encodeVarintExchange(dAtA, i, uint64(len(m.Admin))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintExchange(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a { size := m.MinQuantityTickSize.Size() i -= size @@ -3969,6 +4252,25 @@ func (m *BinaryOptionsMarket) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.AdminPermissions != 0 { + i = encodeVarintExchange(dAtA, i, uint64(m.AdminPermissions)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x98 + } + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintExchange(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 if m.SettlementPrice != nil { { size := m.SettlementPrice.Size() @@ -4420,6 +4722,28 @@ func (m *SpotMarket) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.AdminPermissions != 0 { + i = encodeVarintExchange(dAtA, i, uint64(m.AdminPermissions)) + i-- + dAtA[i] = 0x68 + } + if len(m.Admin) > 0 { + i -= len(m.Admin) + copy(dAtA[i:], m.Admin) + i = encodeVarintExchange(dAtA, i, uint64(len(m.Admin))) + i-- + dAtA[i] = 0x62 + } + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintExchange(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x5a { size := m.MinQuantityTickSize.Size() i -= size @@ -4982,6 +5306,13 @@ func (m *SubaccountOrder) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintExchange(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x22 + } if m.IsReduceOnly { i-- if m.IsReduceOnly { @@ -5488,6 +5819,16 @@ func (m *DerivativeTradeLog) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + { + size := m.Pnl.Size() + i -= size + if _, err := m.Pnl.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintExchange(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 if len(m.Cid) > 0 { i -= len(m.Cid) copy(dAtA[i:], m.Cid) @@ -6469,52 +6810,182 @@ func (m *DenomDecimals) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func encodeVarintExchange(dAtA []byte, offset int, v uint64) int { - offset -= sovExchange(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ +func (m *GrantAuthorization) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - dAtA[offset] = uint8(v) - return base + return dAtA[:n], nil } -func (m *Params) Size() (n int) { - if m == nil { - return 0 - } + +func (m *GrantAuthorization) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *GrantAuthorization) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = m.SpotMarketInstantListingFee.Size() - n += 1 + l + sovExchange(uint64(l)) - l = m.DerivativeMarketInstantListingFee.Size() - n += 1 + l + sovExchange(uint64(l)) - l = m.DefaultSpotMakerFeeRate.Size() - n += 1 + l + sovExchange(uint64(l)) - l = m.DefaultSpotTakerFeeRate.Size() - n += 1 + l + sovExchange(uint64(l)) - l = m.DefaultDerivativeMakerFeeRate.Size() - n += 1 + l + sovExchange(uint64(l)) - l = m.DefaultDerivativeTakerFeeRate.Size() - n += 1 + l + sovExchange(uint64(l)) - l = m.DefaultInitialMarginRatio.Size() - n += 1 + l + sovExchange(uint64(l)) - l = m.DefaultMaintenanceMarginRatio.Size() - n += 1 + l + sovExchange(uint64(l)) - if m.DefaultFundingInterval != 0 { - n += 1 + sovExchange(uint64(m.DefaultFundingInterval)) + { + size := m.Amount.Size() + i -= size + if _, err := m.Amount.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintExchange(dAtA, i, uint64(size)) } - if m.FundingMultiple != 0 { - n += 1 + sovExchange(uint64(m.FundingMultiple)) + i-- + dAtA[i] = 0x12 + if len(m.Grantee) > 0 { + i -= len(m.Grantee) + copy(dAtA[i:], m.Grantee) + i = encodeVarintExchange(dAtA, i, uint64(len(m.Grantee))) + i-- + dAtA[i] = 0xa } - l = m.RelayerFeeShareRate.Size() - n += 1 + l + sovExchange(uint64(l)) - l = m.DefaultHourlyFundingRateCap.Size() - n += 1 + l + sovExchange(uint64(l)) - l = m.DefaultHourlyInterestRate.Size() - n += 1 + l + sovExchange(uint64(l)) - if m.MaxDerivativeOrderSideCount != 0 { + return len(dAtA) - i, nil +} + +func (m *ActiveGrant) 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 *ActiveGrant) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ActiveGrant) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size := m.Amount.Size() + i -= size + if _, err := m.Amount.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintExchange(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Granter) > 0 { + i -= len(m.Granter) + copy(dAtA[i:], m.Granter) + i = encodeVarintExchange(dAtA, i, uint64(len(m.Granter))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *EffectiveGrant) 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 *EffectiveGrant) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EffectiveGrant) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.IsValid { + i-- + if m.IsValid { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + { + size := m.NetGrantedStake.Size() + i -= size + if _, err := m.NetGrantedStake.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintExchange(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Granter) > 0 { + i -= len(m.Granter) + copy(dAtA[i:], m.Granter) + i = encodeVarintExchange(dAtA, i, uint64(len(m.Granter))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintExchange(dAtA []byte, offset int, v uint64) int { + offset -= sovExchange(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 = m.SpotMarketInstantListingFee.Size() + n += 1 + l + sovExchange(uint64(l)) + l = m.DerivativeMarketInstantListingFee.Size() + n += 1 + l + sovExchange(uint64(l)) + l = m.DefaultSpotMakerFeeRate.Size() + n += 1 + l + sovExchange(uint64(l)) + l = m.DefaultSpotTakerFeeRate.Size() + n += 1 + l + sovExchange(uint64(l)) + l = m.DefaultDerivativeMakerFeeRate.Size() + n += 1 + l + sovExchange(uint64(l)) + l = m.DefaultDerivativeTakerFeeRate.Size() + n += 1 + l + sovExchange(uint64(l)) + l = m.DefaultInitialMarginRatio.Size() + n += 1 + l + sovExchange(uint64(l)) + l = m.DefaultMaintenanceMarginRatio.Size() + n += 1 + l + sovExchange(uint64(l)) + if m.DefaultFundingInterval != 0 { + n += 1 + sovExchange(uint64(m.DefaultFundingInterval)) + } + if m.FundingMultiple != 0 { + n += 1 + sovExchange(uint64(m.FundingMultiple)) + } + l = m.RelayerFeeShareRate.Size() + n += 1 + l + sovExchange(uint64(l)) + l = m.DefaultHourlyFundingRateCap.Size() + n += 1 + l + sovExchange(uint64(l)) + l = m.DefaultHourlyInterestRate.Size() + n += 1 + l + sovExchange(uint64(l)) + if m.MaxDerivativeOrderSideCount != 0 { n += 1 + sovExchange(uint64(m.MaxDerivativeOrderSideCount)) } l = m.InjRewardStakedRequirementThreshold.Size() @@ -6543,6 +7014,15 @@ func (m *Params) Size() (n int) { if m.PostOnlyModeHeightThreshold != 0 { n += 2 + sovExchange(uint64(m.PostOnlyModeHeightThreshold)) } + if m.MarginDecreasePriceTimestampThresholdSeconds != 0 { + n += 2 + sovExchange(uint64(m.MarginDecreasePriceTimestampThresholdSeconds)) + } + if len(m.ExchangeAdmins) > 0 { + for _, s := range m.ExchangeAdmins { + l = len(s) + n += 2 + l + sovExchange(uint64(l)) + } + } return n } @@ -6613,6 +7093,15 @@ func (m *DerivativeMarket) Size() (n int) { n += 1 + l + sovExchange(uint64(l)) l = m.MinQuantityTickSize.Size() n += 2 + l + sovExchange(uint64(l)) + l = m.MinNotional.Size() + n += 2 + l + sovExchange(uint64(l)) + l = len(m.Admin) + if l > 0 { + n += 2 + l + sovExchange(uint64(l)) + } + if m.AdminPermissions != 0 { + n += 2 + sovExchange(uint64(m.AdminPermissions)) + } return n } @@ -6675,6 +7164,11 @@ func (m *BinaryOptionsMarket) Size() (n int) { l = m.SettlementPrice.Size() n += 2 + l + sovExchange(uint64(l)) } + l = m.MinNotional.Size() + n += 2 + l + sovExchange(uint64(l)) + if m.AdminPermissions != 0 { + n += 2 + sovExchange(uint64(m.AdminPermissions)) + } return n } @@ -6823,6 +7317,15 @@ func (m *SpotMarket) Size() (n int) { n += 1 + l + sovExchange(uint64(l)) l = m.MinQuantityTickSize.Size() n += 1 + l + sovExchange(uint64(l)) + l = m.MinNotional.Size() + n += 1 + l + sovExchange(uint64(l)) + l = len(m.Admin) + if l > 0 { + n += 1 + l + sovExchange(uint64(l)) + } + if m.AdminPermissions != 0 { + n += 1 + sovExchange(uint64(m.AdminPermissions)) + } return n } @@ -7008,6 +7511,10 @@ func (m *SubaccountOrder) Size() (n int) { if m.IsReduceOnly { n += 2 } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovExchange(uint64(l)) + } return n } @@ -7195,6 +7702,8 @@ func (m *DerivativeTradeLog) Size() (n int) { if l > 0 { n += 1 + l + sovExchange(uint64(l)) } + l = m.Pnl.Size() + n += 1 + l + sovExchange(uint64(l)) return n } @@ -7572,6 +8081,54 @@ func (m *DenomDecimals) Size() (n int) { return n } +func (m *GrantAuthorization) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Grantee) + if l > 0 { + n += 1 + l + sovExchange(uint64(l)) + } + l = m.Amount.Size() + n += 1 + l + sovExchange(uint64(l)) + return n +} + +func (m *ActiveGrant) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Granter) + if l > 0 { + n += 1 + l + sovExchange(uint64(l)) + } + l = m.Amount.Size() + n += 1 + l + sovExchange(uint64(l)) + return n +} + +func (m *EffectiveGrant) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Granter) + if l > 0 { + n += 1 + l + sovExchange(uint64(l)) + } + l = m.NetGrantedStake.Size() + n += 1 + l + sovExchange(uint64(l)) + if m.IsValid { + n += 2 + } + return n +} + func sovExchange(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -8350,6 +8907,57 @@ func (m *Params) Unmarshal(dAtA []byte) error { break } } + case 26: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MarginDecreasePriceTimestampThresholdSeconds", wireType) + } + m.MarginDecreasePriceTimestampThresholdSeconds = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExchange + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MarginDecreasePriceTimestampThresholdSeconds |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 27: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExchangeAdmins", 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 + } + m.ExchangeAdmins = append(m.ExchangeAdmins, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipExchange(dAtA[iNdEx:]) @@ -8991,19 +9599,104 @@ func (m *DerivativeMarket) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipExchange(dAtA[iNdEx:]) - if err != nil { - return err + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { + 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 } - if (iNdEx + skippy) > l { + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthExchange + } + if postIndex > l { return io.ErrUnexpectedEOF } - iNdEx += skippy + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Admin", 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 + } + m.Admin = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 19: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminPermissions", wireType) + } + m.AdminPermissions = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExchange + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AdminPermissions |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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 } } @@ -9528,12 +10221,65 @@ func (m *BinaryOptionsMarket) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.SettlementPrice = &v if err := m.SettlementPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", 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 + } + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 19: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminPermissions", wireType) + } + m.AdminPermissions = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExchange + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AdminPermissions |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipExchange(dAtA[iNdEx:]) @@ -10312,7 +11058,7 @@ func (m *MidPriceAndTOB) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MidPrice = &v if err := m.MidPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10348,7 +11094,7 @@ func (m *MidPriceAndTOB) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.BestBuyPrice = &v if err := m.BestBuyPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10384,7 +11130,7 @@ func (m *MidPriceAndTOB) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.BestSellPrice = &v if err := m.BestSellPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10757,6 +11503,91 @@ func (m *SpotMarket) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", 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 + } + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Admin", 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 + } + m.Admin = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminPermissions", wireType) + } + m.AdminPermissions = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExchange + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AdminPermissions |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipExchange(dAtA[iNdEx:]) @@ -11322,7 +12153,7 @@ func (m *SpotOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TriggerPrice = &v if err := m.TriggerPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -11494,7 +12325,7 @@ func (m *SpotLimitOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TriggerPrice = &v if err := m.TriggerPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -11734,7 +12565,7 @@ func (m *SpotMarketOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TriggerPrice = &v if err := m.TriggerPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -11938,7 +12769,7 @@ func (m *DerivativeOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TriggerPrice = &v if err := m.TriggerPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -12276,6 +13107,38 @@ func (m *SubaccountOrder) Unmarshal(dAtA []byte) error { } } m.IsReduceOnly = bool(v != 0) + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cid", 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 + } + m.Cid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipExchange(dAtA[iNdEx:]) @@ -12596,7 +13459,7 @@ func (m *DerivativeLimitOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TriggerPrice = &v if err := m.TriggerPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -12836,7 +13699,7 @@ func (m *DerivativeMarketOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TriggerPrice = &v if err := m.TriggerPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -13930,6 +14793,40 @@ func (m *DerivativeTradeLog) Unmarshal(dAtA []byte) error { } m.Cid = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pnl", 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 + } + if err := m.Pnl.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipExchange(dAtA[iNdEx:]) @@ -16474,6 +17371,374 @@ func (m *DenomDecimals) Unmarshal(dAtA []byte) error { } return nil } +func (m *GrantAuthorization) 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: GrantAuthorization: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GrantAuthorization: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grantee", 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 + } + m.Grantee = 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 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 + } + if err := m.Amount.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 *ActiveGrant) 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: ActiveGrant: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ActiveGrant: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Granter", 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 + } + m.Granter = 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 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 + } + if err := m.Amount.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 *EffectiveGrant) 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: EffectiveGrant: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EffectiveGrant: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Granter", 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 + } + m.Granter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NetGrantedStake", 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 + } + if err := m.NetGrantedStake.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsValid", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowExchange + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.IsValid = bool(v != 0) + 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 skipExchange(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/exchange/types/expected_keepers.go b/chain/exchange/types/expected_keepers.go index 4a565c43..1078c62b 100644 --- a/chain/exchange/types/expected_keepers.go +++ b/chain/exchange/types/expected_keepers.go @@ -1,6 +1,7 @@ package types import ( + "context" "time" sdkmath "cosmossdk.io/math" @@ -27,13 +28,14 @@ type BankKeeper interface { // OracleKeeper defines the expected oracle keeper methods. type OracleKeeper interface { - GetPrice(ctx sdk.Context, oracletype oracletypes.OracleType, base string, quote string) *sdk.Dec - GetCumulativePrice(ctx sdk.Context, oracleType oracletypes.OracleType, base string, quote string) *sdk.Dec + GetPrice(ctx sdk.Context, oracletype oracletypes.OracleType, base string, quote string) *sdkmath.LegacyDec + GetPricePairState(ctx sdk.Context, oracletype oracletypes.OracleType, base, quote string, scalingOptions *oracletypes.ScalingOptions) *oracletypes.PricePairState + GetCumulativePrice(ctx sdk.Context, oracleType oracletypes.OracleType, base string, quote string) *sdkmath.LegacyDec GetHistoricalPriceRecords(ctx sdk.Context, oracleType oracletypes.OracleType, symbol string, from int64) (entry *oracletypes.PriceRecords, omitted bool) GetMixedHistoricalPriceRecords(ctx sdk.Context, baseOracleType, quoteOracleType oracletypes.OracleType, baseSymbol, quoteSymbol string, from int64) (mixed *oracletypes.PriceRecords, ok bool) - GetStandardDeviationForPriceRecords(priceRecords []*oracletypes.PriceRecord) *sdk.Dec + GetStandardDeviationForPriceRecords(priceRecords []*oracletypes.PriceRecord) *sdkmath.LegacyDec GetProviderInfo(ctx sdk.Context, provider string) *oracletypes.ProviderInfo - GetProviderPrice(ctx sdk.Context, provider, symbol string) *sdk.Dec + GetProviderPrice(ctx sdk.Context, provider, symbol string) *sdkmath.LegacyDec GetProviderPriceState(ctx sdk.Context, provider, symbol string) *oracletypes.ProviderPriceState } @@ -52,8 +54,8 @@ type InsuranceKeeper interface { } type GovKeeper interface { - IterateActiveProposalsQueue(ctx sdk.Context, endTime time.Time, cb func(proposal v1.Proposal) (stop bool)) - GetParams(ctx sdk.Context) v1.Params + IterateActiveProposalsQueue(ctx context.Context, endTime time.Time, cb func(proposal v1.Proposal) (stop bool)) + GetParams(ctx context.Context) v1.Params } type DistributionKeeper interface { @@ -63,8 +65,8 @@ type DistributionKeeper interface { } type StakingKeeper interface { - GetDelegatorDelegations(ctx sdk.Context, delegator sdk.AccAddress, maxRetrieve uint16) (delegations []stakingtypes.Delegation) - Validator(sdk.Context, sdk.ValAddress) stakingtypes.ValidatorI + GetDelegatorDelegations(ctx context.Context, delegator sdk.AccAddress, maxRetrieve uint16) (delegations []stakingtypes.Delegation, err error) + Validator(context.Context, sdk.ValAddress) (stakingtypes.ValidatorI, error) // get a particular validator by operator address } type WasmViewKeeper interface { diff --git a/chain/exchange/types/fee_discounts.go b/chain/exchange/types/fee_discounts.go index c9f16850..3e0bdec4 100644 --- a/chain/exchange/types/fee_discounts.go +++ b/chain/exchange/types/fee_discounts.go @@ -1,18 +1,17 @@ package types import ( - sdkmath "cosmossdk.io/math" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" ) type FeeDiscountRates struct { - MakerDiscountRate sdk.Dec - TakerDiscountRate sdk.Dec + MakerDiscountRate math.LegacyDec + TakerDiscountRate math.LegacyDec } func (s *FeeDiscountSchedule) CalculateFeeDiscountTier( - stakedAmount sdkmath.Int, - tradingVolume sdk.Dec, + stakedAmount math.Int, + tradingVolume math.LegacyDec, ) ( feeDiscountRates *FeeDiscountRates, tierLevel uint64, @@ -31,8 +30,8 @@ func (s *FeeDiscountSchedule) CalculateFeeDiscountTier( if tierLevel == 0 { feeDiscountRates = &FeeDiscountRates{ - MakerDiscountRate: sdk.ZeroDec(), - TakerDiscountRate: sdk.ZeroDec(), + MakerDiscountRate: math.LegacyZeroDec(), + TakerDiscountRate: math.LegacyZeroDec(), } } else { feeDiscountRates = &FeeDiscountRates{ @@ -45,8 +44,8 @@ func (s *FeeDiscountSchedule) CalculateFeeDiscountTier( } func (s *FeeDiscountSchedule) TierOneRequirements() ( - minStakedAmount sdkmath.Int, - minTradingFeePaid sdk.Dec, + minStakedAmount math.Int, + minTradingFeePaid math.LegacyDec, ) { // s.TierInfos[0] is tier one, since tier 0 is implicit return s.TierInfos[0].StakedAmount, s.TierInfos[0].Volume @@ -61,8 +60,8 @@ func (s *FeeDiscountSchedule) GetFeeDiscountRatesMap() FeeDiscountRatesMap { feeDiscountRatesMap := make(FeeDiscountRatesMap, len(s.TierInfos)) feeDiscountRatesMap[0] = &FeeDiscountRates{ - MakerDiscountRate: sdk.ZeroDec(), - TakerDiscountRate: sdk.ZeroDec(), + MakerDiscountRate: math.LegacyZeroDec(), + TakerDiscountRate: math.LegacyZeroDec(), } for idx, tierInfo := range s.TierInfos { diff --git a/chain/exchange/types/fee_validation.go b/chain/exchange/types/fee_validation.go index 9284639c..cc872f22 100644 --- a/chain/exchange/types/fee_validation.go +++ b/chain/exchange/types/fee_validation.go @@ -4,10 +4,10 @@ import ( "fmt" "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" ) -func ValidateMakerWithTakerFee(makerFeeRate, takerFeeRate, relayerFeeShareRate, minimalProtocolFeeRate sdk.Dec) error { +func ValidateMakerWithTakerFee(makerFeeRate, takerFeeRate, relayerFeeShareRate, minimalProtocolFeeRate math.LegacyDec) error { if makerFeeRate.GT(takerFeeRate) { return ErrFeeRatesRelation } @@ -17,7 +17,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) { + if takerFeeRate.Mul(math.LegacyOneDec().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 errors.Wrap(ErrFeeRatesRelation, errMsg) } @@ -25,12 +25,12 @@ func ValidateMakerWithTakerFee(makerFeeRate, takerFeeRate, relayerFeeShareRate, return nil } -func ValidateMakerWithTakerFeeAndDiscounts(makerFeeRate, takerFeeRate, relayerFeeShareRate, minimalProtocolFeeRate sdk.Dec, discountSchedule *FeeDiscountSchedule) error { +func ValidateMakerWithTakerFeeAndDiscounts(makerFeeRate, takerFeeRate, relayerFeeShareRate, minimalProtocolFeeRate math.LegacyDec, discountSchedule *FeeDiscountSchedule) error { smallestTakerFeeRate := takerFeeRate if makerFeeRate.IsNegative() && discountSchedule != nil && len(discountSchedule.TierInfos) > 0 { maxTakerDiscount := discountSchedule.TierInfos[len(discountSchedule.TierInfos)-1].TakerDiscountRate - smallestTakerFeeRate = smallestTakerFeeRate.Mul(sdk.OneDec().Sub(maxTakerDiscount)) + smallestTakerFeeRate = smallestTakerFeeRate.Mul(math.LegacyOneDec().Sub(maxTakerDiscount)) } return ValidateMakerWithTakerFee(makerFeeRate, smallestTakerFeeRate, relayerFeeShareRate, minimalProtocolFeeRate) diff --git a/chain/exchange/types/genesis.pb.go b/chain/exchange/types/genesis.pb.go index 92998d1d..bfb2e0ca 100644 --- a/chain/exchange/types/genesis.pb.go +++ b/chain/exchange/types/genesis.pb.go @@ -4,8 +4,8 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -101,6 +101,8 @@ type GenesisState struct { 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"` MarketVolumes []*MarketVolume `protobuf:"bytes,34,rep,name=market_volumes,json=marketVolumes,proto3" json:"market_volumes,omitempty"` + GrantAuthorizations []*FullGrantAuthorizations `protobuf:"bytes,35,rep,name=grant_authorizations,json=grantAuthorizations,proto3" json:"grant_authorizations,omitempty"` + ActiveGrants []*FullActiveGrant `protobuf:"bytes,36,rep,name=active_grants,json=activeGrants,proto3" json:"active_grants,omitempty"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -374,6 +376,20 @@ func (m *GenesisState) GetMarketVolumes() []*MarketVolume { return nil } +func (m *GenesisState) GetGrantAuthorizations() []*FullGrantAuthorizations { + if m != nil { + return m.GrantAuthorizations + } + return nil +} + +func (m *GenesisState) GetActiveGrants() []*FullActiveGrant { + if m != nil { + return m.ActiveGrants + } + return nil +} + type OrderbookSequence struct { Sequence uint64 `protobuf:"varint,1,opt,name=sequence,proto3" json:"sequence,omitempty"` MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` @@ -531,8 +547,8 @@ func (m *FeeDiscountBucketVolumeAccounts) GetAccountVolume() []*AccountVolume { } type AccountVolume struct { - Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` - Volume github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=volume,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"volume"` + Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + Volume cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=volume,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"volume"` } func (m *AccountVolume) Reset() { *m = AccountVolume{} } @@ -576,8 +592,8 @@ func (m *AccountVolume) GetAccount() string { } type TradingRewardCampaignAccountPoints struct { - Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` - Points github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=points,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"points"` + Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + Points cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=points,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"points"` } func (m *TradingRewardCampaignAccountPoints) Reset() { *m = TradingRewardCampaignAccountPoints{} } @@ -1018,6 +1034,119 @@ func (m *PerpetualMarketFundingState) GetFunding() *PerpetualMarketFunding { return nil } +type FullGrantAuthorizations struct { + Granter string `protobuf:"bytes,1,opt,name=granter,proto3" json:"granter,omitempty"` + TotalGrantAmount cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=total_grant_amount,json=totalGrantAmount,proto3,customtype=cosmossdk.io/math.Int" json:"total_grant_amount"` + LastDelegationsCheckedTime int64 `protobuf:"varint,3,opt,name=last_delegations_checked_time,json=lastDelegationsCheckedTime,proto3" json:"last_delegations_checked_time,omitempty"` + Grants []*GrantAuthorization `protobuf:"bytes,4,rep,name=grants,proto3" json:"grants,omitempty"` +} + +func (m *FullGrantAuthorizations) Reset() { *m = FullGrantAuthorizations{} } +func (m *FullGrantAuthorizations) String() string { return proto.CompactTextString(m) } +func (*FullGrantAuthorizations) ProtoMessage() {} +func (*FullGrantAuthorizations) Descriptor() ([]byte, []int) { + return fileDescriptor_c47ec6b98758ed05, []int{15} +} +func (m *FullGrantAuthorizations) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *FullGrantAuthorizations) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_FullGrantAuthorizations.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 *FullGrantAuthorizations) XXX_Merge(src proto.Message) { + xxx_messageInfo_FullGrantAuthorizations.Merge(m, src) +} +func (m *FullGrantAuthorizations) XXX_Size() int { + return m.Size() +} +func (m *FullGrantAuthorizations) XXX_DiscardUnknown() { + xxx_messageInfo_FullGrantAuthorizations.DiscardUnknown(m) +} + +var xxx_messageInfo_FullGrantAuthorizations proto.InternalMessageInfo + +func (m *FullGrantAuthorizations) GetGranter() string { + if m != nil { + return m.Granter + } + return "" +} + +func (m *FullGrantAuthorizations) GetLastDelegationsCheckedTime() int64 { + if m != nil { + return m.LastDelegationsCheckedTime + } + return 0 +} + +func (m *FullGrantAuthorizations) GetGrants() []*GrantAuthorization { + if m != nil { + return m.Grants + } + return nil +} + +type FullActiveGrant struct { + Grantee string `protobuf:"bytes,1,opt,name=grantee,proto3" json:"grantee,omitempty"` + ActiveGrant *ActiveGrant `protobuf:"bytes,2,opt,name=active_grant,json=activeGrant,proto3" json:"active_grant,omitempty"` +} + +func (m *FullActiveGrant) Reset() { *m = FullActiveGrant{} } +func (m *FullActiveGrant) String() string { return proto.CompactTextString(m) } +func (*FullActiveGrant) ProtoMessage() {} +func (*FullActiveGrant) Descriptor() ([]byte, []int) { + return fileDescriptor_c47ec6b98758ed05, []int{16} +} +func (m *FullActiveGrant) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *FullActiveGrant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_FullActiveGrant.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 *FullActiveGrant) XXX_Merge(src proto.Message) { + xxx_messageInfo_FullActiveGrant.Merge(m, src) +} +func (m *FullActiveGrant) XXX_Size() int { + return m.Size() +} +func (m *FullActiveGrant) XXX_DiscardUnknown() { + xxx_messageInfo_FullActiveGrant.DiscardUnknown(m) +} + +var xxx_messageInfo_FullActiveGrant proto.InternalMessageInfo + +func (m *FullActiveGrant) GetGrantee() string { + if m != nil { + return m.Grantee + } + return "" +} + +func (m *FullActiveGrant) GetActiveGrant() *ActiveGrant { + if m != nil { + return m.ActiveGrant + } + return nil +} + func init() { proto.RegisterType((*GenesisState)(nil), "injective.exchange.v1beta1.GenesisState") proto.RegisterType((*OrderbookSequence)(nil), "injective.exchange.v1beta1.OrderbookSequence") @@ -1034,6 +1163,8 @@ func init() { proto.RegisterType((*SubaccountNonce)(nil), "injective.exchange.v1beta1.SubaccountNonce") proto.RegisterType((*ExpiryFuturesMarketInfoState)(nil), "injective.exchange.v1beta1.ExpiryFuturesMarketInfoState") proto.RegisterType((*PerpetualMarketFundingState)(nil), "injective.exchange.v1beta1.PerpetualMarketFundingState") + proto.RegisterType((*FullGrantAuthorizations)(nil), "injective.exchange.v1beta1.FullGrantAuthorizations") + proto.RegisterType((*FullActiveGrant)(nil), "injective.exchange.v1beta1.FullActiveGrant") } func init() { @@ -1041,123 +1172,135 @@ func init() { } var fileDescriptor_c47ec6b98758ed05 = []byte{ - // 1851 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcb, 0x6f, 0xe3, 0xc6, - 0x19, 0x37, 0xd7, 0x1b, 0x5b, 0xfe, 0xbc, 0xf6, 0xae, 0xc7, 0x8f, 0xa5, 0x1f, 0x91, 0xbc, 0x72, - 0xbb, 0xd0, 0xb6, 0x59, 0x29, 0xbb, 0x69, 0x90, 0x36, 0x7d, 0x65, 0xb5, 0xb6, 0x5a, 0x03, 0x4e, - 0x6c, 0xd0, 0x42, 0x0e, 0xe9, 0x83, 0xa0, 0xc8, 0x91, 0x34, 0x59, 0x92, 0xc3, 0x70, 0x86, 0xce, - 0xfa, 0x16, 0xf4, 0x10, 0xa4, 0xa7, 0xb4, 0x05, 0x0a, 0xf4, 0x18, 0x14, 0x3d, 0xb4, 0x97, 0xfe, - 0x0f, 0xbd, 0xe5, 0x98, 0xde, 0x8a, 0x1e, 0x82, 0x62, 0xf7, 0xd2, 0x6b, 0xff, 0x83, 0x82, 0x33, - 0xc3, 0x87, 0x5e, 0x94, 0xec, 0xf6, 0x24, 0x71, 0xe6, 0xfb, 0x7e, 0xbf, 0xdf, 0x3c, 0x3e, 0x7e, - 0x1f, 0x3f, 0xa8, 0x11, 0xff, 0x43, 0x6c, 0x73, 0x72, 0x81, 0x1b, 0xf8, 0xb9, 0xdd, 0xb7, 0xfc, - 0x1e, 0x6e, 0x5c, 0x3c, 0xea, 0x60, 0x6e, 0x3d, 0x6a, 0xf4, 0xb0, 0x8f, 0x19, 0x61, 0xf5, 0x20, - 0xa4, 0x9c, 0xa2, 0x9d, 0xd4, 0xb2, 0x9e, 0x58, 0xd6, 0x95, 0xe5, 0xce, 0x83, 0x02, 0x94, 0xd4, - 0x58, 0xc0, 0xec, 0x1c, 0x14, 0x98, 0xf2, 0xe7, 0xca, 0x68, 0xa3, 0x47, 0x7b, 0x54, 0xfc, 0x6d, - 0xc4, 0xff, 0xe4, 0x68, 0xf5, 0x3f, 0xbb, 0x70, 0xeb, 0x27, 0x52, 0xd3, 0x39, 0xb7, 0x38, 0x46, - 0xef, 0xc0, 0x42, 0x60, 0x85, 0x96, 0xc7, 0x74, 0x6d, 0x5f, 0xab, 0x2d, 0x3f, 0xae, 0xd6, 0x27, - 0x6b, 0xac, 0x9f, 0x09, 0xcb, 0xe6, 0xcd, 0x2f, 0xbf, 0xae, 0xcc, 0x19, 0xca, 0x0f, 0x1d, 0xc3, - 0x2d, 0x16, 0x50, 0x6e, 0x7a, 0x56, 0xf8, 0x0c, 0x73, 0xa6, 0xdf, 0xd8, 0x9f, 0xaf, 0x2d, 0x3f, - 0xbe, 0x5f, 0x84, 0x73, 0x1e, 0x50, 0xfe, 0xae, 0x30, 0x37, 0x96, 0x59, 0xfa, 0x9f, 0xa1, 0x9f, - 0x01, 0x72, 0x70, 0x48, 0x2e, 0xac, 0xd8, 0x2d, 0x05, 0x9c, 0x17, 0x80, 0xaf, 0x15, 0x01, 0x1e, - 0xa6, 0x5e, 0x0a, 0x76, 0xcd, 0x19, 0x1a, 0x61, 0xe8, 0x7d, 0x58, 0x15, 0x3a, 0x69, 0xe8, 0xe0, - 0xb0, 0x43, 0xe9, 0x33, 0xfd, 0xa6, 0x00, 0x7e, 0x30, 0x4d, 0xe9, 0x69, 0xec, 0xd0, 0xa4, 0xf4, - 0x99, 0x5a, 0xf8, 0x0a, 0x4b, 0x06, 0x63, 0x14, 0xd4, 0x87, 0x8d, 0x9c, 0xe8, 0x0c, 0xfd, 0x15, - 0x81, 0xde, 0x98, 0x4d, 0xf6, 0x30, 0xc7, 0xba, 0x33, 0x38, 0x25, 0x98, 0x8e, 0xa0, 0xd4, 0xb1, - 0x5c, 0xcb, 0xb7, 0x31, 0xd3, 0x17, 0x04, 0xfa, 0x41, 0x11, 0x7a, 0x53, 0xda, 0x2a, 0xc4, 0xd4, - 0x15, 0x19, 0xb0, 0x14, 0x50, 0x46, 0x38, 0xa1, 0x3e, 0xd3, 0x17, 0x05, 0x4e, 0x7d, 0x36, 0x95, - 0x67, 0xca, 0x4d, 0x41, 0x66, 0x30, 0x88, 0xc0, 0x5d, 0x16, 0x75, 0x2c, 0xdb, 0xa6, 0x91, 0xcf, - 0x4d, 0x1e, 0x5a, 0x0e, 0x36, 0x7d, 0x2a, 0x94, 0x96, 0x04, 0xc3, 0xb7, 0x0b, 0x77, 0x39, 0x75, - 0x7d, 0x8f, 0x66, 0x8a, 0x37, 0x33, 0xc4, 0x76, 0x0c, 0x28, 0xe6, 0x18, 0xfa, 0x54, 0x83, 0x7d, - 0xfc, 0x3c, 0x20, 0xe1, 0xa5, 0xd9, 0x8d, 0x78, 0x14, 0x62, 0xa6, 0x6e, 0x8a, 0x49, 0xfc, 0x2e, - 0x35, 0x59, 0x7c, 0xad, 0xf5, 0x25, 0x41, 0xfa, 0xdd, 0x22, 0xd2, 0x23, 0x81, 0xd1, 0x92, 0x10, - 0xf2, 0x92, 0x1c, 0xfb, 0x5d, 0x2a, 0xc2, 0x42, 0x29, 0xd8, 0xc3, 0x05, 0x36, 0x88, 0xc0, 0x66, - 0x80, 0xc3, 0x00, 0xf3, 0xc8, 0x72, 0xf3, 0x12, 0x74, 0x98, 0x7e, 0xf2, 0x67, 0x89, 0x63, 0x06, - 0x9a, 0x9c, 0x7c, 0x30, 0x3a, 0x85, 0x7e, 0xa5, 0x41, 0x79, 0x84, 0xab, 0x1b, 0xf9, 0x0e, 0xf1, - 0x7b, 0x6a, 0xc5, 0xcb, 0x82, 0xf4, 0xad, 0x2b, 0x90, 0xb6, 0xa4, 0x7f, 0x7e, 0xc1, 0xbb, 0xc1, - 0x64, 0x13, 0xf4, 0x7b, 0x0d, 0xee, 0x8f, 0x84, 0xa7, 0xc9, 0x30, 0xe7, 0x2e, 0xf6, 0xb0, 0xcf, - 0x4d, 0x66, 0xf7, 0xb1, 0x13, 0xb9, 0xd8, 0xd1, 0x6f, 0x09, 0x31, 0x6f, 0x5f, 0x25, 0x64, 0xcf, - 0x53, 0x9c, 0xdc, 0x66, 0x1c, 0x38, 0x13, 0xad, 0xce, 0x13, 0x32, 0xf4, 0x16, 0xe8, 0x84, 0x99, - 0x22, 0xb6, 0x13, 0x16, 0x13, 0xfb, 0x56, 0x27, 0x16, 0xb2, 0xb2, 0xaf, 0xd5, 0x4a, 0xc6, 0x26, - 0x61, 0x71, 0x20, 0x1f, 0xa9, 0xd9, 0x23, 0x39, 0x89, 0x8e, 0xa0, 0x42, 0x98, 0x99, 0x51, 0xb0, - 0x51, 0xff, 0x55, 0xe1, 0xbf, 0x47, 0x58, 0x26, 0x97, 0x0d, 0xc3, 0x5c, 0xc0, 0x5e, 0x7c, 0xe1, - 0xe3, 0xa3, 0x08, 0xf1, 0xc7, 0x56, 0xe8, 0x98, 0xb6, 0xe5, 0x05, 0x16, 0xe9, 0xf9, 0xf2, 0x3a, - 0xdc, 0x16, 0x2f, 0xd6, 0x37, 0x8b, 0x36, 0xa3, 0x2d, 0xfd, 0x0d, 0xe1, 0xfe, 0x54, 0x79, 0xc7, - 0xfb, 0x60, 0x6c, 0xf3, 0x49, 0x53, 0xe8, 0x13, 0x0d, 0xbe, 0x39, 0x44, 0x1c, 0x50, 0xea, 0x66, - 0xec, 0xc9, 0x79, 0xe8, 0x77, 0xa6, 0x07, 0x79, 0x82, 0x2c, 0x79, 0xce, 0x28, 0x75, 0x8d, 0x7b, - 0x03, 0xd4, 0xf1, 0x50, 0x62, 0x94, 0xec, 0x3d, 0xfa, 0x9d, 0x06, 0xf7, 0x27, 0xad, 0x3d, 0x79, - 0x19, 0x04, 0x94, 0xf8, 0x9c, 0xe9, 0x6b, 0x42, 0xc3, 0x8f, 0xae, 0xbc, 0x0b, 0x4f, 0x24, 0xcc, - 0x99, 0x40, 0x31, 0xaa, 0x7c, 0xaa, 0x0d, 0xb2, 0x61, 0xb3, 0x8b, 0xb1, 0xe9, 0x10, 0x26, 0x05, - 0xa4, 0xdb, 0x80, 0xc4, 0x41, 0x14, 0xc6, 0x65, 0x0b, 0xe3, 0x43, 0xe5, 0x97, 0x2c, 0xd2, 0x58, - 0xef, 0x8e, 0x0e, 0xa2, 0x8f, 0xe1, 0xd5, 0x01, 0x92, 0xf4, 0xd5, 0x47, 0x70, 0x68, 0x72, 0xee, - 0xea, 0xeb, 0x62, 0xbd, 0x6f, 0xce, 0x48, 0xa6, 0x56, 0xd0, 0x26, 0x38, 0x6c, 0xb7, 0x4f, 0x8c, - 0xed, 0xee, 0xf8, 0x29, 0xee, 0xa2, 0x5f, 0x6b, 0x70, 0x30, 0xc0, 0xdc, 0x89, 0xec, 0x38, 0x0e, - 0x2f, 0xa8, 0x1b, 0x79, 0x38, 0xd1, 0xc1, 0xf4, 0x0d, 0xc1, 0xff, 0xfd, 0x19, 0xf9, 0x9b, 0x02, - 0xe4, 0x7d, 0x81, 0xa1, 0x08, 0x99, 0x51, 0xe9, 0x16, 0x1b, 0xa0, 0x1f, 0xc0, 0x2e, 0x61, 0x66, - 0x97, 0x84, 0x8c, 0x9b, 0xb1, 0x26, 0xfb, 0xd2, 0x76, 0xb1, 0xd9, 0x25, 0x3e, 0x61, 0x7d, 0xec, - 0xe8, 0x9b, 0x22, 0x78, 0xee, 0x12, 0xd6, 0x8a, 0x2d, 0x5a, 0x18, 0x3f, 0x8d, 0xe7, 0x5b, 0x6a, - 0x1a, 0x7d, 0xae, 0xc1, 0xc3, 0x00, 0xcb, 0x77, 0xd8, 0x6c, 0xf7, 0x78, 0xeb, 0x5a, 0xf7, 0xb8, - 0xa6, 0x48, 0xda, 0x53, 0xaf, 0xf3, 0x9f, 0x35, 0xa8, 0x4f, 0x50, 0x34, 0xe9, 0x5a, 0xdf, 0x15, - 0x92, 0x8e, 0xae, 0x7d, 0xad, 0x25, 0x9b, 0xba, 0xdd, 0x0f, 0xc6, 0x29, 0x1d, 0x7f, 0xc9, 0xbf, - 0x07, 0xdb, 0x52, 0x19, 0x33, 0x69, 0xc0, 0x4d, 0x1a, 0x71, 0xd3, 0x72, 0x9c, 0x10, 0x33, 0x86, - 0x99, 0xae, 0xef, 0xcf, 0xd7, 0x96, 0x8c, 0x2d, 0x65, 0x70, 0x1a, 0xf0, 0xd3, 0x88, 0x3f, 0x49, - 0x66, 0x51, 0x07, 0xf4, 0x3e, 0x61, 0x9c, 0x86, 0xc4, 0xb6, 0x5c, 0x95, 0xab, 0x43, 0x6c, 0xd3, - 0xd0, 0x61, 0xfa, 0xb6, 0x58, 0x4e, 0x6d, 0xda, 0x72, 0xb0, 0x21, 0xed, 0x8d, 0xad, 0x0c, 0x29, - 0x3f, 0x8e, 0x30, 0x6c, 0x75, 0x88, 0x6f, 0x85, 0x97, 0xb1, 0xba, 0xb8, 0x42, 0x48, 0xab, 0xb9, - 0x9d, 0xe9, 0xc9, 0xb1, 0x29, 0x3c, 0x4f, 0xa5, 0xa3, 0x2a, 0xe8, 0x36, 0x3a, 0xa3, 0x83, 0x0c, - 0xf5, 0xe1, 0xf1, 0x58, 0x1a, 0x93, 0x38, 0x2c, 0x4b, 0x47, 0x66, 0x97, 0x86, 0xb9, 0x3c, 0xa5, - 0xef, 0x8a, 0xed, 0x79, 0x6d, 0x0c, 0xe2, 0xb1, 0xc3, 0xd2, 0xbc, 0xd2, 0xa2, 0x61, 0x96, 0x6d, - 0x50, 0x1b, 0x6a, 0xb9, 0x2a, 0x77, 0x08, 0x9f, 0xd3, 0x98, 0xc2, 0xc6, 0xa6, 0xed, 0x52, 0x86, - 0xf5, 0x3d, 0x81, 0x5f, 0xcd, 0x2a, 0xdb, 0x3c, 0x6c, 0x9b, 0xb6, 0x62, 0xd3, 0xa7, 0xb1, 0x65, - 0x5c, 0x93, 0x3a, 0xd8, 0xa7, 0x9e, 0xe9, 0x60, 0x9b, 0x78, 0x96, 0xcb, 0xf4, 0x57, 0xa7, 0xd7, - 0xa4, 0x87, 0xb1, 0xc7, 0xa1, 0x72, 0x48, 0x6a, 0x52, 0x27, 0x3f, 0x18, 0xd7, 0x48, 0xf7, 0x6c, - 0xea, 0x3b, 0xa2, 0x3a, 0xb3, 0x5c, 0x73, 0x5c, 0x81, 0xca, 0xf4, 0xf2, 0xf4, 0x2c, 0xfd, 0x34, - 0x03, 0x19, 0x53, 0xac, 0x1a, 0x15, 0x7b, 0xe2, 0xbc, 0xa0, 0x88, 0xef, 0x41, 0x52, 0xad, 0x60, - 0x6c, 0x7a, 0x91, 0xcb, 0x49, 0xe0, 0x12, 0x1c, 0x32, 0xbd, 0x32, 0xfd, 0x1e, 0xa8, 0x1a, 0x04, - 0xe3, 0x77, 0x53, 0x3f, 0x63, 0xc3, 0x1b, 0x1d, 0x64, 0xe8, 0x97, 0xb0, 0x9e, 0xae, 0xcb, 0x64, - 0xf8, 0xa3, 0x08, 0x8b, 0xd2, 0x73, 0x5f, 0x70, 0x3c, 0x2c, 0xe2, 0x48, 0xb5, 0x9e, 0x2b, 0x2f, - 0x03, 0xd1, 0xe1, 0x21, 0x86, 0x3e, 0x04, 0x94, 0x2b, 0x6f, 0xe5, 0xab, 0x96, 0xe9, 0xf7, 0xa6, - 0xbf, 0x62, 0x9f, 0xf4, 0x7a, 0x21, 0xee, 0x59, 0x1c, 0x67, 0x25, 0xae, 0x7c, 0x87, 0xca, 0x40, - 0x31, 0xd6, 0xd8, 0xd0, 0x38, 0x43, 0xa7, 0xb0, 0xaa, 0xb6, 0x2c, 0xe1, 0xa9, 0x4e, 0x0f, 0x4a, - 0xb9, 0x55, 0x0a, 0x7a, 0xc5, 0xcb, 0x3d, 0xb1, 0xea, 0x09, 0xac, 0x8d, 0xac, 0x12, 0xed, 0x40, - 0x29, 0xd9, 0x27, 0xf1, 0xe5, 0x77, 0xd3, 0x48, 0x9f, 0xd1, 0x2e, 0x2c, 0xa5, 0xd7, 0x5c, 0xbf, - 0xb1, 0xaf, 0xd5, 0x96, 0x8c, 0x92, 0xa7, 0x2e, 0x72, 0xf5, 0x13, 0x0d, 0xb6, 0x27, 0x26, 0x2e, - 0xa4, 0xc3, 0xa2, 0x5a, 0x8e, 0x40, 0x5d, 0x32, 0x92, 0x47, 0x74, 0x0c, 0xa5, 0x34, 0x37, 0xde, - 0x10, 0x89, 0xb8, 0x3e, 0x63, 0x6e, 0x4a, 0x92, 0xe2, 0x22, 0x97, 0x29, 0xb0, 0xfa, 0x17, 0x0d, - 0x2a, 0x53, 0x72, 0x17, 0xfa, 0x0e, 0x6c, 0xa9, 0xc4, 0xc8, 0xb8, 0x15, 0xc6, 0x79, 0xd9, 0xc3, - 0x8c, 0x5b, 0x5e, 0x20, 0x74, 0xcd, 0x1b, 0x1b, 0x72, 0xf6, 0x3c, 0x9e, 0x6c, 0x27, 0x73, 0xe8, - 0x0c, 0x56, 0x07, 0x0f, 0x59, 0x7d, 0xcd, 0x16, 0xc6, 0xe3, 0x93, 0x81, 0x73, 0x5d, 0x19, 0x38, - 0xce, 0xea, 0x47, 0xb0, 0x32, 0x30, 0x5f, 0xb0, 0x43, 0x2d, 0x58, 0x48, 0x49, 0xb5, 0xda, 0x52, - 0xb3, 0x1e, 0x47, 0xf6, 0x3f, 0xbf, 0xae, 0xdc, 0xef, 0x11, 0xde, 0x8f, 0x3a, 0x75, 0x9b, 0x7a, - 0x0d, 0x9b, 0x32, 0x8f, 0x32, 0xf5, 0xf3, 0x90, 0x39, 0xcf, 0x1a, 0xfc, 0x32, 0xc0, 0xac, 0x7e, - 0x88, 0x6d, 0x43, 0x79, 0x57, 0x3f, 0xd5, 0xa0, 0x3a, 0x43, 0x06, 0x29, 0x14, 0xa2, 0xb2, 0xdb, - 0x35, 0x85, 0x48, 0xef, 0xea, 0xdf, 0x35, 0x78, 0x30, 0x73, 0xf2, 0x43, 0x3f, 0x84, 0xdd, 0x7c, - 0xf6, 0x1f, 0x7f, 0x6c, 0x7a, 0x98, 0x66, 0xef, 0xa1, 0xa3, 0xc3, 0xd9, 0xd1, 0xa5, 0xe2, 0xff, - 0x1f, 0x15, 0x67, 0x72, 0x9e, 0xf2, 0xb1, 0xfa, 0x07, 0x0d, 0x56, 0x06, 0x9a, 0x02, 0x83, 0xd1, - 0xa2, 0x0d, 0x46, 0x0b, 0xda, 0x83, 0x25, 0xc2, 0x9a, 0xd1, 0xe5, 0x39, 0x71, 0xe4, 0xb1, 0x96, - 0x8c, 0x6c, 0x00, 0x35, 0x61, 0x41, 0xbc, 0x6c, 0x92, 0x1e, 0xc7, 0xb7, 0xa6, 0xb5, 0x22, 0x4e, - 0x88, 0x47, 0x24, 0xb5, 0xa1, 0x3c, 0xdf, 0x2e, 0x7d, 0xf6, 0x45, 0x65, 0xee, 0xdf, 0x5f, 0x54, - 0xe6, 0xaa, 0x7f, 0xd2, 0x60, 0x7d, 0xcc, 0x4b, 0xfa, 0x7f, 0x11, 0xf8, 0xd3, 0x21, 0x81, 0xaf, - 0xcf, 0xf6, 0x45, 0x57, 0x28, 0xf3, 0x6f, 0xf3, 0x50, 0x2e, 0x4e, 0x2b, 0xc5, 0x8a, 0x3f, 0x80, - 0x3b, 0x6e, 0x8c, 0x6f, 0x76, 0xa2, 0x4b, 0x53, 0xa9, 0xbb, 0x71, 0x4d, 0x75, 0xab, 0x02, 0xa9, - 0x19, 0x5d, 0x8a, 0x47, 0x86, 0x7e, 0x01, 0x6b, 0x8a, 0x38, 0x07, 0x2e, 0x97, 0xfe, 0xe8, 0x2a, - 0x1f, 0xb3, 0x12, 0xfd, 0xb6, 0xc4, 0xca, 0xe0, 0x7f, 0x0e, 0x6b, 0x52, 0x3a, 0xc3, 0xae, 0x9b, - 0xc0, 0xdf, 0xbc, 0xa6, 0xf6, 0xdb, 0x02, 0xea, 0x1c, 0xbb, 0xae, 0x42, 0x37, 0x01, 0xa5, 0xdf, - 0xe4, 0x19, 0xfc, 0x2b, 0xd7, 0x55, 0x7f, 0xc7, 0x53, 0x5f, 0xdc, 0x09, 0x41, 0xee, 0x0c, 0x3f, - 0xd7, 0x60, 0x51, 0xb5, 0x97, 0xd0, 0x01, 0xac, 0xe4, 0x72, 0x63, 0x7a, 0x60, 0xb7, 0xb2, 0xc1, - 0x63, 0x07, 0x6d, 0xc0, 0x2b, 0xa2, 0x42, 0x51, 0xe9, 0x44, 0x3e, 0xa0, 0x1f, 0x43, 0xc9, 0xc1, - 0xa2, 0x89, 0x14, 0xef, 0xb2, 0x36, 0xad, 0xa1, 0x75, 0x28, 0x6d, 0x8d, 0xd4, 0x29, 0xa7, 0xe8, - 0x8f, 0x1a, 0xa0, 0xd1, 0x46, 0xd5, 0x6c, 0xe2, 0x8a, 0xf2, 0x1d, 0x7a, 0x07, 0x4a, 0x49, 0x9b, - 0x4b, 0x69, 0xfc, 0x46, 0x61, 0x8f, 0x45, 0xd9, 0x1a, 0xa9, 0x57, 0x4e, 0xe4, 0x5f, 0x35, 0xb8, - 0x3d, 0xd4, 0xeb, 0x9a, 0x4d, 0xa1, 0x0b, 0x5b, 0xe3, 0xdb, 0x6b, 0x2a, 0x95, 0xbe, 0x3e, 0x5b, - 0x77, 0x2d, 0x6b, 0xa3, 0xa9, 0xb2, 0x71, 0x63, 0x5c, 0x8b, 0x2d, 0x27, 0xf8, 0xb7, 0x1a, 0xec, - 0x15, 0xf5, 0xc9, 0x8a, 0x23, 0xb5, 0x0d, 0xcb, 0xf9, 0xb6, 0x98, 0x94, 0xfa, 0xc6, 0x35, 0x7a, - 0x72, 0x06, 0x78, 0xe9, 0xff, 0xea, 0x67, 0x1a, 0xec, 0x16, 0x74, 0xb2, 0x8a, 0x25, 0x9d, 0xc0, - 0xa2, 0x6a, 0x9b, 0x29, 0x39, 0x8f, 0xaf, 0xde, 0x30, 0x33, 0x12, 0x88, 0x66, 0xff, 0xcb, 0x17, - 0x65, 0xed, 0xab, 0x17, 0x65, 0xed, 0x5f, 0x2f, 0xca, 0xda, 0x6f, 0x5e, 0x96, 0xe7, 0xbe, 0x7a, - 0x59, 0x9e, 0xfb, 0xc7, 0xcb, 0xf2, 0xdc, 0x07, 0xef, 0xe5, 0x52, 0xe5, 0x71, 0x42, 0x70, 0x62, - 0x75, 0x58, 0x23, 0xa5, 0x7b, 0x68, 0xd3, 0x10, 0xe7, 0x1f, 0xfb, 0x16, 0xf1, 0x1b, 0x1e, 0x8d, - 0xbf, 0x12, 0x58, 0xd6, 0xd8, 0x17, 0x69, 0xb5, 0xb3, 0x20, 0xda, 0xf7, 0x6f, 0xfc, 0x37, 0x00, - 0x00, 0xff, 0xff, 0xa6, 0x40, 0x0d, 0xb7, 0x6c, 0x18, 0x00, 0x00, + // 2044 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x59, 0xcb, 0x6f, 0x24, 0x47, + 0x19, 0x77, 0xdb, 0x5e, 0x7b, 0xfc, 0xf9, 0xb5, 0x2e, 0x3f, 0xb6, 0xfd, 0xf6, 0x8e, 0xc3, 0x32, + 0x0b, 0xd9, 0x71, 0x76, 0x97, 0x28, 0x90, 0xf0, 0x88, 0xc7, 0x8f, 0x60, 0x70, 0x62, 0xab, 0x3d, + 0xca, 0x21, 0x3c, 0x5a, 0x3d, 0xdd, 0x35, 0x33, 0x15, 0x77, 0x77, 0x0d, 0x5d, 0xd5, 0xde, 0x35, + 0x5c, 0x22, 0x0e, 0x28, 0x88, 0x43, 0x00, 0x09, 0x89, 0x63, 0x84, 0x38, 0x80, 0x90, 0xf8, 0x1f, + 0xb8, 0xe5, 0x18, 0x6e, 0x88, 0x43, 0x84, 0x76, 0x2f, 0xfc, 0x19, 0xa8, 0xaa, 0xab, 0x1f, 0xf3, + 0xea, 0x19, 0x9b, 0xdc, 0xa6, 0xaa, 0xbe, 0xef, 0xf7, 0xfb, 0xd5, 0xf3, 0xfb, 0xfa, 0x1b, 0x28, + 0x11, 0xff, 0x43, 0x6c, 0x73, 0x72, 0x85, 0xf7, 0xf0, 0x73, 0xbb, 0x69, 0xf9, 0x0d, 0xbc, 0x77, + 0xf5, 0xb8, 0x86, 0xb9, 0xf5, 0x78, 0xaf, 0x81, 0x7d, 0xcc, 0x08, 0x2b, 0xb7, 0x02, 0xca, 0x29, + 0x5a, 0x4b, 0x2c, 0xcb, 0xb1, 0x65, 0x59, 0x59, 0xae, 0x3d, 0xcc, 0x41, 0x49, 0x8c, 0x25, 0xcc, + 0xda, 0x6e, 0x8e, 0x29, 0x7f, 0xae, 0x8c, 0x96, 0x1a, 0xb4, 0x41, 0xe5, 0xcf, 0x3d, 0xf1, 0x2b, + 0xea, 0x2d, 0xfe, 0x6d, 0x13, 0x66, 0xde, 0x89, 0x34, 0x5d, 0x70, 0x8b, 0x63, 0xf4, 0x36, 0x4c, + 0xb4, 0xac, 0xc0, 0xf2, 0x98, 0xae, 0xed, 0x68, 0xa5, 0xe9, 0x27, 0xc5, 0x72, 0x7f, 0x8d, 0xe5, + 0x73, 0x69, 0x59, 0x19, 0xff, 0xec, 0x8b, 0xed, 0x11, 0x43, 0xf9, 0xa1, 0x13, 0x98, 0x61, 0x2d, + 0xca, 0x4d, 0xcf, 0x0a, 0x2e, 0x31, 0x67, 0xfa, 0xe8, 0xce, 0x58, 0x69, 0xfa, 0xc9, 0x83, 0x3c, + 0x9c, 0x8b, 0x16, 0xe5, 0xef, 0x4a, 0x73, 0x63, 0x9a, 0x25, 0xbf, 0x19, 0xfa, 0x11, 0x20, 0x07, + 0x07, 0xe4, 0xca, 0x12, 0x6e, 0x09, 0xe0, 0x98, 0x04, 0x7c, 0x35, 0x0f, 0xf0, 0x30, 0xf1, 0x52, + 0xb0, 0x0b, 0x4e, 0x47, 0x0f, 0x43, 0xef, 0xc3, 0x9c, 0xd4, 0x49, 0x03, 0x07, 0x07, 0x35, 0x4a, + 0x2f, 0xf5, 0x71, 0x09, 0xfc, 0x70, 0x90, 0xd2, 0x33, 0xe1, 0x50, 0xa1, 0xf4, 0x52, 0x4d, 0x7c, + 0x96, 0xc5, 0x9d, 0x02, 0x05, 0x35, 0x61, 0x29, 0x23, 0x3a, 0x45, 0xbf, 0x23, 0xd1, 0xf7, 0x86, + 0x93, 0xdd, 0xc9, 0xb1, 0xe8, 0xb4, 0x0f, 0x49, 0xa6, 0x23, 0x28, 0xd4, 0x2c, 0xd7, 0xf2, 0x6d, + 0xcc, 0xf4, 0x09, 0x89, 0xbe, 0x9b, 0x87, 0x5e, 0x89, 0x6c, 0x15, 0x62, 0xe2, 0x8a, 0x0c, 0x98, + 0x6a, 0x51, 0x46, 0x38, 0xa1, 0x3e, 0xd3, 0x27, 0x25, 0x4e, 0x79, 0x38, 0x95, 0xe7, 0xca, 0x4d, + 0x41, 0xa6, 0x30, 0x88, 0xc0, 0x3d, 0x16, 0xd6, 0x2c, 0xdb, 0xa6, 0xa1, 0xcf, 0x4d, 0x1e, 0x58, + 0x0e, 0x36, 0x7d, 0x2a, 0x95, 0x16, 0x24, 0xc3, 0xd7, 0x73, 0x57, 0x39, 0x71, 0x7d, 0x8f, 0xa6, + 0x8a, 0x97, 0x53, 0xc4, 0xaa, 0x00, 0x94, 0x63, 0x0c, 0xfd, 0x4a, 0x83, 0x1d, 0xfc, 0xbc, 0x45, + 0x82, 0x6b, 0xb3, 0x1e, 0xf2, 0x30, 0xc0, 0x4c, 0x9d, 0x14, 0x93, 0xf8, 0x75, 0x6a, 0x32, 0x71, + 0xac, 0xf5, 0x29, 0x49, 0xfa, 0xcd, 0x3c, 0xd2, 0x23, 0x89, 0x71, 0x1c, 0x41, 0x44, 0x87, 0xe4, + 0xc4, 0xaf, 0x53, 0x79, 0x2d, 0x94, 0x82, 0x0d, 0x9c, 0x63, 0x83, 0x08, 0x2c, 0xb7, 0x70, 0xd0, + 0xc2, 0x3c, 0xb4, 0xdc, 0xac, 0x04, 0x1d, 0x06, 0xef, 0xfc, 0x79, 0xec, 0x98, 0x82, 0xc6, 0x3b, + 0xdf, 0xea, 0x1e, 0x42, 0xbf, 0xd4, 0x60, 0xab, 0x8b, 0xab, 0x1e, 0xfa, 0x0e, 0xf1, 0x1b, 0x6a, + 0xc6, 0xd3, 0x92, 0xf4, 0x8d, 0x1b, 0x90, 0x1e, 0x47, 0xfe, 0xd9, 0x09, 0xaf, 0xb7, 0xfa, 0x9b, + 0xa0, 0x3f, 0x68, 0xf0, 0xa0, 0xeb, 0x7a, 0x9a, 0x0c, 0x73, 0xee, 0x62, 0x0f, 0xfb, 0xdc, 0x64, + 0x76, 0x13, 0x3b, 0xa1, 0x8b, 0x1d, 0x7d, 0x46, 0x8a, 0x79, 0xf3, 0x26, 0x57, 0xf6, 0x22, 0xc1, + 0xc9, 0x2c, 0xc6, 0xae, 0xd3, 0xd7, 0xea, 0x22, 0x26, 0x43, 0x6f, 0x80, 0x4e, 0x98, 0x29, 0xef, + 0x76, 0xcc, 0x62, 0x62, 0xdf, 0xaa, 0x09, 0x21, 0xb3, 0x3b, 0x5a, 0xa9, 0x60, 0x2c, 0x13, 0x26, + 0x2e, 0xf2, 0x91, 0x1a, 0x3d, 0x8a, 0x06, 0xd1, 0x11, 0x6c, 0x13, 0x66, 0xa6, 0x14, 0xac, 0xdb, + 0x7f, 0x4e, 0xfa, 0x6f, 0x10, 0x96, 0xca, 0x65, 0x9d, 0x30, 0x57, 0xb0, 0x21, 0x0e, 0xbc, 0xd8, + 0x8a, 0x00, 0x3f, 0xb3, 0x02, 0xc7, 0xb4, 0x2d, 0xaf, 0x65, 0x91, 0x86, 0x1f, 0x1d, 0x87, 0x79, + 0xf9, 0xb0, 0xbe, 0x9e, 0xb7, 0x18, 0xd5, 0xc8, 0xdf, 0x90, 0xee, 0x07, 0xca, 0x5b, 0xac, 0x83, + 0xb1, 0xca, 0xfb, 0x0d, 0xa1, 0x8f, 0x34, 0xf8, 0x4a, 0x07, 0x71, 0x8b, 0x52, 0x37, 0x65, 0x8f, + 0xf7, 0x43, 0xbf, 0x3b, 0xf8, 0x92, 0xc7, 0xc8, 0x11, 0xcf, 0x39, 0xa5, 0xae, 0x71, 0xbf, 0x8d, + 0x5a, 0x74, 0xc5, 0x46, 0xf1, 0xda, 0xa3, 0xdf, 0x6b, 0xf0, 0xa0, 0xdf, 0xdc, 0xe3, 0xc7, 0xa0, + 0x45, 0x89, 0xcf, 0x99, 0xbe, 0x20, 0x35, 0x7c, 0xf7, 0xc6, 0xab, 0xb0, 0x1f, 0xc1, 0x9c, 0x4b, + 0x14, 0xa3, 0xc8, 0x07, 0xda, 0x20, 0x1b, 0x96, 0xeb, 0x18, 0x9b, 0x0e, 0x61, 0x91, 0x80, 0x64, + 0x19, 0x90, 0xdc, 0x88, 0xdc, 0x7b, 0x79, 0x8c, 0xf1, 0xa1, 0xf2, 0x8b, 0x27, 0x69, 0x2c, 0xd6, + 0xbb, 0x3b, 0xd1, 0x33, 0xd8, 0x6c, 0x23, 0x49, 0x9e, 0x3e, 0x82, 0x03, 0x93, 0x73, 0x57, 0x5f, + 0x94, 0xf3, 0x7d, 0x7d, 0x48, 0x32, 0x35, 0x83, 0x2a, 0xc1, 0x41, 0xb5, 0x7a, 0x6a, 0xac, 0xd6, + 0x7b, 0x0f, 0x71, 0x17, 0xfd, 0x5a, 0x83, 0xdd, 0x36, 0xe6, 0x5a, 0x68, 0x8b, 0x7b, 0x78, 0x45, + 0xdd, 0xd0, 0xc3, 0xb1, 0x0e, 0xa6, 0x2f, 0x49, 0xfe, 0xb7, 0x86, 0xe4, 0xaf, 0x48, 0x90, 0xf7, + 0x25, 0x86, 0x22, 0x64, 0xc6, 0x76, 0x3d, 0xdf, 0x00, 0x7d, 0x1b, 0xd6, 0x09, 0x33, 0xeb, 0x24, + 0x60, 0xdc, 0x14, 0x9a, 0xec, 0x6b, 0xdb, 0xc5, 0x66, 0x9d, 0xf8, 0x84, 0x35, 0xb1, 0xa3, 0x2f, + 0xcb, 0xcb, 0x73, 0x8f, 0xb0, 0x63, 0x61, 0x71, 0x8c, 0xf1, 0x81, 0x18, 0x3f, 0x56, 0xc3, 0xe8, + 0x13, 0x0d, 0x1e, 0xb5, 0x70, 0xf4, 0x86, 0x0d, 0x77, 0x8e, 0x57, 0x6e, 0x75, 0x8e, 0x4b, 0x8a, + 0xa4, 0x3a, 0xf0, 0x38, 0xff, 0x45, 0x83, 0x72, 0x1f, 0x45, 0xfd, 0x8e, 0xf5, 0x3d, 0x29, 0xe9, + 0xe8, 0xd6, 0xc7, 0x3a, 0x62, 0x53, 0xa7, 0xfb, 0x61, 0x2f, 0xa5, 0xbd, 0x0f, 0xf9, 0xb7, 0x60, + 0x35, 0x52, 0xc6, 0x4c, 0xda, 0xe2, 0x26, 0x0d, 0xb9, 0x69, 0x39, 0x4e, 0x80, 0x19, 0xc3, 0x4c, + 0xd7, 0x77, 0xc6, 0x4a, 0x53, 0xc6, 0x8a, 0x32, 0x38, 0x6b, 0xf1, 0xb3, 0x90, 0xef, 0xc7, 0xa3, + 0xa8, 0x06, 0x7a, 0x93, 0x30, 0x4e, 0x03, 0x62, 0x5b, 0xae, 0x8a, 0xd5, 0x01, 0xb6, 0x69, 0xe0, + 0x30, 0x7d, 0x55, 0x4e, 0xa7, 0x34, 0x68, 0x3a, 0xd8, 0x88, 0xec, 0x8d, 0x95, 0x14, 0x29, 0xdb, + 0x8f, 0x30, 0xac, 0xd4, 0x88, 0x6f, 0x05, 0xd7, 0x42, 0x9d, 0xc8, 0x10, 0x92, 0x6c, 0x6e, 0x6d, + 0x70, 0x70, 0xac, 0x48, 0xcf, 0xb3, 0xc8, 0x51, 0x25, 0x74, 0x4b, 0xb5, 0xee, 0x4e, 0x86, 0x9a, + 0xf0, 0xa4, 0x27, 0x8d, 0x49, 0x1c, 0x96, 0x86, 0x23, 0xb3, 0x4e, 0x83, 0x4c, 0x9c, 0xd2, 0xd7, + 0xe5, 0xf2, 0xbc, 0xda, 0x03, 0xf1, 0xc4, 0x61, 0x49, 0x5c, 0x39, 0xa6, 0x41, 0x1a, 0x6d, 0x50, + 0x15, 0x4a, 0x99, 0x2c, 0xb7, 0x03, 0x9f, 0x53, 0x41, 0x61, 0x63, 0xd3, 0x76, 0x29, 0xc3, 0xfa, + 0x86, 0xc4, 0x2f, 0xa6, 0x99, 0x6d, 0x16, 0xb6, 0x4a, 0x8f, 0x85, 0xe9, 0x81, 0xb0, 0x14, 0x39, + 0xa9, 0x83, 0x7d, 0xea, 0x99, 0x0e, 0xb6, 0x89, 0x67, 0xb9, 0x4c, 0xdf, 0x1c, 0x9c, 0x93, 0x1e, + 0x0a, 0x8f, 0x43, 0xe5, 0x10, 0xe7, 0xa4, 0x4e, 0xb6, 0x53, 0xe4, 0x48, 0xf7, 0x6d, 0xea, 0x3b, + 0x32, 0x3b, 0xb3, 0x5c, 0xb3, 0x57, 0x82, 0xca, 0xf4, 0xad, 0xc1, 0x51, 0xfa, 0x20, 0x05, 0xe9, + 0x91, 0xac, 0x1a, 0xdb, 0x76, 0xdf, 0x71, 0x49, 0x21, 0xce, 0x41, 0x9c, 0xad, 0x60, 0x6c, 0x7a, + 0xa1, 0xcb, 0x49, 0xcb, 0x25, 0x38, 0x60, 0xfa, 0xf6, 0xe0, 0x73, 0xa0, 0x72, 0x10, 0x8c, 0xdf, + 0x4d, 0xfc, 0x8c, 0x25, 0xaf, 0xbb, 0x93, 0xa1, 0x9f, 0xc2, 0x62, 0x32, 0x2f, 0x93, 0xe1, 0x9f, + 0x85, 0x58, 0xa6, 0x9e, 0x3b, 0x92, 0xe3, 0x51, 0x1e, 0x47, 0xa2, 0xf5, 0x42, 0x79, 0x19, 0x88, + 0x76, 0x76, 0x31, 0xf4, 0x21, 0xa0, 0x4c, 0x7a, 0x1b, 0x3d, 0xb5, 0x4c, 0xbf, 0x3f, 0xf8, 0x89, + 0xdd, 0x6f, 0x34, 0x02, 0xdc, 0xb0, 0x38, 0x4e, 0x53, 0xdc, 0xe8, 0x0d, 0x8d, 0x2e, 0x8a, 0xb1, + 0xc0, 0x3a, 0xfa, 0x19, 0x3a, 0x83, 0x39, 0xb5, 0x64, 0x31, 0x4f, 0x71, 0xf0, 0xa5, 0x8c, 0x96, + 0x4a, 0x41, 0xcf, 0x7a, 0x99, 0x16, 0x43, 0x75, 0x58, 0x6a, 0x04, 0x96, 0x88, 0x51, 0x21, 0x6f, + 0xd2, 0x80, 0xfc, 0xdc, 0x8a, 0x52, 0xff, 0x5d, 0x09, 0xfb, 0x34, 0x37, 0x42, 0x84, 0xae, 0xfb, + 0x8e, 0xf0, 0xdd, 0x6f, 0x73, 0x35, 0x16, 0x1b, 0xdd, 0x9d, 0xe8, 0x1c, 0x66, 0x2d, 0x89, 0x63, + 0xca, 0x51, 0xa6, 0xbf, 0x32, 0x38, 0xf3, 0x17, 0x04, 0xfb, 0x72, 0x4c, 0xd2, 0x18, 0x33, 0x56, + 0xda, 0x60, 0xc5, 0x53, 0x58, 0xe8, 0xda, 0x1f, 0xb4, 0x06, 0x85, 0x78, 0x87, 0xe5, 0x37, 0xeb, + 0xb8, 0x91, 0xb4, 0xd1, 0x3a, 0x4c, 0x25, 0x17, 0x54, 0x1f, 0xdd, 0xd1, 0x4a, 0x53, 0x46, 0xc1, + 0x53, 0x57, 0xb0, 0xf8, 0x91, 0x06, 0xab, 0x7d, 0x43, 0x2e, 0xd2, 0x61, 0x52, 0x6d, 0x84, 0x44, + 0x9d, 0x32, 0xe2, 0x26, 0x3a, 0x81, 0x42, 0x12, 0xd5, 0x47, 0x65, 0x0a, 0x51, 0x1e, 0x32, 0xaa, + 0xc6, 0xe1, 0x7c, 0x92, 0x47, 0xc1, 0xbb, 0xf8, 0x57, 0x0d, 0xb6, 0x07, 0x44, 0x5d, 0xf4, 0x0d, + 0x58, 0x51, 0x21, 0x9d, 0x71, 0x2b, 0x10, 0x19, 0x85, 0x87, 0x19, 0xb7, 0xbc, 0x96, 0xd4, 0x35, + 0x66, 0x2c, 0x45, 0xa3, 0x17, 0x62, 0xb0, 0x1a, 0x8f, 0xa1, 0x73, 0x98, 0x6b, 0x3f, 0x9e, 0xea, + 0x3b, 0x3c, 0xf7, 0x25, 0xd9, 0x6f, 0x3b, 0x91, 0xb3, 0x6d, 0x07, 0xb1, 0x58, 0x87, 0xd9, 0xb6, + 0xf1, 0x9c, 0x15, 0x7a, 0x0b, 0x26, 0x12, 0x52, 0xad, 0x34, 0x55, 0xd9, 0x15, 0x6f, 0xd2, 0xbf, + 0xbf, 0xd8, 0x5e, 0xb7, 0x29, 0xf3, 0x28, 0x63, 0xce, 0x65, 0x99, 0xd0, 0x3d, 0xcf, 0xe2, 0xcd, + 0xf2, 0x29, 0x6e, 0x58, 0xf6, 0xf5, 0x21, 0xb6, 0x0d, 0xe5, 0x52, 0xfc, 0x05, 0x14, 0x87, 0x88, + 0x77, 0xb9, 0xe4, 0x2a, 0x16, 0xdf, 0x84, 0x3c, 0x72, 0x29, 0xfe, 0x53, 0x83, 0x87, 0x43, 0xc7, + 0x67, 0xf4, 0x1d, 0x58, 0xcf, 0x26, 0x28, 0xbd, 0xf7, 0x47, 0x0f, 0x92, 0x04, 0xa3, 0x63, 0x8f, + 0x70, 0xba, 0x47, 0x89, 0xe2, 0x2f, 0x23, 0x29, 0x8e, 0x37, 0x2e, 0x6a, 0x16, 0xff, 0xa8, 0xc1, + 0x6c, 0x5b, 0xdd, 0xa2, 0xfd, 0x5a, 0x68, 0xed, 0xd7, 0x02, 0x6d, 0xc0, 0x14, 0x61, 0x95, 0xf0, + 0xfa, 0x82, 0x38, 0xd1, 0xfe, 0x15, 0x8c, 0xb4, 0x03, 0x55, 0x60, 0x42, 0xbe, 0x87, 0x71, 0x19, + 0xe6, 0x6b, 0x83, 0xaa, 0x25, 0xa7, 0xc4, 0x23, 0x11, 0xb5, 0xa1, 0x3c, 0xdf, 0x2c, 0x7c, 0xfc, + 0xe9, 0xf6, 0xc8, 0x7f, 0x3f, 0xdd, 0x1e, 0x29, 0xfe, 0x59, 0x83, 0xc5, 0x1e, 0x71, 0xe4, 0xff, + 0x11, 0xf8, 0xfd, 0x0e, 0x81, 0xaf, 0x0d, 0xf7, 0xd1, 0x99, 0x2b, 0xf3, 0x1f, 0x63, 0xb0, 0x95, + 0x1f, 0xf9, 0xf2, 0x15, 0x7f, 0x00, 0x77, 0x5d, 0x81, 0x6f, 0xd6, 0xc2, 0x6b, 0x53, 0xa9, 0x1b, + 0xbd, 0xa5, 0xba, 0x39, 0x89, 0x54, 0x09, 0xaf, 0x65, 0x93, 0xa1, 0x9f, 0xc0, 0x82, 0x22, 0xce, + 0x80, 0x47, 0x53, 0x7f, 0x7c, 0x93, 0xef, 0xed, 0x08, 0x7d, 0x3e, 0xc2, 0x4a, 0xe1, 0x7f, 0x0c, + 0x0b, 0x91, 0x74, 0x86, 0x5d, 0x37, 0x86, 0x1f, 0xbf, 0xa5, 0xf6, 0x79, 0x09, 0x75, 0x81, 0x5d, + 0x57, 0xa1, 0x9b, 0x80, 0x92, 0xb2, 0x41, 0x0a, 0x7f, 0xe7, 0xb6, 0xea, 0xef, 0x7a, 0xaa, 0x28, + 0x10, 0x13, 0x64, 0xf6, 0xf0, 0x13, 0x0d, 0x26, 0x55, 0x05, 0x0c, 0xed, 0xc2, 0x6c, 0x26, 0x7c, + 0x27, 0x1b, 0x36, 0x93, 0x76, 0x9e, 0x38, 0x68, 0x09, 0xee, 0xc8, 0x24, 0x4a, 0xc5, 0x8d, 0xa8, + 0x81, 0xbe, 0x07, 0x05, 0x07, 0xcb, 0x3a, 0x97, 0x58, 0x65, 0x6d, 0x50, 0xcd, 0xed, 0x30, 0xb2, + 0x35, 0x12, 0xa7, 0x8c, 0xa2, 0x3f, 0x69, 0x80, 0xba, 0x6b, 0x69, 0xc3, 0x89, 0xcb, 0x0b, 0x6c, + 0xe8, 0x6d, 0x28, 0xc4, 0x95, 0x38, 0xa5, 0xf1, 0x95, 0xdc, 0x32, 0x90, 0xb2, 0x35, 0x12, 0xaf, + 0x8c, 0xc8, 0xbf, 0x6b, 0x30, 0xdf, 0x51, 0x8e, 0x1b, 0x4e, 0xa1, 0x0b, 0x2b, 0xbd, 0x2b, 0x80, + 0x2a, 0x66, 0xbe, 0x36, 0x5c, 0x01, 0x30, 0xad, 0xf4, 0xa9, 0xcc, 0x76, 0xa9, 0x57, 0x15, 0x30, + 0x23, 0xf8, 0x77, 0x1a, 0x6c, 0xe4, 0x95, 0xf2, 0xf2, 0x6f, 0x6a, 0x15, 0xa6, 0xb3, 0x95, 0xbb, + 0x48, 0xea, 0xd3, 0x5b, 0x94, 0x0d, 0x0d, 0xf0, 0x92, 0xdf, 0xc5, 0x8f, 0x35, 0x58, 0xcf, 0x29, + 0xb6, 0xe5, 0x4b, 0x3a, 0x85, 0x49, 0x55, 0xd9, 0x53, 0x72, 0x9e, 0xdc, 0xbc, 0xa6, 0x67, 0xc4, + 0x10, 0xc5, 0xdf, 0x8c, 0xc2, 0xbd, 0x3e, 0x59, 0x9c, 0x88, 0xa9, 0x32, 0x53, 0xc3, 0x41, 0x1c, + 0x53, 0x55, 0x13, 0xfd, 0x10, 0x10, 0xa7, 0xdc, 0x72, 0x4d, 0x95, 0x38, 0x7a, 0x32, 0xf0, 0x46, + 0xf1, 0x75, 0x53, 0xc5, 0xd7, 0xe5, 0xee, 0xf8, 0x7a, 0xe2, 0x73, 0xe3, 0xae, 0x74, 0x8c, 0xe8, + 0xa4, 0x1b, 0xda, 0x87, 0x4d, 0xd7, 0x62, 0xdc, 0x74, 0xb0, 0x2b, 0x52, 0x61, 0xf9, 0x99, 0x66, + 0x37, 0xb1, 0x7d, 0x29, 0xbe, 0x9c, 0x88, 0x87, 0xe5, 0x99, 0x1d, 0x33, 0xd6, 0x84, 0xd1, 0x61, + 0x6a, 0x73, 0x10, 0x99, 0x88, 0xf0, 0x89, 0x8e, 0x61, 0x42, 0xe5, 0x94, 0xe3, 0x83, 0x4b, 0x00, + 0xdd, 0x53, 0x35, 0x94, 0x77, 0xf1, 0x19, 0xcc, 0x77, 0x64, 0x9c, 0xe9, 0x22, 0xe0, 0xf6, 0x45, + 0xc0, 0xe8, 0x07, 0x30, 0x93, 0xcd, 0x67, 0xd5, 0x6e, 0x7c, 0x35, 0x3f, 0xa1, 0x4a, 0x53, 0xd9, + 0xe9, 0x4c, 0x2a, 0x5b, 0x69, 0x7e, 0xf6, 0x62, 0x4b, 0xfb, 0xfc, 0xc5, 0x96, 0xf6, 0x9f, 0x17, + 0x5b, 0xda, 0x6f, 0x5f, 0x6e, 0x8d, 0x7c, 0xfe, 0x72, 0x6b, 0xe4, 0x5f, 0x2f, 0xb7, 0x46, 0x3e, + 0x78, 0xaf, 0x41, 0x78, 0x33, 0xac, 0x95, 0x6d, 0xea, 0xed, 0x9d, 0xc4, 0xc8, 0xa7, 0x56, 0x8d, + 0xed, 0x25, 0x3c, 0x8f, 0x6c, 0x1a, 0xe0, 0x6c, 0xb3, 0x69, 0x11, 0x7f, 0xcf, 0xa3, 0xe2, 0x7b, + 0x92, 0xa5, 0x7f, 0x01, 0xf1, 0xeb, 0x16, 0x66, 0xb5, 0x09, 0xf9, 0x47, 0xcf, 0xd3, 0xff, 0x05, + 0x00, 0x00, 0xff, 0xff, 0xc7, 0x69, 0x9a, 0x25, 0x96, 0x1a, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { @@ -1180,6 +1323,38 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.ActiveGrants) > 0 { + for iNdEx := len(m.ActiveGrants) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ActiveGrants[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xa2 + } + } + if len(m.GrantAuthorizations) > 0 { + for iNdEx := len(m.GrantAuthorizations) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.GrantAuthorizations[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0x9a + } + } if len(m.MarketVolumes) > 0 { for iNdEx := len(m.MarketVolumes) - 1; iNdEx >= 0; iNdEx-- { { @@ -2319,6 +2494,107 @@ func (m *PerpetualMarketFundingState) MarshalToSizedBuffer(dAtA []byte) (int, er return len(dAtA) - i, nil } +func (m *FullGrantAuthorizations) 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 *FullGrantAuthorizations) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *FullGrantAuthorizations) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Grants) > 0 { + for iNdEx := len(m.Grants) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Grants[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + } + if m.LastDelegationsCheckedTime != 0 { + i = encodeVarintGenesis(dAtA, i, uint64(m.LastDelegationsCheckedTime)) + i-- + dAtA[i] = 0x18 + } + { + size := m.TotalGrantAmount.Size() + i -= size + if _, err := m.TotalGrantAmount.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Granter) > 0 { + i -= len(m.Granter) + copy(dAtA[i:], m.Granter) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.Granter))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *FullActiveGrant) 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 *FullActiveGrant) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *FullActiveGrant) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.ActiveGrant != nil { + { + size, err := m.ActiveGrant.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Grantee) > 0 { + i -= len(m.Grantee) + copy(dAtA[i:], m.Grantee) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.Grantee))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintGenesis(dAtA []byte, offset int, v uint64) int { offset -= sovGenesis(v) base := offset @@ -2523,6 +2799,18 @@ func (m *GenesisState) Size() (n int) { n += 2 + l + sovGenesis(uint64(l)) } } + if len(m.GrantAuthorizations) > 0 { + for _, e := range m.GrantAuthorizations { + l = e.Size() + n += 2 + l + sovGenesis(uint64(l)) + } + } + if len(m.ActiveGrants) > 0 { + for _, e := range m.ActiveGrants { + l = e.Size() + n += 2 + l + sovGenesis(uint64(l)) + } + } return n } @@ -2797,6 +3085,47 @@ func (m *PerpetualMarketFundingState) Size() (n int) { return n } +func (m *FullGrantAuthorizations) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Granter) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + l = m.TotalGrantAmount.Size() + n += 1 + l + sovGenesis(uint64(l)) + if m.LastDelegationsCheckedTime != 0 { + n += 1 + sovGenesis(uint64(m.LastDelegationsCheckedTime)) + } + if len(m.Grants) > 0 { + for _, e := range m.Grants { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + return n +} + +func (m *FullActiveGrant) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Grantee) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + if m.ActiveGrant != nil { + l = m.ActiveGrant.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + return n +} + func sovGenesis(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -3943,27 +4272,95 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipGenesis(dAtA[iNdEx:]) - if err != nil { - return err + case 35: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GrantAuthorizations", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { + 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 } - if (iNdEx + skippy) > l { + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { return io.ErrUnexpectedEOF } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} + m.GrantAuthorizations = append(m.GrantAuthorizations, &FullGrantAuthorizations{}) + if err := m.GrantAuthorizations[len(m.GrantAuthorizations)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 36: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ActiveGrants", 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 + } + m.ActiveGrants = append(m.ActiveGrants, &FullActiveGrant{}) + if err := m.ActiveGrants[len(m.ActiveGrants)-1].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 *OrderbookSequence) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -5762,6 +6159,293 @@ func (m *PerpetualMarketFundingState) Unmarshal(dAtA []byte) error { } return nil } +func (m *FullGrantAuthorizations) 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: FullGrantAuthorizations: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: FullGrantAuthorizations: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Granter", 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.Granter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalGrantAmount", 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 + } + if err := m.TotalGrantAmount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LastDelegationsCheckedTime", wireType) + } + m.LastDelegationsCheckedTime = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.LastDelegationsCheckedTime |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grants", 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 + } + m.Grants = append(m.Grants, &GrantAuthorization{}) + if err := m.Grants[len(m.Grants)-1].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 *FullActiveGrant) 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: FullActiveGrant: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: FullActiveGrant: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grantee", 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.Grantee = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ActiveGrant", 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 m.ActiveGrant == nil { + m.ActiveGrant = &ActiveGrant{} + } + if err := m.ActiveGrant.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 skipGenesis(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/exchange/types/key.go b/chain/exchange/types/key.go index 93af05d1..c4023835 100644 --- a/chain/exchange/types/key.go +++ b/chain/exchange/types/key.go @@ -6,6 +6,7 @@ import ( "math/big" "strings" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/ethereum/go-ethereum/common" "github.com/shopspring/decimal" @@ -110,6 +111,11 @@ var ( ConditionalOrderInvalidationFlagPrefix = []byte{0x78} // prefix for a key to save flags to invalidate conditional orders AtomicMarketOrderTakerFeeMultiplierKey = []byte{0x79} // key to store individual market atomic take fee multiplier + + GrantAuthorizationsPrefix = []byte{0x80} // prefix to store individual stake grants by (granter, grantee) + TotalGrantAmountPrefix = []byte{0x81} // prefix to store the total granted amount by granter + LastGranterDelegationCheckTimePrefix = []byte{0x82} // prefix to store the last timestamp that the granter's delegations were checked + ActiveGrantPrefix = []byte{0x83} // prefix to store the grantee's active grant ) func GetSubaccountCidKey(subaccountID common.Hash, cid string) []byte { @@ -271,12 +277,12 @@ func GetSubaccountOrderSuffix(marketID, subaccountID common.Hash, isBuy bool) [] return append(MarketSubaccountInfix(marketID, subaccountID), getBoolPrefix(isBuy)...) } -func GetSubaccountOrderKey(marketID, subaccountID common.Hash, isBuy bool, price sdk.Dec, orderHash common.Hash) []byte { +func GetSubaccountOrderKey(marketID, subaccountID common.Hash, isBuy bool, price math.LegacyDec, orderHash common.Hash) []byte { // TODO use copy for greater efficiency return append(append(GetSubaccountOrderPrefixByMarketSubaccountDirection(marketID, subaccountID, isBuy), []byte(GetPaddedPrice(price))...), orderHash.Bytes()...) } -func GetSubaccountOrderIterationKey(price sdk.Dec, orderHash common.Hash) []byte { +func GetSubaccountOrderIterationKey(price math.LegacyDec, orderHash common.Hash) []byte { return append([]byte(GetPaddedPrice(price)), orderHash.Bytes()...) } @@ -308,7 +314,7 @@ func GetDerivativeMarketTransientMarketsKey(marketID common.Hash, isBuy bool) [] return append(DerivativeMarketOrderIndicatorPrefix, MarketDirectionPrefix(marketID, isBuy)...) } -func GetPaddedPrice(price sdk.Dec) string { +func GetPaddedPrice(price math.LegacyDec) string { dec := decimal.NewFromBigInt(price.BigInt(), -18).StringFixed(PriceDecimalPlaces) return getPaddedPriceFromString(dec) } @@ -319,7 +325,7 @@ func getPaddedPriceFromString(price string) string { return fmt.Sprintf("%032s.%s", naturalPart, decimalPart) } -func GetPriceFromPaddedPrice(paddedPrice string) sdk.Dec { +func GetPriceFromPaddedPrice(paddedPrice string) math.LegacyDec { priceString := strings.Trim(paddedPrice, "0") // remove the "." if there's no decimal component priceString = strings.TrimSuffix(priceString, ".") @@ -327,10 +333,10 @@ func GetPriceFromPaddedPrice(paddedPrice string) sdk.Dec { if strings.HasPrefix(priceString, ".") { priceString = "0" + priceString } - return sdk.MustNewDecFromStr(priceString) + return math.LegacyMustNewDecFromStr(priceString) } -func GetLimitOrderByPriceKeyPrefix(marketID common.Hash, isBuy bool, price sdk.Dec, orderHash common.Hash) []byte { +func GetLimitOrderByPriceKeyPrefix(marketID common.Hash, isBuy bool, price math.LegacyDec, orderHash common.Hash) []byte { return GetOrderByPriceKeyPrefix(marketID, isBuy, price, orderHash) } @@ -368,7 +374,7 @@ func GetLimitOrderIndexAccountAddressPrefix(marketID common.Hash, isBuy bool, ac return append(MarketDirectionPrefix(marketID, isBuy), account.Bytes()...) } -func GetOrderByPriceKeyPrefix(marketID common.Hash, isBuy bool, price sdk.Dec, orderHash common.Hash) []byte { +func GetOrderByPriceKeyPrefix(marketID common.Hash, isBuy bool, price math.LegacyDec, orderHash common.Hash) []byte { return append(append(MarketDirectionPrefix(marketID, isBuy), []byte(GetPaddedPrice(price))...), orderHash.Bytes()...) } @@ -376,12 +382,12 @@ func GetOrderByStringPriceKeyPrefix(marketID common.Hash, isBuy bool, price stri return append(append(MarketDirectionPrefix(marketID, isBuy), []byte(getPaddedPriceFromString(price))...), orderHash.Bytes()...) } -func GetConditionalOrderByTriggerPriceKeyPrefix(marketID common.Hash, isHigher bool, triggerPrice sdk.Dec, orderHash common.Hash) []byte { +func GetConditionalOrderByTriggerPriceKeyPrefix(marketID common.Hash, isHigher bool, triggerPrice math.LegacyDec, orderHash common.Hash) []byte { return append(append(MarketDirectionPrefix(marketID, isHigher), []byte(GetPaddedPrice(triggerPrice))...), orderHash.Bytes()...) } // SpotMarketDirectionPriceHashPrefix turns a marketID + direction + price + order hash to prefix used to get a spot order from the store. -func SpotMarketDirectionPriceHashPrefix(marketID common.Hash, isBuy bool, price sdk.Dec, orderHash common.Hash) []byte { +func SpotMarketDirectionPriceHashPrefix(marketID common.Hash, isBuy bool, price math.LegacyDec, orderHash common.Hash) []byte { return append(append(MarketDirectionPrefix(marketID, isBuy), []byte(GetPaddedPrice(price))...), orderHash.Bytes()...) } @@ -517,12 +523,32 @@ func GetDenomDecimalsKey(denom string) []byte { func GetSpotOrderbookLevelsKey(marketID common.Hash, isBuy bool) []byte { return append(SpotOrderbookLevelsPrefix, MarketDirectionPrefix(marketID, isBuy)...) } -func GetSpotOrderbookLevelsForPriceKey(marketID common.Hash, isBuy bool, price sdk.Dec) []byte { +func GetSpotOrderbookLevelsForPriceKey(marketID common.Hash, isBuy bool, price math.LegacyDec) []byte { return append(GetSpotOrderbookLevelsKey(marketID, isBuy), GetPaddedPrice(price)...) } func GetDerivativeOrderbookLevelsKey(marketID common.Hash, isBuy bool) []byte { return append(DerivativeOrderbookLevelsPrefix, MarketDirectionPrefix(marketID, isBuy)...) } -func GetDerivativeOrderbookLevelsForPriceKey(marketID common.Hash, isBuy bool, price sdk.Dec) []byte { +func GetDerivativeOrderbookLevelsForPriceKey(marketID common.Hash, isBuy bool, price math.LegacyDec) []byte { return append(GetDerivativeOrderbookLevelsKey(marketID, isBuy), GetPaddedPrice(price)...) } + +func GetGrantAuthorizationKey(granter, grantee sdk.AccAddress) []byte { + return append(GrantAuthorizationsPrefix, append(granter.Bytes(), grantee.Bytes()...)...) +} + +func GetGrantAuthorizationIteratorPrefix(granter sdk.AccAddress) []byte { + return append(GrantAuthorizationsPrefix, granter.Bytes()...) +} + +func GetTotalGrantAmountKey(granter sdk.AccAddress) []byte { + return append(TotalGrantAmountPrefix, granter.Bytes()...) +} + +func GetActiveGrantKey(grantee sdk.AccAddress) []byte { + return append(ActiveGrantPrefix, grantee.Bytes()...) +} + +func GetLastValidGrantDelegationCheckTimeKey(granter sdk.AccAddress) []byte { + return append(LastGranterDelegationCheckTimePrefix, granter.Bytes()...) +} diff --git a/chain/exchange/types/market.go b/chain/exchange/types/market.go index e84d685f..bff7bb51 100644 --- a/chain/exchange/types/market.go +++ b/chain/exchange/types/market.go @@ -3,7 +3,7 @@ package types import ( "strconv" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/crypto" @@ -11,11 +11,11 @@ import ( peggytypes "github.com/InjectiveLabs/sdk-go/chain/peggy/types" ) -var BinaryOptionsMarketRefundFlagPrice = sdk.NewDec(-1) +var BinaryOptionsMarketRefundFlagPrice = math.LegacyNewDec(-1) type DerivativeMarketInfo struct { Market *DerivativeMarket - MarkPrice sdk.Dec + MarkPrice math.LegacyDec Funding *PerpetualMarketFunding } @@ -90,26 +90,30 @@ func (m *SpotMarket) GetMarketType() MarketType { return MarketType_Spot } -func (m *SpotMarket) GetMakerFeeRate() sdk.Dec { +func (m *SpotMarket) GetMakerFeeRate() math.LegacyDec { return m.MakerFeeRate } -func (m *SpotMarket) GetTakerFeeRate() sdk.Dec { +func (m *SpotMarket) GetTakerFeeRate() math.LegacyDec { return m.TakerFeeRate } -func (m *SpotMarket) GetRelayerFeeShareRate() sdk.Dec { +func (m *SpotMarket) GetRelayerFeeShareRate() math.LegacyDec { return m.RelayerFeeShareRate } -func (m *SpotMarket) GetMinPriceTickSize() sdk.Dec { +func (m *SpotMarket) GetMinPriceTickSize() math.LegacyDec { return m.MinPriceTickSize } -func (m *SpotMarket) GetMinQuantityTickSize() sdk.Dec { +func (m *SpotMarket) GetMinQuantityTickSize() math.LegacyDec { return m.MinQuantityTickSize } +func (m *SpotMarket) GetMinNotional() math.LegacyDec { + return m.MinNotional +} + func (m *SpotMarket) GetMarketStatus() MarketStatus { return m.Status } @@ -149,10 +153,14 @@ func (m *DerivativeMarket) IsInactive() bool { return !m.IsActive() } -func (m *DerivativeMarket) GetMinQuantityTickSize() sdk.Dec { +func (m *DerivativeMarket) GetMinQuantityTickSize() math.LegacyDec { return m.MinQuantityTickSize } +func (m *DerivativeMarket) GetMinNotional() math.LegacyDec { + return m.MinNotional +} + type MarketType byte // nolint:all @@ -163,6 +171,21 @@ const ( MarketType_BinaryOption ) +func (m MarketType) String() string { + switch m { + case MarketType_Spot: + return "spot" + case MarketType_Perpetual: + return "perpetual" + case MarketType_BinaryOption: + return "binary_option" + case MarketType_Expiry: + return "expiry" + default: + return "" + } +} + func (m MarketType) IsSpot() bool { return m == MarketType_Spot } @@ -187,23 +210,23 @@ func (m *DerivativeMarket) GetMarketType() MarketType { } } -func (m *DerivativeMarket) GetMakerFeeRate() sdk.Dec { +func (m *DerivativeMarket) GetMakerFeeRate() math.LegacyDec { return m.MakerFeeRate } -func (m *DerivativeMarket) GetTakerFeeRate() sdk.Dec { +func (m *DerivativeMarket) GetTakerFeeRate() math.LegacyDec { return m.TakerFeeRate } -func (m *DerivativeMarket) GetRelayerFeeShareRate() sdk.Dec { +func (m *DerivativeMarket) GetRelayerFeeShareRate() math.LegacyDec { return m.RelayerFeeShareRate } -func (m *DerivativeMarket) GetInitialMarginRatio() sdk.Dec { +func (m *DerivativeMarket) GetInitialMarginRatio() math.LegacyDec { return m.InitialMarginRatio } -func (m *DerivativeMarket) GetMinPriceTickSize() sdk.Dec { +func (m *DerivativeMarket) GetMinPriceTickSize() math.LegacyDec { return m.MinPriceTickSize } @@ -234,8 +257,8 @@ func (m *BinaryOptionsMarket) GetMarketType() MarketType { return MarketType_BinaryOption } -func (m *BinaryOptionsMarket) GetInitialMarginRatio() sdk.Dec { - return sdk.OneDec() +func (m *BinaryOptionsMarket) GetInitialMarginRatio() math.LegacyDec { + return math.LegacyOneDec() } func (m *BinaryOptionsMarket) IsInactive() bool { return !m.IsActive() @@ -249,14 +272,18 @@ func (m *BinaryOptionsMarket) MarketID() common.Hash { return common.HexToHash(m.MarketId) } -func (m *BinaryOptionsMarket) GetMinPriceTickSize() sdk.Dec { +func (m *BinaryOptionsMarket) GetMinPriceTickSize() math.LegacyDec { return m.MinPriceTickSize } -func (m *BinaryOptionsMarket) GetMinQuantityTickSize() sdk.Dec { +func (m *BinaryOptionsMarket) GetMinQuantityTickSize() math.LegacyDec { return m.MinQuantityTickSize } +func (m *BinaryOptionsMarket) GetMinNotional() math.LegacyDec { + return m.MinNotional +} + func (m *BinaryOptionsMarket) GetTicker() string { return m.Ticker } @@ -265,15 +292,15 @@ func (m *BinaryOptionsMarket) GetQuoteDenom() string { return m.QuoteDenom } -func (m *BinaryOptionsMarket) GetMakerFeeRate() sdk.Dec { +func (m *BinaryOptionsMarket) GetMakerFeeRate() math.LegacyDec { return m.MakerFeeRate } -func (m *BinaryOptionsMarket) GetTakerFeeRate() sdk.Dec { +func (m *BinaryOptionsMarket) GetTakerFeeRate() math.LegacyDec { return m.TakerFeeRate } -func (m *BinaryOptionsMarket) GetRelayerFeeShareRate() sdk.Dec { +func (m *BinaryOptionsMarket) GetRelayerFeeShareRate() math.LegacyDec { return m.RelayerFeeShareRate } diff --git a/chain/exchange/types/market_admin.go b/chain/exchange/types/market_admin.go new file mode 100644 index 00000000..8b3068d3 --- /dev/null +++ b/chain/exchange/types/market_admin.go @@ -0,0 +1,75 @@ +package types + +import "cosmossdk.io/errors" + +const ( + TickerPerm = 1 << iota + MinPriceTickSizePerm = 1 << iota + MinQuantityTickSizePerm = 1 << iota + MinNotionalPerm = 1 << iota + InitialMarginRationPerm = 1 << iota + MaintenanceMarginRationPerm = 1 << iota +) + +const MaxPerm = TickerPerm | MinPriceTickSizePerm | MinQuantityTickSizePerm | MinNotionalPerm | InitialMarginRationPerm | MaintenanceMarginRationPerm + +type MarketAdminPermissions int + +func (p MarketAdminPermissions) HasPerm(pp MarketAdminPermissions) bool { + return p&pp != 0 +} + +func (p MarketAdminPermissions) CheckSpotMarketPermissions(msg *MsgUpdateSpotMarket) error { + if msg.HasTickerUpdate() && !p.HasPerm(TickerPerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update market ticker") + } + + if msg.HasMinPriceTickSizeUpdate() && !p.HasPerm(MinPriceTickSizePerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update min_price_tick_size") + } + + if msg.HasMinQuantityTickSizeUpdate() && !p.HasPerm(MinQuantityTickSizePerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update market min_quantity_tick_size") + } + + if msg.HasMinNotionalUpdate() && !p.HasPerm(MinNotionalPerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update market min_notional") + } + + return nil +} + +func (p MarketAdminPermissions) CheckDerivativeMarketPermissions(msg *MsgUpdateDerivativeMarket) error { + if msg.HasTickerUpdate() && !p.HasPerm(TickerPerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update ticker") + } + + if msg.HasMinPriceTickSizeUpdate() && !p.HasPerm(MinPriceTickSizePerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update min_price_tick_size") + } + + if msg.HasMinQuantityTickSizeUpdate() && !p.HasPerm(MinQuantityTickSizePerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update min_quantity_tick_size") + } + + if msg.HasMinNotionalUpdate() && !p.HasPerm(MinNotionalPerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update market min_notional") + } + + if msg.HasInitialMarginRatioUpdate() && !p.HasPerm(InitialMarginRationPerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update initial_margin_ratio") + } + + if msg.HasMaintenanceMarginRatioUpdate() && !p.HasPerm(MaintenanceMarginRationPerm) { + return errors.Wrap(ErrInvalidAccessLevel, "admin does not have permission to update maintenance_margin_ratio") + } + + return nil +} + +func EmptyAdminInfo() AdminInfo { + return AdminInfo{ + Admin: "", + AdminPermissions: 0, + } +} \ No newline at end of file diff --git a/chain/exchange/types/msgs.go b/chain/exchange/types/msgs.go index 84ae39e5..611ea661 100644 --- a/chain/exchange/types/msgs.go +++ b/chain/exchange/types/msgs.go @@ -5,15 +5,11 @@ import ( "encoding/json" "cosmossdk.io/errors" - sdksecp256k1 "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" + "cosmossdk.io/math" 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/migrations/legacytx" - "github.com/cosmos/cosmos-sdk/x/auth/signing" "github.com/ethereum/go-ethereum/common" - "github.com/InjectiveLabs/sdk-go/chain/crypto/ethsecp256k1" oracletypes "github.com/InjectiveLabs/sdk-go/chain/oracle/types" wasmxtypes "github.com/InjectiveLabs/sdk-go/chain/wasmx/types" ) @@ -50,8 +46,9 @@ var ( _ sdk.Msg = &MsgCancelBinaryOptionsOrder{} _ sdk.Msg = &MsgAdminUpdateBinaryOptionsMarket{} _ sdk.Msg = &MsgBatchCancelBinaryOptionsOrders{} - _ sdk.Msg = &MsgReclaimLockedFunds{} _ sdk.Msg = &MsgUpdateParams{} + _ sdk.Msg = &MsgUpdateSpotMarket{} + _ sdk.Msg = &MsgUpdateDerivativeMarket{} ) // exchange message types @@ -71,6 +68,7 @@ const ( TypeMsgSubaccountTransfer = "subaccountTransfer" TypeMsgExternalTransfer = "externalTransfer" TypeMsgIncreasePositionMargin = "increasePositionMargin" + TypeMsgDecreasePositionMargin = "decreasePositionMargin" TypeMsgLiquidatePosition = "liquidatePosition" TypeMsgEmergencySettleMarket = "emergencySettleMarket" TypeMsgInstantSpotMarketLaunch = "instantSpotMarketLaunch" @@ -85,8 +83,11 @@ const ( TypeMsgCancelBinaryOptionsOrder = "cancelBinaryOptionsOrder" TypeMsgAdminUpdateBinaryOptionsMarket = "adminUpdateBinaryOptionsMarket" TypeMsgBatchCancelBinaryOptionsOrders = "batchCancelBinaryOptionsOrders" - TypeMsgReclaimLockedFunds = "reclaimLockedFunds" TypeMsgUpdateParams = "updateParams" + TypeMsgUpdateSpotMarket = "updateSpotMarket" + TypeMsgUpdateDerivativeMarket = "updateDerivativeMarket" + TypeMsgAuthorizeStakeGrants = "authorizeStakeGrant" + TypeMsgActivateStakeGrant = "acceptStakeGrant" ) func (msg MsgUpdateParams) Route() string { return RouterKey } @@ -114,6 +115,184 @@ func (msg MsgUpdateParams) GetSigners() []sdk.AccAddress { return []sdk.AccAddress{addr} } +func (msg *MsgUpdateSpotMarket) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Admin); err != nil { + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Admin) + } + + if !IsHexHash(msg.MarketId) { + return errors.Wrap(ErrMarketInvalid, msg.MarketId) + } + + hasNoUpdate := !msg.HasTickerUpdate() && + !msg.HasMinPriceTickSizeUpdate() && + !msg.HasMinQuantityTickSizeUpdate() && + !msg.HasMinNotionalUpdate() + + if hasNoUpdate { + return errors.Wrap(ErrBadField, "no update value present") + } + + if len(msg.NewTicker) > MaxTickerLength { + return errors.Wrapf(ErrInvalidTicker, "ticker should not exceed %d characters", MaxTickerLength) + } + + if msg.HasMinPriceTickSizeUpdate() { + if err := ValidateTickSize(msg.NewMinPriceTickSize); err != nil { + return errors.Wrap(ErrInvalidPriceTickSize, err.Error()) + } + } + + if msg.HasMinQuantityTickSizeUpdate() { + if err := ValidateTickSize(msg.NewMinQuantityTickSize); err != nil { + return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) + } + } + + if msg.HasMinNotionalUpdate() { + if err := ValidateMinNotional(msg.NewMinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } + } + + return nil +} + +func (msg *MsgUpdateSpotMarket) GetSigners() []sdk.AccAddress { + return []sdk.AccAddress{sdk.MustAccAddressFromBech32(msg.Admin)} +} + +func (msg *MsgUpdateSpotMarket) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) +} + +func (msg *MsgUpdateSpotMarket) Route() string { + return RouterKey +} + +func (msg *MsgUpdateSpotMarket) Type() string { + return TypeMsgUpdateSpotMarket +} + +func (msg *MsgUpdateSpotMarket) HasTickerUpdate() bool { + return msg.NewTicker != "" +} + +func (msg *MsgUpdateSpotMarket) HasMinPriceTickSizeUpdate() bool { + return !msg.NewMinPriceTickSize.IsNil() && !msg.NewMinPriceTickSize.IsZero() +} + +func (msg *MsgUpdateSpotMarket) HasMinQuantityTickSizeUpdate() bool { + return !msg.NewMinQuantityTickSize.IsNil() && !msg.NewMinQuantityTickSize.IsZero() +} + +func (msg *MsgUpdateSpotMarket) HasMinNotionalUpdate() bool { + return !msg.NewMinNotional.IsNil() && !msg.NewMinNotional.IsZero() +} + +func (msg *MsgUpdateDerivativeMarket) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Admin); err != nil { + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Admin) + } + + if !IsHexHash(msg.MarketId) { + return errors.Wrap(ErrMarketInvalid, msg.MarketId) + } + + hasNoUpdate := !msg.HasTickerUpdate() && + !msg.HasMinPriceTickSizeUpdate() && + !msg.HasMinNotionalUpdate() && + !msg.HasMinQuantityTickSizeUpdate() && + !msg.HasInitialMarginRatioUpdate() && + !msg.HasMaintenanceMarginRatioUpdate() + + if hasNoUpdate { + return errors.Wrap(ErrBadField, "no update value present") + } + + if len(msg.NewTicker) > MaxTickerLength { + return errors.Wrapf(ErrInvalidTicker, "ticker should not exceed %d characters", MaxTickerLength) + } + + if msg.HasMinPriceTickSizeUpdate() { + if err := ValidateTickSize(msg.NewMinPriceTickSize); err != nil { + return errors.Wrap(ErrInvalidPriceTickSize, err.Error()) + } + } + + if msg.HasMinQuantityTickSizeUpdate() { + if err := ValidateTickSize(msg.NewMinQuantityTickSize); err != nil { + return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) + } + } + + if msg.HasMinNotionalUpdate() { + if err := ValidateMinNotional(msg.NewMinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } + } + + if msg.HasInitialMarginRatioUpdate() { + if err := ValidateMarginRatio(msg.NewInitialMarginRatio); err != nil { + return err + } + } + + if msg.HasMaintenanceMarginRatioUpdate() { + if err := ValidateMarginRatio(msg.NewMaintenanceMarginRatio); err != nil { + return err + } + } + + if msg.HasInitialMarginRatioUpdate() && msg.HasMaintenanceMarginRatioUpdate() { + if msg.NewInitialMarginRatio.LT(msg.NewMaintenanceMarginRatio) { + return ErrMarginsRelation + } + } + + return nil +} + +func (msg *MsgUpdateDerivativeMarket) GetSigners() []sdk.AccAddress { + return []sdk.AccAddress{sdk.MustAccAddressFromBech32(msg.Admin)} +} + +func (msg *MsgUpdateDerivativeMarket) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) +} + +func (msg *MsgUpdateDerivativeMarket) Route() string { + return RouterKey +} + +func (msg *MsgUpdateDerivativeMarket) Type() string { + return TypeMsgUpdateDerivativeMarket +} + +func (msg *MsgUpdateDerivativeMarket) HasTickerUpdate() bool { + return msg.NewTicker != "" +} + +func (msg *MsgUpdateDerivativeMarket) HasMinPriceTickSizeUpdate() bool { + return !msg.NewMinPriceTickSize.IsNil() && !msg.NewMinPriceTickSize.IsZero() +} + +func (msg *MsgUpdateDerivativeMarket) HasMinQuantityTickSizeUpdate() bool { + return !msg.NewMinQuantityTickSize.IsNil() && !msg.NewMinQuantityTickSize.IsZero() +} + +func (msg *MsgUpdateDerivativeMarket) HasInitialMarginRatioUpdate() bool { + return !msg.NewInitialMarginRatio.IsNil() && !msg.NewInitialMarginRatio.IsZero() +} + +func (msg *MsgUpdateDerivativeMarket) HasMaintenanceMarginRatioUpdate() bool { + return !msg.NewMaintenanceMarginRatio.IsNil() && !msg.NewMaintenanceMarginRatio.IsZero() +} + +func (msg *MsgUpdateDerivativeMarket) HasMinNotionalUpdate() bool { + return !msg.NewMinNotional.IsNil() && !msg.NewMinNotional.IsZero() +} + func (o *SpotOrder) ValidateBasic(senderAddr sdk.AccAddress) error { if !IsHexHash(o.MarketId) { return errors.Wrap(ErrMarketInvalid, o.MarketId) @@ -148,19 +327,19 @@ func (o *OrderInfo) ValidateBasic(senderAddr sdk.AccAddress, hasBinaryPriceBand, return errors.Wrap(ErrInvalidCid, o.Cid) } - if o.Quantity.IsNil() || o.Quantity.LTE(sdk.ZeroDec()) || o.Quantity.GT(MaxOrderQuantity) { + if o.Quantity.IsNil() || o.Quantity.LTE(math.LegacyZeroDec()) || o.Quantity.GT(MaxOrderQuantity) { return errors.Wrap(ErrInvalidQuantity, o.Quantity.String()) } if hasBinaryPriceBand { - // o.Price.GT(MaxOrderPrice) is correct (as opposed to o.Price.GT(sdk.OneDec())), because the price here is scaled + // o.Price.GT(MaxOrderPrice) is correct (as opposed to o.Price.GT(math.LegacyOneDec())), because the price here is scaled // 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) { + if o.Price.IsNil() || o.Price.LT(math.LegacyZeroDec()) || o.Price.GT(MaxOrderPrice) { return errors.Wrap(ErrInvalidPrice, o.Price.String()) } } else { - if o.Price.IsNil() || o.Price.LTE(sdk.ZeroDec()) || o.Price.GT(MaxOrderPrice) { + if o.Price.IsNil() || o.Price.LTE(math.LegacyZeroDec()) || o.Price.GT(MaxOrderPrice) { return errors.Wrap(ErrInvalidPrice, o.Price.String()) } } @@ -184,8 +363,8 @@ func (o *DerivativeOrder) ValidateBasic(senderAddr sdk.AccAddress, hasBinaryPric return errors.Wrap(ErrUnrecognizedOrderType, string(o.OrderType)) } - if o.Margin.IsNil() || o.Margin.LT(sdk.ZeroDec()) { - return errors.Wrap(ErrInsufficientOrderMargin, o.Margin.String()) + if o.Margin.IsNil() || o.Margin.LT(math.LegacyZeroDec()) { + return errors.Wrap(ErrInsufficientMargin, o.Margin.String()) } if o.Margin.GT(MaxOrderMargin) { @@ -360,7 +539,7 @@ func (msg MsgInstantSpotMarketLaunch) ValidateBasic() error { return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.Ticker == "" || len(msg.Ticker) > MaxTickerLength { - return errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrapf(ErrInvalidTicker, "ticker should not be empty or exceed %d characters", MaxTickerLength) } if msg.BaseDenom == "" { return errors.Wrap(ErrInvalidBaseDenom, "base denom should not be empty") @@ -378,6 +557,9 @@ func (msg MsgInstantSpotMarketLaunch) ValidateBasic() error { if err := ValidateTickSize(msg.MinQuantityTickSize); err != nil { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } + if err := ValidateMinNotional(msg.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } return nil } @@ -409,7 +591,7 @@ func (msg MsgInstantPerpetualMarketLaunch) ValidateBasic() error { return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.Ticker == "" || len(msg.Ticker) > MaxTickerLength { - return errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrapf(ErrInvalidTicker, "ticker should not be empty or exceed %d characters", MaxTickerLength) } if msg.QuoteDenom == "" { return errors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") @@ -442,6 +624,9 @@ func (msg MsgInstantPerpetualMarketLaunch) ValidateBasic() error { if err := ValidateTickSize(msg.MinQuantityTickSize); err != nil { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } + if err := ValidateMinNotional(msg.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } return nil } @@ -475,7 +660,7 @@ func (msg MsgInstantBinaryOptionsMarketLaunch) ValidateBasic() error { return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.Ticker == "" || len(msg.Ticker) > MaxTickerLength { - return errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrapf(ErrInvalidTicker, "ticker should not be empty or exceed %d characters", MaxTickerLength) } if msg.OracleSymbol == "" { return errors.Wrap(ErrInvalidOracle, "oracle symbol should not be empty") @@ -516,6 +701,9 @@ func (msg MsgInstantBinaryOptionsMarketLaunch) ValidateBasic() error { if err := ValidateTickSize(msg.MinQuantityTickSize); err != nil { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } + if err := ValidateMinNotional(msg.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } return nil } @@ -549,7 +737,7 @@ func (msg MsgInstantExpiryFuturesMarketLaunch) ValidateBasic() error { return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } if msg.Ticker == "" || len(msg.Ticker) > MaxTickerLength { - return errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrapf(ErrInvalidTicker, "ticker should not be empty or exceed %d characters", MaxTickerLength) } if msg.QuoteDenom == "" { return errors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") @@ -586,6 +774,9 @@ func (msg MsgInstantExpiryFuturesMarketLaunch) ValidateBasic() error { if err := ValidateTickSize(msg.MinQuantityTickSize); err != nil { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } + if err := ValidateMinNotional(msg.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } return nil } @@ -831,7 +1022,7 @@ func NewMsgCreateBinaryOptionsLimitOrder( market *BinaryOptionsMarket, subaccountID string, feeRecipient string, - price, quantity sdk.Dec, + price, quantity math.LegacyDec, orderType OrderType, isReduceOnly bool, ) *MsgCreateBinaryOptionsLimitOrder { @@ -976,7 +1167,7 @@ func NewMsgCreateBinaryOptionsMarketOrder( market *BinaryOptionsMarket, subaccountID string, feeRecipient string, - price, quantity sdk.Dec, + price, quantity math.LegacyDec, orderType OrderType, isReduceOnly bool, ) *MsgCreateBinaryOptionsMarketOrder { @@ -1309,8 +1500,7 @@ func (msg *MsgExternalTransfer) ValidateBasic() error { return errors.Wrap(ErrBadSubaccountID, msg.SourceSubaccountId) } - _, ok := IsValidSubaccountID(msg.DestinationSubaccountId) - if !ok || IsDefaultSubaccountID(common.HexToHash(msg.DestinationSubaccountId)) { + if _, ok := IsValidSubaccountID(msg.DestinationSubaccountId); !ok { return errors.Wrap(ErrBadSubaccountID, msg.DestinationSubaccountId) } @@ -1382,6 +1572,54 @@ func (msg *MsgIncreasePositionMargin) GetSigners() []sdk.AccAddress { return []sdk.AccAddress{sender} } +func (msg *MsgDecreasePositionMargin) Route() string { + return RouterKey +} + +func (msg *MsgDecreasePositionMargin) Type() string { + return TypeMsgDecreasePositionMargin +} + +func (msg *MsgDecreasePositionMargin) ValidateBasic() error { + senderAddr, err := sdk.AccAddressFromBech32(msg.Sender) + if err != nil { + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + } + + if !IsHexHash(msg.MarketId) { + return errors.Wrap(ErrMarketInvalid, msg.MarketId) + } + + if !msg.Amount.IsPositive() { + return errors.Wrap(sdkerrors.ErrInvalidCoins, msg.Amount.String()) + } + + if msg.Amount.GT(MaxOrderMargin) { + return errors.Wrap(ErrTooMuchOrderMargin, msg.Amount.String()) + } + + if err := CheckValidSubaccountIDOrNonce(senderAddr, msg.SourceSubaccountId); err != nil { + return err + } + if err := CheckValidSubaccountIDOrNonce(senderAddr, msg.DestinationSubaccountId); err != nil { + return err + } + + return nil +} + +func (msg *MsgDecreasePositionMargin) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) +} + +func (msg *MsgDecreasePositionMargin) GetSigners() []sdk.AccAddress { + sender, err := sdk.AccAddressFromBech32(msg.Sender) + if err != nil { + panic(err) + } + return []sdk.AccAddress{sender} +} + func (msg *MsgPrivilegedExecuteContract) Route() string { return RouterKey } @@ -1588,17 +1826,17 @@ func (msg MsgBatchUpdateOrders) ValidateBasic() error { return err } - hasDuplicateSpotMarketIds := HasDuplicatesHexHash(msg.SpotMarketIdsToCancelAll) - if hasDuplicateSpotMarketIds { + hasDuplicateSpotMarketIDs := HasDuplicatesHexHash(msg.SpotMarketIdsToCancelAll) + if hasDuplicateSpotMarketIDs { return errors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains duplicate cancel all spot market ids") } - hasDuplicateDerivativesMarketIds := HasDuplicatesHexHash(msg.DerivativeMarketIdsToCancelAll) - if hasDuplicateDerivativesMarketIds { + hasDuplicateDerivativesMarketIDs := HasDuplicatesHexHash(msg.DerivativeMarketIdsToCancelAll) + if hasDuplicateDerivativesMarketIDs { return errors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains duplicate cancel all derivative market ids") } - hasDuplicateBinaryOptionsMarketIds := HasDuplicatesHexHash(msg.BinaryOptionsMarketIdsToCancelAll) - if hasDuplicateBinaryOptionsMarketIds { + hasDuplicateBinaryOptionsMarketIDs := HasDuplicatesHexHash(msg.BinaryOptionsMarketIdsToCancelAll) + if hasDuplicateBinaryOptionsMarketIDs { return errors.Wrap(ErrInvalidBatchMsgUpdate, "msg contains duplicate cancel all binary options market ids") } } @@ -1769,7 +2007,7 @@ func (msg *MsgAdminUpdateBinaryOptionsMarket) ValidateBasic() error { msg.SettlementPrice.IsNil(): // ok case msg.SettlementPrice.Equal(BinaryOptionsMarketRefundFlagPrice), - msg.SettlementPrice.GTE(sdk.ZeroDec()) && msg.SettlementPrice.LTE(MaxBinaryOptionsOrderPrice): + msg.SettlementPrice.GTE(math.LegacyZeroDec()) && msg.SettlementPrice.LTE(MaxBinaryOptionsOrderPrice): if msg.Status != MarketStatus_Demolished { return errors.Wrapf(ErrInvalidMarketStatus, "status should be set to demolished when the settlement price is set, status: %s", msg.Status.String()) } @@ -1801,97 +2039,31 @@ func (msg *MsgAdminUpdateBinaryOptionsMarket) GetSigners() []sdk.AccAddress { return []sdk.AccAddress{sender} } -func (msg *MsgReclaimLockedFunds) Route() string { - return RouterKey -} +func (msg *MsgAuthorizeStakeGrants) Route() string { return RouterKey } -func (msg *MsgReclaimLockedFunds) Type() string { - return TypeMsgReclaimLockedFunds -} +func (msg *MsgAuthorizeStakeGrants) Type() string { return TypeMsgAuthorizeStakeGrants } -func (msg *MsgReclaimLockedFunds) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Sender) - if err != nil { +func (msg *MsgAuthorizeStakeGrants) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { 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 errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) - // } - - lockedPubKey := sdksecp256k1.PubKey{ - Key: msg.LockedAccountPubKey, - } - correctPubKey := ethsecp256k1.PubKey{ - Key: msg.LockedAccountPubKey, - } - lockedAddress := sdk.AccAddress(lockedPubKey.Address()) - recipientAddress := sdk.AccAddress(correctPubKey.Address()) - - data := ConstructFundsReclaimMessage( - recipientAddress, - lockedAddress, - ) - - msgSignData := MsgSignData{ - Signer: lockedAddress.Bytes(), - Data: data, - } - - if err := msgSignData.ValidateBasic(); err != nil { - return nil - } - - tx := legacytx.NewStdTx( - []sdk.Msg{&MsgSignDoc{ - SignType: "sign/MsgSignData", - Value: msgSignData, - }}, - legacytx.StdFee{ - Amount: sdk.Coins{}, - Gas: 0, - }, - //nolint:staticcheck // we know it's deprecated and we think it's okay - []legacytx.StdSignature{ - { - PubKey: &lockedPubKey, - Signature: msg.Signature, - }, - }, - "", - ) - - if err := tx.ValidateBasic(); err != nil { - return err - } - - aminoJSONHandler := legacytx.NewStdTxSignModeHandler() + for idx := range msg.Grants { + grant := msg.Grants[idx] - signingData := signing.SignerData{ - ChainID: "", - AccountNumber: 0, - Sequence: 0, - } + if _, err := sdk.AccAddressFromBech32(grant.Grantee); err != nil { + return errors.Wrap(sdkerrors.ErrInvalidAddress, grant.Grantee) + } - signBz, err := aminoJSONHandler.GetSignBytes(signingtypes.SignMode_SIGN_MODE_LEGACY_AMINO_JSON, signingData, tx) - if err != nil { - return err - } + if grant.Amount.IsNegative() || grant.Amount.GT(MaxTokenInt) { + return errors.Wrap(ErrInvalidStakeGrant, grant.Amount.String()) - if !lockedPubKey.VerifySignature(signBz, tx.GetSignatures()[0]) { - 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 } -func (msg *MsgReclaimLockedFunds) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) -} - -func (msg *MsgReclaimLockedFunds) GetSigners() []sdk.AccAddress { +func (msg *MsgAuthorizeStakeGrants) GetSigners() []sdk.AccAddress { sender, err := sdk.AccAddressFromBech32(msg.Sender) if err != nil { panic(err) @@ -1899,54 +2071,34 @@ func (msg *MsgReclaimLockedFunds) GetSigners() []sdk.AccAddress { return []sdk.AccAddress{sender} } -// / Skeleton sdk.Msg interface implementation -var _ sdk.Msg = &MsgSignData{} -var _ legacytx.LegacyMsg = &MsgSignData{} - -func (msg *MsgSignData) ValidateBasic() error { - if msg.Signer.Empty() { - return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Signer.String()) - } - - return nil +// GetSignBytes implements the sdk.Msg interface. It encodes the message for signing +func (msg *MsgAuthorizeStakeGrants) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) } -func (msg *MsgSignData) GetSigners() []sdk.AccAddress { - return []sdk.AccAddress{msg.Signer} -} +func (msg *MsgActivateStakeGrant) Route() string { return RouterKey } -func (m *MsgSignData) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(m)) -} +func (msg *MsgActivateStakeGrant) Type() string { return TypeMsgActivateStakeGrant } -func (m *MsgSignData) Route() string { - return RouterKey -} - -func (m *MsgSignData) Type() string { - return "signData" -} - -// / Skeleton sdk.Msg interface implementation -var _ sdk.Msg = &MsgSignDoc{} -var _ legacytx.LegacyMsg = &MsgSignDoc{} +func (msg *MsgActivateStakeGrant) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) + } -func (msg *MsgSignDoc) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Granter); err != nil { + return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Granter) + } return nil } -func (msg *MsgSignDoc) GetSigners() []sdk.AccAddress { - return msg.Value.GetSigners() -} - -func (m *MsgSignDoc) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(m)) -} - -func (m *MsgSignDoc) Route() string { - return RouterKey +func (msg *MsgActivateStakeGrant) GetSigners() []sdk.AccAddress { + sender, err := sdk.AccAddressFromBech32(msg.Sender) + if err != nil { + panic(err) + } + return []sdk.AccAddress{sender} } -func (m *MsgSignDoc) Type() string { - return "signDoc" +func (msg *MsgActivateStakeGrant) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) } diff --git a/chain/exchange/types/orderbook.go b/chain/exchange/types/orderbook.go index 00daf561..62b59125 100644 --- a/chain/exchange/types/orderbook.go +++ b/chain/exchange/types/orderbook.go @@ -5,7 +5,7 @@ import ( "sort" "strings" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" "github.com/ethereum/go-ethereum/common" "github.com/olekukonko/tablewriter" ) @@ -45,7 +45,7 @@ func (o *Orderbook) IsCrossed() bool { return false } - lowestSellPrice := sdk.ZeroDec() + lowestSellPrice := math.LegacyZeroDec() isQuantityAllZero := true @@ -126,7 +126,7 @@ func (o *Orderbook) Equals(other *Orderbook) bool { } // getReadableDec is a test utility function to return a readable representation of decimal strings -func getReadableDec(d sdk.Dec) string { +func getReadableDec(d math.LegacyDec) string { if d.IsNil() { return d.String() } @@ -141,17 +141,17 @@ func getReadableDec(d sdk.Dec) string { return dec } -func NewLevel(price, quantity sdk.Dec) *Level { +func NewLevel(price, quantity math.LegacyDec) *Level { return &Level{ P: price, Q: quantity, } } -func (l *Level) GetPrice() sdk.Dec { +func (l *Level) GetPrice() math.LegacyDec { return l.P } -func (l *Level) GetQuantity() sdk.Dec { +func (l *Level) GetQuantity() math.LegacyDec { return l.Q } diff --git a/chain/exchange/types/params.go b/chain/exchange/types/params.go index f5a45be8..51e03d31 100644 --- a/chain/exchange/types/params.go +++ b/chain/exchange/types/params.go @@ -3,7 +3,7 @@ package types import ( "fmt" - sdkmath "cosmossdk.io/math" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" ) @@ -42,23 +42,29 @@ const ( // MaxSubaccountNonceLength restricts the size of a subaccount number from 0 to 999 MaxSubaccountNonceLength = 3 + + // MaxGranterDelegations is the maximum number of delegations that are checked for stake granter + MaxGranterDelegations = 25 ) -var MaxBinaryOptionsOrderPrice = sdk.OneDec() +var MaxBinaryOptionsOrderPrice = math.LegacyOneDec() // would be $0.000001 for USDT -var MinDerivativeOrderPrice = sdk.OneDec() +var MinDerivativeOrderPrice = math.LegacyOneDec() // MaxOrderPrice equals 10^32 -var MaxOrderPrice = sdk.MustNewDecFromStr("100000000000000000000000000000000") +var MaxOrderPrice = math.LegacyMustNewDecFromStr("100000000000000000000000000000000") // MaxOrderMargin equals 10^32 -var MaxOrderMargin = sdk.MustNewDecFromStr("100000000000000000000000000000000") +var MaxOrderMargin = math.LegacyMustNewDecFromStr("100000000000000000000000000000000") + +// MaxTokenInt equals 100,000,000 * 10^18 +var MaxTokenInt, _ = math.NewIntFromString("100000000000000000000000000") -var MaxOrderQuantity = sdk.MustNewDecFromStr("100000000000000000000000000000000") -var MaxFeeMultiplier = sdk.MustNewDecFromStr("100") +var MaxOrderQuantity = math.LegacyMustNewDecFromStr("100000000000000000000000000000000") +var MaxFeeMultiplier = math.LegacyMustNewDecFromStr("100") -var minMarginRatio = sdk.NewDecWithPrec(5, 3) +var minMarginRatio = math.LegacyNewDecWithPrec(5, 3) // Parameter keys var ( @@ -98,27 +104,27 @@ func ParamKeyTable() paramtypes.KeyTable { func NewParams( spotMarketInstantListingFee sdk.Coin, derivativeMarketInstantListingFee sdk.Coin, - defaultSpotMakerFee sdk.Dec, - defaultSpotTakerFee sdk.Dec, - defaultDerivativeMakerFee sdk.Dec, - defaultDerivativeTakerFee sdk.Dec, - defaultInitialMarginRatio sdk.Dec, - defaultMaintenanceMarginRatio sdk.Dec, + defaultSpotMakerFee math.LegacyDec, + defaultSpotTakerFee math.LegacyDec, + defaultDerivativeMakerFee math.LegacyDec, + defaultDerivativeTakerFee math.LegacyDec, + defaultInitialMarginRatio math.LegacyDec, + defaultMaintenanceMarginRatio math.LegacyDec, defaultFundingInterval int64, fundingMultiple int64, - relayerFeeShare sdk.Dec, - defaultHourlyFundingRateCap sdk.Dec, - defaultHourlyInterestRate sdk.Dec, + relayerFeeShare math.LegacyDec, + defaultHourlyFundingRateCap math.LegacyDec, + defaultHourlyInterestRate math.LegacyDec, maxDerivativeSideOrderCount uint32, - injRewardStakedRequirementThreshold sdkmath.Int, + injRewardStakedRequirementThreshold math.Int, tradingRewardsVestingDuration int64, - liquidatorRewardShareRate sdk.Dec, + liquidatorRewardShareRate math.LegacyDec, binaryOptionsMarketInstantListingFee sdk.Coin, atomicMarketOrderAccessLevel AtomicMarketOrderAccessLevel, - spotAtomicMarketOrderFeeMultiplier sdk.Dec, - derivativeAtomicMarketOrderFeeMultiplier sdk.Dec, - binaryOptionsAtomicMarketOrderFeeMultiplier sdk.Dec, - minimalProtocolFeeRate sdk.Dec, + spotAtomicMarketOrderFeeMultiplier math.LegacyDec, + derivativeAtomicMarketOrderFeeMultiplier math.LegacyDec, + binaryOptionsAtomicMarketOrderFeeMultiplier math.LegacyDec, + minimalProtocolFeeRate math.LegacyDec, postOnlyModeHeightThreshold int64, ) Params { return Params{ @@ -184,29 +190,29 @@ func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { // DefaultParams returns a default set of parameters. func DefaultParams() Params { return Params{ - 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 - DefaultDerivativeTakerFeeRate: sdk.NewDecWithPrec(1, 3), // default 0.1% taker fees - DefaultInitialMarginRatio: sdk.NewDecWithPrec(5, 2), // default 5% initial margin ratio - DefaultMaintenanceMarginRatio: sdk.NewDecWithPrec(2, 2), // default 2% maintenance margin ratio + SpotMarketInstantListingFee: sdk.NewCoin("inj", math.NewIntWithDecimal(SpotMarketInstantListingFee, 18)), + DerivativeMarketInstantListingFee: sdk.NewCoin("inj", math.NewIntWithDecimal(DerivativeMarketInstantListingFee, 18)), + DefaultSpotMakerFeeRate: math.LegacyNewDecWithPrec(-1, 4), // default -0.01% maker fees + DefaultSpotTakerFeeRate: math.LegacyNewDecWithPrec(1, 3), // default 0.1% taker fees + DefaultDerivativeMakerFeeRate: math.LegacyNewDecWithPrec(-1, 4), // default -0.01% maker fees + DefaultDerivativeTakerFeeRate: math.LegacyNewDecWithPrec(1, 3), // default 0.1% taker fees + DefaultInitialMarginRatio: math.LegacyNewDecWithPrec(5, 2), // default 5% initial margin ratio + DefaultMaintenanceMarginRatio: math.LegacyNewDecWithPrec(2, 2), // default 2% maintenance margin ratio DefaultFundingInterval: DefaultFundingIntervalSeconds, FundingMultiple: DefaultFundingMultipleSeconds, - RelayerFeeShareRate: sdk.NewDecWithPrec(40, 2), // default 40% relayer fee share - 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 + RelayerFeeShareRate: math.LegacyNewDecWithPrec(40, 2), // default 40% relayer fee share + DefaultHourlyFundingRateCap: math.LegacyNewDecWithPrec(625, 6), // default 0.0625% max hourly funding rate + DefaultHourlyInterestRate: math.LegacyNewDecWithPrec(416666, 11), // 0.01% daily interest rate = 0.0001 / 24 = 0.00000416666 MaxDerivativeOrderSideCount: MaxDerivativeOrderSideCount, - 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)), + InjRewardStakedRequirementThreshold: math.NewIntWithDecimal(100, 18), // 100 INJ + TradingRewardsVestingDuration: 604800, // 7 days + LiquidatorRewardShareRate: math.LegacyNewDecWithPrec(5, 2), // 5% liquidator reward + BinaryOptionsMarketInstantListingFee: sdk.NewCoin("inj", math.NewIntWithDecimal(BinaryOptionsMarketInstantListingFee, 18)), AtomicMarketOrderAccessLevel: AtomicMarketOrderAccessLevel_SmartContractsOnly, - SpotAtomicMarketOrderFeeMultiplier: sdk.NewDecWithPrec(25, 1), // default 2.5 multiplier - DerivativeAtomicMarketOrderFeeMultiplier: sdk.NewDecWithPrec(25, 1), // default 2.5 multiplier - BinaryOptionsAtomicMarketOrderFeeMultiplier: sdk.NewDecWithPrec(25, 1), // default 2.5 multiplier - MinimalProtocolFeeRate: sdk.MustNewDecFromStr("0.00005"), // default 0.005% minimal fee rate + SpotAtomicMarketOrderFeeMultiplier: math.LegacyNewDecWithPrec(25, 1), // default 2.5 multiplier + DerivativeAtomicMarketOrderFeeMultiplier: math.LegacyNewDecWithPrec(25, 1), // default 2.5 multiplier + BinaryOptionsAtomicMarketOrderFeeMultiplier: math.LegacyNewDecWithPrec(25, 1), // default 2.5 multiplier + MinimalProtocolFeeRate: math.LegacyMustNewDecFromStr("0.00005"), // default 0.005% minimal fee rate IsInstantDerivativeMarketLaunchEnabled: false, PostOnlyModeHeightThreshold: 0, } @@ -326,7 +332,7 @@ func validateBinaryOptionsMarketInstantListingFee(i interface{}) error { } func ValidateFee(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(math.LegacyDec) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } @@ -338,7 +344,7 @@ func ValidateFee(i interface{}) error { if v.IsNegative() { return fmt.Errorf("exchange fee cannot be negative: %s", v) } - if v.GT(sdk.OneDec()) { + if v.GT(math.LegacyOneDec()) { return fmt.Errorf("exchange fee cannot be greater than 1: %s", v) } @@ -346,7 +352,7 @@ func ValidateFee(i interface{}) error { } func ValidateMakerFee(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(math.LegacyDec) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } @@ -355,11 +361,11 @@ func ValidateMakerFee(i interface{}) error { return fmt.Errorf("exchange fee cannot be nil: %s", v) } - if v.GT(sdk.OneDec()) { + if v.GT(math.LegacyOneDec()) { return fmt.Errorf("exchange fee cannot be greater than 1: %s", v) } - if v.LT(sdk.OneDec().Neg()) { + if v.LT(math.LegacyOneDec().Neg()) { return fmt.Errorf("exchange fee cannot be less than -1: %s", v) } @@ -367,7 +373,7 @@ func ValidateMakerFee(i interface{}) error { } func ValidateHourlyFundingRateCap(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(math.LegacyDec) if !ok { return fmt.Errorf("invalid parameter type: %T", i) @@ -385,7 +391,7 @@ func ValidateHourlyFundingRateCap(i interface{}) error { return fmt.Errorf("hourly funding rate cap cannot be zero: %s", v) } - if v.GT(sdk.NewDecWithPrec(3, 2)) { + if v.GT(math.LegacyNewDecWithPrec(3, 2)) { return fmt.Errorf("hourly funding rate cap cannot be larger than 3 percent: %s", v) } @@ -393,7 +399,7 @@ func ValidateHourlyFundingRateCap(i interface{}) error { } func ValidateHourlyInterestRate(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(math.LegacyDec) if !ok { return fmt.Errorf("invalid parameter type: %T", i) @@ -407,7 +413,7 @@ func ValidateHourlyInterestRate(i interface{}) error { return fmt.Errorf("hourly interest rate cannot be negative: %s", v) } - if v.GT(sdk.NewDecWithPrec(1, 2)) { + if v.GT(math.LegacyNewDecWithPrec(1, 2)) { return fmt.Errorf("hourly interest rate cannot be larger than 1 percent: %s", v) } @@ -415,7 +421,7 @@ func ValidateHourlyInterestRate(i interface{}) error { } func ValidateTickSize(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(math.LegacyDec) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } @@ -437,12 +443,12 @@ func ValidateTickSize(i interface{}) error { } // 1e18 scaleFactor - scaleFactor := sdk.NewDec(1000000000000000000) + scaleFactor := math.LegacyNewDec(1000000000000000000) // v can be a decimal (e.g. 1e-18) so we scale by 1e18 scaledValue := v.Mul(scaleFactor) - power := sdk.NewDec(1) - ten := sdk.NewDec(10) + power := math.LegacyNewDec(1) + ten := math.LegacyNewDec(10) // determine whether scaledValue is a power of 10 for power.LT(scaledValue) { @@ -456,8 +462,25 @@ func ValidateTickSize(i interface{}) error { return nil } +func ValidateMinNotional(i interface{}) error { + v, ok := i.(math.LegacyDec) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + + if v.IsNil() { + return fmt.Errorf("min notional cannot be nil") + } + + if v.IsNegative() { + return fmt.Errorf("min notional cannot be negative: %s", v) + } + + return nil +} + func ValidateMarginRatio(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(math.LegacyDec) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } @@ -468,7 +491,7 @@ func ValidateMarginRatio(i interface{}) error { if v.LT(minMarginRatio) { return fmt.Errorf("margin ratio cannot be less than minimum: %s", v) } - if v.GTE(sdk.OneDec()) { + if v.GTE(math.LegacyOneDec()) { return fmt.Errorf("margin ratio cannot be greater than or equal to 1: %s", v) } @@ -528,7 +551,7 @@ func validateDerivativeOrderSideCount(i interface{}) error { } func validateInjRewardStakedRequirementThreshold(i interface{}) error { - v, ok := i.(sdkmath.Int) + v, ok := i.(math.Int) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } @@ -558,7 +581,7 @@ func validateTradingRewardsVestingDuration(i interface{}) error { } func validateLiquidatorRewardShareRate(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(math.LegacyDec) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } @@ -569,7 +592,7 @@ func validateLiquidatorRewardShareRate(i interface{}) error { if v.IsNegative() { return fmt.Errorf("reward ratio cannot be negative: %s", v) } - if v.GT(sdk.OneDec()) { + if v.GT(math.LegacyOneDec()) { return fmt.Errorf("reward ratio cannot be greater than 1: %s", v) } @@ -588,7 +611,7 @@ func validateAtomicMarketOrderAccessLevel(i interface{}) error { } func validateAtomicMarketOrderFeeMultiplier(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(math.LegacyDec) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } @@ -596,7 +619,7 @@ func validateAtomicMarketOrderFeeMultiplier(i interface{}) error { if v.IsNil() { return fmt.Errorf("atomicMarketOrderFeeMultiplier cannot be nil: %s", v) } - if v.LT(sdk.OneDec()) { + if v.LT(math.LegacyOneDec()) { return fmt.Errorf("atomicMarketOrderFeeMultiplier cannot be less than one: %s", v) } if v.GT(MaxFeeMultiplier) { diff --git a/chain/exchange/types/positions.go b/chain/exchange/types/positions.go index 10899a5c..3928f708 100644 --- a/chain/exchange/types/positions.go +++ b/chain/exchange/types/positions.go @@ -1,12 +1,12 @@ package types import ( - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" ) type positionPayout struct { - Payout sdk.Dec - PnlNotional sdk.Dec + Payout math.LegacyDec + PnlNotional math.LegacyDec IsProfitable bool } @@ -33,12 +33,12 @@ func (p *DerivativePosition) Copy() *DerivativePosition { func (m *PositionDelta) IsShort() bool { return !m.IsLong } // NewPosition initializes a new position with a given cumulativeFundingEntry (should be nil for non-perpetual markets) -func NewPosition(isLong bool, cumulativeFundingEntry sdk.Dec) *Position { +func NewPosition(isLong bool, cumulativeFundingEntry math.LegacyDec) *Position { position := &Position{ IsLong: isLong, - Quantity: sdk.ZeroDec(), - EntryPrice: sdk.ZeroDec(), - Margin: sdk.ZeroDec(), + Quantity: math.LegacyZeroDec(), + EntryPrice: math.LegacyZeroDec(), + Margin: math.LegacyZeroDec(), } if !cumulativeFundingEntry.IsNil() { position.CumulativeFundingEntry = cumulativeFundingEntry @@ -48,7 +48,7 @@ func NewPosition(isLong bool, cumulativeFundingEntry sdk.Dec) *Position { // GetEffectiveMarginRatio returns the effective margin ratio of the position, based on the input closing price. // CONTRACT: position must already be funding-adjusted (if perpetual) and have positive quantity. -func (p *Position) GetEffectiveMarginRatio(closingPrice, closingFee sdk.Dec) (marginRatio sdk.Dec) { +func (p *Position) GetEffectiveMarginRatio(closingPrice, closingFee math.LegacyDec) (marginRatio math.LegacyDec) { // nolint:all // marginRatio = (margin + quantity * PnlPerContract) / (closingPrice * quantity) effectiveMargin := p.Margin.Add(p.GetPayoutFromPnl(closingPrice, p.Quantity)).Sub(closingFee) @@ -64,7 +64,7 @@ func (p *Position) GetEffectiveMarginRatio(closingPrice, closingFee sdk.Dec) (ma // => Entry price adjustment for sells // (settlementPrice - newEntryPrice) * quantity = (settlementPrice - entryPrice) * quantity * (1 - missingFundsRate) // newEntryPrice = entryPrice - entryPrice * haircutPercentage + settlementPrice * haircutPercentage -func (p *Position) ApplyProfitHaircutForDerivatives(deficitAmount, totalProfits, settlementPrice sdk.Dec) { +func (p *Position) ApplyProfitHaircutForDerivatives(deficitAmount, totalProfits, settlementPrice math.LegacyDec) { // haircutPercentage = deficitAmount / totalProfits // To preserve precision, the division by totalProfits is done last. // newEntryPrice = haircutPercentage * (settlementPrice - entryPrice) + entryPrice @@ -73,20 +73,20 @@ func (p *Position) ApplyProfitHaircutForDerivatives(deficitAmount, totalProfits, // profitable position but with negative margin, we didn't account for negative margin previously, // so we can safely add it if payout becomes negative from haircut - newPositionPayout := p.GetPayoutIfFullyClosing(settlementPrice, sdk.ZeroDec()).Payout + newPositionPayout := p.GetPayoutIfFullyClosing(settlementPrice, math.LegacyZeroDec()).Payout if newPositionPayout.IsNegative() { p.Margin = p.Margin.Add(newPositionPayout.Abs()) } } -func (p *Position) ApplyTotalPositionPayoutHaircut(deficitAmount, totalPayouts, settlementPrice sdk.Dec) { +func (p *Position) ApplyTotalPositionPayoutHaircut(deficitAmount, totalPayouts, settlementPrice math.LegacyDec) { p.ApplyProfitHaircutForDerivatives(deficitAmount, totalPayouts, settlementPrice) removedMargin := p.Margin.Mul(deficitAmount).Quo(totalPayouts) p.Margin = p.Margin.Sub(removedMargin) } -func (p *Position) ApplyProfitHaircutForBinaryOptions(deficitAmount, totalAssets sdk.Dec, oracleScaleFactor uint32) { +func (p *Position) ApplyProfitHaircutForBinaryOptions(deficitAmount, totalAssets math.LegacyDec, oracleScaleFactor uint32) { // haircutPercentage = deficitAmount / totalAssets // To preserve precision, the division by totalAssets is done last. // newMargin = p.Margin - p.Margin * haircutPercentage @@ -97,12 +97,12 @@ func (p *Position) ApplyProfitHaircutForBinaryOptions(deficitAmount, totalAssets if p.IsLong { p.EntryPrice = p.Margin.Quo(p.Quantity) } else { - scaledOne := GetScaledPrice(sdk.OneDec(), oracleScaleFactor) + scaledOne := GetScaledPrice(math.LegacyOneDec(), oracleScaleFactor) p.EntryPrice = scaledOne.Sub(p.Margin.Quo(p.Quantity)) } } -func (p *Position) ClosePositionWithSettlePrice(settlementPrice, closingFeeRate sdk.Dec) (payout, closeTradingFee sdk.Dec, positionDelta *PositionDelta) { +func (p *Position) ClosePositionWithSettlePrice(settlementPrice, closingFeeRate math.LegacyDec) (payout, closeTradingFee math.LegacyDec, positionDelta *PositionDelta, pnl math.LegacyDec) { closingDirection := !p.IsLong fullyClosingQuantity := p.Quantity @@ -110,29 +110,29 @@ func (p *Position) ClosePositionWithSettlePrice(settlementPrice, closingFeeRate positionDelta = &PositionDelta{ IsLong: closingDirection, ExecutionQuantity: fullyClosingQuantity, - ExecutionMargin: sdk.ZeroDec(), + ExecutionMargin: math.LegacyZeroDec(), ExecutionPrice: settlementPrice, } // there should not be positions with 0 quantity if fullyClosingQuantity.IsZero() { - return sdk.ZeroDec(), closeTradingFee, positionDelta + return math.LegacyZeroDec(), closeTradingFee, positionDelta, math.LegacyZeroDec() } - payout, _, _ = p.ApplyPositionDelta(positionDelta, closeTradingFee) + payout, _, _, pnl = p.ApplyPositionDelta(positionDelta, closeTradingFee) - return payout, closeTradingFee, positionDelta + return payout, closeTradingFee, positionDelta, pnl } func (p *Position) ClosePositionWithoutPayouts() { p.IsLong = false - p.EntryPrice = sdk.ZeroDec() - p.Quantity = sdk.ZeroDec() - p.Margin = sdk.ZeroDec() - p.CumulativeFundingEntry = sdk.ZeroDec() + p.EntryPrice = math.LegacyZeroDec() + p.Quantity = math.LegacyZeroDec() + p.Margin = math.LegacyZeroDec() + p.CumulativeFundingEntry = math.LegacyZeroDec() } -func (p *Position) ClosePositionByRefunding(closingFeeRate sdk.Dec) (payout, closeTradingFee sdk.Dec, positionDelta *PositionDelta) { +func (p *Position) ClosePositionByRefunding(closingFeeRate math.LegacyDec) (payout, closeTradingFee math.LegacyDec, positionDelta *PositionDelta, pnl math.LegacyDec) { return p.ClosePositionWithSettlePrice(p.EntryPrice, closingFeeRate) } @@ -146,11 +146,11 @@ func (p *Position) GetDirectionString() string { func (p *Position) CheckValidPositionToReduce( marketType MarketType, - reducePrice sdk.Dec, + reducePrice math.LegacyDec, isBuyOrder bool, - tradeFeeRate sdk.Dec, + tradeFeeRate math.LegacyDec, funding *PerpetualMarketFunding, - orderMargin sdk.Dec, + orderMargin math.LegacyDec, ) error { if isBuyOrder == p.IsLong { return ErrInvalidReduceOnlyPositionDirection @@ -167,19 +167,19 @@ func (p *Position) CheckValidPositionToReduce( return nil } -func (p *Position) checkValidClosingPrice(closingPrice, tradeFeeRate sdk.Dec, funding *PerpetualMarketFunding, orderMargin sdk.Dec) error { +func (p *Position) checkValidClosingPrice(closingPrice, tradeFeeRate math.LegacyDec, funding *PerpetualMarketFunding, orderMargin math.LegacyDec) error { bankruptcyPrice := p.GetBankruptcyPriceWithAddedMargin(funding, orderMargin) if p.IsLong { // For long positions, Price ≥ BankruptcyPrice / (1 - TradeFeeRate) must hold - feeAdjustedBankruptcyPrice := bankruptcyPrice.Quo(sdk.OneDec().Sub(tradeFeeRate)) + feeAdjustedBankruptcyPrice := bankruptcyPrice.Quo(math.LegacyOneDec().Sub(tradeFeeRate)) if closingPrice.LT(feeAdjustedBankruptcyPrice) { return ErrPriceSurpassesBankruptcyPrice } } else { // For short positions, Price ≤ BankruptcyPrice / (1 + TradeFeeRate) must hold - feeAdjustedBankruptcyPrice := bankruptcyPrice.Quo(sdk.OneDec().Add(tradeFeeRate)) + feeAdjustedBankruptcyPrice := bankruptcyPrice.Quo(math.LegacyOneDec().Add(tradeFeeRate)) if closingPrice.GT(feeAdjustedBankruptcyPrice) { return ErrPriceSurpassesBankruptcyPrice @@ -188,7 +188,7 @@ func (p *Position) checkValidClosingPrice(closingPrice, tradeFeeRate sdk.Dec, fu return nil } -func (p *Position) GetLiquidationMarketOrderWorstPrice(markPrice sdk.Dec, funding *PerpetualMarketFunding) sdk.Dec { +func (p *Position) GetLiquidationMarketOrderWorstPrice(markPrice math.LegacyDec, funding *PerpetualMarketFunding) math.LegacyDec { bankruptcyPrice := p.GetBankruptcyPrice(funding) hasNegativeEquity := (p.IsLong && markPrice.LT(bankruptcyPrice)) || (p.IsShort() && markPrice.GT(bankruptcyPrice)) @@ -199,40 +199,40 @@ func (p *Position) GetLiquidationMarketOrderWorstPrice(markPrice sdk.Dec, fundin return bankruptcyPrice } -func (p *Position) GetBankruptcyPrice(funding *PerpetualMarketFunding) (bankruptcyPrice sdk.Dec) { - return p.GetLiquidationPrice(sdk.ZeroDec(), funding) +func (p *Position) GetBankruptcyPrice(funding *PerpetualMarketFunding) (bankruptcyPrice math.LegacyDec) { + return p.GetLiquidationPrice(math.LegacyZeroDec(), funding) } -func (p *Position) GetBankruptcyPriceWithAddedMargin(funding *PerpetualMarketFunding, addedMargin sdk.Dec) (bankruptcyPrice sdk.Dec) { - return p.getLiquidationPriceWithAddedMargin(sdk.ZeroDec(), funding, addedMargin) +func (p *Position) GetBankruptcyPriceWithAddedMargin(funding *PerpetualMarketFunding, addedMargin math.LegacyDec) (bankruptcyPrice math.LegacyDec) { + return p.getLiquidationPriceWithAddedMargin(math.LegacyZeroDec(), funding, addedMargin) } -func (p *Position) GetLiquidationPrice(maintenanceMarginRatio sdk.Dec, funding *PerpetualMarketFunding) sdk.Dec { - return p.getLiquidationPriceWithAddedMargin(maintenanceMarginRatio, funding, sdk.ZeroDec()) +func (p *Position) GetLiquidationPrice(maintenanceMarginRatio math.LegacyDec, funding *PerpetualMarketFunding) math.LegacyDec { + return p.getLiquidationPriceWithAddedMargin(maintenanceMarginRatio, funding, math.LegacyZeroDec()) } -func (p *Position) getLiquidationPriceWithAddedMargin(maintenanceMarginRatio sdk.Dec, funding *PerpetualMarketFunding, addedMargin sdk.Dec) sdk.Dec { +func (p *Position) getLiquidationPriceWithAddedMargin(maintenanceMarginRatio math.LegacyDec, funding *PerpetualMarketFunding, addedMargin math.LegacyDec) math.LegacyDec { adjustedUnitMargin := p.getFundingAdjustedUnitMarginWithAddedMargin(funding, addedMargin) // TODO include closing fee for reduce only ? - var liquidationPrice sdk.Dec + var liquidationPrice math.LegacyDec if p.IsLong { // liquidation price = (entry price - unit margin) / (1 - maintenanceMarginRatio) - liquidationPrice = p.EntryPrice.Sub(adjustedUnitMargin).Quo(sdk.OneDec().Sub(maintenanceMarginRatio)) + liquidationPrice = p.EntryPrice.Sub(adjustedUnitMargin).Quo(math.LegacyOneDec().Sub(maintenanceMarginRatio)) } else { // liquidation price = (entry price + unit margin) / (1 + maintenanceMarginRatio) - liquidationPrice = p.EntryPrice.Add(adjustedUnitMargin).Quo(sdk.OneDec().Add(maintenanceMarginRatio)) + liquidationPrice = p.EntryPrice.Add(adjustedUnitMargin).Quo(math.LegacyOneDec().Add(maintenanceMarginRatio)) } return liquidationPrice } -func (p *Position) GetEffectiveMargin(funding *PerpetualMarketFunding, closingPrice sdk.Dec) sdk.Dec { +func (p *Position) GetEffectiveMargin(funding *PerpetualMarketFunding, closingPrice math.LegacyDec) math.LegacyDec { fundingAdjustedMargin := p.Margin if funding != nil { fundingAdjustedMargin = p.getFundingAdjustedMargin(funding) } - pnlNotional := sdk.ZeroDec() + pnlNotional := math.LegacyZeroDec() if !closingPrice.IsNil() { pnlNotional = p.GetPayoutFromPnl(closingPrice, p.Quantity) } @@ -250,11 +250,11 @@ func (p *Position) ApplyFunding(funding *PerpetualMarketFunding) { } } -func (p *Position) getFundingAdjustedMargin(funding *PerpetualMarketFunding) sdk.Dec { - return p.getFundingAdjustedMarginWithAddedMargin(funding, sdk.ZeroDec()) +func (p *Position) getFundingAdjustedMargin(funding *PerpetualMarketFunding) math.LegacyDec { + return p.getFundingAdjustedMarginWithAddedMargin(funding, math.LegacyZeroDec()) } -func (p *Position) getFundingAdjustedMarginWithAddedMargin(funding *PerpetualMarketFunding, addedMargin sdk.Dec) sdk.Dec { +func (p *Position) getFundingAdjustedMarginWithAddedMargin(funding *PerpetualMarketFunding, addedMargin math.LegacyDec) math.LegacyDec { adjustedMargin := p.Margin.Add(addedMargin) // Compute the adjusted position margin for positions in perpetual markets @@ -273,7 +273,7 @@ func (p *Position) getFundingAdjustedMarginWithAddedMargin(funding *PerpetualMar return adjustedMargin } -func (p *Position) getFundingAdjustedUnitMarginWithAddedMargin(funding *PerpetualMarketFunding, addedMargin sdk.Dec) sdk.Dec { +func (p *Position) getFundingAdjustedUnitMarginWithAddedMargin(funding *PerpetualMarketFunding, addedMargin math.LegacyDec) math.LegacyDec { adjustedMargin := p.getFundingAdjustedMarginWithAddedMargin(funding, addedMargin) // Unit Margin = PositionMargin / PositionQuantity @@ -281,14 +281,14 @@ func (p *Position) getFundingAdjustedUnitMarginWithAddedMargin(funding *Perpetua return fundingAdjustedUnitMargin } -func (p *Position) GetAverageWeightedEntryPrice(executionQuantity, executionPrice sdk.Dec) sdk.Dec { +func (p *Position) GetAverageWeightedEntryPrice(executionQuantity, executionPrice math.LegacyDec) math.LegacyDec { num := p.Quantity.Mul(p.EntryPrice).Add(executionQuantity.Mul(executionPrice)) denom := p.Quantity.Add(executionQuantity) return num.Quo(denom) } -func (p *Position) GetPayoutIfFullyClosing(closingPrice, closingFeeRate sdk.Dec) *positionPayout { +func (p *Position) GetPayoutIfFullyClosing(closingPrice, closingFeeRate math.LegacyDec) *positionPayout { isProfitable := (p.IsLong && p.EntryPrice.LT(closingPrice)) || (!p.IsLong && p.EntryPrice.GT(closingPrice)) fullyClosingQuantity := p.Quantity @@ -306,8 +306,8 @@ func (p *Position) GetPayoutIfFullyClosing(closingPrice, closingFeeRate sdk.Dec) } } -func (p *Position) GetPayoutFromPnl(closingPrice, closingQuantity sdk.Dec) sdk.Dec { - var pnlNotional sdk.Dec +func (p *Position) GetPayoutFromPnl(closingPrice, closingQuantity math.LegacyDec) math.LegacyDec { + var pnlNotional math.LegacyDec if p.IsLong { // nolint:all @@ -322,19 +322,19 @@ func (p *Position) GetPayoutFromPnl(closingPrice, closingQuantity sdk.Dec) sdk.D return pnlNotional } -func (p *Position) ApplyPositionDelta(delta *PositionDelta, tradingFeeForReduceOnly sdk.Dec) ( - payout, closeExecutionMargin, collateralizationMargin sdk.Dec, +func (p *Position) ApplyPositionDelta(delta *PositionDelta, tradingFeeForReduceOnly math.LegacyDec) ( + payout, closeExecutionMargin, collateralizationMargin, pnl math.LegacyDec, ) { // No payouts or margin changes if the position delta is nil if delta == nil || p == nil { - return sdk.ZeroDec(), sdk.ZeroDec(), sdk.ZeroDec() + return math.LegacyZeroDec(), math.LegacyZeroDec(), math.LegacyZeroDec(), math.LegacyZeroDec() } if p.Quantity.IsZero() { p.IsLong = delta.IsLong } - payout, closeExecutionMargin, collateralizationMargin = sdk.ZeroDec(), sdk.ZeroDec(), sdk.ZeroDec() + payout, closeExecutionMargin, collateralizationMargin = math.LegacyZeroDec(), math.LegacyZeroDec(), math.LegacyZeroDec() isNettingInSameDirection := (p.IsLong && delta.IsLong) || (p.IsShort() && delta.IsShort()) if isNettingInSameDirection { @@ -343,11 +343,11 @@ func (p *Position) ApplyPositionDelta(delta *PositionDelta, tradingFeeForReduceO p.Margin = p.Margin.Add(delta.ExecutionMargin) collateralizationMargin = delta.ExecutionMargin - return payout, closeExecutionMargin, collateralizationMargin + return payout, closeExecutionMargin, collateralizationMargin, math.LegacyZeroDec() } // netting in opposing direction - closingQuantity := sdk.MinDec(p.Quantity, delta.ExecutionQuantity) + closingQuantity := math.LegacyMinDec(p.Quantity, delta.ExecutionQuantity) // closeExecutionMargin = execution margin * closing quantity / execution quantity closeExecutionMargin = delta.ExecutionMargin.Mul(closingQuantity).Quo(delta.ExecutionQuantity) @@ -383,8 +383,8 @@ func (p *Position) ApplyPositionDelta(delta *PositionDelta, tradingFeeForReduceO } // recurse - _, _, collateralizationMargin = p.ApplyPositionDelta(newPositionDelta, tradingFeeForReduceOnly) + _, _, collateralizationMargin, _ = p.ApplyPositionDelta(newPositionDelta, tradingFeeForReduceOnly) } - return payout, closeExecutionMargin, collateralizationMargin + return payout, closeExecutionMargin, collateralizationMargin, pnlNotional } diff --git a/chain/exchange/types/proposal.go b/chain/exchange/types/proposal.go index ccba95ed..6d1b33e4 100644 --- a/chain/exchange/types/proposal.go +++ b/chain/exchange/types/proposal.go @@ -4,12 +4,11 @@ import ( "fmt" "cosmossdk.io/errors" - sdkmath "cosmossdk.io/math" + "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" gov "github.com/cosmos/cosmos-sdk/x/gov/types" "github.com/ethereum/go-ethereum/common" @@ -56,7 +55,7 @@ func init() { govtypes.RegisterProposalType(ProposalAtomicMarketOrderFeeMultiplierSchedule) } -func SafeIsPositiveInt(v sdkmath.Int) bool { +func SafeIsPositiveInt(v math.Int) bool { if v.IsNil() { return false } @@ -64,7 +63,7 @@ func SafeIsPositiveInt(v sdkmath.Int) bool { return v.IsPositive() } -func SafeIsPositiveDec(v sdk.Dec) bool { +func SafeIsPositiveDec(v math.LegacyDec) bool { if v.IsNil() { return false } @@ -72,7 +71,7 @@ func SafeIsPositiveDec(v sdk.Dec) bool { return v.IsPositive() } -func SafeIsNonNegativeDec(v sdk.Dec) bool { +func SafeIsNonNegativeDec(v math.LegacyDec) bool { if v.IsNil() { return false } @@ -80,11 +79,11 @@ func SafeIsNonNegativeDec(v sdk.Dec) bool { return !v.IsNegative() } -func IsZeroOrNilInt(v sdkmath.Int) bool { +func IsZeroOrNilInt(v math.Int) bool { return v.IsNil() || v.IsZero() } -func IsZeroOrNilDec(v sdk.Dec) bool { +func IsZeroOrNilDec(v math.LegacyDec) bool { return v.IsNil() || v.IsZero() } @@ -213,8 +212,7 @@ func (p *BatchExchangeModificationProposal) ValidateBasic() error { } // NewSpotMarketParamUpdateProposal returns new instance of SpotMarketParamUpdateProposal -func NewSpotMarketParamUpdateProposal(title, description string, marketID common.Hash, makerFeeRate, takerFeeRate, relayerFeeShareRate, minPriceTickSize, minQuantityTickSize *sdk.Dec, status MarketStatus) *SpotMarketParamUpdateProposal { - +func NewSpotMarketParamUpdateProposal(title, description string, marketID common.Hash, makerFeeRate, takerFeeRate, relayerFeeShareRate, minPriceTickSize, minQuantityTickSize, minNotional *math.LegacyDec, status MarketStatus, ticker string) *SpotMarketParamUpdateProposal { return &SpotMarketParamUpdateProposal{ title, description, @@ -225,6 +223,9 @@ func NewSpotMarketParamUpdateProposal(title, description string, marketID common minPriceTickSize, minQuantityTickSize, status, + ticker, + minNotional, + nil, } } @@ -254,7 +255,14 @@ func (p *SpotMarketParamUpdateProposal) ValidateBasic() error { if !IsHexHash(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 { + if p.MakerFeeRate == nil && + p.TakerFeeRate == nil && + p.RelayerFeeShareRate == nil && + p.MinPriceTickSize == nil && + p.MinQuantityTickSize == nil && + p.MinNotional == nil && + p.AdminInfo == nil && + p.Status == MarketStatus_Unspecified { return errors.Wrap(gov.ErrInvalidProposalContent, "At least one field should not be nil") } @@ -284,6 +292,26 @@ func (p *SpotMarketParamUpdateProposal) ValidateBasic() error { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } } + if p.MinNotional != nil { + if err := ValidateMinNotional(*p.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } + } + + if p.AdminInfo != nil { + if p.AdminInfo.Admin != "" { + if _, err := sdk.AccAddressFromBech32(p.AdminInfo.Admin); err != nil { + return errors.Wrap(ErrInvalidAddress, err.Error()) + } + } + if p.AdminInfo.AdminPermissions > MaxPerm { + return ErrInvalidPermissions + } + } + + if len(p.Ticker) > MaxTickerLength { + return errors.Wrapf(ErrInvalidTicker, "ticker should not exceed %d characters", MaxTickerLength) + } switch p.Status { case @@ -307,10 +335,11 @@ func NewSpotMarketLaunchProposal( ticker string, baseDenom string, quoteDenom string, - minPriceTickSize sdk.Dec, - minQuantityTickSize sdk.Dec, - makerFeeRate *sdk.Dec, - takerFeeRate *sdk.Dec, + minPriceTickSize math.LegacyDec, + minQuantityTickSize math.LegacyDec, + minNotional math.LegacyDec, + makerFeeRate *math.LegacyDec, + takerFeeRate *math.LegacyDec, ) *SpotMarketLaunchProposal { return &SpotMarketLaunchProposal{ Title: title, @@ -320,6 +349,7 @@ func NewSpotMarketLaunchProposal( QuoteDenom: quoteDenom, MinPriceTickSize: minPriceTickSize, MinQuantityTickSize: minQuantityTickSize, + MinNotional: minNotional, MakerFeeRate: makerFeeRate, TakerFeeRate: takerFeeRate, } @@ -349,7 +379,7 @@ 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 errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrapf(ErrInvalidTicker, "ticker should not be empty or exceed %d characters", MaxTickerLength) } if p.BaseDenom == "" { return errors.Wrap(ErrInvalidBaseDenom, "base denom should not be empty") @@ -367,6 +397,9 @@ func (p *SpotMarketLaunchProposal) ValidateBasic() error { if err := ValidateTickSize(p.MinQuantityTickSize); err != nil { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } + if err := ValidateMinNotional(p.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } if p.MakerFeeRate != nil { if err := ValidateMakerFee(*p.MakerFeeRate); err != nil { @@ -395,11 +428,23 @@ func (p *SpotMarketLaunchProposal) ValidateBasic() error { // NewDerivativeMarketParamUpdateProposal returns new instance of DerivativeMarketParamUpdateProposal func NewDerivativeMarketParamUpdateProposal( - title, description string, marketID string, - initialMarginRatio, maintenanceMarginRatio, - makerFeeRate, takerFeeRate, relayerFeeShareRate, minPriceTickSize, minQuantityTickSize *sdk.Dec, - hourlyInterestRate, hourlyFundingRateCap *sdk.Dec, - status MarketStatus, oracleParams *OracleParams, + title string, + description string, + marketID string, + initialMarginRatio *math.LegacyDec, + maintenanceMarginRatio *math.LegacyDec, + makerFeeRate *math.LegacyDec, + takerFeeRate *math.LegacyDec, + relayerFeeShareRate *math.LegacyDec, + minPriceTickSize *math.LegacyDec, + minQuantityTickSize *math.LegacyDec, + minNotional *math.LegacyDec, + hourlyInterestRate *math.LegacyDec, + hourlyFundingRateCap *math.LegacyDec, + status MarketStatus, + oracleParams *OracleParams, + ticker string, + adminInfo *AdminInfo, ) *DerivativeMarketParamUpdateProposal { return &DerivativeMarketParamUpdateProposal{ Title: title, @@ -416,6 +461,9 @@ func NewDerivativeMarketParamUpdateProposal( HourlyFundingRateCap: hourlyFundingRateCap, Status: status, OracleParams: oracleParams, + Ticker: ticker, + MinNotional: minNotional, + AdminInfo: adminInfo, } } @@ -450,11 +498,13 @@ func (p *DerivativeMarketParamUpdateProposal) ValidateBasic() error { p.RelayerFeeShareRate == nil && p.MinPriceTickSize == nil && p.MinQuantityTickSize == nil && + p.MinNotional == nil && p.InitialMarginRatio == nil && p.MaintenanceMarginRatio == nil && p.HourlyInterestRate == nil && p.HourlyFundingRateCap == nil && p.Status == MarketStatus_Unspecified && + p.AdminInfo == nil && p.OracleParams == nil { return errors.Wrap(gov.ErrInvalidProposalContent, "At least one field should not be nil") } @@ -497,6 +547,11 @@ func (p *DerivativeMarketParamUpdateProposal) ValidateBasic() error { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } } + if p.MinNotional != nil { + if err := ValidateMinNotional(*p.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } + } if p.HourlyInterestRate != nil { if err := ValidateHourlyInterestRate(*p.HourlyInterestRate); err != nil { @@ -510,6 +565,21 @@ func (p *DerivativeMarketParamUpdateProposal) ValidateBasic() error { } } + if p.AdminInfo != nil { + if p.AdminInfo.Admin != "" { + if _, err := sdk.AccAddressFromBech32(p.AdminInfo.Admin); err != nil { + return errors.Wrap(ErrInvalidAddress, err.Error()) + } + } + if p.AdminInfo.AdminPermissions > MaxPerm { + return ErrInvalidPermissions + } + } + + if len(p.Ticker) > MaxTickerLength { + return errors.Wrapf(ErrInvalidTicker, "ticker should not exceed %d characters", MaxTickerLength) + } + switch p.Status { case MarketStatus_Unspecified, @@ -534,7 +604,7 @@ func (p *DerivativeMarketParamUpdateProposal) ValidateBasic() error { // NewMarketForcedSettlementProposal returns new instance of MarketForcedSettlementProposal func NewMarketForcedSettlementProposal( title, description string, marketID string, - settlementPrice *sdk.Dec, + settlementPrice *math.LegacyDec, ) *MarketForcedSettlementProposal { return &MarketForcedSettlementProposal{ Title: title, @@ -708,7 +778,7 @@ func (p *ProviderOracleParams) ValidateBasic() error { func NewPerpetualMarketLaunchProposal( title, description, ticker, quoteDenom, oracleBase, oracleQuote string, oracleScaleFactor uint32, oracleType oracletypes.OracleType, - initialMarginRatio, maintenanceMarginRatio, makerFeeRate, takerFeeRate, minPriceTickSize, minQuantityTickSize sdk.Dec, + initialMarginRatio, maintenanceMarginRatio, makerFeeRate, takerFeeRate, minPriceTickSize, minQuantityTickSize, minNotional math.LegacyDec, ) *PerpetualMarketLaunchProposal { return &PerpetualMarketLaunchProposal{ Title: title, @@ -725,6 +795,7 @@ func NewPerpetualMarketLaunchProposal( TakerFeeRate: takerFeeRate, MinPriceTickSize: minPriceTickSize, MinQuantityTickSize: minQuantityTickSize, + MinNotional: minNotional, } } @@ -752,7 +823,7 @@ 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 errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrapf(ErrInvalidTicker, "ticker should not be empty or exceed %d characters", MaxTickerLength) } if p.QuoteDenom == "" { return errors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") @@ -787,6 +858,9 @@ func (p *PerpetualMarketLaunchProposal) ValidateBasic() error { if err := ValidateTickSize(p.MinQuantityTickSize); err != nil { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } + if err := ValidateMinNotional(p.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } return govtypes.ValidateAbstract(p) } @@ -795,7 +869,7 @@ func (p *PerpetualMarketLaunchProposal) ValidateBasic() error { func NewExpiryFuturesMarketLaunchProposal( title, description, ticker, quoteDenom, oracleBase, oracleQuote string, oracleScaleFactor uint32, oracleType oracletypes.OracleType, expiry int64, - initialMarginRatio, maintenanceMarginRatio, makerFeeRate, takerFeeRate, minPriceTickSize, minQuantityTickSize sdk.Dec, + initialMarginRatio, maintenanceMarginRatio, makerFeeRate, takerFeeRate, minPriceTickSize, minQuantityTickSize, minNotional math.LegacyDec, ) *ExpiryFuturesMarketLaunchProposal { return &ExpiryFuturesMarketLaunchProposal{ Title: title, @@ -813,6 +887,7 @@ func NewExpiryFuturesMarketLaunchProposal( TakerFeeRate: takerFeeRate, MinPriceTickSize: minPriceTickSize, MinQuantityTickSize: minQuantityTickSize, + MinNotional: minNotional, } } @@ -840,7 +915,7 @@ 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 errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrapf(ErrInvalidTicker, "ticker should not be empty or exceed %d characters", MaxTickerLength) } if p.QuoteDenom == "" { return errors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") @@ -878,6 +953,9 @@ func (p *ExpiryFuturesMarketLaunchProposal) ValidateBasic() error { if err := ValidateTickSize(p.MinQuantityTickSize); err != nil { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } + if err := ValidateMinNotional(p.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } return govtypes.ValidateAbstract(p) } @@ -1308,11 +1386,11 @@ func (p *FeeDiscountProposal) ValidateBasic() error { } func (t *FeeDiscountTierInfo) ValidateBasic() error { - if !SafeIsNonNegativeDec(t.MakerDiscountRate) || t.MakerDiscountRate.GT(sdk.OneDec()) { + if !SafeIsNonNegativeDec(t.MakerDiscountRate) || t.MakerDiscountRate.GT(math.LegacyOneDec()) { return errors.Wrap(ErrInvalidFeeDiscountSchedule, "MakerDiscountRate must be between 0 and 1") } - if !SafeIsNonNegativeDec(t.TakerDiscountRate) || t.TakerDiscountRate.GT(sdk.OneDec()) { + if !SafeIsNonNegativeDec(t.TakerDiscountRate) || t.TakerDiscountRate.GT(math.LegacyOneDec()) { return errors.Wrap(ErrInvalidFeeDiscountSchedule, "TakerDiscountRate must be between 0 and 1") } @@ -1363,7 +1441,7 @@ func NewBinaryOptionsMarketLaunchProposal( oracleType oracletypes.OracleType, oracleScaleFactor uint32, expirationTimestamp, settlementTimestamp int64, admin, quoteDenom string, - makerFeeRate, takerFeeRate, minPriceTickSize, minQuantityTickSize sdk.Dec, + makerFeeRate, takerFeeRate, minPriceTickSize, minQuantityTickSize, minNotional math.LegacyDec, ) *BinaryOptionsMarketLaunchProposal { return &BinaryOptionsMarketLaunchProposal{ @@ -1382,6 +1460,7 @@ func NewBinaryOptionsMarketLaunchProposal( TakerFeeRate: takerFeeRate, MinPriceTickSize: minPriceTickSize, MinQuantityTickSize: minQuantityTickSize, + MinNotional: minNotional, } } @@ -1409,7 +1488,7 @@ 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 errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + return errors.Wrapf(ErrInvalidTicker, "ticker should not be empty or exceed %d characters", MaxTickerLength) } if p.OracleSymbol == "" { return errors.Wrap(ErrInvalidOracle, "oracle symbol should not be empty") @@ -1454,17 +1533,24 @@ func (p *BinaryOptionsMarketLaunchProposal) ValidateBasic() error { if err := ValidateTickSize(p.MinQuantityTickSize); err != nil { return errors.Wrap(ErrInvalidQuantityTickSize, err.Error()) } + if err := ValidateMinNotional(p.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } return govtypes.ValidateAbstract(p) } // NewBinaryOptionsMarketParamUpdateProposal returns new instance of BinaryOptionsMarketParamUpdateProposal func NewBinaryOptionsMarketParamUpdateProposal( - title, description string, marketID string, - makerFeeRate, takerFeeRate, relayerFeeShareRate, minPriceTickSize, minQuantityTickSize *sdk.Dec, + title string, + description string, + marketID string, + makerFeeRate, takerFeeRate, relayerFeeShareRate, minPriceTickSize, minQuantityTickSize, minNotional *math.LegacyDec, expirationTimestamp, settlementTimestamp int64, admin string, - status MarketStatus, oracleParams *ProviderOracleParams, + status MarketStatus, + oracleParams *ProviderOracleParams, + ticker string, ) *BinaryOptionsMarketParamUpdateProposal { return &BinaryOptionsMarketParamUpdateProposal{ Title: title, @@ -1475,11 +1561,13 @@ func NewBinaryOptionsMarketParamUpdateProposal( RelayerFeeShareRate: relayerFeeShareRate, MinPriceTickSize: minPriceTickSize, MinQuantityTickSize: minQuantityTickSize, + MinNotional: minNotional, ExpirationTimestamp: expirationTimestamp, SettlementTimestamp: settlementTimestamp, Admin: admin, Status: status, OracleParams: oracleParams, + Ticker: ticker, } } @@ -1514,6 +1602,7 @@ func (p *BinaryOptionsMarketParamUpdateProposal) ValidateBasic() error { p.RelayerFeeShareRate == nil && p.MinPriceTickSize == nil && p.MinQuantityTickSize == nil && + p.MinNotional == nil && p.Status == MarketStatus_Unspecified && p.ExpirationTimestamp == 0 && p.SettlementTimestamp == 0 && @@ -1552,6 +1641,12 @@ func (p *BinaryOptionsMarketParamUpdateProposal) ValidateBasic() error { } } + if p.MinNotional != nil { + if err := ValidateMinNotional(*p.MinNotional); err != nil { + return errors.Wrap(ErrInvalidNotional, err.Error()) + } + } + if p.ExpirationTimestamp != 0 && p.SettlementTimestamp != 0 { if p.ExpirationTimestamp >= p.SettlementTimestamp || p.ExpirationTimestamp < 0 || p.SettlementTimestamp < 0 { return ErrInvalidExpiry @@ -1568,13 +1663,17 @@ func (p *BinaryOptionsMarketParamUpdateProposal) ValidateBasic() error { } } + if len(p.Ticker) > MaxTickerLength { + return errors.Wrapf(ErrInvalidTicker, "ticker should not exceed %d characters", MaxTickerLength) + } + // price is either nil (not set), -1 (demolish with refund) or [0..1] (demolish with settle) switch { case p.SettlementPrice == nil, p.SettlementPrice.IsNil(): // ok case p.SettlementPrice.Equal(BinaryOptionsMarketRefundFlagPrice), - p.SettlementPrice.GTE(sdk.ZeroDec()) && p.SettlementPrice.LTE(MaxBinaryOptionsOrderPrice): + p.SettlementPrice.GTE(math.LegacyZeroDec()) && p.SettlementPrice.LTE(MaxBinaryOptionsOrderPrice): if p.Status != MarketStatus_Demolished { return errors.Wrapf(ErrInvalidMarketStatus, "status should be set to demolished when the settlement price is set, status: %s", p.Status.String()) } @@ -1634,7 +1733,7 @@ func (p *AtomicMarketOrderFeeMultiplierScheduleProposal) ValidateBasic() error { return fmt.Errorf("atomic taker fee multiplier cannot be nil: %v", multiplier) } - if multiplier.LT(sdk.OneDec()) { + if multiplier.LT(math.LegacyOneDec()) { return fmt.Errorf("atomic taker fee multiplier cannot be less than 1: %v", multiplier) } diff --git a/chain/exchange/types/proposal.pb.go b/chain/exchange/types/proposal.pb.go index 6f3eee76..1a20dfa1 100644 --- a/chain/exchange/types/proposal.pb.go +++ b/chain/exchange/types/proposal.pb.go @@ -4,12 +4,13 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" types "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 "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" types1 "github.com/cosmos/cosmos-sdk/x/distribution/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" @@ -62,19 +63,24 @@ type SpotMarketParamUpdateProposal struct { 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 trade fee rate for makers on the spot 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"` + MakerFeeRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + TakerFeeRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate,omitempty"` // 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"` + RelayerFeeShareRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"relayer_fee_share_rate,omitempty"` // 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"` + MinPriceTickSize *cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size,omitempty"` // 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"` + MinQuantityTickSize *cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size,omitempty"` + Status MarketStatus `protobuf:"varint,9,opt,name=status,proto3,enum=injective.exchange.v1beta1.MarketStatus" json:"status,omitempty"` + Ticker string `protobuf:"bytes,10,opt,name=ticker,proto3" json:"ticker,omitempty"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional *cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional,omitempty"` + AdminInfo *AdminInfo `protobuf:"bytes,12,opt,name=admin_info,json=adminInfo,proto3" json:"admin_info,omitempty"` } func (m *SpotMarketParamUpdateProposal) Reset() { *m = SpotMarketParamUpdateProposal{} } @@ -210,14 +216,17 @@ type SpotMarketLaunchProposal struct { // type of coin to use as the quote currency 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + MakerFeeRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate,omitempty"` // taker_fee_rate defines the fee percentage takers pay when trading - 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,omitempty"` + TakerFeeRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate,omitempty"` + // min_notional defines the minimum notional for orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,10,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` + AdminInfo *AdminInfo `protobuf:"bytes,11,opt,name=admin_info,json=adminInfo,proto3" json:"admin_info,omitempty"` } func (m *SpotMarketLaunchProposal) Reset() { *m = SpotMarketLaunchProposal{} } @@ -272,22 +281,26 @@ type PerpetualMarketLaunchProposal struct { OracleType types.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 - 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"` + InitialMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"initial_margin_ratio"` // 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"` + MaintenanceMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,10,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maintenance_margin_ratio"` // 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"` + MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate"` // 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"` + TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` // 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,14,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,15,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` + AdminInfo *AdminInfo `protobuf:"bytes,16,opt,name=admin_info,json=adminInfo,proto3" json:"admin_info,omitempty"` } func (m *PerpetualMarketLaunchProposal) Reset() { *m = PerpetualMarketLaunchProposal{} } @@ -345,15 +358,19 @@ type BinaryOptionsMarketLaunchProposal struct { // Address of the quote currency denomination for the binary options contract QuoteDenom string `protobuf:"bytes,11,opt,name=quote_denom,json=quoteDenom,proto3" json:"quote_denom,omitempty"` // maker_fee_rate defines the maker fee rate of a binary options 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"` + MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` // 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,14,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,15,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,16,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` + AdminPermissions uint32 `protobuf:"varint,17,opt,name=admin_permissions,json=adminPermissions,proto3" json:"admin_permissions,omitempty"` } func (m *BinaryOptionsMarketLaunchProposal) Reset() { *m = BinaryOptionsMarketLaunchProposal{} } @@ -410,22 +427,26 @@ type ExpiryFuturesMarketLaunchProposal struct { Expiry int64 `protobuf:"varint,9,opt,name=expiry,proto3" json:"expiry,omitempty"` // 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"` + InitialMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,10,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"initial_margin_ratio"` // 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"` + MaintenanceMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maintenance_margin_ratio"` // 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"` + MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate"` // 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"` + TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` // 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,14,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,15,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,16,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` + AdminInfo *AdminInfo `protobuf:"bytes,17,opt,name=admin_info,json=adminInfo,proto3" json:"admin_info,omitempty"` } func (m *ExpiryFuturesMarketLaunchProposal) Reset() { *m = ExpiryFuturesMarketLaunchProposal{} } @@ -467,32 +488,37 @@ type DerivativeMarketParamUpdateProposal struct { 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 - 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"` + InitialMarginRatio *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"initial_margin_ratio,omitempty"` // 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"` + MaintenanceMarginRatio *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maintenance_margin_ratio,omitempty"` // 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"` + MakerFeeRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate,omitempty"` // 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"` + TakerFeeRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate,omitempty"` // 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"` + RelayerFeeShareRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"relayer_fee_share_rate,omitempty"` // 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"` + MinPriceTickSize *cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size,omitempty"` // 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"` + MinQuantityTickSize *cosmossdk_io_math.LegacyDec `protobuf:"bytes,10,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + HourlyInterestRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=HourlyInterestRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"HourlyInterestRate,omitempty"` // 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"` + HourlyFundingRateCap *cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=HourlyFundingRateCap,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + Ticker string `protobuf:"bytes,15,opt,name=ticker,proto3" json:"ticker,omitempty"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional *cosmossdk_io_math.LegacyDec `protobuf:"bytes,16,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional,omitempty"` + AdminInfo *AdminInfo `protobuf:"bytes,17,opt,name=admin_info,json=adminInfo,proto3" json:"admin_info,omitempty"` } func (m *DerivativeMarketParamUpdateProposal) Reset() { *m = DerivativeMarketParamUpdateProposal{} } @@ -528,18 +554,70 @@ func (m *DerivativeMarketParamUpdateProposal) XXX_DiscardUnknown() { var xxx_messageInfo_DerivativeMarketParamUpdateProposal proto.InternalMessageInfo +type AdminInfo struct { + Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` + AdminPermissions uint32 `protobuf:"varint,2,opt,name=admin_permissions,json=adminPermissions,proto3" json:"admin_permissions,omitempty"` +} + +func (m *AdminInfo) Reset() { *m = AdminInfo{} } +func (m *AdminInfo) String() string { return proto.CompactTextString(m) } +func (*AdminInfo) ProtoMessage() {} +func (*AdminInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_32e9ec9b6b22477c, []int{8} +} +func (m *AdminInfo) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AdminInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AdminInfo.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 *AdminInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_AdminInfo.Merge(m, src) +} +func (m *AdminInfo) XXX_Size() int { + return m.Size() +} +func (m *AdminInfo) XXX_DiscardUnknown() { + xxx_messageInfo_AdminInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_AdminInfo proto.InternalMessageInfo + +func (m *AdminInfo) GetAdmin() string { + if m != nil { + return m.Admin + } + return "" +} + +func (m *AdminInfo) GetAdminPermissions() uint32 { + if m != nil { + return m.AdminPermissions + } + return 0 +} + type MarketForcedSettlementProposal 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"` - SettlementPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=settlement_price,json=settlementPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"settlement_price,omitempty"` + 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"` + SettlementPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=settlement_price,json=settlementPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"settlement_price,omitempty"` } func (m *MarketForcedSettlementProposal) Reset() { *m = MarketForcedSettlementProposal{} } func (m *MarketForcedSettlementProposal) String() string { return proto.CompactTextString(m) } func (*MarketForcedSettlementProposal) ProtoMessage() {} func (*MarketForcedSettlementProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_32e9ec9b6b22477c, []int{8} + return fileDescriptor_32e9ec9b6b22477c, []int{9} } func (m *MarketForcedSettlementProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -578,7 +656,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_32e9ec9b6b22477c, []int{9} + return fileDescriptor_32e9ec9b6b22477c, []int{10} } func (m *UpdateDenomDecimalsProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -613,29 +691,33 @@ type BinaryOptionsMarketParamUpdateProposal struct { 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 - 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"` + MakerFeeRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate,omitempty"` // 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"` + TakerFeeRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate,omitempty"` // 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"` + RelayerFeeShareRate *cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=relayer_fee_share_rate,json=relayerFeeShareRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"relayer_fee_share_rate,omitempty"` // 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"` + MinPriceTickSize *cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size,omitempty"` // 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"` + MinQuantityTickSize *cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size,omitempty"` // expiration timestamp ExpirationTimestamp int64 `protobuf:"varint,9,opt,name=expiration_timestamp,json=expirationTimestamp,proto3" json:"expiration_timestamp,omitempty"` // expiration timestamp SettlementTimestamp int64 `protobuf:"varint,10,opt,name=settlement_timestamp,json=settlementTimestamp,proto3" json:"settlement_timestamp,omitempty"` // new price at which market will be settled - SettlementPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,11,opt,name=settlement_price,json=settlementPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"settlement_price,omitempty"` + SettlementPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=settlement_price,json=settlementPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"settlement_price,omitempty"` // admin of the market Admin string `protobuf:"bytes,12,opt,name=admin,proto3" json:"admin,omitempty"` Status MarketStatus `protobuf:"varint,13,opt,name=status,proto3,enum=injective.exchange.v1beta1.MarketStatus" json:"status,omitempty"` OracleParams *ProviderOracleParams `protobuf:"bytes,14,opt,name=oracle_params,json=oracleParams,proto3" json:"oracle_params,omitempty"` + Ticker string `protobuf:"bytes,15,opt,name=ticker,proto3" json:"ticker,omitempty"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional *cosmossdk_io_math.LegacyDec `protobuf:"bytes,16,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional,omitempty"` } func (m *BinaryOptionsMarketParamUpdateProposal) Reset() { @@ -644,7 +726,7 @@ func (m *BinaryOptionsMarketParamUpdateProposal) Reset() { func (m *BinaryOptionsMarketParamUpdateProposal) String() string { return proto.CompactTextString(m) } func (*BinaryOptionsMarketParamUpdateProposal) ProtoMessage() {} func (*BinaryOptionsMarketParamUpdateProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_32e9ec9b6b22477c, []int{10} + return fileDescriptor_32e9ec9b6b22477c, []int{11} } func (m *BinaryOptionsMarketParamUpdateProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -688,7 +770,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_32e9ec9b6b22477c, []int{11} + return fileDescriptor_32e9ec9b6b22477c, []int{12} } func (m *ProviderOracleParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -760,7 +842,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_32e9ec9b6b22477c, []int{12} + return fileDescriptor_32e9ec9b6b22477c, []int{13} } func (m *OracleParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -828,7 +910,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_32e9ec9b6b22477c, []int{13} + return fileDescriptor_32e9ec9b6b22477c, []int{14} } func (m *TradingRewardCampaignLaunchProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -869,7 +951,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_32e9ec9b6b22477c, []int{14} + return fileDescriptor_32e9ec9b6b22477c, []int{15} } func (m *TradingRewardCampaignUpdateProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -901,14 +983,14 @@ var xxx_messageInfo_TradingRewardCampaignUpdateProposal proto.InternalMessageInf type RewardPointUpdate struct { AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` // new_points overwrites the current trading reward points for the account - NewPoints github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,12,opt,name=new_points,json=newPoints,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"new_points"` + NewPoints cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=new_points,json=newPoints,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"new_points"` } 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_32e9ec9b6b22477c, []int{15} + return fileDescriptor_32e9ec9b6b22477c, []int{16} } func (m *RewardPointUpdate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -957,7 +1039,7 @@ func (m *TradingRewardPendingPointsUpdateProposal) Reset() { func (m *TradingRewardPendingPointsUpdateProposal) String() string { return proto.CompactTextString(m) } func (*TradingRewardPendingPointsUpdateProposal) ProtoMessage() {} func (*TradingRewardPendingPointsUpdateProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_32e9ec9b6b22477c, []int{16} + return fileDescriptor_32e9ec9b6b22477c, []int{17} } func (m *TradingRewardPendingPointsUpdateProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -996,7 +1078,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_32e9ec9b6b22477c, []int{17} + return fileDescriptor_32e9ec9b6b22477c, []int{18} } func (m *FeeDiscountProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1035,7 +1117,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_32e9ec9b6b22477c, []int{18} + return fileDescriptor_32e9ec9b6b22477c, []int{19} } func (m *BatchCommunityPoolSpendProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1080,7 +1162,7 @@ func (m *AtomicMarketOrderFeeMultiplierScheduleProposal) String() string { } func (*AtomicMarketOrderFeeMultiplierScheduleProposal) ProtoMessage() {} func (*AtomicMarketOrderFeeMultiplierScheduleProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_32e9ec9b6b22477c, []int{19} + return fileDescriptor_32e9ec9b6b22477c, []int{20} } func (m *AtomicMarketOrderFeeMultiplierScheduleProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1119,6 +1201,7 @@ func init() { proto.RegisterType((*BinaryOptionsMarketLaunchProposal)(nil), "injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposal") proto.RegisterType((*ExpiryFuturesMarketLaunchProposal)(nil), "injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposal") proto.RegisterType((*DerivativeMarketParamUpdateProposal)(nil), "injective.exchange.v1beta1.DerivativeMarketParamUpdateProposal") + proto.RegisterType((*AdminInfo)(nil), "injective.exchange.v1beta1.AdminInfo") proto.RegisterType((*MarketForcedSettlementProposal)(nil), "injective.exchange.v1beta1.MarketForcedSettlementProposal") proto.RegisterType((*UpdateDenomDecimalsProposal)(nil), "injective.exchange.v1beta1.UpdateDenomDecimalsProposal") proto.RegisterType((*BinaryOptionsMarketParamUpdateProposal)(nil), "injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposal") @@ -1138,142 +1221,160 @@ func init() { } var fileDescriptor_32e9ec9b6b22477c = []byte{ - // 2150 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcd, 0x6f, 0x24, 0x47, - 0x15, 0x77, 0xaf, 0x3f, 0xe7, 0xcd, 0xf8, 0x23, 0xed, 0x89, 0x99, 0x78, 0xb3, 0xe3, 0x8f, 0x4d, - 0x76, 0x1d, 0xa4, 0x9d, 0x61, 0x4d, 0x50, 0xc4, 0x4a, 0x08, 0xfc, 0x31, 0x26, 0x16, 0xeb, 0xdd, - 0x49, 0x8f, 0x37, 0x82, 0x48, 0xd0, 0xd4, 0x74, 0x97, 0xed, 0xc2, 0xd3, 0x5d, 0xbd, 0x5d, 0x35, - 0xde, 0x75, 0xc4, 0x11, 0x04, 0x5a, 0x2e, 0x20, 0x81, 0xe0, 0xb2, 0x52, 0xb8, 0x71, 0xe3, 0x00, - 0xff, 0x00, 0x48, 0x48, 0x81, 0x1c, 0xc8, 0x31, 0xe2, 0x10, 0xa1, 0xdd, 0x03, 0x08, 0x89, 0x33, - 0x1c, 0x51, 0x57, 0x55, 0xf7, 0xf4, 0x7c, 0xf7, 0x8c, 0x3d, 0x11, 0x87, 0x3d, 0xcd, 0xd4, 0xab, - 0x57, 0xbf, 0xf7, 0xea, 0xd5, 0x7b, 0xaf, 0x5e, 0x55, 0x35, 0xbc, 0x41, 0xdc, 0xef, 0x61, 0x8b, - 0x93, 0x33, 0x5c, 0xc4, 0x8f, 0xad, 0x13, 0xe4, 0x1e, 0xe3, 0xe2, 0xd9, 0xed, 0x2a, 0xe6, 0xe8, - 0x76, 0xd1, 0xf3, 0xa9, 0x47, 0x19, 0xaa, 0x15, 0x3c, 0x9f, 0x72, 0xaa, 0x2f, 0x47, 0xac, 0x85, - 0x90, 0xb5, 0xa0, 0x58, 0x97, 0xf3, 0x16, 0x65, 0x0e, 0x65, 0xc5, 0x2a, 0x62, 0x8d, 0xf1, 0x16, - 0x25, 0xae, 0x1c, 0xbb, 0x5c, 0x50, 0xfd, 0x36, 0x61, 0xdc, 0x27, 0xd5, 0x3a, 0x27, 0xd4, 0x8d, - 0xf8, 0xe2, 0x44, 0xc5, 0xff, 0x39, 0xc5, 0xef, 0xb0, 0xe3, 0xe2, 0xd9, 0xed, 0xe0, 0x47, 0x75, - 0xbc, 0x22, 0x3b, 0x4c, 0xd1, 0x2a, 0xca, 0x86, 0xea, 0xca, 0x1e, 0xd3, 0x63, 0x2a, 0xe9, 0xc1, - 0x3f, 0x45, 0xed, 0x35, 0xc1, 0x68, 0x1a, 0x92, 0xf5, 0xf5, 0x06, 0x2b, 0xf5, 0x91, 0x55, 0x6b, - 0x30, 0xca, 0xa6, 0x64, 0x5b, 0xff, 0xdd, 0x24, 0x5c, 0xab, 0x78, 0x94, 0x1f, 0x20, 0xff, 0x14, - 0xf3, 0x32, 0xf2, 0x91, 0xf3, 0xc0, 0xb3, 0x11, 0xc7, 0x65, 0x65, 0x2f, 0x3d, 0x0b, 0x93, 0x9c, - 0xf0, 0x1a, 0xce, 0x69, 0xab, 0xda, 0x46, 0xca, 0x90, 0x0d, 0x7d, 0x15, 0xd2, 0x36, 0x66, 0x96, - 0x4f, 0xbc, 0x60, 0xa2, 0xb9, 0x2b, 0xa2, 0x2f, 0x4e, 0xd2, 0xaf, 0x42, 0xca, 0x11, 0xa0, 0x26, - 0xb1, 0x73, 0xe3, 0xa2, 0x7f, 0x46, 0x12, 0xf6, 0x6d, 0xfd, 0x10, 0xe6, 0x1c, 0x74, 0x8a, 0x7d, - 0xf3, 0x08, 0x63, 0xd3, 0x47, 0x1c, 0xe7, 0x26, 0x02, 0x8e, 0xed, 0xc2, 0x87, 0x9f, 0xae, 0x68, - 0x7f, 0xfb, 0x74, 0xe5, 0xc6, 0x31, 0xe1, 0x27, 0xf5, 0x6a, 0xc1, 0xa2, 0x8e, 0xb2, 0x8b, 0xfa, - 0xb9, 0xc5, 0xec, 0xd3, 0x22, 0x3f, 0xf7, 0x30, 0x2b, 0xec, 0x62, 0xcb, 0xc8, 0x08, 0x94, 0x3d, - 0x8c, 0x0d, 0xc4, 0x71, 0x80, 0xca, 0x9b, 0x51, 0x27, 0x87, 0x43, 0xe5, 0x71, 0x54, 0x0b, 0x96, - 0x7c, 0x5c, 0x43, 0xe7, 0x0a, 0x97, 0x9d, 0x20, 0x5f, 0xa1, 0x4f, 0x0d, 0x85, 0xbe, 0xa8, 0xd0, - 0xf6, 0x30, 0xae, 0x04, 0x58, 0x42, 0xc8, 0xb7, 0x61, 0xd1, 0x21, 0xae, 0xe9, 0xf9, 0xc4, 0xc2, - 0x26, 0x27, 0xd6, 0xa9, 0xc9, 0xc8, 0xfb, 0x38, 0x37, 0x3d, 0x94, 0x84, 0x05, 0x87, 0xb8, 0xe5, - 0x00, 0xe9, 0x90, 0x58, 0xa7, 0x15, 0xf2, 0xbe, 0x98, 0x43, 0x00, 0xff, 0xb0, 0x8e, 0x5c, 0x4e, - 0xf8, 0x79, 0x4c, 0xc2, 0xcc, 0x70, 0x73, 0x70, 0x88, 0xfb, 0x8e, 0x02, 0x8b, 0x84, 0x7c, 0x0d, - 0xa6, 0x18, 0x47, 0xbc, 0xce, 0x72, 0xa9, 0x55, 0x6d, 0x63, 0x6e, 0x73, 0xa3, 0xd0, 0x3d, 0xc8, - 0x0a, 0xd2, 0xe1, 0x2a, 0x82, 0xdf, 0x50, 0xe3, 0xee, 0xdc, 0xf8, 0xf1, 0x07, 0x2b, 0x63, 0xff, - 0xfc, 0x60, 0x65, 0xec, 0x2f, 0xbf, 0xbf, 0xb5, 0xac, 0xe2, 0xe1, 0x98, 0x9e, 0x45, 0x83, 0x76, - 0xa8, 0xcb, 0xb1, 0xcb, 0xd7, 0x7f, 0xa3, 0xc1, 0x52, 0x49, 0x21, 0x96, 0x5c, 0x54, 0xad, 0x5d, - 0xdc, 0x5d, 0xef, 0x42, 0x26, 0xd4, 0xf1, 0xf0, 0xdc, 0xc3, 0xc2, 0x63, 0xfb, 0x4c, 0xa1, 0x14, - 0xe3, 0x37, 0x9a, 0x46, 0xdf, 0x99, 0x09, 0x27, 0xb2, 0xfe, 0x8f, 0x0c, 0xac, 0x6d, 0x23, 0x6e, - 0x9d, 0x84, 0xdc, 0x07, 0xd4, 0x26, 0x47, 0xc4, 0x42, 0x81, 0xd4, 0x0b, 0x6b, 0xfd, 0x43, 0x0d, - 0xd6, 0x99, 0x47, 0xb9, 0xa9, 0x42, 0xcd, 0x0b, 0x02, 0xd8, 0xac, 0x8b, 0x08, 0x36, 0xc3, 0x94, - 0xc7, 0x72, 0xe3, 0xab, 0xe3, 0x1b, 0xe9, 0xcd, 0x2f, 0xf7, 0x9a, 0x4c, 0xcf, 0x24, 0x60, 0xe4, - 0x59, 0xaf, 0x6e, 0xa6, 0xff, 0x52, 0x83, 0x0d, 0x1b, 0xfb, 0xe4, 0x0c, 0x05, 0xe8, 0x7d, 0xb4, - 0x99, 0x10, 0xda, 0x7c, 0xb5, 0x97, 0x36, 0xbb, 0x11, 0x56, 0x77, 0x9d, 0x5e, 0xb3, 0xfb, 0x33, - 0x31, 0xbd, 0x0e, 0xaf, 0xc6, 0x0d, 0x54, 0x43, 0x75, 0xd7, 0x3a, 0x89, 0x29, 0x33, 0x29, 0x94, - 0x79, 0x33, 0x99, 0x69, 0xee, 0x8a, 0xd1, 0x91, 0x06, 0xaf, 0xb0, 0x2e, 0x3d, 0x4c, 0xff, 0x81, - 0x06, 0x6b, 0x1e, 0xf6, 0x3d, 0xcc, 0xeb, 0xa8, 0xd6, 0x55, 0xf8, 0x54, 0xff, 0x75, 0x29, 0x87, - 0x20, 0x1d, 0x35, 0xc8, 0x7b, 0xbd, 0xba, 0x99, 0xfe, 0x33, 0x0d, 0x6e, 0xe0, 0xc7, 0x1e, 0xf1, - 0xcf, 0xcd, 0xa3, 0x3a, 0xaf, 0xfb, 0x98, 0x75, 0xd5, 0x65, 0x5a, 0xe8, 0xf2, 0x95, 0xde, 0x0e, - 0x1f, 0x20, 0xed, 0x49, 0xa0, 0x8e, 0xfa, 0xac, 0xe3, 0x7e, 0x2c, 0x4c, 0xff, 0x85, 0x06, 0x37, - 0xb9, 0x8f, 0x6c, 0xe2, 0x1e, 0x9b, 0x3e, 0x7e, 0x84, 0x7c, 0xdb, 0xb4, 0x90, 0xe3, 0x21, 0x72, - 0xec, 0xb6, 0xfa, 0x8a, 0xc8, 0x4e, 0x7d, 0x5c, 0xe5, 0x50, 0x42, 0x19, 0x02, 0x69, 0x47, 0x01, - 0xb5, 0xb8, 0xca, 0x75, 0xde, 0x9f, 0x49, 0xd8, 0xaa, 0x4a, 0x5c, 0xe4, 0x9f, 0x9b, 0x54, 0x44, - 0x57, 0x77, 0x5b, 0xa5, 0xfa, 0xdb, 0x6a, 0x5b, 0x20, 0xdd, 0x97, 0x40, 0x9d, 0x6d, 0x55, 0xed, - 0xc7, 0xc2, 0xf4, 0x9f, 0x6b, 0xf0, 0x7a, 0x8b, 0x4e, 0x5d, 0x82, 0x0a, 0x84, 0x4a, 0xdb, 0x03, - 0xaa, 0xd4, 0x29, 0xae, 0xd6, 0x9a, 0xf4, 0xea, 0x18, 0x54, 0xdf, 0x87, 0xbc, 0x8d, 0x5d, 0xea, - 0x98, 0x36, 0xb6, 0x88, 0x83, 0x6a, 0xac, 0x6d, 0xe1, 0xd2, 0x62, 0xe1, 0xde, 0xea, 0xa5, 0x8e, - 0x04, 0xdd, 0x0d, 0x70, 0x76, 0x15, 0x4c, 0xa4, 0xc3, 0x55, 0x3b, 0x4e, 0x6e, 0x59, 0x28, 0x0b, - 0x5e, 0x0e, 0x36, 0x62, 0x9b, 0x30, 0x8b, 0xd6, 0x5d, 0xde, 0x10, 0x9a, 0x11, 0x42, 0x8b, 0xbd, - 0x84, 0xee, 0x61, 0xbc, 0xab, 0xc6, 0x45, 0xc2, 0x16, 0x8f, 0xda, 0x89, 0xfa, 0x8f, 0x34, 0x58, - 0x57, 0xcb, 0x7f, 0x44, 0x7d, 0x0b, 0xdb, 0x26, 0xc3, 0x9c, 0xd7, 0xb0, 0x83, 0x63, 0x12, 0x59, - 0x6e, 0x56, 0x98, 0xfd, 0x4e, 0xff, 0x9d, 0x6e, 0x4f, 0x80, 0x54, 0x22, 0x8c, 0x48, 0xfa, 0x8a, - 0xd3, 0xb3, 0x3f, 0xf9, 0xa6, 0xf8, 0xc7, 0x09, 0xc8, 0x75, 0x4b, 0x55, 0x43, 0x6f, 0x30, 0x4b, - 0x30, 0x15, 0xd4, 0x0a, 0xd8, 0x57, 0x25, 0x9c, 0x6a, 0xe9, 0xd7, 0x00, 0x82, 0xf2, 0xd8, 0x14, - 0xeb, 0x24, 0x8b, 0x37, 0x23, 0x15, 0x50, 0xc4, 0x7a, 0xea, 0x2b, 0x90, 0x7e, 0x58, 0xa7, 0x3c, - 0xec, 0x17, 0x65, 0x98, 0x01, 0x82, 0x24, 0x19, 0xba, 0xd4, 0x3b, 0x8d, 0x8a, 0x6a, 0x6c, 0x44, - 0xf5, 0xce, 0xf4, 0x50, 0x12, 0x3a, 0xd6, 0x3b, 0xed, 0x45, 0xec, 0xcc, 0x48, 0x8a, 0xd8, 0xd4, - 0xc5, 0x8b, 0xd8, 0xc4, 0x4e, 0xf4, 0xdb, 0x69, 0xb8, 0xd6, 0x73, 0xcb, 0xb9, 0x74, 0x4f, 0x6a, - 0x71, 0x95, 0x89, 0x36, 0x57, 0x59, 0x81, 0xb4, 0x3c, 0xb2, 0x98, 0x81, 0x7f, 0x85, 0xbe, 0x24, - 0x49, 0xdb, 0x88, 0x61, 0x7d, 0x0d, 0x32, 0x8a, 0x41, 0x8c, 0x92, 0x4e, 0x64, 0xa8, 0x41, 0xef, - 0x04, 0x24, 0xbd, 0x00, 0x8b, 0x8a, 0x85, 0x59, 0xa8, 0x86, 0xcd, 0x23, 0x64, 0x71, 0xea, 0x0b, - 0x67, 0x98, 0x35, 0x5e, 0x92, 0x5d, 0x95, 0xa0, 0x67, 0x4f, 0x74, 0xe8, 0xa5, 0x48, 0x66, 0x60, - 0x50, 0xb1, 0xae, 0x73, 0x9b, 0xaf, 0xc5, 0xa2, 0x5c, 0x1d, 0xa2, 0x42, 0xf3, 0xdd, 0x17, 0x4d, - 0x51, 0x08, 0x2a, 0xcd, 0x82, 0xff, 0xfa, 0x77, 0x21, 0x4b, 0x5c, 0xc2, 0x89, 0x2c, 0x01, 0x8e, - 0x89, 0x1b, 0x2c, 0x28, 0xa1, 0xb1, 0x15, 0x1d, 0xc4, 0x09, 0x75, 0x85, 0x75, 0x20, 0xa0, 0x8c, - 0x00, 0x49, 0x3f, 0x81, 0x9c, 0x83, 0x48, 0xb0, 0x76, 0xc8, 0xb5, 0x70, 0xb3, 0x14, 0x18, 0x4a, - 0xca, 0x52, 0x0c, 0x2f, 0x2e, 0xa9, 0xdd, 0xdb, 0xd3, 0x43, 0xe1, 0xf7, 0xf3, 0xf6, 0xcc, 0x70, - 0xa8, 0x4d, 0x47, 0xb6, 0x2e, 0xd9, 0x65, 0x76, 0xe4, 0xd9, 0x65, 0xee, 0xd2, 0xb2, 0x4b, 0xe2, - 0x88, 0xfd, 0xf7, 0x14, 0xac, 0xf5, 0x2d, 0x36, 0x2e, 0x3d, 0x6a, 0xaf, 0xc3, 0x6c, 0x18, 0x50, - 0xe7, 0x4e, 0x95, 0xd6, 0x54, 0xdc, 0xaa, 0x40, 0xac, 0x08, 0x9a, 0x7e, 0x13, 0xe6, 0x15, 0x93, - 0xe7, 0xd3, 0x33, 0x62, 0x63, 0x5f, 0x45, 0xef, 0x9c, 0x24, 0x97, 0x15, 0xb5, 0x35, 0xdc, 0xa6, - 0x86, 0x0c, 0xb7, 0x41, 0xa3, 0xfc, 0x36, 0x64, 0x45, 0xbd, 0x2a, 0xce, 0x62, 0x26, 0x27, 0x0e, - 0x66, 0x1c, 0x39, 0x9e, 0x08, 0xf7, 0x71, 0x63, 0xb1, 0xd1, 0x77, 0x18, 0x76, 0x05, 0x43, 0x62, - 0x75, 0x40, 0x63, 0x48, 0x4a, 0x0e, 0x69, 0xf4, 0x35, 0x86, 0x64, 0x61, 0x12, 0xd9, 0x0e, 0x71, - 0x65, 0x3c, 0x1a, 0xb2, 0xd1, 0x9a, 0xf6, 0xd2, 0x6d, 0x69, 0xaf, 0x3d, 0xde, 0x32, 0x23, 0x89, - 0xb7, 0xd9, 0xd1, 0xc5, 0xdb, 0xdc, 0xc8, 0xe3, 0x6d, 0xfe, 0xb3, 0x8f, 0xb7, 0x8f, 0xa6, 0x61, - 0xad, 0xef, 0x41, 0xe8, 0xc5, 0x2e, 0x39, 0x40, 0xd8, 0x2e, 0xc1, 0x94, 0x3c, 0x36, 0xaa, 0x28, - 0x52, 0xad, 0xae, 0xbb, 0x27, 0x7c, 0x26, 0xbb, 0x67, 0x7a, 0xc4, 0xbb, 0xe7, 0x8b, 0x68, 0xfe, - 0x7f, 0x88, 0xe6, 0x5f, 0xa5, 0xe0, 0x7a, 0x82, 0xcb, 0xa6, 0xd1, 0xdc, 0x82, 0x77, 0x73, 0xf0, - 0xe1, 0xee, 0xc2, 0x07, 0x75, 0xf0, 0xe1, 0xee, 0xc6, 0x93, 0x3b, 0xf8, 0xd4, 0x48, 0x0e, 0x43, - 0xd3, 0x23, 0xbd, 0xd1, 0x9f, 0x19, 0xf9, 0x8d, 0x7e, 0x6a, 0xe4, 0x37, 0xfa, 0x70, 0x79, 0x37, - 0xfa, 0xdf, 0x01, 0xfd, 0x6d, 0x5a, 0xf7, 0x6b, 0xe7, 0xfb, 0x2e, 0xc7, 0x3e, 0x66, 0xdc, 0x68, - 0xae, 0xfb, 0x07, 0x72, 0xcf, 0x76, 0x24, 0xbd, 0x0a, 0x59, 0x49, 0xdd, 0xab, 0xbb, 0xe2, 0x7e, - 0x0e, 0x71, 0xbc, 0x83, 0xbc, 0x58, 0x6e, 0x1c, 0x44, 0x42, 0x47, 0xac, 0xd8, 0xab, 0xc4, 0xec, - 0x70, 0xaf, 0x12, 0xfa, 0x41, 0x54, 0xeb, 0x8a, 0xbb, 0x37, 0x26, 0x32, 0x61, 0xba, 0x37, 0x90, - 0xdc, 0xea, 0x44, 0x26, 0x61, 0x61, 0x55, 0x2c, 0x5b, 0x89, 0x53, 0xd3, 0x7f, 0x35, 0xc8, 0xf7, - 0xbe, 0x3b, 0x1a, 0x4d, 0x56, 0xfa, 0x16, 0x2c, 0x34, 0x5d, 0x75, 0x11, 0x6b, 0xd8, 0xd7, 0xb9, - 0x79, 0x16, 0x53, 0x99, 0x58, 0xc9, 0xb3, 0xf2, 0x5f, 0x35, 0xb8, 0xda, 0xe3, 0x7a, 0x70, 0xe8, - 0x79, 0x97, 0x61, 0xae, 0xf9, 0xde, 0x52, 0xbd, 0x8c, 0xbc, 0xd1, 0xfb, 0x2d, 0x22, 0xa6, 0x82, - 0x31, 0xdb, 0x74, 0x33, 0x99, 0x78, 0x46, 0xff, 0x9a, 0x86, 0x1b, 0xc9, 0xee, 0x5f, 0x5f, 0x3c, - 0xb8, 0xbe, 0x78, 0x70, 0x4d, 0x98, 0x9e, 0xbb, 0x9d, 0x5f, 0x53, 0x83, 0x9f, 0x5f, 0xa1, 0xfb, - 0xf9, 0xb5, 0x53, 0x3e, 0x48, 0x5f, 0x4a, 0x3e, 0x68, 0x1c, 0x8d, 0x33, 0xf1, 0xa3, 0xf1, 0xc5, - 0x33, 0xf6, 0x83, 0xce, 0x19, 0xfb, 0x0b, 0x3d, 0x1f, 0xda, 0xd4, 0x65, 0xc4, 0x25, 0x64, 0xee, - 0x3f, 0x68, 0x90, 0xed, 0x04, 0x17, 0x9c, 0x74, 0xd4, 0x75, 0x89, 0x8c, 0x6d, 0xd5, 0xd2, 0x97, - 0x61, 0x26, 0xba, 0x21, 0x91, 0x91, 0x1d, 0xb5, 0xbb, 0x1d, 0xca, 0xc6, 0x13, 0x1e, 0xca, 0x26, - 0x86, 0x3b, 0x94, 0xad, 0xff, 0x59, 0x83, 0x4c, 0x93, 0xee, 0x2d, 0x07, 0x4c, 0xad, 0xef, 0x01, - 0xf3, 0x4a, 0xe2, 0x03, 0xe6, 0xa8, 0xe7, 0xf2, 0xa7, 0x2b, 0x70, 0xbd, 0xe3, 0x33, 0xe1, 0x25, - 0x1d, 0xda, 0xdf, 0x83, 0xd9, 0xe8, 0x05, 0x93, 0xb8, 0x47, 0x54, 0x4c, 0x28, 0xbd, 0xf9, 0xa5, - 0x81, 0x9f, 0x2d, 0xf7, 0xdd, 0x23, 0x6a, 0x64, 0xac, 0x58, 0x4b, 0xaf, 0xc2, 0xcb, 0x11, 0xb6, - 0x7a, 0x2d, 0xf5, 0x28, 0x8d, 0x5e, 0xd1, 0x0b, 0xbd, 0x64, 0x84, 0xb0, 0x52, 0x48, 0x99, 0xd2, - 0x9a, 0xb1, 0x68, 0xb5, 0xd1, 0x92, 0xfb, 0xf5, 0x47, 0xe3, 0x5d, 0xec, 0x78, 0x49, 0x3b, 0xd8, - 0x28, 0xed, 0x58, 0x87, 0x95, 0x8e, 0x76, 0x34, 0x91, 0x6d, 0x13, 0xb1, 0x23, 0x0f, 0x69, 0xd1, - 0x57, 0x3b, 0x58, 0x74, 0x2b, 0xc4, 0xd4, 0x1f, 0xc2, 0xb5, 0xce, 0x62, 0xe5, 0x83, 0x69, 0xf8, - 0xfd, 0xc1, 0xa0, 0x42, 0x97, 0x3b, 0x08, 0x95, 0x8b, 0x90, 0x7c, 0x35, 0x7f, 0xa2, 0xc1, 0x4b, - 0xe1, 0x70, 0xe2, 0x72, 0x39, 0x5c, 0xbf, 0x09, 0xf3, 0xc8, 0x92, 0xef, 0xaa, 0xc8, 0xb6, 0x7d, - 0xcc, 0x98, 0x5a, 0xc5, 0x39, 0x45, 0xde, 0x92, 0x54, 0xfd, 0x00, 0xc0, 0xc5, 0x8f, 0x4c, 0x2f, - 0x18, 0xcb, 0x86, 0xbc, 0xcd, 0x48, 0xb9, 0xf8, 0x91, 0x10, 0xce, 0xd6, 0x7f, 0x7d, 0x05, 0x36, - 0x9a, 0xd6, 0xb2, 0x8c, 0x45, 0x19, 0x2f, 0xbb, 0x2f, 0xc9, 0xc1, 0xde, 0x84, 0x25, 0x4f, 0xc2, - 0x8a, 0x55, 0x88, 0xed, 0x7f, 0xe3, 0x62, 0xff, 0xcb, 0x7a, 0xa1, 0x50, 0x5a, 0x6b, 0x6c, 0x80, - 0x26, 0x64, 0xa3, 0xa5, 0x23, 0x2e, 0x8f, 0x96, 0x4e, 0xfa, 0xcb, 0xad, 0x5e, 0x4b, 0xd7, 0x66, - 0x5f, 0x43, 0xf7, 0x5b, 0x49, 0x03, 0xbc, 0xf0, 0x6a, 0xb0, 0xd8, 0xe1, 0x01, 0x7b, 0x68, 0x73, - 0x7c, 0x03, 0x66, 0x98, 0x75, 0x82, 0xed, 0x7a, 0x0d, 0xab, 0x50, 0x4b, 0xfa, 0x76, 0x5e, 0x51, - 0xc3, 0x8c, 0x08, 0x20, 0xf1, 0x24, 0x3e, 0xd1, 0x60, 0x45, 0x7c, 0x10, 0xb5, 0x43, 0x1d, 0xa7, - 0xee, 0x12, 0x7e, 0x1e, 0x58, 0xbb, 0x12, 0x58, 0xfe, 0xc2, 0x13, 0x7a, 0x00, 0xa9, 0xd6, 0x8f, - 0x9e, 0xde, 0x52, 0x5f, 0x6b, 0x16, 0x9a, 0x3e, 0xcc, 0x6c, 0x28, 0xd5, 0x4d, 0x07, 0xa3, 0x81, - 0x94, 0x78, 0x6a, 0xff, 0xd1, 0xa0, 0xb0, 0xc5, 0xa9, 0x43, 0x2c, 0x59, 0x95, 0xdc, 0xf7, 0x6d, - 0x51, 0x75, 0x1e, 0xd4, 0x6b, 0x9c, 0x78, 0x35, 0x82, 0xfd, 0xd0, 0x6e, 0x17, 0x9e, 0x29, 0x86, - 0xa5, 0xf0, 0xeb, 0x04, 0x8c, 0x4d, 0x27, 0x12, 0x10, 0x4e, 0xbb, 0x98, 0xe0, 0x8b, 0x84, 0xb8, - 0x62, 0x46, 0xd6, 0x69, 0x27, 0x26, 0x9e, 0xf9, 0xe7, 0x1f, 0x43, 0x26, 0xfe, 0x35, 0x9c, 0xbe, - 0x09, 0xd9, 0xd2, 0x37, 0x77, 0xde, 0xde, 0xba, 0xf7, 0xf5, 0x92, 0xf9, 0xe0, 0x5e, 0xa5, 0x5c, - 0xda, 0xd9, 0xdf, 0xdb, 0x2f, 0xed, 0x2e, 0x8c, 0x2d, 0xe7, 0x9e, 0x3c, 0x5d, 0xed, 0xd8, 0xa7, - 0xeb, 0x30, 0x51, 0x29, 0xdf, 0x3f, 0x5c, 0xd0, 0x96, 0x67, 0x9e, 0x3c, 0x5d, 0x15, 0xff, 0x03, - 0x43, 0xec, 0x96, 0x8c, 0xfd, 0x77, 0xb7, 0x0e, 0xf7, 0xdf, 0x2d, 0x55, 0x16, 0xae, 0x2c, 0xcf, - 0x3f, 0x79, 0xba, 0x1a, 0x27, 0x6d, 0x9f, 0x7c, 0xf8, 0x2c, 0xaf, 0x7d, 0xfc, 0x2c, 0xaf, 0xfd, - 0xfd, 0x59, 0x5e, 0xfb, 0xe9, 0xf3, 0xfc, 0xd8, 0xc7, 0xcf, 0xf3, 0x63, 0x9f, 0x3c, 0xcf, 0x8f, - 0xbd, 0x77, 0x2f, 0x96, 0x84, 0xf6, 0x43, 0x63, 0xdc, 0x45, 0x55, 0x56, 0x8c, 0x4c, 0x73, 0xcb, - 0xa2, 0x3e, 0x8e, 0x37, 0x4f, 0x10, 0x71, 0x8b, 0x0e, 0x0d, 0x96, 0x88, 0x35, 0x3e, 0xb1, 0x15, - 0x09, 0xab, 0x3a, 0x25, 0xbe, 0x98, 0xfd, 0xe2, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa1, 0x8e, - 0xe4, 0xae, 0x66, 0x2c, 0x00, 0x00, + // 2444 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcb, 0x8f, 0x1b, 0x49, + 0xfd, 0x9f, 0x9e, 0x99, 0x4c, 0xec, 0xb2, 0xe7, 0xd5, 0xe3, 0x9d, 0x9f, 0x77, 0x92, 0x78, 0x66, + 0x3a, 0xaf, 0xd9, 0xfc, 0x36, 0x36, 0x09, 0x8b, 0x22, 0x2c, 0x21, 0x98, 0xe7, 0xee, 0x88, 0x64, + 0xe2, 0xb4, 0x67, 0x76, 0x57, 0x11, 0xa8, 0x55, 0xee, 0xae, 0x99, 0x29, 0xe2, 0x7e, 0xa4, 0xab, + 0x3c, 0xc9, 0xac, 0x38, 0x70, 0x60, 0x05, 0xca, 0x09, 0x10, 0x0f, 0x71, 0x88, 0xb4, 0x27, 0xce, + 0x48, 0xf0, 0x0f, 0xc0, 0x01, 0x2d, 0x2b, 0x0e, 0x2b, 0x71, 0x00, 0x71, 0x58, 0xa1, 0x44, 0x08, + 0xfe, 0x02, 0xc4, 0x81, 0x03, 0xea, 0xaa, 0xea, 0x76, 0xdb, 0x6e, 0xb7, 0xdb, 0x1e, 0x9b, 0x3d, + 0x90, 0x4b, 0xe2, 0xfe, 0xd6, 0xb7, 0x3e, 0xf5, 0xad, 0xef, 0xab, 0xbe, 0xf5, 0x18, 0xf0, 0x06, + 0xb6, 0xbe, 0x85, 0x74, 0x8a, 0x4f, 0x50, 0x09, 0x3d, 0xd5, 0x8f, 0xa1, 0x75, 0x84, 0x4a, 0x27, + 0xb7, 0x6a, 0x88, 0xc2, 0x5b, 0x25, 0xc7, 0xb5, 0x1d, 0x9b, 0xc0, 0x7a, 0xd1, 0x71, 0x6d, 0x6a, + 0xcb, 0x4b, 0x01, 0x6b, 0xd1, 0x67, 0x2d, 0x0a, 0xd6, 0xa5, 0x82, 0x6e, 0x13, 0xd3, 0x26, 0xa5, + 0x1a, 0x24, 0xcd, 0xfe, 0xba, 0x8d, 0x2d, 0xde, 0x77, 0xa9, 0x28, 0xda, 0x0d, 0x4c, 0xa8, 0x8b, + 0x6b, 0x0d, 0x8a, 0x6d, 0x2b, 0xe0, 0x0b, 0x13, 0x05, 0xff, 0xff, 0x09, 0x7e, 0x93, 0x1c, 0x95, + 0x4e, 0x6e, 0x79, 0xff, 0x89, 0x86, 0xd7, 0x79, 0x83, 0xc6, 0xbe, 0x4a, 0xfc, 0x43, 0x34, 0xe5, + 0x8e, 0xec, 0x23, 0x9b, 0xd3, 0xbd, 0x5f, 0x82, 0x1a, 0x37, 0xc1, 0x60, 0x1a, 0x9c, 0xf5, 0x6a, + 0x93, 0xd5, 0x76, 0xa1, 0x5e, 0x6f, 0x32, 0xf2, 0x4f, 0xc1, 0x36, 0x0f, 0x4d, 0x6c, 0xd9, 0x25, + 0xf6, 0x2f, 0x27, 0x29, 0x7f, 0x9c, 0x02, 0x97, 0xaa, 0x8e, 0x4d, 0xef, 0x41, 0xf7, 0x11, 0xa2, + 0x15, 0xe8, 0x42, 0xf3, 0xc0, 0x31, 0x20, 0x45, 0x15, 0xa1, 0x42, 0x39, 0x07, 0xce, 0x51, 0x4c, + 0xeb, 0x28, 0x2f, 0xad, 0x48, 0x6b, 0x69, 0x95, 0x7f, 0xc8, 0x2b, 0x20, 0x63, 0x20, 0xa2, 0xbb, + 0xd8, 0xf1, 0xe6, 0x9e, 0x1f, 0x67, 0x6d, 0x61, 0x92, 0x7c, 0x01, 0xa4, 0x4d, 0x06, 0xaa, 0x61, + 0x23, 0x3f, 0xc1, 0xda, 0x53, 0x9c, 0xb0, 0x6b, 0xc8, 0xbb, 0x60, 0xc6, 0x84, 0x8f, 0x90, 0xab, + 0x1d, 0x22, 0xa4, 0xb9, 0x90, 0xa2, 0xfc, 0xa4, 0xc7, 0xb1, 0x71, 0xf9, 0xe3, 0xcf, 0x96, 0xa5, + 0xbf, 0x7c, 0xb6, 0x7c, 0x81, 0xeb, 0x87, 0x18, 0x8f, 0x8a, 0xd8, 0x2e, 0x99, 0x90, 0x1e, 0x17, + 0xef, 0xa2, 0x23, 0xa8, 0x9f, 0x6e, 0x21, 0x5d, 0xcd, 0xb2, 0xae, 0x3b, 0x08, 0xa9, 0x90, 0x22, + 0x0f, 0x8a, 0xb6, 0x42, 0x9d, 0xeb, 0x03, 0x8a, 0x86, 0xa1, 0xde, 0x07, 0x8b, 0x2e, 0xaa, 0xc3, + 0x53, 0x01, 0x46, 0x8e, 0xa1, 0x2b, 0x20, 0xa7, 0x92, 0x43, 0x2e, 0x08, 0x88, 0x1d, 0x84, 0xaa, + 0x1e, 0x00, 0x43, 0x56, 0xc1, 0x82, 0x89, 0x2d, 0xcd, 0x71, 0xb1, 0x8e, 0x34, 0x8a, 0xf5, 0x47, + 0x1a, 0xc1, 0x1f, 0xa0, 0xfc, 0xf9, 0xe4, 0xb0, 0x73, 0x26, 0xb6, 0x2a, 0x5e, 0xf7, 0x7d, 0xac, + 0x3f, 0xaa, 0xe2, 0x0f, 0x98, 0xb4, 0x1e, 0xe6, 0xe3, 0x06, 0xb4, 0x28, 0xa6, 0xa7, 0x21, 0xd8, + 0x54, 0x1f, 0xd2, 0x9a, 0xd8, 0x7a, 0x20, 0x10, 0x02, 0xe4, 0xaf, 0x81, 0x29, 0x42, 0x21, 0x6d, + 0x90, 0x7c, 0x7a, 0x45, 0x5a, 0x9b, 0xb9, 0xbd, 0x56, 0xec, 0x1e, 0x40, 0x45, 0xee, 0x39, 0x55, + 0xc6, 0xaf, 0x8a, 0x7e, 0xf2, 0x45, 0x30, 0xe5, 0x89, 0x83, 0xdc, 0x3c, 0x60, 0xb2, 0x4c, 0x7a, + 0xb2, 0xa8, 0x82, 0x26, 0xef, 0x80, 0xac, 0x27, 0xb9, 0x65, 0x7b, 0x8e, 0x02, 0xeb, 0xf9, 0x4c, + 0x72, 0x79, 0x33, 0x26, 0xb6, 0xf6, 0x44, 0x3f, 0x79, 0x0b, 0x00, 0x68, 0x78, 0x48, 0xd8, 0x3a, + 0xb4, 0xf3, 0xd9, 0x15, 0x69, 0x2d, 0x73, 0xfb, 0x6a, 0x9c, 0xac, 0xeb, 0x1e, 0xf7, 0xae, 0x75, + 0x68, 0xab, 0x69, 0xe8, 0xff, 0x2c, 0x3f, 0xf8, 0xfe, 0x47, 0xcb, 0x63, 0xff, 0xf8, 0x68, 0x79, + 0xec, 0x93, 0x5f, 0xdf, 0x5c, 0x12, 0x71, 0x79, 0x64, 0x9f, 0x04, 0x9d, 0x36, 0x6d, 0x8b, 0x22, + 0x8b, 0x3e, 0xfb, 0xfb, 0x2f, 0x6f, 0x5c, 0x0b, 0x02, 0x31, 0x36, 0x66, 0x94, 0x3f, 0x48, 0x60, + 0x71, 0x5b, 0xb0, 0x6e, 0x5b, 0xb0, 0x56, 0x3f, 0x7b, 0x38, 0xdd, 0x05, 0x59, 0x7f, 0xf0, 0xfd, + 0x53, 0x07, 0xb1, 0x88, 0xea, 0x61, 0x99, 0xed, 0x10, 0xbf, 0xda, 0xd2, 0xbb, 0xfc, 0xa6, 0x3f, + 0x67, 0x6f, 0x56, 0xcb, 0xc1, 0xac, 0xa2, 0x65, 0x56, 0x7e, 0x3a, 0x0d, 0x56, 0x37, 0x20, 0xd5, + 0x8f, 0xfd, 0xf6, 0x7b, 0xb6, 0x81, 0x0f, 0xb1, 0x0e, 0x3d, 0xc9, 0xce, 0x3c, 0xb3, 0x0f, 0x25, + 0xa0, 0x10, 0xc7, 0xa6, 0x9a, 0x48, 0x17, 0x8e, 0xa7, 0x50, 0xad, 0xc1, 0x34, 0xaa, 0xf9, 0x99, + 0x9c, 0xe4, 0x27, 0x56, 0x26, 0xd6, 0x32, 0xb7, 0xbf, 0x1c, 0x37, 0xe1, 0x58, 0xa3, 0xa8, 0x05, + 0x12, 0xd7, 0x4c, 0xe4, 0x9f, 0x49, 0x60, 0xcd, 0x40, 0x2e, 0x3e, 0x81, 0x1e, 0x7a, 0x0f, 0x69, + 0x26, 0x99, 0x34, 0x5f, 0x8d, 0x93, 0x66, 0x2b, 0xc0, 0xea, 0x2e, 0xd3, 0x15, 0xa3, 0x37, 0x13, + 0x91, 0x1b, 0xe0, 0x62, 0x58, 0x41, 0x75, 0xd8, 0xb0, 0xf4, 0xe3, 0x90, 0x30, 0xe7, 0x98, 0x30, + 0x6f, 0x25, 0x53, 0xcd, 0x5d, 0xd6, 0x3b, 0x90, 0xe0, 0x75, 0xd2, 0xa5, 0x85, 0xc8, 0xdf, 0x95, + 0xc0, 0xaa, 0x83, 0x5c, 0x07, 0xd1, 0x06, 0xac, 0x77, 0x1d, 0x7c, 0xaa, 0xb7, 0x5d, 0x2a, 0x3e, + 0x48, 0xa4, 0x04, 0x05, 0x27, 0xae, 0x99, 0xc8, 0x3f, 0x94, 0xc0, 0x35, 0xf4, 0xd4, 0xc1, 0xee, + 0xa9, 0x76, 0xd8, 0xa0, 0x0d, 0x17, 0x91, 0xae, 0xb2, 0x9c, 0x67, 0xb2, 0x7c, 0x25, 0x3e, 0x28, + 0x3c, 0xa4, 0x1d, 0x0e, 0x14, 0x29, 0x8f, 0x82, 0x7a, 0xb1, 0x10, 0xf9, 0x27, 0x12, 0xb8, 0x4e, + 0x5d, 0x68, 0x60, 0xeb, 0x48, 0x73, 0xd1, 0x13, 0xe8, 0x1a, 0x9a, 0x0e, 0x4d, 0x07, 0xe2, 0x23, + 0xab, 0xdd, 0x57, 0x58, 0x36, 0xee, 0xe1, 0x2a, 0xfb, 0x1c, 0x4a, 0x65, 0x48, 0x9b, 0x02, 0xa8, + 0xcd, 0x55, 0x2e, 0xd3, 0xde, 0x4c, 0x4c, 0x57, 0x35, 0x6c, 0x41, 0xf7, 0x54, 0xb3, 0x59, 0x74, + 0x75, 0xd7, 0x55, 0xba, 0xb7, 0xae, 0x36, 0x18, 0xd2, 0x7d, 0x0e, 0x14, 0xad, 0xab, 0x5a, 0x2f, + 0x16, 0x22, 0xff, 0x58, 0x02, 0x57, 0xdb, 0x64, 0xea, 0x12, 0x54, 0x80, 0x89, 0xb4, 0xd1, 0xa7, + 0x48, 0x51, 0x71, 0xb5, 0xda, 0x22, 0x57, 0x64, 0x50, 0x7d, 0x1b, 0x14, 0x0c, 0x64, 0xd9, 0xa6, + 0x66, 0x20, 0x1d, 0x9b, 0xb0, 0x4e, 0x3a, 0x0c, 0x97, 0x61, 0x86, 0xbb, 0x13, 0x27, 0x0e, 0x07, + 0xdd, 0xf2, 0x70, 0xb6, 0x04, 0x4c, 0x20, 0xc3, 0x05, 0x23, 0x4c, 0x6e, 0x33, 0x94, 0x0e, 0x5e, + 0xf3, 0x4a, 0x0c, 0x03, 0x13, 0xdd, 0x6e, 0x58, 0xb4, 0x39, 0x28, 0x5f, 0xc5, 0x4a, 0x71, 0x83, + 0xee, 0x20, 0xb4, 0x25, 0xfa, 0x05, 0x83, 0x2d, 0x1c, 0x76, 0x12, 0xe5, 0xef, 0x49, 0x40, 0x11, + 0xe6, 0x3f, 0xb4, 0x5d, 0x1d, 0x19, 0x1a, 0x41, 0x94, 0xd6, 0x91, 0x89, 0x42, 0x23, 0x92, 0xfc, + 0x34, 0x53, 0x7b, 0xb9, 0xf7, 0x22, 0xbf, 0xc3, 0x40, 0xaa, 0x01, 0x46, 0x30, 0xfa, 0xb2, 0x19, + 0xdb, 0x4e, 0xca, 0x07, 0xc9, 0xd7, 0xd8, 0x1b, 0xc1, 0x6a, 0xd4, 0x73, 0xc9, 0x51, 0x3e, 0x39, + 0x07, 0xf2, 0xdd, 0x32, 0xdb, 0xc0, 0xeb, 0xd1, 0x62, 0x50, 0xbb, 0xf0, 0xaa, 0xd5, 0xaf, 0x5a, + 0x2e, 0x01, 0xe0, 0x6d, 0x12, 0x34, 0x66, 0x56, 0x5e, 0xaf, 0xaa, 0x69, 0x8f, 0xc2, 0xcc, 0x2f, + 0x2f, 0x83, 0xcc, 0xe3, 0x86, 0x4d, 0xfd, 0x76, 0x56, 0x84, 0xaa, 0x80, 0x91, 0x38, 0x43, 0x97, + 0x1a, 0xb0, 0x59, 0x5a, 0x8e, 0x0d, 0xb3, 0x06, 0x3c, 0x9f, 0x1c, 0x36, 0xb2, 0x06, 0xec, 0xac, + 0xd0, 0x53, 0xc3, 0xab, 0xd0, 0xd3, 0x83, 0x56, 0xe8, 0xed, 0x95, 0x23, 0x48, 0x3e, 0xcb, 0x98, + 0xca, 0x31, 0x33, 0x60, 0xe5, 0x78, 0x37, 0xb9, 0x57, 0xaf, 0x46, 0x54, 0x8e, 0xad, 0xfe, 0xaa, + 0xfc, 0x22, 0x05, 0x2e, 0xc5, 0xae, 0x94, 0x43, 0xf7, 0xe8, 0x36, 0x97, 0x9d, 0xec, 0x70, 0xd9, + 0x65, 0x90, 0xe1, 0x1b, 0x48, 0xcd, 0xf3, 0x73, 0xdf, 0xa7, 0x39, 0x69, 0x03, 0x12, 0x24, 0xaf, + 0x82, 0xac, 0x60, 0x60, 0xbd, 0xb8, 0x33, 0xab, 0xa2, 0xd3, 0x03, 0x8f, 0x24, 0x17, 0xc1, 0x82, + 0x60, 0x21, 0x3a, 0xac, 0x23, 0xed, 0x10, 0xea, 0xd4, 0x76, 0x99, 0x7f, 0x4e, 0xab, 0xf3, 0xbc, + 0xa9, 0xea, 0xb5, 0xec, 0xb0, 0x06, 0x79, 0x3b, 0x18, 0x93, 0x7a, 0x75, 0x6e, 0x8a, 0xd5, 0xb9, + 0x57, 0x42, 0xb6, 0x11, 0x5b, 0x5a, 0x5f, 0xc9, 0xf7, 0xd9, 0x27, 0xab, 0x71, 0x85, 0x64, 0xde, + 0x6f, 0xf9, 0x00, 0xe4, 0xb0, 0x85, 0x29, 0xe6, 0x95, 0xcb, 0x11, 0xb6, 0x3c, 0xcf, 0xc3, 0x76, + 0xc8, 0xf5, 0x7a, 0x7a, 0x8c, 0x2c, 0x00, 0xee, 0xb1, 0xfe, 0xaa, 0xd7, 0x5d, 0xfe, 0x26, 0xc8, + 0x9b, 0x10, 0x7b, 0x66, 0x85, 0x96, 0x8e, 0x5a, 0xa1, 0xfb, 0x70, 0xc6, 0xc5, 0x10, 0x48, 0x18, + 0xbe, 0x33, 0xea, 0x32, 0xc9, 0x41, 0x7b, 0x45, 0x5d, 0xb6, 0x0f, 0xa8, 0x96, 0xa8, 0xeb, 0x92, + 0xb9, 0xa6, 0x47, 0x93, 0xb9, 0x66, 0xce, 0x98, 0xb9, 0xda, 0x73, 0xc4, 0xec, 0x50, 0x72, 0xc4, + 0xdc, 0x7f, 0x73, 0x77, 0x19, 0x9b, 0x06, 0x94, 0xbf, 0x9d, 0x07, 0xab, 0x3d, 0x4b, 0xb3, 0xa1, + 0x27, 0x8b, 0xcb, 0x60, 0xda, 0x8f, 0xe3, 0x53, 0xb3, 0x66, 0xd7, 0x45, 0xba, 0x10, 0xf1, 0x5f, + 0x65, 0x34, 0xf9, 0x3a, 0x98, 0x15, 0x4c, 0x8e, 0x6b, 0x9f, 0x60, 0x03, 0xb9, 0x22, 0x69, 0xcc, + 0x70, 0x72, 0x45, 0x50, 0xdb, 0xa3, 0x7c, 0x6a, 0xc0, 0x28, 0xef, 0x37, 0xb9, 0xdc, 0x02, 0x39, + 0x56, 0xdd, 0xb3, 0x32, 0x42, 0xa3, 0xd8, 0x44, 0x84, 0x42, 0xd3, 0x61, 0x59, 0x66, 0x42, 0x5d, + 0x68, 0xb6, 0xed, 0xfb, 0x4d, 0x5e, 0x97, 0x50, 0xd5, 0xd4, 0xec, 0x92, 0xe6, 0x5d, 0x9a, 0x6d, + 0xcd, 0x2e, 0x39, 0x70, 0x8e, 0x39, 0x00, 0xcf, 0x08, 0x2a, 0xff, 0x68, 0xcf, 0xb6, 0x99, 0x8e, + 0x6c, 0xdb, 0x19, 0xfc, 0xd9, 0xe1, 0x05, 0xff, 0xf4, 0x90, 0x83, 0x7f, 0x66, 0x34, 0xc1, 0x3f, + 0x3b, 0xe4, 0xe0, 0x9f, 0x1b, 0x30, 0xf8, 0xff, 0x1f, 0xcc, 0xf3, 0xe0, 0x77, 0x90, 0x6b, 0x62, + 0x42, 0xbc, 0x30, 0xcb, 0xcf, 0x33, 0xb7, 0x9a, 0x63, 0x0d, 0x95, 0x26, 0x7d, 0xc0, 0xea, 0xb6, + 0x57, 0x04, 0x2b, 0xbf, 0x4b, 0x81, 0xd5, 0x9e, 0xdb, 0xd5, 0x57, 0x45, 0x41, 0x1f, 0xe9, 0x62, + 0x11, 0x4c, 0xf1, 0xcd, 0xbd, 0x88, 0x5e, 0xf1, 0xd5, 0xb5, 0x58, 0x00, 0xa3, 0x2b, 0x16, 0x32, + 0xa3, 0x28, 0x16, 0x5e, 0xe5, 0x8b, 0xcf, 0x2b, 0x5f, 0xb4, 0x16, 0x0b, 0xf3, 0x03, 0x16, 0x0b, + 0x03, 0x25, 0x92, 0x9e, 0x29, 0x42, 0xf9, 0x11, 0x00, 0x97, 0x13, 0x9c, 0x46, 0x8e, 0xe6, 0xaa, + 0xa7, 0x5b, 0x6c, 0xf5, 0x71, 0xe1, 0xd3, 0x6f, 0x6c, 0xf5, 0x71, 0x01, 0x94, 0x3c, 0xb6, 0xa6, + 0x86, 0xb7, 0xfd, 0x3d, 0x3f, 0xfc, 0x0b, 0xaa, 0xd4, 0x68, 0x2e, 0xa8, 0xd2, 0xa3, 0xb9, 0xa0, + 0x02, 0x67, 0xbc, 0xa0, 0xaa, 0x02, 0xf9, 0x1d, 0xbb, 0xe1, 0xd6, 0x4f, 0x77, 0x2d, 0x8a, 0x5c, + 0x44, 0xa8, 0xda, 0xba, 0x55, 0xea, 0xed, 0x51, 0x9d, 0xdd, 0xe5, 0xf7, 0x40, 0x8e, 0x53, 0x77, + 0x1a, 0x16, 0x3b, 0x68, 0x85, 0x14, 0x6d, 0x42, 0x27, 0x94, 0x54, 0x7b, 0xc2, 0x46, 0x02, 0x84, + 0xae, 0xd3, 0xa6, 0x07, 0xbc, 0x4e, 0xbb, 0x17, 0xd4, 0xde, 0xec, 0xe4, 0x94, 0xb0, 0x6c, 0x9a, + 0x89, 0x07, 0xe2, 0x4b, 0x20, 0x0b, 0x73, 0xe2, 0x57, 0xe9, 0xfc, 0x2b, 0x74, 0x3b, 0x37, 0x9b, + 0xe0, 0x76, 0x6e, 0x6e, 0x28, 0xb7, 0x73, 0x83, 0xa6, 0xc4, 0xf7, 0x92, 0xa7, 0xc4, 0x37, 0x83, + 0x94, 0x98, 0x20, 0xd9, 0x29, 0x7b, 0x20, 0x1d, 0x0c, 0xd8, 0xac, 0xd8, 0xa5, 0x70, 0xc5, 0x1e, + 0x59, 0x04, 0x8e, 0x47, 0x17, 0x81, 0xca, 0xcf, 0xc7, 0x41, 0x21, 0xfe, 0x98, 0x74, 0x34, 0xf9, + 0x75, 0x0f, 0xcc, 0xb5, 0x9c, 0xea, 0x62, 0xbd, 0xaf, 0xcb, 0xf4, 0x59, 0x12, 0x92, 0x13, 0xeb, + 0xa8, 0xac, 0x26, 0x57, 0xf8, 0xf5, 0x40, 0xe1, 0xf1, 0x13, 0x57, 0xfe, 0x25, 0x81, 0x0b, 0x31, + 0x47, 0xe5, 0x03, 0x2b, 0xa6, 0x02, 0x66, 0x5a, 0xcf, 0xf0, 0xc5, 0x2d, 0xe1, 0x1b, 0xf1, 0xf7, + 0x72, 0x21, 0x11, 0xd4, 0xe9, 0x96, 0x53, 0xfa, 0xf2, 0xfd, 0xe4, 0xb3, 0xbf, 0x12, 0xcc, 0x3e, + 0x66, 0x6a, 0xca, 0x6f, 0x53, 0xe0, 0x5a, 0xb2, 0x4b, 0x8b, 0x57, 0x2f, 0x2d, 0xfe, 0xf7, 0x5e, + 0x5a, 0x74, 0x3b, 0x8f, 0x48, 0xf7, 0x7f, 0x1e, 0x01, 0xba, 0x9f, 0x47, 0x44, 0xa5, 0x88, 0xcc, + 0xe0, 0x29, 0xa2, 0x99, 0x2d, 0xb3, 0xe1, 0x6c, 0x79, 0xf6, 0x65, 0xee, 0x20, 0x7a, 0x99, 0xfb, + 0x42, 0xec, 0xdd, 0xb2, 0x38, 0x51, 0xfa, 0xbc, 0x97, 0xbb, 0xf2, 0xc3, 0xe4, 0x99, 0xa3, 0x14, + 0x77, 0x08, 0x10, 0xb5, 0x56, 0xfd, 0x46, 0x02, 0xb9, 0xa8, 0x89, 0x7a, 0x1b, 0x5a, 0x71, 0x1a, + 0xc7, 0x73, 0x86, 0xf8, 0x92, 0x97, 0x40, 0x2a, 0x38, 0x80, 0xe3, 0x19, 0x23, 0xf8, 0xee, 0xb6, + 0xf7, 0x9e, 0x48, 0xb8, 0xf7, 0x9e, 0x1c, 0x6c, 0xef, 0xad, 0xfc, 0x5e, 0x02, 0xd9, 0x16, 0xd9, + 0xdb, 0xce, 0x11, 0xa4, 0x9e, 0xe7, 0x08, 0xe3, 0x89, 0xcf, 0x11, 0x46, 0x3d, 0x97, 0x7f, 0x8e, + 0x83, 0xcb, 0x91, 0x77, 0xf6, 0x43, 0x3a, 0x9b, 0x79, 0x08, 0xa6, 0x83, 0xe7, 0x04, 0xac, 0x7a, + 0x9a, 0x60, 0x81, 0xf0, 0xa5, 0xbe, 0xdf, 0x10, 0xb0, 0x6a, 0x2a, 0xab, 0x87, 0xbe, 0xe4, 0x1a, + 0x78, 0x2d, 0xc0, 0x16, 0x4f, 0x17, 0x1c, 0xdb, 0x0e, 0x9e, 0xb4, 0x14, 0xe3, 0xc6, 0xf0, 0x61, + 0xf9, 0x20, 0x15, 0xdb, 0xae, 0xab, 0x0b, 0x7a, 0x07, 0x8d, 0x0c, 0x56, 0xb4, 0x25, 0x50, 0xa8, + 0xf2, 0xef, 0x89, 0x2e, 0x8a, 0x1f, 0xd2, 0x52, 0x3a, 0x4a, 0xc5, 0x37, 0xc0, 0x72, 0xa4, 0xe2, + 0x35, 0x68, 0x18, 0x98, 0x25, 0x80, 0x01, 0x4d, 0x70, 0x31, 0xc2, 0x04, 0xeb, 0x3e, 0xa6, 0xfc, + 0x18, 0x5c, 0x8a, 0x1e, 0x96, 0x3f, 0x77, 0xf0, 0x5f, 0x0f, 0xf5, 0x3b, 0xe8, 0x52, 0xc4, 0xa0, + 0xdc, 0x08, 0xc3, 0x34, 0x7f, 0x5b, 0x1e, 0xfc, 0x8e, 0x04, 0xe6, 0xfd, 0xf1, 0xb0, 0x45, 0x79, + 0xab, 0x7c, 0x1d, 0xcc, 0x42, 0x9d, 0x3f, 0xa3, 0x80, 0x86, 0xe1, 0x22, 0x42, 0x84, 0xd9, 0x67, + 0x04, 0x79, 0x9d, 0x53, 0xe5, 0x0d, 0x00, 0x2c, 0xf4, 0x44, 0x73, 0xbc, 0xbe, 0xa4, 0x9f, 0xc3, + 0xb2, 0xb4, 0x85, 0x9e, 0xb0, 0x11, 0x89, 0xf2, 0xa7, 0x71, 0xb0, 0xd6, 0x22, 0x6a, 0x05, 0xb1, + 0xcd, 0x1e, 0x6f, 0x1e, 0x92, 0x1b, 0xbe, 0x05, 0x16, 0x1d, 0x0e, 0xcb, 0x6c, 0x15, 0x5a, 0xe5, + 0x27, 0xd8, 0x2a, 0x9f, 0x73, 0xfc, 0x41, 0xed, 0x7a, 0x73, 0x99, 0xd7, 0x40, 0x2e, 0x30, 0x30, + 0xb6, 0x68, 0x60, 0x60, 0xee, 0x55, 0x37, 0xe3, 0x0c, 0xdc, 0xa1, 0x54, 0x55, 0x76, 0xdb, 0x49, + 0xa4, 0xfc, 0x8d, 0xe4, 0x76, 0xbd, 0x15, 0x6d, 0xd7, 0x18, 0x65, 0x29, 0x2f, 0x25, 0xb0, 0x10, + 0xf1, 0xb4, 0x65, 0x60, 0x25, 0x7e, 0x1d, 0xa4, 0x88, 0x7e, 0x8c, 0x8c, 0x46, 0x1d, 0x89, 0x30, + 0x4e, 0xfa, 0xaa, 0xa6, 0x2a, 0xba, 0xa9, 0x01, 0x40, 0xf9, 0xed, 0xe4, 0x53, 0xbf, 0x18, 0x4c, + 0x3d, 0x62, 0x36, 0xca, 0x87, 0xe3, 0x60, 0x99, 0x3d, 0x6c, 0xd9, 0xb4, 0x4d, 0xb3, 0x61, 0x61, + 0x7a, 0xea, 0x19, 0xb1, 0xea, 0x19, 0xf4, 0xcc, 0x33, 0x3e, 0x00, 0xe9, 0xf6, 0xf7, 0x92, 0x77, + 0xc4, 0xfb, 0xf5, 0x62, 0xcb, 0x53, 0xf5, 0xa6, 0xd4, 0xdd, 0x64, 0x50, 0x9b, 0x48, 0xe5, 0x6a, + 0xf2, 0xb9, 0xaf, 0xb5, 0x3e, 0xde, 0xe9, 0x8e, 0xaf, 0xfc, 0x6a, 0x1c, 0x14, 0xd7, 0xa9, 0x6d, + 0x62, 0x9d, 0x97, 0x3d, 0xf7, 0x5d, 0x83, 0x55, 0xf2, 0xf7, 0x1a, 0x75, 0x8a, 0x9d, 0x3a, 0x46, + 0xae, 0x6f, 0x85, 0x33, 0xab, 0x05, 0x81, 0x45, 0xff, 0x15, 0x14, 0x42, 0x9a, 0x19, 0x0c, 0xe0, + 0xeb, 0xa8, 0x94, 0xe0, 0xe5, 0x53, 0x58, 0x30, 0x35, 0x67, 0x76, 0x12, 0x49, 0xb9, 0x96, 0x5c, + 0x4d, 0x77, 0x02, 0x35, 0xf5, 0xa7, 0x82, 0x1b, 0x4f, 0x41, 0x36, 0xfc, 0xaa, 0x57, 0xbe, 0x0d, + 0x72, 0xdb, 0xef, 0x6f, 0xbe, 0xb3, 0xbe, 0xf7, 0xf6, 0xb6, 0x76, 0xb0, 0x57, 0xad, 0x6c, 0x6f, + 0xee, 0xee, 0xec, 0x6e, 0x6f, 0xcd, 0x8d, 0x2d, 0xe5, 0x9f, 0x3d, 0x5f, 0x89, 0x6c, 0x93, 0x65, + 0x30, 0x59, 0xad, 0xdc, 0xdf, 0x9f, 0x93, 0x96, 0x52, 0xcf, 0x9e, 0xaf, 0xb0, 0xdf, 0x9e, 0x12, + 0xb7, 0xb6, 0xd5, 0xdd, 0x77, 0xd7, 0xf7, 0x77, 0xdf, 0xdd, 0xae, 0xce, 0x8d, 0x2f, 0xcd, 0x3e, + 0x7b, 0xbe, 0x12, 0x26, 0x6d, 0x1c, 0x7f, 0xfc, 0xa2, 0x20, 0x7d, 0xfa, 0xa2, 0x20, 0xfd, 0xf5, + 0x45, 0x41, 0xfa, 0xc1, 0xcb, 0xc2, 0xd8, 0xa7, 0x2f, 0x0b, 0x63, 0x7f, 0x7e, 0x59, 0x18, 0x7b, + 0xb8, 0x77, 0x84, 0xe9, 0x71, 0xa3, 0x56, 0xd4, 0x6d, 0xb3, 0xb4, 0xeb, 0x2b, 0xf2, 0x2e, 0xac, + 0x91, 0x52, 0xa0, 0xd6, 0x9b, 0xba, 0xed, 0xa2, 0xf0, 0xe7, 0x31, 0xc4, 0x56, 0xc9, 0xb4, 0xbd, + 0xb9, 0x91, 0x66, 0x35, 0xec, 0xd5, 0x64, 0xa4, 0x36, 0xc5, 0xfe, 0x32, 0xe1, 0x8b, 0xff, 0x09, + 0x00, 0x00, 0xff, 0xff, 0x16, 0x7b, 0x31, 0x71, 0xe1, 0x31, 0x00, 0x00, } func (m *SpotMarketParamUpdateProposal) Marshal() (dAtA []byte, err error) { @@ -1296,6 +1397,37 @@ func (m *SpotMarketParamUpdateProposal) MarshalToSizedBuffer(dAtA []byte) (int, _ = i var l int _ = l + if m.AdminInfo != nil { + { + size, err := m.AdminInfo.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x62 + } + if m.MinNotional != nil { + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x5a + } + if len(m.Ticker) > 0 { + i -= len(m.Ticker) + copy(dAtA[i:], m.Ticker) + i = encodeVarintProposal(dAtA, i, uint64(len(m.Ticker))) + i-- + dAtA[i] = 0x52 + } if m.Status != 0 { i = encodeVarintProposal(dAtA, i, uint64(m.Status)) i-- @@ -1632,6 +1764,28 @@ func (m *SpotMarketLaunchProposal) MarshalToSizedBuffer(dAtA []byte) (int, error _ = i var l int _ = l + if m.AdminInfo != nil { + { + size, err := m.AdminInfo.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x5a + } + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x52 if m.TakerFeeRate != nil { { size := m.TakerFeeRate.Size() @@ -1734,6 +1888,30 @@ func (m *PerpetualMarketLaunchProposal) MarshalToSizedBuffer(dAtA []byte) (int, _ = i var l int _ = l + if m.AdminInfo != nil { + { + size, err := m.AdminInfo.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x7a { size := m.MinQuantityTickSize.Size() i -= size @@ -1869,6 +2047,25 @@ func (m *BinaryOptionsMarketLaunchProposal) MarshalToSizedBuffer(dAtA []byte) (i _ = i var l int _ = l + if m.AdminPermissions != 0 { + i = encodeVarintProposal(dAtA, i, uint64(m.AdminPermissions)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x88 + } + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 { size := m.MinQuantityTickSize.Size() i -= size @@ -2001,6 +2198,32 @@ func (m *ExpiryFuturesMarketLaunchProposal) MarshalToSizedBuffer(dAtA []byte) (i _ = i var l int _ = l + if m.AdminInfo != nil { + { + size, err := m.AdminInfo.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 { size := m.MinQuantityTickSize.Size() i -= size @@ -2141,6 +2364,41 @@ func (m *DerivativeMarketParamUpdateProposal) MarshalToSizedBuffer(dAtA []byte) _ = i var l int _ = l + if m.AdminInfo != nil { + { + size, err := m.AdminInfo.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + if m.MinNotional != nil { + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + if len(m.Ticker) > 0 { + i -= len(m.Ticker) + copy(dAtA[i:], m.Ticker) + i = encodeVarintProposal(dAtA, i, uint64(len(m.Ticker))) + i-- + dAtA[i] = 0x7a + } if m.OracleParams != nil { { size, err := m.OracleParams.MarshalToSizedBuffer(dAtA[:i]) @@ -2290,6 +2548,41 @@ func (m *DerivativeMarketParamUpdateProposal) MarshalToSizedBuffer(dAtA []byte) return len(dAtA) - i, nil } +func (m *AdminInfo) 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 *AdminInfo) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *AdminInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.AdminPermissions != 0 { + i = encodeVarintProposal(dAtA, i, uint64(m.AdminPermissions)) + i-- + dAtA[i] = 0x10 + } + if len(m.Admin) > 0 { + i -= len(m.Admin) + copy(dAtA[i:], m.Admin) + i = encodeVarintProposal(dAtA, i, uint64(len(m.Admin))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *MarketForcedSettlementProposal) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -2417,6 +2710,27 @@ func (m *BinaryOptionsMarketParamUpdateProposal) MarshalToSizedBuffer(dAtA []byt _ = i var l int _ = l + if m.MinNotional != nil { + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintProposal(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + if len(m.Ticker) > 0 { + i -= len(m.Ticker) + copy(dAtA[i:], m.Ticker) + i = encodeVarintProposal(dAtA, i, uint64(len(m.Ticker))) + i-- + dAtA[i] = 0x7a + } if m.OracleParams != nil { { size, err := m.OracleParams.MarshalToSizedBuffer(dAtA[:i]) @@ -3080,6 +3394,18 @@ func (m *SpotMarketParamUpdateProposal) Size() (n int) { if m.Status != 0 { n += 1 + sovProposal(uint64(m.Status)) } + l = len(m.Ticker) + if l > 0 { + n += 1 + l + sovProposal(uint64(l)) + } + if m.MinNotional != nil { + l = m.MinNotional.Size() + n += 1 + l + sovProposal(uint64(l)) + } + if m.AdminInfo != nil { + l = m.AdminInfo.Size() + n += 1 + l + sovProposal(uint64(l)) + } return n } @@ -3218,6 +3544,12 @@ func (m *SpotMarketLaunchProposal) Size() (n int) { l = m.TakerFeeRate.Size() n += 1 + l + sovProposal(uint64(l)) } + l = m.MinNotional.Size() + n += 1 + l + sovProposal(uint64(l)) + if m.AdminInfo != nil { + l = m.AdminInfo.Size() + n += 1 + l + sovProposal(uint64(l)) + } return n } @@ -3269,6 +3601,12 @@ func (m *PerpetualMarketLaunchProposal) Size() (n int) { n += 1 + l + sovProposal(uint64(l)) l = m.MinQuantityTickSize.Size() n += 1 + l + sovProposal(uint64(l)) + l = m.MinNotional.Size() + n += 1 + l + sovProposal(uint64(l)) + if m.AdminInfo != nil { + l = m.AdminInfo.Size() + n += 2 + l + sovProposal(uint64(l)) + } return n } @@ -3326,6 +3664,11 @@ func (m *BinaryOptionsMarketLaunchProposal) Size() (n int) { n += 1 + l + sovProposal(uint64(l)) l = m.MinQuantityTickSize.Size() n += 1 + l + sovProposal(uint64(l)) + l = m.MinNotional.Size() + n += 2 + l + sovProposal(uint64(l)) + if m.AdminPermissions != 0 { + n += 2 + sovProposal(uint64(m.AdminPermissions)) + } return n } @@ -3380,6 +3723,12 @@ func (m *ExpiryFuturesMarketLaunchProposal) Size() (n int) { n += 1 + l + sovProposal(uint64(l)) l = m.MinQuantityTickSize.Size() n += 1 + l + sovProposal(uint64(l)) + l = m.MinNotional.Size() + n += 2 + l + sovProposal(uint64(l)) + if m.AdminInfo != nil { + l = m.AdminInfo.Size() + n += 2 + l + sovProposal(uint64(l)) + } return n } @@ -3444,6 +3793,34 @@ func (m *DerivativeMarketParamUpdateProposal) Size() (n int) { l = m.OracleParams.Size() n += 1 + l + sovProposal(uint64(l)) } + l = len(m.Ticker) + if l > 0 { + n += 1 + l + sovProposal(uint64(l)) + } + if m.MinNotional != nil { + l = m.MinNotional.Size() + n += 2 + l + sovProposal(uint64(l)) + } + if m.AdminInfo != nil { + l = m.AdminInfo.Size() + n += 2 + l + sovProposal(uint64(l)) + } + return n +} + +func (m *AdminInfo) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Admin) + if l > 0 { + n += 1 + l + sovProposal(uint64(l)) + } + if m.AdminPermissions != 0 { + n += 1 + sovProposal(uint64(m.AdminPermissions)) + } return n } @@ -3554,6 +3931,14 @@ func (m *BinaryOptionsMarketParamUpdateProposal) Size() (n int) { l = m.OracleParams.Size() n += 1 + l + sovProposal(uint64(l)) } + l = len(m.Ticker) + if l > 0 { + n += 1 + l + sovProposal(uint64(l)) + } + if m.MinNotional != nil { + l = m.MinNotional.Size() + n += 2 + l + sovProposal(uint64(l)) + } return n } @@ -3932,7 +4317,7 @@ func (m *SpotMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MakerFeeRate = &v if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3968,7 +4353,7 @@ func (m *SpotMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TakerFeeRate = &v if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4004,7 +4389,7 @@ func (m *SpotMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.RelayerFeeShareRate = &v if err := m.RelayerFeeShareRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4040,7 +4425,7 @@ func (m *SpotMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MinPriceTickSize = &v if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4076,7 +4461,7 @@ func (m *SpotMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MinQuantityTickSize = &v if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -4101,8 +4486,112 @@ func (m *SpotMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { break } } - default: - iNdEx = preIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ticker", 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.Ticker = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", 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 + } + var v cosmossdk_io_math.LegacyDec + m.MinNotional = &v + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminInfo", 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 m.AdminInfo == nil { + m.AdminInfo = &AdminInfo{} + } + if err := m.AdminInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex skippy, err := skipProposal(dAtA[iNdEx:]) if err != nil { return err @@ -5036,7 +5525,7 @@ func (m *SpotMarketLaunchProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MakerFeeRate = &v if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -5072,12 +5561,82 @@ func (m *SpotMarketLaunchProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TakerFeeRate = &v if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", 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 + } + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminInfo", 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 m.AdminInfo == nil { + m.AdminInfo = &AdminInfo{} + } + if err := m.AdminInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipProposal(dAtA[iNdEx:]) @@ -5562,6 +6121,76 @@ func (m *PerpetualMarketLaunchProposal) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", 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 + } + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminInfo", 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 m.AdminInfo == nil { + m.AdminInfo = &AdminInfo{} + } + if err := m.AdminInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipProposal(dAtA[iNdEx:]) @@ -6048,19 +6677,72 @@ func (m *BinaryOptionsMarketLaunchProposal) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipProposal(dAtA[iNdEx:]) - if err != nil { - return err + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { + 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 } - if (iNdEx + skippy) > l { + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProposal + } + if postIndex > l { return io.ErrUnexpectedEOF } - iNdEx += skippy + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 17: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminPermissions", wireType) + } + m.AdminPermissions = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProposal + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AdminPermissions |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipProposal(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthProposal + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy } } @@ -6551,6 +7233,76 @@ func (m *ExpiryFuturesMarketLaunchProposal) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", 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 + } + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminInfo", 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 m.AdminInfo == nil { + m.AdminInfo = &AdminInfo{} + } + if err := m.AdminInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipProposal(dAtA[iNdEx:]) @@ -6727,7 +7479,7 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.InitialMarginRatio = &v if err := m.InitialMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6763,7 +7515,7 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MaintenanceMarginRatio = &v if err := m.MaintenanceMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6799,7 +7551,7 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MakerFeeRate = &v if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6835,7 +7587,7 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TakerFeeRate = &v if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6871,7 +7623,7 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.RelayerFeeShareRate = &v if err := m.RelayerFeeShareRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6907,7 +7659,7 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MinPriceTickSize = &v if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6943,7 +7695,7 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MinQuantityTickSize = &v if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6979,7 +7731,7 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.HourlyInterestRate = &v if err := m.HourlyInterestRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7015,7 +7767,7 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.HourlyFundingRateCap = &v if err := m.HourlyFundingRateCap.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7076,6 +7828,211 @@ func (m *DerivativeMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ticker", 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.Ticker = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", 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 + } + var v cosmossdk_io_math.LegacyDec + m.MinNotional = &v + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminInfo", 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 m.AdminInfo == nil { + m.AdminInfo = &AdminInfo{} + } + if err := m.AdminInfo.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) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthProposal + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AdminInfo) 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: AdminInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AdminInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Admin", 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.Admin = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminPermissions", wireType) + } + m.AdminPermissions = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProposal + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AdminPermissions |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipProposal(dAtA[iNdEx:]) @@ -7252,7 +8209,7 @@ func (m *MarketForcedSettlementProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.SettlementPrice = &v if err := m.SettlementPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7582,7 +8539,7 @@ func (m *BinaryOptionsMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MakerFeeRate = &v if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7618,7 +8575,7 @@ func (m *BinaryOptionsMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.TakerFeeRate = &v if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7654,7 +8611,7 @@ func (m *BinaryOptionsMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.RelayerFeeShareRate = &v if err := m.RelayerFeeShareRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7690,7 +8647,7 @@ func (m *BinaryOptionsMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MinPriceTickSize = &v if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7726,7 +8683,7 @@ func (m *BinaryOptionsMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MinQuantityTickSize = &v if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7800,7 +8757,7 @@ func (m *BinaryOptionsMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.SettlementPrice = &v if err := m.SettlementPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7893,6 +8850,74 @@ func (m *BinaryOptionsMarketParamUpdateProposal) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ticker", 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.Ticker = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", 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 + } + var v cosmossdk_io_math.LegacyDec + m.MinNotional = &v + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipProposal(dAtA[iNdEx:]) diff --git a/chain/exchange/types/query.pb.go b/chain/exchange/types/query.pb.go index b4111c76..865c480d 100644 --- a/chain/exchange/types/query.pb.go +++ b/chain/exchange/types/query.pb.go @@ -5,9 +5,9 @@ package types import ( context "context" + cosmossdk_io_math "cosmossdk.io/math" 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/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -1450,11 +1450,11 @@ func (m *QuerySpotMarketResponse) GetMarket() *SpotMarket { // 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"` - 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"` + 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 *cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=limit_cumulative_notional,json=limitCumulativeNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"limit_cumulative_notional,omitempty"` + LimitCumulativeQuantity *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=limit_cumulative_quantity,json=limitCumulativeQuantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"limit_cumulative_quantity,omitempty"` } func (m *QuerySpotOrderbookRequest) Reset() { *m = QuerySpotOrderbookRequest{} } @@ -2059,14 +2059,15 @@ func (m *QueryAccountAddressSpotOrdersRequest) GetAccountAddress() string { 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"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` // quantity of the order - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` // the amount of the quantity remaining fillable - Fillable github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=fillable,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fillable"` + Fillable cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=fillable,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fillable"` // true if the order is a buy IsBuy bool `protobuf:"varint,4,opt,name=isBuy,proto3" json:"isBuy,omitempty"` OrderHash string `protobuf:"bytes,5,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + Cid string `protobuf:"bytes,6,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *TrimmedSpotLimitOrder) Reset() { *m = TrimmedSpotLimitOrder{} } @@ -2116,6 +2117,13 @@ func (m *TrimmedSpotLimitOrder) GetOrderHash() string { return "" } +func (m *TrimmedSpotLimitOrder) GetCid() string { + if m != nil { + return m.Cid + } + return "" +} + // QueryTraderSpotOrdersResponse is the response type for the // Query/TraderSpotOrders RPC method. type QueryTraderSpotOrdersResponse struct { @@ -2259,11 +2267,11 @@ func (m *QuerySpotMidPriceAndTOBRequest) GetMarketId() string { // 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"` + MidPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=mid_price,json=midPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + BestBuyPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=best_buy_price,json=bestBuyPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + BestSellPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=best_sell_price,json=bestSellPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"best_sell_price,omitempty"` } func (m *QuerySpotMidPriceAndTOBResponse) Reset() { *m = QuerySpotMidPriceAndTOBResponse{} } @@ -2350,11 +2358,11 @@ func (m *QueryDerivativeMidPriceAndTOBRequest) GetMarketId() string { // 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"` + MidPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=mid_price,json=midPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + BestBuyPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=best_buy_price,json=bestBuyPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + BestSellPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=best_sell_price,json=bestSellPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"best_sell_price,omitempty"` } func (m *QueryDerivativeMidPriceAndTOBResponse) Reset() { *m = QueryDerivativeMidPriceAndTOBResponse{} } @@ -2394,9 +2402,9 @@ var xxx_messageInfo_QueryDerivativeMidPriceAndTOBResponse proto.InternalMessageI // 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"` - 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"` + 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 *cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=limit_cumulative_notional,json=limitCumulativeNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"limit_cumulative_notional,omitempty"` } func (m *QueryDerivativeOrderbookRequest) Reset() { *m = QueryDerivativeOrderbookRequest{} } @@ -2508,14 +2516,14 @@ type QueryTraderSpotOrdersToCancelUpToAmountRequest struct { // SubaccountID of the trader SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` // the base amount to cancel (free up) - BaseAmount github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=base_amount,json=baseAmount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"base_amount"` + BaseAmount cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=base_amount,json=baseAmount,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"base_amount"` // the quote amount to cancel (free up) - 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"` + QuoteAmount cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=quote_amount,json=quoteAmount,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 - 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"` + ReferencePrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=reference_price,json=referencePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"reference_price,omitempty"` } func (m *QueryTraderSpotOrdersToCancelUpToAmountRequest) Reset() { @@ -2584,12 +2592,12 @@ type QueryTraderDerivativeOrdersToCancelUpToAmountRequest struct { // SubaccountID of the trader SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` // the quote amount to cancel (free up) - 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"` + QuoteAmount cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=quote_amount,json=quoteAmount,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 - 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"` + ReferencePrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=reference_price,json=referencePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"reference_price,omitempty"` } func (m *QueryTraderDerivativeOrdersToCancelUpToAmountRequest) Reset() { @@ -2768,16 +2776,17 @@ func (m *QueryAccountAddressDerivativeOrdersRequest) GetAccountAddress() string 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"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` // quantity of the order - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` // margin of the order - Margin github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=margin,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"margin"` + Margin cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=margin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin"` // the amount of the quantity remaining fillable - Fillable github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=fillable,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fillable"` + Fillable cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=fillable,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fillable"` // true if the order is a buy IsBuy bool `protobuf:"varint,5,opt,name=isBuy,proto3" json:"isBuy"` OrderHash string `protobuf:"bytes,6,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + Cid string `protobuf:"bytes,7,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *TrimmedDerivativeLimitOrder) Reset() { *m = TrimmedDerivativeLimitOrder{} } @@ -2827,6 +2836,13 @@ func (m *TrimmedDerivativeLimitOrder) GetOrderHash() string { return "" } +func (m *TrimmedDerivativeLimitOrder) GetCid() string { + if m != nil { + return m.Cid + } + return "" +} + // QueryTraderDerivativeOrdersResponse is the response type for the // Query/TraderDerivativeOrders RPC method. type QueryTraderDerivativeOrdersResponse struct { @@ -3101,9 +3117,9 @@ func (m *QueryDerivativeMarketsRequest) GetWithMidPriceAndTob() bool { } 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"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` // quantity - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` } func (m *PriceLevel) Reset() { *m = PriceLevel{} } @@ -3196,8 +3212,8 @@ type FullDerivativeMarket struct { // Types that are valid to be assigned to Info: // *FullDerivativeMarket_PerpetualInfo // *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"` + Info isFullDerivativeMarket_Info `protobuf_oneof:"info"` + MarkPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=mark_price,json=markPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` @@ -3884,10 +3900,10 @@ func (m *QuerySubaccountPositionInMarketResponse) GetState() *Position { } type EffectivePosition struct { - IsLong bool `protobuf:"varint,1,opt,name=is_long,json=isLong,proto3" json:"is_long,omitempty"` - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` - EntryPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=entry_price,json=entryPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"entry_price"` - EffectiveMargin github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=effective_margin,json=effectiveMargin,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"effective_margin"` + IsLong bool `protobuf:"varint,1,opt,name=is_long,json=isLong,proto3" json:"is_long,omitempty"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` + EntryPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=entry_price,json=entryPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"entry_price"` + EffectiveMargin cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=effective_margin,json=effectiveMargin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"effective_margin"` } func (m *EffectivePosition) Reset() { *m = EffectivePosition{} } @@ -4572,7 +4588,7 @@ func (m *QueryTradeRewardPointsRequest) GetPendingPoolTimestamp() int64 { // 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"` + AccountTradeRewardPoints []cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,rep,name=account_trade_reward_points,json=accountTradeRewardPoints,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"account_trade_reward_points"` } func (m *QueryTradeRewardPointsResponse) Reset() { *m = QueryTradeRewardPointsResponse{} } @@ -4649,11 +4665,11 @@ var xxx_messageInfo_QueryTradeRewardCampaignRequest proto.InternalMessageInfo // 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"` - TotalTradeRewardPoints github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=total_trade_reward_points,json=totalTradeRewardPoints,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"total_trade_reward_points"` - PendingTradingRewardPoolCampaignSchedule []*CampaignRewardPool `protobuf:"bytes,4,rep,name=pending_trading_reward_pool_campaign_schedule,json=pendingTradingRewardPoolCampaignSchedule,proto3" json:"pending_trading_reward_pool_campaign_schedule,omitempty"` - PendingTotalTradeRewardPoints []github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,rep,name=pending_total_trade_reward_points,json=pendingTotalTradeRewardPoints,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"pending_total_trade_reward_points"` + 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"` + TotalTradeRewardPoints cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=total_trade_reward_points,json=totalTradeRewardPoints,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"total_trade_reward_points"` + PendingTradingRewardPoolCampaignSchedule []*CampaignRewardPool `protobuf:"bytes,4,rep,name=pending_trading_reward_pool_campaign_schedule,json=pendingTradingRewardPoolCampaignSchedule,proto3" json:"pending_trading_reward_pool_campaign_schedule,omitempty"` + PendingTotalTradeRewardPoints []cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,rep,name=pending_total_trade_reward_points,json=pendingTotalTradeRewardPoints,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"pending_total_trade_reward_points"` } func (m *QueryTradeRewardCampaignResponse) Reset() { *m = QueryTradeRewardCampaignResponse{} } @@ -5127,13 +5143,13 @@ func (m *QueryBalanceMismatchesRequest) GetDustFactor() int64 { } type BalanceMismatch struct { - SubaccountId string `protobuf:"bytes,1,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"` - Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` - Available github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=available,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"available"` - Total github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=total,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"total"` - BalanceHold github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=balance_hold,json=balanceHold,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"balance_hold"` - ExpectedTotal github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,opt,name=expected_total,json=expectedTotal,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"expected_total"` - Difference github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=difference,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"difference"` + SubaccountId string `protobuf:"bytes,1,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"` + Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` + Available cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=available,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"available"` + Total cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=total,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"total"` + BalanceHold cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=balance_hold,json=balanceHold,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"balance_hold"` + ExpectedTotal cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=expected_total,json=expectedTotal,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"expected_total"` + Difference cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=difference,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"difference"` } func (m *BalanceMismatch) Reset() { *m = BalanceMismatch{} } @@ -5268,11 +5284,11 @@ func (m *QueryBalanceWithBalanceHoldsRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryBalanceWithBalanceHoldsRequest proto.InternalMessageInfo type BalanceWithMarginHold struct { - SubaccountId string `protobuf:"bytes,1,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"` - Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` - Available github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=available,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"available"` - Total github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=total,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"total"` - BalanceHold github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=balance_hold,json=balanceHold,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"balance_hold"` + SubaccountId string `protobuf:"bytes,1,opt,name=subaccountId,proto3" json:"subaccountId,omitempty"` + Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` + Available cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=available,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"available"` + Total cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=total,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"total"` + BalanceHold cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=balance_hold,json=balanceHold,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"balance_hold"` } func (m *BalanceWithMarginHold) Reset() { *m = BalanceWithMarginHold{} } @@ -5929,9 +5945,9 @@ func (m *QueryMarketVolatilityRequest) GetTradeHistoryOptions() *TradeHistoryOpt // 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"` - RawHistory []*TradeRecord `protobuf:"bytes,3,rep,name=raw_history,json=rawHistory,proto3" json:"raw_history,omitempty"` + Volatility *cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=volatility,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"volatility,omitempty"` + HistoryMetadata *types.MetadataStatistics `protobuf:"bytes,2,opt,name=history_metadata,json=historyMetadata,proto3" json:"history_metadata,omitempty"` + RawHistory []*TradeRecord `protobuf:"bytes,3,rep,name=raw_history,json=rawHistory,proto3" json:"raw_history,omitempty"` } func (m *QueryMarketVolatilityResponse) Reset() { *m = QueryMarketVolatilityResponse{} } @@ -6134,17 +6150,18 @@ func (m *QueryTraderDerivativeConditionalOrdersRequest) GetMarketId() string { type TrimmedDerivativeConditionalOrder 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"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` // quantity of the order - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` // margin of the order - Margin github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=margin,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"margin"` + Margin cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=margin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin"` // price to trigger the order - TriggerPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=triggerPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"triggerPrice"` + TriggerPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=triggerPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"triggerPrice"` // true if the order is a buy IsBuy bool `protobuf:"varint,5,opt,name=isBuy,proto3" json:"isBuy"` IsLimit bool `protobuf:"varint,6,opt,name=isLimit,proto3" json:"isLimit"` OrderHash string `protobuf:"bytes,7,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + Cid string `protobuf:"bytes,8,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *TrimmedDerivativeConditionalOrder) Reset() { *m = TrimmedDerivativeConditionalOrder{} } @@ -6201,6 +6218,13 @@ func (m *TrimmedDerivativeConditionalOrder) GetOrderHash() string { return "" } +func (m *TrimmedDerivativeConditionalOrder) GetCid() string { + if m != nil { + return m.Cid + } + return "" +} + // QueryTraderDerivativeOrdersResponse is the response type for the // Query/TraderDerivativeOrders RPC method. type QueryTraderDerivativeConditionalOrdersResponse struct { @@ -6300,7 +6324,7 @@ func (m *QueryMarketAtomicExecutionFeeMultiplierRequest) GetMarketId() string { } type QueryMarketAtomicExecutionFeeMultiplierResponse struct { - Multiplier github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=multiplier,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"multiplier"` + Multiplier cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=multiplier,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"multiplier"` } func (m *QueryMarketAtomicExecutionFeeMultiplierResponse) Reset() { @@ -6340,6 +6364,280 @@ func (m *QueryMarketAtomicExecutionFeeMultiplierResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryMarketAtomicExecutionFeeMultiplierResponse proto.InternalMessageInfo +type QueryActiveStakeGrantRequest struct { + Grantee string `protobuf:"bytes,1,opt,name=grantee,proto3" json:"grantee,omitempty"` +} + +func (m *QueryActiveStakeGrantRequest) Reset() { *m = QueryActiveStakeGrantRequest{} } +func (m *QueryActiveStakeGrantRequest) String() string { return proto.CompactTextString(m) } +func (*QueryActiveStakeGrantRequest) ProtoMessage() {} +func (*QueryActiveStakeGrantRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{124} +} +func (m *QueryActiveStakeGrantRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryActiveStakeGrantRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryActiveStakeGrantRequest.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 *QueryActiveStakeGrantRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryActiveStakeGrantRequest.Merge(m, src) +} +func (m *QueryActiveStakeGrantRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryActiveStakeGrantRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryActiveStakeGrantRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryActiveStakeGrantRequest proto.InternalMessageInfo + +func (m *QueryActiveStakeGrantRequest) GetGrantee() string { + if m != nil { + return m.Grantee + } + return "" +} + +type QueryActiveStakeGrantResponse struct { + Grant *ActiveGrant `protobuf:"bytes,1,opt,name=grant,proto3" json:"grant,omitempty"` + EffectiveGrant *EffectiveGrant `protobuf:"bytes,2,opt,name=effective_grant,json=effectiveGrant,proto3" json:"effective_grant,omitempty"` +} + +func (m *QueryActiveStakeGrantResponse) Reset() { *m = QueryActiveStakeGrantResponse{} } +func (m *QueryActiveStakeGrantResponse) String() string { return proto.CompactTextString(m) } +func (*QueryActiveStakeGrantResponse) ProtoMessage() {} +func (*QueryActiveStakeGrantResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{125} +} +func (m *QueryActiveStakeGrantResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryActiveStakeGrantResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryActiveStakeGrantResponse.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 *QueryActiveStakeGrantResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryActiveStakeGrantResponse.Merge(m, src) +} +func (m *QueryActiveStakeGrantResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryActiveStakeGrantResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryActiveStakeGrantResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryActiveStakeGrantResponse proto.InternalMessageInfo + +func (m *QueryActiveStakeGrantResponse) GetGrant() *ActiveGrant { + if m != nil { + return m.Grant + } + return nil +} + +func (m *QueryActiveStakeGrantResponse) GetEffectiveGrant() *EffectiveGrant { + if m != nil { + return m.EffectiveGrant + } + return nil +} + +type QueryGrantAuthorizationRequest struct { + Granter string `protobuf:"bytes,1,opt,name=granter,proto3" json:"granter,omitempty"` + Grantee string `protobuf:"bytes,2,opt,name=grantee,proto3" json:"grantee,omitempty"` +} + +func (m *QueryGrantAuthorizationRequest) Reset() { *m = QueryGrantAuthorizationRequest{} } +func (m *QueryGrantAuthorizationRequest) String() string { return proto.CompactTextString(m) } +func (*QueryGrantAuthorizationRequest) ProtoMessage() {} +func (*QueryGrantAuthorizationRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{126} +} +func (m *QueryGrantAuthorizationRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryGrantAuthorizationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryGrantAuthorizationRequest.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 *QueryGrantAuthorizationRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryGrantAuthorizationRequest.Merge(m, src) +} +func (m *QueryGrantAuthorizationRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryGrantAuthorizationRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryGrantAuthorizationRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryGrantAuthorizationRequest proto.InternalMessageInfo + +func (m *QueryGrantAuthorizationRequest) GetGranter() string { + if m != nil { + return m.Granter + } + return "" +} + +func (m *QueryGrantAuthorizationRequest) GetGrantee() string { + if m != nil { + return m.Grantee + } + return "" +} + +type QueryGrantAuthorizationResponse struct { + Amount cosmossdk_io_math.Int `protobuf:"bytes,1,opt,name=amount,proto3,customtype=cosmossdk.io/math.Int" json:"amount"` +} + +func (m *QueryGrantAuthorizationResponse) Reset() { *m = QueryGrantAuthorizationResponse{} } +func (m *QueryGrantAuthorizationResponse) String() string { return proto.CompactTextString(m) } +func (*QueryGrantAuthorizationResponse) ProtoMessage() {} +func (*QueryGrantAuthorizationResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{127} +} +func (m *QueryGrantAuthorizationResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryGrantAuthorizationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryGrantAuthorizationResponse.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 *QueryGrantAuthorizationResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryGrantAuthorizationResponse.Merge(m, src) +} +func (m *QueryGrantAuthorizationResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryGrantAuthorizationResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryGrantAuthorizationResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryGrantAuthorizationResponse proto.InternalMessageInfo + +type QueryGrantAuthorizationsRequest struct { + Granter string `protobuf:"bytes,1,opt,name=granter,proto3" json:"granter,omitempty"` +} + +func (m *QueryGrantAuthorizationsRequest) Reset() { *m = QueryGrantAuthorizationsRequest{} } +func (m *QueryGrantAuthorizationsRequest) String() string { return proto.CompactTextString(m) } +func (*QueryGrantAuthorizationsRequest) ProtoMessage() {} +func (*QueryGrantAuthorizationsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{128} +} +func (m *QueryGrantAuthorizationsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryGrantAuthorizationsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryGrantAuthorizationsRequest.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 *QueryGrantAuthorizationsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryGrantAuthorizationsRequest.Merge(m, src) +} +func (m *QueryGrantAuthorizationsRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryGrantAuthorizationsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryGrantAuthorizationsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryGrantAuthorizationsRequest proto.InternalMessageInfo + +func (m *QueryGrantAuthorizationsRequest) GetGranter() string { + if m != nil { + return m.Granter + } + return "" +} + +type QueryGrantAuthorizationsResponse struct { + TotalGrantAmount cosmossdk_io_math.Int `protobuf:"bytes,1,opt,name=total_grant_amount,json=totalGrantAmount,proto3,customtype=cosmossdk.io/math.Int" json:"total_grant_amount"` + Grants []*GrantAuthorization `protobuf:"bytes,2,rep,name=grants,proto3" json:"grants,omitempty"` +} + +func (m *QueryGrantAuthorizationsResponse) Reset() { *m = QueryGrantAuthorizationsResponse{} } +func (m *QueryGrantAuthorizationsResponse) String() string { return proto.CompactTextString(m) } +func (*QueryGrantAuthorizationsResponse) ProtoMessage() {} +func (*QueryGrantAuthorizationsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_523db28b8af54781, []int{129} +} +func (m *QueryGrantAuthorizationsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryGrantAuthorizationsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryGrantAuthorizationsResponse.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 *QueryGrantAuthorizationsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryGrantAuthorizationsResponse.Merge(m, src) +} +func (m *QueryGrantAuthorizationsResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryGrantAuthorizationsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryGrantAuthorizationsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryGrantAuthorizationsResponse proto.InternalMessageInfo + +func (m *QueryGrantAuthorizationsResponse) GetGrants() []*GrantAuthorization { + if m != nil { + return m.Grants + } + return nil +} + func init() { proto.RegisterEnum("injective.exchange.v1beta1.OrderSide", OrderSide_name, OrderSide_value) proto.RegisterEnum("injective.exchange.v1beta1.CancellationStrategy", CancellationStrategy_name, CancellationStrategy_value) @@ -6468,6 +6766,12 @@ func init() { proto.RegisterType((*QueryTraderDerivativeConditionalOrdersResponse)(nil), "injective.exchange.v1beta1.QueryTraderDerivativeConditionalOrdersResponse") proto.RegisterType((*QueryMarketAtomicExecutionFeeMultiplierRequest)(nil), "injective.exchange.v1beta1.QueryMarketAtomicExecutionFeeMultiplierRequest") proto.RegisterType((*QueryMarketAtomicExecutionFeeMultiplierResponse)(nil), "injective.exchange.v1beta1.QueryMarketAtomicExecutionFeeMultiplierResponse") + proto.RegisterType((*QueryActiveStakeGrantRequest)(nil), "injective.exchange.v1beta1.QueryActiveStakeGrantRequest") + proto.RegisterType((*QueryActiveStakeGrantResponse)(nil), "injective.exchange.v1beta1.QueryActiveStakeGrantResponse") + proto.RegisterType((*QueryGrantAuthorizationRequest)(nil), "injective.exchange.v1beta1.QueryGrantAuthorizationRequest") + proto.RegisterType((*QueryGrantAuthorizationResponse)(nil), "injective.exchange.v1beta1.QueryGrantAuthorizationResponse") + proto.RegisterType((*QueryGrantAuthorizationsRequest)(nil), "injective.exchange.v1beta1.QueryGrantAuthorizationsRequest") + proto.RegisterType((*QueryGrantAuthorizationsResponse)(nil), "injective.exchange.v1beta1.QueryGrantAuthorizationsResponse") } func init() { @@ -6475,355 +6779,372 @@ func init() { } var fileDescriptor_523db28b8af54781 = []byte{ - // 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, + // 5833 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5d, 0x7d, 0x8c, 0x1c, 0xc9, + 0x55, 0x77, 0xcf, 0x7e, 0x78, 0xf7, 0xed, 0xa7, 0x6b, 0xd7, 0xeb, 0xf5, 0xdc, 0x9d, 0x3f, 0xda, + 0x71, 0xce, 0xe7, 0x9c, 0x77, 0xed, 0xf5, 0xf7, 0xb7, 0xf7, 0xc3, 0x6b, 0xef, 0xd9, 0x6b, 0x3b, + 0xb3, 0xeb, 0xbb, 0xe4, 0x02, 0x4c, 0x7a, 0x67, 0x6a, 0x67, 0x3b, 0xee, 0x99, 0x1e, 0x4f, 0xf7, + 0xec, 0x79, 0x31, 0x46, 0x40, 0x40, 0x89, 0x40, 0x02, 0xa4, 0x08, 0x10, 0x02, 0x21, 0xe0, 0x4f, + 0xa4, 0x08, 0x89, 0x08, 0x81, 0x12, 0x29, 0x51, 0x08, 0x42, 0x21, 0xe1, 0x23, 0x40, 0x08, 0x28, + 0x82, 0x23, 0xba, 0x0b, 0x44, 0x39, 0x81, 0xc4, 0x5f, 0x48, 0x08, 0x14, 0x50, 0x57, 0xbd, 0xaa, + 0xe9, 0xef, 0xa9, 0x9e, 0xdd, 0xd3, 0x25, 0xf0, 0xd7, 0x4e, 0x57, 0xd7, 0x7b, 0xf5, 0xde, 0xab, + 0x57, 0xaf, 0x5e, 0x7d, 0xfc, 0x7a, 0xe1, 0xfd, 0x66, 0xed, 0x63, 0xb4, 0xe4, 0x9a, 0x9b, 0x74, + 0x9a, 0x3e, 0x29, 0x6d, 0x18, 0xb5, 0x0a, 0x9d, 0xde, 0x3c, 0xb5, 0x46, 0x5d, 0xe3, 0xd4, 0xf4, + 0xe3, 0x26, 0x6d, 0x6c, 0x4d, 0xd5, 0x1b, 0xb6, 0x6b, 0x93, 0xbc, 0xac, 0x37, 0x25, 0xea, 0x4d, + 0x61, 0xbd, 0xfc, 0xf3, 0x15, 0xdb, 0xae, 0x58, 0x74, 0xda, 0xa8, 0x9b, 0xd3, 0x46, 0xad, 0x66, + 0xbb, 0x86, 0x6b, 0xda, 0x35, 0x87, 0x53, 0xe6, 0x5f, 0x4a, 0x69, 0x41, 0xb2, 0xe2, 0x55, 0x8f, + 0xa5, 0x54, 0xad, 0xd0, 0x1a, 0x75, 0x4c, 0xc1, 0xf4, 0x68, 0xab, 0xa6, 0xdd, 0x30, 0x4a, 0x56, + 0xab, 0x1e, 0x7f, 0xc4, 0x6a, 0xe3, 0x15, 0xbb, 0x62, 0xb3, 0x9f, 0xd3, 0xde, 0x2f, 0x5e, 0xaa, + 0xdf, 0x07, 0x58, 0x69, 0xae, 0x19, 0xa5, 0x92, 0xdd, 0xac, 0xb9, 0x64, 0x02, 0x7a, 0xdd, 0x86, + 0x51, 0xa6, 0x8d, 0x49, 0xed, 0x90, 0x76, 0xac, 0xbf, 0x80, 0x4f, 0xe4, 0x25, 0x18, 0x75, 0x64, + 0xad, 0x62, 0xcd, 0xae, 0x95, 0xe8, 0x64, 0xee, 0x90, 0x76, 0x6c, 0xa8, 0x30, 0xd2, 0x2a, 0xbf, + 0xe7, 0x15, 0xeb, 0x1f, 0x85, 0xe7, 0x3f, 0xe8, 0xd9, 0xaa, 0xc5, 0xf5, 0x7e, 0xa3, 0x4c, 0x1b, + 0x4e, 0x81, 0x3e, 0x6e, 0x52, 0xc7, 0x25, 0x47, 0x60, 0xc8, 0xc7, 0xca, 0x2c, 0x63, 0x4b, 0x83, + 0xad, 0xc2, 0xa5, 0x32, 0x79, 0x0e, 0xfa, 0xab, 0x46, 0xe3, 0x11, 0x65, 0x15, 0x72, 0xac, 0x42, + 0x1f, 0x2f, 0x58, 0x2a, 0xeb, 0x5f, 0xd4, 0xe0, 0x85, 0x84, 0x26, 0x9c, 0xba, 0x5d, 0x73, 0x28, + 0xb9, 0x07, 0xb0, 0xd6, 0xdc, 0x2a, 0xda, 0xac, 0x74, 0x52, 0x3b, 0xd4, 0x75, 0x6c, 0x60, 0x66, + 0x7a, 0x2a, 0xb9, 0xd7, 0xa6, 0x42, 0x9c, 0x16, 0x0c, 0xd7, 0x28, 0xf4, 0xaf, 0x35, 0xb7, 0x38, + 0x5f, 0xf2, 0x00, 0x06, 0x1c, 0x6a, 0x59, 0x82, 0x61, 0xae, 0x33, 0x86, 0xe0, 0xf1, 0xe0, 0x1c, + 0xf5, 0xdf, 0xd5, 0xe0, 0x68, 0xa8, 0xce, 0x9a, 0x6d, 0x3f, 0x5a, 0xa6, 0xae, 0x51, 0x36, 0x5c, + 0xe3, 0x35, 0xd3, 0xdd, 0x58, 0x66, 0xfa, 0x92, 0x15, 0xe8, 0xab, 0x62, 0x29, 0x33, 0xd5, 0xc0, + 0xcc, 0xf9, 0x0c, 0x0d, 0xfb, 0x99, 0x16, 0x24, 0xa3, 0x54, 0xfb, 0x92, 0x71, 0xe8, 0x31, 0x9d, + 0xb9, 0xe6, 0xd6, 0x64, 0xd7, 0x21, 0xed, 0x58, 0x5f, 0x81, 0x3f, 0xe8, 0xcf, 0x43, 0x9e, 0x19, + 0xfd, 0x26, 0xb6, 0xf8, 0xc0, 0x68, 0x18, 0x55, 0xd1, 0xab, 0x7a, 0x11, 0x9e, 0x8b, 0x7d, 0x8b, + 0x1d, 0x72, 0x03, 0x7a, 0xeb, 0xac, 0x04, 0x55, 0xd0, 0xd3, 0x54, 0xe0, 0xb4, 0x73, 0xdd, 0x5f, + 0x7e, 0xf3, 0xe0, 0xae, 0x02, 0xd2, 0xe9, 0x9f, 0xd2, 0xe0, 0x40, 0xa8, 0xd3, 0x17, 0x68, 0xdd, + 0x76, 0x4c, 0x37, 0x9b, 0x67, 0xdd, 0x05, 0x68, 0x3d, 0x33, 0xd5, 0x07, 0x66, 0xde, 0xaf, 0x66, + 0x50, 0x26, 0x91, 0x56, 0xf0, 0xd1, 0xeb, 0xef, 0x68, 0x70, 0x30, 0x51, 0x2a, 0xd4, 0x9d, 0x42, + 0x5f, 0x19, 0xcb, 0xd0, 0x15, 0x97, 0xd2, 0xda, 0x6b, 0xc3, 0x6e, 0x4a, 0x14, 0xdc, 0xac, 0xb9, + 0x8d, 0xad, 0x82, 0x64, 0x9d, 0xff, 0x28, 0x0c, 0x05, 0x5e, 0x91, 0x51, 0xe8, 0x7a, 0x44, 0xb7, + 0xd0, 0x08, 0xde, 0x4f, 0x72, 0x11, 0x7a, 0x36, 0x0d, 0xab, 0x49, 0x51, 0xed, 0x23, 0x69, 0x62, + 0x20, 0xaf, 0x02, 0xa7, 0xb8, 0x94, 0xbb, 0xa0, 0xe9, 0x07, 0x70, 0x64, 0x8b, 0x3e, 0x9e, 0x33, + 0x2c, 0xa3, 0x56, 0xa2, 0xd2, 0x07, 0xd6, 0x71, 0x58, 0x46, 0xdf, 0xa3, 0x25, 0x6e, 0x42, 0xdf, + 0x1a, 0x96, 0xa1, 0x25, 0x52, 0x45, 0x40, 0x7a, 0x74, 0x04, 0x49, 0xaa, 0x9f, 0x47, 0x5f, 0x9b, + 0xad, 0x54, 0x1a, 0xb4, 0x62, 0xb8, 0xf4, 0x55, 0xdb, 0x6a, 0x56, 0xa9, 0x70, 0x83, 0x49, 0xd8, + 0x2d, 0xba, 0x97, 0xeb, 0x2e, 0x1e, 0xf5, 0x26, 0x2a, 0x10, 0x21, 0x44, 0xf9, 0x1e, 0xc2, 0x1e, + 0x43, 0xbc, 0x2a, 0x6e, 0xb2, 0x77, 0x42, 0xd0, 0x63, 0x69, 0x82, 0xf2, 0x91, 0x8a, 0xcc, 0x46, + 0x8d, 0x20, 0x77, 0x47, 0xff, 0x70, 0x7c, 0xb3, 0xd2, 0x6f, 0xf3, 0xd0, 0x87, 0x12, 0xf2, 0xd6, + 0xfa, 0x0b, 0xf2, 0x99, 0xbc, 0x00, 0x20, 0x07, 0x2a, 0x0f, 0x3c, 0xfd, 0x85, 0x7e, 0x31, 0x52, + 0x1d, 0xfd, 0x3f, 0x45, 0x28, 0x8c, 0xf2, 0x46, 0x9d, 0x5c, 0xd8, 0xdf, 0xd2, 0x49, 0x8c, 0x8d, + 0xa0, 0x6e, 0x17, 0xd2, 0x74, 0x93, 0x8c, 0x67, 0x39, 0xad, 0x30, 0x59, 0xc9, 0x6e, 0x94, 0x0b, + 0xfb, 0x8c, 0xd8, 0xb7, 0x0e, 0x59, 0x83, 0xc9, 0x56, 0xab, 0xa8, 0x80, 0x68, 0x34, 0x97, 0xd1, + 0xa0, 0x13, 0x92, 0x93, 0xbf, 0xd8, 0xd1, 0x6f, 0xc0, 0xe1, 0xa0, 0xea, 0x01, 0x2a, 0xb4, 0x6d, + 0x20, 0xd0, 0x69, 0xa1, 0x89, 0xc4, 0x02, 0x3d, 0x8d, 0x03, 0x5a, 0x70, 0x11, 0x7a, 0xb9, 0xe8, + 0x18, 0xbb, 0x52, 0x25, 0xf7, 0x9b, 0x47, 0x44, 0x30, 0x4e, 0xad, 0x9f, 0x84, 0x49, 0xd6, 0xda, + 0x02, 0xad, 0xd9, 0xd5, 0x05, 0x5a, 0x32, 0xab, 0x86, 0x25, 0xc4, 0x1c, 0x87, 0x9e, 0xb2, 0x57, + 0x8c, 0x22, 0xf2, 0x07, 0xfd, 0x2c, 0xec, 0x8f, 0xa1, 0x40, 0xb1, 0x26, 0x61, 0x77, 0x99, 0x17, + 0x31, 0xa2, 0xee, 0x82, 0x78, 0xd4, 0x4f, 0xc7, 0x90, 0x49, 0x67, 0x9b, 0x80, 0x5e, 0xc6, 0x5c, + 0xb8, 0x1a, 0x3e, 0xe9, 0x2e, 0x86, 0xf7, 0x10, 0x11, 0x36, 0xf6, 0x2a, 0x0c, 0xb3, 0x7a, 0x45, + 0x6c, 0x43, 0xb8, 0xce, 0x4b, 0xe9, 0x21, 0xc4, 0xc7, 0x0a, 0x8d, 0x31, 0x54, 0xf6, 0x17, 0xea, + 0xf3, 0x69, 0x3d, 0x20, 0x65, 0x0e, 0x0e, 0x02, 0x2d, 0x3c, 0x08, 0x4c, 0x38, 0x92, 0xca, 0x04, + 0x75, 0x98, 0x83, 0xdd, 0x9d, 0x8e, 0x69, 0x41, 0xa8, 0xbf, 0x1e, 0xc9, 0x3c, 0x44, 0x9c, 0xcc, + 0x32, 0x07, 0xc9, 0xde, 0xce, 0xf9, 0x7b, 0xdb, 0x48, 0x9a, 0xe0, 0xa4, 0x06, 0xd7, 0x03, 0x33, + 0x89, 0x72, 0x08, 0x97, 0x44, 0xfa, 0x03, 0xd8, 0xc7, 0x9b, 0xa8, 0xdb, 0x2e, 0x57, 0xd0, 0xef, + 0x17, 0x8e, 0x6b, 0xb8, 0x4d, 0x47, 0x64, 0x7e, 0xfc, 0xa9, 0x5d, 0x00, 0xfa, 0x21, 0x74, 0xea, + 0x00, 0x47, 0x39, 0xe9, 0xef, 0xe6, 0x15, 0x85, 0xc1, 0xd3, 0xe7, 0x59, 0xc9, 0xa1, 0x20, 0xc8, + 0xf4, 0xb3, 0x30, 0x11, 0xe2, 0xae, 0x34, 0xae, 0x3f, 0x1c, 0x51, 0x53, 0xca, 0x74, 0x0d, 0x7a, + 0x79, 0x35, 0x34, 0xa0, 0xaa, 0x48, 0x48, 0xa5, 0x7f, 0x23, 0x87, 0x83, 0xcb, 0x7b, 0x27, 0x33, + 0x2c, 0x15, 0xa9, 0xbc, 0x5e, 0xb7, 0xcc, 0xaa, 0xc9, 0x93, 0x8e, 0xee, 0x02, 0x7f, 0x20, 0x0b, + 0x00, 0x2c, 0xab, 0x2c, 0x3a, 0x66, 0x99, 0xb2, 0x8c, 0x6b, 0x78, 0xe6, 0x68, 0x9a, 0x50, 0xac, + 0xd1, 0x15, 0xb3, 0x4c, 0x0b, 0xfd, 0xb6, 0xf8, 0x49, 0x8a, 0xb0, 0x9f, 0xb1, 0x2b, 0x96, 0x9a, + 0xd5, 0xa6, 0x65, 0x78, 0x94, 0xc5, 0x9a, 0xed, 0xad, 0x3c, 0x0c, 0x6b, 0xb2, 0xdb, 0x13, 0x64, + 0xee, 0x88, 0x97, 0xbc, 0x7c, 0xf3, 0xcd, 0x83, 0xcf, 0x95, 0x6c, 0xa7, 0x6a, 0x3b, 0x4e, 0xf9, + 0xd1, 0x94, 0x69, 0x4f, 0x57, 0x0d, 0x77, 0x63, 0xea, 0x2e, 0xad, 0x18, 0xa5, 0xad, 0x05, 0x5a, + 0x2a, 0xec, 0x63, 0x5c, 0xe6, 0x25, 0x93, 0x7b, 0xc8, 0x23, 0xb6, 0x81, 0xc7, 0x4d, 0xa3, 0xe6, + 0x9a, 0xee, 0xd6, 0x64, 0x4f, 0xe7, 0x0d, 0x7c, 0x10, 0x79, 0xe8, 0x7f, 0xa8, 0x61, 0x00, 0x0a, + 0x19, 0x16, 0xfb, 0xed, 0x0e, 0x8c, 0xae, 0x35, 0xb7, 0x9c, 0x62, 0xbd, 0x61, 0x96, 0x68, 0xd1, + 0xa2, 0x9b, 0xd4, 0x42, 0xa7, 0x3a, 0x9c, 0x66, 0xac, 0xbb, 0x5e, 0xc5, 0xc2, 0xb0, 0x47, 0xfa, + 0xc0, 0xa3, 0x64, 0xcf, 0x64, 0x19, 0xf6, 0x78, 0xa9, 0x78, 0x90, 0x5b, 0x4e, 0x95, 0xdb, 0x08, + 0xa3, 0x6d, 0xb1, 0xd3, 0x3f, 0xad, 0xc1, 0xf0, 0x62, 0xd3, 0xb2, 0x5a, 0xee, 0xb2, 0x5d, 0x37, + 0x23, 0x1f, 0x81, 0x3d, 0x55, 0xb3, 0x8c, 0xf2, 0x19, 0xb5, 0x72, 0xd1, 0xb5, 0xd7, 0x30, 0x6b, + 0x3b, 0x9e, 0x1a, 0xb5, 0xcc, 0x32, 0x13, 0x6c, 0xb6, 0x56, 0x5e, 0xbd, 0x3f, 0x87, 0x09, 0xeb, + 0x70, 0xd5, 0x57, 0x6a, 0xaf, 0xe9, 0x9f, 0xd4, 0x30, 0x81, 0x0a, 0x0a, 0xbd, 0xcd, 0x50, 0x40, + 0x66, 0x60, 0xe2, 0x0d, 0xd3, 0xdd, 0x28, 0x46, 0x05, 0xe7, 0xeb, 0x08, 0xe2, 0xbd, 0x5d, 0x0e, + 0x8a, 0x52, 0xc6, 0xd4, 0x28, 0x22, 0x09, 0x76, 0xfb, 0x42, 0x38, 0x84, 0xa4, 0x6a, 0x1f, 0xe4, + 0xd2, 0x0a, 0x23, 0x55, 0x74, 0xad, 0xd0, 0x7b, 0x95, 0x41, 0x9b, 0xac, 0x54, 0x2e, 0x51, 0x29, + 0x23, 0xd6, 0xbc, 0xbe, 0x79, 0x28, 0xe8, 0x1b, 0x59, 0x54, 0x12, 0x61, 0xe8, 0x67, 0xe4, 0x6a, + 0x48, 0x8c, 0x16, 0x67, 0x6e, 0xeb, 0xb6, 0xe1, 0x6c, 0xb4, 0x26, 0xcd, 0x54, 0xb5, 0x22, 0xd3, + 0x54, 0x2e, 0x66, 0x9a, 0x3a, 0x0c, 0x83, 0x3c, 0x34, 0x6d, 0x30, 0xc6, 0x93, 0x5d, 0xac, 0xc7, + 0x07, 0x58, 0x19, 0x6f, 0x4b, 0xb7, 0xc4, 0xf2, 0x27, 0x46, 0x0c, 0x54, 0x77, 0x09, 0x7a, 0x03, + 0xeb, 0xf0, 0x53, 0x69, 0xea, 0xae, 0x36, 0xcc, 0x6a, 0x95, 0x96, 0x3d, 0x76, 0x77, 0xbd, 0x40, + 0xc1, 0x78, 0x16, 0x90, 0x81, 0xdc, 0x5a, 0x58, 0x65, 0x9b, 0x12, 0xad, 0x36, 0x77, 0x4c, 0x65, + 0xdd, 0x82, 0xf7, 0xf1, 0x54, 0x82, 0x97, 0xcc, 0x96, 0xcb, 0x0d, 0xea, 0x38, 0x19, 0x5b, 0x7a, + 0x11, 0x46, 0x44, 0x33, 0x06, 0x67, 0x80, 0x6d, 0x0d, 0x1b, 0x01, 0xb6, 0xfa, 0xaf, 0xe5, 0x60, + 0x6f, 0xac, 0xc6, 0xde, 0x4a, 0x8d, 0x79, 0x1b, 0xe7, 0xcd, 0x42, 0xeb, 0xae, 0x76, 0xa1, 0x95, + 0x53, 0x78, 0x49, 0x82, 0x0c, 0xcc, 0x39, 0x75, 0x6a, 0x49, 0xe4, 0x31, 0x58, 0x37, 0x2d, 0xcb, + 0x58, 0xb3, 0xf8, 0x7c, 0xa4, 0xca, 0x40, 0x10, 0xb5, 0xf6, 0x0f, 0xba, 0x7d, 0xfb, 0x07, 0x5e, + 0xf4, 0x68, 0x79, 0x13, 0x9f, 0x32, 0x70, 0x06, 0xf3, 0x1c, 0xc6, 0x5b, 0xad, 0x96, 0xcc, 0xf2, + 0x64, 0x2f, 0x5f, 0xad, 0x96, 0xcc, 0xb2, 0xfe, 0x31, 0xcc, 0xb5, 0xa2, 0xbd, 0xbd, 0xf3, 0x9e, + 0xd5, 0x80, 0xa3, 0x6d, 0xfa, 0x7d, 0xe7, 0xdb, 0xbc, 0xea, 0x1b, 0xc2, 0xc1, 0xb8, 0xad, 0x94, + 0xe4, 0xfc, 0x97, 0xe6, 0x1b, 0x7b, 0x61, 0x7a, 0x99, 0x81, 0xf5, 0xcb, 0xc0, 0xe5, 0x73, 0xa5, + 0xb6, 0xb3, 0x74, 0x9f, 0x98, 0x31, 0xc8, 0x12, 0x0c, 0xaf, 0x51, 0xc7, 0x2d, 0xae, 0x35, 0xb7, + 0x90, 0x4d, 0x4e, 0x9d, 0xcd, 0xa0, 0x47, 0x3a, 0xd7, 0xdc, 0xe2, 0xac, 0xee, 0xc0, 0x08, 0x63, + 0xc5, 0x76, 0xd2, 0x38, 0xaf, 0x2e, 0x75, 0x5e, 0x43, 0x1e, 0xed, 0x0a, 0xb5, 0x2c, 0xc6, 0x4c, + 0x9f, 0xc7, 0x81, 0xba, 0x40, 0x1b, 0xe6, 0x26, 0xcb, 0x24, 0x3a, 0x30, 0xe1, 0x4f, 0xe6, 0xb0, + 0xdb, 0x93, 0xb9, 0xfc, 0x9f, 0x37, 0xe4, 0xef, 0x0b, 0x37, 0x6a, 0xd9, 0x60, 0x27, 0xd2, 0xda, + 0xd4, 0x84, 0xb4, 0x6b, 0xfb, 0x09, 0xa9, 0xfe, 0x79, 0x0d, 0x0e, 0x25, 0xcb, 0xfd, 0x03, 0x90, + 0x35, 0xfe, 0x7a, 0x17, 0x4c, 0xc5, 0xc6, 0xb7, 0x55, 0x7b, 0xde, 0xa8, 0x95, 0xa8, 0xf5, 0xb0, + 0xbe, 0x6a, 0xcf, 0x56, 0xbd, 0x70, 0xb4, 0x73, 0x53, 0xfa, 0x02, 0x0c, 0xac, 0x19, 0x0e, 0x2d, + 0x1a, 0x8c, 0x6f, 0x96, 0xf0, 0x0e, 0x1e, 0x1d, 0x17, 0x87, 0x2c, 0xc2, 0xe0, 0xe3, 0xa6, 0xed, + 0x4a, 0x36, 0xdd, 0xea, 0x6c, 0x06, 0x18, 0x21, 0xf2, 0xb9, 0x0b, 0x7d, 0x8e, 0xdb, 0x30, 0x5c, + 0x5a, 0xe1, 0x6b, 0x88, 0xe1, 0x99, 0x93, 0x69, 0x86, 0xe4, 0x66, 0xb1, 0xd8, 0x81, 0xca, 0x0a, + 0xd2, 0x15, 0x24, 0x07, 0x72, 0x17, 0x46, 0x1a, 0x74, 0x9d, 0x36, 0x68, 0xad, 0x44, 0x71, 0x58, + 0xf4, 0xaa, 0x3b, 0xda, 0xb0, 0xa4, 0xe5, 0xe3, 0xe2, 0x1f, 0x72, 0x70, 0xc6, 0xd7, 0x3d, 0x21, + 0x2f, 0x7b, 0x57, 0x3b, 0x29, 0x6c, 0xde, 0xae, 0x1d, 0x30, 0x6f, 0xf7, 0xbb, 0x61, 0xde, 0x9e, + 0xce, 0xcd, 0xbb, 0x8e, 0x1b, 0x3f, 0xf1, 0xd6, 0xdd, 0xb9, 0x84, 0xae, 0x01, 0xc7, 0x63, 0x26, + 0xf6, 0x8e, 0xda, 0x53, 0x4e, 0xeb, 0xbe, 0x9b, 0x83, 0xe7, 0x70, 0xea, 0x6f, 0x35, 0xf4, 0x7d, + 0x92, 0xdc, 0x5d, 0x66, 0x8b, 0x8f, 0x8a, 0x59, 0xcb, 0xe2, 0x55, 0x48, 0x12, 0xc8, 0x0c, 0xbb, + 0x3b, 0xc9, 0x0c, 0x0f, 0x8a, 0xcc, 0xd0, 0xf3, 0x9c, 0xbe, 0xb9, 0xfe, 0x77, 0xde, 0x3c, 0xc8, + 0x0b, 0xe2, 0x93, 0xc4, 0xde, 0x84, 0x24, 0x71, 0x77, 0x2b, 0x49, 0xdc, 0xc4, 0xbd, 0xbf, 0x24, + 0x3f, 0xc2, 0x89, 0xe0, 0x7e, 0x28, 0x6d, 0x3b, 0xaf, 0x90, 0xb6, 0xc5, 0xf5, 0x9d, 0x4c, 0xde, + 0x7e, 0x1c, 0x3e, 0xa0, 0xe4, 0x57, 0xef, 0x56, 0xfb, 0x3f, 0xa7, 0x45, 0x12, 0xa0, 0xf7, 0x70, + 0x19, 0xf8, 0x24, 0x92, 0x47, 0x25, 0x2c, 0x06, 0x77, 0xdc, 0x0e, 0x3f, 0x2b, 0x0e, 0x40, 0x7c, + 0x29, 0xdc, 0x7b, 0xb6, 0x9b, 0xf1, 0x49, 0x0d, 0xc0, 0x97, 0x30, 0xbc, 0x87, 0xe3, 0x5c, 0xff, + 0x82, 0x06, 0xe3, 0x0f, 0x68, 0xa3, 0x4e, 0xdd, 0xa6, 0x61, 0x71, 0x8b, 0xac, 0xb8, 0x86, 0x4b, + 0xc9, 0x03, 0x18, 0x10, 0x6a, 0xd7, 0xd6, 0x6d, 0xdc, 0x82, 0x48, 0x3d, 0xca, 0x0e, 0xb1, 0x59, + 0xaa, 0xad, 0xdb, 0x05, 0x34, 0x9d, 0xf7, 0x9b, 0x3c, 0x84, 0xc1, 0xf5, 0x66, 0xad, 0x6c, 0xd6, + 0x2a, 0x9c, 0x25, 0xdf, 0xa6, 0x9a, 0xc9, 0xc0, 0x72, 0x91, 0x93, 0x17, 0x06, 0x90, 0x8f, 0xc7, + 0x56, 0xff, 0x6c, 0x17, 0x8c, 0x2f, 0x36, 0x2d, 0x2b, 0xdc, 0xb1, 0x64, 0x21, 0xb4, 0x7f, 0xf2, + 0x72, 0xfa, 0x1e, 0x78, 0x90, 0x5a, 0xee, 0xb0, 0x7d, 0x18, 0x86, 0xeb, 0x42, 0x0a, 0xbf, 0xdc, + 0x27, 0x33, 0xc8, 0xcd, 0x2c, 0x7a, 0x7b, 0x57, 0x61, 0x48, 0x72, 0x62, 0x06, 0xf9, 0x90, 0x67, + 0x10, 0xb7, 0xd9, 0xa0, 0x0e, 0x67, 0xdc, 0xc5, 0x18, 0x9f, 0x4e, 0x63, 0x7c, 0xf3, 0x49, 0xdd, + 0x6c, 0x6c, 0x2d, 0x72, 0xaa, 0x96, 0x9d, 0x6f, 0xef, 0xf2, 0x6c, 0xc2, 0x0a, 0x19, 0xe7, 0x39, + 0xee, 0xb3, 0x38, 0xfd, 0x66, 0x08, 0xc1, 0xcc, 0xb1, 0xf9, 0xea, 0x21, 0x76, 0x6b, 0xb1, 0x67, + 0x67, 0xb6, 0x16, 0xe7, 0x7a, 0xa1, 0xdb, 0x53, 0x59, 0xb7, 0x70, 0x6d, 0x1b, 0x33, 0x2a, 0x31, + 0x12, 0xbc, 0x12, 0xde, 0xd9, 0x3b, 0xd9, 0x6e, 0x1b, 0x2c, 0xd2, 0x95, 0x72, 0x7f, 0xef, 0x32, + 0xee, 0x0b, 0x45, 0x6a, 0xa8, 0x2c, 0x02, 0xcd, 0x84, 0x00, 0x22, 0x25, 0xbd, 0x1d, 0xf2, 0xb7, + 0xec, 0x82, 0x8a, 0x5d, 0xbb, 0x39, 0x9c, 0xac, 0xc2, 0x15, 0x70, 0xf6, 0x50, 0x12, 0x97, 0x46, + 0x17, 0xbe, 0x41, 0x1e, 0xad, 0xe3, 0x41, 0x91, 0xa5, 0x88, 0x53, 0x70, 0xfe, 0xa8, 0x96, 0x37, + 0xdd, 0xc2, 0xd5, 0x55, 0xeb, 0x30, 0x8a, 0xcd, 0xb0, 0xec, 0x8a, 0x4f, 0x96, 0xb3, 0x2e, 0x7d, + 0x31, 0x72, 0x41, 0xe2, 0x81, 0xed, 0x98, 0xec, 0x4e, 0x54, 0x26, 0x3e, 0x1f, 0x83, 0xf7, 0x27, + 0xf0, 0x59, 0xaa, 0x05, 0x7b, 0x7b, 0xfb, 0x17, 0x8c, 0x1c, 0x98, 0x0e, 0xb5, 0x75, 0x73, 0x7d, + 0x9d, 0xf7, 0xf8, 0xbb, 0xd7, 0xe8, 0x2b, 0xe8, 0x1c, 0xa1, 0x0b, 0x3c, 0xf2, 0xf2, 0x4e, 0x16, + 0x63, 0xd5, 0x22, 0xbd, 0xe7, 0x33, 0xba, 0x1c, 0x80, 0x3d, 0xde, 0x4c, 0x48, 0x71, 0xf8, 0x4d, + 0xa9, 0x45, 0x51, 0xc1, 0x07, 0x8f, 0x73, 0x39, 0x0b, 0xfd, 0x11, 0xbc, 0xd8, 0xb6, 0x73, 0xe4, + 0x4e, 0x8a, 0x6c, 0xd6, 0x1b, 0x4c, 0xef, 0x4b, 0x0d, 0xb7, 0xfe, 0xc6, 0x34, 0xd1, 0xd8, 0xc7, + 0x73, 0xb0, 0x27, 0xd2, 0x1f, 0x64, 0x1f, 0xec, 0x36, 0x9d, 0xa2, 0x65, 0xd7, 0x2a, 0x8c, 0x73, + 0x5f, 0xa1, 0xd7, 0x74, 0xee, 0xda, 0xb5, 0xca, 0xf6, 0x53, 0xe6, 0x05, 0x18, 0xa0, 0x35, 0xb7, + 0xb1, 0x15, 0xd9, 0x6a, 0x69, 0xbf, 0x66, 0x66, 0x74, 0x3c, 0xec, 0xde, 0x83, 0x51, 0x2a, 0x84, + 0x2e, 0x62, 0x0a, 0x9e, 0x21, 0x80, 0x8f, 0x48, 0xe2, 0x65, 0x46, 0xab, 0x3f, 0x83, 0x93, 0xea, + 0x3e, 0x2a, 0x37, 0x2f, 0x03, 0xb6, 0x3f, 0x91, 0x3a, 0x23, 0x85, 0xb9, 0x05, 0x3b, 0xe1, 0x1a, + 0x0e, 0xeb, 0xb8, 0xe4, 0x40, 0x25, 0x8c, 0x55, 0xd1, 0x43, 0x63, 0xe9, 0xa5, 0xb8, 0xdd, 0xdb, + 0xc8, 0x51, 0xd0, 0x43, 0xf9, 0x7c, 0x24, 0x22, 0x6f, 0xc2, 0x3c, 0xab, 0x24, 0x72, 0x13, 0x23, + 0x6f, 0x22, 0x0f, 0x14, 0x7b, 0x39, 0x20, 0x76, 0x27, 0xd3, 0x7e, 0x40, 0xf4, 0x59, 0x5c, 0x29, + 0x27, 0xe4, 0x4c, 0x6a, 0x92, 0x1f, 0x49, 0x65, 0x21, 0x6f, 0x4d, 0x06, 0xdc, 0xa3, 0x83, 0x0c, + 0x2e, 0x18, 0x15, 0xe4, 0x1a, 0x25, 0x31, 0xa4, 0x61, 0xc3, 0xa5, 0xc0, 0x15, 0x47, 0x2f, 0x1a, + 0xcd, 0x76, 0x78, 0xc5, 0xb1, 0x75, 0x6f, 0x52, 0xdc, 0x1a, 0x13, 0x8c, 0xf5, 0x8b, 0x78, 0x5d, + 0x28, 0x7e, 0x46, 0x43, 0x49, 0xc6, 0xa1, 0x87, 0x5f, 0x6e, 0xd5, 0xd8, 0xe5, 0x56, 0xfe, 0xa0, + 0xef, 0xc7, 0xfb, 0x04, 0xcb, 0x76, 0xb9, 0x69, 0x51, 0x96, 0xf5, 0x89, 0x3b, 0x6f, 0xaf, 0xe3, + 0xfd, 0x87, 0xc0, 0x2b, 0x79, 0xd7, 0x20, 0x60, 0xcf, 0xd4, 0xeb, 0x26, 0xb7, 0xf8, 0x8d, 0x5e, + 0xce, 0x00, 0xed, 0xb7, 0x0f, 0xf6, 0xf2, 0x6e, 0x0b, 0x4d, 0x98, 0x7a, 0x19, 0xaf, 0x45, 0xbc, + 0xbb, 0x41, 0xfd, 0xb1, 0xff, 0xfc, 0xa5, 0x40, 0xdf, 0x30, 0x1a, 0xe5, 0x07, 0xb6, 0x59, 0x73, + 0x95, 0xee, 0xad, 0x9d, 0x81, 0x89, 0x3a, 0xe5, 0x8b, 0x82, 0xba, 0x6d, 0x5b, 0x45, 0xd7, 0xac, + 0x52, 0xc7, 0x35, 0xaa, 0x75, 0x16, 0x83, 0xbb, 0x0a, 0xe3, 0xf8, 0xf6, 0x81, 0x6d, 0x5b, 0xab, + 0xe2, 0x9d, 0xfe, 0xd3, 0xe2, 0x58, 0x33, 0xa6, 0x4d, 0xd4, 0x70, 0x0d, 0x9e, 0x13, 0x93, 0x1f, + 0xbb, 0x9b, 0x5c, 0x6c, 0xb0, 0x5a, 0xc5, 0x3a, 0xab, 0xc6, 0xe5, 0x50, 0x0b, 0xa9, 0x93, 0x7e, + 0x37, 0xf0, 0xb7, 0xa5, 0x1f, 0xc6, 0xe0, 0xe6, 0x7b, 0x33, 0x6f, 0x54, 0xeb, 0x86, 0x59, 0xa9, + 0x89, 0x2e, 0xf8, 0x5e, 0x37, 0x06, 0xb0, 0xd8, 0x3a, 0x28, 0xeb, 0x26, 0x3c, 0xef, 0xc9, 0xe8, + 0x19, 0x01, 0xa5, 0x2c, 0x61, 0x15, 0xff, 0xe2, 0xeb, 0x6c, 0xfa, 0x1a, 0xd8, 0xe0, 0x63, 0xd4, + 0xdf, 0x00, 0x0b, 0x37, 0xfb, 0xdd, 0xa4, 0x57, 0xe4, 0x27, 0x34, 0x38, 0x1a, 0x6a, 0x98, 0x75, + 0x82, 0x6c, 0xdd, 0x29, 0x6d, 0x50, 0xcf, 0x5f, 0x71, 0xfb, 0x7a, 0x2a, 0x7d, 0x5b, 0x50, 0x68, + 0xc5, 0x2d, 0x64, 0x5b, 0x85, 0xc3, 0x81, 0xa6, 0xbd, 0x22, 0x51, 0x69, 0x05, 0x19, 0x93, 0x1f, + 0x81, 0xfd, 0xae, 0xed, 0x1a, 0x56, 0x6c, 0x27, 0x65, 0x98, 0x42, 0x27, 0x18, 0x97, 0x48, 0x17, + 0x91, 0x5f, 0xd0, 0xe0, 0x84, 0x70, 0x30, 0x35, 0x55, 0xbb, 0x3b, 0x52, 0xf5, 0x18, 0x36, 0xb2, + 0xda, 0x56, 0xe3, 0x2a, 0x1c, 0x96, 0x02, 0x25, 0x6a, 0xde, 0xa3, 0xee, 0x9e, 0x2f, 0x88, 0x96, + 0x63, 0x0d, 0xa0, 0x5f, 0x46, 0x1f, 0x5d, 0x72, 0xee, 0xd7, 0x5d, 0x5a, 0xbe, 0xdf, 0x74, 0xef, + 0xaf, 0xf3, 0x0a, 0x4e, 0xfb, 0x8b, 0xb0, 0x0b, 0xe8, 0xbc, 0xb1, 0xc4, 0xe8, 0xbc, 0x87, 0x60, + 0xd0, 0x74, 0x8a, 0xb6, 0xf7, 0xbe, 0x68, 0x37, 0x5d, 0xcc, 0xaa, 0xc0, 0x94, 0x24, 0xfa, 0x8b, + 0xb8, 0xeb, 0x13, 0xe1, 0x81, 0x9b, 0x62, 0x32, 0x5e, 0x2d, 0x60, 0xee, 0x9e, 0x52, 0x11, 0x1b, + 0x4d, 0x09, 0x29, 0xfa, 0x35, 0x9c, 0x08, 0x17, 0x29, 0x5d, 0x30, 0x1d, 0xbe, 0xed, 0x86, 0x19, + 0xaf, 0x6f, 0x0a, 0x4f, 0x56, 0xfa, 0xbb, 0x1a, 0x4e, 0x83, 0x49, 0x0c, 0x50, 0x86, 0x17, 0x00, + 0x5c, 0x93, 0x36, 0xe4, 0x71, 0x91, 0x76, 0xac, 0xbb, 0xd0, 0xef, 0x95, 0xf0, 0x5d, 0x9d, 0x02, + 0x0c, 0xca, 0xec, 0xbb, 0xb5, 0x6d, 0x90, 0x9a, 0x9d, 0xf8, 0x1a, 0x5c, 0x35, 0x69, 0x83, 0xb5, + 0x36, 0x60, 0xb4, 0x9a, 0x26, 0xf7, 0x61, 0x40, 0x06, 0x35, 0xd7, 0xc2, 0x0d, 0x83, 0xa9, 0x0c, + 0x2c, 0x57, 0x57, 0xef, 0x16, 0x40, 0xc4, 0x33, 0xd7, 0x92, 0x11, 0xcc, 0x57, 0x4d, 0x38, 0xaa, + 0xe8, 0x94, 0x4f, 0x88, 0x03, 0xb4, 0xd8, 0x3a, 0x72, 0x66, 0xde, 0xbb, 0x4e, 0x69, 0xb1, 0x8c, + 0xef, 0x5b, 0xa3, 0x49, 0xcb, 0xa4, 0xb5, 0xe4, 0x3b, 0xb6, 0x1e, 0x2d, 0xd4, 0x6f, 0xe0, 0x44, + 0x83, 0xf7, 0xbd, 0x97, 0x4d, 0xa7, 0x6a, 0xb8, 0x25, 0xdf, 0x1e, 0xe6, 0x41, 0x18, 0x28, 0x37, + 0x1d, 0xb7, 0xb8, 0x6e, 0x94, 0x5c, 0x9b, 0x43, 0x53, 0xba, 0x0a, 0xe0, 0x15, 0x2d, 0xb2, 0x12, + 0xfd, 0xb7, 0xbb, 0x60, 0x24, 0x44, 0x4d, 0x74, 0x08, 0xac, 0x89, 0xd4, 0x2f, 0x62, 0x92, 0x59, + 0xe8, 0x37, 0x36, 0x0d, 0x33, 0xf3, 0x0d, 0x88, 0x16, 0x15, 0xb9, 0x08, 0x3d, 0x2c, 0x08, 0x64, + 0x49, 0xf1, 0x39, 0x05, 0x59, 0x84, 0x41, 0xbc, 0xe9, 0x5e, 0xdc, 0xb0, 0xad, 0xb2, 0xef, 0x90, + 0xa5, 0xfd, 0xe9, 0x0f, 0x12, 0xde, 0xb6, 0xad, 0x32, 0x79, 0x05, 0x86, 0xe9, 0x93, 0x3a, 0x2d, + 0x79, 0xe3, 0x97, 0xcb, 0xd2, 0xab, 0xce, 0x69, 0x48, 0x90, 0xb2, 0xe8, 0x43, 0xe6, 0x01, 0xca, + 0xe6, 0x3a, 0x1e, 0xe0, 0xf0, 0xed, 0x77, 0xc5, 0x15, 0x50, 0x8b, 0x4c, 0xff, 0x31, 0x9c, 0xdb, + 0x63, 0xba, 0x19, 0xbd, 0xed, 0x75, 0x20, 0x42, 0xf5, 0xaa, 0x7c, 0x8b, 0xa9, 0xcc, 0x07, 0x14, + 0x90, 0x02, 0x82, 0x65, 0x61, 0xcf, 0x5a, 0xb8, 0x0d, 0xfd, 0x28, 0x0e, 0x7e, 0xac, 0xea, 0x25, + 0x8a, 0x73, 0x2d, 0x6b, 0xc9, 0x50, 0xf5, 0x2b, 0x39, 0xd8, 0xeb, 0xab, 0xc2, 0x17, 0x5b, 0xcc, + 0x9e, 0xff, 0xcf, 0xfd, 0x49, 0xff, 0x65, 0x91, 0xcd, 0x27, 0x5a, 0x10, 0x7b, 0xb1, 0x06, 0x79, + 0xd1, 0x20, 0xdb, 0x41, 0xf7, 0xb7, 0xae, 0x74, 0x6d, 0x26, 0xd6, 0xfe, 0x85, 0x7d, 0x6b, 0xf1, + 0xed, 0xca, 0x69, 0x28, 0x14, 0x12, 0xbd, 0x54, 0xda, 0x74, 0x5c, 0xb3, 0x24, 0xfb, 0xf6, 0x22, + 0x0c, 0x05, 0x5e, 0x10, 0x02, 0xdd, 0x5e, 0x5c, 0xc7, 0x18, 0xcf, 0x7e, 0x7b, 0x5d, 0xd8, 0x82, + 0x06, 0x75, 0x17, 0xf8, 0x83, 0xee, 0xe0, 0x0c, 0x96, 0xd2, 0x86, 0x5c, 0xb4, 0x82, 0x23, 0x4b, + 0x55, 0x6e, 0xc9, 0x07, 0xf8, 0x14, 0x7c, 0xc4, 0x5e, 0xfe, 0xbf, 0x6c, 0xba, 0xf6, 0xab, 0x46, + 0xd3, 0x62, 0xd3, 0x84, 0x54, 0xe4, 0x8f, 0x35, 0x98, 0x08, 0xbf, 0xc1, 0xe6, 0x5f, 0x82, 0xd1, + 0xaa, 0xe1, 0xb8, 0xb4, 0x21, 0xce, 0x28, 0xa9, 0x98, 0x48, 0x47, 0x78, 0xf9, 0xac, 0x28, 0x26, + 0xa7, 0x60, 0xbc, 0x2c, 0x97, 0x00, 0xbe, 0xea, 0xfc, 0x28, 0x64, 0xac, 0xf5, 0xae, 0x45, 0x72, + 0x14, 0x86, 0x9d, 0xba, 0xed, 0xfa, 0x2a, 0xf3, 0xc3, 0xa0, 0x21, 0xaf, 0x34, 0x50, 0xad, 0xf4, + 0xc6, 0xcc, 0x49, 0x5f, 0xb5, 0x6e, 0x5e, 0xcd, 0x2b, 0x95, 0xd5, 0xf4, 0x05, 0x8c, 0xfb, 0xb8, + 0xf0, 0x5d, 0x58, 0x6c, 0xd8, 0x55, 0xa6, 0x92, 0x6f, 0xaf, 0x6b, 0xd3, 0x7b, 0x2e, 0x06, 0x77, + 0x32, 0x07, 0x59, 0xa1, 0x38, 0x6d, 0x15, 0xd7, 0xa8, 0x62, 0xb8, 0xa0, 0x4d, 0x52, 0xd7, 0xc6, + 0x62, 0x79, 0x7d, 0xdb, 0x74, 0x5c, 0xbb, 0x61, 0x96, 0x64, 0xae, 0x55, 0xb2, 0x7d, 0xa9, 0x54, + 0x2a, 0x0b, 0x17, 0x43, 0x4b, 0x12, 0x0b, 0xb9, 0x2f, 0x30, 0x24, 0x52, 0x42, 0xf6, 0x42, 0x05, + 0x85, 0x10, 0x60, 0x34, 0xe8, 0xfa, 0x9e, 0xf4, 0x3f, 0xd0, 0x60, 0x8c, 0xbd, 0xe6, 0xcd, 0x7a, + 0xc9, 0x95, 0xb7, 0x14, 0x24, 0x2f, 0x03, 0xe1, 0xcd, 0x54, 0x1a, 0x76, 0xb3, 0xee, 0xa5, 0xa3, + 0x0e, 0x2d, 0xa1, 0x8b, 0x8f, 0xb2, 0x37, 0xb7, 0xf0, 0xc5, 0x0a, 0x2d, 0x91, 0x7d, 0xb0, 0xbb, + 0x6a, 0x3c, 0x29, 0x1a, 0x15, 0x8a, 0x0e, 0xdf, 0x5b, 0x35, 0x9e, 0xcc, 0x56, 0x28, 0x99, 0x82, + 0x31, 0xb3, 0x56, 0xb2, 0x9a, 0x9e, 0xbc, 0xc6, 0x1b, 0xc5, 0x0d, 0xde, 0x08, 0x5e, 0xe9, 0xdb, + 0x83, 0xaf, 0x0a, 0xc6, 0x1b, 0xd8, 0xba, 0xe7, 0x78, 0xa2, 0xbe, 0x5c, 0xcb, 0xb3, 0x53, 0xde, + 0xc2, 0x08, 0x96, 0x8b, 0x35, 0xba, 0xfe, 0x9b, 0x1a, 0xee, 0xd7, 0x4b, 0x8c, 0x85, 0xe1, 0x9a, + 0x96, 0xe9, 0x6e, 0x29, 0x9d, 0x59, 0x96, 0x60, 0x2f, 0xd7, 0x0f, 0x45, 0xf2, 0x52, 0x54, 0x4f, + 0x71, 0x95, 0x44, 0x2c, 0xc6, 0x5e, 0x85, 0x31, 0x37, 0x5a, 0xa8, 0x7f, 0x3c, 0x17, 0xf0, 0x4d, + 0xbf, 0x88, 0x12, 0x8b, 0x01, 0x9b, 0xb2, 0x14, 0x4f, 0xf8, 0x0e, 0xb6, 0x9d, 0x0e, 0x5b, 0x24, + 0xe4, 0x35, 0x18, 0x15, 0x1a, 0x48, 0x83, 0xe5, 0x22, 0x07, 0x5a, 0x88, 0xe0, 0x95, 0x87, 0x30, + 0x58, 0xd3, 0x17, 0x78, 0x46, 0x90, 0x8b, 0x78, 0x45, 0x6e, 0xc3, 0x80, 0xbf, 0xc7, 0xba, 0x98, + 0x97, 0xbd, 0xa8, 0xe8, 0x65, 0x05, 0x68, 0xc8, 0x3e, 0x95, 0x40, 0xa2, 0x39, 0xb3, 0x66, 0x08, + 0x53, 0xb4, 0x3b, 0x57, 0xd5, 0x2b, 0x78, 0xd9, 0x3a, 0x44, 0x24, 0xc3, 0x63, 0xe8, 0xd8, 0x27, + 0xb5, 0xbf, 0x38, 0x0f, 0xec, 0x94, 0xf0, 0xa9, 0xcf, 0x63, 0x38, 0x11, 0x7b, 0xf4, 0x3f, 0x6f, + 0xd7, 0xca, 0x26, 0xbf, 0x25, 0xb6, 0xd3, 0xc8, 0xe3, 0xdf, 0xe8, 0x82, 0xc3, 0x91, 0x53, 0xe9, + 0x70, 0x7b, 0x3f, 0xb8, 0xf7, 0x3b, 0x6e, 0xc1, 0xa0, 0xdb, 0x30, 0x2b, 0x15, 0xda, 0x78, 0x90, + 0xf5, 0x80, 0x31, 0x40, 0xd8, 0xfe, 0x9e, 0xc7, 0x51, 0xd8, 0x6d, 0x3a, 0xec, 0x38, 0x9f, 0x65, + 0xa5, 0x7d, 0x73, 0x03, 0xef, 0xbc, 0x79, 0x50, 0x14, 0x15, 0xc4, 0x8f, 0xd0, 0x75, 0x90, 0xdd, + 0x09, 0xd7, 0x41, 0xfa, 0x5a, 0xd7, 0x41, 0x3e, 0xa1, 0x05, 0x2e, 0xd5, 0xa5, 0x3a, 0x85, 0x04, + 0x7d, 0x06, 0xaf, 0x24, 0x5c, 0xcd, 0x74, 0x25, 0x21, 0xcc, 0x57, 0x5e, 0x4c, 0x58, 0x46, 0x41, + 0xf0, 0x74, 0xce, 0xb5, 0xab, 0x66, 0xe9, 0xe6, 0x13, 0x5a, 0x6a, 0x7a, 0x95, 0x17, 0x29, 0x5d, + 0x6e, 0x5a, 0xae, 0x59, 0xb7, 0x4c, 0xda, 0x50, 0x9a, 0x63, 0x36, 0xf1, 0x48, 0x4a, 0x85, 0x1d, + 0x2a, 0x36, 0x0f, 0x50, 0x95, 0xa5, 0x59, 0x7c, 0xd1, 0x47, 0xa6, 0x5f, 0x10, 0xd8, 0x55, 0x66, + 0x90, 0x15, 0xd7, 0x78, 0x44, 0x6f, 0x35, 0x8c, 0xd6, 0x6d, 0xb7, 0x49, 0xd8, 0x5d, 0xf1, 0x9e, + 0x29, 0x15, 0xcb, 0x6d, 0x7c, 0xd4, 0x3f, 0x23, 0xa1, 0xa9, 0x11, 0x52, 0x14, 0xf0, 0x2a, 0xf4, + 0xb0, 0xca, 0xb8, 0x98, 0x4c, 0x0d, 0x51, 0x9c, 0x09, 0xa7, 0xe7, 0x54, 0x64, 0x05, 0x5a, 0x87, + 0x22, 0x45, 0xce, 0x48, 0x01, 0x21, 0x23, 0xcf, 0x35, 0x38, 0xaf, 0x61, 0x1a, 0x78, 0xd6, 0x57, + 0x31, 0x9b, 0x60, 0x4f, 0xb3, 0x4d, 0x77, 0xc3, 0x6e, 0x98, 0x3f, 0xca, 0xae, 0xc4, 0x45, 0x34, + 0x6e, 0x04, 0x35, 0x6e, 0xf8, 0x6d, 0x91, 0x0b, 0xda, 0xe2, 0x43, 0xb8, 0x1c, 0x8f, 0xe3, 0x8a, + 0xc6, 0x38, 0x0b, 0xbd, 0x78, 0xdd, 0x8f, 0xf7, 0xd4, 0x0b, 0xd8, 0x53, 0x7b, 0xa3, 0x3d, 0xb5, + 0x54, 0x73, 0x0b, 0x58, 0x59, 0x6e, 0x03, 0x45, 0x39, 0x3b, 0x6d, 0x05, 0xf6, 0x52, 0x88, 0x43, + 0xc9, 0xd4, 0xf2, 0x0e, 0x2d, 0xe1, 0xfb, 0x59, 0x8c, 0xaa, 0x98, 0x45, 0xc8, 0x51, 0x46, 0xc8, + 0x99, 0x8b, 0x9b, 0xa3, 0xbd, 0x8c, 0x8d, 0xa3, 0xb2, 0xf3, 0x18, 0x63, 0x2d, 0xa4, 0x3e, 0x7e, + 0x06, 0xfa, 0x25, 0x0e, 0x8e, 0x8c, 0xc3, 0xa8, 0xf7, 0xb7, 0xf8, 0xb0, 0xe6, 0xd4, 0x69, 0xc9, + 0x5c, 0x37, 0x69, 0x79, 0x74, 0x17, 0xd9, 0x0d, 0x5d, 0x73, 0xcd, 0xad, 0x51, 0x8d, 0xf4, 0x41, + 0xf7, 0x0a, 0xb5, 0xac, 0xd1, 0xdc, 0xf1, 0x57, 0x61, 0x3c, 0xee, 0x92, 0xa3, 0xc7, 0xc0, 0x47, + 0xcb, 0x18, 0x8f, 0xee, 0x22, 0x63, 0x30, 0xe2, 0xe5, 0x92, 0xaf, 0xd9, 0x0d, 0xc7, 0x5d, 0xb5, + 0xe7, 0xa8, 0xe3, 0x8e, 0x6a, 0xa2, 0xd0, 0x7b, 0x5a, 0xb5, 0xd9, 0xab, 0xd1, 0xdc, 0xcc, 0x9f, + 0x53, 0xe8, 0x61, 0x76, 0x24, 0x9f, 0xd5, 0x60, 0x2c, 0xe6, 0x3b, 0x08, 0xe4, 0x5c, 0x5b, 0xc4, + 0x7f, 0xec, 0x67, 0x15, 0xf2, 0xe7, 0x33, 0xd3, 0xf1, 0x5e, 0xd3, 0x67, 0x7e, 0xea, 0x6f, 0xbe, + 0xfd, 0xa9, 0xdc, 0xcb, 0xe4, 0xf8, 0xb4, 0xc2, 0x17, 0x47, 0x50, 0xc8, 0xbf, 0xd0, 0x80, 0x44, + 0x3f, 0x3c, 0x40, 0x2e, 0x75, 0xf4, 0xb5, 0x02, 0x2e, 0xff, 0xe5, 0x6d, 0x7c, 0xe9, 0x40, 0xbf, + 0xce, 0x74, 0xb8, 0x48, 0xce, 0xab, 0xe8, 0x30, 0xed, 0x44, 0x25, 0xff, 0x8a, 0x06, 0x7b, 0x22, + 0xfc, 0xc9, 0xc5, 0xec, 0x32, 0x09, 0x75, 0x2e, 0x75, 0x42, 0x8a, 0xda, 0x5c, 0x63, 0xda, 0x5c, + 0x20, 0xe7, 0x3a, 0xd3, 0x86, 0xfc, 0x89, 0x06, 0xa3, 0xe1, 0x2f, 0x2b, 0x90, 0x0b, 0xca, 0xfe, + 0x11, 0xfa, 0x58, 0x43, 0xfe, 0x62, 0x07, 0x94, 0xa8, 0xc9, 0x55, 0xa6, 0xc9, 0x79, 0x72, 0x56, + 0x49, 0x13, 0x1a, 0x96, 0xf9, 0xcf, 0x34, 0x18, 0x09, 0x7d, 0xae, 0x80, 0xb4, 0xf7, 0xf3, 0xf8, + 0x8f, 0x3d, 0xe4, 0x2f, 0x64, 0x27, 0x44, 0x2d, 0x16, 0x99, 0x16, 0x37, 0xc8, 0x35, 0x25, 0x2d, + 0x42, 0x1f, 0x75, 0x98, 0x7e, 0x8a, 0xbd, 0xf3, 0x8c, 0xf5, 0x4b, 0xf8, 0xeb, 0x0b, 0x24, 0xb3, + 0x58, 0x19, 0xfa, 0x25, 0xe9, 0x53, 0x0f, 0x19, 0xfb, 0x25, 0xfc, 0x99, 0x0a, 0xf2, 0x2f, 0x1a, + 0xec, 0x8d, 0x85, 0xd0, 0x93, 0xab, 0xea, 0x32, 0xc5, 0x7c, 0x83, 0x21, 0x7f, 0xad, 0x53, 0x72, + 0xd4, 0xeb, 0x1e, 0xd3, 0xeb, 0x36, 0x59, 0xcc, 0xa6, 0x97, 0x9f, 0xd7, 0xf4, 0x53, 0x99, 0x5a, + 0x3d, 0x23, 0x6f, 0x6a, 0x30, 0x11, 0xff, 0xad, 0x00, 0xd2, 0xa1, 0xa8, 0xb2, 0xf7, 0xae, 0x77, + 0x4c, 0x8f, 0xba, 0xce, 0x33, 0x5d, 0xaf, 0x92, 0xcb, 0x9d, 0xeb, 0xea, 0x90, 0x2f, 0x68, 0x30, + 0xe8, 0xff, 0xf8, 0x02, 0x39, 0xd3, 0x56, 0xac, 0x98, 0x8f, 0x52, 0xe4, 0xcf, 0x66, 0xa4, 0x42, + 0x15, 0xe6, 0x98, 0x0a, 0x57, 0xc8, 0x25, 0x25, 0x15, 0x02, 0x9f, 0x95, 0x98, 0x7e, 0xca, 0x1e, + 0x9f, 0x91, 0xcf, 0x69, 0x30, 0x14, 0xf8, 0x7c, 0x04, 0xc9, 0x26, 0x8c, 0xec, 0x90, 0x73, 0x59, + 0xc9, 0x50, 0x89, 0xcb, 0x4c, 0x89, 0xb3, 0xe4, 0x74, 0x76, 0x25, 0x1c, 0xf2, 0x3b, 0x1a, 0x0c, + 0xf8, 0xd0, 0xcc, 0xe4, 0x74, 0xfb, 0x69, 0x23, 0x82, 0xc2, 0xce, 0x9f, 0xc9, 0x46, 0x84, 0x72, + 0x9f, 0x64, 0x72, 0x1f, 0x27, 0xc7, 0xd2, 0xe4, 0x76, 0xea, 0xb6, 0x3b, 0x8d, 0xcb, 0x68, 0xf2, + 0x19, 0x0d, 0xc0, 0x87, 0x5c, 0x9f, 0xc9, 0xd0, 0xac, 0x10, 0xf5, 0x74, 0x26, 0x1a, 0x94, 0xf4, + 0x0a, 0x93, 0xf4, 0x1c, 0x39, 0xa3, 0x2a, 0x69, 0x60, 0x0c, 0x7f, 0x4e, 0x83, 0x91, 0x10, 0x68, + 0x5c, 0x61, 0x12, 0x89, 0x07, 0xbc, 0x2b, 0x4c, 0x22, 0x09, 0xf8, 0x74, 0xfd, 0x2c, 0x53, 0x62, + 0x9a, 0x9c, 0x68, 0xab, 0xc4, 0x7a, 0xd3, 0xb2, 0x8a, 0xc2, 0xe6, 0x5f, 0x8a, 0x7e, 0x31, 0xe0, + 0x5c, 0x46, 0x19, 0xd4, 0x33, 0xc4, 0x78, 0x18, 0xba, 0x7e, 0x83, 0x89, 0x7e, 0x89, 0x5c, 0xc8, + 0x22, 0x7a, 0xa0, 0x0f, 0x3e, 0xaf, 0xc1, 0x50, 0xe0, 0x6b, 0x0d, 0x0a, 0x83, 0x34, 0xee, 0xb3, + 0x19, 0x0a, 0x83, 0x34, 0xf6, 0xa3, 0x10, 0x6a, 0x29, 0x15, 0x53, 0xc1, 0x16, 0xb4, 0x01, 0x05, + 0xbe, 0xae, 0xc1, 0x68, 0x18, 0x7d, 0xa7, 0x30, 0x75, 0x27, 0xc0, 0xcf, 0x15, 0xa6, 0xee, 0x24, + 0x28, 0xb3, 0x7e, 0x87, 0x69, 0x72, 0x93, 0xcc, 0xab, 0x69, 0x12, 0x18, 0x0b, 0xd3, 0x4f, 0x03, + 0xbb, 0x5a, 0xcf, 0xc8, 0x7f, 0x68, 0x30, 0x99, 0x04, 0x64, 0x26, 0x37, 0xda, 0xcf, 0x50, 0xe9, + 0xd8, 0xf7, 0xfc, 0xec, 0x36, 0x38, 0xa0, 0xba, 0x0f, 0x99, 0xba, 0xf7, 0xc9, 0x72, 0x27, 0xea, + 0xa2, 0xaa, 0x32, 0x05, 0x13, 0xa7, 0x03, 0xcf, 0xc8, 0xb7, 0xbd, 0x05, 0x4c, 0xe4, 0x4b, 0x04, + 0x2a, 0x0b, 0x98, 0xa4, 0xaf, 0x28, 0xa8, 0x2c, 0x60, 0x12, 0x3f, 0x7d, 0x90, 0x59, 0xcd, 0xe2, + 0xda, 0x16, 0x82, 0x6c, 0x52, 0xfb, 0xf7, 0x4b, 0x1a, 0x8c, 0x86, 0x3f, 0x7d, 0xa8, 0xe0, 0xb6, + 0x09, 0x1f, 0x64, 0xcc, 0x5f, 0xec, 0x80, 0x12, 0x15, 0xbc, 0xc4, 0x14, 0x3c, 0x43, 0x66, 0xd2, + 0x14, 0x14, 0x5d, 0x18, 0xd2, 0xe2, 0x3b, 0x1a, 0xec, 0x6f, 0x8d, 0x87, 0xd5, 0x86, 0x51, 0x73, + 0x4c, 0x5a, 0x7b, 0x4f, 0x47, 0xa1, 0x7a, 0x7f, 0xb9, 0x42, 0xdc, 0xa2, 0xc2, 0x78, 0xfc, 0x5b, + 0x74, 0xcb, 0x20, 0x82, 0x42, 0xd1, 0x2d, 0x63, 0x61, 0xed, 0x8a, 0x6e, 0x19, 0x0f, 0x66, 0x57, + 0x5b, 0xf9, 0xf0, 0x99, 0x37, 0x0c, 0x14, 0x09, 0x84, 0xcf, 0x7f, 0xd3, 0x60, 0x32, 0x09, 0x39, + 0xaf, 0x10, 0x67, 0xda, 0x40, 0xf7, 0x15, 0xe2, 0x4c, 0x3b, 0xd8, 0xbe, 0x7e, 0x97, 0x69, 0xba, + 0x48, 0x16, 0xd2, 0x34, 0x6d, 0x1d, 0x74, 0xb6, 0xd1, 0xf7, 0x1b, 0x1a, 0x8c, 0xc5, 0xa0, 0xcd, + 0xc9, 0xe5, 0x0c, 0x82, 0x46, 0xe6, 0xbe, 0x2b, 0x9d, 0x11, 0xa3, 0x82, 0x0b, 0x4c, 0xc1, 0x6b, + 0xe4, 0x8a, 0xa2, 0x82, 0xf1, 0xf3, 0xe0, 0xbf, 0x6a, 0x30, 0x11, 0x0f, 0xa0, 0x54, 0x58, 0x10, + 0xa5, 0x22, 0x78, 0x15, 0x16, 0x44, 0xe9, 0xc8, 0x4d, 0xfd, 0x83, 0x4c, 0xc3, 0x3b, 0x64, 0x29, + 0x8b, 0x86, 0xe9, 0xe3, 0xf1, 0xe7, 0x73, 0x70, 0x20, 0x1d, 0xb7, 0x49, 0x16, 0x33, 0xce, 0x71, + 0x49, 0xea, 0xdf, 0xda, 0x36, 0x1f, 0x34, 0xc3, 0x47, 0x98, 0x19, 0x1e, 0x92, 0x95, 0xce, 0xcd, + 0x90, 0x3c, 0x6f, 0xfe, 0x77, 0x60, 0x20, 0x87, 0x66, 0xcf, 0x1b, 0x59, 0x1d, 0x34, 0x32, 0x87, + 0xce, 0x6e, 0x83, 0xc3, 0xb6, 0xd4, 0x57, 0x9c, 0x4f, 0xff, 0x47, 0x83, 0x83, 0x61, 0x2f, 0x0c, + 0xcf, 0x47, 0xef, 0xf9, 0x38, 0xc8, 0x6a, 0x81, 0x4c, 0x33, 0xd4, 0x1f, 0x69, 0xb0, 0x27, 0x02, + 0xd5, 0x53, 0xd8, 0x28, 0x4d, 0x02, 0xdd, 0x2a, 0x6c, 0x94, 0x26, 0x22, 0x03, 0xf5, 0x73, 0x4c, + 0xd3, 0x93, 0x64, 0x4a, 0x35, 0x68, 0xa3, 0xb8, 0x5f, 0xd5, 0x60, 0x34, 0x02, 0x16, 0xbd, 0x90, + 0x59, 0x10, 0xf5, 0x3c, 0x22, 0x09, 0x31, 0xa8, 0xb6, 0x03, 0x12, 0xd5, 0x20, 0x10, 0x93, 0xbf, + 0xa3, 0xc1, 0xbe, 0x04, 0x8c, 0x1f, 0xb9, 0x9e, 0x59, 0xb4, 0x20, 0xc2, 0x30, 0x7f, 0xa3, 0x73, + 0x06, 0xa8, 0xe2, 0x12, 0x53, 0x71, 0x9e, 0xcc, 0x66, 0x52, 0x51, 0x84, 0x9c, 0x80, 0xa6, 0x7f, + 0xa5, 0xc1, 0x78, 0x1c, 0x28, 0x83, 0x5c, 0xc9, 0x90, 0x98, 0x46, 0xd0, 0x89, 0xf9, 0xab, 0x1d, + 0x52, 0x67, 0xd9, 0x9e, 0x90, 0x05, 0xe1, 0x01, 0xf5, 0x7b, 0x1a, 0x8c, 0x89, 0xfd, 0x73, 0x1f, + 0x34, 0x44, 0x61, 0x27, 0x28, 0x8a, 0x31, 0x51, 0xd8, 0x09, 0x8a, 0x41, 0x9f, 0xa8, 0xed, 0x04, + 0x55, 0x19, 0x61, 0x91, 0x01, 0x3e, 0xc8, 0x6f, 0x69, 0xd0, 0x2f, 0x21, 0x25, 0xe4, 0x54, 0xdb, + 0x56, 0xc3, 0xb8, 0x94, 0xfc, 0x4c, 0x16, 0x12, 0x14, 0xf3, 0x04, 0x13, 0xf3, 0x45, 0x72, 0x34, + 0x4d, 0xcc, 0xba, 0x94, 0xea, 0x2f, 0x35, 0x18, 0x8b, 0x41, 0x35, 0x92, 0x2c, 0x07, 0x4d, 0x11, + 0xb9, 0xaf, 0x74, 0x46, 0x9c, 0x65, 0xdb, 0x5d, 0x6a, 0x10, 0x71, 0x95, 0x7f, 0xd7, 0x20, 0x9f, + 0x8c, 0x9b, 0x24, 0x73, 0x1d, 0xc8, 0x16, 0x02, 0xa7, 0xe6, 0xe7, 0xb7, 0xc5, 0x23, 0xcb, 0x88, + 0x4f, 0x54, 0x33, 0x30, 0xe2, 0x7f, 0x29, 0x07, 0x47, 0x14, 0x70, 0x8b, 0xe4, 0x4e, 0x06, 0xb9, + 0xdb, 0x21, 0x74, 0xf3, 0x77, 0x77, 0x86, 0x19, 0x5a, 0x63, 0x85, 0x59, 0x63, 0x99, 0xdc, 0x49, + 0x0d, 0x0f, 0xf2, 0x7a, 0x82, 0x9a, 0x5d, 0xfe, 0x4e, 0x83, 0xb1, 0x18, 0x24, 0xa3, 0x82, 0x73, + 0x27, 0xc3, 0x30, 0x15, 0x9c, 0x3b, 0x05, 0x83, 0xa9, 0xdf, 0x64, 0x7a, 0x5e, 0x27, 0x57, 0x53, + 0x7b, 0x5d, 0x7e, 0x48, 0xc1, 0xf7, 0x69, 0x89, 0x80, 0x66, 0xdf, 0xd2, 0x60, 0x5f, 0x02, 0xd8, + 0x51, 0x61, 0x36, 0x4b, 0x47, 0x6d, 0x2a, 0xcc, 0x66, 0x6d, 0x20, 0x9b, 0xaa, 0x47, 0x16, 0x1e, + 0x93, 0x44, 0x15, 0xdf, 0xd6, 0x60, 0x22, 0x1e, 0x15, 0xa9, 0x90, 0x3c, 0xa6, 0x82, 0x3b, 0x15, + 0x92, 0xc7, 0x74, 0x64, 0xa7, 0x7e, 0x9b, 0xe9, 0x37, 0x47, 0x6e, 0x64, 0xea, 0x45, 0xfc, 0x1a, + 0x47, 0xa4, 0x23, 0x13, 0xe0, 0x9c, 0x0a, 0x1d, 0x99, 0x8e, 0x6d, 0x57, 0xe8, 0xc8, 0x36, 0x48, + 0x52, 0xb5, 0x8e, 0xe4, 0x57, 0xca, 0xc4, 0xa5, 0xcb, 0xb8, 0xed, 0xb5, 0x3d, 0x51, 0xc0, 0x99, + 0xe2, 0xb6, 0x52, 0x0c, 0x4e, 0x52, 0x21, 0x19, 0x4e, 0x84, 0x3b, 0xea, 0xe7, 0x99, 0x42, 0xa7, + 0xc8, 0x74, 0x9a, 0x42, 0x31, 0x48, 0x33, 0xf2, 0xd7, 0x1a, 0x4c, 0x3e, 0x68, 0x61, 0xd7, 0xbe, + 0x2f, 0x94, 0x51, 0xba, 0xd0, 0xe1, 0x47, 0xf5, 0x85, 0x95, 0xfa, 0xaa, 0xb8, 0xf3, 0x1c, 0x04, + 0x3d, 0x2a, 0x04, 0xc8, 0x64, 0x28, 0xa7, 0x42, 0x80, 0x4c, 0xc1, 0x78, 0xea, 0x17, 0x99, 0x4e, + 0xa7, 0xc9, 0x29, 0xe5, 0x0e, 0x12, 0xd0, 0x44, 0xf2, 0x96, 0x06, 0x13, 0xf1, 0x58, 0x34, 0x85, + 0x88, 0x91, 0x8a, 0x82, 0x53, 0x88, 0x18, 0xe9, 0x20, 0x38, 0xfd, 0x16, 0x53, 0x6b, 0x96, 0x5c, + 0x4f, 0x53, 0x2b, 0x00, 0x0d, 0xf3, 0x83, 0xe2, 0x7c, 0xd7, 0x23, 0xbc, 0x2e, 0x8b, 0x41, 0x82, + 0x29, 0x74, 0x59, 0x32, 0x76, 0x4d, 0xa1, 0xcb, 0x52, 0x40, 0x6d, 0x6a, 0x5d, 0x16, 0x0b, 0x7b, + 0x23, 0x5f, 0xd3, 0x60, 0x4f, 0x04, 0xbf, 0xa4, 0x30, 0x9c, 0x92, 0xa0, 0x6d, 0x0a, 0xc3, 0x29, + 0x11, 0x2e, 0xa5, 0xb6, 0xf9, 0x17, 0x05, 0x54, 0x4d, 0x3f, 0xf5, 0x81, 0xe9, 0x9e, 0x91, 0x7f, + 0xd4, 0x60, 0x5f, 0x02, 0xa4, 0x47, 0x21, 0xa2, 0xa7, 0xc3, 0xa9, 0x14, 0x22, 0x7a, 0x1b, 0x34, + 0x91, 0x5a, 0xcc, 0x10, 0xff, 0x1a, 0x26, 0x06, 0x70, 0x44, 0xfe, 0x49, 0x83, 0xfd, 0x89, 0xb0, + 0x1d, 0x32, 0x9b, 0xc5, 0x93, 0x62, 0x61, 0x45, 0xf9, 0xb9, 0xed, 0xb0, 0xc8, 0x72, 0xdd, 0x20, + 0xe0, 0x92, 0x0c, 0xa2, 0xea, 0xad, 0xdb, 0x1c, 0xf2, 0x69, 0x0d, 0x86, 0x83, 0x70, 0xa0, 0xf4, + 0xc5, 0x5b, 0x2c, 0xa8, 0x28, 0x7d, 0xf1, 0x16, 0x8f, 0x36, 0xd2, 0xcf, 0x30, 0xb1, 0xa7, 0xc8, + 0xcb, 0xa9, 0x6b, 0x4c, 0xd3, 0xb5, 0x8b, 0x1c, 0xc7, 0x63, 0x32, 0xe1, 0xbe, 0xae, 0xe1, 0xf7, + 0x0b, 0x22, 0x90, 0x1d, 0x85, 0x91, 0x94, 0x04, 0x16, 0x52, 0x18, 0x49, 0x89, 0x08, 0x21, 0xb5, + 0x5b, 0x37, 0x5c, 0x05, 0x99, 0x0b, 0x4d, 0x3f, 0x0d, 0x60, 0x93, 0x58, 0xf6, 0x3e, 0x11, 0x0f, + 0x01, 0x52, 0x08, 0xe7, 0xa9, 0xf0, 0x23, 0x85, 0x70, 0x9e, 0x8e, 0x3d, 0x52, 0xdb, 0xcd, 0xd8, + 0x90, 0x3c, 0x8a, 0x01, 0xa0, 0x12, 0x5b, 0x97, 0xc4, 0x40, 0xc5, 0x15, 0x62, 0x78, 0x32, 0x3a, + 0x5d, 0x21, 0x86, 0xa7, 0xa0, 0xd3, 0xd5, 0xd6, 0x25, 0x7e, 0xfc, 0x7a, 0xd1, 0x5e, 0xc7, 0x09, + 0xd8, 0xf1, 0xcd, 0x4e, 0xff, 0xac, 0xc1, 0xfe, 0x44, 0x54, 0xba, 0x42, 0x70, 0x68, 0x07, 0x7d, + 0x57, 0x08, 0x0e, 0x6d, 0x41, 0xf1, 0xfa, 0x2c, 0xd3, 0xf5, 0x32, 0xb9, 0x98, 0x9a, 0xd4, 0xc6, + 0x28, 0x5a, 0x94, 0x9f, 0xe3, 0xf8, 0x8a, 0x06, 0xa3, 0x61, 0x28, 0x93, 0xc2, 0xde, 0x68, 0x02, + 0x40, 0x2b, 0x7f, 0xb1, 0x03, 0xca, 0x2c, 0xca, 0xb4, 0xfe, 0x63, 0x14, 0x92, 0x07, 0xd6, 0x20, + 0x5f, 0xd4, 0x60, 0x3c, 0x06, 0x19, 0xa4, 0x72, 0x47, 0x2c, 0x0e, 0xc9, 0xa4, 0x70, 0xfd, 0x24, + 0x16, 0xcb, 0xa4, 0x76, 0xfa, 0xbd, 0xc6, 0x48, 0x05, 0x48, 0x4d, 0x6e, 0x56, 0xff, 0x6a, 0x0e, + 0x0e, 0xb7, 0xc5, 0xa8, 0x90, 0xa5, 0xcc, 0xa7, 0x06, 0x49, 0xe0, 0xa7, 0xfc, 0x2b, 0x3b, 0xc1, + 0x0a, 0x15, 0xff, 0x61, 0xa6, 0xf8, 0x6b, 0xe4, 0x61, 0xb6, 0xc3, 0xa8, 0x52, 0x8b, 0x61, 0xea, + 0x69, 0xc4, 0xf7, 0x34, 0xd0, 0xdb, 0xe3, 0x5c, 0xc8, 0x2b, 0x8a, 0x4e, 0xa8, 0x80, 0xbd, 0xc9, + 0xdf, 0xd9, 0x11, 0x5e, 0x59, 0x52, 0x16, 0x83, 0x71, 0xe2, 0x87, 0x33, 0x45, 0x6f, 0x66, 0x6f, + 0x81, 0x6e, 0xc8, 0x9f, 0x6a, 0x30, 0x1a, 0x46, 0xcd, 0xa8, 0x5c, 0x29, 0x8e, 0xc7, 0xe8, 0xa8, + 0x5c, 0x29, 0x4e, 0x80, 0xe8, 0xa8, 0x5d, 0x12, 0x33, 0xf8, 0x1e, 0x97, 0xe3, 0x91, 0x73, 0x94, + 0xc8, 0xf4, 0x53, 0x44, 0xbe, 0x3c, 0x23, 0xdf, 0xd4, 0x80, 0x44, 0x81, 0x1c, 0x0a, 0x97, 0x1f, + 0x12, 0x11, 0x38, 0x0a, 0x97, 0x1f, 0x92, 0x71, 0x36, 0x6a, 0x37, 0xad, 0x10, 0xea, 0xe2, 0x67, + 0x20, 0x54, 0x6a, 0x3c, 0xf3, 0x29, 0xf7, 0x75, 0x0d, 0xc6, 0x62, 0xb0, 0x33, 0xa4, 0x13, 0x09, + 0x33, 0x4c, 0x8c, 0x29, 0x70, 0x1d, 0xb5, 0x1d, 0x90, 0x18, 0xfd, 0x9c, 0x96, 0x82, 0x73, 0x1b, + 0x5f, 0x7e, 0xeb, 0x80, 0xf6, 0xb5, 0xb7, 0x0e, 0x68, 0xdf, 0x7a, 0xeb, 0x80, 0xf6, 0x8b, 0x6f, + 0x1f, 0xd8, 0xf5, 0xb5, 0xb7, 0x0f, 0xec, 0xfa, 0xfb, 0xb7, 0x0f, 0xec, 0x7a, 0xfd, 0x5e, 0xc5, + 0x74, 0x37, 0x9a, 0x6b, 0x53, 0x25, 0xbb, 0x3a, 0xbd, 0x24, 0xf8, 0xdf, 0x35, 0xd6, 0x9c, 0x56, + 0x6b, 0x27, 0x4a, 0x76, 0x83, 0xfa, 0x1f, 0x37, 0x0c, 0xb3, 0x86, 0x07, 0x0d, 0x4e, 0x4b, 0x14, + 0x77, 0xab, 0x4e, 0x9d, 0xb5, 0x5e, 0xf6, 0x4f, 0x68, 0x4f, 0xff, 0x6f, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x1e, 0xed, 0xe6, 0xe6, 0x7a, 0x77, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -6956,6 +7277,12 @@ type QueryClient interface { // Retrieves a trader's derivative conditional orders TraderDerivativeConditionalOrders(ctx context.Context, in *QueryTraderDerivativeConditionalOrdersRequest, opts ...grpc.CallOption) (*QueryTraderDerivativeConditionalOrdersResponse, error) MarketAtomicExecutionFeeMultiplier(ctx context.Context, in *QueryMarketAtomicExecutionFeeMultiplierRequest, opts ...grpc.CallOption) (*QueryMarketAtomicExecutionFeeMultiplierResponse, error) + // Retrieves the active stake grant for a grantee + ActiveStakeGrant(ctx context.Context, in *QueryActiveStakeGrantRequest, opts ...grpc.CallOption) (*QueryActiveStakeGrantResponse, error) + // Retrieves the grant authorization amount for a granter and grantee + GrantAuthorization(ctx context.Context, in *QueryGrantAuthorizationRequest, opts ...grpc.CallOption) (*QueryGrantAuthorizationResponse, error) + // Retrieves the grant authorization amount for a granter and grantee + GrantAuthorizations(ctx context.Context, in *QueryGrantAuthorizationsRequest, opts ...grpc.CallOption) (*QueryGrantAuthorizationsResponse, error) } type queryClient struct { @@ -7479,6 +7806,33 @@ func (c *queryClient) MarketAtomicExecutionFeeMultiplier(ctx context.Context, in return out, nil } +func (c *queryClient) ActiveStakeGrant(ctx context.Context, in *QueryActiveStakeGrantRequest, opts ...grpc.CallOption) (*QueryActiveStakeGrantResponse, error) { + out := new(QueryActiveStakeGrantResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Query/ActiveStakeGrant", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) GrantAuthorization(ctx context.Context, in *QueryGrantAuthorizationRequest, opts ...grpc.CallOption) (*QueryGrantAuthorizationResponse, error) { + out := new(QueryGrantAuthorizationResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Query/GrantAuthorization", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) GrantAuthorizations(ctx context.Context, in *QueryGrantAuthorizationsRequest, opts ...grpc.CallOption) (*QueryGrantAuthorizationsResponse, error) { + out := new(QueryGrantAuthorizationsResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Query/GrantAuthorizations", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. type QueryServer interface { // Retrieves exchange params @@ -7599,6 +7953,12 @@ type QueryServer interface { // Retrieves a trader's derivative conditional orders TraderDerivativeConditionalOrders(context.Context, *QueryTraderDerivativeConditionalOrdersRequest) (*QueryTraderDerivativeConditionalOrdersResponse, error) MarketAtomicExecutionFeeMultiplier(context.Context, *QueryMarketAtomicExecutionFeeMultiplierRequest) (*QueryMarketAtomicExecutionFeeMultiplierResponse, error) + // Retrieves the active stake grant for a grantee + ActiveStakeGrant(context.Context, *QueryActiveStakeGrantRequest) (*QueryActiveStakeGrantResponse, error) + // Retrieves the grant authorization amount for a granter and grantee + GrantAuthorization(context.Context, *QueryGrantAuthorizationRequest) (*QueryGrantAuthorizationResponse, error) + // Retrieves the grant authorization amount for a granter and grantee + GrantAuthorizations(context.Context, *QueryGrantAuthorizationsRequest) (*QueryGrantAuthorizationsResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -7776,6 +8136,15 @@ func (*UnimplementedQueryServer) TraderDerivativeConditionalOrders(ctx context.C func (*UnimplementedQueryServer) MarketAtomicExecutionFeeMultiplier(ctx context.Context, req *QueryMarketAtomicExecutionFeeMultiplierRequest) (*QueryMarketAtomicExecutionFeeMultiplierResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method MarketAtomicExecutionFeeMultiplier not implemented") } +func (*UnimplementedQueryServer) ActiveStakeGrant(ctx context.Context, req *QueryActiveStakeGrantRequest) (*QueryActiveStakeGrantResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ActiveStakeGrant not implemented") +} +func (*UnimplementedQueryServer) GrantAuthorization(ctx context.Context, req *QueryGrantAuthorizationRequest) (*QueryGrantAuthorizationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GrantAuthorization not implemented") +} +func (*UnimplementedQueryServer) GrantAuthorizations(ctx context.Context, req *QueryGrantAuthorizationsRequest) (*QueryGrantAuthorizationsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GrantAuthorizations not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -8807,6 +9176,60 @@ func _Query_MarketAtomicExecutionFeeMultiplier_Handler(srv interface{}, ctx cont return interceptor(ctx, in, info, handler) } +func _Query_ActiveStakeGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryActiveStakeGrantRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).ActiveStakeGrant(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.exchange.v1beta1.Query/ActiveStakeGrant", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ActiveStakeGrant(ctx, req.(*QueryActiveStakeGrantRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_GrantAuthorization_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryGrantAuthorizationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).GrantAuthorization(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.exchange.v1beta1.Query/GrantAuthorization", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).GrantAuthorization(ctx, req.(*QueryGrantAuthorizationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_GrantAuthorizations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryGrantAuthorizationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).GrantAuthorizations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.exchange.v1beta1.Query/GrantAuthorizations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).GrantAuthorizations(ctx, req.(*QueryGrantAuthorizationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "injective.exchange.v1beta1.Query", HandlerType: (*QueryServer)(nil), @@ -9039,6 +9462,18 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "MarketAtomicExecutionFeeMultiplier", Handler: _Query_MarketAtomicExecutionFeeMultiplier_Handler, }, + { + MethodName: "ActiveStakeGrant", + Handler: _Query_ActiveStakeGrant_Handler, + }, + { + MethodName: "GrantAuthorization", + Handler: _Query_GrantAuthorization_Handler, + }, + { + MethodName: "GrantAuthorizations", + Handler: _Query_GrantAuthorizations_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "injective/exchange/v1beta1/query.proto", @@ -10557,6 +10992,13 @@ func (m *TrimmedSpotLimitOrder) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x32 + } if len(m.OrderHash) > 0 { i -= len(m.OrderHash) copy(dAtA[i:], m.OrderHash) @@ -11189,6 +11631,13 @@ func (m *TrimmedDerivativeLimitOrder) MarshalToSizedBuffer(dAtA []byte) (int, er _ = i var l int _ = l + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x3a + } if len(m.OrderHash) > 0 { i -= len(m.OrderHash) copy(dAtA[i:], m.OrderHash) @@ -13831,6 +14280,13 @@ func (m *TrimmedDerivativeConditionalOrder) MarshalToSizedBuffer(dAtA []byte) (i _ = i var l int _ = l + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x42 + } if len(m.OrderHash) > 0 { i -= len(m.OrderHash) copy(dAtA[i:], m.OrderHash) @@ -14001,12 +14457,236 @@ func (m *QueryMarketAtomicExecutionFeeMultiplierResponse) MarshalToSizedBuffer(d 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 +func (m *QueryActiveStakeGrantRequest) 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 *QueryActiveStakeGrantRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryActiveStakeGrantRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Grantee) > 0 { + i -= len(m.Grantee) + copy(dAtA[i:], m.Grantee) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Grantee))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryActiveStakeGrantResponse) 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 *QueryActiveStakeGrantResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryActiveStakeGrantResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.EffectiveGrant != nil { + { + size, err := m.EffectiveGrant.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if m.Grant != nil { + { + size, err := m.Grant.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 *QueryGrantAuthorizationRequest) 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 *QueryGrantAuthorizationRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryGrantAuthorizationRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Grantee) > 0 { + i -= len(m.Grantee) + copy(dAtA[i:], m.Grantee) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Grantee))) + i-- + dAtA[i] = 0x12 + } + if len(m.Granter) > 0 { + i -= len(m.Granter) + copy(dAtA[i:], m.Granter) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Granter))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryGrantAuthorizationResponse) 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 *QueryGrantAuthorizationResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryGrantAuthorizationResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size := m.Amount.Size() + i -= size + if _, err := m.Amount.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *QueryGrantAuthorizationsRequest) 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 *QueryGrantAuthorizationsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryGrantAuthorizationsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Granter) > 0 { + i -= len(m.Granter) + copy(dAtA[i:], m.Granter) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Granter))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryGrantAuthorizationsResponse) 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 *QueryGrantAuthorizationsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryGrantAuthorizationsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Grants) > 0 { + for iNdEx := len(m.Grants) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Grants[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } + { + size := m.TotalGrantAmount.Size() + i -= size + if _, err := m.TotalGrantAmount.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + 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) @@ -14660,6 +15340,10 @@ func (m *TrimmedSpotLimitOrder) Size() (n int) { if l > 0 { n += 1 + l + sovQuery(uint64(l)) } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } return n } @@ -14911,6 +15595,10 @@ func (m *TrimmedDerivativeLimitOrder) Size() (n int) { if l > 0 { n += 1 + l + sovQuery(uint64(l)) } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } return n } @@ -15973,6 +16661,10 @@ func (m *TrimmedDerivativeConditionalOrder) Size() (n int) { if l > 0 { n += 1 + l + sovQuery(uint64(l)) } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } return n } @@ -16015,50 +16707,138 @@ func (m *QueryMarketAtomicExecutionFeeMultiplierResponse) Size() (n int) { return n } -func sovQuery(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 +func (m *QueryActiveStakeGrantRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Grantee) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n } -func sozQuery(x uint64) (n int) { - return sovQuery(uint64((x << 1) ^ uint64((int64(x) >> 63)))) + +func (m *QueryActiveStakeGrantResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Grant != nil { + l = m.Grant.Size() + n += 1 + l + sovQuery(uint64(l)) + } + if m.EffectiveGrant != nil { + l = m.EffectiveGrant.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n } -func (m *Subaccount) 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: Subaccount: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Subaccount: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Trader", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } + +func (m *QueryGrantAuthorizationRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Granter) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.Grantee) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryGrantAuthorizationResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Amount.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryGrantAuthorizationsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Granter) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryGrantAuthorizationsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.TotalGrantAmount.Size() + n += 1 + l + sovQuery(uint64(l)) + if len(m.Grants) > 0 { + for _, e := range m.Grants { + l = e.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 *Subaccount) 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: Subaccount: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Subaccount: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Trader", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } if iNdEx >= l { return io.ErrUnexpectedEOF } @@ -18797,7 +19577,7 @@ func (m *QuerySpotOrderbookRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.LimitCumulativeNotional = &v if err := m.LimitCumulativeNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -18833,7 +19613,7 @@ func (m *QuerySpotOrderbookRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.LimitCumulativeQuantity = &v if err := m.LimitCumulativeQuantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -20147,6 +20927,38 @@ func (m *TrimmedSpotLimitOrder) Unmarshal(dAtA []byte) error { } m.OrderHash = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cid", 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.Cid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -20477,7 +21289,7 @@ func (m *QuerySpotMidPriceAndTOBResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MidPrice = &v if err := m.MidPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -20513,7 +21325,7 @@ func (m *QuerySpotMidPriceAndTOBResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.BestBuyPrice = &v if err := m.BestBuyPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -20549,7 +21361,7 @@ func (m *QuerySpotMidPriceAndTOBResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.BestSellPrice = &v if err := m.BestSellPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -20717,7 +21529,7 @@ func (m *QueryDerivativeMidPriceAndTOBResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.MidPrice = &v if err := m.MidPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -20753,7 +21565,7 @@ func (m *QueryDerivativeMidPriceAndTOBResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.BestBuyPrice = &v if err := m.BestBuyPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -20789,7 +21601,7 @@ func (m *QueryDerivativeMidPriceAndTOBResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.BestSellPrice = &v if err := m.BestSellPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -20926,7 +21738,7 @@ func (m *QueryDerivativeOrderbookRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.LimitCumulativeNotional = &v if err := m.LimitCumulativeNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -21281,7 +22093,7 @@ func (m *QueryTraderSpotOrdersToCancelUpToAmountRequest) Unmarshal(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.ReferencePrice = &v if err := m.ReferencePrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -21484,7 +22296,7 @@ func (m *QueryTraderDerivativeOrdersToCancelUpToAmountRequest) Unmarshal(dAtA [] if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.ReferencePrice = &v if err := m.ReferencePrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -21956,6 +22768,38 @@ func (m *TrimmedDerivativeLimitOrder) Unmarshal(dAtA []byte) error { } m.OrderHash = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cid", 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.Cid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -25403,7 +26247,7 @@ func (m *QueryTradeRewardPointsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.AccountTradeRewardPoints = append(m.AccountTradeRewardPoints, v) if err := m.AccountTradeRewardPoints[len(m.AccountTradeRewardPoints)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -25677,7 +26521,7 @@ func (m *QueryTradeRewardCampaignResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.PendingTotalTradeRewardPoints = append(m.PendingTotalTradeRewardPoints, v) if err := m.PendingTotalTradeRewardPoints[len(m.PendingTotalTradeRewardPoints)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -28219,7 +29063,7 @@ func (m *QueryMarketVolatilityResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.Volatility = &v if err := m.Volatility.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -28833,6 +29677,38 @@ func (m *TrimmedDerivativeConditionalOrder) Unmarshal(dAtA []byte) error { } m.OrderHash = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cid", 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.Cid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -29104,6 +29980,608 @@ func (m *QueryMarketAtomicExecutionFeeMultiplierResponse) Unmarshal(dAtA []byte) } return nil } +func (m *QueryActiveStakeGrantRequest) 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: QueryActiveStakeGrantRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryActiveStakeGrantRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grantee", 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.Grantee = 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 *QueryActiveStakeGrantResponse) 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: QueryActiveStakeGrantResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryActiveStakeGrantResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grant", 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.Grant == nil { + m.Grant = &ActiveGrant{} + } + if err := m.Grant.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EffectiveGrant", 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.EffectiveGrant == nil { + m.EffectiveGrant = &EffectiveGrant{} + } + if err := m.EffectiveGrant.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 *QueryGrantAuthorizationRequest) 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: QueryGrantAuthorizationRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryGrantAuthorizationRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Granter", 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.Granter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grantee", 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.Grantee = 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 *QueryGrantAuthorizationResponse) 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: QueryGrantAuthorizationResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryGrantAuthorizationResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + 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 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 + } + if err := m.Amount.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 *QueryGrantAuthorizationsRequest) 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: QueryGrantAuthorizationsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryGrantAuthorizationsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Granter", 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.Granter = 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 *QueryGrantAuthorizationsResponse) 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: QueryGrantAuthorizationsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryGrantAuthorizationsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalGrantAmount", 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 + } + if err := m.TotalGrantAmount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Grants", 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.Grants = append(m.Grants, &GrantAuthorization{}) + if err := m.Grants[len(m.Grants)-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 skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/exchange/types/spot_orders.go b/chain/exchange/types/spot_orders.go index 29147bd2..3253e5b5 100644 --- a/chain/exchange/types/spot_orders.go +++ b/chain/exchange/types/spot_orders.go @@ -4,6 +4,7 @@ import ( "strconv" "cosmossdk.io/errors" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/ethereum/go-ethereum/common" ethmath "github.com/ethereum/go-ethereum/common/math" @@ -11,7 +12,7 @@ import ( "golang.org/x/crypto/sha3" ) -func (o *SpotOrder) ToSpotMarketOrder(sender sdk.AccAddress, balanceHold sdk.Dec, orderHash common.Hash) *SpotMarketOrder { +func (o *SpotOrder) ToSpotMarketOrder(sender sdk.AccAddress, balanceHold math.LegacyDec, orderHash common.Hash) *SpotMarketOrder { if o.OrderInfo.FeeRecipient == "" { o.OrderInfo.FeeRecipient = sender.String() } @@ -85,7 +86,7 @@ func (o *SpotMarketOrder) FeeRecipient() common.Address { return o.OrderInfo.FeeRecipientAddress() } -func (o *SpotOrder) CheckTickSize(minPriceTickSize, minQuantityTickSize sdk.Dec) error { +func (o *SpotOrder) CheckTickSize(minPriceTickSize, minQuantityTickSize math.LegacyDec) error { if BreachesMinimumTickSize(o.OrderInfo.Price, minPriceTickSize) { return errors.Wrapf(ErrInvalidPrice, "price %s must be a multiple of the minimum price tick size %s", o.OrderInfo.Price.String(), minPriceTickSize.String()) } @@ -95,6 +96,14 @@ func (o *SpotOrder) CheckTickSize(minPriceTickSize, minQuantityTickSize sdk.Dec) return nil } +func (o *SpotOrder) CheckNotional(minNotional math.LegacyDec) error { + orderNotional := o.GetQuantity().Mul(o.GetPrice()) + if !minNotional.IsNil() && orderNotional.LT(minNotional) { + return errors.Wrapf(ErrInvalidNotional, "order notional (%s) is less than the minimum notional for the market (%s)", orderNotional.String(), minNotional.String()) + } + return nil +} + func (o *SpotOrder) IsBuy() bool { return o.OrderType.IsBuy() } @@ -127,16 +136,16 @@ func (o *SpotMarketOrder) IsConditional() bool { return o.OrderType.IsConditional() } -func (m *SpotLimitOrder) GetUnfilledNotional() sdk.Dec { +func (m *SpotLimitOrder) GetUnfilledNotional() math.LegacyDec { return m.Fillable.Mul(m.OrderInfo.Price) } -func (m *SpotLimitOrder) GetUnfilledFeeAmount(fee sdk.Dec) sdk.Dec { +func (m *SpotLimitOrder) GetUnfilledFeeAmount(fee math.LegacyDec) math.LegacyDec { return m.GetUnfilledNotional().Mul(fee) } -func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (sdk.Dec, string) { +func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (math.LegacyDec, string) { var denom string - var balanceHold sdk.Dec + var balanceHold math.LegacyDec if m.IsBuy() { denom = market.QuoteDenom if m.OrderType.IsPostOnly() { @@ -158,16 +167,16 @@ func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (sdk.Dec, s return balanceHold, denom } -func (m *SpotLimitOrder) GetUnfilledMarginHoldAndMarginDenom(market *SpotMarket, isTransient bool) (sdk.Dec, string) { +func (m *SpotLimitOrder) GetUnfilledMarginHoldAndMarginDenom(market *SpotMarket, isTransient bool) (math.LegacyDec, string) { var denom string - var balanceHold sdk.Dec + var balanceHold math.LegacyDec if m.IsBuy() { - var tradeFeeRate sdk.Dec + var tradeFeeRate math.LegacyDec if isTransient { tradeFeeRate = market.TakerFeeRate } else { - tradeFeeRate = sdk.MaxDec(sdk.ZeroDec(), market.MakerFeeRate) + tradeFeeRate = math.LegacyMaxDec(math.LegacyZeroDec(), market.MakerFeeRate) } // for a resting limit buy in the ETH/USDT market, denom is USDT and fillable amount is BalanceHold is (1 + makerFee)*(price * quantity) since (takerFee - makerFee) is already refunded @@ -195,14 +204,14 @@ func (m *SpotOrder) GetMarginDenom(market *SpotMarket) string { } // GetMarketOrderBalanceHold calculates the balance hold for the market order. -func (m *SpotOrder) GetMarketOrderBalanceHold(feeRate, bestPrice sdk.Dec) sdk.Dec { - var balanceHold sdk.Dec +func (m *SpotOrder) GetMarketOrderBalanceHold(feeRate, bestPrice math.LegacyDec) math.LegacyDec { + var balanceHold math.LegacyDec if m.IsBuy() { // required margin for best sell price = bestPrice * quantity * (1 + feeRate) - requiredMarginForBestPrice := bestPrice.Mul(m.OrderInfo.Quantity).Mul(sdk.OneDec().Add(feeRate)) - requiredMarginForWorstPrice := m.OrderInfo.Price.Mul(m.OrderInfo.Quantity).Mul(sdk.OneDec().Add(feeRate)) - requiredMargin := sdk.MaxDec(requiredMarginForBestPrice, requiredMarginForWorstPrice) + requiredMarginForBestPrice := bestPrice.Mul(m.OrderInfo.Quantity).Mul(math.LegacyOneDec().Add(feeRate)) + requiredMarginForWorstPrice := m.OrderInfo.Price.Mul(m.OrderInfo.Quantity).Mul(math.LegacyOneDec().Add(feeRate)) + requiredMargin := math.LegacyMaxDec(requiredMarginForBestPrice, requiredMarginForWorstPrice) balanceHold = requiredMargin } else { // required margin for market sells just equals the quantity being sold @@ -218,6 +227,7 @@ func (m *SpotLimitOrder) ToTrimmed() *TrimmedSpotLimitOrder { Fillable: m.Fillable, IsBuy: m.IsBuy(), OrderHash: common.BytesToHash(m.OrderHash).Hex(), + Cid: m.Cid(), } } diff --git a/chain/exchange/types/stake_grants.go b/chain/exchange/types/stake_grants.go new file mode 100644 index 00000000..f2dc959f --- /dev/null +++ b/chain/exchange/types/stake_grants.go @@ -0,0 +1,21 @@ +package types + +import ( + "cosmossdk.io/math" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func NewActiveGrant(granter sdk.AccAddress, amount math.Int) *ActiveGrant { + return &ActiveGrant{ + Granter: granter.String(), + Amount: amount, + } +} + +func NewEffectiveGrant(granter string, amount math.Int, isValid bool) *EffectiveGrant { + return &EffectiveGrant{ + Granter: granter, + NetGrantedStake: amount, + IsValid: isValid, + } +} diff --git a/chain/exchange/types/subaccount.go b/chain/exchange/types/subaccount.go index 930b2f65..fb59981b 100644 --- a/chain/exchange/types/subaccount.go +++ b/chain/exchange/types/subaccount.go @@ -3,15 +3,15 @@ package types import ( "fmt" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" ) func NewSubaccountOrderbookMetadata() *SubaccountOrderbookMetadata { return &SubaccountOrderbookMetadata{ VanillaLimitOrderCount: 0, ReduceOnlyLimitOrderCount: 0, - AggregateReduceOnlyQuantity: sdk.ZeroDec(), - AggregateVanillaQuantity: sdk.ZeroDec(), + AggregateReduceOnlyQuantity: math.LegacyZeroDec(), + AggregateVanillaQuantity: math.LegacyZeroDec(), VanillaConditionalOrderCount: 0, ReduceOnlyConditionalOrderCount: 0, } @@ -26,6 +26,7 @@ func NewSubaccountOrder(o *DerivativeLimitOrder) *SubaccountOrder { Price: o.OrderInfo.Price, Quantity: o.Fillable, IsReduceOnly: o.IsReduceOnly(), + Cid: o.Cid(), } } diff --git a/chain/exchange/types/trading_rewards.go b/chain/exchange/types/trading_rewards.go index 8233e48f..9353574d 100644 --- a/chain/exchange/types/trading_rewards.go +++ b/chain/exchange/types/trading_rewards.go @@ -3,10 +3,10 @@ package types import ( "sort" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" ) -type TradingRewardPoints map[string]sdk.Dec +type TradingRewardPoints map[string]math.LegacyDec func NewTradingRewardPoints() TradingRewardPoints { tradingRewardPoints := make(TradingRewardPoints) @@ -23,7 +23,7 @@ func (l TradingRewardPoints) GetSortedAccountKeys() []string { return accountKeys } -func (l TradingRewardPoints) AddPointsForAddress(addr string, newPoints sdk.Dec) { +func (l TradingRewardPoints) AddPointsForAddress(addr string, newPoints math.LegacyDec) { if !newPoints.IsPositive() { return } diff --git a/chain/exchange/types/tx.pb.go b/chain/exchange/types/tx.pb.go index e57b3cd5..d4f4213e 100644 --- a/chain/exchange/types/tx.pb.go +++ b/chain/exchange/types/tx.pb.go @@ -5,12 +5,14 @@ package types import ( context "context" + cosmossdk_io_math "cosmossdk.io/math" 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" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/cosmos-sdk/x/distribution/types" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" @@ -34,6 +36,178 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package +type MsgUpdateSpotMarket struct { + // current admin address of the associated market + Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` + // id of the market to be updated + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // (optional) updated ticker value + NewTicker string `protobuf:"bytes,3,opt,name=new_ticker,json=newTicker,proto3" json:"new_ticker,omitempty"` + // (optional) updated min price tick size value + NewMinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=new_min_price_tick_size,json=newMinPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"new_min_price_tick_size"` + // (optional) updated min quantity tick size value + NewMinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=new_min_quantity_tick_size,json=newMinQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"new_min_quantity_tick_size"` + // (optional) updated min notional + NewMinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=new_min_notional,json=newMinNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"new_min_notional"` +} + +func (m *MsgUpdateSpotMarket) Reset() { *m = MsgUpdateSpotMarket{} } +func (m *MsgUpdateSpotMarket) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateSpotMarket) ProtoMessage() {} +func (*MsgUpdateSpotMarket) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{0} +} +func (m *MsgUpdateSpotMarket) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateSpotMarket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateSpotMarket.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 *MsgUpdateSpotMarket) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateSpotMarket.Merge(m, src) +} +func (m *MsgUpdateSpotMarket) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateSpotMarket) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateSpotMarket.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateSpotMarket proto.InternalMessageInfo + +type MsgUpdateSpotMarketResponse struct { +} + +func (m *MsgUpdateSpotMarketResponse) Reset() { *m = MsgUpdateSpotMarketResponse{} } +func (m *MsgUpdateSpotMarketResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateSpotMarketResponse) ProtoMessage() {} +func (*MsgUpdateSpotMarketResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{1} +} +func (m *MsgUpdateSpotMarketResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateSpotMarketResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateSpotMarketResponse.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 *MsgUpdateSpotMarketResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateSpotMarketResponse.Merge(m, src) +} +func (m *MsgUpdateSpotMarketResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateSpotMarketResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateSpotMarketResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateSpotMarketResponse proto.InternalMessageInfo + +type MsgUpdateDerivativeMarket struct { + // current admin address of the associated market + Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` + // id of the market to be updated + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // (optional) updated value for ticker + NewTicker string `protobuf:"bytes,3,opt,name=new_ticker,json=newTicker,proto3" json:"new_ticker,omitempty"` + // (optional) updated value for min_price_tick_size + NewMinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=new_min_price_tick_size,json=newMinPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"new_min_price_tick_size"` + // (optional) updated value min_quantity_tick_size + NewMinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=new_min_quantity_tick_size,json=newMinQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"new_min_quantity_tick_size"` + // (optional) updated min notional + NewMinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=new_min_notional,json=newMinNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"new_min_notional"` + // (optional) updated value for initial_margin_ratio + NewInitialMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=new_initial_margin_ratio,json=newInitialMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"new_initial_margin_ratio"` + // (optional) updated value for maintenance_margin_ratio + NewMaintenanceMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=new_maintenance_margin_ratio,json=newMaintenanceMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"new_maintenance_margin_ratio"` +} + +func (m *MsgUpdateDerivativeMarket) Reset() { *m = MsgUpdateDerivativeMarket{} } +func (m *MsgUpdateDerivativeMarket) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateDerivativeMarket) ProtoMessage() {} +func (*MsgUpdateDerivativeMarket) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{2} +} +func (m *MsgUpdateDerivativeMarket) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateDerivativeMarket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateDerivativeMarket.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 *MsgUpdateDerivativeMarket) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateDerivativeMarket.Merge(m, src) +} +func (m *MsgUpdateDerivativeMarket) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateDerivativeMarket) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateDerivativeMarket.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateDerivativeMarket proto.InternalMessageInfo + +type MsgUpdateDerivativeMarketResponse struct { +} + +func (m *MsgUpdateDerivativeMarketResponse) Reset() { *m = MsgUpdateDerivativeMarketResponse{} } +func (m *MsgUpdateDerivativeMarketResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateDerivativeMarketResponse) ProtoMessage() {} +func (*MsgUpdateDerivativeMarketResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{3} +} +func (m *MsgUpdateDerivativeMarketResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateDerivativeMarketResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateDerivativeMarketResponse.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 *MsgUpdateDerivativeMarketResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateDerivativeMarketResponse.Merge(m, src) +} +func (m *MsgUpdateDerivativeMarketResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateDerivativeMarketResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateDerivativeMarketResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateDerivativeMarketResponse 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"` @@ -47,7 +221,7 @@ 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} + return fileDescriptor_bd45b74cb6d81462, []int{4} } func (m *MsgUpdateParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -97,7 +271,7 @@ 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} + return fileDescriptor_bd45b74cb6d81462, []int{5} } func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -140,7 +314,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{2} + return fileDescriptor_bd45b74cb6d81462, []int{6} } func (m *MsgDeposit) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -177,7 +351,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{3} + return fileDescriptor_bd45b74cb6d81462, []int{7} } func (m *MsgDepositResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -219,7 +393,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{4} + return fileDescriptor_bd45b74cb6d81462, []int{8} } func (m *MsgWithdraw) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -256,7 +430,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{5} + return fileDescriptor_bd45b74cb6d81462, []int{9} } func (m *MsgWithdrawResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -296,7 +470,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{6} + return fileDescriptor_bd45b74cb6d81462, []int{10} } func (m *MsgCreateSpotLimitOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -329,13 +503,14 @@ var xxx_messageInfo_MsgCreateSpotLimitOrder proto.InternalMessageInfo // type. type MsgCreateSpotLimitOrderResponse struct { OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + Cid string `protobuf:"bytes,2,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *MsgCreateSpotLimitOrderResponse) Reset() { *m = MsgCreateSpotLimitOrderResponse{} } func (m *MsgCreateSpotLimitOrderResponse) String() string { return proto.CompactTextString(m) } func (*MsgCreateSpotLimitOrderResponse) ProtoMessage() {} func (*MsgCreateSpotLimitOrderResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{7} + return fileDescriptor_bd45b74cb6d81462, []int{11} } func (m *MsgCreateSpotLimitOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -375,7 +550,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{8} + return fileDescriptor_bd45b74cb6d81462, []int{12} } func (m *MsgBatchCreateSpotLimitOrders) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -407,14 +582,16 @@ var xxx_messageInfo_MsgBatchCreateSpotLimitOrders proto.InternalMessageInfo // 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"` + OrderHashes []string `protobuf:"bytes,1,rep,name=order_hashes,json=orderHashes,proto3" json:"order_hashes,omitempty"` + CreatedOrdersCids []string `protobuf:"bytes,2,rep,name=created_orders_cids,json=createdOrdersCids,proto3" json:"created_orders_cids,omitempty"` + FailedOrdersCids []string `protobuf:"bytes,3,rep,name=failed_orders_cids,json=failedOrdersCids,proto3" json:"failed_orders_cids,omitempty"` } func (m *MsgBatchCreateSpotLimitOrdersResponse) Reset() { *m = MsgBatchCreateSpotLimitOrdersResponse{} } func (m *MsgBatchCreateSpotLimitOrdersResponse) String() string { return proto.CompactTextString(m) } func (*MsgBatchCreateSpotLimitOrdersResponse) ProtoMessage() {} func (*MsgBatchCreateSpotLimitOrdersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{9} + return fileDescriptor_bd45b74cb6d81462, []int{13} } func (m *MsgBatchCreateSpotLimitOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -454,17 +631,20 @@ type MsgInstantSpotMarketLaunch struct { // type of coin to use as the quote currency 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` } func (m *MsgInstantSpotMarketLaunch) Reset() { *m = MsgInstantSpotMarketLaunch{} } func (m *MsgInstantSpotMarketLaunch) String() string { return proto.CompactTextString(m) } func (*MsgInstantSpotMarketLaunch) ProtoMessage() {} func (*MsgInstantSpotMarketLaunch) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{10} + return fileDescriptor_bd45b74cb6d81462, []int{14} } func (m *MsgInstantSpotMarketLaunch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -502,7 +682,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{11} + return fileDescriptor_bd45b74cb6d81462, []int{15} } func (m *MsgInstantSpotMarketLaunchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -549,29 +729,32 @@ type MsgInstantPerpetualMarketLaunch struct { 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 - 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"` + MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate"` // 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"` + TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` // 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"` + InitialMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,10,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"initial_margin_ratio"` // 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"` + MaintenanceMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maintenance_margin_ratio"` // 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,14,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` } func (m *MsgInstantPerpetualMarketLaunch) Reset() { *m = MsgInstantPerpetualMarketLaunch{} } func (m *MsgInstantPerpetualMarketLaunch) String() string { return proto.CompactTextString(m) } func (*MsgInstantPerpetualMarketLaunch) ProtoMessage() {} func (*MsgInstantPerpetualMarketLaunch) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{12} + return fileDescriptor_bd45b74cb6d81462, []int{16} } func (m *MsgInstantPerpetualMarketLaunch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -611,7 +794,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{13} + return fileDescriptor_bd45b74cb6d81462, []int{17} } func (m *MsgInstantPerpetualMarketLaunchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -656,10 +839,10 @@ type MsgInstantBinaryOptionsMarketLaunch struct { 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 - 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"` + MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate"` // 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"` + TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` // expiration timestamp ExpirationTimestamp int64 `protobuf:"varint,9,opt,name=expiration_timestamp,json=expirationTimestamp,proto3" json:"expiration_timestamp,omitempty"` // expiration timestamp @@ -670,17 +853,20 @@ type MsgInstantBinaryOptionsMarketLaunch struct { 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 - 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,14,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,15,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` } func (m *MsgInstantBinaryOptionsMarketLaunch) Reset() { *m = MsgInstantBinaryOptionsMarketLaunch{} } func (m *MsgInstantBinaryOptionsMarketLaunch) String() string { return proto.CompactTextString(m) } func (*MsgInstantBinaryOptionsMarketLaunch) ProtoMessage() {} func (*MsgInstantBinaryOptionsMarketLaunch) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{14} + return fileDescriptor_bd45b74cb6d81462, []int{18} } func (m *MsgInstantBinaryOptionsMarketLaunch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -722,7 +908,7 @@ func (m *MsgInstantBinaryOptionsMarketLaunchResponse) String() string { } func (*MsgInstantBinaryOptionsMarketLaunchResponse) ProtoMessage() {} func (*MsgInstantBinaryOptionsMarketLaunchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{15} + return fileDescriptor_bd45b74cb6d81462, []int{19} } func (m *MsgInstantBinaryOptionsMarketLaunchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -771,29 +957,32 @@ type MsgInstantExpiryFuturesMarketLaunch struct { 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 - 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"` + MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate"` // 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"` + TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,10,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` // 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"` + InitialMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=initial_margin_ratio,json=initialMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"initial_margin_ratio"` // 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"` + MaintenanceMarginRatio cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=maintenance_margin_ratio,json=maintenanceMarginRatio,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maintenance_margin_ratio"` // 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"` + MinPriceTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=min_price_tick_size,json=minPriceTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price_tick_size"` // 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"` + MinQuantityTickSize cosmossdk_io_math.LegacyDec `protobuf:"bytes,14,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_quantity_tick_size"` + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,15,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` } func (m *MsgInstantExpiryFuturesMarketLaunch) Reset() { *m = MsgInstantExpiryFuturesMarketLaunch{} } func (m *MsgInstantExpiryFuturesMarketLaunch) String() string { return proto.CompactTextString(m) } func (*MsgInstantExpiryFuturesMarketLaunch) ProtoMessage() {} func (*MsgInstantExpiryFuturesMarketLaunch) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{16} + return fileDescriptor_bd45b74cb6d81462, []int{20} } func (m *MsgInstantExpiryFuturesMarketLaunch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -835,7 +1024,7 @@ func (m *MsgInstantExpiryFuturesMarketLaunchResponse) String() string { } func (*MsgInstantExpiryFuturesMarketLaunchResponse) ProtoMessage() {} func (*MsgInstantExpiryFuturesMarketLaunchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{17} + return fileDescriptor_bd45b74cb6d81462, []int{21} } func (m *MsgInstantExpiryFuturesMarketLaunchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -875,7 +1064,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{18} + return fileDescriptor_bd45b74cb6d81462, []int{22} } func (m *MsgCreateSpotMarketOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -909,13 +1098,14 @@ var xxx_messageInfo_MsgCreateSpotMarketOrder proto.InternalMessageInfo 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"` + Cid string `protobuf:"bytes,3,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *MsgCreateSpotMarketOrderResponse) Reset() { *m = MsgCreateSpotMarketOrderResponse{} } func (m *MsgCreateSpotMarketOrderResponse) String() string { return proto.CompactTextString(m) } func (*MsgCreateSpotMarketOrderResponse) ProtoMessage() {} func (*MsgCreateSpotMarketOrderResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{19} + return fileDescriptor_bd45b74cb6d81462, []int{23} } func (m *MsgCreateSpotMarketOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -945,16 +1135,16 @@ func (m *MsgCreateSpotMarketOrderResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCreateSpotMarketOrderResponse proto.InternalMessageInfo type SpotMarketOrderResults struct { - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` - Fee github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=fee,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fee"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` + Fee cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=fee,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fee"` } 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{20} + return fileDescriptor_bd45b74cb6d81462, []int{24} } func (m *SpotMarketOrderResults) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -993,7 +1183,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{21} + return fileDescriptor_bd45b74cb6d81462, []int{25} } func (m *MsgCreateDerivativeLimitOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1026,13 +1216,14 @@ var xxx_messageInfo_MsgCreateDerivativeLimitOrder proto.InternalMessageInfo // Msg/CreateDerivativeMarketOrder response type. type MsgCreateDerivativeLimitOrderResponse struct { OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + Cid string `protobuf:"bytes,2,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *MsgCreateDerivativeLimitOrderResponse) Reset() { *m = MsgCreateDerivativeLimitOrderResponse{} } func (m *MsgCreateDerivativeLimitOrderResponse) String() string { return proto.CompactTextString(m) } func (*MsgCreateDerivativeLimitOrderResponse) ProtoMessage() {} func (*MsgCreateDerivativeLimitOrderResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{22} + return fileDescriptor_bd45b74cb6d81462, []int{26} } func (m *MsgCreateDerivativeLimitOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1071,7 +1262,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{23} + return fileDescriptor_bd45b74cb6d81462, []int{27} } func (m *MsgCreateBinaryOptionsLimitOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1104,6 +1295,7 @@ var xxx_messageInfo_MsgCreateBinaryOptionsLimitOrder proto.InternalMessageInfo // Msg/CreateBinaryOptionsLimitOrder response type. type MsgCreateBinaryOptionsLimitOrderResponse struct { OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + Cid string `protobuf:"bytes,2,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *MsgCreateBinaryOptionsLimitOrderResponse) Reset() { @@ -1112,7 +1304,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{24} + return fileDescriptor_bd45b74cb6d81462, []int{28} } func (m *MsgCreateBinaryOptionsLimitOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1151,7 +1343,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{25} + return fileDescriptor_bd45b74cb6d81462, []int{29} } func (m *MsgBatchCreateDerivativeLimitOrders) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1183,7 +1375,9 @@ var xxx_messageInfo_MsgBatchCreateDerivativeLimitOrders proto.InternalMessageInf // 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"` + OrderHashes []string `protobuf:"bytes,1,rep,name=order_hashes,json=orderHashes,proto3" json:"order_hashes,omitempty"` + CreatedOrdersCids []string `protobuf:"bytes,2,rep,name=created_orders_cids,json=createdOrdersCids,proto3" json:"created_orders_cids,omitempty"` + FailedOrdersCids []string `protobuf:"bytes,3,rep,name=failed_orders_cids,json=failedOrdersCids,proto3" json:"failed_orders_cids,omitempty"` } func (m *MsgBatchCreateDerivativeLimitOrdersResponse) Reset() { @@ -1194,7 +1388,7 @@ func (m *MsgBatchCreateDerivativeLimitOrdersResponse) String() string { } func (*MsgBatchCreateDerivativeLimitOrdersResponse) ProtoMessage() {} func (*MsgBatchCreateDerivativeLimitOrdersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{26} + return fileDescriptor_bd45b74cb6d81462, []int{30} } func (m *MsgBatchCreateDerivativeLimitOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1236,7 +1430,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{27} + return fileDescriptor_bd45b74cb6d81462, []int{31} } func (m *MsgCancelSpotOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1273,7 +1467,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{28} + return fileDescriptor_bd45b74cb6d81462, []int{32} } func (m *MsgCancelSpotOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1312,7 +1506,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{29} + return fileDescriptor_bd45b74cb6d81462, []int{33} } func (m *MsgBatchCancelSpotOrders) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1351,7 +1545,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{30} + return fileDescriptor_bd45b74cb6d81462, []int{34} } func (m *MsgBatchCancelSpotOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1391,7 +1585,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{31} + return fileDescriptor_bd45b74cb6d81462, []int{35} } func (m *MsgBatchCancelBinaryOptionsOrders) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1434,7 +1628,7 @@ func (m *MsgBatchCancelBinaryOptionsOrdersResponse) String() string { } func (*MsgBatchCancelBinaryOptionsOrdersResponse) ProtoMessage() {} func (*MsgBatchCancelBinaryOptionsOrdersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{32} + return fileDescriptor_bd45b74cb6d81462, []int{36} } func (m *MsgBatchCancelBinaryOptionsOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1484,7 +1678,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{33} + return fileDescriptor_bd45b74cb6d81462, []int{37} } func (m *MsgBatchUpdateOrders) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1515,19 +1709,25 @@ var xxx_messageInfo_MsgBatchUpdateOrders proto.InternalMessageInfo // MsgBatchUpdateOrdersResponse defines the Msg/BatchUpdateOrders response type. type MsgBatchUpdateOrdersResponse struct { - SpotCancelSuccess []bool `protobuf:"varint,1,rep,packed,name=spot_cancel_success,json=spotCancelSuccess,proto3" json:"spot_cancel_success,omitempty"` - DerivativeCancelSuccess []bool `protobuf:"varint,2,rep,packed,name=derivative_cancel_success,json=derivativeCancelSuccess,proto3" json:"derivative_cancel_success,omitempty"` - SpotOrderHashes []string `protobuf:"bytes,3,rep,name=spot_order_hashes,json=spotOrderHashes,proto3" json:"spot_order_hashes,omitempty"` - DerivativeOrderHashes []string `protobuf:"bytes,4,rep,name=derivative_order_hashes,json=derivativeOrderHashes,proto3" json:"derivative_order_hashes,omitempty"` - BinaryOptionsCancelSuccess []bool `protobuf:"varint,5,rep,packed,name=binary_options_cancel_success,json=binaryOptionsCancelSuccess,proto3" json:"binary_options_cancel_success,omitempty"` - BinaryOptionsOrderHashes []string `protobuf:"bytes,6,rep,name=binary_options_order_hashes,json=binaryOptionsOrderHashes,proto3" json:"binary_options_order_hashes,omitempty"` + SpotCancelSuccess []bool `protobuf:"varint,1,rep,packed,name=spot_cancel_success,json=spotCancelSuccess,proto3" json:"spot_cancel_success,omitempty"` + DerivativeCancelSuccess []bool `protobuf:"varint,2,rep,packed,name=derivative_cancel_success,json=derivativeCancelSuccess,proto3" json:"derivative_cancel_success,omitempty"` + SpotOrderHashes []string `protobuf:"bytes,3,rep,name=spot_order_hashes,json=spotOrderHashes,proto3" json:"spot_order_hashes,omitempty"` + DerivativeOrderHashes []string `protobuf:"bytes,4,rep,name=derivative_order_hashes,json=derivativeOrderHashes,proto3" json:"derivative_order_hashes,omitempty"` + BinaryOptionsCancelSuccess []bool `protobuf:"varint,5,rep,packed,name=binary_options_cancel_success,json=binaryOptionsCancelSuccess,proto3" json:"binary_options_cancel_success,omitempty"` + BinaryOptionsOrderHashes []string `protobuf:"bytes,6,rep,name=binary_options_order_hashes,json=binaryOptionsOrderHashes,proto3" json:"binary_options_order_hashes,omitempty"` + CreatedSpotOrdersCids []string `protobuf:"bytes,7,rep,name=created_spot_orders_cids,json=createdSpotOrdersCids,proto3" json:"created_spot_orders_cids,omitempty"` + FailedSpotOrdersCids []string `protobuf:"bytes,8,rep,name=failed_spot_orders_cids,json=failedSpotOrdersCids,proto3" json:"failed_spot_orders_cids,omitempty"` + CreatedDerivativeOrdersCids []string `protobuf:"bytes,9,rep,name=created_derivative_orders_cids,json=createdDerivativeOrdersCids,proto3" json:"created_derivative_orders_cids,omitempty"` + FailedDerivativeOrdersCids []string `protobuf:"bytes,10,rep,name=failed_derivative_orders_cids,json=failedDerivativeOrdersCids,proto3" json:"failed_derivative_orders_cids,omitempty"` + CreatedBinaryOptionsOrdersCids []string `protobuf:"bytes,11,rep,name=created_binary_options_orders_cids,json=createdBinaryOptionsOrdersCids,proto3" json:"created_binary_options_orders_cids,omitempty"` + FailedBinaryOptionsOrdersCids []string `protobuf:"bytes,12,rep,name=failed_binary_options_orders_cids,json=failedBinaryOptionsOrdersCids,proto3" json:"failed_binary_options_orders_cids,omitempty"` } func (m *MsgBatchUpdateOrdersResponse) Reset() { *m = MsgBatchUpdateOrdersResponse{} } func (m *MsgBatchUpdateOrdersResponse) String() string { return proto.CompactTextString(m) } func (*MsgBatchUpdateOrdersResponse) ProtoMessage() {} func (*MsgBatchUpdateOrdersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{34} + return fileDescriptor_bd45b74cb6d81462, []int{38} } func (m *MsgBatchUpdateOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1566,7 +1766,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{35} + return fileDescriptor_bd45b74cb6d81462, []int{39} } func (m *MsgCreateDerivativeMarketOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1600,6 +1800,7 @@ var xxx_messageInfo_MsgCreateDerivativeMarketOrder proto.InternalMessageInfo 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"` + Cid string `protobuf:"bytes,3,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *MsgCreateDerivativeMarketOrderResponse) Reset() { @@ -1608,7 +1809,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{36} + return fileDescriptor_bd45b74cb6d81462, []int{40} } func (m *MsgCreateDerivativeMarketOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1638,18 +1839,18 @@ func (m *MsgCreateDerivativeMarketOrderResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCreateDerivativeMarketOrderResponse proto.InternalMessageInfo type DerivativeMarketOrderResults struct { - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` - Fee github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=fee,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fee"` - PositionDelta PositionDelta `protobuf:"bytes,4,opt,name=position_delta,json=positionDelta,proto3" json:"position_delta"` - Payout github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=payout,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"payout"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` + Fee cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=fee,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fee"` + PositionDelta PositionDelta `protobuf:"bytes,4,opt,name=position_delta,json=positionDelta,proto3" json:"position_delta"` + Payout cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=payout,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"payout"` } func (m *DerivativeMarketOrderResults) Reset() { *m = DerivativeMarketOrderResults{} } func (m *DerivativeMarketOrderResults) String() string { return proto.CompactTextString(m) } func (*DerivativeMarketOrderResults) ProtoMessage() {} func (*DerivativeMarketOrderResults) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{37} + return fileDescriptor_bd45b74cb6d81462, []int{41} } func (m *DerivativeMarketOrderResults) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1688,7 +1889,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{38} + return fileDescriptor_bd45b74cb6d81462, []int{42} } func (m *MsgCreateBinaryOptionsMarketOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1722,6 +1923,7 @@ var xxx_messageInfo_MsgCreateBinaryOptionsMarketOrder proto.InternalMessageInfo 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"` + Cid string `protobuf:"bytes,3,opt,name=cid,proto3" json:"cid,omitempty"` } func (m *MsgCreateBinaryOptionsMarketOrderResponse) Reset() { @@ -1732,7 +1934,7 @@ func (m *MsgCreateBinaryOptionsMarketOrderResponse) String() string { } func (*MsgCreateBinaryOptionsMarketOrderResponse) ProtoMessage() {} func (*MsgCreateBinaryOptionsMarketOrderResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{39} + return fileDescriptor_bd45b74cb6d81462, []int{43} } func (m *MsgCreateBinaryOptionsMarketOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1775,7 +1977,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{40} + return fileDescriptor_bd45b74cb6d81462, []int{44} } func (m *MsgCancelDerivativeOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1813,7 +2015,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{41} + return fileDescriptor_bd45b74cb6d81462, []int{45} } func (m *MsgCancelDerivativeOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1857,7 +2059,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{42} + return fileDescriptor_bd45b74cb6d81462, []int{46} } func (m *MsgCancelBinaryOptionsOrder) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1895,7 +2097,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{43} + return fileDescriptor_bd45b74cb6d81462, []int{47} } func (m *MsgCancelBinaryOptionsOrderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1936,7 +2138,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{44} + return fileDescriptor_bd45b74cb6d81462, []int{48} } func (m *OrderData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2011,7 +2213,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{45} + return fileDescriptor_bd45b74cb6d81462, []int{49} } func (m *MsgBatchCancelDerivativeOrders) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2052,7 +2254,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{46} + return fileDescriptor_bd45b74cb6d81462, []int{50} } func (m *MsgBatchCancelDerivativeOrdersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2093,7 +2295,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{47} + return fileDescriptor_bd45b74cb6d81462, []int{51} } func (m *MsgSubaccountTransfer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2159,7 +2361,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{48} + return fileDescriptor_bd45b74cb6d81462, []int{52} } func (m *MsgSubaccountTransferResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2200,7 +2402,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{49} + return fileDescriptor_bd45b74cb6d81462, []int{53} } func (m *MsgExternalTransfer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2265,7 +2467,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{50} + return fileDescriptor_bd45b74cb6d81462, []int{54} } func (m *MsgExternalTransferResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2307,7 +2509,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{51} + return fileDescriptor_bd45b74cb6d81462, []int{55} } func (m *MsgLiquidatePosition) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2372,7 +2574,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{52} + return fileDescriptor_bd45b74cb6d81462, []int{56} } func (m *MsgLiquidatePositionResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2412,7 +2614,7 @@ func (m *MsgEmergencySettleMarket) Reset() { *m = MsgEmergencySettleMark func (m *MsgEmergencySettleMarket) String() string { return proto.CompactTextString(m) } func (*MsgEmergencySettleMarket) ProtoMessage() {} func (*MsgEmergencySettleMarket) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{53} + return fileDescriptor_bd45b74cb6d81462, []int{57} } func (m *MsgEmergencySettleMarket) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2471,7 +2673,7 @@ func (m *MsgEmergencySettleMarketResponse) Reset() { *m = MsgEmergencySe func (m *MsgEmergencySettleMarketResponse) String() string { return proto.CompactTextString(m) } func (*MsgEmergencySettleMarketResponse) ProtoMessage() {} func (*MsgEmergencySettleMarketResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{54} + return fileDescriptor_bd45b74cb6d81462, []int{58} } func (m *MsgEmergencySettleMarketResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2507,14 +2709,14 @@ type MsgIncreasePositionMargin struct { DestinationSubaccountId string `protobuf:"bytes,3,opt,name=destination_subaccount_id,json=destinationSubaccountId,proto3" json:"destination_subaccount_id,omitempty"` MarketId string `protobuf:"bytes,4,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` // amount defines the amount of margin to add to the position - Amount github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=amount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"amount"` + Amount cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=amount,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"amount"` } func (m *MsgIncreasePositionMargin) Reset() { *m = MsgIncreasePositionMargin{} } func (m *MsgIncreasePositionMargin) String() string { return proto.CompactTextString(m) } func (*MsgIncreasePositionMargin) ProtoMessage() {} func (*MsgIncreasePositionMargin) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{55} + return fileDescriptor_bd45b74cb6d81462, []int{59} } func (m *MsgIncreasePositionMargin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2580,7 +2782,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{56} + return fileDescriptor_bd45b74cb6d81462, []int{60} } func (m *MsgIncreasePositionMarginResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2609,30 +2811,28 @@ func (m *MsgIncreasePositionMarginResponse) XXX_DiscardUnknown() { 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 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"` - // data defines the call data used when executing the contract - Data string `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` +// A Cosmos-SDK MsgDecreasePositionMargin +type MsgDecreasePositionMargin struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` + SourceSubaccountId string `protobuf:"bytes,2,opt,name=source_subaccount_id,json=sourceSubaccountId,proto3" json:"source_subaccount_id,omitempty"` + DestinationSubaccountId string `protobuf:"bytes,3,opt,name=destination_subaccount_id,json=destinationSubaccountId,proto3" json:"destination_subaccount_id,omitempty"` + MarketId string `protobuf:"bytes,4,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // amount defines the amount of margin to withdraw from the position + Amount cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=amount,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"amount"` } -func (m *MsgPrivilegedExecuteContract) Reset() { *m = MsgPrivilegedExecuteContract{} } -func (m *MsgPrivilegedExecuteContract) String() string { return proto.CompactTextString(m) } -func (*MsgPrivilegedExecuteContract) ProtoMessage() {} -func (*MsgPrivilegedExecuteContract) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{57} +func (m *MsgDecreasePositionMargin) Reset() { *m = MsgDecreasePositionMargin{} } +func (m *MsgDecreasePositionMargin) String() string { return proto.CompactTextString(m) } +func (*MsgDecreasePositionMargin) ProtoMessage() {} +func (*MsgDecreasePositionMargin) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{61} } -func (m *MsgPrivilegedExecuteContract) XXX_Unmarshal(b []byte) error { +func (m *MsgDecreasePositionMargin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgPrivilegedExecuteContract) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgDecreasePositionMargin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgPrivilegedExecuteContract.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgDecreasePositionMargin.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2642,36 +2842,147 @@ func (m *MsgPrivilegedExecuteContract) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (m *MsgPrivilegedExecuteContract) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgPrivilegedExecuteContract.Merge(m, src) +func (m *MsgDecreasePositionMargin) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgDecreasePositionMargin.Merge(m, src) } -func (m *MsgPrivilegedExecuteContract) XXX_Size() int { +func (m *MsgDecreasePositionMargin) XXX_Size() int { return m.Size() } -func (m *MsgPrivilegedExecuteContract) XXX_DiscardUnknown() { - xxx_messageInfo_MsgPrivilegedExecuteContract.DiscardUnknown(m) +func (m *MsgDecreasePositionMargin) XXX_DiscardUnknown() { + xxx_messageInfo_MsgDecreasePositionMargin.DiscardUnknown(m) } -var xxx_messageInfo_MsgPrivilegedExecuteContract proto.InternalMessageInfo +var xxx_messageInfo_MsgDecreasePositionMargin proto.InternalMessageInfo -// MsgPrivilegedExecuteContractResponse defines the Msg/Exec response type. -type MsgPrivilegedExecuteContractResponse struct { - FundsDiff github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,1,rep,name=funds_diff,json=fundsDiff,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"funds_diff"` +func (m *MsgDecreasePositionMargin) GetSender() string { + if m != nil { + return m.Sender + } + return "" } -func (m *MsgPrivilegedExecuteContractResponse) Reset() { *m = MsgPrivilegedExecuteContractResponse{} } -func (m *MsgPrivilegedExecuteContractResponse) String() string { return proto.CompactTextString(m) } -func (*MsgPrivilegedExecuteContractResponse) ProtoMessage() {} -func (*MsgPrivilegedExecuteContractResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{58} +func (m *MsgDecreasePositionMargin) GetSourceSubaccountId() string { + if m != nil { + return m.SourceSubaccountId + } + return "" } -func (m *MsgPrivilegedExecuteContractResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) + +func (m *MsgDecreasePositionMargin) GetDestinationSubaccountId() string { + if m != nil { + return m.DestinationSubaccountId + } + return "" } -func (m *MsgPrivilegedExecuteContractResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgPrivilegedExecuteContractResponse.Marshal(b, m, deterministic) - } else { + +func (m *MsgDecreasePositionMargin) GetMarketId() string { + if m != nil { + return m.MarketId + } + return "" +} + +// MsgDecreasePositionMarginResponse defines the Msg/MsgDecreasePositionMargin +// response type. +type MsgDecreasePositionMarginResponse struct { +} + +func (m *MsgDecreasePositionMarginResponse) Reset() { *m = MsgDecreasePositionMarginResponse{} } +func (m *MsgDecreasePositionMarginResponse) String() string { return proto.CompactTextString(m) } +func (*MsgDecreasePositionMarginResponse) ProtoMessage() {} +func (*MsgDecreasePositionMarginResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{62} +} +func (m *MsgDecreasePositionMarginResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgDecreasePositionMarginResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgDecreasePositionMarginResponse.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 *MsgDecreasePositionMarginResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgDecreasePositionMarginResponse.Merge(m, src) +} +func (m *MsgDecreasePositionMarginResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgDecreasePositionMarginResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgDecreasePositionMarginResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgDecreasePositionMarginResponse 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 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"` + // data defines the call data used when executing the contract + Data string `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` +} + +func (m *MsgPrivilegedExecuteContract) Reset() { *m = MsgPrivilegedExecuteContract{} } +func (m *MsgPrivilegedExecuteContract) String() string { return proto.CompactTextString(m) } +func (*MsgPrivilegedExecuteContract) ProtoMessage() {} +func (*MsgPrivilegedExecuteContract) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{63} +} +func (m *MsgPrivilegedExecuteContract) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgPrivilegedExecuteContract) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgPrivilegedExecuteContract.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 *MsgPrivilegedExecuteContract) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgPrivilegedExecuteContract.Merge(m, src) +} +func (m *MsgPrivilegedExecuteContract) XXX_Size() int { + return m.Size() +} +func (m *MsgPrivilegedExecuteContract) XXX_DiscardUnknown() { + xxx_messageInfo_MsgPrivilegedExecuteContract.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgPrivilegedExecuteContract proto.InternalMessageInfo + +// MsgPrivilegedExecuteContractResponse defines the Msg/Exec response type. +type MsgPrivilegedExecuteContractResponse struct { + FundsDiff github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,1,rep,name=funds_diff,json=fundsDiff,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"funds_diff"` +} + +func (m *MsgPrivilegedExecuteContractResponse) Reset() { *m = MsgPrivilegedExecuteContractResponse{} } +func (m *MsgPrivilegedExecuteContractResponse) String() string { return proto.CompactTextString(m) } +func (*MsgPrivilegedExecuteContractResponse) ProtoMessage() {} +func (*MsgPrivilegedExecuteContractResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{64} +} +func (m *MsgPrivilegedExecuteContractResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgPrivilegedExecuteContractResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgPrivilegedExecuteContractResponse.Marshal(b, m, deterministic) + } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) if err != nil { @@ -2701,7 +3012,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{59} + return fileDescriptor_bd45b74cb6d81462, []int{65} } func (m *MsgRewardsOptOut) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2730,13 +3041,6 @@ func (m *MsgRewardsOptOut) XXX_DiscardUnknown() { var xxx_messageInfo_MsgRewardsOptOut proto.InternalMessageInfo -func (m *MsgRewardsOptOut) GetSender() string { - if m != nil { - return m.Sender - } - return "" -} - // MsgRewardsOptOutResponse defines the Msg/RewardsOptOut response type. type MsgRewardsOptOutResponse struct { } @@ -2745,7 +3049,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{60} + return fileDescriptor_bd45b74cb6d81462, []int{66} } func (m *MsgRewardsOptOutResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2785,7 +3089,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{61} + return fileDescriptor_bd45b74cb6d81462, []int{67} } func (m *MsgReclaimLockedFunds) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2844,7 +3148,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{62} + return fileDescriptor_bd45b74cb6d81462, []int{68} } func (m *MsgReclaimLockedFundsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2886,7 +3190,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{63} + return fileDescriptor_bd45b74cb6d81462, []int{69} } func (m *MsgSignData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2939,7 +3243,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{64} + return fileDescriptor_bd45b74cb6d81462, []int{70} } func (m *MsgSignDoc) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2988,7 +3292,7 @@ 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"` // new price at which market will be settled - SettlementPrice *github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=settlement_price,json=settlementPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"settlement_price,omitempty"` + SettlementPrice *cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=settlement_price,json=settlementPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"settlement_price,omitempty"` // expiration timestamp ExpirationTimestamp int64 `protobuf:"varint,4,opt,name=expiration_timestamp,json=expirationTimestamp,proto3" json:"expiration_timestamp,omitempty"` // expiration timestamp @@ -3001,7 +3305,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{65} + return fileDescriptor_bd45b74cb6d81462, []int{71} } func (m *MsgAdminUpdateBinaryOptionsMarket) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3078,7 +3382,7 @@ func (m *MsgAdminUpdateBinaryOptionsMarketResponse) String() string { } func (*MsgAdminUpdateBinaryOptionsMarketResponse) ProtoMessage() {} func (*MsgAdminUpdateBinaryOptionsMarketResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_bd45b74cb6d81462, []int{66} + return fileDescriptor_bd45b74cb6d81462, []int{72} } func (m *MsgAdminUpdateBinaryOptionsMarketResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3107,7 +3411,189 @@ func (m *MsgAdminUpdateBinaryOptionsMarketResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgAdminUpdateBinaryOptionsMarketResponse proto.InternalMessageInfo +// MsgAuthorizeStakeGrants grants stakes to grantees. +type MsgAuthorizeStakeGrants struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` + Grants []*GrantAuthorization `protobuf:"bytes,2,rep,name=grants,proto3" json:"grants,omitempty"` +} + +func (m *MsgAuthorizeStakeGrants) Reset() { *m = MsgAuthorizeStakeGrants{} } +func (m *MsgAuthorizeStakeGrants) String() string { return proto.CompactTextString(m) } +func (*MsgAuthorizeStakeGrants) ProtoMessage() {} +func (*MsgAuthorizeStakeGrants) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{73} +} +func (m *MsgAuthorizeStakeGrants) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgAuthorizeStakeGrants) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgAuthorizeStakeGrants.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 *MsgAuthorizeStakeGrants) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgAuthorizeStakeGrants.Merge(m, src) +} +func (m *MsgAuthorizeStakeGrants) XXX_Size() int { + return m.Size() +} +func (m *MsgAuthorizeStakeGrants) XXX_DiscardUnknown() { + xxx_messageInfo_MsgAuthorizeStakeGrants.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgAuthorizeStakeGrants proto.InternalMessageInfo + +func (m *MsgAuthorizeStakeGrants) GetSender() string { + if m != nil { + return m.Sender + } + return "" +} + +func (m *MsgAuthorizeStakeGrants) GetGrants() []*GrantAuthorization { + if m != nil { + return m.Grants + } + return nil +} + +type MsgAuthorizeStakeGrantsResponse struct { +} + +func (m *MsgAuthorizeStakeGrantsResponse) Reset() { *m = MsgAuthorizeStakeGrantsResponse{} } +func (m *MsgAuthorizeStakeGrantsResponse) String() string { return proto.CompactTextString(m) } +func (*MsgAuthorizeStakeGrantsResponse) ProtoMessage() {} +func (*MsgAuthorizeStakeGrantsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{74} +} +func (m *MsgAuthorizeStakeGrantsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgAuthorizeStakeGrantsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgAuthorizeStakeGrantsResponse.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 *MsgAuthorizeStakeGrantsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgAuthorizeStakeGrantsResponse.Merge(m, src) +} +func (m *MsgAuthorizeStakeGrantsResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgAuthorizeStakeGrantsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgAuthorizeStakeGrantsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgAuthorizeStakeGrantsResponse proto.InternalMessageInfo + +// MsgActivateStakeGrant allows a grantee to activate a stake grant. +type MsgActivateStakeGrant struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` + Granter string `protobuf:"bytes,2,opt,name=granter,proto3" json:"granter,omitempty"` +} + +func (m *MsgActivateStakeGrant) Reset() { *m = MsgActivateStakeGrant{} } +func (m *MsgActivateStakeGrant) String() string { return proto.CompactTextString(m) } +func (*MsgActivateStakeGrant) ProtoMessage() {} +func (*MsgActivateStakeGrant) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{75} +} +func (m *MsgActivateStakeGrant) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgActivateStakeGrant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgActivateStakeGrant.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 *MsgActivateStakeGrant) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgActivateStakeGrant.Merge(m, src) +} +func (m *MsgActivateStakeGrant) XXX_Size() int { + return m.Size() +} +func (m *MsgActivateStakeGrant) XXX_DiscardUnknown() { + xxx_messageInfo_MsgActivateStakeGrant.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgActivateStakeGrant proto.InternalMessageInfo + +func (m *MsgActivateStakeGrant) GetSender() string { + if m != nil { + return m.Sender + } + return "" +} + +func (m *MsgActivateStakeGrant) GetGranter() string { + if m != nil { + return m.Granter + } + return "" +} + +type MsgActivateStakeGrantResponse struct { +} + +func (m *MsgActivateStakeGrantResponse) Reset() { *m = MsgActivateStakeGrantResponse{} } +func (m *MsgActivateStakeGrantResponse) String() string { return proto.CompactTextString(m) } +func (*MsgActivateStakeGrantResponse) ProtoMessage() {} +func (*MsgActivateStakeGrantResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_bd45b74cb6d81462, []int{76} +} +func (m *MsgActivateStakeGrantResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgActivateStakeGrantResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgActivateStakeGrantResponse.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 *MsgActivateStakeGrantResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgActivateStakeGrantResponse.Merge(m, src) +} +func (m *MsgActivateStakeGrantResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgActivateStakeGrantResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgActivateStakeGrantResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgActivateStakeGrantResponse proto.InternalMessageInfo + func init() { + proto.RegisterType((*MsgUpdateSpotMarket)(nil), "injective.exchange.v1beta1.MsgUpdateSpotMarket") + proto.RegisterType((*MsgUpdateSpotMarketResponse)(nil), "injective.exchange.v1beta1.MsgUpdateSpotMarketResponse") + proto.RegisterType((*MsgUpdateDerivativeMarket)(nil), "injective.exchange.v1beta1.MsgUpdateDerivativeMarket") + proto.RegisterType((*MsgUpdateDerivativeMarketResponse)(nil), "injective.exchange.v1beta1.MsgUpdateDerivativeMarketResponse") proto.RegisterType((*MsgUpdateParams)(nil), "injective.exchange.v1beta1.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "injective.exchange.v1beta1.MsgUpdateParamsResponse") proto.RegisterType((*MsgDeposit)(nil), "injective.exchange.v1beta1.MsgDeposit") @@ -3165,6 +3651,8 @@ func init() { proto.RegisterType((*MsgEmergencySettleMarketResponse)(nil), "injective.exchange.v1beta1.MsgEmergencySettleMarketResponse") proto.RegisterType((*MsgIncreasePositionMargin)(nil), "injective.exchange.v1beta1.MsgIncreasePositionMargin") proto.RegisterType((*MsgIncreasePositionMarginResponse)(nil), "injective.exchange.v1beta1.MsgIncreasePositionMarginResponse") + proto.RegisterType((*MsgDecreasePositionMargin)(nil), "injective.exchange.v1beta1.MsgDecreasePositionMargin") + proto.RegisterType((*MsgDecreasePositionMarginResponse)(nil), "injective.exchange.v1beta1.MsgDecreasePositionMarginResponse") proto.RegisterType((*MsgPrivilegedExecuteContract)(nil), "injective.exchange.v1beta1.MsgPrivilegedExecuteContract") proto.RegisterType((*MsgPrivilegedExecuteContractResponse)(nil), "injective.exchange.v1beta1.MsgPrivilegedExecuteContractResponse") proto.RegisterType((*MsgRewardsOptOut)(nil), "injective.exchange.v1beta1.MsgRewardsOptOut") @@ -3175,6 +3663,10 @@ func init() { proto.RegisterType((*MsgSignDoc)(nil), "injective.exchange.v1beta1.MsgSignDoc") proto.RegisterType((*MsgAdminUpdateBinaryOptionsMarket)(nil), "injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarket") proto.RegisterType((*MsgAdminUpdateBinaryOptionsMarketResponse)(nil), "injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarketResponse") + proto.RegisterType((*MsgAuthorizeStakeGrants)(nil), "injective.exchange.v1beta1.MsgAuthorizeStakeGrants") + proto.RegisterType((*MsgAuthorizeStakeGrantsResponse)(nil), "injective.exchange.v1beta1.MsgAuthorizeStakeGrantsResponse") + proto.RegisterType((*MsgActivateStakeGrant)(nil), "injective.exchange.v1beta1.MsgActivateStakeGrant") + proto.RegisterType((*MsgActivateStakeGrantResponse)(nil), "injective.exchange.v1beta1.MsgActivateStakeGrantResponse") } func init() { @@ -3182,205 +3674,253 @@ func init() { } var fileDescriptor_bd45b74cb6d81462 = []byte{ - // 3167 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x1c, 0xdf, 0x6f, 0x1c, 0x47, - 0x39, 0xeb, 0x1f, 0x67, 0xdf, 0x67, 0x3b, 0x4e, 0xd6, 0x8e, 0x73, 0xb9, 0x24, 0x76, 0x6a, 0x37, - 0x8d, 0xd3, 0x10, 0xbb, 0x49, 0x43, 0xda, 0xa6, 0x84, 0xc4, 0x3f, 0xe2, 0x92, 0x36, 0x26, 0xee, - 0x9e, 0xf9, 0x55, 0x09, 0x8e, 0xf1, 0xee, 0xf8, 0xbc, 0xf5, 0xdd, 0xee, 0x65, 0x67, 0xce, 0x8d, - 0x2b, 0x24, 0xa0, 0xe2, 0xa1, 0x94, 0x1f, 0xa2, 0x50, 0x54, 0x28, 0x14, 0x2a, 0x21, 0x81, 0x04, - 0x08, 0xf5, 0x81, 0x47, 0x9e, 0x51, 0x1f, 0x2b, 0x24, 0xa4, 0x8a, 0x87, 0x00, 0x8d, 0x10, 0x55, - 0xff, 0x00, 0x1e, 0xfa, 0x80, 0xd0, 0xce, 0xcc, 0xce, 0xed, 0xee, 0xed, 0xaf, 0x3b, 0xd7, 0x49, - 0xc8, 0x53, 0x6e, 0x67, 0xbe, 0xef, 0x9b, 0xef, 0xf7, 0xcc, 0xf7, 0xcd, 0xc4, 0x30, 0x65, 0x5a, - 0xcf, 0x63, 0x9d, 0x9a, 0x5b, 0x78, 0x16, 0xdf, 0xd4, 0x37, 0x90, 0x55, 0xc1, 0xb3, 0x5b, 0x67, - 0xd6, 0x30, 0x45, 0x67, 0x66, 0xe9, 0xcd, 0x99, 0xba, 0x63, 0x53, 0x5b, 0x2d, 0x4a, 0xa0, 0x19, - 0x0f, 0x68, 0x46, 0x00, 0x15, 0xc7, 0x75, 0x9b, 0xd4, 0x6c, 0x32, 0xbb, 0x86, 0x48, 0x13, 0x53, - 0xb7, 0x4d, 0x8b, 0xe3, 0x16, 0x67, 0xc4, 0xbc, 0x61, 0x12, 0xea, 0x98, 0x6b, 0x0d, 0x6a, 0xda, - 0x96, 0x84, 0xf3, 0x0f, 0x0a, 0xf8, 0x83, 0x02, 0xbe, 0x46, 0x2a, 0xb3, 0x5b, 0x67, 0xdc, 0x7f, - 0xc4, 0xc4, 0x21, 0x3e, 0x51, 0x66, 0x5f, 0xb3, 0xfc, 0x43, 0x4c, 0x8d, 0x56, 0xec, 0x8a, 0xcd, - 0xc7, 0xdd, 0x5f, 0x62, 0xf4, 0x64, 0x82, 0x68, 0x52, 0x0c, 0x0e, 0x7a, 0xbc, 0x09, 0x6a, 0x3b, - 0x48, 0xaf, 0x36, 0x01, 0xf9, 0x27, 0x07, 0x9b, 0xfc, 0x99, 0x02, 0xc3, 0xcb, 0xa4, 0xf2, 0xb9, - 0xba, 0x81, 0x28, 0x5e, 0x41, 0x0e, 0xaa, 0x11, 0xf5, 0x3c, 0xe4, 0x51, 0x83, 0x6e, 0xd8, 0x8e, - 0x49, 0xb7, 0x0b, 0xca, 0x31, 0x65, 0x3a, 0x3f, 0x5f, 0xf8, 0xcb, 0x1f, 0x4f, 0x8f, 0x0a, 0x06, - 0xe7, 0x0c, 0xc3, 0xc1, 0x84, 0x94, 0xa8, 0x63, 0x5a, 0x15, 0xad, 0x09, 0xaa, 0x5e, 0x86, 0x5c, - 0x9d, 0x51, 0x28, 0x74, 0x1d, 0x53, 0xa6, 0x07, 0xce, 0x4e, 0xce, 0xc4, 0x2b, 0x79, 0x86, 0xaf, - 0x35, 0xdf, 0xf3, 0xce, 0xad, 0x89, 0x3d, 0x9a, 0xc0, 0xbb, 0xb0, 0xf7, 0xa5, 0x7f, 0xbf, 0xfd, - 0x70, 0x93, 0xe2, 0xe4, 0x21, 0x38, 0x18, 0x62, 0x4e, 0xc3, 0xa4, 0x6e, 0x5b, 0x04, 0x4f, 0xbe, - 0xae, 0x00, 0x2c, 0x93, 0xca, 0x22, 0xae, 0xdb, 0xc4, 0xa4, 0xea, 0x18, 0xe4, 0x08, 0xb6, 0x0c, - 0xec, 0x70, 0x86, 0x35, 0xf1, 0xa5, 0x4e, 0xc1, 0x10, 0x69, 0xac, 0x21, 0x5d, 0xb7, 0x1b, 0x16, - 0x2d, 0x9b, 0x06, 0x63, 0x2d, 0xaf, 0x0d, 0x36, 0x07, 0xaf, 0x1a, 0xea, 0x63, 0x90, 0x43, 0x35, - 0xf7, 0x77, 0xa1, 0x9b, 0x31, 0x7e, 0x48, 0x58, 0x78, 0xc6, 0xf5, 0x00, 0xc9, 0xf1, 0x82, 0x6d, - 0x5a, 0x1e, 0xbf, 0x1c, 0xfc, 0xc2, 0xc8, 0xcb, 0x6f, 0x4d, 0xec, 0xf9, 0xe0, 0xad, 0x89, 0x3d, - 0x2e, 0xdf, 0x62, 0xc9, 0xc9, 0x51, 0x50, 0x9b, 0x8c, 0x49, 0x7e, 0x7f, 0xa2, 0xc0, 0xc0, 0x32, - 0xa9, 0x7c, 0xc1, 0xa4, 0x1b, 0x86, 0x83, 0x5e, 0xb8, 0x97, 0x18, 0x3e, 0x00, 0x23, 0x3e, 0xce, - 0x24, 0xc7, 0xdf, 0x56, 0x98, 0xf6, 0x17, 0x1c, 0x8c, 0x28, 0x2e, 0xd5, 0x6d, 0x7a, 0xcd, 0xac, - 0x99, 0xf4, 0xba, 0xe3, 0x72, 0x19, 0xc7, 0xfd, 0x1c, 0xf4, 0xda, 0x2e, 0x80, 0xf0, 0x80, 0xe3, - 0x49, 0x1e, 0xe0, 0x92, 0x64, 0xd4, 0x04, 0x8f, 0x1c, 0x33, 0x9a, 0xc5, 0xa7, 0x61, 0x22, 0x86, - 0x15, 0x8f, 0x5d, 0xf5, 0x28, 0x00, 0x23, 0x50, 0xde, 0x40, 0x64, 0x43, 0xb0, 0x95, 0x67, 0x23, - 0x9f, 0x41, 0x64, 0xe3, 0x42, 0xbf, 0x47, 0x76, 0xf2, 0x55, 0x05, 0x8e, 0x2e, 0x93, 0xca, 0x3c, - 0xa2, 0xfa, 0x46, 0x14, 0x45, 0x12, 0x2b, 0xdd, 0x02, 0xe4, 0x18, 0x41, 0xd7, 0xc1, 0xbb, 0xdb, - 0x15, 0x4f, 0xa0, 0x46, 0xcb, 0xb7, 0x0a, 0xc7, 0x13, 0x59, 0x92, 0x52, 0x3e, 0x00, 0x83, 0x4d, - 0x29, 0x31, 0x29, 0x28, 0xc7, 0xba, 0xa7, 0xf3, 0xda, 0x80, 0x94, 0x13, 0x13, 0x9f, 0xa4, 0xff, - 0xea, 0x82, 0xe2, 0x32, 0xa9, 0x5c, 0xb5, 0x08, 0x45, 0x16, 0x75, 0x49, 0x2e, 0x23, 0x67, 0x13, - 0xd3, 0x6b, 0xa8, 0x61, 0xe9, 0x1b, 0xb1, 0x62, 0x8e, 0x41, 0x8e, 0x9a, 0xfa, 0xa6, 0xb0, 0x62, - 0x5e, 0x13, 0x5f, 0xae, 0x86, 0x5d, 0xff, 0x2a, 0x1b, 0xd8, 0xb2, 0x6b, 0xcc, 0xf3, 0xf2, 0x5a, - 0xde, 0x1d, 0x59, 0x74, 0x07, 0xd4, 0x09, 0x18, 0xb8, 0xd1, 0xb0, 0xa9, 0x37, 0xdf, 0xc3, 0xe6, - 0x81, 0x0d, 0x71, 0x80, 0x2f, 0xc3, 0x48, 0xcd, 0xb4, 0xca, 0x75, 0xc7, 0xd4, 0x71, 0xd9, 0xa5, - 0x59, 0x26, 0xe6, 0x8b, 0xb8, 0xd0, 0xcb, 0x32, 0xcc, 0x8c, 0xab, 0xa4, 0xbf, 0xdd, 0x9a, 0x78, - 0xa8, 0x62, 0xd2, 0x8d, 0xc6, 0xda, 0x8c, 0x6e, 0xd7, 0x44, 0x46, 0x14, 0xff, 0x9c, 0x26, 0xc6, - 0xe6, 0x2c, 0xdd, 0xae, 0x63, 0x32, 0xb3, 0x88, 0x75, 0x6d, 0x5f, 0xcd, 0xb4, 0x56, 0x5c, 0x4a, - 0xab, 0xa6, 0xbe, 0x59, 0x32, 0x5f, 0xc4, 0xaa, 0x0e, 0x63, 0x2e, 0xf9, 0x1b, 0x0d, 0x64, 0x51, - 0x93, 0x6e, 0xfb, 0x56, 0xc8, 0x75, 0xb4, 0x82, 0xcb, 0xec, 0xb3, 0x82, 0x98, 0xb7, 0x48, 0xb4, - 0xf5, 0x1e, 0x84, 0xc9, 0x78, 0x35, 0xcb, 0x78, 0xfa, 0x6f, 0x8e, 0x39, 0xb1, 0x00, 0x5b, 0xc1, - 0x4e, 0x1d, 0xd3, 0x06, 0xaa, 0xee, 0xc8, 0x24, 0x21, 0x9d, 0x77, 0xb7, 0xe8, 0x7c, 0x02, 0x06, - 0x78, 0xbe, 0x2f, 0xbb, 0x86, 0xf2, 0x8c, 0xc2, 0x87, 0xe6, 0x91, 0xe7, 0x50, 0x0c, 0x80, 0x61, - 0x71, 0x6b, 0x68, 0x02, 0xe9, 0x59, 0x77, 0x48, 0x9d, 0x81, 0x11, 0x01, 0x42, 0x74, 0x54, 0xc5, - 0xe5, 0x75, 0xa4, 0x53, 0xdb, 0x61, 0x5a, 0x1d, 0xd2, 0xf6, 0xf3, 0xa9, 0x92, 0x3b, 0xb3, 0xc4, - 0x26, 0xd4, 0x2b, 0x72, 0x4d, 0x57, 0x99, 0x85, 0xbe, 0x63, 0xca, 0xf4, 0xde, 0xb3, 0x0f, 0xfa, - 0x62, 0x45, 0xec, 0x40, 0x5e, 0xa4, 0x5c, 0x67, 0x9f, 0xab, 0xdb, 0x75, 0xec, 0x71, 0xe6, 0xfe, - 0x56, 0x57, 0x61, 0x6f, 0x0d, 0x6d, 0x62, 0xa7, 0xbc, 0x8e, 0x71, 0xd9, 0x41, 0x14, 0x17, 0xfa, - 0x3b, 0xb2, 0xe3, 0x20, 0xa3, 0xb2, 0x84, 0xb1, 0x86, 0x28, 0xa3, 0x4a, 0x83, 0x54, 0xf3, 0x9d, - 0x51, 0xa5, 0x7e, 0xaa, 0x5f, 0x85, 0x51, 0xd3, 0x32, 0xa9, 0x89, 0xaa, 0xe5, 0x1a, 0x72, 0x2a, - 0xa6, 0xe5, 0x92, 0x36, 0xed, 0x02, 0x74, 0x44, 0x5b, 0x15, 0xb4, 0x96, 0x19, 0x29, 0xcd, 0xa5, - 0xa4, 0x6e, 0x40, 0xa1, 0x86, 0x4c, 0x8b, 0x62, 0x0b, 0x59, 0x3a, 0x0e, 0xae, 0x32, 0xd0, 0xd1, - 0x2a, 0x63, 0x3e, 0x7a, 0xfe, 0x95, 0x62, 0xc2, 0x74, 0x70, 0xd7, 0xc3, 0x74, 0x68, 0x97, 0xc3, - 0xf4, 0x24, 0x9c, 0x48, 0x89, 0x3f, 0x19, 0xab, 0x7f, 0xca, 0xc1, 0x54, 0x13, 0x76, 0xde, 0xb4, - 0x90, 0xb3, 0x7d, 0xbd, 0xee, 0x9e, 0xe9, 0xc8, 0x8e, 0xe2, 0x75, 0x0a, 0x86, 0xbc, 0x50, 0xda, - 0xae, 0xad, 0xd9, 0x55, 0x11, 0xb1, 0x22, 0x04, 0x4b, 0x6c, 0x4c, 0x3d, 0x01, 0xc3, 0x02, 0xa8, - 0xee, 0xd8, 0x5b, 0xa6, 0x4b, 0x9d, 0xc7, 0xed, 0x5e, 0x3e, 0xbc, 0x22, 0x46, 0xc3, 0x81, 0xd6, - 0xdb, 0x61, 0xa0, 0xb5, 0x1b, 0xdf, 0xad, 0x81, 0xd9, 0xb7, 0x2b, 0x81, 0xd9, 0xff, 0x31, 0x04, - 0xe6, 0x19, 0x18, 0xc5, 0x37, 0xeb, 0x26, 0x8b, 0x13, 0xab, 0x4c, 0xcd, 0x1a, 0x26, 0x14, 0xd5, - 0xea, 0x2c, 0xe8, 0xbb, 0xb5, 0x91, 0xe6, 0xdc, 0xaa, 0x37, 0xe5, 0xa2, 0x10, 0x4c, 0x69, 0x15, - 0xd7, 0xb0, 0x45, 0x7d, 0x28, 0xc0, 0x51, 0x9a, 0x73, 0x4d, 0x94, 0x51, 0xe8, 0x45, 0x46, 0xcd, - 0xb4, 0x78, 0x24, 0x6a, 0xfc, 0x23, 0x9c, 0x9c, 0x07, 0xb3, 0x6e, 0x88, 0x43, 0xbb, 0x1e, 0x69, - 0x7b, 0x77, 0x39, 0xd2, 0x4e, 0xc3, 0xa9, 0x0c, 0xd1, 0x23, 0xa3, 0xed, 0x8d, 0x3e, 0x7f, 0xb4, - 0x5d, 0x71, 0x6d, 0xb2, 0xbd, 0xd4, 0xa0, 0x0d, 0x07, 0x93, 0x7b, 0x7f, 0x77, 0x0c, 0x05, 0x61, - 0xee, 0xe3, 0x0d, 0xc2, 0xbe, 0xb8, 0x20, 0x1c, 0x83, 0x1c, 0x73, 0xde, 0x6d, 0x16, 0x26, 0xdd, - 0x9a, 0xf8, 0x8a, 0x08, 0xce, 0xfc, 0xae, 0x04, 0x27, 0xec, 0xe2, 0xae, 0x39, 0x70, 0x47, 0x76, - 0xcd, 0xc1, 0x3b, 0xb1, 0x6b, 0xde, 0x67, 0xb1, 0x1c, 0x1b, 0x9b, 0x32, 0x96, 0x5f, 0x51, 0xa0, - 0x10, 0x28, 0xd5, 0x38, 0xd4, 0xdd, 0x29, 0x1b, 0x7f, 0xa9, 0xc0, 0xb1, 0x38, 0x66, 0x32, 0x16, - 0x8e, 0xaa, 0x06, 0x7d, 0x0e, 0x26, 0x8d, 0x2a, 0xf5, 0xda, 0x1a, 0x67, 0xd3, 0xb8, 0x0b, 0x2e, - 0xe2, 0x62, 0x32, 0x56, 0x15, 0xcd, 0x23, 0xe4, 0x2b, 0xd1, 0xfe, 0xa3, 0xc0, 0x58, 0x34, 0x8e, - 0xfa, 0x34, 0xf4, 0x7b, 0xe6, 0x16, 0x5d, 0x98, 0x76, 0x8d, 0x2c, 0xf1, 0xd5, 0x45, 0xe8, 0x65, - 0x9e, 0xc9, 0x13, 0x64, 0xdb, 0x84, 0x38, 0xb2, 0x7a, 0x19, 0xba, 0xd7, 0x31, 0xe6, 0x79, 0xb4, - 0x6d, 0x1a, 0x2e, 0x6a, 0x6b, 0x15, 0xce, 0x4d, 0xb3, 0x88, 0x1d, 0x73, 0x0b, 0xb9, 0x1a, 0xcd, - 0xd0, 0x63, 0x78, 0x2a, 0xe8, 0x2c, 0xa7, 0x92, 0xcc, 0xd1, 0x24, 0x1c, 0xe1, 0x32, 0xc3, 0x2f, - 0x87, 0xdc, 0x65, 0x85, 0x55, 0xe1, 0xf1, 0x2c, 0xb5, 0xdf, 0x6b, 0x78, 0xcd, 0xef, 0x80, 0x81, - 0x8d, 0xf0, 0xae, 0x0a, 0x5a, 0x82, 0xe9, 0x34, 0xae, 0xda, 0x97, 0xf5, 0xa7, 0x0a, 0xdb, 0xc5, - 0x7d, 0x4d, 0x8c, 0x28, 0x1d, 0xc6, 0x77, 0x57, 0xae, 0x86, 0xba, 0x2b, 0x1d, 0xc8, 0xeb, 0xf5, - 0x58, 0x5a, 0x04, 0x7e, 0x8e, 0x25, 0xb1, 0x34, 0xd6, 0x3a, 0xeb, 0xb2, 0xbc, 0xad, 0xb0, 0x86, - 0xdf, 0x82, 0xbb, 0x23, 0x54, 0x65, 0x76, 0x8a, 0x15, 0xf3, 0x30, 0xe4, 0x6b, 0x2c, 0xd8, 0x9b, - 0xcd, 0xbd, 0x7e, 0x3e, 0x70, 0xd5, 0x68, 0xed, 0xfe, 0x75, 0x47, 0x74, 0xff, 0x82, 0x16, 0xe9, - 0x09, 0x27, 0xac, 0x7d, 0xd0, 0xad, 0x9b, 0x86, 0x38, 0xaa, 0xb8, 0x3f, 0x5b, 0xd5, 0x71, 0x84, - 0xf5, 0x85, 0x42, 0x1c, 0xcb, 0x14, 0xfe, 0x2d, 0x9e, 0xc2, 0xb9, 0xb6, 0x82, 0x30, 0xf1, 0xd6, - 0xbb, 0x04, 0x3d, 0x06, 0xa2, 0x28, 0x4b, 0x67, 0x8c, 0x51, 0x5a, 0x44, 0x14, 0x09, 0xab, 0x31, - 0xc4, 0x56, 0x26, 0x97, 0x58, 0xe8, 0x44, 0x72, 0x21, 0x0d, 0x55, 0x80, 0x3e, 0xd2, 0xd0, 0x75, - 0x4c, 0xb8, 0x8d, 0xfa, 0x35, 0xef, 0xd3, 0x67, 0x9f, 0xef, 0x29, 0xf0, 0x40, 0x90, 0x50, 0xc0, - 0xe5, 0xef, 0xb8, 0x5c, 0xd7, 0xe1, 0x64, 0x2a, 0x3b, 0x6d, 0x09, 0xf8, 0x6e, 0x1f, 0x8c, 0x7a, - 0x14, 0x79, 0xaf, 0x3c, 0x45, 0xa6, 0x4c, 0x3d, 0xe6, 0x4b, 0x70, 0x94, 0xd4, 0x6d, 0x5a, 0x96, - 0xce, 0x4a, 0xca, 0xd4, 0x2e, 0xeb, 0x8c, 0xe3, 0x32, 0xaa, 0xba, 0xa5, 0xab, 0x1b, 0x14, 0x05, - 0x22, 0x77, 0xaf, 0xab, 0x06, 0x59, 0xb5, 0xb9, 0x48, 0x73, 0xd5, 0xaa, 0xfa, 0x0c, 0x4c, 0x19, - 0x32, 0xca, 0xe2, 0xc9, 0xf4, 0x30, 0x32, 0xe3, 0x4d, 0xd0, 0x48, 0x62, 0x5f, 0x81, 0x03, 0x8c, - 0x1b, 0x1e, 0xe0, 0x4d, 0x12, 0x85, 0xde, 0x76, 0xed, 0xa2, 0x68, 0x2a, 0x91, 0x8e, 0xe4, 0x2d, - 0xa1, 0x3e, 0x0f, 0x87, 0x7d, 0xcc, 0xb6, 0xac, 0x92, 0x6b, 0x7f, 0x95, 0x82, 0x11, 0x4c, 0x51, - 0xcd, 0xb5, 0x22, 0x64, 0x61, 0x39, 0xa9, 0xd0, 0xd7, 0x6e, 0x57, 0x39, 0x2c, 0x0b, 0x23, 0xa3, - 0xd6, 0xe3, 0x64, 0xe1, 0xab, 0xf4, 0x77, 0x96, 0x5d, 0xa3, 0x25, 0xe2, 0x2b, 0xde, 0x80, 0x89, - 0x35, 0xe6, 0xc4, 0x65, 0x9b, 0x7b, 0x71, 0xab, 0x06, 0xf3, 0xed, 0x6b, 0xf0, 0xf0, 0x5a, 0x6b, - 0x60, 0x48, 0x25, 0x6a, 0x70, 0x22, 0xb4, 0x64, 0xac, 0x87, 0x01, 0xf3, 0xb0, 0x07, 0xd6, 0x5a, - 0xeb, 0xd0, 0x90, 0x93, 0xbd, 0x90, 0x24, 0x06, 0x57, 0xde, 0x40, 0xa7, 0xca, 0x8b, 0x11, 0x86, - 0x51, 0x6d, 0xcd, 0x11, 0x1f, 0x75, 0xc1, 0x91, 0xa8, 0x90, 0x96, 0x79, 0x61, 0x06, 0x46, 0x98, - 0x0f, 0x09, 0x31, 0x83, 0x39, 0x62, 0xbf, 0x3b, 0x25, 0x72, 0x26, 0x9f, 0x50, 0x2f, 0xc0, 0x21, - 0x9f, 0x4f, 0x84, 0xb0, 0xba, 0x18, 0xd6, 0xc1, 0x26, 0x40, 0x10, 0xf7, 0x61, 0xd8, 0xdf, 0xf4, - 0x57, 0x6f, 0x4b, 0xe4, 0xd1, 0x3f, 0x2c, 0xdd, 0x8f, 0x6f, 0x8b, 0xea, 0x79, 0x38, 0x18, 0xf6, - 0x3d, 0x0f, 0x83, 0x07, 0xfa, 0x81, 0x90, 0x13, 0x09, 0xbc, 0x39, 0x38, 0x1a, 0x52, 0x7d, 0x88, - 0xc7, 0x5e, 0xc6, 0x63, 0x31, 0xa0, 0xc5, 0x20, 0x9b, 0x17, 0xe1, 0x70, 0x94, 0xf5, 0xbc, 0xe5, - 0x73, 0x3c, 0x5d, 0xb5, 0x9a, 0xa1, 0x65, 0x43, 0xff, 0xa1, 0x02, 0xe3, 0x11, 0xe7, 0xc0, 0x2c, - 0x85, 0xcc, 0xee, 0x1d, 0xd9, 0x7e, 0xa7, 0xc0, 0x43, 0xc9, 0x4c, 0x65, 0x2d, 0x68, 0xbe, 0x18, - 0x2e, 0x68, 0x1e, 0xcf, 0xc6, 0x65, 0x3b, 0x65, 0xcd, 0xcf, 0xbb, 0xe1, 0x48, 0x12, 0xe6, 0xfd, - 0x58, 0xdc, 0xa8, 0x9f, 0x87, 0xbd, 0xec, 0xce, 0xd7, 0xb4, 0xad, 0xb2, 0x81, 0xab, 0x14, 0xb1, - 0xb3, 0xd9, 0xc0, 0xd9, 0x93, 0x89, 0xf7, 0xe0, 0x02, 0x63, 0xd1, 0x45, 0x10, 0x3e, 0x30, 0x54, - 0xf7, 0x0f, 0xaa, 0x4b, 0x90, 0xab, 0xa3, 0x6d, 0xbb, 0x41, 0x3b, 0xbc, 0x2a, 0x13, 0xd8, 0x3e, - 0xf3, 0xfc, 0x98, 0x1f, 0x89, 0x22, 0x0a, 0x80, 0xbb, 0xeb, 0xe4, 0x7f, 0x50, 0xd8, 0xd9, 0x28, - 0x99, 0xaf, 0x7b, 0xc9, 0xcf, 0xff, 0x2a, 0xba, 0x1d, 0x2c, 0x11, 0x85, 0x64, 0xbd, 0x7b, 0x15, - 0x80, 0x9c, 0xae, 0x21, 0xb2, 0xc9, 0x9c, 0xa6, 0x57, 0x4c, 0x2f, 0x23, 0xb2, 0xe9, 0x15, 0x08, - 0xb9, 0x84, 0x02, 0x61, 0x92, 0x97, 0xad, 0x51, 0x62, 0xc9, 0x32, 0xe1, 0x3d, 0x05, 0x0e, 0x4b, - 0xa0, 0xd6, 0x33, 0xec, 0xff, 0xb3, 0xf8, 0xc7, 0x59, 0x25, 0x1b, 0x27, 0x99, 0xd4, 0xc0, 0x9b, - 0x0a, 0xe4, 0xe5, 0xa1, 0x25, 0x28, 0x97, 0x92, 0x26, 0x57, 0x57, 0xaa, 0x5c, 0xdd, 0xc9, 0x72, - 0xf5, 0xc4, 0xc8, 0xd5, 0xac, 0xfb, 0x26, 0x5f, 0xe1, 0x1b, 0x99, 0xaf, 0xd4, 0x08, 0xd9, 0xf2, - 0x4e, 0x96, 0x3d, 0xd7, 0xd8, 0xfe, 0x95, 0xc0, 0x4b, 0x5b, 0x35, 0xcf, 0x6d, 0x05, 0x0e, 0x2c, - 0x93, 0x4a, 0x49, 0xaa, 0x6f, 0xd5, 0x41, 0x16, 0x59, 0x4f, 0x70, 0xbb, 0x47, 0x60, 0x94, 0xd8, - 0x0d, 0x47, 0xc7, 0xe5, 0x28, 0x43, 0xa8, 0x7c, 0xae, 0xe4, 0x37, 0x07, 0x3b, 0x33, 0x11, 0x6a, - 0x5a, 0xfc, 0xf2, 0x28, 0xca, 0x2f, 0x0f, 0xfa, 0x00, 0x4a, 0xd1, 0x2f, 0x74, 0x7a, 0xda, 0x7b, - 0xa1, 0x33, 0xe0, 0xd7, 0xd9, 0x04, 0xeb, 0x91, 0xb5, 0x0a, 0x29, 0x3d, 0xf0, 0x9f, 0x0a, 0x7b, - 0xbb, 0x73, 0xe5, 0x26, 0xc5, 0x8e, 0x85, 0xaa, 0xf7, 0xa5, 0x12, 0x8e, 0xb2, 0x34, 0x13, 0x16, - 0x51, 0xaa, 0xe0, 0xcf, 0x0a, 0xab, 0x7e, 0xaf, 0x99, 0x37, 0x1a, 0x26, 0x7b, 0x27, 0x26, 0xf6, - 0xce, 0x9d, 0x55, 0xbf, 0x81, 0x60, 0xee, 0x0e, 0x05, 0xb3, 0xdc, 0x00, 0x7b, 0x3a, 0xdb, 0x00, - 0x15, 0x6f, 0x03, 0x0c, 0xc8, 0x39, 0xce, 0x8e, 0xfc, 0x2d, 0x72, 0x48, 0x41, 0xbf, 0xc9, 0xf7, - 0x9a, 0x2b, 0x35, 0xec, 0x54, 0xb0, 0xa5, 0x6f, 0x97, 0xd8, 0x45, 0x24, 0xdf, 0xad, 0x76, 0x4f, - 0xd8, 0x20, 0x8f, 0x7c, 0x5f, 0x88, 0x64, 0x41, 0xf2, 0xf9, 0xa3, 0x2e, 0x38, 0xc4, 0x6e, 0x0c, - 0xdc, 0x92, 0x89, 0x48, 0x39, 0xf8, 0x65, 0xc9, 0x3d, 0xe2, 0x99, 0x01, 0x89, 0x7b, 0x42, 0xe6, - 0x5d, 0x92, 0x6e, 0xdb, 0xe1, 0x79, 0x2b, 0xca, 0x8b, 0xa7, 0xd8, 0x89, 0x2b, 0x5a, 0x29, 0x52, - 0x75, 0x6f, 0x29, 0xcc, 0x07, 0x56, 0x1c, 0x73, 0xcb, 0xac, 0xe2, 0x0a, 0x36, 0xae, 0xdc, 0xc4, - 0x7a, 0x83, 0xe2, 0x05, 0xdb, 0xa2, 0x0e, 0xd2, 0xe3, 0xcd, 0x3c, 0x0a, 0xbd, 0xeb, 0x0d, 0xcb, - 0x20, 0x42, 0x5d, 0xfc, 0x43, 0x3d, 0x09, 0xfb, 0x74, 0x81, 0x59, 0x46, 0xfc, 0xd5, 0xa6, 0x50, - 0xcc, 0xb0, 0x37, 0x2e, 0x1e, 0x73, 0xaa, 0xaa, 0xc8, 0xf7, 0x5c, 0x17, 0x3c, 0x85, 0x47, 0x5e, - 0xa9, 0xfc, 0x46, 0x81, 0x07, 0x93, 0x58, 0x94, 0x59, 0xfc, 0x79, 0x00, 0xc6, 0x45, 0xd9, 0x30, - 0xd7, 0xd7, 0x59, 0x22, 0x4f, 0x4c, 0x00, 0x8f, 0xb8, 0x4a, 0xfe, 0xed, 0xdf, 0x27, 0xa6, 0x33, - 0x28, 0xd9, 0x45, 0x20, 0x5a, 0x9e, 0x91, 0x5f, 0x34, 0xd7, 0xd7, 0xa3, 0x39, 0x7d, 0x18, 0xf6, - 0x2d, 0x93, 0x8a, 0x86, 0x5f, 0x40, 0x8e, 0x41, 0xae, 0xd7, 0xe9, 0xf5, 0x46, 0xac, 0xfe, 0x26, - 0x8b, 0x2c, 0xb4, 0x02, 0xb0, 0xd2, 0x28, 0xdf, 0xe5, 0x5b, 0x8d, 0x86, 0xf5, 0x2a, 0x32, 0x6b, - 0xd7, 0x6c, 0x7d, 0x13, 0x1b, 0x4b, 0x4c, 0xbf, 0xf1, 0xbe, 0x3c, 0x52, 0x65, 0x60, 0x73, 0xdc, - 0xe1, 0x56, 0x1a, 0x6b, 0xcf, 0xe0, 0x6d, 0x66, 0x9b, 0x41, 0x2d, 0x6a, 0x4a, 0x3d, 0x02, 0x79, - 0x62, 0x56, 0x2c, 0x44, 0x1b, 0x0e, 0x2f, 0x41, 0x06, 0xb5, 0xe6, 0x40, 0xd4, 0x9e, 0xd0, 0xca, - 0x8d, 0xe4, 0xf7, 0x1b, 0xfc, 0xa5, 0x69, 0xc9, 0xac, 0x58, 0xec, 0x5c, 0x52, 0x82, 0x9c, 0xfb, - 0x5b, 0x70, 0x39, 0x38, 0xff, 0xe4, 0x87, 0xb7, 0x26, 0x72, 0x84, 0x8d, 0x7c, 0x74, 0x6b, 0xe2, - 0x74, 0x06, 0x7d, 0xcf, 0xe9, 0xba, 0xf0, 0x13, 0x4d, 0x90, 0x52, 0x8f, 0x40, 0xcf, 0x22, 0x3f, - 0x1f, 0xb8, 0x24, 0xfb, 0x3f, 0xbc, 0x35, 0xc1, 0x7c, 0x46, 0x63, 0xa3, 0x93, 0x37, 0xd9, 0xdb, - 0x5c, 0xc6, 0x81, 0xad, 0xab, 0xc7, 0xb9, 0x70, 0xfc, 0x7e, 0x9c, 0x17, 0x7b, 0x0c, 0xc1, 0xfd, - 0xd6, 0xfa, 0xdd, 0x29, 0x76, 0x03, 0xbe, 0x00, 0xbd, 0x5b, 0xa8, 0xda, 0xc0, 0xe2, 0xb4, 0x7e, - 0x22, 0x29, 0xab, 0xfa, 0xe4, 0xf3, 0x4a, 0x0a, 0x86, 0x3b, 0xf9, 0x41, 0x17, 0x8b, 0xb3, 0x39, - 0xa3, 0x66, 0x5a, 0xbc, 0x71, 0x12, 0x51, 0x46, 0x74, 0x76, 0x34, 0xfd, 0x12, 0xec, 0xf3, 0xbd, - 0x0b, 0xe1, 0x15, 0x67, 0xb3, 0x5a, 0x54, 0xda, 0x48, 0x10, 0xc3, 0x4d, 0x3a, 0xec, 0x96, 0x37, - 0xf6, 0x95, 0x4a, 0x4f, 0xfb, 0xaf, 0x54, 0x7a, 0xe3, 0x5f, 0xa9, 0x5c, 0x86, 0x1c, 0xa1, 0x88, - 0x36, 0x88, 0x78, 0xa4, 0x30, 0x9d, 0xa8, 0x61, 0x26, 0x76, 0x89, 0xc1, 0x6b, 0x02, 0x2f, 0xe8, - 0x88, 0xa7, 0x58, 0xad, 0x96, 0xac, 0x69, 0xcf, 0x29, 0xcf, 0xfe, 0x62, 0x0a, 0xba, 0x97, 0x49, - 0x45, 0x45, 0xd0, 0xe7, 0x3d, 0xd9, 0x7e, 0x28, 0xc5, 0xc0, 0x02, 0xae, 0x38, 0x93, 0x0d, 0x4e, - 0x26, 0x1e, 0x03, 0xfa, 0xe5, 0x2b, 0xeb, 0x34, 0x27, 0xf2, 0x00, 0x8b, 0xb3, 0x19, 0x01, 0xe5, - 0x2a, 0xaf, 0x2a, 0x70, 0x30, 0xee, 0x61, 0xed, 0xf9, 0x14, 0x62, 0x31, 0x78, 0xc5, 0x4f, 0x77, - 0x86, 0x27, 0x79, 0x72, 0xb7, 0x8f, 0xc4, 0xe7, 0xa5, 0x4f, 0x66, 0x5b, 0x20, 0x12, 0xb9, 0xb8, - 0xb0, 0x03, 0x64, 0xc9, 0xe2, 0xef, 0x15, 0x38, 0x96, 0xfa, 0xce, 0xe7, 0x52, 0xb6, 0x95, 0x62, - 0x09, 0x14, 0x9f, 0xda, 0x21, 0x01, 0xc9, 0xee, 0xcb, 0x0a, 0x8c, 0x46, 0x3e, 0x80, 0x7f, 0x34, - 0x65, 0x85, 0x28, 0xa4, 0xe2, 0x93, 0x1d, 0x20, 0x49, 0x56, 0xde, 0x50, 0xa0, 0x98, 0xf0, 0x66, - 0xfd, 0x89, 0x14, 0xda, 0xf1, 0xa8, 0xc5, 0xb9, 0x8e, 0x51, 0x25, 0x73, 0xdf, 0x51, 0xe0, 0x40, - 0xf4, 0x93, 0x8f, 0x73, 0x99, 0x65, 0xf6, 0x61, 0x15, 0x3f, 0xd5, 0x09, 0x96, 0xe4, 0x66, 0x1b, - 0x86, 0xc3, 0xb7, 0xb1, 0x69, 0x49, 0x24, 0x04, 0x5f, 0x3c, 0xdf, 0x1e, 0x7c, 0x40, 0x11, 0xd1, - 0x17, 0xa7, 0xe7, 0x32, 0x69, 0x39, 0x84, 0x95, 0xaa, 0x88, 0xe4, 0xeb, 0xd1, 0xaf, 0xc3, 0xfe, - 0xd6, 0x5b, 0xc1, 0x47, 0xb2, 0x90, 0xf4, 0x63, 0x14, 0x1f, 0x6f, 0x17, 0x43, 0x32, 0xf0, 0xba, - 0x02, 0x87, 0xe2, 0x4f, 0xb3, 0x69, 0x74, 0x63, 0x31, 0x8b, 0x97, 0x3b, 0xc5, 0x0c, 0x84, 0x53, - 0xc2, 0xe3, 0x93, 0x27, 0x32, 0x39, 0x60, 0x14, 0x6a, 0x6a, 0x38, 0x65, 0x78, 0x5f, 0xe2, 0x66, - 0xc9, 0xd4, 0x77, 0x14, 0x97, 0xb2, 0x87, 0x6d, 0x24, 0x81, 0xd4, 0x2c, 0x99, 0xf9, 0xb9, 0xc4, - 0x9b, 0x0a, 0x1c, 0x4e, 0xba, 0x2d, 0xb9, 0xd0, 0xa6, 0x46, 0xfc, 0x99, 0x60, 0xbe, 0x73, 0xdc, - 0x60, 0x76, 0x8a, 0x6c, 0xd1, 0x9e, 0xcb, 0x14, 0xe6, 0x21, 0xac, 0xf4, 0xec, 0x94, 0xd4, 0x37, - 0x65, 0xda, 0x4a, 0x6a, 0xc9, 0x5d, 0xc8, 0x1e, 0xf2, 0x61, 0xdc, 0x54, 0x6d, 0x65, 0x69, 0xbf, - 0xf9, 0xb6, 0xe8, 0xf8, 0x87, 0xef, 0x19, 0xb7, 0xe8, 0x58, 0x02, 0x59, 0xb7, 0xe8, 0xd4, 0xc7, - 0xc3, 0xea, 0xaf, 0x14, 0x38, 0x9a, 0xfc, 0xbe, 0x2a, 0xdb, 0x66, 0x12, 0x83, 0x5d, 0x5c, 0xdc, - 0x09, 0xb6, 0xe4, 0xf2, 0xd7, 0x0a, 0x8c, 0xa7, 0x5c, 0xb7, 0x5c, 0x6c, 0x7f, 0x21, 0x7f, 0xa0, - 0x5c, 0xd9, 0x11, 0xba, 0x64, 0xf4, 0x35, 0x05, 0x0a, 0xb1, 0x2d, 0xfd, 0xc7, 0x32, 0x39, 0x7e, - 0x2b, 0x62, 0xf1, 0x52, 0x87, 0x88, 0x01, 0xfd, 0xa5, 0xbc, 0xe0, 0xb9, 0x98, 0xdd, 0xf7, 0x23, - 0xd0, 0x53, 0xf5, 0x97, 0xf1, 0xc1, 0xce, 0x4b, 0x0a, 0xa8, 0x11, 0x5d, 0xe9, 0x33, 0x69, 0xd5, - 0x6c, 0x0b, 0x4a, 0xf1, 0x89, 0xb6, 0x51, 0x24, 0x13, 0x5f, 0x83, 0x7d, 0x2d, 0x2d, 0xe1, 0xb4, - 0x0a, 0x27, 0x8c, 0x50, 0x7c, 0xac, 0x4d, 0x04, 0xff, 0xa9, 0xa3, 0xb5, 0x1b, 0x9b, 0x76, 0xea, - 0x68, 0xc1, 0x48, 0x3d, 0x75, 0xc4, 0x76, 0x4a, 0x59, 0xbe, 0x8f, 0x6e, 0x93, 0xa6, 0xe5, 0xfb, - 0x48, 0xac, 0xd4, 0x7c, 0x9f, 0xd8, 0x0f, 0x55, 0xbf, 0xaf, 0xc0, 0x58, 0x4c, 0x33, 0xf4, 0x93, - 0xa9, 0x49, 0x30, 0x0a, 0xad, 0x78, 0xb1, 0x23, 0x34, 0xc9, 0x10, 0x81, 0xa1, 0x60, 0x57, 0xec, - 0x13, 0x29, 0xf4, 0x02, 0xd0, 0xc5, 0x73, 0xed, 0x40, 0x07, 0x02, 0x38, 0xa5, 0x2b, 0x93, 0x26, - 0x56, 0x32, 0x7a, 0x6a, 0x00, 0x67, 0xeb, 0x54, 0xb0, 0x00, 0x8e, 0xe8, 0xf5, 0x9d, 0x49, 0x95, - 0x3a, 0x8c, 0x92, 0x1a, 0xc0, 0xf1, 0x3d, 0x3c, 0xb5, 0x0e, 0x83, 0x81, 0xff, 0x92, 0x7f, 0x2a, - 0x85, 0x94, 0x1f, 0xb8, 0xf8, 0x68, 0x1b, 0xc0, 0xde, 0x8a, 0xf3, 0x1b, 0xef, 0xbc, 0x3f, 0xae, - 0xbc, 0xfb, 0xfe, 0xb8, 0xf2, 0x8f, 0xf7, 0xc7, 0x95, 0x1f, 0xdc, 0x1e, 0xdf, 0xf3, 0xee, 0xed, - 0xf1, 0x3d, 0xef, 0xdd, 0x1e, 0xdf, 0xf3, 0xdc, 0x67, 0x7d, 0x5d, 0xad, 0xab, 0x1e, 0xe1, 0x6b, - 0x68, 0x8d, 0xcc, 0xca, 0x65, 0x4e, 0xeb, 0xb6, 0x83, 0xfd, 0x9f, 0x1b, 0xc8, 0xb4, 0x66, 0x6b, - 0xb6, 0xd1, 0xa8, 0x62, 0xd2, 0xfc, 0x53, 0x05, 0xac, 0x03, 0xb6, 0x96, 0x63, 0x7f, 0x79, 0xe0, - 0xd1, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x70, 0x8b, 0x67, 0xfe, 0xa8, 0x41, 0x00, 0x00, + // 3934 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x4b, 0x6c, 0x1c, 0xc7, + 0x95, 0x6a, 0x0e, 0x39, 0x24, 0x1f, 0x29, 0x89, 0x6a, 0x52, 0xe2, 0x70, 0xf8, 0x93, 0x9a, 0x92, + 0xf5, 0x27, 0xf5, 0xff, 0x8c, 0x56, 0x96, 0xf8, 0x91, 0x6c, 0xae, 0x45, 0x4b, 0x1e, 0xca, 0xbb, + 0xde, 0x85, 0xbd, 0x83, 0x66, 0x4f, 0x71, 0xd8, 0xe6, 0x4c, 0xf7, 0xa8, 0xbb, 0x47, 0x12, 0x8d, + 0x05, 0x76, 0xd7, 0x87, 0x85, 0x76, 0x13, 0x04, 0x09, 0x10, 0x20, 0x40, 0x00, 0x03, 0x06, 0x02, + 0xc4, 0x80, 0x13, 0x24, 0x76, 0x10, 0x04, 0x3e, 0xe4, 0x87, 0x20, 0x07, 0xc7, 0x27, 0x27, 0x40, + 0x80, 0x20, 0x07, 0x25, 0xb0, 0x0f, 0x36, 0x7c, 0x0a, 0x72, 0x09, 0x90, 0x5c, 0x82, 0xae, 0xaa, + 0xae, 0xe9, 0x4f, 0x55, 0x77, 0xcf, 0x88, 0xb4, 0xe5, 0xc0, 0x17, 0x89, 0x5d, 0xf5, 0xde, 0xab, + 0xf7, 0x5e, 0xbd, 0x4f, 0xd5, 0xab, 0xaa, 0x81, 0x29, 0xdd, 0x78, 0x19, 0x69, 0x8e, 0x7e, 0x17, + 0xcd, 0xa0, 0xfb, 0xda, 0x9a, 0x6a, 0x54, 0xd0, 0xcc, 0xdd, 0x93, 0x2b, 0xc8, 0x51, 0x4f, 0xce, + 0x38, 0xf7, 0xa7, 0xeb, 0x96, 0xe9, 0x98, 0x72, 0x9e, 0x01, 0x4d, 0x7b, 0x40, 0xd3, 0x14, 0x28, + 0x3f, 0xa1, 0x99, 0x76, 0xcd, 0xb4, 0x67, 0x56, 0x54, 0xbb, 0x89, 0xa9, 0x99, 0xba, 0x41, 0x70, + 0xf3, 0xd3, 0xb4, 0xbf, 0xac, 0xdb, 0x8e, 0xa5, 0xaf, 0x34, 0x1c, 0xdd, 0x34, 0x18, 0x9c, 0xbf, + 0x91, 0xc2, 0x0f, 0x53, 0xf8, 0x9a, 0x5d, 0x99, 0xb9, 0x7b, 0xd2, 0xfd, 0x8f, 0x76, 0x8c, 0x90, + 0x8e, 0x12, 0xfe, 0x9a, 0x21, 0x1f, 0xb4, 0x6b, 0xa8, 0x62, 0x56, 0x4c, 0xd2, 0xee, 0xfe, 0x45, + 0x5b, 0x0f, 0xc7, 0x88, 0xc6, 0xc4, 0x20, 0xa0, 0x07, 0x9a, 0xa0, 0xa6, 0xa5, 0x6a, 0xd5, 0x26, + 0x20, 0xf9, 0xa4, 0x60, 0xbb, 0xd4, 0x9a, 0x6e, 0x98, 0x33, 0xf8, 0x5f, 0xd2, 0xa4, 0xbc, 0x91, + 0x81, 0xc1, 0x25, 0xbb, 0xf2, 0x7c, 0xbd, 0xac, 0x3a, 0x68, 0xb9, 0x6e, 0x3a, 0x4b, 0xaa, 0xb5, + 0x8e, 0x1c, 0x79, 0x08, 0xba, 0xd4, 0x72, 0x4d, 0x37, 0x72, 0xd2, 0x5e, 0xe9, 0x50, 0x6f, 0x91, + 0x7c, 0xc8, 0xa3, 0xd0, 0x5b, 0xc3, 0xfd, 0x25, 0xbd, 0x9c, 0xeb, 0xc0, 0x3d, 0x3d, 0xa4, 0x61, + 0xb1, 0x2c, 0x8f, 0x03, 0x18, 0xe8, 0x5e, 0xc9, 0xd1, 0xb5, 0x75, 0x64, 0xe5, 0x32, 0xb8, 0xb7, + 0xd7, 0x40, 0xf7, 0x6e, 0xe3, 0x06, 0xf9, 0xdf, 0x60, 0xd8, 0xed, 0xae, 0xe9, 0x46, 0xa9, 0x6e, + 0xe9, 0x1a, 0xc2, 0x80, 0x25, 0x5b, 0x7f, 0x05, 0xe5, 0x3a, 0x5d, 0xd8, 0xb9, 0xa9, 0x77, 0x1f, + 0x4e, 0x6e, 0xfb, 0xfd, 0xc3, 0xc9, 0x51, 0xa2, 0x1b, 0xbb, 0xbc, 0x3e, 0xad, 0x9b, 0x33, 0x35, + 0xd5, 0x59, 0x9b, 0xbe, 0x81, 0x2a, 0xaa, 0xb6, 0xb1, 0x80, 0xb4, 0xe2, 0xa0, 0x81, 0xee, 0x2d, + 0xe9, 0xc6, 0x2d, 0x97, 0x82, 0x4b, 0x78, 0x59, 0x7f, 0x05, 0xc9, 0x25, 0xc8, 0x7b, 0xa4, 0xef, + 0x34, 0x54, 0xc3, 0xd1, 0x9d, 0x0d, 0x1f, 0xf5, 0xae, 0xf4, 0xd4, 0xf7, 0x10, 0xea, 0xcf, 0x51, + 0x22, 0x6c, 0x80, 0x25, 0x18, 0xf0, 0x06, 0x30, 0x4c, 0x77, 0xb2, 0xd5, 0x6a, 0x2e, 0x9b, 0x9e, + 0xec, 0x0e, 0x42, 0xf6, 0x59, 0x8a, 0x5a, 0x38, 0xfd, 0xe0, 0xf5, 0xc9, 0x6d, 0x1f, 0xbf, 0x3e, + 0xb9, 0xed, 0xd5, 0x8f, 0xde, 0x3a, 0x42, 0x54, 0xfb, 0xff, 0x1f, 0xbd, 0x75, 0x64, 0x8c, 0x4d, + 0x33, 0x67, 0x46, 0x94, 0x71, 0x18, 0xe5, 0x34, 0x17, 0x91, 0x5d, 0x37, 0x0d, 0x1b, 0x29, 0x7f, + 0xe9, 0x84, 0x11, 0xd6, 0xbf, 0x80, 0x2c, 0xfd, 0xae, 0xea, 0xda, 0xc3, 0x17, 0xd3, 0xb9, 0xe5, + 0xd3, 0x29, 0xbf, 0x08, 0x39, 0x97, 0x9c, 0x6e, 0xe8, 0x8e, 0xae, 0x56, 0x4b, 0x35, 0xd5, 0xaa, + 0xe8, 0x46, 0xc9, 0x52, 0x1d, 0xdd, 0xcc, 0x75, 0xa7, 0x27, 0xbb, 0xdb, 0x40, 0xf7, 0x16, 0x09, + 0x8d, 0x25, 0x4c, 0xa2, 0xe8, 0x52, 0x90, 0xcb, 0x30, 0x86, 0x99, 0x55, 0x75, 0xc3, 0x41, 0x86, + 0x6a, 0x68, 0x28, 0x38, 0x42, 0x4f, 0xfa, 0x11, 0x46, 0x5c, 0xc6, 0x9b, 0x74, 0x7c, 0xa3, 0x14, + 0x2e, 0xf2, 0x4d, 0x52, 0x89, 0x9a, 0x64, 0xd8, 0xb6, 0x94, 0x29, 0xd8, 0x27, 0xec, 0x64, 0xe6, + 0xf9, 0x8e, 0x04, 0x3b, 0x19, 0xd4, 0x2d, 0xd5, 0x52, 0x6b, 0xb6, 0x7c, 0x0e, 0x7a, 0xd5, 0x86, + 0xb3, 0x66, 0x5a, 0xba, 0xb3, 0x41, 0x0c, 0x73, 0x2e, 0xf7, 0x9b, 0x1f, 0x1e, 0x1f, 0xa2, 0xb1, + 0x71, 0xb6, 0x5c, 0xb6, 0x90, 0x6d, 0x2f, 0x3b, 0x96, 0x6e, 0x54, 0x8a, 0x4d, 0x50, 0xf9, 0x2a, + 0x64, 0xeb, 0x98, 0x02, 0xb6, 0xd9, 0xbe, 0x53, 0xca, 0xb4, 0x38, 0xbe, 0x4f, 0x93, 0xb1, 0xe6, + 0x3a, 0x5d, 0xfd, 0x14, 0x29, 0x5e, 0xe1, 0xa8, 0x2b, 0x65, 0x93, 0xa2, 0x2b, 0x69, 0x2e, 0x2a, + 0x29, 0x41, 0x55, 0x46, 0x60, 0x38, 0xd4, 0xc4, 0xa4, 0xfa, 0xbe, 0x04, 0xb0, 0x64, 0x57, 0x16, + 0x50, 0xdd, 0xb4, 0x75, 0x47, 0xde, 0x03, 0x59, 0x1b, 0x19, 0x65, 0x64, 0x51, 0x37, 0xa3, 0x5f, + 0xf2, 0x14, 0x6c, 0xb7, 0x1b, 0x2b, 0xaa, 0xa6, 0x99, 0x0d, 0xc3, 0xe7, 0x6b, 0xfd, 0xcd, 0xc6, + 0xc5, 0xb2, 0x7c, 0x1e, 0xb2, 0x6a, 0xcd, 0xfd, 0x1b, 0xfb, 0x5a, 0xdf, 0xa9, 0x11, 0x9a, 0x79, + 0xa6, 0xdd, 0xcc, 0xc4, 0xc4, 0x99, 0x37, 0x75, 0xc3, 0x13, 0x86, 0x80, 0x17, 0x8e, 0xfa, 0xa7, + 0x8e, 0x0e, 0xe9, 0x4a, 0x34, 0xe8, 0x97, 0x88, 0xb2, 0xa8, 0x0c, 0x81, 0xdc, 0xfc, 0x62, 0x72, + 0xbc, 0x2d, 0x41, 0xdf, 0x92, 0x5d, 0xf9, 0x57, 0xdd, 0x59, 0x2b, 0x5b, 0xea, 0xbd, 0xcf, 0x48, + 0x90, 0x63, 0x02, 0x41, 0x86, 0xfc, 0x82, 0x78, 0x3c, 0x2a, 0xbb, 0x71, 0xe2, 0xf2, 0x3e, 0x99, + 0x28, 0xdf, 0x93, 0xf0, 0x74, 0xcd, 0x5b, 0x88, 0xc6, 0xc9, 0x1b, 0x7a, 0x4d, 0x77, 0x6e, 0x5a, + 0x2e, 0xfb, 0x22, 0xb1, 0x66, 0xa1, 0xcb, 0x74, 0x01, 0xa8, 0x3d, 0x1d, 0x88, 0xb3, 0x27, 0x97, + 0x24, 0xa6, 0x46, 0x99, 0x27, 0x98, 0x85, 0x0b, 0x02, 0xde, 0xf7, 0xfa, 0x79, 0xe7, 0x31, 0xa5, + 0xbc, 0x08, 0x93, 0x82, 0x2e, 0x4f, 0x26, 0x37, 0x14, 0xe3, 0x51, 0x4a, 0x6b, 0xaa, 0xbd, 0x46, + 0x79, 0xef, 0xc5, 0x2d, 0x4f, 0xab, 0xf6, 0x9a, 0x3c, 0x00, 0x19, 0x8d, 0xcd, 0x85, 0xfb, 0x67, + 0xa1, 0xc7, 0xe3, 0x46, 0xf9, 0xb1, 0x04, 0xe3, 0x4b, 0x76, 0x65, 0x4e, 0x75, 0xb4, 0x35, 0xde, + 0x18, 0xb6, 0x50, 0x29, 0xf3, 0x90, 0xc5, 0x43, 0xb8, 0x5e, 0x96, 0x69, 0x55, 0x2b, 0x14, 0xb5, + 0xf0, 0xa4, 0x40, 0x2d, 0x4f, 0xf8, 0xd5, 0x22, 0x66, 0x4e, 0xf9, 0x81, 0x04, 0x07, 0x62, 0x21, + 0x98, 0x8e, 0xf6, 0x41, 0x7f, 0x53, 0x47, 0xc8, 0xce, 0x49, 0x7b, 0x33, 0x87, 0x7a, 0x8b, 0x7d, + 0x4c, 0x4b, 0xc8, 0x96, 0xa7, 0x61, 0x50, 0xc3, 0x34, 0xca, 0x25, 0xc2, 0x5e, 0x49, 0xd3, 0xcb, + 0x44, 0xbc, 0xde, 0xe2, 0x2e, 0xda, 0x45, 0xc8, 0xce, 0xeb, 0x65, 0x5b, 0x3e, 0x06, 0xf2, 0xaa, + 0xaa, 0x57, 0x43, 0xe0, 0x19, 0x0c, 0x3e, 0x40, 0x7a, 0x9a, 0xd0, 0x3e, 0x9d, 0xff, 0x2c, 0x03, + 0xf9, 0x25, 0xbb, 0xb2, 0x68, 0xd8, 0x8e, 0x6a, 0x38, 0xcd, 0x5c, 0x7d, 0x43, 0x6d, 0x18, 0xda, + 0x9a, 0x50, 0xe1, 0x7b, 0x20, 0x4b, 0x93, 0x2d, 0x99, 0x49, 0xfa, 0xe5, 0xce, 0xbe, 0xeb, 0x39, + 0xa5, 0x32, 0x32, 0xcc, 0x9a, 0x97, 0x88, 0xdd, 0x96, 0x05, 0xb7, 0x41, 0x9e, 0x84, 0xbe, 0x3b, + 0x0d, 0xd3, 0xf1, 0xfa, 0x71, 0xf2, 0x2d, 0x02, 0x6e, 0x22, 0x00, 0x45, 0x18, 0xe4, 0x65, 0xe9, + 0x16, 0xf2, 0xe8, 0x40, 0x2d, 0x9c, 0xa2, 0x5f, 0x80, 0x3d, 0x82, 0xf4, 0xdc, 0x42, 0x1e, 0x75, + 0xd9, 0x8a, 0xe4, 0xe6, 0xeb, 0xd0, 0x1f, 0xc8, 0xcb, 0x2d, 0x24, 0xd0, 0xbe, 0x9a, 0x6f, 0x8d, + 0x75, 0x49, 0x60, 0x79, 0x53, 0x7e, 0xcb, 0x13, 0x4c, 0x91, 0xb2, 0x1f, 0x14, 0x71, 0x6f, 0x33, + 0x6a, 0x76, 0x63, 0xd7, 0xa5, 0x60, 0xb7, 0x90, 0x55, 0x47, 0x4e, 0x03, 0x27, 0xef, 0xf6, 0x27, + 0x3b, 0x34, 0x9b, 0x99, 0xc8, 0x6c, 0x4e, 0x42, 0x1f, 0x59, 0xd3, 0x97, 0x5c, 0x13, 0xf0, 0xa6, + 0x9b, 0x34, 0xcd, 0xa9, 0x9e, 0x23, 0x60, 0x00, 0x8c, 0x45, 0xe6, 0xb9, 0x48, 0x91, 0x9e, 0x73, + 0x9b, 0x5c, 0x47, 0xa0, 0x20, 0xb6, 0xa6, 0x56, 0x51, 0x69, 0x55, 0xd5, 0x1c, 0xd3, 0xc2, 0x53, + 0xb7, 0xbd, 0xb8, 0x8b, 0x74, 0x2d, 0xbb, 0x3d, 0xd7, 0x71, 0x87, 0x7c, 0x8d, 0x8d, 0xe9, 0x6c, + 0xd4, 0x11, 0x9e, 0x92, 0x1d, 0xa7, 0xf6, 0xfb, 0xe2, 0x01, 0xdd, 0x65, 0x78, 0xd1, 0xe0, 0x26, + 0xfe, 0xbc, 0xbd, 0x51, 0x47, 0x1e, 0x67, 0xee, 0xdf, 0xf2, 0x22, 0xec, 0xa8, 0xa9, 0xeb, 0xc8, + 0x2a, 0xad, 0x22, 0xe4, 0x2e, 0x5e, 0x50, 0x2b, 0x6b, 0x97, 0x7e, 0x8c, 0x7a, 0x1d, 0xa1, 0xa2, + 0xea, 0x60, 0x52, 0x4e, 0x90, 0x54, 0x6f, 0x0b, 0xa4, 0x1c, 0x3f, 0xa9, 0xe7, 0x61, 0x88, 0xbb, + 0x72, 0x83, 0xf4, 0x04, 0x65, 0x3d, 0xba, 0x6c, 0x7b, 0x09, 0x72, 0xc2, 0x25, 0x5b, 0x5f, 0x0b, + 0x4b, 0xd8, 0x1a, 0x77, 0xbd, 0x26, 0x72, 0xea, 0xfe, 0xad, 0x71, 0xea, 0xed, 0x9b, 0xec, 0xd4, + 0x3b, 0xda, 0x74, 0xea, 0xab, 0x02, 0xa7, 0x3e, 0xc4, 0x71, 0x6a, 0xae, 0x3f, 0x2a, 0x87, 0xe1, + 0x60, 0x02, 0x08, 0x73, 0xef, 0xff, 0xeb, 0x86, 0xa9, 0x26, 0xec, 0x9c, 0x6e, 0xa8, 0xd6, 0xc6, + 0xcd, 0xba, 0xcb, 0x89, 0xfd, 0x48, 0x2e, 0x3e, 0x05, 0xdb, 0x3d, 0xef, 0xdb, 0xa8, 0xad, 0x98, + 0x55, 0xea, 0xe4, 0xd4, 0x6b, 0x97, 0x71, 0x9b, 0x7c, 0x10, 0x76, 0x52, 0xa0, 0xba, 0x65, 0xde, + 0xd5, 0x5d, 0xea, 0xc4, 0xd5, 0x77, 0x90, 0xe6, 0x5b, 0xb4, 0x35, 0xec, 0x9b, 0x5d, 0x6d, 0xfa, + 0x66, 0xab, 0x21, 0x21, 0xea, 0xcb, 0xdd, 0x9b, 0xe7, 0xcb, 0x3d, 0xed, 0xfa, 0xf2, 0x49, 0x18, + 0x42, 0xf7, 0xeb, 0x3a, 0xf6, 0x32, 0xa3, 0xe4, 0xe8, 0x35, 0x64, 0x3b, 0x6a, 0xad, 0x8e, 0x83, + 0x43, 0xa6, 0x38, 0xd8, 0xec, 0xbb, 0xed, 0x75, 0xb9, 0x28, 0x36, 0x72, 0x9c, 0x2a, 0xaa, 0x21, + 0xc3, 0xf1, 0xa1, 0x00, 0x41, 0x69, 0xf6, 0x35, 0x51, 0xd8, 0x66, 0xba, 0xcf, 0xbf, 0x99, 0x0e, + 0x45, 0xee, 0xfe, 0xb4, 0x79, 0x78, 0xfb, 0xd6, 0xb8, 0xec, 0x8e, 0x4d, 0x76, 0xd9, 0x9d, 0x6d, + 0xba, 0xec, 0x82, 0xc0, 0x65, 0x8f, 0x71, 0x5c, 0x56, 0xe8, 0x63, 0xca, 0x71, 0x38, 0x9a, 0x02, + 0x8c, 0xb9, 0xee, 0xaf, 0x03, 0xae, 0x7b, 0xcd, 0x9d, 0xf6, 0x8d, 0xeb, 0x0d, 0xa7, 0x61, 0x21, + 0xfb, 0xf1, 0xcf, 0xce, 0x21, 0x8f, 0xce, 0x6e, 0xae, 0x47, 0x77, 0x8b, 0x3c, 0x7a, 0x0f, 0x64, + 0xb1, 0x7f, 0x6c, 0x60, 0xf7, 0xcb, 0x14, 0xe9, 0x17, 0xc7, 0xd3, 0x7b, 0x37, 0xcf, 0xd3, 0x61, + 0xb3, 0xb3, 0x76, 0xdf, 0xd6, 0x65, 0xed, 0xfe, 0x2d, 0xcb, 0xda, 0x5f, 0x84, 0x80, 0x64, 0x5f, + 0x0d, 0x86, 0x00, 0x21, 0x18, 0x0b, 0x01, 0x6f, 0x49, 0x90, 0x0b, 0xec, 0xab, 0x09, 0xd4, 0x96, + 0x17, 0x02, 0x2e, 0x0a, 0x84, 0xdd, 0xc7, 0x2f, 0x04, 0xf8, 0xb8, 0x52, 0xde, 0x96, 0x60, 0xaf, + 0xa8, 0x33, 0x6d, 0x2d, 0xa0, 0x08, 0xdd, 0x16, 0xb2, 0x1b, 0x55, 0xc7, 0x2b, 0x8e, 0x9d, 0x4a, + 0x92, 0x21, 0x38, 0x88, 0x8b, 0x89, 0x05, 0x92, 0x8a, 0x1e, 0x21, 0xaf, 0xbe, 0x90, 0xe1, 0xd5, + 0x17, 0x7e, 0x2b, 0xc1, 0x1e, 0x3e, 0x15, 0xf9, 0x0a, 0xf4, 0x78, 0x46, 0x49, 0xab, 0x7b, 0xa9, + 0x4c, 0x87, 0x21, 0xc9, 0x17, 0xa1, 0x0b, 0x7b, 0x0a, 0x09, 0xc2, 0xe9, 0xb0, 0x09, 0x86, 0x7c, + 0x16, 0x32, 0xab, 0x08, 0x11, 0x96, 0xd3, 0x21, 0xba, 0xf0, 0xd1, 0xba, 0x09, 0x99, 0x8b, 0x66, + 0x55, 0x33, 0x45, 0x31, 0xe9, 0xa9, 0xa0, 0x0d, 0x1d, 0x8d, 0xd3, 0x7f, 0x93, 0x30, 0xc7, 0x92, + 0x0a, 0x0f, 0x12, 0xea, 0x26, 0x62, 0xe6, 0x94, 0x15, 0x5c, 0x36, 0x11, 0x03, 0x6c, 0x46, 0x69, + 0xe9, 0x17, 0x7e, 0x73, 0x0d, 0xe4, 0xe4, 0x4f, 0x53, 0x4b, 0x97, 0x39, 0x5a, 0x3a, 0x1c, 0xd5, + 0x92, 0x80, 0x3f, 0x05, 0xc1, 0xa1, 0x24, 0x98, 0xcd, 0xd0, 0xd5, 0x7b, 0x12, 0x5e, 0x90, 0xf8, + 0xea, 0x58, 0xbc, 0x59, 0x11, 0x17, 0xe3, 0x16, 0x43, 0xc5, 0xb8, 0x36, 0xf4, 0xe5, 0x95, 0xe4, + 0xae, 0x3e, 0x48, 0x88, 0xc4, 0x49, 0x4c, 0x2a, 0xef, 0x48, 0x38, 0x14, 0x27, 0xc1, 0x3d, 0x8e, + 0xa5, 0xb9, 0xf7, 0x25, 0x5c, 0xff, 0x9e, 0x77, 0x13, 0x73, 0x95, 0x45, 0x70, 0xa1, 0xda, 0x63, + 0x0f, 0xc8, 0x22, 0xc5, 0xf0, 0x0c, 0xa7, 0x18, 0x1e, 0xb4, 0x99, 0x4e, 0x81, 0xcd, 0x74, 0x35, + 0x6d, 0x66, 0x86, 0x33, 0x3d, 0xa3, 0x01, 0x7b, 0x0e, 0xf2, 0xae, 0x8c, 0xe1, 0x62, 0x63, 0xa8, + 0x95, 0xa5, 0xc1, 0x37, 0x49, 0x1a, 0x24, 0x73, 0x15, 0x84, 0x11, 0x5b, 0xdb, 0x15, 0xe8, 0x2c, + 0xab, 0x8e, 0x9a, 0xa6, 0xf0, 0x8b, 0x29, 0x2d, 0xa8, 0x8e, 0x4a, 0xad, 0x0c, 0x23, 0x16, 0xce, + 0x3e, 0x48, 0x48, 0x80, 0x5c, 0x7e, 0x94, 0xeb, 0x38, 0xa0, 0x70, 0xfb, 0x98, 0x31, 0xe5, 0xa0, + 0xdb, 0x6e, 0x68, 0x1a, 0xb2, 0x89, 0x1d, 0xf5, 0x14, 0xbd, 0xcf, 0x60, 0xf0, 0xde, 0x17, 0x24, + 0x14, 0x70, 0xed, 0xad, 0x96, 0xfe, 0x49, 0x8e, 0xf4, 0x47, 0x04, 0xd2, 0x73, 0x18, 0x53, 0x6e, + 0xc2, 0xe1, 0x44, 0xa0, 0x96, 0xf4, 0xf1, 0xe7, 0x6e, 0x18, 0xf2, 0x28, 0x92, 0x73, 0xac, 0x04, + 0x15, 0xa4, 0x3a, 0xe7, 0xb9, 0x02, 0xe3, 0x76, 0xdd, 0x74, 0x4a, 0xcc, 0x43, 0xec, 0x92, 0x63, + 0x96, 0x34, 0xcc, 0x71, 0x49, 0xad, 0x56, 0xa9, 0x3b, 0xe6, 0x6c, 0xb6, 0x3c, 0x58, 0x2c, 0xdb, + 0xb7, 0x4d, 0x22, 0xd2, 0x6c, 0xb5, 0x2a, 0x3f, 0x03, 0x53, 0x65, 0x16, 0x38, 0xc4, 0x64, 0x3a, + 0x31, 0x99, 0x89, 0x72, 0xe8, 0x68, 0x31, 0x44, 0xec, 0x3f, 0x60, 0x37, 0xe6, 0x86, 0xc6, 0x03, + 0x46, 0x22, 0xd7, 0xd5, 0xea, 0x34, 0x4a, 0x45, 0xd9, 0x66, 0x76, 0xe7, 0x0d, 0x21, 0xbf, 0x0c, + 0xa3, 0x3e, 0x66, 0x23, 0xa3, 0x64, 0x5b, 0x1f, 0x25, 0x57, 0x0e, 0xc6, 0xe9, 0xe6, 0x58, 0x1c, + 0x59, 0x70, 0x04, 0xcc, 0x75, 0xb7, 0x7a, 0x12, 0x13, 0x96, 0x05, 0x93, 0x91, 0xeb, 0x22, 0x59, + 0xc8, 0x28, 0x3d, 0xed, 0xa5, 0x18, 0xbe, 0x44, 0x64, 0xc4, 0x3b, 0x30, 0xb9, 0x82, 0x8d, 0xb8, + 0x64, 0x12, 0x2b, 0x8e, 0x6a, 0xb0, 0xb7, 0x75, 0x0d, 0x8e, 0xae, 0x44, 0x1d, 0x83, 0x29, 0xb1, + 0x08, 0x07, 0x43, 0x43, 0x0a, 0x2d, 0x0c, 0xb0, 0x85, 0xed, 0x5b, 0x89, 0xd6, 0x15, 0x42, 0x46, + 0x76, 0x2f, 0x4e, 0x0c, 0xa2, 0xbc, 0xbe, 0x76, 0x95, 0x27, 0x10, 0x06, 0x53, 0x2d, 0x9c, 0xe4, + 0x84, 0x94, 0xf1, 0x48, 0x48, 0xf1, 0xfb, 0xb6, 0xf2, 0x20, 0x0b, 0x63, 0xbc, 0x0e, 0x16, 0x39, + 0xa6, 0x61, 0x10, 0x5b, 0x19, 0x55, 0x44, 0x30, 0x8a, 0xec, 0x72, 0xbb, 0x68, 0x10, 0x26, 0x1d, + 0x72, 0x01, 0x46, 0x7c, 0x56, 0x13, 0xc2, 0xea, 0xc0, 0x58, 0xc3, 0x4d, 0x80, 0x20, 0xee, 0x11, + 0xd8, 0xd5, 0xb4, 0x68, 0x6f, 0x1d, 0x40, 0xe2, 0xc3, 0x4e, 0x66, 0xa0, 0x74, 0x2d, 0x70, 0x0e, + 0x86, 0xc3, 0xd6, 0xe9, 0x61, 0x90, 0x50, 0xb0, 0x3b, 0x64, 0x66, 0x14, 0x6f, 0x16, 0xc6, 0x43, + 0x93, 0x13, 0xe2, 0xb1, 0x0b, 0xf3, 0x98, 0x0f, 0xe8, 0x39, 0xc8, 0xe6, 0x65, 0x18, 0xe5, 0xcd, + 0xaf, 0x37, 0x7c, 0x96, 0x04, 0xb4, 0xe8, 0x44, 0x51, 0x0e, 0xce, 0x43, 0xce, 0x5b, 0xc5, 0xf8, + 0xfd, 0x17, 0xaf, 0x4d, 0xba, 0x09, 0xeb, 0xb4, 0xbf, 0x99, 0xd8, 0xf0, 0x72, 0xe6, 0x2c, 0x0c, + 0xd3, 0xe5, 0x4c, 0x04, 0xaf, 0x07, 0xe3, 0x0d, 0x91, 0xee, 0x10, 0xda, 0x3c, 0x4c, 0x78, 0xe3, + 0x45, 0xfd, 0x19, 0x63, 0xf7, 0x62, 0xec, 0x51, 0x0a, 0x15, 0x32, 0x3c, 0x42, 0x64, 0x16, 0xc6, + 0xe9, 0xd8, 0x02, 0x1a, 0xc4, 0x3b, 0xf2, 0x04, 0x88, 0x4b, 0xe2, 0x9f, 0x41, 0xf1, 0xf8, 0xe0, + 0xbb, 0x07, 0xa6, 0xd3, 0x47, 0xe2, 0x38, 0x85, 0xe4, 0xe4, 0x34, 0x4c, 0xeb, 0x69, 0xd8, 0x47, + 0xd9, 0x89, 0x21, 0xd5, 0x8f, 0x49, 0x51, 0xbe, 0x05, 0x94, 0x7c, 0xf9, 0xef, 0xa7, 0x12, 0x4c, + 0x70, 0xb6, 0x43, 0x69, 0x2a, 0x02, 0x9b, 0xb6, 0x4f, 0xb9, 0xc4, 0xf1, 0xe0, 0x83, 0x71, 0xbb, + 0x39, 0x7f, 0x65, 0xe0, 0x27, 0x12, 0x3c, 0x11, 0x0f, 0x92, 0x76, 0x93, 0xf2, 0x42, 0xb8, 0x3e, + 0x70, 0x21, 0x9d, 0x44, 0x8f, 0x56, 0x25, 0xf8, 0x53, 0x07, 0x8c, 0xc5, 0xd1, 0xfa, 0x1c, 0xd6, + 0x0a, 0xe4, 0x7f, 0x81, 0x1d, 0xf8, 0x12, 0x8d, 0x6e, 0x1a, 0xa5, 0x32, 0xaa, 0x3a, 0x2a, 0x5e, + 0xdd, 0xf7, 0x9d, 0x3a, 0x1c, 0x7b, 0x1b, 0x89, 0x62, 0x2c, 0xb8, 0x08, 0xd4, 0x40, 0xb6, 0xd7, + 0xfd, 0x8d, 0xf2, 0x25, 0xc8, 0xd6, 0xd5, 0x0d, 0xb3, 0xe1, 0xb4, 0x72, 0x42, 0x4f, 0x51, 0x7c, + 0x2a, 0xff, 0x25, 0x59, 0x03, 0x73, 0x76, 0xb6, 0x9f, 0xaa, 0xd9, 0x27, 0xae, 0x85, 0xe3, 0x19, + 0x54, 0x7e, 0x2e, 0xe1, 0xc5, 0x70, 0x3c, 0xd4, 0xe3, 0x6d, 0xfc, 0x7f, 0xa3, 0x95, 0x48, 0x9c, + 0x69, 0x42, 0xca, 0xfa, 0xec, 0x76, 0x9e, 0xac, 0xbb, 0xa6, 0xda, 0xeb, 0xd8, 0xd4, 0xba, 0x68, + 0xf7, 0x92, 0x6a, 0xaf, 0x7b, 0x02, 0x65, 0x9b, 0x02, 0x25, 0xee, 0xe9, 0xb8, 0x02, 0x2a, 0x0a, + 0x29, 0x12, 0xf1, 0xfa, 0xd8, 0x26, 0xf5, 0x7f, 0x3a, 0xf0, 0xdd, 0x56, 0xd1, 0x66, 0xe7, 0x73, + 0xa4, 0xa4, 0x0b, 0x1c, 0x25, 0xed, 0x8f, 0x2a, 0x29, 0x2a, 0xa3, 0x72, 0x00, 0x17, 0x88, 0x44, + 0xdd, 0x4c, 0x55, 0xaf, 0x49, 0xd0, 0xcb, 0x96, 0xc1, 0x41, 0x05, 0x48, 0x49, 0x0a, 0xe8, 0x48, + 0x54, 0x40, 0x26, 0x5e, 0x01, 0x9d, 0x02, 0x05, 0x34, 0xcb, 0x17, 0xca, 0x8f, 0x48, 0xaa, 0xf5, + 0x6d, 0x5e, 0xc3, 0x2b, 0x86, 0xad, 0xdb, 0x77, 0x27, 0xa6, 0xd8, 0x18, 0xae, 0x94, 0x1b, 0x38, + 0xc3, 0xc6, 0x40, 0xb4, 0xb4, 0xe3, 0xfe, 0xdf, 0x0e, 0xd8, 0xbd, 0x64, 0x57, 0x96, 0x99, 0xaa, + 0x6f, 0x5b, 0xaa, 0x61, 0xaf, 0xc6, 0xd8, 0xf2, 0x09, 0x18, 0xb2, 0xcd, 0x86, 0xa5, 0xa1, 0x12, + 0x6f, 0xd2, 0x64, 0xd2, 0xb7, 0xec, 0x9f, 0x3a, 0xbc, 0x1e, 0xb7, 0x1d, 0xdd, 0x20, 0xa7, 0xdd, + 0x3c, 0x63, 0x1f, 0xf6, 0x01, 0x2c, 0xf3, 0xef, 0x68, 0x76, 0xb6, 0x76, 0x47, 0x73, 0x3a, 0xa4, + 0xdf, 0x09, 0xbf, 0x7e, 0xa3, 0xe2, 0x2a, 0x93, 0xb8, 0x8c, 0x1e, 0xed, 0x60, 0x06, 0xfd, 0x6a, + 0x07, 0xbe, 0xc7, 0x79, 0xed, 0xbe, 0x83, 0x2c, 0x43, 0xad, 0xfe, 0xa3, 0xe8, 0xe9, 0x58, 0x48, + 0x4f, 0x81, 0xbb, 0xfd, 0x61, 0x61, 0xe9, 0xdd, 0xfe, 0x70, 0x33, 0xd3, 0xd1, 0xc7, 0x12, 0xae, + 0xdf, 0xdc, 0xd0, 0xef, 0x34, 0x74, 0x7c, 0x0b, 0x99, 0x2e, 0x18, 0x1e, 0xad, 0x7e, 0x13, 0x08, + 0x1e, 0x99, 0x50, 0xf0, 0x60, 0x0b, 0x80, 0xce, 0xf6, 0x16, 0x00, 0x92, 0xb7, 0x00, 0x38, 0x1e, + 0xb7, 0x6b, 0x8d, 0x48, 0xa4, 0x4c, 0xe0, 0x4d, 0x6b, 0xa4, 0x9d, 0xa9, 0xe2, 0x0d, 0x92, 0x4c, + 0xaf, 0xd5, 0x90, 0x55, 0x41, 0x86, 0xb6, 0xb1, 0x8c, 0xef, 0x67, 0xd0, 0x57, 0x0e, 0x5b, 0xa6, + 0x8e, 0xc2, 0xc9, 0xb8, 0xc4, 0xc7, 0x65, 0x86, 0x26, 0x3e, 0x6e, 0x5f, 0xf3, 0xfe, 0x78, 0x07, + 0x7e, 0xb4, 0xb1, 0x68, 0xb8, 0x9b, 0x22, 0x9b, 0x49, 0x4b, 0x8e, 0x8c, 0x1f, 0x13, 0x17, 0x08, + 0xe8, 0xa5, 0x33, 0x64, 0x26, 0x97, 0x98, 0x7f, 0xb4, 0xb2, 0x58, 0xa5, 0x3e, 0x72, 0x2a, 0xa4, + 0x54, 0x25, 0x78, 0x1e, 0xcc, 0xd3, 0x09, 0x7d, 0x6c, 0xc0, 0xef, 0x0c, 0xab, 0x75, 0x01, 0x7d, + 0xa1, 0xd6, 0xb0, 0x5a, 0xf9, 0x3a, 0xa1, 0x6a, 0xe5, 0x77, 0x32, 0xb5, 0xbe, 0x27, 0x61, 0xe7, + 0xbc, 0x65, 0xe9, 0x77, 0xf5, 0x2a, 0xaa, 0xa0, 0xf2, 0xb5, 0xfb, 0x48, 0x6b, 0x38, 0x68, 0xde, + 0x34, 0x1c, 0x4b, 0xd5, 0xc4, 0xfe, 0x37, 0x04, 0x5d, 0xab, 0x0d, 0xa3, 0x6c, 0x53, 0x55, 0x92, + 0x0f, 0xf9, 0x30, 0x0c, 0x68, 0x14, 0xb3, 0xa4, 0x92, 0xb7, 0x1e, 0x54, 0x69, 0x3b, 0xbd, 0x76, + 0xfa, 0x04, 0x44, 0x96, 0xe9, 0xd2, 0x80, 0xe8, 0x89, 0x64, 0xfb, 0xcb, 0x82, 0x83, 0xf6, 0x03, + 0x7e, 0x71, 0x85, 0xbc, 0xba, 0x81, 0x64, 0x7f, 0x1c, 0x00, 0x4b, 0xf7, 0x2f, 0x03, 0x60, 0x7e, + 0x4b, 0x65, 0x7d, 0x75, 0x15, 0x67, 0xfc, 0xd8, 0x34, 0x70, 0xc2, 0x9d, 0xaa, 0x37, 0xff, 0x30, + 0x79, 0xa8, 0xa2, 0x3b, 0x6b, 0x8d, 0x95, 0x69, 0xcd, 0xac, 0xd1, 0xc7, 0x7e, 0xf4, 0xbf, 0xe3, + 0x76, 0x79, 0x7d, 0xc6, 0xd9, 0xa8, 0x23, 0x1b, 0x23, 0xd8, 0xc5, 0x5e, 0x4c, 0x7e, 0x41, 0x5f, + 0x5d, 0x2d, 0x0c, 0x72, 0x64, 0x52, 0x5e, 0x82, 0x81, 0x25, 0xbb, 0x52, 0x44, 0xf7, 0x54, 0xab, + 0x6c, 0xdf, 0xac, 0x3b, 0x37, 0x1b, 0x42, 0x4d, 0x93, 0x3a, 0x21, 0x47, 0x29, 0x23, 0x7e, 0xa5, + 0x04, 0x48, 0x29, 0x79, 0x1c, 0x50, 0x03, 0x6d, 0xfe, 0xf7, 0x2d, 0xbb, 0x71, 0xa7, 0x56, 0x55, + 0xf5, 0xda, 0x0d, 0x53, 0x5b, 0x47, 0xe5, 0xeb, 0x78, 0xf2, 0xc4, 0x4e, 0x34, 0x58, 0xc5, 0x60, + 0xb3, 0xc4, 0xd2, 0x6f, 0x35, 0x56, 0x9e, 0x41, 0x1b, 0x78, 0xe2, 0xfb, 0x8b, 0xbc, 0x2e, 0x79, + 0x0c, 0x7a, 0x6d, 0xbd, 0x62, 0xa8, 0x4e, 0xc3, 0x22, 0x9b, 0xf0, 0xfe, 0x62, 0xb3, 0x21, 0x7e, + 0xbd, 0x11, 0xe5, 0x8b, 0xae, 0x37, 0xa2, 0x1d, 0x4c, 0xa4, 0xff, 0x26, 0x4f, 0x5d, 0x96, 0xf5, + 0x8a, 0x81, 0x97, 0xd0, 0xcb, 0x90, 0x75, 0xff, 0xa6, 0x82, 0xf4, 0xcf, 0x5d, 0xfa, 0xe4, 0xe1, + 0x64, 0xd6, 0xc6, 0x2d, 0x7f, 0x7d, 0x38, 0x79, 0x3c, 0xc5, 0x2c, 0xce, 0x6a, 0x1a, 0xb5, 0xd3, + 0x22, 0x25, 0x25, 0x8f, 0x41, 0xe7, 0x02, 0x59, 0xca, 0xba, 0x24, 0x7b, 0x3e, 0x79, 0x38, 0x89, + 0x6d, 0xb6, 0x88, 0x5b, 0x95, 0xfb, 0xf8, 0xd1, 0x10, 0xe6, 0xc0, 0xd4, 0xe4, 0x03, 0x44, 0x7e, + 0x72, 0xd9, 0x8b, 0xd4, 0x3e, 0x30, 0x82, 0xfb, 0x5d, 0xec, 0x71, 0xbb, 0xf0, 0x75, 0xae, 0x79, + 0xe8, 0xba, 0xab, 0x56, 0x1b, 0x88, 0xee, 0x5c, 0x0f, 0xc6, 0x25, 0x64, 0x9f, 0x7c, 0xde, 0x6e, + 0x1c, 0xe3, 0x2a, 0x5f, 0xce, 0x60, 0x3f, 0x9f, 0x2d, 0xd7, 0x74, 0x83, 0xd4, 0x84, 0x39, 0x5b, + 0xea, 0xf6, 0xb6, 0x5b, 0xcf, 0xc2, 0x80, 0xef, 0x1e, 0x25, 0xa9, 0xc5, 0x34, 0x4b, 0x2a, 0x52, + 0x52, 0xf0, 0xda, 0xd9, 0x44, 0xc6, 0xd7, 0x9b, 0x84, 0x57, 0x39, 0x3b, 0x5b, 0xbf, 0xca, 0xd9, + 0x25, 0xbe, 0xca, 0x79, 0x15, 0xb2, 0xb6, 0xa3, 0x3a, 0x0d, 0x9b, 0x5e, 0xb3, 0x3b, 0x14, 0xab, + 0x56, 0x2c, 0xeb, 0x32, 0x86, 0x2f, 0x52, 0xbc, 0x42, 0x21, 0xae, 0xb8, 0x11, 0xaf, 0x68, 0xe5, + 0x28, 0xae, 0x6d, 0xc4, 0x03, 0x31, 0xc3, 0xfd, 0x0e, 0x79, 0xd8, 0x34, 0x4b, 0x1e, 0xad, 0xbd, + 0x82, 0x96, 0x1d, 0x75, 0x1d, 0x3d, 0x65, 0xa9, 0x86, 0x23, 0xf6, 0xc6, 0xeb, 0x90, 0xad, 0x60, + 0x08, 0xba, 0xa9, 0x9a, 0x8e, 0x13, 0x0f, 0xd3, 0xf2, 0xc8, 0x63, 0xd5, 0x16, 0x29, 0x76, 0xe1, + 0x44, 0xdc, 0xab, 0x26, 0x1e, 0x47, 0xca, 0x3e, 0xfc, 0x34, 0x82, 0xd7, 0xc5, 0x04, 0xda, 0xc0, + 0xb1, 0x65, 0xd6, 0xe5, 0x46, 0x75, 0x7c, 0x10, 0x42, 0x69, 0x72, 0xd0, 0x8d, 0xf9, 0x61, 0xd7, + 0x32, 0xbd, 0xcf, 0xf8, 0x28, 0x11, 0x1d, 0x81, 0x46, 0x89, 0x68, 0x87, 0xc7, 0xdb, 0xa9, 0x5f, + 0x1d, 0x84, 0xcc, 0x92, 0x5d, 0x91, 0x55, 0xe8, 0xf6, 0x1e, 0xf7, 0x3d, 0x91, 0xe0, 0x71, 0x14, + 0x2e, 0x3f, 0x9d, 0x0e, 0x8e, 0xe5, 0x97, 0x32, 0xf4, 0xb0, 0x77, 0x77, 0x49, 0x5e, 0xed, 0x01, + 0xe6, 0x67, 0x52, 0x02, 0xb2, 0x51, 0xbe, 0x26, 0xc1, 0xb0, 0xe8, 0x41, 0xd2, 0xb9, 0x04, 0x62, + 0x02, 0xbc, 0xfc, 0x93, 0xed, 0xe1, 0x31, 0x9e, 0x5e, 0x97, 0x60, 0x2c, 0xf6, 0xf1, 0xcc, 0xa5, + 0x74, 0x03, 0x70, 0x91, 0xf3, 0xf3, 0x8f, 0x80, 0xcc, 0x58, 0xfc, 0xae, 0x04, 0x7b, 0x13, 0x6f, + 0x11, 0x5f, 0x49, 0x37, 0x92, 0x90, 0x40, 0xfe, 0xa9, 0x47, 0x24, 0xc0, 0xd8, 0x7d, 0x20, 0xc1, + 0x10, 0xf7, 0xe5, 0xe3, 0xe9, 0x84, 0x11, 0x78, 0x48, 0xf9, 0x4b, 0x6d, 0x20, 0x31, 0x56, 0xbe, + 0x29, 0x41, 0x3e, 0xe6, 0xd5, 0xe1, 0xc5, 0x04, 0xda, 0x62, 0xd4, 0xfc, 0x6c, 0xdb, 0xa8, 0x8c, + 0xb9, 0x2f, 0x49, 0xb0, 0x9b, 0x7f, 0x33, 0xf4, 0x4c, 0x6a, 0x99, 0x7d, 0x58, 0xf9, 0x7f, 0x6a, + 0x07, 0x8b, 0x71, 0xb3, 0x01, 0x3b, 0xc3, 0x17, 0x92, 0x92, 0x82, 0x48, 0x08, 0x3e, 0x7f, 0xae, + 0x35, 0xf8, 0x80, 0x22, 0xf8, 0x77, 0x83, 0xce, 0xa4, 0xd2, 0x72, 0x08, 0x2b, 0x51, 0x11, 0xf1, + 0x77, 0x7b, 0xfe, 0x0b, 0x76, 0x45, 0xef, 0xa8, 0x9c, 0x48, 0x43, 0xd2, 0x8f, 0x91, 0xbf, 0xd0, + 0x2a, 0x06, 0x63, 0xe0, 0x1b, 0x12, 0x8c, 0x88, 0xb7, 0x37, 0x49, 0x74, 0x85, 0x98, 0xf9, 0xab, + 0xed, 0x62, 0x06, 0xdc, 0x29, 0xe6, 0x32, 0xea, 0xc5, 0x54, 0x06, 0xc8, 0x43, 0x4d, 0x74, 0xa7, + 0x14, 0x97, 0x48, 0xdd, 0x28, 0x99, 0x78, 0xb5, 0xf1, 0x4a, 0x7a, 0xb7, 0xe5, 0x12, 0x48, 0x8c, + 0x92, 0xa9, 0xef, 0x23, 0xbe, 0x26, 0xc1, 0x68, 0xdc, 0x59, 0x70, 0xa1, 0x45, 0x8d, 0xf8, 0x23, + 0xc1, 0x5c, 0xfb, 0xb8, 0xc1, 0xe8, 0xc4, 0x3d, 0x2d, 0x3a, 0x93, 0xca, 0xcd, 0x43, 0x58, 0xc9, + 0xd1, 0x29, 0xee, 0x70, 0x06, 0x6b, 0x2b, 0xae, 0x9c, 0x5f, 0x48, 0xef, 0xf2, 0x61, 0xdc, 0x44, + 0x6d, 0xa5, 0x29, 0xc7, 0xfb, 0x52, 0xb4, 0xf8, 0x8d, 0x5e, 0xca, 0x14, 0x2d, 0x24, 0x90, 0x36, + 0x45, 0x27, 0x3e, 0x4d, 0x92, 0xbf, 0x25, 0xc1, 0x78, 0xfc, 0x95, 0xe9, 0x74, 0xc9, 0x44, 0x80, + 0x9d, 0x5f, 0x78, 0x14, 0x6c, 0xc6, 0xe5, 0xb7, 0x25, 0x98, 0x48, 0x38, 0x3a, 0xbe, 0xdc, 0xfa, + 0x40, 0x7e, 0x47, 0xb9, 0xf6, 0x48, 0xe8, 0x8c, 0xd1, 0xaf, 0x4b, 0x90, 0x13, 0x9e, 0x1b, 0x9e, + 0x4f, 0x65, 0xf8, 0x51, 0xc4, 0xfc, 0x95, 0x36, 0x11, 0x03, 0xfa, 0x4b, 0xb8, 0x7e, 0x7a, 0x39, + 0xbd, 0xed, 0x73, 0xd0, 0x13, 0xf5, 0x97, 0xf2, 0xfa, 0xe8, 0xab, 0x12, 0xc8, 0x9c, 0x53, 0xaa, + 0x93, 0x49, 0xe5, 0x85, 0x08, 0x4a, 0xfe, 0x62, 0xcb, 0x28, 0x8c, 0x89, 0xff, 0x84, 0x81, 0xc8, + 0xf9, 0x4f, 0xd2, 0x0e, 0x27, 0x8c, 0x90, 0x3f, 0xdf, 0x22, 0x82, 0x7f, 0xd5, 0x11, 0x3d, 0x59, + 0x49, 0x5a, 0x75, 0x44, 0x30, 0x12, 0x57, 0x1d, 0xc2, 0x33, 0x0d, 0x1c, 0xef, 0xf9, 0x07, 0x1a, + 0x49, 0xf1, 0x9e, 0x8b, 0x95, 0x18, 0xef, 0x63, 0xcf, 0x24, 0xe4, 0xaf, 0x48, 0xb0, 0x47, 0x70, + 0x20, 0x71, 0x36, 0x31, 0x08, 0xf2, 0xd0, 0xf2, 0x97, 0xdb, 0x42, 0x0b, 0x30, 0x24, 0x28, 0xe5, + 0x9f, 0x4d, 0xdc, 0x6b, 0xb7, 0xc5, 0x50, 0x7c, 0x1d, 0x5c, 0xb6, 0x61, 0x7b, 0xb0, 0x1a, 0x7b, + 0x2c, 0x81, 0x5e, 0x00, 0x3a, 0x7f, 0xa6, 0x15, 0xe8, 0x40, 0x44, 0x49, 0xa8, 0xdb, 0x25, 0x89, + 0x15, 0x8f, 0x9e, 0x18, 0x51, 0xd2, 0xd5, 0xa9, 0xe4, 0x3a, 0xf4, 0x07, 0x7e, 0xe5, 0xe9, 0x68, + 0x02, 0x59, 0x3f, 0x70, 0xfe, 0x74, 0x0b, 0xc0, 0xfe, 0xf0, 0x11, 0xf9, 0xfd, 0xba, 0x99, 0x54, + 0x84, 0x9a, 0x08, 0x89, 0xe1, 0x43, 0xf4, 0xc3, 0x6b, 0xd8, 0x3c, 0x05, 0xbf, 0xba, 0x76, 0x36, + 0x15, 0xcd, 0x30, 0x5a, 0xa2, 0x79, 0xc6, 0xff, 0xd4, 0x16, 0x2e, 0x02, 0x70, 0xab, 0x84, 0x49, + 0xca, 0xe5, 0x21, 0x25, 0x16, 0x01, 0xe2, 0x4a, 0x7c, 0x38, 0xbb, 0x70, 0x0a, 0x7c, 0x49, 0xd9, + 0x25, 0x8a, 0x92, 0x98, 0x5d, 0xc4, 0xb5, 0xbc, 0xb9, 0xb5, 0x77, 0x3f, 0x98, 0x90, 0xde, 0xff, + 0x60, 0x42, 0xfa, 0xe3, 0x07, 0x13, 0xd2, 0x57, 0x3f, 0x9c, 0xd8, 0xf6, 0xfe, 0x87, 0x13, 0xdb, + 0x7e, 0xf7, 0xe1, 0xc4, 0xb6, 0x7f, 0x7f, 0xd6, 0x57, 0xdd, 0x5f, 0xf4, 0xc8, 0xdf, 0x50, 0x57, + 0xec, 0x19, 0x36, 0xd8, 0x71, 0xcd, 0xb4, 0x90, 0xff, 0x73, 0x4d, 0xd5, 0x8d, 0x99, 0x9a, 0x59, + 0x6e, 0x54, 0x91, 0xdd, 0xfc, 0x5d, 0x46, 0x7c, 0x12, 0xb0, 0x92, 0xc5, 0xbf, 0xa9, 0x78, 0xfa, + 0xef, 0x01, 0x00, 0x00, 0xff, 0xff, 0x80, 0xf5, 0x7b, 0xe9, 0x95, 0x52, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3468,14 +4008,21 @@ type MsgClient interface { EmergencySettleMarket(ctx context.Context, in *MsgEmergencySettleMarket, opts ...grpc.CallOption) (*MsgEmergencySettleMarketResponse, error) // IncreasePositionMargin defines a method for increasing margin of a position IncreasePositionMargin(ctx context.Context, in *MsgIncreasePositionMargin, opts ...grpc.CallOption) (*MsgIncreasePositionMarginResponse, error) + // DecreasePositionMargin defines a method for decreasing margin of a position + DecreasePositionMargin(ctx context.Context, in *MsgDecreasePositionMargin, opts ...grpc.CallOption) (*MsgDecreasePositionMarginResponse, 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(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) + // UpdateSpotMarket modifies certain spot market fields (admin only) + UpdateSpotMarket(ctx context.Context, in *MsgUpdateSpotMarket, opts ...grpc.CallOption) (*MsgUpdateSpotMarketResponse, error) + // UpdateDerivativeMarket modifies certain derivative market fields (admin + // only) + UpdateDerivativeMarket(ctx context.Context, in *MsgUpdateDerivativeMarket, opts ...grpc.CallOption) (*MsgUpdateDerivativeMarketResponse, error) + AuthorizeStakeGrants(ctx context.Context, in *MsgAuthorizeStakeGrants, opts ...grpc.CallOption) (*MsgAuthorizeStakeGrantsResponse, error) + ActivateStakeGrant(ctx context.Context, in *MsgActivateStakeGrant, opts ...grpc.CallOption) (*MsgActivateStakeGrantResponse, error) } type msgClient struct { @@ -3729,6 +4276,15 @@ func (c *msgClient) IncreasePositionMargin(ctx context.Context, in *MsgIncreaseP return out, nil } +func (c *msgClient) DecreasePositionMargin(ctx context.Context, in *MsgDecreasePositionMargin, opts ...grpc.CallOption) (*MsgDecreasePositionMarginResponse, error) { + out := new(MsgDecreasePositionMarginResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Msg/DecreasePositionMargin", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *msgClient) RewardsOptOut(ctx context.Context, in *MsgRewardsOptOut, opts ...grpc.CallOption) (*MsgRewardsOptOutResponse, error) { out := new(MsgRewardsOptOutResponse) err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Msg/RewardsOptOut", in, out, opts...) @@ -3747,18 +4303,45 @@ func (c *msgClient) AdminUpdateBinaryOptionsMarket(ctx context.Context, in *MsgA return out, nil } -func (c *msgClient) ReclaimLockedFunds(ctx context.Context, in *MsgReclaimLockedFunds, opts ...grpc.CallOption) (*MsgReclaimLockedFundsResponse, error) { - out := new(MsgReclaimLockedFundsResponse) - err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Msg/ReclaimLockedFunds", in, out, opts...) +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 +} + +func (c *msgClient) UpdateSpotMarket(ctx context.Context, in *MsgUpdateSpotMarket, opts ...grpc.CallOption) (*MsgUpdateSpotMarketResponse, error) { + out := new(MsgUpdateSpotMarketResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Msg/UpdateSpotMarket", in, out, opts...) if err != nil { return nil, err } 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...) +func (c *msgClient) UpdateDerivativeMarket(ctx context.Context, in *MsgUpdateDerivativeMarket, opts ...grpc.CallOption) (*MsgUpdateDerivativeMarketResponse, error) { + out := new(MsgUpdateDerivativeMarketResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Msg/UpdateDerivativeMarket", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) AuthorizeStakeGrants(ctx context.Context, in *MsgAuthorizeStakeGrants, opts ...grpc.CallOption) (*MsgAuthorizeStakeGrantsResponse, error) { + out := new(MsgAuthorizeStakeGrantsResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Msg/AuthorizeStakeGrants", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) ActivateStakeGrant(ctx context.Context, in *MsgActivateStakeGrant, opts ...grpc.CallOption) (*MsgActivateStakeGrantResponse, error) { + out := new(MsgActivateStakeGrantResponse) + err := c.cc.Invoke(ctx, "/injective.exchange.v1beta1.Msg/ActivateStakeGrant", in, out, opts...) if err != nil { return nil, err } @@ -3840,14 +4423,21 @@ type MsgServer interface { EmergencySettleMarket(context.Context, *MsgEmergencySettleMarket) (*MsgEmergencySettleMarketResponse, error) // IncreasePositionMargin defines a method for increasing margin of a position IncreasePositionMargin(context.Context, *MsgIncreasePositionMargin) (*MsgIncreasePositionMarginResponse, error) + // DecreasePositionMargin defines a method for decreasing margin of a position + DecreasePositionMargin(context.Context, *MsgDecreasePositionMargin) (*MsgDecreasePositionMarginResponse, 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(context.Context, *MsgAdminUpdateBinaryOptionsMarket) (*MsgAdminUpdateBinaryOptionsMarketResponse, error) - // - ReclaimLockedFunds(context.Context, *MsgReclaimLockedFunds) (*MsgReclaimLockedFundsResponse, error) UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + // UpdateSpotMarket modifies certain spot market fields (admin only) + UpdateSpotMarket(context.Context, *MsgUpdateSpotMarket) (*MsgUpdateSpotMarketResponse, error) + // UpdateDerivativeMarket modifies certain derivative market fields (admin + // only) + UpdateDerivativeMarket(context.Context, *MsgUpdateDerivativeMarket) (*MsgUpdateDerivativeMarketResponse, error) + AuthorizeStakeGrants(context.Context, *MsgAuthorizeStakeGrants) (*MsgAuthorizeStakeGrantsResponse, error) + ActivateStakeGrant(context.Context, *MsgActivateStakeGrant) (*MsgActivateStakeGrantResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -3935,18 +4525,30 @@ func (*UnimplementedMsgServer) EmergencySettleMarket(ctx context.Context, req *M func (*UnimplementedMsgServer) IncreasePositionMargin(ctx context.Context, req *MsgIncreasePositionMargin) (*MsgIncreasePositionMarginResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method IncreasePositionMargin not implemented") } +func (*UnimplementedMsgServer) DecreasePositionMargin(ctx context.Context, req *MsgDecreasePositionMargin) (*MsgDecreasePositionMarginResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DecreasePositionMargin not implemented") +} func (*UnimplementedMsgServer) RewardsOptOut(ctx context.Context, req *MsgRewardsOptOut) (*MsgRewardsOptOutResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RewardsOptOut not implemented") } func (*UnimplementedMsgServer) AdminUpdateBinaryOptionsMarket(ctx context.Context, req *MsgAdminUpdateBinaryOptionsMarket) (*MsgAdminUpdateBinaryOptionsMarketResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AdminUpdateBinaryOptionsMarket not implemented") } -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 (*UnimplementedMsgServer) UpdateSpotMarket(ctx context.Context, req *MsgUpdateSpotMarket) (*MsgUpdateSpotMarketResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateSpotMarket not implemented") +} +func (*UnimplementedMsgServer) UpdateDerivativeMarket(ctx context.Context, req *MsgUpdateDerivativeMarket) (*MsgUpdateDerivativeMarketResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateDerivativeMarket not implemented") +} +func (*UnimplementedMsgServer) AuthorizeStakeGrants(ctx context.Context, req *MsgAuthorizeStakeGrants) (*MsgAuthorizeStakeGrantsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AuthorizeStakeGrants not implemented") +} +func (*UnimplementedMsgServer) ActivateStakeGrant(ctx context.Context, req *MsgActivateStakeGrant) (*MsgActivateStakeGrantResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ActivateStakeGrant not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -4438,13 +5040,31 @@ func _Msg_IncreasePositionMargin_Handler(srv interface{}, ctx context.Context, d return interceptor(ctx, in, info, handler) } -func _Msg_RewardsOptOut_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgRewardsOptOut) +func _Msg_DecreasePositionMargin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgDecreasePositionMargin) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).RewardsOptOut(ctx, in) + return srv.(MsgServer).DecreasePositionMargin(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.exchange.v1beta1.Msg/DecreasePositionMargin", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).DecreasePositionMargin(ctx, req.(*MsgDecreasePositionMargin)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_RewardsOptOut_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRewardsOptOut) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).RewardsOptOut(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, @@ -4474,38 +5094,92 @@ func _Msg_AdminUpdateBinaryOptionsMarket_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } -func _Msg_ReclaimLockedFunds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgReclaimLockedFunds) +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).ReclaimLockedFunds(ctx, in) + return srv.(MsgServer).UpdateParams(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/injective.exchange.v1beta1.Msg/ReclaimLockedFunds", + FullMethod: "/injective.exchange.v1beta1.Msg/UpdateParams", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).ReclaimLockedFunds(ctx, req.(*MsgReclaimLockedFunds)) + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) } 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) +func _Msg_UpdateSpotMarket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateSpotMarket) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).UpdateParams(ctx, in) + return srv.(MsgServer).UpdateSpotMarket(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/injective.exchange.v1beta1.Msg/UpdateParams", + FullMethod: "/injective.exchange.v1beta1.Msg/UpdateSpotMarket", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + return srv.(MsgServer).UpdateSpotMarket(ctx, req.(*MsgUpdateSpotMarket)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_UpdateDerivativeMarket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateDerivativeMarket) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateDerivativeMarket(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.exchange.v1beta1.Msg/UpdateDerivativeMarket", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateDerivativeMarket(ctx, req.(*MsgUpdateDerivativeMarket)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_AuthorizeStakeGrants_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgAuthorizeStakeGrants) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).AuthorizeStakeGrants(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.exchange.v1beta1.Msg/AuthorizeStakeGrants", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).AuthorizeStakeGrants(ctx, req.(*MsgAuthorizeStakeGrants)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_ActivateStakeGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgActivateStakeGrant) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ActivateStakeGrant(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.exchange.v1beta1.Msg/ActivateStakeGrant", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ActivateStakeGrant(ctx, req.(*MsgActivateStakeGrant)) } return interceptor(ctx, in, info, handler) } @@ -4622,6 +5296,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "IncreasePositionMargin", Handler: _Msg_IncreasePositionMargin_Handler, }, + { + MethodName: "DecreasePositionMargin", + Handler: _Msg_DecreasePositionMargin_Handler, + }, { MethodName: "RewardsOptOut", Handler: _Msg_RewardsOptOut_Handler, @@ -4630,19 +5308,245 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "AdminUpdateBinaryOptionsMarket", Handler: _Msg_AdminUpdateBinaryOptionsMarket_Handler, }, - { - MethodName: "ReclaimLockedFunds", - Handler: _Msg_ReclaimLockedFunds_Handler, - }, { MethodName: "UpdateParams", Handler: _Msg_UpdateParams_Handler, }, + { + MethodName: "UpdateSpotMarket", + Handler: _Msg_UpdateSpotMarket_Handler, + }, + { + MethodName: "UpdateDerivativeMarket", + Handler: _Msg_UpdateDerivativeMarket_Handler, + }, + { + MethodName: "AuthorizeStakeGrants", + Handler: _Msg_AuthorizeStakeGrants_Handler, + }, + { + MethodName: "ActivateStakeGrant", + Handler: _Msg_ActivateStakeGrant_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "injective/exchange/v1beta1/tx.proto", } +func (m *MsgUpdateSpotMarket) 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 *MsgUpdateSpotMarket) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateSpotMarket) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size := m.NewMinNotional.Size() + i -= size + if _, err := m.NewMinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + { + size := m.NewMinQuantityTickSize.Size() + i -= size + if _, err := m.NewMinQuantityTickSize.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + { + size := m.NewMinPriceTickSize.Size() + i -= size + if _, err := m.NewMinPriceTickSize.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + if len(m.NewTicker) > 0 { + i -= len(m.NewTicker) + copy(dAtA[i:], m.NewTicker) + i = encodeVarintTx(dAtA, i, uint64(len(m.NewTicker))) + i-- + dAtA[i] = 0x1a + } + if len(m.MarketId) > 0 { + i -= len(m.MarketId) + copy(dAtA[i:], m.MarketId) + i = encodeVarintTx(dAtA, i, uint64(len(m.MarketId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Admin) > 0 { + i -= len(m.Admin) + copy(dAtA[i:], m.Admin) + i = encodeVarintTx(dAtA, i, uint64(len(m.Admin))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateSpotMarketResponse) 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 *MsgUpdateSpotMarketResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateSpotMarketResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgUpdateDerivativeMarket) 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 *MsgUpdateDerivativeMarket) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateDerivativeMarket) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size := m.NewMaintenanceMarginRatio.Size() + i -= size + if _, err := m.NewMaintenanceMarginRatio.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 + { + size := m.NewInitialMarginRatio.Size() + i -= size + if _, err := m.NewInitialMarginRatio.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x3a + { + size := m.NewMinNotional.Size() + i -= size + if _, err := m.NewMinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + { + size := m.NewMinQuantityTickSize.Size() + i -= size + if _, err := m.NewMinQuantityTickSize.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + { + size := m.NewMinPriceTickSize.Size() + i -= size + if _, err := m.NewMinPriceTickSize.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + if len(m.NewTicker) > 0 { + i -= len(m.NewTicker) + copy(dAtA[i:], m.NewTicker) + i = encodeVarintTx(dAtA, i, uint64(len(m.NewTicker))) + i-- + dAtA[i] = 0x1a + } + if len(m.MarketId) > 0 { + i -= len(m.MarketId) + copy(dAtA[i:], m.MarketId) + i = encodeVarintTx(dAtA, i, uint64(len(m.MarketId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Admin) > 0 { + i -= len(m.Admin) + copy(dAtA[i:], m.Admin) + i = encodeVarintTx(dAtA, i, uint64(len(m.Admin))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateDerivativeMarketResponse) 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 *MsgUpdateDerivativeMarketResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateDerivativeMarketResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -4906,7 +5810,14 @@ func (m *MsgCreateSpotLimitOrderResponse) MarshalToSizedBuffer(dAtA []byte) (int _ = i var l int _ = l - if len(m.OrderHash) > 0 { + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintTx(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x12 + } + if len(m.OrderHash) > 0 { i -= len(m.OrderHash) copy(dAtA[i:], m.OrderHash) i = encodeVarintTx(dAtA, i, uint64(len(m.OrderHash))) @@ -4980,6 +5891,24 @@ func (m *MsgBatchCreateSpotLimitOrdersResponse) MarshalToSizedBuffer(dAtA []byte _ = i var l int _ = l + if len(m.FailedOrdersCids) > 0 { + for iNdEx := len(m.FailedOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.FailedOrdersCids[iNdEx]) + copy(dAtA[i:], m.FailedOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.FailedOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if len(m.CreatedOrdersCids) > 0 { + for iNdEx := len(m.CreatedOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.CreatedOrdersCids[iNdEx]) + copy(dAtA[i:], m.CreatedOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.CreatedOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } if len(m.OrderHashes) > 0 { for iNdEx := len(m.OrderHashes) - 1; iNdEx >= 0; iNdEx-- { i -= len(m.OrderHashes[iNdEx]) @@ -5012,6 +5941,16 @@ func (m *MsgInstantSpotMarketLaunch) MarshalToSizedBuffer(dAtA []byte) (int, err _ = i var l int _ = l + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x3a { size := m.MinQuantityTickSize.Size() i -= size @@ -5106,6 +6045,16 @@ func (m *MsgInstantPerpetualMarketLaunch) MarshalToSizedBuffer(dAtA []byte) (int _ = i var l int _ = l + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x72 { size := m.MinQuantityTickSize.Size() i -= size @@ -5257,6 +6206,16 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) MarshalToSizedBuffer(dAtA []byte) _ = i var l int _ = l + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x7a { size := m.MinQuantityTickSize.Size() i -= size @@ -5405,6 +6364,16 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) MarshalToSizedBuffer(dAtA []byte) _ = i var l int _ = l + { + size := m.MinNotional.Size() + i -= size + if _, err := m.MinNotional.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x7a { size := m.MinQuantityTickSize.Size() i -= size @@ -5601,6 +6570,13 @@ func (m *MsgCreateSpotMarketOrderResponse) MarshalToSizedBuffer(dAtA []byte) (in _ = i var l int _ = l + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintTx(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x1a + } if m.Results != nil { { size, err := m.Results.MarshalToSizedBuffer(dAtA[:i]) @@ -5736,6 +6712,13 @@ func (m *MsgCreateDerivativeLimitOrderResponse) MarshalToSizedBuffer(dAtA []byte _ = i var l int _ = l + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintTx(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x12 + } if len(m.OrderHash) > 0 { i -= len(m.OrderHash) copy(dAtA[i:], m.OrderHash) @@ -5806,6 +6789,13 @@ func (m *MsgCreateBinaryOptionsLimitOrderResponse) MarshalToSizedBuffer(dAtA []b _ = i var l int _ = l + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintTx(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x12 + } if len(m.OrderHash) > 0 { i -= len(m.OrderHash) copy(dAtA[i:], m.OrderHash) @@ -5880,6 +6870,24 @@ func (m *MsgBatchCreateDerivativeLimitOrdersResponse) MarshalToSizedBuffer(dAtA _ = i var l int _ = l + if len(m.FailedOrdersCids) > 0 { + for iNdEx := len(m.FailedOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.FailedOrdersCids[iNdEx]) + copy(dAtA[i:], m.FailedOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.FailedOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if len(m.CreatedOrdersCids) > 0 { + for iNdEx := len(m.CreatedOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.CreatedOrdersCids[iNdEx]) + copy(dAtA[i:], m.CreatedOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.CreatedOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } if len(m.OrderHashes) > 0 { for iNdEx := len(m.OrderHashes) - 1; iNdEx >= 0; iNdEx-- { i -= len(m.OrderHashes[iNdEx]) @@ -6301,6 +7309,60 @@ func (m *MsgBatchUpdateOrdersResponse) MarshalToSizedBuffer(dAtA []byte) (int, e _ = i var l int _ = l + if len(m.FailedBinaryOptionsOrdersCids) > 0 { + for iNdEx := len(m.FailedBinaryOptionsOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.FailedBinaryOptionsOrdersCids[iNdEx]) + copy(dAtA[i:], m.FailedBinaryOptionsOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.FailedBinaryOptionsOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x62 + } + } + if len(m.CreatedBinaryOptionsOrdersCids) > 0 { + for iNdEx := len(m.CreatedBinaryOptionsOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.CreatedBinaryOptionsOrdersCids[iNdEx]) + copy(dAtA[i:], m.CreatedBinaryOptionsOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.CreatedBinaryOptionsOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x5a + } + } + if len(m.FailedDerivativeOrdersCids) > 0 { + for iNdEx := len(m.FailedDerivativeOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.FailedDerivativeOrdersCids[iNdEx]) + copy(dAtA[i:], m.FailedDerivativeOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.FailedDerivativeOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x52 + } + } + if len(m.CreatedDerivativeOrdersCids) > 0 { + for iNdEx := len(m.CreatedDerivativeOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.CreatedDerivativeOrdersCids[iNdEx]) + copy(dAtA[i:], m.CreatedDerivativeOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.CreatedDerivativeOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x4a + } + } + if len(m.FailedSpotOrdersCids) > 0 { + for iNdEx := len(m.FailedSpotOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.FailedSpotOrdersCids[iNdEx]) + copy(dAtA[i:], m.FailedSpotOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.FailedSpotOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x42 + } + } + if len(m.CreatedSpotOrdersCids) > 0 { + for iNdEx := len(m.CreatedSpotOrdersCids) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.CreatedSpotOrdersCids[iNdEx]) + copy(dAtA[i:], m.CreatedSpotOrdersCids[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.CreatedSpotOrdersCids[iNdEx]))) + i-- + dAtA[i] = 0x3a + } + } if len(m.BinaryOptionsOrderHashes) > 0 { for iNdEx := len(m.BinaryOptionsOrderHashes) - 1; iNdEx >= 0; iNdEx-- { i -= len(m.BinaryOptionsOrderHashes[iNdEx]) @@ -6430,6 +7492,13 @@ func (m *MsgCreateDerivativeMarketOrderResponse) MarshalToSizedBuffer(dAtA []byt _ = i var l int _ = l + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintTx(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x1a + } if m.Results != nil { { size, err := m.Results.MarshalToSizedBuffer(dAtA[:i]) @@ -6585,6 +7654,13 @@ func (m *MsgCreateBinaryOptionsMarketOrderResponse) MarshalToSizedBuffer(dAtA [] _ = i var l int _ = l + if len(m.Cid) > 0 { + i -= len(m.Cid) + copy(dAtA[i:], m.Cid) + i = encodeVarintTx(dAtA, i, uint64(len(m.Cid))) + i-- + dAtA[i] = 0x1a + } if m.Results != nil { { size, err := m.Results.MarshalToSizedBuffer(dAtA[:i]) @@ -7299,6 +8375,90 @@ func (m *MsgIncreasePositionMarginResponse) MarshalToSizedBuffer(dAtA []byte) (i return len(dAtA) - i, nil } +func (m *MsgDecreasePositionMargin) 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 *MsgDecreasePositionMargin) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgDecreasePositionMargin) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size := m.Amount.Size() + i -= size + if _, err := m.Amount.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + if len(m.MarketId) > 0 { + i -= len(m.MarketId) + copy(dAtA[i:], m.MarketId) + i = encodeVarintTx(dAtA, i, uint64(len(m.MarketId))) + i-- + dAtA[i] = 0x22 + } + if len(m.DestinationSubaccountId) > 0 { + i -= len(m.DestinationSubaccountId) + copy(dAtA[i:], m.DestinationSubaccountId) + i = encodeVarintTx(dAtA, i, uint64(len(m.DestinationSubaccountId))) + i-- + dAtA[i] = 0x1a + } + if len(m.SourceSubaccountId) > 0 { + i -= len(m.SourceSubaccountId) + copy(dAtA[i:], m.SourceSubaccountId) + i = encodeVarintTx(dAtA, i, uint64(len(m.SourceSubaccountId))) + 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 *MsgDecreasePositionMarginResponse) 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 *MsgDecreasePositionMarginResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgDecreasePositionMarginResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func (m *MsgPrivilegedExecuteContract) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -7671,45 +8831,248 @@ func (m *MsgAdminUpdateBinaryOptionsMarketResponse) MarshalToSizedBuffer(dAtA [] 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++ +func (m *MsgAuthorizeStakeGrants) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - dAtA[offset] = uint8(v) - return base + return dAtA[:n], nil } -func (m *MsgUpdateParams) Size() (n int) { - if m == nil { - return 0 - } + +func (m *MsgAuthorizeStakeGrants) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgAuthorizeStakeGrants) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Authority) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Grants) > 0 { + for iNdEx := len(m.Grants) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Grants[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } } - l = m.Params.Size() - n += 1 + l + sovTx(uint64(l)) - return n + 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 *MsgUpdateParamsResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgAuthorizeStakeGrantsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgDeposit) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgAuthorizeStakeGrantsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgAuthorizeStakeGrantsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgActivateStakeGrant) 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 *MsgActivateStakeGrant) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgActivateStakeGrant) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Granter) > 0 { + i -= len(m.Granter) + copy(dAtA[i:], m.Granter) + i = encodeVarintTx(dAtA, i, uint64(len(m.Granter))) + 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 *MsgActivateStakeGrantResponse) 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 *MsgActivateStakeGrantResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgActivateStakeGrantResponse) 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 + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *MsgUpdateSpotMarket) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Admin) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.MarketId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.NewTicker) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.NewMinPriceTickSize.Size() + n += 1 + l + sovTx(uint64(l)) + l = m.NewMinQuantityTickSize.Size() + n += 1 + l + sovTx(uint64(l)) + l = m.NewMinNotional.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateSpotMarketResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgUpdateDerivativeMarket) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Admin) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.MarketId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.NewTicker) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.NewMinPriceTickSize.Size() + n += 1 + l + sovTx(uint64(l)) + l = m.NewMinQuantityTickSize.Size() + n += 1 + l + sovTx(uint64(l)) + l = m.NewMinNotional.Size() + n += 1 + l + sovTx(uint64(l)) + l = m.NewInitialMarginRatio.Size() + n += 1 + l + sovTx(uint64(l)) + l = m.NewMaintenanceMarginRatio.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateDerivativeMarketResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + 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 (m *MsgDeposit) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Sender) @@ -7787,6 +9150,10 @@ func (m *MsgCreateSpotLimitOrderResponse) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } @@ -7821,6 +9188,18 @@ func (m *MsgBatchCreateSpotLimitOrdersResponse) Size() (n int) { n += 1 + l + sovTx(uint64(l)) } } + if len(m.CreatedOrdersCids) > 0 { + for _, s := range m.CreatedOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + if len(m.FailedOrdersCids) > 0 { + for _, s := range m.FailedOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } return n } @@ -7850,6 +9229,8 @@ func (m *MsgInstantSpotMarketLaunch) Size() (n int) { n += 1 + l + sovTx(uint64(l)) l = m.MinQuantityTickSize.Size() n += 1 + l + sovTx(uint64(l)) + l = m.MinNotional.Size() + n += 1 + l + sovTx(uint64(l)) return n } @@ -7906,6 +9287,8 @@ func (m *MsgInstantPerpetualMarketLaunch) Size() (n int) { n += 1 + l + sovTx(uint64(l)) l = m.MinQuantityTickSize.Size() n += 1 + l + sovTx(uint64(l)) + l = m.MinNotional.Size() + n += 1 + l + sovTx(uint64(l)) return n } @@ -7968,6 +9351,8 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) Size() (n int) { n += 1 + l + sovTx(uint64(l)) l = m.MinQuantityTickSize.Size() n += 1 + l + sovTx(uint64(l)) + l = m.MinNotional.Size() + n += 1 + l + sovTx(uint64(l)) return n } @@ -8027,6 +9412,8 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Size() (n int) { n += 1 + l + sovTx(uint64(l)) l = m.MinQuantityTickSize.Size() n += 1 + l + sovTx(uint64(l)) + l = m.MinNotional.Size() + n += 1 + l + sovTx(uint64(l)) return n } @@ -8068,6 +9455,10 @@ func (m *MsgCreateSpotMarketOrderResponse) Size() (n int) { l = m.Results.Size() n += 1 + l + sovTx(uint64(l)) } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } @@ -8111,6 +9502,10 @@ func (m *MsgCreateDerivativeLimitOrderResponse) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } @@ -8139,6 +9534,10 @@ func (m *MsgCreateBinaryOptionsLimitOrderResponse) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } @@ -8173,6 +9572,18 @@ func (m *MsgBatchCreateDerivativeLimitOrdersResponse) Size() (n int) { n += 1 + l + sovTx(uint64(l)) } } + if len(m.CreatedOrdersCids) > 0 { + for _, s := range m.CreatedOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + if len(m.FailedOrdersCids) > 0 { + for _, s := range m.FailedOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } return n } @@ -8380,6 +9791,42 @@ func (m *MsgBatchUpdateOrdersResponse) Size() (n int) { n += 1 + l + sovTx(uint64(l)) } } + if len(m.CreatedSpotOrdersCids) > 0 { + for _, s := range m.CreatedSpotOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + if len(m.FailedSpotOrdersCids) > 0 { + for _, s := range m.FailedSpotOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + if len(m.CreatedDerivativeOrdersCids) > 0 { + for _, s := range m.CreatedDerivativeOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + if len(m.FailedDerivativeOrdersCids) > 0 { + for _, s := range m.FailedDerivativeOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + if len(m.CreatedBinaryOptionsOrdersCids) > 0 { + for _, s := range m.CreatedBinaryOptionsOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + if len(m.FailedBinaryOptionsOrdersCids) > 0 { + for _, s := range m.FailedBinaryOptionsOrdersCids { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } return n } @@ -8412,6 +9859,10 @@ func (m *MsgCreateDerivativeMarketOrderResponse) Size() (n int) { l = m.Results.Size() n += 1 + l + sovTx(uint64(l)) } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } @@ -8463,6 +9914,10 @@ func (m *MsgCreateBinaryOptionsMarketOrderResponse) Size() (n int) { l = m.Results.Size() n += 1 + l + sovTx(uint64(l)) } + l = len(m.Cid) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } @@ -8771,7 +10226,7 @@ func (m *MsgIncreasePositionMarginResponse) Size() (n int) { return n } -func (m *MsgPrivilegedExecuteContract) Size() (n int) { +func (m *MsgDecreasePositionMargin) Size() (n int) { if m == nil { return 0 } @@ -8781,37 +10236,33 @@ func (m *MsgPrivilegedExecuteContract) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Funds) + l = len(m.SourceSubaccountId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.ContractAddress) + l = len(m.DestinationSubaccountId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Data) + l = len(m.MarketId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } + l = m.Amount.Size() + n += 1 + l + sovTx(uint64(l)) return n } -func (m *MsgPrivilegedExecuteContractResponse) Size() (n int) { +func (m *MsgDecreasePositionMarginResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.FundsDiff) > 0 { - for _, e := range m.FundsDiff { - l = e.Size() - n += 1 + l + sovTx(uint64(l)) - } - } return n } -func (m *MsgRewardsOptOut) Size() (n int) { +func (m *MsgPrivilegedExecuteContract) Size() (n int) { if m == nil { return 0 } @@ -8821,14 +10272,54 @@ func (m *MsgRewardsOptOut) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - return n -} - -func (m *MsgRewardsOptOutResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int + l = len(m.Funds) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ContractAddress) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Data) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgPrivilegedExecuteContractResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.FundsDiff) > 0 { + for _, e := range m.FundsDiff { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgRewardsOptOut) 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)) + } + return n +} + +func (m *MsgRewardsOptOutResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int _ = l return n } @@ -8934,13 +10425,67 @@ func (m *MsgAdminUpdateBinaryOptionsMarketResponse) Size() (n int) { return n } +func (m *MsgAuthorizeStakeGrants) 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)) + } + if len(m.Grants) > 0 { + for _, e := range m.Grants { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgAuthorizeStakeGrantsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgActivateStakeGrant) 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 = len(m.Granter) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgActivateStakeGrantResponse) 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 *MsgUpdateParams) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateSpotMarket) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8963,15 +10508,15 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateSpotMarket: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateSpotMarket: 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) + return fmt.Errorf("proto: wrong wireType = %d for field Admin", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -8999,13 +10544,13 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Authority = string(dAtA[iNdEx:postIndex]) + m.Admin = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Params", 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 ErrIntOverflowTx @@ -9015,22 +10560,155 @@ func (m *MsgUpdateParams) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.MarketId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewTicker", 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.NewTicker = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewMinPriceTickSize", 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 + } + if err := m.NewMinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewMinQuantityTickSize", 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 + } + if err := m.NewMinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewMinNotional", 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 + } + if err := m.NewMinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -9055,7 +10733,7 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateSpotMarketResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9078,10 +10756,10 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateSpotMarketResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateSpotMarketResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -9105,7 +10783,7 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgDeposit) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateDerivativeMarket) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9128,15 +10806,15 @@ func (m *MsgDeposit) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgDeposit: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateDerivativeMarket: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgDeposit: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateDerivativeMarket: 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) + return fmt.Errorf("proto: wrong wireType = %d for field Admin", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9164,11 +10842,11 @@ func (m *MsgDeposit) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + m.Admin = string(dAtA[iNdEx:postIndex]) 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 MarketId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9196,13 +10874,13 @@ func (m *MsgDeposit) 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 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NewTicker", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -9212,128 +10890,95 @@ func (m *MsgDeposit) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.NewTicker = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewMinPriceTickSize", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx + 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 + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgDepositResponse) 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 + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx } - if iNdEx >= l { + if postIndex > 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: MsgDepositResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgDepositResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { + if err := m.NewMinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewMinQuantityTickSize", wireType) } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + 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 + } } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgWithdraw) 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 + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx } - if iNdEx >= l { + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if err := m.NewMinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgWithdraw: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgWithdraw: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NewMinNotional", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9361,11 +11006,13 @@ func (m *MsgWithdraw) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + if err := m.NewMinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 2: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NewInitialMarginRatio", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9393,13 +11040,15 @@ func (m *MsgWithdraw) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SubaccountId = string(dAtA[iNdEx:postIndex]) + if err := m.NewInitialMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 3: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NewMaintenanceMarginRatio", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -9409,22 +11058,23 @@ func (m *MsgWithdraw) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.NewMaintenanceMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -9449,7 +11099,7 @@ func (m *MsgWithdraw) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgWithdrawResponse) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateDerivativeMarketResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9472,10 +11122,10 @@ func (m *MsgWithdrawResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgWithdrawResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateDerivativeMarketResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgWithdrawResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateDerivativeMarketResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -9499,7 +11149,7 @@ func (m *MsgWithdrawResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateSpotLimitOrder) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9522,15 +11172,15 @@ func (m *MsgCreateSpotLimitOrder) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateSpotLimitOrder: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateSpotLimitOrder: illegal tag %d (wire type %d)", fieldNum, wire) + 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 Sender", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9558,11 +11208,11 @@ func (m *MsgCreateSpotLimitOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + m.Authority = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -9589,7 +11239,7 @@ func (m *MsgCreateSpotLimitOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -9614,7 +11264,7 @@ func (m *MsgCreateSpotLimitOrder) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateSpotLimitOrderResponse) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9637,44 +11287,12 @@ func (m *MsgCreateSpotLimitOrderResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateSpotLimitOrderResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateSpotLimitOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", 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.OrderHash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -9696,7 +11314,7 @@ func (m *MsgCreateSpotLimitOrderResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBatchCreateSpotLimitOrders) Unmarshal(dAtA []byte) error { +func (m *MsgDeposit) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9719,10 +11337,10 @@ func (m *MsgBatchCreateSpotLimitOrders) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCreateSpotLimitOrders: wiretype end group for non-group") + return fmt.Errorf("proto: MsgDeposit: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCreateSpotLimitOrders: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgDeposit: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9759,9 +11377,9 @@ func (m *MsgBatchCreateSpotLimitOrders) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Orders", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -9771,31 +11389,62 @@ func (m *MsgBatchCreateSpotLimitOrders) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Orders = append(m.Orders, SpotOrder{}) - if err := m.Orders[len(m.Orders)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.SubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", 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.Amount.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 @@ -9812,7 +11461,7 @@ func (m *MsgBatchCreateSpotLimitOrders) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBatchCreateSpotLimitOrdersResponse) Unmarshal(dAtA []byte) error { +func (m *MsgDepositResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9835,44 +11484,12 @@ func (m *MsgBatchCreateSpotLimitOrdersResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCreateSpotLimitOrdersResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgDepositResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCreateSpotLimitOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgDepositResponse: 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) - } - 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.OrderHashes = append(m.OrderHashes, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -9894,7 +11511,7 @@ func (m *MsgBatchCreateSpotLimitOrdersResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgInstantSpotMarketLaunch) Unmarshal(dAtA []byte) error { +func (m *MsgWithdraw) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9917,10 +11534,10 @@ func (m *MsgInstantSpotMarketLaunch) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgInstantSpotMarketLaunch: wiretype end group for non-group") + return fmt.Errorf("proto: MsgWithdraw: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgInstantSpotMarketLaunch: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgWithdraw: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9957,7 +11574,7 @@ func (m *MsgInstantSpotMarketLaunch) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Ticker", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9985,111 +11602,13 @@ func (m *MsgInstantSpotMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Ticker = string(dAtA[iNdEx:postIndex]) + m.SubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BaseDenom", 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.BaseDenom = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field QuoteDenom", 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.QuoteDenom = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MinPriceTickSize", 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 - } - if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MinQuantityTickSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10099,23 +11618,22 @@ func (m *MsgInstantSpotMarketLaunch) 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 ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -10140,7 +11658,7 @@ func (m *MsgInstantSpotMarketLaunch) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgInstantSpotMarketLaunchResponse) Unmarshal(dAtA []byte) error { +func (m *MsgWithdrawResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10163,10 +11681,10 @@ func (m *MsgInstantSpotMarketLaunchResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgInstantSpotMarketLaunchResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgWithdrawResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgInstantSpotMarketLaunchResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgWithdrawResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -10190,7 +11708,7 @@ func (m *MsgInstantSpotMarketLaunchResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { +func (m *MsgCreateSpotLimitOrder) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10213,10 +11731,10 @@ func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgInstantPerpetualMarketLaunch: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCreateSpotLimitOrder: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgInstantPerpetualMarketLaunch: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCreateSpotLimitOrder: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10253,9 +11771,9 @@ func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Ticker", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10265,59 +11783,78 @@ func (m *MsgInstantPerpetualMarketLaunch) 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 ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Ticker = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field QuoteDenom", 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 - } + if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + intStringLen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthTx } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.QuoteDenom = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCreateSpotLimitOrderResponse) 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: MsgCreateSpotLimitOrderResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateSpotLimitOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleBase", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10345,11 +11882,11 @@ func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OracleBase = string(dAtA[iNdEx:postIndex]) + m.OrderHash = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleQuote", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10377,49 +11914,61 @@ func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OracleQuote = string(dAtA[iNdEx:postIndex]) + m.Cid = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleScaleFactor", wireType) + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err } - m.OracleScaleFactor = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.OracleScaleFactor |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx } - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleType", wireType) + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF } - m.OracleType = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.OracleType |= types1.OracleType(b&0x7F) << shift - if b < 0x80 { - break - } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgBatchCreateSpotLimitOrders) 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 } - case 8: + 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: MsgBatchCreateSpotLimitOrders: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBatchCreateSpotLimitOrders: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MakerFeeRate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10447,15 +11996,13 @@ func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Sender = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 9: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TakerFeeRate", 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 ErrIntOverflowTx @@ -10465,63 +12012,79 @@ func (m *MsgInstantPerpetualMarketLaunch) 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 ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Orders = append(m.Orders, SpotOrder{}) + if err := m.Orders[len(m.Orders)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field InitialMarginRatio", 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 - } + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err } - intStringLen := int(stringLen) - if intStringLen < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF } - if postIndex > l { + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgBatchCreateSpotLimitOrdersResponse) 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 } - if err := m.InitialMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - iNdEx = postIndex - case 11: + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgBatchCreateSpotLimitOrdersResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBatchCreateSpotLimitOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MaintenanceMarginRatio", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OrderHashes", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10549,13 +12112,11 @@ func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MaintenanceMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.OrderHashes = append(m.OrderHashes, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 12: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MinPriceTickSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CreatedOrdersCids", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10583,13 +12144,11 @@ func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.CreatedOrdersCids = append(m.CreatedOrdersCids, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 13: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MinQuantityTickSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FailedOrdersCids", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10617,9 +12176,7 @@ func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.FailedOrdersCids = append(m.FailedOrdersCids, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex default: iNdEx = preIndex @@ -10642,7 +12199,7 @@ func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgInstantPerpetualMarketLaunchResponse) Unmarshal(dAtA []byte) error { +func (m *MsgInstantSpotMarketLaunch) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10665,60 +12222,10 @@ func (m *MsgInstantPerpetualMarketLaunchResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgInstantPerpetualMarketLaunchResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgInstantSpotMarketLaunch: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgInstantPerpetualMarketLaunchResponse: 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 *MsgInstantBinaryOptionsMarketLaunch) 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: MsgInstantBinaryOptionsMarketLaunch: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgInstantBinaryOptionsMarketLaunch: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgInstantSpotMarketLaunch: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10787,7 +12294,7 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleSymbol", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BaseDenom", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10815,11 +12322,11 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OracleSymbol = string(dAtA[iNdEx:postIndex]) + m.BaseDenom = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleProvider", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field QuoteDenom", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10847,83 +12354,11 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OracleProvider = string(dAtA[iNdEx:postIndex]) + m.QuoteDenom = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleType", wireType) - } - m.OracleType = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.OracleType |= types1.OracleType(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleScaleFactor", wireType) - } - m.OracleScaleFactor = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.OracleScaleFactor |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MakerFeeRate", 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 - } - if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TakerFeeRate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MinPriceTickSize", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10951,115 +12386,13 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 9: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ExpirationTimestamp", wireType) - } - m.ExpirationTimestamp = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ExpirationTimestamp |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 10: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SettlementTimestamp", wireType) - } - m.SettlementTimestamp = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.SettlementTimestamp |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Admin", 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.Admin = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 12: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field QuoteDenom", 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.QuoteDenom = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 13: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MinPriceTickSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MinQuantityTickSize", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11087,13 +12420,13 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 14: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MinQuantityTickSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11121,7 +12454,7 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -11146,7 +12479,7 @@ func (m *MsgInstantBinaryOptionsMarketLaunch) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgInstantBinaryOptionsMarketLaunchResponse) Unmarshal(dAtA []byte) error { +func (m *MsgInstantSpotMarketLaunchResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11169,10 +12502,10 @@ func (m *MsgInstantBinaryOptionsMarketLaunchResponse) Unmarshal(dAtA []byte) err fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgInstantBinaryOptionsMarketLaunchResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgInstantSpotMarketLaunchResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgInstantBinaryOptionsMarketLaunchResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgInstantSpotMarketLaunchResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -11196,7 +12529,7 @@ func (m *MsgInstantBinaryOptionsMarketLaunchResponse) Unmarshal(dAtA []byte) err } return nil } -func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { +func (m *MsgInstantPerpetualMarketLaunch) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11219,10 +12552,10 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgInstantExpiryFuturesMarketLaunch: wiretype end group for non-group") + return fmt.Errorf("proto: MsgInstantPerpetualMarketLaunch: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgInstantExpiryFuturesMarketLaunch: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgInstantPerpetualMarketLaunch: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11387,9 +12720,9 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 6: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleType", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OracleScaleFactor", wireType) } - m.OracleType = 0 + m.OracleScaleFactor = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11399,16 +12732,16 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.OracleType |= types1.OracleType(b&0x7F) << shift + m.OracleScaleFactor |= uint32(b&0x7F) << shift if b < 0x80 { break } } case 7: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OracleScaleFactor", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OracleType", wireType) } - m.OracleScaleFactor = 0 + m.OracleType = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11418,16 +12751,16 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.OracleScaleFactor |= uint32(b&0x7F) << shift + m.OracleType |= types1.OracleType(b&0x7F) << shift if b < 0x80 { break } } case 8: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Expiry", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MakerFeeRate", wireType) } - m.Expiry = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11437,14 +12770,29 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Expiry |= int64(b&0x7F) << shift + 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 + } + if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MakerFeeRate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TakerFeeRate", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11472,13 +12820,13 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TakerFeeRate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field InitialMarginRatio", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11506,13 +12854,13 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.InitialMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 11: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field InitialMarginRatio", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MaintenanceMarginRatio", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11540,13 +12888,13 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.InitialMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.MaintenanceMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 12: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MaintenanceMarginRatio", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MinPriceTickSize", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11574,13 +12922,13 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MaintenanceMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 13: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MinPriceTickSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MinQuantityTickSize", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11608,13 +12956,13 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 14: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MinQuantityTickSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11642,7 +12990,7 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -11667,7 +13015,7 @@ func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgInstantExpiryFuturesMarketLaunchResponse) Unmarshal(dAtA []byte) error { +func (m *MsgInstantPerpetualMarketLaunchResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11690,10 +13038,10 @@ func (m *MsgInstantExpiryFuturesMarketLaunchResponse) Unmarshal(dAtA []byte) err fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgInstantExpiryFuturesMarketLaunchResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgInstantPerpetualMarketLaunchResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgInstantExpiryFuturesMarketLaunchResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgInstantPerpetualMarketLaunchResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -11717,7 +13065,7 @@ func (m *MsgInstantExpiryFuturesMarketLaunchResponse) Unmarshal(dAtA []byte) err } return nil } -func (m *MsgCreateSpotMarketOrder) Unmarshal(dAtA []byte) error { +func (m *MsgInstantBinaryOptionsMarketLaunch) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11740,10 +13088,10 @@ func (m *MsgCreateSpotMarketOrder) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateSpotMarketOrder: wiretype end group for non-group") + return fmt.Errorf("proto: MsgInstantBinaryOptionsMarketLaunch: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateSpotMarketOrder: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgInstantBinaryOptionsMarketLaunch: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11780,9 +13128,9 @@ func (m *MsgCreateSpotMarketOrder) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Ticker", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11792,78 +13140,27 @@ func (m *MsgCreateSpotMarketOrder) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Ticker = string(dAtA[iNdEx:postIndex]) 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 *MsgCreateSpotMarketOrderResponse) 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: MsgCreateSpotMarketOrderResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateSpotMarketOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OracleSymbol", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11891,13 +13188,13 @@ func (m *MsgCreateSpotMarketOrderResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OrderHash = string(dAtA[iNdEx:postIndex]) + m.OracleSymbol = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Results", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OracleProvider", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11907,81 +13204,65 @@ func (m *MsgCreateSpotMarketOrderResponse) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Results == nil { - m.Results = &SpotMarketOrderResults{} - } - if err := m.Results.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.OracleProvider = string(dAtA[iNdEx:postIndex]) 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 + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OracleType", wireType) } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *SpotMarketOrderResults) 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 + m.OracleType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OracleType |= types1.OracleType(b&0x7F) << shift + if b < 0x80 { + break + } } - if iNdEx >= l { - return io.ErrUnexpectedEOF + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OracleScaleFactor", wireType) } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + m.OracleScaleFactor = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OracleScaleFactor |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: SpotMarketOrderResults: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: SpotMarketOrderResults: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Quantity", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MakerFeeRate", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12009,13 +13290,13 @@ func (m *SpotMarketOrderResults) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Quantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TakerFeeRate", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12043,15 +13324,15 @@ func (m *SpotMarketOrderResults) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ExpirationTimestamp", wireType) } - var stringLen uint64 + m.ExpirationTimestamp = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12061,7 +13342,45 @@ func (m *SpotMarketOrderResults) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.ExpirationTimestamp |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SettlementTimestamp", wireType) + } + m.SettlementTimestamp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SettlementTimestamp |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Admin", 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 } @@ -12077,63 +13396,77 @@ func (m *SpotMarketOrderResults) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Admin = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field QuoteDenom", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { + 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 } - if (iNdEx + skippy) > l { + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { return io.ErrUnexpectedEOF } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgCreateDerivativeLimitOrder) 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 + m.QuoteDenom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinPriceTickSize", wireType) } - if iNdEx >= l { + 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 } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgCreateDerivativeLimitOrder: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateDerivativeLimitOrder: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 14: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MinQuantityTickSize", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12161,13 +13494,15 @@ func (m *MsgCreateDerivativeLimitOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 2: + case 15: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12177,22 +13512,23 @@ func (m *MsgCreateDerivativeLimitOrder) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.MinNotional.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -12217,7 +13553,7 @@ func (m *MsgCreateDerivativeLimitOrder) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateDerivativeLimitOrderResponse) Unmarshal(dAtA []byte) error { +func (m *MsgInstantBinaryOptionsMarketLaunchResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12240,44 +13576,12 @@ func (m *MsgCreateDerivativeLimitOrderResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateDerivativeLimitOrderResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgInstantBinaryOptionsMarketLaunchResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateDerivativeLimitOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgInstantBinaryOptionsMarketLaunchResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", 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.OrderHash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -12299,7 +13603,7 @@ func (m *MsgCreateDerivativeLimitOrderResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateBinaryOptionsLimitOrder) Unmarshal(dAtA []byte) error { +func (m *MsgInstantExpiryFuturesMarketLaunch) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12322,10 +13626,10 @@ func (m *MsgCreateBinaryOptionsLimitOrder) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateBinaryOptionsLimitOrder: wiretype end group for non-group") + return fmt.Errorf("proto: MsgInstantExpiryFuturesMarketLaunch: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateBinaryOptionsLimitOrder: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgInstantExpiryFuturesMarketLaunch: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12362,9 +13666,9 @@ func (m *MsgCreateBinaryOptionsLimitOrder) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Ticker", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12374,47 +13678,2000 @@ func (m *MsgCreateBinaryOptionsLimitOrder) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Ticker = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field QuoteDenom", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { + 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 } - if (iNdEx + skippy) > l { + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { return io.ErrUnexpectedEOF } - iNdEx += skippy - } - } - + m.QuoteDenom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OracleBase", 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.OracleBase = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OracleQuote", 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.OracleQuote = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OracleType", wireType) + } + m.OracleType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OracleType |= types1.OracleType(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OracleScaleFactor", wireType) + } + m.OracleScaleFactor = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OracleScaleFactor |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Expiry", wireType) + } + m.Expiry = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Expiry |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MakerFeeRate", 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 + } + if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TakerFeeRate", 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 + } + if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field InitialMarginRatio", 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 + } + if err := m.InitialMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MaintenanceMarginRatio", 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 + } + if err := m.MaintenanceMarginRatio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinPriceTickSize", 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 + } + if err := m.MinPriceTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinQuantityTickSize", 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 + } + if err := m.MinQuantityTickSize.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinNotional", 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 + } + if err := m.MinNotional.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 *MsgInstantExpiryFuturesMarketLaunchResponse) 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: MsgInstantExpiryFuturesMarketLaunchResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgInstantExpiryFuturesMarketLaunchResponse: 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 *MsgCreateSpotMarketOrder) 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: MsgCreateSpotMarketOrder: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateSpotMarketOrder: 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 Order", 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.Order.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 *MsgCreateSpotMarketOrderResponse) 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: MsgCreateSpotMarketOrderResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateSpotMarketOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", 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.OrderHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Results", 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.Results == nil { + m.Results = &SpotMarketOrderResults{} + } + if err := m.Results.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cid", 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.Cid = string(dAtA[iNdEx:postIndex]) + 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 *SpotMarketOrderResults) 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: SpotMarketOrderResults: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SpotMarketOrderResults: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Quantity", 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 + } + if err := m.Quantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Price", 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 + } + if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Fee", 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 + } + if err := m.Fee.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 *MsgCreateDerivativeLimitOrder) 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: MsgCreateDerivativeLimitOrder: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateDerivativeLimitOrder: 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 Order", 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.Order.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 *MsgCreateDerivativeLimitOrderResponse) 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: MsgCreateDerivativeLimitOrderResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateDerivativeLimitOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", 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.OrderHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cid", 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.Cid = string(dAtA[iNdEx:postIndex]) + 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 *MsgCreateBinaryOptionsLimitOrder) 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: MsgCreateBinaryOptionsLimitOrder: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateBinaryOptionsLimitOrder: 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 Order", 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.Order.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 *MsgCreateBinaryOptionsLimitOrderResponse) 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: MsgCreateBinaryOptionsLimitOrderResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateBinaryOptionsLimitOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", 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.OrderHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cid", 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.Cid = string(dAtA[iNdEx:postIndex]) + 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 *MsgBatchCreateDerivativeLimitOrders) 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: MsgBatchCreateDerivativeLimitOrders: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBatchCreateDerivativeLimitOrders: 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 Orders", 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 + } + m.Orders = append(m.Orders, DerivativeOrder{}) + if err := m.Orders[len(m.Orders)-1].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 *MsgBatchCreateDerivativeLimitOrdersResponse) 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: MsgBatchCreateDerivativeLimitOrdersResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBatchCreateDerivativeLimitOrdersResponse: 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) + } + 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.OrderHashes = append(m.OrderHashes, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CreatedOrdersCids", 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.CreatedOrdersCids = append(m.CreatedOrdersCids, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FailedOrdersCids", 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.FailedOrdersCids = append(m.FailedOrdersCids, string(dAtA[iNdEx:postIndex])) + 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 *MsgCancelSpotOrder) 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: MsgCancelSpotOrder: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCancelSpotOrder: 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 MarketId", 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.MarketId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + 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 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.SubaccountId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", 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.OrderHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cid", 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.Cid = string(dAtA[iNdEx:postIndex]) + 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 *MsgCancelSpotOrderResponse) 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: MsgCancelSpotOrderResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCancelSpotOrderResponse: 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 *MsgBatchCancelSpotOrders) 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: MsgBatchCancelSpotOrders: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBatchCancelSpotOrders: 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 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 + } + m.Data = append(m.Data, OrderData{}) + if err := m.Data[len(m.Data)-1].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 *MsgCreateBinaryOptionsLimitOrderResponse) Unmarshal(dAtA []byte) error { +func (m *MsgBatchCancelSpotOrdersResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12437,44 +15694,82 @@ func (m *MsgCreateBinaryOptionsLimitOrderResponse) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateBinaryOptionsLimitOrderResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBatchCancelSpotOrdersResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateBinaryOptionsLimitOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBatchCancelSpotOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx + if wireType == 0 { + 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 + } } - if iNdEx >= l { + m.Success = append(m.Success, bool(v != 0)) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break + var elementCount int + elementCount = packedLen + if elementCount != 0 && len(m.Success) == 0 { + m.Success = make([]bool, 0, elementCount) } + for iNdEx < postIndex { + 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.Success = append(m.Success, bool(v != 0)) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field Success", wireType) } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.OrderHash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -12496,7 +15791,7 @@ func (m *MsgCreateBinaryOptionsLimitOrderResponse) Unmarshal(dAtA []byte) error } return nil } -func (m *MsgBatchCreateDerivativeLimitOrders) Unmarshal(dAtA []byte) error { +func (m *MsgBatchCancelBinaryOptionsOrders) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12519,10 +15814,10 @@ func (m *MsgBatchCreateDerivativeLimitOrders) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCreateDerivativeLimitOrders: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBatchCancelBinaryOptionsOrders: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCreateDerivativeLimitOrders: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBatchCancelBinaryOptionsOrders: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12559,7 +15854,7 @@ func (m *MsgBatchCreateDerivativeLimitOrders) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Orders", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -12576,21 +15871,141 @@ func (m *MsgBatchCreateDerivativeLimitOrders) Unmarshal(dAtA []byte) error { break } } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Orders = append(m.Orders, DerivativeOrder{}) - if err := m.Orders[len(m.Orders)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Data = append(m.Data, OrderData{}) + if err := m.Data[len(m.Data)-1].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 *MsgBatchCancelBinaryOptionsOrdersResponse) 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: MsgBatchCancelBinaryOptionsOrdersResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBatchCancelBinaryOptionsOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType == 0 { + 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.Success = append(m.Success, bool(v != 0)) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + elementCount = packedLen + if elementCount != 0 && len(m.Success) == 0 { + m.Success = make([]bool, 0, elementCount) + } + for iNdEx < postIndex { + 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.Success = append(m.Success, bool(v != 0)) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field Success", wireType) + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -12612,7 +16027,7 @@ func (m *MsgBatchCreateDerivativeLimitOrders) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBatchCreateDerivativeLimitOrdersResponse) Unmarshal(dAtA []byte) error { +func (m *MsgBatchUpdateOrders) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12635,15 +16050,15 @@ func (m *MsgBatchCreateDerivativeLimitOrdersResponse) Unmarshal(dAtA []byte) err fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCreateDerivativeLimitOrdersResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBatchUpdateOrders: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCreateDerivativeLimitOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBatchUpdateOrders: 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 Sender", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12671,61 +16086,11 @@ func (m *MsgBatchCreateDerivativeLimitOrdersResponse) Unmarshal(dAtA []byte) err if postIndex > l { return io.ErrUnexpectedEOF } - m.OrderHashes = append(m.OrderHashes, string(dAtA[iNdEx:postIndex])) + m.Sender = string(dAtA[iNdEx:postIndex]) 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 *MsgCancelSpotOrder) 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: MsgCancelSpotOrder: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCancelSpotOrder: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12753,11 +16118,11 @@ func (m *MsgCancelSpotOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + m.SubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SpotMarketIdsToCancelAll", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12785,11 +16150,11 @@ func (m *MsgCancelSpotOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MarketId = string(dAtA[iNdEx:postIndex]) + m.SpotMarketIdsToCancelAll = append(m.SpotMarketIdsToCancelAll, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 3: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DerivativeMarketIdsToCancelAll", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12817,13 +16182,13 @@ func (m *MsgCancelSpotOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SubaccountId = string(dAtA[iNdEx:postIndex]) + m.DerivativeMarketIdsToCancelAll = append(m.DerivativeMarketIdsToCancelAll, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 4: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SpotOrdersToCancel", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12833,29 +16198,31 @@ func (m *MsgCancelSpotOrder) 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 ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.OrderHash = string(dAtA[iNdEx:postIndex]) + m.SpotOrdersToCancel = append(m.SpotOrdersToCancel, &OrderData{}) + if err := m.SpotOrdersToCancel[len(m.SpotOrdersToCancel)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 5: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DerivativeOrdersToCancel", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12865,127 +16232,131 @@ func (m *MsgCancelSpotOrder) 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 ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Cid = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { + m.DerivativeOrdersToCancel = append(m.DerivativeOrdersToCancel, &OrderData{}) + if err := m.DerivativeOrdersToCancel[len(m.DerivativeOrdersToCancel)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - if (skippy < 0) || (iNdEx+skippy) < 0 { + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SpotOrdersToCreate", 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 } - if (iNdEx + skippy) > l { + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { return io.ErrUnexpectedEOF } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgCancelSpotOrderResponse) 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 + m.SpotOrdersToCreate = append(m.SpotOrdersToCreate, &SpotOrder{}) + if err := m.SpotOrdersToCreate[len(m.SpotOrdersToCreate)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - if iNdEx >= l { - return io.ErrUnexpectedEOF + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DerivativeOrdersToCreate", wireType) } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + 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 + } } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgCancelSpotOrderResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCancelSpotOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DerivativeOrdersToCreate = append(m.DerivativeOrdersToCreate, &DerivativeOrder{}) + if err := m.DerivativeOrdersToCreate[len(m.DerivativeOrdersToCreate)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - if (skippy < 0) || (iNdEx+skippy) < 0 { + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsOrdersToCancel", 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 } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgBatchCancelSpotOrders) 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 + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + m.BinaryOptionsOrdersToCancel = append(m.BinaryOptionsOrdersToCancel, &OrderData{}) + if err := m.BinaryOptionsOrdersToCancel[len(m.BinaryOptionsOrdersToCancel)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCancelSpotOrders: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCancelSpotOrders: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsMarketIdsToCancelAll", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13013,11 +16384,11 @@ func (m *MsgBatchCancelSpotOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + m.BinaryOptionsMarketIdsToCancelAll = append(m.BinaryOptionsMarketIdsToCancelAll, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 2: + case 11: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsOrdersToCreate", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -13044,8 +16415,8 @@ func (m *MsgBatchCancelSpotOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Data = append(m.Data, OrderData{}) - if err := m.Data[len(m.Data)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.BinaryOptionsOrdersToCreate = append(m.BinaryOptionsOrdersToCreate, &DerivativeOrder{}) + if err := m.BinaryOptionsOrdersToCreate[len(m.BinaryOptionsOrdersToCreate)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -13070,7 +16441,7 @@ func (m *MsgBatchCancelSpotOrders) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBatchCancelSpotOrdersResponse) Unmarshal(dAtA []byte) error { +func (m *MsgBatchUpdateOrdersResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13093,10 +16464,10 @@ func (m *MsgBatchCancelSpotOrdersResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCancelSpotOrdersResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBatchUpdateOrdersResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCancelSpotOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBatchUpdateOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -13116,7 +16487,7 @@ func (m *MsgBatchCancelSpotOrdersResponse) Unmarshal(dAtA []byte) error { break } } - m.Success = append(m.Success, bool(v != 0)) + m.SpotCancelSuccess = append(m.SpotCancelSuccess, bool(v != 0)) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -13145,8 +16516,8 @@ func (m *MsgBatchCancelSpotOrdersResponse) Unmarshal(dAtA []byte) error { } var elementCount int elementCount = packedLen - if elementCount != 0 && len(m.Success) == 0 { - m.Success = make([]bool, 0, elementCount) + if elementCount != 0 && len(m.SpotCancelSuccess) == 0 { + m.SpotCancelSuccess = make([]bool, 0, elementCount) } for iNdEx < postIndex { var v int @@ -13164,64 +16535,84 @@ func (m *MsgBatchCancelSpotOrdersResponse) Unmarshal(dAtA []byte) error { break } } - m.Success = append(m.Success, bool(v != 0)) + m.SpotCancelSuccess = append(m.SpotCancelSuccess, bool(v != 0)) } } else { - return fmt.Errorf("proto: wrong wireType = %d for field Success", wireType) - } - 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 *MsgBatchCancelBinaryOptionsOrders) 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 + return fmt.Errorf("proto: wrong wireType = %d for field SpotCancelSuccess", wireType) } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + case 2: + if wireType == 0 { + 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.DerivativeCancelSuccess = append(m.DerivativeCancelSuccess, bool(v != 0)) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + elementCount = packedLen + if elementCount != 0 && len(m.DerivativeCancelSuccess) == 0 { + m.DerivativeCancelSuccess = make([]bool, 0, elementCount) + } + for iNdEx < postIndex { + 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.DerivativeCancelSuccess = append(m.DerivativeCancelSuccess, bool(v != 0)) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field DerivativeCancelSuccess", wireType) } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCancelBinaryOptionsOrders: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCancelBinaryOptionsOrders: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SpotOrderHashes", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13249,13 +16640,13 @@ func (m *MsgBatchCancelBinaryOptionsOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + m.SpotOrderHashes = append(m.SpotOrderHashes, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DerivativeOrderHashes", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -13265,77 +16656,25 @@ func (m *MsgBatchCancelBinaryOptionsOrders) 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 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Data = append(m.Data, OrderData{}) - if err := m.Data[len(m.Data)-1].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 *MsgBatchCancelBinaryOptionsOrdersResponse) 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 + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx } - if iNdEx >= l { - return io.ErrUnexpectedEOF + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if postIndex > l { + return io.ErrUnexpectedEOF } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCancelBinaryOptionsOrdersResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCancelBinaryOptionsOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + m.DerivativeOrderHashes = append(m.DerivativeOrderHashes, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 5: if wireType == 0 { var v int for shift := uint(0); ; shift += 7 { @@ -13352,7 +16691,7 @@ func (m *MsgBatchCancelBinaryOptionsOrdersResponse) Unmarshal(dAtA []byte) error break } } - m.Success = append(m.Success, bool(v != 0)) + m.BinaryOptionsCancelSuccess = append(m.BinaryOptionsCancelSuccess, bool(v != 0)) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -13381,8 +16720,8 @@ func (m *MsgBatchCancelBinaryOptionsOrdersResponse) Unmarshal(dAtA []byte) error } var elementCount int elementCount = packedLen - if elementCount != 0 && len(m.Success) == 0 { - m.Success = make([]bool, 0, elementCount) + if elementCount != 0 && len(m.BinaryOptionsCancelSuccess) == 0 { + m.BinaryOptionsCancelSuccess = make([]bool, 0, elementCount) } for iNdEx < postIndex { var v int @@ -13400,64 +16739,110 @@ func (m *MsgBatchCancelBinaryOptionsOrdersResponse) Unmarshal(dAtA []byte) error break } } - m.Success = append(m.Success, bool(v != 0)) + m.BinaryOptionsCancelSuccess = append(m.BinaryOptionsCancelSuccess, bool(v != 0)) } } else { - return fmt.Errorf("proto: wrong wireType = %d for field Success", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsCancelSuccess", wireType) } - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsOrderHashes", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { + 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 } - if (iNdEx + skippy) > l { + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { return io.ErrUnexpectedEOF } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgBatchUpdateOrders) 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 + m.BinaryOptionsOrderHashes = append(m.BinaryOptionsOrderHashes, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CreatedSpotOrdersCids", wireType) } - if iNdEx >= l { + 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 } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + m.CreatedSpotOrdersCids = append(m.CreatedSpotOrdersCids, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FailedSpotOrdersCids", wireType) } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgBatchUpdateOrders: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchUpdateOrders: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + 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.FailedSpotOrdersCids = append(m.FailedSpotOrdersCids, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CreatedDerivativeOrdersCids", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13485,11 +16870,11 @@ func (m *MsgBatchUpdateOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + m.CreatedDerivativeOrdersCids = append(m.CreatedDerivativeOrdersCids, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 2: + case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FailedDerivativeOrdersCids", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13517,11 +16902,11 @@ func (m *MsgBatchUpdateOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SubaccountId = string(dAtA[iNdEx:postIndex]) + m.FailedDerivativeOrdersCids = append(m.FailedDerivativeOrdersCids, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 3: + case 11: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpotMarketIdsToCancelAll", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CreatedBinaryOptionsOrdersCids", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13549,11 +16934,93 @@ func (m *MsgBatchUpdateOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SpotMarketIdsToCancelAll = append(m.SpotMarketIdsToCancelAll, string(dAtA[iNdEx:postIndex])) + m.CreatedBinaryOptionsOrdersCids = append(m.CreatedBinaryOptionsOrdersCids, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 4: + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FailedBinaryOptionsOrdersCids", 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.FailedBinaryOptionsOrdersCids = append(m.FailedBinaryOptionsOrdersCids, string(dAtA[iNdEx:postIndex])) + 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 *MsgCreateDerivativeMarketOrder) 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: MsgCreateDerivativeMarketOrder: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateDerivativeMarketOrder: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DerivativeMarketIdsToCancelAll", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13581,11 +17048,11 @@ func (m *MsgBatchUpdateOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.DerivativeMarketIdsToCancelAll = append(m.DerivativeMarketIdsToCancelAll, string(dAtA[iNdEx:postIndex])) + m.Sender = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpotOrdersToCancel", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -13612,84 +17079,65 @@ func (m *MsgBatchUpdateOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SpotOrdersToCancel = append(m.SpotOrdersToCancel, &OrderData{}) - if err := m.SpotOrdersToCancel[len(m.SpotOrdersToCancel)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DerivativeOrdersToCancel", 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 + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthTx } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.DerivativeOrdersToCancel = append(m.DerivativeOrdersToCancel, &OrderData{}) - if err := m.DerivativeOrdersToCancel[len(m.DerivativeOrdersToCancel)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpotOrdersToCreate", 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 + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCreateDerivativeMarketOrderResponse) 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 postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - m.SpotOrdersToCreate = append(m.SpotOrdersToCreate, &SpotOrder{}) - if err := m.SpotOrdersToCreate[len(m.SpotOrdersToCreate)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - iNdEx = postIndex - case 8: + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgCreateDerivativeMarketOrderResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateDerivativeMarketOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DerivativeOrdersToCreate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -13699,29 +17147,27 @@ func (m *MsgBatchUpdateOrders) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.DerivativeOrdersToCreate = append(m.DerivativeOrdersToCreate, &DerivativeOrder{}) - if err := m.DerivativeOrdersToCreate[len(m.DerivativeOrdersToCreate)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.OrderHash = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 9: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsOrdersToCancel", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Results", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -13748,14 +17194,16 @@ func (m *MsgBatchUpdateOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.BinaryOptionsOrdersToCancel = append(m.BinaryOptionsOrdersToCancel, &OrderData{}) - if err := m.BinaryOptionsOrdersToCancel[len(m.BinaryOptionsOrdersToCancel)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.Results == nil { + m.Results = &DerivativeMarketOrderResults{} + } + if err := m.Results.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 10: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsMarketIdsToCancelAll", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13783,41 +17231,7 @@ func (m *MsgBatchUpdateOrders) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.BinaryOptionsMarketIdsToCancelAll = append(m.BinaryOptionsMarketIdsToCancelAll, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsOrdersToCreate", 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 - } - m.BinaryOptionsOrdersToCreate = append(m.BinaryOptionsOrdersToCreate, &DerivativeOrder{}) - if err := m.BinaryOptionsOrdersToCreate[len(m.BinaryOptionsOrdersToCreate)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Cid = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -13840,7 +17254,7 @@ func (m *MsgBatchUpdateOrders) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBatchUpdateOrdersResponse) Unmarshal(dAtA []byte) error { +func (m *DerivativeMarketOrderResults) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13863,155 +17277,49 @@ func (m *MsgBatchUpdateOrdersResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBatchUpdateOrdersResponse: wiretype end group for non-group") + return fmt.Errorf("proto: DerivativeMarketOrderResults: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchUpdateOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType == 0 { - 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.SpotCancelSuccess = append(m.SpotCancelSuccess, bool(v != 0)) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var elementCount int - elementCount = packedLen - if elementCount != 0 && len(m.SpotCancelSuccess) == 0 { - m.SpotCancelSuccess = make([]bool, 0, elementCount) - } - for iNdEx < postIndex { - 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.SpotCancelSuccess = append(m.SpotCancelSuccess, bool(v != 0)) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field SpotCancelSuccess", wireType) + return fmt.Errorf("proto: DerivativeMarketOrderResults: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Quantity", wireType) } - case 2: - if wireType == 0 { - 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.DerivativeCancelSuccess = append(m.DerivativeCancelSuccess, bool(v != 0)) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthTx + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx } - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - var elementCount int - elementCount = packedLen - if elementCount != 0 && len(m.DerivativeCancelSuccess) == 0 { - m.DerivativeCancelSuccess = make([]bool, 0, elementCount) - } - for iNdEx < postIndex { - 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.DerivativeCancelSuccess = append(m.DerivativeCancelSuccess, bool(v != 0)) + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field DerivativeCancelSuccess", wireType) } - case 3: + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Quantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SpotOrderHashes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14039,11 +17347,13 @@ func (m *MsgBatchUpdateOrdersResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SpotOrderHashes = append(m.SpotOrderHashes, string(dAtA[iNdEx:postIndex])) + if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 4: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DerivativeOrderHashes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14071,81 +17381,46 @@ func (m *MsgBatchUpdateOrdersResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.DerivativeOrderHashes = append(m.DerivativeOrderHashes, string(dAtA[iNdEx:postIndex])) + if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 5: - if wireType == 0 { - 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.BinaryOptionsCancelSuccess = append(m.BinaryOptionsCancelSuccess, bool(v != 0)) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthTx + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PositionDelta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx } - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - var elementCount int - elementCount = packedLen - if elementCount != 0 && len(m.BinaryOptionsCancelSuccess) == 0 { - m.BinaryOptionsCancelSuccess = make([]bool, 0, elementCount) - } - for iNdEx < postIndex { - 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.BinaryOptionsCancelSuccess = append(m.BinaryOptionsCancelSuccess, bool(v != 0)) + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsCancelSuccess", wireType) } - case 6: + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.PositionDelta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BinaryOptionsOrderHashes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Payout", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14173,7 +17448,9 @@ func (m *MsgBatchUpdateOrdersResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.BinaryOptionsOrderHashes = append(m.BinaryOptionsOrderHashes, string(dAtA[iNdEx:postIndex])) + if err := m.Payout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -14196,7 +17473,7 @@ func (m *MsgBatchUpdateOrdersResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateDerivativeMarketOrder) Unmarshal(dAtA []byte) error { +func (m *MsgCreateBinaryOptionsMarketOrder) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14219,10 +17496,10 @@ func (m *MsgCreateDerivativeMarketOrder) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateDerivativeMarketOrder: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCreateBinaryOptionsMarketOrder: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateDerivativeMarketOrder: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCreateBinaryOptionsMarketOrder: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -14311,7 +17588,7 @@ func (m *MsgCreateDerivativeMarketOrder) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateDerivativeMarketOrderResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCreateBinaryOptionsMarketOrderResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14334,10 +17611,10 @@ func (m *MsgCreateDerivativeMarketOrderResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateDerivativeMarketOrderResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCreateBinaryOptionsMarketOrderResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateDerivativeMarketOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCreateBinaryOptionsMarketOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -14363,20 +17640,56 @@ func (m *MsgCreateDerivativeMarketOrderResponse) Unmarshal(dAtA []byte) error { if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.OrderHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Results", 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 } - m.OrderHash = string(dAtA[iNdEx:postIndex]) + if m.Results == nil { + m.Results = &DerivativeMarketOrderResults{} + } + if err := m.Results.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 2: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Results", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -14386,27 +17699,23 @@ func (m *MsgCreateDerivativeMarketOrderResponse) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Results == nil { - m.Results = &DerivativeMarketOrderResults{} - } - if err := m.Results.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Cid = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -14429,7 +17738,7 @@ func (m *MsgCreateDerivativeMarketOrderResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *DerivativeMarketOrderResults) Unmarshal(dAtA []byte) error { +func (m *MsgCancelDerivativeOrder) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14452,15 +17761,15 @@ func (m *DerivativeMarketOrderResults) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: DerivativeMarketOrderResults: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCancelDerivativeOrder: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: DerivativeMarketOrderResults: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCancelDerivativeOrder: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Quantity", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14488,13 +17797,11 @@ func (m *DerivativeMarketOrderResults) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Quantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Sender = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14522,13 +17829,11 @@ func (m *DerivativeMarketOrderResults) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.MarketId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14556,15 +17861,13 @@ func (m *DerivativeMarketOrderResults) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.SubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PositionDelta", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -14574,30 +17877,29 @@ func (m *DerivativeMarketOrderResults) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.PositionDelta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.OrderHash = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Payout", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OrderMask", wireType) } - var stringLen uint64 + m.OrderMask = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -14607,79 +17909,14 @@ func (m *DerivativeMarketOrderResults) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.OrderMask |= int32(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 - } - if err := m.Payout.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 *MsgCreateBinaryOptionsMarketOrder) 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: MsgCreateBinaryOptionsMarketOrder: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateBinaryOptionsMarketOrder: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14707,40 +17944,7 @@ func (m *MsgCreateBinaryOptionsMarketOrder) Unmarshal(dAtA []byte) error { 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 Order", 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.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Cid = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -14763,7 +17967,7 @@ func (m *MsgCreateBinaryOptionsMarketOrder) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateBinaryOptionsMarketOrderResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCancelDerivativeOrderResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14786,80 +17990,12 @@ func (m *MsgCreateBinaryOptionsMarketOrderResponse) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateBinaryOptionsMarketOrderResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCancelDerivativeOrderResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateBinaryOptionsMarketOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCancelDerivativeOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", 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.OrderHash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Results", 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.Results == nil { - m.Results = &DerivativeMarketOrderResults{} - } - if err := m.Results.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -14881,7 +18017,7 @@ func (m *MsgCreateBinaryOptionsMarketOrderResponse) Unmarshal(dAtA []byte) error } return nil } -func (m *MsgCancelDerivativeOrder) Unmarshal(dAtA []byte) error { +func (m *MsgCancelBinaryOptionsOrder) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14904,10 +18040,10 @@ func (m *MsgCancelDerivativeOrder) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCancelDerivativeOrder: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCancelBinaryOptionsOrder: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCancelDerivativeOrder: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCancelBinaryOptionsOrder: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -15110,7 +18246,7 @@ func (m *MsgCancelDerivativeOrder) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCancelDerivativeOrderResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCancelBinaryOptionsOrderResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15133,10 +18269,10 @@ func (m *MsgCancelDerivativeOrderResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCancelDerivativeOrderResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCancelBinaryOptionsOrderResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCancelDerivativeOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCancelBinaryOptionsOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -15160,7 +18296,7 @@ func (m *MsgCancelDerivativeOrderResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCancelBinaryOptionsOrder) Unmarshal(dAtA []byte) error { +func (m *OrderData) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15183,15 +18319,15 @@ func (m *MsgCancelBinaryOptionsOrder) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCancelBinaryOptionsOrder: wiretype end group for non-group") + return fmt.Errorf("proto: OrderData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCancelBinaryOptionsOrder: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: OrderData: 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) + return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15219,11 +18355,11 @@ func (m *MsgCancelBinaryOptionsOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + m.MarketId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15251,11 +18387,11 @@ func (m *MsgCancelBinaryOptionsOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MarketId = string(dAtA[iNdEx:postIndex]) + m.SubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15283,11 +18419,30 @@ func (m *MsgCancelBinaryOptionsOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SubaccountId = string(dAtA[iNdEx:postIndex]) + m.OrderHash = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OrderMask", wireType) + } + m.OrderMask = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OrderMask |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15315,13 +18470,63 @@ func (m *MsgCancelBinaryOptionsOrder) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OrderHash = string(dAtA[iNdEx:postIndex]) + m.Cid = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderMask", wireType) + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err } - m.OrderMask = 0 + 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 *MsgBatchCancelDerivativeOrders) 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: MsgBatchCancelDerivativeOrders: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBatchCancelDerivativeOrders: 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 @@ -15331,16 +18536,29 @@ func (m *MsgCancelBinaryOptionsOrder) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.OrderMask |= int32(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - case 6: + 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 Cid", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15350,23 +18568,25 @@ func (m *MsgCancelBinaryOptionsOrder) 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 ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Cid = string(dAtA[iNdEx:postIndex]) + m.Data = append(m.Data, OrderData{}) + if err := m.Data[len(m.Data)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -15389,7 +18609,7 @@ func (m *MsgCancelBinaryOptionsOrder) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCancelBinaryOptionsOrderResponse) Unmarshal(dAtA []byte) error { +func (m *MsgBatchCancelDerivativeOrdersResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15412,12 +18632,82 @@ func (m *MsgCancelBinaryOptionsOrderResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCancelBinaryOptionsOrderResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBatchCancelDerivativeOrdersResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCancelBinaryOptionsOrderResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBatchCancelDerivativeOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType == 0 { + 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.Success = append(m.Success, bool(v != 0)) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + elementCount = packedLen + if elementCount != 0 && len(m.Success) == 0 { + m.Success = make([]bool, 0, elementCount) + } + for iNdEx < postIndex { + 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.Success = append(m.Success, bool(v != 0)) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field Success", wireType) + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -15439,7 +18729,7 @@ func (m *MsgCancelBinaryOptionsOrderResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *OrderData) Unmarshal(dAtA []byte) error { +func (m *MsgSubaccountTransfer) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15462,15 +18752,15 @@ func (m *OrderData) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: OrderData: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSubaccountTransfer: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: OrderData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSubaccountTransfer: 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 Sender", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15498,11 +18788,11 @@ func (m *OrderData) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MarketId = string(dAtA[iNdEx:postIndex]) + m.Sender = string(dAtA[iNdEx:postIndex]) 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 SourceSubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15530,11 +18820,11 @@ func (m *OrderData) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SubaccountId = string(dAtA[iNdEx:postIndex]) + m.SourceSubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DestinationSubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15562,32 +18852,13 @@ func (m *OrderData) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OrderHash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderMask", wireType) - } - m.OrderMask = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.OrderMask |= int32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: + m.DestinationSubaccountId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Cid", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15597,23 +18868,24 @@ func (m *OrderData) 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 ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Cid = string(dAtA[iNdEx:postIndex]) + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -15636,7 +18908,7 @@ func (m *OrderData) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBatchCancelDerivativeOrders) Unmarshal(dAtA []byte) error { +func (m *MsgSubaccountTransferResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15659,10 +18931,60 @@ func (m *MsgBatchCancelDerivativeOrders) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCancelDerivativeOrders: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSubaccountTransferResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCancelDerivativeOrders: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSubaccountTransferResponse: 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 *MsgExternalTransfer) 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: MsgExternalTransfer: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgExternalTransfer: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -15699,9 +19021,9 @@ func (m *MsgBatchCancelDerivativeOrders) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SourceSubaccountId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15711,146 +19033,139 @@ func (m *MsgBatchCancelDerivativeOrders) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Data = append(m.Data, OrderData{}) - if err := m.Data[len(m.Data)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.SourceSubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DestinationSubaccountId", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx + 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 + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgBatchCancelDerivativeOrdersResponse) 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 + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + m.DestinationSubaccountId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgBatchCancelDerivativeOrdersResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBatchCancelDerivativeOrdersResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType == 0 { - 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.Success = append(m.Success, bool(v != 0)) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthTx + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx } - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - var elementCount int - elementCount = packedLen - if elementCount != 0 && len(m.Success) == 0 { - m.Success = make([]bool, 0, elementCount) - } - for iNdEx < postIndex { - 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.Success = append(m.Success, bool(v != 0)) + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field Success", wireType) } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Amount.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 *MsgExternalTransferResponse) 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: MsgExternalTransferResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgExternalTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -15872,7 +19187,7 @@ func (m *MsgBatchCancelDerivativeOrdersResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSubaccountTransfer) Unmarshal(dAtA []byte) error { +func (m *MsgLiquidatePosition) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15895,10 +19210,10 @@ func (m *MsgSubaccountTransfer) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSubaccountTransfer: wiretype end group for non-group") + return fmt.Errorf("proto: MsgLiquidatePosition: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSubaccountTransfer: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgLiquidatePosition: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -15935,7 +19250,7 @@ func (m *MsgSubaccountTransfer) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SourceSubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15963,11 +19278,11 @@ func (m *MsgSubaccountTransfer) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SourceSubaccountId = string(dAtA[iNdEx:postIndex]) + m.SubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DestinationSubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15995,11 +19310,11 @@ func (m *MsgSubaccountTransfer) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.DestinationSubaccountId = string(dAtA[iNdEx:postIndex]) + m.MarketId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Order", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -16026,7 +19341,10 @@ func (m *MsgSubaccountTransfer) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.Order == nil { + m.Order = &DerivativeOrder{} + } + if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -16051,7 +19369,7 @@ func (m *MsgSubaccountTransfer) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSubaccountTransferResponse) Unmarshal(dAtA []byte) error { +func (m *MsgLiquidatePositionResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16074,10 +19392,10 @@ func (m *MsgSubaccountTransferResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSubaccountTransferResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgLiquidatePositionResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSubaccountTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgLiquidatePositionResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -16101,7 +19419,7 @@ func (m *MsgSubaccountTransferResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgExternalTransfer) Unmarshal(dAtA []byte) error { +func (m *MsgEmergencySettleMarket) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16124,10 +19442,10 @@ func (m *MsgExternalTransfer) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgExternalTransfer: wiretype end group for non-group") + return fmt.Errorf("proto: MsgEmergencySettleMarket: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgExternalTransfer: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgEmergencySettleMarket: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -16164,7 +19482,7 @@ func (m *MsgExternalTransfer) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SourceSubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16192,11 +19510,11 @@ func (m *MsgExternalTransfer) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SourceSubaccountId = string(dAtA[iNdEx:postIndex]) + m.SubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DestinationSubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16224,40 +19542,7 @@ func (m *MsgExternalTransfer) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.DestinationSubaccountId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", 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.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.MarketId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -16280,7 +19565,7 @@ func (m *MsgExternalTransfer) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgExternalTransferResponse) Unmarshal(dAtA []byte) error { +func (m *MsgEmergencySettleMarketResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16303,10 +19588,10 @@ func (m *MsgExternalTransferResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgExternalTransferResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgEmergencySettleMarketResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgExternalTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgEmergencySettleMarketResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -16330,7 +19615,7 @@ func (m *MsgExternalTransferResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgLiquidatePosition) Unmarshal(dAtA []byte) error { +func (m *MsgIncreasePositionMargin) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16353,10 +19638,10 @@ func (m *MsgLiquidatePosition) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgLiquidatePosition: wiretype end group for non-group") + return fmt.Errorf("proto: MsgIncreasePositionMargin: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgLiquidatePosition: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgIncreasePositionMargin: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -16393,7 +19678,7 @@ func (m *MsgLiquidatePosition) 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 SourceSubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16421,11 +19706,11 @@ func (m *MsgLiquidatePosition) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SubaccountId = string(dAtA[iNdEx:postIndex]) + m.SourceSubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DestinationSubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16453,13 +19738,13 @@ func (m *MsgLiquidatePosition) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MarketId = string(dAtA[iNdEx:postIndex]) + m.DestinationSubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Order", 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 ErrIntOverflowTx @@ -16469,25 +19754,55 @@ func (m *MsgLiquidatePosition) 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 ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Order == nil { - m.Order = &DerivativeOrder{} + m.MarketId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } - if err := m.Order.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + 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 + } + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -16512,7 +19827,7 @@ func (m *MsgLiquidatePosition) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgLiquidatePositionResponse) Unmarshal(dAtA []byte) error { +func (m *MsgIncreasePositionMarginResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16535,10 +19850,10 @@ func (m *MsgLiquidatePositionResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgLiquidatePositionResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgIncreasePositionMarginResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgLiquidatePositionResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgIncreasePositionMarginResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -16562,7 +19877,7 @@ func (m *MsgLiquidatePositionResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgEmergencySettleMarket) Unmarshal(dAtA []byte) error { +func (m *MsgDecreasePositionMargin) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16585,15 +19900,79 @@ func (m *MsgEmergencySettleMarket) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgEmergencySettleMarket: wiretype end group for non-group") + return fmt.Errorf("proto: MsgDecreasePositionMargin: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEmergencySettleMarket: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgDecreasePositionMargin: 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) + 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 SourceSubaccountId", 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.SourceSubaccountId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DestinationSubaccountId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16621,11 +20000,11 @@ func (m *MsgEmergencySettleMarket) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + m.DestinationSubaccountId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + case 4: 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 { @@ -16653,11 +20032,11 @@ func (m *MsgEmergencySettleMarket) 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 3: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16685,7 +20064,9 @@ func (m *MsgEmergencySettleMarket) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MarketId = string(dAtA[iNdEx:postIndex]) + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -16708,7 +20089,7 @@ func (m *MsgEmergencySettleMarket) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgEmergencySettleMarketResponse) Unmarshal(dAtA []byte) error { +func (m *MsgDecreasePositionMarginResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16731,10 +20112,10 @@ func (m *MsgEmergencySettleMarketResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgEmergencySettleMarketResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgDecreasePositionMarginResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEmergencySettleMarketResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgDecreasePositionMarginResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -16758,7 +20139,7 @@ func (m *MsgEmergencySettleMarketResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgIncreasePositionMargin) Unmarshal(dAtA []byte) error { +func (m *MsgPrivilegedExecuteContract) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16781,10 +20162,10 @@ func (m *MsgIncreasePositionMargin) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgIncreasePositionMargin: wiretype end group for non-group") + return fmt.Errorf("proto: MsgPrivilegedExecuteContract: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgIncreasePositionMargin: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgPrivilegedExecuteContract: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -16821,7 +20202,7 @@ func (m *MsgIncreasePositionMargin) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SourceSubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Funds", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16849,11 +20230,11 @@ func (m *MsgIncreasePositionMargin) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SourceSubaccountId = string(dAtA[iNdEx:postIndex]) + m.Funds = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DestinationSubaccountId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ContractAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16881,11 +20262,11 @@ func (m *MsgIncreasePositionMargin) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.DestinationSubaccountId = string(dAtA[iNdEx:postIndex]) + m.ContractAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MarketId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16913,11 +20294,145 @@ func (m *MsgIncreasePositionMargin) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MarketId = string(dAtA[iNdEx:postIndex]) + m.Data = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: + 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 *MsgPrivilegedExecuteContractResponse) 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: MsgPrivilegedExecuteContractResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgPrivilegedExecuteContractResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FundsDiff", 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 + } + m.FundsDiff = append(m.FundsDiff, types.Coin{}) + if err := m.FundsDiff[len(m.FundsDiff)-1].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 *MsgRewardsOptOut) 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: MsgRewardsOptOut: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRewardsOptOut: 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 { @@ -16945,9 +20460,7 @@ func (m *MsgIncreasePositionMargin) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Sender = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -16970,7 +20483,7 @@ func (m *MsgIncreasePositionMargin) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgIncreasePositionMarginResponse) Unmarshal(dAtA []byte) error { +func (m *MsgRewardsOptOutResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16993,10 +20506,10 @@ func (m *MsgIncreasePositionMarginResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgIncreasePositionMarginResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRewardsOptOutResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgIncreasePositionMarginResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRewardsOptOutResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -17020,7 +20533,7 @@ func (m *MsgIncreasePositionMarginResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgPrivilegedExecuteContract) Unmarshal(dAtA []byte) error { +func (m *MsgReclaimLockedFunds) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17043,10 +20556,10 @@ func (m *MsgPrivilegedExecuteContract) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgPrivilegedExecuteContract: wiretype end group for non-group") + return fmt.Errorf("proto: MsgReclaimLockedFunds: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPrivilegedExecuteContract: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgReclaimLockedFunds: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -17083,9 +20596,9 @@ func (m *MsgPrivilegedExecuteContract) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Funds", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field LockedAccountPubKey", wireType) } - var stringLen uint64 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -17095,29 +20608,31 @@ func (m *MsgPrivilegedExecuteContract) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if byteLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + byteLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Funds = string(dAtA[iNdEx:postIndex]) + m.LockedAccountPubKey = append(m.LockedAccountPubKey[:0], dAtA[iNdEx:postIndex]...) + if m.LockedAccountPubKey == nil { + m.LockedAccountPubKey = []byte{} + } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ContractAddress", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Signature", wireType) } - var stringLen uint64 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -17127,55 +20642,25 @@ func (m *MsgPrivilegedExecuteContract) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if byteLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + byteLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.ContractAddress = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", 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.Signature = append(m.Signature[:0], dAtA[iNdEx:postIndex]...) + if m.Signature == nil { + m.Signature = []byte{} } - m.Data = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -17198,7 +20683,7 @@ func (m *MsgPrivilegedExecuteContract) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgPrivilegedExecuteContractResponse) Unmarshal(dAtA []byte) error { +func (m *MsgReclaimLockedFundsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17221,46 +20706,12 @@ func (m *MsgPrivilegedExecuteContractResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgPrivilegedExecuteContractResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgReclaimLockedFundsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPrivilegedExecuteContractResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgReclaimLockedFundsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field FundsDiff", 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 - } - m.FundsDiff = append(m.FundsDiff, types.Coin{}) - if err := m.FundsDiff[len(m.FundsDiff)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -17282,7 +20733,7 @@ func (m *MsgPrivilegedExecuteContractResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRewardsOptOut) Unmarshal(dAtA []byte) error { +func (m *MsgSignData) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17305,17 +20756,17 @@ func (m *MsgRewardsOptOut) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRewardsOptOut: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSignData: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRewardsOptOut: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSignData: 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) + return fmt.Errorf("proto: wrong wireType = %d for field Signer", wireType) } - var stringLen uint64 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -17325,23 +20776,59 @@ func (m *MsgRewardsOptOut) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if byteLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + byteLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Sender = string(dAtA[iNdEx:postIndex]) + m.Signer = append(m.Signer[:0], dAtA[iNdEx:postIndex]...) + if m.Signer == nil { + m.Signer = []byte{} + } + iNdEx = postIndex + case 2: + 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 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.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) + if m.Data == nil { + m.Data = []byte{} + } iNdEx = postIndex default: iNdEx = preIndex @@ -17364,7 +20851,7 @@ func (m *MsgRewardsOptOut) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRewardsOptOutResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSignDoc) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17387,12 +20874,77 @@ func (m *MsgRewardsOptOutResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRewardsOptOutResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSignDoc: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRewardsOptOutResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSignDoc: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SignType", 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.SignType = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", 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.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -17414,7 +20966,7 @@ func (m *MsgRewardsOptOutResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgReclaimLockedFunds) Unmarshal(dAtA []byte) error { +func (m *MsgAdminUpdateBinaryOptionsMarket) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17437,10 +20989,10 @@ func (m *MsgReclaimLockedFunds) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgReclaimLockedFunds: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAdminUpdateBinaryOptionsMarket: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgReclaimLockedFunds: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAdminUpdateBinaryOptionsMarket: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -17477,9 +21029,96 @@ func (m *MsgReclaimLockedFunds) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LockedAccountPubKey", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MarketId", 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.MarketId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SettlementPrice", 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 + } + var v cosmossdk_io_math.LegacyDec + m.SettlementPrice = &v + if err := m.SettlementPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ExpirationTimestamp", wireType) + } + m.ExpirationTimestamp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ExpirationTimestamp |= int64(b&0x7F) << shift + if b < 0x80 { + break + } } - var byteLen int + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SettlementTimestamp", wireType) + } + m.SettlementTimestamp = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -17489,31 +21128,16 @@ func (m *MsgReclaimLockedFunds) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + m.SettlementTimestamp |= int64(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.LockedAccountPubKey = append(m.LockedAccountPubKey[:0], dAtA[iNdEx:postIndex]...) - if m.LockedAccountPubKey == nil { - m.LockedAccountPubKey = []byte{} - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Signature", wireType) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) } - var byteLen int + m.Status = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -17523,26 +21147,11 @@ func (m *MsgReclaimLockedFunds) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + m.Status |= MarketStatus(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.Signature = append(m.Signature[:0], dAtA[iNdEx:postIndex]...) - if m.Signature == nil { - m.Signature = []byte{} - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -17564,7 +21173,7 @@ func (m *MsgReclaimLockedFunds) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgReclaimLockedFundsResponse) Unmarshal(dAtA []byte) error { +func (m *MsgAdminUpdateBinaryOptionsMarketResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17587,10 +21196,10 @@ func (m *MsgReclaimLockedFundsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgReclaimLockedFundsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAdminUpdateBinaryOptionsMarketResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgReclaimLockedFundsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAdminUpdateBinaryOptionsMarketResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -17614,7 +21223,7 @@ func (m *MsgReclaimLockedFundsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSignData) Unmarshal(dAtA []byte) error { +func (m *MsgAuthorizeStakeGrants) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17637,17 +21246,17 @@ func (m *MsgSignData) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSignData: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAuthorizeStakeGrants: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSignData: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAuthorizeStakeGrants: 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) + return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) } - var byteLen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -17657,31 +21266,29 @@ func (m *MsgSignData) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + byteLen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Signer = append(m.Signer[:0], dAtA[iNdEx:postIndex]...) - if m.Signer == nil { - m.Signer = []byte{} - } + m.Sender = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Grants", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -17691,24 +21298,24 @@ func (m *MsgSignData) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + if msglen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + byteLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) - if m.Data == nil { - m.Data = []byte{} + m.Grants = append(m.Grants, &GrantAuthorization{}) + if err := m.Grants[len(m.Grants)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex default: @@ -17732,7 +21339,7 @@ func (m *MsgSignData) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSignDoc) Unmarshal(dAtA []byte) error { +func (m *MsgAuthorizeStakeGrantsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17755,77 +21362,12 @@ func (m *MsgSignDoc) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSignDoc: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAuthorizeStakeGrantsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSignDoc: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAuthorizeStakeGrantsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SignType", 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.SignType = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Value", 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.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -17847,7 +21389,7 @@ func (m *MsgSignDoc) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAdminUpdateBinaryOptionsMarket) Unmarshal(dAtA []byte) error { +func (m *MsgActivateStakeGrant) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17870,10 +21412,10 @@ func (m *MsgAdminUpdateBinaryOptionsMarket) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAdminUpdateBinaryOptionsMarket: wiretype end group for non-group") + return fmt.Errorf("proto: MsgActivateStakeGrant: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAdminUpdateBinaryOptionsMarket: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgActivateStakeGrant: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -17910,39 +21452,7 @@ func (m *MsgAdminUpdateBinaryOptionsMarket) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: 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 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.MarketId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SettlementPrice", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Granter", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -17970,69 +21480,8 @@ func (m *MsgAdminUpdateBinaryOptionsMarket) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec - m.SettlementPrice = &v - if err := m.SettlementPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Granter = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ExpirationTimestamp", wireType) - } - m.ExpirationTimestamp = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ExpirationTimestamp |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SettlementTimestamp", wireType) - } - m.SettlementTimestamp = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.SettlementTimestamp |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) - } - m.Status = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Status |= MarketStatus(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -18054,7 +21503,7 @@ func (m *MsgAdminUpdateBinaryOptionsMarket) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAdminUpdateBinaryOptionsMarketResponse) Unmarshal(dAtA []byte) error { +func (m *MsgActivateStakeGrantResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18077,10 +21526,10 @@ func (m *MsgAdminUpdateBinaryOptionsMarketResponse) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAdminUpdateBinaryOptionsMarketResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgActivateStakeGrantResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAdminUpdateBinaryOptionsMarketResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgActivateStakeGrantResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: diff --git a/chain/exchange/types/volume_record.go b/chain/exchange/types/volume_record.go index 65729e9f..432d6f43 100644 --- a/chain/exchange/types/volume_record.go +++ b/chain/exchange/types/volume_record.go @@ -1,10 +1,10 @@ package types import ( - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" ) -func NewVolumeRecord(makerVolume, takerVolume sdk.Dec) VolumeRecord { +func NewVolumeRecord(makerVolume, takerVolume math.LegacyDec) VolumeRecord { return VolumeRecord{ MakerVolume: makerVolume, TakerVolume: takerVolume, @@ -12,16 +12,16 @@ func NewVolumeRecord(makerVolume, takerVolume sdk.Dec) VolumeRecord { } func NewZeroVolumeRecord() VolumeRecord { - return NewVolumeRecord(sdk.ZeroDec(), sdk.ZeroDec()) + return NewVolumeRecord(math.LegacyZeroDec(), math.LegacyZeroDec()) } func (v VolumeRecord) Add(record VolumeRecord) VolumeRecord { if v.MakerVolume.IsNil() { - v.MakerVolume = sdk.ZeroDec() + v.MakerVolume = math.LegacyZeroDec() } if v.TakerVolume.IsNil() { - v.TakerVolume = sdk.ZeroDec() + v.TakerVolume = math.LegacyZeroDec() } if record.IsZero() { @@ -45,8 +45,8 @@ func (v *VolumeRecord) IsZero() bool { return (v.TakerVolume.IsNil() || v.TakerVolume.IsZero()) && (v.MakerVolume.IsNil() || v.MakerVolume.IsZero()) } -func (v *VolumeRecord) Total() sdk.Dec { - totalVolume := sdk.ZeroDec() +func (v *VolumeRecord) Total() math.LegacyDec { + totalVolume := math.LegacyZeroDec() if !v.TakerVolume.IsNil() { totalVolume = totalVolume.Add(v.TakerVolume) } @@ -56,9 +56,9 @@ func (v *VolumeRecord) Total() sdk.Dec { return totalVolume } -func NewVolumeWithSingleType(volume sdk.Dec, isMaker bool) VolumeRecord { +func NewVolumeWithSingleType(volume math.LegacyDec, isMaker bool) VolumeRecord { if isMaker { - return NewVolumeRecord(volume, sdk.ZeroDec()) + return NewVolumeRecord(volume, math.LegacyZeroDec()) } - return NewVolumeRecord(sdk.ZeroDec(), volume) + return NewVolumeRecord(math.LegacyZeroDec(), volume) } diff --git a/chain/exchange/types/wasm_trade_summary.go b/chain/exchange/types/wasm_trade_summary.go index c11c7c1f..c5057bb5 100644 --- a/chain/exchange/types/wasm_trade_summary.go +++ b/chain/exchange/types/wasm_trade_summary.go @@ -4,25 +4,26 @@ import ( "bytes" "sort" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/ethereum/go-ethereum/common" ) type MarketSummary struct { - TotalUserQuantity sdk.Dec - TotalContractQuantity sdk.Dec - TotalUserMargin sdk.Dec - TotalContractMargin sdk.Dec - netQuantity sdk.Dec + TotalUserQuantity math.LegacyDec + TotalContractQuantity math.LegacyDec + TotalUserMargin math.LegacyDec + TotalContractMargin math.LegacyDec + netQuantity math.LegacyDec } func NewMarketSummary() *MarketSummary { return &MarketSummary{ - TotalUserQuantity: sdk.ZeroDec(), - TotalContractQuantity: sdk.ZeroDec(), - TotalUserMargin: sdk.ZeroDec(), - TotalContractMargin: sdk.ZeroDec(), - netQuantity: sdk.ZeroDec(), + TotalUserQuantity: math.LegacyZeroDec(), + TotalContractQuantity: math.LegacyZeroDec(), + TotalUserMargin: math.LegacyZeroDec(), + TotalContractMargin: math.LegacyZeroDec(), + netQuantity: math.LegacyZeroDec(), } } diff --git a/chain/exchange/types/wasm_trades.go b/chain/exchange/types/wasm_trades.go index 045a5d0b..b98311c5 100644 --- a/chain/exchange/types/wasm_trades.go +++ b/chain/exchange/types/wasm_trades.go @@ -1,15 +1,15 @@ package types import ( - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" "github.com/ethereum/go-ethereum/common" ) type PositionTransfer struct { - MarketID common.Hash `json:"market_id"` - SourceSubaccountID common.Hash `json:"source_subaccount_id"` - DestinationSubaccountID common.Hash `json:"destination_subaccount_id"` - Quantity sdk.Dec `json:"quantity"` + MarketID common.Hash `json:"market_id"` + SourceSubaccountID common.Hash `json:"source_subaccount_id"` + DestinationSubaccountID common.Hash `json:"destination_subaccount_id"` + Quantity math.LegacyDec `json:"quantity"` } func (p *PositionTransfer) ValidateBasic() error { @@ -50,12 +50,12 @@ func (a *SyntheticTradeAction) ValidateBasic() error { } type SyntheticTrade struct { - MarketID common.Hash `json:"market_id"` - SubaccountID common.Hash `json:"subaccount_id"` - IsBuy bool `json:"is_buy"` - Quantity sdk.Dec `json:"quantity"` - Price sdk.Dec `json:"price"` - Margin sdk.Dec `json:"margin"` + MarketID common.Hash `json:"market_id"` + SubaccountID common.Hash `json:"subaccount_id"` + IsBuy bool `json:"is_buy"` + Quantity math.LegacyDec `json:"quantity"` + Price math.LegacyDec `json:"price"` + Margin math.LegacyDec `json:"margin"` } func (t *SyntheticTrade) Validate() error { diff --git a/chain/insurance/types/codec.go b/chain/insurance/types/codec.go index 70d5be8a..b20eff35 100644 --- a/chain/insurance/types/codec.go +++ b/chain/insurance/types/codec.go @@ -16,6 +16,8 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgUnderwrite{}, "insurance/MsgUnderwrite", nil) cdc.RegisterConcrete(&MsgRequestRedemption{}, "insurance/MsgRequestRedemption", nil) cdc.RegisterConcrete(&MsgUpdateParams{}, "insurance/MsgUpdateParams", nil) + cdc.RegisterConcrete(&Params{}, "insurance/Params", nil) + } func RegisterInterfaces(registry types.InterfaceRegistry) { @@ -30,21 +32,19 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { } var ( - amino = codec.NewLegacyAmino() - // ModuleCdc references the global x/insurance module codec. Note, the codec should // ONLY be used in certain instances of tests and for JSON encoding as Amino is // still used for that purpose. // // The actual codec used for serialization should be provided to x/insurance and // defined at the application level. - ModuleCdc = codec.NewAminoCodec(amino) + ModuleCdc = codec.NewLegacyAmino() ) func init() { - RegisterLegacyAminoCodec(amino) - cryptocodec.RegisterCrypto(amino) - amino.Seal() + RegisterLegacyAminoCodec(ModuleCdc) + cryptocodec.RegisterCrypto(ModuleCdc) + ModuleCdc.Seal() RegisterLegacyAminoCodec(authzcdc.Amino) } diff --git a/chain/insurance/types/expected_keepers.go b/chain/insurance/types/expected_keepers.go index b52a739f..0e5195ef 100644 --- a/chain/insurance/types/expected_keepers.go +++ b/chain/insurance/types/expected_keepers.go @@ -1,18 +1,20 @@ package types import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" ) // BankKeeper defines the expected bank keeper methods type BankKeeper interface { - GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin - GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins - SendCoinsFromModuleToModule(ctx sdk.Context, senderModule, recipientModule string, amt sdk.Coins) error - 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 - MintCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error - BurnCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error - SetDenomMetaData(ctx sdk.Context, denomMeta banktypes.Metadata) + GetBalance(ctx context.Context, addr sdk.AccAddress, denom string) sdk.Coin + GetAllBalances(ctx context.Context, addr sdk.AccAddress) sdk.Coins + SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error + SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error + MintCoins(ctx context.Context, moduleName string, amt sdk.Coins) error + BurnCoins(ctx context.Context, moduleName string, amt sdk.Coins) error + SetDenomMetaData(ctx context.Context, denomMeta banktypes.Metadata) } diff --git a/chain/insurance/types/insurance.pb.go b/chain/insurance/types/insurance.pb.go index 3756d555..b278e24e 100644 --- a/chain/insurance/types/insurance.pb.go +++ b/chain/insurance/types/insurance.pb.go @@ -4,10 +4,11 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" 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/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types" @@ -88,9 +89,9 @@ type InsuranceFund struct { // 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"` + Balance cosmossdk_io_math.Int `protobuf:"bytes,4,opt,name=balance,proto3,customtype=cosmossdk.io/math.Int" json:"balance"` // total share tokens minted - TotalShare github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,5,opt,name=total_share,json=totalShare,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"total_share"` + TotalShare cosmossdk_io_math.Int `protobuf:"bytes,5,opt,name=total_share,json=totalShare,proto3,customtype=cosmossdk.io/math.Int" json:"total_share"` // marketID of the derivative market MarketId string `protobuf:"bytes,6,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` // ticker of the derivative market @@ -296,53 +297,55 @@ func init() { } var fileDescriptor_dbc47a7b76393948 = []byte{ - // 736 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0x31, 0x6f, 0xd3, 0x40, - 0x14, 0x8e, 0xd3, 0x34, 0x6d, 0x2e, 0x6d, 0x05, 0x27, 0x44, 0xdd, 0x54, 0x72, 0xd2, 0x40, 0x51, - 0x10, 0xd4, 0xa6, 0x85, 0xa9, 0xb0, 0x10, 0x0a, 0x22, 0x52, 0x45, 0x8b, 0x9b, 0x89, 0xc5, 0x3a, - 0xdb, 0xd7, 0xe4, 0x88, 0xed, 0x33, 0xf6, 0xb9, 0x22, 0x3b, 0x33, 0xea, 0x88, 0x98, 0xf8, 0x0b, - 0xfd, 0x0b, 0x4c, 0x1d, 0x3b, 0x22, 0x86, 0x82, 0xda, 0x85, 0x99, 0x5f, 0x80, 0xee, 0x7c, 0xb6, - 0x23, 0x10, 0xb4, 0x62, 0xb2, 0xdf, 0x7b, 0xdf, 0x7b, 0xf7, 0xee, 0x7b, 0xdf, 0x3b, 0x70, 0x87, - 0x04, 0xaf, 0xb1, 0xc3, 0xc8, 0x01, 0x36, 0x48, 0x10, 0x27, 0x11, 0x0a, 0x1c, 0x6c, 0x1c, 0xac, - 0xdb, 0x98, 0xa1, 0xf5, 0xc2, 0xa3, 0x87, 0x11, 0x65, 0x14, 0x2e, 0xe7, 0x60, 0xbd, 0x08, 0x49, - 0x70, 0xe3, 0xda, 0x80, 0x0e, 0xa8, 0xc0, 0x19, 0xfc, 0x2f, 0x4d, 0x69, 0x68, 0x03, 0x4a, 0x07, - 0x1e, 0x36, 0x84, 0x65, 0x27, 0xfb, 0x86, 0x9b, 0x44, 0x88, 0x11, 0x1a, 0xc8, 0x78, 0xf3, 0xf7, - 0x38, 0x23, 0x3e, 0x8e, 0x19, 0xf2, 0xc3, 0xac, 0x80, 0x43, 0x63, 0x9f, 0xc6, 0x86, 0x8d, 0xe2, - 0xa2, 0x31, 0x87, 0x92, 0xac, 0xc0, 0x6a, 0x71, 0x01, 0x1a, 0x21, 0xc7, 0x2b, 0x40, 0xa9, 0x99, - 0xc2, 0xda, 0x9f, 0x15, 0x50, 0xdd, 0x45, 0x11, 0xf2, 0x63, 0x78, 0xa4, 0x80, 0xdb, 0x2e, 0xde, - 0x47, 0x89, 0xc7, 0xac, 0x08, 0xbb, 0xd8, 0x0f, 0x79, 0x3f, 0x56, 0x40, 0x19, 0x71, 0xb0, 0x15, - 0xe2, 0x88, 0x50, 0xd7, 0xca, 0xda, 0x54, 0x95, 0x96, 0xd2, 0xa9, 0x6f, 0x2c, 0xe9, 0x69, 0x9f, - 0x7a, 0xd6, 0xa7, 0xbe, 0x25, 0x01, 0xdd, 0x47, 0xc7, 0xa7, 0xcd, 0xd2, 0xcf, 0xd3, 0xe6, 0xbd, - 0x31, 0xf2, 0xbd, 0xcd, 0xf6, 0xa5, 0x2b, 0xb7, 0x3f, 0x7c, 0x6b, 0x2a, 0xe6, 0xaa, 0xc4, 0x9b, - 0x39, 0xfc, 0x85, 0x40, 0xef, 0x0a, 0x70, 0x76, 0xc8, 0x66, 0xe5, 0xc7, 0xa7, 0xa6, 0xd2, 0x7e, - 0x3f, 0x0d, 0xe6, 0x7b, 0x19, 0xf1, 0xcf, 0x92, 0xc0, 0x85, 0x37, 0xc0, 0xbc, 0x8b, 0x43, 0x1a, - 0x13, 0x66, 0xb9, 0x38, 0xa0, 0xbe, 0x68, 0xb7, 0x66, 0xce, 0x49, 0xe7, 0x16, 0xf7, 0xc1, 0x87, - 0xa0, 0x91, 0x8f, 0xcb, 0x0a, 0x29, 0xf5, 0x2c, 0x46, 0x47, 0x38, 0x90, 0x19, 0x65, 0x91, 0xb1, - 0x98, 0x23, 0x76, 0x29, 0xf5, 0xfa, 0x3c, 0x9e, 0x26, 0x7f, 0x54, 0xc0, 0xca, 0xc5, 0x2c, 0x4d, - 0x5d, 0xc4, 0xd2, 0x03, 0xc9, 0x52, 0x27, 0x65, 0xe9, 0x92, 0xec, 0x68, 0xd1, 0x3f, 0x69, 0x81, - 0xcf, 0xc1, 0x8c, 0x8d, 0x3c, 0xde, 0xb5, 0x5a, 0xe1, 0xd7, 0xe8, 0xea, 0xfc, 0x98, 0xaf, 0xa7, - 0xcd, 0x5b, 0x03, 0xc2, 0x86, 0x89, 0xad, 0x3b, 0xd4, 0x37, 0xa4, 0x80, 0xd2, 0xcf, 0x5a, 0xec, - 0x8e, 0x0c, 0x36, 0x0e, 0x71, 0xac, 0xf7, 0x02, 0x66, 0x66, 0xe9, 0x70, 0x07, 0xd4, 0x19, 0x65, - 0xc8, 0xb3, 0xe2, 0x21, 0x8a, 0xb0, 0x3a, 0xfd, 0x5f, 0xd5, 0x80, 0x28, 0xb1, 0xc7, 0x2b, 0xc0, - 0x65, 0x50, 0xf3, 0x51, 0x34, 0xc2, 0xcc, 0x22, 0xae, 0x5a, 0x15, 0x1c, 0xcf, 0xa6, 0x8e, 0x9e, - 0x18, 0x9b, 0x0c, 0x32, 0xe2, 0x8c, 0x70, 0xa4, 0xce, 0xa4, 0x63, 0x4b, 0x9d, 0x7d, 0xe1, 0x83, - 0x4d, 0x50, 0x4f, 0x25, 0x6c, 0x71, 0xed, 0xab, 0xb3, 0x02, 0x02, 0x52, 0x57, 0x17, 0xc5, 0x18, - 0xae, 0x80, 0x39, 0x09, 0x78, 0x93, 0x50, 0x86, 0xd5, 0x9a, 0x40, 0xc8, 0xa4, 0x97, 0xdc, 0x05, - 0x9f, 0xe6, 0x35, 0x78, 0x97, 0x2a, 0x68, 0x29, 0x9d, 0x85, 0x8d, 0x9b, 0x7a, 0xb1, 0xc7, 0x72, - 0x49, 0xe4, 0xce, 0xe8, 0x3b, 0xc2, 0xec, 0x8f, 0x43, 0x9c, 0x9d, 0xc4, 0xff, 0xe1, 0x75, 0x50, - 0xc5, 0x6f, 0x43, 0x12, 0x8d, 0xd5, 0x7a, 0x4b, 0xe9, 0x4c, 0x99, 0xd2, 0x6a, 0x1f, 0x95, 0x01, - 0x2c, 0x94, 0xbb, 0xe7, 0x0c, 0xb1, 0x9b, 0x78, 0x18, 0x2e, 0x80, 0x32, 0x71, 0x85, 0x14, 0x2b, - 0x66, 0x99, 0xb8, 0xb0, 0x01, 0xf2, 0xab, 0x4b, 0xb9, 0x15, 0x54, 0x34, 0xc0, 0x2c, 0x1f, 0x32, - 0xf6, 0x71, 0x24, 0x54, 0x54, 0x33, 0x73, 0x1b, 0xbe, 0x53, 0xc0, 0x92, 0xe3, 0x21, 0xe2, 0x23, - 0xdb, 0xc3, 0x93, 0x1b, 0xc5, 0x1f, 0x09, 0x31, 0xf1, 0xfa, 0x46, 0xe3, 0x0f, 0xcd, 0xf5, 0xb3, - 0x17, 0xa4, 0x7b, 0x57, 0x8a, 0xae, 0x95, 0x8a, 0xee, 0xaf, 0xa5, 0xda, 0x87, 0x5c, 0x6c, 0x8b, - 0x79, 0xbc, 0xb8, 0x12, 0xaf, 0x05, 0xb7, 0xc1, 0xd5, 0x89, 0x04, 0xe4, 0xd3, 0x24, 0x60, 0x42, - 0x21, 0x5c, 0xf1, 0xa9, 0x10, 0x74, 0x3e, 0xa2, 0x9c, 0xc5, 0x27, 0x94, 0x04, 0xdd, 0x0a, 0x3f, - 0xdc, 0xbc, 0x52, 0x64, 0x3e, 0x16, 0x89, 0x5d, 0x72, 0x7c, 0xa6, 0x29, 0x27, 0x67, 0x9a, 0xf2, - 0xfd, 0x4c, 0x53, 0x0e, 0xcf, 0xb5, 0xd2, 0xc9, 0xb9, 0x56, 0xfa, 0x72, 0xae, 0x95, 0x5e, 0xed, - 0x4c, 0xc8, 0xac, 0x97, 0x4d, 0x68, 0x1b, 0xd9, 0xb1, 0x91, 0xcf, 0x6b, 0xcd, 0xa1, 0x11, 0x9e, - 0x34, 0x87, 0x88, 0x04, 0x86, 0x4f, 0x39, 0xed, 0xf1, 0xc4, 0x0b, 0x2e, 0x34, 0x69, 0x57, 0x05, - 0x27, 0xf7, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x78, 0x7e, 0xa2, 0xae, 0xe5, 0x05, 0x00, 0x00, + // 759 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0x41, 0x6f, 0xd3, 0x48, + 0x14, 0x8e, 0xd3, 0x6c, 0xda, 0x4c, 0xda, 0xaa, 0x1d, 0xed, 0x6e, 0xdd, 0x54, 0xeb, 0xa4, 0xd9, + 0xad, 0x94, 0xdd, 0x05, 0x9b, 0x16, 0x24, 0xa4, 0x82, 0x90, 0x08, 0x05, 0x29, 0x52, 0x45, 0x8b, + 0x9b, 0x13, 0x17, 0x6b, 0x6c, 0x4f, 0x93, 0x21, 0xb6, 0xc7, 0xd8, 0xe3, 0x8a, 0xdc, 0x39, 0x71, + 0xea, 0x11, 0x71, 0xe2, 0x27, 0xd0, 0x7f, 0xd1, 0x63, 0x6f, 0x20, 0x0e, 0x05, 0xb5, 0x07, 0x38, + 0x70, 0xe2, 0x17, 0xa0, 0x19, 0x8f, 0xed, 0x08, 0x04, 0xed, 0xc5, 0xf2, 0x7b, 0xef, 0x7b, 0x6f, + 0xde, 0xfb, 0xde, 0x37, 0x03, 0xfe, 0x27, 0xc1, 0x13, 0xec, 0x30, 0x72, 0x80, 0x0d, 0x12, 0xc4, + 0x49, 0x84, 0x02, 0x07, 0x1b, 0x07, 0xeb, 0x36, 0x66, 0x68, 0xbd, 0xf0, 0xe8, 0x61, 0x44, 0x19, + 0x85, 0x2b, 0x39, 0x58, 0x2f, 0x42, 0x12, 0xdc, 0xf8, 0x7d, 0x40, 0x07, 0x54, 0xe0, 0x0c, 0xfe, + 0x97, 0xa6, 0x34, 0xb4, 0x01, 0xa5, 0x03, 0x0f, 0x1b, 0xc2, 0xb2, 0x93, 0x7d, 0xc3, 0x4d, 0x22, + 0xc4, 0x08, 0x0d, 0x64, 0xbc, 0xf9, 0x7d, 0x9c, 0x11, 0x1f, 0xc7, 0x0c, 0xf9, 0x61, 0x56, 0xc0, + 0xa1, 0xb1, 0x4f, 0x63, 0xc3, 0x46, 0x71, 0xd1, 0x98, 0x43, 0x49, 0x56, 0x60, 0xad, 0x18, 0x80, + 0x46, 0xc8, 0xf1, 0x0a, 0x50, 0x6a, 0x4a, 0xd8, 0x22, 0xf2, 0x49, 0x40, 0x0d, 0xf1, 0x4d, 0x5d, + 0xed, 0xb7, 0x0a, 0xa8, 0xee, 0xa2, 0x08, 0xf9, 0x31, 0x3c, 0x52, 0xc0, 0xbf, 0x2e, 0xde, 0x47, + 0x89, 0xc7, 0xac, 0x08, 0xbb, 0xd8, 0x0f, 0x79, 0x8b, 0x56, 0x40, 0x19, 0x71, 0xb0, 0x15, 0xe2, + 0x88, 0x50, 0xd7, 0xca, 0x3a, 0x57, 0x95, 0x96, 0xd2, 0xa9, 0x6f, 0x2c, 0xeb, 0x69, 0xeb, 0x7a, + 0xd6, 0xba, 0xbe, 0x25, 0x01, 0xdd, 0xdb, 0xc7, 0xa7, 0xcd, 0xd2, 0xd7, 0xd3, 0xe6, 0xb5, 0x31, + 0xf2, 0xbd, 0xcd, 0xf6, 0xa5, 0x2b, 0xb7, 0x5f, 0x7e, 0x68, 0x2a, 0xe6, 0x9a, 0xc4, 0x9b, 0x39, + 0xfc, 0xa1, 0x40, 0xef, 0x0a, 0x70, 0x76, 0xc8, 0xe6, 0xf2, 0xe7, 0xd7, 0x4d, 0xe5, 0xc5, 0xa7, + 0x37, 0xff, 0x2d, 0x14, 0x8b, 0x4b, 0xc7, 0x69, 0x7f, 0xa9, 0x80, 0xb9, 0x5e, 0xe6, 0x7c, 0x90, + 0x04, 0x2e, 0xfc, 0x1b, 0xcc, 0xb9, 0x38, 0xa4, 0x31, 0x61, 0x96, 0x8b, 0x03, 0xea, 0x8b, 0x19, + 0x6a, 0xe6, 0xac, 0x74, 0x6e, 0x71, 0x1f, 0xbc, 0x05, 0x1a, 0x79, 0x29, 0x2b, 0xa4, 0xd4, 0xb3, + 0x18, 0x1d, 0xe1, 0x40, 0x66, 0x94, 0x45, 0xc6, 0x52, 0x8e, 0xd8, 0xa5, 0xd4, 0xeb, 0xf3, 0x78, + 0x9a, 0xfc, 0x4a, 0x01, 0xab, 0x17, 0x53, 0x37, 0x75, 0x11, 0x75, 0x37, 0x24, 0x75, 0x9d, 0x94, + 0xba, 0x4b, 0x52, 0xa6, 0x45, 0xbf, 0xe4, 0x0a, 0xde, 0x04, 0xd3, 0x36, 0xf2, 0x78, 0xd7, 0x6a, + 0x85, 0x8f, 0xd1, 0xfd, 0x8b, 0x1f, 0xf3, 0xfe, 0xb4, 0xf9, 0x47, 0xaa, 0xae, 0xd8, 0x1d, 0xe9, + 0x84, 0x1a, 0x3e, 0x62, 0x43, 0xbd, 0x17, 0x30, 0x33, 0x43, 0xc3, 0x3b, 0xa0, 0xce, 0x28, 0x43, + 0x9e, 0x15, 0x0f, 0x51, 0x84, 0xd5, 0xdf, 0x2e, 0x93, 0x0c, 0x44, 0xc6, 0x1e, 0x4f, 0x80, 0x2b, + 0xa0, 0xe6, 0xa3, 0x68, 0x84, 0x99, 0x45, 0x5c, 0xb5, 0x2a, 0x18, 0x9c, 0x49, 0x1d, 0x3d, 0xb1, + 0x14, 0x19, 0x64, 0xc4, 0x19, 0xe1, 0x48, 0x9d, 0x4e, 0x97, 0x92, 0x3a, 0xfb, 0xc2, 0x07, 0x9b, + 0xa0, 0x9e, 0x0a, 0xd9, 0xe2, 0x37, 0x40, 0x9d, 0x11, 0x10, 0x90, 0xba, 0xba, 0x28, 0xc6, 0x70, + 0x15, 0xcc, 0x4a, 0xc0, 0xd3, 0x84, 0x32, 0xac, 0xd6, 0x04, 0x42, 0x26, 0x3d, 0xe2, 0x2e, 0x78, + 0x3f, 0xaf, 0xc1, 0xc6, 0x21, 0x56, 0x41, 0x4b, 0xe9, 0xcc, 0x6f, 0xfc, 0xa3, 0x17, 0xb7, 0x59, + 0x5e, 0x15, 0x79, 0x73, 0xf4, 0x1d, 0x61, 0xf6, 0xc7, 0x21, 0xce, 0x4e, 0xe2, 0xff, 0xf0, 0x4f, + 0x50, 0xc5, 0xcf, 0x42, 0x12, 0x8d, 0xd5, 0x7a, 0x4b, 0xe9, 0x4c, 0x99, 0xd2, 0x6a, 0x1f, 0x95, + 0x01, 0x2c, 0xc4, 0xba, 0xe7, 0x0c, 0xb1, 0x9b, 0x78, 0x18, 0xce, 0x83, 0x32, 0x71, 0x85, 0xd0, + 0x2a, 0x66, 0x99, 0xb8, 0xb0, 0x01, 0xf2, 0xd1, 0xa5, 0x98, 0x0a, 0x2a, 0x1a, 0x60, 0x86, 0xaf, + 0x10, 0xfb, 0x38, 0x12, 0x1a, 0xa9, 0x99, 0xb9, 0x0d, 0x9f, 0x2b, 0x60, 0xd9, 0xf1, 0x10, 0xf1, + 0x91, 0xed, 0xe1, 0xc9, 0x4b, 0xc4, 0x9f, 0x0a, 0xb1, 0xcf, 0xfa, 0x46, 0xe3, 0x07, 0x45, 0xf5, + 0xb3, 0x77, 0xa4, 0x7b, 0x45, 0x4a, 0xaa, 0x95, 0x4a, 0xea, 0xa7, 0xa5, 0xda, 0x87, 0x5c, 0x4a, + 0x4b, 0x79, 0xbc, 0x18, 0x89, 0xd7, 0x82, 0xdb, 0x60, 0x71, 0x22, 0x01, 0xf9, 0x34, 0x09, 0x98, + 0x10, 0x04, 0xd7, 0x73, 0xaa, 0x04, 0x9d, 0xaf, 0x28, 0x67, 0xf1, 0x1e, 0x25, 0x41, 0xb7, 0xc2, + 0x0f, 0x37, 0x17, 0x8a, 0xcc, 0xbb, 0x22, 0xb1, 0x4b, 0x8e, 0xcf, 0x34, 0xe5, 0xe4, 0x4c, 0x53, + 0x3e, 0x9e, 0x69, 0xca, 0xe1, 0xb9, 0x56, 0x3a, 0x39, 0xd7, 0x4a, 0xef, 0xce, 0xb5, 0xd2, 0xe3, + 0x9d, 0x01, 0x61, 0xc3, 0xc4, 0xd6, 0x1d, 0xea, 0x1b, 0xbd, 0x6c, 0x43, 0xdb, 0xc8, 0x8e, 0x8d, + 0x7c, 0x5f, 0x57, 0x1d, 0x1a, 0xe1, 0x49, 0x73, 0x88, 0x48, 0x60, 0xf8, 0x94, 0xd3, 0x1e, 0x4f, + 0xbc, 0xe3, 0x7c, 0xdb, 0xb1, 0x5d, 0x15, 0x9c, 0x5c, 0xff, 0x16, 0x00, 0x00, 0xff, 0xff, 0x4b, + 0x5b, 0xe9, 0xd1, 0xeb, 0x05, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { diff --git a/chain/insurance/types/msgs.go b/chain/insurance/types/msgs.go index b1c7d01d..689f01f8 100644 --- a/chain/insurance/types/msgs.go +++ b/chain/insurance/types/msgs.go @@ -61,8 +61,8 @@ func (msg MsgCreateInsuranceFund) ValidateBasic() error { if msg.Sender == "" { return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) } - if msg.Ticker == "" { - return errors.Wrap(ErrInvalidTicker, "ticker should not be empty or exceed 30 characters") + if msg.Ticker == "" || len(msg.Ticker) > 40 { + return errors.Wrapf(ErrInvalidTicker, "ticker should not be empty or exceed 40 characters") } if msg.QuoteDenom == "" { return errors.Wrap(ErrInvalidQuoteDenom, "quote denom should not be empty") diff --git a/chain/insurance/types/params.go b/chain/insurance/types/params.go index 2132f426..7cd8f19a 100644 --- a/chain/insurance/types/params.go +++ b/chain/insurance/types/params.go @@ -4,7 +4,7 @@ import ( "fmt" "time" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" ) @@ -18,7 +18,7 @@ const ( ) // MaxUnderwritingAmount equals 1 trillion * 1e18 -var MaxUnderwritingAmount, _ = sdk.NewIntFromString("1000000000000000000000000000") +var MaxUnderwritingAmount, _ = math.NewIntFromString("1000000000000000000000000000") var PerpetualExpiryFlag int64 = -1 var BinaryOptionsExpiryFlag int64 = -2 diff --git a/chain/insurance/types/tx.pb.go b/chain/insurance/types/tx.pb.go index 846919ee..0f1e3c31 100644 --- a/chain/insurance/types/tx.pb.go +++ b/chain/insurance/types/tx.pb.go @@ -10,6 +10,7 @@ import ( _ "github.com/cosmos/cosmos-proto" types1 "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -393,53 +394,56 @@ func init() { } var fileDescriptor_7e1fa941c3fd0dc4 = []byte{ - // 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, + // 771 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x4f, 0x4f, 0xdb, 0x48, + 0x14, 0x8f, 0x37, 0x6c, 0x80, 0x81, 0x05, 0xe1, 0x65, 0x89, 0x13, 0x56, 0x4e, 0x36, 0xcb, 0x4a, + 0x11, 0x0b, 0xb6, 0x12, 0x56, 0x6c, 0x49, 0x4f, 0x04, 0x5a, 0x15, 0xa9, 0x11, 0x6d, 0xda, 0x5e, + 0x7a, 0x89, 0x26, 0xf6, 0xc8, 0x4c, 0x89, 0x3d, 0xc6, 0x33, 0xa6, 0xe4, 0xd8, 0x5e, 0x5a, 0xf5, + 0xc4, 0x47, 0xe0, 0x23, 0x70, 0xe8, 0xa9, 0xea, 0x07, 0xe0, 0x88, 0x7a, 0xea, 0xa9, 0xaa, 0xe0, + 0x40, 0xbf, 0x40, 0xef, 0x95, 0x3d, 0x63, 0x3b, 0x29, 0xe1, 0xef, 0x25, 0xf1, 0x7b, 0xef, 0xf7, + 0x7e, 0xf3, 0xfb, 0xcd, 0x1b, 0x8f, 0xc1, 0x1c, 0x76, 0x5e, 0x20, 0x83, 0xe1, 0x5d, 0xa4, 0x63, + 0x87, 0xfa, 0x1e, 0x74, 0x0c, 0xa4, 0xef, 0x56, 0xda, 0x88, 0xc1, 0x8a, 0xce, 0xf6, 0x34, 0xd7, + 0x23, 0x8c, 0xc8, 0xb3, 0x31, 0x4a, 0x8b, 0x51, 0x9a, 0x40, 0xe5, 0xa7, 0x2d, 0x62, 0x91, 0x10, + 0xa7, 0x07, 0x4f, 0xbc, 0x25, 0xaf, 0x1a, 0x84, 0xda, 0x84, 0xea, 0x6d, 0x48, 0x13, 0x42, 0x83, + 0x60, 0x47, 0xd4, 0xb3, 0xa2, 0x6e, 0x53, 0x4b, 0xdf, 0xad, 0x04, 0x7f, 0xa2, 0x90, 0xe3, 0x85, + 0x16, 0x67, 0xe4, 0x81, 0x28, 0xfd, 0x7b, 0x99, 0xd8, 0x44, 0x18, 0x07, 0xff, 0x93, 0x80, 0x89, + 0x07, 0x8d, 0x4e, 0x82, 0xe4, 0xa1, 0x80, 0x4d, 0x41, 0x1b, 0x3b, 0x44, 0x0f, 0x7f, 0x79, 0xaa, + 0xb4, 0x9f, 0x06, 0x33, 0x0d, 0x6a, 0xad, 0x79, 0x08, 0x32, 0xb4, 0x11, 0xd1, 0xde, 0xf7, 0x1d, + 0x53, 0x9e, 0x01, 0x19, 0x8a, 0x1c, 0x13, 0x79, 0x8a, 0x54, 0x94, 0xca, 0xa3, 0x4d, 0x11, 0x05, + 0x79, 0x86, 0x8d, 0x6d, 0xe4, 0x29, 0xbf, 0xf0, 0x3c, 0x8f, 0xe4, 0x02, 0x18, 0xdb, 0xf1, 0x09, + 0x43, 0x2d, 0x13, 0x39, 0xc4, 0x56, 0xd2, 0x61, 0x11, 0x84, 0xa9, 0xf5, 0x20, 0x13, 0x00, 0xb8, + 0x9c, 0x56, 0xb0, 0x51, 0xca, 0x10, 0x07, 0xf0, 0x54, 0x1d, 0x52, 0x24, 0xff, 0x05, 0xc6, 0x05, + 0x20, 0xec, 0x52, 0x7e, 0x0d, 0x11, 0xa2, 0xe9, 0x71, 0x90, 0x92, 0xef, 0xc5, 0x1c, 0xac, 0xeb, + 0x22, 0x25, 0x53, 0x94, 0xca, 0x13, 0xd5, 0x39, 0x2d, 0x99, 0x99, 0x30, 0x2c, 0xfc, 0x6b, 0x9b, + 0x61, 0xf8, 0xb4, 0xeb, 0xa2, 0x68, 0xa5, 0xe0, 0x39, 0xf0, 0x80, 0xf6, 0x5c, 0xec, 0x75, 0x95, + 0xe1, 0xa2, 0x54, 0x4e, 0x37, 0x45, 0x24, 0x3f, 0x00, 0x93, 0xd8, 0xc1, 0x0c, 0xc3, 0x4e, 0xcb, + 0x44, 0x2e, 0xa1, 0x98, 0x29, 0x23, 0x45, 0xa9, 0x3c, 0x56, 0xcd, 0x69, 0x62, 0x3a, 0x81, 0xf4, + 0x98, 0x7d, 0x8d, 0x60, 0xa7, 0x3e, 0x74, 0xf4, 0xa5, 0x90, 0x6a, 0x4e, 0x88, 0xbe, 0x75, 0xde, + 0x56, 0xbb, 0xf3, 0xf6, 0xa0, 0x90, 0xfa, 0x76, 0x50, 0x48, 0xbd, 0x3e, 0x3b, 0x9c, 0x17, 0x5b, + 0xf7, 0xee, 0xec, 0x70, 0xbe, 0x98, 0x4c, 0x73, 0xf0, 0xbe, 0x97, 0x8a, 0x40, 0x1d, 0x5c, 0x69, + 0x22, 0xea, 0x12, 0x87, 0xa2, 0xd2, 0xa1, 0x04, 0x7e, 0x6b, 0x50, 0xeb, 0x59, 0xc0, 0xf9, 0xd2, + 0xc3, 0x0c, 0x5d, 0x38, 0xab, 0x59, 0x30, 0x6a, 0x43, 0x6f, 0x1b, 0xb1, 0x16, 0x36, 0xc5, 0xb8, + 0x46, 0x78, 0x62, 0xc3, 0x94, 0x57, 0xc0, 0x70, 0x64, 0x32, 0x7d, 0x3d, 0x93, 0x11, 0xbe, 0xa6, + 0x5f, 0xe0, 0x2e, 0xdb, 0xe7, 0x2e, 0x11, 0x58, 0xca, 0x82, 0x3f, 0xfa, 0x12, 0xb1, 0x97, 0x8f, + 0x12, 0x98, 0x6e, 0x50, 0xab, 0x89, 0x76, 0x7c, 0x44, 0x59, 0x13, 0x99, 0xc8, 0x76, 0x19, 0x26, + 0xce, 0xed, 0x2c, 0xfd, 0x0f, 0x32, 0xd0, 0x26, 0xbe, 0x73, 0x6d, 0x47, 0x02, 0x5e, 0x5b, 0xbe, + 0xc0, 0x90, 0xda, 0x67, 0xe8, 0x9c, 0xca, 0x92, 0x0a, 0xfe, 0x1c, 0x94, 0x8f, 0xed, 0x7d, 0x90, + 0xc0, 0x64, 0x60, 0xdc, 0x35, 0x21, 0x43, 0x8f, 0xa0, 0x07, 0x6d, 0x2a, 0x2f, 0x83, 0x51, 0xe8, + 0xb3, 0x2d, 0xe2, 0x61, 0xd6, 0xe5, 0xe6, 0xea, 0xca, 0xa7, 0xf7, 0x8b, 0xd3, 0x42, 0xea, 0xaa, + 0x69, 0x7a, 0x88, 0xd2, 0x27, 0xcc, 0xc3, 0x8e, 0xd5, 0x4c, 0xa0, 0xf2, 0x2a, 0xc8, 0xb8, 0x21, + 0x43, 0x68, 0x7b, 0xac, 0xfa, 0xb7, 0x76, 0xc9, 0x55, 0xa5, 0xf1, 0xc5, 0x22, 0x9b, 0xbc, 0xb1, + 0xb6, 0x10, 0xd8, 0x4b, 0x28, 0x03, 0x87, 0xb9, 0xfe, 0x91, 0xf5, 0x08, 0x2d, 0xe5, 0x40, 0xf6, + 0xa7, 0x54, 0xe4, 0xab, 0xfa, 0x3d, 0x0d, 0xd2, 0x0d, 0x6a, 0xc9, 0x6f, 0x24, 0xf0, 0xfb, 0xa0, + 0xcb, 0x63, 0xe9, 0x52, 0x6d, 0x83, 0xcf, 0x77, 0xfe, 0xee, 0x2d, 0x9a, 0x22, 0x45, 0x72, 0x07, + 0x80, 0x9e, 0x17, 0x62, 0xfe, 0x2a, 0xaa, 0x04, 0x9b, 0xaf, 0x5e, 0x1f, 0x1b, 0xaf, 0xf6, 0x4a, + 0x02, 0x53, 0xe7, 0xcf, 0x6c, 0xe5, 0x2a, 0xa6, 0x73, 0x2d, 0xf9, 0x95, 0x1b, 0xb7, 0xc4, 0x1a, + 0x3c, 0x30, 0xde, 0x77, 0xae, 0x16, 0xae, 0xf4, 0xd1, 0x83, 0xce, 0xff, 0x77, 0x13, 0x74, 0xb4, + 0x66, 0x1d, 0x1f, 0x9d, 0xa8, 0xd2, 0xf1, 0x89, 0x2a, 0x7d, 0x3d, 0x51, 0xa5, 0xfd, 0x53, 0x35, + 0x75, 0x7c, 0xaa, 0xa6, 0x3e, 0x9f, 0xaa, 0xa9, 0xe7, 0x9b, 0x16, 0x66, 0x5b, 0x7e, 0x5b, 0x33, + 0x88, 0xad, 0x6f, 0x44, 0xcc, 0x0f, 0x61, 0x9b, 0xea, 0xf1, 0x3a, 0x8b, 0x06, 0xf1, 0x50, 0x6f, + 0xb8, 0x05, 0xb1, 0xa3, 0xdb, 0xc4, 0xf4, 0x3b, 0x88, 0xf6, 0x7c, 0xe6, 0x82, 0xab, 0x9d, 0xb6, + 0x33, 0xe1, 0x17, 0x6a, 0xe9, 0x47, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc4, 0x1c, 0x9e, 0x97, 0xb7, + 0x07, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/ocr/types/codec.go b/chain/ocr/types/codec.go index 01261381..f9ff9d2b 100644 --- a/chain/ocr/types/codec.go +++ b/chain/ocr/types/codec.go @@ -7,9 +7,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" 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 @@ -27,6 +25,8 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&SetConfigProposal{}, "ocr/SetConfigProposal", nil) cdc.RegisterConcrete(&SetBatchConfigProposal{}, "ocr/SetBatchConfigProposal", nil) + cdc.RegisterConcrete(&Params{}, "ocr/Params", nil) + } func RegisterInterfaces(registry types.InterfaceRegistry) { @@ -52,23 +52,22 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { } var ( - amino = codec.NewLegacyAmino() - // ModuleCdc references the global modules/ocr module codec. Note, the codec should // ONLY be used in certain instances of tests and for JSON encoding as Amino is // still used for that purpose. // // The actual codec used for serialization should be provided to x/insurance and // defined at the application level. - ModuleCdc = codec.NewAminoCodec(amino) + ModuleCdc = codec.NewLegacyAmino() ) func init() { - RegisterLegacyAminoCodec(amino) - cryptocodec.RegisterCrypto(amino) - amino.Seal() + RegisterLegacyAminoCodec(ModuleCdc) + cryptocodec.RegisterCrypto(ModuleCdc) + ModuleCdc.Seal() - RegisterLegacyAminoCodec(govcdc.Amino) - RegisterLegacyAminoCodec(groupcdc.Amino) + // TODO: check + // RegisterLegacyAminoCodec(govcdc.Amino) + // RegisterLegacyAminoCodec(groupcdc.Amino) RegisterLegacyAminoCodec(authzcdc.Amino) } diff --git a/chain/ocr/types/expected_keepers.go b/chain/ocr/types/expected_keepers.go index 0475503f..feb64c63 100644 --- a/chain/ocr/types/expected_keepers.go +++ b/chain/ocr/types/expected_keepers.go @@ -1,6 +1,8 @@ package types import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" bank "github.com/cosmos/cosmos-sdk/x/bank/types" params "github.com/cosmos/cosmos-sdk/x/params/types" @@ -16,12 +18,12 @@ type ParamSubspace interface { // BankKeeper defines the expected bank keeper methods type BankKeeper interface { - GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin - GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins - SendCoinsFromModuleToModule(ctx sdk.Context, senderModule, recipientModule string, amt sdk.Coins) error - 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 - MintCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error - BurnCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error - SetDenomMetaData(ctx sdk.Context, denomMeta bank.Metadata) + GetBalance(ctx context.Context, addr sdk.AccAddress, denom string) sdk.Coin + GetAllBalances(ctx context.Context, addr sdk.AccAddress) sdk.Coins + SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error + SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error + MintCoins(ctx context.Context, moduleName string, amt sdk.Coins) error + BurnCoins(ctx context.Context, moduleName string, amt sdk.Coins) error + SetDenomMetaData(ctx context.Context, denomMeta bank.Metadata) } diff --git a/chain/ocr/types/hooks.go b/chain/ocr/types/hooks.go index 20746bb7..5bec4b95 100644 --- a/chain/ocr/types/hooks.go +++ b/chain/ocr/types/hooks.go @@ -1,12 +1,13 @@ package types import ( + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" ) type OcrHooks interface { AfterSetFeedConfig(ctx sdk.Context, feedConfig *FeedConfig) - AfterTransmit(ctx sdk.Context, feedId string, answer sdk.Dec, timestamp int64) + AfterTransmit(ctx sdk.Context, feedId string, answer math.LegacyDec, timestamp int64) AfterFundFeedRewardPool(ctx sdk.Context, feedId string, newPoolAmount sdk.Coin) } @@ -24,7 +25,7 @@ func (h MultiOcrHooks) AfterSetFeedConfig(ctx sdk.Context, feedConfig *FeedConfi } } -func (h MultiOcrHooks) AfterTransmit(ctx sdk.Context, feedId string, answer sdk.Dec, timestamp int64) { +func (h MultiOcrHooks) AfterTransmit(ctx sdk.Context, feedId string, answer math.LegacyDec, timestamp int64) { for i := range h { h[i].AfterTransmit(ctx, feedId, answer, timestamp) } diff --git a/chain/ocr/types/ocr.pb.go b/chain/ocr/types/ocr.pb.go index d80ac284..d165290e 100644 --- a/chain/ocr/types/ocr.pb.go +++ b/chain/ocr/types/ocr.pb.go @@ -4,10 +4,11 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" 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/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types" @@ -278,13 +279,13 @@ type ModuleParams 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"` // lowest answer the median of a report is allowed to be - MinAnswer github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=min_answer,json=minAnswer,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_answer"` + MinAnswer cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=min_answer,json=minAnswer,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_answer"` // highest answer the median of a report is allowed to be - MaxAnswer github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=max_answer,json=maxAnswer,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"max_answer"` + MaxAnswer cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=max_answer,json=maxAnswer,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"max_answer"` // Fixed LINK reward for each observer - LinkPerObservation github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,4,opt,name=link_per_observation,json=linkPerObservation,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"link_per_observation"` + LinkPerObservation cosmossdk_io_math.Int `protobuf:"bytes,4,opt,name=link_per_observation,json=linkPerObservation,proto3,customtype=cosmossdk.io/math.Int" json:"link_per_observation"` // Fixed LINK reward for transmitter - LinkPerTransmission github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,5,opt,name=link_per_transmission,json=linkPerTransmission,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"link_per_transmission"` + LinkPerTransmission cosmossdk_io_math.Int `protobuf:"bytes,5,opt,name=link_per_transmission,json=linkPerTransmission,proto3,customtype=cosmossdk.io/math.Int" json:"link_per_transmission"` // Native denom for LINK coin in the bank keeper LinkDenom string `protobuf:"bytes,6,opt,name=link_denom,json=linkDenom,proto3" json:"link_denom,omitempty"` // Enables unique reports @@ -531,13 +532,13 @@ type FeedProperties struct { // 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"` + MinAnswer cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=min_answer,json=minAnswer,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_answer"` // highest answer the median of a report is allowed to be - MaxAnswer github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=max_answer,json=maxAnswer,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"max_answer"` + MaxAnswer cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=max_answer,json=maxAnswer,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"max_answer"` // Fixed LINK reward for each observer - LinkPerObservation github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,8,opt,name=link_per_observation,json=linkPerObservation,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"link_per_observation"` + LinkPerObservation cosmossdk_io_math.Int `protobuf:"bytes,8,opt,name=link_per_observation,json=linkPerObservation,proto3,customtype=cosmossdk.io/math.Int" json:"link_per_observation"` // Fixed LINK reward for transmitter - 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"` + LinkPerTransmission cosmossdk_io_math.Int `protobuf:"bytes,9,opt,name=link_per_transmission,json=linkPerTransmission,proto3,customtype=cosmossdk.io/math.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 @@ -818,9 +819,9 @@ func (m *Payee) GetPaymentAddr() string { // Transmission records the median answer from the transmit transaction at // time timestamp type Transmission struct { - Answer github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=answer,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"answer"` - ObservationsTimestamp int64 `protobuf:"varint,2,opt,name=observations_timestamp,json=observationsTimestamp,proto3" json:"observations_timestamp,omitempty"` - TransmissionTimestamp int64 `protobuf:"varint,3,opt,name=transmission_timestamp,json=transmissionTimestamp,proto3" json:"transmission_timestamp,omitempty"` + Answer cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=answer,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"answer"` + ObservationsTimestamp int64 `protobuf:"varint,2,opt,name=observations_timestamp,json=observationsTimestamp,proto3" json:"observations_timestamp,omitempty"` + TransmissionTimestamp int64 `protobuf:"varint,3,opt,name=transmission_timestamp,json=transmissionTimestamp,proto3" json:"transmission_timestamp,omitempty"` } func (m *Transmission) Reset() { *m = Transmission{} } @@ -923,9 +924,9 @@ func (m *EpochAndRound) GetRound() uint64 { } type Report struct { - ObservationsTimestamp int64 `protobuf:"varint,1,opt,name=observations_timestamp,json=observationsTimestamp,proto3" json:"observations_timestamp,omitempty"` - Observers []byte `protobuf:"bytes,2,opt,name=observers,proto3" json:"observers,omitempty"` - Observations []github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,rep,name=observations,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"observations"` + ObservationsTimestamp int64 `protobuf:"varint,1,opt,name=observations_timestamp,json=observationsTimestamp,proto3" json:"observations_timestamp,omitempty"` + Observers []byte `protobuf:"bytes,2,opt,name=observers,proto3" json:"observers,omitempty"` + Observations []cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,rep,name=observations,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"observations"` } func (m *Report) Reset() { *m = Report{} } @@ -1113,9 +1114,9 @@ func (m *EventOraclePaid) GetAmount() types.Coin { } type EventAnswerUpdated struct { - Current github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,1,opt,name=current,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"current"` - RoundId github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,2,opt,name=round_id,json=roundId,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"round_id"` - UpdatedAt time.Time `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3,stdtime" json:"updated_at"` + Current cosmossdk_io_math.Int `protobuf:"bytes,1,opt,name=current,proto3,customtype=cosmossdk.io/math.Int" json:"current"` + RoundId cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=round_id,json=roundId,proto3,customtype=cosmossdk.io/math.Int" json:"round_id"` + UpdatedAt time.Time `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3,stdtime" json:"updated_at"` } func (m *EventAnswerUpdated) Reset() { *m = EventAnswerUpdated{} } @@ -1159,7 +1160,7 @@ func (m *EventAnswerUpdated) GetUpdatedAt() time.Time { } type EventNewRound struct { - RoundId github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,1,opt,name=round_id,json=roundId,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"round_id"` + RoundId cosmossdk_io_math.Int `protobuf:"bytes,1,opt,name=round_id,json=roundId,proto3,customtype=cosmossdk.io/math.Int" json:"round_id"` // address of starter StartedBy string `protobuf:"bytes,2,opt,name=started_by,json=startedBy,proto3" json:"started_by,omitempty"` StartedAt time.Time `protobuf:"bytes,3,opt,name=started_at,json=startedAt,proto3,stdtime" json:"started_at"` @@ -1265,15 +1266,15 @@ func (m *EventTransmitted) GetEpoch() uint64 { } type EventNewTransmission struct { - FeedId string `protobuf:"bytes,1,opt,name=feed_id,json=feedId,proto3" json:"feed_id,omitempty"` - AggregatorRoundId uint32 `protobuf:"varint,2,opt,name=aggregator_round_id,json=aggregatorRoundId,proto3" json:"aggregator_round_id,omitempty"` - Answer github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=answer,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"answer"` - Transmitter string `protobuf:"bytes,4,opt,name=transmitter,proto3" json:"transmitter,omitempty"` - ObservationsTimestamp int64 `protobuf:"varint,5,opt,name=observations_timestamp,json=observationsTimestamp,proto3" json:"observations_timestamp,omitempty"` - Observations []github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,rep,name=observations,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"observations"` - Observers []byte `protobuf:"bytes,7,opt,name=observers,proto3" json:"observers,omitempty"` - ConfigDigest []byte `protobuf:"bytes,8,opt,name=config_digest,json=configDigest,proto3" json:"config_digest,omitempty"` - EpochAndRound *EpochAndRound `protobuf:"bytes,9,opt,name=epoch_and_round,json=epochAndRound,proto3" json:"epoch_and_round,omitempty"` + FeedId string `protobuf:"bytes,1,opt,name=feed_id,json=feedId,proto3" json:"feed_id,omitempty"` + AggregatorRoundId uint32 `protobuf:"varint,2,opt,name=aggregator_round_id,json=aggregatorRoundId,proto3" json:"aggregator_round_id,omitempty"` + Answer cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=answer,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"answer"` + Transmitter string `protobuf:"bytes,4,opt,name=transmitter,proto3" json:"transmitter,omitempty"` + ObservationsTimestamp int64 `protobuf:"varint,5,opt,name=observations_timestamp,json=observationsTimestamp,proto3" json:"observations_timestamp,omitempty"` + Observations []cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,rep,name=observations,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"observations"` + Observers []byte `protobuf:"bytes,7,opt,name=observers,proto3" json:"observers,omitempty"` + ConfigDigest []byte `protobuf:"bytes,8,opt,name=config_digest,json=configDigest,proto3" json:"config_digest,omitempty"` + EpochAndRound *EpochAndRound `protobuf:"bytes,9,opt,name=epoch_and_round,json=epochAndRound,proto3" json:"epoch_and_round,omitempty"` } func (m *EventNewTransmission) Reset() { *m = EventNewTransmission{} } @@ -1456,107 +1457,110 @@ func init() { func init() { proto.RegisterFile("injective/ocr/v1beta1/ocr.proto", fileDescriptor_0acb79560f1720fa) } var fileDescriptor_0acb79560f1720fa = []byte{ - // 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, + // 1648 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x3b, 0x6f, 0x1b, 0xc7, + 0x16, 0xd6, 0x92, 0x14, 0x25, 0x1e, 0x3e, 0x64, 0xad, 0x24, 0x9b, 0xd6, 0xb5, 0x44, 0x7a, 0x7d, + 0x8d, 0xab, 0x7b, 0x01, 0x93, 0xd7, 0x0a, 0x12, 0x27, 0x76, 0x91, 0x88, 0xf2, 0x4b, 0x80, 0x1f, + 0xca, 0x4a, 0x76, 0x91, 0x66, 0x31, 0xdc, 0x1d, 0x92, 0x1b, 0x73, 0x67, 0x98, 0xd9, 0xa1, 0x6c, + 0xfd, 0x82, 0x04, 0xa9, 0x0c, 0x24, 0x48, 0xed, 0x2a, 0x45, 0x80, 0x00, 0x29, 0xdc, 0xa4, 0x49, + 0x95, 0xc2, 0x08, 0x02, 0xc4, 0x65, 0x90, 0xc2, 0x09, 0xec, 0x22, 0xfe, 0x0b, 0xa9, 0x12, 0xcc, + 0x83, 0xe4, 0xf2, 0x21, 0x5a, 0xb4, 0xd5, 0x10, 0x3b, 0xdf, 0x79, 0xcc, 0xd9, 0xf3, 0xf8, 0x66, + 0x96, 0x50, 0xf0, 0xc9, 0xc7, 0xd8, 0xe5, 0xfe, 0x1e, 0x2e, 0x53, 0x97, 0x95, 0xf7, 0xce, 0x57, + 0x31, 0x47, 0xe7, 0xc5, 0x73, 0xa9, 0xc5, 0x28, 0xa7, 0xe6, 0x52, 0x57, 0xa1, 0x24, 0x40, 0xad, + 0xb0, 0xbc, 0xea, 0xd2, 0x30, 0xa0, 0x61, 0xb9, 0x8a, 0x42, 0xdc, 0xb5, 0x72, 0xa9, 0x4f, 0x94, + 0xd9, 0xf2, 0x49, 0x25, 0x77, 0xe4, 0xaa, 0xac, 0x16, 0x5a, 0xb4, 0x58, 0xa7, 0x75, 0xaa, 0x70, + 0xf1, 0xa4, 0xd1, 0x42, 0x9d, 0xd2, 0x7a, 0x13, 0x97, 0xe5, 0xaa, 0xda, 0xae, 0x95, 0xb9, 0x1f, + 0xe0, 0x90, 0xa3, 0xa0, 0xa5, 0x15, 0xe6, 0x51, 0xe0, 0x13, 0x5a, 0x96, 0xbf, 0x0a, 0xb2, 0xbe, + 0x30, 0x20, 0xb9, 0x8d, 0x18, 0x0a, 0x42, 0x73, 0x05, 0xa0, 0xe9, 0x93, 0x7b, 0x8e, 0x87, 0x09, + 0x0d, 0xf2, 0x46, 0xd1, 0x58, 0x4b, 0xd9, 0x29, 0x81, 0x5c, 0x16, 0x80, 0xb9, 0x0e, 0x4b, 0x2d, + 0xb4, 0x4f, 0xdb, 0xdc, 0xa9, 0x36, 0xa9, 0x7b, 0xcf, 0xf1, 0x09, 0xc7, 0x6c, 0x0f, 0x35, 0xf3, + 0xb1, 0xa2, 0xb1, 0x96, 0xb0, 0x17, 0x94, 0xb0, 0x22, 0x64, 0x5b, 0x5a, 0x64, 0x9e, 0x86, 0x4c, + 0x40, 0xbd, 0x76, 0x13, 0x3b, 0xc8, 0x0b, 0x7c, 0x92, 0x8f, 0x4b, 0xa7, 0x69, 0x85, 0x6d, 0x08, + 0xe8, 0xe2, 0xc2, 0xcb, 0x47, 0x05, 0xe3, 0xf3, 0x3f, 0xbf, 0xfb, 0x1f, 0x88, 0xe4, 0xa9, 0x50, + 0xac, 0x6f, 0x62, 0x00, 0x57, 0x31, 0xf6, 0x36, 0x29, 0xa9, 0xf9, 0x75, 0x33, 0x0f, 0x33, 0xa1, + 0x5f, 0x27, 0x98, 0x85, 0x79, 0xa3, 0x18, 0x5f, 0x4b, 0xd9, 0x9d, 0xa5, 0x69, 0x41, 0x86, 0x33, + 0x44, 0xc2, 0xc0, 0xe7, 0x5c, 0x88, 0x63, 0x52, 0xdc, 0x87, 0x99, 0x19, 0x30, 0x6a, 0x72, 0xe7, + 0xac, 0x6d, 0xd4, 0xcc, 0xb3, 0x90, 0xa3, 0xc4, 0x6d, 0x20, 0x9f, 0x38, 0xae, 0xf4, 0x9e, 0x4f, + 0x14, 0x8d, 0xb5, 0x8c, 0x9d, 0xd5, 0xa8, 0xde, 0xf2, 0x1d, 0x38, 0x41, 0x6b, 0xb5, 0xa8, 0x9e, + 0xb3, 0x87, 0x59, 0xe8, 0x53, 0x92, 0x9f, 0x96, 0xef, 0xbb, 0xd4, 0x11, 0x2b, 0x83, 0xbb, 0x4a, + 0x68, 0xfe, 0x07, 0xe6, 0x06, 0xec, 0xf2, 0x49, 0xe9, 0x3f, 0xd7, 0xaf, 0x6f, 0x5e, 0x87, 0xac, + 0x4e, 0x4d, 0x4b, 0xbe, 0x73, 0x7e, 0xa6, 0x68, 0xac, 0xa5, 0xd7, 0xcf, 0x94, 0x46, 0x36, 0x4b, + 0xe9, 0xa6, 0xd4, 0x55, 0xe9, 0xb1, 0x75, 0x52, 0x75, 0xb2, 0x7e, 0x30, 0x20, 0xd7, 0x4b, 0xd6, + 0x16, 0xa9, 0x51, 0xf3, 0xff, 0xb0, 0xd8, 0x44, 0x1c, 0x87, 0xbc, 0x13, 0xbb, 0xe7, 0xd7, 0x71, + 0xc8, 0x65, 0x51, 0x33, 0xb6, 0xa9, 0x64, 0x4a, 0xff, 0xb2, 0x94, 0xa8, 0x24, 0xc5, 0x3a, 0x49, + 0xca, 0x80, 0x41, 0x3a, 0x29, 0x23, 0xa2, 0x8a, 0xda, 0x8d, 0x4b, 0xdb, 0x84, 0xcb, 0x84, 0x25, + 0xec, 0xb4, 0xc2, 0x36, 0x05, 0x64, 0x5e, 0x82, 0xe5, 0xfe, 0x0d, 0x55, 0x8f, 0x90, 0x76, 0x50, + 0xc5, 0x4c, 0x66, 0x2c, 0x6e, 0x9f, 0x88, 0x6e, 0x2b, 0xfb, 0xe4, 0x96, 0x14, 0x5b, 0x7f, 0xc7, + 0x21, 0x13, 0x7d, 0x3f, 0xf3, 0x04, 0xcc, 0xd4, 0x30, 0xf6, 0x1c, 0xdf, 0xd3, 0x6d, 0x98, 0x14, + 0xcb, 0x2d, 0xcf, 0xac, 0x00, 0x04, 0x3e, 0x71, 0x10, 0x09, 0xef, 0x63, 0x26, 0xc3, 0x4d, 0x55, + 0xce, 0x3c, 0x79, 0x56, 0x98, 0xfa, 0xed, 0x59, 0xe1, 0x5f, 0x6a, 0x42, 0x42, 0xef, 0x5e, 0xc9, + 0xa7, 0xe5, 0x00, 0xf1, 0x46, 0xe9, 0x06, 0xae, 0x23, 0x77, 0xff, 0x32, 0x76, 0xed, 0x54, 0xe0, + 0x93, 0x0d, 0x69, 0x25, 0x7d, 0xa0, 0x07, 0x1d, 0x1f, 0xf1, 0x49, 0x7c, 0xa0, 0x07, 0xda, 0xc7, + 0x6d, 0x58, 0x94, 0xa3, 0xd2, 0xc2, 0xcc, 0xa1, 0xd5, 0x50, 0x34, 0x3b, 0x17, 0xad, 0x91, 0x90, + 0xde, 0x56, 0xb4, 0xb7, 0xa5, 0x61, 0x6f, 0x5b, 0x84, 0xdb, 0xa6, 0x30, 0xdd, 0xc6, 0xec, 0x76, + 0xcf, 0xd0, 0xfc, 0x10, 0x96, 0xba, 0x0e, 0x75, 0xf3, 0x86, 0xdd, 0x66, 0x7b, 0xa5, 0xc7, 0x05, + 0xed, 0x71, 0x37, 0x62, 0x39, 0x30, 0xce, 0xc9, 0xc1, 0x71, 0x3e, 0x0b, 0xb9, 0x36, 0xf1, 0x3f, + 0x69, 0x63, 0x87, 0xe1, 0x16, 0x65, 0x5c, 0x35, 0xe0, 0xac, 0x9d, 0x55, 0xa8, 0xad, 0x40, 0xb3, + 0x08, 0x69, 0x0f, 0x87, 0x2e, 0xf3, 0x5b, 0xf2, 0x05, 0x67, 0xd5, 0x00, 0x47, 0x20, 0xb1, 0x8f, + 0x2c, 0x96, 0x9a, 0xf0, 0x94, 0xda, 0x47, 0x20, 0x72, 0xbe, 0xcd, 0x33, 0x90, 0xad, 0xfa, 0xcd, + 0xa6, 0x4f, 0xea, 0x5a, 0x03, 0xa4, 0x46, 0x46, 0x83, 0x52, 0xc9, 0xfa, 0x34, 0x06, 0xb9, 0x4d, + 0x4a, 0x38, 0x43, 0xae, 0xee, 0x8f, 0xa1, 0xa6, 0x33, 0x86, 0x9b, 0x2e, 0x42, 0x0b, 0xb1, 0xf1, + 0xb4, 0x10, 0x3f, 0x88, 0x16, 0x12, 0x07, 0xd3, 0xc2, 0xf4, 0x84, 0xb4, 0x90, 0x9c, 0x90, 0x16, + 0x66, 0x46, 0xd1, 0x82, 0xf5, 0xc4, 0x80, 0xf9, 0x1d, 0xac, 0x93, 0xb0, 0xcd, 0x68, 0x8b, 0x86, + 0xa8, 0x69, 0x2e, 0xc2, 0x34, 0xf7, 0x79, 0x13, 0xeb, 0x71, 0x50, 0x8b, 0xc1, 0xda, 0xc4, 0x86, + 0x6b, 0xf3, 0x1e, 0x24, 0xf5, 0x6e, 0x71, 0xc9, 0x2e, 0xa7, 0x0f, 0x60, 0x97, 0x1e, 0x7d, 0xd8, + 0xda, 0xe0, 0xe2, 0x07, 0x9f, 0x3d, 0x2a, 0x4c, 0xbd, 0x7c, 0x54, 0x98, 0xfa, 0xe9, 0xf1, 0xb9, + 0x65, 0x7d, 0xf8, 0xd4, 0xe9, 0x5e, 0xd7, 0x44, 0x94, 0x0b, 0x13, 0x2e, 0x98, 0x7b, 0x49, 0x30, + 0xf7, 0x50, 0xd0, 0xd6, 0xe3, 0x84, 0xe2, 0x25, 0x01, 0x60, 0xc6, 0x7d, 0x3c, 0x66, 0xb0, 0xfb, + 0xe9, 0x67, 0xb8, 0x18, 0xf1, 0x09, 0x8b, 0x91, 0x98, 0xb0, 0x18, 0xd3, 0x23, 0x39, 0xba, 0x9f, + 0x6e, 0x92, 0x47, 0x40, 0x37, 0x33, 0x47, 0x4a, 0x37, 0xb3, 0x47, 0x4e, 0x37, 0xa9, 0xd7, 0xa6, + 0x9b, 0x61, 0x3e, 0x81, 0x43, 0xf0, 0x49, 0x7a, 0xa8, 0x67, 0xad, 0x1f, 0x63, 0x70, 0x7c, 0x07, + 0xf3, 0x0a, 0xe2, 0x6e, 0xe3, 0x88, 0xc6, 0x20, 0x42, 0x14, 0xf1, 0xf1, 0x44, 0x91, 0x18, 0x41, + 0x14, 0xfd, 0x44, 0x3a, 0x3d, 0x48, 0xa4, 0xb7, 0x60, 0x4e, 0xf6, 0x74, 0xab, 0xdb, 0xe6, 0xf9, + 0x64, 0x31, 0xbe, 0x96, 0x5e, 0x3f, 0x3b, 0x66, 0xd8, 0x7a, 0x33, 0x61, 0xe7, 0x6a, 0x7d, 0xeb, + 0x8b, 0x57, 0x0e, 0x3f, 0x78, 0xcb, 0x7a, 0xf0, 0x46, 0xe4, 0xca, 0x5a, 0x87, 0xfc, 0x6d, 0x86, + 0xdc, 0x26, 0x8e, 0xd4, 0x3d, 0x94, 0xbc, 0x19, 0x9a, 0xc7, 0x05, 0x2d, 0x88, 0x27, 0x79, 0x9d, + 0xca, 0xda, 0x7a, 0x65, 0xdd, 0x85, 0xf9, 0x6b, 0x28, 0xb4, 0xb1, 0x1f, 0x54, 0xdb, 0x2c, 0xc4, + 0x01, 0x16, 0xca, 0x1b, 0x90, 0x63, 0x7d, 0x88, 0x34, 0x4a, 0xaf, 0x9f, 0x2c, 0xe9, 0xe0, 0xc4, + 0xfd, 0x35, 0x12, 0x9d, 0x4f, 0xec, 0x01, 0x03, 0xeb, 0x0e, 0x4c, 0x6f, 0xa3, 0x7d, 0x8c, 0xcd, + 0xff, 0xc2, 0xb1, 0x48, 0x6a, 0x1d, 0xe4, 0x79, 0x4c, 0xd7, 0x72, 0x2e, 0x82, 0x6f, 0x78, 0x1e, + 0x13, 0xfc, 0xdf, 0x42, 0xfb, 0xc2, 0x5e, 0xa9, 0xe9, 0xb2, 0x6a, 0x4c, 0xa8, 0x58, 0xdf, 0x1b, + 0x90, 0xe9, 0xeb, 0xc1, 0x4b, 0x90, 0xd4, 0x73, 0x66, 0x1c, 0x7e, 0xce, 0xb4, 0x89, 0xf9, 0x36, + 0x1c, 0x8f, 0xcc, 0x56, 0xe8, 0x74, 0x2f, 0xcf, 0x72, 0xeb, 0xb8, 0xbd, 0x14, 0x95, 0xee, 0x76, + 0x84, 0xc2, 0x2c, 0x3a, 0x41, 0x11, 0xb3, 0xb8, 0x32, 0x8b, 0x4a, 0xbb, 0x66, 0xd6, 0x25, 0xc8, + 0x5e, 0x69, 0x51, 0xb7, 0xb1, 0x41, 0x3c, 0x9b, 0xb6, 0x89, 0x27, 0x7a, 0x1b, 0x0b, 0x40, 0x1f, + 0x74, 0x6a, 0x21, 0x50, 0x26, 0xc4, 0xfa, 0x92, 0xad, 0x16, 0xd6, 0xd7, 0x06, 0x24, 0xd5, 0x40, + 0x8d, 0x89, 0xda, 0x18, 0x17, 0xf5, 0x29, 0x48, 0x29, 0x81, 0x3a, 0x3c, 0x05, 0xf9, 0xf5, 0x00, + 0xf3, 0x1a, 0x64, 0xa2, 0x66, 0x6a, 0x68, 0x0e, 0x97, 0xcd, 0x3e, 0x43, 0xeb, 0x2b, 0x03, 0x32, + 0x2a, 0xd0, 0x5d, 0xba, 0xe3, 0xd7, 0xe5, 0x6d, 0x60, 0xd4, 0x8d, 0x54, 0x1f, 0xf5, 0xfa, 0x2e, + 0xda, 0x4d, 0x45, 0x6c, 0x64, 0x2a, 0xe2, 0x91, 0x54, 0x88, 0xe1, 0xc4, 0x0f, 0x38, 0x43, 0x4e, + 0x03, 0x85, 0x0d, 0x7d, 0x95, 0x4f, 0x49, 0xe4, 0x3a, 0x0a, 0x1b, 0xa2, 0xd3, 0x15, 0x1d, 0x69, + 0x86, 0xd7, 0x2b, 0xeb, 0x4b, 0x03, 0xe6, 0xae, 0xec, 0x61, 0xc2, 0xd5, 0x8c, 0x6c, 0x23, 0xdf, + 0x9b, 0xa4, 0x39, 0x57, 0x00, 0x5a, 0xa2, 0xa1, 0xa3, 0xad, 0x99, 0x92, 0x88, 0x14, 0x5f, 0x80, + 0x24, 0x0a, 0xe4, 0xad, 0x45, 0x1d, 0xbb, 0x07, 0x8f, 0x4a, 0x25, 0x21, 0x92, 0x6a, 0x6b, 0x75, + 0xeb, 0x67, 0x03, 0x4c, 0x19, 0x96, 0x22, 0xfe, 0x3b, 0x2d, 0x0f, 0x71, 0xec, 0x99, 0x17, 0x60, + 0xc6, 0x6d, 0x33, 0x86, 0xf5, 0x35, 0xe8, 0x95, 0x04, 0xdd, 0xd1, 0x36, 0xdf, 0x85, 0x59, 0x99, + 0x26, 0x71, 0xe0, 0xc6, 0x0e, 0x65, 0x29, 0xd5, 0xb7, 0x3c, 0x73, 0x13, 0xa0, 0xad, 0x76, 0x77, + 0x50, 0xe7, 0x35, 0x96, 0x4b, 0xea, 0x03, 0xb3, 0xd4, 0xf9, 0xc0, 0x2c, 0x75, 0x1b, 0xaa, 0x32, + 0x2b, 0xfc, 0x3e, 0xfc, 0xbd, 0x60, 0xd8, 0x29, 0x6d, 0xb7, 0xc1, 0xad, 0x6f, 0x0d, 0xc8, 0xca, + 0xd7, 0xb9, 0x85, 0xef, 0xab, 0x2e, 0x8f, 0x06, 0x64, 0x4c, 0x14, 0xd0, 0x0a, 0x40, 0xc8, 0x11, + 0x13, 0x01, 0x55, 0xf7, 0x3b, 0x29, 0xd7, 0x48, 0x65, 0x5f, 0xc4, 0xdb, 0x11, 0x4f, 0x1a, 0xaf, + 0xb6, 0xdb, 0xe0, 0xd6, 0x4d, 0x38, 0x26, 0xc3, 0xdd, 0xed, 0x96, 0xdb, 0x7b, 0x83, 0x8e, 0xb5, + 0x7e, 0x89, 0xc3, 0x62, 0xe7, 0xf5, 0xfb, 0x78, 0xea, 0xc0, 0x6b, 0x50, 0x09, 0x16, 0x50, 0xbd, + 0xce, 0x70, 0x1d, 0x71, 0xca, 0x9c, 0xbe, 0xd2, 0x65, 0xed, 0xf9, 0x9e, 0xc8, 0xd6, 0x49, 0xe9, + 0x11, 0x5e, 0x7c, 0x72, 0xc2, 0x2b, 0x42, 0x3a, 0xd2, 0xd7, 0xea, 0xdb, 0xc5, 0x8e, 0x42, 0x63, + 0xc8, 0x65, 0x7a, 0x1c, 0xb9, 0x0c, 0xd2, 0x47, 0xf2, 0x35, 0xe9, 0xa3, 0x9f, 0xa5, 0x66, 0x06, + 0x59, 0x6a, 0xa8, 0x32, 0xb3, 0x23, 0x2a, 0x73, 0x03, 0xe6, 0x64, 0x31, 0x1c, 0x44, 0x3c, 0x95, + 0x50, 0x79, 0xc7, 0x49, 0xaf, 0xff, 0xfb, 0x80, 0xd3, 0xb9, 0x8f, 0x95, 0xed, 0x2c, 0x8e, 0x2e, + 0xad, 0xbf, 0x0c, 0xc8, 0xc9, 0x8a, 0xaa, 0xc3, 0x76, 0x07, 0xf3, 0xc3, 0xf5, 0xc7, 0xfb, 0x70, + 0xaa, 0xc5, 0xf0, 0x9e, 0x4f, 0xdb, 0xe1, 0xc8, 0x0f, 0x64, 0x75, 0xc2, 0x9c, 0xec, 0xe8, 0x0c, + 0x7d, 0x22, 0xbf, 0xc1, 0x45, 0xde, 0xbc, 0x0a, 0xfa, 0xa3, 0xc9, 0xf1, 0x49, 0x8d, 0xca, 0x32, + 0x8f, 0xbf, 0x9b, 0xf4, 0xfe, 0x47, 0xb0, 0xc1, 0xed, 0x3e, 0x57, 0xdc, 0x27, 0xcf, 0x57, 0x8d, + 0xa7, 0xcf, 0x57, 0x8d, 0x3f, 0x9e, 0xaf, 0x1a, 0x0f, 0x5f, 0xac, 0x4e, 0x3d, 0x7d, 0xb1, 0x3a, + 0xf5, 0xeb, 0x8b, 0xd5, 0xa9, 0x8f, 0xb6, 0xea, 0x3e, 0x6f, 0xb4, 0xab, 0x25, 0x97, 0x06, 0xe5, + 0xad, 0x8e, 0xdb, 0x1b, 0xa8, 0x1a, 0x96, 0xbb, 0x9b, 0x9c, 0x73, 0x29, 0xc3, 0xd1, 0xa5, 0xb8, + 0x65, 0x97, 0xd5, 0xdf, 0x18, 0xa1, 0xfc, 0xdb, 0x8c, 0xef, 0xb7, 0x70, 0x58, 0x4d, 0xca, 0x51, + 0x7d, 0xeb, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc9, 0x77, 0x1a, 0x63, 0x54, 0x13, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { @@ -5917,7 +5921,7 @@ func (m *Report) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.Observations = append(m.Observations, v) if err := m.Observations[len(m.Observations)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6879,7 +6883,7 @@ func (m *EventNewTransmission) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.Observations = append(m.Observations, v) if err := m.Observations[len(m.Observations)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/chain/ocr/types/tx.pb.go b/chain/ocr/types/tx.pb.go index 76af8a8c..fc7d7b38 100644 --- a/chain/ocr/types/tx.pb.go +++ b/chain/ocr/types/tx.pb.go @@ -5,11 +5,12 @@ package types import ( context "context" + cosmossdk_io_math "cosmossdk.io/math" 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/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -116,9 +117,9 @@ type MsgUpdateFeed struct { // 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"` + LinkPerObservation *cosmossdk_io_math.Int `protobuf:"bytes,5,opt,name=link_per_observation,json=linkPerObservation,proto3,customtype=cosmossdk.io/math.Int" json:"link_per_observation,omitempty"` // Fixed LINK reward for transmitter - LinkPerTransmission *github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,6,opt,name=link_per_transmission,json=linkPerTransmission,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"link_per_transmission,omitempty"` + LinkPerTransmission *cosmossdk_io_math.Int `protobuf:"bytes,6,opt,name=link_per_transmission,json=linkPerTransmission,proto3,customtype=cosmossdk.io/math.Int" json:"link_per_transmission,omitempty"` // Native denom for LINK coin in the bank keeper LinkDenom string `protobuf:"bytes,7,opt,name=link_denom,json=linkDenom,proto3" json:"link_denom,omitempty"` // feed administrator @@ -776,76 +777,81 @@ func init() { func init() { proto.RegisterFile("injective/ocr/v1beta1/tx.proto", fileDescriptor_570bfdb24a1374f8) } var fileDescriptor_570bfdb24a1374f8 = []byte{ - // 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, + // 1177 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xcd, 0x6f, 0x1b, 0x45, + 0x14, 0xf7, 0xd6, 0xa9, 0x13, 0xbf, 0xb8, 0x2a, 0xdd, 0x38, 0x89, 0xb3, 0x6a, 0x6c, 0x77, 0x83, + 0x2a, 0x37, 0x6d, 0xed, 0x26, 0xa1, 0x7c, 0x98, 0x53, 0x92, 0xaa, 0x22, 0x12, 0x56, 0xc3, 0x16, + 0x84, 0x54, 0x09, 0x99, 0xf5, 0xee, 0x64, 0xbd, 0x34, 0xde, 0x59, 0xcd, 0x8c, 0xd3, 0xe4, 0x8a, + 0x38, 0x20, 0x24, 0x24, 0xce, 0x9c, 0x7a, 0xe1, 0x8a, 0x72, 0xa8, 0xc4, 0x05, 0xee, 0x39, 0x56, + 0x48, 0x48, 0x88, 0x43, 0x84, 0x92, 0x43, 0xf9, 0x33, 0xd0, 0xcc, 0x8e, 0xc7, 0xeb, 0x8f, 0xcd, + 0x87, 0x38, 0x70, 0x49, 0xfc, 0xde, 0xfb, 0xbd, 0x8f, 0xdf, 0x7b, 0x33, 0x6f, 0x6c, 0x28, 0xfa, + 0xc1, 0x57, 0xc8, 0x61, 0xfe, 0x1e, 0xaa, 0x61, 0x87, 0xd4, 0xf6, 0x56, 0x5a, 0x88, 0xd9, 0x2b, + 0x35, 0xb6, 0x5f, 0x0d, 0x09, 0x66, 0x58, 0x9f, 0x55, 0xf6, 0x2a, 0x76, 0x48, 0x55, 0xda, 0x8d, + 0xa2, 0x83, 0x69, 0x07, 0xd3, 0x5a, 0xcb, 0xa6, 0x48, 0x39, 0x39, 0xd8, 0x0f, 0x22, 0x37, 0x63, + 0x5e, 0xda, 0x3b, 0xd4, 0xab, 0xed, 0xad, 0xf0, 0x7f, 0xd2, 0x90, 0xf7, 0xb0, 0x87, 0xc5, 0xc7, + 0x1a, 0xff, 0x24, 0xb5, 0xa5, 0xf1, 0x55, 0xf0, 0x8c, 0x11, 0x60, 0x21, 0x8a, 0xd7, 0x8c, 0x3c, + 0x23, 0x41, 0x9a, 0x6e, 0xd8, 0x1d, 0x3f, 0xc0, 0x35, 0xf1, 0x37, 0x52, 0x99, 0xdf, 0x6b, 0x70, + 0xad, 0x41, 0xbd, 0x4d, 0x82, 0x6c, 0x86, 0x1e, 0x23, 0xe4, 0xea, 0x73, 0x90, 0xa1, 0x28, 0x70, + 0x11, 0x29, 0x68, 0x65, 0xad, 0x92, 0xb5, 0xa4, 0xa4, 0x7f, 0x00, 0x19, 0x07, 0x07, 0x3b, 0xbe, + 0x57, 0xb8, 0x52, 0xd6, 0x2a, 0xd3, 0xab, 0xb7, 0xaa, 0x63, 0xf9, 0x56, 0x79, 0x90, 0x4d, 0x01, + 0xb4, 0xa4, 0x43, 0xfd, 0xce, 0xb7, 0x2f, 0x4b, 0xa9, 0x7f, 0x5e, 0x96, 0x52, 0x5f, 0xbf, 0x39, + 0x5c, 0x96, 0xf1, 0xbe, 0x7b, 0x73, 0xb8, 0x7c, 0x83, 0x33, 0x18, 0xc8, 0x6e, 0xce, 0xc3, 0xec, + 0x80, 0xc2, 0x42, 0x34, 0xc4, 0x01, 0x45, 0xe6, 0x61, 0x5a, 0x14, 0xfa, 0x59, 0xe8, 0x9e, 0x57, + 0xe8, 0x3c, 0x4c, 0xee, 0x20, 0xe4, 0x36, 0x7d, 0x57, 0x54, 0x9a, 0xb5, 0x32, 0x5c, 0xdc, 0x72, + 0xf5, 0x02, 0x4c, 0x52, 0xdf, 0x0b, 0x10, 0xa1, 0x85, 0x74, 0x39, 0x5d, 0xc9, 0x5a, 0x3d, 0x51, + 0x37, 0x21, 0xc7, 0x88, 0x1d, 0xd0, 0x8e, 0xcf, 0x18, 0x37, 0x4f, 0x08, 0xf3, 0x80, 0x4e, 0x7f, + 0x02, 0xf9, 0x5d, 0x3f, 0x78, 0xde, 0x0c, 0x11, 0x69, 0xe2, 0x16, 0x45, 0x64, 0xcf, 0x66, 0x3e, + 0x0e, 0x0a, 0x57, 0x79, 0x8e, 0x8d, 0xc5, 0xa3, 0xe3, 0x92, 0xf6, 0xd7, 0x71, 0x69, 0x36, 0x6a, + 0x38, 0x75, 0x9f, 0x57, 0x7d, 0x5c, 0xeb, 0xd8, 0xac, 0x5d, 0xdd, 0x0a, 0x98, 0xa5, 0x73, 0xd7, + 0x6d, 0x44, 0x9e, 0xf4, 0x1d, 0xf5, 0x4f, 0x60, 0x56, 0x05, 0x94, 0x99, 0x28, 0xe5, 0x11, 0x33, + 0x17, 0x89, 0x38, 0x23, 0x23, 0x7e, 0x1a, 0xf3, 0xd4, 0x17, 0x01, 0x44, 0x48, 0x17, 0x05, 0xb8, + 0x53, 0x98, 0x14, 0xec, 0xb3, 0x5c, 0xf3, 0x88, 0x2b, 0xb8, 0x59, 0x74, 0xc6, 0x76, 0x3b, 0x7e, + 0x50, 0x98, 0x8a, 0xcc, 0x5c, 0xb3, 0xce, 0x15, 0xfa, 0x12, 0x5c, 0x6b, 0xf9, 0xbb, 0xbb, 0x7e, + 0xe0, 0x49, 0x44, 0x56, 0x20, 0x72, 0x52, 0x29, 0x40, 0xe7, 0xce, 0xb2, 0x3f, 0x20, 0x39, 0xcb, + 0xbe, 0x42, 0xcd, 0xf2, 0xb7, 0x2b, 0x30, 0xdd, 0xa0, 0x9e, 0x2c, 0x9d, 0xe9, 0x65, 0x98, 0x8e, + 0xb5, 0x5a, 0x8e, 0x33, 0xae, 0xe2, 0xa5, 0x45, 0x67, 0xa9, 0xe9, 0xfa, 0x1e, 0xa2, 0x4c, 0x4c, + 0x36, 0x67, 0xe5, 0x22, 0xe5, 0x23, 0xa1, 0x8b, 0x0f, 0x3e, 0x3d, 0x30, 0xf8, 0x3c, 0x5c, 0x45, + 0x21, 0x76, 0xda, 0x85, 0x89, 0xb2, 0x56, 0x99, 0xb0, 0x22, 0x81, 0x6b, 0x09, 0xee, 0x06, 0xae, + 0x98, 0xe0, 0x84, 0x15, 0x09, 0xbc, 0x47, 0x68, 0x9f, 0x11, 0xbb, 0xd9, 0xb6, 0x69, 0x5b, 0x8c, + 0x22, 0x67, 0x65, 0x85, 0xe6, 0x23, 0x9b, 0xb6, 0xf5, 0x87, 0x90, 0x21, 0x28, 0xc4, 0x84, 0x89, + 0xee, 0x4e, 0xaf, 0x2e, 0x26, 0xdc, 0x02, 0x4b, 0x80, 0x2c, 0x09, 0xd6, 0x8b, 0x00, 0xfc, 0xac, + 0xd9, 0xac, 0x4b, 0x10, 0x2d, 0x4c, 0x95, 0xd3, 0x95, 0x9c, 0x15, 0xd3, 0xd4, 0xef, 0xc5, 0xbb, + 0x1a, 0x67, 0xce, 0x5b, 0x7b, 0x5d, 0xb6, 0xb6, 0xd7, 0x2f, 0x73, 0x16, 0x66, 0x62, 0xa2, 0x6a, + 0xeb, 0x2b, 0x4d, 0x34, 0xfc, 0x71, 0x37, 0x70, 0xa3, 0x76, 0xbf, 0xb0, 0x89, 0xbb, 0x8d, 0xf1, + 0xee, 0xe5, 0xaf, 0xca, 0x7b, 0x90, 0xb1, 0x3b, 0xb8, 0x1b, 0x30, 0xd1, 0xc9, 0xe9, 0xd5, 0x85, + 0xaa, 0x5c, 0x24, 0x7c, 0x8b, 0x29, 0x92, 0x9b, 0xd8, 0x0f, 0x36, 0x26, 0x8e, 0x8e, 0x4b, 0x29, + 0x4b, 0xc2, 0xeb, 0x2b, 0x09, 0xc7, 0x63, 0x41, 0x72, 0x18, 0x2d, 0xce, 0x2c, 0xc1, 0xe2, 0x58, + 0x83, 0xe2, 0xf5, 0xab, 0x06, 0x0b, 0x0d, 0xea, 0x7d, 0xee, 0xb3, 0xb6, 0x4b, 0xec, 0x17, 0xff, + 0x1b, 0xb7, 0x87, 0x09, 0xdc, 0x16, 0x25, 0xb7, 0xf1, 0x05, 0x9a, 0x4b, 0x70, 0x2b, 0xd1, 0xa8, + 0x38, 0xfe, 0xa4, 0x41, 0xae, 0x41, 0xbd, 0xa7, 0x88, 0x6d, 0xdb, 0x07, 0x08, 0xd1, 0xcb, 0xd3, + 0x1a, 0xde, 0x61, 0xe9, 0x31, 0x3b, 0x6c, 0x0e, 0x32, 0xa1, 0x08, 0x2f, 0x37, 0x9c, 0x94, 0xea, + 0x95, 0x04, 0x66, 0x6f, 0x49, 0x66, 0xaa, 0x2c, 0x73, 0x0e, 0xf2, 0x71, 0x59, 0xd5, 0xff, 0x8b, + 0x26, 0x0c, 0xe2, 0x4c, 0xee, 0x20, 0x12, 0x59, 0xdb, 0x7e, 0x98, 0xc8, 0x63, 0xe8, 0xce, 0x5f, + 0x19, 0xbd, 0xf3, 0x89, 0xd7, 0xd9, 0x80, 0xa9, 0x90, 0xe0, 0x10, 0x53, 0xe4, 0x8a, 0x1b, 0x9d, + 0xb5, 0x94, 0x5c, 0x7f, 0x90, 0xc0, 0xa4, 0x10, 0xbf, 0x43, 0xf1, 0x02, 0xcd, 0x22, 0xdc, 0x1c, + 0xa7, 0x57, 0xcc, 0x7e, 0xd4, 0x40, 0x6f, 0x50, 0x6f, 0xdd, 0x71, 0x50, 0xc8, 0xfa, 0xbc, 0xf2, + 0x70, 0x55, 0x34, 0x4f, 0xd2, 0x8a, 0x84, 0xff, 0xc0, 0xaa, 0xbe, 0x76, 0xd6, 0x0a, 0x98, 0x93, + 0xe5, 0x0f, 0x55, 0x61, 0xde, 0x04, 0x63, 0x54, 0xab, 0x4a, 0xff, 0x59, 0x83, 0xeb, 0x6a, 0x03, + 0x6f, 0xdb, 0xc4, 0xee, 0x50, 0xfd, 0x5d, 0xc8, 0xda, 0x5d, 0xd6, 0xc6, 0xc4, 0x67, 0x07, 0x51, + 0xed, 0x1b, 0x85, 0xdf, 0x5f, 0xdd, 0xcf, 0xcb, 0x3b, 0xb0, 0xee, 0xba, 0x04, 0x51, 0xfa, 0x94, + 0x11, 0x3f, 0xf0, 0xac, 0x3e, 0x54, 0xff, 0x90, 0x1f, 0x1d, 0x1e, 0x41, 0x3e, 0xff, 0x49, 0x8b, + 0x2f, 0x4a, 0xd3, 0xbb, 0x39, 0x91, 0x4b, 0xfd, 0x36, 0xe7, 0xd4, 0x0f, 0xc6, 0x19, 0xcd, 0x0c, + 0xbc, 0x17, 0x91, 0x97, 0xb9, 0x00, 0xf3, 0x43, 0xaa, 0x1e, 0x97, 0xd5, 0x3f, 0x26, 0x21, 0xdd, + 0xa0, 0x9e, 0xfe, 0x25, 0x40, 0xec, 0xcb, 0xca, 0xdb, 0x09, 0x55, 0x0c, 0x7c, 0x87, 0x30, 0xee, + 0x5d, 0x04, 0xd5, 0xcb, 0xc4, 0x33, 0xc4, 0xbe, 0x65, 0x9c, 0x91, 0xa1, 0x8f, 0x3a, 0x2b, 0xc3, + 0xe8, 0xfb, 0xa7, 0x3f, 0x83, 0x29, 0xf5, 0xf6, 0x99, 0xc9, 0x9e, 0x3d, 0x8c, 0xb1, 0x7c, 0x3e, + 0x46, 0xc5, 0xde, 0x07, 0x7d, 0xcc, 0x03, 0x70, 0x46, 0x7d, 0xa3, 0x68, 0xe3, 0x9d, 0xcb, 0xa0, + 0x55, 0xe6, 0x6f, 0x34, 0x98, 0x4b, 0xd8, 0xd1, 0x0f, 0x92, 0x03, 0x8e, 0xf7, 0x30, 0xde, 0xbf, + 0xac, 0x87, 0x2a, 0xe3, 0x0b, 0xc8, 0xf6, 0xb7, 0xe8, 0x52, 0x72, 0x18, 0x05, 0x32, 0xee, 0x5e, + 0x00, 0xa4, 0xc2, 0x77, 0xe1, 0xc6, 0xe8, 0x92, 0xbb, 0x7b, 0xce, 0x80, 0xe2, 0x60, 0x63, 0xed, + 0x12, 0x60, 0x95, 0x16, 0xc3, 0xf5, 0xe1, 0x0d, 0x74, 0x27, 0x39, 0xce, 0x10, 0xd4, 0x58, 0xb9, + 0x30, 0x54, 0x25, 0xdc, 0x81, 0xdc, 0xc0, 0xde, 0xb8, 0x7d, 0xde, 0x09, 0x8f, 0x70, 0x46, 0xf5, + 0x62, 0xb8, 0x5e, 0x9e, 0x0d, 0xe7, 0xe8, 0xa4, 0xa8, 0xbd, 0x3e, 0x29, 0x6a, 0x7f, 0x9f, 0x14, + 0xb5, 0x1f, 0x4e, 0x8b, 0xa9, 0xd7, 0xa7, 0xc5, 0xd4, 0x9f, 0xa7, 0xc5, 0xd4, 0xb3, 0x2d, 0xcf, + 0x67, 0xed, 0x6e, 0xab, 0xea, 0xe0, 0x4e, 0x6d, 0xab, 0x17, 0xf3, 0x63, 0xbb, 0x45, 0x6b, 0x2a, + 0xc3, 0x7d, 0x07, 0x13, 0x14, 0x17, 0xdb, 0xb6, 0x1f, 0xd4, 0x3a, 0xd8, 0xed, 0xee, 0x22, 0x2a, + 0x7e, 0x1f, 0xb1, 0x83, 0x10, 0xd1, 0x56, 0x46, 0xfc, 0xd8, 0x59, 0xfb, 0x37, 0x00, 0x00, 0xff, + 0xff, 0x86, 0x04, 0xae, 0x5e, 0xc3, 0x0d, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2643,7 +2649,7 @@ func (m *MsgUpdateFeed) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Int + var v cosmossdk_io_math.Int m.LinkPerObservation = &v if err := m.LinkPerObservation.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2679,7 +2685,7 @@ func (m *MsgUpdateFeed) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Int + var v cosmossdk_io_math.Int m.LinkPerTransmission = &v if err := m.LinkPerTransmission.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/chain/ocr/types/types.go b/chain/ocr/types/types.go index 0723eb75..22ea1fd2 100644 --- a/chain/ocr/types/types.go +++ b/chain/ocr/types/types.go @@ -84,13 +84,13 @@ func (cfg *FeedConfig) ValidateBasic() error { return errors.Wrap(ErrIncorrectConfig, "feed_id cannot have leading or trailing space characters") } - if len(cfg.ModuleParams.FeedAdmin) > 0 { + if cfg.ModuleParams.FeedAdmin != "" { if _, err := sdk.AccAddressFromBech32(cfg.ModuleParams.FeedAdmin); err != nil { return err } } - if len(cfg.ModuleParams.BillingAdmin) > 0 { + if cfg.ModuleParams.BillingAdmin != "" { if _, err := sdk.AccAddressFromBech32(cfg.ModuleParams.BillingAdmin); err != nil { return err } diff --git a/chain/oracle/bandchain/oracle/types/error.go b/chain/oracle/bandchain/oracle/types/error.go index 1e31330f..df4885ca 100644 --- a/chain/oracle/bandchain/oracle/types/error.go +++ b/chain/oracle/bandchain/oracle/types/error.go @@ -54,6 +54,6 @@ var ( ) // 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) +func WrapMaxError(err error, got, maximum int) error { + return errors.Wrapf(err, "got: %d, maximum: %d", got, maximum) } diff --git a/chain/oracle/types/codec.go b/chain/oracle/types/codec.go index c438ad07..4cf97e24 100644 --- a/chain/oracle/types/codec.go +++ b/chain/oracle/types/codec.go @@ -7,9 +7,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" 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 @@ -32,6 +30,7 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&EnableBandIBCProposal{}, "oracle/EnableBandIBCProposal", nil) cdc.RegisterConcrete(&GrantProviderPrivilegeProposal{}, "oracle/GrantProviderPrivilegeProposal", nil) cdc.RegisterConcrete(&RevokeProviderPrivilegeProposal{}, "oracle/RevokeProviderPrivilegeProposal", nil) + cdc.RegisterConcrete(&Params{}, "oracle/Params", nil) } func RegisterInterfaces(registry types.InterfaceRegistry) { @@ -80,6 +79,7 @@ func init() { amino.Seal() RegisterLegacyAminoCodec(authzcdc.Amino) - RegisterLegacyAminoCodec(govcdc.Amino) - RegisterLegacyAminoCodec(groupcdc.Amino) + // TODO: check + // RegisterLegacyAminoCodec(govcdc.Amino) + // RegisterLegacyAminoCodec(groupcdc.Amino) } diff --git a/chain/oracle/types/events.pb.go b/chain/oracle/types/events.pb.go index d8b8118e..8ea77f37 100644 --- a/chain/oracle/types/events.pb.go +++ b/chain/oracle/types/events.pb.go @@ -4,9 +4,9 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" _ "github.com/cosmos/cosmos-sdk/types" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -26,9 +26,9 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type SetChainlinkPriceEvent struct { - FeedId string `protobuf:"bytes,1,opt,name=feed_id,json=feedId,proto3" json:"feed_id,omitempty"` - Answer github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=answer,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"answer"` - Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + FeedId string `protobuf:"bytes,1,opt,name=feed_id,json=feedId,proto3" json:"feed_id,omitempty"` + Answer cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=answer,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"answer"` + Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` } func (m *SetChainlinkPriceEvent) Reset() { *m = SetChainlinkPriceEvent{} } @@ -80,11 +80,11 @@ func (m *SetChainlinkPriceEvent) GetTimestamp() uint64 { // Event type upon set ref type SetBandPriceEvent struct { - Relayer string `protobuf:"bytes,1,opt,name=relayer,proto3" json:"relayer,omitempty"` - Symbol string `protobuf:"bytes,2,opt,name=symbol,proto3" json:"symbol,omitempty"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` - ResolveTime uint64 `protobuf:"varint,4,opt,name=resolve_time,json=resolveTime,proto3" json:"resolve_time,omitempty"` - RequestId uint64 `protobuf:"varint,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + Relayer string `protobuf:"bytes,1,opt,name=relayer,proto3" json:"relayer,omitempty"` + Symbol string `protobuf:"bytes,2,opt,name=symbol,proto3" json:"symbol,omitempty"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` + ResolveTime uint64 `protobuf:"varint,4,opt,name=resolve_time,json=resolveTime,proto3" json:"resolve_time,omitempty"` + RequestId uint64 `protobuf:"varint,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` } func (m *SetBandPriceEvent) Reset() { *m = SetBandPriceEvent{} } @@ -149,12 +149,12 @@ func (m *SetBandPriceEvent) GetRequestId() uint64 { } type SetBandIBCPriceEvent struct { - Relayer string `protobuf:"bytes,1,opt,name=relayer,proto3" json:"relayer,omitempty"` - Symbols []string `protobuf:"bytes,2,rep,name=symbols,proto3" json:"symbols,omitempty"` - Prices []github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,rep,name=prices,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"prices"` - ResolveTime uint64 `protobuf:"varint,4,opt,name=resolve_time,json=resolveTime,proto3" json:"resolve_time,omitempty"` - RequestId uint64 `protobuf:"varint,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` - ClientId int64 `protobuf:"varint,6,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + Relayer string `protobuf:"bytes,1,opt,name=relayer,proto3" json:"relayer,omitempty"` + Symbols []string `protobuf:"bytes,2,rep,name=symbols,proto3" json:"symbols,omitempty"` + Prices []cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,rep,name=prices,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"prices"` + ResolveTime uint64 `protobuf:"varint,4,opt,name=resolve_time,json=resolveTime,proto3" json:"resolve_time,omitempty"` + RequestId uint64 `protobuf:"varint,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + ClientId int64 `protobuf:"varint,6,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` } func (m *SetBandIBCPriceEvent) Reset() { *m = SetBandIBCPriceEvent{} } @@ -378,7 +378,7 @@ type SetPriceFeedPriceEvent struct { Base string `protobuf:"bytes,2,opt,name=base,proto3" json:"base,omitempty"` Quote string `protobuf:"bytes,3,opt,name=quote,proto3" json:"quote,omitempty"` // price defines the price of the oracle base and quote - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` } func (m *SetPriceFeedPriceEvent) Reset() { *m = SetPriceFeedPriceEvent{} } @@ -436,10 +436,10 @@ func (m *SetPriceFeedPriceEvent) GetQuote() string { } type SetProviderPriceEvent struct { - Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` - Relayer string `protobuf:"bytes,2,opt,name=relayer,proto3" json:"relayer,omitempty"` - Symbol string `protobuf:"bytes,3,opt,name=symbol,proto3" json:"symbol,omitempty"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` + Relayer string `protobuf:"bytes,2,opt,name=relayer,proto3" json:"relayer,omitempty"` + Symbol string `protobuf:"bytes,3,opt,name=symbol,proto3" json:"symbol,omitempty"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` } func (m *SetProviderPriceEvent) Reset() { *m = SetProviderPriceEvent{} } @@ -497,9 +497,9 @@ func (m *SetProviderPriceEvent) GetSymbol() string { } type SetCoinbasePriceEvent struct { - Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` - Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` + Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` } func (m *SetCoinbasePriceEvent) Reset() { *m = SetCoinbasePriceEvent{} } @@ -611,49 +611,49 @@ func init() { } var fileDescriptor_c42b07097291dfa0 = []byte{ - // 664 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xbd, 0x6e, 0xdb, 0x48, - 0x10, 0xd6, 0x4a, 0xb2, 0x6c, 0xad, 0xaf, 0x39, 0x42, 0xe7, 0x23, 0xec, 0x3b, 0x5a, 0x11, 0x90, - 0x40, 0x8d, 0x49, 0x38, 0xe9, 0x52, 0x25, 0xf2, 0x0f, 0x20, 0xc0, 0x85, 0x41, 0x19, 0x29, 0xd2, - 0x18, 0xd4, 0x72, 0x6c, 0x6f, 0x44, 0x72, 0xe5, 0xdd, 0xa5, 0x02, 0xbd, 0x45, 0x80, 0x14, 0xe9, - 0xd3, 0xe6, 0x45, 0xdc, 0x04, 0x70, 0x19, 0xa4, 0x30, 0x02, 0xfb, 0x09, 0xf2, 0x06, 0xc1, 0xfe, - 0x48, 0x62, 0x04, 0x2b, 0xb0, 0xa1, 0x8a, 0x9c, 0xd9, 0x99, 0x6f, 0xbe, 0x6f, 0x77, 0x66, 0xf0, - 0x53, 0x9a, 0xbd, 0x03, 0x22, 0xe9, 0x08, 0x02, 0xc6, 0x23, 0x92, 0x40, 0x30, 0xda, 0xed, 0x83, - 0x8c, 0x76, 0x03, 0x18, 0x41, 0x26, 0x85, 0x3f, 0xe4, 0x4c, 0x32, 0xc7, 0x9d, 0x86, 0xf9, 0x26, - 0xcc, 0xb7, 0x61, 0x9b, 0x8d, 0x73, 0x76, 0xce, 0x74, 0x50, 0xa0, 0xfe, 0x4c, 0xfc, 0xa6, 0x47, - 0x98, 0x48, 0x99, 0x08, 0xfa, 0x91, 0x98, 0x21, 0x12, 0x46, 0x33, 0x7b, 0xbe, 0xb8, 0xac, 0x85, - 0xd7, 0x61, 0xad, 0x4f, 0x08, 0x6f, 0xf4, 0x40, 0xee, 0x5d, 0x44, 0x34, 0x4b, 0x68, 0x36, 0x38, - 0xe6, 0x94, 0xc0, 0x81, 0x22, 0xe6, 0xfc, 0x8b, 0x57, 0xcf, 0x00, 0xe2, 0x53, 0x1a, 0xbb, 0xa8, - 0x89, 0xda, 0xf5, 0xb0, 0xa6, 0xcc, 0x6e, 0xec, 0x1c, 0xe2, 0x5a, 0x94, 0x89, 0xf7, 0xc0, 0xdd, - 0xb2, 0xf2, 0x77, 0xfc, 0xab, 0x9b, 0xed, 0xd2, 0xf7, 0x9b, 0xed, 0x67, 0xe7, 0x54, 0x5e, 0xe4, - 0x7d, 0x9f, 0xb0, 0x34, 0xb0, 0xec, 0xcc, 0x67, 0x47, 0xc4, 0x83, 0x40, 0x8e, 0x87, 0x20, 0xfc, - 0x7d, 0x20, 0xa1, 0xcd, 0x76, 0xfe, 0xc3, 0x75, 0x49, 0x53, 0x10, 0x32, 0x4a, 0x87, 0x6e, 0xa5, - 0x89, 0xda, 0xd5, 0x70, 0xe6, 0x68, 0x7d, 0x45, 0xf8, 0xef, 0x1e, 0xc8, 0x4e, 0x94, 0xc5, 0x05, - 0x52, 0x2e, 0x5e, 0xe5, 0x90, 0x44, 0x63, 0xe0, 0x96, 0xd4, 0xc4, 0x74, 0x36, 0x70, 0x4d, 0x8c, - 0xd3, 0x3e, 0x4b, 0x0c, 0xab, 0xd0, 0x5a, 0xce, 0x3e, 0x5e, 0x19, 0xaa, 0x7c, 0x5d, 0xe1, 0xf1, - 0x64, 0x4d, 0xb2, 0xf3, 0x04, 0xff, 0xc5, 0x41, 0xb0, 0x64, 0x04, 0xa7, 0x8a, 0xa2, 0x5b, 0xd5, - 0x74, 0xd7, 0xad, 0xef, 0x84, 0xa6, 0xe0, 0xfc, 0x8f, 0x31, 0x87, 0xcb, 0x1c, 0x84, 0x54, 0x57, - 0xb6, 0x62, 0xf4, 0x58, 0x4f, 0x37, 0x6e, 0xfd, 0x44, 0xb8, 0x61, 0xf5, 0x74, 0x3b, 0x7b, 0x0f, - 0x92, 0xe4, 0xe2, 0x55, 0x23, 0x42, 0xb8, 0xe5, 0x66, 0x45, 0x9d, 0x58, 0x53, 0x3d, 0x81, 0xe6, - 0x25, 0xdc, 0x8a, 0x3a, 0x78, 0xfc, 0x13, 0x98, 0xec, 0xe5, 0x65, 0x39, 0x5b, 0xb8, 0x4e, 0x12, - 0x0a, 0x99, 0x3e, 0xad, 0x35, 0x51, 0xbb, 0x12, 0xae, 0x19, 0x47, 0x37, 0x6e, 0x9d, 0xe0, 0x0d, - 0xad, 0xd1, 0x8a, 0x7e, 0x4d, 0x06, 0xbd, 0x9c, 0x10, 0x10, 0x42, 0xa1, 0x46, 0x64, 0x70, 0xca, - 0x41, 0xe4, 0x89, 0xb4, 0xba, 0xeb, 0x11, 0x19, 0x84, 0xda, 0xf1, 0x3b, 0x6a, 0x79, 0x0e, 0xf5, - 0x18, 0x37, 0xe6, 0x50, 0x0f, 0x38, 0x67, 0x5c, 0x25, 0x29, 0x4c, 0x50, 0x86, 0x85, 0x5c, 0x8b, - 0x0a, 0x87, 0x8b, 0x11, 0x5f, 0xe2, 0xad, 0x22, 0x62, 0x08, 0x62, 0xc8, 0x32, 0xa1, 0xf5, 0xb3, - 0x7c, 0x8e, 0x0d, 0x9a, 0xcb, 0xfd, 0x6c, 0x26, 0x48, 0x3f, 0xe8, 0x21, 0xc0, 0xc3, 0x9a, 0xd5, - 0xc1, 0x55, 0x35, 0xb8, 0xb6, 0x55, 0xf5, 0xbf, 0xd3, 0xc0, 0x2b, 0x97, 0x39, 0x93, 0xb6, 0x51, - 0x43, 0x63, 0xcc, 0xda, 0xb7, 0xba, 0x44, 0xfb, 0xb6, 0xbe, 0x20, 0xfc, 0x8f, 0x26, 0xc9, 0x46, - 0x34, 0x06, 0x5e, 0xe0, 0xb8, 0x89, 0xd7, 0x86, 0xd6, 0x3b, 0xb9, 0xb3, 0x89, 0x5d, 0xe4, 0x5f, - 0x5e, 0x34, 0x6c, 0x95, 0xfb, 0x87, 0x6d, 0x29, 0xb6, 0x1f, 0x0d, 0xdb, 0x3d, 0x46, 0x33, 0x75, - 0x33, 0x05, 0xb6, 0xb3, 0xba, 0xe8, 0xfe, 0xba, 0xe5, 0x65, 0x86, 0xfc, 0xcf, 0x0b, 0xe9, 0x0d, - 0x76, 0x34, 0x09, 0x75, 0x8f, 0x63, 0x79, 0x71, 0x6c, 0x26, 0xe8, 0xd5, 0x74, 0x12, 0x51, 0xb3, - 0xd2, 0x5e, 0x7f, 0xde, 0xf6, 0x17, 0x2d, 0x72, 0x7f, 0x9a, 0xd5, 0x93, 0x91, 0x84, 0xc9, 0x0c, - 0x76, 0xce, 0xae, 0x6e, 0x3d, 0x74, 0x7d, 0xeb, 0xa1, 0x1f, 0xb7, 0x1e, 0xfa, 0x70, 0xe7, 0x95, - 0xae, 0xef, 0xbc, 0xd2, 0xb7, 0x3b, 0xaf, 0xf4, 0xf6, 0xa8, 0x40, 0xbf, 0x3b, 0x41, 0x3d, 0x8a, - 0xfa, 0x22, 0x98, 0xd6, 0xd8, 0x21, 0x8c, 0x43, 0xd1, 0x54, 0x8b, 0x3c, 0x48, 0x59, 0x9c, 0x27, - 0x20, 0x26, 0x9b, 0x5f, 0x0b, 0xed, 0xd7, 0xf4, 0xc6, 0x7f, 0xf1, 0x2b, 0x00, 0x00, 0xff, 0xff, - 0x81, 0xc7, 0x44, 0x17, 0x91, 0x06, 0x00, 0x00, + // 665 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xb1, 0x6e, 0x13, 0x4d, + 0x10, 0xf6, 0xda, 0x8e, 0x13, 0x6f, 0xfe, 0xe6, 0x3f, 0x99, 0x70, 0x4a, 0xc0, 0x31, 0x46, 0x48, + 0x6e, 0xb8, 0x53, 0xa0, 0x02, 0x1a, 0x70, 0x08, 0x92, 0xa5, 0x14, 0xd1, 0x39, 0xa2, 0xa0, 0x89, + 0xd6, 0x7b, 0x13, 0x7b, 0xf1, 0xdd, 0xad, 0xb3, 0xbb, 0x67, 0xe4, 0x37, 0xa0, 0xa0, 0xa0, 0xa3, + 0xe5, 0x59, 0xa8, 0x52, 0xa6, 0x44, 0x14, 0x11, 0x4a, 0x24, 0x9e, 0x03, 0xed, 0xde, 0xda, 0x3e, + 0xac, 0x18, 0x39, 0xa2, 0xbb, 0x99, 0x9d, 0xf9, 0xe6, 0x9b, 0xb9, 0xf9, 0x06, 0x3f, 0x62, 0xc9, + 0x7b, 0xa0, 0x8a, 0x8d, 0xc1, 0xe7, 0x82, 0xd0, 0x08, 0xfc, 0xf1, 0x5e, 0x0f, 0x14, 0xd9, 0xf3, + 0x61, 0x0c, 0x89, 0x92, 0xde, 0x48, 0x70, 0xc5, 0x1d, 0x77, 0x16, 0xe6, 0x65, 0x61, 0x9e, 0x0d, + 0xdb, 0xae, 0xf5, 0x79, 0x9f, 0x9b, 0x20, 0x5f, 0x7f, 0x65, 0xf1, 0xdb, 0x75, 0xca, 0x65, 0xcc, + 0xa5, 0xdf, 0x23, 0x72, 0x8e, 0x48, 0x39, 0x4b, 0xec, 0xfb, 0xf2, 0xb2, 0x16, 0xde, 0x84, 0x35, + 0x3f, 0x21, 0xbc, 0xd5, 0x05, 0xb5, 0x3f, 0x20, 0x2c, 0x89, 0x58, 0x32, 0x3c, 0x12, 0x8c, 0xc2, + 0x81, 0x26, 0xe6, 0xdc, 0xc5, 0xeb, 0xa7, 0x00, 0xe1, 0x09, 0x0b, 0x5d, 0xd4, 0x40, 0xad, 0x6a, + 0x50, 0xd1, 0x66, 0x27, 0x74, 0x5e, 0xe0, 0x0a, 0x49, 0xe4, 0x07, 0x10, 0x6e, 0x51, 0xfb, 0xdb, + 0x0f, 0xcf, 0x2f, 0x77, 0x0b, 0x3f, 0x2e, 0x77, 0x77, 0x32, 0x4a, 0x32, 0x1c, 0x7a, 0x8c, 0xfb, + 0x31, 0x51, 0x03, 0xef, 0x10, 0xfa, 0x84, 0x4e, 0x5e, 0x03, 0x0d, 0x6c, 0x8a, 0x73, 0x0f, 0x57, + 0x15, 0x8b, 0x41, 0x2a, 0x12, 0x8f, 0xdc, 0x52, 0x03, 0xb5, 0xca, 0xc1, 0xdc, 0xd1, 0xfc, 0x86, + 0xf0, 0xff, 0x5d, 0x50, 0x6d, 0x92, 0x84, 0x39, 0x26, 0x2e, 0x5e, 0x17, 0x10, 0x91, 0x09, 0x08, + 0xcb, 0x64, 0x6a, 0x3a, 0x5b, 0xb8, 0x22, 0x27, 0x71, 0x8f, 0x47, 0x19, 0x95, 0xc0, 0x5a, 0xce, + 0x33, 0xbc, 0x36, 0xd2, 0xf9, 0xa6, 0xc2, 0x8a, 0x0c, 0xb3, 0x0c, 0xe7, 0x01, 0xfe, 0x4f, 0x80, + 0xe4, 0xd1, 0x18, 0x4e, 0x34, 0x2f, 0xb7, 0x6c, 0x38, 0x6e, 0x5a, 0xdf, 0x31, 0x8b, 0xc1, 0xb9, + 0x8f, 0xb1, 0x80, 0xb3, 0x14, 0xa4, 0xd2, 0xc3, 0x59, 0xcb, 0x9a, 0xb0, 0x9e, 0x4e, 0xd8, 0xfc, + 0x85, 0x70, 0xcd, 0x36, 0xd1, 0x69, 0xef, 0xaf, 0xd4, 0x87, 0x8b, 0xd7, 0x33, 0xe6, 0xd2, 0x2d, + 0x36, 0x4a, 0xfa, 0xc5, 0x9a, 0x7a, 0xd8, 0x86, 0x97, 0x74, 0x4b, 0xfa, 0x61, 0xc5, 0x61, 0x67, + 0x29, 0xff, 0xde, 0x8b, 0xb3, 0x83, 0xab, 0x34, 0x62, 0x90, 0x98, 0xd7, 0x4a, 0x03, 0xb5, 0x4a, + 0xc1, 0x46, 0xe6, 0xe8, 0x84, 0xcd, 0x63, 0xbc, 0x65, 0x1a, 0xb3, 0x9d, 0xbe, 0xa2, 0xc3, 0x6e, + 0x4a, 0x29, 0x48, 0xa9, 0x51, 0x09, 0x1d, 0x9e, 0x08, 0x90, 0x69, 0xa4, 0x6c, 0xb3, 0x55, 0x42, + 0x87, 0x81, 0x71, 0xfc, 0x89, 0x5a, 0x5c, 0x40, 0x3d, 0xc2, 0xb5, 0x05, 0xd4, 0x03, 0x21, 0xb8, + 0xd0, 0x49, 0x1a, 0x13, 0xb4, 0x61, 0x21, 0x37, 0x48, 0xee, 0x71, 0x39, 0xe2, 0x73, 0xbc, 0x93, + 0x47, 0x0c, 0x40, 0x8e, 0x78, 0x22, 0x4d, 0xff, 0x3c, 0x5d, 0x60, 0x83, 0x16, 0x72, 0xbf, 0x64, + 0x02, 0x31, 0x7f, 0xf1, 0x0d, 0xc0, 0x6a, 0x6b, 0xe9, 0xe0, 0xb2, 0xd6, 0xa5, 0x5d, 0x4a, 0xf3, + 0xed, 0xd4, 0xf0, 0xda, 0x59, 0xca, 0x95, 0x5d, 0xc9, 0x20, 0x33, 0xe6, 0x8b, 0x5a, 0xbe, 0xed, + 0xa2, 0x36, 0xbf, 0x22, 0x7c, 0xc7, 0x30, 0xe3, 0x63, 0x16, 0x82, 0xc8, 0x11, 0xdb, 0xc6, 0x1b, + 0x23, 0xeb, 0x9d, 0x0e, 0x6a, 0x6a, 0xe7, 0x49, 0x17, 0x97, 0x69, 0xa9, 0x74, 0xb3, 0x96, 0x6e, + 0x4f, 0xf1, 0x63, 0x46, 0x71, 0x9f, 0xb3, 0x44, 0xcf, 0x20, 0x47, 0x71, 0x5e, 0x0c, 0xdd, 0x5c, + 0xac, 0x78, 0x6b, 0xe1, 0xfe, 0xfd, 0xb2, 0xbc, 0xc5, 0x8e, 0xa9, 0xac, 0x27, 0x36, 0x51, 0x83, + 0xa3, 0x4c, 0x20, 0x2f, 0x67, 0xea, 0x42, 0x8d, 0x52, 0x6b, 0xf3, 0x49, 0xcb, 0x5b, 0x76, 0x86, + 0xbd, 0x59, 0x56, 0x57, 0x11, 0x05, 0x53, 0x89, 0xb5, 0x4f, 0xcf, 0xaf, 0xea, 0xe8, 0xe2, 0xaa, + 0x8e, 0x7e, 0x5e, 0xd5, 0xd1, 0xe7, 0xeb, 0x7a, 0xe1, 0xe2, 0xba, 0x5e, 0xf8, 0x7e, 0x5d, 0x2f, + 0xbc, 0x3b, 0xec, 0x33, 0x35, 0x48, 0x7b, 0x1e, 0xe5, 0xb1, 0xdf, 0x99, 0xa2, 0x1e, 0x92, 0x9e, + 0xf4, 0x67, 0x35, 0x1e, 0x53, 0x2e, 0x20, 0x6f, 0xea, 0x33, 0xec, 0xc7, 0x3c, 0x4c, 0x23, 0x90, + 0xd3, 0xbb, 0xad, 0x26, 0x23, 0x90, 0xbd, 0x8a, 0xb9, 0xd7, 0x4f, 0x7f, 0x07, 0x00, 0x00, 0xff, + 0xff, 0xbc, 0x05, 0xc5, 0xe3, 0x4f, 0x06, 0x00, 0x00, } func (m *SetChainlinkPriceEvent) Marshal() (dAtA []byte, err error) { @@ -1775,7 +1775,7 @@ func (m *SetBandIBCPriceEvent) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.Prices = append(m.Prices, v) if err := m.Prices[len(m.Prices)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/chain/oracle/types/expected_keepers.go b/chain/oracle/types/expected_keepers.go index 7cff08ad..dd6e7ed2 100644 --- a/chain/oracle/types/expected_keepers.go +++ b/chain/oracle/types/expected_keepers.go @@ -1,21 +1,23 @@ package types import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" - capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" - channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + capabilitytypes "github.com/cosmos/ibc-go/modules/capability/types" + clienttypes "github.com/cosmos/ibc-go/v8/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" ocrtypes "github.com/InjectiveLabs/sdk-go/chain/ocr/types" ) // BankKeeper defines the expected bank keeper methods type BankKeeper interface { - GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins - SendCoinsFromModuleToModule(ctx sdk.Context, senderModule, recipientModule string, amt sdk.Coins) error - 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 + GetAllBalances(ctx context.Context, addr sdk.AccAddress) sdk.Coins + SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error + SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error + BurnCoins(ctx context.Context, moduleName string, amt sdk.Coins) error } // ChannelKeeper defines the expected IBC channel keeper diff --git a/chain/oracle/types/oracle.go b/chain/oracle/types/oracle.go index a03aad9b..acb83b38 100644 --- a/chain/oracle/types/oracle.go +++ b/chain/oracle/types/oracle.go @@ -4,7 +4,7 @@ import ( "strings" "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" "github.com/cosmos/gogoproto/proto" ) @@ -47,29 +47,29 @@ func (o *OracleType) UnmarshalJSON(data []byte) error { return nil } -func (c *CoinbasePriceState) GetDecPrice() sdk.Dec { +func (c *CoinbasePriceState) GetDecPrice() math.LegacyDec { // nolint:all // price = price/10^6 - return sdk.NewDec(int64(c.Value)).QuoTruncate(sdk.NewDec(10).Power(6)) + return math.LegacyNewDec(int64(c.Value)).QuoTruncate(math.LegacyNewDec(10).Power(6)) } -func NewPriceState(price sdk.Dec, timestamp int64) *PriceState { +func NewPriceState(price math.LegacyDec, timestamp int64) *PriceState { return &PriceState{ Price: price, - CumulativePrice: sdk.ZeroDec(), + CumulativePrice: math.LegacyZeroDec(), Timestamp: timestamp, } } -func NewProviderPriceState(symbol string, price sdk.Dec, timestamp int64) *ProviderPriceState { +func NewProviderPriceState(symbol string, price math.LegacyDec, timestamp int64) *ProviderPriceState { return &ProviderPriceState{ Symbol: symbol, State: NewPriceState(price, timestamp), } } -func (p *PriceState) UpdatePrice(price sdk.Dec, timestamp int64) { - cumulativePriceDelta := sdk.NewDec(timestamp - p.Timestamp).Mul(p.Price) +func (p *PriceState) UpdatePrice(price math.LegacyDec, timestamp int64) { + cumulativePriceDelta := math.LegacyNewDec(timestamp - p.Timestamp).Mul(p.Price) p.CumulativePrice = p.CumulativePrice.Add(cumulativePriceDelta) p.Timestamp = timestamp p.Price = price @@ -105,8 +105,8 @@ func (s SymbolPriceTimestamps) GetTimestamp(oracleType OracleType, symbol string } // CheckPriceFeedThreshold returns true if the newPrice has changed beyond 100x or less than 1% of the last price -func CheckPriceFeedThreshold(lastPrice, newPrice sdk.Dec) bool { - return newPrice.GT(lastPrice.Mul(sdk.NewDec(100))) || newPrice.LT(lastPrice.Quo(sdk.NewDec(100))) +func CheckPriceFeedThreshold(lastPrice, newPrice math.LegacyDec) bool { + return newPrice.GT(lastPrice.Mul(math.LegacyNewDec(100))) || newPrice.LT(lastPrice.Quo(math.LegacyNewDec(100))) } func IsLegacySchemeOracleScript(scriptID int64, params BandIBCParams) bool { diff --git a/chain/oracle/types/oracle.pb.go b/chain/oracle/types/oracle.pb.go index 156c1208..f1d3ea11 100644 --- a/chain/oracle/types/oracle.pb.go +++ b/chain/oracle/types/oracle.pb.go @@ -4,9 +4,11 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" 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/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" golang_proto "github.com/golang/protobuf/proto" @@ -179,10 +181,10 @@ func (m *OracleInfo) GetOracleType() OracleType { } type ChainlinkPriceState struct { - FeedId string `protobuf:"bytes,1,opt,name=feed_id,json=feedId,proto3" json:"feed_id,omitempty"` - Answer github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=answer,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"answer"` - Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - PriceState PriceState `protobuf:"bytes,4,opt,name=price_state,json=priceState,proto3" json:"price_state"` + FeedId string `protobuf:"bytes,1,opt,name=feed_id,json=feedId,proto3" json:"feed_id,omitempty"` + Answer cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=answer,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"answer"` + Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + PriceState PriceState `protobuf:"bytes,4,opt,name=price_state,json=priceState,proto3" json:"price_state"` } func (m *ChainlinkPriceState) Reset() { *m = ChainlinkPriceState{} } @@ -240,11 +242,11 @@ func (m *ChainlinkPriceState) GetPriceState() PriceState { } type BandPriceState struct { - Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` - Rate github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,2,opt,name=rate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"rate"` - ResolveTime uint64 `protobuf:"varint,3,opt,name=resolve_time,json=resolveTime,proto3" json:"resolve_time,omitempty"` - Request_ID uint64 `protobuf:"varint,4,opt,name=request_ID,json=requestID,proto3" json:"request_ID,omitempty"` - PriceState PriceState `protobuf:"bytes,5,opt,name=price_state,json=priceState,proto3" json:"price_state"` + Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` + Rate cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=rate,proto3,customtype=cosmossdk.io/math.Int" json:"rate"` + ResolveTime uint64 `protobuf:"varint,3,opt,name=resolve_time,json=resolveTime,proto3" json:"resolve_time,omitempty"` + Request_ID uint64 `protobuf:"varint,4,opt,name=request_ID,json=requestID,proto3" json:"request_ID,omitempty"` + PriceState PriceState `protobuf:"bytes,5,opt,name=price_state,json=priceState,proto3" json:"price_state"` } func (m *BandPriceState) Reset() { *m = BandPriceState{} } @@ -585,7 +587,7 @@ func (m *PriceFeedInfo) GetQuote() string { } type PriceFeedPrice 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"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` } func (m *PriceFeedPrice) Reset() { *m = PriceFeedPrice{} } @@ -703,9 +705,9 @@ func (m *CoinbasePriceState) GetPriceState() PriceState { } type PriceState 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"` - 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"` - Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` + CumulativePrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=cumulative_price,json=cumulativePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cumulative_price"` + Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` } func (m *PriceState) Reset() { *m = PriceState{} } @@ -749,12 +751,12 @@ func (m *PriceState) GetTimestamp() int64 { } type PythPriceState struct { - PriceId string `protobuf:"bytes,1,opt,name=price_id,json=priceId,proto3" json:"price_id,omitempty"` - EmaPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=ema_price,json=emaPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"ema_price"` - EmaConf github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=ema_conf,json=emaConf,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"ema_conf"` - Conf github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=conf,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"conf"` - PublishTime uint64 `protobuf:"varint,5,opt,name=publish_time,json=publishTime,proto3" json:"publish_time,omitempty"` - PriceState PriceState `protobuf:"bytes,6,opt,name=price_state,json=priceState,proto3" json:"price_state"` + PriceId string `protobuf:"bytes,1,opt,name=price_id,json=priceId,proto3" json:"price_id,omitempty"` + EmaPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=ema_price,json=emaPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"ema_price"` + EmaConf cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=ema_conf,json=emaConf,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"ema_conf"` + Conf cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=conf,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"conf"` + PublishTime uint64 `protobuf:"varint,5,opt,name=publish_time,json=publishTime,proto3" json:"publish_time,omitempty"` + PriceState PriceState `protobuf:"bytes,6,opt,name=price_state,json=priceState,proto3" json:"price_state"` } func (m *PythPriceState) Reset() { *m = PythPriceState{} } @@ -1189,8 +1191,8 @@ func (m *PriceRecords) GetLatestPriceRecords() []*PriceRecord { } type PriceRecord struct { - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` } func (m *PriceRecord) Reset() { *m = PriceRecord{} } @@ -1245,20 +1247,20 @@ type MetadataStatistics struct { // 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"` + Mean cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=mean,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=twap,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"twap"` + Twap cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=twap,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` // LastTimestamp is the timestamp of the youngest record considered LastTimestamp int64 `protobuf:"varint,6,opt,name=last_timestamp,json=lastTimestamp,proto3" json:"last_timestamp,omitempty"` // MinPrice refers to the smallest individual raw price considered - MinPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=min_price,json=minPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_price"` + MinPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=min_price,json=minPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_price"` // MaxPrice refers to the largest individual raw price considered - MaxPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,8,opt,name=max_price,json=maxPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"max_price"` + MaxPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=max_price,json=maxPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"max_price"` // MedianPrice refers to the median individual raw price considered - MedianPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,9,opt,name=median_price,json=medianPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"median_price"` + MedianPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=median_price,json=medianPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"median_price"` } func (m *MetadataStatistics) Reset() { *m = MetadataStatistics{} } @@ -1478,109 +1480,111 @@ func init() { } var fileDescriptor_1c8fbf1e7a765423 = []byte{ - // 1620 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x4f, 0x73, 0x1b, 0x4b, - 0x11, 0xf7, 0xea, 0xff, 0xb6, 0x2c, 0x79, 0x33, 0xf6, 0x03, 0xc5, 0x80, 0x6c, 0x04, 0x79, 0xa8, - 0x5e, 0xbd, 0x27, 0xbd, 0x38, 0x27, 0x52, 0x5c, 0x62, 0x3b, 0xa1, 0x54, 0x31, 0x85, 0x59, 0x3b, - 0xa1, 0xe0, 0x22, 0x66, 0x77, 0x47, 0xd6, 0xc4, 0xfb, 0x2f, 0x3b, 0x2b, 0xc7, 0xca, 0x07, 0xc8, - 0x15, 0xbe, 0x00, 0x05, 0xe7, 0x7c, 0x05, 0xaa, 0x28, 0x8a, 0x53, 0xaa, 0xb8, 0xe4, 0x48, 0x71, - 0x08, 0x10, 0x5f, 0xf8, 0x06, 0x1c, 0xb8, 0x50, 0x3d, 0x33, 0x5a, 0xad, 0x6d, 0x9c, 0xf8, 0x4f, - 0x38, 0x69, 0xa6, 0xa7, 0xfb, 0x37, 0xfd, 0x6f, 0xba, 0x7b, 0x05, 0x77, 0x78, 0xf8, 0x8c, 0xb9, - 0x29, 0x3f, 0x62, 0xfd, 0x28, 0xa1, 0xae, 0xcf, 0xfa, 0x47, 0x77, 0x1d, 0x96, 0xd2, 0xbb, 0x7a, - 0xdb, 0x8b, 0x93, 0x28, 0x8d, 0x48, 0x2b, 0x63, 0xeb, 0x69, 0xba, 0x66, 0x5b, 0x5d, 0x39, 0x88, - 0x0e, 0x22, 0xc9, 0xd4, 0xc7, 0x95, 0xe2, 0x5f, 0x6d, 0xbb, 0x91, 0x08, 0x22, 0xd1, 0x77, 0xa8, - 0x98, 0x23, 0xba, 0x11, 0x0f, 0xd5, 0x79, 0xe7, 0x1e, 0x54, 0x76, 0x69, 0x42, 0x03, 0x41, 0xbe, - 0x07, 0x8d, 0x78, 0x9a, 0x8e, 0x87, 0x6e, 0x14, 0xa6, 0x09, 0x75, 0xd3, 0x96, 0xb1, 0x6e, 0x74, - 0x4d, 0x7b, 0x11, 0x89, 0x5b, 0x9a, 0x76, 0xbf, 0xf4, 0xaf, 0xdf, 0xaf, 0x19, 0x9d, 0x43, 0x80, - 0x9f, 0xca, 0xcb, 0x07, 0xe1, 0x28, 0x22, 0xdf, 0x80, 0x8a, 0x98, 0x06, 0x4e, 0xe4, 0x6b, 0x09, - 0xbd, 0x23, 0x0f, 0xa1, 0xae, 0x54, 0x1c, 0xa6, 0xd3, 0x98, 0xb5, 0x0a, 0xeb, 0x46, 0xb7, 0xb9, - 0xf1, 0xfd, 0xde, 0x45, 0x06, 0xf4, 0x14, 0xe4, 0xfe, 0x34, 0x66, 0x36, 0x44, 0xd9, 0xba, 0xf3, - 0x4f, 0x03, 0x96, 0xb7, 0xc6, 0x94, 0x87, 0x3e, 0x0f, 0x0f, 0x77, 0x13, 0xee, 0xb2, 0xbd, 0x94, - 0xa6, 0x8c, 0x7c, 0x13, 0xaa, 0x23, 0xc6, 0xbc, 0x21, 0xf7, 0x66, 0xf7, 0xe2, 0x76, 0xe0, 0x91, - 0x47, 0x50, 0xa1, 0xa1, 0x78, 0xc1, 0x12, 0x79, 0xa5, 0xb9, 0xd9, 0x7b, 0xf3, 0x6e, 0x6d, 0xe1, - 0x6f, 0xef, 0xd6, 0x3e, 0x3f, 0xe0, 0xe9, 0x78, 0xe2, 0xf4, 0xdc, 0x28, 0xe8, 0x6b, 0xaf, 0xa8, - 0x9f, 0xaf, 0x84, 0x77, 0xd8, 0x47, 0x1d, 0x45, 0x6f, 0x9b, 0xb9, 0xb6, 0x96, 0x26, 0xdf, 0x06, - 0x33, 0xe5, 0x01, 0x13, 0x29, 0x0d, 0xe2, 0x56, 0x71, 0xdd, 0xe8, 0x96, 0xec, 0x39, 0x81, 0x3c, - 0x86, 0x7a, 0x8c, 0xca, 0x0c, 0x05, 0x6a, 0xd3, 0x2a, 0xad, 0x1b, 0xdd, 0xfa, 0x87, 0xac, 0x9b, - 0x6b, 0xbe, 0x59, 0x42, 0x85, 0x6c, 0x88, 0x33, 0x4a, 0xe7, 0x3f, 0x06, 0x34, 0x37, 0x69, 0xe8, - 0xe5, 0xcc, 0xbb, 0xc8, 0xab, 0x9b, 0x50, 0x4a, 0xf0, 0xc2, 0xab, 0xdb, 0x36, 0x08, 0x53, 0x5b, - 0xca, 0x92, 0xef, 0xc2, 0x62, 0xc2, 0x44, 0xe4, 0x1f, 0xb1, 0x21, 0x1a, 0xa4, 0x8d, 0xab, 0x6b, - 0xda, 0x3e, 0x0f, 0x18, 0xf9, 0x0e, 0x40, 0xc2, 0x9e, 0x4f, 0x98, 0x48, 0x87, 0x83, 0x6d, 0x69, - 0x5d, 0xc9, 0x36, 0x35, 0x65, 0xb0, 0x7d, 0xd6, 0xfa, 0xf2, 0x8d, 0xac, 0xff, 0xad, 0x01, 0x4d, - 0xc9, 0xf0, 0x88, 0x31, 0x4f, 0x59, 0x4f, 0xa0, 0x84, 0x19, 0xab, 0x6d, 0x97, 0x6b, 0xb2, 0x02, - 0xe5, 0xe7, 0x93, 0x68, 0x66, 0xba, 0xad, 0x36, 0x98, 0x65, 0x79, 0x4d, 0x8a, 0x97, 0xd7, 0x24, - 0xaf, 0x03, 0x59, 0x85, 0x5a, 0xc2, 0x7c, 0x3a, 0x65, 0x89, 0x68, 0x95, 0xd6, 0x8b, 0x5d, 0xd3, - 0xce, 0xf6, 0x9d, 0x47, 0xb0, 0xb8, 0x9b, 0x44, 0x47, 0xdc, 0x63, 0x89, 0x4c, 0xf8, 0x55, 0xa8, - 0xc5, 0x7a, 0xaf, 0x15, 0xcc, 0xf6, 0xa7, 0x70, 0x0a, 0x67, 0x70, 0xfe, 0x68, 0x40, 0x63, 0x06, - 0xa4, 0x6e, 0x7d, 0x0c, 0x8d, 0x99, 0xe4, 0x90, 0x87, 0xa3, 0x48, 0xc2, 0xd5, 0x37, 0x3e, 0xff, - 0x90, 0xfa, 0x73, 0x45, 0xec, 0xc5, 0x38, 0xaf, 0xd6, 0xaf, 0xe0, 0xb3, 0x0c, 0x2c, 0xe7, 0x12, - 0xa5, 0x47, 0x7d, 0xe3, 0xcb, 0x8f, 0x83, 0xe6, 0x7c, 0xb3, 0x1c, 0x9f, 0xa3, 0x89, 0xce, 0x18, - 0xc8, 0x79, 0xd6, 0x0b, 0x33, 0xf5, 0x3e, 0x94, 0x55, 0x4c, 0x0a, 0x57, 0x88, 0x89, 0x12, 0xe9, - 0xfc, 0x10, 0x3d, 0xa5, 0x33, 0x42, 0x1a, 0x77, 0xe9, 0x84, 0xe8, 0x3c, 0xcd, 0x25, 0x93, 0x5c, - 0x90, 0x6d, 0x28, 0x4b, 0x7f, 0x28, 0xe1, 0x2b, 0xd7, 0x03, 0x25, 0xdc, 0xf9, 0x83, 0x01, 0x64, - 0x2b, 0xe2, 0x21, 0x5e, 0x9d, 0xb3, 0x9e, 0x40, 0xe9, 0x90, 0x87, 0xb3, 0x1a, 0x24, 0xd7, 0xa7, - 0x2b, 0x47, 0xe1, 0x6c, 0xe5, 0xb0, 0xa0, 0x78, 0xc8, 0xa6, 0x32, 0x53, 0x4d, 0x1b, 0x97, 0x68, - 0xc8, 0x11, 0xf5, 0x27, 0x4c, 0xbf, 0x33, 0xb5, 0xf9, 0xb4, 0x6f, 0xec, 0x2f, 0x06, 0x40, 0x4e, - 0xeb, 0x4f, 0xe2, 0x12, 0xf2, 0x0b, 0xb0, 0xdc, 0x49, 0x30, 0xf1, 0x29, 0xaa, 0xa3, 0x72, 0xee, - 0x9a, 0x35, 0x77, 0x69, 0x8e, 0xa3, 0x62, 0x76, 0xae, 0xf8, 0x16, 0x73, 0x2e, 0xec, 0xfc, 0xbb, - 0x00, 0xcd, 0xdd, 0x69, 0x3a, 0xce, 0x59, 0x74, 0x1b, 0x1f, 0x25, 0x7a, 0x2b, 0xeb, 0x07, 0x55, - 0xb9, 0x1f, 0x78, 0xe4, 0x31, 0x98, 0x2c, 0xa0, 0x37, 0xd2, 0xaf, 0xc6, 0x02, 0xaa, 0x14, 0x1b, - 0x00, 0xae, 0xb1, 0x4b, 0x8e, 0x54, 0x08, 0xaf, 0x8c, 0x55, 0x65, 0x01, 0xdd, 0x8a, 0xc2, 0x11, - 0x96, 0x72, 0x09, 0x53, 0xba, 0x16, 0x8c, 0x94, 0xc5, 0x52, 0x1e, 0x4f, 0x1c, 0x9f, 0x8b, 0xb1, - 0x2a, 0xe5, 0x65, 0x55, 0xca, 0x35, 0x4d, 0x96, 0xf2, 0x33, 0x79, 0x54, 0xb9, 0x51, 0x1e, 0xbd, - 0x2a, 0xc2, 0x2d, 0xec, 0x54, 0xaa, 0x59, 0xdb, 0xaa, 0x21, 0xe4, 0xbb, 0x85, 0x76, 0x7f, 0xae, - 0x5b, 0x78, 0xa4, 0x0b, 0x96, 0x9e, 0x04, 0x84, 0x9b, 0xf0, 0x58, 0x32, 0x15, 0x64, 0x4c, 0x9b, - 0x8a, 0xbe, 0x27, 0xc9, 0x03, 0x8f, 0xb4, 0xa0, 0xaa, 0xaa, 0x87, 0x68, 0x15, 0x65, 0xf5, 0x9c, - 0x6d, 0xc9, 0xb7, 0xc0, 0xa4, 0xe2, 0x70, 0xe8, 0x46, 0x93, 0x30, 0xd5, 0xef, 0xa4, 0x46, 0xc5, - 0xe1, 0x16, 0xee, 0xf1, 0x30, 0xe0, 0xa1, 0x3e, 0x54, 0x2e, 0xa8, 0x05, 0x3c, 0x54, 0x87, 0x63, - 0x30, 0x47, 0x8c, 0x0d, 0x7d, 0x1e, 0xf0, 0xb4, 0x55, 0x91, 0xb5, 0xf0, 0x76, 0x4f, 0xb9, 0xb4, - 0x87, 0x8f, 0x39, 0x33, 0x1c, 0x5f, 0xf7, 0xe6, 0xd7, 0x68, 0xf2, 0xeb, 0xbf, 0xaf, 0x75, 0x2f, - 0x11, 0x06, 0x14, 0x10, 0x76, 0x6d, 0xc4, 0xd8, 0x0e, 0x82, 0x93, 0x35, 0xf4, 0x34, 0x8b, 0x69, - 0xc2, 0x86, 0x07, 0x54, 0xb4, 0xaa, 0x52, 0x11, 0xd0, 0xa4, 0x1f, 0x53, 0x81, 0x0c, 0xec, 0x98, - 0xb9, 0x93, 0x54, 0x31, 0xd4, 0x14, 0x83, 0x26, 0x21, 0x43, 0x17, 0x2c, 0x34, 0x44, 0x44, 0x93, - 0xc4, 0x65, 0xda, 0x1e, 0x53, 0x72, 0x35, 0x03, 0x1e, 0xee, 0x49, 0xb2, 0xb4, 0xaa, 0xf3, 0xaa, - 0x00, 0x0d, 0x0c, 0xc4, 0x60, 0x73, 0x4b, 0x0f, 0x70, 0x5d, 0xb0, 0x1c, 0x1a, 0x7a, 0x43, 0xee, - 0xb8, 0x43, 0x16, 0x52, 0xc7, 0x67, 0x2a, 0x14, 0x35, 0xbb, 0x89, 0xf4, 0x81, 0xe3, 0x3e, 0x54, - 0x54, 0xf2, 0x35, 0xac, 0x20, 0x53, 0x16, 0xb2, 0x30, 0x65, 0xc9, 0x11, 0xf5, 0x75, 0x4c, 0x08, - 0x77, 0x5c, 0x1d, 0xd8, 0x81, 0x3e, 0x21, 0x5f, 0x02, 0x52, 0x33, 0xbd, 0xc6, 0x34, 0x0c, 0x99, - 0xaf, 0x4b, 0x98, 0xc5, 0x1d, 0x57, 0x6b, 0xa6, 0xe8, 0x68, 0x26, 0x72, 0x1f, 0xb1, 0x44, 0xf0, - 0x28, 0x54, 0xf9, 0x6d, 0x03, 0x77, 0xdc, 0xa7, 0x8a, 0x42, 0xda, 0x8a, 0x21, 0x8e, 0x12, 0x99, - 0x0b, 0x65, 0xc9, 0x60, 0x72, 0xc7, 0xdd, 0x8d, 0x12, 0x4c, 0x83, 0x2f, 0xe0, 0x96, 0xcf, 0x0e, - 0xa8, 0x3b, 0x1d, 0xea, 0xbc, 0xe1, 0x9e, 0x90, 0xa1, 0x2b, 0xda, 0x4b, 0xea, 0x40, 0xcf, 0x9f, - 0x9e, 0xe8, 0xfc, 0xda, 0x80, 0x95, 0x3d, 0x99, 0x24, 0x32, 0x71, 0xf7, 0xb3, 0x3a, 0xfb, 0x23, - 0xa8, 0x28, 0x69, 0xe9, 0x85, 0xcb, 0x8e, 0x9e, 0x5a, 0x06, 0x53, 0x4a, 0xa5, 0xde, 0x2c, 0x59, - 0x4d, 0xbb, 0xa6, 0x08, 0x03, 0xef, 0x23, 0xd5, 0x69, 0x0a, 0xcb, 0x3b, 0x54, 0xa4, 0xa7, 0xd5, - 0x11, 0xc4, 0x81, 0xcf, 0x7c, 0x2a, 0x52, 0xdd, 0x9b, 0x33, 0x76, 0xd1, 0x32, 0x64, 0x4e, 0xf6, - 0x2e, 0x56, 0xef, 0x7f, 0x99, 0x67, 0x2f, 0xfb, 0xe7, 0xef, 0xe8, 0xfc, 0xd9, 0xc0, 0x59, 0x85, - 0xbb, 0xcc, 0x66, 0x6e, 0x94, 0x78, 0xe2, 0xff, 0xe9, 0x84, 0x9f, 0xc3, 0x8a, 0x8f, 0x63, 0xc1, - 0xcc, 0xa2, 0x44, 0x5d, 0x29, 0x1f, 0x6e, 0x7d, 0xe3, 0xce, 0x47, 0x0a, 0x8c, 0x52, 0xd0, 0x26, - 0x0a, 0x22, 0xaf, 0x73, 0xe7, 0x39, 0xd4, 0x73, 0xfb, 0xd3, 0xce, 0x36, 0xce, 0x38, 0x7b, 0xde, - 0xc9, 0x0a, 0x37, 0x69, 0xee, 0xaf, 0x4b, 0x40, 0x7e, 0xc2, 0x52, 0xea, 0xd1, 0x94, 0x62, 0xa1, - 0xe3, 0x22, 0xe5, 0xae, 0x7c, 0xaf, 0x07, 0x49, 0x34, 0x89, 0xf5, 0x4b, 0xc4, 0xcb, 0x1b, 0x36, - 0x48, 0x92, 0xaa, 0x2d, 0x3d, 0x58, 0xd6, 0x66, 0x0f, 0x05, 0x0d, 0x62, 0xac, 0x70, 0xfc, 0xa5, - 0xd2, 0xa5, 0x61, 0xdf, 0xd2, 0x47, 0x7b, 0xf2, 0x64, 0x8f, 0xbf, 0x64, 0x58, 0xf2, 0x03, 0x46, - 0xc3, 0x6b, 0x76, 0x0e, 0x29, 0x8b, 0x18, 0xe9, 0x0b, 0x1a, 0x5f, 0xb7, 0x6d, 0xa0, 0x2c, 0xf9, - 0x01, 0x2c, 0x8d, 0x78, 0x22, 0xd2, 0x79, 0x1a, 0xca, 0x47, 0x58, 0xb4, 0x9b, 0x92, 0x3c, 0x7f, - 0x44, 0x77, 0xa0, 0x29, 0x93, 0x76, 0xce, 0x57, 0x91, 0x7c, 0x0d, 0xa4, 0xee, 0xe7, 0xbe, 0x86, - 0x64, 0x01, 0x56, 0x91, 0xa8, 0x5e, 0xaf, 0xc5, 0x06, 0x3c, 0x54, 0x2d, 0x16, 0xc1, 0xe8, 0xb1, - 0x06, 0xab, 0x5d, 0x13, 0x8c, 0x1e, 0x2b, 0xb0, 0x9f, 0xc1, 0x62, 0xc0, 0x3c, 0x4e, 0x67, 0xca, - 0x99, 0xd7, 0xc2, 0xab, 0x2b, 0x0c, 0x09, 0x89, 0x5f, 0xa4, 0x96, 0x5c, 0x3d, 0x48, 0x31, 0x77, - 0x69, 0x8a, 0x25, 0xed, 0x03, 0xf3, 0xc7, 0x4a, 0x3e, 0x45, 0x8b, 0xb3, 0xe1, 0x89, 0xe8, 0xee, - 0xaf, 0x3e, 0xbe, 0x54, 0x37, 0x27, 0x50, 0x62, 0xc7, 0x71, 0x24, 0x43, 0x5b, 0xb6, 0xe5, 0x1a, - 0xdf, 0xe0, 0x7c, 0x7a, 0x51, 0x41, 0x9a, 0x4f, 0x23, 0xb7, 0x73, 0xd3, 0x48, 0x45, 0x02, 0x65, - 0xd3, 0x85, 0x3e, 0x92, 0x78, 0x55, 0x89, 0x87, 0x47, 0x0f, 0x11, 0xf2, 0xec, 0xd0, 0x50, 0x93, - 0xa8, 0xf9, 0xa1, 0xe1, 0x8b, 0xdf, 0x19, 0xb3, 0x6f, 0x7c, 0x2c, 0x08, 0x64, 0x09, 0xea, 0x4f, - 0x42, 0x11, 0x33, 0x97, 0x8f, 0x38, 0xf3, 0xac, 0x05, 0x52, 0x83, 0x12, 0x76, 0x1f, 0xcb, 0x20, - 0x0d, 0x30, 0xb3, 0x79, 0xdb, 0x2a, 0x90, 0x45, 0xa8, 0xcd, 0xa6, 0x64, 0xab, 0x88, 0x87, 0xd9, - 0xb7, 0xbb, 0x55, 0x22, 0x26, 0x94, 0x6d, 0xfa, 0x32, 0x4a, 0xac, 0x32, 0xa9, 0x42, 0x71, 0x9b, - 0x53, 0xab, 0x82, 0x48, 0x0f, 0x76, 0x07, 0xf7, 0xac, 0x2a, 0x92, 0x9e, 0x04, 0xd4, 0xaa, 0x21, - 0x09, 0xa7, 0x3b, 0xcb, 0x24, 0x75, 0xa8, 0xea, 0x26, 0x67, 0x01, 0x42, 0xcf, 0x3e, 0x3f, 0xac, - 0xfa, 0xe6, 0xb3, 0x37, 0xef, 0xdb, 0xc6, 0xdb, 0xf7, 0x6d, 0xe3, 0x1f, 0xef, 0xdb, 0xc6, 0x6f, - 0x4e, 0xda, 0x0b, 0x7f, 0x3a, 0x69, 0x1b, 0x6f, 0x4f, 0xda, 0x0b, 0x7f, 0x3d, 0x69, 0x2f, 0xfc, - 0x72, 0x27, 0x17, 0xd8, 0xc1, 0xac, 0x10, 0xed, 0x50, 0x47, 0xf4, 0xb3, 0xb2, 0xf4, 0x95, 0x1b, - 0x25, 0x2c, 0xbf, 0x45, 0x45, 0xfb, 0x41, 0xe4, 0x4d, 0x7c, 0x26, 0x66, 0x7f, 0xc2, 0xc8, 0x14, - 0x70, 0x2a, 0xf2, 0xcf, 0x92, 0x7b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xa0, 0xa3, 0x69, 0xd5, - 0xa5, 0x11, 0x00, 0x00, + // 1664 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x4f, 0x73, 0x23, 0x47, + 0x15, 0xf7, 0xe8, 0xff, 0x3c, 0x59, 0xda, 0xd9, 0xb6, 0x37, 0x68, 0x37, 0x44, 0x36, 0x0a, 0x0b, + 0xaa, 0xad, 0x44, 0xca, 0x6e, 0x0e, 0x54, 0x02, 0x45, 0x25, 0xf6, 0xee, 0x52, 0xaa, 0x35, 0xe0, + 0x1a, 0x6f, 0xa0, 0x8a, 0x8b, 0xe8, 0x99, 0x69, 0x59, 0x1d, 0xcd, 0x4c, 0x4f, 0xa6, 0x47, 0xce, + 0x6a, 0x3f, 0x40, 0x0e, 0x5c, 0xe0, 0x0b, 0x50, 0x70, 0xe6, 0xc4, 0x85, 0x13, 0x55, 0x14, 0xc5, + 0x29, 0xc7, 0x9c, 0x52, 0x14, 0x87, 0x00, 0xeb, 0x03, 0x14, 0x57, 0xbe, 0x00, 0xf5, 0xba, 0x5b, + 0xa3, 0xb1, 0x8d, 0x77, 0x2d, 0x96, 0x5c, 0xec, 0xee, 0xd7, 0xef, 0xbd, 0xfe, 0xbd, 0xd7, 0xef, + 0xdf, 0x08, 0x6e, 0xf3, 0xf8, 0x43, 0xe6, 0x67, 0xfc, 0x84, 0x0d, 0x45, 0x4a, 0xfd, 0x90, 0x0d, + 0x4f, 0xee, 0x7a, 0x2c, 0xa3, 0x77, 0xcd, 0x76, 0x90, 0xa4, 0x22, 0x13, 0xa4, 0x93, 0xb3, 0x0d, + 0x0c, 0xdd, 0xb0, 0xdd, 0xda, 0x3e, 0x16, 0xc7, 0x42, 0x31, 0x0d, 0x71, 0xa5, 0xf9, 0x6f, 0x75, + 0x7d, 0x21, 0x23, 0x21, 0x87, 0x1e, 0x95, 0x2b, 0x8d, 0xbe, 0xe0, 0xb1, 0x39, 0xbf, 0x4e, 0x23, + 0x1e, 0x8b, 0xa1, 0xfa, 0xab, 0x49, 0xbd, 0x07, 0x50, 0x3b, 0xa4, 0x29, 0x8d, 0x24, 0x79, 0x1d, + 0x5a, 0xc9, 0x22, 0x9b, 0x8e, 0x7d, 0x11, 0x67, 0x29, 0xf5, 0xb3, 0x8e, 0xb5, 0x6b, 0xf5, 0x6d, + 0x77, 0x13, 0x89, 0xfb, 0x86, 0xf6, 0xee, 0x2b, 0xff, 0xfc, 0xf5, 0x8e, 0xf5, 0xb3, 0x7f, 0xfc, + 0xf6, 0x4e, 0xcb, 0xe0, 0xd6, 0xc2, 0xbd, 0x19, 0xc0, 0x0f, 0x15, 0x61, 0x14, 0x4f, 0x04, 0x79, + 0x05, 0x6a, 0x72, 0x11, 0x79, 0x22, 0x34, 0x3a, 0xcc, 0x8e, 0x3c, 0x80, 0xa6, 0x16, 0x1b, 0x67, + 0x8b, 0x84, 0x75, 0x4a, 0xbb, 0x56, 0xbf, 0x7d, 0xef, 0xeb, 0x83, 0xcb, 0xac, 0x1c, 0x68, 0x95, + 0x8f, 0x17, 0x09, 0x73, 0x41, 0xe4, 0xeb, 0xde, 0xe7, 0x16, 0x6c, 0xed, 0x4f, 0x29, 0x8f, 0x43, + 0x1e, 0xcf, 0x0e, 0x53, 0xee, 0xb3, 0xa3, 0x8c, 0x66, 0x8c, 0x7c, 0x05, 0xea, 0x13, 0xc6, 0x82, + 0x31, 0x0f, 0x96, 0xf7, 0xe2, 0x76, 0x14, 0x90, 0x6f, 0x43, 0x8d, 0xc6, 0xf2, 0x63, 0x96, 0xaa, + 0x2b, 0xed, 0xbd, 0xd7, 0x3f, 0xfd, 0x62, 0x67, 0xe3, 0x2f, 0x5f, 0xec, 0xbc, 0xaa, 0xfd, 0x25, + 0x83, 0xd9, 0x80, 0x8b, 0x61, 0x44, 0xb3, 0xe9, 0xe0, 0x80, 0x1d, 0x53, 0x7f, 0x71, 0x9f, 0xf9, + 0xae, 0x11, 0x21, 0x5f, 0x05, 0x3b, 0xe3, 0x11, 0x93, 0x19, 0x8d, 0x92, 0x4e, 0x79, 0xd7, 0xea, + 0x57, 0xdc, 0x15, 0x81, 0x3c, 0x82, 0x66, 0x82, 0x08, 0xc6, 0x12, 0x21, 0x74, 0x2a, 0xbb, 0x56, + 0xbf, 0xf9, 0x3c, 0x93, 0x56, 0x70, 0xf7, 0x2a, 0x88, 0xc2, 0x85, 0x24, 0xa7, 0xf4, 0xfe, 0x65, + 0x41, 0x7b, 0x8f, 0xc6, 0x41, 0xc1, 0xa6, 0xcb, 0x5c, 0x79, 0x17, 0x2a, 0x29, 0x5e, 0xa8, 0x0d, + 0x7a, 0xcd, 0x18, 0x74, 0xe3, 0xa2, 0x41, 0xa3, 0x38, 0x73, 0x15, 0x2b, 0xf9, 0x1a, 0x6c, 0xa6, + 0x4c, 0x8a, 0xf0, 0x84, 0x8d, 0x11, 0xbf, 0xb1, 0xa5, 0x69, 0x68, 0x8f, 0x79, 0xc4, 0xc8, 0x6b, + 0x00, 0x29, 0xfb, 0x68, 0xce, 0x64, 0x36, 0x1e, 0xdd, 0x57, 0xc6, 0x54, 0x5c, 0xdb, 0x50, 0x46, + 0xf7, 0xcf, 0x1b, 0x5b, 0x7d, 0x29, 0x63, 0x7f, 0x69, 0x41, 0x5b, 0x31, 0x3c, 0x64, 0x2c, 0xd0, + 0xc6, 0x12, 0xa8, 0x60, 0xe8, 0x1a, 0x53, 0xd5, 0x9a, 0x6c, 0x43, 0xf5, 0xa3, 0xb9, 0x58, 0x5a, + 0xea, 0xea, 0x0d, 0x46, 0x52, 0x11, 0x49, 0xf9, 0xea, 0x48, 0x8a, 0x18, 0xc8, 0x2d, 0x68, 0xa4, + 0x2c, 0xa4, 0x0b, 0x96, 0xca, 0x4e, 0x65, 0xb7, 0xdc, 0xb7, 0xdd, 0x7c, 0xdf, 0x7b, 0x08, 0x9b, + 0x87, 0xa9, 0x38, 0xe1, 0x01, 0x4b, 0x55, 0x50, 0xdf, 0x82, 0x46, 0x62, 0xf6, 0x06, 0x60, 0xbe, + 0x3f, 0xa3, 0xa7, 0x74, 0x4e, 0xcf, 0x1f, 0x2c, 0x68, 0x2d, 0x15, 0xe9, 0x5b, 0x1f, 0x41, 0x6b, + 0x29, 0x39, 0xe6, 0xf1, 0x44, 0x28, 0x75, 0xcd, 0x7b, 0xdf, 0x78, 0x1e, 0xfc, 0x15, 0x10, 0x77, + 0x33, 0x29, 0xc2, 0xfa, 0x29, 0xdc, 0xc8, 0x95, 0x15, 0x5c, 0xa2, 0x71, 0x34, 0xef, 0xbd, 0xf1, + 0x62, 0xa5, 0x05, 0xdf, 0x6c, 0x25, 0x17, 0x68, 0xb2, 0x37, 0x05, 0x72, 0x91, 0xf5, 0xd2, 0xc0, + 0x7c, 0x17, 0xaa, 0xfa, 0x4d, 0x4a, 0x6b, 0xbc, 0x89, 0x16, 0xe9, 0xbd, 0x83, 0x9e, 0x32, 0x11, + 0xa1, 0x8c, 0xbb, 0x72, 0x40, 0xf4, 0x1e, 0x15, 0x82, 0x49, 0x2d, 0xc8, 0x3b, 0x50, 0x55, 0xfe, + 0xd0, 0xc2, 0x57, 0xcb, 0x79, 0x2d, 0xd1, 0xfb, 0xbd, 0x05, 0x64, 0x5f, 0xf0, 0x18, 0xef, 0x2b, + 0x98, 0x4c, 0xa0, 0x32, 0xe3, 0xf1, 0xb2, 0xb8, 0xa8, 0xf5, 0xd9, 0xea, 0x50, 0x3a, 0x5f, 0x1d, + 0x1c, 0x28, 0xcf, 0xd8, 0x42, 0x85, 0xa7, 0xed, 0xe2, 0x12, 0xd1, 0x9f, 0xd0, 0x70, 0xce, 0x4c, + 0x72, 0xe9, 0xcd, 0xff, 0x37, 0xb1, 0x7e, 0x67, 0x01, 0x14, 0x50, 0xff, 0xef, 0x7e, 0x20, 0x3f, + 0x00, 0xc7, 0x9f, 0x47, 0xf3, 0x90, 0x22, 0x06, 0x1d, 0x5d, 0xeb, 0x54, 0xd0, 0x6b, 0x2b, 0x61, + 0xfd, 0x24, 0x17, 0x4a, 0x69, 0xb9, 0xe0, 0xac, 0xde, 0xe7, 0x25, 0x68, 0x1f, 0x2e, 0xb2, 0x69, + 0x01, 0xfb, 0x4d, 0xcc, 0x39, 0xf4, 0x4b, 0x5e, 0xd2, 0xeb, 0x6a, 0x3f, 0x0a, 0xc8, 0x7b, 0x60, + 0xb3, 0x88, 0xae, 0x0f, 0xaa, 0xc1, 0x22, 0xaa, 0xd1, 0x7c, 0x17, 0x70, 0x8d, 0xfd, 0x6e, 0xa2, + 0x5f, 0xe8, 0x6a, 0x0a, 0xea, 0x2c, 0xa2, 0xfb, 0x22, 0x9e, 0x90, 0x6f, 0x41, 0x45, 0xc9, 0x56, + 0xae, 0x2e, 0xab, 0x04, 0xb0, 0x10, 0x27, 0x73, 0x2f, 0xe4, 0x72, 0xaa, 0x0b, 0x71, 0x55, 0x17, + 0x62, 0x43, 0x53, 0x85, 0xf8, 0x5c, 0x40, 0xd4, 0x5e, 0x2a, 0x20, 0x3e, 0x29, 0xc3, 0x75, 0x6c, + 0x2b, 0xba, 0x9d, 0xba, 0xba, 0x9c, 0x17, 0x6b, 0xbd, 0xf1, 0x6e, 0xa1, 0xd6, 0x07, 0xa4, 0x0f, + 0x8e, 0xe9, 0xd5, 0xd2, 0x4f, 0x79, 0xa2, 0x98, 0x4a, 0xea, 0xc9, 0xda, 0x9a, 0x7e, 0xa4, 0xc8, + 0xa3, 0x80, 0x74, 0xa0, 0xae, 0x73, 0x5f, 0x76, 0xca, 0xaa, 0xf6, 0x2d, 0xb7, 0xe4, 0x55, 0xb0, + 0xa9, 0x9c, 0x8d, 0x7d, 0x31, 0x8f, 0x33, 0x13, 0xf0, 0x0d, 0x2a, 0x67, 0xfb, 0xb8, 0xc7, 0xc3, + 0x88, 0xc7, 0xe6, 0x50, 0xbb, 0xa0, 0x11, 0xf1, 0x58, 0x1f, 0x4e, 0xc1, 0x9e, 0x30, 0x36, 0x0e, + 0x79, 0xc4, 0xb3, 0x4e, 0x4d, 0x55, 0xb2, 0x9b, 0x03, 0xed, 0xd9, 0x01, 0x66, 0x65, 0x6e, 0x38, + 0xa6, 0xe9, 0xde, 0x5b, 0x68, 0xf2, 0x6f, 0xfe, 0xba, 0xd3, 0x3f, 0xe6, 0xd9, 0x74, 0xee, 0x0d, + 0x7c, 0x11, 0x0d, 0xcd, 0x28, 0xa4, 0xff, 0xbd, 0x29, 0x83, 0xd9, 0x10, 0x67, 0x0e, 0xa9, 0x04, + 0xa4, 0xdb, 0x98, 0x30, 0x76, 0x80, 0xca, 0xc9, 0x0e, 0x7a, 0x9a, 0x25, 0x34, 0x65, 0xe3, 0x63, + 0x2a, 0x3b, 0x75, 0x05, 0x04, 0x0c, 0xe9, 0x7b, 0x54, 0x22, 0x03, 0x7b, 0xc2, 0xfc, 0x79, 0xa6, + 0x19, 0x1a, 0x9a, 0xc1, 0x90, 0x90, 0xa1, 0x0f, 0x0e, 0x1a, 0x22, 0xc5, 0x3c, 0xf5, 0x99, 0xb1, + 0xc7, 0x56, 0x5c, 0xed, 0x88, 0xc7, 0x47, 0x8a, 0xac, 0xac, 0xea, 0x7d, 0x52, 0x82, 0x16, 0x3e, + 0xc4, 0x68, 0x6f, 0xdf, 0x0c, 0x5d, 0x7d, 0x70, 0x3c, 0x1a, 0x07, 0x63, 0xee, 0xf9, 0x63, 0x16, + 0x53, 0x2f, 0x64, 0xfa, 0x29, 0x1a, 0x6e, 0x1b, 0xe9, 0x23, 0xcf, 0x7f, 0xa0, 0xa9, 0xe4, 0x2d, + 0xd8, 0x46, 0xa6, 0xfc, 0xc9, 0xe2, 0x8c, 0xa5, 0x27, 0x34, 0x34, 0x6f, 0x42, 0xb8, 0xe7, 0x9b, + 0x87, 0x1d, 0x99, 0x13, 0xf2, 0x06, 0x20, 0x35, 0xc7, 0x35, 0xa5, 0x71, 0xcc, 0x42, 0x53, 0x8b, + 0x1c, 0xee, 0xf9, 0x06, 0x99, 0xa6, 0xa3, 0x99, 0xc8, 0x7d, 0xc2, 0x52, 0xc9, 0x45, 0xac, 0x83, + 0xda, 0x05, 0xee, 0xf9, 0x3f, 0xd2, 0x14, 0xd2, 0xd5, 0x0c, 0x89, 0x48, 0x55, 0x2c, 0x54, 0x15, + 0x83, 0xcd, 0x3d, 0xff, 0x50, 0xa4, 0x18, 0x06, 0x77, 0xe0, 0x7a, 0xa8, 0x02, 0x7d, 0x6c, 0xe2, + 0x86, 0x07, 0x52, 0x3d, 0x5d, 0xd9, 0xbd, 0xa6, 0x0f, 0xcc, 0x84, 0x18, 0xc8, 0xde, 0xcf, 0x2d, + 0xd8, 0x3e, 0x52, 0x41, 0xa2, 0x02, 0xf7, 0x71, 0x5e, 0x30, 0xbf, 0x03, 0x35, 0x2d, 0xad, 0xbc, + 0x70, 0xd5, 0xe1, 0xd0, 0xc8, 0x60, 0x48, 0xe9, 0xd0, 0x5b, 0x06, 0xab, 0xed, 0x36, 0x34, 0x61, + 0x14, 0xbc, 0xa0, 0xf8, 0x2c, 0x60, 0xeb, 0x80, 0xca, 0xec, 0x2c, 0x1c, 0x49, 0x3c, 0xb8, 0x11, + 0x52, 0x99, 0x99, 0xce, 0x9a, 0xb3, 0xcb, 0x8e, 0xa5, 0x62, 0x72, 0x70, 0x39, 0xbc, 0xff, 0x66, + 0x9e, 0xbb, 0x15, 0x5e, 0xbc, 0xa3, 0xf7, 0x27, 0x0b, 0x27, 0x0d, 0xee, 0x33, 0x97, 0xf9, 0x22, + 0x0d, 0xe4, 0x97, 0xe9, 0x84, 0x1f, 0xc3, 0x76, 0x88, 0x4d, 0x7d, 0x69, 0x51, 0xaa, 0xaf, 0x54, + 0x89, 0xdb, 0xbc, 0x77, 0xfb, 0x05, 0x05, 0x46, 0x03, 0x74, 0x89, 0x56, 0x51, 0xc4, 0xdc, 0x9b, + 0x40, 0xb3, 0xb0, 0x3f, 0xeb, 0x6c, 0xeb, 0x9c, 0xb3, 0x57, 0x2d, 0xa9, 0xb4, 0x76, 0x6b, 0xfe, + 0x77, 0x19, 0xc8, 0xf7, 0x59, 0x46, 0x03, 0x9a, 0x51, 0xac, 0x6e, 0x5c, 0x66, 0xdc, 0x57, 0x49, + 0x7a, 0x9c, 0x8a, 0x79, 0x62, 0xd2, 0x0f, 0x6f, 0x6c, 0xb9, 0xa0, 0x48, 0xba, 0xa0, 0x0c, 0x60, + 0xcb, 0xd8, 0x3a, 0x96, 0x34, 0x4a, 0xb0, 0xac, 0xf1, 0xa7, 0x1a, 0x40, 0xcb, 0xbd, 0x6e, 0x8e, + 0x8e, 0xd4, 0xc9, 0x11, 0x7f, 0xca, 0xb0, 0xb8, 0x47, 0x8c, 0xc6, 0xeb, 0x34, 0x06, 0x25, 0x80, + 0x82, 0xd9, 0xc7, 0x34, 0x59, 0xab, 0x2b, 0xa0, 0x00, 0xf9, 0x26, 0x5c, 0x9b, 0xf0, 0x54, 0x66, + 0xab, 0x28, 0x53, 0x39, 0x56, 0x76, 0xdb, 0x8a, 0xbc, 0xca, 0x91, 0xdb, 0xd0, 0x56, 0x31, 0xb9, + 0xe2, 0xab, 0x29, 0xbe, 0x16, 0x52, 0x57, 0x6c, 0xef, 0xe9, 0xfa, 0xaa, 0x1d, 0x5d, 0x5f, 0xa3, + 0x41, 0x46, 0x3c, 0xd6, 0x0d, 0x12, 0x35, 0xd0, 0x27, 0x46, 0x43, 0x63, 0x1d, 0x0d, 0xf4, 0x89, + 0xd6, 0xf0, 0x10, 0x36, 0x23, 0x16, 0x70, 0xba, 0x84, 0x61, 0x5f, 0x5d, 0x49, 0x53, 0x0b, 0x2a, + 0x3d, 0xbd, 0xbf, 0x5b, 0xe0, 0xa8, 0xd5, 0xfb, 0x19, 0x46, 0x1e, 0xcd, 0xb0, 0x20, 0x3d, 0x67, + 0x38, 0xd8, 0x2e, 0x06, 0x58, 0x79, 0x39, 0xce, 0x10, 0xd3, 0xb0, 0xf5, 0x87, 0x8f, 0xee, 0xc5, + 0x04, 0x2a, 0xec, 0x49, 0x22, 0xd4, 0x73, 0x55, 0x5d, 0xb5, 0xc6, 0x0c, 0x5a, 0x8d, 0x16, 0xfa, + 0x0d, 0x56, 0x53, 0xc3, 0xcd, 0xc2, 0xd4, 0x50, 0x53, 0x8a, 0xf2, 0x81, 0xc0, 0x1c, 0x29, 0x7d, + 0x75, 0xa5, 0x0f, 0x8f, 0x1e, 0xa0, 0xca, 0xf3, 0x2d, 0xbf, 0xa1, 0xb4, 0x16, 0x5b, 0xfe, 0x9d, + 0x5f, 0x59, 0xcb, 0x6f, 0x68, 0x4c, 0x67, 0x72, 0x0d, 0x9a, 0x1f, 0xc4, 0x32, 0x61, 0x3e, 0x9f, + 0x70, 0x16, 0x38, 0x1b, 0xa4, 0x01, 0x15, 0xec, 0x1d, 0x8e, 0x45, 0x5a, 0x60, 0xe7, 0xb3, 0xae, + 0x53, 0x22, 0x9b, 0xd0, 0x58, 0x0e, 0xab, 0x4e, 0x19, 0x0f, 0xf3, 0x6f, 0x63, 0xa7, 0x42, 0x6c, + 0xa8, 0xba, 0xf4, 0xa9, 0x48, 0x9d, 0x2a, 0xa9, 0x43, 0xf9, 0x3e, 0xa7, 0x4e, 0x0d, 0x35, 0xbd, + 0x7f, 0x38, 0x7a, 0xdb, 0xa9, 0x23, 0xe9, 0x83, 0x88, 0x3a, 0x0d, 0x24, 0xe1, 0xe8, 0xe5, 0xd8, + 0xa4, 0x09, 0x75, 0xd3, 0xa2, 0x1c, 0x40, 0xd5, 0xcb, 0xd1, 0xdf, 0x69, 0xee, 0x7d, 0xf8, 0xe9, + 0xb3, 0xae, 0xf5, 0xd9, 0xb3, 0xae, 0xf5, 0xb7, 0x67, 0x5d, 0xeb, 0x17, 0xa7, 0xdd, 0x8d, 0x3f, + 0x9e, 0x76, 0xad, 0xcf, 0x4e, 0xbb, 0x1b, 0x7f, 0x3e, 0xed, 0x6e, 0xfc, 0xe4, 0xa0, 0xd0, 0x7c, + 0x47, 0xcb, 0x32, 0x72, 0x40, 0x3d, 0x39, 0xcc, 0x8b, 0xca, 0x9b, 0xbe, 0x48, 0x59, 0x71, 0x8b, + 0x40, 0x87, 0x91, 0x08, 0xe6, 0x21, 0x93, 0xcb, 0x5f, 0x42, 0x54, 0x9b, 0xf6, 0x6a, 0xea, 0xe7, + 0x89, 0xb7, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0x4b, 0x03, 0x60, 0xd7, 0x2a, 0x11, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { diff --git a/chain/oracle/types/params.go b/chain/oracle/types/params.go index 9c31dca2..e700debc 100644 --- a/chain/oracle/types/params.go +++ b/chain/oracle/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" ) @@ -10,7 +11,7 @@ import ( var _ paramtypes.ParamSet = &Params{} var ( - LargestDecPrice sdk.Dec = sdk.MustNewDecFromStr("10000000") + LargestDecPrice math.LegacyDec = math.LegacyMustNewDecFromStr("10000000") ) const ( diff --git a/chain/oracle/types/proposal.pb.go b/chain/oracle/types/proposal.pb.go index 2606c3f3..78b86f96 100644 --- a/chain/oracle/types/proposal.pb.go +++ b/chain/oracle/types/proposal.pb.go @@ -7,6 +7,7 @@ import ( fmt "fmt" _ "github.com/cosmos/cosmos-proto" _ "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -400,44 +401,49 @@ func init() { } var fileDescriptor_c5a187f865fd0c5b = []byte{ - // 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, + // 671 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x96, 0xcf, 0x6e, 0xd3, 0x4e, + 0x10, 0xc7, 0xb3, 0x6d, 0xfa, 0xfb, 0xb5, 0x5b, 0x21, 0xc0, 0xb4, 0x52, 0x88, 0x90, 0x93, 0x5a, + 0x2a, 0x2d, 0x7f, 0x6a, 0xab, 0x70, 0xeb, 0x8d, 0x54, 0x50, 0x45, 0x54, 0x22, 0x18, 0x7a, 0xe1, + 0x62, 0xad, 0xed, 0x21, 0x5d, 0x70, 0xbc, 0xee, 0x7a, 0x13, 0xa9, 0x3c, 0x01, 0xe2, 0xc4, 0x23, + 0xf4, 0x11, 0x38, 0x70, 0xe3, 0x05, 0xaa, 0x8a, 0x43, 0x8f, 0x9c, 0x10, 0x4a, 0x91, 0xe0, 0xc6, + 0x0d, 0x71, 0x03, 0x65, 0x77, 0x1d, 0x9a, 0x42, 0x9a, 0xd0, 0x96, 0x3f, 0x97, 0xc8, 0x33, 0xf3, + 0xdd, 0x99, 0xf9, 0x4c, 0xc6, 0xc9, 0xe2, 0x39, 0x1a, 0x3f, 0x82, 0x40, 0xd0, 0x16, 0x38, 0x8c, + 0x93, 0x20, 0x02, 0xa7, 0xb5, 0xe8, 0x83, 0x20, 0x8b, 0x4e, 0xc2, 0x59, 0xc2, 0x52, 0x12, 0xd9, + 0x09, 0x67, 0x82, 0x19, 0x85, 0xae, 0xd0, 0x56, 0x42, 0x5b, 0x0b, 0x8b, 0x66, 0xc0, 0xd2, 0x06, + 0x4b, 0x1d, 0x9f, 0xa4, 0xdf, 0x4f, 0x07, 0x8c, 0xc6, 0xea, 0x64, 0xf1, 0xbc, 0x8a, 0x7b, 0xd2, + 0x72, 0x94, 0xa1, 0x43, 0x53, 0x75, 0x56, 0x67, 0xca, 0xdf, 0x79, 0xd2, 0xde, 0xd9, 0xbe, 0x3d, + 0xe9, 0xca, 0x4a, 0x76, 0x96, 0x34, 0x68, 0xcc, 0x1c, 0xf9, 0xa9, 0x5c, 0xd6, 0x0e, 0xc2, 0xe5, + 0x15, 0x4e, 0x62, 0x51, 0x21, 0x71, 0x78, 0x47, 0x8a, 0x6b, 0x9c, 0xb6, 0x68, 0x04, 0x75, 0xa8, + 0x69, 0x1e, 0x63, 0x0a, 0x8f, 0x09, 0x2a, 0x22, 0x28, 0xa0, 0x32, 0x9a, 0x9f, 0x70, 0x95, 0x61, + 0x94, 0xf1, 0x64, 0x08, 0x69, 0xc0, 0x69, 0x22, 0x28, 0x8b, 0x0b, 0x23, 0x32, 0xb6, 0xdf, 0x65, + 0x14, 0xf1, 0x38, 0x87, 0x88, 0x6c, 0x02, 0x4f, 0x0b, 0xa3, 0xe5, 0xd1, 0xf9, 0x09, 0xb7, 0x6b, + 0x2f, 0xb9, 0x4f, 0xb7, 0x4a, 0xb9, 0x8f, 0x5b, 0xa5, 0xdc, 0xce, 0xcb, 0x85, 0xa2, 0x46, 0xac, + 0xb3, 0x56, 0x36, 0x23, 0x7b, 0x99, 0xc5, 0x02, 0x62, 0xf1, 0xec, 0xc3, 0x8b, 0xcb, 0x73, 0x9a, + 0x69, 0x50, 0x9f, 0xd6, 0x6b, 0x84, 0x67, 0x5c, 0x68, 0xb1, 0xc7, 0xf0, 0xa7, 0x69, 0xee, 0x0d, + 0x4f, 0x33, 0xaf, 0x69, 0x06, 0x36, 0x6a, 0x7d, 0x46, 0x78, 0x46, 0x32, 0xd7, 0x38, 0x0d, 0xe0, + 0x16, 0x40, 0x08, 0xfc, 0xe4, 0x70, 0x0c, 0x9c, 0xef, 0xec, 0x5f, 0x61, 0x54, 0x86, 0xe4, 0x73, + 0x27, 0xd7, 0x46, 0x93, 0x09, 0x28, 0xe4, 0x55, 0x2e, 0x69, 0xf4, 0x80, 0x8f, 0x1d, 0x1f, 0x7c, + 0x20, 0x92, 0xd5, 0x46, 0xd8, 0xd4, 0x2a, 0xd6, 0xa2, 0x27, 0x4a, 0x5d, 0xc4, 0xe3, 0x89, 0x4e, + 0xaa, 0xc9, 0xbb, 0x76, 0x0f, 0x67, 0xfe, 0x00, 0x67, 0x6d, 0x78, 0xce, 0xd9, 0x5e, 0xce, 0x3e, + 0x04, 0xd6, 0x7b, 0x84, 0x4b, 0x6a, 0x07, 0xfe, 0x1e, 0xe5, 0xc1, 0x6f, 0xf3, 0xee, 0xf0, 0x94, + 0x17, 0x7b, 0xd6, 0xb8, 0x3f, 0xe6, 0x17, 0x84, 0xad, 0x4c, 0xf3, 0xcf, 0x6e, 0xf1, 0xfd, 0xe1, + 0xb9, 0x2f, 0x1d, 0xe0, 0x3e, 0x64, 0x8d, 0xbf, 0x22, 0x6c, 0xdd, 0x68, 0x8a, 0x75, 0xc6, 0xe9, + 0x93, 0x7d, 0x2f, 0xba, 0x0b, 0x1b, 0x4d, 0x48, 0xc5, 0xb1, 0xd1, 0x6f, 0xe3, 0xff, 0xb9, 0x4a, + 0x25, 0xe9, 0x27, 0xaf, 0x5d, 0xb1, 0xfb, 0xfd, 0xe3, 0xd8, 0x3f, 0x54, 0xaf, 0xe4, 0xb7, 0xdf, + 0x96, 0x72, 0x6e, 0x96, 0xe1, 0x28, 0x13, 0x18, 0x8c, 0x66, 0xbd, 0x1a, 0xc1, 0xa5, 0xb5, 0x24, + 0x24, 0xe2, 0x37, 0xe0, 0x5f, 0xc5, 0x46, 0x08, 0x11, 0x08, 0xf0, 0x34, 0x83, 0x47, 0x43, 0xf5, + 0xc3, 0x9c, 0x77, 0xcf, 0xa8, 0x88, 0x2e, 0x55, 0x0d, 0x53, 0xc3, 0xc3, 0xd3, 0x4d, 0xd9, 0x88, + 0xa7, 0xba, 0xcf, 0x0e, 0xc9, 0x1d, 0xf9, 0xb5, 0xd1, 0xb9, 0xe7, 0x54, 0xa6, 0x1e, 0xe7, 0x51, + 0x5e, 0x9d, 0x01, 0x93, 0xb1, 0x3e, 0x21, 0x3c, 0x7d, 0x33, 0x26, 0x7e, 0x24, 0x35, 0xd5, 0xca, + 0xf2, 0xb1, 0x67, 0xb6, 0x86, 0x4f, 0xfb, 0x24, 0x0e, 0x3d, 0xea, 0x07, 0x5e, 0x42, 0x38, 0x69, + 0xa4, 0x7a, 0x75, 0xe6, 0x0e, 0xe7, 0xef, 0xd4, 0x96, 0x72, 0xbd, 0x36, 0xa7, 0x3a, 0x59, 0xaa, + 0x7e, 0xa0, 0x9c, 0x4b, 0x2b, 0xc3, 0xb3, 0x5f, 0xd0, 0xec, 0x3f, 0xe5, 0xaa, 0x3c, 0xdc, 0x6e, + 0x9b, 0x68, 0xb7, 0x6d, 0xa2, 0x77, 0x6d, 0x13, 0x3d, 0xdf, 0x33, 0x73, 0xbb, 0x7b, 0x66, 0xee, + 0xcd, 0x9e, 0x99, 0x7b, 0xb0, 0x5a, 0xa7, 0x62, 0xbd, 0xe9, 0xdb, 0x01, 0x6b, 0x38, 0xd5, 0xac, + 0xd5, 0x55, 0xe2, 0xa7, 0x4e, 0xb7, 0xf1, 0x85, 0x80, 0x71, 0xd8, 0x6f, 0xae, 0x13, 0x1a, 0x3b, + 0x0d, 0x16, 0x36, 0x23, 0x48, 0xb3, 0x7b, 0x91, 0xd8, 0x4c, 0x20, 0xf5, 0xff, 0x93, 0x97, 0x9f, + 0xeb, 0xdf, 0x02, 0x00, 0x00, 0xff, 0xff, 0xfd, 0xa0, 0xb4, 0x57, 0xcc, 0x09, 0x00, 0x00, } func (m *GrantBandOraclePrivilegeProposal) Marshal() (dAtA []byte, err error) { diff --git a/chain/oracle/types/pyth.go b/chain/oracle/types/pyth.go index 7b1fb3c3..4b986b39 100644 --- a/chain/oracle/types/pyth.go +++ b/chain/oracle/types/pyth.go @@ -1,15 +1,15 @@ package types import ( - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" "github.com/ethereum/go-ethereum/common" ) func NewPythPriceState( priceID common.Hash, - emaPrice, emaConf, conf sdk.Dec, + emaPrice, emaConf, conf math.LegacyDec, publishTime int64, - price sdk.Dec, + price math.LegacyDec, blockTime int64, ) *PythPriceState { return &PythPriceState{ @@ -23,9 +23,9 @@ func NewPythPriceState( } func (p *PythPriceState) Update( - emaPrice, emaConf, conf sdk.Dec, + emaPrice, emaConf, conf math.LegacyDec, publishTime uint64, - price sdk.Dec, + price math.LegacyDec, blockTime int64, ) { p.EmaPrice = emaPrice @@ -64,12 +64,12 @@ func (p *PriceAttestation) Validate() error { return nil } -func GetExponentiatedDec(value, expo int64) sdk.Dec { +func GetExponentiatedDec(value, expo int64) math.LegacyDec { // price * 10^-expo if expo <= 0 { - return sdk.NewDecWithPrec(value, -expo) + return math.LegacyNewDecWithPrec(value, -expo) } // price * 10^expo - return sdk.NewDec(value).Power(uint64(expo)) + return math.LegacyNewDec(value).Power(uint64(expo)) } diff --git a/chain/oracle/types/query.pb.go b/chain/oracle/types/query.pb.go index d82bee6f..38a42c17 100644 --- a/chain/oracle/types/query.pb.go +++ b/chain/oracle/types/query.pb.go @@ -5,8 +5,8 @@ package types import ( context "context" + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -1118,9 +1118,9 @@ func (m *QueryOracleVolatilityRequest) GetOracleHistoryOptions() *OracleHistoryO // 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"` - RawHistory []*PriceRecord `protobuf:"bytes,3,rep,name=raw_history,json=rawHistory,proto3" json:"raw_history,omitempty"` + Volatility *cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=volatility,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"volatility,omitempty"` + HistoryMetadata *MetadataStatistics `protobuf:"bytes,2,opt,name=history_metadata,json=historyMetadata,proto3" json:"history_metadata,omitempty"` + RawHistory []*PriceRecord `protobuf:"bytes,3,rep,name=raw_history,json=rawHistory,proto3" json:"raw_history,omitempty"` } func (m *QueryOracleVolatilityResponse) Reset() { *m = QueryOracleVolatilityResponse{} } @@ -1338,19 +1338,75 @@ func (m *QueryOracleProviderPricesResponse) GetProviderState() []*ProviderState return nil } +// ScalingOptions defines optional configuration to avoid precision loss. The +// oracle result will be returned as base_price * 10^base_decimals / quote_price +// * 10^quote_decimals +type ScalingOptions struct { + BaseDecimals uint32 `protobuf:"varint,1,opt,name=base_decimals,json=baseDecimals,proto3" json:"base_decimals,omitempty"` + QuoteDecimals uint32 `protobuf:"varint,2,opt,name=quote_decimals,json=quoteDecimals,proto3" json:"quote_decimals,omitempty"` +} + +func (m *ScalingOptions) Reset() { *m = ScalingOptions{} } +func (m *ScalingOptions) String() string { return proto.CompactTextString(m) } +func (*ScalingOptions) ProtoMessage() {} +func (*ScalingOptions) Descriptor() ([]byte, []int) { + return fileDescriptor_52f5d6f9962923ad, []int{29} +} +func (m *ScalingOptions) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ScalingOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ScalingOptions.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 *ScalingOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_ScalingOptions.Merge(m, src) +} +func (m *ScalingOptions) XXX_Size() int { + return m.Size() +} +func (m *ScalingOptions) XXX_DiscardUnknown() { + xxx_messageInfo_ScalingOptions.DiscardUnknown(m) +} + +var xxx_messageInfo_ScalingOptions proto.InternalMessageInfo + +func (m *ScalingOptions) GetBaseDecimals() uint32 { + if m != nil { + return m.BaseDecimals + } + return 0 +} + +func (m *ScalingOptions) GetQuoteDecimals() uint32 { + if m != nil { + return m.QuoteDecimals + } + return 0 +} + // 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"` - Quote string `protobuf:"bytes,3,opt,name=quote,proto3" json:"quote,omitempty"` + 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"` + Quote string `protobuf:"bytes,3,opt,name=quote,proto3" json:"quote,omitempty"` + ScalingOptions *ScalingOptions `protobuf:"bytes,4,opt,name=scaling_options,json=scalingOptions,proto3" json:"scaling_options,omitempty"` } func (m *QueryOraclePriceRequest) Reset() { *m = QueryOraclePriceRequest{} } func (m *QueryOraclePriceRequest) String() string { return proto.CompactTextString(m) } func (*QueryOraclePriceRequest) ProtoMessage() {} func (*QueryOraclePriceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{29} + return fileDescriptor_52f5d6f9962923ad, []int{30} } func (m *QueryOraclePriceRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1400,21 +1456,28 @@ func (m *QueryOraclePriceRequest) GetQuote() string { return "" } +func (m *QueryOraclePriceRequest) GetScalingOptions() *ScalingOptions { + if m != nil { + return m.ScalingOptions + } + return nil +} + type PricePairState struct { - PairPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=pair_price,json=pairPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"pair_price"` - BasePrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=base_price,json=basePrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"base_price"` - QuotePrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=quote_price,json=quotePrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quote_price"` - BaseCumulativePrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=base_cumulative_price,json=baseCumulativePrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"base_cumulative_price"` - QuoteCumulativePrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=quote_cumulative_price,json=quoteCumulativePrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quote_cumulative_price"` - BaseTimestamp int64 `protobuf:"varint,6,opt,name=base_timestamp,json=baseTimestamp,proto3" json:"base_timestamp,omitempty"` - QuoteTimestamp int64 `protobuf:"varint,7,opt,name=quote_timestamp,json=quoteTimestamp,proto3" json:"quote_timestamp,omitempty"` + PairPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=pair_price,json=pairPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"pair_price"` + BasePrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=base_price,json=basePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"base_price"` + QuotePrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=quote_price,json=quotePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quote_price"` + BaseCumulativePrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=base_cumulative_price,json=baseCumulativePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"base_cumulative_price"` + QuoteCumulativePrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=quote_cumulative_price,json=quoteCumulativePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quote_cumulative_price"` + BaseTimestamp int64 `protobuf:"varint,6,opt,name=base_timestamp,json=baseTimestamp,proto3" json:"base_timestamp,omitempty"` + QuoteTimestamp int64 `protobuf:"varint,7,opt,name=quote_timestamp,json=quoteTimestamp,proto3" json:"quote_timestamp,omitempty"` } func (m *PricePairState) Reset() { *m = PricePairState{} } func (m *PricePairState) String() string { return proto.CompactTextString(m) } func (*PricePairState) ProtoMessage() {} func (*PricePairState) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{30} + return fileDescriptor_52f5d6f9962923ad, []int{31} } func (m *PricePairState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1467,7 +1530,7 @@ func (m *QueryOraclePriceResponse) Reset() { *m = QueryOraclePriceRespon func (m *QueryOraclePriceResponse) String() string { return proto.CompactTextString(m) } func (*QueryOraclePriceResponse) ProtoMessage() {} func (*QueryOraclePriceResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{31} + return fileDescriptor_52f5d6f9962923ad, []int{32} } func (m *QueryOraclePriceResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1533,6 +1596,7 @@ func init() { proto.RegisterType((*QueryOracleProvidersInfoResponse)(nil), "injective.oracle.v1beta1.QueryOracleProvidersInfoResponse") proto.RegisterType((*QueryOracleProviderPricesRequest)(nil), "injective.oracle.v1beta1.QueryOracleProviderPricesRequest") proto.RegisterType((*QueryOracleProviderPricesResponse)(nil), "injective.oracle.v1beta1.QueryOracleProviderPricesResponse") + proto.RegisterType((*ScalingOptions)(nil), "injective.oracle.v1beta1.ScalingOptions") proto.RegisterType((*QueryOraclePriceRequest)(nil), "injective.oracle.v1beta1.QueryOraclePriceRequest") proto.RegisterType((*PricePairState)(nil), "injective.oracle.v1beta1.PricePairState") proto.RegisterType((*QueryOraclePriceResponse)(nil), "injective.oracle.v1beta1.QueryOraclePriceResponse") @@ -1543,111 +1607,115 @@ func init() { } var fileDescriptor_52f5d6f9962923ad = []byte{ - // 1657 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xdf, 0x6f, 0xd3, 0xd6, - 0x17, 0xaf, 0xfb, 0x8b, 0xe6, 0x04, 0xda, 0x72, 0x1b, 0x4a, 0x31, 0x90, 0x06, 0x43, 0x7f, 0xf0, - 0x85, 0xc6, 0x34, 0x7c, 0x37, 0x18, 0x63, 0x48, 0xb4, 0xc0, 0x56, 0x46, 0xd5, 0xce, 0xb0, 0x1f, - 0xda, 0x4b, 0x74, 0xe3, 0xdc, 0x26, 0x1e, 0x89, 0xaf, 0xb1, 0x9d, 0x42, 0x84, 0xd0, 0xa4, 0x3d, - 0x4e, 0x93, 0x36, 0x69, 0x4f, 0x93, 0xb6, 0xf7, 0x69, 0x6f, 0x7b, 0xd8, 0xc3, 0x5e, 0x27, 0x4d, - 0x62, 0x6f, 0x4c, 0xd3, 0xa4, 0x89, 0x07, 0x34, 0xc1, 0xfe, 0x90, 0xc9, 0xf7, 0x5e, 0xbb, 0x76, - 0x63, 0xc7, 0x49, 0xa4, 0x3d, 0x35, 0xbe, 0x3e, 0xe7, 0x73, 0x3e, 0xe7, 0xf8, 0x9c, 0x63, 0x7f, - 0x54, 0x38, 0x63, 0x98, 0x9f, 0x10, 0xdd, 0x35, 0x76, 0x89, 0x4a, 0x6d, 0xac, 0x37, 0x88, 0xba, - 0xbb, 0x5a, 0x21, 0x2e, 0x5e, 0x55, 0x1f, 0xb4, 0x88, 0xdd, 0x2e, 0x5a, 0x36, 0x75, 0x29, 0x9a, - 0x0b, 0xac, 0x8a, 0xdc, 0xaa, 0x28, 0xac, 0xe4, 0x13, 0x35, 0x4a, 0x6b, 0x0d, 0xa2, 0x62, 0xcb, - 0x50, 0xb1, 0x69, 0x52, 0x17, 0xbb, 0x06, 0x35, 0x1d, 0xee, 0x27, 0x2f, 0x24, 0xa2, 0x0b, 0x18, - 0x6e, 0xb6, 0x98, 0x68, 0x56, 0x23, 0x26, 0x71, 0x0c, 0x1f, 0x2e, 0x57, 0xa3, 0x35, 0xca, 0x7e, - 0xaa, 0xde, 0x2f, 0x7e, 0xaa, 0x94, 0xe0, 0xc8, 0x7b, 0x1e, 0xd7, 0xed, 0xb6, 0x5b, 0xdf, 0xb6, - 0x0d, 0x9d, 0x68, 0xe4, 0x41, 0x8b, 0x38, 0x2e, 0x3a, 0x06, 0x13, 0x96, 0x77, 0x5d, 0x36, 0xaa, - 0x73, 0x52, 0x41, 0x5a, 0xce, 0x68, 0x07, 0xd8, 0xf5, 0x46, 0x55, 0xd1, 0x61, 0x76, 0xbf, 0x8f, - 0x63, 0x51, 0xd3, 0x21, 0x68, 0x03, 0xb2, 0xdc, 0xc9, 0x71, 0xb1, 0x4b, 0x98, 0x5f, 0xb6, 0xb4, - 0x5c, 0x4c, 0x2a, 0x40, 0x31, 0x40, 0xb8, 0xeb, 0xd9, 0x6b, 0x60, 0x05, 0xbf, 0x95, 0x1c, 0x20, - 0x1e, 0x04, 0xdb, 0xb8, 0xe9, 0x08, 0x56, 0xca, 0xfb, 0x30, 0x13, 0x39, 0x15, 0x71, 0xaf, 0xc1, - 0xb8, 0xc5, 0x4e, 0x44, 0xc8, 0x42, 0x97, 0x90, 0xcc, 0x6e, 0x6d, 0xf4, 0xe9, 0x8b, 0xf9, 0x21, - 0x4d, 0x78, 0x29, 0x32, 0xcc, 0x31, 0xd8, 0x35, 0x6c, 0x56, 0x35, 0xd2, 0xc0, 0x6d, 0x62, 0x07, - 0x21, 0x2f, 0xc1, 0xb1, 0x98, 0x7b, 0x22, 0xb0, 0x0c, 0x13, 0xb6, 0x38, 0x9b, 0x93, 0x0a, 0x23, - 0xcb, 0x19, 0x2d, 0xb8, 0x56, 0x4e, 0xc2, 0xf1, 0xc0, 0x71, 0x2f, 0xc9, 0x00, 0xf7, 0x3e, 0x9c, - 0x88, 0xbf, 0x2d, 0xa0, 0xdf, 0x85, 0x83, 0xa1, 0x5a, 0x72, 0xf8, 0xae, 0xc5, 0x8c, 0x02, 0x69, - 0xd9, 0xbd, 0x62, 0x3a, 0x4a, 0x01, 0xf2, 0x41, 0xb0, 0x8d, 0xb5, 0xf5, 0x18, 0x3a, 0x26, 0xcc, - 0x27, 0x5a, 0xfc, 0x17, 0x8c, 0x14, 0x28, 0xf0, 0x27, 0xe9, 0x9d, 0xdd, 0x22, 0x24, 0xae, 0x44, - 0x16, 0x9c, 0xea, 0x62, 0x33, 0x28, 0xab, 0x00, 0x2d, 0x86, 0xd5, 0x29, 0x51, 0x85, 0x75, 0x6a, - 0x98, 0x15, 0xec, 0x90, 0x18, 0x52, 0x8e, 0x20, 0x1e, 0x6b, 0x22, 0x38, 0x6d, 0xc5, 0x72, 0x3a, - 0x9f, 0xcc, 0xa9, 0x13, 0x2c, 0xca, 0xcb, 0xef, 0xa5, 0xe8, 0xc0, 0x74, 0xf4, 0x52, 0xc7, 0xed, - 0x81, 0x6b, 0x14, 0x1d, 0xcc, 0x08, 0x97, 0x7b, 0xa2, 0x97, 0xb6, 0x6d, 0xba, 0x6b, 0x54, 0x89, - 0x1d, 0xb2, 0x13, 0xbb, 0x43, 0xf6, 0x76, 0x07, 0xbf, 0x29, 0x76, 0x47, 0x70, 0x8d, 0x66, 0x61, - 0xdc, 0x69, 0x37, 0x2b, 0xb4, 0x31, 0x37, 0xcc, 0xee, 0x88, 0x2b, 0xa5, 0x2e, 0x2a, 0x1f, 0x87, - 0x2a, 0xb2, 0xb8, 0x19, 0xb7, 0x5d, 0xce, 0xa4, 0x3c, 0xe8, 0xce, 0xcd, 0x72, 0x0c, 0x8e, 0xb2, - 0x48, 0x9b, 0xb4, 0xda, 0x6a, 0x44, 0x88, 0x2b, 0x1f, 0x89, 0x3d, 0x10, 0xb9, 0x25, 0xa2, 0x5f, - 0x85, 0xb1, 0x70, 0xdc, 0xc5, 0xe4, 0xb8, 0x6f, 0xf3, 0xbd, 0xcb, 0xdd, 0xb9, 0x93, 0xf2, 0x29, - 0x28, 0x0c, 0xf9, 0x1d, 0xc3, 0x71, 0xa9, 0x6d, 0xe8, 0xb8, 0x21, 0x36, 0xa7, 0x4e, 0xed, 0xaa, - 0xff, 0x1c, 0xd1, 0x55, 0x18, 0xe7, 0x58, 0x2c, 0xc8, 0x64, 0xb7, 0xe4, 0xb6, 0xd8, 0xe5, 0xbd, - 0xb6, 0x45, 0x34, 0xe1, 0x83, 0x8e, 0x43, 0x86, 0x17, 0xd3, 0xdb, 0xd9, 0xbc, 0xba, 0x13, 0xfc, - 0x60, 0xa3, 0xaa, 0xd8, 0x70, 0xba, 0x2b, 0x81, 0xa0, 0x53, 0x0e, 0xf1, 0x1a, 0xdb, 0xfc, 0x86, - 0x68, 0x95, 0xc5, 0x94, 0x2a, 0xfb, 0x30, 0xbc, 0xcd, 0xc4, 0x95, 0xf2, 0xb9, 0x04, 0x39, 0xce, - 0x93, 0x47, 0x6d, 0x6f, 0x59, 0xec, 0x05, 0x87, 0x8e, 0xc2, 0x81, 0x26, 0x7e, 0x54, 0xc6, 0x35, - 0x9e, 0xe8, 0xa8, 0x36, 0xde, 0xc4, 0x8f, 0xae, 0xd7, 0x08, 0x2a, 0xc2, 0x8c, 0x61, 0xea, 0x8d, - 0x56, 0x95, 0x94, 0x6d, 0xfc, 0xb0, 0x5c, 0xe7, 0x6e, 0x2c, 0x99, 0x09, 0xed, 0xb0, 0xb8, 0xa5, - 0xe1, 0x87, 0x02, 0x0f, 0x9d, 0x85, 0x69, 0xdf, 0xbe, 0x49, 0x5c, 0x5c, 0xc5, 0x2e, 0x9e, 0x1b, - 0x61, 0xc6, 0x53, 0xe2, 0x7c, 0x53, 0x1c, 0x2b, 0x5f, 0x0c, 0x8b, 0x21, 0xe1, 0x8c, 0x3e, 0xa0, - 0x0d, 0xec, 0x1a, 0x0d, 0xc3, 0x6d, 0xfb, 0xc5, 0xbf, 0x0e, 0x19, 0x6f, 0x04, 0xcb, 0x86, 0xb9, - 0x43, 0xd3, 0x9b, 0x8b, 0xa3, 0x6c, 0x98, 0x3b, 0x54, 0x9b, 0xf0, 0xdc, 0xbc, 0x5f, 0x68, 0x1d, - 0xe0, 0x41, 0x8b, 0xba, 0x02, 0x63, 0xb8, 0x0f, 0x8c, 0x0c, 0xf3, 0x63, 0x20, 0x55, 0x98, 0xe5, - 0x76, 0x7e, 0xfa, 0x65, 0xca, 0xcb, 0xc6, 0x32, 0xcb, 0x96, 0x8a, 0x69, 0x80, 0xd1, 0x62, 0x6b, - 0x39, 0x1a, 0x73, 0xea, 0x95, 0xe3, 0x64, 0x42, 0x39, 0x44, 0x2b, 0xdc, 0x06, 0xd8, 0x0d, 0x4e, - 0xf9, 0x1c, 0xaf, 0xfd, 0xef, 0xf9, 0x8b, 0xf9, 0xc5, 0x9a, 0xe1, 0xd6, 0x5b, 0x95, 0xa2, 0x4e, - 0x9b, 0xaa, 0x4e, 0x9d, 0x26, 0x75, 0xc4, 0x9f, 0x15, 0xa7, 0x7a, 0x5f, 0x75, 0xdb, 0x16, 0x71, - 0x8a, 0x37, 0x88, 0xae, 0x85, 0xbc, 0xd1, 0x87, 0x30, 0xed, 0x27, 0x13, 0x3c, 0x27, 0x5e, 0x9e, - 0x2e, 0x4b, 0xd1, 0x7f, 0x74, 0xde, 0x20, 0x19, 0x8e, 0x6b, 0xe8, 0x8e, 0x36, 0x25, 0x50, 0xfc, - 0x5b, 0xe8, 0x16, 0x64, 0xc3, 0x8d, 0x32, 0xc2, 0xba, 0x75, 0xa1, 0xa7, 0x6e, 0xd5, 0xc0, 0x0e, - 0x1a, 0x29, 0x58, 0xfc, 0xbc, 0x1a, 0xfe, 0x12, 0x72, 0xd8, 0xb3, 0x11, 0xcb, 0xa1, 0x2e, 0x16, - 0x7f, 0xac, 0x89, 0xa8, 0xd9, 0x0d, 0xc8, 0xf8, 0x9b, 0xae, 0xa7, 0xd1, 0xe1, 0xa6, 0xbc, 0x03, - 0x02, 0x47, 0xe5, 0x5a, 0x6c, 0x24, 0x46, 0xdd, 0xe9, 0x61, 0xc7, 0x2a, 0xb6, 0x78, 0x6f, 0xc6, - 0xfb, 0x0b, 0xaa, 0x9b, 0xde, 0xa4, 0xf3, 0x3b, 0x77, 0xc5, 0x5e, 0xf3, 0xe8, 0x2e, 0xa5, 0xd3, - 0xe5, 0x8b, 0x2d, 0xea, 0xed, 0xcd, 0xfa, 0xd1, 0x48, 0xd0, 0xd0, 0xb7, 0xe4, 0x4d, 0xc8, 0x8a, - 0x8e, 0xf6, 0xba, 0xa3, 0xaf, 0xdd, 0x06, 0x34, 0xf8, 0x8d, 0x10, 0x8c, 0x7a, 0x93, 0x26, 0x56, - 0x1b, 0xfb, 0x8d, 0x72, 0x30, 0xc6, 0x26, 0x87, 0xcd, 0x46, 0x46, 0xe3, 0x17, 0xca, 0x37, 0xa3, - 0x30, 0xc9, 0x18, 0x6c, 0x63, 0x83, 0xf3, 0x43, 0x9b, 0x00, 0x16, 0x36, 0xec, 0x32, 0x5b, 0x50, - 0xa2, 0x9b, 0x8b, 0xde, 0x47, 0x60, 0x1f, 0x1d, 0x9d, 0xf1, 0x10, 0x18, 0xae, 0x07, 0xc7, 0x96, - 0x05, 0x87, 0x1b, 0x1e, 0x0c, 0x2e, 0x78, 0xe3, 0xa3, 0x2d, 0xc8, 0xf2, 0xc5, 0xc1, 0xf1, 0x46, - 0x06, 0xc2, 0xe3, 0xbb, 0x87, 0x03, 0x56, 0xe0, 0x08, 0xe3, 0xa7, 0xb7, 0x9a, 0x2d, 0x6f, 0x0a, - 0x77, 0x7d, 0xe8, 0xd1, 0x81, 0xa0, 0x67, 0x3c, 0xb0, 0xf5, 0x00, 0x8b, 0xc7, 0xa8, 0xc2, 0x2c, - 0x27, 0xdd, 0x11, 0x64, 0x6c, 0xa0, 0x20, 0x39, 0x86, 0xb6, 0x3f, 0xca, 0x02, 0x4c, 0xb2, 0x4c, - 0x5c, 0xa3, 0x49, 0x1c, 0x17, 0x37, 0xad, 0xb9, 0xf1, 0x82, 0xb4, 0x3c, 0xa2, 0x1d, 0xf2, 0x4e, - 0xef, 0xf9, 0x87, 0x68, 0x09, 0xa6, 0x38, 0x99, 0x3d, 0xbb, 0x03, 0xcc, 0x6e, 0x92, 0x1d, 0x07, - 0x86, 0x8a, 0x29, 0xde, 0xf1, 0x91, 0x3e, 0x15, 0x33, 0xa1, 0xc1, 0x34, 0x7f, 0xfb, 0xb1, 0x56, - 0xe9, 0x55, 0xc4, 0x44, 0x1a, 0x4d, 0x9b, 0xb4, 0x22, 0xd7, 0xa5, 0xe7, 0x47, 0x60, 0x8c, 0x05, - 0x44, 0x5f, 0x4a, 0x30, 0xce, 0xe5, 0x07, 0xea, 0xb2, 0xf5, 0x3a, 0x55, 0x8f, 0xbc, 0xd2, 0xa3, - 0x35, 0xcf, 0x42, 0x59, 0xfe, 0xec, 0x8f, 0x7f, 0xbe, 0x1e, 0x56, 0x50, 0x41, 0x4d, 0x94, 0x86, - 0x5c, 0xf7, 0xa0, 0xef, 0x25, 0x38, 0x18, 0xd6, 0x35, 0xa8, 0x94, 0x12, 0x29, 0x46, 0x20, 0xc9, - 0x17, 0xfb, 0xf2, 0x11, 0x1c, 0x55, 0xc6, 0xf1, 0x2c, 0x5a, 0x4a, 0xe6, 0x58, 0xc1, 0x66, 0xb5, - 0xec, 0xab, 0x29, 0xf4, 0x93, 0x04, 0x53, 0xfb, 0xa4, 0x12, 0x7a, 0xad, 0x87, 0xc8, 0x9d, 0x5f, - 0xcb, 0xf2, 0xeb, 0xfd, 0xba, 0x09, 0xce, 0x17, 0x19, 0xe7, 0x15, 0x74, 0x2e, 0x85, 0x73, 0xf8, - 0x53, 0x1b, 0xfd, 0x22, 0x01, 0xea, 0xd4, 0x54, 0xe8, 0x72, 0x0f, 0x1c, 0x62, 0x85, 0x9a, 0xfc, - 0xc6, 0x00, 0x9e, 0x22, 0x81, 0x4b, 0x2c, 0x81, 0x55, 0xa4, 0xa6, 0x24, 0x60, 0x54, 0xf4, 0x68, - 0x12, 0xbf, 0x49, 0x90, 0x8b, 0x13, 0x61, 0xe8, 0x4a, 0x5a, 0x67, 0x26, 0xab, 0x3b, 0xf9, 0xcd, - 0x81, 0x7c, 0x45, 0x2a, 0x97, 0x59, 0x2a, 0x25, 0x74, 0xa1, 0x4b, 0x8f, 0x7b, 0x6e, 0x3b, 0x84, - 0xec, 0x7b, 0x20, 0xbf, 0x4a, 0x30, 0x13, 0xa3, 0xdd, 0x50, 0x5a, 0x5d, 0x93, 0x25, 0xa1, 0x7c, - 0x65, 0x10, 0xd7, 0xde, 0x9f, 0x89, 0x2e, 0xdc, 0xa3, 0x79, 0x78, 0x03, 0xb1, 0x4f, 0xef, 0xa5, - 0x0e, 0x44, 0xbc, 0x7c, 0x4c, 0x1d, 0x88, 0x04, 0x59, 0xd9, 0xcb, 0x40, 0x58, 0x6d, 0xb7, 0x1e, - 0xe5, 0xfd, 0xa7, 0x04, 0xa8, 0x53, 0xe4, 0xa5, 0x0e, 0x44, 0xa2, 0xda, 0x4c, 0x1d, 0x88, 0x64, - 0x45, 0xa9, 0xdc, 0x66, 0x09, 0xdc, 0x40, 0x6b, 0xdd, 0xba, 0x88, 0x7b, 0x87, 0x93, 0x50, 0x1f, - 0xfb, 0xa7, 0x4f, 0xd4, 0xc7, 0x5c, 0x61, 0x3d, 0x41, 0x3f, 0x48, 0x70, 0x98, 0xbf, 0x53, 0x42, - 0xea, 0x11, 0xad, 0xa6, 0x90, 0xeb, 0x14, 0xa1, 0x72, 0xa9, 0x1f, 0x17, 0x91, 0x48, 0x91, 0x25, - 0xb2, 0x8c, 0x16, 0x93, 0x13, 0x69, 0x32, 0x37, 0x9e, 0x00, 0xfa, 0x5d, 0x82, 0xd9, 0x78, 0x25, - 0x88, 0xae, 0xa6, 0x84, 0xef, 0xaa, 0x60, 0xe5, 0xb7, 0x06, 0xf4, 0x16, 0x79, 0x5c, 0x61, 0x79, - 0xfc, 0x1f, 0x95, 0x92, 0xf3, 0xa8, 0x07, 0x08, 0xe5, 0x88, 0x52, 0x45, 0x3f, 0x4a, 0x30, 0xbd, - 0x5f, 0xcc, 0xa0, 0xb4, 0xd6, 0x4e, 0x10, 0x83, 0xf2, 0xa5, 0xbe, 0xfd, 0x44, 0x06, 0xe7, 0x59, - 0x06, 0x8b, 0xe8, 0x4c, 0x72, 0x06, 0x21, 0x5d, 0xf4, 0xb3, 0x04, 0x33, 0x31, 0x7a, 0x22, 0x75, - 0x19, 0x25, 0xcb, 0x94, 0xd4, 0x65, 0xd4, 0x45, 0xbe, 0x28, 0xe7, 0x18, 0xf9, 0x05, 0x74, 0x3a, - 0x7d, 0x1e, 0xd8, 0x9b, 0x2d, 0x17, 0xa7, 0x30, 0x50, 0x7f, 0x0c, 0x22, 0xb2, 0x26, 0xf5, 0xa5, - 0xd0, 0x4d, 0xd2, 0x28, 0xab, 0x8c, 0xfe, 0x39, 0x74, 0xb6, 0xd7, 0x71, 0x76, 0xd0, 0x77, 0x12, - 0x64, 0x43, 0x5f, 0x82, 0xa9, 0xf3, 0xda, 0xa9, 0x6e, 0x52, 0xe7, 0x35, 0xe6, 0x43, 0x53, 0x59, - 0x62, 0x4c, 0x4f, 0xa1, 0xf9, 0x94, 0xd7, 0x17, 0xfa, 0x56, 0x82, 0x4c, 0xb0, 0x7e, 0x91, 0xda, - 0xeb, 0xa2, 0xf6, 0xb9, 0x5d, 0xe8, 0xdd, 0xa1, 0xf7, 0xfe, 0xdd, 0xdb, 0xe9, 0x6b, 0x3b, 0x4f, - 0x5f, 0xe6, 0xa5, 0x67, 0x2f, 0xf3, 0xd2, 0xdf, 0x2f, 0xf3, 0xd2, 0x57, 0xaf, 0xf2, 0x43, 0xcf, - 0x5e, 0xe5, 0x87, 0xfe, 0x7a, 0x95, 0x1f, 0xfa, 0xf8, 0x4e, 0xe8, 0xa3, 0x7f, 0xc3, 0x47, 0xba, - 0x83, 0x2b, 0xce, 0x1e, 0xee, 0x8a, 0x4e, 0x6d, 0x12, 0xbe, 0xac, 0x63, 0xc3, 0x14, 0x7b, 0xca, - 0xf1, 0x83, 0x32, 0x79, 0x50, 0x19, 0x67, 0xff, 0xad, 0xb8, 0xf8, 0x6f, 0x00, 0x00, 0x00, 0xff, - 0xff, 0xe1, 0xe8, 0xd9, 0x82, 0x72, 0x19, 0x00, 0x00, + // 1728 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xdd, 0x6f, 0x13, 0xc7, + 0x16, 0xcf, 0xe6, 0x8b, 0xf8, 0x98, 0x7c, 0x30, 0x31, 0x21, 0x18, 0x48, 0xc2, 0x86, 0x7c, 0x20, + 0xc0, 0x26, 0xe6, 0xde, 0x0b, 0x97, 0xcb, 0xa5, 0x22, 0x09, 0xb4, 0x69, 0x41, 0xa4, 0x0b, 0x2d, + 0x6d, 0x55, 0xc9, 0x1a, 0xaf, 0x27, 0xf6, 0x16, 0x7b, 0xc7, 0xec, 0xae, 0x03, 0x16, 0x42, 0x55, + 0xfb, 0x58, 0x55, 0x6a, 0xa5, 0xbe, 0xb6, 0xef, 0x55, 0xdf, 0xfa, 0xd0, 0x87, 0xbe, 0x56, 0xaa, + 0x44, 0xdf, 0xa8, 0xaa, 0x4a, 0x15, 0x0f, 0xa8, 0x4a, 0xfa, 0x87, 0x54, 0x3b, 0x67, 0x76, 0xe3, + 0x8d, 0x77, 0xbd, 0xeb, 0x48, 0x7d, 0xf3, 0xcc, 0x9c, 0xf3, 0x3b, 0xbf, 0x73, 0xe6, 0x9c, 0xb3, + 0x73, 0x64, 0x38, 0x63, 0x98, 0x1f, 0x31, 0xdd, 0x31, 0xb6, 0x59, 0x9e, 0x5b, 0x54, 0xaf, 0xb1, + 0xfc, 0xf6, 0x4a, 0x89, 0x39, 0x74, 0x25, 0xff, 0xa8, 0xc9, 0xac, 0x56, 0xae, 0x61, 0x71, 0x87, + 0x93, 0x69, 0x5f, 0x2a, 0x87, 0x52, 0x39, 0x29, 0x95, 0x3d, 0x59, 0xe1, 0xbc, 0x52, 0x63, 0x79, + 0xda, 0x30, 0xf2, 0xd4, 0x34, 0xb9, 0x43, 0x1d, 0x83, 0x9b, 0x36, 0xea, 0x65, 0x17, 0x22, 0xd1, + 0x25, 0x0c, 0x8a, 0x2d, 0x46, 0x8a, 0x55, 0x98, 0xc9, 0x6c, 0xc3, 0x83, 0xcb, 0x54, 0x78, 0x85, + 0x8b, 0x9f, 0x79, 0xf7, 0x17, 0xee, 0xaa, 0x05, 0x38, 0xfa, 0xb6, 0xcb, 0x75, 0xb3, 0xe5, 0x54, + 0x37, 0x2d, 0x43, 0x67, 0x1a, 0x7b, 0xd4, 0x64, 0xb6, 0x43, 0x8e, 0xc3, 0x48, 0xc3, 0x5d, 0x17, + 0x8d, 0xf2, 0xb4, 0x32, 0xa7, 0x2c, 0xa7, 0xb4, 0x43, 0x62, 0xbd, 0x51, 0x56, 0x75, 0x98, 0xda, + 0xaf, 0x63, 0x37, 0xb8, 0x69, 0x33, 0xb2, 0x01, 0x69, 0x54, 0xb2, 0x1d, 0xea, 0x30, 0xa1, 0x97, + 0x2e, 0x2c, 0xe7, 0xa2, 0x02, 0x90, 0xf3, 0x11, 0xee, 0xb9, 0xf2, 0x1a, 0x34, 0xfc, 0xdf, 0x6a, + 0x06, 0x08, 0x1a, 0xa1, 0x16, 0xad, 0xdb, 0x92, 0x95, 0xfa, 0x0e, 0x4c, 0x06, 0x76, 0xa5, 0xdd, + 0xeb, 0x30, 0xdc, 0x10, 0x3b, 0xd2, 0xe4, 0x5c, 0x17, 0x93, 0x42, 0x6e, 0x75, 0xf0, 0xf9, 0xab, + 0xd9, 0x3e, 0x4d, 0x6a, 0xa9, 0x59, 0x98, 0x16, 0xb0, 0xab, 0xd4, 0x2c, 0x6b, 0xac, 0x46, 0x5b, + 0xcc, 0xf2, 0x4d, 0x5e, 0x86, 0xe3, 0x21, 0x67, 0xd2, 0x70, 0x16, 0x46, 0x2c, 0xb9, 0x37, 0xad, + 0xcc, 0x0d, 0x2c, 0xa7, 0x34, 0x7f, 0xad, 0x9e, 0x82, 0x13, 0xbe, 0xe2, 0x9e, 0x93, 0x3e, 0xee, + 0x43, 0x38, 0x19, 0x7e, 0x2c, 0xa1, 0xdf, 0x82, 0xc3, 0x6d, 0xb1, 0x44, 0xf8, 0xae, 0xc1, 0x0c, + 0x02, 0x69, 0xe9, 0xbd, 0x60, 0xda, 0xea, 0x1c, 0xcc, 0xf8, 0xc6, 0x36, 0x56, 0xd7, 0x42, 0xe8, + 0x98, 0x30, 0x1b, 0x29, 0xf1, 0x4f, 0x30, 0x52, 0x61, 0x0e, 0x6f, 0xd2, 0xdd, 0xbb, 0xc5, 0x58, + 0x58, 0x88, 0x1a, 0x70, 0xba, 0x8b, 0xcc, 0x41, 0x59, 0xf9, 0x68, 0x21, 0xac, 0x4e, 0xcb, 0x28, + 0xac, 0x71, 0xc3, 0x2c, 0x51, 0x9b, 0x85, 0x90, 0xb2, 0x25, 0xf1, 0x50, 0x11, 0xc9, 0xe9, 0x6e, + 0x28, 0xa7, 0xf3, 0xd1, 0x9c, 0x3a, 0xc1, 0x82, 0xbc, 0xbc, 0x5c, 0x0a, 0x16, 0x4c, 0x47, 0x2e, + 0x75, 0x1c, 0x1f, 0x38, 0x46, 0xc1, 0xc2, 0x0c, 0x70, 0xb9, 0x2f, 0x73, 0x69, 0xd3, 0xe2, 0xdb, + 0x46, 0x99, 0x59, 0x6d, 0x72, 0xb2, 0x77, 0x64, 0xdd, 0xde, 0x81, 0x87, 0xb2, 0x77, 0xf8, 0x6b, + 0x32, 0x05, 0xc3, 0x76, 0xab, 0x5e, 0xe2, 0xb5, 0xe9, 0x7e, 0x71, 0x22, 0x57, 0x6a, 0x55, 0x46, + 0x3e, 0x0c, 0x55, 0x7a, 0x71, 0x33, 0xac, 0xbb, 0x9c, 0x89, 0xb9, 0xe8, 0xce, 0xce, 0x72, 0x1c, + 0x8e, 0x09, 0x4b, 0x77, 0x78, 0xb9, 0x59, 0x0b, 0x10, 0x57, 0xdf, 0x93, 0x7d, 0x20, 0x70, 0x24, + 0xad, 0x5f, 0x83, 0xa1, 0x76, 0xbb, 0x8b, 0xd1, 0x76, 0x5f, 0xc7, 0xbe, 0x8b, 0xea, 0xa8, 0xa4, + 0x7e, 0x0c, 0xaa, 0x40, 0x7e, 0xc3, 0xb0, 0x1d, 0x6e, 0x19, 0x3a, 0xad, 0xc9, 0xce, 0xa9, 0x73, + 0xab, 0xec, 0xdd, 0x23, 0xb9, 0x06, 0xc3, 0x88, 0x25, 0x8c, 0x8c, 0x75, 0x73, 0xee, 0xae, 0x58, + 0xde, 0x6f, 0x35, 0x98, 0x26, 0x75, 0xc8, 0x09, 0x48, 0x61, 0x30, 0xdd, 0x9e, 0x8d, 0xd1, 0x1d, + 0xc1, 0x8d, 0x8d, 0xb2, 0x6a, 0xc1, 0x7c, 0x57, 0x02, 0x7e, 0xa6, 0x8c, 0x62, 0x8c, 0x2d, 0x3c, + 0x90, 0xa9, 0xb2, 0x18, 0x13, 0x65, 0x0f, 0x06, 0xd3, 0x4c, 0xae, 0xd4, 0xcf, 0x14, 0xc8, 0x20, + 0x4f, 0xb4, 0xda, 0xba, 0xdb, 0x10, 0x1f, 0x38, 0x72, 0x0c, 0x0e, 0xd5, 0xe9, 0x93, 0x22, 0xad, + 0xa0, 0xa3, 0x83, 0xda, 0x70, 0x9d, 0x3e, 0xb9, 0x51, 0x61, 0x24, 0x07, 0x93, 0x86, 0xa9, 0xd7, + 0x9a, 0x65, 0x56, 0xb4, 0xe8, 0xe3, 0x62, 0x15, 0xd5, 0x84, 0x33, 0x23, 0xda, 0x11, 0x79, 0xa4, + 0xd1, 0xc7, 0x12, 0x8f, 0x9c, 0x85, 0x09, 0x4f, 0xbe, 0xce, 0x1c, 0x5a, 0xa6, 0x0e, 0x9d, 0x1e, + 0x10, 0xc2, 0xe3, 0x72, 0xff, 0x8e, 0xdc, 0x56, 0x3f, 0xef, 0x97, 0x45, 0x82, 0x8c, 0xde, 0xe5, + 0x35, 0xea, 0x18, 0x35, 0xc3, 0x69, 0x79, 0xc1, 0xbf, 0x01, 0x29, 0xb7, 0x04, 0x8b, 0x86, 0xb9, + 0xc5, 0xe3, 0x93, 0x0b, 0x51, 0x36, 0xcc, 0x2d, 0xae, 0x8d, 0xb8, 0x6a, 0xee, 0x2f, 0xb2, 0x06, + 0xf0, 0xa8, 0xc9, 0x1d, 0x89, 0xd1, 0xdf, 0x03, 0x46, 0x4a, 0xe8, 0x09, 0x90, 0x32, 0x4c, 0xa1, + 0x9c, 0xe7, 0x7e, 0x91, 0x63, 0xd8, 0x84, 0x67, 0xe9, 0x42, 0x2e, 0x0e, 0x30, 0x18, 0x6c, 0x2d, + 0xc3, 0x43, 0x76, 0xd5, 0x4f, 0xfa, 0xe1, 0x54, 0x44, 0x38, 0x64, 0x2a, 0xbc, 0x06, 0xb0, 0xed, + 0xef, 0x62, 0x1d, 0xaf, 0xce, 0xbe, 0x7c, 0x35, 0x7b, 0x42, 0xe7, 0x76, 0x9d, 0xdb, 0x76, 0xf9, + 0x61, 0xce, 0xe0, 0xf9, 0x3a, 0x75, 0xaa, 0xb9, 0xdb, 0xac, 0x42, 0xf5, 0xd6, 0x3a, 0xd3, 0xb5, + 0x36, 0x15, 0xf2, 0x00, 0x26, 0x3c, 0x0f, 0xfc, 0xcb, 0xc1, 0x98, 0x74, 0xe9, 0x84, 0xde, 0x7d, + 0xb9, 0xd5, 0x63, 0xd8, 0x8e, 0xa1, 0xdb, 0xda, 0xb8, 0x44, 0xf1, 0x8e, 0xc8, 0x2d, 0x48, 0xb7, + 0x67, 0xc7, 0x80, 0x48, 0xd1, 0x85, 0x44, 0x29, 0xaa, 0x81, 0xe5, 0x67, 0x8f, 0xdf, 0xed, 0x31, + 0x04, 0x5e, 0xe7, 0xb1, 0xc5, 0x85, 0xc8, 0x8e, 0x50, 0x95, 0xdd, 0x3e, 0x54, 0x44, 0x06, 0x6a, + 0x1d, 0x52, 0x5e, 0x7b, 0x4b, 0x54, 0x2f, 0x28, 0x8a, 0xd7, 0xee, 0x2b, 0xaa, 0xd7, 0x43, 0x2d, + 0x09, 0xea, 0x76, 0x82, 0xc6, 0xaa, 0x5a, 0xf2, 0x63, 0x19, 0xae, 0x2f, 0xa9, 0xde, 0x71, 0xcb, + 0x1b, 0x4f, 0xee, 0xc9, 0x66, 0xe6, 0xd2, 0x5d, 0x8a, 0xa7, 0x8b, 0xdd, 0x2c, 0xa8, 0xad, 0x7e, + 0x08, 0x63, 0xf7, 0x74, 0x5a, 0x33, 0xcc, 0x8a, 0x57, 0xd9, 0xf3, 0x30, 0x2a, 0x8a, 0xa8, 0xcc, + 0x74, 0xa3, 0x4e, 0x6b, 0xf8, 0x20, 0x1b, 0xd5, 0x0e, 0xbb, 0x9b, 0xeb, 0x72, 0x8f, 0x2c, 0xc0, + 0x18, 0x96, 0x89, 0x2f, 0xd5, 0x2f, 0xa4, 0x46, 0xc5, 0xae, 0x27, 0xa6, 0xee, 0x2a, 0xb2, 0x53, + 0x7b, 0x2e, 0xb5, 0x3d, 0x4f, 0x6f, 0x42, 0x5a, 0x16, 0x89, 0xd3, 0x6a, 0xf4, 0xd6, 0x2e, 0x81, + 0xfb, 0xbf, 0x09, 0x81, 0x41, 0x97, 0x99, 0xec, 0x96, 0xe2, 0x37, 0xc9, 0xc0, 0x90, 0xe0, 0x21, + 0xca, 0x2d, 0xa5, 0xe1, 0x82, 0x3c, 0x80, 0x71, 0x1b, 0x5d, 0xf5, 0xcb, 0x71, 0x30, 0xee, 0x79, + 0x1b, 0x8c, 0x8d, 0x78, 0x73, 0x2a, 0xda, 0x98, 0x1d, 0xd8, 0x55, 0x77, 0x06, 0x60, 0x4c, 0xb8, + 0xb6, 0x49, 0x0d, 0x0c, 0x2b, 0x59, 0x05, 0x68, 0x50, 0xc3, 0x2a, 0x8a, 0x66, 0x2a, 0x2b, 0x6f, + 0xde, 0x7d, 0xb0, 0xc6, 0x55, 0x5f, 0xca, 0x55, 0x13, 0x60, 0x2e, 0x86, 0xb8, 0x08, 0xc4, 0xe8, + 0xef, 0x01, 0xc3, 0x7f, 0x87, 0x90, 0x75, 0x48, 0xe3, 0x3d, 0x21, 0xc8, 0x40, 0x72, 0x10, 0x6c, + 0x83, 0x88, 0xf2, 0x00, 0x8e, 0x0a, 0x26, 0x7a, 0xb3, 0xde, 0x74, 0x7b, 0xc3, 0xb6, 0x87, 0x37, + 0x98, 0x1c, 0x6f, 0xd2, 0x45, 0x58, 0xf3, 0x01, 0x10, 0xf8, 0x7d, 0x98, 0x42, 0x7a, 0x1d, 0xc8, + 0x43, 0xc9, 0x91, 0x33, 0x02, 0x62, 0x3f, 0xf4, 0x02, 0x8c, 0x09, 0xce, 0x8e, 0x51, 0x67, 0xb6, + 0x43, 0xeb, 0x8d, 0xe9, 0xe1, 0x39, 0x65, 0x79, 0x40, 0x13, 0xc9, 0x7d, 0xdf, 0xdb, 0x24, 0x4b, + 0x30, 0x8e, 0x0c, 0xf6, 0xe4, 0x0e, 0x09, 0x39, 0xcc, 0x6f, 0x5f, 0x50, 0x35, 0xe5, 0xc3, 0x22, + 0x90, 0xc9, 0xb2, 0x26, 0x35, 0x98, 0xc0, 0x4f, 0xae, 0xb8, 0xf3, 0xa4, 0x93, 0x53, 0x20, 0x63, + 0xb4, 0xb1, 0x46, 0x60, 0x5d, 0x78, 0x79, 0x14, 0x86, 0x84, 0x41, 0xf2, 0x85, 0x02, 0xc3, 0x38, + 0xf3, 0x90, 0x2e, 0x5d, 0xb7, 0x73, 0xd4, 0xca, 0x5e, 0x48, 0x28, 0x8d, 0x5e, 0xa8, 0xcb, 0x9f, + 0xfe, 0xf6, 0xd7, 0x57, 0xfd, 0x2a, 0x99, 0xcb, 0x47, 0xce, 0xa3, 0x38, 0x6c, 0x91, 0x6f, 0x15, + 0x38, 0xdc, 0x3e, 0x4c, 0x91, 0x42, 0x8c, 0xa5, 0x90, 0xa9, 0x2c, 0x7b, 0xa9, 0x27, 0x1d, 0xc9, + 0x31, 0x2f, 0x38, 0x9e, 0x25, 0x4b, 0xd1, 0x1c, 0x4b, 0xd4, 0x2c, 0x17, 0xbd, 0x11, 0x8e, 0xfc, + 0xa0, 0xc0, 0xf8, 0xbe, 0xf9, 0x8c, 0xfc, 0x3b, 0x81, 0xe5, 0xce, 0x27, 0x7a, 0xf6, 0x3f, 0xbd, + 0xaa, 0x49, 0xce, 0x97, 0x04, 0xe7, 0x0b, 0xe4, 0x5c, 0x0c, 0xe7, 0xf6, 0xf7, 0x3d, 0xf9, 0x49, + 0x01, 0xd2, 0x39, 0xc8, 0x91, 0x2b, 0x09, 0x38, 0x84, 0x4e, 0x87, 0xd9, 0xff, 0x1e, 0x40, 0x53, + 0x3a, 0x70, 0x59, 0x38, 0xb0, 0x42, 0xf2, 0x31, 0x0e, 0x18, 0x25, 0x3d, 0xe8, 0xc4, 0x2f, 0x0a, + 0x64, 0xc2, 0x26, 0x3f, 0x72, 0x35, 0x2e, 0x33, 0xa3, 0x47, 0xca, 0xec, 0xff, 0x0e, 0xa4, 0x2b, + 0x5d, 0xb9, 0x22, 0x5c, 0x29, 0x90, 0x8b, 0x5d, 0x72, 0xdc, 0x55, 0xdb, 0x62, 0x6c, 0xdf, 0x85, + 0xfc, 0xac, 0xc0, 0x64, 0xc8, 0xc0, 0x48, 0xe2, 0xe2, 0x1a, 0x3d, 0x87, 0x66, 0xaf, 0x1e, 0x44, + 0x35, 0xf9, 0x9d, 0xe8, 0x52, 0x3d, 0xe8, 0x87, 0x5b, 0x10, 0xfb, 0x86, 0xcc, 0xd8, 0x82, 0x08, + 0x9f, 0x59, 0x63, 0x0b, 0x22, 0x62, 0x96, 0x4d, 0x52, 0x10, 0x8d, 0x96, 0x53, 0x0d, 0xf2, 0xfe, + 0x5d, 0x01, 0xd2, 0x39, 0x59, 0xc6, 0x16, 0x44, 0xe4, 0x88, 0x1b, 0x5b, 0x10, 0xd1, 0x63, 0xac, + 0xfa, 0xa6, 0x70, 0x60, 0x9d, 0xac, 0x76, 0xcb, 0x22, 0xd4, 0x6e, 0x77, 0x22, 0xff, 0xd4, 0xdb, + 0x7d, 0x96, 0x7f, 0x8a, 0x63, 0xdd, 0x33, 0xf2, 0x9d, 0x02, 0x47, 0xf0, 0x9b, 0xd2, 0x36, 0xb2, + 0x92, 0x95, 0x18, 0x72, 0x9d, 0x93, 0x6f, 0xb6, 0xd0, 0x8b, 0x8a, 0x74, 0x24, 0x27, 0x1c, 0x59, + 0x26, 0x8b, 0xd1, 0x8e, 0xd4, 0x85, 0x1a, 0x3a, 0x40, 0x7e, 0x55, 0x60, 0x2a, 0x7c, 0xfc, 0x24, + 0xd7, 0x62, 0xcc, 0x77, 0x1d, 0x9b, 0xb3, 0xff, 0x3f, 0xa0, 0xb6, 0xf4, 0xe3, 0xaa, 0xf0, 0xe3, + 0x5f, 0xa4, 0x10, 0xed, 0x47, 0xd5, 0x47, 0x28, 0x06, 0xc6, 0x63, 0xf2, 0xbd, 0x02, 0x13, 0xfb, + 0x27, 0x28, 0x12, 0x97, 0xda, 0x11, 0x13, 0x68, 0xf6, 0x72, 0xcf, 0x7a, 0xd2, 0x83, 0xf3, 0xc2, + 0x83, 0x45, 0x72, 0x26, 0xda, 0x83, 0xb6, 0xb9, 0xec, 0x47, 0x05, 0x26, 0x43, 0xe6, 0x99, 0xd8, + 0x66, 0x14, 0x3d, 0x26, 0xc5, 0x36, 0xa3, 0x2e, 0xe3, 0x93, 0x7a, 0x4e, 0x90, 0x5f, 0x20, 0xf3, + 0xf1, 0xf5, 0x20, 0xbe, 0x6c, 0x99, 0xb0, 0x09, 0x87, 0xf4, 0xc6, 0x20, 0x30, 0x56, 0xc5, 0x7e, + 0x14, 0xba, 0x8d, 0x54, 0xea, 0x8a, 0xa0, 0x7f, 0x8e, 0x9c, 0x4d, 0x5a, 0xce, 0x36, 0xf9, 0x46, + 0x81, 0x74, 0xdb, 0x4b, 0x30, 0xb6, 0x5e, 0x3b, 0xe7, 0x9f, 0xd8, 0x7a, 0x0d, 0x79, 0x68, 0xaa, + 0x4b, 0x82, 0xe9, 0x69, 0x32, 0x1b, 0xf3, 0xf9, 0x22, 0x5f, 0x2b, 0x90, 0xf2, 0xdb, 0x2f, 0xc9, + 0x27, 0x6d, 0xd4, 0x1e, 0xb7, 0x8b, 0xc9, 0x15, 0x92, 0xe7, 0xef, 0x5e, 0x4f, 0x5f, 0xdd, 0x7a, + 0xbe, 0x33, 0xa3, 0xbc, 0xd8, 0x99, 0x51, 0xfe, 0xdc, 0x99, 0x51, 0xbe, 0xdc, 0x9d, 0xe9, 0x7b, + 0xb1, 0x3b, 0xd3, 0xf7, 0xc7, 0xee, 0x4c, 0xdf, 0x07, 0xb7, 0x2b, 0x86, 0x53, 0x6d, 0x96, 0x72, + 0x3a, 0xaf, 0xe7, 0x37, 0x3c, 0xa4, 0xdb, 0xb4, 0x64, 0xef, 0xe1, 0x5e, 0xd0, 0xb9, 0xc5, 0xda, + 0x97, 0x55, 0x6a, 0x98, 0xb2, 0x4f, 0xd9, 0x9e, 0x51, 0x77, 0xa6, 0xb4, 0x4b, 0xc3, 0xe2, 0x2f, + 0x92, 0x4b, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x51, 0x7a, 0x1d, 0x9a, 0xe7, 0x19, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3229,6 +3297,39 @@ func (m *QueryOracleProviderPricesResponse) MarshalToSizedBuffer(dAtA []byte) (i return len(dAtA) - i, nil } +func (m *ScalingOptions) 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 *ScalingOptions) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ScalingOptions) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.QuoteDecimals != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.QuoteDecimals)) + i-- + dAtA[i] = 0x10 + } + if m.BaseDecimals != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.BaseDecimals)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func (m *QueryOraclePriceRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -3249,6 +3350,18 @@ func (m *QueryOraclePriceRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l + if m.ScalingOptions != nil { + { + size, err := m.ScalingOptions.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } if len(m.Quote) > 0 { i -= len(m.Quote) copy(dAtA[i:], m.Quote) @@ -3787,6 +3900,21 @@ func (m *QueryOracleProviderPricesResponse) Size() (n int) { return n } +func (m *ScalingOptions) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.BaseDecimals != 0 { + n += 1 + sovQuery(uint64(m.BaseDecimals)) + } + if m.QuoteDecimals != 0 { + n += 1 + sovQuery(uint64(m.QuoteDecimals)) + } + return n +} + func (m *QueryOraclePriceRequest) Size() (n int) { if m == nil { return 0 @@ -3804,6 +3932,10 @@ func (m *QueryOraclePriceRequest) Size() (n int) { if l > 0 { n += 1 + l + sovQuery(uint64(l)) } + if m.ScalingOptions != nil { + l = m.ScalingOptions.Size() + n += 1 + l + sovQuery(uint64(l)) + } return n } @@ -5801,7 +5933,7 @@ func (m *QueryOracleVolatilityResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.Volatility = &v if err := m.Volatility.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -6198,6 +6330,94 @@ func (m *QueryOracleProviderPricesResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *ScalingOptions) 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: ScalingOptions: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ScalingOptions: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BaseDecimals", wireType) + } + m.BaseDecimals = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BaseDecimals |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field QuoteDecimals", wireType) + } + m.QuoteDecimals = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.QuoteDecimals |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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 *QueryOraclePriceRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -6310,6 +6530,42 @@ func (m *QueryOraclePriceRequest) Unmarshal(dAtA []byte) error { } m.Quote = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ScalingOptions", 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.ScalingOptions == nil { + m.ScalingOptions = &ScalingOptions{} + } + if err := m.ScalingOptions.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) diff --git a/chain/oracle/types/tx.pb.go b/chain/oracle/types/tx.pb.go index c993e9d9..8eae71e5 100644 --- a/chain/oracle/types/tx.pb.go +++ b/chain/oracle/types/tx.pb.go @@ -5,10 +5,11 @@ package types import ( context "context" + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" _ "github.com/cosmos/cosmos-proto" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -34,10 +35,10 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // 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"` - Symbols []string `protobuf:"bytes,3,rep,name=symbols,proto3" json:"symbols,omitempty"` - Prices []github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,rep,name=prices,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"prices"` + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` + Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` + Symbols []string `protobuf:"bytes,3,rep,name=symbols,proto3" json:"symbols,omitempty"` + Prices []cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,rep,name=prices,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"prices"` } func (m *MsgRelayProviderPrices) Reset() { *m = MsgRelayProviderPrices{} } @@ -116,7 +117,7 @@ type MsgRelayPriceFeedPrice struct { Base []string `protobuf:"bytes,2,rep,name=base,proto3" json:"base,omitempty"` Quote []string `protobuf:"bytes,3,rep,name=quote,proto3" json:"quote,omitempty"` // price defines the price of the oracle base and quote - Price []github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,rep,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` + Price []cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,rep,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` } func (m *MsgRelayPriceFeedPrice) Reset() { *m = MsgRelayPriceFeedPrice{} } @@ -642,61 +643,65 @@ func init() { func init() { proto.RegisterFile("injective/oracle/v1beta1/tx.proto", fileDescriptor_5fdf1c490eba4310) } var fileDescriptor_5fdf1c490eba4310 = []byte{ - // 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, + // 914 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0x4f, 0x6f, 0x1b, 0x45, + 0x14, 0xf7, 0x26, 0x8e, 0x21, 0xd3, 0x40, 0x95, 0x21, 0xa4, 0x9b, 0x2d, 0xb5, 0x8d, 0x2b, 0xa4, + 0x36, 0xd0, 0x5d, 0x9c, 0xf2, 0xd7, 0x48, 0x48, 0x75, 0x2b, 0xa4, 0x48, 0x89, 0x14, 0x2d, 0x70, + 0x80, 0x4b, 0x34, 0xde, 0x1d, 0xd6, 0x03, 0xde, 0x9d, 0xed, 0xcc, 0xd8, 0xc2, 0x47, 0x38, 0x00, + 0xe2, 0xc4, 0x47, 0xe8, 0x8d, 0x6b, 0x0f, 0x3d, 0xf1, 0x09, 0x7a, 0x00, 0xa9, 0xe2, 0x84, 0x7a, + 0xa8, 0x50, 0x72, 0x28, 0x1f, 0x80, 0x0f, 0x50, 0xed, 0xec, 0xec, 0x78, 0xbd, 0xf6, 0xc6, 0xf6, + 0x25, 0x99, 0xf7, 0xde, 0xef, 0xbd, 0xf9, 0xfd, 0xe6, 0xcd, 0x3c, 0x2f, 0x78, 0x93, 0x44, 0xdf, + 0x62, 0x4f, 0x90, 0x11, 0x76, 0x28, 0x43, 0xde, 0x00, 0x3b, 0xa3, 0x76, 0x0f, 0x0b, 0xd4, 0x76, + 0xc4, 0xf7, 0x76, 0xcc, 0xa8, 0xa0, 0xd0, 0xd4, 0x10, 0x3b, 0x85, 0xd8, 0x0a, 0x62, 0xed, 0x04, + 0x34, 0xa0, 0x12, 0xe4, 0x24, 0xab, 0x14, 0x6f, 0xbd, 0x55, 0x5a, 0x52, 0xa5, 0xa7, 0xb0, 0x2b, + 0x1e, 0xe5, 0x21, 0xe5, 0x4e, 0xc8, 0x03, 0x67, 0xd4, 0x4e, 0xfe, 0xa9, 0xc0, 0x5e, 0x1a, 0x38, + 0x4d, 0x0b, 0xa7, 0x86, 0x0a, 0x6d, 0xa3, 0x90, 0x44, 0xd4, 0x91, 0x7f, 0x53, 0x57, 0xeb, 0xa9, + 0x01, 0x76, 0x8f, 0x79, 0xe0, 0xe2, 0x01, 0x1a, 0x9f, 0x30, 0x3a, 0x22, 0x3e, 0x66, 0x27, 0x8c, + 0x78, 0x98, 0xc3, 0x5d, 0x50, 0xe3, 0x38, 0xf2, 0x31, 0x33, 0x8d, 0xa6, 0x71, 0x63, 0xd3, 0x55, + 0x16, 0xb4, 0xc0, 0xcb, 0xb1, 0x42, 0x9a, 0x6b, 0x32, 0xa2, 0x6d, 0x68, 0x82, 0x97, 0xf8, 0x38, + 0xec, 0xd1, 0x01, 0x37, 0xd7, 0x9b, 0xeb, 0x37, 0x36, 0xdd, 0xcc, 0x84, 0x9f, 0x80, 0x5a, 0x2c, + 0xeb, 0x9a, 0xd5, 0x24, 0xd0, 0xbd, 0xfe, 0xf8, 0x59, 0xa3, 0xf2, 0xf4, 0x59, 0xe3, 0x6a, 0xca, + 0x90, 0xfb, 0xdf, 0xd9, 0x84, 0x3a, 0x21, 0x12, 0x7d, 0xfb, 0x08, 0x07, 0xc8, 0x1b, 0xdf, 0xc3, + 0x9e, 0xab, 0x52, 0x3a, 0xef, 0xff, 0xf2, 0xa0, 0x51, 0xf9, 0xef, 0x41, 0xa3, 0xf2, 0xe3, 0xf3, + 0x87, 0xfb, 0x8a, 0xc7, 0xaf, 0xcf, 0x1f, 0xee, 0x5f, 0x53, 0x27, 0x34, 0x5f, 0x41, 0xab, 0x09, + 0xea, 0xf3, 0x23, 0x2e, 0xe6, 0x31, 0x8d, 0x38, 0x6e, 0xfd, 0x39, 0x25, 0x9f, 0x78, 0xf8, 0x33, + 0x8c, 0x7d, 0xb9, 0x28, 0x95, 0x0f, 0x41, 0xb5, 0x87, 0x38, 0x36, 0xd7, 0xa4, 0x3e, 0xb9, 0x86, + 0x3b, 0x60, 0xe3, 0xfe, 0x90, 0x0a, 0xac, 0x44, 0xa7, 0x06, 0xfc, 0x18, 0x6c, 0x48, 0xfe, 0xab, + 0x28, 0x4e, 0x33, 0x56, 0x10, 0x9c, 0xe7, 0x3c, 0x2d, 0x38, 0x1f, 0xd1, 0x82, 0xff, 0x32, 0xc0, + 0x76, 0x06, 0xe9, 0xa2, 0xc8, 0x77, 0x91, 0xc0, 0x3c, 0x69, 0x1b, 0x4b, 0x3c, 0x5a, 0x6c, 0x66, + 0xe6, 0x1b, 0xba, 0x36, 0xdd, 0xd0, 0x1d, 0xb0, 0xc1, 0x92, 0x64, 0xa9, 0xb9, 0xea, 0xa6, 0x06, + 0xbc, 0x0e, 0x5e, 0x61, 0x98, 0xd3, 0xc1, 0x08, 0x9f, 0x0a, 0x12, 0xaa, 0x6e, 0x57, 0xdd, 0x2d, + 0xe5, 0xfc, 0x22, 0xf1, 0xc1, 0x3a, 0x00, 0x0c, 0xdf, 0x1f, 0x62, 0x2e, 0x0e, 0xef, 0x71, 0x73, + 0x43, 0x22, 0x72, 0x9e, 0xce, 0xcd, 0x44, 0x75, 0x46, 0x21, 0x91, 0x6d, 0x16, 0x64, 0x6b, 0xe6, + 0xad, 0xab, 0x60, 0x6f, 0xc6, 0xa9, 0xc5, 0xfe, 0x6e, 0x00, 0x33, 0x8b, 0xde, 0xa5, 0x24, 0x4a, + 0x7a, 0x75, 0x8c, 0x39, 0x47, 0xc1, 0xc5, 0xd7, 0x3b, 0x54, 0x18, 0x29, 0x79, 0xcb, 0xd5, 0x76, + 0x42, 0x9c, 0x93, 0x20, 0x42, 0x62, 0xc8, 0x94, 0xf0, 0x2d, 0x37, 0xe7, 0xe9, 0x7c, 0x58, 0xd2, + 0xb6, 0x46, 0x81, 0x7f, 0x91, 0x4c, 0xab, 0x05, 0x9a, 0x65, 0x31, 0xad, 0xe6, 0xa7, 0xec, 0xae, + 0xca, 0x73, 0x4a, 0xd4, 0x1e, 0x76, 0xef, 0xa6, 0xfd, 0x2b, 0xd3, 0x72, 0x4d, 0x1f, 0xf4, 0x29, + 0xf1, 0xe5, 0x63, 0xad, 0xba, 0x9b, 0xd9, 0x41, 0xfb, 0xcb, 0xdd, 0xb2, 0x99, 0xdd, 0xf4, 0x2d, + 0x9b, 0x89, 0x68, 0xaa, 0x7f, 0x18, 0x00, 0xea, 0x8b, 0x38, 0x16, 0xfd, 0x05, 0x13, 0xe5, 0x2b, + 0x00, 0xe5, 0xb5, 0x3f, 0x45, 0x42, 0x60, 0x2e, 0x90, 0x20, 0x34, 0x4a, 0x0f, 0xff, 0xd2, 0xc1, + 0xbe, 0x5d, 0x36, 0x3f, 0x6d, 0x59, 0xf5, 0xce, 0x24, 0xc5, 0xdd, 0x8e, 0x0b, 0x1e, 0xde, 0x69, + 0x97, 0x48, 0xdc, 0x2b, 0x3e, 0x24, 0xcd, 0xb2, 0xf5, 0x06, 0xb0, 0x66, 0xbd, 0x5a, 0xda, 0x23, + 0x03, 0x5c, 0x3e, 0xe6, 0xc1, 0x97, 0xb1, 0x8f, 0x04, 0x3e, 0x41, 0x0c, 0x85, 0x1c, 0x7e, 0x00, + 0x36, 0xd1, 0x50, 0xf4, 0x29, 0x23, 0x62, 0x9c, 0x4a, 0xeb, 0x9a, 0x7f, 0x3f, 0xba, 0xb5, 0xa3, + 0x86, 0xef, 0x1d, 0xdf, 0x67, 0x98, 0xf3, 0xcf, 0x05, 0x23, 0x51, 0xe0, 0x4e, 0xa0, 0xf0, 0x53, + 0x50, 0x8b, 0x65, 0x05, 0xd9, 0x9a, 0x4b, 0x07, 0xcd, 0x0b, 0xb4, 0x4a, 0x5c, 0xb7, 0x9a, 0xcc, + 0x10, 0x57, 0x65, 0xa5, 0xef, 0x64, 0x52, 0x2f, 0xd1, 0xb5, 0x3b, 0xd1, 0x95, 0xa7, 0xd8, 0xda, + 0x03, 0x57, 0x0a, 0xae, 0x4c, 0xd1, 0xc1, 0xff, 0x35, 0xb0, 0x7e, 0xcc, 0x03, 0xf8, 0x83, 0x01, + 0x5e, 0x9b, 0xf7, 0x3b, 0xf0, 0x6e, 0x39, 0xab, 0xf9, 0xd3, 0xd5, 0xfa, 0x68, 0xd5, 0x8c, 0x8c, + 0x4b, 0x9e, 0xc3, 0xd4, 0x30, 0x5e, 0x8a, 0x43, 0x3e, 0x63, 0x39, 0x0e, 0xf3, 0x46, 0x24, 0x64, + 0xe0, 0xd5, 0xc2, 0x78, 0x7c, 0x7b, 0x71, 0x2d, 0x0d, 0xb6, 0x6e, 0xaf, 0x00, 0x2e, 0xe8, 0x9e, + 0x7d, 0xd8, 0x8b, 0x74, 0xcf, 0x64, 0x2c, 0xd4, 0x5d, 0xfa, 0x68, 0xe1, 0xcf, 0x06, 0x78, 0x7d, + 0xfe, 0xa8, 0x3c, 0x58, 0x2c, 0xa9, 0x98, 0x63, 0x75, 0x56, 0xcf, 0xd1, 0x4c, 0x86, 0xe0, 0x72, + 0x71, 0x74, 0xbc, 0xb3, 0x44, 0x3b, 0x35, 0xda, 0x7a, 0x6f, 0x15, 0xb4, 0xde, 0x76, 0x00, 0xb6, + 0xa6, 0x9e, 0xf5, 0xcd, 0x0b, 0xab, 0xe4, 0xa1, 0x56, 0x7b, 0x69, 0x68, 0xb6, 0x5b, 0xf7, 0x9b, + 0xc7, 0x67, 0x75, 0xe3, 0xc9, 0x59, 0xdd, 0xf8, 0xf7, 0xac, 0x6e, 0xfc, 0x76, 0x5e, 0xaf, 0x3c, + 0x39, 0xaf, 0x57, 0xfe, 0x39, 0xaf, 0x57, 0xbe, 0x3e, 0x0a, 0x88, 0xe8, 0x0f, 0x7b, 0xb6, 0x47, + 0x43, 0xe7, 0x30, 0x2b, 0x7b, 0x84, 0x7a, 0xdc, 0xd1, 0x9b, 0xdc, 0xf2, 0x28, 0xc3, 0x79, 0xb3, + 0x8f, 0x48, 0xe4, 0x84, 0xd4, 0x1f, 0x0e, 0x30, 0xcf, 0xbe, 0x1b, 0xc5, 0x38, 0xc6, 0xbc, 0x57, + 0x93, 0x1f, 0x7a, 0xb7, 0x5f, 0x04, 0x00, 0x00, 0xff, 0xff, 0xed, 0x5d, 0x1e, 0x24, 0xab, 0x0a, + 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1968,7 +1973,7 @@ func (m *MsgRelayProviderPrices) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.Prices = append(m.Prices, v) if err := m.Prices[len(m.Prices)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2200,7 +2205,7 @@ func (m *MsgRelayPriceFeedPrice) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v github_com_cosmos_cosmos_sdk_types.Dec + var v cosmossdk_io_math.LegacyDec m.Price = append(m.Price, v) if err := m.Price[len(m.Price)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/chain/peggy/types/attestation.pb.go b/chain/peggy/types/attestation.pb.go index 0d591bd2..a88e4156 100644 --- a/chain/peggy/types/attestation.pb.go +++ b/chain/peggy/types/attestation.pb.go @@ -4,9 +4,9 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" types "github.com/cosmos/cosmos-sdk/codec/types" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -151,8 +151,8 @@ func (m *Attestation) GetClaim() *types.Any { // (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"` + Contract string `protobuf:"bytes,1,opt,name=contract,proto3" json:"contract,omitempty"` + Amount cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=amount,proto3,customtype=cosmossdk.io/math.Int" json:"amount"` } func (m *ERC20Token) Reset() { *m = ERC20Token{} } @@ -206,38 +206,38 @@ func init() { } var fileDescriptor_3022043570947e1e = []byte{ - // 485 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0x31, 0x6f, 0x9b, 0x40, - 0x1c, 0xc5, 0xc1, 0x76, 0xac, 0xf8, 0xb2, 0x58, 0x57, 0x2b, 0x25, 0x48, 0x25, 0x28, 0xaa, 0x2a, - 0x2b, 0x52, 0xee, 0x92, 0x74, 0xed, 0x42, 0x0c, 0x55, 0x51, 0x5c, 0xdb, 0x22, 0xa4, 0x56, 0xba, - 0x58, 0x80, 0xaf, 0x98, 0xc6, 0x70, 0xc8, 0x77, 0x46, 0x62, 0xee, 0x52, 0x79, 0xea, 0x17, 0xb0, - 0x3a, 0xf4, 0xcb, 0x64, 0xcc, 0x58, 0x75, 0x88, 0x2a, 0xfb, 0x8b, 0x54, 0x06, 0xe2, 0xba, 0x49, - 0x3a, 0xc1, 0xbb, 0xf7, 0xfb, 0x1f, 0x4f, 0x7f, 0x1e, 0x78, 0x19, 0x44, 0x9f, 0x89, 0xc7, 0x83, - 0x84, 0xe0, 0x98, 0xf8, 0x7e, 0x8a, 0x93, 0x13, 0xec, 0x70, 0x4e, 0x18, 0x77, 0x78, 0x40, 0x23, - 0x14, 0x4f, 0x28, 0xa7, 0x10, 0xae, 0x29, 0x94, 0x51, 0x28, 0x39, 0x91, 0x1b, 0x3e, 0xf5, 0x69, - 0x66, 0xe3, 0xd5, 0x5b, 0x4e, 0xca, 0x7b, 0x3e, 0xa5, 0xfe, 0x98, 0xe0, 0x4c, 0xb9, 0xd3, 0x4f, - 0xd8, 0x89, 0xd2, 0xdc, 0x3a, 0xf8, 0x22, 0x82, 0x1d, 0xed, 0xef, 0xd5, 0x50, 0x06, 0xdb, 0xd4, - 0x65, 0x64, 0x92, 0x90, 0xa1, 0x24, 0xaa, 0x62, 0x73, 0xdb, 0x5a, 0x6b, 0xd8, 0x00, 0x5b, 0x09, - 0xe5, 0x84, 0x49, 0x25, 0xb5, 0xdc, 0xac, 0x59, 0xb9, 0x80, 0xbb, 0xa0, 0x3a, 0x22, 0x81, 0x3f, - 0xe2, 0x52, 0x59, 0x15, 0x9b, 0x15, 0xab, 0x50, 0xf0, 0x10, 0x6c, 0x79, 0x63, 0x27, 0x08, 0xa5, - 0x8a, 0x2a, 0x36, 0x77, 0x4e, 0x1b, 0x28, 0x0f, 0x81, 0xee, 0x43, 0x20, 0x2d, 0x4a, 0xad, 0x1c, - 0x39, 0x88, 0x01, 0x30, 0xac, 0xd6, 0xe9, 0xb1, 0x4d, 0xaf, 0x49, 0x96, 0xc1, 0xa3, 0x11, 0x9f, - 0x38, 0x1e, 0xcf, 0x32, 0xd4, 0xac, 0xb5, 0x86, 0x6f, 0x41, 0xd5, 0x09, 0xe9, 0x34, 0xe2, 0x52, - 0x69, 0xe5, 0x9c, 0xa1, 0x9b, 0xbb, 0x7d, 0xe1, 0xd7, 0xdd, 0xfe, 0x2b, 0x3f, 0xe0, 0xa3, 0xa9, - 0x8b, 0x3c, 0x1a, 0x62, 0x8f, 0xb2, 0x90, 0xb2, 0xe2, 0x71, 0xc4, 0x86, 0xd7, 0x98, 0xa7, 0x31, - 0x61, 0xc8, 0x8c, 0xb8, 0x55, 0x4c, 0x1f, 0x7e, 0x2f, 0x81, 0x5a, 0x6b, 0xf5, 0x6d, 0x3b, 0x8d, - 0x09, 0x44, 0x00, 0xb6, 0xda, 0x9a, 0xf9, 0x7e, 0x60, 0x5f, 0xf5, 0x8c, 0xc1, 0x65, 0xe7, 0xbc, - 0xd3, 0xed, 0x77, 0xea, 0x82, 0xbc, 0x3b, 0x9b, 0xab, 0x4f, 0x38, 0x0f, 0x78, 0xdd, 0xe8, 0x75, - 0x2f, 0x4c, 0xbb, 0x2e, 0x3e, 0xe2, 0x0b, 0x07, 0x1e, 0x83, 0x67, 0x1b, 0xa7, 0x7d, 0xd3, 0x7e, - 0xa7, 0x5b, 0x5a, 0xbf, 0x5e, 0x92, 0x9f, 0xcf, 0xe6, 0xea, 0x53, 0x16, 0x7c, 0x03, 0xf6, 0x36, - 0x8e, 0xb3, 0xe5, 0xac, 0x6e, 0x6b, 0x77, 0xaf, 0x0c, 0xbd, 0x5e, 0x96, 0x5f, 0xcc, 0xe6, 0xea, - 0xff, 0x81, 0x07, 0xd3, 0x1f, 0xb4, 0xf6, 0x85, 0x61, 0x0f, 0x2e, 0x7b, 0xba, 0x66, 0x1b, 0x7a, - 0xbd, 0xf2, 0x68, 0xfa, 0x5f, 0x40, 0xae, 0x7c, 0xfd, 0xa1, 0x08, 0x67, 0xe4, 0x66, 0xa1, 0x88, - 0xb7, 0x0b, 0x45, 0xfc, 0xbd, 0x50, 0xc4, 0x6f, 0x4b, 0x45, 0xb8, 0x5d, 0x2a, 0xc2, 0xcf, 0xa5, - 0x22, 0x7c, 0x3c, 0xdf, 0xd8, 0xb5, 0x79, 0xdf, 0xc1, 0xb6, 0xe3, 0x32, 0xbc, 0x6e, 0xe4, 0x91, - 0x47, 0x27, 0x64, 0x53, 0x8e, 0x9c, 0x20, 0xc2, 0x21, 0x1d, 0x4e, 0xc7, 0x84, 0x15, 0xa5, 0xce, - 0x7e, 0x8a, 0x5b, 0xcd, 0xfa, 0xf0, 0xfa, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0f, 0xa2, 0x82, - 0x9c, 0xf4, 0x02, 0x00, 0x00, + // 483 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0x31, 0x6f, 0xda, 0x40, + 0x14, 0xc7, 0x6d, 0x20, 0x28, 0x5c, 0x16, 0xeb, 0x4a, 0x53, 0xc7, 0x52, 0x1c, 0x2b, 0xea, 0x80, + 0x22, 0xf5, 0x2e, 0x49, 0xd5, 0xad, 0x8b, 0x83, 0x2d, 0xd5, 0x0a, 0x05, 0xe4, 0x38, 0x45, 0xe9, + 0x82, 0x6c, 0x73, 0xb5, 0xdd, 0x60, 0x1f, 0xe2, 0x0e, 0x4b, 0x9e, 0xbb, 0x54, 0x4c, 0xfd, 0x02, + 0xa8, 0x43, 0xbf, 0x4c, 0xc6, 0x8c, 0x55, 0x87, 0xa8, 0x82, 0x2f, 0x52, 0x61, 0x13, 0x4a, 0x93, + 0x74, 0xbb, 0xff, 0xfb, 0xff, 0xde, 0xbb, 0xbf, 0xee, 0x1e, 0x78, 0x19, 0x25, 0x9f, 0x89, 0xcf, + 0xa3, 0x94, 0xe0, 0x11, 0x09, 0x82, 0x0c, 0xa7, 0x27, 0xd8, 0xe5, 0x9c, 0x30, 0xee, 0xf2, 0x88, + 0x26, 0x68, 0x34, 0xa6, 0x9c, 0x42, 0xb8, 0xa6, 0x50, 0x4e, 0xa1, 0xf4, 0x44, 0xa9, 0x07, 0x34, + 0xa0, 0xb9, 0x8d, 0x97, 0xa7, 0x82, 0x54, 0xf6, 0x02, 0x4a, 0x83, 0x21, 0xc1, 0xb9, 0xf2, 0x26, + 0x9f, 0xb0, 0x9b, 0x64, 0x85, 0x75, 0xf8, 0x45, 0x04, 0x3b, 0xfa, 0xdf, 0xd1, 0x50, 0x01, 0xdb, + 0xd4, 0x63, 0x64, 0x9c, 0x92, 0x81, 0x2c, 0x6a, 0x62, 0x63, 0xdb, 0x5e, 0x6b, 0x58, 0x07, 0x5b, + 0x29, 0xe5, 0x84, 0xc9, 0x25, 0xad, 0xdc, 0xa8, 0xd9, 0x85, 0x80, 0xbb, 0xa0, 0x1a, 0x92, 0x28, + 0x08, 0xb9, 0x5c, 0xd6, 0xc4, 0x46, 0xc5, 0x5e, 0x29, 0x78, 0x04, 0xb6, 0xfc, 0xa1, 0x1b, 0xc5, + 0x72, 0x45, 0x13, 0x1b, 0x3b, 0xa7, 0x75, 0x54, 0x84, 0x40, 0xf7, 0x21, 0x90, 0x9e, 0x64, 0x76, + 0x81, 0x1c, 0xf6, 0x01, 0x30, 0xed, 0xe6, 0xe9, 0xb1, 0x43, 0xaf, 0x49, 0x9e, 0xc1, 0xa7, 0x09, + 0x1f, 0xbb, 0x3e, 0xcf, 0x33, 0xd4, 0xec, 0xb5, 0x86, 0x6f, 0x40, 0xd5, 0x8d, 0xe9, 0x24, 0xe1, + 0x72, 0x69, 0xe9, 0x9c, 0xed, 0xdf, 0xdc, 0x1d, 0x08, 0xbf, 0xee, 0x0e, 0x9e, 0xfb, 0x94, 0xc5, + 0x94, 0xb1, 0xc1, 0x35, 0x8a, 0x28, 0x8e, 0x5d, 0x1e, 0x22, 0x2b, 0xe1, 0xf6, 0x0a, 0x3e, 0xfa, + 0x5e, 0x02, 0xb5, 0xe6, 0xf2, 0x2a, 0x27, 0x1b, 0x11, 0x88, 0x00, 0x6c, 0xb6, 0x74, 0xeb, 0x7d, + 0xdf, 0xb9, 0xea, 0x9a, 0xfd, 0xcb, 0xf6, 0x79, 0xbb, 0xd3, 0x6b, 0x4b, 0x82, 0xb2, 0x3b, 0x9d, + 0x69, 0x4f, 0x38, 0x0f, 0x78, 0xc3, 0xec, 0x76, 0x2e, 0x2c, 0x47, 0x12, 0x1f, 0xf1, 0x2b, 0x07, + 0x1e, 0x83, 0x67, 0x1b, 0xd5, 0x9e, 0xe5, 0xbc, 0x33, 0x6c, 0xbd, 0x27, 0x95, 0x94, 0x17, 0xd3, + 0x99, 0xf6, 0x94, 0x05, 0xdf, 0x82, 0xbd, 0x8d, 0x72, 0xfe, 0x16, 0xcb, 0x69, 0xad, 0xce, 0x95, + 0x69, 0x48, 0x65, 0x65, 0x7f, 0x3a, 0xd3, 0xfe, 0x0f, 0x3c, 0xe8, 0xfe, 0xa0, 0xb7, 0x2e, 0x4c, + 0xa7, 0x7f, 0xd9, 0x35, 0x74, 0xc7, 0x34, 0xa4, 0xca, 0xa3, 0xee, 0x7f, 0x01, 0xa5, 0xf2, 0xf5, + 0x87, 0x2a, 0x9c, 0x91, 0x9b, 0xb9, 0x2a, 0xde, 0xce, 0x55, 0xf1, 0xf7, 0x5c, 0x15, 0xbf, 0x2d, + 0x54, 0xe1, 0x76, 0xa1, 0x0a, 0x3f, 0x17, 0xaa, 0xf0, 0xf1, 0x3c, 0x88, 0x78, 0x38, 0xf1, 0x90, + 0x4f, 0x63, 0x6c, 0xdd, 0xaf, 0x5c, 0xcb, 0xf5, 0x18, 0x5e, 0x2f, 0xe0, 0x2b, 0x9f, 0x8e, 0xc9, + 0xa6, 0x0c, 0xdd, 0x28, 0xc1, 0x31, 0x1d, 0x4c, 0x86, 0x84, 0xad, 0x76, 0x98, 0x67, 0x23, 0xc2, + 0xbc, 0x6a, 0xfe, 0xfd, 0xaf, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x7f, 0x9f, 0x86, 0x0b, 0xe3, + 0x02, 0x00, 0x00, } func (m *Attestation) Marshal() (dAtA []byte, err error) { diff --git a/chain/peggy/types/codec.go b/chain/peggy/types/codec.go index 172e34ed..bead1936 100644 --- a/chain/peggy/types/codec.go +++ b/chain/peggy/types/codec.go @@ -7,9 +7,6 @@ import ( "github.com/cosmos/cosmos-sdk/types/msgservice" 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 @@ -17,10 +14,10 @@ var ModuleCdc = codec.NewLegacyAmino() func init() { RegisterLegacyAminoCodec(ModuleCdc) - RegisterLegacyAminoCodec(authzcdc.Amino) - RegisterLegacyAminoCodec(govcdc.Amino) - RegisterLegacyAminoCodec(groupcdc.Amino) + // TODO: check + // RegisterLegacyAminoCodec(govcdc.Amino) + // RegisterLegacyAminoCodec(groupcdc.Amino) } // RegisterInterfaces registers the interfaces for the proto stuff @@ -38,11 +35,8 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { &MsgCancelSendToEth{}, &MsgSubmitBadSignatureEvidence{}, &MsgUpdateParams{}, - ) - - registry.RegisterImplementations((*govtypes.Content)(nil), - &BlacklistEthereumAddressesProposal{}, - &RevokeEthereumBlacklistProposal{}, + &MsgBlacklistEthereumAddresses{}, + &MsgRevokeEthereumBlacklist{}, ) registry.RegisterInterface( @@ -77,7 +71,7 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { 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) + cdc.RegisterConcrete(&MsgBlacklistEthereumAddresses{}, "peggy/MsgBlacklistEthereumAddresses", nil) + cdc.RegisterConcrete(&MsgRevokeEthereumBlacklist{}, "peggy/MsgRevokeEthereumBlacklist", nil) + cdc.RegisterConcrete(&Params{}, "peggy/Params", nil) } diff --git a/chain/peggy/types/ethereum.go b/chain/peggy/types/ethereum.go index 4bba8f3e..6c0651a5 100644 --- a/chain/peggy/types/ethereum.go +++ b/chain/peggy/types/ethereum.go @@ -62,7 +62,7 @@ func ValidateEthAddress(address string) error { // NewERC20Token returns a new instance of an ERC20 func NewERC20Token(amount uint64, contract gethcommon.Address) *ERC20Token { - return &ERC20Token{Amount: sdk.NewIntFromUint64(amount), Contract: contract.Hex()} + return &ERC20Token{Amount: math.NewIntFromUint64(amount), Contract: contract.Hex()} } func NewSDKIntERC20Token(amount math.Int, contract gethcommon.Address) *ERC20Token { diff --git a/chain/peggy/types/events.pb.go b/chain/peggy/types/events.pb.go index 13168705..ac80a720 100644 --- a/chain/peggy/types/events.pb.go +++ b/chain/peggy/types/events.pb.go @@ -4,6 +4,7 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" @@ -297,11 +298,11 @@ func (m *EventOutgoingBatchCanceled) GetNonce() uint64 { } type EventValsetUpdateRequest struct { - ValsetNonce uint64 `protobuf:"varint,1,opt,name=valset_nonce,json=valsetNonce,proto3" json:"valset_nonce,omitempty"` - ValsetHeight uint64 `protobuf:"varint,2,opt,name=valset_height,json=valsetHeight,proto3" json:"valset_height,omitempty"` - ValsetMembers []*BridgeValidator `protobuf:"bytes,3,rep,name=valset_members,json=valsetMembers,proto3" json:"valset_members,omitempty"` - RewardAmount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,4,opt,name=reward_amount,json=rewardAmount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"reward_amount"` - RewardToken string `protobuf:"bytes,5,opt,name=reward_token,json=rewardToken,proto3" json:"reward_token,omitempty"` + ValsetNonce uint64 `protobuf:"varint,1,opt,name=valset_nonce,json=valsetNonce,proto3" json:"valset_nonce,omitempty"` + ValsetHeight uint64 `protobuf:"varint,2,opt,name=valset_height,json=valsetHeight,proto3" json:"valset_height,omitempty"` + ValsetMembers []*BridgeValidator `protobuf:"bytes,3,rep,name=valset_members,json=valsetMembers,proto3" json:"valset_members,omitempty"` + RewardAmount cosmossdk_io_math.Int `protobuf:"bytes,4,opt,name=reward_amount,json=rewardAmount,proto3,customtype=cosmossdk.io/math.Int" json:"reward_amount"` + RewardToken string `protobuf:"bytes,5,opt,name=reward_token,json=rewardToken,proto3" json:"reward_token,omitempty"` } func (m *EventValsetUpdateRequest) Reset() { *m = EventValsetUpdateRequest{} } @@ -652,15 +653,15 @@ func (m *EventAttestationVote) GetVoter() string { } type EventDepositClaim struct { - EventNonce uint64 `protobuf:"varint,1,opt,name=event_nonce,json=eventNonce,proto3" json:"event_nonce,omitempty"` - EventHeight uint64 `protobuf:"varint,2,opt,name=event_height,json=eventHeight,proto3" json:"event_height,omitempty"` - AttestationId []byte `protobuf:"bytes,3,opt,name=attestation_id,json=attestationId,proto3" json:"attestation_id,omitempty"` - EthereumSender string `protobuf:"bytes,4,opt,name=ethereum_sender,json=ethereumSender,proto3" json:"ethereum_sender,omitempty"` - CosmosReceiver string `protobuf:"bytes,5,opt,name=cosmos_receiver,json=cosmosReceiver,proto3" json:"cosmos_receiver,omitempty"` - TokenContract string `protobuf:"bytes,6,opt,name=token_contract,json=tokenContract,proto3" json:"token_contract,omitempty"` - Amount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,7,opt,name=amount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"amount"` - OrchestratorAddress string `protobuf:"bytes,8,opt,name=orchestrator_address,json=orchestratorAddress,proto3" json:"orchestrator_address,omitempty"` - Data string `protobuf:"bytes,9,opt,name=data,proto3" json:"data,omitempty"` + EventNonce uint64 `protobuf:"varint,1,opt,name=event_nonce,json=eventNonce,proto3" json:"event_nonce,omitempty"` + EventHeight uint64 `protobuf:"varint,2,opt,name=event_height,json=eventHeight,proto3" json:"event_height,omitempty"` + AttestationId []byte `protobuf:"bytes,3,opt,name=attestation_id,json=attestationId,proto3" json:"attestation_id,omitempty"` + EthereumSender string `protobuf:"bytes,4,opt,name=ethereum_sender,json=ethereumSender,proto3" json:"ethereum_sender,omitempty"` + CosmosReceiver string `protobuf:"bytes,5,opt,name=cosmos_receiver,json=cosmosReceiver,proto3" json:"cosmos_receiver,omitempty"` + TokenContract string `protobuf:"bytes,6,opt,name=token_contract,json=tokenContract,proto3" json:"token_contract,omitempty"` + Amount cosmossdk_io_math.Int `protobuf:"bytes,7,opt,name=amount,proto3,customtype=cosmossdk.io/math.Int" json:"amount"` + OrchestratorAddress string `protobuf:"bytes,8,opt,name=orchestrator_address,json=orchestratorAddress,proto3" json:"orchestrator_address,omitempty"` + Data string `protobuf:"bytes,9,opt,name=data,proto3" json:"data,omitempty"` } func (m *EventDepositClaim) Reset() { *m = EventDepositClaim{} } @@ -945,14 +946,14 @@ func (m *EventERC20DeployedClaim) GetOrchestratorAddress() string { } type EventValsetUpdateClaim struct { - EventNonce uint64 `protobuf:"varint,1,opt,name=event_nonce,json=eventNonce,proto3" json:"event_nonce,omitempty"` - EventHeight uint64 `protobuf:"varint,2,opt,name=event_height,json=eventHeight,proto3" json:"event_height,omitempty"` - AttestationId []byte `protobuf:"bytes,3,opt,name=attestation_id,json=attestationId,proto3" json:"attestation_id,omitempty"` - ValsetNonce uint64 `protobuf:"varint,4,opt,name=valset_nonce,json=valsetNonce,proto3" json:"valset_nonce,omitempty"` - ValsetMembers []*BridgeValidator `protobuf:"bytes,5,rep,name=valset_members,json=valsetMembers,proto3" json:"valset_members,omitempty"` - RewardAmount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,6,opt,name=reward_amount,json=rewardAmount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"reward_amount"` - RewardToken string `protobuf:"bytes,7,opt,name=reward_token,json=rewardToken,proto3" json:"reward_token,omitempty"` - OrchestratorAddress string `protobuf:"bytes,8,opt,name=orchestrator_address,json=orchestratorAddress,proto3" json:"orchestrator_address,omitempty"` + EventNonce uint64 `protobuf:"varint,1,opt,name=event_nonce,json=eventNonce,proto3" json:"event_nonce,omitempty"` + EventHeight uint64 `protobuf:"varint,2,opt,name=event_height,json=eventHeight,proto3" json:"event_height,omitempty"` + AttestationId []byte `protobuf:"bytes,3,opt,name=attestation_id,json=attestationId,proto3" json:"attestation_id,omitempty"` + ValsetNonce uint64 `protobuf:"varint,4,opt,name=valset_nonce,json=valsetNonce,proto3" json:"valset_nonce,omitempty"` + ValsetMembers []*BridgeValidator `protobuf:"bytes,5,rep,name=valset_members,json=valsetMembers,proto3" json:"valset_members,omitempty"` + RewardAmount cosmossdk_io_math.Int `protobuf:"bytes,6,opt,name=reward_amount,json=rewardAmount,proto3,customtype=cosmossdk.io/math.Int" json:"reward_amount"` + RewardToken string `protobuf:"bytes,7,opt,name=reward_token,json=rewardToken,proto3" json:"reward_token,omitempty"` + OrchestratorAddress string `protobuf:"bytes,8,opt,name=orchestrator_address,json=orchestratorAddress,proto3" json:"orchestrator_address,omitempty"` } func (m *EventValsetUpdateClaim) Reset() { *m = EventValsetUpdateClaim{} } @@ -1232,86 +1233,87 @@ func init() { func init() { proto.RegisterFile("injective/peggy/v1/events.proto", fileDescriptor_95f217691d2f42c2) } var fileDescriptor_95f217691d2f42c2 = []byte{ - // 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, + // 1265 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xcf, 0x6f, 0x1b, 0xc5, + 0x17, 0xcf, 0xda, 0x4e, 0x52, 0x4f, 0x1c, 0x3b, 0x9d, 0xe6, 0xdb, 0xaf, 0x1b, 0x54, 0xc7, 0xdd, + 0xb6, 0x24, 0x80, 0x6a, 0xb7, 0x45, 0x1c, 0x90, 0xb8, 0xd4, 0xae, 0xa1, 0xe1, 0x47, 0x2b, 0x6d, + 0x42, 0x91, 0xb8, 0x58, 0xb3, 0x3b, 0xaf, 0xde, 0x69, 0xbc, 0x33, 0x66, 0x67, 0xec, 0x36, 0x67, + 0x2e, 0x1c, 0x38, 0x70, 0xe1, 0xca, 0xff, 0xc0, 0x81, 0x3f, 0x01, 0xa9, 0xdc, 0x7a, 0x44, 0x1c, + 0x2a, 0xd4, 0xfe, 0x07, 0x48, 0x5c, 0x38, 0xa1, 0x9d, 0x99, 0xdd, 0x38, 0x59, 0x5b, 0xa4, 0x01, + 0xca, 0xc9, 0x3b, 0x6f, 0xde, 0x7b, 0xf3, 0xe6, 0xf3, 0x3e, 0xf3, 0xde, 0x33, 0xda, 0x64, 0xfc, + 0x21, 0x04, 0x8a, 0x4d, 0xa0, 0x3d, 0x82, 0xc1, 0xe0, 0xa0, 0x3d, 0xb9, 0xd1, 0x86, 0x09, 0x70, + 0x25, 0x5b, 0xa3, 0x58, 0x28, 0x81, 0x71, 0xa6, 0xd0, 0xd2, 0x0a, 0xad, 0xc9, 0x8d, 0x8d, 0xf5, + 0x81, 0x18, 0x08, 0xbd, 0xdd, 0x4e, 0xbe, 0x8c, 0xe6, 0xc6, 0x95, 0x19, 0xae, 0x88, 0x52, 0x20, + 0x15, 0x51, 0x4c, 0x70, 0xab, 0xd5, 0x98, 0xa1, 0xa5, 0x0e, 0x46, 0x60, 0xcf, 0x73, 0x7f, 0x73, + 0x50, 0xbd, 0x97, 0x04, 0x70, 0xeb, 0xd0, 0xf4, 0x9e, 0x2f, 0x21, 0x9e, 0x00, 0xc5, 0x77, 0xd0, + 0xda, 0x94, 0xc7, 0x7e, 0x62, 0x57, 0x77, 0x9a, 0xce, 0x76, 0xf5, 0xe6, 0xc5, 0x56, 0x3e, 0xce, + 0x56, 0x77, 0x48, 0x58, 0xb4, 0x77, 0x30, 0x02, 0xaf, 0x36, 0x65, 0x96, 0x08, 0xf0, 0x16, 0xaa, + 0xf9, 0x31, 0xa3, 0x03, 0xe8, 0x07, 0x82, 0xab, 0x98, 0x04, 0xaa, 0x5e, 0x68, 0x3a, 0xdb, 0x65, + 0xaf, 0x6a, 0xc4, 0x5d, 0x2b, 0xc5, 0xaf, 0x1f, 0x2a, 0x86, 0x84, 0xf1, 0x3e, 0xa3, 0xf5, 0x62, + 0xd3, 0xd9, 0x2e, 0x79, 0xab, 0x56, 0x31, 0x91, 0xee, 0x50, 0x7c, 0x15, 0x55, 0xa7, 0x43, 0x63, + 0xb4, 0x5e, 0x6a, 0x3a, 0xdb, 0x15, 0x6f, 0x75, 0x4a, 0xba, 0x43, 0xf1, 0x3a, 0x5a, 0xe4, 0x82, + 0x07, 0x50, 0x5f, 0xd4, 0x4e, 0xcc, 0xc2, 0xe5, 0xe8, 0x35, 0x7d, 0xe7, 0x8e, 0x76, 0xf9, 0x19, + 0x53, 0x21, 0x8d, 0xc9, 0xa3, 0x2e, 0xe1, 0x01, 0x0c, 0x81, 0xce, 0x0a, 0xd6, 0x39, 0x69, 0xb0, + 0x85, 0x19, 0xc1, 0xba, 0x3f, 0x3a, 0x08, 0xeb, 0x03, 0xef, 0x8d, 0xd5, 0x40, 0x30, 0x3e, 0xe8, + 0x10, 0x15, 0x84, 0x49, 0x70, 0x14, 0xb8, 0x88, 0xac, 0x77, 0xb3, 0xc0, 0x37, 0xd0, 0xba, 0x88, + 0x83, 0x10, 0xa4, 0x8a, 0x89, 0x12, 0x71, 0x9f, 0x50, 0x1a, 0x83, 0x94, 0x16, 0xaf, 0x73, 0xd3, + 0x7b, 0xb7, 0xcc, 0x16, 0xde, 0x44, 0x2b, 0x7e, 0xe2, 0xb1, 0x6f, 0xee, 0x6a, 0x00, 0x43, 0x5a, + 0x74, 0x37, 0x91, 0xe0, 0xcb, 0x68, 0xd5, 0x28, 0x28, 0x16, 0x81, 0x18, 0x2b, 0x0d, 0x56, 0xc9, + 0xab, 0x68, 0xe1, 0x9e, 0x91, 0xe1, 0x26, 0xaa, 0x58, 0xa5, 0xc7, 0x7d, 0x46, 0x65, 0x7d, 0xb1, + 0x59, 0xcc, 0xdc, 0xec, 0x3d, 0xde, 0xa1, 0xd2, 0xfd, 0xce, 0x41, 0x1b, 0xf9, 0x7b, 0xfc, 0x6b, + 0xb8, 0xe1, 0x0b, 0xe8, 0x8c, 0x89, 0x28, 0x63, 0xc1, 0xb2, 0x5e, 0x4f, 0x27, 0xb6, 0x34, 0x9d, + 0xd8, 0x6f, 0x0b, 0x96, 0xcd, 0xf7, 0xc9, 0x50, 0x82, 0xfa, 0x74, 0x44, 0x89, 0x02, 0x0f, 0xbe, + 0x18, 0x83, 0x54, 0xf8, 0x12, 0xaa, 0x4c, 0xb4, 0xd8, 0xc2, 0xe4, 0x68, 0xcb, 0x15, 0x23, 0xcb, + 0x70, 0xb2, 0x2a, 0x21, 0xb0, 0x41, 0xa8, 0x6c, 0x58, 0xd6, 0xee, 0x8e, 0x96, 0xe1, 0x0f, 0x51, + 0xd5, 0x2a, 0x45, 0x10, 0xf9, 0x10, 0xcb, 0x7a, 0xb1, 0x59, 0xdc, 0x5e, 0xb9, 0x79, 0x79, 0xd6, + 0x9b, 0x30, 0x14, 0xbb, 0x4f, 0x86, 0x8c, 0x26, 0x19, 0xf3, 0xac, 0xff, 0x4f, 0x8c, 0x25, 0xee, + 0xa0, 0xd5, 0x18, 0x1e, 0x91, 0x98, 0xf6, 0x49, 0x24, 0xc6, 0xdc, 0x24, 0xa6, 0xdc, 0xb9, 0xf8, + 0xe4, 0xd9, 0xe6, 0xc2, 0x2f, 0xcf, 0x36, 0xff, 0x17, 0x08, 0x19, 0x09, 0x29, 0xe9, 0x7e, 0x8b, + 0x89, 0x76, 0x44, 0x54, 0xd8, 0xda, 0xe1, 0xca, 0xab, 0x18, 0x9b, 0x5b, 0xda, 0x24, 0xb9, 0x97, + 0xf5, 0xa1, 0xc4, 0x3e, 0x70, 0x4d, 0xf5, 0xb2, 0xb7, 0x62, 0x64, 0x7b, 0x89, 0xc8, 0xfd, 0xde, + 0x41, 0x17, 0x35, 0x2e, 0xbb, 0xa0, 0xee, 0xe5, 0x09, 0x04, 0x12, 0xbf, 0x85, 0xce, 0x4e, 0xd2, + 0x20, 0x33, 0xca, 0x99, 0xec, 0xad, 0x65, 0x1b, 0x29, 0xdf, 0x4e, 0x41, 0xd1, 0xeb, 0x68, 0x5d, + 0x8c, 0xc0, 0xa8, 0x83, 0x0a, 0x33, 0x93, 0xa2, 0x36, 0xc1, 0xe9, 0x5e, 0x4f, 0x85, 0xd6, 0xc2, + 0x7d, 0x68, 0xdf, 0x8c, 0x49, 0x65, 0x57, 0xf0, 0x07, 0x2c, 0x8e, 0x4e, 0x92, 0xc4, 0x97, 0x8f, + 0xce, 0xfd, 0xb2, 0x80, 0xaa, 0x16, 0x1f, 0x4e, 0xf7, 0x44, 0x4f, 0x85, 0xf8, 0x0a, 0xaa, 0x0a, + 0xcb, 0x72, 0xf3, 0x20, 0xec, 0x51, 0x95, 0x54, 0x9a, 0x3c, 0x09, 0x7c, 0x1e, 0x2d, 0x49, 0xe0, + 0x14, 0x62, 0xeb, 0xdd, 0xae, 0xf0, 0x06, 0x3a, 0x13, 0x43, 0x00, 0x6c, 0x02, 0xb1, 0xbd, 0x62, + 0xb6, 0xc6, 0x1f, 0xa0, 0xa5, 0x23, 0xc9, 0x6e, 0xdb, 0x64, 0x6f, 0x0d, 0x98, 0x0a, 0xc7, 0x7e, + 0x2b, 0x10, 0x51, 0xdb, 0xe4, 0xdd, 0xfe, 0x5c, 0x93, 0x74, 0xdf, 0x16, 0xed, 0xae, 0x60, 0xdc, + 0xb3, 0xe6, 0xf8, 0x2e, 0x42, 0xf6, 0x19, 0x3d, 0x00, 0x53, 0xe1, 0x4e, 0xe1, 0xac, 0x6c, 0x5c, + 0xbc, 0x0f, 0xe0, 0x0e, 0xd0, 0x59, 0x0d, 0x82, 0xc5, 0xda, 0x14, 0xa9, 0x63, 0xb5, 0xc5, 0xc9, + 0xd5, 0x96, 0x53, 0xc0, 0xad, 0xd0, 0xfa, 0xf1, 0x9e, 0x73, 0x5f, 0x28, 0x48, 0xce, 0xd2, 0xcd, + 0xf0, 0xe8, 0x59, 0x5a, 0x64, 0xce, 0xca, 0x57, 0xfd, 0xc2, 0x9c, 0xaa, 0x3f, 0x11, 0x2a, 0x83, + 0xde, 0x2c, 0xdc, 0xdf, 0x0b, 0xf6, 0x7e, 0xb7, 0x61, 0x24, 0x24, 0x53, 0xba, 0x5d, 0xfd, 0xf5, + 0x99, 0x97, 0x50, 0xc5, 0x28, 0x1c, 0x29, 0x09, 0xc6, 0xc8, 0x56, 0x84, 0x7c, 0x58, 0xc5, 0x59, + 0x61, 0x6d, 0xa1, 0x1a, 0xa8, 0x10, 0x62, 0x18, 0x47, 0x7d, 0xcb, 0x9a, 0x92, 0xa9, 0x8f, 0xa9, + 0x78, 0xd7, 0xb0, 0x67, 0x0b, 0xd5, 0x4c, 0xb2, 0xfa, 0x19, 0x89, 0xcc, 0xa3, 0xae, 0x1a, 0xb1, + 0x97, 0x52, 0xe9, 0x2a, 0xaa, 0xea, 0x37, 0x7f, 0x58, 0x70, 0x97, 0xb4, 0xde, 0xaa, 0x96, 0x66, + 0xf5, 0xf6, 0x9d, 0x8c, 0x71, 0xcb, 0x27, 0x29, 0x2f, 0x29, 0xbf, 0xe6, 0x65, 0xf6, 0xcc, 0xfc, + 0x67, 0x8e, 0x51, 0x89, 0x12, 0x45, 0xea, 0x65, 0xad, 0xa2, 0xbf, 0xdd, 0x3f, 0xd2, 0xee, 0x97, + 0x35, 0xda, 0x57, 0x0d, 0xfc, 0x31, 0x0e, 0x97, 0x72, 0x1c, 0xce, 0xe3, 0xb8, 0x38, 0x0b, 0xc7, + 0x79, 0x80, 0x2c, 0xcd, 0xa7, 0xfa, 0x4f, 0x05, 0xf4, 0x7f, 0x7d, 0xf9, 0x9e, 0xd7, 0xbd, 0x79, + 0xfd, 0x36, 0x8c, 0x86, 0xe2, 0x00, 0xe8, 0x2b, 0x47, 0xe0, 0x12, 0xaa, 0x58, 0x46, 0x99, 0x89, + 0xc3, 0xf0, 0x6e, 0xc5, 0xc8, 0x6e, 0xeb, 0xb9, 0xe3, 0x84, 0x18, 0x60, 0x54, 0xe2, 0x24, 0x02, + 0x7b, 0x67, 0xfd, 0xad, 0xab, 0xe0, 0x41, 0xe4, 0x8b, 0xa1, 0xe1, 0x97, 0x67, 0x57, 0x49, 0x15, + 0xa4, 0x10, 0xb0, 0x88, 0x0c, 0x0d, 0x69, 0x4a, 0x5e, 0xb6, 0x9e, 0x8b, 0x65, 0x79, 0x3e, 0x96, + 0x5f, 0x17, 0xd1, 0xf9, 0x5c, 0x77, 0xff, 0x2f, 0xa0, 0x3c, 0xd2, 0x81, 0x4a, 0xf9, 0x0e, 0x94, + 0x9f, 0x10, 0x16, 0xff, 0xb9, 0x09, 0x61, 0xe9, 0xef, 0x4f, 0x08, 0xcb, 0xb9, 0x09, 0xe1, 0x14, + 0x6f, 0xdd, 0x7d, 0xcf, 0x56, 0x71, 0x33, 0xff, 0xbd, 0x64, 0xe7, 0x74, 0xbf, 0x72, 0xd0, 0xa6, + 0x69, 0xb9, 0x63, 0x3f, 0x62, 0xaa, 0x43, 0xe8, 0x2e, 0x1b, 0x70, 0xa2, 0xc6, 0x31, 0xf4, 0x26, + 0x8c, 0x42, 0x82, 0xe3, 0x9b, 0xe8, 0xac, 0x4f, 0xa8, 0x9e, 0x17, 0x64, 0xba, 0x69, 0x87, 0x92, + 0x9a, 0x4f, 0x68, 0x4f, 0x85, 0x99, 0x0d, 0x7e, 0x17, 0x5d, 0xc8, 0xe9, 0xf6, 0xe5, 0xd8, 0x4f, + 0xf0, 0xb6, 0xbd, 0xe8, 0xfc, 0x31, 0x9b, 0x5d, 0xb3, 0xeb, 0xfe, 0xe0, 0xa0, 0x73, 0x29, 0xaf, + 0x4c, 0x12, 0x76, 0x87, 0x44, 0xea, 0xf9, 0x7c, 0x24, 0x1e, 0x41, 0xac, 0x8f, 0x2c, 0x7a, 0x66, + 0x91, 0x90, 0x3d, 0x06, 0x22, 0x05, 0x4f, 0x5b, 0xbe, 0x59, 0x25, 0x13, 0x54, 0x20, 0xb8, 0x04, + 0x2e, 0xc7, 0xf2, 0xd8, 0x78, 0xb3, 0x96, 0x6d, 0xa4, 0x75, 0xf2, 0x0d, 0xb4, 0x96, 0x8d, 0x43, + 0xa9, 0xae, 0x79, 0x93, 0xb5, 0x54, 0x9e, 0xaa, 0xd6, 0xd1, 0x72, 0x24, 0x38, 0xdb, 0xcf, 0x9a, + 0x40, 0xba, 0xec, 0xc0, 0x93, 0xe7, 0x0d, 0xe7, 0xe9, 0xf3, 0x86, 0xf3, 0xeb, 0xf3, 0x86, 0xf3, + 0xcd, 0x8b, 0xc6, 0xc2, 0xd3, 0x17, 0x8d, 0x85, 0x9f, 0x5f, 0x34, 0x16, 0x3e, 0xff, 0x68, 0xaa, + 0xfb, 0xef, 0xa4, 0x94, 0xfb, 0x98, 0xf8, 0xb2, 0x9d, 0x11, 0xf0, 0x5a, 0x20, 0x62, 0x98, 0x5e, + 0x26, 0x33, 0x77, 0x3b, 0x12, 0x74, 0x3c, 0x04, 0x69, 0xff, 0x2b, 0xea, 0x31, 0xc1, 0x5f, 0xd2, + 0xff, 0x14, 0xdf, 0xfe, 0x33, 0x00, 0x00, 0xff, 0xff, 0x1e, 0x8d, 0x4c, 0x9e, 0xbc, 0x0e, 0x00, + 0x00, } func (m *EventAttestationObserved) Marshal() (dAtA []byte, err error) { diff --git a/chain/peggy/types/expected_keepers.go b/chain/peggy/types/expected_keepers.go index b4d8bb2d..a76278f5 100644 --- a/chain/peggy/types/expected_keepers.go +++ b/chain/peggy/types/expected_keepers.go @@ -1,9 +1,11 @@ package types import ( + "context" "time" - sdkmath "cosmossdk.io/math" + "cosmossdk.io/math" + storetypes "cosmossdk.io/store/types" sdk "github.com/cosmos/cosmos-sdk/types" bank "github.com/cosmos/cosmos-sdk/x/bank/types" "github.com/cosmos/cosmos-sdk/x/distribution/types" @@ -13,40 +15,40 @@ import ( // StakingKeeper defines the expected staking keeper methods type StakingKeeper interface { - GetBondedValidatorsByPower(ctx sdk.Context) []stakingtypes.Validator - GetLastValidatorPower(ctx sdk.Context, operator sdk.ValAddress) int64 - 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 - GetValidator(ctx sdk.Context, addr sdk.ValAddress) (validator stakingtypes.Validator, found bool) - IterateBondedValidatorsByPower(sdk.Context, func(index int64, validator stakingtypes.ValidatorI) (stop bool)) - 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) sdkmath.Int - Jail(sdk.Context, sdk.ConsAddress) - PowerReduction(ctx sdk.Context) (res sdkmath.Int) + GetBondedValidatorsByPower(ctx context.Context) ([]stakingtypes.Validator, error) + GetLastValidatorPower(ctx context.Context, operator sdk.ValAddress) (int64, error) + GetLastTotalPower(ctx context.Context) (power math.Int, err error) + IterateValidators(context.Context, func(index int64, validator stakingtypes.ValidatorI) (stop bool)) error + ValidatorQueueIterator(ctx context.Context, endTime time.Time, endHeight int64) (storetypes.Iterator, error) + GetParams(ctx context.Context) (stakingtypes.Params, error) + GetValidator(ctx context.Context, addr sdk.ValAddress) (validator stakingtypes.Validator, err error) + IterateBondedValidatorsByPower(context.Context, func(index int64, validator stakingtypes.ValidatorI) (stop bool)) error + IterateLastValidators(context.Context, func(index int64, validator stakingtypes.ValidatorI) (stop bool)) error + Validator(context.Context, sdk.ValAddress) (stakingtypes.ValidatorI, error) + ValidatorByConsAddr(context.Context, sdk.ConsAddress) (stakingtypes.ValidatorI, error) + Slash(context.Context, sdk.ConsAddress, int64, int64, math.LegacyDec) (math.Int, error) + Jail(context.Context, sdk.ConsAddress) error + PowerReduction(ctx context.Context) (res math.Int) } // BankKeeper defines the expected bank keeper methods type BankKeeper interface { - SendCoinsFromModuleToModule(ctx sdk.Context, senderModule, recipientModule string, amt sdk.Coins) error - 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 - MintCoins(ctx sdk.Context, name string, amt sdk.Coins) error - BurnCoins(ctx sdk.Context, name string, amt sdk.Coins) error - GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins - GetDenomMetaData(ctx sdk.Context, denom string) (bank.Metadata, bool) - GetSupply(ctx sdk.Context, denom string) sdk.Coin + SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error + SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error + MintCoins(ctx context.Context, name string, amt sdk.Coins) error + BurnCoins(ctx context.Context, name string, amt sdk.Coins) error + GetAllBalances(ctx context.Context, addr sdk.AccAddress) sdk.Coins + GetDenomMetaData(ctx context.Context, denom string) (bank.Metadata, bool) + GetSupply(ctx context.Context, denom string) sdk.Coin } type SlashingKeeper interface { - GetValidatorSigningInfo(ctx sdk.Context, address sdk.ConsAddress) (info slashingtypes.ValidatorSigningInfo, found bool) + GetValidatorSigningInfo(ctx context.Context, address sdk.ConsAddress) (info slashingtypes.ValidatorSigningInfo, err error) } type DistributionKeeper interface { - FundCommunityPool(ctx sdk.Context, amount sdk.Coins, sender sdk.AccAddress) error - GetFeePool(ctx sdk.Context) (feePool types.FeePool) - SetFeePool(ctx sdk.Context, feePool types.FeePool) + FundCommunityPool(ctx context.Context, amount sdk.Coins, sender sdk.AccAddress) error + GetFeePool(ctx context.Context) (feePool types.FeePool) + SetFeePool(ctx context.Context, feePool types.FeePool) } diff --git a/chain/peggy/types/msgs.go b/chain/peggy/types/msgs.go index e95cdb2f..c1910b4f 100644 --- a/chain/peggy/types/msgs.go +++ b/chain/peggy/types/msgs.go @@ -24,6 +24,8 @@ var ( _ sdk.Msg = &MsgValsetUpdatedClaim{} _ sdk.Msg = &MsgSubmitBadSignatureEvidence{} _ sdk.Msg = &MsgUpdateParams{} + _ sdk.Msg = &MsgBlacklistEthereumAddresses{} + _ sdk.Msg = &MsgRevokeEthereumBlacklist{} ) func (m *MsgUpdateParams) Route() string { return RouterKey } @@ -618,3 +620,61 @@ func (msg MsgSubmitBadSignatureEvidence) Type() string { return "Submit_Bad_Sign // Route should return the name of the module func (msg MsgSubmitBadSignatureEvidence) Route() string { return RouterKey } + +func (m *MsgBlacklistEthereumAddresses) Route() string { return RouterKey } + +func (m *MsgBlacklistEthereumAddresses) Type() string { return "blacklist_ethereum_addresses" } + +func (m *MsgBlacklistEthereumAddresses) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(m.Signer); err != nil { + return errors.Wrap(err, "invalid signer address") + } + + for _, blacklistAddress := range m.BlacklistAddresses { + + _, err := NewEthAddress(blacklistAddress) + if err != nil { + return errors.Wrapf(err, "invalid blacklist address %s", blacklistAddress) + } + } + + return nil +} + +func (m *MsgBlacklistEthereumAddresses) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m *MsgBlacklistEthereumAddresses) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Signer) + return []sdk.AccAddress{addr} +} + +func (m *MsgRevokeEthereumBlacklist) Route() string { return RouterKey } + +func (m *MsgRevokeEthereumBlacklist) Type() string { return "revoke_ethereum_blacklist" } + +func (m *MsgRevokeEthereumBlacklist) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(m.Signer); err != nil { + return errors.Wrap(err, "invalid signer address") + } + + for _, blacklistAddress := range m.BlacklistAddresses { + + _, err := NewEthAddress(blacklistAddress) + if err != nil { + return errors.Wrapf(err, "invalid blacklist address %s", blacklistAddress) + } + } + + return nil +} + +func (m *MsgRevokeEthereumBlacklist) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m *MsgRevokeEthereumBlacklist) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Signer) + return []sdk.AccAddress{addr} +} diff --git a/chain/peggy/types/msgs.pb.go b/chain/peggy/types/msgs.pb.go index 6bf0619c..a19ba087 100644 --- a/chain/peggy/types/msgs.pb.go +++ b/chain/peggy/types/msgs.pb.go @@ -5,12 +5,13 @@ package types import ( context "context" + cosmossdk_io_math "cosmossdk.io/math" 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/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -601,14 +602,14 @@ var xxx_messageInfo_MsgConfirmBatchResponse proto.InternalMessageInfo // issued to the Cosmos address in question // ------------- type MsgDepositClaim struct { - EventNonce uint64 `protobuf:"varint,1,opt,name=event_nonce,json=eventNonce,proto3" json:"event_nonce,omitempty"` - BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` - TokenContract string `protobuf:"bytes,3,opt,name=token_contract,json=tokenContract,proto3" json:"token_contract,omitempty"` - Amount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,4,opt,name=amount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"amount"` - EthereumSender string `protobuf:"bytes,5,opt,name=ethereum_sender,json=ethereumSender,proto3" json:"ethereum_sender,omitempty"` - CosmosReceiver string `protobuf:"bytes,6,opt,name=cosmos_receiver,json=cosmosReceiver,proto3" json:"cosmos_receiver,omitempty"` - Orchestrator string `protobuf:"bytes,7,opt,name=orchestrator,proto3" json:"orchestrator,omitempty"` - Data string `protobuf:"bytes,8,opt,name=data,proto3" json:"data,omitempty"` + EventNonce uint64 `protobuf:"varint,1,opt,name=event_nonce,json=eventNonce,proto3" json:"event_nonce,omitempty"` + BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` + TokenContract string `protobuf:"bytes,3,opt,name=token_contract,json=tokenContract,proto3" json:"token_contract,omitempty"` + Amount cosmossdk_io_math.Int `protobuf:"bytes,4,opt,name=amount,proto3,customtype=cosmossdk.io/math.Int" json:"amount"` + EthereumSender string `protobuf:"bytes,5,opt,name=ethereum_sender,json=ethereumSender,proto3" json:"ethereum_sender,omitempty"` + CosmosReceiver string `protobuf:"bytes,6,opt,name=cosmos_receiver,json=cosmosReceiver,proto3" json:"cosmos_receiver,omitempty"` + Orchestrator string `protobuf:"bytes,7,opt,name=orchestrator,proto3" json:"orchestrator,omitempty"` + Data string `protobuf:"bytes,8,opt,name=data,proto3" json:"data,omitempty"` } func (m *MsgDepositClaim) Reset() { *m = MsgDepositClaim{} } @@ -1175,13 +1176,13 @@ var xxx_messageInfo_MsgSubmitBadSignatureEvidenceResponse proto.InternalMessageI // This informs the Cosmos module that a validator // set has been updated. type MsgValsetUpdatedClaim struct { - EventNonce uint64 `protobuf:"varint,1,opt,name=event_nonce,json=eventNonce,proto3" json:"event_nonce,omitempty"` - ValsetNonce uint64 `protobuf:"varint,2,opt,name=valset_nonce,json=valsetNonce,proto3" json:"valset_nonce,omitempty"` - BlockHeight uint64 `protobuf:"varint,3,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` - Members []*BridgeValidator `protobuf:"bytes,4,rep,name=members,proto3" json:"members,omitempty"` - RewardAmount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,5,opt,name=reward_amount,json=rewardAmount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"reward_amount"` - RewardToken string `protobuf:"bytes,6,opt,name=reward_token,json=rewardToken,proto3" json:"reward_token,omitempty"` - Orchestrator string `protobuf:"bytes,7,opt,name=orchestrator,proto3" json:"orchestrator,omitempty"` + EventNonce uint64 `protobuf:"varint,1,opt,name=event_nonce,json=eventNonce,proto3" json:"event_nonce,omitempty"` + ValsetNonce uint64 `protobuf:"varint,2,opt,name=valset_nonce,json=valsetNonce,proto3" json:"valset_nonce,omitempty"` + BlockHeight uint64 `protobuf:"varint,3,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` + Members []*BridgeValidator `protobuf:"bytes,4,rep,name=members,proto3" json:"members,omitempty"` + RewardAmount cosmossdk_io_math.Int `protobuf:"bytes,5,opt,name=reward_amount,json=rewardAmount,proto3,customtype=cosmossdk.io/math.Int" json:"reward_amount"` + RewardToken string `protobuf:"bytes,6,opt,name=reward_token,json=rewardToken,proto3" json:"reward_token,omitempty"` + Orchestrator string `protobuf:"bytes,7,opt,name=orchestrator,proto3" json:"orchestrator,omitempty"` } func (m *MsgValsetUpdatedClaim) Reset() { *m = MsgValsetUpdatedClaim{} } @@ -1387,6 +1388,194 @@ func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo +// MsgBlacklistEthereumAddresses defines the message used to add Ethereum +// addresses to peggy blacklist. +type MsgBlacklistEthereumAddresses struct { + // signer address + Signer string `protobuf:"bytes,1,opt,name=signer,proto3" json:"signer,omitempty"` + // Ethereum addresses to include in the blacklist + BlacklistAddresses []string `protobuf:"bytes,2,rep,name=blacklist_addresses,json=blacklistAddresses,proto3" json:"blacklist_addresses,omitempty"` +} + +func (m *MsgBlacklistEthereumAddresses) Reset() { *m = MsgBlacklistEthereumAddresses{} } +func (m *MsgBlacklistEthereumAddresses) String() string { return proto.CompactTextString(m) } +func (*MsgBlacklistEthereumAddresses) ProtoMessage() {} +func (*MsgBlacklistEthereumAddresses) Descriptor() ([]byte, []int) { + return fileDescriptor_751daa04abed7ef4, []int{24} +} +func (m *MsgBlacklistEthereumAddresses) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgBlacklistEthereumAddresses) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgBlacklistEthereumAddresses.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 *MsgBlacklistEthereumAddresses) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBlacklistEthereumAddresses.Merge(m, src) +} +func (m *MsgBlacklistEthereumAddresses) XXX_Size() int { + return m.Size() +} +func (m *MsgBlacklistEthereumAddresses) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBlacklistEthereumAddresses.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgBlacklistEthereumAddresses proto.InternalMessageInfo + +func (m *MsgBlacklistEthereumAddresses) GetSigner() string { + if m != nil { + return m.Signer + } + return "" +} + +func (m *MsgBlacklistEthereumAddresses) GetBlacklistAddresses() []string { + if m != nil { + return m.BlacklistAddresses + } + return nil +} + +// MsgBlacklistEthereumAddressesResponse defines the +// MsgBlacklistEthereumAddresses response type. +type MsgBlacklistEthereumAddressesResponse struct { +} + +func (m *MsgBlacklistEthereumAddressesResponse) Reset() { *m = MsgBlacklistEthereumAddressesResponse{} } +func (m *MsgBlacklistEthereumAddressesResponse) String() string { return proto.CompactTextString(m) } +func (*MsgBlacklistEthereumAddressesResponse) ProtoMessage() {} +func (*MsgBlacklistEthereumAddressesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_751daa04abed7ef4, []int{25} +} +func (m *MsgBlacklistEthereumAddressesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgBlacklistEthereumAddressesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgBlacklistEthereumAddressesResponse.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 *MsgBlacklistEthereumAddressesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBlacklistEthereumAddressesResponse.Merge(m, src) +} +func (m *MsgBlacklistEthereumAddressesResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgBlacklistEthereumAddressesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBlacklistEthereumAddressesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgBlacklistEthereumAddressesResponse proto.InternalMessageInfo + +// MsgRevokeEthereumBlacklist defines the message used to remove Ethereum +// addresses from peggy blacklist. +type MsgRevokeEthereumBlacklist struct { + // signer address + Signer string `protobuf:"bytes,1,opt,name=signer,proto3" json:"signer,omitempty"` + // Ethereum addresses to include in the blacklist + BlacklistAddresses []string `protobuf:"bytes,2,rep,name=blacklist_addresses,json=blacklistAddresses,proto3" json:"blacklist_addresses,omitempty"` +} + +func (m *MsgRevokeEthereumBlacklist) Reset() { *m = MsgRevokeEthereumBlacklist{} } +func (m *MsgRevokeEthereumBlacklist) String() string { return proto.CompactTextString(m) } +func (*MsgRevokeEthereumBlacklist) ProtoMessage() {} +func (*MsgRevokeEthereumBlacklist) Descriptor() ([]byte, []int) { + return fileDescriptor_751daa04abed7ef4, []int{26} +} +func (m *MsgRevokeEthereumBlacklist) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRevokeEthereumBlacklist) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRevokeEthereumBlacklist.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 *MsgRevokeEthereumBlacklist) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRevokeEthereumBlacklist.Merge(m, src) +} +func (m *MsgRevokeEthereumBlacklist) XXX_Size() int { + return m.Size() +} +func (m *MsgRevokeEthereumBlacklist) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRevokeEthereumBlacklist.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRevokeEthereumBlacklist proto.InternalMessageInfo + +func (m *MsgRevokeEthereumBlacklist) GetSigner() string { + if m != nil { + return m.Signer + } + return "" +} + +func (m *MsgRevokeEthereumBlacklist) GetBlacklistAddresses() []string { + if m != nil { + return m.BlacklistAddresses + } + return nil +} + +// MsgRevokeEthereumBlacklistResponse defines the MsgRevokeEthereumBlacklist +// response type. +type MsgRevokeEthereumBlacklistResponse struct { +} + +func (m *MsgRevokeEthereumBlacklistResponse) Reset() { *m = MsgRevokeEthereumBlacklistResponse{} } +func (m *MsgRevokeEthereumBlacklistResponse) String() string { return proto.CompactTextString(m) } +func (*MsgRevokeEthereumBlacklistResponse) ProtoMessage() {} +func (*MsgRevokeEthereumBlacklistResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_751daa04abed7ef4, []int{27} +} +func (m *MsgRevokeEthereumBlacklistResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRevokeEthereumBlacklistResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRevokeEthereumBlacklistResponse.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 *MsgRevokeEthereumBlacklistResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRevokeEthereumBlacklistResponse.Merge(m, src) +} +func (m *MsgRevokeEthereumBlacklistResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgRevokeEthereumBlacklistResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRevokeEthereumBlacklistResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRevokeEthereumBlacklistResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgSetOrchestratorAddresses)(nil), "injective.peggy.v1.MsgSetOrchestratorAddresses") proto.RegisterType((*MsgSetOrchestratorAddressesResponse)(nil), "injective.peggy.v1.MsgSetOrchestratorAddressesResponse") @@ -1412,109 +1601,127 @@ func init() { proto.RegisterType((*MsgValsetUpdatedClaimResponse)(nil), "injective.peggy.v1.MsgValsetUpdatedClaimResponse") proto.RegisterType((*MsgUpdateParams)(nil), "injective.peggy.v1.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "injective.peggy.v1.MsgUpdateParamsResponse") + proto.RegisterType((*MsgBlacklistEthereumAddresses)(nil), "injective.peggy.v1.MsgBlacklistEthereumAddresses") + proto.RegisterType((*MsgBlacklistEthereumAddressesResponse)(nil), "injective.peggy.v1.MsgBlacklistEthereumAddressesResponse") + proto.RegisterType((*MsgRevokeEthereumBlacklist)(nil), "injective.peggy.v1.MsgRevokeEthereumBlacklist") + proto.RegisterType((*MsgRevokeEthereumBlacklistResponse)(nil), "injective.peggy.v1.MsgRevokeEthereumBlacklistResponse") } func init() { proto.RegisterFile("injective/peggy/v1/msgs.proto", fileDescriptor_751daa04abed7ef4) } var fileDescriptor_751daa04abed7ef4 = []byte{ - // 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, + // 1769 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4d, 0x6c, 0xdc, 0xc6, + 0x15, 0x16, 0xb5, 0xab, 0xbf, 0x59, 0xc9, 0xb2, 0x59, 0xd9, 0x5e, 0xd1, 0xd6, 0x4a, 0xa2, 0x6c, + 0x4b, 0x96, 0x6d, 0x52, 0x2b, 0xb7, 0x76, 0x2d, 0xa0, 0x05, 0xbc, 0x92, 0x8a, 0x1a, 0xad, 0xdc, + 0x62, 0xe5, 0xba, 0x40, 0x2f, 0xec, 0x2c, 0x39, 0x26, 0x59, 0x2d, 0x39, 0x5b, 0xce, 0xec, 0xba, + 0x3a, 0x14, 0x68, 0x7d, 0x74, 0x0f, 0x2d, 0xd0, 0x43, 0x90, 0x43, 0x4e, 0xc9, 0xd5, 0x80, 0x0f, + 0x01, 0x82, 0xf8, 0x9c, 0x00, 0x3e, 0x1a, 0xc9, 0x25, 0x08, 0x02, 0x23, 0xb0, 0x03, 0x18, 0xc8, + 0x29, 0xf7, 0x5c, 0x02, 0xce, 0x0c, 0xb9, 0xe4, 0x2e, 0xb9, 0x5a, 0x01, 0xba, 0x08, 0x3b, 0x6f, + 0xde, 0x9b, 0xf9, 0xde, 0xef, 0x7c, 0x14, 0x58, 0x70, 0xfd, 0xbf, 0x21, 0x93, 0xba, 0x1d, 0xa4, + 0xb7, 0x90, 0x6d, 0x1f, 0xea, 0x9d, 0xaa, 0xee, 0x11, 0x9b, 0x68, 0xad, 0x00, 0x53, 0x2c, 0xcb, + 0xf1, 0xb6, 0xc6, 0xb6, 0xb5, 0x4e, 0x55, 0xa9, 0x98, 0x98, 0x78, 0x98, 0xe8, 0x0d, 0x48, 0x90, + 0xde, 0xa9, 0x36, 0x10, 0x85, 0x55, 0xdd, 0xc4, 0xae, 0xcf, 0x6d, 0x94, 0x39, 0x1b, 0xdb, 0x98, + 0xfd, 0xd4, 0xc3, 0x5f, 0x42, 0x7a, 0xd1, 0xc6, 0xd8, 0x6e, 0x22, 0x1d, 0xb6, 0x5c, 0x1d, 0xfa, + 0x3e, 0xa6, 0x90, 0xba, 0xd8, 0x17, 0xf7, 0x28, 0x95, 0x0c, 0x18, 0xf4, 0xb0, 0x85, 0xa2, 0xfd, + 0xc5, 0x8c, 0xfd, 0x16, 0x0c, 0xa0, 0x17, 0x29, 0xcc, 0x8b, 0xe3, 0xd9, 0xaa, 0xd1, 0x7e, 0xa4, + 0x43, 0xff, 0x50, 0x6c, 0x9d, 0x17, 0x78, 0x3d, 0x62, 0x0b, 0xef, 0x22, 0x1b, 0xbe, 0x61, 0x70, + 0xac, 0x7c, 0x21, 0xb6, 0xce, 0x40, 0xcf, 0xf5, 0xb1, 0xce, 0xfe, 0x72, 0x91, 0xfa, 0x4c, 0x02, + 0x17, 0xf6, 0x88, 0xbd, 0x8f, 0xe8, 0x1f, 0x02, 0xd3, 0x41, 0x84, 0x06, 0x90, 0xe2, 0xe0, 0xae, + 0x65, 0x05, 0x88, 0x10, 0x44, 0xe4, 0x73, 0x60, 0x9c, 0x20, 0xdf, 0x42, 0x41, 0x59, 0x5a, 0x92, + 0xd6, 0xa6, 0xea, 0x62, 0x25, 0xab, 0x60, 0x1a, 0x27, 0x0c, 0xca, 0xa3, 0x6c, 0x37, 0x25, 0x93, + 0x17, 0x41, 0x09, 0x51, 0xc7, 0x80, 0xfc, 0xb0, 0x72, 0x81, 0xa9, 0x00, 0x44, 0x1d, 0x71, 0xfc, + 0x56, 0xf5, 0xc9, 0xbb, 0xe7, 0xeb, 0xe2, 0xc4, 0xa7, 0xef, 0x9e, 0xaf, 0x2f, 0xf3, 0x28, 0x0c, + 0xc0, 0xa3, 0x5e, 0x06, 0x2b, 0x03, 0xb6, 0xeb, 0x88, 0xb4, 0xb0, 0x4f, 0x90, 0xfa, 0xa9, 0x04, + 0x4e, 0xef, 0x11, 0xfb, 0x21, 0x6c, 0x12, 0x44, 0xb7, 0xb1, 0xff, 0xc8, 0x0d, 0x3c, 0x79, 0x0e, + 0x8c, 0xf9, 0xd8, 0x37, 0x11, 0x73, 0xa5, 0x58, 0xe7, 0x8b, 0x13, 0xf1, 0x44, 0xbe, 0x08, 0xa6, + 0x88, 0x6b, 0xfb, 0x90, 0xb6, 0x03, 0x54, 0x2e, 0xb2, 0xed, 0xae, 0x60, 0xeb, 0x7a, 0xe8, 0x67, + 0xea, 0xc4, 0xd0, 0xdb, 0x73, 0xb1, 0xb7, 0x29, 0x98, 0xaa, 0x02, 0xca, 0xbd, 0xb2, 0xd8, 0xaf, + 0xd7, 0x12, 0x98, 0x66, 0xfe, 0xfb, 0xd6, 0x03, 0xbc, 0x4b, 0x9d, 0xdc, 0xfc, 0xcc, 0x83, 0xc9, + 0x10, 0xb1, 0x85, 0x08, 0x15, 0x1e, 0x4d, 0x20, 0xea, 0xec, 0x20, 0x42, 0xe5, 0xdb, 0x60, 0x1c, + 0x7a, 0xb8, 0xed, 0x53, 0xe6, 0x47, 0x69, 0x73, 0x5e, 0x13, 0x45, 0x12, 0x96, 0xbe, 0x26, 0x4a, + 0x5f, 0xdb, 0xc6, 0xae, 0x5f, 0x2b, 0xbe, 0x7c, 0xbd, 0x38, 0x52, 0x17, 0xea, 0xf2, 0xaf, 0x01, + 0x68, 0x04, 0xae, 0x65, 0x23, 0xe3, 0x11, 0xe2, 0x5e, 0x0e, 0x61, 0x3c, 0xc5, 0x4d, 0x7e, 0x83, + 0xd0, 0x96, 0xda, 0x93, 0x6e, 0x39, 0x91, 0x6e, 0xe1, 0x8f, 0x7a, 0x0e, 0xcc, 0x25, 0xd7, 0xb1, + 0xe3, 0xff, 0x00, 0xb3, 0x7b, 0xc4, 0xae, 0xa3, 0xbf, 0xb7, 0x11, 0xa1, 0x35, 0x48, 0x4d, 0xa7, + 0x2f, 0x71, 0x52, 0x46, 0xe2, 0xe6, 0xc0, 0x98, 0x85, 0x7c, 0xec, 0x89, 0x18, 0xf0, 0xc5, 0xd6, + 0xb5, 0xcc, 0x7c, 0x9c, 0x8d, 0xe1, 0x24, 0xaf, 0x51, 0xe7, 0xc1, 0xf9, 0x1e, 0x51, 0x0c, 0xea, + 0x1b, 0x89, 0xa1, 0x12, 0x49, 0xe2, 0xa8, 0xb2, 0x8b, 0xec, 0x32, 0x38, 0x45, 0xf1, 0x01, 0xf2, + 0x0d, 0x13, 0xfb, 0x34, 0x80, 0x66, 0x94, 0x94, 0x19, 0x26, 0xdd, 0x16, 0x42, 0x79, 0x01, 0x84, + 0x45, 0x65, 0x84, 0x95, 0x83, 0x02, 0x51, 0x66, 0x53, 0x88, 0x3a, 0xfb, 0x4c, 0xd0, 0xe7, 0x71, + 0x31, 0xc3, 0xe3, 0x54, 0x25, 0x8e, 0xf5, 0x56, 0xe2, 0x51, 0x9e, 0x27, 0x5d, 0x11, 0x9e, 0x27, + 0x45, 0xb1, 0xe7, 0xdf, 0x8f, 0x32, 0xcf, 0x77, 0x50, 0x0b, 0x13, 0x97, 0x6e, 0x37, 0xa1, 0xeb, + 0xb1, 0x26, 0xe9, 0x20, 0x9f, 0x1a, 0x49, 0xff, 0x01, 0x13, 0xdd, 0x67, 0x41, 0x58, 0x06, 0xd3, + 0x8d, 0x26, 0x36, 0x0f, 0x0c, 0x07, 0xb9, 0xb6, 0xc3, 0x43, 0x50, 0xac, 0x97, 0x98, 0xec, 0xb7, + 0x4c, 0x94, 0x11, 0xa7, 0x42, 0x56, 0x9c, 0x7e, 0x11, 0x97, 0x30, 0x0b, 0x41, 0x6d, 0x21, 0x2c, + 0xb5, 0xaf, 0x5f, 0x2f, 0x9e, 0xe5, 0xc5, 0x48, 0xac, 0x03, 0xcd, 0xc5, 0xba, 0x07, 0xa9, 0xa3, + 0xdd, 0xf3, 0x69, 0x5c, 0xc0, 0xab, 0x60, 0x16, 0x51, 0x07, 0x05, 0xa8, 0xed, 0x19, 0xa2, 0x6b, + 0x78, 0x84, 0x4e, 0x45, 0xe2, 0x7d, 0xde, 0x3d, 0xab, 0x60, 0x56, 0x4c, 0xd1, 0x00, 0x99, 0xc8, + 0xed, 0xa0, 0xa0, 0x3c, 0xce, 0x15, 0xb9, 0xb8, 0x2e, 0xa4, 0x7d, 0x19, 0x99, 0xc8, 0xc8, 0x88, + 0x0c, 0x8a, 0x16, 0xa4, 0xb0, 0x3c, 0xc9, 0xf6, 0xd8, 0xef, 0x23, 0xf3, 0x90, 0x0c, 0xac, 0xc8, + 0x43, 0x52, 0x14, 0xe7, 0xe1, 0x07, 0x3e, 0xe7, 0xfe, 0xec, 0x52, 0xc7, 0x0a, 0xe0, 0xe3, 0x93, + 0x4b, 0xc4, 0x22, 0x28, 0x35, 0xc2, 0x8c, 0x8b, 0x33, 0x0a, 0xfc, 0x0c, 0x26, 0xba, 0x9f, 0x53, + 0xd1, 0xc5, 0xac, 0x4c, 0xf5, 0x06, 0x68, 0xac, 0x3f, 0x40, 0x47, 0x8e, 0xc7, 0x94, 0x77, 0x62, + 0x3c, 0xa6, 0x64, 0x71, 0x38, 0x3e, 0x1b, 0x05, 0x67, 0xf7, 0x88, 0xbd, 0x5b, 0xdf, 0xde, 0xdc, + 0xd8, 0x41, 0xad, 0x26, 0x3e, 0x44, 0xd6, 0xc9, 0xc5, 0x64, 0x19, 0x4c, 0x8b, 0xaa, 0xe0, 0x33, + 0x85, 0x97, 0x66, 0x89, 0xcb, 0x76, 0x42, 0xd1, 0xb0, 0x51, 0x91, 0x41, 0xd1, 0x87, 0x5e, 0xd4, + 0x9f, 0xec, 0x37, 0x9b, 0xe4, 0x87, 0x5e, 0x03, 0x37, 0x45, 0xa9, 0x89, 0x95, 0xac, 0x80, 0x49, + 0x0b, 0x99, 0xae, 0x07, 0x9b, 0x84, 0x95, 0x57, 0xb1, 0x1e, 0xaf, 0xfb, 0xa2, 0x3b, 0x99, 0x11, + 0xdd, 0x6a, 0x66, 0x74, 0x2f, 0xc4, 0xd1, 0xed, 0x0f, 0x96, 0xba, 0x08, 0x16, 0x32, 0x37, 0xe2, + 0x38, 0xff, 0x13, 0xc8, 0xe1, 0x64, 0x80, 0xbe, 0x89, 0x9a, 0xdd, 0xb7, 0x28, 0x74, 0x3e, 0x80, + 0x3e, 0x81, 0x66, 0x48, 0x82, 0x0c, 0xd7, 0x12, 0x61, 0x9e, 0x49, 0x48, 0xef, 0x59, 0x89, 0x27, + 0x6b, 0x34, 0xf9, 0x64, 0x6d, 0xad, 0xf5, 0x3c, 0x0f, 0xe5, 0xee, 0x54, 0x4a, 0x5f, 0xa4, 0x5e, + 0x04, 0x4a, 0xbf, 0x34, 0x06, 0xf7, 0x42, 0x62, 0xf0, 0xf7, 0xdb, 0x0d, 0xcf, 0xa5, 0x35, 0x68, + 0xed, 0x47, 0xd3, 0x6f, 0xb7, 0xe3, 0x5a, 0x28, 0xcc, 0xb5, 0x06, 0x26, 0x48, 0xbb, 0x11, 0x52, + 0x2f, 0x86, 0xb0, 0xb4, 0x39, 0xa7, 0x71, 0xa2, 0xa5, 0x45, 0x44, 0x4b, 0xbb, 0xeb, 0x1f, 0xd6, + 0x23, 0xa5, 0xf4, 0x4c, 0x1d, 0xed, 0x99, 0xa9, 0x09, 0x7f, 0x0a, 0x29, 0x7f, 0x6e, 0xf6, 0xf8, + 0xb3, 0xd2, 0x7d, 0xee, 0x72, 0xa1, 0xa9, 0xab, 0xe0, 0xf2, 0x40, 0x85, 0xd8, 0xcb, 0x1f, 0x79, + 0xa9, 0x73, 0x9a, 0xf0, 0xa7, 0x96, 0x05, 0xe9, 0x71, 0x4a, 0xbd, 0xc3, 0xcc, 0x84, 0x86, 0x28, + 0x75, 0x2e, 0xcb, 0xee, 0x86, 0x42, 0x7f, 0x37, 0xfc, 0x0a, 0x4c, 0x78, 0xc8, 0x6b, 0xa0, 0x80, + 0x94, 0x8b, 0x4b, 0x85, 0xb5, 0xd2, 0xe6, 0x8a, 0xd6, 0x4f, 0xab, 0xb5, 0x1a, 0x7b, 0xfd, 0x1f, + 0xc2, 0xa6, 0x6b, 0x85, 0xa5, 0x57, 0x8f, 0x6c, 0xe4, 0x1a, 0x98, 0x09, 0xd0, 0x63, 0x18, 0x58, + 0x86, 0x98, 0xe4, 0x63, 0xc3, 0x4c, 0xf2, 0x69, 0x6e, 0x73, 0x97, 0xcf, 0xf3, 0x65, 0x20, 0xd6, + 0x06, 0x6b, 0x2f, 0xd1, 0x38, 0x25, 0x2e, 0x7b, 0x10, 0x8a, 0x86, 0x19, 0xd0, 0x47, 0x76, 0x48, + 0x7f, 0x8c, 0x45, 0x87, 0xf4, 0x6f, 0xc4, 0xe9, 0x79, 0xc6, 0xa9, 0x01, 0xdf, 0xfb, 0x23, 0xe3, + 0xf4, 0xf2, 0x2d, 0x30, 0x05, 0xdb, 0xd4, 0xc1, 0x81, 0x4b, 0x0f, 0x39, 0x5b, 0xa9, 0x95, 0xbf, + 0xf8, 0xf8, 0xc6, 0x9c, 0x60, 0x50, 0x82, 0x4b, 0xee, 0xd3, 0xc0, 0xf5, 0xed, 0x7a, 0x57, 0x55, + 0xfe, 0x25, 0x18, 0xe7, 0x5f, 0x05, 0x2c, 0x53, 0xa5, 0x4d, 0x25, 0x2b, 0xd0, 0xfc, 0x8e, 0x88, + 0xb1, 0x71, 0x7d, 0xde, 0x52, 0xdd, 0x93, 0xd2, 0x6f, 0x4c, 0x12, 0x9b, 0x78, 0x63, 0x92, 0xa2, + 0xd8, 0x95, 0x0f, 0x78, 0x3f, 0xd5, 0x9a, 0xd0, 0x3c, 0x68, 0xba, 0x84, 0xee, 0x8a, 0xb7, 0x32, + 0xfd, 0x91, 0xc0, 0x29, 0x4b, 0x44, 0x42, 0x39, 0x5f, 0xd1, 0xc1, 0xcf, 0x1a, 0x91, 0x55, 0x44, + 0x9e, 0x51, 0xe8, 0x45, 0x61, 0x6d, 0xaa, 0x2e, 0xc7, 0x5b, 0xf1, 0x41, 0x51, 0xcb, 0x30, 0xeb, + 0x74, 0xcb, 0xe4, 0xdf, 0x2e, 0x5a, 0x26, 0x5f, 0x21, 0x76, 0xe4, 0x3d, 0x89, 0xcd, 0x8d, 0x3a, + 0xea, 0xe0, 0x03, 0x14, 0xa9, 0xc5, 0x76, 0x27, 0xe7, 0xc5, 0x46, 0x8f, 0x17, 0x4b, 0x09, 0x62, + 0x99, 0x79, 0xb5, 0x7a, 0x09, 0xa8, 0xf9, 0xbb, 0x11, 0xfe, 0xcd, 0x4f, 0x4e, 0x83, 0xc2, 0x1e, + 0xb1, 0xe5, 0xff, 0x4a, 0x60, 0x26, 0xfd, 0x65, 0x73, 0x29, 0xab, 0x22, 0x7a, 0x3f, 0x22, 0x94, + 0xeb, 0xc3, 0x68, 0xc5, 0xd1, 0x5a, 0x7f, 0xf2, 0xe5, 0x77, 0xff, 0x1f, 0xbd, 0xa4, 0xaa, 0x7a, + 0xc6, 0x57, 0xaa, 0x98, 0x1f, 0xa6, 0xb8, 0xff, 0x5f, 0x12, 0x98, 0xea, 0xbe, 0x03, 0x4b, 0x39, + 0xf7, 0xc4, 0x1a, 0xca, 0xda, 0x51, 0x1a, 0x31, 0x8a, 0x55, 0x86, 0x62, 0x59, 0x5d, 0xcc, 0x42, + 0x11, 0xce, 0x56, 0x83, 0x62, 0x03, 0x51, 0x47, 0xfe, 0x8f, 0x04, 0xa6, 0x53, 0x9f, 0x07, 0x2b, + 0x39, 0x77, 0x24, 0x95, 0x94, 0x6b, 0x43, 0x28, 0xc5, 0x58, 0xae, 0x32, 0x2c, 0x2b, 0xea, 0x72, + 0x16, 0x96, 0x80, 0x5b, 0x18, 0x8c, 0x22, 0x31, 0x34, 0xa9, 0xcf, 0x82, 0x3c, 0x34, 0x49, 0xa5, + 0x5c, 0x34, 0x99, 0x14, 0x7c, 0x20, 0x1a, 0x91, 0x98, 0x04, 0x9a, 0x14, 0x55, 0xcf, 0x43, 0x93, + 0x54, 0xca, 0x45, 0x93, 0x49, 0x44, 0x07, 0xa2, 0xb1, 0xb8, 0x85, 0x61, 0xb2, 0xcb, 0xc3, 0xf2, + 0x4d, 0x13, 0xd6, 0xbc, 0xf2, 0x4d, 0x69, 0xe5, 0x96, 0x6f, 0x36, 0x15, 0x1c, 0x58, 0xbe, 0x8f, + 0x85, 0x89, 0x40, 0xf4, 0xa1, 0x04, 0xce, 0x24, 0x67, 0x39, 0x47, 0x75, 0x75, 0x60, 0xbb, 0x24, + 0xa7, 0xbe, 0x52, 0x1d, 0x5a, 0x35, 0xc6, 0xb7, 0xc1, 0xf0, 0xad, 0xab, 0x6b, 0x03, 0xda, 0xab, + 0xcd, 0x0d, 0x05, 0xca, 0x8f, 0x24, 0x20, 0x67, 0x30, 0xdb, 0x3c, 0x98, 0xfd, 0xaa, 0xb9, 0x30, + 0x07, 0x30, 0xbd, 0x81, 0x30, 0x51, 0x60, 0x6e, 0x6e, 0x18, 0x96, 0x30, 0x14, 0x30, 0x5f, 0x48, + 0xa0, 0x9c, 0xfb, 0xef, 0x24, 0x3d, 0xb7, 0xf1, 0xb3, 0x0d, 0x94, 0xdb, 0xc7, 0x34, 0x88, 0x81, + 0xff, 0x9c, 0x01, 0xd7, 0xd4, 0xeb, 0xd9, 0x83, 0x83, 0x1a, 0xc9, 0xf7, 0x3e, 0x1a, 0xeb, 0xf2, + 0xfb, 0x12, 0x98, 0xed, 0xa5, 0xb5, 0x57, 0xf2, 0xba, 0x32, 0xad, 0xa7, 0x68, 0xc3, 0xe9, 0xc5, + 0x08, 0x35, 0x86, 0x70, 0x4d, 0xbd, 0x92, 0xd9, 0xc0, 0xcc, 0xc8, 0x48, 0x4e, 0xb8, 0xcf, 0x25, + 0xa0, 0x0c, 0x20, 0xb5, 0x79, 0xc9, 0xcd, 0x37, 0x51, 0xee, 0x1c, 0xdb, 0x24, 0x06, 0x7f, 0x87, + 0x81, 0xbf, 0xa9, 0x56, 0x33, 0xc3, 0xcb, 0xec, 0x8d, 0x06, 0xb4, 0x8c, 0x98, 0x26, 0x1b, 0x28, + 0x02, 0xfa, 0x57, 0x30, 0x9d, 0xa2, 0x45, 0x79, 0xc3, 0x28, 0xa9, 0x94, 0x3b, 0x8c, 0xb2, 0x18, + 0x8b, 0xfc, 0x54, 0x02, 0xca, 0x00, 0xba, 0x92, 0x17, 0xa9, 0x7c, 0x93, 0xdc, 0x48, 0x1d, 0xcd, + 0x3a, 0xe4, 0x7f, 0x4b, 0xe0, 0x7c, 0x1e, 0xe5, 0xd0, 0x72, 0x9f, 0x9f, 0x4c, 0x7d, 0xe5, 0xd6, + 0xf1, 0xf4, 0x23, 0x0c, 0x35, 0xf4, 0xf2, 0x4d, 0x45, 0x7a, 0xf5, 0xa6, 0x22, 0x7d, 0xfb, 0xa6, + 0x22, 0xfd, 0xef, 0x6d, 0x65, 0xe4, 0xd5, 0xdb, 0xca, 0xc8, 0x57, 0x6f, 0x2b, 0x23, 0x7f, 0xf9, + 0x9d, 0xed, 0x52, 0xa7, 0xdd, 0xd0, 0x4c, 0xec, 0xe9, 0xf7, 0xa2, 0xb3, 0x7f, 0x0f, 0x1b, 0xa4, + 0x9b, 0xd7, 0x1b, 0x26, 0x0e, 0x50, 0x72, 0xe9, 0x40, 0xd7, 0xd7, 0x3d, 0x6c, 0xb5, 0x9b, 0x88, + 0x88, 0xa4, 0xb3, 0xff, 0x6a, 0x37, 0xc6, 0xd9, 0xe7, 0xd3, 0xcd, 0x9f, 0x02, 0x00, 0x00, 0xff, + 0xff, 0x13, 0xd4, 0x22, 0xee, 0x7f, 0x17, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1541,6 +1748,11 @@ type MsgClient interface { 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) + // BlacklistEthereumAddresses adds Ethereum addresses to the peggy blacklist. + BlacklistEthereumAddresses(ctx context.Context, in *MsgBlacklistEthereumAddresses, opts ...grpc.CallOption) (*MsgBlacklistEthereumAddressesResponse, error) + // RevokeEthereumBlacklist removes Ethereum addresses from the peggy + // blacklist. + RevokeEthereumBlacklist(ctx context.Context, in *MsgRevokeEthereumBlacklist, opts ...grpc.CallOption) (*MsgRevokeEthereumBlacklistResponse, error) } type msgClient struct { @@ -1659,6 +1871,24 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts return out, nil } +func (c *msgClient) BlacklistEthereumAddresses(ctx context.Context, in *MsgBlacklistEthereumAddresses, opts ...grpc.CallOption) (*MsgBlacklistEthereumAddressesResponse, error) { + out := new(MsgBlacklistEthereumAddressesResponse) + err := c.cc.Invoke(ctx, "/injective.peggy.v1.Msg/BlacklistEthereumAddresses", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) RevokeEthereumBlacklist(ctx context.Context, in *MsgRevokeEthereumBlacklist, opts ...grpc.CallOption) (*MsgRevokeEthereumBlacklistResponse, error) { + out := new(MsgRevokeEthereumBlacklistResponse) + err := c.cc.Invoke(ctx, "/injective.peggy.v1.Msg/RevokeEthereumBlacklist", 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) @@ -1673,6 +1903,11 @@ type MsgServer interface { CancelSendToEth(context.Context, *MsgCancelSendToEth) (*MsgCancelSendToEthResponse, error) SubmitBadSignatureEvidence(context.Context, *MsgSubmitBadSignatureEvidence) (*MsgSubmitBadSignatureEvidenceResponse, error) UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + // BlacklistEthereumAddresses adds Ethereum addresses to the peggy blacklist. + BlacklistEthereumAddresses(context.Context, *MsgBlacklistEthereumAddresses) (*MsgBlacklistEthereumAddressesResponse, error) + // RevokeEthereumBlacklist removes Ethereum addresses from the peggy + // blacklist. + RevokeEthereumBlacklist(context.Context, *MsgRevokeEthereumBlacklist) (*MsgRevokeEthereumBlacklistResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -1715,6 +1950,12 @@ func (*UnimplementedMsgServer) SubmitBadSignatureEvidence(ctx context.Context, r func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") } +func (*UnimplementedMsgServer) BlacklistEthereumAddresses(ctx context.Context, req *MsgBlacklistEthereumAddresses) (*MsgBlacklistEthereumAddressesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BlacklistEthereumAddresses not implemented") +} +func (*UnimplementedMsgServer) RevokeEthereumBlacklist(ctx context.Context, req *MsgRevokeEthereumBlacklist) (*MsgRevokeEthereumBlacklistResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RevokeEthereumBlacklist not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -1936,6 +2177,42 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +func _Msg_BlacklistEthereumAddresses_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgBlacklistEthereumAddresses) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).BlacklistEthereumAddresses(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.peggy.v1.Msg/BlacklistEthereumAddresses", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).BlacklistEthereumAddresses(ctx, req.(*MsgBlacklistEthereumAddresses)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_RevokeEthereumBlacklist_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRevokeEthereumBlacklist) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).RevokeEthereumBlacklist(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.peggy.v1.Msg/RevokeEthereumBlacklist", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).RevokeEthereumBlacklist(ctx, req.(*MsgRevokeEthereumBlacklist)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "injective.peggy.v1.Msg", HandlerType: (*MsgServer)(nil), @@ -1988,6 +2265,14 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "UpdateParams", Handler: _Msg_UpdateParams_Handler, }, + { + MethodName: "BlacklistEthereumAddresses", + Handler: _Msg_BlacklistEthereumAddresses_Handler, + }, + { + MethodName: "RevokeEthereumBlacklist", + Handler: _Msg_RevokeEthereumBlacklist_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "injective/peggy/v1/msgs.proto", @@ -2915,6 +3200,130 @@ func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *MsgBlacklistEthereumAddresses) 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 *MsgBlacklistEthereumAddresses) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBlacklistEthereumAddresses) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.BlacklistAddresses) > 0 { + for iNdEx := len(m.BlacklistAddresses) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.BlacklistAddresses[iNdEx]) + copy(dAtA[i:], m.BlacklistAddresses[iNdEx]) + i = encodeVarintMsgs(dAtA, i, uint64(len(m.BlacklistAddresses[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + if len(m.Signer) > 0 { + i -= len(m.Signer) + copy(dAtA[i:], m.Signer) + i = encodeVarintMsgs(dAtA, i, uint64(len(m.Signer))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgBlacklistEthereumAddressesResponse) 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 *MsgBlacklistEthereumAddressesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBlacklistEthereumAddressesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgRevokeEthereumBlacklist) 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 *MsgRevokeEthereumBlacklist) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRevokeEthereumBlacklist) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.BlacklistAddresses) > 0 { + for iNdEx := len(m.BlacklistAddresses) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.BlacklistAddresses[iNdEx]) + copy(dAtA[i:], m.BlacklistAddresses[iNdEx]) + i = encodeVarintMsgs(dAtA, i, uint64(len(m.BlacklistAddresses[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + if len(m.Signer) > 0 { + i -= len(m.Signer) + copy(dAtA[i:], m.Signer) + i = encodeVarintMsgs(dAtA, i, uint64(len(m.Signer))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgRevokeEthereumBlacklistResponse) 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 *MsgRevokeEthereumBlacklistResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRevokeEthereumBlacklistResponse) 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 @@ -3332,11 +3741,67 @@ func (m *MsgUpdateParamsResponse) Size() (n int) { return n } -func sovMsgs(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 +func (m *MsgBlacklistEthereumAddresses) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Signer) + if l > 0 { + n += 1 + l + sovMsgs(uint64(l)) + } + if len(m.BlacklistAddresses) > 0 { + for _, s := range m.BlacklistAddresses { + l = len(s) + n += 1 + l + sovMsgs(uint64(l)) + } + } + return n } -func sozMsgs(x uint64) (n int) { - return sovMsgs(uint64((x << 1) ^ uint64((int64(x) >> 63)))) + +func (m *MsgBlacklistEthereumAddressesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgRevokeEthereumBlacklist) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Signer) + if l > 0 { + n += 1 + l + sovMsgs(uint64(l)) + } + if len(m.BlacklistAddresses) > 0 { + for _, s := range m.BlacklistAddresses { + l = len(s) + n += 1 + l + sovMsgs(uint64(l)) + } + } + return n +} + +func (m *MsgRevokeEthereumBlacklistResponse) 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 +} +func sozMsgs(x uint64) (n int) { + return sovMsgs(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } func (m *MsgSetOrchestratorAddresses) Unmarshal(dAtA []byte) error { l := len(dAtA) @@ -6065,6 +6530,334 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgBlacklistEthereumAddresses) 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: MsgBlacklistEthereumAddresses: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBlacklistEthereumAddresses: 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 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.Signer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlacklistAddresses", 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.BlacklistAddresses = append(m.BlacklistAddresses, string(dAtA[iNdEx:postIndex])) + 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 *MsgBlacklistEthereumAddressesResponse) 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: MsgBlacklistEthereumAddressesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBlacklistEthereumAddressesResponse: 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 (m *MsgRevokeEthereumBlacklist) 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: MsgRevokeEthereumBlacklist: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRevokeEthereumBlacklist: 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 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.Signer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlacklistAddresses", 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.BlacklistAddresses = append(m.BlacklistAddresses, string(dAtA[iNdEx:postIndex])) + 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 *MsgRevokeEthereumBlacklistResponse) 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: MsgRevokeEthereumBlacklistResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRevokeEthereumBlacklistResponse: 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 index 43e1374c..656ada2b 100644 --- a/chain/peggy/types/params.go +++ b/chain/peggy/types/params.go @@ -6,7 +6,7 @@ import ( "strings" "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" ) // DefaultParamspace defines the default auth module parameter subspace @@ -25,11 +25,11 @@ func DefaultParams() *Params { 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)), + SlashFractionValset: math.LegacyNewDec(1).Quo(math.LegacyNewDec(1000)), + SlashFractionBatch: math.LegacyNewDec(1).Quo(math.LegacyNewDec(1000)), + SlashFractionClaim: math.LegacyNewDec(1).Quo(math.LegacyNewDec(1000)), + SlashFractionConflictingClaim: math.LegacyNewDec(1).Quo(math.LegacyNewDec(1000)), + SlashFractionBadEthSignature: math.LegacyNewDec(1).Quo(math.LegacyNewDec(1000)), CosmosCoinDenom: "inj", UnbondSlashingValsetsWindow: 10000, ClaimSlashingEnabled: false, @@ -199,7 +199,7 @@ func validateUnbondSlashingValsetsWindow(i interface{}) error { } func validateSlashFractionValset(i interface{}) error { - if _, ok := i.(sdk.Dec); !ok { + if _, ok := i.(math.LegacyDec); !ok { return fmt.Errorf("invalid parameter type: %T", i) } return nil @@ -220,21 +220,21 @@ func validateSignedClaimsWindow(i interface{}) error { } func validateSlashFractionBatch(i interface{}) error { - if _, ok := i.(sdk.Dec); !ok { + if _, ok := i.(math.LegacyDec); !ok { return fmt.Errorf("invalid parameter type: %T", i) } return nil } func validateSlashFractionClaim(i interface{}) error { - if _, ok := i.(sdk.Dec); !ok { + if _, ok := i.(math.LegacyDec); !ok { return fmt.Errorf("invalid parameter type: %T", i) } return nil } func validateSlashFractionConflictingClaim(i interface{}) error { - if _, ok := i.(sdk.Dec); !ok { + if _, ok := i.(math.LegacyDec); !ok { return fmt.Errorf("invalid parameter type: %T", i) } return nil @@ -284,7 +284,7 @@ func validateClaimSlashingEnabled(i interface{}) error { } func validateSlashFractionBadEthSignature(i interface{}) error { - if _, ok := i.(sdk.Dec); !ok { + if _, ok := i.(math.LegacyDec); !ok { return fmt.Errorf("invalid parameter type: %T", i) } return nil diff --git a/chain/peggy/types/params.pb.go b/chain/peggy/types/params.pb.go index f7932952..0d2bacca 100644 --- a/chain/peggy/types/params.pb.go +++ b/chain/peggy/types/params.pb.go @@ -4,9 +4,10 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" - 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/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -26,27 +27,28 @@ var _ = math.Inf 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"` + 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 cosmossdk_io_math.LegacyDec `protobuf:"bytes,11,opt,name=slash_fraction_valset,json=slashFractionValset,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"slash_fraction_valset"` + SlashFractionBatch cosmossdk_io_math.LegacyDec `protobuf:"bytes,12,opt,name=slash_fraction_batch,json=slashFractionBatch,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"slash_fraction_batch"` + SlashFractionClaim cosmossdk_io_math.LegacyDec `protobuf:"bytes,13,opt,name=slash_fraction_claim,json=slashFractionClaim,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"slash_fraction_claim"` + SlashFractionConflictingClaim cosmossdk_io_math.LegacyDec `protobuf:"bytes,14,opt,name=slash_fraction_conflicting_claim,json=slashFractionConflictingClaim,proto3,customtype=cosmossdk.io/math.LegacyDec" 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 cosmossdk_io_math.LegacyDec `protobuf:"bytes,16,opt,name=slash_fraction_bad_eth_signature,json=slashFractionBadEthSignature,proto3,customtype=cosmossdk.io/math.LegacyDec" 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"` + Admins []string `protobuf:"bytes,22,rep,name=admins,proto3" json:"admins,omitempty"` } func (m *Params) Reset() { *m = Params{} } @@ -194,6 +196,13 @@ func (m *Params) GetValsetReward() types.Coin { return types.Coin{} } +func (m *Params) GetAdmins() []string { + if m != nil { + return m.Admins + } + return nil +} + func init() { proto.RegisterType((*Params)(nil), "injective.peggy.v1.Params") } @@ -201,55 +210,58 @@ func init() { 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, + // 803 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x95, 0x41, 0x6f, 0x23, 0x35, + 0x14, 0xc7, 0x33, 0x6c, 0xe9, 0xb6, 0xde, 0x96, 0x6e, 0xdd, 0xa4, 0xeb, 0xb6, 0x4b, 0x1a, 0x81, + 0x84, 0xa2, 0x15, 0xcc, 0xb4, 0x05, 0x71, 0x00, 0x21, 0x44, 0xd2, 0xa2, 0xad, 0xd8, 0x03, 0x4a, + 0x81, 0x95, 0xb8, 0x58, 0x9e, 0xb1, 0x77, 0xc6, 0x74, 0xc6, 0xae, 0xc6, 0x4e, 0xaa, 0xde, 0x38, + 0x73, 0xe2, 0xa3, 0xf0, 0x31, 0xf6, 0xb8, 0x47, 0x84, 0xd0, 0x0a, 0xb5, 0x07, 0x24, 0x3e, 0x05, + 0xf2, 0xb3, 0x27, 0x49, 0x03, 0x87, 0x6a, 0x2f, 0x55, 0xed, 0xdf, 0xff, 0xff, 0x9e, 0xf3, 0xec, + 0xfc, 0x83, 0xf6, 0xa5, 0xfa, 0x49, 0x64, 0x56, 0x4e, 0x44, 0x72, 0x21, 0xf2, 0xfc, 0x2a, 0x99, + 0x1c, 0x26, 0x17, 0xac, 0x66, 0x95, 0x89, 0x2f, 0x6a, 0x6d, 0x35, 0xc6, 0x53, 0x41, 0x0c, 0x82, + 0x78, 0x72, 0xb8, 0xdb, 0xce, 0x75, 0xae, 0x01, 0x27, 0xee, 0x3f, 0xaf, 0xdc, 0xed, 0x66, 0xda, + 0x54, 0xda, 0x24, 0x29, 0x33, 0x22, 0x99, 0x1c, 0xa6, 0xc2, 0xb2, 0xc3, 0x24, 0xd3, 0x52, 0x05, + 0xbe, 0xc9, 0x2a, 0xa9, 0x74, 0x02, 0x7f, 0xfd, 0xd6, 0x7b, 0xff, 0x20, 0xb4, 0xfc, 0x2d, 0x74, + 0xc3, 0x3b, 0x68, 0x05, 0xea, 0x53, 0xc9, 0x49, 0xd4, 0x8b, 0xfa, 0xab, 0xa3, 0xfb, 0xb0, 0x3e, + 0xe5, 0xf8, 0x00, 0xb5, 0x33, 0xad, 0x6c, 0xcd, 0x32, 0x4b, 0x8d, 0x1e, 0xd7, 0x99, 0xa0, 0x05, + 0x33, 0x05, 0x79, 0x0b, 0x64, 0xb8, 0x61, 0x67, 0x80, 0x9e, 0x32, 0x53, 0xe0, 0x4f, 0xd1, 0xa3, + 0xb4, 0x96, 0x3c, 0x17, 0x54, 0xd8, 0x42, 0xd4, 0x62, 0x5c, 0x51, 0xc6, 0x79, 0x2d, 0x8c, 0x21, + 0xf7, 0xc0, 0xd4, 0xf1, 0xf8, 0x24, 0xd0, 0xaf, 0x3c, 0xc4, 0x1f, 0xa0, 0x8d, 0xe0, 0xcb, 0x0a, + 0x26, 0x95, 0x3b, 0xcb, 0x52, 0x2f, 0xea, 0x2f, 0x8d, 0xd6, 0xfd, 0xf6, 0xd0, 0xed, 0x9e, 0x72, + 0x7c, 0x84, 0x3a, 0x46, 0xe6, 0x4a, 0x70, 0x3a, 0x61, 0xa5, 0x11, 0xd6, 0xd0, 0x4b, 0xa9, 0xb8, + 0xbe, 0x24, 0x6f, 0x83, 0x7a, 0xcb, 0xc3, 0x1f, 0x3c, 0x7b, 0x0e, 0x68, 0xce, 0x93, 0x32, 0x9b, + 0x15, 0x62, 0xea, 0x59, 0x9e, 0xf7, 0x0c, 0x3c, 0x0b, 0x9e, 0x03, 0xd4, 0x0e, 0x9e, 0xac, 0x64, + 0xb2, 0x9a, 0x5a, 0xee, 0x83, 0x05, 0x7b, 0x36, 0x04, 0x34, 0x73, 0x58, 0x56, 0xe7, 0xc2, 0xfa, + 0x2e, 0xd4, 0xca, 0x4a, 0xe8, 0xb1, 0x25, 0x2b, 0xde, 0xe1, 0x19, 0x34, 0xf9, 0xce, 0x13, 0xfc, + 0x21, 0xc2, 0x6c, 0x22, 0x6a, 0x96, 0x0b, 0x9a, 0x96, 0x3a, 0x3b, 0x07, 0x0b, 0x59, 0x05, 0xfd, + 0xc3, 0x40, 0x06, 0x0e, 0x38, 0x03, 0xfe, 0x02, 0xed, 0x35, 0xea, 0xe9, 0x68, 0xe7, 0x6c, 0x08, + 0x6c, 0x24, 0x48, 0x9a, 0xf1, 0xce, 0xec, 0xcf, 0x51, 0xc7, 0x94, 0xcc, 0x14, 0xf4, 0x85, 0xbb, + 0x31, 0xa9, 0x55, 0x18, 0x20, 0x79, 0xd0, 0x8b, 0xfa, 0x6b, 0x83, 0xf7, 0x5f, 0xbe, 0xde, 0x6f, + 0xfd, 0xf1, 0x7a, 0x7f, 0xcf, 0x3f, 0x25, 0xc3, 0xcf, 0x63, 0xa9, 0x93, 0x8a, 0xd9, 0x22, 0x7e, + 0x26, 0x72, 0x96, 0x5d, 0x1d, 0x8b, 0x6c, 0xb4, 0x05, 0x15, 0xbe, 0x0e, 0x05, 0xfc, 0x90, 0xf1, + 0xf7, 0xa8, 0xbd, 0x50, 0x18, 0x3e, 0x3f, 0x59, 0xbb, 0x7b, 0x5d, 0x7c, 0xab, 0x2e, 0xcc, 0xe8, + 0x7f, 0xca, 0xc2, 0x45, 0x90, 0xf5, 0x37, 0x2d, 0x0b, 0x97, 0x85, 0x4b, 0xd4, 0x5b, 0x2c, 0xab, + 0xd5, 0x8b, 0x52, 0x66, 0x56, 0xaa, 0x3c, 0xb4, 0x78, 0xe7, 0xee, 0x2d, 0xde, 0xbd, 0xdd, 0x62, + 0x56, 0xca, 0x77, 0x1b, 0xa2, 0xee, 0x58, 0xa5, 0x5a, 0x71, 0x0a, 0x3a, 0xd7, 0x62, 0xe1, 0xd9, + 0x6e, 0xc0, 0xb5, 0xed, 0x79, 0xd5, 0x59, 0x10, 0xdd, 0x7e, 0xbe, 0xe7, 0xff, 0x39, 0x72, 0xca, + 0xb8, 0x7b, 0x03, 0xd4, 0xbd, 0x42, 0x66, 0xc7, 0xb5, 0x20, 0x0f, 0xef, 0x7e, 0xe4, 0xc7, 0x0b, + 0xc3, 0xe6, 0x27, 0xb6, 0x38, 0x6b, 0x0a, 0xe1, 0x27, 0x68, 0xd3, 0x9b, 0xa9, 0xcb, 0x0f, 0xca, + 0x85, 0xd2, 0x15, 0xd9, 0x84, 0x6f, 0xee, 0x86, 0x07, 0x43, 0x2d, 0xd5, 0xb1, 0xdb, 0xc6, 0x9f, + 0xa3, 0xdd, 0x79, 0xad, 0xa8, 0xb3, 0xa3, 0x03, 0xda, 0x64, 0x02, 0xc1, 0x60, 0x7a, 0x34, 0x33, + 0x9d, 0x38, 0x3e, 0x0c, 0x18, 0x7f, 0x82, 0xb6, 0x61, 0xda, 0xb3, 0xc9, 0x08, 0xc5, 0xd2, 0x52, + 0x70, 0xb2, 0xd5, 0x8b, 0xfa, 0x2b, 0xa3, 0x36, 0xd0, 0x66, 0x22, 0x27, 0x9e, 0xe1, 0x2f, 0xd1, + 0xe3, 0x26, 0x26, 0xa6, 0xb9, 0x64, 0x59, 0x6d, 0x69, 0x21, 0x64, 0x5e, 0x58, 0xd2, 0x86, 0x71, + 0xee, 0x84, 0xcc, 0x68, 0xe2, 0xc9, 0x29, 0x9e, 0x82, 0x00, 0x1f, 0xa3, 0x75, 0x7f, 0x03, 0xb4, + 0x16, 0x97, 0xac, 0xe6, 0xa4, 0xd3, 0x8b, 0xfa, 0x0f, 0x8e, 0x76, 0x62, 0x7f, 0xce, 0xd8, 0x45, + 0x68, 0x1c, 0x22, 0x34, 0x76, 0xa7, 0x1e, 0x2c, 0xb9, 0xa1, 0x8e, 0xd6, 0xbc, 0x6b, 0x04, 0x26, + 0xbc, 0x8d, 0x96, 0x19, 0xaf, 0xa4, 0x32, 0x64, 0xbb, 0x77, 0xaf, 0xbf, 0x3a, 0x0a, 0xab, 0xcf, + 0x3a, 0x3f, 0xff, 0xd9, 0x6b, 0xfd, 0xf2, 0xf7, 0x6f, 0x4f, 0xd6, 0x7c, 0xa4, 0xfb, 0x84, 0x1d, + 0x88, 0x97, 0xd7, 0xdd, 0xe8, 0xd5, 0x75, 0x37, 0xfa, 0xeb, 0xba, 0x1b, 0xfd, 0x7a, 0xd3, 0x6d, + 0xbd, 0xba, 0xe9, 0xb6, 0x7e, 0xbf, 0xe9, 0xb6, 0x7e, 0xfc, 0x26, 0x97, 0xb6, 0x18, 0xa7, 0x71, + 0xa6, 0xab, 0xe4, 0xb4, 0x89, 0xfb, 0x67, 0x2c, 0x35, 0xc9, 0x34, 0xfc, 0x3f, 0xca, 0x74, 0x2d, + 0xe6, 0x97, 0x2e, 0x09, 0x93, 0x4a, 0xf3, 0x71, 0x29, 0x4c, 0xf8, 0xe9, 0xb0, 0x57, 0x17, 0xc2, + 0xa4, 0xcb, 0x10, 0xed, 0x1f, 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x8b, 0xfa, 0xa0, 0xe8, 0x5a, + 0x06, 0x00, 0x00, } func (m *Params) Marshal() (dAtA []byte, err error) { @@ -272,6 +284,17 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.Admins) > 0 { + for iNdEx := len(m.Admins) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Admins[iNdEx]) + copy(dAtA[i:], m.Admins[iNdEx]) + i = encodeVarintParams(dAtA, i, uint64(len(m.Admins[iNdEx]))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb2 + } + } { size, err := m.ValsetReward.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -516,6 +539,12 @@ func (m *Params) Size() (n int) { } l = m.ValsetReward.Size() n += 2 + l + sovParams(uint64(l)) + if len(m.Admins) > 0 { + for _, s := range m.Admins { + l = len(s) + n += 2 + l + sovParams(uint64(l)) + } + } return n } @@ -1103,6 +1132,38 @@ func (m *Params) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 22: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Admins", 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.Admins = append(m.Admins, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipParams(dAtA[iNdEx:]) diff --git a/chain/peggy/types/pool.pb.go b/chain/peggy/types/pool.pb.go index a7eabb67..8d108d35 100644 --- a/chain/peggy/types/pool.pb.go +++ b/chain/peggy/types/pool.pb.go @@ -4,8 +4,8 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -70,8 +70,8 @@ func (m *IDSet) GetIds() []uint64 { } type BatchFees struct { - Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` - TotalFees github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,2,opt,name=total_fees,json=totalFees,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"total_fees"` + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + TotalFees cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=total_fees,json=totalFees,proto3,customtype=cosmossdk.io/math.Int" json:"total_fees"` } func (m *BatchFees) Reset() { *m = BatchFees{} } @@ -122,24 +122,24 @@ func init() { func init() { proto.RegisterFile("injective/peggy/v1/pool.proto", fileDescriptor_36397d69759ce164) } var fileDescriptor_36397d69759ce164 = []byte{ - // 271 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x90, 0xcf, 0x4a, 0xf3, 0x40, - 0x14, 0xc5, 0x33, 0x5f, 0xbf, 0x0a, 0x99, 0x95, 0x84, 0x2e, 0xa2, 0xe0, 0xb4, 0x74, 0x21, 0xdd, - 0x74, 0x86, 0xe2, 0x1b, 0x04, 0x11, 0x82, 0xba, 0x89, 0x3b, 0x37, 0x92, 0x3f, 0xd7, 0x24, 0x36, - 0xc9, 0x0d, 0x9d, 0xdb, 0x40, 0xdf, 0xc2, 0xc7, 0xea, 0xb2, 0x4b, 0x71, 0x51, 0x24, 0x79, 0x11, - 0xc9, 0xb4, 0x96, 0xae, 0xe6, 0x1c, 0x7e, 0xc3, 0x39, 0x9c, 0xcb, 0x6f, 0xf2, 0xea, 0x03, 0x62, - 0xca, 0x1b, 0x50, 0x35, 0xa4, 0xe9, 0x46, 0x35, 0x0b, 0x55, 0x23, 0x16, 0xb2, 0x5e, 0x21, 0xa1, - 0xe3, 0x9c, 0xb0, 0x34, 0x58, 0x36, 0x8b, 0xeb, 0x51, 0x8a, 0x29, 0x1a, 0xac, 0x7a, 0x75, 0xf8, - 0x39, 0xbd, 0xe2, 0x43, 0xff, 0xfe, 0x05, 0xc8, 0xb9, 0xe4, 0x83, 0x3c, 0xd1, 0x2e, 0x9b, 0x0c, - 0x66, 0xff, 0x83, 0x5e, 0x4e, 0x6b, 0x6e, 0x7b, 0x21, 0xc5, 0xd9, 0x03, 0x80, 0x76, 0x46, 0x7c, - 0x48, 0xb8, 0x84, 0xca, 0x65, 0x13, 0x36, 0xb3, 0x83, 0x83, 0x71, 0x9e, 0x39, 0x27, 0xa4, 0xb0, - 0x78, 0x7b, 0x07, 0xd0, 0xee, 0xbf, 0x1e, 0x79, 0x72, 0xbb, 0x1f, 0x5b, 0xdf, 0xfb, 0xf1, 0x6d, - 0x9a, 0x53, 0xb6, 0x8e, 0x64, 0x8c, 0xa5, 0x8a, 0x51, 0x97, 0xa8, 0x8f, 0xcf, 0x5c, 0x27, 0x4b, - 0x45, 0x9b, 0x1a, 0xb4, 0xf4, 0x2b, 0x0a, 0x6c, 0x93, 0xd0, 0x97, 0x78, 0xb0, 0x6d, 0x05, 0xdb, - 0xb5, 0x82, 0xfd, 0xb4, 0x82, 0x7d, 0x76, 0xc2, 0xda, 0x75, 0xc2, 0xfa, 0xea, 0x84, 0xf5, 0xfa, - 0x78, 0x16, 0xe6, 0xff, 0x6d, 0x7b, 0x0a, 0x23, 0xad, 0x4e, 0x4b, 0xe7, 0x31, 0xae, 0xe0, 0xdc, - 0x66, 0x61, 0x5e, 0xa9, 0x12, 0x93, 0x75, 0x01, 0xfa, 0x78, 0x25, 0xd3, 0x1a, 0x5d, 0x98, 0xe9, - 0x77, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc8, 0x08, 0x7d, 0xe1, 0x45, 0x01, 0x00, 0x00, + // 267 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x90, 0xcf, 0x4a, 0xc3, 0x40, + 0x10, 0xc6, 0xb3, 0xd6, 0x0a, 0xd9, 0x93, 0x84, 0x0a, 0x51, 0xe8, 0xb6, 0xf4, 0xd4, 0x8b, 0xbb, + 0x14, 0xaf, 0x9e, 0x82, 0x08, 0x41, 0x4f, 0xf1, 0xe6, 0xa5, 0xe4, 0xcf, 0x98, 0xac, 0x4d, 0x32, + 0xa1, 0x3b, 0x0d, 0xf4, 0x2d, 0x7c, 0xac, 0x1e, 0x7b, 0x14, 0x0f, 0x45, 0x92, 0x17, 0x91, 0xa4, + 0x5a, 0xbc, 0x7d, 0x1f, 0xbf, 0x99, 0x81, 0xdf, 0xf0, 0xb1, 0x2e, 0xdf, 0x21, 0x26, 0x5d, 0x83, + 0xaa, 0x20, 0x4d, 0xb7, 0xaa, 0x5e, 0xa8, 0x0a, 0x31, 0x97, 0xd5, 0x1a, 0x09, 0x1d, 0xe7, 0x84, + 0x65, 0x8f, 0x65, 0xbd, 0xb8, 0x19, 0xa5, 0x98, 0x62, 0x8f, 0x55, 0x97, 0x8e, 0x93, 0xb3, 0x6b, + 0x3e, 0xf4, 0x1f, 0x5e, 0x80, 0x9c, 0x4b, 0x3e, 0xd0, 0x89, 0x71, 0xd9, 0x74, 0x30, 0x3f, 0x0f, + 0xba, 0x38, 0x5b, 0x72, 0xdb, 0x0b, 0x29, 0xce, 0x1e, 0x01, 0x8c, 0x33, 0xe2, 0x43, 0xc2, 0x15, + 0x94, 0x2e, 0x9b, 0xb2, 0xb9, 0x1d, 0x1c, 0x8b, 0x73, 0xcf, 0x39, 0x21, 0x85, 0xf9, 0xf2, 0x0d, + 0xc0, 0xb8, 0x67, 0x1d, 0xf2, 0xc6, 0xbb, 0xc3, 0xc4, 0xfa, 0x3a, 0x4c, 0xae, 0x62, 0x34, 0x05, + 0x1a, 0x93, 0xac, 0xa4, 0x46, 0x55, 0x84, 0x94, 0x49, 0xbf, 0xa4, 0xc0, 0xee, 0x17, 0xba, 0x9b, + 0x1e, 0xec, 0x1a, 0xc1, 0xf6, 0x8d, 0x60, 0xdf, 0x8d, 0x60, 0x1f, 0xad, 0xb0, 0xf6, 0xad, 0xb0, + 0x3e, 0x5b, 0x61, 0xbd, 0x3e, 0xa5, 0x9a, 0xb2, 0x4d, 0x24, 0x63, 0x2c, 0x94, 0xff, 0xa7, 0xf2, + 0x1c, 0x46, 0x46, 0x9d, 0xc4, 0x6e, 0x63, 0x5c, 0xc3, 0xff, 0x9a, 0x85, 0xba, 0x54, 0x05, 0x26, + 0x9b, 0x1c, 0xcc, 0xef, 0x53, 0x68, 0x5b, 0x81, 0x89, 0x2e, 0x7a, 0xd3, 0xbb, 0x9f, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x38, 0x4c, 0x07, 0x7f, 0x34, 0x01, 0x00, 0x00, } func (m *IDSet) Marshal() (dAtA []byte, err error) { diff --git a/chain/peggy/types/types.go b/chain/peggy/types/types.go index 92c9e203..48959e4a 100644 --- a/chain/peggy/types/types.go +++ b/chain/peggy/types/types.go @@ -250,7 +250,7 @@ func (v Valsets) Swap(i, j int) { // GetFees returns the total fees contained within a given batch func (b OutgoingTxBatch) GetFees() sdkmath.Int { - sum := sdk.ZeroInt() + sum := sdkmath.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 66673a3c..f164779c 100644 --- a/chain/peggy/types/types.pb.go +++ b/chain/peggy/types/types.pb.go @@ -4,8 +4,8 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -81,10 +81,10 @@ func (m *BridgeValidator) GetEthereumAddress() string { // maintains an ETH key to sign messages, these are used to check signatures on // ETH because of the significant gas savings type Valset struct { - Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"` - Members []*BridgeValidator `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"` - Height uint64 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"` - RewardAmount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,4,opt,name=reward_amount,json=rewardAmount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"reward_amount"` + Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"` + Members []*BridgeValidator `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"` + Height uint64 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"` + RewardAmount cosmossdk_io_math.Int `protobuf:"bytes,4,opt,name=reward_amount,json=rewardAmount,proto3,customtype=cosmossdk.io/math.Int" json:"reward_amount"` // the reward token in it's Ethereum hex address representation RewardToken string `protobuf:"bytes,5,opt,name=reward_token,json=rewardToken,proto3" json:"reward_token,omitempty"` } @@ -325,38 +325,38 @@ func init() { func init() { proto.RegisterFile("injective/peggy/v1/types.proto", fileDescriptor_b641943ad411b503) } var fileDescriptor_b641943ad411b503 = []byte{ - // 494 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x53, 0x4f, 0x6f, 0xd3, 0x4e, - 0x10, 0x8d, 0xfb, 0x27, 0x3f, 0x75, 0xdb, 0x1f, 0x85, 0x6d, 0x40, 0x16, 0x07, 0xa7, 0x04, 0x09, - 0x85, 0x43, 0xed, 0x34, 0xdc, 0x90, 0x38, 0x34, 0x25, 0x12, 0x15, 0x15, 0x48, 0xa6, 0xea, 0x81, - 0x8b, 0xb5, 0xb6, 0x47, 0xb6, 0x89, 0xbd, 0x1b, 0xed, 0x6e, 0x5c, 0xf5, 0x03, 0x70, 0xe7, 0x63, - 0xf5, 0xd8, 0x23, 0xe2, 0x50, 0xa1, 0xe4, 0xcc, 0x77, 0x40, 0xfb, 0xc7, 0x91, 0xa1, 0x9c, 0x92, - 0xf7, 0x66, 0xe6, 0xbd, 0xd9, 0x99, 0x31, 0xf2, 0x0a, 0xfa, 0x05, 0x12, 0x59, 0xd4, 0x10, 0xcc, - 0x21, 0xcb, 0xae, 0x83, 0xfa, 0x38, 0x90, 0xd7, 0x73, 0x10, 0xfe, 0x9c, 0x33, 0xc9, 0x30, 0x5e, - 0xc7, 0x7d, 0x1d, 0xf7, 0xeb, 0xe3, 0xa7, 0xbd, 0x8c, 0x65, 0x4c, 0x87, 0x03, 0xf5, 0xcf, 0x64, - 0x0e, 0x42, 0xb4, 0x3f, 0xe1, 0x45, 0x9a, 0xc1, 0x25, 0x29, 0x8b, 0x94, 0x48, 0xc6, 0x71, 0x0f, - 0x6d, 0xcf, 0xd9, 0x15, 0x70, 0xd7, 0x39, 0x74, 0x86, 0x5b, 0xa1, 0x01, 0xf8, 0x25, 0x7a, 0x08, - 0x32, 0x07, 0x0e, 0x8b, 0x2a, 0x22, 0x69, 0xca, 0x41, 0x08, 0x77, 0xe3, 0xd0, 0x19, 0xee, 0x84, - 0xfb, 0x0d, 0x7f, 0x62, 0xe8, 0xc1, 0x2f, 0x07, 0x75, 0x2f, 0x49, 0x29, 0x40, 0x2a, 0x2d, 0xca, - 0x68, 0x02, 0x8d, 0x96, 0x06, 0xf8, 0x0d, 0xfa, 0xaf, 0x82, 0x2a, 0x06, 0xae, 0x24, 0x36, 0x87, - 0xbb, 0xe3, 0xe7, 0xfe, 0xfd, 0x86, 0xfd, 0xbf, 0xfa, 0x0a, 0x9b, 0x1a, 0xfc, 0x04, 0x75, 0x73, - 0x28, 0xb2, 0x5c, 0xba, 0x9b, 0x5a, 0xd5, 0x22, 0xfc, 0x09, 0xfd, 0xcf, 0xe1, 0x8a, 0xf0, 0x34, - 0x22, 0x15, 0x5b, 0x50, 0xe9, 0x6e, 0xa9, 0xfe, 0x26, 0xfe, 0xcd, 0x5d, 0xbf, 0xf3, 0xe3, 0xae, - 0xff, 0x22, 0x2b, 0x64, 0xbe, 0x88, 0xfd, 0x84, 0x55, 0x41, 0xc2, 0x44, 0xc5, 0x84, 0xfd, 0x39, - 0x12, 0xe9, 0xcc, 0x8e, 0xef, 0x8c, 0xca, 0x70, 0xcf, 0x88, 0x9c, 0x68, 0x0d, 0xfc, 0x0c, 0x59, - 0x1c, 0x49, 0x36, 0x03, 0xea, 0x6e, 0xeb, 0x37, 0xef, 0x1a, 0xee, 0x42, 0x51, 0x83, 0xaf, 0x0e, - 0xea, 0x9f, 0x13, 0x21, 0x3f, 0xc6, 0x02, 0x78, 0x0d, 0xe9, 0xd4, 0xce, 0x63, 0x52, 0xb2, 0x64, - 0xf6, 0xce, 0xf4, 0xe6, 0xa3, 0x03, 0x63, 0x16, 0xc5, 0x8a, 0x8d, 0xec, 0x03, 0xcc, 0x58, 0x1e, - 0x99, 0x50, 0x3b, 0x7f, 0x8c, 0x1e, 0xaf, 0xc7, 0xfd, 0x47, 0xc5, 0x86, 0xae, 0x38, 0x80, 0xfb, - 0x1e, 0x83, 0x1a, 0x3d, 0x50, 0x6d, 0x9c, 0x96, 0xa4, 0xa8, 0xa6, 0x35, 0x50, 0x89, 0x47, 0xa8, - 0xb7, 0x56, 0x01, 0xc5, 0x44, 0xed, 0x6d, 0xe0, 0x26, 0xa6, 0x93, 0x3f, 0xe8, 0xd5, 0xb4, 0x7d, - 0x4d, 0xc5, 0xbf, 0x7d, 0x75, 0x89, 0xf5, 0x7d, 0x8d, 0xf6, 0xa6, 0xe1, 0xe9, 0x78, 0x74, 0xc1, - 0xde, 0x02, 0x65, 0x95, 0x5a, 0x3a, 0xf0, 0x64, 0x3c, 0xd2, 0x36, 0x3b, 0xa1, 0x01, 0x8a, 0x4d, - 0x55, 0xd8, 0x5e, 0x8d, 0x01, 0x13, 0xb8, 0x59, 0x7a, 0xce, 0xed, 0xd2, 0x73, 0x7e, 0x2e, 0x3d, - 0xe7, 0xdb, 0xca, 0xeb, 0xdc, 0xae, 0xbc, 0xce, 0xf7, 0x95, 0xd7, 0xf9, 0xfc, 0xbe, 0xb5, 0xae, - 0xb3, 0xe6, 0x3a, 0xce, 0x49, 0x2c, 0x82, 0xf5, 0xad, 0x1c, 0x25, 0x8c, 0x43, 0x1b, 0xe6, 0xa4, - 0xa0, 0x41, 0xc5, 0xd2, 0x45, 0x09, 0xc2, 0x7e, 0x19, 0x7a, 0xaf, 0x71, 0x57, 0x5f, 0xfb, 0xab, - 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xa3, 0x6d, 0x63, 0x90, 0x39, 0x03, 0x00, 0x00, + // 490 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x53, 0xcf, 0x6f, 0xd3, 0x30, + 0x14, 0x6e, 0xf6, 0xa3, 0x68, 0xde, 0x60, 0xe0, 0x75, 0x28, 0x42, 0x22, 0x1d, 0xe5, 0x52, 0x0e, + 0x24, 0x5d, 0xb9, 0x21, 0x71, 0x58, 0x46, 0x25, 0x26, 0x26, 0x90, 0xa2, 0x69, 0x07, 0x2e, 0x91, + 0x93, 0x3c, 0x25, 0xa1, 0xb1, 0x5d, 0xd9, 0x6e, 0xa6, 0xfd, 0x01, 0xdc, 0xf9, 0xb3, 0x76, 0xdc, + 0x11, 0x21, 0x34, 0xa1, 0xf6, 0x1f, 0x41, 0xb6, 0x93, 0xaa, 0x30, 0x6e, 0xf9, 0xbe, 0xe7, 0xef, + 0x7d, 0x5f, 0x9e, 0x9f, 0x91, 0x57, 0xb2, 0xaf, 0x90, 0xaa, 0xb2, 0x86, 0x60, 0x06, 0x79, 0x7e, + 0x1d, 0xd4, 0xc7, 0x81, 0xba, 0x9e, 0x81, 0xf4, 0x67, 0x82, 0x2b, 0x8e, 0xf1, 0xaa, 0xee, 0x9b, + 0xba, 0x5f, 0x1f, 0x3f, 0xeb, 0xe5, 0x3c, 0xe7, 0xa6, 0x1c, 0xe8, 0x2f, 0x7b, 0x72, 0x10, 0xa1, + 0xfd, 0x50, 0x94, 0x59, 0x0e, 0x97, 0xa4, 0x2a, 0x33, 0xa2, 0xb8, 0xc0, 0x3d, 0xb4, 0x3d, 0xe3, + 0x57, 0x20, 0x5c, 0xe7, 0xc8, 0x19, 0x6e, 0x45, 0x16, 0xe0, 0x57, 0xe8, 0x31, 0xa8, 0x02, 0x04, + 0xcc, 0x69, 0x4c, 0xb2, 0x4c, 0x80, 0x94, 0xee, 0xc6, 0x91, 0x33, 0xdc, 0x89, 0xf6, 0x5b, 0xfe, + 0xc4, 0xd2, 0x83, 0x5f, 0x0e, 0xea, 0x5e, 0x92, 0x4a, 0x82, 0xd2, 0xbd, 0x18, 0x67, 0x29, 0xb4, + 0xbd, 0x0c, 0xc0, 0xef, 0xd0, 0x03, 0x0a, 0x34, 0x01, 0xa1, 0x5b, 0x6c, 0x0e, 0x77, 0xc7, 0x2f, + 0xfd, 0xfb, 0x81, 0xfd, 0x7f, 0x72, 0x45, 0xad, 0x06, 0x3f, 0x45, 0xdd, 0x02, 0xca, 0xbc, 0x50, + 0xee, 0xa6, 0xe9, 0xda, 0x20, 0x1c, 0xa2, 0x87, 0x02, 0xae, 0x88, 0xc8, 0x62, 0x42, 0xf9, 0x9c, + 0x29, 0x77, 0x4b, 0xe7, 0x0b, 0x9f, 0xdf, 0xdc, 0xf5, 0x3b, 0x3f, 0xef, 0xfa, 0x87, 0x29, 0x97, + 0x94, 0x4b, 0x99, 0x4d, 0xfd, 0x92, 0x07, 0x94, 0xa8, 0xc2, 0x3f, 0x63, 0x2a, 0xda, 0xb3, 0x9a, + 0x13, 0x23, 0xc1, 0x2f, 0x50, 0x83, 0x63, 0xc5, 0xa7, 0xc0, 0xdc, 0x6d, 0xf3, 0x8b, 0xbb, 0x96, + 0xbb, 0xd0, 0xd4, 0xe0, 0x9b, 0x83, 0xfa, 0xe7, 0x44, 0xaa, 0xcf, 0x89, 0x04, 0x51, 0x43, 0x36, + 0x69, 0x7e, 0x3f, 0xac, 0x78, 0x3a, 0xfd, 0x60, 0xa3, 0xf8, 0xe8, 0xc0, 0xba, 0xc5, 0x89, 0x66, + 0xe3, 0x26, 0xaf, 0x9d, 0xc2, 0x13, 0x5b, 0x5a, 0x3f, 0x3f, 0x46, 0x87, 0xab, 0xe9, 0xfe, 0xa5, + 0xd8, 0x30, 0x8a, 0x03, 0xb8, 0xef, 0x31, 0xa8, 0xd1, 0x23, 0x1d, 0xe3, 0xb4, 0x22, 0x25, 0x9d, + 0xd4, 0xc0, 0x14, 0x1e, 0xa1, 0xde, 0xaa, 0x0b, 0x68, 0x26, 0x5e, 0x1f, 0x3e, 0x6e, 0x6b, 0xe6, + 0xf0, 0x27, 0x73, 0x13, 0xeb, 0xbe, 0x56, 0xf1, 0x7f, 0x5f, 0x23, 0x69, 0x7c, 0xdf, 0xa2, 0xbd, + 0x49, 0x74, 0x3a, 0x1e, 0x5d, 0xf0, 0xf7, 0xc0, 0x38, 0xd5, 0x77, 0x0c, 0x22, 0x1d, 0x8f, 0x8c, + 0xcd, 0x4e, 0x64, 0x81, 0x66, 0x33, 0x5d, 0x6e, 0x96, 0xc4, 0x82, 0x10, 0x6e, 0x16, 0x9e, 0x73, + 0xbb, 0xf0, 0x9c, 0xdf, 0x0b, 0xcf, 0xf9, 0xbe, 0xf4, 0x3a, 0xb7, 0x4b, 0xaf, 0xf3, 0x63, 0xe9, + 0x75, 0xbe, 0x7c, 0xcc, 0x4b, 0x55, 0xcc, 0x13, 0x3f, 0xe5, 0x34, 0x38, 0x6b, 0x97, 0xe1, 0x9c, + 0x24, 0x32, 0x58, 0xad, 0xc6, 0xeb, 0x94, 0x0b, 0x58, 0x87, 0x05, 0x29, 0x59, 0x40, 0x79, 0x36, + 0xaf, 0x40, 0x36, 0x0f, 0xc1, 0xbc, 0x82, 0xa4, 0x6b, 0x96, 0xfb, 0xcd, 0x9f, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xb5, 0x74, 0x5d, 0x7b, 0x28, 0x03, 0x00, 0x00, } func (m *BridgeValidator) Marshal() (dAtA []byte, err error) { diff --git a/chain/permissions/types/codec.go b/chain/permissions/types/codec.go new file mode 100644 index 00000000..a5cc7fea --- /dev/null +++ b/chain/permissions/types/codec.go @@ -0,0 +1,49 @@ +package types + +import ( + "github.com/cosmos/cosmos-sdk/codec" + cdctypes "github.com/cosmos/cosmos-sdk/codec/types" + sdk "github.com/cosmos/cosmos-sdk/types" + authzcdc "github.com/cosmos/cosmos-sdk/x/authz/codec" + // this line is used by starport scaffolding # 1 + "github.com/cosmos/cosmos-sdk/types/msgservice" +) + +const ModuleName = "permissions" + +func RegisterCodec(cdc *codec.LegacyAmino) { + cdc.RegisterConcrete(&MsgUpdateParams{}, "permissions/MsgUpdateParams", nil) + cdc.RegisterConcrete(&MsgCreateNamespace{}, "permissions/MsgCreateNamespace", nil) + cdc.RegisterConcrete(&MsgDeleteNamespace{}, "permissions/MsgDeleteNamespace", nil) + cdc.RegisterConcrete(&MsgUpdateNamespace{}, "permissions/MsgUpdateNamespace", nil) + cdc.RegisterConcrete(&MsgUpdateNamespaceRoles{}, "permissions/MsgUpdateNamespaceRoles", nil) + cdc.RegisterConcrete(&MsgRevokeNamespaceRoles{}, "permissions/MsgRevokeNamespaceRoles", nil) + cdc.RegisterConcrete(&MsgClaimVoucher{}, "permissions/MsgClaimVoucher", nil) +} + +func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgUpdateParams{}, + &MsgCreateNamespace{}, + &MsgDeleteNamespace{}, + &MsgUpdateNamespace{}, + &MsgUpdateNamespaceRoles{}, + &MsgRevokeNamespaceRoles{}, + &MsgClaimVoucher{}, + ) + + msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) +} + +var ( + ModuleCdc = codec.NewLegacyAmino() +) + +func init() { + RegisterCodec(ModuleCdc) + // Register all Amino interfaces and concrete types on the authz Amino codec so that this can later be + // used to properly serialize MsgGrant and MsgExec instances + sdk.RegisterLegacyAminoCodec(ModuleCdc) + RegisterCodec(authzcdc.Amino) + ModuleCdc.Seal() +} diff --git a/chain/permissions/types/errors.go b/chain/permissions/types/errors.go new file mode 100644 index 00000000..2ad6e08d --- /dev/null +++ b/chain/permissions/types/errors.go @@ -0,0 +1,23 @@ +package types + +// DONTCOVER + +import ( + "cosmossdk.io/errors" +) + +// x/tokenfactory module sentinel errors +var ( + ErrDenomNamespaceExists = errors.Register(ModuleName, 2, "attempting to create a namespace for denom that already exists") + ErrUnauthorized = errors.Register(ModuleName, 3, "unauthorized account") + ErrInvalidGenesis = errors.Register(ModuleName, 4, "invalid genesis") + ErrInvalidNamespaceAdmin = errors.Register(ModuleName, 5, "invalid admin") + ErrInvalidPermission = errors.Register(ModuleName, 6, "invalid permissions") + ErrUnknownRole = errors.Register(ModuleName, 7, "unknown role") + ErrUnknownWasmHook = errors.Register(ModuleName, 8, "unknown contract address") + ErrRestrictedAction = errors.Register(ModuleName, 9, "restricted action") + ErrInvalidRole = errors.Register(ModuleName, 10, "invalid role") + ErrUnknownDenom = errors.Register(ModuleName, 11, "namespace for denom is not existing") + ErrWasmHookError = errors.Register(ModuleName, 12, "wasm hook query error") + ErrVoucherNotFound = errors.Register(ModuleName, 13, "voucher was not found") +) diff --git a/chain/permissions/types/events.pb.go b/chain/permissions/types/events.pb.go new file mode 100644 index 00000000..5073c605 --- /dev/null +++ b/chain/permissions/types/events.pb.go @@ -0,0 +1,45 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: injective/permissions/v1beta1/events.proto + +package types + +import ( + fmt "fmt" + _ "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/cosmos-sdk/x/bank/types" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" + math "math" +) + +// 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 + +func init() { + proto.RegisterFile("injective/permissions/v1beta1/events.proto", fileDescriptor_705c3e21b20426fa) +} + +var fileDescriptor_705c3e21b20426fa = []byte{ + // 202 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0xca, 0xcc, 0xcb, 0x4a, + 0x4d, 0x2e, 0xc9, 0x2c, 0x4b, 0xd5, 0x2f, 0x48, 0x2d, 0xca, 0xcd, 0x2c, 0x2e, 0xce, 0xcc, 0xcf, + 0x2b, 0xd6, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x4f, 0x2d, 0x4b, 0xcd, 0x2b, 0x29, + 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0x85, 0xab, 0xd5, 0x43, 0x52, 0xab, 0x07, 0x55, + 0x2b, 0x25, 0x92, 0x9e, 0x9f, 0x9e, 0x0f, 0x56, 0xa9, 0x0f, 0x62, 0x41, 0x34, 0x49, 0xc9, 0x25, + 0xe7, 0x17, 0xe7, 0xe6, 0x17, 0xeb, 0x27, 0x25, 0x16, 0xa7, 0xc2, 0x8d, 0x4d, 0xce, 0xcf, 0xcc, + 0xc3, 0x90, 0xcf, 0xcb, 0x86, 0xcb, 0x83, 0x38, 0x10, 0x79, 0xa7, 0xec, 0x13, 0x8f, 0xe4, 0x18, + 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, + 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x88, 0x0a, 0x4c, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, + 0xcf, 0xd5, 0xf7, 0x84, 0xb9, 0xcc, 0x27, 0x31, 0xa9, 0x58, 0x1f, 0xee, 0x4e, 0xdd, 0xe4, 0xfc, + 0xa2, 0x54, 0x64, 0x6e, 0x46, 0x62, 0x66, 0x9e, 0x7e, 0x6e, 0x7e, 0x4a, 0x69, 0x4e, 0x6a, 0x31, + 0x8a, 0x87, 0x4b, 0x2a, 0x0b, 0x52, 0x8b, 0x93, 0xd8, 0xc0, 0x76, 0x1a, 0x03, 0x02, 0x00, 0x00, + 0xff, 0xff, 0xf5, 0x22, 0x59, 0x7e, 0x16, 0x01, 0x00, 0x00, +} diff --git a/chain/permissions/types/expected_keepers.go b/chain/permissions/types/expected_keepers.go new file mode 100644 index 00000000..3fdbb230 --- /dev/null +++ b/chain/permissions/types/expected_keepers.go @@ -0,0 +1,26 @@ +package types + +import ( + "context" + + sdk "github.com/cosmos/cosmos-sdk/types" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + + tftypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types" +) + +type BankKeeper interface { + AppendSendRestriction(restriction banktypes.SendRestrictionFn) + PrependSendRestriction(restriction banktypes.SendRestrictionFn) + ClearSendRestriction() + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error +} + +type TokenFactoryKeeper interface { + GetAuthorityMetadata(ctx sdk.Context, denom string) (tftypes.DenomAuthorityMetadata, error) +} + +type WasmKeeper interface { + HasContractInfo(ctx context.Context, contractAddress sdk.AccAddress) bool + QuerySmart(ctx context.Context, contractAddr sdk.AccAddress, req []byte) ([]byte, error) +} diff --git a/chain/permissions/types/genesis.go b/chain/permissions/types/genesis.go new file mode 100644 index 00000000..4eff5bb7 --- /dev/null +++ b/chain/permissions/types/genesis.go @@ -0,0 +1,38 @@ +package types + +import ( + "cosmossdk.io/errors" +) + +// this line is used by starport scaffolding # genesis/types/import + +// DefaultIndex is the default capability global index +const DefaultIndex uint64 = 1 + +// DefaultGenesis returns the default Capability genesis state +func DefaultGenesis() *GenesisState { + return &GenesisState{ + Params: DefaultParams(), + Namespaces: []Namespace{}, + } +} + +// Validate performs basic genesis state validation returning an error upon any +// failure. +func (gs GenesisState) Validate() error { + err := gs.Params.Validate() + if err != nil { + return err + } + + seenDenoms := map[string]struct{}{} + + for _, ns := range gs.GetNamespaces() { + if _, ok := seenDenoms[ns.GetDenom()]; ok { + return errors.Wrapf(ErrInvalidGenesis, "duplicate denom: %s", ns.GetDenom()) + } + seenDenoms[ns.GetDenom()] = struct{}{} + } + + return nil +} diff --git a/chain/permissions/types/genesis.pb.go b/chain/permissions/types/genesis.pb.go new file mode 100644 index 00000000..f4b7b7d6 --- /dev/null +++ b/chain/permissions/types/genesis.pb.go @@ -0,0 +1,390 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: injective/permissions/v1beta1/genesis.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 + +// GenesisState defines the permissions module's genesis state. +type GenesisState struct { + // params defines the parameters of the module. + Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` + Namespaces []Namespace `protobuf:"bytes,2,rep,name=namespaces,proto3" json:"namespaces"` +} + +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_5ff1982ce1793022, []int{0} +} +func (m *GenesisState) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *GenesisState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_GenesisState.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 *GenesisState) XXX_Merge(src proto.Message) { + xxx_messageInfo_GenesisState.Merge(m, src) +} +func (m *GenesisState) XXX_Size() int { + return m.Size() +} +func (m *GenesisState) XXX_DiscardUnknown() { + xxx_messageInfo_GenesisState.DiscardUnknown(m) +} + +var xxx_messageInfo_GenesisState proto.InternalMessageInfo + +func (m *GenesisState) GetParams() Params { + if m != nil { + return m.Params + } + return Params{} +} + +func (m *GenesisState) GetNamespaces() []Namespace { + if m != nil { + return m.Namespaces + } + return nil +} + +func init() { + proto.RegisterType((*GenesisState)(nil), "injective.permissions.v1beta1.GenesisState") +} + +func init() { + proto.RegisterFile("injective/permissions/v1beta1/genesis.proto", fileDescriptor_5ff1982ce1793022) +} + +var fileDescriptor_5ff1982ce1793022 = []byte{ + // 270 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0xce, 0xcc, 0xcb, 0x4a, + 0x4d, 0x2e, 0xc9, 0x2c, 0x4b, 0xd5, 0x2f, 0x48, 0x2d, 0xca, 0xcd, 0x2c, 0x2e, 0xce, 0xcc, 0xcf, + 0x2b, 0xd6, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x4f, 0x4f, 0xcd, 0x4b, 0x2d, 0xce, + 0x2c, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0x85, 0x2b, 0xd6, 0x43, 0x52, 0xac, 0x07, + 0x55, 0x2c, 0x25, 0x92, 0x9e, 0x9f, 0x9e, 0x0f, 0x56, 0xa9, 0x0f, 0x62, 0x41, 0x34, 0x49, 0x69, + 0xe1, 0xb7, 0xa1, 0x20, 0xb1, 0x28, 0x31, 0x17, 0x6a, 0x81, 0x94, 0x3e, 0x01, 0xb5, 0x48, 0x96, + 0x82, 0x35, 0x28, 0x2d, 0x66, 0xe4, 0xe2, 0x71, 0x87, 0xb8, 0x31, 0xb8, 0x24, 0xb1, 0x24, 0x55, + 0xc8, 0x99, 0x8b, 0x0d, 0x62, 0xa2, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0xb7, 0x91, 0xaa, 0x1e, 0x5e, + 0x37, 0xeb, 0x05, 0x80, 0x15, 0x3b, 0xb1, 0x9c, 0xb8, 0x27, 0xcf, 0x10, 0x04, 0xd5, 0x2a, 0xe4, + 0xc7, 0xc5, 0x95, 0x97, 0x98, 0x9b, 0x5a, 0x5c, 0x90, 0x98, 0x9c, 0x5a, 0x2c, 0xc1, 0xa4, 0xc0, + 0xac, 0xc1, 0x6d, 0xa4, 0x41, 0xc0, 0x20, 0x3f, 0x98, 0x06, 0xa8, 0x59, 0x48, 0x26, 0x38, 0x65, + 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, 0x54, 0x60, 0x7a, 0x66, 0x49, 0x46, + 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0xbe, 0x27, 0xcc, 0x7c, 0x9f, 0xc4, 0xa4, 0x62, 0x44, 0x48, + 0xe8, 0x26, 0xe7, 0x17, 0xa5, 0x22, 0x73, 0x33, 0x12, 0x33, 0xf3, 0xf4, 0x73, 0xf3, 0x53, 0x4a, + 0x73, 0x52, 0x8b, 0x51, 0x82, 0xa9, 0xa4, 0xb2, 0x20, 0xb5, 0x38, 0x89, 0x0d, 0x1c, 0x32, 0xc6, + 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb9, 0x0c, 0xe9, 0xc0, 0xda, 0x01, 0x00, 0x00, +} + +func (m *GenesisState) 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 *GenesisState) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Namespaces) > 0 { + for iNdEx := len(m.Namespaces) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Namespaces[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func encodeVarintGenesis(dAtA []byte, offset int, v uint64) int { + offset -= sovGenesis(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *GenesisState) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Params.Size() + n += 1 + l + sovGenesis(uint64(l)) + if len(m.Namespaces) > 0 { + for _, e := range m.Namespaces { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + return n +} + +func sovGenesis(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozGenesis(x uint64) (n int) { + return sovGenesis(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *GenesisState) 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: GenesisState: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GenesisState: 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 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.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Namespaces", 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 + } + m.Namespaces = append(m.Namespaces, Namespace{}) + if err := m.Namespaces[len(m.Namespaces)-1].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 skipGenesis(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, ErrIntOverflowGenesis + } + 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, ErrIntOverflowGenesis + } + 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, ErrIntOverflowGenesis + } + 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, ErrInvalidLengthGenesis + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupGenesis + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthGenesis + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthGenesis = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGenesis = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupGenesis = fmt.Errorf("proto: unexpected end of group") +) diff --git a/chain/permissions/types/params.go b/chain/permissions/types/params.go new file mode 100644 index 00000000..c8ff643e --- /dev/null +++ b/chain/permissions/types/params.go @@ -0,0 +1,33 @@ +package types + +import ( + paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" +) + +// ParamTable +func ParamKeyTable() paramtypes.KeyTable { + return paramtypes.NewKeyTable().RegisterParamSet(&Params{}) +} + +func NewParams(wasmHookQueryMaxGas uint64) Params { + return Params{ + WasmHookQueryMaxGas: wasmHookQueryMaxGas, + } +} + +// default module parameters. +func DefaultParams() Params { + return Params{ + WasmHookQueryMaxGas: 200_000, + } +} + +// validate params. +func (p Params) Validate() error { + return nil +} + +// Implements params.ParamSet. +func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { + return paramtypes.ParamSetPairs{} +} diff --git a/chain/permissions/types/params.pb.go b/chain/permissions/types/params.pb.go new file mode 100644 index 00000000..291c992a --- /dev/null +++ b/chain/permissions/types/params.pb.go @@ -0,0 +1,337 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: injective/permissions/v1beta1/params.proto + +package types + +import ( + fmt "fmt" + _ "github.com/cosmos/cosmos-proto" + _ "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "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 + +// Params defines the parameters for the permissions module. +type Params struct { + WasmHookQueryMaxGas uint64 `protobuf:"varint,1,opt,name=wasm_hook_query_max_gas,json=wasmHookQueryMaxGas,proto3" json:"wasm_hook_query_max_gas,omitempty"` +} + +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_4a7ea0496163621f, []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) GetWasmHookQueryMaxGas() uint64 { + if m != nil { + return m.WasmHookQueryMaxGas + } + return 0 +} + +func init() { + proto.RegisterType((*Params)(nil), "injective.permissions.v1beta1.Params") +} + +func init() { + proto.RegisterFile("injective/permissions/v1beta1/params.proto", fileDescriptor_4a7ea0496163621f) +} + +var fileDescriptor_4a7ea0496163621f = []byte{ + // 287 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0x31, 0x4e, 0xc3, 0x30, + 0x14, 0x86, 0x6b, 0x09, 0x75, 0xc8, 0x46, 0x40, 0x02, 0x8a, 0x30, 0x88, 0x09, 0x55, 0x22, 0x56, + 0x05, 0x13, 0x23, 0x0b, 0x20, 0x81, 0x44, 0x19, 0x61, 0x88, 0x5e, 0x82, 0x95, 0x98, 0xe0, 0xbc, + 0x90, 0xe7, 0x94, 0xf6, 0x0a, 0x4c, 0x1c, 0x81, 0x23, 0x70, 0x0c, 0xc6, 0x8e, 0x8c, 0x28, 0x19, + 0xe0, 0x18, 0x28, 0x71, 0x88, 0xc2, 0x62, 0xf9, 0xf7, 0xf7, 0xdb, 0x7e, 0xff, 0xef, 0x8c, 0x55, + 0xfa, 0x20, 0x43, 0xa3, 0x66, 0x52, 0x64, 0x32, 0xd7, 0x8a, 0x48, 0x61, 0x4a, 0x62, 0x36, 0x09, + 0xa4, 0x81, 0x89, 0xc8, 0x20, 0x07, 0x4d, 0x5e, 0x96, 0xa3, 0x41, 0x77, 0xa7, 0xf3, 0x7a, 0x3d, + 0xaf, 0xd7, 0x7a, 0x47, 0xeb, 0x11, 0x46, 0xd8, 0x38, 0x45, 0xbd, 0xb3, 0x97, 0x46, 0x5b, 0x21, + 0x92, 0x46, 0xf2, 0x2d, 0xb0, 0xa2, 0x45, 0xdc, 0x2a, 0x11, 0x00, 0xc9, 0xee, 0xc7, 0x10, 0x55, + 0xda, 0xf2, 0x55, 0xd0, 0x2a, 0x45, 0xd1, 0xac, 0xf6, 0x68, 0xff, 0xce, 0x19, 0x5e, 0x37, 0x23, + 0xb9, 0xc7, 0xce, 0xc6, 0x33, 0x90, 0xf6, 0x63, 0xc4, 0xc4, 0x7f, 0x2a, 0x64, 0xbe, 0xf0, 0x35, + 0xcc, 0xfd, 0x08, 0x68, 0x93, 0xed, 0xb1, 0x83, 0x95, 0x9b, 0xb5, 0x1a, 0x9f, 0x23, 0x26, 0xd3, + 0x1a, 0x5e, 0xc1, 0xfc, 0x0c, 0xe8, 0x64, 0xfb, 0xe7, 0x6d, 0x97, 0xbd, 0x7c, 0xbf, 0x8f, 0xdd, + 0x7e, 0x5a, 0xfb, 0xe4, 0x69, 0xf2, 0x51, 0x72, 0xb6, 0x2c, 0x39, 0xfb, 0x2a, 0x39, 0x7b, 0xad, + 0xf8, 0x60, 0x59, 0xf1, 0xc1, 0x67, 0xc5, 0x07, 0xb7, 0xd3, 0x48, 0x99, 0xb8, 0x08, 0xbc, 0x10, + 0xb5, 0xb8, 0xf8, 0x2b, 0xe1, 0x12, 0x02, 0x12, 0x5d, 0x25, 0x87, 0x21, 0xe6, 0xb2, 0x2f, 0x63, + 0x50, 0xa9, 0xd0, 0x78, 0x5f, 0x3c, 0x4a, 0xfa, 0xd7, 0xad, 0x59, 0x64, 0x92, 0x82, 0x61, 0x13, + 0xe8, 0xe8, 0x37, 0x00, 0x00, 0xff, 0xff, 0xc7, 0x42, 0x3f, 0x45, 0x81, 0x01, 0x00, 0x00, +} + +func (this *Params) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Params) + if !ok { + that2, ok := that.(Params) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.WasmHookQueryMaxGas != that1.WasmHookQueryMaxGas { + return false + } + return true +} +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 m.WasmHookQueryMaxGas != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.WasmHookQueryMaxGas)) + i-- + dAtA[i] = 0x8 + } + 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 + if m.WasmHookQueryMaxGas != 0 { + n += 1 + sovParams(uint64(m.WasmHookQueryMaxGas)) + } + 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 != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field WasmHookQueryMaxGas", wireType) + } + m.WasmHookQueryMaxGas = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.WasmHookQueryMaxGas |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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/permissions/types/permissions.pb.go b/chain/permissions/types/permissions.pb.go new file mode 100644 index 00000000..8dac3cbb --- /dev/null +++ b/chain/permissions/types/permissions.pb.go @@ -0,0 +1,1748 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: injective/permissions/v1beta1/permissions.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 + +// each Action enum value should be a power of two +type Action int32 + +const ( + Action_UNSPECIFIED Action = 0 + Action_MINT Action = 1 + Action_RECEIVE Action = 2 + Action_BURN Action = 4 +) + +var Action_name = map[int32]string{ + 0: "UNSPECIFIED", + 1: "MINT", + 2: "RECEIVE", + 4: "BURN", +} + +var Action_value = map[string]int32{ + "UNSPECIFIED": 0, + "MINT": 1, + "RECEIVE": 2, + "BURN": 4, +} + +func (x Action) String() string { + return proto.EnumName(Action_name, int32(x)) +} + +func (Action) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_6d25f3ecf3806c6c, []int{0} +} + +// Namespace defines a permissions namespace +type Namespace struct { + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + WasmHook string `protobuf:"bytes,2,opt,name=wasm_hook,json=wasmHook,proto3" json:"wasm_hook,omitempty"` + MintsPaused bool `protobuf:"varint,3,opt,name=mints_paused,json=mintsPaused,proto3" json:"mints_paused,omitempty"` + SendsPaused bool `protobuf:"varint,4,opt,name=sends_paused,json=sendsPaused,proto3" json:"sends_paused,omitempty"` + BurnsPaused bool `protobuf:"varint,5,opt,name=burns_paused,json=burnsPaused,proto3" json:"burns_paused,omitempty"` + RolePermissions []*Role `protobuf:"bytes,6,rep,name=role_permissions,json=rolePermissions,proto3" json:"role_permissions,omitempty"` + AddressRoles []*AddressRoles `protobuf:"bytes,7,rep,name=address_roles,json=addressRoles,proto3" json:"address_roles,omitempty"` +} + +func (m *Namespace) Reset() { *m = Namespace{} } +func (m *Namespace) String() string { return proto.CompactTextString(m) } +func (*Namespace) ProtoMessage() {} +func (*Namespace) Descriptor() ([]byte, []int) { + return fileDescriptor_6d25f3ecf3806c6c, []int{0} +} +func (m *Namespace) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Namespace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Namespace.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 *Namespace) XXX_Merge(src proto.Message) { + xxx_messageInfo_Namespace.Merge(m, src) +} +func (m *Namespace) XXX_Size() int { + return m.Size() +} +func (m *Namespace) XXX_DiscardUnknown() { + xxx_messageInfo_Namespace.DiscardUnknown(m) +} + +var xxx_messageInfo_Namespace proto.InternalMessageInfo + +func (m *Namespace) GetDenom() string { + if m != nil { + return m.Denom + } + return "" +} + +func (m *Namespace) GetWasmHook() string { + if m != nil { + return m.WasmHook + } + return "" +} + +func (m *Namespace) GetMintsPaused() bool { + if m != nil { + return m.MintsPaused + } + return false +} + +func (m *Namespace) GetSendsPaused() bool { + if m != nil { + return m.SendsPaused + } + return false +} + +func (m *Namespace) GetBurnsPaused() bool { + if m != nil { + return m.BurnsPaused + } + return false +} + +func (m *Namespace) GetRolePermissions() []*Role { + if m != nil { + return m.RolePermissions + } + return nil +} + +func (m *Namespace) GetAddressRoles() []*AddressRoles { + if m != nil { + return m.AddressRoles + } + return nil +} + +type AddressRoles struct { + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` +} + +func (m *AddressRoles) Reset() { *m = AddressRoles{} } +func (m *AddressRoles) String() string { return proto.CompactTextString(m) } +func (*AddressRoles) ProtoMessage() {} +func (*AddressRoles) Descriptor() ([]byte, []int) { + return fileDescriptor_6d25f3ecf3806c6c, []int{1} +} +func (m *AddressRoles) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AddressRoles) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AddressRoles.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 *AddressRoles) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddressRoles.Merge(m, src) +} +func (m *AddressRoles) XXX_Size() int { + return m.Size() +} +func (m *AddressRoles) XXX_DiscardUnknown() { + xxx_messageInfo_AddressRoles.DiscardUnknown(m) +} + +var xxx_messageInfo_AddressRoles proto.InternalMessageInfo + +func (m *AddressRoles) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + +func (m *AddressRoles) GetRoles() []string { + if m != nil { + return m.Roles + } + return nil +} + +// Role is only used for storage +type Role struct { + Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` + Permissions uint32 `protobuf:"varint,2,opt,name=permissions,proto3" json:"permissions,omitempty"` +} + +func (m *Role) Reset() { *m = Role{} } +func (m *Role) String() string { return proto.CompactTextString(m) } +func (*Role) ProtoMessage() {} +func (*Role) Descriptor() ([]byte, []int) { + return fileDescriptor_6d25f3ecf3806c6c, []int{2} +} +func (m *Role) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Role) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Role.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 *Role) XXX_Merge(src proto.Message) { + xxx_messageInfo_Role.Merge(m, src) +} +func (m *Role) XXX_Size() int { + return m.Size() +} +func (m *Role) XXX_DiscardUnknown() { + xxx_messageInfo_Role.DiscardUnknown(m) +} + +var xxx_messageInfo_Role proto.InternalMessageInfo + +func (m *Role) GetRole() string { + if m != nil { + return m.Role + } + return "" +} + +func (m *Role) GetPermissions() uint32 { + if m != nil { + return m.Permissions + } + return 0 +} + +// used in storage +type RoleIDs struct { + RoleIds []uint32 `protobuf:"varint,1,rep,packed,name=role_ids,json=roleIds,proto3" json:"role_ids,omitempty"` +} + +func (m *RoleIDs) Reset() { *m = RoleIDs{} } +func (m *RoleIDs) String() string { return proto.CompactTextString(m) } +func (*RoleIDs) ProtoMessage() {} +func (*RoleIDs) Descriptor() ([]byte, []int) { + return fileDescriptor_6d25f3ecf3806c6c, []int{3} +} +func (m *RoleIDs) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RoleIDs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RoleIDs.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 *RoleIDs) XXX_Merge(src proto.Message) { + xxx_messageInfo_RoleIDs.Merge(m, src) +} +func (m *RoleIDs) XXX_Size() int { + return m.Size() +} +func (m *RoleIDs) XXX_DiscardUnknown() { + xxx_messageInfo_RoleIDs.DiscardUnknown(m) +} + +var xxx_messageInfo_RoleIDs proto.InternalMessageInfo + +func (m *RoleIDs) GetRoleIds() []uint32 { + if m != nil { + return m.RoleIds + } + return nil +} + +type Voucher struct { + Coins github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,1,rep,name=coins,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"coins"` +} + +func (m *Voucher) Reset() { *m = Voucher{} } +func (m *Voucher) String() string { return proto.CompactTextString(m) } +func (*Voucher) ProtoMessage() {} +func (*Voucher) Descriptor() ([]byte, []int) { + return fileDescriptor_6d25f3ecf3806c6c, []int{4} +} +func (m *Voucher) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Voucher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Voucher.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 *Voucher) XXX_Merge(src proto.Message) { + xxx_messageInfo_Voucher.Merge(m, src) +} +func (m *Voucher) XXX_Size() int { + return m.Size() +} +func (m *Voucher) XXX_DiscardUnknown() { + xxx_messageInfo_Voucher.DiscardUnknown(m) +} + +var xxx_messageInfo_Voucher proto.InternalMessageInfo + +func (m *Voucher) GetCoins() github_com_cosmos_cosmos_sdk_types.Coins { + if m != nil { + return m.Coins + } + return nil +} + +type AddressVoucher struct { + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Voucher *Voucher `protobuf:"bytes,2,opt,name=voucher,proto3" json:"voucher,omitempty"` +} + +func (m *AddressVoucher) Reset() { *m = AddressVoucher{} } +func (m *AddressVoucher) String() string { return proto.CompactTextString(m) } +func (*AddressVoucher) ProtoMessage() {} +func (*AddressVoucher) Descriptor() ([]byte, []int) { + return fileDescriptor_6d25f3ecf3806c6c, []int{5} +} +func (m *AddressVoucher) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AddressVoucher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AddressVoucher.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 *AddressVoucher) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddressVoucher.Merge(m, src) +} +func (m *AddressVoucher) XXX_Size() int { + return m.Size() +} +func (m *AddressVoucher) XXX_DiscardUnknown() { + xxx_messageInfo_AddressVoucher.DiscardUnknown(m) +} + +var xxx_messageInfo_AddressVoucher proto.InternalMessageInfo + +func (m *AddressVoucher) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + +func (m *AddressVoucher) GetVoucher() *Voucher { + if m != nil { + return m.Voucher + } + return nil +} + +func init() { + proto.RegisterEnum("injective.permissions.v1beta1.Action", Action_name, Action_value) + proto.RegisterType((*Namespace)(nil), "injective.permissions.v1beta1.Namespace") + proto.RegisterType((*AddressRoles)(nil), "injective.permissions.v1beta1.AddressRoles") + proto.RegisterType((*Role)(nil), "injective.permissions.v1beta1.Role") + proto.RegisterType((*RoleIDs)(nil), "injective.permissions.v1beta1.RoleIDs") + proto.RegisterType((*Voucher)(nil), "injective.permissions.v1beta1.Voucher") + proto.RegisterType((*AddressVoucher)(nil), "injective.permissions.v1beta1.AddressVoucher") +} + +func init() { + proto.RegisterFile("injective/permissions/v1beta1/permissions.proto", fileDescriptor_6d25f3ecf3806c6c) +} + +var fileDescriptor_6d25f3ecf3806c6c = []byte{ + // 567 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x53, 0x4d, 0x8f, 0xd2, 0x4e, + 0x18, 0xa7, 0xbc, 0x15, 0xa6, 0xf0, 0x5f, 0x32, 0xd9, 0x43, 0x77, 0xff, 0xb1, 0x8b, 0xd5, 0x18, + 0xa2, 0xd9, 0xd6, 0xc5, 0x9b, 0x31, 0xc6, 0x85, 0xc5, 0xd8, 0x44, 0x09, 0x56, 0x77, 0x0f, 0x5e, + 0x48, 0x5f, 0x26, 0x30, 0x42, 0x3b, 0xa4, 0x4f, 0xc1, 0xf8, 0x2d, 0xfc, 0x1c, 0x7e, 0x92, 0xf5, + 0xb6, 0x47, 0x4f, 0x6a, 0xe0, 0x8b, 0x98, 0x99, 0x29, 0x50, 0x0f, 0xba, 0x27, 0xfa, 0xfc, 0x5e, + 0x9e, 0xe1, 0xf9, 0xcd, 0x33, 0xc8, 0xa6, 0xf1, 0x47, 0x12, 0xa4, 0x74, 0x45, 0xec, 0x05, 0x49, + 0x22, 0x0a, 0x40, 0x59, 0x0c, 0xf6, 0xea, 0xcc, 0x27, 0xa9, 0x77, 0x96, 0xc7, 0xac, 0x45, 0xc2, + 0x52, 0x86, 0xef, 0xec, 0x0c, 0x56, 0x9e, 0xcc, 0x0c, 0xc7, 0x87, 0x13, 0x36, 0x61, 0x42, 0x69, + 0xf3, 0x2f, 0x69, 0x3a, 0x36, 0x02, 0x06, 0x11, 0x03, 0xdb, 0xf7, 0x80, 0xec, 0x7a, 0x07, 0x8c, + 0xc6, 0x92, 0x37, 0xbf, 0x15, 0x51, 0x7d, 0xe8, 0x45, 0x04, 0x16, 0x5e, 0x40, 0xf0, 0x21, 0xaa, + 0x84, 0x24, 0x66, 0x91, 0xae, 0xb4, 0x95, 0x4e, 0xdd, 0x95, 0x05, 0xfe, 0x1f, 0xd5, 0x3f, 0x79, + 0x10, 0x8d, 0xa7, 0x8c, 0xcd, 0xf4, 0xa2, 0x60, 0x6a, 0x1c, 0x78, 0xc5, 0xd8, 0x0c, 0xdf, 0x45, + 0x8d, 0x88, 0xc6, 0x29, 0x8c, 0x17, 0xde, 0x12, 0x48, 0xa8, 0x97, 0xda, 0x4a, 0xa7, 0xe6, 0x6a, + 0x02, 0x1b, 0x09, 0x88, 0x4b, 0x80, 0xc4, 0xe1, 0x4e, 0x52, 0x96, 0x12, 0x81, 0xed, 0x25, 0xfe, + 0x32, 0x89, 0x77, 0x92, 0x8a, 0x94, 0x08, 0x2c, 0x93, 0x0c, 0x51, 0x2b, 0x61, 0x73, 0x32, 0xce, + 0xcd, 0xae, 0x57, 0xdb, 0xa5, 0x8e, 0xd6, 0xbd, 0x67, 0xfd, 0x33, 0x19, 0xcb, 0x65, 0x73, 0xe2, + 0x1e, 0x70, 0xf3, 0x68, 0xcf, 0xe2, 0x11, 0x6a, 0x7a, 0x61, 0x98, 0x10, 0x80, 0x31, 0xa7, 0x40, + 0x57, 0x45, 0xb3, 0x47, 0xb7, 0x34, 0x3b, 0x97, 0x1e, 0xde, 0x13, 0xdc, 0x86, 0x97, 0xab, 0xcc, + 0xe7, 0xa8, 0x91, 0x67, 0xb1, 0x8e, 0xd4, 0x8c, 0xcf, 0xf2, 0xdc, 0x96, 0x3c, 0x67, 0x79, 0x66, + 0xb1, 0x5d, 0xe2, 0x39, 0x8b, 0xc2, 0x7c, 0x86, 0xca, 0xdc, 0x88, 0x31, 0x2a, 0x73, 0x20, 0x33, + 0x89, 0x6f, 0xdc, 0x46, 0x5a, 0x7e, 0x70, 0x7e, 0x0b, 0x4d, 0x37, 0x0f, 0x99, 0xf7, 0x91, 0xca, + 0xdd, 0xce, 0x05, 0xe0, 0x23, 0x54, 0x13, 0x51, 0xd1, 0x90, 0x9f, 0x5c, 0xea, 0x34, 0x5d, 0x95, + 0xd7, 0x4e, 0x08, 0xe6, 0x1c, 0xa9, 0x57, 0x6c, 0x19, 0x4c, 0x49, 0x82, 0x3d, 0x54, 0xe1, 0x8b, + 0x20, 0x25, 0x5a, 0xf7, 0xc8, 0x92, 0xab, 0x62, 0xf1, 0x55, 0xd9, 0x8d, 0xdb, 0x67, 0x34, 0xee, + 0x3d, 0xbe, 0xfe, 0x71, 0x52, 0xf8, 0xfa, 0xf3, 0xa4, 0x33, 0xa1, 0xe9, 0x74, 0xe9, 0x5b, 0x01, + 0x8b, 0xec, 0x6c, 0xaf, 0xe4, 0xcf, 0x29, 0x84, 0x33, 0x3b, 0xfd, 0xbc, 0x20, 0x20, 0x0c, 0xe0, + 0xca, 0xce, 0xe6, 0x1c, 0xfd, 0x97, 0x25, 0xb2, 0x3d, 0xf4, 0xef, 0x99, 0xbc, 0x40, 0xea, 0x4a, + 0x8a, 0xc4, 0x74, 0x5a, 0xf7, 0xc1, 0x2d, 0x37, 0x91, 0xb5, 0x74, 0xb7, 0xb6, 0x87, 0x4f, 0x51, + 0xf5, 0x3c, 0x48, 0x29, 0x8b, 0xf1, 0x01, 0xd2, 0x2e, 0x87, 0xef, 0x46, 0x83, 0xbe, 0xf3, 0xd2, + 0x19, 0x5c, 0xb4, 0x0a, 0xb8, 0x86, 0xca, 0x6f, 0x9c, 0xe1, 0xfb, 0x96, 0x82, 0x35, 0xa4, 0xba, + 0x83, 0xfe, 0xc0, 0xb9, 0x1a, 0xb4, 0x8a, 0x1c, 0xee, 0x5d, 0xba, 0xc3, 0x56, 0xb9, 0x37, 0xbb, + 0x5e, 0x1b, 0xca, 0xcd, 0xda, 0x50, 0x7e, 0xad, 0x0d, 0xe5, 0xcb, 0xc6, 0x28, 0xdc, 0x6c, 0x8c, + 0xc2, 0xf7, 0x8d, 0x51, 0xf8, 0xf0, 0x36, 0x37, 0xb4, 0xb3, 0xfd, 0x43, 0xaf, 0x3d, 0x1f, 0xf6, + 0x0f, 0xf8, 0x34, 0x60, 0x09, 0xc9, 0x97, 0x53, 0x8f, 0xc6, 0x76, 0xc4, 0xc2, 0xe5, 0x9c, 0xc0, + 0x1f, 0xaf, 0x5b, 0x64, 0xe4, 0x57, 0xc5, 0xdb, 0x7b, 0xf2, 0x3b, 0x00, 0x00, 0xff, 0xff, 0xf3, + 0xf2, 0xce, 0xa8, 0x03, 0x04, 0x00, 0x00, +} + +func (m *Namespace) 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 *Namespace) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Namespace) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.AddressRoles) > 0 { + for iNdEx := len(m.AddressRoles) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.AddressRoles[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPermissions(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x3a + } + } + if len(m.RolePermissions) > 0 { + for iNdEx := len(m.RolePermissions) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.RolePermissions[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPermissions(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + } + } + if m.BurnsPaused { + i-- + if m.BurnsPaused { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if m.SendsPaused { + i-- + if m.SendsPaused { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.MintsPaused { + i-- + if m.MintsPaused { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if len(m.WasmHook) > 0 { + i -= len(m.WasmHook) + copy(dAtA[i:], m.WasmHook) + i = encodeVarintPermissions(dAtA, i, uint64(len(m.WasmHook))) + i-- + dAtA[i] = 0x12 + } + if len(m.Denom) > 0 { + i -= len(m.Denom) + copy(dAtA[i:], m.Denom) + i = encodeVarintPermissions(dAtA, i, uint64(len(m.Denom))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *AddressRoles) 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 *AddressRoles) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *AddressRoles) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Roles) > 0 { + for iNdEx := len(m.Roles) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Roles[iNdEx]) + copy(dAtA[i:], m.Roles[iNdEx]) + i = encodeVarintPermissions(dAtA, i, uint64(len(m.Roles[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + if len(m.Address) > 0 { + i -= len(m.Address) + copy(dAtA[i:], m.Address) + i = encodeVarintPermissions(dAtA, i, uint64(len(m.Address))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *Role) 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 *Role) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Role) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Permissions != 0 { + i = encodeVarintPermissions(dAtA, i, uint64(m.Permissions)) + i-- + dAtA[i] = 0x10 + } + if len(m.Role) > 0 { + i -= len(m.Role) + copy(dAtA[i:], m.Role) + i = encodeVarintPermissions(dAtA, i, uint64(len(m.Role))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *RoleIDs) 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 *RoleIDs) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RoleIDs) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.RoleIds) > 0 { + dAtA2 := make([]byte, len(m.RoleIds)*10) + var j1 int + for _, num := range m.RoleIds { + 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 = encodeVarintPermissions(dAtA, i, uint64(j1)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *Voucher) 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 *Voucher) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Voucher) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Coins) > 0 { + for iNdEx := len(m.Coins) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Coins[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPermissions(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *AddressVoucher) 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 *AddressVoucher) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *AddressVoucher) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Voucher != nil { + { + size, err := m.Voucher.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPermissions(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Address) > 0 { + i -= len(m.Address) + copy(dAtA[i:], m.Address) + i = encodeVarintPermissions(dAtA, i, uint64(len(m.Address))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintPermissions(dAtA []byte, offset int, v uint64) int { + offset -= sovPermissions(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *Namespace) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Denom) + if l > 0 { + n += 1 + l + sovPermissions(uint64(l)) + } + l = len(m.WasmHook) + if l > 0 { + n += 1 + l + sovPermissions(uint64(l)) + } + if m.MintsPaused { + n += 2 + } + if m.SendsPaused { + n += 2 + } + if m.BurnsPaused { + n += 2 + } + if len(m.RolePermissions) > 0 { + for _, e := range m.RolePermissions { + l = e.Size() + n += 1 + l + sovPermissions(uint64(l)) + } + } + if len(m.AddressRoles) > 0 { + for _, e := range m.AddressRoles { + l = e.Size() + n += 1 + l + sovPermissions(uint64(l)) + } + } + return n +} + +func (m *AddressRoles) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Address) + if l > 0 { + n += 1 + l + sovPermissions(uint64(l)) + } + if len(m.Roles) > 0 { + for _, s := range m.Roles { + l = len(s) + n += 1 + l + sovPermissions(uint64(l)) + } + } + return n +} + +func (m *Role) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Role) + if l > 0 { + n += 1 + l + sovPermissions(uint64(l)) + } + if m.Permissions != 0 { + n += 1 + sovPermissions(uint64(m.Permissions)) + } + return n +} + +func (m *RoleIDs) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.RoleIds) > 0 { + l = 0 + for _, e := range m.RoleIds { + l += sovPermissions(uint64(e)) + } + n += 1 + sovPermissions(uint64(l)) + l + } + return n +} + +func (m *Voucher) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Coins) > 0 { + for _, e := range m.Coins { + l = e.Size() + n += 1 + l + sovPermissions(uint64(l)) + } + } + return n +} + +func (m *AddressVoucher) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Address) + if l > 0 { + n += 1 + l + sovPermissions(uint64(l)) + } + if m.Voucher != nil { + l = m.Voucher.Size() + n += 1 + l + sovPermissions(uint64(l)) + } + return n +} + +func sovPermissions(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozPermissions(x uint64) (n int) { + return sovPermissions(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *Namespace) 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 ErrIntOverflowPermissions + } + 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: Namespace: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Namespace: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + 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 ErrInvalidLengthPermissions + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Denom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WasmHook", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + 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 ErrInvalidLengthPermissions + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.WasmHook = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MintsPaused", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.MintsPaused = bool(v != 0) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SendsPaused", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SendsPaused = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BurnsPaused", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.BurnsPaused = bool(v != 0) + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RolePermissions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPermissions + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RolePermissions = append(m.RolePermissions, &Role{}) + if err := m.RolePermissions[len(m.RolePermissions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AddressRoles", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPermissions + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AddressRoles = append(m.AddressRoles, &AddressRoles{}) + if err := m.AddressRoles[len(m.AddressRoles)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipPermissions(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPermissions + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AddressRoles) 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 ErrIntOverflowPermissions + } + 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: AddressRoles: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AddressRoles: 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 ErrIntOverflowPermissions + } + 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 ErrInvalidLengthPermissions + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + 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 Roles", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + 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 ErrInvalidLengthPermissions + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Roles = append(m.Roles, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipPermissions(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPermissions + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Role) 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 ErrIntOverflowPermissions + } + 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: Role: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Role: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Role", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + 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 ErrInvalidLengthPermissions + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Role = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) + } + m.Permissions = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Permissions |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipPermissions(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPermissions + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RoleIDs) 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 ErrIntOverflowPermissions + } + 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: RoleIDs: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RoleIDs: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType == 0 { + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.RoleIds = append(m.RoleIds, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthPermissions + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + 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.RoleIds) == 0 { + m.RoleIds = make([]uint32, 0, elementCount) + } + for iNdEx < postIndex { + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.RoleIds = append(m.RoleIds, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field RoleIds", wireType) + } + default: + iNdEx = preIndex + skippy, err := skipPermissions(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPermissions + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Voucher) 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 ErrIntOverflowPermissions + } + 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: Voucher: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Voucher: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Coins", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPermissions + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Coins = append(m.Coins, types.Coin{}) + if err := m.Coins[len(m.Coins)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipPermissions(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPermissions + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AddressVoucher) 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 ErrIntOverflowPermissions + } + 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: AddressVoucher: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AddressVoucher: 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 ErrIntOverflowPermissions + } + 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 ErrInvalidLengthPermissions + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + 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 Voucher", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPermissions + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPermissions + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPermissions + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Voucher == nil { + m.Voucher = &Voucher{} + } + if err := m.Voucher.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipPermissions(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPermissions + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipPermissions(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, ErrIntOverflowPermissions + } + 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, ErrIntOverflowPermissions + } + 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, ErrIntOverflowPermissions + } + 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, ErrInvalidLengthPermissions + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupPermissions + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthPermissions + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthPermissions = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowPermissions = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupPermissions = fmt.Errorf("proto: unexpected end of group") +) diff --git a/chain/permissions/types/query.pb.go b/chain/permissions/types/query.pb.go new file mode 100644 index 00000000..db2b4c09 --- /dev/null +++ b/chain/permissions/types/query.pb.go @@ -0,0 +1,2615 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: injective/permissions/v1beta1/query.proto + +package types + +import ( + context "context" + fmt "fmt" + _ "github.com/cosmos/cosmos-sdk/types/query" + _ "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" + 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 + +// QueryParamsRequest is the request type for the Query/Params RPC method. +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_e0ae50f1018498b3, []int{0} +} +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 is the response type for the Query/Params RPC method. +type QueryParamsResponse struct { + // params defines the parameters of the module. + 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_e0ae50f1018498b3, []int{1} +} +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{} +} + +// QueryAllNamespacesRequest is the request type for the Query/AllNamespaces RPC +// method. +type QueryAllNamespacesRequest struct { +} + +func (m *QueryAllNamespacesRequest) Reset() { *m = QueryAllNamespacesRequest{} } +func (m *QueryAllNamespacesRequest) String() string { return proto.CompactTextString(m) } +func (*QueryAllNamespacesRequest) ProtoMessage() {} +func (*QueryAllNamespacesRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{2} +} +func (m *QueryAllNamespacesRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAllNamespacesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAllNamespacesRequest.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 *QueryAllNamespacesRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAllNamespacesRequest.Merge(m, src) +} +func (m *QueryAllNamespacesRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryAllNamespacesRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAllNamespacesRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAllNamespacesRequest proto.InternalMessageInfo + +// QueryAllNamespacesResponse is the response type for the Query/AllNamespaces +// RPC method. +type QueryAllNamespacesResponse struct { + Namespaces []*Namespace `protobuf:"bytes,1,rep,name=namespaces,proto3" json:"namespaces,omitempty"` +} + +func (m *QueryAllNamespacesResponse) Reset() { *m = QueryAllNamespacesResponse{} } +func (m *QueryAllNamespacesResponse) String() string { return proto.CompactTextString(m) } +func (*QueryAllNamespacesResponse) ProtoMessage() {} +func (*QueryAllNamespacesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{3} +} +func (m *QueryAllNamespacesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAllNamespacesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAllNamespacesResponse.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 *QueryAllNamespacesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAllNamespacesResponse.Merge(m, src) +} +func (m *QueryAllNamespacesResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryAllNamespacesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAllNamespacesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAllNamespacesResponse proto.InternalMessageInfo + +func (m *QueryAllNamespacesResponse) GetNamespaces() []*Namespace { + if m != nil { + return m.Namespaces + } + return nil +} + +// QueryNamespaceByDenomRequest is the request type for the +// Query/NamespaceByDenom RPC method. +type QueryNamespaceByDenomRequest struct { + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + IncludeRoles bool `protobuf:"varint,2,opt,name=include_roles,json=includeRoles,proto3" json:"include_roles,omitempty"` +} + +func (m *QueryNamespaceByDenomRequest) Reset() { *m = QueryNamespaceByDenomRequest{} } +func (m *QueryNamespaceByDenomRequest) String() string { return proto.CompactTextString(m) } +func (*QueryNamespaceByDenomRequest) ProtoMessage() {} +func (*QueryNamespaceByDenomRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{4} +} +func (m *QueryNamespaceByDenomRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryNamespaceByDenomRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryNamespaceByDenomRequest.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 *QueryNamespaceByDenomRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryNamespaceByDenomRequest.Merge(m, src) +} +func (m *QueryNamespaceByDenomRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryNamespaceByDenomRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryNamespaceByDenomRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryNamespaceByDenomRequest proto.InternalMessageInfo + +func (m *QueryNamespaceByDenomRequest) GetDenom() string { + if m != nil { + return m.Denom + } + return "" +} + +func (m *QueryNamespaceByDenomRequest) GetIncludeRoles() bool { + if m != nil { + return m.IncludeRoles + } + return false +} + +// QueryNamespaceByDenomResponse is the response type for the +// Query/NamespaceByDenom RPC method. +type QueryNamespaceByDenomResponse struct { + Namespace *Namespace `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` +} + +func (m *QueryNamespaceByDenomResponse) Reset() { *m = QueryNamespaceByDenomResponse{} } +func (m *QueryNamespaceByDenomResponse) String() string { return proto.CompactTextString(m) } +func (*QueryNamespaceByDenomResponse) ProtoMessage() {} +func (*QueryNamespaceByDenomResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{5} +} +func (m *QueryNamespaceByDenomResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryNamespaceByDenomResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryNamespaceByDenomResponse.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 *QueryNamespaceByDenomResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryNamespaceByDenomResponse.Merge(m, src) +} +func (m *QueryNamespaceByDenomResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryNamespaceByDenomResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryNamespaceByDenomResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryNamespaceByDenomResponse proto.InternalMessageInfo + +func (m *QueryNamespaceByDenomResponse) GetNamespace() *Namespace { + if m != nil { + return m.Namespace + } + return nil +} + +// QueryAddressesByRoleRequest is the request type for the Query/AddressesByRole +// RPC method. +type QueryAddressesByRoleRequest struct { + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + Role string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"` +} + +func (m *QueryAddressesByRoleRequest) Reset() { *m = QueryAddressesByRoleRequest{} } +func (m *QueryAddressesByRoleRequest) String() string { return proto.CompactTextString(m) } +func (*QueryAddressesByRoleRequest) ProtoMessage() {} +func (*QueryAddressesByRoleRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{6} +} +func (m *QueryAddressesByRoleRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAddressesByRoleRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAddressesByRoleRequest.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 *QueryAddressesByRoleRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAddressesByRoleRequest.Merge(m, src) +} +func (m *QueryAddressesByRoleRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryAddressesByRoleRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAddressesByRoleRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAddressesByRoleRequest proto.InternalMessageInfo + +func (m *QueryAddressesByRoleRequest) GetDenom() string { + if m != nil { + return m.Denom + } + return "" +} + +func (m *QueryAddressesByRoleRequest) GetRole() string { + if m != nil { + return m.Role + } + return "" +} + +// QueryAddressesByRoleResponse is the response type for the +// Query/AddressesByRole RPC method. +type QueryAddressesByRoleResponse struct { + Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"` +} + +func (m *QueryAddressesByRoleResponse) Reset() { *m = QueryAddressesByRoleResponse{} } +func (m *QueryAddressesByRoleResponse) String() string { return proto.CompactTextString(m) } +func (*QueryAddressesByRoleResponse) ProtoMessage() {} +func (*QueryAddressesByRoleResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{7} +} +func (m *QueryAddressesByRoleResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAddressesByRoleResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAddressesByRoleResponse.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 *QueryAddressesByRoleResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAddressesByRoleResponse.Merge(m, src) +} +func (m *QueryAddressesByRoleResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryAddressesByRoleResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAddressesByRoleResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAddressesByRoleResponse proto.InternalMessageInfo + +func (m *QueryAddressesByRoleResponse) GetAddresses() []string { + if m != nil { + return m.Addresses + } + return nil +} + +type QueryAddressRolesRequest struct { + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` +} + +func (m *QueryAddressRolesRequest) Reset() { *m = QueryAddressRolesRequest{} } +func (m *QueryAddressRolesRequest) String() string { return proto.CompactTextString(m) } +func (*QueryAddressRolesRequest) ProtoMessage() {} +func (*QueryAddressRolesRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{8} +} +func (m *QueryAddressRolesRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAddressRolesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAddressRolesRequest.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 *QueryAddressRolesRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAddressRolesRequest.Merge(m, src) +} +func (m *QueryAddressRolesRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryAddressRolesRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAddressRolesRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAddressRolesRequest proto.InternalMessageInfo + +func (m *QueryAddressRolesRequest) GetDenom() string { + if m != nil { + return m.Denom + } + return "" +} + +func (m *QueryAddressRolesRequest) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + +type QueryAddressRolesResponse struct { + Roles []string `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` +} + +func (m *QueryAddressRolesResponse) Reset() { *m = QueryAddressRolesResponse{} } +func (m *QueryAddressRolesResponse) String() string { return proto.CompactTextString(m) } +func (*QueryAddressRolesResponse) ProtoMessage() {} +func (*QueryAddressRolesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{9} +} +func (m *QueryAddressRolesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAddressRolesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAddressRolesResponse.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 *QueryAddressRolesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAddressRolesResponse.Merge(m, src) +} +func (m *QueryAddressRolesResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryAddressRolesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAddressRolesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryAddressRolesResponse proto.InternalMessageInfo + +func (m *QueryAddressRolesResponse) GetRoles() []string { + if m != nil { + return m.Roles + } + return nil +} + +type QueryVouchersForAddressRequest struct { + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` +} + +func (m *QueryVouchersForAddressRequest) Reset() { *m = QueryVouchersForAddressRequest{} } +func (m *QueryVouchersForAddressRequest) String() string { return proto.CompactTextString(m) } +func (*QueryVouchersForAddressRequest) ProtoMessage() {} +func (*QueryVouchersForAddressRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{10} +} +func (m *QueryVouchersForAddressRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryVouchersForAddressRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryVouchersForAddressRequest.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 *QueryVouchersForAddressRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryVouchersForAddressRequest.Merge(m, src) +} +func (m *QueryVouchersForAddressRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryVouchersForAddressRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryVouchersForAddressRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryVouchersForAddressRequest proto.InternalMessageInfo + +func (m *QueryVouchersForAddressRequest) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + +type QueryVouchersForAddressResponse struct { + Vouchers []*AddressVoucher `protobuf:"bytes,1,rep,name=vouchers,proto3" json:"vouchers,omitempty"` +} + +func (m *QueryVouchersForAddressResponse) Reset() { *m = QueryVouchersForAddressResponse{} } +func (m *QueryVouchersForAddressResponse) String() string { return proto.CompactTextString(m) } +func (*QueryVouchersForAddressResponse) ProtoMessage() {} +func (*QueryVouchersForAddressResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e0ae50f1018498b3, []int{11} +} +func (m *QueryVouchersForAddressResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryVouchersForAddressResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryVouchersForAddressResponse.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 *QueryVouchersForAddressResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryVouchersForAddressResponse.Merge(m, src) +} +func (m *QueryVouchersForAddressResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryVouchersForAddressResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryVouchersForAddressResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryVouchersForAddressResponse proto.InternalMessageInfo + +func (m *QueryVouchersForAddressResponse) GetVouchers() []*AddressVoucher { + if m != nil { + return m.Vouchers + } + return nil +} + +func init() { + proto.RegisterType((*QueryParamsRequest)(nil), "injective.permissions.v1beta1.QueryParamsRequest") + proto.RegisterType((*QueryParamsResponse)(nil), "injective.permissions.v1beta1.QueryParamsResponse") + proto.RegisterType((*QueryAllNamespacesRequest)(nil), "injective.permissions.v1beta1.QueryAllNamespacesRequest") + proto.RegisterType((*QueryAllNamespacesResponse)(nil), "injective.permissions.v1beta1.QueryAllNamespacesResponse") + proto.RegisterType((*QueryNamespaceByDenomRequest)(nil), "injective.permissions.v1beta1.QueryNamespaceByDenomRequest") + proto.RegisterType((*QueryNamespaceByDenomResponse)(nil), "injective.permissions.v1beta1.QueryNamespaceByDenomResponse") + proto.RegisterType((*QueryAddressesByRoleRequest)(nil), "injective.permissions.v1beta1.QueryAddressesByRoleRequest") + proto.RegisterType((*QueryAddressesByRoleResponse)(nil), "injective.permissions.v1beta1.QueryAddressesByRoleResponse") + proto.RegisterType((*QueryAddressRolesRequest)(nil), "injective.permissions.v1beta1.QueryAddressRolesRequest") + proto.RegisterType((*QueryAddressRolesResponse)(nil), "injective.permissions.v1beta1.QueryAddressRolesResponse") + proto.RegisterType((*QueryVouchersForAddressRequest)(nil), "injective.permissions.v1beta1.QueryVouchersForAddressRequest") + proto.RegisterType((*QueryVouchersForAddressResponse)(nil), "injective.permissions.v1beta1.QueryVouchersForAddressResponse") +} + +func init() { + proto.RegisterFile("injective/permissions/v1beta1/query.proto", fileDescriptor_e0ae50f1018498b3) +} + +var fileDescriptor_e0ae50f1018498b3 = []byte{ + // 758 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x96, 0xcf, 0x6f, 0xd3, 0x4a, + 0x10, 0xc7, 0xb3, 0x7d, 0x6d, 0x5f, 0x33, 0x6d, 0xf5, 0x9e, 0xf6, 0xe5, 0x90, 0xe7, 0xb6, 0x69, + 0x65, 0x54, 0x11, 0x40, 0x89, 0x49, 0xaa, 0x8a, 0xfe, 0x02, 0x89, 0x80, 0x0a, 0x45, 0x08, 0x51, + 0x1f, 0x90, 0xe8, 0x25, 0xda, 0x24, 0x5b, 0xd7, 0x60, 0x7b, 0x5d, 0xaf, 0x53, 0x29, 0x57, 0x6e, + 0xdc, 0x90, 0xb8, 0xf3, 0x8f, 0xf4, 0xca, 0xa1, 0xc7, 0x4a, 0x5c, 0x38, 0x21, 0xd4, 0xf2, 0x87, + 0x20, 0xaf, 0xd7, 0x8e, 0xd3, 0x34, 0x71, 0x1a, 0x6e, 0xd9, 0xdd, 0xf9, 0xce, 0x7c, 0xbe, 0x93, + 0xcc, 0x28, 0x70, 0xc7, 0x74, 0xde, 0xd1, 0xa6, 0x6f, 0x9e, 0x50, 0xcd, 0xa5, 0x9e, 0x6d, 0x72, + 0x6e, 0x32, 0x87, 0x6b, 0x27, 0x95, 0x06, 0xf5, 0x49, 0x45, 0x3b, 0x6e, 0x53, 0xaf, 0x53, 0x76, + 0x3d, 0xe6, 0x33, 0xbc, 0x14, 0x87, 0x96, 0x13, 0xa1, 0x65, 0x19, 0xaa, 0xe4, 0x0c, 0x66, 0x30, + 0x11, 0xa9, 0x05, 0x9f, 0x42, 0x91, 0xb2, 0x68, 0x30, 0x66, 0x58, 0x54, 0x23, 0xae, 0xa9, 0x11, + 0xc7, 0x61, 0x3e, 0xf1, 0x85, 0x2a, 0x7c, 0xbd, 0xdb, 0x64, 0xdc, 0x66, 0x5c, 0x6b, 0x10, 0x4e, + 0xc3, 0x5a, 0x71, 0x65, 0x97, 0x18, 0xa6, 0x23, 0x82, 0xa3, 0xd8, 0xe1, 0xa4, 0x2e, 0xf1, 0x88, + 0x1d, 0xe5, 0xbd, 0x37, 0x3c, 0xd6, 0xa0, 0x0e, 0xe5, 0x66, 0x14, 0xac, 0xa5, 0x24, 0x4e, 0x78, + 0x15, 0x02, 0x35, 0x07, 0x78, 0x3f, 0x60, 0x7d, 0x2d, 0x4a, 0xea, 0xf4, 0xb8, 0x4d, 0xb9, 0xaf, + 0x1e, 0xc0, 0x7f, 0x3d, 0xb7, 0xdc, 0x65, 0x0e, 0xa7, 0xf8, 0x09, 0x4c, 0x87, 0x68, 0x79, 0xb4, + 0x82, 0x8a, 0xb3, 0xd5, 0xd5, 0xf2, 0xd0, 0x36, 0x96, 0x43, 0x79, 0x6d, 0xf2, 0xec, 0xc7, 0x72, + 0x46, 0x97, 0x52, 0x75, 0x01, 0xfe, 0x17, 0xb9, 0x1f, 0x5b, 0xd6, 0x2b, 0x62, 0x53, 0xee, 0x92, + 0x26, 0x8d, 0x0b, 0x1f, 0x82, 0x72, 0xdd, 0xa3, 0xac, 0xff, 0x1c, 0xc0, 0x89, 0x6f, 0xf3, 0x68, + 0xe5, 0xaf, 0xe2, 0x6c, 0xb5, 0x98, 0xc2, 0x10, 0xa7, 0xd1, 0x13, 0x5a, 0xf5, 0x2d, 0x2c, 0x8a, + 0x3a, 0xf1, 0x6b, 0xad, 0xf3, 0x94, 0x3a, 0xcc, 0x96, 0x1c, 0x38, 0x07, 0x53, 0xad, 0xe0, 0x2c, + 0x8c, 0x66, 0xf5, 0xf0, 0x80, 0x6f, 0xc1, 0xbc, 0xe9, 0x34, 0xad, 0x76, 0x8b, 0xd6, 0x3d, 0x66, + 0x51, 0x9e, 0x9f, 0x58, 0x41, 0xc5, 0x19, 0x7d, 0x4e, 0x5e, 0xea, 0xc1, 0x9d, 0x6a, 0xc0, 0xd2, + 0x80, 0xd4, 0xd2, 0xc5, 0x2e, 0x64, 0x63, 0x12, 0xd9, 0xc8, 0xd1, 0x4d, 0x74, 0xa5, 0xea, 0x33, + 0x58, 0x08, 0x7b, 0xd5, 0x6a, 0x79, 0x94, 0x73, 0xca, 0x6b, 0x9d, 0x80, 0x60, 0xb8, 0x05, 0x0c, + 0x93, 0x01, 0xba, 0x20, 0xcf, 0xea, 0xe2, 0xb3, 0xba, 0x23, 0x9b, 0xd1, 0x97, 0x48, 0x02, 0x2f, + 0x42, 0x96, 0x44, 0x4f, 0xa2, 0xeb, 0x59, 0xbd, 0x7b, 0xa1, 0xbe, 0x80, 0x7c, 0x52, 0x2d, 0x9a, + 0x30, 0x9c, 0x21, 0x0f, 0x7f, 0x4b, 0xb9, 0xc4, 0x88, 0x8e, 0x6a, 0x25, 0xfa, 0x6d, 0xf4, 0xe4, + 0x92, 0x18, 0x39, 0x98, 0x0a, 0xbb, 0x1e, 0x22, 0x84, 0x07, 0x75, 0x0b, 0x0a, 0x42, 0xf2, 0x86, + 0xb5, 0x9b, 0x47, 0xd4, 0xe3, 0xbb, 0xcc, 0x8b, 0xd4, 0x12, 0x22, 0x51, 0x0e, 0xf5, 0x96, 0xb3, + 0x60, 0x79, 0xa0, 0x56, 0x16, 0xdd, 0x83, 0x99, 0x13, 0xf9, 0x2a, 0x7f, 0x70, 0xa5, 0x94, 0xef, + 0x4a, 0x66, 0x90, 0x39, 0xf5, 0x58, 0x5e, 0xfd, 0x98, 0x85, 0x29, 0x51, 0x0e, 0x7f, 0x41, 0x30, + 0x1d, 0xce, 0x06, 0xae, 0xa4, 0x64, 0xeb, 0x1f, 0x4e, 0xa5, 0x7a, 0x13, 0x49, 0x68, 0x43, 0x2d, + 0x7d, 0xf8, 0xf6, 0xeb, 0xf3, 0xc4, 0x6d, 0xbc, 0xaa, 0x8d, 0xb2, 0x79, 0xf0, 0x29, 0x82, 0xf9, + 0x9e, 0x11, 0xc4, 0x1b, 0xa3, 0x14, 0xbd, 0x6e, 0xa4, 0x95, 0xcd, 0x31, 0x94, 0x92, 0x7a, 0x5d, + 0x50, 0x6b, 0xb8, 0x94, 0x42, 0x4d, 0x2c, 0xab, 0xde, 0x1d, 0x6e, 0x7c, 0x86, 0xe0, 0xdf, 0xab, + 0xd3, 0x87, 0xb7, 0x47, 0xc1, 0x18, 0xb0, 0x0e, 0x94, 0x9d, 0xf1, 0xc4, 0xd2, 0xc6, 0xa6, 0xb0, + 0xb1, 0x86, 0x2b, 0x29, 0x36, 0x62, 0x0b, 0xf5, 0x46, 0xa7, 0x1e, 0x8e, 0xca, 0x29, 0x82, 0xb9, + 0xe4, 0x30, 0xe0, 0x07, 0x23, 0x75, 0xb3, 0x7f, 0x14, 0x95, 0x8d, 0x9b, 0x0b, 0x25, 0xfe, 0x86, + 0xc0, 0xaf, 0xe2, 0xfb, 0x69, 0xdf, 0x42, 0xb4, 0x12, 0x02, 0xfc, 0x60, 0x38, 0xf1, 0x57, 0x04, + 0xff, 0x5c, 0x59, 0x2a, 0x78, 0xeb, 0x06, 0x1c, 0x57, 0x56, 0x9a, 0xb2, 0x3d, 0x96, 0xf6, 0x8f, + 0x6d, 0x9c, 0x23, 0xc0, 0xfd, 0x2b, 0x02, 0x3f, 0x1c, 0x85, 0x66, 0xe0, 0x5a, 0x52, 0x1e, 0x8d, + 0x2b, 0x97, 0x7e, 0xb6, 0x85, 0x9f, 0x75, 0xbc, 0x96, 0xe2, 0x27, 0xda, 0x3f, 0xf5, 0x43, 0xe6, + 0xd5, 0xa5, 0xb9, 0xda, 0xfb, 0xb3, 0x8b, 0x02, 0x3a, 0xbf, 0x28, 0xa0, 0x9f, 0x17, 0x05, 0xf4, + 0xe9, 0xb2, 0x90, 0x39, 0xbf, 0x2c, 0x64, 0xbe, 0x5f, 0x16, 0x32, 0x07, 0xfb, 0x86, 0xe9, 0x1f, + 0xb5, 0x1b, 0xe5, 0x26, 0xb3, 0xb5, 0xbd, 0x28, 0xf1, 0x4b, 0xd2, 0xe0, 0xdd, 0x32, 0xa5, 0x26, + 0xf3, 0x68, 0xf2, 0x78, 0x44, 0x4c, 0x47, 0xb3, 0x59, 0xab, 0x6d, 0x51, 0xde, 0xc3, 0xe0, 0x77, + 0x5c, 0xca, 0x1b, 0xd3, 0xe2, 0xaf, 0xc6, 0xda, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0, 0xec, + 0x3f, 0x09, 0xa0, 0x09, 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 { + // Params defines a gRPC query method that returns the permissions module's + // parameters. + Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) + // AllNamespaces defines a gRPC query method that returns the permissions + // module's created namespaces. + AllNamespaces(ctx context.Context, in *QueryAllNamespacesRequest, opts ...grpc.CallOption) (*QueryAllNamespacesResponse, error) + // NamespaceByDenom defines a gRPC query method that returns the permissions + // module's namespace associated with the provided denom. + NamespaceByDenom(ctx context.Context, in *QueryNamespaceByDenomRequest, opts ...grpc.CallOption) (*QueryNamespaceByDenomResponse, error) + // AddressRoles defines a gRPC query method that returns address roles in the + // namespace + AddressRoles(ctx context.Context, in *QueryAddressRolesRequest, opts ...grpc.CallOption) (*QueryAddressRolesResponse, error) + // AddressesByRole defines a gRPC query method that returns a namespace's + // roles associated with the provided address. + AddressesByRole(ctx context.Context, in *QueryAddressesByRoleRequest, opts ...grpc.CallOption) (*QueryAddressesByRoleResponse, error) + // VouchersForAddress defines a gRPC query method that returns a map of + // vouchers that are held by permissions module for this address, keyed by the + // originator address + VouchersForAddress(ctx context.Context, in *QueryVouchersForAddressRequest, opts ...grpc.CallOption) (*QueryVouchersForAddressResponse, error) +} + +type queryClient struct { + cc grpc1.ClientConn +} + +func NewQueryClient(cc grpc1.ClientConn) QueryClient { + return &queryClient{cc} +} + +func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + out := new(QueryParamsResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Query/Params", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) AllNamespaces(ctx context.Context, in *QueryAllNamespacesRequest, opts ...grpc.CallOption) (*QueryAllNamespacesResponse, error) { + out := new(QueryAllNamespacesResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Query/AllNamespaces", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) NamespaceByDenom(ctx context.Context, in *QueryNamespaceByDenomRequest, opts ...grpc.CallOption) (*QueryNamespaceByDenomResponse, error) { + out := new(QueryNamespaceByDenomResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Query/NamespaceByDenom", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) AddressRoles(ctx context.Context, in *QueryAddressRolesRequest, opts ...grpc.CallOption) (*QueryAddressRolesResponse, error) { + out := new(QueryAddressRolesResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Query/AddressRoles", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) AddressesByRole(ctx context.Context, in *QueryAddressesByRoleRequest, opts ...grpc.CallOption) (*QueryAddressesByRoleResponse, error) { + out := new(QueryAddressesByRoleResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Query/AddressesByRole", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) VouchersForAddress(ctx context.Context, in *QueryVouchersForAddressRequest, opts ...grpc.CallOption) (*QueryVouchersForAddressResponse, error) { + out := new(QueryVouchersForAddressResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Query/VouchersForAddress", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// QueryServer is the server API for Query service. +type QueryServer interface { + // Params defines a gRPC query method that returns the permissions module's + // parameters. + Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) + // AllNamespaces defines a gRPC query method that returns the permissions + // module's created namespaces. + AllNamespaces(context.Context, *QueryAllNamespacesRequest) (*QueryAllNamespacesResponse, error) + // NamespaceByDenom defines a gRPC query method that returns the permissions + // module's namespace associated with the provided denom. + NamespaceByDenom(context.Context, *QueryNamespaceByDenomRequest) (*QueryNamespaceByDenomResponse, error) + // AddressRoles defines a gRPC query method that returns address roles in the + // namespace + AddressRoles(context.Context, *QueryAddressRolesRequest) (*QueryAddressRolesResponse, error) + // AddressesByRole defines a gRPC query method that returns a namespace's + // roles associated with the provided address. + AddressesByRole(context.Context, *QueryAddressesByRoleRequest) (*QueryAddressesByRoleResponse, error) + // VouchersForAddress defines a gRPC query method that returns a map of + // vouchers that are held by permissions module for this address, keyed by the + // originator address + VouchersForAddress(context.Context, *QueryVouchersForAddressRequest) (*QueryVouchersForAddressResponse, error) +} + +// UnimplementedQueryServer can be embedded to have forward compatible implementations. +type UnimplementedQueryServer struct { +} + +func (*UnimplementedQueryServer) Params(ctx context.Context, req *QueryParamsRequest) (*QueryParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") +} +func (*UnimplementedQueryServer) AllNamespaces(ctx context.Context, req *QueryAllNamespacesRequest) (*QueryAllNamespacesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AllNamespaces not implemented") +} +func (*UnimplementedQueryServer) NamespaceByDenom(ctx context.Context, req *QueryNamespaceByDenomRequest) (*QueryNamespaceByDenomResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method NamespaceByDenom not implemented") +} +func (*UnimplementedQueryServer) AddressRoles(ctx context.Context, req *QueryAddressRolesRequest) (*QueryAddressRolesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddressRoles not implemented") +} +func (*UnimplementedQueryServer) AddressesByRole(ctx context.Context, req *QueryAddressesByRoleRequest) (*QueryAddressesByRoleResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddressesByRole not implemented") +} +func (*UnimplementedQueryServer) VouchersForAddress(ctx context.Context, req *QueryVouchersForAddressRequest) (*QueryVouchersForAddressResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method VouchersForAddress not implemented") +} + +func RegisterQueryServer(s grpc1.Server, srv QueryServer) { + s.RegisterService(&_Query_serviceDesc, srv) +} + +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.permissions.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_AllNamespaces_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAllNamespacesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).AllNamespaces(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Query/AllNamespaces", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).AllNamespaces(ctx, req.(*QueryAllNamespacesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_NamespaceByDenom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryNamespaceByDenomRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).NamespaceByDenom(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Query/NamespaceByDenom", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).NamespaceByDenom(ctx, req.(*QueryNamespaceByDenomRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_AddressRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAddressRolesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).AddressRoles(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Query/AddressRoles", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).AddressRoles(ctx, req.(*QueryAddressRolesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_AddressesByRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAddressesByRoleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).AddressesByRole(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Query/AddressesByRole", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).AddressesByRole(ctx, req.(*QueryAddressesByRoleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_VouchersForAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryVouchersForAddressRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).VouchersForAddress(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Query/VouchersForAddress", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).VouchersForAddress(ctx, req.(*QueryVouchersForAddressRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _Query_serviceDesc = grpc.ServiceDesc{ + ServiceName: "injective.permissions.v1beta1.Query", + HandlerType: (*QueryServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Params", + Handler: _Query_Params_Handler, + }, + { + MethodName: "AllNamespaces", + Handler: _Query_AllNamespaces_Handler, + }, + { + MethodName: "NamespaceByDenom", + Handler: _Query_NamespaceByDenom_Handler, + }, + { + MethodName: "AddressRoles", + Handler: _Query_AddressRoles_Handler, + }, + { + MethodName: "AddressesByRole", + Handler: _Query_AddressesByRole_Handler, + }, + { + MethodName: "VouchersForAddress", + Handler: _Query_VouchersForAddress_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "injective/permissions/v1beta1/query.proto", +} + +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 *QueryAllNamespacesRequest) 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 *QueryAllNamespacesRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAllNamespacesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryAllNamespacesResponse) 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 *QueryAllNamespacesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAllNamespacesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Namespaces) > 0 { + for iNdEx := len(m.Namespaces) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Namespaces[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 *QueryNamespaceByDenomRequest) 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 *QueryNamespaceByDenomRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryNamespaceByDenomRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.IncludeRoles { + i-- + if m.IncludeRoles { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if len(m.Denom) > 0 { + i -= len(m.Denom) + copy(dAtA[i:], m.Denom) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Denom))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryNamespaceByDenomResponse) 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 *QueryNamespaceByDenomResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryNamespaceByDenomResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Namespace != nil { + { + size, err := m.Namespace.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 *QueryAddressesByRoleRequest) 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 *QueryAddressesByRoleRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAddressesByRoleRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Role) > 0 { + i -= len(m.Role) + copy(dAtA[i:], m.Role) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Role))) + i-- + dAtA[i] = 0x12 + } + if len(m.Denom) > 0 { + i -= len(m.Denom) + copy(dAtA[i:], m.Denom) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Denom))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryAddressesByRoleResponse) 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 *QueryAddressesByRoleResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAddressesByRoleResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Addresses) > 0 { + for iNdEx := len(m.Addresses) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Addresses[iNdEx]) + copy(dAtA[i:], m.Addresses[iNdEx]) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Addresses[iNdEx]))) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *QueryAddressRolesRequest) 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 *QueryAddressRolesRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAddressRolesRequest) 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] = 0x12 + } + if len(m.Denom) > 0 { + i -= len(m.Denom) + copy(dAtA[i:], m.Denom) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Denom))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryAddressRolesResponse) 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 *QueryAddressRolesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAddressRolesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Roles) > 0 { + for iNdEx := len(m.Roles) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Roles[iNdEx]) + copy(dAtA[i:], m.Roles[iNdEx]) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Roles[iNdEx]))) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *QueryVouchersForAddressRequest) 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 *QueryVouchersForAddressRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryVouchersForAddressRequest) 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 *QueryVouchersForAddressResponse) 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 *QueryVouchersForAddressResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryVouchersForAddressResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Vouchers) > 0 { + for iNdEx := len(m.Vouchers) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Vouchers[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 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 *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 *QueryAllNamespacesRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryAllNamespacesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Namespaces) > 0 { + for _, e := range m.Namespaces { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + +func (m *QueryNamespaceByDenomRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Denom) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.IncludeRoles { + n += 2 + } + return n +} + +func (m *QueryNamespaceByDenomResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Namespace != nil { + l = m.Namespace.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryAddressesByRoleRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Denom) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.Role) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryAddressesByRoleResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Addresses) > 0 { + for _, s := range m.Addresses { + l = len(s) + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + +func (m *QueryAddressRolesRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Denom) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.Address) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryAddressRolesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Roles) > 0 { + for _, s := range m.Roles { + l = len(s) + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + +func (m *QueryVouchersForAddressRequest) 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 *QueryVouchersForAddressResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Vouchers) > 0 { + for _, e := range m.Vouchers { + l = e.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 *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) || (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) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryAllNamespacesRequest) 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: QueryAllNamespacesRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAllNamespacesRequest: 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 *QueryAllNamespacesResponse) 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: QueryAllNamespacesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAllNamespacesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Namespaces", 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.Namespaces = append(m.Namespaces, &Namespace{}) + if err := m.Namespaces[len(m.Namespaces)-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 *QueryNamespaceByDenomRequest) 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: QueryNamespaceByDenomRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryNamespaceByDenomRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Denom", 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.Denom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IncludeRoles", 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.IncludeRoles = bool(v != 0) + 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 *QueryNamespaceByDenomResponse) 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: QueryNamespaceByDenomResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryNamespaceByDenomResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Namespace", 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.Namespace == nil { + m.Namespace = &Namespace{} + } + if err := m.Namespace.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 *QueryAddressesByRoleRequest) 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: QueryAddressesByRoleRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAddressesByRoleRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Denom", 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.Denom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Role", 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.Role = 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 *QueryAddressesByRoleResponse) 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: QueryAddressesByRoleResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAddressesByRoleResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Addresses", 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.Addresses = append(m.Addresses, 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 *QueryAddressRolesRequest) 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: QueryAddressRolesRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAddressRolesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Denom", 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.Denom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + 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) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryAddressRolesResponse) 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: QueryAddressRolesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryAddressRolesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Roles", 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.Roles = append(m.Roles, 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 *QueryVouchersForAddressRequest) 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: QueryVouchersForAddressRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryVouchersForAddressRequest: 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) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryVouchersForAddressResponse) 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: QueryVouchersForAddressResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryVouchersForAddressResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Vouchers", 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.Vouchers = append(m.Vouchers, &AddressVoucher{}) + if err := m.Vouchers[len(m.Vouchers)-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 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/permissions/types/tx.go b/chain/permissions/types/tx.go new file mode 100644 index 00000000..dbbd6e91 --- /dev/null +++ b/chain/permissions/types/tx.go @@ -0,0 +1,130 @@ +package types + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// constants +const ( + // RouterKey is the message route for slashing + routerKey = ModuleName +) + +var _ sdk.Msg = &MsgUpdateParams{} + +func (m MsgUpdateParams) Route() string { return routerKey } + +func (m MsgUpdateParams) Type() string { return "update_params" } + +func (m MsgUpdateParams) ValidateBasic() error { 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} +} + +var _ sdk.Msg = &MsgCreateNamespace{} + +func (m MsgCreateNamespace) Route() string { return routerKey } + +func (m MsgCreateNamespace) Type() string { return "create_namespace" } + +func (msg MsgCreateNamespace) ValidateBasic() error { return nil } + +func (m *MsgCreateNamespace) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgCreateNamespace) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +var _ sdk.Msg = &MsgDeleteNamespace{} + +func (m MsgDeleteNamespace) Route() string { return routerKey } + +func (m MsgDeleteNamespace) Type() string { return "delete_namespace" } + +func (m MsgDeleteNamespace) ValidateBasic() error { return nil } + +func (m *MsgDeleteNamespace) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgDeleteNamespace) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +var _ sdk.Msg = &MsgUpdateNamespace{} + +func (m MsgUpdateNamespace) Route() string { return routerKey } + +func (m MsgUpdateNamespace) Type() string { return "update_namespace" } + +func (m MsgUpdateNamespace) ValidateBasic() error { return nil } + +func (m *MsgUpdateNamespace) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgUpdateNamespace) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +var _ sdk.Msg = &MsgUpdateNamespaceRoles{} + +func (m MsgUpdateNamespaceRoles) Route() string { return routerKey } + +func (m MsgUpdateNamespaceRoles) Type() string { return "update_namespace_roles" } + +func (msg MsgUpdateNamespaceRoles) ValidateBasic() error { return nil } + +func (m *MsgUpdateNamespaceRoles) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgUpdateNamespaceRoles) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +var _ sdk.Msg = &MsgRevokeNamespaceRoles{} + +func (m MsgRevokeNamespaceRoles) Route() string { return routerKey } + +func (m MsgRevokeNamespaceRoles) Type() string { return "revoke_namespace_roles" } + +func (msg MsgRevokeNamespaceRoles) ValidateBasic() error { return nil } + +func (m *MsgRevokeNamespaceRoles) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgRevokeNamespaceRoles) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +var _ sdk.Msg = &MsgClaimVoucher{} + +func (m MsgClaimVoucher) Route() string { return routerKey } + +func (m MsgClaimVoucher) Type() string { return "claim_voucher" } + +func (msg MsgClaimVoucher) ValidateBasic() error { return nil } + +func (m *MsgClaimVoucher) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgClaimVoucher) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} diff --git a/chain/permissions/types/tx.pb.go b/chain/permissions/types/tx.pb.go new file mode 100644 index 00000000..a6c5feda --- /dev/null +++ b/chain/permissions/types/tx.pb.go @@ -0,0 +1,3968 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: injective/permissions/v1beta1/tx.proto + +package types + +import ( + context "context" + fmt "fmt" + _ "github.com/cosmos/cosmos-proto" + _ "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/cosmos-sdk/x/bank/types" + _ "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" + 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 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 permissions 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_ab9bfdcab1d9b6fa, []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_ab9bfdcab1d9b6fa, []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 + +type MsgCreateNamespace struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` + Namespace Namespace `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace"` +} + +func (m *MsgCreateNamespace) Reset() { *m = MsgCreateNamespace{} } +func (m *MsgCreateNamespace) String() string { return proto.CompactTextString(m) } +func (*MsgCreateNamespace) ProtoMessage() {} +func (*MsgCreateNamespace) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{2} +} +func (m *MsgCreateNamespace) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCreateNamespace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCreateNamespace.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 *MsgCreateNamespace) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCreateNamespace.Merge(m, src) +} +func (m *MsgCreateNamespace) XXX_Size() int { + return m.Size() +} +func (m *MsgCreateNamespace) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCreateNamespace.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCreateNamespace proto.InternalMessageInfo + +func (m *MsgCreateNamespace) GetSender() string { + if m != nil { + return m.Sender + } + return "" +} + +func (m *MsgCreateNamespace) GetNamespace() Namespace { + if m != nil { + return m.Namespace + } + return Namespace{} +} + +type MsgCreateNamespaceResponse struct { +} + +func (m *MsgCreateNamespaceResponse) Reset() { *m = MsgCreateNamespaceResponse{} } +func (m *MsgCreateNamespaceResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCreateNamespaceResponse) ProtoMessage() {} +func (*MsgCreateNamespaceResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{3} +} +func (m *MsgCreateNamespaceResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCreateNamespaceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCreateNamespaceResponse.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 *MsgCreateNamespaceResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCreateNamespaceResponse.Merge(m, src) +} +func (m *MsgCreateNamespaceResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCreateNamespaceResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCreateNamespaceResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCreateNamespaceResponse proto.InternalMessageInfo + +type MsgDeleteNamespace struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` + NamespaceDenom string `protobuf:"bytes,2,opt,name=namespace_denom,json=namespaceDenom,proto3" json:"namespace_denom,omitempty"` +} + +func (m *MsgDeleteNamespace) Reset() { *m = MsgDeleteNamespace{} } +func (m *MsgDeleteNamespace) String() string { return proto.CompactTextString(m) } +func (*MsgDeleteNamespace) ProtoMessage() {} +func (*MsgDeleteNamespace) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{4} +} +func (m *MsgDeleteNamespace) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgDeleteNamespace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgDeleteNamespace.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 *MsgDeleteNamespace) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgDeleteNamespace.Merge(m, src) +} +func (m *MsgDeleteNamespace) XXX_Size() int { + return m.Size() +} +func (m *MsgDeleteNamespace) XXX_DiscardUnknown() { + xxx_messageInfo_MsgDeleteNamespace.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgDeleteNamespace proto.InternalMessageInfo + +func (m *MsgDeleteNamespace) GetSender() string { + if m != nil { + return m.Sender + } + return "" +} + +func (m *MsgDeleteNamespace) GetNamespaceDenom() string { + if m != nil { + return m.NamespaceDenom + } + return "" +} + +type MsgDeleteNamespaceResponse struct { +} + +func (m *MsgDeleteNamespaceResponse) Reset() { *m = MsgDeleteNamespaceResponse{} } +func (m *MsgDeleteNamespaceResponse) String() string { return proto.CompactTextString(m) } +func (*MsgDeleteNamespaceResponse) ProtoMessage() {} +func (*MsgDeleteNamespaceResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{5} +} +func (m *MsgDeleteNamespaceResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgDeleteNamespaceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgDeleteNamespaceResponse.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 *MsgDeleteNamespaceResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgDeleteNamespaceResponse.Merge(m, src) +} +func (m *MsgDeleteNamespaceResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgDeleteNamespaceResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgDeleteNamespaceResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgDeleteNamespaceResponse proto.InternalMessageInfo + +type MsgUpdateNamespace struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` + NamespaceDenom string `protobuf:"bytes,2,opt,name=namespace_denom,json=namespaceDenom,proto3" json:"namespace_denom,omitempty"` + WasmHook *MsgUpdateNamespace_MsgSetWasmHook `protobuf:"bytes,3,opt,name=wasm_hook,json=wasmHook,proto3" json:"wasm_hook,omitempty"` + MintsPaused *MsgUpdateNamespace_MsgSetMintsPaused `protobuf:"bytes,4,opt,name=mints_paused,json=mintsPaused,proto3" json:"mints_paused,omitempty"` + SendsPaused *MsgUpdateNamespace_MsgSetSendsPaused `protobuf:"bytes,5,opt,name=sends_paused,json=sendsPaused,proto3" json:"sends_paused,omitempty"` + BurnsPaused *MsgUpdateNamespace_MsgSetBurnsPaused `protobuf:"bytes,6,opt,name=burns_paused,json=burnsPaused,proto3" json:"burns_paused,omitempty"` +} + +func (m *MsgUpdateNamespace) Reset() { *m = MsgUpdateNamespace{} } +func (m *MsgUpdateNamespace) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateNamespace) ProtoMessage() {} +func (*MsgUpdateNamespace) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{6} +} +func (m *MsgUpdateNamespace) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateNamespace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateNamespace.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 *MsgUpdateNamespace) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateNamespace.Merge(m, src) +} +func (m *MsgUpdateNamespace) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateNamespace) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateNamespace.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateNamespace proto.InternalMessageInfo + +func (m *MsgUpdateNamespace) GetSender() string { + if m != nil { + return m.Sender + } + return "" +} + +func (m *MsgUpdateNamespace) GetNamespaceDenom() string { + if m != nil { + return m.NamespaceDenom + } + return "" +} + +func (m *MsgUpdateNamespace) GetWasmHook() *MsgUpdateNamespace_MsgSetWasmHook { + if m != nil { + return m.WasmHook + } + return nil +} + +func (m *MsgUpdateNamespace) GetMintsPaused() *MsgUpdateNamespace_MsgSetMintsPaused { + if m != nil { + return m.MintsPaused + } + return nil +} + +func (m *MsgUpdateNamespace) GetSendsPaused() *MsgUpdateNamespace_MsgSetSendsPaused { + if m != nil { + return m.SendsPaused + } + return nil +} + +func (m *MsgUpdateNamespace) GetBurnsPaused() *MsgUpdateNamespace_MsgSetBurnsPaused { + if m != nil { + return m.BurnsPaused + } + return nil +} + +type MsgUpdateNamespace_MsgSetWasmHook struct { + NewValue string `protobuf:"bytes,1,opt,name=new_value,json=newValue,proto3" json:"new_value,omitempty"` +} + +func (m *MsgUpdateNamespace_MsgSetWasmHook) Reset() { *m = MsgUpdateNamespace_MsgSetWasmHook{} } +func (m *MsgUpdateNamespace_MsgSetWasmHook) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateNamespace_MsgSetWasmHook) ProtoMessage() {} +func (*MsgUpdateNamespace_MsgSetWasmHook) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{6, 0} +} +func (m *MsgUpdateNamespace_MsgSetWasmHook) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateNamespace_MsgSetWasmHook) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateNamespace_MsgSetWasmHook.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 *MsgUpdateNamespace_MsgSetWasmHook) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateNamespace_MsgSetWasmHook.Merge(m, src) +} +func (m *MsgUpdateNamespace_MsgSetWasmHook) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateNamespace_MsgSetWasmHook) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateNamespace_MsgSetWasmHook.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateNamespace_MsgSetWasmHook proto.InternalMessageInfo + +func (m *MsgUpdateNamespace_MsgSetWasmHook) GetNewValue() string { + if m != nil { + return m.NewValue + } + return "" +} + +type MsgUpdateNamespace_MsgSetMintsPaused struct { + NewValue bool `protobuf:"varint,1,opt,name=new_value,json=newValue,proto3" json:"new_value,omitempty"` +} + +func (m *MsgUpdateNamespace_MsgSetMintsPaused) Reset() { *m = MsgUpdateNamespace_MsgSetMintsPaused{} } +func (m *MsgUpdateNamespace_MsgSetMintsPaused) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateNamespace_MsgSetMintsPaused) ProtoMessage() {} +func (*MsgUpdateNamespace_MsgSetMintsPaused) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{6, 1} +} +func (m *MsgUpdateNamespace_MsgSetMintsPaused) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateNamespace_MsgSetMintsPaused) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateNamespace_MsgSetMintsPaused.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 *MsgUpdateNamespace_MsgSetMintsPaused) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateNamespace_MsgSetMintsPaused.Merge(m, src) +} +func (m *MsgUpdateNamespace_MsgSetMintsPaused) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateNamespace_MsgSetMintsPaused) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateNamespace_MsgSetMintsPaused.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateNamespace_MsgSetMintsPaused proto.InternalMessageInfo + +func (m *MsgUpdateNamespace_MsgSetMintsPaused) GetNewValue() bool { + if m != nil { + return m.NewValue + } + return false +} + +type MsgUpdateNamespace_MsgSetSendsPaused struct { + NewValue bool `protobuf:"varint,1,opt,name=new_value,json=newValue,proto3" json:"new_value,omitempty"` +} + +func (m *MsgUpdateNamespace_MsgSetSendsPaused) Reset() { *m = MsgUpdateNamespace_MsgSetSendsPaused{} } +func (m *MsgUpdateNamespace_MsgSetSendsPaused) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateNamespace_MsgSetSendsPaused) ProtoMessage() {} +func (*MsgUpdateNamespace_MsgSetSendsPaused) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{6, 2} +} +func (m *MsgUpdateNamespace_MsgSetSendsPaused) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateNamespace_MsgSetSendsPaused) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateNamespace_MsgSetSendsPaused.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 *MsgUpdateNamespace_MsgSetSendsPaused) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateNamespace_MsgSetSendsPaused.Merge(m, src) +} +func (m *MsgUpdateNamespace_MsgSetSendsPaused) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateNamespace_MsgSetSendsPaused) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateNamespace_MsgSetSendsPaused.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateNamespace_MsgSetSendsPaused proto.InternalMessageInfo + +func (m *MsgUpdateNamespace_MsgSetSendsPaused) GetNewValue() bool { + if m != nil { + return m.NewValue + } + return false +} + +type MsgUpdateNamespace_MsgSetBurnsPaused struct { + NewValue bool `protobuf:"varint,1,opt,name=new_value,json=newValue,proto3" json:"new_value,omitempty"` +} + +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) Reset() { *m = MsgUpdateNamespace_MsgSetBurnsPaused{} } +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateNamespace_MsgSetBurnsPaused) ProtoMessage() {} +func (*MsgUpdateNamespace_MsgSetBurnsPaused) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{6, 3} +} +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateNamespace_MsgSetBurnsPaused.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 *MsgUpdateNamespace_MsgSetBurnsPaused) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateNamespace_MsgSetBurnsPaused.Merge(m, src) +} +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateNamespace_MsgSetBurnsPaused.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateNamespace_MsgSetBurnsPaused proto.InternalMessageInfo + +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) GetNewValue() bool { + if m != nil { + return m.NewValue + } + return false +} + +type MsgUpdateNamespaceResponse struct { +} + +func (m *MsgUpdateNamespaceResponse) Reset() { *m = MsgUpdateNamespaceResponse{} } +func (m *MsgUpdateNamespaceResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateNamespaceResponse) ProtoMessage() {} +func (*MsgUpdateNamespaceResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{7} +} +func (m *MsgUpdateNamespaceResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateNamespaceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateNamespaceResponse.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 *MsgUpdateNamespaceResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateNamespaceResponse.Merge(m, src) +} +func (m *MsgUpdateNamespaceResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateNamespaceResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateNamespaceResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateNamespaceResponse proto.InternalMessageInfo + +type MsgUpdateNamespaceRoles struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` + NamespaceDenom string `protobuf:"bytes,2,opt,name=namespace_denom,json=namespaceDenom,proto3" json:"namespace_denom,omitempty"` + RolePermissions []*Role `protobuf:"bytes,3,rep,name=role_permissions,json=rolePermissions,proto3" json:"role_permissions,omitempty"` + AddressRoles []*AddressRoles `protobuf:"bytes,4,rep,name=address_roles,json=addressRoles,proto3" json:"address_roles,omitempty"` +} + +func (m *MsgUpdateNamespaceRoles) Reset() { *m = MsgUpdateNamespaceRoles{} } +func (m *MsgUpdateNamespaceRoles) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateNamespaceRoles) ProtoMessage() {} +func (*MsgUpdateNamespaceRoles) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{8} +} +func (m *MsgUpdateNamespaceRoles) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateNamespaceRoles) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateNamespaceRoles.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 *MsgUpdateNamespaceRoles) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateNamespaceRoles.Merge(m, src) +} +func (m *MsgUpdateNamespaceRoles) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateNamespaceRoles) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateNamespaceRoles.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateNamespaceRoles proto.InternalMessageInfo + +func (m *MsgUpdateNamespaceRoles) GetSender() string { + if m != nil { + return m.Sender + } + return "" +} + +func (m *MsgUpdateNamespaceRoles) GetNamespaceDenom() string { + if m != nil { + return m.NamespaceDenom + } + return "" +} + +func (m *MsgUpdateNamespaceRoles) GetRolePermissions() []*Role { + if m != nil { + return m.RolePermissions + } + return nil +} + +func (m *MsgUpdateNamespaceRoles) GetAddressRoles() []*AddressRoles { + if m != nil { + return m.AddressRoles + } + return nil +} + +type MsgUpdateNamespaceRolesResponse struct { +} + +func (m *MsgUpdateNamespaceRolesResponse) Reset() { *m = MsgUpdateNamespaceRolesResponse{} } +func (m *MsgUpdateNamespaceRolesResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateNamespaceRolesResponse) ProtoMessage() {} +func (*MsgUpdateNamespaceRolesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{9} +} +func (m *MsgUpdateNamespaceRolesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateNamespaceRolesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateNamespaceRolesResponse.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 *MsgUpdateNamespaceRolesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateNamespaceRolesResponse.Merge(m, src) +} +func (m *MsgUpdateNamespaceRolesResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateNamespaceRolesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateNamespaceRolesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateNamespaceRolesResponse proto.InternalMessageInfo + +type MsgRevokeNamespaceRoles struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` + NamespaceDenom string `protobuf:"bytes,2,opt,name=namespace_denom,json=namespaceDenom,proto3" json:"namespace_denom,omitempty"` + AddressRolesToRevoke []*AddressRoles `protobuf:"bytes,3,rep,name=address_roles_to_revoke,json=addressRolesToRevoke,proto3" json:"address_roles_to_revoke,omitempty"` +} + +func (m *MsgRevokeNamespaceRoles) Reset() { *m = MsgRevokeNamespaceRoles{} } +func (m *MsgRevokeNamespaceRoles) String() string { return proto.CompactTextString(m) } +func (*MsgRevokeNamespaceRoles) ProtoMessage() {} +func (*MsgRevokeNamespaceRoles) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{10} +} +func (m *MsgRevokeNamespaceRoles) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRevokeNamespaceRoles) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRevokeNamespaceRoles.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 *MsgRevokeNamespaceRoles) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRevokeNamespaceRoles.Merge(m, src) +} +func (m *MsgRevokeNamespaceRoles) XXX_Size() int { + return m.Size() +} +func (m *MsgRevokeNamespaceRoles) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRevokeNamespaceRoles.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRevokeNamespaceRoles proto.InternalMessageInfo + +func (m *MsgRevokeNamespaceRoles) GetSender() string { + if m != nil { + return m.Sender + } + return "" +} + +func (m *MsgRevokeNamespaceRoles) GetNamespaceDenom() string { + if m != nil { + return m.NamespaceDenom + } + return "" +} + +func (m *MsgRevokeNamespaceRoles) GetAddressRolesToRevoke() []*AddressRoles { + if m != nil { + return m.AddressRolesToRevoke + } + return nil +} + +type MsgRevokeNamespaceRolesResponse struct { +} + +func (m *MsgRevokeNamespaceRolesResponse) Reset() { *m = MsgRevokeNamespaceRolesResponse{} } +func (m *MsgRevokeNamespaceRolesResponse) String() string { return proto.CompactTextString(m) } +func (*MsgRevokeNamespaceRolesResponse) ProtoMessage() {} +func (*MsgRevokeNamespaceRolesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{11} +} +func (m *MsgRevokeNamespaceRolesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRevokeNamespaceRolesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRevokeNamespaceRolesResponse.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 *MsgRevokeNamespaceRolesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRevokeNamespaceRolesResponse.Merge(m, src) +} +func (m *MsgRevokeNamespaceRolesResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgRevokeNamespaceRolesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRevokeNamespaceRolesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRevokeNamespaceRolesResponse proto.InternalMessageInfo + +type MsgClaimVoucher struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` + Originator string `protobuf:"bytes,2,opt,name=originator,proto3" json:"originator,omitempty"` +} + +func (m *MsgClaimVoucher) Reset() { *m = MsgClaimVoucher{} } +func (m *MsgClaimVoucher) String() string { return proto.CompactTextString(m) } +func (*MsgClaimVoucher) ProtoMessage() {} +func (*MsgClaimVoucher) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{12} +} +func (m *MsgClaimVoucher) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgClaimVoucher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgClaimVoucher.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 *MsgClaimVoucher) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgClaimVoucher.Merge(m, src) +} +func (m *MsgClaimVoucher) XXX_Size() int { + return m.Size() +} +func (m *MsgClaimVoucher) XXX_DiscardUnknown() { + xxx_messageInfo_MsgClaimVoucher.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgClaimVoucher proto.InternalMessageInfo + +func (m *MsgClaimVoucher) GetSender() string { + if m != nil { + return m.Sender + } + return "" +} + +func (m *MsgClaimVoucher) GetOriginator() string { + if m != nil { + return m.Originator + } + return "" +} + +type MsgClaimVoucherResponse struct { +} + +func (m *MsgClaimVoucherResponse) Reset() { *m = MsgClaimVoucherResponse{} } +func (m *MsgClaimVoucherResponse) String() string { return proto.CompactTextString(m) } +func (*MsgClaimVoucherResponse) ProtoMessage() {} +func (*MsgClaimVoucherResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_ab9bfdcab1d9b6fa, []int{13} +} +func (m *MsgClaimVoucherResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgClaimVoucherResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgClaimVoucherResponse.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 *MsgClaimVoucherResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgClaimVoucherResponse.Merge(m, src) +} +func (m *MsgClaimVoucherResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgClaimVoucherResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgClaimVoucherResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgClaimVoucherResponse proto.InternalMessageInfo + +func init() { + proto.RegisterType((*MsgUpdateParams)(nil), "injective.permissions.v1beta1.MsgUpdateParams") + proto.RegisterType((*MsgUpdateParamsResponse)(nil), "injective.permissions.v1beta1.MsgUpdateParamsResponse") + proto.RegisterType((*MsgCreateNamespace)(nil), "injective.permissions.v1beta1.MsgCreateNamespace") + proto.RegisterType((*MsgCreateNamespaceResponse)(nil), "injective.permissions.v1beta1.MsgCreateNamespaceResponse") + proto.RegisterType((*MsgDeleteNamespace)(nil), "injective.permissions.v1beta1.MsgDeleteNamespace") + proto.RegisterType((*MsgDeleteNamespaceResponse)(nil), "injective.permissions.v1beta1.MsgDeleteNamespaceResponse") + proto.RegisterType((*MsgUpdateNamespace)(nil), "injective.permissions.v1beta1.MsgUpdateNamespace") + proto.RegisterType((*MsgUpdateNamespace_MsgSetWasmHook)(nil), "injective.permissions.v1beta1.MsgUpdateNamespace.MsgSetWasmHook") + proto.RegisterType((*MsgUpdateNamespace_MsgSetMintsPaused)(nil), "injective.permissions.v1beta1.MsgUpdateNamespace.MsgSetMintsPaused") + proto.RegisterType((*MsgUpdateNamespace_MsgSetSendsPaused)(nil), "injective.permissions.v1beta1.MsgUpdateNamespace.MsgSetSendsPaused") + proto.RegisterType((*MsgUpdateNamespace_MsgSetBurnsPaused)(nil), "injective.permissions.v1beta1.MsgUpdateNamespace.MsgSetBurnsPaused") + proto.RegisterType((*MsgUpdateNamespaceResponse)(nil), "injective.permissions.v1beta1.MsgUpdateNamespaceResponse") + proto.RegisterType((*MsgUpdateNamespaceRoles)(nil), "injective.permissions.v1beta1.MsgUpdateNamespaceRoles") + proto.RegisterType((*MsgUpdateNamespaceRolesResponse)(nil), "injective.permissions.v1beta1.MsgUpdateNamespaceRolesResponse") + proto.RegisterType((*MsgRevokeNamespaceRoles)(nil), "injective.permissions.v1beta1.MsgRevokeNamespaceRoles") + proto.RegisterType((*MsgRevokeNamespaceRolesResponse)(nil), "injective.permissions.v1beta1.MsgRevokeNamespaceRolesResponse") + proto.RegisterType((*MsgClaimVoucher)(nil), "injective.permissions.v1beta1.MsgClaimVoucher") + proto.RegisterType((*MsgClaimVoucherResponse)(nil), "injective.permissions.v1beta1.MsgClaimVoucherResponse") +} + +func init() { + proto.RegisterFile("injective/permissions/v1beta1/tx.proto", fileDescriptor_ab9bfdcab1d9b6fa) +} + +var fileDescriptor_ab9bfdcab1d9b6fa = []byte{ + // 962 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0x4f, 0x6f, 0xe3, 0x44, + 0x1c, 0xad, 0xb7, 0xdd, 0xd2, 0x4c, 0xbb, 0x5b, 0x6a, 0x55, 0x6a, 0xd6, 0x0b, 0x6e, 0xc9, 0x0a, + 0x28, 0x5d, 0xd5, 0x26, 0x5d, 0xa9, 0x12, 0x39, 0x20, 0x48, 0xf6, 0x00, 0xd2, 0x66, 0x15, 0x5c, + 0x58, 0x24, 0x24, 0x64, 0x8d, 0x93, 0xc1, 0x31, 0x89, 0x67, 0x2c, 0x8f, 0x93, 0xd0, 0x13, 0x12, + 0x07, 0x24, 0x38, 0x20, 0x8e, 0x88, 0x4f, 0xb1, 0x07, 0xae, 0x70, 0xe2, 0xb0, 0xc7, 0x15, 0x27, + 0x4e, 0x2b, 0xd4, 0x1e, 0xf6, 0x8e, 0xf8, 0x00, 0x68, 0x3c, 0x13, 0xdb, 0x99, 0xa4, 0xb1, 0xd3, + 0x55, 0xf7, 0xd2, 0x66, 0x7e, 0x7f, 0xdf, 0x7b, 0xa3, 0xdf, 0xcc, 0x18, 0xbc, 0xe5, 0xe1, 0xaf, + 0x51, 0x3b, 0xf2, 0x86, 0xc8, 0x0c, 0x50, 0xe8, 0x7b, 0x94, 0x7a, 0x04, 0x53, 0x73, 0x58, 0x75, + 0x50, 0x04, 0xab, 0x66, 0xf4, 0x8d, 0x11, 0x84, 0x24, 0x22, 0xea, 0xeb, 0x49, 0x9c, 0x91, 0x89, + 0x33, 0x44, 0x9c, 0xb6, 0xed, 0x12, 0x97, 0xc4, 0x91, 0x26, 0xfb, 0xc5, 0x93, 0x34, 0xbd, 0x4d, + 0xa8, 0x4f, 0xa8, 0xe9, 0x40, 0x8a, 0x92, 0x92, 0x6d, 0xe2, 0xe1, 0x29, 0x3f, 0xee, 0x25, 0x7e, + 0xb6, 0x10, 0xfe, 0x1d, 0xe1, 0xf7, 0xa9, 0x6b, 0x0e, 0xab, 0xec, 0x9f, 0x70, 0xdc, 0xe2, 0x0e, + 0x9b, 0x77, 0xe4, 0x0b, 0xe1, 0x3a, 0x98, 0x4f, 0x28, 0x80, 0x21, 0xf4, 0xc7, 0xb1, 0x66, 0x4e, + 0x6c, 0x86, 0x28, 0x4f, 0xd8, 0x82, 0xbe, 0x87, 0x89, 0x19, 0xff, 0xe5, 0xa6, 0xca, 0x1f, 0x0a, + 0xd8, 0x6c, 0x52, 0xf7, 0xb3, 0xa0, 0x03, 0x23, 0xd4, 0x8a, 0xab, 0xab, 0xc7, 0xa0, 0x04, 0x07, + 0x51, 0x97, 0x84, 0x5e, 0x74, 0x5a, 0x56, 0xf6, 0x94, 0xfd, 0x52, 0xbd, 0xfc, 0xd7, 0x6f, 0x87, + 0xdb, 0x02, 0xe8, 0x87, 0x9d, 0x4e, 0x88, 0x28, 0x3d, 0x89, 0x42, 0x0f, 0xbb, 0x56, 0x1a, 0xaa, + 0x36, 0xc0, 0x2a, 0xc7, 0x57, 0xbe, 0xb6, 0xa7, 0xec, 0xaf, 0x1f, 0xbd, 0x69, 0xcc, 0x55, 0xdd, + 0xe0, 0xed, 0xea, 0x2b, 0x4f, 0x9e, 0xed, 0x2e, 0x59, 0x22, 0xb5, 0x66, 0x7c, 0xf7, 0xfc, 0xf1, + 0x41, 0x5a, 0xf4, 0xc7, 0xe7, 0x8f, 0x0f, 0x6e, 0x67, 0xd9, 0x49, 0x60, 0x2b, 0xb7, 0xc0, 0x8e, + 0x64, 0xb2, 0x10, 0x0d, 0x08, 0xa6, 0xa8, 0xf2, 0xbb, 0x02, 0xd4, 0x26, 0x75, 0x1b, 0x21, 0x82, + 0x11, 0x7a, 0x08, 0x7d, 0x44, 0x03, 0xd8, 0x46, 0xea, 0x3b, 0x60, 0x95, 0x22, 0xdc, 0x41, 0xa1, + 0xe0, 0xb6, 0xf5, 0xef, 0xb3, 0xdd, 0x1b, 0xa7, 0xd0, 0xef, 0xd7, 0x2a, 0xdc, 0x5e, 0xb1, 0x44, + 0x80, 0xfa, 0x00, 0x94, 0xf0, 0x38, 0x4f, 0x90, 0xda, 0xcf, 0x21, 0x95, 0xf4, 0x11, 0xbc, 0xd2, + 0x02, 0x9c, 0x9a, 0x28, 0xcd, 0x78, 0xe9, 0x12, 0x2f, 0x09, 0x68, 0xe5, 0x35, 0xa0, 0x4d, 0x5b, + 0x13, 0x76, 0xbf, 0x70, 0x76, 0xf7, 0x51, 0x1f, 0x5d, 0x92, 0xdd, 0xdb, 0x60, 0x33, 0x01, 0x67, + 0x77, 0x10, 0x26, 0x7e, 0xcc, 0xb1, 0x64, 0xdd, 0x4c, 0xcc, 0xf7, 0x99, 0x35, 0x17, 0xb8, 0x84, + 0x41, 0x00, 0x97, 0xac, 0x09, 0xf0, 0xff, 0xae, 0xc7, 0xc0, 0xf9, 0x96, 0x5d, 0x29, 0x70, 0xf5, + 0x4b, 0x50, 0x1a, 0x41, 0xea, 0xdb, 0x5d, 0x42, 0x7a, 0xe5, 0xe5, 0x78, 0xff, 0x3e, 0xc8, 0xd9, + 0xbf, 0x69, 0x64, 0xcc, 0x74, 0x82, 0xa2, 0xcf, 0x21, 0xf5, 0x3f, 0x22, 0xa4, 0x67, 0xad, 0x8d, + 0xc4, 0x2f, 0xf5, 0x2b, 0xb0, 0xe1, 0x7b, 0x38, 0xa2, 0x76, 0x00, 0x07, 0x14, 0x75, 0xca, 0x2b, + 0x71, 0x87, 0xc6, 0x65, 0x3b, 0x34, 0x59, 0xad, 0x56, 0x5c, 0xca, 0x5a, 0xf7, 0xd3, 0x05, 0xeb, + 0xc3, 0x98, 0x27, 0x7d, 0xae, 0xbf, 0x58, 0x9f, 0x13, 0x56, 0x6b, 0xdc, 0x87, 0xa6, 0x0b, 0xd6, + 0xc7, 0x19, 0x84, 0x38, 0xe9, 0xb3, 0xfa, 0x62, 0x7d, 0xea, 0xac, 0xd6, 0xb8, 0x8f, 0x93, 0x2e, + 0xb4, 0x43, 0x70, 0x73, 0x52, 0x53, 0xf5, 0x36, 0x28, 0x61, 0x34, 0xb2, 0x87, 0xb0, 0x3f, 0x40, + 0x7c, 0xff, 0xad, 0x35, 0x8c, 0x46, 0x8f, 0xd8, 0x5a, 0x7b, 0x17, 0x6c, 0x4d, 0x09, 0x34, 0x9d, + 0xb1, 0x36, 0x2b, 0x23, 0x43, 0xb5, 0x60, 0x46, 0x06, 0xf4, 0xdc, 0x8c, 0xdc, 0xa1, 0x90, 0x34, + 0x11, 0x43, 0x21, 0x59, 0x93, 0xa1, 0xf8, 0xf3, 0x5a, 0xe6, 0x1c, 0x4b, 0xdd, 0xa4, 0x8f, 0xe8, + 0x95, 0x4c, 0xc6, 0x43, 0xf0, 0x6a, 0x48, 0xfa, 0xc8, 0xce, 0x80, 0x2e, 0x2f, 0xef, 0x2d, 0xef, + 0xaf, 0x1f, 0xdd, 0xc9, 0xd9, 0x6e, 0x86, 0xc9, 0xda, 0x64, 0xc9, 0xad, 0xd4, 0xab, 0xb6, 0xc0, + 0x0d, 0xc8, 0xef, 0x05, 0x9b, 0xb9, 0x68, 0x79, 0x25, 0x2e, 0x76, 0x37, 0xa7, 0x98, 0xb8, 0x4b, + 0x62, 0x9e, 0xd6, 0x06, 0xcc, 0xac, 0x6a, 0xf7, 0x24, 0x7d, 0xef, 0xcc, 0xd7, 0x37, 0x4e, 0xaa, + 0xbc, 0x01, 0x76, 0x2f, 0x70, 0x25, 0x4a, 0x7f, 0xcf, 0x95, 0xb6, 0xd0, 0x90, 0xf4, 0x5e, 0x86, + 0xd2, 0x0e, 0xd8, 0x99, 0x50, 0xc6, 0x8e, 0x88, 0x1d, 0xc6, 0xcd, 0x85, 0xe0, 0x0b, 0x69, 0xb4, + 0x9d, 0xd5, 0xe8, 0x53, 0xc2, 0x59, 0xe4, 0x6a, 0x35, 0x8b, 0xac, 0xd0, 0x6a, 0x96, 0x2b, 0xd1, + 0xea, 0x07, 0xfe, 0x3a, 0x68, 0xf4, 0xa1, 0xe7, 0x3f, 0x22, 0x83, 0x76, 0x17, 0x85, 0x8b, 0x68, + 0xa4, 0x03, 0x40, 0x42, 0xcf, 0xf5, 0x30, 0x8c, 0x48, 0x28, 0xe4, 0xc9, 0x58, 0x6a, 0x77, 0x25, + 0xd8, 0xf2, 0x45, 0x9f, 0xed, 0x2b, 0x2e, 0xfa, 0xac, 0x69, 0x0c, 0xf3, 0xe8, 0xd7, 0x57, 0xc0, + 0x72, 0x93, 0xba, 0xea, 0x10, 0x6c, 0x4c, 0x3c, 0x64, 0x8c, 0xa2, 0x27, 0x17, 0x8f, 0xd7, 0x8e, + 0x17, 0x8b, 0x1f, 0xf7, 0x57, 0xbf, 0x05, 0x9b, 0xf2, 0x23, 0xa3, 0x9a, 0x5f, 0x4a, 0x4a, 0xd1, + 0xde, 0x5b, 0x38, 0x25, 0x0b, 0x40, 0x7e, 0x07, 0x14, 0x00, 0x20, 0xa5, 0x14, 0x01, 0x70, 0xc1, + 0x9d, 0xce, 0x00, 0xc8, 0xf7, 0x79, 0x75, 0xe1, 0x6b, 0xa3, 0x08, 0x80, 0x0b, 0xce, 0x4f, 0xf5, + 0x27, 0x05, 0x6c, 0xcf, 0x3c, 0x3c, 0x8f, 0x17, 0xaf, 0xc9, 0xf2, 0xb4, 0xf7, 0x2f, 0x97, 0x37, + 0x01, 0x68, 0xe6, 0x19, 0x53, 0x00, 0xd0, 0xac, 0xbc, 0x22, 0x80, 0xe6, 0xcd, 0x32, 0x1b, 0x8e, + 0x89, 0x39, 0x2e, 0x30, 0x1c, 0xd9, 0xf8, 0x22, 0xc3, 0x31, 0x6b, 0x38, 0xeb, 0xbd, 0x27, 0x67, + 0xba, 0xf2, 0xf4, 0x4c, 0x57, 0xfe, 0x39, 0xd3, 0x95, 0x9f, 0xcf, 0xf5, 0xa5, 0xa7, 0xe7, 0xfa, + 0xd2, 0xdf, 0xe7, 0xfa, 0xd2, 0x17, 0x9f, 0xb8, 0x5e, 0xd4, 0x1d, 0x38, 0x46, 0x9b, 0xf8, 0xe6, + 0xc7, 0xe3, 0xda, 0x0f, 0xa0, 0x43, 0xd3, 0x0f, 0x9b, 0xc3, 0x36, 0x09, 0x51, 0x76, 0xd9, 0x85, + 0x1e, 0x36, 0x7d, 0xd2, 0x19, 0xf4, 0x11, 0x9d, 0xf8, 0xea, 0x89, 0x4e, 0x03, 0x44, 0x9d, 0xd5, + 0xf8, 0xab, 0xe6, 0xde, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xef, 0xa1, 0xe8, 0x8e, 0x18, 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 + +// 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 { + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) + CreateNamespace(ctx context.Context, in *MsgCreateNamespace, opts ...grpc.CallOption) (*MsgCreateNamespaceResponse, error) + DeleteNamespace(ctx context.Context, in *MsgDeleteNamespace, opts ...grpc.CallOption) (*MsgDeleteNamespaceResponse, error) + UpdateNamespace(ctx context.Context, in *MsgUpdateNamespace, opts ...grpc.CallOption) (*MsgUpdateNamespaceResponse, error) + UpdateNamespaceRoles(ctx context.Context, in *MsgUpdateNamespaceRoles, opts ...grpc.CallOption) (*MsgUpdateNamespaceRolesResponse, error) + RevokeNamespaceRoles(ctx context.Context, in *MsgRevokeNamespaceRoles, opts ...grpc.CallOption) (*MsgRevokeNamespaceRolesResponse, error) + ClaimVoucher(ctx context.Context, in *MsgClaimVoucher, opts ...grpc.CallOption) (*MsgClaimVoucherResponse, error) +} + +type msgClient struct { + cc grpc1.ClientConn +} + +func NewMsgClient(cc grpc1.ClientConn) MsgClient { + return &msgClient{cc} +} + +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Msg/UpdateParams", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) CreateNamespace(ctx context.Context, in *MsgCreateNamespace, opts ...grpc.CallOption) (*MsgCreateNamespaceResponse, error) { + out := new(MsgCreateNamespaceResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Msg/CreateNamespace", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) DeleteNamespace(ctx context.Context, in *MsgDeleteNamespace, opts ...grpc.CallOption) (*MsgDeleteNamespaceResponse, error) { + out := new(MsgDeleteNamespaceResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Msg/DeleteNamespace", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) UpdateNamespace(ctx context.Context, in *MsgUpdateNamespace, opts ...grpc.CallOption) (*MsgUpdateNamespaceResponse, error) { + out := new(MsgUpdateNamespaceResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Msg/UpdateNamespace", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) UpdateNamespaceRoles(ctx context.Context, in *MsgUpdateNamespaceRoles, opts ...grpc.CallOption) (*MsgUpdateNamespaceRolesResponse, error) { + out := new(MsgUpdateNamespaceRolesResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Msg/UpdateNamespaceRoles", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) RevokeNamespaceRoles(ctx context.Context, in *MsgRevokeNamespaceRoles, opts ...grpc.CallOption) (*MsgRevokeNamespaceRolesResponse, error) { + out := new(MsgRevokeNamespaceRolesResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Msg/RevokeNamespaceRoles", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) ClaimVoucher(ctx context.Context, in *MsgClaimVoucher, opts ...grpc.CallOption) (*MsgClaimVoucherResponse, error) { + out := new(MsgClaimVoucherResponse) + err := c.cc.Invoke(ctx, "/injective.permissions.v1beta1.Msg/ClaimVoucher", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// MsgServer is the server API for Msg service. +type MsgServer interface { + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + CreateNamespace(context.Context, *MsgCreateNamespace) (*MsgCreateNamespaceResponse, error) + DeleteNamespace(context.Context, *MsgDeleteNamespace) (*MsgDeleteNamespaceResponse, error) + UpdateNamespace(context.Context, *MsgUpdateNamespace) (*MsgUpdateNamespaceResponse, error) + UpdateNamespaceRoles(context.Context, *MsgUpdateNamespaceRoles) (*MsgUpdateNamespaceRolesResponse, error) + RevokeNamespaceRoles(context.Context, *MsgRevokeNamespaceRoles) (*MsgRevokeNamespaceRolesResponse, error) + ClaimVoucher(context.Context, *MsgClaimVoucher) (*MsgClaimVoucherResponse, error) +} + +// UnimplementedMsgServer can be embedded to have forward compatible implementations. +type UnimplementedMsgServer struct { +} + +func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} +func (*UnimplementedMsgServer) CreateNamespace(ctx context.Context, req *MsgCreateNamespace) (*MsgCreateNamespaceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateNamespace not implemented") +} +func (*UnimplementedMsgServer) DeleteNamespace(ctx context.Context, req *MsgDeleteNamespace) (*MsgDeleteNamespaceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteNamespace not implemented") +} +func (*UnimplementedMsgServer) UpdateNamespace(ctx context.Context, req *MsgUpdateNamespace) (*MsgUpdateNamespaceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateNamespace not implemented") +} +func (*UnimplementedMsgServer) UpdateNamespaceRoles(ctx context.Context, req *MsgUpdateNamespaceRoles) (*MsgUpdateNamespaceRolesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateNamespaceRoles not implemented") +} +func (*UnimplementedMsgServer) RevokeNamespaceRoles(ctx context.Context, req *MsgRevokeNamespaceRoles) (*MsgRevokeNamespaceRolesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RevokeNamespaceRoles not implemented") +} +func (*UnimplementedMsgServer) ClaimVoucher(ctx context.Context, req *MsgClaimVoucher) (*MsgClaimVoucherResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ClaimVoucher not implemented") +} + +func RegisterMsgServer(s grpc1.Server, srv MsgServer) { + s.RegisterService(&_Msg_serviceDesc, srv) +} + +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.permissions.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) +} + +func _Msg_CreateNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCreateNamespace) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CreateNamespace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Msg/CreateNamespace", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CreateNamespace(ctx, req.(*MsgCreateNamespace)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_DeleteNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgDeleteNamespace) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).DeleteNamespace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Msg/DeleteNamespace", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).DeleteNamespace(ctx, req.(*MsgDeleteNamespace)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_UpdateNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateNamespace) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateNamespace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Msg/UpdateNamespace", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateNamespace(ctx, req.(*MsgUpdateNamespace)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_UpdateNamespaceRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateNamespaceRoles) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateNamespaceRoles(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Msg/UpdateNamespaceRoles", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateNamespaceRoles(ctx, req.(*MsgUpdateNamespaceRoles)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_RevokeNamespaceRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRevokeNamespaceRoles) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).RevokeNamespaceRoles(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Msg/RevokeNamespaceRoles", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).RevokeNamespaceRoles(ctx, req.(*MsgRevokeNamespaceRoles)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_ClaimVoucher_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgClaimVoucher) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ClaimVoucher(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.permissions.v1beta1.Msg/ClaimVoucher", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ClaimVoucher(ctx, req.(*MsgClaimVoucher)) + } + return interceptor(ctx, in, info, handler) +} + +var _Msg_serviceDesc = grpc.ServiceDesc{ + ServiceName: "injective.permissions.v1beta1.Msg", + HandlerType: (*MsgServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, + { + MethodName: "CreateNamespace", + Handler: _Msg_CreateNamespace_Handler, + }, + { + MethodName: "DeleteNamespace", + Handler: _Msg_DeleteNamespace_Handler, + }, + { + MethodName: "UpdateNamespace", + Handler: _Msg_UpdateNamespace_Handler, + }, + { + MethodName: "UpdateNamespaceRoles", + Handler: _Msg_UpdateNamespaceRoles_Handler, + }, + { + MethodName: "RevokeNamespaceRoles", + Handler: _Msg_RevokeNamespaceRoles_Handler, + }, + { + MethodName: "ClaimVoucher", + Handler: _Msg_ClaimVoucher_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "injective/permissions/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 *MsgCreateNamespace) 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 *MsgCreateNamespace) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCreateNamespace) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Namespace.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 *MsgCreateNamespaceResponse) 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 *MsgCreateNamespaceResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCreateNamespaceResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgDeleteNamespace) 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 *MsgDeleteNamespace) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgDeleteNamespace) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.NamespaceDenom) > 0 { + i -= len(m.NamespaceDenom) + copy(dAtA[i:], m.NamespaceDenom) + i = encodeVarintTx(dAtA, i, uint64(len(m.NamespaceDenom))) + 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 *MsgDeleteNamespaceResponse) 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 *MsgDeleteNamespaceResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgDeleteNamespaceResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgUpdateNamespace) 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 *MsgUpdateNamespace) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateNamespace) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.BurnsPaused != nil { + { + size, err := m.BurnsPaused.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + } + if m.SendsPaused != nil { + { + size, err := m.SendsPaused.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } + if m.MintsPaused != nil { + { + size, err := m.MintsPaused.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + if m.WasmHook != nil { + { + size, err := m.WasmHook.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + if len(m.NamespaceDenom) > 0 { + i -= len(m.NamespaceDenom) + copy(dAtA[i:], m.NamespaceDenom) + i = encodeVarintTx(dAtA, i, uint64(len(m.NamespaceDenom))) + 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 *MsgUpdateNamespace_MsgSetWasmHook) 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 *MsgUpdateNamespace_MsgSetWasmHook) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateNamespace_MsgSetWasmHook) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.NewValue) > 0 { + i -= len(m.NewValue) + copy(dAtA[i:], m.NewValue) + i = encodeVarintTx(dAtA, i, uint64(len(m.NewValue))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateNamespace_MsgSetMintsPaused) 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 *MsgUpdateNamespace_MsgSetMintsPaused) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateNamespace_MsgSetMintsPaused) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.NewValue { + i-- + if m.NewValue { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateNamespace_MsgSetSendsPaused) 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 *MsgUpdateNamespace_MsgSetSendsPaused) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateNamespace_MsgSetSendsPaused) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.NewValue { + i-- + if m.NewValue { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) 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 *MsgUpdateNamespace_MsgSetBurnsPaused) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.NewValue { + i-- + if m.NewValue { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateNamespaceResponse) 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 *MsgUpdateNamespaceResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateNamespaceResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgUpdateNamespaceRoles) 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 *MsgUpdateNamespaceRoles) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateNamespaceRoles) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.AddressRoles) > 0 { + for iNdEx := len(m.AddressRoles) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.AddressRoles[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + } + if len(m.RolePermissions) > 0 { + for iNdEx := len(m.RolePermissions) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.RolePermissions[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + } + if len(m.NamespaceDenom) > 0 { + i -= len(m.NamespaceDenom) + copy(dAtA[i:], m.NamespaceDenom) + i = encodeVarintTx(dAtA, i, uint64(len(m.NamespaceDenom))) + 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 *MsgUpdateNamespaceRolesResponse) 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 *MsgUpdateNamespaceRolesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateNamespaceRolesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgRevokeNamespaceRoles) 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 *MsgRevokeNamespaceRoles) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRevokeNamespaceRoles) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.AddressRolesToRevoke) > 0 { + for iNdEx := len(m.AddressRolesToRevoke) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.AddressRolesToRevoke[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + } + if len(m.NamespaceDenom) > 0 { + i -= len(m.NamespaceDenom) + copy(dAtA[i:], m.NamespaceDenom) + i = encodeVarintTx(dAtA, i, uint64(len(m.NamespaceDenom))) + 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 *MsgRevokeNamespaceRolesResponse) 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 *MsgRevokeNamespaceRolesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRevokeNamespaceRolesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgClaimVoucher) 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 *MsgClaimVoucher) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgClaimVoucher) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Originator) > 0 { + i -= len(m.Originator) + copy(dAtA[i:], m.Originator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Originator))) + 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 *MsgClaimVoucherResponse) 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 *MsgClaimVoucherResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgClaimVoucherResponse) 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 + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + 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 *MsgCreateNamespace) 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.Namespace.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgCreateNamespaceResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgDeleteNamespace) 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 = len(m.NamespaceDenom) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgDeleteNamespaceResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgUpdateNamespace) 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 = len(m.NamespaceDenom) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.WasmHook != nil { + l = m.WasmHook.Size() + n += 1 + l + sovTx(uint64(l)) + } + if m.MintsPaused != nil { + l = m.MintsPaused.Size() + n += 1 + l + sovTx(uint64(l)) + } + if m.SendsPaused != nil { + l = m.SendsPaused.Size() + n += 1 + l + sovTx(uint64(l)) + } + if m.BurnsPaused != nil { + l = m.BurnsPaused.Size() + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUpdateNamespace_MsgSetWasmHook) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.NewValue) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUpdateNamespace_MsgSetMintsPaused) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.NewValue { + n += 2 + } + return n +} + +func (m *MsgUpdateNamespace_MsgSetSendsPaused) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.NewValue { + n += 2 + } + return n +} + +func (m *MsgUpdateNamespace_MsgSetBurnsPaused) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.NewValue { + n += 2 + } + return n +} + +func (m *MsgUpdateNamespaceResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgUpdateNamespaceRoles) 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 = len(m.NamespaceDenom) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.RolePermissions) > 0 { + for _, e := range m.RolePermissions { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + if len(m.AddressRoles) > 0 { + for _, e := range m.AddressRoles { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgUpdateNamespaceRolesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgRevokeNamespaceRoles) 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 = len(m.NamespaceDenom) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.AddressRolesToRevoke) > 0 { + for _, e := range m.AddressRolesToRevoke { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgRevokeNamespaceRolesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgClaimVoucher) 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 = len(m.Originator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgClaimVoucherResponse) 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 *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 *MsgCreateNamespace) 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: MsgCreateNamespace: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateNamespace: 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 Namespace", 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.Namespace.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 *MsgCreateNamespaceResponse) 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: MsgCreateNamespaceResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateNamespaceResponse: 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 *MsgDeleteNamespace) 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: MsgDeleteNamespace: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgDeleteNamespace: 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 NamespaceDenom", 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.NamespaceDenom = string(dAtA[iNdEx:postIndex]) + 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 *MsgDeleteNamespaceResponse) 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: MsgDeleteNamespaceResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgDeleteNamespaceResponse: 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 *MsgUpdateNamespace) 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: MsgUpdateNamespace: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateNamespace: 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 NamespaceDenom", 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.NamespaceDenom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WasmHook", 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.WasmHook == nil { + m.WasmHook = &MsgUpdateNamespace_MsgSetWasmHook{} + } + if err := m.WasmHook.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MintsPaused", 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.MintsPaused == nil { + m.MintsPaused = &MsgUpdateNamespace_MsgSetMintsPaused{} + } + if err := m.MintsPaused.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SendsPaused", 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.SendsPaused == nil { + m.SendsPaused = &MsgUpdateNamespace_MsgSetSendsPaused{} + } + if err := m.SendsPaused.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BurnsPaused", 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.BurnsPaused == nil { + m.BurnsPaused = &MsgUpdateNamespace_MsgSetBurnsPaused{} + } + if err := m.BurnsPaused.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 *MsgUpdateNamespace_MsgSetWasmHook) 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: MsgSetWasmHook: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSetWasmHook: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewValue", 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.NewValue = string(dAtA[iNdEx:postIndex]) + 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 *MsgUpdateNamespace_MsgSetMintsPaused) 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: MsgSetMintsPaused: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSetMintsPaused: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NewValue", 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.NewValue = 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 *MsgUpdateNamespace_MsgSetSendsPaused) 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: MsgSetSendsPaused: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSetSendsPaused: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NewValue", 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.NewValue = 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 *MsgUpdateNamespace_MsgSetBurnsPaused) 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: MsgSetBurnsPaused: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSetBurnsPaused: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NewValue", 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.NewValue = 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 *MsgUpdateNamespaceResponse) 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: MsgUpdateNamespaceResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateNamespaceResponse: 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 *MsgUpdateNamespaceRoles) 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: MsgUpdateNamespaceRoles: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateNamespaceRoles: 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 NamespaceDenom", 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.NamespaceDenom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RolePermissions", 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 + } + m.RolePermissions = append(m.RolePermissions, &Role{}) + if err := m.RolePermissions[len(m.RolePermissions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AddressRoles", 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 + } + m.AddressRoles = append(m.AddressRoles, &AddressRoles{}) + if err := m.AddressRoles[len(m.AddressRoles)-1].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 *MsgUpdateNamespaceRolesResponse) 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: MsgUpdateNamespaceRolesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateNamespaceRolesResponse: 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 *MsgRevokeNamespaceRoles) 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: MsgRevokeNamespaceRoles: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRevokeNamespaceRoles: 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 NamespaceDenom", 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.NamespaceDenom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AddressRolesToRevoke", 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 + } + m.AddressRolesToRevoke = append(m.AddressRolesToRevoke, &AddressRoles{}) + if err := m.AddressRolesToRevoke[len(m.AddressRolesToRevoke)-1].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 *MsgRevokeNamespaceRolesResponse) 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: MsgRevokeNamespaceRolesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRevokeNamespaceRolesResponse: 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 *MsgClaimVoucher) 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: MsgClaimVoucher: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgClaimVoucher: 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 Originator", 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.Originator = string(dAtA[iNdEx:postIndex]) + 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 *MsgClaimVoucherResponse) 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: MsgClaimVoucherResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgClaimVoucherResponse: 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 + 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/permissions/types/types.go b/chain/permissions/types/types.go new file mode 100644 index 00000000..563d1b68 --- /dev/null +++ b/chain/permissions/types/types.go @@ -0,0 +1,75 @@ +package types + +import ( + "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + + tftypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types" +) + +const ( + EVERYONE = "EVERYONE" + MaxPerm = uint32(Action_MINT) | uint32(Action_RECEIVE) | uint32(Action_BURN) +) + +type WasmHookMsg struct { + From sdk.AccAddress `json:"from_address"` + To sdk.AccAddress `json:"to_address"` + Action string `json:"action"` + Amounts sdk.Coins `json:"amounts"` +} + +func (n *Namespace) Validate() error { + if _, _, err := tftypes.DeconstructDenom(n.Denom); err != nil { + return errors.Wrap(err, "permissions namespace can only be applied to tokenfactory denoms") + } + + // role_permissions + hasEveryoneSet := false + foundRoles := make(map[string]struct{}, len(n.RolePermissions)) + for _, rolePerm := range n.RolePermissions { + if rolePerm.Role == EVERYONE { + hasEveryoneSet = true + } + if _, ok := foundRoles[rolePerm.Role]; ok { + return errors.Wrapf(ErrInvalidPermission, "permissions for the role %s set multiple times?", rolePerm.Role) + } + if rolePerm.Permissions > MaxPerm { + return errors.Wrapf(ErrInvalidPermission, "permissions %d for the role %s is bigger than maximum expected %d", rolePerm.Permissions, rolePerm.Role, MaxPerm) + } + foundRoles[rolePerm.Role] = struct{}{} + } + + if !hasEveryoneSet { + return errors.Wrapf(ErrInvalidPermission, "permissions for role %s should be explicitly set", EVERYONE) + } + + // address_roles + foundAddresses := make(map[string]struct{}, len(n.AddressRoles)) + for _, addrRoles := range n.AddressRoles { + if _, err := sdk.AccAddressFromBech32(addrRoles.Address); err != nil { + return errors.Wrapf(err, "invalid address %s", addrRoles.Address) + } + if _, ok := foundAddresses[addrRoles.Address]; ok { + return errors.Wrapf(ErrInvalidRole, "address %s is assigned new roles multiple times?", addrRoles.Address) + } + for _, role := range addrRoles.Roles { + if _, ok := foundRoles[role]; !ok { + return errors.Wrapf(ErrUnknownRole, "role %s has no defined permissions", role) + } + if role == EVERYONE { + return errors.Wrapf(ErrInvalidRole, "role %s should not be explicitly attached to address, you need to remove address from the list completely instead", EVERYONE) + } + } + foundAddresses[addrRoles.Address] = struct{}{} + } + + // existing wasm hook contract + if n.WasmHook != "" { + if _, err := sdk.AccAddressFromBech32(n.WasmHook); err != nil { + return errors.Wrap(err, "invalid WasmHook address") + } + } + + return nil +} diff --git a/chain/stream/types/query.pb.go b/chain/stream/types/query.pb.go index 1e7e3f0c..be31fd77 100644 --- a/chain/stream/types/query.pb.go +++ b/chain/stream/types/query.pb.go @@ -5,6 +5,7 @@ package types import ( context "context" + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" types "github.com/InjectiveLabs/sdk-go/chain/exchange/types" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" @@ -827,13 +828,13 @@ func (m *DerivativeOrder) GetIsMarket() bool { } type Position struct { - MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - IsLong bool `protobuf:"varint,3,opt,name=isLong,proto3" json:"isLong,omitempty"` - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` - EntryPrice github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=entry_price,json=entryPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"entry_price"` - Margin github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,opt,name=margin,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"margin"` - CumulativeFundingEntry github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=cumulative_funding_entry,json=cumulativeFundingEntry,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"cumulative_funding_entry"` + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + IsLong bool `protobuf:"varint,3,opt,name=isLong,proto3" json:"isLong,omitempty"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` + EntryPrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=entry_price,json=entryPrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"entry_price"` + Margin cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=margin,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"margin"` + CumulativeFundingEntry cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=cumulative_funding_entry,json=cumulativeFundingEntry,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cumulative_funding_entry"` } func (m *Position) Reset() { *m = Position{} } @@ -891,9 +892,9 @@ func (m *Position) GetIsLong() bool { } type OraclePrice struct { - Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` - Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` + Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` + Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` } func (m *OraclePrice) Reset() { *m = OraclePrice{} } @@ -944,18 +945,18 @@ func (m *OraclePrice) GetType() string { } type SpotTrade struct { - MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - IsBuy bool `protobuf:"varint,2,opt,name=is_buy,json=isBuy,proto3" json:"is_buy,omitempty"` - ExecutionType string `protobuf:"bytes,3,opt,name=executionType,proto3" json:"executionType,omitempty"` - Quantity github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=quantity,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"quantity"` - Price github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,5,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"price"` + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + IsBuy bool `protobuf:"varint,2,opt,name=is_buy,json=isBuy,proto3" json:"is_buy,omitempty"` + ExecutionType string `protobuf:"bytes,3,opt,name=executionType,proto3" json:"executionType,omitempty"` + Quantity cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=quantity,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"quantity"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,5,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` // bytes32 subaccount ID that executed the trade - SubaccountId string `protobuf:"bytes,6,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - Fee github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=fee,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fee"` - OrderHash []byte `protobuf:"bytes,8,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` - FeeRecipientAddress string `protobuf:"bytes,9,opt,name=fee_recipient_address,json=feeRecipientAddress,proto3" json:"fee_recipient_address,omitempty"` - Cid string `protobuf:"bytes,10,opt,name=cid,proto3" json:"cid,omitempty"` - TradeId string `protobuf:"bytes,11,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` + SubaccountId string `protobuf:"bytes,6,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + Fee cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=fee,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fee"` + OrderHash []byte `protobuf:"bytes,8,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + FeeRecipientAddress string `protobuf:"bytes,9,opt,name=fee_recipient_address,json=feeRecipientAddress,proto3" json:"fee_recipient_address,omitempty"` + Cid string `protobuf:"bytes,10,opt,name=cid,proto3" json:"cid,omitempty"` + TradeId string `protobuf:"bytes,11,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` } func (m *SpotTrade) Reset() { *m = SpotTrade{} } @@ -1048,17 +1049,17 @@ func (m *SpotTrade) GetTradeId() string { } type DerivativeTrade struct { - MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - IsBuy bool `protobuf:"varint,2,opt,name=is_buy,json=isBuy,proto3" json:"is_buy,omitempty"` - ExecutionType string `protobuf:"bytes,3,opt,name=executionType,proto3" json:"executionType,omitempty"` - SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - PositionDelta *types.PositionDelta `protobuf:"bytes,5,opt,name=position_delta,json=positionDelta,proto3" json:"position_delta,omitempty"` - Payout github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,opt,name=payout,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"payout"` - Fee github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=fee,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fee"` - OrderHash string `protobuf:"bytes,8,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` - FeeRecipientAddress string `protobuf:"bytes,9,opt,name=fee_recipient_address,json=feeRecipientAddress,proto3" json:"fee_recipient_address,omitempty"` - Cid string `protobuf:"bytes,10,opt,name=cid,proto3" json:"cid,omitempty"` - TradeId string `protobuf:"bytes,11,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + IsBuy bool `protobuf:"varint,2,opt,name=is_buy,json=isBuy,proto3" json:"is_buy,omitempty"` + ExecutionType string `protobuf:"bytes,3,opt,name=executionType,proto3" json:"executionType,omitempty"` + SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + PositionDelta *types.PositionDelta `protobuf:"bytes,5,opt,name=position_delta,json=positionDelta,proto3" json:"position_delta,omitempty"` + Payout cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=payout,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"payout"` + Fee cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=fee,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"fee"` + OrderHash string `protobuf:"bytes,8,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + FeeRecipientAddress string `protobuf:"bytes,9,opt,name=fee_recipient_address,json=feeRecipientAddress,proto3" json:"fee_recipient_address,omitempty"` + Cid string `protobuf:"bytes,10,opt,name=cid,proto3" json:"cid,omitempty"` + TradeId string `protobuf:"bytes,11,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` } func (m *DerivativeTrade) Reset() { *m = DerivativeTrade{} } @@ -1520,109 +1521,110 @@ func init() { } var fileDescriptor_e23b7dcfb2fbc9c7 = []byte{ - // 1630 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0x4b, 0x73, 0xdb, 0x46, - 0x12, 0x16, 0x44, 0x89, 0x22, 0x9a, 0x94, 0x44, 0x8d, 0x65, 0x15, 0xac, 0xdd, 0x95, 0x6c, 0xc8, - 0x0f, 0xc9, 0x0f, 0x52, 0xd6, 0x5e, 0x76, 0x4f, 0x6b, 0x53, 0x5a, 0x95, 0xe5, 0x92, 0xcb, 0x2e, - 0x48, 0xde, 0xad, 0x72, 0xad, 0x17, 0x85, 0xc7, 0x90, 0xc4, 0x92, 0x04, 0x28, 0x0c, 0xa0, 0x32, - 0x4f, 0x7b, 0xcd, 0x29, 0xe5, 0x6b, 0x8e, 0xb9, 0xe6, 0x90, 0x4b, 0xfe, 0x41, 0x4e, 0x3e, 0xa5, - 0x7c, 0x4c, 0xe5, 0xe0, 0xa4, 0xec, 0xfc, 0x82, 0xfc, 0x82, 0xd4, 0x3c, 0x00, 0x02, 0x20, 0x45, - 0x52, 0x8a, 0x5d, 0x3e, 0x11, 0x18, 0x74, 0x7f, 0xdf, 0x74, 0xcf, 0xf4, 0x37, 0xcd, 0x81, 0xeb, - 0x8e, 0xfb, 0x3f, 0x6c, 0x05, 0xce, 0x29, 0xae, 0x92, 0xc0, 0xc7, 0x46, 0xa7, 0x7a, 0x7a, 0xdf, - 0xc4, 0x81, 0x71, 0xbf, 0x7a, 0x12, 0x62, 0xbf, 0x57, 0xe9, 0xfa, 0x5e, 0xe0, 0x21, 0x25, 0xb6, - 0xaa, 0x70, 0xab, 0x8a, 0xb0, 0x5a, 0x5d, 0xb3, 0x3c, 0xd2, 0xf1, 0x48, 0xd5, 0x34, 0x08, 0x8e, - 0x5d, 0x2d, 0xcf, 0x71, 0xb9, 0xe7, 0xea, 0x72, 0xc3, 0x6b, 0x78, 0xec, 0xb1, 0x4a, 0x9f, 0xc4, - 0xe8, 0xad, 0x3e, 0x2b, 0x7e, 0x65, 0x35, 0x0d, 0xb7, 0xd1, 0x77, 0xc6, 0xa7, 0xd8, 0x0d, 0x88, - 0x30, 0xdc, 0x1a, 0x65, 0x28, 0x06, 0xb8, 0xa9, 0xfa, 0x65, 0x01, 0xe6, 0x8f, 0xd8, 0xe4, 0x34, - 0x7c, 0x12, 0x62, 0x12, 0x20, 0x1b, 0x96, 0x4d, 0xc3, 0x6d, 0xe9, 0xa6, 0xd1, 0x36, 0x5c, 0x0b, - 0x13, 0xbd, 0xee, 0xb4, 0x03, 0xec, 0x2b, 0xd2, 0x55, 0x69, 0xb3, 0xb8, 0x73, 0xb7, 0x72, 0x56, - 0x50, 0x95, 0x9a, 0xe1, 0xb6, 0x6a, 0xc2, 0x69, 0x9f, 0xf9, 0xd4, 0x66, 0xde, 0xbc, 0x5b, 0x97, - 0x34, 0x64, 0x0e, 0x7c, 0x41, 0xa7, 0xb0, 0x4a, 0x42, 0xd3, 0xb0, 0x2c, 0x2f, 0x74, 0x03, 0xdd, - 0xc6, 0x5d, 0x8f, 0x38, 0x41, 0xcc, 0x35, 0xcd, 0xb8, 0x76, 0xce, 0xe6, 0x3a, 0x8a, 0x7d, 0xf7, - 0x84, 0x6b, 0x8a, 0x51, 0x21, 0x67, 0x7c, 0x47, 0x2f, 0x00, 0x91, 0xae, 0x17, 0xe8, 0x81, 0x6f, - 0xd8, 0xfd, 0xd8, 0x72, 0x8c, 0xef, 0xe6, 0xd9, 0x7c, 0xc7, 0xcc, 0x3c, 0xc5, 0x51, 0xa6, 0x38, - 0xc9, 0x71, 0x54, 0x07, 0xc5, 0xc6, 0xbe, 0x73, 0x6a, 0x50, 0x84, 0x0c, 0xc3, 0xcc, 0x05, 0x18, - 0x56, 0xfa, 0x68, 0x29, 0x9e, 0x28, 0x06, 0xcf, 0xb7, 0xb1, 0x1f, 0x33, 0xcc, 0x8e, 0x63, 0x78, - 0xca, 0xcc, 0x07, 0x63, 0x48, 0x8e, 0x67, 0x62, 0x48, 0x33, 0xe4, 0x2f, 0xc0, 0x90, 0x88, 0x21, - 0xc5, 0x83, 0x61, 0xa5, 0x1f, 0x83, 0xe9, 0x79, 0xad, 0x98, 0x65, 0x8e, 0xb1, 0x6c, 0x8d, 0x61, - 0xa1, 0x2e, 0x29, 0xa2, 0xe5, 0x38, 0x14, 0x86, 0x26, 0x68, 0x4e, 0xe0, 0xcf, 0xd9, 0x70, 0x52, - 0x64, 0x85, 0x8b, 0x91, 0xad, 0x66, 0xa2, 0x4a, 0x52, 0xbe, 0x80, 0x32, 0xdb, 0x71, 0x8e, 0xe7, - 0xc6, 0x34, 0xf2, 0x38, 0x9a, 0x67, 0x91, 0x47, 0x8a, 0x66, 0xb1, 0x9b, 0x1e, 0x46, 0x06, 0x5c, - 0xf2, 0x7c, 0xc3, 0x6a, 0x63, 0xbd, 0xeb, 0x3b, 0x16, 0x8e, 0xe0, 0x81, 0xc1, 0xdf, 0x19, 0x15, - 0x05, 0x75, 0x7a, 0x46, 0x7d, 0x52, 0x04, 0x4b, 0x5e, 0xf6, 0x83, 0xfa, 0xf5, 0x1c, 0x2c, 0x44, - 0x82, 0x40, 0xba, 0x9e, 0x4b, 0x30, 0xba, 0x06, 0x25, 0xb3, 0xed, 0x59, 0x2d, 0xbd, 0x89, 0x9d, - 0x46, 0x33, 0x60, 0x4a, 0x30, 0xa3, 0x15, 0xd9, 0xd8, 0x23, 0x36, 0x84, 0xfe, 0x02, 0xc0, 0x4d, - 0x02, 0xa7, 0x83, 0x59, 0xf9, 0xe6, 0x34, 0x99, 0x8d, 0x1c, 0x3b, 0x1d, 0x8c, 0x1e, 0xc3, 0x7c, - 0x4a, 0x53, 0x94, 0xdc, 0xd5, 0xdc, 0x66, 0x71, 0xe7, 0xc6, 0x44, 0x62, 0xa2, 0x95, 0x92, 0xfa, - 0x81, 0x5e, 0xc2, 0xa5, 0x21, 0xca, 0xa1, 0xcc, 0x30, 0xc4, 0xbb, 0xe7, 0x91, 0x0c, 0x0d, 0x0d, - 0xca, 0x04, 0xda, 0x83, 0x62, 0x42, 0x20, 0x94, 0x59, 0x06, 0xbb, 0x31, 0x02, 0x36, 0x52, 0x01, - 0x0d, 0xfa, 0x82, 0x80, 0xfe, 0x05, 0x4b, 0x03, 0x52, 0xa0, 0xe4, 0x19, 0xd6, 0x88, 0x5d, 0xb0, - 0x97, 0xae, 0x77, 0xad, 0x9c, 0x15, 0x00, 0xf4, 0x58, 0xcc, 0x8e, 0x17, 0xa6, 0x32, 0x37, 0x0e, - 0xf1, 0x28, 0x2a, 0x8a, 0xe7, 0x5d, 0xdb, 0x08, 0xc4, 0x1c, 0x79, 0x21, 0xa2, 0xff, 0xa4, 0xe6, - 0x28, 0x10, 0x0b, 0x0c, 0xb1, 0x3a, 0xc9, 0x1c, 0x93, 0xb8, 0xe5, 0x6c, 0x99, 0x23, 0x3d, 0x5b, - 0xe0, 0x7a, 0xc8, 0x4c, 0x89, 0x22, 0x8f, 0x9b, 0x74, 0x5c, 0x52, 0x02, 0x3c, 0x5d, 0xda, 0x7c, - 0x90, 0xa0, 0xd6, 0xf0, 0xd2, 0x8e, 0x69, 0xe0, 0xbc, 0x34, 0xc3, 0x8a, 0x3a, 0x22, 0x7b, 0x00, - 0x72, 0x5c, 0x8b, 0x4a, 0x91, 0x21, 0xab, 0xe3, 0xab, 0x59, 0xeb, 0x3b, 0xd1, 0x12, 0x48, 0x96, - 0x2e, 0x51, 0x4a, 0xe3, 0x4a, 0x20, 0x51, 0xb4, 0x5a, 0x29, 0x51, 0xa8, 0x44, 0xad, 0xc3, 0x62, - 0x66, 0x86, 0xa8, 0x0c, 0x39, 0x82, 0x4f, 0x44, 0x69, 0xd2, 0x47, 0xf4, 0x10, 0xe4, 0x38, 0x29, - 0xe2, 0x40, 0xdd, 0x98, 0x20, 0x19, 0x5a, 0xdf, 0x4b, 0xfd, 0x56, 0x02, 0x39, 0xfe, 0x80, 0xfe, - 0x04, 0x72, 0xc7, 0xf0, 0x5b, 0x38, 0xd0, 0x1d, 0x9b, 0x11, 0xc9, 0x5a, 0x81, 0x0f, 0x1c, 0xd8, - 0xe8, 0x01, 0x80, 0x19, 0xf6, 0xf4, 0x36, 0x3e, 0xc5, 0x6d, 0xa2, 0x4c, 0xb3, 0xd8, 0xae, 0x25, - 0xe8, 0xe2, 0xb6, 0x23, 0x22, 0x3c, 0xa4, 0x96, 0x9a, 0x6c, 0x86, 0x3d, 0xf6, 0x44, 0x50, 0x0d, - 0x8a, 0x04, 0xb7, 0xdb, 0x11, 0x44, 0x6e, 0x52, 0x08, 0xa0, 0x5e, 0x1c, 0x43, 0x7d, 0x2d, 0x41, - 0x31, 0xa1, 0x1c, 0x48, 0x81, 0x39, 0x51, 0xdf, 0x62, 0xc2, 0xd1, 0x2b, 0x6a, 0x40, 0x21, 0x16, - 0x23, 0x3e, 0xdb, 0x2b, 0x15, 0xde, 0x94, 0x55, 0x68, 0x53, 0x16, 0x73, 0xec, 0x7a, 0x8e, 0x5b, - 0xdb, 0x7e, 0xf3, 0x6e, 0x7d, 0xea, 0x9b, 0x9f, 0xd7, 0x37, 0x1b, 0x4e, 0xd0, 0x0c, 0xcd, 0x8a, - 0xe5, 0x75, 0xaa, 0xa2, 0x83, 0xe3, 0x3f, 0xf7, 0x88, 0xdd, 0xaa, 0x06, 0xbd, 0x2e, 0x26, 0xcc, - 0x81, 0x68, 0x31, 0xb8, 0xfa, 0x85, 0x04, 0x68, 0x50, 0x7a, 0xd0, 0x06, 0xcc, 0x27, 0x54, 0x2c, - 0x4e, 0x68, 0xa9, 0x3f, 0x78, 0x60, 0xa3, 0x27, 0x50, 0x88, 0xf5, 0x8d, 0x4f, 0xf2, 0xce, 0x39, - 0xf4, 0x8d, 0x69, 0xfc, 0x94, 0x16, 0x43, 0xa8, 0x2e, 0x2c, 0x0d, 0x18, 0xa1, 0x65, 0x98, 0xb5, - 0xb1, 0xeb, 0x75, 0xc4, 0x04, 0xf8, 0x0b, 0xda, 0x85, 0x39, 0xe1, 0x36, 0x64, 0xeb, 0x0c, 0x2c, - 0x44, 0x9a, 0x30, 0xf2, 0x54, 0xbf, 0x97, 0x60, 0x31, 0x23, 0x40, 0x68, 0x17, 0xf2, 0x24, 0x30, - 0x82, 0x90, 0x30, 0xbe, 0x85, 0xd1, 0x87, 0x56, 0xec, 0x76, 0xc4, 0x5c, 0x34, 0xe1, 0x4a, 0x4f, - 0x1b, 0xb6, 0x49, 0xf5, 0xa6, 0x41, 0x9a, 0x6c, 0x82, 0x25, 0xb1, 0x6d, 0x1f, 0x19, 0xa4, 0x49, - 0x6b, 0xc1, 0x72, 0x6c, 0xd6, 0xd4, 0xc9, 0x1a, 0x7d, 0x44, 0x7f, 0x87, 0x59, 0xf6, 0x59, 0xb4, - 0x61, 0x1b, 0x13, 0x08, 0xa6, 0xc6, 0x3d, 0xd4, 0x2e, 0xc8, 0xf1, 0xd8, 0xe8, 0x12, 0xd8, 0x8f, - 0x48, 0x78, 0xc6, 0x6e, 0x8f, 0xca, 0x18, 0x85, 0x3c, 0x74, 0x3a, 0x0e, 0xc7, 0x15, 0x89, 0x13, - 0x8c, 0x3f, 0x48, 0x70, 0x79, 0xa8, 0xca, 0x7e, 0xa6, 0xe4, 0xfd, 0x23, 0x9d, 0xbc, 0xad, 0x89, - 0xcf, 0x86, 0x28, 0xa0, 0xaf, 0x24, 0x58, 0xcc, 0x7c, 0x1a, 0x9d, 0xc9, 0xc3, 0x74, 0x26, 0xb7, - 0x47, 0xef, 0xbd, 0x08, 0xf8, 0x8c, 0x7c, 0x52, 0x2a, 0x87, 0xe8, 0x1c, 0x9c, 0xc5, 0x55, 0xd0, - 0x0a, 0x0e, 0x79, 0xc2, 0xde, 0xd5, 0xef, 0x72, 0x50, 0x88, 0xe4, 0x7a, 0xf4, 0xa4, 0x06, 0x2a, - 0x76, 0x7a, 0x48, 0xc5, 0xae, 0x40, 0xde, 0x21, 0x87, 0x9e, 0xdb, 0x10, 0x44, 0xe2, 0x0d, 0x3d, - 0x86, 0xc2, 0x49, 0x68, 0xb8, 0x81, 0x13, 0xf4, 0x58, 0x1a, 0xe5, 0x5a, 0x85, 0x4e, 0xf1, 0xa7, - 0x77, 0xeb, 0x37, 0x27, 0xd0, 0x94, 0x3d, 0x6c, 0x69, 0xb1, 0x3f, 0x7a, 0x0a, 0x45, 0xec, 0x06, - 0x7e, 0x8f, 0x1f, 0x24, 0xac, 0xef, 0x3f, 0x3f, 0x1c, 0x30, 0x08, 0x76, 0x9e, 0xa0, 0x7d, 0xc8, - 0x77, 0x0c, 0xbf, 0xe1, 0xb8, 0xac, 0xc3, 0x3f, 0x3f, 0x96, 0xf0, 0x46, 0x4d, 0x50, 0xac, 0xb0, - 0x13, 0xb6, 0xf9, 0x89, 0x5c, 0x0f, 0x5d, 0xdb, 0x71, 0x1b, 0x3a, 0x23, 0x62, 0x5d, 0xfd, 0xf9, - 0x91, 0x57, 0xfa, 0x78, 0xfb, 0x1c, 0xee, 0x9f, 0x14, 0x4d, 0xfd, 0x3f, 0x14, 0x13, 0xa7, 0x23, - 0xcd, 0x3a, 0xe9, 0x75, 0x4c, 0xaf, 0x2d, 0x16, 0x4d, 0xbc, 0xa1, 0x3d, 0x98, 0xe5, 0x39, 0x9a, - 0xbe, 0x10, 0x3b, 0x77, 0x46, 0x08, 0x66, 0xe8, 0x98, 0x28, 0x09, 0xf6, 0xac, 0xfe, 0x9a, 0xe3, - 0xb2, 0xc0, 0xda, 0xb2, 0xd1, 0xfb, 0xe6, 0x32, 0xdd, 0x12, 0xba, 0x19, 0xf6, 0xd8, 0x2c, 0x0a, - 0xda, 0xac, 0x43, 0x6a, 0x61, 0x0f, 0x5d, 0x87, 0x79, 0xfc, 0x0a, 0x5b, 0x21, 0xdd, 0x78, 0xc7, - 0x7d, 0xf8, 0xf4, 0xe0, 0x47, 0xdd, 0x37, 0x71, 0x36, 0x66, 0xff, 0x48, 0x36, 0x06, 0xca, 0x20, - 0x3f, 0xa4, 0x0c, 0x1e, 0x40, 0xae, 0x8e, 0xf1, 0x05, 0x17, 0x9d, 0xba, 0x66, 0x54, 0xaa, 0x90, - 0x55, 0xa9, 0xbf, 0xc1, 0xe5, 0x3a, 0xc6, 0xba, 0x8f, 0x2d, 0xa7, 0xeb, 0x60, 0x37, 0xd0, 0x0d, - 0xdb, 0xf6, 0x31, 0x21, 0xec, 0x9f, 0x96, 0x2c, 0xfe, 0xdd, 0x5c, 0xaa, 0x63, 0xac, 0x45, 0x16, - 0x0f, 0xb9, 0x41, 0xa4, 0x6f, 0xd0, 0xd7, 0xb7, 0x2b, 0x50, 0x60, 0x0d, 0x3a, 0x0d, 0xa6, 0xc8, - 0xbb, 0x04, 0xf6, 0x7e, 0x60, 0xab, 0xbf, 0xe5, 0x92, 0xca, 0xf5, 0xa9, 0x17, 0x7b, 0x20, 0xb5, - 0x33, 0x43, 0x52, 0xfb, 0x0c, 0x16, 0xa2, 0xa6, 0x52, 0xb7, 0x71, 0x3b, 0x30, 0xc4, 0x1f, 0xff, - 0xad, 0x51, 0x22, 0x19, 0x29, 0xdc, 0x1e, 0x75, 0xd0, 0xe6, 0xbb, 0xc9, 0x57, 0x5a, 0xfe, 0x5d, - 0xa3, 0xe7, 0x85, 0xc1, 0x45, 0xcb, 0x9f, 0x7b, 0x7f, 0x92, 0x45, 0x97, 0x3f, 0xc3, 0xa2, 0x1f, - 0x43, 0x29, 0x75, 0xdd, 0x72, 0x03, 0x16, 0x52, 0xcb, 0x42, 0x4f, 0xdf, 0x1c, 0x5d, 0xbd, 0xe4, - 0xba, 0xb0, 0x73, 0x35, 0xde, 0x17, 0xbc, 0x5d, 0x93, 0x35, 0x39, 0xda, 0x18, 0x44, 0xfd, 0x37, - 0x2c, 0x66, 0xfe, 0xe4, 0x7f, 0x24, 0xe0, 0x63, 0x28, 0xa5, 0x6e, 0x56, 0x3e, 0x0e, 0xea, 0x76, - 0xe2, 0x2f, 0x86, 0x00, 0x4e, 0x7b, 0x48, 0x83, 0x1e, 0x68, 0xf0, 0x06, 0x10, 0xad, 0x42, 0x41, - 0x90, 0x46, 0x2e, 0xf1, 0xbb, 0xfa, 0x10, 0x94, 0xb3, 0xee, 0xf1, 0x26, 0x8c, 0x42, 0xbd, 0x03, - 0x4b, 0x03, 0x77, 0x1b, 0xa9, 0xe3, 0x20, 0xd7, 0x3f, 0x0e, 0x6e, 0x1f, 0x52, 0xe3, 0x4c, 0x5b, - 0x84, 0x16, 0xa1, 0xf8, 0xdc, 0x25, 0x5d, 0x6c, 0x39, 0x75, 0x07, 0xdb, 0xe5, 0x29, 0x04, 0x90, - 0xaf, 0x79, 0x5e, 0x0b, 0xdb, 0x65, 0x09, 0x15, 0x61, 0xee, 0x89, 0x11, 0x58, 0x4d, 0x6c, 0x97, - 0xa7, 0xd1, 0x3c, 0xc8, 0xbb, 0x34, 0xb4, 0x76, 0x1b, 0xdb, 0xe5, 0xdc, 0x4e, 0x03, 0xf2, 0xfc, - 0x9e, 0x04, 0xbd, 0x8c, 0x9f, 0x6e, 0x8d, 0x68, 0x2c, 0x93, 0x97, 0xac, 0xab, 0x9b, 0xe3, 0x0d, - 0xf9, 0xe5, 0xcb, 0xb6, 0x54, 0xfb, 0xef, 0x9b, 0xf7, 0x6b, 0xd2, 0xdb, 0xf7, 0x6b, 0xd2, 0x2f, - 0xef, 0xd7, 0xa4, 0xd7, 0x1f, 0xd6, 0xa6, 0xde, 0x7e, 0x58, 0x9b, 0xfa, 0xf1, 0xc3, 0xda, 0xd4, - 0x8b, 0xbd, 0x44, 0x71, 0x1d, 0x44, 0x78, 0x87, 0x86, 0x49, 0xaa, 0x31, 0xfa, 0x3d, 0xcb, 0xf3, - 0x71, 0xf2, 0xb5, 0x69, 0x38, 0x6e, 0x74, 0x69, 0xcd, 0xca, 0xcf, 0xcc, 0xb3, 0x9b, 0xe0, 0xbf, - 0xfe, 0x1e, 0x00, 0x00, 0xff, 0xff, 0xd8, 0xec, 0xaf, 0x5b, 0xd5, 0x16, 0x00, 0x00, + // 1640 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xcd, 0x6e, 0xdb, 0xc6, + 0x16, 0xb6, 0x2c, 0x5b, 0x16, 0x8f, 0x64, 0x5b, 0x9e, 0x38, 0x06, 0xe3, 0xdc, 0x6b, 0x27, 0x74, + 0x72, 0x63, 0xe7, 0x47, 0x72, 0x7c, 0x71, 0x81, 0x5b, 0x74, 0x91, 0x44, 0x76, 0x83, 0x38, 0x70, + 0xd0, 0x80, 0x76, 0x5a, 0x20, 0x68, 0x4a, 0x50, 0xe4, 0x48, 0x9a, 0x4a, 0x22, 0x65, 0x0e, 0x69, + 0x44, 0x4f, 0xd0, 0xae, 0x8a, 0x6c, 0xbb, 0xec, 0xb6, 0x8b, 0x3e, 0x44, 0xbb, 0xc9, 0xaa, 0xc8, + 0xb2, 0x28, 0x8a, 0xb4, 0x48, 0x5e, 0xa4, 0x98, 0x1f, 0x52, 0x24, 0x25, 0x4b, 0x72, 0x9a, 0x22, + 0x2b, 0x91, 0xa3, 0x73, 0xbe, 0x6f, 0xce, 0x99, 0x39, 0xdf, 0x1c, 0x0e, 0x5c, 0x21, 0xce, 0x57, + 0xd8, 0xf2, 0xc9, 0x09, 0xae, 0x50, 0xdf, 0xc3, 0x66, 0xa7, 0x72, 0x72, 0xbb, 0x86, 0x7d, 0xf3, + 0x76, 0xe5, 0x38, 0xc0, 0x5e, 0xaf, 0xdc, 0xf5, 0x5c, 0xdf, 0x45, 0x6a, 0x64, 0x55, 0x16, 0x56, + 0x65, 0x69, 0xb5, 0xba, 0x66, 0xb9, 0xb4, 0xe3, 0xd2, 0x4a, 0xcd, 0xa4, 0x38, 0x72, 0xb5, 0x5c, + 0xe2, 0x08, 0xcf, 0xd5, 0xe5, 0x86, 0xdb, 0x70, 0xf9, 0x63, 0x85, 0x3d, 0xc9, 0xd1, 0x6b, 0x7d, + 0x56, 0xfc, 0xdc, 0x6a, 0x9a, 0x4e, 0xa3, 0xef, 0x8c, 0x4f, 0xb0, 0xe3, 0x53, 0x69, 0xb8, 0x35, + 0xca, 0x50, 0x0e, 0x08, 0x53, 0xed, 0xdb, 0x3c, 0xcc, 0x1f, 0xf2, 0xc9, 0xe9, 0xf8, 0x38, 0xc0, + 0xd4, 0x47, 0x36, 0x2c, 0xd7, 0x4c, 0xa7, 0x65, 0xd4, 0xcc, 0xb6, 0xe9, 0x58, 0x98, 0x1a, 0x75, + 0xd2, 0xf6, 0xb1, 0xa7, 0x66, 0x2e, 0x65, 0x36, 0x0b, 0x3b, 0x37, 0xcb, 0xa7, 0x05, 0x55, 0xae, + 0x9a, 0x4e, 0xab, 0x2a, 0x9d, 0xee, 0x73, 0x9f, 0xea, 0xcc, 0xcb, 0xd7, 0xeb, 0x19, 0x1d, 0xd5, + 0x06, 0xfe, 0x41, 0x27, 0xb0, 0x4a, 0x83, 0x9a, 0x69, 0x59, 0x6e, 0xe0, 0xf8, 0x86, 0x8d, 0xbb, + 0x2e, 0x25, 0x7e, 0xc4, 0x35, 0xcd, 0xb9, 0x76, 0x4e, 0xe7, 0x3a, 0x8c, 0x7c, 0xf7, 0xa4, 0x6b, + 0x82, 0x51, 0xa5, 0xa7, 0xfc, 0x8f, 0x9e, 0x02, 0xa2, 0x5d, 0xd7, 0x37, 0x7c, 0xcf, 0xb4, 0xfb, + 0xb1, 0x65, 0x39, 0xdf, 0x7f, 0x4e, 0xe7, 0x3b, 0xe2, 0xe6, 0x09, 0x8e, 0x12, 0xc3, 0x89, 0x8f, + 0xa3, 0x3a, 0xa8, 0x36, 0xf6, 0xc8, 0x89, 0xc9, 0x10, 0x52, 0x0c, 0x33, 0xef, 0xc0, 0xb0, 0xd2, + 0x47, 0x4b, 0xf0, 0x84, 0x31, 0xb8, 0x9e, 0x8d, 0xbd, 0x88, 0x61, 0x76, 0x1c, 0xc3, 0xa7, 0xdc, + 0x7c, 0x30, 0x86, 0xf8, 0x78, 0x2a, 0x86, 0x24, 0x43, 0xee, 0x1d, 0x18, 0x62, 0x31, 0x24, 0x78, + 0x30, 0xac, 0xf4, 0x63, 0xa8, 0xb9, 0x6e, 0x2b, 0x62, 0x99, 0xe3, 0x2c, 0x5b, 0x63, 0x58, 0x98, + 0x4b, 0x82, 0x68, 0x39, 0x0a, 0x85, 0xa3, 0x49, 0x9a, 0x63, 0xf8, 0x57, 0x3a, 0x9c, 0x04, 0x59, + 0xfe, 0xdd, 0xc8, 0x56, 0x53, 0x51, 0xc5, 0x29, 0x9f, 0x42, 0x89, 0xef, 0x38, 0xe2, 0x3a, 0x11, + 0x8d, 0x32, 0x8e, 0xe6, 0x71, 0xe8, 0x91, 0xa0, 0x59, 0xec, 0x26, 0x87, 0x91, 0x09, 0xe7, 0x5c, + 0xcf, 0xb4, 0xda, 0xd8, 0xe8, 0x7a, 0xc4, 0xc2, 0x21, 0x3c, 0x70, 0xf8, 0x1b, 0xa3, 0xa2, 0x60, + 0x4e, 0x8f, 0x99, 0x4f, 0x82, 0x60, 0xc9, 0x4d, 0xff, 0xa1, 0x7d, 0x3f, 0x07, 0x0b, 0xa1, 0x20, + 0xd0, 0xae, 0xeb, 0x50, 0x8c, 0x2e, 0x43, 0xb1, 0xd6, 0x76, 0xad, 0x96, 0xd1, 0xc4, 0xa4, 0xd1, + 0xf4, 0xb9, 0x12, 0xcc, 0xe8, 0x05, 0x3e, 0xf6, 0x80, 0x0f, 0xa1, 0x7f, 0x03, 0x08, 0x13, 0x9f, + 0x74, 0x30, 0x2f, 0xdf, 0xac, 0xae, 0xf0, 0x91, 0x23, 0xd2, 0xc1, 0xe8, 0x21, 0xcc, 0x27, 0x34, + 0x45, 0xcd, 0x5e, 0xca, 0x6e, 0x16, 0x76, 0xae, 0x4e, 0x24, 0x26, 0x7a, 0x31, 0xae, 0x1f, 0xe8, + 0x19, 0x9c, 0x1b, 0xa2, 0x1c, 0xea, 0x0c, 0x47, 0xbc, 0x79, 0x16, 0xc9, 0xd0, 0xd1, 0xa0, 0x4c, + 0xa0, 0x3d, 0x28, 0xc4, 0x04, 0x42, 0x9d, 0xe5, 0xb0, 0x1b, 0x23, 0x60, 0x43, 0x15, 0xd0, 0xa1, + 0x2f, 0x08, 0xe8, 0x33, 0x58, 0x1a, 0x90, 0x02, 0x35, 0xc7, 0xb1, 0x46, 0xec, 0x82, 0xbd, 0x64, + 0xbd, 0xeb, 0xa5, 0xb4, 0x00, 0xa0, 0x87, 0x72, 0x76, 0xa2, 0x30, 0xd5, 0xb9, 0x71, 0x88, 0x87, + 0x61, 0x51, 0x3c, 0xe9, 0xda, 0xa6, 0x2f, 0xe7, 0x28, 0x0a, 0x11, 0x7d, 0x91, 0x98, 0xa3, 0x44, + 0xcc, 0x73, 0xc4, 0xca, 0x24, 0x73, 0x8c, 0xe3, 0x96, 0xd2, 0x65, 0x8e, 0x8c, 0x74, 0x81, 0x1b, + 0x01, 0x37, 0xa5, 0xaa, 0x32, 0x6e, 0xd2, 0x51, 0x49, 0x49, 0xf0, 0x64, 0x69, 0x8b, 0x41, 0x8a, + 0x5a, 0xc3, 0x4b, 0x3b, 0xa2, 0x81, 0xb3, 0xd2, 0x0c, 0x2b, 0xea, 0x90, 0xec, 0x2e, 0x28, 0x51, + 0x2d, 0xaa, 0x05, 0x8e, 0xac, 0x8d, 0xaf, 0x66, 0xbd, 0xef, 0xc4, 0x4a, 0x20, 0x5e, 0xba, 0x54, + 0x2d, 0x8e, 0x2b, 0x81, 0x58, 0xd1, 0xea, 0xc5, 0x58, 0xa1, 0x52, 0xad, 0x0e, 0x8b, 0xa9, 0x19, + 0xa2, 0x12, 0x64, 0x29, 0x3e, 0x96, 0xa5, 0xc9, 0x1e, 0xd1, 0x3d, 0x50, 0xa2, 0xa4, 0xc8, 0x03, + 0x75, 0x63, 0x82, 0x64, 0xe8, 0x7d, 0x2f, 0xed, 0xc7, 0x0c, 0x28, 0xd1, 0x1f, 0xe8, 0x22, 0x28, + 0x1d, 0xd3, 0x6b, 0x61, 0xdf, 0x20, 0x36, 0x27, 0x52, 0xf4, 0xbc, 0x18, 0xd8, 0xb7, 0xd1, 0x5d, + 0x80, 0x5a, 0xd0, 0x33, 0xda, 0xf8, 0x04, 0xb7, 0xa9, 0x3a, 0xcd, 0x63, 0xbb, 0x1c, 0xa3, 0x8b, + 0xda, 0x8e, 0x90, 0xf0, 0x80, 0x59, 0xea, 0x4a, 0x2d, 0xe8, 0xf1, 0x27, 0x8a, 0xaa, 0x50, 0xa0, + 0xb8, 0xdd, 0x0e, 0x21, 0xb2, 0x93, 0x42, 0x00, 0xf3, 0x12, 0x18, 0xda, 0x8b, 0x0c, 0x14, 0x62, + 0xca, 0x81, 0x54, 0x98, 0x93, 0xf5, 0x2d, 0x27, 0x1c, 0xbe, 0xa2, 0x06, 0xe4, 0x23, 0x31, 0x12, + 0xb3, 0xbd, 0x50, 0x16, 0x4d, 0x59, 0x99, 0x35, 0x65, 0x11, 0xc7, 0xae, 0x4b, 0x9c, 0xea, 0xf6, + 0xcb, 0xd7, 0xeb, 0x53, 0x3f, 0xfc, 0xb1, 0xbe, 0xd9, 0x20, 0x7e, 0x33, 0xa8, 0x95, 0x2d, 0xb7, + 0x53, 0x91, 0x1d, 0x9c, 0xf8, 0xb9, 0x45, 0xed, 0x56, 0xc5, 0xef, 0x75, 0x31, 0xe5, 0x0e, 0x54, + 0x8f, 0xc0, 0xb5, 0x6f, 0x32, 0x80, 0x06, 0xa5, 0x07, 0x6d, 0xc0, 0x7c, 0x4c, 0xc5, 0xa2, 0x84, + 0x16, 0xfb, 0x83, 0xfb, 0x36, 0x7a, 0x04, 0xf9, 0x48, 0xdf, 0xc4, 0x24, 0x6f, 0x9c, 0x41, 0xdf, + 0xb8, 0xc6, 0x4f, 0xe9, 0x11, 0x84, 0xe6, 0xc0, 0xd2, 0x80, 0x11, 0x5a, 0x86, 0x59, 0x1b, 0x3b, + 0x6e, 0x47, 0x4e, 0x40, 0xbc, 0xa0, 0x5d, 0x98, 0x93, 0x6e, 0x43, 0xb6, 0xce, 0xc0, 0x42, 0x24, + 0x09, 0x43, 0x4f, 0xed, 0xa7, 0x0c, 0x2c, 0xa6, 0x04, 0x08, 0xed, 0x42, 0x8e, 0xfa, 0xa6, 0x1f, + 0x50, 0xce, 0xb7, 0x30, 0xfa, 0xd0, 0x8a, 0xdc, 0x0e, 0xb9, 0x8b, 0x2e, 0x5d, 0xd9, 0x69, 0xc3, + 0x37, 0xa9, 0xd1, 0x34, 0x69, 0x93, 0x4f, 0xb0, 0x28, 0xb7, 0xed, 0x03, 0x93, 0x36, 0x59, 0x2d, + 0x58, 0xc4, 0xe6, 0x4d, 0x9d, 0xa2, 0xb3, 0x47, 0xf4, 0x11, 0xcc, 0xf2, 0xbf, 0x65, 0x1b, 0xb6, + 0x31, 0x81, 0x60, 0xea, 0xc2, 0x43, 0xeb, 0x82, 0x12, 0x8d, 0x8d, 0x2e, 0x81, 0xfb, 0x21, 0x89, + 0xc8, 0xd8, 0xf5, 0x51, 0x19, 0x63, 0x90, 0x07, 0xa4, 0x43, 0x04, 0xae, 0x4c, 0x9c, 0x64, 0xfc, + 0x25, 0x03, 0xe7, 0x87, 0xaa, 0xec, 0x07, 0x4a, 0xde, 0x9d, 0x64, 0xf2, 0xb6, 0x26, 0x3e, 0x1b, + 0xc2, 0x80, 0xbe, 0xcb, 0xc0, 0x62, 0xea, 0xaf, 0xd1, 0x99, 0x3c, 0x48, 0x66, 0x72, 0x7b, 0xf4, + 0xde, 0x0b, 0x81, 0x4f, 0xc9, 0x27, 0xa3, 0x22, 0xd4, 0x10, 0xe0, 0x3c, 0xae, 0xbc, 0x9e, 0x27, + 0xf4, 0x11, 0x7f, 0xd7, 0xbe, 0xce, 0x42, 0x3e, 0x94, 0xeb, 0xd1, 0x93, 0x1a, 0xa8, 0xd8, 0xe9, + 0x21, 0x15, 0xbb, 0x02, 0x39, 0x42, 0x0f, 0x5c, 0xa7, 0x21, 0x89, 0xe4, 0x1b, 0xba, 0x03, 0xf9, + 0xe3, 0xc0, 0x74, 0x7c, 0xe2, 0xf7, 0x78, 0x1a, 0x95, 0xea, 0x06, 0x9b, 0xe2, 0x6f, 0xaf, 0xd7, + 0x2f, 0x0a, 0x05, 0xa1, 0x76, 0xab, 0x4c, 0xdc, 0x4a, 0xc7, 0xf4, 0x9b, 0xe5, 0x03, 0xdc, 0x30, + 0xad, 0xde, 0x1e, 0xb6, 0xf4, 0xc8, 0x89, 0xb5, 0x25, 0xd8, 0xf1, 0xbd, 0x9e, 0x38, 0x3d, 0x78, + 0xb3, 0x3f, 0x21, 0x06, 0x70, 0x3f, 0x7e, 0x72, 0xa0, 0x8f, 0x21, 0xd7, 0x31, 0xbd, 0x06, 0x71, + 0x78, 0x2f, 0x3f, 0x21, 0x80, 0x74, 0x41, 0xcf, 0x40, 0xb5, 0x82, 0x4e, 0xd0, 0x16, 0x07, 0x6e, + 0x3d, 0x70, 0x6c, 0xe2, 0x34, 0x0c, 0x8e, 0xce, 0x9b, 0xf6, 0x09, 0xe1, 0x56, 0xfa, 0x20, 0xf7, + 0x05, 0xc6, 0x27, 0x0c, 0x42, 0xf3, 0xa1, 0x10, 0x3b, 0xf1, 0x58, 0x26, 0x69, 0xaf, 0x53, 0x73, + 0xdb, 0x72, 0x21, 0xe4, 0x1b, 0x2b, 0x65, 0x91, 0x82, 0xe9, 0xc9, 0x29, 0x85, 0x07, 0x42, 0x30, + 0xc3, 0x34, 0x5a, 0xee, 0x6d, 0xfe, 0xac, 0xfd, 0x9c, 0x15, 0xf5, 0xcd, 0xfb, 0xab, 0xd1, 0x1b, + 0xe0, 0x3c, 0x5b, 0x5b, 0xa3, 0x16, 0xf4, 0x38, 0x75, 0x5e, 0x9f, 0x25, 0xb4, 0x1a, 0xf4, 0xd0, + 0x15, 0x98, 0xc7, 0xcf, 0xb1, 0x15, 0xb0, 0x1d, 0x74, 0xd4, 0x87, 0x4f, 0x0e, 0xfe, 0xfd, 0x0d, + 0x10, 0xc5, 0x3d, 0x7b, 0xe6, 0xb8, 0x07, 0x76, 0x6e, 0x6e, 0xc8, 0xce, 0xfd, 0x1f, 0x64, 0xeb, + 0x18, 0x9f, 0x65, 0x21, 0x99, 0x7d, 0x4a, 0x4d, 0xf2, 0x69, 0x35, 0xf9, 0x3f, 0x9c, 0xaf, 0x63, + 0x6c, 0x78, 0xd8, 0x22, 0x5d, 0x82, 0x1d, 0xdf, 0x30, 0x6d, 0xdb, 0xc3, 0x94, 0xf2, 0x2f, 0x22, + 0x45, 0x7e, 0x85, 0x9c, 0xab, 0x63, 0xac, 0x87, 0x16, 0xf7, 0x84, 0x41, 0xa8, 0x43, 0xd0, 0xd7, + 0xa1, 0x0b, 0x90, 0xe7, 0x8d, 0x34, 0x8b, 0xa0, 0x20, 0x4e, 0x73, 0xfe, 0xbe, 0x6f, 0x6b, 0xbf, + 0x67, 0xe3, 0x0a, 0xf3, 0x4f, 0xaf, 0xe5, 0x40, 0x3e, 0x67, 0x86, 0xe4, 0xf3, 0x31, 0x2c, 0x84, + 0xcd, 0x9f, 0x61, 0xe3, 0xb6, 0x6f, 0xca, 0x0f, 0xf4, 0xad, 0x51, 0x62, 0x16, 0x2a, 0xd1, 0x1e, + 0x73, 0xd0, 0xe7, 0xbb, 0xf1, 0x57, 0x56, 0xbc, 0x5d, 0xb3, 0xe7, 0x06, 0xfe, 0x99, 0x8a, 0x57, + 0xb8, 0xbc, 0xbf, 0xe5, 0x55, 0x3e, 0xc0, 0xf2, 0x1e, 0x41, 0x31, 0x71, 0x01, 0x72, 0x15, 0x16, + 0x12, 0x0b, 0xc0, 0xce, 0xc3, 0x2c, 0x5b, 0xa7, 0xf8, 0x0a, 0xf0, 0x93, 0x2e, 0xda, 0x01, 0xa2, + 0x81, 0x52, 0x74, 0x25, 0xdc, 0x02, 0x54, 0xfb, 0x1c, 0x16, 0x53, 0x9f, 0xdd, 0xef, 0x09, 0xf8, + 0x08, 0x8a, 0x89, 0xbb, 0x8e, 0xf7, 0x83, 0xba, 0x1d, 0x6b, 0xfa, 0x25, 0x70, 0xd2, 0x23, 0x33, + 0xe8, 0x81, 0x06, 0xef, 0xe4, 0xd0, 0x2a, 0xe4, 0x25, 0x69, 0xe8, 0x12, 0xbd, 0x6b, 0xf7, 0x40, + 0x3d, 0xed, 0x66, 0x6d, 0xc2, 0x28, 0xb4, 0x1b, 0xb0, 0x34, 0x70, 0xdb, 0x90, 0x10, 0xf3, 0x6c, + 0x5f, 0xcc, 0xaf, 0x1f, 0x30, 0xe3, 0x54, 0xa3, 0x82, 0x16, 0xa1, 0xf0, 0xc4, 0xa1, 0x5d, 0x6c, + 0x91, 0x3a, 0xc1, 0x76, 0x69, 0x0a, 0x01, 0xe4, 0xaa, 0xae, 0xdb, 0xc2, 0x76, 0x29, 0x83, 0x0a, + 0x30, 0xf7, 0xc8, 0xf4, 0xad, 0x26, 0xb6, 0x4b, 0xd3, 0x68, 0x1e, 0x94, 0x5d, 0x16, 0x5a, 0xbb, + 0x8d, 0xed, 0x52, 0x76, 0xa7, 0x01, 0x39, 0x71, 0x73, 0x81, 0x9e, 0x45, 0x4f, 0xd7, 0x46, 0xb4, + 0x7a, 0xf1, 0x6b, 0xcf, 0xd5, 0xcd, 0xf1, 0x86, 0xe2, 0x3a, 0x64, 0x3b, 0x53, 0xfd, 0xf2, 0xe5, + 0x9b, 0xb5, 0xcc, 0xab, 0x37, 0x6b, 0x99, 0x3f, 0xdf, 0xac, 0x65, 0x5e, 0xbc, 0x5d, 0x9b, 0x7a, + 0xf5, 0x76, 0x6d, 0xea, 0xd7, 0xb7, 0x6b, 0x53, 0x4f, 0xf7, 0x62, 0x5f, 0x08, 0xfb, 0x21, 0xde, + 0x81, 0x59, 0xa3, 0x95, 0x08, 0xfd, 0x96, 0xe5, 0x7a, 0x38, 0xfe, 0xda, 0x34, 0x89, 0x13, 0x5e, + 0x23, 0xf3, 0x6f, 0x88, 0x5a, 0x8e, 0xdf, 0xcd, 0xfe, 0xf7, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x78, 0x25, 0xda, 0xad, 0x67, 0x16, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/stream/types/request.go b/chain/stream/types/request.go index d78d5031..3bf542aa 100644 --- a/chain/stream/types/request.go +++ b/chain/stream/types/request.go @@ -39,3 +39,16 @@ func NewFullStreamRequest() *StreamRequest { }, } } + +// Empty query matches any set of events. +type Empty struct { +} + +// Matches always returns true. +func (Empty) Matches(tags map[string][]string) (bool, error) { + return true, nil +} + +func (Empty) String() string { + return "empty" +} diff --git a/chain/tokenfactory/types/codec.go b/chain/tokenfactory/types/codec.go index 174c4f91..1cd69979 100644 --- a/chain/tokenfactory/types/codec.go +++ b/chain/tokenfactory/types/codec.go @@ -5,9 +5,6 @@ import ( cdctypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" authzcdc "github.com/cosmos/cosmos-sdk/x/authz/codec" - govcdc "github.com/cosmos/cosmos-sdk/x/gov/codec" - groupcdc "github.com/cosmos/cosmos-sdk/x/group/codec" - // this line is used by starport scaffolding # 1 "github.com/cosmos/cosmos-sdk/types/msgservice" ) @@ -21,6 +18,8 @@ func RegisterCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgChangeAdmin{}, "injective/tokenfactory/change-admin", nil) cdc.RegisterConcrete(&MsgUpdateParams{}, "injective/tokenfactory/update-params", nil) cdc.RegisterConcrete(&MsgSetDenomMetadata{}, "injective/tokenfactory/set-denom-metadata", nil) + cdc.RegisterConcrete(&Params{}, "injective/tokenfactory/Params", nil) + } func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { @@ -38,18 +37,15 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { } var ( - amino = codec.NewLegacyAmino() - ModuleCdc = codec.NewAminoCodec(amino) + ModuleCdc = codec.NewLegacyAmino() ) func init() { - RegisterCodec(amino) + RegisterCodec(ModuleCdc) // Register all Amino interfaces and concrete types on the authz Amino codec so that this can later be // used to properly serialize MsgGrant and MsgExec instances - sdk.RegisterLegacyAminoCodec(amino) - RegisterCodec(govcdc.Amino) + sdk.RegisterLegacyAminoCodec(ModuleCdc) RegisterCodec(authzcdc.Amino) - RegisterCodec(groupcdc.Amino) - amino.Seal() + ModuleCdc.Seal() } diff --git a/chain/tokenfactory/types/denoms.go b/chain/tokenfactory/types/denoms.go index 7b975add..a31d5cef 100644 --- a/chain/tokenfactory/types/denoms.go +++ b/chain/tokenfactory/types/denoms.go @@ -1,6 +1,7 @@ package types import ( + "context" "fmt" "strings" @@ -104,7 +105,7 @@ func DeconstructDenom(denom string) (creator, subdenom string, err error) { // NewTokenFactoryDenomMintCoinsRestriction creates and returns a MintingRestrictionFn that only allows minting of // valid tokenfactory denoms func NewTokenFactoryDenomMintCoinsRestriction() banktypes.MintingRestrictionFn { - return func(ctx sdk.Context, coinsToMint sdk.Coins) error { + return func(ctx context.Context, coinsToMint sdk.Coins) error { for _, coin := range coinsToMint { _, _, err := DeconstructDenom(coin.Denom) if err != nil { diff --git a/chain/tokenfactory/types/expected_keepers.go b/chain/tokenfactory/types/expected_keepers.go index 4dfa4edc..6482fbe2 100644 --- a/chain/tokenfactory/types/expected_keepers.go +++ b/chain/tokenfactory/types/expected_keepers.go @@ -1,32 +1,34 @@ package types import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" ) type BankKeeper interface { // Methods imported from bank should be defined here - GetDenomMetaData(ctx sdk.Context, denom string) (banktypes.Metadata, bool) - SetDenomMetaData(ctx sdk.Context, denomMetaData banktypes.Metadata) + GetDenomMetaData(ctx context.Context, denom string) (banktypes.Metadata, bool) + SetDenomMetaData(ctx context.Context, denomMetaData banktypes.Metadata) - HasSupply(ctx sdk.Context, denom string) bool + HasSupply(ctx context.Context, denom string) bool - 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 - MintCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error - BurnCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error + SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error + MintCoins(ctx context.Context, moduleName string, amt sdk.Coins) error + BurnCoins(ctx context.Context, moduleName string, amt sdk.Coins) error - SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error - HasBalance(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coin) bool + SendCoins(ctx context.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error + HasBalance(ctx context.Context, addr sdk.AccAddress, amt sdk.Coin) bool } type AccountKeeper interface { - SetModuleAccount(ctx sdk.Context, macc authtypes.ModuleAccountI) + SetModuleAccount(ctx context.Context, macc sdk.ModuleAccountI) + NewAccount(ctx context.Context, acc sdk.AccountI) sdk.AccountI } // CommunityPoolKeeper defines the contract needed to be fulfilled for community pool interactions. type CommunityPoolKeeper interface { - FundCommunityPool(ctx sdk.Context, amount sdk.Coins, sender sdk.AccAddress) error + FundCommunityPool(ctx context.Context, amount sdk.Coins, sender sdk.AccAddress) error } diff --git a/chain/tokenfactory/types/gov.go b/chain/tokenfactory/types/gov.go new file mode 100644 index 00000000..346c24ae --- /dev/null +++ b/chain/tokenfactory/types/gov.go @@ -0,0 +1,54 @@ +package types + +import ( + errorsmod "cosmossdk.io/errors" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" +) + +const ( + ProposalTypeUpdateDenomsMetaData = "UpdateDenomsMetaData" +) + +func init() { + govtypes.RegisterProposalType(ProposalTypeUpdateDenomsMetaData) +} + +var ( + _ govtypes.Content = &UpdateDenomsMetadataProposal{} +) + +func NewUpdateDenomsMetadataProposal(title, description string, metadatas []banktypes.Metadata) govtypes.Content { + return &UpdateDenomsMetadataProposal{ + Title: title, + Description: description, + Metadatas: metadatas, + } +} + +func (p *UpdateDenomsMetadataProposal) GetTitle() string { return p.Title } + +func (p *UpdateDenomsMetadataProposal) GetDescription() string { return p.Description } + +func (p *UpdateDenomsMetadataProposal) ProposalRoute() string { return RouterKey } + +func (p *UpdateDenomsMetadataProposal) ProposalType() string { + return ProposalTypeUpdateDenomsMetaData +} + +func (p *UpdateDenomsMetadataProposal) ValidateBasic() error { + err := govtypes.ValidateAbstract(p) + if err != nil { + return err + } + + for idx := range p.Metadatas { + metadata := p.Metadatas[idx] + if metadata.Base == "" { + return errorsmod.Wrapf(sdkerrors.ErrInvalidRequest, "invalid denom (%s)", metadata.Base) + } + } + + return nil +} diff --git a/chain/tokenfactory/types/gov.pb.go b/chain/tokenfactory/types/gov.pb.go new file mode 100644 index 00000000..0a090625 --- /dev/null +++ b/chain/tokenfactory/types/gov.pb.go @@ -0,0 +1,465 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: injective/tokenfactory/v1beta1/gov.proto + +package types + +import ( + fmt "fmt" + types "github.com/cosmos/cosmos-sdk/x/bank/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 UpdateDenomsMetadataProposal 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"` + Metadatas []types.Metadata `protobuf:"bytes,3,rep,name=metadatas,proto3" json:"metadatas"` + Deposit string `protobuf:"bytes,4,opt,name=deposit,proto3" json:"deposit,omitempty" yaml:"deposit"` +} + +func (m *UpdateDenomsMetadataProposal) Reset() { *m = UpdateDenomsMetadataProposal{} } +func (m *UpdateDenomsMetadataProposal) String() string { return proto.CompactTextString(m) } +func (*UpdateDenomsMetadataProposal) ProtoMessage() {} +func (*UpdateDenomsMetadataProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_2c4dd8ce2ae85492, []int{0} +} +func (m *UpdateDenomsMetadataProposal) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *UpdateDenomsMetadataProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_UpdateDenomsMetadataProposal.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 *UpdateDenomsMetadataProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateDenomsMetadataProposal.Merge(m, src) +} +func (m *UpdateDenomsMetadataProposal) XXX_Size() int { + return m.Size() +} +func (m *UpdateDenomsMetadataProposal) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateDenomsMetadataProposal.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateDenomsMetadataProposal proto.InternalMessageInfo + +func init() { + proto.RegisterType((*UpdateDenomsMetadataProposal)(nil), "injective.tokenfactory.v1beta1.UpdateDenomsMetadataProposal") +} + +func init() { + proto.RegisterFile("injective/tokenfactory/v1beta1/gov.proto", fileDescriptor_2c4dd8ce2ae85492) +} + +var fileDescriptor_2c4dd8ce2ae85492 = []byte{ + // 332 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x91, 0xc1, 0x4e, 0xf2, 0x40, + 0x14, 0x85, 0xdb, 0x1f, 0x7e, 0x0d, 0x25, 0x71, 0xd1, 0xb0, 0x68, 0x88, 0x0e, 0x84, 0x15, 0x0b, + 0x9d, 0x09, 0xba, 0x63, 0x27, 0x71, 0x63, 0xa2, 0x89, 0x69, 0xe2, 0xc6, 0xdd, 0xb4, 0xbd, 0x96, + 0x91, 0xb6, 0x77, 0xd2, 0xb9, 0x90, 0xf0, 0x06, 0x2e, 0x7d, 0x04, 0x1f, 0x87, 0x8d, 0x09, 0x4b, + 0x57, 0xc4, 0xc0, 0x1b, 0xf8, 0x04, 0x86, 0xb6, 0x20, 0xee, 0x7a, 0x7a, 0xbe, 0x7b, 0xcf, 0xcd, + 0x19, 0xa7, 0xaf, 0xb2, 0x17, 0x08, 0x49, 0xcd, 0x40, 0x10, 0x4e, 0x20, 0x7b, 0x96, 0x21, 0x61, + 0x3e, 0x17, 0xb3, 0x41, 0x00, 0x24, 0x07, 0x22, 0xc6, 0x19, 0xd7, 0x39, 0x12, 0xba, 0x6c, 0x4f, + 0xf2, 0x43, 0x92, 0x57, 0x64, 0xbb, 0x15, 0x63, 0x8c, 0x05, 0x2a, 0xb6, 0x5f, 0xe5, 0x54, 0x9b, + 0x85, 0x68, 0x52, 0x34, 0x22, 0x90, 0xd9, 0x64, 0xbf, 0x74, 0x2b, 0x4a, 0xbf, 0xf7, 0x61, 0x3b, + 0xa7, 0x8f, 0x3a, 0x92, 0x04, 0x37, 0x90, 0x61, 0x6a, 0xee, 0x81, 0x64, 0x24, 0x49, 0x3e, 0xe4, + 0xa8, 0xd1, 0xc8, 0xc4, 0x6d, 0x39, 0xff, 0x49, 0x51, 0x02, 0x9e, 0xdd, 0xb5, 0xfb, 0x0d, 0xbf, + 0x14, 0x6e, 0xd7, 0x69, 0x46, 0x60, 0xc2, 0x5c, 0x69, 0x52, 0x98, 0x79, 0xff, 0x0a, 0xef, 0xf0, + 0x97, 0x7b, 0xed, 0x34, 0xd2, 0x6a, 0x97, 0xf1, 0x6a, 0xdd, 0x5a, 0xbf, 0x79, 0x79, 0xc6, 0xcb, + 0x63, 0x78, 0x91, 0x5f, 0x1d, 0xc3, 0x77, 0x89, 0xa3, 0xfa, 0x62, 0xd5, 0xb1, 0xfc, 0xdf, 0x29, + 0xf7, 0xdc, 0x39, 0x8e, 0x40, 0xa3, 0x51, 0xe4, 0xd5, 0xb7, 0x01, 0x23, 0xf7, 0x7b, 0xd5, 0x39, + 0x99, 0xcb, 0x34, 0x19, 0xf6, 0x2a, 0xa3, 0xe7, 0xef, 0x90, 0x61, 0xfd, 0xf5, 0xbd, 0x63, 0x8d, + 0x92, 0xc5, 0x9a, 0xd9, 0xcb, 0x35, 0xb3, 0xbf, 0xd6, 0xcc, 0x7e, 0xdb, 0x30, 0x6b, 0xb9, 0x61, + 0xd6, 0xe7, 0x86, 0x59, 0x4f, 0x7e, 0xac, 0x68, 0x3c, 0x0d, 0x78, 0x88, 0xa9, 0xb8, 0xdd, 0x55, + 0x79, 0x27, 0x03, 0x23, 0xf6, 0xc5, 0x5e, 0x84, 0x98, 0xc3, 0xa1, 0x1c, 0x4b, 0x95, 0x89, 0x14, + 0xa3, 0x69, 0x02, 0xe6, 0xef, 0xfb, 0xd0, 0x5c, 0x83, 0x09, 0x8e, 0x8a, 0x12, 0xaf, 0x7e, 0x02, + 0x00, 0x00, 0xff, 0xff, 0x31, 0xc4, 0xfd, 0x93, 0xc6, 0x01, 0x00, 0x00, +} + +func (m *UpdateDenomsMetadataProposal) 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 *UpdateDenomsMetadataProposal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *UpdateDenomsMetadataProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Deposit) > 0 { + i -= len(m.Deposit) + copy(dAtA[i:], m.Deposit) + i = encodeVarintGov(dAtA, i, uint64(len(m.Deposit))) + i-- + dAtA[i] = 0x22 + } + if len(m.Metadatas) > 0 { + for iNdEx := len(m.Metadatas) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Metadatas[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGov(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + } + if len(m.Description) > 0 { + i -= len(m.Description) + copy(dAtA[i:], m.Description) + i = encodeVarintGov(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 = encodeVarintGov(dAtA, i, uint64(len(m.Title))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintGov(dAtA []byte, offset int, v uint64) int { + offset -= sovGov(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *UpdateDenomsMetadataProposal) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Title) + if l > 0 { + n += 1 + l + sovGov(uint64(l)) + } + l = len(m.Description) + if l > 0 { + n += 1 + l + sovGov(uint64(l)) + } + if len(m.Metadatas) > 0 { + for _, e := range m.Metadatas { + l = e.Size() + n += 1 + l + sovGov(uint64(l)) + } + } + l = len(m.Deposit) + if l > 0 { + n += 1 + l + sovGov(uint64(l)) + } + return n +} + +func sovGov(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozGov(x uint64) (n int) { + return sovGov(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *UpdateDenomsMetadataProposal) 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 ErrIntOverflowGov + } + 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: UpdateDenomsMetadataProposal: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: UpdateDenomsMetadataProposal: 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 ErrIntOverflowGov + } + 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 ErrInvalidLengthGov + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGov + } + 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 ErrIntOverflowGov + } + 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 ErrInvalidLengthGov + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGov + } + 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 Metadatas", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGov + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGov + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGov + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Metadatas = append(m.Metadatas, types.Metadata{}) + if err := m.Metadatas[len(m.Metadatas)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Deposit", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGov + } + 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 ErrInvalidLengthGov + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGov + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Deposit = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGov(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGov + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipGov(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, ErrIntOverflowGov + } + 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, ErrIntOverflowGov + } + 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, ErrIntOverflowGov + } + 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, ErrInvalidLengthGov + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupGov + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthGov + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthGov = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGov = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupGov = fmt.Errorf("proto: unexpected end of group") +) diff --git a/chain/tokenfactory/types/msgs.go b/chain/tokenfactory/types/msgs.go index 6e5d083d..7b0c417e 100644 --- a/chain/tokenfactory/types/msgs.go +++ b/chain/tokenfactory/types/msgs.go @@ -2,6 +2,7 @@ package types import ( "cosmossdk.io/errors" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" @@ -101,7 +102,7 @@ func (m MsgMint) ValidateBasic() error { return errors.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid sender address (%s)", err) } - if !m.Amount.IsValid() || m.Amount.Amount.Equal(sdk.ZeroInt()) { + if !m.Amount.IsValid() || m.Amount.Amount.Equal(math.ZeroInt()) { return errors.Wrap(sdkerrors.ErrInvalidCoins, m.Amount.String()) } diff --git a/chain/tokenfactory/types/params.pb.go b/chain/tokenfactory/types/params.pb.go index 9d705d9c..ff3228f9 100644 --- a/chain/tokenfactory/types/params.pb.go +++ b/chain/tokenfactory/types/params.pb.go @@ -8,6 +8,7 @@ import ( _ "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/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -80,28 +81,29 @@ func init() { } var fileDescriptor_91405c82ccfd2f8a = []byte{ - // 323 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x90, 0xb1, 0x6a, 0x32, 0x41, - 0x14, 0x85, 0x77, 0xf9, 0xc1, 0xc2, 0xbf, 0x09, 0x92, 0x22, 0x5a, 0x8c, 0xc1, 0x4a, 0x08, 0xee, - 0x60, 0x02, 0x29, 0x52, 0x2a, 0x04, 0x02, 0x11, 0x82, 0x65, 0x1a, 0xb9, 0x3b, 0x7b, 0xd5, 0x89, - 0xee, 0x5c, 0xd9, 0xb9, 0x0a, 0xfb, 0x16, 0xa9, 0xd2, 0xa7, 0xcd, 0x93, 0x58, 0x5a, 0xa6, 0x32, - 0x41, 0xdf, 0x20, 0x4f, 0x10, 0x9c, 0x1d, 0xc5, 0x90, 0x22, 0xd5, 0xcc, 0xe5, 0x9e, 0xf3, 0xcd, - 0x99, 0x53, 0xbe, 0xd0, 0xe6, 0x09, 0x15, 0xeb, 0x05, 0x4a, 0xa6, 0x09, 0x9a, 0x21, 0x28, 0xa6, - 0x2c, 0x97, 0x8b, 0x76, 0x8c, 0x0c, 0x6d, 0x39, 0x83, 0x0c, 0x52, 0x1b, 0xcd, 0x32, 0x62, 0xaa, - 0x88, 0x83, 0x38, 0x3a, 0x16, 0x47, 0x5e, 0x5c, 0x3b, 0x1d, 0xd1, 0x88, 0x9c, 0x54, 0xee, 0x6e, - 0x85, 0xab, 0x76, 0xfd, 0xc7, 0x13, 0x30, 0xe7, 0x31, 0x65, 0x9a, 0xf3, 0x1e, 0x32, 0x24, 0xc0, - 0xe0, 0x7d, 0x55, 0x45, 0x36, 0x25, 0x3b, 0x28, 0x80, 0xc5, 0xe0, 0x57, 0xa2, 0x98, 0x64, 0x0c, - 0x16, 0x0f, 0x1c, 0x45, 0xda, 0x14, 0xfb, 0xc6, 0x6b, 0x58, 0x2e, 0x3d, 0xb8, 0xe4, 0x95, 0x97, - 0xb0, 0x5c, 0x49, 0xd0, 0x50, 0x3a, 0x50, 0x19, 0x02, 0x6b, 0x32, 0x83, 0x21, 0xe2, 0x59, 0x78, - 0xfe, 0xaf, 0xf9, 0xff, 0xb2, 0x1a, 0x79, 0xec, 0x0e, 0xb4, 0xff, 0x46, 0xd4, 0x25, 0x6d, 0x3a, - 0xbd, 0xe5, 0xba, 0x1e, 0x7c, 0xad, 0xeb, 0xd5, 0x1c, 0xd2, 0xe9, 0x4d, 0xe3, 0x37, 0xa2, 0xf1, - 0xf6, 0x51, 0x6f, 0x8e, 0x34, 0x8f, 0xe7, 0x71, 0xa4, 0x28, 0xf5, 0x01, 0xfd, 0xd1, 0xb2, 0xc9, - 0x44, 0x72, 0x3e, 0x43, 0xeb, 0x68, 0xb6, 0x7f, 0xe2, 0x00, 0x5d, 0xef, 0xbf, 0x45, 0xec, 0x4c, - 0x97, 0x1b, 0x11, 0xae, 0x36, 0x22, 0xfc, 0xdc, 0x88, 0xf0, 0x79, 0x2b, 0x82, 0xd5, 0x56, 0x04, - 0xef, 0x5b, 0x11, 0x3c, 0xf6, 0x8f, 0xa8, 0x77, 0xfb, 0xee, 0xee, 0x21, 0xb6, 0xf2, 0xd0, 0x64, - 0x4b, 0x51, 0x86, 0xc7, 0xe3, 0x18, 0xb4, 0x91, 0x29, 0x25, 0xf3, 0x29, 0xda, 0x9f, 0x35, 0xbb, - 0x14, 0x71, 0xc9, 0x15, 0x73, 0xf5, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xea, 0xbf, 0x7a, 0x46, 0xf0, - 0x01, 0x00, 0x00, + // 349 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x90, 0x31, 0x6b, 0x2a, 0x41, + 0x10, 0xc7, 0xef, 0x78, 0x60, 0xe1, 0x6b, 0xde, 0x93, 0x57, 0x3c, 0x85, 0xac, 0xe1, 0x2a, 0x49, + 0xf0, 0x16, 0x13, 0x48, 0x61, 0xa9, 0x10, 0x08, 0x44, 0x08, 0x96, 0x69, 0x64, 0xee, 0x6e, 0xd4, + 0x8d, 0xee, 0x8e, 0xdc, 0xae, 0xc2, 0x7d, 0x85, 0x54, 0xa9, 0xf2, 0x21, 0x52, 0xe5, 0x4b, 0x04, + 0x2c, 0x2d, 0x53, 0x99, 0xa0, 0x45, 0xfa, 0x7c, 0x82, 0xe0, 0xde, 0x2a, 0x86, 0x10, 0xd2, 0xec, + 0xee, 0xec, 0xfc, 0xe7, 0xf7, 0x9f, 0x99, 0xe2, 0xb1, 0x50, 0x37, 0x18, 0x1b, 0x31, 0x43, 0x6e, + 0x68, 0x84, 0xaa, 0x0f, 0xb1, 0xa1, 0x34, 0xe3, 0xb3, 0x46, 0x84, 0x06, 0x1a, 0x7c, 0x02, 0x29, + 0x48, 0x1d, 0x4e, 0x52, 0x32, 0x54, 0x62, 0x3b, 0x71, 0xb8, 0x2f, 0x0e, 0x9d, 0xb8, 0xf2, 0x6f, + 0x40, 0x03, 0xb2, 0x52, 0xbe, 0x79, 0xe5, 0x55, 0x95, 0xb3, 0x1f, 0x2c, 0x60, 0x6a, 0x86, 0x94, + 0x0a, 0x93, 0x75, 0xd0, 0x40, 0x02, 0x06, 0x5c, 0x5d, 0x39, 0x26, 0x2d, 0x49, 0xf7, 0x72, 0x60, + 0x1e, 0xb8, 0x14, 0xcb, 0x23, 0x1e, 0x81, 0xc6, 0x1d, 0x27, 0x26, 0xa1, 0x5c, 0xfe, 0x2f, 0x48, + 0xa1, 0x88, 0xdb, 0x33, 0xff, 0x0a, 0x9e, 0xfc, 0x62, 0xe1, 0xca, 0x0e, 0x53, 0xba, 0xf7, 0x8b, + 0xa5, 0x04, 0x15, 0xc9, 0x5e, 0x9c, 0x22, 0x18, 0x41, 0xaa, 0xd7, 0x47, 0xfc, 0xef, 0x1f, 0xfe, + 0xaa, 0xfd, 0x3e, 0x29, 0x87, 0xce, 0x69, 0xc3, 0xde, 0x4e, 0x16, 0xb6, 0x49, 0xa8, 0x56, 0x67, + 0xbe, 0xac, 0x7a, 0xef, 0xcb, 0x6a, 0x39, 0x03, 0x39, 0x6e, 0x06, 0x5f, 0x11, 0xc1, 0xc3, 0x4b, + 0xb5, 0x36, 0x10, 0x66, 0x38, 0x8d, 0xc2, 0x98, 0xa4, 0xeb, 0xd9, 0x5d, 0x75, 0x9d, 0x8c, 0xb8, + 0xc9, 0x26, 0xa8, 0x2d, 0x4d, 0x77, 0xff, 0x58, 0x40, 0xdb, 0xd5, 0x9f, 0x23, 0x36, 0x83, 0xdb, + 0xb7, 0xc7, 0xa3, 0x83, 0x6f, 0xd6, 0x95, 0x37, 0xdf, 0x1a, 0xcf, 0x57, 0xcc, 0x5f, 0xac, 0x98, + 0xff, 0xba, 0x62, 0xfe, 0xdd, 0x9a, 0x79, 0x8b, 0x35, 0xf3, 0x9e, 0xd7, 0xcc, 0xbb, 0xee, 0xee, + 0x39, 0x5f, 0x6c, 0x19, 0x97, 0x10, 0x69, 0xbe, 0x23, 0xd6, 0x63, 0x4a, 0x71, 0x3f, 0x1c, 0x82, + 0x50, 0x5c, 0x52, 0x32, 0x1d, 0xa3, 0xfe, 0x6c, 0x67, 0x3b, 0x8d, 0x0a, 0x76, 0x79, 0xa7, 0x1f, + 0x01, 0x00, 0x00, 0xff, 0xff, 0x7f, 0xcd, 0x91, 0xe3, 0x27, 0x02, 0x00, 0x00, } func (m *Params) Marshal() (dAtA []byte, err error) { diff --git a/chain/tokenfactory/types/tx.pb.go b/chain/tokenfactory/types/tx.pb.go index 214084f8..b12c89c3 100644 --- a/chain/tokenfactory/types/tx.pb.go +++ b/chain/tokenfactory/types/tx.pb.go @@ -9,6 +9,7 @@ import ( _ "github.com/cosmos/cosmos-proto" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" types1 "github.com/cosmos/cosmos-sdk/x/bank/types" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" @@ -640,57 +641,61 @@ func init() { } var fileDescriptor_b0b26fd7f19ce3c4 = []byte{ - // 789 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x55, 0xcf, 0x6e, 0xd3, 0x4e, - 0x10, 0x8e, 0x7f, 0x4d, 0xf3, 0x6b, 0x37, 0x6d, 0xd3, 0xba, 0xa5, 0x4d, 0x83, 0xea, 0x20, 0x23, - 0xb5, 0xfc, 0x51, 0x6d, 0xa5, 0x95, 0x8a, 0x54, 0x4e, 0x4d, 0x7b, 0x00, 0x89, 0x48, 0xc8, 0x85, - 0x0b, 0x42, 0x2a, 0x9b, 0x78, 0x71, 0x4c, 0xe3, 0xdd, 0xc8, 0xbb, 0x69, 0x9b, 0x2b, 0xe2, 0xc6, - 0x85, 0x37, 0x40, 0x88, 0x17, 0xe0, 0xc0, 0x81, 0x47, 0x28, 0xb7, 0x8a, 0x13, 0xa7, 0x08, 0xb5, - 0x07, 0xee, 0x79, 0x02, 0xb4, 0xeb, 0xb5, 0x63, 0x37, 0x88, 0x3a, 0x9c, 0x38, 0x25, 0xbb, 0xf3, - 0x7d, 0x33, 0xdf, 0xcc, 0xce, 0x8c, 0xc1, 0x9a, 0x8b, 0x5f, 0xa1, 0x06, 0x73, 0x8f, 0x90, 0xc9, - 0xc8, 0x21, 0xc2, 0x2f, 0x61, 0x83, 0x11, 0xbf, 0x6b, 0x1e, 0x55, 0xea, 0x88, 0xc1, 0x8a, 0xc9, - 0x4e, 0x8c, 0xb6, 0x4f, 0x18, 0x51, 0xb5, 0x08, 0x68, 0xc4, 0x81, 0x86, 0x04, 0x96, 0x16, 0x1c, - 0xe2, 0x10, 0x01, 0x35, 0xf9, 0xbf, 0x80, 0x55, 0xd2, 0x1a, 0x84, 0x7a, 0x84, 0x9a, 0x75, 0x48, - 0x51, 0xe4, 0xb3, 0x41, 0x5c, 0x3c, 0x64, 0xc7, 0x87, 0x91, 0x9d, 0x1f, 0xa4, 0x7d, 0x49, 0xda, - 0x3d, 0xea, 0x98, 0x47, 0x15, 0xfe, 0x23, 0x0d, 0xcb, 0x81, 0xe1, 0x20, 0x88, 0x18, 0x1c, 0xa4, - 0xe9, 0xee, 0x15, 0x29, 0xb5, 0xa1, 0x0f, 0x3d, 0x09, 0xd6, 0xbf, 0x2a, 0x60, 0xa6, 0x46, 0x9d, - 0x5d, 0x1f, 0x41, 0x86, 0xf6, 0x10, 0x26, 0x9e, 0x7a, 0x1b, 0xe4, 0x28, 0xc2, 0x36, 0xf2, 0x8b, - 0xca, 0x0d, 0xe5, 0xd6, 0x64, 0x75, 0xae, 0xdf, 0x2b, 0x4f, 0x77, 0xa1, 0xd7, 0xda, 0xd6, 0x83, - 0x7b, 0xdd, 0x92, 0x00, 0xd5, 0x04, 0x13, 0xb4, 0x53, 0xb7, 0x39, 0xad, 0xf8, 0x9f, 0x00, 0xcf, - 0xf7, 0x7b, 0xe5, 0x82, 0x04, 0x4b, 0x8b, 0x6e, 0x45, 0x20, 0xf5, 0x26, 0xc8, 0x62, 0xe8, 0xa1, - 0xe2, 0x98, 0x00, 0x17, 0xfa, 0xbd, 0x72, 0x3e, 0x00, 0xf3, 0x5b, 0xdd, 0x12, 0x46, 0x21, 0xa0, - 0xeb, 0xd5, 0x49, 0xab, 0x98, 0x1d, 0x12, 0x20, 0xee, 0xb9, 0x00, 0xf1, 0x67, 0x3b, 0xff, 0xfa, - 0xe7, 0xa7, 0x3b, 0x52, 0x8d, 0xfe, 0x1c, 0x2c, 0x26, 0x53, 0xb1, 0x10, 0x6d, 0x13, 0x4c, 0x91, - 0x5a, 0x05, 0x05, 0x8c, 0x8e, 0x0f, 0x44, 0x39, 0x0e, 0x02, 0xb9, 0x41, 0x6e, 0xa5, 0x7e, 0xaf, - 0xbc, 0x28, 0x15, 0x24, 0x01, 0xba, 0x35, 0x8d, 0xd1, 0xf1, 0x13, 0x7e, 0x21, 0x7c, 0xe9, 0x6f, - 0x15, 0xf0, 0x7f, 0x8d, 0x3a, 0x35, 0x17, 0xb3, 0x51, 0x4a, 0xf4, 0x00, 0xe4, 0xa0, 0x47, 0x3a, - 0x98, 0x89, 0x02, 0xe5, 0x37, 0x96, 0x0d, 0xf9, 0x58, 0xbc, 0x25, 0xc2, 0xee, 0x31, 0x76, 0x89, - 0x8b, 0xab, 0xd7, 0x4e, 0x7b, 0xe5, 0xcc, 0xc0, 0x53, 0x40, 0xd3, 0x2d, 0xc9, 0x4f, 0xe6, 0x3a, - 0x07, 0x0a, 0x52, 0x4c, 0x98, 0x64, 0x28, 0xb0, 0xda, 0xf1, 0xf1, 0x3f, 0x23, 0x90, 0x8b, 0x89, - 0x04, 0x7e, 0x94, 0xbd, 0xd6, 0x84, 0xd8, 0x41, 0x3b, 0xb6, 0xe7, 0x8e, 0xa4, 0x73, 0x15, 0x8c, - 0xc7, 0x1b, 0x6d, 0xb6, 0xdf, 0x2b, 0x4f, 0x05, 0x48, 0xf9, 0x5e, 0x81, 0x59, 0xad, 0x80, 0x49, - 0xfe, 0x94, 0x90, 0xfb, 0x97, 0x7d, 0xb6, 0xd0, 0xef, 0x95, 0x67, 0x07, 0xaf, 0x2c, 0x4c, 0xba, - 0x35, 0x81, 0xd1, 0xb1, 0x50, 0x91, 0x14, 0x5e, 0x0c, 0xba, 0x68, 0x20, 0x32, 0xd2, 0xff, 0x41, - 0x01, 0xf3, 0x35, 0xea, 0xec, 0x23, 0x26, 0x3a, 0xa2, 0x86, 0x18, 0xb4, 0x21, 0x83, 0xa3, 0x24, - 0x61, 0x81, 0x09, 0x4f, 0xd2, 0x64, 0xb9, 0x57, 0x06, 0xe5, 0xc6, 0x87, 0x51, 0xb9, 0x43, 0xdf, - 0xd5, 0x25, 0x59, 0x72, 0x39, 0x53, 0x21, 0x59, 0xb7, 0x22, 0x3f, 0x49, 0xf5, 0x2b, 0xe0, 0xfa, - 0x6f, 0x24, 0x46, 0x29, 0xbc, 0x57, 0xc4, 0xb3, 0x3c, 0x6d, 0xdb, 0x90, 0xa1, 0xc7, 0x62, 0x11, - 0xa8, 0x5b, 0x60, 0x12, 0x76, 0x58, 0x93, 0xf8, 0x2e, 0xeb, 0xca, 0x0c, 0x8a, 0xdf, 0x3e, 0xaf, - 0x2f, 0x48, 0x5d, 0x3b, 0xb6, 0xed, 0x23, 0x4a, 0xf7, 0x99, 0xef, 0x62, 0xc7, 0x1a, 0x40, 0xd5, - 0x3d, 0x90, 0x0b, 0x56, 0x89, 0xcc, 0x64, 0xd5, 0xf8, 0xf3, 0x8a, 0x34, 0x82, 0x78, 0xd5, 0x2c, - 0x4f, 0xc9, 0x92, 0xdc, 0xed, 0x19, 0xae, 0x7e, 0xe0, 0x55, 0x5f, 0x06, 0x4b, 0x97, 0x04, 0x86, - 0xe2, 0x37, 0xbe, 0x8c, 0x83, 0xb1, 0x1a, 0x75, 0xd4, 0x0e, 0xc8, 0xc7, 0xf7, 0x95, 0x71, 0x55, - 0xdc, 0xe4, 0x52, 0x28, 0x6d, 0x8d, 0x86, 0x8f, 0x96, 0xc8, 0x0b, 0x90, 0x15, 0xc3, 0xbf, 0x96, - 0x82, 0xcf, 0x81, 0x25, 0x33, 0x25, 0x30, 0x1e, 0x41, 0x4c, 0x6f, 0x9a, 0x08, 0x1c, 0x98, 0x2a, - 0x42, 0x7c, 0x04, 0x45, 0xe9, 0x62, 0xe3, 0x97, 0xaa, 0x74, 0x03, 0x7c, 0xba, 0xd2, 0x0d, 0x4f, - 0x8e, 0xfa, 0x46, 0x01, 0xb3, 0x43, 0x63, 0xb3, 0x99, 0xc2, 0xd9, 0x65, 0x52, 0xe9, 0xfe, 0x5f, - 0x90, 0x22, 0x19, 0x27, 0x60, 0x2a, 0xd1, 0xf9, 0x69, 0xca, 0x17, 0x27, 0x94, 0xee, 0x8d, 0x48, - 0x08, 0x23, 0x57, 0x5b, 0xa7, 0xe7, 0x9a, 0x72, 0x76, 0xae, 0x29, 0x3f, 0xce, 0x35, 0xe5, 0xdd, - 0x85, 0x96, 0x39, 0xbb, 0xd0, 0x32, 0xdf, 0x2f, 0xb4, 0xcc, 0x33, 0xcb, 0x71, 0x59, 0xb3, 0x53, - 0x37, 0x1a, 0xc4, 0x33, 0x1f, 0x86, 0xce, 0x1f, 0xc1, 0x3a, 0x35, 0xa3, 0x50, 0xeb, 0x0d, 0xe2, - 0xa3, 0xf8, 0xb1, 0x09, 0x5d, 0x6c, 0x7a, 0xc4, 0xee, 0xb4, 0x10, 0x4d, 0x7e, 0xe3, 0x59, 0xb7, - 0x8d, 0x68, 0x3d, 0x27, 0xbe, 0xed, 0x9b, 0xbf, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa5, 0xcb, 0x12, - 0xae, 0xdd, 0x08, 0x00, 0x00, + // 855 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0x4d, 0x6f, 0xe3, 0x44, + 0x18, 0x8e, 0xd9, 0x6c, 0x68, 0xa7, 0xbb, 0xa4, 0xf5, 0x96, 0x6d, 0x9a, 0xd5, 0x3a, 0xc8, 0x8b, + 0x76, 0x69, 0xab, 0xd8, 0x4a, 0x2b, 0xb5, 0x22, 0x9c, 0x9a, 0xf6, 0x00, 0x12, 0x91, 0x90, 0x0b, + 0x17, 0x84, 0x54, 0xc6, 0xf1, 0xe0, 0x98, 0xc6, 0x33, 0x91, 0x67, 0xdc, 0x36, 0x57, 0xc4, 0x89, + 0x13, 0xff, 0x83, 0x4b, 0x0f, 0x1c, 0xf8, 0x09, 0x95, 0x38, 0x50, 0x71, 0xe2, 0x14, 0xa1, 0xf6, + 0xd0, 0x33, 0xf9, 0x05, 0x68, 0x3e, 0xec, 0x38, 0x09, 0xa1, 0x0e, 0x27, 0x2e, 0xad, 0x67, 0xde, + 0xe7, 0x79, 0xe7, 0x7d, 0xde, 0x2f, 0x05, 0xbc, 0x09, 0xf0, 0xb7, 0xa8, 0xc3, 0x82, 0x73, 0x64, + 0x33, 0x72, 0x86, 0xf0, 0x37, 0xb0, 0xc3, 0x48, 0x34, 0xb0, 0xcf, 0x1b, 0x2e, 0x62, 0xb0, 0x61, + 0xb3, 0x4b, 0xab, 0x1f, 0x11, 0x46, 0x74, 0x23, 0x05, 0x5a, 0x59, 0xa0, 0xa5, 0x80, 0xd5, 0x75, + 0x9f, 0xf8, 0x44, 0x40, 0x6d, 0xfe, 0x25, 0x59, 0x55, 0xa3, 0x43, 0x68, 0x48, 0xa8, 0xed, 0x42, + 0x8a, 0x52, 0x9f, 0x1d, 0x12, 0xe0, 0x19, 0x3b, 0x3e, 0x4b, 0xed, 0xfc, 0xa0, 0xec, 0x1b, 0xca, + 0x1e, 0x52, 0xdf, 0x3e, 0x6f, 0xf0, 0x7f, 0xca, 0xb0, 0x29, 0x0d, 0xa7, 0xf2, 0x45, 0x79, 0x50, + 0xa6, 0x9d, 0x07, 0x24, 0xf5, 0x61, 0x04, 0xc3, 0x04, 0xbc, 0x06, 0xc3, 0x00, 0x13, 0x5b, 0xfc, + 0x95, 0x57, 0xe6, 0x5f, 0x1a, 0x78, 0xa7, 0x4d, 0xfd, 0xa3, 0x08, 0x41, 0x86, 0x8e, 0x11, 0x26, + 0xa1, 0xbe, 0x05, 0x4a, 0x14, 0x61, 0x0f, 0x45, 0x15, 0xed, 0x3d, 0xed, 0x83, 0xe5, 0xd6, 0xda, + 0x68, 0x58, 0x7b, 0x3a, 0x80, 0x61, 0xaf, 0x69, 0xca, 0x7b, 0xd3, 0x51, 0x00, 0xdd, 0x06, 0x4b, + 0x34, 0x76, 0x3d, 0x4e, 0xab, 0xbc, 0x25, 0xc0, 0xcf, 0x46, 0xc3, 0x5a, 0x59, 0x81, 0x95, 0xc5, + 0x74, 0x52, 0x90, 0xfe, 0x0a, 0x14, 0x31, 0x0c, 0x51, 0xe5, 0x91, 0x00, 0x97, 0x47, 0xc3, 0xda, + 0x8a, 0x04, 0xf3, 0x5b, 0xd3, 0x11, 0x46, 0x11, 0xc0, 0x20, 0x74, 0x49, 0xaf, 0x52, 0x9c, 0x09, + 0x40, 0xdc, 0xf3, 0x00, 0xc4, 0x47, 0x73, 0xef, 0xbb, 0xfb, 0xab, 0x6d, 0x15, 0xcd, 0x0f, 0xf7, + 0x57, 0xdb, 0xaf, 0xe6, 0xa4, 0xa3, 0x23, 0xf4, 0xd5, 0x65, 0x3c, 0x5f, 0x81, 0xe7, 0x93, 0x92, + 0x1d, 0x44, 0xfb, 0x04, 0x53, 0xa4, 0xb7, 0x40, 0x19, 0xa3, 0x8b, 0x53, 0x41, 0x3d, 0x95, 0xb2, + 0x64, 0x0e, 0xaa, 0xa3, 0x61, 0xed, 0xb9, 0x8a, 0x74, 0x12, 0x60, 0x3a, 0x4f, 0x31, 0xba, 0xf8, + 0x9c, 0x5f, 0x08, 0x5f, 0xe6, 0x4f, 0x1a, 0x78, 0xbb, 0x4d, 0xfd, 0x76, 0x80, 0xd9, 0x22, 0xa9, + 0xfc, 0x18, 0x94, 0x60, 0x48, 0x62, 0xcc, 0x44, 0x22, 0x57, 0x76, 0x37, 0x2d, 0x55, 0x67, 0xde, + 0x4d, 0x49, 0xe3, 0x59, 0x47, 0x24, 0xc0, 0xad, 0x77, 0xaf, 0x87, 0xb5, 0xc2, 0xd8, 0x93, 0xa4, + 0x99, 0x8e, 0xe2, 0x37, 0x77, 0xa6, 0x72, 0xf2, 0x62, 0x4e, 0x4e, 0xc2, 0x00, 0x33, 0x73, 0x0d, + 0x94, 0x55, 0xb0, 0x49, 0x12, 0x12, 0x01, 0xad, 0x38, 0xc2, 0xff, 0x6f, 0x01, 0x6e, 0x1c, 0x61, + 0x25, 0x80, 0x07, 0x9b, 0x0a, 0xf8, 0x55, 0xf5, 0x74, 0x17, 0x62, 0x1f, 0x1d, 0x7a, 0x61, 0xb0, + 0x90, 0x8e, 0xd7, 0xe0, 0x71, 0xb6, 0xa1, 0x57, 0x47, 0xc3, 0xda, 0x13, 0x89, 0x54, 0xf5, 0x96, + 0x66, 0xbd, 0x01, 0x96, 0x79, 0x2b, 0x40, 0xee, 0x5f, 0xf5, 0xf3, 0xfa, 0x68, 0x58, 0x5b, 0x1d, + 0x77, 0x89, 0x30, 0x99, 0xce, 0x12, 0x46, 0x17, 0x22, 0x8a, 0xfc, 0xdd, 0x2a, 0x22, 0xaf, 0x4b, + 0x7e, 0x45, 0x76, 0xeb, 0x58, 0x4c, 0xaa, 0xf3, 0x37, 0x0d, 0x3c, 0x6b, 0x53, 0xff, 0x04, 0x31, + 0xd1, 0x79, 0x6d, 0xc4, 0xa0, 0x07, 0x19, 0x5c, 0x44, 0xac, 0x03, 0x96, 0x42, 0x45, 0x53, 0x65, + 0x7b, 0x39, 0x2e, 0x1b, 0x3e, 0x4b, 0xcb, 0x96, 0xf8, 0x6e, 0x6d, 0xa8, 0xd2, 0xa9, 0x19, 0x4f, + 0xc8, 0xa6, 0x93, 0xfa, 0x69, 0x7e, 0x38, 0xa5, 0x72, 0x6b, 0x8e, 0x4a, 0x8a, 0x98, 0x1c, 0xc8, + 0x7a, 0xea, 0xe5, 0x25, 0x78, 0xf1, 0x0f, 0x82, 0x52, 0xc1, 0xd7, 0x9a, 0x28, 0xf6, 0x17, 0x7d, + 0x0f, 0x32, 0xf4, 0x99, 0xd8, 0x6c, 0xfa, 0x3e, 0x58, 0x86, 0x31, 0xeb, 0x92, 0x28, 0x60, 0x03, + 0xa5, 0xb7, 0xf2, 0xfb, 0xcf, 0xf5, 0x75, 0xa5, 0xe2, 0xd0, 0xf3, 0x22, 0x44, 0xe9, 0x09, 0x8b, + 0x02, 0xec, 0x3b, 0x63, 0xa8, 0x7e, 0x0c, 0x4a, 0x72, 0x37, 0x2a, 0xdd, 0xaf, 0xad, 0x7f, 0xdf, + 0xf9, 0x96, 0x7c, 0xaf, 0x55, 0xe4, 0x09, 0x70, 0x14, 0xb7, 0x79, 0xc0, 0xb5, 0x8e, 0xbd, 0x72, + 0xb9, 0xef, 0xcf, 0x91, 0x1b, 0x8b, 0xa8, 0xeb, 0x92, 0x68, 0x6e, 0x82, 0x8d, 0x29, 0x25, 0x89, + 0xca, 0xdd, 0x5f, 0x1e, 0x83, 0x47, 0x6d, 0xea, 0xeb, 0x31, 0x58, 0xc9, 0xae, 0x65, 0xeb, 0xa1, + 0x00, 0x27, 0x77, 0x5a, 0x75, 0x7f, 0x31, 0x7c, 0xba, 0x03, 0xbf, 0x06, 0x45, 0xb1, 0xbb, 0xde, + 0xe4, 0xe0, 0x73, 0x60, 0xd5, 0xce, 0x09, 0xcc, 0xbe, 0x20, 0x96, 0x4b, 0x9e, 0x17, 0x38, 0x30, + 0xd7, 0x0b, 0xd9, 0x0d, 0x20, 0x52, 0x97, 0x99, 0xfe, 0x5c, 0xa9, 0x1b, 0xe3, 0xf3, 0xa5, 0x6e, + 0x76, 0x20, 0xf5, 0xef, 0x35, 0xb0, 0x3a, 0x33, 0x8d, 0x7b, 0x39, 0x9c, 0x4d, 0x93, 0xaa, 0x1f, + 0xfd, 0x07, 0x52, 0x1a, 0xc6, 0x25, 0x78, 0x32, 0x31, 0x22, 0x79, 0xd2, 0x97, 0x25, 0x54, 0x0f, + 0x16, 0x24, 0x24, 0x2f, 0xb7, 0x7a, 0xd7, 0xb7, 0x86, 0x76, 0x73, 0x6b, 0x68, 0x7f, 0xde, 0x1a, + 0xda, 0x8f, 0x77, 0x46, 0xe1, 0xe6, 0xce, 0x28, 0xfc, 0x71, 0x67, 0x14, 0xbe, 0x74, 0xfc, 0x80, + 0x75, 0x63, 0xd7, 0xea, 0x90, 0xd0, 0xfe, 0x24, 0x71, 0xfe, 0x29, 0x74, 0xa9, 0x9d, 0x3e, 0x55, + 0xef, 0x90, 0x08, 0x65, 0x8f, 0x5d, 0x18, 0x60, 0x3b, 0x24, 0x5e, 0xdc, 0x43, 0x74, 0x72, 0x96, + 0xd8, 0xa0, 0x8f, 0xa8, 0x5b, 0x12, 0x3f, 0x61, 0xf6, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xaa, + 0xc1, 0x4d, 0x17, 0xd7, 0x09, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/types/account.go b/chain/types/account.go index 9c9ef989..7d6be3d5 100644 --- a/chain/types/account.go +++ b/chain/types/account.go @@ -6,20 +6,20 @@ import ( "fmt" "strings" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" "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" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" ethcmn "github.com/ethereum/go-ethereum/common" ethcrypto "github.com/ethereum/go-ethereum/crypto" ) var ( - _ authtypes.AccountI = (*EthAccount)(nil) + _ sdk.AccountI = (*EthAccount)(nil) _ authtypes.GenesisAccount = (*EthAccount)(nil) _ codectypes.UnpackInterfacesMessage = (*EthAccount)(nil) ) @@ -32,7 +32,7 @@ var EmptyCodeHash = ethcrypto.Keccak256(nil) // ProtoAccount defines the prototype function for BaseAccount used for an // AccountKeeper. -func ProtoAccount() authtypes.AccountI { +func ProtoAccount() sdk.AccountI { return &EthAccount{ BaseAccount: &authtypes.BaseAccount{}, CodeHash: ethcrypto.Keccak256(nil), diff --git a/chain/types/account.pb.go b/chain/types/account.pb.go index cb352b87..7f26dc54 100644 --- a/chain/types/account.pb.go +++ b/chain/types/account.pb.go @@ -73,28 +73,27 @@ func init() { } var fileDescriptor_e25f61138fdc8ede = []byte{ - // 330 bytes of a gzipped FileDescriptorProto + // 317 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0xcd, 0xcc, 0xcb, 0x4a, 0x4d, 0x2e, 0xc9, 0x2c, 0x4b, 0xd5, 0x2f, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x4f, 0x4c, 0x4e, 0xce, 0x2f, 0xcd, 0x2b, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x87, 0x2b, 0xd3, 0x03, 0x2b, 0xd3, 0x83, 0x2a, 0x93, 0x92, 0x4b, 0xce, 0x2f, 0xce, 0xcd, 0x2f, 0xd6, 0x4f, 0x2c, 0x2d, 0xc9, 0x40, 0xe8, 0x2d, 0x2d, 0xc9, 0x80, 0x68, 0x94, 0x92, 0x84, 0xc8, 0xc7, 0x83, 0x79, 0xfa, 0x10, 0x0e, 0x54, 0x4a, 0x24, 0x3d, 0x3f, 0x3d, 0x1f, - 0x22, 0x0e, 0x62, 0x41, 0x44, 0x95, 0x9e, 0x32, 0x72, 0x71, 0xb9, 0x96, 0x64, 0x38, 0x42, 0xac, + 0x22, 0x0e, 0x62, 0x41, 0x44, 0x95, 0xce, 0x33, 0x72, 0x71, 0xb9, 0x96, 0x64, 0x38, 0x42, 0xac, 0x17, 0x4a, 0xe0, 0xe2, 0x49, 0x4a, 0x2c, 0x4e, 0x8d, 0x87, 0x3a, 0x47, 0x82, 0x51, 0x81, 0x51, 0x83, 0xdb, 0x48, 0x41, 0x0f, 0x6a, 0x12, 0xd8, 0x26, 0xa8, 0xb5, 0x7a, 0x4e, 0x89, 0xc5, 0xa9, 0x50, 0x7d, 0x4e, 0xd2, 0x17, 0xee, 0xc9, 0x33, 0x7e, 0xba, 0x27, 0x2f, 0x5c, 0x99, 0x98, 0x9b, 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, 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, 0x96, 0xda, 0x34, 0x87, 0xda, 0x01, 0x00, 0x00, + 0xc3, 0x4a, 0xa7, 0x63, 0x81, 0x3c, 0xc3, 0x8c, 0x05, 0xf2, 0x0c, 0x2f, 0x16, 0xc8, 0x33, 0x9c, + 0xda, 0xa2, 0x2b, 0x83, 0xcd, 0x35, 0x50, 0xf3, 0x3d, 0x9d, 0xc2, 0x4f, 0x3c, 0x92, 0x63, 0xbc, + 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23, 0x39, 0xc6, 0x09, 0x8f, 0xe5, 0x18, 0x2e, 0x3c, 0x96, 0x63, + 0xb8, 0xf1, 0x58, 0x8e, 0x21, 0xca, 0x36, 0x3d, 0xb3, 0x24, 0xa3, 0x34, 0x49, 0x2f, 0x39, 0x3f, + 0x57, 0xdf, 0x13, 0x16, 0xc0, 0x3e, 0x89, 0x49, 0xc5, 0xfa, 0xf0, 0xe0, 0xd6, 0x4d, 0xce, 0x2f, + 0x4a, 0x45, 0xe6, 0x66, 0x24, 0x66, 0xe6, 0x41, 0xa2, 0x2a, 0x89, 0x0d, 0x1c, 0x62, 0xc6, 0x80, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xef, 0x10, 0x61, 0x9a, 0xc4, 0x01, 0x00, 0x00, } func (m *EthAccount) Marshal() (dAtA []byte, err error) { diff --git a/chain/types/codec.go b/chain/types/codec.go index 321ee347..6f061a2d 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" "github.com/cosmos/cosmos-sdk/types/tx" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" ) @@ -9,10 +10,10 @@ import ( // RegisterInterfaces registers the tendermint concrete client-related // implementations and interfaces. func RegisterInterfaces(registry codectypes.InterfaceRegistry) { - registry.RegisterInterface("injective.types.v1beta1.EthAccount", (*authtypes.AccountI)(nil)) + registry.RegisterInterface("injective.types.v1beta1.EthAccount", (*types.AccountI)(nil)) registry.RegisterImplementations( - (*authtypes.AccountI)(nil), + (*types.AccountI)(nil), &EthAccount{}, ) diff --git a/chain/types/coin.go b/chain/types/coin.go index 824041f2..b8ec01ae 100644 --- a/chain/types/coin.go +++ b/chain/types/coin.go @@ -1,7 +1,7 @@ package types import ( - sdkmath "cosmossdk.io/math" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -20,18 +20,12 @@ const ( BaseDenomUnit = 18 ) -// NewInjectiveCoin is a utility function that returns an "inj" coin with the given sdkmath.Int amount. +// NewInjectiveCoin is a utility function that returns an "inj" coin with the given math.Int amount. // The function will panic if the provided amount is negative. -func NewInjectiveCoin(amount sdkmath.Int) sdk.Coin { +func NewInjectiveCoin(amount math.Int) sdk.Coin { return sdk.NewCoin(InjectiveCoin, 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 sdkmath.Int) sdk.DecCoin { - return sdk.NewDecCoin(InjectiveCoin, amount) -} - // NewInjectiveCoinInt64 is a utility function that returns an "inj" coin with the given int64 amount. // The function will panic if the provided amount is negative. func NewInjectiveCoinInt64(amount int64) sdk.Coin { diff --git a/chain/types/gas.go b/chain/types/gas.go index 1c15357a..b14660de 100644 --- a/chain/types/gas.go +++ b/chain/types/gas.go @@ -5,7 +5,7 @@ import ( "math" "sync" - storetypes "github.com/cosmos/cosmos-sdk/store/types" + storetypes "cosmossdk.io/store/types" ) type infiniteGasMeter struct { diff --git a/chain/wasmx/types/codec.go b/chain/wasmx/types/codec.go index 8b78b8db..01d03e7a 100644 --- a/chain/wasmx/types/codec.go +++ b/chain/wasmx/types/codec.go @@ -7,9 +7,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" 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 @@ -25,6 +23,9 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&BatchContractRegistrationRequestProposal{}, "wasmx/BatchContractRegistrationRequestProposal", nil) cdc.RegisterConcrete(&BatchContractDeregistrationProposal{}, "wasmx/BatchContractDeregistrationProposal", nil) cdc.RegisterConcrete(&BatchStoreCodeProposal{}, "wasmx/BatchStoreCodeProposal", nil) + + cdc.RegisterConcrete(&Params{}, "wasmx/Params", nil) + } func RegisterInterfaces(registry types.InterfaceRegistry) { @@ -48,23 +49,23 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { } var ( - amino = codec.NewLegacyAmino() - // ModuleCdc references the global x/wasmx module codec. Note, the codec should // ONLY be used in certain instances of tests and for JSON encoding as Amino is // still used for that purpose. // // The actual codec used for serialization should be provided to x/wasmx and // defined at the application level. - ModuleCdc = codec.NewAminoCodec(amino) + ModuleCdc = codec.NewLegacyAmino() ) func init() { - RegisterLegacyAminoCodec(amino) - cryptocodec.RegisterCrypto(amino) - amino.Seal() + RegisterLegacyAminoCodec(ModuleCdc) + cryptocodec.RegisterCrypto(ModuleCdc) + ModuleCdc.Seal() RegisterLegacyAminoCodec(authzcdc.Amino) - RegisterLegacyAminoCodec(govcdc.Amino) - RegisterLegacyAminoCodec(groupcdc.Amino) + + // TODO: Check + // RegisterLegacyAminoCodec(govcdc.Amino) + // RegisterLegacyAminoCodec(groupcdc.Amino) } diff --git a/chain/wasmx/types/expected_keepers.go b/chain/wasmx/types/expected_keepers.go index 81859f92..e9d5d692 100644 --- a/chain/wasmx/types/expected_keepers.go +++ b/chain/wasmx/types/expected_keepers.go @@ -1,20 +1,22 @@ package types import ( + "context" + wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" sdk "github.com/cosmos/cosmos-sdk/types" ) // BankKeeper defines the expected bank keeper methods type BankKeeper interface { - GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin - GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins - SendCoinsFromModuleToModule(ctx sdk.Context, senderModule, recipientModule string, amt sdk.Coins) error - 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 + GetBalance(ctx context.Context, addr sdk.AccAddress, denom string) sdk.Coin + GetAllBalances(ctx context.Context, addr sdk.AccAddress) sdk.Coins + SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error + SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error + BurnCoins(ctx context.Context, moduleName string, amt sdk.Coins) error + IsSendEnabledCoins(ctx context.Context, coins ...sdk.Coin) error + SendCoins(ctx context.Context, from, to sdk.AccAddress, amt sdk.Coins) error } type WasmViewKeeper interface { diff --git a/chain/wasmx/types/proposal.pb.go b/chain/wasmx/types/proposal.pb.go index 04fe8406..646665a5 100644 --- a/chain/wasmx/types/proposal.pb.go +++ b/chain/wasmx/types/proposal.pb.go @@ -7,6 +7,7 @@ import ( fmt "fmt" types "github.com/CosmWasm/wasmd/x/wasm/types" _ "github.com/cosmos/cosmos-proto" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -346,51 +347,54 @@ func init() { func init() { proto.RegisterFile("injective/wasmx/v1/proposal.proto", fileDescriptor_ba51f3e994cc61a5) } var fileDescriptor_ba51f3e994cc61a5 = []byte{ - // 696 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0xcd, 0x6e, 0xd3, 0x4c, - 0x14, 0x8d, 0x93, 0xb4, 0x4d, 0x26, 0xfd, 0xc9, 0x37, 0x5f, 0x05, 0xa6, 0x2d, 0x4e, 0x68, 0xa4, - 0x12, 0x90, 0x6a, 0xd3, 0xb2, 0xeb, 0xae, 0x69, 0x45, 0x55, 0xd1, 0x8a, 0xca, 0x15, 0x1b, 0x36, - 0xd6, 0xc4, 0x73, 0xe3, 0x0c, 0xb2, 0x3d, 0xc6, 0x33, 0x49, 0x89, 0xd8, 0xb0, 0x83, 0x25, 0x8f, - 0x50, 0x89, 0x07, 0x60, 0xc3, 0x0b, 0xb0, 0xab, 0x58, 0x75, 0xc9, 0x0a, 0xa1, 0x76, 0xc3, 0x63, - 0x20, 0xff, 0xa5, 0x41, 0x85, 0x50, 0x51, 0xb1, 0xcb, 0xb9, 0xf7, 0xdc, 0x3b, 0xe7, 0x9e, 0xb9, - 0x9e, 0xa0, 0x3b, 0xcc, 0x7f, 0x0e, 0xb6, 0x64, 0x7d, 0x30, 0x8e, 0x88, 0xf0, 0x5e, 0x1a, 0xfd, - 0x35, 0x23, 0x08, 0x79, 0xc0, 0x05, 0x71, 0xf5, 0x20, 0xe4, 0x92, 0x63, 0x3c, 0xa4, 0xe8, 0x31, - 0x45, 0xef, 0xaf, 0x2d, 0xdc, 0xb2, 0xb9, 0xf0, 0xb8, 0xb0, 0x62, 0x86, 0x91, 0x80, 0x84, 0xbe, - 0xb0, 0x12, 0xa1, 0x88, 0x18, 0x37, 0x1c, 0xed, 0x67, 0xb9, 0xe0, 0x10, 0x7b, 0x90, 0xf2, 0xe6, - 0x1d, 0xee, 0xf0, 0xa4, 0x3e, 0xfa, 0x95, 0x44, 0x97, 0x5f, 0xe7, 0x51, 0x63, 0x8b, 0xfb, 0x32, - 0x24, 0xb6, 0x34, 0xc1, 0x61, 0x42, 0x86, 0x44, 0x32, 0xee, 0x9b, 0xf0, 0xa2, 0x07, 0x42, 0x1e, - 0xa4, 0xad, 0xf0, 0x3c, 0x9a, 0x90, 0x4c, 0xba, 0xa0, 0x2a, 0x75, 0xa5, 0x59, 0x36, 0x13, 0x80, - 0xeb, 0xa8, 0x42, 0x41, 0xd8, 0x21, 0x0b, 0xa2, 0x1a, 0x35, 0x1f, 0xe7, 0x46, 0x43, 0x78, 0x80, - 0x6e, 0xdb, 0x69, 0x7b, 0x2b, 0x1c, 0xe9, 0x6f, 0x85, 0xc9, 0x01, 0x6a, 0xa1, 0xae, 0x34, 0x2b, - 0xeb, 0x86, 0x7e, 0x79, 0x68, 0x7d, 0x8c, 0xae, 0x56, 0xf1, 0xe4, 0x6b, 0x2d, 0x67, 0x2e, 0xda, - 0xbf, 0xa7, 0x6c, 0xac, 0xbc, 0x3d, 0xae, 0xe5, 0xbe, 0x1f, 0xd7, 0x72, 0x9f, 0x3f, 0xae, 0x2e, - 0xa4, 0x96, 0x39, 0xbc, 0xaf, 0xf7, 0xd7, 0xda, 0x20, 0x49, 0xd2, 0x1e, 0x7c, 0xb9, 0xfc, 0x26, - 0x8f, 0x9a, 0x2d, 0x22, 0xed, 0xee, 0xbf, 0xf4, 0xe1, 0x15, 0xd2, 0xc6, 0xfa, 0x20, 0xd4, 0x42, - 0xbd, 0xf0, 0xf7, 0x46, 0x2c, 0x8d, 0x31, 0x42, 0x5c, 0xd9, 0x89, 0xf7, 0x0a, 0x6a, 0xfc, 0xe4, - 0xc4, 0x36, 0x8c, 0x6a, 0xbd, 0xb6, 0x09, 0x4b, 0xa8, 0x9c, 0xe9, 0x4c, 0xe6, 0x2d, 0x9b, 0x17, - 0x81, 0x2b, 0xab, 0xfc, 0x50, 0x40, 0x8b, 0x63, 0x1c, 0xc1, 0xf7, 0x50, 0x75, 0x68, 0x35, 0xa1, - 0x34, 0x04, 0x21, 0x52, 0xa1, 0x73, 0x59, 0x7c, 0x33, 0x09, 0xe3, 0x45, 0x54, 0x76, 0x88, 0xb0, - 0x5c, 0xe6, 0x31, 0x19, 0x0b, 0x2e, 0x9a, 0x25, 0x87, 0x88, 0xbd, 0x08, 0x67, 0xc9, 0x20, 0x64, - 0x36, 0xc4, 0x6b, 0x9a, 0x24, 0x0f, 0x22, 0x8c, 0x75, 0xf4, 0xbf, 0xe8, 0xf2, 0x9e, 0x4b, 0xad, - 0x80, 0xf9, 0x56, 0xd6, 0x57, 0x2d, 0xd6, 0x95, 0x66, 0xc9, 0xfc, 0x2f, 0x49, 0x1d, 0x30, 0x3f, - 0xd3, 0x89, 0x1f, 0xa0, 0x79, 0x26, 0x2c, 0x8f, 0x39, 0xe9, 0xb5, 0x13, 0xd7, 0xe5, 0x47, 0x40, - 0xd5, 0x89, 0xb8, 0x00, 0x33, 0xb1, 0x9f, 0xa5, 0x36, 0x93, 0x0c, 0xbe, 0x89, 0xa6, 0x6c, 0x4e, - 0xc1, 0x62, 0x54, 0x9d, 0x8c, 0x0f, 0x9f, 0x8c, 0xe0, 0x2e, 0xc5, 0x0d, 0x34, 0x43, 0xa8, 0xc7, - 0xfc, 0xe1, 0x70, 0x53, 0xf1, 0x70, 0xd3, 0x71, 0x30, 0x9b, 0xec, 0x2e, 0x9a, 0x73, 0x42, 0xe2, - 0x4b, 0x08, 0x87, 0xb4, 0x52, 0x4c, 0x9b, 0x4d, 0xc3, 0x19, 0xb1, 0x85, 0xa6, 0x3b, 0x3d, 0x9f, - 0x32, 0xdf, 0xb1, 0x3c, 0x4e, 0x41, 0x2d, 0xd7, 0x95, 0xe6, 0xec, 0x7a, 0xed, 0x57, 0x6b, 0xf8, - 0x28, 0xe1, 0xed, 0x73, 0x0a, 0x66, 0xa5, 0x73, 0x01, 0x36, 0xb4, 0x3f, 0xdc, 0xd8, 0x27, 0x05, - 0xdd, 0x88, 0xf7, 0xea, 0x50, 0xf2, 0x10, 0xb6, 0x38, 0x85, 0x6b, 0xaf, 0xd2, 0x0e, 0x2a, 0x67, - 0xcf, 0x5c, 0xf6, 0xe9, 0x34, 0xf4, 0xec, 0x25, 0x8c, 0x25, 0x47, 0x8a, 0x2f, 0x9d, 0x97, 0x7e, - 0x2e, 0x17, 0xb5, 0x57, 0xdd, 0xba, 0xfb, 0x3b, 0xa8, 0x32, 0x32, 0x3f, 0x9e, 0x43, 0x95, 0xa7, - 0xbe, 0x08, 0xc0, 0x66, 0x1d, 0x06, 0xb4, 0x9a, 0xc3, 0xb3, 0x08, 0x1d, 0x82, 0xdb, 0x89, 0x38, - 0x40, 0xab, 0x0a, 0x9e, 0x41, 0xe5, 0x9d, 0xc8, 0xe9, 0x27, 0xbe, 0x3b, 0xa8, 0xe6, 0x71, 0x09, - 0x15, 0xb7, 0x7b, 0xc4, 0xad, 0x16, 0x5a, 0x70, 0x72, 0xa6, 0x29, 0xa7, 0x67, 0x9a, 0xf2, 0xed, - 0x4c, 0x53, 0xde, 0x9d, 0x6b, 0xb9, 0xd3, 0x73, 0x2d, 0xf7, 0xe5, 0x5c, 0xcb, 0x3d, 0x7b, 0xec, - 0x30, 0xd9, 0xed, 0xb5, 0x75, 0x9b, 0x7b, 0xc6, 0x6e, 0x66, 0xff, 0x1e, 0x69, 0x0b, 0x63, 0x78, - 0x19, 0xab, 0x36, 0x0f, 0x61, 0x14, 0x76, 0x09, 0xf3, 0x0d, 0x8f, 0xd3, 0x9e, 0x0b, 0x22, 0xfd, - 0x47, 0x91, 0x83, 0x00, 0x44, 0x7b, 0x32, 0x7e, 0xdf, 0x1f, 0xfe, 0x08, 0x00, 0x00, 0xff, 0xff, - 0x04, 0xe3, 0xe0, 0x18, 0x71, 0x06, 0x00, 0x00, + // 738 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0xcf, 0x6e, 0xd3, 0x4e, + 0x10, 0x8e, 0x93, 0xb4, 0x4d, 0x36, 0xfd, 0x93, 0xee, 0xaf, 0xfa, 0x61, 0xda, 0xe2, 0x84, 0x44, + 0x82, 0xb4, 0x52, 0x6d, 0x5a, 0x6e, 0xb9, 0x35, 0xad, 0x88, 0x2a, 0x5a, 0x51, 0xb9, 0x70, 0x80, + 0x8b, 0xb5, 0xf1, 0x6e, 0x9c, 0x45, 0xb6, 0xd7, 0x78, 0x37, 0x29, 0x11, 0x2f, 0x80, 0x38, 0xf1, + 0x08, 0x7d, 0x02, 0xe0, 0xc0, 0x89, 0x27, 0xa8, 0x38, 0x95, 0x1b, 0x27, 0x84, 0xd2, 0x03, 0x3c, + 0x06, 0xf2, 0xbf, 0x34, 0xa8, 0x10, 0x45, 0xad, 0xb8, 0x44, 0x99, 0x99, 0x6f, 0x67, 0xe6, 0xfb, + 0x66, 0xd6, 0x0b, 0x6e, 0x53, 0xf7, 0x39, 0x31, 0x05, 0xed, 0x11, 0xed, 0x18, 0x71, 0xe7, 0xa5, + 0xd6, 0xdb, 0xd4, 0x3c, 0x9f, 0x79, 0x8c, 0x23, 0x5b, 0xf5, 0x7c, 0x26, 0x18, 0x84, 0x43, 0x88, + 0x1a, 0x42, 0xd4, 0xde, 0xe6, 0xf2, 0x4d, 0x93, 0x71, 0x87, 0x71, 0x23, 0x44, 0x68, 0x91, 0x11, + 0xc1, 0x97, 0xef, 0x04, 0x56, 0x00, 0x0c, 0x13, 0x8e, 0xe6, 0x33, 0x6c, 0x62, 0x21, 0xb3, 0x1f, + 0xe3, 0x96, 0x2c, 0x66, 0xb1, 0xe8, 0x7c, 0xf0, 0x2f, 0xf6, 0x2e, 0x22, 0x87, 0xba, 0x4c, 0x0b, + 0x7f, 0x23, 0x57, 0xe5, 0x5d, 0x1a, 0x54, 0x77, 0x98, 0x2b, 0x7c, 0x64, 0x0a, 0x9d, 0x58, 0x94, + 0x0b, 0x1f, 0x09, 0xca, 0x5c, 0x9d, 0xbc, 0xe8, 0x12, 0x2e, 0x0e, 0xe3, 0xec, 0x70, 0x09, 0x4c, + 0x09, 0x2a, 0x6c, 0x22, 0x4b, 0x65, 0xa9, 0x96, 0xd7, 0x23, 0x03, 0x96, 0x41, 0x01, 0x13, 0x6e, + 0xfa, 0xd4, 0x0b, 0xce, 0xc8, 0xe9, 0x30, 0x36, 0xea, 0x82, 0x7d, 0x70, 0xcb, 0x8c, 0xd3, 0x1b, + 0xfe, 0x48, 0x7e, 0xc3, 0x8f, 0x0a, 0xc8, 0x99, 0xb2, 0x54, 0x2b, 0x6c, 0x69, 0xea, 0x65, 0x1d, + 0xd4, 0x31, 0x7d, 0x35, 0xb2, 0xa7, 0xdf, 0x4a, 0x29, 0x7d, 0xc5, 0xfc, 0x3b, 0xa4, 0xfe, 0xf8, + 0xf5, 0x49, 0x29, 0xf5, 0xf3, 0xa4, 0x94, 0xfa, 0xfc, 0x71, 0x63, 0x39, 0x56, 0xd1, 0x62, 0x3d, + 0xb5, 0xb7, 0xd9, 0x22, 0x02, 0x45, 0xe9, 0x89, 0x2b, 0xde, 0xfc, 0xf8, 0xb0, 0xbe, 0x16, 0x8d, + 0x67, 0x02, 0x21, 0x2a, 0x9f, 0xd2, 0xa0, 0xd6, 0x40, 0xc2, 0xec, 0xfc, 0x4b, 0xd5, 0x5e, 0x01, + 0x65, 0xac, 0x6a, 0x5c, 0xce, 0x94, 0x33, 0x57, 0x97, 0x6d, 0x75, 0x8c, 0x6c, 0xbc, 0xfe, 0x74, + 0x72, 0xdd, 0xa2, 0xa2, 0xda, 0xa4, 0x7a, 0x54, 0xbe, 0x48, 0xa0, 0xfa, 0x1b, 0x78, 0x97, 0x8c, + 0xd2, 0xbb, 0xb6, 0x6e, 0xab, 0x20, 0x9f, 0x50, 0x8b, 0x24, 0xca, 0xeb, 0x17, 0x8e, 0x2b, 0x2c, + 0xc4, 0x04, 0xbd, 0x56, 0xde, 0x67, 0xc0, 0xca, 0x18, 0xee, 0x70, 0x0d, 0x14, 0x87, 0xb3, 0x44, + 0x18, 0xfb, 0x84, 0xf3, 0x98, 0xd6, 0x42, 0xe2, 0xdf, 0x8e, 0xdc, 0x70, 0x05, 0xe4, 0x2d, 0xc4, + 0x0d, 0x9b, 0x3a, 0x54, 0x84, 0xf4, 0xb2, 0x7a, 0xce, 0x42, 0x7c, 0x3f, 0xb0, 0x93, 0xa0, 0xe7, + 0x53, 0x93, 0x84, 0xb7, 0x26, 0x0a, 0x1e, 0x06, 0x36, 0x54, 0xc1, 0x7f, 0xbc, 0xc3, 0xba, 0x36, + 0x36, 0x3c, 0xea, 0x1a, 0x49, 0x5e, 0x39, 0x5b, 0x96, 0x6a, 0x39, 0x7d, 0x31, 0x0a, 0x1d, 0x52, + 0x37, 0xe9, 0x13, 0xde, 0x03, 0x4b, 0x94, 0x1b, 0x0e, 0xb5, 0xe2, 0xbd, 0x42, 0xb6, 0xcd, 0x8e, + 0x09, 0x96, 0xa7, 0xc2, 0x03, 0x90, 0xf2, 0x83, 0x24, 0xb4, 0x1d, 0x45, 0xe0, 0x0d, 0x30, 0x63, + 0x32, 0x4c, 0x0c, 0x8a, 0xe5, 0xe9, 0xb0, 0xf8, 0x74, 0x60, 0xee, 0x61, 0x58, 0x05, 0x73, 0x08, + 0x3b, 0xd4, 0x1d, 0x92, 0x9b, 0x09, 0xc9, 0xcd, 0x86, 0xce, 0x84, 0xd9, 0x5d, 0xb0, 0x60, 0xf9, + 0xc8, 0x15, 0xc4, 0x1f, 0xc2, 0x72, 0x21, 0x6c, 0x3e, 0x76, 0x27, 0xc0, 0x06, 0x98, 0x6d, 0x77, + 0x5d, 0x4c, 0x5d, 0xcb, 0x70, 0x18, 0x26, 0x72, 0xbe, 0x2c, 0xd5, 0xe6, 0xb7, 0x4a, 0x7f, 0xda, + 0xf3, 0x07, 0x11, 0xee, 0x80, 0x61, 0xa2, 0x17, 0xda, 0x17, 0x46, 0x5d, 0x19, 0x3f, 0xdf, 0xca, + 0x40, 0x02, 0xff, 0x87, 0x93, 0x3d, 0x12, 0xcc, 0x27, 0x3b, 0x0c, 0x93, 0x6b, 0x2f, 0x5e, 0x13, + 0xe4, 0x93, 0x0f, 0x71, 0x72, 0x37, 0xab, 0x6a, 0xf2, 0xad, 0x0e, 0x5b, 0x0e, 0x3a, 0xbe, 0x54, + 0x2f, 0xbe, 0x8f, 0x17, 0x67, 0xeb, 0xcd, 0xc9, 0x77, 0x74, 0x75, 0x64, 0x47, 0x2f, 0x65, 0x5e, + 0x6f, 0x82, 0xc2, 0x88, 0x40, 0x70, 0x01, 0x14, 0x9e, 0xb8, 0xdc, 0x23, 0x26, 0x6d, 0x53, 0x82, + 0x8b, 0x29, 0x38, 0x0f, 0xc0, 0x11, 0xb1, 0xdb, 0x01, 0x86, 0xe0, 0xa2, 0x04, 0xe7, 0x40, 0xbe, + 0x19, 0x8c, 0xe2, 0x91, 0x6b, 0xf7, 0x8b, 0x69, 0x98, 0x03, 0xd9, 0xdd, 0x2e, 0xb2, 0x8b, 0x99, + 0x06, 0x39, 0x1d, 0x28, 0xd2, 0xd9, 0x40, 0x91, 0xbe, 0x0f, 0x14, 0xe9, 0xed, 0xb9, 0x92, 0x3a, + 0x3b, 0x57, 0x52, 0x5f, 0xcf, 0x95, 0xd4, 0xb3, 0x87, 0x16, 0x15, 0x9d, 0x6e, 0x4b, 0x35, 0x99, + 0xa3, 0xed, 0x25, 0xf3, 0xd9, 0x47, 0x2d, 0xae, 0x0d, 0xa7, 0xb5, 0x61, 0x32, 0x9f, 0x8c, 0x9a, + 0x1d, 0x44, 0x5d, 0xcd, 0x61, 0xb8, 0x6b, 0x13, 0x1e, 0x3f, 0x8a, 0xa2, 0xef, 0x11, 0xde, 0x9a, + 0x0e, 0xdf, 0xa3, 0xfb, 0xbf, 0x02, 0x00, 0x00, 0xff, 0xff, 0x0d, 0xee, 0xb6, 0x0c, 0x34, 0x07, + 0x00, 0x00, } func (m *ContractRegistrationRequestProposal) Marshal() (dAtA []byte, err error) { diff --git a/chain/wasmx/types/tx.pb.go b/chain/wasmx/types/tx.pb.go index 02545b39..46b3d349 100644 --- a/chain/wasmx/types/tx.pb.go +++ b/chain/wasmx/types/tx.pb.go @@ -9,6 +9,7 @@ import ( _ "github.com/cosmos/cosmos-proto" _ "github.com/cosmos/cosmos-sdk/codec/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -643,53 +644,58 @@ func init() { func init() { proto.RegisterFile("injective/wasmx/v1/tx.proto", fileDescriptor_f7afe23baa925f70) } var fileDescriptor_f7afe23baa925f70 = []byte{ - // 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, + // 801 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x41, 0x4f, 0xdc, 0x46, + 0x14, 0x5e, 0x97, 0x05, 0xc1, 0x94, 0x0a, 0x70, 0xa1, 0xec, 0x7a, 0x8b, 0xa1, 0xae, 0x2a, 0x58, + 0x28, 0x6b, 0x41, 0x2b, 0x54, 0xed, 0x0d, 0x68, 0x0f, 0x55, 0x59, 0x09, 0xb9, 0xea, 0xa5, 0x97, + 0xed, 0xac, 0x3d, 0x0c, 0xae, 0xd6, 0x1e, 0xc7, 0x33, 0x4b, 0xd8, 0xe4, 0x96, 0x1c, 0x22, 0xe5, + 0x94, 0x5f, 0x91, 0x5b, 0x24, 0x0e, 0x39, 0xe5, 0x17, 0x70, 0x44, 0xc9, 0x25, 0xa7, 0x28, 0x82, + 0x48, 0xfc, 0x8d, 0xc8, 0x33, 0xe3, 0xd9, 0xe0, 0xb5, 0xc9, 0x46, 0x4a, 0x2e, 0x2b, 0xbf, 0xf7, + 0xbe, 0x99, 0xef, 0xfb, 0xde, 0xbc, 0xf1, 0x1a, 0xd4, 0xfc, 0xf0, 0x7f, 0xe4, 0x32, 0xff, 0x04, + 0xd9, 0x77, 0x21, 0x0d, 0x4e, 0xed, 0x93, 0x2d, 0x9b, 0x9d, 0x36, 0xa2, 0x98, 0x30, 0xa2, 0xeb, + 0xaa, 0xd8, 0xe0, 0xc5, 0xc6, 0xc9, 0x96, 0x31, 0x8f, 0x09, 0x26, 0xbc, 0x6c, 0x27, 0x4f, 0x02, + 0x69, 0x54, 0x31, 0x21, 0xb8, 0x8b, 0x6c, 0x1e, 0x75, 0x7a, 0x47, 0x36, 0x0c, 0xfb, 0x69, 0xc9, + 0x25, 0x34, 0x20, 0xb4, 0x2d, 0xd6, 0x88, 0x40, 0x96, 0x16, 0x45, 0x64, 0x07, 0x14, 0x27, 0xbc, + 0x01, 0xc5, 0xb2, 0x60, 0xe6, 0xa8, 0x12, 0x0a, 0x44, 0xfd, 0x87, 0x9c, 0x7a, 0x14, 0x93, 0x88, + 0x50, 0xd8, 0x95, 0x90, 0x39, 0x18, 0xf8, 0x21, 0xb1, 0xf9, 0xaf, 0x48, 0x59, 0x4f, 0x35, 0x50, + 0x69, 0x51, 0xfc, 0xc7, 0x29, 0x72, 0x7b, 0x0c, 0xed, 0x93, 0x90, 0xc5, 0xd0, 0x65, 0xfb, 0x24, + 0x88, 0x20, 0xd3, 0xbf, 0x03, 0x13, 0x14, 0x85, 0x1e, 0x8a, 0x2b, 0xda, 0x8a, 0xb6, 0x36, 0xe5, + 0xc8, 0x48, 0x37, 0xc0, 0xa4, 0x2b, 0x91, 0x95, 0xaf, 0x78, 0x45, 0xc5, 0xfa, 0x2c, 0x18, 0x0b, + 0x28, 0xae, 0x8c, 0xf1, 0x74, 0xf2, 0xa8, 0xcf, 0x83, 0xf1, 0xa3, 0x5e, 0xe8, 0xd1, 0x4a, 0x99, + 0xe7, 0x44, 0xd0, 0x6c, 0x3c, 0xb8, 0x3e, 0x5b, 0x97, 0x1b, 0x3e, 0xbe, 0x3e, 0x5b, 0x37, 0x85, + 0xe8, 0x22, 0x2d, 0xd6, 0x0e, 0x58, 0x29, 0xaa, 0x39, 0x88, 0x46, 0x24, 0xa4, 0x48, 0xd7, 0x41, + 0xd9, 0x83, 0x0c, 0x72, 0xb5, 0xd3, 0x0e, 0x7f, 0xb6, 0xde, 0x69, 0x60, 0xae, 0x45, 0xf1, 0x3f, + 0x91, 0x07, 0x07, 0xeb, 0x0a, 0x9d, 0xd5, 0xc1, 0x6c, 0xea, 0xa4, 0x0d, 0x3d, 0x2f, 0x46, 0x94, + 0x4a, 0x87, 0x33, 0x69, 0x7e, 0x57, 0xa4, 0xf5, 0x1a, 0x98, 0xc2, 0x90, 0xb6, 0xbb, 0x7e, 0xe0, + 0x33, 0x6e, 0xb7, 0xec, 0x4c, 0x62, 0x48, 0x0f, 0x92, 0x38, 0x2d, 0x46, 0xb1, 0xef, 0x22, 0xee, + 0x5b, 0x14, 0x0f, 0x93, 0x58, 0xaf, 0x83, 0x6f, 0xa0, 0x17, 0xf8, 0xa1, 0x62, 0x18, 0x4f, 0x18, + 0xf6, 0xca, 0xe7, 0x6f, 0x96, 0x35, 0x67, 0x9a, 0x97, 0x24, 0x49, 0x73, 0x35, 0xd3, 0xa5, 0x45, + 0xd5, 0xa5, 0x9b, 0x86, 0xac, 0x1a, 0xa8, 0x0e, 0x25, 0xd3, 0xbe, 0x58, 0x0f, 0x35, 0xf0, 0x6d, + 0x8b, 0xe2, 0xdd, 0x64, 0x3a, 0x3e, 0x6f, 0x17, 0x9a, 0xf5, 0x8c, 0xc0, 0xaa, 0x12, 0x98, 0x65, + 0xb3, 0x96, 0x40, 0x2d, 0x27, 0xad, 0x44, 0x3e, 0xd2, 0xc0, 0x42, 0x8b, 0xe2, 0xdf, 0x11, 0xfc, + 0x02, 0x32, 0x37, 0x32, 0x32, 0x6b, 0x4a, 0xe6, 0x30, 0x9f, 0xb5, 0x0c, 0x96, 0x72, 0x0b, 0x4a, + 0xea, 0x33, 0x0d, 0xcc, 0xa8, 0x6e, 0x1f, 0xc2, 0x18, 0x06, 0x54, 0xdf, 0x01, 0x53, 0xb0, 0xc7, + 0x8e, 0x49, 0xec, 0xb3, 0xbe, 0xd0, 0xb9, 0x57, 0x79, 0xf9, 0x7c, 0x73, 0x5e, 0x5e, 0x6e, 0x29, + 0xe4, 0x6f, 0x16, 0xfb, 0x21, 0x76, 0x06, 0x50, 0xfd, 0x37, 0x30, 0x11, 0xf1, 0x1d, 0xb8, 0xf4, + 0xaf, 0xb7, 0x8d, 0xc6, 0xf0, 0x0b, 0xa6, 0x21, 0x38, 0xf8, 0x84, 0x94, 0x1c, 0x89, 0x6f, 0xae, + 0x25, 0x9e, 0x06, 0x3b, 0x25, 0xb6, 0x16, 0x32, 0xe3, 0x21, 0xd6, 0x59, 0x55, 0xb0, 0x98, 0x49, + 0x29, 0x2b, 0xaf, 0xc4, 0x68, 0x38, 0x08, 0xfb, 0x94, 0xa1, 0xf8, 0xa3, 0x3d, 0xef, 0x83, 0x25, + 0xd5, 0xf3, 0x98, 0x2f, 0x8a, 0x21, 0xf3, 0x49, 0xd8, 0x8e, 0xd1, 0x9d, 0x1e, 0xa2, 0x4c, 0xba, + 0xb0, 0xf3, 0x5c, 0x0c, 0xfa, 0x38, 0x58, 0xe7, 0x88, 0x65, 0xd2, 0x5a, 0xcd, 0x2d, 0x86, 0xdc, + 0x32, 0x6a, 0x59, 0xf5, 0x72, 0xd4, 0xb2, 0xe9, 0xd4, 0xf4, 0xf6, 0x8b, 0x71, 0x30, 0xd6, 0xa2, + 0x58, 0x67, 0xe0, 0x7b, 0xd1, 0x14, 0x49, 0xd7, 0x4f, 0x91, 0xf2, 0x4c, 0x7f, 0xca, 0x73, 0x31, + 0x74, 0xcd, 0x8c, 0xcd, 0x91, 0x60, 0xea, 0x2d, 0xc5, 0x40, 0x25, 0xbd, 0x04, 0x59, 0x5e, 0x7d, + 0xb5, 0x60, 0xab, 0xec, 0xad, 0x31, 0xec, 0x11, 0x81, 0x8a, 0xf5, 0x1e, 0x30, 0x06, 0x13, 0x3d, + 0xc4, 0x5b, 0x2f, 0xd8, 0x6e, 0xf8, 0x12, 0x18, 0x5b, 0x23, 0x43, 0x15, 0xf7, 0x7d, 0xb0, 0x90, + 0xff, 0x07, 0xf3, 0x73, 0xc1, 0x5e, 0xb9, 0x68, 0xe3, 0xd7, 0x4f, 0x41, 0x2b, 0xf2, 0xff, 0xc0, + 0xf4, 0x8d, 0x8b, 0xfa, 0xe3, 0xad, 0xa7, 0x25, 0x40, 0xc6, 0xc6, 0x08, 0x20, 0xc5, 0xd0, 0x05, + 0xb3, 0x43, 0xf7, 0xa7, 0xe8, 0x20, 0xb3, 0xc0, 0xc2, 0x83, 0x2c, 0x1a, 0xde, 0x3d, 0x74, 0x7e, + 0x69, 0x6a, 0x17, 0x97, 0xa6, 0xf6, 0xf6, 0xd2, 0xd4, 0x9e, 0x5c, 0x99, 0xa5, 0x8b, 0x2b, 0xb3, + 0xf4, 0xfa, 0xca, 0x2c, 0xfd, 0xfb, 0x17, 0xf6, 0xd9, 0x71, 0xaf, 0xd3, 0x70, 0x49, 0x60, 0xff, + 0x99, 0x6e, 0x7a, 0x00, 0x3b, 0xd4, 0x56, 0x14, 0x9b, 0x2e, 0x89, 0xd1, 0x87, 0xe1, 0x31, 0xf4, + 0x43, 0x3b, 0x20, 0x5e, 0xaf, 0x8b, 0xa8, 0xfc, 0x6e, 0x60, 0xfd, 0x08, 0xd1, 0xce, 0x04, 0xff, + 0x3e, 0xf8, 0xe5, 0x7d, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4a, 0xd0, 0xc8, 0x8a, 0x0d, 0x09, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/wasmx/types/wasmx.pb.go b/chain/wasmx/types/wasmx.pb.go index 053a0a76..bc44ad85 100644 --- a/chain/wasmx/types/wasmx.pb.go +++ b/chain/wasmx/types/wasmx.pb.go @@ -5,6 +5,8 @@ package types import ( fmt "fmt" + types "github.com/CosmWasm/wasmd/x/wasm/types" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -35,7 +37,8 @@ type Params struct { 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. - MinGasPrice uint64 `protobuf:"varint,4,opt,name=min_gas_price,json=minGasPrice,proto3" json:"min_gas_price,omitempty"` + MinGasPrice uint64 `protobuf:"varint,4,opt,name=min_gas_price,json=minGasPrice,proto3" json:"min_gas_price,omitempty"` + RegisterContractAccess types.AccessConfig `protobuf:"bytes,5,opt,name=register_contract_access,json=registerContractAccess,proto3" json:"register_contract_access" yaml:"register_contract_access"` } func (m *Params) Reset() { *m = Params{} } @@ -99,6 +102,13 @@ func (m *Params) GetMinGasPrice() uint64 { return 0 } +func (m *Params) GetRegisterContractAccess() types.AccessConfig { + if m != nil { + return m.RegisterContractAccess + } + return types.AccessConfig{} +} + type RegisteredContract struct { // limit of gas per BB execution GasLimit uint64 `protobuf:"varint,1,opt,name=gas_limit,json=gasLimit,proto3" json:"gas_limit,omitempty"` @@ -208,38 +218,44 @@ func init() { func init() { proto.RegisterFile("injective/wasmx/v1/wasmx.proto", fileDescriptor_6818ff331f2cddc4) } var fileDescriptor_6818ff331f2cddc4 = []byte{ - // 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, + // 588 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x93, 0x3f, 0x6f, 0xd4, 0x30, + 0x18, 0xc6, 0xcf, 0xc7, 0x71, 0xbd, 0xba, 0x7f, 0x10, 0xa6, 0xad, 0x42, 0x81, 0xdc, 0x71, 0x2c, + 0x47, 0x45, 0x13, 0xda, 0x2e, 0xa8, 0x62, 0xe9, 0x55, 0xa5, 0xaa, 0x28, 0x52, 0x15, 0x31, 0xb1, + 0x44, 0x8e, 0xed, 0xa6, 0x86, 0xd8, 0x3e, 0xc5, 0xb9, 0xe3, 0xfa, 0x05, 0x18, 0x98, 0xf8, 0x08, + 0x8c, 0x8c, 0xfd, 0x18, 0x1d, 0x3b, 0x32, 0x55, 0xa8, 0x1d, 0xca, 0xc2, 0xc2, 0x27, 0x40, 0xb6, + 0x93, 0x6b, 0x25, 0x60, 0x89, 0x9c, 0xf7, 0xf7, 0x3c, 0xaf, 0xf3, 0x3e, 0x8e, 0xa1, 0xcf, 0xe5, + 0x7b, 0x46, 0x0a, 0x3e, 0x62, 0xe1, 0x47, 0xac, 0xc5, 0x38, 0x1c, 0xad, 0xb9, 0x45, 0x30, 0xc8, + 0x55, 0xa1, 0x10, 0x9a, 0xf0, 0xc0, 0x95, 0x47, 0x6b, 0xcb, 0x0b, 0xa9, 0x4a, 0x95, 0xc5, 0xa1, + 0x59, 0x39, 0xe5, 0xf2, 0x43, 0xa2, 0xb4, 0x30, 0x1a, 0xeb, 0x37, 0x7d, 0x8a, 0xe3, 0x01, 0xd3, + 0x25, 0xbd, 0x8b, 0x05, 0x97, 0x2a, 0xb4, 0xcf, 0xb2, 0xf4, 0xf8, 0x1f, 0x5b, 0x0f, 0x72, 0x35, + 0x50, 0x1a, 0x67, 0x4e, 0xd2, 0xfd, 0x55, 0x87, 0xcd, 0x03, 0x9c, 0x63, 0xa1, 0xd1, 0x73, 0xb8, + 0xc0, 0x75, 0xcc, 0xc6, 0x8c, 0x0c, 0x0b, 0xae, 0x64, 0xcc, 0x24, 0x4e, 0x32, 0x46, 0x3d, 0xd0, + 0x01, 0xbd, 0x56, 0x84, 0xb8, 0xde, 0xa9, 0xd0, 0x8e, 0x23, 0xe8, 0x05, 0xbc, 0x2f, 0xf0, 0x38, + 0x4e, 0x58, 0xca, 0x65, 0x9c, 0x64, 0x8a, 0x7c, 0x88, 0x0b, 0x55, 0xe0, 0x2c, 0x4e, 0xb1, 0xf6, + 0xea, 0x1d, 0xd0, 0x6b, 0x44, 0x8b, 0x02, 0x8f, 0xfb, 0x86, 0xf7, 0x0d, 0x7e, 0x6b, 0xe8, 0x2e, + 0xd6, 0x68, 0x03, 0x2e, 0x19, 0x27, 0x51, 0xb2, 0xc8, 0x31, 0x29, 0x8c, 0x21, 0xce, 0xb8, 0xe0, + 0x85, 0x77, 0xcb, 0xda, 0xee, 0x09, 0x3c, 0xde, 0x2e, 0xe1, 0x2e, 0xd6, 0xfb, 0x06, 0xa1, 0x2e, + 0x9c, 0x13, 0x5c, 0x5a, 0xed, 0x20, 0xe7, 0x84, 0x79, 0x0d, 0xab, 0x9d, 0x11, 0x5c, 0xee, 0x62, + 0x7d, 0x60, 0x4a, 0xe8, 0x13, 0x80, 0x5e, 0xce, 0x52, 0xae, 0x0b, 0x96, 0x5f, 0xb7, 0xc7, 0x84, + 0x30, 0xad, 0xbd, 0xdb, 0x1d, 0xd0, 0x9b, 0x59, 0xf7, 0x83, 0x2a, 0x47, 0x1b, 0x78, 0x30, 0x5a, + 0x0b, 0xb6, 0x2c, 0xdf, 0x56, 0xf2, 0x90, 0xa7, 0xfd, 0x67, 0xa7, 0xe7, 0xed, 0xda, 0xef, 0xf3, + 0x76, 0xfb, 0x18, 0x8b, 0x6c, 0xb3, 0xfb, 0xbf, 0x6e, 0xdd, 0x6f, 0x57, 0x27, 0x2b, 0x20, 0x5a, + 0xaa, 0x78, 0xf5, 0xb9, 0xae, 0xd7, 0xe6, 0xe2, 0xcf, 0xaf, 0x6d, 0xf0, 0xf9, 0xea, 0x64, 0x65, + 0xd6, 0x45, 0xef, 0x42, 0xee, 0x9e, 0xd4, 0x21, 0x8a, 0x4a, 0x07, 0xa3, 0x95, 0x07, 0x3d, 0x80, + 0xd3, 0xd7, 0x11, 0x00, 0x3b, 0x56, 0x2b, 0xad, 0xe6, 0x2e, 0xa1, 0x9b, 0xb9, 0x3e, 0x81, 0x6e, + 0xe0, 0x27, 0x70, 0x6e, 0x72, 0x6a, 0xe6, 0x54, 0x6c, 0x80, 0xad, 0x68, 0xb6, 0x3a, 0x2e, 0x53, + 0x43, 0x8f, 0xe0, 0x14, 0x51, 0x94, 0xc5, 0x9c, 0xba, 0xcc, 0xfa, 0x8d, 0xd3, 0xf3, 0x36, 0x88, + 0x9a, 0xa6, 0xb8, 0x47, 0xd1, 0x53, 0x38, 0x87, 0xa9, 0x89, 0x16, 0x53, 0x9a, 0x57, 0x41, 0x4d, + 0x97, 0xa2, 0x59, 0x8b, 0xb6, 0x1c, 0x41, 0xab, 0xf0, 0x4e, 0x9a, 0x63, 0x69, 0xf2, 0xa8, 0xc4, + 0xcd, 0x1b, 0xe2, 0xf9, 0x12, 0x56, 0xf2, 0x97, 0x70, 0xfa, 0x70, 0x28, 0x69, 0x2c, 0x14, 0x65, + 0xde, 0x54, 0x07, 0xf4, 0xe6, 0xd7, 0xdb, 0xc1, 0xdf, 0x3f, 0x7c, 0xf0, 0x6a, 0x28, 0x29, 0x97, + 0xe9, 0x1b, 0x45, 0x59, 0xd4, 0x32, 0x0e, 0xb3, 0xda, 0x6c, 0x98, 0x0c, 0xfb, 0xec, 0xf4, 0xc2, + 0x07, 0x67, 0x17, 0x3e, 0xf8, 0x71, 0xe1, 0x83, 0x2f, 0x97, 0x7e, 0xed, 0xec, 0xd2, 0xaf, 0x7d, + 0xbf, 0xf4, 0x6b, 0xef, 0x5e, 0xa7, 0xbc, 0x38, 0x1a, 0x26, 0x01, 0x51, 0x22, 0xdc, 0xab, 0x9a, + 0xee, 0xe3, 0x44, 0x87, 0x93, 0x2d, 0x56, 0x89, 0xca, 0xd9, 0xcd, 0xd7, 0x23, 0xcc, 0x65, 0x28, + 0x14, 0x1d, 0x66, 0x4c, 0x97, 0xb7, 0xc2, 0xde, 0xa2, 0xa4, 0x69, 0x2f, 0xc4, 0xc6, 0x9f, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x2d, 0xc0, 0xef, 0x9c, 0xb0, 0x03, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { @@ -273,6 +289,9 @@ func (this *Params) Equal(that interface{}) bool { if this.MinGasPrice != that1.MinGasPrice { return false } + if !this.RegisterContractAccess.Equal(&that1.RegisterContractAccess) { + return false + } return true } func (this *RegisteredContract) Equal(that interface{}) bool { @@ -337,6 +356,16 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + { + size, err := m.RegisterContractAccess.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintWasmx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a if m.MinGasPrice != 0 { i = encodeVarintWasmx(dAtA, i, uint64(m.MinGasPrice)) i-- @@ -461,6 +490,8 @@ func (m *Params) Size() (n int) { if m.MinGasPrice != 0 { n += 1 + sovWasmx(uint64(m.MinGasPrice)) } + l = m.RegisterContractAccess.Size() + n += 1 + l + sovWasmx(uint64(l)) return n } @@ -608,6 +639,39 @@ func (m *Params) Unmarshal(dAtA []byte) error { break } } + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RegisterContractAccess", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasmx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthWasmx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthWasmx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.RegisterContractAccess.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipWasmx(dAtA[iNdEx:]) diff --git a/client/chain/chain.go b/client/chain/chain.go index 1a35c5a0..092285b5 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -2,6 +2,7 @@ package chain import ( "context" + sdkmath "cosmossdk.io/math" "encoding/base64" "encoding/hex" "encoding/json" @@ -13,7 +14,7 @@ import ( "sync/atomic" "time" - "github.com/cosmos/cosmos-sdk/client/grpc/tmservice" + "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice" distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" @@ -37,10 +38,10 @@ import ( authztypes "github.com/cosmos/cosmos-sdk/x/authz" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" "github.com/cosmos/gogoproto/proto" - ibctransfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" - ibcclienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" - ibcconnectiontypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" - ibcchanneltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + ibctransfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" + ibcclienttypes "github.com/cosmos/ibc-go/v8/modules/core/02-client/types" + ibcconnectiontypes "github.com/cosmos/ibc-go/v8/modules/core/03-connection/types" + ibcchanneltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" eth "github.com/ethereum/go-ethereum/common" "github.com/pkg/errors" "github.com/shopspring/decimal" @@ -195,7 +196,7 @@ type ChainClient interface { FetchChainSpotMarket(ctx context.Context, marketId string) (*exchangetypes.QuerySpotMarketResponse, error) FetchChainFullSpotMarkets(ctx context.Context, status string, marketIds []string, withMidPriceAndTob bool) (*exchangetypes.QueryFullSpotMarketsResponse, error) FetchChainFullSpotMarket(ctx context.Context, marketId string, withMidPriceAndTob bool) (*exchangetypes.QueryFullSpotMarketResponse, error) - FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional sdk.Dec, limitCumulativeQuantity sdk.Dec) (*exchangetypes.QuerySpotOrderbookResponse, error) + FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional sdkmath.LegacyDec, limitCumulativeQuantity sdkmath.LegacyDec) (*exchangetypes.QuerySpotOrderbookResponse, error) FetchChainTraderSpotOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) FetchChainAccountAddressSpotOrders(ctx context.Context, marketId string, address string) (*exchangetypes.QueryAccountAddressSpotOrdersResponse, error) FetchChainSpotOrdersByHashes(ctx context.Context, marketId string, subaccountId string, orderHashes []string) (*exchangetypes.QuerySpotOrdersByHashesResponse, error) @@ -203,7 +204,7 @@ type ChainClient interface { FetchChainTraderSpotTransientOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) FetchSpotMidPriceAndTOB(ctx context.Context, marketId string) (*exchangetypes.QuerySpotMidPriceAndTOBResponse, error) FetchDerivativeMidPriceAndTOB(ctx context.Context, marketId string) (*exchangetypes.QueryDerivativeMidPriceAndTOBResponse, error) - FetchChainDerivativeOrderbook(ctx context.Context, marketId string, limit uint64, limitCumulativeNotional sdk.Dec) (*exchangetypes.QueryDerivativeOrderbookResponse, error) + FetchChainDerivativeOrderbook(ctx context.Context, marketId string, limit uint64, limitCumulativeNotional sdkmath.LegacyDec) (*exchangetypes.QueryDerivativeOrderbookResponse, error) FetchChainTraderDerivativeOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) FetchChainAccountAddressDerivativeOrders(ctx context.Context, marketId string, address string) (*exchangetypes.QueryAccountAddressDerivativeOrdersResponse, error) FetchChainDerivativeOrdersByHashes(ctx context.Context, marketId string, subaccountId string, orderHashes []string) (*exchangetypes.QueryDerivativeOrdersByHashesResponse, error) @@ -239,13 +240,13 @@ type ChainClient interface { FetchMarketAtomicExecutionFeeMultiplier(ctx context.Context, marketId string) (*exchangetypes.QueryMarketAtomicExecutionFeeMultiplierResponse, error) // Tendermint module - FetchNodeInfo(ctx context.Context) (*tmservice.GetNodeInfoResponse, error) - FetchSyncing(ctx context.Context) (*tmservice.GetSyncingResponse, error) - FetchLatestBlock(ctx context.Context) (*tmservice.GetLatestBlockResponse, error) - FetchBlockByHeight(ctx context.Context, height int64) (*tmservice.GetBlockByHeightResponse, error) - FetchLatestValidatorSet(ctx context.Context) (*tmservice.GetLatestValidatorSetResponse, error) - FetchValidatorSetByHeight(ctx context.Context, height int64, pagination *query.PageRequest) (*tmservice.GetValidatorSetByHeightResponse, error) - ABCIQuery(ctx context.Context, path string, data []byte, height int64, prove bool) (*tmservice.ABCIQueryResponse, error) + FetchNodeInfo(ctx context.Context) (*cmtservice.GetNodeInfoResponse, error) + FetchSyncing(ctx context.Context) (*cmtservice.GetSyncingResponse, error) + FetchLatestBlock(ctx context.Context) (*cmtservice.GetLatestBlockResponse, error) + FetchBlockByHeight(ctx context.Context, height int64) (*cmtservice.GetBlockByHeightResponse, error) + FetchLatestValidatorSet(ctx context.Context) (*cmtservice.GetLatestValidatorSetResponse, error) + FetchValidatorSetByHeight(ctx context.Context, height int64, pagination *query.PageRequest) (*cmtservice.GetValidatorSetByHeightResponse, error) + ABCIQuery(ctx context.Context, path string, data []byte, height int64, prove bool) (*cmtservice.ABCIQueryResponse, error) // IBC Transfer module FetchDenomTrace(ctx context.Context, hash string) (*ibctransfertypes.QueryDenomTraceResponse, error) @@ -324,7 +325,7 @@ type chainClient struct { ibcClientQueryClient ibcclienttypes.QueryClient ibcConnectionQueryClient ibcconnectiontypes.QueryClient ibcTransferQueryClient ibctransfertypes.QueryClient - tendermintQueryClient tmservice.ServiceClient + tendermintQueryClient cmtservice.ServiceClient tokenfactoryQueryClient tokenfactorytypes.QueryClient txClient txtypes.ServiceClient wasmQueryClient wasmtypes.QueryClient @@ -424,7 +425,7 @@ func NewChainClient( ibcClientQueryClient: ibcclienttypes.NewQueryClient(conn), ibcConnectionQueryClient: ibcconnectiontypes.NewQueryClient(conn), ibcTransferQueryClient: ibctransfertypes.NewQueryClient(conn), - tendermintQueryClient: tmservice.NewServiceClient(conn), + tendermintQueryClient: cmtservice.NewServiceClient(conn), tokenfactoryQueryClient: tokenfactorytypes.NewQueryClient(conn), txClient: txtypes.NewServiceClient(conn), wasmQueryClient: wasmtypes.NewQueryClient(conn), @@ -765,6 +766,7 @@ func (c *chainClient) BuildSignedTx(clientCtx client.Context, accNum, accSeq, in } func (c *chainClient) buildSignedTx(clientCtx client.Context, txf tx.Factory, msgs ...sdk.Msg) ([]byte, error) { + ctx := context.Background() if clientCtx.Simulate { simTxBytes, err := txf.BuildSimTx(msgs...) if err != nil { @@ -772,7 +774,6 @@ func (c *chainClient) buildSignedTx(clientCtx client.Context, txf tx.Factory, ms return nil, err } - ctx := context.Background() req := &txtypes.SimulateRequest{TxBytes: simTxBytes} simRes, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.txClient.Simulate, req) @@ -799,7 +800,7 @@ func (c *chainClient) buildSignedTx(clientCtx client.Context, txf tx.Factory, ms } txn.SetFeeGranter(clientCtx.GetFeeGranterAddress()) - err = tx.Sign(txf, clientCtx.GetFromName(), txn, true) + err = tx.Sign(ctx, txf, clientCtx.GetFromName(), txn, true) if err != nil { err = errors.Wrap(err, "failed to Sign Tx") return nil, err @@ -1108,7 +1109,7 @@ func (c *chainClient) CreateDerivativeOrder(defaultSubaccountID eth.Hash, d *Der orderSize := market.QuantityToChainFormat(d.Quantity) orderPrice := market.PriceToChainFormat(d.Price) - orderMargin := sdk.MustNewDecFromStr("0") + orderMargin := sdkmath.LegacyMustNewDecFromStr("0") if !d.IsReduceOnly { orderMargin = market.CalculateMarginInChainFormat(d.Quantity, d.Price, d.Leverage) @@ -1821,7 +1822,7 @@ func (c *chainClient) FetchChainFullSpotMarket(ctx context.Context, marketId str return res, err } -func (c *chainClient) FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional sdk.Dec, limitCumulativeQuantity sdk.Dec) (*exchangetypes.QuerySpotOrderbookResponse, error) { +func (c *chainClient) FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional sdkmath.LegacyDec, limitCumulativeQuantity sdkmath.LegacyDec) (*exchangetypes.QuerySpotOrderbookResponse, error) { req := &exchangetypes.QuerySpotOrderbookRequest{ MarketId: marketId, Limit: limit, @@ -1903,7 +1904,7 @@ func (c *chainClient) FetchDerivativeMidPriceAndTOB(ctx context.Context, marketI return res, err } -func (c *chainClient) FetchChainDerivativeOrderbook(ctx context.Context, marketId string, limit uint64, limitCumulativeNotional sdk.Dec) (*exchangetypes.QueryDerivativeOrderbookResponse, error) { +func (c *chainClient) FetchChainDerivativeOrderbook(ctx context.Context, marketId string, limit uint64, limitCumulativeNotional sdkmath.LegacyDec) (*exchangetypes.QueryDerivativeOrderbookResponse, error) { req := &exchangetypes.QueryDerivativeOrderbookRequest{ MarketId: marketId, Limit: limit, @@ -2213,29 +2214,29 @@ func (c *chainClient) FetchMarketAtomicExecutionFeeMultiplier(ctx context.Contex // Tendermint module -func (c *chainClient) FetchNodeInfo(ctx context.Context) (*tmservice.GetNodeInfoResponse, error) { - req := &tmservice.GetNodeInfoRequest{} +func (c *chainClient) FetchNodeInfo(ctx context.Context) (*cmtservice.GetNodeInfoResponse, error) { + req := &cmtservice.GetNodeInfoRequest{} res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tendermintQueryClient.GetNodeInfo, req) return res, err } -func (c *chainClient) FetchSyncing(ctx context.Context) (*tmservice.GetSyncingResponse, error) { - req := &tmservice.GetSyncingRequest{} +func (c *chainClient) FetchSyncing(ctx context.Context) (*cmtservice.GetSyncingResponse, error) { + req := &cmtservice.GetSyncingRequest{} res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tendermintQueryClient.GetSyncing, req) return res, err } -func (c *chainClient) FetchLatestBlock(ctx context.Context) (*tmservice.GetLatestBlockResponse, error) { - req := &tmservice.GetLatestBlockRequest{} +func (c *chainClient) FetchLatestBlock(ctx context.Context) (*cmtservice.GetLatestBlockResponse, error) { + req := &cmtservice.GetLatestBlockRequest{} res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tendermintQueryClient.GetLatestBlock, req) return res, err } -func (c *chainClient) FetchBlockByHeight(ctx context.Context, height int64) (*tmservice.GetBlockByHeightResponse, error) { - req := &tmservice.GetBlockByHeightRequest{ +func (c *chainClient) FetchBlockByHeight(ctx context.Context, height int64) (*cmtservice.GetBlockByHeightResponse, error) { + req := &cmtservice.GetBlockByHeightRequest{ Height: height, } res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tendermintQueryClient.GetBlockByHeight, req) @@ -2243,15 +2244,15 @@ func (c *chainClient) FetchBlockByHeight(ctx context.Context, height int64) (*tm return res, err } -func (c *chainClient) FetchLatestValidatorSet(ctx context.Context) (*tmservice.GetLatestValidatorSetResponse, error) { - req := &tmservice.GetLatestValidatorSetRequest{} +func (c *chainClient) FetchLatestValidatorSet(ctx context.Context) (*cmtservice.GetLatestValidatorSetResponse, error) { + req := &cmtservice.GetLatestValidatorSetRequest{} res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.tendermintQueryClient.GetLatestValidatorSet, req) return res, err } -func (c *chainClient) FetchValidatorSetByHeight(ctx context.Context, height int64, pagination *query.PageRequest) (*tmservice.GetValidatorSetByHeightResponse, error) { - req := &tmservice.GetValidatorSetByHeightRequest{ +func (c *chainClient) FetchValidatorSetByHeight(ctx context.Context, height int64, pagination *query.PageRequest) (*cmtservice.GetValidatorSetByHeightResponse, error) { + req := &cmtservice.GetValidatorSetByHeightRequest{ Height: height, Pagination: pagination, } @@ -2260,8 +2261,8 @@ func (c *chainClient) FetchValidatorSetByHeight(ctx context.Context, height int6 return res, err } -func (c *chainClient) ABCIQuery(ctx context.Context, path string, data []byte, height int64, prove bool) (*tmservice.ABCIQueryResponse, error) { - req := &tmservice.ABCIQueryRequest{ +func (c *chainClient) ABCIQuery(ctx context.Context, path string, data []byte, height int64, prove bool) (*cmtservice.ABCIQueryResponse, error) { + req := &cmtservice.ABCIQueryRequest{ Path: path, Data: data, Height: height, diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index 4139697c..74140cc6 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -2,10 +2,11 @@ package chain import ( "context" + sdkmath "cosmossdk.io/math" "errors" "time" - "github.com/cosmos/cosmos-sdk/client/grpc/tmservice" + "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice" "google.golang.org/grpc" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" @@ -22,10 +23,10 @@ import ( authztypes "github.com/cosmos/cosmos-sdk/x/authz" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" - ibctransfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" - ibcclienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" - ibcconnectiontypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" - ibcchanneltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + ibctransfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" + ibcclienttypes "github.com/cosmos/ibc-go/v8/modules/core/02-client/types" + ibcconnectiontypes "github.com/cosmos/ibc-go/v8/modules/core/03-connection/types" + ibcchanneltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" eth "github.com/ethereum/go-ethereum/common" ) @@ -382,7 +383,7 @@ func (c *MockChainClient) FetchChainFullSpotMarket(ctx context.Context, marketId return &exchangetypes.QueryFullSpotMarketResponse{}, nil } -func (c *MockChainClient) FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional sdk.Dec, limitCumulativeQuantity sdk.Dec) (*exchangetypes.QuerySpotOrderbookResponse, error) { +func (c *MockChainClient) FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional sdkmath.LegacyDec, limitCumulativeQuantity sdkmath.LegacyDec) (*exchangetypes.QuerySpotOrderbookResponse, error) { return &exchangetypes.QuerySpotOrderbookResponse{}, nil } @@ -414,7 +415,7 @@ func (c *MockChainClient) FetchDerivativeMidPriceAndTOB(ctx context.Context, mar return &exchangetypes.QueryDerivativeMidPriceAndTOBResponse{}, nil } -func (c *MockChainClient) FetchChainDerivativeOrderbook(ctx context.Context, marketId string, limit uint64, limitCumulativeNotional sdk.Dec) (*exchangetypes.QueryDerivativeOrderbookResponse, error) { +func (c *MockChainClient) FetchChainDerivativeOrderbook(ctx context.Context, marketId string, limit uint64, limitCumulativeNotional sdkmath.LegacyDec) (*exchangetypes.QueryDerivativeOrderbookResponse, error) { return &exchangetypes.QueryDerivativeOrderbookResponse{}, nil } @@ -552,32 +553,32 @@ func (c *MockChainClient) FetchMarketAtomicExecutionFeeMultiplier(ctx context.Co // Tendermint module -func (c *MockChainClient) FetchNodeInfo(ctx context.Context) (*tmservice.GetNodeInfoResponse, error) { - return &tmservice.GetNodeInfoResponse{}, nil +func (c *MockChainClient) FetchNodeInfo(ctx context.Context) (*cmtservice.GetNodeInfoResponse, error) { + return &cmtservice.GetNodeInfoResponse{}, nil } -func (c *MockChainClient) FetchSyncing(ctx context.Context) (*tmservice.GetSyncingResponse, error) { - return &tmservice.GetSyncingResponse{}, nil +func (c *MockChainClient) FetchSyncing(ctx context.Context) (*cmtservice.GetSyncingResponse, error) { + return &cmtservice.GetSyncingResponse{}, nil } -func (c *MockChainClient) FetchLatestBlock(ctx context.Context) (*tmservice.GetLatestBlockResponse, error) { - return &tmservice.GetLatestBlockResponse{}, nil +func (c *MockChainClient) FetchLatestBlock(ctx context.Context) (*cmtservice.GetLatestBlockResponse, error) { + return &cmtservice.GetLatestBlockResponse{}, nil } -func (c *MockChainClient) FetchBlockByHeight(ctx context.Context, height int64) (*tmservice.GetBlockByHeightResponse, error) { - return &tmservice.GetBlockByHeightResponse{}, nil +func (c *MockChainClient) FetchBlockByHeight(ctx context.Context, height int64) (*cmtservice.GetBlockByHeightResponse, error) { + return &cmtservice.GetBlockByHeightResponse{}, nil } -func (c *MockChainClient) FetchLatestValidatorSet(ctx context.Context) (*tmservice.GetLatestValidatorSetResponse, error) { - return &tmservice.GetLatestValidatorSetResponse{}, nil +func (c *MockChainClient) FetchLatestValidatorSet(ctx context.Context) (*cmtservice.GetLatestValidatorSetResponse, error) { + return &cmtservice.GetLatestValidatorSetResponse{}, nil } -func (c *MockChainClient) FetchValidatorSetByHeight(ctx context.Context, height int64, pagination *query.PageRequest) (*tmservice.GetValidatorSetByHeightResponse, error) { - return &tmservice.GetValidatorSetByHeightResponse{}, nil +func (c *MockChainClient) FetchValidatorSetByHeight(ctx context.Context, height int64, pagination *query.PageRequest) (*cmtservice.GetValidatorSetByHeightResponse, error) { + return &cmtservice.GetValidatorSetByHeightResponse{}, nil } -func (c *MockChainClient) ABCIQuery(ctx context.Context, path string, data []byte, height int64, prove bool) (*tmservice.ABCIQueryResponse, error) { - return &tmservice.ABCIQueryResponse{}, nil +func (c *MockChainClient) ABCIQuery(ctx context.Context, path string, data []byte, height int64, prove bool) (*cmtservice.ABCIQueryResponse, error) { + return &cmtservice.ABCIQueryResponse{}, nil } // IBC Transfer module diff --git a/client/chain/context.go b/client/chain/context.go index ec54769d..5715986a 100644 --- a/client/chain/context.go +++ b/client/chain/context.go @@ -25,6 +25,9 @@ import ( chaintypes "github.com/InjectiveLabs/sdk-go/chain/types" wasmx "github.com/InjectiveLabs/sdk-go/chain/wasmx/types" + evidencetypes "cosmossdk.io/x/evidence/types" + feegranttypes "cosmossdk.io/x/feegrant" + upgradetypes "cosmossdk.io/x/upgrade/types" cosmostypes "github.com/cosmos/cosmos-sdk/types" signingtypes "github.com/cosmos/cosmos-sdk/types/tx/signing" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" @@ -33,20 +36,17 @@ import ( banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" 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" 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/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" - ibclightclienttypes "github.com/cosmos/ibc-go/v7/modules/light-clients/06-solomachine" - ibctenderminttypes "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint" + icatypes "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/types" + ibcfeetypes "github.com/cosmos/ibc-go/v8/modules/apps/29-fee/types" + ibcapplicationtypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" + ibccoretypes "github.com/cosmos/ibc-go/v8/modules/core/types" + ibclightclienttypes "github.com/cosmos/ibc-go/v8/modules/light-clients/06-solomachine" + ibctenderminttypes "github.com/cosmos/ibc-go/v8/modules/light-clients/07-tendermint" ) // NewTxConfig initializes new Cosmos TxConfig with certain signModes enabled. diff --git a/client/core/market.go b/client/core/market.go index e6f9fe88..df2151c6 100644 --- a/client/core/market.go +++ b/client/core/market.go @@ -1,8 +1,8 @@ package core import ( + sdkmath "cosmossdk.io/math" "github.com/InjectiveLabs/sdk-go/client/common" - cosmtypes "github.com/cosmos/cosmos-sdk/types" "github.com/shopspring/decimal" ) @@ -21,37 +21,37 @@ type SpotMarket struct { MinQuantityTickSize decimal.Decimal } -func (spotMarket SpotMarket) QuantityToChainFormat(humanReadableValue decimal.Decimal) cosmtypes.Dec { +func (spotMarket SpotMarket) QuantityToChainFormat(humanReadableValue decimal.Decimal) sdkmath.LegacyDec { chainFormattedValue := humanReadableValue.Mul(decimal.New(1, spotMarket.BaseToken.Decimals)) quantizedValue := chainFormattedValue.DivRound(spotMarket.MinQuantityTickSize, 0).Mul(spotMarket.MinQuantityTickSize) - valueInChainFormat, _ := cosmtypes.NewDecFromStr(quantizedValue.String()) + valueInChainFormat, _ := sdkmath.LegacyNewDecFromStr(quantizedValue.String()) return valueInChainFormat } -func (spotMarket SpotMarket) PriceToChainFormat(humanReadableValue decimal.Decimal) cosmtypes.Dec { +func (spotMarket SpotMarket) PriceToChainFormat(humanReadableValue decimal.Decimal) sdkmath.LegacyDec { decimals := spotMarket.QuoteToken.Decimals - spotMarket.BaseToken.Decimals chainFormattedValue := humanReadableValue.Mul(decimal.New(1, decimals)) quantizedValue := chainFormattedValue.DivRound(spotMarket.MinPriceTickSize, 0).Mul(spotMarket.MinPriceTickSize) - valueInChainFormat, _ := cosmtypes.NewDecFromStr(quantizedValue.String()) + valueInChainFormat, _ := sdkmath.LegacyNewDecFromStr(quantizedValue.String()) return valueInChainFormat } -func (spotMarket SpotMarket) QuantityFromChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (spotMarket SpotMarket) QuantityFromChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { return decimal.RequireFromString(chainValue.String()).Div(decimal.New(1, spotMarket.BaseToken.Decimals)) } -func (spotMarket SpotMarket) PriceFromChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (spotMarket SpotMarket) PriceFromChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { decimals := spotMarket.BaseToken.Decimals - spotMarket.QuoteToken.Decimals return decimal.RequireFromString(chainValue.String()).Mul(decimal.New(1, decimals)) } -func (spotMarket SpotMarket) QuantityFromExtendedChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (spotMarket SpotMarket) QuantityFromExtendedChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { return common.RemoveExtraDecimals(spotMarket.QuantityFromChainFormat(chainValue), AdditionalChainFormatDecimals) } -func (spotMarket SpotMarket) PriceFromExtendedChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (spotMarket SpotMarket) PriceFromExtendedChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { return common.RemoveExtraDecimals(spotMarket.PriceFromChainFormat(chainValue), AdditionalChainFormatDecimals) } @@ -73,33 +73,33 @@ type DerivativeMarket struct { MinQuantityTickSize decimal.Decimal } -func (derivativeMarket DerivativeMarket) QuantityToChainFormat(humanReadableValue decimal.Decimal) cosmtypes.Dec { +func (derivativeMarket DerivativeMarket) QuantityToChainFormat(humanReadableValue decimal.Decimal) sdkmath.LegacyDec { chainFormattedValue := humanReadableValue quantizedValue := chainFormattedValue.DivRound(derivativeMarket.MinQuantityTickSize, 0).Mul(derivativeMarket.MinQuantityTickSize) - valueInChainFormat, _ := cosmtypes.NewDecFromStr(quantizedValue.String()) + valueInChainFormat, _ := sdkmath.LegacyNewDecFromStr(quantizedValue.String()) return valueInChainFormat } -func (derivativeMarket DerivativeMarket) PriceToChainFormat(humanReadableValue decimal.Decimal) cosmtypes.Dec { +func (derivativeMarket DerivativeMarket) PriceToChainFormat(humanReadableValue decimal.Decimal) sdkmath.LegacyDec { decimals := derivativeMarket.QuoteToken.Decimals chainFormattedValue := humanReadableValue.Mul(decimal.New(1, decimals)) quantizedValue := chainFormattedValue.DivRound(derivativeMarket.MinPriceTickSize, 0).Mul(derivativeMarket.MinPriceTickSize) - valueInChainFormat, _ := cosmtypes.NewDecFromStr(quantizedValue.String()) + valueInChainFormat, _ := sdkmath.LegacyNewDecFromStr(quantizedValue.String()) return valueInChainFormat } -func (derivativeMarket DerivativeMarket) MarginToChainFormat(humanReadableValue decimal.Decimal) cosmtypes.Dec { +func (derivativeMarket DerivativeMarket) MarginToChainFormat(humanReadableValue decimal.Decimal) sdkmath.LegacyDec { decimals := derivativeMarket.QuoteToken.Decimals chainFormattedValue := humanReadableValue.Mul(decimal.New(1, decimals)) quantizedValue := chainFormattedValue.DivRound(derivativeMarket.MinQuantityTickSize, 0).Mul(derivativeMarket.MinQuantityTickSize) - valueInChainFormat, _ := cosmtypes.NewDecFromStr(quantizedValue.String()) + valueInChainFormat, _ := sdkmath.LegacyNewDecFromStr(quantizedValue.String()) return valueInChainFormat } -func (derivativeMarket DerivativeMarket) CalculateMarginInChainFormat(humanReadableQuantity decimal.Decimal, humanReadablePrice decimal.Decimal, leverage decimal.Decimal) cosmtypes.Dec { +func (derivativeMarket DerivativeMarket) CalculateMarginInChainFormat(humanReadableQuantity decimal.Decimal, humanReadablePrice decimal.Decimal, leverage decimal.Decimal) sdkmath.LegacyDec { chainFormattedQuantity := humanReadableQuantity chainFormattedPrice := humanReadablePrice.Mul(decimal.New(1, derivativeMarket.QuoteToken.Decimals)) @@ -107,33 +107,33 @@ func (derivativeMarket DerivativeMarket) CalculateMarginInChainFormat(humanReada // We are using the min_quantity_tick_size to quantize the margin because that is the way margin is validated // in the chain (it might be changed to a min_notional in the future) quantizedMargin := margin.DivRound(derivativeMarket.MinQuantityTickSize, 0).Mul(derivativeMarket.MinQuantityTickSize) - valueInChainFormat, _ := cosmtypes.NewDecFromStr(quantizedMargin.String()) + valueInChainFormat, _ := sdkmath.LegacyNewDecFromStr(quantizedMargin.String()) return valueInChainFormat } -func (derivativeMarket DerivativeMarket) QuantityFromChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (derivativeMarket DerivativeMarket) QuantityFromChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { return decimal.RequireFromString(chainValue.String()) } -func (derivativeMarket DerivativeMarket) PriceFromChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (derivativeMarket DerivativeMarket) PriceFromChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { decimals := -derivativeMarket.QuoteToken.Decimals return decimal.RequireFromString(chainValue.String()).Mul(decimal.New(1, decimals)) } -func (derivativeMarket DerivativeMarket) MarginFromChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (derivativeMarket DerivativeMarket) MarginFromChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { decimals := -derivativeMarket.QuoteToken.Decimals return decimal.RequireFromString(chainValue.String()).Mul(decimal.New(1, decimals)) } -func (derivativeMarket DerivativeMarket) QuantityFromExtendedChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (derivativeMarket DerivativeMarket) QuantityFromExtendedChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { return common.RemoveExtraDecimals(derivativeMarket.QuantityFromChainFormat(chainValue), AdditionalChainFormatDecimals) } -func (derivativeMarket DerivativeMarket) PriceFromExtendedChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (derivativeMarket DerivativeMarket) PriceFromExtendedChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { return common.RemoveExtraDecimals(derivativeMarket.PriceFromChainFormat(chainValue), AdditionalChainFormatDecimals) } -func (derivativeMarket DerivativeMarket) MarginFromExtendedChainFormat(chainValue cosmtypes.Dec) decimal.Decimal { +func (derivativeMarket DerivativeMarket) MarginFromExtendedChainFormat(chainValue sdkmath.LegacyDec) decimal.Decimal { return common.RemoveExtraDecimals(derivativeMarket.MarginFromChainFormat(chainValue), AdditionalChainFormatDecimals) } diff --git a/client/core/market_test.go b/client/core/market_test.go index d80b246a..bbe37e70 100644 --- a/client/core/market_test.go +++ b/client/core/market_test.go @@ -1,9 +1,9 @@ package core import ( + sdkmath "cosmossdk.io/math" "testing" - "github.com/cosmos/cosmos-sdk/types" "github.com/huandu/go-assert" "github.com/shopspring/decimal" ) @@ -73,7 +73,7 @@ func TestConvertQuantityToChainFormatForSpotMarket(t *testing.T) { chainValue := spotMarket.QuantityToChainFormat(originalQuantity) expectedValue := originalQuantity.Mul(decimal.New(1, spotMarket.BaseToken.Decimals)) quantizedValue := expectedValue.DivRound(spotMarket.MinQuantityTickSize, 0).Mul(spotMarket.MinQuantityTickSize) - quantizedChainFormatValue := types.MustNewDecFromStr(quantizedValue.String()) + quantizedChainFormatValue := sdkmath.LegacyMustNewDecFromStr(quantizedValue.String()) assert.Assert(t, quantizedChainFormatValue.Equal(chainValue)) } @@ -86,7 +86,7 @@ func TestConvertPriceToChainFormatForSpotMarket(t *testing.T) { priceDecimals := spotMarket.QuoteToken.Decimals - spotMarket.BaseToken.Decimals expectedValue := originalPrice.Mul(decimal.New(1, priceDecimals)) quantizedValue := expectedValue.DivRound(spotMarket.MinPriceTickSize, 0).Mul(spotMarket.MinPriceTickSize) - quantizedChainFormatValue := types.MustNewDecFromStr(quantizedValue.String()) + quantizedChainFormatValue := sdkmath.LegacyMustNewDecFromStr(quantizedValue.String()) assert.Assert(t, quantizedChainFormatValue.Equal(chainValue)) } @@ -96,7 +96,7 @@ func TestConvertQuantityFromChainFormatForSpotMarket(t *testing.T) { expectedQuantity := decimal.RequireFromString("123.456") chainFormatQuantity := expectedQuantity.Mul(decimal.New(1, spotMarket.BaseToken.Decimals)) - humanReadableQuantity := spotMarket.QuantityFromChainFormat(types.MustNewDecFromStr(chainFormatQuantity.String())) + humanReadableQuantity := spotMarket.QuantityFromChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatQuantity.String())) assert.Assert(t, expectedQuantity.Equal(humanReadableQuantity)) } @@ -107,7 +107,7 @@ func TestConvertPriceFromChainFormatForSpotMarket(t *testing.T) { priceDecimals := spotMarket.QuoteToken.Decimals - spotMarket.BaseToken.Decimals chainFormatPrice := expectedPrice.Mul(decimal.New(1, priceDecimals)) - humanReadablePrice := spotMarket.PriceFromChainFormat(types.MustNewDecFromStr(chainFormatPrice.String())) + humanReadablePrice := spotMarket.PriceFromChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatPrice.String())) assert.Assert(t, expectedPrice.Equal(humanReadablePrice)) } @@ -117,7 +117,7 @@ func TestConvertQuantityFromExtendedChainFormatForSpotMarket(t *testing.T) { expectedQuantity := decimal.RequireFromString("123.456") chainFormatQuantity := expectedQuantity.Mul(decimal.New(1, spotMarket.BaseToken.Decimals)).Mul(decimal.New(1, AdditionalChainFormatDecimals)) - humanReadableQuantity := spotMarket.QuantityFromExtendedChainFormat(types.MustNewDecFromStr(chainFormatQuantity.String())) + humanReadableQuantity := spotMarket.QuantityFromExtendedChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatQuantity.String())) assert.Assert(t, expectedQuantity.Equal(humanReadableQuantity)) } @@ -128,7 +128,7 @@ func TestConvertPriceFromExtendedChainFormatForSpotMarket(t *testing.T) { priceDecimals := spotMarket.QuoteToken.Decimals - spotMarket.BaseToken.Decimals chainFormatPrice := expectedPrice.Mul(decimal.New(1, priceDecimals)).Mul(decimal.New(1, AdditionalChainFormatDecimals)) - humanReadablePrice := spotMarket.PriceFromExtendedChainFormat(types.MustNewDecFromStr(chainFormatPrice.String())) + humanReadablePrice := spotMarket.PriceFromExtendedChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatPrice.String())) assert.Assert(t, expectedPrice.Equal(humanReadablePrice)) } @@ -141,7 +141,7 @@ func TestConvertQuantityToChainFormatForDerivativeMarket(t *testing.T) { chainValue := derivativeMarket.QuantityToChainFormat(originalQuantity) quantizedValue := originalQuantity.DivRound(derivativeMarket.MinQuantityTickSize, 0).Mul(derivativeMarket.MinQuantityTickSize) - quantizedChainFormatValue := types.MustNewDecFromStr(quantizedValue.String()) + quantizedChainFormatValue := sdkmath.LegacyMustNewDecFromStr(quantizedValue.String()) assert.Assert(t, quantizedChainFormatValue.Equal(chainValue)) } @@ -154,7 +154,7 @@ func TestConvertPriceToChainFormatForDerivativeMarket(t *testing.T) { priceDecimals := derivativeMarket.QuoteToken.Decimals expectedValue := originalPrice.Mul(decimal.New(1, priceDecimals)) quantizedValue := expectedValue.DivRound(derivativeMarket.MinPriceTickSize, 0).Mul(derivativeMarket.MinPriceTickSize) - quantizedChainFormatValue := types.MustNewDecFromStr(quantizedValue.String()) + quantizedChainFormatValue := sdkmath.LegacyMustNewDecFromStr(quantizedValue.String()) assert.Assert(t, quantizedChainFormatValue.Equal(chainValue)) } @@ -167,7 +167,7 @@ func TestConvertMarginToChainFormatForDerivativeMarket(t *testing.T) { marginDecimals := derivativeMarket.QuoteToken.Decimals expectedValue := originalPrice.Mul(decimal.New(1, marginDecimals)) quantizedValue := expectedValue.DivRound(derivativeMarket.MinQuantityTickSize, 0).Mul(derivativeMarket.MinQuantityTickSize) - quantizedChainFormatValue := types.MustNewDecFromStr(quantizedValue.String()) + quantizedChainFormatValue := sdkmath.LegacyMustNewDecFromStr(quantizedValue.String()) assert.Assert(t, quantizedChainFormatValue.Equal(chainValue)) } @@ -182,7 +182,7 @@ func TestCalculateMarginInChainFormatForDerivativeMarket(t *testing.T) { decimals := derivativeMarket.QuoteToken.Decimals expectedValue := originalQuantity.Mul(originalPrice).Div(originalLeverage).Mul(decimal.New(1, decimals)) quantizedValue := expectedValue.DivRound(derivativeMarket.MinQuantityTickSize, 0).Mul(derivativeMarket.MinQuantityTickSize) - legacyDecimalQuantizedValue := types.MustNewDecFromStr(quantizedValue.String()) + legacyDecimalQuantizedValue := sdkmath.LegacyMustNewDecFromStr(quantizedValue.String()) assert.Assert(t, chainValue.Equal(legacyDecimalQuantizedValue)) } @@ -192,7 +192,7 @@ func TestConvertQuantityFromChainFormatForDerivativeMarket(t *testing.T) { expectedQuantity := decimal.RequireFromString("123.456") chainFormatQuantity := expectedQuantity - humanReadableQuantity := derivativeMarket.QuantityFromChainFormat(types.MustNewDecFromStr(chainFormatQuantity.String())) + humanReadableQuantity := derivativeMarket.QuantityFromChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatQuantity.String())) assert.Assert(t, expectedQuantity.Equal(humanReadableQuantity)) } @@ -203,7 +203,7 @@ func TestConvertPriceFromChainFormatForDerivativeMarket(t *testing.T) { priceDecimals := derivativeMarket.QuoteToken.Decimals chainFormatPrice := expectedPrice.Mul(decimal.New(1, priceDecimals)) - humanReadablePrice := derivativeMarket.PriceFromChainFormat(types.MustNewDecFromStr(chainFormatPrice.String())) + humanReadablePrice := derivativeMarket.PriceFromChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatPrice.String())) assert.Assert(t, expectedPrice.Equal(humanReadablePrice)) } @@ -214,7 +214,7 @@ func TestConvertMarginFromChainFormatForDerivativeMarket(t *testing.T) { marginDecimals := derivativeMarket.QuoteToken.Decimals chainFormatMargin := expectedMargin.Mul(decimal.New(1, marginDecimals)) - humanReadablePrice := derivativeMarket.MarginFromChainFormat(types.MustNewDecFromStr(chainFormatMargin.String())) + humanReadablePrice := derivativeMarket.MarginFromChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatMargin.String())) assert.Assert(t, expectedMargin.Equal(humanReadablePrice)) } @@ -224,7 +224,7 @@ func TestConvertQuantityFromExtendedChainFormatForDerivativeMarket(t *testing.T) expectedQuantity := decimal.RequireFromString("123.456") chainFormatQuantity := expectedQuantity.Mul(decimal.New(1, AdditionalChainFormatDecimals)) - humanReadableQuantity := derivativeMarket.QuantityFromExtendedChainFormat(types.MustNewDecFromStr(chainFormatQuantity.String())) + humanReadableQuantity := derivativeMarket.QuantityFromExtendedChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatQuantity.String())) assert.Assert(t, expectedQuantity.Equal(humanReadableQuantity)) } @@ -235,7 +235,7 @@ func TestConvertPriceFromExtendedChainFormatForDerivativeMarket(t *testing.T) { priceDecimals := derivativeMarket.QuoteToken.Decimals chainFormatPrice := expectedPrice.Mul(decimal.New(1, priceDecimals)).Mul(decimal.New(1, AdditionalChainFormatDecimals)) - humanReadablePrice := derivativeMarket.PriceFromExtendedChainFormat(types.MustNewDecFromStr(chainFormatPrice.String())) + humanReadablePrice := derivativeMarket.PriceFromExtendedChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatPrice.String())) assert.Assert(t, expectedPrice.Equal(humanReadablePrice)) } @@ -246,7 +246,7 @@ func TestConvertMarginFromExtendedChainFormatForDerivativeMarket(t *testing.T) { marginDecimals := derivativeMarket.QuoteToken.Decimals chainFormatMargin := expectedMargin.Mul(decimal.New(1, marginDecimals)).Mul(decimal.New(1, AdditionalChainFormatDecimals)) - humanReadablePrice := derivativeMarket.MarginFromExtendedChainFormat(types.MustNewDecFromStr(chainFormatMargin.String())) + humanReadablePrice := derivativeMarket.MarginFromExtendedChainFormat(sdkmath.LegacyMustNewDecFromStr(chainFormatMargin.String())) assert.Assert(t, expectedMargin.Equal(humanReadablePrice)) } diff --git a/examples/chain/ibc/transfer/1_MsgTransfer/example.go b/examples/chain/ibc/transfer/1_MsgTransfer/example.go index 49d137ca..c08689e4 100644 --- a/examples/chain/ibc/transfer/1_MsgTransfer/example.go +++ b/examples/chain/ibc/transfer/1_MsgTransfer/example.go @@ -11,8 +11,8 @@ import ( chainclient "github.com/InjectiveLabs/sdk-go/client/chain" rpchttp "github.com/cometbft/cometbft/rpc/client/http" sdktypes "github.com/cosmos/cosmos-sdk/types" - ibctransfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" - ibccoretypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" + ibctransfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" + ibccoretypes "github.com/cosmos/ibc-go/v8/modules/core/02-client/types" ) func main() { diff --git a/examples/chain/ibc/transfer/query/1_DenomTrace/example.go b/examples/chain/ibc/transfer/query/1_DenomTrace/example.go index 7653f19a..1e13e8c6 100644 --- a/examples/chain/ibc/transfer/query/1_DenomTrace/example.go +++ b/examples/chain/ibc/transfer/query/1_DenomTrace/example.go @@ -5,7 +5,7 @@ import ( "encoding/json" "fmt" - "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" "github.com/InjectiveLabs/sdk-go/client" diff --git a/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.pb.go b/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.pb.go new file mode 100644 index 00000000..d68f07d1 --- /dev/null +++ b/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.pb.go @@ -0,0 +1,5333 @@ +// Code generated with goa v3.7.0, DO NOT EDIT. +// +// InjectiveAccountsRPC protocol buffer definition +// +// Command: +// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc v4.25.3 +// source: goadesign_goagen_injective_accounts_rpc.proto + +package injective_accounts_rpcpb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type PortfolioRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *PortfolioRequest) Reset() { + *x = PortfolioRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortfolioRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortfolioRequest) ProtoMessage() {} + +func (x *PortfolioRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortfolioRequest.ProtoReflect.Descriptor instead. +func (*PortfolioRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{0} +} + +func (x *PortfolioRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type PortfolioResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The portfolio of this account + Portfolio *AccountPortfolio `protobuf:"bytes,1,opt,name=portfolio,proto3" json:"portfolio,omitempty"` +} + +func (x *PortfolioResponse) Reset() { + *x = PortfolioResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortfolioResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortfolioResponse) ProtoMessage() {} + +func (x *PortfolioResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortfolioResponse.ProtoReflect.Descriptor instead. +func (*PortfolioResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{1} +} + +func (x *PortfolioResponse) GetPortfolio() *AccountPortfolio { + if x != nil { + return x.Portfolio + } + return nil +} + +type AccountPortfolio struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The account's portfolio value in USD. + PortfolioValue string `protobuf:"bytes,1,opt,name=portfolio_value,json=portfolioValue,proto3" json:"portfolio_value,omitempty"` + // The account's available balance value in USD. + AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` + // The account's locked balance value in USD. + LockedBalance string `protobuf:"bytes,3,opt,name=locked_balance,json=lockedBalance,proto3" json:"locked_balance,omitempty"` + // The account's total unrealized PnL value in USD. + UnrealizedPnl string `protobuf:"bytes,4,opt,name=unrealized_pnl,json=unrealizedPnl,proto3" json:"unrealized_pnl,omitempty"` + // List of all subaccounts' portfolio + Subaccounts []*SubaccountPortfolio `protobuf:"bytes,5,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` +} + +func (x *AccountPortfolio) Reset() { + *x = AccountPortfolio{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountPortfolio) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountPortfolio) ProtoMessage() {} + +func (x *AccountPortfolio) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountPortfolio.ProtoReflect.Descriptor instead. +func (*AccountPortfolio) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{2} +} + +func (x *AccountPortfolio) GetPortfolioValue() string { + if x != nil { + return x.PortfolioValue + } + return "" +} + +func (x *AccountPortfolio) GetAvailableBalance() string { + if x != nil { + return x.AvailableBalance + } + return "" +} + +func (x *AccountPortfolio) GetLockedBalance() string { + if x != nil { + return x.LockedBalance + } + return "" +} + +func (x *AccountPortfolio) GetUnrealizedPnl() string { + if x != nil { + return x.UnrealizedPnl + } + return "" +} + +func (x *AccountPortfolio) GetSubaccounts() []*SubaccountPortfolio { + if x != nil { + return x.Subaccounts + } + return nil +} + +type SubaccountPortfolio struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of this subaccount + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The subaccount's available balance value in USD. + AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` + // The subaccount's locked balance value in USD. + LockedBalance string `protobuf:"bytes,3,opt,name=locked_balance,json=lockedBalance,proto3" json:"locked_balance,omitempty"` + // The subaccount's total unrealized PnL value in USD. + UnrealizedPnl string `protobuf:"bytes,4,opt,name=unrealized_pnl,json=unrealizedPnl,proto3" json:"unrealized_pnl,omitempty"` +} + +func (x *SubaccountPortfolio) Reset() { + *x = SubaccountPortfolio{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountPortfolio) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountPortfolio) ProtoMessage() {} + +func (x *SubaccountPortfolio) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountPortfolio.ProtoReflect.Descriptor instead. +func (*SubaccountPortfolio) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{3} +} + +func (x *SubaccountPortfolio) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountPortfolio) GetAvailableBalance() string { + if x != nil { + return x.AvailableBalance + } + return "" +} + +func (x *SubaccountPortfolio) GetLockedBalance() string { + if x != nil { + return x.LockedBalance + } + return "" +} + +func (x *SubaccountPortfolio) GetUnrealizedPnl() string { + if x != nil { + return x.UnrealizedPnl + } + return "" +} + +type OrderStatesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SpotOrderHashes []string `protobuf:"bytes,1,rep,name=spot_order_hashes,json=spotOrderHashes,proto3" json:"spot_order_hashes,omitempty"` + DerivativeOrderHashes []string `protobuf:"bytes,2,rep,name=derivative_order_hashes,json=derivativeOrderHashes,proto3" json:"derivative_order_hashes,omitempty"` +} + +func (x *OrderStatesRequest) Reset() { + *x = OrderStatesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderStatesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderStatesRequest) ProtoMessage() {} + +func (x *OrderStatesRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderStatesRequest.ProtoReflect.Descriptor instead. +func (*OrderStatesRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{4} +} + +func (x *OrderStatesRequest) GetSpotOrderHashes() []string { + if x != nil { + return x.SpotOrderHashes + } + return nil +} + +func (x *OrderStatesRequest) GetDerivativeOrderHashes() []string { + if x != nil { + return x.DerivativeOrderHashes + } + return nil +} + +type OrderStatesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of the spot order state records + SpotOrderStates []*OrderStateRecord `protobuf:"bytes,1,rep,name=spot_order_states,json=spotOrderStates,proto3" json:"spot_order_states,omitempty"` + // List of the derivative order state records + DerivativeOrderStates []*OrderStateRecord `protobuf:"bytes,2,rep,name=derivative_order_states,json=derivativeOrderStates,proto3" json:"derivative_order_states,omitempty"` +} + +func (x *OrderStatesResponse) Reset() { + *x = OrderStatesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderStatesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderStatesResponse) ProtoMessage() {} + +func (x *OrderStatesResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderStatesResponse.ProtoReflect.Descriptor instead. +func (*OrderStatesResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{5} +} + +func (x *OrderStatesResponse) GetSpotOrderStates() []*OrderStateRecord { + if x != nil { + return x.SpotOrderStates + } + return nil +} + +func (x *OrderStatesResponse) GetDerivativeOrderStates() []*OrderStateRecord { + if x != nil { + return x.DerivativeOrderStates + } + return nil +} + +type OrderStateRecord struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The Market ID of the order + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The type of the order + OrderType string `protobuf:"bytes,4,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` + // The side of the order + OrderSide string `protobuf:"bytes,5,opt,name=order_side,json=orderSide,proto3" json:"order_side,omitempty"` + // The state (status) of the order + State string `protobuf:"bytes,6,opt,name=state,proto3" json:"state,omitempty"` + // The filled quantity of the order + QuantityFilled string `protobuf:"bytes,7,opt,name=quantity_filled,json=quantityFilled,proto3" json:"quantity_filled,omitempty"` + // The filled quantity of the order + QuantityRemaining string `protobuf:"bytes,8,opt,name=quantity_remaining,json=quantityRemaining,proto3" json:"quantity_remaining,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Order prices + Price string `protobuf:"bytes,11,opt,name=price,proto3" json:"price,omitempty"` + // Margin for derivative order + Margin string `protobuf:"bytes,12,opt,name=margin,proto3" json:"margin,omitempty"` +} + +func (x *OrderStateRecord) Reset() { + *x = OrderStateRecord{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderStateRecord) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderStateRecord) ProtoMessage() {} + +func (x *OrderStateRecord) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderStateRecord.ProtoReflect.Descriptor instead. +func (*OrderStateRecord) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{6} +} + +func (x *OrderStateRecord) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *OrderStateRecord) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *OrderStateRecord) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *OrderStateRecord) GetOrderType() string { + if x != nil { + return x.OrderType + } + return "" +} + +func (x *OrderStateRecord) GetOrderSide() string { + if x != nil { + return x.OrderSide + } + return "" +} + +func (x *OrderStateRecord) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *OrderStateRecord) GetQuantityFilled() string { + if x != nil { + return x.QuantityFilled + } + return "" +} + +func (x *OrderStateRecord) GetQuantityRemaining() string { + if x != nil { + return x.QuantityRemaining + } + return "" +} + +func (x *OrderStateRecord) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *OrderStateRecord) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *OrderStateRecord) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *OrderStateRecord) GetMargin() string { + if x != nil { + return x.Margin + } + return "" +} + +type SubaccountsListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address, the subaccounts owner + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *SubaccountsListRequest) Reset() { + *x = SubaccountsListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountsListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountsListRequest) ProtoMessage() {} + +func (x *SubaccountsListRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountsListRequest.ProtoReflect.Descriptor instead. +func (*SubaccountsListRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{7} +} + +func (x *SubaccountsListRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type SubaccountsListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subaccounts []string `protobuf:"bytes,1,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` +} + +func (x *SubaccountsListResponse) Reset() { + *x = SubaccountsListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountsListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountsListResponse) ProtoMessage() {} + +func (x *SubaccountsListResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountsListResponse.ProtoReflect.Descriptor instead. +func (*SubaccountsListResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{8} +} + +func (x *SubaccountsListResponse) GetSubaccounts() []string { + if x != nil { + return x.Subaccounts + } + return nil +} + +type SubaccountBalancesListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the trades from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Filter balances by denoms. If not set, the balances of all the denoms for + // the subaccount are provided. + Denoms []string `protobuf:"bytes,2,rep,name=denoms,proto3" json:"denoms,omitempty"` +} + +func (x *SubaccountBalancesListRequest) Reset() { + *x = SubaccountBalancesListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalancesListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalancesListRequest) ProtoMessage() {} + +func (x *SubaccountBalancesListRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalancesListRequest.ProtoReflect.Descriptor instead. +func (*SubaccountBalancesListRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{9} +} + +func (x *SubaccountBalancesListRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountBalancesListRequest) GetDenoms() []string { + if x != nil { + return x.Denoms + } + return nil +} + +type SubaccountBalancesListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of subaccount balances + Balances []*SubaccountBalance `protobuf:"bytes,1,rep,name=balances,proto3" json:"balances,omitempty"` +} + +func (x *SubaccountBalancesListResponse) Reset() { + *x = SubaccountBalancesListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalancesListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalancesListResponse) ProtoMessage() {} + +func (x *SubaccountBalancesListResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalancesListResponse.ProtoReflect.Descriptor instead. +func (*SubaccountBalancesListResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{10} +} + +func (x *SubaccountBalancesListResponse) GetBalances() []*SubaccountBalance { + if x != nil { + return x.Balances + } + return nil +} + +type SubaccountBalance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Related subaccount ID + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Account address, owner of this subaccount + AccountAddress string `protobuf:"bytes,2,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // Coin denom on the chain. + Denom string `protobuf:"bytes,3,opt,name=denom,proto3" json:"denom,omitempty"` + Deposit *SubaccountDeposit `protobuf:"bytes,4,opt,name=deposit,proto3" json:"deposit,omitempty"` +} + +func (x *SubaccountBalance) Reset() { + *x = SubaccountBalance{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalance) ProtoMessage() {} + +func (x *SubaccountBalance) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalance.ProtoReflect.Descriptor instead. +func (*SubaccountBalance) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{11} +} + +func (x *SubaccountBalance) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountBalance) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *SubaccountBalance) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *SubaccountBalance) GetDeposit() *SubaccountDeposit { + if x != nil { + return x.Deposit + } + return nil +} + +type SubaccountDeposit struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TotalBalance string `protobuf:"bytes,1,opt,name=total_balance,json=totalBalance,proto3" json:"total_balance,omitempty"` + AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` +} + +func (x *SubaccountDeposit) Reset() { + *x = SubaccountDeposit{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountDeposit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountDeposit) ProtoMessage() {} + +func (x *SubaccountDeposit) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountDeposit.ProtoReflect.Descriptor instead. +func (*SubaccountDeposit) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{12} +} + +func (x *SubaccountDeposit) GetTotalBalance() string { + if x != nil { + return x.TotalBalance + } + return "" +} + +func (x *SubaccountDeposit) GetAvailableBalance() string { + if x != nil { + return x.AvailableBalance + } + return "" +} + +type SubaccountBalanceEndpointRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the trades from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Specify denom to get balance + Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` +} + +func (x *SubaccountBalanceEndpointRequest) Reset() { + *x = SubaccountBalanceEndpointRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalanceEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalanceEndpointRequest) ProtoMessage() {} + +func (x *SubaccountBalanceEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalanceEndpointRequest.ProtoReflect.Descriptor instead. +func (*SubaccountBalanceEndpointRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{13} +} + +func (x *SubaccountBalanceEndpointRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountBalanceEndpointRequest) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +type SubaccountBalanceEndpointResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Subaccount balance + Balance *SubaccountBalance `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"` +} + +func (x *SubaccountBalanceEndpointResponse) Reset() { + *x = SubaccountBalanceEndpointResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalanceEndpointResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalanceEndpointResponse) ProtoMessage() {} + +func (x *SubaccountBalanceEndpointResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalanceEndpointResponse.ProtoReflect.Descriptor instead. +func (*SubaccountBalanceEndpointResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{14} +} + +func (x *SubaccountBalanceEndpointResponse) GetBalance() *SubaccountBalance { + if x != nil { + return x.Balance + } + return nil +} + +type StreamSubaccountBalanceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the trades from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Filter balances by denoms. If not set, the balances of all the denoms for + // the subaccount are provided. + Denoms []string `protobuf:"bytes,2,rep,name=denoms,proto3" json:"denoms,omitempty"` +} + +func (x *StreamSubaccountBalanceRequest) Reset() { + *x = StreamSubaccountBalanceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamSubaccountBalanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamSubaccountBalanceRequest) ProtoMessage() {} + +func (x *StreamSubaccountBalanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamSubaccountBalanceRequest.ProtoReflect.Descriptor instead. +func (*StreamSubaccountBalanceRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{15} +} + +func (x *StreamSubaccountBalanceRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *StreamSubaccountBalanceRequest) GetDenoms() []string { + if x != nil { + return x.Denoms + } + return nil +} + +type StreamSubaccountBalanceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Subaccount balance + Balance *SubaccountBalance `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *StreamSubaccountBalanceResponse) Reset() { + *x = StreamSubaccountBalanceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamSubaccountBalanceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamSubaccountBalanceResponse) ProtoMessage() {} + +func (x *StreamSubaccountBalanceResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamSubaccountBalanceResponse.ProtoReflect.Descriptor instead. +func (*StreamSubaccountBalanceResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{16} +} + +func (x *StreamSubaccountBalanceResponse) GetBalance() *SubaccountBalance { + if x != nil { + return x.Balance + } + return nil +} + +func (x *StreamSubaccountBalanceResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type SubaccountHistoryRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the history from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Filter history by denom + Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` + // Filter history by transfer type + TransferTypes []string `protobuf:"bytes,3,rep,name=transfer_types,json=transferTypes,proto3" json:"transfer_types,omitempty"` + // Skip will skip the first n item from the result + Skip uint64 `protobuf:"varint,4,opt,name=skip,proto3" json:"skip,omitempty"` + // Limit is used to specify the maximum number of items to be returned + Limit int32 `protobuf:"zigzag32,5,opt,name=limit,proto3" json:"limit,omitempty"` + // Upper bound of account transfer history's executedAt + EndTime int64 `protobuf:"zigzag64,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` +} + +func (x *SubaccountHistoryRequest) Reset() { + *x = SubaccountHistoryRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountHistoryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountHistoryRequest) ProtoMessage() {} + +func (x *SubaccountHistoryRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountHistoryRequest.ProtoReflect.Descriptor instead. +func (*SubaccountHistoryRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{17} +} + +func (x *SubaccountHistoryRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountHistoryRequest) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *SubaccountHistoryRequest) GetTransferTypes() []string { + if x != nil { + return x.TransferTypes + } + return nil +} + +func (x *SubaccountHistoryRequest) GetSkip() uint64 { + if x != nil { + return x.Skip + } + return 0 +} + +func (x *SubaccountHistoryRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *SubaccountHistoryRequest) GetEndTime() int64 { + if x != nil { + return x.EndTime + } + return 0 +} + +type SubaccountHistoryResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of subaccount transfers + Transfers []*SubaccountBalanceTransfer `protobuf:"bytes,1,rep,name=transfers,proto3" json:"transfers,omitempty"` + Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` +} + +func (x *SubaccountHistoryResponse) Reset() { + *x = SubaccountHistoryResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountHistoryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountHistoryResponse) ProtoMessage() {} + +func (x *SubaccountHistoryResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountHistoryResponse.ProtoReflect.Descriptor instead. +func (*SubaccountHistoryResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{18} +} + +func (x *SubaccountHistoryResponse) GetTransfers() []*SubaccountBalanceTransfer { + if x != nil { + return x.Transfers + } + return nil +} + +func (x *SubaccountHistoryResponse) GetPaging() *Paging { + if x != nil { + return x.Paging + } + return nil +} + +type SubaccountBalanceTransfer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Type of the subaccount balance transfer + TransferType string `protobuf:"bytes,1,opt,name=transfer_type,json=transferType,proto3" json:"transfer_type,omitempty"` + // Subaccount ID of the sending side + SrcSubaccountId string `protobuf:"bytes,2,opt,name=src_subaccount_id,json=srcSubaccountId,proto3" json:"src_subaccount_id,omitempty"` + // Account address of the sending side + SrcAccountAddress string `protobuf:"bytes,3,opt,name=src_account_address,json=srcAccountAddress,proto3" json:"src_account_address,omitempty"` + // Subaccount ID of the receiving side + DstSubaccountId string `protobuf:"bytes,4,opt,name=dst_subaccount_id,json=dstSubaccountId,proto3" json:"dst_subaccount_id,omitempty"` + // Account address of the receiving side + DstAccountAddress string `protobuf:"bytes,5,opt,name=dst_account_address,json=dstAccountAddress,proto3" json:"dst_account_address,omitempty"` + // Coin amount of the transfer + Amount *CosmosCoin `protobuf:"bytes,6,opt,name=amount,proto3" json:"amount,omitempty"` + // Timestamp of the transfer in UNIX millis + ExecutedAt int64 `protobuf:"zigzag64,7,opt,name=executed_at,json=executedAt,proto3" json:"executed_at,omitempty"` +} + +func (x *SubaccountBalanceTransfer) Reset() { + *x = SubaccountBalanceTransfer{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalanceTransfer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalanceTransfer) ProtoMessage() {} + +func (x *SubaccountBalanceTransfer) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalanceTransfer.ProtoReflect.Descriptor instead. +func (*SubaccountBalanceTransfer) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{19} +} + +func (x *SubaccountBalanceTransfer) GetTransferType() string { + if x != nil { + return x.TransferType + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetSrcSubaccountId() string { + if x != nil { + return x.SrcSubaccountId + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetSrcAccountAddress() string { + if x != nil { + return x.SrcAccountAddress + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetDstSubaccountId() string { + if x != nil { + return x.DstSubaccountId + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetDstAccountAddress() string { + if x != nil { + return x.DstAccountAddress + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetAmount() *CosmosCoin { + if x != nil { + return x.Amount + } + return nil +} + +func (x *SubaccountBalanceTransfer) GetExecutedAt() int64 { + if x != nil { + return x.ExecutedAt + } + return 0 +} + +type CosmosCoin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Coin denominator + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + // Coin amount (big int) + Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *CosmosCoin) Reset() { + *x = CosmosCoin{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CosmosCoin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CosmosCoin) ProtoMessage() {} + +func (x *CosmosCoin) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CosmosCoin.ProtoReflect.Descriptor instead. +func (*CosmosCoin) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{20} +} + +func (x *CosmosCoin) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *CosmosCoin) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +// Paging defines the structure for required params for handling pagination +type Paging struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // total number of txs saved in database + Total int64 `protobuf:"zigzag64,1,opt,name=total,proto3" json:"total,omitempty"` + // can be either block height or index num + From int32 `protobuf:"zigzag32,2,opt,name=from,proto3" json:"from,omitempty"` + // can be either block height or index num + To int32 `protobuf:"zigzag32,3,opt,name=to,proto3" json:"to,omitempty"` + // count entries by subaccount, serving some places on helix + CountBySubaccount int64 `protobuf:"zigzag64,4,opt,name=count_by_subaccount,json=countBySubaccount,proto3" json:"count_by_subaccount,omitempty"` + // array of tokens to navigate to the next pages + Next []string `protobuf:"bytes,5,rep,name=next,proto3" json:"next,omitempty"` +} + +func (x *Paging) Reset() { + *x = Paging{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Paging) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Paging) ProtoMessage() {} + +func (x *Paging) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Paging.ProtoReflect.Descriptor instead. +func (*Paging) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{21} +} + +func (x *Paging) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *Paging) GetFrom() int32 { + if x != nil { + return x.From + } + return 0 +} + +func (x *Paging) GetTo() int32 { + if x != nil { + return x.To + } + return 0 +} + +func (x *Paging) GetCountBySubaccount() int64 { + if x != nil { + return x.CountBySubaccount + } + return 0 +} + +func (x *Paging) GetNext() []string { + if x != nil { + return x.Next + } + return nil +} + +type SubaccountOrderSummaryRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the summary from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // MarketId is limiting order summary to specific market only + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // Filter by direction of the orders + OrderDirection string `protobuf:"bytes,3,opt,name=order_direction,json=orderDirection,proto3" json:"order_direction,omitempty"` +} + +func (x *SubaccountOrderSummaryRequest) Reset() { + *x = SubaccountOrderSummaryRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountOrderSummaryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountOrderSummaryRequest) ProtoMessage() {} + +func (x *SubaccountOrderSummaryRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountOrderSummaryRequest.ProtoReflect.Descriptor instead. +func (*SubaccountOrderSummaryRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{22} +} + +func (x *SubaccountOrderSummaryRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountOrderSummaryRequest) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *SubaccountOrderSummaryRequest) GetOrderDirection() string { + if x != nil { + return x.OrderDirection + } + return "" +} + +type SubaccountOrderSummaryResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Total count of subaccount's spot orders in given market and direction + SpotOrdersTotal int64 `protobuf:"zigzag64,1,opt,name=spot_orders_total,json=spotOrdersTotal,proto3" json:"spot_orders_total,omitempty"` + // Total count of subaccount's derivative orders in given market and direction + DerivativeOrdersTotal int64 `protobuf:"zigzag64,2,opt,name=derivative_orders_total,json=derivativeOrdersTotal,proto3" json:"derivative_orders_total,omitempty"` +} + +func (x *SubaccountOrderSummaryResponse) Reset() { + *x = SubaccountOrderSummaryResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountOrderSummaryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountOrderSummaryResponse) ProtoMessage() {} + +func (x *SubaccountOrderSummaryResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountOrderSummaryResponse.ProtoReflect.Descriptor instead. +func (*SubaccountOrderSummaryResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{23} +} + +func (x *SubaccountOrderSummaryResponse) GetSpotOrdersTotal() int64 { + if x != nil { + return x.SpotOrdersTotal + } + return 0 +} + +func (x *SubaccountOrderSummaryResponse) GetDerivativeOrdersTotal() int64 { + if x != nil { + return x.DerivativeOrdersTotal + } + return 0 +} + +type RewardsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The distribution epoch sequence number. -1 for latest. + Epoch int64 `protobuf:"zigzag64,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Account address for the rewards distribution + AccountAddress string `protobuf:"bytes,2,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *RewardsRequest) Reset() { + *x = RewardsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RewardsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RewardsRequest) ProtoMessage() {} + +func (x *RewardsRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RewardsRequest.ProtoReflect.Descriptor instead. +func (*RewardsRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{24} +} + +func (x *RewardsRequest) GetEpoch() int64 { + if x != nil { + return x.Epoch + } + return 0 +} + +func (x *RewardsRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type RewardsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The trading rewards distributed + Rewards []*Reward `protobuf:"bytes,1,rep,name=rewards,proto3" json:"rewards,omitempty"` +} + +func (x *RewardsResponse) Reset() { + *x = RewardsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RewardsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RewardsResponse) ProtoMessage() {} + +func (x *RewardsResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RewardsResponse.ProtoReflect.Descriptor instead. +func (*RewardsResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{25} +} + +func (x *RewardsResponse) GetRewards() []*Reward { + if x != nil { + return x.Rewards + } + return nil +} + +type Reward struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // Reward coins distributed + Rewards []*Coin `protobuf:"bytes,2,rep,name=rewards,proto3" json:"rewards,omitempty"` + // Rewards distribution timestamp in UNIX millis. + DistributedAt int64 `protobuf:"zigzag64,3,opt,name=distributed_at,json=distributedAt,proto3" json:"distributed_at,omitempty"` +} + +func (x *Reward) Reset() { + *x = Reward{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Reward) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Reward) ProtoMessage() {} + +func (x *Reward) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Reward.ProtoReflect.Descriptor instead. +func (*Reward) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{26} +} + +func (x *Reward) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *Reward) GetRewards() []*Coin { + if x != nil { + return x.Rewards + } + return nil +} + +func (x *Reward) GetDistributedAt() int64 { + if x != nil { + return x.DistributedAt + } + return 0 +} + +type Coin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Denom of the coin + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *Coin) Reset() { + *x = Coin{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Coin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Coin) ProtoMessage() {} + +func (x *Coin) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Coin.ProtoReflect.Descriptor instead. +func (*Coin) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{27} +} + +func (x *Coin) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *Coin) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +type StreamAccountDataRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // account address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *StreamAccountDataRequest) Reset() { + *x = StreamAccountDataRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamAccountDataRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamAccountDataRequest) ProtoMessage() {} + +func (x *StreamAccountDataRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamAccountDataRequest.ProtoReflect.Descriptor instead. +func (*StreamAccountDataRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{28} +} + +func (x *StreamAccountDataRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type StreamAccountDataResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SubaccountBalance *SubaccountBalanceResult `protobuf:"bytes,1,opt,name=subaccount_balance,json=subaccountBalance,proto3" json:"subaccount_balance,omitempty"` + Position *PositionsResult `protobuf:"bytes,2,opt,name=position,proto3" json:"position,omitempty"` + Trade *TradeResult `protobuf:"bytes,3,opt,name=trade,proto3" json:"trade,omitempty"` + Order *OrderResult `protobuf:"bytes,4,opt,name=order,proto3" json:"order,omitempty"` + OrderHistory *OrderHistoryResult `protobuf:"bytes,5,opt,name=order_history,json=orderHistory,proto3" json:"order_history,omitempty"` + FundingPayment *FundingPaymentResult `protobuf:"bytes,6,opt,name=funding_payment,json=fundingPayment,proto3" json:"funding_payment,omitempty"` +} + +func (x *StreamAccountDataResponse) Reset() { + *x = StreamAccountDataResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamAccountDataResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamAccountDataResponse) ProtoMessage() {} + +func (x *StreamAccountDataResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamAccountDataResponse.ProtoReflect.Descriptor instead. +func (*StreamAccountDataResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{29} +} + +func (x *StreamAccountDataResponse) GetSubaccountBalance() *SubaccountBalanceResult { + if x != nil { + return x.SubaccountBalance + } + return nil +} + +func (x *StreamAccountDataResponse) GetPosition() *PositionsResult { + if x != nil { + return x.Position + } + return nil +} + +func (x *StreamAccountDataResponse) GetTrade() *TradeResult { + if x != nil { + return x.Trade + } + return nil +} + +func (x *StreamAccountDataResponse) GetOrder() *OrderResult { + if x != nil { + return x.Order + } + return nil +} + +func (x *StreamAccountDataResponse) GetOrderHistory() *OrderHistoryResult { + if x != nil { + return x.OrderHistory + } + return nil +} + +func (x *StreamAccountDataResponse) GetFundingPayment() *FundingPaymentResult { + if x != nil { + return x.FundingPayment + } + return nil +} + +type SubaccountBalanceResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Subaccount balance + Balance *SubaccountBalance `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *SubaccountBalanceResult) Reset() { + *x = SubaccountBalanceResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalanceResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalanceResult) ProtoMessage() {} + +func (x *SubaccountBalanceResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalanceResult.ProtoReflect.Descriptor instead. +func (*SubaccountBalanceResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{30} +} + +func (x *SubaccountBalanceResult) GetBalance() *SubaccountBalance { + if x != nil { + return x.Balance + } + return nil +} + +func (x *SubaccountBalanceResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type PositionsResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Updated derivative Position + Position *Position `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *PositionsResult) Reset() { + *x = PositionsResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PositionsResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PositionsResult) ProtoMessage() {} + +func (x *PositionsResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PositionsResult.ProtoReflect.Descriptor instead. +func (*PositionsResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{31} +} + +func (x *PositionsResult) GetPosition() *Position { + if x != nil { + return x.Position + } + return nil +} + +func (x *PositionsResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type Position struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Ticker of the derivative market + Ticker string `protobuf:"bytes,1,opt,name=ticker,proto3" json:"ticker,omitempty"` + // Derivative Market ID + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The subaccountId that the position belongs to + SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Direction of the position + Direction string `protobuf:"bytes,4,opt,name=direction,proto3" json:"direction,omitempty"` + // Quantity of the position + Quantity string `protobuf:"bytes,5,opt,name=quantity,proto3" json:"quantity,omitempty"` + // Price of the position + EntryPrice string `protobuf:"bytes,6,opt,name=entry_price,json=entryPrice,proto3" json:"entry_price,omitempty"` + // Margin of the position + Margin string `protobuf:"bytes,7,opt,name=margin,proto3" json:"margin,omitempty"` + // LiquidationPrice of the position + LiquidationPrice string `protobuf:"bytes,8,opt,name=liquidation_price,json=liquidationPrice,proto3" json:"liquidation_price,omitempty"` + // MarkPrice of the position + MarkPrice string `protobuf:"bytes,9,opt,name=mark_price,json=markPrice,proto3" json:"mark_price,omitempty"` + // Position updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Position created timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` +} + +func (x *Position) Reset() { + *x = Position{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Position) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Position) ProtoMessage() {} + +func (x *Position) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Position.ProtoReflect.Descriptor instead. +func (*Position) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{32} +} + +func (x *Position) GetTicker() string { + if x != nil { + return x.Ticker + } + return "" +} + +func (x *Position) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *Position) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *Position) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *Position) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *Position) GetEntryPrice() string { + if x != nil { + return x.EntryPrice + } + return "" +} + +func (x *Position) GetMargin() string { + if x != nil { + return x.Margin + } + return "" +} + +func (x *Position) GetLiquidationPrice() string { + if x != nil { + return x.LiquidationPrice + } + return "" +} + +func (x *Position) GetMarkPrice() string { + if x != nil { + return x.MarkPrice + } + return "" +} + +func (x *Position) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *Position) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +type TradeResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Trade: + // + // *TradeResult_SpotTrade + // *TradeResult_DerivativeTrade + Trade isTradeResult_Trade `protobuf_oneof:"trade"` + // Executed trades update type + OperationType string `protobuf:"bytes,3,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *TradeResult) Reset() { + *x = TradeResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TradeResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TradeResult) ProtoMessage() {} + +func (x *TradeResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TradeResult.ProtoReflect.Descriptor instead. +func (*TradeResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{33} +} + +func (m *TradeResult) GetTrade() isTradeResult_Trade { + if m != nil { + return m.Trade + } + return nil +} + +func (x *TradeResult) GetSpotTrade() *SpotTrade { + if x, ok := x.GetTrade().(*TradeResult_SpotTrade); ok { + return x.SpotTrade + } + return nil +} + +func (x *TradeResult) GetDerivativeTrade() *DerivativeTrade { + if x, ok := x.GetTrade().(*TradeResult_DerivativeTrade); ok { + return x.DerivativeTrade + } + return nil +} + +func (x *TradeResult) GetOperationType() string { + if x != nil { + return x.OperationType + } + return "" +} + +func (x *TradeResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type isTradeResult_Trade interface { + isTradeResult_Trade() +} + +type TradeResult_SpotTrade struct { + // New spot market trade + SpotTrade *SpotTrade `protobuf:"bytes,1,opt,name=spot_trade,json=spotTrade,proto3,oneof"` +} + +type TradeResult_DerivativeTrade struct { + // New derivative market trade + DerivativeTrade *DerivativeTrade `protobuf:"bytes,2,opt,name=derivative_trade,json=derivativeTrade,proto3,oneof"` +} + +func (*TradeResult_SpotTrade) isTradeResult_Trade() {} + +func (*TradeResult_DerivativeTrade) isTradeResult_Trade() {} + +type SpotTrade struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Maker order hash. + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The subaccountId that executed the trade + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The ID of the market that this trade is in + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The execution type of the trade + TradeExecutionType string `protobuf:"bytes,4,opt,name=trade_execution_type,json=tradeExecutionType,proto3" json:"trade_execution_type,omitempty"` + // The direction the trade + TradeDirection string `protobuf:"bytes,5,opt,name=trade_direction,json=tradeDirection,proto3" json:"trade_direction,omitempty"` + // Price level at which trade has been executed + Price *PriceLevel `protobuf:"bytes,6,opt,name=price,proto3" json:"price,omitempty"` + // The fee associated with the trade (quote asset denom) + Fee string `protobuf:"bytes,7,opt,name=fee,proto3" json:"fee,omitempty"` + // Timestamp of trade execution in UNIX millis + ExecutedAt int64 `protobuf:"zigzag64,8,opt,name=executed_at,json=executedAt,proto3" json:"executed_at,omitempty"` + // Fee recipient address + FeeRecipient string `protobuf:"bytes,9,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` + // A unique string that helps differentiate between trades + TradeId string `protobuf:"bytes,10,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` + // Trade's execution side, marker/taker + ExecutionSide string `protobuf:"bytes,11,opt,name=execution_side,json=executionSide,proto3" json:"execution_side,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,12,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *SpotTrade) Reset() { + *x = SpotTrade{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpotTrade) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpotTrade) ProtoMessage() {} + +func (x *SpotTrade) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SpotTrade.ProtoReflect.Descriptor instead. +func (*SpotTrade) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{34} +} + +func (x *SpotTrade) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *SpotTrade) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SpotTrade) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *SpotTrade) GetTradeExecutionType() string { + if x != nil { + return x.TradeExecutionType + } + return "" +} + +func (x *SpotTrade) GetTradeDirection() string { + if x != nil { + return x.TradeDirection + } + return "" +} + +func (x *SpotTrade) GetPrice() *PriceLevel { + if x != nil { + return x.Price + } + return nil +} + +func (x *SpotTrade) GetFee() string { + if x != nil { + return x.Fee + } + return "" +} + +func (x *SpotTrade) GetExecutedAt() int64 { + if x != nil { + return x.ExecutedAt + } + return 0 +} + +func (x *SpotTrade) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *SpotTrade) GetTradeId() string { + if x != nil { + return x.TradeId + } + return "" +} + +func (x *SpotTrade) GetExecutionSide() string { + if x != nil { + return x.ExecutionSide + } + return "" +} + +func (x *SpotTrade) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type PriceLevel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Price number of the price level. + Price string `protobuf:"bytes,1,opt,name=price,proto3" json:"price,omitempty"` + // Quantity of the price level. + Quantity string `protobuf:"bytes,2,opt,name=quantity,proto3" json:"quantity,omitempty"` + // Price level last updated timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *PriceLevel) Reset() { + *x = PriceLevel{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PriceLevel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PriceLevel) ProtoMessage() {} + +func (x *PriceLevel) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PriceLevel.ProtoReflect.Descriptor instead. +func (*PriceLevel) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{35} +} + +func (x *PriceLevel) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *PriceLevel) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *PriceLevel) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type DerivativeTrade struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Order hash. + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The subaccountId that executed the trade + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The ID of the market that this trade is in + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The execution type of the trade + TradeExecutionType string `protobuf:"bytes,4,opt,name=trade_execution_type,json=tradeExecutionType,proto3" json:"trade_execution_type,omitempty"` + // True if the trade is a liquidation + IsLiquidation bool `protobuf:"varint,5,opt,name=is_liquidation,json=isLiquidation,proto3" json:"is_liquidation,omitempty"` + // Position Delta from the trade + PositionDelta *PositionDelta `protobuf:"bytes,6,opt,name=position_delta,json=positionDelta,proto3" json:"position_delta,omitempty"` + // The payout associated with the trade + Payout string `protobuf:"bytes,7,opt,name=payout,proto3" json:"payout,omitempty"` + // The fee associated with the trade + Fee string `protobuf:"bytes,8,opt,name=fee,proto3" json:"fee,omitempty"` + // Timestamp of trade execution in UNIX millis + ExecutedAt int64 `protobuf:"zigzag64,9,opt,name=executed_at,json=executedAt,proto3" json:"executed_at,omitempty"` + // Fee recipient address + FeeRecipient string `protobuf:"bytes,10,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` + // A unique string that helps differentiate between trades + TradeId string `protobuf:"bytes,11,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` + // Trade's execution side, marker/taker + ExecutionSide string `protobuf:"bytes,12,opt,name=execution_side,json=executionSide,proto3" json:"execution_side,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,13,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *DerivativeTrade) Reset() { + *x = DerivativeTrade{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DerivativeTrade) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DerivativeTrade) ProtoMessage() {} + +func (x *DerivativeTrade) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DerivativeTrade.ProtoReflect.Descriptor instead. +func (*DerivativeTrade) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{36} +} + +func (x *DerivativeTrade) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *DerivativeTrade) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *DerivativeTrade) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *DerivativeTrade) GetTradeExecutionType() string { + if x != nil { + return x.TradeExecutionType + } + return "" +} + +func (x *DerivativeTrade) GetIsLiquidation() bool { + if x != nil { + return x.IsLiquidation + } + return false +} + +func (x *DerivativeTrade) GetPositionDelta() *PositionDelta { + if x != nil { + return x.PositionDelta + } + return nil +} + +func (x *DerivativeTrade) GetPayout() string { + if x != nil { + return x.Payout + } + return "" +} + +func (x *DerivativeTrade) GetFee() string { + if x != nil { + return x.Fee + } + return "" +} + +func (x *DerivativeTrade) GetExecutedAt() int64 { + if x != nil { + return x.ExecutedAt + } + return 0 +} + +func (x *DerivativeTrade) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *DerivativeTrade) GetTradeId() string { + if x != nil { + return x.TradeId + } + return "" +} + +func (x *DerivativeTrade) GetExecutionSide() string { + if x != nil { + return x.ExecutionSide + } + return "" +} + +func (x *DerivativeTrade) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type PositionDelta struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The direction the trade + TradeDirection string `protobuf:"bytes,1,opt,name=trade_direction,json=tradeDirection,proto3" json:"trade_direction,omitempty"` + // Execution Price of the trade. + ExecutionPrice string `protobuf:"bytes,2,opt,name=execution_price,json=executionPrice,proto3" json:"execution_price,omitempty"` + // Execution Quantity of the trade. + ExecutionQuantity string `protobuf:"bytes,3,opt,name=execution_quantity,json=executionQuantity,proto3" json:"execution_quantity,omitempty"` + // Execution Margin of the trade. + ExecutionMargin string `protobuf:"bytes,4,opt,name=execution_margin,json=executionMargin,proto3" json:"execution_margin,omitempty"` +} + +func (x *PositionDelta) Reset() { + *x = PositionDelta{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PositionDelta) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PositionDelta) ProtoMessage() {} + +func (x *PositionDelta) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PositionDelta.ProtoReflect.Descriptor instead. +func (*PositionDelta) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{37} +} + +func (x *PositionDelta) GetTradeDirection() string { + if x != nil { + return x.TradeDirection + } + return "" +} + +func (x *PositionDelta) GetExecutionPrice() string { + if x != nil { + return x.ExecutionPrice + } + return "" +} + +func (x *PositionDelta) GetExecutionQuantity() string { + if x != nil { + return x.ExecutionQuantity + } + return "" +} + +func (x *PositionDelta) GetExecutionMargin() string { + if x != nil { + return x.ExecutionMargin + } + return "" +} + +type OrderResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Order: + // + // *OrderResult_SpotOrder + // *OrderResult_DerivativeOrder + Order isOrderResult_Order `protobuf_oneof:"order"` + // Executed orders update type + OperationType string `protobuf:"bytes,3,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *OrderResult) Reset() { + *x = OrderResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderResult) ProtoMessage() {} + +func (x *OrderResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderResult.ProtoReflect.Descriptor instead. +func (*OrderResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{38} +} + +func (m *OrderResult) GetOrder() isOrderResult_Order { + if m != nil { + return m.Order + } + return nil +} + +func (x *OrderResult) GetSpotOrder() *SpotLimitOrder { + if x, ok := x.GetOrder().(*OrderResult_SpotOrder); ok { + return x.SpotOrder + } + return nil +} + +func (x *OrderResult) GetDerivativeOrder() *DerivativeLimitOrder { + if x, ok := x.GetOrder().(*OrderResult_DerivativeOrder); ok { + return x.DerivativeOrder + } + return nil +} + +func (x *OrderResult) GetOperationType() string { + if x != nil { + return x.OperationType + } + return "" +} + +func (x *OrderResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type isOrderResult_Order interface { + isOrderResult_Order() +} + +type OrderResult_SpotOrder struct { + // Updated spot market order + SpotOrder *SpotLimitOrder `protobuf:"bytes,1,opt,name=spot_order,json=spotOrder,proto3,oneof"` +} + +type OrderResult_DerivativeOrder struct { + // Updated derivative market order + DerivativeOrder *DerivativeLimitOrder `protobuf:"bytes,2,opt,name=derivative_order,json=derivativeOrder,proto3,oneof"` +} + +func (*OrderResult_SpotOrder) isOrderResult_Order() {} + +func (*OrderResult_DerivativeOrder) isOrderResult_Order() {} + +type SpotLimitOrder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The side of the order + OrderSide string `protobuf:"bytes,2,opt,name=order_side,json=orderSide,proto3" json:"order_side,omitempty"` + // Spot Market ID is keccak265(baseDenom + quoteDenom) + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Price of the order + Price string `protobuf:"bytes,5,opt,name=price,proto3" json:"price,omitempty"` + // Quantity of the order + Quantity string `protobuf:"bytes,6,opt,name=quantity,proto3" json:"quantity,omitempty"` + // The amount of the quantity remaining unfilled + UnfilledQuantity string `protobuf:"bytes,7,opt,name=unfilled_quantity,json=unfilledQuantity,proto3" json:"unfilled_quantity,omitempty"` + // Trigger price is the trigger price used by stop/take orders. 0 if the + // trigger price is not set. + TriggerPrice string `protobuf:"bytes,8,opt,name=trigger_price,json=triggerPrice,proto3" json:"trigger_price,omitempty"` + // Fee recipient address + FeeRecipient string `protobuf:"bytes,9,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` + // Order state + State string `protobuf:"bytes,10,opt,name=state,proto3" json:"state,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Transaction Hash where order is created. Not all orders have this field + TxHash string `protobuf:"bytes,13,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,14,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *SpotLimitOrder) Reset() { + *x = SpotLimitOrder{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpotLimitOrder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpotLimitOrder) ProtoMessage() {} + +func (x *SpotLimitOrder) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SpotLimitOrder.ProtoReflect.Descriptor instead. +func (*SpotLimitOrder) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{39} +} + +func (x *SpotLimitOrder) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *SpotLimitOrder) GetOrderSide() string { + if x != nil { + return x.OrderSide + } + return "" +} + +func (x *SpotLimitOrder) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *SpotLimitOrder) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SpotLimitOrder) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *SpotLimitOrder) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *SpotLimitOrder) GetUnfilledQuantity() string { + if x != nil { + return x.UnfilledQuantity + } + return "" +} + +func (x *SpotLimitOrder) GetTriggerPrice() string { + if x != nil { + return x.TriggerPrice + } + return "" +} + +func (x *SpotLimitOrder) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *SpotLimitOrder) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *SpotLimitOrder) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *SpotLimitOrder) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *SpotLimitOrder) GetTxHash() string { + if x != nil { + return x.TxHash + } + return "" +} + +func (x *SpotLimitOrder) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type DerivativeLimitOrder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The side of the order + OrderSide string `protobuf:"bytes,2,opt,name=order_side,json=orderSide,proto3" json:"order_side,omitempty"` + // Derivative Market ID + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // True if the order is a reduce-only order + IsReduceOnly bool `protobuf:"varint,5,opt,name=is_reduce_only,json=isReduceOnly,proto3" json:"is_reduce_only,omitempty"` + // Margin of the order + Margin string `protobuf:"bytes,6,opt,name=margin,proto3" json:"margin,omitempty"` + // Price of the order + Price string `protobuf:"bytes,7,opt,name=price,proto3" json:"price,omitempty"` + // Quantity of the order + Quantity string `protobuf:"bytes,8,opt,name=quantity,proto3" json:"quantity,omitempty"` + // The amount of the quantity remaining unfilled + UnfilledQuantity string `protobuf:"bytes,9,opt,name=unfilled_quantity,json=unfilledQuantity,proto3" json:"unfilled_quantity,omitempty"` + // Trigger price is the trigger price used by stop/take orders + TriggerPrice string `protobuf:"bytes,10,opt,name=trigger_price,json=triggerPrice,proto3" json:"trigger_price,omitempty"` + // Fee recipient address + FeeRecipient string `protobuf:"bytes,11,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` + // Order state + State string `protobuf:"bytes,12,opt,name=state,proto3" json:"state,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,13,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,14,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Order number of subaccount + OrderNumber int64 `protobuf:"zigzag64,15,opt,name=order_number,json=orderNumber,proto3" json:"order_number,omitempty"` + // Order type + OrderType string `protobuf:"bytes,16,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` + // Order type + IsConditional bool `protobuf:"varint,17,opt,name=is_conditional,json=isConditional,proto3" json:"is_conditional,omitempty"` + // Trigger timestamp, only exists for conditional orders + TriggerAt uint64 `protobuf:"varint,18,opt,name=trigger_at,json=triggerAt,proto3" json:"trigger_at,omitempty"` + // OrderHash of order that is triggered by this conditional order + PlacedOrderHash string `protobuf:"bytes,19,opt,name=placed_order_hash,json=placedOrderHash,proto3" json:"placed_order_hash,omitempty"` + // Execution type of conditional order + ExecutionType string `protobuf:"bytes,20,opt,name=execution_type,json=executionType,proto3" json:"execution_type,omitempty"` + // Transaction Hash where order is created. Not all orders have this field + TxHash string `protobuf:"bytes,21,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,22,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *DerivativeLimitOrder) Reset() { + *x = DerivativeLimitOrder{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DerivativeLimitOrder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DerivativeLimitOrder) ProtoMessage() {} + +func (x *DerivativeLimitOrder) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DerivativeLimitOrder.ProtoReflect.Descriptor instead. +func (*DerivativeLimitOrder) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{40} +} + +func (x *DerivativeLimitOrder) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *DerivativeLimitOrder) GetOrderSide() string { + if x != nil { + return x.OrderSide + } + return "" +} + +func (x *DerivativeLimitOrder) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *DerivativeLimitOrder) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *DerivativeLimitOrder) GetIsReduceOnly() bool { + if x != nil { + return x.IsReduceOnly + } + return false +} + +func (x *DerivativeLimitOrder) GetMargin() string { + if x != nil { + return x.Margin + } + return "" +} + +func (x *DerivativeLimitOrder) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *DerivativeLimitOrder) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *DerivativeLimitOrder) GetUnfilledQuantity() string { + if x != nil { + return x.UnfilledQuantity + } + return "" +} + +func (x *DerivativeLimitOrder) GetTriggerPrice() string { + if x != nil { + return x.TriggerPrice + } + return "" +} + +func (x *DerivativeLimitOrder) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *DerivativeLimitOrder) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *DerivativeLimitOrder) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *DerivativeLimitOrder) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *DerivativeLimitOrder) GetOrderNumber() int64 { + if x != nil { + return x.OrderNumber + } + return 0 +} + +func (x *DerivativeLimitOrder) GetOrderType() string { + if x != nil { + return x.OrderType + } + return "" +} + +func (x *DerivativeLimitOrder) GetIsConditional() bool { + if x != nil { + return x.IsConditional + } + return false +} + +func (x *DerivativeLimitOrder) GetTriggerAt() uint64 { + if x != nil { + return x.TriggerAt + } + return 0 +} + +func (x *DerivativeLimitOrder) GetPlacedOrderHash() string { + if x != nil { + return x.PlacedOrderHash + } + return "" +} + +func (x *DerivativeLimitOrder) GetExecutionType() string { + if x != nil { + return x.ExecutionType + } + return "" +} + +func (x *DerivativeLimitOrder) GetTxHash() string { + if x != nil { + return x.TxHash + } + return "" +} + +func (x *DerivativeLimitOrder) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type OrderHistoryResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to OrderHistory: + // + // *OrderHistoryResult_SpotOrderHistory + // *OrderHistoryResult_DerivativeOrderHistory + OrderHistory isOrderHistoryResult_OrderHistory `protobuf_oneof:"order_history"` + // Order update type + OperationType string `protobuf:"bytes,3,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *OrderHistoryResult) Reset() { + *x = OrderHistoryResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderHistoryResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderHistoryResult) ProtoMessage() {} + +func (x *OrderHistoryResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderHistoryResult.ProtoReflect.Descriptor instead. +func (*OrderHistoryResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{41} +} + +func (m *OrderHistoryResult) GetOrderHistory() isOrderHistoryResult_OrderHistory { + if m != nil { + return m.OrderHistory + } + return nil +} + +func (x *OrderHistoryResult) GetSpotOrderHistory() *SpotOrderHistory { + if x, ok := x.GetOrderHistory().(*OrderHistoryResult_SpotOrderHistory); ok { + return x.SpotOrderHistory + } + return nil +} + +func (x *OrderHistoryResult) GetDerivativeOrderHistory() *DerivativeOrderHistory { + if x, ok := x.GetOrderHistory().(*OrderHistoryResult_DerivativeOrderHistory); ok { + return x.DerivativeOrderHistory + } + return nil +} + +func (x *OrderHistoryResult) GetOperationType() string { + if x != nil { + return x.OperationType + } + return "" +} + +func (x *OrderHistoryResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type isOrderHistoryResult_OrderHistory interface { + isOrderHistoryResult_OrderHistory() +} + +type OrderHistoryResult_SpotOrderHistory struct { + // Spot order history + SpotOrderHistory *SpotOrderHistory `protobuf:"bytes,1,opt,name=spot_order_history,json=spotOrderHistory,proto3,oneof"` +} + +type OrderHistoryResult_DerivativeOrderHistory struct { + // Derivative order history + DerivativeOrderHistory *DerivativeOrderHistory `protobuf:"bytes,2,opt,name=derivative_order_history,json=derivativeOrderHistory,proto3,oneof"` +} + +func (*OrderHistoryResult_SpotOrderHistory) isOrderHistoryResult_OrderHistory() {} + +func (*OrderHistoryResult_DerivativeOrderHistory) isOrderHistoryResult_OrderHistory() {} + +type SpotOrderHistory struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // Spot Market ID is keccak265(baseDenom + quoteDenom) + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // active state of the order + IsActive bool `protobuf:"varint,3,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The execution type + ExecutionType string `protobuf:"bytes,5,opt,name=execution_type,json=executionType,proto3" json:"execution_type,omitempty"` + // The side of the order + OrderType string `protobuf:"bytes,6,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` + // Price of the order + Price string `protobuf:"bytes,7,opt,name=price,proto3" json:"price,omitempty"` + // Trigger price + TriggerPrice string `protobuf:"bytes,8,opt,name=trigger_price,json=triggerPrice,proto3" json:"trigger_price,omitempty"` + // Quantity of the order + Quantity string `protobuf:"bytes,9,opt,name=quantity,proto3" json:"quantity,omitempty"` + // Filled amount + FilledQuantity string `protobuf:"bytes,10,opt,name=filled_quantity,json=filledQuantity,proto3" json:"filled_quantity,omitempty"` + // Order state + State string `protobuf:"bytes,11,opt,name=state,proto3" json:"state,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,13,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Order direction (order side) + Direction string `protobuf:"bytes,14,opt,name=direction,proto3" json:"direction,omitempty"` + // Transaction Hash where order is created. Not all orders have this field + TxHash string `protobuf:"bytes,15,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,16,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *SpotOrderHistory) Reset() { + *x = SpotOrderHistory{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpotOrderHistory) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpotOrderHistory) ProtoMessage() {} + +func (x *SpotOrderHistory) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SpotOrderHistory.ProtoReflect.Descriptor instead. +func (*SpotOrderHistory) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{42} +} + +func (x *SpotOrderHistory) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *SpotOrderHistory) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *SpotOrderHistory) GetIsActive() bool { + if x != nil { + return x.IsActive + } + return false +} + +func (x *SpotOrderHistory) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SpotOrderHistory) GetExecutionType() string { + if x != nil { + return x.ExecutionType + } + return "" +} + +func (x *SpotOrderHistory) GetOrderType() string { + if x != nil { + return x.OrderType + } + return "" +} + +func (x *SpotOrderHistory) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *SpotOrderHistory) GetTriggerPrice() string { + if x != nil { + return x.TriggerPrice + } + return "" +} + +func (x *SpotOrderHistory) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *SpotOrderHistory) GetFilledQuantity() string { + if x != nil { + return x.FilledQuantity + } + return "" +} + +func (x *SpotOrderHistory) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *SpotOrderHistory) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *SpotOrderHistory) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *SpotOrderHistory) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *SpotOrderHistory) GetTxHash() string { + if x != nil { + return x.TxHash + } + return "" +} + +func (x *SpotOrderHistory) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type DerivativeOrderHistory struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // Spot Market ID is keccak265(baseDenom + quoteDenom) + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // active state of the order + IsActive bool `protobuf:"varint,3,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The execution type + ExecutionType string `protobuf:"bytes,5,opt,name=execution_type,json=executionType,proto3" json:"execution_type,omitempty"` + // The side of the order + OrderType string `protobuf:"bytes,6,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` + // Price of the order + Price string `protobuf:"bytes,7,opt,name=price,proto3" json:"price,omitempty"` + // Trigger price + TriggerPrice string `protobuf:"bytes,8,opt,name=trigger_price,json=triggerPrice,proto3" json:"trigger_price,omitempty"` + // Quantity of the order + Quantity string `protobuf:"bytes,9,opt,name=quantity,proto3" json:"quantity,omitempty"` + // Filled amount + FilledQuantity string `protobuf:"bytes,10,opt,name=filled_quantity,json=filledQuantity,proto3" json:"filled_quantity,omitempty"` + // Order state + State string `protobuf:"bytes,11,opt,name=state,proto3" json:"state,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,13,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // True if an order is reduce only + IsReduceOnly bool `protobuf:"varint,14,opt,name=is_reduce_only,json=isReduceOnly,proto3" json:"is_reduce_only,omitempty"` + // Order direction (order side) + Direction string `protobuf:"bytes,15,opt,name=direction,proto3" json:"direction,omitempty"` + // True if this is conditional order, otherwise false + IsConditional bool `protobuf:"varint,16,opt,name=is_conditional,json=isConditional,proto3" json:"is_conditional,omitempty"` + // Trigger timestamp in unix milli + TriggerAt uint64 `protobuf:"varint,17,opt,name=trigger_at,json=triggerAt,proto3" json:"trigger_at,omitempty"` + // Order hash placed when this triggers + PlacedOrderHash string `protobuf:"bytes,18,opt,name=placed_order_hash,json=placedOrderHash,proto3" json:"placed_order_hash,omitempty"` + // Order's margin + Margin string `protobuf:"bytes,19,opt,name=margin,proto3" json:"margin,omitempty"` + // Transaction Hash where order is created. Not all orders have this field + TxHash string `protobuf:"bytes,20,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,21,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *DerivativeOrderHistory) Reset() { + *x = DerivativeOrderHistory{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DerivativeOrderHistory) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DerivativeOrderHistory) ProtoMessage() {} + +func (x *DerivativeOrderHistory) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DerivativeOrderHistory.ProtoReflect.Descriptor instead. +func (*DerivativeOrderHistory) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{43} +} + +func (x *DerivativeOrderHistory) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *DerivativeOrderHistory) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *DerivativeOrderHistory) GetIsActive() bool { + if x != nil { + return x.IsActive + } + return false +} + +func (x *DerivativeOrderHistory) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *DerivativeOrderHistory) GetExecutionType() string { + if x != nil { + return x.ExecutionType + } + return "" +} + +func (x *DerivativeOrderHistory) GetOrderType() string { + if x != nil { + return x.OrderType + } + return "" +} + +func (x *DerivativeOrderHistory) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *DerivativeOrderHistory) GetTriggerPrice() string { + if x != nil { + return x.TriggerPrice + } + return "" +} + +func (x *DerivativeOrderHistory) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *DerivativeOrderHistory) GetFilledQuantity() string { + if x != nil { + return x.FilledQuantity + } + return "" +} + +func (x *DerivativeOrderHistory) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *DerivativeOrderHistory) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *DerivativeOrderHistory) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *DerivativeOrderHistory) GetIsReduceOnly() bool { + if x != nil { + return x.IsReduceOnly + } + return false +} + +func (x *DerivativeOrderHistory) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *DerivativeOrderHistory) GetIsConditional() bool { + if x != nil { + return x.IsConditional + } + return false +} + +func (x *DerivativeOrderHistory) GetTriggerAt() uint64 { + if x != nil { + return x.TriggerAt + } + return 0 +} + +func (x *DerivativeOrderHistory) GetPlacedOrderHash() string { + if x != nil { + return x.PlacedOrderHash + } + return "" +} + +func (x *DerivativeOrderHistory) GetMargin() string { + if x != nil { + return x.Margin + } + return "" +} + +func (x *DerivativeOrderHistory) GetTxHash() string { + if x != nil { + return x.TxHash + } + return "" +} + +func (x *DerivativeOrderHistory) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type FundingPaymentResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Funding payments of the account + FundingPayments *FundingPayment `protobuf:"bytes,1,opt,name=funding_payments,json=fundingPayments,proto3" json:"funding_payments,omitempty"` + // Funding payments type + OperationType string `protobuf:"bytes,2,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *FundingPaymentResult) Reset() { + *x = FundingPaymentResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundingPaymentResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundingPaymentResult) ProtoMessage() {} + +func (x *FundingPaymentResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FundingPaymentResult.ProtoReflect.Descriptor instead. +func (*FundingPaymentResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{44} +} + +func (x *FundingPaymentResult) GetFundingPayments() *FundingPayment { + if x != nil { + return x.FundingPayments + } + return nil +} + +func (x *FundingPaymentResult) GetOperationType() string { + if x != nil { + return x.OperationType + } + return "" +} + +func (x *FundingPaymentResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type FundingPayment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Derivative Market ID + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The subaccountId that the position belongs to + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Amount of the funding payment + Amount string `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` + // Timestamp of funding payment in UNIX millis + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *FundingPayment) Reset() { + *x = FundingPayment{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundingPayment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundingPayment) ProtoMessage() {} + +func (x *FundingPayment) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FundingPayment.ProtoReflect.Descriptor instead. +func (*FundingPayment) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{45} +} + +func (x *FundingPayment) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *FundingPayment) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *FundingPayment) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +func (x *FundingPayment) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +var File_goadesign_goagen_injective_accounts_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_accounts_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x16, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x3b, 0x0a, 0x10, 0x50, 0x6f, 0x72, 0x74, 0x66, + 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x22, 0x5b, 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, + 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x09, 0x70, 0x6f, 0x72, + 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, + 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, + 0x6f, 0x22, 0x85, 0x02, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, + 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, + 0x6c, 0x69, 0x6f, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, + 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x64, 0x5f, 0x70, 0x6e, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x75, 0x6e, 0x72, + 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x6e, 0x6c, 0x12, 0x4d, 0x0a, 0x0b, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x0b, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0xb5, 0x01, 0x0a, 0x13, 0x53, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, + 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, + 0x6b, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, + 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x70, 0x6e, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x6e, + 0x6c, 0x22, 0x78, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x70, 0x6f, 0x74, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0f, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, + 0x68, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x22, 0xcd, 0x01, 0x0a, 0x13, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0f, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x17, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x52, 0x15, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x22, 0x8b, 0x03, 0x0a, 0x10, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x2d, + 0x0a, 0x12, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x71, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x12, 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, 0x0a, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x22, 0x41, 0x0a, 0x16, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3b, 0x0a, 0x17, + 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x5c, 0x0a, 0x1d, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x22, 0x67, 0x0a, 0x1e, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x22, 0xbc, 0x01, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x43, 0x0a, 0x07, 0x64, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x07, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x22, + 0x65, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x5d, 0x0a, 0x20, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x68, 0x0a, 0x21, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, + 0x5d, 0x0a, 0x1e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x22, 0x84, + 0x01, 0x0a, 0x1f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc1, 0x01, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x25, 0x0a, + 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x19, 0x53, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x09, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x22, 0xd5, 0x02, 0x0a, 0x19, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x23, + 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x73, 0x72, 0x63, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x2e, 0x0a, 0x13, 0x73, 0x72, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x72, + 0x63, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x2a, 0x0a, 0x11, 0x64, 0x73, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x73, 0x74, 0x53, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x64, + 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x73, 0x74, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x52, + 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 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, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, + 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x22, 0x8a, 0x01, + 0x0a, 0x1d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x1e, 0x53, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, + 0x11, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0f, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x15, 0x64, 0x65, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x74, 0x61, + 0x6c, 0x22, 0x4f, 0x0a, 0x0e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x22, + 0x90, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, + 0x69, 0x6e, 0x52, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x64, + 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x22, 0x34, 0x0a, 0x04, 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, 0x43, 0x0a, 0x18, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xde, 0x03, + 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x12, 0x73, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x11, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x39, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, + 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x0d, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x55, 0x0a, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0e, + 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x7c, + 0x0a, 0x17, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x6d, 0x0a, 0x0f, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x3c, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xe1, 0x02, 0x0a, 0x08, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, + 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, + 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, + 0xf5, 0x01, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x42, 0x0a, 0x0a, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x48, 0x00, 0x52, 0x09, 0x73, 0x70, 0x6f, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x12, 0x54, 0x0a, 0x10, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x07, + 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x22, 0xad, 0x03, 0x0a, 0x09, 0x53, 0x70, 0x6f, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, 0x72, 0x61, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, + 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x38, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x66, + 0x65, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, + 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, + 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, + 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xdd, 0x03, 0x0a, 0x0f, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, 0x72, 0x61, 0x64, 0x65, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, + 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, + 0x74, 0x61, 0x52, 0x0d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, + 0x61, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, + 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x0d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x72, + 0x67, 0x69, 0x6e, 0x22, 0xff, 0x01, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, + 0x00, 0x52, 0x09, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x10, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x07, 0x0a, 0x05, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xb8, 0x03, 0x0a, 0x0e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x49, 0x64, 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, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, + 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 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, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, + 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, + 0x22, 0xd7, 0x05, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x64, 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, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, + 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, + 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x66, + 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, + 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, + 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 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, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 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, 0x0e, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, + 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, + 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, + 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xb0, 0x02, 0x0a, 0x12, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x58, 0x0a, 0x12, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x48, 0x00, 0x52, 0x10, 0x73, 0x70, 0x6f, 0x74, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x6a, 0x0a, 0x18, 0x64, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x48, 0x00, 0x52, + 0x16, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0f, 0x0a, 0x0d, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0xf3, 0x03, + 0x0a, 0x10, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, + 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1b, + 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 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, + 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, + 0x0f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, + 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, + 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, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, + 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x63, 0x69, 0x64, 0x22, 0xa9, 0x05, 0x0a, 0x16, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1d, + 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1b, 0x0a, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, + 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 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, 0x12, 0x25, 0x0a, 0x0e, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x6c, + 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, 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, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x64, + 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x69, 0x73, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1c, 0x0a, 0x09, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, + 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x74, + 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, + 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, + 0x72, 0x67, 0x69, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, + 0x03, 0x63, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, + 0xae, 0x01, 0x0a, 0x14, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x51, 0x0a, 0x10, 0x66, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x66, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 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, 0x23, 0x0a, 0x0d, 0x73, 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, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x32, 0xdc, 0x09, 0x0a, 0x14, + 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x52, 0x50, 0x43, 0x12, 0x60, 0x0a, 0x09, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, + 0x6f, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66, + 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, + 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x90, 0x01, 0x0a, + 0x19, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x8c, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x36, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x78, + 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x07, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, + 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, + 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, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_goadesign_goagen_injective_accounts_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_accounts_rpc_proto_rawDescData = file_goadesign_goagen_injective_accounts_rpc_proto_rawDesc +) + +func file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_accounts_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_accounts_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_accounts_rpc_proto_rawDescData) + }) + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescData +} + +var file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 46) +var file_goadesign_goagen_injective_accounts_rpc_proto_goTypes = []interface{}{ + (*PortfolioRequest)(nil), // 0: injective_accounts_rpc.PortfolioRequest + (*PortfolioResponse)(nil), // 1: injective_accounts_rpc.PortfolioResponse + (*AccountPortfolio)(nil), // 2: injective_accounts_rpc.AccountPortfolio + (*SubaccountPortfolio)(nil), // 3: injective_accounts_rpc.SubaccountPortfolio + (*OrderStatesRequest)(nil), // 4: injective_accounts_rpc.OrderStatesRequest + (*OrderStatesResponse)(nil), // 5: injective_accounts_rpc.OrderStatesResponse + (*OrderStateRecord)(nil), // 6: injective_accounts_rpc.OrderStateRecord + (*SubaccountsListRequest)(nil), // 7: injective_accounts_rpc.SubaccountsListRequest + (*SubaccountsListResponse)(nil), // 8: injective_accounts_rpc.SubaccountsListResponse + (*SubaccountBalancesListRequest)(nil), // 9: injective_accounts_rpc.SubaccountBalancesListRequest + (*SubaccountBalancesListResponse)(nil), // 10: injective_accounts_rpc.SubaccountBalancesListResponse + (*SubaccountBalance)(nil), // 11: injective_accounts_rpc.SubaccountBalance + (*SubaccountDeposit)(nil), // 12: injective_accounts_rpc.SubaccountDeposit + (*SubaccountBalanceEndpointRequest)(nil), // 13: injective_accounts_rpc.SubaccountBalanceEndpointRequest + (*SubaccountBalanceEndpointResponse)(nil), // 14: injective_accounts_rpc.SubaccountBalanceEndpointResponse + (*StreamSubaccountBalanceRequest)(nil), // 15: injective_accounts_rpc.StreamSubaccountBalanceRequest + (*StreamSubaccountBalanceResponse)(nil), // 16: injective_accounts_rpc.StreamSubaccountBalanceResponse + (*SubaccountHistoryRequest)(nil), // 17: injective_accounts_rpc.SubaccountHistoryRequest + (*SubaccountHistoryResponse)(nil), // 18: injective_accounts_rpc.SubaccountHistoryResponse + (*SubaccountBalanceTransfer)(nil), // 19: injective_accounts_rpc.SubaccountBalanceTransfer + (*CosmosCoin)(nil), // 20: injective_accounts_rpc.CosmosCoin + (*Paging)(nil), // 21: injective_accounts_rpc.Paging + (*SubaccountOrderSummaryRequest)(nil), // 22: injective_accounts_rpc.SubaccountOrderSummaryRequest + (*SubaccountOrderSummaryResponse)(nil), // 23: injective_accounts_rpc.SubaccountOrderSummaryResponse + (*RewardsRequest)(nil), // 24: injective_accounts_rpc.RewardsRequest + (*RewardsResponse)(nil), // 25: injective_accounts_rpc.RewardsResponse + (*Reward)(nil), // 26: injective_accounts_rpc.Reward + (*Coin)(nil), // 27: injective_accounts_rpc.Coin + (*StreamAccountDataRequest)(nil), // 28: injective_accounts_rpc.StreamAccountDataRequest + (*StreamAccountDataResponse)(nil), // 29: injective_accounts_rpc.StreamAccountDataResponse + (*SubaccountBalanceResult)(nil), // 30: injective_accounts_rpc.SubaccountBalanceResult + (*PositionsResult)(nil), // 31: injective_accounts_rpc.PositionsResult + (*Position)(nil), // 32: injective_accounts_rpc.Position + (*TradeResult)(nil), // 33: injective_accounts_rpc.TradeResult + (*SpotTrade)(nil), // 34: injective_accounts_rpc.SpotTrade + (*PriceLevel)(nil), // 35: injective_accounts_rpc.PriceLevel + (*DerivativeTrade)(nil), // 36: injective_accounts_rpc.DerivativeTrade + (*PositionDelta)(nil), // 37: injective_accounts_rpc.PositionDelta + (*OrderResult)(nil), // 38: injective_accounts_rpc.OrderResult + (*SpotLimitOrder)(nil), // 39: injective_accounts_rpc.SpotLimitOrder + (*DerivativeLimitOrder)(nil), // 40: injective_accounts_rpc.DerivativeLimitOrder + (*OrderHistoryResult)(nil), // 41: injective_accounts_rpc.OrderHistoryResult + (*SpotOrderHistory)(nil), // 42: injective_accounts_rpc.SpotOrderHistory + (*DerivativeOrderHistory)(nil), // 43: injective_accounts_rpc.DerivativeOrderHistory + (*FundingPaymentResult)(nil), // 44: injective_accounts_rpc.FundingPaymentResult + (*FundingPayment)(nil), // 45: injective_accounts_rpc.FundingPayment +} +var file_goadesign_goagen_injective_accounts_rpc_proto_depIdxs = []int32{ + 2, // 0: injective_accounts_rpc.PortfolioResponse.portfolio:type_name -> injective_accounts_rpc.AccountPortfolio + 3, // 1: injective_accounts_rpc.AccountPortfolio.subaccounts:type_name -> injective_accounts_rpc.SubaccountPortfolio + 6, // 2: injective_accounts_rpc.OrderStatesResponse.spot_order_states:type_name -> injective_accounts_rpc.OrderStateRecord + 6, // 3: injective_accounts_rpc.OrderStatesResponse.derivative_order_states:type_name -> injective_accounts_rpc.OrderStateRecord + 11, // 4: injective_accounts_rpc.SubaccountBalancesListResponse.balances:type_name -> injective_accounts_rpc.SubaccountBalance + 12, // 5: injective_accounts_rpc.SubaccountBalance.deposit:type_name -> injective_accounts_rpc.SubaccountDeposit + 11, // 6: injective_accounts_rpc.SubaccountBalanceEndpointResponse.balance:type_name -> injective_accounts_rpc.SubaccountBalance + 11, // 7: injective_accounts_rpc.StreamSubaccountBalanceResponse.balance:type_name -> injective_accounts_rpc.SubaccountBalance + 19, // 8: injective_accounts_rpc.SubaccountHistoryResponse.transfers:type_name -> injective_accounts_rpc.SubaccountBalanceTransfer + 21, // 9: injective_accounts_rpc.SubaccountHistoryResponse.paging:type_name -> injective_accounts_rpc.Paging + 20, // 10: injective_accounts_rpc.SubaccountBalanceTransfer.amount:type_name -> injective_accounts_rpc.CosmosCoin + 26, // 11: injective_accounts_rpc.RewardsResponse.rewards:type_name -> injective_accounts_rpc.Reward + 27, // 12: injective_accounts_rpc.Reward.rewards:type_name -> injective_accounts_rpc.Coin + 30, // 13: injective_accounts_rpc.StreamAccountDataResponse.subaccount_balance:type_name -> injective_accounts_rpc.SubaccountBalanceResult + 31, // 14: injective_accounts_rpc.StreamAccountDataResponse.position:type_name -> injective_accounts_rpc.PositionsResult + 33, // 15: injective_accounts_rpc.StreamAccountDataResponse.trade:type_name -> injective_accounts_rpc.TradeResult + 38, // 16: injective_accounts_rpc.StreamAccountDataResponse.order:type_name -> injective_accounts_rpc.OrderResult + 41, // 17: injective_accounts_rpc.StreamAccountDataResponse.order_history:type_name -> injective_accounts_rpc.OrderHistoryResult + 44, // 18: injective_accounts_rpc.StreamAccountDataResponse.funding_payment:type_name -> injective_accounts_rpc.FundingPaymentResult + 11, // 19: injective_accounts_rpc.SubaccountBalanceResult.balance:type_name -> injective_accounts_rpc.SubaccountBalance + 32, // 20: injective_accounts_rpc.PositionsResult.position:type_name -> injective_accounts_rpc.Position + 34, // 21: injective_accounts_rpc.TradeResult.spot_trade:type_name -> injective_accounts_rpc.SpotTrade + 36, // 22: injective_accounts_rpc.TradeResult.derivative_trade:type_name -> injective_accounts_rpc.DerivativeTrade + 35, // 23: injective_accounts_rpc.SpotTrade.price:type_name -> injective_accounts_rpc.PriceLevel + 37, // 24: injective_accounts_rpc.DerivativeTrade.position_delta:type_name -> injective_accounts_rpc.PositionDelta + 39, // 25: injective_accounts_rpc.OrderResult.spot_order:type_name -> injective_accounts_rpc.SpotLimitOrder + 40, // 26: injective_accounts_rpc.OrderResult.derivative_order:type_name -> injective_accounts_rpc.DerivativeLimitOrder + 42, // 27: injective_accounts_rpc.OrderHistoryResult.spot_order_history:type_name -> injective_accounts_rpc.SpotOrderHistory + 43, // 28: injective_accounts_rpc.OrderHistoryResult.derivative_order_history:type_name -> injective_accounts_rpc.DerivativeOrderHistory + 45, // 29: injective_accounts_rpc.FundingPaymentResult.funding_payments:type_name -> injective_accounts_rpc.FundingPayment + 0, // 30: injective_accounts_rpc.InjectiveAccountsRPC.Portfolio:input_type -> injective_accounts_rpc.PortfolioRequest + 4, // 31: injective_accounts_rpc.InjectiveAccountsRPC.OrderStates:input_type -> injective_accounts_rpc.OrderStatesRequest + 7, // 32: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountsList:input_type -> injective_accounts_rpc.SubaccountsListRequest + 9, // 33: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalancesList:input_type -> injective_accounts_rpc.SubaccountBalancesListRequest + 13, // 34: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalanceEndpoint:input_type -> injective_accounts_rpc.SubaccountBalanceEndpointRequest + 15, // 35: injective_accounts_rpc.InjectiveAccountsRPC.StreamSubaccountBalance:input_type -> injective_accounts_rpc.StreamSubaccountBalanceRequest + 17, // 36: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountHistory:input_type -> injective_accounts_rpc.SubaccountHistoryRequest + 22, // 37: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountOrderSummary:input_type -> injective_accounts_rpc.SubaccountOrderSummaryRequest + 24, // 38: injective_accounts_rpc.InjectiveAccountsRPC.Rewards:input_type -> injective_accounts_rpc.RewardsRequest + 28, // 39: injective_accounts_rpc.InjectiveAccountsRPC.StreamAccountData:input_type -> injective_accounts_rpc.StreamAccountDataRequest + 1, // 40: injective_accounts_rpc.InjectiveAccountsRPC.Portfolio:output_type -> injective_accounts_rpc.PortfolioResponse + 5, // 41: injective_accounts_rpc.InjectiveAccountsRPC.OrderStates:output_type -> injective_accounts_rpc.OrderStatesResponse + 8, // 42: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountsList:output_type -> injective_accounts_rpc.SubaccountsListResponse + 10, // 43: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalancesList:output_type -> injective_accounts_rpc.SubaccountBalancesListResponse + 14, // 44: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalanceEndpoint:output_type -> injective_accounts_rpc.SubaccountBalanceEndpointResponse + 16, // 45: injective_accounts_rpc.InjectiveAccountsRPC.StreamSubaccountBalance:output_type -> injective_accounts_rpc.StreamSubaccountBalanceResponse + 18, // 46: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountHistory:output_type -> injective_accounts_rpc.SubaccountHistoryResponse + 23, // 47: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountOrderSummary:output_type -> injective_accounts_rpc.SubaccountOrderSummaryResponse + 25, // 48: injective_accounts_rpc.InjectiveAccountsRPC.Rewards:output_type -> injective_accounts_rpc.RewardsResponse + 29, // 49: injective_accounts_rpc.InjectiveAccountsRPC.StreamAccountData:output_type -> injective_accounts_rpc.StreamAccountDataResponse + 40, // [40:50] is the sub-list for method output_type + 30, // [30:40] is the sub-list for method input_type + 30, // [30:30] is the sub-list for extension type_name + 30, // [30:30] is the sub-list for extension extendee + 0, // [0:30] is the sub-list for field type_name +} + +func init() { file_goadesign_goagen_injective_accounts_rpc_proto_init() } +func file_goadesign_goagen_injective_accounts_rpc_proto_init() { + if File_goadesign_goagen_injective_accounts_rpc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortfolioRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortfolioResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountPortfolio); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountPortfolio); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderStatesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderStatesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderStateRecord); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountsListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountsListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalancesListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalancesListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountDeposit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalanceEndpointRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalanceEndpointResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamSubaccountBalanceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamSubaccountBalanceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountHistoryRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountHistoryResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalanceTransfer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CosmosCoin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Paging); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountOrderSummaryRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountOrderSummaryResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RewardsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RewardsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Reward); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Coin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamAccountDataRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamAccountDataResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalanceResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PositionsResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Position); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TradeResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpotTrade); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PriceLevel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DerivativeTrade); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PositionDelta); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpotLimitOrder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DerivativeLimitOrder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderHistoryResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpotOrderHistory); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DerivativeOrderHistory); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundingPaymentResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundingPayment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[33].OneofWrappers = []interface{}{ + (*TradeResult_SpotTrade)(nil), + (*TradeResult_DerivativeTrade)(nil), + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[38].OneofWrappers = []interface{}{ + (*OrderResult_SpotOrder)(nil), + (*OrderResult_DerivativeOrder)(nil), + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[41].OneofWrappers = []interface{}{ + (*OrderHistoryResult_SpotOrderHistory)(nil), + (*OrderHistoryResult_DerivativeOrderHistory)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_goadesign_goagen_injective_accounts_rpc_proto_rawDesc, + NumEnums: 0, + NumMessages: 46, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_goadesign_goagen_injective_accounts_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_accounts_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes, + }.Build() + File_goadesign_goagen_injective_accounts_rpc_proto = out.File + file_goadesign_goagen_injective_accounts_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_accounts_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_accounts_rpc_proto_depIdxs = nil +} diff --git a/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.proto b/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.proto new file mode 100644 index 00000000..e28956da --- /dev/null +++ b/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.proto @@ -0,0 +1,623 @@ +// Code generated with goa v3.7.0, DO NOT EDIT. +// +// InjectiveAccountsRPC protocol buffer definition +// +// Command: +// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ + +syntax = "proto3"; + +package injective_accounts_rpc; + +option go_package = "/injective_accounts_rpcpb"; + +// InjectiveAccountsRPC defines API of Exchange Accounts provider. +service InjectiveAccountsRPC { + // Provide the account's portfolio value in USD. + rpc Portfolio (PortfolioRequest) returns (PortfolioResponse); + // List order states by order hashes + rpc OrderStates (OrderStatesRequest) returns (OrderStatesResponse); + // List all subaccounts IDs of an account address + rpc SubaccountsList (SubaccountsListRequest) returns (SubaccountsListResponse); + // List subaccount balances for the provided denoms. + rpc SubaccountBalancesList (SubaccountBalancesListRequest) returns (SubaccountBalancesListResponse); + // Gets a balance for specific coin denom + rpc SubaccountBalanceEndpoint (SubaccountBalanceEndpointRequest) returns (SubaccountBalanceEndpointResponse); + // StreamSubaccountBalance streams new balance changes for a specified +// subaccount and denoms. If no denoms are provided, all denom changes are +// streamed. + rpc StreamSubaccountBalance (StreamSubaccountBalanceRequest) returns (stream StreamSubaccountBalanceResponse); + // Get subaccount's deposits and withdrawals history + rpc SubaccountHistory (SubaccountHistoryRequest) returns (SubaccountHistoryResponse); + // Get subaccount's orders summary + rpc SubaccountOrderSummary (SubaccountOrderSummaryRequest) returns (SubaccountOrderSummaryResponse); + // Provide historical trading rewards + rpc Rewards (RewardsRequest) returns (RewardsResponse); + // Stream live data for an account and respective data + rpc StreamAccountData (StreamAccountDataRequest) returns (stream StreamAccountDataResponse); +} + +message PortfolioRequest { + // Account address + string account_address = 1; +} + +message PortfolioResponse { + // The portfolio of this account + AccountPortfolio portfolio = 1; +} + +message AccountPortfolio { + // The account's portfolio value in USD. + string portfolio_value = 1; + // The account's available balance value in USD. + string available_balance = 2; + // The account's locked balance value in USD. + string locked_balance = 3; + // The account's total unrealized PnL value in USD. + string unrealized_pnl = 4; + // List of all subaccounts' portfolio + repeated SubaccountPortfolio subaccounts = 5; +} + +message SubaccountPortfolio { + // The ID of this subaccount + string subaccount_id = 1; + // The subaccount's available balance value in USD. + string available_balance = 2; + // The subaccount's locked balance value in USD. + string locked_balance = 3; + // The subaccount's total unrealized PnL value in USD. + string unrealized_pnl = 4; +} + +message OrderStatesRequest { + repeated string spot_order_hashes = 1; + repeated string derivative_order_hashes = 2; +} + +message OrderStatesResponse { + // List of the spot order state records + repeated OrderStateRecord spot_order_states = 1; + // List of the derivative order state records + repeated OrderStateRecord derivative_order_states = 2; +} + +message OrderStateRecord { + // Hash of the order + string order_hash = 1; + // The subaccountId that this order belongs to + string subaccount_id = 2; + // The Market ID of the order + string market_id = 3; + // The type of the order + string order_type = 4; + // The side of the order + string order_side = 5; + // The state (status) of the order + string state = 6; + // The filled quantity of the order + string quantity_filled = 7; + // The filled quantity of the order + string quantity_remaining = 8; + // Order committed timestamp in UNIX millis. + sint64 created_at = 9; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 10; + // Order prices + string price = 11; + // Margin for derivative order + string margin = 12; +} + +message SubaccountsListRequest { + // Account address, the subaccounts owner + string account_address = 1; +} + +message SubaccountsListResponse { + repeated string subaccounts = 1; +} + +message SubaccountBalancesListRequest { + // SubaccountId of the trader we want to get the trades from + string subaccount_id = 1; + // Filter balances by denoms. If not set, the balances of all the denoms for +// the subaccount are provided. + repeated string denoms = 2; +} + +message SubaccountBalancesListResponse { + // List of subaccount balances + repeated SubaccountBalance balances = 1; +} + +message SubaccountBalance { + // Related subaccount ID + string subaccount_id = 1; + // Account address, owner of this subaccount + string account_address = 2; + // Coin denom on the chain. + string denom = 3; + SubaccountDeposit deposit = 4; +} + +message SubaccountDeposit { + string total_balance = 1; + string available_balance = 2; +} + +message SubaccountBalanceEndpointRequest { + // SubaccountId of the trader we want to get the trades from + string subaccount_id = 1; + // Specify denom to get balance + string denom = 2; +} + +message SubaccountBalanceEndpointResponse { + // Subaccount balance + SubaccountBalance balance = 1; +} + +message StreamSubaccountBalanceRequest { + // SubaccountId of the trader we want to get the trades from + string subaccount_id = 1; + // Filter balances by denoms. If not set, the balances of all the denoms for +// the subaccount are provided. + repeated string denoms = 2; +} + +message StreamSubaccountBalanceResponse { + // Subaccount balance + SubaccountBalance balance = 1; + // Operation timestamp in UNIX millis. + sint64 timestamp = 2; +} + +message SubaccountHistoryRequest { + // SubaccountId of the trader we want to get the history from + string subaccount_id = 1; + // Filter history by denom + string denom = 2; + // Filter history by transfer type + repeated string transfer_types = 3; + // Skip will skip the first n item from the result + uint64 skip = 4; + // Limit is used to specify the maximum number of items to be returned + sint32 limit = 5; + // Upper bound of account transfer history's executedAt + sint64 end_time = 6; +} + +message SubaccountHistoryResponse { + // List of subaccount transfers + repeated SubaccountBalanceTransfer transfers = 1; + Paging paging = 2; +} + +message SubaccountBalanceTransfer { + // Type of the subaccount balance transfer + string transfer_type = 1; + // Subaccount ID of the sending side + string src_subaccount_id = 2; + // Account address of the sending side + string src_account_address = 3; + // Subaccount ID of the receiving side + string dst_subaccount_id = 4; + // Account address of the receiving side + string dst_account_address = 5; + // Coin amount of the transfer + CosmosCoin amount = 6; + // Timestamp of the transfer in UNIX millis + sint64 executed_at = 7; +} + +message CosmosCoin { + // Coin denominator + string denom = 1; + // Coin amount (big int) + string amount = 2; +} +// Paging defines the structure for required params for handling pagination +message Paging { + // total number of txs saved in database + sint64 total = 1; + // can be either block height or index num + sint32 from = 2; + // can be either block height or index num + sint32 to = 3; + // count entries by subaccount, serving some places on helix + sint64 count_by_subaccount = 4; + // array of tokens to navigate to the next pages + repeated string next = 5; +} + +message SubaccountOrderSummaryRequest { + // SubaccountId of the trader we want to get the summary from + string subaccount_id = 1; + // MarketId is limiting order summary to specific market only + string market_id = 2; + // Filter by direction of the orders + string order_direction = 3; +} + +message SubaccountOrderSummaryResponse { + // Total count of subaccount's spot orders in given market and direction + sint64 spot_orders_total = 1; + // Total count of subaccount's derivative orders in given market and direction + sint64 derivative_orders_total = 2; +} + +message RewardsRequest { + // The distribution epoch sequence number. -1 for latest. + sint64 epoch = 1; + // Account address for the rewards distribution + string account_address = 2; +} + +message RewardsResponse { + // The trading rewards distributed + repeated Reward rewards = 1; +} + +message Reward { + // Account address + string account_address = 1; + // Reward coins distributed + repeated Coin rewards = 2; + // Rewards distribution timestamp in UNIX millis. + sint64 distributed_at = 3; +} + +message Coin { + // Denom of the coin + string denom = 1; + string amount = 2; +} + +message StreamAccountDataRequest { + // account address + string account_address = 1; +} + +message StreamAccountDataResponse { + SubaccountBalanceResult subaccount_balance = 1; + PositionsResult position = 2; + TradeResult trade = 3; + OrderResult order = 4; + OrderHistoryResult order_history = 5; + FundingPaymentResult funding_payment = 6; +} + +message SubaccountBalanceResult { + // Subaccount balance + SubaccountBalance balance = 1; + // Operation timestamp in UNIX millis. + sint64 timestamp = 2; +} + +message PositionsResult { + // Updated derivative Position + Position position = 1; + // Operation timestamp in UNIX millis. + sint64 timestamp = 2; +} + +message Position { + // Ticker of the derivative market + string ticker = 1; + // Derivative Market ID + string market_id = 2; + // The subaccountId that the position belongs to + string subaccount_id = 3; + // Direction of the position + string direction = 4; + // Quantity of the position + string quantity = 5; + // Price of the position + string entry_price = 6; + // Margin of the position + string margin = 7; + // LiquidationPrice of the position + string liquidation_price = 8; + // MarkPrice of the position + string mark_price = 9; + // Position updated timestamp in UNIX millis. + sint64 updated_at = 10; + // Position created timestamp in UNIX millis. + sint64 created_at = 11; +} + +message TradeResult { + oneof trade { + // New spot market trade + SpotTrade spot_trade = 1; + // New derivative market trade + DerivativeTrade derivative_trade = 2; + } + // Executed trades update type + string operation_type = 3; + // Operation timestamp in UNIX millis. + sint64 timestamp = 4; +} + +message SpotTrade { + // Maker order hash. + string order_hash = 1; + // The subaccountId that executed the trade + string subaccount_id = 2; + // The ID of the market that this trade is in + string market_id = 3; + // The execution type of the trade + string trade_execution_type = 4; + // The direction the trade + string trade_direction = 5; + // Price level at which trade has been executed + PriceLevel price = 6; + // The fee associated with the trade (quote asset denom) + string fee = 7; + // Timestamp of trade execution in UNIX millis + sint64 executed_at = 8; + // Fee recipient address + string fee_recipient = 9; + // A unique string that helps differentiate between trades + string trade_id = 10; + // Trade's execution side, marker/taker + string execution_side = 11; + // Custom client order ID + string cid = 12; +} + +message PriceLevel { + // Price number of the price level. + string price = 1; + // Quantity of the price level. + string quantity = 2; + // Price level last updated timestamp in UNIX millis. + sint64 timestamp = 3; +} + +message DerivativeTrade { + // Order hash. + string order_hash = 1; + // The subaccountId that executed the trade + string subaccount_id = 2; + // The ID of the market that this trade is in + string market_id = 3; + // The execution type of the trade + string trade_execution_type = 4; + // True if the trade is a liquidation + bool is_liquidation = 5; + // Position Delta from the trade + PositionDelta position_delta = 6; + // The payout associated with the trade + string payout = 7; + // The fee associated with the trade + string fee = 8; + // Timestamp of trade execution in UNIX millis + sint64 executed_at = 9; + // Fee recipient address + string fee_recipient = 10; + // A unique string that helps differentiate between trades + string trade_id = 11; + // Trade's execution side, marker/taker + string execution_side = 12; + // Custom client order ID + string cid = 13; +} + +message PositionDelta { + // The direction the trade + string trade_direction = 1; + // Execution Price of the trade. + string execution_price = 2; + // Execution Quantity of the trade. + string execution_quantity = 3; + // Execution Margin of the trade. + string execution_margin = 4; +} + +message OrderResult { + oneof order { + // Updated spot market order + SpotLimitOrder spot_order = 1; + // Updated derivative market order + DerivativeLimitOrder derivative_order = 2; + } + // Executed orders update type + string operation_type = 3; + // Operation timestamp in UNIX millis. + sint64 timestamp = 4; +} + +message SpotLimitOrder { + // Hash of the order + string order_hash = 1; + // The side of the order + string order_side = 2; + // Spot Market ID is keccak265(baseDenom + quoteDenom) + string market_id = 3; + // The subaccountId that this order belongs to + string subaccount_id = 4; + // Price of the order + string price = 5; + // Quantity of the order + string quantity = 6; + // The amount of the quantity remaining unfilled + string unfilled_quantity = 7; + // Trigger price is the trigger price used by stop/take orders. 0 if the +// trigger price is not set. + string trigger_price = 8; + // Fee recipient address + string fee_recipient = 9; + // Order state + string state = 10; + // Order committed timestamp in UNIX millis. + sint64 created_at = 11; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 12; + // Transaction Hash where order is created. Not all orders have this field + string tx_hash = 13; + // Custom client order ID + string cid = 14; +} + +message DerivativeLimitOrder { + // Hash of the order + string order_hash = 1; + // The side of the order + string order_side = 2; + // Derivative Market ID + string market_id = 3; + // The subaccountId that this order belongs to + string subaccount_id = 4; + // True if the order is a reduce-only order + bool is_reduce_only = 5; + // Margin of the order + string margin = 6; + // Price of the order + string price = 7; + // Quantity of the order + string quantity = 8; + // The amount of the quantity remaining unfilled + string unfilled_quantity = 9; + // Trigger price is the trigger price used by stop/take orders + string trigger_price = 10; + // Fee recipient address + string fee_recipient = 11; + // Order state + string state = 12; + // Order committed timestamp in UNIX millis. + sint64 created_at = 13; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 14; + // Order number of subaccount + sint64 order_number = 15; + // Order type + string order_type = 16; + // Order type + bool is_conditional = 17; + // Trigger timestamp, only exists for conditional orders + uint64 trigger_at = 18; + // OrderHash of order that is triggered by this conditional order + string placed_order_hash = 19; + // Execution type of conditional order + string execution_type = 20; + // Transaction Hash where order is created. Not all orders have this field + string tx_hash = 21; + // Custom client order ID + string cid = 22; +} + +message OrderHistoryResult { + oneof order_history { + // Spot order history + SpotOrderHistory spot_order_history = 1; + // Derivative order history + DerivativeOrderHistory derivative_order_history = 2; + } + // Order update type + string operation_type = 3; + // Operation timestamp in UNIX millis. + sint64 timestamp = 4; +} + +message SpotOrderHistory { + // Hash of the order + string order_hash = 1; + // Spot Market ID is keccak265(baseDenom + quoteDenom) + string market_id = 2; + // active state of the order + bool is_active = 3; + // The subaccountId that this order belongs to + string subaccount_id = 4; + // The execution type + string execution_type = 5; + // The side of the order + string order_type = 6; + // Price of the order + string price = 7; + // Trigger price + string trigger_price = 8; + // Quantity of the order + string quantity = 9; + // Filled amount + string filled_quantity = 10; + // Order state + string state = 11; + // Order committed timestamp in UNIX millis. + sint64 created_at = 12; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 13; + // Order direction (order side) + string direction = 14; + // Transaction Hash where order is created. Not all orders have this field + string tx_hash = 15; + // Custom client order ID + string cid = 16; +} + +message DerivativeOrderHistory { + // Hash of the order + string order_hash = 1; + // Spot Market ID is keccak265(baseDenom + quoteDenom) + string market_id = 2; + // active state of the order + bool is_active = 3; + // The subaccountId that this order belongs to + string subaccount_id = 4; + // The execution type + string execution_type = 5; + // The side of the order + string order_type = 6; + // Price of the order + string price = 7; + // Trigger price + string trigger_price = 8; + // Quantity of the order + string quantity = 9; + // Filled amount + string filled_quantity = 10; + // Order state + string state = 11; + // Order committed timestamp in UNIX millis. + sint64 created_at = 12; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 13; + // True if an order is reduce only + bool is_reduce_only = 14; + // Order direction (order side) + string direction = 15; + // True if this is conditional order, otherwise false + bool is_conditional = 16; + // Trigger timestamp in unix milli + uint64 trigger_at = 17; + // Order hash placed when this triggers + string placed_order_hash = 18; + // Order's margin + string margin = 19; + // Transaction Hash where order is created. Not all orders have this field + string tx_hash = 20; + // Custom client order ID + string cid = 21; +} + +message FundingPaymentResult { + // Funding payments of the account + FundingPayment funding_payments = 1; + // Funding payments type + string operation_type = 2; + // Operation timestamp in UNIX millis. + sint64 timestamp = 4; +} + +message FundingPayment { + // Derivative Market ID + string market_id = 1; + // The subaccountId that the position belongs to + string subaccount_id = 2; + // Amount of the funding payment + string amount = 3; + // Timestamp of funding payment in UNIX millis + sint64 timestamp = 4; +} diff --git a/exchange/accounts_rpc/pb/injective_accounts_rpc_grpc.pb.go b/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go similarity index 88% rename from exchange/accounts_rpc/pb/injective_accounts_rpc_grpc.pb.go rename to exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go index 14ccbcfc..fc873c15 100644 --- a/exchange/accounts_rpc/pb/injective_accounts_rpc_grpc.pb.go +++ b/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_accounts_rpc.proto package injective_accounts_rpcpb @@ -38,6 +42,8 @@ type InjectiveAccountsRPCClient interface { SubaccountOrderSummary(ctx context.Context, in *SubaccountOrderSummaryRequest, opts ...grpc.CallOption) (*SubaccountOrderSummaryResponse, error) // Provide historical trading rewards Rewards(ctx context.Context, in *RewardsRequest, opts ...grpc.CallOption) (*RewardsResponse, error) + // Stream live data for an account and respective data + StreamAccountData(ctx context.Context, in *StreamAccountDataRequest, opts ...grpc.CallOption) (InjectiveAccountsRPC_StreamAccountDataClient, error) } type injectiveAccountsRPCClient struct { @@ -152,6 +158,38 @@ func (c *injectiveAccountsRPCClient) Rewards(ctx context.Context, in *RewardsReq return out, nil } +func (c *injectiveAccountsRPCClient) StreamAccountData(ctx context.Context, in *StreamAccountDataRequest, opts ...grpc.CallOption) (InjectiveAccountsRPC_StreamAccountDataClient, error) { + stream, err := c.cc.NewStream(ctx, &InjectiveAccountsRPC_ServiceDesc.Streams[1], "/injective_accounts_rpc.InjectiveAccountsRPC/StreamAccountData", opts...) + if err != nil { + return nil, err + } + x := &injectiveAccountsRPCStreamAccountDataClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type InjectiveAccountsRPC_StreamAccountDataClient interface { + Recv() (*StreamAccountDataResponse, error) + grpc.ClientStream +} + +type injectiveAccountsRPCStreamAccountDataClient struct { + grpc.ClientStream +} + +func (x *injectiveAccountsRPCStreamAccountDataClient) Recv() (*StreamAccountDataResponse, error) { + m := new(StreamAccountDataResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + // InjectiveAccountsRPCServer is the server API for InjectiveAccountsRPC service. // All implementations must embed UnimplementedInjectiveAccountsRPCServer // for forward compatibility @@ -176,6 +214,8 @@ type InjectiveAccountsRPCServer interface { SubaccountOrderSummary(context.Context, *SubaccountOrderSummaryRequest) (*SubaccountOrderSummaryResponse, error) // Provide historical trading rewards Rewards(context.Context, *RewardsRequest) (*RewardsResponse, error) + // Stream live data for an account and respective data + StreamAccountData(*StreamAccountDataRequest, InjectiveAccountsRPC_StreamAccountDataServer) error mustEmbedUnimplementedInjectiveAccountsRPCServer() } @@ -210,6 +250,9 @@ func (UnimplementedInjectiveAccountsRPCServer) SubaccountOrderSummary(context.Co func (UnimplementedInjectiveAccountsRPCServer) Rewards(context.Context, *RewardsRequest) (*RewardsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Rewards not implemented") } +func (UnimplementedInjectiveAccountsRPCServer) StreamAccountData(*StreamAccountDataRequest, InjectiveAccountsRPC_StreamAccountDataServer) error { + return status.Errorf(codes.Unimplemented, "method StreamAccountData not implemented") +} func (UnimplementedInjectiveAccountsRPCServer) mustEmbedUnimplementedInjectiveAccountsRPCServer() {} // UnsafeInjectiveAccountsRPCServer may be embedded to opt out of forward compatibility for this service. @@ -388,6 +431,27 @@ func _InjectiveAccountsRPC_Rewards_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _InjectiveAccountsRPC_StreamAccountData_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(StreamAccountDataRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(InjectiveAccountsRPCServer).StreamAccountData(m, &injectiveAccountsRPCStreamAccountDataServer{stream}) +} + +type InjectiveAccountsRPC_StreamAccountDataServer interface { + Send(*StreamAccountDataResponse) error + grpc.ServerStream +} + +type injectiveAccountsRPCStreamAccountDataServer struct { + grpc.ServerStream +} + +func (x *injectiveAccountsRPCStreamAccountDataServer) Send(m *StreamAccountDataResponse) error { + return x.ServerStream.SendMsg(m) +} + // InjectiveAccountsRPC_ServiceDesc is the grpc.ServiceDesc for InjectiveAccountsRPC service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -434,6 +498,11 @@ var InjectiveAccountsRPC_ServiceDesc = grpc.ServiceDesc{ Handler: _InjectiveAccountsRPC_StreamSubaccountBalance_Handler, ServerStreams: true, }, + { + StreamName: "StreamAccountData", + Handler: _InjectiveAccountsRPC_StreamAccountData_Handler, + ServerStreams: true, + }, }, - Metadata: "injective_accounts_rpc.proto", + Metadata: "goadesign_goagen_injective_accounts_rpc.proto", } diff --git a/exchange/accounts_rpc/pb/injective_accounts_rpc.pb.go b/exchange/accounts_rpc/pb/injective_accounts_rpc.pb.go deleted file mode 100644 index a7cca461..00000000 --- a/exchange/accounts_rpc/pb/injective_accounts_rpc.pb.go +++ /dev/null @@ -1,2606 +0,0 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. -// -// InjectiveAccountsRPC protocol buffer definition -// -// Command: -// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_accounts_rpc.proto - -package injective_accounts_rpcpb - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type PortfolioRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Account address - AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` -} - -func (x *PortfolioRequest) Reset() { - *x = PortfolioRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PortfolioRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PortfolioRequest) ProtoMessage() {} - -func (x *PortfolioRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PortfolioRequest.ProtoReflect.Descriptor instead. -func (*PortfolioRequest) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{0} -} - -func (x *PortfolioRequest) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -type PortfolioResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The portfolio of this account - Portfolio *AccountPortfolio `protobuf:"bytes,1,opt,name=portfolio,proto3" json:"portfolio,omitempty"` -} - -func (x *PortfolioResponse) Reset() { - *x = PortfolioResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PortfolioResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PortfolioResponse) ProtoMessage() {} - -func (x *PortfolioResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PortfolioResponse.ProtoReflect.Descriptor instead. -func (*PortfolioResponse) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{1} -} - -func (x *PortfolioResponse) GetPortfolio() *AccountPortfolio { - if x != nil { - return x.Portfolio - } - return nil -} - -type AccountPortfolio struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The account's portfolio value in USD. - PortfolioValue string `protobuf:"bytes,1,opt,name=portfolio_value,json=portfolioValue,proto3" json:"portfolio_value,omitempty"` - // The account's available balance value in USD. - AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` - // The account's locked balance value in USD. - LockedBalance string `protobuf:"bytes,3,opt,name=locked_balance,json=lockedBalance,proto3" json:"locked_balance,omitempty"` - // The account's total unrealized PnL value in USD. - UnrealizedPnl string `protobuf:"bytes,4,opt,name=unrealized_pnl,json=unrealizedPnl,proto3" json:"unrealized_pnl,omitempty"` - // List of all subaccounts' portfolio - Subaccounts []*SubaccountPortfolio `protobuf:"bytes,5,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` -} - -func (x *AccountPortfolio) Reset() { - *x = AccountPortfolio{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AccountPortfolio) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AccountPortfolio) ProtoMessage() {} - -func (x *AccountPortfolio) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AccountPortfolio.ProtoReflect.Descriptor instead. -func (*AccountPortfolio) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{2} -} - -func (x *AccountPortfolio) GetPortfolioValue() string { - if x != nil { - return x.PortfolioValue - } - return "" -} - -func (x *AccountPortfolio) GetAvailableBalance() string { - if x != nil { - return x.AvailableBalance - } - return "" -} - -func (x *AccountPortfolio) GetLockedBalance() string { - if x != nil { - return x.LockedBalance - } - return "" -} - -func (x *AccountPortfolio) GetUnrealizedPnl() string { - if x != nil { - return x.UnrealizedPnl - } - return "" -} - -func (x *AccountPortfolio) GetSubaccounts() []*SubaccountPortfolio { - if x != nil { - return x.Subaccounts - } - return nil -} - -type SubaccountPortfolio struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The ID of this subaccount - SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // The subaccount's available balance value in USD. - AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` - // The subaccount's locked balance value in USD. - LockedBalance string `protobuf:"bytes,3,opt,name=locked_balance,json=lockedBalance,proto3" json:"locked_balance,omitempty"` - // The subaccount's total unrealized PnL value in USD. - UnrealizedPnl string `protobuf:"bytes,4,opt,name=unrealized_pnl,json=unrealizedPnl,proto3" json:"unrealized_pnl,omitempty"` -} - -func (x *SubaccountPortfolio) Reset() { - *x = SubaccountPortfolio{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountPortfolio) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountPortfolio) ProtoMessage() {} - -func (x *SubaccountPortfolio) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountPortfolio.ProtoReflect.Descriptor instead. -func (*SubaccountPortfolio) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{3} -} - -func (x *SubaccountPortfolio) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *SubaccountPortfolio) GetAvailableBalance() string { - if x != nil { - return x.AvailableBalance - } - return "" -} - -func (x *SubaccountPortfolio) GetLockedBalance() string { - if x != nil { - return x.LockedBalance - } - return "" -} - -func (x *SubaccountPortfolio) GetUnrealizedPnl() string { - if x != nil { - return x.UnrealizedPnl - } - return "" -} - -type OrderStatesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SpotOrderHashes []string `protobuf:"bytes,1,rep,name=spot_order_hashes,json=spotOrderHashes,proto3" json:"spot_order_hashes,omitempty"` - DerivativeOrderHashes []string `protobuf:"bytes,2,rep,name=derivative_order_hashes,json=derivativeOrderHashes,proto3" json:"derivative_order_hashes,omitempty"` -} - -func (x *OrderStatesRequest) Reset() { - *x = OrderStatesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrderStatesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrderStatesRequest) ProtoMessage() {} - -func (x *OrderStatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrderStatesRequest.ProtoReflect.Descriptor instead. -func (*OrderStatesRequest) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{4} -} - -func (x *OrderStatesRequest) GetSpotOrderHashes() []string { - if x != nil { - return x.SpotOrderHashes - } - return nil -} - -func (x *OrderStatesRequest) GetDerivativeOrderHashes() []string { - if x != nil { - return x.DerivativeOrderHashes - } - return nil -} - -type OrderStatesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // List of the spot order state records - SpotOrderStates []*OrderStateRecord `protobuf:"bytes,1,rep,name=spot_order_states,json=spotOrderStates,proto3" json:"spot_order_states,omitempty"` - // List of the derivative order state records - DerivativeOrderStates []*OrderStateRecord `protobuf:"bytes,2,rep,name=derivative_order_states,json=derivativeOrderStates,proto3" json:"derivative_order_states,omitempty"` -} - -func (x *OrderStatesResponse) Reset() { - *x = OrderStatesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrderStatesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrderStatesResponse) ProtoMessage() {} - -func (x *OrderStatesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrderStatesResponse.ProtoReflect.Descriptor instead. -func (*OrderStatesResponse) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{5} -} - -func (x *OrderStatesResponse) GetSpotOrderStates() []*OrderStateRecord { - if x != nil { - return x.SpotOrderStates - } - return nil -} - -func (x *OrderStatesResponse) GetDerivativeOrderStates() []*OrderStateRecord { - if x != nil { - return x.DerivativeOrderStates - } - return nil -} - -type OrderStateRecord struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Hash of the order - OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` - // The subaccountId that this order belongs to - SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // The Market ID of the order - MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - // The type of the order - OrderType string `protobuf:"bytes,4,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` - // The side of the order - OrderSide string `protobuf:"bytes,5,opt,name=order_side,json=orderSide,proto3" json:"order_side,omitempty"` - // The state (status) of the order - State string `protobuf:"bytes,6,opt,name=state,proto3" json:"state,omitempty"` - // The filled quantity of the order - QuantityFilled string `protobuf:"bytes,7,opt,name=quantity_filled,json=quantityFilled,proto3" json:"quantity_filled,omitempty"` - // The filled quantity of the order - QuantityRemaining string `protobuf:"bytes,8,opt,name=quantity_remaining,json=quantityRemaining,proto3" json:"quantity_remaining,omitempty"` - // Order committed timestamp in UNIX millis. - CreatedAt int64 `protobuf:"zigzag64,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - // Order updated timestamp in UNIX millis. - UpdatedAt int64 `protobuf:"zigzag64,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - // Order prices - Price string `protobuf:"bytes,11,opt,name=price,proto3" json:"price,omitempty"` - // Margin for derivative order - Margin string `protobuf:"bytes,12,opt,name=margin,proto3" json:"margin,omitempty"` -} - -func (x *OrderStateRecord) Reset() { - *x = OrderStateRecord{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrderStateRecord) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrderStateRecord) ProtoMessage() {} - -func (x *OrderStateRecord) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrderStateRecord.ProtoReflect.Descriptor instead. -func (*OrderStateRecord) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{6} -} - -func (x *OrderStateRecord) GetOrderHash() string { - if x != nil { - return x.OrderHash - } - return "" -} - -func (x *OrderStateRecord) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *OrderStateRecord) GetMarketId() string { - if x != nil { - return x.MarketId - } - return "" -} - -func (x *OrderStateRecord) GetOrderType() string { - if x != nil { - return x.OrderType - } - return "" -} - -func (x *OrderStateRecord) GetOrderSide() string { - if x != nil { - return x.OrderSide - } - return "" -} - -func (x *OrderStateRecord) GetState() string { - if x != nil { - return x.State - } - return "" -} - -func (x *OrderStateRecord) GetQuantityFilled() string { - if x != nil { - return x.QuantityFilled - } - return "" -} - -func (x *OrderStateRecord) GetQuantityRemaining() string { - if x != nil { - return x.QuantityRemaining - } - return "" -} - -func (x *OrderStateRecord) GetCreatedAt() int64 { - if x != nil { - return x.CreatedAt - } - return 0 -} - -func (x *OrderStateRecord) GetUpdatedAt() int64 { - if x != nil { - return x.UpdatedAt - } - return 0 -} - -func (x *OrderStateRecord) GetPrice() string { - if x != nil { - return x.Price - } - return "" -} - -func (x *OrderStateRecord) GetMargin() string { - if x != nil { - return x.Margin - } - return "" -} - -type SubaccountsListRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Account address, the subaccounts owner - AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` -} - -func (x *SubaccountsListRequest) Reset() { - *x = SubaccountsListRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountsListRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountsListRequest) ProtoMessage() {} - -func (x *SubaccountsListRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountsListRequest.ProtoReflect.Descriptor instead. -func (*SubaccountsListRequest) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{7} -} - -func (x *SubaccountsListRequest) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -type SubaccountsListResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Subaccounts []string `protobuf:"bytes,1,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` -} - -func (x *SubaccountsListResponse) Reset() { - *x = SubaccountsListResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountsListResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountsListResponse) ProtoMessage() {} - -func (x *SubaccountsListResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountsListResponse.ProtoReflect.Descriptor instead. -func (*SubaccountsListResponse) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{8} -} - -func (x *SubaccountsListResponse) GetSubaccounts() []string { - if x != nil { - return x.Subaccounts - } - return nil -} - -type SubaccountBalancesListRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // SubaccountId of the trader we want to get the trades from - SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // Filter balances by denoms. If not set, the balances of all the denoms for - // the subaccount are provided. - Denoms []string `protobuf:"bytes,2,rep,name=denoms,proto3" json:"denoms,omitempty"` -} - -func (x *SubaccountBalancesListRequest) Reset() { - *x = SubaccountBalancesListRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountBalancesListRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountBalancesListRequest) ProtoMessage() {} - -func (x *SubaccountBalancesListRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountBalancesListRequest.ProtoReflect.Descriptor instead. -func (*SubaccountBalancesListRequest) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{9} -} - -func (x *SubaccountBalancesListRequest) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *SubaccountBalancesListRequest) GetDenoms() []string { - if x != nil { - return x.Denoms - } - return nil -} - -type SubaccountBalancesListResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // List of subaccount balances - Balances []*SubaccountBalance `protobuf:"bytes,1,rep,name=balances,proto3" json:"balances,omitempty"` -} - -func (x *SubaccountBalancesListResponse) Reset() { - *x = SubaccountBalancesListResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountBalancesListResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountBalancesListResponse) ProtoMessage() {} - -func (x *SubaccountBalancesListResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountBalancesListResponse.ProtoReflect.Descriptor instead. -func (*SubaccountBalancesListResponse) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{10} -} - -func (x *SubaccountBalancesListResponse) GetBalances() []*SubaccountBalance { - if x != nil { - return x.Balances - } - return nil -} - -type SubaccountBalance struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Related subaccount ID - SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // Account address, owner of this subaccount - AccountAddress string `protobuf:"bytes,2,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` - // Coin denom on the chain. - Denom string `protobuf:"bytes,3,opt,name=denom,proto3" json:"denom,omitempty"` - Deposit *SubaccountDeposit `protobuf:"bytes,4,opt,name=deposit,proto3" json:"deposit,omitempty"` -} - -func (x *SubaccountBalance) Reset() { - *x = SubaccountBalance{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountBalance) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountBalance) ProtoMessage() {} - -func (x *SubaccountBalance) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountBalance.ProtoReflect.Descriptor instead. -func (*SubaccountBalance) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{11} -} - -func (x *SubaccountBalance) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *SubaccountBalance) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -func (x *SubaccountBalance) GetDenom() string { - if x != nil { - return x.Denom - } - return "" -} - -func (x *SubaccountBalance) GetDeposit() *SubaccountDeposit { - if x != nil { - return x.Deposit - } - return nil -} - -type SubaccountDeposit struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TotalBalance string `protobuf:"bytes,1,opt,name=total_balance,json=totalBalance,proto3" json:"total_balance,omitempty"` - AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` -} - -func (x *SubaccountDeposit) Reset() { - *x = SubaccountDeposit{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountDeposit) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountDeposit) ProtoMessage() {} - -func (x *SubaccountDeposit) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountDeposit.ProtoReflect.Descriptor instead. -func (*SubaccountDeposit) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{12} -} - -func (x *SubaccountDeposit) GetTotalBalance() string { - if x != nil { - return x.TotalBalance - } - return "" -} - -func (x *SubaccountDeposit) GetAvailableBalance() string { - if x != nil { - return x.AvailableBalance - } - return "" -} - -type SubaccountBalanceEndpointRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // SubaccountId of the trader we want to get the trades from - SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // Specify denom to get balance - Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` -} - -func (x *SubaccountBalanceEndpointRequest) Reset() { - *x = SubaccountBalanceEndpointRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountBalanceEndpointRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountBalanceEndpointRequest) ProtoMessage() {} - -func (x *SubaccountBalanceEndpointRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountBalanceEndpointRequest.ProtoReflect.Descriptor instead. -func (*SubaccountBalanceEndpointRequest) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{13} -} - -func (x *SubaccountBalanceEndpointRequest) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *SubaccountBalanceEndpointRequest) GetDenom() string { - if x != nil { - return x.Denom - } - return "" -} - -type SubaccountBalanceEndpointResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Subaccount balance - Balance *SubaccountBalance `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"` -} - -func (x *SubaccountBalanceEndpointResponse) Reset() { - *x = SubaccountBalanceEndpointResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountBalanceEndpointResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountBalanceEndpointResponse) ProtoMessage() {} - -func (x *SubaccountBalanceEndpointResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountBalanceEndpointResponse.ProtoReflect.Descriptor instead. -func (*SubaccountBalanceEndpointResponse) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{14} -} - -func (x *SubaccountBalanceEndpointResponse) GetBalance() *SubaccountBalance { - if x != nil { - return x.Balance - } - return nil -} - -type StreamSubaccountBalanceRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // SubaccountId of the trader we want to get the trades from - SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // Filter balances by denoms. If not set, the balances of all the denoms for - // the subaccount are provided. - Denoms []string `protobuf:"bytes,2,rep,name=denoms,proto3" json:"denoms,omitempty"` -} - -func (x *StreamSubaccountBalanceRequest) Reset() { - *x = StreamSubaccountBalanceRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamSubaccountBalanceRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamSubaccountBalanceRequest) ProtoMessage() {} - -func (x *StreamSubaccountBalanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamSubaccountBalanceRequest.ProtoReflect.Descriptor instead. -func (*StreamSubaccountBalanceRequest) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{15} -} - -func (x *StreamSubaccountBalanceRequest) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *StreamSubaccountBalanceRequest) GetDenoms() []string { - if x != nil { - return x.Denoms - } - return nil -} - -type StreamSubaccountBalanceResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Subaccount balance - Balance *SubaccountBalance `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"` - // Operation timestamp in UNIX millis. - Timestamp int64 `protobuf:"zigzag64,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` -} - -func (x *StreamSubaccountBalanceResponse) Reset() { - *x = StreamSubaccountBalanceResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamSubaccountBalanceResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamSubaccountBalanceResponse) ProtoMessage() {} - -func (x *StreamSubaccountBalanceResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamSubaccountBalanceResponse.ProtoReflect.Descriptor instead. -func (*StreamSubaccountBalanceResponse) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{16} -} - -func (x *StreamSubaccountBalanceResponse) GetBalance() *SubaccountBalance { - if x != nil { - return x.Balance - } - return nil -} - -func (x *StreamSubaccountBalanceResponse) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -type SubaccountHistoryRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // SubaccountId of the trader we want to get the history from - SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // Filter history by denom - Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` - // Filter history by transfer type - TransferTypes []string `protobuf:"bytes,3,rep,name=transfer_types,json=transferTypes,proto3" json:"transfer_types,omitempty"` - // Skip will skip the first n item from the result - Skip uint64 `protobuf:"varint,4,opt,name=skip,proto3" json:"skip,omitempty"` - // Limit is used to specify the maximum number of items to be returned - Limit int32 `protobuf:"zigzag32,5,opt,name=limit,proto3" json:"limit,omitempty"` - // Upper bound of account transfer history's executedAt - EndTime int64 `protobuf:"zigzag64,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` -} - -func (x *SubaccountHistoryRequest) Reset() { - *x = SubaccountHistoryRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountHistoryRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountHistoryRequest) ProtoMessage() {} - -func (x *SubaccountHistoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountHistoryRequest.ProtoReflect.Descriptor instead. -func (*SubaccountHistoryRequest) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{17} -} - -func (x *SubaccountHistoryRequest) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *SubaccountHistoryRequest) GetDenom() string { - if x != nil { - return x.Denom - } - return "" -} - -func (x *SubaccountHistoryRequest) GetTransferTypes() []string { - if x != nil { - return x.TransferTypes - } - return nil -} - -func (x *SubaccountHistoryRequest) GetSkip() uint64 { - if x != nil { - return x.Skip - } - return 0 -} - -func (x *SubaccountHistoryRequest) GetLimit() int32 { - if x != nil { - return x.Limit - } - return 0 -} - -func (x *SubaccountHistoryRequest) GetEndTime() int64 { - if x != nil { - return x.EndTime - } - return 0 -} - -type SubaccountHistoryResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // List of subaccount transfers - Transfers []*SubaccountBalanceTransfer `protobuf:"bytes,1,rep,name=transfers,proto3" json:"transfers,omitempty"` - Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` -} - -func (x *SubaccountHistoryResponse) Reset() { - *x = SubaccountHistoryResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountHistoryResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountHistoryResponse) ProtoMessage() {} - -func (x *SubaccountHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountHistoryResponse.ProtoReflect.Descriptor instead. -func (*SubaccountHistoryResponse) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{18} -} - -func (x *SubaccountHistoryResponse) GetTransfers() []*SubaccountBalanceTransfer { - if x != nil { - return x.Transfers - } - return nil -} - -func (x *SubaccountHistoryResponse) GetPaging() *Paging { - if x != nil { - return x.Paging - } - return nil -} - -type SubaccountBalanceTransfer struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Type of the subaccount balance transfer - TransferType string `protobuf:"bytes,1,opt,name=transfer_type,json=transferType,proto3" json:"transfer_type,omitempty"` - // Subaccount ID of the sending side - SrcSubaccountId string `protobuf:"bytes,2,opt,name=src_subaccount_id,json=srcSubaccountId,proto3" json:"src_subaccount_id,omitempty"` - // Account address of the sending side - SrcAccountAddress string `protobuf:"bytes,3,opt,name=src_account_address,json=srcAccountAddress,proto3" json:"src_account_address,omitempty"` - // Subaccount ID of the receiving side - DstSubaccountId string `protobuf:"bytes,4,opt,name=dst_subaccount_id,json=dstSubaccountId,proto3" json:"dst_subaccount_id,omitempty"` - // Account address of the receiving side - DstAccountAddress string `protobuf:"bytes,5,opt,name=dst_account_address,json=dstAccountAddress,proto3" json:"dst_account_address,omitempty"` - // Coin amount of the transfer - Amount *CosmosCoin `protobuf:"bytes,6,opt,name=amount,proto3" json:"amount,omitempty"` - // Timestamp of the transfer in UNIX millis - ExecutedAt int64 `protobuf:"zigzag64,7,opt,name=executed_at,json=executedAt,proto3" json:"executed_at,omitempty"` -} - -func (x *SubaccountBalanceTransfer) Reset() { - *x = SubaccountBalanceTransfer{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountBalanceTransfer) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountBalanceTransfer) ProtoMessage() {} - -func (x *SubaccountBalanceTransfer) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountBalanceTransfer.ProtoReflect.Descriptor instead. -func (*SubaccountBalanceTransfer) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{19} -} - -func (x *SubaccountBalanceTransfer) GetTransferType() string { - if x != nil { - return x.TransferType - } - return "" -} - -func (x *SubaccountBalanceTransfer) GetSrcSubaccountId() string { - if x != nil { - return x.SrcSubaccountId - } - return "" -} - -func (x *SubaccountBalanceTransfer) GetSrcAccountAddress() string { - if x != nil { - return x.SrcAccountAddress - } - return "" -} - -func (x *SubaccountBalanceTransfer) GetDstSubaccountId() string { - if x != nil { - return x.DstSubaccountId - } - return "" -} - -func (x *SubaccountBalanceTransfer) GetDstAccountAddress() string { - if x != nil { - return x.DstAccountAddress - } - return "" -} - -func (x *SubaccountBalanceTransfer) GetAmount() *CosmosCoin { - if x != nil { - return x.Amount - } - return nil -} - -func (x *SubaccountBalanceTransfer) GetExecutedAt() int64 { - if x != nil { - return x.ExecutedAt - } - return 0 -} - -type CosmosCoin struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Coin denominator - Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` - // Coin amount (big int) - Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` -} - -func (x *CosmosCoin) Reset() { - *x = CosmosCoin{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CosmosCoin) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CosmosCoin) ProtoMessage() {} - -func (x *CosmosCoin) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CosmosCoin.ProtoReflect.Descriptor instead. -func (*CosmosCoin) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{20} -} - -func (x *CosmosCoin) GetDenom() string { - if x != nil { - return x.Denom - } - return "" -} - -func (x *CosmosCoin) GetAmount() string { - if x != nil { - return x.Amount - } - return "" -} - -// Paging defines the structure for required params for handling pagination -type Paging struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // total number of txs saved in database - Total int64 `protobuf:"zigzag64,1,opt,name=total,proto3" json:"total,omitempty"` - // can be either block height or index num - From int32 `protobuf:"zigzag32,2,opt,name=from,proto3" json:"from,omitempty"` - // can be either block height or index num - To int32 `protobuf:"zigzag32,3,opt,name=to,proto3" json:"to,omitempty"` - // count entries by subaccount, serving some places on helix - CountBySubaccount int64 `protobuf:"zigzag64,4,opt,name=count_by_subaccount,json=countBySubaccount,proto3" json:"count_by_subaccount,omitempty"` - // array of tokens to navigate to the next pages - Next []string `protobuf:"bytes,5,rep,name=next,proto3" json:"next,omitempty"` -} - -func (x *Paging) Reset() { - *x = Paging{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Paging) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Paging) ProtoMessage() {} - -func (x *Paging) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Paging.ProtoReflect.Descriptor instead. -func (*Paging) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{21} -} - -func (x *Paging) GetTotal() int64 { - if x != nil { - return x.Total - } - return 0 -} - -func (x *Paging) GetFrom() int32 { - if x != nil { - return x.From - } - return 0 -} - -func (x *Paging) GetTo() int32 { - if x != nil { - return x.To - } - return 0 -} - -func (x *Paging) GetCountBySubaccount() int64 { - if x != nil { - return x.CountBySubaccount - } - return 0 -} - -func (x *Paging) GetNext() []string { - if x != nil { - return x.Next - } - return nil -} - -type SubaccountOrderSummaryRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // SubaccountId of the trader we want to get the summary from - SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // MarketId is limiting order summary to specific market only - MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - // Filter by direction of the orders - OrderDirection string `protobuf:"bytes,3,opt,name=order_direction,json=orderDirection,proto3" json:"order_direction,omitempty"` -} - -func (x *SubaccountOrderSummaryRequest) Reset() { - *x = SubaccountOrderSummaryRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountOrderSummaryRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountOrderSummaryRequest) ProtoMessage() {} - -func (x *SubaccountOrderSummaryRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountOrderSummaryRequest.ProtoReflect.Descriptor instead. -func (*SubaccountOrderSummaryRequest) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{22} -} - -func (x *SubaccountOrderSummaryRequest) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *SubaccountOrderSummaryRequest) GetMarketId() string { - if x != nil { - return x.MarketId - } - return "" -} - -func (x *SubaccountOrderSummaryRequest) GetOrderDirection() string { - if x != nil { - return x.OrderDirection - } - return "" -} - -type SubaccountOrderSummaryResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Total count of subaccount's spot orders in given market and direction - SpotOrdersTotal int64 `protobuf:"zigzag64,1,opt,name=spot_orders_total,json=spotOrdersTotal,proto3" json:"spot_orders_total,omitempty"` - // Total count of subaccount's derivative orders in given market and direction - DerivativeOrdersTotal int64 `protobuf:"zigzag64,2,opt,name=derivative_orders_total,json=derivativeOrdersTotal,proto3" json:"derivative_orders_total,omitempty"` -} - -func (x *SubaccountOrderSummaryResponse) Reset() { - *x = SubaccountOrderSummaryResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountOrderSummaryResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountOrderSummaryResponse) ProtoMessage() {} - -func (x *SubaccountOrderSummaryResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountOrderSummaryResponse.ProtoReflect.Descriptor instead. -func (*SubaccountOrderSummaryResponse) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{23} -} - -func (x *SubaccountOrderSummaryResponse) GetSpotOrdersTotal() int64 { - if x != nil { - return x.SpotOrdersTotal - } - return 0 -} - -func (x *SubaccountOrderSummaryResponse) GetDerivativeOrdersTotal() int64 { - if x != nil { - return x.DerivativeOrdersTotal - } - return 0 -} - -type RewardsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The distribution epoch sequence number. -1 for latest. - Epoch int64 `protobuf:"zigzag64,1,opt,name=epoch,proto3" json:"epoch,omitempty"` - // Account address for the rewards distribution - AccountAddress string `protobuf:"bytes,2,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` -} - -func (x *RewardsRequest) Reset() { - *x = RewardsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RewardsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RewardsRequest) ProtoMessage() {} - -func (x *RewardsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RewardsRequest.ProtoReflect.Descriptor instead. -func (*RewardsRequest) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{24} -} - -func (x *RewardsRequest) GetEpoch() int64 { - if x != nil { - return x.Epoch - } - return 0 -} - -func (x *RewardsRequest) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -type RewardsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The trading rewards distributed - Rewards []*Reward `protobuf:"bytes,1,rep,name=rewards,proto3" json:"rewards,omitempty"` -} - -func (x *RewardsResponse) Reset() { - *x = RewardsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RewardsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RewardsResponse) ProtoMessage() {} - -func (x *RewardsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RewardsResponse.ProtoReflect.Descriptor instead. -func (*RewardsResponse) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{25} -} - -func (x *RewardsResponse) GetRewards() []*Reward { - if x != nil { - return x.Rewards - } - return nil -} - -type Reward struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Account address - AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` - // Reward coins distributed - Rewards []*Coin `protobuf:"bytes,2,rep,name=rewards,proto3" json:"rewards,omitempty"` - // Rewards distribution timestamp in UNIX millis. - DistributedAt int64 `protobuf:"zigzag64,3,opt,name=distributed_at,json=distributedAt,proto3" json:"distributed_at,omitempty"` -} - -func (x *Reward) Reset() { - *x = Reward{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Reward) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Reward) ProtoMessage() {} - -func (x *Reward) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Reward.ProtoReflect.Descriptor instead. -func (*Reward) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{26} -} - -func (x *Reward) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -func (x *Reward) GetRewards() []*Coin { - if x != nil { - return x.Rewards - } - return nil -} - -func (x *Reward) GetDistributedAt() int64 { - if x != nil { - return x.DistributedAt - } - return 0 -} - -type Coin struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Denom of the coin - Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` - Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` -} - -func (x *Coin) Reset() { - *x = Coin{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_accounts_rpc_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Coin) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Coin) ProtoMessage() {} - -func (x *Coin) ProtoReflect() protoreflect.Message { - mi := &file_injective_accounts_rpc_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Coin.ProtoReflect.Descriptor instead. -func (*Coin) Descriptor() ([]byte, []int) { - return file_injective_accounts_rpc_proto_rawDescGZIP(), []int{27} -} - -func (x *Coin) GetDenom() string { - if x != nil { - return x.Denom - } - return "" -} - -func (x *Coin) GetAmount() string { - if x != nil { - return x.Amount - } - return "" -} - -var File_injective_accounts_rpc_proto protoreflect.FileDescriptor - -var file_injective_accounts_rpc_proto_rawDesc = []byte{ - 0x0a, 0x1c, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x3b, 0x0a, 0x10, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, - 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x22, 0x5b, 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, - 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, - 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, - 0x22, 0x85, 0x02, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, - 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, - 0x69, 0x6f, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2b, - 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, - 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, - 0x5f, 0x70, 0x6e, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x75, 0x6e, 0x72, 0x65, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x6e, 0x6c, 0x12, 0x4d, 0x0a, 0x0b, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x0b, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0xb5, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, - 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x6b, - 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, 0x72, - 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x70, 0x6e, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x6e, 0x6c, - 0x22, 0x78, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0f, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, - 0x65, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x15, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x22, 0xcd, 0x01, 0x0a, 0x13, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0f, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x17, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x52, 0x15, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x22, 0x8b, 0x03, 0x0a, 0x10, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, - 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, - 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, - 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x5f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x71, - 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x2d, 0x0a, - 0x12, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, - 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x71, 0x75, 0x61, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, - 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, 0x0a, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x22, 0x41, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3b, 0x0a, 0x17, 0x53, - 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x5c, 0x0a, 0x1d, 0x53, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, - 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x22, 0x67, 0x0a, 0x1e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x62, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, - 0xbc, 0x01, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, - 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x43, 0x0a, 0x07, 0x64, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x07, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x22, 0x65, - 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x5d, 0x0a, 0x20, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x68, 0x0a, 0x21, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x5d, - 0x0a, 0x1e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x22, 0x84, 0x01, - 0x0a, 0x1f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x43, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc1, 0x01, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x25, 0x0a, 0x0e, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, - 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x19, 0x53, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x09, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, - 0xd5, 0x02, 0x0a, 0x19, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x23, 0x0a, - 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, - 0x72, 0x63, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, - 0x0a, 0x13, 0x73, 0x72, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x72, 0x63, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, - 0x0a, 0x11, 0x64, 0x73, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x73, 0x74, 0x53, 0x75, - 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x73, - 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 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, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x22, 0x8a, 0x01, 0x0a, - 0x1d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, - 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, - 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x1e, 0x53, 0x75, - 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x6d, - 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x11, - 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0f, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x15, 0x64, 0x65, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, - 0x22, 0x4f, 0x0a, 0x0e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x22, 0x90, - 0x01, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, - 0x6e, 0x52, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x69, - 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x22, 0x34, 0x0a, 0x04, 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, 0x32, 0xe0, 0x08, 0x0a, 0x14, 0x49, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x50, 0x43, - 0x12, 0x60, 0x0a, 0x09, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x12, 0x28, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x73, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0f, 0x53, 0x75, - 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, - 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x53, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x17, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, - 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x78, 0x0a, 0x11, 0x53, 0x75, - 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, - 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, - 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, - 0x0a, 0x07, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x1b, 0x5a, 0x19, 0x2f, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_injective_accounts_rpc_proto_rawDescOnce sync.Once - file_injective_accounts_rpc_proto_rawDescData = file_injective_accounts_rpc_proto_rawDesc -) - -func file_injective_accounts_rpc_proto_rawDescGZIP() []byte { - file_injective_accounts_rpc_proto_rawDescOnce.Do(func() { - file_injective_accounts_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_accounts_rpc_proto_rawDescData) - }) - return file_injective_accounts_rpc_proto_rawDescData -} - -var file_injective_accounts_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 28) -var file_injective_accounts_rpc_proto_goTypes = []interface{}{ - (*PortfolioRequest)(nil), // 0: injective_accounts_rpc.PortfolioRequest - (*PortfolioResponse)(nil), // 1: injective_accounts_rpc.PortfolioResponse - (*AccountPortfolio)(nil), // 2: injective_accounts_rpc.AccountPortfolio - (*SubaccountPortfolio)(nil), // 3: injective_accounts_rpc.SubaccountPortfolio - (*OrderStatesRequest)(nil), // 4: injective_accounts_rpc.OrderStatesRequest - (*OrderStatesResponse)(nil), // 5: injective_accounts_rpc.OrderStatesResponse - (*OrderStateRecord)(nil), // 6: injective_accounts_rpc.OrderStateRecord - (*SubaccountsListRequest)(nil), // 7: injective_accounts_rpc.SubaccountsListRequest - (*SubaccountsListResponse)(nil), // 8: injective_accounts_rpc.SubaccountsListResponse - (*SubaccountBalancesListRequest)(nil), // 9: injective_accounts_rpc.SubaccountBalancesListRequest - (*SubaccountBalancesListResponse)(nil), // 10: injective_accounts_rpc.SubaccountBalancesListResponse - (*SubaccountBalance)(nil), // 11: injective_accounts_rpc.SubaccountBalance - (*SubaccountDeposit)(nil), // 12: injective_accounts_rpc.SubaccountDeposit - (*SubaccountBalanceEndpointRequest)(nil), // 13: injective_accounts_rpc.SubaccountBalanceEndpointRequest - (*SubaccountBalanceEndpointResponse)(nil), // 14: injective_accounts_rpc.SubaccountBalanceEndpointResponse - (*StreamSubaccountBalanceRequest)(nil), // 15: injective_accounts_rpc.StreamSubaccountBalanceRequest - (*StreamSubaccountBalanceResponse)(nil), // 16: injective_accounts_rpc.StreamSubaccountBalanceResponse - (*SubaccountHistoryRequest)(nil), // 17: injective_accounts_rpc.SubaccountHistoryRequest - (*SubaccountHistoryResponse)(nil), // 18: injective_accounts_rpc.SubaccountHistoryResponse - (*SubaccountBalanceTransfer)(nil), // 19: injective_accounts_rpc.SubaccountBalanceTransfer - (*CosmosCoin)(nil), // 20: injective_accounts_rpc.CosmosCoin - (*Paging)(nil), // 21: injective_accounts_rpc.Paging - (*SubaccountOrderSummaryRequest)(nil), // 22: injective_accounts_rpc.SubaccountOrderSummaryRequest - (*SubaccountOrderSummaryResponse)(nil), // 23: injective_accounts_rpc.SubaccountOrderSummaryResponse - (*RewardsRequest)(nil), // 24: injective_accounts_rpc.RewardsRequest - (*RewardsResponse)(nil), // 25: injective_accounts_rpc.RewardsResponse - (*Reward)(nil), // 26: injective_accounts_rpc.Reward - (*Coin)(nil), // 27: injective_accounts_rpc.Coin -} -var file_injective_accounts_rpc_proto_depIdxs = []int32{ - 2, // 0: injective_accounts_rpc.PortfolioResponse.portfolio:type_name -> injective_accounts_rpc.AccountPortfolio - 3, // 1: injective_accounts_rpc.AccountPortfolio.subaccounts:type_name -> injective_accounts_rpc.SubaccountPortfolio - 6, // 2: injective_accounts_rpc.OrderStatesResponse.spot_order_states:type_name -> injective_accounts_rpc.OrderStateRecord - 6, // 3: injective_accounts_rpc.OrderStatesResponse.derivative_order_states:type_name -> injective_accounts_rpc.OrderStateRecord - 11, // 4: injective_accounts_rpc.SubaccountBalancesListResponse.balances:type_name -> injective_accounts_rpc.SubaccountBalance - 12, // 5: injective_accounts_rpc.SubaccountBalance.deposit:type_name -> injective_accounts_rpc.SubaccountDeposit - 11, // 6: injective_accounts_rpc.SubaccountBalanceEndpointResponse.balance:type_name -> injective_accounts_rpc.SubaccountBalance - 11, // 7: injective_accounts_rpc.StreamSubaccountBalanceResponse.balance:type_name -> injective_accounts_rpc.SubaccountBalance - 19, // 8: injective_accounts_rpc.SubaccountHistoryResponse.transfers:type_name -> injective_accounts_rpc.SubaccountBalanceTransfer - 21, // 9: injective_accounts_rpc.SubaccountHistoryResponse.paging:type_name -> injective_accounts_rpc.Paging - 20, // 10: injective_accounts_rpc.SubaccountBalanceTransfer.amount:type_name -> injective_accounts_rpc.CosmosCoin - 26, // 11: injective_accounts_rpc.RewardsResponse.rewards:type_name -> injective_accounts_rpc.Reward - 27, // 12: injective_accounts_rpc.Reward.rewards:type_name -> injective_accounts_rpc.Coin - 0, // 13: injective_accounts_rpc.InjectiveAccountsRPC.Portfolio:input_type -> injective_accounts_rpc.PortfolioRequest - 4, // 14: injective_accounts_rpc.InjectiveAccountsRPC.OrderStates:input_type -> injective_accounts_rpc.OrderStatesRequest - 7, // 15: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountsList:input_type -> injective_accounts_rpc.SubaccountsListRequest - 9, // 16: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalancesList:input_type -> injective_accounts_rpc.SubaccountBalancesListRequest - 13, // 17: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalanceEndpoint:input_type -> injective_accounts_rpc.SubaccountBalanceEndpointRequest - 15, // 18: injective_accounts_rpc.InjectiveAccountsRPC.StreamSubaccountBalance:input_type -> injective_accounts_rpc.StreamSubaccountBalanceRequest - 17, // 19: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountHistory:input_type -> injective_accounts_rpc.SubaccountHistoryRequest - 22, // 20: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountOrderSummary:input_type -> injective_accounts_rpc.SubaccountOrderSummaryRequest - 24, // 21: injective_accounts_rpc.InjectiveAccountsRPC.Rewards:input_type -> injective_accounts_rpc.RewardsRequest - 1, // 22: injective_accounts_rpc.InjectiveAccountsRPC.Portfolio:output_type -> injective_accounts_rpc.PortfolioResponse - 5, // 23: injective_accounts_rpc.InjectiveAccountsRPC.OrderStates:output_type -> injective_accounts_rpc.OrderStatesResponse - 8, // 24: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountsList:output_type -> injective_accounts_rpc.SubaccountsListResponse - 10, // 25: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalancesList:output_type -> injective_accounts_rpc.SubaccountBalancesListResponse - 14, // 26: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalanceEndpoint:output_type -> injective_accounts_rpc.SubaccountBalanceEndpointResponse - 16, // 27: injective_accounts_rpc.InjectiveAccountsRPC.StreamSubaccountBalance:output_type -> injective_accounts_rpc.StreamSubaccountBalanceResponse - 18, // 28: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountHistory:output_type -> injective_accounts_rpc.SubaccountHistoryResponse - 23, // 29: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountOrderSummary:output_type -> injective_accounts_rpc.SubaccountOrderSummaryResponse - 25, // 30: injective_accounts_rpc.InjectiveAccountsRPC.Rewards:output_type -> injective_accounts_rpc.RewardsResponse - 22, // [22:31] is the sub-list for method output_type - 13, // [13:22] is the sub-list for method input_type - 13, // [13:13] is the sub-list for extension type_name - 13, // [13:13] is the sub-list for extension extendee - 0, // [0:13] is the sub-list for field type_name -} - -func init() { file_injective_accounts_rpc_proto_init() } -func file_injective_accounts_rpc_proto_init() { - if File_injective_accounts_rpc_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_injective_accounts_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PortfolioRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PortfolioResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccountPortfolio); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountPortfolio); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrderStatesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrderStatesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrderStateRecord); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountsListRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountsListResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountBalancesListRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountBalancesListResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountBalance); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountDeposit); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountBalanceEndpointRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountBalanceEndpointResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamSubaccountBalanceRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamSubaccountBalanceResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountHistoryRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountHistoryResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountBalanceTransfer); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CosmosCoin); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Paging); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountOrderSummaryRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountOrderSummaryResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RewardsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RewardsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Reward); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_accounts_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Coin); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_accounts_rpc_proto_rawDesc, - NumEnums: 0, - NumMessages: 28, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_injective_accounts_rpc_proto_goTypes, - DependencyIndexes: file_injective_accounts_rpc_proto_depIdxs, - MessageInfos: file_injective_accounts_rpc_proto_msgTypes, - }.Build() - File_injective_accounts_rpc_proto = out.File - file_injective_accounts_rpc_proto_rawDesc = nil - file_injective_accounts_rpc_proto_goTypes = nil - file_injective_accounts_rpc_proto_depIdxs = nil -} diff --git a/exchange/accounts_rpc/pb/injective_accounts_rpc.pb.gw.go b/exchange/accounts_rpc/pb/injective_accounts_rpc.pb.gw.go index 9f07d8f7..4ceab949 100644 --- a/exchange/accounts_rpc/pb/injective_accounts_rpc.pb.gw.go +++ b/exchange/accounts_rpc/pb/injective_accounts_rpc.pb.gw.go @@ -328,6 +328,31 @@ func local_request_InjectiveAccountsRPC_Rewards_0(ctx context.Context, marshaler } +func request_InjectiveAccountsRPC_StreamAccountData_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (InjectiveAccountsRPC_StreamAccountDataClient, runtime.ServerMetadata, error) { + var protoReq StreamAccountDataRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + stream, err := client.StreamAccountData(ctx, &protoReq) + if err != nil { + return nil, metadata, err + } + header, err := stream.Header() + if err != nil { + return nil, metadata, err + } + metadata.HeaderMD = header + return stream, metadata, nil + +} + // RegisterInjectiveAccountsRPCHandlerServer registers the http handlers for service InjectiveAccountsRPC to "mux". // UnaryRPC :call InjectiveAccountsRPCServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -340,20 +365,22 @@ func RegisterInjectiveAccountsRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAccountsRPC_Portfolio_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAccountsRPC_Portfolio_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_Portfolio_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_Portfolio_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -363,20 +390,22 @@ func RegisterInjectiveAccountsRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAccountsRPC_OrderStates_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAccountsRPC_OrderStates_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_OrderStates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_OrderStates_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -386,20 +415,22 @@ func RegisterInjectiveAccountsRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAccountsRPC_SubaccountsList_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountsList_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountsList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountsList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -409,20 +440,22 @@ func RegisterInjectiveAccountsRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAccountsRPC_SubaccountBalancesList_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountBalancesList_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountBalancesList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountBalancesList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -432,20 +465,22 @@ func RegisterInjectiveAccountsRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -462,20 +497,22 @@ func RegisterInjectiveAccountsRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAccountsRPC_SubaccountHistory_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountHistory_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountHistory_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -485,20 +522,22 @@ func RegisterInjectiveAccountsRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAccountsRPC_SubaccountOrderSummary_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountOrderSummary_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountOrderSummary_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountOrderSummary_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -508,23 +547,32 @@ func RegisterInjectiveAccountsRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Rewards", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Rewards")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Rewards", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Rewards")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAccountsRPC_Rewards_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAccountsRPC_Rewards_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_Rewards_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_Rewards_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) + mux.Handle("POST", pattern_InjectiveAccountsRPC_StreamAccountData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") + _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + }) + return nil } @@ -570,19 +618,21 @@ func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAccountsRPC_Portfolio_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAccountsRPC_Portfolio_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_Portfolio_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_Portfolio_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -590,19 +640,21 @@ func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAccountsRPC_OrderStates_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAccountsRPC_OrderStates_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_OrderStates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_OrderStates_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -610,19 +662,21 @@ func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAccountsRPC_SubaccountsList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAccountsRPC_SubaccountsList_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountsList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountsList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -630,19 +684,21 @@ func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAccountsRPC_SubaccountBalancesList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAccountsRPC_SubaccountBalancesList_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountBalancesList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountBalancesList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -650,19 +706,21 @@ func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -670,19 +728,21 @@ func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/StreamSubaccountBalance", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/StreamSubaccountBalance")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/StreamSubaccountBalance", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/StreamSubaccountBalance")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAccountsRPC_StreamSubaccountBalance_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAccountsRPC_StreamSubaccountBalance_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_StreamSubaccountBalance_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_StreamSubaccountBalance_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -690,19 +750,21 @@ func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAccountsRPC_SubaccountHistory_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAccountsRPC_SubaccountHistory_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountHistory_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -710,19 +772,21 @@ func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAccountsRPC_SubaccountOrderSummary_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAccountsRPC_SubaccountOrderSummary_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAccountsRPC_SubaccountOrderSummary_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_SubaccountOrderSummary_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -730,19 +794,43 @@ func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Rewards", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Rewards")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Rewards", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Rewards")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAccountsRPC_Rewards_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAccountsRPC_Rewards_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_Rewards_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_StreamAccountData_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/StreamAccountData", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/StreamAccountData")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } + resp, md, err := request_InjectiveAccountsRPC_StreamAccountData_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } - forward_InjectiveAccountsRPC_Rewards_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAccountsRPC_StreamAccountData_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -767,6 +855,8 @@ var ( pattern_InjectiveAccountsRPC_SubaccountOrderSummary_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "SubaccountOrderSummary"}, "")) pattern_InjectiveAccountsRPC_Rewards_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "Rewards"}, "")) + + pattern_InjectiveAccountsRPC_StreamAccountData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "StreamAccountData"}, "")) ) var ( @@ -787,4 +877,6 @@ var ( forward_InjectiveAccountsRPC_SubaccountOrderSummary_0 = runtime.ForwardResponseMessage forward_InjectiveAccountsRPC_Rewards_0 = runtime.ForwardResponseMessage + + forward_InjectiveAccountsRPC_StreamAccountData_0 = runtime.ForwardResponseStream ) diff --git a/exchange/accounts_rpc/pb/injective_accounts_rpc.proto b/exchange/accounts_rpc/pb/injective_accounts_rpc.proto deleted file mode 100644 index b5c3eba7..00000000 --- a/exchange/accounts_rpc/pb/injective_accounts_rpc.proto +++ /dev/null @@ -1,274 +0,0 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. -// -// InjectiveAccountsRPC protocol buffer definition -// -// Command: -// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ - -syntax = "proto3"; - -package injective_accounts_rpc; - -option go_package = "/injective_accounts_rpcpb"; - -// InjectiveAccountsRPC defines API of Exchange Accounts provider. -service InjectiveAccountsRPC { - // Provide the account's portfolio value in USD. - rpc Portfolio (PortfolioRequest) returns (PortfolioResponse); - // List order states by order hashes - rpc OrderStates (OrderStatesRequest) returns (OrderStatesResponse); - // List all subaccounts IDs of an account address - rpc SubaccountsList (SubaccountsListRequest) returns (SubaccountsListResponse); - // List subaccount balances for the provided denoms. - rpc SubaccountBalancesList (SubaccountBalancesListRequest) returns (SubaccountBalancesListResponse); - // Gets a balance for specific coin denom - rpc SubaccountBalanceEndpoint (SubaccountBalanceEndpointRequest) returns (SubaccountBalanceEndpointResponse); - // StreamSubaccountBalance streams new balance changes for a specified -// subaccount and denoms. If no denoms are provided, all denom changes are -// streamed. - rpc StreamSubaccountBalance (StreamSubaccountBalanceRequest) returns (stream StreamSubaccountBalanceResponse); - // Get subaccount's deposits and withdrawals history - rpc SubaccountHistory (SubaccountHistoryRequest) returns (SubaccountHistoryResponse); - // Get subaccount's orders summary - rpc SubaccountOrderSummary (SubaccountOrderSummaryRequest) returns (SubaccountOrderSummaryResponse); - // Provide historical trading rewards - rpc Rewards (RewardsRequest) returns (RewardsResponse); -} - -message PortfolioRequest { - // Account address - string account_address = 1; -} - -message PortfolioResponse { - // The portfolio of this account - AccountPortfolio portfolio = 1; -} - -message AccountPortfolio { - // The account's portfolio value in USD. - string portfolio_value = 1; - // The account's available balance value in USD. - string available_balance = 2; - // The account's locked balance value in USD. - string locked_balance = 3; - // The account's total unrealized PnL value in USD. - string unrealized_pnl = 4; - // List of all subaccounts' portfolio - repeated SubaccountPortfolio subaccounts = 5; -} - -message SubaccountPortfolio { - // The ID of this subaccount - string subaccount_id = 1; - // The subaccount's available balance value in USD. - string available_balance = 2; - // The subaccount's locked balance value in USD. - string locked_balance = 3; - // The subaccount's total unrealized PnL value in USD. - string unrealized_pnl = 4; -} - -message OrderStatesRequest { - repeated string spot_order_hashes = 1; - repeated string derivative_order_hashes = 2; -} - -message OrderStatesResponse { - // List of the spot order state records - repeated OrderStateRecord spot_order_states = 1; - // List of the derivative order state records - repeated OrderStateRecord derivative_order_states = 2; -} - -message OrderStateRecord { - // Hash of the order - string order_hash = 1; - // The subaccountId that this order belongs to - string subaccount_id = 2; - // The Market ID of the order - string market_id = 3; - // The type of the order - string order_type = 4; - // The side of the order - string order_side = 5; - // The state (status) of the order - string state = 6; - // The filled quantity of the order - string quantity_filled = 7; - // The filled quantity of the order - string quantity_remaining = 8; - // Order committed timestamp in UNIX millis. - sint64 created_at = 9; - // Order updated timestamp in UNIX millis. - sint64 updated_at = 10; - // Order prices - string price = 11; - // Margin for derivative order - string margin = 12; -} - -message SubaccountsListRequest { - // Account address, the subaccounts owner - string account_address = 1; -} - -message SubaccountsListResponse { - repeated string subaccounts = 1; -} - -message SubaccountBalancesListRequest { - // SubaccountId of the trader we want to get the trades from - string subaccount_id = 1; - // Filter balances by denoms. If not set, the balances of all the denoms for -// the subaccount are provided. - repeated string denoms = 2; -} - -message SubaccountBalancesListResponse { - // List of subaccount balances - repeated SubaccountBalance balances = 1; -} - -message SubaccountBalance { - // Related subaccount ID - string subaccount_id = 1; - // Account address, owner of this subaccount - string account_address = 2; - // Coin denom on the chain. - string denom = 3; - SubaccountDeposit deposit = 4; -} - -message SubaccountDeposit { - string total_balance = 1; - string available_balance = 2; -} - -message SubaccountBalanceEndpointRequest { - // SubaccountId of the trader we want to get the trades from - string subaccount_id = 1; - // Specify denom to get balance - string denom = 2; -} - -message SubaccountBalanceEndpointResponse { - // Subaccount balance - SubaccountBalance balance = 1; -} - -message StreamSubaccountBalanceRequest { - // SubaccountId of the trader we want to get the trades from - string subaccount_id = 1; - // Filter balances by denoms. If not set, the balances of all the denoms for -// the subaccount are provided. - repeated string denoms = 2; -} - -message StreamSubaccountBalanceResponse { - // Subaccount balance - SubaccountBalance balance = 1; - // Operation timestamp in UNIX millis. - sint64 timestamp = 2; -} - -message SubaccountHistoryRequest { - // SubaccountId of the trader we want to get the history from - string subaccount_id = 1; - // Filter history by denom - string denom = 2; - // Filter history by transfer type - repeated string transfer_types = 3; - // Skip will skip the first n item from the result - uint64 skip = 4; - // Limit is used to specify the maximum number of items to be returned - sint32 limit = 5; - // Upper bound of account transfer history's executedAt - sint64 end_time = 6; -} - -message SubaccountHistoryResponse { - // List of subaccount transfers - repeated SubaccountBalanceTransfer transfers = 1; - Paging paging = 2; -} - -message SubaccountBalanceTransfer { - // Type of the subaccount balance transfer - string transfer_type = 1; - // Subaccount ID of the sending side - string src_subaccount_id = 2; - // Account address of the sending side - string src_account_address = 3; - // Subaccount ID of the receiving side - string dst_subaccount_id = 4; - // Account address of the receiving side - string dst_account_address = 5; - // Coin amount of the transfer - CosmosCoin amount = 6; - // Timestamp of the transfer in UNIX millis - sint64 executed_at = 7; -} - -message CosmosCoin { - // Coin denominator - string denom = 1; - // Coin amount (big int) - string amount = 2; -} -// Paging defines the structure for required params for handling pagination -message Paging { - // total number of txs saved in database - sint64 total = 1; - // can be either block height or index num - sint32 from = 2; - // can be either block height or index num - sint32 to = 3; - // count entries by subaccount, serving some places on helix - sint64 count_by_subaccount = 4; - // array of tokens to navigate to the next pages - repeated string next = 5; -} - -message SubaccountOrderSummaryRequest { - // SubaccountId of the trader we want to get the summary from - string subaccount_id = 1; - // MarketId is limiting order summary to specific market only - string market_id = 2; - // Filter by direction of the orders - string order_direction = 3; -} - -message SubaccountOrderSummaryResponse { - // Total count of subaccount's spot orders in given market and direction - sint64 spot_orders_total = 1; - // Total count of subaccount's derivative orders in given market and direction - sint64 derivative_orders_total = 2; -} - -message RewardsRequest { - // The distribution epoch sequence number. -1 for latest. - sint64 epoch = 1; - // Account address for the rewards distribution - string account_address = 2; -} - -message RewardsResponse { - // The trading rewards distributed - repeated Reward rewards = 1; -} - -message Reward { - // Account address - string account_address = 1; - // Reward coins distributed - repeated Coin rewards = 2; - // Rewards distribution timestamp in UNIX millis. - sint64 distributed_at = 3; -} - -message Coin { - // Denom of the coin - string denom = 1; - string amount = 2; -} diff --git a/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.pb.go b/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.pb.go new file mode 100644 index 00000000..d68f07d1 --- /dev/null +++ b/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.pb.go @@ -0,0 +1,5333 @@ +// Code generated with goa v3.7.0, DO NOT EDIT. +// +// InjectiveAccountsRPC protocol buffer definition +// +// Command: +// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc v4.25.3 +// source: goadesign_goagen_injective_accounts_rpc.proto + +package injective_accounts_rpcpb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type PortfolioRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *PortfolioRequest) Reset() { + *x = PortfolioRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortfolioRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortfolioRequest) ProtoMessage() {} + +func (x *PortfolioRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortfolioRequest.ProtoReflect.Descriptor instead. +func (*PortfolioRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{0} +} + +func (x *PortfolioRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type PortfolioResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The portfolio of this account + Portfolio *AccountPortfolio `protobuf:"bytes,1,opt,name=portfolio,proto3" json:"portfolio,omitempty"` +} + +func (x *PortfolioResponse) Reset() { + *x = PortfolioResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortfolioResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortfolioResponse) ProtoMessage() {} + +func (x *PortfolioResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortfolioResponse.ProtoReflect.Descriptor instead. +func (*PortfolioResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{1} +} + +func (x *PortfolioResponse) GetPortfolio() *AccountPortfolio { + if x != nil { + return x.Portfolio + } + return nil +} + +type AccountPortfolio struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The account's portfolio value in USD. + PortfolioValue string `protobuf:"bytes,1,opt,name=portfolio_value,json=portfolioValue,proto3" json:"portfolio_value,omitempty"` + // The account's available balance value in USD. + AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` + // The account's locked balance value in USD. + LockedBalance string `protobuf:"bytes,3,opt,name=locked_balance,json=lockedBalance,proto3" json:"locked_balance,omitempty"` + // The account's total unrealized PnL value in USD. + UnrealizedPnl string `protobuf:"bytes,4,opt,name=unrealized_pnl,json=unrealizedPnl,proto3" json:"unrealized_pnl,omitempty"` + // List of all subaccounts' portfolio + Subaccounts []*SubaccountPortfolio `protobuf:"bytes,5,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` +} + +func (x *AccountPortfolio) Reset() { + *x = AccountPortfolio{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountPortfolio) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountPortfolio) ProtoMessage() {} + +func (x *AccountPortfolio) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountPortfolio.ProtoReflect.Descriptor instead. +func (*AccountPortfolio) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{2} +} + +func (x *AccountPortfolio) GetPortfolioValue() string { + if x != nil { + return x.PortfolioValue + } + return "" +} + +func (x *AccountPortfolio) GetAvailableBalance() string { + if x != nil { + return x.AvailableBalance + } + return "" +} + +func (x *AccountPortfolio) GetLockedBalance() string { + if x != nil { + return x.LockedBalance + } + return "" +} + +func (x *AccountPortfolio) GetUnrealizedPnl() string { + if x != nil { + return x.UnrealizedPnl + } + return "" +} + +func (x *AccountPortfolio) GetSubaccounts() []*SubaccountPortfolio { + if x != nil { + return x.Subaccounts + } + return nil +} + +type SubaccountPortfolio struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of this subaccount + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The subaccount's available balance value in USD. + AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` + // The subaccount's locked balance value in USD. + LockedBalance string `protobuf:"bytes,3,opt,name=locked_balance,json=lockedBalance,proto3" json:"locked_balance,omitempty"` + // The subaccount's total unrealized PnL value in USD. + UnrealizedPnl string `protobuf:"bytes,4,opt,name=unrealized_pnl,json=unrealizedPnl,proto3" json:"unrealized_pnl,omitempty"` +} + +func (x *SubaccountPortfolio) Reset() { + *x = SubaccountPortfolio{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountPortfolio) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountPortfolio) ProtoMessage() {} + +func (x *SubaccountPortfolio) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountPortfolio.ProtoReflect.Descriptor instead. +func (*SubaccountPortfolio) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{3} +} + +func (x *SubaccountPortfolio) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountPortfolio) GetAvailableBalance() string { + if x != nil { + return x.AvailableBalance + } + return "" +} + +func (x *SubaccountPortfolio) GetLockedBalance() string { + if x != nil { + return x.LockedBalance + } + return "" +} + +func (x *SubaccountPortfolio) GetUnrealizedPnl() string { + if x != nil { + return x.UnrealizedPnl + } + return "" +} + +type OrderStatesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SpotOrderHashes []string `protobuf:"bytes,1,rep,name=spot_order_hashes,json=spotOrderHashes,proto3" json:"spot_order_hashes,omitempty"` + DerivativeOrderHashes []string `protobuf:"bytes,2,rep,name=derivative_order_hashes,json=derivativeOrderHashes,proto3" json:"derivative_order_hashes,omitempty"` +} + +func (x *OrderStatesRequest) Reset() { + *x = OrderStatesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderStatesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderStatesRequest) ProtoMessage() {} + +func (x *OrderStatesRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderStatesRequest.ProtoReflect.Descriptor instead. +func (*OrderStatesRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{4} +} + +func (x *OrderStatesRequest) GetSpotOrderHashes() []string { + if x != nil { + return x.SpotOrderHashes + } + return nil +} + +func (x *OrderStatesRequest) GetDerivativeOrderHashes() []string { + if x != nil { + return x.DerivativeOrderHashes + } + return nil +} + +type OrderStatesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of the spot order state records + SpotOrderStates []*OrderStateRecord `protobuf:"bytes,1,rep,name=spot_order_states,json=spotOrderStates,proto3" json:"spot_order_states,omitempty"` + // List of the derivative order state records + DerivativeOrderStates []*OrderStateRecord `protobuf:"bytes,2,rep,name=derivative_order_states,json=derivativeOrderStates,proto3" json:"derivative_order_states,omitempty"` +} + +func (x *OrderStatesResponse) Reset() { + *x = OrderStatesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderStatesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderStatesResponse) ProtoMessage() {} + +func (x *OrderStatesResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderStatesResponse.ProtoReflect.Descriptor instead. +func (*OrderStatesResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{5} +} + +func (x *OrderStatesResponse) GetSpotOrderStates() []*OrderStateRecord { + if x != nil { + return x.SpotOrderStates + } + return nil +} + +func (x *OrderStatesResponse) GetDerivativeOrderStates() []*OrderStateRecord { + if x != nil { + return x.DerivativeOrderStates + } + return nil +} + +type OrderStateRecord struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The Market ID of the order + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The type of the order + OrderType string `protobuf:"bytes,4,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` + // The side of the order + OrderSide string `protobuf:"bytes,5,opt,name=order_side,json=orderSide,proto3" json:"order_side,omitempty"` + // The state (status) of the order + State string `protobuf:"bytes,6,opt,name=state,proto3" json:"state,omitempty"` + // The filled quantity of the order + QuantityFilled string `protobuf:"bytes,7,opt,name=quantity_filled,json=quantityFilled,proto3" json:"quantity_filled,omitempty"` + // The filled quantity of the order + QuantityRemaining string `protobuf:"bytes,8,opt,name=quantity_remaining,json=quantityRemaining,proto3" json:"quantity_remaining,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Order prices + Price string `protobuf:"bytes,11,opt,name=price,proto3" json:"price,omitempty"` + // Margin for derivative order + Margin string `protobuf:"bytes,12,opt,name=margin,proto3" json:"margin,omitempty"` +} + +func (x *OrderStateRecord) Reset() { + *x = OrderStateRecord{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderStateRecord) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderStateRecord) ProtoMessage() {} + +func (x *OrderStateRecord) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderStateRecord.ProtoReflect.Descriptor instead. +func (*OrderStateRecord) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{6} +} + +func (x *OrderStateRecord) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *OrderStateRecord) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *OrderStateRecord) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *OrderStateRecord) GetOrderType() string { + if x != nil { + return x.OrderType + } + return "" +} + +func (x *OrderStateRecord) GetOrderSide() string { + if x != nil { + return x.OrderSide + } + return "" +} + +func (x *OrderStateRecord) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *OrderStateRecord) GetQuantityFilled() string { + if x != nil { + return x.QuantityFilled + } + return "" +} + +func (x *OrderStateRecord) GetQuantityRemaining() string { + if x != nil { + return x.QuantityRemaining + } + return "" +} + +func (x *OrderStateRecord) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *OrderStateRecord) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *OrderStateRecord) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *OrderStateRecord) GetMargin() string { + if x != nil { + return x.Margin + } + return "" +} + +type SubaccountsListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address, the subaccounts owner + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *SubaccountsListRequest) Reset() { + *x = SubaccountsListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountsListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountsListRequest) ProtoMessage() {} + +func (x *SubaccountsListRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountsListRequest.ProtoReflect.Descriptor instead. +func (*SubaccountsListRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{7} +} + +func (x *SubaccountsListRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type SubaccountsListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subaccounts []string `protobuf:"bytes,1,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` +} + +func (x *SubaccountsListResponse) Reset() { + *x = SubaccountsListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountsListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountsListResponse) ProtoMessage() {} + +func (x *SubaccountsListResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountsListResponse.ProtoReflect.Descriptor instead. +func (*SubaccountsListResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{8} +} + +func (x *SubaccountsListResponse) GetSubaccounts() []string { + if x != nil { + return x.Subaccounts + } + return nil +} + +type SubaccountBalancesListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the trades from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Filter balances by denoms. If not set, the balances of all the denoms for + // the subaccount are provided. + Denoms []string `protobuf:"bytes,2,rep,name=denoms,proto3" json:"denoms,omitempty"` +} + +func (x *SubaccountBalancesListRequest) Reset() { + *x = SubaccountBalancesListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalancesListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalancesListRequest) ProtoMessage() {} + +func (x *SubaccountBalancesListRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalancesListRequest.ProtoReflect.Descriptor instead. +func (*SubaccountBalancesListRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{9} +} + +func (x *SubaccountBalancesListRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountBalancesListRequest) GetDenoms() []string { + if x != nil { + return x.Denoms + } + return nil +} + +type SubaccountBalancesListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of subaccount balances + Balances []*SubaccountBalance `protobuf:"bytes,1,rep,name=balances,proto3" json:"balances,omitempty"` +} + +func (x *SubaccountBalancesListResponse) Reset() { + *x = SubaccountBalancesListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalancesListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalancesListResponse) ProtoMessage() {} + +func (x *SubaccountBalancesListResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalancesListResponse.ProtoReflect.Descriptor instead. +func (*SubaccountBalancesListResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{10} +} + +func (x *SubaccountBalancesListResponse) GetBalances() []*SubaccountBalance { + if x != nil { + return x.Balances + } + return nil +} + +type SubaccountBalance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Related subaccount ID + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Account address, owner of this subaccount + AccountAddress string `protobuf:"bytes,2,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // Coin denom on the chain. + Denom string `protobuf:"bytes,3,opt,name=denom,proto3" json:"denom,omitempty"` + Deposit *SubaccountDeposit `protobuf:"bytes,4,opt,name=deposit,proto3" json:"deposit,omitempty"` +} + +func (x *SubaccountBalance) Reset() { + *x = SubaccountBalance{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalance) ProtoMessage() {} + +func (x *SubaccountBalance) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalance.ProtoReflect.Descriptor instead. +func (*SubaccountBalance) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{11} +} + +func (x *SubaccountBalance) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountBalance) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *SubaccountBalance) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *SubaccountBalance) GetDeposit() *SubaccountDeposit { + if x != nil { + return x.Deposit + } + return nil +} + +type SubaccountDeposit struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TotalBalance string `protobuf:"bytes,1,opt,name=total_balance,json=totalBalance,proto3" json:"total_balance,omitempty"` + AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` +} + +func (x *SubaccountDeposit) Reset() { + *x = SubaccountDeposit{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountDeposit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountDeposit) ProtoMessage() {} + +func (x *SubaccountDeposit) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountDeposit.ProtoReflect.Descriptor instead. +func (*SubaccountDeposit) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{12} +} + +func (x *SubaccountDeposit) GetTotalBalance() string { + if x != nil { + return x.TotalBalance + } + return "" +} + +func (x *SubaccountDeposit) GetAvailableBalance() string { + if x != nil { + return x.AvailableBalance + } + return "" +} + +type SubaccountBalanceEndpointRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the trades from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Specify denom to get balance + Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` +} + +func (x *SubaccountBalanceEndpointRequest) Reset() { + *x = SubaccountBalanceEndpointRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalanceEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalanceEndpointRequest) ProtoMessage() {} + +func (x *SubaccountBalanceEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalanceEndpointRequest.ProtoReflect.Descriptor instead. +func (*SubaccountBalanceEndpointRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{13} +} + +func (x *SubaccountBalanceEndpointRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountBalanceEndpointRequest) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +type SubaccountBalanceEndpointResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Subaccount balance + Balance *SubaccountBalance `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"` +} + +func (x *SubaccountBalanceEndpointResponse) Reset() { + *x = SubaccountBalanceEndpointResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalanceEndpointResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalanceEndpointResponse) ProtoMessage() {} + +func (x *SubaccountBalanceEndpointResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalanceEndpointResponse.ProtoReflect.Descriptor instead. +func (*SubaccountBalanceEndpointResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{14} +} + +func (x *SubaccountBalanceEndpointResponse) GetBalance() *SubaccountBalance { + if x != nil { + return x.Balance + } + return nil +} + +type StreamSubaccountBalanceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the trades from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Filter balances by denoms. If not set, the balances of all the denoms for + // the subaccount are provided. + Denoms []string `protobuf:"bytes,2,rep,name=denoms,proto3" json:"denoms,omitempty"` +} + +func (x *StreamSubaccountBalanceRequest) Reset() { + *x = StreamSubaccountBalanceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamSubaccountBalanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamSubaccountBalanceRequest) ProtoMessage() {} + +func (x *StreamSubaccountBalanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamSubaccountBalanceRequest.ProtoReflect.Descriptor instead. +func (*StreamSubaccountBalanceRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{15} +} + +func (x *StreamSubaccountBalanceRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *StreamSubaccountBalanceRequest) GetDenoms() []string { + if x != nil { + return x.Denoms + } + return nil +} + +type StreamSubaccountBalanceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Subaccount balance + Balance *SubaccountBalance `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *StreamSubaccountBalanceResponse) Reset() { + *x = StreamSubaccountBalanceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamSubaccountBalanceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamSubaccountBalanceResponse) ProtoMessage() {} + +func (x *StreamSubaccountBalanceResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamSubaccountBalanceResponse.ProtoReflect.Descriptor instead. +func (*StreamSubaccountBalanceResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{16} +} + +func (x *StreamSubaccountBalanceResponse) GetBalance() *SubaccountBalance { + if x != nil { + return x.Balance + } + return nil +} + +func (x *StreamSubaccountBalanceResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type SubaccountHistoryRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the history from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Filter history by denom + Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` + // Filter history by transfer type + TransferTypes []string `protobuf:"bytes,3,rep,name=transfer_types,json=transferTypes,proto3" json:"transfer_types,omitempty"` + // Skip will skip the first n item from the result + Skip uint64 `protobuf:"varint,4,opt,name=skip,proto3" json:"skip,omitempty"` + // Limit is used to specify the maximum number of items to be returned + Limit int32 `protobuf:"zigzag32,5,opt,name=limit,proto3" json:"limit,omitempty"` + // Upper bound of account transfer history's executedAt + EndTime int64 `protobuf:"zigzag64,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` +} + +func (x *SubaccountHistoryRequest) Reset() { + *x = SubaccountHistoryRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountHistoryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountHistoryRequest) ProtoMessage() {} + +func (x *SubaccountHistoryRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountHistoryRequest.ProtoReflect.Descriptor instead. +func (*SubaccountHistoryRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{17} +} + +func (x *SubaccountHistoryRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountHistoryRequest) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *SubaccountHistoryRequest) GetTransferTypes() []string { + if x != nil { + return x.TransferTypes + } + return nil +} + +func (x *SubaccountHistoryRequest) GetSkip() uint64 { + if x != nil { + return x.Skip + } + return 0 +} + +func (x *SubaccountHistoryRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *SubaccountHistoryRequest) GetEndTime() int64 { + if x != nil { + return x.EndTime + } + return 0 +} + +type SubaccountHistoryResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of subaccount transfers + Transfers []*SubaccountBalanceTransfer `protobuf:"bytes,1,rep,name=transfers,proto3" json:"transfers,omitempty"` + Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` +} + +func (x *SubaccountHistoryResponse) Reset() { + *x = SubaccountHistoryResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountHistoryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountHistoryResponse) ProtoMessage() {} + +func (x *SubaccountHistoryResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountHistoryResponse.ProtoReflect.Descriptor instead. +func (*SubaccountHistoryResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{18} +} + +func (x *SubaccountHistoryResponse) GetTransfers() []*SubaccountBalanceTransfer { + if x != nil { + return x.Transfers + } + return nil +} + +func (x *SubaccountHistoryResponse) GetPaging() *Paging { + if x != nil { + return x.Paging + } + return nil +} + +type SubaccountBalanceTransfer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Type of the subaccount balance transfer + TransferType string `protobuf:"bytes,1,opt,name=transfer_type,json=transferType,proto3" json:"transfer_type,omitempty"` + // Subaccount ID of the sending side + SrcSubaccountId string `protobuf:"bytes,2,opt,name=src_subaccount_id,json=srcSubaccountId,proto3" json:"src_subaccount_id,omitempty"` + // Account address of the sending side + SrcAccountAddress string `protobuf:"bytes,3,opt,name=src_account_address,json=srcAccountAddress,proto3" json:"src_account_address,omitempty"` + // Subaccount ID of the receiving side + DstSubaccountId string `protobuf:"bytes,4,opt,name=dst_subaccount_id,json=dstSubaccountId,proto3" json:"dst_subaccount_id,omitempty"` + // Account address of the receiving side + DstAccountAddress string `protobuf:"bytes,5,opt,name=dst_account_address,json=dstAccountAddress,proto3" json:"dst_account_address,omitempty"` + // Coin amount of the transfer + Amount *CosmosCoin `protobuf:"bytes,6,opt,name=amount,proto3" json:"amount,omitempty"` + // Timestamp of the transfer in UNIX millis + ExecutedAt int64 `protobuf:"zigzag64,7,opt,name=executed_at,json=executedAt,proto3" json:"executed_at,omitempty"` +} + +func (x *SubaccountBalanceTransfer) Reset() { + *x = SubaccountBalanceTransfer{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalanceTransfer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalanceTransfer) ProtoMessage() {} + +func (x *SubaccountBalanceTransfer) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalanceTransfer.ProtoReflect.Descriptor instead. +func (*SubaccountBalanceTransfer) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{19} +} + +func (x *SubaccountBalanceTransfer) GetTransferType() string { + if x != nil { + return x.TransferType + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetSrcSubaccountId() string { + if x != nil { + return x.SrcSubaccountId + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetSrcAccountAddress() string { + if x != nil { + return x.SrcAccountAddress + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetDstSubaccountId() string { + if x != nil { + return x.DstSubaccountId + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetDstAccountAddress() string { + if x != nil { + return x.DstAccountAddress + } + return "" +} + +func (x *SubaccountBalanceTransfer) GetAmount() *CosmosCoin { + if x != nil { + return x.Amount + } + return nil +} + +func (x *SubaccountBalanceTransfer) GetExecutedAt() int64 { + if x != nil { + return x.ExecutedAt + } + return 0 +} + +type CosmosCoin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Coin denominator + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + // Coin amount (big int) + Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *CosmosCoin) Reset() { + *x = CosmosCoin{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CosmosCoin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CosmosCoin) ProtoMessage() {} + +func (x *CosmosCoin) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CosmosCoin.ProtoReflect.Descriptor instead. +func (*CosmosCoin) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{20} +} + +func (x *CosmosCoin) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *CosmosCoin) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +// Paging defines the structure for required params for handling pagination +type Paging struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // total number of txs saved in database + Total int64 `protobuf:"zigzag64,1,opt,name=total,proto3" json:"total,omitempty"` + // can be either block height or index num + From int32 `protobuf:"zigzag32,2,opt,name=from,proto3" json:"from,omitempty"` + // can be either block height or index num + To int32 `protobuf:"zigzag32,3,opt,name=to,proto3" json:"to,omitempty"` + // count entries by subaccount, serving some places on helix + CountBySubaccount int64 `protobuf:"zigzag64,4,opt,name=count_by_subaccount,json=countBySubaccount,proto3" json:"count_by_subaccount,omitempty"` + // array of tokens to navigate to the next pages + Next []string `protobuf:"bytes,5,rep,name=next,proto3" json:"next,omitempty"` +} + +func (x *Paging) Reset() { + *x = Paging{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Paging) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Paging) ProtoMessage() {} + +func (x *Paging) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Paging.ProtoReflect.Descriptor instead. +func (*Paging) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{21} +} + +func (x *Paging) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *Paging) GetFrom() int32 { + if x != nil { + return x.From + } + return 0 +} + +func (x *Paging) GetTo() int32 { + if x != nil { + return x.To + } + return 0 +} + +func (x *Paging) GetCountBySubaccount() int64 { + if x != nil { + return x.CountBySubaccount + } + return 0 +} + +func (x *Paging) GetNext() []string { + if x != nil { + return x.Next + } + return nil +} + +type SubaccountOrderSummaryRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // SubaccountId of the trader we want to get the summary from + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // MarketId is limiting order summary to specific market only + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // Filter by direction of the orders + OrderDirection string `protobuf:"bytes,3,opt,name=order_direction,json=orderDirection,proto3" json:"order_direction,omitempty"` +} + +func (x *SubaccountOrderSummaryRequest) Reset() { + *x = SubaccountOrderSummaryRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountOrderSummaryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountOrderSummaryRequest) ProtoMessage() {} + +func (x *SubaccountOrderSummaryRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountOrderSummaryRequest.ProtoReflect.Descriptor instead. +func (*SubaccountOrderSummaryRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{22} +} + +func (x *SubaccountOrderSummaryRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountOrderSummaryRequest) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *SubaccountOrderSummaryRequest) GetOrderDirection() string { + if x != nil { + return x.OrderDirection + } + return "" +} + +type SubaccountOrderSummaryResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Total count of subaccount's spot orders in given market and direction + SpotOrdersTotal int64 `protobuf:"zigzag64,1,opt,name=spot_orders_total,json=spotOrdersTotal,proto3" json:"spot_orders_total,omitempty"` + // Total count of subaccount's derivative orders in given market and direction + DerivativeOrdersTotal int64 `protobuf:"zigzag64,2,opt,name=derivative_orders_total,json=derivativeOrdersTotal,proto3" json:"derivative_orders_total,omitempty"` +} + +func (x *SubaccountOrderSummaryResponse) Reset() { + *x = SubaccountOrderSummaryResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountOrderSummaryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountOrderSummaryResponse) ProtoMessage() {} + +func (x *SubaccountOrderSummaryResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountOrderSummaryResponse.ProtoReflect.Descriptor instead. +func (*SubaccountOrderSummaryResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{23} +} + +func (x *SubaccountOrderSummaryResponse) GetSpotOrdersTotal() int64 { + if x != nil { + return x.SpotOrdersTotal + } + return 0 +} + +func (x *SubaccountOrderSummaryResponse) GetDerivativeOrdersTotal() int64 { + if x != nil { + return x.DerivativeOrdersTotal + } + return 0 +} + +type RewardsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The distribution epoch sequence number. -1 for latest. + Epoch int64 `protobuf:"zigzag64,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Account address for the rewards distribution + AccountAddress string `protobuf:"bytes,2,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *RewardsRequest) Reset() { + *x = RewardsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RewardsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RewardsRequest) ProtoMessage() {} + +func (x *RewardsRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RewardsRequest.ProtoReflect.Descriptor instead. +func (*RewardsRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{24} +} + +func (x *RewardsRequest) GetEpoch() int64 { + if x != nil { + return x.Epoch + } + return 0 +} + +func (x *RewardsRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type RewardsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The trading rewards distributed + Rewards []*Reward `protobuf:"bytes,1,rep,name=rewards,proto3" json:"rewards,omitempty"` +} + +func (x *RewardsResponse) Reset() { + *x = RewardsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RewardsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RewardsResponse) ProtoMessage() {} + +func (x *RewardsResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RewardsResponse.ProtoReflect.Descriptor instead. +func (*RewardsResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{25} +} + +func (x *RewardsResponse) GetRewards() []*Reward { + if x != nil { + return x.Rewards + } + return nil +} + +type Reward struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // Reward coins distributed + Rewards []*Coin `protobuf:"bytes,2,rep,name=rewards,proto3" json:"rewards,omitempty"` + // Rewards distribution timestamp in UNIX millis. + DistributedAt int64 `protobuf:"zigzag64,3,opt,name=distributed_at,json=distributedAt,proto3" json:"distributed_at,omitempty"` +} + +func (x *Reward) Reset() { + *x = Reward{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Reward) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Reward) ProtoMessage() {} + +func (x *Reward) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Reward.ProtoReflect.Descriptor instead. +func (*Reward) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{26} +} + +func (x *Reward) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *Reward) GetRewards() []*Coin { + if x != nil { + return x.Rewards + } + return nil +} + +func (x *Reward) GetDistributedAt() int64 { + if x != nil { + return x.DistributedAt + } + return 0 +} + +type Coin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Denom of the coin + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *Coin) Reset() { + *x = Coin{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Coin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Coin) ProtoMessage() {} + +func (x *Coin) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Coin.ProtoReflect.Descriptor instead. +func (*Coin) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{27} +} + +func (x *Coin) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *Coin) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +type StreamAccountDataRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // account address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *StreamAccountDataRequest) Reset() { + *x = StreamAccountDataRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamAccountDataRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamAccountDataRequest) ProtoMessage() {} + +func (x *StreamAccountDataRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamAccountDataRequest.ProtoReflect.Descriptor instead. +func (*StreamAccountDataRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{28} +} + +func (x *StreamAccountDataRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type StreamAccountDataResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SubaccountBalance *SubaccountBalanceResult `protobuf:"bytes,1,opt,name=subaccount_balance,json=subaccountBalance,proto3" json:"subaccount_balance,omitempty"` + Position *PositionsResult `protobuf:"bytes,2,opt,name=position,proto3" json:"position,omitempty"` + Trade *TradeResult `protobuf:"bytes,3,opt,name=trade,proto3" json:"trade,omitempty"` + Order *OrderResult `protobuf:"bytes,4,opt,name=order,proto3" json:"order,omitempty"` + OrderHistory *OrderHistoryResult `protobuf:"bytes,5,opt,name=order_history,json=orderHistory,proto3" json:"order_history,omitempty"` + FundingPayment *FundingPaymentResult `protobuf:"bytes,6,opt,name=funding_payment,json=fundingPayment,proto3" json:"funding_payment,omitempty"` +} + +func (x *StreamAccountDataResponse) Reset() { + *x = StreamAccountDataResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamAccountDataResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamAccountDataResponse) ProtoMessage() {} + +func (x *StreamAccountDataResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamAccountDataResponse.ProtoReflect.Descriptor instead. +func (*StreamAccountDataResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{29} +} + +func (x *StreamAccountDataResponse) GetSubaccountBalance() *SubaccountBalanceResult { + if x != nil { + return x.SubaccountBalance + } + return nil +} + +func (x *StreamAccountDataResponse) GetPosition() *PositionsResult { + if x != nil { + return x.Position + } + return nil +} + +func (x *StreamAccountDataResponse) GetTrade() *TradeResult { + if x != nil { + return x.Trade + } + return nil +} + +func (x *StreamAccountDataResponse) GetOrder() *OrderResult { + if x != nil { + return x.Order + } + return nil +} + +func (x *StreamAccountDataResponse) GetOrderHistory() *OrderHistoryResult { + if x != nil { + return x.OrderHistory + } + return nil +} + +func (x *StreamAccountDataResponse) GetFundingPayment() *FundingPaymentResult { + if x != nil { + return x.FundingPayment + } + return nil +} + +type SubaccountBalanceResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Subaccount balance + Balance *SubaccountBalance `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *SubaccountBalanceResult) Reset() { + *x = SubaccountBalanceResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalanceResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalanceResult) ProtoMessage() {} + +func (x *SubaccountBalanceResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalanceResult.ProtoReflect.Descriptor instead. +func (*SubaccountBalanceResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{30} +} + +func (x *SubaccountBalanceResult) GetBalance() *SubaccountBalance { + if x != nil { + return x.Balance + } + return nil +} + +func (x *SubaccountBalanceResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type PositionsResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Updated derivative Position + Position *Position `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *PositionsResult) Reset() { + *x = PositionsResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PositionsResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PositionsResult) ProtoMessage() {} + +func (x *PositionsResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PositionsResult.ProtoReflect.Descriptor instead. +func (*PositionsResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{31} +} + +func (x *PositionsResult) GetPosition() *Position { + if x != nil { + return x.Position + } + return nil +} + +func (x *PositionsResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type Position struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Ticker of the derivative market + Ticker string `protobuf:"bytes,1,opt,name=ticker,proto3" json:"ticker,omitempty"` + // Derivative Market ID + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The subaccountId that the position belongs to + SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Direction of the position + Direction string `protobuf:"bytes,4,opt,name=direction,proto3" json:"direction,omitempty"` + // Quantity of the position + Quantity string `protobuf:"bytes,5,opt,name=quantity,proto3" json:"quantity,omitempty"` + // Price of the position + EntryPrice string `protobuf:"bytes,6,opt,name=entry_price,json=entryPrice,proto3" json:"entry_price,omitempty"` + // Margin of the position + Margin string `protobuf:"bytes,7,opt,name=margin,proto3" json:"margin,omitempty"` + // LiquidationPrice of the position + LiquidationPrice string `protobuf:"bytes,8,opt,name=liquidation_price,json=liquidationPrice,proto3" json:"liquidation_price,omitempty"` + // MarkPrice of the position + MarkPrice string `protobuf:"bytes,9,opt,name=mark_price,json=markPrice,proto3" json:"mark_price,omitempty"` + // Position updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Position created timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` +} + +func (x *Position) Reset() { + *x = Position{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Position) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Position) ProtoMessage() {} + +func (x *Position) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Position.ProtoReflect.Descriptor instead. +func (*Position) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{32} +} + +func (x *Position) GetTicker() string { + if x != nil { + return x.Ticker + } + return "" +} + +func (x *Position) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *Position) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *Position) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *Position) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *Position) GetEntryPrice() string { + if x != nil { + return x.EntryPrice + } + return "" +} + +func (x *Position) GetMargin() string { + if x != nil { + return x.Margin + } + return "" +} + +func (x *Position) GetLiquidationPrice() string { + if x != nil { + return x.LiquidationPrice + } + return "" +} + +func (x *Position) GetMarkPrice() string { + if x != nil { + return x.MarkPrice + } + return "" +} + +func (x *Position) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *Position) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +type TradeResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Trade: + // + // *TradeResult_SpotTrade + // *TradeResult_DerivativeTrade + Trade isTradeResult_Trade `protobuf_oneof:"trade"` + // Executed trades update type + OperationType string `protobuf:"bytes,3,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *TradeResult) Reset() { + *x = TradeResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TradeResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TradeResult) ProtoMessage() {} + +func (x *TradeResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TradeResult.ProtoReflect.Descriptor instead. +func (*TradeResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{33} +} + +func (m *TradeResult) GetTrade() isTradeResult_Trade { + if m != nil { + return m.Trade + } + return nil +} + +func (x *TradeResult) GetSpotTrade() *SpotTrade { + if x, ok := x.GetTrade().(*TradeResult_SpotTrade); ok { + return x.SpotTrade + } + return nil +} + +func (x *TradeResult) GetDerivativeTrade() *DerivativeTrade { + if x, ok := x.GetTrade().(*TradeResult_DerivativeTrade); ok { + return x.DerivativeTrade + } + return nil +} + +func (x *TradeResult) GetOperationType() string { + if x != nil { + return x.OperationType + } + return "" +} + +func (x *TradeResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type isTradeResult_Trade interface { + isTradeResult_Trade() +} + +type TradeResult_SpotTrade struct { + // New spot market trade + SpotTrade *SpotTrade `protobuf:"bytes,1,opt,name=spot_trade,json=spotTrade,proto3,oneof"` +} + +type TradeResult_DerivativeTrade struct { + // New derivative market trade + DerivativeTrade *DerivativeTrade `protobuf:"bytes,2,opt,name=derivative_trade,json=derivativeTrade,proto3,oneof"` +} + +func (*TradeResult_SpotTrade) isTradeResult_Trade() {} + +func (*TradeResult_DerivativeTrade) isTradeResult_Trade() {} + +type SpotTrade struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Maker order hash. + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The subaccountId that executed the trade + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The ID of the market that this trade is in + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The execution type of the trade + TradeExecutionType string `protobuf:"bytes,4,opt,name=trade_execution_type,json=tradeExecutionType,proto3" json:"trade_execution_type,omitempty"` + // The direction the trade + TradeDirection string `protobuf:"bytes,5,opt,name=trade_direction,json=tradeDirection,proto3" json:"trade_direction,omitempty"` + // Price level at which trade has been executed + Price *PriceLevel `protobuf:"bytes,6,opt,name=price,proto3" json:"price,omitempty"` + // The fee associated with the trade (quote asset denom) + Fee string `protobuf:"bytes,7,opt,name=fee,proto3" json:"fee,omitempty"` + // Timestamp of trade execution in UNIX millis + ExecutedAt int64 `protobuf:"zigzag64,8,opt,name=executed_at,json=executedAt,proto3" json:"executed_at,omitempty"` + // Fee recipient address + FeeRecipient string `protobuf:"bytes,9,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` + // A unique string that helps differentiate between trades + TradeId string `protobuf:"bytes,10,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` + // Trade's execution side, marker/taker + ExecutionSide string `protobuf:"bytes,11,opt,name=execution_side,json=executionSide,proto3" json:"execution_side,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,12,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *SpotTrade) Reset() { + *x = SpotTrade{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpotTrade) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpotTrade) ProtoMessage() {} + +func (x *SpotTrade) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SpotTrade.ProtoReflect.Descriptor instead. +func (*SpotTrade) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{34} +} + +func (x *SpotTrade) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *SpotTrade) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SpotTrade) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *SpotTrade) GetTradeExecutionType() string { + if x != nil { + return x.TradeExecutionType + } + return "" +} + +func (x *SpotTrade) GetTradeDirection() string { + if x != nil { + return x.TradeDirection + } + return "" +} + +func (x *SpotTrade) GetPrice() *PriceLevel { + if x != nil { + return x.Price + } + return nil +} + +func (x *SpotTrade) GetFee() string { + if x != nil { + return x.Fee + } + return "" +} + +func (x *SpotTrade) GetExecutedAt() int64 { + if x != nil { + return x.ExecutedAt + } + return 0 +} + +func (x *SpotTrade) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *SpotTrade) GetTradeId() string { + if x != nil { + return x.TradeId + } + return "" +} + +func (x *SpotTrade) GetExecutionSide() string { + if x != nil { + return x.ExecutionSide + } + return "" +} + +func (x *SpotTrade) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type PriceLevel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Price number of the price level. + Price string `protobuf:"bytes,1,opt,name=price,proto3" json:"price,omitempty"` + // Quantity of the price level. + Quantity string `protobuf:"bytes,2,opt,name=quantity,proto3" json:"quantity,omitempty"` + // Price level last updated timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *PriceLevel) Reset() { + *x = PriceLevel{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PriceLevel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PriceLevel) ProtoMessage() {} + +func (x *PriceLevel) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PriceLevel.ProtoReflect.Descriptor instead. +func (*PriceLevel) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{35} +} + +func (x *PriceLevel) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *PriceLevel) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *PriceLevel) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type DerivativeTrade struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Order hash. + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The subaccountId that executed the trade + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The ID of the market that this trade is in + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The execution type of the trade + TradeExecutionType string `protobuf:"bytes,4,opt,name=trade_execution_type,json=tradeExecutionType,proto3" json:"trade_execution_type,omitempty"` + // True if the trade is a liquidation + IsLiquidation bool `protobuf:"varint,5,opt,name=is_liquidation,json=isLiquidation,proto3" json:"is_liquidation,omitempty"` + // Position Delta from the trade + PositionDelta *PositionDelta `protobuf:"bytes,6,opt,name=position_delta,json=positionDelta,proto3" json:"position_delta,omitempty"` + // The payout associated with the trade + Payout string `protobuf:"bytes,7,opt,name=payout,proto3" json:"payout,omitempty"` + // The fee associated with the trade + Fee string `protobuf:"bytes,8,opt,name=fee,proto3" json:"fee,omitempty"` + // Timestamp of trade execution in UNIX millis + ExecutedAt int64 `protobuf:"zigzag64,9,opt,name=executed_at,json=executedAt,proto3" json:"executed_at,omitempty"` + // Fee recipient address + FeeRecipient string `protobuf:"bytes,10,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` + // A unique string that helps differentiate between trades + TradeId string `protobuf:"bytes,11,opt,name=trade_id,json=tradeId,proto3" json:"trade_id,omitempty"` + // Trade's execution side, marker/taker + ExecutionSide string `protobuf:"bytes,12,opt,name=execution_side,json=executionSide,proto3" json:"execution_side,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,13,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *DerivativeTrade) Reset() { + *x = DerivativeTrade{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DerivativeTrade) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DerivativeTrade) ProtoMessage() {} + +func (x *DerivativeTrade) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DerivativeTrade.ProtoReflect.Descriptor instead. +func (*DerivativeTrade) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{36} +} + +func (x *DerivativeTrade) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *DerivativeTrade) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *DerivativeTrade) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *DerivativeTrade) GetTradeExecutionType() string { + if x != nil { + return x.TradeExecutionType + } + return "" +} + +func (x *DerivativeTrade) GetIsLiquidation() bool { + if x != nil { + return x.IsLiquidation + } + return false +} + +func (x *DerivativeTrade) GetPositionDelta() *PositionDelta { + if x != nil { + return x.PositionDelta + } + return nil +} + +func (x *DerivativeTrade) GetPayout() string { + if x != nil { + return x.Payout + } + return "" +} + +func (x *DerivativeTrade) GetFee() string { + if x != nil { + return x.Fee + } + return "" +} + +func (x *DerivativeTrade) GetExecutedAt() int64 { + if x != nil { + return x.ExecutedAt + } + return 0 +} + +func (x *DerivativeTrade) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *DerivativeTrade) GetTradeId() string { + if x != nil { + return x.TradeId + } + return "" +} + +func (x *DerivativeTrade) GetExecutionSide() string { + if x != nil { + return x.ExecutionSide + } + return "" +} + +func (x *DerivativeTrade) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type PositionDelta struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The direction the trade + TradeDirection string `protobuf:"bytes,1,opt,name=trade_direction,json=tradeDirection,proto3" json:"trade_direction,omitempty"` + // Execution Price of the trade. + ExecutionPrice string `protobuf:"bytes,2,opt,name=execution_price,json=executionPrice,proto3" json:"execution_price,omitempty"` + // Execution Quantity of the trade. + ExecutionQuantity string `protobuf:"bytes,3,opt,name=execution_quantity,json=executionQuantity,proto3" json:"execution_quantity,omitempty"` + // Execution Margin of the trade. + ExecutionMargin string `protobuf:"bytes,4,opt,name=execution_margin,json=executionMargin,proto3" json:"execution_margin,omitempty"` +} + +func (x *PositionDelta) Reset() { + *x = PositionDelta{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PositionDelta) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PositionDelta) ProtoMessage() {} + +func (x *PositionDelta) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PositionDelta.ProtoReflect.Descriptor instead. +func (*PositionDelta) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{37} +} + +func (x *PositionDelta) GetTradeDirection() string { + if x != nil { + return x.TradeDirection + } + return "" +} + +func (x *PositionDelta) GetExecutionPrice() string { + if x != nil { + return x.ExecutionPrice + } + return "" +} + +func (x *PositionDelta) GetExecutionQuantity() string { + if x != nil { + return x.ExecutionQuantity + } + return "" +} + +func (x *PositionDelta) GetExecutionMargin() string { + if x != nil { + return x.ExecutionMargin + } + return "" +} + +type OrderResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Order: + // + // *OrderResult_SpotOrder + // *OrderResult_DerivativeOrder + Order isOrderResult_Order `protobuf_oneof:"order"` + // Executed orders update type + OperationType string `protobuf:"bytes,3,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *OrderResult) Reset() { + *x = OrderResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderResult) ProtoMessage() {} + +func (x *OrderResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderResult.ProtoReflect.Descriptor instead. +func (*OrderResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{38} +} + +func (m *OrderResult) GetOrder() isOrderResult_Order { + if m != nil { + return m.Order + } + return nil +} + +func (x *OrderResult) GetSpotOrder() *SpotLimitOrder { + if x, ok := x.GetOrder().(*OrderResult_SpotOrder); ok { + return x.SpotOrder + } + return nil +} + +func (x *OrderResult) GetDerivativeOrder() *DerivativeLimitOrder { + if x, ok := x.GetOrder().(*OrderResult_DerivativeOrder); ok { + return x.DerivativeOrder + } + return nil +} + +func (x *OrderResult) GetOperationType() string { + if x != nil { + return x.OperationType + } + return "" +} + +func (x *OrderResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type isOrderResult_Order interface { + isOrderResult_Order() +} + +type OrderResult_SpotOrder struct { + // Updated spot market order + SpotOrder *SpotLimitOrder `protobuf:"bytes,1,opt,name=spot_order,json=spotOrder,proto3,oneof"` +} + +type OrderResult_DerivativeOrder struct { + // Updated derivative market order + DerivativeOrder *DerivativeLimitOrder `protobuf:"bytes,2,opt,name=derivative_order,json=derivativeOrder,proto3,oneof"` +} + +func (*OrderResult_SpotOrder) isOrderResult_Order() {} + +func (*OrderResult_DerivativeOrder) isOrderResult_Order() {} + +type SpotLimitOrder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The side of the order + OrderSide string `protobuf:"bytes,2,opt,name=order_side,json=orderSide,proto3" json:"order_side,omitempty"` + // Spot Market ID is keccak265(baseDenom + quoteDenom) + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Price of the order + Price string `protobuf:"bytes,5,opt,name=price,proto3" json:"price,omitempty"` + // Quantity of the order + Quantity string `protobuf:"bytes,6,opt,name=quantity,proto3" json:"quantity,omitempty"` + // The amount of the quantity remaining unfilled + UnfilledQuantity string `protobuf:"bytes,7,opt,name=unfilled_quantity,json=unfilledQuantity,proto3" json:"unfilled_quantity,omitempty"` + // Trigger price is the trigger price used by stop/take orders. 0 if the + // trigger price is not set. + TriggerPrice string `protobuf:"bytes,8,opt,name=trigger_price,json=triggerPrice,proto3" json:"trigger_price,omitempty"` + // Fee recipient address + FeeRecipient string `protobuf:"bytes,9,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` + // Order state + State string `protobuf:"bytes,10,opt,name=state,proto3" json:"state,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Transaction Hash where order is created. Not all orders have this field + TxHash string `protobuf:"bytes,13,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,14,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *SpotLimitOrder) Reset() { + *x = SpotLimitOrder{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpotLimitOrder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpotLimitOrder) ProtoMessage() {} + +func (x *SpotLimitOrder) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SpotLimitOrder.ProtoReflect.Descriptor instead. +func (*SpotLimitOrder) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{39} +} + +func (x *SpotLimitOrder) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *SpotLimitOrder) GetOrderSide() string { + if x != nil { + return x.OrderSide + } + return "" +} + +func (x *SpotLimitOrder) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *SpotLimitOrder) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SpotLimitOrder) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *SpotLimitOrder) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *SpotLimitOrder) GetUnfilledQuantity() string { + if x != nil { + return x.UnfilledQuantity + } + return "" +} + +func (x *SpotLimitOrder) GetTriggerPrice() string { + if x != nil { + return x.TriggerPrice + } + return "" +} + +func (x *SpotLimitOrder) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *SpotLimitOrder) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *SpotLimitOrder) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *SpotLimitOrder) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *SpotLimitOrder) GetTxHash() string { + if x != nil { + return x.TxHash + } + return "" +} + +func (x *SpotLimitOrder) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type DerivativeLimitOrder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // The side of the order + OrderSide string `protobuf:"bytes,2,opt,name=order_side,json=orderSide,proto3" json:"order_side,omitempty"` + // Derivative Market ID + MarketId string `protobuf:"bytes,3,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // True if the order is a reduce-only order + IsReduceOnly bool `protobuf:"varint,5,opt,name=is_reduce_only,json=isReduceOnly,proto3" json:"is_reduce_only,omitempty"` + // Margin of the order + Margin string `protobuf:"bytes,6,opt,name=margin,proto3" json:"margin,omitempty"` + // Price of the order + Price string `protobuf:"bytes,7,opt,name=price,proto3" json:"price,omitempty"` + // Quantity of the order + Quantity string `protobuf:"bytes,8,opt,name=quantity,proto3" json:"quantity,omitempty"` + // The amount of the quantity remaining unfilled + UnfilledQuantity string `protobuf:"bytes,9,opt,name=unfilled_quantity,json=unfilledQuantity,proto3" json:"unfilled_quantity,omitempty"` + // Trigger price is the trigger price used by stop/take orders + TriggerPrice string `protobuf:"bytes,10,opt,name=trigger_price,json=triggerPrice,proto3" json:"trigger_price,omitempty"` + // Fee recipient address + FeeRecipient string `protobuf:"bytes,11,opt,name=fee_recipient,json=feeRecipient,proto3" json:"fee_recipient,omitempty"` + // Order state + State string `protobuf:"bytes,12,opt,name=state,proto3" json:"state,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,13,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,14,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Order number of subaccount + OrderNumber int64 `protobuf:"zigzag64,15,opt,name=order_number,json=orderNumber,proto3" json:"order_number,omitempty"` + // Order type + OrderType string `protobuf:"bytes,16,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` + // Order type + IsConditional bool `protobuf:"varint,17,opt,name=is_conditional,json=isConditional,proto3" json:"is_conditional,omitempty"` + // Trigger timestamp, only exists for conditional orders + TriggerAt uint64 `protobuf:"varint,18,opt,name=trigger_at,json=triggerAt,proto3" json:"trigger_at,omitempty"` + // OrderHash of order that is triggered by this conditional order + PlacedOrderHash string `protobuf:"bytes,19,opt,name=placed_order_hash,json=placedOrderHash,proto3" json:"placed_order_hash,omitempty"` + // Execution type of conditional order + ExecutionType string `protobuf:"bytes,20,opt,name=execution_type,json=executionType,proto3" json:"execution_type,omitempty"` + // Transaction Hash where order is created. Not all orders have this field + TxHash string `protobuf:"bytes,21,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,22,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *DerivativeLimitOrder) Reset() { + *x = DerivativeLimitOrder{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DerivativeLimitOrder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DerivativeLimitOrder) ProtoMessage() {} + +func (x *DerivativeLimitOrder) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DerivativeLimitOrder.ProtoReflect.Descriptor instead. +func (*DerivativeLimitOrder) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{40} +} + +func (x *DerivativeLimitOrder) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *DerivativeLimitOrder) GetOrderSide() string { + if x != nil { + return x.OrderSide + } + return "" +} + +func (x *DerivativeLimitOrder) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *DerivativeLimitOrder) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *DerivativeLimitOrder) GetIsReduceOnly() bool { + if x != nil { + return x.IsReduceOnly + } + return false +} + +func (x *DerivativeLimitOrder) GetMargin() string { + if x != nil { + return x.Margin + } + return "" +} + +func (x *DerivativeLimitOrder) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *DerivativeLimitOrder) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *DerivativeLimitOrder) GetUnfilledQuantity() string { + if x != nil { + return x.UnfilledQuantity + } + return "" +} + +func (x *DerivativeLimitOrder) GetTriggerPrice() string { + if x != nil { + return x.TriggerPrice + } + return "" +} + +func (x *DerivativeLimitOrder) GetFeeRecipient() string { + if x != nil { + return x.FeeRecipient + } + return "" +} + +func (x *DerivativeLimitOrder) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *DerivativeLimitOrder) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *DerivativeLimitOrder) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *DerivativeLimitOrder) GetOrderNumber() int64 { + if x != nil { + return x.OrderNumber + } + return 0 +} + +func (x *DerivativeLimitOrder) GetOrderType() string { + if x != nil { + return x.OrderType + } + return "" +} + +func (x *DerivativeLimitOrder) GetIsConditional() bool { + if x != nil { + return x.IsConditional + } + return false +} + +func (x *DerivativeLimitOrder) GetTriggerAt() uint64 { + if x != nil { + return x.TriggerAt + } + return 0 +} + +func (x *DerivativeLimitOrder) GetPlacedOrderHash() string { + if x != nil { + return x.PlacedOrderHash + } + return "" +} + +func (x *DerivativeLimitOrder) GetExecutionType() string { + if x != nil { + return x.ExecutionType + } + return "" +} + +func (x *DerivativeLimitOrder) GetTxHash() string { + if x != nil { + return x.TxHash + } + return "" +} + +func (x *DerivativeLimitOrder) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type OrderHistoryResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to OrderHistory: + // + // *OrderHistoryResult_SpotOrderHistory + // *OrderHistoryResult_DerivativeOrderHistory + OrderHistory isOrderHistoryResult_OrderHistory `protobuf_oneof:"order_history"` + // Order update type + OperationType string `protobuf:"bytes,3,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *OrderHistoryResult) Reset() { + *x = OrderHistoryResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderHistoryResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderHistoryResult) ProtoMessage() {} + +func (x *OrderHistoryResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderHistoryResult.ProtoReflect.Descriptor instead. +func (*OrderHistoryResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{41} +} + +func (m *OrderHistoryResult) GetOrderHistory() isOrderHistoryResult_OrderHistory { + if m != nil { + return m.OrderHistory + } + return nil +} + +func (x *OrderHistoryResult) GetSpotOrderHistory() *SpotOrderHistory { + if x, ok := x.GetOrderHistory().(*OrderHistoryResult_SpotOrderHistory); ok { + return x.SpotOrderHistory + } + return nil +} + +func (x *OrderHistoryResult) GetDerivativeOrderHistory() *DerivativeOrderHistory { + if x, ok := x.GetOrderHistory().(*OrderHistoryResult_DerivativeOrderHistory); ok { + return x.DerivativeOrderHistory + } + return nil +} + +func (x *OrderHistoryResult) GetOperationType() string { + if x != nil { + return x.OperationType + } + return "" +} + +func (x *OrderHistoryResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type isOrderHistoryResult_OrderHistory interface { + isOrderHistoryResult_OrderHistory() +} + +type OrderHistoryResult_SpotOrderHistory struct { + // Spot order history + SpotOrderHistory *SpotOrderHistory `protobuf:"bytes,1,opt,name=spot_order_history,json=spotOrderHistory,proto3,oneof"` +} + +type OrderHistoryResult_DerivativeOrderHistory struct { + // Derivative order history + DerivativeOrderHistory *DerivativeOrderHistory `protobuf:"bytes,2,opt,name=derivative_order_history,json=derivativeOrderHistory,proto3,oneof"` +} + +func (*OrderHistoryResult_SpotOrderHistory) isOrderHistoryResult_OrderHistory() {} + +func (*OrderHistoryResult_DerivativeOrderHistory) isOrderHistoryResult_OrderHistory() {} + +type SpotOrderHistory struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // Spot Market ID is keccak265(baseDenom + quoteDenom) + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // active state of the order + IsActive bool `protobuf:"varint,3,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The execution type + ExecutionType string `protobuf:"bytes,5,opt,name=execution_type,json=executionType,proto3" json:"execution_type,omitempty"` + // The side of the order + OrderType string `protobuf:"bytes,6,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` + // Price of the order + Price string `protobuf:"bytes,7,opt,name=price,proto3" json:"price,omitempty"` + // Trigger price + TriggerPrice string `protobuf:"bytes,8,opt,name=trigger_price,json=triggerPrice,proto3" json:"trigger_price,omitempty"` + // Quantity of the order + Quantity string `protobuf:"bytes,9,opt,name=quantity,proto3" json:"quantity,omitempty"` + // Filled amount + FilledQuantity string `protobuf:"bytes,10,opt,name=filled_quantity,json=filledQuantity,proto3" json:"filled_quantity,omitempty"` + // Order state + State string `protobuf:"bytes,11,opt,name=state,proto3" json:"state,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,13,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Order direction (order side) + Direction string `protobuf:"bytes,14,opt,name=direction,proto3" json:"direction,omitempty"` + // Transaction Hash where order is created. Not all orders have this field + TxHash string `protobuf:"bytes,15,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,16,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *SpotOrderHistory) Reset() { + *x = SpotOrderHistory{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpotOrderHistory) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpotOrderHistory) ProtoMessage() {} + +func (x *SpotOrderHistory) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SpotOrderHistory.ProtoReflect.Descriptor instead. +func (*SpotOrderHistory) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{42} +} + +func (x *SpotOrderHistory) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *SpotOrderHistory) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *SpotOrderHistory) GetIsActive() bool { + if x != nil { + return x.IsActive + } + return false +} + +func (x *SpotOrderHistory) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SpotOrderHistory) GetExecutionType() string { + if x != nil { + return x.ExecutionType + } + return "" +} + +func (x *SpotOrderHistory) GetOrderType() string { + if x != nil { + return x.OrderType + } + return "" +} + +func (x *SpotOrderHistory) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *SpotOrderHistory) GetTriggerPrice() string { + if x != nil { + return x.TriggerPrice + } + return "" +} + +func (x *SpotOrderHistory) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *SpotOrderHistory) GetFilledQuantity() string { + if x != nil { + return x.FilledQuantity + } + return "" +} + +func (x *SpotOrderHistory) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *SpotOrderHistory) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *SpotOrderHistory) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *SpotOrderHistory) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *SpotOrderHistory) GetTxHash() string { + if x != nil { + return x.TxHash + } + return "" +} + +func (x *SpotOrderHistory) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type DerivativeOrderHistory struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash of the order + OrderHash string `protobuf:"bytes,1,opt,name=order_hash,json=orderHash,proto3" json:"order_hash,omitempty"` + // Spot Market ID is keccak265(baseDenom + quoteDenom) + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // active state of the order + IsActive bool `protobuf:"varint,3,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` + // The subaccountId that this order belongs to + SubaccountId string `protobuf:"bytes,4,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // The execution type + ExecutionType string `protobuf:"bytes,5,opt,name=execution_type,json=executionType,proto3" json:"execution_type,omitempty"` + // The side of the order + OrderType string `protobuf:"bytes,6,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` + // Price of the order + Price string `protobuf:"bytes,7,opt,name=price,proto3" json:"price,omitempty"` + // Trigger price + TriggerPrice string `protobuf:"bytes,8,opt,name=trigger_price,json=triggerPrice,proto3" json:"trigger_price,omitempty"` + // Quantity of the order + Quantity string `protobuf:"bytes,9,opt,name=quantity,proto3" json:"quantity,omitempty"` + // Filled amount + FilledQuantity string `protobuf:"bytes,10,opt,name=filled_quantity,json=filledQuantity,proto3" json:"filled_quantity,omitempty"` + // Order state + State string `protobuf:"bytes,11,opt,name=state,proto3" json:"state,omitempty"` + // Order committed timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Order updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,13,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // True if an order is reduce only + IsReduceOnly bool `protobuf:"varint,14,opt,name=is_reduce_only,json=isReduceOnly,proto3" json:"is_reduce_only,omitempty"` + // Order direction (order side) + Direction string `protobuf:"bytes,15,opt,name=direction,proto3" json:"direction,omitempty"` + // True if this is conditional order, otherwise false + IsConditional bool `protobuf:"varint,16,opt,name=is_conditional,json=isConditional,proto3" json:"is_conditional,omitempty"` + // Trigger timestamp in unix milli + TriggerAt uint64 `protobuf:"varint,17,opt,name=trigger_at,json=triggerAt,proto3" json:"trigger_at,omitempty"` + // Order hash placed when this triggers + PlacedOrderHash string `protobuf:"bytes,18,opt,name=placed_order_hash,json=placedOrderHash,proto3" json:"placed_order_hash,omitempty"` + // Order's margin + Margin string `protobuf:"bytes,19,opt,name=margin,proto3" json:"margin,omitempty"` + // Transaction Hash where order is created. Not all orders have this field + TxHash string `protobuf:"bytes,20,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` + // Custom client order ID + Cid string `protobuf:"bytes,21,opt,name=cid,proto3" json:"cid,omitempty"` +} + +func (x *DerivativeOrderHistory) Reset() { + *x = DerivativeOrderHistory{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DerivativeOrderHistory) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DerivativeOrderHistory) ProtoMessage() {} + +func (x *DerivativeOrderHistory) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DerivativeOrderHistory.ProtoReflect.Descriptor instead. +func (*DerivativeOrderHistory) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{43} +} + +func (x *DerivativeOrderHistory) GetOrderHash() string { + if x != nil { + return x.OrderHash + } + return "" +} + +func (x *DerivativeOrderHistory) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *DerivativeOrderHistory) GetIsActive() bool { + if x != nil { + return x.IsActive + } + return false +} + +func (x *DerivativeOrderHistory) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *DerivativeOrderHistory) GetExecutionType() string { + if x != nil { + return x.ExecutionType + } + return "" +} + +func (x *DerivativeOrderHistory) GetOrderType() string { + if x != nil { + return x.OrderType + } + return "" +} + +func (x *DerivativeOrderHistory) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *DerivativeOrderHistory) GetTriggerPrice() string { + if x != nil { + return x.TriggerPrice + } + return "" +} + +func (x *DerivativeOrderHistory) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *DerivativeOrderHistory) GetFilledQuantity() string { + if x != nil { + return x.FilledQuantity + } + return "" +} + +func (x *DerivativeOrderHistory) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *DerivativeOrderHistory) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *DerivativeOrderHistory) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *DerivativeOrderHistory) GetIsReduceOnly() bool { + if x != nil { + return x.IsReduceOnly + } + return false +} + +func (x *DerivativeOrderHistory) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *DerivativeOrderHistory) GetIsConditional() bool { + if x != nil { + return x.IsConditional + } + return false +} + +func (x *DerivativeOrderHistory) GetTriggerAt() uint64 { + if x != nil { + return x.TriggerAt + } + return 0 +} + +func (x *DerivativeOrderHistory) GetPlacedOrderHash() string { + if x != nil { + return x.PlacedOrderHash + } + return "" +} + +func (x *DerivativeOrderHistory) GetMargin() string { + if x != nil { + return x.Margin + } + return "" +} + +func (x *DerivativeOrderHistory) GetTxHash() string { + if x != nil { + return x.TxHash + } + return "" +} + +func (x *DerivativeOrderHistory) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +type FundingPaymentResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Funding payments of the account + FundingPayments *FundingPayment `protobuf:"bytes,1,opt,name=funding_payments,json=fundingPayments,proto3" json:"funding_payments,omitempty"` + // Funding payments type + OperationType string `protobuf:"bytes,2,opt,name=operation_type,json=operationType,proto3" json:"operation_type,omitempty"` + // Operation timestamp in UNIX millis. + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *FundingPaymentResult) Reset() { + *x = FundingPaymentResult{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundingPaymentResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundingPaymentResult) ProtoMessage() {} + +func (x *FundingPaymentResult) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FundingPaymentResult.ProtoReflect.Descriptor instead. +func (*FundingPaymentResult) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{44} +} + +func (x *FundingPaymentResult) GetFundingPayments() *FundingPayment { + if x != nil { + return x.FundingPayments + } + return nil +} + +func (x *FundingPaymentResult) GetOperationType() string { + if x != nil { + return x.OperationType + } + return "" +} + +func (x *FundingPaymentResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +type FundingPayment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Derivative Market ID + MarketId string `protobuf:"bytes,1,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The subaccountId that the position belongs to + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Amount of the funding payment + Amount string `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` + // Timestamp of funding payment in UNIX millis + Timestamp int64 `protobuf:"zigzag64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *FundingPayment) Reset() { + *x = FundingPayment{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundingPayment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundingPayment) ProtoMessage() {} + +func (x *FundingPayment) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FundingPayment.ProtoReflect.Descriptor instead. +func (*FundingPayment) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP(), []int{45} +} + +func (x *FundingPayment) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *FundingPayment) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *FundingPayment) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +func (x *FundingPayment) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +var File_goadesign_goagen_injective_accounts_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_accounts_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x16, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x3b, 0x0a, 0x10, 0x50, 0x6f, 0x72, 0x74, 0x66, + 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x22, 0x5b, 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, + 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x09, 0x70, 0x6f, 0x72, + 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, + 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, + 0x6f, 0x22, 0x85, 0x02, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, + 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, + 0x6c, 0x69, 0x6f, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, + 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x64, 0x5f, 0x70, 0x6e, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x75, 0x6e, 0x72, + 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x6e, 0x6c, 0x12, 0x4d, 0x0a, 0x0b, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x0b, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0xb5, 0x01, 0x0a, 0x13, 0x53, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, + 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, + 0x6b, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, + 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x70, 0x6e, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x6e, + 0x6c, 0x22, 0x78, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x70, 0x6f, 0x74, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0f, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, + 0x68, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x22, 0xcd, 0x01, 0x0a, 0x13, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0f, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x17, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x52, 0x15, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x22, 0x8b, 0x03, 0x0a, 0x10, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x2d, + 0x0a, 0x12, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x71, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x12, 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, 0x0a, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x22, 0x41, 0x0a, 0x16, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3b, 0x0a, 0x17, + 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x5c, 0x0a, 0x1d, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x22, 0x67, 0x0a, 0x1e, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x22, 0xbc, 0x01, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x43, 0x0a, 0x07, 0x64, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x07, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x22, + 0x65, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x5d, 0x0a, 0x20, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x68, 0x0a, 0x21, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, + 0x5d, 0x0a, 0x1e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x22, 0x84, + 0x01, 0x0a, 0x1f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc1, 0x01, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x25, 0x0a, + 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x19, 0x53, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x09, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x22, 0xd5, 0x02, 0x0a, 0x19, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x23, + 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x73, 0x72, 0x63, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x2e, 0x0a, 0x13, 0x73, 0x72, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x72, + 0x63, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x2a, 0x0a, 0x11, 0x64, 0x73, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x73, 0x74, 0x53, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x64, + 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x73, 0x74, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x52, + 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 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, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, + 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x22, 0x8a, 0x01, + 0x0a, 0x1d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x1e, 0x53, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, + 0x11, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0f, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x15, 0x64, 0x65, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x74, 0x61, + 0x6c, 0x22, 0x4f, 0x0a, 0x0e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x22, + 0x90, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, + 0x69, 0x6e, 0x52, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x64, + 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x22, 0x34, 0x0a, 0x04, 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, 0x43, 0x0a, 0x18, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xde, 0x03, + 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x12, 0x73, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x11, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x39, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, + 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x0d, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x55, 0x0a, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0e, + 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x7c, + 0x0a, 0x17, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x6d, 0x0a, 0x0f, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x3c, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xe1, 0x02, 0x0a, 0x08, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, + 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, + 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, + 0xf5, 0x01, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x42, 0x0a, 0x0a, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x48, 0x00, 0x52, 0x09, 0x73, 0x70, 0x6f, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x12, 0x54, 0x0a, 0x10, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x07, + 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x22, 0xad, 0x03, 0x0a, 0x09, 0x53, 0x70, 0x6f, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, 0x72, 0x61, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, + 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x38, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x66, + 0x65, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, + 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, + 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, + 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xdd, 0x03, 0x0a, 0x0f, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, 0x72, 0x61, 0x64, 0x65, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, + 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, + 0x74, 0x61, 0x52, 0x0d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, + 0x61, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, + 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x0d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x72, + 0x67, 0x69, 0x6e, 0x22, 0xff, 0x01, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, + 0x00, 0x52, 0x09, 0x73, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x10, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x07, 0x0a, 0x05, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xb8, 0x03, 0x0a, 0x0e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x49, 0x64, 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, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, + 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 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, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, + 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, + 0x22, 0xd7, 0x05, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x64, 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, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, + 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, + 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x66, + 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, + 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, + 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 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, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 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, 0x0e, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, + 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, + 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, + 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xb0, 0x02, 0x0a, 0x12, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x58, 0x0a, 0x12, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x48, 0x00, 0x52, 0x10, 0x73, 0x70, 0x6f, 0x74, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x6a, 0x0a, 0x18, 0x64, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x48, 0x00, 0x52, + 0x16, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0f, 0x0a, 0x0d, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0xf3, 0x03, + 0x0a, 0x10, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, + 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1b, + 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 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, + 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, + 0x0f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, + 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, + 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, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, + 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x63, 0x69, 0x64, 0x22, 0xa9, 0x05, 0x0a, 0x16, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1d, + 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1b, 0x0a, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, + 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 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, 0x12, 0x25, 0x0a, 0x0e, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x6c, + 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, 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, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x64, + 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x69, 0x73, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1c, 0x0a, 0x09, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, + 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x74, + 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, + 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, + 0x72, 0x67, 0x69, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, + 0x03, 0x63, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, + 0xae, 0x01, 0x0a, 0x14, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x51, 0x0a, 0x10, 0x66, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x66, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 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, 0x23, 0x0a, 0x0d, 0x73, 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, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x32, 0xdc, 0x09, 0x0a, 0x14, + 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x52, 0x50, 0x43, 0x12, 0x60, 0x0a, 0x09, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, + 0x6f, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66, + 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, + 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x90, 0x01, 0x0a, + 0x19, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x8c, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x36, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x78, + 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x07, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, + 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, + 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, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_goadesign_goagen_injective_accounts_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_accounts_rpc_proto_rawDescData = file_goadesign_goagen_injective_accounts_rpc_proto_rawDesc +) + +func file_goadesign_goagen_injective_accounts_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_accounts_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_accounts_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_accounts_rpc_proto_rawDescData) + }) + return file_goadesign_goagen_injective_accounts_rpc_proto_rawDescData +} + +var file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 46) +var file_goadesign_goagen_injective_accounts_rpc_proto_goTypes = []interface{}{ + (*PortfolioRequest)(nil), // 0: injective_accounts_rpc.PortfolioRequest + (*PortfolioResponse)(nil), // 1: injective_accounts_rpc.PortfolioResponse + (*AccountPortfolio)(nil), // 2: injective_accounts_rpc.AccountPortfolio + (*SubaccountPortfolio)(nil), // 3: injective_accounts_rpc.SubaccountPortfolio + (*OrderStatesRequest)(nil), // 4: injective_accounts_rpc.OrderStatesRequest + (*OrderStatesResponse)(nil), // 5: injective_accounts_rpc.OrderStatesResponse + (*OrderStateRecord)(nil), // 6: injective_accounts_rpc.OrderStateRecord + (*SubaccountsListRequest)(nil), // 7: injective_accounts_rpc.SubaccountsListRequest + (*SubaccountsListResponse)(nil), // 8: injective_accounts_rpc.SubaccountsListResponse + (*SubaccountBalancesListRequest)(nil), // 9: injective_accounts_rpc.SubaccountBalancesListRequest + (*SubaccountBalancesListResponse)(nil), // 10: injective_accounts_rpc.SubaccountBalancesListResponse + (*SubaccountBalance)(nil), // 11: injective_accounts_rpc.SubaccountBalance + (*SubaccountDeposit)(nil), // 12: injective_accounts_rpc.SubaccountDeposit + (*SubaccountBalanceEndpointRequest)(nil), // 13: injective_accounts_rpc.SubaccountBalanceEndpointRequest + (*SubaccountBalanceEndpointResponse)(nil), // 14: injective_accounts_rpc.SubaccountBalanceEndpointResponse + (*StreamSubaccountBalanceRequest)(nil), // 15: injective_accounts_rpc.StreamSubaccountBalanceRequest + (*StreamSubaccountBalanceResponse)(nil), // 16: injective_accounts_rpc.StreamSubaccountBalanceResponse + (*SubaccountHistoryRequest)(nil), // 17: injective_accounts_rpc.SubaccountHistoryRequest + (*SubaccountHistoryResponse)(nil), // 18: injective_accounts_rpc.SubaccountHistoryResponse + (*SubaccountBalanceTransfer)(nil), // 19: injective_accounts_rpc.SubaccountBalanceTransfer + (*CosmosCoin)(nil), // 20: injective_accounts_rpc.CosmosCoin + (*Paging)(nil), // 21: injective_accounts_rpc.Paging + (*SubaccountOrderSummaryRequest)(nil), // 22: injective_accounts_rpc.SubaccountOrderSummaryRequest + (*SubaccountOrderSummaryResponse)(nil), // 23: injective_accounts_rpc.SubaccountOrderSummaryResponse + (*RewardsRequest)(nil), // 24: injective_accounts_rpc.RewardsRequest + (*RewardsResponse)(nil), // 25: injective_accounts_rpc.RewardsResponse + (*Reward)(nil), // 26: injective_accounts_rpc.Reward + (*Coin)(nil), // 27: injective_accounts_rpc.Coin + (*StreamAccountDataRequest)(nil), // 28: injective_accounts_rpc.StreamAccountDataRequest + (*StreamAccountDataResponse)(nil), // 29: injective_accounts_rpc.StreamAccountDataResponse + (*SubaccountBalanceResult)(nil), // 30: injective_accounts_rpc.SubaccountBalanceResult + (*PositionsResult)(nil), // 31: injective_accounts_rpc.PositionsResult + (*Position)(nil), // 32: injective_accounts_rpc.Position + (*TradeResult)(nil), // 33: injective_accounts_rpc.TradeResult + (*SpotTrade)(nil), // 34: injective_accounts_rpc.SpotTrade + (*PriceLevel)(nil), // 35: injective_accounts_rpc.PriceLevel + (*DerivativeTrade)(nil), // 36: injective_accounts_rpc.DerivativeTrade + (*PositionDelta)(nil), // 37: injective_accounts_rpc.PositionDelta + (*OrderResult)(nil), // 38: injective_accounts_rpc.OrderResult + (*SpotLimitOrder)(nil), // 39: injective_accounts_rpc.SpotLimitOrder + (*DerivativeLimitOrder)(nil), // 40: injective_accounts_rpc.DerivativeLimitOrder + (*OrderHistoryResult)(nil), // 41: injective_accounts_rpc.OrderHistoryResult + (*SpotOrderHistory)(nil), // 42: injective_accounts_rpc.SpotOrderHistory + (*DerivativeOrderHistory)(nil), // 43: injective_accounts_rpc.DerivativeOrderHistory + (*FundingPaymentResult)(nil), // 44: injective_accounts_rpc.FundingPaymentResult + (*FundingPayment)(nil), // 45: injective_accounts_rpc.FundingPayment +} +var file_goadesign_goagen_injective_accounts_rpc_proto_depIdxs = []int32{ + 2, // 0: injective_accounts_rpc.PortfolioResponse.portfolio:type_name -> injective_accounts_rpc.AccountPortfolio + 3, // 1: injective_accounts_rpc.AccountPortfolio.subaccounts:type_name -> injective_accounts_rpc.SubaccountPortfolio + 6, // 2: injective_accounts_rpc.OrderStatesResponse.spot_order_states:type_name -> injective_accounts_rpc.OrderStateRecord + 6, // 3: injective_accounts_rpc.OrderStatesResponse.derivative_order_states:type_name -> injective_accounts_rpc.OrderStateRecord + 11, // 4: injective_accounts_rpc.SubaccountBalancesListResponse.balances:type_name -> injective_accounts_rpc.SubaccountBalance + 12, // 5: injective_accounts_rpc.SubaccountBalance.deposit:type_name -> injective_accounts_rpc.SubaccountDeposit + 11, // 6: injective_accounts_rpc.SubaccountBalanceEndpointResponse.balance:type_name -> injective_accounts_rpc.SubaccountBalance + 11, // 7: injective_accounts_rpc.StreamSubaccountBalanceResponse.balance:type_name -> injective_accounts_rpc.SubaccountBalance + 19, // 8: injective_accounts_rpc.SubaccountHistoryResponse.transfers:type_name -> injective_accounts_rpc.SubaccountBalanceTransfer + 21, // 9: injective_accounts_rpc.SubaccountHistoryResponse.paging:type_name -> injective_accounts_rpc.Paging + 20, // 10: injective_accounts_rpc.SubaccountBalanceTransfer.amount:type_name -> injective_accounts_rpc.CosmosCoin + 26, // 11: injective_accounts_rpc.RewardsResponse.rewards:type_name -> injective_accounts_rpc.Reward + 27, // 12: injective_accounts_rpc.Reward.rewards:type_name -> injective_accounts_rpc.Coin + 30, // 13: injective_accounts_rpc.StreamAccountDataResponse.subaccount_balance:type_name -> injective_accounts_rpc.SubaccountBalanceResult + 31, // 14: injective_accounts_rpc.StreamAccountDataResponse.position:type_name -> injective_accounts_rpc.PositionsResult + 33, // 15: injective_accounts_rpc.StreamAccountDataResponse.trade:type_name -> injective_accounts_rpc.TradeResult + 38, // 16: injective_accounts_rpc.StreamAccountDataResponse.order:type_name -> injective_accounts_rpc.OrderResult + 41, // 17: injective_accounts_rpc.StreamAccountDataResponse.order_history:type_name -> injective_accounts_rpc.OrderHistoryResult + 44, // 18: injective_accounts_rpc.StreamAccountDataResponse.funding_payment:type_name -> injective_accounts_rpc.FundingPaymentResult + 11, // 19: injective_accounts_rpc.SubaccountBalanceResult.balance:type_name -> injective_accounts_rpc.SubaccountBalance + 32, // 20: injective_accounts_rpc.PositionsResult.position:type_name -> injective_accounts_rpc.Position + 34, // 21: injective_accounts_rpc.TradeResult.spot_trade:type_name -> injective_accounts_rpc.SpotTrade + 36, // 22: injective_accounts_rpc.TradeResult.derivative_trade:type_name -> injective_accounts_rpc.DerivativeTrade + 35, // 23: injective_accounts_rpc.SpotTrade.price:type_name -> injective_accounts_rpc.PriceLevel + 37, // 24: injective_accounts_rpc.DerivativeTrade.position_delta:type_name -> injective_accounts_rpc.PositionDelta + 39, // 25: injective_accounts_rpc.OrderResult.spot_order:type_name -> injective_accounts_rpc.SpotLimitOrder + 40, // 26: injective_accounts_rpc.OrderResult.derivative_order:type_name -> injective_accounts_rpc.DerivativeLimitOrder + 42, // 27: injective_accounts_rpc.OrderHistoryResult.spot_order_history:type_name -> injective_accounts_rpc.SpotOrderHistory + 43, // 28: injective_accounts_rpc.OrderHistoryResult.derivative_order_history:type_name -> injective_accounts_rpc.DerivativeOrderHistory + 45, // 29: injective_accounts_rpc.FundingPaymentResult.funding_payments:type_name -> injective_accounts_rpc.FundingPayment + 0, // 30: injective_accounts_rpc.InjectiveAccountsRPC.Portfolio:input_type -> injective_accounts_rpc.PortfolioRequest + 4, // 31: injective_accounts_rpc.InjectiveAccountsRPC.OrderStates:input_type -> injective_accounts_rpc.OrderStatesRequest + 7, // 32: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountsList:input_type -> injective_accounts_rpc.SubaccountsListRequest + 9, // 33: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalancesList:input_type -> injective_accounts_rpc.SubaccountBalancesListRequest + 13, // 34: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalanceEndpoint:input_type -> injective_accounts_rpc.SubaccountBalanceEndpointRequest + 15, // 35: injective_accounts_rpc.InjectiveAccountsRPC.StreamSubaccountBalance:input_type -> injective_accounts_rpc.StreamSubaccountBalanceRequest + 17, // 36: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountHistory:input_type -> injective_accounts_rpc.SubaccountHistoryRequest + 22, // 37: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountOrderSummary:input_type -> injective_accounts_rpc.SubaccountOrderSummaryRequest + 24, // 38: injective_accounts_rpc.InjectiveAccountsRPC.Rewards:input_type -> injective_accounts_rpc.RewardsRequest + 28, // 39: injective_accounts_rpc.InjectiveAccountsRPC.StreamAccountData:input_type -> injective_accounts_rpc.StreamAccountDataRequest + 1, // 40: injective_accounts_rpc.InjectiveAccountsRPC.Portfolio:output_type -> injective_accounts_rpc.PortfolioResponse + 5, // 41: injective_accounts_rpc.InjectiveAccountsRPC.OrderStates:output_type -> injective_accounts_rpc.OrderStatesResponse + 8, // 42: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountsList:output_type -> injective_accounts_rpc.SubaccountsListResponse + 10, // 43: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalancesList:output_type -> injective_accounts_rpc.SubaccountBalancesListResponse + 14, // 44: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountBalanceEndpoint:output_type -> injective_accounts_rpc.SubaccountBalanceEndpointResponse + 16, // 45: injective_accounts_rpc.InjectiveAccountsRPC.StreamSubaccountBalance:output_type -> injective_accounts_rpc.StreamSubaccountBalanceResponse + 18, // 46: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountHistory:output_type -> injective_accounts_rpc.SubaccountHistoryResponse + 23, // 47: injective_accounts_rpc.InjectiveAccountsRPC.SubaccountOrderSummary:output_type -> injective_accounts_rpc.SubaccountOrderSummaryResponse + 25, // 48: injective_accounts_rpc.InjectiveAccountsRPC.Rewards:output_type -> injective_accounts_rpc.RewardsResponse + 29, // 49: injective_accounts_rpc.InjectiveAccountsRPC.StreamAccountData:output_type -> injective_accounts_rpc.StreamAccountDataResponse + 40, // [40:50] is the sub-list for method output_type + 30, // [30:40] is the sub-list for method input_type + 30, // [30:30] is the sub-list for extension type_name + 30, // [30:30] is the sub-list for extension extendee + 0, // [0:30] is the sub-list for field type_name +} + +func init() { file_goadesign_goagen_injective_accounts_rpc_proto_init() } +func file_goadesign_goagen_injective_accounts_rpc_proto_init() { + if File_goadesign_goagen_injective_accounts_rpc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortfolioRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortfolioResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountPortfolio); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountPortfolio); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderStatesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderStatesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderStateRecord); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountsListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountsListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalancesListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalancesListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountDeposit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalanceEndpointRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalanceEndpointResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamSubaccountBalanceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamSubaccountBalanceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountHistoryRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountHistoryResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalanceTransfer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CosmosCoin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Paging); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountOrderSummaryRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountOrderSummaryResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RewardsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RewardsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Reward); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Coin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamAccountDataRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamAccountDataResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalanceResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PositionsResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Position); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TradeResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpotTrade); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PriceLevel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DerivativeTrade); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PositionDelta); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpotLimitOrder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DerivativeLimitOrder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderHistoryResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpotOrderHistory); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DerivativeOrderHistory); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundingPaymentResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundingPayment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[33].OneofWrappers = []interface{}{ + (*TradeResult_SpotTrade)(nil), + (*TradeResult_DerivativeTrade)(nil), + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[38].OneofWrappers = []interface{}{ + (*OrderResult_SpotOrder)(nil), + (*OrderResult_DerivativeOrder)(nil), + } + file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes[41].OneofWrappers = []interface{}{ + (*OrderHistoryResult_SpotOrderHistory)(nil), + (*OrderHistoryResult_DerivativeOrderHistory)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_goadesign_goagen_injective_accounts_rpc_proto_rawDesc, + NumEnums: 0, + NumMessages: 46, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_goadesign_goagen_injective_accounts_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_accounts_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_accounts_rpc_proto_msgTypes, + }.Build() + File_goadesign_goagen_injective_accounts_rpc_proto = out.File + file_goadesign_goagen_injective_accounts_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_accounts_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_accounts_rpc_proto_depIdxs = nil +} diff --git a/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.proto b/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.proto new file mode 100644 index 00000000..e28956da --- /dev/null +++ b/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.proto @@ -0,0 +1,623 @@ +// Code generated with goa v3.7.0, DO NOT EDIT. +// +// InjectiveAccountsRPC protocol buffer definition +// +// Command: +// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ + +syntax = "proto3"; + +package injective_accounts_rpc; + +option go_package = "/injective_accounts_rpcpb"; + +// InjectiveAccountsRPC defines API of Exchange Accounts provider. +service InjectiveAccountsRPC { + // Provide the account's portfolio value in USD. + rpc Portfolio (PortfolioRequest) returns (PortfolioResponse); + // List order states by order hashes + rpc OrderStates (OrderStatesRequest) returns (OrderStatesResponse); + // List all subaccounts IDs of an account address + rpc SubaccountsList (SubaccountsListRequest) returns (SubaccountsListResponse); + // List subaccount balances for the provided denoms. + rpc SubaccountBalancesList (SubaccountBalancesListRequest) returns (SubaccountBalancesListResponse); + // Gets a balance for specific coin denom + rpc SubaccountBalanceEndpoint (SubaccountBalanceEndpointRequest) returns (SubaccountBalanceEndpointResponse); + // StreamSubaccountBalance streams new balance changes for a specified +// subaccount and denoms. If no denoms are provided, all denom changes are +// streamed. + rpc StreamSubaccountBalance (StreamSubaccountBalanceRequest) returns (stream StreamSubaccountBalanceResponse); + // Get subaccount's deposits and withdrawals history + rpc SubaccountHistory (SubaccountHistoryRequest) returns (SubaccountHistoryResponse); + // Get subaccount's orders summary + rpc SubaccountOrderSummary (SubaccountOrderSummaryRequest) returns (SubaccountOrderSummaryResponse); + // Provide historical trading rewards + rpc Rewards (RewardsRequest) returns (RewardsResponse); + // Stream live data for an account and respective data + rpc StreamAccountData (StreamAccountDataRequest) returns (stream StreamAccountDataResponse); +} + +message PortfolioRequest { + // Account address + string account_address = 1; +} + +message PortfolioResponse { + // The portfolio of this account + AccountPortfolio portfolio = 1; +} + +message AccountPortfolio { + // The account's portfolio value in USD. + string portfolio_value = 1; + // The account's available balance value in USD. + string available_balance = 2; + // The account's locked balance value in USD. + string locked_balance = 3; + // The account's total unrealized PnL value in USD. + string unrealized_pnl = 4; + // List of all subaccounts' portfolio + repeated SubaccountPortfolio subaccounts = 5; +} + +message SubaccountPortfolio { + // The ID of this subaccount + string subaccount_id = 1; + // The subaccount's available balance value in USD. + string available_balance = 2; + // The subaccount's locked balance value in USD. + string locked_balance = 3; + // The subaccount's total unrealized PnL value in USD. + string unrealized_pnl = 4; +} + +message OrderStatesRequest { + repeated string spot_order_hashes = 1; + repeated string derivative_order_hashes = 2; +} + +message OrderStatesResponse { + // List of the spot order state records + repeated OrderStateRecord spot_order_states = 1; + // List of the derivative order state records + repeated OrderStateRecord derivative_order_states = 2; +} + +message OrderStateRecord { + // Hash of the order + string order_hash = 1; + // The subaccountId that this order belongs to + string subaccount_id = 2; + // The Market ID of the order + string market_id = 3; + // The type of the order + string order_type = 4; + // The side of the order + string order_side = 5; + // The state (status) of the order + string state = 6; + // The filled quantity of the order + string quantity_filled = 7; + // The filled quantity of the order + string quantity_remaining = 8; + // Order committed timestamp in UNIX millis. + sint64 created_at = 9; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 10; + // Order prices + string price = 11; + // Margin for derivative order + string margin = 12; +} + +message SubaccountsListRequest { + // Account address, the subaccounts owner + string account_address = 1; +} + +message SubaccountsListResponse { + repeated string subaccounts = 1; +} + +message SubaccountBalancesListRequest { + // SubaccountId of the trader we want to get the trades from + string subaccount_id = 1; + // Filter balances by denoms. If not set, the balances of all the denoms for +// the subaccount are provided. + repeated string denoms = 2; +} + +message SubaccountBalancesListResponse { + // List of subaccount balances + repeated SubaccountBalance balances = 1; +} + +message SubaccountBalance { + // Related subaccount ID + string subaccount_id = 1; + // Account address, owner of this subaccount + string account_address = 2; + // Coin denom on the chain. + string denom = 3; + SubaccountDeposit deposit = 4; +} + +message SubaccountDeposit { + string total_balance = 1; + string available_balance = 2; +} + +message SubaccountBalanceEndpointRequest { + // SubaccountId of the trader we want to get the trades from + string subaccount_id = 1; + // Specify denom to get balance + string denom = 2; +} + +message SubaccountBalanceEndpointResponse { + // Subaccount balance + SubaccountBalance balance = 1; +} + +message StreamSubaccountBalanceRequest { + // SubaccountId of the trader we want to get the trades from + string subaccount_id = 1; + // Filter balances by denoms. If not set, the balances of all the denoms for +// the subaccount are provided. + repeated string denoms = 2; +} + +message StreamSubaccountBalanceResponse { + // Subaccount balance + SubaccountBalance balance = 1; + // Operation timestamp in UNIX millis. + sint64 timestamp = 2; +} + +message SubaccountHistoryRequest { + // SubaccountId of the trader we want to get the history from + string subaccount_id = 1; + // Filter history by denom + string denom = 2; + // Filter history by transfer type + repeated string transfer_types = 3; + // Skip will skip the first n item from the result + uint64 skip = 4; + // Limit is used to specify the maximum number of items to be returned + sint32 limit = 5; + // Upper bound of account transfer history's executedAt + sint64 end_time = 6; +} + +message SubaccountHistoryResponse { + // List of subaccount transfers + repeated SubaccountBalanceTransfer transfers = 1; + Paging paging = 2; +} + +message SubaccountBalanceTransfer { + // Type of the subaccount balance transfer + string transfer_type = 1; + // Subaccount ID of the sending side + string src_subaccount_id = 2; + // Account address of the sending side + string src_account_address = 3; + // Subaccount ID of the receiving side + string dst_subaccount_id = 4; + // Account address of the receiving side + string dst_account_address = 5; + // Coin amount of the transfer + CosmosCoin amount = 6; + // Timestamp of the transfer in UNIX millis + sint64 executed_at = 7; +} + +message CosmosCoin { + // Coin denominator + string denom = 1; + // Coin amount (big int) + string amount = 2; +} +// Paging defines the structure for required params for handling pagination +message Paging { + // total number of txs saved in database + sint64 total = 1; + // can be either block height or index num + sint32 from = 2; + // can be either block height or index num + sint32 to = 3; + // count entries by subaccount, serving some places on helix + sint64 count_by_subaccount = 4; + // array of tokens to navigate to the next pages + repeated string next = 5; +} + +message SubaccountOrderSummaryRequest { + // SubaccountId of the trader we want to get the summary from + string subaccount_id = 1; + // MarketId is limiting order summary to specific market only + string market_id = 2; + // Filter by direction of the orders + string order_direction = 3; +} + +message SubaccountOrderSummaryResponse { + // Total count of subaccount's spot orders in given market and direction + sint64 spot_orders_total = 1; + // Total count of subaccount's derivative orders in given market and direction + sint64 derivative_orders_total = 2; +} + +message RewardsRequest { + // The distribution epoch sequence number. -1 for latest. + sint64 epoch = 1; + // Account address for the rewards distribution + string account_address = 2; +} + +message RewardsResponse { + // The trading rewards distributed + repeated Reward rewards = 1; +} + +message Reward { + // Account address + string account_address = 1; + // Reward coins distributed + repeated Coin rewards = 2; + // Rewards distribution timestamp in UNIX millis. + sint64 distributed_at = 3; +} + +message Coin { + // Denom of the coin + string denom = 1; + string amount = 2; +} + +message StreamAccountDataRequest { + // account address + string account_address = 1; +} + +message StreamAccountDataResponse { + SubaccountBalanceResult subaccount_balance = 1; + PositionsResult position = 2; + TradeResult trade = 3; + OrderResult order = 4; + OrderHistoryResult order_history = 5; + FundingPaymentResult funding_payment = 6; +} + +message SubaccountBalanceResult { + // Subaccount balance + SubaccountBalance balance = 1; + // Operation timestamp in UNIX millis. + sint64 timestamp = 2; +} + +message PositionsResult { + // Updated derivative Position + Position position = 1; + // Operation timestamp in UNIX millis. + sint64 timestamp = 2; +} + +message Position { + // Ticker of the derivative market + string ticker = 1; + // Derivative Market ID + string market_id = 2; + // The subaccountId that the position belongs to + string subaccount_id = 3; + // Direction of the position + string direction = 4; + // Quantity of the position + string quantity = 5; + // Price of the position + string entry_price = 6; + // Margin of the position + string margin = 7; + // LiquidationPrice of the position + string liquidation_price = 8; + // MarkPrice of the position + string mark_price = 9; + // Position updated timestamp in UNIX millis. + sint64 updated_at = 10; + // Position created timestamp in UNIX millis. + sint64 created_at = 11; +} + +message TradeResult { + oneof trade { + // New spot market trade + SpotTrade spot_trade = 1; + // New derivative market trade + DerivativeTrade derivative_trade = 2; + } + // Executed trades update type + string operation_type = 3; + // Operation timestamp in UNIX millis. + sint64 timestamp = 4; +} + +message SpotTrade { + // Maker order hash. + string order_hash = 1; + // The subaccountId that executed the trade + string subaccount_id = 2; + // The ID of the market that this trade is in + string market_id = 3; + // The execution type of the trade + string trade_execution_type = 4; + // The direction the trade + string trade_direction = 5; + // Price level at which trade has been executed + PriceLevel price = 6; + // The fee associated with the trade (quote asset denom) + string fee = 7; + // Timestamp of trade execution in UNIX millis + sint64 executed_at = 8; + // Fee recipient address + string fee_recipient = 9; + // A unique string that helps differentiate between trades + string trade_id = 10; + // Trade's execution side, marker/taker + string execution_side = 11; + // Custom client order ID + string cid = 12; +} + +message PriceLevel { + // Price number of the price level. + string price = 1; + // Quantity of the price level. + string quantity = 2; + // Price level last updated timestamp in UNIX millis. + sint64 timestamp = 3; +} + +message DerivativeTrade { + // Order hash. + string order_hash = 1; + // The subaccountId that executed the trade + string subaccount_id = 2; + // The ID of the market that this trade is in + string market_id = 3; + // The execution type of the trade + string trade_execution_type = 4; + // True if the trade is a liquidation + bool is_liquidation = 5; + // Position Delta from the trade + PositionDelta position_delta = 6; + // The payout associated with the trade + string payout = 7; + // The fee associated with the trade + string fee = 8; + // Timestamp of trade execution in UNIX millis + sint64 executed_at = 9; + // Fee recipient address + string fee_recipient = 10; + // A unique string that helps differentiate between trades + string trade_id = 11; + // Trade's execution side, marker/taker + string execution_side = 12; + // Custom client order ID + string cid = 13; +} + +message PositionDelta { + // The direction the trade + string trade_direction = 1; + // Execution Price of the trade. + string execution_price = 2; + // Execution Quantity of the trade. + string execution_quantity = 3; + // Execution Margin of the trade. + string execution_margin = 4; +} + +message OrderResult { + oneof order { + // Updated spot market order + SpotLimitOrder spot_order = 1; + // Updated derivative market order + DerivativeLimitOrder derivative_order = 2; + } + // Executed orders update type + string operation_type = 3; + // Operation timestamp in UNIX millis. + sint64 timestamp = 4; +} + +message SpotLimitOrder { + // Hash of the order + string order_hash = 1; + // The side of the order + string order_side = 2; + // Spot Market ID is keccak265(baseDenom + quoteDenom) + string market_id = 3; + // The subaccountId that this order belongs to + string subaccount_id = 4; + // Price of the order + string price = 5; + // Quantity of the order + string quantity = 6; + // The amount of the quantity remaining unfilled + string unfilled_quantity = 7; + // Trigger price is the trigger price used by stop/take orders. 0 if the +// trigger price is not set. + string trigger_price = 8; + // Fee recipient address + string fee_recipient = 9; + // Order state + string state = 10; + // Order committed timestamp in UNIX millis. + sint64 created_at = 11; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 12; + // Transaction Hash where order is created. Not all orders have this field + string tx_hash = 13; + // Custom client order ID + string cid = 14; +} + +message DerivativeLimitOrder { + // Hash of the order + string order_hash = 1; + // The side of the order + string order_side = 2; + // Derivative Market ID + string market_id = 3; + // The subaccountId that this order belongs to + string subaccount_id = 4; + // True if the order is a reduce-only order + bool is_reduce_only = 5; + // Margin of the order + string margin = 6; + // Price of the order + string price = 7; + // Quantity of the order + string quantity = 8; + // The amount of the quantity remaining unfilled + string unfilled_quantity = 9; + // Trigger price is the trigger price used by stop/take orders + string trigger_price = 10; + // Fee recipient address + string fee_recipient = 11; + // Order state + string state = 12; + // Order committed timestamp in UNIX millis. + sint64 created_at = 13; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 14; + // Order number of subaccount + sint64 order_number = 15; + // Order type + string order_type = 16; + // Order type + bool is_conditional = 17; + // Trigger timestamp, only exists for conditional orders + uint64 trigger_at = 18; + // OrderHash of order that is triggered by this conditional order + string placed_order_hash = 19; + // Execution type of conditional order + string execution_type = 20; + // Transaction Hash where order is created. Not all orders have this field + string tx_hash = 21; + // Custom client order ID + string cid = 22; +} + +message OrderHistoryResult { + oneof order_history { + // Spot order history + SpotOrderHistory spot_order_history = 1; + // Derivative order history + DerivativeOrderHistory derivative_order_history = 2; + } + // Order update type + string operation_type = 3; + // Operation timestamp in UNIX millis. + sint64 timestamp = 4; +} + +message SpotOrderHistory { + // Hash of the order + string order_hash = 1; + // Spot Market ID is keccak265(baseDenom + quoteDenom) + string market_id = 2; + // active state of the order + bool is_active = 3; + // The subaccountId that this order belongs to + string subaccount_id = 4; + // The execution type + string execution_type = 5; + // The side of the order + string order_type = 6; + // Price of the order + string price = 7; + // Trigger price + string trigger_price = 8; + // Quantity of the order + string quantity = 9; + // Filled amount + string filled_quantity = 10; + // Order state + string state = 11; + // Order committed timestamp in UNIX millis. + sint64 created_at = 12; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 13; + // Order direction (order side) + string direction = 14; + // Transaction Hash where order is created. Not all orders have this field + string tx_hash = 15; + // Custom client order ID + string cid = 16; +} + +message DerivativeOrderHistory { + // Hash of the order + string order_hash = 1; + // Spot Market ID is keccak265(baseDenom + quoteDenom) + string market_id = 2; + // active state of the order + bool is_active = 3; + // The subaccountId that this order belongs to + string subaccount_id = 4; + // The execution type + string execution_type = 5; + // The side of the order + string order_type = 6; + // Price of the order + string price = 7; + // Trigger price + string trigger_price = 8; + // Quantity of the order + string quantity = 9; + // Filled amount + string filled_quantity = 10; + // Order state + string state = 11; + // Order committed timestamp in UNIX millis. + sint64 created_at = 12; + // Order updated timestamp in UNIX millis. + sint64 updated_at = 13; + // True if an order is reduce only + bool is_reduce_only = 14; + // Order direction (order side) + string direction = 15; + // True if this is conditional order, otherwise false + bool is_conditional = 16; + // Trigger timestamp in unix milli + uint64 trigger_at = 17; + // Order hash placed when this triggers + string placed_order_hash = 18; + // Order's margin + string margin = 19; + // Transaction Hash where order is created. Not all orders have this field + string tx_hash = 20; + // Custom client order ID + string cid = 21; +} + +message FundingPaymentResult { + // Funding payments of the account + FundingPayment funding_payments = 1; + // Funding payments type + string operation_type = 2; + // Operation timestamp in UNIX millis. + sint64 timestamp = 4; +} + +message FundingPayment { + // Derivative Market ID + string market_id = 1; + // The subaccountId that the position belongs to + string subaccount_id = 2; + // Amount of the funding payment + string amount = 3; + // Timestamp of funding payment in UNIX millis + sint64 timestamp = 4; +} diff --git a/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go b/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go new file mode 100644 index 00000000..fc873c15 --- /dev/null +++ b/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go @@ -0,0 +1,508 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_accounts_rpc.proto + +package injective_accounts_rpcpb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// InjectiveAccountsRPCClient is the client API for InjectiveAccountsRPC service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type InjectiveAccountsRPCClient interface { + // Provide the account's portfolio value in USD. + Portfolio(ctx context.Context, in *PortfolioRequest, opts ...grpc.CallOption) (*PortfolioResponse, error) + // List order states by order hashes + OrderStates(ctx context.Context, in *OrderStatesRequest, opts ...grpc.CallOption) (*OrderStatesResponse, error) + // List all subaccounts IDs of an account address + SubaccountsList(ctx context.Context, in *SubaccountsListRequest, opts ...grpc.CallOption) (*SubaccountsListResponse, error) + // List subaccount balances for the provided denoms. + SubaccountBalancesList(ctx context.Context, in *SubaccountBalancesListRequest, opts ...grpc.CallOption) (*SubaccountBalancesListResponse, error) + // Gets a balance for specific coin denom + SubaccountBalanceEndpoint(ctx context.Context, in *SubaccountBalanceEndpointRequest, opts ...grpc.CallOption) (*SubaccountBalanceEndpointResponse, error) + // StreamSubaccountBalance streams new balance changes for a specified + // subaccount and denoms. If no denoms are provided, all denom changes are + // streamed. + StreamSubaccountBalance(ctx context.Context, in *StreamSubaccountBalanceRequest, opts ...grpc.CallOption) (InjectiveAccountsRPC_StreamSubaccountBalanceClient, error) + // Get subaccount's deposits and withdrawals history + SubaccountHistory(ctx context.Context, in *SubaccountHistoryRequest, opts ...grpc.CallOption) (*SubaccountHistoryResponse, error) + // Get subaccount's orders summary + SubaccountOrderSummary(ctx context.Context, in *SubaccountOrderSummaryRequest, opts ...grpc.CallOption) (*SubaccountOrderSummaryResponse, error) + // Provide historical trading rewards + Rewards(ctx context.Context, in *RewardsRequest, opts ...grpc.CallOption) (*RewardsResponse, error) + // Stream live data for an account and respective data + StreamAccountData(ctx context.Context, in *StreamAccountDataRequest, opts ...grpc.CallOption) (InjectiveAccountsRPC_StreamAccountDataClient, error) +} + +type injectiveAccountsRPCClient struct { + cc grpc.ClientConnInterface +} + +func NewInjectiveAccountsRPCClient(cc grpc.ClientConnInterface) InjectiveAccountsRPCClient { + return &injectiveAccountsRPCClient{cc} +} + +func (c *injectiveAccountsRPCClient) Portfolio(ctx context.Context, in *PortfolioRequest, opts ...grpc.CallOption) (*PortfolioResponse, error) { + out := new(PortfolioResponse) + err := c.cc.Invoke(ctx, "/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *injectiveAccountsRPCClient) OrderStates(ctx context.Context, in *OrderStatesRequest, opts ...grpc.CallOption) (*OrderStatesResponse, error) { + out := new(OrderStatesResponse) + err := c.cc.Invoke(ctx, "/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *injectiveAccountsRPCClient) SubaccountsList(ctx context.Context, in *SubaccountsListRequest, opts ...grpc.CallOption) (*SubaccountsListResponse, error) { + out := new(SubaccountsListResponse) + err := c.cc.Invoke(ctx, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *injectiveAccountsRPCClient) SubaccountBalancesList(ctx context.Context, in *SubaccountBalancesListRequest, opts ...grpc.CallOption) (*SubaccountBalancesListResponse, error) { + out := new(SubaccountBalancesListResponse) + err := c.cc.Invoke(ctx, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *injectiveAccountsRPCClient) SubaccountBalanceEndpoint(ctx context.Context, in *SubaccountBalanceEndpointRequest, opts ...grpc.CallOption) (*SubaccountBalanceEndpointResponse, error) { + out := new(SubaccountBalanceEndpointResponse) + err := c.cc.Invoke(ctx, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *injectiveAccountsRPCClient) StreamSubaccountBalance(ctx context.Context, in *StreamSubaccountBalanceRequest, opts ...grpc.CallOption) (InjectiveAccountsRPC_StreamSubaccountBalanceClient, error) { + stream, err := c.cc.NewStream(ctx, &InjectiveAccountsRPC_ServiceDesc.Streams[0], "/injective_accounts_rpc.InjectiveAccountsRPC/StreamSubaccountBalance", opts...) + if err != nil { + return nil, err + } + x := &injectiveAccountsRPCStreamSubaccountBalanceClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type InjectiveAccountsRPC_StreamSubaccountBalanceClient interface { + Recv() (*StreamSubaccountBalanceResponse, error) + grpc.ClientStream +} + +type injectiveAccountsRPCStreamSubaccountBalanceClient struct { + grpc.ClientStream +} + +func (x *injectiveAccountsRPCStreamSubaccountBalanceClient) Recv() (*StreamSubaccountBalanceResponse, error) { + m := new(StreamSubaccountBalanceResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *injectiveAccountsRPCClient) SubaccountHistory(ctx context.Context, in *SubaccountHistoryRequest, opts ...grpc.CallOption) (*SubaccountHistoryResponse, error) { + out := new(SubaccountHistoryResponse) + err := c.cc.Invoke(ctx, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *injectiveAccountsRPCClient) SubaccountOrderSummary(ctx context.Context, in *SubaccountOrderSummaryRequest, opts ...grpc.CallOption) (*SubaccountOrderSummaryResponse, error) { + out := new(SubaccountOrderSummaryResponse) + err := c.cc.Invoke(ctx, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *injectiveAccountsRPCClient) Rewards(ctx context.Context, in *RewardsRequest, opts ...grpc.CallOption) (*RewardsResponse, error) { + out := new(RewardsResponse) + err := c.cc.Invoke(ctx, "/injective_accounts_rpc.InjectiveAccountsRPC/Rewards", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *injectiveAccountsRPCClient) StreamAccountData(ctx context.Context, in *StreamAccountDataRequest, opts ...grpc.CallOption) (InjectiveAccountsRPC_StreamAccountDataClient, error) { + stream, err := c.cc.NewStream(ctx, &InjectiveAccountsRPC_ServiceDesc.Streams[1], "/injective_accounts_rpc.InjectiveAccountsRPC/StreamAccountData", opts...) + if err != nil { + return nil, err + } + x := &injectiveAccountsRPCStreamAccountDataClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type InjectiveAccountsRPC_StreamAccountDataClient interface { + Recv() (*StreamAccountDataResponse, error) + grpc.ClientStream +} + +type injectiveAccountsRPCStreamAccountDataClient struct { + grpc.ClientStream +} + +func (x *injectiveAccountsRPCStreamAccountDataClient) Recv() (*StreamAccountDataResponse, error) { + m := new(StreamAccountDataResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// InjectiveAccountsRPCServer is the server API for InjectiveAccountsRPC service. +// All implementations must embed UnimplementedInjectiveAccountsRPCServer +// for forward compatibility +type InjectiveAccountsRPCServer interface { + // Provide the account's portfolio value in USD. + Portfolio(context.Context, *PortfolioRequest) (*PortfolioResponse, error) + // List order states by order hashes + OrderStates(context.Context, *OrderStatesRequest) (*OrderStatesResponse, error) + // List all subaccounts IDs of an account address + SubaccountsList(context.Context, *SubaccountsListRequest) (*SubaccountsListResponse, error) + // List subaccount balances for the provided denoms. + SubaccountBalancesList(context.Context, *SubaccountBalancesListRequest) (*SubaccountBalancesListResponse, error) + // Gets a balance for specific coin denom + SubaccountBalanceEndpoint(context.Context, *SubaccountBalanceEndpointRequest) (*SubaccountBalanceEndpointResponse, error) + // StreamSubaccountBalance streams new balance changes for a specified + // subaccount and denoms. If no denoms are provided, all denom changes are + // streamed. + StreamSubaccountBalance(*StreamSubaccountBalanceRequest, InjectiveAccountsRPC_StreamSubaccountBalanceServer) error + // Get subaccount's deposits and withdrawals history + SubaccountHistory(context.Context, *SubaccountHistoryRequest) (*SubaccountHistoryResponse, error) + // Get subaccount's orders summary + SubaccountOrderSummary(context.Context, *SubaccountOrderSummaryRequest) (*SubaccountOrderSummaryResponse, error) + // Provide historical trading rewards + Rewards(context.Context, *RewardsRequest) (*RewardsResponse, error) + // Stream live data for an account and respective data + StreamAccountData(*StreamAccountDataRequest, InjectiveAccountsRPC_StreamAccountDataServer) error + mustEmbedUnimplementedInjectiveAccountsRPCServer() +} + +// UnimplementedInjectiveAccountsRPCServer must be embedded to have forward compatible implementations. +type UnimplementedInjectiveAccountsRPCServer struct { +} + +func (UnimplementedInjectiveAccountsRPCServer) Portfolio(context.Context, *PortfolioRequest) (*PortfolioResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Portfolio not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) OrderStates(context.Context, *OrderStatesRequest) (*OrderStatesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method OrderStates not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) SubaccountsList(context.Context, *SubaccountsListRequest) (*SubaccountsListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SubaccountsList not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) SubaccountBalancesList(context.Context, *SubaccountBalancesListRequest) (*SubaccountBalancesListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SubaccountBalancesList not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) SubaccountBalanceEndpoint(context.Context, *SubaccountBalanceEndpointRequest) (*SubaccountBalanceEndpointResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SubaccountBalanceEndpoint not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) StreamSubaccountBalance(*StreamSubaccountBalanceRequest, InjectiveAccountsRPC_StreamSubaccountBalanceServer) error { + return status.Errorf(codes.Unimplemented, "method StreamSubaccountBalance not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) SubaccountHistory(context.Context, *SubaccountHistoryRequest) (*SubaccountHistoryResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SubaccountHistory not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) SubaccountOrderSummary(context.Context, *SubaccountOrderSummaryRequest) (*SubaccountOrderSummaryResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SubaccountOrderSummary not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) Rewards(context.Context, *RewardsRequest) (*RewardsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Rewards not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) StreamAccountData(*StreamAccountDataRequest, InjectiveAccountsRPC_StreamAccountDataServer) error { + return status.Errorf(codes.Unimplemented, "method StreamAccountData not implemented") +} +func (UnimplementedInjectiveAccountsRPCServer) mustEmbedUnimplementedInjectiveAccountsRPCServer() {} + +// UnsafeInjectiveAccountsRPCServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to InjectiveAccountsRPCServer will +// result in compilation errors. +type UnsafeInjectiveAccountsRPCServer interface { + mustEmbedUnimplementedInjectiveAccountsRPCServer() +} + +func RegisterInjectiveAccountsRPCServer(s grpc.ServiceRegistrar, srv InjectiveAccountsRPCServer) { + s.RegisterService(&InjectiveAccountsRPC_ServiceDesc, srv) +} + +func _InjectiveAccountsRPC_Portfolio_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PortfolioRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveAccountsRPCServer).Portfolio(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveAccountsRPCServer).Portfolio(ctx, req.(*PortfolioRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InjectiveAccountsRPC_OrderStates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OrderStatesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveAccountsRPCServer).OrderStates(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveAccountsRPCServer).OrderStates(ctx, req.(*OrderStatesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InjectiveAccountsRPC_SubaccountsList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SubaccountsListRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveAccountsRPCServer).SubaccountsList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveAccountsRPCServer).SubaccountsList(ctx, req.(*SubaccountsListRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InjectiveAccountsRPC_SubaccountBalancesList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SubaccountBalancesListRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveAccountsRPCServer).SubaccountBalancesList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveAccountsRPCServer).SubaccountBalancesList(ctx, req.(*SubaccountBalancesListRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InjectiveAccountsRPC_SubaccountBalanceEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SubaccountBalanceEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveAccountsRPCServer).SubaccountBalanceEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveAccountsRPCServer).SubaccountBalanceEndpoint(ctx, req.(*SubaccountBalanceEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InjectiveAccountsRPC_StreamSubaccountBalance_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(StreamSubaccountBalanceRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(InjectiveAccountsRPCServer).StreamSubaccountBalance(m, &injectiveAccountsRPCStreamSubaccountBalanceServer{stream}) +} + +type InjectiveAccountsRPC_StreamSubaccountBalanceServer interface { + Send(*StreamSubaccountBalanceResponse) error + grpc.ServerStream +} + +type injectiveAccountsRPCStreamSubaccountBalanceServer struct { + grpc.ServerStream +} + +func (x *injectiveAccountsRPCStreamSubaccountBalanceServer) Send(m *StreamSubaccountBalanceResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _InjectiveAccountsRPC_SubaccountHistory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SubaccountHistoryRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveAccountsRPCServer).SubaccountHistory(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveAccountsRPCServer).SubaccountHistory(ctx, req.(*SubaccountHistoryRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InjectiveAccountsRPC_SubaccountOrderSummary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SubaccountOrderSummaryRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveAccountsRPCServer).SubaccountOrderSummary(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveAccountsRPCServer).SubaccountOrderSummary(ctx, req.(*SubaccountOrderSummaryRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InjectiveAccountsRPC_Rewards_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RewardsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveAccountsRPCServer).Rewards(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_accounts_rpc.InjectiveAccountsRPC/Rewards", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveAccountsRPCServer).Rewards(ctx, req.(*RewardsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _InjectiveAccountsRPC_StreamAccountData_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(StreamAccountDataRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(InjectiveAccountsRPCServer).StreamAccountData(m, &injectiveAccountsRPCStreamAccountDataServer{stream}) +} + +type InjectiveAccountsRPC_StreamAccountDataServer interface { + Send(*StreamAccountDataResponse) error + grpc.ServerStream +} + +type injectiveAccountsRPCStreamAccountDataServer struct { + grpc.ServerStream +} + +func (x *injectiveAccountsRPCStreamAccountDataServer) Send(m *StreamAccountDataResponse) error { + return x.ServerStream.SendMsg(m) +} + +// InjectiveAccountsRPC_ServiceDesc is the grpc.ServiceDesc for InjectiveAccountsRPC service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var InjectiveAccountsRPC_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "injective_accounts_rpc.InjectiveAccountsRPC", + HandlerType: (*InjectiveAccountsRPCServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Portfolio", + Handler: _InjectiveAccountsRPC_Portfolio_Handler, + }, + { + MethodName: "OrderStates", + Handler: _InjectiveAccountsRPC_OrderStates_Handler, + }, + { + MethodName: "SubaccountsList", + Handler: _InjectiveAccountsRPC_SubaccountsList_Handler, + }, + { + MethodName: "SubaccountBalancesList", + Handler: _InjectiveAccountsRPC_SubaccountBalancesList_Handler, + }, + { + MethodName: "SubaccountBalanceEndpoint", + Handler: _InjectiveAccountsRPC_SubaccountBalanceEndpoint_Handler, + }, + { + MethodName: "SubaccountHistory", + Handler: _InjectiveAccountsRPC_SubaccountHistory_Handler, + }, + { + MethodName: "SubaccountOrderSummary", + Handler: _InjectiveAccountsRPC_SubaccountOrderSummary_Handler, + }, + { + MethodName: "Rewards", + Handler: _InjectiveAccountsRPC_Rewards_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "StreamSubaccountBalance", + Handler: _InjectiveAccountsRPC_StreamSubaccountBalance_Handler, + ServerStreams: true, + }, + { + StreamName: "StreamAccountData", + Handler: _InjectiveAccountsRPC_StreamAccountData_Handler, + ServerStreams: true, + }, + }, + Metadata: "goadesign_goagen_injective_accounts_rpc.proto", +} diff --git a/exchange/accounts_rpc/pb/pb/injective_accounts_rpc.pb.gw.go b/exchange/accounts_rpc/pb/pb/injective_accounts_rpc.pb.gw.go new file mode 100644 index 00000000..4ceab949 --- /dev/null +++ b/exchange/accounts_rpc/pb/pb/injective_accounts_rpc.pb.gw.go @@ -0,0 +1,882 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: injective_accounts_rpc.proto + +/* +Package injective_accounts_rpcpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package injective_accounts_rpcpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_InjectiveAccountsRPC_Portfolio_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PortfolioRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Portfolio(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveAccountsRPC_Portfolio_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveAccountsRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PortfolioRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Portfolio(ctx, &protoReq) + return msg, metadata, err + +} + +func request_InjectiveAccountsRPC_OrderStates_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrderStatesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.OrderStates(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveAccountsRPC_OrderStates_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveAccountsRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq OrderStatesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.OrderStates(ctx, &protoReq) + return msg, metadata, err + +} + +func request_InjectiveAccountsRPC_SubaccountsList_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountsListRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.SubaccountsList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveAccountsRPC_SubaccountsList_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveAccountsRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountsListRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SubaccountsList(ctx, &protoReq) + return msg, metadata, err + +} + +func request_InjectiveAccountsRPC_SubaccountBalancesList_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountBalancesListRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.SubaccountBalancesList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveAccountsRPC_SubaccountBalancesList_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveAccountsRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountBalancesListRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SubaccountBalancesList(ctx, &protoReq) + return msg, metadata, err + +} + +func request_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountBalanceEndpointRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.SubaccountBalanceEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveAccountsRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountBalanceEndpointRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SubaccountBalanceEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +func request_InjectiveAccountsRPC_StreamSubaccountBalance_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (InjectiveAccountsRPC_StreamSubaccountBalanceClient, runtime.ServerMetadata, error) { + var protoReq StreamSubaccountBalanceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + stream, err := client.StreamSubaccountBalance(ctx, &protoReq) + if err != nil { + return nil, metadata, err + } + header, err := stream.Header() + if err != nil { + return nil, metadata, err + } + metadata.HeaderMD = header + return stream, metadata, nil + +} + +func request_InjectiveAccountsRPC_SubaccountHistory_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountHistoryRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.SubaccountHistory(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveAccountsRPC_SubaccountHistory_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveAccountsRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountHistoryRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SubaccountHistory(ctx, &protoReq) + return msg, metadata, err + +} + +func request_InjectiveAccountsRPC_SubaccountOrderSummary_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountOrderSummaryRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.SubaccountOrderSummary(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveAccountsRPC_SubaccountOrderSummary_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveAccountsRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SubaccountOrderSummaryRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SubaccountOrderSummary(ctx, &protoReq) + return msg, metadata, err + +} + +func request_InjectiveAccountsRPC_Rewards_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RewardsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Rewards(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveAccountsRPC_Rewards_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveAccountsRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RewardsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Rewards(ctx, &protoReq) + return msg, metadata, err + +} + +func request_InjectiveAccountsRPC_StreamAccountData_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveAccountsRPCClient, req *http.Request, pathParams map[string]string) (InjectiveAccountsRPC_StreamAccountDataClient, runtime.ServerMetadata, error) { + var protoReq StreamAccountDataRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + stream, err := client.StreamAccountData(ctx, &protoReq) + if err != nil { + return nil, metadata, err + } + header, err := stream.Header() + if err != nil { + return nil, metadata, err + } + metadata.HeaderMD = header + return stream, metadata, nil + +} + +// RegisterInjectiveAccountsRPCHandlerServer registers the http handlers for service InjectiveAccountsRPC to "mux". +// UnaryRPC :call InjectiveAccountsRPCServer 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 to stop working. Consider using RegisterInjectiveAccountsRPCHandlerFromEndpoint instead. +func RegisterInjectiveAccountsRPCHandlerServer(ctx context.Context, mux *runtime.ServeMux, server InjectiveAccountsRPCServer) error { + + mux.Handle("POST", pattern_InjectiveAccountsRPC_Portfolio_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_InjectiveAccountsRPC_Portfolio_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_Portfolio_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_OrderStates_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_InjectiveAccountsRPC_OrderStates_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_OrderStates_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountsList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountsList_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountsList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountBalancesList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountBalancesList_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountBalancesList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_StreamSubaccountBalance_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") + _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountHistory_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountHistory_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountOrderSummary_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_InjectiveAccountsRPC_SubaccountOrderSummary_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountOrderSummary_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_Rewards_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Rewards", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Rewards")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_InjectiveAccountsRPC_Rewards_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_Rewards_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_StreamAccountData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") + _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + }) + + return nil +} + +// RegisterInjectiveAccountsRPCHandlerFromEndpoint is same as RegisterInjectiveAccountsRPCHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterInjectiveAccountsRPCHandlerFromEndpoint(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 RegisterInjectiveAccountsRPCHandler(ctx, mux, conn) +} + +// RegisterInjectiveAccountsRPCHandler registers the http handlers for service InjectiveAccountsRPC to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterInjectiveAccountsRPCHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterInjectiveAccountsRPCHandlerClient(ctx, mux, NewInjectiveAccountsRPCClient(conn)) +} + +// RegisterInjectiveAccountsRPCHandlerClient registers the http handlers for service InjectiveAccountsRPC +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "InjectiveAccountsRPCClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "InjectiveAccountsRPCClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "InjectiveAccountsRPCClient" to call the correct interceptors. +func RegisterInjectiveAccountsRPCHandlerClient(ctx context.Context, mux *runtime.ServeMux, client InjectiveAccountsRPCClient) error { + + mux.Handle("POST", pattern_InjectiveAccountsRPC_Portfolio_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Portfolio")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_Portfolio_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_Portfolio_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_OrderStates_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/OrderStates")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_OrderStates_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_OrderStates_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountsList_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountsList")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_SubaccountsList_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountsList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountBalancesList_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalancesList")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_SubaccountBalancesList_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountBalancesList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountBalanceEndpoint_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountBalanceEndpoint")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_StreamSubaccountBalance_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/StreamSubaccountBalance", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/StreamSubaccountBalance")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_StreamSubaccountBalance_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_StreamSubaccountBalance_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountHistory_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountHistory")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_SubaccountHistory_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_SubaccountOrderSummary_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/SubaccountOrderSummary")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_SubaccountOrderSummary_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_SubaccountOrderSummary_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_Rewards_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/Rewards", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/Rewards")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_Rewards_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_Rewards_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveAccountsRPC_StreamAccountData_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_accounts_rpc.InjectiveAccountsRPC/StreamAccountData", runtime.WithHTTPPathPattern("/injective_accounts_rpc.InjectiveAccountsRPC/StreamAccountData")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveAccountsRPC_StreamAccountData_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveAccountsRPC_StreamAccountData_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_InjectiveAccountsRPC_Portfolio_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "Portfolio"}, "")) + + pattern_InjectiveAccountsRPC_OrderStates_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "OrderStates"}, "")) + + pattern_InjectiveAccountsRPC_SubaccountsList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "SubaccountsList"}, "")) + + pattern_InjectiveAccountsRPC_SubaccountBalancesList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "SubaccountBalancesList"}, "")) + + pattern_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "SubaccountBalanceEndpoint"}, "")) + + pattern_InjectiveAccountsRPC_StreamSubaccountBalance_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "StreamSubaccountBalance"}, "")) + + pattern_InjectiveAccountsRPC_SubaccountHistory_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "SubaccountHistory"}, "")) + + pattern_InjectiveAccountsRPC_SubaccountOrderSummary_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "SubaccountOrderSummary"}, "")) + + pattern_InjectiveAccountsRPC_Rewards_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "Rewards"}, "")) + + pattern_InjectiveAccountsRPC_StreamAccountData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_accounts_rpc.InjectiveAccountsRPC", "StreamAccountData"}, "")) +) + +var ( + forward_InjectiveAccountsRPC_Portfolio_0 = runtime.ForwardResponseMessage + + forward_InjectiveAccountsRPC_OrderStates_0 = runtime.ForwardResponseMessage + + forward_InjectiveAccountsRPC_SubaccountsList_0 = runtime.ForwardResponseMessage + + forward_InjectiveAccountsRPC_SubaccountBalancesList_0 = runtime.ForwardResponseMessage + + forward_InjectiveAccountsRPC_SubaccountBalanceEndpoint_0 = runtime.ForwardResponseMessage + + forward_InjectiveAccountsRPC_StreamSubaccountBalance_0 = runtime.ForwardResponseStream + + forward_InjectiveAccountsRPC_SubaccountHistory_0 = runtime.ForwardResponseMessage + + forward_InjectiveAccountsRPC_SubaccountOrderSummary_0 = runtime.ForwardResponseMessage + + forward_InjectiveAccountsRPC_Rewards_0 = runtime.ForwardResponseMessage + + forward_InjectiveAccountsRPC_StreamAccountData_0 = runtime.ForwardResponseStream +) diff --git a/exchange/auction_rpc/pb/injective_auction_rpc.pb.go b/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc.pb.go similarity index 60% rename from exchange/auction_rpc/pb/injective_auction_rpc.pb.go rename to exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc.pb.go index 772b1378..97affccb 100644 --- a/exchange/auction_rpc/pb/injective_auction_rpc.pb.go +++ b/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc.pb.go @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveAuctionRPC protocol buffer definition // @@ -8,8 +8,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_auction_rpc.proto +// protoc v4.25.3 +// source: goadesign_goagen_injective_auction_rpc.proto package injective_auction_rpcpb @@ -39,7 +39,7 @@ type AuctionEndpointRequest struct { func (x *AuctionEndpointRequest) Reset() { *x = AuctionEndpointRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_auction_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52,7 +52,7 @@ func (x *AuctionEndpointRequest) String() string { func (*AuctionEndpointRequest) ProtoMessage() {} func (x *AuctionEndpointRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_auction_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -65,7 +65,7 @@ func (x *AuctionEndpointRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AuctionEndpointRequest.ProtoReflect.Descriptor instead. func (*AuctionEndpointRequest) Descriptor() ([]byte, []int) { - return file_injective_auction_rpc_proto_rawDescGZIP(), []int{0} + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP(), []int{0} } func (x *AuctionEndpointRequest) GetRound() int64 { @@ -89,7 +89,7 @@ type AuctionEndpointResponse struct { func (x *AuctionEndpointResponse) Reset() { *x = AuctionEndpointResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_auction_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -102,7 +102,7 @@ func (x *AuctionEndpointResponse) String() string { func (*AuctionEndpointResponse) ProtoMessage() {} func (x *AuctionEndpointResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_auction_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -115,7 +115,7 @@ func (x *AuctionEndpointResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AuctionEndpointResponse.ProtoReflect.Descriptor instead. func (*AuctionEndpointResponse) Descriptor() ([]byte, []int) { - return file_injective_auction_rpc_proto_rawDescGZIP(), []int{1} + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP(), []int{1} } func (x *AuctionEndpointResponse) GetAuction() *Auction { @@ -152,7 +152,7 @@ type Auction struct { func (x *Auction) Reset() { *x = Auction{} if protoimpl.UnsafeEnabled { - mi := &file_injective_auction_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -165,7 +165,7 @@ func (x *Auction) String() string { func (*Auction) ProtoMessage() {} func (x *Auction) ProtoReflect() protoreflect.Message { - mi := &file_injective_auction_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -178,7 +178,7 @@ func (x *Auction) ProtoReflect() protoreflect.Message { // Deprecated: Use Auction.ProtoReflect.Descriptor instead. func (*Auction) Descriptor() ([]byte, []int) { - return file_injective_auction_rpc_proto_rawDescGZIP(), []int{2} + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP(), []int{2} } func (x *Auction) GetWinner() string { @@ -236,7 +236,7 @@ type Coin struct { func (x *Coin) Reset() { *x = Coin{} if protoimpl.UnsafeEnabled { - mi := &file_injective_auction_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -249,7 +249,7 @@ func (x *Coin) String() string { func (*Coin) ProtoMessage() {} func (x *Coin) ProtoReflect() protoreflect.Message { - mi := &file_injective_auction_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -262,7 +262,7 @@ func (x *Coin) ProtoReflect() protoreflect.Message { // Deprecated: Use Coin.ProtoReflect.Descriptor instead. func (*Coin) Descriptor() ([]byte, []int) { - return file_injective_auction_rpc_proto_rawDescGZIP(), []int{3} + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP(), []int{3} } func (x *Coin) GetDenom() string { @@ -294,7 +294,7 @@ type Bid struct { func (x *Bid) Reset() { *x = Bid{} if protoimpl.UnsafeEnabled { - mi := &file_injective_auction_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -307,7 +307,7 @@ func (x *Bid) String() string { func (*Bid) ProtoMessage() {} func (x *Bid) ProtoReflect() protoreflect.Message { - mi := &file_injective_auction_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -320,7 +320,7 @@ func (x *Bid) ProtoReflect() protoreflect.Message { // Deprecated: Use Bid.ProtoReflect.Descriptor instead. func (*Bid) Descriptor() ([]byte, []int) { - return file_injective_auction_rpc_proto_rawDescGZIP(), []int{4} + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP(), []int{4} } func (x *Bid) GetBidder() string { @@ -353,7 +353,7 @@ type AuctionsRequest struct { func (x *AuctionsRequest) Reset() { *x = AuctionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_auction_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -366,7 +366,7 @@ func (x *AuctionsRequest) String() string { func (*AuctionsRequest) ProtoMessage() {} func (x *AuctionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_auction_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -379,7 +379,7 @@ func (x *AuctionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AuctionsRequest.ProtoReflect.Descriptor instead. func (*AuctionsRequest) Descriptor() ([]byte, []int) { - return file_injective_auction_rpc_proto_rawDescGZIP(), []int{5} + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP(), []int{5} } type AuctionsResponse struct { @@ -394,7 +394,7 @@ type AuctionsResponse struct { func (x *AuctionsResponse) Reset() { *x = AuctionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_auction_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -407,7 +407,7 @@ func (x *AuctionsResponse) String() string { func (*AuctionsResponse) ProtoMessage() {} func (x *AuctionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_auction_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -420,7 +420,7 @@ func (x *AuctionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AuctionsResponse.ProtoReflect.Descriptor instead. func (*AuctionsResponse) Descriptor() ([]byte, []int) { - return file_injective_auction_rpc_proto_rawDescGZIP(), []int{6} + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP(), []int{6} } func (x *AuctionsResponse) GetAuctions() []*Auction { @@ -439,7 +439,7 @@ type StreamBidsRequest struct { func (x *StreamBidsRequest) Reset() { *x = StreamBidsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_auction_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -452,7 +452,7 @@ func (x *StreamBidsRequest) String() string { func (*StreamBidsRequest) ProtoMessage() {} func (x *StreamBidsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_auction_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -465,7 +465,7 @@ func (x *StreamBidsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamBidsRequest.ProtoReflect.Descriptor instead. func (*StreamBidsRequest) Descriptor() ([]byte, []int) { - return file_injective_auction_rpc_proto_rawDescGZIP(), []int{7} + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP(), []int{7} } type StreamBidsResponse struct { @@ -484,7 +484,7 @@ type StreamBidsResponse struct { func (x *StreamBidsResponse) Reset() { *x = StreamBidsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_auction_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -497,7 +497,7 @@ func (x *StreamBidsResponse) String() string { func (*StreamBidsResponse) ProtoMessage() {} func (x *StreamBidsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_auction_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -510,7 +510,7 @@ func (x *StreamBidsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamBidsResponse.ProtoReflect.Descriptor instead. func (*StreamBidsResponse) Descriptor() ([]byte, []int) { - return file_injective_auction_rpc_proto_rawDescGZIP(), []int{8} + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP(), []int{8} } func (x *StreamBidsResponse) GetBidder() string { @@ -541,101 +541,102 @@ func (x *StreamBidsResponse) GetTimestamp() int64 { return 0 } -var File_injective_auction_rpc_proto protoreflect.FileDescriptor - -var file_injective_auction_rpc_proto_rawDesc = []byte{ - 0x0a, 0x1b, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x72, 0x70, 0x63, 0x22, 0x2e, 0x0a, 0x16, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, - 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x72, - 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x83, 0x01, 0x0a, 0x17, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x38, 0x0a, 0x07, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x07, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x04, 0x62, 0x69, - 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x42, 0x69, 0x64, 0x52, 0x04, 0x62, 0x69, 0x64, 0x73, 0x22, 0xde, 0x01, 0x0a, 0x07, 0x41, - 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x33, - 0x0a, 0x06, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x06, 0x62, 0x61, 0x73, - 0x6b, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x62, - 0x69, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x10, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x69, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0c, - 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x34, 0x0a, 0x04, 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, 0x53, 0x0a, 0x03, 0x42, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x69, 0x64, 0x64, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x69, 0x64, 0x64, 0x65, 0x72, - 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x11, 0x0a, 0x0f, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4e, 0x0a, 0x10, 0x41, 0x75, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, - 0x08, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x08, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x42, 0x69, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x7f, - 0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x69, 0x64, 0x64, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x69, 0x64, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, - 0x62, 0x69, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x62, 0x69, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, - 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, - 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x32, - 0xc9, 0x02, 0x0a, 0x13, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x50, 0x43, 0x12, 0x70, 0x0a, 0x0f, 0x41, 0x75, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, +var File_goadesign_goagen_injective_auction_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_auction_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2c, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x2e, 0x0a, 0x16, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x83, 0x01, 0x0a, 0x17, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, + 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x04, 0x62, + 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x42, 0x69, 0x64, 0x52, 0x04, 0x62, 0x69, 0x64, 0x73, 0x22, 0xde, 0x01, 0x0a, 0x07, + 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x12, + 0x33, 0x0a, 0x06, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x06, 0x62, 0x61, + 0x73, 0x6b, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x62, 0x69, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x77, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x69, 0x64, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x0c, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x34, 0x0a, 0x04, + 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, 0x53, 0x0a, 0x03, 0x42, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x69, 0x64, + 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x69, 0x64, 0x64, 0x65, + 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x11, 0x0a, 0x0f, 0x41, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4e, 0x0a, 0x10, 0x41, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, + 0x0a, 0x08, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x08, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x7f, 0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, 0x64, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x69, 0x64, 0x64, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x69, 0x64, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, + 0x0a, 0x62, 0x69, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x62, 0x69, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x32, 0xc9, 0x02, 0x0a, 0x13, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x50, 0x43, 0x12, 0x70, 0x0a, 0x0f, 0x41, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x08, 0x41, 0x75, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x42, 0x69, 0x64, 0x73, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x42, 0x69, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x08, 0x41, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, + 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, 0x64, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, 0x1a, 0x5a, 0x18, 0x2f, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x42, 0x69, 0x64, 0x73, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x69, + 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, 0x1a, 0x5a, 0x18, + 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_injective_auction_rpc_proto_rawDescOnce sync.Once - file_injective_auction_rpc_proto_rawDescData = file_injective_auction_rpc_proto_rawDesc + file_goadesign_goagen_injective_auction_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_auction_rpc_proto_rawDescData = file_goadesign_goagen_injective_auction_rpc_proto_rawDesc ) -func file_injective_auction_rpc_proto_rawDescGZIP() []byte { - file_injective_auction_rpc_proto_rawDescOnce.Do(func() { - file_injective_auction_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_auction_rpc_proto_rawDescData) +func file_goadesign_goagen_injective_auction_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_auction_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_auction_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_auction_rpc_proto_rawDescData) }) - return file_injective_auction_rpc_proto_rawDescData + return file_goadesign_goagen_injective_auction_rpc_proto_rawDescData } -var file_injective_auction_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 9) -var file_injective_auction_rpc_proto_goTypes = []interface{}{ +var file_goadesign_goagen_injective_auction_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_goadesign_goagen_injective_auction_rpc_proto_goTypes = []interface{}{ (*AuctionEndpointRequest)(nil), // 0: injective_auction_rpc.AuctionEndpointRequest (*AuctionEndpointResponse)(nil), // 1: injective_auction_rpc.AuctionEndpointResponse (*Auction)(nil), // 2: injective_auction_rpc.Auction @@ -646,7 +647,7 @@ var file_injective_auction_rpc_proto_goTypes = []interface{}{ (*StreamBidsRequest)(nil), // 7: injective_auction_rpc.StreamBidsRequest (*StreamBidsResponse)(nil), // 8: injective_auction_rpc.StreamBidsResponse } -var file_injective_auction_rpc_proto_depIdxs = []int32{ +var file_goadesign_goagen_injective_auction_rpc_proto_depIdxs = []int32{ 2, // 0: injective_auction_rpc.AuctionEndpointResponse.auction:type_name -> injective_auction_rpc.Auction 4, // 1: injective_auction_rpc.AuctionEndpointResponse.bids:type_name -> injective_auction_rpc.Bid 3, // 2: injective_auction_rpc.Auction.basket:type_name -> injective_auction_rpc.Coin @@ -664,13 +665,13 @@ var file_injective_auction_rpc_proto_depIdxs = []int32{ 0, // [0:4] is the sub-list for field type_name } -func init() { file_injective_auction_rpc_proto_init() } -func file_injective_auction_rpc_proto_init() { - if File_injective_auction_rpc_proto != nil { +func init() { file_goadesign_goagen_injective_auction_rpc_proto_init() } +func file_goadesign_goagen_injective_auction_rpc_proto_init() { + if File_goadesign_goagen_injective_auction_rpc_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_injective_auction_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuctionEndpointRequest); i { case 0: return &v.state @@ -682,7 +683,7 @@ func file_injective_auction_rpc_proto_init() { return nil } } - file_injective_auction_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuctionEndpointResponse); i { case 0: return &v.state @@ -694,7 +695,7 @@ func file_injective_auction_rpc_proto_init() { return nil } } - file_injective_auction_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Auction); i { case 0: return &v.state @@ -706,7 +707,7 @@ func file_injective_auction_rpc_proto_init() { return nil } } - file_injective_auction_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Coin); i { case 0: return &v.state @@ -718,7 +719,7 @@ func file_injective_auction_rpc_proto_init() { return nil } } - file_injective_auction_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bid); i { case 0: return &v.state @@ -730,7 +731,7 @@ func file_injective_auction_rpc_proto_init() { return nil } } - file_injective_auction_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuctionsRequest); i { case 0: return &v.state @@ -742,7 +743,7 @@ func file_injective_auction_rpc_proto_init() { return nil } } - file_injective_auction_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuctionsResponse); i { case 0: return &v.state @@ -754,7 +755,7 @@ func file_injective_auction_rpc_proto_init() { return nil } } - file_injective_auction_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamBidsRequest); i { case 0: return &v.state @@ -766,7 +767,7 @@ func file_injective_auction_rpc_proto_init() { return nil } } - file_injective_auction_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_auction_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamBidsResponse); i { case 0: return &v.state @@ -783,18 +784,18 @@ func file_injective_auction_rpc_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_auction_rpc_proto_rawDesc, + RawDescriptor: file_goadesign_goagen_injective_auction_rpc_proto_rawDesc, NumEnums: 0, NumMessages: 9, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_injective_auction_rpc_proto_goTypes, - DependencyIndexes: file_injective_auction_rpc_proto_depIdxs, - MessageInfos: file_injective_auction_rpc_proto_msgTypes, + GoTypes: file_goadesign_goagen_injective_auction_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_auction_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_auction_rpc_proto_msgTypes, }.Build() - File_injective_auction_rpc_proto = out.File - file_injective_auction_rpc_proto_rawDesc = nil - file_injective_auction_rpc_proto_goTypes = nil - file_injective_auction_rpc_proto_depIdxs = nil + File_goadesign_goagen_injective_auction_rpc_proto = out.File + file_goadesign_goagen_injective_auction_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_auction_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_auction_rpc_proto_depIdxs = nil } diff --git a/exchange/auction_rpc/pb/injective_auction_rpc.proto b/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc.proto similarity index 97% rename from exchange/auction_rpc/pb/injective_auction_rpc.proto rename to exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc.proto index a9f8841f..1e2257c4 100644 --- a/exchange/auction_rpc/pb/injective_auction_rpc.proto +++ b/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveAuctionRPC protocol buffer definition // diff --git a/exchange/auction_rpc/pb/injective_auction_rpc_grpc.pb.go b/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc_grpc.pb.go similarity index 97% rename from exchange/auction_rpc/pb/injective_auction_rpc_grpc.pb.go rename to exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc_grpc.pb.go index 1d843816..5614a0ec 100644 --- a/exchange/auction_rpc/pb/injective_auction_rpc_grpc.pb.go +++ b/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_auction_rpc.proto package injective_auction_rpcpb @@ -203,5 +207,5 @@ var InjectiveAuctionRPC_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, }, - Metadata: "injective_auction_rpc.proto", + Metadata: "goadesign_goagen_injective_auction_rpc.proto", } diff --git a/exchange/auction_rpc/pb/injective_auction_rpc.pb.gw.go b/exchange/auction_rpc/pb/injective_auction_rpc.pb.gw.go index beff7a3e..5d95026e 100644 --- a/exchange/auction_rpc/pb/injective_auction_rpc.pb.gw.go +++ b/exchange/auction_rpc/pb/injective_auction_rpc.pb.gw.go @@ -136,20 +136,22 @@ func RegisterInjectiveAuctionRPCHandlerServer(ctx context.Context, mux *runtime. var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/AuctionEndpoint", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/AuctionEndpoint")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/AuctionEndpoint", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/AuctionEndpoint")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAuctionRPC_AuctionEndpoint_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAuctionRPC_AuctionEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAuctionRPC_AuctionEndpoint_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAuctionRPC_AuctionEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -159,20 +161,22 @@ func RegisterInjectiveAuctionRPCHandlerServer(ctx context.Context, mux *runtime. var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/Auctions", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/Auctions")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/Auctions", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/Auctions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveAuctionRPC_Auctions_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveAuctionRPC_Auctions_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAuctionRPC_Auctions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAuctionRPC_Auctions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -228,19 +232,21 @@ func RegisterInjectiveAuctionRPCHandlerClient(ctx context.Context, mux *runtime. ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/AuctionEndpoint", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/AuctionEndpoint")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/AuctionEndpoint", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/AuctionEndpoint")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAuctionRPC_AuctionEndpoint_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAuctionRPC_AuctionEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAuctionRPC_AuctionEndpoint_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAuctionRPC_AuctionEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -248,19 +254,21 @@ func RegisterInjectiveAuctionRPCHandlerClient(ctx context.Context, mux *runtime. ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/Auctions", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/Auctions")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/Auctions", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/Auctions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAuctionRPC_Auctions_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAuctionRPC_Auctions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAuctionRPC_Auctions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveAuctionRPC_Auctions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -268,19 +276,21 @@ func RegisterInjectiveAuctionRPCHandlerClient(ctx context.Context, mux *runtime. ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/StreamBids", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/StreamBids")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_auction_rpc.InjectiveAuctionRPC/StreamBids", runtime.WithHTTPPathPattern("/injective_auction_rpc.InjectiveAuctionRPC/StreamBids")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveAuctionRPC_StreamBids_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveAuctionRPC_StreamBids_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveAuctionRPC_StreamBids_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveAuctionRPC_StreamBids_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) diff --git a/exchange/campaign_rpc/pb/injective_campaign_rpc.pb.go b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.pb.go similarity index 58% rename from exchange/campaign_rpc/pb/injective_campaign_rpc.pb.go rename to exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.pb.go index 98d763de..7fbab22c 100644 --- a/exchange/campaign_rpc/pb/injective_campaign_rpc.pb.go +++ b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.pb.go @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveCampaignRPC protocol buffer definition // @@ -8,8 +8,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_campaign_rpc.proto +// protoc v4.25.3 +// source: goadesign_goagen_injective_campaign_rpc.proto package injective_campaign_rpcpb @@ -40,12 +40,14 @@ type RankingRequest struct { AccountAddress string `protobuf:"bytes,3,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` Limit int32 `protobuf:"zigzag32,4,opt,name=limit,proto3" json:"limit,omitempty"` Skip uint64 `protobuf:"varint,5,opt,name=skip,proto3" json:"skip,omitempty"` + // Contract address that manages the round and reward + ContractAddress string `protobuf:"bytes,6,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"` } func (x *RankingRequest) Reset() { *x = RankingRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -58,7 +60,7 @@ func (x *RankingRequest) String() string { func (*RankingRequest) ProtoMessage() {} func (x *RankingRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -71,7 +73,7 @@ func (x *RankingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RankingRequest.ProtoReflect.Descriptor instead. func (*RankingRequest) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{0} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{0} } func (x *RankingRequest) GetCampaignId() string { @@ -109,6 +111,13 @@ func (x *RankingRequest) GetSkip() uint64 { return 0 } +func (x *RankingRequest) GetContractAddress() string { + if x != nil { + return x.ContractAddress + } + return "" +} + type RankingResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -124,7 +133,7 @@ type RankingResponse struct { func (x *RankingResponse) Reset() { *x = RankingResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -137,7 +146,7 @@ func (x *RankingResponse) String() string { func (*RankingResponse) ProtoMessage() {} func (x *RankingResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -150,7 +159,7 @@ func (x *RankingResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RankingResponse.ProtoReflect.Descriptor instead. func (*RankingResponse) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{1} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{1} } func (x *RankingResponse) GetCampaign() *Campaign { @@ -195,18 +204,27 @@ type Campaign struct { // Campaigns round ID RoundId int32 `protobuf:"zigzag32,9,opt,name=round_id,json=roundId,proto3" json:"round_id,omitempty"` // Contract address that controls this campaign - Contract string `protobuf:"bytes,10,opt,name=contract,proto3" json:"contract,omitempty"` + ManagerContract string `protobuf:"bytes,10,opt,name=manager_contract,json=managerContract,proto3" json:"manager_contract,omitempty"` // Reward tokens of this campaign Rewards []*Coin `protobuf:"bytes,11,rep,name=rewards,proto3" json:"rewards,omitempty"` // Total user score if accountAddress is passed, this is useful to estimate // account's reward UserScore string `protobuf:"bytes,12,opt,name=user_score,json=userScore,proto3" json:"user_score,omitempty"` + // Return true if user claimed the reward of this campaign + UserClaimed bool `protobuf:"varint,13,opt,name=user_claimed,json=userClaimed,proto3" json:"user_claimed,omitempty"` + // Suffix of the subaccount that eligible for volume score + SubaccountIdSuffix string `protobuf:"bytes,14,opt,name=subaccount_id_suffix,json=subaccountIdSuffix,proto3" json:"subaccount_id_suffix,omitempty"` + // Contract that manage users reward + RewardContract string `protobuf:"bytes,15,opt,name=reward_contract,json=rewardContract,proto3" json:"reward_contract,omitempty"` + // Version of reward contract, UI use this to determine the message that need + // to be sent + Version string `protobuf:"bytes,16,opt,name=version,proto3" json:"version,omitempty"` } func (x *Campaign) Reset() { *x = Campaign{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -219,7 +237,7 @@ func (x *Campaign) String() string { func (*Campaign) ProtoMessage() {} func (x *Campaign) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -232,7 +250,7 @@ func (x *Campaign) ProtoReflect() protoreflect.Message { // Deprecated: Use Campaign.ProtoReflect.Descriptor instead. func (*Campaign) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{2} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{2} } func (x *Campaign) GetCampaignId() string { @@ -291,9 +309,9 @@ func (x *Campaign) GetRoundId() int32 { return 0 } -func (x *Campaign) GetContract() string { +func (x *Campaign) GetManagerContract() string { if x != nil { - return x.Contract + return x.ManagerContract } return "" } @@ -312,6 +330,34 @@ func (x *Campaign) GetUserScore() string { return "" } +func (x *Campaign) GetUserClaimed() bool { + if x != nil { + return x.UserClaimed + } + return false +} + +func (x *Campaign) GetSubaccountIdSuffix() string { + if x != nil { + return x.SubaccountIdSuffix + } + return "" +} + +func (x *Campaign) GetRewardContract() string { + if x != nil { + return x.RewardContract + } + return "" +} + +func (x *Campaign) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + type Coin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -325,7 +371,7 @@ type Coin struct { func (x *Coin) Reset() { *x = Coin{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -338,7 +384,7 @@ func (x *Coin) String() string { func (*Coin) ProtoMessage() {} func (x *Coin) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -351,7 +397,7 @@ func (x *Coin) ProtoReflect() protoreflect.Message { // Deprecated: Use Coin.ProtoReflect.Descriptor instead. func (*Coin) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{3} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{3} } func (x *Coin) GetDenom() string { @@ -391,12 +437,14 @@ type CampaignUser struct { // True if this user is updated to be in Galxe Campain list, only eligible // address are added GalxeUpdated bool `protobuf:"varint,9,opt,name=galxe_updated,json=galxeUpdated,proto3" json:"galxe_updated,omitempty"` + // True if this user claimed the reward + RewardClaimed bool `protobuf:"varint,10,opt,name=reward_claimed,json=rewardClaimed,proto3" json:"reward_claimed,omitempty"` } func (x *CampaignUser) Reset() { *x = CampaignUser{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -409,7 +457,7 @@ func (x *CampaignUser) String() string { func (*CampaignUser) ProtoMessage() {} func (x *CampaignUser) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -422,7 +470,7 @@ func (x *CampaignUser) ProtoReflect() protoreflect.Message { // Deprecated: Use CampaignUser.ProtoReflect.Descriptor instead. func (*CampaignUser) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{4} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{4} } func (x *CampaignUser) GetCampaignId() string { @@ -488,6 +536,13 @@ func (x *CampaignUser) GetGalxeUpdated() bool { return false } +func (x *CampaignUser) GetRewardClaimed() bool { + if x != nil { + return x.RewardClaimed + } + return false +} + // Paging defines the structure for required params for handling pagination type Paging struct { state protoimpl.MessageState @@ -509,7 +564,7 @@ type Paging struct { func (x *Paging) Reset() { *x = Paging{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -522,7 +577,7 @@ func (x *Paging) String() string { func (*Paging) ProtoMessage() {} func (x *Paging) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -535,7 +590,7 @@ func (x *Paging) ProtoReflect() protoreflect.Message { // Deprecated: Use Paging.ProtoReflect.Descriptor instead. func (*Paging) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{5} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{5} } func (x *Paging) GetTotal() int64 { @@ -578,19 +633,21 @@ type CampaignsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Round ID, if not specified, it will return latest roundId + // Round ID, if not specified, it will return latest roundId RoundId int64 `protobuf:"zigzag64,1,opt,name=round_id,json=roundId,proto3" json:"round_id,omitempty"` // Address of login account, if not specified it will return no user rewards AccountAddress string `protobuf:"bytes,2,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` // This will return campaign x where x.roundId <= toRoundId. Useful for listing // multiple rounds ToRoundId int32 `protobuf:"zigzag32,3,opt,name=to_round_id,json=toRoundId,proto3" json:"to_round_id,omitempty"` + // Contract address that manages the round and reward + ContractAddress string `protobuf:"bytes,4,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"` } func (x *CampaignsRequest) Reset() { *x = CampaignsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -603,7 +660,7 @@ func (x *CampaignsRequest) String() string { func (*CampaignsRequest) ProtoMessage() {} func (x *CampaignsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -616,7 +673,7 @@ func (x *CampaignsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CampaignsRequest.ProtoReflect.Descriptor instead. func (*CampaignsRequest) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{6} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{6} } func (x *CampaignsRequest) GetRoundId() int64 { @@ -640,19 +697,27 @@ func (x *CampaignsRequest) GetToRoundId() int32 { return 0 } +func (x *CampaignsRequest) GetContractAddress() string { + if x != nil { + return x.ContractAddress + } + return "" +} + type CampaignsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Campaigns []*Campaign `protobuf:"bytes,1,rep,name=campaigns,proto3" json:"campaigns,omitempty"` - AccountRewards []*Coin `protobuf:"bytes,2,rep,name=account_rewards,json=accountRewards,proto3" json:"account_rewards,omitempty"` + Campaigns []*Campaign `protobuf:"bytes,1,rep,name=campaigns,proto3" json:"campaigns,omitempty"` + AccumulatedRewards []*Coin `protobuf:"bytes,2,rep,name=accumulated_rewards,json=accumulatedRewards,proto3" json:"accumulated_rewards,omitempty"` + RewardCount int32 `protobuf:"zigzag32,3,opt,name=reward_count,json=rewardCount,proto3" json:"reward_count,omitempty"` } func (x *CampaignsResponse) Reset() { *x = CampaignsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -665,7 +730,7 @@ func (x *CampaignsResponse) String() string { func (*CampaignsResponse) ProtoMessage() {} func (x *CampaignsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -678,7 +743,7 @@ func (x *CampaignsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CampaignsResponse.ProtoReflect.Descriptor instead. func (*CampaignsResponse) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{7} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{7} } func (x *CampaignsResponse) GetCampaigns() []*Campaign { @@ -688,13 +753,20 @@ func (x *CampaignsResponse) GetCampaigns() []*Campaign { return nil } -func (x *CampaignsResponse) GetAccountRewards() []*Coin { +func (x *CampaignsResponse) GetAccumulatedRewards() []*Coin { if x != nil { - return x.AccountRewards + return x.AccumulatedRewards } return nil } +func (x *CampaignsResponse) GetRewardCount() int32 { + if x != nil { + return x.RewardCount + } + return 0 +} + type ListGuildsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -713,7 +785,7 @@ type ListGuildsRequest struct { func (x *ListGuildsRequest) Reset() { *x = ListGuildsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -726,7 +798,7 @@ func (x *ListGuildsRequest) String() string { func (*ListGuildsRequest) ProtoMessage() {} func (x *ListGuildsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -739,7 +811,7 @@ func (x *ListGuildsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGuildsRequest.ProtoReflect.Descriptor instead. func (*ListGuildsRequest) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{8} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{8} } func (x *ListGuildsRequest) GetCampaignContract() string { @@ -786,7 +858,7 @@ type ListGuildsResponse struct { func (x *ListGuildsResponse) Reset() { *x = ListGuildsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -799,7 +871,7 @@ func (x *ListGuildsResponse) String() string { func (*ListGuildsResponse) ProtoMessage() {} func (x *ListGuildsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -812,7 +884,7 @@ func (x *ListGuildsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGuildsResponse.ProtoReflect.Descriptor instead. func (*ListGuildsResponse) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{9} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{9} } func (x *ListGuildsResponse) GetGuilds() []*Guild { @@ -884,7 +956,7 @@ type Guild struct { func (x *Guild) Reset() { *x = Guild{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -897,7 +969,7 @@ func (x *Guild) String() string { func (*Guild) ProtoMessage() {} func (x *Guild) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -910,7 +982,7 @@ func (x *Guild) ProtoReflect() protoreflect.Message { // Deprecated: Use Guild.ProtoReflect.Descriptor instead. func (*Guild) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{10} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{10} } func (x *Guild) GetCampaignContract() string { @@ -1048,7 +1120,7 @@ type CampaignSummary struct { func (x *CampaignSummary) Reset() { *x = CampaignSummary{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1061,7 +1133,7 @@ func (x *CampaignSummary) String() string { func (*CampaignSummary) ProtoMessage() {} func (x *CampaignSummary) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1074,7 +1146,7 @@ func (x *CampaignSummary) ProtoReflect() protoreflect.Message { // Deprecated: Use CampaignSummary.ProtoReflect.Descriptor instead. func (*CampaignSummary) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{11} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{11} } func (x *CampaignSummary) GetCampaignId() string { @@ -1170,7 +1242,7 @@ type ListGuildMembersRequest struct { func (x *ListGuildMembersRequest) Reset() { *x = ListGuildMembersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1183,7 +1255,7 @@ func (x *ListGuildMembersRequest) String() string { func (*ListGuildMembersRequest) ProtoMessage() {} func (x *ListGuildMembersRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1196,7 +1268,7 @@ func (x *ListGuildMembersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGuildMembersRequest.ProtoReflect.Descriptor instead. func (*ListGuildMembersRequest) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{12} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{12} } func (x *ListGuildMembersRequest) GetCampaignContract() string { @@ -1254,7 +1326,7 @@ type ListGuildMembersResponse struct { func (x *ListGuildMembersResponse) Reset() { *x = ListGuildMembersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1267,7 +1339,7 @@ func (x *ListGuildMembersResponse) String() string { func (*ListGuildMembersResponse) ProtoMessage() {} func (x *ListGuildMembersResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1280,7 +1352,7 @@ func (x *ListGuildMembersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGuildMembersResponse.ProtoReflect.Descriptor instead. func (*ListGuildMembersResponse) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{13} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{13} } func (x *ListGuildMembersResponse) GetMembers() []*GuildMember { @@ -1336,7 +1408,7 @@ type GuildMember struct { func (x *GuildMember) Reset() { *x = GuildMember{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1349,7 +1421,7 @@ func (x *GuildMember) String() string { func (*GuildMember) ProtoMessage() {} func (x *GuildMember) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1362,7 +1434,7 @@ func (x *GuildMember) ProtoReflect() protoreflect.Message { // Deprecated: Use GuildMember.ProtoReflect.Descriptor instead. func (*GuildMember) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{14} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{14} } func (x *GuildMember) GetCampaignContract() string { @@ -1456,7 +1528,7 @@ type GetGuildMemberRequest struct { func (x *GetGuildMemberRequest) Reset() { *x = GetGuildMemberRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[15] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1469,7 +1541,7 @@ func (x *GetGuildMemberRequest) String() string { func (*GetGuildMemberRequest) ProtoMessage() {} func (x *GetGuildMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[15] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1482,7 +1554,7 @@ func (x *GetGuildMemberRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGuildMemberRequest.ProtoReflect.Descriptor instead. func (*GetGuildMemberRequest) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{15} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{15} } func (x *GetGuildMemberRequest) GetCampaignContract() string { @@ -1510,7 +1582,7 @@ type GetGuildMemberResponse struct { func (x *GetGuildMemberResponse) Reset() { *x = GetGuildMemberResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_campaign_rpc_proto_msgTypes[16] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1523,7 +1595,7 @@ func (x *GetGuildMemberResponse) String() string { func (*GetGuildMemberResponse) ProtoMessage() {} func (x *GetGuildMemberResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_campaign_rpc_proto_msgTypes[16] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1536,7 +1608,7 @@ func (x *GetGuildMemberResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGuildMemberResponse.ProtoReflect.Descriptor instead. func (*GetGuildMemberResponse) Descriptor() ([]byte, []int) { - return file_injective_campaign_rpc_proto_rawDescGZIP(), []int{16} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{16} } func (x *GetGuildMemberResponse) GetInfo() *GuildMember { @@ -1546,307 +1618,329 @@ func (x *GetGuildMemberResponse) GetInfo() *GuildMember { return nil } -var File_injective_campaign_rpc_proto protoreflect.FileDescriptor - -var file_injective_campaign_rpc_proto_rawDesc = []byte{ - 0x0a, 0x1c, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, - 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, - 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x22, 0xa1, 0x01, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x6b, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, +var File_goadesign_goagen_injective_campaign_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_campaign_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, + 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x16, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, + 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x22, 0xcc, 0x01, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x6b, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, + 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, + 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xc3, 0x01, 0x0a, 0x0f, 0x52, 0x61, 0x6e, 0x6b, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x63, 0x61, + 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, + 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x52, 0x08, + 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x12, 0x3a, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, + 0x73, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, + 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0x9e, 0x04, 0x0a, + 0x08, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x22, 0xc3, 0x01, 0x0a, 0x0f, 0x52, - 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, - 0x0a, 0x08, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, - 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, - 0x67, 0x6e, 0x52, 0x08, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x12, 0x3a, 0x0a, 0x05, - 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, + 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, + 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, + 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x63, 0x6c, 0x61, 0x69, + 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x43, + 0x6c, 0x61, 0x69, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x36, + 0x0a, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, + 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x07, 0x72, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x6c, + 0x61, 0x69, 0x6d, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x73, 0x65, + 0x72, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x34, 0x0a, + 0x04, 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, 0xef, 0x02, 0x0a, 0x0c, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, + 0x55, 0x73, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61, + 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x29, + 0x0a, 0x10, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, + 0x73, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x61, 0x6c, + 0x78, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x67, 0x61, 0x6c, 0x78, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x25, + 0x0a, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6c, + 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, + 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x22, 0xa1, + 0x01, 0x0a, 0x10, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x27, + 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x74, 0x6f, 0x5f, 0x72, 0x6f, + 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x09, 0x74, 0x6f, + 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x11, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x09, 0x63, 0x61, 0x6d, 0x70, + 0x61, 0x69, 0x67, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, - 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, - 0x22, 0xf7, 0x02, 0x0a, 0x08, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x12, 0x1f, 0x0a, - 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x1b, - 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, - 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, - 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x19, - 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, - 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0b, 0x69, 0x73, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, - 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0b, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, - 0x69, 0x6e, 0x52, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x75, 0x73, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x34, 0x0a, 0x04, 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, 0xc8, 0x02, 0x0a, 0x0c, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, - 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, - 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x29, - 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, - 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x61, 0x6c, 0x78, 0x65, 0x5f, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x67, - 0x61, 0x6c, 0x78, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x06, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, - 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, - 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x65, 0x78, 0x74, 0x22, 0x76, 0x0a, 0x10, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x75, 0x6e, - 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x6e, - 0x64, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0b, - 0x74, 0x6f, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x11, 0x52, 0x09, 0x74, 0x6f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x9a, 0x01, 0x0a, - 0x11, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x09, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x52, 0x09, 0x63, + 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x13, 0x61, 0x63, 0x63, 0x75, + 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, - 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x52, 0x09, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, - 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x4c, 0x69, - 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, - 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 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, 0x11, - 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, - 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x22, - 0xf6, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x06, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x36, 0x0a, - 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, - 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x12, 0x52, 0x0a, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x6f, 0x69, 0x6e, 0x52, 0x12, 0x61, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0b, 0x72, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x4c, + 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, + 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 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, + 0x11, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, + 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, + 0x22, 0xf6, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x67, 0x75, 0x69, 0x6c, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x06, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x36, + 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, - 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, - 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0xe5, 0x03, 0x0a, 0x05, 0x47, 0x75, 0x69, - 0x6c, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, + 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x52, 0x0a, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, + 0x6e, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, + 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, + 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, + 0x67, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0xe5, 0x03, 0x0a, 0x05, 0x47, 0x75, + 0x69, 0x6c, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6d, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x76, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x76, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x62, 0x79, 0x5f, 0x76, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0c, 0x72, 0x61, 0x6e, 0x6b, 0x42, + 0x79, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x6b, 0x5f, + 0x62, 0x79, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x09, 0x72, 0x61, + 0x6e, 0x6b, 0x42, 0x79, 0x54, 0x76, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x76, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, + 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x73, 0x74, + 0x65, 0x72, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x82, 0x03, 0x0a, 0x0f, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, + 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, + 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x67, 0x75, 0x69, + 0x6c, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, + 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x76, 0x6c, 0x12, 0x2a, + 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x76, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x76, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2e, 0x0a, 0x13, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x47, + 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, - 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x76, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x76, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, - 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, - 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x62, 0x79, 0x5f, 0x76, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0c, 0x72, 0x61, 0x6e, 0x6b, 0x42, 0x79, - 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x62, - 0x79, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x09, 0x72, 0x61, 0x6e, - 0x6b, 0x42, 0x79, 0x54, 0x76, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x76, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, - 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x73, 0x74, 0x65, - 0x72, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x20, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x82, 0x03, 0x0a, 0x0f, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x53, 0x75, 0x6d, - 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61, - 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, - 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x67, 0x75, 0x69, 0x6c, - 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x10, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x76, 0x6c, 0x12, 0x2a, 0x0a, - 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x76, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, - 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x76, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, - 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, - 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, - 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, - 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x19, - 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 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, 0x11, 0x52, 0x04, 0x73, - 0x6b, 0x69, 0x70, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x67, - 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x22, 0xcf, 0x01, 0x0a, 0x18, 0x4c, - 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x3c, - 0x0a, 0x0a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, - 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x75, 0x69, 0x6c, - 0x64, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xd3, 0x03, 0x0a, - 0x0b, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x11, - 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, - 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, - 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, - 0x6c, 0x64, 0x49, 0x64, 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, 0x1b, - 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, - 0x76, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x74, 0x76, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x76, 0x6c, 0x12, 0x36, 0x0a, 0x17, 0x76, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, - 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x15, 0x76, 0x6f, 0x6c, 0x75, 0x6d, - 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, - 0x12, 0x30, 0x0a, 0x14, 0x74, 0x76, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x65, - 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, - 0x74, 0x76, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, - 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x74, 0x76, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x09, 0x74, 0x76, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, - 0x41, 0x0a, 0x0d, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x22, 0x5e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x63, - 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 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, 0x51, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x04, - 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x32, 0xa1, 0x04, 0x0a, 0x14, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x52, 0x50, 0x43, 0x12, 0x5a, - 0x0a, 0x07, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 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, 0x11, 0x52, 0x04, + 0x73, 0x6b, 0x69, 0x70, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, + 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x22, 0xcf, 0x01, 0x0a, 0x18, + 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, - 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x09, 0x43, 0x61, - 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x70, 0x63, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, - 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, - 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0a, - 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x29, 0x2e, 0x69, 0x6e, 0x6a, + 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, + 0x3c, 0x0a, 0x0a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x75, 0x69, + 0x6c, 0x64, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xd3, 0x03, + 0x0a, 0x0b, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2b, 0x0a, + 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, + 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, + 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, + 0x69, 0x6c, 0x64, 0x49, 0x64, 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, + 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x74, 0x76, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x74, 0x76, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x76, 0x6c, 0x12, 0x36, 0x0a, 0x17, 0x76, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, + 0x74, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x15, 0x76, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, + 0x65, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x76, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, + 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x12, 0x74, 0x76, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, + 0x61, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x74, 0x76, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x09, 0x74, 0x76, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x12, 0x41, 0x0a, 0x0d, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x22, 0x5e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x11, + 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, + 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 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, 0x51, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, + 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x32, 0xa1, 0x04, 0x0a, 0x14, 0x49, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x52, 0x50, 0x43, 0x12, + 0x5a, 0x0a, 0x07, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x75, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, + 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x6b, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x09, 0x43, + 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, + 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, + 0x61, 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, + 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x75, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x0e, 0x47, 0x65, 0x74, + 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x1b, 0x5a, 0x19, 0x2f, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x1b, 0x5a, 0x19, 0x2f, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, + 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_injective_campaign_rpc_proto_rawDescOnce sync.Once - file_injective_campaign_rpc_proto_rawDescData = file_injective_campaign_rpc_proto_rawDesc + file_goadesign_goagen_injective_campaign_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_campaign_rpc_proto_rawDescData = file_goadesign_goagen_injective_campaign_rpc_proto_rawDesc ) -func file_injective_campaign_rpc_proto_rawDescGZIP() []byte { - file_injective_campaign_rpc_proto_rawDescOnce.Do(func() { - file_injective_campaign_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_campaign_rpc_proto_rawDescData) +func file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_campaign_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_campaign_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_campaign_rpc_proto_rawDescData) }) - return file_injective_campaign_rpc_proto_rawDescData + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescData } -var file_injective_campaign_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 17) -var file_injective_campaign_rpc_proto_goTypes = []interface{}{ +var file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_goadesign_goagen_injective_campaign_rpc_proto_goTypes = []interface{}{ (*RankingRequest)(nil), // 0: injective_campaign_rpc.RankingRequest (*RankingResponse)(nil), // 1: injective_campaign_rpc.RankingResponse (*Campaign)(nil), // 2: injective_campaign_rpc.Campaign @@ -1865,13 +1959,13 @@ var file_injective_campaign_rpc_proto_goTypes = []interface{}{ (*GetGuildMemberRequest)(nil), // 15: injective_campaign_rpc.GetGuildMemberRequest (*GetGuildMemberResponse)(nil), // 16: injective_campaign_rpc.GetGuildMemberResponse } -var file_injective_campaign_rpc_proto_depIdxs = []int32{ +var file_goadesign_goagen_injective_campaign_rpc_proto_depIdxs = []int32{ 2, // 0: injective_campaign_rpc.RankingResponse.campaign:type_name -> injective_campaign_rpc.Campaign 4, // 1: injective_campaign_rpc.RankingResponse.users:type_name -> injective_campaign_rpc.CampaignUser 5, // 2: injective_campaign_rpc.RankingResponse.paging:type_name -> injective_campaign_rpc.Paging 3, // 3: injective_campaign_rpc.Campaign.rewards:type_name -> injective_campaign_rpc.Coin 2, // 4: injective_campaign_rpc.CampaignsResponse.campaigns:type_name -> injective_campaign_rpc.Campaign - 3, // 5: injective_campaign_rpc.CampaignsResponse.account_rewards:type_name -> injective_campaign_rpc.Coin + 3, // 5: injective_campaign_rpc.CampaignsResponse.accumulated_rewards:type_name -> injective_campaign_rpc.Coin 10, // 6: injective_campaign_rpc.ListGuildsResponse.guilds:type_name -> injective_campaign_rpc.Guild 5, // 7: injective_campaign_rpc.ListGuildsResponse.paging:type_name -> injective_campaign_rpc.Paging 11, // 8: injective_campaign_rpc.ListGuildsResponse.campaign_summary:type_name -> injective_campaign_rpc.CampaignSummary @@ -1898,13 +1992,13 @@ var file_injective_campaign_rpc_proto_depIdxs = []int32{ 0, // [0:15] is the sub-list for field type_name } -func init() { file_injective_campaign_rpc_proto_init() } -func file_injective_campaign_rpc_proto_init() { - if File_injective_campaign_rpc_proto != nil { +func init() { file_goadesign_goagen_injective_campaign_rpc_proto_init() } +func file_goadesign_goagen_injective_campaign_rpc_proto_init() { + if File_goadesign_goagen_injective_campaign_rpc_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_injective_campaign_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RankingRequest); i { case 0: return &v.state @@ -1916,7 +2010,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RankingResponse); i { case 0: return &v.state @@ -1928,7 +2022,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Campaign); i { case 0: return &v.state @@ -1940,7 +2034,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Coin); i { case 0: return &v.state @@ -1952,7 +2046,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CampaignUser); i { case 0: return &v.state @@ -1964,7 +2058,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Paging); i { case 0: return &v.state @@ -1976,7 +2070,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CampaignsRequest); i { case 0: return &v.state @@ -1988,7 +2082,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CampaignsResponse); i { case 0: return &v.state @@ -2000,7 +2094,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListGuildsRequest); i { case 0: return &v.state @@ -2012,7 +2106,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListGuildsResponse); i { case 0: return &v.state @@ -2024,7 +2118,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Guild); i { case 0: return &v.state @@ -2036,7 +2130,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CampaignSummary); i { case 0: return &v.state @@ -2048,7 +2142,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListGuildMembersRequest); i { case 0: return &v.state @@ -2060,7 +2154,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListGuildMembersResponse); i { case 0: return &v.state @@ -2072,7 +2166,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GuildMember); i { case 0: return &v.state @@ -2084,7 +2178,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetGuildMemberRequest); i { case 0: return &v.state @@ -2096,7 +2190,7 @@ func file_injective_campaign_rpc_proto_init() { return nil } } - file_injective_campaign_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetGuildMemberResponse); i { case 0: return &v.state @@ -2113,18 +2207,18 @@ func file_injective_campaign_rpc_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_campaign_rpc_proto_rawDesc, + RawDescriptor: file_goadesign_goagen_injective_campaign_rpc_proto_rawDesc, NumEnums: 0, NumMessages: 17, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_injective_campaign_rpc_proto_goTypes, - DependencyIndexes: file_injective_campaign_rpc_proto_depIdxs, - MessageInfos: file_injective_campaign_rpc_proto_msgTypes, + GoTypes: file_goadesign_goagen_injective_campaign_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_campaign_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes, }.Build() - File_injective_campaign_rpc_proto = out.File - file_injective_campaign_rpc_proto_rawDesc = nil - file_injective_campaign_rpc_proto_goTypes = nil - file_injective_campaign_rpc_proto_depIdxs = nil + File_goadesign_goagen_injective_campaign_rpc_proto = out.File + file_goadesign_goagen_injective_campaign_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_campaign_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_campaign_rpc_proto_depIdxs = nil } diff --git a/exchange/campaign_rpc/pb/injective_campaign_rpc.proto b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.proto similarity index 89% rename from exchange/campaign_rpc/pb/injective_campaign_rpc.proto rename to exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.proto index ab85df23..08a9aa9b 100644 --- a/exchange/campaign_rpc/pb/injective_campaign_rpc.proto +++ b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveCampaignRPC protocol buffer definition // @@ -34,6 +34,8 @@ message RankingRequest { string account_address = 3; sint32 limit = 4; uint64 skip = 5; + // Contract address that manages the round and reward + string contract_address = 6; } message RankingResponse { @@ -61,12 +63,21 @@ message Campaign { // Campaigns round ID sint32 round_id = 9; // Contract address that controls this campaign - string contract = 10; + string manager_contract = 10; // Reward tokens of this campaign repeated Coin rewards = 11; // Total user score if accountAddress is passed, this is useful to estimate // account's reward string user_score = 12; + // Return true if user claimed the reward of this campaign + bool user_claimed = 13; + // Suffix of the subaccount that eligible for volume score + string subaccount_id_suffix = 14; + // Contract that manage users reward + string reward_contract = 15; + // Version of reward contract, UI use this to determine the message that need +// to be sent + string version = 16; } message Coin { @@ -94,6 +105,8 @@ message CampaignUser { // True if this user is updated to be in Galxe Campain list, only eligible // address are added bool galxe_updated = 9; + // True if this user claimed the reward + bool reward_claimed = 10; } // Paging defines the structure for required params for handling pagination message Paging { @@ -110,18 +123,21 @@ message Paging { } message CampaignsRequest { - // Round ID, if not specified, it will return latest roundId + // Round ID, if not specified, it will return latest roundId sint64 round_id = 1; // Address of login account, if not specified it will return no user rewards string account_address = 2; // This will return campaign x where x.roundId <= toRoundId. Useful for listing // multiple rounds sint32 to_round_id = 3; + // Contract address that manages the round and reward + string contract_address = 4; } message CampaignsResponse { repeated Campaign campaigns = 1; - repeated Coin account_rewards = 2; + repeated Coin accumulated_rewards = 2; + sint32 reward_count = 3; } message ListGuildsRequest { diff --git a/exchange/campaign_rpc/pb/injective_campaign_rpc_grpc.pb.go b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc_grpc.pb.go similarity index 98% rename from exchange/campaign_rpc/pb/injective_campaign_rpc_grpc.pb.go rename to exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc_grpc.pb.go index 2f061eed..6359121f 100644 --- a/exchange/campaign_rpc/pb/injective_campaign_rpc_grpc.pb.go +++ b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_campaign_rpc.proto package injective_campaign_rpcpb @@ -251,5 +255,5 @@ var InjectiveCampaignRPC_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "injective_campaign_rpc.proto", + Metadata: "goadesign_goagen_injective_campaign_rpc.proto", } diff --git a/exchange/campaign_rpc/pb/injective_campaign_rpc.pb.gw.go b/exchange/campaign_rpc/pb/injective_campaign_rpc.pb.gw.go index 05530247..d403baec 100644 --- a/exchange/campaign_rpc/pb/injective_campaign_rpc.pb.gw.go +++ b/exchange/campaign_rpc/pb/injective_campaign_rpc.pb.gw.go @@ -213,20 +213,22 @@ func RegisterInjectiveCampaignRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/Ranking", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/Ranking")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/Ranking", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/Ranking")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveCampaignRPC_Ranking_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveCampaignRPC_Ranking_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_Ranking_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_Ranking_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -236,20 +238,22 @@ func RegisterInjectiveCampaignRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/Campaigns", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/Campaigns")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/Campaigns", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/Campaigns")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveCampaignRPC_Campaigns_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveCampaignRPC_Campaigns_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_Campaigns_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_Campaigns_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -259,20 +263,22 @@ func RegisterInjectiveCampaignRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/ListGuilds", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/ListGuilds")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/ListGuilds", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/ListGuilds")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveCampaignRPC_ListGuilds_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveCampaignRPC_ListGuilds_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_ListGuilds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_ListGuilds_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -282,20 +288,22 @@ func RegisterInjectiveCampaignRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/ListGuildMembers", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/ListGuildMembers")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/ListGuildMembers", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/ListGuildMembers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveCampaignRPC_ListGuildMembers_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveCampaignRPC_ListGuildMembers_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_ListGuildMembers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_ListGuildMembers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -305,20 +313,22 @@ func RegisterInjectiveCampaignRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/GetGuildMember", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/GetGuildMember")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/GetGuildMember", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/GetGuildMember")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveCampaignRPC_GetGuildMember_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveCampaignRPC_GetGuildMember_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_GetGuildMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_GetGuildMember_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -367,19 +377,21 @@ func RegisterInjectiveCampaignRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/Ranking", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/Ranking")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/Ranking", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/Ranking")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveCampaignRPC_Ranking_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveCampaignRPC_Ranking_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_Ranking_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_Ranking_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -387,19 +399,21 @@ func RegisterInjectiveCampaignRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/Campaigns", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/Campaigns")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/Campaigns", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/Campaigns")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveCampaignRPC_Campaigns_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveCampaignRPC_Campaigns_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_Campaigns_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_Campaigns_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -407,19 +421,21 @@ func RegisterInjectiveCampaignRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/ListGuilds", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/ListGuilds")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/ListGuilds", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/ListGuilds")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveCampaignRPC_ListGuilds_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveCampaignRPC_ListGuilds_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_ListGuilds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_ListGuilds_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -427,19 +443,21 @@ func RegisterInjectiveCampaignRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/ListGuildMembers", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/ListGuildMembers")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/ListGuildMembers", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/ListGuildMembers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveCampaignRPC_ListGuildMembers_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveCampaignRPC_ListGuildMembers_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_ListGuildMembers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_ListGuildMembers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -447,19 +465,21 @@ func RegisterInjectiveCampaignRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/GetGuildMember", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/GetGuildMember")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/GetGuildMember", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/GetGuildMember")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveCampaignRPC_GetGuildMember_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveCampaignRPC_GetGuildMember_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveCampaignRPC_GetGuildMember_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveCampaignRPC_GetGuildMember_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.pb.go b/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.pb.go similarity index 68% rename from exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.pb.go rename to exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.pb.go index 1f41c548..37996a86 100644 --- a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.pb.go +++ b/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.pb.go @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveDerivativeExchangeRPC protocol buffer definition // @@ -8,8 +8,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_derivative_exchange_rpc.proto +// protoc v4.25.3 +// source: goadesign_goagen_injective_derivative_exchange_rpc.proto package injective_derivative_exchange_rpcpb @@ -42,7 +42,7 @@ type MarketsRequest struct { func (x *MarketsRequest) Reset() { *x = MarketsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -55,7 +55,7 @@ func (x *MarketsRequest) String() string { func (*MarketsRequest) ProtoMessage() {} func (x *MarketsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -68,7 +68,7 @@ func (x *MarketsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MarketsRequest.ProtoReflect.Descriptor instead. func (*MarketsRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{0} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{0} } func (x *MarketsRequest) GetMarketStatus() string { @@ -104,7 +104,7 @@ type MarketsResponse struct { func (x *MarketsResponse) Reset() { *x = MarketsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -117,7 +117,7 @@ func (x *MarketsResponse) String() string { func (*MarketsResponse) ProtoMessage() {} func (x *MarketsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -130,7 +130,7 @@ func (x *MarketsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MarketsResponse.ProtoReflect.Descriptor instead. func (*MarketsResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{1} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{1} } func (x *MarketsResponse) GetMarkets() []*DerivativeMarketInfo { @@ -192,7 +192,7 @@ type DerivativeMarketInfo struct { func (x *DerivativeMarketInfo) Reset() { *x = DerivativeMarketInfo{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -205,7 +205,7 @@ func (x *DerivativeMarketInfo) String() string { func (*DerivativeMarketInfo) ProtoMessage() {} func (x *DerivativeMarketInfo) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -218,7 +218,7 @@ func (x *DerivativeMarketInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use DerivativeMarketInfo.ProtoReflect.Descriptor instead. func (*DerivativeMarketInfo) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{2} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{2} } func (x *DerivativeMarketInfo) GetMarketId() string { @@ -383,7 +383,7 @@ type TokenMeta struct { func (x *TokenMeta) Reset() { *x = TokenMeta{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -396,7 +396,7 @@ func (x *TokenMeta) String() string { func (*TokenMeta) ProtoMessage() {} func (x *TokenMeta) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -409,7 +409,7 @@ func (x *TokenMeta) ProtoReflect() protoreflect.Message { // Deprecated: Use TokenMeta.ProtoReflect.Descriptor instead. func (*TokenMeta) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{3} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{3} } func (x *TokenMeta) GetName() string { @@ -474,7 +474,7 @@ type PerpetualMarketInfo struct { func (x *PerpetualMarketInfo) Reset() { *x = PerpetualMarketInfo{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -487,7 +487,7 @@ func (x *PerpetualMarketInfo) String() string { func (*PerpetualMarketInfo) ProtoMessage() {} func (x *PerpetualMarketInfo) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -500,7 +500,7 @@ func (x *PerpetualMarketInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use PerpetualMarketInfo.ProtoReflect.Descriptor instead. func (*PerpetualMarketInfo) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{4} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{4} } func (x *PerpetualMarketInfo) GetHourlyFundingRateCap() string { @@ -549,7 +549,7 @@ type PerpetualMarketFunding struct { func (x *PerpetualMarketFunding) Reset() { *x = PerpetualMarketFunding{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -562,7 +562,7 @@ func (x *PerpetualMarketFunding) String() string { func (*PerpetualMarketFunding) ProtoMessage() {} func (x *PerpetualMarketFunding) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -575,7 +575,7 @@ func (x *PerpetualMarketFunding) ProtoReflect() protoreflect.Message { // Deprecated: Use PerpetualMarketFunding.ProtoReflect.Descriptor instead. func (*PerpetualMarketFunding) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{5} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{5} } func (x *PerpetualMarketFunding) GetCumulativeFunding() string { @@ -613,7 +613,7 @@ type ExpiryFuturesMarketInfo struct { func (x *ExpiryFuturesMarketInfo) Reset() { *x = ExpiryFuturesMarketInfo{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -626,7 +626,7 @@ func (x *ExpiryFuturesMarketInfo) String() string { func (*ExpiryFuturesMarketInfo) ProtoMessage() {} func (x *ExpiryFuturesMarketInfo) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -639,7 +639,7 @@ func (x *ExpiryFuturesMarketInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ExpiryFuturesMarketInfo.ProtoReflect.Descriptor instead. func (*ExpiryFuturesMarketInfo) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{6} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{6} } func (x *ExpiryFuturesMarketInfo) GetExpirationTimestamp() int64 { @@ -668,7 +668,7 @@ type MarketRequest struct { func (x *MarketRequest) Reset() { *x = MarketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -681,7 +681,7 @@ func (x *MarketRequest) String() string { func (*MarketRequest) ProtoMessage() {} func (x *MarketRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -694,7 +694,7 @@ func (x *MarketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MarketRequest.ProtoReflect.Descriptor instead. func (*MarketRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{7} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{7} } func (x *MarketRequest) GetMarketId() string { @@ -716,7 +716,7 @@ type MarketResponse struct { func (x *MarketResponse) Reset() { *x = MarketResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -729,7 +729,7 @@ func (x *MarketResponse) String() string { func (*MarketResponse) ProtoMessage() {} func (x *MarketResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -742,7 +742,7 @@ func (x *MarketResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MarketResponse.ProtoReflect.Descriptor instead. func (*MarketResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{8} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{8} } func (x *MarketResponse) GetMarket() *DerivativeMarketInfo { @@ -765,7 +765,7 @@ type StreamMarketRequest struct { func (x *StreamMarketRequest) Reset() { *x = StreamMarketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -778,7 +778,7 @@ func (x *StreamMarketRequest) String() string { func (*StreamMarketRequest) ProtoMessage() {} func (x *StreamMarketRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -791,7 +791,7 @@ func (x *StreamMarketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamMarketRequest.ProtoReflect.Descriptor instead. func (*StreamMarketRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{9} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{9} } func (x *StreamMarketRequest) GetMarketIds() []string { @@ -817,7 +817,7 @@ type StreamMarketResponse struct { func (x *StreamMarketResponse) Reset() { *x = StreamMarketResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -830,7 +830,7 @@ func (x *StreamMarketResponse) String() string { func (*StreamMarketResponse) ProtoMessage() {} func (x *StreamMarketResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -843,7 +843,7 @@ func (x *StreamMarketResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamMarketResponse.ProtoReflect.Descriptor instead. func (*StreamMarketResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{10} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{10} } func (x *StreamMarketResponse) GetMarket() *DerivativeMarketInfo { @@ -885,7 +885,7 @@ type BinaryOptionsMarketsRequest struct { func (x *BinaryOptionsMarketsRequest) Reset() { *x = BinaryOptionsMarketsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -898,7 +898,7 @@ func (x *BinaryOptionsMarketsRequest) String() string { func (*BinaryOptionsMarketsRequest) ProtoMessage() {} func (x *BinaryOptionsMarketsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -911,7 +911,7 @@ func (x *BinaryOptionsMarketsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BinaryOptionsMarketsRequest.ProtoReflect.Descriptor instead. func (*BinaryOptionsMarketsRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{11} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{11} } func (x *BinaryOptionsMarketsRequest) GetMarketStatus() string { @@ -955,7 +955,7 @@ type BinaryOptionsMarketsResponse struct { func (x *BinaryOptionsMarketsResponse) Reset() { *x = BinaryOptionsMarketsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -968,7 +968,7 @@ func (x *BinaryOptionsMarketsResponse) String() string { func (*BinaryOptionsMarketsResponse) ProtoMessage() {} func (x *BinaryOptionsMarketsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -981,7 +981,7 @@ func (x *BinaryOptionsMarketsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BinaryOptionsMarketsResponse.ProtoReflect.Descriptor instead. func (*BinaryOptionsMarketsResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{12} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{12} } func (x *BinaryOptionsMarketsResponse) GetMarkets() []*BinaryOptionsMarketInfo { @@ -1043,7 +1043,7 @@ type BinaryOptionsMarketInfo struct { func (x *BinaryOptionsMarketInfo) Reset() { *x = BinaryOptionsMarketInfo{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1056,7 +1056,7 @@ func (x *BinaryOptionsMarketInfo) String() string { func (*BinaryOptionsMarketInfo) ProtoMessage() {} func (x *BinaryOptionsMarketInfo) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1069,7 +1069,7 @@ func (x *BinaryOptionsMarketInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use BinaryOptionsMarketInfo.ProtoReflect.Descriptor instead. func (*BinaryOptionsMarketInfo) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{13} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{13} } func (x *BinaryOptionsMarketInfo) GetMarketId() string { @@ -1212,7 +1212,7 @@ type Paging struct { func (x *Paging) Reset() { *x = Paging{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1225,7 +1225,7 @@ func (x *Paging) String() string { func (*Paging) ProtoMessage() {} func (x *Paging) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1238,7 +1238,7 @@ func (x *Paging) ProtoReflect() protoreflect.Message { // Deprecated: Use Paging.ProtoReflect.Descriptor instead. func (*Paging) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{14} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{14} } func (x *Paging) GetTotal() int64 { @@ -1288,7 +1288,7 @@ type BinaryOptionsMarketRequest struct { func (x *BinaryOptionsMarketRequest) Reset() { *x = BinaryOptionsMarketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[15] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1301,7 +1301,7 @@ func (x *BinaryOptionsMarketRequest) String() string { func (*BinaryOptionsMarketRequest) ProtoMessage() {} func (x *BinaryOptionsMarketRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[15] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1314,7 +1314,7 @@ func (x *BinaryOptionsMarketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BinaryOptionsMarketRequest.ProtoReflect.Descriptor instead. func (*BinaryOptionsMarketRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{15} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{15} } func (x *BinaryOptionsMarketRequest) GetMarketId() string { @@ -1336,7 +1336,7 @@ type BinaryOptionsMarketResponse struct { func (x *BinaryOptionsMarketResponse) Reset() { *x = BinaryOptionsMarketResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[16] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1349,7 +1349,7 @@ func (x *BinaryOptionsMarketResponse) String() string { func (*BinaryOptionsMarketResponse) ProtoMessage() {} func (x *BinaryOptionsMarketResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[16] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1362,7 +1362,7 @@ func (x *BinaryOptionsMarketResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BinaryOptionsMarketResponse.ProtoReflect.Descriptor instead. func (*BinaryOptionsMarketResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{16} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{16} } func (x *BinaryOptionsMarketResponse) GetMarket() *BinaryOptionsMarketInfo { @@ -1384,7 +1384,7 @@ type OrderbookV2Request struct { func (x *OrderbookV2Request) Reset() { *x = OrderbookV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[17] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1397,7 +1397,7 @@ func (x *OrderbookV2Request) String() string { func (*OrderbookV2Request) ProtoMessage() {} func (x *OrderbookV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[17] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1410,7 +1410,7 @@ func (x *OrderbookV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbookV2Request.ProtoReflect.Descriptor instead. func (*OrderbookV2Request) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{17} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{17} } func (x *OrderbookV2Request) GetMarketId() string { @@ -1432,7 +1432,7 @@ type OrderbookV2Response struct { func (x *OrderbookV2Response) Reset() { *x = OrderbookV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[18] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1445,7 +1445,7 @@ func (x *OrderbookV2Response) String() string { func (*OrderbookV2Response) ProtoMessage() {} func (x *OrderbookV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[18] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1458,7 +1458,7 @@ func (x *OrderbookV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbookV2Response.ProtoReflect.Descriptor instead. func (*OrderbookV2Response) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{18} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{18} } func (x *OrderbookV2Response) GetOrderbook() *DerivativeLimitOrderbookV2 { @@ -1486,7 +1486,7 @@ type DerivativeLimitOrderbookV2 struct { func (x *DerivativeLimitOrderbookV2) Reset() { *x = DerivativeLimitOrderbookV2{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[19] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1499,7 +1499,7 @@ func (x *DerivativeLimitOrderbookV2) String() string { func (*DerivativeLimitOrderbookV2) ProtoMessage() {} func (x *DerivativeLimitOrderbookV2) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[19] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1512,7 +1512,7 @@ func (x *DerivativeLimitOrderbookV2) ProtoReflect() protoreflect.Message { // Deprecated: Use DerivativeLimitOrderbookV2.ProtoReflect.Descriptor instead. func (*DerivativeLimitOrderbookV2) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{19} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{19} } func (x *DerivativeLimitOrderbookV2) GetBuys() []*PriceLevel { @@ -1559,7 +1559,7 @@ type PriceLevel struct { func (x *PriceLevel) Reset() { *x = PriceLevel{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[20] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1572,7 +1572,7 @@ func (x *PriceLevel) String() string { func (*PriceLevel) ProtoMessage() {} func (x *PriceLevel) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[20] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1585,7 +1585,7 @@ func (x *PriceLevel) ProtoReflect() protoreflect.Message { // Deprecated: Use PriceLevel.ProtoReflect.Descriptor instead. func (*PriceLevel) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{20} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{20} } func (x *PriceLevel) GetPrice() string { @@ -1621,7 +1621,7 @@ type OrderbooksV2Request struct { func (x *OrderbooksV2Request) Reset() { *x = OrderbooksV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[21] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1634,7 +1634,7 @@ func (x *OrderbooksV2Request) String() string { func (*OrderbooksV2Request) ProtoMessage() {} func (x *OrderbooksV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[21] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1647,7 +1647,7 @@ func (x *OrderbooksV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbooksV2Request.ProtoReflect.Descriptor instead. func (*OrderbooksV2Request) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{21} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{21} } func (x *OrderbooksV2Request) GetMarketIds() []string { @@ -1668,7 +1668,7 @@ type OrderbooksV2Response struct { func (x *OrderbooksV2Response) Reset() { *x = OrderbooksV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[22] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1681,7 +1681,7 @@ func (x *OrderbooksV2Response) String() string { func (*OrderbooksV2Response) ProtoMessage() {} func (x *OrderbooksV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[22] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1694,7 +1694,7 @@ func (x *OrderbooksV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbooksV2Response.ProtoReflect.Descriptor instead. func (*OrderbooksV2Response) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{22} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{22} } func (x *OrderbooksV2Response) GetOrderbooks() []*SingleDerivativeLimitOrderbookV2 { @@ -1718,7 +1718,7 @@ type SingleDerivativeLimitOrderbookV2 struct { func (x *SingleDerivativeLimitOrderbookV2) Reset() { *x = SingleDerivativeLimitOrderbookV2{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[23] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1731,7 +1731,7 @@ func (x *SingleDerivativeLimitOrderbookV2) String() string { func (*SingleDerivativeLimitOrderbookV2) ProtoMessage() {} func (x *SingleDerivativeLimitOrderbookV2) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[23] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1744,7 +1744,7 @@ func (x *SingleDerivativeLimitOrderbookV2) ProtoReflect() protoreflect.Message { // Deprecated: Use SingleDerivativeLimitOrderbookV2.ProtoReflect.Descriptor instead. func (*SingleDerivativeLimitOrderbookV2) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{23} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{23} } func (x *SingleDerivativeLimitOrderbookV2) GetMarketId() string { @@ -1774,7 +1774,7 @@ type StreamOrderbookV2Request struct { func (x *StreamOrderbookV2Request) Reset() { *x = StreamOrderbookV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[24] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1787,7 +1787,7 @@ func (x *StreamOrderbookV2Request) String() string { func (*StreamOrderbookV2Request) ProtoMessage() {} func (x *StreamOrderbookV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[24] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1800,7 +1800,7 @@ func (x *StreamOrderbookV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrderbookV2Request.ProtoReflect.Descriptor instead. func (*StreamOrderbookV2Request) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{24} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{24} } func (x *StreamOrderbookV2Request) GetMarketIds() []string { @@ -1828,7 +1828,7 @@ type StreamOrderbookV2Response struct { func (x *StreamOrderbookV2Response) Reset() { *x = StreamOrderbookV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[25] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1841,7 +1841,7 @@ func (x *StreamOrderbookV2Response) String() string { func (*StreamOrderbookV2Response) ProtoMessage() {} func (x *StreamOrderbookV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[25] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1854,7 +1854,7 @@ func (x *StreamOrderbookV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrderbookV2Response.ProtoReflect.Descriptor instead. func (*StreamOrderbookV2Response) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{25} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{25} } func (x *StreamOrderbookV2Response) GetOrderbook() *DerivativeLimitOrderbookV2 { @@ -1898,7 +1898,7 @@ type StreamOrderbookUpdateRequest struct { func (x *StreamOrderbookUpdateRequest) Reset() { *x = StreamOrderbookUpdateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[26] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1911,7 +1911,7 @@ func (x *StreamOrderbookUpdateRequest) String() string { func (*StreamOrderbookUpdateRequest) ProtoMessage() {} func (x *StreamOrderbookUpdateRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[26] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1924,7 +1924,7 @@ func (x *StreamOrderbookUpdateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrderbookUpdateRequest.ProtoReflect.Descriptor instead. func (*StreamOrderbookUpdateRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{26} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{26} } func (x *StreamOrderbookUpdateRequest) GetMarketIds() []string { @@ -1952,7 +1952,7 @@ type StreamOrderbookUpdateResponse struct { func (x *StreamOrderbookUpdateResponse) Reset() { *x = StreamOrderbookUpdateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[27] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1965,7 +1965,7 @@ func (x *StreamOrderbookUpdateResponse) String() string { func (*StreamOrderbookUpdateResponse) ProtoMessage() {} func (x *StreamOrderbookUpdateResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[27] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1978,7 +1978,7 @@ func (x *StreamOrderbookUpdateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrderbookUpdateResponse.ProtoReflect.Descriptor instead. func (*StreamOrderbookUpdateResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{27} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{27} } func (x *StreamOrderbookUpdateResponse) GetOrderbookLevelUpdates() *OrderbookLevelUpdates { @@ -2029,7 +2029,7 @@ type OrderbookLevelUpdates struct { func (x *OrderbookLevelUpdates) Reset() { *x = OrderbookLevelUpdates{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[28] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2042,7 +2042,7 @@ func (x *OrderbookLevelUpdates) String() string { func (*OrderbookLevelUpdates) ProtoMessage() {} func (x *OrderbookLevelUpdates) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[28] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2055,7 +2055,7 @@ func (x *OrderbookLevelUpdates) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbookLevelUpdates.ProtoReflect.Descriptor instead. func (*OrderbookLevelUpdates) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{28} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{28} } func (x *OrderbookLevelUpdates) GetMarketId() string { @@ -2111,7 +2111,7 @@ type PriceLevelUpdate struct { func (x *PriceLevelUpdate) Reset() { *x = PriceLevelUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[29] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2124,7 +2124,7 @@ func (x *PriceLevelUpdate) String() string { func (*PriceLevelUpdate) ProtoMessage() {} func (x *PriceLevelUpdate) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[29] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2137,7 +2137,7 @@ func (x *PriceLevelUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use PriceLevelUpdate.ProtoReflect.Descriptor instead. func (*PriceLevelUpdate) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{29} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{29} } func (x *PriceLevelUpdate) GetPrice() string { @@ -2210,7 +2210,7 @@ type OrdersRequest struct { func (x *OrdersRequest) Reset() { *x = OrdersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[30] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2223,7 +2223,7 @@ func (x *OrdersRequest) String() string { func (*OrdersRequest) ProtoMessage() {} func (x *OrdersRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[30] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2236,7 +2236,7 @@ func (x *OrdersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use OrdersRequest.ProtoReflect.Descriptor instead. func (*OrdersRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{30} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{30} } func (x *OrdersRequest) GetMarketId() string { @@ -2349,7 +2349,7 @@ type OrdersResponse struct { func (x *OrdersResponse) Reset() { *x = OrdersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[31] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2362,7 +2362,7 @@ func (x *OrdersResponse) String() string { func (*OrdersResponse) ProtoMessage() {} func (x *OrdersResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[31] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2375,7 +2375,7 @@ func (x *OrdersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use OrdersResponse.ProtoReflect.Descriptor instead. func (*OrdersResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{31} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{31} } func (x *OrdersResponse) GetOrders() []*DerivativeLimitOrder { @@ -2446,7 +2446,7 @@ type DerivativeLimitOrder struct { func (x *DerivativeLimitOrder) Reset() { *x = DerivativeLimitOrder{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[32] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2459,7 +2459,7 @@ func (x *DerivativeLimitOrder) String() string { func (*DerivativeLimitOrder) ProtoMessage() {} func (x *DerivativeLimitOrder) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[32] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2472,7 +2472,7 @@ func (x *DerivativeLimitOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use DerivativeLimitOrder.ProtoReflect.Descriptor instead. func (*DerivativeLimitOrder) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{32} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{32} } func (x *DerivativeLimitOrder) GetOrderHash() string { @@ -2663,7 +2663,7 @@ type PositionsRequest struct { func (x *PositionsRequest) Reset() { *x = PositionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[33] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2676,7 +2676,7 @@ func (x *PositionsRequest) String() string { func (*PositionsRequest) ProtoMessage() {} func (x *PositionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[33] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2689,7 +2689,7 @@ func (x *PositionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PositionsRequest.ProtoReflect.Descriptor instead. func (*PositionsRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{33} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{33} } func (x *PositionsRequest) GetSubaccountId() string { @@ -2774,7 +2774,7 @@ type PositionsResponse struct { func (x *PositionsResponse) Reset() { *x = PositionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[34] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2787,7 +2787,7 @@ func (x *PositionsResponse) String() string { func (*PositionsResponse) ProtoMessage() {} func (x *PositionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[34] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2800,7 +2800,7 @@ func (x *PositionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PositionsResponse.ProtoReflect.Descriptor instead. func (*PositionsResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{34} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{34} } func (x *PositionsResponse) GetPositions() []*DerivativePosition { @@ -2851,7 +2851,7 @@ type DerivativePosition struct { func (x *DerivativePosition) Reset() { *x = DerivativePosition{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[35] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2864,7 +2864,7 @@ func (x *DerivativePosition) String() string { func (*DerivativePosition) ProtoMessage() {} func (x *DerivativePosition) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[35] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2877,7 +2877,7 @@ func (x *DerivativePosition) ProtoReflect() protoreflect.Message { // Deprecated: Use DerivativePosition.ProtoReflect.Descriptor instead. func (*DerivativePosition) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{35} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{35} } func (x *DerivativePosition) GetTicker() string { @@ -2998,7 +2998,7 @@ type PositionsV2Request struct { func (x *PositionsV2Request) Reset() { *x = PositionsV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[36] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3011,7 +3011,7 @@ func (x *PositionsV2Request) String() string { func (*PositionsV2Request) ProtoMessage() {} func (x *PositionsV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[36] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3024,7 +3024,7 @@ func (x *PositionsV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use PositionsV2Request.ProtoReflect.Descriptor instead. func (*PositionsV2Request) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{36} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{36} } func (x *PositionsV2Request) GetSubaccountId() string { @@ -3109,7 +3109,7 @@ type PositionsV2Response struct { func (x *PositionsV2Response) Reset() { *x = PositionsV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[37] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3122,7 +3122,7 @@ func (x *PositionsV2Response) String() string { func (*PositionsV2Response) ProtoMessage() {} func (x *PositionsV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[37] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3135,7 +3135,7 @@ func (x *PositionsV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use PositionsV2Response.ProtoReflect.Descriptor instead. func (*PositionsV2Response) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{37} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{37} } func (x *PositionsV2Response) GetPositions() []*DerivativePositionV2 { @@ -3184,7 +3184,7 @@ type DerivativePositionV2 struct { func (x *DerivativePositionV2) Reset() { *x = DerivativePositionV2{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[38] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3197,7 +3197,7 @@ func (x *DerivativePositionV2) String() string { func (*DerivativePositionV2) ProtoMessage() {} func (x *DerivativePositionV2) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[38] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3210,7 +3210,7 @@ func (x *DerivativePositionV2) ProtoReflect() protoreflect.Message { // Deprecated: Use DerivativePositionV2.ProtoReflect.Descriptor instead. func (*DerivativePositionV2) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{38} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{38} } func (x *DerivativePositionV2) GetTicker() string { @@ -3306,7 +3306,7 @@ type LiquidablePositionsRequest struct { func (x *LiquidablePositionsRequest) Reset() { *x = LiquidablePositionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[39] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3319,7 +3319,7 @@ func (x *LiquidablePositionsRequest) String() string { func (*LiquidablePositionsRequest) ProtoMessage() {} func (x *LiquidablePositionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[39] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3332,7 +3332,7 @@ func (x *LiquidablePositionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LiquidablePositionsRequest.ProtoReflect.Descriptor instead. func (*LiquidablePositionsRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{39} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{39} } func (x *LiquidablePositionsRequest) GetMarketId() string { @@ -3368,7 +3368,7 @@ type LiquidablePositionsResponse struct { func (x *LiquidablePositionsResponse) Reset() { *x = LiquidablePositionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[40] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3381,7 +3381,7 @@ func (x *LiquidablePositionsResponse) String() string { func (*LiquidablePositionsResponse) ProtoMessage() {} func (x *LiquidablePositionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[40] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3394,7 +3394,7 @@ func (x *LiquidablePositionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LiquidablePositionsResponse.ProtoReflect.Descriptor instead. func (*LiquidablePositionsResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{40} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{40} } func (x *LiquidablePositionsResponse) GetPositions() []*DerivativePosition { @@ -3428,7 +3428,7 @@ type FundingPaymentsRequest struct { func (x *FundingPaymentsRequest) Reset() { *x = FundingPaymentsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[41] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3441,7 +3441,7 @@ func (x *FundingPaymentsRequest) String() string { func (*FundingPaymentsRequest) ProtoMessage() {} func (x *FundingPaymentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[41] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3454,7 +3454,7 @@ func (x *FundingPaymentsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FundingPaymentsRequest.ProtoReflect.Descriptor instead. func (*FundingPaymentsRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{41} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{41} } func (x *FundingPaymentsRequest) GetSubaccountId() string { @@ -3512,7 +3512,7 @@ type FundingPaymentsResponse struct { func (x *FundingPaymentsResponse) Reset() { *x = FundingPaymentsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[42] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3525,7 +3525,7 @@ func (x *FundingPaymentsResponse) String() string { func (*FundingPaymentsResponse) ProtoMessage() {} func (x *FundingPaymentsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[42] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3538,7 +3538,7 @@ func (x *FundingPaymentsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FundingPaymentsResponse.ProtoReflect.Descriptor instead. func (*FundingPaymentsResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{42} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{42} } func (x *FundingPaymentsResponse) GetPayments() []*FundingPayment { @@ -3573,7 +3573,7 @@ type FundingPayment struct { func (x *FundingPayment) Reset() { *x = FundingPayment{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[43] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3586,7 +3586,7 @@ func (x *FundingPayment) String() string { func (*FundingPayment) ProtoMessage() {} func (x *FundingPayment) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[43] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3599,7 +3599,7 @@ func (x *FundingPayment) ProtoReflect() protoreflect.Message { // Deprecated: Use FundingPayment.ProtoReflect.Descriptor instead. func (*FundingPayment) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{43} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{43} } func (x *FundingPayment) GetMarketId() string { @@ -3648,7 +3648,7 @@ type FundingRatesRequest struct { func (x *FundingRatesRequest) Reset() { *x = FundingRatesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[44] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3661,7 +3661,7 @@ func (x *FundingRatesRequest) String() string { func (*FundingRatesRequest) ProtoMessage() {} func (x *FundingRatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[44] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3674,7 +3674,7 @@ func (x *FundingRatesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FundingRatesRequest.ProtoReflect.Descriptor instead. func (*FundingRatesRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{44} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{44} } func (x *FundingRatesRequest) GetMarketId() string { @@ -3718,7 +3718,7 @@ type FundingRatesResponse struct { func (x *FundingRatesResponse) Reset() { *x = FundingRatesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[45] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3731,7 +3731,7 @@ func (x *FundingRatesResponse) String() string { func (*FundingRatesResponse) ProtoMessage() {} func (x *FundingRatesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[45] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3744,7 +3744,7 @@ func (x *FundingRatesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FundingRatesResponse.ProtoReflect.Descriptor instead. func (*FundingRatesResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{45} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{45} } func (x *FundingRatesResponse) GetFundingRates() []*FundingRate { @@ -3777,7 +3777,7 @@ type FundingRate struct { func (x *FundingRate) Reset() { *x = FundingRate{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[46] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3790,7 +3790,7 @@ func (x *FundingRate) String() string { func (*FundingRate) ProtoMessage() {} func (x *FundingRate) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[46] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3803,7 +3803,7 @@ func (x *FundingRate) ProtoReflect() protoreflect.Message { // Deprecated: Use FundingRate.ProtoReflect.Descriptor instead. func (*FundingRate) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{46} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{46} } func (x *FundingRate) GetMarketId() string { @@ -3847,7 +3847,7 @@ type StreamPositionsRequest struct { func (x *StreamPositionsRequest) Reset() { *x = StreamPositionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[47] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3860,7 +3860,7 @@ func (x *StreamPositionsRequest) String() string { func (*StreamPositionsRequest) ProtoMessage() {} func (x *StreamPositionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[47] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3873,7 +3873,7 @@ func (x *StreamPositionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamPositionsRequest.ProtoReflect.Descriptor instead. func (*StreamPositionsRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{47} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{47} } func (x *StreamPositionsRequest) GetSubaccountId() string { @@ -3916,7 +3916,7 @@ type StreamPositionsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Updated Derivative Position + // Updated derivative Position Position *DerivativePosition `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"` // Operation timestamp in UNIX millis. Timestamp int64 `protobuf:"zigzag64,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` @@ -3925,7 +3925,7 @@ type StreamPositionsResponse struct { func (x *StreamPositionsResponse) Reset() { *x = StreamPositionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[48] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3938,7 +3938,7 @@ func (x *StreamPositionsResponse) String() string { func (*StreamPositionsResponse) ProtoMessage() {} func (x *StreamPositionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[48] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3951,7 +3951,7 @@ func (x *StreamPositionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamPositionsResponse.ProtoReflect.Descriptor instead. func (*StreamPositionsResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{48} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{48} } func (x *StreamPositionsResponse) GetPosition() *DerivativePosition { @@ -4010,7 +4010,7 @@ type StreamOrdersRequest struct { func (x *StreamOrdersRequest) Reset() { *x = StreamOrdersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[49] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4023,7 +4023,7 @@ func (x *StreamOrdersRequest) String() string { func (*StreamOrdersRequest) ProtoMessage() {} func (x *StreamOrdersRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[49] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4036,7 +4036,7 @@ func (x *StreamOrdersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrdersRequest.ProtoReflect.Descriptor instead. func (*StreamOrdersRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{49} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{49} } func (x *StreamOrdersRequest) GetMarketId() string { @@ -4153,7 +4153,7 @@ type StreamOrdersResponse struct { func (x *StreamOrdersResponse) Reset() { *x = StreamOrdersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[50] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4166,7 +4166,7 @@ func (x *StreamOrdersResponse) String() string { func (*StreamOrdersResponse) ProtoMessage() {} func (x *StreamOrdersResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[50] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4179,7 +4179,7 @@ func (x *StreamOrdersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrdersResponse.ProtoReflect.Descriptor instead. func (*StreamOrdersResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{50} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{50} } func (x *StreamOrdersResponse) GetOrder() *DerivativeLimitOrder { @@ -4243,7 +4243,7 @@ type TradesRequest struct { func (x *TradesRequest) Reset() { *x = TradesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[51] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4256,7 +4256,7 @@ func (x *TradesRequest) String() string { func (*TradesRequest) ProtoMessage() {} func (x *TradesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[51] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4269,7 +4269,7 @@ func (x *TradesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TradesRequest.ProtoReflect.Descriptor instead. func (*TradesRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{51} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{51} } func (x *TradesRequest) GetMarketId() string { @@ -4383,7 +4383,7 @@ type TradesResponse struct { func (x *TradesResponse) Reset() { *x = TradesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[52] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4396,7 +4396,7 @@ func (x *TradesResponse) String() string { func (*TradesResponse) ProtoMessage() {} func (x *TradesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[52] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4409,7 +4409,7 @@ func (x *TradesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TradesResponse.ProtoReflect.Descriptor instead. func (*TradesResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{52} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{52} } func (x *TradesResponse) GetTrades() []*DerivativeTrade { @@ -4462,7 +4462,7 @@ type DerivativeTrade struct { func (x *DerivativeTrade) Reset() { *x = DerivativeTrade{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[53] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4475,7 +4475,7 @@ func (x *DerivativeTrade) String() string { func (*DerivativeTrade) ProtoMessage() {} func (x *DerivativeTrade) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[53] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4488,7 +4488,7 @@ func (x *DerivativeTrade) ProtoReflect() protoreflect.Message { // Deprecated: Use DerivativeTrade.ProtoReflect.Descriptor instead. func (*DerivativeTrade) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{53} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{53} } func (x *DerivativeTrade) GetOrderHash() string { @@ -4600,7 +4600,7 @@ type PositionDelta struct { func (x *PositionDelta) Reset() { *x = PositionDelta{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[54] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4613,7 +4613,7 @@ func (x *PositionDelta) String() string { func (*PositionDelta) ProtoMessage() {} func (x *PositionDelta) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[54] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4626,7 +4626,7 @@ func (x *PositionDelta) ProtoReflect() protoreflect.Message { // Deprecated: Use PositionDelta.ProtoReflect.Descriptor instead. func (*PositionDelta) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{54} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{54} } func (x *PositionDelta) GetTradeDirection() string { @@ -4697,7 +4697,7 @@ type TradesV2Request struct { func (x *TradesV2Request) Reset() { *x = TradesV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[55] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4710,7 +4710,7 @@ func (x *TradesV2Request) String() string { func (*TradesV2Request) ProtoMessage() {} func (x *TradesV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[55] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4723,7 +4723,7 @@ func (x *TradesV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use TradesV2Request.ProtoReflect.Descriptor instead. func (*TradesV2Request) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{55} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{55} } func (x *TradesV2Request) GetMarketId() string { @@ -4837,7 +4837,7 @@ type TradesV2Response struct { func (x *TradesV2Response) Reset() { *x = TradesV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[56] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4850,7 +4850,7 @@ func (x *TradesV2Response) String() string { func (*TradesV2Response) ProtoMessage() {} func (x *TradesV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[56] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4863,7 +4863,7 @@ func (x *TradesV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use TradesV2Response.ProtoReflect.Descriptor instead. func (*TradesV2Response) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{56} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{56} } func (x *TradesV2Response) GetTrades() []*DerivativeTrade { @@ -4920,7 +4920,7 @@ type StreamTradesRequest struct { func (x *StreamTradesRequest) Reset() { *x = StreamTradesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[57] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4933,7 +4933,7 @@ func (x *StreamTradesRequest) String() string { func (*StreamTradesRequest) ProtoMessage() {} func (x *StreamTradesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[57] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4946,7 +4946,7 @@ func (x *StreamTradesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTradesRequest.ProtoReflect.Descriptor instead. func (*StreamTradesRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{57} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{57} } func (x *StreamTradesRequest) GetMarketId() string { @@ -5063,7 +5063,7 @@ type StreamTradesResponse struct { func (x *StreamTradesResponse) Reset() { *x = StreamTradesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[58] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5076,7 +5076,7 @@ func (x *StreamTradesResponse) String() string { func (*StreamTradesResponse) ProtoMessage() {} func (x *StreamTradesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[58] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5089,7 +5089,7 @@ func (x *StreamTradesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTradesResponse.ProtoReflect.Descriptor instead. func (*StreamTradesResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{58} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{58} } func (x *StreamTradesResponse) GetTrade() *DerivativeTrade { @@ -5153,7 +5153,7 @@ type StreamTradesV2Request struct { func (x *StreamTradesV2Request) Reset() { *x = StreamTradesV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[59] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5166,7 +5166,7 @@ func (x *StreamTradesV2Request) String() string { func (*StreamTradesV2Request) ProtoMessage() {} func (x *StreamTradesV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[59] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5179,7 +5179,7 @@ func (x *StreamTradesV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTradesV2Request.ProtoReflect.Descriptor instead. func (*StreamTradesV2Request) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{59} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{59} } func (x *StreamTradesV2Request) GetMarketId() string { @@ -5296,7 +5296,7 @@ type StreamTradesV2Response struct { func (x *StreamTradesV2Response) Reset() { *x = StreamTradesV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[60] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5309,7 +5309,7 @@ func (x *StreamTradesV2Response) String() string { func (*StreamTradesV2Response) ProtoMessage() {} func (x *StreamTradesV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[60] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5322,7 +5322,7 @@ func (x *StreamTradesV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTradesV2Response.ProtoReflect.Descriptor instead. func (*StreamTradesV2Response) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{60} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{60} } func (x *StreamTradesV2Response) GetTrade() *DerivativeTrade { @@ -5364,7 +5364,7 @@ type SubaccountOrdersListRequest struct { func (x *SubaccountOrdersListRequest) Reset() { *x = SubaccountOrdersListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[61] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5377,7 +5377,7 @@ func (x *SubaccountOrdersListRequest) String() string { func (*SubaccountOrdersListRequest) ProtoMessage() {} func (x *SubaccountOrdersListRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[61] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5390,7 +5390,7 @@ func (x *SubaccountOrdersListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SubaccountOrdersListRequest.ProtoReflect.Descriptor instead. func (*SubaccountOrdersListRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{61} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{61} } func (x *SubaccountOrdersListRequest) GetSubaccountId() string { @@ -5434,7 +5434,7 @@ type SubaccountOrdersListResponse struct { func (x *SubaccountOrdersListResponse) Reset() { *x = SubaccountOrdersListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[62] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5447,7 +5447,7 @@ func (x *SubaccountOrdersListResponse) String() string { func (*SubaccountOrdersListResponse) ProtoMessage() {} func (x *SubaccountOrdersListResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[62] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5460,7 +5460,7 @@ func (x *SubaccountOrdersListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SubaccountOrdersListResponse.ProtoReflect.Descriptor instead. func (*SubaccountOrdersListResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{62} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{62} } func (x *SubaccountOrdersListResponse) GetOrders() []*DerivativeLimitOrder { @@ -5499,7 +5499,7 @@ type SubaccountTradesListRequest struct { func (x *SubaccountTradesListRequest) Reset() { *x = SubaccountTradesListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[63] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5512,7 +5512,7 @@ func (x *SubaccountTradesListRequest) String() string { func (*SubaccountTradesListRequest) ProtoMessage() {} func (x *SubaccountTradesListRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[63] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5525,7 +5525,7 @@ func (x *SubaccountTradesListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SubaccountTradesListRequest.ProtoReflect.Descriptor instead. func (*SubaccountTradesListRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{63} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{63} } func (x *SubaccountTradesListRequest) GetSubaccountId() string { @@ -5582,7 +5582,7 @@ type SubaccountTradesListResponse struct { func (x *SubaccountTradesListResponse) Reset() { *x = SubaccountTradesListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[64] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5595,7 +5595,7 @@ func (x *SubaccountTradesListResponse) String() string { func (*SubaccountTradesListResponse) ProtoMessage() {} func (x *SubaccountTradesListResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[64] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5608,7 +5608,7 @@ func (x *SubaccountTradesListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SubaccountTradesListResponse.ProtoReflect.Descriptor instead. func (*SubaccountTradesListResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{64} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{64} } func (x *SubaccountTradesListResponse) GetTrades() []*DerivativeTrade { @@ -5658,7 +5658,7 @@ type OrdersHistoryRequest struct { func (x *OrdersHistoryRequest) Reset() { *x = OrdersHistoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[65] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5671,7 +5671,7 @@ func (x *OrdersHistoryRequest) String() string { func (*OrdersHistoryRequest) ProtoMessage() {} func (x *OrdersHistoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[65] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5684,7 +5684,7 @@ func (x *OrdersHistoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use OrdersHistoryRequest.ProtoReflect.Descriptor instead. func (*OrdersHistoryRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{65} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{65} } func (x *OrdersHistoryRequest) GetSubaccountId() string { @@ -5812,7 +5812,7 @@ type OrdersHistoryResponse struct { func (x *OrdersHistoryResponse) Reset() { *x = OrdersHistoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[66] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5825,7 +5825,7 @@ func (x *OrdersHistoryResponse) String() string { func (*OrdersHistoryResponse) ProtoMessage() {} func (x *OrdersHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[66] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5838,7 +5838,7 @@ func (x *OrdersHistoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use OrdersHistoryResponse.ProtoReflect.Descriptor instead. func (*OrdersHistoryResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{66} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{66} } func (x *OrdersHistoryResponse) GetOrders() []*DerivativeOrderHistory { @@ -5907,7 +5907,7 @@ type DerivativeOrderHistory struct { func (x *DerivativeOrderHistory) Reset() { *x = DerivativeOrderHistory{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[67] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5920,7 +5920,7 @@ func (x *DerivativeOrderHistory) String() string { func (*DerivativeOrderHistory) ProtoMessage() {} func (x *DerivativeOrderHistory) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[67] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5933,7 +5933,7 @@ func (x *DerivativeOrderHistory) ProtoReflect() protoreflect.Message { // Deprecated: Use DerivativeOrderHistory.ProtoReflect.Descriptor instead. func (*DerivativeOrderHistory) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{67} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{67} } func (x *DerivativeOrderHistory) GetOrderHash() string { @@ -6104,7 +6104,7 @@ type StreamOrdersHistoryRequest struct { func (x *StreamOrdersHistoryRequest) Reset() { *x = StreamOrdersHistoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[68] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6117,7 +6117,7 @@ func (x *StreamOrdersHistoryRequest) String() string { func (*StreamOrdersHistoryRequest) ProtoMessage() {} func (x *StreamOrdersHistoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[68] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6130,7 +6130,7 @@ func (x *StreamOrdersHistoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrdersHistoryRequest.ProtoReflect.Descriptor instead. func (*StreamOrdersHistoryRequest) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{68} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{68} } func (x *StreamOrdersHistoryRequest) GetSubaccountId() string { @@ -6191,7 +6191,7 @@ type StreamOrdersHistoryResponse struct { func (x *StreamOrdersHistoryResponse) Reset() { *x = StreamOrdersHistoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[69] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6204,7 +6204,7 @@ func (x *StreamOrdersHistoryResponse) String() string { func (*StreamOrdersHistoryResponse) ProtoMessage() {} func (x *StreamOrdersHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_derivative_exchange_rpc_proto_msgTypes[69] + mi := &file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6217,7 +6217,7 @@ func (x *StreamOrdersHistoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrdersHistoryResponse.ProtoReflect.Descriptor instead. func (*StreamOrdersHistoryResponse) Descriptor() ([]byte, []int) { - return file_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{69} + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP(), []int{69} } func (x *StreamOrdersHistoryResponse) GetOrder() *DerivativeOrderHistory { @@ -6241,656 +6241,365 @@ func (x *StreamOrdersHistoryResponse) GetTimestamp() int64 { return 0 } -var File_injective_derivative_exchange_rpc_proto protoreflect.FileDescriptor +var File_goadesign_goagen_injective_derivative_exchange_rpc_proto protoreflect.FileDescriptor -var file_injective_derivative_exchange_rpc_proto_rawDesc = []byte{ - 0x0a, 0x27, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x21, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x7f, 0x0a, 0x0e, - 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, - 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x6e, - 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x44, - 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x22, 0x64, 0x0a, - 0x0f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x51, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x73, 0x22, 0xc9, 0x08, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, - 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 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, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, - 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, - 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, - 0x63, 0x6c, 0x65, 0x42, 0x61, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x61, 0x63, 0x6c, - 0x65, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, - 0x72, 0x61, 0x63, 0x6c, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, - 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6f, - 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, - 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, - 0x53, 0x63, 0x61, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x14, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x38, 0x0a, - 0x18, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x72, - 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x16, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x72, 0x67, - 0x69, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, - 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, - 0x6f, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x56, 0x0a, 0x10, 0x71, 0x75, 0x6f, 0x74, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, - 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, - 0x52, 0x0e, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, - 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, - 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x46, - 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x5f, - 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x74, 0x61, 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x14, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x5f, 0x66, 0x65, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x65, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, - 0x6c, 0x12, 0x2d, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, - 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, - 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x69, 0x63, - 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x6a, 0x0a, 0x15, 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, - 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x12, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, - 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x70, 0x65, - 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x73, 0x0a, 0x18, 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, - 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x16, - 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x46, - 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x77, 0x0a, 0x1a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, - 0x5f, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x45, - 0x78, 0x70, 0x69, 0x72, 0x79, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x17, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x46, 0x75, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, - 0xa0, 0x01, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 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, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, - 0x62, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, - 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, - 0x61, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x22, 0xdf, 0x01, 0x0a, 0x13, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, - 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x17, 0x68, 0x6f, - 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, - 0x65, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x68, 0x6f, 0x75, - 0x72, 0x6c, 0x79, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x43, 0x61, - 0x70, 0x12, 0x30, 0x0a, 0x14, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x12, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x52, - 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x75, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x14, 0x6e, 0x65, 0x78, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x75, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x76, 0x61, 0x6c, 0x22, 0x99, 0x01, 0x0a, 0x16, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, - 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, - 0x2d, 0x0a, 0x12, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x75, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x75, 0x6d, - 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x29, - 0x0a, 0x10, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x69, - 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x22, 0x77, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, - 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x14, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x13, 0x65, 0x78, 0x70, 0x69, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x29, - 0x0a, 0x10, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x69, - 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x2c, 0x0a, 0x0d, 0x4d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x61, 0x0a, 0x0e, 0x4d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x22, 0x34, 0x0a, 0x13, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, - 0x22, 0xac, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, +var file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDesc = []byte{ + 0x0a, 0x38, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x21, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, - 0x8d, 0x01, 0x0a, 0x1b, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x7f, 0x0a, + 0x0e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, - 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, - 0xb7, 0x01, 0x0a, 0x1c, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x54, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, - 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xfe, 0x05, 0x0a, 0x17, 0x42, 0x69, - 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 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, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, - 0x23, 0x0a, 0x0d, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x53, 0x79, - 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, - 0x72, 0x61, 0x63, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, - 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, - 0x0a, 0x13, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x66, - 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x72, 0x61, - 0x63, 0x6c, 0x65, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x31, - 0x0a, 0x14, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x13, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x12, 0x31, 0x0a, 0x14, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x13, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x64, 0x65, - 0x6e, 0x6f, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, - 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x56, 0x0a, 0x10, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0e, 0x71, - 0x75, 0x6f, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x24, 0x0a, - 0x0e, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, - 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, - 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, 0x6b, - 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x65, - 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x65, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x6d, - 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x69, - 0x63, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x69, - 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x51, - 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x22, 0x64, + 0x0a, 0x0f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x51, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x73, 0x22, 0xc9, 0x08, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 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, 0x23, 0x0a, 0x0d, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, + 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, + 0x61, 0x63, 0x6c, 0x65, 0x42, 0x61, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x61, 0x63, + 0x6c, 0x65, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, + 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, + 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x72, 0x61, 0x63, 0x6c, + 0x65, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x14, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x5f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x38, + 0x0a, 0x18, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x61, + 0x72, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x16, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x72, + 0x67, 0x69, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, + 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, + 0x75, 0x6f, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x56, 0x0a, 0x10, 0x71, 0x75, 0x6f, + 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x52, 0x0e, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, + 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6b, 0x65, 0x72, + 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6b, 0x65, 0x72, + 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, + 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x65, 0x65, 0x12, + 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, + 0x61, 0x6c, 0x12, 0x2d, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, + 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x69, + 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x6a, 0x0a, 0x15, 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, + 0x75, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, + 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x70, + 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x73, 0x0a, 0x18, 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x5f, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, + 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, + 0x16, 0x70, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x77, 0x0a, 0x1a, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x79, 0x5f, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x17, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x46, + 0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 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, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, + 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, + 0x6d, 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, + 0x6d, 0x61, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x22, 0xdf, 0x01, 0x0a, 0x13, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, + 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x17, 0x68, + 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, + 0x74, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x68, 0x6f, + 0x75, 0x72, 0x6c, 0x79, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x43, + 0x61, 0x70, 0x12, 0x30, 0x0a, 0x14, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x12, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, + 0x52, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x75, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x14, 0x6e, 0x65, 0x78, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x99, 0x01, 0x0a, 0x16, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, + 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, + 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x75, + 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, + 0x29, 0x0a, 0x10, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x75, 0x6d, 0x75, 0x6c, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x22, 0x77, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x46, 0x75, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x14, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x13, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x74, 0x74, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, - 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, - 0x0e, 0x0a, 0x02, 0x74, 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, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x65, 0x78, 0x74, 0x22, 0x39, 0x0a, 0x1a, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 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, 0x22, 0x71, - 0x0a, 0x1b, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, - 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x22, 0x31, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x72, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, - 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x09, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, + 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x74, 0x74, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x2c, 0x0a, 0x0d, 0x4d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x61, 0x0a, 0x0e, 0x4d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x22, 0x34, 0x0a, 0x13, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, + 0x73, 0x22, 0xac, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x22, 0x8d, 0x01, 0x0a, 0x1b, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x64, + 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, + 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x22, 0xb7, 0x01, 0x0a, 0x1c, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x54, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, + 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xfe, 0x05, 0x0a, 0x17, 0x42, + 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 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, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, + 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, + 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x53, + 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1f, + 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x2e, 0x0a, 0x13, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, + 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x72, + 0x61, 0x63, 0x6c, 0x65, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, + 0x31, 0x0a, 0x14, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x13, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x12, 0x31, 0x0a, 0x14, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x13, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x64, + 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, + 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x56, 0x0a, 0x10, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0e, + 0x71, 0x75, 0x6f, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x24, + 0x0a, 0x0e, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, + 0x52, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, + 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, + 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x66, + 0x65, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x65, 0x65, 0x12, 0x2d, 0x0a, 0x13, + 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d, + 0x69, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x63, 0x6b, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x69, 0x6e, + 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x74, 0x74, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x06, + 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, + 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, + 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x65, 0x78, 0x74, 0x22, 0x39, 0x0a, 0x1a, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 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, 0x22, + 0x71, 0x0a, 0x1b, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, + 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0xde, 0x01, 0x0a, 0x1a, 0x44, 0x65, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x41, 0x0a, 0x04, 0x62, 0x75, 0x79, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x52, 0x04, 0x62, 0x75, 0x79, 0x73, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x65, - 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x73, 0x65, 0x6c, 0x6c, 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, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x72, 0x69, - 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x34, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x7b, 0x0a, - 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x69, - 0x6e, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x0a, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x20, 0x53, - 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 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, 0x5b, 0x0a, 0x09, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x22, 0x31, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, + 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x72, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x09, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0x39, 0x0a, 0x18, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x49, 0x64, 0x73, 0x22, 0xda, 0x01, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x12, - 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, - 0x64, 0x22, 0x3d, 0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, - 0x22, 0xf3, 0x01, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x70, 0x0a, 0x17, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, - 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x15, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0x83, 0x02, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 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, 0x1a, 0x0a, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x04, 0x62, 0x75, 0x79, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x04, 0x62, 0x75, - 0x79, 0x73, 0x12, 0x49, 0x0a, 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x1d, 0x0a, - 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x7f, 0x0a, 0x10, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc9, 0x03, - 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x1d, 0x0a, 0x0a, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, - 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, - 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x73, 0x43, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa4, 0x01, 0x0a, 0x0e, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, - 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, - 0x22, 0xd7, 0x05, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x49, 0x64, 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, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, - 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, - 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x66, - 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, - 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, - 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 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, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 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, 0x0e, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, - 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, - 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, - 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, - 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, - 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xdc, 0x02, 0x0a, 0x10, 0x50, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, - 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, - 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x11, 0x50, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x53, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, - 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, - 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xb0, 0x03, 0x0a, 0x12, 0x44, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, - 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x63, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x6c, - 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, - 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, - 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x1e, 0x61, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, - 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x1b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, - 0x4f, 0x6e, 0x6c, 0x79, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xde, 0x02, 0x0a, 0x12, 0x50, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, - 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xaf, 0x01, 0x0a, 0x13, - 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0xde, 0x01, 0x0a, 0x1a, 0x44, 0x65, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x41, 0x0a, 0x04, 0x62, 0x75, 0x79, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, - 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x04, 0x62, 0x75, 0x79, 0x73, 0x12, 0x43, 0x0a, 0x05, 0x73, + 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xe4, 0x02, - 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1b, - 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, - 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, - 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, - 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, - 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, - 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x63, 0x0a, 0x1a, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x62, - 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 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, - 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, - 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x72, 0x0a, 0x1b, 0x4c, 0x69, 0x71, - 0x75, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbe, 0x01, - 0x0a, 0x16, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, - 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, - 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, - 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xab, - 0x01, 0x0a, 0x17, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x08, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, - 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0x88, 0x01, 0x0a, - 0x0e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 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, 0x23, 0x0a, 0x0d, - 0x73, 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, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x77, 0x0a, 0x13, 0x46, 0x75, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x12, 0x0a, 0x04, 0x73, - 0x6b, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x22, 0xae, 0x01, 0x0a, 0x14, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0d, 0x66, 0x75, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, - 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x41, - 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x67, 0x22, 0x5c, 0x0a, 0x0b, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, + 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x73, 0x65, 0x6c, 0x6c, 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, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x34, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x7b, + 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, + 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x20, + 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 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, 0x12, 0x0a, - 0x04, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x61, 0x74, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, - 0xc9, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, - 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, - 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, - 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x17, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xcf, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x5b, 0x0a, + 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, + 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0x39, 0x0a, 0x18, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xda, 0x01, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, + 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, + 0x73, 0x22, 0xf3, 0x01, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x17, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, + 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x15, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0x83, 0x02, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 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, 0x1a, + 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x04, 0x62, 0x75, + 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x04, 0x62, + 0x75, 0x79, 0x73, 0x12, 0x49, 0x0a, 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x1d, + 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x7f, 0x0a, + 0x10, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc9, + 0x03, 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, @@ -6918,19 +6627,392 @@ var file_injective_derivative_exchange_rpc_proto_rawDesc = []byte{ 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x14, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa4, 0x01, 0x0a, 0x0e, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, + 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x41, + 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, + 0x67, 0x22, 0xd7, 0x05, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x49, 0x64, 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, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, + 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, + 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, + 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 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, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 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, 0x0e, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, + 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x74, 0x12, 0x2a, 0x0a, + 0x11, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, + 0x73, 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xdc, 0x02, 0x0a, 0x10, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x11, 0x50, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x53, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xb0, 0x03, 0x0a, 0x12, 0x44, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, + 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, + 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, + 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, + 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, + 0x61, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x1e, 0x61, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, + 0x79, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x1b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x64, 0x75, 0x63, + 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xde, 0x02, 0x0a, 0x12, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, + 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xaf, 0x01, 0x0a, + 0x13, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, + 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xe4, + 0x02, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, + 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, + 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, + 0x72, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x63, 0x0a, 0x1a, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, + 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 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, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, + 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x72, 0x0a, 0x1b, 0x4c, 0x69, + 0x71, 0x75, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x09, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbe, + 0x01, 0x0a, 0x16, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, + 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, + 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, + 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, + 0xab, 0x01, 0x0a, 0x17, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x08, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, + 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0x88, 0x01, + 0x0a, 0x0e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 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, 0x23, 0x0a, + 0x0d, 0x73, 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, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x77, 0x0a, 0x13, 0x46, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x12, 0x0a, 0x04, + 0x73, 0x6b, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, + 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x22, 0xae, 0x01, 0x0a, 0x14, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0d, 0x66, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, + 0x65, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, + 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x67, 0x22, 0x5c, 0x0a, 0x0b, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, + 0x65, 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, 0x12, + 0x0a, 0x04, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x61, + 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x22, 0xc9, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, + 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x8a, 0x01, 0x0a, + 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xcf, 0x03, 0x0a, 0x13, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 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, 0x1d, + 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, + 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x19, + 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x14, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xbf, 0x03, 0x0a, 0x0d, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, + 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x9f, 0x01, 0x0a, 0x0e, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, + 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, + 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, + 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xe8, 0x03, 0x0a, + 0x0f, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x12, 0x74, 0x72, 0x61, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4c, + 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0e, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xbf, 0x03, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x65, 0x6c, 0x74, 0x61, 0x52, 0x0d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, + 0x6c, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, + 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, + 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, + 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, + 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x0d, 0x50, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, + 0x64, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x61, 0x72, 0x67, 0x69, 0x6e, 0x22, 0xc1, 0x03, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, + 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, @@ -6957,559 +7039,478 @@ var file_injective_derivative_exchange_rpc_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x9f, 0x01, 0x0a, 0x0e, 0x54, 0x72, - 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x06, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, - 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, - 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, - 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xe8, 0x03, 0x0a, 0x0f, - 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, - 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, - 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4c, 0x69, - 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0e, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, - 0x6c, 0x74, 0x61, 0x52, 0x0d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, - 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, 0x0b, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, - 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, - 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, - 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x0d, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, - 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, - 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, - 0x72, 0x67, 0x69, 0x6e, 0x22, 0xc1, 0x03, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, - 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, - 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, - 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, - 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x10, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, - 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x10, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, + 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, + 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xc5, 0x03, + 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, + 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, + 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, + 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa5, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, + 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, - 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xc5, 0x03, 0x0a, - 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, - 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, - 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, - 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, - 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x63, 0x69, 0x64, 0x22, 0xa5, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, - 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, - 0x52, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc7, 0x03, 0x0a, - 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, - 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, - 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, - 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, - 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa7, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x48, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xb2, 0x01, 0x0a, - 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, - 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x41, - 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x67, 0x22, 0xce, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc7, 0x03, + 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, + 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, + 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa7, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x22, 0x6a, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, - 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x22, 0xfc, - 0x03, 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, - 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, - 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, - 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x6e, - 0x6c, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x63, - 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xad, 0x01, - 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xa9, 0x05, - 0x0a, 0x16, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xb2, 0x01, + 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, + 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, + 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x67, 0x22, 0xce, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x65, 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, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, - 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, - 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, - 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, 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, - 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, - 0x6c, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, 0x75, - 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, - 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, - 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, - 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x17, - 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x15, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xdc, 0x01, 0x0a, 0x1a, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, + 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x22, 0x6a, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x22, + 0xfc, 0x03, 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x1b, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x32, 0xc4, - 0x1a, 0x0a, 0x1e, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x50, - 0x43, 0x12, 0x70, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x06, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x30, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, + 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, + 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, + 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, + 0x6e, 0x6c, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x63, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xad, + 0x01, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x97, 0x01, 0x0a, 0x14, 0x42, 0x69, 0x6e, 0x61, 0x72, - 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, - 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x94, 0x01, 0x0a, 0x13, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xa9, + 0x05, 0x0a, 0x16, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x65, 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, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, + 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, 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, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, + 0x6e, 0x6c, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, + 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, + 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, + 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, + 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, + 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xdc, 0x01, 0x0a, 0x1a, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, + 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x1b, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x05, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x32, + 0xc4, 0x1a, 0x0a, 0x1e, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, + 0x50, 0x43, 0x12, 0x70, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x31, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x06, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x30, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x97, 0x01, 0x0a, 0x14, 0x42, 0x69, 0x6e, 0x61, + 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, + 0x12, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x94, 0x01, 0x0a, 0x13, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, + 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, - 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x0c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x0c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, - 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, + 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x90, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x3b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x90, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x3b, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, - 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9c, 0x01, 0x0a, 0x15, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x12, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, + 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9c, 0x01, 0x0a, 0x15, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x6d, 0x0a, 0x06, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, - 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x09, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x7c, 0x0a, 0x0b, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, 0x35, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x6d, 0x0a, 0x06, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x09, 0x50, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x94, 0x01, - 0x0a, 0x13, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x7c, 0x0a, 0x0b, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, + 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x94, + 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x71, 0x75, 0x69, + 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, - 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x88, 0x01, 0x0a, 0x0f, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, - 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x88, 0x01, 0x0a, 0x0f, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x7f, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, + 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x7f, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, + 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x81, + 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x8a, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x81, 0x01, - 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x36, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x12, 0x6d, 0x0a, 0x06, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x73, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x32, 0x2e, 0x69, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x30, 0x01, 0x12, 0x6d, 0x0a, 0x06, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, + 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x87, 0x01, 0x0a, 0x0e, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x38, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x30, 0x01, 0x12, 0x97, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x97, 0x01, - 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, - 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, - 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x96, 0x01, 0x0a, - 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, - 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, + 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x73, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x32, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x87, 0x01, 0x0a, 0x0e, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x38, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x30, 0x01, 0x12, 0x97, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x97, + 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x0d, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x37, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, 0x26, 0x5a, 0x24, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x96, 0x01, + 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, 0x26, 0x5a, 0x24, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_injective_derivative_exchange_rpc_proto_rawDescOnce sync.Once - file_injective_derivative_exchange_rpc_proto_rawDescData = file_injective_derivative_exchange_rpc_proto_rawDesc + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescData = file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDesc ) -func file_injective_derivative_exchange_rpc_proto_rawDescGZIP() []byte { - file_injective_derivative_exchange_rpc_proto_rawDescOnce.Do(func() { - file_injective_derivative_exchange_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_derivative_exchange_rpc_proto_rawDescData) +func file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescData) }) - return file_injective_derivative_exchange_rpc_proto_rawDescData + return file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDescData } -var file_injective_derivative_exchange_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 70) -var file_injective_derivative_exchange_rpc_proto_goTypes = []interface{}{ +var file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 70) +var file_goadesign_goagen_injective_derivative_exchange_rpc_proto_goTypes = []interface{}{ (*MarketsRequest)(nil), // 0: injective_derivative_exchange_rpc.MarketsRequest (*MarketsResponse)(nil), // 1: injective_derivative_exchange_rpc.MarketsResponse (*DerivativeMarketInfo)(nil), // 2: injective_derivative_exchange_rpc.DerivativeMarketInfo @@ -7581,7 +7582,7 @@ var file_injective_derivative_exchange_rpc_proto_goTypes = []interface{}{ (*StreamOrdersHistoryRequest)(nil), // 68: injective_derivative_exchange_rpc.StreamOrdersHistoryRequest (*StreamOrdersHistoryResponse)(nil), // 69: injective_derivative_exchange_rpc.StreamOrdersHistoryResponse } -var file_injective_derivative_exchange_rpc_proto_depIdxs = []int32{ +var file_goadesign_goagen_injective_derivative_exchange_rpc_proto_depIdxs = []int32{ 2, // 0: injective_derivative_exchange_rpc.MarketsResponse.markets:type_name -> injective_derivative_exchange_rpc.DerivativeMarketInfo 3, // 1: injective_derivative_exchange_rpc.DerivativeMarketInfo.quote_token_meta:type_name -> injective_derivative_exchange_rpc.TokenMeta 4, // 2: injective_derivative_exchange_rpc.DerivativeMarketInfo.perpetual_market_info:type_name -> injective_derivative_exchange_rpc.PerpetualMarketInfo @@ -7685,13 +7686,13 @@ var file_injective_derivative_exchange_rpc_proto_depIdxs = []int32{ 0, // [0:46] is the sub-list for field type_name } -func init() { file_injective_derivative_exchange_rpc_proto_init() } -func file_injective_derivative_exchange_rpc_proto_init() { - if File_injective_derivative_exchange_rpc_proto != nil { +func init() { file_goadesign_goagen_injective_derivative_exchange_rpc_proto_init() } +func file_goadesign_goagen_injective_derivative_exchange_rpc_proto_init() { + if File_goadesign_goagen_injective_derivative_exchange_rpc_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_injective_derivative_exchange_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MarketsRequest); i { case 0: return &v.state @@ -7703,7 +7704,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MarketsResponse); i { case 0: return &v.state @@ -7715,7 +7716,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DerivativeMarketInfo); i { case 0: return &v.state @@ -7727,7 +7728,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenMeta); i { case 0: return &v.state @@ -7739,7 +7740,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerpetualMarketInfo); i { case 0: return &v.state @@ -7751,7 +7752,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerpetualMarketFunding); i { case 0: return &v.state @@ -7763,7 +7764,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExpiryFuturesMarketInfo); i { case 0: return &v.state @@ -7775,7 +7776,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MarketRequest); i { case 0: return &v.state @@ -7787,7 +7788,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MarketResponse); i { case 0: return &v.state @@ -7799,7 +7800,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamMarketRequest); i { case 0: return &v.state @@ -7811,7 +7812,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamMarketResponse); i { case 0: return &v.state @@ -7823,7 +7824,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BinaryOptionsMarketsRequest); i { case 0: return &v.state @@ -7835,7 +7836,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BinaryOptionsMarketsResponse); i { case 0: return &v.state @@ -7847,7 +7848,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BinaryOptionsMarketInfo); i { case 0: return &v.state @@ -7859,7 +7860,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Paging); i { case 0: return &v.state @@ -7871,7 +7872,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BinaryOptionsMarketRequest); i { case 0: return &v.state @@ -7883,7 +7884,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BinaryOptionsMarketResponse); i { case 0: return &v.state @@ -7895,7 +7896,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbookV2Request); i { case 0: return &v.state @@ -7907,7 +7908,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbookV2Response); i { case 0: return &v.state @@ -7919,7 +7920,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DerivativeLimitOrderbookV2); i { case 0: return &v.state @@ -7931,7 +7932,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PriceLevel); i { case 0: return &v.state @@ -7943,7 +7944,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbooksV2Request); i { case 0: return &v.state @@ -7955,7 +7956,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbooksV2Response); i { case 0: return &v.state @@ -7967,7 +7968,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SingleDerivativeLimitOrderbookV2); i { case 0: return &v.state @@ -7979,7 +7980,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrderbookV2Request); i { case 0: return &v.state @@ -7991,7 +7992,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrderbookV2Response); i { case 0: return &v.state @@ -8003,7 +8004,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrderbookUpdateRequest); i { case 0: return &v.state @@ -8015,7 +8016,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrderbookUpdateResponse); i { case 0: return &v.state @@ -8027,7 +8028,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbookLevelUpdates); i { case 0: return &v.state @@ -8039,7 +8040,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PriceLevelUpdate); i { case 0: return &v.state @@ -8051,7 +8052,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrdersRequest); i { case 0: return &v.state @@ -8063,7 +8064,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrdersResponse); i { case 0: return &v.state @@ -8075,7 +8076,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DerivativeLimitOrder); i { case 0: return &v.state @@ -8087,7 +8088,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PositionsRequest); i { case 0: return &v.state @@ -8099,7 +8100,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PositionsResponse); i { case 0: return &v.state @@ -8111,7 +8112,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DerivativePosition); i { case 0: return &v.state @@ -8123,7 +8124,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PositionsV2Request); i { case 0: return &v.state @@ -8135,7 +8136,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PositionsV2Response); i { case 0: return &v.state @@ -8147,7 +8148,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DerivativePositionV2); i { case 0: return &v.state @@ -8159,7 +8160,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LiquidablePositionsRequest); i { case 0: return &v.state @@ -8171,7 +8172,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LiquidablePositionsResponse); i { case 0: return &v.state @@ -8183,7 +8184,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FundingPaymentsRequest); i { case 0: return &v.state @@ -8195,7 +8196,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FundingPaymentsResponse); i { case 0: return &v.state @@ -8207,7 +8208,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FundingPayment); i { case 0: return &v.state @@ -8219,7 +8220,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FundingRatesRequest); i { case 0: return &v.state @@ -8231,7 +8232,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FundingRatesResponse); i { case 0: return &v.state @@ -8243,7 +8244,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FundingRate); i { case 0: return &v.state @@ -8255,7 +8256,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamPositionsRequest); i { case 0: return &v.state @@ -8267,7 +8268,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamPositionsResponse); i { case 0: return &v.state @@ -8279,7 +8280,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrdersRequest); i { case 0: return &v.state @@ -8291,7 +8292,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrdersResponse); i { case 0: return &v.state @@ -8303,7 +8304,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TradesRequest); i { case 0: return &v.state @@ -8315,7 +8316,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TradesResponse); i { case 0: return &v.state @@ -8327,7 +8328,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DerivativeTrade); i { case 0: return &v.state @@ -8339,7 +8340,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PositionDelta); i { case 0: return &v.state @@ -8351,7 +8352,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TradesV2Request); i { case 0: return &v.state @@ -8363,7 +8364,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TradesV2Response); i { case 0: return &v.state @@ -8375,7 +8376,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTradesRequest); i { case 0: return &v.state @@ -8387,7 +8388,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTradesResponse); i { case 0: return &v.state @@ -8399,7 +8400,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTradesV2Request); i { case 0: return &v.state @@ -8411,7 +8412,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTradesV2Response); i { case 0: return &v.state @@ -8423,7 +8424,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubaccountOrdersListRequest); i { case 0: return &v.state @@ -8435,7 +8436,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubaccountOrdersListResponse); i { case 0: return &v.state @@ -8447,7 +8448,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubaccountTradesListRequest); i { case 0: return &v.state @@ -8459,7 +8460,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubaccountTradesListResponse); i { case 0: return &v.state @@ -8471,7 +8472,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrdersHistoryRequest); i { case 0: return &v.state @@ -8483,7 +8484,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrdersHistoryResponse); i { case 0: return &v.state @@ -8495,7 +8496,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DerivativeOrderHistory); i { case 0: return &v.state @@ -8507,7 +8508,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrdersHistoryRequest); i { case 0: return &v.state @@ -8519,7 +8520,7 @@ func file_injective_derivative_exchange_rpc_proto_init() { return nil } } - file_injective_derivative_exchange_rpc_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrdersHistoryResponse); i { case 0: return &v.state @@ -8536,18 +8537,18 @@ func file_injective_derivative_exchange_rpc_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_derivative_exchange_rpc_proto_rawDesc, + RawDescriptor: file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDesc, NumEnums: 0, NumMessages: 70, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_injective_derivative_exchange_rpc_proto_goTypes, - DependencyIndexes: file_injective_derivative_exchange_rpc_proto_depIdxs, - MessageInfos: file_injective_derivative_exchange_rpc_proto_msgTypes, + GoTypes: file_goadesign_goagen_injective_derivative_exchange_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_derivative_exchange_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_derivative_exchange_rpc_proto_msgTypes, }.Build() - File_injective_derivative_exchange_rpc_proto = out.File - file_injective_derivative_exchange_rpc_proto_rawDesc = nil - file_injective_derivative_exchange_rpc_proto_goTypes = nil - file_injective_derivative_exchange_rpc_proto_depIdxs = nil + File_goadesign_goagen_injective_derivative_exchange_rpc_proto = out.File + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_derivative_exchange_rpc_proto_depIdxs = nil } diff --git a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.proto b/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.proto similarity index 99% rename from exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.proto rename to exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.proto index 6ebed93d..38828579 100644 --- a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.proto +++ b/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveDerivativeExchangeRPC protocol buffer definition // @@ -670,7 +670,7 @@ message StreamPositionsRequest { } message StreamPositionsResponse { - // Updated Derivative Position + // Updated derivative Position DerivativePosition position = 1; // Operation timestamp in UNIX millis. sint64 timestamp = 2; diff --git a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc_grpc.pb.go b/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc_grpc.pb.go similarity index 99% rename from exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc_grpc.pb.go rename to exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc_grpc.pb.go index 6fdb5942..7ebc3c29 100644 --- a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc_grpc.pb.go +++ b/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_derivative_exchange_rpc.proto package injective_derivative_exchange_rpcpb @@ -1233,5 +1237,5 @@ var InjectiveDerivativeExchangeRPC_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, }, - Metadata: "injective_derivative_exchange_rpc.proto", + Metadata: "goadesign_goagen_injective_derivative_exchange_rpc.proto", } diff --git a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.pb.gw.go b/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.pb.gw.go index 181b7657..952d119a 100644 --- a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.pb.gw.go +++ b/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.pb.gw.go @@ -821,20 +821,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Markets_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Markets_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Markets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Markets_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -844,20 +846,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Market", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Market")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Market", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Market")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Market_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Market_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Market_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Market_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -874,20 +878,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_BinaryOptionsMarkets_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_BinaryOptionsMarkets_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_BinaryOptionsMarkets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_BinaryOptionsMarkets_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -897,20 +903,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarket", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarket")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarket", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarket")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_BinaryOptionsMarket_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_BinaryOptionsMarket_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_BinaryOptionsMarket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_BinaryOptionsMarket_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -920,20 +928,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbookV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbookV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbookV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbookV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_OrderbookV2_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_OrderbookV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_OrderbookV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_OrderbookV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -943,20 +953,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbooksV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbooksV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbooksV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbooksV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_OrderbooksV2_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_OrderbooksV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_OrderbooksV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_OrderbooksV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -980,20 +992,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Orders_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Orders_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Orders_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Orders_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1003,20 +1017,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Positions_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Positions_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Positions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Positions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1026,20 +1042,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/PositionsV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/PositionsV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/PositionsV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/PositionsV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_PositionsV2_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_PositionsV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_PositionsV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_PositionsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1049,20 +1067,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/LiquidablePositions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/LiquidablePositions")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/LiquidablePositions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/LiquidablePositions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_LiquidablePositions_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_LiquidablePositions_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_LiquidablePositions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_LiquidablePositions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1072,20 +1092,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_FundingPayments_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_FundingPayments_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_FundingPayments_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_FundingPayments_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1095,20 +1117,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingRates", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingRates")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingRates", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingRates")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_FundingRates_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_FundingRates_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_FundingRates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_FundingRates_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1132,20 +1156,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Trades_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_Trades_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Trades_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Trades_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1155,20 +1181,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/TradesV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/TradesV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/TradesV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/TradesV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_TradesV2_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_TradesV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_TradesV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_TradesV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1192,20 +1220,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountOrdersList", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountOrdersList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountOrdersList", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountOrdersList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_SubaccountOrdersList_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_SubaccountOrdersList_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_SubaccountOrdersList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_SubaccountOrdersList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1215,20 +1245,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountTradesList", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountTradesList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountTradesList", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountTradesList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_SubaccountTradesList_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_SubaccountTradesList_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_SubaccountTradesList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_SubaccountTradesList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1238,20 +1270,22 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerServer(ctx context.Context, mu var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveDerivativeExchangeRPC_OrdersHistory_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveDerivativeExchangeRPC_OrdersHistory_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_OrdersHistory_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_OrdersHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1307,19 +1341,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_Markets_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_Markets_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Markets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Markets_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1327,19 +1363,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Market", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Market")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Market", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Market")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_Market_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_Market_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Market_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Market_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1347,19 +1385,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamMarket", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamMarket")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamMarket", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamMarket")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamMarket_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamMarket_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_StreamMarket_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_StreamMarket_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1367,19 +1407,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_BinaryOptionsMarkets_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_BinaryOptionsMarkets_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_BinaryOptionsMarkets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_BinaryOptionsMarkets_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1387,19 +1429,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarket", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarket")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarket", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarket")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_BinaryOptionsMarket_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_BinaryOptionsMarket_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_BinaryOptionsMarket_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_BinaryOptionsMarket_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1407,19 +1451,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbookV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbookV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbookV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbookV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_OrderbookV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_OrderbookV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_OrderbookV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_OrderbookV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1427,19 +1473,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbooksV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbooksV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbooksV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbooksV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_OrderbooksV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_OrderbooksV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_OrderbooksV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_OrderbooksV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1447,19 +1495,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamOrderbookV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamOrderbookV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_StreamOrderbookV2_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_StreamOrderbookV2_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1467,19 +1517,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookUpdate", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookUpdate")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookUpdate", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookUpdate")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamOrderbookUpdate_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamOrderbookUpdate_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_StreamOrderbookUpdate_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_StreamOrderbookUpdate_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1487,19 +1539,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_Orders_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_Orders_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Orders_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Orders_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1507,19 +1561,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_Positions_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_Positions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Positions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Positions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1527,19 +1583,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/PositionsV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/PositionsV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/PositionsV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/PositionsV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_PositionsV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_PositionsV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_PositionsV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_PositionsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1547,19 +1605,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/LiquidablePositions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/LiquidablePositions")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/LiquidablePositions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/LiquidablePositions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_LiquidablePositions_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_LiquidablePositions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_LiquidablePositions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_LiquidablePositions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1567,19 +1627,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_FundingPayments_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_FundingPayments_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_FundingPayments_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_FundingPayments_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1587,19 +1649,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingRates", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingRates")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingRates", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingRates")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_FundingRates_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_FundingRates_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_FundingRates_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_FundingRates_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1607,19 +1671,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamPositions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamPositions")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamPositions", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamPositions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamPositions_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamPositions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_StreamPositions_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_StreamPositions_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1627,19 +1693,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrders", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrders")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrders", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrders")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamOrders_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamOrders_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_StreamOrders_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_StreamOrders_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1647,19 +1715,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_Trades_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_Trades_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_Trades_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_Trades_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1667,19 +1737,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/TradesV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/TradesV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/TradesV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/TradesV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_TradesV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_TradesV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_TradesV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_TradesV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1687,19 +1759,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTrades", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTrades")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTrades", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTrades")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamTrades_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamTrades_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_StreamTrades_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_StreamTrades_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1707,19 +1781,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTradesV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTradesV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTradesV2", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTradesV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamTradesV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamTradesV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_StreamTradesV2_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_StreamTradesV2_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1727,19 +1803,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountOrdersList", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountOrdersList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountOrdersList", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountOrdersList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_SubaccountOrdersList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_SubaccountOrdersList_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_SubaccountOrdersList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_SubaccountOrdersList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1747,19 +1825,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountTradesList", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountTradesList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountTradesList", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountTradesList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_SubaccountTradesList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_SubaccountTradesList_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_SubaccountTradesList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_SubaccountTradesList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1767,19 +1847,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_OrdersHistory_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_OrdersHistory_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_OrdersHistory_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_OrdersHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1787,19 +1869,21 @@ func RegisterInjectiveDerivativeExchangeRPCHandlerClient(ctx context.Context, mu ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrdersHistory", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrdersHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrdersHistory", runtime.WithHTTPPathPattern("/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrdersHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamOrdersHistory_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveDerivativeExchangeRPC_StreamOrdersHistory_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveDerivativeExchangeRPC_StreamOrdersHistory_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveDerivativeExchangeRPC_StreamOrdersHistory_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) diff --git a/exchange/exchange_rpc/pb/injective_exchange_rpc.pb.go b/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc.pb.go similarity index 62% rename from exchange/exchange_rpc/pb/injective_exchange_rpc.pb.go rename to exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc.pb.go index 8903d4ed..70064bb9 100644 --- a/exchange/exchange_rpc/pb/injective_exchange_rpc.pb.go +++ b/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc.pb.go @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveExchangeRPC protocol buffer definition // @@ -8,8 +8,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_exchange_rpc.proto +// protoc v4.25.3 +// source: goadesign_goagen_injective_exchange_rpc.proto package injective_exchange_rpcpb @@ -39,7 +39,7 @@ type GetTxRequest struct { func (x *GetTxRequest) Reset() { *x = GetTxRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52,7 +52,7 @@ func (x *GetTxRequest) String() string { func (*GetTxRequest) ProtoMessage() {} func (x *GetTxRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -65,7 +65,7 @@ func (x *GetTxRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTxRequest.ProtoReflect.Descriptor instead. func (*GetTxRequest) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{0} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{0} } func (x *GetTxRequest) GetHash() string { @@ -102,7 +102,7 @@ type GetTxResponse struct { func (x *GetTxResponse) Reset() { *x = GetTxResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -115,7 +115,7 @@ func (x *GetTxResponse) String() string { func (*GetTxResponse) ProtoMessage() {} func (x *GetTxResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -128,7 +128,7 @@ func (x *GetTxResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTxResponse.ProtoReflect.Descriptor instead. func (*GetTxResponse) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{1} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{1} } func (x *GetTxResponse) GetTxHash() string { @@ -196,7 +196,7 @@ type PrepareTxRequest struct { ChainId uint64 `protobuf:"varint,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` // Specify Ethereum address of a signer SignerAddress string `protobuf:"bytes,2,opt,name=signer_address,json=signerAddress,proto3" json:"signer_address,omitempty"` - // Account sequence number (nonce) of signer + // Deprecated: this field is ignored Sequence uint64 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"` // Textual memo information to attach with tx Memo string `protobuf:"bytes,4,opt,name=memo,proto3" json:"memo,omitempty"` @@ -211,7 +211,7 @@ type PrepareTxRequest struct { func (x *PrepareTxRequest) Reset() { *x = PrepareTxRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -224,7 +224,7 @@ func (x *PrepareTxRequest) String() string { func (*PrepareTxRequest) ProtoMessage() {} func (x *PrepareTxRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -237,7 +237,7 @@ func (x *PrepareTxRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PrepareTxRequest.ProtoReflect.Descriptor instead. func (*PrepareTxRequest) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{2} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{2} } func (x *PrepareTxRequest) GetChainId() uint64 { @@ -306,7 +306,7 @@ type CosmosTxFee struct { func (x *CosmosTxFee) Reset() { *x = CosmosTxFee{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -319,7 +319,7 @@ func (x *CosmosTxFee) String() string { func (*CosmosTxFee) ProtoMessage() {} func (x *CosmosTxFee) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -332,7 +332,7 @@ func (x *CosmosTxFee) ProtoReflect() protoreflect.Message { // Deprecated: Use CosmosTxFee.ProtoReflect.Descriptor instead. func (*CosmosTxFee) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{3} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{3} } func (x *CosmosTxFee) GetPrice() []*CosmosCoin { @@ -370,7 +370,7 @@ type CosmosCoin struct { func (x *CosmosCoin) Reset() { *x = CosmosCoin{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -383,7 +383,7 @@ func (x *CosmosCoin) String() string { func (*CosmosCoin) ProtoMessage() {} func (x *CosmosCoin) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -396,7 +396,7 @@ func (x *CosmosCoin) ProtoReflect() protoreflect.Message { // Deprecated: Use CosmosCoin.ProtoReflect.Descriptor instead. func (*CosmosCoin) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{4} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{4} } func (x *CosmosCoin) GetDenom() string { @@ -435,7 +435,7 @@ type PrepareTxResponse struct { func (x *PrepareTxResponse) Reset() { *x = PrepareTxResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -448,7 +448,7 @@ func (x *PrepareTxResponse) String() string { func (*PrepareTxResponse) ProtoMessage() {} func (x *PrepareTxResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -461,7 +461,7 @@ func (x *PrepareTxResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PrepareTxResponse.ProtoReflect.Descriptor instead. func (*PrepareTxResponse) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{5} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{5} } func (x *PrepareTxResponse) GetData() string { @@ -532,7 +532,7 @@ type BroadcastTxRequest struct { func (x *BroadcastTxRequest) Reset() { *x = BroadcastTxRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -545,7 +545,7 @@ func (x *BroadcastTxRequest) String() string { func (*BroadcastTxRequest) ProtoMessage() {} func (x *BroadcastTxRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -558,7 +558,7 @@ func (x *BroadcastTxRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BroadcastTxRequest.ProtoReflect.Descriptor instead. func (*BroadcastTxRequest) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{6} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{6} } func (x *BroadcastTxRequest) GetChainId() uint64 { @@ -631,7 +631,7 @@ type CosmosPubKey struct { func (x *CosmosPubKey) Reset() { *x = CosmosPubKey{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -644,7 +644,7 @@ func (x *CosmosPubKey) String() string { func (*CosmosPubKey) ProtoMessage() {} func (x *CosmosPubKey) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -657,7 +657,7 @@ func (x *CosmosPubKey) ProtoReflect() protoreflect.Message { // Deprecated: Use CosmosPubKey.ProtoReflect.Descriptor instead. func (*CosmosPubKey) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{7} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{7} } func (x *CosmosPubKey) GetType() string { @@ -701,7 +701,7 @@ type BroadcastTxResponse struct { func (x *BroadcastTxResponse) Reset() { *x = BroadcastTxResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -714,7 +714,7 @@ func (x *BroadcastTxResponse) String() string { func (*BroadcastTxResponse) ProtoMessage() {} func (x *BroadcastTxResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -727,7 +727,7 @@ func (x *BroadcastTxResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BroadcastTxResponse.ProtoReflect.Descriptor instead. func (*BroadcastTxResponse) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{8} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{8} } func (x *BroadcastTxResponse) GetTxHash() string { @@ -808,7 +808,7 @@ type PrepareCosmosTxRequest struct { func (x *PrepareCosmosTxRequest) Reset() { *x = PrepareCosmosTxRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -821,7 +821,7 @@ func (x *PrepareCosmosTxRequest) String() string { func (*PrepareCosmosTxRequest) ProtoMessage() {} func (x *PrepareCosmosTxRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -834,7 +834,7 @@ func (x *PrepareCosmosTxRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PrepareCosmosTxRequest.ProtoReflect.Descriptor instead. func (*PrepareCosmosTxRequest) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{9} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{9} } func (x *PrepareCosmosTxRequest) GetChainId() uint64 { @@ -901,7 +901,7 @@ type PrepareCosmosTxResponse struct { func (x *PrepareCosmosTxResponse) Reset() { *x = PrepareCosmosTxResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -914,7 +914,7 @@ func (x *PrepareCosmosTxResponse) String() string { func (*PrepareCosmosTxResponse) ProtoMessage() {} func (x *PrepareCosmosTxResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -927,7 +927,7 @@ func (x *PrepareCosmosTxResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PrepareCosmosTxResponse.ProtoReflect.Descriptor instead. func (*PrepareCosmosTxResponse) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{10} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{10} } func (x *PrepareCosmosTxResponse) GetTx() []byte { @@ -990,7 +990,7 @@ type BroadcastCosmosTxRequest struct { func (x *BroadcastCosmosTxRequest) Reset() { *x = BroadcastCosmosTxRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1003,7 +1003,7 @@ func (x *BroadcastCosmosTxRequest) String() string { func (*BroadcastCosmosTxRequest) ProtoMessage() {} func (x *BroadcastCosmosTxRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1016,7 +1016,7 @@ func (x *BroadcastCosmosTxRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BroadcastCosmosTxRequest.ProtoReflect.Descriptor instead. func (*BroadcastCosmosTxRequest) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{11} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{11} } func (x *BroadcastCosmosTxRequest) GetTx() []byte { @@ -1074,7 +1074,7 @@ type BroadcastCosmosTxResponse struct { func (x *BroadcastCosmosTxResponse) Reset() { *x = BroadcastCosmosTxResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1087,7 +1087,7 @@ func (x *BroadcastCosmosTxResponse) String() string { func (*BroadcastCosmosTxResponse) ProtoMessage() {} func (x *BroadcastCosmosTxResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1100,7 +1100,7 @@ func (x *BroadcastCosmosTxResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BroadcastCosmosTxResponse.ProtoReflect.Descriptor instead. func (*BroadcastCosmosTxResponse) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{12} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{12} } func (x *BroadcastCosmosTxResponse) GetTxHash() string { @@ -1168,7 +1168,7 @@ type GetFeePayerRequest struct { func (x *GetFeePayerRequest) Reset() { *x = GetFeePayerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1181,7 +1181,7 @@ func (x *GetFeePayerRequest) String() string { func (*GetFeePayerRequest) ProtoMessage() {} func (x *GetFeePayerRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1194,7 +1194,7 @@ func (x *GetFeePayerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetFeePayerRequest.ProtoReflect.Descriptor instead. func (*GetFeePayerRequest) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{13} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{13} } type GetFeePayerResponse struct { @@ -1211,7 +1211,7 @@ type GetFeePayerResponse struct { func (x *GetFeePayerResponse) Reset() { *x = GetFeePayerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_exchange_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1224,7 +1224,7 @@ func (x *GetFeePayerResponse) String() string { func (*GetFeePayerResponse) ProtoMessage() {} func (x *GetFeePayerResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_exchange_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1237,7 +1237,7 @@ func (x *GetFeePayerResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetFeePayerResponse.ProtoReflect.Descriptor instead. func (*GetFeePayerResponse) Descriptor() ([]byte, []int) { - return file_injective_exchange_rpc_proto_rawDescGZIP(), []int{14} + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP(), []int{14} } func (x *GetFeePayerResponse) GetFeePayer() string { @@ -1254,226 +1254,227 @@ func (x *GetFeePayerResponse) GetFeePayerPubKey() *CosmosPubKey { return nil } -var File_injective_exchange_rpc_proto protoreflect.FileDescriptor - -var file_injective_exchange_rpc_proto_rawDesc = []byte{ - 0x0a, 0x1c, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x22, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x54, 0x78, 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, 0xd3, 0x01, 0x0a, 0x0d, 0x47, - 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, - 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, - 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x61, 0x77, - 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x77, 0x4c, - 0x6f, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x22, 0xf6, 0x01, 0x0a, 0x10, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x78, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, - 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, - 0x41, 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, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x35, - 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x46, 0x65, 0x65, - 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x22, 0x7c, 0x0a, 0x0b, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x46, 0x65, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x05, 0x70, 0x72, 0x69, - 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x03, 0x67, 0x61, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x5f, 0x66, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 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, 0xc3, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, - 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, 0x67, - 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, - 0x67, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, - 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x75, - 0x62, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, - 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, - 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, - 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x65, - 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x67, 0x22, 0x85, 0x02, 0x0a, 0x12, 0x42, 0x72, - 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x74, - 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x6d, - 0x73, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x12, - 0x3d, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x1c, - 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, - 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, - 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x67, 0x12, 0x12, 0x0a, - 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, - 0x65, 0x22, 0x34, 0x0a, 0x0c, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, - 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0xd9, 0x01, 0x0a, 0x13, 0x42, 0x72, 0x6f, 0x61, - 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, - 0x72, 0x61, 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, - 0x61, 0x77, 0x4c, 0x6f, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x22, 0xe0, 0x01, 0x0a, 0x16, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x43, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, - 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, - 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x35, 0x0a, 0x03, 0x66, - 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, +var File_goadesign_goagen_injective_exchange_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_exchange_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x16, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x22, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x54, 0x78, + 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, 0xd3, 0x01, 0x0a, 0x0d, + 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, + 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x61, + 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x77, + 0x4c, 0x6f, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x22, 0xf6, 0x01, 0x0a, 0x10, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x78, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, + 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x72, 0x41, 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, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, + 0x35, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x46, 0x65, + 0x65, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x22, 0x7c, 0x0a, 0x0b, 0x43, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x46, 0x65, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x70, 0x72, 0x69, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x46, 0x65, 0x65, 0x52, 0x03, 0x66, - 0x65, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0c, - 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x17, 0x50, 0x72, 0x65, 0x70, 0x61, - 0x72, 0x65, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, - 0x74, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, - 0x20, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x22, - 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x53, - 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, - 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, 0x62, - 0x4b, 0x65, 0x79, 0x52, 0x0e, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x50, 0x75, 0x62, - 0x4b, 0x65, 0x79, 0x22, 0xae, 0x01, 0x0a, 0x18, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, - 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 0x78, - 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x05, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x03, 0x67, 0x61, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 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, 0xc3, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, + 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, + 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, + 0x67, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, + 0x69, 0x67, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x5f, 0x6b, + 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, + 0x75, 0x62, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, + 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, + 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, + 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x67, 0x22, 0x85, 0x02, 0x0a, 0x12, 0x42, + 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, + 0x74, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 0x78, 0x12, 0x12, 0x0a, 0x04, + 0x6d, 0x73, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, + 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, - 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x25, 0x0a, - 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x22, 0xdf, 0x01, 0x0a, 0x19, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, - 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x68, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, - 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x17, 0x0a, 0x07, 0x72, 0x61, 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x72, 0x61, 0x77, 0x4c, 0x6f, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x14, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, - 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x83, 0x01, 0x0a, - 0x13, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, - 0x72, 0x12, 0x4f, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x70, - 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, 0x62, 0x4b, - 0x65, 0x79, 0x52, 0x0e, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x50, 0x75, 0x62, 0x4b, - 0x65, 0x79, 0x32, 0x8c, 0x05, 0x0a, 0x14, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x50, 0x43, 0x12, 0x54, 0x0a, 0x05, 0x47, - 0x65, 0x74, 0x54, 0x78, 0x12, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x60, 0x0a, 0x09, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x78, 0x12, 0x28, + 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x0a, + 0x09, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, + 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x67, 0x12, 0x12, + 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, + 0x64, 0x65, 0x22, 0x34, 0x0a, 0x0c, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, 0x62, 0x4b, + 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0xd9, 0x01, 0x0a, 0x13, 0x42, 0x72, 0x6f, + 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, + 0x07, 0x72, 0x61, 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x72, 0x61, 0x77, 0x4c, 0x6f, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x22, 0xe0, 0x01, 0x0a, 0x16, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, + 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x74, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x35, 0x0a, 0x03, + 0x66, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x46, 0x65, 0x65, 0x52, 0x03, + 0x66, 0x65, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x17, 0x50, 0x72, 0x65, 0x70, + 0x61, 0x72, 0x65, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x02, 0x74, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x4d, 0x6f, 0x64, 0x65, + 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, + 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, + 0x53, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, - 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, - 0x54, 0x78, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x72, 0x6f, 0x61, - 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, - 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0f, 0x50, - 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x12, 0x2e, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x43, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x43, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x78, 0x0a, 0x11, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x54, 0x78, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x72, - 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, - 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x47, 0x65, 0x74, - 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, - 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x42, 0x1b, 0x5a, 0x19, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, + 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0e, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x50, 0x75, + 0x62, 0x4b, 0x65, 0x79, 0x22, 0xae, 0x01, 0x0a, 0x18, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, + 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, + 0x78, 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, + 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x25, + 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xdf, 0x01, 0x0a, 0x19, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, + 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, + 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, + 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, + 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x17, 0x0a, 0x07, 0x72, 0x61, 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x72, 0x61, 0x77, 0x4c, 0x6f, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x14, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x46, 0x65, + 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x83, 0x01, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, + 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, 0x62, + 0x4b, 0x65, 0x79, 0x52, 0x0e, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x50, 0x75, 0x62, + 0x4b, 0x65, 0x79, 0x32, 0x8c, 0x05, 0x0a, 0x14, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x50, 0x43, 0x12, 0x54, 0x0a, 0x05, + 0x47, 0x65, 0x74, 0x54, 0x78, 0x12, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x60, 0x0a, 0x09, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x78, 0x12, + 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, + 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, + 0x74, 0x54, 0x78, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x72, 0x6f, + 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, + 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0f, + 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x12, + 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x78, 0x0a, 0x11, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, + 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x47, 0x65, + 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, + 0x65, 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x42, 0x1b, 0x5a, 0x19, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_injective_exchange_rpc_proto_rawDescOnce sync.Once - file_injective_exchange_rpc_proto_rawDescData = file_injective_exchange_rpc_proto_rawDesc + file_goadesign_goagen_injective_exchange_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_exchange_rpc_proto_rawDescData = file_goadesign_goagen_injective_exchange_rpc_proto_rawDesc ) -func file_injective_exchange_rpc_proto_rawDescGZIP() []byte { - file_injective_exchange_rpc_proto_rawDescOnce.Do(func() { - file_injective_exchange_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_exchange_rpc_proto_rawDescData) +func file_goadesign_goagen_injective_exchange_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_exchange_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_exchange_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_exchange_rpc_proto_rawDescData) }) - return file_injective_exchange_rpc_proto_rawDescData + return file_goadesign_goagen_injective_exchange_rpc_proto_rawDescData } -var file_injective_exchange_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 15) -var file_injective_exchange_rpc_proto_goTypes = []interface{}{ +var file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_goadesign_goagen_injective_exchange_rpc_proto_goTypes = []interface{}{ (*GetTxRequest)(nil), // 0: injective_exchange_rpc.GetTxRequest (*GetTxResponse)(nil), // 1: injective_exchange_rpc.GetTxResponse (*PrepareTxRequest)(nil), // 2: injective_exchange_rpc.PrepareTxRequest @@ -1490,7 +1491,7 @@ var file_injective_exchange_rpc_proto_goTypes = []interface{}{ (*GetFeePayerRequest)(nil), // 13: injective_exchange_rpc.GetFeePayerRequest (*GetFeePayerResponse)(nil), // 14: injective_exchange_rpc.GetFeePayerResponse } -var file_injective_exchange_rpc_proto_depIdxs = []int32{ +var file_goadesign_goagen_injective_exchange_rpc_proto_depIdxs = []int32{ 3, // 0: injective_exchange_rpc.PrepareTxRequest.fee:type_name -> injective_exchange_rpc.CosmosTxFee 4, // 1: injective_exchange_rpc.CosmosTxFee.price:type_name -> injective_exchange_rpc.CosmosCoin 7, // 2: injective_exchange_rpc.BroadcastTxRequest.pub_key:type_name -> injective_exchange_rpc.CosmosPubKey @@ -1517,13 +1518,13 @@ var file_injective_exchange_rpc_proto_depIdxs = []int32{ 0, // [0:7] is the sub-list for field type_name } -func init() { file_injective_exchange_rpc_proto_init() } -func file_injective_exchange_rpc_proto_init() { - if File_injective_exchange_rpc_proto != nil { +func init() { file_goadesign_goagen_injective_exchange_rpc_proto_init() } +func file_goadesign_goagen_injective_exchange_rpc_proto_init() { + if File_goadesign_goagen_injective_exchange_rpc_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_injective_exchange_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTxRequest); i { case 0: return &v.state @@ -1535,7 +1536,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTxResponse); i { case 0: return &v.state @@ -1547,7 +1548,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PrepareTxRequest); i { case 0: return &v.state @@ -1559,7 +1560,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CosmosTxFee); i { case 0: return &v.state @@ -1571,7 +1572,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CosmosCoin); i { case 0: return &v.state @@ -1583,7 +1584,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PrepareTxResponse); i { case 0: return &v.state @@ -1595,7 +1596,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BroadcastTxRequest); i { case 0: return &v.state @@ -1607,7 +1608,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CosmosPubKey); i { case 0: return &v.state @@ -1619,7 +1620,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BroadcastTxResponse); i { case 0: return &v.state @@ -1631,7 +1632,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PrepareCosmosTxRequest); i { case 0: return &v.state @@ -1643,7 +1644,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PrepareCosmosTxResponse); i { case 0: return &v.state @@ -1655,7 +1656,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BroadcastCosmosTxRequest); i { case 0: return &v.state @@ -1667,7 +1668,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BroadcastCosmosTxResponse); i { case 0: return &v.state @@ -1679,7 +1680,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetFeePayerRequest); i { case 0: return &v.state @@ -1691,7 +1692,7 @@ func file_injective_exchange_rpc_proto_init() { return nil } } - file_injective_exchange_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetFeePayerResponse); i { case 0: return &v.state @@ -1708,18 +1709,18 @@ func file_injective_exchange_rpc_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_exchange_rpc_proto_rawDesc, + RawDescriptor: file_goadesign_goagen_injective_exchange_rpc_proto_rawDesc, NumEnums: 0, NumMessages: 15, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_injective_exchange_rpc_proto_goTypes, - DependencyIndexes: file_injective_exchange_rpc_proto_depIdxs, - MessageInfos: file_injective_exchange_rpc_proto_msgTypes, + GoTypes: file_goadesign_goagen_injective_exchange_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_exchange_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_exchange_rpc_proto_msgTypes, }.Build() - File_injective_exchange_rpc_proto = out.File - file_injective_exchange_rpc_proto_rawDesc = nil - file_injective_exchange_rpc_proto_goTypes = nil - file_injective_exchange_rpc_proto_depIdxs = nil + File_goadesign_goagen_injective_exchange_rpc_proto = out.File + file_goadesign_goagen_injective_exchange_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_exchange_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_exchange_rpc_proto_depIdxs = nil } diff --git a/exchange/exchange_rpc/pb/injective_exchange_rpc.proto b/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc.proto similarity index 98% rename from exchange/exchange_rpc/pb/injective_exchange_rpc.proto rename to exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc.proto index 7654becd..0788c6d3 100644 --- a/exchange/exchange_rpc/pb/injective_exchange_rpc.proto +++ b/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveExchangeRPC protocol buffer definition // @@ -57,7 +57,7 @@ message PrepareTxRequest { uint64 chain_id = 1; // Specify Ethereum address of a signer string signer_address = 2; - // Account sequence number (nonce) of signer + // Deprecated: this field is ignored uint64 sequence = 3; // Textual memo information to attach with tx string memo = 4; diff --git a/exchange/exchange_rpc/pb/injective_exchange_rpc_grpc.pb.go b/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc_grpc.pb.go similarity index 98% rename from exchange/exchange_rpc/pb/injective_exchange_rpc_grpc.pb.go rename to exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc_grpc.pb.go index dc5460ab..743899c7 100644 --- a/exchange/exchange_rpc/pb/injective_exchange_rpc_grpc.pb.go +++ b/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_exchange_rpc.proto package injective_exchange_rpcpb @@ -289,5 +293,5 @@ var InjectiveExchangeRPC_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "injective_exchange_rpc.proto", + Metadata: "goadesign_goagen_injective_exchange_rpc.proto", } diff --git a/exchange/exchange_rpc/pb/injective_exchange_rpc.pb.gw.go b/exchange/exchange_rpc/pb/injective_exchange_rpc.pb.gw.go index 8428a313..d5d28a2a 100644 --- a/exchange/exchange_rpc/pb/injective_exchange_rpc.pb.gw.go +++ b/exchange/exchange_rpc/pb/injective_exchange_rpc.pb.gw.go @@ -247,20 +247,22 @@ func RegisterInjectiveExchangeRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/GetTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/GetTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/GetTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/GetTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExchangeRPC_GetTx_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExchangeRPC_GetTx_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_GetTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_GetTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -270,20 +272,22 @@ func RegisterInjectiveExchangeRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/PrepareTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/PrepareTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/PrepareTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/PrepareTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExchangeRPC_PrepareTx_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExchangeRPC_PrepareTx_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_PrepareTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_PrepareTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -293,20 +297,22 @@ func RegisterInjectiveExchangeRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExchangeRPC_BroadcastTx_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExchangeRPC_BroadcastTx_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_BroadcastTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_BroadcastTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -316,20 +322,22 @@ func RegisterInjectiveExchangeRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/PrepareCosmosTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/PrepareCosmosTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/PrepareCosmosTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/PrepareCosmosTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExchangeRPC_PrepareCosmosTx_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExchangeRPC_PrepareCosmosTx_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_PrepareCosmosTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_PrepareCosmosTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -339,20 +347,22 @@ func RegisterInjectiveExchangeRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastCosmosTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastCosmosTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastCosmosTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastCosmosTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExchangeRPC_BroadcastCosmosTx_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExchangeRPC_BroadcastCosmosTx_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_BroadcastCosmosTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_BroadcastCosmosTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -362,20 +372,22 @@ func RegisterInjectiveExchangeRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/GetFeePayer", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/GetFeePayer")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/GetFeePayer", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/GetFeePayer")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExchangeRPC_GetFeePayer_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExchangeRPC_GetFeePayer_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_GetFeePayer_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_GetFeePayer_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -424,19 +436,21 @@ func RegisterInjectiveExchangeRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/GetTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/GetTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/GetTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/GetTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExchangeRPC_GetTx_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExchangeRPC_GetTx_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_GetTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_GetTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -444,19 +458,21 @@ func RegisterInjectiveExchangeRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/PrepareTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/PrepareTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/PrepareTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/PrepareTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExchangeRPC_PrepareTx_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExchangeRPC_PrepareTx_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_PrepareTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_PrepareTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -464,19 +480,21 @@ func RegisterInjectiveExchangeRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExchangeRPC_BroadcastTx_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExchangeRPC_BroadcastTx_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_BroadcastTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_BroadcastTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -484,19 +502,21 @@ func RegisterInjectiveExchangeRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/PrepareCosmosTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/PrepareCosmosTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/PrepareCosmosTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/PrepareCosmosTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExchangeRPC_PrepareCosmosTx_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExchangeRPC_PrepareCosmosTx_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_PrepareCosmosTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_PrepareCosmosTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -504,19 +524,21 @@ func RegisterInjectiveExchangeRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastCosmosTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastCosmosTx")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastCosmosTx", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/BroadcastCosmosTx")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExchangeRPC_BroadcastCosmosTx_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExchangeRPC_BroadcastCosmosTx_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_BroadcastCosmosTx_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_BroadcastCosmosTx_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -524,19 +546,21 @@ func RegisterInjectiveExchangeRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/GetFeePayer", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/GetFeePayer")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_exchange_rpc.InjectiveExchangeRPC/GetFeePayer", runtime.WithHTTPPathPattern("/injective_exchange_rpc.InjectiveExchangeRPC/GetFeePayer")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExchangeRPC_GetFeePayer_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExchangeRPC_GetFeePayer_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExchangeRPC_GetFeePayer_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExchangeRPC_GetFeePayer_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/exchange/explorer_rpc/pb/injective_explorer_rpc.pb.go b/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc.pb.go similarity index 60% rename from exchange/explorer_rpc/pb/injective_explorer_rpc.pb.go rename to exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc.pb.go index 298f7e3f..2295464b 100644 --- a/exchange/explorer_rpc/pb/injective_explorer_rpc.pb.go +++ b/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc.pb.go @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveExplorerRPC protocol buffer definition // @@ -8,8 +8,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_explorer_rpc.proto +// protoc v4.25.3 +// source: goadesign_goagen_injective_explorer_rpc.proto package injective_explorer_rpcpb @@ -57,7 +57,7 @@ type GetAccountTxsRequest struct { func (x *GetAccountTxsRequest) Reset() { *x = GetAccountTxsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70,7 +70,7 @@ func (x *GetAccountTxsRequest) String() string { func (*GetAccountTxsRequest) ProtoMessage() {} func (x *GetAccountTxsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -83,7 +83,7 @@ func (x *GetAccountTxsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAccountTxsRequest.ProtoReflect.Descriptor instead. func (*GetAccountTxsRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{0} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{0} } func (x *GetAccountTxsRequest) GetAddress() string { @@ -182,7 +182,7 @@ type GetAccountTxsResponse struct { func (x *GetAccountTxsResponse) Reset() { *x = GetAccountTxsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -195,7 +195,7 @@ func (x *GetAccountTxsResponse) String() string { func (*GetAccountTxsResponse) ProtoMessage() {} func (x *GetAccountTxsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -208,7 +208,7 @@ func (x *GetAccountTxsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAccountTxsResponse.ProtoReflect.Descriptor instead. func (*GetAccountTxsResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{1} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{1} } func (x *GetAccountTxsResponse) GetPaging() *Paging { @@ -246,7 +246,7 @@ type Paging struct { func (x *Paging) Reset() { *x = Paging{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -259,7 +259,7 @@ func (x *Paging) String() string { func (*Paging) ProtoMessage() {} func (x *Paging) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -272,7 +272,7 @@ func (x *Paging) ProtoReflect() protoreflect.Message { // Deprecated: Use Paging.ProtoReflect.Descriptor instead. func (*Paging) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{2} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{2} } func (x *Paging) GetTotal() int64 { @@ -346,7 +346,7 @@ type TxDetailData struct { func (x *TxDetailData) Reset() { *x = TxDetailData{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -359,7 +359,7 @@ func (x *TxDetailData) String() string { func (*TxDetailData) ProtoMessage() {} func (x *TxDetailData) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -372,7 +372,7 @@ func (x *TxDetailData) ProtoReflect() protoreflect.Message { // Deprecated: Use TxDetailData.ProtoReflect.Descriptor instead. func (*TxDetailData) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{3} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{3} } func (x *TxDetailData) GetId() string { @@ -536,7 +536,7 @@ type GasFee struct { func (x *GasFee) Reset() { *x = GasFee{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -549,7 +549,7 @@ func (x *GasFee) String() string { func (*GasFee) ProtoMessage() {} func (x *GasFee) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -562,7 +562,7 @@ func (x *GasFee) ProtoReflect() protoreflect.Message { // Deprecated: Use GasFee.ProtoReflect.Descriptor instead. func (*GasFee) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{4} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{4} } func (x *GasFee) GetAmount() []*CosmosCoin { @@ -607,7 +607,7 @@ type CosmosCoin struct { func (x *CosmosCoin) Reset() { *x = CosmosCoin{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -620,7 +620,7 @@ func (x *CosmosCoin) String() string { func (*CosmosCoin) ProtoMessage() {} func (x *CosmosCoin) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -633,7 +633,7 @@ func (x *CosmosCoin) ProtoReflect() protoreflect.Message { // Deprecated: Use CosmosCoin.ProtoReflect.Descriptor instead. func (*CosmosCoin) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{5} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{5} } func (x *CosmosCoin) GetDenom() string { @@ -662,7 +662,7 @@ type Event struct { func (x *Event) Reset() { *x = Event{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -675,7 +675,7 @@ func (x *Event) String() string { func (*Event) ProtoMessage() {} func (x *Event) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -688,7 +688,7 @@ func (x *Event) ProtoReflect() protoreflect.Message { // Deprecated: Use Event.ProtoReflect.Descriptor instead. func (*Event) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{6} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{6} } func (x *Event) GetType() string { @@ -720,7 +720,7 @@ type Signature struct { func (x *Signature) Reset() { *x = Signature{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -733,7 +733,7 @@ func (x *Signature) String() string { func (*Signature) ProtoMessage() {} func (x *Signature) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -746,7 +746,7 @@ func (x *Signature) ProtoReflect() protoreflect.Message { // Deprecated: Use Signature.ProtoReflect.Descriptor instead. func (*Signature) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{7} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{7} } func (x *Signature) GetPubkey() string { @@ -793,7 +793,7 @@ type GetContractTxsRequest struct { func (x *GetContractTxsRequest) Reset() { *x = GetContractTxsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -806,7 +806,7 @@ func (x *GetContractTxsRequest) String() string { func (*GetContractTxsRequest) ProtoMessage() {} func (x *GetContractTxsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -819,7 +819,7 @@ func (x *GetContractTxsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetContractTxsRequest.ProtoReflect.Descriptor instead. func (*GetContractTxsRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{8} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{8} } func (x *GetContractTxsRequest) GetAddress() string { @@ -869,7 +869,7 @@ type GetContractTxsResponse struct { func (x *GetContractTxsResponse) Reset() { *x = GetContractTxsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -882,7 +882,7 @@ func (x *GetContractTxsResponse) String() string { func (*GetContractTxsResponse) ProtoMessage() {} func (x *GetContractTxsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -895,7 +895,7 @@ func (x *GetContractTxsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetContractTxsResponse.ProtoReflect.Descriptor instead. func (*GetContractTxsResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{9} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{9} } func (x *GetContractTxsResponse) GetPaging() *Paging { @@ -912,6 +912,153 @@ func (x *GetContractTxsResponse) GetData() []*TxDetailData { return nil } +type GetContractTxsV2Request struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Address of contract + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // Height of the block + Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"` + // Unix timestamp (UTC) in milliseconds + From int64 `protobuf:"zigzag64,3,opt,name=from,proto3" json:"from,omitempty"` + // Unix timestamp (UTC) in milliseconds + To int64 `protobuf:"zigzag64,4,opt,name=to,proto3" json:"to,omitempty"` + Limit int32 `protobuf:"zigzag32,5,opt,name=limit,proto3" json:"limit,omitempty"` + // Pagination token + Token string `protobuf:"bytes,6,opt,name=token,proto3" json:"token,omitempty"` +} + +func (x *GetContractTxsV2Request) Reset() { + *x = GetContractTxsV2Request{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetContractTxsV2Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetContractTxsV2Request) ProtoMessage() {} + +func (x *GetContractTxsV2Request) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetContractTxsV2Request.ProtoReflect.Descriptor instead. +func (*GetContractTxsV2Request) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{10} +} + +func (x *GetContractTxsV2Request) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *GetContractTxsV2Request) GetHeight() uint64 { + if x != nil { + return x.Height + } + return 0 +} + +func (x *GetContractTxsV2Request) GetFrom() int64 { + if x != nil { + return x.From + } + return 0 +} + +func (x *GetContractTxsV2Request) GetTo() int64 { + if x != nil { + return x.To + } + return 0 +} + +func (x *GetContractTxsV2Request) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *GetContractTxsV2Request) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +type GetContractTxsV2Response struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Next []string `protobuf:"bytes,1,rep,name=next,proto3" json:"next,omitempty"` + Data []*TxDetailData `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` +} + +func (x *GetContractTxsV2Response) Reset() { + *x = GetContractTxsV2Response{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetContractTxsV2Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetContractTxsV2Response) ProtoMessage() {} + +func (x *GetContractTxsV2Response) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetContractTxsV2Response.ProtoReflect.Descriptor instead. +func (*GetContractTxsV2Response) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{11} +} + +func (x *GetContractTxsV2Response) GetNext() []string { + if x != nil { + return x.Next + } + return nil +} + +func (x *GetContractTxsV2Response) GetData() []*TxDetailData { + if x != nil { + return x.Data + } + return nil +} + type GetBlocksRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -920,12 +1067,16 @@ type GetBlocksRequest struct { Before uint64 `protobuf:"varint,1,opt,name=before,proto3" json:"before,omitempty"` After uint64 `protobuf:"varint,2,opt,name=after,proto3" json:"after,omitempty"` Limit int32 `protobuf:"zigzag32,3,opt,name=limit,proto3" json:"limit,omitempty"` + // Unix timestamp (UTC) in milliseconds + From uint64 `protobuf:"varint,4,opt,name=from,proto3" json:"from,omitempty"` + // Unix timestamp (UTC) in milliseconds + To uint64 `protobuf:"varint,5,opt,name=to,proto3" json:"to,omitempty"` } func (x *GetBlocksRequest) Reset() { *x = GetBlocksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -938,7 +1089,7 @@ func (x *GetBlocksRequest) String() string { func (*GetBlocksRequest) ProtoMessage() {} func (x *GetBlocksRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -951,7 +1102,7 @@ func (x *GetBlocksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlocksRequest.ProtoReflect.Descriptor instead. func (*GetBlocksRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{10} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{12} } func (x *GetBlocksRequest) GetBefore() uint64 { @@ -975,6 +1126,20 @@ func (x *GetBlocksRequest) GetLimit() int32 { return 0 } +func (x *GetBlocksRequest) GetFrom() uint64 { + if x != nil { + return x.From + } + return 0 +} + +func (x *GetBlocksRequest) GetTo() uint64 { + if x != nil { + return x.To + } + return 0 +} + type GetBlocksResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -987,7 +1152,7 @@ type GetBlocksResponse struct { func (x *GetBlocksResponse) Reset() { *x = GetBlocksResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1000,7 +1165,7 @@ func (x *GetBlocksResponse) String() string { func (*GetBlocksResponse) ProtoMessage() {} func (x *GetBlocksResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1013,7 +1178,7 @@ func (x *GetBlocksResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlocksResponse.ProtoReflect.Descriptor instead. func (*GetBlocksResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{11} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{13} } func (x *GetBlocksResponse) GetPaging() *Paging { @@ -1049,7 +1214,7 @@ type BlockInfo struct { func (x *BlockInfo) Reset() { *x = BlockInfo{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1062,7 +1227,7 @@ func (x *BlockInfo) String() string { func (*BlockInfo) ProtoMessage() {} func (x *BlockInfo) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1075,7 +1240,7 @@ func (x *BlockInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use BlockInfo.ProtoReflect.Descriptor instead. func (*BlockInfo) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{12} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{14} } func (x *BlockInfo) GetHeight() uint64 { @@ -1164,7 +1329,7 @@ type TxDataRPC struct { func (x *TxDataRPC) Reset() { *x = TxDataRPC{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1177,7 +1342,7 @@ func (x *TxDataRPC) String() string { func (*TxDataRPC) ProtoMessage() {} func (x *TxDataRPC) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1190,7 +1355,7 @@ func (x *TxDataRPC) ProtoReflect() protoreflect.Message { // Deprecated: Use TxDataRPC.ProtoReflect.Descriptor instead. func (*TxDataRPC) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{13} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{15} } func (x *TxDataRPC) GetId() string { @@ -1274,7 +1439,7 @@ type GetBlockRequest struct { func (x *GetBlockRequest) Reset() { *x = GetBlockRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1287,7 +1452,7 @@ func (x *GetBlockRequest) String() string { func (*GetBlockRequest) ProtoMessage() {} func (x *GetBlockRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1300,7 +1465,7 @@ func (x *GetBlockRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlockRequest.ProtoReflect.Descriptor instead. func (*GetBlockRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{14} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{16} } func (x *GetBlockRequest) GetId() string { @@ -1325,7 +1490,7 @@ type GetBlockResponse struct { func (x *GetBlockResponse) Reset() { *x = GetBlockResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[15] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1338,7 +1503,7 @@ func (x *GetBlockResponse) String() string { func (*GetBlockResponse) ProtoMessage() {} func (x *GetBlockResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[15] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1351,7 +1516,7 @@ func (x *GetBlockResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBlockResponse.ProtoReflect.Descriptor instead. func (*GetBlockResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{15} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{17} } func (x *GetBlockResponse) GetS() string { @@ -1395,7 +1560,7 @@ type BlockDetailInfo struct { func (x *BlockDetailInfo) Reset() { *x = BlockDetailInfo{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[16] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1408,7 +1573,7 @@ func (x *BlockDetailInfo) String() string { func (*BlockDetailInfo) ProtoMessage() {} func (x *BlockDetailInfo) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[16] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1421,7 +1586,7 @@ func (x *BlockDetailInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use BlockDetailInfo.ProtoReflect.Descriptor instead. func (*BlockDetailInfo) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{16} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{18} } func (x *BlockDetailInfo) GetHeight() uint64 { @@ -1520,7 +1685,7 @@ type TxData struct { func (x *TxData) Reset() { *x = TxData{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[17] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1533,7 +1698,7 @@ func (x *TxData) String() string { func (*TxData) ProtoMessage() {} func (x *TxData) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[17] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1546,7 +1711,7 @@ func (x *TxData) ProtoReflect() protoreflect.Message { // Deprecated: Use TxData.ProtoReflect.Descriptor instead. func (*TxData) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{17} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{19} } func (x *TxData) GetId() string { @@ -1642,7 +1807,7 @@ type GetValidatorsRequest struct { func (x *GetValidatorsRequest) Reset() { *x = GetValidatorsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[18] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1655,7 +1820,7 @@ func (x *GetValidatorsRequest) String() string { func (*GetValidatorsRequest) ProtoMessage() {} func (x *GetValidatorsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[18] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1668,7 +1833,7 @@ func (x *GetValidatorsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetValidatorsRequest.ProtoReflect.Descriptor instead. func (*GetValidatorsRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{18} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{20} } type GetValidatorsResponse struct { @@ -1686,7 +1851,7 @@ type GetValidatorsResponse struct { func (x *GetValidatorsResponse) Reset() { *x = GetValidatorsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[19] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1699,7 +1864,7 @@ func (x *GetValidatorsResponse) String() string { func (*GetValidatorsResponse) ProtoMessage() {} func (x *GetValidatorsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[19] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1712,7 +1877,7 @@ func (x *GetValidatorsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetValidatorsResponse.ProtoReflect.Descriptor instead. func (*GetValidatorsResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{19} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{21} } func (x *GetValidatorsResponse) GetS() string { @@ -1772,7 +1937,7 @@ type Validator struct { func (x *Validator) Reset() { *x = Validator{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[20] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1785,7 +1950,7 @@ func (x *Validator) String() string { func (*Validator) ProtoMessage() {} func (x *Validator) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[20] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1798,7 +1963,7 @@ func (x *Validator) ProtoReflect() protoreflect.Message { // Deprecated: Use Validator.ProtoReflect.Descriptor instead. func (*Validator) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{20} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{22} } func (x *Validator) GetId() string { @@ -1978,7 +2143,7 @@ type ValidatorDescription struct { func (x *ValidatorDescription) Reset() { *x = ValidatorDescription{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[21] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1991,7 +2156,7 @@ func (x *ValidatorDescription) String() string { func (*ValidatorDescription) ProtoMessage() {} func (x *ValidatorDescription) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[21] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2004,7 +2169,7 @@ func (x *ValidatorDescription) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidatorDescription.ProtoReflect.Descriptor instead. func (*ValidatorDescription) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{21} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{23} } func (x *ValidatorDescription) GetMoniker() string { @@ -2061,7 +2226,7 @@ type ValidatorUptime struct { func (x *ValidatorUptime) Reset() { *x = ValidatorUptime{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[22] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2074,7 +2239,7 @@ func (x *ValidatorUptime) String() string { func (*ValidatorUptime) ProtoMessage() {} func (x *ValidatorUptime) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[22] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2087,7 +2252,7 @@ func (x *ValidatorUptime) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidatorUptime.ProtoReflect.Descriptor instead. func (*ValidatorUptime) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{22} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{24} } func (x *ValidatorUptime) GetBlockNumber() uint64 { @@ -2121,7 +2286,7 @@ type SlashingEvent struct { func (x *SlashingEvent) Reset() { *x = SlashingEvent{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[23] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2134,7 +2299,7 @@ func (x *SlashingEvent) String() string { func (*SlashingEvent) ProtoMessage() {} func (x *SlashingEvent) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[23] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2147,7 +2312,7 @@ func (x *SlashingEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use SlashingEvent.ProtoReflect.Descriptor instead. func (*SlashingEvent) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{23} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{25} } func (x *SlashingEvent) GetBlockNumber() uint64 { @@ -2210,7 +2375,7 @@ type GetValidatorRequest struct { func (x *GetValidatorRequest) Reset() { *x = GetValidatorRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[24] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2223,7 +2388,7 @@ func (x *GetValidatorRequest) String() string { func (*GetValidatorRequest) ProtoMessage() {} func (x *GetValidatorRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[24] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2236,7 +2401,7 @@ func (x *GetValidatorRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetValidatorRequest.ProtoReflect.Descriptor instead. func (*GetValidatorRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{24} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{26} } func (x *GetValidatorRequest) GetAddress() string { @@ -2261,7 +2426,7 @@ type GetValidatorResponse struct { func (x *GetValidatorResponse) Reset() { *x = GetValidatorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[25] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2274,7 +2439,7 @@ func (x *GetValidatorResponse) String() string { func (*GetValidatorResponse) ProtoMessage() {} func (x *GetValidatorResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[25] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2287,7 +2452,7 @@ func (x *GetValidatorResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetValidatorResponse.ProtoReflect.Descriptor instead. func (*GetValidatorResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{25} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{27} } func (x *GetValidatorResponse) GetS() string { @@ -2322,7 +2487,7 @@ type GetValidatorUptimeRequest struct { func (x *GetValidatorUptimeRequest) Reset() { *x = GetValidatorUptimeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[26] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2335,7 +2500,7 @@ func (x *GetValidatorUptimeRequest) String() string { func (*GetValidatorUptimeRequest) ProtoMessage() {} func (x *GetValidatorUptimeRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[26] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2348,7 +2513,7 @@ func (x *GetValidatorUptimeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetValidatorUptimeRequest.ProtoReflect.Descriptor instead. func (*GetValidatorUptimeRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{26} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{28} } func (x *GetValidatorUptimeRequest) GetAddress() string { @@ -2373,7 +2538,7 @@ type GetValidatorUptimeResponse struct { func (x *GetValidatorUptimeResponse) Reset() { *x = GetValidatorUptimeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[27] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2386,7 +2551,7 @@ func (x *GetValidatorUptimeResponse) String() string { func (*GetValidatorUptimeResponse) ProtoMessage() {} func (x *GetValidatorUptimeResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[27] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2399,7 +2564,7 @@ func (x *GetValidatorUptimeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetValidatorUptimeResponse.ProtoReflect.Descriptor instead. func (*GetValidatorUptimeResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{27} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{29} } func (x *GetValidatorUptimeResponse) GetS() string { @@ -2449,7 +2614,7 @@ type GetTxsRequest struct { func (x *GetTxsRequest) Reset() { *x = GetTxsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[28] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2462,7 +2627,7 @@ func (x *GetTxsRequest) String() string { func (*GetTxsRequest) ProtoMessage() {} func (x *GetTxsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[28] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2475,7 +2640,7 @@ func (x *GetTxsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTxsRequest.ProtoReflect.Descriptor instead. func (*GetTxsRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{28} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{30} } func (x *GetTxsRequest) GetBefore() uint64 { @@ -2567,7 +2732,7 @@ type GetTxsResponse struct { func (x *GetTxsResponse) Reset() { *x = GetTxsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[29] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2580,7 +2745,7 @@ func (x *GetTxsResponse) String() string { func (*GetTxsResponse) ProtoMessage() {} func (x *GetTxsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[29] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2593,7 +2758,7 @@ func (x *GetTxsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTxsResponse.ProtoReflect.Descriptor instead. func (*GetTxsResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{29} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{31} } func (x *GetTxsResponse) GetPaging() *Paging { @@ -2621,7 +2786,7 @@ type GetTxByTxHashRequest struct { func (x *GetTxByTxHashRequest) Reset() { *x = GetTxByTxHashRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[30] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2634,7 +2799,7 @@ func (x *GetTxByTxHashRequest) String() string { func (*GetTxByTxHashRequest) ProtoMessage() {} func (x *GetTxByTxHashRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[30] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2647,7 +2812,7 @@ func (x *GetTxByTxHashRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTxByTxHashRequest.ProtoReflect.Descriptor instead. func (*GetTxByTxHashRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{30} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{32} } func (x *GetTxByTxHashRequest) GetHash() string { @@ -2672,7 +2837,7 @@ type GetTxByTxHashResponse struct { func (x *GetTxByTxHashResponse) Reset() { *x = GetTxByTxHashResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[31] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2685,7 +2850,7 @@ func (x *GetTxByTxHashResponse) String() string { func (*GetTxByTxHashResponse) ProtoMessage() {} func (x *GetTxByTxHashResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[31] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2698,7 +2863,7 @@ func (x *GetTxByTxHashResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTxByTxHashResponse.ProtoReflect.Descriptor instead. func (*GetTxByTxHashResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{31} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{33} } func (x *GetTxByTxHashResponse) GetS() string { @@ -2738,7 +2903,7 @@ type GetPeggyDepositTxsRequest struct { func (x *GetPeggyDepositTxsRequest) Reset() { *x = GetPeggyDepositTxsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[32] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2751,7 +2916,7 @@ func (x *GetPeggyDepositTxsRequest) String() string { func (*GetPeggyDepositTxsRequest) ProtoMessage() {} func (x *GetPeggyDepositTxsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[32] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2764,7 +2929,7 @@ func (x *GetPeggyDepositTxsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPeggyDepositTxsRequest.ProtoReflect.Descriptor instead. func (*GetPeggyDepositTxsRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{32} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{34} } func (x *GetPeggyDepositTxsRequest) GetSender() string { @@ -2806,7 +2971,7 @@ type GetPeggyDepositTxsResponse struct { func (x *GetPeggyDepositTxsResponse) Reset() { *x = GetPeggyDepositTxsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[33] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2819,7 +2984,7 @@ func (x *GetPeggyDepositTxsResponse) String() string { func (*GetPeggyDepositTxsResponse) ProtoMessage() {} func (x *GetPeggyDepositTxsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[33] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2832,7 +2997,7 @@ func (x *GetPeggyDepositTxsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPeggyDepositTxsResponse.ProtoReflect.Descriptor instead. func (*GetPeggyDepositTxsResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{33} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{35} } func (x *GetPeggyDepositTxsResponse) GetField() []*PeggyDepositTx { @@ -2875,7 +3040,7 @@ type PeggyDepositTx struct { func (x *PeggyDepositTx) Reset() { *x = PeggyDepositTx{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[34] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2888,7 +3053,7 @@ func (x *PeggyDepositTx) String() string { func (*PeggyDepositTx) ProtoMessage() {} func (x *PeggyDepositTx) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[34] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2901,7 +3066,7 @@ func (x *PeggyDepositTx) ProtoReflect() protoreflect.Message { // Deprecated: Use PeggyDepositTx.ProtoReflect.Descriptor instead. func (*PeggyDepositTx) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{34} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{36} } func (x *PeggyDepositTx) GetSender() string { @@ -3004,7 +3169,7 @@ type GetPeggyWithdrawalTxsRequest struct { func (x *GetPeggyWithdrawalTxsRequest) Reset() { *x = GetPeggyWithdrawalTxsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[35] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3017,7 +3182,7 @@ func (x *GetPeggyWithdrawalTxsRequest) String() string { func (*GetPeggyWithdrawalTxsRequest) ProtoMessage() {} func (x *GetPeggyWithdrawalTxsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[35] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3030,7 +3195,7 @@ func (x *GetPeggyWithdrawalTxsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPeggyWithdrawalTxsRequest.ProtoReflect.Descriptor instead. func (*GetPeggyWithdrawalTxsRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{35} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{37} } func (x *GetPeggyWithdrawalTxsRequest) GetSender() string { @@ -3072,7 +3237,7 @@ type GetPeggyWithdrawalTxsResponse struct { func (x *GetPeggyWithdrawalTxsResponse) Reset() { *x = GetPeggyWithdrawalTxsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[36] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3085,7 +3250,7 @@ func (x *GetPeggyWithdrawalTxsResponse) String() string { func (*GetPeggyWithdrawalTxsResponse) ProtoMessage() {} func (x *GetPeggyWithdrawalTxsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[36] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3098,7 +3263,7 @@ func (x *GetPeggyWithdrawalTxsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPeggyWithdrawalTxsResponse.ProtoReflect.Descriptor instead. func (*GetPeggyWithdrawalTxsResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{36} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{38} } func (x *GetPeggyWithdrawalTxsResponse) GetField() []*PeggyWithdrawalTx { @@ -3151,7 +3316,7 @@ type PeggyWithdrawalTx struct { func (x *PeggyWithdrawalTx) Reset() { *x = PeggyWithdrawalTx{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[37] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3164,7 +3329,7 @@ func (x *PeggyWithdrawalTx) String() string { func (*PeggyWithdrawalTx) ProtoMessage() {} func (x *PeggyWithdrawalTx) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[37] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3177,7 +3342,7 @@ func (x *PeggyWithdrawalTx) ProtoReflect() protoreflect.Message { // Deprecated: Use PeggyWithdrawalTx.ProtoReflect.Descriptor instead. func (*PeggyWithdrawalTx) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{37} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{39} } func (x *PeggyWithdrawalTx) GetSender() string { @@ -3310,7 +3475,7 @@ type GetIBCTransferTxsRequest struct { func (x *GetIBCTransferTxsRequest) Reset() { *x = GetIBCTransferTxsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[38] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3323,7 +3488,7 @@ func (x *GetIBCTransferTxsRequest) String() string { func (*GetIBCTransferTxsRequest) ProtoMessage() {} func (x *GetIBCTransferTxsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[38] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3336,7 +3501,7 @@ func (x *GetIBCTransferTxsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIBCTransferTxsRequest.ProtoReflect.Descriptor instead. func (*GetIBCTransferTxsRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{38} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{40} } func (x *GetIBCTransferTxsRequest) GetSender() string { @@ -3406,7 +3571,7 @@ type GetIBCTransferTxsResponse struct { func (x *GetIBCTransferTxsResponse) Reset() { *x = GetIBCTransferTxsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[39] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3419,7 +3584,7 @@ func (x *GetIBCTransferTxsResponse) String() string { func (*GetIBCTransferTxsResponse) ProtoMessage() {} func (x *GetIBCTransferTxsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[39] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3432,7 +3597,7 @@ func (x *GetIBCTransferTxsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIBCTransferTxsResponse.ProtoReflect.Descriptor instead. func (*GetIBCTransferTxsResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{39} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{41} } func (x *GetIBCTransferTxsResponse) GetField() []*IBCTransferTx { @@ -3484,7 +3649,7 @@ type IBCTransferTx struct { func (x *IBCTransferTx) Reset() { *x = IBCTransferTx{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[40] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3497,7 +3662,7 @@ func (x *IBCTransferTx) String() string { func (*IBCTransferTx) ProtoMessage() {} func (x *IBCTransferTx) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[40] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3510,7 +3675,7 @@ func (x *IBCTransferTx) ProtoReflect() protoreflect.Message { // Deprecated: Use IBCTransferTx.ProtoReflect.Descriptor instead. func (*IBCTransferTx) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{40} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{42} } func (x *IBCTransferTx) GetSender() string { @@ -3638,7 +3803,7 @@ type GetWasmCodesRequest struct { func (x *GetWasmCodesRequest) Reset() { *x = GetWasmCodesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[41] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3651,7 +3816,7 @@ func (x *GetWasmCodesRequest) String() string { func (*GetWasmCodesRequest) ProtoMessage() {} func (x *GetWasmCodesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[41] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3664,7 +3829,7 @@ func (x *GetWasmCodesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWasmCodesRequest.ProtoReflect.Descriptor instead. func (*GetWasmCodesRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{41} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{43} } func (x *GetWasmCodesRequest) GetLimit() int32 { @@ -3700,7 +3865,7 @@ type GetWasmCodesResponse struct { func (x *GetWasmCodesResponse) Reset() { *x = GetWasmCodesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[42] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3713,7 +3878,7 @@ func (x *GetWasmCodesResponse) String() string { func (*GetWasmCodesResponse) ProtoMessage() {} func (x *GetWasmCodesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[42] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3726,7 +3891,7 @@ func (x *GetWasmCodesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWasmCodesResponse.ProtoReflect.Descriptor instead. func (*GetWasmCodesResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{42} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{44} } func (x *GetWasmCodesResponse) GetPaging() *Paging { @@ -3780,7 +3945,7 @@ type WasmCode struct { func (x *WasmCode) Reset() { *x = WasmCode{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[43] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3793,7 +3958,7 @@ func (x *WasmCode) String() string { func (*WasmCode) ProtoMessage() {} func (x *WasmCode) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[43] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3806,7 +3971,7 @@ func (x *WasmCode) ProtoReflect() protoreflect.Message { // Deprecated: Use WasmCode.ProtoReflect.Descriptor instead. func (*WasmCode) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{43} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{45} } func (x *WasmCode) GetCodeId() uint64 { @@ -3914,7 +4079,7 @@ type Checksum struct { func (x *Checksum) Reset() { *x = Checksum{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[44] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3927,7 +4092,7 @@ func (x *Checksum) String() string { func (*Checksum) ProtoMessage() {} func (x *Checksum) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[44] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3940,7 +4105,7 @@ func (x *Checksum) ProtoReflect() protoreflect.Message { // Deprecated: Use Checksum.ProtoReflect.Descriptor instead. func (*Checksum) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{44} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{46} } func (x *Checksum) GetAlgorithm() string { @@ -3971,7 +4136,7 @@ type ContractPermission struct { func (x *ContractPermission) Reset() { *x = ContractPermission{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[45] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3984,7 +4149,7 @@ func (x *ContractPermission) String() string { func (*ContractPermission) ProtoMessage() {} func (x *ContractPermission) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[45] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3997,7 +4162,7 @@ func (x *ContractPermission) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractPermission.ProtoReflect.Descriptor instead. func (*ContractPermission) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{45} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{47} } func (x *ContractPermission) GetAccessType() int32 { @@ -4026,7 +4191,7 @@ type GetWasmCodeByIDRequest struct { func (x *GetWasmCodeByIDRequest) Reset() { *x = GetWasmCodeByIDRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[46] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4039,7 +4204,7 @@ func (x *GetWasmCodeByIDRequest) String() string { func (*GetWasmCodeByIDRequest) ProtoMessage() {} func (x *GetWasmCodeByIDRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[46] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4052,7 +4217,7 @@ func (x *GetWasmCodeByIDRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWasmCodeByIDRequest.ProtoReflect.Descriptor instead. func (*GetWasmCodeByIDRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{46} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{48} } func (x *GetWasmCodeByIDRequest) GetCodeId() int64 { @@ -4098,7 +4263,7 @@ type GetWasmCodeByIDResponse struct { func (x *GetWasmCodeByIDResponse) Reset() { *x = GetWasmCodeByIDResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[47] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4111,7 +4276,7 @@ func (x *GetWasmCodeByIDResponse) String() string { func (*GetWasmCodeByIDResponse) ProtoMessage() {} func (x *GetWasmCodeByIDResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[47] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4124,7 +4289,7 @@ func (x *GetWasmCodeByIDResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWasmCodeByIDResponse.ProtoReflect.Descriptor instead. func (*GetWasmCodeByIDResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{47} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{49} } func (x *GetWasmCodeByIDResponse) GetCodeId() uint64 { @@ -4236,7 +4401,7 @@ type GetWasmContractsRequest struct { func (x *GetWasmContractsRequest) Reset() { *x = GetWasmContractsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[48] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4249,7 +4414,7 @@ func (x *GetWasmContractsRequest) String() string { func (*GetWasmContractsRequest) ProtoMessage() {} func (x *GetWasmContractsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[48] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4262,7 +4427,7 @@ func (x *GetWasmContractsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWasmContractsRequest.ProtoReflect.Descriptor instead. func (*GetWasmContractsRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{48} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{50} } func (x *GetWasmContractsRequest) GetLimit() int32 { @@ -4326,7 +4491,7 @@ type GetWasmContractsResponse struct { func (x *GetWasmContractsResponse) Reset() { *x = GetWasmContractsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[49] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4339,7 +4504,7 @@ func (x *GetWasmContractsResponse) String() string { func (*GetWasmContractsResponse) ProtoMessage() {} func (x *GetWasmContractsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[49] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4352,7 +4517,7 @@ func (x *GetWasmContractsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWasmContractsResponse.ProtoReflect.Descriptor instead. func (*GetWasmContractsResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{49} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{51} } func (x *GetWasmContractsResponse) GetPaging() *Paging { @@ -4413,7 +4578,7 @@ type WasmContract struct { func (x *WasmContract) Reset() { *x = WasmContract{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[50] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4426,7 +4591,7 @@ func (x *WasmContract) String() string { func (*WasmContract) ProtoMessage() {} func (x *WasmContract) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[50] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4439,7 +4604,7 @@ func (x *WasmContract) ProtoReflect() protoreflect.Message { // Deprecated: Use WasmContract.ProtoReflect.Descriptor instead. func (*WasmContract) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{50} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{52} } func (x *WasmContract) GetLabel() string { @@ -4575,7 +4740,7 @@ type ContractFund struct { func (x *ContractFund) Reset() { *x = ContractFund{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[51] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4588,7 +4753,7 @@ func (x *ContractFund) String() string { func (*ContractFund) ProtoMessage() {} func (x *ContractFund) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[51] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4601,7 +4766,7 @@ func (x *ContractFund) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractFund.ProtoReflect.Descriptor instead. func (*ContractFund) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{51} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{53} } func (x *ContractFund) GetDenom() string { @@ -4631,7 +4796,7 @@ type Cw20Metadata struct { func (x *Cw20Metadata) Reset() { *x = Cw20Metadata{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[52] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4644,7 +4809,7 @@ func (x *Cw20Metadata) String() string { func (*Cw20Metadata) ProtoMessage() {} func (x *Cw20Metadata) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[52] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4657,7 +4822,7 @@ func (x *Cw20Metadata) ProtoReflect() protoreflect.Message { // Deprecated: Use Cw20Metadata.ProtoReflect.Descriptor instead. func (*Cw20Metadata) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{52} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{54} } func (x *Cw20Metadata) GetTokenInfo() *Cw20TokenInfo { @@ -4693,7 +4858,7 @@ type Cw20TokenInfo struct { func (x *Cw20TokenInfo) Reset() { *x = Cw20TokenInfo{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[53] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4706,7 +4871,7 @@ func (x *Cw20TokenInfo) String() string { func (*Cw20TokenInfo) ProtoMessage() {} func (x *Cw20TokenInfo) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[53] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4719,7 +4884,7 @@ func (x *Cw20TokenInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use Cw20TokenInfo.ProtoReflect.Descriptor instead. func (*Cw20TokenInfo) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{53} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{55} } func (x *Cw20TokenInfo) GetName() string { @@ -4769,7 +4934,7 @@ type Cw20MarketingInfo struct { func (x *Cw20MarketingInfo) Reset() { *x = Cw20MarketingInfo{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[54] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4782,7 +4947,7 @@ func (x *Cw20MarketingInfo) String() string { func (*Cw20MarketingInfo) ProtoMessage() {} func (x *Cw20MarketingInfo) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[54] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4795,7 +4960,7 @@ func (x *Cw20MarketingInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use Cw20MarketingInfo.ProtoReflect.Descriptor instead. func (*Cw20MarketingInfo) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{54} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{56} } func (x *Cw20MarketingInfo) GetProject() string { @@ -4838,7 +5003,7 @@ type GetWasmContractByAddressRequest struct { func (x *GetWasmContractByAddressRequest) Reset() { *x = GetWasmContractByAddressRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[55] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4851,7 +5016,7 @@ func (x *GetWasmContractByAddressRequest) String() string { func (*GetWasmContractByAddressRequest) ProtoMessage() {} func (x *GetWasmContractByAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[55] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4864,7 +5029,7 @@ func (x *GetWasmContractByAddressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWasmContractByAddressRequest.ProtoReflect.Descriptor instead. func (*GetWasmContractByAddressRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{55} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{57} } func (x *GetWasmContractByAddressRequest) GetContractAddress() string { @@ -4917,7 +5082,7 @@ type GetWasmContractByAddressResponse struct { func (x *GetWasmContractByAddressResponse) Reset() { *x = GetWasmContractByAddressResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[56] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4930,7 +5095,7 @@ func (x *GetWasmContractByAddressResponse) String() string { func (*GetWasmContractByAddressResponse) ProtoMessage() {} func (x *GetWasmContractByAddressResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[56] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4943,7 +5108,7 @@ func (x *GetWasmContractByAddressResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWasmContractByAddressResponse.ProtoReflect.Descriptor instead. func (*GetWasmContractByAddressResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{56} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{58} } func (x *GetWasmContractByAddressResponse) GetLabel() string { @@ -5078,7 +5243,7 @@ type GetCw20BalanceRequest struct { func (x *GetCw20BalanceRequest) Reset() { *x = GetCw20BalanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[57] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5091,7 +5256,7 @@ func (x *GetCw20BalanceRequest) String() string { func (*GetCw20BalanceRequest) ProtoMessage() {} func (x *GetCw20BalanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[57] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5104,7 +5269,7 @@ func (x *GetCw20BalanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCw20BalanceRequest.ProtoReflect.Descriptor instead. func (*GetCw20BalanceRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{57} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{59} } func (x *GetCw20BalanceRequest) GetAddress() string { @@ -5132,7 +5297,7 @@ type GetCw20BalanceResponse struct { func (x *GetCw20BalanceResponse) Reset() { *x = GetCw20BalanceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[58] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5145,7 +5310,7 @@ func (x *GetCw20BalanceResponse) String() string { func (*GetCw20BalanceResponse) ProtoMessage() {} func (x *GetCw20BalanceResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[58] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5158,7 +5323,7 @@ func (x *GetCw20BalanceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCw20BalanceResponse.ProtoReflect.Descriptor instead. func (*GetCw20BalanceResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{58} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{60} } func (x *GetCw20BalanceResponse) GetField() []*WasmCw20Balance { @@ -5187,7 +5352,7 @@ type WasmCw20Balance struct { func (x *WasmCw20Balance) Reset() { *x = WasmCw20Balance{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[59] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5200,7 +5365,7 @@ func (x *WasmCw20Balance) String() string { func (*WasmCw20Balance) ProtoMessage() {} func (x *WasmCw20Balance) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[59] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5213,7 +5378,7 @@ func (x *WasmCw20Balance) ProtoReflect() protoreflect.Message { // Deprecated: Use WasmCw20Balance.ProtoReflect.Descriptor instead. func (*WasmCw20Balance) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{59} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{61} } func (x *WasmCw20Balance) GetContractAddress() string { @@ -5263,7 +5428,7 @@ type RelayersRequest struct { func (x *RelayersRequest) Reset() { *x = RelayersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[60] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5276,7 +5441,7 @@ func (x *RelayersRequest) String() string { func (*RelayersRequest) ProtoMessage() {} func (x *RelayersRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[60] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5289,7 +5454,7 @@ func (x *RelayersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RelayersRequest.ProtoReflect.Descriptor instead. func (*RelayersRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{60} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{62} } func (x *RelayersRequest) GetMarketIDs() []string { @@ -5310,7 +5475,7 @@ type RelayersResponse struct { func (x *RelayersResponse) Reset() { *x = RelayersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[61] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5323,7 +5488,7 @@ func (x *RelayersResponse) String() string { func (*RelayersResponse) ProtoMessage() {} func (x *RelayersResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[61] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5336,7 +5501,7 @@ func (x *RelayersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RelayersResponse.ProtoReflect.Descriptor instead. func (*RelayersResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{61} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{63} } func (x *RelayersResponse) GetField() []*RelayerMarkets { @@ -5360,7 +5525,7 @@ type RelayerMarkets struct { func (x *RelayerMarkets) Reset() { *x = RelayerMarkets{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[62] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5373,7 +5538,7 @@ func (x *RelayerMarkets) String() string { func (*RelayerMarkets) ProtoMessage() {} func (x *RelayerMarkets) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[62] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5386,7 +5551,7 @@ func (x *RelayerMarkets) ProtoReflect() protoreflect.Message { // Deprecated: Use RelayerMarkets.ProtoReflect.Descriptor instead. func (*RelayerMarkets) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{62} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{64} } func (x *RelayerMarkets) GetMarketId() string { @@ -5417,7 +5582,7 @@ type Relayer struct { func (x *Relayer) Reset() { *x = Relayer{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[63] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5430,7 +5595,7 @@ func (x *Relayer) String() string { func (*Relayer) ProtoMessage() {} func (x *Relayer) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[63] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5443,7 +5608,7 @@ func (x *Relayer) ProtoReflect() protoreflect.Message { // Deprecated: Use Relayer.ProtoReflect.Descriptor instead. func (*Relayer) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{63} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{65} } func (x *Relayer) GetName() string { @@ -5489,7 +5654,7 @@ type GetBankTransfersRequest struct { func (x *GetBankTransfersRequest) Reset() { *x = GetBankTransfersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[64] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5502,7 +5667,7 @@ func (x *GetBankTransfersRequest) String() string { func (*GetBankTransfersRequest) ProtoMessage() {} func (x *GetBankTransfersRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[64] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5515,7 +5680,7 @@ func (x *GetBankTransfersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBankTransfersRequest.ProtoReflect.Descriptor instead. func (*GetBankTransfersRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{64} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{66} } func (x *GetBankTransfersRequest) GetSenders() []string { @@ -5600,7 +5765,7 @@ type GetBankTransfersResponse struct { func (x *GetBankTransfersResponse) Reset() { *x = GetBankTransfersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[65] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5613,7 +5778,7 @@ func (x *GetBankTransfersResponse) String() string { func (*GetBankTransfersResponse) ProtoMessage() {} func (x *GetBankTransfersResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[65] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5626,7 +5791,7 @@ func (x *GetBankTransfersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBankTransfersResponse.ProtoReflect.Descriptor instead. func (*GetBankTransfersResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{65} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{67} } func (x *GetBankTransfersResponse) GetPaging() *Paging { @@ -5660,7 +5825,7 @@ type BankTransfer struct { func (x *BankTransfer) Reset() { *x = BankTransfer{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[66] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5673,7 +5838,7 @@ func (x *BankTransfer) String() string { func (*BankTransfer) ProtoMessage() {} func (x *BankTransfer) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[66] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5686,7 +5851,7 @@ func (x *BankTransfer) ProtoReflect() protoreflect.Message { // Deprecated: Use BankTransfer.ProtoReflect.Descriptor instead. func (*BankTransfer) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{66} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{68} } func (x *BankTransfer) GetSender() string { @@ -5737,7 +5902,7 @@ type Coin struct { func (x *Coin) Reset() { *x = Coin{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[67] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5750,7 +5915,7 @@ func (x *Coin) String() string { func (*Coin) ProtoMessage() {} func (x *Coin) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[67] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5763,7 +5928,7 @@ func (x *Coin) ProtoReflect() protoreflect.Message { // Deprecated: Use Coin.ProtoReflect.Descriptor instead. func (*Coin) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{67} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{69} } func (x *Coin) GetDenom() string { @@ -5789,7 +5954,7 @@ type StreamTxsRequest struct { func (x *StreamTxsRequest) Reset() { *x = StreamTxsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[68] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5802,7 +5967,7 @@ func (x *StreamTxsRequest) String() string { func (*StreamTxsRequest) ProtoMessage() {} func (x *StreamTxsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[68] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5815,7 +5980,7 @@ func (x *StreamTxsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTxsRequest.ProtoReflect.Descriptor instead. func (*StreamTxsRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{68} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{70} } type StreamTxsResponse struct { @@ -5840,7 +6005,7 @@ type StreamTxsResponse struct { func (x *StreamTxsResponse) Reset() { *x = StreamTxsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[69] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5853,7 +6018,7 @@ func (x *StreamTxsResponse) String() string { func (*StreamTxsResponse) ProtoMessage() {} func (x *StreamTxsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[69] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5866,7 +6031,7 @@ func (x *StreamTxsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTxsResponse.ProtoReflect.Descriptor instead. func (*StreamTxsResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{69} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{71} } func (x *StreamTxsResponse) GetId() string { @@ -5948,7 +6113,7 @@ type StreamBlocksRequest struct { func (x *StreamBlocksRequest) Reset() { *x = StreamBlocksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[70] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5961,7 +6126,7 @@ func (x *StreamBlocksRequest) String() string { func (*StreamBlocksRequest) ProtoMessage() {} func (x *StreamBlocksRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[70] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5974,7 +6139,7 @@ func (x *StreamBlocksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamBlocksRequest.ProtoReflect.Descriptor instead. func (*StreamBlocksRequest) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{70} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{72} } type StreamBlocksResponse struct { @@ -5996,7 +6161,7 @@ type StreamBlocksResponse struct { func (x *StreamBlocksResponse) Reset() { *x = StreamBlocksResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_explorer_rpc_proto_msgTypes[71] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6009,7 +6174,7 @@ func (x *StreamBlocksResponse) String() string { func (*StreamBlocksResponse) ProtoMessage() {} func (x *StreamBlocksResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_explorer_rpc_proto_msgTypes[71] + mi := &file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6022,7 +6187,7 @@ func (x *StreamBlocksResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamBlocksResponse.ProtoReflect.Descriptor instead. func (*StreamBlocksResponse) Descriptor() ([]byte, []int) { - return file_injective_explorer_rpc_proto_rawDescGZIP(), []int{71} + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP(), []int{73} } func (x *StreamBlocksResponse) GetHeight() uint64 { @@ -6088,158 +6253,225 @@ func (x *StreamBlocksResponse) GetTimestamp() string { return "" } -var File_injective_explorer_rpc_proto protoreflect.FileDescriptor +var File_goadesign_goagen_injective_explorer_rpc_proto protoreflect.FileDescriptor -var file_injective_explorer_rpc_proto_rawDesc = []byte{ - 0x0a, 0x1c, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, - 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, - 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x22, 0xc4, 0x02, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 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, 0x16, 0x0a, 0x06, 0x62, 0x65, 0x66, - 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, - 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, - 0x07, 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, 0x08, 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, 0x09, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x08, 0x74, 0x6f, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, - 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, - 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x89, 0x01, - 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 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, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, - 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, - 0x0a, 0x02, 0x74, 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, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, - 0x78, 0x74, 0x22, 0xab, 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, 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, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, - 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x09, 0x67, 0x61, 0x73, 0x57, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x12, 0x19, - 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x07, 0x67, 0x61, 0x73, 0x55, 0x73, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x07, 0x67, 0x61, 0x73, - 0x5f, 0x66, 0x65, 0x65, 0x18, 0x0b, 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, 0x47, 0x61, 0x73, 0x46, 0x65, 0x65, 0x52, 0x06, 0x67, 0x61, 0x73, 0x46, - 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x12, 0x35, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1d, 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, 0x52, - 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0a, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x10, 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, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, - 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, - 0x65, 0x6d, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x78, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x30, 0x0a, 0x14, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 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, 0x12, - 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6c, - 0x6f, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x16, 0x20, 0x03, 0x28, 0x12, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x49, 0x64, 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, +var file_goadesign_goagen_injective_explorer_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, + 0x6c, 0x6f, 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x16, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, + 0x72, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x22, 0xc4, 0x02, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 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, 0x16, 0x0a, 0x06, 0x62, 0x65, + 0x66, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x62, 0x65, 0x66, 0x6f, + 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, + 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, + 0x18, 0x07, 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, 0x08, 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, 0x09, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x08, 0x74, 0x6f, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x89, + 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 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, 0x86, 0x01, 0x0a, 0x06, 0x50, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, + 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, + 0x0e, 0x0a, 0x02, 0x74, 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, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x65, 0x78, 0x74, 0x22, 0xab, 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, 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, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, + 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, + 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x67, 0x61, 0x73, 0x57, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x12, + 0x19, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x07, 0x67, 0x61, 0x73, 0x55, 0x73, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x07, 0x67, 0x61, + 0x73, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x0b, 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, 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, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x61, 0x73, 0x46, 0x65, 0x65, 0x52, 0x06, 0x67, 0x61, 0x73, + 0x46, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x35, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1d, 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, + 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x41, 0x0a, + 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x10, 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, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x78, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x30, 0x0a, 0x14, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 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, + 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, + 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x12, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x49, 0x64, + 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, 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, + 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, + 0x9b, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, + 0x78, 0x73, 0x56, 0x32, 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, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x04, 0x66, 0x72, 0x6f, + 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x02, 0x74, + 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, + 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x68, 0x0a, + 0x18, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x73, 0x56, + 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, + 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 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, 0x7a, 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, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x66, + 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x02, 0x74, 0x6f, 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, 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, + 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, 0xa0, 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, 0x12, 0x1b, + 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, + 0x12, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x49, 0x64, 0x73, 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, @@ -6252,900 +6484,861 @@ var file_injective_explorer_rpc_proto_rawDesc = []byte{ 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, 0xa0, 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, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, - 0x20, 0x03, 0x28, 0x12, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x49, 0x64, 0x73, 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, 0xd3, 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, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0c, - 0x20, 0x03, 0x28, 0x12, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x49, 0x64, 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, 0xb5, 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, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x55, 0x72, 0x6c, 0x22, 0xc8, 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, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 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, + 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, 0xd3, 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, 0x12, 0x1b, + 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, + 0x12, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x49, 0x64, 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, 0xb5, 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, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, + 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, + 0x6c, 0x22, 0xc8, 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, 0x12, + 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 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, 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, 0xa3, - 0x02, 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, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 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, + 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, 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, + 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, 0xa3, 0x02, 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, 0x12, + 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 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, 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, + 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, 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, + 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, 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, + 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, 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, 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, + 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, 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, 0xd1, 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, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 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, 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, 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, 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, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 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, 0xd1, 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, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 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, 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, 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, + 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, 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, + 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, 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, 0xbd, 0x02, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6e, + 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x72, + 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x69, + 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, + 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, + 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x52, + 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, + 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6e, + 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 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, 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x22, 0xc8, 0x01, 0x0a, 0x0c, 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 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, 0x1c, 0x0a, + 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x07, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 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, 0xbd, 0x02, 0x0a, 0x17, 0x47, 0x65, 0x74, - 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1e, - 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x39, - 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x70, - 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x16, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x50, 0x6f, - 0x6f, 0x6c, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, - 0x6b, 0x69, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, - 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, - 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 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, 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc8, 0x01, 0x0a, 0x0c, 0x42, 0x61, 0x6e, 0x6b, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 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, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x36, - 0x0a, 0x07, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1c, 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, 0x69, 0x6e, 0x52, 0x07, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 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, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x22, 0x34, 0x0a, 0x04, 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, 0x12, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa8, 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, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, - 0x61, 0x69, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x12, 0x52, 0x08, 0x63, - 0x6c, 0x61, 0x69, 0x6d, 0x49, 0x64, 0x73, 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, 0xcf, 0x12, 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, 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, + 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x07, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x18, 0x04, 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, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, + 0x34, 0x0a, 0x04, 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, 0x12, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, + 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa8, 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, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x69, 0x6d, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x12, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x69, + 0x6d, 0x49, 0x64, 0x73, 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, 0xc6, 0x13, 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, 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, + 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, 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, 0x75, + 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x73, + 0x56, 0x32, 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, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x73, 0x56, 0x32, 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, - 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, 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, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x54, 0x78, 0x73, 0x56, 0x32, 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, 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, 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, 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, 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, + 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, 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, + 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, 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, + 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, 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, 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, + 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, 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, 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, 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, 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, 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, + 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, 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, 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, + 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, 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, + 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, 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, + 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, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 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, 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 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, 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 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, + 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, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x61, + 0x6e, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 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, 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 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, 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 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 ( - file_injective_explorer_rpc_proto_rawDescOnce sync.Once - file_injective_explorer_rpc_proto_rawDescData = file_injective_explorer_rpc_proto_rawDesc + file_goadesign_goagen_injective_explorer_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_explorer_rpc_proto_rawDescData = file_goadesign_goagen_injective_explorer_rpc_proto_rawDesc ) -func file_injective_explorer_rpc_proto_rawDescGZIP() []byte { - file_injective_explorer_rpc_proto_rawDescOnce.Do(func() { - file_injective_explorer_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_explorer_rpc_proto_rawDescData) +func file_goadesign_goagen_injective_explorer_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_explorer_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_explorer_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_explorer_rpc_proto_rawDescData) }) - return file_injective_explorer_rpc_proto_rawDescData + return file_goadesign_goagen_injective_explorer_rpc_proto_rawDescData } -var file_injective_explorer_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 73) -var file_injective_explorer_rpc_proto_goTypes = []interface{}{ +var file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 75) +var file_goadesign_goagen_injective_explorer_rpc_proto_goTypes = []interface{}{ (*GetAccountTxsRequest)(nil), // 0: injective_explorer_rpc.GetAccountTxsRequest (*GetAccountTxsResponse)(nil), // 1: injective_explorer_rpc.GetAccountTxsResponse (*Paging)(nil), // 2: injective_explorer_rpc.Paging @@ -7156,175 +7349,180 @@ var file_injective_explorer_rpc_proto_goTypes = []interface{}{ (*Signature)(nil), // 7: injective_explorer_rpc.Signature (*GetContractTxsRequest)(nil), // 8: injective_explorer_rpc.GetContractTxsRequest (*GetContractTxsResponse)(nil), // 9: injective_explorer_rpc.GetContractTxsResponse - (*GetBlocksRequest)(nil), // 10: injective_explorer_rpc.GetBlocksRequest - (*GetBlocksResponse)(nil), // 11: injective_explorer_rpc.GetBlocksResponse - (*BlockInfo)(nil), // 12: injective_explorer_rpc.BlockInfo - (*TxDataRPC)(nil), // 13: injective_explorer_rpc.TxDataRPC - (*GetBlockRequest)(nil), // 14: injective_explorer_rpc.GetBlockRequest - (*GetBlockResponse)(nil), // 15: injective_explorer_rpc.GetBlockResponse - (*BlockDetailInfo)(nil), // 16: injective_explorer_rpc.BlockDetailInfo - (*TxData)(nil), // 17: injective_explorer_rpc.TxData - (*GetValidatorsRequest)(nil), // 18: injective_explorer_rpc.GetValidatorsRequest - (*GetValidatorsResponse)(nil), // 19: injective_explorer_rpc.GetValidatorsResponse - (*Validator)(nil), // 20: injective_explorer_rpc.Validator - (*ValidatorDescription)(nil), // 21: injective_explorer_rpc.ValidatorDescription - (*ValidatorUptime)(nil), // 22: injective_explorer_rpc.ValidatorUptime - (*SlashingEvent)(nil), // 23: injective_explorer_rpc.SlashingEvent - (*GetValidatorRequest)(nil), // 24: injective_explorer_rpc.GetValidatorRequest - (*GetValidatorResponse)(nil), // 25: injective_explorer_rpc.GetValidatorResponse - (*GetValidatorUptimeRequest)(nil), // 26: injective_explorer_rpc.GetValidatorUptimeRequest - (*GetValidatorUptimeResponse)(nil), // 27: injective_explorer_rpc.GetValidatorUptimeResponse - (*GetTxsRequest)(nil), // 28: injective_explorer_rpc.GetTxsRequest - (*GetTxsResponse)(nil), // 29: injective_explorer_rpc.GetTxsResponse - (*GetTxByTxHashRequest)(nil), // 30: injective_explorer_rpc.GetTxByTxHashRequest - (*GetTxByTxHashResponse)(nil), // 31: injective_explorer_rpc.GetTxByTxHashResponse - (*GetPeggyDepositTxsRequest)(nil), // 32: injective_explorer_rpc.GetPeggyDepositTxsRequest - (*GetPeggyDepositTxsResponse)(nil), // 33: injective_explorer_rpc.GetPeggyDepositTxsResponse - (*PeggyDepositTx)(nil), // 34: injective_explorer_rpc.PeggyDepositTx - (*GetPeggyWithdrawalTxsRequest)(nil), // 35: injective_explorer_rpc.GetPeggyWithdrawalTxsRequest - (*GetPeggyWithdrawalTxsResponse)(nil), // 36: injective_explorer_rpc.GetPeggyWithdrawalTxsResponse - (*PeggyWithdrawalTx)(nil), // 37: injective_explorer_rpc.PeggyWithdrawalTx - (*GetIBCTransferTxsRequest)(nil), // 38: injective_explorer_rpc.GetIBCTransferTxsRequest - (*GetIBCTransferTxsResponse)(nil), // 39: injective_explorer_rpc.GetIBCTransferTxsResponse - (*IBCTransferTx)(nil), // 40: injective_explorer_rpc.IBCTransferTx - (*GetWasmCodesRequest)(nil), // 41: injective_explorer_rpc.GetWasmCodesRequest - (*GetWasmCodesResponse)(nil), // 42: injective_explorer_rpc.GetWasmCodesResponse - (*WasmCode)(nil), // 43: injective_explorer_rpc.WasmCode - (*Checksum)(nil), // 44: injective_explorer_rpc.Checksum - (*ContractPermission)(nil), // 45: injective_explorer_rpc.ContractPermission - (*GetWasmCodeByIDRequest)(nil), // 46: injective_explorer_rpc.GetWasmCodeByIDRequest - (*GetWasmCodeByIDResponse)(nil), // 47: injective_explorer_rpc.GetWasmCodeByIDResponse - (*GetWasmContractsRequest)(nil), // 48: injective_explorer_rpc.GetWasmContractsRequest - (*GetWasmContractsResponse)(nil), // 49: injective_explorer_rpc.GetWasmContractsResponse - (*WasmContract)(nil), // 50: injective_explorer_rpc.WasmContract - (*ContractFund)(nil), // 51: injective_explorer_rpc.ContractFund - (*Cw20Metadata)(nil), // 52: injective_explorer_rpc.Cw20Metadata - (*Cw20TokenInfo)(nil), // 53: injective_explorer_rpc.Cw20TokenInfo - (*Cw20MarketingInfo)(nil), // 54: injective_explorer_rpc.Cw20MarketingInfo - (*GetWasmContractByAddressRequest)(nil), // 55: injective_explorer_rpc.GetWasmContractByAddressRequest - (*GetWasmContractByAddressResponse)(nil), // 56: injective_explorer_rpc.GetWasmContractByAddressResponse - (*GetCw20BalanceRequest)(nil), // 57: injective_explorer_rpc.GetCw20BalanceRequest - (*GetCw20BalanceResponse)(nil), // 58: injective_explorer_rpc.GetCw20BalanceResponse - (*WasmCw20Balance)(nil), // 59: injective_explorer_rpc.WasmCw20Balance - (*RelayersRequest)(nil), // 60: injective_explorer_rpc.RelayersRequest - (*RelayersResponse)(nil), // 61: injective_explorer_rpc.RelayersResponse - (*RelayerMarkets)(nil), // 62: injective_explorer_rpc.RelayerMarkets - (*Relayer)(nil), // 63: injective_explorer_rpc.Relayer - (*GetBankTransfersRequest)(nil), // 64: injective_explorer_rpc.GetBankTransfersRequest - (*GetBankTransfersResponse)(nil), // 65: injective_explorer_rpc.GetBankTransfersResponse - (*BankTransfer)(nil), // 66: injective_explorer_rpc.BankTransfer - (*Coin)(nil), // 67: injective_explorer_rpc.Coin - (*StreamTxsRequest)(nil), // 68: injective_explorer_rpc.StreamTxsRequest - (*StreamTxsResponse)(nil), // 69: injective_explorer_rpc.StreamTxsResponse - (*StreamBlocksRequest)(nil), // 70: injective_explorer_rpc.StreamBlocksRequest - (*StreamBlocksResponse)(nil), // 71: injective_explorer_rpc.StreamBlocksResponse - nil, // 72: injective_explorer_rpc.Event.AttributesEntry -} -var file_injective_explorer_rpc_proto_depIdxs = []int32{ + (*GetContractTxsV2Request)(nil), // 10: injective_explorer_rpc.GetContractTxsV2Request + (*GetContractTxsV2Response)(nil), // 11: injective_explorer_rpc.GetContractTxsV2Response + (*GetBlocksRequest)(nil), // 12: injective_explorer_rpc.GetBlocksRequest + (*GetBlocksResponse)(nil), // 13: injective_explorer_rpc.GetBlocksResponse + (*BlockInfo)(nil), // 14: injective_explorer_rpc.BlockInfo + (*TxDataRPC)(nil), // 15: injective_explorer_rpc.TxDataRPC + (*GetBlockRequest)(nil), // 16: injective_explorer_rpc.GetBlockRequest + (*GetBlockResponse)(nil), // 17: injective_explorer_rpc.GetBlockResponse + (*BlockDetailInfo)(nil), // 18: injective_explorer_rpc.BlockDetailInfo + (*TxData)(nil), // 19: injective_explorer_rpc.TxData + (*GetValidatorsRequest)(nil), // 20: injective_explorer_rpc.GetValidatorsRequest + (*GetValidatorsResponse)(nil), // 21: injective_explorer_rpc.GetValidatorsResponse + (*Validator)(nil), // 22: injective_explorer_rpc.Validator + (*ValidatorDescription)(nil), // 23: injective_explorer_rpc.ValidatorDescription + (*ValidatorUptime)(nil), // 24: injective_explorer_rpc.ValidatorUptime + (*SlashingEvent)(nil), // 25: injective_explorer_rpc.SlashingEvent + (*GetValidatorRequest)(nil), // 26: injective_explorer_rpc.GetValidatorRequest + (*GetValidatorResponse)(nil), // 27: injective_explorer_rpc.GetValidatorResponse + (*GetValidatorUptimeRequest)(nil), // 28: injective_explorer_rpc.GetValidatorUptimeRequest + (*GetValidatorUptimeResponse)(nil), // 29: injective_explorer_rpc.GetValidatorUptimeResponse + (*GetTxsRequest)(nil), // 30: injective_explorer_rpc.GetTxsRequest + (*GetTxsResponse)(nil), // 31: injective_explorer_rpc.GetTxsResponse + (*GetTxByTxHashRequest)(nil), // 32: injective_explorer_rpc.GetTxByTxHashRequest + (*GetTxByTxHashResponse)(nil), // 33: injective_explorer_rpc.GetTxByTxHashResponse + (*GetPeggyDepositTxsRequest)(nil), // 34: injective_explorer_rpc.GetPeggyDepositTxsRequest + (*GetPeggyDepositTxsResponse)(nil), // 35: injective_explorer_rpc.GetPeggyDepositTxsResponse + (*PeggyDepositTx)(nil), // 36: injective_explorer_rpc.PeggyDepositTx + (*GetPeggyWithdrawalTxsRequest)(nil), // 37: injective_explorer_rpc.GetPeggyWithdrawalTxsRequest + (*GetPeggyWithdrawalTxsResponse)(nil), // 38: injective_explorer_rpc.GetPeggyWithdrawalTxsResponse + (*PeggyWithdrawalTx)(nil), // 39: injective_explorer_rpc.PeggyWithdrawalTx + (*GetIBCTransferTxsRequest)(nil), // 40: injective_explorer_rpc.GetIBCTransferTxsRequest + (*GetIBCTransferTxsResponse)(nil), // 41: injective_explorer_rpc.GetIBCTransferTxsResponse + (*IBCTransferTx)(nil), // 42: injective_explorer_rpc.IBCTransferTx + (*GetWasmCodesRequest)(nil), // 43: injective_explorer_rpc.GetWasmCodesRequest + (*GetWasmCodesResponse)(nil), // 44: injective_explorer_rpc.GetWasmCodesResponse + (*WasmCode)(nil), // 45: injective_explorer_rpc.WasmCode + (*Checksum)(nil), // 46: injective_explorer_rpc.Checksum + (*ContractPermission)(nil), // 47: injective_explorer_rpc.ContractPermission + (*GetWasmCodeByIDRequest)(nil), // 48: injective_explorer_rpc.GetWasmCodeByIDRequest + (*GetWasmCodeByIDResponse)(nil), // 49: injective_explorer_rpc.GetWasmCodeByIDResponse + (*GetWasmContractsRequest)(nil), // 50: injective_explorer_rpc.GetWasmContractsRequest + (*GetWasmContractsResponse)(nil), // 51: injective_explorer_rpc.GetWasmContractsResponse + (*WasmContract)(nil), // 52: injective_explorer_rpc.WasmContract + (*ContractFund)(nil), // 53: injective_explorer_rpc.ContractFund + (*Cw20Metadata)(nil), // 54: injective_explorer_rpc.Cw20Metadata + (*Cw20TokenInfo)(nil), // 55: injective_explorer_rpc.Cw20TokenInfo + (*Cw20MarketingInfo)(nil), // 56: injective_explorer_rpc.Cw20MarketingInfo + (*GetWasmContractByAddressRequest)(nil), // 57: injective_explorer_rpc.GetWasmContractByAddressRequest + (*GetWasmContractByAddressResponse)(nil), // 58: injective_explorer_rpc.GetWasmContractByAddressResponse + (*GetCw20BalanceRequest)(nil), // 59: injective_explorer_rpc.GetCw20BalanceRequest + (*GetCw20BalanceResponse)(nil), // 60: injective_explorer_rpc.GetCw20BalanceResponse + (*WasmCw20Balance)(nil), // 61: injective_explorer_rpc.WasmCw20Balance + (*RelayersRequest)(nil), // 62: injective_explorer_rpc.RelayersRequest + (*RelayersResponse)(nil), // 63: injective_explorer_rpc.RelayersResponse + (*RelayerMarkets)(nil), // 64: injective_explorer_rpc.RelayerMarkets + (*Relayer)(nil), // 65: injective_explorer_rpc.Relayer + (*GetBankTransfersRequest)(nil), // 66: injective_explorer_rpc.GetBankTransfersRequest + (*GetBankTransfersResponse)(nil), // 67: injective_explorer_rpc.GetBankTransfersResponse + (*BankTransfer)(nil), // 68: injective_explorer_rpc.BankTransfer + (*Coin)(nil), // 69: injective_explorer_rpc.Coin + (*StreamTxsRequest)(nil), // 70: injective_explorer_rpc.StreamTxsRequest + (*StreamTxsResponse)(nil), // 71: injective_explorer_rpc.StreamTxsResponse + (*StreamBlocksRequest)(nil), // 72: injective_explorer_rpc.StreamBlocksRequest + (*StreamBlocksResponse)(nil), // 73: injective_explorer_rpc.StreamBlocksResponse + nil, // 74: injective_explorer_rpc.Event.AttributesEntry +} +var file_goadesign_goagen_injective_explorer_rpc_proto_depIdxs = []int32{ 2, // 0: injective_explorer_rpc.GetAccountTxsResponse.paging:type_name -> injective_explorer_rpc.Paging 3, // 1: injective_explorer_rpc.GetAccountTxsResponse.data:type_name -> injective_explorer_rpc.TxDetailData 4, // 2: injective_explorer_rpc.TxDetailData.gas_fee:type_name -> injective_explorer_rpc.GasFee 6, // 3: injective_explorer_rpc.TxDetailData.events:type_name -> injective_explorer_rpc.Event 7, // 4: injective_explorer_rpc.TxDetailData.signatures:type_name -> injective_explorer_rpc.Signature 5, // 5: injective_explorer_rpc.GasFee.amount:type_name -> injective_explorer_rpc.CosmosCoin - 72, // 6: injective_explorer_rpc.Event.attributes:type_name -> injective_explorer_rpc.Event.AttributesEntry + 74, // 6: injective_explorer_rpc.Event.attributes:type_name -> injective_explorer_rpc.Event.AttributesEntry 2, // 7: injective_explorer_rpc.GetContractTxsResponse.paging:type_name -> injective_explorer_rpc.Paging 3, // 8: injective_explorer_rpc.GetContractTxsResponse.data:type_name -> injective_explorer_rpc.TxDetailData - 2, // 9: injective_explorer_rpc.GetBlocksResponse.paging:type_name -> injective_explorer_rpc.Paging - 12, // 10: injective_explorer_rpc.GetBlocksResponse.data:type_name -> injective_explorer_rpc.BlockInfo - 13, // 11: injective_explorer_rpc.BlockInfo.txs:type_name -> injective_explorer_rpc.TxDataRPC - 16, // 12: injective_explorer_rpc.GetBlockResponse.data:type_name -> injective_explorer_rpc.BlockDetailInfo - 17, // 13: injective_explorer_rpc.BlockDetailInfo.txs:type_name -> injective_explorer_rpc.TxData - 20, // 14: injective_explorer_rpc.GetValidatorsResponse.data:type_name -> injective_explorer_rpc.Validator - 21, // 15: injective_explorer_rpc.Validator.description:type_name -> injective_explorer_rpc.ValidatorDescription - 22, // 16: injective_explorer_rpc.Validator.uptimes:type_name -> injective_explorer_rpc.ValidatorUptime - 23, // 17: injective_explorer_rpc.Validator.slashing_events:type_name -> injective_explorer_rpc.SlashingEvent - 20, // 18: injective_explorer_rpc.GetValidatorResponse.data:type_name -> injective_explorer_rpc.Validator - 22, // 19: injective_explorer_rpc.GetValidatorUptimeResponse.data:type_name -> injective_explorer_rpc.ValidatorUptime - 2, // 20: injective_explorer_rpc.GetTxsResponse.paging:type_name -> injective_explorer_rpc.Paging - 17, // 21: injective_explorer_rpc.GetTxsResponse.data:type_name -> injective_explorer_rpc.TxData - 3, // 22: injective_explorer_rpc.GetTxByTxHashResponse.data:type_name -> injective_explorer_rpc.TxDetailData - 34, // 23: injective_explorer_rpc.GetPeggyDepositTxsResponse.field:type_name -> injective_explorer_rpc.PeggyDepositTx - 37, // 24: injective_explorer_rpc.GetPeggyWithdrawalTxsResponse.field:type_name -> injective_explorer_rpc.PeggyWithdrawalTx - 40, // 25: injective_explorer_rpc.GetIBCTransferTxsResponse.field:type_name -> injective_explorer_rpc.IBCTransferTx - 2, // 26: injective_explorer_rpc.GetWasmCodesResponse.paging:type_name -> injective_explorer_rpc.Paging - 43, // 27: injective_explorer_rpc.GetWasmCodesResponse.data:type_name -> injective_explorer_rpc.WasmCode - 44, // 28: injective_explorer_rpc.WasmCode.checksum:type_name -> injective_explorer_rpc.Checksum - 45, // 29: injective_explorer_rpc.WasmCode.permission:type_name -> injective_explorer_rpc.ContractPermission - 44, // 30: injective_explorer_rpc.GetWasmCodeByIDResponse.checksum:type_name -> injective_explorer_rpc.Checksum - 45, // 31: injective_explorer_rpc.GetWasmCodeByIDResponse.permission:type_name -> injective_explorer_rpc.ContractPermission - 2, // 32: injective_explorer_rpc.GetWasmContractsResponse.paging:type_name -> injective_explorer_rpc.Paging - 50, // 33: injective_explorer_rpc.GetWasmContractsResponse.data:type_name -> injective_explorer_rpc.WasmContract - 51, // 34: injective_explorer_rpc.WasmContract.funds:type_name -> injective_explorer_rpc.ContractFund - 52, // 35: injective_explorer_rpc.WasmContract.cw20_metadata:type_name -> injective_explorer_rpc.Cw20Metadata - 53, // 36: injective_explorer_rpc.Cw20Metadata.token_info:type_name -> injective_explorer_rpc.Cw20TokenInfo - 54, // 37: injective_explorer_rpc.Cw20Metadata.marketing_info:type_name -> injective_explorer_rpc.Cw20MarketingInfo - 51, // 38: injective_explorer_rpc.GetWasmContractByAddressResponse.funds:type_name -> injective_explorer_rpc.ContractFund - 52, // 39: injective_explorer_rpc.GetWasmContractByAddressResponse.cw20_metadata:type_name -> injective_explorer_rpc.Cw20Metadata - 59, // 40: injective_explorer_rpc.GetCw20BalanceResponse.field:type_name -> injective_explorer_rpc.WasmCw20Balance - 52, // 41: injective_explorer_rpc.WasmCw20Balance.cw20_metadata:type_name -> injective_explorer_rpc.Cw20Metadata - 62, // 42: injective_explorer_rpc.RelayersResponse.field:type_name -> injective_explorer_rpc.RelayerMarkets - 63, // 43: injective_explorer_rpc.RelayerMarkets.relayers:type_name -> injective_explorer_rpc.Relayer - 2, // 44: injective_explorer_rpc.GetBankTransfersResponse.paging:type_name -> injective_explorer_rpc.Paging - 66, // 45: injective_explorer_rpc.GetBankTransfersResponse.data:type_name -> injective_explorer_rpc.BankTransfer - 67, // 46: injective_explorer_rpc.BankTransfer.amounts:type_name -> injective_explorer_rpc.Coin - 13, // 47: injective_explorer_rpc.StreamBlocksResponse.txs:type_name -> injective_explorer_rpc.TxDataRPC - 0, // 48: injective_explorer_rpc.InjectiveExplorerRPC.GetAccountTxs:input_type -> injective_explorer_rpc.GetAccountTxsRequest - 8, // 49: injective_explorer_rpc.InjectiveExplorerRPC.GetContractTxs:input_type -> injective_explorer_rpc.GetContractTxsRequest - 10, // 50: injective_explorer_rpc.InjectiveExplorerRPC.GetBlocks:input_type -> injective_explorer_rpc.GetBlocksRequest - 14, // 51: injective_explorer_rpc.InjectiveExplorerRPC.GetBlock:input_type -> injective_explorer_rpc.GetBlockRequest - 18, // 52: injective_explorer_rpc.InjectiveExplorerRPC.GetValidators:input_type -> injective_explorer_rpc.GetValidatorsRequest - 24, // 53: injective_explorer_rpc.InjectiveExplorerRPC.GetValidator:input_type -> injective_explorer_rpc.GetValidatorRequest - 26, // 54: injective_explorer_rpc.InjectiveExplorerRPC.GetValidatorUptime:input_type -> injective_explorer_rpc.GetValidatorUptimeRequest - 28, // 55: injective_explorer_rpc.InjectiveExplorerRPC.GetTxs:input_type -> injective_explorer_rpc.GetTxsRequest - 30, // 56: injective_explorer_rpc.InjectiveExplorerRPC.GetTxByTxHash:input_type -> injective_explorer_rpc.GetTxByTxHashRequest - 32, // 57: injective_explorer_rpc.InjectiveExplorerRPC.GetPeggyDepositTxs:input_type -> injective_explorer_rpc.GetPeggyDepositTxsRequest - 35, // 58: injective_explorer_rpc.InjectiveExplorerRPC.GetPeggyWithdrawalTxs:input_type -> injective_explorer_rpc.GetPeggyWithdrawalTxsRequest - 38, // 59: injective_explorer_rpc.InjectiveExplorerRPC.GetIBCTransferTxs:input_type -> injective_explorer_rpc.GetIBCTransferTxsRequest - 41, // 60: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmCodes:input_type -> injective_explorer_rpc.GetWasmCodesRequest - 46, // 61: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmCodeByID:input_type -> injective_explorer_rpc.GetWasmCodeByIDRequest - 48, // 62: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmContracts:input_type -> injective_explorer_rpc.GetWasmContractsRequest - 55, // 63: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmContractByAddress:input_type -> injective_explorer_rpc.GetWasmContractByAddressRequest - 57, // 64: injective_explorer_rpc.InjectiveExplorerRPC.GetCw20Balance:input_type -> injective_explorer_rpc.GetCw20BalanceRequest - 60, // 65: injective_explorer_rpc.InjectiveExplorerRPC.Relayers:input_type -> injective_explorer_rpc.RelayersRequest - 64, // 66: injective_explorer_rpc.InjectiveExplorerRPC.GetBankTransfers:input_type -> injective_explorer_rpc.GetBankTransfersRequest - 68, // 67: injective_explorer_rpc.InjectiveExplorerRPC.StreamTxs:input_type -> injective_explorer_rpc.StreamTxsRequest - 70, // 68: injective_explorer_rpc.InjectiveExplorerRPC.StreamBlocks:input_type -> injective_explorer_rpc.StreamBlocksRequest - 1, // 69: injective_explorer_rpc.InjectiveExplorerRPC.GetAccountTxs:output_type -> injective_explorer_rpc.GetAccountTxsResponse - 9, // 70: injective_explorer_rpc.InjectiveExplorerRPC.GetContractTxs:output_type -> injective_explorer_rpc.GetContractTxsResponse - 11, // 71: injective_explorer_rpc.InjectiveExplorerRPC.GetBlocks:output_type -> injective_explorer_rpc.GetBlocksResponse - 15, // 72: injective_explorer_rpc.InjectiveExplorerRPC.GetBlock:output_type -> injective_explorer_rpc.GetBlockResponse - 19, // 73: injective_explorer_rpc.InjectiveExplorerRPC.GetValidators:output_type -> injective_explorer_rpc.GetValidatorsResponse - 25, // 74: injective_explorer_rpc.InjectiveExplorerRPC.GetValidator:output_type -> injective_explorer_rpc.GetValidatorResponse - 27, // 75: injective_explorer_rpc.InjectiveExplorerRPC.GetValidatorUptime:output_type -> injective_explorer_rpc.GetValidatorUptimeResponse - 29, // 76: injective_explorer_rpc.InjectiveExplorerRPC.GetTxs:output_type -> injective_explorer_rpc.GetTxsResponse - 31, // 77: injective_explorer_rpc.InjectiveExplorerRPC.GetTxByTxHash:output_type -> injective_explorer_rpc.GetTxByTxHashResponse - 33, // 78: injective_explorer_rpc.InjectiveExplorerRPC.GetPeggyDepositTxs:output_type -> injective_explorer_rpc.GetPeggyDepositTxsResponse - 36, // 79: injective_explorer_rpc.InjectiveExplorerRPC.GetPeggyWithdrawalTxs:output_type -> injective_explorer_rpc.GetPeggyWithdrawalTxsResponse - 39, // 80: injective_explorer_rpc.InjectiveExplorerRPC.GetIBCTransferTxs:output_type -> injective_explorer_rpc.GetIBCTransferTxsResponse - 42, // 81: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmCodes:output_type -> injective_explorer_rpc.GetWasmCodesResponse - 47, // 82: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmCodeByID:output_type -> injective_explorer_rpc.GetWasmCodeByIDResponse - 49, // 83: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmContracts:output_type -> injective_explorer_rpc.GetWasmContractsResponse - 56, // 84: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmContractByAddress:output_type -> injective_explorer_rpc.GetWasmContractByAddressResponse - 58, // 85: injective_explorer_rpc.InjectiveExplorerRPC.GetCw20Balance:output_type -> injective_explorer_rpc.GetCw20BalanceResponse - 61, // 86: injective_explorer_rpc.InjectiveExplorerRPC.Relayers:output_type -> injective_explorer_rpc.RelayersResponse - 65, // 87: injective_explorer_rpc.InjectiveExplorerRPC.GetBankTransfers:output_type -> injective_explorer_rpc.GetBankTransfersResponse - 69, // 88: injective_explorer_rpc.InjectiveExplorerRPC.StreamTxs:output_type -> injective_explorer_rpc.StreamTxsResponse - 71, // 89: injective_explorer_rpc.InjectiveExplorerRPC.StreamBlocks:output_type -> injective_explorer_rpc.StreamBlocksResponse - 69, // [69:90] is the sub-list for method output_type - 48, // [48:69] is the sub-list for method input_type - 48, // [48:48] is the sub-list for extension type_name - 48, // [48:48] is the sub-list for extension extendee - 0, // [0:48] is the sub-list for field type_name -} - -func init() { file_injective_explorer_rpc_proto_init() } -func file_injective_explorer_rpc_proto_init() { - if File_injective_explorer_rpc_proto != nil { + 3, // 9: injective_explorer_rpc.GetContractTxsV2Response.data:type_name -> injective_explorer_rpc.TxDetailData + 2, // 10: injective_explorer_rpc.GetBlocksResponse.paging:type_name -> injective_explorer_rpc.Paging + 14, // 11: injective_explorer_rpc.GetBlocksResponse.data:type_name -> injective_explorer_rpc.BlockInfo + 15, // 12: injective_explorer_rpc.BlockInfo.txs:type_name -> injective_explorer_rpc.TxDataRPC + 18, // 13: injective_explorer_rpc.GetBlockResponse.data:type_name -> injective_explorer_rpc.BlockDetailInfo + 19, // 14: injective_explorer_rpc.BlockDetailInfo.txs:type_name -> injective_explorer_rpc.TxData + 22, // 15: injective_explorer_rpc.GetValidatorsResponse.data:type_name -> injective_explorer_rpc.Validator + 23, // 16: injective_explorer_rpc.Validator.description:type_name -> injective_explorer_rpc.ValidatorDescription + 24, // 17: injective_explorer_rpc.Validator.uptimes:type_name -> injective_explorer_rpc.ValidatorUptime + 25, // 18: injective_explorer_rpc.Validator.slashing_events:type_name -> injective_explorer_rpc.SlashingEvent + 22, // 19: injective_explorer_rpc.GetValidatorResponse.data:type_name -> injective_explorer_rpc.Validator + 24, // 20: injective_explorer_rpc.GetValidatorUptimeResponse.data:type_name -> injective_explorer_rpc.ValidatorUptime + 2, // 21: injective_explorer_rpc.GetTxsResponse.paging:type_name -> injective_explorer_rpc.Paging + 19, // 22: injective_explorer_rpc.GetTxsResponse.data:type_name -> injective_explorer_rpc.TxData + 3, // 23: injective_explorer_rpc.GetTxByTxHashResponse.data:type_name -> injective_explorer_rpc.TxDetailData + 36, // 24: injective_explorer_rpc.GetPeggyDepositTxsResponse.field:type_name -> injective_explorer_rpc.PeggyDepositTx + 39, // 25: injective_explorer_rpc.GetPeggyWithdrawalTxsResponse.field:type_name -> injective_explorer_rpc.PeggyWithdrawalTx + 42, // 26: injective_explorer_rpc.GetIBCTransferTxsResponse.field:type_name -> injective_explorer_rpc.IBCTransferTx + 2, // 27: injective_explorer_rpc.GetWasmCodesResponse.paging:type_name -> injective_explorer_rpc.Paging + 45, // 28: injective_explorer_rpc.GetWasmCodesResponse.data:type_name -> injective_explorer_rpc.WasmCode + 46, // 29: injective_explorer_rpc.WasmCode.checksum:type_name -> injective_explorer_rpc.Checksum + 47, // 30: injective_explorer_rpc.WasmCode.permission:type_name -> injective_explorer_rpc.ContractPermission + 46, // 31: injective_explorer_rpc.GetWasmCodeByIDResponse.checksum:type_name -> injective_explorer_rpc.Checksum + 47, // 32: injective_explorer_rpc.GetWasmCodeByIDResponse.permission:type_name -> injective_explorer_rpc.ContractPermission + 2, // 33: injective_explorer_rpc.GetWasmContractsResponse.paging:type_name -> injective_explorer_rpc.Paging + 52, // 34: injective_explorer_rpc.GetWasmContractsResponse.data:type_name -> injective_explorer_rpc.WasmContract + 53, // 35: injective_explorer_rpc.WasmContract.funds:type_name -> injective_explorer_rpc.ContractFund + 54, // 36: injective_explorer_rpc.WasmContract.cw20_metadata:type_name -> injective_explorer_rpc.Cw20Metadata + 55, // 37: injective_explorer_rpc.Cw20Metadata.token_info:type_name -> injective_explorer_rpc.Cw20TokenInfo + 56, // 38: injective_explorer_rpc.Cw20Metadata.marketing_info:type_name -> injective_explorer_rpc.Cw20MarketingInfo + 53, // 39: injective_explorer_rpc.GetWasmContractByAddressResponse.funds:type_name -> injective_explorer_rpc.ContractFund + 54, // 40: injective_explorer_rpc.GetWasmContractByAddressResponse.cw20_metadata:type_name -> injective_explorer_rpc.Cw20Metadata + 61, // 41: injective_explorer_rpc.GetCw20BalanceResponse.field:type_name -> injective_explorer_rpc.WasmCw20Balance + 54, // 42: injective_explorer_rpc.WasmCw20Balance.cw20_metadata:type_name -> injective_explorer_rpc.Cw20Metadata + 64, // 43: injective_explorer_rpc.RelayersResponse.field:type_name -> injective_explorer_rpc.RelayerMarkets + 65, // 44: injective_explorer_rpc.RelayerMarkets.relayers:type_name -> injective_explorer_rpc.Relayer + 2, // 45: injective_explorer_rpc.GetBankTransfersResponse.paging:type_name -> injective_explorer_rpc.Paging + 68, // 46: injective_explorer_rpc.GetBankTransfersResponse.data:type_name -> injective_explorer_rpc.BankTransfer + 69, // 47: injective_explorer_rpc.BankTransfer.amounts:type_name -> injective_explorer_rpc.Coin + 15, // 48: injective_explorer_rpc.StreamBlocksResponse.txs:type_name -> injective_explorer_rpc.TxDataRPC + 0, // 49: injective_explorer_rpc.InjectiveExplorerRPC.GetAccountTxs:input_type -> injective_explorer_rpc.GetAccountTxsRequest + 8, // 50: injective_explorer_rpc.InjectiveExplorerRPC.GetContractTxs:input_type -> injective_explorer_rpc.GetContractTxsRequest + 10, // 51: injective_explorer_rpc.InjectiveExplorerRPC.GetContractTxsV2:input_type -> injective_explorer_rpc.GetContractTxsV2Request + 12, // 52: injective_explorer_rpc.InjectiveExplorerRPC.GetBlocks:input_type -> injective_explorer_rpc.GetBlocksRequest + 16, // 53: injective_explorer_rpc.InjectiveExplorerRPC.GetBlock:input_type -> injective_explorer_rpc.GetBlockRequest + 20, // 54: injective_explorer_rpc.InjectiveExplorerRPC.GetValidators:input_type -> injective_explorer_rpc.GetValidatorsRequest + 26, // 55: injective_explorer_rpc.InjectiveExplorerRPC.GetValidator:input_type -> injective_explorer_rpc.GetValidatorRequest + 28, // 56: injective_explorer_rpc.InjectiveExplorerRPC.GetValidatorUptime:input_type -> injective_explorer_rpc.GetValidatorUptimeRequest + 30, // 57: injective_explorer_rpc.InjectiveExplorerRPC.GetTxs:input_type -> injective_explorer_rpc.GetTxsRequest + 32, // 58: injective_explorer_rpc.InjectiveExplorerRPC.GetTxByTxHash:input_type -> injective_explorer_rpc.GetTxByTxHashRequest + 34, // 59: injective_explorer_rpc.InjectiveExplorerRPC.GetPeggyDepositTxs:input_type -> injective_explorer_rpc.GetPeggyDepositTxsRequest + 37, // 60: injective_explorer_rpc.InjectiveExplorerRPC.GetPeggyWithdrawalTxs:input_type -> injective_explorer_rpc.GetPeggyWithdrawalTxsRequest + 40, // 61: injective_explorer_rpc.InjectiveExplorerRPC.GetIBCTransferTxs:input_type -> injective_explorer_rpc.GetIBCTransferTxsRequest + 43, // 62: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmCodes:input_type -> injective_explorer_rpc.GetWasmCodesRequest + 48, // 63: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmCodeByID:input_type -> injective_explorer_rpc.GetWasmCodeByIDRequest + 50, // 64: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmContracts:input_type -> injective_explorer_rpc.GetWasmContractsRequest + 57, // 65: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmContractByAddress:input_type -> injective_explorer_rpc.GetWasmContractByAddressRequest + 59, // 66: injective_explorer_rpc.InjectiveExplorerRPC.GetCw20Balance:input_type -> injective_explorer_rpc.GetCw20BalanceRequest + 62, // 67: injective_explorer_rpc.InjectiveExplorerRPC.Relayers:input_type -> injective_explorer_rpc.RelayersRequest + 66, // 68: injective_explorer_rpc.InjectiveExplorerRPC.GetBankTransfers:input_type -> injective_explorer_rpc.GetBankTransfersRequest + 70, // 69: injective_explorer_rpc.InjectiveExplorerRPC.StreamTxs:input_type -> injective_explorer_rpc.StreamTxsRequest + 72, // 70: injective_explorer_rpc.InjectiveExplorerRPC.StreamBlocks:input_type -> injective_explorer_rpc.StreamBlocksRequest + 1, // 71: injective_explorer_rpc.InjectiveExplorerRPC.GetAccountTxs:output_type -> injective_explorer_rpc.GetAccountTxsResponse + 9, // 72: injective_explorer_rpc.InjectiveExplorerRPC.GetContractTxs:output_type -> injective_explorer_rpc.GetContractTxsResponse + 11, // 73: injective_explorer_rpc.InjectiveExplorerRPC.GetContractTxsV2:output_type -> injective_explorer_rpc.GetContractTxsV2Response + 13, // 74: injective_explorer_rpc.InjectiveExplorerRPC.GetBlocks:output_type -> injective_explorer_rpc.GetBlocksResponse + 17, // 75: injective_explorer_rpc.InjectiveExplorerRPC.GetBlock:output_type -> injective_explorer_rpc.GetBlockResponse + 21, // 76: injective_explorer_rpc.InjectiveExplorerRPC.GetValidators:output_type -> injective_explorer_rpc.GetValidatorsResponse + 27, // 77: injective_explorer_rpc.InjectiveExplorerRPC.GetValidator:output_type -> injective_explorer_rpc.GetValidatorResponse + 29, // 78: injective_explorer_rpc.InjectiveExplorerRPC.GetValidatorUptime:output_type -> injective_explorer_rpc.GetValidatorUptimeResponse + 31, // 79: injective_explorer_rpc.InjectiveExplorerRPC.GetTxs:output_type -> injective_explorer_rpc.GetTxsResponse + 33, // 80: injective_explorer_rpc.InjectiveExplorerRPC.GetTxByTxHash:output_type -> injective_explorer_rpc.GetTxByTxHashResponse + 35, // 81: injective_explorer_rpc.InjectiveExplorerRPC.GetPeggyDepositTxs:output_type -> injective_explorer_rpc.GetPeggyDepositTxsResponse + 38, // 82: injective_explorer_rpc.InjectiveExplorerRPC.GetPeggyWithdrawalTxs:output_type -> injective_explorer_rpc.GetPeggyWithdrawalTxsResponse + 41, // 83: injective_explorer_rpc.InjectiveExplorerRPC.GetIBCTransferTxs:output_type -> injective_explorer_rpc.GetIBCTransferTxsResponse + 44, // 84: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmCodes:output_type -> injective_explorer_rpc.GetWasmCodesResponse + 49, // 85: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmCodeByID:output_type -> injective_explorer_rpc.GetWasmCodeByIDResponse + 51, // 86: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmContracts:output_type -> injective_explorer_rpc.GetWasmContractsResponse + 58, // 87: injective_explorer_rpc.InjectiveExplorerRPC.GetWasmContractByAddress:output_type -> injective_explorer_rpc.GetWasmContractByAddressResponse + 60, // 88: injective_explorer_rpc.InjectiveExplorerRPC.GetCw20Balance:output_type -> injective_explorer_rpc.GetCw20BalanceResponse + 63, // 89: injective_explorer_rpc.InjectiveExplorerRPC.Relayers:output_type -> injective_explorer_rpc.RelayersResponse + 67, // 90: injective_explorer_rpc.InjectiveExplorerRPC.GetBankTransfers:output_type -> injective_explorer_rpc.GetBankTransfersResponse + 71, // 91: injective_explorer_rpc.InjectiveExplorerRPC.StreamTxs:output_type -> injective_explorer_rpc.StreamTxsResponse + 73, // 92: injective_explorer_rpc.InjectiveExplorerRPC.StreamBlocks:output_type -> injective_explorer_rpc.StreamBlocksResponse + 71, // [71:93] is the sub-list for method output_type + 49, // [49:71] is the sub-list for method input_type + 49, // [49:49] is the sub-list for extension type_name + 49, // [49:49] is the sub-list for extension extendee + 0, // [0:49] is the sub-list for field type_name +} + +func init() { file_goadesign_goagen_injective_explorer_rpc_proto_init() } +func file_goadesign_goagen_injective_explorer_rpc_proto_init() { + if File_goadesign_goagen_injective_explorer_rpc_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_injective_explorer_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAccountTxsRequest); i { case 0: return &v.state @@ -7336,7 +7534,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAccountTxsResponse); i { case 0: return &v.state @@ -7348,7 +7546,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Paging); i { case 0: return &v.state @@ -7360,7 +7558,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TxDetailData); i { case 0: return &v.state @@ -7372,7 +7570,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GasFee); i { case 0: return &v.state @@ -7384,7 +7582,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CosmosCoin); i { case 0: return &v.state @@ -7396,7 +7594,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Event); i { case 0: return &v.state @@ -7408,7 +7606,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Signature); i { case 0: return &v.state @@ -7420,7 +7618,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetContractTxsRequest); i { case 0: return &v.state @@ -7432,7 +7630,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetContractTxsResponse); i { case 0: return &v.state @@ -7444,7 +7642,31 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetContractTxsV2Request); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetContractTxsV2Response); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBlocksRequest); i { case 0: return &v.state @@ -7456,7 +7678,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBlocksResponse); i { case 0: return &v.state @@ -7468,7 +7690,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BlockInfo); i { case 0: return &v.state @@ -7480,7 +7702,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TxDataRPC); i { case 0: return &v.state @@ -7492,7 +7714,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBlockRequest); i { case 0: return &v.state @@ -7504,7 +7726,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBlockResponse); i { case 0: return &v.state @@ -7516,7 +7738,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BlockDetailInfo); i { case 0: return &v.state @@ -7528,7 +7750,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TxData); i { case 0: return &v.state @@ -7540,7 +7762,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetValidatorsRequest); i { case 0: return &v.state @@ -7552,7 +7774,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetValidatorsResponse); i { case 0: return &v.state @@ -7564,7 +7786,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Validator); i { case 0: return &v.state @@ -7576,7 +7798,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidatorDescription); i { case 0: return &v.state @@ -7588,7 +7810,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidatorUptime); i { case 0: return &v.state @@ -7600,7 +7822,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SlashingEvent); i { case 0: return &v.state @@ -7612,7 +7834,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetValidatorRequest); i { case 0: return &v.state @@ -7624,7 +7846,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetValidatorResponse); i { case 0: return &v.state @@ -7636,7 +7858,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetValidatorUptimeRequest); i { case 0: return &v.state @@ -7648,7 +7870,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetValidatorUptimeResponse); i { case 0: return &v.state @@ -7660,7 +7882,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTxsRequest); i { case 0: return &v.state @@ -7672,7 +7894,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTxsResponse); i { case 0: return &v.state @@ -7684,7 +7906,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTxByTxHashRequest); i { case 0: return &v.state @@ -7696,7 +7918,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTxByTxHashResponse); i { case 0: return &v.state @@ -7708,7 +7930,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetPeggyDepositTxsRequest); i { case 0: return &v.state @@ -7720,7 +7942,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetPeggyDepositTxsResponse); i { case 0: return &v.state @@ -7732,7 +7954,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PeggyDepositTx); i { case 0: return &v.state @@ -7744,7 +7966,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetPeggyWithdrawalTxsRequest); i { case 0: return &v.state @@ -7756,7 +7978,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetPeggyWithdrawalTxsResponse); i { case 0: return &v.state @@ -7768,7 +7990,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PeggyWithdrawalTx); i { case 0: return &v.state @@ -7780,7 +8002,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIBCTransferTxsRequest); i { case 0: return &v.state @@ -7792,7 +8014,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIBCTransferTxsResponse); i { case 0: return &v.state @@ -7804,7 +8026,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IBCTransferTx); i { case 0: return &v.state @@ -7816,7 +8038,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWasmCodesRequest); i { case 0: return &v.state @@ -7828,7 +8050,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWasmCodesResponse); i { case 0: return &v.state @@ -7840,7 +8062,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WasmCode); i { case 0: return &v.state @@ -7852,7 +8074,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Checksum); i { case 0: return &v.state @@ -7864,7 +8086,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContractPermission); i { case 0: return &v.state @@ -7876,7 +8098,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWasmCodeByIDRequest); i { case 0: return &v.state @@ -7888,7 +8110,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWasmCodeByIDResponse); i { case 0: return &v.state @@ -7900,7 +8122,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWasmContractsRequest); i { case 0: return &v.state @@ -7912,7 +8134,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWasmContractsResponse); i { case 0: return &v.state @@ -7924,7 +8146,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WasmContract); i { case 0: return &v.state @@ -7936,7 +8158,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContractFund); i { case 0: return &v.state @@ -7948,7 +8170,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cw20Metadata); i { case 0: return &v.state @@ -7960,7 +8182,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cw20TokenInfo); i { case 0: return &v.state @@ -7972,7 +8194,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cw20MarketingInfo); i { case 0: return &v.state @@ -7984,7 +8206,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWasmContractByAddressRequest); i { case 0: return &v.state @@ -7996,7 +8218,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWasmContractByAddressResponse); i { case 0: return &v.state @@ -8008,7 +8230,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetCw20BalanceRequest); i { case 0: return &v.state @@ -8020,7 +8242,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetCw20BalanceResponse); i { case 0: return &v.state @@ -8032,7 +8254,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WasmCw20Balance); i { case 0: return &v.state @@ -8044,7 +8266,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RelayersRequest); i { case 0: return &v.state @@ -8056,7 +8278,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RelayersResponse); i { case 0: return &v.state @@ -8068,7 +8290,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RelayerMarkets); i { case 0: return &v.state @@ -8080,7 +8302,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Relayer); i { case 0: return &v.state @@ -8092,7 +8314,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBankTransfersRequest); i { case 0: return &v.state @@ -8104,7 +8326,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBankTransfersResponse); i { case 0: return &v.state @@ -8116,7 +8338,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BankTransfer); i { case 0: return &v.state @@ -8128,7 +8350,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Coin); i { case 0: return &v.state @@ -8140,7 +8362,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTxsRequest); i { case 0: return &v.state @@ -8152,7 +8374,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTxsResponse); i { case 0: return &v.state @@ -8164,7 +8386,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamBlocksRequest); i { case 0: return &v.state @@ -8176,7 +8398,7 @@ func file_injective_explorer_rpc_proto_init() { return nil } } - file_injective_explorer_rpc_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamBlocksResponse); i { case 0: return &v.state @@ -8193,18 +8415,18 @@ func file_injective_explorer_rpc_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_explorer_rpc_proto_rawDesc, + RawDescriptor: file_goadesign_goagen_injective_explorer_rpc_proto_rawDesc, NumEnums: 0, - NumMessages: 73, + NumMessages: 75, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_injective_explorer_rpc_proto_goTypes, - DependencyIndexes: file_injective_explorer_rpc_proto_depIdxs, - MessageInfos: file_injective_explorer_rpc_proto_msgTypes, + GoTypes: file_goadesign_goagen_injective_explorer_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_explorer_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_explorer_rpc_proto_msgTypes, }.Build() - File_injective_explorer_rpc_proto = out.File - file_injective_explorer_rpc_proto_rawDesc = nil - file_injective_explorer_rpc_proto_goTypes = nil - file_injective_explorer_rpc_proto_depIdxs = nil + File_goadesign_goagen_injective_explorer_rpc_proto = out.File + file_goadesign_goagen_injective_explorer_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_explorer_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_explorer_rpc_proto_depIdxs = nil } diff --git a/exchange/explorer_rpc/pb/injective_explorer_rpc.proto b/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc.proto similarity index 97% rename from exchange/explorer_rpc/pb/injective_explorer_rpc.proto rename to exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc.proto index a834b35e..077fc0bc 100644 --- a/exchange/explorer_rpc/pb/injective_explorer_rpc.proto +++ b/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveExplorerRPC protocol buffer definition // @@ -17,6 +17,8 @@ service InjectiveExplorerRPC { rpc GetAccountTxs (GetAccountTxsRequest) returns (GetAccountTxsResponse); // GetContractTxs returns contract-related transactions rpc GetContractTxs (GetContractTxsRequest) returns (GetContractTxsResponse); + // GetContractTxs returns contract-related transactions + rpc GetContractTxsV2 (GetContractTxsV2Request) returns (GetContractTxsV2Response); // GetBlocks returns blocks based upon the request params rpc GetBlocks (GetBlocksRequest) returns (GetBlocksResponse); // GetBlock returns block based upon the height or hash @@ -170,10 +172,33 @@ message GetContractTxsResponse { repeated TxDetailData data = 2; } +message GetContractTxsV2Request { + // Address of contract + string address = 1; + // Height of the block + uint64 height = 2; + // Unix timestamp (UTC) in milliseconds + sint64 from = 3; + // Unix timestamp (UTC) in milliseconds + sint64 to = 4; + sint32 limit = 5; + // Pagination token + string token = 6; +} + +message GetContractTxsV2Response { + repeated string next = 1; + repeated TxDetailData data = 2; +} + message GetBlocksRequest { uint64 before = 1; uint64 after = 2; sint32 limit = 3; + // Unix timestamp (UTC) in milliseconds + uint64 from = 4; + // Unix timestamp (UTC) in milliseconds + uint64 to = 5; } message GetBlocksResponse { diff --git a/exchange/explorer_rpc/pb/injective_explorer_rpc_grpc.pb.go b/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc_grpc.pb.go similarity index 95% rename from exchange/explorer_rpc/pb/injective_explorer_rpc_grpc.pb.go rename to exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc_grpc.pb.go index 86ed6d65..79f668a5 100644 --- a/exchange/explorer_rpc/pb/injective_explorer_rpc_grpc.pb.go +++ b/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_explorer_rpc.proto package injective_explorer_rpcpb @@ -22,6 +26,8 @@ type InjectiveExplorerRPCClient interface { GetAccountTxs(ctx context.Context, in *GetAccountTxsRequest, opts ...grpc.CallOption) (*GetAccountTxsResponse, error) // GetContractTxs returns contract-related transactions GetContractTxs(ctx context.Context, in *GetContractTxsRequest, opts ...grpc.CallOption) (*GetContractTxsResponse, error) + // GetContractTxs returns contract-related transactions + GetContractTxsV2(ctx context.Context, in *GetContractTxsV2Request, opts ...grpc.CallOption) (*GetContractTxsV2Response, error) // GetBlocks returns blocks based upon the request params GetBlocks(ctx context.Context, in *GetBlocksRequest, opts ...grpc.CallOption) (*GetBlocksResponse, error) // GetBlock returns block based upon the height or hash @@ -92,6 +98,15 @@ func (c *injectiveExplorerRPCClient) GetContractTxs(ctx context.Context, in *Get return out, nil } +func (c *injectiveExplorerRPCClient) GetContractTxsV2(ctx context.Context, in *GetContractTxsV2Request, opts ...grpc.CallOption) (*GetContractTxsV2Response, error) { + out := new(GetContractTxsV2Response) + err := c.cc.Invoke(ctx, "/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxsV2", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *injectiveExplorerRPCClient) GetBlocks(ctx context.Context, in *GetBlocksRequest, opts ...grpc.CallOption) (*GetBlocksResponse, error) { out := new(GetBlocksResponse) err := c.cc.Invoke(ctx, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocks", in, out, opts...) @@ -317,6 +332,8 @@ type InjectiveExplorerRPCServer interface { GetAccountTxs(context.Context, *GetAccountTxsRequest) (*GetAccountTxsResponse, error) // GetContractTxs returns contract-related transactions GetContractTxs(context.Context, *GetContractTxsRequest) (*GetContractTxsResponse, error) + // GetContractTxs returns contract-related transactions + GetContractTxsV2(context.Context, *GetContractTxsV2Request) (*GetContractTxsV2Response, error) // GetBlocks returns blocks based upon the request params GetBlocks(context.Context, *GetBlocksRequest) (*GetBlocksResponse, error) // GetBlock returns block based upon the height or hash @@ -372,6 +389,9 @@ func (UnimplementedInjectiveExplorerRPCServer) GetAccountTxs(context.Context, *G func (UnimplementedInjectiveExplorerRPCServer) GetContractTxs(context.Context, *GetContractTxsRequest) (*GetContractTxsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetContractTxs not implemented") } +func (UnimplementedInjectiveExplorerRPCServer) GetContractTxsV2(context.Context, *GetContractTxsV2Request) (*GetContractTxsV2Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetContractTxsV2 not implemented") +} func (UnimplementedInjectiveExplorerRPCServer) GetBlocks(context.Context, *GetBlocksRequest) (*GetBlocksResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetBlocks not implemented") } @@ -478,6 +498,24 @@ func _InjectiveExplorerRPC_GetContractTxs_Handler(srv interface{}, ctx context.C return interceptor(ctx, in, info, handler) } +func _InjectiveExplorerRPC_GetContractTxsV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetContractTxsV2Request) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveExplorerRPCServer).GetContractTxsV2(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxsV2", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveExplorerRPCServer).GetContractTxsV2(ctx, req.(*GetContractTxsV2Request)) + } + return interceptor(ctx, in, info, handler) +} + func _InjectiveExplorerRPC_GetBlocks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetBlocksRequest) if err := dec(in); err != nil { @@ -841,6 +879,10 @@ var InjectiveExplorerRPC_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetContractTxs", Handler: _InjectiveExplorerRPC_GetContractTxs_Handler, }, + { + MethodName: "GetContractTxsV2", + Handler: _InjectiveExplorerRPC_GetContractTxsV2_Handler, + }, { MethodName: "GetBlocks", Handler: _InjectiveExplorerRPC_GetBlocks_Handler, @@ -922,5 +964,5 @@ var InjectiveExplorerRPC_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, }, - Metadata: "injective_explorer_rpc.proto", + Metadata: "goadesign_goagen_injective_explorer_rpc.proto", } diff --git a/exchange/explorer_rpc/pb/injective_explorer_rpc.pb.gw.go b/exchange/explorer_rpc/pb/injective_explorer_rpc.pb.gw.go index 0ffa21a9..06257030 100644 --- a/exchange/explorer_rpc/pb/injective_explorer_rpc.pb.gw.go +++ b/exchange/explorer_rpc/pb/injective_explorer_rpc.pb.gw.go @@ -99,6 +99,40 @@ func local_request_InjectiveExplorerRPC_GetContractTxs_0(ctx context.Context, ma } +func request_InjectiveExplorerRPC_GetContractTxsV2_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveExplorerRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetContractTxsV2Request + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetContractTxsV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveExplorerRPC_GetContractTxsV2_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveExplorerRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetContractTxsV2Request + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetContractTxsV2(ctx, &protoReq) + return msg, metadata, err + +} + func request_InjectiveExplorerRPC_GetBlocks_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveExplorerRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq GetBlocksRequest var metadata runtime.ServerMetadata @@ -739,20 +773,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetAccountTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetAccountTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetAccountTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetAccountTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetAccountTxs_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetAccountTxs_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetAccountTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetAccountTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -762,20 +798,47 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetContractTxs_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetContractTxs_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveExplorerRPC_GetContractTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveExplorerRPC_GetContractTxsV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxsV2", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxsV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } + resp, md, err := local_request_InjectiveExplorerRPC_GetContractTxsV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } - forward_InjectiveExplorerRPC_GetContractTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetContractTxsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -785,20 +848,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocks", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocks")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocks", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocks")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetBlocks_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetBlocks_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetBlocks_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetBlocks_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -808,20 +873,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBlock", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBlock")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBlock", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBlock")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetBlock_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetBlock_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetBlock_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetBlock_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -831,20 +898,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidators", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidators")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidators", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidators")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetValidators_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetValidators_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetValidators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetValidators_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -854,20 +923,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidator", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidator")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidator", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidator")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetValidator_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetValidator_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetValidator_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetValidator_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -877,20 +948,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidatorUptime", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidatorUptime")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidatorUptime", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidatorUptime")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetValidatorUptime_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetValidatorUptime_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetValidatorUptime_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetValidatorUptime_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -900,20 +973,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetTxs_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetTxs_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -923,20 +998,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetTxByTxHash", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetTxByTxHash")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetTxByTxHash", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetTxByTxHash")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetTxByTxHash_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetTxByTxHash_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetTxByTxHash_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetTxByTxHash_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -946,20 +1023,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyDepositTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyDepositTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyDepositTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyDepositTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetPeggyDepositTxs_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetPeggyDepositTxs_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetPeggyDepositTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetPeggyDepositTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -969,20 +1048,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyWithdrawalTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyWithdrawalTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyWithdrawalTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyWithdrawalTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetPeggyWithdrawalTxs_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetPeggyWithdrawalTxs_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetPeggyWithdrawalTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetPeggyWithdrawalTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -992,20 +1073,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetIBCTransferTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetIBCTransferTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetIBCTransferTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetIBCTransferTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetIBCTransferTxs_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetIBCTransferTxs_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetIBCTransferTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetIBCTransferTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1015,20 +1098,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodes", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodes")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodes", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodes")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetWasmCodes_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetWasmCodes_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetWasmCodes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetWasmCodes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1038,20 +1123,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodeByID", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodeByID")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodeByID", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodeByID")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetWasmCodeByID_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetWasmCodeByID_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetWasmCodeByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetWasmCodeByID_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1061,20 +1148,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContracts", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContracts")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContracts", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContracts")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetWasmContracts_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetWasmContracts_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetWasmContracts_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetWasmContracts_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1084,20 +1173,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContractByAddress", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContractByAddress")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContractByAddress", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContractByAddress")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetWasmContractByAddress_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetWasmContractByAddress_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetWasmContractByAddress_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetWasmContractByAddress_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1107,20 +1198,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetCw20Balance", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetCw20Balance")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetCw20Balance", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetCw20Balance")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetCw20Balance_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetCw20Balance_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetCw20Balance_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetCw20Balance_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1130,20 +1223,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/Relayers", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/Relayers")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/Relayers", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/Relayers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_Relayers_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_Relayers_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_Relayers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_Relayers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1153,20 +1248,22 @@ func RegisterInjectiveExplorerRPCHandlerServer(ctx context.Context, mux *runtime var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBankTransfers", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBankTransfers")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBankTransfers", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBankTransfers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveExplorerRPC_GetBankTransfers_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveExplorerRPC_GetBankTransfers_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetBankTransfers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetBankTransfers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1229,19 +1326,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetAccountTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetAccountTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetAccountTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetAccountTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetAccountTxs_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetAccountTxs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetAccountTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetAccountTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1249,19 +1348,43 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetContractTxs_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetContractTxs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveExplorerRPC_GetContractTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveExplorerRPC_GetContractTxsV2_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxsV2", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetContractTxsV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } + resp, md, err := request_InjectiveExplorerRPC_GetContractTxsV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } - forward_InjectiveExplorerRPC_GetContractTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetContractTxsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1269,19 +1392,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocks", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocks")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocks", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBlocks")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetBlocks_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetBlocks_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetBlocks_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetBlocks_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1289,19 +1414,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBlock", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBlock")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBlock", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBlock")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetBlock_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetBlock_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetBlock_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetBlock_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1309,19 +1436,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidators", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidators")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidators", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidators")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetValidators_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetValidators_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetValidators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetValidators_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1329,19 +1458,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidator", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidator")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidator", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidator")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetValidator_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetValidator_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetValidator_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetValidator_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1349,19 +1480,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidatorUptime", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidatorUptime")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetValidatorUptime", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetValidatorUptime")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetValidatorUptime_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetValidatorUptime_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetValidatorUptime_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetValidatorUptime_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1369,19 +1502,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetTxs_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetTxs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1389,19 +1524,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetTxByTxHash", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetTxByTxHash")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetTxByTxHash", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetTxByTxHash")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetTxByTxHash_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetTxByTxHash_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetTxByTxHash_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetTxByTxHash_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1409,19 +1546,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyDepositTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyDepositTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyDepositTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyDepositTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetPeggyDepositTxs_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetPeggyDepositTxs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetPeggyDepositTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetPeggyDepositTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1429,19 +1568,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyWithdrawalTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyWithdrawalTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyWithdrawalTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetPeggyWithdrawalTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetPeggyWithdrawalTxs_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetPeggyWithdrawalTxs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetPeggyWithdrawalTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetPeggyWithdrawalTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1449,19 +1590,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetIBCTransferTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetIBCTransferTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetIBCTransferTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetIBCTransferTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetIBCTransferTxs_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetIBCTransferTxs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetIBCTransferTxs_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetIBCTransferTxs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1469,19 +1612,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodes", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodes")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodes", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodes")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetWasmCodes_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetWasmCodes_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetWasmCodes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetWasmCodes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1489,19 +1634,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodeByID", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodeByID")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodeByID", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmCodeByID")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetWasmCodeByID_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetWasmCodeByID_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetWasmCodeByID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetWasmCodeByID_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1509,19 +1656,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContracts", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContracts")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContracts", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContracts")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetWasmContracts_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetWasmContracts_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetWasmContracts_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetWasmContracts_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1529,19 +1678,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContractByAddress", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContractByAddress")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContractByAddress", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetWasmContractByAddress")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetWasmContractByAddress_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetWasmContractByAddress_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetWasmContractByAddress_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetWasmContractByAddress_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1549,19 +1700,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetCw20Balance", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetCw20Balance")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetCw20Balance", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetCw20Balance")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetCw20Balance_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetCw20Balance_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetCw20Balance_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetCw20Balance_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1569,19 +1722,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/Relayers", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/Relayers")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/Relayers", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/Relayers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_Relayers_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_Relayers_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_Relayers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_Relayers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1589,19 +1744,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBankTransfers", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBankTransfers")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/GetBankTransfers", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/GetBankTransfers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_GetBankTransfers_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_GetBankTransfers_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_GetBankTransfers_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_GetBankTransfers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1609,19 +1766,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/StreamTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/StreamTxs")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/StreamTxs", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/StreamTxs")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_StreamTxs_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_StreamTxs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_StreamTxs_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_StreamTxs_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1629,19 +1788,21 @@ func RegisterInjectiveExplorerRPCHandlerClient(ctx context.Context, mux *runtime ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/StreamBlocks", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/StreamBlocks")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_explorer_rpc.InjectiveExplorerRPC/StreamBlocks", runtime.WithHTTPPathPattern("/injective_explorer_rpc.InjectiveExplorerRPC/StreamBlocks")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveExplorerRPC_StreamBlocks_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveExplorerRPC_StreamBlocks_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveExplorerRPC_StreamBlocks_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveExplorerRPC_StreamBlocks_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1653,6 +1814,8 @@ var ( pattern_InjectiveExplorerRPC_GetContractTxs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_explorer_rpc.InjectiveExplorerRPC", "GetContractTxs"}, "")) + pattern_InjectiveExplorerRPC_GetContractTxsV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_explorer_rpc.InjectiveExplorerRPC", "GetContractTxsV2"}, "")) + pattern_InjectiveExplorerRPC_GetBlocks_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_explorer_rpc.InjectiveExplorerRPC", "GetBlocks"}, "")) pattern_InjectiveExplorerRPC_GetBlock_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_explorer_rpc.InjectiveExplorerRPC", "GetBlock"}, "")) @@ -1697,6 +1860,8 @@ var ( forward_InjectiveExplorerRPC_GetContractTxs_0 = runtime.ForwardResponseMessage + forward_InjectiveExplorerRPC_GetContractTxsV2_0 = runtime.ForwardResponseMessage + forward_InjectiveExplorerRPC_GetBlocks_0 = runtime.ForwardResponseMessage forward_InjectiveExplorerRPC_GetBlock_0 = runtime.ForwardResponseMessage diff --git a/exchange/health_rpc/pb/goadesign_goagen_health.pb.go b/exchange/health_rpc/pb/goadesign_goagen_health.pb.go new file mode 100644 index 00000000..b7680d05 --- /dev/null +++ b/exchange/health_rpc/pb/goadesign_goagen_health.pb.go @@ -0,0 +1,341 @@ +// Code generated with goa v3.7.0, DO NOT EDIT. +// +// health protocol buffer definition +// +// Command: +// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc v4.25.3 +// source: goadesign_goagen_health.proto + +package api_v1pb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type GetStatusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GetStatusRequest) Reset() { + *x = GetStatusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_health_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetStatusRequest) ProtoMessage() {} + +func (x *GetStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_health_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetStatusRequest.ProtoReflect.Descriptor instead. +func (*GetStatusRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_health_proto_rawDescGZIP(), []int{0} +} + +type GetStatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Status of the response. + S string `protobuf:"bytes,1,opt,name=s,proto3" json:"s,omitempty"` + // Error message. + Errmsg string `protobuf:"bytes,2,opt,name=errmsg,proto3" json:"errmsg,omitempty"` + Data *HealthStatus `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` + Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *GetStatusResponse) Reset() { + *x = GetStatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_health_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetStatusResponse) ProtoMessage() {} + +func (x *GetStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_health_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetStatusResponse.ProtoReflect.Descriptor instead. +func (*GetStatusResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_health_proto_rawDescGZIP(), []int{1} +} + +func (x *GetStatusResponse) GetS() string { + if x != nil { + return x.S + } + return "" +} + +func (x *GetStatusResponse) GetErrmsg() string { + if x != nil { + return x.Errmsg + } + return "" +} + +func (x *GetStatusResponse) GetData() *HealthStatus { + if x != nil { + return x.Data + } + return nil +} + +func (x *GetStatusResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +// Status defines the structure for health information +type HealthStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Block height from local mongo exchange db. + LocalHeight int32 `protobuf:"zigzag32,1,opt,name=local_height,json=localHeight,proto3" json:"local_height,omitempty"` + // block timestamp from local mongo exchange db. + LocalTimestamp int32 `protobuf:"zigzag32,2,opt,name=local_timestamp,json=localTimestamp,proto3" json:"local_timestamp,omitempty"` + // block height from Horacle service. + HoracleHeight int32 `protobuf:"zigzag32,3,opt,name=horacle_height,json=horacleHeight,proto3" json:"horacle_height,omitempty"` + // block timestamp from Horacle service. + HoracleTimestamp int32 `protobuf:"zigzag32,4,opt,name=horacle_timestamp,json=horacleTimestamp,proto3" json:"horacle_timestamp,omitempty"` +} + +func (x *HealthStatus) Reset() { + *x = HealthStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_health_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HealthStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HealthStatus) ProtoMessage() {} + +func (x *HealthStatus) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_health_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HealthStatus.ProtoReflect.Descriptor instead. +func (*HealthStatus) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_health_proto_rawDescGZIP(), []int{2} +} + +func (x *HealthStatus) GetLocalHeight() int32 { + if x != nil { + return x.LocalHeight + } + return 0 +} + +func (x *HealthStatus) GetLocalTimestamp() int32 { + if x != nil { + return x.LocalTimestamp + } + return 0 +} + +func (x *HealthStatus) GetHoracleHeight() int32 { + if x != nil { + return x.HoracleHeight + } + return 0 +} + +func (x *HealthStatus) GetHoracleTimestamp() int32 { + if x != nil { + return x.HoracleTimestamp + } + return 0 +} + +var File_goadesign_goagen_health_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_health_proto_rawDesc = []byte{ + 0x0a, 0x1d, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x06, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x22, 0x12, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x7b, 0x0a, 0x11, 0x47, + 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 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, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xae, 0x01, 0x0a, 0x0c, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, + 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x27, 0x0a, 0x0f, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x68, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, + 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0d, 0x68, + 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2b, 0x0a, 0x11, + 0x68, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x10, 0x68, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x32, 0x4a, 0x0a, 0x06, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x12, 0x40, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0b, 0x5a, 0x09, 0x2f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_goadesign_goagen_health_proto_rawDescOnce sync.Once + file_goadesign_goagen_health_proto_rawDescData = file_goadesign_goagen_health_proto_rawDesc +) + +func file_goadesign_goagen_health_proto_rawDescGZIP() []byte { + file_goadesign_goagen_health_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_health_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_health_proto_rawDescData) + }) + return file_goadesign_goagen_health_proto_rawDescData +} + +var file_goadesign_goagen_health_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_goadesign_goagen_health_proto_goTypes = []interface{}{ + (*GetStatusRequest)(nil), // 0: api.v1.GetStatusRequest + (*GetStatusResponse)(nil), // 1: api.v1.GetStatusResponse + (*HealthStatus)(nil), // 2: api.v1.HealthStatus +} +var file_goadesign_goagen_health_proto_depIdxs = []int32{ + 2, // 0: api.v1.GetStatusResponse.data:type_name -> api.v1.HealthStatus + 0, // 1: api.v1.Health.GetStatus:input_type -> api.v1.GetStatusRequest + 1, // 2: api.v1.Health.GetStatus:output_type -> api.v1.GetStatusResponse + 2, // [2:3] is the sub-list for method output_type + 1, // [1:2] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_goadesign_goagen_health_proto_init() } +func file_goadesign_goagen_health_proto_init() { + if File_goadesign_goagen_health_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_goadesign_goagen_health_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetStatusRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_health_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetStatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_health_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HealthStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_goadesign_goagen_health_proto_rawDesc, + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_goadesign_goagen_health_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_health_proto_depIdxs, + MessageInfos: file_goadesign_goagen_health_proto_msgTypes, + }.Build() + File_goadesign_goagen_health_proto = out.File + file_goadesign_goagen_health_proto_rawDesc = nil + file_goadesign_goagen_health_proto_goTypes = nil + file_goadesign_goagen_health_proto_depIdxs = nil +} diff --git a/exchange/health_rpc/pb/goadesign_goagen_health.proto b/exchange/health_rpc/pb/goadesign_goagen_health.proto new file mode 100644 index 00000000..0d503603 --- /dev/null +++ b/exchange/health_rpc/pb/goadesign_goagen_health.proto @@ -0,0 +1,41 @@ +// Code generated with goa v3.7.0, DO NOT EDIT. +// +// health protocol buffer definition +// +// Command: +// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ + +syntax = "proto3"; + +package api.v1; + +option go_package = "/api.v1pb"; + +// HealthAPI allows to check if backend data is up-to-date and reliable or not. +service Health { + // Get current backend health status + rpc GetStatus (GetStatusRequest) returns (GetStatusResponse); +} + +message GetStatusRequest { +} + +message GetStatusResponse { + // Status of the response. + string s = 1; + // Error message. + string errmsg = 2; + HealthStatus data = 3; + string status = 4; +} +// Status defines the structure for health information +message HealthStatus { + // Block height from local mongo exchange db. + sint32 local_height = 1; + // block timestamp from local mongo exchange db. + sint32 local_timestamp = 2; + // block height from Horacle service. + sint32 horacle_height = 3; + // block timestamp from Horacle service. + sint32 horacle_timestamp = 4; +} diff --git a/exchange/health_rpc/pb/goadesign_goagen_health_grpc.pb.go b/exchange/health_rpc/pb/goadesign_goagen_health_grpc.pb.go new file mode 100644 index 00000000..f456f4f5 --- /dev/null +++ b/exchange/health_rpc/pb/goadesign_goagen_health_grpc.pb.go @@ -0,0 +1,107 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_health.proto + +package api_v1pb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// HealthClient is the client API for Health service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type HealthClient interface { + // Get current backend health status + GetStatus(ctx context.Context, in *GetStatusRequest, opts ...grpc.CallOption) (*GetStatusResponse, error) +} + +type healthClient struct { + cc grpc.ClientConnInterface +} + +func NewHealthClient(cc grpc.ClientConnInterface) HealthClient { + return &healthClient{cc} +} + +func (c *healthClient) GetStatus(ctx context.Context, in *GetStatusRequest, opts ...grpc.CallOption) (*GetStatusResponse, error) { + out := new(GetStatusResponse) + err := c.cc.Invoke(ctx, "/api.v1.Health/GetStatus", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// HealthServer is the server API for Health service. +// All implementations must embed UnimplementedHealthServer +// for forward compatibility +type HealthServer interface { + // Get current backend health status + GetStatus(context.Context, *GetStatusRequest) (*GetStatusResponse, error) + mustEmbedUnimplementedHealthServer() +} + +// UnimplementedHealthServer must be embedded to have forward compatible implementations. +type UnimplementedHealthServer struct { +} + +func (UnimplementedHealthServer) GetStatus(context.Context, *GetStatusRequest) (*GetStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetStatus not implemented") +} +func (UnimplementedHealthServer) mustEmbedUnimplementedHealthServer() {} + +// UnsafeHealthServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to HealthServer will +// result in compilation errors. +type UnsafeHealthServer interface { + mustEmbedUnimplementedHealthServer() +} + +func RegisterHealthServer(s grpc.ServiceRegistrar, srv HealthServer) { + s.RegisterService(&Health_ServiceDesc, srv) +} + +func _Health_GetStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(HealthServer).GetStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/api.v1.Health/GetStatus", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(HealthServer).GetStatus(ctx, req.(*GetStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// Health_ServiceDesc is the grpc.ServiceDesc for Health service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Health_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "api.v1.Health", + HandlerType: (*HealthServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetStatus", + Handler: _Health_GetStatus_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "goadesign_goagen_health.proto", +} diff --git a/exchange/health_rpc/pb/health.pb.gw.go b/exchange/health_rpc/pb/health.pb.gw.go new file mode 100644 index 00000000..e52ca0e3 --- /dev/null +++ b/exchange/health_rpc/pb/health.pb.gw.go @@ -0,0 +1,171 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: health.proto + +/* +Package api_v1pb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package api_v1pb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_Health_GetStatus_0(ctx context.Context, marshaler runtime.Marshaler, client HealthClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetStatusRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Health_GetStatus_0(ctx context.Context, marshaler runtime.Marshaler, server HealthServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetStatusRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetStatus(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterHealthHandlerServer registers the http handlers for service Health to "mux". +// UnaryRPC :call HealthServer 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 to stop working. Consider using RegisterHealthHandlerFromEndpoint instead. +func RegisterHealthHandlerServer(ctx context.Context, mux *runtime.ServeMux, server HealthServer) error { + + mux.Handle("POST", pattern_Health_GetStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/api.v1.Health/GetStatus", runtime.WithHTTPPathPattern("/api.v1.Health/GetStatus")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Health_GetStatus_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Health_GetStatus_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterHealthHandlerFromEndpoint is same as RegisterHealthHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterHealthHandlerFromEndpoint(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 RegisterHealthHandler(ctx, mux, conn) +} + +// RegisterHealthHandler registers the http handlers for service Health to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterHealthHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterHealthHandlerClient(ctx, mux, NewHealthClient(conn)) +} + +// RegisterHealthHandlerClient registers the http handlers for service Health +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "HealthClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "HealthClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "HealthClient" to call the correct interceptors. +func RegisterHealthHandlerClient(ctx context.Context, mux *runtime.ServeMux, client HealthClient) error { + + mux.Handle("POST", pattern_Health_GetStatus_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/api.v1.Health/GetStatus", runtime.WithHTTPPathPattern("/api.v1.Health/GetStatus")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Health_GetStatus_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Health_GetStatus_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_Health_GetStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api.v1.Health", "GetStatus"}, "")) +) + +var ( + forward_Health_GetStatus_0 = runtime.ForwardResponseMessage +) diff --git a/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.pb.go b/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.pb.go new file mode 100644 index 00000000..3759dbcd --- /dev/null +++ b/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.pb.go @@ -0,0 +1,993 @@ +// Code generated with goa v3.7.0, DO NOT EDIT. +// +// InjectiveInsuranceRPC protocol buffer definition +// +// Command: +// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc v4.25.3 +// source: goadesign_goagen_injective_insurance_rpc.proto + +package injective_insurance_rpcpb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type FundsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *FundsRequest) Reset() { + *x = FundsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundsRequest) ProtoMessage() {} + +func (x *FundsRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FundsRequest.ProtoReflect.Descriptor instead. +func (*FundsRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP(), []int{0} +} + +type FundsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Funds []*InsuranceFund `protobuf:"bytes,1,rep,name=funds,proto3" json:"funds,omitempty"` +} + +func (x *FundsResponse) Reset() { + *x = FundsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundsResponse) ProtoMessage() {} + +func (x *FundsResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FundsResponse.ProtoReflect.Descriptor instead. +func (*FundsResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP(), []int{1} +} + +func (x *FundsResponse) GetFunds() []*InsuranceFund { + if x != nil { + return x.Funds + } + return nil +} + +type InsuranceFund struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Ticker of the derivative market. + MarketTicker string `protobuf:"bytes,1,opt,name=market_ticker,json=marketTicker,proto3" json:"market_ticker,omitempty"` + // Derivative Market ID + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // Coin denom used for the underwriting of the insurance fund. + DepositDenom string `protobuf:"bytes,3,opt,name=deposit_denom,json=depositDenom,proto3" json:"deposit_denom,omitempty"` + // Pool token denom + PoolTokenDenom string `protobuf:"bytes,4,opt,name=pool_token_denom,json=poolTokenDenom,proto3" json:"pool_token_denom,omitempty"` + // Redemption notice period duration in seconds. + RedemptionNoticePeriodDuration int64 `protobuf:"zigzag64,5,opt,name=redemption_notice_period_duration,json=redemptionNoticePeriodDuration,proto3" json:"redemption_notice_period_duration,omitempty"` + Balance string `protobuf:"bytes,6,opt,name=balance,proto3" json:"balance,omitempty"` + TotalShare string `protobuf:"bytes,7,opt,name=total_share,json=totalShare,proto3" json:"total_share,omitempty"` + // Oracle base currency + OracleBase string `protobuf:"bytes,8,opt,name=oracle_base,json=oracleBase,proto3" json:"oracle_base,omitempty"` + // Oracle quote currency + OracleQuote string `protobuf:"bytes,9,opt,name=oracle_quote,json=oracleQuote,proto3" json:"oracle_quote,omitempty"` + // Oracle Type + OracleType string `protobuf:"bytes,10,opt,name=oracle_type,json=oracleType,proto3" json:"oracle_type,omitempty"` + // Defines the expiry, if any + Expiry int64 `protobuf:"zigzag64,11,opt,name=expiry,proto3" json:"expiry,omitempty"` + // Token metadata for the deposit asset, only for Ethereum-based assets + DepositTokenMeta *TokenMeta `protobuf:"bytes,12,opt,name=deposit_token_meta,json=depositTokenMeta,proto3" json:"deposit_token_meta,omitempty"` +} + +func (x *InsuranceFund) Reset() { + *x = InsuranceFund{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InsuranceFund) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InsuranceFund) ProtoMessage() {} + +func (x *InsuranceFund) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InsuranceFund.ProtoReflect.Descriptor instead. +func (*InsuranceFund) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP(), []int{2} +} + +func (x *InsuranceFund) GetMarketTicker() string { + if x != nil { + return x.MarketTicker + } + return "" +} + +func (x *InsuranceFund) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *InsuranceFund) GetDepositDenom() string { + if x != nil { + return x.DepositDenom + } + return "" +} + +func (x *InsuranceFund) GetPoolTokenDenom() string { + if x != nil { + return x.PoolTokenDenom + } + return "" +} + +func (x *InsuranceFund) GetRedemptionNoticePeriodDuration() int64 { + if x != nil { + return x.RedemptionNoticePeriodDuration + } + return 0 +} + +func (x *InsuranceFund) GetBalance() string { + if x != nil { + return x.Balance + } + return "" +} + +func (x *InsuranceFund) GetTotalShare() string { + if x != nil { + return x.TotalShare + } + return "" +} + +func (x *InsuranceFund) GetOracleBase() string { + if x != nil { + return x.OracleBase + } + return "" +} + +func (x *InsuranceFund) GetOracleQuote() string { + if x != nil { + return x.OracleQuote + } + return "" +} + +func (x *InsuranceFund) GetOracleType() string { + if x != nil { + return x.OracleType + } + return "" +} + +func (x *InsuranceFund) GetExpiry() int64 { + if x != nil { + return x.Expiry + } + return 0 +} + +func (x *InsuranceFund) GetDepositTokenMeta() *TokenMeta { + if x != nil { + return x.DepositTokenMeta + } + return nil +} + +type TokenMeta struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Token full name + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Token Ethereum contract address + Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` + // Token symbol short name + Symbol string `protobuf:"bytes,3,opt,name=symbol,proto3" json:"symbol,omitempty"` + // URL to the logo image + Logo string `protobuf:"bytes,4,opt,name=logo,proto3" json:"logo,omitempty"` + // Token decimals + Decimals int32 `protobuf:"zigzag32,5,opt,name=decimals,proto3" json:"decimals,omitempty"` + // Token metadata fetched timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` +} + +func (x *TokenMeta) Reset() { + *x = TokenMeta{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TokenMeta) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TokenMeta) ProtoMessage() {} + +func (x *TokenMeta) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TokenMeta.ProtoReflect.Descriptor instead. +func (*TokenMeta) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP(), []int{3} +} + +func (x *TokenMeta) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *TokenMeta) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *TokenMeta) GetSymbol() string { + if x != nil { + return x.Symbol + } + return "" +} + +func (x *TokenMeta) GetLogo() string { + if x != nil { + return x.Logo + } + return "" +} + +func (x *TokenMeta) GetDecimals() int32 { + if x != nil { + return x.Decimals + } + return 0 +} + +func (x *TokenMeta) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +type FundRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // denom of insurance fund + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` +} + +func (x *FundRequest) Reset() { + *x = FundRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundRequest) ProtoMessage() {} + +func (x *FundRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FundRequest.ProtoReflect.Descriptor instead. +func (*FundRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP(), []int{4} +} + +func (x *FundRequest) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +type FundResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The insurance fund corresponding to the provided token denom + Fund *InsuranceFund `protobuf:"bytes,1,opt,name=fund,proto3" json:"fund,omitempty"` +} + +func (x *FundResponse) Reset() { + *x = FundResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundResponse) ProtoMessage() {} + +func (x *FundResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FundResponse.ProtoReflect.Descriptor instead. +func (*FundResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP(), []int{5} +} + +func (x *FundResponse) GetFund() *InsuranceFund { + if x != nil { + return x.Fund + } + return nil +} + +type RedemptionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address of the redemption owner + Redeemer string `protobuf:"bytes,1,opt,name=redeemer,proto3" json:"redeemer,omitempty"` + // Denom of the insurance pool token. + RedemptionDenom string `protobuf:"bytes,2,opt,name=redemption_denom,json=redemptionDenom,proto3" json:"redemption_denom,omitempty"` + // Status of the redemption. Either pending or disbursed. + Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *RedemptionsRequest) Reset() { + *x = RedemptionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RedemptionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RedemptionsRequest) ProtoMessage() {} + +func (x *RedemptionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RedemptionsRequest.ProtoReflect.Descriptor instead. +func (*RedemptionsRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP(), []int{6} +} + +func (x *RedemptionsRequest) GetRedeemer() string { + if x != nil { + return x.Redeemer + } + return "" +} + +func (x *RedemptionsRequest) GetRedemptionDenom() string { + if x != nil { + return x.RedemptionDenom + } + return "" +} + +func (x *RedemptionsRequest) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type RedemptionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RedemptionSchedules []*RedemptionSchedule `protobuf:"bytes,1,rep,name=redemption_schedules,json=redemptionSchedules,proto3" json:"redemption_schedules,omitempty"` +} + +func (x *RedemptionsResponse) Reset() { + *x = RedemptionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RedemptionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RedemptionsResponse) ProtoMessage() {} + +func (x *RedemptionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RedemptionsResponse.ProtoReflect.Descriptor instead. +func (*RedemptionsResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP(), []int{7} +} + +func (x *RedemptionsResponse) GetRedemptionSchedules() []*RedemptionSchedule { + if x != nil { + return x.RedemptionSchedules + } + return nil +} + +type RedemptionSchedule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Redemption ID. + RedemptionId uint64 `protobuf:"varint,1,opt,name=redemption_id,json=redemptionId,proto3" json:"redemption_id,omitempty"` + // Status of the redemption. Either pending or disbursed. + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + // Account address of the redemption owner + Redeemer string `protobuf:"bytes,3,opt,name=redeemer,proto3" json:"redeemer,omitempty"` + // Claimable redemption time in seconds + ClaimableRedemptionTime int64 `protobuf:"zigzag64,4,opt,name=claimable_redemption_time,json=claimableRedemptionTime,proto3" json:"claimable_redemption_time,omitempty"` + // Amount of pool tokens being redeemed. + RedemptionAmount string `protobuf:"bytes,5,opt,name=redemption_amount,json=redemptionAmount,proto3" json:"redemption_amount,omitempty"` + // Pool token denom being redeemed. + RedemptionDenom string `protobuf:"bytes,6,opt,name=redemption_denom,json=redemptionDenom,proto3" json:"redemption_denom,omitempty"` + // Redemption request time in unix milliseconds. + RequestedAt int64 `protobuf:"zigzag64,7,opt,name=requested_at,json=requestedAt,proto3" json:"requested_at,omitempty"` + // Amount of quote tokens disbursed + DisbursedAmount string `protobuf:"bytes,8,opt,name=disbursed_amount,json=disbursedAmount,proto3" json:"disbursed_amount,omitempty"` + // Denom of the quote tokens disbursed + DisbursedDenom string `protobuf:"bytes,9,opt,name=disbursed_denom,json=disbursedDenom,proto3" json:"disbursed_denom,omitempty"` + // Redemption disbursement time in unix milliseconds. + DisbursedAt int64 `protobuf:"zigzag64,10,opt,name=disbursed_at,json=disbursedAt,proto3" json:"disbursed_at,omitempty"` +} + +func (x *RedemptionSchedule) Reset() { + *x = RedemptionSchedule{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RedemptionSchedule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RedemptionSchedule) ProtoMessage() {} + +func (x *RedemptionSchedule) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RedemptionSchedule.ProtoReflect.Descriptor instead. +func (*RedemptionSchedule) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP(), []int{8} +} + +func (x *RedemptionSchedule) GetRedemptionId() uint64 { + if x != nil { + return x.RedemptionId + } + return 0 +} + +func (x *RedemptionSchedule) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *RedemptionSchedule) GetRedeemer() string { + if x != nil { + return x.Redeemer + } + return "" +} + +func (x *RedemptionSchedule) GetClaimableRedemptionTime() int64 { + if x != nil { + return x.ClaimableRedemptionTime + } + return 0 +} + +func (x *RedemptionSchedule) GetRedemptionAmount() string { + if x != nil { + return x.RedemptionAmount + } + return "" +} + +func (x *RedemptionSchedule) GetRedemptionDenom() string { + if x != nil { + return x.RedemptionDenom + } + return "" +} + +func (x *RedemptionSchedule) GetRequestedAt() int64 { + if x != nil { + return x.RequestedAt + } + return 0 +} + +func (x *RedemptionSchedule) GetDisbursedAmount() string { + if x != nil { + return x.DisbursedAmount + } + return "" +} + +func (x *RedemptionSchedule) GetDisbursedDenom() string { + if x != nil { + return x.DisbursedDenom + } + return "" +} + +func (x *RedemptionSchedule) GetDisbursedAt() int64 { + if x != nil { + return x.DisbursedAt + } + return 0 +} + +var File_goadesign_goagen_injective_insurance_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_insurance_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, + 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x17, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, + 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x0e, 0x0a, 0x0c, 0x46, 0x75, 0x6e, + 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4d, 0x0a, 0x0d, 0x46, 0x75, 0x6e, + 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x66, 0x75, + 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x75, 0x6e, + 0x64, 0x52, 0x05, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x22, 0xf5, 0x03, 0x0a, 0x0d, 0x49, 0x6e, 0x73, + 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, + 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, + 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x44, 0x65, 0x6e, 0x6f, + 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x6f, 0x6f, + 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x49, 0x0a, 0x21, 0x72, + 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, + 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x1e, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x44, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x42, 0x61, + 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x71, 0x75, 0x6f, + 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, + 0x51, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, + 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x50, + 0x0a, 0x12, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x10, + 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 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, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, + 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, + 0x6d, 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, + 0x6d, 0x61, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x22, 0x23, 0x0a, 0x0b, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x4a, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x49, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x04, + 0x66, 0x75, 0x6e, 0x64, 0x22, 0x73, 0x0a, 0x12, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, + 0x64, 0x65, 0x65, 0x6d, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, + 0x64, 0x65, 0x65, 0x6d, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6e, 0x6f, + 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x75, 0x0a, 0x13, 0x52, 0x65, 0x64, + 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x5e, 0x0a, 0x14, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x13, 0x72, 0x65, 0x64, + 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, + 0x22, 0x9b, 0x03, 0x0a, 0x12, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x65, 0x6d, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, + 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x65, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x65, 0x72, + 0x12, 0x3a, 0x0a, 0x19, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, + 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x17, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, + 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, + 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x64, + 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x62, 0x75, + 0x72, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x62, 0x75, 0x72, 0x73, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x62, 0x75, 0x72, 0x73, 0x65, 0x64, 0x5f, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x69, 0x73, + 0x62, 0x75, 0x72, 0x73, 0x65, 0x64, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x64, + 0x69, 0x73, 0x62, 0x75, 0x72, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x62, 0x75, 0x72, 0x73, 0x65, 0x64, 0x41, 0x74, 0x32, 0xae, + 0x02, 0x0a, 0x15, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x75, + 0x72, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x50, 0x43, 0x12, 0x56, 0x0a, 0x05, 0x46, 0x75, 0x6e, 0x64, + 0x73, 0x12, 0x25, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, + 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x53, 0x0a, 0x04, 0x46, 0x75, 0x6e, 0x64, 0x12, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0b, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, + 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, + 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x64, 0x65, + 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, + 0x1c, 0x5a, 0x1a, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, + 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_goadesign_goagen_injective_insurance_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_insurance_rpc_proto_rawDescData = file_goadesign_goagen_injective_insurance_rpc_proto_rawDesc +) + +func file_goadesign_goagen_injective_insurance_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_insurance_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_insurance_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_insurance_rpc_proto_rawDescData) + }) + return file_goadesign_goagen_injective_insurance_rpc_proto_rawDescData +} + +var file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_goadesign_goagen_injective_insurance_rpc_proto_goTypes = []interface{}{ + (*FundsRequest)(nil), // 0: injective_insurance_rpc.FundsRequest + (*FundsResponse)(nil), // 1: injective_insurance_rpc.FundsResponse + (*InsuranceFund)(nil), // 2: injective_insurance_rpc.InsuranceFund + (*TokenMeta)(nil), // 3: injective_insurance_rpc.TokenMeta + (*FundRequest)(nil), // 4: injective_insurance_rpc.FundRequest + (*FundResponse)(nil), // 5: injective_insurance_rpc.FundResponse + (*RedemptionsRequest)(nil), // 6: injective_insurance_rpc.RedemptionsRequest + (*RedemptionsResponse)(nil), // 7: injective_insurance_rpc.RedemptionsResponse + (*RedemptionSchedule)(nil), // 8: injective_insurance_rpc.RedemptionSchedule +} +var file_goadesign_goagen_injective_insurance_rpc_proto_depIdxs = []int32{ + 2, // 0: injective_insurance_rpc.FundsResponse.funds:type_name -> injective_insurance_rpc.InsuranceFund + 3, // 1: injective_insurance_rpc.InsuranceFund.deposit_token_meta:type_name -> injective_insurance_rpc.TokenMeta + 2, // 2: injective_insurance_rpc.FundResponse.fund:type_name -> injective_insurance_rpc.InsuranceFund + 8, // 3: injective_insurance_rpc.RedemptionsResponse.redemption_schedules:type_name -> injective_insurance_rpc.RedemptionSchedule + 0, // 4: injective_insurance_rpc.InjectiveInsuranceRPC.Funds:input_type -> injective_insurance_rpc.FundsRequest + 4, // 5: injective_insurance_rpc.InjectiveInsuranceRPC.Fund:input_type -> injective_insurance_rpc.FundRequest + 6, // 6: injective_insurance_rpc.InjectiveInsuranceRPC.Redemptions:input_type -> injective_insurance_rpc.RedemptionsRequest + 1, // 7: injective_insurance_rpc.InjectiveInsuranceRPC.Funds:output_type -> injective_insurance_rpc.FundsResponse + 5, // 8: injective_insurance_rpc.InjectiveInsuranceRPC.Fund:output_type -> injective_insurance_rpc.FundResponse + 7, // 9: injective_insurance_rpc.InjectiveInsuranceRPC.Redemptions:output_type -> injective_insurance_rpc.RedemptionsResponse + 7, // [7:10] is the sub-list for method output_type + 4, // [4:7] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_goadesign_goagen_injective_insurance_rpc_proto_init() } +func file_goadesign_goagen_injective_insurance_rpc_proto_init() { + if File_goadesign_goagen_injective_insurance_rpc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InsuranceFund); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TokenMeta); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RedemptionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RedemptionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RedemptionSchedule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_goadesign_goagen_injective_insurance_rpc_proto_rawDesc, + NumEnums: 0, + NumMessages: 9, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_goadesign_goagen_injective_insurance_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_insurance_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_insurance_rpc_proto_msgTypes, + }.Build() + File_goadesign_goagen_injective_insurance_rpc_proto = out.File + file_goadesign_goagen_injective_insurance_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_insurance_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_insurance_rpc_proto_depIdxs = nil +} diff --git a/exchange/insurance_rpc/pb/injective_insurance_rpc.proto b/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.proto similarity index 88% rename from exchange/insurance_rpc/pb/injective_insurance_rpc.proto rename to exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.proto index c340aba8..b670ddea 100644 --- a/exchange/insurance_rpc/pb/injective_insurance_rpc.proto +++ b/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveInsuranceRPC protocol buffer definition // @@ -15,6 +15,8 @@ option go_package = "/injective_insurance_rpcpb"; service InjectiveInsuranceRPC { // Funds lists all insurance funds. rpc Funds (FundsRequest) returns (FundsResponse); + // Funds returns an insurance fund for a given insurance fund token denom. + rpc Fund (FundRequest) returns (FundResponse); // PendingRedemptions lists all pending redemptions according to a filter rpc Redemptions (RedemptionsRequest) returns (RedemptionsResponse); } @@ -66,6 +68,16 @@ message TokenMeta { sint64 updated_at = 6; } +message FundRequest { + // denom of insurance fund + string denom = 1; +} + +message FundResponse { + // The insurance fund corresponding to the provided token denom + InsuranceFund fund = 1; +} + message RedemptionsRequest { // Account address of the redemption owner string redeemer = 1; diff --git a/exchange/insurance_rpc/pb/injective_insurance_rpc_grpc.pb.go b/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc_grpc.pb.go similarity index 76% rename from exchange/insurance_rpc/pb/injective_insurance_rpc_grpc.pb.go rename to exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc_grpc.pb.go index c2da7f7a..1361dc6b 100644 --- a/exchange/insurance_rpc/pb/injective_insurance_rpc_grpc.pb.go +++ b/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_insurance_rpc.proto package injective_insurance_rpcpb @@ -20,6 +24,8 @@ const _ = grpc.SupportPackageIsVersion7 type InjectiveInsuranceRPCClient interface { // Funds lists all insurance funds. Funds(ctx context.Context, in *FundsRequest, opts ...grpc.CallOption) (*FundsResponse, error) + // Funds returns an insurance fund for a given insurance fund token denom. + Fund(ctx context.Context, in *FundRequest, opts ...grpc.CallOption) (*FundResponse, error) // PendingRedemptions lists all pending redemptions according to a filter Redemptions(ctx context.Context, in *RedemptionsRequest, opts ...grpc.CallOption) (*RedemptionsResponse, error) } @@ -41,6 +47,15 @@ func (c *injectiveInsuranceRPCClient) Funds(ctx context.Context, in *FundsReques return out, nil } +func (c *injectiveInsuranceRPCClient) Fund(ctx context.Context, in *FundRequest, opts ...grpc.CallOption) (*FundResponse, error) { + out := new(FundResponse) + err := c.cc.Invoke(ctx, "/injective_insurance_rpc.InjectiveInsuranceRPC/Fund", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *injectiveInsuranceRPCClient) Redemptions(ctx context.Context, in *RedemptionsRequest, opts ...grpc.CallOption) (*RedemptionsResponse, error) { out := new(RedemptionsResponse) err := c.cc.Invoke(ctx, "/injective_insurance_rpc.InjectiveInsuranceRPC/Redemptions", in, out, opts...) @@ -56,6 +71,8 @@ func (c *injectiveInsuranceRPCClient) Redemptions(ctx context.Context, in *Redem type InjectiveInsuranceRPCServer interface { // Funds lists all insurance funds. Funds(context.Context, *FundsRequest) (*FundsResponse, error) + // Funds returns an insurance fund for a given insurance fund token denom. + Fund(context.Context, *FundRequest) (*FundResponse, error) // PendingRedemptions lists all pending redemptions according to a filter Redemptions(context.Context, *RedemptionsRequest) (*RedemptionsResponse, error) mustEmbedUnimplementedInjectiveInsuranceRPCServer() @@ -68,6 +85,9 @@ type UnimplementedInjectiveInsuranceRPCServer struct { func (UnimplementedInjectiveInsuranceRPCServer) Funds(context.Context, *FundsRequest) (*FundsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Funds not implemented") } +func (UnimplementedInjectiveInsuranceRPCServer) Fund(context.Context, *FundRequest) (*FundResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Fund not implemented") +} func (UnimplementedInjectiveInsuranceRPCServer) Redemptions(context.Context, *RedemptionsRequest) (*RedemptionsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Redemptions not implemented") } @@ -102,6 +122,24 @@ func _InjectiveInsuranceRPC_Funds_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _InjectiveInsuranceRPC_Fund_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FundRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveInsuranceRPCServer).Fund(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_insurance_rpc.InjectiveInsuranceRPC/Fund", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveInsuranceRPCServer).Fund(ctx, req.(*FundRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _InjectiveInsuranceRPC_Redemptions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(RedemptionsRequest) if err := dec(in); err != nil { @@ -131,11 +169,15 @@ var InjectiveInsuranceRPC_ServiceDesc = grpc.ServiceDesc{ MethodName: "Funds", Handler: _InjectiveInsuranceRPC_Funds_Handler, }, + { + MethodName: "Fund", + Handler: _InjectiveInsuranceRPC_Fund_Handler, + }, { MethodName: "Redemptions", Handler: _InjectiveInsuranceRPC_Redemptions_Handler, }, }, Streams: []grpc.StreamDesc{}, - Metadata: "injective_insurance_rpc.proto", + Metadata: "goadesign_goagen_injective_insurance_rpc.proto", } diff --git a/exchange/insurance_rpc/pb/injective_insurance_rpc.pb.go b/exchange/insurance_rpc/pb/injective_insurance_rpc.pb.go deleted file mode 100644 index 6e52b6d8..00000000 --- a/exchange/insurance_rpc/pb/injective_insurance_rpc.pb.go +++ /dev/null @@ -1,854 +0,0 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. -// -// InjectiveInsuranceRPC protocol buffer definition -// -// Command: -// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_insurance_rpc.proto - -package injective_insurance_rpcpb - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type FundsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *FundsRequest) Reset() { - *x = FundsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_insurance_rpc_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FundsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FundsRequest) ProtoMessage() {} - -func (x *FundsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_insurance_rpc_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FundsRequest.ProtoReflect.Descriptor instead. -func (*FundsRequest) Descriptor() ([]byte, []int) { - return file_injective_insurance_rpc_proto_rawDescGZIP(), []int{0} -} - -type FundsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Funds []*InsuranceFund `protobuf:"bytes,1,rep,name=funds,proto3" json:"funds,omitempty"` -} - -func (x *FundsResponse) Reset() { - *x = FundsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_insurance_rpc_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FundsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FundsResponse) ProtoMessage() {} - -func (x *FundsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_insurance_rpc_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FundsResponse.ProtoReflect.Descriptor instead. -func (*FundsResponse) Descriptor() ([]byte, []int) { - return file_injective_insurance_rpc_proto_rawDescGZIP(), []int{1} -} - -func (x *FundsResponse) GetFunds() []*InsuranceFund { - if x != nil { - return x.Funds - } - return nil -} - -type InsuranceFund struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Ticker of the derivative market. - MarketTicker string `protobuf:"bytes,1,opt,name=market_ticker,json=marketTicker,proto3" json:"market_ticker,omitempty"` - // Derivative Market ID - MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - // Coin denom used for the underwriting of the insurance fund. - DepositDenom string `protobuf:"bytes,3,opt,name=deposit_denom,json=depositDenom,proto3" json:"deposit_denom,omitempty"` - // Pool token denom - PoolTokenDenom string `protobuf:"bytes,4,opt,name=pool_token_denom,json=poolTokenDenom,proto3" json:"pool_token_denom,omitempty"` - // Redemption notice period duration in seconds. - RedemptionNoticePeriodDuration int64 `protobuf:"zigzag64,5,opt,name=redemption_notice_period_duration,json=redemptionNoticePeriodDuration,proto3" json:"redemption_notice_period_duration,omitempty"` - Balance string `protobuf:"bytes,6,opt,name=balance,proto3" json:"balance,omitempty"` - TotalShare string `protobuf:"bytes,7,opt,name=total_share,json=totalShare,proto3" json:"total_share,omitempty"` - // Oracle base currency - OracleBase string `protobuf:"bytes,8,opt,name=oracle_base,json=oracleBase,proto3" json:"oracle_base,omitempty"` - // Oracle quote currency - OracleQuote string `protobuf:"bytes,9,opt,name=oracle_quote,json=oracleQuote,proto3" json:"oracle_quote,omitempty"` - // Oracle Type - OracleType string `protobuf:"bytes,10,opt,name=oracle_type,json=oracleType,proto3" json:"oracle_type,omitempty"` - // Defines the expiry, if any - Expiry int64 `protobuf:"zigzag64,11,opt,name=expiry,proto3" json:"expiry,omitempty"` - // Token metadata for the deposit asset, only for Ethereum-based assets - DepositTokenMeta *TokenMeta `protobuf:"bytes,12,opt,name=deposit_token_meta,json=depositTokenMeta,proto3" json:"deposit_token_meta,omitempty"` -} - -func (x *InsuranceFund) Reset() { - *x = InsuranceFund{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_insurance_rpc_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InsuranceFund) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InsuranceFund) ProtoMessage() {} - -func (x *InsuranceFund) ProtoReflect() protoreflect.Message { - mi := &file_injective_insurance_rpc_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InsuranceFund.ProtoReflect.Descriptor instead. -func (*InsuranceFund) Descriptor() ([]byte, []int) { - return file_injective_insurance_rpc_proto_rawDescGZIP(), []int{2} -} - -func (x *InsuranceFund) GetMarketTicker() string { - if x != nil { - return x.MarketTicker - } - return "" -} - -func (x *InsuranceFund) GetMarketId() string { - if x != nil { - return x.MarketId - } - return "" -} - -func (x *InsuranceFund) GetDepositDenom() string { - if x != nil { - return x.DepositDenom - } - return "" -} - -func (x *InsuranceFund) GetPoolTokenDenom() string { - if x != nil { - return x.PoolTokenDenom - } - return "" -} - -func (x *InsuranceFund) GetRedemptionNoticePeriodDuration() int64 { - if x != nil { - return x.RedemptionNoticePeriodDuration - } - return 0 -} - -func (x *InsuranceFund) GetBalance() string { - if x != nil { - return x.Balance - } - return "" -} - -func (x *InsuranceFund) GetTotalShare() string { - if x != nil { - return x.TotalShare - } - return "" -} - -func (x *InsuranceFund) GetOracleBase() string { - if x != nil { - return x.OracleBase - } - return "" -} - -func (x *InsuranceFund) GetOracleQuote() string { - if x != nil { - return x.OracleQuote - } - return "" -} - -func (x *InsuranceFund) GetOracleType() string { - if x != nil { - return x.OracleType - } - return "" -} - -func (x *InsuranceFund) GetExpiry() int64 { - if x != nil { - return x.Expiry - } - return 0 -} - -func (x *InsuranceFund) GetDepositTokenMeta() *TokenMeta { - if x != nil { - return x.DepositTokenMeta - } - return nil -} - -type TokenMeta struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Token full name - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // Token Ethereum contract address - Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` - // Token symbol short name - Symbol string `protobuf:"bytes,3,opt,name=symbol,proto3" json:"symbol,omitempty"` - // URL to the logo image - Logo string `protobuf:"bytes,4,opt,name=logo,proto3" json:"logo,omitempty"` - // Token decimals - Decimals int32 `protobuf:"zigzag32,5,opt,name=decimals,proto3" json:"decimals,omitempty"` - // Token metadata fetched timestamp in UNIX millis. - UpdatedAt int64 `protobuf:"zigzag64,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` -} - -func (x *TokenMeta) Reset() { - *x = TokenMeta{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_insurance_rpc_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TokenMeta) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TokenMeta) ProtoMessage() {} - -func (x *TokenMeta) ProtoReflect() protoreflect.Message { - mi := &file_injective_insurance_rpc_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TokenMeta.ProtoReflect.Descriptor instead. -func (*TokenMeta) Descriptor() ([]byte, []int) { - return file_injective_insurance_rpc_proto_rawDescGZIP(), []int{3} -} - -func (x *TokenMeta) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *TokenMeta) GetAddress() string { - if x != nil { - return x.Address - } - return "" -} - -func (x *TokenMeta) GetSymbol() string { - if x != nil { - return x.Symbol - } - return "" -} - -func (x *TokenMeta) GetLogo() string { - if x != nil { - return x.Logo - } - return "" -} - -func (x *TokenMeta) GetDecimals() int32 { - if x != nil { - return x.Decimals - } - return 0 -} - -func (x *TokenMeta) GetUpdatedAt() int64 { - if x != nil { - return x.UpdatedAt - } - return 0 -} - -type RedemptionsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Account address of the redemption owner - Redeemer string `protobuf:"bytes,1,opt,name=redeemer,proto3" json:"redeemer,omitempty"` - // Denom of the insurance pool token. - RedemptionDenom string `protobuf:"bytes,2,opt,name=redemption_denom,json=redemptionDenom,proto3" json:"redemption_denom,omitempty"` - // Status of the redemption. Either pending or disbursed. - Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` -} - -func (x *RedemptionsRequest) Reset() { - *x = RedemptionsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_insurance_rpc_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RedemptionsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RedemptionsRequest) ProtoMessage() {} - -func (x *RedemptionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_insurance_rpc_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RedemptionsRequest.ProtoReflect.Descriptor instead. -func (*RedemptionsRequest) Descriptor() ([]byte, []int) { - return file_injective_insurance_rpc_proto_rawDescGZIP(), []int{4} -} - -func (x *RedemptionsRequest) GetRedeemer() string { - if x != nil { - return x.Redeemer - } - return "" -} - -func (x *RedemptionsRequest) GetRedemptionDenom() string { - if x != nil { - return x.RedemptionDenom - } - return "" -} - -func (x *RedemptionsRequest) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -type RedemptionsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RedemptionSchedules []*RedemptionSchedule `protobuf:"bytes,1,rep,name=redemption_schedules,json=redemptionSchedules,proto3" json:"redemption_schedules,omitempty"` -} - -func (x *RedemptionsResponse) Reset() { - *x = RedemptionsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_insurance_rpc_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RedemptionsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RedemptionsResponse) ProtoMessage() {} - -func (x *RedemptionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_insurance_rpc_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RedemptionsResponse.ProtoReflect.Descriptor instead. -func (*RedemptionsResponse) Descriptor() ([]byte, []int) { - return file_injective_insurance_rpc_proto_rawDescGZIP(), []int{5} -} - -func (x *RedemptionsResponse) GetRedemptionSchedules() []*RedemptionSchedule { - if x != nil { - return x.RedemptionSchedules - } - return nil -} - -type RedemptionSchedule struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Redemption ID. - RedemptionId uint64 `protobuf:"varint,1,opt,name=redemption_id,json=redemptionId,proto3" json:"redemption_id,omitempty"` - // Status of the redemption. Either pending or disbursed. - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` - // Account address of the redemption owner - Redeemer string `protobuf:"bytes,3,opt,name=redeemer,proto3" json:"redeemer,omitempty"` - // Claimable redemption time in seconds - ClaimableRedemptionTime int64 `protobuf:"zigzag64,4,opt,name=claimable_redemption_time,json=claimableRedemptionTime,proto3" json:"claimable_redemption_time,omitempty"` - // Amount of pool tokens being redeemed. - RedemptionAmount string `protobuf:"bytes,5,opt,name=redemption_amount,json=redemptionAmount,proto3" json:"redemption_amount,omitempty"` - // Pool token denom being redeemed. - RedemptionDenom string `protobuf:"bytes,6,opt,name=redemption_denom,json=redemptionDenom,proto3" json:"redemption_denom,omitempty"` - // Redemption request time in unix milliseconds. - RequestedAt int64 `protobuf:"zigzag64,7,opt,name=requested_at,json=requestedAt,proto3" json:"requested_at,omitempty"` - // Amount of quote tokens disbursed - DisbursedAmount string `protobuf:"bytes,8,opt,name=disbursed_amount,json=disbursedAmount,proto3" json:"disbursed_amount,omitempty"` - // Denom of the quote tokens disbursed - DisbursedDenom string `protobuf:"bytes,9,opt,name=disbursed_denom,json=disbursedDenom,proto3" json:"disbursed_denom,omitempty"` - // Redemption disbursement time in unix milliseconds. - DisbursedAt int64 `protobuf:"zigzag64,10,opt,name=disbursed_at,json=disbursedAt,proto3" json:"disbursed_at,omitempty"` -} - -func (x *RedemptionSchedule) Reset() { - *x = RedemptionSchedule{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_insurance_rpc_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RedemptionSchedule) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RedemptionSchedule) ProtoMessage() {} - -func (x *RedemptionSchedule) ProtoReflect() protoreflect.Message { - mi := &file_injective_insurance_rpc_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RedemptionSchedule.ProtoReflect.Descriptor instead. -func (*RedemptionSchedule) Descriptor() ([]byte, []int) { - return file_injective_insurance_rpc_proto_rawDescGZIP(), []int{6} -} - -func (x *RedemptionSchedule) GetRedemptionId() uint64 { - if x != nil { - return x.RedemptionId - } - return 0 -} - -func (x *RedemptionSchedule) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *RedemptionSchedule) GetRedeemer() string { - if x != nil { - return x.Redeemer - } - return "" -} - -func (x *RedemptionSchedule) GetClaimableRedemptionTime() int64 { - if x != nil { - return x.ClaimableRedemptionTime - } - return 0 -} - -func (x *RedemptionSchedule) GetRedemptionAmount() string { - if x != nil { - return x.RedemptionAmount - } - return "" -} - -func (x *RedemptionSchedule) GetRedemptionDenom() string { - if x != nil { - return x.RedemptionDenom - } - return "" -} - -func (x *RedemptionSchedule) GetRequestedAt() int64 { - if x != nil { - return x.RequestedAt - } - return 0 -} - -func (x *RedemptionSchedule) GetDisbursedAmount() string { - if x != nil { - return x.DisbursedAmount - } - return "" -} - -func (x *RedemptionSchedule) GetDisbursedDenom() string { - if x != nil { - return x.DisbursedDenom - } - return "" -} - -func (x *RedemptionSchedule) GetDisbursedAt() int64 { - if x != nil { - return x.DisbursedAt - } - return 0 -} - -var File_injective_insurance_rpc_proto protoreflect.FileDescriptor - -var file_injective_insurance_rpc_proto_rawDesc = []byte{ - 0x0a, 0x1d, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, - 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x17, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x0e, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x64, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4d, 0x0a, 0x0d, 0x46, 0x75, 0x6e, 0x64, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x66, 0x75, 0x6e, - 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x75, 0x6e, 0x64, - 0x52, 0x05, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x22, 0xf5, 0x03, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x75, - 0x72, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1b, - 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x44, 0x65, 0x6e, 0x6f, 0x6d, - 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x6f, 0x6f, 0x6c, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x49, 0x0a, 0x21, 0x72, 0x65, - 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x5f, - 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x1e, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x42, 0x61, 0x73, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x71, 0x75, 0x6f, 0x74, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x51, - 0x75, 0x6f, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x50, 0x0a, - 0x12, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, - 0x65, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x10, 0x64, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x22, - 0xa0, 0x01, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 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, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, - 0x62, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, - 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, - 0x61, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x22, 0x73, 0x0a, 0x12, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x65, - 0x65, 0x6d, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x64, 0x65, - 0x65, 0x6d, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x75, 0x0a, 0x13, 0x52, 0x65, 0x64, 0x65, 0x6d, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, - 0x0a, 0x14, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x13, 0x72, 0x65, 0x64, 0x65, 0x6d, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x9b, - 0x03, 0x0a, 0x12, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x72, 0x65, - 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x65, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x65, 0x72, 0x12, 0x3a, - 0x0a, 0x19, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x65, - 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x17, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x64, 0x65, - 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, - 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x64, 0x65, 0x6d, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6e, - 0x6f, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x62, 0x75, 0x72, 0x73, - 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0f, 0x64, 0x69, 0x73, 0x62, 0x75, 0x72, 0x73, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x62, 0x75, 0x72, 0x73, 0x65, 0x64, 0x5f, 0x64, 0x65, - 0x6e, 0x6f, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x62, 0x75, - 0x72, 0x73, 0x65, 0x64, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, - 0x62, 0x75, 0x72, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x0b, 0x64, 0x69, 0x73, 0x62, 0x75, 0x72, 0x73, 0x65, 0x64, 0x41, 0x74, 0x32, 0xd9, 0x01, 0x0a, - 0x15, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x75, 0x72, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x50, 0x43, 0x12, 0x56, 0x0a, 0x05, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x12, - 0x25, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, - 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, - 0x0a, 0x0b, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x1c, 0x5a, 0x1a, 0x2f, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_injective_insurance_rpc_proto_rawDescOnce sync.Once - file_injective_insurance_rpc_proto_rawDescData = file_injective_insurance_rpc_proto_rawDesc -) - -func file_injective_insurance_rpc_proto_rawDescGZIP() []byte { - file_injective_insurance_rpc_proto_rawDescOnce.Do(func() { - file_injective_insurance_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_insurance_rpc_proto_rawDescData) - }) - return file_injective_insurance_rpc_proto_rawDescData -} - -var file_injective_insurance_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 7) -var file_injective_insurance_rpc_proto_goTypes = []interface{}{ - (*FundsRequest)(nil), // 0: injective_insurance_rpc.FundsRequest - (*FundsResponse)(nil), // 1: injective_insurance_rpc.FundsResponse - (*InsuranceFund)(nil), // 2: injective_insurance_rpc.InsuranceFund - (*TokenMeta)(nil), // 3: injective_insurance_rpc.TokenMeta - (*RedemptionsRequest)(nil), // 4: injective_insurance_rpc.RedemptionsRequest - (*RedemptionsResponse)(nil), // 5: injective_insurance_rpc.RedemptionsResponse - (*RedemptionSchedule)(nil), // 6: injective_insurance_rpc.RedemptionSchedule -} -var file_injective_insurance_rpc_proto_depIdxs = []int32{ - 2, // 0: injective_insurance_rpc.FundsResponse.funds:type_name -> injective_insurance_rpc.InsuranceFund - 3, // 1: injective_insurance_rpc.InsuranceFund.deposit_token_meta:type_name -> injective_insurance_rpc.TokenMeta - 6, // 2: injective_insurance_rpc.RedemptionsResponse.redemption_schedules:type_name -> injective_insurance_rpc.RedemptionSchedule - 0, // 3: injective_insurance_rpc.InjectiveInsuranceRPC.Funds:input_type -> injective_insurance_rpc.FundsRequest - 4, // 4: injective_insurance_rpc.InjectiveInsuranceRPC.Redemptions:input_type -> injective_insurance_rpc.RedemptionsRequest - 1, // 5: injective_insurance_rpc.InjectiveInsuranceRPC.Funds:output_type -> injective_insurance_rpc.FundsResponse - 5, // 6: injective_insurance_rpc.InjectiveInsuranceRPC.Redemptions:output_type -> injective_insurance_rpc.RedemptionsResponse - 5, // [5:7] is the sub-list for method output_type - 3, // [3:5] is the sub-list for method input_type - 3, // [3:3] is the sub-list for extension type_name - 3, // [3:3] is the sub-list for extension extendee - 0, // [0:3] is the sub-list for field type_name -} - -func init() { file_injective_insurance_rpc_proto_init() } -func file_injective_insurance_rpc_proto_init() { - if File_injective_insurance_rpc_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_injective_insurance_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FundsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_insurance_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FundsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_insurance_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InsuranceFund); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_insurance_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TokenMeta); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_insurance_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RedemptionsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_insurance_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RedemptionsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_insurance_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RedemptionSchedule); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_insurance_rpc_proto_rawDesc, - NumEnums: 0, - NumMessages: 7, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_injective_insurance_rpc_proto_goTypes, - DependencyIndexes: file_injective_insurance_rpc_proto_depIdxs, - MessageInfos: file_injective_insurance_rpc_proto_msgTypes, - }.Build() - File_injective_insurance_rpc_proto = out.File - file_injective_insurance_rpc_proto_rawDesc = nil - file_injective_insurance_rpc_proto_goTypes = nil - file_injective_insurance_rpc_proto_depIdxs = nil -} diff --git a/exchange/insurance_rpc/pb/injective_insurance_rpc.pb.gw.go b/exchange/insurance_rpc/pb/injective_insurance_rpc.pb.gw.go index 54821ee5..eab9eda7 100644 --- a/exchange/insurance_rpc/pb/injective_insurance_rpc.pb.gw.go +++ b/exchange/insurance_rpc/pb/injective_insurance_rpc.pb.gw.go @@ -65,6 +65,40 @@ func local_request_InjectiveInsuranceRPC_Funds_0(ctx context.Context, marshaler } +func request_InjectiveInsuranceRPC_Fund_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveInsuranceRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq FundRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Fund(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveInsuranceRPC_Fund_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveInsuranceRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq FundRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Fund(ctx, &protoReq) + return msg, metadata, err + +} + func request_InjectiveInsuranceRPC_Redemptions_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveInsuranceRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq RedemptionsRequest var metadata runtime.ServerMetadata @@ -111,20 +145,47 @@ func RegisterInjectiveInsuranceRPCHandlerServer(ctx context.Context, mux *runtim var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Funds", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Funds")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Funds", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Funds")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveInsuranceRPC_Funds_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveInsuranceRPC_Funds_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveInsuranceRPC_Funds_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveInsuranceRPC_Fund_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Fund", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Fund")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } + resp, md, err := local_request_InjectiveInsuranceRPC_Fund_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } - forward_InjectiveInsuranceRPC_Funds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveInsuranceRPC_Fund_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -134,20 +195,22 @@ func RegisterInjectiveInsuranceRPCHandlerServer(ctx context.Context, mux *runtim var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Redemptions", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Redemptions")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Redemptions", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Redemptions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveInsuranceRPC_Redemptions_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveInsuranceRPC_Redemptions_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveInsuranceRPC_Redemptions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveInsuranceRPC_Redemptions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -196,19 +259,43 @@ func RegisterInjectiveInsuranceRPCHandlerClient(ctx context.Context, mux *runtim ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Funds", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Funds")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Funds", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Funds")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveInsuranceRPC_Funds_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveInsuranceRPC_Funds_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveInsuranceRPC_Funds_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectiveInsuranceRPC_Fund_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Fund", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Fund")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } + resp, md, err := request_InjectiveInsuranceRPC_Fund_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } - forward_InjectiveInsuranceRPC_Funds_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveInsuranceRPC_Fund_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -216,19 +303,21 @@ func RegisterInjectiveInsuranceRPCHandlerClient(ctx context.Context, mux *runtim ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Redemptions", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Redemptions")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_insurance_rpc.InjectiveInsuranceRPC/Redemptions", runtime.WithHTTPPathPattern("/injective_insurance_rpc.InjectiveInsuranceRPC/Redemptions")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveInsuranceRPC_Redemptions_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveInsuranceRPC_Redemptions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveInsuranceRPC_Redemptions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveInsuranceRPC_Redemptions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -238,11 +327,15 @@ func RegisterInjectiveInsuranceRPCHandlerClient(ctx context.Context, mux *runtim var ( pattern_InjectiveInsuranceRPC_Funds_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_insurance_rpc.InjectiveInsuranceRPC", "Funds"}, "")) + pattern_InjectiveInsuranceRPC_Fund_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_insurance_rpc.InjectiveInsuranceRPC", "Fund"}, "")) + pattern_InjectiveInsuranceRPC_Redemptions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_insurance_rpc.InjectiveInsuranceRPC", "Redemptions"}, "")) ) var ( forward_InjectiveInsuranceRPC_Funds_0 = runtime.ForwardResponseMessage + forward_InjectiveInsuranceRPC_Fund_0 = runtime.ForwardResponseMessage + forward_InjectiveInsuranceRPC_Redemptions_0 = runtime.ForwardResponseMessage ) diff --git a/exchange/meta_rpc/pb/injective_meta_rpc.pb.go b/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc.pb.go similarity index 60% rename from exchange/meta_rpc/pb/injective_meta_rpc.pb.go rename to exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc.pb.go index 24d9b61a..57610fcc 100644 --- a/exchange/meta_rpc/pb/injective_meta_rpc.pb.go +++ b/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc.pb.go @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveMetaRPC protocol buffer definition // @@ -8,8 +8,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_meta_rpc.proto +// protoc v4.25.3 +// source: goadesign_goagen_injective_meta_rpc.proto package injective_meta_rpcpb @@ -36,7 +36,7 @@ type PingRequest struct { func (x *PingRequest) Reset() { *x = PingRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -49,7 +49,7 @@ func (x *PingRequest) String() string { func (*PingRequest) ProtoMessage() {} func (x *PingRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -62,7 +62,7 @@ func (x *PingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PingRequest.ProtoReflect.Descriptor instead. func (*PingRequest) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{0} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{0} } type PingResponse struct { @@ -74,7 +74,7 @@ type PingResponse struct { func (x *PingResponse) Reset() { *x = PingResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -87,7 +87,7 @@ func (x *PingResponse) String() string { func (*PingResponse) ProtoMessage() {} func (x *PingResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -100,7 +100,7 @@ func (x *PingResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PingResponse.ProtoReflect.Descriptor instead. func (*PingResponse) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{1} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{1} } type VersionRequest struct { @@ -112,7 +112,7 @@ type VersionRequest struct { func (x *VersionRequest) Reset() { *x = VersionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -125,7 +125,7 @@ func (x *VersionRequest) String() string { func (*VersionRequest) ProtoMessage() {} func (x *VersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -138,7 +138,7 @@ func (x *VersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use VersionRequest.ProtoReflect.Descriptor instead. func (*VersionRequest) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{2} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{2} } type VersionResponse struct { @@ -155,7 +155,7 @@ type VersionResponse struct { func (x *VersionResponse) Reset() { *x = VersionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -168,7 +168,7 @@ func (x *VersionResponse) String() string { func (*VersionResponse) ProtoMessage() {} func (x *VersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -181,7 +181,7 @@ func (x *VersionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use VersionResponse.ProtoReflect.Descriptor instead. func (*VersionResponse) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{3} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{3} } func (x *VersionResponse) GetVersion() string { @@ -210,7 +210,7 @@ type InfoRequest struct { func (x *InfoRequest) Reset() { *x = InfoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -223,7 +223,7 @@ func (x *InfoRequest) String() string { func (*InfoRequest) ProtoMessage() {} func (x *InfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -236,7 +236,7 @@ func (x *InfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InfoRequest.ProtoReflect.Descriptor instead. func (*InfoRequest) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{4} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{4} } func (x *InfoRequest) GetTimestamp() int64 { @@ -266,7 +266,7 @@ type InfoResponse struct { func (x *InfoResponse) Reset() { *x = InfoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -279,7 +279,7 @@ func (x *InfoResponse) String() string { func (*InfoResponse) ProtoMessage() {} func (x *InfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -292,7 +292,7 @@ func (x *InfoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use InfoResponse.ProtoReflect.Descriptor instead. func (*InfoResponse) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{5} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{5} } func (x *InfoResponse) GetTimestamp() int64 { @@ -339,7 +339,7 @@ type StreamKeepaliveRequest struct { func (x *StreamKeepaliveRequest) Reset() { *x = StreamKeepaliveRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -352,7 +352,7 @@ func (x *StreamKeepaliveRequest) String() string { func (*StreamKeepaliveRequest) ProtoMessage() {} func (x *StreamKeepaliveRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -365,7 +365,7 @@ func (x *StreamKeepaliveRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamKeepaliveRequest.ProtoReflect.Descriptor instead. func (*StreamKeepaliveRequest) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{6} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{6} } type StreamKeepaliveResponse struct { @@ -384,7 +384,7 @@ type StreamKeepaliveResponse struct { func (x *StreamKeepaliveResponse) Reset() { *x = StreamKeepaliveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -397,7 +397,7 @@ func (x *StreamKeepaliveResponse) String() string { func (*StreamKeepaliveResponse) ProtoMessage() {} func (x *StreamKeepaliveResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -410,7 +410,7 @@ func (x *StreamKeepaliveResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamKeepaliveResponse.ProtoReflect.Descriptor instead. func (*StreamKeepaliveResponse) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{7} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{7} } func (x *StreamKeepaliveResponse) GetEvent() string { @@ -445,7 +445,7 @@ type TokenMetadataRequest struct { func (x *TokenMetadataRequest) Reset() { *x = TokenMetadataRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -458,7 +458,7 @@ func (x *TokenMetadataRequest) String() string { func (*TokenMetadataRequest) ProtoMessage() {} func (x *TokenMetadataRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -471,7 +471,7 @@ func (x *TokenMetadataRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TokenMetadataRequest.ProtoReflect.Descriptor instead. func (*TokenMetadataRequest) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{8} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{8} } func (x *TokenMetadataRequest) GetDenoms() []string { @@ -493,7 +493,7 @@ type TokenMetadataResponse struct { func (x *TokenMetadataResponse) Reset() { *x = TokenMetadataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -506,7 +506,7 @@ func (x *TokenMetadataResponse) String() string { func (*TokenMetadataResponse) ProtoMessage() {} func (x *TokenMetadataResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -519,7 +519,7 @@ func (x *TokenMetadataResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TokenMetadataResponse.ProtoReflect.Descriptor instead. func (*TokenMetadataResponse) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{9} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{9} } func (x *TokenMetadataResponse) GetTokens() []*TokenMetadataElement { @@ -553,7 +553,7 @@ type TokenMetadataElement struct { func (x *TokenMetadataElement) Reset() { *x = TokenMetadataElement{} if protoimpl.UnsafeEnabled { - mi := &file_injective_meta_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -566,7 +566,7 @@ func (x *TokenMetadataElement) String() string { func (*TokenMetadataElement) ProtoMessage() {} func (x *TokenMetadataElement) ProtoReflect() protoreflect.Message { - mi := &file_injective_meta_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -579,7 +579,7 @@ func (x *TokenMetadataElement) ProtoReflect() protoreflect.Message { // Deprecated: Use TokenMetadataElement.ProtoReflect.Descriptor instead. func (*TokenMetadataElement) Descriptor() ([]byte, []int) { - return file_injective_meta_rpc_proto_rawDescGZIP(), []int{10} + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP(), []int{10} } func (x *TokenMetadataElement) GetEthereumAddress() string { @@ -631,123 +631,124 @@ func (x *TokenMetadataElement) GetLogo() string { return "" } -var File_injective_meta_rpc_proto protoreflect.FileDescriptor - -var file_injective_meta_rpc_proto_rawDesc = []byte{ - 0x0a, 0x18, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x0d, - 0x0a, 0x0b, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0e, 0x0a, - 0x0c, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x10, 0x0a, - 0x0e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0xab, 0x01, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, - 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x62, 0x75, - 0x69, 0x6c, 0x64, 0x1a, 0x38, 0x0a, 0x0a, 0x42, 0x75, 0x69, 0x6c, 0x64, 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, 0x2b, 0x0a, - 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, +var File_goadesign_goagen_injective_meta_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_meta_rpc_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x22, + 0x0d, 0x0a, 0x0b, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0e, + 0x0a, 0x0c, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x10, + 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x22, 0xab, 0x01, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x44, + 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x1a, 0x38, 0x0a, 0x0a, 0x42, 0x75, 0x69, 0x6c, 0x64, 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, 0x2b, + 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xfc, 0x01, 0x0a, 0x0c, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xfc, 0x01, 0x0a, 0x0c, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x1a, - 0x38, 0x0a, 0x0a, 0x42, 0x75, 0x69, 0x6c, 0x64, 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, 0x18, 0x0a, 0x16, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x70, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x65, - 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x2e, 0x0a, 0x14, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x22, 0x59, 0x0a, 0x15, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, - 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0x22, 0xd6, 0x01, 0x0a, 0x14, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x74, 0x68, - 0x65, 0x72, 0x65, 0x75, 0x6d, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x69, 0x6e, 0x67, 0x65, 0x63, 0x6b, - 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x69, 0x6e, - 0x67, 0x65, 0x63, 0x6b, 0x6f, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x05, 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, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x65, 0x63, - 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x32, 0xd0, 0x03, 0x0a, 0x10, 0x49, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x50, 0x43, 0x12, 0x49, - 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x1a, 0x38, 0x0a, 0x0a, 0x42, 0x75, 0x69, 0x6c, 0x64, 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, 0x18, 0x0a, 0x16, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x70, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x65, + 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x2e, 0x0a, 0x14, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x22, 0x59, 0x0a, 0x15, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x40, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x22, 0xd6, 0x01, 0x0a, 0x14, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x74, + 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x69, 0x6e, 0x67, 0x65, 0x63, + 0x6b, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x69, + 0x6e, 0x67, 0x65, 0x63, 0x6b, 0x6f, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, + 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x05, 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, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x65, + 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x32, 0xd0, 0x03, 0x0a, 0x10, 0x49, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x50, 0x43, 0x12, + 0x49, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x07, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, - 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x07, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, + 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x2a, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, - 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x17, 0x5a, 0x15, - 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, - 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x0f, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x2a, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x17, 0x5a, + 0x15, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_injective_meta_rpc_proto_rawDescOnce sync.Once - file_injective_meta_rpc_proto_rawDescData = file_injective_meta_rpc_proto_rawDesc + file_goadesign_goagen_injective_meta_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_meta_rpc_proto_rawDescData = file_goadesign_goagen_injective_meta_rpc_proto_rawDesc ) -func file_injective_meta_rpc_proto_rawDescGZIP() []byte { - file_injective_meta_rpc_proto_rawDescOnce.Do(func() { - file_injective_meta_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_meta_rpc_proto_rawDescData) +func file_goadesign_goagen_injective_meta_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_meta_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_meta_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_meta_rpc_proto_rawDescData) }) - return file_injective_meta_rpc_proto_rawDescData + return file_goadesign_goagen_injective_meta_rpc_proto_rawDescData } -var file_injective_meta_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 13) -var file_injective_meta_rpc_proto_goTypes = []interface{}{ +var file_goadesign_goagen_injective_meta_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_goadesign_goagen_injective_meta_rpc_proto_goTypes = []interface{}{ (*PingRequest)(nil), // 0: injective_meta_rpc.PingRequest (*PingResponse)(nil), // 1: injective_meta_rpc.PingResponse (*VersionRequest)(nil), // 2: injective_meta_rpc.VersionRequest @@ -762,7 +763,7 @@ var file_injective_meta_rpc_proto_goTypes = []interface{}{ nil, // 11: injective_meta_rpc.VersionResponse.BuildEntry nil, // 12: injective_meta_rpc.InfoResponse.BuildEntry } -var file_injective_meta_rpc_proto_depIdxs = []int32{ +var file_goadesign_goagen_injective_meta_rpc_proto_depIdxs = []int32{ 11, // 0: injective_meta_rpc.VersionResponse.build:type_name -> injective_meta_rpc.VersionResponse.BuildEntry 12, // 1: injective_meta_rpc.InfoResponse.build:type_name -> injective_meta_rpc.InfoResponse.BuildEntry 10, // 2: injective_meta_rpc.TokenMetadataResponse.tokens:type_name -> injective_meta_rpc.TokenMetadataElement @@ -783,13 +784,13 @@ var file_injective_meta_rpc_proto_depIdxs = []int32{ 0, // [0:3] is the sub-list for field type_name } -func init() { file_injective_meta_rpc_proto_init() } -func file_injective_meta_rpc_proto_init() { - if File_injective_meta_rpc_proto != nil { +func init() { file_goadesign_goagen_injective_meta_rpc_proto_init() } +func file_goadesign_goagen_injective_meta_rpc_proto_init() { + if File_goadesign_goagen_injective_meta_rpc_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_injective_meta_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PingRequest); i { case 0: return &v.state @@ -801,7 +802,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PingResponse); i { case 0: return &v.state @@ -813,7 +814,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VersionRequest); i { case 0: return &v.state @@ -825,7 +826,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VersionResponse); i { case 0: return &v.state @@ -837,7 +838,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InfoRequest); i { case 0: return &v.state @@ -849,7 +850,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InfoResponse); i { case 0: return &v.state @@ -861,7 +862,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamKeepaliveRequest); i { case 0: return &v.state @@ -873,7 +874,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamKeepaliveResponse); i { case 0: return &v.state @@ -885,7 +886,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenMetadataRequest); i { case 0: return &v.state @@ -897,7 +898,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenMetadataResponse); i { case 0: return &v.state @@ -909,7 +910,7 @@ func file_injective_meta_rpc_proto_init() { return nil } } - file_injective_meta_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_meta_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenMetadataElement); i { case 0: return &v.state @@ -926,18 +927,18 @@ func file_injective_meta_rpc_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_meta_rpc_proto_rawDesc, + RawDescriptor: file_goadesign_goagen_injective_meta_rpc_proto_rawDesc, NumEnums: 0, NumMessages: 13, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_injective_meta_rpc_proto_goTypes, - DependencyIndexes: file_injective_meta_rpc_proto_depIdxs, - MessageInfos: file_injective_meta_rpc_proto_msgTypes, + GoTypes: file_goadesign_goagen_injective_meta_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_meta_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_meta_rpc_proto_msgTypes, }.Build() - File_injective_meta_rpc_proto = out.File - file_injective_meta_rpc_proto_rawDesc = nil - file_injective_meta_rpc_proto_goTypes = nil - file_injective_meta_rpc_proto_depIdxs = nil + File_goadesign_goagen_injective_meta_rpc_proto = out.File + file_goadesign_goagen_injective_meta_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_meta_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_meta_rpc_proto_depIdxs = nil } diff --git a/exchange/meta_rpc/pb/injective_meta_rpc.proto b/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc.proto similarity index 98% rename from exchange/meta_rpc/pb/injective_meta_rpc.proto rename to exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc.proto index ed6001d3..87f2e718 100644 --- a/exchange/meta_rpc/pb/injective_meta_rpc.proto +++ b/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveMetaRPC protocol buffer definition // diff --git a/exchange/meta_rpc/pb/injective_meta_rpc_grpc.pb.go b/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc_grpc.pb.go similarity index 98% rename from exchange/meta_rpc/pb/injective_meta_rpc_grpc.pb.go rename to exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc_grpc.pb.go index d1e1ab5b..5928b6b7 100644 --- a/exchange/meta_rpc/pb/injective_meta_rpc_grpc.pb.go +++ b/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_meta_rpc.proto package injective_meta_rpcpb @@ -281,5 +285,5 @@ var InjectiveMetaRPC_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, }, - Metadata: "injective_meta_rpc.proto", + Metadata: "goadesign_goagen_injective_meta_rpc.proto", } diff --git a/exchange/meta_rpc/pb/injective_meta_rpc.pb.gw.go b/exchange/meta_rpc/pb/injective_meta_rpc.pb.gw.go index ee142b89..00df0503 100644 --- a/exchange/meta_rpc/pb/injective_meta_rpc.pb.gw.go +++ b/exchange/meta_rpc/pb/injective_meta_rpc.pb.gw.go @@ -204,20 +204,22 @@ func RegisterInjectiveMetaRPCHandlerServer(ctx context.Context, mux *runtime.Ser var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Ping", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Ping")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Ping", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Ping")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveMetaRPC_Ping_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveMetaRPC_Ping_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveMetaRPC_Ping_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveMetaRPC_Ping_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -227,20 +229,22 @@ func RegisterInjectiveMetaRPCHandlerServer(ctx context.Context, mux *runtime.Ser var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Version", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Version")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Version", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Version")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveMetaRPC_Version_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveMetaRPC_Version_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveMetaRPC_Version_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveMetaRPC_Version_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -250,20 +254,22 @@ func RegisterInjectiveMetaRPCHandlerServer(ctx context.Context, mux *runtime.Ser var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Info", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Info")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Info", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Info")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveMetaRPC_Info_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveMetaRPC_Info_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveMetaRPC_Info_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveMetaRPC_Info_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -280,20 +286,22 @@ func RegisterInjectiveMetaRPCHandlerServer(ctx context.Context, mux *runtime.Ser var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/TokenMetadata", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/TokenMetadata")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/TokenMetadata", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/TokenMetadata")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveMetaRPC_TokenMetadata_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveMetaRPC_TokenMetadata_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveMetaRPC_TokenMetadata_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveMetaRPC_TokenMetadata_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -342,19 +350,21 @@ func RegisterInjectiveMetaRPCHandlerClient(ctx context.Context, mux *runtime.Ser ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Ping", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Ping")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Ping", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Ping")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveMetaRPC_Ping_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveMetaRPC_Ping_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveMetaRPC_Ping_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveMetaRPC_Ping_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -362,19 +372,21 @@ func RegisterInjectiveMetaRPCHandlerClient(ctx context.Context, mux *runtime.Ser ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Version", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Version")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Version", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Version")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveMetaRPC_Version_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveMetaRPC_Version_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveMetaRPC_Version_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveMetaRPC_Version_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -382,19 +394,21 @@ func RegisterInjectiveMetaRPCHandlerClient(ctx context.Context, mux *runtime.Ser ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Info", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Info")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/Info", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/Info")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveMetaRPC_Info_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveMetaRPC_Info_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveMetaRPC_Info_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveMetaRPC_Info_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -402,19 +416,21 @@ func RegisterInjectiveMetaRPCHandlerClient(ctx context.Context, mux *runtime.Ser ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/StreamKeepalive", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/StreamKeepalive")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/StreamKeepalive", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/StreamKeepalive")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveMetaRPC_StreamKeepalive_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveMetaRPC_StreamKeepalive_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveMetaRPC_StreamKeepalive_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveMetaRPC_StreamKeepalive_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -422,19 +438,21 @@ func RegisterInjectiveMetaRPCHandlerClient(ctx context.Context, mux *runtime.Ser ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/TokenMetadata", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/TokenMetadata")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_meta_rpc.InjectiveMetaRPC/TokenMetadata", runtime.WithHTTPPathPattern("/injective_meta_rpc.InjectiveMetaRPC/TokenMetadata")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveMetaRPC_TokenMetadata_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveMetaRPC_TokenMetadata_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveMetaRPC_TokenMetadata_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveMetaRPC_TokenMetadata_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/exchange/oracle_rpc/pb/injective_oracle_rpc.pb.go b/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc.pb.go similarity index 59% rename from exchange/oracle_rpc/pb/injective_oracle_rpc.pb.go rename to exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc.pb.go index 0a61a950..7af894ce 100644 --- a/exchange/oracle_rpc/pb/injective_oracle_rpc.pb.go +++ b/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc.pb.go @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveOracleRPC protocol buffer definition // @@ -8,8 +8,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_oracle_rpc.proto +// protoc v4.25.3 +// source: goadesign_goagen_injective_oracle_rpc.proto package injective_oracle_rpcpb @@ -36,7 +36,7 @@ type OracleListRequest struct { func (x *OracleListRequest) Reset() { *x = OracleListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_oracle_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -49,7 +49,7 @@ func (x *OracleListRequest) String() string { func (*OracleListRequest) ProtoMessage() {} func (x *OracleListRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_oracle_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -62,7 +62,7 @@ func (x *OracleListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use OracleListRequest.ProtoReflect.Descriptor instead. func (*OracleListRequest) Descriptor() ([]byte, []int) { - return file_injective_oracle_rpc_proto_rawDescGZIP(), []int{0} + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP(), []int{0} } type OracleListResponse struct { @@ -76,7 +76,7 @@ type OracleListResponse struct { func (x *OracleListResponse) Reset() { *x = OracleListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_oracle_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -89,7 +89,7 @@ func (x *OracleListResponse) String() string { func (*OracleListResponse) ProtoMessage() {} func (x *OracleListResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_oracle_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -102,7 +102,7 @@ func (x *OracleListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use OracleListResponse.ProtoReflect.Descriptor instead. func (*OracleListResponse) Descriptor() ([]byte, []int) { - return file_injective_oracle_rpc_proto_rawDescGZIP(), []int{1} + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP(), []int{1} } func (x *OracleListResponse) GetOracles() []*Oracle { @@ -132,7 +132,7 @@ type Oracle struct { func (x *Oracle) Reset() { *x = Oracle{} if protoimpl.UnsafeEnabled { - mi := &file_injective_oracle_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -145,7 +145,7 @@ func (x *Oracle) String() string { func (*Oracle) ProtoMessage() {} func (x *Oracle) ProtoReflect() protoreflect.Message { - mi := &file_injective_oracle_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -158,7 +158,7 @@ func (x *Oracle) ProtoReflect() protoreflect.Message { // Deprecated: Use Oracle.ProtoReflect.Descriptor instead. func (*Oracle) Descriptor() ([]byte, []int) { - return file_injective_oracle_rpc_proto_rawDescGZIP(), []int{2} + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP(), []int{2} } func (x *Oracle) GetSymbol() string { @@ -214,7 +214,7 @@ type PriceRequest struct { func (x *PriceRequest) Reset() { *x = PriceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_oracle_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -227,7 +227,7 @@ func (x *PriceRequest) String() string { func (*PriceRequest) ProtoMessage() {} func (x *PriceRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_oracle_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -240,7 +240,7 @@ func (x *PriceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PriceRequest.ProtoReflect.Descriptor instead. func (*PriceRequest) Descriptor() ([]byte, []int) { - return file_injective_oracle_rpc_proto_rawDescGZIP(), []int{3} + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP(), []int{3} } func (x *PriceRequest) GetBaseSymbol() string { @@ -283,7 +283,7 @@ type PriceResponse struct { func (x *PriceResponse) Reset() { *x = PriceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_oracle_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -296,7 +296,7 @@ func (x *PriceResponse) String() string { func (*PriceResponse) ProtoMessage() {} func (x *PriceResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_oracle_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -309,7 +309,7 @@ func (x *PriceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PriceResponse.ProtoReflect.Descriptor instead. func (*PriceResponse) Descriptor() ([]byte, []int) { - return file_injective_oracle_rpc_proto_rawDescGZIP(), []int{4} + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP(), []int{4} } func (x *PriceResponse) GetPrice() string { @@ -335,7 +335,7 @@ type StreamPricesRequest struct { func (x *StreamPricesRequest) Reset() { *x = StreamPricesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_oracle_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -348,7 +348,7 @@ func (x *StreamPricesRequest) String() string { func (*StreamPricesRequest) ProtoMessage() {} func (x *StreamPricesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_oracle_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -361,7 +361,7 @@ func (x *StreamPricesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamPricesRequest.ProtoReflect.Descriptor instead. func (*StreamPricesRequest) Descriptor() ([]byte, []int) { - return file_injective_oracle_rpc_proto_rawDescGZIP(), []int{5} + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP(), []int{5} } func (x *StreamPricesRequest) GetBaseSymbol() string { @@ -399,7 +399,7 @@ type StreamPricesResponse struct { func (x *StreamPricesResponse) Reset() { *x = StreamPricesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_oracle_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -412,7 +412,7 @@ func (x *StreamPricesResponse) String() string { func (*StreamPricesResponse) ProtoMessage() {} func (x *StreamPricesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_oracle_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -425,7 +425,7 @@ func (x *StreamPricesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamPricesResponse.ProtoReflect.Descriptor instead. func (*StreamPricesResponse) Descriptor() ([]byte, []int) { - return file_injective_oracle_rpc_proto_rawDescGZIP(), []int{6} + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP(), []int{6} } func (x *StreamPricesResponse) GetPrice() string { @@ -454,7 +454,7 @@ type StreamPricesByMarketsRequest struct { func (x *StreamPricesByMarketsRequest) Reset() { *x = StreamPricesByMarketsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_oracle_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -467,7 +467,7 @@ func (x *StreamPricesByMarketsRequest) String() string { func (*StreamPricesByMarketsRequest) ProtoMessage() {} func (x *StreamPricesByMarketsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_oracle_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -480,7 +480,7 @@ func (x *StreamPricesByMarketsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamPricesByMarketsRequest.ProtoReflect.Descriptor instead. func (*StreamPricesByMarketsRequest) Descriptor() ([]byte, []int) { - return file_injective_oracle_rpc_proto_rawDescGZIP(), []int{7} + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP(), []int{7} } func (x *StreamPricesByMarketsRequest) GetMarketIds() []string { @@ -506,7 +506,7 @@ type StreamPricesByMarketsResponse struct { func (x *StreamPricesByMarketsResponse) Reset() { *x = StreamPricesByMarketsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_oracle_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -519,7 +519,7 @@ func (x *StreamPricesByMarketsResponse) String() string { func (*StreamPricesByMarketsResponse) ProtoMessage() {} func (x *StreamPricesByMarketsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_oracle_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -532,7 +532,7 @@ func (x *StreamPricesByMarketsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamPricesByMarketsResponse.ProtoReflect.Descriptor instead. func (*StreamPricesByMarketsResponse) Descriptor() ([]byte, []int) { - return file_injective_oracle_rpc_proto_rawDescGZIP(), []int{8} + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP(), []int{8} } func (x *StreamPricesByMarketsResponse) GetPrice() string { @@ -556,111 +556,112 @@ func (x *StreamPricesByMarketsResponse) GetMarketId() string { return "" } -var File_injective_oracle_rpc_proto protoreflect.FileDescriptor - -var file_injective_oracle_rpc_proto_rawDesc = []byte{ - 0x0a, 0x1a, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, - 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x22, 0x13, 0x0a, 0x11, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4c, 0x0a, 0x12, 0x4f, 0x72, 0x61, 0x63, 0x6c, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, - 0x07, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x07, 0x6f, 0x72, - 0x61, 0x63, 0x6c, 0x65, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x06, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x73, 0x65, - 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, +var File_goadesign_goagen_injective_oracle_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_oracle_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2b, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, + 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x22, 0x13, 0x0a, 0x11, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4c, 0x0a, 0x12, 0x4f, 0x72, 0x61, 0x63, + 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, + 0x0a, 0x07, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, + 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x07, 0x6f, + 0x72, 0x61, 0x63, 0x6c, 0x65, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x06, 0x4f, 0x72, 0x61, 0x63, 0x6c, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x73, + 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x62, 0x61, 0x73, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, + 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1f, 0x0a, + 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x79, + 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x73, 0x65, + 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, + 0x6f, 0x74, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x61, + 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x72, + 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x53, + 0x63, 0x61, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x25, 0x0a, 0x0d, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x22, 0x7a, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, 0x6f, - 0x74, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x74, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, - 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x79, 0x6d, - 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x53, - 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x73, - 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x6f, - 0x74, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, - 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, - 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x72, 0x61, - 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x53, 0x63, - 0x61, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x25, 0x0a, 0x0d, 0x50, 0x72, 0x69, - 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, - 0x22, 0x7a, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x5f, - 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, - 0x73, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, 0x6f, 0x74, - 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x71, 0x75, 0x6f, 0x74, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, - 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4a, 0x0a, 0x14, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x3d, 0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, + 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4a, 0x0a, + 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x3d, 0x0a, 0x1c, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x42, 0x79, 0x4d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x70, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x42, 0x79, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x70, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x42, 0x79, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x32, 0xb5, 0x03, 0x0a, 0x12, 0x49, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x50, 0x43, - 0x12, 0x5f, 0x0a, 0x0a, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, - 0x72, 0x61, 0x63, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x50, 0x0a, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x22, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, - 0x63, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, - 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x42, 0x79, 0x4d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x42, 0x79, 0x4d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x42, 0x79, - 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x42, 0x19, 0x5a, 0x17, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x32, 0xb5, 0x03, 0x0a, 0x12, 0x49, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x50, + 0x43, 0x12, 0x5f, 0x0a, 0x0a, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, + 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x4f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x50, 0x0a, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x22, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, + 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, + 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, + 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x42, 0x79, + 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x42, 0x79, 0x4d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x42, + 0x79, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x30, 0x01, 0x42, 0x19, 0x5a, 0x17, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_injective_oracle_rpc_proto_rawDescOnce sync.Once - file_injective_oracle_rpc_proto_rawDescData = file_injective_oracle_rpc_proto_rawDesc + file_goadesign_goagen_injective_oracle_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_oracle_rpc_proto_rawDescData = file_goadesign_goagen_injective_oracle_rpc_proto_rawDesc ) -func file_injective_oracle_rpc_proto_rawDescGZIP() []byte { - file_injective_oracle_rpc_proto_rawDescOnce.Do(func() { - file_injective_oracle_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_oracle_rpc_proto_rawDescData) +func file_goadesign_goagen_injective_oracle_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_oracle_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_oracle_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_oracle_rpc_proto_rawDescData) }) - return file_injective_oracle_rpc_proto_rawDescData + return file_goadesign_goagen_injective_oracle_rpc_proto_rawDescData } -var file_injective_oracle_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 9) -var file_injective_oracle_rpc_proto_goTypes = []interface{}{ +var file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_goadesign_goagen_injective_oracle_rpc_proto_goTypes = []interface{}{ (*OracleListRequest)(nil), // 0: injective_oracle_rpc.OracleListRequest (*OracleListResponse)(nil), // 1: injective_oracle_rpc.OracleListResponse (*Oracle)(nil), // 2: injective_oracle_rpc.Oracle @@ -671,7 +672,7 @@ var file_injective_oracle_rpc_proto_goTypes = []interface{}{ (*StreamPricesByMarketsRequest)(nil), // 7: injective_oracle_rpc.StreamPricesByMarketsRequest (*StreamPricesByMarketsResponse)(nil), // 8: injective_oracle_rpc.StreamPricesByMarketsResponse } -var file_injective_oracle_rpc_proto_depIdxs = []int32{ +var file_goadesign_goagen_injective_oracle_rpc_proto_depIdxs = []int32{ 2, // 0: injective_oracle_rpc.OracleListResponse.oracles:type_name -> injective_oracle_rpc.Oracle 0, // 1: injective_oracle_rpc.InjectiveOracleRPC.OracleList:input_type -> injective_oracle_rpc.OracleListRequest 3, // 2: injective_oracle_rpc.InjectiveOracleRPC.Price:input_type -> injective_oracle_rpc.PriceRequest @@ -688,13 +689,13 @@ var file_injective_oracle_rpc_proto_depIdxs = []int32{ 0, // [0:1] is the sub-list for field type_name } -func init() { file_injective_oracle_rpc_proto_init() } -func file_injective_oracle_rpc_proto_init() { - if File_injective_oracle_rpc_proto != nil { +func init() { file_goadesign_goagen_injective_oracle_rpc_proto_init() } +func file_goadesign_goagen_injective_oracle_rpc_proto_init() { + if File_goadesign_goagen_injective_oracle_rpc_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_injective_oracle_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OracleListRequest); i { case 0: return &v.state @@ -706,7 +707,7 @@ func file_injective_oracle_rpc_proto_init() { return nil } } - file_injective_oracle_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OracleListResponse); i { case 0: return &v.state @@ -718,7 +719,7 @@ func file_injective_oracle_rpc_proto_init() { return nil } } - file_injective_oracle_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Oracle); i { case 0: return &v.state @@ -730,7 +731,7 @@ func file_injective_oracle_rpc_proto_init() { return nil } } - file_injective_oracle_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PriceRequest); i { case 0: return &v.state @@ -742,7 +743,7 @@ func file_injective_oracle_rpc_proto_init() { return nil } } - file_injective_oracle_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PriceResponse); i { case 0: return &v.state @@ -754,7 +755,7 @@ func file_injective_oracle_rpc_proto_init() { return nil } } - file_injective_oracle_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamPricesRequest); i { case 0: return &v.state @@ -766,7 +767,7 @@ func file_injective_oracle_rpc_proto_init() { return nil } } - file_injective_oracle_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamPricesResponse); i { case 0: return &v.state @@ -778,7 +779,7 @@ func file_injective_oracle_rpc_proto_init() { return nil } } - file_injective_oracle_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamPricesByMarketsRequest); i { case 0: return &v.state @@ -790,7 +791,7 @@ func file_injective_oracle_rpc_proto_init() { return nil } } - file_injective_oracle_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamPricesByMarketsResponse); i { case 0: return &v.state @@ -807,18 +808,18 @@ func file_injective_oracle_rpc_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_oracle_rpc_proto_rawDesc, + RawDescriptor: file_goadesign_goagen_injective_oracle_rpc_proto_rawDesc, NumEnums: 0, NumMessages: 9, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_injective_oracle_rpc_proto_goTypes, - DependencyIndexes: file_injective_oracle_rpc_proto_depIdxs, - MessageInfos: file_injective_oracle_rpc_proto_msgTypes, + GoTypes: file_goadesign_goagen_injective_oracle_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_oracle_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_oracle_rpc_proto_msgTypes, }.Build() - File_injective_oracle_rpc_proto = out.File - file_injective_oracle_rpc_proto_rawDesc = nil - file_injective_oracle_rpc_proto_goTypes = nil - file_injective_oracle_rpc_proto_depIdxs = nil + File_goadesign_goagen_injective_oracle_rpc_proto = out.File + file_goadesign_goagen_injective_oracle_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_oracle_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_oracle_rpc_proto_depIdxs = nil } diff --git a/exchange/oracle_rpc/pb/injective_oracle_rpc.proto b/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc.proto similarity index 97% rename from exchange/oracle_rpc/pb/injective_oracle_rpc.proto rename to exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc.proto index 8f190dd9..7185b66e 100644 --- a/exchange/oracle_rpc/pb/injective_oracle_rpc.proto +++ b/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveOracleRPC protocol buffer definition // diff --git a/exchange/oracle_rpc/pb/injective_oracle_rpc_grpc.pb.go b/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc_grpc.pb.go similarity index 98% rename from exchange/oracle_rpc/pb/injective_oracle_rpc_grpc.pb.go rename to exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc_grpc.pb.go index 169bec13..342df40a 100644 --- a/exchange/oracle_rpc/pb/injective_oracle_rpc_grpc.pb.go +++ b/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_oracle_rpc.proto package injective_oracle_rpcpb @@ -270,5 +274,5 @@ var InjectiveOracleRPC_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, }, - Metadata: "injective_oracle_rpc.proto", + Metadata: "goadesign_goagen_injective_oracle_rpc.proto", } diff --git a/exchange/oracle_rpc/pb/injective_oracle_rpc.pb.gw.go b/exchange/oracle_rpc/pb/injective_oracle_rpc.pb.gw.go index 10332f0e..6880d0ca 100644 --- a/exchange/oracle_rpc/pb/injective_oracle_rpc.pb.gw.go +++ b/exchange/oracle_rpc/pb/injective_oracle_rpc.pb.gw.go @@ -161,20 +161,22 @@ func RegisterInjectiveOracleRPCHandlerServer(ctx context.Context, mux *runtime.S var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/OracleList", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/OracleList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/OracleList", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/OracleList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveOracleRPC_OracleList_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveOracleRPC_OracleList_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveOracleRPC_OracleList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveOracleRPC_OracleList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -184,20 +186,22 @@ func RegisterInjectiveOracleRPCHandlerServer(ctx context.Context, mux *runtime.S var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/Price", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/Price")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/Price", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/Price")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveOracleRPC_Price_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveOracleRPC_Price_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveOracleRPC_Price_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveOracleRPC_Price_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -260,19 +264,21 @@ func RegisterInjectiveOracleRPCHandlerClient(ctx context.Context, mux *runtime.S ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/OracleList", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/OracleList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/OracleList", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/OracleList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveOracleRPC_OracleList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveOracleRPC_OracleList_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveOracleRPC_OracleList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveOracleRPC_OracleList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -280,19 +286,21 @@ func RegisterInjectiveOracleRPCHandlerClient(ctx context.Context, mux *runtime.S ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/Price", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/Price")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/Price", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/Price")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveOracleRPC_Price_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveOracleRPC_Price_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveOracleRPC_Price_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveOracleRPC_Price_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -300,19 +308,21 @@ func RegisterInjectiveOracleRPCHandlerClient(ctx context.Context, mux *runtime.S ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/StreamPrices", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/StreamPrices")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/StreamPrices", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/StreamPrices")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveOracleRPC_StreamPrices_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveOracleRPC_StreamPrices_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveOracleRPC_StreamPrices_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveOracleRPC_StreamPrices_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -320,19 +330,21 @@ func RegisterInjectiveOracleRPCHandlerClient(ctx context.Context, mux *runtime.S ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/StreamPricesByMarkets", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/StreamPricesByMarkets")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_oracle_rpc.InjectiveOracleRPC/StreamPricesByMarkets", runtime.WithHTTPPathPattern("/injective_oracle_rpc.InjectiveOracleRPC/StreamPricesByMarkets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveOracleRPC_StreamPricesByMarkets_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveOracleRPC_StreamPricesByMarkets_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveOracleRPC_StreamPricesByMarkets_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveOracleRPC_StreamPricesByMarkets_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) diff --git a/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.pb.go b/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.pb.go new file mode 100644 index 00000000..7f9f25db --- /dev/null +++ b/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.pb.go @@ -0,0 +1,1534 @@ +// Code generated with goa v3.7.0, DO NOT EDIT. +// +// InjectivePortfolioRPC protocol buffer definition +// +// Command: +// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc v4.25.3 +// source: goadesign_goagen_injective_portfolio_rpc.proto + +package injective_portfolio_rpcpb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type TokenHoldersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Denom of the token + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + // Cursor for pagination + Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` + Limit int32 `protobuf:"zigzag32,3,opt,name=limit,proto3" json:"limit,omitempty"` +} + +func (x *TokenHoldersRequest) Reset() { + *x = TokenHoldersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TokenHoldersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TokenHoldersRequest) ProtoMessage() {} + +func (x *TokenHoldersRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TokenHoldersRequest.ProtoReflect.Descriptor instead. +func (*TokenHoldersRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{0} +} + +func (x *TokenHoldersRequest) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *TokenHoldersRequest) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +func (x *TokenHoldersRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +type TokenHoldersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Holders []*Holder `protobuf:"bytes,1,rep,name=holders,proto3" json:"holders,omitempty"` + // Next cursors for pagination + NextCursors []string `protobuf:"bytes,2,rep,name=next_cursors,json=nextCursors,proto3" json:"next_cursors,omitempty"` +} + +func (x *TokenHoldersResponse) Reset() { + *x = TokenHoldersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TokenHoldersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TokenHoldersResponse) ProtoMessage() {} + +func (x *TokenHoldersResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TokenHoldersResponse.ProtoReflect.Descriptor instead. +func (*TokenHoldersResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{1} +} + +func (x *TokenHoldersResponse) GetHolders() []*Holder { + if x != nil { + return x.Holders + } + return nil +} + +func (x *TokenHoldersResponse) GetNextCursors() []string { + if x != nil { + return x.NextCursors + } + return nil +} + +type Holder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address for the holder + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // The balance of the holder + Balance string `protobuf:"bytes,2,opt,name=balance,proto3" json:"balance,omitempty"` +} + +func (x *Holder) Reset() { + *x = Holder{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Holder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Holder) ProtoMessage() {} + +func (x *Holder) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Holder.ProtoReflect.Descriptor instead. +func (*Holder) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{2} +} + +func (x *Holder) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *Holder) GetBalance() string { + if x != nil { + return x.Balance + } + return "" +} + +type AccountPortfolioRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *AccountPortfolioRequest) Reset() { + *x = AccountPortfolioRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountPortfolioRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountPortfolioRequest) ProtoMessage() {} + +func (x *AccountPortfolioRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountPortfolioRequest.ProtoReflect.Descriptor instead. +func (*AccountPortfolioRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{3} +} + +func (x *AccountPortfolioRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type AccountPortfolioResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The portfolio of this account + Portfolio *Portfolio `protobuf:"bytes,1,opt,name=portfolio,proto3" json:"portfolio,omitempty"` +} + +func (x *AccountPortfolioResponse) Reset() { + *x = AccountPortfolioResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountPortfolioResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountPortfolioResponse) ProtoMessage() {} + +func (x *AccountPortfolioResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountPortfolioResponse.ProtoReflect.Descriptor instead. +func (*AccountPortfolioResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{4} +} + +func (x *AccountPortfolioResponse) GetPortfolio() *Portfolio { + if x != nil { + return x.Portfolio + } + return nil +} + +type Portfolio struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The account's portfolio address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // Account available bank balances + BankBalances []*Coin `protobuf:"bytes,2,rep,name=bank_balances,json=bankBalances,proto3" json:"bank_balances,omitempty"` + // Subaccounts list + Subaccounts []*SubaccountBalanceV2 `protobuf:"bytes,3,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` + // All positions for all subaccounts, with unrealized PNL + PositionsWithUpnl []*PositionsWithUPNL `protobuf:"bytes,4,rep,name=positions_with_upnl,json=positionsWithUpnl,proto3" json:"positions_with_upnl,omitempty"` +} + +func (x *Portfolio) Reset() { + *x = Portfolio{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Portfolio) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Portfolio) ProtoMessage() {} + +func (x *Portfolio) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Portfolio.ProtoReflect.Descriptor instead. +func (*Portfolio) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{5} +} + +func (x *Portfolio) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *Portfolio) GetBankBalances() []*Coin { + if x != nil { + return x.BankBalances + } + return nil +} + +func (x *Portfolio) GetSubaccounts() []*SubaccountBalanceV2 { + if x != nil { + return x.Subaccounts + } + return nil +} + +func (x *Portfolio) GetPositionsWithUpnl() []*PositionsWithUPNL { + if x != nil { + return x.PositionsWithUpnl + } + return nil +} + +type Coin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Denom of the coin + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *Coin) Reset() { + *x = Coin{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Coin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Coin) ProtoMessage() {} + +func (x *Coin) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Coin.ProtoReflect.Descriptor instead. +func (*Coin) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{6} +} + +func (x *Coin) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *Coin) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +type SubaccountBalanceV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Related subaccount ID + SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Coin denom on the chain. + Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` + Deposit *SubaccountDeposit `protobuf:"bytes,3,opt,name=deposit,proto3" json:"deposit,omitempty"` +} + +func (x *SubaccountBalanceV2) Reset() { + *x = SubaccountBalanceV2{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountBalanceV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountBalanceV2) ProtoMessage() {} + +func (x *SubaccountBalanceV2) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountBalanceV2.ProtoReflect.Descriptor instead. +func (*SubaccountBalanceV2) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{7} +} + +func (x *SubaccountBalanceV2) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *SubaccountBalanceV2) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *SubaccountBalanceV2) GetDeposit() *SubaccountDeposit { + if x != nil { + return x.Deposit + } + return nil +} + +type SubaccountDeposit struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TotalBalance string `protobuf:"bytes,1,opt,name=total_balance,json=totalBalance,proto3" json:"total_balance,omitempty"` + AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` +} + +func (x *SubaccountDeposit) Reset() { + *x = SubaccountDeposit{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubaccountDeposit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubaccountDeposit) ProtoMessage() {} + +func (x *SubaccountDeposit) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubaccountDeposit.ProtoReflect.Descriptor instead. +func (*SubaccountDeposit) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{8} +} + +func (x *SubaccountDeposit) GetTotalBalance() string { + if x != nil { + return x.TotalBalance + } + return "" +} + +func (x *SubaccountDeposit) GetAvailableBalance() string { + if x != nil { + return x.AvailableBalance + } + return "" +} + +type PositionsWithUPNL struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Position *DerivativePosition `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"` + // Unrealized PNL + UnrealizedPnl string `protobuf:"bytes,2,opt,name=unrealized_pnl,json=unrealizedPnl,proto3" json:"unrealized_pnl,omitempty"` +} + +func (x *PositionsWithUPNL) Reset() { + *x = PositionsWithUPNL{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PositionsWithUPNL) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PositionsWithUPNL) ProtoMessage() {} + +func (x *PositionsWithUPNL) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PositionsWithUPNL.ProtoReflect.Descriptor instead. +func (*PositionsWithUPNL) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{9} +} + +func (x *PositionsWithUPNL) GetPosition() *DerivativePosition { + if x != nil { + return x.Position + } + return nil +} + +func (x *PositionsWithUPNL) GetUnrealizedPnl() string { + if x != nil { + return x.UnrealizedPnl + } + return "" +} + +type DerivativePosition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Ticker of the derivative market + Ticker string `protobuf:"bytes,1,opt,name=ticker,proto3" json:"ticker,omitempty"` + // Derivative Market ID + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // The subaccountId that the position belongs to + SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Direction of the position + Direction string `protobuf:"bytes,4,opt,name=direction,proto3" json:"direction,omitempty"` + // Quantity of the position + Quantity string `protobuf:"bytes,5,opt,name=quantity,proto3" json:"quantity,omitempty"` + // Price of the position + EntryPrice string `protobuf:"bytes,6,opt,name=entry_price,json=entryPrice,proto3" json:"entry_price,omitempty"` + // Margin of the position + Margin string `protobuf:"bytes,7,opt,name=margin,proto3" json:"margin,omitempty"` + // LiquidationPrice of the position + LiquidationPrice string `protobuf:"bytes,8,opt,name=liquidation_price,json=liquidationPrice,proto3" json:"liquidation_price,omitempty"` + // MarkPrice of the position + MarkPrice string `protobuf:"bytes,9,opt,name=mark_price,json=markPrice,proto3" json:"mark_price,omitempty"` + // Aggregate Quantity of the Reduce Only orders associated with the position + AggregateReduceOnlyQuantity string `protobuf:"bytes,11,opt,name=aggregate_reduce_only_quantity,json=aggregateReduceOnlyQuantity,proto3" json:"aggregate_reduce_only_quantity,omitempty"` + // Position updated timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Position created timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,13,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` +} + +func (x *DerivativePosition) Reset() { + *x = DerivativePosition{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DerivativePosition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DerivativePosition) ProtoMessage() {} + +func (x *DerivativePosition) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DerivativePosition.ProtoReflect.Descriptor instead. +func (*DerivativePosition) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{10} +} + +func (x *DerivativePosition) GetTicker() string { + if x != nil { + return x.Ticker + } + return "" +} + +func (x *DerivativePosition) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *DerivativePosition) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *DerivativePosition) GetDirection() string { + if x != nil { + return x.Direction + } + return "" +} + +func (x *DerivativePosition) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *DerivativePosition) GetEntryPrice() string { + if x != nil { + return x.EntryPrice + } + return "" +} + +func (x *DerivativePosition) GetMargin() string { + if x != nil { + return x.Margin + } + return "" +} + +func (x *DerivativePosition) GetLiquidationPrice() string { + if x != nil { + return x.LiquidationPrice + } + return "" +} + +func (x *DerivativePosition) GetMarkPrice() string { + if x != nil { + return x.MarkPrice + } + return "" +} + +func (x *DerivativePosition) GetAggregateReduceOnlyQuantity() string { + if x != nil { + return x.AggregateReduceOnlyQuantity + } + return "" +} + +func (x *DerivativePosition) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *DerivativePosition) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +type AccountPortfolioBalancesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Account address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` +} + +func (x *AccountPortfolioBalancesRequest) Reset() { + *x = AccountPortfolioBalancesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountPortfolioBalancesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountPortfolioBalancesRequest) ProtoMessage() {} + +func (x *AccountPortfolioBalancesRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountPortfolioBalancesRequest.ProtoReflect.Descriptor instead. +func (*AccountPortfolioBalancesRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{11} +} + +func (x *AccountPortfolioBalancesRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +type AccountPortfolioBalancesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The portfolio balances of this account + Portfolio *PortfolioBalances `protobuf:"bytes,1,opt,name=portfolio,proto3" json:"portfolio,omitempty"` +} + +func (x *AccountPortfolioBalancesResponse) Reset() { + *x = AccountPortfolioBalancesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountPortfolioBalancesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountPortfolioBalancesResponse) ProtoMessage() {} + +func (x *AccountPortfolioBalancesResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountPortfolioBalancesResponse.ProtoReflect.Descriptor instead. +func (*AccountPortfolioBalancesResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{12} +} + +func (x *AccountPortfolioBalancesResponse) GetPortfolio() *PortfolioBalances { + if x != nil { + return x.Portfolio + } + return nil +} + +type PortfolioBalances struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The account's portfolio address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // Account available bank balances + BankBalances []*Coin `protobuf:"bytes,2,rep,name=bank_balances,json=bankBalances,proto3" json:"bank_balances,omitempty"` + // Subaccounts list + Subaccounts []*SubaccountBalanceV2 `protobuf:"bytes,3,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` +} + +func (x *PortfolioBalances) Reset() { + *x = PortfolioBalances{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortfolioBalances) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortfolioBalances) ProtoMessage() {} + +func (x *PortfolioBalances) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PortfolioBalances.ProtoReflect.Descriptor instead. +func (*PortfolioBalances) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{13} +} + +func (x *PortfolioBalances) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *PortfolioBalances) GetBankBalances() []*Coin { + if x != nil { + return x.BankBalances + } + return nil +} + +func (x *PortfolioBalances) GetSubaccounts() []*SubaccountBalanceV2 { + if x != nil { + return x.Subaccounts + } + return nil +} + +type StreamAccountPortfolioRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The account's portfolio address + AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // Related subaccount ID + SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` +} + +func (x *StreamAccountPortfolioRequest) Reset() { + *x = StreamAccountPortfolioRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamAccountPortfolioRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamAccountPortfolioRequest) ProtoMessage() {} + +func (x *StreamAccountPortfolioRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamAccountPortfolioRequest.ProtoReflect.Descriptor instead. +func (*StreamAccountPortfolioRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{14} +} + +func (x *StreamAccountPortfolioRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *StreamAccountPortfolioRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *StreamAccountPortfolioRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +type StreamAccountPortfolioResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // type of portfolio entry + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // denom of portfolio entry + Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` + // amount of portfolio entry + 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() { + *x = StreamAccountPortfolioResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamAccountPortfolioResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamAccountPortfolioResponse) ProtoMessage() {} + +func (x *StreamAccountPortfolioResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamAccountPortfolioResponse.ProtoReflect.Descriptor instead. +func (*StreamAccountPortfolioResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP(), []int{15} +} + +func (x *StreamAccountPortfolioResponse) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *StreamAccountPortfolioResponse) GetDenom() string { + if x != nil { + return x.Denom + } + return "" +} + +func (x *StreamAccountPortfolioResponse) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +func (x *StreamAccountPortfolioResponse) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *StreamAccountPortfolioResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +var File_goadesign_goagen_injective_portfolio_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_portfolio_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x72, + 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x17, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, + 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x59, 0x0a, 0x13, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 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, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x22, 0x74, 0x0a, 0x14, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x6f, 0x6c, + 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x07, + 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 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, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x07, + 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x6e, + 0x65, 0x78, 0x74, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x73, 0x22, 0x4b, 0x0a, 0x06, 0x48, 0x6f, + 0x6c, 0x64, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, + 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x42, 0x0a, 0x17, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x5c, 0x0a, 0x18, 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, 0x40, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x66, + 0x6f, 0x6c, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 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, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x09, + 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x22, 0xa4, 0x02, 0x0a, 0x09, 0x50, 0x6f, + 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x42, 0x0a, 0x0d, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 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, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x0c, 0x62, 0x61, 0x6e, 0x6b, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 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, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x32, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x13, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x70, 0x6e, 0x6c, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2a, 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, 0x50, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x50, 0x4e, 0x4c, 0x52, 0x11, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x70, 0x6e, 0x6c, + 0x22, 0x34, 0x0a, 0x04, 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, 0x96, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x32, 0x12, 0x23, + 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x44, 0x0a, 0x07, 0x64, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 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, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x07, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x22, + 0x65, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x50, 0x4e, 0x4c, 0x12, 0x47, 0x0a, 0x08, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 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, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x64, 0x5f, 0x70, 0x6e, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x75, + 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x6e, 0x6c, 0x22, 0xb0, 0x03, 0x0a, + 0x12, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, + 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, + 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, + 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x69, 0x71, + 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x1e, + 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, + 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, + 0x4a, 0x0a, 0x1f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, + 0x6c, 0x69, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x6c, 0x0a, 0x20, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x48, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2a, 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, 0x50, 0x6f, 0x72, + 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x09, + 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x22, 0xd0, 0x01, 0x0a, 0x11, 0x50, 0x6f, + 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, + 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x62, 0x61, 0x6e, 0x6b, + 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1d, 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, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x0c, + 0x62, 0x61, 0x6e, 0x6b, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0b, + 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2c, 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, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x32, 0x52, + 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x81, 0x01, 0x0a, + 0x1d, 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, 0x12, 0x27, + 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 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, 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, 0x65, 0x6e, 0x6f, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 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, 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, 0x9d, 0x04, 0x0a, 0x15, 0x49, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, + 0x50, 0x43, 0x12, 0x6b, 0x0a, 0x0c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x48, 0x6f, 0x6c, 0x64, 0x65, + 0x72, 0x73, 0x12, 0x2c, 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, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2d, 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, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x18, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x38, 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, + 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x39, 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, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x73, 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 ( + file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescData = file_goadesign_goagen_injective_portfolio_rpc_proto_rawDesc +) + +func file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescData) + }) + return file_goadesign_goagen_injective_portfolio_rpc_proto_rawDescData +} + +var file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_goadesign_goagen_injective_portfolio_rpc_proto_goTypes = []interface{}{ + (*TokenHoldersRequest)(nil), // 0: injective_portfolio_rpc.TokenHoldersRequest + (*TokenHoldersResponse)(nil), // 1: injective_portfolio_rpc.TokenHoldersResponse + (*Holder)(nil), // 2: injective_portfolio_rpc.Holder + (*AccountPortfolioRequest)(nil), // 3: injective_portfolio_rpc.AccountPortfolioRequest + (*AccountPortfolioResponse)(nil), // 4: injective_portfolio_rpc.AccountPortfolioResponse + (*Portfolio)(nil), // 5: injective_portfolio_rpc.Portfolio + (*Coin)(nil), // 6: injective_portfolio_rpc.Coin + (*SubaccountBalanceV2)(nil), // 7: injective_portfolio_rpc.SubaccountBalanceV2 + (*SubaccountDeposit)(nil), // 8: injective_portfolio_rpc.SubaccountDeposit + (*PositionsWithUPNL)(nil), // 9: injective_portfolio_rpc.PositionsWithUPNL + (*DerivativePosition)(nil), // 10: injective_portfolio_rpc.DerivativePosition + (*AccountPortfolioBalancesRequest)(nil), // 11: injective_portfolio_rpc.AccountPortfolioBalancesRequest + (*AccountPortfolioBalancesResponse)(nil), // 12: injective_portfolio_rpc.AccountPortfolioBalancesResponse + (*PortfolioBalances)(nil), // 13: injective_portfolio_rpc.PortfolioBalances + (*StreamAccountPortfolioRequest)(nil), // 14: injective_portfolio_rpc.StreamAccountPortfolioRequest + (*StreamAccountPortfolioResponse)(nil), // 15: injective_portfolio_rpc.StreamAccountPortfolioResponse +} +var file_goadesign_goagen_injective_portfolio_rpc_proto_depIdxs = []int32{ + 2, // 0: injective_portfolio_rpc.TokenHoldersResponse.holders:type_name -> injective_portfolio_rpc.Holder + 5, // 1: injective_portfolio_rpc.AccountPortfolioResponse.portfolio:type_name -> injective_portfolio_rpc.Portfolio + 6, // 2: injective_portfolio_rpc.Portfolio.bank_balances:type_name -> injective_portfolio_rpc.Coin + 7, // 3: injective_portfolio_rpc.Portfolio.subaccounts:type_name -> injective_portfolio_rpc.SubaccountBalanceV2 + 9, // 4: injective_portfolio_rpc.Portfolio.positions_with_upnl:type_name -> injective_portfolio_rpc.PositionsWithUPNL + 8, // 5: injective_portfolio_rpc.SubaccountBalanceV2.deposit:type_name -> injective_portfolio_rpc.SubaccountDeposit + 10, // 6: injective_portfolio_rpc.PositionsWithUPNL.position:type_name -> injective_portfolio_rpc.DerivativePosition + 13, // 7: injective_portfolio_rpc.AccountPortfolioBalancesResponse.portfolio:type_name -> injective_portfolio_rpc.PortfolioBalances + 6, // 8: injective_portfolio_rpc.PortfolioBalances.bank_balances:type_name -> injective_portfolio_rpc.Coin + 7, // 9: injective_portfolio_rpc.PortfolioBalances.subaccounts:type_name -> injective_portfolio_rpc.SubaccountBalanceV2 + 0, // 10: injective_portfolio_rpc.InjectivePortfolioRPC.TokenHolders:input_type -> injective_portfolio_rpc.TokenHoldersRequest + 3, // 11: injective_portfolio_rpc.InjectivePortfolioRPC.AccountPortfolio:input_type -> injective_portfolio_rpc.AccountPortfolioRequest + 11, // 12: injective_portfolio_rpc.InjectivePortfolioRPC.AccountPortfolioBalances:input_type -> injective_portfolio_rpc.AccountPortfolioBalancesRequest + 14, // 13: injective_portfolio_rpc.InjectivePortfolioRPC.StreamAccountPortfolio:input_type -> injective_portfolio_rpc.StreamAccountPortfolioRequest + 1, // 14: injective_portfolio_rpc.InjectivePortfolioRPC.TokenHolders:output_type -> injective_portfolio_rpc.TokenHoldersResponse + 4, // 15: injective_portfolio_rpc.InjectivePortfolioRPC.AccountPortfolio:output_type -> injective_portfolio_rpc.AccountPortfolioResponse + 12, // 16: injective_portfolio_rpc.InjectivePortfolioRPC.AccountPortfolioBalances:output_type -> injective_portfolio_rpc.AccountPortfolioBalancesResponse + 15, // 17: injective_portfolio_rpc.InjectivePortfolioRPC.StreamAccountPortfolio:output_type -> injective_portfolio_rpc.StreamAccountPortfolioResponse + 14, // [14:18] is the sub-list for method output_type + 10, // [10:14] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { file_goadesign_goagen_injective_portfolio_rpc_proto_init() } +func file_goadesign_goagen_injective_portfolio_rpc_proto_init() { + if File_goadesign_goagen_injective_portfolio_rpc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TokenHoldersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TokenHoldersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Holder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountPortfolioRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountPortfolioResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Portfolio); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Coin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountBalanceV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubaccountDeposit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PositionsWithUPNL); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DerivativePosition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountPortfolioBalancesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountPortfolioBalancesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortfolioBalances); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamAccountPortfolioRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamAccountPortfolioResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_goadesign_goagen_injective_portfolio_rpc_proto_rawDesc, + NumEnums: 0, + NumMessages: 16, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_goadesign_goagen_injective_portfolio_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_portfolio_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_portfolio_rpc_proto_msgTypes, + }.Build() + File_goadesign_goagen_injective_portfolio_rpc_proto = out.File + file_goadesign_goagen_injective_portfolio_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_portfolio_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_portfolio_rpc_proto_depIdxs = nil +} diff --git a/exchange/portfolio_rpc/pb/injective_portfolio_rpc.proto b/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.proto similarity index 85% rename from exchange/portfolio_rpc/pb/injective_portfolio_rpc.proto rename to exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.proto index 9c56cbdc..df98146b 100644 --- a/exchange/portfolio_rpc/pb/injective_portfolio_rpc.proto +++ b/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectivePortfolioRPC protocol buffer definition // @@ -13,6 +13,8 @@ option go_package = "/injective_portfolio_rpcpb"; // InjectivePortfolioRPC defines gRPC API of Exchange Portfolio provider. service InjectivePortfolioRPC { + // Provide a list of addresses holding a specific token + rpc TokenHolders (TokenHoldersRequest) returns (TokenHoldersResponse); // Provide the account's portfolio rpc AccountPortfolio (AccountPortfolioRequest) returns (AccountPortfolioResponse); // Provide the account's portfolio balances @@ -21,6 +23,27 @@ service InjectivePortfolioRPC { rpc StreamAccountPortfolio (StreamAccountPortfolioRequest) returns (stream StreamAccountPortfolioResponse); } +message TokenHoldersRequest { + // Denom of the token + string denom = 1; + // Cursor for pagination + string cursor = 2; + sint32 limit = 3; +} + +message TokenHoldersResponse { + repeated Holder holders = 1; + // Next cursors for pagination + repeated string next_cursors = 2; +} + +message Holder { + // Account address for the holder + string account_address = 1; + // The balance of the holder + string balance = 2; +} + message AccountPortfolioRequest { // Account address string account_address = 1; diff --git a/exchange/portfolio_rpc/pb/injective_portfolio_rpc_grpc.pb.go b/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc_grpc.pb.go similarity index 82% rename from exchange/portfolio_rpc/pb/injective_portfolio_rpc_grpc.pb.go rename to exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc_grpc.pb.go index e2346487..ba8d525d 100644 --- a/exchange/portfolio_rpc/pb/injective_portfolio_rpc_grpc.pb.go +++ b/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_portfolio_rpc.proto package injective_portfolio_rpcpb @@ -18,6 +22,8 @@ const _ = grpc.SupportPackageIsVersion7 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type InjectivePortfolioRPCClient interface { + // Provide a list of addresses holding a specific token + TokenHolders(ctx context.Context, in *TokenHoldersRequest, opts ...grpc.CallOption) (*TokenHoldersResponse, error) // Provide the account's portfolio AccountPortfolio(ctx context.Context, in *AccountPortfolioRequest, opts ...grpc.CallOption) (*AccountPortfolioResponse, error) // Provide the account's portfolio balances @@ -34,6 +40,15 @@ func NewInjectivePortfolioRPCClient(cc grpc.ClientConnInterface) InjectivePortfo return &injectivePortfolioRPCClient{cc} } +func (c *injectivePortfolioRPCClient) TokenHolders(ctx context.Context, in *TokenHoldersRequest, opts ...grpc.CallOption) (*TokenHoldersResponse, error) { + out := new(TokenHoldersResponse) + err := c.cc.Invoke(ctx, "/injective_portfolio_rpc.InjectivePortfolioRPC/TokenHolders", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *injectivePortfolioRPCClient) AccountPortfolio(ctx context.Context, in *AccountPortfolioRequest, opts ...grpc.CallOption) (*AccountPortfolioResponse, error) { out := new(AccountPortfolioResponse) err := c.cc.Invoke(ctx, "/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio", in, out, opts...) @@ -88,6 +103,8 @@ func (x *injectivePortfolioRPCStreamAccountPortfolioClient) Recv() (*StreamAccou // All implementations must embed UnimplementedInjectivePortfolioRPCServer // for forward compatibility type InjectivePortfolioRPCServer interface { + // Provide a list of addresses holding a specific token + TokenHolders(context.Context, *TokenHoldersRequest) (*TokenHoldersResponse, error) // Provide the account's portfolio AccountPortfolio(context.Context, *AccountPortfolioRequest) (*AccountPortfolioResponse, error) // Provide the account's portfolio balances @@ -101,6 +118,9 @@ type InjectivePortfolioRPCServer interface { type UnimplementedInjectivePortfolioRPCServer struct { } +func (UnimplementedInjectivePortfolioRPCServer) TokenHolders(context.Context, *TokenHoldersRequest) (*TokenHoldersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TokenHolders not implemented") +} func (UnimplementedInjectivePortfolioRPCServer) AccountPortfolio(context.Context, *AccountPortfolioRequest) (*AccountPortfolioResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AccountPortfolio not implemented") } @@ -123,6 +143,24 @@ func RegisterInjectivePortfolioRPCServer(s grpc.ServiceRegistrar, srv InjectiveP s.RegisterService(&InjectivePortfolioRPC_ServiceDesc, srv) } +func _InjectivePortfolioRPC_TokenHolders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TokenHoldersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectivePortfolioRPCServer).TokenHolders(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_portfolio_rpc.InjectivePortfolioRPC/TokenHolders", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectivePortfolioRPCServer).TokenHolders(ctx, req.(*TokenHoldersRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _InjectivePortfolioRPC_AccountPortfolio_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(AccountPortfolioRequest) if err := dec(in); err != nil { @@ -187,6 +225,10 @@ var InjectivePortfolioRPC_ServiceDesc = grpc.ServiceDesc{ ServiceName: "injective_portfolio_rpc.InjectivePortfolioRPC", HandlerType: (*InjectivePortfolioRPCServer)(nil), Methods: []grpc.MethodDesc{ + { + MethodName: "TokenHolders", + Handler: _InjectivePortfolioRPC_TokenHolders_Handler, + }, { MethodName: "AccountPortfolio", Handler: _InjectivePortfolioRPC_AccountPortfolio_Handler, @@ -203,5 +245,5 @@ var InjectivePortfolioRPC_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, }, - Metadata: "injective_portfolio_rpc.proto", + Metadata: "goadesign_goagen_injective_portfolio_rpc.proto", } diff --git a/exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.go b/exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.go deleted file mode 100644 index cc9a6daa..00000000 --- a/exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.go +++ /dev/null @@ -1,1289 +0,0 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. -// -// InjectivePortfolioRPC protocol buffer definition -// -// Command: -// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_portfolio_rpc.proto - -package injective_portfolio_rpcpb - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type AccountPortfolioRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Account address - AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` -} - -func (x *AccountPortfolioRequest) Reset() { - *x = AccountPortfolioRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AccountPortfolioRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AccountPortfolioRequest) ProtoMessage() {} - -func (x *AccountPortfolioRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AccountPortfolioRequest.ProtoReflect.Descriptor instead. -func (*AccountPortfolioRequest) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{0} -} - -func (x *AccountPortfolioRequest) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -type AccountPortfolioResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The portfolio of this account - Portfolio *Portfolio `protobuf:"bytes,1,opt,name=portfolio,proto3" json:"portfolio,omitempty"` -} - -func (x *AccountPortfolioResponse) Reset() { - *x = AccountPortfolioResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AccountPortfolioResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AccountPortfolioResponse) ProtoMessage() {} - -func (x *AccountPortfolioResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AccountPortfolioResponse.ProtoReflect.Descriptor instead. -func (*AccountPortfolioResponse) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{1} -} - -func (x *AccountPortfolioResponse) GetPortfolio() *Portfolio { - if x != nil { - return x.Portfolio - } - return nil -} - -type Portfolio struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The account's portfolio address - AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` - // Account available bank balances - BankBalances []*Coin `protobuf:"bytes,2,rep,name=bank_balances,json=bankBalances,proto3" json:"bank_balances,omitempty"` - // Subaccounts list - Subaccounts []*SubaccountBalanceV2 `protobuf:"bytes,3,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` - // All positions for all subaccounts, with unrealized PNL - PositionsWithUpnl []*PositionsWithUPNL `protobuf:"bytes,4,rep,name=positions_with_upnl,json=positionsWithUpnl,proto3" json:"positions_with_upnl,omitempty"` -} - -func (x *Portfolio) Reset() { - *x = Portfolio{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Portfolio) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Portfolio) ProtoMessage() {} - -func (x *Portfolio) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Portfolio.ProtoReflect.Descriptor instead. -func (*Portfolio) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{2} -} - -func (x *Portfolio) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -func (x *Portfolio) GetBankBalances() []*Coin { - if x != nil { - return x.BankBalances - } - return nil -} - -func (x *Portfolio) GetSubaccounts() []*SubaccountBalanceV2 { - if x != nil { - return x.Subaccounts - } - return nil -} - -func (x *Portfolio) GetPositionsWithUpnl() []*PositionsWithUPNL { - if x != nil { - return x.PositionsWithUpnl - } - return nil -} - -type Coin struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Denom of the coin - Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` - Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` -} - -func (x *Coin) Reset() { - *x = Coin{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Coin) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Coin) ProtoMessage() {} - -func (x *Coin) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Coin.ProtoReflect.Descriptor instead. -func (*Coin) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{3} -} - -func (x *Coin) GetDenom() string { - if x != nil { - return x.Denom - } - return "" -} - -func (x *Coin) GetAmount() string { - if x != nil { - return x.Amount - } - return "" -} - -type SubaccountBalanceV2 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Related subaccount ID - SubaccountId string `protobuf:"bytes,1,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // Coin denom on the chain. - Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` - Deposit *SubaccountDeposit `protobuf:"bytes,3,opt,name=deposit,proto3" json:"deposit,omitempty"` -} - -func (x *SubaccountBalanceV2) Reset() { - *x = SubaccountBalanceV2{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountBalanceV2) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountBalanceV2) ProtoMessage() {} - -func (x *SubaccountBalanceV2) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountBalanceV2.ProtoReflect.Descriptor instead. -func (*SubaccountBalanceV2) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{4} -} - -func (x *SubaccountBalanceV2) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *SubaccountBalanceV2) GetDenom() string { - if x != nil { - return x.Denom - } - return "" -} - -func (x *SubaccountBalanceV2) GetDeposit() *SubaccountDeposit { - if x != nil { - return x.Deposit - } - return nil -} - -type SubaccountDeposit struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TotalBalance string `protobuf:"bytes,1,opt,name=total_balance,json=totalBalance,proto3" json:"total_balance,omitempty"` - AvailableBalance string `protobuf:"bytes,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` -} - -func (x *SubaccountDeposit) Reset() { - *x = SubaccountDeposit{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubaccountDeposit) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubaccountDeposit) ProtoMessage() {} - -func (x *SubaccountDeposit) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubaccountDeposit.ProtoReflect.Descriptor instead. -func (*SubaccountDeposit) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{5} -} - -func (x *SubaccountDeposit) GetTotalBalance() string { - if x != nil { - return x.TotalBalance - } - return "" -} - -func (x *SubaccountDeposit) GetAvailableBalance() string { - if x != nil { - return x.AvailableBalance - } - return "" -} - -type PositionsWithUPNL struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Position *DerivativePosition `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"` - // Unrealized PNL - UnrealizedPnl string `protobuf:"bytes,2,opt,name=unrealized_pnl,json=unrealizedPnl,proto3" json:"unrealized_pnl,omitempty"` -} - -func (x *PositionsWithUPNL) Reset() { - *x = PositionsWithUPNL{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PositionsWithUPNL) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PositionsWithUPNL) ProtoMessage() {} - -func (x *PositionsWithUPNL) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PositionsWithUPNL.ProtoReflect.Descriptor instead. -func (*PositionsWithUPNL) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{6} -} - -func (x *PositionsWithUPNL) GetPosition() *DerivativePosition { - if x != nil { - return x.Position - } - return nil -} - -func (x *PositionsWithUPNL) GetUnrealizedPnl() string { - if x != nil { - return x.UnrealizedPnl - } - return "" -} - -type DerivativePosition struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Ticker of the derivative market - Ticker string `protobuf:"bytes,1,opt,name=ticker,proto3" json:"ticker,omitempty"` - // Derivative Market ID - MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - // The subaccountId that the position belongs to - SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // Direction of the position - Direction string `protobuf:"bytes,4,opt,name=direction,proto3" json:"direction,omitempty"` - // Quantity of the position - Quantity string `protobuf:"bytes,5,opt,name=quantity,proto3" json:"quantity,omitempty"` - // Price of the position - EntryPrice string `protobuf:"bytes,6,opt,name=entry_price,json=entryPrice,proto3" json:"entry_price,omitempty"` - // Margin of the position - Margin string `protobuf:"bytes,7,opt,name=margin,proto3" json:"margin,omitempty"` - // LiquidationPrice of the position - LiquidationPrice string `protobuf:"bytes,8,opt,name=liquidation_price,json=liquidationPrice,proto3" json:"liquidation_price,omitempty"` - // MarkPrice of the position - MarkPrice string `protobuf:"bytes,9,opt,name=mark_price,json=markPrice,proto3" json:"mark_price,omitempty"` - // Aggregate Quantity of the Reduce Only orders associated with the position - AggregateReduceOnlyQuantity string `protobuf:"bytes,11,opt,name=aggregate_reduce_only_quantity,json=aggregateReduceOnlyQuantity,proto3" json:"aggregate_reduce_only_quantity,omitempty"` - // Position updated timestamp in UNIX millis. - UpdatedAt int64 `protobuf:"zigzag64,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` - // Position created timestamp in UNIX millis. - CreatedAt int64 `protobuf:"zigzag64,13,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` -} - -func (x *DerivativePosition) Reset() { - *x = DerivativePosition{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DerivativePosition) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DerivativePosition) ProtoMessage() {} - -func (x *DerivativePosition) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DerivativePosition.ProtoReflect.Descriptor instead. -func (*DerivativePosition) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{7} -} - -func (x *DerivativePosition) GetTicker() string { - if x != nil { - return x.Ticker - } - return "" -} - -func (x *DerivativePosition) GetMarketId() string { - if x != nil { - return x.MarketId - } - return "" -} - -func (x *DerivativePosition) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *DerivativePosition) GetDirection() string { - if x != nil { - return x.Direction - } - return "" -} - -func (x *DerivativePosition) GetQuantity() string { - if x != nil { - return x.Quantity - } - return "" -} - -func (x *DerivativePosition) GetEntryPrice() string { - if x != nil { - return x.EntryPrice - } - return "" -} - -func (x *DerivativePosition) GetMargin() string { - if x != nil { - return x.Margin - } - return "" -} - -func (x *DerivativePosition) GetLiquidationPrice() string { - if x != nil { - return x.LiquidationPrice - } - return "" -} - -func (x *DerivativePosition) GetMarkPrice() string { - if x != nil { - return x.MarkPrice - } - return "" -} - -func (x *DerivativePosition) GetAggregateReduceOnlyQuantity() string { - if x != nil { - return x.AggregateReduceOnlyQuantity - } - return "" -} - -func (x *DerivativePosition) GetUpdatedAt() int64 { - if x != nil { - return x.UpdatedAt - } - return 0 -} - -func (x *DerivativePosition) GetCreatedAt() int64 { - if x != nil { - return x.CreatedAt - } - return 0 -} - -type AccountPortfolioBalancesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Account address - AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` -} - -func (x *AccountPortfolioBalancesRequest) Reset() { - *x = AccountPortfolioBalancesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AccountPortfolioBalancesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AccountPortfolioBalancesRequest) ProtoMessage() {} - -func (x *AccountPortfolioBalancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AccountPortfolioBalancesRequest.ProtoReflect.Descriptor instead. -func (*AccountPortfolioBalancesRequest) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{8} -} - -func (x *AccountPortfolioBalancesRequest) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -type AccountPortfolioBalancesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The portfolio balances of this account - Portfolio *PortfolioBalances `protobuf:"bytes,1,opt,name=portfolio,proto3" json:"portfolio,omitempty"` -} - -func (x *AccountPortfolioBalancesResponse) Reset() { - *x = AccountPortfolioBalancesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AccountPortfolioBalancesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AccountPortfolioBalancesResponse) ProtoMessage() {} - -func (x *AccountPortfolioBalancesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AccountPortfolioBalancesResponse.ProtoReflect.Descriptor instead. -func (*AccountPortfolioBalancesResponse) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{9} -} - -func (x *AccountPortfolioBalancesResponse) GetPortfolio() *PortfolioBalances { - if x != nil { - return x.Portfolio - } - return nil -} - -type PortfolioBalances struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The account's portfolio address - AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` - // Account available bank balances - BankBalances []*Coin `protobuf:"bytes,2,rep,name=bank_balances,json=bankBalances,proto3" json:"bank_balances,omitempty"` - // Subaccounts list - Subaccounts []*SubaccountBalanceV2 `protobuf:"bytes,3,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` -} - -func (x *PortfolioBalances) Reset() { - *x = PortfolioBalances{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PortfolioBalances) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PortfolioBalances) ProtoMessage() {} - -func (x *PortfolioBalances) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PortfolioBalances.ProtoReflect.Descriptor instead. -func (*PortfolioBalances) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{10} -} - -func (x *PortfolioBalances) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -func (x *PortfolioBalances) GetBankBalances() []*Coin { - if x != nil { - return x.BankBalances - } - return nil -} - -func (x *PortfolioBalances) GetSubaccounts() []*SubaccountBalanceV2 { - if x != nil { - return x.Subaccounts - } - return nil -} - -type StreamAccountPortfolioRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The account's portfolio address - AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` - // Related subaccount ID - SubaccountId string `protobuf:"bytes,2,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` -} - -func (x *StreamAccountPortfolioRequest) Reset() { - *x = StreamAccountPortfolioRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamAccountPortfolioRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamAccountPortfolioRequest) ProtoMessage() {} - -func (x *StreamAccountPortfolioRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamAccountPortfolioRequest.ProtoReflect.Descriptor instead. -func (*StreamAccountPortfolioRequest) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{11} -} - -func (x *StreamAccountPortfolioRequest) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -func (x *StreamAccountPortfolioRequest) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *StreamAccountPortfolioRequest) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -type StreamAccountPortfolioResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // type of portfolio entry - Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` - // denom of portfolio entry - Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` - // amount of portfolio entry - 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() { - *x = StreamAccountPortfolioResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_portfolio_rpc_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamAccountPortfolioResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamAccountPortfolioResponse) ProtoMessage() {} - -func (x *StreamAccountPortfolioResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_portfolio_rpc_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamAccountPortfolioResponse.ProtoReflect.Descriptor instead. -func (*StreamAccountPortfolioResponse) Descriptor() ([]byte, []int) { - return file_injective_portfolio_rpc_proto_rawDescGZIP(), []int{12} -} - -func (x *StreamAccountPortfolioResponse) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -func (x *StreamAccountPortfolioResponse) GetDenom() string { - if x != nil { - return x.Denom - } - return "" -} - -func (x *StreamAccountPortfolioResponse) GetAmount() string { - if x != nil { - return x.Amount - } - return "" -} - -func (x *StreamAccountPortfolioResponse) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - 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{ - 0x0a, 0x1d, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, - 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x17, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x66, - 0x6f, 0x6c, 0x69, 0x6f, 0x5f, 0x72, 0x70, 0x63, 0x22, 0x42, 0x0a, 0x17, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x5c, 0x0a, 0x18, - 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, 0x40, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, - 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 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, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x52, - 0x09, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x22, 0xa4, 0x02, 0x0a, 0x09, 0x50, - 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 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, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x0c, 0x62, 0x61, 0x6e, 0x6b, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 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, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x32, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x13, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x70, 0x6e, 0x6c, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2a, 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, 0x50, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x50, 0x4e, 0x4c, 0x52, 0x11, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x70, 0x6e, - 0x6c, 0x22, 0x34, 0x0a, 0x04, 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, 0x96, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x32, 0x12, - 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x44, 0x0a, 0x07, 0x64, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 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, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x07, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x22, 0x65, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x57, 0x69, 0x74, 0x68, 0x55, 0x50, 0x4e, 0x4c, 0x12, 0x47, 0x0a, - 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2b, 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, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x70, 0x6e, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x75, 0x6e, 0x72, 0x65, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x6e, 0x6c, 0x22, 0xb0, 0x03, - 0x0a, 0x12, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, - 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, - 0x79, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, - 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, - 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x69, - 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x43, 0x0a, - 0x1e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, - 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x22, 0x4a, 0x0a, 0x1f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, - 0x6f, 0x6c, 0x69, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x6c, 0x0a, 0x20, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x48, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2a, 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, 0x50, 0x6f, - 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, - 0x09, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x22, 0xd0, 0x01, 0x0a, 0x11, 0x50, - 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x62, 0x61, 0x6e, - 0x6b, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1d, 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, 0x43, 0x6f, 0x69, 0x6e, 0x52, - 0x0c, 0x62, 0x61, 0x6e, 0x6b, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x4e, 0x0a, - 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2c, 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, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x32, - 0x52, 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x81, 0x01, - 0x0a, 0x1d, 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, 0x12, - 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 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, 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, 0x65, 0x6e, 0x6f, - 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 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, 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, 0xb0, 0x03, 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, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8f, 0x01, 0x0a, - 0x18, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x6c, 0x69, - 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x38, 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, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x39, 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, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 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 ( - file_injective_portfolio_rpc_proto_rawDescOnce sync.Once - file_injective_portfolio_rpc_proto_rawDescData = file_injective_portfolio_rpc_proto_rawDesc -) - -func file_injective_portfolio_rpc_proto_rawDescGZIP() []byte { - file_injective_portfolio_rpc_proto_rawDescOnce.Do(func() { - file_injective_portfolio_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_portfolio_rpc_proto_rawDescData) - }) - return file_injective_portfolio_rpc_proto_rawDescData -} - -var file_injective_portfolio_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 13) -var file_injective_portfolio_rpc_proto_goTypes = []interface{}{ - (*AccountPortfolioRequest)(nil), // 0: injective_portfolio_rpc.AccountPortfolioRequest - (*AccountPortfolioResponse)(nil), // 1: injective_portfolio_rpc.AccountPortfolioResponse - (*Portfolio)(nil), // 2: injective_portfolio_rpc.Portfolio - (*Coin)(nil), // 3: injective_portfolio_rpc.Coin - (*SubaccountBalanceV2)(nil), // 4: injective_portfolio_rpc.SubaccountBalanceV2 - (*SubaccountDeposit)(nil), // 5: injective_portfolio_rpc.SubaccountDeposit - (*PositionsWithUPNL)(nil), // 6: injective_portfolio_rpc.PositionsWithUPNL - (*DerivativePosition)(nil), // 7: injective_portfolio_rpc.DerivativePosition - (*AccountPortfolioBalancesRequest)(nil), // 8: injective_portfolio_rpc.AccountPortfolioBalancesRequest - (*AccountPortfolioBalancesResponse)(nil), // 9: injective_portfolio_rpc.AccountPortfolioBalancesResponse - (*PortfolioBalances)(nil), // 10: injective_portfolio_rpc.PortfolioBalances - (*StreamAccountPortfolioRequest)(nil), // 11: injective_portfolio_rpc.StreamAccountPortfolioRequest - (*StreamAccountPortfolioResponse)(nil), // 12: injective_portfolio_rpc.StreamAccountPortfolioResponse -} -var file_injective_portfolio_rpc_proto_depIdxs = []int32{ - 2, // 0: injective_portfolio_rpc.AccountPortfolioResponse.portfolio:type_name -> injective_portfolio_rpc.Portfolio - 3, // 1: injective_portfolio_rpc.Portfolio.bank_balances:type_name -> injective_portfolio_rpc.Coin - 4, // 2: injective_portfolio_rpc.Portfolio.subaccounts:type_name -> injective_portfolio_rpc.SubaccountBalanceV2 - 6, // 3: injective_portfolio_rpc.Portfolio.positions_with_upnl:type_name -> injective_portfolio_rpc.PositionsWithUPNL - 5, // 4: injective_portfolio_rpc.SubaccountBalanceV2.deposit:type_name -> injective_portfolio_rpc.SubaccountDeposit - 7, // 5: injective_portfolio_rpc.PositionsWithUPNL.position:type_name -> injective_portfolio_rpc.DerivativePosition - 10, // 6: injective_portfolio_rpc.AccountPortfolioBalancesResponse.portfolio:type_name -> injective_portfolio_rpc.PortfolioBalances - 3, // 7: injective_portfolio_rpc.PortfolioBalances.bank_balances:type_name -> injective_portfolio_rpc.Coin - 4, // 8: injective_portfolio_rpc.PortfolioBalances.subaccounts:type_name -> injective_portfolio_rpc.SubaccountBalanceV2 - 0, // 9: injective_portfolio_rpc.InjectivePortfolioRPC.AccountPortfolio:input_type -> injective_portfolio_rpc.AccountPortfolioRequest - 8, // 10: injective_portfolio_rpc.InjectivePortfolioRPC.AccountPortfolioBalances:input_type -> injective_portfolio_rpc.AccountPortfolioBalancesRequest - 11, // 11: injective_portfolio_rpc.InjectivePortfolioRPC.StreamAccountPortfolio:input_type -> injective_portfolio_rpc.StreamAccountPortfolioRequest - 1, // 12: injective_portfolio_rpc.InjectivePortfolioRPC.AccountPortfolio:output_type -> injective_portfolio_rpc.AccountPortfolioResponse - 9, // 13: injective_portfolio_rpc.InjectivePortfolioRPC.AccountPortfolioBalances:output_type -> injective_portfolio_rpc.AccountPortfolioBalancesResponse - 12, // 14: injective_portfolio_rpc.InjectivePortfolioRPC.StreamAccountPortfolio:output_type -> injective_portfolio_rpc.StreamAccountPortfolioResponse - 12, // [12:15] is the sub-list for method output_type - 9, // [9:12] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name -} - -func init() { file_injective_portfolio_rpc_proto_init() } -func file_injective_portfolio_rpc_proto_init() { - if File_injective_portfolio_rpc_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_injective_portfolio_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccountPortfolioRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccountPortfolioResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Portfolio); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Coin); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountBalanceV2); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubaccountDeposit); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PositionsWithUPNL); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DerivativePosition); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccountPortfolioBalancesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccountPortfolioBalancesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PortfolioBalances); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamAccountPortfolioRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_portfolio_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamAccountPortfolioResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_portfolio_rpc_proto_rawDesc, - NumEnums: 0, - NumMessages: 13, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_injective_portfolio_rpc_proto_goTypes, - DependencyIndexes: file_injective_portfolio_rpc_proto_depIdxs, - MessageInfos: file_injective_portfolio_rpc_proto_msgTypes, - }.Build() - File_injective_portfolio_rpc_proto = out.File - file_injective_portfolio_rpc_proto_rawDesc = nil - file_injective_portfolio_rpc_proto_goTypes = nil - file_injective_portfolio_rpc_proto_depIdxs = nil -} diff --git a/exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.gw.go b/exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.gw.go index 6dd15a45..4277c8ee 100644 --- a/exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.gw.go +++ b/exchange/portfolio_rpc/pb/injective_portfolio_rpc.pb.gw.go @@ -31,6 +31,40 @@ var _ = runtime.String var _ = utilities.NewDoubleArray var _ = metadata.Join +func request_InjectivePortfolioRPC_TokenHolders_0(ctx context.Context, marshaler runtime.Marshaler, client InjectivePortfolioRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq TokenHoldersRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.TokenHolders(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectivePortfolioRPC_TokenHolders_0(ctx context.Context, marshaler runtime.Marshaler, server InjectivePortfolioRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq TokenHoldersRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.TokenHolders(ctx, &protoReq) + return msg, metadata, err + +} + func request_InjectivePortfolioRPC_AccountPortfolio_0(ctx context.Context, marshaler runtime.Marshaler, client InjectivePortfolioRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq AccountPortfolioRequest var metadata runtime.ServerMetadata @@ -130,26 +164,53 @@ func request_InjectivePortfolioRPC_StreamAccountPortfolio_0(ctx context.Context, // Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterInjectivePortfolioRPCHandlerFromEndpoint instead. func RegisterInjectivePortfolioRPCHandlerServer(ctx context.Context, mux *runtime.ServeMux, server InjectivePortfolioRPCServer) error { - mux.Handle("POST", pattern_InjectivePortfolioRPC_AccountPortfolio_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_InjectivePortfolioRPC_TokenHolders_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/TokenHolders", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/TokenHolders")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectivePortfolioRPC_AccountPortfolio_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectivePortfolioRPC_TokenHolders_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectivePortfolioRPC_TokenHolders_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectivePortfolioRPC_AccountPortfolio_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } + resp, md, err := local_request_InjectivePortfolioRPC_AccountPortfolio_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } - forward_InjectivePortfolioRPC_AccountPortfolio_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectivePortfolioRPC_AccountPortfolio_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -159,20 +220,22 @@ func RegisterInjectivePortfolioRPCHandlerServer(ctx context.Context, mux *runtim var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolioBalances", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolioBalances")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolioBalances", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolioBalances")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectivePortfolioRPC_AccountPortfolioBalances_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectivePortfolioRPC_AccountPortfolioBalances_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectivePortfolioRPC_AccountPortfolioBalances_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectivePortfolioRPC_AccountPortfolioBalances_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -224,23 +287,47 @@ func RegisterInjectivePortfolioRPCHandler(ctx context.Context, mux *runtime.Serv // "InjectivePortfolioRPCClient" to call the correct interceptors. func RegisterInjectivePortfolioRPCHandlerClient(ctx context.Context, mux *runtime.ServeMux, client InjectivePortfolioRPCClient) error { - mux.Handle("POST", pattern_InjectivePortfolioRPC_AccountPortfolio_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_InjectivePortfolioRPC_TokenHolders_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, "/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/TokenHolders", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/TokenHolders")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectivePortfolioRPC_AccountPortfolio_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectivePortfolioRPC_TokenHolders_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectivePortfolioRPC_TokenHolders_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_InjectivePortfolioRPC_AccountPortfolio_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolio")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } + resp, md, err := request_InjectivePortfolioRPC_AccountPortfolio_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } - forward_InjectivePortfolioRPC_AccountPortfolio_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectivePortfolioRPC_AccountPortfolio_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -248,19 +335,21 @@ func RegisterInjectivePortfolioRPCHandlerClient(ctx context.Context, mux *runtim ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolioBalances", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolioBalances")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolioBalances", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/AccountPortfolioBalances")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectivePortfolioRPC_AccountPortfolioBalances_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectivePortfolioRPC_AccountPortfolioBalances_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectivePortfolioRPC_AccountPortfolioBalances_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectivePortfolioRPC_AccountPortfolioBalances_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -268,19 +357,21 @@ func RegisterInjectivePortfolioRPCHandlerClient(ctx context.Context, mux *runtim ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/StreamAccountPortfolio", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/StreamAccountPortfolio")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_portfolio_rpc.InjectivePortfolioRPC/StreamAccountPortfolio", runtime.WithHTTPPathPattern("/injective_portfolio_rpc.InjectivePortfolioRPC/StreamAccountPortfolio")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectivePortfolioRPC_StreamAccountPortfolio_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectivePortfolioRPC_StreamAccountPortfolio_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectivePortfolioRPC_StreamAccountPortfolio_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectivePortfolioRPC_StreamAccountPortfolio_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -288,6 +379,8 @@ func RegisterInjectivePortfolioRPCHandlerClient(ctx context.Context, mux *runtim } var ( + pattern_InjectivePortfolioRPC_TokenHolders_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_portfolio_rpc.InjectivePortfolioRPC", "TokenHolders"}, "")) + pattern_InjectivePortfolioRPC_AccountPortfolio_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_portfolio_rpc.InjectivePortfolioRPC", "AccountPortfolio"}, "")) pattern_InjectivePortfolioRPC_AccountPortfolioBalances_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_portfolio_rpc.InjectivePortfolioRPC", "AccountPortfolioBalances"}, "")) @@ -296,6 +389,8 @@ var ( ) var ( + forward_InjectivePortfolioRPC_TokenHolders_0 = runtime.ForwardResponseMessage + forward_InjectivePortfolioRPC_AccountPortfolio_0 = runtime.ForwardResponseMessage forward_InjectivePortfolioRPC_AccountPortfolioBalances_0 = runtime.ForwardResponseMessage diff --git a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.pb.go b/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.pb.go similarity index 66% rename from exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.pb.go rename to exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.pb.go index f09e57fd..c73b808a 100644 --- a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.pb.go +++ b/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.pb.go @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveSpotExchangeRPC protocol buffer definition // @@ -8,8 +8,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_spot_exchange_rpc.proto +// protoc v4.25.3 +// source: goadesign_goagen_injective_spot_exchange_rpc.proto package injective_spot_exchange_rpcpb @@ -44,7 +44,7 @@ type MarketsRequest struct { func (x *MarketsRequest) Reset() { *x = MarketsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -57,7 +57,7 @@ func (x *MarketsRequest) String() string { func (*MarketsRequest) ProtoMessage() {} func (x *MarketsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[0] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -70,7 +70,7 @@ func (x *MarketsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MarketsRequest.ProtoReflect.Descriptor instead. func (*MarketsRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{0} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{0} } func (x *MarketsRequest) GetMarketStatus() string { @@ -113,7 +113,7 @@ type MarketsResponse struct { func (x *MarketsResponse) Reset() { *x = MarketsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -126,7 +126,7 @@ func (x *MarketsResponse) String() string { func (*MarketsResponse) ProtoMessage() {} func (x *MarketsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[1] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -139,7 +139,7 @@ func (x *MarketsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MarketsResponse.ProtoReflect.Descriptor instead. func (*MarketsResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{1} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{1} } func (x *MarketsResponse) GetMarkets() []*SpotMarketInfo { @@ -184,7 +184,7 @@ type SpotMarketInfo struct { func (x *SpotMarketInfo) Reset() { *x = SpotMarketInfo{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -197,7 +197,7 @@ func (x *SpotMarketInfo) String() string { func (*SpotMarketInfo) ProtoMessage() {} func (x *SpotMarketInfo) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[2] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -210,7 +210,7 @@ func (x *SpotMarketInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use SpotMarketInfo.ProtoReflect.Descriptor instead. func (*SpotMarketInfo) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{2} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{2} } func (x *SpotMarketInfo) GetMarketId() string { @@ -319,7 +319,7 @@ type TokenMeta struct { func (x *TokenMeta) Reset() { *x = TokenMeta{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -332,7 +332,7 @@ func (x *TokenMeta) String() string { func (*TokenMeta) ProtoMessage() {} func (x *TokenMeta) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[3] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -345,7 +345,7 @@ func (x *TokenMeta) ProtoReflect() protoreflect.Message { // Deprecated: Use TokenMeta.ProtoReflect.Descriptor instead. func (*TokenMeta) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{3} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{3} } func (x *TokenMeta) GetName() string { @@ -402,7 +402,7 @@ type MarketRequest struct { func (x *MarketRequest) Reset() { *x = MarketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -415,7 +415,7 @@ func (x *MarketRequest) String() string { func (*MarketRequest) ProtoMessage() {} func (x *MarketRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[4] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -428,7 +428,7 @@ func (x *MarketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MarketRequest.ProtoReflect.Descriptor instead. func (*MarketRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{4} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{4} } func (x *MarketRequest) GetMarketId() string { @@ -450,7 +450,7 @@ type MarketResponse struct { func (x *MarketResponse) Reset() { *x = MarketResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -463,7 +463,7 @@ func (x *MarketResponse) String() string { func (*MarketResponse) ProtoMessage() {} func (x *MarketResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[5] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -476,7 +476,7 @@ func (x *MarketResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MarketResponse.ProtoReflect.Descriptor instead. func (*MarketResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{5} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{5} } func (x *MarketResponse) GetMarket() *SpotMarketInfo { @@ -498,7 +498,7 @@ type StreamMarketsRequest struct { func (x *StreamMarketsRequest) Reset() { *x = StreamMarketsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -511,7 +511,7 @@ func (x *StreamMarketsRequest) String() string { func (*StreamMarketsRequest) ProtoMessage() {} func (x *StreamMarketsRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[6] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -524,7 +524,7 @@ func (x *StreamMarketsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamMarketsRequest.ProtoReflect.Descriptor instead. func (*StreamMarketsRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{6} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{6} } func (x *StreamMarketsRequest) GetMarketIds() []string { @@ -550,7 +550,7 @@ type StreamMarketsResponse struct { func (x *StreamMarketsResponse) Reset() { *x = StreamMarketsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -563,7 +563,7 @@ func (x *StreamMarketsResponse) String() string { func (*StreamMarketsResponse) ProtoMessage() {} func (x *StreamMarketsResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[7] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -576,7 +576,7 @@ func (x *StreamMarketsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamMarketsResponse.ProtoReflect.Descriptor instead. func (*StreamMarketsResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{7} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{7} } func (x *StreamMarketsResponse) GetMarket() *SpotMarketInfo { @@ -612,7 +612,7 @@ type OrderbookV2Request struct { func (x *OrderbookV2Request) Reset() { *x = OrderbookV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -625,7 +625,7 @@ func (x *OrderbookV2Request) String() string { func (*OrderbookV2Request) ProtoMessage() {} func (x *OrderbookV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -638,7 +638,7 @@ func (x *OrderbookV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbookV2Request.ProtoReflect.Descriptor instead. func (*OrderbookV2Request) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{8} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{8} } func (x *OrderbookV2Request) GetMarketId() string { @@ -660,7 +660,7 @@ type OrderbookV2Response struct { func (x *OrderbookV2Response) Reset() { *x = OrderbookV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -673,7 +673,7 @@ func (x *OrderbookV2Response) String() string { func (*OrderbookV2Response) ProtoMessage() {} func (x *OrderbookV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -686,7 +686,7 @@ func (x *OrderbookV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbookV2Response.ProtoReflect.Descriptor instead. func (*OrderbookV2Response) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{9} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{9} } func (x *OrderbookV2Response) GetOrderbook() *SpotLimitOrderbookV2 { @@ -714,7 +714,7 @@ type SpotLimitOrderbookV2 struct { func (x *SpotLimitOrderbookV2) Reset() { *x = SpotLimitOrderbookV2{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -727,7 +727,7 @@ func (x *SpotLimitOrderbookV2) String() string { func (*SpotLimitOrderbookV2) ProtoMessage() {} func (x *SpotLimitOrderbookV2) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -740,7 +740,7 @@ func (x *SpotLimitOrderbookV2) ProtoReflect() protoreflect.Message { // Deprecated: Use SpotLimitOrderbookV2.ProtoReflect.Descriptor instead. func (*SpotLimitOrderbookV2) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{10} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{10} } func (x *SpotLimitOrderbookV2) GetBuys() []*PriceLevel { @@ -787,7 +787,7 @@ type PriceLevel struct { func (x *PriceLevel) Reset() { *x = PriceLevel{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -800,7 +800,7 @@ func (x *PriceLevel) String() string { func (*PriceLevel) ProtoMessage() {} func (x *PriceLevel) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -813,7 +813,7 @@ func (x *PriceLevel) ProtoReflect() protoreflect.Message { // Deprecated: Use PriceLevel.ProtoReflect.Descriptor instead. func (*PriceLevel) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{11} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{11} } func (x *PriceLevel) GetPrice() string { @@ -849,7 +849,7 @@ type OrderbooksV2Request struct { func (x *OrderbooksV2Request) Reset() { *x = OrderbooksV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -862,7 +862,7 @@ func (x *OrderbooksV2Request) String() string { func (*OrderbooksV2Request) ProtoMessage() {} func (x *OrderbooksV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -875,7 +875,7 @@ func (x *OrderbooksV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbooksV2Request.ProtoReflect.Descriptor instead. func (*OrderbooksV2Request) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{12} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{12} } func (x *OrderbooksV2Request) GetMarketIds() []string { @@ -896,7 +896,7 @@ type OrderbooksV2Response struct { func (x *OrderbooksV2Response) Reset() { *x = OrderbooksV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -909,7 +909,7 @@ func (x *OrderbooksV2Response) String() string { func (*OrderbooksV2Response) ProtoMessage() {} func (x *OrderbooksV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -922,7 +922,7 @@ func (x *OrderbooksV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbooksV2Response.ProtoReflect.Descriptor instead. func (*OrderbooksV2Response) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{13} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{13} } func (x *OrderbooksV2Response) GetOrderbooks() []*SingleSpotLimitOrderbookV2 { @@ -946,7 +946,7 @@ type SingleSpotLimitOrderbookV2 struct { func (x *SingleSpotLimitOrderbookV2) Reset() { *x = SingleSpotLimitOrderbookV2{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -959,7 +959,7 @@ func (x *SingleSpotLimitOrderbookV2) String() string { func (*SingleSpotLimitOrderbookV2) ProtoMessage() {} func (x *SingleSpotLimitOrderbookV2) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -972,7 +972,7 @@ func (x *SingleSpotLimitOrderbookV2) ProtoReflect() protoreflect.Message { // Deprecated: Use SingleSpotLimitOrderbookV2.ProtoReflect.Descriptor instead. func (*SingleSpotLimitOrderbookV2) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{14} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{14} } func (x *SingleSpotLimitOrderbookV2) GetMarketId() string { @@ -1001,7 +1001,7 @@ type StreamOrderbookV2Request struct { func (x *StreamOrderbookV2Request) Reset() { *x = StreamOrderbookV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[15] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1014,7 +1014,7 @@ func (x *StreamOrderbookV2Request) String() string { func (*StreamOrderbookV2Request) ProtoMessage() {} func (x *StreamOrderbookV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[15] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1027,7 +1027,7 @@ func (x *StreamOrderbookV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrderbookV2Request.ProtoReflect.Descriptor instead. func (*StreamOrderbookV2Request) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{15} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{15} } func (x *StreamOrderbookV2Request) GetMarketIds() []string { @@ -1055,7 +1055,7 @@ type StreamOrderbookV2Response struct { func (x *StreamOrderbookV2Response) Reset() { *x = StreamOrderbookV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[16] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1068,7 +1068,7 @@ func (x *StreamOrderbookV2Response) String() string { func (*StreamOrderbookV2Response) ProtoMessage() {} func (x *StreamOrderbookV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[16] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1081,7 +1081,7 @@ func (x *StreamOrderbookV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrderbookV2Response.ProtoReflect.Descriptor instead. func (*StreamOrderbookV2Response) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{16} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{16} } func (x *StreamOrderbookV2Response) GetOrderbook() *SpotLimitOrderbookV2 { @@ -1124,7 +1124,7 @@ type StreamOrderbookUpdateRequest struct { func (x *StreamOrderbookUpdateRequest) Reset() { *x = StreamOrderbookUpdateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[17] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1137,7 +1137,7 @@ func (x *StreamOrderbookUpdateRequest) String() string { func (*StreamOrderbookUpdateRequest) ProtoMessage() {} func (x *StreamOrderbookUpdateRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[17] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1150,7 +1150,7 @@ func (x *StreamOrderbookUpdateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrderbookUpdateRequest.ProtoReflect.Descriptor instead. func (*StreamOrderbookUpdateRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{17} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{17} } func (x *StreamOrderbookUpdateRequest) GetMarketIds() []string { @@ -1178,7 +1178,7 @@ type StreamOrderbookUpdateResponse struct { func (x *StreamOrderbookUpdateResponse) Reset() { *x = StreamOrderbookUpdateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[18] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1191,7 +1191,7 @@ func (x *StreamOrderbookUpdateResponse) String() string { func (*StreamOrderbookUpdateResponse) ProtoMessage() {} func (x *StreamOrderbookUpdateResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[18] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1204,7 +1204,7 @@ func (x *StreamOrderbookUpdateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrderbookUpdateResponse.ProtoReflect.Descriptor instead. func (*StreamOrderbookUpdateResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{18} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{18} } func (x *StreamOrderbookUpdateResponse) GetOrderbookLevelUpdates() *OrderbookLevelUpdates { @@ -1255,7 +1255,7 @@ type OrderbookLevelUpdates struct { func (x *OrderbookLevelUpdates) Reset() { *x = OrderbookLevelUpdates{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[19] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1268,7 +1268,7 @@ func (x *OrderbookLevelUpdates) String() string { func (*OrderbookLevelUpdates) ProtoMessage() {} func (x *OrderbookLevelUpdates) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[19] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1281,7 +1281,7 @@ func (x *OrderbookLevelUpdates) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderbookLevelUpdates.ProtoReflect.Descriptor instead. func (*OrderbookLevelUpdates) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{19} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{19} } func (x *OrderbookLevelUpdates) GetMarketId() string { @@ -1337,7 +1337,7 @@ type PriceLevelUpdate struct { func (x *PriceLevelUpdate) Reset() { *x = PriceLevelUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[20] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1350,7 +1350,7 @@ func (x *PriceLevelUpdate) String() string { func (*PriceLevelUpdate) ProtoMessage() {} func (x *PriceLevelUpdate) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[20] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1363,7 +1363,7 @@ func (x *PriceLevelUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use PriceLevelUpdate.ProtoReflect.Descriptor instead. func (*PriceLevelUpdate) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{20} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{20} } func (x *PriceLevelUpdate) GetPrice() string { @@ -1430,7 +1430,7 @@ type OrdersRequest struct { func (x *OrdersRequest) Reset() { *x = OrdersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[21] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1443,7 +1443,7 @@ func (x *OrdersRequest) String() string { func (*OrdersRequest) ProtoMessage() {} func (x *OrdersRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[21] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1456,7 +1456,7 @@ func (x *OrdersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use OrdersRequest.ProtoReflect.Descriptor instead. func (*OrdersRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{21} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{21} } func (x *OrdersRequest) GetMarketId() string { @@ -1555,7 +1555,7 @@ type OrdersResponse struct { func (x *OrdersResponse) Reset() { *x = OrdersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[22] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1568,7 +1568,7 @@ func (x *OrdersResponse) String() string { func (*OrdersResponse) ProtoMessage() {} func (x *OrdersResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[22] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1581,7 +1581,7 @@ func (x *OrdersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use OrdersResponse.ProtoReflect.Descriptor instead. func (*OrdersResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{22} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{22} } func (x *OrdersResponse) GetOrders() []*SpotLimitOrder { @@ -1637,7 +1637,7 @@ type SpotLimitOrder struct { func (x *SpotLimitOrder) Reset() { *x = SpotLimitOrder{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[23] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1650,7 +1650,7 @@ func (x *SpotLimitOrder) String() string { func (*SpotLimitOrder) ProtoMessage() {} func (x *SpotLimitOrder) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[23] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1663,7 +1663,7 @@ func (x *SpotLimitOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use SpotLimitOrder.ProtoReflect.Descriptor instead. func (*SpotLimitOrder) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{23} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{23} } func (x *SpotLimitOrder) GetOrderHash() string { @@ -1785,7 +1785,7 @@ type Paging struct { func (x *Paging) Reset() { *x = Paging{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[24] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1798,7 +1798,7 @@ func (x *Paging) String() string { func (*Paging) ProtoMessage() {} func (x *Paging) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[24] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1811,7 +1811,7 @@ func (x *Paging) ProtoReflect() protoreflect.Message { // Deprecated: Use Paging.ProtoReflect.Descriptor instead. func (*Paging) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{24} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{24} } func (x *Paging) GetTotal() int64 { @@ -1885,7 +1885,7 @@ type StreamOrdersRequest struct { func (x *StreamOrdersRequest) Reset() { *x = StreamOrdersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[25] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1898,7 +1898,7 @@ func (x *StreamOrdersRequest) String() string { func (*StreamOrdersRequest) ProtoMessage() {} func (x *StreamOrdersRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[25] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1911,7 +1911,7 @@ func (x *StreamOrdersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrdersRequest.ProtoReflect.Descriptor instead. func (*StreamOrdersRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{25} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{25} } func (x *StreamOrdersRequest) GetMarketId() string { @@ -2014,7 +2014,7 @@ type StreamOrdersResponse struct { func (x *StreamOrdersResponse) Reset() { *x = StreamOrdersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[26] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2027,7 +2027,7 @@ func (x *StreamOrdersResponse) String() string { func (*StreamOrdersResponse) ProtoMessage() {} func (x *StreamOrdersResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[26] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2040,7 +2040,7 @@ func (x *StreamOrdersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrdersResponse.ProtoReflect.Descriptor instead. func (*StreamOrdersResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{26} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{26} } func (x *StreamOrdersResponse) GetOrder() *SpotLimitOrder { @@ -2103,7 +2103,7 @@ type TradesRequest struct { func (x *TradesRequest) Reset() { *x = TradesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[27] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2116,7 +2116,7 @@ func (x *TradesRequest) String() string { func (*TradesRequest) ProtoMessage() {} func (x *TradesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[27] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2129,7 +2129,7 @@ func (x *TradesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TradesRequest.ProtoReflect.Descriptor instead. func (*TradesRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{27} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{27} } func (x *TradesRequest) GetMarketId() string { @@ -2244,7 +2244,7 @@ type TradesResponse struct { func (x *TradesResponse) Reset() { *x = TradesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[28] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2257,7 +2257,7 @@ func (x *TradesResponse) String() string { func (*TradesResponse) ProtoMessage() {} func (x *TradesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[28] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2270,7 +2270,7 @@ func (x *TradesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TradesResponse.ProtoReflect.Descriptor instead. func (*TradesResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{28} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{28} } func (x *TradesResponse) GetTrades() []*SpotTrade { @@ -2321,7 +2321,7 @@ type SpotTrade struct { func (x *SpotTrade) Reset() { *x = SpotTrade{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[29] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2334,7 +2334,7 @@ func (x *SpotTrade) String() string { func (*SpotTrade) ProtoMessage() {} func (x *SpotTrade) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[29] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2347,7 +2347,7 @@ func (x *SpotTrade) ProtoReflect() protoreflect.Message { // Deprecated: Use SpotTrade.ProtoReflect.Descriptor instead. func (*SpotTrade) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{29} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{29} } func (x *SpotTrade) GetOrderHash() string { @@ -2473,7 +2473,7 @@ type StreamTradesRequest struct { func (x *StreamTradesRequest) Reset() { *x = StreamTradesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[30] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2486,7 +2486,7 @@ func (x *StreamTradesRequest) String() string { func (*StreamTradesRequest) ProtoMessage() {} func (x *StreamTradesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[30] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2499,7 +2499,7 @@ func (x *StreamTradesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTradesRequest.ProtoReflect.Descriptor instead. func (*StreamTradesRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{30} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{30} } func (x *StreamTradesRequest) GetMarketId() string { @@ -2616,7 +2616,7 @@ type StreamTradesResponse struct { func (x *StreamTradesResponse) Reset() { *x = StreamTradesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[31] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2629,7 +2629,7 @@ func (x *StreamTradesResponse) String() string { func (*StreamTradesResponse) ProtoMessage() {} func (x *StreamTradesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[31] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2642,7 +2642,7 @@ func (x *StreamTradesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTradesResponse.ProtoReflect.Descriptor instead. func (*StreamTradesResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{31} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{31} } func (x *StreamTradesResponse) GetTrade() *SpotTrade { @@ -2705,7 +2705,7 @@ type TradesV2Request struct { func (x *TradesV2Request) Reset() { *x = TradesV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[32] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2718,7 +2718,7 @@ func (x *TradesV2Request) String() string { func (*TradesV2Request) ProtoMessage() {} func (x *TradesV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[32] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2731,7 +2731,7 @@ func (x *TradesV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use TradesV2Request.ProtoReflect.Descriptor instead. func (*TradesV2Request) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{32} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{32} } func (x *TradesV2Request) GetMarketId() string { @@ -2846,7 +2846,7 @@ type TradesV2Response struct { func (x *TradesV2Response) Reset() { *x = TradesV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[33] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2859,7 +2859,7 @@ func (x *TradesV2Response) String() string { func (*TradesV2Response) ProtoMessage() {} func (x *TradesV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[33] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2872,7 +2872,7 @@ func (x *TradesV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use TradesV2Response.ProtoReflect.Descriptor instead. func (*TradesV2Response) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{33} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{33} } func (x *TradesV2Response) GetTrades() []*SpotTrade { @@ -2928,7 +2928,7 @@ type StreamTradesV2Request struct { func (x *StreamTradesV2Request) Reset() { *x = StreamTradesV2Request{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[34] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2941,7 +2941,7 @@ func (x *StreamTradesV2Request) String() string { func (*StreamTradesV2Request) ProtoMessage() {} func (x *StreamTradesV2Request) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[34] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2954,7 +2954,7 @@ func (x *StreamTradesV2Request) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTradesV2Request.ProtoReflect.Descriptor instead. func (*StreamTradesV2Request) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{34} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{34} } func (x *StreamTradesV2Request) GetMarketId() string { @@ -3071,7 +3071,7 @@ type StreamTradesV2Response struct { func (x *StreamTradesV2Response) Reset() { *x = StreamTradesV2Response{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[35] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3084,7 +3084,7 @@ func (x *StreamTradesV2Response) String() string { func (*StreamTradesV2Response) ProtoMessage() {} func (x *StreamTradesV2Response) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[35] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3097,7 +3097,7 @@ func (x *StreamTradesV2Response) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamTradesV2Response.ProtoReflect.Descriptor instead. func (*StreamTradesV2Response) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{35} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{35} } func (x *StreamTradesV2Response) GetTrade() *SpotTrade { @@ -3139,7 +3139,7 @@ type SubaccountOrdersListRequest struct { func (x *SubaccountOrdersListRequest) Reset() { *x = SubaccountOrdersListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[36] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3152,7 +3152,7 @@ func (x *SubaccountOrdersListRequest) String() string { func (*SubaccountOrdersListRequest) ProtoMessage() {} func (x *SubaccountOrdersListRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[36] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3165,7 +3165,7 @@ func (x *SubaccountOrdersListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SubaccountOrdersListRequest.ProtoReflect.Descriptor instead. func (*SubaccountOrdersListRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{36} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{36} } func (x *SubaccountOrdersListRequest) GetSubaccountId() string { @@ -3208,7 +3208,7 @@ type SubaccountOrdersListResponse struct { func (x *SubaccountOrdersListResponse) Reset() { *x = SubaccountOrdersListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[37] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3221,7 +3221,7 @@ func (x *SubaccountOrdersListResponse) String() string { func (*SubaccountOrdersListResponse) ProtoMessage() {} func (x *SubaccountOrdersListResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[37] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3234,7 +3234,7 @@ func (x *SubaccountOrdersListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SubaccountOrdersListResponse.ProtoReflect.Descriptor instead. func (*SubaccountOrdersListResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{37} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{37} } func (x *SubaccountOrdersListResponse) GetOrders() []*SpotLimitOrder { @@ -3273,7 +3273,7 @@ type SubaccountTradesListRequest struct { func (x *SubaccountTradesListRequest) Reset() { *x = SubaccountTradesListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[38] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3286,7 +3286,7 @@ func (x *SubaccountTradesListRequest) String() string { func (*SubaccountTradesListRequest) ProtoMessage() {} func (x *SubaccountTradesListRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[38] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3299,7 +3299,7 @@ func (x *SubaccountTradesListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SubaccountTradesListRequest.ProtoReflect.Descriptor instead. func (*SubaccountTradesListRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{38} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{38} } func (x *SubaccountTradesListRequest) GetSubaccountId() string { @@ -3356,7 +3356,7 @@ type SubaccountTradesListResponse struct { func (x *SubaccountTradesListResponse) Reset() { *x = SubaccountTradesListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[39] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3369,7 +3369,7 @@ func (x *SubaccountTradesListResponse) String() string { func (*SubaccountTradesListResponse) ProtoMessage() {} func (x *SubaccountTradesListResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[39] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3382,7 +3382,7 @@ func (x *SubaccountTradesListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SubaccountTradesListResponse.ProtoReflect.Descriptor instead. func (*SubaccountTradesListResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{39} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{39} } func (x *SubaccountTradesListResponse) GetTrades() []*SpotTrade { @@ -3428,7 +3428,7 @@ type OrdersHistoryRequest struct { func (x *OrdersHistoryRequest) Reset() { *x = OrdersHistoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[40] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3441,7 +3441,7 @@ func (x *OrdersHistoryRequest) String() string { func (*OrdersHistoryRequest) ProtoMessage() {} func (x *OrdersHistoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[40] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3454,7 +3454,7 @@ func (x *OrdersHistoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use OrdersHistoryRequest.ProtoReflect.Descriptor instead. func (*OrdersHistoryRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{40} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{40} } func (x *OrdersHistoryRequest) GetSubaccountId() string { @@ -3568,7 +3568,7 @@ type OrdersHistoryResponse struct { func (x *OrdersHistoryResponse) Reset() { *x = OrdersHistoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[41] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3581,7 +3581,7 @@ func (x *OrdersHistoryResponse) String() string { func (*OrdersHistoryResponse) ProtoMessage() {} func (x *OrdersHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[41] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3594,7 +3594,7 @@ func (x *OrdersHistoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use OrdersHistoryResponse.ProtoReflect.Descriptor instead. func (*OrdersHistoryResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{41} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{41} } func (x *OrdersHistoryResponse) GetOrders() []*SpotOrderHistory { @@ -3653,7 +3653,7 @@ type SpotOrderHistory struct { func (x *SpotOrderHistory) Reset() { *x = SpotOrderHistory{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[42] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3666,7 +3666,7 @@ func (x *SpotOrderHistory) String() string { func (*SpotOrderHistory) ProtoMessage() {} func (x *SpotOrderHistory) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[42] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3679,7 +3679,7 @@ func (x *SpotOrderHistory) ProtoReflect() protoreflect.Message { // Deprecated: Use SpotOrderHistory.ProtoReflect.Descriptor instead. func (*SpotOrderHistory) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{42} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{42} } func (x *SpotOrderHistory) GetOrderHash() string { @@ -3815,7 +3815,7 @@ type StreamOrdersHistoryRequest struct { func (x *StreamOrdersHistoryRequest) Reset() { *x = StreamOrdersHistoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[43] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3828,7 +3828,7 @@ func (x *StreamOrdersHistoryRequest) String() string { func (*StreamOrdersHistoryRequest) ProtoMessage() {} func (x *StreamOrdersHistoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[43] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3841,7 +3841,7 @@ func (x *StreamOrdersHistoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrdersHistoryRequest.ProtoReflect.Descriptor instead. func (*StreamOrdersHistoryRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{43} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{43} } func (x *StreamOrdersHistoryRequest) GetSubaccountId() string { @@ -3902,7 +3902,7 @@ type StreamOrdersHistoryResponse struct { func (x *StreamOrdersHistoryResponse) Reset() { *x = StreamOrdersHistoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[44] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3915,7 +3915,7 @@ func (x *StreamOrdersHistoryResponse) String() string { func (*StreamOrdersHistoryResponse) ProtoMessage() {} func (x *StreamOrdersHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[44] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3928,7 +3928,7 @@ func (x *StreamOrdersHistoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamOrdersHistoryResponse.ProtoReflect.Descriptor instead. func (*StreamOrdersHistoryResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{44} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{44} } func (x *StreamOrdersHistoryResponse) GetOrder() *SpotOrderHistory { @@ -3974,7 +3974,7 @@ type AtomicSwapHistoryRequest struct { func (x *AtomicSwapHistoryRequest) Reset() { *x = AtomicSwapHistoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[45] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3987,7 +3987,7 @@ func (x *AtomicSwapHistoryRequest) String() string { func (*AtomicSwapHistoryRequest) ProtoMessage() {} func (x *AtomicSwapHistoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[45] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4000,7 +4000,7 @@ func (x *AtomicSwapHistoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AtomicSwapHistoryRequest.ProtoReflect.Descriptor instead. func (*AtomicSwapHistoryRequest) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{45} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{45} } func (x *AtomicSwapHistoryRequest) GetAddress() string { @@ -4059,7 +4059,7 @@ type AtomicSwapHistoryResponse struct { func (x *AtomicSwapHistoryResponse) Reset() { *x = AtomicSwapHistoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[46] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4072,7 +4072,7 @@ func (x *AtomicSwapHistoryResponse) String() string { func (*AtomicSwapHistoryResponse) ProtoMessage() {} func (x *AtomicSwapHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[46] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4085,7 +4085,7 @@ func (x *AtomicSwapHistoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AtomicSwapHistoryResponse.ProtoReflect.Descriptor instead. func (*AtomicSwapHistoryResponse) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{46} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{46} } func (x *AtomicSwapHistoryResponse) GetPaging() *Paging { @@ -4135,7 +4135,7 @@ type AtomicSwap struct { func (x *AtomicSwap) Reset() { *x = AtomicSwap{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[47] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4148,7 +4148,7 @@ func (x *AtomicSwap) String() string { func (*AtomicSwap) ProtoMessage() {} func (x *AtomicSwap) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[47] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4161,7 +4161,7 @@ func (x *AtomicSwap) ProtoReflect() protoreflect.Message { // Deprecated: Use AtomicSwap.ProtoReflect.Descriptor instead. func (*AtomicSwap) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{47} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{47} } func (x *AtomicSwap) GetSender() string { @@ -4254,7 +4254,7 @@ type Coin struct { func (x *Coin) Reset() { *x = Coin{} if protoimpl.UnsafeEnabled { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[48] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4267,7 +4267,7 @@ func (x *Coin) String() string { func (*Coin) ProtoMessage() {} func (x *Coin) ProtoReflect() protoreflect.Message { - mi := &file_injective_spot_exchange_rpc_proto_msgTypes[48] + mi := &file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4280,7 +4280,7 @@ func (x *Coin) ProtoReflect() protoreflect.Message { // Deprecated: Use Coin.ProtoReflect.Descriptor instead. func (*Coin) Descriptor() ([]byte, []int) { - return file_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{48} + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP(), []int{48} } func (x *Coin) GetDenom() string { @@ -4297,337 +4297,441 @@ func (x *Coin) GetAmount() string { return "" } -var File_injective_spot_exchange_rpc_proto protoreflect.FileDescriptor +var File_goadesign_goagen_injective_spot_exchange_rpc_proto protoreflect.FileDescriptor -var file_injective_spot_exchange_rpc_proto_rawDesc = []byte{ - 0x0a, 0x21, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, - 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x22, 0x9e, 0x01, 0x0a, 0x0e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x65, - 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, - 0x73, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, - 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, - 0x6f, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, - 0x73, 0x22, 0x58, 0x0a, 0x0f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xae, 0x04, 0x0a, 0x0e, - 0x53, 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 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, 0x23, 0x0a, 0x0d, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x65, - 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, - 0x73, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x4e, 0x0a, 0x0f, 0x62, 0x61, 0x73, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, - 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, - 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, - 0x6f, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x50, 0x0a, 0x10, 0x71, 0x75, 0x6f, 0x74, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, - 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0e, 0x71, 0x75, 0x6f, 0x74, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, - 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, - 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, - 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x46, - 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x65, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x5f, - 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, - 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x5f, 0x71, - 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x51, 0x75, 0x61, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa0, 0x01, 0x0a, - 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 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, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, - 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, - 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, - 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, - 0x2c, 0x0a, 0x0d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 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, 0x22, 0x55, 0x0a, - 0x0e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x43, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, - 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x22, 0x35, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xa1, 0x01, 0x0a, 0x15, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, - 0x31, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x66, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, - 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, - 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0xcc, 0x01, 0x0a, 0x14, 0x53, - 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, - 0x6b, 0x56, 0x32, 0x12, 0x3b, 0x0a, 0x04, 0x62, 0x75, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, +var file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDesc = []byte{ + 0x0a, 0x32, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, + 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x22, 0x9e, 0x01, 0x0a, 0x0e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73, + 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, + 0x61, 0x73, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, + 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, + 0x75, 0x6f, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x65, 0x73, 0x22, 0x58, 0x0a, 0x0f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xae, 0x04, 0x0a, + 0x0e, 0x53, 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 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, 0x23, 0x0a, 0x0d, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73, + 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, + 0x61, 0x73, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x4e, 0x0a, 0x0f, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x04, 0x62, 0x75, 0x79, 0x73, - 0x12, 0x3d, 0x0a, 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x73, 0x65, 0x6c, 0x6c, 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, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x72, 0x69, - 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x34, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x6f, 0x0a, - 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x70, - 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, - 0x56, 0x32, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x22, 0x8a, - 0x01, 0x0a, 0x1a, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 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, 0x4f, 0x0a, 0x09, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, + 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, + 0x75, 0x6f, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x50, 0x0a, 0x10, 0x71, 0x75, 0x6f, + 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0e, 0x71, 0x75, 0x6f, + 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x6d, + 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, + 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, + 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, 0x6b, 0x65, 0x72, + 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x65, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x6d, 0x69, 0x6e, + 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x5f, + 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x51, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa0, 0x01, + 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 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, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, + 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, + 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x22, 0x2c, 0x0a, 0x0d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 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, 0x22, 0x55, + 0x0a, 0x0e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x43, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, + 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x22, 0x35, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xa1, 0x01, 0x0a, + 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x22, 0x31, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x66, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, + 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, - 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0x39, 0x0a, 0x18, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xce, 0x01, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, - 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0xcc, 0x01, 0x0a, 0x14, + 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x3b, 0x0a, 0x04, 0x62, 0x75, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, + 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x04, 0x62, 0x75, 0x79, + 0x73, 0x12, 0x3d, 0x0a, 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, + 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, + 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x73, 0x65, 0x6c, 0x6c, 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, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x34, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x6f, + 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, + 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, + 0x6b, 0x56, 0x32, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x22, + 0x8a, 0x01, 0x0a, 0x1a, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 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, 0x4f, 0x0a, 0x09, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, + 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, + 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0x39, 0x0a, 0x18, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, + 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xce, 0x01, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xed, 0x01, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x17, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x15, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xed, 0x01, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x17, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0xf7, 0x01, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 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, 0x1a, + 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x04, 0x62, 0x75, + 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x04, 0x62, 0x75, 0x79, 0x73, 0x12, 0x43, 0x0a, + 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x65, 0x6c, + 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x22, 0x7f, 0x0a, 0x10, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x22, 0x83, 0x03, 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 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, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, + 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x92, 0x01, 0x0a, 0x0e, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, + 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, + 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xb8, 0x03, + 0x0a, 0x0e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, + 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, + 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 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, + 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, + 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, + 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, + 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, + 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, + 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x12, 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, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x17, 0x0a, + 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, + 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, + 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, + 0x02, 0x74, 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, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, + 0x74, 0x22, 0x89, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, + 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x29, 0x0a, + 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x49, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, + 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, + 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x9e, 0x01, + 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xbf, + 0x03, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 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, 0x25, 0x0a, + 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, + 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, + 0x22, 0x8d, 0x01, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, + 0x64, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x22, 0xb2, 0x03, 0x0a, 0x09, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, + 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, + 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x05, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, - 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x15, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, + 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xc5, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, + 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, + 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, + 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x99, 0x01, + 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0xf7, 0x01, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 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, 0x1a, 0x0a, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x04, 0x62, 0x75, 0x79, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x04, 0x62, 0x75, 0x79, 0x73, 0x12, 0x43, 0x0a, 0x05, - 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x65, 0x6c, 0x6c, - 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x22, 0x7f, 0x0a, 0x10, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, - 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, - 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x22, 0x83, 0x03, 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 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, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc1, 0x03, 0x0a, 0x0f, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, - 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, - 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, - 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x92, 0x01, 0x0a, 0x0e, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, - 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xb8, 0x03, 0x0a, - 0x0e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, - 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, - 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, 0x0a, - 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 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, 0x12, - 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, - 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6e, - 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, - 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, - 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, - 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x12, 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, - 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x17, 0x0a, 0x07, - 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, - 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x69, - 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, - 0x74, 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, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, - 0x22, 0x89, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, - 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x53, 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, - 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x29, 0x0a, 0x10, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, - 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, - 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, - 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x9e, 0x01, 0x0a, - 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xbf, 0x03, - 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, - 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, - 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, - 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, - 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, - 0x8d, 0x01, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, + 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, + 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x8f, 0x01, + 0x0a, 0x10, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, @@ -4636,492 +4740,389 @@ var file_injective_spot_exchange_rpc_proto_rawDesc = []byte{ 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, - 0xb2, 0x03, 0x0a, 0x09, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, - 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x30, - 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, 0x72, - 0x61, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x05, 0x70, 0x72, 0x69, - 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, - 0x6c, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x66, - 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, - 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, - 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x63, 0x69, 0x64, 0x22, 0xc5, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, - 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, - 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, - 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, - 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, - 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x99, 0x01, 0x0a, - 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0xc7, 0x03, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, + 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, + 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, + 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, + 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x16, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, + 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, + 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x22, 0xa0, 0x01, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x74, 0x72, - 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc1, 0x03, 0x0a, 0x0f, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, - 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, - 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, - 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, - 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, - 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x8f, 0x01, 0x0a, - 0x10, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, - 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, - 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, - 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xc7, - 0x03, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, - 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, - 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, - 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, - 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, - 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, 0x64, - 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, + 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xce, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x22, 0xa0, 0x01, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, - 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xce, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, - 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, - 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, - 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x5e, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, - 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x22, 0xb6, 0x03, 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, + 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, + 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x5e, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, + 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x22, 0xb6, 0x03, 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x49, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x2e, + 0x0a, 0x13, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, + 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, + 0x22, 0x9b, 0x01, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x06, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, + 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xf3, + 0x03, 0x0a, 0x10, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, + 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, + 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 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, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, + 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x12, 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, 0x0d, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, + 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x63, 0x69, 0x64, 0x22, 0xdc, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0a, 0x20, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, - 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, - 0x13, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x5f, - 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, - 0x9b, 0x01, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x06, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, - 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, - 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xf3, 0x03, - 0x0a, 0x10, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, - 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1b, - 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 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, - 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, - 0x0f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, - 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, - 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, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, - 0x61, 0x73, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, - 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x63, 0x69, 0x64, 0x22, 0xdc, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x43, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, - 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc7, 0x01, 0x0a, - 0x18, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 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, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x73, 0x6b, - 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 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, 0x05, 0x20, 0x01, 0x28, 0x11, 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, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x74, 0x6f, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x95, 0x01, 0x0a, 0x19, 0x41, 0x74, 0x6f, 0x6d, 0x69, - 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x67, 0x12, 0x3b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x74, - 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe0, - 0x03, 0x0a, 0x0a, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 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, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, - 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, - 0x6f, 0x69, 0x6e, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, - 0x3e, 0x0a, 0x09, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, + 0x70, 0x65, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x08, 0x64, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x12, - 0x35, 0x0a, 0x04, 0x66, 0x65, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, 0x6e, - 0x52, 0x04, 0x66, 0x65, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0d, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x42, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x15, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x42, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, - 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x22, 0x34, 0x0a, 0x04, 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, 0x32, 0x9e, 0x11, 0x0a, 0x18, 0x49, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x52, 0x50, 0x43, 0x12, 0x64, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, - 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x4d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, - 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, - 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x31, + 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc7, 0x01, + 0x0a, 0x18, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 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, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x73, + 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 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, 0x05, 0x20, 0x01, 0x28, 0x11, 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, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x74, + 0x6f, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x95, 0x01, 0x0a, 0x19, 0x41, 0x74, 0x6f, 0x6d, + 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x67, 0x12, 0x3b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, + 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, + 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0xe0, 0x03, 0x0a, 0x0a, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 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, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x0b, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, + 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x69, 0x6e, + 0x12, 0x3e, 0x0a, 0x09, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x08, 0x64, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x69, 0x6e, + 0x12, 0x35, 0x0a, 0x04, 0x66, 0x65, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, + 0x6e, 0x52, 0x04, 0x66, 0x65, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x62, 0x79, 0x5f, 0x73, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0d, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x42, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x15, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x42, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x0b, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, + 0x0d, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x22, 0x34, 0x0a, 0x04, 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, 0x32, 0x9e, 0x11, 0x0a, 0x18, 0x49, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x52, 0x50, 0x43, 0x12, 0x64, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, + 0x12, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, + 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x4d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x70, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, + 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, + 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, + 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x70, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, - 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x0c, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, - 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, - 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, - 0x01, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x90, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, - 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, + 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, + 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x0c, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, - 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x0c, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x69, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x84, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x67, 0x0a, 0x08, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x69, 0x6e, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x90, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, + 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x30, 0x01, 0x12, 0x8b, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x8b, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x73, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, - 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, - 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, + 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, - 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x37, + 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x0c, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x30, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, - 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x2a, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, - 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, - 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, - 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x20, 0x5a, 0x1e, 0x2f, 0x69, 0x6e, 0x6a, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x67, 0x0a, + 0x08, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x30, 0x01, 0x12, 0x8b, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x76, 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x12, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, + 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, + 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, + 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, + 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, + 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x20, 0x5a, 0x1e, 0x2f, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( - file_injective_spot_exchange_rpc_proto_rawDescOnce sync.Once - file_injective_spot_exchange_rpc_proto_rawDescData = file_injective_spot_exchange_rpc_proto_rawDesc + file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescData = file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDesc ) -func file_injective_spot_exchange_rpc_proto_rawDescGZIP() []byte { - file_injective_spot_exchange_rpc_proto_rawDescOnce.Do(func() { - file_injective_spot_exchange_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_spot_exchange_rpc_proto_rawDescData) +func file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescData) }) - return file_injective_spot_exchange_rpc_proto_rawDescData + return file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDescData } -var file_injective_spot_exchange_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 49) -var file_injective_spot_exchange_rpc_proto_goTypes = []interface{}{ +var file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 49) +var file_goadesign_goagen_injective_spot_exchange_rpc_proto_goTypes = []interface{}{ (*MarketsRequest)(nil), // 0: injective_spot_exchange_rpc.MarketsRequest (*MarketsResponse)(nil), // 1: injective_spot_exchange_rpc.MarketsResponse (*SpotMarketInfo)(nil), // 2: injective_spot_exchange_rpc.SpotMarketInfo @@ -5172,7 +5173,7 @@ var file_injective_spot_exchange_rpc_proto_goTypes = []interface{}{ (*AtomicSwap)(nil), // 47: injective_spot_exchange_rpc.AtomicSwap (*Coin)(nil), // 48: injective_spot_exchange_rpc.Coin } -var file_injective_spot_exchange_rpc_proto_depIdxs = []int32{ +var file_goadesign_goagen_injective_spot_exchange_rpc_proto_depIdxs = []int32{ 2, // 0: injective_spot_exchange_rpc.MarketsResponse.markets:type_name -> injective_spot_exchange_rpc.SpotMarketInfo 3, // 1: injective_spot_exchange_rpc.SpotMarketInfo.base_token_meta:type_name -> injective_spot_exchange_rpc.TokenMeta 3, // 2: injective_spot_exchange_rpc.SpotMarketInfo.quote_token_meta:type_name -> injective_spot_exchange_rpc.TokenMeta @@ -5251,13 +5252,13 @@ var file_injective_spot_exchange_rpc_proto_depIdxs = []int32{ 0, // [0:35] is the sub-list for field type_name } -func init() { file_injective_spot_exchange_rpc_proto_init() } -func file_injective_spot_exchange_rpc_proto_init() { - if File_injective_spot_exchange_rpc_proto != nil { +func init() { file_goadesign_goagen_injective_spot_exchange_rpc_proto_init() } +func file_goadesign_goagen_injective_spot_exchange_rpc_proto_init() { + if File_goadesign_goagen_injective_spot_exchange_rpc_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_injective_spot_exchange_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MarketsRequest); i { case 0: return &v.state @@ -5269,7 +5270,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MarketsResponse); i { case 0: return &v.state @@ -5281,7 +5282,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SpotMarketInfo); i { case 0: return &v.state @@ -5293,7 +5294,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenMeta); i { case 0: return &v.state @@ -5305,7 +5306,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MarketRequest); i { case 0: return &v.state @@ -5317,7 +5318,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MarketResponse); i { case 0: return &v.state @@ -5329,7 +5330,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamMarketsRequest); i { case 0: return &v.state @@ -5341,7 +5342,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamMarketsResponse); i { case 0: return &v.state @@ -5353,7 +5354,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbookV2Request); i { case 0: return &v.state @@ -5365,7 +5366,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbookV2Response); i { case 0: return &v.state @@ -5377,7 +5378,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SpotLimitOrderbookV2); i { case 0: return &v.state @@ -5389,7 +5390,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PriceLevel); i { case 0: return &v.state @@ -5401,7 +5402,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbooksV2Request); i { case 0: return &v.state @@ -5413,7 +5414,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbooksV2Response); i { case 0: return &v.state @@ -5425,7 +5426,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SingleSpotLimitOrderbookV2); i { case 0: return &v.state @@ -5437,7 +5438,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrderbookV2Request); i { case 0: return &v.state @@ -5449,7 +5450,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrderbookV2Response); i { case 0: return &v.state @@ -5461,7 +5462,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrderbookUpdateRequest); i { case 0: return &v.state @@ -5473,7 +5474,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrderbookUpdateResponse); i { case 0: return &v.state @@ -5485,7 +5486,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrderbookLevelUpdates); i { case 0: return &v.state @@ -5497,7 +5498,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PriceLevelUpdate); i { case 0: return &v.state @@ -5509,7 +5510,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrdersRequest); i { case 0: return &v.state @@ -5521,7 +5522,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrdersResponse); i { case 0: return &v.state @@ -5533,7 +5534,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SpotLimitOrder); i { case 0: return &v.state @@ -5545,7 +5546,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Paging); i { case 0: return &v.state @@ -5557,7 +5558,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrdersRequest); i { case 0: return &v.state @@ -5569,7 +5570,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrdersResponse); i { case 0: return &v.state @@ -5581,7 +5582,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TradesRequest); i { case 0: return &v.state @@ -5593,7 +5594,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TradesResponse); i { case 0: return &v.state @@ -5605,7 +5606,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SpotTrade); i { case 0: return &v.state @@ -5617,7 +5618,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTradesRequest); i { case 0: return &v.state @@ -5629,7 +5630,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTradesResponse); i { case 0: return &v.state @@ -5641,7 +5642,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TradesV2Request); i { case 0: return &v.state @@ -5653,7 +5654,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TradesV2Response); i { case 0: return &v.state @@ -5665,7 +5666,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTradesV2Request); i { case 0: return &v.state @@ -5677,7 +5678,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamTradesV2Response); i { case 0: return &v.state @@ -5689,7 +5690,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubaccountOrdersListRequest); i { case 0: return &v.state @@ -5701,7 +5702,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubaccountOrdersListResponse); i { case 0: return &v.state @@ -5713,7 +5714,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubaccountTradesListRequest); i { case 0: return &v.state @@ -5725,7 +5726,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubaccountTradesListResponse); i { case 0: return &v.state @@ -5737,7 +5738,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrdersHistoryRequest); i { case 0: return &v.state @@ -5749,7 +5750,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrdersHistoryResponse); i { case 0: return &v.state @@ -5761,7 +5762,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SpotOrderHistory); i { case 0: return &v.state @@ -5773,7 +5774,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrdersHistoryRequest); i { case 0: return &v.state @@ -5785,7 +5786,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamOrdersHistoryResponse); i { case 0: return &v.state @@ -5797,7 +5798,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AtomicSwapHistoryRequest); i { case 0: return &v.state @@ -5809,7 +5810,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AtomicSwapHistoryResponse); i { case 0: return &v.state @@ -5821,7 +5822,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AtomicSwap); i { case 0: return &v.state @@ -5833,7 +5834,7 @@ func file_injective_spot_exchange_rpc_proto_init() { return nil } } - file_injective_spot_exchange_rpc_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Coin); i { case 0: return &v.state @@ -5850,18 +5851,18 @@ func file_injective_spot_exchange_rpc_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_spot_exchange_rpc_proto_rawDesc, + RawDescriptor: file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDesc, NumEnums: 0, NumMessages: 49, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_injective_spot_exchange_rpc_proto_goTypes, - DependencyIndexes: file_injective_spot_exchange_rpc_proto_depIdxs, - MessageInfos: file_injective_spot_exchange_rpc_proto_msgTypes, + GoTypes: file_goadesign_goagen_injective_spot_exchange_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_spot_exchange_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_spot_exchange_rpc_proto_msgTypes, }.Build() - File_injective_spot_exchange_rpc_proto = out.File - file_injective_spot_exchange_rpc_proto_rawDesc = nil - file_injective_spot_exchange_rpc_proto_goTypes = nil - file_injective_spot_exchange_rpc_proto_depIdxs = nil + File_goadesign_goagen_injective_spot_exchange_rpc_proto = out.File + file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_spot_exchange_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_spot_exchange_rpc_proto_depIdxs = nil } diff --git a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.proto b/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.proto similarity index 99% rename from exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.proto rename to exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.proto index ea74b297..e5759878 100644 --- a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.proto +++ b/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveSpotExchangeRPC protocol buffer definition // diff --git a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc_grpc.pb.go b/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc_grpc.pb.go similarity index 99% rename from exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc_grpc.pb.go rename to exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc_grpc.pb.go index cb95d816..4032d51d 100644 --- a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc_grpc.pb.go +++ b/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_spot_exchange_rpc.proto package injective_spot_exchange_rpcpb @@ -936,5 +940,5 @@ var InjectiveSpotExchangeRPC_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, }, - Metadata: "injective_spot_exchange_rpc.proto", + Metadata: "goadesign_goagen_injective_spot_exchange_rpc.proto", } diff --git a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.pb.gw.go b/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.pb.gw.go index 1324f523..4abea1de 100644 --- a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.pb.gw.go +++ b/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.pb.gw.go @@ -592,20 +592,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Markets", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Markets")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Markets", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Markets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_Markets_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_Markets_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_Markets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_Markets_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -615,20 +617,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Market", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Market")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Market", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Market")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_Market_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_Market_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_Market_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_Market_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -645,20 +649,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbookV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbookV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbookV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbookV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_OrderbookV2_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_OrderbookV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_OrderbookV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_OrderbookV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -668,20 +674,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbooksV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbooksV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbooksV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbooksV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_OrderbooksV2_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_OrderbooksV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_OrderbooksV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_OrderbooksV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -705,20 +713,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Orders", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Orders")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Orders", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Orders")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_Orders_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_Orders_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_Orders_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_Orders_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -735,20 +745,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Trades", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Trades")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Trades", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Trades")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_Trades_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_Trades_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_Trades_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_Trades_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -765,20 +777,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/TradesV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/TradesV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/TradesV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/TradesV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_TradesV2_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_TradesV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_TradesV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_TradesV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -795,20 +809,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountOrdersList", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountOrdersList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountOrdersList", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountOrdersList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_SubaccountOrdersList_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_SubaccountOrdersList_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_SubaccountOrdersList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_SubaccountOrdersList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -818,20 +834,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountTradesList", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountTradesList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountTradesList", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountTradesList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_SubaccountTradesList_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_SubaccountTradesList_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_SubaccountTradesList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_SubaccountTradesList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -841,20 +859,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrdersHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrdersHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrdersHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrdersHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_OrdersHistory_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_OrdersHistory_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_OrdersHistory_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_OrdersHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -871,20 +891,22 @@ func RegisterInjectiveSpotExchangeRPCHandlerServer(ctx context.Context, mux *run var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/AtomicSwapHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/AtomicSwapHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/AtomicSwapHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/AtomicSwapHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveSpotExchangeRPC_AtomicSwapHistory_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveSpotExchangeRPC_AtomicSwapHistory_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_AtomicSwapHistory_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_AtomicSwapHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -933,19 +955,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Markets", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Markets")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Markets", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Markets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_Markets_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_Markets_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_Markets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_Markets_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -953,19 +977,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Market", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Market")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Market", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Market")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_Market_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_Market_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_Market_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_Market_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -973,19 +999,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamMarkets", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamMarkets")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamMarkets", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamMarkets")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_StreamMarkets_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_StreamMarkets_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_StreamMarkets_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_StreamMarkets_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -993,19 +1021,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbookV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbookV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbookV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbookV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_OrderbookV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_OrderbookV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_OrderbookV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_OrderbookV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1013,19 +1043,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbooksV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbooksV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbooksV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrderbooksV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_OrderbooksV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_OrderbooksV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_OrderbooksV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_OrderbooksV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1033,19 +1065,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_StreamOrderbookV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_StreamOrderbookV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_StreamOrderbookV2_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_StreamOrderbookV2_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1053,19 +1087,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookUpdate", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookUpdate")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookUpdate", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrderbookUpdate")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_StreamOrderbookUpdate_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_StreamOrderbookUpdate_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_StreamOrderbookUpdate_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_StreamOrderbookUpdate_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1073,19 +1109,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Orders", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Orders")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Orders", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Orders")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_Orders_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_Orders_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_Orders_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_Orders_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1093,19 +1131,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrders", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrders")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrders", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrders")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_StreamOrders_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_StreamOrders_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_StreamOrders_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_StreamOrders_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1113,19 +1153,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Trades", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Trades")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Trades", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/Trades")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_Trades_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_Trades_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_Trades_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_Trades_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1133,19 +1175,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTrades", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTrades")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTrades", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTrades")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_StreamTrades_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_StreamTrades_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_StreamTrades_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_StreamTrades_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1153,19 +1197,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/TradesV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/TradesV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/TradesV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/TradesV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_TradesV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_TradesV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_TradesV2_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_TradesV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1173,19 +1219,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTradesV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTradesV2")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTradesV2", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamTradesV2")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_StreamTradesV2_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_StreamTradesV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_StreamTradesV2_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_StreamTradesV2_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1193,19 +1241,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountOrdersList", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountOrdersList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountOrdersList", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountOrdersList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_SubaccountOrdersList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_SubaccountOrdersList_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_SubaccountOrdersList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_SubaccountOrdersList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1213,19 +1263,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountTradesList", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountTradesList")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountTradesList", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/SubaccountTradesList")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_SubaccountTradesList_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_SubaccountTradesList_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_SubaccountTradesList_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_SubaccountTradesList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1233,19 +1285,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrdersHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrdersHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrdersHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/OrdersHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_OrdersHistory_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_OrdersHistory_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_OrdersHistory_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_OrdersHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1253,19 +1307,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrdersHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrdersHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrdersHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/StreamOrdersHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_StreamOrdersHistory_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_StreamOrdersHistory_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_StreamOrdersHistory_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_StreamOrdersHistory_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) }) @@ -1273,19 +1329,21 @@ func RegisterInjectiveSpotExchangeRPCHandlerClient(ctx context.Context, mux *run ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/AtomicSwapHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/AtomicSwapHistory")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/AtomicSwapHistory", runtime.WithHTTPPathPattern("/injective_spot_exchange_rpc.InjectiveSpotExchangeRPC/AtomicSwapHistory")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveSpotExchangeRPC_AtomicSwapHistory_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveSpotExchangeRPC_AtomicSwapHistory_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveSpotExchangeRPC_AtomicSwapHistory_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveSpotExchangeRPC_AtomicSwapHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.pb.go b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.pb.go new file mode 100644 index 00000000..fa06c65a --- /dev/null +++ b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.pb.go @@ -0,0 +1,974 @@ +// Code generated with goa v3.7.0, DO NOT EDIT. +// +// InjectiveTradingRPC protocol buffer definition +// +// Command: +// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc v4.25.3 +// source: goadesign_goagen_injective_trading_rpc.proto + +package injective_trading_rpcpb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ListTradingStrategiesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` + // MarketId of the trading strategy + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // subaccount ID to filter by + SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Account address + AccountAddress string `protobuf:"bytes,4,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // Indicates whether the trading strategy is pending execution + PendingExecution bool `protobuf:"varint,5,opt,name=pending_execution,json=pendingExecution,proto3" json:"pending_execution,omitempty"` + // The starting timestamp in UNIX milliseconds for the creation time of the + // trading strategy + StartTime int64 `protobuf:"zigzag64,6,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // The ending timestamp in UNIX milliseconds for the creation time of the + // trading strategy + EndTime int64 `protobuf:"zigzag64,7,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + Limit int32 `protobuf:"zigzag32,8,opt,name=limit,proto3" json:"limit,omitempty"` + Skip uint64 `protobuf:"varint,9,opt,name=skip,proto3" json:"skip,omitempty"` + // Filter by strategy type + StrategyType []string `protobuf:"bytes,10,rep,name=strategy_type,json=strategyType,proto3" json:"strategy_type,omitempty"` + // Filter by market type + MarketType string `protobuf:"bytes,11,opt,name=market_type,json=marketType,proto3" json:"market_type,omitempty"` +} + +func (x *ListTradingStrategiesRequest) Reset() { + *x = ListTradingStrategiesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTradingStrategiesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTradingStrategiesRequest) ProtoMessage() {} + +func (x *ListTradingStrategiesRequest) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTradingStrategiesRequest.ProtoReflect.Descriptor instead. +func (*ListTradingStrategiesRequest) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_trading_rpc_proto_rawDescGZIP(), []int{0} +} + +func (x *ListTradingStrategiesRequest) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *ListTradingStrategiesRequest) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *ListTradingStrategiesRequest) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *ListTradingStrategiesRequest) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *ListTradingStrategiesRequest) GetPendingExecution() bool { + if x != nil { + return x.PendingExecution + } + return false +} + +func (x *ListTradingStrategiesRequest) GetStartTime() int64 { + if x != nil { + return x.StartTime + } + return 0 +} + +func (x *ListTradingStrategiesRequest) GetEndTime() int64 { + if x != nil { + return x.EndTime + } + return 0 +} + +func (x *ListTradingStrategiesRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *ListTradingStrategiesRequest) GetSkip() uint64 { + if x != nil { + return x.Skip + } + return 0 +} + +func (x *ListTradingStrategiesRequest) GetStrategyType() []string { + if x != nil { + return x.StrategyType + } + return nil +} + +func (x *ListTradingStrategiesRequest) GetMarketType() string { + if x != nil { + return x.MarketType + } + return "" +} + +type ListTradingStrategiesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The trading strategies + Strategies []*TradingStrategy `protobuf:"bytes,1,rep,name=strategies,proto3" json:"strategies,omitempty"` + Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` +} + +func (x *ListTradingStrategiesResponse) Reset() { + *x = ListTradingStrategiesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTradingStrategiesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTradingStrategiesResponse) ProtoMessage() {} + +func (x *ListTradingStrategiesResponse) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTradingStrategiesResponse.ProtoReflect.Descriptor instead. +func (*ListTradingStrategiesResponse) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_trading_rpc_proto_rawDescGZIP(), []int{1} +} + +func (x *ListTradingStrategiesResponse) GetStrategies() []*TradingStrategy { + if x != nil { + return x.Strategies + } + return nil +} + +func (x *ListTradingStrategiesResponse) GetPaging() *Paging { + if x != nil { + return x.Paging + } + return nil +} + +type TradingStrategy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` + // MarketId of the trading strategy + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // subaccount ID of the trading strategy + SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` + // Account address + AccountAddress string `protobuf:"bytes,4,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` + // Contract address + ContractAddress string `protobuf:"bytes,5,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"` + // Execution price of the trading strategy + ExecutionPrice string `protobuf:"bytes,6,opt,name=execution_price,json=executionPrice,proto3" json:"execution_price,omitempty"` + // Base quantity of the trading strategy + BaseQuantity string `protobuf:"bytes,7,opt,name=base_quantity,json=baseQuantity,proto3" json:"base_quantity,omitempty"` + // Quote quantity of the trading strategy + QuoteQuantity string `protobuf:"bytes,20,opt,name=quote_quantity,json=quoteQuantity,proto3" json:"quote_quantity,omitempty"` + // Lower bound of the trading strategy + LowerBound string `protobuf:"bytes,8,opt,name=lower_bound,json=lowerBound,proto3" json:"lower_bound,omitempty"` + // Upper bound of the trading strategy + UpperBound string `protobuf:"bytes,9,opt,name=upper_bound,json=upperBound,proto3" json:"upper_bound,omitempty"` + // Stop loss limit of the trading strategy + StopLoss string `protobuf:"bytes,10,opt,name=stop_loss,json=stopLoss,proto3" json:"stop_loss,omitempty"` + // Take profit limit of the trading strategy + TakeProfit string `protobuf:"bytes,11,opt,name=take_profit,json=takeProfit,proto3" json:"take_profit,omitempty"` + // Swap fee of the trading strategy + SwapFee string `protobuf:"bytes,12,opt,name=swap_fee,json=swapFee,proto3" json:"swap_fee,omitempty"` + // Base deposit at the time of closing the trading strategy + BaseDeposit string `protobuf:"bytes,17,opt,name=base_deposit,json=baseDeposit,proto3" json:"base_deposit,omitempty"` + // Quote deposit at the time of closing the trading strategy + QuoteDeposit string `protobuf:"bytes,18,opt,name=quote_deposit,json=quoteDeposit,proto3" json:"quote_deposit,omitempty"` + // Market mid price at the time of closing the trading strategy + MarketMidPrice string `protobuf:"bytes,19,opt,name=market_mid_price,json=marketMidPrice,proto3" json:"market_mid_price,omitempty"` + // Subscription quote quantity of the trading strategy + SubscriptionQuoteQuantity string `protobuf:"bytes,21,opt,name=subscription_quote_quantity,json=subscriptionQuoteQuantity,proto3" json:"subscription_quote_quantity,omitempty"` + // Subscription base quantity of the trading strategy + SubscriptionBaseQuantity string `protobuf:"bytes,22,opt,name=subscription_base_quantity,json=subscriptionBaseQuantity,proto3" json:"subscription_base_quantity,omitempty"` + // Number of grid levels of the trading strategy + NumberOfGridLevels string `protobuf:"bytes,23,opt,name=number_of_grid_levels,json=numberOfGridLevels,proto3" json:"number_of_grid_levels,omitempty"` + // Indicates whether the trading strategy should exit with quote only + ShouldExitWithQuoteOnly bool `protobuf:"varint,24,opt,name=should_exit_with_quote_only,json=shouldExitWithQuoteOnly,proto3" json:"should_exit_with_quote_only,omitempty"` + // Indicates the reason for stopping the trading strategy + StopReason string `protobuf:"bytes,25,opt,name=stop_reason,json=stopReason,proto3" json:"stop_reason,omitempty"` + // Indicates whether the trading strategy is pending execution + PendingExecution bool `protobuf:"varint,26,opt,name=pending_execution,json=pendingExecution,proto3" json:"pending_execution,omitempty"` + // Block height when the strategy was created. + CreatedHeight int64 `protobuf:"zigzag64,13,opt,name=created_height,json=createdHeight,proto3" json:"created_height,omitempty"` + // Block height when the strategy was removed. + RemovedHeight int64 `protobuf:"zigzag64,14,opt,name=removed_height,json=removedHeight,proto3" json:"removed_height,omitempty"` + // UpdatedAt timestamp in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,15,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // UpdatedAt timestamp in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,16,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Indicate how bot will convert funds (into base or quote or keep as is) after + // strategy ended + ExitType string `protobuf:"bytes,27,opt,name=exit_type,json=exitType,proto3" json:"exit_type,omitempty"` + // Exit config for stop loss + StopLossConfig *ExitConfig `protobuf:"bytes,28,opt,name=stop_loss_config,json=stopLossConfig,proto3" json:"stop_loss_config,omitempty"` + // Exit config for take profit + TakeProfitConfig *ExitConfig `protobuf:"bytes,29,opt,name=take_profit_config,json=takeProfitConfig,proto3" json:"take_profit_config,omitempty"` + // Strategy type: arithmetic, geometric... + StrategyType string `protobuf:"bytes,30,opt,name=strategy_type,json=strategyType,proto3" json:"strategy_type,omitempty"` + // Version of the contract + ContractVersion string `protobuf:"bytes,31,opt,name=contract_version,json=contractVersion,proto3" json:"contract_version,omitempty"` + // Name of the contract + ContractName string `protobuf:"bytes,32,opt,name=contract_name,json=contractName,proto3" json:"contract_name,omitempty"` + // Type of the market + MarketType string `protobuf:"bytes,33,opt,name=market_type,json=marketType,proto3" json:"market_type,omitempty"` +} + +func (x *TradingStrategy) Reset() { + *x = TradingStrategy{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TradingStrategy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TradingStrategy) ProtoMessage() {} + +func (x *TradingStrategy) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TradingStrategy.ProtoReflect.Descriptor instead. +func (*TradingStrategy) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_trading_rpc_proto_rawDescGZIP(), []int{2} +} + +func (x *TradingStrategy) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *TradingStrategy) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *TradingStrategy) GetSubaccountId() string { + if x != nil { + return x.SubaccountId + } + return "" +} + +func (x *TradingStrategy) GetAccountAddress() string { + if x != nil { + return x.AccountAddress + } + return "" +} + +func (x *TradingStrategy) GetContractAddress() string { + if x != nil { + return x.ContractAddress + } + return "" +} + +func (x *TradingStrategy) GetExecutionPrice() string { + if x != nil { + return x.ExecutionPrice + } + return "" +} + +func (x *TradingStrategy) GetBaseQuantity() string { + if x != nil { + return x.BaseQuantity + } + return "" +} + +func (x *TradingStrategy) GetQuoteQuantity() string { + if x != nil { + return x.QuoteQuantity + } + return "" +} + +func (x *TradingStrategy) GetLowerBound() string { + if x != nil { + return x.LowerBound + } + return "" +} + +func (x *TradingStrategy) GetUpperBound() string { + if x != nil { + return x.UpperBound + } + return "" +} + +func (x *TradingStrategy) GetStopLoss() string { + if x != nil { + return x.StopLoss + } + return "" +} + +func (x *TradingStrategy) GetTakeProfit() string { + if x != nil { + return x.TakeProfit + } + return "" +} + +func (x *TradingStrategy) GetSwapFee() string { + if x != nil { + return x.SwapFee + } + return "" +} + +func (x *TradingStrategy) GetBaseDeposit() string { + if x != nil { + return x.BaseDeposit + } + return "" +} + +func (x *TradingStrategy) GetQuoteDeposit() string { + if x != nil { + return x.QuoteDeposit + } + return "" +} + +func (x *TradingStrategy) GetMarketMidPrice() string { + if x != nil { + return x.MarketMidPrice + } + return "" +} + +func (x *TradingStrategy) GetSubscriptionQuoteQuantity() string { + if x != nil { + return x.SubscriptionQuoteQuantity + } + return "" +} + +func (x *TradingStrategy) GetSubscriptionBaseQuantity() string { + if x != nil { + return x.SubscriptionBaseQuantity + } + return "" +} + +func (x *TradingStrategy) GetNumberOfGridLevels() string { + if x != nil { + return x.NumberOfGridLevels + } + return "" +} + +func (x *TradingStrategy) GetShouldExitWithQuoteOnly() bool { + if x != nil { + return x.ShouldExitWithQuoteOnly + } + return false +} + +func (x *TradingStrategy) GetStopReason() string { + if x != nil { + return x.StopReason + } + return "" +} + +func (x *TradingStrategy) GetPendingExecution() bool { + if x != nil { + return x.PendingExecution + } + return false +} + +func (x *TradingStrategy) GetCreatedHeight() int64 { + if x != nil { + return x.CreatedHeight + } + return 0 +} + +func (x *TradingStrategy) GetRemovedHeight() int64 { + if x != nil { + return x.RemovedHeight + } + return 0 +} + +func (x *TradingStrategy) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *TradingStrategy) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *TradingStrategy) GetExitType() string { + if x != nil { + return x.ExitType + } + return "" +} + +func (x *TradingStrategy) GetStopLossConfig() *ExitConfig { + if x != nil { + return x.StopLossConfig + } + return nil +} + +func (x *TradingStrategy) GetTakeProfitConfig() *ExitConfig { + if x != nil { + return x.TakeProfitConfig + } + return nil +} + +func (x *TradingStrategy) GetStrategyType() string { + if x != nil { + return x.StrategyType + } + return "" +} + +func (x *TradingStrategy) GetContractVersion() string { + if x != nil { + return x.ContractVersion + } + return "" +} + +func (x *TradingStrategy) GetContractName() string { + if x != nil { + return x.ContractName + } + return "" +} + +func (x *TradingStrategy) GetMarketType() string { + if x != nil { + return x.MarketType + } + return "" +} + +type ExitConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // strategy exit type (stopLoss/takeProfit) + ExitType string `protobuf:"bytes,1,opt,name=exit_type,json=exitType,proto3" json:"exit_type,omitempty"` + // strategy stopLoss/takeProfit price + ExitPrice string `protobuf:"bytes,2,opt,name=exit_price,json=exitPrice,proto3" json:"exit_price,omitempty"` +} + +func (x *ExitConfig) Reset() { + *x = ExitConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExitConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExitConfig) ProtoMessage() {} + +func (x *ExitConfig) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExitConfig.ProtoReflect.Descriptor instead. +func (*ExitConfig) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_trading_rpc_proto_rawDescGZIP(), []int{3} +} + +func (x *ExitConfig) GetExitType() string { + if x != nil { + return x.ExitType + } + return "" +} + +func (x *ExitConfig) GetExitPrice() string { + if x != nil { + return x.ExitPrice + } + return "" +} + +// Paging defines the structure for required params for handling pagination +type Paging struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // total number of txs saved in database + Total int64 `protobuf:"zigzag64,1,opt,name=total,proto3" json:"total,omitempty"` + // can be either block height or index num + From int32 `protobuf:"zigzag32,2,opt,name=from,proto3" json:"from,omitempty"` + // can be either block height or index num + To int32 `protobuf:"zigzag32,3,opt,name=to,proto3" json:"to,omitempty"` + // count entries by subaccount, serving some places on helix + CountBySubaccount int64 `protobuf:"zigzag64,4,opt,name=count_by_subaccount,json=countBySubaccount,proto3" json:"count_by_subaccount,omitempty"` + // array of tokens to navigate to the next pages + Next []string `protobuf:"bytes,5,rep,name=next,proto3" json:"next,omitempty"` +} + +func (x *Paging) Reset() { + *x = Paging{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Paging) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Paging) ProtoMessage() {} + +func (x *Paging) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Paging.ProtoReflect.Descriptor instead. +func (*Paging) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_trading_rpc_proto_rawDescGZIP(), []int{4} +} + +func (x *Paging) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *Paging) GetFrom() int32 { + if x != nil { + return x.From + } + return 0 +} + +func (x *Paging) GetTo() int32 { + if x != nil { + return x.To + } + return 0 +} + +func (x *Paging) GetCountBySubaccount() int64 { + if x != nil { + return x.CountBySubaccount + } + return 0 +} + +func (x *Paging) GetNext() []string { + if x != nil { + return x.Next + } + return nil +} + +var File_goadesign_goagen_injective_trading_rpc_proto protoreflect.FileDescriptor + +var file_goadesign_goagen_injective_trading_rpc_proto_rawDesc = []byte{ + 0x0a, 0x2c, 0x67, 0x6f, 0x61, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x67, + 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, + 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, + 0x67, 0x5f, 0x72, 0x70, 0x63, 0x22, 0xf6, 0x02, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x27, + 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x61, + 0x74, 0x65, 0x67, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0c, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x9e, + 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x46, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, + 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0a, 0x73, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, + 0xd9, 0x0a, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, + 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x62, 0x61, 0x73, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x25, 0x0a, + 0x0e, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x51, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x62, 0x6f, + 0x75, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x77, 0x65, 0x72, + 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x62, + 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x70, 0x65, + 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x6c, + 0x6f, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x4c, + 0x6f, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, + 0x69, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x72, + 0x6f, 0x66, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x66, 0x65, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x77, 0x61, 0x70, 0x46, 0x65, 0x65, 0x12, + 0x21, 0x0a, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x44, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x71, 0x75, 0x6f, 0x74, 0x65, + 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x5f, 0x6d, 0x69, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x64, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x3e, 0x0a, 0x1b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x73, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, + 0x31, 0x0a, 0x15, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x67, 0x72, 0x69, + 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x47, 0x72, 0x69, 0x64, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x73, 0x12, 0x3c, 0x0a, 0x1b, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x65, 0x78, 0x69, + 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, + 0x79, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x45, + 0x78, 0x69, 0x74, 0x57, 0x69, 0x74, 0x68, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, + 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, + 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x65, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, + 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x48, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, + 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0d, 0x72, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x12, + 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, 0x12, 0x52, + 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, + 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, + 0x78, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4b, 0x0a, 0x10, 0x73, 0x74, 0x6f, 0x70, 0x5f, + 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1c, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, + 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x69, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x73, 0x74, 0x6f, 0x70, 0x4c, 0x6f, 0x73, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x12, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x70, 0x72, 0x6f, + 0x66, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, + 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x10, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, + 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x1f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x48, 0x0a, 0x0a, 0x45, + 0x78, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, + 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, + 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x69, 0x74, + 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, + 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x32, 0x9a, + 0x01, 0x0a, 0x13, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x50, 0x43, 0x12, 0x82, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, + 0x12, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, + 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x1a, 0x5a, 0x18, 0x2f, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, + 0x67, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_goadesign_goagen_injective_trading_rpc_proto_rawDescOnce sync.Once + file_goadesign_goagen_injective_trading_rpc_proto_rawDescData = file_goadesign_goagen_injective_trading_rpc_proto_rawDesc +) + +func file_goadesign_goagen_injective_trading_rpc_proto_rawDescGZIP() []byte { + file_goadesign_goagen_injective_trading_rpc_proto_rawDescOnce.Do(func() { + file_goadesign_goagen_injective_trading_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_goadesign_goagen_injective_trading_rpc_proto_rawDescData) + }) + return file_goadesign_goagen_injective_trading_rpc_proto_rawDescData +} + +var file_goadesign_goagen_injective_trading_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_goadesign_goagen_injective_trading_rpc_proto_goTypes = []interface{}{ + (*ListTradingStrategiesRequest)(nil), // 0: injective_trading_rpc.ListTradingStrategiesRequest + (*ListTradingStrategiesResponse)(nil), // 1: injective_trading_rpc.ListTradingStrategiesResponse + (*TradingStrategy)(nil), // 2: injective_trading_rpc.TradingStrategy + (*ExitConfig)(nil), // 3: injective_trading_rpc.ExitConfig + (*Paging)(nil), // 4: injective_trading_rpc.Paging +} +var file_goadesign_goagen_injective_trading_rpc_proto_depIdxs = []int32{ + 2, // 0: injective_trading_rpc.ListTradingStrategiesResponse.strategies:type_name -> injective_trading_rpc.TradingStrategy + 4, // 1: injective_trading_rpc.ListTradingStrategiesResponse.paging:type_name -> injective_trading_rpc.Paging + 3, // 2: injective_trading_rpc.TradingStrategy.stop_loss_config:type_name -> injective_trading_rpc.ExitConfig + 3, // 3: injective_trading_rpc.TradingStrategy.take_profit_config:type_name -> injective_trading_rpc.ExitConfig + 0, // 4: injective_trading_rpc.InjectiveTradingRPC.ListTradingStrategies:input_type -> injective_trading_rpc.ListTradingStrategiesRequest + 1, // 5: injective_trading_rpc.InjectiveTradingRPC.ListTradingStrategies:output_type -> injective_trading_rpc.ListTradingStrategiesResponse + 5, // [5:6] is the sub-list for method output_type + 4, // [4:5] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_goadesign_goagen_injective_trading_rpc_proto_init() } +func file_goadesign_goagen_injective_trading_rpc_proto_init() { + if File_goadesign_goagen_injective_trading_rpc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTradingStrategiesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTradingStrategiesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TradingStrategy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExitConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_trading_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Paging); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_goadesign_goagen_injective_trading_rpc_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_goadesign_goagen_injective_trading_rpc_proto_goTypes, + DependencyIndexes: file_goadesign_goagen_injective_trading_rpc_proto_depIdxs, + MessageInfos: file_goadesign_goagen_injective_trading_rpc_proto_msgTypes, + }.Build() + File_goadesign_goagen_injective_trading_rpc_proto = out.File + file_goadesign_goagen_injective_trading_rpc_proto_rawDesc = nil + file_goadesign_goagen_injective_trading_rpc_proto_goTypes = nil + file_goadesign_goagen_injective_trading_rpc_proto_depIdxs = nil +} diff --git a/exchange/trading_rpc/pb/injective_trading_rpc.proto b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.proto similarity index 81% rename from exchange/trading_rpc/pb/injective_trading_rpc.proto rename to exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.proto index 342f673f..18b00922 100644 --- a/exchange/trading_rpc/pb/injective_trading_rpc.proto +++ b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.proto @@ -1,4 +1,4 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. +// Code generated with goa v3.7.0, DO NOT EDIT. // // InjectiveTradingRPC protocol buffer definition // @@ -36,6 +36,10 @@ message ListTradingStrategiesRequest { sint64 end_time = 7; sint32 limit = 8; uint64 skip = 9; + // Filter by strategy type + repeated string strategy_type = 10; + // Filter by market type + string market_type = 11; } message ListTradingStrategiesResponse { @@ -96,6 +100,28 @@ message TradingStrategy { sint64 created_at = 15; // UpdatedAt timestamp in UNIX millis. sint64 updated_at = 16; + // Indicate how bot will convert funds (into base or quote or keep as is) after +// strategy ended + string exit_type = 27; + // Exit config for stop loss + ExitConfig stop_loss_config = 28; + // Exit config for take profit + ExitConfig take_profit_config = 29; + // Strategy type: arithmetic, geometric... + string strategy_type = 30; + // Version of the contract + string contract_version = 31; + // Name of the contract + string contract_name = 32; + // Type of the market + string market_type = 33; +} + +message ExitConfig { + // strategy exit type (stopLoss/takeProfit) + string exit_type = 1; + // strategy stopLoss/takeProfit price + string exit_price = 2; } // Paging defines the structure for required params for handling pagination message Paging { diff --git a/exchange/trading_rpc/pb/injective_trading_rpc_grpc.pb.go b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc_grpc.pb.go similarity index 95% rename from exchange/trading_rpc/pb/injective_trading_rpc_grpc.pb.go rename to exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc_grpc.pb.go index ec0497c6..ec918fd5 100644 --- a/exchange/trading_rpc/pb/injective_trading_rpc_grpc.pb.go +++ b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.25.3 +// source: goadesign_goagen_injective_trading_rpc.proto package injective_trading_rpcpb @@ -99,5 +103,5 @@ var InjectiveTradingRPC_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "injective_trading_rpc.proto", + Metadata: "goadesign_goagen_injective_trading_rpc.proto", } diff --git a/exchange/trading_rpc/pb/injective_trading_rpc.pb.go b/exchange/trading_rpc/pb/injective_trading_rpc.pb.go deleted file mode 100644 index bc203873..00000000 --- a/exchange/trading_rpc/pb/injective_trading_rpc.pb.go +++ /dev/null @@ -1,789 +0,0 @@ -// Code generated with goa v3.5.2, DO NOT EDIT. -// -// InjectiveTradingRPC protocol buffer definition -// -// Command: -// $ goa gen github.com/InjectiveLabs/injective-indexer/api/design -o ../ - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.30.0 -// protoc v3.19.4 -// source: injective_trading_rpc.proto - -package injective_trading_rpcpb - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type ListTradingStrategiesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` - // MarketId of the trading strategy - MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - // subaccount ID to filter by - SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // Account address - AccountAddress string `protobuf:"bytes,4,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` - // Indicates whether the trading strategy is pending execution - PendingExecution bool `protobuf:"varint,5,opt,name=pending_execution,json=pendingExecution,proto3" json:"pending_execution,omitempty"` - // The starting timestamp in UNIX milliseconds for the creation time of the - // trading strategy - StartTime int64 `protobuf:"zigzag64,6,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` - // The ending timestamp in UNIX milliseconds for the creation time of the - // trading strategy - EndTime int64 `protobuf:"zigzag64,7,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` - Limit int32 `protobuf:"zigzag32,8,opt,name=limit,proto3" json:"limit,omitempty"` - Skip uint64 `protobuf:"varint,9,opt,name=skip,proto3" json:"skip,omitempty"` -} - -func (x *ListTradingStrategiesRequest) Reset() { - *x = ListTradingStrategiesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_trading_rpc_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListTradingStrategiesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListTradingStrategiesRequest) ProtoMessage() {} - -func (x *ListTradingStrategiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_injective_trading_rpc_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListTradingStrategiesRequest.ProtoReflect.Descriptor instead. -func (*ListTradingStrategiesRequest) Descriptor() ([]byte, []int) { - return file_injective_trading_rpc_proto_rawDescGZIP(), []int{0} -} - -func (x *ListTradingStrategiesRequest) GetState() string { - if x != nil { - return x.State - } - return "" -} - -func (x *ListTradingStrategiesRequest) GetMarketId() string { - if x != nil { - return x.MarketId - } - return "" -} - -func (x *ListTradingStrategiesRequest) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *ListTradingStrategiesRequest) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -func (x *ListTradingStrategiesRequest) GetPendingExecution() bool { - if x != nil { - return x.PendingExecution - } - return false -} - -func (x *ListTradingStrategiesRequest) GetStartTime() int64 { - if x != nil { - return x.StartTime - } - return 0 -} - -func (x *ListTradingStrategiesRequest) GetEndTime() int64 { - if x != nil { - return x.EndTime - } - return 0 -} - -func (x *ListTradingStrategiesRequest) GetLimit() int32 { - if x != nil { - return x.Limit - } - return 0 -} - -func (x *ListTradingStrategiesRequest) GetSkip() uint64 { - if x != nil { - return x.Skip - } - return 0 -} - -type ListTradingStrategiesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The trading strategies - Strategies []*TradingStrategy `protobuf:"bytes,1,rep,name=strategies,proto3" json:"strategies,omitempty"` - Paging *Paging `protobuf:"bytes,2,opt,name=paging,proto3" json:"paging,omitempty"` -} - -func (x *ListTradingStrategiesResponse) Reset() { - *x = ListTradingStrategiesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_trading_rpc_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListTradingStrategiesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListTradingStrategiesResponse) ProtoMessage() {} - -func (x *ListTradingStrategiesResponse) ProtoReflect() protoreflect.Message { - mi := &file_injective_trading_rpc_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListTradingStrategiesResponse.ProtoReflect.Descriptor instead. -func (*ListTradingStrategiesResponse) Descriptor() ([]byte, []int) { - return file_injective_trading_rpc_proto_rawDescGZIP(), []int{1} -} - -func (x *ListTradingStrategiesResponse) GetStrategies() []*TradingStrategy { - if x != nil { - return x.Strategies - } - return nil -} - -func (x *ListTradingStrategiesResponse) GetPaging() *Paging { - if x != nil { - return x.Paging - } - return nil -} - -type TradingStrategy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` - // MarketId of the trading strategy - MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` - // subaccount ID of the trading strategy - SubaccountId string `protobuf:"bytes,3,opt,name=subaccount_id,json=subaccountId,proto3" json:"subaccount_id,omitempty"` - // Account address - AccountAddress string `protobuf:"bytes,4,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` - // Contract address - ContractAddress string `protobuf:"bytes,5,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"` - // Execution price of the trading strategy - ExecutionPrice string `protobuf:"bytes,6,opt,name=execution_price,json=executionPrice,proto3" json:"execution_price,omitempty"` - // Base quantity of the trading strategy - BaseQuantity string `protobuf:"bytes,7,opt,name=base_quantity,json=baseQuantity,proto3" json:"base_quantity,omitempty"` - // Quote quantity of the trading strategy - QuoteQuantity string `protobuf:"bytes,20,opt,name=quote_quantity,json=quoteQuantity,proto3" json:"quote_quantity,omitempty"` - // Lower bound of the trading strategy - LowerBound string `protobuf:"bytes,8,opt,name=lower_bound,json=lowerBound,proto3" json:"lower_bound,omitempty"` - // Upper bound of the trading strategy - UpperBound string `protobuf:"bytes,9,opt,name=upper_bound,json=upperBound,proto3" json:"upper_bound,omitempty"` - // Stop loss limit of the trading strategy - StopLoss string `protobuf:"bytes,10,opt,name=stop_loss,json=stopLoss,proto3" json:"stop_loss,omitempty"` - // Take profit limit of the trading strategy - TakeProfit string `protobuf:"bytes,11,opt,name=take_profit,json=takeProfit,proto3" json:"take_profit,omitempty"` - // Swap fee of the trading strategy - SwapFee string `protobuf:"bytes,12,opt,name=swap_fee,json=swapFee,proto3" json:"swap_fee,omitempty"` - // Base deposit at the time of closing the trading strategy - BaseDeposit string `protobuf:"bytes,17,opt,name=base_deposit,json=baseDeposit,proto3" json:"base_deposit,omitempty"` - // Quote deposit at the time of closing the trading strategy - QuoteDeposit string `protobuf:"bytes,18,opt,name=quote_deposit,json=quoteDeposit,proto3" json:"quote_deposit,omitempty"` - // Market mid price at the time of closing the trading strategy - MarketMidPrice string `protobuf:"bytes,19,opt,name=market_mid_price,json=marketMidPrice,proto3" json:"market_mid_price,omitempty"` - // Subscription quote quantity of the trading strategy - SubscriptionQuoteQuantity string `protobuf:"bytes,21,opt,name=subscription_quote_quantity,json=subscriptionQuoteQuantity,proto3" json:"subscription_quote_quantity,omitempty"` - // Subscription base quantity of the trading strategy - SubscriptionBaseQuantity string `protobuf:"bytes,22,opt,name=subscription_base_quantity,json=subscriptionBaseQuantity,proto3" json:"subscription_base_quantity,omitempty"` - // Number of grid levels of the trading strategy - NumberOfGridLevels string `protobuf:"bytes,23,opt,name=number_of_grid_levels,json=numberOfGridLevels,proto3" json:"number_of_grid_levels,omitempty"` - // Indicates whether the trading strategy should exit with quote only - ShouldExitWithQuoteOnly bool `protobuf:"varint,24,opt,name=should_exit_with_quote_only,json=shouldExitWithQuoteOnly,proto3" json:"should_exit_with_quote_only,omitempty"` - // Indicates the reason for stopping the trading strategy - StopReason string `protobuf:"bytes,25,opt,name=stop_reason,json=stopReason,proto3" json:"stop_reason,omitempty"` - // Indicates whether the trading strategy is pending execution - PendingExecution bool `protobuf:"varint,26,opt,name=pending_execution,json=pendingExecution,proto3" json:"pending_execution,omitempty"` - // Block height when the strategy was created. - CreatedHeight int64 `protobuf:"zigzag64,13,opt,name=created_height,json=createdHeight,proto3" json:"created_height,omitempty"` - // Block height when the strategy was removed. - RemovedHeight int64 `protobuf:"zigzag64,14,opt,name=removed_height,json=removedHeight,proto3" json:"removed_height,omitempty"` - // UpdatedAt timestamp in UNIX millis. - CreatedAt int64 `protobuf:"zigzag64,15,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - // UpdatedAt timestamp in UNIX millis. - UpdatedAt int64 `protobuf:"zigzag64,16,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` -} - -func (x *TradingStrategy) Reset() { - *x = TradingStrategy{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_trading_rpc_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TradingStrategy) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TradingStrategy) ProtoMessage() {} - -func (x *TradingStrategy) ProtoReflect() protoreflect.Message { - mi := &file_injective_trading_rpc_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TradingStrategy.ProtoReflect.Descriptor instead. -func (*TradingStrategy) Descriptor() ([]byte, []int) { - return file_injective_trading_rpc_proto_rawDescGZIP(), []int{2} -} - -func (x *TradingStrategy) GetState() string { - if x != nil { - return x.State - } - return "" -} - -func (x *TradingStrategy) GetMarketId() string { - if x != nil { - return x.MarketId - } - return "" -} - -func (x *TradingStrategy) GetSubaccountId() string { - if x != nil { - return x.SubaccountId - } - return "" -} - -func (x *TradingStrategy) GetAccountAddress() string { - if x != nil { - return x.AccountAddress - } - return "" -} - -func (x *TradingStrategy) GetContractAddress() string { - if x != nil { - return x.ContractAddress - } - return "" -} - -func (x *TradingStrategy) GetExecutionPrice() string { - if x != nil { - return x.ExecutionPrice - } - return "" -} - -func (x *TradingStrategy) GetBaseQuantity() string { - if x != nil { - return x.BaseQuantity - } - return "" -} - -func (x *TradingStrategy) GetQuoteQuantity() string { - if x != nil { - return x.QuoteQuantity - } - return "" -} - -func (x *TradingStrategy) GetLowerBound() string { - if x != nil { - return x.LowerBound - } - return "" -} - -func (x *TradingStrategy) GetUpperBound() string { - if x != nil { - return x.UpperBound - } - return "" -} - -func (x *TradingStrategy) GetStopLoss() string { - if x != nil { - return x.StopLoss - } - return "" -} - -func (x *TradingStrategy) GetTakeProfit() string { - if x != nil { - return x.TakeProfit - } - return "" -} - -func (x *TradingStrategy) GetSwapFee() string { - if x != nil { - return x.SwapFee - } - return "" -} - -func (x *TradingStrategy) GetBaseDeposit() string { - if x != nil { - return x.BaseDeposit - } - return "" -} - -func (x *TradingStrategy) GetQuoteDeposit() string { - if x != nil { - return x.QuoteDeposit - } - return "" -} - -func (x *TradingStrategy) GetMarketMidPrice() string { - if x != nil { - return x.MarketMidPrice - } - return "" -} - -func (x *TradingStrategy) GetSubscriptionQuoteQuantity() string { - if x != nil { - return x.SubscriptionQuoteQuantity - } - return "" -} - -func (x *TradingStrategy) GetSubscriptionBaseQuantity() string { - if x != nil { - return x.SubscriptionBaseQuantity - } - return "" -} - -func (x *TradingStrategy) GetNumberOfGridLevels() string { - if x != nil { - return x.NumberOfGridLevels - } - return "" -} - -func (x *TradingStrategy) GetShouldExitWithQuoteOnly() bool { - if x != nil { - return x.ShouldExitWithQuoteOnly - } - return false -} - -func (x *TradingStrategy) GetStopReason() string { - if x != nil { - return x.StopReason - } - return "" -} - -func (x *TradingStrategy) GetPendingExecution() bool { - if x != nil { - return x.PendingExecution - } - return false -} - -func (x *TradingStrategy) GetCreatedHeight() int64 { - if x != nil { - return x.CreatedHeight - } - return 0 -} - -func (x *TradingStrategy) GetRemovedHeight() int64 { - if x != nil { - return x.RemovedHeight - } - return 0 -} - -func (x *TradingStrategy) GetCreatedAt() int64 { - if x != nil { - return x.CreatedAt - } - return 0 -} - -func (x *TradingStrategy) GetUpdatedAt() int64 { - if x != nil { - return x.UpdatedAt - } - return 0 -} - -// Paging defines the structure for required params for handling pagination -type Paging struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // total number of txs saved in database - Total int64 `protobuf:"zigzag64,1,opt,name=total,proto3" json:"total,omitempty"` - // can be either block height or index num - From int32 `protobuf:"zigzag32,2,opt,name=from,proto3" json:"from,omitempty"` - // can be either block height or index num - To int32 `protobuf:"zigzag32,3,opt,name=to,proto3" json:"to,omitempty"` - // count entries by subaccount, serving some places on helix - CountBySubaccount int64 `protobuf:"zigzag64,4,opt,name=count_by_subaccount,json=countBySubaccount,proto3" json:"count_by_subaccount,omitempty"` - // array of tokens to navigate to the next pages - Next []string `protobuf:"bytes,5,rep,name=next,proto3" json:"next,omitempty"` -} - -func (x *Paging) Reset() { - *x = Paging{} - if protoimpl.UnsafeEnabled { - mi := &file_injective_trading_rpc_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Paging) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Paging) ProtoMessage() {} - -func (x *Paging) ProtoReflect() protoreflect.Message { - mi := &file_injective_trading_rpc_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Paging.ProtoReflect.Descriptor instead. -func (*Paging) Descriptor() ([]byte, []int) { - return file_injective_trading_rpc_proto_rawDescGZIP(), []int{3} -} - -func (x *Paging) GetTotal() int64 { - if x != nil { - return x.Total - } - return 0 -} - -func (x *Paging) GetFrom() int32 { - if x != nil { - return x.From - } - return 0 -} - -func (x *Paging) GetTo() int32 { - if x != nil { - return x.To - } - return 0 -} - -func (x *Paging) GetCountBySubaccount() int64 { - if x != nil { - return x.CountBySubaccount - } - return 0 -} - -func (x *Paging) GetNext() []string { - if x != nil { - return x.Next - } - return nil -} - -var File_injective_trading_rpc_proto protoreflect.FileDescriptor - -var file_injective_trading_rpc_proto_rawDesc = []byte{ - 0x0a, 0x1b, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, - 0x5f, 0x72, 0x70, 0x63, 0x22, 0xb0, 0x02, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, - 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, - 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x22, 0x9e, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, - 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0a, 0x73, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, - 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, - 0x73, 0x12, 0x35, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, - 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, - 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0x88, 0x08, 0x0a, 0x0f, 0x54, 0x72, 0x61, - 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, - 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, - 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x51, 0x75, - 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x71, 0x75, 0x6f, 0x74, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, - 0x0b, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1f, - 0x0a, 0x0b, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x70, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, - 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x4c, 0x6f, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, - 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x12, 0x19, 0x0a, - 0x08, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x73, 0x77, 0x61, 0x70, 0x46, 0x65, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x61, 0x73, 0x65, - 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x62, 0x61, 0x73, 0x65, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x71, - 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x64, 0x5f, 0x70, - 0x72, 0x69, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x4d, 0x69, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x3e, 0x0a, 0x1b, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, - 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x19, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x6f, - 0x74, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x73, 0x65, - 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x31, 0x0a, 0x15, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x67, 0x72, 0x69, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, - 0x66, 0x47, 0x72, 0x69, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x12, 0x3c, 0x0a, 0x1b, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, - 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x17, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x45, 0x78, 0x69, 0x74, 0x57, 0x69, 0x74, 0x68, - 0x51, 0x75, 0x6f, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x6f, - 0x70, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x73, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x25, - 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x48, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x12, 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, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x32, 0x9a, 0x01, 0x0a, - 0x13, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, - 0x67, 0x52, 0x50, 0x43, 0x12, 0x82, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, - 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x12, 0x33, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x69, - 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x64, 0x69, - 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x69, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x1a, 0x5a, 0x18, 0x2f, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_injective_trading_rpc_proto_rawDescOnce sync.Once - file_injective_trading_rpc_proto_rawDescData = file_injective_trading_rpc_proto_rawDesc -) - -func file_injective_trading_rpc_proto_rawDescGZIP() []byte { - file_injective_trading_rpc_proto_rawDescOnce.Do(func() { - file_injective_trading_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_injective_trading_rpc_proto_rawDescData) - }) - return file_injective_trading_rpc_proto_rawDescData -} - -var file_injective_trading_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 4) -var file_injective_trading_rpc_proto_goTypes = []interface{}{ - (*ListTradingStrategiesRequest)(nil), // 0: injective_trading_rpc.ListTradingStrategiesRequest - (*ListTradingStrategiesResponse)(nil), // 1: injective_trading_rpc.ListTradingStrategiesResponse - (*TradingStrategy)(nil), // 2: injective_trading_rpc.TradingStrategy - (*Paging)(nil), // 3: injective_trading_rpc.Paging -} -var file_injective_trading_rpc_proto_depIdxs = []int32{ - 2, // 0: injective_trading_rpc.ListTradingStrategiesResponse.strategies:type_name -> injective_trading_rpc.TradingStrategy - 3, // 1: injective_trading_rpc.ListTradingStrategiesResponse.paging:type_name -> injective_trading_rpc.Paging - 0, // 2: injective_trading_rpc.InjectiveTradingRPC.ListTradingStrategies:input_type -> injective_trading_rpc.ListTradingStrategiesRequest - 1, // 3: injective_trading_rpc.InjectiveTradingRPC.ListTradingStrategies:output_type -> injective_trading_rpc.ListTradingStrategiesResponse - 3, // [3:4] is the sub-list for method output_type - 2, // [2:3] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name -} - -func init() { file_injective_trading_rpc_proto_init() } -func file_injective_trading_rpc_proto_init() { - if File_injective_trading_rpc_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_injective_trading_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListTradingStrategiesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_trading_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListTradingStrategiesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_trading_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TradingStrategy); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_injective_trading_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Paging); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_injective_trading_rpc_proto_rawDesc, - NumEnums: 0, - NumMessages: 4, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_injective_trading_rpc_proto_goTypes, - DependencyIndexes: file_injective_trading_rpc_proto_depIdxs, - MessageInfos: file_injective_trading_rpc_proto_msgTypes, - }.Build() - File_injective_trading_rpc_proto = out.File - file_injective_trading_rpc_proto_rawDesc = nil - file_injective_trading_rpc_proto_goTypes = nil - file_injective_trading_rpc_proto_depIdxs = nil -} diff --git a/exchange/trading_rpc/pb/injective_trading_rpc.pb.gw.go b/exchange/trading_rpc/pb/injective_trading_rpc.pb.gw.go index b9fd679e..6e6cf424 100644 --- a/exchange/trading_rpc/pb/injective_trading_rpc.pb.gw.go +++ b/exchange/trading_rpc/pb/injective_trading_rpc.pb.gw.go @@ -77,20 +77,22 @@ func RegisterInjectiveTradingRPCHandlerServer(ctx context.Context, mux *runtime. var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_trading_rpc.InjectiveTradingRPC/ListTradingStrategies", runtime.WithHTTPPathPattern("/injective_trading_rpc.InjectiveTradingRPC/ListTradingStrategies")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_trading_rpc.InjectiveTradingRPC/ListTradingStrategies", runtime.WithHTTPPathPattern("/injective_trading_rpc.InjectiveTradingRPC/ListTradingStrategies")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_InjectiveTradingRPC_ListTradingStrategies_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_InjectiveTradingRPC_ListTradingStrategies_0(annotatedContext, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveTradingRPC_ListTradingStrategies_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveTradingRPC_ListTradingStrategies_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -139,19 +141,21 @@ func RegisterInjectiveTradingRPCHandlerClient(ctx context.Context, mux *runtime. ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/injective_trading_rpc.InjectiveTradingRPC/ListTradingStrategies", runtime.WithHTTPPathPattern("/injective_trading_rpc.InjectiveTradingRPC/ListTradingStrategies")) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_trading_rpc.InjectiveTradingRPC/ListTradingStrategies", runtime.WithHTTPPathPattern("/injective_trading_rpc.InjectiveTradingRPC/ListTradingStrategies")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_InjectiveTradingRPC_ListTradingStrategies_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_InjectiveTradingRPC_ListTradingStrategies_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_InjectiveTradingRPC_ListTradingStrategies_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_InjectiveTradingRPC_ListTradingStrategies_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) diff --git a/exchange/trading_rpc/pb/injective_trading_rpc_grpc.pb_mock.go b/exchange/trading_rpc/pb/injective_trading_rpc_grpc.pb_mock.go index abfadfa6..17ef5dbc 100644 --- a/exchange/trading_rpc/pb/injective_trading_rpc_grpc.pb_mock.go +++ b/exchange/trading_rpc/pb/injective_trading_rpc_grpc.pb_mock.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: api/gen/grpc/injective_trading_rpc/pb/injective_trading_rpc_grpc.pb.go +// Source: api/gen/grpc/injective_trading_rpc/pb/goadesign_goagen_injective_trading_rpc_grpc.pb.go // Package injective_trading_rpcpb is a generated GoMock package. package injective_trading_rpcpb diff --git a/go.mod b/go.mod index bebb0fe0..576f0cb1 100644 --- a/go.mod +++ b/go.mod @@ -1,52 +1,60 @@ module github.com/InjectiveLabs/sdk-go -go 1.19 +go 1.21 require ( - cosmossdk.io/errors v1.0.0 - cosmossdk.io/math v1.1.2 + cosmossdk.io/errors v1.0.1 + cosmossdk.io/math v1.3.0 + cosmossdk.io/store v1.1.0 + cosmossdk.io/x/evidence v0.1.0 + cosmossdk.io/x/feegrant v0.1.0 + cosmossdk.io/x/upgrade v0.1.1 github.com/CosmWasm/wasmd v0.40.2 github.com/InjectiveLabs/suplog v1.3.3 github.com/bandprotocol/bandchain-packet v0.0.4 github.com/btcsuite/btcd v0.23.4 github.com/btcsuite/btcd/btcutil v1.1.3 - github.com/cometbft/cometbft v0.37.2 - github.com/cosmos/cosmos-proto v1.0.0-beta.3 - github.com/cosmos/cosmos-sdk v0.47.5 - github.com/cosmos/gogoproto v1.4.10 - github.com/cosmos/ibc-go/v7 v7.3.0 + github.com/cometbft/cometbft v0.38.7 + github.com/cosmos/cosmos-proto v1.0.0-beta.5 + github.com/cosmos/cosmos-sdk v0.50.6 + github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/ibc-go/modules/capability v1.0.0 + github.com/cosmos/ibc-go/v8 v8.2.0 github.com/ethereum/go-ethereum v1.11.5 github.com/golang/mock v1.6.0 - github.com/golang/protobuf v1.5.3 - github.com/google/uuid v1.4.0 + github.com/golang/protobuf v1.5.4 + github.com/google/uuid v1.6.0 github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 github.com/huandu/go-assert v1.1.5 github.com/olekukonko/tablewriter v0.0.5 github.com/pkg/errors v0.9.1 github.com/shopspring/decimal v1.2.0 - github.com/stretchr/testify v1.8.4 + github.com/stretchr/testify v1.9.0 github.com/tyler-smith/go-bip39 v1.1.0 - golang.org/x/crypto v0.11.0 - google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529 - google.golang.org/grpc v1.56.2 - google.golang.org/protobuf v1.31.0 + golang.org/x/crypto v0.22.0 + google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de + google.golang.org/grpc v1.63.2 + google.golang.org/protobuf v1.33.0 gopkg.in/ini.v1 v1.67.0 gopkg.in/yaml.v2 v2.4.0 gotest.tools/v3 v3.5.0 ) require ( - cosmossdk.io/api v0.3.1 // indirect - cosmossdk.io/core v0.6.1 // indirect + cosmossdk.io/api v0.7.4 // indirect + cosmossdk.io/collections v0.4.0 // indirect + cosmossdk.io/core v0.11.0 // indirect cosmossdk.io/depinject v1.0.0-alpha.4 // indirect + cosmossdk.io/log v1.3.1 // indirect + cosmossdk.io/x/tx v0.13.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.2 // indirect - github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect - github.com/CosmWasm/wasmvm v1.5.0 // indirect + github.com/CosmWasm/wasmvm/v2 v2.0.0 // indirect + github.com/DataDog/datadog-go v3.2.0+incompatible // indirect + github.com/DataDog/zstd v1.5.5 // indirect github.com/StackExchange/wmi v1.2.1 // indirect - github.com/armon/go-metrics v0.4.1 // indirect - github.com/aws/aws-sdk-go v1.44.203 // indirect + github.com/aws/aws-sdk-go v1.44.327 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect github.com/bitly/go-simplejson v0.5.1 // indirect @@ -54,122 +62,155 @@ require ( 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/cenkalti/backoff/v4 v4.1.3 // indirect github.com/cespare/cp v1.1.1 // indirect github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/chzyer/readline v1.5.1 // indirect - github.com/cockroachdb/errors v1.10.0 // indirect + github.com/cockroachdb/errors v1.11.1 // indirect github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect + github.com/cockroachdb/pebble v1.1.0 // indirect github.com/cockroachdb/redact v1.1.5 // indirect - github.com/cometbft/cometbft-db v0.8.0 // indirect - github.com/confio/ics23/go v0.9.0 // indirect + github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect + github.com/cometbft/cometbft-db v0.9.1 // indirect github.com/cosmos/btcutil v1.0.5 // indirect + github.com/cosmos/cosmos-db v1.0.2 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect - github.com/cosmos/iavl v0.20.1 // indirect + github.com/cosmos/gogogateway v1.2.0 // indirect + github.com/cosmos/iavl v1.1.2 // indirect github.com/cosmos/ics23/go v0.10.0 // indirect - github.com/cosmos/ledger-cosmos-go v0.12.2 // indirect + github.com/cosmos/ledger-cosmos-go v0.13.3 // indirect github.com/danieljoos/wincred v1.1.2 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/deckarep/golang-set/v2 v2.1.0 // indirect - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect + github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect github.com/dgraph-io/badger/v2 v2.2007.4 // 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.2+incompatible // indirect + github.com/distribution/reference v0.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect - github.com/dvsekhvalnov/jose2go v1.5.0 // indirect - github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/dvsekhvalnov/jose2go v1.6.0 // indirect + github.com/emicklei/dot v1.6.1 // indirect + github.com/fatih/color v1.15.0 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/gballet/go-libpcsclite v0.0.0-20191108122812-4678299bea08 // indirect - github.com/getsentry/sentry-go v0.23.0 // indirect + github.com/getsentry/sentry-go v0.27.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.6.0 // indirect github.com/go-ole/go-ole v1.2.6 // indirect github.com/go-stack/stack v1.8.1 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect - github.com/gofrs/uuid v4.3.0+incompatible // indirect + github.com/gofrs/uuid v4.4.0+incompatible // indirect + github.com/gogo/googleapis v1.4.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/glog v1.1.0 // indirect + github.com/golang/glog v1.2.0 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/btree v1.1.2 // indirect - github.com/google/go-cmp v0.5.9 // indirect + github.com/google/go-cmp v0.6.0 // indirect + github.com/gorilla/handlers v1.5.2 // indirect + github.com/gorilla/mux v1.8.1 // indirect github.com/gorilla/websocket v1.5.0 // indirect - github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect + github.com/grpc-ecosystem/go-grpc-middleware v1.4.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-hclog v1.5.0 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect - github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect - github.com/hashicorp/hcl v1.0.0 // indirect + github.com/hashicorp/go-metrics v0.5.3 // indirect + github.com/hashicorp/go-plugin v1.5.2 // indirect + github.com/hashicorp/golang-lru v1.0.2 // indirect + github.com/hashicorp/hcl v1.0.1-vault-5 // indirect + github.com/hashicorp/yamux v0.1.1 // indirect github.com/hdevalence/ed25519consensus v0.1.0 // indirect github.com/holiman/uint256 v1.2.2 // indirect github.com/huandu/skiplist v1.2.0 // indirect + github.com/iancoleman/strcase v0.3.0 // indirect + github.com/improbable-eng/grpc-web v0.15.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/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 // indirect - github.com/klauspost/compress v1.16.3 // indirect + github.com/klauspost/compress v1.17.7 // 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/linxGnu/grocksdb v1.7.16 // indirect + github.com/linxGnu/grocksdb v1.8.14 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect - github.com/mattn/go-isatty v0.0.19 // indirect - github.com/mattn/go-runewidth v0.0.9 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect - github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-runewidth v0.0.15 // indirect + github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mtibben/percent v0.2.1 // indirect + github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a // indirect + github.com/oklog/run v1.1.0 // indirect github.com/oklog/ulid v1.3.1 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/pelletier/go-toml/v2 v2.0.8 // indirect - github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.16.0 // indirect - github.com/prometheus/client_model v0.3.0 // indirect - github.com/prometheus/common v0.42.0 // indirect - github.com/prometheus/procfs v0.10.1 // indirect + github.com/pelletier/go-toml/v2 v2.1.0 // indirect + github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67 // indirect + github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect + github.com/prometheus/client_golang v1.19.0 // indirect + github.com/prometheus/client_model v0.6.1 // indirect + github.com/prometheus/common v0.52.2 // indirect + github.com/prometheus/procfs v0.13.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect - github.com/rogpeppe/go-internal v1.11.0 // indirect + github.com/rivo/uniseg v0.4.4 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + github.com/rs/cors v1.8.3 // indirect + github.com/rs/zerolog v1.32.0 // indirect + github.com/sagikazarmark/locafero v0.4.0 // indirect + github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/sasha-s/go-deadlock v0.3.1 // 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.5 // indirect - github.com/spf13/cast v1.5.1 // indirect - github.com/spf13/cobra v1.7.0 // indirect - github.com/spf13/jwalterweatherman v1.1.0 // indirect + github.com/sourcegraph/conc v0.3.0 // indirect + github.com/spf13/afero v1.11.0 // indirect + github.com/spf13/cast v1.6.0 // indirect + github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.16.0 // indirect - github.com/subosito/gotenv v1.4.2 // indirect + github.com/spf13/viper v1.18.2 // indirect + github.com/subosito/gotenv v1.6.0 // indirect github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect github.com/tendermint/go-amino v0.16.0 // indirect - github.com/tidwall/btree v1.6.0 // indirect + github.com/tidwall/btree v1.7.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-20230711153332-06a737ee72cb // indirect - golang.org/x/net v0.12.0 // indirect - golang.org/x/sys v0.11.0 // indirect - golang.org/x/term v0.10.0 // indirect - golang.org/x/text v0.12.0 // indirect - google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect + github.com/zondax/hid v0.9.2 // indirect + github.com/zondax/ledger-go v0.14.3 // indirect + go.etcd.io/bbolt v1.3.8 // indirect + go.uber.org/multierr v1.11.0 // indirect + golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0 // indirect + golang.org/x/net v0.24.0 // indirect + golang.org/x/sync v0.7.0 // indirect + golang.org/x/sys v0.19.0 // indirect + golang.org/x/term v0.19.0 // indirect + golang.org/x/text v0.14.0 // indirect + google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda // 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 + gotest.tools/v3 v3.5.1 // indirect + nhooyr.io/websocket v1.8.6 // indirect + pgregory.net/rapid v1.1.0 // indirect + sigs.k8s.io/yaml v1.4.0 // indirect ) replace ( - cosmossdk.io/math => github.com/InjectiveLabs/cosmos-sdk/math v0.47.3-inj-1 - github.com/CosmWasm/wasmd => github.com/InjectiveLabs/wasmd v0.45.0-inj + cosmossdk.io/store => github.com/InjectiveLabs/cosmos-sdk/store v1.1.1-0.20240522173845-46ef88f66790 + cosmossdk.io/x/evidence => github.com/InjectiveLabs/cosmos-sdk/x/evidence v0.1.1-0.20240522173845-46ef88f66790 + cosmossdk.io/x/feegrant => github.com/InjectiveLabs/cosmos-sdk/x/feegrant v0.1.1-0.20240522173845-46ef88f66790 + cosmossdk.io/x/upgrade => github.com/InjectiveLabs/cosmos-sdk/x/upgrade v0.1.2-0.20240522173845-46ef88f66790 + + github.com/CosmWasm/wasmd => github.com/InjectiveLabs/wasmd v0.51.1-0.20240517110802-c05574f2352f github.com/bandprotocol/bandchain-packet => github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1 - github.com/cometbft/cometbft => github.com/InjectiveLabs/cometbft v0.37.2-inj - github.com/cosmos/cosmos-sdk => github.com/InjectiveLabs/cosmos-sdk v0.47.3-inj-9 - github.com/cosmos/ibc-go/v7 => github.com/InjectiveLabs/ibc-go/v7 v7.2.0-inj + github.com/cometbft/cometbft => github.com/InjectiveLabs/cometbft v0.38.7-0.20240530121154-e6f77c2eab89 + + github.com/cosmos/cosmos-sdk => github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240530121542-f786214f432c + github.com/cosmos/ibc-apps/modules/ibc-hooks/v8 => github.com/InjectiveLabs/ibc-apps/modules/ibc-hooks/v8 v8.0.0-20240507173420-7acb85b883f5 + github.com/cosmos/ibc-go/v8 => github.com/InjectiveLabs/ibc-go/v8 v8.3.2-0.20240530084055-772bafc23563 + 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 d034f1ae..7b202ed5 100644 --- a/go.sum +++ b/go.sum @@ -1,55 +1,35 @@ cloud.google.com/go v0.26.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.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk= -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= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -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/compute v1.20.1 h1:6aKEtlUiwEpJzM001l0yFkpXmUVXaN8W+fbkb2AZNbg= +cloud.google.com/go v0.112.0 h1:tpFCD7hpHFlQ8yPwT3x+QeXqc2T6+n6T+hmABHfDUSM= +cloud.google.com/go v0.112.0/go.mod h1:3jEEVwZ/MHU4djK5t5RHuKOA/GbLddgTdVubX1qnPD4= +cloud.google.com/go/compute v1.24.0 h1:phWcR2eWzRJaL/kOiJwfFsPs4BaKq1j6vnpZrc1YlVg= +cloud.google.com/go/compute v1.24.0/go.mod h1:kw1/T+h/+tK2LJK0wiPPx1intgdAM3j/g3hFDlscY40= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= -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/iam v1.1.0 h1:67gSqaPukx7O8WLLHMa0PNs3EBGd2eE4d+psbO/CO94= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -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/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= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.30.1 h1:uOdMxAs8HExqBlnLtnQyP0YkvbiDpdGShGKtx6U/oNM= -cosmossdk.io/api v0.3.1 h1:NNiOclKRR0AOlO4KIqeaG6PS6kswOMhHD0ir0SscNXE= -cosmossdk.io/api v0.3.1/go.mod h1:DfHfMkiNA2Uhy8fj0JJlOCYOBp4eWUUJ1te5zBGNyIw= -cosmossdk.io/core v0.6.1 h1:OBy7TI2W+/gyn2z40vVvruK3di+cAluinA6cybFbE7s= -cosmossdk.io/core v0.6.1/go.mod h1:g3MMBCBXtxbDWBURDVnJE7XML4BG5qENhs0gzkcpuFA= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/iam v1.1.6 h1:bEa06k05IO4f4uJonbB5iAgKTPpABy1ayxaIZV/GHVc= +cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI= +cloud.google.com/go/storage v1.36.0 h1:P0mOkAcaJxhCTvAkMhxMfrTKiNcub4YmmPBtlhAyTr8= +cloud.google.com/go/storage v1.36.0/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= +cosmossdk.io/api v0.7.4 h1:sPo8wKwCty1lht8kgL3J7YL1voJywP3YWuA5JKkBz30= +cosmossdk.io/api v0.7.4/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= +cosmossdk.io/client/v2 v2.0.0-beta.1 h1:XkHh1lhrLYIT9zKl7cIOXUXg2hdhtjTPBUfqERNA1/Q= +cosmossdk.io/client/v2 v2.0.0-beta.1/go.mod h1:JEUSu9moNZQ4kU3ir1DKD5eU4bllmAexrGWjmb9k8qU= +cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= +cosmossdk.io/collections v0.4.0/go.mod h1:oa5lUING2dP+gdDquow+QjlF45eL1t4TJDypgGd+tv0= +cosmossdk.io/core v0.11.0 h1:vtIafqUi+1ZNAE/oxLOQQ7Oek2n4S48SWLG8h/+wdbo= +cosmossdk.io/core v0.11.0/go.mod h1:LaTtayWBSoacF5xNzoF8tmLhehqlA9z1SWiPuNC6X1w= cosmossdk.io/depinject v1.0.0-alpha.4 h1:PLNp8ZYAMPTUKyG9IK2hsbciDWqna2z1Wsl98okJopc= cosmossdk.io/depinject v1.0.0-alpha.4/go.mod h1:HeDk7IkR5ckZ3lMGs/o91AVUc7E596vMaOmslGFM3yU= -cosmossdk.io/errors v1.0.0 h1:nxF07lmlBbB8NKQhtJ+sJm6ef5uV1XkvPXG2bUntb04= -cosmossdk.io/errors v1.0.0/go.mod h1:+hJZLuhdDE0pYN8HkOrVNwrIOYvUGnn6+4fjnJs/oV0= -cosmossdk.io/log v1.2.1 h1:Xc1GgTCicniwmMiKwDxUjO4eLhPxoVdI9vtMW8Ti/uk= -cosmossdk.io/tools/rosetta v0.2.1 h1:ddOMatOH+pbxWbrGJKRAawdBkPYLfKXutK9IETnjYxw= +cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= +cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U= +cosmossdk.io/log v1.3.1 h1:UZx8nWIkfbbNEWusZqzAx3ZGvu54TZacWib3EzUYmGI= +cosmossdk.io/log v1.3.1/go.mod h1:2/dIomt8mKdk6vl3OWJcPk2be3pGOS8OQaLUM/3/tCM= +cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE= +cosmossdk.io/math v1.3.0/go.mod h1:vnRTxewy+M7BtXBNFybkuhSH4WfedVAAnERHgVFhp3k= +cosmossdk.io/x/circuit v0.1.0 h1:IAej8aRYeuOMritczqTlljbUVHq1E85CpBqaCTwYgXs= +cosmossdk.io/x/circuit v0.1.0/go.mod h1:YDzblVE8+E+urPYQq5kq5foRY/IzhXovSYXb4nwd39w= +cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= +cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= @@ -59,53 +39,78 @@ github.com/99designs/keyring v1.2.2 h1:pZd3neh/EmUzWONb35LxQfvuY7kiSXAq3HQd97+XB github.com/99designs/keyring v1.2.2/go.mod h1:wes/FrByc8j7lFOAGLGSNEg8f/PaI3cgTBqhFkHUrPk= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= 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.5.0 h1:3hKeT9SfwfLhxTGKH3vXaKFzBz1yuvP8SlfwfQXbQfw= -github.com/CosmWasm/wasmvm v1.5.0/go.mod h1:fXB+m2gyh4v9839zlIXdMZGeLAxqUdYdFQqYsTha2hc= +github.com/CosmWasm/wasmvm/v2 v2.0.0 h1:IqNCI2G0mvs7K6ej17/I28805rVqnu+Y1cWDqIdwb08= +github.com/CosmWasm/wasmvm/v2 v2.0.0/go.mod h1:su9lg5qLr7adV95eOfzjZWkGiky8WNaNIHDr7Fpu7Ck= +github.com/DataDog/datadog-go v3.2.0+incompatible h1:qSG2N4FghB1He/r2mFrWKCaL7dXCilEuNEeAn20fdD4= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/DataDog/zstd v1.5.2 h1:vUG4lAyuPCXO0TLbXvPv7EB7cNK1QV/luu55UHLrrn8= +github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= +github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1 h1:ZnvCV/lzjWmBwuGbkAz+okucfJEyEzkU9GYK3tKU9cU= github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1/go.mod h1:QELTDYiwnbAqIgTF9zeKr+hVlK6eVyt6Nxmh6/1mmzQ= -github.com/InjectiveLabs/cometbft v0.37.2-inj h1:vKLatEKl3qzhvFAgyvywApTuq44K0XooJpDWWP0bSt0= -github.com/InjectiveLabs/cometbft v0.37.2-inj/go.mod h1:Y2MMMN//O5K4YKd8ze4r9jmk4Y7h0ajqILXbH5JQFVs= -github.com/InjectiveLabs/cosmos-sdk v0.47.3-inj-9 h1:/x20L4ZfYIhGu/wsmXb2nV6DF6t5QVNq7ecAFqAcrMU= -github.com/InjectiveLabs/cosmos-sdk v0.47.3-inj-9/go.mod h1:c4OfLdAykA9zsj1CqrxBRqXzVz48I++JSvIMPSPcEmk= -github.com/InjectiveLabs/cosmos-sdk/math v0.47.3-inj-1 h1:BHZQuZJXJctENiTfIBSH21HyR3a+Zx3Wd7RPz21spFI= -github.com/InjectiveLabs/cosmos-sdk/math v0.47.3-inj-1/go.mod h1:An0MllWJY6PxibUpnwGk8jOm+a/qIxlKmL5Zyp9NnaM= -github.com/InjectiveLabs/ibc-go/v7 v7.2.0-inj h1:CtzShjiD+mGQktWYS0kTzUu8hQaDOmtvSTMekvOm9Rw= -github.com/InjectiveLabs/ibc-go/v7 v7.2.0-inj/go.mod h1:aEQF2stK9Bi/J56kW93MHlcKIF1uSt204mTngJYdNcY= +github.com/InjectiveLabs/cometbft v0.38.7-0.20240530121154-e6f77c2eab89 h1:Bd0zseWj0r5WFVWfSkYOIkJEfSWWMPGxlkLTxdhfOv4= +github.com/InjectiveLabs/cometbft v0.38.7-0.20240530121154-e6f77c2eab89/go.mod h1:8rSPxzUJYquCN8uuBgbUHOMg2KAwvr7CyUw+6ukO4nw= +github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240530121542-f786214f432c h1:BFzkjbIeeB/Fu07lg8MqfPSJj+pLpRjo9SIxQD5LZvI= +github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240530121542-f786214f432c/go.mod h1:iylzgvhuWvrLrI2udUARCGSqfo5zFNVe5iZzjuxju3E= +github.com/InjectiveLabs/cosmos-sdk/store v1.1.1-0.20240522173845-46ef88f66790 h1:F4FYZR9rLg9igzxitFdLU5s7ZU9XS0wUB7DbkBOVXc8= +github.com/InjectiveLabs/cosmos-sdk/store v1.1.1-0.20240522173845-46ef88f66790/go.mod h1:ZW4eIE98wivInyQyhxU2nHqEielc/iZAcr41qNyWSrw= +github.com/InjectiveLabs/cosmos-sdk/x/evidence v0.1.1-0.20240522173845-46ef88f66790 h1:vbSB6IBNnrVw3s/odYJiF1MUi2JL6PnjgNEBkTM/sBI= +github.com/InjectiveLabs/cosmos-sdk/x/evidence v0.1.1-0.20240522173845-46ef88f66790/go.mod h1:/5BJ6rqcaDZgfdhFGHsqwoD3sCqMPU6M/RMhKTPxV6Y= +github.com/InjectiveLabs/cosmos-sdk/x/feegrant v0.1.1-0.20240522173845-46ef88f66790 h1:19d3ZzozFNd9MYVeto4JmXHm03xKsynyQIDI32iiRD4= +github.com/InjectiveLabs/cosmos-sdk/x/feegrant v0.1.1-0.20240522173845-46ef88f66790/go.mod h1:Tnwfp0+AmtSF3sktmOwt5Sk4PbRMrDAWsJTr6cX1Hj8= +github.com/InjectiveLabs/cosmos-sdk/x/upgrade v0.1.2-0.20240522173845-46ef88f66790 h1:ImlT8paRJvKIve+ZGi6RvCNp+1u1CC/EIHebQhm+ZYo= +github.com/InjectiveLabs/cosmos-sdk/x/upgrade v0.1.2-0.20240522173845-46ef88f66790/go.mod h1:Cn5qF2yRpXZcd+yJM6mu0UGt1p75IherhBhfeAvkmPc= +github.com/InjectiveLabs/ibc-go/v8 v8.3.2-0.20240530084055-772bafc23563 h1:hapevKTBYkJVv8Y/H8PGjj2u7rVbgnIZWBvghUSXyLw= +github.com/InjectiveLabs/ibc-go/v8 v8.3.2-0.20240530084055-772bafc23563/go.mod h1:H8y0uWT/SlGELRCkzAKd7H6Psjvtji6nP3326MJppbM= 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.45.0-inj h1:hYRzxEiBNJqJA7EoE9kMTFpWayjT2ICo/FsmtAf8A+o= -github.com/InjectiveLabs/wasmd v0.45.0-inj/go.mod h1:M8hxvHoOzZkzdrFNqDYcPPcQw7EmJwYNZkslhHbCj0I= +github.com/InjectiveLabs/wasmd v0.51.1-0.20240517110802-c05574f2352f h1:HB590uhSnGKBDC/yC7vtpN1+pXHnKwJEur0RCbSLDaA= +github.com/InjectiveLabs/wasmd v0.51.1-0.20240517110802-c05574f2352f/go.mod h1:CGIOxbGca/pOiZ+Q7e6aMoNnnSPXrV5/hV1dK3H8FUo= +github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= 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.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/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/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= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/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.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-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= +github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= github.com/aws/aws-sdk-go v1.25.16/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -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 v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.44.327 h1:ZS8oO4+7MOBLhkdwIhgtVeDzCeWOlTfKJS7EgggbIEY= +github.com/aws/aws-sdk-go v1.44.327/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= 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/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.1 h1:xgwPbetQScXt1gh9BmoJ6j9JMr3TElvuIyjR8pgdoow= github.com/bitly/go-simplejson v0.5.1/go.mod h1:YOPVLzCfwK14b4Sff3oP1AmGhI9T9Vsg84etUnlyp+Q= +github.com/bits-and-blooms/bitset v1.8.0 h1:FD+XqgOZDUxxZ8hzoBFuV9+cGWY9CslN6d5MS5JVb4c= +github.com/bits-and-blooms/bitset v1.8.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= 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= @@ -132,21 +137,26 @@ 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/protocompile v0.6.0 h1:Uu7WiSQ6Yj9DbkdnOe7U4mNKp58y9WDMKDn28/ZlunY= +github.com/bufbuild/protocompile v0.6.0/go.mod h1:YNP35qEYoYGme7QMtz5SBCoN4kL4g12jTtjuzRNdjpE= github.com/bugsnag/bugsnag-go v1.5.3/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= github.com/bugsnag/bugsnag-go v2.1.2+incompatible h1:E7dor84qzwUO8KdCM68CZwq9QOSR7HXlLx3Wj5vui2s= github.com/bugsnag/bugsnag-go v2.1.2+incompatible/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= 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/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= +github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +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.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.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= 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.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= 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= @@ -158,145 +168,221 @@ 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/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +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/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/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/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= -github.com/cockroachdb/errors v1.10.0 h1:lfxS8zZz1+OjtV4MtNWgboi/W5tyLEB6VQZBXN+0VUU= -github.com/cockroachdb/errors v1.10.0/go.mod h1:lknhIsEVQ9Ss/qKDBQS/UqFSvPQjOwNq2qyKAxtHRqE= +github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f h1:otljaYPt5hWxV3MUfO5dFPFiOXg9CyG5/kCfayTqsJ4= +github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= +github.com/cockroachdb/errors v1.11.1 h1:xSEW75zKaKCWzR3OfxXUxgrk/NtT4G1MiOv5lWZazG8= +github.com/cockroachdb/errors v1.11.1/go.mod h1:8MUxA3Gi6b25tYlFEBGLf+D8aISL+M4MIpiWMSNRfxw= 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-20230226194802-02d779ffbc46 h1:yMaoO76pV9knZ6bzEwzPSHnPSCTnrJohwkIQirmii70= +github.com/cockroachdb/pebble v1.1.0 h1:pcFh8CdCIt2kmEpK0OIatq67Ln9uGDYY3d5XnE0LJG4= +github.com/cockroachdb/pebble v1.1.0/go.mod h1:sEHm5NOXxyiAoKWhoFxT8xMgd/f3RA6qUqQ1BXKrh2E= github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= -github.com/coinbase/rosetta-sdk-go/types v1.0.0 h1:jpVIwLcPoOeCR6o1tU+Xv7r5bMONNbHU7MuEHboiFuA= -github.com/cometbft/cometbft-db v0.8.0 h1:vUMDaH3ApkX8m0KZvOFFy9b5DZHBAjsnEuo9AKVZpjo= -github.com/cometbft/cometbft-db v0.8.0/go.mod h1:6ASCP4pfhmrCBpfk01/9E1SI29nD3HfVHrY4PG8x5c0= -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/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= +github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= +github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= +github.com/cometbft/cometbft-db v0.9.1 h1:MIhVX5ja5bXNHF8EYrThkG9F7r9kSfv8BX4LWaxWJ4M= +github.com/cometbft/cometbft-db v0.9.1/go.mod h1:iliyWaoV0mRwBJoizElCwwRA9Tf7jZJOURcRZF9m60U= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= 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-proto v1.0.0-beta.3 h1:VitvZ1lPORTVxkmF2fAp3IiA61xVwArQYKXTdEcpW6o= -github.com/cosmos/cosmos-proto v1.0.0-beta.3/go.mod h1:t8IASdLaAq+bbHbjq4p960BvcTqtwuAxid3b/2rOD6I= -github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= +github.com/cosmos/cosmos-db v1.0.2 h1:hwMjozuY1OlJs/uh6vddqnk9j7VamLv+0DBlbEXbAKs= +github.com/cosmos/cosmos-db v1.0.2/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA= +github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= +github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= 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/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoKuI= -github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek= -github.com/cosmos/iavl v0.20.1 h1:rM1kqeG3/HBT85vsZdoSNsehciqUQPWrR4BYmqE2+zg= -github.com/cosmos/iavl v0.20.1/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= +github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= +github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= +github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= +github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/iavl v1.1.2 h1:zL9FK7C4L/P4IF1Dm5fIwz0WXCnn7Bp1M2FxH0ayM7Y= +github.com/cosmos/iavl v1.1.2/go.mod h1:jLeUvm6bGT1YutCaL2fIar/8vGUE8cPZvh/gXEWDaDM= +github.com/cosmos/ibc-go/modules/capability v1.0.0 h1:r/l++byFtn7jHYa09zlAdSeevo8ci1mVZNO9+V0xsLE= +github.com/cosmos/ibc-go/modules/capability v1.0.0/go.mod h1:D81ZxzjZAe0ZO5ambnvn1qedsFQ8lOwtqicG6liLBco= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= github.com/cosmos/ics23/go v0.10.0/go.mod h1:ZfJSmng/TBNTBkFemHHHj5YY7VAU/MBU980F4VU1NG0= -github.com/cosmos/ledger-cosmos-go v0.12.2 h1:/XYaBlE2BJxtvpkHiBm97gFGSGmYGKunKyF3nNqAXZA= -github.com/cosmos/ledger-cosmos-go v0.12.2/go.mod h1:ZcqYgnfNJ6lAXe4HPtWgarNEY+B74i+2/8MhZw4ziiI= -github.com/cosmos/rosetta-sdk-go v0.10.0 h1:E5RhTruuoA7KTIXUcMicL76cffyeoyvNybzUGSKFTcM= +github.com/cosmos/ledger-cosmos-go v0.13.3 h1:7ehuBGuyIytsXbd4MP43mLeoN2LTOEnk5nvue4rK+yM= +github.com/cosmos/ledger-cosmos-go v0.13.3/go.mod h1:HENcEP+VtahZFw38HZ3+LS3Iv5XV6svsnkk9vdJtLr8= 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.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creachadair/taskgroup v0.4.2 h1:jsBLdAJE42asreGss2xZGZ8fJra7WtwnHWeJFxv2Li8= +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.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM= +github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +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/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 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/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 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/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y= +github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= 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/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= 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/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/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= 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 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/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/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK2OFGvA0= +github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= -github.com/dvsekhvalnov/jose2go v1.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= -github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= +github.com/dvsekhvalnov/jose2go v1.6.0 h1:Y9gnSnP4qEI0+/uQkHvFXeD2PLPJeXEL+ySMEA2EjTY= +github.com/dvsekhvalnov/jose2go v1.6.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= +github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/emicklei/dot v1.6.1 h1:ujpDlBkkwgWUY+qPId5IwapRW/xEoligRSYjioR6DFI= +github.com/emicklei/dot v1.6.1/go.mod h1:DeV7GvQtIw4h2u73RKBkkFdvVAz0D9fzeJrgPW6gy/s= +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.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= 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/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= +github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= 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/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= -github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= +github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= +github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= +github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= 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.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= +github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= 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/getsentry/sentry-go v0.23.0 h1:dn+QRCeJv4pPt9OjVXiMcGIBIefaTJPw/h0bZWO05nE= -github.com/getsentry/sentry-go v0.23.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= +github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps= +github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= +github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= -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-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= 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-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.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +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 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= +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 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= +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.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= +github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= +github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= 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/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= +github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= +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 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og= +github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= +github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= +github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= -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/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= +github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA= +github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +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.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/golang-jwt/jwt/v4 v4.3.0 h1:kHL1vqdqWNfATmA0FNMdmZNMyZI1U6O31X4rlIPoBog= +github.com/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= -github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -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/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= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -304,7 +390,6 @@ github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= @@ -315,8 +400,10 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= 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.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/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= @@ -328,79 +415,106 @@ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5a 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= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -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/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc= +github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= +github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= -github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= -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= -github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= -github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= -github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= +github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= +github.com/googleapis/gax-go/v2 v2.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= +github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE= +github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w= +github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= +github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -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= +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.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= +github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI= +github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= 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.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/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= -github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= -github.com/gtank/merlin v0.1.1 h1:eQ90iG7K9pOhtereWsmyRJ6RAwcP4tHTDBHXNg+u5is= -github.com/gtank/merlin v0.1.1/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= -github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uMzcc= -github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= +github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= +github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-bexpr v0.1.10 h1:9kuI5PFotCboP3dkDYFr/wi0gg0QVbSNz5oFRpxn4uE= +github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0= 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-getter v1.7.1 h1:SWiSWN/42qdpR0MdhaOc/bLR48PLuP1ZQtYLRlM69uY= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-getter v1.7.3 h1:bN2+Fw9XPFvOCjB0UOevFIMICZ7G2XSQHzfvLUyOM5E= +github.com/hashicorp/go-getter v1.7.3/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c= +github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-metrics v0.5.3 h1:M5uADWMOGCTUNU1YuC4hfknOeHNaX54LDm4oYSucoNE= +github.com/hashicorp/go-metrics v0.5.3/go.mod h1:KEjodfebIOuBYSAe/bHTm+HChmKSxAOXPBieMLYozDE= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-plugin v1.5.2 h1:aWv8eimFqWlsEiMrYZdPYl+FdHaBJSN4AWwGWfT1G2Y= +github.com/hashicorp/go-plugin v1.5.2/go.mod h1:w1sAEES3g3PuV/RzUrgow20W2uErMly84hhD3um1WL4= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= -github.com/hashicorp/go-uuid v1.0.0 h1:RS8zrF7PhGwyNPOtxSClXXj9HA8feRnJzgnI1RJCSnM= +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-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= +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.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.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/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= +github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/hcl v1.0.1-vault-5 h1:kI3hhbbyzr4dldA8UdTb7ZlVVlI2DACdCfz31RPDgJM= +github.com/hashicorp/hcl v1.0.1-vault-5/go.mod h1:XYhtn6ijBSAj6n4YqAaf7RBPS4I06AItNorpy+MoQNM= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= +github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= github.com/hdevalence/ed25519consensus v0.1.0 h1:jtBwzzcHuTmFrQN6xQZn6CQEO/V9f7HsjsjeEZ6auqU= github.com/hdevalence/ed25519consensus v0.1.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo= 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= @@ -408,16 +522,23 @@ github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3 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/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/huin/goupnp v1.0.3 h1:N8No57ls+MnjlB+JPiCVSOyy/ot7MJTqlo7rn+NYSqQ= -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= +github.com/huin/goupnp v1.0.3/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= +github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= +github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= 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.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/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/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/jhump/protoreflect v1.15.3 h1:6SFRuqU45u9hIZPJAoZ8c28T3nK64BNdp9w6jFonzls= +github.com/jhump/protoreflect v1.15.3/go.mod h1:4ORHmSBmlCW8fh3xHmJMGyul1zNqZK4Elxc8qKP+p1k= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= @@ -425,22 +546,33 @@ github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGw github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -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/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= 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/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/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/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= +github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -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/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= @@ -450,47 +582,93 @@ 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/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= +github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= 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/linxGnu/grocksdb v1.7.16 h1:Q2co1xrpdkr5Hx3Fp+f+f7fRGhQFQhvi/+226dtLmA8= -github.com/linxGnu/grocksdb v1.7.16/go.mod h1:JkS7pl5qWpGpuVb3bPqTz8nC12X3YtPZT+Xq7+QfQo4= +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/linxGnu/grocksdb v1.8.14 h1:HTgyYalNwBSG/1qCQUIott44wU5b2Y9Kr3z7SK5OfGQ= +github.com/linxGnu/grocksdb v1.8.14/go.mod h1:QYiYypR2d4v63Wj1adOOfzglnoII0gLj3PNh4fZkcFA= +github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +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.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/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= +github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -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/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= -github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 h1:QRUSJEgZn2Snx0EmT/QLXibWjSUDjKWvXIT19NBVp94= -github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= +github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +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-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/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +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.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= +github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76/go.mod h1:x5OoJHDHqxHS801UIuhqGl6QdSAEJvtausosHSdazIo= +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/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +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/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a h1:dlRvE5fWabOchtH7znfiFCcOvmIYgOeAS5ifBXBlh9Q= +github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a/go.mod h1:hVoHR2EVESiICEMbg137etN/Lx+lSrHPTD39Z/uE+2s= +github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= +github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= +github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -498,103 +676,164 @@ github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= 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/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.20.0 h1:8W0cWlwFkflGPLltQvLRB7ZVD5HuP6ng320w2IS245Q= +github.com/onsi/gomega v1.26.0 h1:03cDLK28U6hWvCAns6NeydX3zIm4SF3ci69ulidS32Q= +github.com/onsi/gomega v1.26.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM= +github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= +github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= +github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= +github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +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/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/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= -github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= +github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= +github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= +github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= -github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 h1:hDSdbBuw3Lefr6R18ax0tZ2BJeNB3NehB3trOwYBsdU= -github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= +github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67 h1:jik8PHtAIsPlCRJjJzl4udgEf7hawInF9texMeO2jrU= +github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= +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/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= +github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +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.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8= -github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU= +github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k= 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= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4= -github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= +github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= +github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= +github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +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.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM= -github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= +github.com/prometheus/common v0.52.2 h1:LW8Vk7BccEdONfrJBDffQGRtpSzi5CQaRZGtboOO2ck= +github.com/prometheus/common v0.52.2/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg= -github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= -github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.13.0 h1:GqzLlQyfsPbaEHaQkO7tbDlriv/4o5Hudv6OXHGKX7o= +github.com/prometheus/procfs v0.13.0/go.mod h1:cd4PFCR54QLnGKPaKGA6l+cfuNXtht43ZKY6tow0Y1g= +github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/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/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= +github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= 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.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= -github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.8.3 h1:O+qNyWn7Z+F9M0ILBHgMVPuB1xTOucVd5gtaYyXBpRo= -github.com/rs/zerolog v1.30.0 h1:SymVODrcRsaRaSInD9yQtKbtWqwsfoPcRff/oRXLj4c= +github.com/rs/cors v1.8.3/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.32.0 h1:keLypqrlIjaFsbmJOBdB/qvyF8KEtCWHwobLp5l/mQ0= +github.com/rs/zerolog v1.32.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +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/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= +github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= +github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= +github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= +github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= 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/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= 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/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/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= +github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= -github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= +github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= +github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -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/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= +github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +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.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= -github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= +github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= +github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= 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= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc= -github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg= +github.com/spf13/viper v1.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ= +github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= github.com/status-im/keycard-go v0.2.0 h1:QDLFswOQu1r5jsycloeQh3bVU8n/NatHHaZobtDnDzA= +github.com/status-im/keycard-go v0.2.0/go.mod h1:wlp8ZLbsmrF6g6WjugPAx+IzoLrkdf9+mHxBEeo3Hbg= +github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= 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= @@ -602,174 +841,174 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -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/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= +github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= 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/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/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= -github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= +github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= +github.com/tidwall/btree v1.7.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= 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.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/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= 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/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= 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.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= +github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= 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/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/urfave/cli/v2 v2.17.2-0.20221006022127-8f469abc00aa h1:5SqCsI/2Qya2bCzK15ozrqo2sZxkh0FHynJZOTVoV6Q= +github.com/urfave/cli/v2 v2.17.2-0.20221006022127-8f469abc00aa/go.mod h1:1CNUng3PtjQMtRzJO4FMXBQvkGtuYRxxiR9xMa7jMwI= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -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.1 h1:Pip65OOl4iJ84WTpA4BKChvOufMhhbxED3BaihoZN4c= -github.com/zondax/ledger-go v0.14.1/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= -go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ= -go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +github.com/zondax/hid v0.9.2 h1:WCJFnEDMiqGF64nlZz28E9qLVZ0KSJ7xpc5DLEyma2U= +github.com/zondax/hid v0.9.2/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= +github.com/zondax/ledger-go v0.14.3 h1:wEpJt2CEcBJ428md/5MgSLsXLBos98sBOyxNmCjfUCw= +github.com/zondax/ledger-go v0.14.3/go.mod h1:IKKaoxupuB43g4NxeQmbLXv7T9AlQyie1UpHb342ycI= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.8 h1:xs88BrvEv273UsB79e0hcVrlUWmS0a8upikMFhSyAtA= +go.etcd.io/bbolt v1.3.8/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -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.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0 h1:UNQQKPfTDe1J81ViolILjTKPr9WetKW6uei2hFgJmFs= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0/go.mod h1:r9vWsPS/3AQItv3OSlEJ/E4mbrhUbbw18meOjArPtKQ= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 h1:sv9kVfal0MK0wBMCOGr+HeJm9v803BkJxGrk2au7j08= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0/go.mod h1:SK2UL73Zy1quvRPonmOmRDiWk1KBV3LyIeeIxcEApWw= +go.opentelemetry.io/otel v1.22.0 h1:xS7Ku+7yTFvDfDraDIJVpw7XPyuHlB9MCiqqX5mcJ6Y= +go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI= +go.opentelemetry.io/otel/metric v1.22.0 h1:lypMQnGyJYeuYPhOM/bgjbFM6WE44W1/T45er4d8Hhg= +go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY= +go.opentelemetry.io/otel/trace v1.22.0 h1:Hg6pPujv0XG9QaVbGOBVHunyuLcCC3jN7WEhPx83XD0= +go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/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-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-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= -golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= +golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= +golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -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= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -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-20230711153332-06a737ee72cb h1:xIApU0ow1zwMa2uL1VDNeQlNVFTWMQxZUZCMDy0Q4Us= -golang.org/x/exp v0.0.0-20230711153332-06a737ee72cb/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= +golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= +golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0 h1:985EYyeCOxTpcgOTJpflJUwOeEz0CQOdPt73OzpE9F8= +golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI= 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/lint v0.0.0-20181026193005-c67002cb31c3/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= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/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/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.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= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= 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-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +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-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= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -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-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220517181318-183a9ca12b87/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= -golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= +golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= +golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= +golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= 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= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +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-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -778,227 +1017,140 @@ golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/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-20190726091711-fc99dfbffb4e/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= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -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-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= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/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-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/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-20210819135213-f52c844e1c1c/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-20211025201205-69cdffdb9359/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-20220128215802-99c3d69c2c27/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-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/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-20220908164124-27713097b956/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-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= +golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.10.0 h1:3R7pNqamzBraeqj/Tj8qt1aQ2HpmlC+Cx/qL/7hn4/c= -golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= +golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +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.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= -golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -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/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/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.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/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-20181030221726-6c7e314b6563/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-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/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-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/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-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/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-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-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= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/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-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= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= 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= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.126.0 h1:q4GJq+cAdMAC7XP7njvQ4tvohGLiSlytuL4BQxbIZ+o= +google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= +google.golang.org/api v0.162.0 h1:Vhs54HkaEpkMBdgGdOT2P6F0csGG/vxDS0hWHJzmmps= +google.golang.org/api v0.162.0/go.mod h1:6SulDkfoBIg4NFmCuZ39XeeAgSHCPecfSUuDyYlAHs0= 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.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/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/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= +google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= 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-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -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-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-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= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/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-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= -google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 h1:Au6te5hbKUV8pIYWHqOUZ1pva5qK/rwbIhoXEUB9Lu8= -google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:O9kGHb51iE/nOGvQaDUuadVYqovW56s5emA88lQnj6Y= -google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529 h1:s5YSX+ZH5b5vS9rnpGymvIyMpLRJizowqDlOuyjXnTk= -google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 h1:bVf09lpb+OJbByTj913DRJioFFAjf/ZGxEz7MajTp2U= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= +google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20220314164441-57ef72a4c106/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY= +google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo= +google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de h1:jFNzHPIeuzhdRwVhbZdiym9q0ory/xY3sA+v2wPg8I0= +google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda h1:LI5DOvAxUPMv/50agcLLoo+AdWc1irS9Rzz4vPuD1V4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= +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.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.0/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.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.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.56.2 h1:fVRFRnXvU+x6C4IlHZewvJOVHoOv1TUuQyoRsYnB4bI= -google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= +google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= 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= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1011,22 +1163,30 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= 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/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.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= 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/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/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= 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/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1037,22 +1197,20 @@ 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-20200313102051-9f266ea9e77c/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.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools/v3 v3.5.0 h1:Ljk6PdHdOhAb5aDMWXjDLMMhph+BpztA4v1QdqEW2eY= -gotest.tools/v3 v3.5.0/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= +gotest.tools/v3 v3.5.1 h1:EENdUnS3pdur5nybKYIh2Vfgc8IUNBjxDPSjtiJcOzU= +gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/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= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -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= nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= -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/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= +pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= +sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= +sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= From c0a7b7361c9a22dd3d6de57c7b56bdd63fe772d3 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Fri, 31 May 2024 09:34:38 -0300 Subject: [PATCH 22/48] (fix) Remove unused constants --- client/chain/chain.go | 5 ----- 1 file changed, 5 deletions(-) diff --git a/client/chain/chain.go b/client/chain/chain.go index 092285b5..07b713eb 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -52,11 +52,6 @@ import ( type OrderbookType string -const ( - SpotOrderbook = "injective.exchange.v1beta1.EventOrderbookUpdate.spot_orderbooks" - DerivativeOrderbook = "injective.exchange.v1beta1.EventOrderbookUpdate.derivative_orderbooks" -) - const ( msgCommitBatchSizeLimit = 1024 msgCommitBatchTimeLimit = 500 * time.Millisecond From 6554d6e8ae859af56d31dcc629752e84ef24ed37 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Fri, 31 May 2024 09:46:33 -0300 Subject: [PATCH 23/48] (fix) Update GitHub workflows configuration to get the Go version to use from the go.mod file --- .github/workflows/pre-commit.yml | 3 ++- .github/workflows/run-tests.yml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index e822c838..120cd2a2 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -11,7 +11,8 @@ jobs: - uses: actions/setup-python@v4 - uses: actions/setup-go@v5 with: - go-version: 1.19 + go-version-file: "go.mod" + check-latest: true - run: go install golang.org/x/tools/cmd/goimports@latest - run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s - -b $(go env GOPATH)/bin v1.49.0 - run: echo "PATH=$PATH:/home/runner/go/bin" >> $GITHUB_ENV diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index c95973fc..340df78f 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -13,7 +13,8 @@ jobs: fetch-depth: 2 - uses: actions/setup-go@v5 with: - go-version: 1.19 + go-version-file: "go.mod" + check-latest: true - name: Run test and calculate coverage run: make coverage - name: Upload coverage to Codecov From 039659715046fd9b66825d63022efd51bcd123f8 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Fri, 31 May 2024 09:49:49 -0300 Subject: [PATCH 24/48] (fix) Fix pre-commit workflow configuration --- .github/workflows/pre-commit.yml | 4 +++- .github/workflows/run-tests.yml | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 120cd2a2..e16ece52 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -9,6 +9,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/setup-python@v4 + - uses: actions/checkout@master + with: + fetch-depth: 2 - uses: actions/setup-go@v5 with: go-version-file: "go.mod" @@ -16,5 +19,4 @@ jobs: - run: go install golang.org/x/tools/cmd/goimports@latest - run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s - -b $(go env GOPATH)/bin v1.49.0 - run: echo "PATH=$PATH:/home/runner/go/bin" >> $GITHUB_ENV - - uses: actions/checkout@v3 - uses: pre-commit/action@v2.0.2 diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 340df78f..1fdfffc4 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -8,7 +8,7 @@ jobs: run-tests: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@master with: fetch-depth: 2 - uses: actions/setup-go@v5 From 81c813d91a0cdd8fb5fcff827fcebc5da8ad8f2a Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Fri, 31 May 2024 11:42:53 -0300 Subject: [PATCH 25/48] (fix) Updated eip712_cosmos module. Solved all pre-commit issues. --- client/chain/chain.go | 7 ++++--- client/chain/chain_test_support.go | 3 ++- client/core/market_test.go | 3 ++- eip712_cosmos.go | 17 ++++++++--------- typeddata/typed_data.go | 8 ++++---- 5 files changed, 20 insertions(+), 18 deletions(-) diff --git a/client/chain/chain.go b/client/chain/chain.go index 07b713eb..a37c0b3a 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -2,7 +2,6 @@ package chain import ( "context" - sdkmath "cosmossdk.io/math" "encoding/base64" "encoding/hex" "encoding/json" @@ -14,6 +13,8 @@ import ( "sync/atomic" "time" + sdkmath "cosmossdk.io/math" + "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice" distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" @@ -832,7 +833,7 @@ func (c *chainClient) SyncBroadcastSignedTx(txBytes []byte) (*txtypes.BroadcastT case <-t.C: resultTx, err := c.ctx.Client.Tx(awaitCtx, txHash, false) if err != nil { - if errRes := client.CheckTendermintError(err, txBytes); errRes != nil { + if errRes := client.CheckCometError(err, txBytes); errRes != nil { return &txtypes.BroadcastTxResponse{TxResponse: errRes}, err } @@ -903,7 +904,7 @@ func (c *chainClient) broadcastTx( case <-t.C: resultTx, err := clientCtx.Client.Tx(awaitCtx, txHash, false) if err != nil { - if errRes := client.CheckTendermintError(err, txBytes); errRes != nil { + if errRes := client.CheckCometError(err, txBytes); errRes != nil { return &txtypes.BroadcastTxResponse{TxResponse: errRes}, err } diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index 74140cc6..de867442 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -2,10 +2,11 @@ package chain import ( "context" - sdkmath "cosmossdk.io/math" "errors" "time" + sdkmath "cosmossdk.io/math" + "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice" "google.golang.org/grpc" diff --git a/client/core/market_test.go b/client/core/market_test.go index bbe37e70..64a58679 100644 --- a/client/core/market_test.go +++ b/client/core/market_test.go @@ -1,9 +1,10 @@ package core import ( - sdkmath "cosmossdk.io/math" "testing" + sdkmath "cosmossdk.io/math" + "github.com/huandu/go-assert" "github.com/shopspring/decimal" ) diff --git a/eip712_cosmos.go b/eip712_cosmos.go index 8107f903..3f3ad3d5 100644 --- a/eip712_cosmos.go +++ b/eip712_cosmos.go @@ -10,14 +10,14 @@ import ( "strings" "time" - sdkmath "cosmossdk.io/math" + "cosmossdk.io/math" "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" cosmtypes "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" authsigning "github.com/cosmos/cosmos-sdk/x/auth/signing" "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/common/math" + ethmath "github.com/ethereum/go-ethereum/common/math" "github.com/pkg/errors" "github.com/InjectiveLabs/sdk-go/typeddata" @@ -53,7 +53,6 @@ func WrapTxToEIP712( timeoutHeight, feeInfo, msgs, memo, - nil, ) txData := make(map[string]interface{}) @@ -65,7 +64,7 @@ func WrapTxToEIP712( domain := typeddata.TypedDataDomain{ Name: "Injective Web3", Version: "1.0.0", - ChainId: math.NewHexOrDecimal256(int64(chainID)), + ChainId: ethmath.NewHexOrDecimal256(int64(chainID)), VerifyingContract: "cosmos", Salt: "0", } @@ -291,7 +290,7 @@ func traverseFields( fieldPrefix := fmt.Sprintf("%s.%s", prefix, fieldName) ethTyp := typToEth(fieldType) - if len(ethTyp) > 0 { + if ethTyp != "" { if isCollection { ethTyp += "[]" } @@ -380,7 +379,7 @@ var ( hashType = reflect.TypeOf(common.Hash{}) addressType = reflect.TypeOf(common.Address{}) bigIntType = reflect.TypeOf(big.Int{}) - cosmIntType = reflect.TypeOf(sdkmath.Int{}) + cosmIntType = reflect.TypeOf(math.Int{}) cosmosAnyType = reflect.TypeOf(&codectypes.Any{}) timeType = reflect.TypeOf(time.Time{}) ) @@ -415,12 +414,12 @@ func typToEth(typ reflect.Type) string { return "uint64" case reflect.Slice: ethName := typToEth(typ.Elem()) - if len(ethName) > 0 { + if ethName != "" { return ethName + "[]" } case reflect.Array: ethName := typToEth(typ.Elem()) - if len(ethName) > 0 { + if ethName != "" { return ethName + "[]" } case reflect.Ptr: @@ -501,7 +500,7 @@ func WrapTxToEIP712V2( domain := typeddata.TypedDataDomain{ Name: "Injective Web3", Version: "1.0.0", - ChainId: math.NewHexOrDecimal256(int64(chainID)), + ChainId: ethmath.NewHexOrDecimal256(int64(chainID)), VerifyingContract: "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC", Salt: "0", } diff --git a/typeddata/typed_data.go b/typeddata/typed_data.go index bff47192..e23efe82 100644 --- a/typeddata/typed_data.go +++ b/typeddata/typed_data.go @@ -784,19 +784,19 @@ func (domain *TypedDataDomain) Map() map[string]interface{} { dataMap["chainId"] = domain.ChainId } - if len(domain.Name) > 0 { + if domain.Name != "" { dataMap["name"] = domain.Name } - if len(domain.Version) > 0 { + if domain.Version != "" { dataMap["version"] = domain.Version } - if len(domain.VerifyingContract) > 0 { + if domain.VerifyingContract != "" { dataMap["verifyingContract"] = domain.VerifyingContract } - if len(domain.Salt) > 0 { + if domain.Salt != "" { dataMap["salt"] = domain.Salt } return dataMap From 5df9dbd9695d9d77757f4d956887a921ec8243de Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Fri, 31 May 2024 12:03:08 -0300 Subject: [PATCH 26/48] (fix) Change in pre-commit workflow config to try and solve the issue that makes the workflow fail --- .github/workflows/pre-commit.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index e16ece52..e4500fd6 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -17,6 +17,5 @@ jobs: go-version-file: "go.mod" check-latest: true - run: go install golang.org/x/tools/cmd/goimports@latest - - run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s - -b $(go env GOPATH)/bin v1.49.0 - - run: echo "PATH=$PATH:/home/runner/go/bin" >> $GITHUB_ENV + - run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.59.0 - uses: pre-commit/action@v2.0.2 From 13fbec8a79ced4c7db721c9b15c36ff2433d5def Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Tue, 4 Jun 2024 10:56:26 -0300 Subject: [PATCH 27/48] (feat) Added golangci configuration to include more validations in the pre-commit run --- .golangci.yml | 53 ++++++ .pre-commit-config.yaml | 2 +- auth_vote/authz_vote.go | 4 +- chain/exchange/types/derivative_orders.go | 2 +- chain/exchange/types/spot_orders.go | 6 +- chain/peggy/types/params.go | 2 +- chain/permissions/types/tx.go | 8 +- chain/wasmx/types/params.go | 2 +- chain/wasmx/types/util.go | 3 +- client/chain/chain.go | 121 +++++++------ client/chain/chain_test_support.go | 76 ++++----- client/chain/keys.go | 4 +- client/chain/markets_assistant.go | 161 +++++++++--------- client/common/api_request_assistant.go | 8 +- client/common/network.go | 48 +++--- client/common/options.go | 2 +- client/common/util.go | 3 +- client/core/market.go | 2 +- client/core/market_test.go | 2 +- client/exchange/exchange.go | 12 +- client/exchange/exchange_test_support.go | 8 +- client/explorer/explorer.go | 4 +- client/metadata/fetch_metadata.go | 6 +- client/tm/tmclient.go | 15 +- eip712_cosmos.go | 8 +- ethereum/util/amounts.go | 12 +- ethereum/util/contract.go | 6 +- examples/chain/1_LocalOrderHash/example.go | 2 +- .../example.go | 2 +- .../example.go | 2 +- examples/chain/6_MsgRegisterAsDMM/example.go | 2 +- examples/chain/auction/1_MsgBid/example.go | 2 +- examples/chain/authz/1_MsgGrant/example.go | 8 +- examples/chain/authz/2_MsgExec/example.go | 2 +- examples/chain/authz/3_MsgRevoke/example.go | 2 +- examples/chain/bank/1_MsgSend/example.go | 2 +- examples/chain/bank/2_MsgMultiSend/example.go | 2 +- .../1_SetWithdrawAddress/example.go | 2 +- .../2_MsgWithdrawDelegatorReward/example.go | 2 +- .../3_WithdrawValidatorCommission/example.go | 2 +- .../4_FundCommunityPool/example.go | 2 +- .../example.go | 2 +- .../example.go | 2 +- .../12_MsgCancelDerivativeOrder/example.go | 2 +- .../example.go | 2 +- .../14_MsgSubaccountTransfer/example.go | 2 +- .../15_MsgExternalTransfer/example.go | 2 +- .../16_MsgLiquidatePosition/example.go | 2 +- .../17_MsgIncreasePositionMargin/example.go | 2 +- .../chain/exchange/1_MsgDeposit/example.go | 2 +- .../exchange/21_MsgRewardsOptOut/example.go | 2 +- .../chain/exchange/2_MsgWithdraw/example.go | 2 +- .../3_MsgInstantSpotMarketLaunch/example.go | 2 +- .../example.go | 2 +- .../example.go | 2 +- .../6_MsgCreateSpotLimitOrder/example.go | 2 +- .../7_MsgCreateSpotMarketOrder/example.go | 2 +- .../exchange/8_MsgCancelSpotOrder/example.go | 2 +- .../9_MsgBatchUpdateOrders/example.go | 2 +- .../ibc/transfer/1_MsgTransfer/example.go | 2 +- .../1_MsgRelayPriceFeedPrice/example.go | 2 +- .../chain/peggy/1_MsgSendToEth/example.go | 2 +- .../chain/staking/1_MsgDelegate/example.go | 2 +- .../tokenfactory/1_CreateDenom/example.go | 2 +- .../chain/tokenfactory/2_MsgMint/example.go | 2 +- .../chain/tokenfactory/3_MsgBurn/example.go | 2 +- .../4_MsgSetDenomMetadata/example.go | 2 +- .../tokenfactory/5_MsgChangeAdmin/example.go | 2 +- .../1_MsgExecuteContractCompat/example.go | 2 +- .../1_StreamSubaccountBalance/example.go | 2 +- .../derivatives/13_StreamTrades/example.go | 2 +- .../14_SubaccountOrdersList/example.go | 2 +- .../15_SubaccountTradesList/example.go | 2 +- .../derivatives/16_FundingPayments/example.go | 2 +- .../derivatives/17_FundingRates/example.go | 2 +- .../exchange/derivatives/1_Market/example.go | 2 +- .../exchange/derivatives/2_Markets/example.go | 2 +- .../derivatives/3_StreamMarket/example.go | 2 +- .../derivatives/4_Orderbook/example.go | 2 +- .../derivatives/5_Orderbooks/example.go | 2 +- .../derivatives/8_Positions/example.go | 2 +- .../exchange/derivatives/9_Orders/example.go | 2 +- .../insurance/1_InsuranceFunds/example.go | 2 +- .../insurance/2_Redemptions/example.go | 2 +- examples/exchange/meta/1_Ping/example.go | 2 +- examples/exchange/meta/2_Version/example.go | 2 +- examples/exchange/meta/3_Info/example.go | 2 +- .../meta/4_StreamKeepAlive/example.go | 2 +- .../exchange/spot/10_StreamTrades/example.go | 2 +- .../spot/11_SubaccountOrdersList/example.go | 2 +- .../spot/12_SubaccountTradesList/example.go | 2 +- .../exchange/spot/13_Orderbooks/example.go | 2 +- examples/exchange/spot/1_Market/example.go | 2 +- examples/exchange/spot/2_Markets/example.go | 2 +- .../exchange/spot/3_StreamMarket/example.go | 2 +- examples/exchange/spot/4_Orderbook/example.go | 2 +- examples/exchange/spot/5_Orders/example.go | 2 +- .../exchange/spot/9_StreamOrders/example.go | 2 +- go.mod | 7 +- go.sum | 12 +- typeddata/typed_data.go | 2 +- 101 files changed, 398 insertions(+), 351 deletions(-) create mode 100644 .golangci.yml diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 00000000..0073fe19 --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,53 @@ +{ + "run": { + "tests": false, + }, + "linters": { + "fast": false, + "enable": [ + "errcheck", + "errorlint", + "gas", + "gocritic", + "gosimple", + "govet", + "ineffassign", + "megacheck", + "misspell", + "nakedret", + "prealloc", + "revive", + "staticcheck", + "unconvert", + "unparam", + ], + "disable": [ + "unused", + ] + }, + "linters-settings": { + "revive": { + "enableAllRules": true, + "rules": [ + { + "name": "var-naming", + "arguments": [ + ["ID"] + ] + } + ] + }, + "gocritic": { + "enabled-tags": [ + "diagnostic", + "experimental", + "opinionated", + "performance", + "style", + ], + "disabled-checks": [ + "hugeParam", + ] + } + }, +} \ No newline at end of file diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a70840d1..6641de94 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,7 +13,7 @@ repos: - id: end-of-file-fixer - id: check-yaml - repo: https://github.com/dnephin/pre-commit-golang - rev: v0.5.0 + rev: master hooks: - id: go-fmt - id: go-imports diff --git a/auth_vote/authz_vote.go b/auth_vote/authz_vote.go index 508a7c70..77613712 100644 --- a/auth_vote/authz_vote.go +++ b/auth_vote/authz_vote.go @@ -69,7 +69,7 @@ func main() { validators := []string{"inj156t3yxd4udv0h9gwagfcmwnmm3quy0npqc7pks", "inj16nd8yqxe9p6ggnrz58qr7dxn5y2834yendward"} grantee := senderAddress.String() proposalId := uint64(375) - var msgs []sdk.Msg + var msgs = make([]sdk.Msg, 0) for _, validator := range validators { msgVote := v1beta1.MsgVote{ @@ -92,7 +92,7 @@ func main() { msgs = append(msgs, sdkMsg) } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msgs...) if err != nil { diff --git a/chain/exchange/types/derivative_orders.go b/chain/exchange/types/derivative_orders.go index 630b470a..422fd108 100644 --- a/chain/exchange/types/derivative_orders.go +++ b/chain/exchange/types/derivative_orders.go @@ -219,7 +219,7 @@ func (o *DerivativeLimitOrder) GetCancelRefundAmount(feeRate math.LegacyDec) mat if o.IsVanilla() { // negative fees are only accounted for upon matching positiveFeePart := math.LegacyMaxDec(math.LegacyZeroDec(), feeRate) - //nolint:all + // nolint:all // Refund = (FillableQuantity / Quantity) * (Margin + Price * Quantity * feeRate) notional := o.OrderInfo.Price.Mul(o.OrderInfo.Quantity) marginHoldRefund = o.Fillable.Mul(o.Margin.Add(notional.Mul(positiveFeePart))).Quo(o.OrderInfo.Quantity) diff --git a/chain/exchange/types/spot_orders.go b/chain/exchange/types/spot_orders.go index 3253e5b5..7225a00c 100644 --- a/chain/exchange/types/spot_orders.go +++ b/chain/exchange/types/spot_orders.go @@ -143,9 +143,7 @@ func (m *SpotLimitOrder) GetUnfilledFeeAmount(fee math.LegacyDec) math.LegacyDec return m.GetUnfilledNotional().Mul(fee) } -func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (math.LegacyDec, string) { - var denom string - var balanceHold math.LegacyDec +func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (balanceHold math.LegacyDec, denom string) { if m.IsBuy() { denom = market.QuoteDenom if m.OrderType.IsPostOnly() { @@ -167,7 +165,7 @@ func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (math.Legac return balanceHold, denom } -func (m *SpotLimitOrder) GetUnfilledMarginHoldAndMarginDenom(market *SpotMarket, isTransient bool) (math.LegacyDec, string) { +func (m *SpotLimitOrder) GetUnfilledMarginHoldAndMarginDenom(market *SpotMarket, isTransient bool) (marginHold math.LegacyDec, marginDenom string) { var denom string var balanceHold math.LegacyDec if m.IsBuy() { diff --git a/chain/peggy/types/params.go b/chain/peggy/types/params.go index 656ada2b..b4363219 100644 --- a/chain/peggy/types/params.go +++ b/chain/peggy/types/params.go @@ -290,6 +290,6 @@ func validateSlashFractionBadEthSignature(i interface{}) error { return nil } -func validateValsetReward(i interface{}) error { +func validateValsetReward(_ interface{}) error { return nil } diff --git a/chain/permissions/types/tx.go b/chain/permissions/types/tx.go index dbbd6e91..776372a5 100644 --- a/chain/permissions/types/tx.go +++ b/chain/permissions/types/tx.go @@ -33,7 +33,7 @@ func (m MsgCreateNamespace) Route() string { return routerKey } func (m MsgCreateNamespace) Type() string { return "create_namespace" } -func (msg MsgCreateNamespace) ValidateBasic() error { return nil } +func (m MsgCreateNamespace) ValidateBasic() error { return nil } func (m *MsgCreateNamespace) GetSignBytes() []byte { return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) @@ -84,7 +84,7 @@ func (m MsgUpdateNamespaceRoles) Route() string { return routerKey } func (m MsgUpdateNamespaceRoles) Type() string { return "update_namespace_roles" } -func (msg MsgUpdateNamespaceRoles) ValidateBasic() error { return nil } +func (m MsgUpdateNamespaceRoles) ValidateBasic() error { return nil } func (m *MsgUpdateNamespaceRoles) GetSignBytes() []byte { return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) @@ -101,7 +101,7 @@ func (m MsgRevokeNamespaceRoles) Route() string { return routerKey } func (m MsgRevokeNamespaceRoles) Type() string { return "revoke_namespace_roles" } -func (msg MsgRevokeNamespaceRoles) ValidateBasic() error { return nil } +func (m MsgRevokeNamespaceRoles) ValidateBasic() error { return nil } func (m *MsgRevokeNamespaceRoles) GetSignBytes() []byte { return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) @@ -118,7 +118,7 @@ func (m MsgClaimVoucher) Route() string { return routerKey } func (m MsgClaimVoucher) Type() string { return "claim_voucher" } -func (msg MsgClaimVoucher) ValidateBasic() error { return nil } +func (m MsgClaimVoucher) ValidateBasic() error { return nil } func (m *MsgClaimVoucher) GetSignBytes() []byte { return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) diff --git a/chain/wasmx/types/params.go b/chain/wasmx/types/params.go index 53bd56d5..8e1e5351 100644 --- a/chain/wasmx/types/params.go +++ b/chain/wasmx/types/params.go @@ -19,7 +19,7 @@ const ( var ( DefaultIsExecutionEnabled = false DefaultMaxBeginBlockTotalGas uint64 = 42_000_000 // 42M - DefaultMaxContractGasLimit uint64 = DefaultMaxBeginBlockTotalGas / 12 // 3.5M + DefaultMaxContractGasLimit = DefaultMaxBeginBlockTotalGas / 12 // 3.5M DefaultMinGasPrice uint64 = 1_000_000_000 // 1B ) diff --git a/chain/wasmx/types/util.go b/chain/wasmx/types/util.go index c7eb5ae2..bde09b7a 100644 --- a/chain/wasmx/types/util.go +++ b/chain/wasmx/types/util.go @@ -6,8 +6,7 @@ import ( ) func IsAllowed(accessConfig types.AccessConfig, actor types2.AccAddress) bool { - switch accessConfig.Permission { - case types.AccessTypeAnyOfAddresses: + if accessConfig.Permission == types.AccessTypeAnyOfAddresses { for _, v := range accessConfig.Addresses { if v == actor.String() { return true diff --git a/client/chain/chain.go b/client/chain/chain.go index a37c0b3a..c8d25ddc 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -43,7 +43,6 @@ import ( ibcclienttypes "github.com/cosmos/ibc-go/v8/modules/core/02-client/types" ibcconnectiontypes "github.com/cosmos/ibc-go/v8/modules/core/03-connection/types" ibcchanneltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" - eth "github.com/ethereum/go-ethereum/common" "github.com/pkg/errors" "github.com/shopspring/decimal" "google.golang.org/grpc" @@ -114,21 +113,21 @@ type ChainClient interface { expireIn time.Time, ) *authztypes.MsgGrant - DefaultSubaccount(acc sdk.AccAddress) eth.Hash - Subaccount(account sdk.AccAddress, index int) eth.Hash + DefaultSubaccount(acc sdk.AccAddress) ethcommon.Hash + Subaccount(account sdk.AccAddress, index int) ethcommon.Hash - GetSubAccountNonce(ctx context.Context, subaccountId eth.Hash) (*exchangetypes.QuerySubaccountTradeNonceResponse, error) + GetSubAccountNonce(ctx context.Context, subaccountId ethcommon.Hash) (*exchangetypes.QuerySubaccountTradeNonceResponse, error) GetFeeDiscountInfo(ctx context.Context, account string) (*exchangetypes.QueryFeeDiscountAccountInfoResponse, error) UpdateSubaccountNonceFromChain() error - SynchronizeSubaccountNonce(subaccountId eth.Hash) error - ComputeOrderHashes(spotOrders []exchangetypes.SpotOrder, derivativeOrders []exchangetypes.DerivativeOrder, subaccountId eth.Hash) (OrderHashes, error) + SynchronizeSubaccountNonce(subaccountId ethcommon.Hash) error + ComputeOrderHashes(spotOrders []exchangetypes.SpotOrder, derivativeOrders []exchangetypes.DerivativeOrder, subaccountId ethcommon.Hash) (OrderHashes, error) - SpotOrder(defaultSubaccountID eth.Hash, network common.Network, d *SpotOrderData) *exchangetypes.SpotOrder - CreateSpotOrder(defaultSubaccountID eth.Hash, d *SpotOrderData, marketsAssistant MarketsAssistant) *exchangetypes.SpotOrder - DerivativeOrder(defaultSubaccountID eth.Hash, network common.Network, d *DerivativeOrderData) *exchangetypes.DerivativeOrder - CreateDerivativeOrder(defaultSubaccountID eth.Hash, d *DerivativeOrderData, marketAssistant MarketsAssistant) *exchangetypes.DerivativeOrder - OrderCancel(defaultSubaccountID eth.Hash, d *OrderCancelData) *exchangetypes.OrderData + SpotOrder(defaultSubaccountID ethcommon.Hash, network common.Network, d *SpotOrderData) *exchangetypes.SpotOrder + CreateSpotOrder(defaultSubaccountID ethcommon.Hash, d *SpotOrderData, marketsAssistant MarketsAssistant) *exchangetypes.SpotOrder + DerivativeOrder(defaultSubaccountID ethcommon.Hash, network common.Network, d *DerivativeOrderData) *exchangetypes.DerivativeOrder + CreateDerivativeOrder(defaultSubaccountID ethcommon.Hash, d *DerivativeOrderData, marketAssistant MarketsAssistant) *exchangetypes.DerivativeOrder + OrderCancel(defaultSubaccountID ethcommon.Hash, d *OrderCancelData) *exchangetypes.OrderData GetGasFee() (string, error) @@ -340,8 +339,8 @@ func NewChainClient( // process options opts := common.DefaultClientOptions() - if network.ChainTlsCert != nil { - options = append(options, common.OptionTLSCert(network.ChainTlsCert)) + if network.ChainTLSCert != nil { + options = append(options, common.OptionTLSCert(network.ChainTLSCert)) } for _, opt := range options { if err := opt(opts); err != nil { @@ -517,7 +516,7 @@ func (c *chainClient) getAccSeq() uint64 { return c.accSeq } -func (c *chainClient) GetAccNonce() (accNum uint64, accSeq uint64) { +func (c *chainClient) GetAccNonce() (accNum, accSeq uint64) { return c.accNum, c.accSeq } @@ -561,7 +560,7 @@ func (c *chainClient) Close() { } } -//Bank Module +// Bank Module func (c *chainClient) GetBankBalances(ctx context.Context, address string) (*banktypes.QueryAllBalancesResponse, error) { req := &banktypes.QueryAllBalancesRequest{ @@ -572,7 +571,7 @@ func (c *chainClient) GetBankBalances(ctx context.Context, address string) (*ban return res, err } -func (c *chainClient) GetBankBalance(ctx context.Context, address string, denom string) (*banktypes.QueryBalanceResponse, error) { +func (c *chainClient) GetBankBalance(ctx context.Context, address, denom string) (*banktypes.QueryBalanceResponse, error) { req := &banktypes.QueryBalanceRequest{ Address: address, Denom: denom, @@ -592,7 +591,7 @@ func (c *chainClient) GetBankSpendableBalances(ctx context.Context, address stri return res, err } -func (c *chainClient) GetBankSpendableBalancesByDenom(ctx context.Context, address string, denom string) (*banktypes.QuerySpendableBalanceByDenomResponse, error) { +func (c *chainClient) GetBankSpendableBalancesByDenom(ctx context.Context, address, denom string) (*banktypes.QuerySpendableBalanceByDenomResponse, error) { req := &banktypes.QuerySpendableBalanceByDenomRequest{ Address: address, Denom: denom, @@ -1034,19 +1033,19 @@ func (c *chainClient) GetGasFee() (string, error) { return c.gasFee, err } -func (c *chainClient) DefaultSubaccount(acc sdk.AccAddress) eth.Hash { +func (c *chainClient) DefaultSubaccount(acc sdk.AccAddress) ethcommon.Hash { return c.Subaccount(acc, 0) } -func (c *chainClient) Subaccount(account sdk.AccAddress, index int) eth.Hash { - ethAddress := eth.BytesToAddress(account.Bytes()) +func (c *chainClient) Subaccount(account sdk.AccAddress, index int) ethcommon.Hash { + ethAddress := ethcommon.BytesToAddress(account.Bytes()) ethLowerAddress := strings.ToLower(ethAddress.String()) subaccountId := fmt.Sprintf("%s%024x", ethLowerAddress, index) - return eth.HexToHash(subaccountId) + return ethcommon.HexToHash(subaccountId) } -func (c *chainClient) GetSubAccountNonce(ctx context.Context, subaccountId eth.Hash) (*exchangetypes.QuerySubaccountTradeNonceResponse, error) { +func (c *chainClient) GetSubAccountNonce(ctx context.Context, subaccountId ethcommon.Hash) (*exchangetypes.QuerySubaccountTradeNonceResponse, error) { req := &exchangetypes.QuerySubaccountTradeNonceRequest{SubaccountId: subaccountId.String()} res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.SubaccountTradeNonce, req) @@ -1054,7 +1053,7 @@ func (c *chainClient) GetSubAccountNonce(ctx context.Context, subaccountId eth.H } // Deprecated: Use CreateSpotOrder instead -func (c *chainClient) SpotOrder(defaultSubaccountID eth.Hash, network common.Network, d *SpotOrderData) *exchangetypes.SpotOrder { +func (c *chainClient) SpotOrder(defaultSubaccountID ethcommon.Hash, network common.Network, d *SpotOrderData) *exchangetypes.SpotOrder { assistant, err := NewMarketsAssistant(network.Name) if err != nil { panic(err) @@ -1063,7 +1062,7 @@ func (c *chainClient) SpotOrder(defaultSubaccountID eth.Hash, network common.Net return c.CreateSpotOrder(defaultSubaccountID, d, assistant) } -func (c *chainClient) CreateSpotOrder(defaultSubaccountID eth.Hash, d *SpotOrderData, marketsAssistant MarketsAssistant) *exchangetypes.SpotOrder { +func (c *chainClient) CreateSpotOrder(defaultSubaccountID ethcommon.Hash, d *SpotOrderData, marketsAssistant MarketsAssistant) *exchangetypes.SpotOrder { market, isPresent := marketsAssistant.AllSpotMarkets()[d.MarketId] if !isPresent { @@ -1087,7 +1086,7 @@ func (c *chainClient) CreateSpotOrder(defaultSubaccountID eth.Hash, d *SpotOrder } // Deprecated: Use CreateDerivativeOrder instead -func (c *chainClient) DerivativeOrder(defaultSubaccountID eth.Hash, network common.Network, d *DerivativeOrderData) *exchangetypes.DerivativeOrder { +func (c *chainClient) DerivativeOrder(defaultSubaccountID ethcommon.Hash, network common.Network, d *DerivativeOrderData) *exchangetypes.DerivativeOrder { assistant, err := NewMarketsAssistant(network.Name) if err != nil { @@ -1097,7 +1096,7 @@ func (c *chainClient) DerivativeOrder(defaultSubaccountID eth.Hash, network comm return c.CreateDerivativeOrder(defaultSubaccountID, d, assistant) } -func (c *chainClient) CreateDerivativeOrder(defaultSubaccountID eth.Hash, d *DerivativeOrderData, marketAssistant MarketsAssistant) *exchangetypes.DerivativeOrder { +func (c *chainClient) CreateDerivativeOrder(defaultSubaccountID ethcommon.Hash, d *DerivativeOrderData, marketAssistant MarketsAssistant) *exchangetypes.DerivativeOrder { market, isPresent := marketAssistant.AllDerivativeMarkets()[d.MarketId] if !isPresent { panic(errors.Errorf("Invalid derivative market id for %s network (%s)", c.network.Name, d.MarketId)) @@ -1125,7 +1124,7 @@ func (c *chainClient) CreateDerivativeOrder(defaultSubaccountID eth.Hash, d *Der } } -func (c *chainClient) OrderCancel(defaultSubaccountID eth.Hash, d *OrderCancelData) *exchangetypes.OrderData { +func (c *chainClient) OrderCancel(defaultSubaccountID ethcommon.Hash, d *OrderCancelData) *exchangetypes.OrderData { return &exchangetypes.OrderData{ MarketId: d.MarketId, OrderHash: d.OrderHash, @@ -1140,7 +1139,7 @@ func (c *chainClient) GetAuthzGrants(ctx context.Context, req authztypes.QueryGr return res, err } -func (c *chainClient) BuildGenericAuthz(granter string, grantee string, msgtype string, expireIn time.Time) *authztypes.MsgGrant { +func (c *chainClient) BuildGenericAuthz(granter, grantee, msgtype string, expireIn time.Time) *authztypes.MsgGrant { authz := authztypes.NewGenericAuthorization(msgtype) authzAny := codectypes.UnsafePackAny(authz) return &authztypes.MsgGrant{ @@ -1171,7 +1170,7 @@ var ( BatchUpdateOrdersAuthz = ExchangeAuthz("/" + proto.MessageName(&exchangetypes.BatchUpdateOrdersAuthz{})) ) -func (c *chainClient) BuildExchangeAuthz(granter string, grantee string, authzType ExchangeAuthz, subaccountId string, markets []string, expireIn time.Time) *authztypes.MsgGrant { +func (c *chainClient) BuildExchangeAuthz(granter, grantee string, authzType ExchangeAuthz, subaccountId string, markets []string, expireIn time.Time) *authztypes.MsgGrant { var typedAuthzAny codectypes.Any var typedAuthzBytes []byte switch authzType { @@ -1550,7 +1549,7 @@ func (c *chainClient) FetchContractsByCreator(ctx context.Context, creator strin // Tokenfactory module -func (c *chainClient) FetchDenomAuthorityMetadata(ctx context.Context, creator string, subDenom string) (*tokenfactorytypes.QueryDenomAuthorityMetadataResponse, error) { +func (c *chainClient) FetchDenomAuthorityMetadata(ctx context.Context, creator, subDenom string) (*tokenfactorytypes.QueryDenomAuthorityMetadataResponse, error) { req := &tokenfactorytypes.QueryDenomAuthorityMetadataRequest{ Creator: creator, } @@ -1636,7 +1635,7 @@ func (c *chainClient) FetchValidatorCommission(ctx context.Context, validatorAdd return res, err } -func (c *chainClient) FetchValidatorSlashes(ctx context.Context, validatorAddress string, startingHeight uint64, endingHeight uint64, pagination *query.PageRequest) (*distributiontypes.QueryValidatorSlashesResponse, error) { +func (c *chainClient) FetchValidatorSlashes(ctx context.Context, validatorAddress string, startingHeight, endingHeight uint64, pagination *query.PageRequest) (*distributiontypes.QueryValidatorSlashesResponse, error) { req := &distributiontypes.QueryValidatorSlashesRequest{ ValidatorAddress: validatorAddress, StartingHeight: startingHeight, @@ -1648,7 +1647,7 @@ func (c *chainClient) FetchValidatorSlashes(ctx context.Context, validatorAddres return res, err } -func (c *chainClient) FetchDelegationRewards(ctx context.Context, delegatorAddress string, validatorAddress string) (*distributiontypes.QueryDelegationRewardsResponse, error) { +func (c *chainClient) FetchDelegationRewards(ctx context.Context, delegatorAddress, validatorAddress string) (*distributiontypes.QueryDelegationRewardsResponse, error) { req := &distributiontypes.QueryDelegationRewardsRequest{ DelegatorAddress: delegatorAddress, ValidatorAddress: validatorAddress, @@ -1702,7 +1701,7 @@ func (c *chainClient) FetchSubaccountDeposits(ctx context.Context, subaccountId return res, err } -func (c *chainClient) FetchSubaccountDeposit(ctx context.Context, subaccountId string, denom string) (*exchangetypes.QuerySubaccountDepositResponse, error) { +func (c *chainClient) FetchSubaccountDeposit(ctx context.Context, subaccountId, denom string) (*exchangetypes.QuerySubaccountDepositResponse, error) { req := &exchangetypes.QuerySubaccountDepositRequest{ SubaccountId: subaccountId, Denom: denom, @@ -1728,7 +1727,7 @@ func (c *chainClient) FetchAggregateVolume(ctx context.Context, account string) return res, err } -func (c *chainClient) FetchAggregateVolumes(ctx context.Context, accounts []string, marketIds []string) (*exchangetypes.QueryAggregateVolumesResponse, error) { +func (c *chainClient) FetchAggregateVolumes(ctx context.Context, accounts, marketIds []string) (*exchangetypes.QueryAggregateVolumesResponse, error) { req := &exchangetypes.QueryAggregateVolumesRequest{ Accounts: accounts, MarketIds: marketIds, @@ -1818,7 +1817,7 @@ func (c *chainClient) FetchChainFullSpotMarket(ctx context.Context, marketId str return res, err } -func (c *chainClient) FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional sdkmath.LegacyDec, limitCumulativeQuantity sdkmath.LegacyDec) (*exchangetypes.QuerySpotOrderbookResponse, error) { +func (c *chainClient) FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional, limitCumulativeQuantity sdkmath.LegacyDec) (*exchangetypes.QuerySpotOrderbookResponse, error) { req := &exchangetypes.QuerySpotOrderbookRequest{ MarketId: marketId, Limit: limit, @@ -1831,7 +1830,7 @@ func (c *chainClient) FetchChainSpotOrderbook(ctx context.Context, marketId stri return res, err } -func (c *chainClient) FetchChainTraderSpotOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) { +func (c *chainClient) FetchChainTraderSpotOrders(ctx context.Context, marketId, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) { req := &exchangetypes.QueryTraderSpotOrdersRequest{ MarketId: marketId, SubaccountId: subaccountId, @@ -1841,7 +1840,7 @@ func (c *chainClient) FetchChainTraderSpotOrders(ctx context.Context, marketId s return res, err } -func (c *chainClient) FetchChainAccountAddressSpotOrders(ctx context.Context, marketId string, address string) (*exchangetypes.QueryAccountAddressSpotOrdersResponse, error) { +func (c *chainClient) FetchChainAccountAddressSpotOrders(ctx context.Context, marketId, address string) (*exchangetypes.QueryAccountAddressSpotOrdersResponse, error) { req := &exchangetypes.QueryAccountAddressSpotOrdersRequest{ MarketId: marketId, AccountAddress: address, @@ -1851,7 +1850,7 @@ func (c *chainClient) FetchChainAccountAddressSpotOrders(ctx context.Context, ma return res, err } -func (c *chainClient) FetchChainSpotOrdersByHashes(ctx context.Context, marketId string, subaccountId string, orderHashes []string) (*exchangetypes.QuerySpotOrdersByHashesResponse, error) { +func (c *chainClient) FetchChainSpotOrdersByHashes(ctx context.Context, marketId, subaccountId string, orderHashes []string) (*exchangetypes.QuerySpotOrdersByHashesResponse, error) { req := &exchangetypes.QuerySpotOrdersByHashesRequest{ MarketId: marketId, SubaccountId: subaccountId, @@ -1862,7 +1861,7 @@ func (c *chainClient) FetchChainSpotOrdersByHashes(ctx context.Context, marketId return res, err } -func (c *chainClient) FetchChainSubaccountOrders(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QuerySubaccountOrdersResponse, error) { +func (c *chainClient) FetchChainSubaccountOrders(ctx context.Context, subaccountId, marketId string) (*exchangetypes.QuerySubaccountOrdersResponse, error) { req := &exchangetypes.QuerySubaccountOrdersRequest{ SubaccountId: subaccountId, MarketId: marketId, @@ -1872,7 +1871,7 @@ func (c *chainClient) FetchChainSubaccountOrders(ctx context.Context, subaccount return res, err } -func (c *chainClient) FetchChainTraderSpotTransientOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) { +func (c *chainClient) FetchChainTraderSpotTransientOrders(ctx context.Context, marketId, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) { req := &exchangetypes.QueryTraderSpotOrdersRequest{ MarketId: marketId, SubaccountId: subaccountId, @@ -1911,7 +1910,7 @@ func (c *chainClient) FetchChainDerivativeOrderbook(ctx context.Context, marketI return res, err } -func (c *chainClient) FetchChainTraderDerivativeOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) { +func (c *chainClient) FetchChainTraderDerivativeOrders(ctx context.Context, marketId, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) { req := &exchangetypes.QueryTraderDerivativeOrdersRequest{ MarketId: marketId, SubaccountId: subaccountId, @@ -1921,7 +1920,7 @@ func (c *chainClient) FetchChainTraderDerivativeOrders(ctx context.Context, mark return res, err } -func (c *chainClient) FetchChainAccountAddressDerivativeOrders(ctx context.Context, marketId string, address string) (*exchangetypes.QueryAccountAddressDerivativeOrdersResponse, error) { +func (c *chainClient) FetchChainAccountAddressDerivativeOrders(ctx context.Context, marketId, address string) (*exchangetypes.QueryAccountAddressDerivativeOrdersResponse, error) { req := &exchangetypes.QueryAccountAddressDerivativeOrdersRequest{ MarketId: marketId, AccountAddress: address, @@ -1931,7 +1930,7 @@ func (c *chainClient) FetchChainAccountAddressDerivativeOrders(ctx context.Conte return res, err } -func (c *chainClient) FetchChainDerivativeOrdersByHashes(ctx context.Context, marketId string, subaccountId string, orderHashes []string) (*exchangetypes.QueryDerivativeOrdersByHashesResponse, error) { +func (c *chainClient) FetchChainDerivativeOrdersByHashes(ctx context.Context, marketId, subaccountId string, orderHashes []string) (*exchangetypes.QueryDerivativeOrdersByHashesResponse, error) { req := &exchangetypes.QueryDerivativeOrdersByHashesRequest{ MarketId: marketId, SubaccountId: subaccountId, @@ -1942,7 +1941,7 @@ func (c *chainClient) FetchChainDerivativeOrdersByHashes(ctx context.Context, ma return res, err } -func (c *chainClient) FetchChainTraderDerivativeTransientOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) { +func (c *chainClient) FetchChainTraderDerivativeTransientOrders(ctx context.Context, marketId, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) { req := &exchangetypes.QueryTraderDerivativeOrdersRequest{ MarketId: marketId, SubaccountId: subaccountId, @@ -2008,7 +2007,7 @@ func (c *chainClient) FetchChainSubaccountPositions(ctx context.Context, subacco return res, err } -func (c *chainClient) FetchChainSubaccountPositionInMarket(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QuerySubaccountPositionInMarketResponse, error) { +func (c *chainClient) FetchChainSubaccountPositionInMarket(ctx context.Context, subaccountId, marketId string) (*exchangetypes.QuerySubaccountPositionInMarketResponse, error) { req := &exchangetypes.QuerySubaccountPositionInMarketRequest{ SubaccountId: subaccountId, MarketId: marketId, @@ -2018,7 +2017,7 @@ func (c *chainClient) FetchChainSubaccountPositionInMarket(ctx context.Context, return res, err } -func (c *chainClient) FetchChainSubaccountEffectivePositionInMarket(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QuerySubaccountEffectivePositionInMarketResponse, error) { +func (c *chainClient) FetchChainSubaccountEffectivePositionInMarket(ctx context.Context, subaccountId, marketId string) (*exchangetypes.QuerySubaccountEffectivePositionInMarketResponse, error) { req := &exchangetypes.QuerySubaccountEffectivePositionInMarketRequest{ SubaccountId: subaccountId, MarketId: marketId, @@ -2189,7 +2188,7 @@ func (c *chainClient) FetchChainBinaryOptionsMarkets(ctx context.Context, status return res, err } -func (c *chainClient) FetchTraderDerivativeConditionalOrders(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QueryTraderDerivativeConditionalOrdersResponse, error) { +func (c *chainClient) FetchTraderDerivativeConditionalOrders(ctx context.Context, subaccountId, marketId string) (*exchangetypes.QueryTraderDerivativeConditionalOrdersResponse, error) { req := &exchangetypes.QueryTraderDerivativeConditionalOrdersRequest{ SubaccountId: subaccountId, MarketId: marketId, @@ -2297,7 +2296,7 @@ func (c *chainClient) FetchDenomHash(ctx context.Context, trace string) (*ibctra return res, err } -func (c *chainClient) FetchEscrowAddress(ctx context.Context, portId string, channelId string) (*ibctransfertypes.QueryEscrowAddressResponse, error) { +func (c *chainClient) FetchEscrowAddress(ctx context.Context, portId, channelId string) (*ibctransfertypes.QueryEscrowAddressResponse, error) { req := &ibctransfertypes.QueryEscrowAddressRequest{ PortId: portId, ChannelId: channelId, @@ -2317,7 +2316,7 @@ func (c *chainClient) FetchTotalEscrowForDenom(ctx context.Context, denom string } // IBC Core Channel module -func (c *chainClient) FetchIBCChannel(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryChannelResponse, error) { +func (c *chainClient) FetchIBCChannel(ctx context.Context, portId, channelId string) (*ibcchanneltypes.QueryChannelResponse, error) { req := &ibcchanneltypes.QueryChannelRequest{ PortId: portId, ChannelId: channelId, @@ -2346,7 +2345,7 @@ func (c *chainClient) FetchIBCConnectionChannels(ctx context.Context, connection return res, err } -func (c *chainClient) FetchIBCChannelClientState(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryChannelClientStateResponse, error) { +func (c *chainClient) FetchIBCChannelClientState(ctx context.Context, portId, channelId string) (*ibcchanneltypes.QueryChannelClientStateResponse, error) { req := &ibcchanneltypes.QueryChannelClientStateRequest{ PortId: portId, ChannelId: channelId, @@ -2356,7 +2355,7 @@ func (c *chainClient) FetchIBCChannelClientState(ctx context.Context, portId str return res, err } -func (c *chainClient) FetchIBCChannelConsensusState(ctx context.Context, portId string, channelId string, revisionNumber uint64, revisionHeight uint64) (*ibcchanneltypes.QueryChannelConsensusStateResponse, error) { +func (c *chainClient) FetchIBCChannelConsensusState(ctx context.Context, portId, channelId string, revisionNumber, revisionHeight uint64) (*ibcchanneltypes.QueryChannelConsensusStateResponse, error) { req := &ibcchanneltypes.QueryChannelConsensusStateRequest{ PortId: portId, ChannelId: channelId, @@ -2368,7 +2367,7 @@ func (c *chainClient) FetchIBCChannelConsensusState(ctx context.Context, portId return res, err } -func (c *chainClient) FetchIBCPacketCommitment(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketCommitmentResponse, error) { +func (c *chainClient) FetchIBCPacketCommitment(ctx context.Context, portId, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketCommitmentResponse, error) { req := &ibcchanneltypes.QueryPacketCommitmentRequest{ PortId: portId, ChannelId: channelId, @@ -2379,7 +2378,7 @@ func (c *chainClient) FetchIBCPacketCommitment(ctx context.Context, portId strin return res, err } -func (c *chainClient) FetchIBCPacketCommitments(ctx context.Context, portId string, channelId string, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketCommitmentsResponse, error) { +func (c *chainClient) FetchIBCPacketCommitments(ctx context.Context, portId, channelId string, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketCommitmentsResponse, error) { req := &ibcchanneltypes.QueryPacketCommitmentsRequest{ PortId: portId, ChannelId: channelId, @@ -2390,7 +2389,7 @@ func (c *chainClient) FetchIBCPacketCommitments(ctx context.Context, portId stri return res, err } -func (c *chainClient) FetchIBCPacketReceipt(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketReceiptResponse, error) { +func (c *chainClient) FetchIBCPacketReceipt(ctx context.Context, portId, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketReceiptResponse, error) { req := &ibcchanneltypes.QueryPacketReceiptRequest{ PortId: portId, ChannelId: channelId, @@ -2401,7 +2400,7 @@ func (c *chainClient) FetchIBCPacketReceipt(ctx context.Context, portId string, return res, err } -func (c *chainClient) FetchIBCPacketAcknowledgement(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketAcknowledgementResponse, error) { +func (c *chainClient) FetchIBCPacketAcknowledgement(ctx context.Context, portId, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketAcknowledgementResponse, error) { req := &ibcchanneltypes.QueryPacketAcknowledgementRequest{ PortId: portId, ChannelId: channelId, @@ -2412,7 +2411,7 @@ func (c *chainClient) FetchIBCPacketAcknowledgement(ctx context.Context, portId return res, err } -func (c *chainClient) FetchIBCPacketAcknowledgements(ctx context.Context, portId string, channelId string, packetCommitmentSequences []uint64, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketAcknowledgementsResponse, error) { +func (c *chainClient) FetchIBCPacketAcknowledgements(ctx context.Context, portId, channelId string, packetCommitmentSequences []uint64, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketAcknowledgementsResponse, error) { req := &ibcchanneltypes.QueryPacketAcknowledgementsRequest{ PortId: portId, ChannelId: channelId, @@ -2424,7 +2423,7 @@ func (c *chainClient) FetchIBCPacketAcknowledgements(ctx context.Context, portId return res, err } -func (c *chainClient) FetchIBCUnreceivedPackets(ctx context.Context, portId string, channelId string, packetCommitmentSequences []uint64) (*ibcchanneltypes.QueryUnreceivedPacketsResponse, error) { +func (c *chainClient) FetchIBCUnreceivedPackets(ctx context.Context, portId, channelId string, packetCommitmentSequences []uint64) (*ibcchanneltypes.QueryUnreceivedPacketsResponse, error) { req := &ibcchanneltypes.QueryUnreceivedPacketsRequest{ PortId: portId, ChannelId: channelId, @@ -2435,7 +2434,7 @@ func (c *chainClient) FetchIBCUnreceivedPackets(ctx context.Context, portId stri return res, err } -func (c *chainClient) FetchIBCUnreceivedAcks(ctx context.Context, portId string, channelId string, packetAckSequences []uint64) (*ibcchanneltypes.QueryUnreceivedAcksResponse, error) { +func (c *chainClient) FetchIBCUnreceivedAcks(ctx context.Context, portId, channelId string, packetAckSequences []uint64) (*ibcchanneltypes.QueryUnreceivedAcksResponse, error) { req := &ibcchanneltypes.QueryUnreceivedAcksRequest{ PortId: portId, ChannelId: channelId, @@ -2446,7 +2445,7 @@ func (c *chainClient) FetchIBCUnreceivedAcks(ctx context.Context, portId string, return res, err } -func (c *chainClient) FetchIBCNextSequenceReceive(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryNextSequenceReceiveResponse, error) { +func (c *chainClient) FetchIBCNextSequenceReceive(ctx context.Context, portId, channelId string) (*ibcchanneltypes.QueryNextSequenceReceiveResponse, error) { req := &ibcchanneltypes.QueryNextSequenceReceiveRequest{ PortId: portId, ChannelId: channelId, @@ -2475,7 +2474,7 @@ func (c *chainClient) FetchIBCClientStates(ctx context.Context, pagination *quer return res, err } -func (c *chainClient) FetchIBCConsensusState(ctx context.Context, clientId string, revisionNumber uint64, revisionHeight uint64, latestHeight bool) (*ibcclienttypes.QueryConsensusStateResponse, error) { +func (c *chainClient) FetchIBCConsensusState(ctx context.Context, clientId string, revisionNumber, revisionHeight uint64, latestHeight bool) (*ibcclienttypes.QueryConsensusStateResponse, error) { req := &ibcclienttypes.QueryConsensusStateRequest{ ClientId: clientId, RevisionNumber: revisionNumber, @@ -2574,7 +2573,7 @@ func (c *chainClient) FetchIBCConnectionClientState(ctx context.Context, connect return res, err } -func (c *chainClient) FetchIBCConnectionConsensusState(ctx context.Context, connectionId string, revisionNumber uint64, revisionHeight uint64) (*ibcconnectiontypes.QueryConnectionConsensusStateResponse, error) { +func (c *chainClient) FetchIBCConnectionConsensusState(ctx context.Context, connectionId string, revisionNumber, revisionHeight uint64) (*ibcconnectiontypes.QueryConnectionConsensusStateResponse, error) { req := &ibcconnectiontypes.QueryConnectionConsensusStateRequest{ ConnectionId: connectionId, RevisionNumber: revisionNumber, diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index de867442..2d8af3ab 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -51,7 +51,7 @@ func (c *MockChainClient) ClientContext() client.Context { return client.Context{} } -func (c *MockChainClient) GetAccNonce() (accNum uint64, accSeq uint64) { +func (c *MockChainClient) GetAccNonce() (accNum, accSeq uint64) { return 1, 2 } @@ -68,7 +68,7 @@ func (c *MockChainClient) SyncBroadcastMsg(msgs ...sdk.Msg) (*txtypes.BroadcastT } func (c *MockChainClient) BuildSignedTx(clientCtx client.Context, accNum, accSeq, initialGas uint64, msg ...sdk.Msg) ([]byte, error) { - return *new([]byte), nil + return []byte(nil), nil } func (c *MockChainClient) SyncBroadcastSignedTx(tyBytes []byte) (*txtypes.BroadcastTxResponse, error) { @@ -87,7 +87,7 @@ func (c *MockChainClient) GetBankBalances(ctx context.Context, address string) ( return &banktypes.QueryAllBalancesResponse{}, nil } -func (c *MockChainClient) GetBankBalance(ctx context.Context, address string, denom string) (*banktypes.QueryBalanceResponse, error) { +func (c *MockChainClient) GetBankBalance(ctx context.Context, address, denom string) (*banktypes.QueryBalanceResponse, error) { return &banktypes.QueryBalanceResponse{}, nil } @@ -95,7 +95,7 @@ func (c *MockChainClient) GetBankSpendableBalances(ctx context.Context, address return &banktypes.QuerySpendableBalancesResponse{}, nil } -func (c *MockChainClient) GetBankSpendableBalancesByDenom(ctx context.Context, address string, denom string) (*banktypes.QuerySpendableBalanceByDenomResponse, error) { +func (c *MockChainClient) GetBankSpendableBalancesByDenom(ctx context.Context, address, denom string) (*banktypes.QuerySpendableBalanceByDenomResponse, error) { return &banktypes.QuerySpendableBalanceByDenomResponse{}, nil } @@ -142,11 +142,11 @@ func (c *MockChainClient) GetAccount(ctx context.Context, address string) (*auth return &authtypes.QueryAccountResponse{}, nil } -func (c *MockChainClient) BuildGenericAuthz(granter string, grantee string, msgtype string, expireIn time.Time) *authztypes.MsgGrant { +func (c *MockChainClient) BuildGenericAuthz(granter, grantee, msgtype string, expireIn time.Time) *authztypes.MsgGrant { return &authztypes.MsgGrant{} } -func (c *MockChainClient) BuildExchangeAuthz(granter string, grantee string, authzType ExchangeAuthz, subaccountId string, markets []string, expireIn time.Time) *authztypes.MsgGrant { +func (c *MockChainClient) BuildExchangeAuthz(granter, grantee string, authzType ExchangeAuthz, subaccountId string, markets []string, expireIn time.Time) *authztypes.MsgGrant { return &authztypes.MsgGrant{} } @@ -282,7 +282,7 @@ func (c *MockChainClient) FetchContractsByCreator(ctx context.Context, creator s return &wasmtypes.QueryContractsByCreatorResponse{}, nil } -func (c *MockChainClient) FetchDenomAuthorityMetadata(ctx context.Context, creator string, subDenom string) (*tokenfactorytypes.QueryDenomAuthorityMetadataResponse, error) { +func (c *MockChainClient) FetchDenomAuthorityMetadata(ctx context.Context, creator, subDenom string) (*tokenfactorytypes.QueryDenomAuthorityMetadataResponse, error) { return &tokenfactorytypes.QueryDenomAuthorityMetadataResponse{}, nil } @@ -307,11 +307,11 @@ func (c *MockChainClient) FetchValidatorCommission(ctx context.Context, validato return &distributiontypes.QueryValidatorCommissionResponse{}, nil } -func (c *MockChainClient) FetchValidatorSlashes(ctx context.Context, validatorAddress string, startingHeight uint64, endingHeight uint64, pagination *query.PageRequest) (*distributiontypes.QueryValidatorSlashesResponse, error) { +func (c *MockChainClient) FetchValidatorSlashes(ctx context.Context, validatorAddress string, startingHeight, endingHeight uint64, pagination *query.PageRequest) (*distributiontypes.QueryValidatorSlashesResponse, error) { return &distributiontypes.QueryValidatorSlashesResponse{}, nil } -func (c *MockChainClient) FetchDelegationRewards(ctx context.Context, delegatorAddress string, validatorAddress string) (*distributiontypes.QueryDelegationRewardsResponse, error) { +func (c *MockChainClient) FetchDelegationRewards(ctx context.Context, delegatorAddress, validatorAddress string) (*distributiontypes.QueryDelegationRewardsResponse, error) { return &distributiontypes.QueryDelegationRewardsResponse{}, nil } @@ -336,7 +336,7 @@ func (c *MockChainClient) FetchSubaccountDeposits(ctx context.Context, subaccoun return &exchangetypes.QuerySubaccountDepositsResponse{}, nil } -func (c *MockChainClient) FetchSubaccountDeposit(ctx context.Context, subaccountId string, denom string) (*exchangetypes.QuerySubaccountDepositResponse, error) { +func (c *MockChainClient) FetchSubaccountDeposit(ctx context.Context, subaccountId, denom string) (*exchangetypes.QuerySubaccountDepositResponse, error) { return &exchangetypes.QuerySubaccountDepositResponse{}, nil } @@ -348,7 +348,7 @@ func (c *MockChainClient) FetchAggregateVolume(ctx context.Context, account stri return &exchangetypes.QueryAggregateVolumeResponse{}, nil } -func (c *MockChainClient) FetchAggregateVolumes(ctx context.Context, accounts []string, marketIds []string) (*exchangetypes.QueryAggregateVolumesResponse, error) { +func (c *MockChainClient) FetchAggregateVolumes(ctx context.Context, accounts, marketIds []string) (*exchangetypes.QueryAggregateVolumesResponse, error) { return &exchangetypes.QueryAggregateVolumesResponse{}, nil } @@ -384,27 +384,27 @@ func (c *MockChainClient) FetchChainFullSpotMarket(ctx context.Context, marketId return &exchangetypes.QueryFullSpotMarketResponse{}, nil } -func (c *MockChainClient) FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional sdkmath.LegacyDec, limitCumulativeQuantity sdkmath.LegacyDec) (*exchangetypes.QuerySpotOrderbookResponse, error) { +func (c *MockChainClient) FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional, limitCumulativeQuantity sdkmath.LegacyDec) (*exchangetypes.QuerySpotOrderbookResponse, error) { return &exchangetypes.QuerySpotOrderbookResponse{}, nil } -func (c *MockChainClient) FetchChainTraderSpotOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) { +func (c *MockChainClient) FetchChainTraderSpotOrders(ctx context.Context, marketId, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) { return &exchangetypes.QueryTraderSpotOrdersResponse{}, nil } -func (c *MockChainClient) FetchChainAccountAddressSpotOrders(ctx context.Context, marketId string, address string) (*exchangetypes.QueryAccountAddressSpotOrdersResponse, error) { +func (c *MockChainClient) FetchChainAccountAddressSpotOrders(ctx context.Context, marketId, address string) (*exchangetypes.QueryAccountAddressSpotOrdersResponse, error) { return &exchangetypes.QueryAccountAddressSpotOrdersResponse{}, nil } -func (c *MockChainClient) FetchChainSpotOrdersByHashes(ctx context.Context, marketId string, subaccountId string, orderHashes []string) (*exchangetypes.QuerySpotOrdersByHashesResponse, error) { +func (c *MockChainClient) FetchChainSpotOrdersByHashes(ctx context.Context, marketId, subaccountId string, orderHashes []string) (*exchangetypes.QuerySpotOrdersByHashesResponse, error) { return &exchangetypes.QuerySpotOrdersByHashesResponse{}, nil } -func (c *MockChainClient) FetchChainSubaccountOrders(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QuerySubaccountOrdersResponse, error) { +func (c *MockChainClient) FetchChainSubaccountOrders(ctx context.Context, subaccountId, marketId string) (*exchangetypes.QuerySubaccountOrdersResponse, error) { return &exchangetypes.QuerySubaccountOrdersResponse{}, nil } -func (c *MockChainClient) FetchChainTraderSpotTransientOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) { +func (c *MockChainClient) FetchChainTraderSpotTransientOrders(ctx context.Context, marketId, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) { return &exchangetypes.QueryTraderSpotOrdersResponse{}, nil } @@ -420,19 +420,19 @@ func (c *MockChainClient) FetchChainDerivativeOrderbook(ctx context.Context, mar return &exchangetypes.QueryDerivativeOrderbookResponse{}, nil } -func (c *MockChainClient) FetchChainTraderDerivativeOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) { +func (c *MockChainClient) FetchChainTraderDerivativeOrders(ctx context.Context, marketId, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) { return &exchangetypes.QueryTraderDerivativeOrdersResponse{}, nil } -func (c *MockChainClient) FetchChainAccountAddressDerivativeOrders(ctx context.Context, marketId string, address string) (*exchangetypes.QueryAccountAddressDerivativeOrdersResponse, error) { +func (c *MockChainClient) FetchChainAccountAddressDerivativeOrders(ctx context.Context, marketId, address string) (*exchangetypes.QueryAccountAddressDerivativeOrdersResponse, error) { return &exchangetypes.QueryAccountAddressDerivativeOrdersResponse{}, nil } -func (c *MockChainClient) FetchChainDerivativeOrdersByHashes(ctx context.Context, marketId string, subaccountId string, orderHashes []string) (*exchangetypes.QueryDerivativeOrdersByHashesResponse, error) { +func (c *MockChainClient) FetchChainDerivativeOrdersByHashes(ctx context.Context, marketId, subaccountId string, orderHashes []string) (*exchangetypes.QueryDerivativeOrdersByHashesResponse, error) { return &exchangetypes.QueryDerivativeOrdersByHashesResponse{}, nil } -func (c *MockChainClient) FetchChainTraderDerivativeTransientOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) { +func (c *MockChainClient) FetchChainTraderDerivativeTransientOrders(ctx context.Context, marketId, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) { return &exchangetypes.QueryTraderDerivativeOrdersResponse{}, nil } @@ -460,11 +460,11 @@ func (c *MockChainClient) FetchChainSubaccountPositions(ctx context.Context, sub return &exchangetypes.QuerySubaccountPositionsResponse{}, nil } -func (c *MockChainClient) FetchChainSubaccountPositionInMarket(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QuerySubaccountPositionInMarketResponse, error) { +func (c *MockChainClient) FetchChainSubaccountPositionInMarket(ctx context.Context, subaccountId, marketId string) (*exchangetypes.QuerySubaccountPositionInMarketResponse, error) { return &exchangetypes.QuerySubaccountPositionInMarketResponse{}, nil } -func (c *MockChainClient) FetchChainSubaccountEffectivePositionInMarket(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QuerySubaccountEffectivePositionInMarketResponse, error) { +func (c *MockChainClient) FetchChainSubaccountEffectivePositionInMarket(ctx context.Context, subaccountId, marketId string) (*exchangetypes.QuerySubaccountEffectivePositionInMarketResponse, error) { return &exchangetypes.QuerySubaccountEffectivePositionInMarketResponse{}, nil } @@ -544,7 +544,7 @@ func (c *MockChainClient) FetchChainBinaryOptionsMarkets(ctx context.Context, st return &exchangetypes.QueryBinaryMarketsResponse{}, nil } -func (c *MockChainClient) FetchTraderDerivativeConditionalOrders(ctx context.Context, subaccountId string, marketId string) (*exchangetypes.QueryTraderDerivativeConditionalOrdersResponse, error) { +func (c *MockChainClient) FetchTraderDerivativeConditionalOrders(ctx context.Context, subaccountId, marketId string) (*exchangetypes.QueryTraderDerivativeConditionalOrdersResponse, error) { return &exchangetypes.QueryTraderDerivativeConditionalOrdersResponse{}, nil } @@ -595,7 +595,7 @@ func (c *MockChainClient) FetchDenomHash(ctx context.Context, trace string) (*ib return &ibctransfertypes.QueryDenomHashResponse{}, nil } -func (c *MockChainClient) FetchEscrowAddress(ctx context.Context, portId string, channelId string) (*ibctransfertypes.QueryEscrowAddressResponse, error) { +func (c *MockChainClient) FetchEscrowAddress(ctx context.Context, portId, channelId string) (*ibctransfertypes.QueryEscrowAddressResponse, error) { return &ibctransfertypes.QueryEscrowAddressResponse{}, nil } @@ -604,7 +604,7 @@ func (c *MockChainClient) FetchTotalEscrowForDenom(ctx context.Context, denom st } // IBC Core Channel module -func (c *MockChainClient) FetchIBCChannel(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryChannelResponse, error) { +func (c *MockChainClient) FetchIBCChannel(ctx context.Context, portId, channelId string) (*ibcchanneltypes.QueryChannelResponse, error) { return &ibcchanneltypes.QueryChannelResponse{}, nil } @@ -616,43 +616,43 @@ func (c *MockChainClient) FetchIBCConnectionChannels(ctx context.Context, connec return &ibcchanneltypes.QueryConnectionChannelsResponse{}, nil } -func (c *MockChainClient) FetchIBCChannelClientState(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryChannelClientStateResponse, error) { +func (c *MockChainClient) FetchIBCChannelClientState(ctx context.Context, portId, channelId string) (*ibcchanneltypes.QueryChannelClientStateResponse, error) { return &ibcchanneltypes.QueryChannelClientStateResponse{}, nil } -func (c *MockChainClient) FetchIBCChannelConsensusState(ctx context.Context, portId string, channelId string, revisionNumber uint64, revisionHeight uint64) (*ibcchanneltypes.QueryChannelConsensusStateResponse, error) { +func (c *MockChainClient) FetchIBCChannelConsensusState(ctx context.Context, portId, channelId string, revisionNumber, revisionHeight uint64) (*ibcchanneltypes.QueryChannelConsensusStateResponse, error) { return &ibcchanneltypes.QueryChannelConsensusStateResponse{}, nil } -func (c *MockChainClient) FetchIBCPacketCommitment(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketCommitmentResponse, error) { +func (c *MockChainClient) FetchIBCPacketCommitment(ctx context.Context, portId, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketCommitmentResponse, error) { return &ibcchanneltypes.QueryPacketCommitmentResponse{}, nil } -func (c *MockChainClient) FetchIBCPacketCommitments(ctx context.Context, portId string, channelId string, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketCommitmentsResponse, error) { +func (c *MockChainClient) FetchIBCPacketCommitments(ctx context.Context, portId, channelId string, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketCommitmentsResponse, error) { return &ibcchanneltypes.QueryPacketCommitmentsResponse{}, nil } -func (c *MockChainClient) FetchIBCPacketReceipt(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketReceiptResponse, error) { +func (c *MockChainClient) FetchIBCPacketReceipt(ctx context.Context, portId, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketReceiptResponse, error) { return &ibcchanneltypes.QueryPacketReceiptResponse{}, nil } -func (c *MockChainClient) FetchIBCPacketAcknowledgement(ctx context.Context, portId string, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketAcknowledgementResponse, error) { +func (c *MockChainClient) FetchIBCPacketAcknowledgement(ctx context.Context, portId, channelId string, sequence uint64) (*ibcchanneltypes.QueryPacketAcknowledgementResponse, error) { return &ibcchanneltypes.QueryPacketAcknowledgementResponse{}, nil } -func (c *MockChainClient) FetchIBCPacketAcknowledgements(ctx context.Context, portId string, channelId string, packetCommitmentSequences []uint64, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketAcknowledgementsResponse, error) { +func (c *MockChainClient) FetchIBCPacketAcknowledgements(ctx context.Context, portId, channelId string, packetCommitmentSequences []uint64, pagination *query.PageRequest) (*ibcchanneltypes.QueryPacketAcknowledgementsResponse, error) { return &ibcchanneltypes.QueryPacketAcknowledgementsResponse{}, nil } -func (c *MockChainClient) FetchIBCUnreceivedPackets(ctx context.Context, portId string, channelId string, packetCommitmentSequences []uint64) (*ibcchanneltypes.QueryUnreceivedPacketsResponse, error) { +func (c *MockChainClient) FetchIBCUnreceivedPackets(ctx context.Context, portId, channelId string, packetCommitmentSequences []uint64) (*ibcchanneltypes.QueryUnreceivedPacketsResponse, error) { return &ibcchanneltypes.QueryUnreceivedPacketsResponse{}, nil } -func (c *MockChainClient) FetchIBCUnreceivedAcks(ctx context.Context, portId string, channelId string, packetAckSequences []uint64) (*ibcchanneltypes.QueryUnreceivedAcksResponse, error) { +func (c *MockChainClient) FetchIBCUnreceivedAcks(ctx context.Context, portId, channelId string, packetAckSequences []uint64) (*ibcchanneltypes.QueryUnreceivedAcksResponse, error) { return &ibcchanneltypes.QueryUnreceivedAcksResponse{}, nil } -func (c *MockChainClient) FetchIBCNextSequenceReceive(ctx context.Context, portId string, channelId string) (*ibcchanneltypes.QueryNextSequenceReceiveResponse, error) { +func (c *MockChainClient) FetchIBCNextSequenceReceive(ctx context.Context, portId, channelId string) (*ibcchanneltypes.QueryNextSequenceReceiveResponse, error) { return &ibcchanneltypes.QueryNextSequenceReceiveResponse{}, nil } @@ -665,7 +665,7 @@ func (c *MockChainClient) FetchIBCClientStates(ctx context.Context, pagination * return &ibcclienttypes.QueryClientStatesResponse{}, nil } -func (c *MockChainClient) FetchIBCConsensusState(ctx context.Context, clientId string, revisionNumber uint64, revisionHeight uint64, latestHeight bool) (*ibcclienttypes.QueryConsensusStateResponse, error) { +func (c *MockChainClient) FetchIBCConsensusState(ctx context.Context, clientId string, revisionNumber, revisionHeight uint64, latestHeight bool) (*ibcclienttypes.QueryConsensusStateResponse, error) { return &ibcclienttypes.QueryConsensusStateResponse{}, nil } @@ -710,7 +710,7 @@ func (c *MockChainClient) FetchIBCConnectionClientState(ctx context.Context, con return &ibcconnectiontypes.QueryConnectionClientStateResponse{}, nil } -func (c *MockChainClient) FetchIBCConnectionConsensusState(ctx context.Context, connectionId string, revisionNumber uint64, revisionHeight uint64) (*ibcconnectiontypes.QueryConnectionConsensusStateResponse, error) { +func (c *MockChainClient) FetchIBCConnectionConsensusState(ctx context.Context, connectionId string, revisionNumber, revisionHeight uint64) (*ibcconnectiontypes.QueryConnectionConsensusStateResponse, error) { return &ibcconnectiontypes.QueryConnectionConsensusStateResponse{}, nil } diff --git a/client/chain/keys.go b/client/chain/keys.go index f23a380b..f9a97aa2 100644 --- a/client/chain/keys.go +++ b/client/chain/keys.go @@ -48,7 +48,7 @@ func InitCosmosKeyring( return emptyCosmosAddress, nil, err } - // Specfic to Injective chain with Ethermint keys + // Specific to Injective chain with Ethermint keys // Should be secp256k1.PrivKey for generic Cosmos chain cosmosAccPk := ðsecp256k1.PrivKey{ Key: pkBytes, @@ -72,7 +72,7 @@ func InitCosmosKeyring( } } - if len(keyName) == 0 { + if keyName == "" { keyName = defaultKeyringKeyName } diff --git a/client/chain/markets_assistant.go b/client/chain/markets_assistant.go index 5db6ae8a..cacf5b15 100644 --- a/client/chain/markets_assistant.go +++ b/client/chain/markets_assistant.go @@ -121,22 +121,20 @@ func NewMarketsAssistant(networkName string) (MarketsAssistant, error) { assistant.derivativeMarkets[market.Id] = market } - } else { - if sectionName != "DEFAULT" { - tokenDecimals, _ := section.Key("decimals").Int() - newToken := core.Token{ - Name: sectionName, - Symbol: sectionName, - Denom: section.Key("peggy_denom").String(), - Address: "", - Decimals: int32(tokenDecimals), - Logo: "", - Updated: -1, - } - - assistant.tokensByDenom[newToken.Denom] = newToken - assistant.tokensBySymbol[newToken.Symbol] = newToken + } else if sectionName != "DEFAULT" { + tokenDecimals, _ := section.Key("decimals").Int() + newToken := core.Token{ + Name: sectionName, + Symbol: sectionName, + Denom: section.Key("peggy_denom").String(), + Address: "", + Decimals: int32(tokenDecimals), + Logo: "", + Updated: -1, } + + assistant.tokensByDenom[newToken.Denom] = newToken + assistant.tokensBySymbol[newToken.Symbol] = newToken } } } @@ -170,40 +168,42 @@ func NewMarketsAssistantInitializedFromChain(ctx context.Context, exchangeClient } for _, marketInfo := range spotMarkets.GetMarkets() { - if len(marketInfo.GetBaseTokenMeta().GetSymbol()) > 0 && len(marketInfo.GetQuoteTokenMeta().GetSymbol()) > 0 { - var baseTokenSymbol, quoteTokenSymbol string - if strings.Contains(marketInfo.GetTicker(), "/") { - baseAndQuote := strings.Split(marketInfo.GetTicker(), "/") - baseTokenSymbol, quoteTokenSymbol = baseAndQuote[0], baseAndQuote[1] - } else { - baseTokenSymbol = marketInfo.GetBaseTokenMeta().GetSymbol() - quoteTokenSymbol = marketInfo.GetQuoteTokenMeta().GetSymbol() - } + if marketInfo.GetBaseTokenMeta().GetSymbol() == "" || marketInfo.GetQuoteTokenMeta().GetSymbol() == "" { + continue + } - baseToken := tokenRepresentation(baseTokenSymbol, marketInfo.GetBaseTokenMeta(), marketInfo.GetBaseDenom(), &assistant) - quoteToken := tokenRepresentation(quoteTokenSymbol, marketInfo.GetQuoteTokenMeta(), marketInfo.GetQuoteDenom(), &assistant) - - makerFeeRate := decimal.RequireFromString(marketInfo.GetMakerFeeRate()) - takerFeeRate := decimal.RequireFromString(marketInfo.GetTakerFeeRate()) - serviceProviderFee := decimal.RequireFromString(marketInfo.GetServiceProviderFee()) - minPriceTickSize := decimal.RequireFromString(marketInfo.GetMinPriceTickSize()) - minQuantityTickSize := decimal.RequireFromString(marketInfo.GetMinQuantityTickSize()) - - market := core.SpotMarket{ - Id: marketInfo.GetMarketId(), - Status: marketInfo.GetMarketStatus(), - Ticker: marketInfo.GetTicker(), - BaseToken: baseToken, - QuoteToken: quoteToken, - MakerFeeRate: makerFeeRate, - TakerFeeRate: takerFeeRate, - ServiceProviderFee: serviceProviderFee, - MinPriceTickSize: minPriceTickSize, - MinQuantityTickSize: minQuantityTickSize, - } + var baseTokenSymbol, quoteTokenSymbol string + if strings.Contains(marketInfo.GetTicker(), "/") { + baseAndQuote := strings.Split(marketInfo.GetTicker(), "/") + baseTokenSymbol, quoteTokenSymbol = baseAndQuote[0], baseAndQuote[1] + } else { + baseTokenSymbol = marketInfo.GetBaseTokenMeta().GetSymbol() + quoteTokenSymbol = marketInfo.GetQuoteTokenMeta().GetSymbol() + } - assistant.spotMarkets[market.Id] = market + baseToken := tokenRepresentation(baseTokenSymbol, marketInfo.GetBaseTokenMeta(), marketInfo.GetBaseDenom(), &assistant) + quoteToken := tokenRepresentation(quoteTokenSymbol, marketInfo.GetQuoteTokenMeta(), marketInfo.GetQuoteDenom(), &assistant) + + makerFeeRate := decimal.RequireFromString(marketInfo.GetMakerFeeRate()) + takerFeeRate := decimal.RequireFromString(marketInfo.GetTakerFeeRate()) + serviceProviderFee := decimal.RequireFromString(marketInfo.GetServiceProviderFee()) + minPriceTickSize := decimal.RequireFromString(marketInfo.GetMinPriceTickSize()) + minQuantityTickSize := decimal.RequireFromString(marketInfo.GetMinQuantityTickSize()) + + market := core.SpotMarket{ + Id: marketInfo.GetMarketId(), + Status: marketInfo.GetMarketStatus(), + Ticker: marketInfo.GetTicker(), + BaseToken: baseToken, + QuoteToken: quoteToken, + MakerFeeRate: makerFeeRate, + TakerFeeRate: takerFeeRate, + ServiceProviderFee: serviceProviderFee, + MinPriceTickSize: minPriceTickSize, + MinQuantityTickSize: minQuantityTickSize, } + + assistant.spotMarkets[market.Id] = market } derivativeMarketsRequest := derivativeExchangePB.MarketsRequest{ @@ -216,39 +216,41 @@ func NewMarketsAssistantInitializedFromChain(ctx context.Context, exchangeClient } for _, marketInfo := range derivativeMarkets.GetMarkets() { - if len(marketInfo.GetQuoteTokenMeta().GetSymbol()) > 0 { - quoteTokenSymbol := marketInfo.GetQuoteTokenMeta().GetSymbol() - - quoteToken := tokenRepresentation(quoteTokenSymbol, marketInfo.GetQuoteTokenMeta(), marketInfo.GetQuoteDenom(), &assistant) - - initialMarginRatio := decimal.RequireFromString(marketInfo.GetInitialMarginRatio()) - maintenanceMarginRatio := decimal.RequireFromString(marketInfo.GetMaintenanceMarginRatio()) - makerFeeRate := decimal.RequireFromString(marketInfo.GetMakerFeeRate()) - takerFeeRate := decimal.RequireFromString(marketInfo.GetTakerFeeRate()) - serviceProviderFee := decimal.RequireFromString(marketInfo.GetServiceProviderFee()) - minPriceTickSize := decimal.RequireFromString(marketInfo.GetMinPriceTickSize()) - minQuantityTickSize := decimal.RequireFromString(marketInfo.GetMinQuantityTickSize()) - - market := core.DerivativeMarket{ - Id: marketInfo.GetMarketId(), - Status: marketInfo.GetMarketStatus(), - Ticker: marketInfo.GetTicker(), - OracleBase: marketInfo.GetOracleBase(), - OracleQuote: marketInfo.GetOracleQuote(), - OracleType: marketInfo.GetOracleType(), - OracleScaleFactor: marketInfo.GetOracleScaleFactor(), - InitialMarginRatio: initialMarginRatio, - MaintenanceMarginRatio: maintenanceMarginRatio, - QuoteToken: quoteToken, - MakerFeeRate: makerFeeRate, - TakerFeeRate: takerFeeRate, - ServiceProviderFee: serviceProviderFee, - MinPriceTickSize: minPriceTickSize, - MinQuantityTickSize: minQuantityTickSize, - } + if marketInfo.GetQuoteTokenMeta().GetSymbol() == "" { + continue + } - assistant.derivativeMarkets[market.Id] = market + quoteTokenSymbol := marketInfo.GetQuoteTokenMeta().GetSymbol() + + quoteToken := tokenRepresentation(quoteTokenSymbol, marketInfo.GetQuoteTokenMeta(), marketInfo.GetQuoteDenom(), &assistant) + + initialMarginRatio := decimal.RequireFromString(marketInfo.GetInitialMarginRatio()) + maintenanceMarginRatio := decimal.RequireFromString(marketInfo.GetMaintenanceMarginRatio()) + makerFeeRate := decimal.RequireFromString(marketInfo.GetMakerFeeRate()) + takerFeeRate := decimal.RequireFromString(marketInfo.GetTakerFeeRate()) + serviceProviderFee := decimal.RequireFromString(marketInfo.GetServiceProviderFee()) + minPriceTickSize := decimal.RequireFromString(marketInfo.GetMinPriceTickSize()) + minQuantityTickSize := decimal.RequireFromString(marketInfo.GetMinQuantityTickSize()) + + market := core.DerivativeMarket{ + Id: marketInfo.GetMarketId(), + Status: marketInfo.GetMarketStatus(), + Ticker: marketInfo.GetTicker(), + OracleBase: marketInfo.GetOracleBase(), + OracleQuote: marketInfo.GetOracleQuote(), + OracleType: marketInfo.GetOracleType(), + OracleScaleFactor: marketInfo.GetOracleScaleFactor(), + InitialMarginRatio: initialMarginRatio, + MaintenanceMarginRatio: maintenanceMarginRatio, + QuoteToken: quoteToken, + MakerFeeRate: makerFeeRate, + TakerFeeRate: takerFeeRate, + ServiceProviderFee: serviceProviderFee, + MinPriceTickSize: minPriceTickSize, + MinQuantityTickSize: minQuantityTickSize, } + + assistant.derivativeMarkets[market.Id] = market } return assistant, nil @@ -265,7 +267,7 @@ func NewMarketsAssistantWithAllTokens(ctx context.Context, exchangeClient exchan return assistant, nil } -func uniqueSymbol(symbol string, denom string, tokenMetaSymbol string, tokenMetaName string, assistant MarketsAssistant) string { +func uniqueSymbol(symbol, denom, tokenMetaSymbol, tokenMetaName string, assistant MarketsAssistant) string { uniqueSymbol := denom _, isSymbolPresent := assistant.tokensBySymbol[symbol] if isSymbolPresent { @@ -340,7 +342,8 @@ func (assistant MarketsAssistant) initializeTokensFromChainDenoms(ctx context.Co denomsMetadata = append(denomsMetadata, result.GetMetadatas()...) } - for _, denomMetadata := range denomsMetadata { + for i := range denomsMetadata { + denomMetadata := denomsMetadata[i] symbol := denomMetadata.GetSymbol() denom := denomMetadata.GetBase() diff --git a/client/common/api_request_assistant.go b/client/common/api_request_assistant.go index eaafb110..1dd4acee 100644 --- a/client/common/api_request_assistant.go +++ b/client/common/api_request_assistant.go @@ -7,10 +7,10 @@ import ( "google.golang.org/grpc/metadata" ) -type ApiCall[Q any, R any] func(ctx context.Context, in *Q, opts ...grpc.CallOption) (*R, error) -type ApiStreamCall[Q any, S grpc.ClientStream] func(ctx context.Context, in *Q, opts ...grpc.CallOption) (S, error) +type APICall[Q any, R any] func(ctx context.Context, in *Q, opts ...grpc.CallOption) (*R, error) +type APIStreamCall[Q any, S grpc.ClientStream] func(ctx context.Context, in *Q, opts ...grpc.CallOption) (S, error) -func ExecuteCall[Q any, R any](ctx context.Context, cookieAssistant CookieAssistant, call ApiCall[Q, R], in *Q) (*R, error) { +func ExecuteCall[Q any, R any](ctx context.Context, cookieAssistant CookieAssistant, call APICall[Q, R], in *Q) (*R, error) { var header metadata.MD localCtx := metadata.NewOutgoingContext(ctx, cookieAssistant.RealMetadata()) @@ -21,7 +21,7 @@ func ExecuteCall[Q any, R any](ctx context.Context, cookieAssistant CookieAssist return response, err } -func ExecuteStreamCall[Q any, S grpc.ClientStream](ctx context.Context, cookieAssistant CookieAssistant, call ApiStreamCall[Q, S], in *Q) (S, error) { +func ExecuteStreamCall[Q any, S grpc.ClientStream](ctx context.Context, cookieAssistant CookieAssistant, call APIStreamCall[Q, S], in *Q) (S, error) { localCtx := metadata.NewOutgoingContext(ctx, cookieAssistant.RealMetadata()) stream, callError := call(localCtx, in) diff --git a/client/common/network.go b/client/common/network.go index 7640a335..e051a841 100644 --- a/client/common/network.go +++ b/client/common/network.go @@ -66,7 +66,7 @@ func (assistant *ExpiringCookieAssistant) initializeCookie(provider MetadataProv } func (assistant *ExpiringCookieAssistant) checkCookieExpiration() { - //borrow http request to parse cookie + // borrow http request to parse cookie header := http.Header{} header.Add("Cookie", assistant.cookie) request := http.Request{Header: header} @@ -190,11 +190,11 @@ type Network struct { TmEndpoint string ChainGrpcEndpoint string ChainStreamGrpcEndpoint string - ChainTlsCert credentials.TransportCredentials + ChainTLSCert credentials.TransportCredentials ExchangeGrpcEndpoint string ExplorerGrpcEndpoint string - ExchangeTlsCert credentials.TransportCredentials - ExplorerTlsCert credentials.TransportCredentials + ExchangeTLSCert credentials.TransportCredentials + ExplorerTLSCert credentials.TransportCredentials ChainId string FeeDenom string Name string @@ -204,7 +204,7 @@ type Network struct { OfficialTokensListUrl string } -func LoadNetwork(name string, node string) Network { +func LoadNetwork(name, node string) Network { switch name { case "local": @@ -263,7 +263,7 @@ func LoadNetwork(name string, node string) Network { } var lcdEndpoint, tmEndpoint, chainGrpcEndpoint, chainStreamGrpcEndpoint, exchangeGrpcEndpoint, explorerGrpcEndpoint string - var chainTlsCert, exchangeTlsCert, explorerTlsCert credentials.TransportCredentials + var chainTLSCert, exchangeTLSCert, explorerTLSCert credentials.TransportCredentials var chainCookieAssistant, exchangeCookieAssistant, explorerCookieAssistant CookieAssistant if node == "lb" { lcdEndpoint = "https://testnet.sentry.lcd.injective.network:443" @@ -272,9 +272,9 @@ func LoadNetwork(name string, node string) Network { chainStreamGrpcEndpoint = "testnet.sentry.chain.stream.injective.network:443" exchangeGrpcEndpoint = "testnet.sentry.exchange.grpc.injective.network:443" explorerGrpcEndpoint = "testnet.sentry.explorer.grpc.injective.network:443" - chainTlsCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - exchangeTlsCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - explorerTlsCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) chainCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} exchangeCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} explorerCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} @@ -285,9 +285,9 @@ func LoadNetwork(name string, node string) Network { chainStreamGrpcEndpoint = "testnet.chain.stream.injective.network:443" exchangeGrpcEndpoint = "testnet.exchange.grpc.injective.network:443" explorerGrpcEndpoint = "testnet.explorer.grpc.injective.network:443" - chainTlsCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - exchangeTlsCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - explorerTlsCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) chainCookieAssistant = &DisabledCookieAssistant{} exchangeCookieAssistant = &DisabledCookieAssistant{} explorerCookieAssistant = &DisabledCookieAssistant{} @@ -298,11 +298,11 @@ func LoadNetwork(name string, node string) Network { TmEndpoint: tmEndpoint, ChainGrpcEndpoint: chainGrpcEndpoint, ChainStreamGrpcEndpoint: chainStreamGrpcEndpoint, - ChainTlsCert: chainTlsCert, + ChainTLSCert: chainTLSCert, ExchangeGrpcEndpoint: exchangeGrpcEndpoint, - ExchangeTlsCert: exchangeTlsCert, + ExchangeTLSCert: exchangeTLSCert, ExplorerGrpcEndpoint: explorerGrpcEndpoint, - ExplorerTlsCert: explorerTlsCert, + ExplorerTLSCert: explorerTLSCert, ChainId: "injective-888", FeeDenom: "inj", Name: "testnet", @@ -317,7 +317,7 @@ func LoadNetwork(name string, node string) Network { panic(fmt.Sprintf("invalid node %s for %s", node, name)) } var lcdEndpoint, tmEndpoint, chainGrpcEndpoint, chainStreamGrpcEndpoint, exchangeGrpcEndpoint, explorerGrpcEndpoint string - var chainTlsCert, exchangeTlsCert, explorerTlsCert credentials.TransportCredentials + var chainTLSCert, exchangeTLSCert, explorerTLSCert credentials.TransportCredentials var chainCookieAssistant, exchangeCookieAssistant, explorerCookieAssistant CookieAssistant lcdEndpoint = "https://sentry.lcd.injective.network" @@ -326,9 +326,9 @@ func LoadNetwork(name string, node string) Network { chainStreamGrpcEndpoint = "sentry.chain.stream.injective.network:443" exchangeGrpcEndpoint = "sentry.exchange.grpc.injective.network:443" explorerGrpcEndpoint = "sentry.explorer.grpc.injective.network:443" - chainTlsCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - exchangeTlsCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - explorerTlsCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) chainCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} exchangeCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} explorerCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} @@ -338,11 +338,11 @@ func LoadNetwork(name string, node string) Network { TmEndpoint: tmEndpoint, ChainGrpcEndpoint: chainGrpcEndpoint, ChainStreamGrpcEndpoint: chainStreamGrpcEndpoint, - ChainTlsCert: chainTlsCert, + ChainTLSCert: chainTLSCert, ExchangeGrpcEndpoint: exchangeGrpcEndpoint, - ExchangeTlsCert: exchangeTlsCert, + ExchangeTLSCert: exchangeTLSCert, ExplorerGrpcEndpoint: explorerGrpcEndpoint, - ExplorerTlsCert: explorerTlsCert, + ExplorerTLSCert: explorerTLSCert, ChainId: "injective-1", FeeDenom: "inj", Name: "mainnet", @@ -392,8 +392,8 @@ func Connect(protoAddr string) (net.Conn, error) { // ProtocolAndAddress splits an address into the protocol and address components. // For instance, "tcp://127.0.0.1:8080" will be split into "tcp" and "127.0.0.1:8080". // If the address has no protocol prefix, the default is "tcp". -func ProtocolAndAddress(listenAddr string) (string, string) { - protocol, address := "tcp", listenAddr +func ProtocolAndAddress(listenAddr string) (protocol, address string) { + protocol, address = "tcp", listenAddr parts := strings.SplitN(address, "://", 2) if len(parts) == 2 { protocol, address = parts[0], parts[1] diff --git a/client/common/options.go b/client/common/options.go index a4050947..17526a59 100644 --- a/client/common/options.go +++ b/client/common/options.go @@ -51,7 +51,7 @@ func OptionTLSCert(tlsCert credentials.TransportCredentials) ClientOption { if tlsCert == nil { log.Infoln("client does not use grpc secure transport") } else { - log.Infoln("succesfully load server TLS cert") + log.Infoln("successfully load server TLS cert") } opts.TLSCert = tlsCert return nil diff --git a/client/common/util.go b/client/common/util.go index 7254ea51..80416fcb 100644 --- a/client/common/util.go +++ b/client/common/util.go @@ -25,7 +25,7 @@ func HexToBytes(str string) ([]byte, error) { return data, nil } -func LoadTlsCert(path string, serverName string) credentials.TransportCredentials { +func LoadTLSCert(path, serverName string) credentials.TransportCredentials { if path == "" { return nil } @@ -43,6 +43,7 @@ func LoadTlsCert(path string, serverName string) credentials.TransportCredential } // get domain from tcp://domain:port domain := strings.Split(serverName, ":")[1][2:] + // nolint:gosec // we ignore the MinVersion validation because it's not a security issue config := &tls.Config{ RootCAs: certPool, ServerName: domain, diff --git a/client/core/market.go b/client/core/market.go index df2151c6..3e6c273b 100644 --- a/client/core/market.go +++ b/client/core/market.go @@ -99,7 +99,7 @@ func (derivativeMarket DerivativeMarket) MarginToChainFormat(humanReadableValue return valueInChainFormat } -func (derivativeMarket DerivativeMarket) CalculateMarginInChainFormat(humanReadableQuantity decimal.Decimal, humanReadablePrice decimal.Decimal, leverage decimal.Decimal) sdkmath.LegacyDec { +func (derivativeMarket DerivativeMarket) CalculateMarginInChainFormat(humanReadableQuantity, humanReadablePrice, leverage decimal.Decimal) sdkmath.LegacyDec { chainFormattedQuantity := humanReadableQuantity chainFormattedPrice := humanReadablePrice.Mul(decimal.New(1, derivativeMarket.QuoteToken.Decimals)) diff --git a/client/core/market_test.go b/client/core/market_test.go index 64a58679..733b8be8 100644 --- a/client/core/market_test.go +++ b/client/core/market_test.go @@ -134,7 +134,7 @@ func TestConvertPriceFromExtendedChainFormatForSpotMarket(t *testing.T) { assert.Assert(t, expectedPrice.Equal(humanReadablePrice)) } -//Derivative markets tests +// Derivative markets tests func TestConvertQuantityToChainFormatForDerivativeMarket(t *testing.T) { derivativeMarket := createBTCUSDTPerpMarket() diff --git a/client/exchange/exchange.go b/client/exchange/exchange.go index a46c123b..3ca077fb 100644 --- a/client/exchange/exchange.go +++ b/client/exchange/exchange.go @@ -97,8 +97,8 @@ type ExchangeClient interface { func NewExchangeClient(network common.Network, options ...common.ClientOption) (ExchangeClient, error) { // process options opts := common.DefaultClientOptions() - if network.ChainTlsCert != nil { - options = append(options, common.OptionTLSCert(network.ExchangeTlsCert)) + if network.ChainTLSCert != nil { + options = append(options, common.OptionTLSCert(network.ExchangeTLSCert)) } for _, opt := range options { if err := opt(opts); err != nil { @@ -433,7 +433,7 @@ func (c *exchangeClient) GetDerivativeFundingRates(ctx context.Context, req *der // Oracle RPC -func (c *exchangeClient) GetPrice(ctx context.Context, baseSymbol string, quoteSymbol string, oracleType string, oracleScaleFactor uint32) (*oraclePB.PriceResponse, error) { +func (c *exchangeClient) GetPrice(ctx context.Context, baseSymbol, quoteSymbol, oracleType string, oracleScaleFactor uint32) (*oraclePB.PriceResponse, error) { req := oraclePB.PriceRequest{ BaseSymbol: baseSymbol, QuoteSymbol: quoteSymbol, @@ -463,7 +463,7 @@ func (c *exchangeClient) GetOracleList(ctx context.Context) (*oraclePB.OracleLis return res, nil } -func (c *exchangeClient) StreamPrices(ctx context.Context, baseSymbol string, quoteSymbol string, oracleType string) (oraclePB.InjectiveOracleRPC_StreamPricesClient, error) { +func (c *exchangeClient) StreamPrices(ctx context.Context, baseSymbol, quoteSymbol, oracleType string) (oraclePB.InjectiveOracleRPC_StreamPricesClient, error) { req := oraclePB.StreamPricesRequest{ BaseSymbol: baseSymbol, QuoteSymbol: quoteSymbol, @@ -538,7 +538,7 @@ func (c *exchangeClient) GetSubaccountsList(ctx context.Context, accountAddress return res, nil } -func (c *exchangeClient) GetSubaccountBalance(ctx context.Context, subaccountId string, denom string) (*accountPB.SubaccountBalanceEndpointResponse, error) { +func (c *exchangeClient) GetSubaccountBalance(ctx context.Context, subaccountId, denom string) (*accountPB.SubaccountBalanceEndpointResponse, error) { req := accountPB.SubaccountBalanceEndpointRequest{ SubaccountId: subaccountId, Denom: denom, @@ -946,7 +946,7 @@ func (c *exchangeClient) GetAccountPortfolioBalances(ctx context.Context, accoun return res, nil } -func (c *exchangeClient) StreamAccountPortfolio(ctx context.Context, accountAddress string, subaccountId, balanceType string) (portfolioExchangePB.InjectivePortfolioRPC_StreamAccountPortfolioClient, error) { +func (c *exchangeClient) StreamAccountPortfolio(ctx context.Context, accountAddress, subaccountId, balanceType string) (portfolioExchangePB.InjectivePortfolioRPC_StreamAccountPortfolioClient, error) { req := &portfolioExchangePB.StreamAccountPortfolioRequest{ AccountAddress: accountAddress, SubaccountId: subaccountId, diff --git a/client/exchange/exchange_test_support.go b/client/exchange/exchange_test_support.go index 9c28bd32..3553f498 100644 --- a/client/exchange/exchange_test_support.go +++ b/client/exchange/exchange_test_support.go @@ -131,7 +131,7 @@ func (e *MockExchangeClient) GetDerivativeFundingRates(ctx context.Context, req return &derivativeExchangePB.FundingRatesResponse{}, nil } -func (e *MockExchangeClient) GetPrice(ctx context.Context, baseSymbol string, quoteSymbol string, oracleType string, oracleScaleFactor uint32) (*oraclePB.PriceResponse, error) { +func (e *MockExchangeClient) GetPrice(ctx context.Context, baseSymbol, quoteSymbol, oracleType string, oracleScaleFactor uint32) (*oraclePB.PriceResponse, error) { return &oraclePB.PriceResponse{}, nil } @@ -139,7 +139,7 @@ func (e *MockExchangeClient) GetOracleList(ctx context.Context) (*oraclePB.Oracl return &oraclePB.OracleListResponse{}, nil } -func (e *MockExchangeClient) StreamPrices(ctx context.Context, baseSymbol string, quoteSymbol string, oracleType string) (oraclePB.InjectiveOracleRPC_StreamPricesClient, error) { +func (e *MockExchangeClient) StreamPrices(ctx context.Context, baseSymbol, quoteSymbol, oracleType string) (oraclePB.InjectiveOracleRPC_StreamPricesClient, error) { return nil, nil } @@ -159,7 +159,7 @@ func (e *MockExchangeClient) GetSubaccountsList(ctx context.Context, accountAddr return &accountPB.SubaccountsListResponse{}, nil } -func (e *MockExchangeClient) GetSubaccountBalance(ctx context.Context, subaccountId string, denom string) (*accountPB.SubaccountBalanceEndpointResponse, error) { +func (e *MockExchangeClient) GetSubaccountBalance(ctx context.Context, subaccountId, denom string) (*accountPB.SubaccountBalanceEndpointResponse, error) { return &accountPB.SubaccountBalanceEndpointResponse{}, nil } @@ -286,7 +286,7 @@ func (e *MockExchangeClient) GetAccountPortfolioBalances(ctx context.Context, ac return &portfolioExchangePB.AccountPortfolioBalancesResponse{}, nil } -func (e *MockExchangeClient) StreamAccountPortfolio(ctx context.Context, accountAddress string, subaccountId, balanceType string) (portfolioExchangePB.InjectivePortfolioRPC_StreamAccountPortfolioClient, error) { +func (e *MockExchangeClient) StreamAccountPortfolio(ctx context.Context, accountAddress, subaccountId, balanceType string) (portfolioExchangePB.InjectivePortfolioRPC_StreamAccountPortfolioClient, error) { return nil, nil } diff --git a/client/explorer/explorer.go b/client/explorer/explorer.go index 02b2290a..2dbe8ce8 100644 --- a/client/explorer/explorer.go +++ b/client/explorer/explorer.go @@ -36,8 +36,8 @@ type ExplorerClient interface { func NewExplorerClient(network common.Network, options ...common.ClientOption) (ExplorerClient, error) { // process options opts := common.DefaultClientOptions() - if network.ChainTlsCert != nil { - options = append(options, common.OptionTLSCert(network.ExchangeTlsCert)) + if network.ChainTLSCert != nil { + options = append(options, common.OptionTLSCert(network.ExchangeTLSCert)) } for _, opt := range options { if err := opt(opts); err != nil { diff --git a/client/metadata/fetch_metadata.go b/client/metadata/fetch_metadata.go index cb4f08b0..5bfa0da2 100644 --- a/client/metadata/fetch_metadata.go +++ b/client/metadata/fetch_metadata.go @@ -9,7 +9,7 @@ import ( exchangeclient "github.com/InjectiveLabs/sdk-go/client/exchange" derivativeExchangePB "github.com/InjectiveLabs/sdk-go/exchange/derivative_exchange_rpc/pb" - //derivativeExchangePB "github.com/InjectiveLabs/sdk-go/exchange/derivative_exchange_rpc/pb" + // derivativeExchangePB "github.com/InjectiveLabs/sdk-go/exchange/derivative_exchange_rpc/pb" "math" "strconv" @@ -81,7 +81,7 @@ func FetchDenom(network common.Network) { metadataOutput += config } - //fetch derivative markets + // fetch derivative markets derivativeMarketsReq := derivativeExchangePB.MarketsRequest{MarketStatus: "active"} derivativeRes, err := exchangeClient.GetDerivativeMarkets(ctx, &derivativeMarketsReq) if err != nil { @@ -128,7 +128,7 @@ func FetchDenom(network common.Network) { } fileName := fmt.Sprintf("client/metadata/assets/%s.ini", network.Name) - err = os.WriteFile(fileName, []byte(metadataOutput), 0644) + err = os.WriteFile(fileName, []byte(metadataOutput), 0600) // nolint:gocritic // 0600 is the correct permission if err != nil { panic(err) } diff --git a/client/tm/tmclient.go b/client/tm/tmclient.go index 420567f6..6b5908c8 100644 --- a/client/tm/tmclient.go +++ b/client/tm/tmclient.go @@ -9,15 +9,14 @@ import ( 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 { - GetBlock(ctx context.Context, height int64) (*tmctypes.ResultBlock, error) + GetBlock(ctx context.Context, height int64) (*ctypes.ResultBlock, error) GetLatestBlockHeight(ctx context.Context) (int64, error) - GetTxs(ctx context.Context, block *tmctypes.ResultBlock) ([]*ctypes.ResultTx, error) + GetTxs(ctx context.Context, block *ctypes.ResultBlock) ([]*ctypes.ResultTx, error) GetBlockResults(ctx context.Context, height int64) (*ctypes.ResultBlockResults, error) - GetValidatorSet(ctx context.Context, height int64) (*tmctypes.ResultValidators, error) + GetValidatorSet(ctx context.Context, height int64) (*ctypes.ResultValidators, error) GetABCIInfo(ctx context.Context) (*ctypes.ResultABCIInfo, error) } @@ -37,7 +36,7 @@ func NewRPCClient(rpcNodeAddr string) TendermintClient { } // GetBlock queries for a block by height. An error is returned if the query fails. -func (c *tmClient) GetBlock(ctx context.Context, height int64) (*tmctypes.ResultBlock, error) { +func (c *tmClient) GetBlock(ctx context.Context, height int64) (*ctypes.ResultBlock, error) { return c.rpcClient.Block(ctx, &height) } @@ -60,7 +59,7 @@ func (c *tmClient) GetLatestBlockHeight(ctx context.Context) (int64, error) { // GetTxs queries for all the transactions in a block height. // It uses `Tx` RPC method to query for the transaction. -func (c *tmClient) GetTxs(ctx context.Context, block *tmctypes.ResultBlock) ([]*ctypes.ResultTx, error) { +func (c *tmClient) GetTxs(ctx context.Context, block *ctypes.ResultBlock) ([]*ctypes.ResultTx, error) { txs := make([]*ctypes.ResultTx, 0, len(block.Block.Txs)) for _, tmTx := range block.Block.Txs { @@ -82,11 +81,11 @@ func (c *tmClient) GetTxs(ctx context.Context, block *tmctypes.ResultBlock) ([]* // GetValidatorSet returns all the known Tendermint validators for a given block // height. An error is returned if the query fails. -func (c *tmClient) GetValidatorSet(ctx context.Context, height int64) (*tmctypes.ResultValidators, error) { +func (c *tmClient) GetValidatorSet(ctx context.Context, height int64) (*ctypes.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) { +func (c *tmClient) GetABCIInfo(ctx context.Context) (*ctypes.ResultABCIInfo, error) { return c.rpcClient.ABCIInfo(ctx) } diff --git a/eip712_cosmos.go b/eip712_cosmos.go index 3f3ad3d5..cc0e645b 100644 --- a/eip712_cosmos.go +++ b/eip712_cosmos.go @@ -194,12 +194,12 @@ func traverseFields( if prefix == typeDefPrefix { if len(typeMap[rootType]) == n { - return + return nil } } else { typeDef := sanitizeTypedef(prefix) if len(typeMap[typeDef]) == n { - return + return nil } } @@ -232,7 +232,7 @@ func traverseFields( err = cdc.UnpackAny(any, &anyWrapper.Value) if err != nil { err = errors.Wrap(err, "failed to unpack Any in msg struct") - return + return err } fieldType = reflect.TypeOf(anyWrapper) @@ -337,7 +337,7 @@ func traverseFields( err = traverseFields(cdc, typeMap, rootType, fieldPrefix, fieldType, field) if err != nil { - return + return err } continue diff --git a/ethereum/util/amounts.go b/ethereum/util/amounts.go index 1435beaa..9535c8cf 100644 --- a/ethereum/util/amounts.go +++ b/ethereum/util/amounts.go @@ -10,16 +10,16 @@ import ( type Wei decimal.Decimal func (w Wei) String() string { - return (decimal.Decimal)(w).String() + return decimal.Decimal(w).String() } func (w Wei) StringGwei() string { - d := (decimal.Decimal)(w).Div(decimal.NewFromFloat(1e9)) + d := decimal.Decimal(w).Div(decimal.NewFromFloat(1e9)) return d.String() } func (w Wei) Bytes() []byte { - return []byte((decimal.Decimal)(w).String()) + return []byte(decimal.Decimal(w).String()) } func (w *Wei) Scan(v interface{}) error { @@ -37,10 +37,10 @@ func (w *Wei) Scan(v interface{}) error { } d, err := decimal.NewFromString(source) if err != nil { - err := fmt.Errorf("failed to parse decimal.Decimal from %s, error: %v", source, err) + err := fmt.Errorf("failed to parse decimal.Decimal from %s, error: %w", source, err) return err } else { - *w = (Wei)(d) + *w = Wei(d) } return nil } @@ -128,7 +128,7 @@ func (w *Wei) Add(amount *Wei) *Wei { return (*Wei)(&result) } -// Sub substracts two amounts and returns a new amount. +// Sub subtracts two amounts and returns a new amount. func (w *Wei) Sub(amount *Wei) *Wei { d1 := (*decimal.Decimal)(w) d2 := (*decimal.Decimal)(amount) diff --git a/ethereum/util/contract.go b/ethereum/util/contract.go index c3c66568..7f83113c 100644 --- a/ethereum/util/contract.go +++ b/ethereum/util/contract.go @@ -41,7 +41,7 @@ func BindContract(client *ethclient.Client, contract *Contract) (*BoundContract, } parsedABI, err := abi.JSON(bytes.NewReader(contract.ABI)) if err != nil { - err = fmt.Errorf("failed to parse contract ABI: %v", err) + err = fmt.Errorf("failed to parse contract ABI: %w", err) return nil, err } bound := &BoundContract{ @@ -87,10 +87,6 @@ func (contract *BoundContract) ABI() abi.ABI { return contract.abi } -func (c *BoundContract) DeployContract(opts *bind.TransactOpts, params ...interface{}) (common.Address, *types.Transaction, error) { - panic("not implemented") -} - func (c *BoundContract) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { if c.transactFn == nil { return c.BoundContract.Transact(opts, method, params...) diff --git a/examples/chain/1_LocalOrderHash/example.go b/examples/chain/1_LocalOrderHash/example.go index b271aaab..a3ba477d 100644 --- a/examples/chain/1_LocalOrderHash/example.go +++ b/examples/chain/1_LocalOrderHash/example.go @@ -119,7 +119,7 @@ func main() { fmt.Println("computed spot order hashes: ", orderHashes.Spot) fmt.Println("computed derivative order hashes: ", orderHashes.Derivative) - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg, msg1) if err != nil { diff --git a/examples/chain/4_MsgBatchCreateSpotLimitOrders/example.go b/examples/chain/4_MsgBatchCreateSpotLimitOrders/example.go index 617617dd..e8911b0c 100644 --- a/examples/chain/4_MsgBatchCreateSpotLimitOrders/example.go +++ b/examples/chain/4_MsgBatchCreateSpotLimitOrders/example.go @@ -112,7 +112,7 @@ func main() { fmt.Println("simulated order hashes", msgBatchCreateSpotLimitOrdersResponse.OrderHashes) - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/5_MsgBatchCreateDerivativeLimitOrders/example.go b/examples/chain/5_MsgBatchCreateDerivativeLimitOrders/example.go index 24830abc..cbd1812c 100644 --- a/examples/chain/5_MsgBatchCreateDerivativeLimitOrders/example.go +++ b/examples/chain/5_MsgBatchCreateDerivativeLimitOrders/example.go @@ -117,7 +117,7 @@ func main() { fmt.Println("simulated order hashes", msgBatchCreateDerivativeLimitOrdersResponse.OrderHashes) - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/6_MsgRegisterAsDMM/example.go b/examples/chain/6_MsgRegisterAsDMM/example.go index ca877e9e..a21f352b 100644 --- a/examples/chain/6_MsgRegisterAsDMM/example.go +++ b/examples/chain/6_MsgRegisterAsDMM/example.go @@ -60,7 +60,7 @@ func main() { Sender: senderAddress.String(), } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/auction/1_MsgBid/example.go b/examples/chain/auction/1_MsgBid/example.go index 0012157c..705b626a 100644 --- a/examples/chain/auction/1_MsgBid/example.go +++ b/examples/chain/auction/1_MsgBid/example.go @@ -68,7 +68,7 @@ func main() { BidAmount: bidAmount, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/authz/1_MsgGrant/example.go b/examples/chain/authz/1_MsgGrant/example.go index 02f5116e..96fad70a 100644 --- a/examples/chain/authz/1_MsgGrant/example.go +++ b/examples/chain/authz/1_MsgGrant/example.go @@ -60,9 +60,9 @@ func main() { grantee := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" expireIn := time.Now().AddDate(1, 0, 0) // years months days - //GENERIC AUTHZ - //msgtype := "/injective.exchange.v1beta1.MsgCreateSpotLimitOrder" - //msg := chainClient.BuildGenericAuthz(granter, grantee, msgtype, expireIn) + // GENERIC AUTHZ + // msgtype := "/injective.exchange.v1beta1.MsgCreateSpotLimitOrder" + // msg := chainClient.BuildGenericAuthz(granter, grantee, msgtype, expireIn) // TYPED AUTHZ msg := chainClient.BuildExchangeAuthz( @@ -74,7 +74,7 @@ func main() { expireIn, ) - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/authz/2_MsgExec/example.go b/examples/chain/authz/2_MsgExec/example.go index 4fd3f7aa..840b4bc9 100644 --- a/examples/chain/authz/2_MsgExec/example.go +++ b/examples/chain/authz/2_MsgExec/example.go @@ -126,7 +126,7 @@ func main() { Msgs: []*codectypes.Any{msg0Any}, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/authz/3_MsgRevoke/example.go b/examples/chain/authz/3_MsgRevoke/example.go index 46bb2f3a..dfdfa8b5 100644 --- a/examples/chain/authz/3_MsgRevoke/example.go +++ b/examples/chain/authz/3_MsgRevoke/example.go @@ -65,7 +65,7 @@ func main() { MsgTypeUrl: msgType, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/bank/1_MsgSend/example.go b/examples/chain/bank/1_MsgSend/example.go index d49591a3..a7a2e737 100644 --- a/examples/chain/bank/1_MsgSend/example.go +++ b/examples/chain/bank/1_MsgSend/example.go @@ -66,7 +66,7 @@ func main() { }, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/bank/2_MsgMultiSend/example.go b/examples/chain/bank/2_MsgMultiSend/example.go index 5bf49241..77c8e0b5 100644 --- a/examples/chain/bank/2_MsgMultiSend/example.go +++ b/examples/chain/bank/2_MsgMultiSend/example.go @@ -92,7 +92,7 @@ func main() { }, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/distribution/1_SetWithdrawAddress/example.go b/examples/chain/distribution/1_SetWithdrawAddress/example.go index 7e0d371c..71ef6fe0 100644 --- a/examples/chain/distribution/1_SetWithdrawAddress/example.go +++ b/examples/chain/distribution/1_SetWithdrawAddress/example.go @@ -63,7 +63,7 @@ func main() { WithdrawAddress: withdrawAddress, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/distribution/2_MsgWithdrawDelegatorReward/example.go b/examples/chain/distribution/2_MsgWithdrawDelegatorReward/example.go index 46eed8cb..e2c7a359 100644 --- a/examples/chain/distribution/2_MsgWithdrawDelegatorReward/example.go +++ b/examples/chain/distribution/2_MsgWithdrawDelegatorReward/example.go @@ -60,7 +60,7 @@ func main() { msg.DelegatorAddress = senderAddress.String() msg.ValidatorAddress = "injvaloper14gy4acwjm96wd20awm9ar6j54lev5p7espy9ug" - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/distribution/3_WithdrawValidatorCommission/example.go b/examples/chain/distribution/3_WithdrawValidatorCommission/example.go index 85efe852..2e90b143 100644 --- a/examples/chain/distribution/3_WithdrawValidatorCommission/example.go +++ b/examples/chain/distribution/3_WithdrawValidatorCommission/example.go @@ -62,7 +62,7 @@ func main() { ValidatorAddress: validatorAddress, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/distribution/4_FundCommunityPool/example.go b/examples/chain/distribution/4_FundCommunityPool/example.go index 9c2c9aeb..9da1b1d7 100644 --- a/examples/chain/distribution/4_FundCommunityPool/example.go +++ b/examples/chain/distribution/4_FundCommunityPool/example.go @@ -64,7 +64,7 @@ func main() { Depositor: senderAddress.String(), } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/10_MsgCreateDerivativeLimitOrder/example.go b/examples/chain/exchange/10_MsgCreateDerivativeLimitOrder/example.go index 13d00928..d8881b1c 100644 --- a/examples/chain/exchange/10_MsgCreateDerivativeLimitOrder/example.go +++ b/examples/chain/exchange/10_MsgCreateDerivativeLimitOrder/example.go @@ -113,7 +113,7 @@ func main() { fmt.Println("simulated order hash", msgCreateDerivativeLimitOrderResponse.OrderHash) - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/11_MsgCreateDerivativeMarketOrder/example.go b/examples/chain/exchange/11_MsgCreateDerivativeMarketOrder/example.go index 26806c33..9e1a8d78 100644 --- a/examples/chain/exchange/11_MsgCreateDerivativeMarketOrder/example.go +++ b/examples/chain/exchange/11_MsgCreateDerivativeMarketOrder/example.go @@ -114,7 +114,7 @@ func main() { fmt.Println("simulated order hash", msgCreateDerivativeMarketOrderResponse.OrderHash) - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/12_MsgCancelDerivativeOrder/example.go b/examples/chain/exchange/12_MsgCancelDerivativeOrder/example.go index dd5972d2..2fb04e91 100644 --- a/examples/chain/exchange/12_MsgCancelDerivativeOrder/example.go +++ b/examples/chain/exchange/12_MsgCancelDerivativeOrder/example.go @@ -64,7 +64,7 @@ func main() { OrderHash: "0x8cf97e586c0d84cd7864ccc8916b886557120d84fc97a21ae193b67882835ec5", } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/13_MsgInstantBinaryOptionsMarketLaunch/example.go b/examples/chain/exchange/13_MsgInstantBinaryOptionsMarketLaunch/example.go index be7b7ddc..475aed44 100644 --- a/examples/chain/exchange/13_MsgInstantBinaryOptionsMarketLaunch/example.go +++ b/examples/chain/exchange/13_MsgInstantBinaryOptionsMarketLaunch/example.go @@ -95,7 +95,7 @@ func main() { MinQuantityTickSize: chainMinQuantityTickSize, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/14_MsgSubaccountTransfer/example.go b/examples/chain/exchange/14_MsgSubaccountTransfer/example.go index d7580995..2bae28c4 100644 --- a/examples/chain/exchange/14_MsgSubaccountTransfer/example.go +++ b/examples/chain/exchange/14_MsgSubaccountTransfer/example.go @@ -66,7 +66,7 @@ func main() { }, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/15_MsgExternalTransfer/example.go b/examples/chain/exchange/15_MsgExternalTransfer/example.go index 4a25192f..3481f248 100644 --- a/examples/chain/exchange/15_MsgExternalTransfer/example.go +++ b/examples/chain/exchange/15_MsgExternalTransfer/example.go @@ -66,7 +66,7 @@ func main() { }, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/16_MsgLiquidatePosition/example.go b/examples/chain/exchange/16_MsgLiquidatePosition/example.go index 8a328d94..4a00f6a8 100644 --- a/examples/chain/exchange/16_MsgLiquidatePosition/example.go +++ b/examples/chain/exchange/16_MsgLiquidatePosition/example.go @@ -100,7 +100,7 @@ func main() { Order: order, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/17_MsgIncreasePositionMargin/example.go b/examples/chain/exchange/17_MsgIncreasePositionMargin/example.go index 578d9243..f27c5904 100644 --- a/examples/chain/exchange/17_MsgIncreasePositionMargin/example.go +++ b/examples/chain/exchange/17_MsgIncreasePositionMargin/example.go @@ -66,7 +66,7 @@ func main() { Amount: cosmtypes.MustNewDecFromStr("100000000"), //100 USDT } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/1_MsgDeposit/example.go b/examples/chain/exchange/1_MsgDeposit/example.go index abf339a4..33c274ce 100644 --- a/examples/chain/exchange/1_MsgDeposit/example.go +++ b/examples/chain/exchange/1_MsgDeposit/example.go @@ -65,7 +65,7 @@ func main() { }, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/21_MsgRewardsOptOut/example.go b/examples/chain/exchange/21_MsgRewardsOptOut/example.go index ca877e9e..a21f352b 100644 --- a/examples/chain/exchange/21_MsgRewardsOptOut/example.go +++ b/examples/chain/exchange/21_MsgRewardsOptOut/example.go @@ -60,7 +60,7 @@ func main() { Sender: senderAddress.String(), } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/2_MsgWithdraw/example.go b/examples/chain/exchange/2_MsgWithdraw/example.go index 8c49c6e5..522fbacf 100644 --- a/examples/chain/exchange/2_MsgWithdraw/example.go +++ b/examples/chain/exchange/2_MsgWithdraw/example.go @@ -65,7 +65,7 @@ func main() { }, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/3_MsgInstantSpotMarketLaunch/example.go b/examples/chain/exchange/3_MsgInstantSpotMarketLaunch/example.go index 2bd6e62a..1b34f23f 100644 --- a/examples/chain/exchange/3_MsgInstantSpotMarketLaunch/example.go +++ b/examples/chain/exchange/3_MsgInstantSpotMarketLaunch/example.go @@ -89,7 +89,7 @@ func main() { MinQuantityTickSize: chainMinQuantityTickSize, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/4_MsgInstantPerpetualMarketLaunch/example.go b/examples/chain/exchange/4_MsgInstantPerpetualMarketLaunch/example.go index 0792a6d2..890c2286 100644 --- a/examples/chain/exchange/4_MsgInstantPerpetualMarketLaunch/example.go +++ b/examples/chain/exchange/4_MsgInstantPerpetualMarketLaunch/example.go @@ -94,7 +94,7 @@ func main() { MinQuantityTickSize: chainMinQuantityTickSize, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/5_MsgInstantExpiryFuturesMarketLaunch/example.go b/examples/chain/exchange/5_MsgInstantExpiryFuturesMarketLaunch/example.go index dac6f76f..e1cba9c9 100644 --- a/examples/chain/exchange/5_MsgInstantExpiryFuturesMarketLaunch/example.go +++ b/examples/chain/exchange/5_MsgInstantExpiryFuturesMarketLaunch/example.go @@ -95,7 +95,7 @@ func main() { MinQuantityTickSize: chainMinQuantityTickSize, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/6_MsgCreateSpotLimitOrder/example.go b/examples/chain/exchange/6_MsgCreateSpotLimitOrder/example.go index 976f8881..3707d502 100644 --- a/examples/chain/exchange/6_MsgCreateSpotLimitOrder/example.go +++ b/examples/chain/exchange/6_MsgCreateSpotLimitOrder/example.go @@ -112,7 +112,7 @@ func main() { fmt.Println("simulated order hash: ", msgCreateSpotLimitOrderResponse.OrderHash) - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/7_MsgCreateSpotMarketOrder/example.go b/examples/chain/exchange/7_MsgCreateSpotMarketOrder/example.go index 6fd3595f..392fbd08 100644 --- a/examples/chain/exchange/7_MsgCreateSpotMarketOrder/example.go +++ b/examples/chain/exchange/7_MsgCreateSpotMarketOrder/example.go @@ -111,7 +111,7 @@ func main() { fmt.Println("simulated order hash", msgCreateSpotMarketOrderResponse.OrderHash) - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/8_MsgCancelSpotOrder/example.go b/examples/chain/exchange/8_MsgCancelSpotOrder/example.go index f42ec5cc..adc9d9a8 100644 --- a/examples/chain/exchange/8_MsgCancelSpotOrder/example.go +++ b/examples/chain/exchange/8_MsgCancelSpotOrder/example.go @@ -64,7 +64,7 @@ func main() { OrderHash: "0xc1dd07efb7cf3a90c3d09da958fa22d96a5787eba3dbec56b63902c482accbd4", } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/exchange/9_MsgBatchUpdateOrders/example.go b/examples/chain/exchange/9_MsgBatchUpdateOrders/example.go index a1aff89d..a292074d 100644 --- a/examples/chain/exchange/9_MsgBatchUpdateOrders/example.go +++ b/examples/chain/exchange/9_MsgBatchUpdateOrders/example.go @@ -137,7 +137,7 @@ func main() { fmt.Println("simulated derivative order hashes", MsgBatchUpdateOrdersResponse.DerivativeOrderHashes) - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/ibc/transfer/1_MsgTransfer/example.go b/examples/chain/ibc/transfer/1_MsgTransfer/example.go index c08689e4..587b0c91 100644 --- a/examples/chain/ibc/transfer/1_MsgTransfer/example.go +++ b/examples/chain/ibc/transfer/1_MsgTransfer/example.go @@ -75,7 +75,7 @@ func main() { TimeoutHeight: timeoutHeight, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/oracle/1_MsgRelayPriceFeedPrice/example.go b/examples/chain/oracle/1_MsgRelayPriceFeedPrice/example.go index 9718d252..f7988a87 100644 --- a/examples/chain/oracle/1_MsgRelayPriceFeedPrice/example.go +++ b/examples/chain/oracle/1_MsgRelayPriceFeedPrice/example.go @@ -68,7 +68,7 @@ func main() { Quote: quote, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/peggy/1_MsgSendToEth/example.go b/examples/chain/peggy/1_MsgSendToEth/example.go index 89623c6b..bee6838b 100644 --- a/examples/chain/peggy/1_MsgSendToEth/example.go +++ b/examples/chain/peggy/1_MsgSendToEth/example.go @@ -73,7 +73,7 @@ func main() { BridgeFee: bridgeFee, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/staking/1_MsgDelegate/example.go b/examples/chain/staking/1_MsgDelegate/example.go index 756a26dd..0ba43c66 100644 --- a/examples/chain/staking/1_MsgDelegate/example.go +++ b/examples/chain/staking/1_MsgDelegate/example.go @@ -64,7 +64,7 @@ func main() { Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg err = chainClient.QueueBroadcastMsg(msg) if err != nil { diff --git a/examples/chain/tokenfactory/1_CreateDenom/example.go b/examples/chain/tokenfactory/1_CreateDenom/example.go index 0ced42bf..6839dca9 100644 --- a/examples/chain/tokenfactory/1_CreateDenom/example.go +++ b/examples/chain/tokenfactory/1_CreateDenom/example.go @@ -60,7 +60,7 @@ func main() { message.Name = "Injective Test Token" message.Symbol = "INJTEST" - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(message) if err != nil { diff --git a/examples/chain/tokenfactory/2_MsgMint/example.go b/examples/chain/tokenfactory/2_MsgMint/example.go index 26a43830..c651e18f 100644 --- a/examples/chain/tokenfactory/2_MsgMint/example.go +++ b/examples/chain/tokenfactory/2_MsgMint/example.go @@ -62,7 +62,7 @@ func main() { Amount: sdktypes.NewInt(1000000000), } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(message) if err != nil { diff --git a/examples/chain/tokenfactory/3_MsgBurn/example.go b/examples/chain/tokenfactory/3_MsgBurn/example.go index 35c6cc64..a342a851 100644 --- a/examples/chain/tokenfactory/3_MsgBurn/example.go +++ b/examples/chain/tokenfactory/3_MsgBurn/example.go @@ -62,7 +62,7 @@ func main() { Amount: sdktypes.NewInt(100), } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(message) if err != nil { diff --git a/examples/chain/tokenfactory/4_MsgSetDenomMetadata/example.go b/examples/chain/tokenfactory/4_MsgSetDenomMetadata/example.go index d5787500..2957f952 100644 --- a/examples/chain/tokenfactory/4_MsgSetDenomMetadata/example.go +++ b/examples/chain/tokenfactory/4_MsgSetDenomMetadata/example.go @@ -85,7 +85,7 @@ func main() { message.Sender = senderAddress.String() message.Metadata = metadata - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(message) if err != nil { diff --git a/examples/chain/tokenfactory/5_MsgChangeAdmin/example.go b/examples/chain/tokenfactory/5_MsgChangeAdmin/example.go index a9371ebb..09f4c57b 100644 --- a/examples/chain/tokenfactory/5_MsgChangeAdmin/example.go +++ b/examples/chain/tokenfactory/5_MsgChangeAdmin/example.go @@ -60,7 +60,7 @@ func main() { // This is the zero address to remove admin permissions message.NewAdmin = "inj1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqe2hm49" - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(message) if err != nil { diff --git a/examples/chain/wasmx/1_MsgExecuteContractCompat/example.go b/examples/chain/wasmx/1_MsgExecuteContractCompat/example.go index dc405028..bea54441 100644 --- a/examples/chain/wasmx/1_MsgExecuteContractCompat/example.go +++ b/examples/chain/wasmx/1_MsgExecuteContractCompat/example.go @@ -77,7 +77,7 @@ func main() { Funds: funds, } - //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(&message) if err != nil { diff --git a/examples/exchange/accounts/1_StreamSubaccountBalance/example.go b/examples/exchange/accounts/1_StreamSubaccountBalance/example.go index 49f3222d..c14b5022 100644 --- a/examples/exchange/accounts/1_StreamSubaccountBalance/example.go +++ b/examples/exchange/accounts/1_StreamSubaccountBalance/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/13_StreamTrades/example.go b/examples/exchange/derivatives/13_StreamTrades/example.go index 02239ad5..139a6872 100644 --- a/examples/exchange/derivatives/13_StreamTrades/example.go +++ b/examples/exchange/derivatives/13_StreamTrades/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/14_SubaccountOrdersList/example.go b/examples/exchange/derivatives/14_SubaccountOrdersList/example.go index 0177193e..f7fefbda 100644 --- a/examples/exchange/derivatives/14_SubaccountOrdersList/example.go +++ b/examples/exchange/derivatives/14_SubaccountOrdersList/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/15_SubaccountTradesList/example.go b/examples/exchange/derivatives/15_SubaccountTradesList/example.go index 2bf30a1e..4117ce62 100644 --- a/examples/exchange/derivatives/15_SubaccountTradesList/example.go +++ b/examples/exchange/derivatives/15_SubaccountTradesList/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/16_FundingPayments/example.go b/examples/exchange/derivatives/16_FundingPayments/example.go index 8aa286c9..87dcaf2c 100644 --- a/examples/exchange/derivatives/16_FundingPayments/example.go +++ b/examples/exchange/derivatives/16_FundingPayments/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/17_FundingRates/example.go b/examples/exchange/derivatives/17_FundingRates/example.go index 0512f91a..5271b7bf 100644 --- a/examples/exchange/derivatives/17_FundingRates/example.go +++ b/examples/exchange/derivatives/17_FundingRates/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/1_Market/example.go b/examples/exchange/derivatives/1_Market/example.go index 8576e113..61a1c7f6 100644 --- a/examples/exchange/derivatives/1_Market/example.go +++ b/examples/exchange/derivatives/1_Market/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/2_Markets/example.go b/examples/exchange/derivatives/2_Markets/example.go index 97618d7a..cf18c133 100644 --- a/examples/exchange/derivatives/2_Markets/example.go +++ b/examples/exchange/derivatives/2_Markets/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("mainnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/3_StreamMarket/example.go b/examples/exchange/derivatives/3_StreamMarket/example.go index 2de5f205..ac5bd943 100644 --- a/examples/exchange/derivatives/3_StreamMarket/example.go +++ b/examples/exchange/derivatives/3_StreamMarket/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/4_Orderbook/example.go b/examples/exchange/derivatives/4_Orderbook/example.go index 87ffff36..d14c0501 100644 --- a/examples/exchange/derivatives/4_Orderbook/example.go +++ b/examples/exchange/derivatives/4_Orderbook/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/5_Orderbooks/example.go b/examples/exchange/derivatives/5_Orderbooks/example.go index 29681c50..fdca6060 100644 --- a/examples/exchange/derivatives/5_Orderbooks/example.go +++ b/examples/exchange/derivatives/5_Orderbooks/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/8_Positions/example.go b/examples/exchange/derivatives/8_Positions/example.go index 3b11e289..d081759e 100644 --- a/examples/exchange/derivatives/8_Positions/example.go +++ b/examples/exchange/derivatives/8_Positions/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/derivatives/9_Orders/example.go b/examples/exchange/derivatives/9_Orders/example.go index 824ebd28..5aa8b22c 100644 --- a/examples/exchange/derivatives/9_Orders/example.go +++ b/examples/exchange/derivatives/9_Orders/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/insurance/1_InsuranceFunds/example.go b/examples/exchange/insurance/1_InsuranceFunds/example.go index 63abd806..8cb4adaf 100644 --- a/examples/exchange/insurance/1_InsuranceFunds/example.go +++ b/examples/exchange/insurance/1_InsuranceFunds/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/insurance/2_Redemptions/example.go b/examples/exchange/insurance/2_Redemptions/example.go index e109cc7d..17166b4b 100644 --- a/examples/exchange/insurance/2_Redemptions/example.go +++ b/examples/exchange/insurance/2_Redemptions/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/meta/1_Ping/example.go b/examples/exchange/meta/1_Ping/example.go index 15172af0..f814e871 100644 --- a/examples/exchange/meta/1_Ping/example.go +++ b/examples/exchange/meta/1_Ping/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/meta/2_Version/example.go b/examples/exchange/meta/2_Version/example.go index f9f9ef15..3428627d 100644 --- a/examples/exchange/meta/2_Version/example.go +++ b/examples/exchange/meta/2_Version/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/meta/3_Info/example.go b/examples/exchange/meta/3_Info/example.go index 571c3b6c..6d1bceae 100644 --- a/examples/exchange/meta/3_Info/example.go +++ b/examples/exchange/meta/3_Info/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/meta/4_StreamKeepAlive/example.go b/examples/exchange/meta/4_StreamKeepAlive/example.go index c76a8605..bd007577 100644 --- a/examples/exchange/meta/4_StreamKeepAlive/example.go +++ b/examples/exchange/meta/4_StreamKeepAlive/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/10_StreamTrades/example.go b/examples/exchange/spot/10_StreamTrades/example.go index 48d160c1..6406cc99 100644 --- a/examples/exchange/spot/10_StreamTrades/example.go +++ b/examples/exchange/spot/10_StreamTrades/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/11_SubaccountOrdersList/example.go b/examples/exchange/spot/11_SubaccountOrdersList/example.go index 6bb6d48b..e2321f8d 100644 --- a/examples/exchange/spot/11_SubaccountOrdersList/example.go +++ b/examples/exchange/spot/11_SubaccountOrdersList/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/12_SubaccountTradesList/example.go b/examples/exchange/spot/12_SubaccountTradesList/example.go index 401e981d..1830dc20 100644 --- a/examples/exchange/spot/12_SubaccountTradesList/example.go +++ b/examples/exchange/spot/12_SubaccountTradesList/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/13_Orderbooks/example.go b/examples/exchange/spot/13_Orderbooks/example.go index ebab285a..f6a865ed 100644 --- a/examples/exchange/spot/13_Orderbooks/example.go +++ b/examples/exchange/spot/13_Orderbooks/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/1_Market/example.go b/examples/exchange/spot/1_Market/example.go index 813c75c8..4c980328 100644 --- a/examples/exchange/spot/1_Market/example.go +++ b/examples/exchange/spot/1_Market/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/2_Markets/example.go b/examples/exchange/spot/2_Markets/example.go index e11b3b6d..4c5488c1 100644 --- a/examples/exchange/spot/2_Markets/example.go +++ b/examples/exchange/spot/2_Markets/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/3_StreamMarket/example.go b/examples/exchange/spot/3_StreamMarket/example.go index e7af4810..d1beea22 100644 --- a/examples/exchange/spot/3_StreamMarket/example.go +++ b/examples/exchange/spot/3_StreamMarket/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/4_Orderbook/example.go b/examples/exchange/spot/4_Orderbook/example.go index 2c158cbc..9e964ca4 100644 --- a/examples/exchange/spot/4_Orderbook/example.go +++ b/examples/exchange/spot/4_Orderbook/example.go @@ -10,7 +10,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/5_Orders/example.go b/examples/exchange/spot/5_Orders/example.go index 4fe513c8..850525ed 100644 --- a/examples/exchange/spot/5_Orders/example.go +++ b/examples/exchange/spot/5_Orders/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("mainnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/examples/exchange/spot/9_StreamOrders/example.go b/examples/exchange/spot/9_StreamOrders/example.go index cb4cfffb..98c22487 100644 --- a/examples/exchange/spot/9_StreamOrders/example.go +++ b/examples/exchange/spot/9_StreamOrders/example.go @@ -11,7 +11,7 @@ import ( ) func main() { - //network := common.LoadNetwork("mainnet", "k8s") + // network := common.LoadNetwork("mainnet", "k8s") network := common.LoadNetwork("testnet", "lb") exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { diff --git a/go.mod b/go.mod index 576f0cb1..bff702f3 100644 --- a/go.mod +++ b/go.mod @@ -37,7 +37,6 @@ require ( google.golang.org/protobuf v1.33.0 gopkg.in/ini.v1 v1.67.0 gopkg.in/yaml.v2 v2.4.0 - gotest.tools/v3 v3.5.0 ) require ( @@ -185,9 +184,9 @@ require ( golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0 // indirect golang.org/x/net v0.24.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.19.0 // indirect - golang.org/x/term v0.19.0 // indirect - golang.org/x/text v0.14.0 // indirect + golang.org/x/sys v0.20.0 // indirect + golang.org/x/term v0.20.0 // indirect + golang.org/x/text v0.15.0 // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda // indirect gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect diff --git a/go.sum b/go.sum index 7b202ed5..40c5e343 100644 --- a/go.sum +++ b/go.sum @@ -1062,13 +1062,13 @@ golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= -golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= +golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -1076,8 +1076,8 @@ 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.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/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.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= diff --git a/typeddata/typed_data.go b/typeddata/typed_data.go index e23efe82..f52cefd1 100644 --- a/typeddata/typed_data.go +++ b/typeddata/typed_data.go @@ -105,7 +105,7 @@ var typedDataReferenceTypeRegexp = regexp.MustCompile(`^[A-Z](\w*)(\[\])?$`) // SignTextWithValidator signs the given message which can be further recovered // with the given validator. // hash = keccak256("\x19\x00"${address}${data}). -func SignTextValidator(validatorData ValidatorData) (hexutil.Bytes, string) { +func SignTextValidator(validatorData ValidatorData) (signature hexutil.Bytes, message string) { msg := fmt.Sprintf("\x19\x00%s%s", string(validatorData.Address.Bytes()), string(validatorData.Message)) return crypto.Keccak256([]byte(msg)), msg } From 4836df3af5e04dbb0ef5862da7b8542bf02dedcc Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Tue, 4 Jun 2024 10:59:49 -0300 Subject: [PATCH 28/48] (fix) Fix pre-commit end of file issue --- .golangci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.golangci.yml b/.golangci.yml index 0073fe19..d679ee99 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -50,4 +50,4 @@ ] } }, -} \ No newline at end of file +} From 9b40110d2ad5ed67b1c4579d4b1bf6047e046562 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Thu, 6 Jun 2024 16:09:09 -0300 Subject: [PATCH 29/48] (fix) Fix dependencies --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index bff702f3..afa1a043 100644 --- a/go.mod +++ b/go.mod @@ -37,6 +37,7 @@ require ( google.golang.org/protobuf v1.33.0 gopkg.in/ini.v1 v1.67.0 gopkg.in/yaml.v2 v2.4.0 + gotest.tools/v3 v3.5.1 ) require ( @@ -191,7 +192,6 @@ require ( google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda // indirect gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - gotest.tools/v3 v3.5.1 // indirect nhooyr.io/websocket v1.8.6 // indirect pgregory.net/rapid v1.1.0 // indirect sigs.k8s.io/yaml v1.4.0 // indirect From e831104201f369af22ebd517335d2b5ab373f794 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Thu, 6 Jun 2024 17:01:27 -0300 Subject: [PATCH 30/48] (fix) Fixed pre-commit issues after rebasing with the latest changes in `dev` branch --- client/chain/markets_assistant.go | 5 +++-- client/chain/markets_assistant_test.go | 4 ++-- client/common/network.go | 20 ++++++++++---------- client/core/tokens_file_loader.go | 6 +++--- 4 files changed, 18 insertions(+), 17 deletions(-) diff --git a/client/chain/markets_assistant.go b/client/chain/markets_assistant.go index cacf5b15..a01635bd 100644 --- a/client/chain/markets_assistant.go +++ b/client/chain/markets_assistant.go @@ -148,9 +148,10 @@ func NewMarketsAssistant(networkName string) (MarketsAssistant, error) { func NewMarketsAssistantInitializedFromChain(ctx context.Context, exchangeClient exchange.ExchangeClient) (MarketsAssistant, error) { assistant := newMarketsAssistant() - officialTokens, err := core.LoadTokens(exchangeClient.GetNetwork().OfficialTokensListUrl) + officialTokens, err := core.LoadTokens(exchangeClient.GetNetwork().OfficialTokensListURL) if err == nil { - for _, tokenMetadata := range officialTokens { + for i := range officialTokens { + tokenMetadata := officialTokens[i] if tokenMetadata.Denom != "" { // add tokens to the assistant ensuring all of them get assigned a unique symbol tokenRepresentation(tokenMetadata.GetSymbol(), tokenMetadata, tokenMetadata.Denom, &assistant) diff --git a/client/chain/markets_assistant_test.go b/client/chain/markets_assistant_test.go index b8da6e01..a2e5dc26 100644 --- a/client/chain/markets_assistant_test.go +++ b/client/chain/markets_assistant_test.go @@ -24,7 +24,7 @@ func TestMarketAssistantCreationUsingMarketsFromExchange(t *testing.T) { defer httpServer.Close() network := common.NewNetwork() - network.OfficialTokensListUrl = httpServer.URL + network.OfficialTokensListURL = httpServer.URL mockExchange := exchange.MockExchangeClient{} mockExchange.Network = network @@ -95,7 +95,7 @@ func TestMarketAssistantCreationWithAllTokens(t *testing.T) { defer httpServer.Close() network := common.NewNetwork() - network.OfficialTokensListUrl = httpServer.URL + network.OfficialTokensListURL = httpServer.URL mockExchange := exchange.MockExchangeClient{} mockExchange.Network = network diff --git a/client/common/network.go b/client/common/network.go index e051a841..4714f997 100644 --- a/client/common/network.go +++ b/client/common/network.go @@ -15,9 +15,9 @@ import ( ) const ( - MainnetTokensListUrl = "https://github.com/InjectiveLabs/injective-lists/raw/master/tokens/mainnet.json" - TestnetTokensListUrl = "https://github.com/InjectiveLabs/injective-lists/raw/master/tokens/testnet.json" - DevnetTokensListUrl = "https://github.com/InjectiveLabs/injective-lists/raw/master/tokens/devnet.json" + MainnetTokensListURL = "https://github.com/InjectiveLabs/injective-lists/raw/master/tokens/mainnet.json" // nolint:gosec // not credentials, just the link to the public tokens list + TestnetTokensListURL = "https://github.com/InjectiveLabs/injective-lists/raw/master/tokens/testnet.json" // nolint:gosec // not credentials, just the link to the public tokens list + DevnetTokensListURL = "https://github.com/InjectiveLabs/injective-lists/raw/master/tokens/devnet.json" // nolint:gosec // not credentials, just the link to the public tokens list ) func cookieByName(cookies []*http.Cookie, key string) *http.Cookie { @@ -201,7 +201,7 @@ type Network struct { ChainCookieAssistant CookieAssistant ExchangeCookieAssistant CookieAssistant ExplorerCookieAssistant CookieAssistant - OfficialTokensListUrl string + OfficialTokensListURL string } func LoadNetwork(name, node string) Network { @@ -221,7 +221,7 @@ func LoadNetwork(name, node string) Network { ChainCookieAssistant: &DisabledCookieAssistant{}, ExchangeCookieAssistant: &DisabledCookieAssistant{}, ExplorerCookieAssistant: &DisabledCookieAssistant{}, - OfficialTokensListUrl: MainnetTokensListUrl, + OfficialTokensListURL: MainnetTokensListURL, } case "devnet-1": @@ -238,7 +238,7 @@ func LoadNetwork(name, node string) Network { ChainCookieAssistant: &DisabledCookieAssistant{}, ExchangeCookieAssistant: &DisabledCookieAssistant{}, ExplorerCookieAssistant: &DisabledCookieAssistant{}, - OfficialTokensListUrl: DevnetTokensListUrl, + OfficialTokensListURL: DevnetTokensListURL, } case "devnet": return Network{ @@ -254,7 +254,7 @@ func LoadNetwork(name, node string) Network { ChainCookieAssistant: &DisabledCookieAssistant{}, ExchangeCookieAssistant: &DisabledCookieAssistant{}, ExplorerCookieAssistant: &DisabledCookieAssistant{}, - OfficialTokensListUrl: DevnetTokensListUrl, + OfficialTokensListURL: DevnetTokensListURL, } case "testnet": validNodes := []string{"lb", "sentry"} @@ -309,7 +309,7 @@ func LoadNetwork(name, node string) Network { ChainCookieAssistant: chainCookieAssistant, ExchangeCookieAssistant: exchangeCookieAssistant, ExplorerCookieAssistant: explorerCookieAssistant, - OfficialTokensListUrl: TestnetTokensListUrl, + OfficialTokensListURL: TestnetTokensListURL, } case "mainnet": validNodes := []string{"lb"} @@ -349,7 +349,7 @@ func LoadNetwork(name, node string) Network { ChainCookieAssistant: chainCookieAssistant, ExchangeCookieAssistant: exchangeCookieAssistant, ExplorerCookieAssistant: explorerCookieAssistant, - OfficialTokensListUrl: MainnetTokensListUrl, + OfficialTokensListURL: MainnetTokensListURL, } default: @@ -364,7 +364,7 @@ func NewNetwork() Network { ChainCookieAssistant: &DisabledCookieAssistant{}, ExchangeCookieAssistant: &DisabledCookieAssistant{}, ExplorerCookieAssistant: &DisabledCookieAssistant{}, - OfficialTokensListUrl: MainnetTokensListUrl, + OfficialTokensListURL: MainnetTokensListURL, } } diff --git a/client/core/tokens_file_loader.go b/client/core/tokens_file_loader.go index c56f108e..a0263d21 100644 --- a/client/core/tokens_file_loader.go +++ b/client/core/tokens_file_loader.go @@ -46,14 +46,14 @@ func (tm TokenMetadata) GetUpdatedAt() int64 { } // LoadTokens loads tokens from the given file URL -func LoadTokens(tokensFileUrl string) ([]TokenMetadata, error) { +func LoadTokens(tokensFileURL string) ([]TokenMetadata, error) { var tokensMetadata []TokenMetadata - response, err := http.Get(tokensFileUrl) + response, err := http.Get(tokensFileURL) // nolint:gosec // we want the URL to be parameterizable if err != nil { return tokensMetadata, err } if 400 <= response.StatusCode { - return tokensMetadata, fmt.Errorf("failed to load tokens from %s: %s", tokensFileUrl, response.Status) + return tokensMetadata, fmt.Errorf("failed to load tokens from %s: %s", tokensFileURL, response.Status) } defer response.Body.Close() From dbf0eb4b9abb3379ae84b468251e9746d352a8bd Mon Sep 17 00:00:00 2001 From: Albert Chon Date: Mon, 17 Jun 2024 17:54:22 -0400 Subject: [PATCH 31/48] chore: bump go.mod go version and buf --- go.mod | 2 +- proto/buf.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index afa1a043..a2b71fba 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/InjectiveLabs/sdk-go -go 1.21 +go 1.22 require ( cosmossdk.io/errors v1.0.1 diff --git a/proto/buf.yaml b/proto/buf.yaml index 073e2ddd..8a588757 100644 --- a/proto/buf.yaml +++ b/proto/buf.yaml @@ -2,9 +2,9 @@ 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/cosmos-sdk:v0.50.5 - buf.build/cosmos/gogo-proto - - buf.build/cosmwasm/wasmd:2a82e352430f5ce799c1926f203cd43b39221387 + - buf.build/cosmwasm/wasmd:v0.51.0 breaking: use: - FILE From b93b4ead3fa79392f709d99f7461e50d17c71cce Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Wed, 26 Jun 2024 15:28:11 -0300 Subject: [PATCH 32/48] (feat) Added support for module. Added also example scripts for all permissions module's messages and queries --- chain/auction/types/tx.pb.go | 66 +- chain/crypto/ethsecp256k1/ethsecp256k1.go | 10 +- chain/exchange/types/derivative_orders.go | 2 +- chain/exchange/types/msgs.go | 1 + chain/exchange/types/proposal.go | 6 +- chain/exchange/types/spot_orders.go | 4 +- chain/exchange/types/tx.pb.go | 465 +++---- chain/insurance/types/tx.pb.go | 100 +- chain/ocr/types/tx.pb.go | 151 +-- chain/oracle/types/codec.go | 6 + chain/oracle/types/errors.go | 4 + chain/oracle/types/events.pb.go | 271 +++- chain/oracle/types/genesis.pb.go | 206 ++- chain/oracle/types/key.go | 8 + chain/oracle/types/msgs.go | 70 +- chain/oracle/types/oracle.go | 5 + chain/oracle/types/oracle.pb.go | 1111 +++++++++++++++-- chain/oracle/types/params.go | 2 +- chain/oracle/types/proposal.go | 66 + chain/oracle/types/proposal.pb.go | 601 ++++++++- chain/oracle/types/query.pb.go | 1051 +++++++++++++--- chain/oracle/types/stork.go | 29 + chain/oracle/types/stork_oracle.go | 39 + chain/oracle/types/tx.pb.go | 513 +++++++- chain/peggy/types/msgs.pb.go | 224 ++-- chain/peggy/types/params.go | 2 +- chain/permissions/types/errors.go | 25 +- chain/permissions/types/events.pb.go | 364 +++++- chain/permissions/types/msgs.go | 227 ++++ chain/permissions/types/query.pb.go | 109 +- chain/permissions/types/tx.go | 130 -- chain/permissions/types/tx.pb.go | 146 +-- chain/permissions/types/types.go | 107 +- chain/tokenfactory/types/expected_keepers.go | 1 + chain/tokenfactory/types/tx.pb.go | 110 +- chain/wasmx/types/params.go | 2 +- chain/wasmx/types/tx.pb.go | 102 +- client/chain/chain.go | 59 + client/chain/chain_test_support.go | 23 + client/chain/tx_factory.go | 3 +- examples/chain/auction/1_MsgBid/example.go | 4 +- examples/chain/bank/1_MsgSend/example.go | 4 +- examples/chain/bank/2_MsgMultiSend/example.go | 10 +- .../14_MsgSubaccountTransfer/example.go | 4 +- .../15_MsgExternalTransfer/example.go | 4 +- .../chain/exchange/1_MsgDeposit/example.go | 4 +- .../chain/exchange/2_MsgWithdraw/example.go | 4 +- .../ibc/transfer/1_MsgTransfer/example.go | 4 +- .../chain/peggy/1_MsgSendToEth/example.go | 6 +- .../permissions/1_CreateNamespace/example.go | 92 ++ .../permissions/2_DeleteNamespace/example.go | 73 ++ .../permissions/3_UpdateNamespace/example.go | 77 ++ .../4_UpdateNamespaceRoles/example.go | 90 ++ .../5_RevokeNamespaceRoles/example.go | 80 ++ .../permissions/6_ClaimVoucher/example.go | 73 ++ .../query/1_AllNamespaces/example.go | 69 + .../query/2_NamespaceByDenom/example.go | 68 + .../query/3_AddressRoles/example.go | 69 + .../query/4_AddressesByRole/example.go | 69 + .../query/5_VouchersForAddress/example.go | 68 + .../chain/staking/1_MsgDelegate/example.go | 4 +- .../chain/tokenfactory/2_MsgMint/example.go | 4 +- .../chain/tokenfactory/3_MsgBurn/example.go | 4 +- go.mod | 8 +- go.sum | 12 +- 65 files changed, 5876 insertions(+), 1449 deletions(-) create mode 100644 chain/oracle/types/stork.go create mode 100644 chain/oracle/types/stork_oracle.go create mode 100644 chain/permissions/types/msgs.go delete mode 100644 chain/permissions/types/tx.go create mode 100644 examples/chain/permissions/1_CreateNamespace/example.go create mode 100644 examples/chain/permissions/2_DeleteNamespace/example.go create mode 100644 examples/chain/permissions/3_UpdateNamespace/example.go create mode 100644 examples/chain/permissions/4_UpdateNamespaceRoles/example.go create mode 100644 examples/chain/permissions/5_RevokeNamespaceRoles/example.go create mode 100644 examples/chain/permissions/6_ClaimVoucher/example.go create mode 100644 examples/chain/permissions/query/1_AllNamespaces/example.go create mode 100644 examples/chain/permissions/query/2_NamespaceByDenom/example.go create mode 100644 examples/chain/permissions/query/3_AddressRoles/example.go create mode 100644 examples/chain/permissions/query/4_AddressesByRole/example.go create mode 100644 examples/chain/permissions/query/5_VouchersForAddress/example.go diff --git a/chain/auction/types/tx.pb.go b/chain/auction/types/tx.pb.go index d2366e3f..28135196 100644 --- a/chain/auction/types/tx.pb.go +++ b/chain/auction/types/tx.pb.go @@ -214,39 +214,39 @@ func init() { } var fileDescriptor_0943fd5f0d415547 = []byte{ - // 497 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0x4f, 0x6f, 0xd3, 0x30, - 0x1c, 0x8d, 0xe9, 0xa8, 0x54, 0x83, 0x06, 0x44, 0x15, 0xfd, 0x73, 0x48, 0x4b, 0x0e, 0x50, 0x2a, - 0x2d, 0x56, 0x8b, 0xc4, 0x61, 0x07, 0xd0, 0xca, 0x09, 0x89, 0x4a, 0x28, 0x13, 0x17, 0x2e, 0x93, - 0x13, 0x5b, 0xae, 0x11, 0xb1, 0xa3, 0xd8, 0xa9, 0xd8, 0x95, 0x13, 0xe2, 0xc4, 0x27, 0x40, 0xfb, - 0x08, 0x3b, 0x20, 0x3e, 0xc3, 0xc4, 0x69, 0xe2, 0xc4, 0x09, 0xa1, 0xf6, 0x30, 0x3e, 0x06, 0x4a, - 0xec, 0x74, 0x01, 0x69, 0x63, 0x97, 0xc4, 0x3f, 0xbf, 0xf7, 0x7b, 0xbf, 0xf7, 0x6c, 0x43, 0x9f, - 0x8b, 0x37, 0x34, 0xd6, 0x7c, 0x49, 0x11, 0xce, 0x63, 0xcd, 0xa5, 0x40, 0xcb, 0x49, 0x44, 0x35, - 0x9e, 0x20, 0xfd, 0x2e, 0x48, 0x33, 0xa9, 0xa5, 0xdb, 0xdb, 0x70, 0x02, 0xcb, 0x09, 0x2c, 0xa7, - 0xdf, 0x66, 0x92, 0xc9, 0x92, 0x85, 0x8a, 0x95, 0x69, 0xe8, 0x7b, 0xb1, 0x54, 0x89, 0x54, 0x28, - 0xc2, 0x8a, 0x6e, 0xe4, 0x62, 0xc9, 0x85, 0xc5, 0x3b, 0x16, 0x4f, 0x14, 0x43, 0xcb, 0x49, 0xf1, - 0xb3, 0x40, 0xcf, 0x00, 0x07, 0x46, 0xd1, 0x14, 0x16, 0x7a, 0x70, 0xb1, 0xd1, 0xca, 0x94, 0x21, - 0xde, 0xc1, 0x09, 0x17, 0x12, 0x95, 0x5f, 0xb3, 0xe5, 0x7f, 0x06, 0xb0, 0x39, 0x57, 0x6c, 0xc6, - 0x89, 0x7b, 0x17, 0x36, 0x15, 0x15, 0x84, 0x66, 0x5d, 0x30, 0x04, 0xa3, 0x56, 0x68, 0x2b, 0xf7, - 0x09, 0x84, 0x11, 0x27, 0x07, 0x38, 0x91, 0xb9, 0xd0, 0xdd, 0x6b, 0x43, 0x30, 0xba, 0x31, 0xed, - 0x05, 0xd6, 0x41, 0x91, 0xa3, 0x8a, 0x1c, 0x3c, 0x93, 0x5c, 0xcc, 0xb6, 0x4e, 0x7e, 0x0e, 0x9c, - 0xb0, 0x15, 0x71, 0xb2, 0x57, 0x76, 0xb8, 0x6d, 0x78, 0x3d, 0x93, 0xb9, 0x20, 0xdd, 0xc6, 0x10, - 0x8c, 0xb6, 0x42, 0x53, 0xec, 0xde, 0xff, 0x70, 0x34, 0x70, 0x7e, 0x1f, 0x0d, 0x9c, 0xf7, 0x67, - 0xc7, 0x63, 0x3b, 0xea, 0xe3, 0xd9, 0xf1, 0x78, 0xbb, 0x8a, 0x60, 0x5c, 0xf9, 0xb7, 0xe1, 0xb6, - 0x59, 0x85, 0x54, 0xa5, 0x52, 0x28, 0xea, 0x7f, 0x05, 0xf0, 0xd6, 0x5c, 0xb1, 0x57, 0x29, 0xc1, - 0x9a, 0xbe, 0xc4, 0x19, 0x4e, 0x94, 0xfb, 0x18, 0xb6, 0x70, 0xae, 0x17, 0x32, 0xe3, 0xfa, 0xd0, - 0xd8, 0x9f, 0x75, 0xbf, 0x7f, 0xd9, 0x69, 0x5b, 0x97, 0x7b, 0x84, 0x64, 0x54, 0xa9, 0x7d, 0x9d, - 0x71, 0xc1, 0xc2, 0x73, 0xaa, 0xfb, 0x14, 0x36, 0xd3, 0x52, 0xc1, 0xe6, 0xba, 0x17, 0x5c, 0x78, - 0xa1, 0x81, 0x19, 0x65, 0xf3, 0xd9, 0xb6, 0xdd, 0x71, 0x61, 0xff, 0x5c, 0xb0, 0x48, 0xd0, 0xa9, - 0x25, 0xa8, 0x9b, 0xf4, 0x7b, 0xb0, 0xf3, 0xcf, 0x56, 0x95, 0x69, 0xfa, 0x0d, 0xc0, 0xc6, 0x5c, - 0x31, 0x77, 0x1f, 0x36, 0x8a, 0xab, 0xb8, 0xcc, 0x86, 0x39, 0x8d, 0xfe, 0xc3, 0xff, 0x52, 0x2a, - 0x71, 0x57, 0xc0, 0x9b, 0x7f, 0x1d, 0xd6, 0xf8, 0xf2, 0xd6, 0x3a, 0xb7, 0x3f, 0xbd, 0x3a, 0xb7, - 0x9a, 0x37, 0x63, 0x27, 0x2b, 0x0f, 0x9c, 0xae, 0x3c, 0xf0, 0x6b, 0xe5, 0x81, 0x4f, 0x6b, 0xcf, - 0x39, 0x5d, 0x7b, 0xce, 0x8f, 0xb5, 0xe7, 0xbc, 0x9e, 0x33, 0xae, 0x17, 0x79, 0x14, 0xc4, 0x32, - 0x41, 0xcf, 0x2b, 0xdd, 0x17, 0x38, 0x52, 0x68, 0x33, 0x65, 0x27, 0x96, 0x19, 0xad, 0x97, 0x0b, - 0xcc, 0x05, 0x4a, 0x24, 0xc9, 0xdf, 0x52, 0xb5, 0x79, 0xdf, 0xfa, 0x30, 0xa5, 0x2a, 0x6a, 0x96, - 0x6f, 0xf8, 0xd1, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xda, 0x66, 0xad, 0x44, 0xaa, 0x03, 0x00, - 0x00, + // 504 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0x31, 0x8f, 0xd3, 0x3e, + 0x1c, 0x8d, 0xff, 0xbd, 0xab, 0x54, 0xff, 0xd1, 0x01, 0x51, 0x45, 0xdb, 0x0c, 0x69, 0xc9, 0x00, + 0x25, 0xd2, 0xc5, 0x6a, 0x91, 0x18, 0x6e, 0x00, 0x5d, 0x99, 0x90, 0xa8, 0x84, 0x72, 0x62, 0x61, + 0x39, 0x39, 0x89, 0xe5, 0x1a, 0x11, 0x3b, 0x8a, 0x9d, 0x8a, 0xdb, 0x10, 0x13, 0x62, 0xe2, 0x13, + 0xa0, 0xfb, 0x08, 0x1d, 0x10, 0x9f, 0xe1, 0xc6, 0x83, 0x89, 0x09, 0xa1, 0x76, 0x28, 0x1f, 0x03, + 0x25, 0x76, 0x7a, 0x05, 0xe9, 0x0e, 0x96, 0xc4, 0x3f, 0xbf, 0xf7, 0x7b, 0xbf, 0xf7, 0x6c, 0x43, + 0x8f, 0xf1, 0x97, 0x24, 0x56, 0x6c, 0x4e, 0x10, 0x2e, 0x62, 0xc5, 0x04, 0x47, 0xf3, 0x51, 0x44, + 0x14, 0x1e, 0x21, 0xf5, 0x3a, 0xc8, 0x72, 0xa1, 0x84, 0xdd, 0xdb, 0x70, 0x02, 0xc3, 0x09, 0x0c, + 0xc7, 0x69, 0x53, 0x41, 0x45, 0xc5, 0x42, 0xe5, 0x4a, 0x37, 0x38, 0x6e, 0x2c, 0x64, 0x2a, 0x24, + 0x8a, 0xb0, 0x24, 0x1b, 0xb9, 0x58, 0x30, 0x6e, 0xf0, 0x8e, 0xc1, 0x53, 0x49, 0xd1, 0x7c, 0x54, + 0xfe, 0x0c, 0xd0, 0xd3, 0xc0, 0xb1, 0x56, 0xd4, 0x85, 0x81, 0xee, 0x5e, 0x6e, 0xb4, 0x36, 0xa5, + 0x89, 0x37, 0x71, 0xca, 0xb8, 0x40, 0xd5, 0x57, 0x6f, 0x79, 0x1f, 0x01, 0x6c, 0x4e, 0x25, 0x9d, + 0xb0, 0xc4, 0xbe, 0x05, 0x9b, 0x92, 0xf0, 0x84, 0xe4, 0x5d, 0x30, 0x00, 0xc3, 0x56, 0x68, 0x2a, + 0xfb, 0x21, 0x84, 0x11, 0x4b, 0x8e, 0x71, 0x2a, 0x0a, 0xae, 0xba, 0xff, 0x0d, 0xc0, 0xf0, 0xff, + 0x71, 0x2f, 0x30, 0x0e, 0xca, 0x1c, 0x75, 0xe4, 0xe0, 0xb1, 0x60, 0x7c, 0xb2, 0x73, 0xf6, 0xbd, + 0x6f, 0x85, 0xad, 0x88, 0x25, 0x87, 0x55, 0x87, 0xdd, 0x86, 0xbb, 0xb9, 0x28, 0x78, 0xd2, 0x6d, + 0x0c, 0xc0, 0x70, 0x27, 0xd4, 0xc5, 0xc1, 0x9d, 0x77, 0xa7, 0x7d, 0xeb, 0xe7, 0x69, 0xdf, 0x7a, + 0xbb, 0x5e, 0xf8, 0x66, 0xd4, 0xfb, 0xf5, 0xc2, 0xdf, 0xab, 0x23, 0x68, 0x57, 0xde, 0x0d, 0xb8, + 0xa7, 0x57, 0x21, 0x91, 0x99, 0xe0, 0x92, 0x78, 0x9f, 0x01, 0xbc, 0x3e, 0x95, 0xf4, 0x79, 0x96, + 0x60, 0x45, 0x9e, 0xe1, 0x1c, 0xa7, 0xd2, 0x7e, 0x00, 0x5b, 0xb8, 0x50, 0x33, 0x91, 0x33, 0x75, + 0xa2, 0xed, 0x4f, 0xba, 0x5f, 0x3f, 0xed, 0xb7, 0x8d, 0xcb, 0xc3, 0x24, 0xc9, 0x89, 0x94, 0x47, + 0x2a, 0x67, 0x9c, 0x86, 0x17, 0x54, 0xfb, 0x11, 0x6c, 0x66, 0x95, 0x82, 0xc9, 0x75, 0x3b, 0xb8, + 0xf4, 0x42, 0x03, 0x3d, 0xca, 0xe4, 0x33, 0x6d, 0x07, 0x7e, 0x69, 0xff, 0x42, 0xb0, 0x4c, 0xd0, + 0xd9, 0x4a, 0xb0, 0x6d, 0xd2, 0xeb, 0xc1, 0xce, 0x1f, 0x5b, 0x75, 0xa6, 0xf1, 0x17, 0x00, 0x1b, + 0x53, 0x49, 0xed, 0x23, 0xd8, 0x28, 0xaf, 0xe2, 0x2a, 0x1b, 0xfa, 0x34, 0x9c, 0x7b, 0x7f, 0xa5, + 0xd4, 0xe2, 0x36, 0x87, 0xd7, 0x7e, 0x3b, 0x2c, 0xff, 0xea, 0xd6, 0x6d, 0xae, 0x33, 0xfe, 0x77, + 0x6e, 0x3d, 0xcf, 0xd9, 0x7d, 0xb3, 0x5e, 0xf8, 0x60, 0x42, 0xcf, 0x96, 0x2e, 0x38, 0x5f, 0xba, + 0xe0, 0xc7, 0xd2, 0x05, 0x1f, 0x56, 0xae, 0x75, 0xbe, 0x72, 0xad, 0x6f, 0x2b, 0xd7, 0x7a, 0x31, + 0xa5, 0x4c, 0xcd, 0x8a, 0x28, 0x88, 0x45, 0x8a, 0x9e, 0xd4, 0xf2, 0x4f, 0x71, 0x24, 0xd1, 0x66, + 0xd8, 0x7e, 0x2c, 0x72, 0xb2, 0x5d, 0xce, 0x30, 0xe3, 0x28, 0x15, 0x49, 0xf1, 0x8a, 0xc8, 0xcd, + 0x33, 0x57, 0x27, 0x19, 0x91, 0x51, 0xb3, 0x7a, 0xca, 0xf7, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, + 0x5f, 0x56, 0x1a, 0xd8, 0xb1, 0x03, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/crypto/ethsecp256k1/ethsecp256k1.go b/chain/crypto/ethsecp256k1/ethsecp256k1.go index eebeb6b9..08757a1e 100644 --- a/chain/crypto/ethsecp256k1/ethsecp256k1.go +++ b/chain/crypto/ethsecp256k1/ethsecp256k1.go @@ -6,15 +6,13 @@ import ( "crypto/subtle" "fmt" - ethcrypto "github.com/ethereum/go-ethereum/crypto" - "github.com/ethereum/go-ethereum/crypto/secp256k1" - "cosmossdk.io/errors" + tmcrypto "github.com/cometbft/cometbft/crypto" "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/cometbft/cometbft/crypto" + ethcrypto "github.com/ethereum/go-ethereum/crypto" + "github.com/ethereum/go-ethereum/crypto/secp256k1" ) const ( @@ -197,7 +195,7 @@ func (pubKey *PubKey) UnmarshalAminoJSON(bz []byte) error { 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] + sig = sig[:64] } // the signature needs to be in [R || S] format when provided to VerifySignature diff --git a/chain/exchange/types/derivative_orders.go b/chain/exchange/types/derivative_orders.go index 422fd108..630b470a 100644 --- a/chain/exchange/types/derivative_orders.go +++ b/chain/exchange/types/derivative_orders.go @@ -219,7 +219,7 @@ func (o *DerivativeLimitOrder) GetCancelRefundAmount(feeRate math.LegacyDec) mat if o.IsVanilla() { // negative fees are only accounted for upon matching positiveFeePart := math.LegacyMaxDec(math.LegacyZeroDec(), feeRate) - // nolint:all + //nolint:all // Refund = (FillableQuantity / Quantity) * (Margin + Price * Quantity * feeRate) notional := o.OrderInfo.Price.Mul(o.OrderInfo.Quantity) marginHoldRefund = o.Fillable.Mul(o.Margin.Add(notional.Mul(positiveFeePart))).Quo(o.OrderInfo.Quantity) diff --git a/chain/exchange/types/msgs.go b/chain/exchange/types/msgs.go index 611ea661..c1fdf2c0 100644 --- a/chain/exchange/types/msgs.go +++ b/chain/exchange/types/msgs.go @@ -32,6 +32,7 @@ var ( _ sdk.Msg = &MsgSubaccountTransfer{} _ sdk.Msg = &MsgExternalTransfer{} _ sdk.Msg = &MsgIncreasePositionMargin{} + _ sdk.Msg = &MsgDecreasePositionMargin{} _ sdk.Msg = &MsgLiquidatePosition{} _ sdk.Msg = &MsgEmergencySettleMarket{} _ sdk.Msg = &MsgInstantSpotMarketLaunch{} diff --git a/chain/exchange/types/proposal.go b/chain/exchange/types/proposal.go index 6d1b33e4..333507e2 100644 --- a/chain/exchange/types/proposal.go +++ b/chain/exchange/types/proposal.go @@ -8,10 +8,11 @@ import ( 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" gov "github.com/cosmos/cosmos-sdk/x/gov/types" "github.com/ethereum/go-ethereum/common" + + oracletypes "github.com/InjectiveLabs/sdk-go/chain/oracle/types" ) // constants @@ -728,7 +729,8 @@ func (p *OracleParams) ValidateBasic() error { } switch p.OracleType { case oracletypes.OracleType_Band, oracletypes.OracleType_PriceFeed, oracletypes.OracleType_Coinbase, oracletypes.OracleType_Chainlink, oracletypes.OracleType_Razor, - oracletypes.OracleType_Dia, oracletypes.OracleType_API3, oracletypes.OracleType_Uma, oracletypes.OracleType_Pyth, oracletypes.OracleType_BandIBC, oracletypes.OracleType_Provider: + oracletypes.OracleType_Dia, oracletypes.OracleType_API3, oracletypes.OracleType_Uma, oracletypes.OracleType_Pyth, oracletypes.OracleType_BandIBC, oracletypes.OracleType_Provider, + oracletypes.OracleType_Stork: default: return errors.Wrap(ErrInvalidOracleType, p.OracleType.String()) diff --git a/chain/exchange/types/spot_orders.go b/chain/exchange/types/spot_orders.go index 7225a00c..ac5b243e 100644 --- a/chain/exchange/types/spot_orders.go +++ b/chain/exchange/types/spot_orders.go @@ -165,9 +165,7 @@ func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (balanceHol return balanceHold, denom } -func (m *SpotLimitOrder) GetUnfilledMarginHoldAndMarginDenom(market *SpotMarket, isTransient bool) (marginHold math.LegacyDec, marginDenom string) { - var denom string - var balanceHold math.LegacyDec +func (m *SpotLimitOrder) GetUnfilledMarginHoldAndMarginDenom(market *SpotMarket, isTransient bool) (balanceHold math.LegacyDec, denom string) { if m.IsBuy() { var tradeFeeRate math.LegacyDec diff --git a/chain/exchange/types/tx.pb.go b/chain/exchange/types/tx.pb.go index d4f4213e..4a78fb8f 100644 --- a/chain/exchange/types/tx.pb.go +++ b/chain/exchange/types/tx.pb.go @@ -3674,253 +3674,254 @@ func init() { } var fileDescriptor_bd45b74cb6d81462 = []byte{ - // 3934 bytes of a gzipped FileDescriptorProto + // 3942 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x4b, 0x6c, 0x1c, 0xc7, 0x95, 0x6a, 0x0e, 0x39, 0x24, 0x1f, 0x29, 0x89, 0x6a, 0x52, 0xe2, 0x70, 0xf8, 0x93, 0x9a, 0x92, 0xf5, 0x27, 0xf5, 0xff, 0x8c, 0x56, 0x96, 0xf8, 0x91, 0x6c, 0xae, 0x45, 0x4b, 0x1e, 0xca, 0xbb, 0xde, 0x85, 0xbd, 0x83, 0x66, 0x4f, 0x71, 0xd8, 0xe6, 0x4c, 0xf7, 0xa8, 0xbb, 0x47, 0x12, 0x8d, - 0x05, 0x76, 0xd7, 0x87, 0x85, 0x76, 0x13, 0x04, 0x09, 0x10, 0x20, 0x40, 0x00, 0x03, 0x06, 0x02, - 0xc4, 0x80, 0x13, 0x24, 0x76, 0x10, 0x04, 0x3e, 0xe4, 0x87, 0x20, 0x07, 0xc7, 0x27, 0x27, 0x40, - 0x80, 0x20, 0x07, 0x25, 0xb0, 0x0f, 0x36, 0x7c, 0x0a, 0x72, 0x09, 0x90, 0x5c, 0x82, 0xae, 0xaa, - 0xae, 0xe9, 0x4f, 0x55, 0x77, 0xcf, 0x88, 0xb4, 0xe5, 0xc0, 0x17, 0x89, 0x5d, 0xf5, 0xde, 0xab, - 0xf7, 0x5e, 0xbd, 0x4f, 0xd5, 0xab, 0xaa, 0x81, 0x29, 0xdd, 0x78, 0x19, 0x69, 0x8e, 0x7e, 0x17, - 0xcd, 0xa0, 0xfb, 0xda, 0x9a, 0x6a, 0x54, 0xd0, 0xcc, 0xdd, 0x93, 0x2b, 0xc8, 0x51, 0x4f, 0xce, - 0x38, 0xf7, 0xa7, 0xeb, 0x96, 0xe9, 0x98, 0x72, 0x9e, 0x01, 0x4d, 0x7b, 0x40, 0xd3, 0x14, 0x28, - 0x3f, 0xa1, 0x99, 0x76, 0xcd, 0xb4, 0x67, 0x56, 0x54, 0xbb, 0x89, 0xa9, 0x99, 0xba, 0x41, 0x70, - 0xf3, 0xd3, 0xb4, 0xbf, 0xac, 0xdb, 0x8e, 0xa5, 0xaf, 0x34, 0x1c, 0xdd, 0x34, 0x18, 0x9c, 0xbf, - 0x91, 0xc2, 0x0f, 0x53, 0xf8, 0x9a, 0x5d, 0x99, 0xb9, 0x7b, 0xd2, 0xfd, 0x8f, 0x76, 0x8c, 0x90, - 0x8e, 0x12, 0xfe, 0x9a, 0x21, 0x1f, 0xb4, 0x6b, 0xa8, 0x62, 0x56, 0x4c, 0xd2, 0xee, 0xfe, 0x45, - 0x5b, 0x0f, 0xc7, 0x88, 0xc6, 0xc4, 0x20, 0xa0, 0x07, 0x9a, 0xa0, 0xa6, 0xa5, 0x6a, 0xd5, 0x26, - 0x20, 0xf9, 0xa4, 0x60, 0xbb, 0xd4, 0x9a, 0x6e, 0x98, 0x33, 0xf8, 0x5f, 0xd2, 0xa4, 0xbc, 0x91, - 0x81, 0xc1, 0x25, 0xbb, 0xf2, 0x7c, 0xbd, 0xac, 0x3a, 0x68, 0xb9, 0x6e, 0x3a, 0x4b, 0xaa, 0xb5, - 0x8e, 0x1c, 0x79, 0x08, 0xba, 0xd4, 0x72, 0x4d, 0x37, 0x72, 0xd2, 0x5e, 0xe9, 0x50, 0x6f, 0x91, - 0x7c, 0xc8, 0xa3, 0xd0, 0x5b, 0xc3, 0xfd, 0x25, 0xbd, 0x9c, 0xeb, 0xc0, 0x3d, 0x3d, 0xa4, 0x61, - 0xb1, 0x2c, 0x8f, 0x03, 0x18, 0xe8, 0x5e, 0xc9, 0xd1, 0xb5, 0x75, 0x64, 0xe5, 0x32, 0xb8, 0xb7, - 0xd7, 0x40, 0xf7, 0x6e, 0xe3, 0x06, 0xf9, 0xdf, 0x60, 0xd8, 0xed, 0xae, 0xe9, 0x46, 0xa9, 0x6e, - 0xe9, 0x1a, 0xc2, 0x80, 0x25, 0x5b, 0x7f, 0x05, 0xe5, 0x3a, 0x5d, 0xd8, 0xb9, 0xa9, 0x77, 0x1f, - 0x4e, 0x6e, 0xfb, 0xfd, 0xc3, 0xc9, 0x51, 0xa2, 0x1b, 0xbb, 0xbc, 0x3e, 0xad, 0x9b, 0x33, 0x35, - 0xd5, 0x59, 0x9b, 0xbe, 0x81, 0x2a, 0xaa, 0xb6, 0xb1, 0x80, 0xb4, 0xe2, 0xa0, 0x81, 0xee, 0x2d, - 0xe9, 0xc6, 0x2d, 0x97, 0x82, 0x4b, 0x78, 0x59, 0x7f, 0x05, 0xc9, 0x25, 0xc8, 0x7b, 0xa4, 0xef, - 0x34, 0x54, 0xc3, 0xd1, 0x9d, 0x0d, 0x1f, 0xf5, 0xae, 0xf4, 0xd4, 0xf7, 0x10, 0xea, 0xcf, 0x51, - 0x22, 0x6c, 0x80, 0x25, 0x18, 0xf0, 0x06, 0x30, 0x4c, 0x77, 0xb2, 0xd5, 0x6a, 0x2e, 0x9b, 0x9e, - 0xec, 0x0e, 0x42, 0xf6, 0x59, 0x8a, 0x5a, 0x38, 0xfd, 0xe0, 0xf5, 0xc9, 0x6d, 0x1f, 0xbf, 0x3e, - 0xb9, 0xed, 0xd5, 0x8f, 0xde, 0x3a, 0x42, 0x54, 0xfb, 0xff, 0x1f, 0xbd, 0x75, 0x64, 0x8c, 0x4d, - 0x33, 0x67, 0x46, 0x94, 0x71, 0x18, 0xe5, 0x34, 0x17, 0x91, 0x5d, 0x37, 0x0d, 0x1b, 0x29, 0x7f, - 0xe9, 0x84, 0x11, 0xd6, 0xbf, 0x80, 0x2c, 0xfd, 0xae, 0xea, 0xda, 0xc3, 0x17, 0xd3, 0xb9, 0xe5, - 0xd3, 0x29, 0xbf, 0x08, 0x39, 0x97, 0x9c, 0x6e, 0xe8, 0x8e, 0xae, 0x56, 0x4b, 0x35, 0xd5, 0xaa, - 0xe8, 0x46, 0xc9, 0x52, 0x1d, 0xdd, 0xcc, 0x75, 0xa7, 0x27, 0xbb, 0xdb, 0x40, 0xf7, 0x16, 0x09, - 0x8d, 0x25, 0x4c, 0xa2, 0xe8, 0x52, 0x90, 0xcb, 0x30, 0x86, 0x99, 0x55, 0x75, 0xc3, 0x41, 0x86, - 0x6a, 0x68, 0x28, 0x38, 0x42, 0x4f, 0xfa, 0x11, 0x46, 0x5c, 0xc6, 0x9b, 0x74, 0x7c, 0xa3, 0x14, - 0x2e, 0xf2, 0x4d, 0x52, 0x89, 0x9a, 0x64, 0xd8, 0xb6, 0x94, 0x29, 0xd8, 0x27, 0xec, 0x64, 0xe6, - 0xf9, 0x8e, 0x04, 0x3b, 0x19, 0xd4, 0x2d, 0xd5, 0x52, 0x6b, 0xb6, 0x7c, 0x0e, 0x7a, 0xd5, 0x86, - 0xb3, 0x66, 0x5a, 0xba, 0xb3, 0x41, 0x0c, 0x73, 0x2e, 0xf7, 0x9b, 0x1f, 0x1e, 0x1f, 0xa2, 0xb1, - 0x71, 0xb6, 0x5c, 0xb6, 0x90, 0x6d, 0x2f, 0x3b, 0x96, 0x6e, 0x54, 0x8a, 0x4d, 0x50, 0xf9, 0x2a, - 0x64, 0xeb, 0x98, 0x02, 0xb6, 0xd9, 0xbe, 0x53, 0xca, 0xb4, 0x38, 0xbe, 0x4f, 0x93, 0xb1, 0xe6, - 0x3a, 0x5d, 0xfd, 0x14, 0x29, 0x5e, 0xe1, 0xa8, 0x2b, 0x65, 0x93, 0xa2, 0x2b, 0x69, 0x2e, 0x2a, - 0x29, 0x41, 0x55, 0x46, 0x60, 0x38, 0xd4, 0xc4, 0xa4, 0xfa, 0xbe, 0x04, 0xb0, 0x64, 0x57, 0x16, - 0x50, 0xdd, 0xb4, 0x75, 0x47, 0xde, 0x03, 0x59, 0x1b, 0x19, 0x65, 0x64, 0x51, 0x37, 0xa3, 0x5f, - 0xf2, 0x14, 0x6c, 0xb7, 0x1b, 0x2b, 0xaa, 0xa6, 0x99, 0x0d, 0xc3, 0xe7, 0x6b, 0xfd, 0xcd, 0xc6, - 0xc5, 0xb2, 0x7c, 0x1e, 0xb2, 0x6a, 0xcd, 0xfd, 0x1b, 0xfb, 0x5a, 0xdf, 0xa9, 0x11, 0x9a, 0x79, - 0xa6, 0xdd, 0xcc, 0xc4, 0xc4, 0x99, 0x37, 0x75, 0xc3, 0x13, 0x86, 0x80, 0x17, 0x8e, 0xfa, 0xa7, - 0x8e, 0x0e, 0xe9, 0x4a, 0x34, 0xe8, 0x97, 0x88, 0xb2, 0xa8, 0x0c, 0x81, 0xdc, 0xfc, 0x62, 0x72, - 0xbc, 0x2d, 0x41, 0xdf, 0x92, 0x5d, 0xf9, 0x57, 0xdd, 0x59, 0x2b, 0x5b, 0xea, 0xbd, 0xcf, 0x48, - 0x90, 0x63, 0x02, 0x41, 0x86, 0xfc, 0x82, 0x78, 0x3c, 0x2a, 0xbb, 0x71, 0xe2, 0xf2, 0x3e, 0x99, - 0x28, 0xdf, 0x93, 0xf0, 0x74, 0xcd, 0x5b, 0x88, 0xc6, 0xc9, 0x1b, 0x7a, 0x4d, 0x77, 0x6e, 0x5a, - 0x2e, 0xfb, 0x22, 0xb1, 0x66, 0xa1, 0xcb, 0x74, 0x01, 0xa8, 0x3d, 0x1d, 0x88, 0xb3, 0x27, 0x97, - 0x24, 0xa6, 0x46, 0x99, 0x27, 0x98, 0x85, 0x0b, 0x02, 0xde, 0xf7, 0xfa, 0x79, 0xe7, 0x31, 0xa5, - 0xbc, 0x08, 0x93, 0x82, 0x2e, 0x4f, 0x26, 0x37, 0x14, 0xe3, 0x51, 0x4a, 0x6b, 0xaa, 0xbd, 0x46, - 0x79, 0xef, 0xc5, 0x2d, 0x4f, 0xab, 0xf6, 0x9a, 0x3c, 0x00, 0x19, 0x8d, 0xcd, 0x85, 0xfb, 0x67, - 0xa1, 0xc7, 0xe3, 0x46, 0xf9, 0xb1, 0x04, 0xe3, 0x4b, 0x76, 0x65, 0x4e, 0x75, 0xb4, 0x35, 0xde, - 0x18, 0xb6, 0x50, 0x29, 0xf3, 0x90, 0xc5, 0x43, 0xb8, 0x5e, 0x96, 0x69, 0x55, 0x2b, 0x14, 0xb5, - 0xf0, 0xa4, 0x40, 0x2d, 0x4f, 0xf8, 0xd5, 0x22, 0x66, 0x4e, 0xf9, 0x81, 0x04, 0x07, 0x62, 0x21, - 0x98, 0x8e, 0xf6, 0x41, 0x7f, 0x53, 0x47, 0xc8, 0xce, 0x49, 0x7b, 0x33, 0x87, 0x7a, 0x8b, 0x7d, - 0x4c, 0x4b, 0xc8, 0x96, 0xa7, 0x61, 0x50, 0xc3, 0x34, 0xca, 0x25, 0xc2, 0x5e, 0x49, 0xd3, 0xcb, - 0x44, 0xbc, 0xde, 0xe2, 0x2e, 0xda, 0x45, 0xc8, 0xce, 0xeb, 0x65, 0x5b, 0x3e, 0x06, 0xf2, 0xaa, - 0xaa, 0x57, 0x43, 0xe0, 0x19, 0x0c, 0x3e, 0x40, 0x7a, 0x9a, 0xd0, 0x3e, 0x9d, 0xff, 0x2c, 0x03, - 0xf9, 0x25, 0xbb, 0xb2, 0x68, 0xd8, 0x8e, 0x6a, 0x38, 0xcd, 0x5c, 0x7d, 0x43, 0x6d, 0x18, 0xda, - 0x9a, 0x50, 0xe1, 0x7b, 0x20, 0x4b, 0x93, 0x2d, 0x99, 0x49, 0xfa, 0xe5, 0xce, 0xbe, 0xeb, 0x39, - 0xa5, 0x32, 0x32, 0xcc, 0x9a, 0x97, 0x88, 0xdd, 0x96, 0x05, 0xb7, 0x41, 0x9e, 0x84, 0xbe, 0x3b, - 0x0d, 0xd3, 0xf1, 0xfa, 0x71, 0xf2, 0x2d, 0x02, 0x6e, 0x22, 0x00, 0x45, 0x18, 0xe4, 0x65, 0xe9, - 0x16, 0xf2, 0xe8, 0x40, 0x2d, 0x9c, 0xa2, 0x5f, 0x80, 0x3d, 0x82, 0xf4, 0xdc, 0x42, 0x1e, 0x75, - 0xd9, 0x8a, 0xe4, 0xe6, 0xeb, 0xd0, 0x1f, 0xc8, 0xcb, 0x2d, 0x24, 0xd0, 0xbe, 0x9a, 0x6f, 0x8d, - 0x75, 0x49, 0x60, 0x79, 0x53, 0x7e, 0xcb, 0x13, 0x4c, 0x91, 0xb2, 0x1f, 0x14, 0x71, 0x6f, 0x33, - 0x6a, 0x76, 0x63, 0xd7, 0xa5, 0x60, 0xb7, 0x90, 0x55, 0x47, 0x4e, 0x03, 0x27, 0xef, 0xf6, 0x27, - 0x3b, 0x34, 0x9b, 0x99, 0xc8, 0x6c, 0x4e, 0x42, 0x1f, 0x59, 0xd3, 0x97, 0x5c, 0x13, 0xf0, 0xa6, - 0x9b, 0x34, 0xcd, 0xa9, 0x9e, 0x23, 0x60, 0x00, 0x8c, 0x45, 0xe6, 0xb9, 0x48, 0x91, 0x9e, 0x73, - 0x9b, 0x5c, 0x47, 0xa0, 0x20, 0xb6, 0xa6, 0x56, 0x51, 0x69, 0x55, 0xd5, 0x1c, 0xd3, 0xc2, 0x53, - 0xb7, 0xbd, 0xb8, 0x8b, 0x74, 0x2d, 0xbb, 0x3d, 0xd7, 0x71, 0x87, 0x7c, 0x8d, 0x8d, 0xe9, 0x6c, - 0xd4, 0x11, 0x9e, 0x92, 0x1d, 0xa7, 0xf6, 0xfb, 0xe2, 0x01, 0xdd, 0x65, 0x78, 0xd1, 0xe0, 0x26, - 0xfe, 0xbc, 0xbd, 0x51, 0x47, 0x1e, 0x67, 0xee, 0xdf, 0xf2, 0x22, 0xec, 0xa8, 0xa9, 0xeb, 0xc8, - 0x2a, 0xad, 0x22, 0xe4, 0x2e, 0x5e, 0x50, 0x2b, 0x6b, 0x97, 0x7e, 0x8c, 0x7a, 0x1d, 0xa1, 0xa2, - 0xea, 0x60, 0x52, 0x4e, 0x90, 0x54, 0x6f, 0x0b, 0xa4, 0x1c, 0x3f, 0xa9, 0xe7, 0x61, 0x88, 0xbb, - 0x72, 0x83, 0xf4, 0x04, 0x65, 0x3d, 0xba, 0x6c, 0x7b, 0x09, 0x72, 0xc2, 0x25, 0x5b, 0x5f, 0x0b, - 0x4b, 0xd8, 0x1a, 0x77, 0xbd, 0x26, 0x72, 0xea, 0xfe, 0xad, 0x71, 0xea, 0xed, 0x9b, 0xec, 0xd4, - 0x3b, 0xda, 0x74, 0xea, 0xab, 0x02, 0xa7, 0x3e, 0xc4, 0x71, 0x6a, 0xae, 0x3f, 0x2a, 0x87, 0xe1, - 0x60, 0x02, 0x08, 0x73, 0xef, 0xff, 0xeb, 0x86, 0xa9, 0x26, 0xec, 0x9c, 0x6e, 0xa8, 0xd6, 0xc6, - 0xcd, 0xba, 0xcb, 0x89, 0xfd, 0x48, 0x2e, 0x3e, 0x05, 0xdb, 0x3d, 0xef, 0xdb, 0xa8, 0xad, 0x98, - 0x55, 0xea, 0xe4, 0xd4, 0x6b, 0x97, 0x71, 0x9b, 0x7c, 0x10, 0x76, 0x52, 0xa0, 0xba, 0x65, 0xde, - 0xd5, 0x5d, 0xea, 0xc4, 0xd5, 0x77, 0x90, 0xe6, 0x5b, 0xb4, 0x35, 0xec, 0x9b, 0x5d, 0x6d, 0xfa, - 0x66, 0xab, 0x21, 0x21, 0xea, 0xcb, 0xdd, 0x9b, 0xe7, 0xcb, 0x3d, 0xed, 0xfa, 0xf2, 0x49, 0x18, - 0x42, 0xf7, 0xeb, 0x3a, 0xf6, 0x32, 0xa3, 0xe4, 0xe8, 0x35, 0x64, 0x3b, 0x6a, 0xad, 0x8e, 0x83, - 0x43, 0xa6, 0x38, 0xd8, 0xec, 0xbb, 0xed, 0x75, 0xb9, 0x28, 0x36, 0x72, 0x9c, 0x2a, 0xaa, 0x21, - 0xc3, 0xf1, 0xa1, 0x00, 0x41, 0x69, 0xf6, 0x35, 0x51, 0xd8, 0x66, 0xba, 0xcf, 0xbf, 0x99, 0x0e, - 0x45, 0xee, 0xfe, 0xb4, 0x79, 0x78, 0xfb, 0xd6, 0xb8, 0xec, 0x8e, 0x4d, 0x76, 0xd9, 0x9d, 0x6d, - 0xba, 0xec, 0x82, 0xc0, 0x65, 0x8f, 0x71, 0x5c, 0x56, 0xe8, 0x63, 0xca, 0x71, 0x38, 0x9a, 0x02, - 0x8c, 0xb9, 0xee, 0xaf, 0x03, 0xae, 0x7b, 0xcd, 0x9d, 0xf6, 0x8d, 0xeb, 0x0d, 0xa7, 0x61, 0x21, - 0xfb, 0xf1, 0xcf, 0xce, 0x21, 0x8f, 0xce, 0x6e, 0xae, 0x47, 0x77, 0x8b, 0x3c, 0x7a, 0x0f, 0x64, - 0xb1, 0x7f, 0x6c, 0x60, 0xf7, 0xcb, 0x14, 0xe9, 0x17, 0xc7, 0xd3, 0x7b, 0x37, 0xcf, 0xd3, 0x61, - 0xb3, 0xb3, 0x76, 0xdf, 0xd6, 0x65, 0xed, 0xfe, 0x2d, 0xcb, 0xda, 0x5f, 0x84, 0x80, 0x64, 0x5f, - 0x0d, 0x86, 0x00, 0x21, 0x18, 0x0b, 0x01, 0x6f, 0x49, 0x90, 0x0b, 0xec, 0xab, 0x09, 0xd4, 0x96, - 0x17, 0x02, 0x2e, 0x0a, 0x84, 0xdd, 0xc7, 0x2f, 0x04, 0xf8, 0xb8, 0x52, 0xde, 0x96, 0x60, 0xaf, + 0x05, 0xd6, 0xeb, 0xc3, 0x42, 0xfb, 0xc1, 0x62, 0x17, 0x58, 0x60, 0x81, 0x05, 0x0c, 0x18, 0x58, + 0x20, 0x06, 0x9c, 0x20, 0x91, 0x83, 0x20, 0xf0, 0x21, 0x3f, 0x04, 0x39, 0x18, 0x3e, 0x29, 0x01, + 0x02, 0x04, 0x39, 0x28, 0x81, 0x7d, 0xb0, 0xe1, 0x53, 0x90, 0x4b, 0x80, 0xe4, 0x12, 0x74, 0x55, + 0x75, 0x4d, 0x7f, 0xaa, 0xba, 0x7b, 0x46, 0xa4, 0x2d, 0x07, 0xbe, 0x48, 0xec, 0xaa, 0xf7, 0x5e, + 0xbd, 0xf7, 0xea, 0x7d, 0xaa, 0x5e, 0x55, 0x0d, 0x4c, 0xe9, 0xc6, 0xeb, 0x48, 0x73, 0xf4, 0xbb, + 0x68, 0x06, 0xdd, 0xd7, 0xd6, 0x54, 0xa3, 0x82, 0x66, 0xee, 0x9e, 0x5c, 0x41, 0x8e, 0x7a, 0x72, + 0xc6, 0xb9, 0x3f, 0x5d, 0xb7, 0x4c, 0xc7, 0x94, 0xf3, 0x0c, 0x68, 0xda, 0x03, 0x9a, 0xa6, 0x40, + 0xf9, 0x09, 0xcd, 0xb4, 0x6b, 0xa6, 0x3d, 0xb3, 0xa2, 0xda, 0x4d, 0x4c, 0xcd, 0xd4, 0x0d, 0x82, + 0x9b, 0x9f, 0xa6, 0xfd, 0x65, 0xdd, 0x76, 0x2c, 0x7d, 0xa5, 0xe1, 0xe8, 0xa6, 0xc1, 0xe0, 0xfc, + 0x8d, 0x14, 0x7e, 0x98, 0xc2, 0xd7, 0xec, 0xca, 0xcc, 0xdd, 0x93, 0xee, 0x7f, 0xb4, 0x63, 0x84, + 0x74, 0x94, 0xf0, 0xd7, 0x0c, 0xf9, 0xa0, 0x5d, 0x43, 0x15, 0xb3, 0x62, 0x92, 0x76, 0xf7, 0x2f, + 0xda, 0x7a, 0x38, 0x46, 0x34, 0x26, 0x06, 0x01, 0x3d, 0xd0, 0x04, 0x35, 0x2d, 0x55, 0xab, 0x36, + 0x01, 0xc9, 0x27, 0x05, 0xdb, 0xa5, 0xd6, 0x74, 0xc3, 0x9c, 0xc1, 0xff, 0x92, 0x26, 0xe5, 0xdd, + 0x0c, 0x0c, 0x2e, 0xd9, 0x95, 0x97, 0xeb, 0x65, 0xd5, 0x41, 0xcb, 0x75, 0xd3, 0x59, 0x52, 0xad, + 0x75, 0xe4, 0xc8, 0x43, 0xd0, 0xa5, 0x96, 0x6b, 0xba, 0x91, 0x93, 0xf6, 0x4a, 0x87, 0x7a, 0x8b, + 0xe4, 0x43, 0x1e, 0x85, 0xde, 0x1a, 0xee, 0x2f, 0xe9, 0xe5, 0x5c, 0x07, 0xee, 0xe9, 0x21, 0x0d, + 0x8b, 0x65, 0x79, 0x1c, 0xc0, 0x40, 0xf7, 0x4a, 0x8e, 0xae, 0xad, 0x23, 0x2b, 0x97, 0xc1, 0xbd, + 0xbd, 0x06, 0xba, 0x77, 0x1b, 0x37, 0xc8, 0x7f, 0x07, 0xc3, 0x6e, 0x77, 0x4d, 0x37, 0x4a, 0x75, + 0x4b, 0xd7, 0x10, 0x06, 0x2c, 0xd9, 0xfa, 0x1b, 0x28, 0xd7, 0xe9, 0xc2, 0xce, 0x4d, 0x7d, 0xf8, + 0x78, 0x72, 0xdb, 0xaf, 0x1f, 0x4f, 0x8e, 0x12, 0xdd, 0xd8, 0xe5, 0xf5, 0x69, 0xdd, 0x9c, 0xa9, + 0xa9, 0xce, 0xda, 0xf4, 0x0d, 0x54, 0x51, 0xb5, 0x8d, 0x05, 0xa4, 0x15, 0x07, 0x0d, 0x74, 0x6f, + 0x49, 0x37, 0x6e, 0xb9, 0x14, 0x5c, 0xc2, 0xcb, 0xfa, 0x1b, 0x48, 0x2e, 0x41, 0xde, 0x23, 0x7d, + 0xa7, 0xa1, 0x1a, 0x8e, 0xee, 0x6c, 0xf8, 0xa8, 0x77, 0xa5, 0xa7, 0xbe, 0x87, 0x50, 0x7f, 0x89, + 0x12, 0x61, 0x03, 0x2c, 0xc1, 0x80, 0x37, 0x80, 0x61, 0xba, 0x93, 0xad, 0x56, 0x73, 0xd9, 0xf4, + 0x64, 0x77, 0x10, 0xb2, 0x2f, 0x52, 0xd4, 0xc2, 0xe9, 0x07, 0xef, 0x4c, 0x6e, 0xfb, 0xec, 0x9d, + 0xc9, 0x6d, 0x6f, 0x7d, 0xfa, 0xf0, 0x08, 0x51, 0xed, 0xbf, 0x7d, 0xfa, 0xf0, 0xc8, 0x18, 0x9b, + 0x66, 0xce, 0x8c, 0x28, 0xe3, 0x30, 0xca, 0x69, 0x2e, 0x22, 0xbb, 0x6e, 0x1a, 0x36, 0x52, 0xfe, + 0xd0, 0x09, 0x23, 0xac, 0x7f, 0x01, 0x59, 0xfa, 0x5d, 0xd5, 0xb5, 0x87, 0xaf, 0xa7, 0x73, 0xcb, + 0xa7, 0x53, 0x7e, 0x15, 0x72, 0x2e, 0x39, 0xdd, 0xd0, 0x1d, 0x5d, 0xad, 0x96, 0x6a, 0xaa, 0x55, + 0xd1, 0x8d, 0x92, 0xa5, 0x3a, 0xba, 0x99, 0xeb, 0x4e, 0x4f, 0x76, 0xb7, 0x81, 0xee, 0x2d, 0x12, + 0x1a, 0x4b, 0x98, 0x44, 0xd1, 0xa5, 0x20, 0x97, 0x61, 0x0c, 0x33, 0xab, 0xea, 0x86, 0x83, 0x0c, + 0xd5, 0xd0, 0x50, 0x70, 0x84, 0x9e, 0xf4, 0x23, 0x8c, 0xb8, 0x8c, 0x37, 0xe9, 0xf8, 0x46, 0x29, + 0x5c, 0xe4, 0x9b, 0xa4, 0x12, 0x35, 0xc9, 0xb0, 0x6d, 0x29, 0x53, 0xb0, 0x4f, 0xd8, 0xc9, 0xcc, + 0xf3, 0x03, 0x09, 0x76, 0x32, 0xa8, 0x5b, 0xaa, 0xa5, 0xd6, 0x6c, 0xf9, 0x1c, 0xf4, 0xaa, 0x0d, + 0x67, 0xcd, 0xb4, 0x74, 0x67, 0x83, 0x18, 0xe6, 0x5c, 0xee, 0x17, 0xdf, 0x3b, 0x3e, 0x44, 0x63, + 0xe3, 0x6c, 0xb9, 0x6c, 0x21, 0xdb, 0x5e, 0x76, 0x2c, 0xdd, 0xa8, 0x14, 0x9b, 0xa0, 0xf2, 0x55, + 0xc8, 0xd6, 0x31, 0x05, 0x6c, 0xb3, 0x7d, 0xa7, 0x94, 0x69, 0x71, 0x7c, 0x9f, 0x26, 0x63, 0xcd, + 0x75, 0xba, 0xfa, 0x29, 0x52, 0xbc, 0xc2, 0x51, 0x57, 0xca, 0x26, 0x45, 0x57, 0xd2, 0x5c, 0x54, + 0x52, 0x82, 0xaa, 0x8c, 0xc0, 0x70, 0xa8, 0x89, 0x49, 0xf5, 0x1d, 0x09, 0x60, 0xc9, 0xae, 0x2c, + 0xa0, 0xba, 0x69, 0xeb, 0x8e, 0xbc, 0x07, 0xb2, 0x36, 0x32, 0xca, 0xc8, 0xa2, 0x6e, 0x46, 0xbf, + 0xe4, 0x29, 0xd8, 0x6e, 0x37, 0x56, 0x54, 0x4d, 0x33, 0x1b, 0x86, 0xcf, 0xd7, 0xfa, 0x9b, 0x8d, + 0x8b, 0x65, 0xf9, 0x3c, 0x64, 0xd5, 0x9a, 0xfb, 0x37, 0xf6, 0xb5, 0xbe, 0x53, 0x23, 0x34, 0xf3, + 0x4c, 0xbb, 0x99, 0x89, 0x89, 0x33, 0x6f, 0xea, 0x86, 0x27, 0x0c, 0x01, 0x2f, 0x1c, 0xf5, 0x4f, + 0x1d, 0x1d, 0xd2, 0x95, 0x68, 0xd0, 0x2f, 0x11, 0x65, 0x51, 0x19, 0x02, 0xb9, 0xf9, 0xc5, 0xe4, + 0x78, 0x5f, 0x82, 0xbe, 0x25, 0xbb, 0xf2, 0xb7, 0xba, 0xb3, 0x56, 0xb6, 0xd4, 0x7b, 0x5f, 0x92, + 0x20, 0xc7, 0x04, 0x82, 0x0c, 0xf9, 0x05, 0xf1, 0x78, 0x54, 0x76, 0xe3, 0xc4, 0xe5, 0x7d, 0x32, + 0x51, 0xbe, 0x2d, 0xe1, 0xe9, 0x9a, 0xb7, 0x10, 0x8d, 0x93, 0x37, 0xf4, 0x9a, 0xee, 0xdc, 0xb4, + 0x5c, 0xf6, 0x45, 0x62, 0xcd, 0x42, 0x97, 0xe9, 0x02, 0x50, 0x7b, 0x3a, 0x10, 0x67, 0x4f, 0x2e, + 0x49, 0x4c, 0x8d, 0x32, 0x4f, 0x30, 0x0b, 0x17, 0x04, 0xbc, 0xef, 0xf5, 0xf3, 0xce, 0x63, 0x4a, + 0x79, 0x15, 0x26, 0x05, 0x5d, 0x9e, 0x4c, 0x6e, 0x28, 0xc6, 0xa3, 0x94, 0xd6, 0x54, 0x7b, 0x8d, + 0xf2, 0xde, 0x8b, 0x5b, 0x9e, 0x57, 0xed, 0x35, 0x79, 0x00, 0x32, 0x1a, 0x9b, 0x0b, 0xf7, 0xcf, + 0x42, 0x8f, 0xc7, 0x8d, 0xf2, 0x03, 0x09, 0xc6, 0x97, 0xec, 0xca, 0x9c, 0xea, 0x68, 0x6b, 0xbc, + 0x31, 0x6c, 0xa1, 0x52, 0xe6, 0x21, 0x8b, 0x87, 0x70, 0xbd, 0x2c, 0xd3, 0xaa, 0x56, 0x28, 0x6a, + 0xe1, 0x59, 0x81, 0x5a, 0x9e, 0xf1, 0xab, 0x45, 0xcc, 0x9c, 0xf2, 0x5d, 0x09, 0x0e, 0xc4, 0x42, + 0x30, 0x1d, 0xed, 0x83, 0xfe, 0xa6, 0x8e, 0x90, 0x9d, 0x93, 0xf6, 0x66, 0x0e, 0xf5, 0x16, 0xfb, + 0x98, 0x96, 0x90, 0x2d, 0x4f, 0xc3, 0xa0, 0x86, 0x69, 0x94, 0x4b, 0x84, 0xbd, 0x92, 0xa6, 0x97, + 0x89, 0x78, 0xbd, 0xc5, 0x5d, 0xb4, 0x8b, 0x90, 0x9d, 0xd7, 0xcb, 0xb6, 0x7c, 0x0c, 0xe4, 0x55, + 0x55, 0xaf, 0x86, 0xc0, 0x33, 0x18, 0x7c, 0x80, 0xf4, 0x34, 0xa1, 0x7d, 0x3a, 0xff, 0x71, 0x06, + 0xf2, 0x4b, 0x76, 0x65, 0xd1, 0xb0, 0x1d, 0xd5, 0x70, 0x9a, 0xb9, 0xfa, 0x86, 0xda, 0x30, 0xb4, + 0x35, 0xa1, 0xc2, 0xf7, 0x40, 0x96, 0x26, 0x5b, 0x32, 0x93, 0xf4, 0xcb, 0x9d, 0x7d, 0xd7, 0x73, + 0x4a, 0x65, 0x64, 0x98, 0x35, 0x2f, 0x11, 0xbb, 0x2d, 0x0b, 0x6e, 0x83, 0x3c, 0x09, 0x7d, 0x77, + 0x1a, 0xa6, 0xe3, 0xf5, 0xe3, 0xe4, 0x5b, 0x04, 0xdc, 0x44, 0x00, 0x8a, 0x30, 0xc8, 0xcb, 0xd2, + 0x2d, 0xe4, 0xd1, 0x81, 0x5a, 0x38, 0x45, 0xbf, 0x02, 0x7b, 0x04, 0xe9, 0xb9, 0x85, 0x3c, 0xea, + 0xb2, 0x15, 0xc9, 0xcd, 0xd7, 0xa1, 0x3f, 0x90, 0x97, 0x5b, 0x48, 0xa0, 0x7d, 0x35, 0xdf, 0x1a, + 0xeb, 0x92, 0xc0, 0xf2, 0xa6, 0xfc, 0x96, 0x27, 0x98, 0x22, 0x65, 0x3f, 0x28, 0xe2, 0xde, 0x66, + 0xd4, 0xec, 0xc6, 0xae, 0x4b, 0xc1, 0x6e, 0x21, 0xab, 0x8e, 0x9c, 0x06, 0x4e, 0xde, 0xed, 0x4f, + 0x76, 0x68, 0x36, 0x33, 0x91, 0xd9, 0x9c, 0x84, 0x3e, 0xb2, 0xa6, 0x2f, 0xb9, 0x26, 0xe0, 0x4d, + 0x37, 0x69, 0x9a, 0x53, 0x3d, 0x47, 0xc0, 0x00, 0x18, 0x8b, 0xcc, 0x73, 0x91, 0x22, 0xbd, 0xe4, + 0x36, 0xb9, 0x8e, 0x40, 0x41, 0x6c, 0x4d, 0xad, 0xa2, 0xd2, 0xaa, 0xaa, 0x39, 0xa6, 0x85, 0xa7, + 0x6e, 0x7b, 0x71, 0x17, 0xe9, 0x5a, 0x76, 0x7b, 0xae, 0xe3, 0x0e, 0xf9, 0x1a, 0x1b, 0xd3, 0xd9, + 0xa8, 0x23, 0x3c, 0x25, 0x3b, 0x4e, 0xed, 0xf7, 0xc5, 0x03, 0xba, 0xcb, 0xf0, 0xa2, 0xc1, 0x4d, + 0xfc, 0x79, 0x7b, 0xa3, 0x8e, 0x3c, 0xce, 0xdc, 0xbf, 0xe5, 0x45, 0xd8, 0x51, 0x53, 0xd7, 0x91, + 0x55, 0x5a, 0x45, 0xc8, 0x5d, 0xbc, 0xa0, 0x56, 0xd6, 0x2e, 0xfd, 0x18, 0xf5, 0x3a, 0x42, 0x45, + 0xd5, 0xc1, 0xa4, 0x9c, 0x20, 0xa9, 0xde, 0x16, 0x48, 0x39, 0x7e, 0x52, 0x2f, 0xc3, 0x10, 0x77, + 0xe5, 0x06, 0xe9, 0x09, 0xca, 0x7a, 0x74, 0xd9, 0xf6, 0x1a, 0xe4, 0x84, 0x4b, 0xb6, 0xbe, 0x16, + 0x96, 0xb0, 0x35, 0xee, 0x7a, 0x4d, 0xe4, 0xd4, 0xfd, 0x5b, 0xe3, 0xd4, 0xdb, 0x37, 0xd9, 0xa9, + 0x77, 0xb4, 0xe9, 0xd4, 0x57, 0x05, 0x4e, 0x7d, 0x88, 0xe3, 0xd4, 0x5c, 0x7f, 0x54, 0x0e, 0xc3, + 0xc1, 0x04, 0x10, 0xe6, 0xde, 0xff, 0xda, 0x0d, 0x53, 0x4d, 0xd8, 0x39, 0xdd, 0x50, 0xad, 0x8d, + 0x9b, 0x75, 0x97, 0x13, 0xfb, 0x89, 0x5c, 0x7c, 0x0a, 0xb6, 0x7b, 0xde, 0xb7, 0x51, 0x5b, 0x31, + 0xab, 0xd4, 0xc9, 0xa9, 0xd7, 0x2e, 0xe3, 0x36, 0xf9, 0x20, 0xec, 0xa4, 0x40, 0x75, 0xcb, 0xbc, + 0xab, 0xbb, 0xd4, 0x89, 0xab, 0xef, 0x20, 0xcd, 0xb7, 0x68, 0x6b, 0xd8, 0x37, 0xbb, 0xda, 0xf4, + 0xcd, 0x56, 0x43, 0x42, 0xd4, 0x97, 0xbb, 0x37, 0xcf, 0x97, 0x7b, 0xda, 0xf5, 0xe5, 0x93, 0x30, + 0x84, 0xee, 0xd7, 0x75, 0xec, 0x65, 0x46, 0xc9, 0xd1, 0x6b, 0xc8, 0x76, 0xd4, 0x5a, 0x1d, 0x07, + 0x87, 0x4c, 0x71, 0xb0, 0xd9, 0x77, 0xdb, 0xeb, 0x72, 0x51, 0x6c, 0xe4, 0x38, 0x55, 0x54, 0x43, + 0x86, 0xe3, 0x43, 0x01, 0x82, 0xd2, 0xec, 0x6b, 0xa2, 0xb0, 0xcd, 0x74, 0x9f, 0x7f, 0x33, 0x1d, + 0x8a, 0xdc, 0xfd, 0x69, 0xf3, 0xf0, 0xf6, 0xad, 0x71, 0xd9, 0x1d, 0x9b, 0xec, 0xb2, 0x3b, 0xdb, + 0x74, 0xd9, 0x05, 0x81, 0xcb, 0x1e, 0xe3, 0xb8, 0xac, 0xd0, 0xc7, 0x94, 0xe3, 0x70, 0x34, 0x05, + 0x18, 0x73, 0xdd, 0x9f, 0x07, 0x5c, 0xf7, 0x9a, 0x3b, 0xed, 0x1b, 0xd7, 0x1b, 0x4e, 0xc3, 0x42, + 0xf6, 0xd3, 0x9f, 0x9d, 0x43, 0x1e, 0x9d, 0xdd, 0x5c, 0x8f, 0xee, 0x16, 0x79, 0xf4, 0x1e, 0xc8, + 0x62, 0xff, 0xd8, 0xc0, 0xee, 0x97, 0x29, 0xd2, 0x2f, 0x8e, 0xa7, 0xf7, 0x6e, 0x9e, 0xa7, 0xc3, + 0x66, 0x67, 0xed, 0xbe, 0xad, 0xcb, 0xda, 0xfd, 0x5b, 0x96, 0xb5, 0xbf, 0x0e, 0x01, 0xc9, 0xbe, + 0x1a, 0x0c, 0x01, 0x42, 0x30, 0x16, 0x02, 0x1e, 0x4a, 0x90, 0x0b, 0xec, 0xab, 0x09, 0xd4, 0x96, + 0x17, 0x02, 0x2e, 0x0a, 0x84, 0xdd, 0xc7, 0x2f, 0x04, 0xf8, 0xb8, 0x52, 0xde, 0x97, 0x60, 0xaf, 0xa8, 0x33, 0x6d, 0x2d, 0xa0, 0x08, 0xdd, 0x16, 0xb2, 0x1b, 0x55, 0xc7, 0x2b, 0x8e, 0x9d, 0x4a, 0x92, 0x21, 0x38, 0x88, 0x8b, 0x89, 0x05, 0x92, 0x8a, 0x1e, 0x21, 0xaf, 0xbe, 0x90, 0xe1, 0xd5, - 0x17, 0x7e, 0x2b, 0xc1, 0x1e, 0x3e, 0x15, 0xf9, 0x0a, 0xf4, 0x78, 0x46, 0x49, 0xab, 0x7b, 0xa9, + 0x17, 0x7e, 0x29, 0xc1, 0x1e, 0x3e, 0x15, 0xf9, 0x0a, 0xf4, 0x78, 0x46, 0x49, 0xab, 0x7b, 0xa9, 0x4c, 0x87, 0x21, 0xc9, 0x17, 0xa1, 0x0b, 0x7b, 0x0a, 0x09, 0xc2, 0xe9, 0xb0, 0x09, 0x86, 0x7c, 0x16, 0x32, 0xab, 0x08, 0x11, 0x96, 0xd3, 0x21, 0xba, 0xf0, 0xd1, 0xba, 0x09, 0x99, 0x8b, 0x66, - 0x55, 0x33, 0x45, 0x31, 0xe9, 0xa9, 0xa0, 0x0d, 0x1d, 0x8d, 0xd3, 0x7f, 0x93, 0x30, 0xc7, 0x92, + 0x55, 0x33, 0x45, 0x31, 0xe9, 0xb9, 0xa0, 0x0d, 0x1d, 0x8d, 0xd3, 0x7f, 0x93, 0x30, 0xc7, 0x92, 0x0a, 0x0f, 0x12, 0xea, 0x26, 0x62, 0xe6, 0x94, 0x15, 0x5c, 0x36, 0x11, 0x03, 0x6c, 0x46, 0x69, - 0xe9, 0x17, 0x7e, 0x73, 0x0d, 0xe4, 0xe4, 0x4f, 0x53, 0x4b, 0x97, 0x39, 0x5a, 0x3a, 0x1c, 0xd5, - 0x92, 0x80, 0x3f, 0x05, 0xc1, 0xa1, 0x24, 0x98, 0xcd, 0xd0, 0xd5, 0x7b, 0x12, 0x5e, 0x90, 0xf8, + 0xe9, 0xa7, 0x7e, 0x73, 0x0d, 0xe4, 0xe4, 0x2f, 0x52, 0x4b, 0x97, 0x39, 0x5a, 0x3a, 0x1c, 0xd5, + 0x92, 0x80, 0x3f, 0x05, 0xc1, 0xa1, 0x24, 0x98, 0xcd, 0xd0, 0xd5, 0x47, 0x12, 0x5e, 0x90, 0xf8, 0xea, 0x58, 0xbc, 0x59, 0x11, 0x17, 0xe3, 0x16, 0x43, 0xc5, 0xb8, 0x36, 0xf4, 0xe5, 0x95, 0xe4, - 0xae, 0x3e, 0x48, 0x88, 0xc4, 0x49, 0x4c, 0x2a, 0xef, 0x48, 0x38, 0x14, 0x27, 0xc1, 0x3d, 0x8e, - 0xa5, 0xb9, 0xf7, 0x25, 0x5c, 0xff, 0x9e, 0x77, 0x13, 0x73, 0x95, 0x45, 0x70, 0xa1, 0xda, 0x63, - 0x0f, 0xc8, 0x22, 0xc5, 0xf0, 0x0c, 0xa7, 0x18, 0x1e, 0xb4, 0x99, 0x4e, 0x81, 0xcd, 0x74, 0x35, - 0x6d, 0x66, 0x86, 0x33, 0x3d, 0xa3, 0x01, 0x7b, 0x0e, 0xf2, 0xae, 0x8c, 0xe1, 0x62, 0x63, 0xa8, - 0x95, 0xa5, 0xc1, 0x37, 0x49, 0x1a, 0x24, 0x73, 0x15, 0x84, 0x11, 0x5b, 0xdb, 0x15, 0xe8, 0x2c, - 0xab, 0x8e, 0x9a, 0xa6, 0xf0, 0x8b, 0x29, 0x2d, 0xa8, 0x8e, 0x4a, 0xad, 0x0c, 0x23, 0x16, 0xce, - 0x3e, 0x48, 0x48, 0x80, 0x5c, 0x7e, 0x94, 0xeb, 0x38, 0xa0, 0x70, 0xfb, 0x98, 0x31, 0xe5, 0xa0, - 0xdb, 0x6e, 0x68, 0x1a, 0xb2, 0x89, 0x1d, 0xf5, 0x14, 0xbd, 0xcf, 0x60, 0xf0, 0xde, 0x17, 0x24, - 0x14, 0x70, 0xed, 0xad, 0x96, 0xfe, 0x49, 0x8e, 0xf4, 0x47, 0x04, 0xd2, 0x73, 0x18, 0x53, 0x6e, - 0xc2, 0xe1, 0x44, 0xa0, 0x96, 0xf4, 0xf1, 0xe7, 0x6e, 0x18, 0xf2, 0x28, 0x92, 0x73, 0xac, 0x04, - 0x15, 0xa4, 0x3a, 0xe7, 0xb9, 0x02, 0xe3, 0x76, 0xdd, 0x74, 0x4a, 0xcc, 0x43, 0xec, 0x92, 0x63, - 0x96, 0x34, 0xcc, 0x71, 0x49, 0xad, 0x56, 0xa9, 0x3b, 0xe6, 0x6c, 0xb6, 0x3c, 0x58, 0x2c, 0xdb, - 0xb7, 0x4d, 0x22, 0xd2, 0x6c, 0xb5, 0x2a, 0x3f, 0x03, 0x53, 0x65, 0x16, 0x38, 0xc4, 0x64, 0x3a, - 0x31, 0x99, 0x89, 0x72, 0xe8, 0x68, 0x31, 0x44, 0xec, 0x3f, 0x60, 0x37, 0xe6, 0x86, 0xc6, 0x03, - 0x46, 0x22, 0xd7, 0xd5, 0xea, 0x34, 0x4a, 0x45, 0xd9, 0x66, 0x76, 0xe7, 0x0d, 0x21, 0xbf, 0x0c, - 0xa3, 0x3e, 0x66, 0x23, 0xa3, 0x64, 0x5b, 0x1f, 0x25, 0x57, 0x0e, 0xc6, 0xe9, 0xe6, 0x58, 0x1c, - 0x59, 0x70, 0x04, 0xcc, 0x75, 0xb7, 0x7a, 0x12, 0x13, 0x96, 0x05, 0x93, 0x91, 0xeb, 0x22, 0x59, - 0xc8, 0x28, 0x3d, 0xed, 0xa5, 0x18, 0xbe, 0x44, 0x64, 0xc4, 0x3b, 0x30, 0xb9, 0x82, 0x8d, 0xb8, - 0x64, 0x12, 0x2b, 0x8e, 0x6a, 0xb0, 0xb7, 0x75, 0x0d, 0x8e, 0xae, 0x44, 0x1d, 0x83, 0x29, 0xb1, - 0x08, 0x07, 0x43, 0x43, 0x0a, 0x2d, 0x0c, 0xb0, 0x85, 0xed, 0x5b, 0x89, 0xd6, 0x15, 0x42, 0x46, - 0x76, 0x2f, 0x4e, 0x0c, 0xa2, 0xbc, 0xbe, 0x76, 0x95, 0x27, 0x10, 0x06, 0x53, 0x2d, 0x9c, 0xe4, - 0x84, 0x94, 0xf1, 0x48, 0x48, 0xf1, 0xfb, 0xb6, 0xf2, 0x20, 0x0b, 0x63, 0xbc, 0x0e, 0x16, 0x39, - 0xa6, 0x61, 0x10, 0x5b, 0x19, 0x55, 0x44, 0x30, 0x8a, 0xec, 0x72, 0xbb, 0x68, 0x10, 0x26, 0x1d, - 0x72, 0x01, 0x46, 0x7c, 0x56, 0x13, 0xc2, 0xea, 0xc0, 0x58, 0xc3, 0x4d, 0x80, 0x20, 0xee, 0x11, - 0xd8, 0xd5, 0xb4, 0x68, 0x6f, 0x1d, 0x40, 0xe2, 0xc3, 0x4e, 0x66, 0xa0, 0x74, 0x2d, 0x70, 0x0e, - 0x86, 0xc3, 0xd6, 0xe9, 0x61, 0x90, 0x50, 0xb0, 0x3b, 0x64, 0x66, 0x14, 0x6f, 0x16, 0xc6, 0x43, - 0x93, 0x13, 0xe2, 0xb1, 0x0b, 0xf3, 0x98, 0x0f, 0xe8, 0x39, 0xc8, 0xe6, 0x65, 0x18, 0xe5, 0xcd, - 0xaf, 0x37, 0x7c, 0x96, 0x04, 0xb4, 0xe8, 0x44, 0x51, 0x0e, 0xce, 0x43, 0xce, 0x5b, 0xc5, 0xf8, - 0xfd, 0x17, 0xaf, 0x4d, 0xba, 0x09, 0xeb, 0xb4, 0xbf, 0x99, 0xd8, 0xf0, 0x72, 0xe6, 0x2c, 0x0c, - 0xd3, 0xe5, 0x4c, 0x04, 0xaf, 0x07, 0xe3, 0x0d, 0x91, 0xee, 0x10, 0xda, 0x3c, 0x4c, 0x78, 0xe3, - 0x45, 0xfd, 0x19, 0x63, 0xf7, 0x62, 0xec, 0x51, 0x0a, 0x15, 0x32, 0x3c, 0x42, 0x64, 0x16, 0xc6, - 0xe9, 0xd8, 0x02, 0x1a, 0xc4, 0x3b, 0xf2, 0x04, 0x88, 0x4b, 0xe2, 0x9f, 0x41, 0xf1, 0xf8, 0xe0, - 0xbb, 0x07, 0xa6, 0xd3, 0x47, 0xe2, 0x38, 0x85, 0xe4, 0xe4, 0x34, 0x4c, 0xeb, 0x69, 0xd8, 0x47, - 0xd9, 0x89, 0x21, 0xd5, 0x8f, 0x49, 0x51, 0xbe, 0x05, 0x94, 0x7c, 0xf9, 0xef, 0xa7, 0x12, 0x4c, - 0x70, 0xb6, 0x43, 0x69, 0x2a, 0x02, 0x9b, 0xb6, 0x4f, 0xb9, 0xc4, 0xf1, 0xe0, 0x83, 0x71, 0xbb, - 0x39, 0x7f, 0x65, 0xe0, 0x27, 0x12, 0x3c, 0x11, 0x0f, 0x92, 0x76, 0x93, 0xf2, 0x42, 0xb8, 0x3e, - 0x70, 0x21, 0x9d, 0x44, 0x8f, 0x56, 0x25, 0xf8, 0x53, 0x07, 0x8c, 0xc5, 0xd1, 0xfa, 0x1c, 0xd6, - 0x0a, 0xe4, 0x7f, 0x81, 0x1d, 0xf8, 0x12, 0x8d, 0x6e, 0x1a, 0xa5, 0x32, 0xaa, 0x3a, 0x2a, 0x5e, - 0xdd, 0xf7, 0x9d, 0x3a, 0x1c, 0x7b, 0x1b, 0x89, 0x62, 0x2c, 0xb8, 0x08, 0xd4, 0x40, 0xb6, 0xd7, - 0xfd, 0x8d, 0xf2, 0x25, 0xc8, 0xd6, 0xd5, 0x0d, 0xb3, 0xe1, 0xb4, 0x72, 0x42, 0x4f, 0x51, 0x7c, - 0x2a, 0xff, 0x25, 0x59, 0x03, 0x73, 0x76, 0xb6, 0x9f, 0xaa, 0xd9, 0x27, 0xae, 0x85, 0xe3, 0x19, - 0x54, 0x7e, 0x2e, 0xe1, 0xc5, 0x70, 0x3c, 0xd4, 0xe3, 0x6d, 0xfc, 0x7f, 0xa3, 0x95, 0x48, 0x9c, - 0x69, 0x42, 0xca, 0xfa, 0xec, 0x76, 0x9e, 0xac, 0xbb, 0xa6, 0xda, 0xeb, 0xd8, 0xd4, 0xba, 0x68, - 0xf7, 0x92, 0x6a, 0xaf, 0x7b, 0x02, 0x65, 0x9b, 0x02, 0x25, 0xee, 0xe9, 0xb8, 0x02, 0x2a, 0x0a, - 0x29, 0x12, 0xf1, 0xfa, 0xd8, 0x26, 0xf5, 0x7f, 0x3a, 0xf0, 0xdd, 0x56, 0xd1, 0x66, 0xe7, 0x73, - 0xa4, 0xa4, 0x0b, 0x1c, 0x25, 0xed, 0x8f, 0x2a, 0x29, 0x2a, 0xa3, 0x72, 0x00, 0x17, 0x88, 0x44, - 0xdd, 0x4c, 0x55, 0xaf, 0x49, 0xd0, 0xcb, 0x96, 0xc1, 0x41, 0x05, 0x48, 0x49, 0x0a, 0xe8, 0x48, - 0x54, 0x40, 0x26, 0x5e, 0x01, 0x9d, 0x02, 0x05, 0x34, 0xcb, 0x17, 0xca, 0x8f, 0x48, 0xaa, 0xf5, - 0x6d, 0x5e, 0xc3, 0x2b, 0x86, 0xad, 0xdb, 0x77, 0x27, 0xa6, 0xd8, 0x18, 0xae, 0x94, 0x1b, 0x38, - 0xc3, 0xc6, 0x40, 0xb4, 0xb4, 0xe3, 0xfe, 0xdf, 0x0e, 0xd8, 0xbd, 0x64, 0x57, 0x96, 0x99, 0xaa, - 0x6f, 0x5b, 0xaa, 0x61, 0xaf, 0xc6, 0xd8, 0xf2, 0x09, 0x18, 0xb2, 0xcd, 0x86, 0xa5, 0xa1, 0x12, - 0x6f, 0xd2, 0x64, 0xd2, 0xb7, 0xec, 0x9f, 0x3a, 0xbc, 0x1e, 0xb7, 0x1d, 0xdd, 0x20, 0xa7, 0xdd, - 0x3c, 0x63, 0x1f, 0xf6, 0x01, 0x2c, 0xf3, 0xef, 0x68, 0x76, 0xb6, 0x76, 0x47, 0x73, 0x3a, 0xa4, - 0xdf, 0x09, 0xbf, 0x7e, 0xa3, 0xe2, 0x2a, 0x93, 0xb8, 0x8c, 0x1e, 0xed, 0x60, 0x06, 0xfd, 0x6a, - 0x07, 0xbe, 0xc7, 0x79, 0xed, 0xbe, 0x83, 0x2c, 0x43, 0xad, 0xfe, 0xa3, 0xe8, 0xe9, 0x58, 0x48, - 0x4f, 0x81, 0xbb, 0xfd, 0x61, 0x61, 0xe9, 0xdd, 0xfe, 0x70, 0x33, 0xd3, 0xd1, 0xc7, 0x12, 0xae, - 0xdf, 0xdc, 0xd0, 0xef, 0x34, 0x74, 0x7c, 0x0b, 0x99, 0x2e, 0x18, 0x1e, 0xad, 0x7e, 0x13, 0x08, - 0x1e, 0x99, 0x50, 0xf0, 0x60, 0x0b, 0x80, 0xce, 0xf6, 0x16, 0x00, 0x92, 0xb7, 0x00, 0x38, 0x1e, - 0xb7, 0x6b, 0x8d, 0x48, 0xa4, 0x4c, 0xe0, 0x4d, 0x6b, 0xa4, 0x9d, 0xa9, 0xe2, 0x0d, 0x92, 0x4c, - 0xaf, 0xd5, 0x90, 0x55, 0x41, 0x86, 0xb6, 0xb1, 0x8c, 0xef, 0x67, 0xd0, 0x57, 0x0e, 0x5b, 0xa6, - 0x8e, 0xc2, 0xc9, 0xb8, 0xc4, 0xc7, 0x65, 0x86, 0x26, 0x3e, 0x6e, 0x5f, 0xf3, 0xfe, 0x78, 0x07, - 0x7e, 0xb4, 0xb1, 0x68, 0xb8, 0x9b, 0x22, 0x9b, 0x49, 0x4b, 0x8e, 0x8c, 0x1f, 0x13, 0x17, 0x08, - 0xe8, 0xa5, 0x33, 0x64, 0x26, 0x97, 0x98, 0x7f, 0xb4, 0xb2, 0x58, 0xa5, 0x3e, 0x72, 0x2a, 0xa4, - 0x54, 0x25, 0x78, 0x1e, 0xcc, 0xd3, 0x09, 0x7d, 0x6c, 0xc0, 0xef, 0x0c, 0xab, 0x75, 0x01, 0x7d, - 0xa1, 0xd6, 0xb0, 0x5a, 0xf9, 0x3a, 0xa1, 0x6a, 0xe5, 0x77, 0x32, 0xb5, 0xbe, 0x27, 0x61, 0xe7, - 0xbc, 0x65, 0xe9, 0x77, 0xf5, 0x2a, 0xaa, 0xa0, 0xf2, 0xb5, 0xfb, 0x48, 0x6b, 0x38, 0x68, 0xde, - 0x34, 0x1c, 0x4b, 0xd5, 0xc4, 0xfe, 0x37, 0x04, 0x5d, 0xab, 0x0d, 0xa3, 0x6c, 0x53, 0x55, 0x92, - 0x0f, 0xf9, 0x30, 0x0c, 0x68, 0x14, 0xb3, 0xa4, 0x92, 0xb7, 0x1e, 0x54, 0x69, 0x3b, 0xbd, 0x76, - 0xfa, 0x04, 0x44, 0x96, 0xe9, 0xd2, 0x80, 0xe8, 0x89, 0x64, 0xfb, 0xcb, 0x82, 0x83, 0xf6, 0x03, - 0x7e, 0x71, 0x85, 0xbc, 0xba, 0x81, 0x64, 0x7f, 0x1c, 0x00, 0x4b, 0xf7, 0x2f, 0x03, 0x60, 0x7e, - 0x4b, 0x65, 0x7d, 0x75, 0x15, 0x67, 0xfc, 0xd8, 0x34, 0x70, 0xc2, 0x9d, 0xaa, 0x37, 0xff, 0x30, - 0x79, 0xa8, 0xa2, 0x3b, 0x6b, 0x8d, 0x95, 0x69, 0xcd, 0xac, 0xd1, 0xc7, 0x7e, 0xf4, 0xbf, 0xe3, - 0x76, 0x79, 0x7d, 0xc6, 0xd9, 0xa8, 0x23, 0x1b, 0x23, 0xd8, 0xc5, 0x5e, 0x4c, 0x7e, 0x41, 0x5f, - 0x5d, 0x2d, 0x0c, 0x72, 0x64, 0x52, 0x5e, 0x82, 0x81, 0x25, 0xbb, 0x52, 0x44, 0xf7, 0x54, 0xab, - 0x6c, 0xdf, 0xac, 0x3b, 0x37, 0x1b, 0x42, 0x4d, 0x93, 0x3a, 0x21, 0x47, 0x29, 0x23, 0x7e, 0xa5, - 0x04, 0x48, 0x29, 0x79, 0x1c, 0x50, 0x03, 0x6d, 0xfe, 0xf7, 0x2d, 0xbb, 0x71, 0xa7, 0x56, 0x55, - 0xf5, 0xda, 0x0d, 0x53, 0x5b, 0x47, 0xe5, 0xeb, 0x78, 0xf2, 0xc4, 0x4e, 0x34, 0x58, 0xc5, 0x60, - 0xb3, 0xc4, 0xd2, 0x6f, 0x35, 0x56, 0x9e, 0x41, 0x1b, 0x78, 0xe2, 0xfb, 0x8b, 0xbc, 0x2e, 0x79, - 0x0c, 0x7a, 0x6d, 0xbd, 0x62, 0xa8, 0x4e, 0xc3, 0x22, 0x9b, 0xf0, 0xfe, 0x62, 0xb3, 0x21, 0x7e, - 0xbd, 0x11, 0xe5, 0x8b, 0xae, 0x37, 0xa2, 0x1d, 0x4c, 0xa4, 0xff, 0x26, 0x4f, 0x5d, 0x96, 0xf5, - 0x8a, 0x81, 0x97, 0xd0, 0xcb, 0x90, 0x75, 0xff, 0xa6, 0x82, 0xf4, 0xcf, 0x5d, 0xfa, 0xe4, 0xe1, - 0x64, 0xd6, 0xc6, 0x2d, 0x7f, 0x7d, 0x38, 0x79, 0x3c, 0xc5, 0x2c, 0xce, 0x6a, 0x1a, 0xb5, 0xd3, - 0x22, 0x25, 0x25, 0x8f, 0x41, 0xe7, 0x02, 0x59, 0xca, 0xba, 0x24, 0x7b, 0x3e, 0x79, 0x38, 0x89, - 0x6d, 0xb6, 0x88, 0x5b, 0x95, 0xfb, 0xf8, 0xd1, 0x10, 0xe6, 0xc0, 0xd4, 0xe4, 0x03, 0x44, 0x7e, - 0x72, 0xd9, 0x8b, 0xd4, 0x3e, 0x30, 0x82, 0xfb, 0x5d, 0xec, 0x71, 0xbb, 0xf0, 0x75, 0xae, 0x79, - 0xe8, 0xba, 0xab, 0x56, 0x1b, 0x88, 0xee, 0x5c, 0x0f, 0xc6, 0x25, 0x64, 0x9f, 0x7c, 0xde, 0x6e, - 0x1c, 0xe3, 0x2a, 0x5f, 0xce, 0x60, 0x3f, 0x9f, 0x2d, 0xd7, 0x74, 0x83, 0xd4, 0x84, 0x39, 0x5b, - 0xea, 0xf6, 0xb6, 0x5b, 0xcf, 0xc2, 0x80, 0xef, 0x1e, 0x25, 0xa9, 0xc5, 0x34, 0x4b, 0x2a, 0x52, - 0x52, 0xf0, 0xda, 0xd9, 0x44, 0xc6, 0xd7, 0x9b, 0x84, 0x57, 0x39, 0x3b, 0x5b, 0xbf, 0xca, 0xd9, - 0x25, 0xbe, 0xca, 0x79, 0x15, 0xb2, 0xb6, 0xa3, 0x3a, 0x0d, 0x9b, 0x5e, 0xb3, 0x3b, 0x14, 0xab, - 0x56, 0x2c, 0xeb, 0x32, 0x86, 0x2f, 0x52, 0xbc, 0x42, 0x21, 0xae, 0xb8, 0x11, 0xaf, 0x68, 0xe5, - 0x28, 0xae, 0x6d, 0xc4, 0x03, 0x31, 0xc3, 0xfd, 0x0e, 0x79, 0xd8, 0x34, 0x4b, 0x1e, 0xad, 0xbd, - 0x82, 0x96, 0x1d, 0x75, 0x1d, 0x3d, 0x65, 0xa9, 0x86, 0x23, 0xf6, 0xc6, 0xeb, 0x90, 0xad, 0x60, - 0x08, 0xba, 0xa9, 0x9a, 0x8e, 0x13, 0x0f, 0xd3, 0xf2, 0xc8, 0x63, 0xd5, 0x16, 0x29, 0x76, 0xe1, - 0x44, 0xdc, 0xab, 0x26, 0x1e, 0x47, 0xca, 0x3e, 0xfc, 0x34, 0x82, 0xd7, 0xc5, 0x04, 0xda, 0xc0, - 0xb1, 0x65, 0xd6, 0xe5, 0x46, 0x75, 0x7c, 0x10, 0x42, 0x69, 0x72, 0xd0, 0x8d, 0xf9, 0x61, 0xd7, - 0x32, 0xbd, 0xcf, 0xf8, 0x28, 0x11, 0x1d, 0x81, 0x46, 0x89, 0x68, 0x87, 0xc7, 0xdb, 0xa9, 0x5f, - 0x1d, 0x84, 0xcc, 0x92, 0x5d, 0x91, 0x55, 0xe8, 0xf6, 0x1e, 0xf7, 0x3d, 0x91, 0xe0, 0x71, 0x14, - 0x2e, 0x3f, 0x9d, 0x0e, 0x8e, 0xe5, 0x97, 0x32, 0xf4, 0xb0, 0x77, 0x77, 0x49, 0x5e, 0xed, 0x01, - 0xe6, 0x67, 0x52, 0x02, 0xb2, 0x51, 0xbe, 0x26, 0xc1, 0xb0, 0xe8, 0x41, 0xd2, 0xb9, 0x04, 0x62, - 0x02, 0xbc, 0xfc, 0x93, 0xed, 0xe1, 0x31, 0x9e, 0x5e, 0x97, 0x60, 0x2c, 0xf6, 0xf1, 0xcc, 0xa5, - 0x74, 0x03, 0x70, 0x91, 0xf3, 0xf3, 0x8f, 0x80, 0xcc, 0x58, 0xfc, 0xae, 0x04, 0x7b, 0x13, 0x6f, - 0x11, 0x5f, 0x49, 0x37, 0x92, 0x90, 0x40, 0xfe, 0xa9, 0x47, 0x24, 0xc0, 0xd8, 0x7d, 0x20, 0xc1, - 0x10, 0xf7, 0xe5, 0xe3, 0xe9, 0x84, 0x11, 0x78, 0x48, 0xf9, 0x4b, 0x6d, 0x20, 0x31, 0x56, 0xbe, - 0x29, 0x41, 0x3e, 0xe6, 0xd5, 0xe1, 0xc5, 0x04, 0xda, 0x62, 0xd4, 0xfc, 0x6c, 0xdb, 0xa8, 0x8c, - 0xb9, 0x2f, 0x49, 0xb0, 0x9b, 0x7f, 0x33, 0xf4, 0x4c, 0x6a, 0x99, 0x7d, 0x58, 0xf9, 0x7f, 0x6a, - 0x07, 0x8b, 0x71, 0xb3, 0x01, 0x3b, 0xc3, 0x17, 0x92, 0x92, 0x82, 0x48, 0x08, 0x3e, 0x7f, 0xae, - 0x35, 0xf8, 0x80, 0x22, 0xf8, 0x77, 0x83, 0xce, 0xa4, 0xd2, 0x72, 0x08, 0x2b, 0x51, 0x11, 0xf1, - 0x77, 0x7b, 0xfe, 0x0b, 0x76, 0x45, 0xef, 0xa8, 0x9c, 0x48, 0x43, 0xd2, 0x8f, 0x91, 0xbf, 0xd0, - 0x2a, 0x06, 0x63, 0xe0, 0x1b, 0x12, 0x8c, 0x88, 0xb7, 0x37, 0x49, 0x74, 0x85, 0x98, 0xf9, 0xab, + 0xae, 0x3e, 0x48, 0x88, 0xc4, 0x49, 0x4c, 0x2a, 0x1f, 0x48, 0x38, 0x14, 0x27, 0xc1, 0x3d, 0x8d, + 0xa5, 0xb9, 0x47, 0x12, 0xae, 0x7f, 0xcf, 0xbb, 0x89, 0xb9, 0xca, 0x22, 0xb8, 0x50, 0xed, 0xb1, + 0x07, 0x64, 0x91, 0x62, 0x78, 0x86, 0x53, 0x0c, 0x0f, 0xda, 0x4c, 0xa7, 0xc0, 0x66, 0xba, 0x9a, + 0x36, 0x33, 0xc3, 0x99, 0x9e, 0xd1, 0x80, 0x3d, 0x07, 0x79, 0x57, 0xc6, 0x70, 0xb1, 0x31, 0xd4, + 0xca, 0xd2, 0xe0, 0x7b, 0x24, 0x0d, 0x92, 0xb9, 0x0a, 0xc2, 0x88, 0xad, 0xed, 0x0a, 0x74, 0x96, + 0x55, 0x47, 0x4d, 0x53, 0xf8, 0xc5, 0x94, 0x16, 0x54, 0x47, 0xa5, 0x56, 0x86, 0x11, 0x0b, 0x67, + 0x1f, 0x24, 0x24, 0x40, 0x2e, 0x3f, 0xca, 0x75, 0x1c, 0x50, 0xb8, 0x7d, 0xcc, 0x98, 0x72, 0xd0, + 0x6d, 0x37, 0x34, 0x0d, 0xd9, 0xc4, 0x8e, 0x7a, 0x8a, 0xde, 0x67, 0x30, 0x78, 0xef, 0x0b, 0x12, + 0x0a, 0xb8, 0xf6, 0x56, 0x4b, 0xff, 0x2c, 0x47, 0xfa, 0x23, 0x02, 0xe9, 0x39, 0x8c, 0x29, 0x37, + 0xe1, 0x70, 0x22, 0x50, 0x4b, 0xfa, 0xf8, 0x7d, 0x37, 0x0c, 0x79, 0x14, 0xc9, 0x39, 0x56, 0x82, + 0x0a, 0x52, 0x9d, 0xf3, 0x5c, 0x81, 0x71, 0xbb, 0x6e, 0x3a, 0x25, 0xe6, 0x21, 0x76, 0xc9, 0x31, + 0x4b, 0x1a, 0xe6, 0xb8, 0xa4, 0x56, 0xab, 0xd4, 0x1d, 0x73, 0x36, 0x5b, 0x1e, 0x2c, 0x96, 0xed, + 0xdb, 0x26, 0x11, 0x69, 0xb6, 0x5a, 0x95, 0x5f, 0x80, 0xa9, 0x32, 0x0b, 0x1c, 0x62, 0x32, 0x9d, + 0x98, 0xcc, 0x44, 0x39, 0x74, 0xb4, 0x18, 0x22, 0xf6, 0x0f, 0xb0, 0x1b, 0x73, 0x43, 0xe3, 0x01, + 0x23, 0x91, 0xeb, 0x6a, 0x75, 0x1a, 0xa5, 0xa2, 0x6c, 0x33, 0xbb, 0xf3, 0x86, 0x90, 0x5f, 0x87, + 0x51, 0x1f, 0xb3, 0x91, 0x51, 0xb2, 0xad, 0x8f, 0x92, 0x2b, 0x07, 0xe3, 0x74, 0x73, 0x2c, 0x8e, + 0x2c, 0x38, 0x02, 0xe6, 0xba, 0x5b, 0x3d, 0x89, 0x09, 0xcb, 0x82, 0xc9, 0xc8, 0x75, 0x91, 0x2c, + 0x64, 0x94, 0x9e, 0xf6, 0x52, 0x0c, 0x5f, 0x22, 0x32, 0xe2, 0x1d, 0x98, 0x5c, 0xc1, 0x46, 0x5c, + 0x32, 0x89, 0x15, 0x47, 0x35, 0xd8, 0xdb, 0xba, 0x06, 0x47, 0x57, 0xa2, 0x8e, 0xc1, 0x94, 0x58, + 0x84, 0x83, 0xa1, 0x21, 0x85, 0x16, 0x06, 0xd8, 0xc2, 0xf6, 0xad, 0x44, 0xeb, 0x0a, 0x21, 0x23, + 0xbb, 0x17, 0x27, 0x06, 0x51, 0x5e, 0x5f, 0xbb, 0xca, 0x13, 0x08, 0x83, 0xa9, 0x16, 0x4e, 0x72, + 0x42, 0xca, 0x78, 0x24, 0xa4, 0xf8, 0x7d, 0x5b, 0x79, 0x90, 0x85, 0x31, 0x5e, 0x07, 0x8b, 0x1c, + 0xd3, 0x30, 0x88, 0xad, 0x8c, 0x2a, 0x22, 0x18, 0x45, 0x76, 0xb9, 0x5d, 0x34, 0x08, 0x93, 0x0e, + 0xb9, 0x00, 0x23, 0x3e, 0xab, 0x09, 0x61, 0x75, 0x60, 0xac, 0xe1, 0x26, 0x40, 0x10, 0xf7, 0x08, + 0xec, 0x6a, 0x5a, 0xb4, 0xb7, 0x0e, 0x20, 0xf1, 0x61, 0x27, 0x33, 0x50, 0xba, 0x16, 0x38, 0x07, + 0xc3, 0x61, 0xeb, 0xf4, 0x30, 0x48, 0x28, 0xd8, 0x1d, 0x32, 0x33, 0x8a, 0x37, 0x0b, 0xe3, 0xa1, + 0xc9, 0x09, 0xf1, 0xd8, 0x85, 0x79, 0xcc, 0x07, 0xf4, 0x1c, 0x64, 0xf3, 0x32, 0x8c, 0xf2, 0xe6, + 0xd7, 0x1b, 0x3e, 0x4b, 0x02, 0x5a, 0x74, 0xa2, 0x28, 0x07, 0xe7, 0x21, 0xe7, 0xad, 0x62, 0xfc, + 0xfe, 0x8b, 0xd7, 0x26, 0xdd, 0x84, 0x75, 0xda, 0xdf, 0x4c, 0x6c, 0x78, 0x39, 0x73, 0x16, 0x86, + 0xe9, 0x72, 0x26, 0x82, 0xd7, 0x83, 0xf1, 0x86, 0x48, 0x77, 0x08, 0x6d, 0x1e, 0x26, 0xbc, 0xf1, + 0xa2, 0xfe, 0x8c, 0xb1, 0x7b, 0x31, 0xf6, 0x28, 0x85, 0x0a, 0x19, 0x1e, 0x21, 0x32, 0x0b, 0xe3, + 0x74, 0x6c, 0x01, 0x0d, 0xe2, 0x1d, 0x79, 0x02, 0xc4, 0x25, 0xf1, 0xd7, 0xa0, 0x78, 0x7c, 0xf0, + 0xdd, 0x03, 0xd3, 0xe9, 0x23, 0x71, 0x9c, 0x42, 0x72, 0x72, 0x1a, 0xa6, 0xf5, 0x3c, 0xec, 0xa3, + 0xec, 0xc4, 0x90, 0xea, 0xc7, 0xa4, 0x28, 0xdf, 0x02, 0x4a, 0xbe, 0xfc, 0xf7, 0x23, 0x09, 0x26, + 0x38, 0xdb, 0xa1, 0x34, 0x15, 0x81, 0x4d, 0xdb, 0xa7, 0x5c, 0xe2, 0x78, 0xf0, 0xc1, 0xb8, 0xdd, + 0x9c, 0xbf, 0x32, 0xf0, 0x43, 0x09, 0x9e, 0x89, 0x07, 0x49, 0xbb, 0x49, 0x79, 0x25, 0x5c, 0x1f, + 0xb8, 0x90, 0x4e, 0xa2, 0x27, 0xab, 0x12, 0xfc, 0xae, 0x03, 0xc6, 0xe2, 0x68, 0x7d, 0x05, 0x6b, + 0x05, 0xf2, 0xdf, 0xc0, 0x0e, 0x7c, 0x89, 0x46, 0x37, 0x8d, 0x52, 0x19, 0x55, 0x1d, 0x15, 0xaf, + 0xee, 0xfb, 0x4e, 0x1d, 0x8e, 0xbd, 0x8d, 0x44, 0x31, 0x16, 0x5c, 0x04, 0x6a, 0x20, 0xdb, 0xeb, + 0xfe, 0x46, 0xf9, 0x12, 0x64, 0xeb, 0xea, 0x86, 0xd9, 0x70, 0x5a, 0x39, 0xa1, 0xa7, 0x28, 0x3e, + 0x95, 0xff, 0x8c, 0xac, 0x81, 0x39, 0x3b, 0xdb, 0x2f, 0xd4, 0xec, 0x13, 0xd7, 0xc2, 0xf1, 0x0c, + 0x2a, 0x3f, 0x91, 0xf0, 0x62, 0x38, 0x1e, 0xea, 0xe9, 0x36, 0xfe, 0x3f, 0xd1, 0x4a, 0x24, 0xce, + 0x34, 0x21, 0x65, 0x7d, 0x79, 0x3b, 0x4f, 0xd6, 0x5d, 0x53, 0xed, 0x75, 0x6c, 0x6a, 0x5d, 0xb4, + 0x7b, 0x49, 0xb5, 0xd7, 0x3d, 0x81, 0xb2, 0x4d, 0x81, 0x12, 0xf7, 0x74, 0x5c, 0x01, 0x15, 0x85, + 0x14, 0x89, 0x78, 0x7d, 0x6c, 0x93, 0xfa, 0xcf, 0x1d, 0xf8, 0x6e, 0xab, 0x68, 0xb3, 0xf3, 0x15, + 0x52, 0xd2, 0x05, 0x8e, 0x92, 0xf6, 0x47, 0x95, 0x14, 0x95, 0x51, 0x39, 0x80, 0x0b, 0x44, 0xa2, + 0x6e, 0xa6, 0xaa, 0xb7, 0x25, 0xe8, 0x65, 0xcb, 0xe0, 0xa0, 0x02, 0xa4, 0x24, 0x05, 0x74, 0x24, + 0x2a, 0x20, 0x13, 0xaf, 0x80, 0x4e, 0x81, 0x02, 0x9a, 0xe5, 0x0b, 0xe5, 0xfb, 0x24, 0xd5, 0xfa, + 0x36, 0xaf, 0xe1, 0x15, 0xc3, 0xd6, 0xed, 0xbb, 0x13, 0x53, 0x6c, 0x0c, 0x57, 0xca, 0x0d, 0x9c, + 0x61, 0x63, 0x20, 0x5a, 0xda, 0x71, 0xff, 0x4b, 0x07, 0xec, 0x5e, 0xb2, 0x2b, 0xcb, 0x4c, 0xd5, + 0xb7, 0x2d, 0xd5, 0xb0, 0x57, 0x63, 0x6c, 0xf9, 0x04, 0x0c, 0xd9, 0x66, 0xc3, 0xd2, 0x50, 0x89, + 0x37, 0x69, 0x32, 0xe9, 0x5b, 0xf6, 0x4f, 0x1d, 0x5e, 0x8f, 0xdb, 0x8e, 0x6e, 0x90, 0xd3, 0x6e, + 0x9e, 0xb1, 0x0f, 0xfb, 0x00, 0x96, 0xf9, 0x77, 0x34, 0x3b, 0x5b, 0xbb, 0xa3, 0x39, 0x1d, 0xd2, + 0xef, 0x84, 0x5f, 0xbf, 0x51, 0x71, 0x95, 0x49, 0x5c, 0x46, 0x8f, 0x76, 0x30, 0x83, 0x7e, 0xab, + 0x03, 0xdf, 0xe3, 0xbc, 0x76, 0xdf, 0x41, 0x96, 0xa1, 0x56, 0xff, 0x52, 0xf4, 0x74, 0x2c, 0xa4, + 0xa7, 0xc0, 0xdd, 0xfe, 0xb0, 0xb0, 0xf4, 0x6e, 0x7f, 0xb8, 0x99, 0xe9, 0xe8, 0x33, 0x09, 0xd7, + 0x6f, 0x6e, 0xe8, 0x77, 0x1a, 0x3a, 0xbe, 0x85, 0x4c, 0x17, 0x0c, 0x4f, 0x56, 0xbf, 0x09, 0x04, + 0x8f, 0x4c, 0x28, 0x78, 0xb0, 0x05, 0x40, 0x67, 0x7b, 0x0b, 0x00, 0xc9, 0x5b, 0x00, 0x1c, 0x8f, + 0xdb, 0xb5, 0x46, 0x24, 0x52, 0x26, 0xf0, 0xa6, 0x35, 0xd2, 0xce, 0x54, 0xf1, 0x2e, 0x49, 0xa6, + 0xd7, 0x6a, 0xc8, 0xaa, 0x20, 0x43, 0xdb, 0x58, 0xc6, 0xf7, 0x33, 0xe8, 0x2b, 0x87, 0x2d, 0x53, + 0x47, 0xe1, 0x64, 0x5c, 0xe2, 0xe3, 0x32, 0x43, 0x13, 0x1f, 0xb7, 0xaf, 0x79, 0x7f, 0xbc, 0x03, + 0x3f, 0xda, 0x58, 0x34, 0xdc, 0x4d, 0x91, 0xcd, 0xa4, 0x25, 0x47, 0xc6, 0x4f, 0x89, 0x0b, 0x04, + 0xf4, 0xd2, 0x19, 0x32, 0x93, 0x4b, 0xcc, 0x3f, 0x5a, 0x59, 0xac, 0x52, 0x1f, 0x39, 0x15, 0x52, + 0xaa, 0x12, 0x3c, 0x0f, 0xe6, 0xe9, 0x84, 0x3e, 0x36, 0xe0, 0x77, 0x86, 0xd5, 0xba, 0x80, 0xbe, + 0x56, 0x6b, 0x58, 0xad, 0x7c, 0x9d, 0x50, 0xb5, 0xf2, 0x3b, 0x99, 0x5a, 0x3f, 0x92, 0xb0, 0x73, + 0xde, 0xb2, 0xf4, 0xbb, 0x7a, 0x15, 0x55, 0x50, 0xf9, 0xda, 0x7d, 0xa4, 0x35, 0x1c, 0x34, 0x6f, + 0x1a, 0x8e, 0xa5, 0x6a, 0x62, 0xff, 0x1b, 0x82, 0xae, 0xd5, 0x86, 0x51, 0xb6, 0xa9, 0x2a, 0xc9, + 0x87, 0x7c, 0x18, 0x06, 0x34, 0x8a, 0x59, 0x52, 0xc9, 0x5b, 0x0f, 0xaa, 0xb4, 0x9d, 0x5e, 0x3b, + 0x7d, 0x02, 0x22, 0xcb, 0x74, 0x69, 0x40, 0xf4, 0x44, 0xb2, 0xfd, 0x65, 0xc1, 0x41, 0xfb, 0x01, + 0xbf, 0xb8, 0x42, 0x5e, 0xdd, 0x40, 0xb2, 0x3f, 0x0e, 0x80, 0xa5, 0xfb, 0xd7, 0x01, 0x30, 0xbf, + 0xa5, 0xb2, 0xbe, 0xba, 0x8a, 0x33, 0x7e, 0x6c, 0x1a, 0x38, 0xe1, 0x4e, 0xd5, 0x7b, 0xbf, 0x99, + 0x3c, 0x54, 0xd1, 0x9d, 0xb5, 0xc6, 0xca, 0xb4, 0x66, 0xd6, 0xe8, 0x63, 0x3f, 0xfa, 0xdf, 0x71, + 0xbb, 0xbc, 0x3e, 0xe3, 0x6c, 0xd4, 0x91, 0x8d, 0x11, 0xec, 0x62, 0x2f, 0x26, 0xbf, 0xa0, 0xaf, + 0xae, 0x16, 0x06, 0x39, 0x32, 0x29, 0xaf, 0xc1, 0xc0, 0x92, 0x5d, 0x29, 0xa2, 0x7b, 0xaa, 0x55, + 0xb6, 0x6f, 0xd6, 0x9d, 0x9b, 0x0d, 0xa1, 0xa6, 0x49, 0x9d, 0x90, 0xa3, 0x94, 0x11, 0xbf, 0x52, + 0x02, 0xa4, 0x94, 0x3c, 0x0e, 0xa8, 0x81, 0x36, 0xff, 0xfb, 0x96, 0xdd, 0xb8, 0x53, 0xab, 0xaa, + 0x7a, 0xed, 0x86, 0xa9, 0xad, 0xa3, 0xf2, 0x75, 0x3c, 0x79, 0x62, 0x27, 0x1a, 0xac, 0x62, 0xb0, + 0x59, 0x62, 0xe9, 0xb7, 0x1a, 0x2b, 0x2f, 0xa0, 0x0d, 0x3c, 0xf1, 0xfd, 0x45, 0x5e, 0x97, 0x3c, + 0x06, 0xbd, 0xb6, 0x5e, 0x31, 0x54, 0xa7, 0x61, 0x91, 0x4d, 0x78, 0x7f, 0xb1, 0xd9, 0x10, 0xbf, + 0xde, 0x88, 0xf2, 0x45, 0xd7, 0x1b, 0xd1, 0x0e, 0x26, 0xd2, 0x9b, 0xe4, 0xa9, 0xcb, 0xb2, 0x5e, + 0x31, 0xf0, 0x12, 0x7a, 0x19, 0xb2, 0xee, 0xdf, 0x54, 0x90, 0xfe, 0xb9, 0x4b, 0x9f, 0x3f, 0x9e, + 0xcc, 0xda, 0xb8, 0xe5, 0x8f, 0x8f, 0x27, 0x8f, 0xa7, 0x98, 0xc5, 0x59, 0x4d, 0xa3, 0x76, 0x5a, + 0xa4, 0xa4, 0xe4, 0x31, 0xe8, 0x5c, 0x20, 0x4b, 0x59, 0x97, 0x64, 0xcf, 0xe7, 0x8f, 0x27, 0xb1, + 0xcd, 0x16, 0x71, 0xab, 0x72, 0x1f, 0x3f, 0x1a, 0xc2, 0x1c, 0x98, 0x9a, 0x7c, 0x80, 0xc8, 0x4f, + 0x2e, 0x7b, 0x91, 0xda, 0x07, 0x46, 0x70, 0xbf, 0x8b, 0x3d, 0x6e, 0x17, 0xbe, 0xce, 0x35, 0x0f, + 0x5d, 0x77, 0xd5, 0x6a, 0x03, 0xd1, 0x9d, 0xeb, 0xc1, 0xb8, 0x84, 0xec, 0x93, 0xcf, 0xdb, 0x8d, + 0x63, 0x5c, 0xe5, 0x3f, 0x32, 0xd8, 0xcf, 0x67, 0xcb, 0x35, 0xdd, 0x20, 0x35, 0x61, 0xce, 0x96, + 0xba, 0xbd, 0xed, 0xd6, 0x8b, 0x30, 0xe0, 0xbb, 0x47, 0x49, 0x6a, 0x31, 0xcd, 0x92, 0x8a, 0x94, + 0x14, 0xbc, 0x76, 0x36, 0x91, 0xf1, 0xf5, 0x26, 0xe1, 0x55, 0xce, 0xce, 0xd6, 0xaf, 0x72, 0x76, + 0x89, 0xaf, 0x72, 0x5e, 0x85, 0xac, 0xed, 0xa8, 0x4e, 0xc3, 0xa6, 0xd7, 0xec, 0x0e, 0xc5, 0xaa, + 0x15, 0xcb, 0xba, 0x8c, 0xe1, 0x8b, 0x14, 0xaf, 0x50, 0x88, 0x2b, 0x6e, 0xc4, 0x2b, 0x5a, 0x39, + 0x8a, 0x6b, 0x1b, 0xf1, 0x40, 0xcc, 0x70, 0xbf, 0x49, 0x1e, 0x36, 0xcd, 0x92, 0x47, 0x6b, 0x6f, + 0xa0, 0x65, 0x47, 0x5d, 0x47, 0xcf, 0x59, 0xaa, 0xe1, 0x88, 0xbd, 0xf1, 0x3a, 0x64, 0x2b, 0x18, + 0x82, 0x6e, 0xaa, 0xa6, 0xe3, 0xc4, 0xc3, 0xb4, 0x3c, 0xf2, 0x58, 0xb5, 0x45, 0x8a, 0x5d, 0x38, + 0x11, 0xf7, 0xaa, 0x89, 0xc7, 0x91, 0xb2, 0x0f, 0x3f, 0x8d, 0xe0, 0x75, 0x31, 0x81, 0x36, 0x70, + 0x6c, 0x99, 0x75, 0xb9, 0x51, 0x1d, 0x1f, 0x84, 0x50, 0x9a, 0x1c, 0x74, 0x63, 0x7e, 0xd8, 0xb5, + 0x4c, 0xef, 0x33, 0x3e, 0x4a, 0x44, 0x47, 0xa0, 0x51, 0x22, 0xda, 0xe1, 0xf1, 0x76, 0xea, 0xd1, + 0x41, 0xc8, 0x2c, 0xd9, 0x15, 0x59, 0x85, 0x6e, 0xef, 0x71, 0xdf, 0x33, 0x09, 0x1e, 0x47, 0xe1, + 0xf2, 0xd3, 0xe9, 0xe0, 0x58, 0x7e, 0x29, 0x43, 0x0f, 0x7b, 0x77, 0x97, 0xe4, 0xd5, 0x1e, 0x60, + 0x7e, 0x26, 0x25, 0x20, 0x1b, 0xe5, 0xbf, 0x25, 0x18, 0x16, 0x3d, 0x48, 0x3a, 0x97, 0x40, 0x4c, + 0x80, 0x97, 0x7f, 0xb6, 0x3d, 0x3c, 0xc6, 0xd3, 0x3b, 0x12, 0x8c, 0xc5, 0x3e, 0x9e, 0xb9, 0x94, + 0x6e, 0x00, 0x2e, 0x72, 0x7e, 0xfe, 0x09, 0x90, 0x19, 0x8b, 0xdf, 0x92, 0x60, 0x6f, 0xe2, 0x2d, + 0xe2, 0x2b, 0xe9, 0x46, 0x12, 0x12, 0xc8, 0x3f, 0xf7, 0x84, 0x04, 0x18, 0xbb, 0x0f, 0x24, 0x18, + 0xe2, 0xbe, 0x7c, 0x3c, 0x9d, 0x30, 0x02, 0x0f, 0x29, 0x7f, 0xa9, 0x0d, 0x24, 0xc6, 0xca, 0xff, + 0x49, 0x90, 0x8f, 0x79, 0x75, 0x78, 0x31, 0x81, 0xb6, 0x18, 0x35, 0x3f, 0xdb, 0x36, 0x2a, 0x63, + 0xee, 0xdf, 0x25, 0xd8, 0xcd, 0xbf, 0x19, 0x7a, 0x26, 0xb5, 0xcc, 0x3e, 0xac, 0xfc, 0x5f, 0xb5, + 0x83, 0xc5, 0xb8, 0xd9, 0x80, 0x9d, 0xe1, 0x0b, 0x49, 0x49, 0x41, 0x24, 0x04, 0x9f, 0x3f, 0xd7, + 0x1a, 0x7c, 0x40, 0x11, 0xfc, 0xbb, 0x41, 0x67, 0x52, 0x69, 0x39, 0x84, 0x95, 0xa8, 0x88, 0xf8, + 0xbb, 0x3d, 0xff, 0x04, 0xbb, 0xa2, 0x77, 0x54, 0x4e, 0xa4, 0x21, 0xe9, 0xc7, 0xc8, 0x5f, 0x68, + 0x15, 0x83, 0x31, 0xf0, 0xbf, 0x12, 0x8c, 0x88, 0xb7, 0x37, 0x49, 0x74, 0x85, 0x98, 0xf9, 0xab, 0xed, 0x62, 0x06, 0xdc, 0x29, 0xe6, 0x32, 0xea, 0xc5, 0x54, 0x06, 0xc8, 0x43, 0x4d, 0x74, 0xa7, 0x14, 0x97, 0x48, 0xdd, 0x28, 0x99, 0x78, 0xb5, 0xf1, 0x4a, 0x7a, 0xb7, 0xe5, 0x12, 0x48, 0x8c, - 0x92, 0xa9, 0xef, 0x23, 0xbe, 0x26, 0xc1, 0x68, 0xdc, 0x59, 0x70, 0xa1, 0x45, 0x8d, 0xf8, 0x23, + 0x92, 0xa9, 0xef, 0x23, 0xbe, 0x2d, 0xc1, 0x68, 0xdc, 0x59, 0x70, 0xa1, 0x45, 0x8d, 0xf8, 0x23, 0xc1, 0x5c, 0xfb, 0xb8, 0xc1, 0xe8, 0xc4, 0x3d, 0x2d, 0x3a, 0x93, 0xca, 0xcd, 0x43, 0x58, 0xc9, 0xd1, 0x29, 0xee, 0x70, 0x06, 0x6b, 0x2b, 0xae, 0x9c, 0x5f, 0x48, 0xef, 0xf2, 0x61, 0xdc, 0x44, 0x6d, 0xa5, 0x29, 0xc7, 0xfb, 0x52, 0xb4, 0xf8, 0x8d, 0x5e, 0xca, 0x14, 0x2d, 0x24, 0x90, 0x36, - 0x45, 0x27, 0x3e, 0x4d, 0x92, 0xbf, 0x25, 0xc1, 0x78, 0xfc, 0x95, 0xe9, 0x74, 0xc9, 0x44, 0x80, - 0x9d, 0x5f, 0x78, 0x14, 0x6c, 0xc6, 0xe5, 0xb7, 0x25, 0x98, 0x48, 0x38, 0x3a, 0xbe, 0xdc, 0xfa, - 0x40, 0x7e, 0x47, 0xb9, 0xf6, 0x48, 0xe8, 0x8c, 0xd1, 0xaf, 0x4b, 0x90, 0x13, 0x9e, 0x1b, 0x9e, - 0x4f, 0x65, 0xf8, 0x51, 0xc4, 0xfc, 0x95, 0x36, 0x11, 0x03, 0xfa, 0x4b, 0xb8, 0x7e, 0x7a, 0x39, - 0xbd, 0xed, 0x73, 0xd0, 0x13, 0xf5, 0x97, 0xf2, 0xfa, 0xe8, 0xab, 0x12, 0xc8, 0x9c, 0x53, 0xaa, - 0x93, 0x49, 0xe5, 0x85, 0x08, 0x4a, 0xfe, 0x62, 0xcb, 0x28, 0x8c, 0x89, 0xff, 0x84, 0x81, 0xc8, - 0xf9, 0x4f, 0xd2, 0x0e, 0x27, 0x8c, 0x90, 0x3f, 0xdf, 0x22, 0x82, 0x7f, 0xd5, 0x11, 0x3d, 0x59, - 0x49, 0x5a, 0x75, 0x44, 0x30, 0x12, 0x57, 0x1d, 0xc2, 0x33, 0x0d, 0x1c, 0xef, 0xf9, 0x07, 0x1a, - 0x49, 0xf1, 0x9e, 0x8b, 0x95, 0x18, 0xef, 0x63, 0xcf, 0x24, 0xe4, 0xaf, 0x48, 0xb0, 0x47, 0x70, - 0x20, 0x71, 0x36, 0x31, 0x08, 0xf2, 0xd0, 0xf2, 0x97, 0xdb, 0x42, 0x0b, 0x30, 0x24, 0x28, 0xe5, - 0x9f, 0x4d, 0xdc, 0x6b, 0xb7, 0xc5, 0x50, 0x7c, 0x1d, 0x5c, 0xb6, 0x61, 0x7b, 0xb0, 0x1a, 0x7b, - 0x2c, 0x81, 0x5e, 0x00, 0x3a, 0x7f, 0xa6, 0x15, 0xe8, 0x40, 0x44, 0x49, 0xa8, 0xdb, 0x25, 0x89, - 0x15, 0x8f, 0x9e, 0x18, 0x51, 0xd2, 0xd5, 0xa9, 0xe4, 0x3a, 0xf4, 0x07, 0x7e, 0xe5, 0xe9, 0x68, - 0x02, 0x59, 0x3f, 0x70, 0xfe, 0x74, 0x0b, 0xc0, 0xfe, 0xf0, 0x11, 0xf9, 0xfd, 0xba, 0x99, 0x54, - 0x84, 0x9a, 0x08, 0x89, 0xe1, 0x43, 0xf4, 0xc3, 0x6b, 0xd8, 0x3c, 0x05, 0xbf, 0xba, 0x76, 0x36, - 0x15, 0xcd, 0x30, 0x5a, 0xa2, 0x79, 0xc6, 0xff, 0xd4, 0x16, 0x2e, 0x02, 0x70, 0xab, 0x84, 0x49, - 0xca, 0xe5, 0x21, 0x25, 0x16, 0x01, 0xe2, 0x4a, 0x7c, 0x38, 0xbb, 0x70, 0x0a, 0x7c, 0x49, 0xd9, - 0x25, 0x8a, 0x92, 0x98, 0x5d, 0xc4, 0xb5, 0xbc, 0xb9, 0xb5, 0x77, 0x3f, 0x98, 0x90, 0xde, 0xff, - 0x60, 0x42, 0xfa, 0xe3, 0x07, 0x13, 0xd2, 0x57, 0x3f, 0x9c, 0xd8, 0xf6, 0xfe, 0x87, 0x13, 0xdb, - 0x7e, 0xf7, 0xe1, 0xc4, 0xb6, 0x7f, 0x7f, 0xd6, 0x57, 0xdd, 0x5f, 0xf4, 0xc8, 0xdf, 0x50, 0x57, - 0xec, 0x19, 0x36, 0xd8, 0x71, 0xcd, 0xb4, 0x90, 0xff, 0x73, 0x4d, 0xd5, 0x8d, 0x99, 0x9a, 0x59, - 0x6e, 0x54, 0x91, 0xdd, 0xfc, 0x5d, 0x46, 0x7c, 0x12, 0xb0, 0x92, 0xc5, 0xbf, 0xa9, 0x78, 0xfa, - 0xef, 0x01, 0x00, 0x00, 0xff, 0xff, 0x80, 0xf5, 0x7b, 0xe9, 0x95, 0x52, 0x00, 0x00, + 0x45, 0x27, 0x3e, 0x4d, 0x92, 0xff, 0x5f, 0x82, 0xf1, 0xf8, 0x2b, 0xd3, 0xe9, 0x92, 0x89, 0x00, + 0x3b, 0xbf, 0xf0, 0x24, 0xd8, 0x8c, 0xcb, 0x6f, 0x48, 0x30, 0x91, 0x70, 0x74, 0x7c, 0xb9, 0xf5, + 0x81, 0xfc, 0x8e, 0x72, 0xed, 0x89, 0xd0, 0x19, 0xa3, 0xff, 0x23, 0x41, 0x4e, 0x78, 0x6e, 0x78, + 0x3e, 0x95, 0xe1, 0x47, 0x11, 0xf3, 0x57, 0xda, 0x44, 0x0c, 0xe8, 0x2f, 0xe1, 0xfa, 0xe9, 0xe5, + 0xf4, 0xb6, 0xcf, 0x41, 0x4f, 0xd4, 0x5f, 0xca, 0xeb, 0xa3, 0x6f, 0x49, 0x20, 0x73, 0x4e, 0xa9, + 0x4e, 0x26, 0x95, 0x17, 0x22, 0x28, 0xf9, 0x8b, 0x2d, 0xa3, 0x30, 0x26, 0xfe, 0x11, 0x06, 0x22, + 0xe7, 0x3f, 0x49, 0x3b, 0x9c, 0x30, 0x42, 0xfe, 0x7c, 0x8b, 0x08, 0xfe, 0x55, 0x47, 0xf4, 0x64, + 0x25, 0x69, 0xd5, 0x11, 0xc1, 0x48, 0x5c, 0x75, 0x08, 0xcf, 0x34, 0x70, 0xbc, 0xe7, 0x1f, 0x68, + 0x24, 0xc5, 0x7b, 0x2e, 0x56, 0x62, 0xbc, 0x8f, 0x3d, 0x93, 0x90, 0xff, 0x53, 0x82, 0x3d, 0x82, + 0x03, 0x89, 0xb3, 0x89, 0x41, 0x90, 0x87, 0x96, 0xbf, 0xdc, 0x16, 0x5a, 0x80, 0x21, 0x41, 0x29, + 0xff, 0x6c, 0xe2, 0x5e, 0xbb, 0x2d, 0x86, 0xe2, 0xeb, 0xe0, 0xb2, 0x0d, 0xdb, 0x83, 0xd5, 0xd8, + 0x63, 0x09, 0xf4, 0x02, 0xd0, 0xf9, 0x33, 0xad, 0x40, 0x07, 0x22, 0x4a, 0x42, 0xdd, 0x2e, 0x49, + 0xac, 0x78, 0xf4, 0xc4, 0x88, 0x92, 0xae, 0x4e, 0x25, 0xd7, 0xa1, 0x3f, 0xf0, 0x2b, 0x4f, 0x47, + 0x13, 0xc8, 0xfa, 0x81, 0xf3, 0xa7, 0x5b, 0x00, 0xf6, 0x87, 0x8f, 0xc8, 0xef, 0xd7, 0xcd, 0xa4, + 0x22, 0xd4, 0x44, 0x48, 0x0c, 0x1f, 0xa2, 0x1f, 0x5e, 0xc3, 0xe6, 0x29, 0xf8, 0xd5, 0xb5, 0xb3, + 0xa9, 0x68, 0x86, 0xd1, 0x12, 0xcd, 0x33, 0xfe, 0xa7, 0xb6, 0x70, 0x11, 0x80, 0x5b, 0x25, 0x4c, + 0x52, 0x2e, 0x0f, 0x29, 0xb1, 0x08, 0x10, 0x57, 0xe2, 0xc3, 0xd9, 0x85, 0x53, 0xe0, 0x4b, 0xca, + 0x2e, 0x51, 0x94, 0xc4, 0xec, 0x22, 0xae, 0xe5, 0xe5, 0xbb, 0xde, 0xfc, 0xf4, 0xe1, 0x11, 0x69, + 0x6e, 0xed, 0xc3, 0x8f, 0x27, 0xa4, 0x47, 0x1f, 0x4f, 0x48, 0xbf, 0xfd, 0x78, 0x42, 0xfa, 0xaf, + 0x4f, 0x26, 0xb6, 0x3d, 0xfa, 0x64, 0x62, 0xdb, 0xaf, 0x3e, 0x99, 0xd8, 0xf6, 0xf7, 0x2f, 0xfa, + 0x8a, 0xfc, 0x8b, 0xde, 0x28, 0x37, 0xd4, 0x15, 0x7b, 0x86, 0x8d, 0x79, 0x5c, 0x33, 0x2d, 0xe4, + 0xff, 0x5c, 0x53, 0x75, 0x63, 0xa6, 0x66, 0x96, 0x1b, 0x55, 0x64, 0x37, 0x7f, 0x9e, 0x11, 0x1f, + 0x08, 0xac, 0x64, 0xf1, 0x4f, 0x2b, 0x9e, 0xfe, 0x73, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5c, 0x05, + 0xa8, 0x24, 0x9c, 0x52, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/insurance/types/tx.pb.go b/chain/insurance/types/tx.pb.go index 0f1e3c31..f35a9e93 100644 --- a/chain/insurance/types/tx.pb.go +++ b/chain/insurance/types/tx.pb.go @@ -394,56 +394,56 @@ func init() { } var fileDescriptor_7e1fa941c3fd0dc4 = []byte{ - // 771 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x4f, 0x4f, 0xdb, 0x48, - 0x14, 0x8f, 0x37, 0x6c, 0x80, 0x81, 0x05, 0xe1, 0x65, 0x89, 0x13, 0x56, 0x4e, 0x36, 0xcb, 0x4a, - 0x11, 0x0b, 0xb6, 0x12, 0x56, 0x6c, 0x49, 0x4f, 0x04, 0x5a, 0x15, 0xa9, 0x11, 0x6d, 0xda, 0x5e, - 0x7a, 0x89, 0x26, 0xf6, 0xc8, 0x4c, 0x89, 0x3d, 0xc6, 0x33, 0xa6, 0xe4, 0xd8, 0x5e, 0x5a, 0xf5, - 0xc4, 0x47, 0xe0, 0x23, 0x70, 0xe8, 0xa9, 0xea, 0x07, 0xe0, 0x88, 0x7a, 0xea, 0xa9, 0xaa, 0xe0, - 0x40, 0xbf, 0x40, 0xef, 0x95, 0x3d, 0x63, 0x3b, 0x29, 0xe1, 0xef, 0x25, 0xf1, 0x7b, 0xef, 0xf7, - 0x7e, 0xf3, 0xfb, 0xcd, 0x1b, 0x8f, 0xc1, 0x1c, 0x76, 0x5e, 0x20, 0x83, 0xe1, 0x5d, 0xa4, 0x63, - 0x87, 0xfa, 0x1e, 0x74, 0x0c, 0xa4, 0xef, 0x56, 0xda, 0x88, 0xc1, 0x8a, 0xce, 0xf6, 0x34, 0xd7, - 0x23, 0x8c, 0xc8, 0xb3, 0x31, 0x4a, 0x8b, 0x51, 0x9a, 0x40, 0xe5, 0xa7, 0x2d, 0x62, 0x91, 0x10, - 0xa7, 0x07, 0x4f, 0xbc, 0x25, 0xaf, 0x1a, 0x84, 0xda, 0x84, 0xea, 0x6d, 0x48, 0x13, 0x42, 0x83, - 0x60, 0x47, 0xd4, 0xb3, 0xa2, 0x6e, 0x53, 0x4b, 0xdf, 0xad, 0x04, 0x7f, 0xa2, 0x90, 0xe3, 0x85, - 0x16, 0x67, 0xe4, 0x81, 0x28, 0xfd, 0x7b, 0x99, 0xd8, 0x44, 0x18, 0x07, 0xff, 0x93, 0x80, 0x89, - 0x07, 0x8d, 0x4e, 0x82, 0xe4, 0xa1, 0x80, 0x4d, 0x41, 0x1b, 0x3b, 0x44, 0x0f, 0x7f, 0x79, 0xaa, - 0xb4, 0x9f, 0x06, 0x33, 0x0d, 0x6a, 0xad, 0x79, 0x08, 0x32, 0xb4, 0x11, 0xd1, 0xde, 0xf7, 0x1d, - 0x53, 0x9e, 0x01, 0x19, 0x8a, 0x1c, 0x13, 0x79, 0x8a, 0x54, 0x94, 0xca, 0xa3, 0x4d, 0x11, 0x05, - 0x79, 0x86, 0x8d, 0x6d, 0xe4, 0x29, 0xbf, 0xf0, 0x3c, 0x8f, 0xe4, 0x02, 0x18, 0xdb, 0xf1, 0x09, - 0x43, 0x2d, 0x13, 0x39, 0xc4, 0x56, 0xd2, 0x61, 0x11, 0x84, 0xa9, 0xf5, 0x20, 0x13, 0x00, 0xb8, - 0x9c, 0x56, 0xb0, 0x51, 0xca, 0x10, 0x07, 0xf0, 0x54, 0x1d, 0x52, 0x24, 0xff, 0x05, 0xc6, 0x05, - 0x20, 0xec, 0x52, 0x7e, 0x0d, 0x11, 0xa2, 0xe9, 0x71, 0x90, 0x92, 0xef, 0xc5, 0x1c, 0xac, 0xeb, - 0x22, 0x25, 0x53, 0x94, 0xca, 0x13, 0xd5, 0x39, 0x2d, 0x99, 0x99, 0x30, 0x2c, 0xfc, 0x6b, 0x9b, - 0x61, 0xf8, 0xb4, 0xeb, 0xa2, 0x68, 0xa5, 0xe0, 0x39, 0xf0, 0x80, 0xf6, 0x5c, 0xec, 0x75, 0x95, - 0xe1, 0xa2, 0x54, 0x4e, 0x37, 0x45, 0x24, 0x3f, 0x00, 0x93, 0xd8, 0xc1, 0x0c, 0xc3, 0x4e, 0xcb, - 0x44, 0x2e, 0xa1, 0x98, 0x29, 0x23, 0x45, 0xa9, 0x3c, 0x56, 0xcd, 0x69, 0x62, 0x3a, 0x81, 0xf4, - 0x98, 0x7d, 0x8d, 0x60, 0xa7, 0x3e, 0x74, 0xf4, 0xa5, 0x90, 0x6a, 0x4e, 0x88, 0xbe, 0x75, 0xde, - 0x56, 0xbb, 0xf3, 0xf6, 0xa0, 0x90, 0xfa, 0x76, 0x50, 0x48, 0xbd, 0x3e, 0x3b, 0x9c, 0x17, 0x5b, - 0xf7, 0xee, 0xec, 0x70, 0xbe, 0x98, 0x4c, 0x73, 0xf0, 0xbe, 0x97, 0x8a, 0x40, 0x1d, 0x5c, 0x69, - 0x22, 0xea, 0x12, 0x87, 0xa2, 0xd2, 0xa1, 0x04, 0x7e, 0x6b, 0x50, 0xeb, 0x59, 0xc0, 0xf9, 0xd2, - 0xc3, 0x0c, 0x5d, 0x38, 0xab, 0x59, 0x30, 0x6a, 0x43, 0x6f, 0x1b, 0xb1, 0x16, 0x36, 0xc5, 0xb8, - 0x46, 0x78, 0x62, 0xc3, 0x94, 0x57, 0xc0, 0x70, 0x64, 0x32, 0x7d, 0x3d, 0x93, 0x11, 0xbe, 0xa6, - 0x5f, 0xe0, 0x2e, 0xdb, 0xe7, 0x2e, 0x11, 0x58, 0xca, 0x82, 0x3f, 0xfa, 0x12, 0xb1, 0x97, 0x8f, - 0x12, 0x98, 0x6e, 0x50, 0xab, 0x89, 0x76, 0x7c, 0x44, 0x59, 0x13, 0x99, 0xc8, 0x76, 0x19, 0x26, - 0xce, 0xed, 0x2c, 0xfd, 0x0f, 0x32, 0xd0, 0x26, 0xbe, 0x73, 0x6d, 0x47, 0x02, 0x5e, 0x5b, 0xbe, - 0xc0, 0x90, 0xda, 0x67, 0xe8, 0x9c, 0xca, 0x92, 0x0a, 0xfe, 0x1c, 0x94, 0x8f, 0xed, 0x7d, 0x90, - 0xc0, 0x64, 0x60, 0xdc, 0x35, 0x21, 0x43, 0x8f, 0xa0, 0x07, 0x6d, 0x2a, 0x2f, 0x83, 0x51, 0xe8, - 0xb3, 0x2d, 0xe2, 0x61, 0xd6, 0xe5, 0xe6, 0xea, 0xca, 0xa7, 0xf7, 0x8b, 0xd3, 0x42, 0xea, 0xaa, - 0x69, 0x7a, 0x88, 0xd2, 0x27, 0xcc, 0xc3, 0x8e, 0xd5, 0x4c, 0xa0, 0xf2, 0x2a, 0xc8, 0xb8, 0x21, - 0x43, 0x68, 0x7b, 0xac, 0xfa, 0xb7, 0x76, 0xc9, 0x55, 0xa5, 0xf1, 0xc5, 0x22, 0x9b, 0xbc, 0xb1, - 0xb6, 0x10, 0xd8, 0x4b, 0x28, 0x03, 0x87, 0xb9, 0xfe, 0x91, 0xf5, 0x08, 0x2d, 0xe5, 0x40, 0xf6, - 0xa7, 0x54, 0xe4, 0xab, 0xfa, 0x3d, 0x0d, 0xd2, 0x0d, 0x6a, 0xc9, 0x6f, 0x24, 0xf0, 0xfb, 0xa0, - 0xcb, 0x63, 0xe9, 0x52, 0x6d, 0x83, 0xcf, 0x77, 0xfe, 0xee, 0x2d, 0x9a, 0x22, 0x45, 0x72, 0x07, - 0x80, 0x9e, 0x17, 0x62, 0xfe, 0x2a, 0xaa, 0x04, 0x9b, 0xaf, 0x5e, 0x1f, 0x1b, 0xaf, 0xf6, 0x4a, - 0x02, 0x53, 0xe7, 0xcf, 0x6c, 0xe5, 0x2a, 0xa6, 0x73, 0x2d, 0xf9, 0x95, 0x1b, 0xb7, 0xc4, 0x1a, - 0x3c, 0x30, 0xde, 0x77, 0xae, 0x16, 0xae, 0xf4, 0xd1, 0x83, 0xce, 0xff, 0x77, 0x13, 0x74, 0xb4, - 0x66, 0x1d, 0x1f, 0x9d, 0xa8, 0xd2, 0xf1, 0x89, 0x2a, 0x7d, 0x3d, 0x51, 0xa5, 0xfd, 0x53, 0x35, - 0x75, 0x7c, 0xaa, 0xa6, 0x3e, 0x9f, 0xaa, 0xa9, 0xe7, 0x9b, 0x16, 0x66, 0x5b, 0x7e, 0x5b, 0x33, - 0x88, 0xad, 0x6f, 0x44, 0xcc, 0x0f, 0x61, 0x9b, 0xea, 0xf1, 0x3a, 0x8b, 0x06, 0xf1, 0x50, 0x6f, - 0xb8, 0x05, 0xb1, 0xa3, 0xdb, 0xc4, 0xf4, 0x3b, 0x88, 0xf6, 0x7c, 0xe6, 0x82, 0xab, 0x9d, 0xb6, - 0x33, 0xe1, 0x17, 0x6a, 0xe9, 0x47, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc4, 0x1c, 0x9e, 0x97, 0xb7, - 0x07, 0x00, 0x00, + // 779 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x4f, 0x4f, 0xe3, 0x46, + 0x14, 0x8f, 0x1b, 0x08, 0x30, 0x50, 0x10, 0x2e, 0x25, 0x4e, 0xa8, 0x9c, 0x34, 0xa5, 0x52, 0x94, + 0x82, 0xad, 0x84, 0x8a, 0x96, 0xf4, 0x44, 0xa0, 0x55, 0x91, 0x1a, 0xd1, 0xa6, 0xed, 0xa5, 0x97, + 0x68, 0x62, 0x8f, 0xcc, 0x94, 0xd8, 0x63, 0x3c, 0x63, 0x96, 0xdc, 0x76, 0xf7, 0xb2, 0xab, 0x3d, + 0xf1, 0x11, 0xf8, 0x08, 0x39, 0xec, 0x69, 0xb5, 0x1f, 0x80, 0x23, 0xda, 0xd3, 0x9e, 0x56, 0x2b, + 0x38, 0xb0, 0x1f, 0x62, 0x0f, 0x2b, 0x7b, 0xc6, 0x76, 0xb2, 0x84, 0xbf, 0x17, 0xf0, 0xfb, 0xbd, + 0xdf, 0x7b, 0xef, 0xf7, 0xf3, 0x9b, 0x8c, 0xc1, 0x32, 0x76, 0xfe, 0x47, 0x06, 0xc3, 0x87, 0x48, + 0xc7, 0x0e, 0xf5, 0x3d, 0xe8, 0x18, 0x48, 0x3f, 0xac, 0x76, 0x10, 0x83, 0x55, 0x9d, 0x1d, 0x69, + 0xae, 0x47, 0x18, 0x91, 0x97, 0x62, 0x96, 0x16, 0xb3, 0x34, 0xc1, 0xca, 0x2f, 0x58, 0xc4, 0x22, + 0x21, 0x4f, 0x0f, 0x9e, 0x78, 0x49, 0x5e, 0x35, 0x08, 0xb5, 0x09, 0xd5, 0x3b, 0x90, 0x26, 0x0d, + 0x0d, 0x82, 0x1d, 0x91, 0xcf, 0x8a, 0xbc, 0x4d, 0x2d, 0xfd, 0xb0, 0x1a, 0xfc, 0x13, 0x89, 0x1c, + 0x4f, 0xb4, 0x79, 0x47, 0x1e, 0x88, 0xd4, 0x0f, 0x37, 0x89, 0x4d, 0x84, 0x71, 0xf2, 0xf7, 0x09, + 0x99, 0x78, 0xd0, 0xe8, 0x26, 0x4c, 0x1e, 0x0a, 0xda, 0x3c, 0xb4, 0xb1, 0x43, 0xf4, 0xf0, 0x2f, + 0x87, 0x4a, 0xc7, 0x69, 0xb0, 0xd8, 0xa4, 0xd6, 0x96, 0x87, 0x20, 0x43, 0x3b, 0x51, 0xdb, 0xdf, + 0x7c, 0xc7, 0x94, 0x17, 0x41, 0x86, 0x22, 0xc7, 0x44, 0x9e, 0x22, 0x15, 0xa5, 0xf2, 0x54, 0x4b, + 0x44, 0x01, 0xce, 0xb0, 0xb1, 0x8f, 0x3c, 0xe5, 0x0b, 0x8e, 0xf3, 0x48, 0x2e, 0x80, 0xe9, 0x03, + 0x9f, 0x30, 0xd4, 0x36, 0x91, 0x43, 0x6c, 0x25, 0x1d, 0x26, 0x41, 0x08, 0x6d, 0x07, 0x48, 0x40, + 0xe0, 0x72, 0xda, 0xc1, 0x8b, 0x52, 0xc6, 0x38, 0x81, 0x43, 0x0d, 0x48, 0x91, 0xfc, 0x2d, 0x98, + 0x11, 0x84, 0xb0, 0x4a, 0x19, 0x0f, 0x19, 0xa2, 0xe8, 0xaf, 0x00, 0x92, 0x7f, 0x8d, 0x7b, 0xb0, + 0x9e, 0x8b, 0x94, 0x4c, 0x51, 0x2a, 0xcf, 0xd6, 0x96, 0xb5, 0x64, 0x67, 0xc2, 0xb0, 0xf0, 0xaf, + 0xed, 0x86, 0xe1, 0x3f, 0x3d, 0x17, 0x45, 0x93, 0x82, 0xe7, 0xc0, 0x03, 0x3a, 0x72, 0xb1, 0xd7, + 0x53, 0x26, 0x8a, 0x52, 0x39, 0xdd, 0x12, 0x91, 0xfc, 0x3b, 0x98, 0xc3, 0x0e, 0x66, 0x18, 0x76, + 0xdb, 0x26, 0x72, 0x09, 0xc5, 0x4c, 0x99, 0x2c, 0x4a, 0xe5, 0xe9, 0x5a, 0x4e, 0x13, 0xdb, 0x09, + 0xa4, 0xc7, 0xdd, 0xb7, 0x08, 0x76, 0x1a, 0x63, 0xa7, 0xef, 0x0a, 0xa9, 0xd6, 0xac, 0xa8, 0xdb, + 0xe6, 0x65, 0xf5, 0x9f, 0x9f, 0x9f, 0x14, 0x52, 0x1f, 0x4e, 0x0a, 0xa9, 0xa7, 0x97, 0xfd, 0x8a, + 0x78, 0x75, 0x2f, 0x2e, 0xfb, 0x95, 0x62, 0xb2, 0xcd, 0xd1, 0xef, 0xbd, 0x54, 0x04, 0xea, 0xe8, + 0x4c, 0x0b, 0x51, 0x97, 0x38, 0x14, 0x95, 0xfa, 0x12, 0xf8, 0xb2, 0x49, 0xad, 0x7f, 0x83, 0x9e, + 0x8f, 0x3c, 0xcc, 0xd0, 0xb5, 0xbb, 0x5a, 0x02, 0x53, 0x36, 0xf4, 0xf6, 0x11, 0x6b, 0x63, 0x53, + 0xac, 0x6b, 0x92, 0x03, 0x3b, 0xa6, 0xbc, 0x01, 0x26, 0x22, 0x93, 0xe9, 0xbb, 0x99, 0x8c, 0xf8, + 0x75, 0xfd, 0x1a, 0x77, 0xd9, 0x21, 0x77, 0x89, 0xc0, 0x52, 0x16, 0x7c, 0x3d, 0x04, 0xc4, 0x5e, + 0x5e, 0x4b, 0x60, 0xa1, 0x49, 0xad, 0x16, 0x3a, 0xf0, 0x11, 0x65, 0x2d, 0x64, 0x22, 0xdb, 0x65, + 0x98, 0x38, 0x0f, 0xb3, 0xf4, 0x13, 0xc8, 0x40, 0x9b, 0xf8, 0xce, 0x9d, 0x1d, 0x09, 0x7a, 0x7d, + 0xfd, 0x1a, 0x43, 0xea, 0x90, 0xa1, 0x2b, 0x2a, 0x4b, 0x2a, 0xf8, 0x66, 0x14, 0x1e, 0xdb, 0x7b, + 0x25, 0x81, 0xb9, 0xc0, 0xb8, 0x6b, 0x42, 0x86, 0xfe, 0x84, 0x1e, 0xb4, 0xa9, 0xbc, 0x0e, 0xa6, + 0xa0, 0xcf, 0xf6, 0x88, 0x87, 0x59, 0x8f, 0x9b, 0x6b, 0x28, 0x6f, 0x5e, 0xae, 0x2e, 0x08, 0xa9, + 0x9b, 0xa6, 0xe9, 0x21, 0x4a, 0xff, 0x66, 0x1e, 0x76, 0xac, 0x56, 0x42, 0x95, 0x37, 0x41, 0xc6, + 0x0d, 0x3b, 0x84, 0xb6, 0xa7, 0x6b, 0xdf, 0x69, 0x37, 0x5c, 0x55, 0x1a, 0x1f, 0x16, 0xd9, 0xe4, + 0x85, 0xf5, 0x95, 0xc0, 0x5e, 0xd2, 0x32, 0x70, 0x98, 0x1b, 0x5e, 0xd9, 0x80, 0xd0, 0x52, 0x0e, + 0x64, 0x3f, 0x83, 0x22, 0x5f, 0xb5, 0x8f, 0x69, 0x90, 0x6e, 0x52, 0x4b, 0x7e, 0x26, 0x81, 0xaf, + 0x46, 0x5d, 0x1e, 0x6b, 0x37, 0x6a, 0x1b, 0x7d, 0xbe, 0xf3, 0xbf, 0x3c, 0xa0, 0x28, 0x52, 0x24, + 0x77, 0x01, 0x18, 0xf8, 0x41, 0x54, 0x6e, 0x6b, 0x95, 0x70, 0xf3, 0xb5, 0xbb, 0x73, 0xe3, 0x69, + 0x4f, 0x24, 0x30, 0x7f, 0xf5, 0xcc, 0x56, 0x6f, 0xeb, 0x74, 0xa5, 0x24, 0xbf, 0x71, 0xef, 0x92, + 0x58, 0x83, 0x07, 0x66, 0x86, 0xce, 0xd5, 0xca, 0xad, 0x3e, 0x06, 0xd8, 0xf9, 0x1f, 0xef, 0xc3, + 0x8e, 0x66, 0xe6, 0xc7, 0x1f, 0x5f, 0xf6, 0x2b, 0x52, 0x03, 0x9f, 0x9e, 0xab, 0xd2, 0xd9, 0xb9, + 0x2a, 0xbd, 0x3f, 0x57, 0xa5, 0xe3, 0x0b, 0x35, 0x75, 0x76, 0xa1, 0xa6, 0xde, 0x5e, 0xa8, 0xa9, + 0xff, 0x76, 0x2d, 0xcc, 0xf6, 0xfc, 0x8e, 0x66, 0x10, 0x5b, 0xdf, 0x89, 0x06, 0xfc, 0x01, 0x3b, + 0x54, 0x8f, 0xc7, 0xad, 0x1a, 0xc4, 0x43, 0x83, 0xe1, 0x1e, 0xc4, 0x8e, 0x6e, 0x13, 0xd3, 0xef, + 0x22, 0x3a, 0xf0, 0xb5, 0x0b, 0x6e, 0x78, 0xda, 0xc9, 0x84, 0x1f, 0xaa, 0xb5, 0x4f, 0x01, 0x00, + 0x00, 0xff, 0xff, 0x5f, 0x13, 0xc4, 0xc0, 0xbe, 0x07, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/ocr/types/tx.pb.go b/chain/ocr/types/tx.pb.go index fc7d7b38..82284d8a 100644 --- a/chain/ocr/types/tx.pb.go +++ b/chain/ocr/types/tx.pb.go @@ -777,81 +777,82 @@ func init() { func init() { proto.RegisterFile("injective/ocr/v1beta1/tx.proto", fileDescriptor_570bfdb24a1374f8) } var fileDescriptor_570bfdb24a1374f8 = []byte{ - // 1177 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xcd, 0x6f, 0x1b, 0x45, - 0x14, 0xf7, 0xd6, 0xa9, 0x13, 0xbf, 0xb8, 0x2a, 0xdd, 0x38, 0x89, 0xb3, 0x6a, 0x6c, 0x77, 0x83, - 0x2a, 0x37, 0x6d, 0xed, 0x26, 0xa1, 0x7c, 0x98, 0x53, 0x92, 0xaa, 0x22, 0x12, 0x56, 0xc3, 0x16, - 0x84, 0x54, 0x09, 0x99, 0xf5, 0xee, 0x64, 0xbd, 0x34, 0xde, 0x59, 0xcd, 0x8c, 0xd3, 0xe4, 0x8a, - 0x38, 0x20, 0x24, 0x24, 0xce, 0x9c, 0x7a, 0xe1, 0x8a, 0x72, 0xa8, 0xc4, 0x05, 0xee, 0x39, 0x56, - 0x48, 0x48, 0x88, 0x43, 0x84, 0x92, 0x43, 0xf9, 0x33, 0xd0, 0xcc, 0x8e, 0xc7, 0xeb, 0x8f, 0xcd, - 0x87, 0x38, 0x70, 0x49, 0xfc, 0xde, 0xfb, 0xbd, 0x8f, 0xdf, 0x7b, 0x33, 0x6f, 0x6c, 0x28, 0xfa, - 0xc1, 0x57, 0xc8, 0x61, 0xfe, 0x1e, 0xaa, 0x61, 0x87, 0xd4, 0xf6, 0x56, 0x5a, 0x88, 0xd9, 0x2b, - 0x35, 0xb6, 0x5f, 0x0d, 0x09, 0x66, 0x58, 0x9f, 0x55, 0xf6, 0x2a, 0x76, 0x48, 0x55, 0xda, 0x8d, - 0xa2, 0x83, 0x69, 0x07, 0xd3, 0x5a, 0xcb, 0xa6, 0x48, 0x39, 0x39, 0xd8, 0x0f, 0x22, 0x37, 0x63, - 0x5e, 0xda, 0x3b, 0xd4, 0xab, 0xed, 0xad, 0xf0, 0x7f, 0xd2, 0x90, 0xf7, 0xb0, 0x87, 0xc5, 0xc7, - 0x1a, 0xff, 0x24, 0xb5, 0xa5, 0xf1, 0x55, 0xf0, 0x8c, 0x11, 0x60, 0x21, 0x8a, 0xd7, 0x8c, 0x3c, - 0x23, 0x41, 0x9a, 0x6e, 0xd8, 0x1d, 0x3f, 0xc0, 0x35, 0xf1, 0x37, 0x52, 0x99, 0xdf, 0x6b, 0x70, - 0xad, 0x41, 0xbd, 0x4d, 0x82, 0x6c, 0x86, 0x1e, 0x23, 0xe4, 0xea, 0x73, 0x90, 0xa1, 0x28, 0x70, - 0x11, 0x29, 0x68, 0x65, 0xad, 0x92, 0xb5, 0xa4, 0xa4, 0x7f, 0x00, 0x19, 0x07, 0x07, 0x3b, 0xbe, - 0x57, 0xb8, 0x52, 0xd6, 0x2a, 0xd3, 0xab, 0xb7, 0xaa, 0x63, 0xf9, 0x56, 0x79, 0x90, 0x4d, 0x01, - 0xb4, 0xa4, 0x43, 0xfd, 0xce, 0xb7, 0x2f, 0x4b, 0xa9, 0x7f, 0x5e, 0x96, 0x52, 0x5f, 0xbf, 0x39, - 0x5c, 0x96, 0xf1, 0xbe, 0x7b, 0x73, 0xb8, 0x7c, 0x83, 0x33, 0x18, 0xc8, 0x6e, 0xce, 0xc3, 0xec, - 0x80, 0xc2, 0x42, 0x34, 0xc4, 0x01, 0x45, 0xe6, 0x61, 0x5a, 0x14, 0xfa, 0x59, 0xe8, 0x9e, 0x57, - 0xe8, 0x3c, 0x4c, 0xee, 0x20, 0xe4, 0x36, 0x7d, 0x57, 0x54, 0x9a, 0xb5, 0x32, 0x5c, 0xdc, 0x72, - 0xf5, 0x02, 0x4c, 0x52, 0xdf, 0x0b, 0x10, 0xa1, 0x85, 0x74, 0x39, 0x5d, 0xc9, 0x5a, 0x3d, 0x51, - 0x37, 0x21, 0xc7, 0x88, 0x1d, 0xd0, 0x8e, 0xcf, 0x18, 0x37, 0x4f, 0x08, 0xf3, 0x80, 0x4e, 0x7f, - 0x02, 0xf9, 0x5d, 0x3f, 0x78, 0xde, 0x0c, 0x11, 0x69, 0xe2, 0x16, 0x45, 0x64, 0xcf, 0x66, 0x3e, - 0x0e, 0x0a, 0x57, 0x79, 0x8e, 0x8d, 0xc5, 0xa3, 0xe3, 0x92, 0xf6, 0xd7, 0x71, 0x69, 0x36, 0x6a, - 0x38, 0x75, 0x9f, 0x57, 0x7d, 0x5c, 0xeb, 0xd8, 0xac, 0x5d, 0xdd, 0x0a, 0x98, 0xa5, 0x73, 0xd7, - 0x6d, 0x44, 0x9e, 0xf4, 0x1d, 0xf5, 0x4f, 0x60, 0x56, 0x05, 0x94, 0x99, 0x28, 0xe5, 0x11, 0x33, - 0x17, 0x89, 0x38, 0x23, 0x23, 0x7e, 0x1a, 0xf3, 0xd4, 0x17, 0x01, 0x44, 0x48, 0x17, 0x05, 0xb8, - 0x53, 0x98, 0x14, 0xec, 0xb3, 0x5c, 0xf3, 0x88, 0x2b, 0xb8, 0x59, 0x74, 0xc6, 0x76, 0x3b, 0x7e, - 0x50, 0x98, 0x8a, 0xcc, 0x5c, 0xb3, 0xce, 0x15, 0xfa, 0x12, 0x5c, 0x6b, 0xf9, 0xbb, 0xbb, 0x7e, - 0xe0, 0x49, 0x44, 0x56, 0x20, 0x72, 0x52, 0x29, 0x40, 0xe7, 0xce, 0xb2, 0x3f, 0x20, 0x39, 0xcb, - 0xbe, 0x42, 0xcd, 0xf2, 0xb7, 0x2b, 0x30, 0xdd, 0xa0, 0x9e, 0x2c, 0x9d, 0xe9, 0x65, 0x98, 0x8e, - 0xb5, 0x5a, 0x8e, 0x33, 0xae, 0xe2, 0xa5, 0x45, 0x67, 0xa9, 0xe9, 0xfa, 0x1e, 0xa2, 0x4c, 0x4c, - 0x36, 0x67, 0xe5, 0x22, 0xe5, 0x23, 0xa1, 0x8b, 0x0f, 0x3e, 0x3d, 0x30, 0xf8, 0x3c, 0x5c, 0x45, - 0x21, 0x76, 0xda, 0x85, 0x89, 0xb2, 0x56, 0x99, 0xb0, 0x22, 0x81, 0x6b, 0x09, 0xee, 0x06, 0xae, - 0x98, 0xe0, 0x84, 0x15, 0x09, 0xbc, 0x47, 0x68, 0x9f, 0x11, 0xbb, 0xd9, 0xb6, 0x69, 0x5b, 0x8c, - 0x22, 0x67, 0x65, 0x85, 0xe6, 0x23, 0x9b, 0xb6, 0xf5, 0x87, 0x90, 0x21, 0x28, 0xc4, 0x84, 0x89, - 0xee, 0x4e, 0xaf, 0x2e, 0x26, 0xdc, 0x02, 0x4b, 0x80, 0x2c, 0x09, 0xd6, 0x8b, 0x00, 0xfc, 0xac, - 0xd9, 0xac, 0x4b, 0x10, 0x2d, 0x4c, 0x95, 0xd3, 0x95, 0x9c, 0x15, 0xd3, 0xd4, 0xef, 0xc5, 0xbb, - 0x1a, 0x67, 0xce, 0x5b, 0x7b, 0x5d, 0xb6, 0xb6, 0xd7, 0x2f, 0x73, 0x16, 0x66, 0x62, 0xa2, 0x6a, - 0xeb, 0x2b, 0x4d, 0x34, 0xfc, 0x71, 0x37, 0x70, 0xa3, 0x76, 0xbf, 0xb0, 0x89, 0xbb, 0x8d, 0xf1, - 0xee, 0xe5, 0xaf, 0xca, 0x7b, 0x90, 0xb1, 0x3b, 0xb8, 0x1b, 0x30, 0xd1, 0xc9, 0xe9, 0xd5, 0x85, - 0xaa, 0x5c, 0x24, 0x7c, 0x8b, 0x29, 0x92, 0x9b, 0xd8, 0x0f, 0x36, 0x26, 0x8e, 0x8e, 0x4b, 0x29, - 0x4b, 0xc2, 0xeb, 0x2b, 0x09, 0xc7, 0x63, 0x41, 0x72, 0x18, 0x2d, 0xce, 0x2c, 0xc1, 0xe2, 0x58, - 0x83, 0xe2, 0xf5, 0xab, 0x06, 0x0b, 0x0d, 0xea, 0x7d, 0xee, 0xb3, 0xb6, 0x4b, 0xec, 0x17, 0xff, - 0x1b, 0xb7, 0x87, 0x09, 0xdc, 0x16, 0x25, 0xb7, 0xf1, 0x05, 0x9a, 0x4b, 0x70, 0x2b, 0xd1, 0xa8, - 0x38, 0xfe, 0xa4, 0x41, 0xae, 0x41, 0xbd, 0xa7, 0x88, 0x6d, 0xdb, 0x07, 0x08, 0xd1, 0xcb, 0xd3, - 0x1a, 0xde, 0x61, 0xe9, 0x31, 0x3b, 0x6c, 0x0e, 0x32, 0xa1, 0x08, 0x2f, 0x37, 0x9c, 0x94, 0xea, - 0x95, 0x04, 0x66, 0x6f, 0x49, 0x66, 0xaa, 0x2c, 0x73, 0x0e, 0xf2, 0x71, 0x59, 0xd5, 0xff, 0x8b, - 0x26, 0x0c, 0xe2, 0x4c, 0xee, 0x20, 0x12, 0x59, 0xdb, 0x7e, 0x98, 0xc8, 0x63, 0xe8, 0xce, 0x5f, - 0x19, 0xbd, 0xf3, 0x89, 0xd7, 0xd9, 0x80, 0xa9, 0x90, 0xe0, 0x10, 0x53, 0xe4, 0x8a, 0x1b, 0x9d, - 0xb5, 0x94, 0x5c, 0x7f, 0x90, 0xc0, 0xa4, 0x10, 0xbf, 0x43, 0xf1, 0x02, 0xcd, 0x22, 0xdc, 0x1c, - 0xa7, 0x57, 0xcc, 0x7e, 0xd4, 0x40, 0x6f, 0x50, 0x6f, 0xdd, 0x71, 0x50, 0xc8, 0xfa, 0xbc, 0xf2, - 0x70, 0x55, 0x34, 0x4f, 0xd2, 0x8a, 0x84, 0xff, 0xc0, 0xaa, 0xbe, 0x76, 0xd6, 0x0a, 0x98, 0x93, - 0xe5, 0x0f, 0x55, 0x61, 0xde, 0x04, 0x63, 0x54, 0xab, 0x4a, 0xff, 0x59, 0x83, 0xeb, 0x6a, 0x03, - 0x6f, 0xdb, 0xc4, 0xee, 0x50, 0xfd, 0x5d, 0xc8, 0xda, 0x5d, 0xd6, 0xc6, 0xc4, 0x67, 0x07, 0x51, - 0xed, 0x1b, 0x85, 0xdf, 0x5f, 0xdd, 0xcf, 0xcb, 0x3b, 0xb0, 0xee, 0xba, 0x04, 0x51, 0xfa, 0x94, - 0x11, 0x3f, 0xf0, 0xac, 0x3e, 0x54, 0xff, 0x90, 0x1f, 0x1d, 0x1e, 0x41, 0x3e, 0xff, 0x49, 0x8b, - 0x2f, 0x4a, 0xd3, 0xbb, 0x39, 0x91, 0x4b, 0xfd, 0x36, 0xe7, 0xd4, 0x0f, 0xc6, 0x19, 0xcd, 0x0c, - 0xbc, 0x17, 0x91, 0x97, 0xb9, 0x00, 0xf3, 0x43, 0xaa, 0x1e, 0x97, 0xd5, 0x3f, 0x26, 0x21, 0xdd, - 0xa0, 0x9e, 0xfe, 0x25, 0x40, 0xec, 0xcb, 0xca, 0xdb, 0x09, 0x55, 0x0c, 0x7c, 0x87, 0x30, 0xee, - 0x5d, 0x04, 0xd5, 0xcb, 0xc4, 0x33, 0xc4, 0xbe, 0x65, 0x9c, 0x91, 0xa1, 0x8f, 0x3a, 0x2b, 0xc3, - 0xe8, 0xfb, 0xa7, 0x3f, 0x83, 0x29, 0xf5, 0xf6, 0x99, 0xc9, 0x9e, 0x3d, 0x8c, 0xb1, 0x7c, 0x3e, - 0x46, 0xc5, 0xde, 0x07, 0x7d, 0xcc, 0x03, 0x70, 0x46, 0x7d, 0xa3, 0x68, 0xe3, 0x9d, 0xcb, 0xa0, - 0x55, 0xe6, 0x6f, 0x34, 0x98, 0x4b, 0xd8, 0xd1, 0x0f, 0x92, 0x03, 0x8e, 0xf7, 0x30, 0xde, 0xbf, - 0xac, 0x87, 0x2a, 0xe3, 0x0b, 0xc8, 0xf6, 0xb7, 0xe8, 0x52, 0x72, 0x18, 0x05, 0x32, 0xee, 0x5e, - 0x00, 0xa4, 0xc2, 0x77, 0xe1, 0xc6, 0xe8, 0x92, 0xbb, 0x7b, 0xce, 0x80, 0xe2, 0x60, 0x63, 0xed, - 0x12, 0x60, 0x95, 0x16, 0xc3, 0xf5, 0xe1, 0x0d, 0x74, 0x27, 0x39, 0xce, 0x10, 0xd4, 0x58, 0xb9, - 0x30, 0x54, 0x25, 0xdc, 0x81, 0xdc, 0xc0, 0xde, 0xb8, 0x7d, 0xde, 0x09, 0x8f, 0x70, 0x46, 0xf5, - 0x62, 0xb8, 0x5e, 0x9e, 0x0d, 0xe7, 0xe8, 0xa4, 0xa8, 0xbd, 0x3e, 0x29, 0x6a, 0x7f, 0x9f, 0x14, - 0xb5, 0x1f, 0x4e, 0x8b, 0xa9, 0xd7, 0xa7, 0xc5, 0xd4, 0x9f, 0xa7, 0xc5, 0xd4, 0xb3, 0x2d, 0xcf, - 0x67, 0xed, 0x6e, 0xab, 0xea, 0xe0, 0x4e, 0x6d, 0xab, 0x17, 0xf3, 0x63, 0xbb, 0x45, 0x6b, 0x2a, - 0xc3, 0x7d, 0x07, 0x13, 0x14, 0x17, 0xdb, 0xb6, 0x1f, 0xd4, 0x3a, 0xd8, 0xed, 0xee, 0x22, 0x2a, - 0x7e, 0x1f, 0xb1, 0x83, 0x10, 0xd1, 0x56, 0x46, 0xfc, 0xd8, 0x59, 0xfb, 0x37, 0x00, 0x00, 0xff, - 0xff, 0x86, 0x04, 0xae, 0x5e, 0xc3, 0x0d, 0x00, 0x00, + // 1186 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xcf, 0x6f, 0x1b, 0xc5, + 0x17, 0xf7, 0xd6, 0x89, 0x13, 0xbf, 0xb8, 0xea, 0xb7, 0x5b, 0x27, 0x71, 0x56, 0x8d, 0xed, 0x6e, + 0xbf, 0xaa, 0xdc, 0xb4, 0xb5, 0x9b, 0x84, 0xf2, 0xc3, 0x9c, 0x92, 0x54, 0x15, 0x91, 0xb0, 0x1a, + 0xb6, 0x20, 0xa4, 0x4a, 0xc8, 0xac, 0x77, 0x27, 0xeb, 0xa5, 0xf1, 0xce, 0x6a, 0x66, 0x9c, 0x26, + 0x37, 0x84, 0x38, 0x20, 0x24, 0x24, 0xce, 0x9c, 0x7a, 0xe1, 0x8a, 0x72, 0xa8, 0xc4, 0x05, 0xee, + 0x39, 0x56, 0x9c, 0x10, 0x42, 0x11, 0x4a, 0x0e, 0xe1, 0xcf, 0x40, 0x33, 0x3b, 0x1e, 0xaf, 0x7f, + 0x6c, 0x7e, 0x88, 0x03, 0x97, 0xc4, 0xef, 0xbd, 0xcf, 0xfb, 0xf1, 0x79, 0x6f, 0xe6, 0x8d, 0x0d, + 0x45, 0x3f, 0xf8, 0x02, 0x39, 0xcc, 0xdf, 0x45, 0x35, 0xec, 0x90, 0xda, 0xee, 0x72, 0x0b, 0x31, + 0x7b, 0xb9, 0xc6, 0xf6, 0xaa, 0x21, 0xc1, 0x0c, 0xeb, 0xb3, 0xca, 0x5e, 0xc5, 0x0e, 0xa9, 0x4a, + 0xbb, 0x51, 0x74, 0x30, 0xed, 0x60, 0x5a, 0x6b, 0xd9, 0x14, 0x29, 0x27, 0x07, 0xfb, 0x41, 0xe4, + 0x66, 0xcc, 0x4b, 0x7b, 0x87, 0x7a, 0xb5, 0xdd, 0x65, 0xfe, 0x4f, 0x1a, 0xf2, 0x1e, 0xf6, 0xb0, + 0xf8, 0x58, 0xe3, 0x9f, 0xa4, 0xb6, 0x34, 0xbe, 0x0a, 0x9e, 0x31, 0x02, 0x2c, 0x44, 0xf1, 0x9a, + 0x91, 0x67, 0x24, 0x48, 0xd3, 0x75, 0xbb, 0xe3, 0x07, 0xb8, 0x26, 0xfe, 0x46, 0x2a, 0xf3, 0x3b, + 0x0d, 0xae, 0x36, 0xa8, 0xb7, 0x41, 0x90, 0xcd, 0xd0, 0x13, 0x84, 0x5c, 0x7d, 0x0e, 0x32, 0x14, + 0x05, 0x2e, 0x22, 0x05, 0xad, 0xac, 0x55, 0xb2, 0x96, 0x94, 0xf4, 0xf7, 0x20, 0xe3, 0xe0, 0x60, + 0xdb, 0xf7, 0x0a, 0x57, 0xca, 0x5a, 0x65, 0x66, 0xe5, 0x56, 0x75, 0x2c, 0xdf, 0x2a, 0x0f, 0xb2, + 0x21, 0x80, 0x96, 0x74, 0xa8, 0xdf, 0xfd, 0xe6, 0x55, 0x29, 0xf5, 0xf7, 0xab, 0x52, 0xea, 0xab, + 0xd3, 0x83, 0x25, 0x19, 0xef, 0xdb, 0xd3, 0x83, 0xa5, 0xeb, 0x9c, 0xc1, 0x40, 0x76, 0x73, 0x1e, + 0x66, 0x07, 0x14, 0x16, 0xa2, 0x21, 0x0e, 0x28, 0x32, 0x0f, 0xd2, 0xa2, 0xd0, 0x4f, 0x42, 0xf7, + 0xbc, 0x42, 0xe7, 0x61, 0x6a, 0x1b, 0x21, 0xb7, 0xe9, 0xbb, 0xa2, 0xd2, 0xac, 0x95, 0xe1, 0xe2, + 0xa6, 0xab, 0x17, 0x60, 0x8a, 0xfa, 0x5e, 0x80, 0x08, 0x2d, 0xa4, 0xcb, 0xe9, 0x4a, 0xd6, 0xea, + 0x89, 0xba, 0x09, 0x39, 0x46, 0xec, 0x80, 0x76, 0x7c, 0xc6, 0xb8, 0x79, 0x42, 0x98, 0x07, 0x74, + 0xfa, 0x53, 0xc8, 0xef, 0xf8, 0xc1, 0x8b, 0x66, 0x88, 0x48, 0x13, 0xb7, 0x28, 0x22, 0xbb, 0x36, + 0xf3, 0x71, 0x50, 0x98, 0xe4, 0x39, 0xd6, 0x17, 0x0f, 0x8f, 0x4a, 0xda, 0x1f, 0x47, 0xa5, 0xd9, + 0xa8, 0xe1, 0xd4, 0x7d, 0x51, 0xf5, 0x71, 0xad, 0x63, 0xb3, 0x76, 0x75, 0x33, 0x60, 0x96, 0xce, + 0x5d, 0xb7, 0x10, 0x79, 0xda, 0x77, 0xd4, 0x3f, 0x82, 0x59, 0x15, 0x50, 0x66, 0xa2, 0x94, 0x47, + 0xcc, 0x5c, 0x24, 0xe2, 0x0d, 0x19, 0xf1, 0xe3, 0x98, 0xa7, 0xbe, 0x08, 0x20, 0x42, 0xba, 0x28, + 0xc0, 0x9d, 0xc2, 0x94, 0x60, 0x9f, 0xe5, 0x9a, 0xc7, 0x5c, 0xc1, 0xcd, 0xa2, 0x33, 0xb6, 0xdb, + 0xf1, 0x83, 0xc2, 0x74, 0x64, 0xe6, 0x9a, 0x35, 0xae, 0xd0, 0x6f, 0xc3, 0xd5, 0x96, 0xbf, 0xb3, + 0xe3, 0x07, 0x9e, 0x44, 0x64, 0x05, 0x22, 0x27, 0x95, 0x02, 0x74, 0xee, 0x2c, 0xfb, 0x03, 0x92, + 0xb3, 0xec, 0x2b, 0xd4, 0x2c, 0x7f, 0xbd, 0x02, 0x33, 0x0d, 0xea, 0xc9, 0xd2, 0x99, 0x5e, 0x86, + 0x99, 0x58, 0xab, 0xe5, 0x38, 0xe3, 0x2a, 0x5e, 0x5a, 0x74, 0x96, 0x9a, 0xae, 0xef, 0x21, 0xca, + 0xc4, 0x64, 0x73, 0x56, 0x2e, 0x52, 0x3e, 0x16, 0xba, 0xf8, 0xe0, 0xd3, 0x03, 0x83, 0xcf, 0xc3, + 0x24, 0x0a, 0xb1, 0xd3, 0x2e, 0x4c, 0x94, 0xb5, 0xca, 0x84, 0x15, 0x09, 0x5c, 0x4b, 0x70, 0x37, + 0x70, 0xc5, 0x04, 0x27, 0xac, 0x48, 0xe0, 0x3d, 0x42, 0x7b, 0x8c, 0xd8, 0xcd, 0xb6, 0x4d, 0xdb, + 0x62, 0x14, 0x39, 0x2b, 0x2b, 0x34, 0x1f, 0xd8, 0xb4, 0xad, 0x3f, 0x82, 0x0c, 0x41, 0x21, 0x26, + 0x4c, 0x74, 0x77, 0x66, 0x65, 0x31, 0xe1, 0x16, 0x58, 0x02, 0x64, 0x49, 0xb0, 0x5e, 0x04, 0xe0, + 0x67, 0xcd, 0x66, 0x5d, 0x82, 0x68, 0x61, 0xba, 0x9c, 0xae, 0xe4, 0xac, 0x98, 0xa6, 0x7e, 0x3f, + 0xde, 0xd5, 0x38, 0x73, 0xde, 0xda, 0x6b, 0xb2, 0xb5, 0xbd, 0x7e, 0x99, 0xb3, 0x70, 0x23, 0x26, + 0xaa, 0xb6, 0xbe, 0xd6, 0x44, 0xc3, 0x9f, 0x74, 0x03, 0x37, 0x6a, 0xf7, 0x4b, 0x9b, 0xb8, 0x5b, + 0x18, 0xef, 0x5c, 0xfe, 0xaa, 0xbc, 0x03, 0x19, 0xbb, 0x83, 0xbb, 0x01, 0x13, 0x9d, 0x9c, 0x59, + 0x59, 0xa8, 0xca, 0x45, 0xc2, 0xb7, 0x98, 0x22, 0xb9, 0x81, 0xfd, 0x60, 0x7d, 0xe2, 0xf0, 0xa8, + 0x94, 0xb2, 0x24, 0xbc, 0xbe, 0x9c, 0x70, 0x3c, 0x16, 0x24, 0x87, 0xd1, 0xe2, 0xcc, 0x12, 0x2c, + 0x8e, 0x35, 0x28, 0x5e, 0xbf, 0x68, 0xb0, 0xd0, 0xa0, 0xde, 0xa7, 0x3e, 0x6b, 0xbb, 0xc4, 0x7e, + 0xf9, 0x9f, 0x71, 0x7b, 0x94, 0xc0, 0x6d, 0x51, 0x72, 0x1b, 0x5f, 0xa0, 0x79, 0x1b, 0x6e, 0x25, + 0x1a, 0x15, 0xc7, 0x1f, 0x35, 0xc8, 0x35, 0xa8, 0xf7, 0x0c, 0xb1, 0x2d, 0x7b, 0x1f, 0x21, 0x7a, + 0x79, 0x5a, 0xc3, 0x3b, 0x2c, 0x3d, 0x66, 0x87, 0xcd, 0x41, 0x26, 0x14, 0xe1, 0xe5, 0x86, 0x93, + 0x52, 0xbd, 0x92, 0xc0, 0xec, 0x7f, 0x92, 0x99, 0x2a, 0xcb, 0x9c, 0x83, 0x7c, 0x5c, 0x56, 0xf5, + 0xff, 0xac, 0x09, 0x83, 0x38, 0x93, 0xdb, 0x88, 0x44, 0xd6, 0xb6, 0x1f, 0x26, 0xf2, 0x18, 0xba, + 0xf3, 0x57, 0x46, 0xef, 0x7c, 0xe2, 0x75, 0x36, 0x60, 0x3a, 0x24, 0x38, 0xc4, 0x14, 0xb9, 0xe2, + 0x46, 0x67, 0x2d, 0x25, 0xd7, 0x1f, 0x26, 0x30, 0x29, 0xc4, 0xef, 0x50, 0xbc, 0x40, 0xb3, 0x08, + 0x37, 0xc7, 0xe9, 0x15, 0xb3, 0x1f, 0x34, 0xd0, 0x1b, 0xd4, 0x5b, 0x73, 0x1c, 0x14, 0xb2, 0x3e, + 0xaf, 0x3c, 0x4c, 0x8a, 0xe6, 0x49, 0x5a, 0x91, 0xf0, 0x2f, 0x58, 0xd5, 0x57, 0xcf, 0x5a, 0x01, + 0x73, 0xb2, 0xfc, 0xa1, 0x2a, 0xcc, 0x9b, 0x60, 0x8c, 0x6a, 0x55, 0xe9, 0x3f, 0x69, 0x70, 0x4d, + 0x6d, 0xe0, 0x2d, 0x9b, 0xd8, 0x1d, 0xaa, 0xbf, 0x0d, 0x59, 0xbb, 0xcb, 0xda, 0x98, 0xf8, 0x6c, + 0x3f, 0xaa, 0x7d, 0xbd, 0xf0, 0xdb, 0xeb, 0x07, 0x79, 0x79, 0x07, 0xd6, 0x5c, 0x97, 0x20, 0x4a, + 0x9f, 0x31, 0xe2, 0x07, 0x9e, 0xd5, 0x87, 0xea, 0xef, 0xf3, 0xa3, 0xc3, 0x23, 0xc8, 0xe7, 0x3f, + 0x69, 0xf1, 0x45, 0x69, 0x7a, 0x37, 0x27, 0x72, 0xa9, 0xdf, 0xe1, 0x9c, 0xfa, 0xc1, 0x38, 0xa3, + 0x1b, 0x03, 0xef, 0x45, 0xe4, 0x65, 0x2e, 0xc0, 0xfc, 0x90, 0xaa, 0xc7, 0x65, 0xe5, 0xcf, 0x29, + 0x48, 0x37, 0xa8, 0xa7, 0x7f, 0x0e, 0x10, 0xfb, 0xb2, 0xf2, 0xff, 0x84, 0x2a, 0x06, 0xbe, 0x43, + 0x18, 0xf7, 0x2f, 0x82, 0xea, 0x65, 0xe2, 0x19, 0x62, 0xdf, 0x32, 0xce, 0xc8, 0xd0, 0x47, 0x9d, + 0x95, 0x61, 0xf4, 0xfd, 0xd3, 0x9f, 0xc3, 0xb4, 0x7a, 0xfb, 0xcc, 0x64, 0xcf, 0x1e, 0xc6, 0x58, + 0x3a, 0x1f, 0xa3, 0x62, 0xef, 0x81, 0x3e, 0xe6, 0x01, 0x38, 0xa3, 0xbe, 0x51, 0xb4, 0xf1, 0xd6, + 0x65, 0xd0, 0x2a, 0xf3, 0xd7, 0x1a, 0xcc, 0x25, 0xec, 0xe8, 0x87, 0xc9, 0x01, 0xc7, 0x7b, 0x18, + 0xef, 0x5e, 0xd6, 0x43, 0x95, 0xf1, 0x19, 0x64, 0xfb, 0x5b, 0xf4, 0x76, 0x72, 0x18, 0x05, 0x32, + 0xee, 0x5d, 0x00, 0xa4, 0xc2, 0x77, 0xe1, 0xfa, 0xe8, 0x92, 0xbb, 0x77, 0xce, 0x80, 0xe2, 0x60, + 0x63, 0xf5, 0x12, 0x60, 0x95, 0x16, 0xc3, 0xb5, 0xe1, 0x0d, 0x74, 0x37, 0x39, 0xce, 0x10, 0xd4, + 0x58, 0xbe, 0x30, 0x54, 0x25, 0xdc, 0x86, 0xdc, 0xc0, 0xde, 0xb8, 0x73, 0xde, 0x09, 0x8f, 0x70, + 0x46, 0xf5, 0x62, 0xb8, 0x5e, 0x1e, 0x63, 0xf2, 0xcb, 0xd3, 0x83, 0x25, 0x6d, 0xdd, 0x39, 0x3c, + 0x2e, 0x6a, 0x6f, 0x8e, 0x8b, 0xda, 0x5f, 0xc7, 0x45, 0xed, 0xfb, 0x93, 0x62, 0xea, 0xcd, 0x49, + 0x31, 0xf5, 0xfb, 0x49, 0x31, 0xf5, 0x7c, 0xd3, 0xf3, 0x59, 0xbb, 0xdb, 0xaa, 0x3a, 0xb8, 0x53, + 0xdb, 0xec, 0x85, 0xfe, 0xd0, 0x6e, 0xd1, 0x9a, 0x4a, 0xf4, 0xc0, 0xc1, 0x04, 0xc5, 0xc5, 0xb6, + 0xed, 0x07, 0xb5, 0x0e, 0x76, 0xbb, 0x3b, 0x88, 0x8a, 0x9f, 0x49, 0x6c, 0x3f, 0x44, 0xb4, 0x95, + 0x11, 0xbf, 0x79, 0x56, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x7b, 0x3b, 0x8a, 0x4c, 0xca, 0x0d, + 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/oracle/types/codec.go b/chain/oracle/types/codec.go index 4cf97e24..67c93b8d 100644 --- a/chain/oracle/types/codec.go +++ b/chain/oracle/types/codec.go @@ -19,6 +19,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(&MsgRelayStorkPrices{}, "oracle/MsgRelayStorkPrices", nil) cdc.RegisterConcrete(&MsgUpdateParams{}, "oracle/MsgUpdateParams", nil) cdc.RegisterConcrete(&GrantBandOraclePrivilegeProposal{}, "oracle/GrantBandOraclePrivilegeProposal", nil) @@ -30,6 +31,8 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&EnableBandIBCProposal{}, "oracle/EnableBandIBCProposal", nil) cdc.RegisterConcrete(&GrantProviderPrivilegeProposal{}, "oracle/GrantProviderPrivilegeProposal", nil) cdc.RegisterConcrete(&RevokeProviderPrivilegeProposal{}, "oracle/RevokeProviderPrivilegeProposal", nil) + cdc.RegisterConcrete(&GrantStorkPublisherPrivilegeProposal{}, "oracle/GrantStorkPublisherPrivilegeProposal", nil) + cdc.RegisterConcrete(&RevokeStorkPublisherPrivilegeProposal{}, "oracle/RevokeStorkPublisherPrivilegeProposal", nil) cdc.RegisterConcrete(&Params{}, "oracle/Params", nil) } @@ -41,6 +44,7 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { &MsgRequestBandIBCRates{}, &MsgRelayProviderPrices{}, &MsgRelayPythPrices{}, + &MsgRelayStorkPrices{}, &MsgUpdateParams{}, ) @@ -54,6 +58,8 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { &EnableBandIBCProposal{}, &GrantProviderPrivilegeProposal{}, &RevokeProviderPrivilegeProposal{}, + &GrantStorkPublisherPrivilegeProposal{}, + &RevokeStorkPublisherPrivilegeProposal{}, ) msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) diff --git a/chain/oracle/types/errors.go b/chain/oracle/types/errors.go index c9a28f15..87bb055b 100644 --- a/chain/oracle/types/errors.go +++ b/chain/oracle/types/errors.go @@ -44,4 +44,8 @@ var ( 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") + ErrBadStorkMessageTimestamp = errors.Register(ModuleName, 40, "bad Stork message timestamp") + ErrEmptyStorkSender = errors.Register(ModuleName, 41, "sender stork is empty") + ErrInvalidStorkSignature = errors.Register(ModuleName, 42, "invalid stork signature") + ErrStorkAssetIdNotUnique = errors.Register(ModuleName, 43, "stork asset id not unique") ) diff --git a/chain/oracle/types/events.pb.go b/chain/oracle/types/events.pb.go index 8ea77f37..7aeda9c2 100644 --- a/chain/oracle/types/events.pb.go +++ b/chain/oracle/types/events.pb.go @@ -549,6 +549,50 @@ func (m *SetCoinbasePriceEvent) GetTimestamp() uint64 { return 0 } +type EventSetStorkPrices struct { + Prices []*StorkPriceState `protobuf:"bytes,1,rep,name=prices,proto3" json:"prices,omitempty"` +} + +func (m *EventSetStorkPrices) Reset() { *m = EventSetStorkPrices{} } +func (m *EventSetStorkPrices) String() string { return proto.CompactTextString(m) } +func (*EventSetStorkPrices) ProtoMessage() {} +func (*EventSetStorkPrices) Descriptor() ([]byte, []int) { + return fileDescriptor_c42b07097291dfa0, []int{9} +} +func (m *EventSetStorkPrices) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventSetStorkPrices) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventSetStorkPrices.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 *EventSetStorkPrices) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventSetStorkPrices.Merge(m, src) +} +func (m *EventSetStorkPrices) XXX_Size() int { + return m.Size() +} +func (m *EventSetStorkPrices) XXX_DiscardUnknown() { + xxx_messageInfo_EventSetStorkPrices.DiscardUnknown(m) +} + +var xxx_messageInfo_EventSetStorkPrices proto.InternalMessageInfo + +func (m *EventSetStorkPrices) GetPrices() []*StorkPriceState { + if m != nil { + return m.Prices + } + return nil +} + type EventSetPythPrices struct { Prices []*PythPriceState `protobuf:"bytes,1,rep,name=prices,proto3" json:"prices,omitempty"` } @@ -557,7 +601,7 @@ func (m *EventSetPythPrices) Reset() { *m = EventSetPythPrices{} } func (m *EventSetPythPrices) String() string { return proto.CompactTextString(m) } func (*EventSetPythPrices) ProtoMessage() {} func (*EventSetPythPrices) Descriptor() ([]byte, []int) { - return fileDescriptor_c42b07097291dfa0, []int{9} + return fileDescriptor_c42b07097291dfa0, []int{10} } func (m *EventSetPythPrices) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -603,6 +647,7 @@ func init() { proto.RegisterType((*SetPriceFeedPriceEvent)(nil), "injective.oracle.v1beta1.SetPriceFeedPriceEvent") proto.RegisterType((*SetProviderPriceEvent)(nil), "injective.oracle.v1beta1.SetProviderPriceEvent") proto.RegisterType((*SetCoinbasePriceEvent)(nil), "injective.oracle.v1beta1.SetCoinbasePriceEvent") + proto.RegisterType((*EventSetStorkPrices)(nil), "injective.oracle.v1beta1.EventSetStorkPrices") proto.RegisterType((*EventSetPythPrices)(nil), "injective.oracle.v1beta1.EventSetPythPrices") } @@ -611,49 +656,51 @@ func init() { } var fileDescriptor_c42b07097291dfa0 = []byte{ - // 665 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xb1, 0x6e, 0x13, 0x4d, - 0x10, 0xf6, 0xda, 0x8e, 0x13, 0x6f, 0xfe, 0xe6, 0x3f, 0x99, 0x70, 0x4a, 0xc0, 0x31, 0x46, 0x48, - 0x6e, 0xb8, 0x53, 0xa0, 0x02, 0x1a, 0x70, 0x08, 0x92, 0xa5, 0x14, 0xd1, 0x39, 0xa2, 0xa0, 0x89, - 0xd6, 0x7b, 0x13, 0x7b, 0xf1, 0xdd, 0xad, 0xb3, 0xbb, 0x67, 0xe4, 0x37, 0xa0, 0xa0, 0xa0, 0xa3, - 0xe5, 0x59, 0xa8, 0x52, 0xa6, 0x44, 0x14, 0x11, 0x4a, 0x24, 0x9e, 0x03, 0xed, 0xde, 0xda, 0x3e, - 0xac, 0x18, 0x39, 0xa2, 0xbb, 0x99, 0x9d, 0xf9, 0xe6, 0x9b, 0xb9, 0xf9, 0x06, 0x3f, 0x62, 0xc9, - 0x7b, 0xa0, 0x8a, 0x8d, 0xc1, 0xe7, 0x82, 0xd0, 0x08, 0xfc, 0xf1, 0x5e, 0x0f, 0x14, 0xd9, 0xf3, - 0x61, 0x0c, 0x89, 0x92, 0xde, 0x48, 0x70, 0xc5, 0x1d, 0x77, 0x16, 0xe6, 0x65, 0x61, 0x9e, 0x0d, - 0xdb, 0xae, 0xf5, 0x79, 0x9f, 0x9b, 0x20, 0x5f, 0x7f, 0x65, 0xf1, 0xdb, 0x75, 0xca, 0x65, 0xcc, - 0xa5, 0xdf, 0x23, 0x72, 0x8e, 0x48, 0x39, 0x4b, 0xec, 0xfb, 0xf2, 0xb2, 0x16, 0xde, 0x84, 0x35, - 0x3f, 0x21, 0xbc, 0xd5, 0x05, 0xb5, 0x3f, 0x20, 0x2c, 0x89, 0x58, 0x32, 0x3c, 0x12, 0x8c, 0xc2, - 0x81, 0x26, 0xe6, 0xdc, 0xc5, 0xeb, 0xa7, 0x00, 0xe1, 0x09, 0x0b, 0x5d, 0xd4, 0x40, 0xad, 0x6a, - 0x50, 0xd1, 0x66, 0x27, 0x74, 0x5e, 0xe0, 0x0a, 0x49, 0xe4, 0x07, 0x10, 0x6e, 0x51, 0xfb, 0xdb, - 0x0f, 0xcf, 0x2f, 0x77, 0x0b, 0x3f, 0x2e, 0x77, 0x77, 0x32, 0x4a, 0x32, 0x1c, 0x7a, 0x8c, 0xfb, - 0x31, 0x51, 0x03, 0xef, 0x10, 0xfa, 0x84, 0x4e, 0x5e, 0x03, 0x0d, 0x6c, 0x8a, 0x73, 0x0f, 0x57, - 0x15, 0x8b, 0x41, 0x2a, 0x12, 0x8f, 0xdc, 0x52, 0x03, 0xb5, 0xca, 0xc1, 0xdc, 0xd1, 0xfc, 0x86, - 0xf0, 0xff, 0x5d, 0x50, 0x6d, 0x92, 0x84, 0x39, 0x26, 0x2e, 0x5e, 0x17, 0x10, 0x91, 0x09, 0x08, - 0xcb, 0x64, 0x6a, 0x3a, 0x5b, 0xb8, 0x22, 0x27, 0x71, 0x8f, 0x47, 0x19, 0x95, 0xc0, 0x5a, 0xce, - 0x33, 0xbc, 0x36, 0xd2, 0xf9, 0xa6, 0xc2, 0x8a, 0x0c, 0xb3, 0x0c, 0xe7, 0x01, 0xfe, 0x4f, 0x80, - 0xe4, 0xd1, 0x18, 0x4e, 0x34, 0x2f, 0xb7, 0x6c, 0x38, 0x6e, 0x5a, 0xdf, 0x31, 0x8b, 0xc1, 0xb9, - 0x8f, 0xb1, 0x80, 0xb3, 0x14, 0xa4, 0xd2, 0xc3, 0x59, 0xcb, 0x9a, 0xb0, 0x9e, 0x4e, 0xd8, 0xfc, - 0x85, 0x70, 0xcd, 0x36, 0xd1, 0x69, 0xef, 0xaf, 0xd4, 0x87, 0x8b, 0xd7, 0x33, 0xe6, 0xd2, 0x2d, - 0x36, 0x4a, 0xfa, 0xc5, 0x9a, 0x7a, 0xd8, 0x86, 0x97, 0x74, 0x4b, 0xfa, 0x61, 0xc5, 0x61, 0x67, - 0x29, 0xff, 0xde, 0x8b, 0xb3, 0x83, 0xab, 0x34, 0x62, 0x90, 0x98, 0xd7, 0x4a, 0x03, 0xb5, 0x4a, - 0xc1, 0x46, 0xe6, 0xe8, 0x84, 0xcd, 0x63, 0xbc, 0x65, 0x1a, 0xb3, 0x9d, 0xbe, 0xa2, 0xc3, 0x6e, - 0x4a, 0x29, 0x48, 0xa9, 0x51, 0x09, 0x1d, 0x9e, 0x08, 0x90, 0x69, 0xa4, 0x6c, 0xb3, 0x55, 0x42, - 0x87, 0x81, 0x71, 0xfc, 0x89, 0x5a, 0x5c, 0x40, 0x3d, 0xc2, 0xb5, 0x05, 0xd4, 0x03, 0x21, 0xb8, - 0xd0, 0x49, 0x1a, 0x13, 0xb4, 0x61, 0x21, 0x37, 0x48, 0xee, 0x71, 0x39, 0xe2, 0x73, 0xbc, 0x93, - 0x47, 0x0c, 0x40, 0x8e, 0x78, 0x22, 0x4d, 0xff, 0x3c, 0x5d, 0x60, 0x83, 0x16, 0x72, 0xbf, 0x64, - 0x02, 0x31, 0x7f, 0xf1, 0x0d, 0xc0, 0x6a, 0x6b, 0xe9, 0xe0, 0xb2, 0xd6, 0xa5, 0x5d, 0x4a, 0xf3, - 0xed, 0xd4, 0xf0, 0xda, 0x59, 0xca, 0x95, 0x5d, 0xc9, 0x20, 0x33, 0xe6, 0x8b, 0x5a, 0xbe, 0xed, - 0xa2, 0x36, 0xbf, 0x22, 0x7c, 0xc7, 0x30, 0xe3, 0x63, 0x16, 0x82, 0xc8, 0x11, 0xdb, 0xc6, 0x1b, - 0x23, 0xeb, 0x9d, 0x0e, 0x6a, 0x6a, 0xe7, 0x49, 0x17, 0x97, 0x69, 0xa9, 0x74, 0xb3, 0x96, 0x6e, - 0x4f, 0xf1, 0x63, 0x46, 0x71, 0x9f, 0xb3, 0x44, 0xcf, 0x20, 0x47, 0x71, 0x5e, 0x0c, 0xdd, 0x5c, - 0xac, 0x78, 0x6b, 0xe1, 0xfe, 0xfd, 0xb2, 0xbc, 0xc5, 0x8e, 0xa9, 0xac, 0x27, 0x36, 0x51, 0x83, - 0xa3, 0x4c, 0x20, 0x2f, 0x67, 0xea, 0x42, 0x8d, 0x52, 0x6b, 0xf3, 0x49, 0xcb, 0x5b, 0x76, 0x86, - 0xbd, 0x59, 0x56, 0x57, 0x11, 0x05, 0x53, 0x89, 0xb5, 0x4f, 0xcf, 0xaf, 0xea, 0xe8, 0xe2, 0xaa, - 0x8e, 0x7e, 0x5e, 0xd5, 0xd1, 0xe7, 0xeb, 0x7a, 0xe1, 0xe2, 0xba, 0x5e, 0xf8, 0x7e, 0x5d, 0x2f, - 0xbc, 0x3b, 0xec, 0x33, 0x35, 0x48, 0x7b, 0x1e, 0xe5, 0xb1, 0xdf, 0x99, 0xa2, 0x1e, 0x92, 0x9e, - 0xf4, 0x67, 0x35, 0x1e, 0x53, 0x2e, 0x20, 0x6f, 0xea, 0x33, 0xec, 0xc7, 0x3c, 0x4c, 0x23, 0x90, - 0xd3, 0xbb, 0xad, 0x26, 0x23, 0x90, 0xbd, 0x8a, 0xb9, 0xd7, 0x4f, 0x7f, 0x07, 0x00, 0x00, 0xff, - 0xff, 0xbc, 0x05, 0xc5, 0xe3, 0x4f, 0x06, 0x00, 0x00, + // 689 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x3f, 0x6f, 0x13, 0x4b, + 0x10, 0xf7, 0xda, 0x8e, 0x13, 0x6f, 0x5e, 0xf3, 0xee, 0xf9, 0x85, 0x53, 0x02, 0x8e, 0x31, 0x42, + 0x32, 0x05, 0x77, 0x0a, 0x54, 0x40, 0x43, 0x1c, 0x82, 0x64, 0x29, 0x45, 0x74, 0x8e, 0x10, 0xa2, + 0x89, 0xd6, 0x7b, 0x13, 0x7b, 0xf1, 0xdd, 0xad, 0xb3, 0xbb, 0x36, 0xf2, 0x37, 0xa0, 0xa0, 0xa0, + 0xa3, 0xe5, 0xb3, 0x50, 0xa5, 0x4c, 0x89, 0x28, 0x22, 0x94, 0x48, 0x7c, 0x0e, 0xb4, 0x7b, 0x6b, + 0xfb, 0x62, 0xc5, 0xc8, 0x11, 0xdd, 0xcd, 0xbf, 0xdf, 0xfc, 0x66, 0x6e, 0x66, 0x16, 0x3f, 0x64, + 0xc9, 0x7b, 0xa0, 0x8a, 0x8d, 0xc0, 0xe7, 0x82, 0xd0, 0x08, 0xfc, 0xd1, 0x4e, 0x07, 0x14, 0xd9, + 0xf1, 0x61, 0x04, 0x89, 0x92, 0xde, 0x40, 0x70, 0xc5, 0x1d, 0x77, 0xea, 0xe6, 0xa5, 0x6e, 0x9e, + 0x75, 0xdb, 0xac, 0x74, 0x79, 0x97, 0x1b, 0x27, 0x5f, 0x7f, 0xa5, 0xfe, 0x9b, 0x55, 0xca, 0x65, + 0xcc, 0xa5, 0xdf, 0x21, 0x72, 0x86, 0x48, 0x39, 0x4b, 0xac, 0x7d, 0x71, 0x5a, 0x0b, 0x6f, 0xdc, + 0xea, 0x9f, 0x10, 0xde, 0x68, 0x83, 0xda, 0xeb, 0x11, 0x96, 0x44, 0x2c, 0xe9, 0x1f, 0x0a, 0x46, + 0x61, 0x5f, 0x13, 0x73, 0xee, 0xe0, 0xd5, 0x13, 0x80, 0xf0, 0x98, 0x85, 0x2e, 0xaa, 0xa1, 0x46, + 0x39, 0x28, 0x69, 0xb1, 0x15, 0x3a, 0x2f, 0x70, 0x89, 0x24, 0xf2, 0x03, 0x08, 0x37, 0xaf, 0xf5, + 0xcd, 0x07, 0x67, 0x17, 0xdb, 0xb9, 0x1f, 0x17, 0xdb, 0x5b, 0x29, 0x25, 0x19, 0xf6, 0x3d, 0xc6, + 0xfd, 0x98, 0xa8, 0x9e, 0x77, 0x00, 0x5d, 0x42, 0xc7, 0xaf, 0x80, 0x06, 0x36, 0xc4, 0xb9, 0x8b, + 0xcb, 0x8a, 0xc5, 0x20, 0x15, 0x89, 0x07, 0x6e, 0xa1, 0x86, 0x1a, 0xc5, 0x60, 0xa6, 0xa8, 0x7f, + 0x43, 0xf8, 0xdf, 0x36, 0xa8, 0x26, 0x49, 0xc2, 0x0c, 0x13, 0x17, 0xaf, 0x0a, 0x88, 0xc8, 0x18, + 0x84, 0x65, 0x32, 0x11, 0x9d, 0x0d, 0x5c, 0x92, 0xe3, 0xb8, 0xc3, 0xa3, 0x94, 0x4a, 0x60, 0x25, + 0xe7, 0x19, 0x5e, 0x19, 0xe8, 0x78, 0x93, 0x61, 0x49, 0x86, 0x69, 0x84, 0x73, 0x1f, 0xff, 0x23, + 0x40, 0xf2, 0x68, 0x04, 0xc7, 0x9a, 0x97, 0x5b, 0x34, 0x1c, 0xd7, 0xad, 0xee, 0x88, 0xc5, 0xe0, + 0xdc, 0xc3, 0x58, 0xc0, 0xe9, 0x10, 0xa4, 0xd2, 0xcd, 0x59, 0x49, 0x8b, 0xb0, 0x9a, 0x56, 0x58, + 0xff, 0x85, 0x70, 0xc5, 0x16, 0xd1, 0x6a, 0xee, 0x2d, 0x55, 0x87, 0x8b, 0x57, 0x53, 0xe6, 0xd2, + 0xcd, 0xd7, 0x0a, 0xda, 0x62, 0x45, 0xdd, 0x6c, 0xc3, 0x4b, 0xba, 0x05, 0x6d, 0x58, 0xb2, 0xd9, + 0x69, 0xc8, 0xdf, 0xd7, 0xe2, 0x6c, 0xe1, 0x32, 0x8d, 0x18, 0x24, 0xc6, 0x5a, 0xaa, 0xa1, 0x46, + 0x21, 0x58, 0x4b, 0x15, 0xad, 0xb0, 0x7e, 0x84, 0x37, 0x4c, 0x61, 0xb6, 0xd2, 0x5d, 0xda, 0x6f, + 0x0f, 0x29, 0x05, 0x29, 0x35, 0x2a, 0xa1, 0xfd, 0x63, 0x01, 0x72, 0x18, 0x29, 0x5b, 0x6c, 0x99, + 0xd0, 0x7e, 0x60, 0x14, 0xd7, 0x51, 0xf3, 0x73, 0xa8, 0x87, 0xb8, 0x32, 0x87, 0xba, 0x2f, 0x04, + 0x17, 0x3a, 0x48, 0x63, 0x82, 0x16, 0x2c, 0xe4, 0x1a, 0xc9, 0x18, 0x17, 0x23, 0x3e, 0xc7, 0x5b, + 0x59, 0xc4, 0x00, 0xe4, 0x80, 0x27, 0xd2, 0xd4, 0xcf, 0x87, 0x73, 0x6c, 0xd0, 0x5c, 0xec, 0x97, + 0x74, 0x41, 0xcc, 0x5f, 0x7c, 0x0d, 0xb0, 0xdc, 0x58, 0x3a, 0xb8, 0xa8, 0xf7, 0xd2, 0x0e, 0xa5, + 0xf9, 0x76, 0x2a, 0x78, 0xe5, 0x74, 0xc8, 0x95, 0x1d, 0xc9, 0x20, 0x15, 0x66, 0x83, 0x5a, 0xbc, + 0xed, 0xa0, 0xd6, 0xbf, 0x22, 0xfc, 0xbf, 0x61, 0xc6, 0x47, 0x2c, 0x04, 0x91, 0x21, 0xb6, 0x89, + 0xd7, 0x06, 0x56, 0x3b, 0x69, 0xd4, 0x44, 0xce, 0x92, 0xce, 0x2f, 0xda, 0xa5, 0xc2, 0xcd, 0xbb, + 0x74, 0x7b, 0x8a, 0x1f, 0x53, 0x8a, 0x7b, 0x9c, 0x25, 0xba, 0x07, 0x19, 0x8a, 0xb3, 0x64, 0xe8, + 0xe6, 0x64, 0xf9, 0x5b, 0x2f, 0xee, 0x9f, 0x2f, 0xcb, 0x5b, 0xfc, 0x9f, 0xc9, 0xdc, 0x06, 0xd5, + 0x56, 0x5c, 0xa4, 0x87, 0x4e, 0x3a, 0xbb, 0xd3, 0xf5, 0x42, 0xb5, 0x42, 0x63, 0xfd, 0xc9, 0x23, + 0x6f, 0xd1, 0x1d, 0xf6, 0x66, 0x61, 0x6d, 0x45, 0x14, 0x4c, 0x96, 0xac, 0xfe, 0x06, 0x3b, 0x13, + 0xe4, 0xc3, 0xb1, 0xea, 0x59, 0xe0, 0x97, 0x73, 0xc0, 0x8d, 0xc5, 0xc0, 0xd3, 0xa8, 0x6b, 0xb8, + 0xcd, 0x93, 0xb3, 0xcb, 0x2a, 0x3a, 0xbf, 0xac, 0xa2, 0x9f, 0x97, 0x55, 0xf4, 0xf9, 0xaa, 0x9a, + 0x3b, 0xbf, 0xaa, 0xe6, 0xbe, 0x5f, 0x55, 0x73, 0xef, 0x0e, 0xba, 0x4c, 0xf5, 0x86, 0x1d, 0x8f, + 0xf2, 0xd8, 0x6f, 0x4d, 0x50, 0x0f, 0x48, 0x47, 0xfa, 0xd3, 0x1c, 0x8f, 0x29, 0x17, 0x90, 0x15, + 0xf5, 0x81, 0xf7, 0x63, 0x1e, 0x0e, 0x23, 0x90, 0x93, 0x17, 0x41, 0x8d, 0x07, 0x20, 0x3b, 0x25, + 0xf3, 0x12, 0x3c, 0xfd, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x3f, 0x45, 0xd4, 0xa9, 0x06, 0x00, + 0x00, } func (m *SetChainlinkPriceEvent) Marshal() (dAtA []byte, err error) { @@ -1077,6 +1124,43 @@ func (m *SetCoinbasePriceEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *EventSetStorkPrices) 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 *EventSetStorkPrices) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventSetStorkPrices) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Prices) > 0 { + for iNdEx := len(m.Prices) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Prices[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + func (m *EventSetPythPrices) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -1310,6 +1394,21 @@ func (m *SetCoinbasePriceEvent) Size() (n int) { return n } +func (m *EventSetStorkPrices) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Prices) > 0 { + for _, e := range m.Prices { + l = e.Size() + n += 1 + l + sovEvents(uint64(l)) + } + } + return n +} + func (m *EventSetPythPrices) Size() (n int) { if m == nil { return 0 @@ -2625,6 +2724,90 @@ func (m *SetCoinbasePriceEvent) Unmarshal(dAtA []byte) error { } return nil } +func (m *EventSetStorkPrices) 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: EventSetStorkPrices: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventSetStorkPrices: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Prices", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Prices = append(m.Prices, &StorkPriceState{}) + if err := m.Prices[len(m.Prices)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + 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 (m *EventSetPythPrices) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/chain/oracle/types/genesis.pb.go b/chain/oracle/types/genesis.pb.go index 04cb607c..537005eb 100644 --- a/chain/oracle/types/genesis.pb.go +++ b/chain/oracle/types/genesis.pb.go @@ -41,6 +41,8 @@ type GenesisState struct { HistoricalPriceRecords []*PriceRecords `protobuf:"bytes,13,rep,name=historical_price_records,json=historicalPriceRecords,proto3" json:"historical_price_records,omitempty"` ProviderStates []*ProviderState `protobuf:"bytes,14,rep,name=provider_states,json=providerStates,proto3" json:"provider_states,omitempty"` PythPriceStates []*PythPriceState `protobuf:"bytes,15,rep,name=pyth_price_states,json=pythPriceStates,proto3" json:"pyth_price_states,omitempty"` + StorkPriceStates []*StorkPriceState `protobuf:"bytes,16,rep,name=stork_price_states,json=storkPriceStates,proto3" json:"stork_price_states,omitempty"` + StorkPublishers []string `protobuf:"bytes,17,rep,name=stork_publishers,json=storkPublishers,proto3" json:"stork_publishers,omitempty"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -181,6 +183,20 @@ func (m *GenesisState) GetPythPriceStates() []*PythPriceState { return nil } +func (m *GenesisState) GetStorkPriceStates() []*StorkPriceState { + if m != nil { + return m.StorkPriceStates + } + return nil +} + +func (m *GenesisState) GetStorkPublishers() []string { + if m != nil { + return m.StorkPublishers + } + return nil +} + type CalldataRecord struct { ClientId uint64 `protobuf:"varint,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` Calldata []byte `protobuf:"bytes,2,opt,name=calldata,proto3" json:"calldata,omitempty"` @@ -243,47 +259,50 @@ func init() { } var fileDescriptor_f7e14cf80151b4d2 = []byte{ - // 639 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0xcf, 0x6e, 0xd3, 0x4e, - 0x10, 0xc7, 0xe3, 0xb6, 0xbf, 0xfe, 0x9a, 0x6d, 0xda, 0xc0, 0xd2, 0x16, 0x13, 0x24, 0x63, 0x15, - 0xd1, 0x5a, 0x82, 0xda, 0x6a, 0xb9, 0x20, 0x0e, 0x1c, 0x12, 0x09, 0x64, 0xa9, 0x12, 0x95, 0x0b, - 0x17, 0x38, 0x98, 0xf5, 0x7a, 0x9b, 0x2c, 0x38, 0x5e, 0xb3, 0xbb, 0x89, 0x94, 0xb7, 0xe0, 0xb1, - 0x7a, 0xec, 0x91, 0x13, 0xaa, 0x92, 0x17, 0x41, 0x5e, 0xff, 0x89, 0xdd, 0x2a, 0x89, 0xb8, 0x79, - 0xc6, 0x33, 0x9f, 0xf9, 0xee, 0xcc, 0xec, 0x82, 0x23, 0x1a, 0x7f, 0x27, 0x58, 0xd2, 0x31, 0x71, - 0x18, 0x47, 0x38, 0x22, 0xce, 0xf8, 0x34, 0x20, 0x12, 0x9d, 0x3a, 0x7d, 0x12, 0x13, 0x41, 0x85, - 0x9d, 0x70, 0x26, 0x19, 0xd4, 0xcb, 0x38, 0x3b, 0x8b, 0xb3, 0xf3, 0xb8, 0xce, 0x8b, 0x85, 0x84, - 0x3c, 0x50, 0x01, 0x3a, 0x7b, 0x7d, 0xd6, 0x67, 0xea, 0xd3, 0x49, 0xbf, 0x32, 0xef, 0xe1, 0x6d, - 0x13, 0xb4, 0x3e, 0x64, 0x85, 0x2e, 0x25, 0x92, 0x04, 0xbe, 0x03, 0x9b, 0x09, 0xe2, 0x68, 0x28, - 0x74, 0xcd, 0xd4, 0xac, 0xed, 0x33, 0xd3, 0x5e, 0x54, 0xd8, 0xbe, 0x50, 0x71, 0xdd, 0x8d, 0xeb, - 0x3f, 0xcf, 0x1a, 0x5e, 0x9e, 0x05, 0x9f, 0x83, 0x9d, 0x00, 0xc5, 0xa1, 0xcf, 0x49, 0x84, 0x26, - 0x84, 0x0b, 0x7d, 0xcd, 0x5c, 0xb7, 0x9a, 0x5e, 0x2b, 0x75, 0x7a, 0xb9, 0x0f, 0x7e, 0x02, 0x0f, - 0x55, 0x50, 0xc2, 0x29, 0x26, 0xbe, 0x48, 0x0b, 0x0b, 0x7d, 0xdd, 0x5c, 0xb7, 0xb6, 0xcf, 0xac, - 0xc5, 0xf5, 0xba, 0x28, 0x0e, 0x2f, 0xd2, 0x0c, 0xa5, 0xd4, 0x6b, 0x07, 0x35, 0x5b, 0x40, 0x1f, - 0x3c, 0xce, 0x80, 0x57, 0x84, 0xdc, 0x61, 0x6f, 0xac, 0x62, 0x2b, 0xce, 0x7b, 0x42, 0xc2, 0x8c, - 0xbd, 0x97, 0x14, 0x76, 0xb5, 0xc0, 0x37, 0xb0, 0x8f, 0x19, 0x8d, 0x03, 0x24, 0x48, 0x1d, 0xff, - 0x9f, 0xc2, 0xbf, 0x5a, 0x8c, 0xef, 0xe5, 0x69, 0x15, 0xf9, 0x8f, 0xf0, 0x3d, 0x9f, 0x80, 0x5f, - 0xc1, 0xbe, 0x6a, 0x0c, 0x0d, 0x70, 0xbd, 0xc2, 0xe6, 0x3f, 0x36, 0x07, 0xa6, 0x18, 0x37, 0xc0, - 0x55, 0x78, 0x08, 0xf4, 0x12, 0x9e, 0x65, 0xfb, 0x9c, 0xfc, 0x1c, 0x11, 0x21, 0x85, 0xfe, 0xbf, - 0xe2, 0xbf, 0x5c, 0xce, 0xff, 0xa8, 0x5c, 0x5e, 0x96, 0xe3, 0xed, 0xe7, 0x25, 0x6a, 0x5e, 0x01, - 0x3f, 0x83, 0xf6, 0xfc, 0x08, 0xd9, 0x26, 0x6d, 0xa9, 0x4d, 0x3a, 0x5e, 0x0e, 0x77, 0xbb, 0xbd, - 0xda, 0x42, 0xed, 0x14, 0x27, 0xc8, 0xf6, 0xea, 0x0d, 0x78, 0x52, 0x62, 0xa3, 0xf4, 0x38, 0xd2, - 0xc7, 0x11, 0x25, 0xb1, 0xf4, 0x69, 0xa8, 0x37, 0x4d, 0xcd, 0xda, 0x28, 0x05, 0x9d, 0xab, 0xdf, - 0x3d, 0xf5, 0xd7, 0x0d, 0xe1, 0x25, 0x78, 0x80, 0x51, 0x14, 0x85, 0x48, 0x22, 0x9f, 0x13, 0xcc, - 0x78, 0x28, 0x74, 0xb0, 0xaa, 0x9d, 0xbd, 0x3c, 0xc3, 0x53, 0x09, 0x5e, 0x1b, 0xd7, 0x6c, 0x01, - 0xdf, 0x82, 0xce, 0x5d, 0x39, 0x79, 0x2f, 0x53, 0x3d, 0xdb, 0x4a, 0xcf, 0x41, 0x4d, 0x4f, 0xde, - 0x20, 0x37, 0x84, 0x18, 0x1c, 0xe0, 0x01, 0xa2, 0x71, 0x44, 0xe3, 0x1f, 0xf5, 0x29, 0xb7, 0x94, - 0xac, 0x93, 0x25, 0xb2, 0x8a, 0xbc, 0xca, 0xa8, 0xf7, 0xf0, 0x7d, 0x67, 0xba, 0xab, 0xfa, 0x80, - 0x0a, 0xc9, 0x38, 0xc5, 0x28, 0xca, 0xab, 0x14, 0xa7, 0xdf, 0x51, 0x65, 0x8e, 0x56, 0xdc, 0x86, - 0xfc, 0xa8, 0xde, 0xc1, 0x9c, 0x53, 0xf5, 0xc3, 0x0b, 0xd0, 0x4e, 0x38, 0x1b, 0xd3, 0x90, 0xf0, - 0x42, 0xff, 0xae, 0x02, 0x1f, 0x2f, 0x03, 0x67, 0x09, 0x99, 0xf2, 0xdd, 0xa4, 0x6a, 0xaa, 0x67, - 0x21, 0x99, 0xc8, 0x41, 0xbd, 0x27, 0xed, 0x95, 0x57, 0x77, 0x22, 0x07, 0xd5, 0x67, 0x21, 0xa9, - 0xd9, 0xe2, 0xd0, 0x05, 0xbb, 0xf5, 0x69, 0xc2, 0xa7, 0xa0, 0x39, 0xdf, 0x1d, 0x4d, 0xcd, 0x6a, - 0x0b, 0x17, 0xeb, 0xd2, 0x01, 0x5b, 0xc5, 0xb0, 0xf5, 0x35, 0x53, 0xb3, 0x5a, 0x5e, 0x69, 0x77, - 0xaf, 0xae, 0xa7, 0x86, 0x76, 0x33, 0x35, 0xb4, 0xdb, 0xa9, 0xa1, 0xfd, 0x9a, 0x19, 0x8d, 0x9b, - 0x99, 0xd1, 0xf8, 0x3d, 0x33, 0x1a, 0x5f, 0xce, 0xfb, 0x54, 0x0e, 0x46, 0x81, 0x8d, 0xd9, 0xd0, - 0x71, 0x0b, 0xa5, 0xe7, 0x28, 0x10, 0x4e, 0xa9, 0xfb, 0x04, 0x33, 0x4e, 0xaa, 0x66, 0x3a, 0x36, - 0x67, 0xc8, 0xc2, 0x51, 0x44, 0x44, 0xf1, 0x74, 0xcb, 0x49, 0x42, 0x44, 0xb0, 0xa9, 0x1e, 0xe7, - 0xd7, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x53, 0x49, 0x4f, 0x18, 0x1d, 0x06, 0x00, 0x00, + // 681 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x95, 0xcf, 0x4f, 0x13, 0x41, + 0x14, 0xc7, 0xbb, 0x80, 0x08, 0x43, 0xa1, 0x65, 0x04, 0x5c, 0x6b, 0x52, 0x1b, 0x8c, 0x50, 0xa2, + 0x74, 0x03, 0x5e, 0x8c, 0x07, 0x0f, 0x6d, 0xa2, 0x69, 0x42, 0x22, 0x59, 0x34, 0x26, 0x7a, 0x58, + 0x67, 0x67, 0x87, 0x76, 0x74, 0xd9, 0x5d, 0x67, 0xa6, 0x24, 0xfd, 0x2f, 0xfc, 0xb3, 0x38, 0x72, + 0xf4, 0x64, 0x0c, 0xf8, 0x87, 0x98, 0xf9, 0xb1, 0xcb, 0x0e, 0xa4, 0x6d, 0xbc, 0xed, 0x7b, 0xfb, + 0xde, 0xe7, 0x7d, 0xdf, 0xdb, 0xb7, 0x33, 0x60, 0x87, 0x26, 0xdf, 0x08, 0x16, 0xf4, 0x9c, 0x78, + 0x29, 0x43, 0x38, 0x26, 0xde, 0xf9, 0x41, 0x48, 0x04, 0x3a, 0xf0, 0x06, 0x24, 0x21, 0x9c, 0xf2, + 0x4e, 0xc6, 0x52, 0x91, 0x42, 0xb7, 0x88, 0xeb, 0xe8, 0xb8, 0x8e, 0x89, 0x6b, 0x3c, 0x9b, 0x48, + 0x30, 0x81, 0x0a, 0xd0, 0xd8, 0x18, 0xa4, 0x83, 0x54, 0x3d, 0x7a, 0xf2, 0x49, 0x7b, 0xb7, 0xff, + 0x02, 0x50, 0x7d, 0xa7, 0x0b, 0x9d, 0x08, 0x24, 0x08, 0x7c, 0x03, 0x16, 0x33, 0xc4, 0xd0, 0x19, + 0x77, 0x9d, 0x96, 0xd3, 0x5e, 0x39, 0x6c, 0x75, 0x26, 0x15, 0xee, 0x1c, 0xab, 0xb8, 0xee, 0xc2, + 0xc5, 0xef, 0x27, 0x15, 0xdf, 0x64, 0xc1, 0xa7, 0x60, 0x35, 0x44, 0x49, 0x14, 0x30, 0x12, 0xa3, + 0x31, 0x61, 0xdc, 0x9d, 0x6b, 0xcd, 0xb7, 0x97, 0xfd, 0xaa, 0x74, 0xfa, 0xc6, 0x07, 0x3f, 0x80, + 0x75, 0x15, 0x94, 0x31, 0x8a, 0x49, 0xc0, 0x65, 0x61, 0xee, 0xce, 0xb7, 0xe6, 0xdb, 0x2b, 0x87, + 0xed, 0xc9, 0xf5, 0xba, 0x28, 0x89, 0x8e, 0x65, 0x86, 0x52, 0xea, 0xd7, 0x42, 0xcb, 0xe6, 0x30, + 0x00, 0x0f, 0x35, 0xf0, 0x94, 0x90, 0x5b, 0xec, 0x85, 0x59, 0x6c, 0xc5, 0x79, 0x4b, 0x48, 0xa4, + 0xd9, 0x1b, 0x59, 0x6e, 0x97, 0x0b, 0x7c, 0x05, 0x9b, 0x38, 0xa5, 0x49, 0x88, 0x38, 0xb1, 0xf1, + 0xf7, 0x14, 0xfe, 0xc5, 0x64, 0x7c, 0xcf, 0xa4, 0x95, 0xe4, 0x3f, 0xc0, 0x77, 0x7c, 0x1c, 0x7e, + 0x01, 0x9b, 0x6a, 0x30, 0x34, 0xc4, 0x76, 0x85, 0xc5, 0xff, 0x1c, 0x0e, 0x94, 0x98, 0x7e, 0x88, + 0xcb, 0xf0, 0x08, 0xb8, 0x05, 0x5c, 0x67, 0x07, 0x8c, 0xfc, 0x18, 0x11, 0x2e, 0xb8, 0x7b, 0x5f, + 0xf1, 0x9f, 0x4f, 0xe7, 0xbf, 0x57, 0x2e, 0x5f, 0xe7, 0xf8, 0x9b, 0xa6, 0x84, 0xe5, 0xe5, 0xf0, + 0x23, 0xa8, 0xdd, 0xb4, 0xa0, 0x37, 0x69, 0x49, 0x6d, 0xd2, 0xee, 0x74, 0x78, 0xbf, 0xdb, 0xb3, + 0x16, 0x6a, 0x35, 0xef, 0x40, 0xef, 0xd5, 0x2b, 0xf0, 0xa8, 0xc0, 0xc6, 0xb2, 0x1d, 0x11, 0xe0, + 0x98, 0x92, 0x44, 0x04, 0x34, 0x72, 0x97, 0x5b, 0x4e, 0x7b, 0xa1, 0x10, 0x74, 0xa4, 0x5e, 0xf7, + 0xd4, 0xdb, 0x7e, 0x04, 0x4f, 0x40, 0x1d, 0xa3, 0x38, 0x8e, 0x90, 0x40, 0x01, 0x23, 0x38, 0x65, + 0x11, 0x77, 0xc1, 0xac, 0x71, 0xf6, 0x4c, 0x86, 0xaf, 0x12, 0xfc, 0x1a, 0xb6, 0x6c, 0x0e, 0x5f, + 0x83, 0xc6, 0x6d, 0x39, 0x66, 0x96, 0x52, 0xcf, 0x8a, 0xd2, 0xb3, 0x65, 0xe9, 0x31, 0x03, 0xea, + 0x47, 0x10, 0x83, 0x2d, 0x3c, 0x44, 0x34, 0x89, 0x69, 0xf2, 0xdd, 0xfe, 0xca, 0x55, 0x25, 0x6b, + 0x7f, 0x8a, 0xac, 0x3c, 0xaf, 0xf4, 0xa9, 0x37, 0xf0, 0x5d, 0xa7, 0xdc, 0x55, 0x77, 0x48, 0xb9, + 0x48, 0x19, 0xc5, 0x28, 0x36, 0x55, 0xf2, 0xee, 0x57, 0x55, 0x99, 0x9d, 0x19, 0x7f, 0x83, 0x69, + 0xd5, 0xdf, 0xba, 0xe1, 0x94, 0xfd, 0xf0, 0x18, 0xd4, 0x32, 0x96, 0x9e, 0xd3, 0x88, 0xb0, 0x5c, + 0xff, 0x9a, 0x02, 0xef, 0x4e, 0x03, 0xeb, 0x04, 0xad, 0x7c, 0x2d, 0x2b, 0x9b, 0xea, 0x58, 0xc8, + 0xc6, 0x62, 0x68, 0xcf, 0xa4, 0x36, 0xf3, 0xd7, 0x1d, 0x8b, 0x61, 0xf9, 0x58, 0xc8, 0x2c, 0x9b, + 0xc3, 0x4f, 0x00, 0x4a, 0xfd, 0xb7, 0x46, 0x5d, 0x57, 0xd8, 0xbd, 0xc9, 0xd8, 0x13, 0x99, 0x53, + 0xe2, 0xd6, 0xb9, 0xed, 0xe0, 0x70, 0x0f, 0xd4, 0x0d, 0x78, 0x14, 0xc6, 0x94, 0x0f, 0xe5, 0x69, + 0xb7, 0xae, 0x4e, 0xbb, 0x9a, 0x8e, 0x2d, 0xdc, 0xdb, 0x7d, 0xb0, 0x66, 0x6f, 0x14, 0x7c, 0x0c, + 0x96, 0x6f, 0xf6, 0xd7, 0x51, 0xfb, 0xb2, 0x84, 0xf3, 0x95, 0x6d, 0x80, 0xa5, 0x7c, 0xe1, 0xdc, + 0xb9, 0x96, 0xd3, 0xae, 0xfa, 0x85, 0xdd, 0x3d, 0xbd, 0xb8, 0x6a, 0x3a, 0x97, 0x57, 0x4d, 0xe7, + 0xcf, 0x55, 0xd3, 0xf9, 0x79, 0xdd, 0xac, 0x5c, 0x5e, 0x37, 0x2b, 0xbf, 0xae, 0x9b, 0x95, 0xcf, + 0x47, 0x03, 0x2a, 0x86, 0xa3, 0xb0, 0x83, 0xd3, 0x33, 0xaf, 0x9f, 0xb7, 0x75, 0x84, 0x42, 0xee, + 0x15, 0x4d, 0xee, 0xe3, 0x94, 0x91, 0xb2, 0x29, 0x57, 0xc7, 0x3b, 0x4b, 0xa3, 0x51, 0x4c, 0x78, + 0x7e, 0x7d, 0x88, 0x71, 0x46, 0x78, 0xb8, 0xa8, 0x2e, 0x88, 0x97, 0xff, 0x02, 0x00, 0x00, 0xff, + 0xff, 0xe6, 0xf9, 0xcd, 0x82, 0xa1, 0x06, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { @@ -306,6 +325,33 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.StorkPublishers) > 0 { + for iNdEx := len(m.StorkPublishers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.StorkPublishers[iNdEx]) + copy(dAtA[i:], m.StorkPublishers[iNdEx]) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.StorkPublishers[iNdEx]))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + } + if len(m.StorkPriceStates) > 0 { + for iNdEx := len(m.StorkPriceStates) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.StorkPriceStates[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + } if len(m.PythPriceStates) > 0 { for iNdEx := len(m.PythPriceStates) - 1; iNdEx >= 0; iNdEx-- { { @@ -616,6 +662,18 @@ func (m *GenesisState) Size() (n int) { n += 1 + l + sovGenesis(uint64(l)) } } + if len(m.StorkPriceStates) > 0 { + for _, e := range m.StorkPriceStates { + l = e.Size() + n += 2 + l + sovGenesis(uint64(l)) + } + } + if len(m.StorkPublishers) > 0 { + for _, s := range m.StorkPublishers { + l = len(s) + n += 2 + l + sovGenesis(uint64(l)) + } + } return n } @@ -1146,6 +1204,72 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StorkPriceStates", 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 + } + m.StorkPriceStates = append(m.StorkPriceStates, &StorkPriceState{}) + if err := m.StorkPriceStates[len(m.StorkPriceStates)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StorkPublishers", 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.StorkPublishers = append(m.StorkPublishers, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) diff --git a/chain/oracle/types/key.go b/chain/oracle/types/key.go index b2ed36ee..8b386bc3 100644 --- a/chain/oracle/types/key.go +++ b/chain/oracle/types/key.go @@ -58,6 +58,10 @@ var ( // PythPriceKey is the prefix for the priceID => PythPriceState store. PythPriceKey = []byte{0x71} + + // StorkPriceKey is the prefix for the priceID => StorkPriceState store. + StorkPriceKey = []byte{0x81} + StorkPublisherKey = []byte{0x82} ) func GetBandPriceStoreKey(symbol string) []byte { @@ -109,6 +113,10 @@ func GetCoinbasePriceStoreIterationKey(key string) []byte { return append(CoinbasePriceKey, []byte(key)...) } +func GetStorkPriceStoreKey(key string) []byte { + return append(StorkPriceKey, []byte(key)...) +} + func GetChainlinkPriceStoreKey(feedId string) []byte { feedIdBz := getPaddedFeedIdBz(feedId) diff --git a/chain/oracle/types/msgs.go b/chain/oracle/types/msgs.go index 6cde9154..f26a3b39 100644 --- a/chain/oracle/types/msgs.go +++ b/chain/oracle/types/msgs.go @@ -1,11 +1,16 @@ package types import ( + "fmt" + "math/big" + "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/common" ) // oracle message types @@ -18,6 +23,7 @@ const ( TypeMsgRequestBandIBCRates = "requestBandIBCRates" TypeMsgRelayProviderPrices = "relayProviderPrices" TypeMsgRelayPythPrices = "relayPythPrices" + TypeMsgRelayStorkPrices = "relayStorkPrices" TypeMsgUpdateParams = "updateParams" ) @@ -28,6 +34,7 @@ var ( _ sdk.Msg = &MsgRequestBandIBCRates{} _ sdk.Msg = &MsgRelayProviderPrices{} _ sdk.Msg = &MsgRelayPythPrices{} + _ sdk.Msg = &MsgRelayStorkPrices{} _ sdk.Msg = &MsgUpdateParams{} ) @@ -287,9 +294,6 @@ 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 errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) - } if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { return err } @@ -312,3 +316,63 @@ func (msg MsgRelayPythPrices) GetSigners() []sdk.AccAddress { } return []sdk.AccAddress{sender} } + +// Route implements the sdk.Msg interface. It should return the name of the module +func (msg MsgRelayStorkPrices) Route() string { return RouterKey } + +// Type implements the sdk.Msg interface. It should return the action. +func (msg MsgRelayStorkPrices) Type() string { return TypeMsgRelayStorkPrices } + +// ValidateBasic implements the sdk.Msg interface for MsgRelayStorkPrices. +func (msg MsgRelayStorkPrices) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { + return err + } + + assetIDs := make(map[string]struct{}) + for idx := range msg.AssetPairs { + assetPair := msg.AssetPairs[idx] + if _, found := assetIDs[assetPair.AssetId]; found { + return errors.Wrapf(ErrStorkAssetIdNotUnique, "Asset id %s is not unique", assetPair.AssetId) + } + assetIDs[assetPair.AssetId] = struct{}{} + + var newestTimestamp uint64 + oldestTimestamp := ^uint64(0) // max uint64 + for i := range assetPair.SignedPrices { + p := assetPair.SignedPrices[i] + if p.Timestamp > newestTimestamp { + newestTimestamp = p.Timestamp + } + if p.Timestamp < oldestTimestamp { + oldestTimestamp = p.Timestamp + } + + price := new(big.Int).Quo(p.Price.BigInt(), sdkmath.LegacyOneDec().BigInt()).String() + // note: relayer should convert the ecdsa r,s,v signatures format to the normal bytes arrays signature + if !VerifyStorkMsgSignature(common.HexToAddress(p.PublisherKey), assetPair.AssetId, strconv.FormatUint(p.Timestamp, 10), price, p.Signature) { + return errors.Wrapf(ErrInvalidStorkSignature, "Invalid signature for asset %s with publisher address %s", assetPair.AssetId, p.PublisherKey) + } + } + + if newestTimestamp-oldestTimestamp > MaxStorkTimestampIntervalNano { + return fmt.Errorf("price timestamps between %d and %d exceed threshold %d", oldestTimestamp, newestTimestamp, MaxStorkTimestampIntervalNano) + } + } + + return nil +} + +// GetSignBytes implements the sdk.Msg interface. It encodes the message for signing +func (msg *MsgRelayStorkPrices) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) +} + +// GetSigners implements the sdk.Msg interface. It defines whose signature is required +func (msg MsgRelayStorkPrices) GetSigners() []sdk.AccAddress { + sender, err := sdk.AccAddressFromBech32(msg.Sender) + if err != nil { + panic(err) + } + return []sdk.AccAddress{sender} +} diff --git a/chain/oracle/types/oracle.go b/chain/oracle/types/oracle.go index acb83b38..a8c3335a 100644 --- a/chain/oracle/types/oracle.go +++ b/chain/oracle/types/oracle.go @@ -14,6 +14,9 @@ const BandPriceMultiplier uint64 = 1000000000 // 1e9 // MaxHistoricalPriceRecordAge is the maximum age of oracle price records to track. const MaxHistoricalPriceRecordAge = 60 * 5 +const MaxStorkTimestampIntervalNano = 500_000_000 // 500ms + +var EighteenDecimals = math.LegacyNewDec(10).Power(18) func GetOracleType(oracleTypeStr string) (OracleType, error) { oracleTypeStr = strings.ToLower(oracleTypeStr) @@ -32,6 +35,8 @@ func GetOracleType(oracleTypeStr string) (OracleType, error) { oracleType = OracleType_Provider case "pyth": oracleType = OracleType_Pyth + case "stork": + oracleType = OracleType_Stork default: return OracleType_Band, errors.Wrapf(ErrUnsupportedOracleType, "%s", oracleTypeStr) } diff --git a/chain/oracle/types/oracle.pb.go b/chain/oracle/types/oracle.pb.go index f1d3ea11..fe23bfa5 100644 --- a/chain/oracle/types/oracle.pb.go +++ b/chain/oracle/types/oracle.pb.go @@ -44,6 +44,7 @@ const ( OracleType_Pyth OracleType = 9 OracleType_BandIBC OracleType = 10 OracleType_Provider OracleType = 11 + OracleType_Stork OracleType = 12 ) var OracleType_name = map[int32]string{ @@ -59,6 +60,7 @@ var OracleType_name = map[int32]string{ 9: "Pyth", 10: "BandIBC", 11: "Provider", + 12: "Stork", } var OracleType_value = map[string]int32{ @@ -74,6 +76,7 @@ var OracleType_value = map[string]int32{ "Pyth": 9, "BandIBC": 10, "Provider": 11, + "Stork": 12, } func (x OracleType) String() string { @@ -704,6 +707,71 @@ func (m *CoinbasePriceState) GetPriceState() PriceState { return PriceState{} } +type StorkPriceState struct { + // timestamp of the when the price was signed by stork + Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + // the symbol of the price, e.g. BTC + Symbol string `protobuf:"bytes,2,opt,name=symbol,proto3" json:"symbol,omitempty"` + // the value of the price scaled by 1e18 + Value cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=value,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"value"` + // the price state + PriceState PriceState `protobuf:"bytes,5,opt,name=price_state,json=priceState,proto3" json:"price_state"` +} + +func (m *StorkPriceState) Reset() { *m = StorkPriceState{} } +func (m *StorkPriceState) String() string { return proto.CompactTextString(m) } +func (*StorkPriceState) ProtoMessage() {} +func (*StorkPriceState) Descriptor() ([]byte, []int) { + return fileDescriptor_1c8fbf1e7a765423, []int{11} +} +func (m *StorkPriceState) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *StorkPriceState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_StorkPriceState.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 *StorkPriceState) XXX_Merge(src proto.Message) { + xxx_messageInfo_StorkPriceState.Merge(m, src) +} +func (m *StorkPriceState) XXX_Size() int { + return m.Size() +} +func (m *StorkPriceState) XXX_DiscardUnknown() { + xxx_messageInfo_StorkPriceState.DiscardUnknown(m) +} + +var xxx_messageInfo_StorkPriceState proto.InternalMessageInfo + +func (m *StorkPriceState) GetTimestamp() uint64 { + if m != nil { + return m.Timestamp + } + return 0 +} + +func (m *StorkPriceState) GetSymbol() string { + if m != nil { + return m.Symbol + } + return "" +} + +func (m *StorkPriceState) GetPriceState() PriceState { + if m != nil { + return m.PriceState + } + return PriceState{} +} + type PriceState struct { Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` CumulativePrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=cumulative_price,json=cumulativePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cumulative_price"` @@ -714,7 +782,7 @@ func (m *PriceState) Reset() { *m = PriceState{} } func (m *PriceState) String() string { return proto.CompactTextString(m) } func (*PriceState) ProtoMessage() {} func (*PriceState) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{11} + return fileDescriptor_1c8fbf1e7a765423, []int{12} } func (m *PriceState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -763,7 +831,7 @@ func (m *PythPriceState) Reset() { *m = PythPriceState{} } func (m *PythPriceState) String() string { return proto.CompactTextString(m) } func (*PythPriceState) ProtoMessage() {} func (*PythPriceState) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{12} + return fileDescriptor_1c8fbf1e7a765423, []int{13} } func (m *PythPriceState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -844,7 +912,7 @@ func (m *BandOracleRequest) Reset() { *m = BandOracleRequest{} } func (m *BandOracleRequest) String() string { return proto.CompactTextString(m) } func (*BandOracleRequest) ProtoMessage() {} func (*BandOracleRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{13} + return fileDescriptor_1c8fbf1e7a765423, []int{14} } func (m *BandOracleRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -955,7 +1023,7 @@ func (m *BandIBCParams) Reset() { *m = BandIBCParams{} } func (m *BandIBCParams) String() string { return proto.CompactTextString(m) } func (*BandIBCParams) ProtoMessage() {} func (*BandIBCParams) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{14} + return fileDescriptor_1c8fbf1e7a765423, []int{15} } func (m *BandIBCParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1036,7 +1104,7 @@ func (m *SymbolPriceTimestamp) Reset() { *m = SymbolPriceTimestamp{} } func (m *SymbolPriceTimestamp) String() string { return proto.CompactTextString(m) } func (*SymbolPriceTimestamp) ProtoMessage() {} func (*SymbolPriceTimestamp) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{15} + return fileDescriptor_1c8fbf1e7a765423, []int{16} } func (m *SymbolPriceTimestamp) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1094,7 +1162,7 @@ func (m *LastPriceTimestamps) Reset() { *m = LastPriceTimestamps{} } func (m *LastPriceTimestamps) String() string { return proto.CompactTextString(m) } func (*LastPriceTimestamps) ProtoMessage() {} func (*LastPriceTimestamps) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{16} + return fileDescriptor_1c8fbf1e7a765423, []int{17} } func (m *LastPriceTimestamps) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1140,7 +1208,7 @@ func (m *PriceRecords) Reset() { *m = PriceRecords{} } func (m *PriceRecords) String() string { return proto.CompactTextString(m) } func (*PriceRecords) ProtoMessage() {} func (*PriceRecords) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{17} + return fileDescriptor_1c8fbf1e7a765423, []int{18} } func (m *PriceRecords) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1199,7 +1267,7 @@ func (m *PriceRecord) Reset() { *m = PriceRecord{} } func (m *PriceRecord) String() string { return proto.CompactTextString(m) } func (*PriceRecord) ProtoMessage() {} func (*PriceRecord) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{18} + return fileDescriptor_1c8fbf1e7a765423, []int{19} } func (m *PriceRecord) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1267,7 +1335,7 @@ func (m *MetadataStatistics) Reset() { *m = MetadataStatistics{} } func (m *MetadataStatistics) String() string { return proto.CompactTextString(m) } func (*MetadataStatistics) ProtoMessage() {} func (*MetadataStatistics) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{19} + return fileDescriptor_1c8fbf1e7a765423, []int{20} } func (m *MetadataStatistics) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1340,7 +1408,7 @@ func (m *PriceAttestation) Reset() { *m = PriceAttestation{} } func (m *PriceAttestation) String() string { return proto.CompactTextString(m) } func (*PriceAttestation) ProtoMessage() {} func (*PriceAttestation) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{20} + return fileDescriptor_1c8fbf1e7a765423, []int{21} } func (m *PriceAttestation) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1425,6 +1493,119 @@ func (m *PriceAttestation) GetPublishTime() int64 { return 0 } +type AssetPair struct { + AssetId string `protobuf:"bytes,1,opt,name=asset_id,json=assetId,proto3" json:"asset_id,omitempty"` + SignedPrices []*SignedPriceOfAssetPair `protobuf:"bytes,2,rep,name=signed_prices,json=signedPrices,proto3" json:"signed_prices,omitempty"` +} + +func (m *AssetPair) Reset() { *m = AssetPair{} } +func (m *AssetPair) String() string { return proto.CompactTextString(m) } +func (*AssetPair) ProtoMessage() {} +func (*AssetPair) Descriptor() ([]byte, []int) { + return fileDescriptor_1c8fbf1e7a765423, []int{22} +} +func (m *AssetPair) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AssetPair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AssetPair.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 *AssetPair) XXX_Merge(src proto.Message) { + xxx_messageInfo_AssetPair.Merge(m, src) +} +func (m *AssetPair) XXX_Size() int { + return m.Size() +} +func (m *AssetPair) XXX_DiscardUnknown() { + xxx_messageInfo_AssetPair.DiscardUnknown(m) +} + +var xxx_messageInfo_AssetPair proto.InternalMessageInfo + +func (m *AssetPair) GetAssetId() string { + if m != nil { + return m.AssetId + } + return "" +} + +func (m *AssetPair) GetSignedPrices() []*SignedPriceOfAssetPair { + if m != nil { + return m.SignedPrices + } + return nil +} + +type SignedPriceOfAssetPair struct { + PublisherKey string `protobuf:"bytes,1,opt,name=publisher_key,json=publisherKey,proto3" json:"publisher_key,omitempty"` + Timestamp uint64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` + Signature []byte `protobuf:"bytes,4,opt,name=signature,proto3" json:"signature,omitempty"` +} + +func (m *SignedPriceOfAssetPair) Reset() { *m = SignedPriceOfAssetPair{} } +func (m *SignedPriceOfAssetPair) String() string { return proto.CompactTextString(m) } +func (*SignedPriceOfAssetPair) ProtoMessage() {} +func (*SignedPriceOfAssetPair) Descriptor() ([]byte, []int) { + return fileDescriptor_1c8fbf1e7a765423, []int{23} +} +func (m *SignedPriceOfAssetPair) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *SignedPriceOfAssetPair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_SignedPriceOfAssetPair.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 *SignedPriceOfAssetPair) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignedPriceOfAssetPair.Merge(m, src) +} +func (m *SignedPriceOfAssetPair) XXX_Size() int { + return m.Size() +} +func (m *SignedPriceOfAssetPair) XXX_DiscardUnknown() { + xxx_messageInfo_SignedPriceOfAssetPair.DiscardUnknown(m) +} + +var xxx_messageInfo_SignedPriceOfAssetPair proto.InternalMessageInfo + +func (m *SignedPriceOfAssetPair) GetPublisherKey() string { + if m != nil { + return m.PublisherKey + } + return "" +} + +func (m *SignedPriceOfAssetPair) GetTimestamp() uint64 { + if m != nil { + return m.Timestamp + } + return 0 +} + +func (m *SignedPriceOfAssetPair) GetSignature() []byte { + if m != nil { + return m.Signature + } + return nil +} + func init() { proto.RegisterEnum("injective.oracle.v1beta1.OracleType", OracleType_name, OracleType_value) golang_proto.RegisterEnum("injective.oracle.v1beta1.OracleType", OracleType_name, OracleType_value) @@ -1450,6 +1631,8 @@ func init() { golang_proto.RegisterType((*PriceFeedPrice)(nil), "injective.oracle.v1beta1.PriceFeedPrice") proto.RegisterType((*CoinbasePriceState)(nil), "injective.oracle.v1beta1.CoinbasePriceState") golang_proto.RegisterType((*CoinbasePriceState)(nil), "injective.oracle.v1beta1.CoinbasePriceState") + proto.RegisterType((*StorkPriceState)(nil), "injective.oracle.v1beta1.StorkPriceState") + golang_proto.RegisterType((*StorkPriceState)(nil), "injective.oracle.v1beta1.StorkPriceState") proto.RegisterType((*PriceState)(nil), "injective.oracle.v1beta1.PriceState") golang_proto.RegisterType((*PriceState)(nil), "injective.oracle.v1beta1.PriceState") proto.RegisterType((*PythPriceState)(nil), "injective.oracle.v1beta1.PythPriceState") @@ -1470,6 +1653,10 @@ func init() { golang_proto.RegisterType((*MetadataStatistics)(nil), "injective.oracle.v1beta1.MetadataStatistics") proto.RegisterType((*PriceAttestation)(nil), "injective.oracle.v1beta1.PriceAttestation") golang_proto.RegisterType((*PriceAttestation)(nil), "injective.oracle.v1beta1.PriceAttestation") + proto.RegisterType((*AssetPair)(nil), "injective.oracle.v1beta1.AssetPair") + golang_proto.RegisterType((*AssetPair)(nil), "injective.oracle.v1beta1.AssetPair") + proto.RegisterType((*SignedPriceOfAssetPair)(nil), "injective.oracle.v1beta1.SignedPriceOfAssetPair") + golang_proto.RegisterType((*SignedPriceOfAssetPair)(nil), "injective.oracle.v1beta1.SignedPriceOfAssetPair") } func init() { @@ -1480,111 +1667,120 @@ func init() { } var fileDescriptor_1c8fbf1e7a765423 = []byte{ - // 1664 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x4f, 0x73, 0x23, 0x47, - 0x15, 0xf7, 0xe8, 0xff, 0x3c, 0x59, 0xda, 0xd9, 0xb6, 0x37, 0x68, 0x37, 0x44, 0x36, 0x0a, 0x0b, - 0xaa, 0xad, 0x44, 0xca, 0x6e, 0x0e, 0x54, 0x02, 0x45, 0x25, 0xf6, 0xee, 0x52, 0xaa, 0x35, 0xe0, - 0x1a, 0x6f, 0xa0, 0x8a, 0x8b, 0xe8, 0x99, 0x69, 0x59, 0x1d, 0xcd, 0x4c, 0x4f, 0xa6, 0x47, 0xce, - 0x6a, 0x3f, 0x40, 0x0e, 0x5c, 0xe0, 0x0b, 0x50, 0x70, 0xe6, 0xc4, 0x85, 0x13, 0x55, 0x14, 0xc5, - 0x29, 0xc7, 0x9c, 0x52, 0x14, 0x87, 0x00, 0xeb, 0x03, 0x14, 0x57, 0xbe, 0x00, 0xf5, 0xba, 0x5b, - 0xa3, 0xb1, 0x8d, 0x77, 0x2d, 0x96, 0x5c, 0xec, 0xee, 0xd7, 0xef, 0xbd, 0xfe, 0xbd, 0xd7, 0xef, - 0xdf, 0x08, 0x6e, 0xf3, 0xf8, 0x43, 0xe6, 0x67, 0xfc, 0x84, 0x0d, 0x45, 0x4a, 0xfd, 0x90, 0x0d, - 0x4f, 0xee, 0x7a, 0x2c, 0xa3, 0x77, 0xcd, 0x76, 0x90, 0xa4, 0x22, 0x13, 0xa4, 0x93, 0xb3, 0x0d, - 0x0c, 0xdd, 0xb0, 0xdd, 0xda, 0x3e, 0x16, 0xc7, 0x42, 0x31, 0x0d, 0x71, 0xa5, 0xf9, 0x6f, 0x75, - 0x7d, 0x21, 0x23, 0x21, 0x87, 0x1e, 0x95, 0x2b, 0x8d, 0xbe, 0xe0, 0xb1, 0x39, 0xbf, 0x4e, 0x23, - 0x1e, 0x8b, 0xa1, 0xfa, 0xab, 0x49, 0xbd, 0x07, 0x50, 0x3b, 0xa4, 0x29, 0x8d, 0x24, 0x79, 0x1d, - 0x5a, 0xc9, 0x22, 0x9b, 0x8e, 0x7d, 0x11, 0x67, 0x29, 0xf5, 0xb3, 0x8e, 0xb5, 0x6b, 0xf5, 0x6d, - 0x77, 0x13, 0x89, 0xfb, 0x86, 0xf6, 0xee, 0x2b, 0xff, 0xfc, 0xf5, 0x8e, 0xf5, 0xb3, 0x7f, 0xfc, - 0xf6, 0x4e, 0xcb, 0xe0, 0xd6, 0xc2, 0xbd, 0x19, 0xc0, 0x0f, 0x15, 0x61, 0x14, 0x4f, 0x04, 0x79, - 0x05, 0x6a, 0x72, 0x11, 0x79, 0x22, 0x34, 0x3a, 0xcc, 0x8e, 0x3c, 0x80, 0xa6, 0x16, 0x1b, 0x67, - 0x8b, 0x84, 0x75, 0x4a, 0xbb, 0x56, 0xbf, 0x7d, 0xef, 0xeb, 0x83, 0xcb, 0xac, 0x1c, 0x68, 0x95, - 0x8f, 0x17, 0x09, 0x73, 0x41, 0xe4, 0xeb, 0xde, 0xe7, 0x16, 0x6c, 0xed, 0x4f, 0x29, 0x8f, 0x43, - 0x1e, 0xcf, 0x0e, 0x53, 0xee, 0xb3, 0xa3, 0x8c, 0x66, 0x8c, 0x7c, 0x05, 0xea, 0x13, 0xc6, 0x82, - 0x31, 0x0f, 0x96, 0xf7, 0xe2, 0x76, 0x14, 0x90, 0x6f, 0x43, 0x8d, 0xc6, 0xf2, 0x63, 0x96, 0xaa, - 0x2b, 0xed, 0xbd, 0xd7, 0x3f, 0xfd, 0x62, 0x67, 0xe3, 0x2f, 0x5f, 0xec, 0xbc, 0xaa, 0xfd, 0x25, - 0x83, 0xd9, 0x80, 0x8b, 0x61, 0x44, 0xb3, 0xe9, 0xe0, 0x80, 0x1d, 0x53, 0x7f, 0x71, 0x9f, 0xf9, - 0xae, 0x11, 0x21, 0x5f, 0x05, 0x3b, 0xe3, 0x11, 0x93, 0x19, 0x8d, 0x92, 0x4e, 0x79, 0xd7, 0xea, - 0x57, 0xdc, 0x15, 0x81, 0x3c, 0x82, 0x66, 0x82, 0x08, 0xc6, 0x12, 0x21, 0x74, 0x2a, 0xbb, 0x56, - 0xbf, 0xf9, 0x3c, 0x93, 0x56, 0x70, 0xf7, 0x2a, 0x88, 0xc2, 0x85, 0x24, 0xa7, 0xf4, 0xfe, 0x65, - 0x41, 0x7b, 0x8f, 0xc6, 0x41, 0xc1, 0xa6, 0xcb, 0x5c, 0x79, 0x17, 0x2a, 0x29, 0x5e, 0xa8, 0x0d, - 0x7a, 0xcd, 0x18, 0x74, 0xe3, 0xa2, 0x41, 0xa3, 0x38, 0x73, 0x15, 0x2b, 0xf9, 0x1a, 0x6c, 0xa6, - 0x4c, 0x8a, 0xf0, 0x84, 0x8d, 0x11, 0xbf, 0xb1, 0xa5, 0x69, 0x68, 0x8f, 0x79, 0xc4, 0xc8, 0x6b, - 0x00, 0x29, 0xfb, 0x68, 0xce, 0x64, 0x36, 0x1e, 0xdd, 0x57, 0xc6, 0x54, 0x5c, 0xdb, 0x50, 0x46, - 0xf7, 0xcf, 0x1b, 0x5b, 0x7d, 0x29, 0x63, 0x7f, 0x69, 0x41, 0x5b, 0x31, 0x3c, 0x64, 0x2c, 0xd0, - 0xc6, 0x12, 0xa8, 0x60, 0xe8, 0x1a, 0x53, 0xd5, 0x9a, 0x6c, 0x43, 0xf5, 0xa3, 0xb9, 0x58, 0x5a, - 0xea, 0xea, 0x0d, 0x46, 0x52, 0x11, 0x49, 0xf9, 0xea, 0x48, 0x8a, 0x18, 0xc8, 0x2d, 0x68, 0xa4, - 0x2c, 0xa4, 0x0b, 0x96, 0xca, 0x4e, 0x65, 0xb7, 0xdc, 0xb7, 0xdd, 0x7c, 0xdf, 0x7b, 0x08, 0x9b, - 0x87, 0xa9, 0x38, 0xe1, 0x01, 0x4b, 0x55, 0x50, 0xdf, 0x82, 0x46, 0x62, 0xf6, 0x06, 0x60, 0xbe, - 0x3f, 0xa3, 0xa7, 0x74, 0x4e, 0xcf, 0x1f, 0x2c, 0x68, 0x2d, 0x15, 0xe9, 0x5b, 0x1f, 0x41, 0x6b, - 0x29, 0x39, 0xe6, 0xf1, 0x44, 0x28, 0x75, 0xcd, 0x7b, 0xdf, 0x78, 0x1e, 0xfc, 0x15, 0x10, 0x77, - 0x33, 0x29, 0xc2, 0xfa, 0x29, 0xdc, 0xc8, 0x95, 0x15, 0x5c, 0xa2, 0x71, 0x34, 0xef, 0xbd, 0xf1, - 0x62, 0xa5, 0x05, 0xdf, 0x6c, 0x25, 0x17, 0x68, 0xb2, 0x37, 0x05, 0x72, 0x91, 0xf5, 0xd2, 0xc0, - 0x7c, 0x17, 0xaa, 0xfa, 0x4d, 0x4a, 0x6b, 0xbc, 0x89, 0x16, 0xe9, 0xbd, 0x83, 0x9e, 0x32, 0x11, - 0xa1, 0x8c, 0xbb, 0x72, 0x40, 0xf4, 0x1e, 0x15, 0x82, 0x49, 0x2d, 0xc8, 0x3b, 0x50, 0x55, 0xfe, - 0xd0, 0xc2, 0x57, 0xcb, 0x79, 0x2d, 0xd1, 0xfb, 0xbd, 0x05, 0x64, 0x5f, 0xf0, 0x18, 0xef, 0x2b, - 0x98, 0x4c, 0xa0, 0x32, 0xe3, 0xf1, 0xb2, 0xb8, 0xa8, 0xf5, 0xd9, 0xea, 0x50, 0x3a, 0x5f, 0x1d, - 0x1c, 0x28, 0xcf, 0xd8, 0x42, 0x85, 0xa7, 0xed, 0xe2, 0x12, 0xd1, 0x9f, 0xd0, 0x70, 0xce, 0x4c, - 0x72, 0xe9, 0xcd, 0xff, 0x37, 0xb1, 0x7e, 0x67, 0x01, 0x14, 0x50, 0xff, 0xef, 0x7e, 0x20, 0x3f, - 0x00, 0xc7, 0x9f, 0x47, 0xf3, 0x90, 0x22, 0x06, 0x1d, 0x5d, 0xeb, 0x54, 0xd0, 0x6b, 0x2b, 0x61, - 0xfd, 0x24, 0x17, 0x4a, 0x69, 0xb9, 0xe0, 0xac, 0xde, 0xe7, 0x25, 0x68, 0x1f, 0x2e, 0xb2, 0x69, - 0x01, 0xfb, 0x4d, 0xcc, 0x39, 0xf4, 0x4b, 0x5e, 0xd2, 0xeb, 0x6a, 0x3f, 0x0a, 0xc8, 0x7b, 0x60, - 0xb3, 0x88, 0xae, 0x0f, 0xaa, 0xc1, 0x22, 0xaa, 0xd1, 0x7c, 0x17, 0x70, 0x8d, 0xfd, 0x6e, 0xa2, - 0x5f, 0xe8, 0x6a, 0x0a, 0xea, 0x2c, 0xa2, 0xfb, 0x22, 0x9e, 0x90, 0x6f, 0x41, 0x45, 0xc9, 0x56, - 0xae, 0x2e, 0xab, 0x04, 0xb0, 0x10, 0x27, 0x73, 0x2f, 0xe4, 0x72, 0xaa, 0x0b, 0x71, 0x55, 0x17, - 0x62, 0x43, 0x53, 0x85, 0xf8, 0x5c, 0x40, 0xd4, 0x5e, 0x2a, 0x20, 0x3e, 0x29, 0xc3, 0x75, 0x6c, - 0x2b, 0xba, 0x9d, 0xba, 0xba, 0x9c, 0x17, 0x6b, 0xbd, 0xf1, 0x6e, 0xa1, 0xd6, 0x07, 0xa4, 0x0f, - 0x8e, 0xe9, 0xd5, 0xd2, 0x4f, 0x79, 0xa2, 0x98, 0x4a, 0xea, 0xc9, 0xda, 0x9a, 0x7e, 0xa4, 0xc8, - 0xa3, 0x80, 0x74, 0xa0, 0xae, 0x73, 0x5f, 0x76, 0xca, 0xaa, 0xf6, 0x2d, 0xb7, 0xe4, 0x55, 0xb0, - 0xa9, 0x9c, 0x8d, 0x7d, 0x31, 0x8f, 0x33, 0x13, 0xf0, 0x0d, 0x2a, 0x67, 0xfb, 0xb8, 0xc7, 0xc3, - 0x88, 0xc7, 0xe6, 0x50, 0xbb, 0xa0, 0x11, 0xf1, 0x58, 0x1f, 0x4e, 0xc1, 0x9e, 0x30, 0x36, 0x0e, - 0x79, 0xc4, 0xb3, 0x4e, 0x4d, 0x55, 0xb2, 0x9b, 0x03, 0xed, 0xd9, 0x01, 0x66, 0x65, 0x6e, 0x38, - 0xa6, 0xe9, 0xde, 0x5b, 0x68, 0xf2, 0x6f, 0xfe, 0xba, 0xd3, 0x3f, 0xe6, 0xd9, 0x74, 0xee, 0x0d, - 0x7c, 0x11, 0x0d, 0xcd, 0x28, 0xa4, 0xff, 0xbd, 0x29, 0x83, 0xd9, 0x10, 0x67, 0x0e, 0xa9, 0x04, - 0xa4, 0xdb, 0x98, 0x30, 0x76, 0x80, 0xca, 0xc9, 0x0e, 0x7a, 0x9a, 0x25, 0x34, 0x65, 0xe3, 0x63, - 0x2a, 0x3b, 0x75, 0x05, 0x04, 0x0c, 0xe9, 0x7b, 0x54, 0x22, 0x03, 0x7b, 0xc2, 0xfc, 0x79, 0xa6, - 0x19, 0x1a, 0x9a, 0xc1, 0x90, 0x90, 0xa1, 0x0f, 0x0e, 0x1a, 0x22, 0xc5, 0x3c, 0xf5, 0x99, 0xb1, - 0xc7, 0x56, 0x5c, 0xed, 0x88, 0xc7, 0x47, 0x8a, 0xac, 0xac, 0xea, 0x7d, 0x52, 0x82, 0x16, 0x3e, - 0xc4, 0x68, 0x6f, 0xdf, 0x0c, 0x5d, 0x7d, 0x70, 0x3c, 0x1a, 0x07, 0x63, 0xee, 0xf9, 0x63, 0x16, - 0x53, 0x2f, 0x64, 0xfa, 0x29, 0x1a, 0x6e, 0x1b, 0xe9, 0x23, 0xcf, 0x7f, 0xa0, 0xa9, 0xe4, 0x2d, - 0xd8, 0x46, 0xa6, 0xfc, 0xc9, 0xe2, 0x8c, 0xa5, 0x27, 0x34, 0x34, 0x6f, 0x42, 0xb8, 0xe7, 0x9b, - 0x87, 0x1d, 0x99, 0x13, 0xf2, 0x06, 0x20, 0x35, 0xc7, 0x35, 0xa5, 0x71, 0xcc, 0x42, 0x53, 0x8b, - 0x1c, 0xee, 0xf9, 0x06, 0x99, 0xa6, 0xa3, 0x99, 0xc8, 0x7d, 0xc2, 0x52, 0xc9, 0x45, 0xac, 0x83, - 0xda, 0x05, 0xee, 0xf9, 0x3f, 0xd2, 0x14, 0xd2, 0xd5, 0x0c, 0x89, 0x48, 0x55, 0x2c, 0x54, 0x15, - 0x83, 0xcd, 0x3d, 0xff, 0x50, 0xa4, 0x18, 0x06, 0x77, 0xe0, 0x7a, 0xa8, 0x02, 0x7d, 0x6c, 0xe2, - 0x86, 0x07, 0x52, 0x3d, 0x5d, 0xd9, 0xbd, 0xa6, 0x0f, 0xcc, 0x84, 0x18, 0xc8, 0xde, 0xcf, 0x2d, - 0xd8, 0x3e, 0x52, 0x41, 0xa2, 0x02, 0xf7, 0x71, 0x5e, 0x30, 0xbf, 0x03, 0x35, 0x2d, 0xad, 0xbc, - 0x70, 0xd5, 0xe1, 0xd0, 0xc8, 0x60, 0x48, 0xe9, 0xd0, 0x5b, 0x06, 0xab, 0xed, 0x36, 0x34, 0x61, - 0x14, 0xbc, 0xa0, 0xf8, 0x2c, 0x60, 0xeb, 0x80, 0xca, 0xec, 0x2c, 0x1c, 0x49, 0x3c, 0xb8, 0x11, - 0x52, 0x99, 0x99, 0xce, 0x9a, 0xb3, 0xcb, 0x8e, 0xa5, 0x62, 0x72, 0x70, 0x39, 0xbc, 0xff, 0x66, - 0x9e, 0xbb, 0x15, 0x5e, 0xbc, 0xa3, 0xf7, 0x27, 0x0b, 0x27, 0x0d, 0xee, 0x33, 0x97, 0xf9, 0x22, - 0x0d, 0xe4, 0x97, 0xe9, 0x84, 0x1f, 0xc3, 0x76, 0x88, 0x4d, 0x7d, 0x69, 0x51, 0xaa, 0xaf, 0x54, - 0x89, 0xdb, 0xbc, 0x77, 0xfb, 0x05, 0x05, 0x46, 0x03, 0x74, 0x89, 0x56, 0x51, 0xc4, 0xdc, 0x9b, - 0x40, 0xb3, 0xb0, 0x3f, 0xeb, 0x6c, 0xeb, 0x9c, 0xb3, 0x57, 0x2d, 0xa9, 0xb4, 0x76, 0x6b, 0xfe, - 0x77, 0x19, 0xc8, 0xf7, 0x59, 0x46, 0x03, 0x9a, 0x51, 0xac, 0x6e, 0x5c, 0x66, 0xdc, 0x57, 0x49, - 0x7a, 0x9c, 0x8a, 0x79, 0x62, 0xd2, 0x0f, 0x6f, 0x6c, 0xb9, 0xa0, 0x48, 0xba, 0xa0, 0x0c, 0x60, - 0xcb, 0xd8, 0x3a, 0x96, 0x34, 0x4a, 0xb0, 0xac, 0xf1, 0xa7, 0x1a, 0x40, 0xcb, 0xbd, 0x6e, 0x8e, - 0x8e, 0xd4, 0xc9, 0x11, 0x7f, 0xca, 0xb0, 0xb8, 0x47, 0x8c, 0xc6, 0xeb, 0x34, 0x06, 0x25, 0x80, - 0x82, 0xd9, 0xc7, 0x34, 0x59, 0xab, 0x2b, 0xa0, 0x00, 0xf9, 0x26, 0x5c, 0x9b, 0xf0, 0x54, 0x66, - 0xab, 0x28, 0x53, 0x39, 0x56, 0x76, 0xdb, 0x8a, 0xbc, 0xca, 0x91, 0xdb, 0xd0, 0x56, 0x31, 0xb9, - 0xe2, 0xab, 0x29, 0xbe, 0x16, 0x52, 0x57, 0x6c, 0xef, 0xe9, 0xfa, 0xaa, 0x1d, 0x5d, 0x5f, 0xa3, - 0x41, 0x46, 0x3c, 0xd6, 0x0d, 0x12, 0x35, 0xd0, 0x27, 0x46, 0x43, 0x63, 0x1d, 0x0d, 0xf4, 0x89, - 0xd6, 0xf0, 0x10, 0x36, 0x23, 0x16, 0x70, 0xba, 0x84, 0x61, 0x5f, 0x5d, 0x49, 0x53, 0x0b, 0x2a, - 0x3d, 0xbd, 0xbf, 0x5b, 0xe0, 0xa8, 0xd5, 0xfb, 0x19, 0x46, 0x1e, 0xcd, 0xb0, 0x20, 0x3d, 0x67, - 0x38, 0xd8, 0x2e, 0x06, 0x58, 0x79, 0x39, 0xce, 0x10, 0xd3, 0xb0, 0xf5, 0x87, 0x8f, 0xee, 0xc5, - 0x04, 0x2a, 0xec, 0x49, 0x22, 0xd4, 0x73, 0x55, 0x5d, 0xb5, 0xc6, 0x0c, 0x5a, 0x8d, 0x16, 0xfa, - 0x0d, 0x56, 0x53, 0xc3, 0xcd, 0xc2, 0xd4, 0x50, 0x53, 0x8a, 0xf2, 0x81, 0xc0, 0x1c, 0x29, 0x7d, - 0x75, 0xa5, 0x0f, 0x8f, 0x1e, 0xa0, 0xca, 0xf3, 0x2d, 0xbf, 0xa1, 0xb4, 0x16, 0x5b, 0xfe, 0x9d, - 0x5f, 0x59, 0xcb, 0x6f, 0x68, 0x4c, 0x67, 0x72, 0x0d, 0x9a, 0x1f, 0xc4, 0x32, 0x61, 0x3e, 0x9f, - 0x70, 0x16, 0x38, 0x1b, 0xa4, 0x01, 0x15, 0xec, 0x1d, 0x8e, 0x45, 0x5a, 0x60, 0xe7, 0xb3, 0xae, - 0x53, 0x22, 0x9b, 0xd0, 0x58, 0x0e, 0xab, 0x4e, 0x19, 0x0f, 0xf3, 0x6f, 0x63, 0xa7, 0x42, 0x6c, - 0xa8, 0xba, 0xf4, 0xa9, 0x48, 0x9d, 0x2a, 0xa9, 0x43, 0xf9, 0x3e, 0xa7, 0x4e, 0x0d, 0x35, 0xbd, - 0x7f, 0x38, 0x7a, 0xdb, 0xa9, 0x23, 0xe9, 0x83, 0x88, 0x3a, 0x0d, 0x24, 0xe1, 0xe8, 0xe5, 0xd8, - 0xa4, 0x09, 0x75, 0xd3, 0xa2, 0x1c, 0x40, 0xd5, 0xcb, 0xd1, 0xdf, 0x69, 0xee, 0x7d, 0xf8, 0xe9, - 0xb3, 0xae, 0xf5, 0xd9, 0xb3, 0xae, 0xf5, 0xb7, 0x67, 0x5d, 0xeb, 0x17, 0xa7, 0xdd, 0x8d, 0x3f, - 0x9e, 0x76, 0xad, 0xcf, 0x4e, 0xbb, 0x1b, 0x7f, 0x3e, 0xed, 0x6e, 0xfc, 0xe4, 0xa0, 0xd0, 0x7c, - 0x47, 0xcb, 0x32, 0x72, 0x40, 0x3d, 0x39, 0xcc, 0x8b, 0xca, 0x9b, 0xbe, 0x48, 0x59, 0x71, 0x8b, - 0x40, 0x87, 0x91, 0x08, 0xe6, 0x21, 0x93, 0xcb, 0x5f, 0x42, 0x54, 0x9b, 0xf6, 0x6a, 0xea, 0xe7, - 0x89, 0xb7, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0x4b, 0x03, 0x60, 0xd7, 0x2a, 0x11, 0x00, 0x00, + // 1794 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0xcd, 0x8f, 0x1c, 0x47, + 0x15, 0xdf, 0x9e, 0xef, 0x7e, 0xf3, 0xb1, 0xed, 0xda, 0xb5, 0x19, 0x3b, 0xc9, 0xec, 0xd2, 0xc1, + 0x30, 0xb2, 0x92, 0x19, 0xdb, 0x39, 0x20, 0x07, 0x84, 0xe2, 0x5d, 0xdb, 0x68, 0xe4, 0x85, 0xac, + 0x7a, 0x6d, 0x90, 0xb8, 0x0c, 0x35, 0xdd, 0x35, 0x3b, 0x95, 0xed, 0xaf, 0x74, 0xf5, 0x6c, 0x3c, + 0x96, 0xb8, 0xe6, 0xc0, 0x05, 0xfe, 0x01, 0x24, 0xce, 0x39, 0x71, 0x80, 0x13, 0x12, 0x42, 0x9c, + 0x72, 0x23, 0xa7, 0x08, 0x71, 0x08, 0x60, 0x1f, 0x40, 0x5c, 0xf9, 0x07, 0xd0, 0xab, 0xaa, 0xee, + 0xe9, 0xdd, 0x8d, 0xbd, 0x3b, 0x04, 0x5f, 0x76, 0xab, 0x5e, 0xbd, 0xf7, 0xea, 0xf7, 0x3e, 0xea, + 0xbd, 0xd7, 0x03, 0xd7, 0x79, 0xf8, 0x01, 0x73, 0x53, 0x7e, 0xcc, 0x86, 0x51, 0x42, 0x5d, 0x9f, + 0x0d, 0x8f, 0x6f, 0x4d, 0x58, 0x4a, 0x6f, 0xe9, 0xed, 0x20, 0x4e, 0xa2, 0x34, 0x22, 0xdd, 0x9c, + 0x6d, 0xa0, 0xe9, 0x9a, 0xed, 0xda, 0xe6, 0x61, 0x74, 0x18, 0x49, 0xa6, 0x21, 0xae, 0x14, 0xff, + 0xb5, 0x9e, 0x1b, 0x89, 0x20, 0x12, 0xc3, 0x09, 0x15, 0x4b, 0x8d, 0x6e, 0xc4, 0x43, 0x7d, 0x7e, + 0x89, 0x06, 0x3c, 0x8c, 0x86, 0xf2, 0xaf, 0x22, 0xd9, 0xf7, 0xa1, 0xb6, 0x4f, 0x13, 0x1a, 0x08, + 0xf2, 0x26, 0xb4, 0xe3, 0x45, 0x3a, 0x1b, 0xbb, 0x51, 0x98, 0x26, 0xd4, 0x4d, 0xbb, 0xc6, 0xb6, + 0xd1, 0x37, 0x9d, 0x16, 0x12, 0x77, 0x35, 0xed, 0xdd, 0x2b, 0xff, 0xfa, 0xf5, 0x96, 0xf1, 0xf3, + 0x7f, 0xfe, 0xe6, 0x46, 0x5b, 0xe3, 0x56, 0xc2, 0xf6, 0x11, 0xc0, 0xfb, 0x92, 0x30, 0x0a, 0xa7, + 0x11, 0xb9, 0x02, 0x35, 0xb1, 0x08, 0x26, 0x91, 0xaf, 0x75, 0xe8, 0x1d, 0xb9, 0x0f, 0x4d, 0x25, + 0x36, 0x4e, 0x17, 0x31, 0xeb, 0x96, 0xb6, 0x8d, 0x7e, 0xe7, 0xf6, 0x37, 0x06, 0x2f, 0xb2, 0x72, + 0xa0, 0x54, 0x3e, 0x5a, 0xc4, 0xcc, 0x81, 0x28, 0x5f, 0xdb, 0x9f, 0x1b, 0xb0, 0xb1, 0x3b, 0xa3, + 0x3c, 0xf4, 0x79, 0x78, 0xb4, 0x9f, 0x70, 0x97, 0x1d, 0xa4, 0x34, 0x65, 0xe4, 0x6b, 0x50, 0x9f, + 0x32, 0xe6, 0x8d, 0xb9, 0x97, 0xdd, 0x8b, 0xdb, 0x91, 0x47, 0xbe, 0x03, 0x35, 0x1a, 0x8a, 0x8f, + 0x58, 0x22, 0xaf, 0x34, 0x77, 0xde, 0xfc, 0xf4, 0x8b, 0xad, 0xb5, 0xbf, 0x7e, 0xb1, 0xf5, 0x9a, + 0xf2, 0x97, 0xf0, 0x8e, 0x06, 0x3c, 0x1a, 0x06, 0x34, 0x9d, 0x0d, 0xf6, 0xd8, 0x21, 0x75, 0x17, + 0xf7, 0x98, 0xeb, 0x68, 0x11, 0xf2, 0x3a, 0x98, 0x29, 0x0f, 0x98, 0x48, 0x69, 0x10, 0x77, 0xcb, + 0xdb, 0x46, 0xbf, 0xe2, 0x2c, 0x09, 0xe4, 0x21, 0x34, 0x63, 0x44, 0x30, 0x16, 0x08, 0xa1, 0x5b, + 0xd9, 0x36, 0xfa, 0xcd, 0x97, 0x99, 0xb4, 0x84, 0xbb, 0x53, 0x41, 0x14, 0x0e, 0xc4, 0x39, 0xc5, + 0xfe, 0xb7, 0x01, 0x9d, 0x1d, 0x1a, 0x7a, 0x05, 0x9b, 0x5e, 0xe4, 0xca, 0x5b, 0x50, 0x49, 0xf0, + 0x42, 0x65, 0xd0, 0x1b, 0xda, 0xa0, 0xcb, 0x67, 0x0d, 0x1a, 0x85, 0xa9, 0x23, 0x59, 0xc9, 0xd7, + 0xa1, 0x95, 0x30, 0x11, 0xf9, 0xc7, 0x6c, 0x8c, 0xf8, 0xb5, 0x2d, 0x4d, 0x4d, 0x7b, 0xc4, 0x03, + 0x46, 0xde, 0x00, 0x48, 0xd8, 0x87, 0x73, 0x26, 0xd2, 0xf1, 0xe8, 0x9e, 0x34, 0xa6, 0xe2, 0x98, + 0x9a, 0x32, 0xba, 0x77, 0xda, 0xd8, 0xea, 0x57, 0x32, 0xf6, 0x57, 0x06, 0x74, 0x24, 0xc3, 0x03, + 0xc6, 0x3c, 0x65, 0x2c, 0x81, 0x0a, 0xa6, 0xae, 0x36, 0x55, 0xae, 0xc9, 0x26, 0x54, 0x3f, 0x9c, + 0x47, 0x99, 0xa5, 0x8e, 0xda, 0x60, 0x26, 0x15, 0x91, 0x94, 0x2f, 0x8e, 0xa4, 0x88, 0x81, 0x5c, + 0x83, 0x46, 0xc2, 0x7c, 0xba, 0x60, 0x89, 0xe8, 0x56, 0xb6, 0xcb, 0x7d, 0xd3, 0xc9, 0xf7, 0xf6, + 0x03, 0x68, 0xed, 0x27, 0xd1, 0x31, 0xf7, 0x58, 0x22, 0x93, 0xfa, 0x1a, 0x34, 0x62, 0xbd, 0xd7, + 0x00, 0xf3, 0xfd, 0x09, 0x3d, 0xa5, 0x53, 0x7a, 0xfe, 0x60, 0x40, 0x3b, 0x53, 0xa4, 0x6e, 0x7d, + 0x08, 0xed, 0x4c, 0x72, 0xcc, 0xc3, 0x69, 0x24, 0xd5, 0x35, 0x6f, 0x7f, 0xf3, 0x65, 0xf0, 0x97, + 0x40, 0x9c, 0x56, 0x5c, 0x84, 0xf5, 0x53, 0xb8, 0x9c, 0x2b, 0x2b, 0xb8, 0x44, 0xe1, 0x68, 0xde, + 0x7e, 0xeb, 0x7c, 0xa5, 0x05, 0xdf, 0x6c, 0xc4, 0x67, 0x68, 0xc2, 0x9e, 0x01, 0x39, 0xcb, 0xfa, + 0xc2, 0xc4, 0x7c, 0x17, 0xaa, 0x2a, 0x26, 0xa5, 0x15, 0x62, 0xa2, 0x44, 0xec, 0x3b, 0xe8, 0x29, + 0x9d, 0x11, 0xd2, 0xb8, 0x0b, 0x27, 0x84, 0xfd, 0xb0, 0x90, 0x4c, 0x72, 0x41, 0xee, 0x40, 0x55, + 0xfa, 0x43, 0x09, 0x5f, 0xec, 0xcd, 0x2b, 0x09, 0xfb, 0xf7, 0x06, 0x90, 0xdd, 0x88, 0x87, 0x78, + 0x5f, 0xc1, 0x64, 0x02, 0x95, 0x23, 0x1e, 0x66, 0xc5, 0x45, 0xae, 0x4f, 0x56, 0x87, 0xd2, 0xe9, + 0xea, 0x60, 0x41, 0xf9, 0x88, 0x2d, 0x64, 0x7a, 0x9a, 0x0e, 0x2e, 0x11, 0xfd, 0x31, 0xf5, 0xe7, + 0x4c, 0x3f, 0x2e, 0xb5, 0xf9, 0xff, 0x3e, 0xac, 0x3f, 0x1b, 0xb0, 0x7e, 0x90, 0x46, 0x49, 0xb1, + 0x34, 0x9e, 0x80, 0x69, 0x9c, 0x86, 0xb9, 0x8c, 0x65, 0xe9, 0x44, 0x2c, 0xef, 0x64, 0x60, 0xcb, + 0x2b, 0xb8, 0xf0, 0x15, 0x58, 0xf4, 0x3b, 0x03, 0xa0, 0x60, 0xcc, 0xff, 0x1e, 0x59, 0xf2, 0x43, + 0xb0, 0xdc, 0x79, 0x30, 0xf7, 0x29, 0x62, 0x50, 0xef, 0x65, 0x95, 0x9e, 0xb0, 0xbe, 0x14, 0x56, + 0x49, 0x76, 0xa6, 0x39, 0x94, 0x0b, 0x7e, 0xb5, 0x3f, 0x2f, 0x41, 0x67, 0x7f, 0x91, 0xce, 0x0a, + 0xd8, 0xaf, 0x62, 0x15, 0x41, 0xbf, 0xe4, 0x4d, 0xaa, 0x2e, 0xf7, 0x23, 0x8f, 0xbc, 0x07, 0x26, + 0x0b, 0xe8, 0xea, 0xa0, 0x1a, 0x2c, 0xa0, 0x0a, 0xcd, 0xf7, 0x00, 0xd7, 0xd8, 0xc1, 0xa7, 0xab, + 0x84, 0xac, 0xce, 0x02, 0xba, 0x1b, 0x85, 0x53, 0xf2, 0x6d, 0xa8, 0x48, 0xd9, 0xca, 0xc5, 0x65, + 0xa5, 0x00, 0xb6, 0x96, 0x78, 0x3e, 0xf1, 0xb9, 0x98, 0xa9, 0xd6, 0x52, 0x55, 0xad, 0x45, 0xd3, + 0x64, 0x6b, 0x39, 0x95, 0x10, 0xb5, 0xaf, 0x94, 0x10, 0x1f, 0x97, 0xe1, 0x12, 0x36, 0x4a, 0x35, + 0x20, 0x38, 0xaa, 0x41, 0x15, 0xbb, 0x97, 0xf6, 0x6e, 0xa1, 0x7b, 0x79, 0xa4, 0x0f, 0x96, 0x9e, + 0x3e, 0x84, 0x9b, 0xf0, 0x58, 0x32, 0x95, 0x64, 0xc8, 0x3a, 0x8a, 0x7e, 0x20, 0xc9, 0x23, 0x8f, + 0x74, 0xa1, 0xae, 0x5e, 0x80, 0xe8, 0x96, 0x65, 0x35, 0xcf, 0xb6, 0xe4, 0x35, 0x30, 0xa9, 0x38, + 0x1a, 0xbb, 0xd1, 0x3c, 0x4c, 0xf5, 0x13, 0x6e, 0x50, 0x71, 0xb4, 0x8b, 0x7b, 0x3c, 0x0c, 0x78, + 0xa8, 0x0f, 0x95, 0x0b, 0x1a, 0x01, 0x0f, 0xd5, 0xe1, 0x0c, 0xcc, 0x29, 0x63, 0x63, 0x9f, 0x07, + 0x3c, 0xed, 0xd6, 0x64, 0x6d, 0xbe, 0x3a, 0x50, 0x9e, 0x1d, 0x60, 0x9d, 0xc9, 0x0d, 0xc7, 0xc2, + 0xb3, 0x73, 0x13, 0x4d, 0xfe, 0xe4, 0x6f, 0x5b, 0xfd, 0x43, 0x9e, 0xce, 0xe6, 0x93, 0x81, 0x1b, + 0x05, 0x43, 0x3d, 0xdc, 0xa9, 0x7f, 0x6f, 0x0b, 0xef, 0x68, 0x88, 0x53, 0x94, 0x90, 0x02, 0xc2, + 0x69, 0x4c, 0x19, 0xdb, 0x43, 0xe5, 0x64, 0x0b, 0x3d, 0xcd, 0x62, 0x9a, 0xb0, 0xf1, 0x21, 0x15, + 0xdd, 0xba, 0x04, 0x02, 0x9a, 0xf4, 0x7d, 0x2a, 0x90, 0x81, 0x3d, 0x61, 0xee, 0x3c, 0x55, 0x0c, + 0x0d, 0xc5, 0xa0, 0x49, 0xc8, 0xd0, 0x07, 0x0b, 0x0d, 0x11, 0xd1, 0x3c, 0x71, 0x99, 0xb6, 0xc7, + 0x94, 0x5c, 0x9d, 0x80, 0x87, 0x07, 0x92, 0x2c, 0xad, 0xb2, 0x3f, 0x2e, 0x41, 0x1b, 0x03, 0x31, + 0xda, 0xd9, 0xd5, 0x63, 0x64, 0x1f, 0xac, 0x09, 0x0d, 0xbd, 0x31, 0x9f, 0xb8, 0x63, 0x16, 0xd2, + 0x89, 0xcf, 0x54, 0x28, 0x1a, 0x4e, 0x07, 0xe9, 0xa3, 0x89, 0x7b, 0x5f, 0x51, 0xc9, 0x4d, 0xd8, + 0x44, 0xa6, 0x3c, 0x64, 0x61, 0xca, 0x92, 0x63, 0xea, 0xeb, 0x98, 0x10, 0x3e, 0x71, 0x75, 0x60, + 0x47, 0xfa, 0x84, 0xbc, 0x05, 0x48, 0xcd, 0x71, 0xcd, 0x68, 0x18, 0x32, 0x5f, 0x57, 0x57, 0x8b, + 0x4f, 0x5c, 0x8d, 0x4c, 0xd1, 0xd1, 0x4c, 0xe4, 0x3e, 0x66, 0x89, 0xe0, 0x51, 0xa8, 0x92, 0xda, + 0x01, 0x3e, 0x71, 0x7f, 0xa4, 0x28, 0xa4, 0xa7, 0x18, 0xe2, 0x28, 0x91, 0xb9, 0x50, 0x95, 0x0c, + 0x26, 0x9f, 0xb8, 0xfb, 0x51, 0x82, 0x69, 0x70, 0x03, 0x2e, 0xf9, 0x32, 0xd1, 0xc7, 0x3a, 0x6f, + 0xb8, 0x27, 0x64, 0xe8, 0xca, 0xce, 0xba, 0x3a, 0xd0, 0x33, 0xaf, 0x27, 0xec, 0x5f, 0x18, 0xb0, + 0x79, 0x20, 0x93, 0x44, 0x26, 0xee, 0xa3, 0xbc, 0xb6, 0x7e, 0x17, 0x6a, 0x4a, 0x5a, 0x7a, 0xe1, + 0xa2, 0xe3, 0xae, 0x96, 0xc1, 0x94, 0x52, 0xa9, 0x97, 0x25, 0xab, 0xe9, 0x34, 0x14, 0x61, 0xe4, + 0x9d, 0x53, 0x7c, 0x16, 0xb0, 0xb1, 0x47, 0x45, 0x7a, 0x12, 0x8e, 0x20, 0x13, 0xb8, 0xec, 0x53, + 0x91, 0xea, 0x59, 0x21, 0x67, 0x17, 0x5d, 0x43, 0xe6, 0xe4, 0xe0, 0xc5, 0xf0, 0xbe, 0xcc, 0x3c, + 0x67, 0xc3, 0x3f, 0x7b, 0x87, 0xfd, 0x27, 0x03, 0x67, 0x27, 0xee, 0x32, 0x87, 0xb9, 0x51, 0xe2, + 0x89, 0x57, 0xe9, 0x84, 0x1f, 0xc3, 0xa6, 0x8f, 0x63, 0x4a, 0x66, 0x51, 0xa2, 0xae, 0x94, 0x0f, + 0xb7, 0x79, 0xfb, 0xfa, 0x39, 0x05, 0x46, 0x01, 0x74, 0x88, 0x52, 0x51, 0xc4, 0x6c, 0x4f, 0xa1, + 0x59, 0xd8, 0x9f, 0xed, 0xa0, 0x45, 0x67, 0x2f, 0x5b, 0x52, 0x69, 0xe5, 0x61, 0xe3, 0x3f, 0x65, + 0x20, 0x3f, 0x60, 0x29, 0xf5, 0x68, 0x4a, 0xb1, 0xba, 0x71, 0x91, 0x72, 0x57, 0x3e, 0xd2, 0xc3, + 0x24, 0x9a, 0xc7, 0xfa, 0xf9, 0xe1, 0x8d, 0x6d, 0x07, 0x24, 0x49, 0x15, 0x94, 0x01, 0x6c, 0x68, + 0x5b, 0xc7, 0x82, 0x06, 0x31, 0x96, 0x35, 0xfe, 0x54, 0x01, 0x68, 0x3b, 0x97, 0xf4, 0xd1, 0x81, + 0x3c, 0x39, 0xe0, 0x4f, 0x19, 0x16, 0xf7, 0x80, 0xd1, 0x70, 0x95, 0xc6, 0x20, 0x05, 0x50, 0x30, + 0xfd, 0x88, 0xc6, 0x2b, 0x75, 0x05, 0x14, 0x20, 0xdf, 0x82, 0xf5, 0x29, 0x4f, 0x44, 0xba, 0xcc, + 0x32, 0xf9, 0xc6, 0xca, 0x4e, 0x47, 0x92, 0x97, 0x6f, 0xe4, 0x3a, 0x74, 0x64, 0x4e, 0x2e, 0xf9, + 0x6a, 0x92, 0xaf, 0x8d, 0xd4, 0x25, 0xdb, 0x7b, 0xaa, 0xbe, 0x2a, 0x47, 0xd7, 0x57, 0x68, 0x90, + 0x01, 0x0f, 0x55, 0x83, 0x44, 0x0d, 0xf4, 0x89, 0xd6, 0xd0, 0x58, 0x45, 0x03, 0x7d, 0xa2, 0x34, + 0x3c, 0x80, 0x56, 0xc0, 0x3c, 0x4e, 0x33, 0x18, 0xe6, 0xc5, 0x95, 0x34, 0x95, 0xa0, 0xd4, 0x63, + 0xff, 0xc3, 0x00, 0x4b, 0xae, 0xee, 0xa6, 0x98, 0x79, 0x34, 0xc5, 0x82, 0xf4, 0x92, 0xe1, 0x60, + 0xb3, 0x98, 0x60, 0xe5, 0x6c, 0x9c, 0x21, 0xba, 0x61, 0xab, 0x4f, 0x39, 0xd5, 0x8b, 0x09, 0x54, + 0xd8, 0x93, 0x38, 0x92, 0xe1, 0xaa, 0x3a, 0x72, 0x8d, 0x2f, 0x68, 0x39, 0x5a, 0xa8, 0x18, 0x2c, + 0xa7, 0x86, 0xab, 0x85, 0xa9, 0xa1, 0x26, 0x15, 0xe5, 0x03, 0x81, 0x3e, 0x92, 0xfa, 0xea, 0x52, + 0x1f, 0x1e, 0xdd, 0x47, 0x95, 0xa7, 0x5b, 0x7e, 0x43, 0x6a, 0x2d, 0xb6, 0x7c, 0xfb, 0x67, 0x60, + 0xde, 0x15, 0x82, 0xa5, 0xfb, 0x94, 0x27, 0xa8, 0x8a, 0xe2, 0xa6, 0x60, 0x9b, 0xdc, 0x8f, 0x3c, + 0xf2, 0x18, 0xda, 0x82, 0x1f, 0x86, 0xcc, 0x53, 0x00, 0xb3, 0x4f, 0x97, 0x9b, 0x2f, 0x29, 0x45, + 0x92, 0x5d, 0xc2, 0x7f, 0x7f, 0x9a, 0xdf, 0xe1, 0xb4, 0xc4, 0x92, 0x2e, 0xec, 0xdf, 0x1a, 0x70, + 0xe5, 0xcb, 0x19, 0xe5, 0x6f, 0x1d, 0x0a, 0x28, 0x4b, 0xc6, 0x38, 0xa1, 0x67, 0xbf, 0x75, 0x64, + 0xc4, 0x87, 0x6c, 0x71, 0xce, 0x68, 0x9f, 0xbf, 0xf8, 0xf2, 0xca, 0x43, 0xe8, 0xeb, 0x60, 0x22, + 0x50, 0x9a, 0xce, 0x13, 0xf5, 0x1d, 0xd0, 0x72, 0x96, 0x84, 0x1b, 0x9f, 0x18, 0xd9, 0x6f, 0x29, + 0x58, 0x04, 0xc9, 0x3a, 0x34, 0x1f, 0x87, 0x22, 0x66, 0x2e, 0x9f, 0x72, 0xe6, 0x59, 0x6b, 0xa4, + 0x01, 0x15, 0xec, 0xb8, 0x96, 0x41, 0xda, 0x60, 0xe6, 0xdf, 0x3c, 0x56, 0x89, 0xb4, 0xa0, 0x91, + 0x7d, 0xb4, 0x58, 0x65, 0x3c, 0xcc, 0x7f, 0x23, 0xb1, 0x2a, 0xc4, 0x84, 0xaa, 0x43, 0x9f, 0x46, + 0x89, 0x55, 0x25, 0x75, 0x28, 0xdf, 0xe3, 0xd4, 0xaa, 0xa1, 0xa6, 0xbb, 0xfb, 0xa3, 0x77, 0xac, + 0x3a, 0x92, 0x1e, 0x07, 0xd4, 0x6a, 0x20, 0x09, 0x07, 0x56, 0xcb, 0x24, 0x4d, 0xa8, 0xeb, 0xc6, + 0x6e, 0x01, 0xaa, 0xce, 0x3e, 0x01, 0xad, 0x26, 0xea, 0x92, 0xdf, 0x17, 0x56, 0x6b, 0xe7, 0x83, + 0x4f, 0x9f, 0xf5, 0x8c, 0xcf, 0x9e, 0xf5, 0x8c, 0xbf, 0x3f, 0xeb, 0x19, 0xbf, 0x7c, 0xde, 0x5b, + 0xfb, 0xe3, 0xf3, 0x9e, 0xf1, 0xd9, 0xf3, 0xde, 0xda, 0x5f, 0x9e, 0xf7, 0xd6, 0x7e, 0xb2, 0x57, + 0x98, 0x5e, 0x46, 0x59, 0x2c, 0xf7, 0xe8, 0x44, 0x0c, 0xf3, 0xc8, 0xbe, 0xed, 0x46, 0x09, 0x2b, + 0x6e, 0x11, 0xf3, 0x30, 0x88, 0xbc, 0xb9, 0xcf, 0x44, 0xf6, 0xe3, 0x98, 0x9c, 0x73, 0x26, 0x35, + 0xf9, 0x8b, 0xd5, 0x3b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x3f, 0xe6, 0xeb, 0x89, 0x3d, 0x13, + 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { @@ -2106,6 +2302,61 @@ func (m *CoinbasePriceState) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *StorkPriceState) 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 *StorkPriceState) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *StorkPriceState) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.PriceState.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintOracle(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + { + size := m.Value.Size() + i -= size + if _, err := m.Value.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintOracle(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + if len(m.Symbol) > 0 { + i -= len(m.Symbol) + copy(dAtA[i:], m.Symbol) + i = encodeVarintOracle(dAtA, i, uint64(len(m.Symbol))) + i-- + dAtA[i] = 0x12 + } + if m.Timestamp != 0 { + i = encodeVarintOracle(dAtA, i, uint64(m.Timestamp)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func (m *PriceState) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -2331,21 +2582,21 @@ func (m *BandIBCParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l if len(m.LegacyOracleIds) > 0 { - dAtA9 := make([]byte, len(m.LegacyOracleIds)*10) - var j8 int + dAtA10 := make([]byte, len(m.LegacyOracleIds)*10) + var j9 int for _, num1 := range m.LegacyOracleIds { num := uint64(num1) for num >= 1<<7 { - dAtA9[j8] = uint8(uint64(num)&0x7f | 0x80) + dAtA10[j9] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j8++ + j9++ } - dAtA9[j8] = uint8(num) - j8++ + dAtA10[j9] = uint8(num) + j9++ } - i -= j8 - copy(dAtA[i:], dAtA9[:j8]) - i = encodeVarintOracle(dAtA, i, uint64(j8)) + i -= j9 + copy(dAtA[i:], dAtA10[:j9]) + i = encodeVarintOracle(dAtA, i, uint64(j9)) i-- dAtA[i] = 0x32 } @@ -2710,6 +2961,102 @@ func (m *PriceAttestation) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *AssetPair) 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 *AssetPair) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *AssetPair) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.SignedPrices) > 0 { + for iNdEx := len(m.SignedPrices) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.SignedPrices[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintOracle(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } + if len(m.AssetId) > 0 { + i -= len(m.AssetId) + copy(dAtA[i:], m.AssetId) + i = encodeVarintOracle(dAtA, i, uint64(len(m.AssetId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *SignedPriceOfAssetPair) 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 *SignedPriceOfAssetPair) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *SignedPriceOfAssetPair) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Signature) > 0 { + i -= len(m.Signature) + copy(dAtA[i:], m.Signature) + i = encodeVarintOracle(dAtA, i, uint64(len(m.Signature))) + i-- + dAtA[i] = 0x22 + } + { + size := m.Price.Size() + i -= size + if _, err := m.Price.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintOracle(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + if m.Timestamp != 0 { + i = encodeVarintOracle(dAtA, i, uint64(m.Timestamp)) + i-- + dAtA[i] = 0x10 + } + if len(m.PublisherKey) > 0 { + i -= len(m.PublisherKey) + copy(dAtA[i:], m.PublisherKey) + i = encodeVarintOracle(dAtA, i, uint64(len(m.PublisherKey))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintOracle(dAtA []byte, offset int, v uint64) int { offset -= sovOracle(v) base := offset @@ -2928,7 +3275,27 @@ func (m *CoinbasePriceState) Size() (n int) { return n } -func (m *PriceState) Size() (n int) { +func (m *StorkPriceState) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Timestamp != 0 { + n += 1 + sovOracle(uint64(m.Timestamp)) + } + l = len(m.Symbol) + if l > 0 { + n += 1 + l + sovOracle(uint64(l)) + } + l = m.Value.Size() + n += 1 + l + sovOracle(uint64(l)) + l = m.PriceState.Size() + n += 1 + l + sovOracle(uint64(l)) + return n +} + +func (m *PriceState) Size() (n int) { if m == nil { return 0 } @@ -3179,6 +3546,47 @@ func (m *PriceAttestation) Size() (n int) { return n } +func (m *AssetPair) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.AssetId) + if l > 0 { + n += 1 + l + sovOracle(uint64(l)) + } + if len(m.SignedPrices) > 0 { + for _, e := range m.SignedPrices { + l = e.Size() + n += 1 + l + sovOracle(uint64(l)) + } + } + return n +} + +func (m *SignedPriceOfAssetPair) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.PublisherKey) + if l > 0 { + n += 1 + l + sovOracle(uint64(l)) + } + if m.Timestamp != 0 { + n += 1 + sovOracle(uint64(m.Timestamp)) + } + l = m.Price.Size() + n += 1 + l + sovOracle(uint64(l)) + l = len(m.Signature) + if l > 0 { + n += 1 + l + sovOracle(uint64(l)) + } + return n +} + func sovOracle(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -4640,6 +5048,174 @@ func (m *CoinbasePriceState) Unmarshal(dAtA []byte) error { } return nil } +func (m *StorkPriceState) 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 ErrIntOverflowOracle + } + 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: StorkPriceState: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: StorkPriceState: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) + } + m.Timestamp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Timestamp |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Symbol", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + 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 ErrInvalidLengthOracle + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Symbol = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + 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 ErrIntOverflowOracle + } + 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 ErrInvalidLengthOracle + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PriceState", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthOracle + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.PriceState.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipOracle(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthOracle + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *PriceState) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -6476,6 +7052,291 @@ func (m *PriceAttestation) Unmarshal(dAtA []byte) error { } return nil } +func (m *AssetPair) 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 ErrIntOverflowOracle + } + 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: AssetPair: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AssetPair: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AssetId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + 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 ErrInvalidLengthOracle + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AssetId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SignedPrices", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthOracle + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SignedPrices = append(m.SignedPrices, &SignedPriceOfAssetPair{}) + if err := m.SignedPrices[len(m.SignedPrices)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipOracle(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthOracle + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SignedPriceOfAssetPair) 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 ErrIntOverflowOracle + } + 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: SignedPriceOfAssetPair: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SignedPriceOfAssetPair: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PublisherKey", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + 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 ErrInvalidLengthOracle + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PublisherKey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) + } + m.Timestamp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Timestamp |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + 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 ErrInvalidLengthOracle + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Signature", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthOracle + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Signature = append(m.Signature[:0], dAtA[iNdEx:postIndex]...) + if m.Signature == nil { + m.Signature = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipOracle(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthOracle + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipOracle(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/oracle/types/params.go b/chain/oracle/types/params.go index e700debc..32aabfb1 100644 --- a/chain/oracle/types/params.go +++ b/chain/oracle/types/params.go @@ -11,7 +11,7 @@ import ( var _ paramtypes.ParamSet = &Params{} var ( - LargestDecPrice math.LegacyDec = math.LegacyMustNewDecFromStr("10000000") + LargestDecPrice = math.LegacyMustNewDecFromStr("10000000") ) const ( diff --git a/chain/oracle/types/proposal.go b/chain/oracle/types/proposal.go index 20009528..2a6e8ce2 100644 --- a/chain/oracle/types/proposal.go +++ b/chain/oracle/types/proposal.go @@ -1,6 +1,7 @@ package types import ( + "fmt" "strings" "cosmossdk.io/errors" @@ -9,6 +10,7 @@ import ( govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" bandobi "github.com/bandprotocol/bandchain-packet/obi" + "github.com/ethereum/go-ethereum/common" bandprice "github.com/InjectiveLabs/sdk-go/chain/oracle/bandchain/hooks/price" bandoracle "github.com/InjectiveLabs/sdk-go/chain/oracle/bandchain/oracle/types" @@ -25,6 +27,8 @@ const ( ProposalEnableBandIBC string = "ProposalTypeEnableBandIBC" ProposalTypeGrantProviderPrivilege string = "ProposalTypeGrantProviderPrivilege" ProposalTypeRevokeProviderPrivilege string = "ProposalTypeRevokeProviderPrivilege" + ProposalTypeGrantStorkPublisherPrivilege string = "ProposalTypeGrantStorkPublisherPrivilege" + ProposalTypeRevokeStorkPublisherPrivilege string = "ProposalTypeRevokeStorkPublisherPrivilege" ) func init() { @@ -37,6 +41,8 @@ func init() { govtypes.RegisterProposalType(ProposalUpdateBandOracleRequest) govtypes.RegisterProposalType(ProposalTypeGrantProviderPrivilege) govtypes.RegisterProposalType(ProposalTypeRevokeProviderPrivilege) + govtypes.RegisterProposalType(ProposalTypeGrantStorkPublisherPrivilege) + govtypes.RegisterProposalType(ProposalTypeRevokeStorkPublisherPrivilege) } // Implements Proposal Interface @@ -49,6 +55,8 @@ var _ govtypes.Content = &UpdateBandOracleRequestProposal{} var _ govtypes.Content = &EnableBandIBCProposal{} var _ govtypes.Content = &GrantProviderPrivilegeProposal{} var _ govtypes.Content = &RevokeProviderPrivilegeProposal{} +var _ govtypes.Content = &GrantStorkPublisherPrivilegeProposal{} +var _ govtypes.Content = &RevokeStorkPublisherPrivilegeProposal{} // GetTitle returns the title of this proposal. func (p *GrantBandOraclePrivilegeProposal) GetTitle() string { @@ -415,3 +423,61 @@ func (p *UpdateBandOracleRequestProposal) ValidateBasic() error { return govtypes.ValidateAbstract(p) } + +// GetTitle returns the title of this proposal. +func (p *GrantStorkPublisherPrivilegeProposal) GetTitle() string { + return p.Title +} + +// GetDescription returns the description of this proposal. +func (p *GrantStorkPublisherPrivilegeProposal) GetDescription() string { + return p.Description +} + +// ProposalRoute returns router key of this proposal. +func (p *GrantStorkPublisherPrivilegeProposal) ProposalRoute() string { return RouterKey } + +// ProposalType returns proposal type of this proposal. +func (p *GrantStorkPublisherPrivilegeProposal) ProposalType() string { + return ProposalTypeGrantBandOraclePrivilege +} + +// ValidateBasic returns ValidateBasic result of this proposal. +func (p *GrantStorkPublisherPrivilegeProposal) ValidateBasic() error { + for _, publisher := range p.StorkPublishers { + if !common.IsHexAddress(publisher) { + return fmt.Errorf("invalid publisher address: %s", publisher) + } + } + + return nil +} + +// GetTitle returns the title of this proposal. +func (p *RevokeStorkPublisherPrivilegeProposal) GetTitle() string { + return p.Title +} + +// GetDescription returns the description of this proposal. +func (p *RevokeStorkPublisherPrivilegeProposal) GetDescription() string { + return p.Description +} + +// ProposalRoute returns router key of this proposal. +func (p *RevokeStorkPublisherPrivilegeProposal) ProposalRoute() string { return RouterKey } + +// ProposalType returns proposal type of this proposal. +func (p *RevokeStorkPublisherPrivilegeProposal) ProposalType() string { + return ProposalTypeGrantBandOraclePrivilege +} + +// ValidateBasic returns ValidateBasic result of this proposal. +func (p *RevokeStorkPublisherPrivilegeProposal) ValidateBasic() error { + for _, publisher := range p.StorkPublishers { + if !common.IsHexAddress(publisher) { + return fmt.Errorf("invalid publisher address: %s", publisher) + } + } + + return nil +} diff --git a/chain/oracle/types/proposal.pb.go b/chain/oracle/types/proposal.pb.go index 78b86f96..ee61f7b4 100644 --- a/chain/oracle/types/proposal.pb.go +++ b/chain/oracle/types/proposal.pb.go @@ -384,6 +384,84 @@ func (m *EnableBandIBCProposal) XXX_DiscardUnknown() { var xxx_messageInfo_EnableBandIBCProposal proto.InternalMessageInfo +type GrantStorkPublisherPrivilegeProposal 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"` + StorkPublishers []string `protobuf:"bytes,3,rep,name=stork_publishers,json=storkPublishers,proto3" json:"stork_publishers,omitempty"` +} + +func (m *GrantStorkPublisherPrivilegeProposal) Reset() { *m = GrantStorkPublisherPrivilegeProposal{} } +func (m *GrantStorkPublisherPrivilegeProposal) String() string { return proto.CompactTextString(m) } +func (*GrantStorkPublisherPrivilegeProposal) ProtoMessage() {} +func (*GrantStorkPublisherPrivilegeProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_c5a187f865fd0c5b, []int{9} +} +func (m *GrantStorkPublisherPrivilegeProposal) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *GrantStorkPublisherPrivilegeProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_GrantStorkPublisherPrivilegeProposal.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 *GrantStorkPublisherPrivilegeProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_GrantStorkPublisherPrivilegeProposal.Merge(m, src) +} +func (m *GrantStorkPublisherPrivilegeProposal) XXX_Size() int { + return m.Size() +} +func (m *GrantStorkPublisherPrivilegeProposal) XXX_DiscardUnknown() { + xxx_messageInfo_GrantStorkPublisherPrivilegeProposal.DiscardUnknown(m) +} + +var xxx_messageInfo_GrantStorkPublisherPrivilegeProposal proto.InternalMessageInfo + +type RevokeStorkPublisherPrivilegeProposal 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"` + StorkPublishers []string `protobuf:"bytes,3,rep,name=stork_publishers,json=storkPublishers,proto3" json:"stork_publishers,omitempty"` +} + +func (m *RevokeStorkPublisherPrivilegeProposal) Reset() { *m = RevokeStorkPublisherPrivilegeProposal{} } +func (m *RevokeStorkPublisherPrivilegeProposal) String() string { return proto.CompactTextString(m) } +func (*RevokeStorkPublisherPrivilegeProposal) ProtoMessage() {} +func (*RevokeStorkPublisherPrivilegeProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_c5a187f865fd0c5b, []int{10} +} +func (m *RevokeStorkPublisherPrivilegeProposal) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RevokeStorkPublisherPrivilegeProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RevokeStorkPublisherPrivilegeProposal.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 *RevokeStorkPublisherPrivilegeProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_RevokeStorkPublisherPrivilegeProposal.Merge(m, src) +} +func (m *RevokeStorkPublisherPrivilegeProposal) XXX_Size() int { + return m.Size() +} +func (m *RevokeStorkPublisherPrivilegeProposal) XXX_DiscardUnknown() { + xxx_messageInfo_RevokeStorkPublisherPrivilegeProposal.DiscardUnknown(m) +} + +var xxx_messageInfo_RevokeStorkPublisherPrivilegeProposal proto.InternalMessageInfo + func init() { proto.RegisterType((*GrantBandOraclePrivilegeProposal)(nil), "injective.oracle.v1beta1.GrantBandOraclePrivilegeProposal") proto.RegisterType((*RevokeBandOraclePrivilegeProposal)(nil), "injective.oracle.v1beta1.RevokeBandOraclePrivilegeProposal") @@ -394,6 +472,8 @@ func init() { proto.RegisterType((*AuthorizeBandOracleRequestProposal)(nil), "injective.oracle.v1beta1.AuthorizeBandOracleRequestProposal") proto.RegisterType((*UpdateBandOracleRequestProposal)(nil), "injective.oracle.v1beta1.UpdateBandOracleRequestProposal") proto.RegisterType((*EnableBandIBCProposal)(nil), "injective.oracle.v1beta1.EnableBandIBCProposal") + proto.RegisterType((*GrantStorkPublisherPrivilegeProposal)(nil), "injective.oracle.v1beta1.GrantStorkPublisherPrivilegeProposal") + proto.RegisterType((*RevokeStorkPublisherPrivilegeProposal)(nil), "injective.oracle.v1beta1.RevokeStorkPublisherPrivilegeProposal") } func init() { @@ -401,49 +481,54 @@ func init() { } var fileDescriptor_c5a187f865fd0c5b = []byte{ - // 671 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x96, 0xcf, 0x6e, 0xd3, 0x4e, - 0x10, 0xc7, 0xb3, 0x6d, 0xfa, 0xfb, 0xb5, 0x5b, 0x21, 0xc0, 0xb4, 0x52, 0x88, 0x90, 0x93, 0x5a, - 0x2a, 0x2d, 0x7f, 0x6a, 0xab, 0x70, 0xeb, 0x8d, 0x54, 0x50, 0x45, 0x54, 0x22, 0x18, 0x7a, 0xe1, - 0x62, 0xad, 0xed, 0x21, 0x5d, 0x70, 0xbc, 0xee, 0x7a, 0x13, 0xa9, 0x3c, 0x01, 0xe2, 0xc4, 0x23, - 0xf4, 0x11, 0x38, 0x70, 0xe3, 0x05, 0xaa, 0x8a, 0x43, 0x8f, 0x9c, 0x10, 0x4a, 0x91, 0xe0, 0xc6, - 0x0d, 0x71, 0x03, 0x65, 0x77, 0x1d, 0x9a, 0x42, 0x9a, 0xd0, 0x96, 0x3f, 0x97, 0xc8, 0x33, 0xf3, - 0xdd, 0x99, 0xf9, 0x4c, 0xc6, 0xc9, 0xe2, 0x39, 0x1a, 0x3f, 0x82, 0x40, 0xd0, 0x16, 0x38, 0x8c, - 0x93, 0x20, 0x02, 0xa7, 0xb5, 0xe8, 0x83, 0x20, 0x8b, 0x4e, 0xc2, 0x59, 0xc2, 0x52, 0x12, 0xd9, - 0x09, 0x67, 0x82, 0x19, 0x85, 0xae, 0xd0, 0x56, 0x42, 0x5b, 0x0b, 0x8b, 0x66, 0xc0, 0xd2, 0x06, - 0x4b, 0x1d, 0x9f, 0xa4, 0xdf, 0x4f, 0x07, 0x8c, 0xc6, 0xea, 0x64, 0xf1, 0xbc, 0x8a, 0x7b, 0xd2, - 0x72, 0x94, 0xa1, 0x43, 0x53, 0x75, 0x56, 0x67, 0xca, 0xdf, 0x79, 0xd2, 0xde, 0xd9, 0xbe, 0x3d, - 0xe9, 0xca, 0x4a, 0x76, 0x96, 0x34, 0x68, 0xcc, 0x1c, 0xf9, 0xa9, 0x5c, 0xd6, 0x0e, 0xc2, 0xe5, - 0x15, 0x4e, 0x62, 0x51, 0x21, 0x71, 0x78, 0x47, 0x8a, 0x6b, 0x9c, 0xb6, 0x68, 0x04, 0x75, 0xa8, - 0x69, 0x1e, 0x63, 0x0a, 0x8f, 0x09, 0x2a, 0x22, 0x28, 0xa0, 0x32, 0x9a, 0x9f, 0x70, 0x95, 0x61, - 0x94, 0xf1, 0x64, 0x08, 0x69, 0xc0, 0x69, 0x22, 0x28, 0x8b, 0x0b, 0x23, 0x32, 0xb6, 0xdf, 0x65, - 0x14, 0xf1, 0x38, 0x87, 0x88, 0x6c, 0x02, 0x4f, 0x0b, 0xa3, 0xe5, 0xd1, 0xf9, 0x09, 0xb7, 0x6b, - 0x2f, 0xb9, 0x4f, 0xb7, 0x4a, 0xb9, 0x8f, 0x5b, 0xa5, 0xdc, 0xce, 0xcb, 0x85, 0xa2, 0x46, 0xac, - 0xb3, 0x56, 0x36, 0x23, 0x7b, 0x99, 0xc5, 0x02, 0x62, 0xf1, 0xec, 0xc3, 0x8b, 0xcb, 0x73, 0x9a, - 0x69, 0x50, 0x9f, 0xd6, 0x6b, 0x84, 0x67, 0x5c, 0x68, 0xb1, 0xc7, 0xf0, 0xa7, 0x69, 0xee, 0x0d, - 0x4f, 0x33, 0xaf, 0x69, 0x06, 0x36, 0x6a, 0x7d, 0x46, 0x78, 0x46, 0x32, 0xd7, 0x38, 0x0d, 0xe0, - 0x16, 0x40, 0x08, 0xfc, 0xe4, 0x70, 0x0c, 0x9c, 0xef, 0xec, 0x5f, 0x61, 0x54, 0x86, 0xe4, 0x73, - 0x27, 0xd7, 0x46, 0x93, 0x09, 0x28, 0xe4, 0x55, 0x2e, 0x69, 0xf4, 0x80, 0x8f, 0x1d, 0x1f, 0x7c, - 0x20, 0x92, 0xd5, 0x46, 0xd8, 0xd4, 0x2a, 0xd6, 0xa2, 0x27, 0x4a, 0x5d, 0xc4, 0xe3, 0x89, 0x4e, - 0xaa, 0xc9, 0xbb, 0x76, 0x0f, 0x67, 0xfe, 0x00, 0x67, 0x6d, 0x78, 0xce, 0xd9, 0x5e, 0xce, 0x3e, - 0x04, 0xd6, 0x7b, 0x84, 0x4b, 0x6a, 0x07, 0xfe, 0x1e, 0xe5, 0xc1, 0x6f, 0xf3, 0xee, 0xf0, 0x94, - 0x17, 0x7b, 0xd6, 0xb8, 0x3f, 0xe6, 0x17, 0x84, 0xad, 0x4c, 0xf3, 0xcf, 0x6e, 0xf1, 0xfd, 0xe1, - 0xb9, 0x2f, 0x1d, 0xe0, 0x3e, 0x64, 0x8d, 0xbf, 0x22, 0x6c, 0xdd, 0x68, 0x8a, 0x75, 0xc6, 0xe9, - 0x93, 0x7d, 0x2f, 0xba, 0x0b, 0x1b, 0x4d, 0x48, 0xc5, 0xb1, 0xd1, 0x6f, 0xe3, 0xff, 0xb9, 0x4a, - 0x25, 0xe9, 0x27, 0xaf, 0x5d, 0xb1, 0xfb, 0xfd, 0xe3, 0xd8, 0x3f, 0x54, 0xaf, 0xe4, 0xb7, 0xdf, - 0x96, 0x72, 0x6e, 0x96, 0xe1, 0x28, 0x13, 0x18, 0x8c, 0x66, 0xbd, 0x1a, 0xc1, 0xa5, 0xb5, 0x24, - 0x24, 0xe2, 0x37, 0xe0, 0x5f, 0xc5, 0x46, 0x08, 0x11, 0x08, 0xf0, 0x34, 0x83, 0x47, 0x43, 0xf5, - 0xc3, 0x9c, 0x77, 0xcf, 0xa8, 0x88, 0x2e, 0x55, 0x0d, 0x53, 0xc3, 0xc3, 0xd3, 0x4d, 0xd9, 0x88, - 0xa7, 0xba, 0xcf, 0x0e, 0xc9, 0x1d, 0xf9, 0xb5, 0xd1, 0xb9, 0xe7, 0x54, 0xa6, 0x1e, 0xe7, 0x51, - 0x5e, 0x9d, 0x01, 0x93, 0xb1, 0x3e, 0x21, 0x3c, 0x7d, 0x33, 0x26, 0x7e, 0x24, 0x35, 0xd5, 0xca, - 0xf2, 0xb1, 0x67, 0xb6, 0x86, 0x4f, 0xfb, 0x24, 0x0e, 0x3d, 0xea, 0x07, 0x5e, 0x42, 0x38, 0x69, - 0xa4, 0x7a, 0x75, 0xe6, 0x0e, 0xe7, 0xef, 0xd4, 0x96, 0x72, 0xbd, 0x36, 0xa7, 0x3a, 0x59, 0xaa, - 0x7e, 0xa0, 0x9c, 0x4b, 0x2b, 0xc3, 0xb3, 0x5f, 0xd0, 0xec, 0x3f, 0xe5, 0xaa, 0x3c, 0xdc, 0x6e, - 0x9b, 0x68, 0xb7, 0x6d, 0xa2, 0x77, 0x6d, 0x13, 0x3d, 0xdf, 0x33, 0x73, 0xbb, 0x7b, 0x66, 0xee, - 0xcd, 0x9e, 0x99, 0x7b, 0xb0, 0x5a, 0xa7, 0x62, 0xbd, 0xe9, 0xdb, 0x01, 0x6b, 0x38, 0xd5, 0xac, - 0xd5, 0x55, 0xe2, 0xa7, 0x4e, 0xb7, 0xf1, 0x85, 0x80, 0x71, 0xd8, 0x6f, 0xae, 0x13, 0x1a, 0x3b, - 0x0d, 0x16, 0x36, 0x23, 0x48, 0xb3, 0x7b, 0x91, 0xd8, 0x4c, 0x20, 0xf5, 0xff, 0x93, 0x97, 0x9f, - 0xeb, 0xdf, 0x02, 0x00, 0x00, 0xff, 0xff, 0xfd, 0xa0, 0xb4, 0x57, 0xcc, 0x09, 0x00, 0x00, + // 739 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x96, 0x41, 0x4f, 0x13, 0x5b, + 0x14, 0xc7, 0x7b, 0xa1, 0xbc, 0x07, 0x97, 0xbc, 0xc0, 0xeb, 0x83, 0xa4, 0xaf, 0x31, 0xd3, 0x32, + 0x11, 0x01, 0x81, 0x4e, 0xd0, 0x1d, 0x3b, 0x4b, 0x94, 0x34, 0x92, 0x58, 0x07, 0xd1, 0xc4, 0xcd, + 0xe4, 0xce, 0xcc, 0xb5, 0xbd, 0x32, 0x9d, 0x3b, 0xdc, 0x7b, 0xdb, 0x04, 0x3f, 0x81, 0x71, 0xe5, + 0x47, 0xe0, 0x23, 0xb8, 0x70, 0xe7, 0x17, 0x20, 0xc4, 0x05, 0x4b, 0x57, 0x46, 0x5b, 0x13, 0xdd, + 0xb9, 0x33, 0xee, 0x34, 0xbd, 0xf7, 0x4e, 0x6d, 0xd1, 0xd2, 0x0a, 0xa8, 0x6c, 0x9a, 0x39, 0xe7, + 0x9e, 0x39, 0xe7, 0xfc, 0x4e, 0xff, 0x73, 0x66, 0xe0, 0x1c, 0x09, 0x1f, 0x62, 0x4f, 0x90, 0x3a, + 0xb6, 0x28, 0x43, 0x5e, 0x80, 0xad, 0xfa, 0x8a, 0x8b, 0x05, 0x5a, 0xb1, 0x22, 0x46, 0x23, 0xca, + 0x51, 0x90, 0x8f, 0x18, 0x15, 0x34, 0x95, 0x6e, 0x07, 0xe6, 0x55, 0x60, 0x5e, 0x07, 0x66, 0x0c, + 0x8f, 0xf2, 0x2a, 0xe5, 0x96, 0x8b, 0xf8, 0xb7, 0xbb, 0x3d, 0x4a, 0x42, 0x75, 0x67, 0xe6, 0x7f, + 0x75, 0xee, 0x48, 0xcb, 0x52, 0x86, 0x3e, 0x9a, 0x2a, 0xd3, 0x32, 0x55, 0xfe, 0xd6, 0x95, 0xf6, + 0xce, 0xf6, 0xec, 0x49, 0x57, 0x56, 0x61, 0xff, 0xa2, 0x2a, 0x09, 0xa9, 0x25, 0x7f, 0x95, 0xcb, + 0x3c, 0x00, 0x30, 0xb7, 0xce, 0x50, 0x28, 0x0a, 0x28, 0xf4, 0x6f, 0xc9, 0xe0, 0x12, 0x23, 0x75, + 0x12, 0xe0, 0x32, 0x2e, 0x69, 0x9e, 0xd4, 0x14, 0x1c, 0x11, 0x44, 0x04, 0x38, 0x0d, 0x72, 0x60, + 0x7e, 0xcc, 0x56, 0x46, 0x2a, 0x07, 0xc7, 0x7d, 0xcc, 0x3d, 0x46, 0x22, 0x41, 0x68, 0x98, 0x1e, + 0x92, 0x67, 0x9d, 0xae, 0x54, 0x06, 0x8e, 0x32, 0x1c, 0xa0, 0x5d, 0xcc, 0x78, 0x7a, 0x38, 0x37, + 0x3c, 0x3f, 0x66, 0xb7, 0xed, 0x55, 0xfb, 0xf1, 0x5e, 0x36, 0xf1, 0x61, 0x2f, 0x9b, 0x38, 0x78, + 0xbe, 0x9c, 0xd1, 0x88, 0x65, 0x5a, 0x8f, 0x67, 0x94, 0x5f, 0xa3, 0xa1, 0xc0, 0xa1, 0x78, 0xf2, + 0xfe, 0xd9, 0xe5, 0x39, 0xcd, 0xd4, 0xaf, 0x4f, 0xf3, 0x25, 0x80, 0x33, 0x36, 0xae, 0xd3, 0x6d, + 0xfc, 0xbb, 0x69, 0x36, 0x07, 0xa7, 0x99, 0xd7, 0x34, 0x7d, 0x1b, 0x35, 0x3f, 0x01, 0x38, 0x23, + 0x99, 0x4b, 0x8c, 0x78, 0xf8, 0x06, 0xc6, 0x3e, 0x66, 0x67, 0x87, 0x93, 0x82, 0xc9, 0x96, 0xfe, + 0xd2, 0xc3, 0xf2, 0x48, 0x5e, 0xb7, 0x72, 0xed, 0xd4, 0xa8, 0xc0, 0xe9, 0xa4, 0xca, 0x25, 0x8d, + 0x2e, 0xf0, 0x91, 0xd3, 0x83, 0xf7, 0x45, 0x32, 0x1b, 0x00, 0x1a, 0x3a, 0x8a, 0xd6, 0xc9, 0x99, + 0x52, 0x67, 0xe0, 0x68, 0xa4, 0x93, 0x6a, 0xf2, 0xb6, 0xdd, 0xc5, 0x99, 0x3c, 0xc2, 0x59, 0x1a, + 0x9c, 0x73, 0xb6, 0x9b, 0xb3, 0x07, 0x81, 0xf9, 0x0e, 0xc0, 0xac, 0xd2, 0xc0, 0x9f, 0xa3, 0x3c, + 0xfa, 0x6f, 0xde, 0x1e, 0x9c, 0xf2, 0x52, 0x97, 0x8c, 0x7b, 0x63, 0x7e, 0x06, 0xd0, 0x8c, 0x63, + 0xce, 0xad, 0x8a, 0xef, 0x0c, 0xce, 0xbd, 0x70, 0x84, 0xfb, 0x18, 0x19, 0x7f, 0x01, 0xd0, 0xbc, + 0x56, 0x13, 0x15, 0xca, 0xc8, 0xa3, 0x8e, 0x07, 0xdd, 0xc6, 0x3b, 0x35, 0xcc, 0xc5, 0xa9, 0xd1, + 0x6f, 0xc2, 0xbf, 0x99, 0x4a, 0x25, 0xe9, 0xc7, 0xaf, 0x2c, 0xe6, 0x7b, 0xbd, 0x71, 0xf2, 0xdf, + 0x55, 0x2f, 0x24, 0xf7, 0x5f, 0x67, 0x13, 0x76, 0x9c, 0xe1, 0x24, 0x13, 0xe8, 0x8f, 0x66, 0xbe, + 0x18, 0x82, 0xd9, 0xad, 0xc8, 0x47, 0xe2, 0x17, 0xe0, 0x2f, 0xc1, 0x94, 0x8f, 0x03, 0x2c, 0xb0, + 0xa3, 0x19, 0x1c, 0xe2, 0xab, 0xc5, 0x9c, 0xb4, 0x27, 0xd5, 0x89, 0x2e, 0x55, 0xf4, 0x79, 0xca, + 0x81, 0xd3, 0x35, 0xd9, 0x88, 0xa3, 0xba, 0x8f, 0x6f, 0x92, 0x1a, 0xf9, 0xb9, 0xd1, 0xd9, 0xff, + 0xa9, 0x4c, 0x5d, 0xce, 0x93, 0x3c, 0x3a, 0x7d, 0x26, 0x63, 0x7e, 0x04, 0x70, 0xfa, 0x7a, 0x88, + 0xdc, 0x40, 0xc6, 0x14, 0x0b, 0x6b, 0xa7, 0x9e, 0xd9, 0x16, 0x9c, 0x70, 0x51, 0xe8, 0x3b, 0xc4, + 0xf5, 0x9c, 0x08, 0x31, 0x54, 0xe5, 0x5a, 0x3a, 0x73, 0xc7, 0xf3, 0xb7, 0x6a, 0xcb, 0x70, 0x2d, + 0x9b, 0x7f, 0x5a, 0x59, 0x8a, 0xae, 0xa7, 0x9c, 0xab, 0xeb, 0x83, 0xb3, 0x5f, 0xd0, 0xec, 0x3f, + 0xe4, 0x32, 0xdf, 0x02, 0x78, 0x51, 0xae, 0xcd, 0x4d, 0x41, 0xd9, 0x76, 0xa9, 0xe6, 0x06, 0x84, + 0x57, 0xce, 0x72, 0x5d, 0x2c, 0xc0, 0x49, 0xde, 0x4a, 0xed, 0x44, 0x71, 0xee, 0xf8, 0x5d, 0x3e, + 0xc1, 0xbb, 0x4a, 0xf2, 0xd5, 0xbb, 0x83, 0x43, 0x2d, 0x76, 0x6e, 0xfc, 0x3e, 0xad, 0x9b, 0x4d, + 0x00, 0x67, 0xd5, 0xf2, 0x38, 0x07, 0x90, 0xf7, 0x06, 0x87, 0x5c, 0xea, 0x5a, 0x7c, 0x7d, 0x7a, + 0x2f, 0x3c, 0xd8, 0x6f, 0x18, 0xe0, 0xb0, 0x61, 0x80, 0x37, 0x0d, 0x03, 0x3c, 0x6d, 0x1a, 0x89, + 0xc3, 0xa6, 0x91, 0x78, 0xd5, 0x34, 0x12, 0xf7, 0x37, 0xca, 0x44, 0x54, 0x6a, 0x6e, 0xde, 0xa3, + 0x55, 0xab, 0x18, 0x8b, 0x6e, 0x03, 0xb9, 0xdc, 0x6a, 0x4b, 0x70, 0xd9, 0xa3, 0x0c, 0x77, 0x9a, + 0x15, 0x44, 0x42, 0xab, 0x4a, 0xfd, 0x5a, 0x80, 0x79, 0xfc, 0x85, 0x2b, 0x76, 0x23, 0xcc, 0xdd, + 0xbf, 0xe4, 0x67, 0xec, 0xd5, 0xaf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x1f, 0x49, 0x54, 0x14, 0x96, + 0x0b, 0x00, 0x00, } func (m *GrantBandOraclePrivilegeProposal) Marshal() (dAtA []byte, err error) { @@ -925,6 +1010,98 @@ func (m *EnableBandIBCProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *GrantStorkPublisherPrivilegeProposal) 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 *GrantStorkPublisherPrivilegeProposal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *GrantStorkPublisherPrivilegeProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.StorkPublishers) > 0 { + for iNdEx := len(m.StorkPublishers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.StorkPublishers[iNdEx]) + copy(dAtA[i:], m.StorkPublishers[iNdEx]) + i = encodeVarintProposal(dAtA, i, uint64(len(m.StorkPublishers[iNdEx]))) + 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 *RevokeStorkPublisherPrivilegeProposal) 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 *RevokeStorkPublisherPrivilegeProposal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RevokeStorkPublisherPrivilegeProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.StorkPublishers) > 0 { + for iNdEx := len(m.StorkPublishers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.StorkPublishers[iNdEx]) + copy(dAtA[i:], m.StorkPublishers[iNdEx]) + i = encodeVarintProposal(dAtA, i, uint64(len(m.StorkPublishers[iNdEx]))) + 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 @@ -1164,6 +1341,52 @@ func (m *EnableBandIBCProposal) Size() (n int) { return n } +func (m *GrantStorkPublisherPrivilegeProposal) 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)) + } + if len(m.StorkPublishers) > 0 { + for _, s := range m.StorkPublishers { + l = len(s) + n += 1 + l + sovProposal(uint64(l)) + } + } + return n +} + +func (m *RevokeStorkPublisherPrivilegeProposal) 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)) + } + if len(m.StorkPublishers) > 0 { + for _, s := range m.StorkPublishers { + l = len(s) + n += 1 + l + sovProposal(uint64(l)) + } + } + return n +} + func sovProposal(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -2758,6 +2981,298 @@ func (m *EnableBandIBCProposal) Unmarshal(dAtA []byte) error { } return nil } +func (m *GrantStorkPublisherPrivilegeProposal) 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: GrantStorkPublisherPrivilegeProposal: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GrantStorkPublisherPrivilegeProposal: 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 StorkPublishers", 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.StorkPublishers = append(m.StorkPublishers, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipProposal(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthProposal + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RevokeStorkPublisherPrivilegeProposal) 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: RevokeStorkPublisherPrivilegeProposal: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RevokeStorkPublisherPrivilegeProposal: 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 StorkPublishers", 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.StorkPublishers = append(m.StorkPublishers, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipProposal(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (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 diff --git a/chain/oracle/types/query.pb.go b/chain/oracle/types/query.pb.go index 38a42c17..09773598 100644 --- a/chain/oracle/types/query.pb.go +++ b/chain/oracle/types/query.pb.go @@ -706,6 +706,174 @@ func (m *QueryPythPriceStatesResponse) GetPriceStates() []*PythPriceState { return nil } +// QueryStorkPriceStatesRequest is the request type for the +// Query/StorkPriceStates RPC method. +type QueryStorkPriceStatesRequest struct { +} + +func (m *QueryStorkPriceStatesRequest) Reset() { *m = QueryStorkPriceStatesRequest{} } +func (m *QueryStorkPriceStatesRequest) String() string { return proto.CompactTextString(m) } +func (*QueryStorkPriceStatesRequest) ProtoMessage() {} +func (*QueryStorkPriceStatesRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_52f5d6f9962923ad, []int{16} +} +func (m *QueryStorkPriceStatesRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryStorkPriceStatesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryStorkPriceStatesRequest.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 *QueryStorkPriceStatesRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryStorkPriceStatesRequest.Merge(m, src) +} +func (m *QueryStorkPriceStatesRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryStorkPriceStatesRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryStorkPriceStatesRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryStorkPriceStatesRequest proto.InternalMessageInfo + +// QueryStorkPriceStatesResponse is the response type for the +// Query/StorkPriceStates RPC method. +type QueryStorkPriceStatesResponse struct { + PriceStates []*StorkPriceState `protobuf:"bytes,1,rep,name=price_states,json=priceStates,proto3" json:"price_states,omitempty"` +} + +func (m *QueryStorkPriceStatesResponse) Reset() { *m = QueryStorkPriceStatesResponse{} } +func (m *QueryStorkPriceStatesResponse) String() string { return proto.CompactTextString(m) } +func (*QueryStorkPriceStatesResponse) ProtoMessage() {} +func (*QueryStorkPriceStatesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_52f5d6f9962923ad, []int{17} +} +func (m *QueryStorkPriceStatesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryStorkPriceStatesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryStorkPriceStatesResponse.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 *QueryStorkPriceStatesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryStorkPriceStatesResponse.Merge(m, src) +} +func (m *QueryStorkPriceStatesResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryStorkPriceStatesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryStorkPriceStatesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryStorkPriceStatesResponse proto.InternalMessageInfo + +func (m *QueryStorkPriceStatesResponse) GetPriceStates() []*StorkPriceState { + if m != nil { + return m.PriceStates + } + return nil +} + +// QueryStorkPublishersRequest is the request type for the +// Query/StorkPublishers RPC method. +type QueryStorkPublishersRequest struct { +} + +func (m *QueryStorkPublishersRequest) Reset() { *m = QueryStorkPublishersRequest{} } +func (m *QueryStorkPublishersRequest) String() string { return proto.CompactTextString(m) } +func (*QueryStorkPublishersRequest) ProtoMessage() {} +func (*QueryStorkPublishersRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_52f5d6f9962923ad, []int{18} +} +func (m *QueryStorkPublishersRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryStorkPublishersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryStorkPublishersRequest.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 *QueryStorkPublishersRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryStorkPublishersRequest.Merge(m, src) +} +func (m *QueryStorkPublishersRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryStorkPublishersRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryStorkPublishersRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryStorkPublishersRequest proto.InternalMessageInfo + +// QueryStorkPublishersResponse is the response type for the +// Query/StorkPublishers RPC method. +type QueryStorkPublishersResponse struct { + Publishers []string `protobuf:"bytes,1,rep,name=publishers,proto3" json:"publishers,omitempty"` +} + +func (m *QueryStorkPublishersResponse) Reset() { *m = QueryStorkPublishersResponse{} } +func (m *QueryStorkPublishersResponse) String() string { return proto.CompactTextString(m) } +func (*QueryStorkPublishersResponse) ProtoMessage() {} +func (*QueryStorkPublishersResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_52f5d6f9962923ad, []int{19} +} +func (m *QueryStorkPublishersResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryStorkPublishersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryStorkPublishersResponse.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 *QueryStorkPublishersResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryStorkPublishersResponse.Merge(m, src) +} +func (m *QueryStorkPublishersResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryStorkPublishersResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryStorkPublishersResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryStorkPublishersResponse proto.InternalMessageInfo + +func (m *QueryStorkPublishersResponse) GetPublishers() []string { + if m != nil { + return m.Publishers + } + return nil +} + // QueryProviderPriceStateRequest is the request type for the // Query/ProviderPriceState RPC method. type QueryProviderPriceStateRequest struct { @@ -717,7 +885,7 @@ func (m *QueryProviderPriceStateRequest) Reset() { *m = QueryProviderPri func (m *QueryProviderPriceStateRequest) String() string { return proto.CompactTextString(m) } func (*QueryProviderPriceStateRequest) ProtoMessage() {} func (*QueryProviderPriceStateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{16} + return fileDescriptor_52f5d6f9962923ad, []int{20} } func (m *QueryProviderPriceStateRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -770,7 +938,7 @@ func (m *QueryProviderPriceStateResponse) Reset() { *m = QueryProviderPr func (m *QueryProviderPriceStateResponse) String() string { return proto.CompactTextString(m) } func (*QueryProviderPriceStateResponse) ProtoMessage() {} func (*QueryProviderPriceStateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{17} + return fileDescriptor_52f5d6f9962923ad, []int{21} } func (m *QueryProviderPriceStateResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -815,7 +983,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_52f5d6f9962923ad, []int{18} + return fileDescriptor_52f5d6f9962923ad, []int{22} } func (m *QueryModuleStateRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -854,7 +1022,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_52f5d6f9962923ad, []int{19} + return fileDescriptor_52f5d6f9962923ad, []int{23} } func (m *QueryModuleStateResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -899,7 +1067,7 @@ func (m *QueryHistoricalPriceRecordsRequest) Reset() { *m = QueryHistori func (m *QueryHistoricalPriceRecordsRequest) String() string { return proto.CompactTextString(m) } func (*QueryHistoricalPriceRecordsRequest) ProtoMessage() {} func (*QueryHistoricalPriceRecordsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{20} + return fileDescriptor_52f5d6f9962923ad, []int{24} } func (m *QueryHistoricalPriceRecordsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -950,7 +1118,7 @@ func (m *QueryHistoricalPriceRecordsResponse) Reset() { *m = QueryHistor func (m *QueryHistoricalPriceRecordsResponse) String() string { return proto.CompactTextString(m) } func (*QueryHistoricalPriceRecordsResponse) ProtoMessage() {} func (*QueryHistoricalPriceRecordsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{21} + return fileDescriptor_52f5d6f9962923ad, []int{25} } func (m *QueryHistoricalPriceRecordsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1003,7 +1171,7 @@ func (m *OracleHistoryOptions) Reset() { *m = OracleHistoryOptions{} } func (m *OracleHistoryOptions) String() string { return proto.CompactTextString(m) } func (*OracleHistoryOptions) ProtoMessage() {} func (*OracleHistoryOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{22} + return fileDescriptor_52f5d6f9962923ad, []int{26} } func (m *OracleHistoryOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1065,7 +1233,7 @@ func (m *QueryOracleVolatilityRequest) Reset() { *m = QueryOracleVolatil func (m *QueryOracleVolatilityRequest) String() string { return proto.CompactTextString(m) } func (*QueryOracleVolatilityRequest) ProtoMessage() {} func (*QueryOracleVolatilityRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{23} + return fileDescriptor_52f5d6f9962923ad, []int{27} } func (m *QueryOracleVolatilityRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1127,7 +1295,7 @@ func (m *QueryOracleVolatilityResponse) Reset() { *m = QueryOracleVolati func (m *QueryOracleVolatilityResponse) String() string { return proto.CompactTextString(m) } func (*QueryOracleVolatilityResponse) ProtoMessage() {} func (*QueryOracleVolatilityResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{24} + return fileDescriptor_52f5d6f9962923ad, []int{28} } func (m *QueryOracleVolatilityResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1177,7 +1345,7 @@ func (m *QueryOracleProvidersInfoRequest) Reset() { *m = QueryOracleProv func (m *QueryOracleProvidersInfoRequest) String() string { return proto.CompactTextString(m) } func (*QueryOracleProvidersInfoRequest) ProtoMessage() {} func (*QueryOracleProvidersInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{25} + return fileDescriptor_52f5d6f9962923ad, []int{29} } func (m *QueryOracleProvidersInfoRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1214,7 +1382,7 @@ func (m *QueryOracleProvidersInfoResponse) Reset() { *m = QueryOraclePro func (m *QueryOracleProvidersInfoResponse) String() string { return proto.CompactTextString(m) } func (*QueryOracleProvidersInfoResponse) ProtoMessage() {} func (*QueryOracleProvidersInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{26} + return fileDescriptor_52f5d6f9962923ad, []int{30} } func (m *QueryOracleProvidersInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1258,7 +1426,7 @@ func (m *QueryOracleProviderPricesRequest) Reset() { *m = QueryOraclePro func (m *QueryOracleProviderPricesRequest) String() string { return proto.CompactTextString(m) } func (*QueryOracleProviderPricesRequest) ProtoMessage() {} func (*QueryOracleProviderPricesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{27} + return fileDescriptor_52f5d6f9962923ad, []int{31} } func (m *QueryOracleProviderPricesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1302,7 +1470,7 @@ func (m *QueryOracleProviderPricesResponse) Reset() { *m = QueryOraclePr func (m *QueryOracleProviderPricesResponse) String() string { return proto.CompactTextString(m) } func (*QueryOracleProviderPricesResponse) ProtoMessage() {} func (*QueryOracleProviderPricesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{28} + return fileDescriptor_52f5d6f9962923ad, []int{32} } func (m *QueryOracleProviderPricesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1350,7 +1518,7 @@ func (m *ScalingOptions) Reset() { *m = ScalingOptions{} } func (m *ScalingOptions) String() string { return proto.CompactTextString(m) } func (*ScalingOptions) ProtoMessage() {} func (*ScalingOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{29} + return fileDescriptor_52f5d6f9962923ad, []int{33} } func (m *ScalingOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1406,7 +1574,7 @@ func (m *QueryOraclePriceRequest) Reset() { *m = QueryOraclePriceRequest func (m *QueryOraclePriceRequest) String() string { return proto.CompactTextString(m) } func (*QueryOraclePriceRequest) ProtoMessage() {} func (*QueryOraclePriceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{30} + return fileDescriptor_52f5d6f9962923ad, []int{34} } func (m *QueryOraclePriceRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1477,7 +1645,7 @@ func (m *PricePairState) Reset() { *m = PricePairState{} } func (m *PricePairState) String() string { return proto.CompactTextString(m) } func (*PricePairState) ProtoMessage() {} func (*PricePairState) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{31} + return fileDescriptor_52f5d6f9962923ad, []int{35} } func (m *PricePairState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1530,7 +1698,7 @@ func (m *QueryOraclePriceResponse) Reset() { *m = QueryOraclePriceRespon func (m *QueryOraclePriceResponse) String() string { return proto.CompactTextString(m) } func (*QueryOraclePriceResponse) ProtoMessage() {} func (*QueryOraclePriceResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{32} + return fileDescriptor_52f5d6f9962923ad, []int{36} } func (m *QueryOraclePriceResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1583,6 +1751,10 @@ func init() { proto.RegisterType((*QueryCoinbasePriceStatesResponse)(nil), "injective.oracle.v1beta1.QueryCoinbasePriceStatesResponse") proto.RegisterType((*QueryPythPriceStatesRequest)(nil), "injective.oracle.v1beta1.QueryPythPriceStatesRequest") proto.RegisterType((*QueryPythPriceStatesResponse)(nil), "injective.oracle.v1beta1.QueryPythPriceStatesResponse") + proto.RegisterType((*QueryStorkPriceStatesRequest)(nil), "injective.oracle.v1beta1.QueryStorkPriceStatesRequest") + proto.RegisterType((*QueryStorkPriceStatesResponse)(nil), "injective.oracle.v1beta1.QueryStorkPriceStatesResponse") + proto.RegisterType((*QueryStorkPublishersRequest)(nil), "injective.oracle.v1beta1.QueryStorkPublishersRequest") + proto.RegisterType((*QueryStorkPublishersResponse)(nil), "injective.oracle.v1beta1.QueryStorkPublishersResponse") proto.RegisterType((*QueryProviderPriceStateRequest)(nil), "injective.oracle.v1beta1.QueryProviderPriceStateRequest") proto.RegisterType((*QueryProviderPriceStateResponse)(nil), "injective.oracle.v1beta1.QueryProviderPriceStateResponse") proto.RegisterType((*QueryModuleStateRequest)(nil), "injective.oracle.v1beta1.QueryModuleStateRequest") @@ -1607,115 +1779,123 @@ func init() { } var fileDescriptor_52f5d6f9962923ad = []byte{ - // 1728 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xdd, 0x6f, 0x13, 0xc7, - 0x16, 0xcf, 0xe6, 0x8b, 0xf8, 0x98, 0x7c, 0x30, 0x31, 0x21, 0x18, 0x48, 0xc2, 0x86, 0x7c, 0x20, - 0xc0, 0x26, 0xe6, 0xde, 0x0b, 0x97, 0xcb, 0xa5, 0x22, 0x09, 0xb4, 0x69, 0x41, 0xa4, 0x0b, 0x2d, - 0x6d, 0x55, 0xc9, 0x1a, 0xaf, 0x27, 0xf6, 0x16, 0x7b, 0xc7, 0xec, 0xae, 0x03, 0x16, 0x42, 0x55, - 0xfb, 0x58, 0x55, 0x6a, 0xa5, 0xbe, 0xb6, 0xef, 0x55, 0xdf, 0xfa, 0xd0, 0x87, 0xbe, 0x56, 0xaa, - 0x44, 0xdf, 0xa8, 0xaa, 0x4a, 0x15, 0x0f, 0xa8, 0x4a, 0xfa, 0x87, 0x54, 0x3b, 0x67, 0x76, 0xe3, - 0x8d, 0x77, 0xbd, 0xeb, 0x48, 0x7d, 0xf3, 0xcc, 0x9c, 0xf3, 0x3b, 0xbf, 0x73, 0xe6, 0x9c, 0xb3, - 0x73, 0x64, 0x38, 0x63, 0x98, 0x1f, 0x31, 0xdd, 0x31, 0xb6, 0x59, 0x9e, 0x5b, 0x54, 0xaf, 0xb1, - 0xfc, 0xf6, 0x4a, 0x89, 0x39, 0x74, 0x25, 0xff, 0xa8, 0xc9, 0xac, 0x56, 0xae, 0x61, 0x71, 0x87, - 0x93, 0x69, 0x5f, 0x2a, 0x87, 0x52, 0x39, 0x29, 0x95, 0x3d, 0x59, 0xe1, 0xbc, 0x52, 0x63, 0x79, - 0xda, 0x30, 0xf2, 0xd4, 0x34, 0xb9, 0x43, 0x1d, 0x83, 0x9b, 0x36, 0xea, 0x65, 0x17, 0x22, 0xd1, - 0x25, 0x0c, 0x8a, 0x2d, 0x46, 0x8a, 0x55, 0x98, 0xc9, 0x6c, 0xc3, 0x83, 0xcb, 0x54, 0x78, 0x85, - 0x8b, 0x9f, 0x79, 0xf7, 0x17, 0xee, 0xaa, 0x05, 0x38, 0xfa, 0xb6, 0xcb, 0x75, 0xb3, 0xe5, 0x54, - 0x37, 0x2d, 0x43, 0x67, 0x1a, 0x7b, 0xd4, 0x64, 0xb6, 0x43, 0x8e, 0xc3, 0x48, 0xc3, 0x5d, 0x17, - 0x8d, 0xf2, 0xb4, 0x32, 0xa7, 0x2c, 0xa7, 0xb4, 0x43, 0x62, 0xbd, 0x51, 0x56, 0x75, 0x98, 0xda, - 0xaf, 0x63, 0x37, 0xb8, 0x69, 0x33, 0xb2, 0x01, 0x69, 0x54, 0xb2, 0x1d, 0xea, 0x30, 0xa1, 0x97, - 0x2e, 0x2c, 0xe7, 0xa2, 0x02, 0x90, 0xf3, 0x11, 0xee, 0xb9, 0xf2, 0x1a, 0x34, 0xfc, 0xdf, 0x6a, - 0x06, 0x08, 0x1a, 0xa1, 0x16, 0xad, 0xdb, 0x92, 0x95, 0xfa, 0x0e, 0x4c, 0x06, 0x76, 0xa5, 0xdd, - 0xeb, 0x30, 0xdc, 0x10, 0x3b, 0xd2, 0xe4, 0x5c, 0x17, 0x93, 0x42, 0x6e, 0x75, 0xf0, 0xf9, 0xab, - 0xd9, 0x3e, 0x4d, 0x6a, 0xa9, 0x59, 0x98, 0x16, 0xb0, 0xab, 0xd4, 0x2c, 0x6b, 0xac, 0x46, 0x5b, - 0xcc, 0xf2, 0x4d, 0x5e, 0x86, 0xe3, 0x21, 0x67, 0xd2, 0x70, 0x16, 0x46, 0x2c, 0xb9, 0x37, 0xad, - 0xcc, 0x0d, 0x2c, 0xa7, 0x34, 0x7f, 0xad, 0x9e, 0x82, 0x13, 0xbe, 0xe2, 0x9e, 0x93, 0x3e, 0xee, - 0x43, 0x38, 0x19, 0x7e, 0x2c, 0xa1, 0xdf, 0x82, 0xc3, 0x6d, 0xb1, 0x44, 0xf8, 0xae, 0xc1, 0x0c, - 0x02, 0x69, 0xe9, 0xbd, 0x60, 0xda, 0xea, 0x1c, 0xcc, 0xf8, 0xc6, 0x36, 0x56, 0xd7, 0x42, 0xe8, - 0x98, 0x30, 0x1b, 0x29, 0xf1, 0x4f, 0x30, 0x52, 0x61, 0x0e, 0x6f, 0xd2, 0xdd, 0xbb, 0xc5, 0x58, - 0x58, 0x88, 0x1a, 0x70, 0xba, 0x8b, 0xcc, 0x41, 0x59, 0xf9, 0x68, 0x21, 0xac, 0x4e, 0xcb, 0x28, - 0xac, 0x71, 0xc3, 0x2c, 0x51, 0x9b, 0x85, 0x90, 0xb2, 0x25, 0xf1, 0x50, 0x11, 0xc9, 0xe9, 0x6e, - 0x28, 0xa7, 0xf3, 0xd1, 0x9c, 0x3a, 0xc1, 0x82, 0xbc, 0xbc, 0x5c, 0x0a, 0x16, 0x4c, 0x47, 0x2e, - 0x75, 0x1c, 0x1f, 0x38, 0x46, 0xc1, 0xc2, 0x0c, 0x70, 0xb9, 0x2f, 0x73, 0x69, 0xd3, 0xe2, 0xdb, - 0x46, 0x99, 0x59, 0x6d, 0x72, 0xb2, 0x77, 0x64, 0xdd, 0xde, 0x81, 0x87, 0xb2, 0x77, 0xf8, 0x6b, - 0x32, 0x05, 0xc3, 0x76, 0xab, 0x5e, 0xe2, 0xb5, 0xe9, 0x7e, 0x71, 0x22, 0x57, 0x6a, 0x55, 0x46, - 0x3e, 0x0c, 0x55, 0x7a, 0x71, 0x33, 0xac, 0xbb, 0x9c, 0x89, 0xb9, 0xe8, 0xce, 0xce, 0x72, 0x1c, - 0x8e, 0x09, 0x4b, 0x77, 0x78, 0xb9, 0x59, 0x0b, 0x10, 0x57, 0xdf, 0x93, 0x7d, 0x20, 0x70, 0x24, - 0xad, 0x5f, 0x83, 0xa1, 0x76, 0xbb, 0x8b, 0xd1, 0x76, 0x5f, 0xc7, 0xbe, 0x8b, 0xea, 0xa8, 0xa4, - 0x7e, 0x0c, 0xaa, 0x40, 0x7e, 0xc3, 0xb0, 0x1d, 0x6e, 0x19, 0x3a, 0xad, 0xc9, 0xce, 0xa9, 0x73, - 0xab, 0xec, 0xdd, 0x23, 0xb9, 0x06, 0xc3, 0x88, 0x25, 0x8c, 0x8c, 0x75, 0x73, 0xee, 0xae, 0x58, - 0xde, 0x6f, 0x35, 0x98, 0x26, 0x75, 0xc8, 0x09, 0x48, 0x61, 0x30, 0xdd, 0x9e, 0x8d, 0xd1, 0x1d, - 0xc1, 0x8d, 0x8d, 0xb2, 0x6a, 0xc1, 0x7c, 0x57, 0x02, 0x7e, 0xa6, 0x8c, 0x62, 0x8c, 0x2d, 0x3c, - 0x90, 0xa9, 0xb2, 0x18, 0x13, 0x65, 0x0f, 0x06, 0xd3, 0x4c, 0xae, 0xd4, 0xcf, 0x14, 0xc8, 0x20, - 0x4f, 0xb4, 0xda, 0xba, 0xdb, 0x10, 0x1f, 0x38, 0x72, 0x0c, 0x0e, 0xd5, 0xe9, 0x93, 0x22, 0xad, - 0xa0, 0xa3, 0x83, 0xda, 0x70, 0x9d, 0x3e, 0xb9, 0x51, 0x61, 0x24, 0x07, 0x93, 0x86, 0xa9, 0xd7, - 0x9a, 0x65, 0x56, 0xb4, 0xe8, 0xe3, 0x62, 0x15, 0xd5, 0x84, 0x33, 0x23, 0xda, 0x11, 0x79, 0xa4, - 0xd1, 0xc7, 0x12, 0x8f, 0x9c, 0x85, 0x09, 0x4f, 0xbe, 0xce, 0x1c, 0x5a, 0xa6, 0x0e, 0x9d, 0x1e, - 0x10, 0xc2, 0xe3, 0x72, 0xff, 0x8e, 0xdc, 0x56, 0x3f, 0xef, 0x97, 0x45, 0x82, 0x8c, 0xde, 0xe5, - 0x35, 0xea, 0x18, 0x35, 0xc3, 0x69, 0x79, 0xc1, 0xbf, 0x01, 0x29, 0xb7, 0x04, 0x8b, 0x86, 0xb9, - 0xc5, 0xe3, 0x93, 0x0b, 0x51, 0x36, 0xcc, 0x2d, 0xae, 0x8d, 0xb8, 0x6a, 0xee, 0x2f, 0xb2, 0x06, - 0xf0, 0xa8, 0xc9, 0x1d, 0x89, 0xd1, 0xdf, 0x03, 0x46, 0x4a, 0xe8, 0x09, 0x90, 0x32, 0x4c, 0xa1, - 0x9c, 0xe7, 0x7e, 0x91, 0x63, 0xd8, 0x84, 0x67, 0xe9, 0x42, 0x2e, 0x0e, 0x30, 0x18, 0x6c, 0x2d, - 0xc3, 0x43, 0x76, 0xd5, 0x4f, 0xfa, 0xe1, 0x54, 0x44, 0x38, 0x64, 0x2a, 0xbc, 0x06, 0xb0, 0xed, - 0xef, 0x62, 0x1d, 0xaf, 0xce, 0xbe, 0x7c, 0x35, 0x7b, 0x42, 0xe7, 0x76, 0x9d, 0xdb, 0x76, 0xf9, - 0x61, 0xce, 0xe0, 0xf9, 0x3a, 0x75, 0xaa, 0xb9, 0xdb, 0xac, 0x42, 0xf5, 0xd6, 0x3a, 0xd3, 0xb5, - 0x36, 0x15, 0xf2, 0x00, 0x26, 0x3c, 0x0f, 0xfc, 0xcb, 0xc1, 0x98, 0x74, 0xe9, 0x84, 0xde, 0x7d, - 0xb9, 0xd5, 0x63, 0xd8, 0x8e, 0xa1, 0xdb, 0xda, 0xb8, 0x44, 0xf1, 0x8e, 0xc8, 0x2d, 0x48, 0xb7, - 0x67, 0xc7, 0x80, 0x48, 0xd1, 0x85, 0x44, 0x29, 0xaa, 0x81, 0xe5, 0x67, 0x8f, 0xdf, 0xed, 0x31, - 0x04, 0x5e, 0xe7, 0xb1, 0xc5, 0x85, 0xc8, 0x8e, 0x50, 0x95, 0xdd, 0x3e, 0x54, 0x44, 0x06, 0x6a, - 0x1d, 0x52, 0x5e, 0x7b, 0x4b, 0x54, 0x2f, 0x28, 0x8a, 0xd7, 0xee, 0x2b, 0xaa, 0xd7, 0x43, 0x2d, - 0x09, 0xea, 0x76, 0x82, 0xc6, 0xaa, 0x5a, 0xf2, 0x63, 0x19, 0xae, 0x2f, 0xa9, 0xde, 0x71, 0xcb, - 0x1b, 0x4f, 0xee, 0xc9, 0x66, 0xe6, 0xd2, 0x5d, 0x8a, 0xa7, 0x8b, 0xdd, 0x2c, 0xa8, 0xad, 0x7e, - 0x08, 0x63, 0xf7, 0x74, 0x5a, 0x33, 0xcc, 0x8a, 0x57, 0xd9, 0xf3, 0x30, 0x2a, 0x8a, 0xa8, 0xcc, - 0x74, 0xa3, 0x4e, 0x6b, 0xf8, 0x20, 0x1b, 0xd5, 0x0e, 0xbb, 0x9b, 0xeb, 0x72, 0x8f, 0x2c, 0xc0, - 0x18, 0x96, 0x89, 0x2f, 0xd5, 0x2f, 0xa4, 0x46, 0xc5, 0xae, 0x27, 0xa6, 0xee, 0x2a, 0xb2, 0x53, - 0x7b, 0x2e, 0xb5, 0x3d, 0x4f, 0x6f, 0x42, 0x5a, 0x16, 0x89, 0xd3, 0x6a, 0xf4, 0xd6, 0x2e, 0x81, - 0xfb, 0xbf, 0x09, 0x81, 0x41, 0x97, 0x99, 0xec, 0x96, 0xe2, 0x37, 0xc9, 0xc0, 0x90, 0xe0, 0x21, - 0xca, 0x2d, 0xa5, 0xe1, 0x82, 0x3c, 0x80, 0x71, 0x1b, 0x5d, 0xf5, 0xcb, 0x71, 0x30, 0xee, 0x79, - 0x1b, 0x8c, 0x8d, 0x78, 0x73, 0x2a, 0xda, 0x98, 0x1d, 0xd8, 0x55, 0x77, 0x06, 0x60, 0x4c, 0xb8, - 0xb6, 0x49, 0x0d, 0x0c, 0x2b, 0x59, 0x05, 0x68, 0x50, 0xc3, 0x2a, 0x8a, 0x66, 0x2a, 0x2b, 0x6f, - 0xde, 0x7d, 0xb0, 0xc6, 0x55, 0x5f, 0xca, 0x55, 0x13, 0x60, 0x2e, 0x86, 0xb8, 0x08, 0xc4, 0xe8, - 0xef, 0x01, 0xc3, 0x7f, 0x87, 0x90, 0x75, 0x48, 0xe3, 0x3d, 0x21, 0xc8, 0x40, 0x72, 0x10, 0x6c, - 0x83, 0x88, 0xf2, 0x00, 0x8e, 0x0a, 0x26, 0x7a, 0xb3, 0xde, 0x74, 0x7b, 0xc3, 0xb6, 0x87, 0x37, - 0x98, 0x1c, 0x6f, 0xd2, 0x45, 0x58, 0xf3, 0x01, 0x10, 0xf8, 0x7d, 0x98, 0x42, 0x7a, 0x1d, 0xc8, - 0x43, 0xc9, 0x91, 0x33, 0x02, 0x62, 0x3f, 0xf4, 0x02, 0x8c, 0x09, 0xce, 0x8e, 0x51, 0x67, 0xb6, - 0x43, 0xeb, 0x8d, 0xe9, 0xe1, 0x39, 0x65, 0x79, 0x40, 0x13, 0xc9, 0x7d, 0xdf, 0xdb, 0x24, 0x4b, - 0x30, 0x8e, 0x0c, 0xf6, 0xe4, 0x0e, 0x09, 0x39, 0xcc, 0x6f, 0x5f, 0x50, 0x35, 0xe5, 0xc3, 0x22, - 0x90, 0xc9, 0xb2, 0x26, 0x35, 0x98, 0xc0, 0x4f, 0xae, 0xb8, 0xf3, 0xa4, 0x93, 0x53, 0x20, 0x63, - 0xb4, 0xb1, 0x46, 0x60, 0x5d, 0x78, 0x79, 0x14, 0x86, 0x84, 0x41, 0xf2, 0x85, 0x02, 0xc3, 0x38, - 0xf3, 0x90, 0x2e, 0x5d, 0xb7, 0x73, 0xd4, 0xca, 0x5e, 0x48, 0x28, 0x8d, 0x5e, 0xa8, 0xcb, 0x9f, - 0xfe, 0xf6, 0xd7, 0x57, 0xfd, 0x2a, 0x99, 0xcb, 0x47, 0xce, 0xa3, 0x38, 0x6c, 0x91, 0x6f, 0x15, - 0x38, 0xdc, 0x3e, 0x4c, 0x91, 0x42, 0x8c, 0xa5, 0x90, 0xa9, 0x2c, 0x7b, 0xa9, 0x27, 0x1d, 0xc9, - 0x31, 0x2f, 0x38, 0x9e, 0x25, 0x4b, 0xd1, 0x1c, 0x4b, 0xd4, 0x2c, 0x17, 0xbd, 0x11, 0x8e, 0xfc, - 0xa0, 0xc0, 0xf8, 0xbe, 0xf9, 0x8c, 0xfc, 0x3b, 0x81, 0xe5, 0xce, 0x27, 0x7a, 0xf6, 0x3f, 0xbd, - 0xaa, 0x49, 0xce, 0x97, 0x04, 0xe7, 0x0b, 0xe4, 0x5c, 0x0c, 0xe7, 0xf6, 0xf7, 0x3d, 0xf9, 0x49, - 0x01, 0xd2, 0x39, 0xc8, 0x91, 0x2b, 0x09, 0x38, 0x84, 0x4e, 0x87, 0xd9, 0xff, 0x1e, 0x40, 0x53, - 0x3a, 0x70, 0x59, 0x38, 0xb0, 0x42, 0xf2, 0x31, 0x0e, 0x18, 0x25, 0x3d, 0xe8, 0xc4, 0x2f, 0x0a, - 0x64, 0xc2, 0x26, 0x3f, 0x72, 0x35, 0x2e, 0x33, 0xa3, 0x47, 0xca, 0xec, 0xff, 0x0e, 0xa4, 0x2b, - 0x5d, 0xb9, 0x22, 0x5c, 0x29, 0x90, 0x8b, 0x5d, 0x72, 0xdc, 0x55, 0xdb, 0x62, 0x6c, 0xdf, 0x85, - 0xfc, 0xac, 0xc0, 0x64, 0xc8, 0xc0, 0x48, 0xe2, 0xe2, 0x1a, 0x3d, 0x87, 0x66, 0xaf, 0x1e, 0x44, - 0x35, 0xf9, 0x9d, 0xe8, 0x52, 0x3d, 0xe8, 0x87, 0x5b, 0x10, 0xfb, 0x86, 0xcc, 0xd8, 0x82, 0x08, - 0x9f, 0x59, 0x63, 0x0b, 0x22, 0x62, 0x96, 0x4d, 0x52, 0x10, 0x8d, 0x96, 0x53, 0x0d, 0xf2, 0xfe, - 0x5d, 0x01, 0xd2, 0x39, 0x59, 0xc6, 0x16, 0x44, 0xe4, 0x88, 0x1b, 0x5b, 0x10, 0xd1, 0x63, 0xac, - 0xfa, 0xa6, 0x70, 0x60, 0x9d, 0xac, 0x76, 0xcb, 0x22, 0xd4, 0x6e, 0x77, 0x22, 0xff, 0xd4, 0xdb, - 0x7d, 0x96, 0x7f, 0x8a, 0x63, 0xdd, 0x33, 0xf2, 0x9d, 0x02, 0x47, 0xf0, 0x9b, 0xd2, 0x36, 0xb2, - 0x92, 0x95, 0x18, 0x72, 0x9d, 0x93, 0x6f, 0xb6, 0xd0, 0x8b, 0x8a, 0x74, 0x24, 0x27, 0x1c, 0x59, - 0x26, 0x8b, 0xd1, 0x8e, 0xd4, 0x85, 0x1a, 0x3a, 0x40, 0x7e, 0x55, 0x60, 0x2a, 0x7c, 0xfc, 0x24, - 0xd7, 0x62, 0xcc, 0x77, 0x1d, 0x9b, 0xb3, 0xff, 0x3f, 0xa0, 0xb6, 0xf4, 0xe3, 0xaa, 0xf0, 0xe3, - 0x5f, 0xa4, 0x10, 0xed, 0x47, 0xd5, 0x47, 0x28, 0x06, 0xc6, 0x63, 0xf2, 0xbd, 0x02, 0x13, 0xfb, - 0x27, 0x28, 0x12, 0x97, 0xda, 0x11, 0x13, 0x68, 0xf6, 0x72, 0xcf, 0x7a, 0xd2, 0x83, 0xf3, 0xc2, - 0x83, 0x45, 0x72, 0x26, 0xda, 0x83, 0xb6, 0xb9, 0xec, 0x47, 0x05, 0x26, 0x43, 0xe6, 0x99, 0xd8, - 0x66, 0x14, 0x3d, 0x26, 0xc5, 0x36, 0xa3, 0x2e, 0xe3, 0x93, 0x7a, 0x4e, 0x90, 0x5f, 0x20, 0xf3, - 0xf1, 0xf5, 0x20, 0xbe, 0x6c, 0x99, 0xb0, 0x09, 0x87, 0xf4, 0xc6, 0x20, 0x30, 0x56, 0xc5, 0x7e, - 0x14, 0xba, 0x8d, 0x54, 0xea, 0x8a, 0xa0, 0x7f, 0x8e, 0x9c, 0x4d, 0x5a, 0xce, 0x36, 0xf9, 0x46, - 0x81, 0x74, 0xdb, 0x4b, 0x30, 0xb6, 0x5e, 0x3b, 0xe7, 0x9f, 0xd8, 0x7a, 0x0d, 0x79, 0x68, 0xaa, - 0x4b, 0x82, 0xe9, 0x69, 0x32, 0x1b, 0xf3, 0xf9, 0x22, 0x5f, 0x2b, 0x90, 0xf2, 0xdb, 0x2f, 0xc9, - 0x27, 0x6d, 0xd4, 0x1e, 0xb7, 0x8b, 0xc9, 0x15, 0x92, 0xe7, 0xef, 0x5e, 0x4f, 0x5f, 0xdd, 0x7a, - 0xbe, 0x33, 0xa3, 0xbc, 0xd8, 0x99, 0x51, 0xfe, 0xdc, 0x99, 0x51, 0xbe, 0xdc, 0x9d, 0xe9, 0x7b, - 0xb1, 0x3b, 0xd3, 0xf7, 0xc7, 0xee, 0x4c, 0xdf, 0x07, 0xb7, 0x2b, 0x86, 0x53, 0x6d, 0x96, 0x72, - 0x3a, 0xaf, 0xe7, 0x37, 0x3c, 0xa4, 0xdb, 0xb4, 0x64, 0xef, 0xe1, 0x5e, 0xd0, 0xb9, 0xc5, 0xda, - 0x97, 0x55, 0x6a, 0x98, 0xb2, 0x4f, 0xd9, 0x9e, 0x51, 0x77, 0xa6, 0xb4, 0x4b, 0xc3, 0xe2, 0x2f, - 0x92, 0x4b, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x51, 0x7a, 0x1d, 0x9a, 0xe7, 0x19, 0x00, 0x00, + // 1846 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xdd, 0x6f, 0xdb, 0x46, + 0x12, 0x37, 0xfd, 0x15, 0x6b, 0x14, 0x7f, 0x64, 0xad, 0x38, 0x8a, 0x92, 0xc8, 0x0e, 0x1d, 0x7f, + 0x5d, 0x1c, 0x29, 0x56, 0x72, 0x49, 0x2e, 0x97, 0xcb, 0x21, 0xb6, 0x93, 0x3b, 0xdf, 0x39, 0x88, + 0x8f, 0xce, 0x35, 0x6d, 0x51, 0x40, 0x58, 0x51, 0xb4, 0xc4, 0x5a, 0x22, 0x15, 0x92, 0x72, 0x22, + 0x04, 0x41, 0xd1, 0x3e, 0x16, 0x05, 0x5a, 0xa0, 0xaf, 0xed, 0x7b, 0xd1, 0xb7, 0x02, 0xed, 0x43, + 0x5e, 0x0b, 0x14, 0x48, 0x1f, 0x0a, 0xa4, 0x28, 0x0a, 0x14, 0x7d, 0x08, 0x0a, 0xbb, 0x7f, 0x48, + 0xc1, 0xdd, 0x21, 0x4d, 0x4a, 0xa4, 0x48, 0x19, 0xe8, 0x9b, 0x76, 0x77, 0xe6, 0xb7, 0xbf, 0x99, + 0x9d, 0x99, 0xdd, 0xa1, 0xe0, 0x82, 0xaa, 0xbd, 0xab, 0xc8, 0x96, 0xba, 0xa7, 0xe4, 0x75, 0x83, + 0xca, 0x35, 0x25, 0xbf, 0xb7, 0x52, 0x52, 0x2c, 0xba, 0x92, 0x7f, 0xdc, 0x54, 0x8c, 0x56, 0xae, + 0x61, 0xe8, 0x96, 0x4e, 0xd2, 0xae, 0x54, 0x8e, 0x4b, 0xe5, 0x50, 0x2a, 0x73, 0xb6, 0xa2, 0xeb, + 0x95, 0x9a, 0x92, 0xa7, 0x0d, 0x35, 0x4f, 0x35, 0x4d, 0xb7, 0xa8, 0xa5, 0xea, 0x9a, 0xc9, 0xf5, + 0x32, 0x73, 0xa1, 0xe8, 0x08, 0xc3, 0xc5, 0xe6, 0x43, 0xc5, 0x2a, 0x8a, 0xa6, 0x98, 0xaa, 0x03, + 0x97, 0xaa, 0xe8, 0x15, 0x9d, 0xfd, 0xcc, 0xdb, 0xbf, 0xf8, 0xac, 0x58, 0x80, 0x93, 0xff, 0xb3, + 0xb9, 0x6e, 0xb5, 0xac, 0xea, 0x96, 0xa1, 0xca, 0x8a, 0xa4, 0x3c, 0x6e, 0x2a, 0xa6, 0x45, 0x4e, + 0xc3, 0x48, 0xc3, 0x1e, 0x17, 0xd5, 0x72, 0x5a, 0x98, 0x11, 0x16, 0x13, 0xd2, 0x31, 0x36, 0xde, + 0x28, 0x8b, 0x32, 0x4c, 0xb5, 0xeb, 0x98, 0x0d, 0x5d, 0x33, 0x15, 0xb2, 0x01, 0x49, 0xae, 0x64, + 0x5a, 0xd4, 0x52, 0x98, 0x5e, 0xb2, 0xb0, 0x98, 0x0b, 0x73, 0x40, 0xce, 0x45, 0xd8, 0xb6, 0xe5, + 0x25, 0x68, 0xb8, 0xbf, 0xc5, 0x14, 0x10, 0xbe, 0x09, 0x35, 0x68, 0xdd, 0x44, 0x56, 0xe2, 0xff, + 0x61, 0xd2, 0x37, 0x8b, 0xfb, 0xde, 0x86, 0xe1, 0x06, 0x9b, 0xc1, 0x2d, 0x67, 0xba, 0x6c, 0xc9, + 0xe4, 0x56, 0x07, 0x5f, 0xbe, 0x9e, 0xee, 0x93, 0x50, 0x4b, 0xcc, 0x40, 0x9a, 0xc1, 0xae, 0x52, + 0xad, 0x2c, 0x29, 0x35, 0xda, 0x52, 0x0c, 0x77, 0xcb, 0xeb, 0x70, 0x3a, 0x60, 0x0d, 0x37, 0xce, + 0xc0, 0x88, 0x81, 0x73, 0x69, 0x61, 0x66, 0x60, 0x31, 0x21, 0xb9, 0x63, 0xf1, 0x1c, 0x9c, 0x71, + 0x15, 0x0f, 0x8d, 0x74, 0x71, 0x77, 0xe1, 0x6c, 0xf0, 0x32, 0x42, 0xff, 0x17, 0x8e, 0x7b, 0x7c, + 0xc9, 0xe1, 0xbb, 0x3a, 0xd3, 0x0f, 0x24, 0x25, 0x0f, 0x9d, 0x69, 0x8a, 0x33, 0x90, 0x75, 0x37, + 0xdb, 0x58, 0x5d, 0x0b, 0xa0, 0xa3, 0xc1, 0x74, 0xa8, 0xc4, 0x9f, 0xc1, 0x48, 0x84, 0x19, 0x7e, + 0x92, 0xf6, 0xdc, 0x3d, 0x45, 0x09, 0x72, 0x51, 0x03, 0xce, 0x77, 0x91, 0x39, 0x2a, 0x2b, 0x17, + 0x2d, 0x80, 0xd5, 0x79, 0xf4, 0xc2, 0x9a, 0xae, 0x6a, 0x25, 0x6a, 0x2a, 0x01, 0xa4, 0x4c, 0x24, + 0x1e, 0x28, 0x82, 0x9c, 0x1e, 0x04, 0x72, 0x5a, 0x0e, 0xe7, 0xd4, 0x09, 0xe6, 0xe7, 0xe5, 0xc4, + 0x92, 0x3f, 0x61, 0x3a, 0x62, 0xa9, 0x63, 0xf9, 0xc8, 0x3e, 0xf2, 0x27, 0xa6, 0x8f, 0x4b, 0x16, + 0x37, 0xdb, 0xb6, 0x74, 0x63, 0x37, 0x80, 0x4c, 0x1d, 0xce, 0x85, 0xac, 0x23, 0x9b, 0xcd, 0x40, + 0x36, 0x4b, 0xe1, 0x6c, 0xda, 0x90, 0x82, 0x5d, 0xc3, 0x85, 0x9a, 0xa5, 0x9a, 0x6a, 0x56, 0x3d, + 0xe9, 0x7b, 0xdb, 0xc7, 0xd6, 0xb3, 0x8c, 0x64, 0xb2, 0x00, 0x0d, 0x77, 0x16, 0x73, 0xd8, 0x33, + 0x23, 0x3e, 0xc4, 0xcc, 0xd9, 0x32, 0xf4, 0x3d, 0xb5, 0xac, 0x18, 0x1e, 0x1a, 0x58, 0x29, 0x33, + 0x76, 0xa5, 0xe4, 0x8b, 0x58, 0x29, 0xdd, 0x31, 0x99, 0x82, 0x61, 0xb3, 0x55, 0x2f, 0xe9, 0xb5, + 0x74, 0x3f, 0x5b, 0xc1, 0x91, 0x58, 0xc5, 0x38, 0x0b, 0x42, 0x45, 0x62, 0x77, 0x83, 0x6a, 0xe9, + 0x85, 0x88, 0xb0, 0xee, 0xac, 0xa3, 0xa7, 0xe1, 0x14, 0xdb, 0xe9, 0xbe, 0x5e, 0x6e, 0xd6, 0x7c, + 0xc4, 0xc5, 0x37, 0xb1, 0xea, 0xf9, 0x96, 0x70, 0xf7, 0x5b, 0x30, 0xe4, 0xdd, 0x77, 0x3e, 0x7c, + 0xdf, 0x7f, 0xf1, 0x5b, 0x86, 0xab, 0x73, 0x25, 0xf1, 0x3d, 0x10, 0x19, 0xf2, 0xbf, 0x55, 0xd3, + 0xd2, 0x0d, 0x55, 0xa6, 0x35, 0xbc, 0x27, 0x64, 0xdd, 0x28, 0x3b, 0x47, 0x43, 0x6e, 0xc1, 0x30, + 0xc7, 0x62, 0x9b, 0x8c, 0x75, 0x33, 0xee, 0x01, 0x1b, 0x3e, 0x6c, 0x35, 0x14, 0x09, 0x75, 0xc8, + 0x19, 0x48, 0x70, 0x67, 0xda, 0x37, 0x14, 0xf7, 0xee, 0x08, 0x9f, 0xd8, 0x28, 0x8b, 0x06, 0xcc, + 0x76, 0x25, 0xe0, 0xe6, 0xc5, 0x28, 0xf7, 0xb1, 0xc1, 0x17, 0x30, 0x14, 0xe7, 0x23, 0xbc, 0xec, + 0xc0, 0xf0, 0x30, 0xc6, 0x91, 0xf8, 0xa1, 0x00, 0x29, 0xce, 0x93, 0xef, 0xda, 0x7a, 0xd0, 0x60, + 0xd7, 0x39, 0x39, 0x05, 0xc7, 0xea, 0xf4, 0x69, 0x91, 0x56, 0xb8, 0xa1, 0x83, 0xd2, 0x70, 0x9d, + 0x3e, 0xbd, 0x53, 0x51, 0x48, 0x0e, 0x26, 0x55, 0x4d, 0xae, 0x35, 0xcb, 0x4a, 0xd1, 0xa0, 0x4f, + 0x8a, 0x55, 0xae, 0xc6, 0x8c, 0x19, 0x91, 0x4e, 0xe0, 0x92, 0x44, 0x9f, 0x20, 0x1e, 0x59, 0x82, + 0x09, 0x47, 0xbe, 0xae, 0x58, 0xb4, 0x4c, 0x2d, 0x9a, 0x1e, 0x60, 0xc2, 0xe3, 0x38, 0x7f, 0x1f, + 0xa7, 0xc5, 0x8f, 0xfa, 0x31, 0xee, 0x39, 0xa3, 0x37, 0xf4, 0x1a, 0xb5, 0xd4, 0x9a, 0x6a, 0xb5, + 0x1c, 0xe7, 0xdf, 0x81, 0x84, 0x5d, 0x70, 0x8a, 0xaa, 0xb6, 0xa3, 0x47, 0x07, 0x17, 0x47, 0xd9, + 0xd0, 0x76, 0x74, 0x69, 0xc4, 0x56, 0xb3, 0x7f, 0x91, 0x35, 0x80, 0xc7, 0x4d, 0xdd, 0x42, 0x8c, + 0xfe, 0x1e, 0x30, 0x12, 0x4c, 0x8f, 0x81, 0x94, 0x61, 0x8a, 0xcb, 0x39, 0xe6, 0x17, 0x75, 0xee, + 0x36, 0x66, 0x59, 0xb2, 0x90, 0x8b, 0x02, 0xf4, 0x3b, 0x5b, 0x4a, 0xe9, 0x01, 0xb3, 0xe2, 0xfb, + 0xfd, 0x58, 0x94, 0x3a, 0xdd, 0x81, 0xa1, 0xf0, 0x4f, 0x80, 0x3d, 0x77, 0x96, 0xe7, 0xf1, 0xea, + 0xf4, 0xaf, 0xaf, 0xa7, 0xcf, 0xc8, 0xba, 0x59, 0xd7, 0x4d, 0xb3, 0xbc, 0x9b, 0x53, 0xf5, 0x7c, + 0x9d, 0x5a, 0xd5, 0xdc, 0xa6, 0x52, 0xa1, 0x72, 0x6b, 0x5d, 0x91, 0x25, 0x8f, 0x0a, 0x79, 0x04, + 0x13, 0x8e, 0x05, 0xee, 0xe1, 0x70, 0x9f, 0x74, 0xa9, 0xfb, 0xce, 0x79, 0xd9, 0xd9, 0xa3, 0x9a, + 0x96, 0x2a, 0x9b, 0xd2, 0x38, 0xa2, 0x38, 0x4b, 0xe4, 0x1e, 0x24, 0xbd, 0xd1, 0x31, 0xc0, 0x42, + 0x74, 0x2e, 0x56, 0x88, 0x4a, 0x60, 0xb8, 0xd1, 0xe3, 0xde, 0x6d, 0xdc, 0x05, 0x4e, 0xe5, 0x31, + 0xd9, 0x81, 0x60, 0x45, 0xa8, 0xe2, 0xdd, 0x16, 0x28, 0x82, 0x8e, 0x5a, 0x87, 0x84, 0x53, 0xde, + 0x62, 0xe5, 0x0b, 0x17, 0xe5, 0xc7, 0xee, 0x2a, 0x8a, 0xb7, 0x03, 0x77, 0x62, 0xd4, 0xcd, 0x18, + 0x85, 0x55, 0x34, 0xf0, 0x69, 0x10, 0xac, 0x8f, 0x54, 0xef, 0xdb, 0xe9, 0xcd, 0x57, 0xb6, 0xb1, + 0x98, 0xd9, 0x74, 0x17, 0xa2, 0xe9, 0xf2, 0x6a, 0xe6, 0xd7, 0x16, 0xdf, 0x81, 0xb1, 0x6d, 0x99, + 0xd6, 0x54, 0xad, 0xe2, 0x64, 0xf6, 0x2c, 0x8c, 0xb2, 0x24, 0x2a, 0x2b, 0xb2, 0x5a, 0xa7, 0x35, + 0xfe, 0xfc, 0x1c, 0x95, 0x8e, 0xdb, 0x93, 0xeb, 0x38, 0x47, 0xe6, 0x60, 0x8c, 0xa7, 0x89, 0x2b, + 0xd5, 0xcf, 0xa4, 0x46, 0xd9, 0xac, 0x23, 0x26, 0x1e, 0x08, 0x58, 0xa9, 0x1d, 0x93, 0x3c, 0x8f, + 0xf1, 0xbb, 0x90, 0xc4, 0x24, 0xb1, 0x5a, 0x8d, 0xde, 0xca, 0x25, 0xe8, 0xee, 0x6f, 0x42, 0x60, + 0xd0, 0x66, 0x86, 0xd5, 0x92, 0xfd, 0x26, 0x29, 0x18, 0x62, 0x3c, 0x58, 0xba, 0x25, 0x24, 0x3e, + 0x20, 0x8f, 0x60, 0xdc, 0xe4, 0xa6, 0xba, 0xe9, 0x38, 0x18, 0xf5, 0x98, 0xf7, 0xfb, 0x86, 0xbd, + 0xb0, 0x05, 0x69, 0xcc, 0xf4, 0xcd, 0x8a, 0xfb, 0x03, 0x30, 0xc6, 0x4c, 0xdb, 0xa2, 0x2a, 0x77, + 0x2b, 0x59, 0x05, 0x68, 0x50, 0xd5, 0x28, 0xb2, 0x62, 0x8a, 0x99, 0x37, 0x6b, 0x3f, 0xcf, 0xa3, + 0xb2, 0x2f, 0x61, 0xab, 0x31, 0x30, 0x1b, 0x83, 0x1d, 0x04, 0xc7, 0xe8, 0xef, 0x01, 0xc3, 0x7d, + 0x75, 0x91, 0x75, 0x48, 0xf2, 0x73, 0xe2, 0x20, 0x03, 0xf1, 0x41, 0x78, 0x19, 0xe4, 0x28, 0x8f, + 0xe0, 0x24, 0x63, 0x22, 0x37, 0xeb, 0x4d, 0xbb, 0x36, 0xec, 0x39, 0x78, 0x83, 0xf1, 0xf1, 0x26, + 0x6d, 0x84, 0x35, 0x17, 0x80, 0x03, 0xbf, 0x05, 0x53, 0x9c, 0x5e, 0x07, 0xf2, 0x50, 0x7c, 0xe4, + 0x14, 0x83, 0x68, 0x87, 0x9e, 0x83, 0x31, 0xc6, 0xd9, 0x52, 0xeb, 0x8a, 0x69, 0xd1, 0x7a, 0x23, + 0x3d, 0x3c, 0x23, 0x2c, 0x0e, 0x48, 0x2c, 0xb8, 0x1f, 0x3a, 0x93, 0x64, 0x01, 0xc6, 0x39, 0x83, + 0x43, 0xb9, 0x63, 0x4c, 0x8e, 0xc7, 0xb7, 0x2b, 0x28, 0x6a, 0xf8, 0xb0, 0xf0, 0x45, 0x32, 0xe6, + 0xa4, 0x04, 0x13, 0xfc, 0xca, 0x65, 0x67, 0x1e, 0xb7, 0x4f, 0xf4, 0x45, 0x8c, 0x34, 0xd6, 0xf0, + 0x8d, 0x0b, 0x3f, 0xa4, 0x61, 0x88, 0x6d, 0x48, 0x3e, 0x16, 0x60, 0x98, 0x77, 0x78, 0xa4, 0x4b, + 0xd5, 0xed, 0x6c, 0x2c, 0x33, 0x97, 0x62, 0x4a, 0x73, 0x2b, 0xc4, 0xc5, 0x0f, 0x7e, 0xfa, 0xfd, + 0xd3, 0x7e, 0x91, 0xcc, 0xe4, 0x43, 0xbb, 0x6f, 0xde, 0x5a, 0x92, 0x2f, 0x04, 0x38, 0xee, 0x6d, + 0x1d, 0x49, 0x21, 0x62, 0xa7, 0x80, 0x1e, 0x34, 0x73, 0xa5, 0x27, 0x1d, 0xe4, 0x98, 0x67, 0x1c, + 0x97, 0xc8, 0x42, 0x38, 0xc7, 0x12, 0xd5, 0xca, 0x45, 0xa7, 0x61, 0x25, 0xdf, 0x08, 0x30, 0xde, + 0xd6, 0x8d, 0x92, 0xbf, 0xc6, 0xd8, 0xb9, 0xb3, 0x07, 0xc8, 0x5c, 0xeb, 0x55, 0x0d, 0x39, 0x5f, + 0x61, 0x9c, 0x2f, 0x91, 0x8b, 0x11, 0x9c, 0xbd, 0xfd, 0x03, 0xf9, 0x56, 0x00, 0xd2, 0xd9, 0xb6, + 0x92, 0x1b, 0x31, 0x38, 0x04, 0xf6, 0xc2, 0x99, 0xbf, 0x1d, 0x41, 0x13, 0x0d, 0xb8, 0xce, 0x0c, + 0x58, 0x21, 0xf9, 0x08, 0x03, 0xd4, 0x92, 0xec, 0x37, 0xe2, 0x7b, 0x01, 0x52, 0x41, 0x7d, 0x2e, + 0xb9, 0x19, 0x15, 0x99, 0xe1, 0x0d, 0x74, 0xe6, 0xef, 0x47, 0xd2, 0x45, 0x53, 0x6e, 0x30, 0x53, + 0x0a, 0xe4, 0x72, 0x97, 0x18, 0xb7, 0xd5, 0x76, 0x14, 0xa5, 0xed, 0x40, 0xbe, 0x13, 0x60, 0x32, + 0xa0, 0x3d, 0x26, 0x51, 0x7e, 0x0d, 0xef, 0xba, 0x33, 0x37, 0x8f, 0xa2, 0x1a, 0xff, 0x4c, 0x64, + 0x54, 0xf7, 0xdb, 0x61, 0x27, 0x44, 0x5b, 0x4b, 0x1d, 0x99, 0x10, 0xc1, 0x1d, 0x7a, 0x64, 0x42, + 0x84, 0x74, 0xee, 0x71, 0x12, 0xa2, 0xd1, 0xb2, 0xaa, 0x7e, 0xde, 0x2f, 0x04, 0x98, 0x68, 0xef, + 0xbe, 0x49, 0x14, 0x83, 0x90, 0x76, 0x3e, 0x73, 0xbd, 0x67, 0x3d, 0xa4, 0x7e, 0x95, 0x51, 0xcf, + 0x91, 0xe5, 0x70, 0xea, 0xf6, 0xc3, 0x74, 0xd7, 0xcf, 0xfd, 0x6b, 0x01, 0xc6, 0xdb, 0x7a, 0xf5, + 0x48, 0x9f, 0x07, 0xb7, 0xfe, 0x99, 0x6b, 0xbd, 0xaa, 0x21, 0xf1, 0x02, 0x23, 0xbe, 0x4c, 0xfe, + 0x12, 0x49, 0xfc, 0x90, 0xe2, 0xcf, 0x02, 0x90, 0xce, 0x66, 0x3e, 0xb2, 0x06, 0x85, 0x7e, 0x55, + 0x88, 0xac, 0x41, 0xe1, 0x5f, 0x0e, 0xc4, 0xff, 0x30, 0xfe, 0xeb, 0x64, 0xb5, 0x5b, 0xe2, 0x72, + 0x6d, 0xaf, 0xef, 0xf3, 0xcf, 0x9c, 0xd9, 0xe7, 0xf9, 0x67, 0xbc, 0x93, 0x7e, 0x4e, 0xbe, 0x14, + 0xe0, 0x04, 0xbf, 0xc6, 0x3d, 0x5f, 0x09, 0xc8, 0x4a, 0x04, 0xb9, 0xce, 0x8f, 0x0d, 0x99, 0x42, + 0x2f, 0x2a, 0x68, 0x48, 0x8e, 0x19, 0xb2, 0x48, 0xe6, 0xc3, 0x0d, 0xa9, 0x33, 0x35, 0x6e, 0x00, + 0xf9, 0x51, 0x80, 0xa9, 0xe0, 0x8e, 0x9f, 0xdc, 0x8a, 0xd8, 0xbe, 0xeb, 0x97, 0x8a, 0xcc, 0x3f, + 0x8e, 0xa8, 0x8d, 0x76, 0xdc, 0x64, 0x76, 0x5c, 0x25, 0x85, 0x70, 0x3b, 0xaa, 0x2e, 0x42, 0xd1, + 0xf7, 0x45, 0x82, 0x7c, 0x25, 0xc0, 0x44, 0x7b, 0xd3, 0x1a, 0x99, 0xcb, 0x21, 0x4d, 0x7f, 0x64, + 0x2e, 0x87, 0x75, 0xc7, 0xe2, 0x32, 0xb3, 0x60, 0x9e, 0x5c, 0x08, 0xb7, 0xc0, 0xd3, 0x0a, 0xbf, + 0x10, 0x60, 0x32, 0xa0, 0x85, 0x8c, 0xac, 0xff, 0xe1, 0x9d, 0x69, 0x64, 0xfd, 0xef, 0xd2, 0xb1, + 0x8a, 0x17, 0x19, 0xf9, 0x39, 0x32, 0x1b, 0x9d, 0x0f, 0xec, 0x31, 0x91, 0x0a, 0x6a, 0x2a, 0x49, + 0x6f, 0x0c, 0x7c, 0x9d, 0x6c, 0xe4, 0x3d, 0xdc, 0xad, 0x8b, 0x15, 0x57, 0x18, 0xfd, 0x8b, 0x64, + 0x29, 0x6e, 0x3a, 0x9b, 0xe4, 0x73, 0x01, 0x92, 0x9e, 0xc7, 0x77, 0x64, 0xbe, 0x76, 0xb6, 0x9c, + 0x91, 0xf9, 0x1a, 0xf0, 0xb6, 0x17, 0x17, 0x18, 0xd3, 0xf3, 0x64, 0x3a, 0xe2, 0xc5, 0x40, 0x3e, + 0x13, 0x20, 0xe1, 0xde, 0x78, 0x24, 0x1f, 0xf7, 0x6e, 0x74, 0xb8, 0x5d, 0x8e, 0xaf, 0x10, 0x3f, + 0x7e, 0x0f, 0xaf, 0xd1, 0xd5, 0x9d, 0x97, 0xfb, 0x59, 0xe1, 0xd5, 0x7e, 0x56, 0xf8, 0x6d, 0x3f, + 0x2b, 0x7c, 0x72, 0x90, 0xed, 0x7b, 0x75, 0x90, 0xed, 0xfb, 0xe5, 0x20, 0xdb, 0xf7, 0xf6, 0x66, + 0x45, 0xb5, 0xaa, 0xcd, 0x52, 0x4e, 0xd6, 0xeb, 0xf9, 0x0d, 0x07, 0x69, 0x93, 0x96, 0xcc, 0x43, + 0xdc, 0x4b, 0xb2, 0x6e, 0x28, 0xde, 0x61, 0x95, 0xaa, 0x1a, 0xd6, 0x29, 0xd3, 0xd9, 0xd4, 0x6e, + 0xe3, 0xcd, 0xd2, 0x30, 0xfb, 0x0f, 0xee, 0xca, 0x1f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x91, 0x50, + 0x4b, 0xd5, 0x48, 0x1c, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1744,6 +1924,10 @@ type QueryClient interface { CoinbasePriceStates(ctx context.Context, in *QueryCoinbasePriceStatesRequest, opts ...grpc.CallOption) (*QueryCoinbasePriceStatesResponse, error) // Retrieves the state for all pyth price feeds PythPriceStates(ctx context.Context, in *QueryPythPriceStatesRequest, opts ...grpc.CallOption) (*QueryPythPriceStatesResponse, error) + // Retrieves the state for all stork price feeds + StorkPriceStates(ctx context.Context, in *QueryStorkPriceStatesRequest, opts ...grpc.CallOption) (*QueryStorkPriceStatesResponse, error) + // Retrieves all stork publishers + StorkPublishers(ctx context.Context, in *QueryStorkPublishersRequest, opts ...grpc.CallOption) (*QueryStorkPublishersResponse, error) // Retrieves the state for all provider price feeds ProviderPriceState(ctx context.Context, in *QueryProviderPriceStateRequest, opts ...grpc.CallOption) (*QueryProviderPriceStateResponse, error) // Retrieves the entire oracle module's state @@ -1829,6 +2013,24 @@ func (c *queryClient) PythPriceStates(ctx context.Context, in *QueryPythPriceSta return out, nil } +func (c *queryClient) StorkPriceStates(ctx context.Context, in *QueryStorkPriceStatesRequest, opts ...grpc.CallOption) (*QueryStorkPriceStatesResponse, error) { + out := new(QueryStorkPriceStatesResponse) + err := c.cc.Invoke(ctx, "/injective.oracle.v1beta1.Query/StorkPriceStates", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) StorkPublishers(ctx context.Context, in *QueryStorkPublishersRequest, opts ...grpc.CallOption) (*QueryStorkPublishersResponse, error) { + out := new(QueryStorkPublishersResponse) + err := c.cc.Invoke(ctx, "/injective.oracle.v1beta1.Query/StorkPublishers", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) ProviderPriceState(ctx context.Context, in *QueryProviderPriceStateRequest, opts ...grpc.CallOption) (*QueryProviderPriceStateResponse, error) { out := new(QueryProviderPriceStateResponse) err := c.cc.Invoke(ctx, "/injective.oracle.v1beta1.Query/ProviderPriceState", in, out, opts...) @@ -1917,6 +2119,10 @@ type QueryServer interface { CoinbasePriceStates(context.Context, *QueryCoinbasePriceStatesRequest) (*QueryCoinbasePriceStatesResponse, error) // Retrieves the state for all pyth price feeds PythPriceStates(context.Context, *QueryPythPriceStatesRequest) (*QueryPythPriceStatesResponse, error) + // Retrieves the state for all stork price feeds + StorkPriceStates(context.Context, *QueryStorkPriceStatesRequest) (*QueryStorkPriceStatesResponse, error) + // Retrieves all stork publishers + StorkPublishers(context.Context, *QueryStorkPublishersRequest) (*QueryStorkPublishersResponse, error) // Retrieves the state for all provider price feeds ProviderPriceState(context.Context, *QueryProviderPriceStateRequest) (*QueryProviderPriceStateResponse, error) // Retrieves the entire oracle module's state @@ -1956,6 +2162,12 @@ func (*UnimplementedQueryServer) CoinbasePriceStates(ctx context.Context, req *Q func (*UnimplementedQueryServer) PythPriceStates(ctx context.Context, req *QueryPythPriceStatesRequest) (*QueryPythPriceStatesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method PythPriceStates not implemented") } +func (*UnimplementedQueryServer) StorkPriceStates(ctx context.Context, req *QueryStorkPriceStatesRequest) (*QueryStorkPriceStatesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method StorkPriceStates not implemented") +} +func (*UnimplementedQueryServer) StorkPublishers(ctx context.Context, req *QueryStorkPublishersRequest) (*QueryStorkPublishersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method StorkPublishers not implemented") +} func (*UnimplementedQueryServer) ProviderPriceState(ctx context.Context, req *QueryProviderPriceStateRequest) (*QueryProviderPriceStateResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ProviderPriceState not implemented") } @@ -2111,6 +2323,42 @@ func _Query_PythPriceStates_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } +func _Query_StorkPriceStates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryStorkPriceStatesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).StorkPriceStates(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.oracle.v1beta1.Query/StorkPriceStates", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).StorkPriceStates(ctx, req.(*QueryStorkPriceStatesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_StorkPublishers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryStorkPublishersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).StorkPublishers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.oracle.v1beta1.Query/StorkPublishers", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).StorkPublishers(ctx, req.(*QueryStorkPublishersRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Query_ProviderPriceState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QueryProviderPriceStateRequest) if err := dec(in); err != nil { @@ -2287,6 +2535,14 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "PythPriceStates", Handler: _Query_PythPriceStates_Handler, }, + { + MethodName: "StorkPriceStates", + Handler: _Query_StorkPriceStates_Handler, + }, + { + MethodName: "StorkPublishers", + Handler: _Query_StorkPublishers_Handler, + }, { MethodName: "ProviderPriceState", Handler: _Query_ProviderPriceState_Handler, @@ -2800,7 +3056,7 @@ func (m *QueryPythPriceStatesResponse) MarshalToSizedBuffer(dAtA []byte) (int, e return len(dAtA) - i, nil } -func (m *QueryProviderPriceStateRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryStorkPriceStatesRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2810,34 +3066,20 @@ func (m *QueryProviderPriceStateRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryProviderPriceStateRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryStorkPriceStatesRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryProviderPriceStateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryStorkPriceStatesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Symbol) > 0 { - i -= len(m.Symbol) - copy(dAtA[i:], m.Symbol) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Symbol))) - i-- - dAtA[i] = 0x12 - } - if len(m.Provider) > 0 { - i -= len(m.Provider) - copy(dAtA[i:], m.Provider) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Provider))) - i-- - dAtA[i] = 0xa - } return len(dAtA) - i, nil } -func (m *QueryProviderPriceStateResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryStorkPriceStatesResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2847,32 +3089,34 @@ func (m *QueryProviderPriceStateResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryProviderPriceStateResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryStorkPriceStatesResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryProviderPriceStateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryStorkPriceStatesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.PriceState != nil { - { - size, err := m.PriceState.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err + if len(m.PriceStates) > 0 { + for iNdEx := len(m.PriceStates) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.PriceStates[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa } - i-- - dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *QueryModuleStateRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryStorkPublishersRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2882,12 +3126,12 @@ func (m *QueryModuleStateRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryModuleStateRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryStorkPublishersRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryModuleStateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryStorkPublishersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -2895,7 +3139,7 @@ func (m *QueryModuleStateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *QueryModuleStateResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryStorkPublishersResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2905,32 +3149,29 @@ func (m *QueryModuleStateResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryModuleStateResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryStorkPublishersResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryModuleStateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryStorkPublishersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.State != nil { - { - size, err := m.State.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) + if len(m.Publishers) > 0 { + for iNdEx := len(m.Publishers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Publishers[iNdEx]) + copy(dAtA[i:], m.Publishers[iNdEx]) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Publishers[iNdEx]))) + i-- + dAtA[i] = 0xa } - i-- - dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *QueryHistoricalPriceRecordsRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryProviderPriceStateRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2940,32 +3181,34 @@ func (m *QueryHistoricalPriceRecordsRequest) Marshal() (dAtA []byte, err error) return dAtA[:n], nil } -func (m *QueryHistoricalPriceRecordsRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryProviderPriceStateRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryHistoricalPriceRecordsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryProviderPriceStateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.SymbolId) > 0 { - i -= len(m.SymbolId) - copy(dAtA[i:], m.SymbolId) - i = encodeVarintQuery(dAtA, i, uint64(len(m.SymbolId))) + if len(m.Symbol) > 0 { + i -= len(m.Symbol) + copy(dAtA[i:], m.Symbol) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Symbol))) i-- dAtA[i] = 0x12 } - if m.Oracle != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Oracle)) + if len(m.Provider) > 0 { + i -= len(m.Provider) + copy(dAtA[i:], m.Provider) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Provider))) i-- - dAtA[i] = 0x8 + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *QueryHistoricalPriceRecordsResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryProviderPriceStateResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2975,7 +3218,135 @@ func (m *QueryHistoricalPriceRecordsResponse) Marshal() (dAtA []byte, err error) return dAtA[:n], nil } -func (m *QueryHistoricalPriceRecordsResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryProviderPriceStateResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryProviderPriceStateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.PriceState != nil { + { + size, err := m.PriceState.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 *QueryModuleStateRequest) 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 *QueryModuleStateRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryModuleStateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryModuleStateResponse) 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 *QueryModuleStateResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryModuleStateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.State != nil { + { + size, err := m.State.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 *QueryHistoricalPriceRecordsRequest) 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 *QueryHistoricalPriceRecordsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryHistoricalPriceRecordsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.SymbolId) > 0 { + i -= len(m.SymbolId) + copy(dAtA[i:], m.SymbolId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.SymbolId))) + i-- + dAtA[i] = 0x12 + } + if m.Oracle != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Oracle)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *QueryHistoricalPriceRecordsResponse) 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 *QueryHistoricalPriceRecordsResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } @@ -3703,6 +4074,54 @@ func (m *QueryPythPriceStatesResponse) Size() (n int) { return n } +func (m *QueryStorkPriceStatesRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryStorkPriceStatesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.PriceStates) > 0 { + for _, e := range m.PriceStates { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + +func (m *QueryStorkPublishersRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryStorkPublishersResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Publishers) > 0 { + for _, s := range m.Publishers { + l = len(s) + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + func (m *QueryProviderPriceStateRequest) Size() (n int) { if m == nil { return 0 @@ -5086,6 +5505,272 @@ func (m *QueryPythPriceStatesResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryStorkPriceStatesRequest) 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: QueryStorkPriceStatesRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryStorkPriceStatesRequest: 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 *QueryStorkPriceStatesResponse) 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: QueryStorkPriceStatesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryStorkPriceStatesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PriceStates", 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.PriceStates = append(m.PriceStates, &StorkPriceState{}) + if err := m.PriceStates[len(m.PriceStates)-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 *QueryStorkPublishersRequest) 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: QueryStorkPublishersRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryStorkPublishersRequest: 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 *QueryStorkPublishersResponse) 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: QueryStorkPublishersResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryStorkPublishersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Publishers", 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.Publishers = append(m.Publishers, 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 *QueryProviderPriceStateRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/chain/oracle/types/stork.go b/chain/oracle/types/stork.go new file mode 100644 index 00000000..343eb8e8 --- /dev/null +++ b/chain/oracle/types/stork.go @@ -0,0 +1,29 @@ +package types + +import ( + "cosmossdk.io/math" +) + +func NewStorkPriceState( + price math.LegacyDec, + timestamp uint64, + symbol string, + blockTime int64, +) *StorkPriceState { + return &StorkPriceState{ + Timestamp: timestamp, + Symbol: symbol, + Value: price, + PriceState: *NewPriceState(price, blockTime), + } +} + +func (s *StorkPriceState) Update(price math.LegacyDec, timestamp uint64, blockTime int64) { + s.Value = price + s.Timestamp = timestamp + s.PriceState.UpdatePrice(price, blockTime) +} + +func ScaleStorkPrice(price math.LegacyDec) math.LegacyDec { + return price.QuoTruncate(EighteenDecimals) +} diff --git a/chain/oracle/types/stork_oracle.go b/chain/oracle/types/stork_oracle.go new file mode 100644 index 00000000..da52f788 --- /dev/null +++ b/chain/oracle/types/stork_oracle.go @@ -0,0 +1,39 @@ +package types + +import ( + "bytes" + "math/big" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/common/math" + "github.com/ethereum/go-ethereum/crypto" + + peggytypes "github.com/InjectiveLabs/sdk-go/chain/peggy/types" +) + +func getMessageHash(publisher common.Address, assetPairID, timeStamp, price string) (hash common.Hash) { + enc := encodePacked(publisher.Bytes(), []byte(assetPairID), encodeUint256(timeStamp), encodeUint256(price)) + + return crypto.Keccak256Hash(enc) +} + +func encodePacked(input ...[]byte) []byte { + return bytes.Join(input, nil) +} + +func encodeUint256(v string) []byte { + bn := new(big.Int) + bn.SetString(v, 10) + return math.U256Bytes(bn) +} + +func VerifyStorkMsgSignature(oraclePubKey common.Address, assetPairID, timeStamp, price string, signature []byte) bool { + hash := getMessageHash(oraclePubKey, assetPairID, timeStamp, price) + + recoveredPubKey, err := peggytypes.EthAddressFromSignature(hash, signature) + if err != nil { + return false + } + + return recoveredPubKey == oraclePubKey +} diff --git a/chain/oracle/types/tx.pb.go b/chain/oracle/types/tx.pb.go index 8eae71e5..eaf64d6b 100644 --- a/chain/oracle/types/tx.pb.go +++ b/chain/oracle/types/tx.pb.go @@ -378,6 +378,82 @@ func (m *MsgRelayCoinbaseMessagesResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgRelayCoinbaseMessagesResponse proto.InternalMessageInfo +// MsgRelayStorkPrices defines a SDK message for relaying price message +// from Stork API. +type MsgRelayStorkPrices struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` + AssetPairs []*AssetPair `protobuf:"bytes,2,rep,name=asset_pairs,json=assetPairs,proto3" json:"asset_pairs,omitempty"` +} + +func (m *MsgRelayStorkPrices) Reset() { *m = MsgRelayStorkPrices{} } +func (m *MsgRelayStorkPrices) String() string { return proto.CompactTextString(m) } +func (*MsgRelayStorkPrices) ProtoMessage() {} +func (*MsgRelayStorkPrices) Descriptor() ([]byte, []int) { + return fileDescriptor_5fdf1c490eba4310, []int{8} +} +func (m *MsgRelayStorkPrices) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRelayStorkPrices) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRelayStorkPrices.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 *MsgRelayStorkPrices) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRelayStorkPrices.Merge(m, src) +} +func (m *MsgRelayStorkPrices) XXX_Size() int { + return m.Size() +} +func (m *MsgRelayStorkPrices) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRelayStorkPrices.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRelayStorkPrices proto.InternalMessageInfo + +type MsgRelayStorkPricesResponse struct { +} + +func (m *MsgRelayStorkPricesResponse) Reset() { *m = MsgRelayStorkPricesResponse{} } +func (m *MsgRelayStorkPricesResponse) String() string { return proto.CompactTextString(m) } +func (*MsgRelayStorkPricesResponse) ProtoMessage() {} +func (*MsgRelayStorkPricesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_5fdf1c490eba4310, []int{9} +} +func (m *MsgRelayStorkPricesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRelayStorkPricesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRelayStorkPricesResponse.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 *MsgRelayStorkPricesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRelayStorkPricesResponse.Merge(m, src) +} +func (m *MsgRelayStorkPricesResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgRelayStorkPricesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRelayStorkPricesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRelayStorkPricesResponse proto.InternalMessageInfo + // MsgRequestBandIBCRates defines a SDK message for requesting data from // BandChain using IBC. type MsgRequestBandIBCRates struct { @@ -389,7 +465,7 @@ func (m *MsgRequestBandIBCRates) Reset() { *m = MsgRequestBandIBCRates{} func (m *MsgRequestBandIBCRates) String() string { return proto.CompactTextString(m) } func (*MsgRequestBandIBCRates) ProtoMessage() {} func (*MsgRequestBandIBCRates) Descriptor() ([]byte, []int) { - return fileDescriptor_5fdf1c490eba4310, []int{8} + return fileDescriptor_5fdf1c490eba4310, []int{10} } func (m *MsgRequestBandIBCRates) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -426,7 +502,7 @@ func (m *MsgRequestBandIBCRatesResponse) Reset() { *m = MsgRequestBandIB func (m *MsgRequestBandIBCRatesResponse) String() string { return proto.CompactTextString(m) } func (*MsgRequestBandIBCRatesResponse) ProtoMessage() {} func (*MsgRequestBandIBCRatesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_5fdf1c490eba4310, []int{9} + return fileDescriptor_5fdf1c490eba4310, []int{11} } func (m *MsgRequestBandIBCRatesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -465,7 +541,7 @@ func (m *MsgRelayPythPrices) Reset() { *m = MsgRelayPythPrices{} } func (m *MsgRelayPythPrices) String() string { return proto.CompactTextString(m) } func (*MsgRelayPythPrices) ProtoMessage() {} func (*MsgRelayPythPrices) Descriptor() ([]byte, []int) { - return fileDescriptor_5fdf1c490eba4310, []int{10} + return fileDescriptor_5fdf1c490eba4310, []int{12} } func (m *MsgRelayPythPrices) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -502,7 +578,7 @@ func (m *MsgRelayPythPricesResponse) Reset() { *m = MsgRelayPythPricesRe func (m *MsgRelayPythPricesResponse) String() string { return proto.CompactTextString(m) } func (*MsgRelayPythPricesResponse) ProtoMessage() {} func (*MsgRelayPythPricesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_5fdf1c490eba4310, []int{11} + return fileDescriptor_5fdf1c490eba4310, []int{13} } func (m *MsgRelayPythPricesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -544,7 +620,7 @@ 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} + return fileDescriptor_5fdf1c490eba4310, []int{14} } func (m *MsgUpdateParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -594,7 +670,7 @@ 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} + return fileDescriptor_5fdf1c490eba4310, []int{15} } func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -632,6 +708,8 @@ func init() { proto.RegisterType((*MsgRelayBandRatesResponse)(nil), "injective.oracle.v1beta1.MsgRelayBandRatesResponse") proto.RegisterType((*MsgRelayCoinbaseMessages)(nil), "injective.oracle.v1beta1.MsgRelayCoinbaseMessages") proto.RegisterType((*MsgRelayCoinbaseMessagesResponse)(nil), "injective.oracle.v1beta1.MsgRelayCoinbaseMessagesResponse") + proto.RegisterType((*MsgRelayStorkPrices)(nil), "injective.oracle.v1beta1.MsgRelayStorkPrices") + proto.RegisterType((*MsgRelayStorkPricesResponse)(nil), "injective.oracle.v1beta1.MsgRelayStorkPricesResponse") proto.RegisterType((*MsgRequestBandIBCRates)(nil), "injective.oracle.v1beta1.MsgRequestBandIBCRates") proto.RegisterType((*MsgRequestBandIBCRatesResponse)(nil), "injective.oracle.v1beta1.MsgRequestBandIBCRatesResponse") proto.RegisterType((*MsgRelayPythPrices)(nil), "injective.oracle.v1beta1.MsgRelayPythPrices") @@ -643,65 +721,69 @@ func init() { func init() { proto.RegisterFile("injective/oracle/v1beta1/tx.proto", fileDescriptor_5fdf1c490eba4310) } var fileDescriptor_5fdf1c490eba4310 = []byte{ - // 914 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0x4f, 0x6f, 0x1b, 0x45, - 0x14, 0xf7, 0x26, 0x8e, 0x21, 0xd3, 0x40, 0x95, 0x21, 0xa4, 0x9b, 0x2d, 0xb5, 0x8d, 0x2b, 0xa4, - 0x36, 0xd0, 0x5d, 0x9c, 0xf2, 0xd7, 0x48, 0x48, 0x75, 0x2b, 0xa4, 0x48, 0x89, 0x14, 0x2d, 0x70, - 0x80, 0x4b, 0x34, 0xde, 0x1d, 0xd6, 0x03, 0xde, 0x9d, 0xed, 0xcc, 0xd8, 0xc2, 0x47, 0x38, 0x00, - 0xe2, 0xc4, 0x47, 0xe8, 0x8d, 0x6b, 0x0f, 0x3d, 0xf1, 0x09, 0x7a, 0x00, 0xa9, 0xe2, 0x84, 0x7a, - 0xa8, 0x50, 0x72, 0x28, 0x1f, 0x80, 0x0f, 0x50, 0xed, 0xec, 0xec, 0x78, 0xbd, 0xf6, 0xc6, 0xf6, - 0x25, 0x99, 0xf7, 0xde, 0xef, 0xbd, 0xf9, 0xfd, 0xe6, 0xcd, 0x3c, 0x2f, 0x78, 0x93, 0x44, 0xdf, - 0x62, 0x4f, 0x90, 0x11, 0x76, 0x28, 0x43, 0xde, 0x00, 0x3b, 0xa3, 0x76, 0x0f, 0x0b, 0xd4, 0x76, - 0xc4, 0xf7, 0x76, 0xcc, 0xa8, 0xa0, 0xd0, 0xd4, 0x10, 0x3b, 0x85, 0xd8, 0x0a, 0x62, 0xed, 0x04, - 0x34, 0xa0, 0x12, 0xe4, 0x24, 0xab, 0x14, 0x6f, 0xbd, 0x55, 0x5a, 0x52, 0xa5, 0xa7, 0xb0, 0x2b, - 0x1e, 0xe5, 0x21, 0xe5, 0x4e, 0xc8, 0x03, 0x67, 0xd4, 0x4e, 0xfe, 0xa9, 0xc0, 0x5e, 0x1a, 0x38, - 0x4d, 0x0b, 0xa7, 0x86, 0x0a, 0x6d, 0xa3, 0x90, 0x44, 0xd4, 0x91, 0x7f, 0x53, 0x57, 0xeb, 0xa9, - 0x01, 0x76, 0x8f, 0x79, 0xe0, 0xe2, 0x01, 0x1a, 0x9f, 0x30, 0x3a, 0x22, 0x3e, 0x66, 0x27, 0x8c, - 0x78, 0x98, 0xc3, 0x5d, 0x50, 0xe3, 0x38, 0xf2, 0x31, 0x33, 0x8d, 0xa6, 0x71, 0x63, 0xd3, 0x55, - 0x16, 0xb4, 0xc0, 0xcb, 0xb1, 0x42, 0x9a, 0x6b, 0x32, 0xa2, 0x6d, 0x68, 0x82, 0x97, 0xf8, 0x38, - 0xec, 0xd1, 0x01, 0x37, 0xd7, 0x9b, 0xeb, 0x37, 0x36, 0xdd, 0xcc, 0x84, 0x9f, 0x80, 0x5a, 0x2c, - 0xeb, 0x9a, 0xd5, 0x24, 0xd0, 0xbd, 0xfe, 0xf8, 0x59, 0xa3, 0xf2, 0xf4, 0x59, 0xe3, 0x6a, 0xca, - 0x90, 0xfb, 0xdf, 0xd9, 0x84, 0x3a, 0x21, 0x12, 0x7d, 0xfb, 0x08, 0x07, 0xc8, 0x1b, 0xdf, 0xc3, - 0x9e, 0xab, 0x52, 0x3a, 0xef, 0xff, 0xf2, 0xa0, 0x51, 0xf9, 0xef, 0x41, 0xa3, 0xf2, 0xe3, 0xf3, - 0x87, 0xfb, 0x8a, 0xc7, 0xaf, 0xcf, 0x1f, 0xee, 0x5f, 0x53, 0x27, 0x34, 0x5f, 0x41, 0xab, 0x09, - 0xea, 0xf3, 0x23, 0x2e, 0xe6, 0x31, 0x8d, 0x38, 0x6e, 0xfd, 0x39, 0x25, 0x9f, 0x78, 0xf8, 0x33, - 0x8c, 0x7d, 0xb9, 0x28, 0x95, 0x0f, 0x41, 0xb5, 0x87, 0x38, 0x36, 0xd7, 0xa4, 0x3e, 0xb9, 0x86, - 0x3b, 0x60, 0xe3, 0xfe, 0x90, 0x0a, 0xac, 0x44, 0xa7, 0x06, 0xfc, 0x18, 0x6c, 0x48, 0xfe, 0xab, - 0x28, 0x4e, 0x33, 0x56, 0x10, 0x9c, 0xe7, 0x3c, 0x2d, 0x38, 0x1f, 0xd1, 0x82, 0xff, 0x32, 0xc0, - 0x76, 0x06, 0xe9, 0xa2, 0xc8, 0x77, 0x91, 0xc0, 0x3c, 0x69, 0x1b, 0x4b, 0x3c, 0x5a, 0x6c, 0x66, - 0xe6, 0x1b, 0xba, 0x36, 0xdd, 0xd0, 0x1d, 0xb0, 0xc1, 0x92, 0x64, 0xa9, 0xb9, 0xea, 0xa6, 0x06, - 0xbc, 0x0e, 0x5e, 0x61, 0x98, 0xd3, 0xc1, 0x08, 0x9f, 0x0a, 0x12, 0xaa, 0x6e, 0x57, 0xdd, 0x2d, - 0xe5, 0xfc, 0x22, 0xf1, 0xc1, 0x3a, 0x00, 0x0c, 0xdf, 0x1f, 0x62, 0x2e, 0x0e, 0xef, 0x71, 0x73, - 0x43, 0x22, 0x72, 0x9e, 0xce, 0xcd, 0x44, 0x75, 0x46, 0x21, 0x91, 0x6d, 0x16, 0x64, 0x6b, 0xe6, - 0xad, 0xab, 0x60, 0x6f, 0xc6, 0xa9, 0xc5, 0xfe, 0x6e, 0x00, 0x33, 0x8b, 0xde, 0xa5, 0x24, 0x4a, - 0x7a, 0x75, 0x8c, 0x39, 0x47, 0xc1, 0xc5, 0xd7, 0x3b, 0x54, 0x18, 0x29, 0x79, 0xcb, 0xd5, 0x76, - 0x42, 0x9c, 0x93, 0x20, 0x42, 0x62, 0xc8, 0x94, 0xf0, 0x2d, 0x37, 0xe7, 0xe9, 0x7c, 0x58, 0xd2, - 0xb6, 0x46, 0x81, 0x7f, 0x91, 0x4c, 0xab, 0x05, 0x9a, 0x65, 0x31, 0xad, 0xe6, 0xa7, 0xec, 0xae, - 0xca, 0x73, 0x4a, 0xd4, 0x1e, 0x76, 0xef, 0xa6, 0xfd, 0x2b, 0xd3, 0x72, 0x4d, 0x1f, 0xf4, 0x29, - 0xf1, 0xe5, 0x63, 0xad, 0xba, 0x9b, 0xd9, 0x41, 0xfb, 0xcb, 0xdd, 0xb2, 0x99, 0xdd, 0xf4, 0x2d, - 0x9b, 0x89, 0x68, 0xaa, 0x7f, 0x18, 0x00, 0xea, 0x8b, 0x38, 0x16, 0xfd, 0x05, 0x13, 0xe5, 0x2b, - 0x00, 0xe5, 0xb5, 0x3f, 0x45, 0x42, 0x60, 0x2e, 0x90, 0x20, 0x34, 0x4a, 0x0f, 0xff, 0xd2, 0xc1, - 0xbe, 0x5d, 0x36, 0x3f, 0x6d, 0x59, 0xf5, 0xce, 0x24, 0xc5, 0xdd, 0x8e, 0x0b, 0x1e, 0xde, 0x69, - 0x97, 0x48, 0xdc, 0x2b, 0x3e, 0x24, 0xcd, 0xb2, 0xf5, 0x06, 0xb0, 0x66, 0xbd, 0x5a, 0xda, 0x23, - 0x03, 0x5c, 0x3e, 0xe6, 0xc1, 0x97, 0xb1, 0x8f, 0x04, 0x3e, 0x41, 0x0c, 0x85, 0x1c, 0x7e, 0x00, - 0x36, 0xd1, 0x50, 0xf4, 0x29, 0x23, 0x62, 0x9c, 0x4a, 0xeb, 0x9a, 0x7f, 0x3f, 0xba, 0xb5, 0xa3, - 0x86, 0xef, 0x1d, 0xdf, 0x67, 0x98, 0xf3, 0xcf, 0x05, 0x23, 0x51, 0xe0, 0x4e, 0xa0, 0xf0, 0x53, - 0x50, 0x8b, 0x65, 0x05, 0xd9, 0x9a, 0x4b, 0x07, 0xcd, 0x0b, 0xb4, 0x4a, 0x5c, 0xb7, 0x9a, 0xcc, - 0x10, 0x57, 0x65, 0xa5, 0xef, 0x64, 0x52, 0x2f, 0xd1, 0xb5, 0x3b, 0xd1, 0x95, 0xa7, 0xd8, 0xda, - 0x03, 0x57, 0x0a, 0xae, 0x4c, 0xd1, 0xc1, 0xff, 0x35, 0xb0, 0x7e, 0xcc, 0x03, 0xf8, 0x83, 0x01, - 0x5e, 0x9b, 0xf7, 0x3b, 0xf0, 0x6e, 0x39, 0xab, 0xf9, 0xd3, 0xd5, 0xfa, 0x68, 0xd5, 0x8c, 0x8c, - 0x4b, 0x9e, 0xc3, 0xd4, 0x30, 0x5e, 0x8a, 0x43, 0x3e, 0x63, 0x39, 0x0e, 0xf3, 0x46, 0x24, 0x64, - 0xe0, 0xd5, 0xc2, 0x78, 0x7c, 0x7b, 0x71, 0x2d, 0x0d, 0xb6, 0x6e, 0xaf, 0x00, 0x2e, 0xe8, 0x9e, - 0x7d, 0xd8, 0x8b, 0x74, 0xcf, 0x64, 0x2c, 0xd4, 0x5d, 0xfa, 0x68, 0xe1, 0xcf, 0x06, 0x78, 0x7d, - 0xfe, 0xa8, 0x3c, 0x58, 0x2c, 0xa9, 0x98, 0x63, 0x75, 0x56, 0xcf, 0xd1, 0x4c, 0x86, 0xe0, 0x72, - 0x71, 0x74, 0xbc, 0xb3, 0x44, 0x3b, 0x35, 0xda, 0x7a, 0x6f, 0x15, 0xb4, 0xde, 0x76, 0x00, 0xb6, - 0xa6, 0x9e, 0xf5, 0xcd, 0x0b, 0xab, 0xe4, 0xa1, 0x56, 0x7b, 0x69, 0x68, 0xb6, 0x5b, 0xf7, 0x9b, - 0xc7, 0x67, 0x75, 0xe3, 0xc9, 0x59, 0xdd, 0xf8, 0xf7, 0xac, 0x6e, 0xfc, 0x76, 0x5e, 0xaf, 0x3c, - 0x39, 0xaf, 0x57, 0xfe, 0x39, 0xaf, 0x57, 0xbe, 0x3e, 0x0a, 0x88, 0xe8, 0x0f, 0x7b, 0xb6, 0x47, - 0x43, 0xe7, 0x30, 0x2b, 0x7b, 0x84, 0x7a, 0xdc, 0xd1, 0x9b, 0xdc, 0xf2, 0x28, 0xc3, 0x79, 0xb3, - 0x8f, 0x48, 0xe4, 0x84, 0xd4, 0x1f, 0x0e, 0x30, 0xcf, 0xbe, 0x1b, 0xc5, 0x38, 0xc6, 0xbc, 0x57, - 0x93, 0x1f, 0x7a, 0xb7, 0x5f, 0x04, 0x00, 0x00, 0xff, 0xff, 0xed, 0x5d, 0x1e, 0x24, 0xab, 0x0a, - 0x00, 0x00, + // 990 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0x4f, 0x6f, 0xe3, 0x44, + 0x14, 0x8f, 0xdb, 0xa4, 0x4b, 0x5f, 0x0b, 0xab, 0xba, 0xa5, 0xeb, 0xba, 0x34, 0x09, 0xa9, 0x90, + 0x76, 0x0b, 0x8d, 0x49, 0x97, 0xe5, 0x4f, 0x90, 0x90, 0x9a, 0xad, 0x90, 0x2a, 0xb5, 0x52, 0xe5, + 0x85, 0x03, 0x5c, 0xa2, 0x49, 0x3c, 0x38, 0x66, 0x63, 0x8f, 0x77, 0x66, 0x12, 0x91, 0x1b, 0x70, + 0x80, 0x15, 0x27, 0x3e, 0xc2, 0xde, 0xb8, 0xf6, 0xb0, 0x27, 0x3e, 0xc1, 0x1e, 0x40, 0x5a, 0x71, + 0x42, 0x7b, 0xa8, 0x50, 0x7b, 0x28, 0x9f, 0x80, 0x33, 0xf2, 0xd8, 0x9e, 0x38, 0x4e, 0xdc, 0x24, + 0x97, 0xd6, 0xef, 0xbd, 0xdf, 0x7b, 0xf3, 0xfb, 0xf9, 0xcd, 0x7b, 0x0e, 0xbc, 0xed, 0x78, 0xdf, + 0xe2, 0x36, 0x77, 0xfa, 0xd8, 0x20, 0x14, 0xb5, 0xbb, 0xd8, 0xe8, 0xd7, 0x5a, 0x98, 0xa3, 0x9a, + 0xc1, 0xbf, 0xab, 0xfa, 0x94, 0x70, 0xa2, 0x6a, 0x12, 0x52, 0x0d, 0x21, 0xd5, 0x08, 0xa2, 0x6f, + 0xd8, 0xc4, 0x26, 0x02, 0x64, 0x04, 0x4f, 0x21, 0x5e, 0x7f, 0x27, 0xb3, 0x64, 0x94, 0x1e, 0xc2, + 0xee, 0xb4, 0x09, 0x73, 0x09, 0x33, 0x5c, 0x66, 0x1b, 0xfd, 0x5a, 0xf0, 0x2f, 0x0a, 0x6c, 0x85, + 0x81, 0x66, 0x58, 0x38, 0x34, 0xa2, 0xd0, 0x1a, 0x72, 0x1d, 0x8f, 0x18, 0xe2, 0x6f, 0xe8, 0xaa, + 0xbc, 0x52, 0x60, 0xf3, 0x94, 0xd9, 0x26, 0xee, 0xa2, 0xc1, 0x19, 0x25, 0x7d, 0xc7, 0xc2, 0xf4, + 0x8c, 0x3a, 0x6d, 0xcc, 0xd4, 0x4d, 0x58, 0x62, 0xd8, 0xb3, 0x30, 0xd5, 0x94, 0xb2, 0x72, 0x77, + 0xd9, 0x8c, 0x2c, 0x55, 0x87, 0xd7, 0xfc, 0x08, 0xa9, 0x2d, 0x88, 0x88, 0xb4, 0x55, 0x0d, 0x6e, + 0xb1, 0x81, 0xdb, 0x22, 0x5d, 0xa6, 0x2d, 0x96, 0x17, 0xef, 0x2e, 0x9b, 0xb1, 0xa9, 0x7e, 0x0a, + 0x4b, 0xbe, 0xa8, 0xab, 0xe5, 0x83, 0x40, 0x63, 0xf7, 0xc5, 0x45, 0x29, 0xf7, 0xea, 0xa2, 0xb4, + 0x1d, 0x32, 0x64, 0xd6, 0xe3, 0xaa, 0x43, 0x0c, 0x17, 0xf1, 0x4e, 0xf5, 0x04, 0xdb, 0xa8, 0x3d, + 0x38, 0xc2, 0x6d, 0x33, 0x4a, 0xa9, 0x3f, 0x78, 0xfa, 0xac, 0x94, 0xfb, 0xf7, 0x59, 0x29, 0xf7, + 0xe3, 0xf5, 0xf9, 0x5e, 0xc4, 0xe3, 0x97, 0xeb, 0xf3, 0xbd, 0x9d, 0xe8, 0x0d, 0x4d, 0x56, 0x50, + 0x29, 0x43, 0x71, 0x72, 0xc4, 0xc4, 0xcc, 0x27, 0x1e, 0xc3, 0x95, 0x3f, 0x46, 0xe4, 0x3b, 0x6d, + 0xfc, 0x39, 0xc6, 0x96, 0x78, 0xc8, 0x94, 0xaf, 0x42, 0xbe, 0x85, 0x18, 0xd6, 0x16, 0x84, 0x3e, + 0xf1, 0xac, 0x6e, 0x40, 0xe1, 0x49, 0x8f, 0x70, 0x1c, 0x89, 0x0e, 0x0d, 0xf5, 0x13, 0x28, 0x08, + 0xfe, 0xf3, 0x28, 0x0e, 0x33, 0xe6, 0x10, 0x9c, 0xe4, 0x3c, 0x2a, 0x38, 0x19, 0x91, 0x82, 0xff, + 0x54, 0x60, 0x2d, 0x86, 0x34, 0x90, 0x67, 0x99, 0x88, 0x63, 0x16, 0xb4, 0x8d, 0x06, 0x1e, 0x29, + 0x36, 0x36, 0x93, 0x0d, 0x5d, 0x18, 0x6d, 0xe8, 0x06, 0x14, 0x68, 0x90, 0x2c, 0x34, 0xe7, 0xcd, + 0xd0, 0x50, 0x77, 0xe1, 0x75, 0x8a, 0x19, 0xe9, 0xf6, 0x71, 0x93, 0x3b, 0x6e, 0xd4, 0xed, 0xbc, + 0xb9, 0x1a, 0x39, 0xbf, 0x08, 0x7c, 0x6a, 0x11, 0x80, 0xe2, 0x27, 0x3d, 0xcc, 0xf8, 0xf1, 0x11, + 0xd3, 0x0a, 0x02, 0x91, 0xf0, 0xd4, 0xef, 0x05, 0xaa, 0x63, 0x0a, 0x81, 0x6c, 0x2d, 0x25, 0x5b, + 0x32, 0xaf, 0x6c, 0xc3, 0xd6, 0x98, 0x53, 0x8a, 0xfd, 0x4d, 0x01, 0x2d, 0x8e, 0x3e, 0x24, 0x8e, + 0x17, 0xf4, 0xea, 0x14, 0x33, 0x86, 0xec, 0x9b, 0xaf, 0xb7, 0x1b, 0x61, 0x84, 0xe4, 0x55, 0x53, + 0xda, 0x01, 0x71, 0xe6, 0xd8, 0x1e, 0xe2, 0x3d, 0x1a, 0x09, 0x5f, 0x35, 0x13, 0x9e, 0xfa, 0x47, + 0x19, 0x6d, 0x2b, 0xa5, 0xf8, 0xa7, 0xc9, 0x54, 0x2a, 0x50, 0xce, 0x8a, 0x49, 0x35, 0x4f, 0x15, + 0x58, 0x8f, 0x41, 0x8f, 0x38, 0xa1, 0x8f, 0xa7, 0xcc, 0xe9, 0x11, 0xac, 0x20, 0xc6, 0x30, 0x6f, + 0xfa, 0xc8, 0xa1, 0xa1, 0x96, 0x95, 0x83, 0xdd, 0x6a, 0xd6, 0x3a, 0xaa, 0x1e, 0x06, 0xe0, 0x33, + 0xe4, 0x50, 0x13, 0x50, 0xfc, 0xc8, 0xea, 0xeb, 0x13, 0x24, 0x55, 0x76, 0x60, 0x7b, 0x02, 0x13, + 0xc9, 0xf4, 0xa7, 0x78, 0xaa, 0x44, 0x47, 0x83, 0xbe, 0x1c, 0x37, 0x1e, 0x86, 0x37, 0x2d, 0x8b, + 0xec, 0x8e, 0xbc, 0x12, 0x4d, 0xc7, 0x12, 0x6b, 0x25, 0x6f, 0x2e, 0xc7, 0x57, 0xc2, 0x9a, 0x6d, + 0x1e, 0xc6, 0x4e, 0x93, 0xf3, 0x30, 0x16, 0x91, 0x54, 0x7f, 0x57, 0x40, 0x95, 0x23, 0x33, 0xe0, + 0x9d, 0x29, 0xef, 0xf4, 0x2b, 0x50, 0xc5, 0x80, 0x36, 0x11, 0xe7, 0x98, 0x71, 0xc4, 0x1d, 0xe2, + 0xc5, 0xaf, 0x76, 0x2f, 0xfb, 0xd5, 0x8a, 0xaa, 0x87, 0xc3, 0x14, 0x73, 0xcd, 0x4f, 0x79, 0x58, + 0xbd, 0x96, 0x21, 0x71, 0x2b, 0x3d, 0xf2, 0x92, 0x65, 0xe5, 0x2d, 0xd0, 0xc7, 0xbd, 0x52, 0xda, + 0x73, 0x05, 0x6e, 0x9f, 0x32, 0xfb, 0x4b, 0xdf, 0x42, 0x1c, 0x9f, 0x21, 0x8a, 0x5c, 0xa6, 0x7e, + 0x08, 0xcb, 0xa8, 0xc7, 0x3b, 0x84, 0x3a, 0x7c, 0x10, 0x4a, 0x6b, 0x68, 0x7f, 0x3d, 0xdf, 0xdf, + 0x88, 0x3e, 0x13, 0x87, 0x96, 0x45, 0x31, 0x63, 0x8f, 0x38, 0x75, 0x3c, 0xdb, 0x1c, 0x42, 0xd5, + 0xcf, 0x60, 0xc9, 0x17, 0x15, 0x44, 0x6b, 0x56, 0x0e, 0xca, 0x37, 0x68, 0x15, 0xb8, 0x46, 0x3e, + 0xd8, 0x76, 0x66, 0x94, 0x15, 0x4e, 0xf4, 0xb0, 0x5e, 0xa0, 0x6b, 0x73, 0xa8, 0x2b, 0x49, 0xb1, + 0xb2, 0x05, 0x77, 0x52, 0xae, 0x58, 0xd1, 0xc1, 0x7f, 0xb7, 0x60, 0xf1, 0x94, 0xd9, 0xea, 0x0f, + 0x0a, 0xac, 0x4f, 0xfa, 0x62, 0xbd, 0x9f, 0xcd, 0x6a, 0xf2, 0x77, 0x40, 0xff, 0x78, 0xde, 0x8c, + 0x98, 0x4b, 0x92, 0xc3, 0xc8, 0x67, 0x63, 0x26, 0x0e, 0xc9, 0x8c, 0xd9, 0x38, 0x4c, 0x5a, 0xe6, + 0x2a, 0x85, 0x37, 0x52, 0x8b, 0xfc, 0xdd, 0xe9, 0xb5, 0x24, 0x58, 0xbf, 0x3f, 0x07, 0x38, 0xa5, + 0x7b, 0x7c, 0xb0, 0xa7, 0xe9, 0x1e, 0xcb, 0x98, 0xaa, 0x3b, 0x73, 0x68, 0xd5, 0x9f, 0x15, 0x78, + 0x73, 0xf2, 0x52, 0x3f, 0x98, 0x2e, 0x29, 0x9d, 0xa3, 0xd7, 0xe7, 0xcf, 0x91, 0x4c, 0x06, 0xb0, + 0x36, 0xdc, 0x82, 0x51, 0x54, 0xdd, 0x9f, 0x5e, 0x30, 0xb1, 0x35, 0xf5, 0x07, 0x73, 0xc1, 0xe5, + 0xd1, 0x3d, 0xb8, 0x9d, 0xde, 0x5a, 0xef, 0xcd, 0x70, 0x93, 0x24, 0x5a, 0xff, 0x60, 0x1e, 0xb4, + 0x3c, 0xb6, 0x0b, 0xab, 0x23, 0x1b, 0xe5, 0xde, 0x8d, 0x55, 0x92, 0x50, 0xbd, 0x36, 0x33, 0x34, + 0x3e, 0x4d, 0x2f, 0x7c, 0x7f, 0x7d, 0xbe, 0xa7, 0x34, 0xbe, 0x79, 0x71, 0x59, 0x54, 0x5e, 0x5e, + 0x16, 0x95, 0x7f, 0x2e, 0x8b, 0xca, 0xaf, 0x57, 0xc5, 0xdc, 0xcb, 0xab, 0x62, 0xee, 0xef, 0xab, + 0x62, 0xee, 0xeb, 0x13, 0xdb, 0xe1, 0x9d, 0x5e, 0xab, 0xda, 0x26, 0xae, 0x71, 0x1c, 0x57, 0x3f, + 0x41, 0x2d, 0x66, 0xc8, 0xb3, 0xf6, 0xdb, 0x84, 0xe2, 0xa4, 0xd9, 0x41, 0x8e, 0x67, 0xb8, 0xc4, + 0xea, 0x75, 0x31, 0x8b, 0x7f, 0x63, 0xf3, 0x81, 0x8f, 0x59, 0x6b, 0x49, 0xfc, 0x28, 0xbe, 0xff, + 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x21, 0x85, 0x8e, 0x1e, 0xd7, 0x0b, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -729,6 +811,9 @@ type MsgClient interface { // RelayCoinbaseMessages defines a method for relaying price messages from // Coinbase API RelayCoinbaseMessages(ctx context.Context, in *MsgRelayCoinbaseMessages, opts ...grpc.CallOption) (*MsgRelayCoinbaseMessagesResponse, error) + // RelayStorkMessage defines a method for relaying price message from + // Stork API + RelayStorkMessage(ctx context.Context, in *MsgRelayStorkPrices, opts ...grpc.CallOption) (*MsgRelayStorkPricesResponse, 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 @@ -788,6 +873,15 @@ func (c *msgClient) RelayCoinbaseMessages(ctx context.Context, in *MsgRelayCoinb return out, nil } +func (c *msgClient) RelayStorkMessage(ctx context.Context, in *MsgRelayStorkPrices, opts ...grpc.CallOption) (*MsgRelayStorkPricesResponse, error) { + out := new(MsgRelayStorkPricesResponse) + err := c.cc.Invoke(ctx, "/injective.oracle.v1beta1.Msg/RelayStorkMessage", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *msgClient) RelayPythPrices(ctx context.Context, in *MsgRelayPythPrices, opts ...grpc.CallOption) (*MsgRelayPythPricesResponse, error) { out := new(MsgRelayPythPricesResponse) err := c.cc.Invoke(ctx, "/injective.oracle.v1beta1.Msg/RelayPythPrices", in, out, opts...) @@ -821,6 +915,9 @@ type MsgServer interface { // RelayCoinbaseMessages defines a method for relaying price messages from // Coinbase API RelayCoinbaseMessages(context.Context, *MsgRelayCoinbaseMessages) (*MsgRelayCoinbaseMessagesResponse, error) + // RelayStorkMessage defines a method for relaying price message from + // Stork API + RelayStorkMessage(context.Context, *MsgRelayStorkPrices) (*MsgRelayStorkPricesResponse, 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 @@ -846,6 +943,9 @@ func (*UnimplementedMsgServer) RequestBandIBCRates(ctx context.Context, req *Msg func (*UnimplementedMsgServer) RelayCoinbaseMessages(ctx context.Context, req *MsgRelayCoinbaseMessages) (*MsgRelayCoinbaseMessagesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RelayCoinbaseMessages not implemented") } +func (*UnimplementedMsgServer) RelayStorkMessage(ctx context.Context, req *MsgRelayStorkPrices) (*MsgRelayStorkPricesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RelayStorkMessage not implemented") +} func (*UnimplementedMsgServer) RelayPythPrices(ctx context.Context, req *MsgRelayPythPrices) (*MsgRelayPythPricesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RelayPythPrices not implemented") } @@ -947,6 +1047,24 @@ func _Msg_RelayCoinbaseMessages_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } +func _Msg_RelayStorkMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRelayStorkPrices) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).RelayStorkMessage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.oracle.v1beta1.Msg/RelayStorkMessage", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).RelayStorkMessage(ctx, req.(*MsgRelayStorkPrices)) + } + return interceptor(ctx, in, info, handler) +} + func _Msg_RelayPythPrices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MsgRelayPythPrices) if err := dec(in); err != nil { @@ -1007,6 +1125,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "RelayCoinbaseMessages", Handler: _Msg_RelayCoinbaseMessages_Handler, }, + { + MethodName: "RelayStorkMessage", + Handler: _Msg_RelayStorkMessage_Handler, + }, { MethodName: "RelayPythPrices", Handler: _Msg_RelayPythPrices_Handler, @@ -1375,6 +1497,73 @@ func (m *MsgRelayCoinbaseMessagesResponse) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } +func (m *MsgRelayStorkPrices) 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 *MsgRelayStorkPrices) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRelayStorkPrices) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.AssetPairs) > 0 { + for iNdEx := len(m.AssetPairs) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.AssetPairs[iNdEx].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 *MsgRelayStorkPricesResponse) 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 *MsgRelayStorkPricesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRelayStorkPricesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func (m *MsgRequestBandIBCRates) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -1735,6 +1924,34 @@ func (m *MsgRelayCoinbaseMessagesResponse) Size() (n int) { return n } +func (m *MsgRelayStorkPrices) 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)) + } + if len(m.AssetPairs) > 0 { + for _, e := range m.AssetPairs { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgRelayStorkPricesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func (m *MsgRequestBandIBCRates) Size() (n int) { if m == nil { return 0 @@ -2870,6 +3087,172 @@ func (m *MsgRelayCoinbaseMessagesResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgRelayStorkPrices) 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: MsgRelayStorkPrices: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRelayStorkPrices: 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 AssetPairs", 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 + } + m.AssetPairs = append(m.AssetPairs, &AssetPair{}) + if err := m.AssetPairs[len(m.AssetPairs)-1].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 *MsgRelayStorkPricesResponse) 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: MsgRelayStorkPricesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRelayStorkPricesResponse: 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 *MsgRequestBandIBCRates) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/chain/peggy/types/msgs.pb.go b/chain/peggy/types/msgs.pb.go index a19ba087..b9928aab 100644 --- a/chain/peggy/types/msgs.pb.go +++ b/chain/peggy/types/msgs.pb.go @@ -1610,118 +1610,118 @@ func init() { func init() { proto.RegisterFile("injective/peggy/v1/msgs.proto", fileDescriptor_751daa04abed7ef4) } var fileDescriptor_751daa04abed7ef4 = []byte{ - // 1769 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4d, 0x6c, 0xdc, 0xc6, - 0x15, 0x16, 0xb5, 0xab, 0xbf, 0x59, 0xc9, 0xb2, 0x59, 0xd9, 0x5e, 0xd1, 0xd6, 0x4a, 0xa2, 0x6c, - 0x4b, 0x96, 0x6d, 0x52, 0x2b, 0xb7, 0x76, 0x2d, 0xa0, 0x05, 0xbc, 0x92, 0x8a, 0x1a, 0xad, 0xdc, - 0x62, 0xe5, 0xba, 0x40, 0x2f, 0xec, 0x2c, 0x39, 0x26, 0x59, 0x2d, 0x39, 0x5b, 0xce, 0xec, 0xba, - 0x3a, 0x14, 0x68, 0x7d, 0x74, 0x0f, 0x2d, 0xd0, 0x43, 0x90, 0x43, 0x4e, 0xc9, 0xd5, 0x80, 0x0f, - 0x01, 0x82, 0xf8, 0x9c, 0x00, 0x3e, 0x1a, 0xc9, 0x25, 0x08, 0x02, 0x23, 0xb0, 0x03, 0x18, 0xc8, - 0x29, 0xf7, 0x5c, 0x02, 0xce, 0x0c, 0xb9, 0xe4, 0x2e, 0xb9, 0x5a, 0x01, 0xba, 0x08, 0x3b, 0x6f, - 0xde, 0x9b, 0xf9, 0xde, 0xef, 0x7c, 0x14, 0x58, 0x70, 0xfd, 0xbf, 0x21, 0x93, 0xba, 0x1d, 0xa4, - 0xb7, 0x90, 0x6d, 0x1f, 0xea, 0x9d, 0xaa, 0xee, 0x11, 0x9b, 0x68, 0xad, 0x00, 0x53, 0x2c, 0xcb, - 0xf1, 0xb6, 0xc6, 0xb6, 0xb5, 0x4e, 0x55, 0xa9, 0x98, 0x98, 0x78, 0x98, 0xe8, 0x0d, 0x48, 0x90, - 0xde, 0xa9, 0x36, 0x10, 0x85, 0x55, 0xdd, 0xc4, 0xae, 0xcf, 0x6d, 0x94, 0x39, 0x1b, 0xdb, 0x98, - 0xfd, 0xd4, 0xc3, 0x5f, 0x42, 0x7a, 0xd1, 0xc6, 0xd8, 0x6e, 0x22, 0x1d, 0xb6, 0x5c, 0x1d, 0xfa, - 0x3e, 0xa6, 0x90, 0xba, 0xd8, 0x17, 0xf7, 0x28, 0x95, 0x0c, 0x18, 0xf4, 0xb0, 0x85, 0xa2, 0xfd, - 0xc5, 0x8c, 0xfd, 0x16, 0x0c, 0xa0, 0x17, 0x29, 0xcc, 0x8b, 0xe3, 0xd9, 0xaa, 0xd1, 0x7e, 0xa4, - 0x43, 0xff, 0x50, 0x6c, 0x9d, 0x17, 0x78, 0x3d, 0x62, 0x0b, 0xef, 0x22, 0x1b, 0xbe, 0x61, 0x70, - 0xac, 0x7c, 0x21, 0xb6, 0xce, 0x40, 0xcf, 0xf5, 0xb1, 0xce, 0xfe, 0x72, 0x91, 0xfa, 0x4c, 0x02, - 0x17, 0xf6, 0x88, 0xbd, 0x8f, 0xe8, 0x1f, 0x02, 0xd3, 0x41, 0x84, 0x06, 0x90, 0xe2, 0xe0, 0xae, - 0x65, 0x05, 0x88, 0x10, 0x44, 0xe4, 0x73, 0x60, 0x9c, 0x20, 0xdf, 0x42, 0x41, 0x59, 0x5a, 0x92, - 0xd6, 0xa6, 0xea, 0x62, 0x25, 0xab, 0x60, 0x1a, 0x27, 0x0c, 0xca, 0xa3, 0x6c, 0x37, 0x25, 0x93, - 0x17, 0x41, 0x09, 0x51, 0xc7, 0x80, 0xfc, 0xb0, 0x72, 0x81, 0xa9, 0x00, 0x44, 0x1d, 0x71, 0xfc, - 0x56, 0xf5, 0xc9, 0xbb, 0xe7, 0xeb, 0xe2, 0xc4, 0xa7, 0xef, 0x9e, 0xaf, 0x2f, 0xf3, 0x28, 0x0c, - 0xc0, 0xa3, 0x5e, 0x06, 0x2b, 0x03, 0xb6, 0xeb, 0x88, 0xb4, 0xb0, 0x4f, 0x90, 0xfa, 0xa9, 0x04, - 0x4e, 0xef, 0x11, 0xfb, 0x21, 0x6c, 0x12, 0x44, 0xb7, 0xb1, 0xff, 0xc8, 0x0d, 0x3c, 0x79, 0x0e, - 0x8c, 0xf9, 0xd8, 0x37, 0x11, 0x73, 0xa5, 0x58, 0xe7, 0x8b, 0x13, 0xf1, 0x44, 0xbe, 0x08, 0xa6, - 0x88, 0x6b, 0xfb, 0x90, 0xb6, 0x03, 0x54, 0x2e, 0xb2, 0xed, 0xae, 0x60, 0xeb, 0x7a, 0xe8, 0x67, - 0xea, 0xc4, 0xd0, 0xdb, 0x73, 0xb1, 0xb7, 0x29, 0x98, 0xaa, 0x02, 0xca, 0xbd, 0xb2, 0xd8, 0xaf, - 0xd7, 0x12, 0x98, 0x66, 0xfe, 0xfb, 0xd6, 0x03, 0xbc, 0x4b, 0x9d, 0xdc, 0xfc, 0xcc, 0x83, 0xc9, - 0x10, 0xb1, 0x85, 0x08, 0x15, 0x1e, 0x4d, 0x20, 0xea, 0xec, 0x20, 0x42, 0xe5, 0xdb, 0x60, 0x1c, - 0x7a, 0xb8, 0xed, 0x53, 0xe6, 0x47, 0x69, 0x73, 0x5e, 0x13, 0x45, 0x12, 0x96, 0xbe, 0x26, 0x4a, - 0x5f, 0xdb, 0xc6, 0xae, 0x5f, 0x2b, 0xbe, 0x7c, 0xbd, 0x38, 0x52, 0x17, 0xea, 0xf2, 0xaf, 0x01, - 0x68, 0x04, 0xae, 0x65, 0x23, 0xe3, 0x11, 0xe2, 0x5e, 0x0e, 0x61, 0x3c, 0xc5, 0x4d, 0x7e, 0x83, - 0xd0, 0x96, 0xda, 0x93, 0x6e, 0x39, 0x91, 0x6e, 0xe1, 0x8f, 0x7a, 0x0e, 0xcc, 0x25, 0xd7, 0xb1, - 0xe3, 0xff, 0x00, 0xb3, 0x7b, 0xc4, 0xae, 0xa3, 0xbf, 0xb7, 0x11, 0xa1, 0x35, 0x48, 0x4d, 0xa7, - 0x2f, 0x71, 0x52, 0x46, 0xe2, 0xe6, 0xc0, 0x98, 0x85, 0x7c, 0xec, 0x89, 0x18, 0xf0, 0xc5, 0xd6, - 0xb5, 0xcc, 0x7c, 0x9c, 0x8d, 0xe1, 0x24, 0xaf, 0x51, 0xe7, 0xc1, 0xf9, 0x1e, 0x51, 0x0c, 0xea, - 0x1b, 0x89, 0xa1, 0x12, 0x49, 0xe2, 0xa8, 0xb2, 0x8b, 0xec, 0x32, 0x38, 0x45, 0xf1, 0x01, 0xf2, - 0x0d, 0x13, 0xfb, 0x34, 0x80, 0x66, 0x94, 0x94, 0x19, 0x26, 0xdd, 0x16, 0x42, 0x79, 0x01, 0x84, - 0x45, 0x65, 0x84, 0x95, 0x83, 0x02, 0x51, 0x66, 0x53, 0x88, 0x3a, 0xfb, 0x4c, 0xd0, 0xe7, 0x71, - 0x31, 0xc3, 0xe3, 0x54, 0x25, 0x8e, 0xf5, 0x56, 0xe2, 0x51, 0x9e, 0x27, 0x5d, 0x11, 0x9e, 0x27, - 0x45, 0xb1, 0xe7, 0xdf, 0x8f, 0x32, 0xcf, 0x77, 0x50, 0x0b, 0x13, 0x97, 0x6e, 0x37, 0xa1, 0xeb, - 0xb1, 0x26, 0xe9, 0x20, 0x9f, 0x1a, 0x49, 0xff, 0x01, 0x13, 0xdd, 0x67, 0x41, 0x58, 0x06, 0xd3, - 0x8d, 0x26, 0x36, 0x0f, 0x0c, 0x07, 0xb9, 0xb6, 0xc3, 0x43, 0x50, 0xac, 0x97, 0x98, 0xec, 0xb7, - 0x4c, 0x94, 0x11, 0xa7, 0x42, 0x56, 0x9c, 0x7e, 0x11, 0x97, 0x30, 0x0b, 0x41, 0x6d, 0x21, 0x2c, - 0xb5, 0xaf, 0x5f, 0x2f, 0x9e, 0xe5, 0xc5, 0x48, 0xac, 0x03, 0xcd, 0xc5, 0xba, 0x07, 0xa9, 0xa3, - 0xdd, 0xf3, 0x69, 0x5c, 0xc0, 0xab, 0x60, 0x16, 0x51, 0x07, 0x05, 0xa8, 0xed, 0x19, 0xa2, 0x6b, - 0x78, 0x84, 0x4e, 0x45, 0xe2, 0x7d, 0xde, 0x3d, 0xab, 0x60, 0x56, 0x4c, 0xd1, 0x00, 0x99, 0xc8, - 0xed, 0xa0, 0xa0, 0x3c, 0xce, 0x15, 0xb9, 0xb8, 0x2e, 0xa4, 0x7d, 0x19, 0x99, 0xc8, 0xc8, 0x88, - 0x0c, 0x8a, 0x16, 0xa4, 0xb0, 0x3c, 0xc9, 0xf6, 0xd8, 0xef, 0x23, 0xf3, 0x90, 0x0c, 0xac, 0xc8, - 0x43, 0x52, 0x14, 0xe7, 0xe1, 0x07, 0x3e, 0xe7, 0xfe, 0xec, 0x52, 0xc7, 0x0a, 0xe0, 0xe3, 0x93, - 0x4b, 0xc4, 0x22, 0x28, 0x35, 0xc2, 0x8c, 0x8b, 0x33, 0x0a, 0xfc, 0x0c, 0x26, 0xba, 0x9f, 0x53, - 0xd1, 0xc5, 0xac, 0x4c, 0xf5, 0x06, 0x68, 0xac, 0x3f, 0x40, 0x47, 0x8e, 0xc7, 0x94, 0x77, 0x62, - 0x3c, 0xa6, 0x64, 0x71, 0x38, 0x3e, 0x1b, 0x05, 0x67, 0xf7, 0x88, 0xbd, 0x5b, 0xdf, 0xde, 0xdc, - 0xd8, 0x41, 0xad, 0x26, 0x3e, 0x44, 0xd6, 0xc9, 0xc5, 0x64, 0x19, 0x4c, 0x8b, 0xaa, 0xe0, 0x33, - 0x85, 0x97, 0x66, 0x89, 0xcb, 0x76, 0x42, 0xd1, 0xb0, 0x51, 0x91, 0x41, 0xd1, 0x87, 0x5e, 0xd4, - 0x9f, 0xec, 0x37, 0x9b, 0xe4, 0x87, 0x5e, 0x03, 0x37, 0x45, 0xa9, 0x89, 0x95, 0xac, 0x80, 0x49, - 0x0b, 0x99, 0xae, 0x07, 0x9b, 0x84, 0x95, 0x57, 0xb1, 0x1e, 0xaf, 0xfb, 0xa2, 0x3b, 0x99, 0x11, - 0xdd, 0x6a, 0x66, 0x74, 0x2f, 0xc4, 0xd1, 0xed, 0x0f, 0x96, 0xba, 0x08, 0x16, 0x32, 0x37, 0xe2, - 0x38, 0xff, 0x13, 0xc8, 0xe1, 0x64, 0x80, 0xbe, 0x89, 0x9a, 0xdd, 0xb7, 0x28, 0x74, 0x3e, 0x80, - 0x3e, 0x81, 0x66, 0x48, 0x82, 0x0c, 0xd7, 0x12, 0x61, 0x9e, 0x49, 0x48, 0xef, 0x59, 0x89, 0x27, - 0x6b, 0x34, 0xf9, 0x64, 0x6d, 0xad, 0xf5, 0x3c, 0x0f, 0xe5, 0xee, 0x54, 0x4a, 0x5f, 0xa4, 0x5e, - 0x04, 0x4a, 0xbf, 0x34, 0x06, 0xf7, 0x42, 0x62, 0xf0, 0xf7, 0xdb, 0x0d, 0xcf, 0xa5, 0x35, 0x68, - 0xed, 0x47, 0xd3, 0x6f, 0xb7, 0xe3, 0x5a, 0x28, 0xcc, 0xb5, 0x06, 0x26, 0x48, 0xbb, 0x11, 0x52, - 0x2f, 0x86, 0xb0, 0xb4, 0x39, 0xa7, 0x71, 0xa2, 0xa5, 0x45, 0x44, 0x4b, 0xbb, 0xeb, 0x1f, 0xd6, - 0x23, 0xa5, 0xf4, 0x4c, 0x1d, 0xed, 0x99, 0xa9, 0x09, 0x7f, 0x0a, 0x29, 0x7f, 0x6e, 0xf6, 0xf8, - 0xb3, 0xd2, 0x7d, 0xee, 0x72, 0xa1, 0xa9, 0xab, 0xe0, 0xf2, 0x40, 0x85, 0xd8, 0xcb, 0x1f, 0x79, - 0xa9, 0x73, 0x9a, 0xf0, 0xa7, 0x96, 0x05, 0xe9, 0x71, 0x4a, 0xbd, 0xc3, 0xcc, 0x84, 0x86, 0x28, - 0x75, 0x2e, 0xcb, 0xee, 0x86, 0x42, 0x7f, 0x37, 0xfc, 0x0a, 0x4c, 0x78, 0xc8, 0x6b, 0xa0, 0x80, - 0x94, 0x8b, 0x4b, 0x85, 0xb5, 0xd2, 0xe6, 0x8a, 0xd6, 0x4f, 0xab, 0xb5, 0x1a, 0x7b, 0xfd, 0x1f, - 0xc2, 0xa6, 0x6b, 0x85, 0xa5, 0x57, 0x8f, 0x6c, 0xe4, 0x1a, 0x98, 0x09, 0xd0, 0x63, 0x18, 0x58, - 0x86, 0x98, 0xe4, 0x63, 0xc3, 0x4c, 0xf2, 0x69, 0x6e, 0x73, 0x97, 0xcf, 0xf3, 0x65, 0x20, 0xd6, - 0x06, 0x6b, 0x2f, 0xd1, 0x38, 0x25, 0x2e, 0x7b, 0x10, 0x8a, 0x86, 0x19, 0xd0, 0x47, 0x76, 0x48, - 0x7f, 0x8c, 0x45, 0x87, 0xf4, 0x6f, 0xc4, 0xe9, 0x79, 0xc6, 0xa9, 0x01, 0xdf, 0xfb, 0x23, 0xe3, - 0xf4, 0xf2, 0x2d, 0x30, 0x05, 0xdb, 0xd4, 0xc1, 0x81, 0x4b, 0x0f, 0x39, 0x5b, 0xa9, 0x95, 0xbf, - 0xf8, 0xf8, 0xc6, 0x9c, 0x60, 0x50, 0x82, 0x4b, 0xee, 0xd3, 0xc0, 0xf5, 0xed, 0x7a, 0x57, 0x55, - 0xfe, 0x25, 0x18, 0xe7, 0x5f, 0x05, 0x2c, 0x53, 0xa5, 0x4d, 0x25, 0x2b, 0xd0, 0xfc, 0x8e, 0x88, - 0xb1, 0x71, 0x7d, 0xde, 0x52, 0xdd, 0x93, 0xd2, 0x6f, 0x4c, 0x12, 0x9b, 0x78, 0x63, 0x92, 0xa2, - 0xd8, 0x95, 0x0f, 0x78, 0x3f, 0xd5, 0x9a, 0xd0, 0x3c, 0x68, 0xba, 0x84, 0xee, 0x8a, 0xb7, 0x32, - 0xfd, 0x91, 0xc0, 0x29, 0x4b, 0x44, 0x42, 0x39, 0x5f, 0xd1, 0xc1, 0xcf, 0x1a, 0x91, 0x55, 0x44, - 0x9e, 0x51, 0xe8, 0x45, 0x61, 0x6d, 0xaa, 0x2e, 0xc7, 0x5b, 0xf1, 0x41, 0x51, 0xcb, 0x30, 0xeb, - 0x74, 0xcb, 0xe4, 0xdf, 0x2e, 0x5a, 0x26, 0x5f, 0x21, 0x76, 0xe4, 0x3d, 0x89, 0xcd, 0x8d, 0x3a, - 0xea, 0xe0, 0x03, 0x14, 0xa9, 0xc5, 0x76, 0x27, 0xe7, 0xc5, 0x46, 0x8f, 0x17, 0x4b, 0x09, 0x62, - 0x99, 0x79, 0xb5, 0x7a, 0x09, 0xa8, 0xf9, 0xbb, 0x11, 0xfe, 0xcd, 0x4f, 0x4e, 0x83, 0xc2, 0x1e, - 0xb1, 0xe5, 0xff, 0x4a, 0x60, 0x26, 0xfd, 0x65, 0x73, 0x29, 0xab, 0x22, 0x7a, 0x3f, 0x22, 0x94, - 0xeb, 0xc3, 0x68, 0xc5, 0xd1, 0x5a, 0x7f, 0xf2, 0xe5, 0x77, 0xff, 0x1f, 0xbd, 0xa4, 0xaa, 0x7a, - 0xc6, 0x57, 0xaa, 0x98, 0x1f, 0xa6, 0xb8, 0xff, 0x5f, 0x12, 0x98, 0xea, 0xbe, 0x03, 0x4b, 0x39, - 0xf7, 0xc4, 0x1a, 0xca, 0xda, 0x51, 0x1a, 0x31, 0x8a, 0x55, 0x86, 0x62, 0x59, 0x5d, 0xcc, 0x42, - 0x11, 0xce, 0x56, 0x83, 0x62, 0x03, 0x51, 0x47, 0xfe, 0x8f, 0x04, 0xa6, 0x53, 0x9f, 0x07, 0x2b, - 0x39, 0x77, 0x24, 0x95, 0x94, 0x6b, 0x43, 0x28, 0xc5, 0x58, 0xae, 0x32, 0x2c, 0x2b, 0xea, 0x72, - 0x16, 0x96, 0x80, 0x5b, 0x18, 0x8c, 0x22, 0x31, 0x34, 0xa9, 0xcf, 0x82, 0x3c, 0x34, 0x49, 0xa5, - 0x5c, 0x34, 0x99, 0x14, 0x7c, 0x20, 0x1a, 0x91, 0x98, 0x04, 0x9a, 0x14, 0x55, 0xcf, 0x43, 0x93, - 0x54, 0xca, 0x45, 0x93, 0x49, 0x44, 0x07, 0xa2, 0xb1, 0xb8, 0x85, 0x61, 0xb2, 0xcb, 0xc3, 0xf2, - 0x4d, 0x13, 0xd6, 0xbc, 0xf2, 0x4d, 0x69, 0xe5, 0x96, 0x6f, 0x36, 0x15, 0x1c, 0x58, 0xbe, 0x8f, - 0x85, 0x89, 0x40, 0xf4, 0xa1, 0x04, 0xce, 0x24, 0x67, 0x39, 0x47, 0x75, 0x75, 0x60, 0xbb, 0x24, - 0xa7, 0xbe, 0x52, 0x1d, 0x5a, 0x35, 0xc6, 0xb7, 0xc1, 0xf0, 0xad, 0xab, 0x6b, 0x03, 0xda, 0xab, - 0xcd, 0x0d, 0x05, 0xca, 0x8f, 0x24, 0x20, 0x67, 0x30, 0xdb, 0x3c, 0x98, 0xfd, 0xaa, 0xb9, 0x30, - 0x07, 0x30, 0xbd, 0x81, 0x30, 0x51, 0x60, 0x6e, 0x6e, 0x18, 0x96, 0x30, 0x14, 0x30, 0x5f, 0x48, - 0xa0, 0x9c, 0xfb, 0xef, 0x24, 0x3d, 0xb7, 0xf1, 0xb3, 0x0d, 0x94, 0xdb, 0xc7, 0x34, 0x88, 0x81, - 0xff, 0x9c, 0x01, 0xd7, 0xd4, 0xeb, 0xd9, 0x83, 0x83, 0x1a, 0xc9, 0xf7, 0x3e, 0x1a, 0xeb, 0xf2, - 0xfb, 0x12, 0x98, 0xed, 0xa5, 0xb5, 0x57, 0xf2, 0xba, 0x32, 0xad, 0xa7, 0x68, 0xc3, 0xe9, 0xc5, - 0x08, 0x35, 0x86, 0x70, 0x4d, 0xbd, 0x92, 0xd9, 0xc0, 0xcc, 0xc8, 0x48, 0x4e, 0xb8, 0xcf, 0x25, - 0xa0, 0x0c, 0x20, 0xb5, 0x79, 0xc9, 0xcd, 0x37, 0x51, 0xee, 0x1c, 0xdb, 0x24, 0x06, 0x7f, 0x87, - 0x81, 0xbf, 0xa9, 0x56, 0x33, 0xc3, 0xcb, 0xec, 0x8d, 0x06, 0xb4, 0x8c, 0x98, 0x26, 0x1b, 0x28, - 0x02, 0xfa, 0x57, 0x30, 0x9d, 0xa2, 0x45, 0x79, 0xc3, 0x28, 0xa9, 0x94, 0x3b, 0x8c, 0xb2, 0x18, - 0x8b, 0xfc, 0x54, 0x02, 0xca, 0x00, 0xba, 0x92, 0x17, 0xa9, 0x7c, 0x93, 0xdc, 0x48, 0x1d, 0xcd, - 0x3a, 0xe4, 0x7f, 0x4b, 0xe0, 0x7c, 0x1e, 0xe5, 0xd0, 0x72, 0x9f, 0x9f, 0x4c, 0x7d, 0xe5, 0xd6, - 0xf1, 0xf4, 0x23, 0x0c, 0x35, 0xf4, 0xf2, 0x4d, 0x45, 0x7a, 0xf5, 0xa6, 0x22, 0x7d, 0xfb, 0xa6, - 0x22, 0xfd, 0xef, 0x6d, 0x65, 0xe4, 0xd5, 0xdb, 0xca, 0xc8, 0x57, 0x6f, 0x2b, 0x23, 0x7f, 0xf9, - 0x9d, 0xed, 0x52, 0xa7, 0xdd, 0xd0, 0x4c, 0xec, 0xe9, 0xf7, 0xa2, 0xb3, 0x7f, 0x0f, 0x1b, 0xa4, - 0x9b, 0xd7, 0x1b, 0x26, 0x0e, 0x50, 0x72, 0xe9, 0x40, 0xd7, 0xd7, 0x3d, 0x6c, 0xb5, 0x9b, 0x88, - 0x88, 0xa4, 0xb3, 0xff, 0x6a, 0x37, 0xc6, 0xd9, 0xe7, 0xd3, 0xcd, 0x9f, 0x02, 0x00, 0x00, 0xff, - 0xff, 0x13, 0xd4, 0x22, 0xee, 0x7f, 0x17, 0x00, 0x00, + // 1776 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4d, 0x6c, 0xdb, 0xc8, + 0x15, 0x36, 0x2d, 0xf9, 0x6f, 0x64, 0xc7, 0x09, 0xeb, 0x24, 0x32, 0x13, 0xcb, 0x36, 0x9d, 0xc4, + 0x8e, 0x93, 0x90, 0x96, 0xd3, 0x26, 0x8d, 0x81, 0x16, 0x88, 0x6c, 0x17, 0x0d, 0x5a, 0xa7, 0x85, + 0x9c, 0xa6, 0x40, 0x2f, 0xec, 0x88, 0x9c, 0x90, 0xac, 0x45, 0x8e, 0xca, 0x19, 0x29, 0xf5, 0xa1, + 0x40, 0x9a, 0x63, 0x7a, 0x68, 0x81, 0x1e, 0x8a, 0x1e, 0x7a, 0xda, 0xbd, 0x06, 0xc8, 0x61, 0x2f, + 0x9b, 0xc3, 0x9e, 0x76, 0x81, 0x1c, 0x83, 0xdd, 0xcb, 0x62, 0xb1, 0x08, 0x16, 0xc9, 0x02, 0x01, + 0xf6, 0xb4, 0xf7, 0xbd, 0x2c, 0x38, 0x33, 0xa4, 0x48, 0x89, 0x94, 0x65, 0xc0, 0x17, 0x43, 0xf3, + 0xe6, 0xbd, 0x99, 0xef, 0xfd, 0xce, 0x47, 0x83, 0x05, 0xd7, 0xff, 0x0b, 0x32, 0xa9, 0xdb, 0x41, + 0x7a, 0x0b, 0xd9, 0xf6, 0xa1, 0xde, 0xa9, 0xea, 0x1e, 0xb1, 0x89, 0xd6, 0x0a, 0x30, 0xc5, 0xb2, + 0x1c, 0x6f, 0x6b, 0x6c, 0x5b, 0xeb, 0x54, 0x95, 0x8a, 0x89, 0x89, 0x87, 0x89, 0xde, 0x80, 0x04, + 0xe9, 0x9d, 0x6a, 0x03, 0x51, 0x58, 0xd5, 0x4d, 0xec, 0xfa, 0xdc, 0x46, 0x99, 0xb3, 0xb1, 0x8d, + 0xd9, 0x4f, 0x3d, 0xfc, 0x25, 0xa4, 0x17, 0x6d, 0x8c, 0xed, 0x26, 0xd2, 0x61, 0xcb, 0xd5, 0xa1, + 0xef, 0x63, 0x0a, 0xa9, 0x8b, 0x7d, 0x71, 0x8f, 0x52, 0xc9, 0x80, 0x41, 0x0f, 0x5b, 0x28, 0xda, + 0x5f, 0xcc, 0xd8, 0x6f, 0xc1, 0x00, 0x7a, 0x91, 0xc2, 0xbc, 0x38, 0x9e, 0xad, 0x1a, 0xed, 0x47, + 0x3a, 0xf4, 0x0f, 0xc5, 0xd6, 0x79, 0x81, 0xd7, 0x23, 0xb6, 0xf0, 0x2e, 0xb2, 0xe1, 0x1b, 0x06, + 0xc7, 0xca, 0x17, 0x62, 0xeb, 0x0c, 0xf4, 0x5c, 0x1f, 0xeb, 0xec, 0x2f, 0x17, 0xa9, 0xcf, 0x25, + 0x70, 0x61, 0x8f, 0xd8, 0xfb, 0x88, 0xfe, 0x2e, 0x30, 0x1d, 0x44, 0x68, 0x00, 0x29, 0x0e, 0xee, + 0x5a, 0x56, 0x80, 0x08, 0x41, 0x44, 0x3e, 0x07, 0xc6, 0x09, 0xf2, 0x2d, 0x14, 0x94, 0xa5, 0x25, + 0x69, 0x6d, 0xaa, 0x2e, 0x56, 0xb2, 0x0a, 0xa6, 0x71, 0xc2, 0xa0, 0x3c, 0xca, 0x76, 0x53, 0x32, + 0x79, 0x11, 0x94, 0x10, 0x75, 0x0c, 0xc8, 0x0f, 0x2b, 0x17, 0x98, 0x0a, 0x40, 0xd4, 0x11, 0xc7, + 0x6f, 0x55, 0x9f, 0xbe, 0x7f, 0xb1, 0x2e, 0x4e, 0x7c, 0xf6, 0xfe, 0xc5, 0xfa, 0x32, 0x8f, 0xc2, + 0x00, 0x3c, 0xea, 0x65, 0xb0, 0x32, 0x60, 0xbb, 0x8e, 0x48, 0x0b, 0xfb, 0x04, 0xa9, 0x1f, 0x4b, + 0xe0, 0xf4, 0x1e, 0xb1, 0x1f, 0xc2, 0x26, 0x41, 0x74, 0x1b, 0xfb, 0x8f, 0xdc, 0xc0, 0x93, 0xe7, + 0xc0, 0x98, 0x8f, 0x7d, 0x13, 0x31, 0x57, 0x8a, 0x75, 0xbe, 0x38, 0x11, 0x4f, 0xe4, 0x8b, 0x60, + 0x8a, 0xb8, 0xb6, 0x0f, 0x69, 0x3b, 0x40, 0xe5, 0x22, 0xdb, 0xee, 0x0a, 0xb6, 0xae, 0x87, 0x7e, + 0xa6, 0x4e, 0x0c, 0xbd, 0x3d, 0x17, 0x7b, 0x9b, 0x82, 0xa9, 0x2a, 0xa0, 0xdc, 0x2b, 0x8b, 0xfd, + 0x7a, 0x23, 0x81, 0x69, 0xe6, 0xbf, 0x6f, 0x3d, 0xc0, 0xbb, 0xd4, 0xc9, 0xcd, 0xcf, 0x3c, 0x98, + 0x0c, 0x11, 0x5b, 0x88, 0x50, 0xe1, 0xd1, 0x04, 0xa2, 0xce, 0x0e, 0x22, 0x54, 0xbe, 0x0d, 0xc6, + 0xa1, 0x87, 0xdb, 0x3e, 0x65, 0x7e, 0x94, 0x36, 0xe7, 0x35, 0x51, 0x24, 0x61, 0xe9, 0x6b, 0xa2, + 0xf4, 0xb5, 0x6d, 0xec, 0xfa, 0xb5, 0xe2, 0xab, 0x37, 0x8b, 0x23, 0x75, 0xa1, 0x2e, 0xff, 0x12, + 0x80, 0x46, 0xe0, 0x5a, 0x36, 0x32, 0x1e, 0x21, 0xee, 0xe5, 0x10, 0xc6, 0x53, 0xdc, 0xe4, 0x57, + 0x08, 0x6d, 0xa9, 0x3d, 0xe9, 0x96, 0x13, 0xe9, 0x16, 0xfe, 0xa8, 0xe7, 0xc0, 0x5c, 0x72, 0x1d, + 0x3b, 0xfe, 0x37, 0x30, 0xbb, 0x47, 0xec, 0x3a, 0xfa, 0x6b, 0x1b, 0x11, 0x5a, 0x83, 0xd4, 0x74, + 0xfa, 0x12, 0x27, 0x65, 0x24, 0x6e, 0x0e, 0x8c, 0x59, 0xc8, 0xc7, 0x9e, 0x88, 0x01, 0x5f, 0x6c, + 0x5d, 0xcb, 0xcc, 0xc7, 0xd9, 0x18, 0x4e, 0xf2, 0x1a, 0x75, 0x1e, 0x9c, 0xef, 0x11, 0xc5, 0xa0, + 0xbe, 0x96, 0x18, 0x2a, 0x91, 0x24, 0x8e, 0x2a, 0xbb, 0xc8, 0x2e, 0x83, 0x53, 0x14, 0x1f, 0x20, + 0xdf, 0x30, 0xb1, 0x4f, 0x03, 0x68, 0x46, 0x49, 0x99, 0x61, 0xd2, 0x6d, 0x21, 0x94, 0x17, 0x40, + 0x58, 0x54, 0x46, 0x58, 0x39, 0x28, 0x10, 0x65, 0x36, 0x85, 0xa8, 0xb3, 0xcf, 0x04, 0x7d, 0x1e, + 0x17, 0x33, 0x3c, 0x4e, 0x55, 0xe2, 0x58, 0x6f, 0x25, 0x1e, 0xe5, 0x79, 0xd2, 0x15, 0xe1, 0x79, + 0x52, 0x14, 0x7b, 0xfe, 0xdd, 0x28, 0xf3, 0x7c, 0x07, 0xb5, 0x30, 0x71, 0xe9, 0x76, 0x13, 0xba, + 0x1e, 0x6b, 0x92, 0x0e, 0xf2, 0xa9, 0x91, 0xf4, 0x1f, 0x30, 0xd1, 0x7d, 0x16, 0x84, 0x65, 0x30, + 0xdd, 0x68, 0x62, 0xf3, 0xc0, 0x70, 0x90, 0x6b, 0x3b, 0x3c, 0x04, 0xc5, 0x7a, 0x89, 0xc9, 0x7e, + 0xcd, 0x44, 0x19, 0x71, 0x2a, 0x64, 0xc5, 0xe9, 0x67, 0x71, 0x09, 0xb3, 0x10, 0xd4, 0x16, 0xc2, + 0x52, 0xfb, 0xea, 0xcd, 0xe2, 0x59, 0x5e, 0x8c, 0xc4, 0x3a, 0xd0, 0x5c, 0xac, 0x7b, 0x90, 0x3a, + 0xda, 0x3d, 0x9f, 0xc6, 0x05, 0xbc, 0x0a, 0x66, 0x11, 0x75, 0x50, 0x80, 0xda, 0x9e, 0x21, 0xba, + 0x86, 0x47, 0xe8, 0x54, 0x24, 0xde, 0xe7, 0xdd, 0xb3, 0x0a, 0x66, 0xc5, 0x14, 0x0d, 0x90, 0x89, + 0xdc, 0x0e, 0x0a, 0xca, 0xe3, 0x5c, 0x91, 0x8b, 0xeb, 0x42, 0xda, 0x97, 0x91, 0x89, 0x8c, 0x8c, + 0xc8, 0xa0, 0x68, 0x41, 0x0a, 0xcb, 0x93, 0x6c, 0x8f, 0xfd, 0x3e, 0x32, 0x0f, 0xc9, 0xc0, 0x8a, + 0x3c, 0x24, 0x45, 0x71, 0x1e, 0xbe, 0xe7, 0x73, 0xee, 0x8f, 0x2e, 0x75, 0xac, 0x00, 0x3e, 0x3e, + 0xb9, 0x44, 0x2c, 0x82, 0x52, 0x23, 0xcc, 0xb8, 0x38, 0xa3, 0xc0, 0xcf, 0x60, 0xa2, 0xfb, 0x39, + 0x15, 0x5d, 0xcc, 0xca, 0x54, 0x6f, 0x80, 0xc6, 0xfa, 0x03, 0x74, 0xe4, 0x78, 0x4c, 0x79, 0x27, + 0xc6, 0x63, 0x4a, 0x16, 0x87, 0xe3, 0xd3, 0x51, 0x70, 0x76, 0x8f, 0xd8, 0xbb, 0xf5, 0xed, 0xcd, + 0x8d, 0x1d, 0xd4, 0x6a, 0xe2, 0x43, 0x64, 0x9d, 0x5c, 0x4c, 0x96, 0xc1, 0xb4, 0xa8, 0x0a, 0x3e, + 0x53, 0x78, 0x69, 0x96, 0xb8, 0x6c, 0x27, 0x14, 0x0d, 0x1b, 0x15, 0x19, 0x14, 0x7d, 0xe8, 0x45, + 0xfd, 0xc9, 0x7e, 0xb3, 0x49, 0x7e, 0xe8, 0x35, 0x70, 0x53, 0x94, 0x9a, 0x58, 0xc9, 0x0a, 0x98, + 0xb4, 0x90, 0xe9, 0x7a, 0xb0, 0x49, 0x58, 0x79, 0x15, 0xeb, 0xf1, 0xba, 0x2f, 0xba, 0x93, 0x19, + 0xd1, 0xad, 0x66, 0x46, 0xf7, 0x42, 0x1c, 0xdd, 0xfe, 0x60, 0xa9, 0x8b, 0x60, 0x21, 0x73, 0x23, + 0x8e, 0xf3, 0xdf, 0x81, 0x1c, 0x4e, 0x06, 0xe8, 0x9b, 0xa8, 0xd9, 0x7d, 0x8b, 0x42, 0xe7, 0x03, + 0xe8, 0x13, 0x68, 0x86, 0x24, 0xc8, 0x70, 0x2d, 0x11, 0xe6, 0x99, 0x84, 0xf4, 0x9e, 0x95, 0x78, + 0xb2, 0x46, 0x93, 0x4f, 0xd6, 0xd6, 0x5a, 0xcf, 0xf3, 0x50, 0xee, 0x4e, 0xa5, 0xf4, 0x45, 0xea, + 0x45, 0xa0, 0xf4, 0x4b, 0x63, 0x70, 0x2f, 0x25, 0x06, 0x7f, 0xbf, 0xdd, 0xf0, 0x5c, 0x5a, 0x83, + 0xd6, 0x7e, 0x34, 0xfd, 0x76, 0x3b, 0xae, 0x85, 0xc2, 0x5c, 0x6b, 0x60, 0x82, 0xb4, 0x1b, 0x21, + 0xf5, 0x62, 0x08, 0x4b, 0x9b, 0x73, 0x1a, 0x27, 0x5a, 0x5a, 0x44, 0xb4, 0xb4, 0xbb, 0xfe, 0x61, + 0x3d, 0x52, 0x4a, 0xcf, 0xd4, 0xd1, 0x9e, 0x99, 0x9a, 0xf0, 0xa7, 0x90, 0xf2, 0xe7, 0x66, 0x8f, + 0x3f, 0x2b, 0xdd, 0xe7, 0x2e, 0x17, 0x9a, 0xba, 0x0a, 0x2e, 0x0f, 0x54, 0x88, 0xbd, 0xfc, 0x81, + 0x97, 0x3a, 0xa7, 0x09, 0x7f, 0x68, 0x59, 0x90, 0x1e, 0xa7, 0xd4, 0x3b, 0xcc, 0x4c, 0x68, 0x88, + 0x52, 0xe7, 0xb2, 0xec, 0x6e, 0x28, 0xf4, 0x77, 0xc3, 0x2f, 0xc0, 0x84, 0x87, 0xbc, 0x06, 0x0a, + 0x48, 0xb9, 0xb8, 0x54, 0x58, 0x2b, 0x6d, 0xae, 0x68, 0xfd, 0xb4, 0x5a, 0xab, 0xb1, 0xd7, 0xff, + 0x21, 0x6c, 0xba, 0x56, 0x58, 0x7a, 0xf5, 0xc8, 0x46, 0xae, 0x81, 0x99, 0x00, 0x3d, 0x86, 0x81, + 0x65, 0x88, 0x49, 0x3e, 0x36, 0xcc, 0x24, 0x9f, 0xe6, 0x36, 0x77, 0xf9, 0x3c, 0x5f, 0x06, 0x62, + 0x6d, 0xb0, 0xf6, 0x12, 0x8d, 0x53, 0xe2, 0xb2, 0x07, 0xa1, 0x68, 0x98, 0x01, 0x7d, 0x64, 0x87, + 0xf4, 0xc7, 0x58, 0x74, 0x48, 0xff, 0x46, 0x9c, 0x9e, 0xe7, 0x9c, 0x1a, 0xf0, 0xbd, 0xdf, 0x33, + 0x4e, 0x2f, 0xdf, 0x02, 0x53, 0xb0, 0x4d, 0x1d, 0x1c, 0xb8, 0xf4, 0x90, 0xb3, 0x95, 0x5a, 0xf9, + 0xf3, 0x8f, 0x6e, 0xcc, 0x09, 0x06, 0x25, 0xb8, 0xe4, 0x3e, 0x0d, 0x5c, 0xdf, 0xae, 0x77, 0x55, + 0xe5, 0x9f, 0x83, 0x71, 0xfe, 0x55, 0xc0, 0x32, 0x55, 0xda, 0x54, 0xb2, 0x02, 0xcd, 0xef, 0x88, + 0x18, 0x1b, 0xd7, 0xe7, 0x2d, 0xd5, 0x3d, 0x29, 0xfd, 0xc6, 0x24, 0xb1, 0x89, 0x37, 0x26, 0x29, + 0x8a, 0x5d, 0xf9, 0x3f, 0xef, 0xa7, 0x5a, 0x13, 0x9a, 0x07, 0x4d, 0x97, 0xd0, 0x5d, 0xf1, 0x56, + 0xa6, 0x3f, 0x12, 0x38, 0x65, 0x89, 0x48, 0x28, 0xe7, 0x2b, 0x3a, 0xf8, 0x49, 0x23, 0xb2, 0x8a, + 0xc8, 0x33, 0x0a, 0xbd, 0x28, 0xac, 0x4d, 0xd5, 0xe5, 0x78, 0x2b, 0x3e, 0x28, 0x6a, 0x19, 0x66, + 0x9d, 0x6e, 0x99, 0xfc, 0xdb, 0x45, 0xcb, 0xe4, 0x2b, 0xc4, 0x8e, 0xfc, 0x57, 0x62, 0x73, 0xa3, + 0x8e, 0x3a, 0xf8, 0x00, 0x45, 0x6a, 0xb1, 0xdd, 0xc9, 0x79, 0xb1, 0xd1, 0xe3, 0xc5, 0x52, 0x82, + 0x58, 0x66, 0x5e, 0xad, 0x5e, 0x02, 0x6a, 0xfe, 0x6e, 0x84, 0x7f, 0xf3, 0x93, 0xd3, 0xa0, 0xb0, + 0x47, 0x6c, 0xf9, 0x5f, 0x12, 0x98, 0x49, 0x7f, 0xd9, 0x5c, 0xca, 0xaa, 0x88, 0xde, 0x8f, 0x08, + 0xe5, 0xfa, 0x30, 0x5a, 0x71, 0xb4, 0xd6, 0x9f, 0x7e, 0xf1, 0xed, 0x7f, 0x46, 0x2f, 0xa9, 0xaa, + 0x9e, 0xf1, 0x95, 0x2a, 0xe6, 0x87, 0x29, 0xee, 0x7f, 0x22, 0x81, 0xa9, 0xee, 0x3b, 0xb0, 0x94, + 0x73, 0x4f, 0xac, 0xa1, 0xac, 0x1d, 0xa5, 0x11, 0xa3, 0x58, 0x65, 0x28, 0x96, 0xd5, 0xc5, 0x2c, + 0x14, 0xe1, 0x6c, 0x35, 0x28, 0x36, 0x10, 0x75, 0xe4, 0x7f, 0x4a, 0x60, 0x3a, 0xf5, 0x79, 0xb0, + 0x92, 0x73, 0x47, 0x52, 0x49, 0xb9, 0x36, 0x84, 0x52, 0x8c, 0xe5, 0x2a, 0xc3, 0xb2, 0xa2, 0x2e, + 0x67, 0x61, 0x09, 0xb8, 0x85, 0xc1, 0x28, 0x12, 0x43, 0x93, 0xfa, 0x2c, 0xc8, 0x43, 0x93, 0x54, + 0xca, 0x45, 0x93, 0x49, 0xc1, 0x07, 0xa2, 0x11, 0x89, 0x49, 0xa0, 0x49, 0x51, 0xf5, 0x3c, 0x34, + 0x49, 0xa5, 0x5c, 0x34, 0x99, 0x44, 0x74, 0x20, 0x1a, 0x8b, 0x5b, 0x18, 0x26, 0xbb, 0x3c, 0x2c, + 0xdf, 0x34, 0x61, 0xcd, 0x2b, 0xdf, 0x94, 0x56, 0x6e, 0xf9, 0x66, 0x53, 0xc1, 0x81, 0xe5, 0xfb, + 0x58, 0x98, 0x08, 0x44, 0x1f, 0x48, 0xe0, 0x4c, 0x72, 0x96, 0x73, 0x54, 0x57, 0x07, 0xb6, 0x4b, + 0x72, 0xea, 0x2b, 0xd5, 0xa1, 0x55, 0x63, 0x7c, 0x1b, 0x0c, 0xdf, 0xba, 0xba, 0x36, 0xa0, 0xbd, + 0xda, 0xdc, 0x50, 0xa0, 0xfc, 0x50, 0x02, 0x72, 0x06, 0xb3, 0xcd, 0x83, 0xd9, 0xaf, 0x9a, 0x0b, + 0x73, 0x00, 0xd3, 0x1b, 0x08, 0x13, 0x05, 0xe6, 0xe6, 0x86, 0x61, 0x09, 0x43, 0x01, 0xf3, 0xa5, + 0x04, 0xca, 0xb9, 0xff, 0x4e, 0xd2, 0x73, 0x1b, 0x3f, 0xdb, 0x40, 0xb9, 0x7d, 0x4c, 0x83, 0x18, + 0xf8, 0x4f, 0x19, 0x70, 0x4d, 0xbd, 0x9e, 0x3d, 0x38, 0xa8, 0x91, 0x7c, 0xef, 0xa3, 0xb1, 0x2e, + 0xff, 0x4f, 0x02, 0xb3, 0xbd, 0xb4, 0xf6, 0x4a, 0x5e, 0x57, 0xa6, 0xf5, 0x14, 0x6d, 0x38, 0xbd, + 0x18, 0xa1, 0xc6, 0x10, 0xae, 0xa9, 0x57, 0x32, 0x1b, 0x98, 0x19, 0x19, 0xc9, 0x09, 0xf7, 0x99, + 0x04, 0x94, 0x01, 0xa4, 0x36, 0x2f, 0xb9, 0xf9, 0x26, 0xca, 0x9d, 0x63, 0x9b, 0xc4, 0xe0, 0xef, + 0x30, 0xf0, 0x37, 0xd5, 0x6a, 0x66, 0x78, 0x99, 0xbd, 0xd1, 0x80, 0x96, 0x11, 0xd3, 0x64, 0x03, + 0x45, 0x40, 0xff, 0x0c, 0xa6, 0x53, 0xb4, 0x28, 0x6f, 0x18, 0x25, 0x95, 0x72, 0x87, 0x51, 0x16, + 0x63, 0x91, 0x9f, 0x49, 0x40, 0x19, 0x40, 0x57, 0xf2, 0x22, 0x95, 0x6f, 0x92, 0x1b, 0xa9, 0xa3, + 0x59, 0x87, 0xfc, 0x0f, 0x09, 0x9c, 0xcf, 0xa3, 0x1c, 0x5a, 0xee, 0xf3, 0x93, 0xa9, 0xaf, 0xdc, + 0x3a, 0x9e, 0x7e, 0x84, 0x41, 0x19, 0x7b, 0xf2, 0xfe, 0xc5, 0xba, 0x54, 0x43, 0xaf, 0xde, 0x56, + 0xa4, 0xd7, 0x6f, 0x2b, 0xd2, 0x37, 0x6f, 0x2b, 0xd2, 0xbf, 0xdf, 0x55, 0x46, 0x5e, 0xbf, 0xab, + 0x8c, 0x7c, 0xf9, 0xae, 0x32, 0xf2, 0xa7, 0xdf, 0xd8, 0x2e, 0x75, 0xda, 0x0d, 0xcd, 0xc4, 0x9e, + 0x7e, 0x2f, 0xba, 0xe2, 0xb7, 0xb0, 0x41, 0xba, 0xe9, 0xbd, 0x61, 0xe2, 0x00, 0x25, 0x97, 0x0e, + 0x74, 0x7d, 0xdd, 0xc3, 0x56, 0xbb, 0x89, 0x88, 0xc8, 0x3d, 0xfb, 0xe7, 0x76, 0x63, 0x9c, 0x7d, + 0x45, 0xdd, 0xfc, 0x31, 0x00, 0x00, 0xff, 0xff, 0x97, 0x47, 0xe3, 0xea, 0x86, 0x17, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/peggy/types/params.go b/chain/peggy/types/params.go index b4363219..656ada2b 100644 --- a/chain/peggy/types/params.go +++ b/chain/peggy/types/params.go @@ -290,6 +290,6 @@ func validateSlashFractionBadEthSignature(i interface{}) error { return nil } -func validateValsetReward(_ interface{}) error { +func validateValsetReward(i interface{}) error { return nil } diff --git a/chain/permissions/types/errors.go b/chain/permissions/types/errors.go index 2ad6e08d..f104edaf 100644 --- a/chain/permissions/types/errors.go +++ b/chain/permissions/types/errors.go @@ -8,16 +8,17 @@ import ( // x/tokenfactory module sentinel errors var ( - ErrDenomNamespaceExists = errors.Register(ModuleName, 2, "attempting to create a namespace for denom that already exists") - ErrUnauthorized = errors.Register(ModuleName, 3, "unauthorized account") - ErrInvalidGenesis = errors.Register(ModuleName, 4, "invalid genesis") - ErrInvalidNamespaceAdmin = errors.Register(ModuleName, 5, "invalid admin") - ErrInvalidPermission = errors.Register(ModuleName, 6, "invalid permissions") - ErrUnknownRole = errors.Register(ModuleName, 7, "unknown role") - ErrUnknownWasmHook = errors.Register(ModuleName, 8, "unknown contract address") - ErrRestrictedAction = errors.Register(ModuleName, 9, "restricted action") - ErrInvalidRole = errors.Register(ModuleName, 10, "invalid role") - ErrUnknownDenom = errors.Register(ModuleName, 11, "namespace for denom is not existing") - ErrWasmHookError = errors.Register(ModuleName, 12, "wasm hook query error") - ErrVoucherNotFound = errors.Register(ModuleName, 13, "voucher was not found") + ErrDenomNamespaceExists = errors.Register(ModuleName, 2, "attempting to create a namespace for denom that already exists") + ErrUnauthorized = errors.Register(ModuleName, 3, "unauthorized account") + ErrInvalidGenesis = errors.Register(ModuleName, 4, "invalid genesis") + ErrInvalidNamespace = errors.Register(ModuleName, 5, "invalid namespace") + ErrInvalidPermission = errors.Register(ModuleName, 6, "invalid permissions") + ErrUnknownRole = errors.Register(ModuleName, 7, "unknown role") + ErrUnknownWasmHook = errors.Register(ModuleName, 8, "unknown contract address") + ErrRestrictedAction = errors.Register(ModuleName, 9, "restricted action") + ErrInvalidRole = errors.Register(ModuleName, 10, "invalid role") + ErrUnknownDenom = errors.Register(ModuleName, 11, "namespace for denom is not existing") + ErrWasmHookError = errors.Register(ModuleName, 12, "wasm hook query error") + ErrVoucherNotFound = errors.Register(ModuleName, 13, "voucher was not found") + ErrInvalidWasmHook = errors.Register(ModuleName, 14, "invalid wasm hook") ) diff --git a/chain/permissions/types/events.pb.go b/chain/permissions/types/events.pb.go index 5073c605..d5c783c5 100644 --- a/chain/permissions/types/events.pb.go +++ b/chain/permissions/types/events.pb.go @@ -5,11 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types" + types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/x/bank/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. @@ -23,23 +25,355 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package +type EventSetVoucher struct { + Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` + Voucher types.Coin `protobuf:"bytes,2,opt,name=voucher,proto3" json:"voucher"` +} + +func (m *EventSetVoucher) Reset() { *m = EventSetVoucher{} } +func (m *EventSetVoucher) String() string { return proto.CompactTextString(m) } +func (*EventSetVoucher) ProtoMessage() {} +func (*EventSetVoucher) Descriptor() ([]byte, []int) { + return fileDescriptor_705c3e21b20426fa, []int{0} +} +func (m *EventSetVoucher) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventSetVoucher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventSetVoucher.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 *EventSetVoucher) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventSetVoucher.Merge(m, src) +} +func (m *EventSetVoucher) XXX_Size() int { + return m.Size() +} +func (m *EventSetVoucher) XXX_DiscardUnknown() { + xxx_messageInfo_EventSetVoucher.DiscardUnknown(m) +} + +var xxx_messageInfo_EventSetVoucher proto.InternalMessageInfo + +func (m *EventSetVoucher) GetAddr() string { + if m != nil { + return m.Addr + } + return "" +} + +func (m *EventSetVoucher) GetVoucher() types.Coin { + if m != nil { + return m.Voucher + } + return types.Coin{} +} + +func init() { + proto.RegisterType((*EventSetVoucher)(nil), "injective.permissions.v1beta1.EventSetVoucher") +} + func init() { proto.RegisterFile("injective/permissions/v1beta1/events.proto", fileDescriptor_705c3e21b20426fa) } var fileDescriptor_705c3e21b20426fa = []byte{ - // 202 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0xca, 0xcc, 0xcb, 0x4a, - 0x4d, 0x2e, 0xc9, 0x2c, 0x4b, 0xd5, 0x2f, 0x48, 0x2d, 0xca, 0xcd, 0x2c, 0x2e, 0xce, 0xcc, 0xcf, - 0x2b, 0xd6, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x4f, 0x2d, 0x4b, 0xcd, 0x2b, 0x29, - 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0x85, 0xab, 0xd5, 0x43, 0x52, 0xab, 0x07, 0x55, - 0x2b, 0x25, 0x92, 0x9e, 0x9f, 0x9e, 0x0f, 0x56, 0xa9, 0x0f, 0x62, 0x41, 0x34, 0x49, 0xc9, 0x25, - 0xe7, 0x17, 0xe7, 0xe6, 0x17, 0xeb, 0x27, 0x25, 0x16, 0xa7, 0xc2, 0x8d, 0x4d, 0xce, 0xcf, 0xcc, - 0xc3, 0x90, 0xcf, 0xcb, 0x86, 0xcb, 0x83, 0x38, 0x10, 0x79, 0xa7, 0xec, 0x13, 0x8f, 0xe4, 0x18, - 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, - 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x88, 0x0a, 0x4c, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, - 0xcf, 0xd5, 0xf7, 0x84, 0xb9, 0xcc, 0x27, 0x31, 0xa9, 0x58, 0x1f, 0xee, 0x4e, 0xdd, 0xe4, 0xfc, - 0xa2, 0x54, 0x64, 0x6e, 0x46, 0x62, 0x66, 0x9e, 0x7e, 0x6e, 0x7e, 0x4a, 0x69, 0x4e, 0x6a, 0x31, - 0x8a, 0x87, 0x4b, 0x2a, 0x0b, 0x52, 0x8b, 0x93, 0xd8, 0xc0, 0x76, 0x1a, 0x03, 0x02, 0x00, 0x00, - 0xff, 0xff, 0xf5, 0x22, 0x59, 0x7e, 0x16, 0x01, 0x00, 0x00, + // 272 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x90, 0xb1, 0x4a, 0xc4, 0x40, + 0x10, 0x86, 0xb3, 0x72, 0x28, 0xc6, 0x42, 0x08, 0x16, 0xe7, 0x81, 0xeb, 0x61, 0x75, 0x08, 0xee, + 0x72, 0x5a, 0xd9, 0x9e, 0x58, 0x08, 0x36, 0x9e, 0x60, 0x61, 0x65, 0xb2, 0x19, 0x92, 0xf5, 0xcc, + 0x4e, 0xd8, 0xd9, 0x04, 0x7c, 0x0b, 0x1f, 0xeb, 0xca, 0x2b, 0xad, 0x44, 0x92, 0x17, 0x91, 0x24, + 0x26, 0x9c, 0xd8, 0xcd, 0xf0, 0x7d, 0x3b, 0x3b, 0xf3, 0xfb, 0xe7, 0xda, 0xbc, 0x82, 0x72, 0xba, + 0x04, 0x99, 0x83, 0xcd, 0x34, 0x91, 0x46, 0x43, 0xb2, 0x9c, 0x47, 0xe0, 0xc2, 0xb9, 0x84, 0x12, + 0x8c, 0x23, 0x91, 0x5b, 0x74, 0x18, 0x9c, 0x0c, 0xae, 0xd8, 0x72, 0xc5, 0xaf, 0x3b, 0x39, 0x4a, + 0x30, 0xc1, 0xd6, 0x94, 0x4d, 0xd5, 0x3d, 0x9a, 0x70, 0x85, 0x94, 0x21, 0xc9, 0x28, 0x24, 0x18, + 0xc6, 0x2a, 0xd4, 0xe6, 0x1f, 0x37, 0xab, 0x81, 0x37, 0x4d, 0xc7, 0xcf, 0x5e, 0xfc, 0xc3, 0xdb, + 0x66, 0x89, 0x47, 0x70, 0x4f, 0x58, 0xa8, 0x14, 0x6c, 0x10, 0xf8, 0xa3, 0x30, 0x8e, 0xed, 0x98, + 0x4d, 0xd9, 0x6c, 0x7f, 0xd9, 0xd6, 0xc1, 0xb5, 0xbf, 0x57, 0x76, 0x78, 0xbc, 0x33, 0x65, 0xb3, + 0x83, 0xcb, 0x63, 0xd1, 0x0d, 0x16, 0xcd, 0xc7, 0xfd, 0x8e, 0xe2, 0x06, 0xb5, 0x59, 0x8c, 0xd6, + 0x5f, 0xa7, 0xde, 0xb2, 0xf7, 0x17, 0xab, 0x75, 0xc5, 0xd9, 0xa6, 0xe2, 0xec, 0xbb, 0xe2, 0xec, + 0xa3, 0xe6, 0xde, 0xa6, 0xe6, 0xde, 0x67, 0xcd, 0xbd, 0xe7, 0x87, 0x44, 0xbb, 0xb4, 0x88, 0x84, + 0xc2, 0x4c, 0xde, 0xf5, 0xb7, 0xdf, 0x87, 0x11, 0xc9, 0x21, 0x89, 0x0b, 0x85, 0x16, 0xb6, 0xdb, + 0x34, 0xd4, 0x46, 0x66, 0x18, 0x17, 0x6f, 0x40, 0x7f, 0x22, 0x75, 0xef, 0x39, 0x50, 0xb4, 0xdb, + 0x5e, 0x75, 0xf5, 0x13, 0x00, 0x00, 0xff, 0xff, 0x74, 0x79, 0xe1, 0x33, 0x78, 0x01, 0x00, 0x00, } + +func (m *EventSetVoucher) 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 *EventSetVoucher) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventSetVoucher) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Voucher.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Addr) > 0 { + i -= len(m.Addr) + copy(dAtA[i:], m.Addr) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Addr))) + 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 *EventSetVoucher) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Addr) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = m.Voucher.Size() + 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 *EventSetVoucher) 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: EventSetVoucher: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventSetVoucher: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Addr", 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.Addr = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Voucher", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Voucher.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + 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/permissions/types/msgs.go b/chain/permissions/types/msgs.go new file mode 100644 index 00000000..e9b762b1 --- /dev/null +++ b/chain/permissions/types/msgs.go @@ -0,0 +1,227 @@ +package types + +import ( + "fmt" + + "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + + tftypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types" +) + +// constants +const ( + // RouterKey is the message route for slashing + routerKey = ModuleName + + TypeMsgUpdateParams = "update_params" + TypeMsgCreateNamespace = "create_namespace" + TypeMsgDeleteNamespace = "delete_namespace" + TypeUpdateNamespace = "update_namespace" + TypeMsgUpdateNamespaceRoles = "update_namespace_roles" + TypeMsgRevokeNamespaceRoles = "revoke_namespace_roles" + TypeMsgClaimVoucher = "claim_voucher" +) + +var ( + _ sdk.Msg = &MsgUpdateParams{} + _ sdk.Msg = &MsgCreateNamespace{} + _ sdk.Msg = &MsgDeleteNamespace{} + _ sdk.Msg = &MsgUpdateNamespace{} + _ sdk.Msg = &MsgUpdateNamespaceRoles{} + _ sdk.Msg = &MsgRevokeNamespaceRoles{} + _ sdk.Msg = &MsgClaimVoucher{} +) + +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 err + } + + 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} +} + +func (m MsgCreateNamespace) Route() string { return routerKey } + +func (m MsgCreateNamespace) Type() string { return TypeMsgCreateNamespace } + +func (msg MsgCreateNamespace) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { + return err + } + + if err := msg.Namespace.Validate(); err != nil { + return err + } + return nil +} + +func (m *MsgCreateNamespace) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgCreateNamespace) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +func (m MsgDeleteNamespace) Route() string { return routerKey } + +func (m MsgDeleteNamespace) Type() string { return TypeMsgDeleteNamespace } + +func (m MsgDeleteNamespace) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(m.Sender); err != nil { + return err + } + + if _, _, err := tftypes.DeconstructDenom(m.NamespaceDenom); err != nil { + return errors.Wrap(err, "permissions namespace can only be applied to tokenfactory denoms") + } + return nil +} + +func (m *MsgDeleteNamespace) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgDeleteNamespace) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +func (m MsgUpdateNamespace) Route() string { return routerKey } + +func (m MsgUpdateNamespace) Type() string { return TypeUpdateNamespace } + +func (m MsgUpdateNamespace) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(m.Sender); err != nil { + return err + } + + if m.WasmHook != nil { + if _, err := sdk.AccAddressFromBech32(m.WasmHook.NewValue); err != nil { + return ErrInvalidWasmHook + } + } + return nil +} + +func (m *MsgUpdateNamespace) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgUpdateNamespace) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +func (m MsgUpdateNamespaceRoles) Route() string { return routerKey } + +func (m MsgUpdateNamespaceRoles) Type() string { return TypeMsgUpdateNamespaceRoles } + +func (msg MsgUpdateNamespaceRoles) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { + return err + } + if _, _, err := tftypes.DeconstructDenom(msg.NamespaceDenom); err != nil { + return errors.Wrap(err, "permissions namespace can only be applied to tokenfactory denoms") + } + + for _, role := range msg.AddressRoles { + if _, err := sdk.AccAddressFromBech32(role.Address); err != nil { + return errors.Wrapf(err, "invalid address %s", role.Address) + } + } + + return nil +} + +func (m *MsgUpdateNamespaceRoles) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgUpdateNamespaceRoles) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +func (m MsgRevokeNamespaceRoles) Route() string { return routerKey } + +func (m MsgRevokeNamespaceRoles) Type() string { return TypeMsgRevokeNamespaceRoles } + +func (msg MsgRevokeNamespaceRoles) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { + return err + } + + if _, _, err := tftypes.DeconstructDenom(msg.NamespaceDenom); err != nil { + return errors.Wrap(err, "permissions namespace can only be applied to tokenfactory denoms") + } + + // address_roles + foundAddresses := make(map[string]struct{}, len(msg.AddressRolesToRevoke)) + for _, addrRoles := range msg.AddressRolesToRevoke { + if _, err := sdk.AccAddressFromBech32(addrRoles.Address); err != nil { + return errors.Wrapf(err, "invalid address %s", addrRoles.Address) + } + if _, ok := foundAddresses[addrRoles.Address]; ok { + return errors.Wrapf(ErrInvalidRole, "address %s - revoking roles multiple times?", addrRoles.Address) + } + for _, role := range addrRoles.Roles { + if role == EVERYONE { + return errors.Wrapf(ErrInvalidRole, "role %s can not be set / revoked", EVERYONE) + } + } + foundAddresses[addrRoles.Address] = struct{}{} + } + return nil +} + +func (m *MsgRevokeNamespaceRoles) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgRevokeNamespaceRoles) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +func (m MsgClaimVoucher) Route() string { return routerKey } + +func (m MsgClaimVoucher) Type() string { return TypeMsgClaimVoucher } + +func (msg MsgClaimVoucher) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { + return err + } + + if msg.Denom == "" { + return fmt.Errorf("invalid denom") + } + return nil +} + +func (m *MsgClaimVoucher) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgClaimVoucher) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} diff --git a/chain/permissions/types/query.pb.go b/chain/permissions/types/query.pb.go index db2b4c09..78206717 100644 --- a/chain/permissions/types/query.pb.go +++ b/chain/permissions/types/query.pb.go @@ -6,6 +6,8 @@ package types import ( context "context" fmt "fmt" + 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/query" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" @@ -538,7 +540,7 @@ func (m *QueryVouchersForAddressRequest) GetAddress() string { } type QueryVouchersForAddressResponse struct { - Vouchers []*AddressVoucher `protobuf:"bytes,1,rep,name=vouchers,proto3" json:"vouchers,omitempty"` + Vouchers github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,1,rep,name=vouchers,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"vouchers,omitempty"` } func (m *QueryVouchersForAddressResponse) Reset() { *m = QueryVouchersForAddressResponse{} } @@ -574,7 +576,7 @@ func (m *QueryVouchersForAddressResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryVouchersForAddressResponse proto.InternalMessageInfo -func (m *QueryVouchersForAddressResponse) GetVouchers() []*AddressVoucher { +func (m *QueryVouchersForAddressResponse) GetVouchers() github_com_cosmos_cosmos_sdk_types.Coins { if m != nil { return m.Vouchers } @@ -601,55 +603,58 @@ func init() { } var fileDescriptor_e0ae50f1018498b3 = []byte{ - // 758 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x96, 0xcf, 0x6f, 0xd3, 0x4a, - 0x10, 0xc7, 0xb3, 0x7d, 0x6d, 0x5f, 0x33, 0x6d, 0xf5, 0x9e, 0xf6, 0xe5, 0x90, 0xe7, 0xb6, 0x69, - 0x65, 0x54, 0x11, 0x40, 0x89, 0x49, 0xaa, 0x8a, 0xfe, 0x02, 0x89, 0x80, 0x0a, 0x45, 0x08, 0x51, - 0x1f, 0x90, 0xe8, 0x25, 0xda, 0x24, 0x5b, 0xd7, 0x60, 0x7b, 0x5d, 0xaf, 0x53, 0x29, 0x57, 0x6e, - 0xdc, 0x90, 0xb8, 0xf3, 0x8f, 0xf4, 0xca, 0xa1, 0xc7, 0x4a, 0x5c, 0x38, 0x21, 0xd4, 0xf2, 0x87, - 0x20, 0xaf, 0xd7, 0x8e, 0xd3, 0x34, 0x71, 0x1a, 0x6e, 0xd9, 0xdd, 0xf9, 0xce, 0x7c, 0xbe, 0x93, - 0xcc, 0x28, 0x70, 0xc7, 0x74, 0xde, 0xd1, 0xa6, 0x6f, 0x9e, 0x50, 0xcd, 0xa5, 0x9e, 0x6d, 0x72, - 0x6e, 0x32, 0x87, 0x6b, 0x27, 0x95, 0x06, 0xf5, 0x49, 0x45, 0x3b, 0x6e, 0x53, 0xaf, 0x53, 0x76, - 0x3d, 0xe6, 0x33, 0xbc, 0x14, 0x87, 0x96, 0x13, 0xa1, 0x65, 0x19, 0xaa, 0xe4, 0x0c, 0x66, 0x30, - 0x11, 0xa9, 0x05, 0x9f, 0x42, 0x91, 0xb2, 0x68, 0x30, 0x66, 0x58, 0x54, 0x23, 0xae, 0xa9, 0x11, - 0xc7, 0x61, 0x3e, 0xf1, 0x85, 0x2a, 0x7c, 0xbd, 0xdb, 0x64, 0xdc, 0x66, 0x5c, 0x6b, 0x10, 0x4e, - 0xc3, 0x5a, 0x71, 0x65, 0x97, 0x18, 0xa6, 0x23, 0x82, 0xa3, 0xd8, 0xe1, 0xa4, 0x2e, 0xf1, 0x88, - 0x1d, 0xe5, 0xbd, 0x37, 0x3c, 0xd6, 0xa0, 0x0e, 0xe5, 0x66, 0x14, 0xac, 0xa5, 0x24, 0x4e, 0x78, - 0x15, 0x02, 0x35, 0x07, 0x78, 0x3f, 0x60, 0x7d, 0x2d, 0x4a, 0xea, 0xf4, 0xb8, 0x4d, 0xb9, 0xaf, - 0x1e, 0xc0, 0x7f, 0x3d, 0xb7, 0xdc, 0x65, 0x0e, 0xa7, 0xf8, 0x09, 0x4c, 0x87, 0x68, 0x79, 0xb4, - 0x82, 0x8a, 0xb3, 0xd5, 0xd5, 0xf2, 0xd0, 0x36, 0x96, 0x43, 0x79, 0x6d, 0xf2, 0xec, 0xc7, 0x72, - 0x46, 0x97, 0x52, 0x75, 0x01, 0xfe, 0x17, 0xb9, 0x1f, 0x5b, 0xd6, 0x2b, 0x62, 0x53, 0xee, 0x92, - 0x26, 0x8d, 0x0b, 0x1f, 0x82, 0x72, 0xdd, 0xa3, 0xac, 0xff, 0x1c, 0xc0, 0x89, 0x6f, 0xf3, 0x68, - 0xe5, 0xaf, 0xe2, 0x6c, 0xb5, 0x98, 0xc2, 0x10, 0xa7, 0xd1, 0x13, 0x5a, 0xf5, 0x2d, 0x2c, 0x8a, - 0x3a, 0xf1, 0x6b, 0xad, 0xf3, 0x94, 0x3a, 0xcc, 0x96, 0x1c, 0x38, 0x07, 0x53, 0xad, 0xe0, 0x2c, - 0x8c, 0x66, 0xf5, 0xf0, 0x80, 0x6f, 0xc1, 0xbc, 0xe9, 0x34, 0xad, 0x76, 0x8b, 0xd6, 0x3d, 0x66, - 0x51, 0x9e, 0x9f, 0x58, 0x41, 0xc5, 0x19, 0x7d, 0x4e, 0x5e, 0xea, 0xc1, 0x9d, 0x6a, 0xc0, 0xd2, - 0x80, 0xd4, 0xd2, 0xc5, 0x2e, 0x64, 0x63, 0x12, 0xd9, 0xc8, 0xd1, 0x4d, 0x74, 0xa5, 0xea, 0x33, - 0x58, 0x08, 0x7b, 0xd5, 0x6a, 0x79, 0x94, 0x73, 0xca, 0x6b, 0x9d, 0x80, 0x60, 0xb8, 0x05, 0x0c, - 0x93, 0x01, 0xba, 0x20, 0xcf, 0xea, 0xe2, 0xb3, 0xba, 0x23, 0x9b, 0xd1, 0x97, 0x48, 0x02, 0x2f, - 0x42, 0x96, 0x44, 0x4f, 0xa2, 0xeb, 0x59, 0xbd, 0x7b, 0xa1, 0xbe, 0x80, 0x7c, 0x52, 0x2d, 0x9a, - 0x30, 0x9c, 0x21, 0x0f, 0x7f, 0x4b, 0xb9, 0xc4, 0x88, 0x8e, 0x6a, 0x25, 0xfa, 0x6d, 0xf4, 0xe4, - 0x92, 0x18, 0x39, 0x98, 0x0a, 0xbb, 0x1e, 0x22, 0x84, 0x07, 0x75, 0x0b, 0x0a, 0x42, 0xf2, 0x86, - 0xb5, 0x9b, 0x47, 0xd4, 0xe3, 0xbb, 0xcc, 0x8b, 0xd4, 0x12, 0x22, 0x51, 0x0e, 0xf5, 0x96, 0xb3, - 0x60, 0x79, 0xa0, 0x56, 0x16, 0xdd, 0x83, 0x99, 0x13, 0xf9, 0x2a, 0x7f, 0x70, 0xa5, 0x94, 0xef, - 0x4a, 0x66, 0x90, 0x39, 0xf5, 0x58, 0x5e, 0xfd, 0x98, 0x85, 0x29, 0x51, 0x0e, 0x7f, 0x41, 0x30, - 0x1d, 0xce, 0x06, 0xae, 0xa4, 0x64, 0xeb, 0x1f, 0x4e, 0xa5, 0x7a, 0x13, 0x49, 0x68, 0x43, 0x2d, - 0x7d, 0xf8, 0xf6, 0xeb, 0xf3, 0xc4, 0x6d, 0xbc, 0xaa, 0x8d, 0xb2, 0x79, 0xf0, 0x29, 0x82, 0xf9, - 0x9e, 0x11, 0xc4, 0x1b, 0xa3, 0x14, 0xbd, 0x6e, 0xa4, 0x95, 0xcd, 0x31, 0x94, 0x92, 0x7a, 0x5d, - 0x50, 0x6b, 0xb8, 0x94, 0x42, 0x4d, 0x2c, 0xab, 0xde, 0x1d, 0x6e, 0x7c, 0x86, 0xe0, 0xdf, 0xab, - 0xd3, 0x87, 0xb7, 0x47, 0xc1, 0x18, 0xb0, 0x0e, 0x94, 0x9d, 0xf1, 0xc4, 0xd2, 0xc6, 0xa6, 0xb0, - 0xb1, 0x86, 0x2b, 0x29, 0x36, 0x62, 0x0b, 0xf5, 0x46, 0xa7, 0x1e, 0x8e, 0xca, 0x29, 0x82, 0xb9, - 0xe4, 0x30, 0xe0, 0x07, 0x23, 0x75, 0xb3, 0x7f, 0x14, 0x95, 0x8d, 0x9b, 0x0b, 0x25, 0xfe, 0x86, - 0xc0, 0xaf, 0xe2, 0xfb, 0x69, 0xdf, 0x42, 0xb4, 0x12, 0x02, 0xfc, 0x60, 0x38, 0xf1, 0x57, 0x04, - 0xff, 0x5c, 0x59, 0x2a, 0x78, 0xeb, 0x06, 0x1c, 0x57, 0x56, 0x9a, 0xb2, 0x3d, 0x96, 0xf6, 0x8f, - 0x6d, 0x9c, 0x23, 0xc0, 0xfd, 0x2b, 0x02, 0x3f, 0x1c, 0x85, 0x66, 0xe0, 0x5a, 0x52, 0x1e, 0x8d, - 0x2b, 0x97, 0x7e, 0xb6, 0x85, 0x9f, 0x75, 0xbc, 0x96, 0xe2, 0x27, 0xda, 0x3f, 0xf5, 0x43, 0xe6, - 0xd5, 0xa5, 0xb9, 0xda, 0xfb, 0xb3, 0x8b, 0x02, 0x3a, 0xbf, 0x28, 0xa0, 0x9f, 0x17, 0x05, 0xf4, - 0xe9, 0xb2, 0x90, 0x39, 0xbf, 0x2c, 0x64, 0xbe, 0x5f, 0x16, 0x32, 0x07, 0xfb, 0x86, 0xe9, 0x1f, - 0xb5, 0x1b, 0xe5, 0x26, 0xb3, 0xb5, 0xbd, 0x28, 0xf1, 0x4b, 0xd2, 0xe0, 0xdd, 0x32, 0xa5, 0x26, - 0xf3, 0x68, 0xf2, 0x78, 0x44, 0x4c, 0x47, 0xb3, 0x59, 0xab, 0x6d, 0x51, 0xde, 0xc3, 0xe0, 0x77, - 0x5c, 0xca, 0x1b, 0xd3, 0xe2, 0xaf, 0xc6, 0xda, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0, 0xec, - 0x3f, 0x09, 0xa0, 0x09, 0x00, 0x00, + // 816 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0x4d, 0x4f, 0xdb, 0x4a, + 0x14, 0xcd, 0xf0, 0x80, 0x47, 0x06, 0xd0, 0x7b, 0x9a, 0x66, 0x11, 0x0c, 0x38, 0xc8, 0x15, 0x6a, + 0xfa, 0x11, 0xbb, 0x09, 0x42, 0xe5, 0xab, 0x95, 0x1a, 0x2a, 0xfa, 0xa1, 0xaa, 0x2a, 0x5e, 0x54, + 0x2a, 0x9b, 0xc8, 0x71, 0x06, 0xe3, 0x62, 0x7b, 0x8c, 0xc7, 0x41, 0xca, 0xa2, 0x9b, 0xee, 0xba, + 0xab, 0xd4, 0x7d, 0xd5, 0x75, 0xff, 0x02, 0xdb, 0x2e, 0x58, 0x22, 0x75, 0xd3, 0x15, 0xad, 0xa0, + 0xab, 0xfe, 0x8a, 0xca, 0xe3, 0xb1, 0xe3, 0x10, 0x12, 0x87, 0x74, 0x45, 0x66, 0xee, 0x3d, 0xf7, + 0x9e, 0x73, 0x3d, 0xf7, 0x08, 0x78, 0xd3, 0x74, 0xde, 0x60, 0xdd, 0x37, 0x0f, 0xb1, 0xe2, 0x62, + 0xcf, 0x36, 0x29, 0x35, 0x89, 0x43, 0x95, 0xc3, 0x72, 0x1d, 0xfb, 0x5a, 0x59, 0x39, 0x68, 0x62, + 0xaf, 0x25, 0xbb, 0x1e, 0xf1, 0x09, 0x9a, 0x8f, 0x53, 0xe5, 0x44, 0xaa, 0xcc, 0x53, 0x85, 0x9c, + 0x41, 0x0c, 0xc2, 0x32, 0x95, 0xe0, 0x57, 0x08, 0x12, 0xe6, 0x0c, 0x42, 0x0c, 0x0b, 0x2b, 0x9a, + 0x6b, 0x2a, 0x9a, 0xe3, 0x10, 0x5f, 0xf3, 0x19, 0x2a, 0x8c, 0x8a, 0x3a, 0xa1, 0x36, 0xa1, 0x4a, + 0x5d, 0xa3, 0x38, 0xee, 0xa9, 0x13, 0xd3, 0xe1, 0xf1, 0x5b, 0xc9, 0x38, 0xe3, 0x12, 0x67, 0xb9, + 0x9a, 0x61, 0x3a, 0xac, 0x58, 0x94, 0xdb, 0x5f, 0x89, 0xab, 0x79, 0x9a, 0x1d, 0xf5, 0xbd, 0xdd, + 0x3f, 0xd7, 0xc0, 0x0e, 0xa6, 0x66, 0x94, 0xac, 0xa4, 0x14, 0x4e, 0xcc, 0x82, 0x01, 0xa4, 0x1c, + 0x44, 0xdb, 0x01, 0xd7, 0x97, 0xac, 0xa5, 0x8a, 0x0f, 0x9a, 0x98, 0xfa, 0xd2, 0x0e, 0xbc, 0xd6, + 0x71, 0x4b, 0x5d, 0xe2, 0x50, 0x8c, 0x36, 0xe1, 0x78, 0x48, 0x2d, 0x0f, 0x16, 0x40, 0x71, 0xb2, + 0xb2, 0x28, 0xf7, 0x1d, 0xb3, 0x1c, 0xc2, 0xab, 0xa3, 0xc7, 0xa7, 0x85, 0x8c, 0xca, 0xa1, 0xd2, + 0x2c, 0x9c, 0x61, 0xb5, 0x1f, 0x5a, 0xd6, 0x0b, 0xcd, 0xc6, 0xd4, 0xd5, 0x74, 0x1c, 0x37, 0xde, + 0x85, 0xc2, 0x65, 0x41, 0xde, 0xff, 0x09, 0x84, 0x4e, 0x7c, 0x9b, 0x07, 0x0b, 0xff, 0x14, 0x27, + 0x2b, 0xc5, 0x14, 0x0e, 0x71, 0x19, 0x35, 0x81, 0x95, 0x5e, 0xc3, 0x39, 0xd6, 0x27, 0x8e, 0x56, + 0x5b, 0x8f, 0xb0, 0x43, 0x6c, 0xce, 0x03, 0xe5, 0xe0, 0x58, 0x23, 0x38, 0x33, 0xa1, 0x59, 0x35, + 0x3c, 0xa0, 0xeb, 0x70, 0xda, 0x74, 0x74, 0xab, 0xd9, 0xc0, 0x35, 0x8f, 0x58, 0x98, 0xe6, 0x47, + 0x16, 0x40, 0x71, 0x42, 0x9d, 0xe2, 0x97, 0x6a, 0x70, 0x27, 0x19, 0x70, 0xbe, 0x47, 0x69, 0xae, + 0x62, 0x0b, 0x66, 0x63, 0x26, 0x7c, 0x90, 0x83, 0x8b, 0x68, 0x43, 0xa5, 0xc7, 0x70, 0x36, 0x9c, + 0x55, 0xa3, 0xe1, 0x61, 0x4a, 0x31, 0xad, 0xb6, 0x02, 0x06, 0xfd, 0x25, 0x20, 0x38, 0x1a, 0x50, + 0x67, 0xcc, 0xb3, 0x2a, 0xfb, 0x2d, 0x6d, 0xf0, 0x61, 0x74, 0x15, 0xe2, 0x84, 0xe7, 0x60, 0x56, + 0x8b, 0x42, 0x6c, 0xea, 0x59, 0xb5, 0x7d, 0x21, 0x3d, 0x83, 0xf9, 0x24, 0x9a, 0x0d, 0xa1, 0x3f, + 0x87, 0x3c, 0xfc, 0x97, 0xc3, 0x39, 0x8d, 0xe8, 0x28, 0x95, 0xa3, 0xb7, 0xd1, 0x51, 0x8b, 0xd3, + 0xc8, 0xc1, 0xb1, 0x70, 0xea, 0x21, 0x85, 0xf0, 0x20, 0xad, 0x41, 0x91, 0x41, 0x5e, 0x91, 0xa6, + 0xbe, 0x87, 0x3d, 0xba, 0x45, 0xbc, 0x08, 0xcd, 0x49, 0x24, 0xda, 0x81, 0xce, 0x76, 0x9f, 0x01, + 0x2c, 0xf4, 0x04, 0xf3, 0xae, 0x6f, 0xe1, 0xc4, 0x21, 0x8f, 0xf2, 0x17, 0x37, 0x23, 0x87, 0x9b, + 0x2e, 0x07, 0x9b, 0x1e, 0x7f, 0xa2, 0x4d, 0x62, 0x3a, 0xd5, 0xad, 0xe0, 0xa5, 0xff, 0x3e, 0x2d, + 0xa0, 0x08, 0x72, 0x87, 0xd8, 0xa6, 0x8f, 0x6d, 0xd7, 0x6f, 0x7d, 0xf9, 0x51, 0x28, 0x1a, 0xa6, + 0xbf, 0xd7, 0xac, 0xcb, 0x3a, 0xb1, 0x15, 0x6e, 0x16, 0xe1, 0x9f, 0x12, 0x6d, 0xec, 0x2b, 0x7e, + 0xcb, 0xc5, 0x94, 0x95, 0xa1, 0x6a, 0xdc, 0xb2, 0xf2, 0x3e, 0x0b, 0xc7, 0x18, 0x45, 0xf4, 0x09, + 0xc0, 0xf1, 0x70, 0xa1, 0x50, 0x39, 0xe5, 0xb9, 0x74, 0x6f, 0xb4, 0x50, 0xb9, 0x0a, 0x24, 0x94, + 0x2e, 0x95, 0xde, 0x7d, 0xfb, 0xf5, 0x71, 0xe4, 0x06, 0x5a, 0x54, 0x06, 0xb1, 0x2b, 0x74, 0x04, + 0xe0, 0x74, 0xc7, 0xde, 0xa2, 0x95, 0x41, 0x9a, 0x5e, 0xe6, 0x03, 0xc2, 0xea, 0x10, 0x48, 0xce, + 0x7a, 0x99, 0xb1, 0x56, 0x50, 0x29, 0x85, 0xb5, 0x66, 0x59, 0xb5, 0xb6, 0x23, 0xa0, 0x63, 0x00, + 0xff, 0xbf, 0xb8, 0xb2, 0x68, 0x7d, 0x10, 0x1a, 0x3d, 0x3c, 0x44, 0xd8, 0x18, 0x0e, 0xcc, 0x65, + 0xac, 0x32, 0x19, 0x4b, 0xa8, 0x9c, 0x22, 0x23, 0x96, 0x50, 0xab, 0xb7, 0x6a, 0xe1, 0x7e, 0x1d, + 0x01, 0x38, 0x95, 0xdc, 0x20, 0x74, 0x6f, 0xa0, 0x69, 0x76, 0xef, 0xaf, 0xb0, 0x72, 0x75, 0x20, + 0xa7, 0xbf, 0xc2, 0xe8, 0x57, 0xd0, 0xdd, 0xb4, 0xaf, 0x10, 0xf9, 0x48, 0x40, 0x3f, 0xd8, 0x68, + 0xf4, 0x15, 0xc0, 0xff, 0x2e, 0x38, 0x11, 0x5a, 0xbb, 0x02, 0x8f, 0x0b, 0x3e, 0x28, 0xac, 0x0f, + 0x85, 0xfd, 0x6b, 0x19, 0x27, 0x00, 0xa2, 0x6e, 0x5b, 0x41, 0xf7, 0x07, 0x61, 0xd3, 0xd3, 0xcb, + 0x84, 0x07, 0xc3, 0xc2, 0xb9, 0x9e, 0x75, 0xa6, 0x67, 0x19, 0x2d, 0xa5, 0xe8, 0x89, 0xfc, 0xa7, + 0xb6, 0x4b, 0xbc, 0x1a, 0x17, 0x57, 0xdd, 0x3f, 0x3e, 0x13, 0xc1, 0xc9, 0x99, 0x08, 0x7e, 0x9e, + 0x89, 0xe0, 0xc3, 0xb9, 0x98, 0x39, 0x39, 0x17, 0x33, 0xdf, 0xcf, 0xc5, 0xcc, 0xce, 0x76, 0xc2, + 0xd9, 0x9e, 0x46, 0x85, 0x9f, 0x6b, 0x75, 0xda, 0x6e, 0x53, 0xd2, 0x89, 0x87, 0x93, 0xc7, 0x3d, + 0xcd, 0x74, 0x14, 0x9b, 0x34, 0x9a, 0x16, 0xa6, 0x1d, 0x1c, 0x98, 0x11, 0xd6, 0xc7, 0xd9, 0xff, + 0x27, 0x4b, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x50, 0xbf, 0x64, 0x1e, 0xf5, 0x09, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2503,7 +2508,7 @@ func (m *QueryVouchersForAddressResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Vouchers = append(m.Vouchers, &AddressVoucher{}) + m.Vouchers = append(m.Vouchers, types.Coin{}) if err := m.Vouchers[len(m.Vouchers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/chain/permissions/types/tx.go b/chain/permissions/types/tx.go deleted file mode 100644 index 776372a5..00000000 --- a/chain/permissions/types/tx.go +++ /dev/null @@ -1,130 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" -) - -// constants -const ( - // RouterKey is the message route for slashing - routerKey = ModuleName -) - -var _ sdk.Msg = &MsgUpdateParams{} - -func (m MsgUpdateParams) Route() string { return routerKey } - -func (m MsgUpdateParams) Type() string { return "update_params" } - -func (m MsgUpdateParams) ValidateBasic() error { 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} -} - -var _ sdk.Msg = &MsgCreateNamespace{} - -func (m MsgCreateNamespace) Route() string { return routerKey } - -func (m MsgCreateNamespace) Type() string { return "create_namespace" } - -func (m MsgCreateNamespace) ValidateBasic() error { return nil } - -func (m *MsgCreateNamespace) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) -} - -func (m MsgCreateNamespace) GetSigners() []sdk.AccAddress { - addr, _ := sdk.AccAddressFromBech32(m.Sender) - return []sdk.AccAddress{addr} -} - -var _ sdk.Msg = &MsgDeleteNamespace{} - -func (m MsgDeleteNamespace) Route() string { return routerKey } - -func (m MsgDeleteNamespace) Type() string { return "delete_namespace" } - -func (m MsgDeleteNamespace) ValidateBasic() error { return nil } - -func (m *MsgDeleteNamespace) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) -} - -func (m MsgDeleteNamespace) GetSigners() []sdk.AccAddress { - addr, _ := sdk.AccAddressFromBech32(m.Sender) - return []sdk.AccAddress{addr} -} - -var _ sdk.Msg = &MsgUpdateNamespace{} - -func (m MsgUpdateNamespace) Route() string { return routerKey } - -func (m MsgUpdateNamespace) Type() string { return "update_namespace" } - -func (m MsgUpdateNamespace) ValidateBasic() error { return nil } - -func (m *MsgUpdateNamespace) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) -} - -func (m MsgUpdateNamespace) GetSigners() []sdk.AccAddress { - addr, _ := sdk.AccAddressFromBech32(m.Sender) - return []sdk.AccAddress{addr} -} - -var _ sdk.Msg = &MsgUpdateNamespaceRoles{} - -func (m MsgUpdateNamespaceRoles) Route() string { return routerKey } - -func (m MsgUpdateNamespaceRoles) Type() string { return "update_namespace_roles" } - -func (m MsgUpdateNamespaceRoles) ValidateBasic() error { return nil } - -func (m *MsgUpdateNamespaceRoles) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) -} - -func (m MsgUpdateNamespaceRoles) GetSigners() []sdk.AccAddress { - addr, _ := sdk.AccAddressFromBech32(m.Sender) - return []sdk.AccAddress{addr} -} - -var _ sdk.Msg = &MsgRevokeNamespaceRoles{} - -func (m MsgRevokeNamespaceRoles) Route() string { return routerKey } - -func (m MsgRevokeNamespaceRoles) Type() string { return "revoke_namespace_roles" } - -func (m MsgRevokeNamespaceRoles) ValidateBasic() error { return nil } - -func (m *MsgRevokeNamespaceRoles) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) -} - -func (m MsgRevokeNamespaceRoles) GetSigners() []sdk.AccAddress { - addr, _ := sdk.AccAddressFromBech32(m.Sender) - return []sdk.AccAddress{addr} -} - -var _ sdk.Msg = &MsgClaimVoucher{} - -func (m MsgClaimVoucher) Route() string { return routerKey } - -func (m MsgClaimVoucher) Type() string { return "claim_voucher" } - -func (m MsgClaimVoucher) ValidateBasic() error { return nil } - -func (m *MsgClaimVoucher) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) -} - -func (m MsgClaimVoucher) GetSigners() []sdk.AccAddress { - addr, _ := sdk.AccAddressFromBech32(m.Sender) - return []sdk.AccAddress{addr} -} diff --git a/chain/permissions/types/tx.pb.go b/chain/permissions/types/tx.pb.go index a6c5feda..7516812d 100644 --- a/chain/permissions/types/tx.pb.go +++ b/chain/permissions/types/tx.pb.go @@ -798,8 +798,8 @@ func (m *MsgRevokeNamespaceRolesResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgRevokeNamespaceRolesResponse proto.InternalMessageInfo type MsgClaimVoucher struct { - Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` - Originator string `protobuf:"bytes,2,opt,name=originator,proto3" json:"originator,omitempty"` + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` + Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` } func (m *MsgClaimVoucher) Reset() { *m = MsgClaimVoucher{} } @@ -842,9 +842,9 @@ func (m *MsgClaimVoucher) GetSender() string { return "" } -func (m *MsgClaimVoucher) GetOriginator() string { +func (m *MsgClaimVoucher) GetDenom() string { if m != nil { - return m.Originator + return m.Denom } return "" } @@ -911,68 +911,68 @@ func init() { } var fileDescriptor_ab9bfdcab1d9b6fa = []byte{ - // 962 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0x4f, 0x6f, 0xe3, 0x44, - 0x1c, 0xad, 0xb7, 0xdd, 0xd2, 0x4c, 0xbb, 0x5b, 0x6a, 0x55, 0x6a, 0xd6, 0x0b, 0x6e, 0xc9, 0x0a, - 0x28, 0x5d, 0xd5, 0x26, 0x5d, 0xa9, 0x12, 0x39, 0x20, 0x48, 0xf6, 0x00, 0xd2, 0x66, 0x15, 0x5c, - 0x58, 0x24, 0x24, 0x64, 0x8d, 0x93, 0xc1, 0x31, 0x89, 0x67, 0x2c, 0x8f, 0x93, 0xd0, 0x13, 0x12, - 0x07, 0x24, 0x38, 0x20, 0x8e, 0x88, 0x4f, 0xb1, 0x07, 0xae, 0x70, 0xe2, 0xb0, 0xc7, 0x15, 0x27, - 0x4e, 0x2b, 0xd4, 0x1e, 0xf6, 0x8e, 0xf8, 0x00, 0x68, 0x3c, 0x13, 0xdb, 0x99, 0xa4, 0xb1, 0xd3, - 0x55, 0xf7, 0xd2, 0x66, 0x7e, 0x7f, 0xdf, 0x7b, 0xa3, 0xdf, 0xcc, 0x18, 0xbc, 0xe5, 0xe1, 0xaf, - 0x51, 0x3b, 0xf2, 0x86, 0xc8, 0x0c, 0x50, 0xe8, 0x7b, 0x94, 0x7a, 0x04, 0x53, 0x73, 0x58, 0x75, - 0x50, 0x04, 0xab, 0x66, 0xf4, 0x8d, 0x11, 0x84, 0x24, 0x22, 0xea, 0xeb, 0x49, 0x9c, 0x91, 0x89, - 0x33, 0x44, 0x9c, 0xb6, 0xed, 0x12, 0x97, 0xc4, 0x91, 0x26, 0xfb, 0xc5, 0x93, 0x34, 0xbd, 0x4d, - 0xa8, 0x4f, 0xa8, 0xe9, 0x40, 0x8a, 0x92, 0x92, 0x6d, 0xe2, 0xe1, 0x29, 0x3f, 0xee, 0x25, 0x7e, - 0xb6, 0x10, 0xfe, 0x1d, 0xe1, 0xf7, 0xa9, 0x6b, 0x0e, 0xab, 0xec, 0x9f, 0x70, 0xdc, 0xe2, 0x0e, - 0x9b, 0x77, 0xe4, 0x0b, 0xe1, 0x3a, 0x98, 0x4f, 0x28, 0x80, 0x21, 0xf4, 0xc7, 0xb1, 0x66, 0x4e, - 0x6c, 0x86, 0x28, 0x4f, 0xd8, 0x82, 0xbe, 0x87, 0x89, 0x19, 0xff, 0xe5, 0xa6, 0xca, 0x1f, 0x0a, - 0xd8, 0x6c, 0x52, 0xf7, 0xb3, 0xa0, 0x03, 0x23, 0xd4, 0x8a, 0xab, 0xab, 0xc7, 0xa0, 0x04, 0x07, - 0x51, 0x97, 0x84, 0x5e, 0x74, 0x5a, 0x56, 0xf6, 0x94, 0xfd, 0x52, 0xbd, 0xfc, 0xd7, 0x6f, 0x87, - 0xdb, 0x02, 0xe8, 0x87, 0x9d, 0x4e, 0x88, 0x28, 0x3d, 0x89, 0x42, 0x0f, 0xbb, 0x56, 0x1a, 0xaa, - 0x36, 0xc0, 0x2a, 0xc7, 0x57, 0xbe, 0xb6, 0xa7, 0xec, 0xaf, 0x1f, 0xbd, 0x69, 0xcc, 0x55, 0xdd, - 0xe0, 0xed, 0xea, 0x2b, 0x4f, 0x9e, 0xed, 0x2e, 0x59, 0x22, 0xb5, 0x66, 0x7c, 0xf7, 0xfc, 0xf1, - 0x41, 0x5a, 0xf4, 0xc7, 0xe7, 0x8f, 0x0f, 0x6e, 0x67, 0xd9, 0x49, 0x60, 0x2b, 0xb7, 0xc0, 0x8e, - 0x64, 0xb2, 0x10, 0x0d, 0x08, 0xa6, 0xa8, 0xf2, 0xbb, 0x02, 0xd4, 0x26, 0x75, 0x1b, 0x21, 0x82, - 0x11, 0x7a, 0x08, 0x7d, 0x44, 0x03, 0xd8, 0x46, 0xea, 0x3b, 0x60, 0x95, 0x22, 0xdc, 0x41, 0xa1, - 0xe0, 0xb6, 0xf5, 0xef, 0xb3, 0xdd, 0x1b, 0xa7, 0xd0, 0xef, 0xd7, 0x2a, 0xdc, 0x5e, 0xb1, 0x44, - 0x80, 0xfa, 0x00, 0x94, 0xf0, 0x38, 0x4f, 0x90, 0xda, 0xcf, 0x21, 0x95, 0xf4, 0x11, 0xbc, 0xd2, - 0x02, 0x9c, 0x9a, 0x28, 0xcd, 0x78, 0xe9, 0x12, 0x2f, 0x09, 0x68, 0xe5, 0x35, 0xa0, 0x4d, 0x5b, - 0x13, 0x76, 0xbf, 0x70, 0x76, 0xf7, 0x51, 0x1f, 0x5d, 0x92, 0xdd, 0xdb, 0x60, 0x33, 0x01, 0x67, - 0x77, 0x10, 0x26, 0x7e, 0xcc, 0xb1, 0x64, 0xdd, 0x4c, 0xcc, 0xf7, 0x99, 0x35, 0x17, 0xb8, 0x84, - 0x41, 0x00, 0x97, 0xac, 0x09, 0xf0, 0xff, 0xae, 0xc7, 0xc0, 0xf9, 0x96, 0x5d, 0x29, 0x70, 0xf5, - 0x4b, 0x50, 0x1a, 0x41, 0xea, 0xdb, 0x5d, 0x42, 0x7a, 0xe5, 0xe5, 0x78, 0xff, 0x3e, 0xc8, 0xd9, - 0xbf, 0x69, 0x64, 0xcc, 0x74, 0x82, 0xa2, 0xcf, 0x21, 0xf5, 0x3f, 0x22, 0xa4, 0x67, 0xad, 0x8d, - 0xc4, 0x2f, 0xf5, 0x2b, 0xb0, 0xe1, 0x7b, 0x38, 0xa2, 0x76, 0x00, 0x07, 0x14, 0x75, 0xca, 0x2b, - 0x71, 0x87, 0xc6, 0x65, 0x3b, 0x34, 0x59, 0xad, 0x56, 0x5c, 0xca, 0x5a, 0xf7, 0xd3, 0x05, 0xeb, - 0xc3, 0x98, 0x27, 0x7d, 0xae, 0xbf, 0x58, 0x9f, 0x13, 0x56, 0x6b, 0xdc, 0x87, 0xa6, 0x0b, 0xd6, - 0xc7, 0x19, 0x84, 0x38, 0xe9, 0xb3, 0xfa, 0x62, 0x7d, 0xea, 0xac, 0xd6, 0xb8, 0x8f, 0x93, 0x2e, - 0xb4, 0x43, 0x70, 0x73, 0x52, 0x53, 0xf5, 0x36, 0x28, 0x61, 0x34, 0xb2, 0x87, 0xb0, 0x3f, 0x40, - 0x7c, 0xff, 0xad, 0x35, 0x8c, 0x46, 0x8f, 0xd8, 0x5a, 0x7b, 0x17, 0x6c, 0x4d, 0x09, 0x34, 0x9d, - 0xb1, 0x36, 0x2b, 0x23, 0x43, 0xb5, 0x60, 0x46, 0x06, 0xf4, 0xdc, 0x8c, 0xdc, 0xa1, 0x90, 0x34, - 0x11, 0x43, 0x21, 0x59, 0x93, 0xa1, 0xf8, 0xf3, 0x5a, 0xe6, 0x1c, 0x4b, 0xdd, 0xa4, 0x8f, 0xe8, - 0x95, 0x4c, 0xc6, 0x43, 0xf0, 0x6a, 0x48, 0xfa, 0xc8, 0xce, 0x80, 0x2e, 0x2f, 0xef, 0x2d, 0xef, - 0xaf, 0x1f, 0xdd, 0xc9, 0xd9, 0x6e, 0x86, 0xc9, 0xda, 0x64, 0xc9, 0xad, 0xd4, 0xab, 0xb6, 0xc0, - 0x0d, 0xc8, 0xef, 0x05, 0x9b, 0xb9, 0x68, 0x79, 0x25, 0x2e, 0x76, 0x37, 0xa7, 0x98, 0xb8, 0x4b, - 0x62, 0x9e, 0xd6, 0x06, 0xcc, 0xac, 0x6a, 0xf7, 0x24, 0x7d, 0xef, 0xcc, 0xd7, 0x37, 0x4e, 0xaa, - 0xbc, 0x01, 0x76, 0x2f, 0x70, 0x25, 0x4a, 0x7f, 0xcf, 0x95, 0xb6, 0xd0, 0x90, 0xf4, 0x5e, 0x86, - 0xd2, 0x0e, 0xd8, 0x99, 0x50, 0xc6, 0x8e, 0x88, 0x1d, 0xc6, 0xcd, 0x85, 0xe0, 0x0b, 0x69, 0xb4, - 0x9d, 0xd5, 0xe8, 0x53, 0xc2, 0x59, 0xe4, 0x6a, 0x35, 0x8b, 0xac, 0xd0, 0x6a, 0x96, 0x2b, 0xd1, - 0xea, 0x07, 0xfe, 0x3a, 0x68, 0xf4, 0xa1, 0xe7, 0x3f, 0x22, 0x83, 0x76, 0x17, 0x85, 0x8b, 0x68, - 0xa4, 0x03, 0x40, 0x42, 0xcf, 0xf5, 0x30, 0x8c, 0x48, 0x28, 0xe4, 0xc9, 0x58, 0x6a, 0x77, 0x25, - 0xd8, 0xf2, 0x45, 0x9f, 0xed, 0x2b, 0x2e, 0xfa, 0xac, 0x69, 0x0c, 0xf3, 0xe8, 0xd7, 0x57, 0xc0, - 0x72, 0x93, 0xba, 0xea, 0x10, 0x6c, 0x4c, 0x3c, 0x64, 0x8c, 0xa2, 0x27, 0x17, 0x8f, 0xd7, 0x8e, - 0x17, 0x8b, 0x1f, 0xf7, 0x57, 0xbf, 0x05, 0x9b, 0xf2, 0x23, 0xa3, 0x9a, 0x5f, 0x4a, 0x4a, 0xd1, - 0xde, 0x5b, 0x38, 0x25, 0x0b, 0x40, 0x7e, 0x07, 0x14, 0x00, 0x20, 0xa5, 0x14, 0x01, 0x70, 0xc1, - 0x9d, 0xce, 0x00, 0xc8, 0xf7, 0x79, 0x75, 0xe1, 0x6b, 0xa3, 0x08, 0x80, 0x0b, 0xce, 0x4f, 0xf5, - 0x27, 0x05, 0x6c, 0xcf, 0x3c, 0x3c, 0x8f, 0x17, 0xaf, 0xc9, 0xf2, 0xb4, 0xf7, 0x2f, 0x97, 0x37, - 0x01, 0x68, 0xe6, 0x19, 0x53, 0x00, 0xd0, 0xac, 0xbc, 0x22, 0x80, 0xe6, 0xcd, 0x32, 0x1b, 0x8e, - 0x89, 0x39, 0x2e, 0x30, 0x1c, 0xd9, 0xf8, 0x22, 0xc3, 0x31, 0x6b, 0x38, 0xeb, 0xbd, 0x27, 0x67, - 0xba, 0xf2, 0xf4, 0x4c, 0x57, 0xfe, 0x39, 0xd3, 0x95, 0x9f, 0xcf, 0xf5, 0xa5, 0xa7, 0xe7, 0xfa, - 0xd2, 0xdf, 0xe7, 0xfa, 0xd2, 0x17, 0x9f, 0xb8, 0x5e, 0xd4, 0x1d, 0x38, 0x46, 0x9b, 0xf8, 0xe6, - 0xc7, 0xe3, 0xda, 0x0f, 0xa0, 0x43, 0xd3, 0x0f, 0x9b, 0xc3, 0x36, 0x09, 0x51, 0x76, 0xd9, 0x85, - 0x1e, 0x36, 0x7d, 0xd2, 0x19, 0xf4, 0x11, 0x9d, 0xf8, 0xea, 0x89, 0x4e, 0x03, 0x44, 0x9d, 0xd5, - 0xf8, 0xab, 0xe6, 0xde, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xef, 0xa1, 0xe8, 0x8e, 0x18, 0x0e, - 0x00, 0x00, + // 961 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0x4d, 0x6f, 0xe3, 0x44, + 0x18, 0xae, 0xb7, 0x1f, 0x34, 0xd3, 0xee, 0x96, 0x5a, 0x91, 0x9a, 0xf5, 0x82, 0x5b, 0xb2, 0x02, + 0x42, 0x56, 0xb5, 0x49, 0x57, 0xaa, 0x44, 0x0e, 0x08, 0x92, 0x3d, 0x80, 0xb4, 0x59, 0x05, 0x17, + 0x16, 0x09, 0x09, 0x59, 0xe3, 0x64, 0x70, 0x4c, 0x62, 0x8f, 0xe5, 0x71, 0x12, 0x7a, 0x5a, 0xc4, + 0x81, 0x03, 0x07, 0xc4, 0x91, 0x2b, 0xff, 0xa0, 0x07, 0xae, 0x70, 0xe2, 0xb0, 0xc7, 0x15, 0x27, + 0x4e, 0x2b, 0xd4, 0x1e, 0x7a, 0x47, 0xfc, 0x00, 0x34, 0x9e, 0x89, 0xed, 0x4c, 0xd2, 0xd8, 0xe9, + 0x6a, 0xb9, 0xb4, 0x79, 0xbf, 0x9f, 0xe7, 0xb1, 0xde, 0x19, 0x1b, 0xbc, 0xe5, 0x78, 0x5f, 0xa3, + 0x4e, 0xe8, 0x8c, 0x90, 0xee, 0xa3, 0xc0, 0x75, 0x08, 0x71, 0xb0, 0x47, 0xf4, 0x51, 0xcd, 0x42, + 0x21, 0xac, 0xe9, 0xe1, 0x37, 0x9a, 0x1f, 0xe0, 0x10, 0xcb, 0xaf, 0xc7, 0x79, 0x5a, 0x2a, 0x4f, + 0xe3, 0x79, 0x4a, 0xd1, 0xc6, 0x36, 0x8e, 0x32, 0x75, 0xfa, 0x8b, 0x15, 0x29, 0x6a, 0x07, 0x13, + 0x17, 0x13, 0xdd, 0x82, 0x04, 0xc5, 0x2d, 0x3b, 0xd8, 0xf1, 0x66, 0xe2, 0x5e, 0x3f, 0x8e, 0x53, + 0x83, 0xc7, 0xf7, 0x78, 0xdc, 0x25, 0xb6, 0x3e, 0xaa, 0xd1, 0x7f, 0x3c, 0x70, 0x9b, 0x05, 0x4c, + 0x36, 0x91, 0x19, 0x3c, 0x54, 0x5d, 0x4c, 0xc8, 0x87, 0x01, 0x74, 0x27, 0xb9, 0x7a, 0x46, 0x6e, + 0x8a, 0x28, 0x2b, 0xd8, 0x85, 0xae, 0xe3, 0x61, 0x3d, 0xfa, 0xcb, 0x5c, 0xe5, 0xdf, 0x25, 0xb0, + 0xd3, 0x22, 0xf6, 0x67, 0x7e, 0x17, 0x86, 0xa8, 0x1d, 0x75, 0x97, 0x8f, 0x41, 0x01, 0x0e, 0xc3, + 0x1e, 0x0e, 0x9c, 0xf0, 0xb4, 0x24, 0x1d, 0x48, 0x95, 0x42, 0xa3, 0xf4, 0xe7, 0xaf, 0x87, 0x45, + 0x0e, 0xf4, 0xc3, 0x6e, 0x37, 0x40, 0x84, 0x9c, 0x84, 0x81, 0xe3, 0xd9, 0x46, 0x92, 0x2a, 0x37, + 0xc1, 0x06, 0xc3, 0x57, 0xba, 0x71, 0x20, 0x55, 0xb6, 0x8e, 0xde, 0xd4, 0x16, 0xaa, 0xae, 0xb1, + 0x71, 0x8d, 0xb5, 0xa7, 0xcf, 0xf7, 0x57, 0x0c, 0x5e, 0x5a, 0xd7, 0xbe, 0xbb, 0x3c, 0xab, 0x26, + 0x4d, 0x7f, 0xb8, 0x3c, 0xab, 0xde, 0x49, 0xb3, 0x13, 0xc0, 0x96, 0x6f, 0x83, 0x3d, 0xc1, 0x65, + 0x20, 0xe2, 0x63, 0x8f, 0xa0, 0xf2, 0x6f, 0x12, 0x90, 0x5b, 0xc4, 0x6e, 0x06, 0x08, 0x86, 0xe8, + 0x11, 0x74, 0x11, 0xf1, 0x61, 0x07, 0xc9, 0xef, 0x80, 0x0d, 0x82, 0xbc, 0x2e, 0x0a, 0x38, 0xb7, + 0xdd, 0x7f, 0x9e, 0xef, 0xdf, 0x3c, 0x85, 0xee, 0xa0, 0x5e, 0x66, 0xfe, 0xb2, 0xc1, 0x13, 0xe4, + 0x87, 0xa0, 0xe0, 0x4d, 0xea, 0x38, 0xa9, 0x4a, 0x06, 0xa9, 0x78, 0x0e, 0xe7, 0x95, 0x34, 0x60, + 0xd4, 0x78, 0x6b, 0xca, 0x4b, 0x15, 0x78, 0x09, 0x40, 0xcb, 0xaf, 0x01, 0x65, 0xd6, 0x1b, 0xb3, + 0xfb, 0x99, 0xb1, 0x7b, 0x80, 0x06, 0xe8, 0x9a, 0xec, 0xde, 0x06, 0x3b, 0x31, 0x38, 0xb3, 0x8b, + 0x3c, 0xec, 0x46, 0x1c, 0x0b, 0xc6, 0xad, 0xd8, 0xfd, 0x80, 0x7a, 0x33, 0x81, 0x0b, 0x18, 0x38, + 0x70, 0xc1, 0x1b, 0x03, 0xff, 0x77, 0x3d, 0x02, 0xce, 0x1e, 0xd9, 0x4b, 0x05, 0x2e, 0x7f, 0x09, + 0x0a, 0x63, 0x48, 0x5c, 0xb3, 0x87, 0x71, 0xbf, 0xb4, 0x1a, 0x3d, 0xbf, 0x0f, 0x32, 0x9e, 0xdf, + 0x2c, 0x32, 0xea, 0x3a, 0x41, 0xe1, 0xe7, 0x90, 0xb8, 0x1f, 0x61, 0xdc, 0x37, 0x36, 0xc7, 0xfc, + 0x97, 0xfc, 0x15, 0xd8, 0x76, 0x1d, 0x2f, 0x24, 0xa6, 0x0f, 0x87, 0x04, 0x75, 0x4b, 0x6b, 0xd1, + 0x84, 0xe6, 0x75, 0x27, 0xb4, 0x68, 0xaf, 0x76, 0xd4, 0xca, 0xd8, 0x72, 0x13, 0x83, 0xce, 0xa1, + 0xcc, 0xe3, 0x39, 0xeb, 0x2f, 0x36, 0xe7, 0x84, 0xf6, 0x9a, 0xcc, 0x21, 0x89, 0x41, 0xe7, 0x58, + 0xc3, 0xc0, 0x8b, 0xe7, 0x6c, 0xbc, 0xd8, 0x9c, 0x06, 0xed, 0x35, 0x99, 0x63, 0x25, 0x86, 0x72, + 0x08, 0x6e, 0x4d, 0x6b, 0x2a, 0xdf, 0x01, 0x05, 0x0f, 0x8d, 0xcd, 0x11, 0x1c, 0x0c, 0x11, 0x7b, + 0xfe, 0xc6, 0xa6, 0x87, 0xc6, 0x8f, 0xa9, 0xad, 0xbc, 0x0b, 0x76, 0x67, 0x04, 0x9a, 0xad, 0xd8, + 0x9c, 0x57, 0x91, 0xa2, 0x9a, 0xb3, 0x22, 0x05, 0x7a, 0x61, 0x45, 0xe6, 0x52, 0x08, 0x9a, 0xf0, + 0xa5, 0x10, 0xbc, 0xf1, 0x52, 0xfc, 0x71, 0x23, 0x75, 0x8e, 0x25, 0x61, 0x3c, 0x40, 0xe4, 0xa5, + 0x6c, 0xc6, 0x23, 0xf0, 0x6a, 0x80, 0x07, 0xc8, 0x4c, 0x81, 0x2e, 0xad, 0x1e, 0xac, 0x56, 0xb6, + 0x8e, 0xee, 0x66, 0x3c, 0x6e, 0x8a, 0xc9, 0xd8, 0xa1, 0xc5, 0xed, 0x24, 0x2a, 0xb7, 0xc1, 0x4d, + 0xc8, 0xee, 0x05, 0x93, 0x86, 0x48, 0x69, 0x2d, 0x6a, 0x76, 0x2f, 0xa3, 0x19, 0xbf, 0x4b, 0x22, + 0x9e, 0xc6, 0x36, 0x4c, 0x59, 0xf5, 0xfb, 0x82, 0xbe, 0x77, 0x17, 0xeb, 0x1b, 0x15, 0x95, 0xdf, + 0x00, 0xfb, 0x57, 0x84, 0x62, 0xa5, 0xbf, 0x67, 0x4a, 0x1b, 0x68, 0x84, 0xfb, 0xff, 0x87, 0xd2, + 0x16, 0xd8, 0x9b, 0x52, 0xc6, 0x0c, 0xb1, 0x19, 0x44, 0xc3, 0xb9, 0xe0, 0x4b, 0x69, 0x54, 0x4c, + 0x6b, 0xf4, 0x29, 0x66, 0x2c, 0x32, 0xb5, 0x9a, 0x47, 0x96, 0x6b, 0x35, 0x2f, 0x14, 0x6b, 0xf5, + 0x24, 0x7a, 0x39, 0x68, 0x0e, 0xa0, 0xe3, 0x3e, 0xc6, 0xc3, 0x4e, 0x0f, 0x05, 0xcb, 0x48, 0x54, + 0x04, 0xeb, 0x69, 0x61, 0x98, 0x51, 0xbf, 0x27, 0x60, 0x15, 0x6f, 0xf7, 0xf4, 0x34, 0x7e, 0xbb, + 0xa7, 0x5d, 0x13, 0x6c, 0x47, 0xbf, 0xbc, 0x02, 0x56, 0x5b, 0xc4, 0x96, 0x47, 0x60, 0x7b, 0xea, + 0xed, 0x45, 0xcb, 0x7b, 0x5c, 0xb1, 0x7c, 0xe5, 0x78, 0xb9, 0xfc, 0xc9, 0x7c, 0xf9, 0x09, 0xd8, + 0x11, 0xdf, 0x2c, 0x6a, 0xd9, 0xad, 0x84, 0x12, 0xe5, 0xbd, 0xa5, 0x4b, 0xd2, 0x00, 0xc4, 0xcb, + 0x3f, 0x07, 0x00, 0xa1, 0x24, 0x0f, 0x80, 0x2b, 0x2e, 0x72, 0x0a, 0x40, 0xbc, 0xc4, 0x6b, 0x4b, + 0xdf, 0x15, 0x79, 0x00, 0x5c, 0x71, 0x68, 0xca, 0x3f, 0x4a, 0xa0, 0x38, 0xf7, 0xc4, 0x3c, 0x5e, + 0xbe, 0x27, 0xad, 0x53, 0xde, 0xbf, 0x5e, 0xdd, 0x14, 0xa0, 0xb9, 0x07, 0x4b, 0x0e, 0x40, 0xf3, + 0xea, 0xf2, 0x00, 0x5a, 0xb4, 0xc0, 0x74, 0x39, 0xa6, 0xb6, 0x37, 0xc7, 0x72, 0xa4, 0xf3, 0xf3, + 0x2c, 0xc7, 0xbc, 0xe5, 0x54, 0xd6, 0xbf, 0xbd, 0x3c, 0xab, 0x4a, 0x8d, 0xfe, 0xd3, 0x73, 0x55, + 0x7a, 0x76, 0xae, 0x4a, 0x7f, 0x9f, 0xab, 0xd2, 0x4f, 0x17, 0xea, 0xca, 0xb3, 0x0b, 0x75, 0xe5, + 0xaf, 0x0b, 0x75, 0xe5, 0x8b, 0x4f, 0x6c, 0x27, 0xec, 0x0d, 0x2d, 0xad, 0x83, 0x5d, 0xfd, 0xe3, + 0xc9, 0x88, 0x87, 0xd0, 0x22, 0xc9, 0x47, 0xcd, 0x61, 0x07, 0x07, 0x28, 0x6d, 0xf6, 0xa0, 0xe3, + 0xe9, 0x2e, 0xee, 0x0e, 0x07, 0x88, 0x4c, 0x7d, 0xf1, 0x84, 0xa7, 0x3e, 0x22, 0xd6, 0x46, 0xf4, + 0x45, 0x73, 0xff, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x72, 0x97, 0x38, 0xd1, 0x14, 0x0e, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1876,10 +1876,10 @@ func (m *MsgClaimVoucher) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.Originator) > 0 { - i -= len(m.Originator) - copy(dAtA[i:], m.Originator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Originator))) + if len(m.Denom) > 0 { + i -= len(m.Denom) + copy(dAtA[i:], m.Denom) + i = encodeVarintTx(dAtA, i, uint64(len(m.Denom))) i-- dAtA[i] = 0x12 } @@ -2172,7 +2172,7 @@ func (m *MsgClaimVoucher) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Originator) + l = len(m.Denom) if l > 0 { n += 1 + l + sovTx(uint64(l)) } @@ -3781,7 +3781,7 @@ func (m *MsgClaimVoucher) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Originator", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -3809,7 +3809,7 @@ func (m *MsgClaimVoucher) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Originator = string(dAtA[iNdEx:postIndex]) + m.Denom = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex diff --git a/chain/permissions/types/types.go b/chain/permissions/types/types.go index 563d1b68..12a6b08f 100644 --- a/chain/permissions/types/types.go +++ b/chain/permissions/types/types.go @@ -1,6 +1,8 @@ package types import ( + "encoding/json" + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" @@ -19,18 +21,63 @@ type WasmHookMsg struct { Amounts sdk.Coins `json:"amounts"` } +func NewWasmHookMsg(fromAddr, toAddr sdk.AccAddress, action Action, amount sdk.Coin) WasmHookMsg { + return WasmHookMsg{ + From: fromAddr, + To: toAddr, + Action: action.String(), + Amounts: sdk.NewCoins(amount), + } +} + +func GetWasmHookMsgBytes(fromAddr, toAddr sdk.AccAddress, action Action, amount sdk.Coin) ([]byte, error) { + wasmHookMsg := struct { + SendRestriction WasmHookMsg `json:"send_restriction"` + }{NewWasmHookMsg(fromAddr, toAddr, action, amount)} + + bz, err := json.Marshal(wasmHookMsg) + if err != nil { + return nil, err + } + + return bz, nil +} + func (n *Namespace) Validate() error { + if err := n.ValidateBasicParams(); err != nil { + return err + } + + if err := n.ValidateEveryoneRole(); err != nil { + return err + } + + if err := n.ValidateRoles(false); err != nil { + return err + } + + return nil +} + +func (n *Namespace) ValidateBasicParams() error { if _, _, err := tftypes.DeconstructDenom(n.Denom); err != nil { return errors.Wrap(err, "permissions namespace can only be applied to tokenfactory denoms") } + // existing wasm hook contract + if n.WasmHook != "" { + if _, err := sdk.AccAddressFromBech32(n.WasmHook); err != nil { + return ErrInvalidWasmHook + } + } + + return nil +} + +func (n *Namespace) ValidateRoles(isForUpdate bool) error { // role_permissions - hasEveryoneSet := false foundRoles := make(map[string]struct{}, len(n.RolePermissions)) for _, rolePerm := range n.RolePermissions { - if rolePerm.Role == EVERYONE { - hasEveryoneSet = true - } if _, ok := foundRoles[rolePerm.Role]; ok { return errors.Wrapf(ErrInvalidPermission, "permissions for the role %s set multiple times?", rolePerm.Role) } @@ -40,10 +87,6 @@ func (n *Namespace) Validate() error { foundRoles[rolePerm.Role] = struct{}{} } - if !hasEveryoneSet { - return errors.Wrapf(ErrInvalidPermission, "permissions for role %s should be explicitly set", EVERYONE) - } - // address_roles foundAddresses := make(map[string]struct{}, len(n.AddressRoles)) for _, addrRoles := range n.AddressRoles { @@ -54,7 +97,8 @@ func (n *Namespace) Validate() error { return errors.Wrapf(ErrInvalidRole, "address %s is assigned new roles multiple times?", addrRoles.Address) } for _, role := range addrRoles.Roles { - if _, ok := foundRoles[role]; !ok { + _, found := foundRoles[role] + if !isForUpdate && !found { return errors.Wrapf(ErrUnknownRole, "role %s has no defined permissions", role) } if role == EVERYONE { @@ -64,12 +108,49 @@ func (n *Namespace) Validate() error { foundAddresses[addrRoles.Address] = struct{}{} } - // existing wasm hook contract - if n.WasmHook != "" { - if _, err := sdk.AccAddressFromBech32(n.WasmHook); err != nil { - return errors.Wrap(err, "invalid WasmHook address") + return nil +} + +func (n *Namespace) ValidateEveryoneRole() error { + // role_permissions + for _, rolePerm := range n.RolePermissions { + if rolePerm.Role == EVERYONE { + return nil } } + return errors.Wrapf(ErrInvalidPermission, "permissions for role %s should be explicitly set", EVERYONE) +} + +func (n *Namespace) CheckActionValidity(action Action) error { + // check that action is not paused + switch action { + case Action_MINT: + if n.MintsPaused { + return errors.Wrap(ErrRestrictedAction, "mints paused") + } + case Action_RECEIVE: + if n.SendsPaused { + return errors.Wrap(ErrRestrictedAction, "sends paused") + } + case Action_BURN: + if n.BurnsPaused { + return errors.Wrap(ErrRestrictedAction, "burns paused") + } + } return nil } + +func (a Action) DeriveActor(fromAddr, toAddr sdk.AccAddress) sdk.AccAddress { + switch a { + case Action_MINT, Action_RECEIVE: + return toAddr + case Action_BURN: + return fromAddr + } + return fromAddr +} + +func NewEmptyVoucher(denom string) sdk.Coin { + return sdk.NewInt64Coin(denom, 0) +} diff --git a/chain/tokenfactory/types/expected_keepers.go b/chain/tokenfactory/types/expected_keepers.go index 6482fbe2..27c25b23 100644 --- a/chain/tokenfactory/types/expected_keepers.go +++ b/chain/tokenfactory/types/expected_keepers.go @@ -21,6 +21,7 @@ type BankKeeper interface { SendCoins(ctx context.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error HasBalance(ctx context.Context, addr sdk.AccAddress, amt sdk.Coin) bool + BlockedAddr(addr sdk.AccAddress) bool } type AccountKeeper interface { diff --git a/chain/tokenfactory/types/tx.pb.go b/chain/tokenfactory/types/tx.pb.go index b12c89c3..c4002d82 100644 --- a/chain/tokenfactory/types/tx.pb.go +++ b/chain/tokenfactory/types/tx.pb.go @@ -641,61 +641,61 @@ func init() { } var fileDescriptor_b0b26fd7f19ce3c4 = []byte{ - // 855 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0x4d, 0x6f, 0xe3, 0x44, - 0x18, 0x8e, 0xd9, 0x6c, 0x68, 0xa7, 0xbb, 0xa4, 0xf5, 0x96, 0x6d, 0x9a, 0xd5, 0x3a, 0xc8, 0x8b, - 0x76, 0x69, 0xab, 0xd8, 0x4a, 0x2b, 0xb5, 0x22, 0x9c, 0x9a, 0xf6, 0x00, 0x12, 0x91, 0x90, 0x0b, - 0x17, 0x84, 0x54, 0xc6, 0xf1, 0xe0, 0x98, 0xc6, 0x33, 0x91, 0x67, 0xdc, 0x36, 0x57, 0xc4, 0x89, - 0x13, 0xff, 0x83, 0x4b, 0x0f, 0x1c, 0xf8, 0x09, 0x95, 0x38, 0x50, 0x71, 0xe2, 0x14, 0xa1, 0xf6, - 0xd0, 0x33, 0xf9, 0x05, 0x68, 0x3e, 0xec, 0x38, 0x09, 0xa1, 0x0e, 0x27, 0x2e, 0xad, 0x67, 0xde, - 0xe7, 0x79, 0xe7, 0x7d, 0xde, 0x2f, 0x05, 0xbc, 0x09, 0xf0, 0xb7, 0xa8, 0xc3, 0x82, 0x73, 0x64, - 0x33, 0x72, 0x86, 0xf0, 0x37, 0xb0, 0xc3, 0x48, 0x34, 0xb0, 0xcf, 0x1b, 0x2e, 0x62, 0xb0, 0x61, - 0xb3, 0x4b, 0xab, 0x1f, 0x11, 0x46, 0x74, 0x23, 0x05, 0x5a, 0x59, 0xa0, 0xa5, 0x80, 0xd5, 0x75, - 0x9f, 0xf8, 0x44, 0x40, 0x6d, 0xfe, 0x25, 0x59, 0x55, 0xa3, 0x43, 0x68, 0x48, 0xa8, 0xed, 0x42, - 0x8a, 0x52, 0x9f, 0x1d, 0x12, 0xe0, 0x19, 0x3b, 0x3e, 0x4b, 0xed, 0xfc, 0xa0, 0xec, 0x1b, 0xca, - 0x1e, 0x52, 0xdf, 0x3e, 0x6f, 0xf0, 0x7f, 0xca, 0xb0, 0x29, 0x0d, 0xa7, 0xf2, 0x45, 0x79, 0x50, - 0xa6, 0x9d, 0x07, 0x24, 0xf5, 0x61, 0x04, 0xc3, 0x04, 0xbc, 0x06, 0xc3, 0x00, 0x13, 0x5b, 0xfc, - 0x95, 0x57, 0xe6, 0x5f, 0x1a, 0x78, 0xa7, 0x4d, 0xfd, 0xa3, 0x08, 0x41, 0x86, 0x8e, 0x11, 0x26, - 0xa1, 0xbe, 0x05, 0x4a, 0x14, 0x61, 0x0f, 0x45, 0x15, 0xed, 0x3d, 0xed, 0x83, 0xe5, 0xd6, 0xda, - 0x68, 0x58, 0x7b, 0x3a, 0x80, 0x61, 0xaf, 0x69, 0xca, 0x7b, 0xd3, 0x51, 0x00, 0xdd, 0x06, 0x4b, - 0x34, 0x76, 0x3d, 0x4e, 0xab, 0xbc, 0x25, 0xc0, 0xcf, 0x46, 0xc3, 0x5a, 0x59, 0x81, 0x95, 0xc5, - 0x74, 0x52, 0x90, 0xfe, 0x0a, 0x14, 0x31, 0x0c, 0x51, 0xe5, 0x91, 0x00, 0x97, 0x47, 0xc3, 0xda, - 0x8a, 0x04, 0xf3, 0x5b, 0xd3, 0x11, 0x46, 0x11, 0xc0, 0x20, 0x74, 0x49, 0xaf, 0x52, 0x9c, 0x09, - 0x40, 0xdc, 0xf3, 0x00, 0xc4, 0x47, 0x73, 0xef, 0xbb, 0xfb, 0xab, 0x6d, 0x15, 0xcd, 0x0f, 0xf7, - 0x57, 0xdb, 0xaf, 0xe6, 0xa4, 0xa3, 0x23, 0xf4, 0xd5, 0x65, 0x3c, 0x5f, 0x81, 0xe7, 0x93, 0x92, - 0x1d, 0x44, 0xfb, 0x04, 0x53, 0xa4, 0xb7, 0x40, 0x19, 0xa3, 0x8b, 0x53, 0x41, 0x3d, 0x95, 0xb2, - 0x64, 0x0e, 0xaa, 0xa3, 0x61, 0xed, 0xb9, 0x8a, 0x74, 0x12, 0x60, 0x3a, 0x4f, 0x31, 0xba, 0xf8, - 0x9c, 0x5f, 0x08, 0x5f, 0xe6, 0x4f, 0x1a, 0x78, 0xbb, 0x4d, 0xfd, 0x76, 0x80, 0xd9, 0x22, 0xa9, - 0xfc, 0x18, 0x94, 0x60, 0x48, 0x62, 0xcc, 0x44, 0x22, 0x57, 0x76, 0x37, 0x2d, 0x55, 0x67, 0xde, - 0x4d, 0x49, 0xe3, 0x59, 0x47, 0x24, 0xc0, 0xad, 0x77, 0xaf, 0x87, 0xb5, 0xc2, 0xd8, 0x93, 0xa4, - 0x99, 0x8e, 0xe2, 0x37, 0x77, 0xa6, 0x72, 0xf2, 0x62, 0x4e, 0x4e, 0xc2, 0x00, 0x33, 0x73, 0x0d, - 0x94, 0x55, 0xb0, 0x49, 0x12, 0x12, 0x01, 0xad, 0x38, 0xc2, 0xff, 0x6f, 0x01, 0x6e, 0x1c, 0x61, - 0x25, 0x80, 0x07, 0x9b, 0x0a, 0xf8, 0x55, 0xf5, 0x74, 0x17, 0x62, 0x1f, 0x1d, 0x7a, 0x61, 0xb0, - 0x90, 0x8e, 0xd7, 0xe0, 0x71, 0xb6, 0xa1, 0x57, 0x47, 0xc3, 0xda, 0x13, 0x89, 0x54, 0xf5, 0x96, - 0x66, 0xbd, 0x01, 0x96, 0x79, 0x2b, 0x40, 0xee, 0x5f, 0xf5, 0xf3, 0xfa, 0x68, 0x58, 0x5b, 0x1d, - 0x77, 0x89, 0x30, 0x99, 0xce, 0x12, 0x46, 0x17, 0x22, 0x8a, 0xfc, 0xdd, 0x2a, 0x22, 0xaf, 0x4b, - 0x7e, 0x45, 0x76, 0xeb, 0x58, 0x4c, 0xaa, 0xf3, 0x37, 0x0d, 0x3c, 0x6b, 0x53, 0xff, 0x04, 0x31, - 0xd1, 0x79, 0x6d, 0xc4, 0xa0, 0x07, 0x19, 0x5c, 0x44, 0xac, 0x03, 0x96, 0x42, 0x45, 0x53, 0x65, - 0x7b, 0x39, 0x2e, 0x1b, 0x3e, 0x4b, 0xcb, 0x96, 0xf8, 0x6e, 0x6d, 0xa8, 0xd2, 0xa9, 0x19, 0x4f, - 0xc8, 0xa6, 0x93, 0xfa, 0x69, 0x7e, 0x38, 0xa5, 0x72, 0x6b, 0x8e, 0x4a, 0x8a, 0x98, 0x1c, 0xc8, - 0x7a, 0xea, 0xe5, 0x25, 0x78, 0xf1, 0x0f, 0x82, 0x52, 0xc1, 0xd7, 0x9a, 0x28, 0xf6, 0x17, 0x7d, - 0x0f, 0x32, 0xf4, 0x99, 0xd8, 0x6c, 0xfa, 0x3e, 0x58, 0x86, 0x31, 0xeb, 0x92, 0x28, 0x60, 0x03, - 0xa5, 0xb7, 0xf2, 0xfb, 0xcf, 0xf5, 0x75, 0xa5, 0xe2, 0xd0, 0xf3, 0x22, 0x44, 0xe9, 0x09, 0x8b, - 0x02, 0xec, 0x3b, 0x63, 0xa8, 0x7e, 0x0c, 0x4a, 0x72, 0x37, 0x2a, 0xdd, 0xaf, 0xad, 0x7f, 0xdf, - 0xf9, 0x96, 0x7c, 0xaf, 0x55, 0xe4, 0x09, 0x70, 0x14, 0xb7, 0x79, 0xc0, 0xb5, 0x8e, 0xbd, 0x72, - 0xb9, 0xef, 0xcf, 0x91, 0x1b, 0x8b, 0xa8, 0xeb, 0x92, 0x68, 0x6e, 0x82, 0x8d, 0x29, 0x25, 0x89, - 0xca, 0xdd, 0x5f, 0x1e, 0x83, 0x47, 0x6d, 0xea, 0xeb, 0x31, 0x58, 0xc9, 0xae, 0x65, 0xeb, 0xa1, - 0x00, 0x27, 0x77, 0x5a, 0x75, 0x7f, 0x31, 0x7c, 0xba, 0x03, 0xbf, 0x06, 0x45, 0xb1, 0xbb, 0xde, - 0xe4, 0xe0, 0x73, 0x60, 0xd5, 0xce, 0x09, 0xcc, 0xbe, 0x20, 0x96, 0x4b, 0x9e, 0x17, 0x38, 0x30, - 0xd7, 0x0b, 0xd9, 0x0d, 0x20, 0x52, 0x97, 0x99, 0xfe, 0x5c, 0xa9, 0x1b, 0xe3, 0xf3, 0xa5, 0x6e, - 0x76, 0x20, 0xf5, 0xef, 0x35, 0xb0, 0x3a, 0x33, 0x8d, 0x7b, 0x39, 0x9c, 0x4d, 0x93, 0xaa, 0x1f, - 0xfd, 0x07, 0x52, 0x1a, 0xc6, 0x25, 0x78, 0x32, 0x31, 0x22, 0x79, 0xd2, 0x97, 0x25, 0x54, 0x0f, - 0x16, 0x24, 0x24, 0x2f, 0xb7, 0x7a, 0xd7, 0xb7, 0x86, 0x76, 0x73, 0x6b, 0x68, 0x7f, 0xde, 0x1a, - 0xda, 0x8f, 0x77, 0x46, 0xe1, 0xe6, 0xce, 0x28, 0xfc, 0x71, 0x67, 0x14, 0xbe, 0x74, 0xfc, 0x80, - 0x75, 0x63, 0xd7, 0xea, 0x90, 0xd0, 0xfe, 0x24, 0x71, 0xfe, 0x29, 0x74, 0xa9, 0x9d, 0x3e, 0x55, - 0xef, 0x90, 0x08, 0x65, 0x8f, 0x5d, 0x18, 0x60, 0x3b, 0x24, 0x5e, 0xdc, 0x43, 0x74, 0x72, 0x96, - 0xd8, 0xa0, 0x8f, 0xa8, 0x5b, 0x12, 0x3f, 0x61, 0xf6, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xaa, - 0xc1, 0x4d, 0x17, 0xd7, 0x09, 0x00, 0x00, + // 864 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0xcf, 0x6f, 0xe3, 0x44, + 0x14, 0x8e, 0xd9, 0x34, 0xb4, 0xd3, 0x5d, 0xd2, 0x7a, 0xcb, 0x36, 0xf5, 0x6a, 0x1d, 0xe4, 0x45, + 0xbb, 0x6c, 0x57, 0xb1, 0x95, 0xad, 0xb4, 0x2b, 0xc2, 0x69, 0xd3, 0x1e, 0x40, 0x22, 0x12, 0x72, + 0xe1, 0x82, 0x90, 0xca, 0x38, 0x1e, 0x1c, 0xd3, 0x78, 0x26, 0xf2, 0x8c, 0xdb, 0xe6, 0x86, 0x10, + 0x27, 0x4e, 0xfc, 0x1f, 0x5c, 0x7a, 0xe0, 0xce, 0xb5, 0x12, 0x07, 0x2a, 0x4e, 0x9c, 0x22, 0xd4, + 0x1e, 0x7a, 0x26, 0x7f, 0x01, 0x9a, 0x1f, 0x76, 0x9c, 0x84, 0x50, 0x87, 0xd3, 0x5e, 0x5a, 0xcf, + 0xbc, 0xef, 0x7b, 0xef, 0x7d, 0x6f, 0xde, 0x7b, 0x0a, 0x78, 0x1a, 0xe2, 0x6f, 0x51, 0x97, 0x85, + 0x27, 0xc8, 0x61, 0xe4, 0x18, 0xe1, 0x6f, 0x60, 0x97, 0x91, 0x78, 0xe8, 0x9c, 0x34, 0x3d, 0xc4, + 0x60, 0xd3, 0x61, 0x67, 0xf6, 0x20, 0x26, 0x8c, 0xe8, 0x66, 0x06, 0xb4, 0xf3, 0x40, 0x5b, 0x01, + 0x8d, 0xad, 0x80, 0x04, 0x44, 0x40, 0x1d, 0xfe, 0x25, 0x59, 0x86, 0xd9, 0x25, 0x34, 0x22, 0xd4, + 0xf1, 0x20, 0x45, 0x99, 0xcf, 0x2e, 0x09, 0xf1, 0x9c, 0x1d, 0x1f, 0x67, 0x76, 0x7e, 0x50, 0xf6, + 0x6d, 0x65, 0x8f, 0x68, 0xe0, 0x9c, 0x34, 0xf9, 0x3f, 0x65, 0xd8, 0x91, 0x86, 0x23, 0x19, 0x51, + 0x1e, 0x94, 0xe9, 0xf9, 0x2d, 0x92, 0x06, 0x30, 0x86, 0x51, 0x0a, 0xde, 0x84, 0x51, 0x88, 0x89, + 0x23, 0xfe, 0xca, 0x2b, 0xeb, 0x6f, 0x0d, 0xbc, 0xd3, 0xa1, 0xc1, 0x7e, 0x8c, 0x20, 0x43, 0x07, + 0x08, 0x93, 0x48, 0x7f, 0x06, 0x2a, 0x14, 0x61, 0x1f, 0xc5, 0x35, 0xed, 0x3d, 0xed, 0x83, 0xb5, + 0xf6, 0xe6, 0x78, 0x54, 0xbf, 0x37, 0x84, 0x51, 0xbf, 0x65, 0xc9, 0x7b, 0xcb, 0x55, 0x00, 0xdd, + 0x01, 0xab, 0x34, 0xf1, 0x7c, 0x4e, 0xab, 0xbd, 0x25, 0xc0, 0xf7, 0xc7, 0xa3, 0x7a, 0x55, 0x81, + 0x95, 0xc5, 0x72, 0x33, 0x90, 0xfe, 0x18, 0x94, 0x31, 0x8c, 0x50, 0xed, 0x8e, 0x00, 0x57, 0xc7, + 0xa3, 0xfa, 0xba, 0x04, 0xf3, 0x5b, 0xcb, 0x15, 0x46, 0x91, 0xc0, 0x30, 0xf2, 0x48, 0xbf, 0x56, + 0x9e, 0x4b, 0x40, 0xdc, 0xf3, 0x04, 0xc4, 0x47, 0x6b, 0xef, 0xfb, 0x9b, 0xf3, 0x5d, 0x95, 0xcd, + 0x8f, 0x37, 0xe7, 0xbb, 0x8f, 0x17, 0x94, 0xa3, 0x2b, 0xf4, 0x35, 0x64, 0x3e, 0x5f, 0x81, 0x07, + 0xd3, 0x92, 0x5d, 0x44, 0x07, 0x04, 0x53, 0xa4, 0xb7, 0x41, 0x15, 0xa3, 0xd3, 0x23, 0x41, 0x3d, + 0x92, 0xb2, 0x64, 0x0d, 0x8c, 0xf1, 0xa8, 0xfe, 0x40, 0x65, 0x3a, 0x0d, 0xb0, 0xdc, 0x7b, 0x18, + 0x9d, 0x7e, 0xce, 0x2f, 0x84, 0x2f, 0xeb, 0x67, 0x0d, 0xbc, 0xdd, 0xa1, 0x41, 0x27, 0xc4, 0x6c, + 0x99, 0x52, 0x7e, 0x0c, 0x2a, 0x30, 0x22, 0x09, 0x66, 0xa2, 0x90, 0xeb, 0x2f, 0x76, 0x6c, 0xf5, + 0xce, 0xbc, 0x9b, 0xd2, 0xc6, 0xb3, 0xf7, 0x49, 0x88, 0xdb, 0xef, 0x5e, 0x8c, 0xea, 0xa5, 0x89, + 0x27, 0x49, 0xb3, 0x5c, 0xc5, 0x6f, 0x3d, 0x9f, 0xa9, 0xc9, 0xc3, 0x05, 0x35, 0x89, 0x42, 0xcc, + 0xac, 0x4d, 0x50, 0x55, 0xc9, 0xa6, 0x45, 0x48, 0x05, 0xb4, 0x93, 0x18, 0xbf, 0xd9, 0x02, 0xbc, + 0x24, 0xc6, 0x4a, 0x00, 0x4f, 0x36, 0x13, 0xf0, 0x9b, 0xea, 0xe9, 0x1e, 0xc4, 0x01, 0x7a, 0xed, + 0x47, 0xe1, 0x52, 0x3a, 0x9e, 0x80, 0x95, 0x7c, 0x43, 0x6f, 0x8c, 0x47, 0xf5, 0xbb, 0x12, 0xa9, + 0xde, 0x5b, 0x9a, 0xf5, 0x26, 0x58, 0xe3, 0xad, 0x00, 0xb9, 0x7f, 0xd5, 0xcf, 0x5b, 0xe3, 0x51, + 0x7d, 0x63, 0xd2, 0x25, 0xc2, 0x64, 0xb9, 0xab, 0x18, 0x9d, 0x8a, 0x2c, 0x8a, 0x77, 0xab, 0xc8, + 0xbc, 0x21, 0xf9, 0x35, 0xd9, 0xad, 0x13, 0x31, 0x99, 0xce, 0xdf, 0x35, 0x70, 0xbf, 0x43, 0x83, + 0x43, 0xc4, 0x44, 0xe7, 0x75, 0x10, 0x83, 0x3e, 0x64, 0x70, 0x19, 0xb1, 0x2e, 0x58, 0x8d, 0x14, + 0x4d, 0x3d, 0xdb, 0xa3, 0xc9, 0xb3, 0xe1, 0xe3, 0xec, 0xd9, 0x52, 0xdf, 0xed, 0x6d, 0xf5, 0x74, + 0x6a, 0xc6, 0x53, 0xb2, 0xe5, 0x66, 0x7e, 0x5a, 0x1f, 0xce, 0xa8, 0x7c, 0xb6, 0x40, 0x25, 0x45, + 0x4c, 0x0e, 0x64, 0x23, 0xf3, 0xf2, 0x08, 0x3c, 0xfc, 0x17, 0x41, 0x99, 0xe0, 0x0b, 0x4d, 0x3c, + 0xf6, 0x17, 0x03, 0x1f, 0x32, 0xf4, 0x99, 0xd8, 0x6c, 0xfa, 0x4b, 0xb0, 0x06, 0x13, 0xd6, 0x23, + 0x71, 0xc8, 0x86, 0x4a, 0x6f, 0xed, 0x8f, 0x5f, 0x1a, 0x5b, 0x4a, 0xc5, 0x6b, 0xdf, 0x8f, 0x11, + 0xa5, 0x87, 0x2c, 0x0e, 0x71, 0xe0, 0x4e, 0xa0, 0xfa, 0x01, 0xa8, 0xc8, 0xdd, 0xa8, 0x74, 0x3f, + 0xb1, 0xff, 0x7b, 0xe7, 0xdb, 0x32, 0x5e, 0xbb, 0xcc, 0x0b, 0xe0, 0x2a, 0x6e, 0xeb, 0x15, 0xd7, + 0x3a, 0xf1, 0xca, 0xe5, 0xbe, 0xbf, 0x40, 0x6e, 0x22, 0xb2, 0x6e, 0x48, 0xa2, 0xb5, 0x03, 0xb6, + 0x67, 0x94, 0xa4, 0x2a, 0x5f, 0xfc, 0xba, 0x02, 0xee, 0x74, 0x68, 0xa0, 0x27, 0x60, 0x3d, 0xbf, + 0x96, 0xed, 0xdb, 0x12, 0x9c, 0xde, 0x69, 0xc6, 0xcb, 0xe5, 0xf0, 0xd9, 0x0e, 0xfc, 0x1a, 0x94, + 0xc5, 0xee, 0x7a, 0x5a, 0x80, 0xcf, 0x81, 0x86, 0x53, 0x10, 0x98, 0x8f, 0x20, 0x96, 0x4b, 0x91, + 0x08, 0x1c, 0x58, 0x28, 0x42, 0x7e, 0x03, 0x88, 0xd2, 0xe5, 0xa6, 0xbf, 0x50, 0xe9, 0x26, 0xf8, + 0x62, 0xa5, 0x9b, 0x1f, 0x48, 0xfd, 0x07, 0x0d, 0x6c, 0xcc, 0x4d, 0xe3, 0x5e, 0x01, 0x67, 0xb3, + 0x24, 0xe3, 0xa3, 0xff, 0x41, 0xca, 0xd2, 0x38, 0x03, 0x77, 0xa7, 0x46, 0xa4, 0x48, 0xf9, 0xf2, + 0x04, 0xe3, 0xd5, 0x92, 0x84, 0x34, 0xb2, 0xb1, 0xf2, 0xdd, 0xcd, 0xf9, 0xae, 0xd6, 0xee, 0x5f, + 0x5c, 0x99, 0xda, 0xe5, 0x95, 0xa9, 0xfd, 0x75, 0x65, 0x6a, 0x3f, 0x5d, 0x9b, 0xa5, 0xcb, 0x6b, + 0xb3, 0xf4, 0xe7, 0xb5, 0x59, 0xfa, 0xd2, 0x0d, 0x42, 0xd6, 0x4b, 0x3c, 0xbb, 0x4b, 0x22, 0xe7, + 0x93, 0x34, 0xc6, 0xa7, 0xd0, 0xa3, 0x4e, 0x16, 0xb1, 0xd1, 0x25, 0x31, 0xca, 0x1f, 0x7b, 0x30, + 0xc4, 0x4e, 0x44, 0xfc, 0xa4, 0x8f, 0xe8, 0xf4, 0x48, 0xb1, 0xe1, 0x00, 0x51, 0xaf, 0x22, 0x7e, + 0xc9, 0xec, 0xfd, 0x13, 0x00, 0x00, 0xff, 0xff, 0x3b, 0xfb, 0x43, 0xd6, 0xde, 0x09, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/wasmx/types/params.go b/chain/wasmx/types/params.go index 8e1e5351..53bd56d5 100644 --- a/chain/wasmx/types/params.go +++ b/chain/wasmx/types/params.go @@ -19,7 +19,7 @@ const ( var ( DefaultIsExecutionEnabled = false DefaultMaxBeginBlockTotalGas uint64 = 42_000_000 // 42M - DefaultMaxContractGasLimit = DefaultMaxBeginBlockTotalGas / 12 // 3.5M + DefaultMaxContractGasLimit uint64 = DefaultMaxBeginBlockTotalGas / 12 // 3.5M DefaultMinGasPrice uint64 = 1_000_000_000 // 1B ) diff --git a/chain/wasmx/types/tx.pb.go b/chain/wasmx/types/tx.pb.go index 46b3d349..fbf519a8 100644 --- a/chain/wasmx/types/tx.pb.go +++ b/chain/wasmx/types/tx.pb.go @@ -644,58 +644,58 @@ func init() { func init() { proto.RegisterFile("injective/wasmx/v1/tx.proto", fileDescriptor_f7afe23baa925f70) } var fileDescriptor_f7afe23baa925f70 = []byte{ - // 801 bytes of a gzipped FileDescriptorProto + // 808 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x41, 0x4f, 0xdc, 0x46, - 0x14, 0x5e, 0x97, 0x05, 0xc1, 0x94, 0x0a, 0x70, 0xa1, 0xec, 0x7a, 0x8b, 0xa1, 0xae, 0x2a, 0x58, - 0x28, 0x6b, 0x41, 0x2b, 0x54, 0xed, 0x0d, 0x68, 0x0f, 0x55, 0x59, 0x09, 0xb9, 0xea, 0xa5, 0x97, - 0xed, 0xac, 0x3d, 0x0c, 0xae, 0xd6, 0x1e, 0xc7, 0x33, 0x4b, 0xd8, 0xe4, 0x96, 0x1c, 0x22, 0xe5, - 0x94, 0x5f, 0x91, 0x5b, 0x24, 0x0e, 0x39, 0xe5, 0x17, 0x70, 0x44, 0xc9, 0x25, 0xa7, 0x28, 0x82, - 0x48, 0xfc, 0x8d, 0xc8, 0x33, 0xe3, 0xd9, 0xe0, 0xb5, 0xc9, 0x46, 0x4a, 0x2e, 0x2b, 0xbf, 0xf7, - 0xbe, 0x99, 0xef, 0xfb, 0xde, 0xbc, 0xf1, 0x1a, 0xd4, 0xfc, 0xf0, 0x7f, 0xe4, 0x32, 0xff, 0x04, - 0xd9, 0x77, 0x21, 0x0d, 0x4e, 0xed, 0x93, 0x2d, 0x9b, 0x9d, 0x36, 0xa2, 0x98, 0x30, 0xa2, 0xeb, - 0xaa, 0xd8, 0xe0, 0xc5, 0xc6, 0xc9, 0x96, 0x31, 0x8f, 0x09, 0x26, 0xbc, 0x6c, 0x27, 0x4f, 0x02, - 0x69, 0x54, 0x31, 0x21, 0xb8, 0x8b, 0x6c, 0x1e, 0x75, 0x7a, 0x47, 0x36, 0x0c, 0xfb, 0x69, 0xc9, - 0x25, 0x34, 0x20, 0xb4, 0x2d, 0xd6, 0x88, 0x40, 0x96, 0x16, 0x45, 0x64, 0x07, 0x14, 0x27, 0xbc, - 0x01, 0xc5, 0xb2, 0x60, 0xe6, 0xa8, 0x12, 0x0a, 0x44, 0xfd, 0x87, 0x9c, 0x7a, 0x14, 0x93, 0x88, - 0x50, 0xd8, 0x95, 0x90, 0x39, 0x18, 0xf8, 0x21, 0xb1, 0xf9, 0xaf, 0x48, 0x59, 0x4f, 0x35, 0x50, - 0x69, 0x51, 0xfc, 0xc7, 0x29, 0x72, 0x7b, 0x0c, 0xed, 0x93, 0x90, 0xc5, 0xd0, 0x65, 0xfb, 0x24, - 0x88, 0x20, 0xd3, 0xbf, 0x03, 0x13, 0x14, 0x85, 0x1e, 0x8a, 0x2b, 0xda, 0x8a, 0xb6, 0x36, 0xe5, - 0xc8, 0x48, 0x37, 0xc0, 0xa4, 0x2b, 0x91, 0x95, 0xaf, 0x78, 0x45, 0xc5, 0xfa, 0x2c, 0x18, 0x0b, - 0x28, 0xae, 0x8c, 0xf1, 0x74, 0xf2, 0xa8, 0xcf, 0x83, 0xf1, 0xa3, 0x5e, 0xe8, 0xd1, 0x4a, 0x99, - 0xe7, 0x44, 0xd0, 0x6c, 0x3c, 0xb8, 0x3e, 0x5b, 0x97, 0x1b, 0x3e, 0xbe, 0x3e, 0x5b, 0x37, 0x85, - 0xe8, 0x22, 0x2d, 0xd6, 0x0e, 0x58, 0x29, 0xaa, 0x39, 0x88, 0x46, 0x24, 0xa4, 0x48, 0xd7, 0x41, - 0xd9, 0x83, 0x0c, 0x72, 0xb5, 0xd3, 0x0e, 0x7f, 0xb6, 0xde, 0x69, 0x60, 0xae, 0x45, 0xf1, 0x3f, - 0x91, 0x07, 0x07, 0xeb, 0x0a, 0x9d, 0xd5, 0xc1, 0x6c, 0xea, 0xa4, 0x0d, 0x3d, 0x2f, 0x46, 0x94, - 0x4a, 0x87, 0x33, 0x69, 0x7e, 0x57, 0xa4, 0xf5, 0x1a, 0x98, 0xc2, 0x90, 0xb6, 0xbb, 0x7e, 0xe0, - 0x33, 0x6e, 0xb7, 0xec, 0x4c, 0x62, 0x48, 0x0f, 0x92, 0x38, 0x2d, 0x46, 0xb1, 0xef, 0x22, 0xee, - 0x5b, 0x14, 0x0f, 0x93, 0x58, 0xaf, 0x83, 0x6f, 0xa0, 0x17, 0xf8, 0xa1, 0x62, 0x18, 0x4f, 0x18, - 0xf6, 0xca, 0xe7, 0x6f, 0x96, 0x35, 0x67, 0x9a, 0x97, 0x24, 0x49, 0x73, 0x35, 0xd3, 0xa5, 0x45, - 0xd5, 0xa5, 0x9b, 0x86, 0xac, 0x1a, 0xa8, 0x0e, 0x25, 0xd3, 0xbe, 0x58, 0x0f, 0x35, 0xf0, 0x6d, - 0x8b, 0xe2, 0xdd, 0x64, 0x3a, 0x3e, 0x6f, 0x17, 0x9a, 0xf5, 0x8c, 0xc0, 0xaa, 0x12, 0x98, 0x65, - 0xb3, 0x96, 0x40, 0x2d, 0x27, 0xad, 0x44, 0x3e, 0xd2, 0xc0, 0x42, 0x8b, 0xe2, 0xdf, 0x11, 0xfc, - 0x02, 0x32, 0x37, 0x32, 0x32, 0x6b, 0x4a, 0xe6, 0x30, 0x9f, 0xb5, 0x0c, 0x96, 0x72, 0x0b, 0x4a, - 0xea, 0x33, 0x0d, 0xcc, 0xa8, 0x6e, 0x1f, 0xc2, 0x18, 0x06, 0x54, 0xdf, 0x01, 0x53, 0xb0, 0xc7, - 0x8e, 0x49, 0xec, 0xb3, 0xbe, 0xd0, 0xb9, 0x57, 0x79, 0xf9, 0x7c, 0x73, 0x5e, 0x5e, 0x6e, 0x29, - 0xe4, 0x6f, 0x16, 0xfb, 0x21, 0x76, 0x06, 0x50, 0xfd, 0x37, 0x30, 0x11, 0xf1, 0x1d, 0xb8, 0xf4, - 0xaf, 0xb7, 0x8d, 0xc6, 0xf0, 0x0b, 0xa6, 0x21, 0x38, 0xf8, 0x84, 0x94, 0x1c, 0x89, 0x6f, 0xae, - 0x25, 0x9e, 0x06, 0x3b, 0x25, 0xb6, 0x16, 0x32, 0xe3, 0x21, 0xd6, 0x59, 0x55, 0xb0, 0x98, 0x49, - 0x29, 0x2b, 0xaf, 0xc4, 0x68, 0x38, 0x08, 0xfb, 0x94, 0xa1, 0xf8, 0xa3, 0x3d, 0xef, 0x83, 0x25, - 0xd5, 0xf3, 0x98, 0x2f, 0x8a, 0x21, 0xf3, 0x49, 0xd8, 0x8e, 0xd1, 0x9d, 0x1e, 0xa2, 0x4c, 0xba, - 0xb0, 0xf3, 0x5c, 0x0c, 0xfa, 0x38, 0x58, 0xe7, 0x88, 0x65, 0xd2, 0x5a, 0xcd, 0x2d, 0x86, 0xdc, - 0x32, 0x6a, 0x59, 0xf5, 0x72, 0xd4, 0xb2, 0xe9, 0xd4, 0xf4, 0xf6, 0x8b, 0x71, 0x30, 0xd6, 0xa2, - 0x58, 0x67, 0xe0, 0x7b, 0xd1, 0x14, 0x49, 0xd7, 0x4f, 0x91, 0xf2, 0x4c, 0x7f, 0xca, 0x73, 0x31, - 0x74, 0xcd, 0x8c, 0xcd, 0x91, 0x60, 0xea, 0x2d, 0xc5, 0x40, 0x25, 0xbd, 0x04, 0x59, 0x5e, 0x7d, - 0xb5, 0x60, 0xab, 0xec, 0xad, 0x31, 0xec, 0x11, 0x81, 0x8a, 0xf5, 0x1e, 0x30, 0x06, 0x13, 0x3d, - 0xc4, 0x5b, 0x2f, 0xd8, 0x6e, 0xf8, 0x12, 0x18, 0x5b, 0x23, 0x43, 0x15, 0xf7, 0x7d, 0xb0, 0x90, - 0xff, 0x07, 0xf3, 0x73, 0xc1, 0x5e, 0xb9, 0x68, 0xe3, 0xd7, 0x4f, 0x41, 0x2b, 0xf2, 0xff, 0xc0, - 0xf4, 0x8d, 0x8b, 0xfa, 0xe3, 0xad, 0xa7, 0x25, 0x40, 0xc6, 0xc6, 0x08, 0x20, 0xc5, 0xd0, 0x05, - 0xb3, 0x43, 0xf7, 0xa7, 0xe8, 0x20, 0xb3, 0xc0, 0xc2, 0x83, 0x2c, 0x1a, 0xde, 0x3d, 0x74, 0x7e, - 0x69, 0x6a, 0x17, 0x97, 0xa6, 0xf6, 0xf6, 0xd2, 0xd4, 0x9e, 0x5c, 0x99, 0xa5, 0x8b, 0x2b, 0xb3, - 0xf4, 0xfa, 0xca, 0x2c, 0xfd, 0xfb, 0x17, 0xf6, 0xd9, 0x71, 0xaf, 0xd3, 0x70, 0x49, 0x60, 0xff, - 0x99, 0x6e, 0x7a, 0x00, 0x3b, 0xd4, 0x56, 0x14, 0x9b, 0x2e, 0x89, 0xd1, 0x87, 0xe1, 0x31, 0xf4, - 0x43, 0x3b, 0x20, 0x5e, 0xaf, 0x8b, 0xa8, 0xfc, 0x6e, 0x60, 0xfd, 0x08, 0xd1, 0xce, 0x04, 0xff, - 0x3e, 0xf8, 0xe5, 0x7d, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4a, 0xd0, 0xc8, 0x8a, 0x0d, 0x09, 0x00, - 0x00, + 0x14, 0x5e, 0x97, 0x5d, 0x04, 0x53, 0x2a, 0xc0, 0x85, 0xb2, 0xeb, 0x2d, 0x86, 0xba, 0xaa, 0x60, + 0xa1, 0xac, 0x05, 0xad, 0x50, 0xb5, 0x37, 0xa0, 0x3d, 0x54, 0x65, 0x25, 0xe4, 0xaa, 0x97, 0x5e, + 0xb6, 0xb3, 0xf6, 0x30, 0xb8, 0x5a, 0x7b, 0x5c, 0xcf, 0x2c, 0x65, 0xdb, 0x4b, 0xd5, 0x1c, 0x22, + 0xe5, 0x94, 0x5f, 0x91, 0x5b, 0x24, 0x0e, 0xf9, 0x03, 0xb9, 0x71, 0x44, 0xc9, 0x25, 0xa7, 0x28, + 0x82, 0x48, 0xfc, 0x8d, 0xc8, 0x33, 0xe3, 0xd9, 0xe0, 0xb5, 0xc9, 0x46, 0x4a, 0x2e, 0x2b, 0xbf, + 0xf7, 0xbe, 0x99, 0xef, 0xfb, 0xde, 0xbc, 0xf1, 0x1a, 0xd4, 0xfd, 0xf0, 0x4f, 0xe4, 0x32, 0xff, + 0x14, 0xd9, 0x7f, 0x43, 0x1a, 0x9c, 0xd9, 0xa7, 0xdb, 0x36, 0x3b, 0x6b, 0x46, 0x31, 0x61, 0x44, + 0xd7, 0x55, 0xb1, 0xc9, 0x8b, 0xcd, 0xd3, 0x6d, 0x63, 0x01, 0x13, 0x4c, 0x78, 0xd9, 0x4e, 0x9e, + 0x04, 0xd2, 0xa8, 0x61, 0x42, 0x70, 0x0f, 0xd9, 0x3c, 0xea, 0xf6, 0x8f, 0x6d, 0x18, 0x0e, 0xd2, + 0x92, 0x4b, 0x68, 0x40, 0x68, 0x47, 0xac, 0x11, 0x81, 0x2c, 0x2d, 0x89, 0xc8, 0x0e, 0x28, 0x4e, + 0x78, 0x03, 0x8a, 0x65, 0xc1, 0xcc, 0x51, 0x25, 0x14, 0x88, 0xfa, 0x57, 0x39, 0xf5, 0x28, 0x26, + 0x11, 0xa1, 0xb0, 0x27, 0x21, 0xf3, 0x30, 0xf0, 0x43, 0x62, 0xf3, 0x5f, 0x91, 0xb2, 0x1e, 0x69, + 0xa0, 0xda, 0xa6, 0xf8, 0xa7, 0x33, 0xe4, 0xf6, 0x19, 0x3a, 0x20, 0x21, 0x8b, 0xa1, 0xcb, 0x0e, + 0x48, 0x10, 0x41, 0xa6, 0x7f, 0x01, 0x26, 0x29, 0x0a, 0x3d, 0x14, 0x57, 0xb5, 0x55, 0x6d, 0x7d, + 0xda, 0x91, 0x91, 0x6e, 0x80, 0x29, 0x57, 0x22, 0xab, 0x9f, 0xf0, 0x8a, 0x8a, 0xf5, 0x39, 0x30, + 0x11, 0x50, 0x5c, 0x9d, 0xe0, 0xe9, 0xe4, 0x51, 0x5f, 0x00, 0x95, 0xe3, 0x7e, 0xe8, 0xd1, 0x6a, + 0x99, 0xe7, 0x44, 0xd0, 0x6a, 0xfe, 0x7f, 0x73, 0xbe, 0x21, 0x37, 0x7c, 0x70, 0x73, 0xbe, 0x61, + 0x0a, 0xd1, 0x45, 0x5a, 0xac, 0x5d, 0xb0, 0x5a, 0x54, 0x73, 0x10, 0x8d, 0x48, 0x48, 0x91, 0xae, + 0x83, 0xb2, 0x07, 0x19, 0xe4, 0x6a, 0x67, 0x1c, 0xfe, 0x6c, 0xbd, 0xd6, 0xc0, 0x7c, 0x9b, 0xe2, + 0xdf, 0x22, 0x0f, 0x0e, 0xd7, 0x15, 0x3a, 0x6b, 0x80, 0xb9, 0xd4, 0x49, 0x07, 0x7a, 0x5e, 0x8c, + 0x28, 0x95, 0x0e, 0x67, 0xd3, 0xfc, 0x9e, 0x48, 0xeb, 0x75, 0x30, 0x8d, 0x21, 0xed, 0xf4, 0xfc, + 0xc0, 0x67, 0xdc, 0x6e, 0xd9, 0x99, 0xc2, 0x90, 0x1e, 0x26, 0x71, 0x5a, 0x8c, 0x62, 0xdf, 0x45, + 0xdc, 0xb7, 0x28, 0x1e, 0x25, 0xb1, 0xde, 0x00, 0x9f, 0x41, 0x2f, 0xf0, 0x43, 0xc5, 0x50, 0x49, + 0x18, 0xf6, 0xcb, 0x17, 0x2f, 0x57, 0x34, 0x67, 0x86, 0x97, 0x24, 0x49, 0x6b, 0x2d, 0xd3, 0xa5, + 0x25, 0xd5, 0xa5, 0xdb, 0x86, 0xac, 0x3a, 0xa8, 0x8d, 0x24, 0xd3, 0xbe, 0x58, 0xf7, 0x34, 0xf0, + 0x79, 0x9b, 0xe2, 0xbd, 0x64, 0x3a, 0x3e, 0x6c, 0x17, 0x5a, 0x8d, 0x8c, 0xc0, 0x9a, 0x12, 0x98, + 0x65, 0xb3, 0x96, 0x41, 0x3d, 0x27, 0xad, 0x44, 0xde, 0xd7, 0xc0, 0x62, 0x9b, 0xe2, 0x1f, 0x11, + 0xfc, 0x08, 0x32, 0x37, 0x33, 0x32, 0xeb, 0x4a, 0xe6, 0x28, 0x9f, 0xb5, 0x02, 0x96, 0x73, 0x0b, + 0x4a, 0xea, 0x63, 0x0d, 0xcc, 0xaa, 0x6e, 0x1f, 0xc1, 0x18, 0x06, 0x54, 0xdf, 0x05, 0xd3, 0xb0, + 0xcf, 0x4e, 0x48, 0xec, 0xb3, 0x81, 0xd0, 0xb9, 0x5f, 0x7d, 0xf6, 0x64, 0x6b, 0x41, 0x5e, 0x6e, + 0x29, 0xe4, 0x57, 0x16, 0xfb, 0x21, 0x76, 0x86, 0x50, 0xfd, 0x07, 0x30, 0x19, 0xf1, 0x1d, 0xb8, + 0xf4, 0x4f, 0x77, 0x8c, 0xe6, 0xe8, 0x0b, 0xa6, 0x29, 0x38, 0xf8, 0x84, 0x94, 0x1c, 0x89, 0x6f, + 0xad, 0x27, 0x9e, 0x86, 0x3b, 0x25, 0xb6, 0x16, 0x33, 0xe3, 0x21, 0xd6, 0x59, 0x35, 0xb0, 0x94, + 0x49, 0x29, 0x2b, 0xcf, 0xc5, 0x68, 0x38, 0x08, 0xfb, 0x94, 0xa1, 0xf8, 0x9d, 0x3d, 0x1f, 0x80, + 0x65, 0xd5, 0xf3, 0x98, 0x2f, 0x8a, 0x21, 0xf3, 0x49, 0xd8, 0x89, 0xd1, 0x5f, 0x7d, 0x44, 0x99, + 0x74, 0x61, 0xe7, 0xb9, 0x18, 0xf6, 0x71, 0xb8, 0xce, 0x11, 0xcb, 0xa4, 0xb5, 0xba, 0x5b, 0x0c, + 0xb9, 0x63, 0xd4, 0xb2, 0xea, 0xe5, 0xa8, 0x65, 0xd3, 0xa9, 0xe9, 0x9d, 0xa7, 0x15, 0x30, 0xd1, + 0xa6, 0x58, 0x67, 0xe0, 0x4b, 0xd1, 0x14, 0x49, 0x37, 0x48, 0x91, 0xf2, 0x4c, 0xbf, 0xc9, 0x73, + 0x31, 0x72, 0xcd, 0x8c, 0xad, 0xb1, 0x60, 0xea, 0x2d, 0xc5, 0x40, 0x35, 0xbd, 0x04, 0x59, 0x5e, + 0x7d, 0xad, 0x60, 0xab, 0xec, 0xad, 0x31, 0xec, 0x31, 0x81, 0x8a, 0xf5, 0x1f, 0x60, 0x0c, 0x27, + 0x7a, 0x84, 0xb7, 0x51, 0xb0, 0xdd, 0xe8, 0x25, 0x30, 0xb6, 0xc7, 0x86, 0x2a, 0xee, 0x7f, 0xc1, + 0x62, 0xfe, 0x1f, 0xcc, 0xb7, 0x05, 0x7b, 0xe5, 0xa2, 0x8d, 0xef, 0xdf, 0x07, 0xad, 0xc8, 0xff, + 0x00, 0x33, 0xb7, 0x2e, 0xea, 0xd7, 0x77, 0x9e, 0x96, 0x00, 0x19, 0x9b, 0x63, 0x80, 0x14, 0x43, + 0x0f, 0xcc, 0x8d, 0xdc, 0x9f, 0xa2, 0x83, 0xcc, 0x02, 0x0b, 0x0f, 0xb2, 0x68, 0x78, 0x8d, 0xca, + 0x7f, 0x37, 0xe7, 0x1b, 0xda, 0x3e, 0xba, 0xb8, 0x32, 0xb5, 0xcb, 0x2b, 0x53, 0x7b, 0x75, 0x65, + 0x6a, 0x0f, 0xaf, 0xcd, 0xd2, 0xe5, 0xb5, 0x59, 0x7a, 0x71, 0x6d, 0x96, 0x7e, 0xff, 0x05, 0xfb, + 0xec, 0xa4, 0xdf, 0x6d, 0xba, 0x24, 0xb0, 0x7f, 0x4e, 0xf7, 0x3e, 0x84, 0x5d, 0x6a, 0x2b, 0xa6, + 0x2d, 0x97, 0xc4, 0xe8, 0xed, 0xf0, 0x04, 0xfa, 0xa1, 0x1d, 0x10, 0xaf, 0xdf, 0x43, 0x54, 0x7e, + 0x3e, 0xb0, 0x41, 0x84, 0x68, 0x77, 0x92, 0x7f, 0x26, 0x7c, 0xf7, 0x26, 0x00, 0x00, 0xff, 0xff, + 0x2d, 0xeb, 0x38, 0x54, 0x14, 0x09, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/client/chain/chain.go b/client/chain/chain.go index c8d25ddc..cb0fcd96 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -13,6 +13,8 @@ import ( "sync/atomic" "time" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + sdkmath "cosmossdk.io/math" "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice" @@ -284,6 +286,13 @@ type ChainClient interface { FetchIBCConnectionConsensusState(ctx context.Context, connectionId string, revisionNumber uint64, revisionHeight uint64) (*ibcconnectiontypes.QueryConnectionConsensusStateResponse, error) FetchIBCConnectionParams(ctx context.Context) (*ibcconnectiontypes.QueryConnectionParamsResponse, error) + // Permissions module + FetchAllNamespaces(ctx context.Context) (*permissionstypes.QueryAllNamespacesResponse, error) + FetchNamespaceByDenom(ctx context.Context, denom string, includeRoles bool) (*permissionstypes.QueryNamespaceByDenomResponse, error) + FetchAddressRoles(ctx context.Context, denom, address string) (*permissionstypes.QueryAddressRolesResponse, error) + FetchAddressesByRole(ctx context.Context, denom, role string) (*permissionstypes.QueryAddressesByRoleResponse, error) + FetchVouchersForAddress(ctx context.Context, address string) (*permissionstypes.QueryVouchersForAddressResponse, error) + Close() } @@ -320,6 +329,7 @@ type chainClient struct { ibcClientQueryClient ibcclienttypes.QueryClient ibcConnectionQueryClient ibcconnectiontypes.QueryClient ibcTransferQueryClient ibctransfertypes.QueryClient + permissionsQueryClient permissionstypes.QueryClient tendermintQueryClient cmtservice.ServiceClient tokenfactoryQueryClient tokenfactorytypes.QueryClient txClient txtypes.ServiceClient @@ -420,6 +430,7 @@ func NewChainClient( ibcClientQueryClient: ibcclienttypes.NewQueryClient(conn), ibcConnectionQueryClient: ibcconnectiontypes.NewQueryClient(conn), ibcTransferQueryClient: ibctransfertypes.NewQueryClient(conn), + permissionsQueryClient: permissionstypes.NewQueryClient(conn), tendermintQueryClient: cmtservice.NewServiceClient(conn), tokenfactoryQueryClient: tokenfactorytypes.NewQueryClient(conn), txClient: txtypes.NewServiceClient(conn), @@ -2590,3 +2601,51 @@ func (c *chainClient) FetchIBCConnectionParams(ctx context.Context) (*ibcconnect return res, err } + +// Permissions module + +func (c *chainClient) FetchAllNamespaces(ctx context.Context) (*permissionstypes.QueryAllNamespacesResponse, error) { + req := &permissionstypes.QueryAllNamespacesRequest{} + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.AllNamespaces, req) + + return res, err +} + +func (c *chainClient) FetchNamespaceByDenom(ctx context.Context, denom string, includeRoles bool) (*permissionstypes.QueryNamespaceByDenomResponse, error) { + req := &permissionstypes.QueryNamespaceByDenomRequest{ + Denom: denom, + IncludeRoles: includeRoles, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.NamespaceByDenom, req) + + return res, err +} + +func (c *chainClient) FetchAddressRoles(ctx context.Context, denom, address string) (*permissionstypes.QueryAddressRolesResponse, error) { + req := &permissionstypes.QueryAddressRolesRequest{ + Denom: denom, + Address: address, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.AddressRoles, req) + + return res, err +} + +func (c *chainClient) FetchAddressesByRole(ctx context.Context, denom, role string) (*permissionstypes.QueryAddressesByRoleResponse, error) { + req := &permissionstypes.QueryAddressesByRoleRequest{ + Denom: denom, + Role: role, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.AddressesByRole, req) + + return res, err +} + +func (c *chainClient) FetchVouchersForAddress(ctx context.Context, address string) (*permissionstypes.QueryVouchersForAddressResponse, error) { + req := &permissionstypes.QueryVouchersForAddressRequest{ + Address: address, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.VouchersForAddress, req) + + return res, err +} diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index 2d8af3ab..62239ddd 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -3,6 +3,7 @@ package chain import ( "context" "errors" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "time" sdkmath "cosmossdk.io/math" @@ -717,3 +718,25 @@ func (c *MockChainClient) FetchIBCConnectionConsensusState(ctx context.Context, func (c *MockChainClient) FetchIBCConnectionParams(ctx context.Context) (*ibcconnectiontypes.QueryConnectionParamsResponse, error) { return &ibcconnectiontypes.QueryConnectionParamsResponse{}, nil } + +// Permissions module + +func (c *MockChainClient) FetchAllNamespaces(ctx context.Context) (*permissionstypes.QueryAllNamespacesResponse, error) { + return &permissionstypes.QueryAllNamespacesResponse{}, nil +} + +func (c *MockChainClient) FetchNamespaceByDenom(ctx context.Context, denom string, includeRoles bool) (*permissionstypes.QueryNamespaceByDenomResponse, error) { + return &permissionstypes.QueryNamespaceByDenomResponse{}, nil +} + +func (c *MockChainClient) FetchAddressRoles(ctx context.Context, denom, address string) (*permissionstypes.QueryAddressRolesResponse, error) { + return &permissionstypes.QueryAddressRolesResponse{}, nil +} + +func (c *MockChainClient) FetchAddressesByRole(ctx context.Context, denom, role string) (*permissionstypes.QueryAddressesByRoleResponse, error) { + return &permissionstypes.QueryAddressesByRoleResponse{}, nil +} + +func (c *MockChainClient) FetchVouchersForAddress(ctx context.Context, address string) (*permissionstypes.QueryVouchersForAddressResponse, error) { + return &permissionstypes.QueryVouchersForAddressResponse{}, nil +} diff --git a/client/chain/tx_factory.go b/client/chain/tx_factory.go index e70fef12..ec7e8284 100644 --- a/client/chain/tx_factory.go +++ b/client/chain/tx_factory.go @@ -14,5 +14,6 @@ func NewTxFactory(clientCtx client.Context) tx.Factory { WithSimulateAndExecute(true). WithGasAdjustment(1.5). WithChainID(clientCtx.ChainID). - WithSignMode(signing.SignMode_SIGN_MODE_DIRECT) + WithSignMode(signing.SignMode_SIGN_MODE_DIRECT). + WithFromName(clientCtx.GetFromName()) } diff --git a/examples/chain/auction/1_MsgBid/example.go b/examples/chain/auction/1_MsgBid/example.go index 705b626a..bae1cbd1 100644 --- a/examples/chain/auction/1_MsgBid/example.go +++ b/examples/chain/auction/1_MsgBid/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -59,7 +61,7 @@ func main() { round := uint64(9355) bidAmount := sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ } msg := &auctiontypes.MsgBid{ diff --git a/examples/chain/bank/1_MsgSend/example.go b/examples/chain/bank/1_MsgSend/example.go index a7a2e737..309ede31 100644 --- a/examples/chain/bank/1_MsgSend/example.go +++ b/examples/chain/bank/1_MsgSend/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -62,7 +64,7 @@ func main() { FromAddress: senderAddress.String(), ToAddress: "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", Amount: []sdktypes.Coin{{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000)}, // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000)}, // 1 INJ }, } diff --git a/examples/chain/bank/2_MsgMultiSend/example.go b/examples/chain/bank/2_MsgMultiSend/example.go index 77c8e0b5..62b69343 100644 --- a/examples/chain/bank/2_MsgMultiSend/example.go +++ b/examples/chain/bank/2_MsgMultiSend/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -66,13 +68,13 @@ func main() { { Address: senderAddress.String(), Coins: []sdktypes.Coin{{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000)}, // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000)}, // 1 INJ }, }, { Address: senderAddress.String(), Coins: []sdktypes.Coin{{ - Denom: "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", Amount: sdktypes.NewInt(1000000)}, // 1 USDT + Denom: "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", Amount: math.NewInt(1000000)}, // 1 USDT }, }, }, @@ -80,13 +82,13 @@ func main() { { Address: "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", Coins: []sdktypes.Coin{{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000)}, // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000)}, // 1 INJ }, }, { Address: "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", Coins: []sdktypes.Coin{{ - Denom: "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", Amount: sdktypes.NewInt(1000000)}, // 1 USDT + Denom: "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", Amount: math.NewInt(1000000)}, // 1 USDT }, }, }, diff --git a/examples/chain/exchange/14_MsgSubaccountTransfer/example.go b/examples/chain/exchange/14_MsgSubaccountTransfer/example.go index 2bae28c4..797bf8e0 100644 --- a/examples/chain/exchange/14_MsgSubaccountTransfer/example.go +++ b/examples/chain/exchange/14_MsgSubaccountTransfer/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -62,7 +64,7 @@ func main() { SourceSubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", DestinationSubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000001", Amount: sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ }, } diff --git a/examples/chain/exchange/15_MsgExternalTransfer/example.go b/examples/chain/exchange/15_MsgExternalTransfer/example.go index 3481f248..c67b2ca9 100644 --- a/examples/chain/exchange/15_MsgExternalTransfer/example.go +++ b/examples/chain/exchange/15_MsgExternalTransfer/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -62,7 +64,7 @@ func main() { SourceSubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", DestinationSubaccountId: "0xbdaedec95d563fb05240d6e01821008454c24c36000000000000000000000000", Amount: sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ }, } diff --git a/examples/chain/exchange/1_MsgDeposit/example.go b/examples/chain/exchange/1_MsgDeposit/example.go index 33c274ce..f1f507b3 100644 --- a/examples/chain/exchange/1_MsgDeposit/example.go +++ b/examples/chain/exchange/1_MsgDeposit/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -61,7 +63,7 @@ func main() { Sender: senderAddress.String(), SubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", Amount: sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ }, } diff --git a/examples/chain/exchange/2_MsgWithdraw/example.go b/examples/chain/exchange/2_MsgWithdraw/example.go index 522fbacf..ab1f76db 100644 --- a/examples/chain/exchange/2_MsgWithdraw/example.go +++ b/examples/chain/exchange/2_MsgWithdraw/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -61,7 +63,7 @@ func main() { Sender: senderAddress.String(), SubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", Amount: sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ }, } diff --git a/examples/chain/ibc/transfer/1_MsgTransfer/example.go b/examples/chain/ibc/transfer/1_MsgTransfer/example.go index 587b0c91..52667bfa 100644 --- a/examples/chain/ibc/transfer/1_MsgTransfer/example.go +++ b/examples/chain/ibc/transfer/1_MsgTransfer/example.go @@ -5,6 +5,8 @@ import ( "fmt" "os" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -60,7 +62,7 @@ func main() { sourcePort := "transfer" sourceChannel := "channel-126" coin := sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ } sender := senderAddress.String() receiver := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" diff --git a/examples/chain/peggy/1_MsgSendToEth/example.go b/examples/chain/peggy/1_MsgSendToEth/example.go index bee6838b..6bffa175 100644 --- a/examples/chain/peggy/1_MsgSendToEth/example.go +++ b/examples/chain/peggy/1_MsgSendToEth/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -60,10 +62,10 @@ func main() { ethDest := "0xaf79152ac5df276d9a8e1e2e22822f9713474902" amount := sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(5000000000000000000), // 5 INJ + Denom: "inj", Amount: math.NewInt(5000000000000000000), // 5 INJ } bridgeFee := sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(2000000000000000000), // 2 INJ + Denom: "inj", Amount: math.NewInt(2000000000000000000), // 2 INJ } msg := &peggytypes.MsgSendToEth{ diff --git a/examples/chain/permissions/1_CreateNamespace/example.go b/examples/chain/permissions/1_CreateNamespace/example.go new file mode 100644 index 00000000..c7354033 --- /dev/null +++ b/examples/chain/permissions/1_CreateNamespace/example.go @@ -0,0 +1,92 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + blockedAddress := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" + namespace := permissionstypes.Namespace{ + Denom: "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test", + RolePermissions: []*permissionstypes.Role{ + { + Role: permissionstypes.EVERYONE, + Permissions: uint32(permissionstypes.Action_MINT | permissionstypes.Action_RECEIVE | permissionstypes.Action_BURN), + }, + { + Role: "blacklisted", + Permissions: 0, + }, + }, + AddressRoles: []*permissionstypes.AddressRoles{ + { + Address: blockedAddress, + Roles: []string{"blacklisted"}, + }, + }, + } + + msg := &permissionstypes.MsgCreateNamespace{ + Sender: senderAddress.String(), + Namespace: namespace, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/2_DeleteNamespace/example.go b/examples/chain/permissions/2_DeleteNamespace/example.go new file mode 100644 index 00000000..6c8c08a1 --- /dev/null +++ b/examples/chain/permissions/2_DeleteNamespace/example.go @@ -0,0 +1,73 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + msg := &permissionstypes.MsgDeleteNamespace{ + Sender: senderAddress.String(), + NamespaceDenom: namespaceDenom, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/3_UpdateNamespace/example.go b/examples/chain/permissions/3_UpdateNamespace/example.go new file mode 100644 index 00000000..f6e85bd2 --- /dev/null +++ b/examples/chain/permissions/3_UpdateNamespace/example.go @@ -0,0 +1,77 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + msg := &permissionstypes.MsgUpdateNamespace{ + Sender: senderAddress.String(), + NamespaceDenom: namespaceDenom, + WasmHook: &permissionstypes.MsgUpdateNamespace_MsgSetWasmHook{NewValue: "inj19ld6swyldyujcn72j7ugnu9twafhs9wxlyye5m"}, + SendsPaused: &permissionstypes.MsgUpdateNamespace_MsgSetSendsPaused{NewValue: true}, + MintsPaused: &permissionstypes.MsgUpdateNamespace_MsgSetMintsPaused{NewValue: true}, + BurnsPaused: &permissionstypes.MsgUpdateNamespace_MsgSetBurnsPaused{NewValue: true}, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/4_UpdateNamespaceRoles/example.go b/examples/chain/permissions/4_UpdateNamespaceRoles/example.go new file mode 100644 index 00000000..7a8bfb61 --- /dev/null +++ b/examples/chain/permissions/4_UpdateNamespaceRoles/example.go @@ -0,0 +1,90 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + blockedAddress := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" + + msg := &permissionstypes.MsgUpdateNamespaceRoles{ + Sender: senderAddress.String(), + NamespaceDenom: namespaceDenom, + RolePermissions: []*permissionstypes.Role{ + { + Role: permissionstypes.EVERYONE, + Permissions: uint32(permissionstypes.Action_RECEIVE), + }, + { + Role: "blacklisted", + Permissions: 0, + }, + }, + AddressRoles: []*permissionstypes.AddressRoles{ + { + Address: blockedAddress, + Roles: []string{"blacklisted"}, + }, + }, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/5_RevokeNamespaceRoles/example.go b/examples/chain/permissions/5_RevokeNamespaceRoles/example.go new file mode 100644 index 00000000..7c9f1449 --- /dev/null +++ b/examples/chain/permissions/5_RevokeNamespaceRoles/example.go @@ -0,0 +1,80 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + blockedAddress := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" + + msg := &permissionstypes.MsgRevokeNamespaceRoles{ + Sender: senderAddress.String(), + NamespaceDenom: namespaceDenom, + AddressRolesToRevoke: []*permissionstypes.AddressRoles{ + { + Address: blockedAddress, + Roles: []string{"blacklisted"}, + }, + }, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/6_ClaimVoucher/example.go b/examples/chain/permissions/6_ClaimVoucher/example.go new file mode 100644 index 00000000..82a15347 --- /dev/null +++ b/examples/chain/permissions/6_ClaimVoucher/example.go @@ -0,0 +1,73 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + denom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + msg := &permissionstypes.MsgClaimVoucher{ + Sender: senderAddress.String(), + Denom: denom, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/query/1_AllNamespaces/example.go b/examples/chain/permissions/query/1_AllNamespaces/example.go new file mode 100644 index 00000000..650477d2 --- /dev/null +++ b/examples/chain/permissions/query/1_AllNamespaces/example.go @@ -0,0 +1,69 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "os" + + "github.com/InjectiveLabs/sdk-go/client" + 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("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + ctx := context.Background() + + res, err := chainClient.FetchAllNamespaces(ctx) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/permissions/query/2_NamespaceByDenom/example.go b/examples/chain/permissions/query/2_NamespaceByDenom/example.go new file mode 100644 index 00000000..e8bc93fb --- /dev/null +++ b/examples/chain/permissions/query/2_NamespaceByDenom/example.go @@ -0,0 +1,68 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + ctx := context.Background() + + res, err := chainClient.FetchNamespaceByDenom(ctx, namespaceDenom, true) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/query/3_AddressRoles/example.go b/examples/chain/permissions/query/3_AddressRoles/example.go new file mode 100644 index 00000000..943c2219 --- /dev/null +++ b/examples/chain/permissions/query/3_AddressRoles/example.go @@ -0,0 +1,69 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + address := senderAddress.String() + + ctx := context.Background() + + res, err := chainClient.FetchAddressRoles(ctx, namespaceDenom, address) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/query/4_AddressesByRole/example.go b/examples/chain/permissions/query/4_AddressesByRole/example.go new file mode 100644 index 00000000..3e916a42 --- /dev/null +++ b/examples/chain/permissions/query/4_AddressesByRole/example.go @@ -0,0 +1,69 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + role := "blacklisted" + + ctx := context.Background() + + res, err := chainClient.FetchAddressesByRole(ctx, namespaceDenom, role) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/query/5_VouchersForAddress/example.go b/examples/chain/permissions/query/5_VouchersForAddress/example.go new file mode 100644 index 00000000..06be757e --- /dev/null +++ b/examples/chain/permissions/query/5_VouchersForAddress/example.go @@ -0,0 +1,68 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + address := senderAddress.String() + + ctx := context.Background() + + res, err := chainClient.FetchVouchersForAddress(ctx, address) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/staking/1_MsgDelegate/example.go b/examples/chain/staking/1_MsgDelegate/example.go index 0ba43c66..59e753e8 100644 --- a/examples/chain/staking/1_MsgDelegate/example.go +++ b/examples/chain/staking/1_MsgDelegate/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -61,7 +63,7 @@ func main() { msg.DelegatorAddress = senderAddress.String() msg.ValidatorAddress = "injvaloper14gy4acwjm96wd20awm9ar6j54lev5p7espy9ug" msg.Amount = sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ } // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg diff --git a/examples/chain/tokenfactory/2_MsgMint/example.go b/examples/chain/tokenfactory/2_MsgMint/example.go index c651e18f..f04b6899 100644 --- a/examples/chain/tokenfactory/2_MsgMint/example.go +++ b/examples/chain/tokenfactory/2_MsgMint/example.go @@ -5,6 +5,8 @@ import ( "fmt" "os" + "cosmossdk.io/math" + tokenfactorytypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" @@ -59,7 +61,7 @@ func main() { message.Sender = senderAddress.String() message.Amount = sdktypes.Coin{ Denom: "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test", - Amount: sdktypes.NewInt(1000000000), + Amount: math.NewInt(1000000000), } // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg diff --git a/examples/chain/tokenfactory/3_MsgBurn/example.go b/examples/chain/tokenfactory/3_MsgBurn/example.go index a342a851..53a6aae1 100644 --- a/examples/chain/tokenfactory/3_MsgBurn/example.go +++ b/examples/chain/tokenfactory/3_MsgBurn/example.go @@ -5,6 +5,8 @@ import ( "fmt" "os" + "cosmossdk.io/math" + tokenfactorytypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" @@ -59,7 +61,7 @@ func main() { message.Sender = senderAddress.String() message.Amount = sdktypes.Coin{ Denom: "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test", - Amount: sdktypes.NewInt(100), + Amount: math.NewInt(100), } // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg diff --git a/go.mod b/go.mod index a2b71fba..5a23db53 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/btcsuite/btcd/btcutil v1.1.3 github.com/cometbft/cometbft v0.38.7 github.com/cosmos/cosmos-proto v1.0.0-beta.5 - github.com/cosmos/cosmos-sdk v0.50.6 + github.com/cosmos/cosmos-sdk v0.50.7 github.com/cosmos/gogoproto v1.4.12 github.com/cosmos/ibc-go/modules/capability v1.0.0 github.com/cosmos/ibc-go/v8 v8.2.0 @@ -41,7 +41,7 @@ require ( ) require ( - cosmossdk.io/api v0.7.4 // indirect + cosmossdk.io/api v0.7.5 // indirect cosmossdk.io/collections v0.4.0 // indirect cosmossdk.io/core v0.11.0 // indirect cosmossdk.io/depinject v1.0.0-alpha.4 // indirect @@ -207,9 +207,9 @@ replace ( github.com/bandprotocol/bandchain-packet => github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1 github.com/cometbft/cometbft => github.com/InjectiveLabs/cometbft v0.38.7-0.20240530121154-e6f77c2eab89 - github.com/cosmos/cosmos-sdk => github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240530121542-f786214f432c + github.com/cosmos/cosmos-sdk => github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240612162131-b0d018abeff9 github.com/cosmos/ibc-apps/modules/ibc-hooks/v8 => github.com/InjectiveLabs/ibc-apps/modules/ibc-hooks/v8 v8.0.0-20240507173420-7acb85b883f5 - github.com/cosmos/ibc-go/v8 => github.com/InjectiveLabs/ibc-go/v8 v8.3.2-0.20240530084055-772bafc23563 + github.com/cosmos/ibc-go/v8 => github.com/InjectiveLabs/ibc-go/v8 v8.3.3-0.20240620175254-376c45360bb0 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 40c5e343..6ed02755 100644 --- a/go.sum +++ b/go.sum @@ -10,8 +10,8 @@ cloud.google.com/go/iam v1.1.6 h1:bEa06k05IO4f4uJonbB5iAgKTPpABy1ayxaIZV/GHVc= cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI= cloud.google.com/go/storage v1.36.0 h1:P0mOkAcaJxhCTvAkMhxMfrTKiNcub4YmmPBtlhAyTr8= cloud.google.com/go/storage v1.36.0/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= -cosmossdk.io/api v0.7.4 h1:sPo8wKwCty1lht8kgL3J7YL1voJywP3YWuA5JKkBz30= -cosmossdk.io/api v0.7.4/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= +cosmossdk.io/api v0.7.5 h1:eMPTReoNmGUm8DeiQL9DyM8sYDjEhWzL1+nLbI9DqtQ= +cosmossdk.io/api v0.7.5/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= cosmossdk.io/client/v2 v2.0.0-beta.1 h1:XkHh1lhrLYIT9zKl7cIOXUXg2hdhtjTPBUfqERNA1/Q= cosmossdk.io/client/v2 v2.0.0-beta.1/go.mod h1:JEUSu9moNZQ4kU3ir1DKD5eU4bllmAexrGWjmb9k8qU= cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= @@ -49,8 +49,8 @@ github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1 h1:ZnvCV/lzjWmBwuGbkAz+ok github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1/go.mod h1:QELTDYiwnbAqIgTF9zeKr+hVlK6eVyt6Nxmh6/1mmzQ= github.com/InjectiveLabs/cometbft v0.38.7-0.20240530121154-e6f77c2eab89 h1:Bd0zseWj0r5WFVWfSkYOIkJEfSWWMPGxlkLTxdhfOv4= github.com/InjectiveLabs/cometbft v0.38.7-0.20240530121154-e6f77c2eab89/go.mod h1:8rSPxzUJYquCN8uuBgbUHOMg2KAwvr7CyUw+6ukO4nw= -github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240530121542-f786214f432c h1:BFzkjbIeeB/Fu07lg8MqfPSJj+pLpRjo9SIxQD5LZvI= -github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240530121542-f786214f432c/go.mod h1:iylzgvhuWvrLrI2udUARCGSqfo5zFNVe5iZzjuxju3E= +github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240612162131-b0d018abeff9 h1:eXomrS7dSfXM7MvIgO/S/rIZaVFg77gxU9H6XFJEVYQ= +github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240612162131-b0d018abeff9/go.mod h1:iylzgvhuWvrLrI2udUARCGSqfo5zFNVe5iZzjuxju3E= github.com/InjectiveLabs/cosmos-sdk/store v1.1.1-0.20240522173845-46ef88f66790 h1:F4FYZR9rLg9igzxitFdLU5s7ZU9XS0wUB7DbkBOVXc8= github.com/InjectiveLabs/cosmos-sdk/store v1.1.1-0.20240522173845-46ef88f66790/go.mod h1:ZW4eIE98wivInyQyhxU2nHqEielc/iZAcr41qNyWSrw= github.com/InjectiveLabs/cosmos-sdk/x/evidence v0.1.1-0.20240522173845-46ef88f66790 h1:vbSB6IBNnrVw3s/odYJiF1MUi2JL6PnjgNEBkTM/sBI= @@ -59,8 +59,8 @@ github.com/InjectiveLabs/cosmos-sdk/x/feegrant v0.1.1-0.20240522173845-46ef88f66 github.com/InjectiveLabs/cosmos-sdk/x/feegrant v0.1.1-0.20240522173845-46ef88f66790/go.mod h1:Tnwfp0+AmtSF3sktmOwt5Sk4PbRMrDAWsJTr6cX1Hj8= github.com/InjectiveLabs/cosmos-sdk/x/upgrade v0.1.2-0.20240522173845-46ef88f66790 h1:ImlT8paRJvKIve+ZGi6RvCNp+1u1CC/EIHebQhm+ZYo= github.com/InjectiveLabs/cosmos-sdk/x/upgrade v0.1.2-0.20240522173845-46ef88f66790/go.mod h1:Cn5qF2yRpXZcd+yJM6mu0UGt1p75IherhBhfeAvkmPc= -github.com/InjectiveLabs/ibc-go/v8 v8.3.2-0.20240530084055-772bafc23563 h1:hapevKTBYkJVv8Y/H8PGjj2u7rVbgnIZWBvghUSXyLw= -github.com/InjectiveLabs/ibc-go/v8 v8.3.2-0.20240530084055-772bafc23563/go.mod h1:H8y0uWT/SlGELRCkzAKd7H6Psjvtji6nP3326MJppbM= +github.com/InjectiveLabs/ibc-go/v8 v8.3.3-0.20240620175254-376c45360bb0 h1:Tgr8mk4+FAlcp08AkVsyqSLW8GZKRZcnf0e8JeQMBAA= +github.com/InjectiveLabs/ibc-go/v8 v8.3.3-0.20240620175254-376c45360bb0/go.mod h1:TGEIiuEAjZH11VCehlYjmx6RTUjv4vbkKFL9s2r+VRg= 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.51.1-0.20240517110802-c05574f2352f h1:HB590uhSnGKBDC/yC7vtpN1+pXHnKwJEur0RCbSLDaA= From 4fddcb05aeda6355f7162e01edfdcdc8851f6288 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Wed, 26 Jun 2024 16:07:22 -0300 Subject: [PATCH 33/48] (fix) Added logic to ensure this branch is only used to interact with Devnet --- client/chain/chain.go | 7 ++ client/chain/chain_test.go | 4 +- client/chain/chain_test_support.go | 3 +- client/common/network.go | 96 ------------------- .../permissions/1_CreateNamespace/example.go | 3 +- .../permissions/2_DeleteNamespace/example.go | 3 +- .../permissions/3_UpdateNamespace/example.go | 3 +- .../4_UpdateNamespaceRoles/example.go | 3 +- .../5_RevokeNamespaceRoles/example.go | 3 +- .../permissions/6_ClaimVoucher/example.go | 3 +- .../query/2_NamespaceByDenom/example.go | 3 +- .../query/3_AddressRoles/example.go | 3 +- .../query/4_AddressesByRole/example.go | 3 +- .../query/5_VouchersForAddress/example.go | 3 +- 14 files changed, 31 insertions(+), 109 deletions(-) diff --git a/client/chain/chain.go b/client/chain/chain.go index cb0fcd96..ad83adf2 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -772,6 +772,9 @@ func (c *chainClient) BuildSignedTx(clientCtx client.Context, accNum, accSeq, in } func (c *chainClient) buildSignedTx(clientCtx client.Context, txf tx.Factory, msgs ...sdk.Msg) ([]byte, error) { + if c.network.ChainId != "injective-777" { + panic("This versions of Go SDK should only be used with Devnet environment") + } ctx := context.Background() if clientCtx.Simulate { simTxBytes, err := txf.BuildSimTx(msgs...) @@ -883,6 +886,10 @@ func (c *chainClient) broadcastTx( await bool, msgs ...sdk.Msg, ) (*txtypes.BroadcastTxResponse, error) { + if c.network.ChainId != "injective-777" { + panic("This versions of Go SDK should only be used with Devnet environment") + } + txBytes, err := c.buildSignedTx(clientCtx, txf, msgs...) if err != nil { err = errors.Wrap(err, "failed to build signed Tx") diff --git a/client/chain/chain_test.go b/client/chain/chain_test.go index f3845e06..0016f37f 100644 --- a/client/chain/chain_test.go +++ b/client/chain/chain_test.go @@ -52,7 +52,7 @@ func createClient(senderAddress cosmtypes.AccAddress, cosmosKeyring keyring.Keyr } func TestDefaultSubaccount(t *testing.T) { - network := common.LoadNetwork("testnet", "lb") + network := common.LoadNetwork("devnet", "lb") senderAddress, cosmosKeyring, err := accountForTests() if err != nil { @@ -75,7 +75,7 @@ func TestDefaultSubaccount(t *testing.T) { } func TestGetSubaccountWithIndex(t *testing.T) { - network := common.LoadNetwork("testnet", "lb") + network := common.LoadNetwork("devnet", "lb") senderAddress, cosmosKeyring, err := accountForTests() if err != nil { diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index 62239ddd..fa1b1258 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -3,9 +3,10 @@ package chain import ( "context" "errors" - permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "time" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + sdkmath "cosmossdk.io/math" "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice" diff --git a/client/common/network.go b/client/common/network.go index 4714f997..e7b62672 100644 --- a/client/common/network.go +++ b/client/common/network.go @@ -2,7 +2,6 @@ package common import ( "context" - "crypto/tls" "fmt" "net" "net/http" @@ -256,101 +255,6 @@ func LoadNetwork(name, node string) Network { ExplorerCookieAssistant: &DisabledCookieAssistant{}, OfficialTokensListURL: DevnetTokensListURL, } - case "testnet": - validNodes := []string{"lb", "sentry"} - if !contains(validNodes, node) { - panic(fmt.Sprintf("invalid node %s for %s", node, name)) - } - - var lcdEndpoint, tmEndpoint, chainGrpcEndpoint, chainStreamGrpcEndpoint, exchangeGrpcEndpoint, explorerGrpcEndpoint string - var chainTLSCert, exchangeTLSCert, explorerTLSCert credentials.TransportCredentials - var chainCookieAssistant, exchangeCookieAssistant, explorerCookieAssistant CookieAssistant - if node == "lb" { - lcdEndpoint = "https://testnet.sentry.lcd.injective.network:443" - tmEndpoint = "https://testnet.sentry.tm.injective.network:443" - chainGrpcEndpoint = "testnet.sentry.chain.grpc.injective.network:443" - chainStreamGrpcEndpoint = "testnet.sentry.chain.stream.injective.network:443" - exchangeGrpcEndpoint = "testnet.sentry.exchange.grpc.injective.network:443" - explorerGrpcEndpoint = "testnet.sentry.explorer.grpc.injective.network:443" - chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - chainCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - exchangeCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - explorerCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - } else if node == "sentry" { - lcdEndpoint = "https://testnet.lcd.injective.network:443" - tmEndpoint = "https://testnet.tm.injective.network:443" - chainGrpcEndpoint = "testnet.chain.grpc.injective.network:443" - chainStreamGrpcEndpoint = "testnet.chain.stream.injective.network:443" - exchangeGrpcEndpoint = "testnet.exchange.grpc.injective.network:443" - explorerGrpcEndpoint = "testnet.explorer.grpc.injective.network:443" - chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - chainCookieAssistant = &DisabledCookieAssistant{} - exchangeCookieAssistant = &DisabledCookieAssistant{} - explorerCookieAssistant = &DisabledCookieAssistant{} - } - - return Network{ - LcdEndpoint: lcdEndpoint, - TmEndpoint: tmEndpoint, - ChainGrpcEndpoint: chainGrpcEndpoint, - ChainStreamGrpcEndpoint: chainStreamGrpcEndpoint, - ChainTLSCert: chainTLSCert, - ExchangeGrpcEndpoint: exchangeGrpcEndpoint, - ExchangeTLSCert: exchangeTLSCert, - ExplorerGrpcEndpoint: explorerGrpcEndpoint, - ExplorerTLSCert: explorerTLSCert, - ChainId: "injective-888", - FeeDenom: "inj", - Name: "testnet", - ChainCookieAssistant: chainCookieAssistant, - ExchangeCookieAssistant: exchangeCookieAssistant, - ExplorerCookieAssistant: explorerCookieAssistant, - OfficialTokensListURL: TestnetTokensListURL, - } - case "mainnet": - validNodes := []string{"lb"} - if !contains(validNodes, node) { - panic(fmt.Sprintf("invalid node %s for %s", node, name)) - } - var lcdEndpoint, tmEndpoint, chainGrpcEndpoint, chainStreamGrpcEndpoint, exchangeGrpcEndpoint, explorerGrpcEndpoint string - var chainTLSCert, exchangeTLSCert, explorerTLSCert credentials.TransportCredentials - var chainCookieAssistant, exchangeCookieAssistant, explorerCookieAssistant CookieAssistant - - lcdEndpoint = "https://sentry.lcd.injective.network" - tmEndpoint = "https://sentry.tm.injective.network:443" - chainGrpcEndpoint = "sentry.chain.grpc.injective.network:443" - chainStreamGrpcEndpoint = "sentry.chain.stream.injective.network:443" - exchangeGrpcEndpoint = "sentry.exchange.grpc.injective.network:443" - explorerGrpcEndpoint = "sentry.explorer.grpc.injective.network:443" - chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - chainCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - exchangeCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - explorerCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - - return Network{ - LcdEndpoint: lcdEndpoint, - TmEndpoint: tmEndpoint, - ChainGrpcEndpoint: chainGrpcEndpoint, - ChainStreamGrpcEndpoint: chainStreamGrpcEndpoint, - ChainTLSCert: chainTLSCert, - ExchangeGrpcEndpoint: exchangeGrpcEndpoint, - ExchangeTLSCert: exchangeTLSCert, - ExplorerGrpcEndpoint: explorerGrpcEndpoint, - ExplorerTLSCert: explorerTLSCert, - ChainId: "injective-1", - FeeDenom: "inj", - Name: "mainnet", - ChainCookieAssistant: chainCookieAssistant, - ExchangeCookieAssistant: exchangeCookieAssistant, - ExplorerCookieAssistant: explorerCookieAssistant, - OfficialTokensListURL: MainnetTokensListURL, - } default: panic(fmt.Sprintf("invalid network %s", name)) diff --git a/examples/chain/permissions/1_CreateNamespace/example.go b/examples/chain/permissions/1_CreateNamespace/example.go index c7354033..540d2a9b 100644 --- a/examples/chain/permissions/1_CreateNamespace/example.go +++ b/examples/chain/permissions/1_CreateNamespace/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/2_DeleteNamespace/example.go b/examples/chain/permissions/2_DeleteNamespace/example.go index 6c8c08a1..611f569e 100644 --- a/examples/chain/permissions/2_DeleteNamespace/example.go +++ b/examples/chain/permissions/2_DeleteNamespace/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/3_UpdateNamespace/example.go b/examples/chain/permissions/3_UpdateNamespace/example.go index f6e85bd2..2fd48eaf 100644 --- a/examples/chain/permissions/3_UpdateNamespace/example.go +++ b/examples/chain/permissions/3_UpdateNamespace/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/4_UpdateNamespaceRoles/example.go b/examples/chain/permissions/4_UpdateNamespaceRoles/example.go index 7a8bfb61..62941e9d 100644 --- a/examples/chain/permissions/4_UpdateNamespaceRoles/example.go +++ b/examples/chain/permissions/4_UpdateNamespaceRoles/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/5_RevokeNamespaceRoles/example.go b/examples/chain/permissions/5_RevokeNamespaceRoles/example.go index 7c9f1449..3bc62f57 100644 --- a/examples/chain/permissions/5_RevokeNamespaceRoles/example.go +++ b/examples/chain/permissions/5_RevokeNamespaceRoles/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/6_ClaimVoucher/example.go b/examples/chain/permissions/6_ClaimVoucher/example.go index 82a15347..3af4da11 100644 --- a/examples/chain/permissions/6_ClaimVoucher/example.go +++ b/examples/chain/permissions/6_ClaimVoucher/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/query/2_NamespaceByDenom/example.go b/examples/chain/permissions/query/2_NamespaceByDenom/example.go index e8bc93fb..69efeb11 100644 --- a/examples/chain/permissions/query/2_NamespaceByDenom/example.go +++ b/examples/chain/permissions/query/2_NamespaceByDenom/example.go @@ -4,11 +4,12 @@ import ( "context" "encoding/json" "fmt" + "os" + "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/query/3_AddressRoles/example.go b/examples/chain/permissions/query/3_AddressRoles/example.go index 943c2219..17fe06a0 100644 --- a/examples/chain/permissions/query/3_AddressRoles/example.go +++ b/examples/chain/permissions/query/3_AddressRoles/example.go @@ -4,11 +4,12 @@ import ( "context" "encoding/json" "fmt" + "os" + "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/query/4_AddressesByRole/example.go b/examples/chain/permissions/query/4_AddressesByRole/example.go index 3e916a42..ca2b3f7f 100644 --- a/examples/chain/permissions/query/4_AddressesByRole/example.go +++ b/examples/chain/permissions/query/4_AddressesByRole/example.go @@ -4,11 +4,12 @@ import ( "context" "encoding/json" "fmt" + "os" + "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/query/5_VouchersForAddress/example.go b/examples/chain/permissions/query/5_VouchersForAddress/example.go index 06be757e..fe7b9d96 100644 --- a/examples/chain/permissions/query/5_VouchersForAddress/example.go +++ b/examples/chain/permissions/query/5_VouchersForAddress/example.go @@ -4,11 +4,12 @@ import ( "context" "encoding/json" "fmt" + "os" + "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { From d3803285d1ffef0d8a4ed8dce3d70416986a384e Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Mon, 8 Jul 2024 12:48:08 -0300 Subject: [PATCH 34/48] (fix) Synced proto definitions with the latest chain upgrade core and indexer. Updated example scripts --- chain/auction/types/tx.pb.go | 66 +- chain/crypto/ethsecp256k1/ethsecp256k1.go | 10 +- chain/exchange/types/derivative_orders.go | 2 +- chain/exchange/types/msgs.go | 1 + chain/exchange/types/proposal.go | 6 +- chain/exchange/types/spot_orders.go | 4 +- chain/exchange/types/tx.pb.go | 465 +++---- chain/insurance/types/tx.pb.go | 100 +- chain/ocr/types/tx.pb.go | 151 +-- chain/oracle/types/codec.go | 6 + chain/oracle/types/errors.go | 4 + chain/oracle/types/events.pb.go | 271 +++- chain/oracle/types/genesis.pb.go | 206 ++- chain/oracle/types/key.go | 8 + chain/oracle/types/msgs.go | 70 +- chain/oracle/types/oracle.go | 5 + chain/oracle/types/oracle.pb.go | 1111 +++++++++++++++-- chain/oracle/types/params.go | 2 +- chain/oracle/types/proposal.go | 66 + chain/oracle/types/proposal.pb.go | 601 ++++++++- chain/oracle/types/query.pb.go | 1051 +++++++++++++--- chain/oracle/types/stork.go | 29 + chain/oracle/types/stork_oracle.go | 39 + chain/oracle/types/tx.pb.go | 513 +++++++- chain/peggy/types/msgs.pb.go | 224 ++-- chain/peggy/types/params.go | 2 +- chain/permissions/types/errors.go | 25 +- chain/permissions/types/events.pb.go | 364 +++++- chain/permissions/types/msgs.go | 227 ++++ chain/permissions/types/query.pb.go | 109 +- chain/permissions/types/tx.go | 130 -- chain/permissions/types/tx.pb.go | 146 +-- chain/permissions/types/types.go | 107 +- chain/tokenfactory/types/expected_keepers.go | 1 + chain/tokenfactory/types/msgs.go | 18 +- chain/tokenfactory/types/tx.pb.go | 110 +- chain/wasmx/types/params.go | 2 +- chain/wasmx/types/tx.pb.go | 102 +- client/chain/chain.go | 2 + client/chain/tx_factory.go | 3 +- examples/chain/auction/1_MsgBid/example.go | 4 +- examples/chain/bank/1_MsgSend/example.go | 4 +- examples/chain/bank/2_MsgMultiSend/example.go | 10 +- .../4_FundCommunityPool/example.go | 4 +- .../example.go | 14 +- .../14_MsgSubaccountTransfer/example.go | 4 +- .../15_MsgExternalTransfer/example.go | 4 +- .../17_MsgIncreasePositionMargin/example.go | 5 +- .../chain/exchange/1_MsgDeposit/example.go | 4 +- .../chain/exchange/2_MsgWithdraw/example.go | 4 +- .../3_MsgInstantSpotMarketLaunch/example.go | 14 +- .../example.go | 18 +- .../example.go | 18 +- .../query/14_SpotOrderbook/example.go | 9 +- .../query/22_DerivativeOrderbook/example.go | 4 +- .../ibc/transfer/1_MsgTransfer/example.go | 4 +- .../1_MsgRelayPriceFeedPrice/example.go | 20 +- .../chain/peggy/1_MsgSendToEth/example.go | 6 +- .../chain/staking/1_MsgDelegate/example.go | 4 +- .../chain/tokenfactory/2_MsgMint/example.go | 4 +- .../chain/tokenfactory/3_MsgBurn/example.go | 4 +- .../meta/4_StreamKeepAlive/example.go | 2 +- .../spot/8_StreamOrderbookUpdate/example.go | 2 +- ...design_goagen_injective_accounts_rpc.pb.go | 2 +- ...n_goagen_injective_accounts_rpc_grpc.pb.go | 2 +- ...rpc.proto => injective_accounts_rpc.proto} | 0 ...design_goagen_injective_accounts_rpc.pb.go | 2 +- ...n_goagen_injective_accounts_rpc_grpc.pb.go | 2 +- ...rpc.proto => injective_accounts_rpc.proto} | 0 ...adesign_goagen_injective_auction_rpc.pb.go | 2 +- ...gn_goagen_injective_auction_rpc_grpc.pb.go | 2 +- ..._rpc.proto => injective_auction_rpc.proto} | 0 ...design_goagen_injective_campaign_rpc.pb.go | 2 +- ...n_goagen_injective_campaign_rpc_grpc.pb.go | 2 +- ...rpc.proto => injective_campaign_rpc.proto} | 0 ...en_injective_derivative_exchange_rpc.pb.go | 2 +- ...jective_derivative_exchange_rpc_grpc.pb.go | 2 +- ...> injective_derivative_exchange_rpc.proto} | 0 ...design_goagen_injective_exchange_rpc.pb.go | 335 ++--- ...n_goagen_injective_exchange_rpc_grpc.pb.go | 2 +- ...rpc.proto => injective_exchange_rpc.proto} | 2 + ...design_goagen_injective_explorer_rpc.pb.go | 2 +- ...n_goagen_injective_explorer_rpc_grpc.pb.go | 2 +- ...rpc.proto => injective_explorer_rpc.proto} | 0 .../pb/goadesign_goagen_health.pb.go | 2 +- .../pb/goadesign_goagen_health_grpc.pb.go | 2 +- ...esign_goagen_health.proto => health.proto} | 0 ...esign_goagen_injective_insurance_rpc.pb.go | 2 +- ..._goagen_injective_insurance_rpc_grpc.pb.go | 2 +- ...pc.proto => injective_insurance_rpc.proto} | 0 .../goadesign_goagen_injective_meta_rpc.pb.go | 2 +- ...esign_goagen_injective_meta_rpc_grpc.pb.go | 2 +- ...eta_rpc.proto => injective_meta_rpc.proto} | 0 ...oadesign_goagen_injective_oracle_rpc.pb.go | 2 +- ...ign_goagen_injective_oracle_rpc_grpc.pb.go | 2 +- ...e_rpc.proto => injective_oracle_rpc.proto} | 0 ...esign_goagen_injective_portfolio_rpc.pb.go | 2 +- ..._goagen_injective_portfolio_rpc_grpc.pb.go | 2 +- ...pc.proto => injective_portfolio_rpc.proto} | 0 ...n_goagen_injective_spot_exchange_rpc.pb.go | 2 +- ...gen_injective_spot_exchange_rpc_grpc.pb.go | 2 +- ...roto => injective_spot_exchange_rpc.proto} | 0 ...adesign_goagen_injective_trading_rpc.pb.go | 2 +- ...gn_goagen_injective_trading_rpc_grpc.pb.go | 2 +- ..._rpc.proto => injective_trading_rpc.proto} | 0 go.mod | 50 +- go.sum | 166 ++- 107 files changed, 5393 insertions(+), 1739 deletions(-) create mode 100644 chain/oracle/types/stork.go create mode 100644 chain/oracle/types/stork_oracle.go create mode 100644 chain/permissions/types/msgs.go delete mode 100644 chain/permissions/types/tx.go rename exchange/accounts_rpc/pb/{goadesign_goagen_injective_accounts_rpc.proto => injective_accounts_rpc.proto} (100%) rename exchange/accounts_rpc/pb/pb/{goadesign_goagen_injective_accounts_rpc.proto => injective_accounts_rpc.proto} (100%) rename exchange/auction_rpc/pb/{goadesign_goagen_injective_auction_rpc.proto => injective_auction_rpc.proto} (100%) rename exchange/campaign_rpc/pb/{goadesign_goagen_injective_campaign_rpc.proto => injective_campaign_rpc.proto} (100%) rename exchange/derivative_exchange_rpc/pb/{goadesign_goagen_injective_derivative_exchange_rpc.proto => injective_derivative_exchange_rpc.proto} (100%) rename exchange/exchange_rpc/pb/{goadesign_goagen_injective_exchange_rpc.proto => injective_exchange_rpc.proto} (98%) rename exchange/explorer_rpc/pb/{goadesign_goagen_injective_explorer_rpc.proto => injective_explorer_rpc.proto} (100%) rename exchange/health_rpc/pb/{goadesign_goagen_health.proto => health.proto} (100%) rename exchange/insurance_rpc/pb/{goadesign_goagen_injective_insurance_rpc.proto => injective_insurance_rpc.proto} (100%) rename exchange/meta_rpc/pb/{goadesign_goagen_injective_meta_rpc.proto => injective_meta_rpc.proto} (100%) rename exchange/oracle_rpc/pb/{goadesign_goagen_injective_oracle_rpc.proto => injective_oracle_rpc.proto} (100%) rename exchange/portfolio_rpc/pb/{goadesign_goagen_injective_portfolio_rpc.proto => injective_portfolio_rpc.proto} (100%) rename exchange/spot_exchange_rpc/pb/{goadesign_goagen_injective_spot_exchange_rpc.proto => injective_spot_exchange_rpc.proto} (100%) rename exchange/trading_rpc/pb/{goadesign_goagen_injective_trading_rpc.proto => injective_trading_rpc.proto} (100%) diff --git a/chain/auction/types/tx.pb.go b/chain/auction/types/tx.pb.go index d2366e3f..28135196 100644 --- a/chain/auction/types/tx.pb.go +++ b/chain/auction/types/tx.pb.go @@ -214,39 +214,39 @@ func init() { } var fileDescriptor_0943fd5f0d415547 = []byte{ - // 497 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0x4f, 0x6f, 0xd3, 0x30, - 0x1c, 0x8d, 0xe9, 0xa8, 0x54, 0x83, 0x06, 0x44, 0x15, 0xfd, 0x73, 0x48, 0x4b, 0x0e, 0x50, 0x2a, - 0x2d, 0x56, 0x8b, 0xc4, 0x61, 0x07, 0xd0, 0xca, 0x09, 0x89, 0x4a, 0x28, 0x13, 0x17, 0x2e, 0x93, - 0x13, 0x5b, 0xae, 0x11, 0xb1, 0xa3, 0xd8, 0xa9, 0xd8, 0x95, 0x13, 0xe2, 0xc4, 0x27, 0x40, 0xfb, - 0x08, 0x3b, 0x20, 0x3e, 0xc3, 0xc4, 0x69, 0xe2, 0xc4, 0x09, 0xa1, 0xf6, 0x30, 0x3e, 0x06, 0x4a, - 0xec, 0x74, 0x01, 0x69, 0x63, 0x97, 0xc4, 0x3f, 0xbf, 0xf7, 0x7b, 0xbf, 0xf7, 0x6c, 0x43, 0x9f, - 0x8b, 0x37, 0x34, 0xd6, 0x7c, 0x49, 0x11, 0xce, 0x63, 0xcd, 0xa5, 0x40, 0xcb, 0x49, 0x44, 0x35, - 0x9e, 0x20, 0xfd, 0x2e, 0x48, 0x33, 0xa9, 0xa5, 0xdb, 0xdb, 0x70, 0x02, 0xcb, 0x09, 0x2c, 0xa7, - 0xdf, 0x66, 0x92, 0xc9, 0x92, 0x85, 0x8a, 0x95, 0x69, 0xe8, 0x7b, 0xb1, 0x54, 0x89, 0x54, 0x28, - 0xc2, 0x8a, 0x6e, 0xe4, 0x62, 0xc9, 0x85, 0xc5, 0x3b, 0x16, 0x4f, 0x14, 0x43, 0xcb, 0x49, 0xf1, - 0xb3, 0x40, 0xcf, 0x00, 0x07, 0x46, 0xd1, 0x14, 0x16, 0x7a, 0x70, 0xb1, 0xd1, 0xca, 0x94, 0x21, - 0xde, 0xc1, 0x09, 0x17, 0x12, 0x95, 0x5f, 0xb3, 0xe5, 0x7f, 0x06, 0xb0, 0x39, 0x57, 0x6c, 0xc6, - 0x89, 0x7b, 0x17, 0x36, 0x15, 0x15, 0x84, 0x66, 0x5d, 0x30, 0x04, 0xa3, 0x56, 0x68, 0x2b, 0xf7, - 0x09, 0x84, 0x11, 0x27, 0x07, 0x38, 0x91, 0xb9, 0xd0, 0xdd, 0x6b, 0x43, 0x30, 0xba, 0x31, 0xed, - 0x05, 0xd6, 0x41, 0x91, 0xa3, 0x8a, 0x1c, 0x3c, 0x93, 0x5c, 0xcc, 0xb6, 0x4e, 0x7e, 0x0e, 0x9c, - 0xb0, 0x15, 0x71, 0xb2, 0x57, 0x76, 0xb8, 0x6d, 0x78, 0x3d, 0x93, 0xb9, 0x20, 0xdd, 0xc6, 0x10, - 0x8c, 0xb6, 0x42, 0x53, 0xec, 0xde, 0xff, 0x70, 0x34, 0x70, 0x7e, 0x1f, 0x0d, 0x9c, 0xf7, 0x67, - 0xc7, 0x63, 0x3b, 0xea, 0xe3, 0xd9, 0xf1, 0x78, 0xbb, 0x8a, 0x60, 0x5c, 0xf9, 0xb7, 0xe1, 0xb6, - 0x59, 0x85, 0x54, 0xa5, 0x52, 0x28, 0xea, 0x7f, 0x05, 0xf0, 0xd6, 0x5c, 0xb1, 0x57, 0x29, 0xc1, - 0x9a, 0xbe, 0xc4, 0x19, 0x4e, 0x94, 0xfb, 0x18, 0xb6, 0x70, 0xae, 0x17, 0x32, 0xe3, 0xfa, 0xd0, - 0xd8, 0x9f, 0x75, 0xbf, 0x7f, 0xd9, 0x69, 0x5b, 0x97, 0x7b, 0x84, 0x64, 0x54, 0xa9, 0x7d, 0x9d, - 0x71, 0xc1, 0xc2, 0x73, 0xaa, 0xfb, 0x14, 0x36, 0xd3, 0x52, 0xc1, 0xe6, 0xba, 0x17, 0x5c, 0x78, - 0xa1, 0x81, 0x19, 0x65, 0xf3, 0xd9, 0xb6, 0xdd, 0x71, 0x61, 0xff, 0x5c, 0xb0, 0x48, 0xd0, 0xa9, - 0x25, 0xa8, 0x9b, 0xf4, 0x7b, 0xb0, 0xf3, 0xcf, 0x56, 0x95, 0x69, 0xfa, 0x0d, 0xc0, 0xc6, 0x5c, - 0x31, 0x77, 0x1f, 0x36, 0x8a, 0xab, 0xb8, 0xcc, 0x86, 0x39, 0x8d, 0xfe, 0xc3, 0xff, 0x52, 0x2a, - 0x71, 0x57, 0xc0, 0x9b, 0x7f, 0x1d, 0xd6, 0xf8, 0xf2, 0xd6, 0x3a, 0xb7, 0x3f, 0xbd, 0x3a, 0xb7, - 0x9a, 0x37, 0x63, 0x27, 0x2b, 0x0f, 0x9c, 0xae, 0x3c, 0xf0, 0x6b, 0xe5, 0x81, 0x4f, 0x6b, 0xcf, - 0x39, 0x5d, 0x7b, 0xce, 0x8f, 0xb5, 0xe7, 0xbc, 0x9e, 0x33, 0xae, 0x17, 0x79, 0x14, 0xc4, 0x32, - 0x41, 0xcf, 0x2b, 0xdd, 0x17, 0x38, 0x52, 0x68, 0x33, 0x65, 0x27, 0x96, 0x19, 0xad, 0x97, 0x0b, - 0xcc, 0x05, 0x4a, 0x24, 0xc9, 0xdf, 0x52, 0xb5, 0x79, 0xdf, 0xfa, 0x30, 0xa5, 0x2a, 0x6a, 0x96, - 0x6f, 0xf8, 0xd1, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xda, 0x66, 0xad, 0x44, 0xaa, 0x03, 0x00, - 0x00, + // 504 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0x31, 0x8f, 0xd3, 0x3e, + 0x1c, 0x8d, 0xff, 0xbd, 0xab, 0x54, 0xff, 0xd1, 0x01, 0x51, 0x45, 0xdb, 0x0c, 0x69, 0xc9, 0x00, + 0x25, 0xd2, 0xc5, 0x6a, 0x91, 0x18, 0x6e, 0x00, 0x5d, 0x99, 0x90, 0xa8, 0x84, 0x72, 0x62, 0x61, + 0x39, 0x39, 0x89, 0xe5, 0x1a, 0x11, 0x3b, 0x8a, 0x9d, 0x8a, 0xdb, 0x10, 0x13, 0x62, 0xe2, 0x13, + 0xa0, 0xfb, 0x08, 0x1d, 0x10, 0x9f, 0xe1, 0xc6, 0x83, 0x89, 0x09, 0xa1, 0x76, 0x28, 0x1f, 0x03, + 0x25, 0x76, 0x7a, 0x05, 0xe9, 0x0e, 0x96, 0xc4, 0x3f, 0xbf, 0xf7, 0x7b, 0xbf, 0xf7, 0x6c, 0x43, + 0x8f, 0xf1, 0x97, 0x24, 0x56, 0x6c, 0x4e, 0x10, 0x2e, 0x62, 0xc5, 0x04, 0x47, 0xf3, 0x51, 0x44, + 0x14, 0x1e, 0x21, 0xf5, 0x3a, 0xc8, 0x72, 0xa1, 0x84, 0xdd, 0xdb, 0x70, 0x02, 0xc3, 0x09, 0x0c, + 0xc7, 0x69, 0x53, 0x41, 0x45, 0xc5, 0x42, 0xe5, 0x4a, 0x37, 0x38, 0x6e, 0x2c, 0x64, 0x2a, 0x24, + 0x8a, 0xb0, 0x24, 0x1b, 0xb9, 0x58, 0x30, 0x6e, 0xf0, 0x8e, 0xc1, 0x53, 0x49, 0xd1, 0x7c, 0x54, + 0xfe, 0x0c, 0xd0, 0xd3, 0xc0, 0xb1, 0x56, 0xd4, 0x85, 0x81, 0xee, 0x5e, 0x6e, 0xb4, 0x36, 0xa5, + 0x89, 0x37, 0x71, 0xca, 0xb8, 0x40, 0xd5, 0x57, 0x6f, 0x79, 0x1f, 0x01, 0x6c, 0x4e, 0x25, 0x9d, + 0xb0, 0xc4, 0xbe, 0x05, 0x9b, 0x92, 0xf0, 0x84, 0xe4, 0x5d, 0x30, 0x00, 0xc3, 0x56, 0x68, 0x2a, + 0xfb, 0x21, 0x84, 0x11, 0x4b, 0x8e, 0x71, 0x2a, 0x0a, 0xae, 0xba, 0xff, 0x0d, 0xc0, 0xf0, 0xff, + 0x71, 0x2f, 0x30, 0x0e, 0xca, 0x1c, 0x75, 0xe4, 0xe0, 0xb1, 0x60, 0x7c, 0xb2, 0x73, 0xf6, 0xbd, + 0x6f, 0x85, 0xad, 0x88, 0x25, 0x87, 0x55, 0x87, 0xdd, 0x86, 0xbb, 0xb9, 0x28, 0x78, 0xd2, 0x6d, + 0x0c, 0xc0, 0x70, 0x27, 0xd4, 0xc5, 0xc1, 0x9d, 0x77, 0xa7, 0x7d, 0xeb, 0xe7, 0x69, 0xdf, 0x7a, + 0xbb, 0x5e, 0xf8, 0x66, 0xd4, 0xfb, 0xf5, 0xc2, 0xdf, 0xab, 0x23, 0x68, 0x57, 0xde, 0x0d, 0xb8, + 0xa7, 0x57, 0x21, 0x91, 0x99, 0xe0, 0x92, 0x78, 0x9f, 0x01, 0xbc, 0x3e, 0x95, 0xf4, 0x79, 0x96, + 0x60, 0x45, 0x9e, 0xe1, 0x1c, 0xa7, 0xd2, 0x7e, 0x00, 0x5b, 0xb8, 0x50, 0x33, 0x91, 0x33, 0x75, + 0xa2, 0xed, 0x4f, 0xba, 0x5f, 0x3f, 0xed, 0xb7, 0x8d, 0xcb, 0xc3, 0x24, 0xc9, 0x89, 0x94, 0x47, + 0x2a, 0x67, 0x9c, 0x86, 0x17, 0x54, 0xfb, 0x11, 0x6c, 0x66, 0x95, 0x82, 0xc9, 0x75, 0x3b, 0xb8, + 0xf4, 0x42, 0x03, 0x3d, 0xca, 0xe4, 0x33, 0x6d, 0x07, 0x7e, 0x69, 0xff, 0x42, 0xb0, 0x4c, 0xd0, + 0xd9, 0x4a, 0xb0, 0x6d, 0xd2, 0xeb, 0xc1, 0xce, 0x1f, 0x5b, 0x75, 0xa6, 0xf1, 0x17, 0x00, 0x1b, + 0x53, 0x49, 0xed, 0x23, 0xd8, 0x28, 0xaf, 0xe2, 0x2a, 0x1b, 0xfa, 0x34, 0x9c, 0x7b, 0x7f, 0xa5, + 0xd4, 0xe2, 0x36, 0x87, 0xd7, 0x7e, 0x3b, 0x2c, 0xff, 0xea, 0xd6, 0x6d, 0xae, 0x33, 0xfe, 0x77, + 0x6e, 0x3d, 0xcf, 0xd9, 0x7d, 0xb3, 0x5e, 0xf8, 0x60, 0x42, 0xcf, 0x96, 0x2e, 0x38, 0x5f, 0xba, + 0xe0, 0xc7, 0xd2, 0x05, 0x1f, 0x56, 0xae, 0x75, 0xbe, 0x72, 0xad, 0x6f, 0x2b, 0xd7, 0x7a, 0x31, + 0xa5, 0x4c, 0xcd, 0x8a, 0x28, 0x88, 0x45, 0x8a, 0x9e, 0xd4, 0xf2, 0x4f, 0x71, 0x24, 0xd1, 0x66, + 0xd8, 0x7e, 0x2c, 0x72, 0xb2, 0x5d, 0xce, 0x30, 0xe3, 0x28, 0x15, 0x49, 0xf1, 0x8a, 0xc8, 0xcd, + 0x33, 0x57, 0x27, 0x19, 0x91, 0x51, 0xb3, 0x7a, 0xca, 0xf7, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, + 0x5f, 0x56, 0x1a, 0xd8, 0xb1, 0x03, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/crypto/ethsecp256k1/ethsecp256k1.go b/chain/crypto/ethsecp256k1/ethsecp256k1.go index eebeb6b9..08757a1e 100644 --- a/chain/crypto/ethsecp256k1/ethsecp256k1.go +++ b/chain/crypto/ethsecp256k1/ethsecp256k1.go @@ -6,15 +6,13 @@ import ( "crypto/subtle" "fmt" - ethcrypto "github.com/ethereum/go-ethereum/crypto" - "github.com/ethereum/go-ethereum/crypto/secp256k1" - "cosmossdk.io/errors" + tmcrypto "github.com/cometbft/cometbft/crypto" "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/cometbft/cometbft/crypto" + ethcrypto "github.com/ethereum/go-ethereum/crypto" + "github.com/ethereum/go-ethereum/crypto/secp256k1" ) const ( @@ -197,7 +195,7 @@ func (pubKey *PubKey) UnmarshalAminoJSON(bz []byte) error { 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] + sig = sig[:64] } // the signature needs to be in [R || S] format when provided to VerifySignature diff --git a/chain/exchange/types/derivative_orders.go b/chain/exchange/types/derivative_orders.go index 422fd108..630b470a 100644 --- a/chain/exchange/types/derivative_orders.go +++ b/chain/exchange/types/derivative_orders.go @@ -219,7 +219,7 @@ func (o *DerivativeLimitOrder) GetCancelRefundAmount(feeRate math.LegacyDec) mat if o.IsVanilla() { // negative fees are only accounted for upon matching positiveFeePart := math.LegacyMaxDec(math.LegacyZeroDec(), feeRate) - // nolint:all + //nolint:all // Refund = (FillableQuantity / Quantity) * (Margin + Price * Quantity * feeRate) notional := o.OrderInfo.Price.Mul(o.OrderInfo.Quantity) marginHoldRefund = o.Fillable.Mul(o.Margin.Add(notional.Mul(positiveFeePart))).Quo(o.OrderInfo.Quantity) diff --git a/chain/exchange/types/msgs.go b/chain/exchange/types/msgs.go index 611ea661..c1fdf2c0 100644 --- a/chain/exchange/types/msgs.go +++ b/chain/exchange/types/msgs.go @@ -32,6 +32,7 @@ var ( _ sdk.Msg = &MsgSubaccountTransfer{} _ sdk.Msg = &MsgExternalTransfer{} _ sdk.Msg = &MsgIncreasePositionMargin{} + _ sdk.Msg = &MsgDecreasePositionMargin{} _ sdk.Msg = &MsgLiquidatePosition{} _ sdk.Msg = &MsgEmergencySettleMarket{} _ sdk.Msg = &MsgInstantSpotMarketLaunch{} diff --git a/chain/exchange/types/proposal.go b/chain/exchange/types/proposal.go index 6d1b33e4..333507e2 100644 --- a/chain/exchange/types/proposal.go +++ b/chain/exchange/types/proposal.go @@ -8,10 +8,11 @@ import ( 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" gov "github.com/cosmos/cosmos-sdk/x/gov/types" "github.com/ethereum/go-ethereum/common" + + oracletypes "github.com/InjectiveLabs/sdk-go/chain/oracle/types" ) // constants @@ -728,7 +729,8 @@ func (p *OracleParams) ValidateBasic() error { } switch p.OracleType { case oracletypes.OracleType_Band, oracletypes.OracleType_PriceFeed, oracletypes.OracleType_Coinbase, oracletypes.OracleType_Chainlink, oracletypes.OracleType_Razor, - oracletypes.OracleType_Dia, oracletypes.OracleType_API3, oracletypes.OracleType_Uma, oracletypes.OracleType_Pyth, oracletypes.OracleType_BandIBC, oracletypes.OracleType_Provider: + oracletypes.OracleType_Dia, oracletypes.OracleType_API3, oracletypes.OracleType_Uma, oracletypes.OracleType_Pyth, oracletypes.OracleType_BandIBC, oracletypes.OracleType_Provider, + oracletypes.OracleType_Stork: default: return errors.Wrap(ErrInvalidOracleType, p.OracleType.String()) diff --git a/chain/exchange/types/spot_orders.go b/chain/exchange/types/spot_orders.go index 7225a00c..ac5b243e 100644 --- a/chain/exchange/types/spot_orders.go +++ b/chain/exchange/types/spot_orders.go @@ -165,9 +165,7 @@ func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (balanceHol return balanceHold, denom } -func (m *SpotLimitOrder) GetUnfilledMarginHoldAndMarginDenom(market *SpotMarket, isTransient bool) (marginHold math.LegacyDec, marginDenom string) { - var denom string - var balanceHold math.LegacyDec +func (m *SpotLimitOrder) GetUnfilledMarginHoldAndMarginDenom(market *SpotMarket, isTransient bool) (balanceHold math.LegacyDec, denom string) { if m.IsBuy() { var tradeFeeRate math.LegacyDec diff --git a/chain/exchange/types/tx.pb.go b/chain/exchange/types/tx.pb.go index d4f4213e..4a78fb8f 100644 --- a/chain/exchange/types/tx.pb.go +++ b/chain/exchange/types/tx.pb.go @@ -3674,253 +3674,254 @@ func init() { } var fileDescriptor_bd45b74cb6d81462 = []byte{ - // 3934 bytes of a gzipped FileDescriptorProto + // 3942 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x4b, 0x6c, 0x1c, 0xc7, 0x95, 0x6a, 0x0e, 0x39, 0x24, 0x1f, 0x29, 0x89, 0x6a, 0x52, 0xe2, 0x70, 0xf8, 0x93, 0x9a, 0x92, 0xf5, 0x27, 0xf5, 0xff, 0x8c, 0x56, 0x96, 0xf8, 0x91, 0x6c, 0xae, 0x45, 0x4b, 0x1e, 0xca, 0xbb, 0xde, 0x85, 0xbd, 0x83, 0x66, 0x4f, 0x71, 0xd8, 0xe6, 0x4c, 0xf7, 0xa8, 0xbb, 0x47, 0x12, 0x8d, - 0x05, 0x76, 0xd7, 0x87, 0x85, 0x76, 0x13, 0x04, 0x09, 0x10, 0x20, 0x40, 0x00, 0x03, 0x06, 0x02, - 0xc4, 0x80, 0x13, 0x24, 0x76, 0x10, 0x04, 0x3e, 0xe4, 0x87, 0x20, 0x07, 0xc7, 0x27, 0x27, 0x40, - 0x80, 0x20, 0x07, 0x25, 0xb0, 0x0f, 0x36, 0x7c, 0x0a, 0x72, 0x09, 0x90, 0x5c, 0x82, 0xae, 0xaa, - 0xae, 0xe9, 0x4f, 0x55, 0x77, 0xcf, 0x88, 0xb4, 0xe5, 0xc0, 0x17, 0x89, 0x5d, 0xf5, 0xde, 0xab, - 0xf7, 0x5e, 0xbd, 0x4f, 0xd5, 0xab, 0xaa, 0x81, 0x29, 0xdd, 0x78, 0x19, 0x69, 0x8e, 0x7e, 0x17, - 0xcd, 0xa0, 0xfb, 0xda, 0x9a, 0x6a, 0x54, 0xd0, 0xcc, 0xdd, 0x93, 0x2b, 0xc8, 0x51, 0x4f, 0xce, - 0x38, 0xf7, 0xa7, 0xeb, 0x96, 0xe9, 0x98, 0x72, 0x9e, 0x01, 0x4d, 0x7b, 0x40, 0xd3, 0x14, 0x28, - 0x3f, 0xa1, 0x99, 0x76, 0xcd, 0xb4, 0x67, 0x56, 0x54, 0xbb, 0x89, 0xa9, 0x99, 0xba, 0x41, 0x70, - 0xf3, 0xd3, 0xb4, 0xbf, 0xac, 0xdb, 0x8e, 0xa5, 0xaf, 0x34, 0x1c, 0xdd, 0x34, 0x18, 0x9c, 0xbf, - 0x91, 0xc2, 0x0f, 0x53, 0xf8, 0x9a, 0x5d, 0x99, 0xb9, 0x7b, 0xd2, 0xfd, 0x8f, 0x76, 0x8c, 0x90, - 0x8e, 0x12, 0xfe, 0x9a, 0x21, 0x1f, 0xb4, 0x6b, 0xa8, 0x62, 0x56, 0x4c, 0xd2, 0xee, 0xfe, 0x45, - 0x5b, 0x0f, 0xc7, 0x88, 0xc6, 0xc4, 0x20, 0xa0, 0x07, 0x9a, 0xa0, 0xa6, 0xa5, 0x6a, 0xd5, 0x26, - 0x20, 0xf9, 0xa4, 0x60, 0xbb, 0xd4, 0x9a, 0x6e, 0x98, 0x33, 0xf8, 0x5f, 0xd2, 0xa4, 0xbc, 0x91, - 0x81, 0xc1, 0x25, 0xbb, 0xf2, 0x7c, 0xbd, 0xac, 0x3a, 0x68, 0xb9, 0x6e, 0x3a, 0x4b, 0xaa, 0xb5, - 0x8e, 0x1c, 0x79, 0x08, 0xba, 0xd4, 0x72, 0x4d, 0x37, 0x72, 0xd2, 0x5e, 0xe9, 0x50, 0x6f, 0x91, - 0x7c, 0xc8, 0xa3, 0xd0, 0x5b, 0xc3, 0xfd, 0x25, 0xbd, 0x9c, 0xeb, 0xc0, 0x3d, 0x3d, 0xa4, 0x61, - 0xb1, 0x2c, 0x8f, 0x03, 0x18, 0xe8, 0x5e, 0xc9, 0xd1, 0xb5, 0x75, 0x64, 0xe5, 0x32, 0xb8, 0xb7, - 0xd7, 0x40, 0xf7, 0x6e, 0xe3, 0x06, 0xf9, 0xdf, 0x60, 0xd8, 0xed, 0xae, 0xe9, 0x46, 0xa9, 0x6e, - 0xe9, 0x1a, 0xc2, 0x80, 0x25, 0x5b, 0x7f, 0x05, 0xe5, 0x3a, 0x5d, 0xd8, 0xb9, 0xa9, 0x77, 0x1f, - 0x4e, 0x6e, 0xfb, 0xfd, 0xc3, 0xc9, 0x51, 0xa2, 0x1b, 0xbb, 0xbc, 0x3e, 0xad, 0x9b, 0x33, 0x35, - 0xd5, 0x59, 0x9b, 0xbe, 0x81, 0x2a, 0xaa, 0xb6, 0xb1, 0x80, 0xb4, 0xe2, 0xa0, 0x81, 0xee, 0x2d, - 0xe9, 0xc6, 0x2d, 0x97, 0x82, 0x4b, 0x78, 0x59, 0x7f, 0x05, 0xc9, 0x25, 0xc8, 0x7b, 0xa4, 0xef, - 0x34, 0x54, 0xc3, 0xd1, 0x9d, 0x0d, 0x1f, 0xf5, 0xae, 0xf4, 0xd4, 0xf7, 0x10, 0xea, 0xcf, 0x51, - 0x22, 0x6c, 0x80, 0x25, 0x18, 0xf0, 0x06, 0x30, 0x4c, 0x77, 0xb2, 0xd5, 0x6a, 0x2e, 0x9b, 0x9e, - 0xec, 0x0e, 0x42, 0xf6, 0x59, 0x8a, 0x5a, 0x38, 0xfd, 0xe0, 0xf5, 0xc9, 0x6d, 0x1f, 0xbf, 0x3e, - 0xb9, 0xed, 0xd5, 0x8f, 0xde, 0x3a, 0x42, 0x54, 0xfb, 0xff, 0x1f, 0xbd, 0x75, 0x64, 0x8c, 0x4d, - 0x33, 0x67, 0x46, 0x94, 0x71, 0x18, 0xe5, 0x34, 0x17, 0x91, 0x5d, 0x37, 0x0d, 0x1b, 0x29, 0x7f, - 0xe9, 0x84, 0x11, 0xd6, 0xbf, 0x80, 0x2c, 0xfd, 0xae, 0xea, 0xda, 0xc3, 0x17, 0xd3, 0xb9, 0xe5, - 0xd3, 0x29, 0xbf, 0x08, 0x39, 0x97, 0x9c, 0x6e, 0xe8, 0x8e, 0xae, 0x56, 0x4b, 0x35, 0xd5, 0xaa, - 0xe8, 0x46, 0xc9, 0x52, 0x1d, 0xdd, 0xcc, 0x75, 0xa7, 0x27, 0xbb, 0xdb, 0x40, 0xf7, 0x16, 0x09, - 0x8d, 0x25, 0x4c, 0xa2, 0xe8, 0x52, 0x90, 0xcb, 0x30, 0x86, 0x99, 0x55, 0x75, 0xc3, 0x41, 0x86, - 0x6a, 0x68, 0x28, 0x38, 0x42, 0x4f, 0xfa, 0x11, 0x46, 0x5c, 0xc6, 0x9b, 0x74, 0x7c, 0xa3, 0x14, - 0x2e, 0xf2, 0x4d, 0x52, 0x89, 0x9a, 0x64, 0xd8, 0xb6, 0x94, 0x29, 0xd8, 0x27, 0xec, 0x64, 0xe6, - 0xf9, 0x8e, 0x04, 0x3b, 0x19, 0xd4, 0x2d, 0xd5, 0x52, 0x6b, 0xb6, 0x7c, 0x0e, 0x7a, 0xd5, 0x86, - 0xb3, 0x66, 0x5a, 0xba, 0xb3, 0x41, 0x0c, 0x73, 0x2e, 0xf7, 0x9b, 0x1f, 0x1e, 0x1f, 0xa2, 0xb1, - 0x71, 0xb6, 0x5c, 0xb6, 0x90, 0x6d, 0x2f, 0x3b, 0x96, 0x6e, 0x54, 0x8a, 0x4d, 0x50, 0xf9, 0x2a, - 0x64, 0xeb, 0x98, 0x02, 0xb6, 0xd9, 0xbe, 0x53, 0xca, 0xb4, 0x38, 0xbe, 0x4f, 0x93, 0xb1, 0xe6, - 0x3a, 0x5d, 0xfd, 0x14, 0x29, 0x5e, 0xe1, 0xa8, 0x2b, 0x65, 0x93, 0xa2, 0x2b, 0x69, 0x2e, 0x2a, - 0x29, 0x41, 0x55, 0x46, 0x60, 0x38, 0xd4, 0xc4, 0xa4, 0xfa, 0xbe, 0x04, 0xb0, 0x64, 0x57, 0x16, - 0x50, 0xdd, 0xb4, 0x75, 0x47, 0xde, 0x03, 0x59, 0x1b, 0x19, 0x65, 0x64, 0x51, 0x37, 0xa3, 0x5f, - 0xf2, 0x14, 0x6c, 0xb7, 0x1b, 0x2b, 0xaa, 0xa6, 0x99, 0x0d, 0xc3, 0xe7, 0x6b, 0xfd, 0xcd, 0xc6, - 0xc5, 0xb2, 0x7c, 0x1e, 0xb2, 0x6a, 0xcd, 0xfd, 0x1b, 0xfb, 0x5a, 0xdf, 0xa9, 0x11, 0x9a, 0x79, - 0xa6, 0xdd, 0xcc, 0xc4, 0xc4, 0x99, 0x37, 0x75, 0xc3, 0x13, 0x86, 0x80, 0x17, 0x8e, 0xfa, 0xa7, - 0x8e, 0x0e, 0xe9, 0x4a, 0x34, 0xe8, 0x97, 0x88, 0xb2, 0xa8, 0x0c, 0x81, 0xdc, 0xfc, 0x62, 0x72, - 0xbc, 0x2d, 0x41, 0xdf, 0x92, 0x5d, 0xf9, 0x57, 0xdd, 0x59, 0x2b, 0x5b, 0xea, 0xbd, 0xcf, 0x48, - 0x90, 0x63, 0x02, 0x41, 0x86, 0xfc, 0x82, 0x78, 0x3c, 0x2a, 0xbb, 0x71, 0xe2, 0xf2, 0x3e, 0x99, - 0x28, 0xdf, 0x93, 0xf0, 0x74, 0xcd, 0x5b, 0x88, 0xc6, 0xc9, 0x1b, 0x7a, 0x4d, 0x77, 0x6e, 0x5a, - 0x2e, 0xfb, 0x22, 0xb1, 0x66, 0xa1, 0xcb, 0x74, 0x01, 0xa8, 0x3d, 0x1d, 0x88, 0xb3, 0x27, 0x97, - 0x24, 0xa6, 0x46, 0x99, 0x27, 0x98, 0x85, 0x0b, 0x02, 0xde, 0xf7, 0xfa, 0x79, 0xe7, 0x31, 0xa5, - 0xbc, 0x08, 0x93, 0x82, 0x2e, 0x4f, 0x26, 0x37, 0x14, 0xe3, 0x51, 0x4a, 0x6b, 0xaa, 0xbd, 0x46, - 0x79, 0xef, 0xc5, 0x2d, 0x4f, 0xab, 0xf6, 0x9a, 0x3c, 0x00, 0x19, 0x8d, 0xcd, 0x85, 0xfb, 0x67, - 0xa1, 0xc7, 0xe3, 0x46, 0xf9, 0xb1, 0x04, 0xe3, 0x4b, 0x76, 0x65, 0x4e, 0x75, 0xb4, 0x35, 0xde, - 0x18, 0xb6, 0x50, 0x29, 0xf3, 0x90, 0xc5, 0x43, 0xb8, 0x5e, 0x96, 0x69, 0x55, 0x2b, 0x14, 0xb5, - 0xf0, 0xa4, 0x40, 0x2d, 0x4f, 0xf8, 0xd5, 0x22, 0x66, 0x4e, 0xf9, 0x81, 0x04, 0x07, 0x62, 0x21, - 0x98, 0x8e, 0xf6, 0x41, 0x7f, 0x53, 0x47, 0xc8, 0xce, 0x49, 0x7b, 0x33, 0x87, 0x7a, 0x8b, 0x7d, - 0x4c, 0x4b, 0xc8, 0x96, 0xa7, 0x61, 0x50, 0xc3, 0x34, 0xca, 0x25, 0xc2, 0x5e, 0x49, 0xd3, 0xcb, - 0x44, 0xbc, 0xde, 0xe2, 0x2e, 0xda, 0x45, 0xc8, 0xce, 0xeb, 0x65, 0x5b, 0x3e, 0x06, 0xf2, 0xaa, - 0xaa, 0x57, 0x43, 0xe0, 0x19, 0x0c, 0x3e, 0x40, 0x7a, 0x9a, 0xd0, 0x3e, 0x9d, 0xff, 0x2c, 0x03, - 0xf9, 0x25, 0xbb, 0xb2, 0x68, 0xd8, 0x8e, 0x6a, 0x38, 0xcd, 0x5c, 0x7d, 0x43, 0x6d, 0x18, 0xda, - 0x9a, 0x50, 0xe1, 0x7b, 0x20, 0x4b, 0x93, 0x2d, 0x99, 0x49, 0xfa, 0xe5, 0xce, 0xbe, 0xeb, 0x39, - 0xa5, 0x32, 0x32, 0xcc, 0x9a, 0x97, 0x88, 0xdd, 0x96, 0x05, 0xb7, 0x41, 0x9e, 0x84, 0xbe, 0x3b, - 0x0d, 0xd3, 0xf1, 0xfa, 0x71, 0xf2, 0x2d, 0x02, 0x6e, 0x22, 0x00, 0x45, 0x18, 0xe4, 0x65, 0xe9, - 0x16, 0xf2, 0xe8, 0x40, 0x2d, 0x9c, 0xa2, 0x5f, 0x80, 0x3d, 0x82, 0xf4, 0xdc, 0x42, 0x1e, 0x75, - 0xd9, 0x8a, 0xe4, 0xe6, 0xeb, 0xd0, 0x1f, 0xc8, 0xcb, 0x2d, 0x24, 0xd0, 0xbe, 0x9a, 0x6f, 0x8d, - 0x75, 0x49, 0x60, 0x79, 0x53, 0x7e, 0xcb, 0x13, 0x4c, 0x91, 0xb2, 0x1f, 0x14, 0x71, 0x6f, 0x33, - 0x6a, 0x76, 0x63, 0xd7, 0xa5, 0x60, 0xb7, 0x90, 0x55, 0x47, 0x4e, 0x03, 0x27, 0xef, 0xf6, 0x27, - 0x3b, 0x34, 0x9b, 0x99, 0xc8, 0x6c, 0x4e, 0x42, 0x1f, 0x59, 0xd3, 0x97, 0x5c, 0x13, 0xf0, 0xa6, - 0x9b, 0x34, 0xcd, 0xa9, 0x9e, 0x23, 0x60, 0x00, 0x8c, 0x45, 0xe6, 0xb9, 0x48, 0x91, 0x9e, 0x73, - 0x9b, 0x5c, 0x47, 0xa0, 0x20, 0xb6, 0xa6, 0x56, 0x51, 0x69, 0x55, 0xd5, 0x1c, 0xd3, 0xc2, 0x53, - 0xb7, 0xbd, 0xb8, 0x8b, 0x74, 0x2d, 0xbb, 0x3d, 0xd7, 0x71, 0x87, 0x7c, 0x8d, 0x8d, 0xe9, 0x6c, - 0xd4, 0x11, 0x9e, 0x92, 0x1d, 0xa7, 0xf6, 0xfb, 0xe2, 0x01, 0xdd, 0x65, 0x78, 0xd1, 0xe0, 0x26, - 0xfe, 0xbc, 0xbd, 0x51, 0x47, 0x1e, 0x67, 0xee, 0xdf, 0xf2, 0x22, 0xec, 0xa8, 0xa9, 0xeb, 0xc8, - 0x2a, 0xad, 0x22, 0xe4, 0x2e, 0x5e, 0x50, 0x2b, 0x6b, 0x97, 0x7e, 0x8c, 0x7a, 0x1d, 0xa1, 0xa2, - 0xea, 0x60, 0x52, 0x4e, 0x90, 0x54, 0x6f, 0x0b, 0xa4, 0x1c, 0x3f, 0xa9, 0xe7, 0x61, 0x88, 0xbb, - 0x72, 0x83, 0xf4, 0x04, 0x65, 0x3d, 0xba, 0x6c, 0x7b, 0x09, 0x72, 0xc2, 0x25, 0x5b, 0x5f, 0x0b, - 0x4b, 0xd8, 0x1a, 0x77, 0xbd, 0x26, 0x72, 0xea, 0xfe, 0xad, 0x71, 0xea, 0xed, 0x9b, 0xec, 0xd4, - 0x3b, 0xda, 0x74, 0xea, 0xab, 0x02, 0xa7, 0x3e, 0xc4, 0x71, 0x6a, 0xae, 0x3f, 0x2a, 0x87, 0xe1, - 0x60, 0x02, 0x08, 0x73, 0xef, 0xff, 0xeb, 0x86, 0xa9, 0x26, 0xec, 0x9c, 0x6e, 0xa8, 0xd6, 0xc6, - 0xcd, 0xba, 0xcb, 0x89, 0xfd, 0x48, 0x2e, 0x3e, 0x05, 0xdb, 0x3d, 0xef, 0xdb, 0xa8, 0xad, 0x98, - 0x55, 0xea, 0xe4, 0xd4, 0x6b, 0x97, 0x71, 0x9b, 0x7c, 0x10, 0x76, 0x52, 0xa0, 0xba, 0x65, 0xde, - 0xd5, 0x5d, 0xea, 0xc4, 0xd5, 0x77, 0x90, 0xe6, 0x5b, 0xb4, 0x35, 0xec, 0x9b, 0x5d, 0x6d, 0xfa, - 0x66, 0xab, 0x21, 0x21, 0xea, 0xcb, 0xdd, 0x9b, 0xe7, 0xcb, 0x3d, 0xed, 0xfa, 0xf2, 0x49, 0x18, - 0x42, 0xf7, 0xeb, 0x3a, 0xf6, 0x32, 0xa3, 0xe4, 0xe8, 0x35, 0x64, 0x3b, 0x6a, 0xad, 0x8e, 0x83, - 0x43, 0xa6, 0x38, 0xd8, 0xec, 0xbb, 0xed, 0x75, 0xb9, 0x28, 0x36, 0x72, 0x9c, 0x2a, 0xaa, 0x21, - 0xc3, 0xf1, 0xa1, 0x00, 0x41, 0x69, 0xf6, 0x35, 0x51, 0xd8, 0x66, 0xba, 0xcf, 0xbf, 0x99, 0x0e, - 0x45, 0xee, 0xfe, 0xb4, 0x79, 0x78, 0xfb, 0xd6, 0xb8, 0xec, 0x8e, 0x4d, 0x76, 0xd9, 0x9d, 0x6d, - 0xba, 0xec, 0x82, 0xc0, 0x65, 0x8f, 0x71, 0x5c, 0x56, 0xe8, 0x63, 0xca, 0x71, 0x38, 0x9a, 0x02, - 0x8c, 0xb9, 0xee, 0xaf, 0x03, 0xae, 0x7b, 0xcd, 0x9d, 0xf6, 0x8d, 0xeb, 0x0d, 0xa7, 0x61, 0x21, - 0xfb, 0xf1, 0xcf, 0xce, 0x21, 0x8f, 0xce, 0x6e, 0xae, 0x47, 0x77, 0x8b, 0x3c, 0x7a, 0x0f, 0x64, - 0xb1, 0x7f, 0x6c, 0x60, 0xf7, 0xcb, 0x14, 0xe9, 0x17, 0xc7, 0xd3, 0x7b, 0x37, 0xcf, 0xd3, 0x61, - 0xb3, 0xb3, 0x76, 0xdf, 0xd6, 0x65, 0xed, 0xfe, 0x2d, 0xcb, 0xda, 0x5f, 0x84, 0x80, 0x64, 0x5f, - 0x0d, 0x86, 0x00, 0x21, 0x18, 0x0b, 0x01, 0x6f, 0x49, 0x90, 0x0b, 0xec, 0xab, 0x09, 0xd4, 0x96, - 0x17, 0x02, 0x2e, 0x0a, 0x84, 0xdd, 0xc7, 0x2f, 0x04, 0xf8, 0xb8, 0x52, 0xde, 0x96, 0x60, 0xaf, + 0x05, 0xd6, 0xeb, 0xc3, 0x42, 0xfb, 0xc1, 0x62, 0x17, 0x58, 0x60, 0x81, 0x05, 0x0c, 0x18, 0x58, + 0x20, 0x06, 0x9c, 0x20, 0x91, 0x83, 0x20, 0xf0, 0x21, 0x3f, 0x04, 0x39, 0x18, 0x3e, 0x29, 0x01, + 0x02, 0x04, 0x39, 0x28, 0x81, 0x7d, 0xb0, 0xe1, 0x53, 0x90, 0x4b, 0x80, 0xe4, 0x12, 0x74, 0x55, + 0x75, 0x4d, 0x7f, 0xaa, 0xba, 0x7b, 0x46, 0xa4, 0x2d, 0x07, 0xbe, 0x48, 0xec, 0xaa, 0xf7, 0x5e, + 0xbd, 0xf7, 0xea, 0x7d, 0xaa, 0x5e, 0x55, 0x0d, 0x4c, 0xe9, 0xc6, 0xeb, 0x48, 0x73, 0xf4, 0xbb, + 0x68, 0x06, 0xdd, 0xd7, 0xd6, 0x54, 0xa3, 0x82, 0x66, 0xee, 0x9e, 0x5c, 0x41, 0x8e, 0x7a, 0x72, + 0xc6, 0xb9, 0x3f, 0x5d, 0xb7, 0x4c, 0xc7, 0x94, 0xf3, 0x0c, 0x68, 0xda, 0x03, 0x9a, 0xa6, 0x40, + 0xf9, 0x09, 0xcd, 0xb4, 0x6b, 0xa6, 0x3d, 0xb3, 0xa2, 0xda, 0x4d, 0x4c, 0xcd, 0xd4, 0x0d, 0x82, + 0x9b, 0x9f, 0xa6, 0xfd, 0x65, 0xdd, 0x76, 0x2c, 0x7d, 0xa5, 0xe1, 0xe8, 0xa6, 0xc1, 0xe0, 0xfc, + 0x8d, 0x14, 0x7e, 0x98, 0xc2, 0xd7, 0xec, 0xca, 0xcc, 0xdd, 0x93, 0xee, 0x7f, 0xb4, 0x63, 0x84, + 0x74, 0x94, 0xf0, 0xd7, 0x0c, 0xf9, 0xa0, 0x5d, 0x43, 0x15, 0xb3, 0x62, 0x92, 0x76, 0xf7, 0x2f, + 0xda, 0x7a, 0x38, 0x46, 0x34, 0x26, 0x06, 0x01, 0x3d, 0xd0, 0x04, 0x35, 0x2d, 0x55, 0xab, 0x36, + 0x01, 0xc9, 0x27, 0x05, 0xdb, 0xa5, 0xd6, 0x74, 0xc3, 0x9c, 0xc1, 0xff, 0x92, 0x26, 0xe5, 0xdd, + 0x0c, 0x0c, 0x2e, 0xd9, 0x95, 0x97, 0xeb, 0x65, 0xd5, 0x41, 0xcb, 0x75, 0xd3, 0x59, 0x52, 0xad, + 0x75, 0xe4, 0xc8, 0x43, 0xd0, 0xa5, 0x96, 0x6b, 0xba, 0x91, 0x93, 0xf6, 0x4a, 0x87, 0x7a, 0x8b, + 0xe4, 0x43, 0x1e, 0x85, 0xde, 0x1a, 0xee, 0x2f, 0xe9, 0xe5, 0x5c, 0x07, 0xee, 0xe9, 0x21, 0x0d, + 0x8b, 0x65, 0x79, 0x1c, 0xc0, 0x40, 0xf7, 0x4a, 0x8e, 0xae, 0xad, 0x23, 0x2b, 0x97, 0xc1, 0xbd, + 0xbd, 0x06, 0xba, 0x77, 0x1b, 0x37, 0xc8, 0x7f, 0x07, 0xc3, 0x6e, 0x77, 0x4d, 0x37, 0x4a, 0x75, + 0x4b, 0xd7, 0x10, 0x06, 0x2c, 0xd9, 0xfa, 0x1b, 0x28, 0xd7, 0xe9, 0xc2, 0xce, 0x4d, 0x7d, 0xf8, + 0x78, 0x72, 0xdb, 0xaf, 0x1f, 0x4f, 0x8e, 0x12, 0xdd, 0xd8, 0xe5, 0xf5, 0x69, 0xdd, 0x9c, 0xa9, + 0xa9, 0xce, 0xda, 0xf4, 0x0d, 0x54, 0x51, 0xb5, 0x8d, 0x05, 0xa4, 0x15, 0x07, 0x0d, 0x74, 0x6f, + 0x49, 0x37, 0x6e, 0xb9, 0x14, 0x5c, 0xc2, 0xcb, 0xfa, 0x1b, 0x48, 0x2e, 0x41, 0xde, 0x23, 0x7d, + 0xa7, 0xa1, 0x1a, 0x8e, 0xee, 0x6c, 0xf8, 0xa8, 0x77, 0xa5, 0xa7, 0xbe, 0x87, 0x50, 0x7f, 0x89, + 0x12, 0x61, 0x03, 0x2c, 0xc1, 0x80, 0x37, 0x80, 0x61, 0xba, 0x93, 0xad, 0x56, 0x73, 0xd9, 0xf4, + 0x64, 0x77, 0x10, 0xb2, 0x2f, 0x52, 0xd4, 0xc2, 0xe9, 0x07, 0xef, 0x4c, 0x6e, 0xfb, 0xec, 0x9d, + 0xc9, 0x6d, 0x6f, 0x7d, 0xfa, 0xf0, 0x08, 0x51, 0xed, 0xbf, 0x7d, 0xfa, 0xf0, 0xc8, 0x18, 0x9b, + 0x66, 0xce, 0x8c, 0x28, 0xe3, 0x30, 0xca, 0x69, 0x2e, 0x22, 0xbb, 0x6e, 0x1a, 0x36, 0x52, 0xfe, + 0xd0, 0x09, 0x23, 0xac, 0x7f, 0x01, 0x59, 0xfa, 0x5d, 0xd5, 0xb5, 0x87, 0xaf, 0xa7, 0x73, 0xcb, + 0xa7, 0x53, 0x7e, 0x15, 0x72, 0x2e, 0x39, 0xdd, 0xd0, 0x1d, 0x5d, 0xad, 0x96, 0x6a, 0xaa, 0x55, + 0xd1, 0x8d, 0x92, 0xa5, 0x3a, 0xba, 0x99, 0xeb, 0x4e, 0x4f, 0x76, 0xb7, 0x81, 0xee, 0x2d, 0x12, + 0x1a, 0x4b, 0x98, 0x44, 0xd1, 0xa5, 0x20, 0x97, 0x61, 0x0c, 0x33, 0xab, 0xea, 0x86, 0x83, 0x0c, + 0xd5, 0xd0, 0x50, 0x70, 0x84, 0x9e, 0xf4, 0x23, 0x8c, 0xb8, 0x8c, 0x37, 0xe9, 0xf8, 0x46, 0x29, + 0x5c, 0xe4, 0x9b, 0xa4, 0x12, 0x35, 0xc9, 0xb0, 0x6d, 0x29, 0x53, 0xb0, 0x4f, 0xd8, 0xc9, 0xcc, + 0xf3, 0x03, 0x09, 0x76, 0x32, 0xa8, 0x5b, 0xaa, 0xa5, 0xd6, 0x6c, 0xf9, 0x1c, 0xf4, 0xaa, 0x0d, + 0x67, 0xcd, 0xb4, 0x74, 0x67, 0x83, 0x18, 0xe6, 0x5c, 0xee, 0x17, 0xdf, 0x3b, 0x3e, 0x44, 0x63, + 0xe3, 0x6c, 0xb9, 0x6c, 0x21, 0xdb, 0x5e, 0x76, 0x2c, 0xdd, 0xa8, 0x14, 0x9b, 0xa0, 0xf2, 0x55, + 0xc8, 0xd6, 0x31, 0x05, 0x6c, 0xb3, 0x7d, 0xa7, 0x94, 0x69, 0x71, 0x7c, 0x9f, 0x26, 0x63, 0xcd, + 0x75, 0xba, 0xfa, 0x29, 0x52, 0xbc, 0xc2, 0x51, 0x57, 0xca, 0x26, 0x45, 0x57, 0xd2, 0x5c, 0x54, + 0x52, 0x82, 0xaa, 0x8c, 0xc0, 0x70, 0xa8, 0x89, 0x49, 0xf5, 0x1d, 0x09, 0x60, 0xc9, 0xae, 0x2c, + 0xa0, 0xba, 0x69, 0xeb, 0x8e, 0xbc, 0x07, 0xb2, 0x36, 0x32, 0xca, 0xc8, 0xa2, 0x6e, 0x46, 0xbf, + 0xe4, 0x29, 0xd8, 0x6e, 0x37, 0x56, 0x54, 0x4d, 0x33, 0x1b, 0x86, 0xcf, 0xd7, 0xfa, 0x9b, 0x8d, + 0x8b, 0x65, 0xf9, 0x3c, 0x64, 0xd5, 0x9a, 0xfb, 0x37, 0xf6, 0xb5, 0xbe, 0x53, 0x23, 0x34, 0xf3, + 0x4c, 0xbb, 0x99, 0x89, 0x89, 0x33, 0x6f, 0xea, 0x86, 0x27, 0x0c, 0x01, 0x2f, 0x1c, 0xf5, 0x4f, + 0x1d, 0x1d, 0xd2, 0x95, 0x68, 0xd0, 0x2f, 0x11, 0x65, 0x51, 0x19, 0x02, 0xb9, 0xf9, 0xc5, 0xe4, + 0x78, 0x5f, 0x82, 0xbe, 0x25, 0xbb, 0xf2, 0xb7, 0xba, 0xb3, 0x56, 0xb6, 0xd4, 0x7b, 0x5f, 0x92, + 0x20, 0xc7, 0x04, 0x82, 0x0c, 0xf9, 0x05, 0xf1, 0x78, 0x54, 0x76, 0xe3, 0xc4, 0xe5, 0x7d, 0x32, + 0x51, 0xbe, 0x2d, 0xe1, 0xe9, 0x9a, 0xb7, 0x10, 0x8d, 0x93, 0x37, 0xf4, 0x9a, 0xee, 0xdc, 0xb4, + 0x5c, 0xf6, 0x45, 0x62, 0xcd, 0x42, 0x97, 0xe9, 0x02, 0x50, 0x7b, 0x3a, 0x10, 0x67, 0x4f, 0x2e, + 0x49, 0x4c, 0x8d, 0x32, 0x4f, 0x30, 0x0b, 0x17, 0x04, 0xbc, 0xef, 0xf5, 0xf3, 0xce, 0x63, 0x4a, + 0x79, 0x15, 0x26, 0x05, 0x5d, 0x9e, 0x4c, 0x6e, 0x28, 0xc6, 0xa3, 0x94, 0xd6, 0x54, 0x7b, 0x8d, + 0xf2, 0xde, 0x8b, 0x5b, 0x9e, 0x57, 0xed, 0x35, 0x79, 0x00, 0x32, 0x1a, 0x9b, 0x0b, 0xf7, 0xcf, + 0x42, 0x8f, 0xc7, 0x8d, 0xf2, 0x03, 0x09, 0xc6, 0x97, 0xec, 0xca, 0x9c, 0xea, 0x68, 0x6b, 0xbc, + 0x31, 0x6c, 0xa1, 0x52, 0xe6, 0x21, 0x8b, 0x87, 0x70, 0xbd, 0x2c, 0xd3, 0xaa, 0x56, 0x28, 0x6a, + 0xe1, 0x59, 0x81, 0x5a, 0x9e, 0xf1, 0xab, 0x45, 0xcc, 0x9c, 0xf2, 0x5d, 0x09, 0x0e, 0xc4, 0x42, + 0x30, 0x1d, 0xed, 0x83, 0xfe, 0xa6, 0x8e, 0x90, 0x9d, 0x93, 0xf6, 0x66, 0x0e, 0xf5, 0x16, 0xfb, + 0x98, 0x96, 0x90, 0x2d, 0x4f, 0xc3, 0xa0, 0x86, 0x69, 0x94, 0x4b, 0x84, 0xbd, 0x92, 0xa6, 0x97, + 0x89, 0x78, 0xbd, 0xc5, 0x5d, 0xb4, 0x8b, 0x90, 0x9d, 0xd7, 0xcb, 0xb6, 0x7c, 0x0c, 0xe4, 0x55, + 0x55, 0xaf, 0x86, 0xc0, 0x33, 0x18, 0x7c, 0x80, 0xf4, 0x34, 0xa1, 0x7d, 0x3a, 0xff, 0x71, 0x06, + 0xf2, 0x4b, 0x76, 0x65, 0xd1, 0xb0, 0x1d, 0xd5, 0x70, 0x9a, 0xb9, 0xfa, 0x86, 0xda, 0x30, 0xb4, + 0x35, 0xa1, 0xc2, 0xf7, 0x40, 0x96, 0x26, 0x5b, 0x32, 0x93, 0xf4, 0xcb, 0x9d, 0x7d, 0xd7, 0x73, + 0x4a, 0x65, 0x64, 0x98, 0x35, 0x2f, 0x11, 0xbb, 0x2d, 0x0b, 0x6e, 0x83, 0x3c, 0x09, 0x7d, 0x77, + 0x1a, 0xa6, 0xe3, 0xf5, 0xe3, 0xe4, 0x5b, 0x04, 0xdc, 0x44, 0x00, 0x8a, 0x30, 0xc8, 0xcb, 0xd2, + 0x2d, 0xe4, 0xd1, 0x81, 0x5a, 0x38, 0x45, 0xbf, 0x02, 0x7b, 0x04, 0xe9, 0xb9, 0x85, 0x3c, 0xea, + 0xb2, 0x15, 0xc9, 0xcd, 0xd7, 0xa1, 0x3f, 0x90, 0x97, 0x5b, 0x48, 0xa0, 0x7d, 0x35, 0xdf, 0x1a, + 0xeb, 0x92, 0xc0, 0xf2, 0xa6, 0xfc, 0x96, 0x27, 0x98, 0x22, 0x65, 0x3f, 0x28, 0xe2, 0xde, 0x66, + 0xd4, 0xec, 0xc6, 0xae, 0x4b, 0xc1, 0x6e, 0x21, 0xab, 0x8e, 0x9c, 0x06, 0x4e, 0xde, 0xed, 0x4f, + 0x76, 0x68, 0x36, 0x33, 0x91, 0xd9, 0x9c, 0x84, 0x3e, 0xb2, 0xa6, 0x2f, 0xb9, 0x26, 0xe0, 0x4d, + 0x37, 0x69, 0x9a, 0x53, 0x3d, 0x47, 0xc0, 0x00, 0x18, 0x8b, 0xcc, 0x73, 0x91, 0x22, 0xbd, 0xe4, + 0x36, 0xb9, 0x8e, 0x40, 0x41, 0x6c, 0x4d, 0xad, 0xa2, 0xd2, 0xaa, 0xaa, 0x39, 0xa6, 0x85, 0xa7, + 0x6e, 0x7b, 0x71, 0x17, 0xe9, 0x5a, 0x76, 0x7b, 0xae, 0xe3, 0x0e, 0xf9, 0x1a, 0x1b, 0xd3, 0xd9, + 0xa8, 0x23, 0x3c, 0x25, 0x3b, 0x4e, 0xed, 0xf7, 0xc5, 0x03, 0xba, 0xcb, 0xf0, 0xa2, 0xc1, 0x4d, + 0xfc, 0x79, 0x7b, 0xa3, 0x8e, 0x3c, 0xce, 0xdc, 0xbf, 0xe5, 0x45, 0xd8, 0x51, 0x53, 0xd7, 0x91, + 0x55, 0x5a, 0x45, 0xc8, 0x5d, 0xbc, 0xa0, 0x56, 0xd6, 0x2e, 0xfd, 0x18, 0xf5, 0x3a, 0x42, 0x45, + 0xd5, 0xc1, 0xa4, 0x9c, 0x20, 0xa9, 0xde, 0x16, 0x48, 0x39, 0x7e, 0x52, 0x2f, 0xc3, 0x10, 0x77, + 0xe5, 0x06, 0xe9, 0x09, 0xca, 0x7a, 0x74, 0xd9, 0xf6, 0x1a, 0xe4, 0x84, 0x4b, 0xb6, 0xbe, 0x16, + 0x96, 0xb0, 0x35, 0xee, 0x7a, 0x4d, 0xe4, 0xd4, 0xfd, 0x5b, 0xe3, 0xd4, 0xdb, 0x37, 0xd9, 0xa9, + 0x77, 0xb4, 0xe9, 0xd4, 0x57, 0x05, 0x4e, 0x7d, 0x88, 0xe3, 0xd4, 0x5c, 0x7f, 0x54, 0x0e, 0xc3, + 0xc1, 0x04, 0x10, 0xe6, 0xde, 0xff, 0xda, 0x0d, 0x53, 0x4d, 0xd8, 0x39, 0xdd, 0x50, 0xad, 0x8d, + 0x9b, 0x75, 0x97, 0x13, 0xfb, 0x89, 0x5c, 0x7c, 0x0a, 0xb6, 0x7b, 0xde, 0xb7, 0x51, 0x5b, 0x31, + 0xab, 0xd4, 0xc9, 0xa9, 0xd7, 0x2e, 0xe3, 0x36, 0xf9, 0x20, 0xec, 0xa4, 0x40, 0x75, 0xcb, 0xbc, + 0xab, 0xbb, 0xd4, 0x89, 0xab, 0xef, 0x20, 0xcd, 0xb7, 0x68, 0x6b, 0xd8, 0x37, 0xbb, 0xda, 0xf4, + 0xcd, 0x56, 0x43, 0x42, 0xd4, 0x97, 0xbb, 0x37, 0xcf, 0x97, 0x7b, 0xda, 0xf5, 0xe5, 0x93, 0x30, + 0x84, 0xee, 0xd7, 0x75, 0xec, 0x65, 0x46, 0xc9, 0xd1, 0x6b, 0xc8, 0x76, 0xd4, 0x5a, 0x1d, 0x07, + 0x87, 0x4c, 0x71, 0xb0, 0xd9, 0x77, 0xdb, 0xeb, 0x72, 0x51, 0x6c, 0xe4, 0x38, 0x55, 0x54, 0x43, + 0x86, 0xe3, 0x43, 0x01, 0x82, 0xd2, 0xec, 0x6b, 0xa2, 0xb0, 0xcd, 0x74, 0x9f, 0x7f, 0x33, 0x1d, + 0x8a, 0xdc, 0xfd, 0x69, 0xf3, 0xf0, 0xf6, 0xad, 0x71, 0xd9, 0x1d, 0x9b, 0xec, 0xb2, 0x3b, 0xdb, + 0x74, 0xd9, 0x05, 0x81, 0xcb, 0x1e, 0xe3, 0xb8, 0xac, 0xd0, 0xc7, 0x94, 0xe3, 0x70, 0x34, 0x05, + 0x18, 0x73, 0xdd, 0x9f, 0x07, 0x5c, 0xf7, 0x9a, 0x3b, 0xed, 0x1b, 0xd7, 0x1b, 0x4e, 0xc3, 0x42, + 0xf6, 0xd3, 0x9f, 0x9d, 0x43, 0x1e, 0x9d, 0xdd, 0x5c, 0x8f, 0xee, 0x16, 0x79, 0xf4, 0x1e, 0xc8, + 0x62, 0xff, 0xd8, 0xc0, 0xee, 0x97, 0x29, 0xd2, 0x2f, 0x8e, 0xa7, 0xf7, 0x6e, 0x9e, 0xa7, 0xc3, + 0x66, 0x67, 0xed, 0xbe, 0xad, 0xcb, 0xda, 0xfd, 0x5b, 0x96, 0xb5, 0xbf, 0x0e, 0x01, 0xc9, 0xbe, + 0x1a, 0x0c, 0x01, 0x42, 0x30, 0x16, 0x02, 0x1e, 0x4a, 0x90, 0x0b, 0xec, 0xab, 0x09, 0xd4, 0x96, + 0x17, 0x02, 0x2e, 0x0a, 0x84, 0xdd, 0xc7, 0x2f, 0x04, 0xf8, 0xb8, 0x52, 0xde, 0x97, 0x60, 0xaf, 0xa8, 0x33, 0x6d, 0x2d, 0xa0, 0x08, 0xdd, 0x16, 0xb2, 0x1b, 0x55, 0xc7, 0x2b, 0x8e, 0x9d, 0x4a, 0x92, 0x21, 0x38, 0x88, 0x8b, 0x89, 0x05, 0x92, 0x8a, 0x1e, 0x21, 0xaf, 0xbe, 0x90, 0xe1, 0xd5, - 0x17, 0x7e, 0x2b, 0xc1, 0x1e, 0x3e, 0x15, 0xf9, 0x0a, 0xf4, 0x78, 0x46, 0x49, 0xab, 0x7b, 0xa9, + 0x17, 0x7e, 0x29, 0xc1, 0x1e, 0x3e, 0x15, 0xf9, 0x0a, 0xf4, 0x78, 0x46, 0x49, 0xab, 0x7b, 0xa9, 0x4c, 0x87, 0x21, 0xc9, 0x17, 0xa1, 0x0b, 0x7b, 0x0a, 0x09, 0xc2, 0xe9, 0xb0, 0x09, 0x86, 0x7c, 0x16, 0x32, 0xab, 0x08, 0x11, 0x96, 0xd3, 0x21, 0xba, 0xf0, 0xd1, 0xba, 0x09, 0x99, 0x8b, 0x66, - 0x55, 0x33, 0x45, 0x31, 0xe9, 0xa9, 0xa0, 0x0d, 0x1d, 0x8d, 0xd3, 0x7f, 0x93, 0x30, 0xc7, 0x92, + 0x55, 0x33, 0x45, 0x31, 0xe9, 0xb9, 0xa0, 0x0d, 0x1d, 0x8d, 0xd3, 0x7f, 0x93, 0x30, 0xc7, 0x92, 0x0a, 0x0f, 0x12, 0xea, 0x26, 0x62, 0xe6, 0x94, 0x15, 0x5c, 0x36, 0x11, 0x03, 0x6c, 0x46, 0x69, - 0xe9, 0x17, 0x7e, 0x73, 0x0d, 0xe4, 0xe4, 0x4f, 0x53, 0x4b, 0x97, 0x39, 0x5a, 0x3a, 0x1c, 0xd5, - 0x92, 0x80, 0x3f, 0x05, 0xc1, 0xa1, 0x24, 0x98, 0xcd, 0xd0, 0xd5, 0x7b, 0x12, 0x5e, 0x90, 0xf8, + 0xe9, 0xa7, 0x7e, 0x73, 0x0d, 0xe4, 0xe4, 0x2f, 0x52, 0x4b, 0x97, 0x39, 0x5a, 0x3a, 0x1c, 0xd5, + 0x92, 0x80, 0x3f, 0x05, 0xc1, 0xa1, 0x24, 0x98, 0xcd, 0xd0, 0xd5, 0x47, 0x12, 0x5e, 0x90, 0xf8, 0xea, 0x58, 0xbc, 0x59, 0x11, 0x17, 0xe3, 0x16, 0x43, 0xc5, 0xb8, 0x36, 0xf4, 0xe5, 0x95, 0xe4, - 0xae, 0x3e, 0x48, 0x88, 0xc4, 0x49, 0x4c, 0x2a, 0xef, 0x48, 0x38, 0x14, 0x27, 0xc1, 0x3d, 0x8e, - 0xa5, 0xb9, 0xf7, 0x25, 0x5c, 0xff, 0x9e, 0x77, 0x13, 0x73, 0x95, 0x45, 0x70, 0xa1, 0xda, 0x63, - 0x0f, 0xc8, 0x22, 0xc5, 0xf0, 0x0c, 0xa7, 0x18, 0x1e, 0xb4, 0x99, 0x4e, 0x81, 0xcd, 0x74, 0x35, - 0x6d, 0x66, 0x86, 0x33, 0x3d, 0xa3, 0x01, 0x7b, 0x0e, 0xf2, 0xae, 0x8c, 0xe1, 0x62, 0x63, 0xa8, - 0x95, 0xa5, 0xc1, 0x37, 0x49, 0x1a, 0x24, 0x73, 0x15, 0x84, 0x11, 0x5b, 0xdb, 0x15, 0xe8, 0x2c, - 0xab, 0x8e, 0x9a, 0xa6, 0xf0, 0x8b, 0x29, 0x2d, 0xa8, 0x8e, 0x4a, 0xad, 0x0c, 0x23, 0x16, 0xce, - 0x3e, 0x48, 0x48, 0x80, 0x5c, 0x7e, 0x94, 0xeb, 0x38, 0xa0, 0x70, 0xfb, 0x98, 0x31, 0xe5, 0xa0, - 0xdb, 0x6e, 0x68, 0x1a, 0xb2, 0x89, 0x1d, 0xf5, 0x14, 0xbd, 0xcf, 0x60, 0xf0, 0xde, 0x17, 0x24, - 0x14, 0x70, 0xed, 0xad, 0x96, 0xfe, 0x49, 0x8e, 0xf4, 0x47, 0x04, 0xd2, 0x73, 0x18, 0x53, 0x6e, - 0xc2, 0xe1, 0x44, 0xa0, 0x96, 0xf4, 0xf1, 0xe7, 0x6e, 0x18, 0xf2, 0x28, 0x92, 0x73, 0xac, 0x04, - 0x15, 0xa4, 0x3a, 0xe7, 0xb9, 0x02, 0xe3, 0x76, 0xdd, 0x74, 0x4a, 0xcc, 0x43, 0xec, 0x92, 0x63, - 0x96, 0x34, 0xcc, 0x71, 0x49, 0xad, 0x56, 0xa9, 0x3b, 0xe6, 0x6c, 0xb6, 0x3c, 0x58, 0x2c, 0xdb, - 0xb7, 0x4d, 0x22, 0xd2, 0x6c, 0xb5, 0x2a, 0x3f, 0x03, 0x53, 0x65, 0x16, 0x38, 0xc4, 0x64, 0x3a, - 0x31, 0x99, 0x89, 0x72, 0xe8, 0x68, 0x31, 0x44, 0xec, 0x3f, 0x60, 0x37, 0xe6, 0x86, 0xc6, 0x03, - 0x46, 0x22, 0xd7, 0xd5, 0xea, 0x34, 0x4a, 0x45, 0xd9, 0x66, 0x76, 0xe7, 0x0d, 0x21, 0xbf, 0x0c, - 0xa3, 0x3e, 0x66, 0x23, 0xa3, 0x64, 0x5b, 0x1f, 0x25, 0x57, 0x0e, 0xc6, 0xe9, 0xe6, 0x58, 0x1c, - 0x59, 0x70, 0x04, 0xcc, 0x75, 0xb7, 0x7a, 0x12, 0x13, 0x96, 0x05, 0x93, 0x91, 0xeb, 0x22, 0x59, - 0xc8, 0x28, 0x3d, 0xed, 0xa5, 0x18, 0xbe, 0x44, 0x64, 0xc4, 0x3b, 0x30, 0xb9, 0x82, 0x8d, 0xb8, - 0x64, 0x12, 0x2b, 0x8e, 0x6a, 0xb0, 0xb7, 0x75, 0x0d, 0x8e, 0xae, 0x44, 0x1d, 0x83, 0x29, 0xb1, - 0x08, 0x07, 0x43, 0x43, 0x0a, 0x2d, 0x0c, 0xb0, 0x85, 0xed, 0x5b, 0x89, 0xd6, 0x15, 0x42, 0x46, - 0x76, 0x2f, 0x4e, 0x0c, 0xa2, 0xbc, 0xbe, 0x76, 0x95, 0x27, 0x10, 0x06, 0x53, 0x2d, 0x9c, 0xe4, - 0x84, 0x94, 0xf1, 0x48, 0x48, 0xf1, 0xfb, 0xb6, 0xf2, 0x20, 0x0b, 0x63, 0xbc, 0x0e, 0x16, 0x39, - 0xa6, 0x61, 0x10, 0x5b, 0x19, 0x55, 0x44, 0x30, 0x8a, 0xec, 0x72, 0xbb, 0x68, 0x10, 0x26, 0x1d, - 0x72, 0x01, 0x46, 0x7c, 0x56, 0x13, 0xc2, 0xea, 0xc0, 0x58, 0xc3, 0x4d, 0x80, 0x20, 0xee, 0x11, - 0xd8, 0xd5, 0xb4, 0x68, 0x6f, 0x1d, 0x40, 0xe2, 0xc3, 0x4e, 0x66, 0xa0, 0x74, 0x2d, 0x70, 0x0e, - 0x86, 0xc3, 0xd6, 0xe9, 0x61, 0x90, 0x50, 0xb0, 0x3b, 0x64, 0x66, 0x14, 0x6f, 0x16, 0xc6, 0x43, - 0x93, 0x13, 0xe2, 0xb1, 0x0b, 0xf3, 0x98, 0x0f, 0xe8, 0x39, 0xc8, 0xe6, 0x65, 0x18, 0xe5, 0xcd, - 0xaf, 0x37, 0x7c, 0x96, 0x04, 0xb4, 0xe8, 0x44, 0x51, 0x0e, 0xce, 0x43, 0xce, 0x5b, 0xc5, 0xf8, - 0xfd, 0x17, 0xaf, 0x4d, 0xba, 0x09, 0xeb, 0xb4, 0xbf, 0x99, 0xd8, 0xf0, 0x72, 0xe6, 0x2c, 0x0c, - 0xd3, 0xe5, 0x4c, 0x04, 0xaf, 0x07, 0xe3, 0x0d, 0x91, 0xee, 0x10, 0xda, 0x3c, 0x4c, 0x78, 0xe3, - 0x45, 0xfd, 0x19, 0x63, 0xf7, 0x62, 0xec, 0x51, 0x0a, 0x15, 0x32, 0x3c, 0x42, 0x64, 0x16, 0xc6, - 0xe9, 0xd8, 0x02, 0x1a, 0xc4, 0x3b, 0xf2, 0x04, 0x88, 0x4b, 0xe2, 0x9f, 0x41, 0xf1, 0xf8, 0xe0, - 0xbb, 0x07, 0xa6, 0xd3, 0x47, 0xe2, 0x38, 0x85, 0xe4, 0xe4, 0x34, 0x4c, 0xeb, 0x69, 0xd8, 0x47, - 0xd9, 0x89, 0x21, 0xd5, 0x8f, 0x49, 0x51, 0xbe, 0x05, 0x94, 0x7c, 0xf9, 0xef, 0xa7, 0x12, 0x4c, - 0x70, 0xb6, 0x43, 0x69, 0x2a, 0x02, 0x9b, 0xb6, 0x4f, 0xb9, 0xc4, 0xf1, 0xe0, 0x83, 0x71, 0xbb, - 0x39, 0x7f, 0x65, 0xe0, 0x27, 0x12, 0x3c, 0x11, 0x0f, 0x92, 0x76, 0x93, 0xf2, 0x42, 0xb8, 0x3e, - 0x70, 0x21, 0x9d, 0x44, 0x8f, 0x56, 0x25, 0xf8, 0x53, 0x07, 0x8c, 0xc5, 0xd1, 0xfa, 0x1c, 0xd6, - 0x0a, 0xe4, 0x7f, 0x81, 0x1d, 0xf8, 0x12, 0x8d, 0x6e, 0x1a, 0xa5, 0x32, 0xaa, 0x3a, 0x2a, 0x5e, - 0xdd, 0xf7, 0x9d, 0x3a, 0x1c, 0x7b, 0x1b, 0x89, 0x62, 0x2c, 0xb8, 0x08, 0xd4, 0x40, 0xb6, 0xd7, - 0xfd, 0x8d, 0xf2, 0x25, 0xc8, 0xd6, 0xd5, 0x0d, 0xb3, 0xe1, 0xb4, 0x72, 0x42, 0x4f, 0x51, 0x7c, - 0x2a, 0xff, 0x25, 0x59, 0x03, 0x73, 0x76, 0xb6, 0x9f, 0xaa, 0xd9, 0x27, 0xae, 0x85, 0xe3, 0x19, - 0x54, 0x7e, 0x2e, 0xe1, 0xc5, 0x70, 0x3c, 0xd4, 0xe3, 0x6d, 0xfc, 0x7f, 0xa3, 0x95, 0x48, 0x9c, - 0x69, 0x42, 0xca, 0xfa, 0xec, 0x76, 0x9e, 0xac, 0xbb, 0xa6, 0xda, 0xeb, 0xd8, 0xd4, 0xba, 0x68, - 0xf7, 0x92, 0x6a, 0xaf, 0x7b, 0x02, 0x65, 0x9b, 0x02, 0x25, 0xee, 0xe9, 0xb8, 0x02, 0x2a, 0x0a, - 0x29, 0x12, 0xf1, 0xfa, 0xd8, 0x26, 0xf5, 0x7f, 0x3a, 0xf0, 0xdd, 0x56, 0xd1, 0x66, 0xe7, 0x73, - 0xa4, 0xa4, 0x0b, 0x1c, 0x25, 0xed, 0x8f, 0x2a, 0x29, 0x2a, 0xa3, 0x72, 0x00, 0x17, 0x88, 0x44, - 0xdd, 0x4c, 0x55, 0xaf, 0x49, 0xd0, 0xcb, 0x96, 0xc1, 0x41, 0x05, 0x48, 0x49, 0x0a, 0xe8, 0x48, - 0x54, 0x40, 0x26, 0x5e, 0x01, 0x9d, 0x02, 0x05, 0x34, 0xcb, 0x17, 0xca, 0x8f, 0x48, 0xaa, 0xf5, - 0x6d, 0x5e, 0xc3, 0x2b, 0x86, 0xad, 0xdb, 0x77, 0x27, 0xa6, 0xd8, 0x18, 0xae, 0x94, 0x1b, 0x38, - 0xc3, 0xc6, 0x40, 0xb4, 0xb4, 0xe3, 0xfe, 0xdf, 0x0e, 0xd8, 0xbd, 0x64, 0x57, 0x96, 0x99, 0xaa, - 0x6f, 0x5b, 0xaa, 0x61, 0xaf, 0xc6, 0xd8, 0xf2, 0x09, 0x18, 0xb2, 0xcd, 0x86, 0xa5, 0xa1, 0x12, - 0x6f, 0xd2, 0x64, 0xd2, 0xb7, 0xec, 0x9f, 0x3a, 0xbc, 0x1e, 0xb7, 0x1d, 0xdd, 0x20, 0xa7, 0xdd, - 0x3c, 0x63, 0x1f, 0xf6, 0x01, 0x2c, 0xf3, 0xef, 0x68, 0x76, 0xb6, 0x76, 0x47, 0x73, 0x3a, 0xa4, - 0xdf, 0x09, 0xbf, 0x7e, 0xa3, 0xe2, 0x2a, 0x93, 0xb8, 0x8c, 0x1e, 0xed, 0x60, 0x06, 0xfd, 0x6a, - 0x07, 0xbe, 0xc7, 0x79, 0xed, 0xbe, 0x83, 0x2c, 0x43, 0xad, 0xfe, 0xa3, 0xe8, 0xe9, 0x58, 0x48, - 0x4f, 0x81, 0xbb, 0xfd, 0x61, 0x61, 0xe9, 0xdd, 0xfe, 0x70, 0x33, 0xd3, 0xd1, 0xc7, 0x12, 0xae, - 0xdf, 0xdc, 0xd0, 0xef, 0x34, 0x74, 0x7c, 0x0b, 0x99, 0x2e, 0x18, 0x1e, 0xad, 0x7e, 0x13, 0x08, - 0x1e, 0x99, 0x50, 0xf0, 0x60, 0x0b, 0x80, 0xce, 0xf6, 0x16, 0x00, 0x92, 0xb7, 0x00, 0x38, 0x1e, - 0xb7, 0x6b, 0x8d, 0x48, 0xa4, 0x4c, 0xe0, 0x4d, 0x6b, 0xa4, 0x9d, 0xa9, 0xe2, 0x0d, 0x92, 0x4c, - 0xaf, 0xd5, 0x90, 0x55, 0x41, 0x86, 0xb6, 0xb1, 0x8c, 0xef, 0x67, 0xd0, 0x57, 0x0e, 0x5b, 0xa6, - 0x8e, 0xc2, 0xc9, 0xb8, 0xc4, 0xc7, 0x65, 0x86, 0x26, 0x3e, 0x6e, 0x5f, 0xf3, 0xfe, 0x78, 0x07, - 0x7e, 0xb4, 0xb1, 0x68, 0xb8, 0x9b, 0x22, 0x9b, 0x49, 0x4b, 0x8e, 0x8c, 0x1f, 0x13, 0x17, 0x08, - 0xe8, 0xa5, 0x33, 0x64, 0x26, 0x97, 0x98, 0x7f, 0xb4, 0xb2, 0x58, 0xa5, 0x3e, 0x72, 0x2a, 0xa4, - 0x54, 0x25, 0x78, 0x1e, 0xcc, 0xd3, 0x09, 0x7d, 0x6c, 0xc0, 0xef, 0x0c, 0xab, 0x75, 0x01, 0x7d, - 0xa1, 0xd6, 0xb0, 0x5a, 0xf9, 0x3a, 0xa1, 0x6a, 0xe5, 0x77, 0x32, 0xb5, 0xbe, 0x27, 0x61, 0xe7, - 0xbc, 0x65, 0xe9, 0x77, 0xf5, 0x2a, 0xaa, 0xa0, 0xf2, 0xb5, 0xfb, 0x48, 0x6b, 0x38, 0x68, 0xde, - 0x34, 0x1c, 0x4b, 0xd5, 0xc4, 0xfe, 0x37, 0x04, 0x5d, 0xab, 0x0d, 0xa3, 0x6c, 0x53, 0x55, 0x92, - 0x0f, 0xf9, 0x30, 0x0c, 0x68, 0x14, 0xb3, 0xa4, 0x92, 0xb7, 0x1e, 0x54, 0x69, 0x3b, 0xbd, 0x76, - 0xfa, 0x04, 0x44, 0x96, 0xe9, 0xd2, 0x80, 0xe8, 0x89, 0x64, 0xfb, 0xcb, 0x82, 0x83, 0xf6, 0x03, - 0x7e, 0x71, 0x85, 0xbc, 0xba, 0x81, 0x64, 0x7f, 0x1c, 0x00, 0x4b, 0xf7, 0x2f, 0x03, 0x60, 0x7e, - 0x4b, 0x65, 0x7d, 0x75, 0x15, 0x67, 0xfc, 0xd8, 0x34, 0x70, 0xc2, 0x9d, 0xaa, 0x37, 0xff, 0x30, - 0x79, 0xa8, 0xa2, 0x3b, 0x6b, 0x8d, 0x95, 0x69, 0xcd, 0xac, 0xd1, 0xc7, 0x7e, 0xf4, 0xbf, 0xe3, - 0x76, 0x79, 0x7d, 0xc6, 0xd9, 0xa8, 0x23, 0x1b, 0x23, 0xd8, 0xc5, 0x5e, 0x4c, 0x7e, 0x41, 0x5f, - 0x5d, 0x2d, 0x0c, 0x72, 0x64, 0x52, 0x5e, 0x82, 0x81, 0x25, 0xbb, 0x52, 0x44, 0xf7, 0x54, 0xab, - 0x6c, 0xdf, 0xac, 0x3b, 0x37, 0x1b, 0x42, 0x4d, 0x93, 0x3a, 0x21, 0x47, 0x29, 0x23, 0x7e, 0xa5, - 0x04, 0x48, 0x29, 0x79, 0x1c, 0x50, 0x03, 0x6d, 0xfe, 0xf7, 0x2d, 0xbb, 0x71, 0xa7, 0x56, 0x55, - 0xf5, 0xda, 0x0d, 0x53, 0x5b, 0x47, 0xe5, 0xeb, 0x78, 0xf2, 0xc4, 0x4e, 0x34, 0x58, 0xc5, 0x60, - 0xb3, 0xc4, 0xd2, 0x6f, 0x35, 0x56, 0x9e, 0x41, 0x1b, 0x78, 0xe2, 0xfb, 0x8b, 0xbc, 0x2e, 0x79, - 0x0c, 0x7a, 0x6d, 0xbd, 0x62, 0xa8, 0x4e, 0xc3, 0x22, 0x9b, 0xf0, 0xfe, 0x62, 0xb3, 0x21, 0x7e, - 0xbd, 0x11, 0xe5, 0x8b, 0xae, 0x37, 0xa2, 0x1d, 0x4c, 0xa4, 0xff, 0x26, 0x4f, 0x5d, 0x96, 0xf5, - 0x8a, 0x81, 0x97, 0xd0, 0xcb, 0x90, 0x75, 0xff, 0xa6, 0x82, 0xf4, 0xcf, 0x5d, 0xfa, 0xe4, 0xe1, - 0x64, 0xd6, 0xc6, 0x2d, 0x7f, 0x7d, 0x38, 0x79, 0x3c, 0xc5, 0x2c, 0xce, 0x6a, 0x1a, 0xb5, 0xd3, - 0x22, 0x25, 0x25, 0x8f, 0x41, 0xe7, 0x02, 0x59, 0xca, 0xba, 0x24, 0x7b, 0x3e, 0x79, 0x38, 0x89, - 0x6d, 0xb6, 0x88, 0x5b, 0x95, 0xfb, 0xf8, 0xd1, 0x10, 0xe6, 0xc0, 0xd4, 0xe4, 0x03, 0x44, 0x7e, - 0x72, 0xd9, 0x8b, 0xd4, 0x3e, 0x30, 0x82, 0xfb, 0x5d, 0xec, 0x71, 0xbb, 0xf0, 0x75, 0xae, 0x79, - 0xe8, 0xba, 0xab, 0x56, 0x1b, 0x88, 0xee, 0x5c, 0x0f, 0xc6, 0x25, 0x64, 0x9f, 0x7c, 0xde, 0x6e, - 0x1c, 0xe3, 0x2a, 0x5f, 0xce, 0x60, 0x3f, 0x9f, 0x2d, 0xd7, 0x74, 0x83, 0xd4, 0x84, 0x39, 0x5b, - 0xea, 0xf6, 0xb6, 0x5b, 0xcf, 0xc2, 0x80, 0xef, 0x1e, 0x25, 0xa9, 0xc5, 0x34, 0x4b, 0x2a, 0x52, - 0x52, 0xf0, 0xda, 0xd9, 0x44, 0xc6, 0xd7, 0x9b, 0x84, 0x57, 0x39, 0x3b, 0x5b, 0xbf, 0xca, 0xd9, - 0x25, 0xbe, 0xca, 0x79, 0x15, 0xb2, 0xb6, 0xa3, 0x3a, 0x0d, 0x9b, 0x5e, 0xb3, 0x3b, 0x14, 0xab, - 0x56, 0x2c, 0xeb, 0x32, 0x86, 0x2f, 0x52, 0xbc, 0x42, 0x21, 0xae, 0xb8, 0x11, 0xaf, 0x68, 0xe5, - 0x28, 0xae, 0x6d, 0xc4, 0x03, 0x31, 0xc3, 0xfd, 0x0e, 0x79, 0xd8, 0x34, 0x4b, 0x1e, 0xad, 0xbd, - 0x82, 0x96, 0x1d, 0x75, 0x1d, 0x3d, 0x65, 0xa9, 0x86, 0x23, 0xf6, 0xc6, 0xeb, 0x90, 0xad, 0x60, - 0x08, 0xba, 0xa9, 0x9a, 0x8e, 0x13, 0x0f, 0xd3, 0xf2, 0xc8, 0x63, 0xd5, 0x16, 0x29, 0x76, 0xe1, - 0x44, 0xdc, 0xab, 0x26, 0x1e, 0x47, 0xca, 0x3e, 0xfc, 0x34, 0x82, 0xd7, 0xc5, 0x04, 0xda, 0xc0, - 0xb1, 0x65, 0xd6, 0xe5, 0x46, 0x75, 0x7c, 0x10, 0x42, 0x69, 0x72, 0xd0, 0x8d, 0xf9, 0x61, 0xd7, - 0x32, 0xbd, 0xcf, 0xf8, 0x28, 0x11, 0x1d, 0x81, 0x46, 0x89, 0x68, 0x87, 0xc7, 0xdb, 0xa9, 0x5f, - 0x1d, 0x84, 0xcc, 0x92, 0x5d, 0x91, 0x55, 0xe8, 0xf6, 0x1e, 0xf7, 0x3d, 0x91, 0xe0, 0x71, 0x14, - 0x2e, 0x3f, 0x9d, 0x0e, 0x8e, 0xe5, 0x97, 0x32, 0xf4, 0xb0, 0x77, 0x77, 0x49, 0x5e, 0xed, 0x01, - 0xe6, 0x67, 0x52, 0x02, 0xb2, 0x51, 0xbe, 0x26, 0xc1, 0xb0, 0xe8, 0x41, 0xd2, 0xb9, 0x04, 0x62, - 0x02, 0xbc, 0xfc, 0x93, 0xed, 0xe1, 0x31, 0x9e, 0x5e, 0x97, 0x60, 0x2c, 0xf6, 0xf1, 0xcc, 0xa5, - 0x74, 0x03, 0x70, 0x91, 0xf3, 0xf3, 0x8f, 0x80, 0xcc, 0x58, 0xfc, 0xae, 0x04, 0x7b, 0x13, 0x6f, - 0x11, 0x5f, 0x49, 0x37, 0x92, 0x90, 0x40, 0xfe, 0xa9, 0x47, 0x24, 0xc0, 0xd8, 0x7d, 0x20, 0xc1, - 0x10, 0xf7, 0xe5, 0xe3, 0xe9, 0x84, 0x11, 0x78, 0x48, 0xf9, 0x4b, 0x6d, 0x20, 0x31, 0x56, 0xbe, - 0x29, 0x41, 0x3e, 0xe6, 0xd5, 0xe1, 0xc5, 0x04, 0xda, 0x62, 0xd4, 0xfc, 0x6c, 0xdb, 0xa8, 0x8c, - 0xb9, 0x2f, 0x49, 0xb0, 0x9b, 0x7f, 0x33, 0xf4, 0x4c, 0x6a, 0x99, 0x7d, 0x58, 0xf9, 0x7f, 0x6a, - 0x07, 0x8b, 0x71, 0xb3, 0x01, 0x3b, 0xc3, 0x17, 0x92, 0x92, 0x82, 0x48, 0x08, 0x3e, 0x7f, 0xae, - 0x35, 0xf8, 0x80, 0x22, 0xf8, 0x77, 0x83, 0xce, 0xa4, 0xd2, 0x72, 0x08, 0x2b, 0x51, 0x11, 0xf1, - 0x77, 0x7b, 0xfe, 0x0b, 0x76, 0x45, 0xef, 0xa8, 0x9c, 0x48, 0x43, 0xd2, 0x8f, 0x91, 0xbf, 0xd0, - 0x2a, 0x06, 0x63, 0xe0, 0x1b, 0x12, 0x8c, 0x88, 0xb7, 0x37, 0x49, 0x74, 0x85, 0x98, 0xf9, 0xab, + 0xae, 0x3e, 0x48, 0x88, 0xc4, 0x49, 0x4c, 0x2a, 0x1f, 0x48, 0x38, 0x14, 0x27, 0xc1, 0x3d, 0x8d, + 0xa5, 0xb9, 0x47, 0x12, 0xae, 0x7f, 0xcf, 0xbb, 0x89, 0xb9, 0xca, 0x22, 0xb8, 0x50, 0xed, 0xb1, + 0x07, 0x64, 0x91, 0x62, 0x78, 0x86, 0x53, 0x0c, 0x0f, 0xda, 0x4c, 0xa7, 0xc0, 0x66, 0xba, 0x9a, + 0x36, 0x33, 0xc3, 0x99, 0x9e, 0xd1, 0x80, 0x3d, 0x07, 0x79, 0x57, 0xc6, 0x70, 0xb1, 0x31, 0xd4, + 0xca, 0xd2, 0xe0, 0x7b, 0x24, 0x0d, 0x92, 0xb9, 0x0a, 0xc2, 0x88, 0xad, 0xed, 0x0a, 0x74, 0x96, + 0x55, 0x47, 0x4d, 0x53, 0xf8, 0xc5, 0x94, 0x16, 0x54, 0x47, 0xa5, 0x56, 0x86, 0x11, 0x0b, 0x67, + 0x1f, 0x24, 0x24, 0x40, 0x2e, 0x3f, 0xca, 0x75, 0x1c, 0x50, 0xb8, 0x7d, 0xcc, 0x98, 0x72, 0xd0, + 0x6d, 0x37, 0x34, 0x0d, 0xd9, 0xc4, 0x8e, 0x7a, 0x8a, 0xde, 0x67, 0x30, 0x78, 0xef, 0x0b, 0x12, + 0x0a, 0xb8, 0xf6, 0x56, 0x4b, 0xff, 0x2c, 0x47, 0xfa, 0x23, 0x02, 0xe9, 0x39, 0x8c, 0x29, 0x37, + 0xe1, 0x70, 0x22, 0x50, 0x4b, 0xfa, 0xf8, 0x7d, 0x37, 0x0c, 0x79, 0x14, 0xc9, 0x39, 0x56, 0x82, + 0x0a, 0x52, 0x9d, 0xf3, 0x5c, 0x81, 0x71, 0xbb, 0x6e, 0x3a, 0x25, 0xe6, 0x21, 0x76, 0xc9, 0x31, + 0x4b, 0x1a, 0xe6, 0xb8, 0xa4, 0x56, 0xab, 0xd4, 0x1d, 0x73, 0x36, 0x5b, 0x1e, 0x2c, 0x96, 0xed, + 0xdb, 0x26, 0x11, 0x69, 0xb6, 0x5a, 0x95, 0x5f, 0x80, 0xa9, 0x32, 0x0b, 0x1c, 0x62, 0x32, 0x9d, + 0x98, 0xcc, 0x44, 0x39, 0x74, 0xb4, 0x18, 0x22, 0xf6, 0x0f, 0xb0, 0x1b, 0x73, 0x43, 0xe3, 0x01, + 0x23, 0x91, 0xeb, 0x6a, 0x75, 0x1a, 0xa5, 0xa2, 0x6c, 0x33, 0xbb, 0xf3, 0x86, 0x90, 0x5f, 0x87, + 0x51, 0x1f, 0xb3, 0x91, 0x51, 0xb2, 0xad, 0x8f, 0x92, 0x2b, 0x07, 0xe3, 0x74, 0x73, 0x2c, 0x8e, + 0x2c, 0x38, 0x02, 0xe6, 0xba, 0x5b, 0x3d, 0x89, 0x09, 0xcb, 0x82, 0xc9, 0xc8, 0x75, 0x91, 0x2c, + 0x64, 0x94, 0x9e, 0xf6, 0x52, 0x0c, 0x5f, 0x22, 0x32, 0xe2, 0x1d, 0x98, 0x5c, 0xc1, 0x46, 0x5c, + 0x32, 0x89, 0x15, 0x47, 0x35, 0xd8, 0xdb, 0xba, 0x06, 0x47, 0x57, 0xa2, 0x8e, 0xc1, 0x94, 0x58, + 0x84, 0x83, 0xa1, 0x21, 0x85, 0x16, 0x06, 0xd8, 0xc2, 0xf6, 0xad, 0x44, 0xeb, 0x0a, 0x21, 0x23, + 0xbb, 0x17, 0x27, 0x06, 0x51, 0x5e, 0x5f, 0xbb, 0xca, 0x13, 0x08, 0x83, 0xa9, 0x16, 0x4e, 0x72, + 0x42, 0xca, 0x78, 0x24, 0xa4, 0xf8, 0x7d, 0x5b, 0x79, 0x90, 0x85, 0x31, 0x5e, 0x07, 0x8b, 0x1c, + 0xd3, 0x30, 0x88, 0xad, 0x8c, 0x2a, 0x22, 0x18, 0x45, 0x76, 0xb9, 0x5d, 0x34, 0x08, 0x93, 0x0e, + 0xb9, 0x00, 0x23, 0x3e, 0xab, 0x09, 0x61, 0x75, 0x60, 0xac, 0xe1, 0x26, 0x40, 0x10, 0xf7, 0x08, + 0xec, 0x6a, 0x5a, 0xb4, 0xb7, 0x0e, 0x20, 0xf1, 0x61, 0x27, 0x33, 0x50, 0xba, 0x16, 0x38, 0x07, + 0xc3, 0x61, 0xeb, 0xf4, 0x30, 0x48, 0x28, 0xd8, 0x1d, 0x32, 0x33, 0x8a, 0x37, 0x0b, 0xe3, 0xa1, + 0xc9, 0x09, 0xf1, 0xd8, 0x85, 0x79, 0xcc, 0x07, 0xf4, 0x1c, 0x64, 0xf3, 0x32, 0x8c, 0xf2, 0xe6, + 0xd7, 0x1b, 0x3e, 0x4b, 0x02, 0x5a, 0x74, 0xa2, 0x28, 0x07, 0xe7, 0x21, 0xe7, 0xad, 0x62, 0xfc, + 0xfe, 0x8b, 0xd7, 0x26, 0xdd, 0x84, 0x75, 0xda, 0xdf, 0x4c, 0x6c, 0x78, 0x39, 0x73, 0x16, 0x86, + 0xe9, 0x72, 0x26, 0x82, 0xd7, 0x83, 0xf1, 0x86, 0x48, 0x77, 0x08, 0x6d, 0x1e, 0x26, 0xbc, 0xf1, + 0xa2, 0xfe, 0x8c, 0xb1, 0x7b, 0x31, 0xf6, 0x28, 0x85, 0x0a, 0x19, 0x1e, 0x21, 0x32, 0x0b, 0xe3, + 0x74, 0x6c, 0x01, 0x0d, 0xe2, 0x1d, 0x79, 0x02, 0xc4, 0x25, 0xf1, 0xd7, 0xa0, 0x78, 0x7c, 0xf0, + 0xdd, 0x03, 0xd3, 0xe9, 0x23, 0x71, 0x9c, 0x42, 0x72, 0x72, 0x1a, 0xa6, 0xf5, 0x3c, 0xec, 0xa3, + 0xec, 0xc4, 0x90, 0xea, 0xc7, 0xa4, 0x28, 0xdf, 0x02, 0x4a, 0xbe, 0xfc, 0xf7, 0x23, 0x09, 0x26, + 0x38, 0xdb, 0xa1, 0x34, 0x15, 0x81, 0x4d, 0xdb, 0xa7, 0x5c, 0xe2, 0x78, 0xf0, 0xc1, 0xb8, 0xdd, + 0x9c, 0xbf, 0x32, 0xf0, 0x43, 0x09, 0x9e, 0x89, 0x07, 0x49, 0xbb, 0x49, 0x79, 0x25, 0x5c, 0x1f, + 0xb8, 0x90, 0x4e, 0xa2, 0x27, 0xab, 0x12, 0xfc, 0xae, 0x03, 0xc6, 0xe2, 0x68, 0x7d, 0x05, 0x6b, + 0x05, 0xf2, 0xdf, 0xc0, 0x0e, 0x7c, 0x89, 0x46, 0x37, 0x8d, 0x52, 0x19, 0x55, 0x1d, 0x15, 0xaf, + 0xee, 0xfb, 0x4e, 0x1d, 0x8e, 0xbd, 0x8d, 0x44, 0x31, 0x16, 0x5c, 0x04, 0x6a, 0x20, 0xdb, 0xeb, + 0xfe, 0x46, 0xf9, 0x12, 0x64, 0xeb, 0xea, 0x86, 0xd9, 0x70, 0x5a, 0x39, 0xa1, 0xa7, 0x28, 0x3e, + 0x95, 0xff, 0x8c, 0xac, 0x81, 0x39, 0x3b, 0xdb, 0x2f, 0xd4, 0xec, 0x13, 0xd7, 0xc2, 0xf1, 0x0c, + 0x2a, 0x3f, 0x91, 0xf0, 0x62, 0x38, 0x1e, 0xea, 0xe9, 0x36, 0xfe, 0x3f, 0xd1, 0x4a, 0x24, 0xce, + 0x34, 0x21, 0x65, 0x7d, 0x79, 0x3b, 0x4f, 0xd6, 0x5d, 0x53, 0xed, 0x75, 0x6c, 0x6a, 0x5d, 0xb4, + 0x7b, 0x49, 0xb5, 0xd7, 0x3d, 0x81, 0xb2, 0x4d, 0x81, 0x12, 0xf7, 0x74, 0x5c, 0x01, 0x15, 0x85, + 0x14, 0x89, 0x78, 0x7d, 0x6c, 0x93, 0xfa, 0xcf, 0x1d, 0xf8, 0x6e, 0xab, 0x68, 0xb3, 0xf3, 0x15, + 0x52, 0xd2, 0x05, 0x8e, 0x92, 0xf6, 0x47, 0x95, 0x14, 0x95, 0x51, 0x39, 0x80, 0x0b, 0x44, 0xa2, + 0x6e, 0xa6, 0xaa, 0xb7, 0x25, 0xe8, 0x65, 0xcb, 0xe0, 0xa0, 0x02, 0xa4, 0x24, 0x05, 0x74, 0x24, + 0x2a, 0x20, 0x13, 0xaf, 0x80, 0x4e, 0x81, 0x02, 0x9a, 0xe5, 0x0b, 0xe5, 0xfb, 0x24, 0xd5, 0xfa, + 0x36, 0xaf, 0xe1, 0x15, 0xc3, 0xd6, 0xed, 0xbb, 0x13, 0x53, 0x6c, 0x0c, 0x57, 0xca, 0x0d, 0x9c, + 0x61, 0x63, 0x20, 0x5a, 0xda, 0x71, 0xff, 0x4b, 0x07, 0xec, 0x5e, 0xb2, 0x2b, 0xcb, 0x4c, 0xd5, + 0xb7, 0x2d, 0xd5, 0xb0, 0x57, 0x63, 0x6c, 0xf9, 0x04, 0x0c, 0xd9, 0x66, 0xc3, 0xd2, 0x50, 0x89, + 0x37, 0x69, 0x32, 0xe9, 0x5b, 0xf6, 0x4f, 0x1d, 0x5e, 0x8f, 0xdb, 0x8e, 0x6e, 0x90, 0xd3, 0x6e, + 0x9e, 0xb1, 0x0f, 0xfb, 0x00, 0x96, 0xf9, 0x77, 0x34, 0x3b, 0x5b, 0xbb, 0xa3, 0x39, 0x1d, 0xd2, + 0xef, 0x84, 0x5f, 0xbf, 0x51, 0x71, 0x95, 0x49, 0x5c, 0x46, 0x8f, 0x76, 0x30, 0x83, 0x7e, 0xab, + 0x03, 0xdf, 0xe3, 0xbc, 0x76, 0xdf, 0x41, 0x96, 0xa1, 0x56, 0xff, 0x52, 0xf4, 0x74, 0x2c, 0xa4, + 0xa7, 0xc0, 0xdd, 0xfe, 0xb0, 0xb0, 0xf4, 0x6e, 0x7f, 0xb8, 0x99, 0xe9, 0xe8, 0x33, 0x09, 0xd7, + 0x6f, 0x6e, 0xe8, 0x77, 0x1a, 0x3a, 0xbe, 0x85, 0x4c, 0x17, 0x0c, 0x4f, 0x56, 0xbf, 0x09, 0x04, + 0x8f, 0x4c, 0x28, 0x78, 0xb0, 0x05, 0x40, 0x67, 0x7b, 0x0b, 0x00, 0xc9, 0x5b, 0x00, 0x1c, 0x8f, + 0xdb, 0xb5, 0x46, 0x24, 0x52, 0x26, 0xf0, 0xa6, 0x35, 0xd2, 0xce, 0x54, 0xf1, 0x2e, 0x49, 0xa6, + 0xd7, 0x6a, 0xc8, 0xaa, 0x20, 0x43, 0xdb, 0x58, 0xc6, 0xf7, 0x33, 0xe8, 0x2b, 0x87, 0x2d, 0x53, + 0x47, 0xe1, 0x64, 0x5c, 0xe2, 0xe3, 0x32, 0x43, 0x13, 0x1f, 0xb7, 0xaf, 0x79, 0x7f, 0xbc, 0x03, + 0x3f, 0xda, 0x58, 0x34, 0xdc, 0x4d, 0x91, 0xcd, 0xa4, 0x25, 0x47, 0xc6, 0x4f, 0x89, 0x0b, 0x04, + 0xf4, 0xd2, 0x19, 0x32, 0x93, 0x4b, 0xcc, 0x3f, 0x5a, 0x59, 0xac, 0x52, 0x1f, 0x39, 0x15, 0x52, + 0xaa, 0x12, 0x3c, 0x0f, 0xe6, 0xe9, 0x84, 0x3e, 0x36, 0xe0, 0x77, 0x86, 0xd5, 0xba, 0x80, 0xbe, + 0x56, 0x6b, 0x58, 0xad, 0x7c, 0x9d, 0x50, 0xb5, 0xf2, 0x3b, 0x99, 0x5a, 0x3f, 0x92, 0xb0, 0x73, + 0xde, 0xb2, 0xf4, 0xbb, 0x7a, 0x15, 0x55, 0x50, 0xf9, 0xda, 0x7d, 0xa4, 0x35, 0x1c, 0x34, 0x6f, + 0x1a, 0x8e, 0xa5, 0x6a, 0x62, 0xff, 0x1b, 0x82, 0xae, 0xd5, 0x86, 0x51, 0xb6, 0xa9, 0x2a, 0xc9, + 0x87, 0x7c, 0x18, 0x06, 0x34, 0x8a, 0x59, 0x52, 0xc9, 0x5b, 0x0f, 0xaa, 0xb4, 0x9d, 0x5e, 0x3b, + 0x7d, 0x02, 0x22, 0xcb, 0x74, 0x69, 0x40, 0xf4, 0x44, 0xb2, 0xfd, 0x65, 0xc1, 0x41, 0xfb, 0x01, + 0xbf, 0xb8, 0x42, 0x5e, 0xdd, 0x40, 0xb2, 0x3f, 0x0e, 0x80, 0xa5, 0xfb, 0xd7, 0x01, 0x30, 0xbf, + 0xa5, 0xb2, 0xbe, 0xba, 0x8a, 0x33, 0x7e, 0x6c, 0x1a, 0x38, 0xe1, 0x4e, 0xd5, 0x7b, 0xbf, 0x99, + 0x3c, 0x54, 0xd1, 0x9d, 0xb5, 0xc6, 0xca, 0xb4, 0x66, 0xd6, 0xe8, 0x63, 0x3f, 0xfa, 0xdf, 0x71, + 0xbb, 0xbc, 0x3e, 0xe3, 0x6c, 0xd4, 0x91, 0x8d, 0x11, 0xec, 0x62, 0x2f, 0x26, 0xbf, 0xa0, 0xaf, + 0xae, 0x16, 0x06, 0x39, 0x32, 0x29, 0xaf, 0xc1, 0xc0, 0x92, 0x5d, 0x29, 0xa2, 0x7b, 0xaa, 0x55, + 0xb6, 0x6f, 0xd6, 0x9d, 0x9b, 0x0d, 0xa1, 0xa6, 0x49, 0x9d, 0x90, 0xa3, 0x94, 0x11, 0xbf, 0x52, + 0x02, 0xa4, 0x94, 0x3c, 0x0e, 0xa8, 0x81, 0x36, 0xff, 0xfb, 0x96, 0xdd, 0xb8, 0x53, 0xab, 0xaa, + 0x7a, 0xed, 0x86, 0xa9, 0xad, 0xa3, 0xf2, 0x75, 0x3c, 0x79, 0x62, 0x27, 0x1a, 0xac, 0x62, 0xb0, + 0x59, 0x62, 0xe9, 0xb7, 0x1a, 0x2b, 0x2f, 0xa0, 0x0d, 0x3c, 0xf1, 0xfd, 0x45, 0x5e, 0x97, 0x3c, + 0x06, 0xbd, 0xb6, 0x5e, 0x31, 0x54, 0xa7, 0x61, 0x91, 0x4d, 0x78, 0x7f, 0xb1, 0xd9, 0x10, 0xbf, + 0xde, 0x88, 0xf2, 0x45, 0xd7, 0x1b, 0xd1, 0x0e, 0x26, 0xd2, 0x9b, 0xe4, 0xa9, 0xcb, 0xb2, 0x5e, + 0x31, 0xf0, 0x12, 0x7a, 0x19, 0xb2, 0xee, 0xdf, 0x54, 0x90, 0xfe, 0xb9, 0x4b, 0x9f, 0x3f, 0x9e, + 0xcc, 0xda, 0xb8, 0xe5, 0x8f, 0x8f, 0x27, 0x8f, 0xa7, 0x98, 0xc5, 0x59, 0x4d, 0xa3, 0x76, 0x5a, + 0xa4, 0xa4, 0xe4, 0x31, 0xe8, 0x5c, 0x20, 0x4b, 0x59, 0x97, 0x64, 0xcf, 0xe7, 0x8f, 0x27, 0xb1, + 0xcd, 0x16, 0x71, 0xab, 0x72, 0x1f, 0x3f, 0x1a, 0xc2, 0x1c, 0x98, 0x9a, 0x7c, 0x80, 0xc8, 0x4f, + 0x2e, 0x7b, 0x91, 0xda, 0x07, 0x46, 0x70, 0xbf, 0x8b, 0x3d, 0x6e, 0x17, 0xbe, 0xce, 0x35, 0x0f, + 0x5d, 0x77, 0xd5, 0x6a, 0x03, 0xd1, 0x9d, 0xeb, 0xc1, 0xb8, 0x84, 0xec, 0x93, 0xcf, 0xdb, 0x8d, + 0x63, 0x5c, 0xe5, 0x3f, 0x32, 0xd8, 0xcf, 0x67, 0xcb, 0x35, 0xdd, 0x20, 0x35, 0x61, 0xce, 0x96, + 0xba, 0xbd, 0xed, 0xd6, 0x8b, 0x30, 0xe0, 0xbb, 0x47, 0x49, 0x6a, 0x31, 0xcd, 0x92, 0x8a, 0x94, + 0x14, 0xbc, 0x76, 0x36, 0x91, 0xf1, 0xf5, 0x26, 0xe1, 0x55, 0xce, 0xce, 0xd6, 0xaf, 0x72, 0x76, + 0x89, 0xaf, 0x72, 0x5e, 0x85, 0xac, 0xed, 0xa8, 0x4e, 0xc3, 0xa6, 0xd7, 0xec, 0x0e, 0xc5, 0xaa, + 0x15, 0xcb, 0xba, 0x8c, 0xe1, 0x8b, 0x14, 0xaf, 0x50, 0x88, 0x2b, 0x6e, 0xc4, 0x2b, 0x5a, 0x39, + 0x8a, 0x6b, 0x1b, 0xf1, 0x40, 0xcc, 0x70, 0xbf, 0x49, 0x1e, 0x36, 0xcd, 0x92, 0x47, 0x6b, 0x6f, + 0xa0, 0x65, 0x47, 0x5d, 0x47, 0xcf, 0x59, 0xaa, 0xe1, 0x88, 0xbd, 0xf1, 0x3a, 0x64, 0x2b, 0x18, + 0x82, 0x6e, 0xaa, 0xa6, 0xe3, 0xc4, 0xc3, 0xb4, 0x3c, 0xf2, 0x58, 0xb5, 0x45, 0x8a, 0x5d, 0x38, + 0x11, 0xf7, 0xaa, 0x89, 0xc7, 0x91, 0xb2, 0x0f, 0x3f, 0x8d, 0xe0, 0x75, 0x31, 0x81, 0x36, 0x70, + 0x6c, 0x99, 0x75, 0xb9, 0x51, 0x1d, 0x1f, 0x84, 0x50, 0x9a, 0x1c, 0x74, 0x63, 0x7e, 0xd8, 0xb5, + 0x4c, 0xef, 0x33, 0x3e, 0x4a, 0x44, 0x47, 0xa0, 0x51, 0x22, 0xda, 0xe1, 0xf1, 0x76, 0xea, 0xd1, + 0x41, 0xc8, 0x2c, 0xd9, 0x15, 0x59, 0x85, 0x6e, 0xef, 0x71, 0xdf, 0x33, 0x09, 0x1e, 0x47, 0xe1, + 0xf2, 0xd3, 0xe9, 0xe0, 0x58, 0x7e, 0x29, 0x43, 0x0f, 0x7b, 0x77, 0x97, 0xe4, 0xd5, 0x1e, 0x60, + 0x7e, 0x26, 0x25, 0x20, 0x1b, 0xe5, 0xbf, 0x25, 0x18, 0x16, 0x3d, 0x48, 0x3a, 0x97, 0x40, 0x4c, + 0x80, 0x97, 0x7f, 0xb6, 0x3d, 0x3c, 0xc6, 0xd3, 0x3b, 0x12, 0x8c, 0xc5, 0x3e, 0x9e, 0xb9, 0x94, + 0x6e, 0x00, 0x2e, 0x72, 0x7e, 0xfe, 0x09, 0x90, 0x19, 0x8b, 0xdf, 0x92, 0x60, 0x6f, 0xe2, 0x2d, + 0xe2, 0x2b, 0xe9, 0x46, 0x12, 0x12, 0xc8, 0x3f, 0xf7, 0x84, 0x04, 0x18, 0xbb, 0x0f, 0x24, 0x18, + 0xe2, 0xbe, 0x7c, 0x3c, 0x9d, 0x30, 0x02, 0x0f, 0x29, 0x7f, 0xa9, 0x0d, 0x24, 0xc6, 0xca, 0xff, + 0x49, 0x90, 0x8f, 0x79, 0x75, 0x78, 0x31, 0x81, 0xb6, 0x18, 0x35, 0x3f, 0xdb, 0x36, 0x2a, 0x63, + 0xee, 0xdf, 0x25, 0xd8, 0xcd, 0xbf, 0x19, 0x7a, 0x26, 0xb5, 0xcc, 0x3e, 0xac, 0xfc, 0x5f, 0xb5, + 0x83, 0xc5, 0xb8, 0xd9, 0x80, 0x9d, 0xe1, 0x0b, 0x49, 0x49, 0x41, 0x24, 0x04, 0x9f, 0x3f, 0xd7, + 0x1a, 0x7c, 0x40, 0x11, 0xfc, 0xbb, 0x41, 0x67, 0x52, 0x69, 0x39, 0x84, 0x95, 0xa8, 0x88, 0xf8, + 0xbb, 0x3d, 0xff, 0x04, 0xbb, 0xa2, 0x77, 0x54, 0x4e, 0xa4, 0x21, 0xe9, 0xc7, 0xc8, 0x5f, 0x68, + 0x15, 0x83, 0x31, 0xf0, 0xbf, 0x12, 0x8c, 0x88, 0xb7, 0x37, 0x49, 0x74, 0x85, 0x98, 0xf9, 0xab, 0xed, 0x62, 0x06, 0xdc, 0x29, 0xe6, 0x32, 0xea, 0xc5, 0x54, 0x06, 0xc8, 0x43, 0x4d, 0x74, 0xa7, 0x14, 0x97, 0x48, 0xdd, 0x28, 0x99, 0x78, 0xb5, 0xf1, 0x4a, 0x7a, 0xb7, 0xe5, 0x12, 0x48, 0x8c, - 0x92, 0xa9, 0xef, 0x23, 0xbe, 0x26, 0xc1, 0x68, 0xdc, 0x59, 0x70, 0xa1, 0x45, 0x8d, 0xf8, 0x23, + 0x92, 0xa9, 0xef, 0x23, 0xbe, 0x2d, 0xc1, 0x68, 0xdc, 0x59, 0x70, 0xa1, 0x45, 0x8d, 0xf8, 0x23, 0xc1, 0x5c, 0xfb, 0xb8, 0xc1, 0xe8, 0xc4, 0x3d, 0x2d, 0x3a, 0x93, 0xca, 0xcd, 0x43, 0x58, 0xc9, 0xd1, 0x29, 0xee, 0x70, 0x06, 0x6b, 0x2b, 0xae, 0x9c, 0x5f, 0x48, 0xef, 0xf2, 0x61, 0xdc, 0x44, 0x6d, 0xa5, 0x29, 0xc7, 0xfb, 0x52, 0xb4, 0xf8, 0x8d, 0x5e, 0xca, 0x14, 0x2d, 0x24, 0x90, 0x36, - 0x45, 0x27, 0x3e, 0x4d, 0x92, 0xbf, 0x25, 0xc1, 0x78, 0xfc, 0x95, 0xe9, 0x74, 0xc9, 0x44, 0x80, - 0x9d, 0x5f, 0x78, 0x14, 0x6c, 0xc6, 0xe5, 0xb7, 0x25, 0x98, 0x48, 0x38, 0x3a, 0xbe, 0xdc, 0xfa, - 0x40, 0x7e, 0x47, 0xb9, 0xf6, 0x48, 0xe8, 0x8c, 0xd1, 0xaf, 0x4b, 0x90, 0x13, 0x9e, 0x1b, 0x9e, - 0x4f, 0x65, 0xf8, 0x51, 0xc4, 0xfc, 0x95, 0x36, 0x11, 0x03, 0xfa, 0x4b, 0xb8, 0x7e, 0x7a, 0x39, - 0xbd, 0xed, 0x73, 0xd0, 0x13, 0xf5, 0x97, 0xf2, 0xfa, 0xe8, 0xab, 0x12, 0xc8, 0x9c, 0x53, 0xaa, - 0x93, 0x49, 0xe5, 0x85, 0x08, 0x4a, 0xfe, 0x62, 0xcb, 0x28, 0x8c, 0x89, 0xff, 0x84, 0x81, 0xc8, - 0xf9, 0x4f, 0xd2, 0x0e, 0x27, 0x8c, 0x90, 0x3f, 0xdf, 0x22, 0x82, 0x7f, 0xd5, 0x11, 0x3d, 0x59, - 0x49, 0x5a, 0x75, 0x44, 0x30, 0x12, 0x57, 0x1d, 0xc2, 0x33, 0x0d, 0x1c, 0xef, 0xf9, 0x07, 0x1a, - 0x49, 0xf1, 0x9e, 0x8b, 0x95, 0x18, 0xef, 0x63, 0xcf, 0x24, 0xe4, 0xaf, 0x48, 0xb0, 0x47, 0x70, - 0x20, 0x71, 0x36, 0x31, 0x08, 0xf2, 0xd0, 0xf2, 0x97, 0xdb, 0x42, 0x0b, 0x30, 0x24, 0x28, 0xe5, - 0x9f, 0x4d, 0xdc, 0x6b, 0xb7, 0xc5, 0x50, 0x7c, 0x1d, 0x5c, 0xb6, 0x61, 0x7b, 0xb0, 0x1a, 0x7b, - 0x2c, 0x81, 0x5e, 0x00, 0x3a, 0x7f, 0xa6, 0x15, 0xe8, 0x40, 0x44, 0x49, 0xa8, 0xdb, 0x25, 0x89, - 0x15, 0x8f, 0x9e, 0x18, 0x51, 0xd2, 0xd5, 0xa9, 0xe4, 0x3a, 0xf4, 0x07, 0x7e, 0xe5, 0xe9, 0x68, - 0x02, 0x59, 0x3f, 0x70, 0xfe, 0x74, 0x0b, 0xc0, 0xfe, 0xf0, 0x11, 0xf9, 0xfd, 0xba, 0x99, 0x54, - 0x84, 0x9a, 0x08, 0x89, 0xe1, 0x43, 0xf4, 0xc3, 0x6b, 0xd8, 0x3c, 0x05, 0xbf, 0xba, 0x76, 0x36, - 0x15, 0xcd, 0x30, 0x5a, 0xa2, 0x79, 0xc6, 0xff, 0xd4, 0x16, 0x2e, 0x02, 0x70, 0xab, 0x84, 0x49, - 0xca, 0xe5, 0x21, 0x25, 0x16, 0x01, 0xe2, 0x4a, 0x7c, 0x38, 0xbb, 0x70, 0x0a, 0x7c, 0x49, 0xd9, - 0x25, 0x8a, 0x92, 0x98, 0x5d, 0xc4, 0xb5, 0xbc, 0xb9, 0xb5, 0x77, 0x3f, 0x98, 0x90, 0xde, 0xff, - 0x60, 0x42, 0xfa, 0xe3, 0x07, 0x13, 0xd2, 0x57, 0x3f, 0x9c, 0xd8, 0xf6, 0xfe, 0x87, 0x13, 0xdb, - 0x7e, 0xf7, 0xe1, 0xc4, 0xb6, 0x7f, 0x7f, 0xd6, 0x57, 0xdd, 0x5f, 0xf4, 0xc8, 0xdf, 0x50, 0x57, - 0xec, 0x19, 0x36, 0xd8, 0x71, 0xcd, 0xb4, 0x90, 0xff, 0x73, 0x4d, 0xd5, 0x8d, 0x99, 0x9a, 0x59, - 0x6e, 0x54, 0x91, 0xdd, 0xfc, 0x5d, 0x46, 0x7c, 0x12, 0xb0, 0x92, 0xc5, 0xbf, 0xa9, 0x78, 0xfa, - 0xef, 0x01, 0x00, 0x00, 0xff, 0xff, 0x80, 0xf5, 0x7b, 0xe9, 0x95, 0x52, 0x00, 0x00, + 0x45, 0x27, 0x3e, 0x4d, 0x92, 0xff, 0x5f, 0x82, 0xf1, 0xf8, 0x2b, 0xd3, 0xe9, 0x92, 0x89, 0x00, + 0x3b, 0xbf, 0xf0, 0x24, 0xd8, 0x8c, 0xcb, 0x6f, 0x48, 0x30, 0x91, 0x70, 0x74, 0x7c, 0xb9, 0xf5, + 0x81, 0xfc, 0x8e, 0x72, 0xed, 0x89, 0xd0, 0x19, 0xa3, 0xff, 0x23, 0x41, 0x4e, 0x78, 0x6e, 0x78, + 0x3e, 0x95, 0xe1, 0x47, 0x11, 0xf3, 0x57, 0xda, 0x44, 0x0c, 0xe8, 0x2f, 0xe1, 0xfa, 0xe9, 0xe5, + 0xf4, 0xb6, 0xcf, 0x41, 0x4f, 0xd4, 0x5f, 0xca, 0xeb, 0xa3, 0x6f, 0x49, 0x20, 0x73, 0x4e, 0xa9, + 0x4e, 0x26, 0x95, 0x17, 0x22, 0x28, 0xf9, 0x8b, 0x2d, 0xa3, 0x30, 0x26, 0xfe, 0x11, 0x06, 0x22, + 0xe7, 0x3f, 0x49, 0x3b, 0x9c, 0x30, 0x42, 0xfe, 0x7c, 0x8b, 0x08, 0xfe, 0x55, 0x47, 0xf4, 0x64, + 0x25, 0x69, 0xd5, 0x11, 0xc1, 0x48, 0x5c, 0x75, 0x08, 0xcf, 0x34, 0x70, 0xbc, 0xe7, 0x1f, 0x68, + 0x24, 0xc5, 0x7b, 0x2e, 0x56, 0x62, 0xbc, 0x8f, 0x3d, 0x93, 0x90, 0xff, 0x53, 0x82, 0x3d, 0x82, + 0x03, 0x89, 0xb3, 0x89, 0x41, 0x90, 0x87, 0x96, 0xbf, 0xdc, 0x16, 0x5a, 0x80, 0x21, 0x41, 0x29, + 0xff, 0x6c, 0xe2, 0x5e, 0xbb, 0x2d, 0x86, 0xe2, 0xeb, 0xe0, 0xb2, 0x0d, 0xdb, 0x83, 0xd5, 0xd8, + 0x63, 0x09, 0xf4, 0x02, 0xd0, 0xf9, 0x33, 0xad, 0x40, 0x07, 0x22, 0x4a, 0x42, 0xdd, 0x2e, 0x49, + 0xac, 0x78, 0xf4, 0xc4, 0x88, 0x92, 0xae, 0x4e, 0x25, 0xd7, 0xa1, 0x3f, 0xf0, 0x2b, 0x4f, 0x47, + 0x13, 0xc8, 0xfa, 0x81, 0xf3, 0xa7, 0x5b, 0x00, 0xf6, 0x87, 0x8f, 0xc8, 0xef, 0xd7, 0xcd, 0xa4, + 0x22, 0xd4, 0x44, 0x48, 0x0c, 0x1f, 0xa2, 0x1f, 0x5e, 0xc3, 0xe6, 0x29, 0xf8, 0xd5, 0xb5, 0xb3, + 0xa9, 0x68, 0x86, 0xd1, 0x12, 0xcd, 0x33, 0xfe, 0xa7, 0xb6, 0x70, 0x11, 0x80, 0x5b, 0x25, 0x4c, + 0x52, 0x2e, 0x0f, 0x29, 0xb1, 0x08, 0x10, 0x57, 0xe2, 0xc3, 0xd9, 0x85, 0x53, 0xe0, 0x4b, 0xca, + 0x2e, 0x51, 0x94, 0xc4, 0xec, 0x22, 0xae, 0xe5, 0xe5, 0xbb, 0xde, 0xfc, 0xf4, 0xe1, 0x11, 0x69, + 0x6e, 0xed, 0xc3, 0x8f, 0x27, 0xa4, 0x47, 0x1f, 0x4f, 0x48, 0xbf, 0xfd, 0x78, 0x42, 0xfa, 0xaf, + 0x4f, 0x26, 0xb6, 0x3d, 0xfa, 0x64, 0x62, 0xdb, 0xaf, 0x3e, 0x99, 0xd8, 0xf6, 0xf7, 0x2f, 0xfa, + 0x8a, 0xfc, 0x8b, 0xde, 0x28, 0x37, 0xd4, 0x15, 0x7b, 0x86, 0x8d, 0x79, 0x5c, 0x33, 0x2d, 0xe4, + 0xff, 0x5c, 0x53, 0x75, 0x63, 0xa6, 0x66, 0x96, 0x1b, 0x55, 0x64, 0x37, 0x7f, 0x9e, 0x11, 0x1f, + 0x08, 0xac, 0x64, 0xf1, 0x4f, 0x2b, 0x9e, 0xfe, 0x73, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5c, 0x05, + 0xa8, 0x24, 0x9c, 0x52, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/insurance/types/tx.pb.go b/chain/insurance/types/tx.pb.go index 0f1e3c31..f35a9e93 100644 --- a/chain/insurance/types/tx.pb.go +++ b/chain/insurance/types/tx.pb.go @@ -394,56 +394,56 @@ func init() { } var fileDescriptor_7e1fa941c3fd0dc4 = []byte{ - // 771 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x4f, 0x4f, 0xdb, 0x48, - 0x14, 0x8f, 0x37, 0x6c, 0x80, 0x81, 0x05, 0xe1, 0x65, 0x89, 0x13, 0x56, 0x4e, 0x36, 0xcb, 0x4a, - 0x11, 0x0b, 0xb6, 0x12, 0x56, 0x6c, 0x49, 0x4f, 0x04, 0x5a, 0x15, 0xa9, 0x11, 0x6d, 0xda, 0x5e, - 0x7a, 0x89, 0x26, 0xf6, 0xc8, 0x4c, 0x89, 0x3d, 0xc6, 0x33, 0xa6, 0xe4, 0xd8, 0x5e, 0x5a, 0xf5, - 0xc4, 0x47, 0xe0, 0x23, 0x70, 0xe8, 0xa9, 0xea, 0x07, 0xe0, 0x88, 0x7a, 0xea, 0xa9, 0xaa, 0xe0, - 0x40, 0xbf, 0x40, 0xef, 0x95, 0x3d, 0x63, 0x3b, 0x29, 0xe1, 0xef, 0x25, 0xf1, 0x7b, 0xef, 0xf7, - 0x7e, 0xf3, 0xfb, 0xcd, 0x1b, 0x8f, 0xc1, 0x1c, 0x76, 0x5e, 0x20, 0x83, 0xe1, 0x5d, 0xa4, 0x63, - 0x87, 0xfa, 0x1e, 0x74, 0x0c, 0xa4, 0xef, 0x56, 0xda, 0x88, 0xc1, 0x8a, 0xce, 0xf6, 0x34, 0xd7, - 0x23, 0x8c, 0xc8, 0xb3, 0x31, 0x4a, 0x8b, 0x51, 0x9a, 0x40, 0xe5, 0xa7, 0x2d, 0x62, 0x91, 0x10, - 0xa7, 0x07, 0x4f, 0xbc, 0x25, 0xaf, 0x1a, 0x84, 0xda, 0x84, 0xea, 0x6d, 0x48, 0x13, 0x42, 0x83, - 0x60, 0x47, 0xd4, 0xb3, 0xa2, 0x6e, 0x53, 0x4b, 0xdf, 0xad, 0x04, 0x7f, 0xa2, 0x90, 0xe3, 0x85, - 0x16, 0x67, 0xe4, 0x81, 0x28, 0xfd, 0x7b, 0x99, 0xd8, 0x44, 0x18, 0x07, 0xff, 0x93, 0x80, 0x89, - 0x07, 0x8d, 0x4e, 0x82, 0xe4, 0xa1, 0x80, 0x4d, 0x41, 0x1b, 0x3b, 0x44, 0x0f, 0x7f, 0x79, 0xaa, - 0xb4, 0x9f, 0x06, 0x33, 0x0d, 0x6a, 0xad, 0x79, 0x08, 0x32, 0xb4, 0x11, 0xd1, 0xde, 0xf7, 0x1d, - 0x53, 0x9e, 0x01, 0x19, 0x8a, 0x1c, 0x13, 0x79, 0x8a, 0x54, 0x94, 0xca, 0xa3, 0x4d, 0x11, 0x05, - 0x79, 0x86, 0x8d, 0x6d, 0xe4, 0x29, 0xbf, 0xf0, 0x3c, 0x8f, 0xe4, 0x02, 0x18, 0xdb, 0xf1, 0x09, - 0x43, 0x2d, 0x13, 0x39, 0xc4, 0x56, 0xd2, 0x61, 0x11, 0x84, 0xa9, 0xf5, 0x20, 0x13, 0x00, 0xb8, - 0x9c, 0x56, 0xb0, 0x51, 0xca, 0x10, 0x07, 0xf0, 0x54, 0x1d, 0x52, 0x24, 0xff, 0x05, 0xc6, 0x05, - 0x20, 0xec, 0x52, 0x7e, 0x0d, 0x11, 0xa2, 0xe9, 0x71, 0x90, 0x92, 0xef, 0xc5, 0x1c, 0xac, 0xeb, - 0x22, 0x25, 0x53, 0x94, 0xca, 0x13, 0xd5, 0x39, 0x2d, 0x99, 0x99, 0x30, 0x2c, 0xfc, 0x6b, 0x9b, - 0x61, 0xf8, 0xb4, 0xeb, 0xa2, 0x68, 0xa5, 0xe0, 0x39, 0xf0, 0x80, 0xf6, 0x5c, 0xec, 0x75, 0x95, - 0xe1, 0xa2, 0x54, 0x4e, 0x37, 0x45, 0x24, 0x3f, 0x00, 0x93, 0xd8, 0xc1, 0x0c, 0xc3, 0x4e, 0xcb, - 0x44, 0x2e, 0xa1, 0x98, 0x29, 0x23, 0x45, 0xa9, 0x3c, 0x56, 0xcd, 0x69, 0x62, 0x3a, 0x81, 0xf4, - 0x98, 0x7d, 0x8d, 0x60, 0xa7, 0x3e, 0x74, 0xf4, 0xa5, 0x90, 0x6a, 0x4e, 0x88, 0xbe, 0x75, 0xde, - 0x56, 0xbb, 0xf3, 0xf6, 0xa0, 0x90, 0xfa, 0x76, 0x50, 0x48, 0xbd, 0x3e, 0x3b, 0x9c, 0x17, 0x5b, - 0xf7, 0xee, 0xec, 0x70, 0xbe, 0x98, 0x4c, 0x73, 0xf0, 0xbe, 0x97, 0x8a, 0x40, 0x1d, 0x5c, 0x69, - 0x22, 0xea, 0x12, 0x87, 0xa2, 0xd2, 0xa1, 0x04, 0x7e, 0x6b, 0x50, 0xeb, 0x59, 0xc0, 0xf9, 0xd2, - 0xc3, 0x0c, 0x5d, 0x38, 0xab, 0x59, 0x30, 0x6a, 0x43, 0x6f, 0x1b, 0xb1, 0x16, 0x36, 0xc5, 0xb8, - 0x46, 0x78, 0x62, 0xc3, 0x94, 0x57, 0xc0, 0x70, 0x64, 0x32, 0x7d, 0x3d, 0x93, 0x11, 0xbe, 0xa6, - 0x5f, 0xe0, 0x2e, 0xdb, 0xe7, 0x2e, 0x11, 0x58, 0xca, 0x82, 0x3f, 0xfa, 0x12, 0xb1, 0x97, 0x8f, - 0x12, 0x98, 0x6e, 0x50, 0xab, 0x89, 0x76, 0x7c, 0x44, 0x59, 0x13, 0x99, 0xc8, 0x76, 0x19, 0x26, - 0xce, 0xed, 0x2c, 0xfd, 0x0f, 0x32, 0xd0, 0x26, 0xbe, 0x73, 0x6d, 0x47, 0x02, 0x5e, 0x5b, 0xbe, - 0xc0, 0x90, 0xda, 0x67, 0xe8, 0x9c, 0xca, 0x92, 0x0a, 0xfe, 0x1c, 0x94, 0x8f, 0xed, 0x7d, 0x90, - 0xc0, 0x64, 0x60, 0xdc, 0x35, 0x21, 0x43, 0x8f, 0xa0, 0x07, 0x6d, 0x2a, 0x2f, 0x83, 0x51, 0xe8, - 0xb3, 0x2d, 0xe2, 0x61, 0xd6, 0xe5, 0xe6, 0xea, 0xca, 0xa7, 0xf7, 0x8b, 0xd3, 0x42, 0xea, 0xaa, - 0x69, 0x7a, 0x88, 0xd2, 0x27, 0xcc, 0xc3, 0x8e, 0xd5, 0x4c, 0xa0, 0xf2, 0x2a, 0xc8, 0xb8, 0x21, - 0x43, 0x68, 0x7b, 0xac, 0xfa, 0xb7, 0x76, 0xc9, 0x55, 0xa5, 0xf1, 0xc5, 0x22, 0x9b, 0xbc, 0xb1, - 0xb6, 0x10, 0xd8, 0x4b, 0x28, 0x03, 0x87, 0xb9, 0xfe, 0x91, 0xf5, 0x08, 0x2d, 0xe5, 0x40, 0xf6, - 0xa7, 0x54, 0xe4, 0xab, 0xfa, 0x3d, 0x0d, 0xd2, 0x0d, 0x6a, 0xc9, 0x6f, 0x24, 0xf0, 0xfb, 0xa0, - 0xcb, 0x63, 0xe9, 0x52, 0x6d, 0x83, 0xcf, 0x77, 0xfe, 0xee, 0x2d, 0x9a, 0x22, 0x45, 0x72, 0x07, - 0x80, 0x9e, 0x17, 0x62, 0xfe, 0x2a, 0xaa, 0x04, 0x9b, 0xaf, 0x5e, 0x1f, 0x1b, 0xaf, 0xf6, 0x4a, - 0x02, 0x53, 0xe7, 0xcf, 0x6c, 0xe5, 0x2a, 0xa6, 0x73, 0x2d, 0xf9, 0x95, 0x1b, 0xb7, 0xc4, 0x1a, - 0x3c, 0x30, 0xde, 0x77, 0xae, 0x16, 0xae, 0xf4, 0xd1, 0x83, 0xce, 0xff, 0x77, 0x13, 0x74, 0xb4, - 0x66, 0x1d, 0x1f, 0x9d, 0xa8, 0xd2, 0xf1, 0x89, 0x2a, 0x7d, 0x3d, 0x51, 0xa5, 0xfd, 0x53, 0x35, - 0x75, 0x7c, 0xaa, 0xa6, 0x3e, 0x9f, 0xaa, 0xa9, 0xe7, 0x9b, 0x16, 0x66, 0x5b, 0x7e, 0x5b, 0x33, - 0x88, 0xad, 0x6f, 0x44, 0xcc, 0x0f, 0x61, 0x9b, 0xea, 0xf1, 0x3a, 0x8b, 0x06, 0xf1, 0x50, 0x6f, - 0xb8, 0x05, 0xb1, 0xa3, 0xdb, 0xc4, 0xf4, 0x3b, 0x88, 0xf6, 0x7c, 0xe6, 0x82, 0xab, 0x9d, 0xb6, - 0x33, 0xe1, 0x17, 0x6a, 0xe9, 0x47, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc4, 0x1c, 0x9e, 0x97, 0xb7, - 0x07, 0x00, 0x00, + // 779 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x4f, 0x4f, 0xe3, 0x46, + 0x14, 0x8f, 0x1b, 0x08, 0x30, 0x50, 0x10, 0x2e, 0x25, 0x4e, 0xa8, 0x9c, 0x34, 0xa5, 0x52, 0x94, + 0x82, 0xad, 0x84, 0x8a, 0x96, 0xf4, 0x44, 0xa0, 0x55, 0x91, 0x1a, 0xd1, 0xa6, 0xed, 0xa5, 0x97, + 0x68, 0x62, 0x8f, 0xcc, 0x94, 0xd8, 0x63, 0x3c, 0x63, 0x96, 0xdc, 0x76, 0xf7, 0xb2, 0xab, 0x3d, + 0xf1, 0x11, 0xf8, 0x08, 0x39, 0xec, 0x69, 0xb5, 0x1f, 0x80, 0x23, 0xda, 0xd3, 0x9e, 0x56, 0x2b, + 0x38, 0xb0, 0x1f, 0x62, 0x0f, 0x2b, 0x7b, 0xc6, 0x76, 0xb2, 0x84, 0xbf, 0x17, 0xf0, 0xfb, 0xbd, + 0xdf, 0x7b, 0xef, 0xf7, 0xf3, 0x9b, 0x8c, 0xc1, 0x32, 0x76, 0xfe, 0x47, 0x06, 0xc3, 0x87, 0x48, + 0xc7, 0x0e, 0xf5, 0x3d, 0xe8, 0x18, 0x48, 0x3f, 0xac, 0x76, 0x10, 0x83, 0x55, 0x9d, 0x1d, 0x69, + 0xae, 0x47, 0x18, 0x91, 0x97, 0x62, 0x96, 0x16, 0xb3, 0x34, 0xc1, 0xca, 0x2f, 0x58, 0xc4, 0x22, + 0x21, 0x4f, 0x0f, 0x9e, 0x78, 0x49, 0x5e, 0x35, 0x08, 0xb5, 0x09, 0xd5, 0x3b, 0x90, 0x26, 0x0d, + 0x0d, 0x82, 0x1d, 0x91, 0xcf, 0x8a, 0xbc, 0x4d, 0x2d, 0xfd, 0xb0, 0x1a, 0xfc, 0x13, 0x89, 0x1c, + 0x4f, 0xb4, 0x79, 0x47, 0x1e, 0x88, 0xd4, 0x0f, 0x37, 0x89, 0x4d, 0x84, 0x71, 0xf2, 0xf7, 0x09, + 0x99, 0x78, 0xd0, 0xe8, 0x26, 0x4c, 0x1e, 0x0a, 0xda, 0x3c, 0xb4, 0xb1, 0x43, 0xf4, 0xf0, 0x2f, + 0x87, 0x4a, 0xc7, 0x69, 0xb0, 0xd8, 0xa4, 0xd6, 0x96, 0x87, 0x20, 0x43, 0x3b, 0x51, 0xdb, 0xdf, + 0x7c, 0xc7, 0x94, 0x17, 0x41, 0x86, 0x22, 0xc7, 0x44, 0x9e, 0x22, 0x15, 0xa5, 0xf2, 0x54, 0x4b, + 0x44, 0x01, 0xce, 0xb0, 0xb1, 0x8f, 0x3c, 0xe5, 0x0b, 0x8e, 0xf3, 0x48, 0x2e, 0x80, 0xe9, 0x03, + 0x9f, 0x30, 0xd4, 0x36, 0x91, 0x43, 0x6c, 0x25, 0x1d, 0x26, 0x41, 0x08, 0x6d, 0x07, 0x48, 0x40, + 0xe0, 0x72, 0xda, 0xc1, 0x8b, 0x52, 0xc6, 0x38, 0x81, 0x43, 0x0d, 0x48, 0x91, 0xfc, 0x2d, 0x98, + 0x11, 0x84, 0xb0, 0x4a, 0x19, 0x0f, 0x19, 0xa2, 0xe8, 0xaf, 0x00, 0x92, 0x7f, 0x8d, 0x7b, 0xb0, + 0x9e, 0x8b, 0x94, 0x4c, 0x51, 0x2a, 0xcf, 0xd6, 0x96, 0xb5, 0x64, 0x67, 0xc2, 0xb0, 0xf0, 0xaf, + 0xed, 0x86, 0xe1, 0x3f, 0x3d, 0x17, 0x45, 0x93, 0x82, 0xe7, 0xc0, 0x03, 0x3a, 0x72, 0xb1, 0xd7, + 0x53, 0x26, 0x8a, 0x52, 0x39, 0xdd, 0x12, 0x91, 0xfc, 0x3b, 0x98, 0xc3, 0x0e, 0x66, 0x18, 0x76, + 0xdb, 0x26, 0x72, 0x09, 0xc5, 0x4c, 0x99, 0x2c, 0x4a, 0xe5, 0xe9, 0x5a, 0x4e, 0x13, 0xdb, 0x09, + 0xa4, 0xc7, 0xdd, 0xb7, 0x08, 0x76, 0x1a, 0x63, 0xa7, 0xef, 0x0a, 0xa9, 0xd6, 0xac, 0xa8, 0xdb, + 0xe6, 0x65, 0xf5, 0x9f, 0x9f, 0x9f, 0x14, 0x52, 0x1f, 0x4e, 0x0a, 0xa9, 0xa7, 0x97, 0xfd, 0x8a, + 0x78, 0x75, 0x2f, 0x2e, 0xfb, 0x95, 0x62, 0xb2, 0xcd, 0xd1, 0xef, 0xbd, 0x54, 0x04, 0xea, 0xe8, + 0x4c, 0x0b, 0x51, 0x97, 0x38, 0x14, 0x95, 0xfa, 0x12, 0xf8, 0xb2, 0x49, 0xad, 0x7f, 0x83, 0x9e, + 0x8f, 0x3c, 0xcc, 0xd0, 0xb5, 0xbb, 0x5a, 0x02, 0x53, 0x36, 0xf4, 0xf6, 0x11, 0x6b, 0x63, 0x53, + 0xac, 0x6b, 0x92, 0x03, 0x3b, 0xa6, 0xbc, 0x01, 0x26, 0x22, 0x93, 0xe9, 0xbb, 0x99, 0x8c, 0xf8, + 0x75, 0xfd, 0x1a, 0x77, 0xd9, 0x21, 0x77, 0x89, 0xc0, 0x52, 0x16, 0x7c, 0x3d, 0x04, 0xc4, 0x5e, + 0x5e, 0x4b, 0x60, 0xa1, 0x49, 0xad, 0x16, 0x3a, 0xf0, 0x11, 0x65, 0x2d, 0x64, 0x22, 0xdb, 0x65, + 0x98, 0x38, 0x0f, 0xb3, 0xf4, 0x13, 0xc8, 0x40, 0x9b, 0xf8, 0xce, 0x9d, 0x1d, 0x09, 0x7a, 0x7d, + 0xfd, 0x1a, 0x43, 0xea, 0x90, 0xa1, 0x2b, 0x2a, 0x4b, 0x2a, 0xf8, 0x66, 0x14, 0x1e, 0xdb, 0x7b, + 0x25, 0x81, 0xb9, 0xc0, 0xb8, 0x6b, 0x42, 0x86, 0xfe, 0x84, 0x1e, 0xb4, 0xa9, 0xbc, 0x0e, 0xa6, + 0xa0, 0xcf, 0xf6, 0x88, 0x87, 0x59, 0x8f, 0x9b, 0x6b, 0x28, 0x6f, 0x5e, 0xae, 0x2e, 0x08, 0xa9, + 0x9b, 0xa6, 0xe9, 0x21, 0x4a, 0xff, 0x66, 0x1e, 0x76, 0xac, 0x56, 0x42, 0x95, 0x37, 0x41, 0xc6, + 0x0d, 0x3b, 0x84, 0xb6, 0xa7, 0x6b, 0xdf, 0x69, 0x37, 0x5c, 0x55, 0x1a, 0x1f, 0x16, 0xd9, 0xe4, + 0x85, 0xf5, 0x95, 0xc0, 0x5e, 0xd2, 0x32, 0x70, 0x98, 0x1b, 0x5e, 0xd9, 0x80, 0xd0, 0x52, 0x0e, + 0x64, 0x3f, 0x83, 0x22, 0x5f, 0xb5, 0x8f, 0x69, 0x90, 0x6e, 0x52, 0x4b, 0x7e, 0x26, 0x81, 0xaf, + 0x46, 0x5d, 0x1e, 0x6b, 0x37, 0x6a, 0x1b, 0x7d, 0xbe, 0xf3, 0xbf, 0x3c, 0xa0, 0x28, 0x52, 0x24, + 0x77, 0x01, 0x18, 0xf8, 0x41, 0x54, 0x6e, 0x6b, 0x95, 0x70, 0xf3, 0xb5, 0xbb, 0x73, 0xe3, 0x69, + 0x4f, 0x24, 0x30, 0x7f, 0xf5, 0xcc, 0x56, 0x6f, 0xeb, 0x74, 0xa5, 0x24, 0xbf, 0x71, 0xef, 0x92, + 0x58, 0x83, 0x07, 0x66, 0x86, 0xce, 0xd5, 0xca, 0xad, 0x3e, 0x06, 0xd8, 0xf9, 0x1f, 0xef, 0xc3, + 0x8e, 0x66, 0xe6, 0xc7, 0x1f, 0x5f, 0xf6, 0x2b, 0x52, 0x03, 0x9f, 0x9e, 0xab, 0xd2, 0xd9, 0xb9, + 0x2a, 0xbd, 0x3f, 0x57, 0xa5, 0xe3, 0x0b, 0x35, 0x75, 0x76, 0xa1, 0xa6, 0xde, 0x5e, 0xa8, 0xa9, + 0xff, 0x76, 0x2d, 0xcc, 0xf6, 0xfc, 0x8e, 0x66, 0x10, 0x5b, 0xdf, 0x89, 0x06, 0xfc, 0x01, 0x3b, + 0x54, 0x8f, 0xc7, 0xad, 0x1a, 0xc4, 0x43, 0x83, 0xe1, 0x1e, 0xc4, 0x8e, 0x6e, 0x13, 0xd3, 0xef, + 0x22, 0x3a, 0xf0, 0xb5, 0x0b, 0x6e, 0x78, 0xda, 0xc9, 0x84, 0x1f, 0xaa, 0xb5, 0x4f, 0x01, 0x00, + 0x00, 0xff, 0xff, 0x5f, 0x13, 0xc4, 0xc0, 0xbe, 0x07, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/ocr/types/tx.pb.go b/chain/ocr/types/tx.pb.go index fc7d7b38..82284d8a 100644 --- a/chain/ocr/types/tx.pb.go +++ b/chain/ocr/types/tx.pb.go @@ -777,81 +777,82 @@ func init() { func init() { proto.RegisterFile("injective/ocr/v1beta1/tx.proto", fileDescriptor_570bfdb24a1374f8) } var fileDescriptor_570bfdb24a1374f8 = []byte{ - // 1177 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xcd, 0x6f, 0x1b, 0x45, - 0x14, 0xf7, 0xd6, 0xa9, 0x13, 0xbf, 0xb8, 0x2a, 0xdd, 0x38, 0x89, 0xb3, 0x6a, 0x6c, 0x77, 0x83, - 0x2a, 0x37, 0x6d, 0xed, 0x26, 0xa1, 0x7c, 0x98, 0x53, 0x92, 0xaa, 0x22, 0x12, 0x56, 0xc3, 0x16, - 0x84, 0x54, 0x09, 0x99, 0xf5, 0xee, 0x64, 0xbd, 0x34, 0xde, 0x59, 0xcd, 0x8c, 0xd3, 0xe4, 0x8a, - 0x38, 0x20, 0x24, 0x24, 0xce, 0x9c, 0x7a, 0xe1, 0x8a, 0x72, 0xa8, 0xc4, 0x05, 0xee, 0x39, 0x56, - 0x48, 0x48, 0x88, 0x43, 0x84, 0x92, 0x43, 0xf9, 0x33, 0xd0, 0xcc, 0x8e, 0xc7, 0xeb, 0x8f, 0xcd, - 0x87, 0x38, 0x70, 0x49, 0xfc, 0xde, 0xfb, 0xbd, 0x8f, 0xdf, 0x7b, 0x33, 0x6f, 0x6c, 0x28, 0xfa, - 0xc1, 0x57, 0xc8, 0x61, 0xfe, 0x1e, 0xaa, 0x61, 0x87, 0xd4, 0xf6, 0x56, 0x5a, 0x88, 0xd9, 0x2b, - 0x35, 0xb6, 0x5f, 0x0d, 0x09, 0x66, 0x58, 0x9f, 0x55, 0xf6, 0x2a, 0x76, 0x48, 0x55, 0xda, 0x8d, - 0xa2, 0x83, 0x69, 0x07, 0xd3, 0x5a, 0xcb, 0xa6, 0x48, 0x39, 0x39, 0xd8, 0x0f, 0x22, 0x37, 0x63, - 0x5e, 0xda, 0x3b, 0xd4, 0xab, 0xed, 0xad, 0xf0, 0x7f, 0xd2, 0x90, 0xf7, 0xb0, 0x87, 0xc5, 0xc7, - 0x1a, 0xff, 0x24, 0xb5, 0xa5, 0xf1, 0x55, 0xf0, 0x8c, 0x11, 0x60, 0x21, 0x8a, 0xd7, 0x8c, 0x3c, - 0x23, 0x41, 0x9a, 0x6e, 0xd8, 0x1d, 0x3f, 0xc0, 0x35, 0xf1, 0x37, 0x52, 0x99, 0xdf, 0x6b, 0x70, - 0xad, 0x41, 0xbd, 0x4d, 0x82, 0x6c, 0x86, 0x1e, 0x23, 0xe4, 0xea, 0x73, 0x90, 0xa1, 0x28, 0x70, - 0x11, 0x29, 0x68, 0x65, 0xad, 0x92, 0xb5, 0xa4, 0xa4, 0x7f, 0x00, 0x19, 0x07, 0x07, 0x3b, 0xbe, - 0x57, 0xb8, 0x52, 0xd6, 0x2a, 0xd3, 0xab, 0xb7, 0xaa, 0x63, 0xf9, 0x56, 0x79, 0x90, 0x4d, 0x01, - 0xb4, 0xa4, 0x43, 0xfd, 0xce, 0xb7, 0x2f, 0x4b, 0xa9, 0x7f, 0x5e, 0x96, 0x52, 0x5f, 0xbf, 0x39, - 0x5c, 0x96, 0xf1, 0xbe, 0x7b, 0x73, 0xb8, 0x7c, 0x83, 0x33, 0x18, 0xc8, 0x6e, 0xce, 0xc3, 0xec, - 0x80, 0xc2, 0x42, 0x34, 0xc4, 0x01, 0x45, 0xe6, 0x61, 0x5a, 0x14, 0xfa, 0x59, 0xe8, 0x9e, 0x57, - 0xe8, 0x3c, 0x4c, 0xee, 0x20, 0xe4, 0x36, 0x7d, 0x57, 0x54, 0x9a, 0xb5, 0x32, 0x5c, 0xdc, 0x72, - 0xf5, 0x02, 0x4c, 0x52, 0xdf, 0x0b, 0x10, 0xa1, 0x85, 0x74, 0x39, 0x5d, 0xc9, 0x5a, 0x3d, 0x51, - 0x37, 0x21, 0xc7, 0x88, 0x1d, 0xd0, 0x8e, 0xcf, 0x18, 0x37, 0x4f, 0x08, 0xf3, 0x80, 0x4e, 0x7f, - 0x02, 0xf9, 0x5d, 0x3f, 0x78, 0xde, 0x0c, 0x11, 0x69, 0xe2, 0x16, 0x45, 0x64, 0xcf, 0x66, 0x3e, - 0x0e, 0x0a, 0x57, 0x79, 0x8e, 0x8d, 0xc5, 0xa3, 0xe3, 0x92, 0xf6, 0xd7, 0x71, 0x69, 0x36, 0x6a, - 0x38, 0x75, 0x9f, 0x57, 0x7d, 0x5c, 0xeb, 0xd8, 0xac, 0x5d, 0xdd, 0x0a, 0x98, 0xa5, 0x73, 0xd7, - 0x6d, 0x44, 0x9e, 0xf4, 0x1d, 0xf5, 0x4f, 0x60, 0x56, 0x05, 0x94, 0x99, 0x28, 0xe5, 0x11, 0x33, - 0x17, 0x89, 0x38, 0x23, 0x23, 0x7e, 0x1a, 0xf3, 0xd4, 0x17, 0x01, 0x44, 0x48, 0x17, 0x05, 0xb8, - 0x53, 0x98, 0x14, 0xec, 0xb3, 0x5c, 0xf3, 0x88, 0x2b, 0xb8, 0x59, 0x74, 0xc6, 0x76, 0x3b, 0x7e, - 0x50, 0x98, 0x8a, 0xcc, 0x5c, 0xb3, 0xce, 0x15, 0xfa, 0x12, 0x5c, 0x6b, 0xf9, 0xbb, 0xbb, 0x7e, - 0xe0, 0x49, 0x44, 0x56, 0x20, 0x72, 0x52, 0x29, 0x40, 0xe7, 0xce, 0xb2, 0x3f, 0x20, 0x39, 0xcb, - 0xbe, 0x42, 0xcd, 0xf2, 0xb7, 0x2b, 0x30, 0xdd, 0xa0, 0x9e, 0x2c, 0x9d, 0xe9, 0x65, 0x98, 0x8e, - 0xb5, 0x5a, 0x8e, 0x33, 0xae, 0xe2, 0xa5, 0x45, 0x67, 0xa9, 0xe9, 0xfa, 0x1e, 0xa2, 0x4c, 0x4c, - 0x36, 0x67, 0xe5, 0x22, 0xe5, 0x23, 0xa1, 0x8b, 0x0f, 0x3e, 0x3d, 0x30, 0xf8, 0x3c, 0x5c, 0x45, - 0x21, 0x76, 0xda, 0x85, 0x89, 0xb2, 0x56, 0x99, 0xb0, 0x22, 0x81, 0x6b, 0x09, 0xee, 0x06, 0xae, - 0x98, 0xe0, 0x84, 0x15, 0x09, 0xbc, 0x47, 0x68, 0x9f, 0x11, 0xbb, 0xd9, 0xb6, 0x69, 0x5b, 0x8c, - 0x22, 0x67, 0x65, 0x85, 0xe6, 0x23, 0x9b, 0xb6, 0xf5, 0x87, 0x90, 0x21, 0x28, 0xc4, 0x84, 0x89, - 0xee, 0x4e, 0xaf, 0x2e, 0x26, 0xdc, 0x02, 0x4b, 0x80, 0x2c, 0x09, 0xd6, 0x8b, 0x00, 0xfc, 0xac, - 0xd9, 0xac, 0x4b, 0x10, 0x2d, 0x4c, 0x95, 0xd3, 0x95, 0x9c, 0x15, 0xd3, 0xd4, 0xef, 0xc5, 0xbb, - 0x1a, 0x67, 0xce, 0x5b, 0x7b, 0x5d, 0xb6, 0xb6, 0xd7, 0x2f, 0x73, 0x16, 0x66, 0x62, 0xa2, 0x6a, - 0xeb, 0x2b, 0x4d, 0x34, 0xfc, 0x71, 0x37, 0x70, 0xa3, 0x76, 0xbf, 0xb0, 0x89, 0xbb, 0x8d, 0xf1, - 0xee, 0xe5, 0xaf, 0xca, 0x7b, 0x90, 0xb1, 0x3b, 0xb8, 0x1b, 0x30, 0xd1, 0xc9, 0xe9, 0xd5, 0x85, - 0xaa, 0x5c, 0x24, 0x7c, 0x8b, 0x29, 0x92, 0x9b, 0xd8, 0x0f, 0x36, 0x26, 0x8e, 0x8e, 0x4b, 0x29, - 0x4b, 0xc2, 0xeb, 0x2b, 0x09, 0xc7, 0x63, 0x41, 0x72, 0x18, 0x2d, 0xce, 0x2c, 0xc1, 0xe2, 0x58, - 0x83, 0xe2, 0xf5, 0xab, 0x06, 0x0b, 0x0d, 0xea, 0x7d, 0xee, 0xb3, 0xb6, 0x4b, 0xec, 0x17, 0xff, - 0x1b, 0xb7, 0x87, 0x09, 0xdc, 0x16, 0x25, 0xb7, 0xf1, 0x05, 0x9a, 0x4b, 0x70, 0x2b, 0xd1, 0xa8, - 0x38, 0xfe, 0xa4, 0x41, 0xae, 0x41, 0xbd, 0xa7, 0x88, 0x6d, 0xdb, 0x07, 0x08, 0xd1, 0xcb, 0xd3, - 0x1a, 0xde, 0x61, 0xe9, 0x31, 0x3b, 0x6c, 0x0e, 0x32, 0xa1, 0x08, 0x2f, 0x37, 0x9c, 0x94, 0xea, - 0x95, 0x04, 0x66, 0x6f, 0x49, 0x66, 0xaa, 0x2c, 0x73, 0x0e, 0xf2, 0x71, 0x59, 0xd5, 0xff, 0x8b, - 0x26, 0x0c, 0xe2, 0x4c, 0xee, 0x20, 0x12, 0x59, 0xdb, 0x7e, 0x98, 0xc8, 0x63, 0xe8, 0xce, 0x5f, - 0x19, 0xbd, 0xf3, 0x89, 0xd7, 0xd9, 0x80, 0xa9, 0x90, 0xe0, 0x10, 0x53, 0xe4, 0x8a, 0x1b, 0x9d, - 0xb5, 0x94, 0x5c, 0x7f, 0x90, 0xc0, 0xa4, 0x10, 0xbf, 0x43, 0xf1, 0x02, 0xcd, 0x22, 0xdc, 0x1c, - 0xa7, 0x57, 0xcc, 0x7e, 0xd4, 0x40, 0x6f, 0x50, 0x6f, 0xdd, 0x71, 0x50, 0xc8, 0xfa, 0xbc, 0xf2, - 0x70, 0x55, 0x34, 0x4f, 0xd2, 0x8a, 0x84, 0xff, 0xc0, 0xaa, 0xbe, 0x76, 0xd6, 0x0a, 0x98, 0x93, - 0xe5, 0x0f, 0x55, 0x61, 0xde, 0x04, 0x63, 0x54, 0xab, 0x4a, 0xff, 0x59, 0x83, 0xeb, 0x6a, 0x03, - 0x6f, 0xdb, 0xc4, 0xee, 0x50, 0xfd, 0x5d, 0xc8, 0xda, 0x5d, 0xd6, 0xc6, 0xc4, 0x67, 0x07, 0x51, - 0xed, 0x1b, 0x85, 0xdf, 0x5f, 0xdd, 0xcf, 0xcb, 0x3b, 0xb0, 0xee, 0xba, 0x04, 0x51, 0xfa, 0x94, - 0x11, 0x3f, 0xf0, 0xac, 0x3e, 0x54, 0xff, 0x90, 0x1f, 0x1d, 0x1e, 0x41, 0x3e, 0xff, 0x49, 0x8b, - 0x2f, 0x4a, 0xd3, 0xbb, 0x39, 0x91, 0x4b, 0xfd, 0x36, 0xe7, 0xd4, 0x0f, 0xc6, 0x19, 0xcd, 0x0c, - 0xbc, 0x17, 0x91, 0x97, 0xb9, 0x00, 0xf3, 0x43, 0xaa, 0x1e, 0x97, 0xd5, 0x3f, 0x26, 0x21, 0xdd, - 0xa0, 0x9e, 0xfe, 0x25, 0x40, 0xec, 0xcb, 0xca, 0xdb, 0x09, 0x55, 0x0c, 0x7c, 0x87, 0x30, 0xee, - 0x5d, 0x04, 0xd5, 0xcb, 0xc4, 0x33, 0xc4, 0xbe, 0x65, 0x9c, 0x91, 0xa1, 0x8f, 0x3a, 0x2b, 0xc3, - 0xe8, 0xfb, 0xa7, 0x3f, 0x83, 0x29, 0xf5, 0xf6, 0x99, 0xc9, 0x9e, 0x3d, 0x8c, 0xb1, 0x7c, 0x3e, - 0x46, 0xc5, 0xde, 0x07, 0x7d, 0xcc, 0x03, 0x70, 0x46, 0x7d, 0xa3, 0x68, 0xe3, 0x9d, 0xcb, 0xa0, - 0x55, 0xe6, 0x6f, 0x34, 0x98, 0x4b, 0xd8, 0xd1, 0x0f, 0x92, 0x03, 0x8e, 0xf7, 0x30, 0xde, 0xbf, - 0xac, 0x87, 0x2a, 0xe3, 0x0b, 0xc8, 0xf6, 0xb7, 0xe8, 0x52, 0x72, 0x18, 0x05, 0x32, 0xee, 0x5e, - 0x00, 0xa4, 0xc2, 0x77, 0xe1, 0xc6, 0xe8, 0x92, 0xbb, 0x7b, 0xce, 0x80, 0xe2, 0x60, 0x63, 0xed, - 0x12, 0x60, 0x95, 0x16, 0xc3, 0xf5, 0xe1, 0x0d, 0x74, 0x27, 0x39, 0xce, 0x10, 0xd4, 0x58, 0xb9, - 0x30, 0x54, 0x25, 0xdc, 0x81, 0xdc, 0xc0, 0xde, 0xb8, 0x7d, 0xde, 0x09, 0x8f, 0x70, 0x46, 0xf5, - 0x62, 0xb8, 0x5e, 0x9e, 0x0d, 0xe7, 0xe8, 0xa4, 0xa8, 0xbd, 0x3e, 0x29, 0x6a, 0x7f, 0x9f, 0x14, - 0xb5, 0x1f, 0x4e, 0x8b, 0xa9, 0xd7, 0xa7, 0xc5, 0xd4, 0x9f, 0xa7, 0xc5, 0xd4, 0xb3, 0x2d, 0xcf, - 0x67, 0xed, 0x6e, 0xab, 0xea, 0xe0, 0x4e, 0x6d, 0xab, 0x17, 0xf3, 0x63, 0xbb, 0x45, 0x6b, 0x2a, - 0xc3, 0x7d, 0x07, 0x13, 0x14, 0x17, 0xdb, 0xb6, 0x1f, 0xd4, 0x3a, 0xd8, 0xed, 0xee, 0x22, 0x2a, - 0x7e, 0x1f, 0xb1, 0x83, 0x10, 0xd1, 0x56, 0x46, 0xfc, 0xd8, 0x59, 0xfb, 0x37, 0x00, 0x00, 0xff, - 0xff, 0x86, 0x04, 0xae, 0x5e, 0xc3, 0x0d, 0x00, 0x00, + // 1186 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xcf, 0x6f, 0x1b, 0xc5, + 0x17, 0xf7, 0xd6, 0x89, 0x13, 0xbf, 0xb8, 0xea, 0xb7, 0x5b, 0x27, 0x71, 0x56, 0x8d, 0xed, 0x6e, + 0xbf, 0xaa, 0xdc, 0xb4, 0xb5, 0x9b, 0x84, 0xf2, 0xc3, 0x9c, 0x92, 0x54, 0x15, 0x91, 0xb0, 0x1a, + 0xb6, 0x20, 0xa4, 0x4a, 0xc8, 0xac, 0x77, 0x27, 0xeb, 0xa5, 0xf1, 0xce, 0x6a, 0x66, 0x9c, 0x26, + 0x37, 0x84, 0x38, 0x20, 0x24, 0x24, 0xce, 0x9c, 0x7a, 0xe1, 0x8a, 0x72, 0xa8, 0xc4, 0x05, 0xee, + 0x39, 0x56, 0x9c, 0x10, 0x42, 0x11, 0x4a, 0x0e, 0xe1, 0xcf, 0x40, 0x33, 0x3b, 0x1e, 0xaf, 0x7f, + 0x6c, 0x7e, 0x88, 0x03, 0x97, 0xc4, 0xef, 0xbd, 0xcf, 0xfb, 0xf1, 0x79, 0x6f, 0xe6, 0x8d, 0x0d, + 0x45, 0x3f, 0xf8, 0x02, 0x39, 0xcc, 0xdf, 0x45, 0x35, 0xec, 0x90, 0xda, 0xee, 0x72, 0x0b, 0x31, + 0x7b, 0xb9, 0xc6, 0xf6, 0xaa, 0x21, 0xc1, 0x0c, 0xeb, 0xb3, 0xca, 0x5e, 0xc5, 0x0e, 0xa9, 0x4a, + 0xbb, 0x51, 0x74, 0x30, 0xed, 0x60, 0x5a, 0x6b, 0xd9, 0x14, 0x29, 0x27, 0x07, 0xfb, 0x41, 0xe4, + 0x66, 0xcc, 0x4b, 0x7b, 0x87, 0x7a, 0xb5, 0xdd, 0x65, 0xfe, 0x4f, 0x1a, 0xf2, 0x1e, 0xf6, 0xb0, + 0xf8, 0x58, 0xe3, 0x9f, 0xa4, 0xb6, 0x34, 0xbe, 0x0a, 0x9e, 0x31, 0x02, 0x2c, 0x44, 0xf1, 0x9a, + 0x91, 0x67, 0x24, 0x48, 0xd3, 0x75, 0xbb, 0xe3, 0x07, 0xb8, 0x26, 0xfe, 0x46, 0x2a, 0xf3, 0x3b, + 0x0d, 0xae, 0x36, 0xa8, 0xb7, 0x41, 0x90, 0xcd, 0xd0, 0x13, 0x84, 0x5c, 0x7d, 0x0e, 0x32, 0x14, + 0x05, 0x2e, 0x22, 0x05, 0xad, 0xac, 0x55, 0xb2, 0x96, 0x94, 0xf4, 0xf7, 0x20, 0xe3, 0xe0, 0x60, + 0xdb, 0xf7, 0x0a, 0x57, 0xca, 0x5a, 0x65, 0x66, 0xe5, 0x56, 0x75, 0x2c, 0xdf, 0x2a, 0x0f, 0xb2, + 0x21, 0x80, 0x96, 0x74, 0xa8, 0xdf, 0xfd, 0xe6, 0x55, 0x29, 0xf5, 0xf7, 0xab, 0x52, 0xea, 0xab, + 0xd3, 0x83, 0x25, 0x19, 0xef, 0xdb, 0xd3, 0x83, 0xa5, 0xeb, 0x9c, 0xc1, 0x40, 0x76, 0x73, 0x1e, + 0x66, 0x07, 0x14, 0x16, 0xa2, 0x21, 0x0e, 0x28, 0x32, 0x0f, 0xd2, 0xa2, 0xd0, 0x4f, 0x42, 0xf7, + 0xbc, 0x42, 0xe7, 0x61, 0x6a, 0x1b, 0x21, 0xb7, 0xe9, 0xbb, 0xa2, 0xd2, 0xac, 0x95, 0xe1, 0xe2, + 0xa6, 0xab, 0x17, 0x60, 0x8a, 0xfa, 0x5e, 0x80, 0x08, 0x2d, 0xa4, 0xcb, 0xe9, 0x4a, 0xd6, 0xea, + 0x89, 0xba, 0x09, 0x39, 0x46, 0xec, 0x80, 0x76, 0x7c, 0xc6, 0xb8, 0x79, 0x42, 0x98, 0x07, 0x74, + 0xfa, 0x53, 0xc8, 0xef, 0xf8, 0xc1, 0x8b, 0x66, 0x88, 0x48, 0x13, 0xb7, 0x28, 0x22, 0xbb, 0x36, + 0xf3, 0x71, 0x50, 0x98, 0xe4, 0x39, 0xd6, 0x17, 0x0f, 0x8f, 0x4a, 0xda, 0x1f, 0x47, 0xa5, 0xd9, + 0xa8, 0xe1, 0xd4, 0x7d, 0x51, 0xf5, 0x71, 0xad, 0x63, 0xb3, 0x76, 0x75, 0x33, 0x60, 0x96, 0xce, + 0x5d, 0xb7, 0x10, 0x79, 0xda, 0x77, 0xd4, 0x3f, 0x82, 0x59, 0x15, 0x50, 0x66, 0xa2, 0x94, 0x47, + 0xcc, 0x5c, 0x24, 0xe2, 0x0d, 0x19, 0xf1, 0xe3, 0x98, 0xa7, 0xbe, 0x08, 0x20, 0x42, 0xba, 0x28, + 0xc0, 0x9d, 0xc2, 0x94, 0x60, 0x9f, 0xe5, 0x9a, 0xc7, 0x5c, 0xc1, 0xcd, 0xa2, 0x33, 0xb6, 0xdb, + 0xf1, 0x83, 0xc2, 0x74, 0x64, 0xe6, 0x9a, 0x35, 0xae, 0xd0, 0x6f, 0xc3, 0xd5, 0x96, 0xbf, 0xb3, + 0xe3, 0x07, 0x9e, 0x44, 0x64, 0x05, 0x22, 0x27, 0x95, 0x02, 0x74, 0xee, 0x2c, 0xfb, 0x03, 0x92, + 0xb3, 0xec, 0x2b, 0xd4, 0x2c, 0x7f, 0xbd, 0x02, 0x33, 0x0d, 0xea, 0xc9, 0xd2, 0x99, 0x5e, 0x86, + 0x99, 0x58, 0xab, 0xe5, 0x38, 0xe3, 0x2a, 0x5e, 0x5a, 0x74, 0x96, 0x9a, 0xae, 0xef, 0x21, 0xca, + 0xc4, 0x64, 0x73, 0x56, 0x2e, 0x52, 0x3e, 0x16, 0xba, 0xf8, 0xe0, 0xd3, 0x03, 0x83, 0xcf, 0xc3, + 0x24, 0x0a, 0xb1, 0xd3, 0x2e, 0x4c, 0x94, 0xb5, 0xca, 0x84, 0x15, 0x09, 0x5c, 0x4b, 0x70, 0x37, + 0x70, 0xc5, 0x04, 0x27, 0xac, 0x48, 0xe0, 0x3d, 0x42, 0x7b, 0x8c, 0xd8, 0xcd, 0xb6, 0x4d, 0xdb, + 0x62, 0x14, 0x39, 0x2b, 0x2b, 0x34, 0x1f, 0xd8, 0xb4, 0xad, 0x3f, 0x82, 0x0c, 0x41, 0x21, 0x26, + 0x4c, 0x74, 0x77, 0x66, 0x65, 0x31, 0xe1, 0x16, 0x58, 0x02, 0x64, 0x49, 0xb0, 0x5e, 0x04, 0xe0, + 0x67, 0xcd, 0x66, 0x5d, 0x82, 0x68, 0x61, 0xba, 0x9c, 0xae, 0xe4, 0xac, 0x98, 0xa6, 0x7e, 0x3f, + 0xde, 0xd5, 0x38, 0x73, 0xde, 0xda, 0x6b, 0xb2, 0xb5, 0xbd, 0x7e, 0x99, 0xb3, 0x70, 0x23, 0x26, + 0xaa, 0xb6, 0xbe, 0xd6, 0x44, 0xc3, 0x9f, 0x74, 0x03, 0x37, 0x6a, 0xf7, 0x4b, 0x9b, 0xb8, 0x5b, + 0x18, 0xef, 0x5c, 0xfe, 0xaa, 0xbc, 0x03, 0x19, 0xbb, 0x83, 0xbb, 0x01, 0x13, 0x9d, 0x9c, 0x59, + 0x59, 0xa8, 0xca, 0x45, 0xc2, 0xb7, 0x98, 0x22, 0xb9, 0x81, 0xfd, 0x60, 0x7d, 0xe2, 0xf0, 0xa8, + 0x94, 0xb2, 0x24, 0xbc, 0xbe, 0x9c, 0x70, 0x3c, 0x16, 0x24, 0x87, 0xd1, 0xe2, 0xcc, 0x12, 0x2c, + 0x8e, 0x35, 0x28, 0x5e, 0xbf, 0x68, 0xb0, 0xd0, 0xa0, 0xde, 0xa7, 0x3e, 0x6b, 0xbb, 0xc4, 0x7e, + 0xf9, 0x9f, 0x71, 0x7b, 0x94, 0xc0, 0x6d, 0x51, 0x72, 0x1b, 0x5f, 0xa0, 0x79, 0x1b, 0x6e, 0x25, + 0x1a, 0x15, 0xc7, 0x1f, 0x35, 0xc8, 0x35, 0xa8, 0xf7, 0x0c, 0xb1, 0x2d, 0x7b, 0x1f, 0x21, 0x7a, + 0x79, 0x5a, 0xc3, 0x3b, 0x2c, 0x3d, 0x66, 0x87, 0xcd, 0x41, 0x26, 0x14, 0xe1, 0xe5, 0x86, 0x93, + 0x52, 0xbd, 0x92, 0xc0, 0xec, 0x7f, 0x92, 0x99, 0x2a, 0xcb, 0x9c, 0x83, 0x7c, 0x5c, 0x56, 0xf5, + 0xff, 0xac, 0x09, 0x83, 0x38, 0x93, 0xdb, 0x88, 0x44, 0xd6, 0xb6, 0x1f, 0x26, 0xf2, 0x18, 0xba, + 0xf3, 0x57, 0x46, 0xef, 0x7c, 0xe2, 0x75, 0x36, 0x60, 0x3a, 0x24, 0x38, 0xc4, 0x14, 0xb9, 0xe2, + 0x46, 0x67, 0x2d, 0x25, 0xd7, 0x1f, 0x26, 0x30, 0x29, 0xc4, 0xef, 0x50, 0xbc, 0x40, 0xb3, 0x08, + 0x37, 0xc7, 0xe9, 0x15, 0xb3, 0x1f, 0x34, 0xd0, 0x1b, 0xd4, 0x5b, 0x73, 0x1c, 0x14, 0xb2, 0x3e, + 0xaf, 0x3c, 0x4c, 0x8a, 0xe6, 0x49, 0x5a, 0x91, 0xf0, 0x2f, 0x58, 0xd5, 0x57, 0xcf, 0x5a, 0x01, + 0x73, 0xb2, 0xfc, 0xa1, 0x2a, 0xcc, 0x9b, 0x60, 0x8c, 0x6a, 0x55, 0xe9, 0x3f, 0x69, 0x70, 0x4d, + 0x6d, 0xe0, 0x2d, 0x9b, 0xd8, 0x1d, 0xaa, 0xbf, 0x0d, 0x59, 0xbb, 0xcb, 0xda, 0x98, 0xf8, 0x6c, + 0x3f, 0xaa, 0x7d, 0xbd, 0xf0, 0xdb, 0xeb, 0x07, 0x79, 0x79, 0x07, 0xd6, 0x5c, 0x97, 0x20, 0x4a, + 0x9f, 0x31, 0xe2, 0x07, 0x9e, 0xd5, 0x87, 0xea, 0xef, 0xf3, 0xa3, 0xc3, 0x23, 0xc8, 0xe7, 0x3f, + 0x69, 0xf1, 0x45, 0x69, 0x7a, 0x37, 0x27, 0x72, 0xa9, 0xdf, 0xe1, 0x9c, 0xfa, 0xc1, 0x38, 0xa3, + 0x1b, 0x03, 0xef, 0x45, 0xe4, 0x65, 0x2e, 0xc0, 0xfc, 0x90, 0xaa, 0xc7, 0x65, 0xe5, 0xcf, 0x29, + 0x48, 0x37, 0xa8, 0xa7, 0x7f, 0x0e, 0x10, 0xfb, 0xb2, 0xf2, 0xff, 0x84, 0x2a, 0x06, 0xbe, 0x43, + 0x18, 0xf7, 0x2f, 0x82, 0xea, 0x65, 0xe2, 0x19, 0x62, 0xdf, 0x32, 0xce, 0xc8, 0xd0, 0x47, 0x9d, + 0x95, 0x61, 0xf4, 0xfd, 0xd3, 0x9f, 0xc3, 0xb4, 0x7a, 0xfb, 0xcc, 0x64, 0xcf, 0x1e, 0xc6, 0x58, + 0x3a, 0x1f, 0xa3, 0x62, 0xef, 0x81, 0x3e, 0xe6, 0x01, 0x38, 0xa3, 0xbe, 0x51, 0xb4, 0xf1, 0xd6, + 0x65, 0xd0, 0x2a, 0xf3, 0xd7, 0x1a, 0xcc, 0x25, 0xec, 0xe8, 0x87, 0xc9, 0x01, 0xc7, 0x7b, 0x18, + 0xef, 0x5e, 0xd6, 0x43, 0x95, 0xf1, 0x19, 0x64, 0xfb, 0x5b, 0xf4, 0x76, 0x72, 0x18, 0x05, 0x32, + 0xee, 0x5d, 0x00, 0xa4, 0xc2, 0x77, 0xe1, 0xfa, 0xe8, 0x92, 0xbb, 0x77, 0xce, 0x80, 0xe2, 0x60, + 0x63, 0xf5, 0x12, 0x60, 0x95, 0x16, 0xc3, 0xb5, 0xe1, 0x0d, 0x74, 0x37, 0x39, 0xce, 0x10, 0xd4, + 0x58, 0xbe, 0x30, 0x54, 0x25, 0xdc, 0x86, 0xdc, 0xc0, 0xde, 0xb8, 0x73, 0xde, 0x09, 0x8f, 0x70, + 0x46, 0xf5, 0x62, 0xb8, 0x5e, 0x1e, 0x63, 0xf2, 0xcb, 0xd3, 0x83, 0x25, 0x6d, 0xdd, 0x39, 0x3c, + 0x2e, 0x6a, 0x6f, 0x8e, 0x8b, 0xda, 0x5f, 0xc7, 0x45, 0xed, 0xfb, 0x93, 0x62, 0xea, 0xcd, 0x49, + 0x31, 0xf5, 0xfb, 0x49, 0x31, 0xf5, 0x7c, 0xd3, 0xf3, 0x59, 0xbb, 0xdb, 0xaa, 0x3a, 0xb8, 0x53, + 0xdb, 0xec, 0x85, 0xfe, 0xd0, 0x6e, 0xd1, 0x9a, 0x4a, 0xf4, 0xc0, 0xc1, 0x04, 0xc5, 0xc5, 0xb6, + 0xed, 0x07, 0xb5, 0x0e, 0x76, 0xbb, 0x3b, 0x88, 0x8a, 0x9f, 0x49, 0x6c, 0x3f, 0x44, 0xb4, 0x95, + 0x11, 0xbf, 0x79, 0x56, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x7b, 0x3b, 0x8a, 0x4c, 0xca, 0x0d, + 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/oracle/types/codec.go b/chain/oracle/types/codec.go index 4cf97e24..67c93b8d 100644 --- a/chain/oracle/types/codec.go +++ b/chain/oracle/types/codec.go @@ -19,6 +19,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(&MsgRelayStorkPrices{}, "oracle/MsgRelayStorkPrices", nil) cdc.RegisterConcrete(&MsgUpdateParams{}, "oracle/MsgUpdateParams", nil) cdc.RegisterConcrete(&GrantBandOraclePrivilegeProposal{}, "oracle/GrantBandOraclePrivilegeProposal", nil) @@ -30,6 +31,8 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&EnableBandIBCProposal{}, "oracle/EnableBandIBCProposal", nil) cdc.RegisterConcrete(&GrantProviderPrivilegeProposal{}, "oracle/GrantProviderPrivilegeProposal", nil) cdc.RegisterConcrete(&RevokeProviderPrivilegeProposal{}, "oracle/RevokeProviderPrivilegeProposal", nil) + cdc.RegisterConcrete(&GrantStorkPublisherPrivilegeProposal{}, "oracle/GrantStorkPublisherPrivilegeProposal", nil) + cdc.RegisterConcrete(&RevokeStorkPublisherPrivilegeProposal{}, "oracle/RevokeStorkPublisherPrivilegeProposal", nil) cdc.RegisterConcrete(&Params{}, "oracle/Params", nil) } @@ -41,6 +44,7 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { &MsgRequestBandIBCRates{}, &MsgRelayProviderPrices{}, &MsgRelayPythPrices{}, + &MsgRelayStorkPrices{}, &MsgUpdateParams{}, ) @@ -54,6 +58,8 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { &EnableBandIBCProposal{}, &GrantProviderPrivilegeProposal{}, &RevokeProviderPrivilegeProposal{}, + &GrantStorkPublisherPrivilegeProposal{}, + &RevokeStorkPublisherPrivilegeProposal{}, ) msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) diff --git a/chain/oracle/types/errors.go b/chain/oracle/types/errors.go index c9a28f15..87bb055b 100644 --- a/chain/oracle/types/errors.go +++ b/chain/oracle/types/errors.go @@ -44,4 +44,8 @@ var ( 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") + ErrBadStorkMessageTimestamp = errors.Register(ModuleName, 40, "bad Stork message timestamp") + ErrEmptyStorkSender = errors.Register(ModuleName, 41, "sender stork is empty") + ErrInvalidStorkSignature = errors.Register(ModuleName, 42, "invalid stork signature") + ErrStorkAssetIdNotUnique = errors.Register(ModuleName, 43, "stork asset id not unique") ) diff --git a/chain/oracle/types/events.pb.go b/chain/oracle/types/events.pb.go index 8ea77f37..7aeda9c2 100644 --- a/chain/oracle/types/events.pb.go +++ b/chain/oracle/types/events.pb.go @@ -549,6 +549,50 @@ func (m *SetCoinbasePriceEvent) GetTimestamp() uint64 { return 0 } +type EventSetStorkPrices struct { + Prices []*StorkPriceState `protobuf:"bytes,1,rep,name=prices,proto3" json:"prices,omitempty"` +} + +func (m *EventSetStorkPrices) Reset() { *m = EventSetStorkPrices{} } +func (m *EventSetStorkPrices) String() string { return proto.CompactTextString(m) } +func (*EventSetStorkPrices) ProtoMessage() {} +func (*EventSetStorkPrices) Descriptor() ([]byte, []int) { + return fileDescriptor_c42b07097291dfa0, []int{9} +} +func (m *EventSetStorkPrices) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventSetStorkPrices) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventSetStorkPrices.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 *EventSetStorkPrices) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventSetStorkPrices.Merge(m, src) +} +func (m *EventSetStorkPrices) XXX_Size() int { + return m.Size() +} +func (m *EventSetStorkPrices) XXX_DiscardUnknown() { + xxx_messageInfo_EventSetStorkPrices.DiscardUnknown(m) +} + +var xxx_messageInfo_EventSetStorkPrices proto.InternalMessageInfo + +func (m *EventSetStorkPrices) GetPrices() []*StorkPriceState { + if m != nil { + return m.Prices + } + return nil +} + type EventSetPythPrices struct { Prices []*PythPriceState `protobuf:"bytes,1,rep,name=prices,proto3" json:"prices,omitempty"` } @@ -557,7 +601,7 @@ func (m *EventSetPythPrices) Reset() { *m = EventSetPythPrices{} } func (m *EventSetPythPrices) String() string { return proto.CompactTextString(m) } func (*EventSetPythPrices) ProtoMessage() {} func (*EventSetPythPrices) Descriptor() ([]byte, []int) { - return fileDescriptor_c42b07097291dfa0, []int{9} + return fileDescriptor_c42b07097291dfa0, []int{10} } func (m *EventSetPythPrices) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -603,6 +647,7 @@ func init() { proto.RegisterType((*SetPriceFeedPriceEvent)(nil), "injective.oracle.v1beta1.SetPriceFeedPriceEvent") proto.RegisterType((*SetProviderPriceEvent)(nil), "injective.oracle.v1beta1.SetProviderPriceEvent") proto.RegisterType((*SetCoinbasePriceEvent)(nil), "injective.oracle.v1beta1.SetCoinbasePriceEvent") + proto.RegisterType((*EventSetStorkPrices)(nil), "injective.oracle.v1beta1.EventSetStorkPrices") proto.RegisterType((*EventSetPythPrices)(nil), "injective.oracle.v1beta1.EventSetPythPrices") } @@ -611,49 +656,51 @@ func init() { } var fileDescriptor_c42b07097291dfa0 = []byte{ - // 665 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xb1, 0x6e, 0x13, 0x4d, - 0x10, 0xf6, 0xda, 0x8e, 0x13, 0x6f, 0xfe, 0xe6, 0x3f, 0x99, 0x70, 0x4a, 0xc0, 0x31, 0x46, 0x48, - 0x6e, 0xb8, 0x53, 0xa0, 0x02, 0x1a, 0x70, 0x08, 0x92, 0xa5, 0x14, 0xd1, 0x39, 0xa2, 0xa0, 0x89, - 0xd6, 0x7b, 0x13, 0x7b, 0xf1, 0xdd, 0xad, 0xb3, 0xbb, 0x67, 0xe4, 0x37, 0xa0, 0xa0, 0xa0, 0xa3, - 0xe5, 0x59, 0xa8, 0x52, 0xa6, 0x44, 0x14, 0x11, 0x4a, 0x24, 0x9e, 0x03, 0xed, 0xde, 0xda, 0x3e, - 0xac, 0x18, 0x39, 0xa2, 0xbb, 0x99, 0x9d, 0xf9, 0xe6, 0x9b, 0xb9, 0xf9, 0x06, 0x3f, 0x62, 0xc9, - 0x7b, 0xa0, 0x8a, 0x8d, 0xc1, 0xe7, 0x82, 0xd0, 0x08, 0xfc, 0xf1, 0x5e, 0x0f, 0x14, 0xd9, 0xf3, - 0x61, 0x0c, 0x89, 0x92, 0xde, 0x48, 0x70, 0xc5, 0x1d, 0x77, 0x16, 0xe6, 0x65, 0x61, 0x9e, 0x0d, - 0xdb, 0xae, 0xf5, 0x79, 0x9f, 0x9b, 0x20, 0x5f, 0x7f, 0x65, 0xf1, 0xdb, 0x75, 0xca, 0x65, 0xcc, - 0xa5, 0xdf, 0x23, 0x72, 0x8e, 0x48, 0x39, 0x4b, 0xec, 0xfb, 0xf2, 0xb2, 0x16, 0xde, 0x84, 0x35, - 0x3f, 0x21, 0xbc, 0xd5, 0x05, 0xb5, 0x3f, 0x20, 0x2c, 0x89, 0x58, 0x32, 0x3c, 0x12, 0x8c, 0xc2, - 0x81, 0x26, 0xe6, 0xdc, 0xc5, 0xeb, 0xa7, 0x00, 0xe1, 0x09, 0x0b, 0x5d, 0xd4, 0x40, 0xad, 0x6a, - 0x50, 0xd1, 0x66, 0x27, 0x74, 0x5e, 0xe0, 0x0a, 0x49, 0xe4, 0x07, 0x10, 0x6e, 0x51, 0xfb, 0xdb, - 0x0f, 0xcf, 0x2f, 0x77, 0x0b, 0x3f, 0x2e, 0x77, 0x77, 0x32, 0x4a, 0x32, 0x1c, 0x7a, 0x8c, 0xfb, - 0x31, 0x51, 0x03, 0xef, 0x10, 0xfa, 0x84, 0x4e, 0x5e, 0x03, 0x0d, 0x6c, 0x8a, 0x73, 0x0f, 0x57, - 0x15, 0x8b, 0x41, 0x2a, 0x12, 0x8f, 0xdc, 0x52, 0x03, 0xb5, 0xca, 0xc1, 0xdc, 0xd1, 0xfc, 0x86, - 0xf0, 0xff, 0x5d, 0x50, 0x6d, 0x92, 0x84, 0x39, 0x26, 0x2e, 0x5e, 0x17, 0x10, 0x91, 0x09, 0x08, - 0xcb, 0x64, 0x6a, 0x3a, 0x5b, 0xb8, 0x22, 0x27, 0x71, 0x8f, 0x47, 0x19, 0x95, 0xc0, 0x5a, 0xce, - 0x33, 0xbc, 0x36, 0xd2, 0xf9, 0xa6, 0xc2, 0x8a, 0x0c, 0xb3, 0x0c, 0xe7, 0x01, 0xfe, 0x4f, 0x80, - 0xe4, 0xd1, 0x18, 0x4e, 0x34, 0x2f, 0xb7, 0x6c, 0x38, 0x6e, 0x5a, 0xdf, 0x31, 0x8b, 0xc1, 0xb9, - 0x8f, 0xb1, 0x80, 0xb3, 0x14, 0xa4, 0xd2, 0xc3, 0x59, 0xcb, 0x9a, 0xb0, 0x9e, 0x4e, 0xd8, 0xfc, - 0x85, 0x70, 0xcd, 0x36, 0xd1, 0x69, 0xef, 0xaf, 0xd4, 0x87, 0x8b, 0xd7, 0x33, 0xe6, 0xd2, 0x2d, - 0x36, 0x4a, 0xfa, 0xc5, 0x9a, 0x7a, 0xd8, 0x86, 0x97, 0x74, 0x4b, 0xfa, 0x61, 0xc5, 0x61, 0x67, - 0x29, 0xff, 0xde, 0x8b, 0xb3, 0x83, 0xab, 0x34, 0x62, 0x90, 0x98, 0xd7, 0x4a, 0x03, 0xb5, 0x4a, - 0xc1, 0x46, 0xe6, 0xe8, 0x84, 0xcd, 0x63, 0xbc, 0x65, 0x1a, 0xb3, 0x9d, 0xbe, 0xa2, 0xc3, 0x6e, - 0x4a, 0x29, 0x48, 0xa9, 0x51, 0x09, 0x1d, 0x9e, 0x08, 0x90, 0x69, 0xa4, 0x6c, 0xb3, 0x55, 0x42, - 0x87, 0x81, 0x71, 0xfc, 0x89, 0x5a, 0x5c, 0x40, 0x3d, 0xc2, 0xb5, 0x05, 0xd4, 0x03, 0x21, 0xb8, - 0xd0, 0x49, 0x1a, 0x13, 0xb4, 0x61, 0x21, 0x37, 0x48, 0xee, 0x71, 0x39, 0xe2, 0x73, 0xbc, 0x93, - 0x47, 0x0c, 0x40, 0x8e, 0x78, 0x22, 0x4d, 0xff, 0x3c, 0x5d, 0x60, 0x83, 0x16, 0x72, 0xbf, 0x64, - 0x02, 0x31, 0x7f, 0xf1, 0x0d, 0xc0, 0x6a, 0x6b, 0xe9, 0xe0, 0xb2, 0xd6, 0xa5, 0x5d, 0x4a, 0xf3, - 0xed, 0xd4, 0xf0, 0xda, 0x59, 0xca, 0x95, 0x5d, 0xc9, 0x20, 0x33, 0xe6, 0x8b, 0x5a, 0xbe, 0xed, - 0xa2, 0x36, 0xbf, 0x22, 0x7c, 0xc7, 0x30, 0xe3, 0x63, 0x16, 0x82, 0xc8, 0x11, 0xdb, 0xc6, 0x1b, - 0x23, 0xeb, 0x9d, 0x0e, 0x6a, 0x6a, 0xe7, 0x49, 0x17, 0x97, 0x69, 0xa9, 0x74, 0xb3, 0x96, 0x6e, - 0x4f, 0xf1, 0x63, 0x46, 0x71, 0x9f, 0xb3, 0x44, 0xcf, 0x20, 0x47, 0x71, 0x5e, 0x0c, 0xdd, 0x5c, - 0xac, 0x78, 0x6b, 0xe1, 0xfe, 0xfd, 0xb2, 0xbc, 0xc5, 0x8e, 0xa9, 0xac, 0x27, 0x36, 0x51, 0x83, - 0xa3, 0x4c, 0x20, 0x2f, 0x67, 0xea, 0x42, 0x8d, 0x52, 0x6b, 0xf3, 0x49, 0xcb, 0x5b, 0x76, 0x86, - 0xbd, 0x59, 0x56, 0x57, 0x11, 0x05, 0x53, 0x89, 0xb5, 0x4f, 0xcf, 0xaf, 0xea, 0xe8, 0xe2, 0xaa, - 0x8e, 0x7e, 0x5e, 0xd5, 0xd1, 0xe7, 0xeb, 0x7a, 0xe1, 0xe2, 0xba, 0x5e, 0xf8, 0x7e, 0x5d, 0x2f, - 0xbc, 0x3b, 0xec, 0x33, 0x35, 0x48, 0x7b, 0x1e, 0xe5, 0xb1, 0xdf, 0x99, 0xa2, 0x1e, 0x92, 0x9e, - 0xf4, 0x67, 0x35, 0x1e, 0x53, 0x2e, 0x20, 0x6f, 0xea, 0x33, 0xec, 0xc7, 0x3c, 0x4c, 0x23, 0x90, - 0xd3, 0xbb, 0xad, 0x26, 0x23, 0x90, 0xbd, 0x8a, 0xb9, 0xd7, 0x4f, 0x7f, 0x07, 0x00, 0x00, 0xff, - 0xff, 0xbc, 0x05, 0xc5, 0xe3, 0x4f, 0x06, 0x00, 0x00, + // 689 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x3f, 0x6f, 0x13, 0x4b, + 0x10, 0xf7, 0xda, 0x8e, 0x13, 0x6f, 0x5e, 0xf3, 0xee, 0xf9, 0x85, 0x53, 0x02, 0x8e, 0x31, 0x42, + 0x32, 0x05, 0x77, 0x0a, 0x54, 0x40, 0x43, 0x1c, 0x82, 0x64, 0x29, 0x45, 0x74, 0x8e, 0x10, 0xa2, + 0x89, 0xd6, 0x7b, 0x13, 0x7b, 0xf1, 0xdd, 0xad, 0xb3, 0xbb, 0x36, 0xf2, 0x37, 0xa0, 0xa0, 0xa0, + 0xa3, 0xe5, 0xb3, 0x50, 0xa5, 0x4c, 0x89, 0x28, 0x22, 0x94, 0x48, 0x7c, 0x0e, 0xb4, 0x7b, 0x6b, + 0xfb, 0x62, 0xc5, 0xc8, 0x11, 0xdd, 0xcd, 0xbf, 0xdf, 0xfc, 0x66, 0x6e, 0x66, 0x16, 0x3f, 0x64, + 0xc9, 0x7b, 0xa0, 0x8a, 0x8d, 0xc0, 0xe7, 0x82, 0xd0, 0x08, 0xfc, 0xd1, 0x4e, 0x07, 0x14, 0xd9, + 0xf1, 0x61, 0x04, 0x89, 0x92, 0xde, 0x40, 0x70, 0xc5, 0x1d, 0x77, 0xea, 0xe6, 0xa5, 0x6e, 0x9e, + 0x75, 0xdb, 0xac, 0x74, 0x79, 0x97, 0x1b, 0x27, 0x5f, 0x7f, 0xa5, 0xfe, 0x9b, 0x55, 0xca, 0x65, + 0xcc, 0xa5, 0xdf, 0x21, 0x72, 0x86, 0x48, 0x39, 0x4b, 0xac, 0x7d, 0x71, 0x5a, 0x0b, 0x6f, 0xdc, + 0xea, 0x9f, 0x10, 0xde, 0x68, 0x83, 0xda, 0xeb, 0x11, 0x96, 0x44, 0x2c, 0xe9, 0x1f, 0x0a, 0x46, + 0x61, 0x5f, 0x13, 0x73, 0xee, 0xe0, 0xd5, 0x13, 0x80, 0xf0, 0x98, 0x85, 0x2e, 0xaa, 0xa1, 0x46, + 0x39, 0x28, 0x69, 0xb1, 0x15, 0x3a, 0x2f, 0x70, 0x89, 0x24, 0xf2, 0x03, 0x08, 0x37, 0xaf, 0xf5, + 0xcd, 0x07, 0x67, 0x17, 0xdb, 0xb9, 0x1f, 0x17, 0xdb, 0x5b, 0x29, 0x25, 0x19, 0xf6, 0x3d, 0xc6, + 0xfd, 0x98, 0xa8, 0x9e, 0x77, 0x00, 0x5d, 0x42, 0xc7, 0xaf, 0x80, 0x06, 0x36, 0xc4, 0xb9, 0x8b, + 0xcb, 0x8a, 0xc5, 0x20, 0x15, 0x89, 0x07, 0x6e, 0xa1, 0x86, 0x1a, 0xc5, 0x60, 0xa6, 0xa8, 0x7f, + 0x43, 0xf8, 0xdf, 0x36, 0xa8, 0x26, 0x49, 0xc2, 0x0c, 0x13, 0x17, 0xaf, 0x0a, 0x88, 0xc8, 0x18, + 0x84, 0x65, 0x32, 0x11, 0x9d, 0x0d, 0x5c, 0x92, 0xe3, 0xb8, 0xc3, 0xa3, 0x94, 0x4a, 0x60, 0x25, + 0xe7, 0x19, 0x5e, 0x19, 0xe8, 0x78, 0x93, 0x61, 0x49, 0x86, 0x69, 0x84, 0x73, 0x1f, 0xff, 0x23, + 0x40, 0xf2, 0x68, 0x04, 0xc7, 0x9a, 0x97, 0x5b, 0x34, 0x1c, 0xd7, 0xad, 0xee, 0x88, 0xc5, 0xe0, + 0xdc, 0xc3, 0x58, 0xc0, 0xe9, 0x10, 0xa4, 0xd2, 0xcd, 0x59, 0x49, 0x8b, 0xb0, 0x9a, 0x56, 0x58, + 0xff, 0x85, 0x70, 0xc5, 0x16, 0xd1, 0x6a, 0xee, 0x2d, 0x55, 0x87, 0x8b, 0x57, 0x53, 0xe6, 0xd2, + 0xcd, 0xd7, 0x0a, 0xda, 0x62, 0x45, 0xdd, 0x6c, 0xc3, 0x4b, 0xba, 0x05, 0x6d, 0x58, 0xb2, 0xd9, + 0x69, 0xc8, 0xdf, 0xd7, 0xe2, 0x6c, 0xe1, 0x32, 0x8d, 0x18, 0x24, 0xc6, 0x5a, 0xaa, 0xa1, 0x46, + 0x21, 0x58, 0x4b, 0x15, 0xad, 0xb0, 0x7e, 0x84, 0x37, 0x4c, 0x61, 0xb6, 0xd2, 0x5d, 0xda, 0x6f, + 0x0f, 0x29, 0x05, 0x29, 0x35, 0x2a, 0xa1, 0xfd, 0x63, 0x01, 0x72, 0x18, 0x29, 0x5b, 0x6c, 0x99, + 0xd0, 0x7e, 0x60, 0x14, 0xd7, 0x51, 0xf3, 0x73, 0xa8, 0x87, 0xb8, 0x32, 0x87, 0xba, 0x2f, 0x04, + 0x17, 0x3a, 0x48, 0x63, 0x82, 0x16, 0x2c, 0xe4, 0x1a, 0xc9, 0x18, 0x17, 0x23, 0x3e, 0xc7, 0x5b, + 0x59, 0xc4, 0x00, 0xe4, 0x80, 0x27, 0xd2, 0xd4, 0xcf, 0x87, 0x73, 0x6c, 0xd0, 0x5c, 0xec, 0x97, + 0x74, 0x41, 0xcc, 0x5f, 0x7c, 0x0d, 0xb0, 0xdc, 0x58, 0x3a, 0xb8, 0xa8, 0xf7, 0xd2, 0x0e, 0xa5, + 0xf9, 0x76, 0x2a, 0x78, 0xe5, 0x74, 0xc8, 0x95, 0x1d, 0xc9, 0x20, 0x15, 0x66, 0x83, 0x5a, 0xbc, + 0xed, 0xa0, 0xd6, 0xbf, 0x22, 0xfc, 0xbf, 0x61, 0xc6, 0x47, 0x2c, 0x04, 0x91, 0x21, 0xb6, 0x89, + 0xd7, 0x06, 0x56, 0x3b, 0x69, 0xd4, 0x44, 0xce, 0x92, 0xce, 0x2f, 0xda, 0xa5, 0xc2, 0xcd, 0xbb, + 0x74, 0x7b, 0x8a, 0x1f, 0x53, 0x8a, 0x7b, 0x9c, 0x25, 0xba, 0x07, 0x19, 0x8a, 0xb3, 0x64, 0xe8, + 0xe6, 0x64, 0xf9, 0x5b, 0x2f, 0xee, 0x9f, 0x2f, 0xcb, 0x5b, 0xfc, 0x9f, 0xc9, 0xdc, 0x06, 0xd5, + 0x56, 0x5c, 0xa4, 0x87, 0x4e, 0x3a, 0xbb, 0xd3, 0xf5, 0x42, 0xb5, 0x42, 0x63, 0xfd, 0xc9, 0x23, + 0x6f, 0xd1, 0x1d, 0xf6, 0x66, 0x61, 0x6d, 0x45, 0x14, 0x4c, 0x96, 0xac, 0xfe, 0x06, 0x3b, 0x13, + 0xe4, 0xc3, 0xb1, 0xea, 0x59, 0xe0, 0x97, 0x73, 0xc0, 0x8d, 0xc5, 0xc0, 0xd3, 0xa8, 0x6b, 0xb8, + 0xcd, 0x93, 0xb3, 0xcb, 0x2a, 0x3a, 0xbf, 0xac, 0xa2, 0x9f, 0x97, 0x55, 0xf4, 0xf9, 0xaa, 0x9a, + 0x3b, 0xbf, 0xaa, 0xe6, 0xbe, 0x5f, 0x55, 0x73, 0xef, 0x0e, 0xba, 0x4c, 0xf5, 0x86, 0x1d, 0x8f, + 0xf2, 0xd8, 0x6f, 0x4d, 0x50, 0x0f, 0x48, 0x47, 0xfa, 0xd3, 0x1c, 0x8f, 0x29, 0x17, 0x90, 0x15, + 0xf5, 0x81, 0xf7, 0x63, 0x1e, 0x0e, 0x23, 0x90, 0x93, 0x17, 0x41, 0x8d, 0x07, 0x20, 0x3b, 0x25, + 0xf3, 0x12, 0x3c, 0xfd, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x3f, 0x45, 0xd4, 0xa9, 0x06, 0x00, + 0x00, } func (m *SetChainlinkPriceEvent) Marshal() (dAtA []byte, err error) { @@ -1077,6 +1124,43 @@ func (m *SetCoinbasePriceEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *EventSetStorkPrices) 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 *EventSetStorkPrices) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventSetStorkPrices) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Prices) > 0 { + for iNdEx := len(m.Prices) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Prices[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + func (m *EventSetPythPrices) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -1310,6 +1394,21 @@ func (m *SetCoinbasePriceEvent) Size() (n int) { return n } +func (m *EventSetStorkPrices) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Prices) > 0 { + for _, e := range m.Prices { + l = e.Size() + n += 1 + l + sovEvents(uint64(l)) + } + } + return n +} + func (m *EventSetPythPrices) Size() (n int) { if m == nil { return 0 @@ -2625,6 +2724,90 @@ func (m *SetCoinbasePriceEvent) Unmarshal(dAtA []byte) error { } return nil } +func (m *EventSetStorkPrices) 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: EventSetStorkPrices: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventSetStorkPrices: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Prices", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Prices = append(m.Prices, &StorkPriceState{}) + if err := m.Prices[len(m.Prices)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + 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 (m *EventSetPythPrices) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/chain/oracle/types/genesis.pb.go b/chain/oracle/types/genesis.pb.go index 04cb607c..537005eb 100644 --- a/chain/oracle/types/genesis.pb.go +++ b/chain/oracle/types/genesis.pb.go @@ -41,6 +41,8 @@ type GenesisState struct { HistoricalPriceRecords []*PriceRecords `protobuf:"bytes,13,rep,name=historical_price_records,json=historicalPriceRecords,proto3" json:"historical_price_records,omitempty"` ProviderStates []*ProviderState `protobuf:"bytes,14,rep,name=provider_states,json=providerStates,proto3" json:"provider_states,omitempty"` PythPriceStates []*PythPriceState `protobuf:"bytes,15,rep,name=pyth_price_states,json=pythPriceStates,proto3" json:"pyth_price_states,omitempty"` + StorkPriceStates []*StorkPriceState `protobuf:"bytes,16,rep,name=stork_price_states,json=storkPriceStates,proto3" json:"stork_price_states,omitempty"` + StorkPublishers []string `protobuf:"bytes,17,rep,name=stork_publishers,json=storkPublishers,proto3" json:"stork_publishers,omitempty"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -181,6 +183,20 @@ func (m *GenesisState) GetPythPriceStates() []*PythPriceState { return nil } +func (m *GenesisState) GetStorkPriceStates() []*StorkPriceState { + if m != nil { + return m.StorkPriceStates + } + return nil +} + +func (m *GenesisState) GetStorkPublishers() []string { + if m != nil { + return m.StorkPublishers + } + return nil +} + type CalldataRecord struct { ClientId uint64 `protobuf:"varint,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` Calldata []byte `protobuf:"bytes,2,opt,name=calldata,proto3" json:"calldata,omitempty"` @@ -243,47 +259,50 @@ func init() { } var fileDescriptor_f7e14cf80151b4d2 = []byte{ - // 639 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0xcf, 0x6e, 0xd3, 0x4e, - 0x10, 0xc7, 0xe3, 0xb6, 0xbf, 0xfe, 0x9a, 0x6d, 0xda, 0xc0, 0xd2, 0x16, 0x13, 0x24, 0x63, 0x15, - 0xd1, 0x5a, 0x82, 0xda, 0x6a, 0xb9, 0x20, 0x0e, 0x1c, 0x12, 0x09, 0x64, 0xa9, 0x12, 0x95, 0x0b, - 0x17, 0x38, 0x98, 0xf5, 0x7a, 0x9b, 0x2c, 0x38, 0x5e, 0xb3, 0xbb, 0x89, 0x94, 0xb7, 0xe0, 0xb1, - 0x7a, 0xec, 0x91, 0x13, 0xaa, 0x92, 0x17, 0x41, 0x5e, 0xff, 0x89, 0xdd, 0x2a, 0x89, 0xb8, 0x79, - 0xc6, 0x33, 0x9f, 0xf9, 0xee, 0xcc, 0xec, 0x82, 0x23, 0x1a, 0x7f, 0x27, 0x58, 0xd2, 0x31, 0x71, - 0x18, 0x47, 0x38, 0x22, 0xce, 0xf8, 0x34, 0x20, 0x12, 0x9d, 0x3a, 0x7d, 0x12, 0x13, 0x41, 0x85, - 0x9d, 0x70, 0x26, 0x19, 0xd4, 0xcb, 0x38, 0x3b, 0x8b, 0xb3, 0xf3, 0xb8, 0xce, 0x8b, 0x85, 0x84, - 0x3c, 0x50, 0x01, 0x3a, 0x7b, 0x7d, 0xd6, 0x67, 0xea, 0xd3, 0x49, 0xbf, 0x32, 0xef, 0xe1, 0x6d, - 0x13, 0xb4, 0x3e, 0x64, 0x85, 0x2e, 0x25, 0x92, 0x04, 0xbe, 0x03, 0x9b, 0x09, 0xe2, 0x68, 0x28, - 0x74, 0xcd, 0xd4, 0xac, 0xed, 0x33, 0xd3, 0x5e, 0x54, 0xd8, 0xbe, 0x50, 0x71, 0xdd, 0x8d, 0xeb, - 0x3f, 0xcf, 0x1a, 0x5e, 0x9e, 0x05, 0x9f, 0x83, 0x9d, 0x00, 0xc5, 0xa1, 0xcf, 0x49, 0x84, 0x26, - 0x84, 0x0b, 0x7d, 0xcd, 0x5c, 0xb7, 0x9a, 0x5e, 0x2b, 0x75, 0x7a, 0xb9, 0x0f, 0x7e, 0x02, 0x0f, - 0x55, 0x50, 0xc2, 0x29, 0x26, 0xbe, 0x48, 0x0b, 0x0b, 0x7d, 0xdd, 0x5c, 0xb7, 0xb6, 0xcf, 0xac, - 0xc5, 0xf5, 0xba, 0x28, 0x0e, 0x2f, 0xd2, 0x0c, 0xa5, 0xd4, 0x6b, 0x07, 0x35, 0x5b, 0x40, 0x1f, - 0x3c, 0xce, 0x80, 0x57, 0x84, 0xdc, 0x61, 0x6f, 0xac, 0x62, 0x2b, 0xce, 0x7b, 0x42, 0xc2, 0x8c, - 0xbd, 0x97, 0x14, 0x76, 0xb5, 0xc0, 0x37, 0xb0, 0x8f, 0x19, 0x8d, 0x03, 0x24, 0x48, 0x1d, 0xff, - 0x9f, 0xc2, 0xbf, 0x5a, 0x8c, 0xef, 0xe5, 0x69, 0x15, 0xf9, 0x8f, 0xf0, 0x3d, 0x9f, 0x80, 0x5f, - 0xc1, 0xbe, 0x6a, 0x0c, 0x0d, 0x70, 0xbd, 0xc2, 0xe6, 0x3f, 0x36, 0x07, 0xa6, 0x18, 0x37, 0xc0, - 0x55, 0x78, 0x08, 0xf4, 0x12, 0x9e, 0x65, 0xfb, 0x9c, 0xfc, 0x1c, 0x11, 0x21, 0x85, 0xfe, 0xbf, - 0xe2, 0xbf, 0x5c, 0xce, 0xff, 0xa8, 0x5c, 0x5e, 0x96, 0xe3, 0xed, 0xe7, 0x25, 0x6a, 0x5e, 0x01, - 0x3f, 0x83, 0xf6, 0xfc, 0x08, 0xd9, 0x26, 0x6d, 0xa9, 0x4d, 0x3a, 0x5e, 0x0e, 0x77, 0xbb, 0xbd, - 0xda, 0x42, 0xed, 0x14, 0x27, 0xc8, 0xf6, 0xea, 0x0d, 0x78, 0x52, 0x62, 0xa3, 0xf4, 0x38, 0xd2, - 0xc7, 0x11, 0x25, 0xb1, 0xf4, 0x69, 0xa8, 0x37, 0x4d, 0xcd, 0xda, 0x28, 0x05, 0x9d, 0xab, 0xdf, - 0x3d, 0xf5, 0xd7, 0x0d, 0xe1, 0x25, 0x78, 0x80, 0x51, 0x14, 0x85, 0x48, 0x22, 0x9f, 0x13, 0xcc, - 0x78, 0x28, 0x74, 0xb0, 0xaa, 0x9d, 0xbd, 0x3c, 0xc3, 0x53, 0x09, 0x5e, 0x1b, 0xd7, 0x6c, 0x01, - 0xdf, 0x82, 0xce, 0x5d, 0x39, 0x79, 0x2f, 0x53, 0x3d, 0xdb, 0x4a, 0xcf, 0x41, 0x4d, 0x4f, 0xde, - 0x20, 0x37, 0x84, 0x18, 0x1c, 0xe0, 0x01, 0xa2, 0x71, 0x44, 0xe3, 0x1f, 0xf5, 0x29, 0xb7, 0x94, - 0xac, 0x93, 0x25, 0xb2, 0x8a, 0xbc, 0xca, 0xa8, 0xf7, 0xf0, 0x7d, 0x67, 0xba, 0xab, 0xfa, 0x80, - 0x0a, 0xc9, 0x38, 0xc5, 0x28, 0xca, 0xab, 0x14, 0xa7, 0xdf, 0x51, 0x65, 0x8e, 0x56, 0xdc, 0x86, - 0xfc, 0xa8, 0xde, 0xc1, 0x9c, 0x53, 0xf5, 0xc3, 0x0b, 0xd0, 0x4e, 0x38, 0x1b, 0xd3, 0x90, 0xf0, - 0x42, 0xff, 0xae, 0x02, 0x1f, 0x2f, 0x03, 0x67, 0x09, 0x99, 0xf2, 0xdd, 0xa4, 0x6a, 0xaa, 0x67, - 0x21, 0x99, 0xc8, 0x41, 0xbd, 0x27, 0xed, 0x95, 0x57, 0x77, 0x22, 0x07, 0xd5, 0x67, 0x21, 0xa9, - 0xd9, 0xe2, 0xd0, 0x05, 0xbb, 0xf5, 0x69, 0xc2, 0xa7, 0xa0, 0x39, 0xdf, 0x1d, 0x4d, 0xcd, 0x6a, - 0x0b, 0x17, 0xeb, 0xd2, 0x01, 0x5b, 0xc5, 0xb0, 0xf5, 0x35, 0x53, 0xb3, 0x5a, 0x5e, 0x69, 0x77, - 0xaf, 0xae, 0xa7, 0x86, 0x76, 0x33, 0x35, 0xb4, 0xdb, 0xa9, 0xa1, 0xfd, 0x9a, 0x19, 0x8d, 0x9b, - 0x99, 0xd1, 0xf8, 0x3d, 0x33, 0x1a, 0x5f, 0xce, 0xfb, 0x54, 0x0e, 0x46, 0x81, 0x8d, 0xd9, 0xd0, - 0x71, 0x0b, 0xa5, 0xe7, 0x28, 0x10, 0x4e, 0xa9, 0xfb, 0x04, 0x33, 0x4e, 0xaa, 0x66, 0x3a, 0x36, - 0x67, 0xc8, 0xc2, 0x51, 0x44, 0x44, 0xf1, 0x74, 0xcb, 0x49, 0x42, 0x44, 0xb0, 0xa9, 0x1e, 0xe7, - 0xd7, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x53, 0x49, 0x4f, 0x18, 0x1d, 0x06, 0x00, 0x00, + // 681 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x95, 0xcf, 0x4f, 0x13, 0x41, + 0x14, 0xc7, 0xbb, 0x80, 0x08, 0x43, 0xa1, 0x65, 0x04, 0x5c, 0x6b, 0x52, 0x1b, 0x8c, 0x50, 0xa2, + 0x74, 0x03, 0x5e, 0x8c, 0x07, 0x0f, 0x6d, 0xa2, 0x69, 0x42, 0x22, 0x59, 0x34, 0x26, 0x7a, 0x58, + 0x67, 0x67, 0x87, 0x76, 0x74, 0xd9, 0x5d, 0x67, 0xa6, 0x24, 0xfd, 0x2f, 0xfc, 0xb3, 0x38, 0x72, + 0xf4, 0x64, 0x0c, 0xf8, 0x87, 0x98, 0xf9, 0xb1, 0xcb, 0x0e, 0xa4, 0x6d, 0xbc, 0xed, 0x7b, 0xfb, + 0xde, 0xe7, 0x7d, 0xdf, 0xdb, 0xb7, 0x33, 0x60, 0x87, 0x26, 0xdf, 0x08, 0x16, 0xf4, 0x9c, 0x78, + 0x29, 0x43, 0x38, 0x26, 0xde, 0xf9, 0x41, 0x48, 0x04, 0x3a, 0xf0, 0x06, 0x24, 0x21, 0x9c, 0xf2, + 0x4e, 0xc6, 0x52, 0x91, 0x42, 0xb7, 0x88, 0xeb, 0xe8, 0xb8, 0x8e, 0x89, 0x6b, 0x3c, 0x9b, 0x48, + 0x30, 0x81, 0x0a, 0xd0, 0xd8, 0x18, 0xa4, 0x83, 0x54, 0x3d, 0x7a, 0xf2, 0x49, 0x7b, 0xb7, 0xff, + 0x02, 0x50, 0x7d, 0xa7, 0x0b, 0x9d, 0x08, 0x24, 0x08, 0x7c, 0x03, 0x16, 0x33, 0xc4, 0xd0, 0x19, + 0x77, 0x9d, 0x96, 0xd3, 0x5e, 0x39, 0x6c, 0x75, 0x26, 0x15, 0xee, 0x1c, 0xab, 0xb8, 0xee, 0xc2, + 0xc5, 0xef, 0x27, 0x15, 0xdf, 0x64, 0xc1, 0xa7, 0x60, 0x35, 0x44, 0x49, 0x14, 0x30, 0x12, 0xa3, + 0x31, 0x61, 0xdc, 0x9d, 0x6b, 0xcd, 0xb7, 0x97, 0xfd, 0xaa, 0x74, 0xfa, 0xc6, 0x07, 0x3f, 0x80, + 0x75, 0x15, 0x94, 0x31, 0x8a, 0x49, 0xc0, 0x65, 0x61, 0xee, 0xce, 0xb7, 0xe6, 0xdb, 0x2b, 0x87, + 0xed, 0xc9, 0xf5, 0xba, 0x28, 0x89, 0x8e, 0x65, 0x86, 0x52, 0xea, 0xd7, 0x42, 0xcb, 0xe6, 0x30, + 0x00, 0x0f, 0x35, 0xf0, 0x94, 0x90, 0x5b, 0xec, 0x85, 0x59, 0x6c, 0xc5, 0x79, 0x4b, 0x48, 0xa4, + 0xd9, 0x1b, 0x59, 0x6e, 0x97, 0x0b, 0x7c, 0x05, 0x9b, 0x38, 0xa5, 0x49, 0x88, 0x38, 0xb1, 0xf1, + 0xf7, 0x14, 0xfe, 0xc5, 0x64, 0x7c, 0xcf, 0xa4, 0x95, 0xe4, 0x3f, 0xc0, 0x77, 0x7c, 0x1c, 0x7e, + 0x01, 0x9b, 0x6a, 0x30, 0x34, 0xc4, 0x76, 0x85, 0xc5, 0xff, 0x1c, 0x0e, 0x94, 0x98, 0x7e, 0x88, + 0xcb, 0xf0, 0x08, 0xb8, 0x05, 0x5c, 0x67, 0x07, 0x8c, 0xfc, 0x18, 0x11, 0x2e, 0xb8, 0x7b, 0x5f, + 0xf1, 0x9f, 0x4f, 0xe7, 0xbf, 0x57, 0x2e, 0x5f, 0xe7, 0xf8, 0x9b, 0xa6, 0x84, 0xe5, 0xe5, 0xf0, + 0x23, 0xa8, 0xdd, 0xb4, 0xa0, 0x37, 0x69, 0x49, 0x6d, 0xd2, 0xee, 0x74, 0x78, 0xbf, 0xdb, 0xb3, + 0x16, 0x6a, 0x35, 0xef, 0x40, 0xef, 0xd5, 0x2b, 0xf0, 0xa8, 0xc0, 0xc6, 0xb2, 0x1d, 0x11, 0xe0, + 0x98, 0x92, 0x44, 0x04, 0x34, 0x72, 0x97, 0x5b, 0x4e, 0x7b, 0xa1, 0x10, 0x74, 0xa4, 0x5e, 0xf7, + 0xd4, 0xdb, 0x7e, 0x04, 0x4f, 0x40, 0x1d, 0xa3, 0x38, 0x8e, 0x90, 0x40, 0x01, 0x23, 0x38, 0x65, + 0x11, 0x77, 0xc1, 0xac, 0x71, 0xf6, 0x4c, 0x86, 0xaf, 0x12, 0xfc, 0x1a, 0xb6, 0x6c, 0x0e, 0x5f, + 0x83, 0xc6, 0x6d, 0x39, 0x66, 0x96, 0x52, 0xcf, 0x8a, 0xd2, 0xb3, 0x65, 0xe9, 0x31, 0x03, 0xea, + 0x47, 0x10, 0x83, 0x2d, 0x3c, 0x44, 0x34, 0x89, 0x69, 0xf2, 0xdd, 0xfe, 0xca, 0x55, 0x25, 0x6b, + 0x7f, 0x8a, 0xac, 0x3c, 0xaf, 0xf4, 0xa9, 0x37, 0xf0, 0x5d, 0xa7, 0xdc, 0x55, 0x77, 0x48, 0xb9, + 0x48, 0x19, 0xc5, 0x28, 0x36, 0x55, 0xf2, 0xee, 0x57, 0x55, 0x99, 0x9d, 0x19, 0x7f, 0x83, 0x69, + 0xd5, 0xdf, 0xba, 0xe1, 0x94, 0xfd, 0xf0, 0x18, 0xd4, 0x32, 0x96, 0x9e, 0xd3, 0x88, 0xb0, 0x5c, + 0xff, 0x9a, 0x02, 0xef, 0x4e, 0x03, 0xeb, 0x04, 0xad, 0x7c, 0x2d, 0x2b, 0x9b, 0xea, 0x58, 0xc8, + 0xc6, 0x62, 0x68, 0xcf, 0xa4, 0x36, 0xf3, 0xd7, 0x1d, 0x8b, 0x61, 0xf9, 0x58, 0xc8, 0x2c, 0x9b, + 0xc3, 0x4f, 0x00, 0x4a, 0xfd, 0xb7, 0x46, 0x5d, 0x57, 0xd8, 0xbd, 0xc9, 0xd8, 0x13, 0x99, 0x53, + 0xe2, 0xd6, 0xb9, 0xed, 0xe0, 0x70, 0x0f, 0xd4, 0x0d, 0x78, 0x14, 0xc6, 0x94, 0x0f, 0xe5, 0x69, + 0xb7, 0xae, 0x4e, 0xbb, 0x9a, 0x8e, 0x2d, 0xdc, 0xdb, 0x7d, 0xb0, 0x66, 0x6f, 0x14, 0x7c, 0x0c, + 0x96, 0x6f, 0xf6, 0xd7, 0x51, 0xfb, 0xb2, 0x84, 0xf3, 0x95, 0x6d, 0x80, 0xa5, 0x7c, 0xe1, 0xdc, + 0xb9, 0x96, 0xd3, 0xae, 0xfa, 0x85, 0xdd, 0x3d, 0xbd, 0xb8, 0x6a, 0x3a, 0x97, 0x57, 0x4d, 0xe7, + 0xcf, 0x55, 0xd3, 0xf9, 0x79, 0xdd, 0xac, 0x5c, 0x5e, 0x37, 0x2b, 0xbf, 0xae, 0x9b, 0x95, 0xcf, + 0x47, 0x03, 0x2a, 0x86, 0xa3, 0xb0, 0x83, 0xd3, 0x33, 0xaf, 0x9f, 0xb7, 0x75, 0x84, 0x42, 0xee, + 0x15, 0x4d, 0xee, 0xe3, 0x94, 0x91, 0xb2, 0x29, 0x57, 0xc7, 0x3b, 0x4b, 0xa3, 0x51, 0x4c, 0x78, + 0x7e, 0x7d, 0x88, 0x71, 0x46, 0x78, 0xb8, 0xa8, 0x2e, 0x88, 0x97, 0xff, 0x02, 0x00, 0x00, 0xff, + 0xff, 0xe6, 0xf9, 0xcd, 0x82, 0xa1, 0x06, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { @@ -306,6 +325,33 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.StorkPublishers) > 0 { + for iNdEx := len(m.StorkPublishers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.StorkPublishers[iNdEx]) + copy(dAtA[i:], m.StorkPublishers[iNdEx]) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.StorkPublishers[iNdEx]))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + } + if len(m.StorkPriceStates) > 0 { + for iNdEx := len(m.StorkPriceStates) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.StorkPriceStates[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + } if len(m.PythPriceStates) > 0 { for iNdEx := len(m.PythPriceStates) - 1; iNdEx >= 0; iNdEx-- { { @@ -616,6 +662,18 @@ func (m *GenesisState) Size() (n int) { n += 1 + l + sovGenesis(uint64(l)) } } + if len(m.StorkPriceStates) > 0 { + for _, e := range m.StorkPriceStates { + l = e.Size() + n += 2 + l + sovGenesis(uint64(l)) + } + } + if len(m.StorkPublishers) > 0 { + for _, s := range m.StorkPublishers { + l = len(s) + n += 2 + l + sovGenesis(uint64(l)) + } + } return n } @@ -1146,6 +1204,72 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StorkPriceStates", 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 + } + m.StorkPriceStates = append(m.StorkPriceStates, &StorkPriceState{}) + if err := m.StorkPriceStates[len(m.StorkPriceStates)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StorkPublishers", 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.StorkPublishers = append(m.StorkPublishers, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) diff --git a/chain/oracle/types/key.go b/chain/oracle/types/key.go index b2ed36ee..8b386bc3 100644 --- a/chain/oracle/types/key.go +++ b/chain/oracle/types/key.go @@ -58,6 +58,10 @@ var ( // PythPriceKey is the prefix for the priceID => PythPriceState store. PythPriceKey = []byte{0x71} + + // StorkPriceKey is the prefix for the priceID => StorkPriceState store. + StorkPriceKey = []byte{0x81} + StorkPublisherKey = []byte{0x82} ) func GetBandPriceStoreKey(symbol string) []byte { @@ -109,6 +113,10 @@ func GetCoinbasePriceStoreIterationKey(key string) []byte { return append(CoinbasePriceKey, []byte(key)...) } +func GetStorkPriceStoreKey(key string) []byte { + return append(StorkPriceKey, []byte(key)...) +} + func GetChainlinkPriceStoreKey(feedId string) []byte { feedIdBz := getPaddedFeedIdBz(feedId) diff --git a/chain/oracle/types/msgs.go b/chain/oracle/types/msgs.go index 6cde9154..f26a3b39 100644 --- a/chain/oracle/types/msgs.go +++ b/chain/oracle/types/msgs.go @@ -1,11 +1,16 @@ package types import ( + "fmt" + "math/big" + "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/common" ) // oracle message types @@ -18,6 +23,7 @@ const ( TypeMsgRequestBandIBCRates = "requestBandIBCRates" TypeMsgRelayProviderPrices = "relayProviderPrices" TypeMsgRelayPythPrices = "relayPythPrices" + TypeMsgRelayStorkPrices = "relayStorkPrices" TypeMsgUpdateParams = "updateParams" ) @@ -28,6 +34,7 @@ var ( _ sdk.Msg = &MsgRequestBandIBCRates{} _ sdk.Msg = &MsgRelayProviderPrices{} _ sdk.Msg = &MsgRelayPythPrices{} + _ sdk.Msg = &MsgRelayStorkPrices{} _ sdk.Msg = &MsgUpdateParams{} ) @@ -287,9 +294,6 @@ 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 errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) - } if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { return err } @@ -312,3 +316,63 @@ func (msg MsgRelayPythPrices) GetSigners() []sdk.AccAddress { } return []sdk.AccAddress{sender} } + +// Route implements the sdk.Msg interface. It should return the name of the module +func (msg MsgRelayStorkPrices) Route() string { return RouterKey } + +// Type implements the sdk.Msg interface. It should return the action. +func (msg MsgRelayStorkPrices) Type() string { return TypeMsgRelayStorkPrices } + +// ValidateBasic implements the sdk.Msg interface for MsgRelayStorkPrices. +func (msg MsgRelayStorkPrices) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { + return err + } + + assetIDs := make(map[string]struct{}) + for idx := range msg.AssetPairs { + assetPair := msg.AssetPairs[idx] + if _, found := assetIDs[assetPair.AssetId]; found { + return errors.Wrapf(ErrStorkAssetIdNotUnique, "Asset id %s is not unique", assetPair.AssetId) + } + assetIDs[assetPair.AssetId] = struct{}{} + + var newestTimestamp uint64 + oldestTimestamp := ^uint64(0) // max uint64 + for i := range assetPair.SignedPrices { + p := assetPair.SignedPrices[i] + if p.Timestamp > newestTimestamp { + newestTimestamp = p.Timestamp + } + if p.Timestamp < oldestTimestamp { + oldestTimestamp = p.Timestamp + } + + price := new(big.Int).Quo(p.Price.BigInt(), sdkmath.LegacyOneDec().BigInt()).String() + // note: relayer should convert the ecdsa r,s,v signatures format to the normal bytes arrays signature + if !VerifyStorkMsgSignature(common.HexToAddress(p.PublisherKey), assetPair.AssetId, strconv.FormatUint(p.Timestamp, 10), price, p.Signature) { + return errors.Wrapf(ErrInvalidStorkSignature, "Invalid signature for asset %s with publisher address %s", assetPair.AssetId, p.PublisherKey) + } + } + + if newestTimestamp-oldestTimestamp > MaxStorkTimestampIntervalNano { + return fmt.Errorf("price timestamps between %d and %d exceed threshold %d", oldestTimestamp, newestTimestamp, MaxStorkTimestampIntervalNano) + } + } + + return nil +} + +// GetSignBytes implements the sdk.Msg interface. It encodes the message for signing +func (msg *MsgRelayStorkPrices) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) +} + +// GetSigners implements the sdk.Msg interface. It defines whose signature is required +func (msg MsgRelayStorkPrices) GetSigners() []sdk.AccAddress { + sender, err := sdk.AccAddressFromBech32(msg.Sender) + if err != nil { + panic(err) + } + return []sdk.AccAddress{sender} +} diff --git a/chain/oracle/types/oracle.go b/chain/oracle/types/oracle.go index acb83b38..a8c3335a 100644 --- a/chain/oracle/types/oracle.go +++ b/chain/oracle/types/oracle.go @@ -14,6 +14,9 @@ const BandPriceMultiplier uint64 = 1000000000 // 1e9 // MaxHistoricalPriceRecordAge is the maximum age of oracle price records to track. const MaxHistoricalPriceRecordAge = 60 * 5 +const MaxStorkTimestampIntervalNano = 500_000_000 // 500ms + +var EighteenDecimals = math.LegacyNewDec(10).Power(18) func GetOracleType(oracleTypeStr string) (OracleType, error) { oracleTypeStr = strings.ToLower(oracleTypeStr) @@ -32,6 +35,8 @@ func GetOracleType(oracleTypeStr string) (OracleType, error) { oracleType = OracleType_Provider case "pyth": oracleType = OracleType_Pyth + case "stork": + oracleType = OracleType_Stork default: return OracleType_Band, errors.Wrapf(ErrUnsupportedOracleType, "%s", oracleTypeStr) } diff --git a/chain/oracle/types/oracle.pb.go b/chain/oracle/types/oracle.pb.go index f1d3ea11..fe23bfa5 100644 --- a/chain/oracle/types/oracle.pb.go +++ b/chain/oracle/types/oracle.pb.go @@ -44,6 +44,7 @@ const ( OracleType_Pyth OracleType = 9 OracleType_BandIBC OracleType = 10 OracleType_Provider OracleType = 11 + OracleType_Stork OracleType = 12 ) var OracleType_name = map[int32]string{ @@ -59,6 +60,7 @@ var OracleType_name = map[int32]string{ 9: "Pyth", 10: "BandIBC", 11: "Provider", + 12: "Stork", } var OracleType_value = map[string]int32{ @@ -74,6 +76,7 @@ var OracleType_value = map[string]int32{ "Pyth": 9, "BandIBC": 10, "Provider": 11, + "Stork": 12, } func (x OracleType) String() string { @@ -704,6 +707,71 @@ func (m *CoinbasePriceState) GetPriceState() PriceState { return PriceState{} } +type StorkPriceState struct { + // timestamp of the when the price was signed by stork + Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + // the symbol of the price, e.g. BTC + Symbol string `protobuf:"bytes,2,opt,name=symbol,proto3" json:"symbol,omitempty"` + // the value of the price scaled by 1e18 + Value cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=value,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"value"` + // the price state + PriceState PriceState `protobuf:"bytes,5,opt,name=price_state,json=priceState,proto3" json:"price_state"` +} + +func (m *StorkPriceState) Reset() { *m = StorkPriceState{} } +func (m *StorkPriceState) String() string { return proto.CompactTextString(m) } +func (*StorkPriceState) ProtoMessage() {} +func (*StorkPriceState) Descriptor() ([]byte, []int) { + return fileDescriptor_1c8fbf1e7a765423, []int{11} +} +func (m *StorkPriceState) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *StorkPriceState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_StorkPriceState.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 *StorkPriceState) XXX_Merge(src proto.Message) { + xxx_messageInfo_StorkPriceState.Merge(m, src) +} +func (m *StorkPriceState) XXX_Size() int { + return m.Size() +} +func (m *StorkPriceState) XXX_DiscardUnknown() { + xxx_messageInfo_StorkPriceState.DiscardUnknown(m) +} + +var xxx_messageInfo_StorkPriceState proto.InternalMessageInfo + +func (m *StorkPriceState) GetTimestamp() uint64 { + if m != nil { + return m.Timestamp + } + return 0 +} + +func (m *StorkPriceState) GetSymbol() string { + if m != nil { + return m.Symbol + } + return "" +} + +func (m *StorkPriceState) GetPriceState() PriceState { + if m != nil { + return m.PriceState + } + return PriceState{} +} + type PriceState struct { Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` CumulativePrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=cumulative_price,json=cumulativePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cumulative_price"` @@ -714,7 +782,7 @@ func (m *PriceState) Reset() { *m = PriceState{} } func (m *PriceState) String() string { return proto.CompactTextString(m) } func (*PriceState) ProtoMessage() {} func (*PriceState) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{11} + return fileDescriptor_1c8fbf1e7a765423, []int{12} } func (m *PriceState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -763,7 +831,7 @@ func (m *PythPriceState) Reset() { *m = PythPriceState{} } func (m *PythPriceState) String() string { return proto.CompactTextString(m) } func (*PythPriceState) ProtoMessage() {} func (*PythPriceState) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{12} + return fileDescriptor_1c8fbf1e7a765423, []int{13} } func (m *PythPriceState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -844,7 +912,7 @@ func (m *BandOracleRequest) Reset() { *m = BandOracleRequest{} } func (m *BandOracleRequest) String() string { return proto.CompactTextString(m) } func (*BandOracleRequest) ProtoMessage() {} func (*BandOracleRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{13} + return fileDescriptor_1c8fbf1e7a765423, []int{14} } func (m *BandOracleRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -955,7 +1023,7 @@ func (m *BandIBCParams) Reset() { *m = BandIBCParams{} } func (m *BandIBCParams) String() string { return proto.CompactTextString(m) } func (*BandIBCParams) ProtoMessage() {} func (*BandIBCParams) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{14} + return fileDescriptor_1c8fbf1e7a765423, []int{15} } func (m *BandIBCParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1036,7 +1104,7 @@ func (m *SymbolPriceTimestamp) Reset() { *m = SymbolPriceTimestamp{} } func (m *SymbolPriceTimestamp) String() string { return proto.CompactTextString(m) } func (*SymbolPriceTimestamp) ProtoMessage() {} func (*SymbolPriceTimestamp) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{15} + return fileDescriptor_1c8fbf1e7a765423, []int{16} } func (m *SymbolPriceTimestamp) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1094,7 +1162,7 @@ func (m *LastPriceTimestamps) Reset() { *m = LastPriceTimestamps{} } func (m *LastPriceTimestamps) String() string { return proto.CompactTextString(m) } func (*LastPriceTimestamps) ProtoMessage() {} func (*LastPriceTimestamps) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{16} + return fileDescriptor_1c8fbf1e7a765423, []int{17} } func (m *LastPriceTimestamps) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1140,7 +1208,7 @@ func (m *PriceRecords) Reset() { *m = PriceRecords{} } func (m *PriceRecords) String() string { return proto.CompactTextString(m) } func (*PriceRecords) ProtoMessage() {} func (*PriceRecords) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{17} + return fileDescriptor_1c8fbf1e7a765423, []int{18} } func (m *PriceRecords) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1199,7 +1267,7 @@ func (m *PriceRecord) Reset() { *m = PriceRecord{} } func (m *PriceRecord) String() string { return proto.CompactTextString(m) } func (*PriceRecord) ProtoMessage() {} func (*PriceRecord) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{18} + return fileDescriptor_1c8fbf1e7a765423, []int{19} } func (m *PriceRecord) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1267,7 +1335,7 @@ func (m *MetadataStatistics) Reset() { *m = MetadataStatistics{} } func (m *MetadataStatistics) String() string { return proto.CompactTextString(m) } func (*MetadataStatistics) ProtoMessage() {} func (*MetadataStatistics) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{19} + return fileDescriptor_1c8fbf1e7a765423, []int{20} } func (m *MetadataStatistics) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1340,7 +1408,7 @@ func (m *PriceAttestation) Reset() { *m = PriceAttestation{} } func (m *PriceAttestation) String() string { return proto.CompactTextString(m) } func (*PriceAttestation) ProtoMessage() {} func (*PriceAttestation) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{20} + return fileDescriptor_1c8fbf1e7a765423, []int{21} } func (m *PriceAttestation) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1425,6 +1493,119 @@ func (m *PriceAttestation) GetPublishTime() int64 { return 0 } +type AssetPair struct { + AssetId string `protobuf:"bytes,1,opt,name=asset_id,json=assetId,proto3" json:"asset_id,omitempty"` + SignedPrices []*SignedPriceOfAssetPair `protobuf:"bytes,2,rep,name=signed_prices,json=signedPrices,proto3" json:"signed_prices,omitempty"` +} + +func (m *AssetPair) Reset() { *m = AssetPair{} } +func (m *AssetPair) String() string { return proto.CompactTextString(m) } +func (*AssetPair) ProtoMessage() {} +func (*AssetPair) Descriptor() ([]byte, []int) { + return fileDescriptor_1c8fbf1e7a765423, []int{22} +} +func (m *AssetPair) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AssetPair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AssetPair.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 *AssetPair) XXX_Merge(src proto.Message) { + xxx_messageInfo_AssetPair.Merge(m, src) +} +func (m *AssetPair) XXX_Size() int { + return m.Size() +} +func (m *AssetPair) XXX_DiscardUnknown() { + xxx_messageInfo_AssetPair.DiscardUnknown(m) +} + +var xxx_messageInfo_AssetPair proto.InternalMessageInfo + +func (m *AssetPair) GetAssetId() string { + if m != nil { + return m.AssetId + } + return "" +} + +func (m *AssetPair) GetSignedPrices() []*SignedPriceOfAssetPair { + if m != nil { + return m.SignedPrices + } + return nil +} + +type SignedPriceOfAssetPair struct { + PublisherKey string `protobuf:"bytes,1,opt,name=publisher_key,json=publisherKey,proto3" json:"publisher_key,omitempty"` + Timestamp uint64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` + Signature []byte `protobuf:"bytes,4,opt,name=signature,proto3" json:"signature,omitempty"` +} + +func (m *SignedPriceOfAssetPair) Reset() { *m = SignedPriceOfAssetPair{} } +func (m *SignedPriceOfAssetPair) String() string { return proto.CompactTextString(m) } +func (*SignedPriceOfAssetPair) ProtoMessage() {} +func (*SignedPriceOfAssetPair) Descriptor() ([]byte, []int) { + return fileDescriptor_1c8fbf1e7a765423, []int{23} +} +func (m *SignedPriceOfAssetPair) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *SignedPriceOfAssetPair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_SignedPriceOfAssetPair.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 *SignedPriceOfAssetPair) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignedPriceOfAssetPair.Merge(m, src) +} +func (m *SignedPriceOfAssetPair) XXX_Size() int { + return m.Size() +} +func (m *SignedPriceOfAssetPair) XXX_DiscardUnknown() { + xxx_messageInfo_SignedPriceOfAssetPair.DiscardUnknown(m) +} + +var xxx_messageInfo_SignedPriceOfAssetPair proto.InternalMessageInfo + +func (m *SignedPriceOfAssetPair) GetPublisherKey() string { + if m != nil { + return m.PublisherKey + } + return "" +} + +func (m *SignedPriceOfAssetPair) GetTimestamp() uint64 { + if m != nil { + return m.Timestamp + } + return 0 +} + +func (m *SignedPriceOfAssetPair) GetSignature() []byte { + if m != nil { + return m.Signature + } + return nil +} + func init() { proto.RegisterEnum("injective.oracle.v1beta1.OracleType", OracleType_name, OracleType_value) golang_proto.RegisterEnum("injective.oracle.v1beta1.OracleType", OracleType_name, OracleType_value) @@ -1450,6 +1631,8 @@ func init() { golang_proto.RegisterType((*PriceFeedPrice)(nil), "injective.oracle.v1beta1.PriceFeedPrice") proto.RegisterType((*CoinbasePriceState)(nil), "injective.oracle.v1beta1.CoinbasePriceState") golang_proto.RegisterType((*CoinbasePriceState)(nil), "injective.oracle.v1beta1.CoinbasePriceState") + proto.RegisterType((*StorkPriceState)(nil), "injective.oracle.v1beta1.StorkPriceState") + golang_proto.RegisterType((*StorkPriceState)(nil), "injective.oracle.v1beta1.StorkPriceState") proto.RegisterType((*PriceState)(nil), "injective.oracle.v1beta1.PriceState") golang_proto.RegisterType((*PriceState)(nil), "injective.oracle.v1beta1.PriceState") proto.RegisterType((*PythPriceState)(nil), "injective.oracle.v1beta1.PythPriceState") @@ -1470,6 +1653,10 @@ func init() { golang_proto.RegisterType((*MetadataStatistics)(nil), "injective.oracle.v1beta1.MetadataStatistics") proto.RegisterType((*PriceAttestation)(nil), "injective.oracle.v1beta1.PriceAttestation") golang_proto.RegisterType((*PriceAttestation)(nil), "injective.oracle.v1beta1.PriceAttestation") + proto.RegisterType((*AssetPair)(nil), "injective.oracle.v1beta1.AssetPair") + golang_proto.RegisterType((*AssetPair)(nil), "injective.oracle.v1beta1.AssetPair") + proto.RegisterType((*SignedPriceOfAssetPair)(nil), "injective.oracle.v1beta1.SignedPriceOfAssetPair") + golang_proto.RegisterType((*SignedPriceOfAssetPair)(nil), "injective.oracle.v1beta1.SignedPriceOfAssetPair") } func init() { @@ -1480,111 +1667,120 @@ func init() { } var fileDescriptor_1c8fbf1e7a765423 = []byte{ - // 1664 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x4f, 0x73, 0x23, 0x47, - 0x15, 0xf7, 0xe8, 0xff, 0x3c, 0x59, 0xda, 0xd9, 0xb6, 0x37, 0x68, 0x37, 0x44, 0x36, 0x0a, 0x0b, - 0xaa, 0xad, 0x44, 0xca, 0x6e, 0x0e, 0x54, 0x02, 0x45, 0x25, 0xf6, 0xee, 0x52, 0xaa, 0x35, 0xe0, - 0x1a, 0x6f, 0xa0, 0x8a, 0x8b, 0xe8, 0x99, 0x69, 0x59, 0x1d, 0xcd, 0x4c, 0x4f, 0xa6, 0x47, 0xce, - 0x6a, 0x3f, 0x40, 0x0e, 0x5c, 0xe0, 0x0b, 0x50, 0x70, 0xe6, 0xc4, 0x85, 0x13, 0x55, 0x14, 0xc5, - 0x29, 0xc7, 0x9c, 0x52, 0x14, 0x87, 0x00, 0xeb, 0x03, 0x14, 0x57, 0xbe, 0x00, 0xf5, 0xba, 0x5b, - 0xa3, 0xb1, 0x8d, 0x77, 0x2d, 0x96, 0x5c, 0xec, 0xee, 0xd7, 0xef, 0xbd, 0xfe, 0xbd, 0xd7, 0xef, - 0xdf, 0x08, 0x6e, 0xf3, 0xf8, 0x43, 0xe6, 0x67, 0xfc, 0x84, 0x0d, 0x45, 0x4a, 0xfd, 0x90, 0x0d, - 0x4f, 0xee, 0x7a, 0x2c, 0xa3, 0x77, 0xcd, 0x76, 0x90, 0xa4, 0x22, 0x13, 0xa4, 0x93, 0xb3, 0x0d, - 0x0c, 0xdd, 0xb0, 0xdd, 0xda, 0x3e, 0x16, 0xc7, 0x42, 0x31, 0x0d, 0x71, 0xa5, 0xf9, 0x6f, 0x75, - 0x7d, 0x21, 0x23, 0x21, 0x87, 0x1e, 0x95, 0x2b, 0x8d, 0xbe, 0xe0, 0xb1, 0x39, 0xbf, 0x4e, 0x23, - 0x1e, 0x8b, 0xa1, 0xfa, 0xab, 0x49, 0xbd, 0x07, 0x50, 0x3b, 0xa4, 0x29, 0x8d, 0x24, 0x79, 0x1d, - 0x5a, 0xc9, 0x22, 0x9b, 0x8e, 0x7d, 0x11, 0x67, 0x29, 0xf5, 0xb3, 0x8e, 0xb5, 0x6b, 0xf5, 0x6d, - 0x77, 0x13, 0x89, 0xfb, 0x86, 0xf6, 0xee, 0x2b, 0xff, 0xfc, 0xf5, 0x8e, 0xf5, 0xb3, 0x7f, 0xfc, - 0xf6, 0x4e, 0xcb, 0xe0, 0xd6, 0xc2, 0xbd, 0x19, 0xc0, 0x0f, 0x15, 0x61, 0x14, 0x4f, 0x04, 0x79, - 0x05, 0x6a, 0x72, 0x11, 0x79, 0x22, 0x34, 0x3a, 0xcc, 0x8e, 0x3c, 0x80, 0xa6, 0x16, 0x1b, 0x67, - 0x8b, 0x84, 0x75, 0x4a, 0xbb, 0x56, 0xbf, 0x7d, 0xef, 0xeb, 0x83, 0xcb, 0xac, 0x1c, 0x68, 0x95, - 0x8f, 0x17, 0x09, 0x73, 0x41, 0xe4, 0xeb, 0xde, 0xe7, 0x16, 0x6c, 0xed, 0x4f, 0x29, 0x8f, 0x43, - 0x1e, 0xcf, 0x0e, 0x53, 0xee, 0xb3, 0xa3, 0x8c, 0x66, 0x8c, 0x7c, 0x05, 0xea, 0x13, 0xc6, 0x82, - 0x31, 0x0f, 0x96, 0xf7, 0xe2, 0x76, 0x14, 0x90, 0x6f, 0x43, 0x8d, 0xc6, 0xf2, 0x63, 0x96, 0xaa, - 0x2b, 0xed, 0xbd, 0xd7, 0x3f, 0xfd, 0x62, 0x67, 0xe3, 0x2f, 0x5f, 0xec, 0xbc, 0xaa, 0xfd, 0x25, - 0x83, 0xd9, 0x80, 0x8b, 0x61, 0x44, 0xb3, 0xe9, 0xe0, 0x80, 0x1d, 0x53, 0x7f, 0x71, 0x9f, 0xf9, - 0xae, 0x11, 0x21, 0x5f, 0x05, 0x3b, 0xe3, 0x11, 0x93, 0x19, 0x8d, 0x92, 0x4e, 0x79, 0xd7, 0xea, - 0x57, 0xdc, 0x15, 0x81, 0x3c, 0x82, 0x66, 0x82, 0x08, 0xc6, 0x12, 0x21, 0x74, 0x2a, 0xbb, 0x56, - 0xbf, 0xf9, 0x3c, 0x93, 0x56, 0x70, 0xf7, 0x2a, 0x88, 0xc2, 0x85, 0x24, 0xa7, 0xf4, 0xfe, 0x65, - 0x41, 0x7b, 0x8f, 0xc6, 0x41, 0xc1, 0xa6, 0xcb, 0x5c, 0x79, 0x17, 0x2a, 0x29, 0x5e, 0xa8, 0x0d, - 0x7a, 0xcd, 0x18, 0x74, 0xe3, 0xa2, 0x41, 0xa3, 0x38, 0x73, 0x15, 0x2b, 0xf9, 0x1a, 0x6c, 0xa6, - 0x4c, 0x8a, 0xf0, 0x84, 0x8d, 0x11, 0xbf, 0xb1, 0xa5, 0x69, 0x68, 0x8f, 0x79, 0xc4, 0xc8, 0x6b, - 0x00, 0x29, 0xfb, 0x68, 0xce, 0x64, 0x36, 0x1e, 0xdd, 0x57, 0xc6, 0x54, 0x5c, 0xdb, 0x50, 0x46, - 0xf7, 0xcf, 0x1b, 0x5b, 0x7d, 0x29, 0x63, 0x7f, 0x69, 0x41, 0x5b, 0x31, 0x3c, 0x64, 0x2c, 0xd0, - 0xc6, 0x12, 0xa8, 0x60, 0xe8, 0x1a, 0x53, 0xd5, 0x9a, 0x6c, 0x43, 0xf5, 0xa3, 0xb9, 0x58, 0x5a, - 0xea, 0xea, 0x0d, 0x46, 0x52, 0x11, 0x49, 0xf9, 0xea, 0x48, 0x8a, 0x18, 0xc8, 0x2d, 0x68, 0xa4, - 0x2c, 0xa4, 0x0b, 0x96, 0xca, 0x4e, 0x65, 0xb7, 0xdc, 0xb7, 0xdd, 0x7c, 0xdf, 0x7b, 0x08, 0x9b, - 0x87, 0xa9, 0x38, 0xe1, 0x01, 0x4b, 0x55, 0x50, 0xdf, 0x82, 0x46, 0x62, 0xf6, 0x06, 0x60, 0xbe, - 0x3f, 0xa3, 0xa7, 0x74, 0x4e, 0xcf, 0x1f, 0x2c, 0x68, 0x2d, 0x15, 0xe9, 0x5b, 0x1f, 0x41, 0x6b, - 0x29, 0x39, 0xe6, 0xf1, 0x44, 0x28, 0x75, 0xcd, 0x7b, 0xdf, 0x78, 0x1e, 0xfc, 0x15, 0x10, 0x77, - 0x33, 0x29, 0xc2, 0xfa, 0x29, 0xdc, 0xc8, 0x95, 0x15, 0x5c, 0xa2, 0x71, 0x34, 0xef, 0xbd, 0xf1, - 0x62, 0xa5, 0x05, 0xdf, 0x6c, 0x25, 0x17, 0x68, 0xb2, 0x37, 0x05, 0x72, 0x91, 0xf5, 0xd2, 0xc0, - 0x7c, 0x17, 0xaa, 0xfa, 0x4d, 0x4a, 0x6b, 0xbc, 0x89, 0x16, 0xe9, 0xbd, 0x83, 0x9e, 0x32, 0x11, - 0xa1, 0x8c, 0xbb, 0x72, 0x40, 0xf4, 0x1e, 0x15, 0x82, 0x49, 0x2d, 0xc8, 0x3b, 0x50, 0x55, 0xfe, - 0xd0, 0xc2, 0x57, 0xcb, 0x79, 0x2d, 0xd1, 0xfb, 0xbd, 0x05, 0x64, 0x5f, 0xf0, 0x18, 0xef, 0x2b, - 0x98, 0x4c, 0xa0, 0x32, 0xe3, 0xf1, 0xb2, 0xb8, 0xa8, 0xf5, 0xd9, 0xea, 0x50, 0x3a, 0x5f, 0x1d, - 0x1c, 0x28, 0xcf, 0xd8, 0x42, 0x85, 0xa7, 0xed, 0xe2, 0x12, 0xd1, 0x9f, 0xd0, 0x70, 0xce, 0x4c, - 0x72, 0xe9, 0xcd, 0xff, 0x37, 0xb1, 0x7e, 0x67, 0x01, 0x14, 0x50, 0xff, 0xef, 0x7e, 0x20, 0x3f, - 0x00, 0xc7, 0x9f, 0x47, 0xf3, 0x90, 0x22, 0x06, 0x1d, 0x5d, 0xeb, 0x54, 0xd0, 0x6b, 0x2b, 0x61, - 0xfd, 0x24, 0x17, 0x4a, 0x69, 0xb9, 0xe0, 0xac, 0xde, 0xe7, 0x25, 0x68, 0x1f, 0x2e, 0xb2, 0x69, - 0x01, 0xfb, 0x4d, 0xcc, 0x39, 0xf4, 0x4b, 0x5e, 0xd2, 0xeb, 0x6a, 0x3f, 0x0a, 0xc8, 0x7b, 0x60, - 0xb3, 0x88, 0xae, 0x0f, 0xaa, 0xc1, 0x22, 0xaa, 0xd1, 0x7c, 0x17, 0x70, 0x8d, 0xfd, 0x6e, 0xa2, - 0x5f, 0xe8, 0x6a, 0x0a, 0xea, 0x2c, 0xa2, 0xfb, 0x22, 0x9e, 0x90, 0x6f, 0x41, 0x45, 0xc9, 0x56, - 0xae, 0x2e, 0xab, 0x04, 0xb0, 0x10, 0x27, 0x73, 0x2f, 0xe4, 0x72, 0xaa, 0x0b, 0x71, 0x55, 0x17, - 0x62, 0x43, 0x53, 0x85, 0xf8, 0x5c, 0x40, 0xd4, 0x5e, 0x2a, 0x20, 0x3e, 0x29, 0xc3, 0x75, 0x6c, - 0x2b, 0xba, 0x9d, 0xba, 0xba, 0x9c, 0x17, 0x6b, 0xbd, 0xf1, 0x6e, 0xa1, 0xd6, 0x07, 0xa4, 0x0f, - 0x8e, 0xe9, 0xd5, 0xd2, 0x4f, 0x79, 0xa2, 0x98, 0x4a, 0xea, 0xc9, 0xda, 0x9a, 0x7e, 0xa4, 0xc8, - 0xa3, 0x80, 0x74, 0xa0, 0xae, 0x73, 0x5f, 0x76, 0xca, 0xaa, 0xf6, 0x2d, 0xb7, 0xe4, 0x55, 0xb0, - 0xa9, 0x9c, 0x8d, 0x7d, 0x31, 0x8f, 0x33, 0x13, 0xf0, 0x0d, 0x2a, 0x67, 0xfb, 0xb8, 0xc7, 0xc3, - 0x88, 0xc7, 0xe6, 0x50, 0xbb, 0xa0, 0x11, 0xf1, 0x58, 0x1f, 0x4e, 0xc1, 0x9e, 0x30, 0x36, 0x0e, - 0x79, 0xc4, 0xb3, 0x4e, 0x4d, 0x55, 0xb2, 0x9b, 0x03, 0xed, 0xd9, 0x01, 0x66, 0x65, 0x6e, 0x38, - 0xa6, 0xe9, 0xde, 0x5b, 0x68, 0xf2, 0x6f, 0xfe, 0xba, 0xd3, 0x3f, 0xe6, 0xd9, 0x74, 0xee, 0x0d, - 0x7c, 0x11, 0x0d, 0xcd, 0x28, 0xa4, 0xff, 0xbd, 0x29, 0x83, 0xd9, 0x10, 0x67, 0x0e, 0xa9, 0x04, - 0xa4, 0xdb, 0x98, 0x30, 0x76, 0x80, 0xca, 0xc9, 0x0e, 0x7a, 0x9a, 0x25, 0x34, 0x65, 0xe3, 0x63, - 0x2a, 0x3b, 0x75, 0x05, 0x04, 0x0c, 0xe9, 0x7b, 0x54, 0x22, 0x03, 0x7b, 0xc2, 0xfc, 0x79, 0xa6, - 0x19, 0x1a, 0x9a, 0xc1, 0x90, 0x90, 0xa1, 0x0f, 0x0e, 0x1a, 0x22, 0xc5, 0x3c, 0xf5, 0x99, 0xb1, - 0xc7, 0x56, 0x5c, 0xed, 0x88, 0xc7, 0x47, 0x8a, 0xac, 0xac, 0xea, 0x7d, 0x52, 0x82, 0x16, 0x3e, - 0xc4, 0x68, 0x6f, 0xdf, 0x0c, 0x5d, 0x7d, 0x70, 0x3c, 0x1a, 0x07, 0x63, 0xee, 0xf9, 0x63, 0x16, - 0x53, 0x2f, 0x64, 0xfa, 0x29, 0x1a, 0x6e, 0x1b, 0xe9, 0x23, 0xcf, 0x7f, 0xa0, 0xa9, 0xe4, 0x2d, - 0xd8, 0x46, 0xa6, 0xfc, 0xc9, 0xe2, 0x8c, 0xa5, 0x27, 0x34, 0x34, 0x6f, 0x42, 0xb8, 0xe7, 0x9b, - 0x87, 0x1d, 0x99, 0x13, 0xf2, 0x06, 0x20, 0x35, 0xc7, 0x35, 0xa5, 0x71, 0xcc, 0x42, 0x53, 0x8b, - 0x1c, 0xee, 0xf9, 0x06, 0x99, 0xa6, 0xa3, 0x99, 0xc8, 0x7d, 0xc2, 0x52, 0xc9, 0x45, 0xac, 0x83, - 0xda, 0x05, 0xee, 0xf9, 0x3f, 0xd2, 0x14, 0xd2, 0xd5, 0x0c, 0x89, 0x48, 0x55, 0x2c, 0x54, 0x15, - 0x83, 0xcd, 0x3d, 0xff, 0x50, 0xa4, 0x18, 0x06, 0x77, 0xe0, 0x7a, 0xa8, 0x02, 0x7d, 0x6c, 0xe2, - 0x86, 0x07, 0x52, 0x3d, 0x5d, 0xd9, 0xbd, 0xa6, 0x0f, 0xcc, 0x84, 0x18, 0xc8, 0xde, 0xcf, 0x2d, - 0xd8, 0x3e, 0x52, 0x41, 0xa2, 0x02, 0xf7, 0x71, 0x5e, 0x30, 0xbf, 0x03, 0x35, 0x2d, 0xad, 0xbc, - 0x70, 0xd5, 0xe1, 0xd0, 0xc8, 0x60, 0x48, 0xe9, 0xd0, 0x5b, 0x06, 0xab, 0xed, 0x36, 0x34, 0x61, - 0x14, 0xbc, 0xa0, 0xf8, 0x2c, 0x60, 0xeb, 0x80, 0xca, 0xec, 0x2c, 0x1c, 0x49, 0x3c, 0xb8, 0x11, - 0x52, 0x99, 0x99, 0xce, 0x9a, 0xb3, 0xcb, 0x8e, 0xa5, 0x62, 0x72, 0x70, 0x39, 0xbc, 0xff, 0x66, - 0x9e, 0xbb, 0x15, 0x5e, 0xbc, 0xa3, 0xf7, 0x27, 0x0b, 0x27, 0x0d, 0xee, 0x33, 0x97, 0xf9, 0x22, - 0x0d, 0xe4, 0x97, 0xe9, 0x84, 0x1f, 0xc3, 0x76, 0x88, 0x4d, 0x7d, 0x69, 0x51, 0xaa, 0xaf, 0x54, - 0x89, 0xdb, 0xbc, 0x77, 0xfb, 0x05, 0x05, 0x46, 0x03, 0x74, 0x89, 0x56, 0x51, 0xc4, 0xdc, 0x9b, - 0x40, 0xb3, 0xb0, 0x3f, 0xeb, 0x6c, 0xeb, 0x9c, 0xb3, 0x57, 0x2d, 0xa9, 0xb4, 0x76, 0x6b, 0xfe, - 0x77, 0x19, 0xc8, 0xf7, 0x59, 0x46, 0x03, 0x9a, 0x51, 0xac, 0x6e, 0x5c, 0x66, 0xdc, 0x57, 0x49, - 0x7a, 0x9c, 0x8a, 0x79, 0x62, 0xd2, 0x0f, 0x6f, 0x6c, 0xb9, 0xa0, 0x48, 0xba, 0xa0, 0x0c, 0x60, - 0xcb, 0xd8, 0x3a, 0x96, 0x34, 0x4a, 0xb0, 0xac, 0xf1, 0xa7, 0x1a, 0x40, 0xcb, 0xbd, 0x6e, 0x8e, - 0x8e, 0xd4, 0xc9, 0x11, 0x7f, 0xca, 0xb0, 0xb8, 0x47, 0x8c, 0xc6, 0xeb, 0x34, 0x06, 0x25, 0x80, - 0x82, 0xd9, 0xc7, 0x34, 0x59, 0xab, 0x2b, 0xa0, 0x00, 0xf9, 0x26, 0x5c, 0x9b, 0xf0, 0x54, 0x66, - 0xab, 0x28, 0x53, 0x39, 0x56, 0x76, 0xdb, 0x8a, 0xbc, 0xca, 0x91, 0xdb, 0xd0, 0x56, 0x31, 0xb9, - 0xe2, 0xab, 0x29, 0xbe, 0x16, 0x52, 0x57, 0x6c, 0xef, 0xe9, 0xfa, 0xaa, 0x1d, 0x5d, 0x5f, 0xa3, - 0x41, 0x46, 0x3c, 0xd6, 0x0d, 0x12, 0x35, 0xd0, 0x27, 0x46, 0x43, 0x63, 0x1d, 0x0d, 0xf4, 0x89, - 0xd6, 0xf0, 0x10, 0x36, 0x23, 0x16, 0x70, 0xba, 0x84, 0x61, 0x5f, 0x5d, 0x49, 0x53, 0x0b, 0x2a, - 0x3d, 0xbd, 0xbf, 0x5b, 0xe0, 0xa8, 0xd5, 0xfb, 0x19, 0x46, 0x1e, 0xcd, 0xb0, 0x20, 0x3d, 0x67, - 0x38, 0xd8, 0x2e, 0x06, 0x58, 0x79, 0x39, 0xce, 0x10, 0xd3, 0xb0, 0xf5, 0x87, 0x8f, 0xee, 0xc5, - 0x04, 0x2a, 0xec, 0x49, 0x22, 0xd4, 0x73, 0x55, 0x5d, 0xb5, 0xc6, 0x0c, 0x5a, 0x8d, 0x16, 0xfa, - 0x0d, 0x56, 0x53, 0xc3, 0xcd, 0xc2, 0xd4, 0x50, 0x53, 0x8a, 0xf2, 0x81, 0xc0, 0x1c, 0x29, 0x7d, - 0x75, 0xa5, 0x0f, 0x8f, 0x1e, 0xa0, 0xca, 0xf3, 0x2d, 0xbf, 0xa1, 0xb4, 0x16, 0x5b, 0xfe, 0x9d, - 0x5f, 0x59, 0xcb, 0x6f, 0x68, 0x4c, 0x67, 0x72, 0x0d, 0x9a, 0x1f, 0xc4, 0x32, 0x61, 0x3e, 0x9f, - 0x70, 0x16, 0x38, 0x1b, 0xa4, 0x01, 0x15, 0xec, 0x1d, 0x8e, 0x45, 0x5a, 0x60, 0xe7, 0xb3, 0xae, - 0x53, 0x22, 0x9b, 0xd0, 0x58, 0x0e, 0xab, 0x4e, 0x19, 0x0f, 0xf3, 0x6f, 0x63, 0xa7, 0x42, 0x6c, - 0xa8, 0xba, 0xf4, 0xa9, 0x48, 0x9d, 0x2a, 0xa9, 0x43, 0xf9, 0x3e, 0xa7, 0x4e, 0x0d, 0x35, 0xbd, - 0x7f, 0x38, 0x7a, 0xdb, 0xa9, 0x23, 0xe9, 0x83, 0x88, 0x3a, 0x0d, 0x24, 0xe1, 0xe8, 0xe5, 0xd8, - 0xa4, 0x09, 0x75, 0xd3, 0xa2, 0x1c, 0x40, 0xd5, 0xcb, 0xd1, 0xdf, 0x69, 0xee, 0x7d, 0xf8, 0xe9, - 0xb3, 0xae, 0xf5, 0xd9, 0xb3, 0xae, 0xf5, 0xb7, 0x67, 0x5d, 0xeb, 0x17, 0xa7, 0xdd, 0x8d, 0x3f, - 0x9e, 0x76, 0xad, 0xcf, 0x4e, 0xbb, 0x1b, 0x7f, 0x3e, 0xed, 0x6e, 0xfc, 0xe4, 0xa0, 0xd0, 0x7c, - 0x47, 0xcb, 0x32, 0x72, 0x40, 0x3d, 0x39, 0xcc, 0x8b, 0xca, 0x9b, 0xbe, 0x48, 0x59, 0x71, 0x8b, - 0x40, 0x87, 0x91, 0x08, 0xe6, 0x21, 0x93, 0xcb, 0x5f, 0x42, 0x54, 0x9b, 0xf6, 0x6a, 0xea, 0xe7, - 0x89, 0xb7, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0x4b, 0x03, 0x60, 0xd7, 0x2a, 0x11, 0x00, 0x00, + // 1794 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0xcd, 0x8f, 0x1c, 0x47, + 0x15, 0xdf, 0x9e, 0xef, 0x7e, 0xf3, 0xb1, 0xed, 0xda, 0xb5, 0x19, 0x3b, 0xc9, 0xec, 0xd2, 0xc1, + 0x30, 0xb2, 0x92, 0x19, 0xdb, 0x39, 0x20, 0x07, 0x84, 0xe2, 0x5d, 0xdb, 0x68, 0xe4, 0x85, 0xac, + 0x7a, 0x6d, 0x90, 0xb8, 0x0c, 0x35, 0xdd, 0x35, 0x3b, 0x95, 0xed, 0xaf, 0x74, 0xf5, 0x6c, 0x3c, + 0x96, 0xb8, 0xe6, 0xc0, 0x05, 0xfe, 0x01, 0x24, 0xce, 0x39, 0x71, 0x80, 0x13, 0x12, 0x42, 0x9c, + 0x72, 0x23, 0xa7, 0x08, 0x71, 0x08, 0x60, 0x1f, 0x40, 0x5c, 0xf9, 0x07, 0xd0, 0xab, 0xaa, 0xee, + 0xe9, 0xdd, 0x8d, 0xbd, 0x3b, 0x04, 0x5f, 0x76, 0xab, 0x5e, 0xbd, 0xf7, 0xea, 0xf7, 0x3e, 0xea, + 0xbd, 0xd7, 0x03, 0xd7, 0x79, 0xf8, 0x01, 0x73, 0x53, 0x7e, 0xcc, 0x86, 0x51, 0x42, 0x5d, 0x9f, + 0x0d, 0x8f, 0x6f, 0x4d, 0x58, 0x4a, 0x6f, 0xe9, 0xed, 0x20, 0x4e, 0xa2, 0x34, 0x22, 0xdd, 0x9c, + 0x6d, 0xa0, 0xe9, 0x9a, 0xed, 0xda, 0xe6, 0x61, 0x74, 0x18, 0x49, 0xa6, 0x21, 0xae, 0x14, 0xff, + 0xb5, 0x9e, 0x1b, 0x89, 0x20, 0x12, 0xc3, 0x09, 0x15, 0x4b, 0x8d, 0x6e, 0xc4, 0x43, 0x7d, 0x7e, + 0x89, 0x06, 0x3c, 0x8c, 0x86, 0xf2, 0xaf, 0x22, 0xd9, 0xf7, 0xa1, 0xb6, 0x4f, 0x13, 0x1a, 0x08, + 0xf2, 0x26, 0xb4, 0xe3, 0x45, 0x3a, 0x1b, 0xbb, 0x51, 0x98, 0x26, 0xd4, 0x4d, 0xbb, 0xc6, 0xb6, + 0xd1, 0x37, 0x9d, 0x16, 0x12, 0x77, 0x35, 0xed, 0xdd, 0x2b, 0xff, 0xfa, 0xf5, 0x96, 0xf1, 0xf3, + 0x7f, 0xfe, 0xe6, 0x46, 0x5b, 0xe3, 0x56, 0xc2, 0xf6, 0x11, 0xc0, 0xfb, 0x92, 0x30, 0x0a, 0xa7, + 0x11, 0xb9, 0x02, 0x35, 0xb1, 0x08, 0x26, 0x91, 0xaf, 0x75, 0xe8, 0x1d, 0xb9, 0x0f, 0x4d, 0x25, + 0x36, 0x4e, 0x17, 0x31, 0xeb, 0x96, 0xb6, 0x8d, 0x7e, 0xe7, 0xf6, 0x37, 0x06, 0x2f, 0xb2, 0x72, + 0xa0, 0x54, 0x3e, 0x5a, 0xc4, 0xcc, 0x81, 0x28, 0x5f, 0xdb, 0x9f, 0x1b, 0xb0, 0xb1, 0x3b, 0xa3, + 0x3c, 0xf4, 0x79, 0x78, 0xb4, 0x9f, 0x70, 0x97, 0x1d, 0xa4, 0x34, 0x65, 0xe4, 0x6b, 0x50, 0x9f, + 0x32, 0xe6, 0x8d, 0xb9, 0x97, 0xdd, 0x8b, 0xdb, 0x91, 0x47, 0xbe, 0x03, 0x35, 0x1a, 0x8a, 0x8f, + 0x58, 0x22, 0xaf, 0x34, 0x77, 0xde, 0xfc, 0xf4, 0x8b, 0xad, 0xb5, 0xbf, 0x7e, 0xb1, 0xf5, 0x9a, + 0xf2, 0x97, 0xf0, 0x8e, 0x06, 0x3c, 0x1a, 0x06, 0x34, 0x9d, 0x0d, 0xf6, 0xd8, 0x21, 0x75, 0x17, + 0xf7, 0x98, 0xeb, 0x68, 0x11, 0xf2, 0x3a, 0x98, 0x29, 0x0f, 0x98, 0x48, 0x69, 0x10, 0x77, 0xcb, + 0xdb, 0x46, 0xbf, 0xe2, 0x2c, 0x09, 0xe4, 0x21, 0x34, 0x63, 0x44, 0x30, 0x16, 0x08, 0xa1, 0x5b, + 0xd9, 0x36, 0xfa, 0xcd, 0x97, 0x99, 0xb4, 0x84, 0xbb, 0x53, 0x41, 0x14, 0x0e, 0xc4, 0x39, 0xc5, + 0xfe, 0xb7, 0x01, 0x9d, 0x1d, 0x1a, 0x7a, 0x05, 0x9b, 0x5e, 0xe4, 0xca, 0x5b, 0x50, 0x49, 0xf0, + 0x42, 0x65, 0xd0, 0x1b, 0xda, 0xa0, 0xcb, 0x67, 0x0d, 0x1a, 0x85, 0xa9, 0x23, 0x59, 0xc9, 0xd7, + 0xa1, 0x95, 0x30, 0x11, 0xf9, 0xc7, 0x6c, 0x8c, 0xf8, 0xb5, 0x2d, 0x4d, 0x4d, 0x7b, 0xc4, 0x03, + 0x46, 0xde, 0x00, 0x48, 0xd8, 0x87, 0x73, 0x26, 0xd2, 0xf1, 0xe8, 0x9e, 0x34, 0xa6, 0xe2, 0x98, + 0x9a, 0x32, 0xba, 0x77, 0xda, 0xd8, 0xea, 0x57, 0x32, 0xf6, 0x57, 0x06, 0x74, 0x24, 0xc3, 0x03, + 0xc6, 0x3c, 0x65, 0x2c, 0x81, 0x0a, 0xa6, 0xae, 0x36, 0x55, 0xae, 0xc9, 0x26, 0x54, 0x3f, 0x9c, + 0x47, 0x99, 0xa5, 0x8e, 0xda, 0x60, 0x26, 0x15, 0x91, 0x94, 0x2f, 0x8e, 0xa4, 0x88, 0x81, 0x5c, + 0x83, 0x46, 0xc2, 0x7c, 0xba, 0x60, 0x89, 0xe8, 0x56, 0xb6, 0xcb, 0x7d, 0xd3, 0xc9, 0xf7, 0xf6, + 0x03, 0x68, 0xed, 0x27, 0xd1, 0x31, 0xf7, 0x58, 0x22, 0x93, 0xfa, 0x1a, 0x34, 0x62, 0xbd, 0xd7, + 0x00, 0xf3, 0xfd, 0x09, 0x3d, 0xa5, 0x53, 0x7a, 0xfe, 0x60, 0x40, 0x3b, 0x53, 0xa4, 0x6e, 0x7d, + 0x08, 0xed, 0x4c, 0x72, 0xcc, 0xc3, 0x69, 0x24, 0xd5, 0x35, 0x6f, 0x7f, 0xf3, 0x65, 0xf0, 0x97, + 0x40, 0x9c, 0x56, 0x5c, 0x84, 0xf5, 0x53, 0xb8, 0x9c, 0x2b, 0x2b, 0xb8, 0x44, 0xe1, 0x68, 0xde, + 0x7e, 0xeb, 0x7c, 0xa5, 0x05, 0xdf, 0x6c, 0xc4, 0x67, 0x68, 0xc2, 0x9e, 0x01, 0x39, 0xcb, 0xfa, + 0xc2, 0xc4, 0x7c, 0x17, 0xaa, 0x2a, 0x26, 0xa5, 0x15, 0x62, 0xa2, 0x44, 0xec, 0x3b, 0xe8, 0x29, + 0x9d, 0x11, 0xd2, 0xb8, 0x0b, 0x27, 0x84, 0xfd, 0xb0, 0x90, 0x4c, 0x72, 0x41, 0xee, 0x40, 0x55, + 0xfa, 0x43, 0x09, 0x5f, 0xec, 0xcd, 0x2b, 0x09, 0xfb, 0xf7, 0x06, 0x90, 0xdd, 0x88, 0x87, 0x78, + 0x5f, 0xc1, 0x64, 0x02, 0x95, 0x23, 0x1e, 0x66, 0xc5, 0x45, 0xae, 0x4f, 0x56, 0x87, 0xd2, 0xe9, + 0xea, 0x60, 0x41, 0xf9, 0x88, 0x2d, 0x64, 0x7a, 0x9a, 0x0e, 0x2e, 0x11, 0xfd, 0x31, 0xf5, 0xe7, + 0x4c, 0x3f, 0x2e, 0xb5, 0xf9, 0xff, 0x3e, 0xac, 0x3f, 0x1b, 0xb0, 0x7e, 0x90, 0x46, 0x49, 0xb1, + 0x34, 0x9e, 0x80, 0x69, 0x9c, 0x86, 0xb9, 0x8c, 0x65, 0xe9, 0x44, 0x2c, 0xef, 0x64, 0x60, 0xcb, + 0x2b, 0xb8, 0xf0, 0x15, 0x58, 0xf4, 0x3b, 0x03, 0xa0, 0x60, 0xcc, 0xff, 0x1e, 0x59, 0xf2, 0x43, + 0xb0, 0xdc, 0x79, 0x30, 0xf7, 0x29, 0x62, 0x50, 0xef, 0x65, 0x95, 0x9e, 0xb0, 0xbe, 0x14, 0x56, + 0x49, 0x76, 0xa6, 0x39, 0x94, 0x0b, 0x7e, 0xb5, 0x3f, 0x2f, 0x41, 0x67, 0x7f, 0x91, 0xce, 0x0a, + 0xd8, 0xaf, 0x62, 0x15, 0x41, 0xbf, 0xe4, 0x4d, 0xaa, 0x2e, 0xf7, 0x23, 0x8f, 0xbc, 0x07, 0x26, + 0x0b, 0xe8, 0xea, 0xa0, 0x1a, 0x2c, 0xa0, 0x0a, 0xcd, 0xf7, 0x00, 0xd7, 0xd8, 0xc1, 0xa7, 0xab, + 0x84, 0xac, 0xce, 0x02, 0xba, 0x1b, 0x85, 0x53, 0xf2, 0x6d, 0xa8, 0x48, 0xd9, 0xca, 0xc5, 0x65, + 0xa5, 0x00, 0xb6, 0x96, 0x78, 0x3e, 0xf1, 0xb9, 0x98, 0xa9, 0xd6, 0x52, 0x55, 0xad, 0x45, 0xd3, + 0x64, 0x6b, 0x39, 0x95, 0x10, 0xb5, 0xaf, 0x94, 0x10, 0x1f, 0x97, 0xe1, 0x12, 0x36, 0x4a, 0x35, + 0x20, 0x38, 0xaa, 0x41, 0x15, 0xbb, 0x97, 0xf6, 0x6e, 0xa1, 0x7b, 0x79, 0xa4, 0x0f, 0x96, 0x9e, + 0x3e, 0x84, 0x9b, 0xf0, 0x58, 0x32, 0x95, 0x64, 0xc8, 0x3a, 0x8a, 0x7e, 0x20, 0xc9, 0x23, 0x8f, + 0x74, 0xa1, 0xae, 0x5e, 0x80, 0xe8, 0x96, 0x65, 0x35, 0xcf, 0xb6, 0xe4, 0x35, 0x30, 0xa9, 0x38, + 0x1a, 0xbb, 0xd1, 0x3c, 0x4c, 0xf5, 0x13, 0x6e, 0x50, 0x71, 0xb4, 0x8b, 0x7b, 0x3c, 0x0c, 0x78, + 0xa8, 0x0f, 0x95, 0x0b, 0x1a, 0x01, 0x0f, 0xd5, 0xe1, 0x0c, 0xcc, 0x29, 0x63, 0x63, 0x9f, 0x07, + 0x3c, 0xed, 0xd6, 0x64, 0x6d, 0xbe, 0x3a, 0x50, 0x9e, 0x1d, 0x60, 0x9d, 0xc9, 0x0d, 0xc7, 0xc2, + 0xb3, 0x73, 0x13, 0x4d, 0xfe, 0xe4, 0x6f, 0x5b, 0xfd, 0x43, 0x9e, 0xce, 0xe6, 0x93, 0x81, 0x1b, + 0x05, 0x43, 0x3d, 0xdc, 0xa9, 0x7f, 0x6f, 0x0b, 0xef, 0x68, 0x88, 0x53, 0x94, 0x90, 0x02, 0xc2, + 0x69, 0x4c, 0x19, 0xdb, 0x43, 0xe5, 0x64, 0x0b, 0x3d, 0xcd, 0x62, 0x9a, 0xb0, 0xf1, 0x21, 0x15, + 0xdd, 0xba, 0x04, 0x02, 0x9a, 0xf4, 0x7d, 0x2a, 0x90, 0x81, 0x3d, 0x61, 0xee, 0x3c, 0x55, 0x0c, + 0x0d, 0xc5, 0xa0, 0x49, 0xc8, 0xd0, 0x07, 0x0b, 0x0d, 0x11, 0xd1, 0x3c, 0x71, 0x99, 0xb6, 0xc7, + 0x94, 0x5c, 0x9d, 0x80, 0x87, 0x07, 0x92, 0x2c, 0xad, 0xb2, 0x3f, 0x2e, 0x41, 0x1b, 0x03, 0x31, + 0xda, 0xd9, 0xd5, 0x63, 0x64, 0x1f, 0xac, 0x09, 0x0d, 0xbd, 0x31, 0x9f, 0xb8, 0x63, 0x16, 0xd2, + 0x89, 0xcf, 0x54, 0x28, 0x1a, 0x4e, 0x07, 0xe9, 0xa3, 0x89, 0x7b, 0x5f, 0x51, 0xc9, 0x4d, 0xd8, + 0x44, 0xa6, 0x3c, 0x64, 0x61, 0xca, 0x92, 0x63, 0xea, 0xeb, 0x98, 0x10, 0x3e, 0x71, 0x75, 0x60, + 0x47, 0xfa, 0x84, 0xbc, 0x05, 0x48, 0xcd, 0x71, 0xcd, 0x68, 0x18, 0x32, 0x5f, 0x57, 0x57, 0x8b, + 0x4f, 0x5c, 0x8d, 0x4c, 0xd1, 0xd1, 0x4c, 0xe4, 0x3e, 0x66, 0x89, 0xe0, 0x51, 0xa8, 0x92, 0xda, + 0x01, 0x3e, 0x71, 0x7f, 0xa4, 0x28, 0xa4, 0xa7, 0x18, 0xe2, 0x28, 0x91, 0xb9, 0x50, 0x95, 0x0c, + 0x26, 0x9f, 0xb8, 0xfb, 0x51, 0x82, 0x69, 0x70, 0x03, 0x2e, 0xf9, 0x32, 0xd1, 0xc7, 0x3a, 0x6f, + 0xb8, 0x27, 0x64, 0xe8, 0xca, 0xce, 0xba, 0x3a, 0xd0, 0x33, 0xaf, 0x27, 0xec, 0x5f, 0x18, 0xb0, + 0x79, 0x20, 0x93, 0x44, 0x26, 0xee, 0xa3, 0xbc, 0xb6, 0x7e, 0x17, 0x6a, 0x4a, 0x5a, 0x7a, 0xe1, + 0xa2, 0xe3, 0xae, 0x96, 0xc1, 0x94, 0x52, 0xa9, 0x97, 0x25, 0xab, 0xe9, 0x34, 0x14, 0x61, 0xe4, + 0x9d, 0x53, 0x7c, 0x16, 0xb0, 0xb1, 0x47, 0x45, 0x7a, 0x12, 0x8e, 0x20, 0x13, 0xb8, 0xec, 0x53, + 0x91, 0xea, 0x59, 0x21, 0x67, 0x17, 0x5d, 0x43, 0xe6, 0xe4, 0xe0, 0xc5, 0xf0, 0xbe, 0xcc, 0x3c, + 0x67, 0xc3, 0x3f, 0x7b, 0x87, 0xfd, 0x27, 0x03, 0x67, 0x27, 0xee, 0x32, 0x87, 0xb9, 0x51, 0xe2, + 0x89, 0x57, 0xe9, 0x84, 0x1f, 0xc3, 0xa6, 0x8f, 0x63, 0x4a, 0x66, 0x51, 0xa2, 0xae, 0x94, 0x0f, + 0xb7, 0x79, 0xfb, 0xfa, 0x39, 0x05, 0x46, 0x01, 0x74, 0x88, 0x52, 0x51, 0xc4, 0x6c, 0x4f, 0xa1, + 0x59, 0xd8, 0x9f, 0xed, 0xa0, 0x45, 0x67, 0x2f, 0x5b, 0x52, 0x69, 0xe5, 0x61, 0xe3, 0x3f, 0x65, + 0x20, 0x3f, 0x60, 0x29, 0xf5, 0x68, 0x4a, 0xb1, 0xba, 0x71, 0x91, 0x72, 0x57, 0x3e, 0xd2, 0xc3, + 0x24, 0x9a, 0xc7, 0xfa, 0xf9, 0xe1, 0x8d, 0x6d, 0x07, 0x24, 0x49, 0x15, 0x94, 0x01, 0x6c, 0x68, + 0x5b, 0xc7, 0x82, 0x06, 0x31, 0x96, 0x35, 0xfe, 0x54, 0x01, 0x68, 0x3b, 0x97, 0xf4, 0xd1, 0x81, + 0x3c, 0x39, 0xe0, 0x4f, 0x19, 0x16, 0xf7, 0x80, 0xd1, 0x70, 0x95, 0xc6, 0x20, 0x05, 0x50, 0x30, + 0xfd, 0x88, 0xc6, 0x2b, 0x75, 0x05, 0x14, 0x20, 0xdf, 0x82, 0xf5, 0x29, 0x4f, 0x44, 0xba, 0xcc, + 0x32, 0xf9, 0xc6, 0xca, 0x4e, 0x47, 0x92, 0x97, 0x6f, 0xe4, 0x3a, 0x74, 0x64, 0x4e, 0x2e, 0xf9, + 0x6a, 0x92, 0xaf, 0x8d, 0xd4, 0x25, 0xdb, 0x7b, 0xaa, 0xbe, 0x2a, 0x47, 0xd7, 0x57, 0x68, 0x90, + 0x01, 0x0f, 0x55, 0x83, 0x44, 0x0d, 0xf4, 0x89, 0xd6, 0xd0, 0x58, 0x45, 0x03, 0x7d, 0xa2, 0x34, + 0x3c, 0x80, 0x56, 0xc0, 0x3c, 0x4e, 0x33, 0x18, 0xe6, 0xc5, 0x95, 0x34, 0x95, 0xa0, 0xd4, 0x63, + 0xff, 0xc3, 0x00, 0x4b, 0xae, 0xee, 0xa6, 0x98, 0x79, 0x34, 0xc5, 0x82, 0xf4, 0x92, 0xe1, 0x60, + 0xb3, 0x98, 0x60, 0xe5, 0x6c, 0x9c, 0x21, 0xba, 0x61, 0xab, 0x4f, 0x39, 0xd5, 0x8b, 0x09, 0x54, + 0xd8, 0x93, 0x38, 0x92, 0xe1, 0xaa, 0x3a, 0x72, 0x8d, 0x2f, 0x68, 0x39, 0x5a, 0xa8, 0x18, 0x2c, + 0xa7, 0x86, 0xab, 0x85, 0xa9, 0xa1, 0x26, 0x15, 0xe5, 0x03, 0x81, 0x3e, 0x92, 0xfa, 0xea, 0x52, + 0x1f, 0x1e, 0xdd, 0x47, 0x95, 0xa7, 0x5b, 0x7e, 0x43, 0x6a, 0x2d, 0xb6, 0x7c, 0xfb, 0x67, 0x60, + 0xde, 0x15, 0x82, 0xa5, 0xfb, 0x94, 0x27, 0xa8, 0x8a, 0xe2, 0xa6, 0x60, 0x9b, 0xdc, 0x8f, 0x3c, + 0xf2, 0x18, 0xda, 0x82, 0x1f, 0x86, 0xcc, 0x53, 0x00, 0xb3, 0x4f, 0x97, 0x9b, 0x2f, 0x29, 0x45, + 0x92, 0x5d, 0xc2, 0x7f, 0x7f, 0x9a, 0xdf, 0xe1, 0xb4, 0xc4, 0x92, 0x2e, 0xec, 0xdf, 0x1a, 0x70, + 0xe5, 0xcb, 0x19, 0xe5, 0x6f, 0x1d, 0x0a, 0x28, 0x4b, 0xc6, 0x38, 0xa1, 0x67, 0xbf, 0x75, 0x64, + 0xc4, 0x87, 0x6c, 0x71, 0xce, 0x68, 0x9f, 0xbf, 0xf8, 0xf2, 0xca, 0x43, 0xe8, 0xeb, 0x60, 0x22, + 0x50, 0x9a, 0xce, 0x13, 0xf5, 0x1d, 0xd0, 0x72, 0x96, 0x84, 0x1b, 0x9f, 0x18, 0xd9, 0x6f, 0x29, + 0x58, 0x04, 0xc9, 0x3a, 0x34, 0x1f, 0x87, 0x22, 0x66, 0x2e, 0x9f, 0x72, 0xe6, 0x59, 0x6b, 0xa4, + 0x01, 0x15, 0xec, 0xb8, 0x96, 0x41, 0xda, 0x60, 0xe6, 0xdf, 0x3c, 0x56, 0x89, 0xb4, 0xa0, 0x91, + 0x7d, 0xb4, 0x58, 0x65, 0x3c, 0xcc, 0x7f, 0x23, 0xb1, 0x2a, 0xc4, 0x84, 0xaa, 0x43, 0x9f, 0x46, + 0x89, 0x55, 0x25, 0x75, 0x28, 0xdf, 0xe3, 0xd4, 0xaa, 0xa1, 0xa6, 0xbb, 0xfb, 0xa3, 0x77, 0xac, + 0x3a, 0x92, 0x1e, 0x07, 0xd4, 0x6a, 0x20, 0x09, 0x07, 0x56, 0xcb, 0x24, 0x4d, 0xa8, 0xeb, 0xc6, + 0x6e, 0x01, 0xaa, 0xce, 0x3e, 0x01, 0xad, 0x26, 0xea, 0x92, 0xdf, 0x17, 0x56, 0x6b, 0xe7, 0x83, + 0x4f, 0x9f, 0xf5, 0x8c, 0xcf, 0x9e, 0xf5, 0x8c, 0xbf, 0x3f, 0xeb, 0x19, 0xbf, 0x7c, 0xde, 0x5b, + 0xfb, 0xe3, 0xf3, 0x9e, 0xf1, 0xd9, 0xf3, 0xde, 0xda, 0x5f, 0x9e, 0xf7, 0xd6, 0x7e, 0xb2, 0x57, + 0x98, 0x5e, 0x46, 0x59, 0x2c, 0xf7, 0xe8, 0x44, 0x0c, 0xf3, 0xc8, 0xbe, 0xed, 0x46, 0x09, 0x2b, + 0x6e, 0x11, 0xf3, 0x30, 0x88, 0xbc, 0xb9, 0xcf, 0x44, 0xf6, 0xe3, 0x98, 0x9c, 0x73, 0x26, 0x35, + 0xf9, 0x8b, 0xd5, 0x3b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x3f, 0xe6, 0xeb, 0x89, 0x3d, 0x13, + 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { @@ -2106,6 +2302,61 @@ func (m *CoinbasePriceState) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *StorkPriceState) 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 *StorkPriceState) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *StorkPriceState) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.PriceState.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintOracle(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + { + size := m.Value.Size() + i -= size + if _, err := m.Value.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintOracle(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + if len(m.Symbol) > 0 { + i -= len(m.Symbol) + copy(dAtA[i:], m.Symbol) + i = encodeVarintOracle(dAtA, i, uint64(len(m.Symbol))) + i-- + dAtA[i] = 0x12 + } + if m.Timestamp != 0 { + i = encodeVarintOracle(dAtA, i, uint64(m.Timestamp)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func (m *PriceState) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -2331,21 +2582,21 @@ func (m *BandIBCParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l if len(m.LegacyOracleIds) > 0 { - dAtA9 := make([]byte, len(m.LegacyOracleIds)*10) - var j8 int + dAtA10 := make([]byte, len(m.LegacyOracleIds)*10) + var j9 int for _, num1 := range m.LegacyOracleIds { num := uint64(num1) for num >= 1<<7 { - dAtA9[j8] = uint8(uint64(num)&0x7f | 0x80) + dAtA10[j9] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j8++ + j9++ } - dAtA9[j8] = uint8(num) - j8++ + dAtA10[j9] = uint8(num) + j9++ } - i -= j8 - copy(dAtA[i:], dAtA9[:j8]) - i = encodeVarintOracle(dAtA, i, uint64(j8)) + i -= j9 + copy(dAtA[i:], dAtA10[:j9]) + i = encodeVarintOracle(dAtA, i, uint64(j9)) i-- dAtA[i] = 0x32 } @@ -2710,6 +2961,102 @@ func (m *PriceAttestation) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *AssetPair) 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 *AssetPair) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *AssetPair) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.SignedPrices) > 0 { + for iNdEx := len(m.SignedPrices) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.SignedPrices[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintOracle(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } + if len(m.AssetId) > 0 { + i -= len(m.AssetId) + copy(dAtA[i:], m.AssetId) + i = encodeVarintOracle(dAtA, i, uint64(len(m.AssetId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *SignedPriceOfAssetPair) 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 *SignedPriceOfAssetPair) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *SignedPriceOfAssetPair) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Signature) > 0 { + i -= len(m.Signature) + copy(dAtA[i:], m.Signature) + i = encodeVarintOracle(dAtA, i, uint64(len(m.Signature))) + i-- + dAtA[i] = 0x22 + } + { + size := m.Price.Size() + i -= size + if _, err := m.Price.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintOracle(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + if m.Timestamp != 0 { + i = encodeVarintOracle(dAtA, i, uint64(m.Timestamp)) + i-- + dAtA[i] = 0x10 + } + if len(m.PublisherKey) > 0 { + i -= len(m.PublisherKey) + copy(dAtA[i:], m.PublisherKey) + i = encodeVarintOracle(dAtA, i, uint64(len(m.PublisherKey))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintOracle(dAtA []byte, offset int, v uint64) int { offset -= sovOracle(v) base := offset @@ -2928,7 +3275,27 @@ func (m *CoinbasePriceState) Size() (n int) { return n } -func (m *PriceState) Size() (n int) { +func (m *StorkPriceState) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Timestamp != 0 { + n += 1 + sovOracle(uint64(m.Timestamp)) + } + l = len(m.Symbol) + if l > 0 { + n += 1 + l + sovOracle(uint64(l)) + } + l = m.Value.Size() + n += 1 + l + sovOracle(uint64(l)) + l = m.PriceState.Size() + n += 1 + l + sovOracle(uint64(l)) + return n +} + +func (m *PriceState) Size() (n int) { if m == nil { return 0 } @@ -3179,6 +3546,47 @@ func (m *PriceAttestation) Size() (n int) { return n } +func (m *AssetPair) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.AssetId) + if l > 0 { + n += 1 + l + sovOracle(uint64(l)) + } + if len(m.SignedPrices) > 0 { + for _, e := range m.SignedPrices { + l = e.Size() + n += 1 + l + sovOracle(uint64(l)) + } + } + return n +} + +func (m *SignedPriceOfAssetPair) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.PublisherKey) + if l > 0 { + n += 1 + l + sovOracle(uint64(l)) + } + if m.Timestamp != 0 { + n += 1 + sovOracle(uint64(m.Timestamp)) + } + l = m.Price.Size() + n += 1 + l + sovOracle(uint64(l)) + l = len(m.Signature) + if l > 0 { + n += 1 + l + sovOracle(uint64(l)) + } + return n +} + func sovOracle(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -4640,6 +5048,174 @@ func (m *CoinbasePriceState) Unmarshal(dAtA []byte) error { } return nil } +func (m *StorkPriceState) 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 ErrIntOverflowOracle + } + 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: StorkPriceState: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: StorkPriceState: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) + } + m.Timestamp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Timestamp |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Symbol", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + 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 ErrInvalidLengthOracle + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Symbol = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + 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 ErrIntOverflowOracle + } + 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 ErrInvalidLengthOracle + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PriceState", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthOracle + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.PriceState.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipOracle(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthOracle + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *PriceState) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -6476,6 +7052,291 @@ func (m *PriceAttestation) Unmarshal(dAtA []byte) error { } return nil } +func (m *AssetPair) 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 ErrIntOverflowOracle + } + 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: AssetPair: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AssetPair: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AssetId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + 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 ErrInvalidLengthOracle + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AssetId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SignedPrices", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthOracle + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SignedPrices = append(m.SignedPrices, &SignedPriceOfAssetPair{}) + if err := m.SignedPrices[len(m.SignedPrices)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipOracle(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthOracle + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SignedPriceOfAssetPair) 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 ErrIntOverflowOracle + } + 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: SignedPriceOfAssetPair: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SignedPriceOfAssetPair: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PublisherKey", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + 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 ErrInvalidLengthOracle + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PublisherKey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) + } + m.Timestamp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Timestamp |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + 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 ErrInvalidLengthOracle + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Signature", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthOracle + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Signature = append(m.Signature[:0], dAtA[iNdEx:postIndex]...) + if m.Signature == nil { + m.Signature = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipOracle(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthOracle + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipOracle(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/oracle/types/params.go b/chain/oracle/types/params.go index e700debc..32aabfb1 100644 --- a/chain/oracle/types/params.go +++ b/chain/oracle/types/params.go @@ -11,7 +11,7 @@ import ( var _ paramtypes.ParamSet = &Params{} var ( - LargestDecPrice math.LegacyDec = math.LegacyMustNewDecFromStr("10000000") + LargestDecPrice = math.LegacyMustNewDecFromStr("10000000") ) const ( diff --git a/chain/oracle/types/proposal.go b/chain/oracle/types/proposal.go index 20009528..2a6e8ce2 100644 --- a/chain/oracle/types/proposal.go +++ b/chain/oracle/types/proposal.go @@ -1,6 +1,7 @@ package types import ( + "fmt" "strings" "cosmossdk.io/errors" @@ -9,6 +10,7 @@ import ( govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" bandobi "github.com/bandprotocol/bandchain-packet/obi" + "github.com/ethereum/go-ethereum/common" bandprice "github.com/InjectiveLabs/sdk-go/chain/oracle/bandchain/hooks/price" bandoracle "github.com/InjectiveLabs/sdk-go/chain/oracle/bandchain/oracle/types" @@ -25,6 +27,8 @@ const ( ProposalEnableBandIBC string = "ProposalTypeEnableBandIBC" ProposalTypeGrantProviderPrivilege string = "ProposalTypeGrantProviderPrivilege" ProposalTypeRevokeProviderPrivilege string = "ProposalTypeRevokeProviderPrivilege" + ProposalTypeGrantStorkPublisherPrivilege string = "ProposalTypeGrantStorkPublisherPrivilege" + ProposalTypeRevokeStorkPublisherPrivilege string = "ProposalTypeRevokeStorkPublisherPrivilege" ) func init() { @@ -37,6 +41,8 @@ func init() { govtypes.RegisterProposalType(ProposalUpdateBandOracleRequest) govtypes.RegisterProposalType(ProposalTypeGrantProviderPrivilege) govtypes.RegisterProposalType(ProposalTypeRevokeProviderPrivilege) + govtypes.RegisterProposalType(ProposalTypeGrantStorkPublisherPrivilege) + govtypes.RegisterProposalType(ProposalTypeRevokeStorkPublisherPrivilege) } // Implements Proposal Interface @@ -49,6 +55,8 @@ var _ govtypes.Content = &UpdateBandOracleRequestProposal{} var _ govtypes.Content = &EnableBandIBCProposal{} var _ govtypes.Content = &GrantProviderPrivilegeProposal{} var _ govtypes.Content = &RevokeProviderPrivilegeProposal{} +var _ govtypes.Content = &GrantStorkPublisherPrivilegeProposal{} +var _ govtypes.Content = &RevokeStorkPublisherPrivilegeProposal{} // GetTitle returns the title of this proposal. func (p *GrantBandOraclePrivilegeProposal) GetTitle() string { @@ -415,3 +423,61 @@ func (p *UpdateBandOracleRequestProposal) ValidateBasic() error { return govtypes.ValidateAbstract(p) } + +// GetTitle returns the title of this proposal. +func (p *GrantStorkPublisherPrivilegeProposal) GetTitle() string { + return p.Title +} + +// GetDescription returns the description of this proposal. +func (p *GrantStorkPublisherPrivilegeProposal) GetDescription() string { + return p.Description +} + +// ProposalRoute returns router key of this proposal. +func (p *GrantStorkPublisherPrivilegeProposal) ProposalRoute() string { return RouterKey } + +// ProposalType returns proposal type of this proposal. +func (p *GrantStorkPublisherPrivilegeProposal) ProposalType() string { + return ProposalTypeGrantBandOraclePrivilege +} + +// ValidateBasic returns ValidateBasic result of this proposal. +func (p *GrantStorkPublisherPrivilegeProposal) ValidateBasic() error { + for _, publisher := range p.StorkPublishers { + if !common.IsHexAddress(publisher) { + return fmt.Errorf("invalid publisher address: %s", publisher) + } + } + + return nil +} + +// GetTitle returns the title of this proposal. +func (p *RevokeStorkPublisherPrivilegeProposal) GetTitle() string { + return p.Title +} + +// GetDescription returns the description of this proposal. +func (p *RevokeStorkPublisherPrivilegeProposal) GetDescription() string { + return p.Description +} + +// ProposalRoute returns router key of this proposal. +func (p *RevokeStorkPublisherPrivilegeProposal) ProposalRoute() string { return RouterKey } + +// ProposalType returns proposal type of this proposal. +func (p *RevokeStorkPublisherPrivilegeProposal) ProposalType() string { + return ProposalTypeGrantBandOraclePrivilege +} + +// ValidateBasic returns ValidateBasic result of this proposal. +func (p *RevokeStorkPublisherPrivilegeProposal) ValidateBasic() error { + for _, publisher := range p.StorkPublishers { + if !common.IsHexAddress(publisher) { + return fmt.Errorf("invalid publisher address: %s", publisher) + } + } + + return nil +} diff --git a/chain/oracle/types/proposal.pb.go b/chain/oracle/types/proposal.pb.go index 78b86f96..ee61f7b4 100644 --- a/chain/oracle/types/proposal.pb.go +++ b/chain/oracle/types/proposal.pb.go @@ -384,6 +384,84 @@ func (m *EnableBandIBCProposal) XXX_DiscardUnknown() { var xxx_messageInfo_EnableBandIBCProposal proto.InternalMessageInfo +type GrantStorkPublisherPrivilegeProposal 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"` + StorkPublishers []string `protobuf:"bytes,3,rep,name=stork_publishers,json=storkPublishers,proto3" json:"stork_publishers,omitempty"` +} + +func (m *GrantStorkPublisherPrivilegeProposal) Reset() { *m = GrantStorkPublisherPrivilegeProposal{} } +func (m *GrantStorkPublisherPrivilegeProposal) String() string { return proto.CompactTextString(m) } +func (*GrantStorkPublisherPrivilegeProposal) ProtoMessage() {} +func (*GrantStorkPublisherPrivilegeProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_c5a187f865fd0c5b, []int{9} +} +func (m *GrantStorkPublisherPrivilegeProposal) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *GrantStorkPublisherPrivilegeProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_GrantStorkPublisherPrivilegeProposal.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 *GrantStorkPublisherPrivilegeProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_GrantStorkPublisherPrivilegeProposal.Merge(m, src) +} +func (m *GrantStorkPublisherPrivilegeProposal) XXX_Size() int { + return m.Size() +} +func (m *GrantStorkPublisherPrivilegeProposal) XXX_DiscardUnknown() { + xxx_messageInfo_GrantStorkPublisherPrivilegeProposal.DiscardUnknown(m) +} + +var xxx_messageInfo_GrantStorkPublisherPrivilegeProposal proto.InternalMessageInfo + +type RevokeStorkPublisherPrivilegeProposal 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"` + StorkPublishers []string `protobuf:"bytes,3,rep,name=stork_publishers,json=storkPublishers,proto3" json:"stork_publishers,omitempty"` +} + +func (m *RevokeStorkPublisherPrivilegeProposal) Reset() { *m = RevokeStorkPublisherPrivilegeProposal{} } +func (m *RevokeStorkPublisherPrivilegeProposal) String() string { return proto.CompactTextString(m) } +func (*RevokeStorkPublisherPrivilegeProposal) ProtoMessage() {} +func (*RevokeStorkPublisherPrivilegeProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_c5a187f865fd0c5b, []int{10} +} +func (m *RevokeStorkPublisherPrivilegeProposal) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RevokeStorkPublisherPrivilegeProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RevokeStorkPublisherPrivilegeProposal.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 *RevokeStorkPublisherPrivilegeProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_RevokeStorkPublisherPrivilegeProposal.Merge(m, src) +} +func (m *RevokeStorkPublisherPrivilegeProposal) XXX_Size() int { + return m.Size() +} +func (m *RevokeStorkPublisherPrivilegeProposal) XXX_DiscardUnknown() { + xxx_messageInfo_RevokeStorkPublisherPrivilegeProposal.DiscardUnknown(m) +} + +var xxx_messageInfo_RevokeStorkPublisherPrivilegeProposal proto.InternalMessageInfo + func init() { proto.RegisterType((*GrantBandOraclePrivilegeProposal)(nil), "injective.oracle.v1beta1.GrantBandOraclePrivilegeProposal") proto.RegisterType((*RevokeBandOraclePrivilegeProposal)(nil), "injective.oracle.v1beta1.RevokeBandOraclePrivilegeProposal") @@ -394,6 +472,8 @@ func init() { proto.RegisterType((*AuthorizeBandOracleRequestProposal)(nil), "injective.oracle.v1beta1.AuthorizeBandOracleRequestProposal") proto.RegisterType((*UpdateBandOracleRequestProposal)(nil), "injective.oracle.v1beta1.UpdateBandOracleRequestProposal") proto.RegisterType((*EnableBandIBCProposal)(nil), "injective.oracle.v1beta1.EnableBandIBCProposal") + proto.RegisterType((*GrantStorkPublisherPrivilegeProposal)(nil), "injective.oracle.v1beta1.GrantStorkPublisherPrivilegeProposal") + proto.RegisterType((*RevokeStorkPublisherPrivilegeProposal)(nil), "injective.oracle.v1beta1.RevokeStorkPublisherPrivilegeProposal") } func init() { @@ -401,49 +481,54 @@ func init() { } var fileDescriptor_c5a187f865fd0c5b = []byte{ - // 671 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x96, 0xcf, 0x6e, 0xd3, 0x4e, - 0x10, 0xc7, 0xb3, 0x6d, 0xfa, 0xfb, 0xb5, 0x5b, 0x21, 0xc0, 0xb4, 0x52, 0x88, 0x90, 0x93, 0x5a, - 0x2a, 0x2d, 0x7f, 0x6a, 0xab, 0x70, 0xeb, 0x8d, 0x54, 0x50, 0x45, 0x54, 0x22, 0x18, 0x7a, 0xe1, - 0x62, 0xad, 0xed, 0x21, 0x5d, 0x70, 0xbc, 0xee, 0x7a, 0x13, 0xa9, 0x3c, 0x01, 0xe2, 0xc4, 0x23, - 0xf4, 0x11, 0x38, 0x70, 0xe3, 0x05, 0xaa, 0x8a, 0x43, 0x8f, 0x9c, 0x10, 0x4a, 0x91, 0xe0, 0xc6, - 0x0d, 0x71, 0x03, 0x65, 0x77, 0x1d, 0x9a, 0x42, 0x9a, 0xd0, 0x96, 0x3f, 0x97, 0xc8, 0x33, 0xf3, - 0xdd, 0x99, 0xf9, 0x4c, 0xc6, 0xc9, 0xe2, 0x39, 0x1a, 0x3f, 0x82, 0x40, 0xd0, 0x16, 0x38, 0x8c, - 0x93, 0x20, 0x02, 0xa7, 0xb5, 0xe8, 0x83, 0x20, 0x8b, 0x4e, 0xc2, 0x59, 0xc2, 0x52, 0x12, 0xd9, - 0x09, 0x67, 0x82, 0x19, 0x85, 0xae, 0xd0, 0x56, 0x42, 0x5b, 0x0b, 0x8b, 0x66, 0xc0, 0xd2, 0x06, - 0x4b, 0x1d, 0x9f, 0xa4, 0xdf, 0x4f, 0x07, 0x8c, 0xc6, 0xea, 0x64, 0xf1, 0xbc, 0x8a, 0x7b, 0xd2, - 0x72, 0x94, 0xa1, 0x43, 0x53, 0x75, 0x56, 0x67, 0xca, 0xdf, 0x79, 0xd2, 0xde, 0xd9, 0xbe, 0x3d, - 0xe9, 0xca, 0x4a, 0x76, 0x96, 0x34, 0x68, 0xcc, 0x1c, 0xf9, 0xa9, 0x5c, 0xd6, 0x0e, 0xc2, 0xe5, - 0x15, 0x4e, 0x62, 0x51, 0x21, 0x71, 0x78, 0x47, 0x8a, 0x6b, 0x9c, 0xb6, 0x68, 0x04, 0x75, 0xa8, - 0x69, 0x1e, 0x63, 0x0a, 0x8f, 0x09, 0x2a, 0x22, 0x28, 0xa0, 0x32, 0x9a, 0x9f, 0x70, 0x95, 0x61, - 0x94, 0xf1, 0x64, 0x08, 0x69, 0xc0, 0x69, 0x22, 0x28, 0x8b, 0x0b, 0x23, 0x32, 0xb6, 0xdf, 0x65, - 0x14, 0xf1, 0x38, 0x87, 0x88, 0x6c, 0x02, 0x4f, 0x0b, 0xa3, 0xe5, 0xd1, 0xf9, 0x09, 0xb7, 0x6b, - 0x2f, 0xb9, 0x4f, 0xb7, 0x4a, 0xb9, 0x8f, 0x5b, 0xa5, 0xdc, 0xce, 0xcb, 0x85, 0xa2, 0x46, 0xac, - 0xb3, 0x56, 0x36, 0x23, 0x7b, 0x99, 0xc5, 0x02, 0x62, 0xf1, 0xec, 0xc3, 0x8b, 0xcb, 0x73, 0x9a, - 0x69, 0x50, 0x9f, 0xd6, 0x6b, 0x84, 0x67, 0x5c, 0x68, 0xb1, 0xc7, 0xf0, 0xa7, 0x69, 0xee, 0x0d, - 0x4f, 0x33, 0xaf, 0x69, 0x06, 0x36, 0x6a, 0x7d, 0x46, 0x78, 0x46, 0x32, 0xd7, 0x38, 0x0d, 0xe0, - 0x16, 0x40, 0x08, 0xfc, 0xe4, 0x70, 0x0c, 0x9c, 0xef, 0xec, 0x5f, 0x61, 0x54, 0x86, 0xe4, 0x73, - 0x27, 0xd7, 0x46, 0x93, 0x09, 0x28, 0xe4, 0x55, 0x2e, 0x69, 0xf4, 0x80, 0x8f, 0x1d, 0x1f, 0x7c, - 0x20, 0x92, 0xd5, 0x46, 0xd8, 0xd4, 0x2a, 0xd6, 0xa2, 0x27, 0x4a, 0x5d, 0xc4, 0xe3, 0x89, 0x4e, - 0xaa, 0xc9, 0xbb, 0x76, 0x0f, 0x67, 0xfe, 0x00, 0x67, 0x6d, 0x78, 0xce, 0xd9, 0x5e, 0xce, 0x3e, - 0x04, 0xd6, 0x7b, 0x84, 0x4b, 0x6a, 0x07, 0xfe, 0x1e, 0xe5, 0xc1, 0x6f, 0xf3, 0xee, 0xf0, 0x94, - 0x17, 0x7b, 0xd6, 0xb8, 0x3f, 0xe6, 0x17, 0x84, 0xad, 0x4c, 0xf3, 0xcf, 0x6e, 0xf1, 0xfd, 0xe1, - 0xb9, 0x2f, 0x1d, 0xe0, 0x3e, 0x64, 0x8d, 0xbf, 0x22, 0x6c, 0xdd, 0x68, 0x8a, 0x75, 0xc6, 0xe9, - 0x93, 0x7d, 0x2f, 0xba, 0x0b, 0x1b, 0x4d, 0x48, 0xc5, 0xb1, 0xd1, 0x6f, 0xe3, 0xff, 0xb9, 0x4a, - 0x25, 0xe9, 0x27, 0xaf, 0x5d, 0xb1, 0xfb, 0xfd, 0xe3, 0xd8, 0x3f, 0x54, 0xaf, 0xe4, 0xb7, 0xdf, - 0x96, 0x72, 0x6e, 0x96, 0xe1, 0x28, 0x13, 0x18, 0x8c, 0x66, 0xbd, 0x1a, 0xc1, 0xa5, 0xb5, 0x24, - 0x24, 0xe2, 0x37, 0xe0, 0x5f, 0xc5, 0x46, 0x08, 0x11, 0x08, 0xf0, 0x34, 0x83, 0x47, 0x43, 0xf5, - 0xc3, 0x9c, 0x77, 0xcf, 0xa8, 0x88, 0x2e, 0x55, 0x0d, 0x53, 0xc3, 0xc3, 0xd3, 0x4d, 0xd9, 0x88, - 0xa7, 0xba, 0xcf, 0x0e, 0xc9, 0x1d, 0xf9, 0xb5, 0xd1, 0xb9, 0xe7, 0x54, 0xa6, 0x1e, 0xe7, 0x51, - 0x5e, 0x9d, 0x01, 0x93, 0xb1, 0x3e, 0x21, 0x3c, 0x7d, 0x33, 0x26, 0x7e, 0x24, 0x35, 0xd5, 0xca, - 0xf2, 0xb1, 0x67, 0xb6, 0x86, 0x4f, 0xfb, 0x24, 0x0e, 0x3d, 0xea, 0x07, 0x5e, 0x42, 0x38, 0x69, - 0xa4, 0x7a, 0x75, 0xe6, 0x0e, 0xe7, 0xef, 0xd4, 0x96, 0x72, 0xbd, 0x36, 0xa7, 0x3a, 0x59, 0xaa, - 0x7e, 0xa0, 0x9c, 0x4b, 0x2b, 0xc3, 0xb3, 0x5f, 0xd0, 0xec, 0x3f, 0xe5, 0xaa, 0x3c, 0xdc, 0x6e, - 0x9b, 0x68, 0xb7, 0x6d, 0xa2, 0x77, 0x6d, 0x13, 0x3d, 0xdf, 0x33, 0x73, 0xbb, 0x7b, 0x66, 0xee, - 0xcd, 0x9e, 0x99, 0x7b, 0xb0, 0x5a, 0xa7, 0x62, 0xbd, 0xe9, 0xdb, 0x01, 0x6b, 0x38, 0xd5, 0xac, - 0xd5, 0x55, 0xe2, 0xa7, 0x4e, 0xb7, 0xf1, 0x85, 0x80, 0x71, 0xd8, 0x6f, 0xae, 0x13, 0x1a, 0x3b, - 0x0d, 0x16, 0x36, 0x23, 0x48, 0xb3, 0x7b, 0x91, 0xd8, 0x4c, 0x20, 0xf5, 0xff, 0x93, 0x97, 0x9f, - 0xeb, 0xdf, 0x02, 0x00, 0x00, 0xff, 0xff, 0xfd, 0xa0, 0xb4, 0x57, 0xcc, 0x09, 0x00, 0x00, + // 739 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x96, 0x41, 0x4f, 0x13, 0x5b, + 0x14, 0xc7, 0x7b, 0xa1, 0xbc, 0x07, 0x97, 0xbc, 0xc0, 0xeb, 0x83, 0xa4, 0xaf, 0x31, 0xd3, 0x32, + 0x11, 0x01, 0x81, 0x4e, 0xd0, 0x1d, 0x3b, 0x4b, 0x94, 0x34, 0x92, 0x58, 0x07, 0xd1, 0xc4, 0xcd, + 0xe4, 0xce, 0xcc, 0xb5, 0xbd, 0x32, 0x9d, 0x3b, 0xdc, 0x7b, 0xdb, 0x04, 0x3f, 0x81, 0x71, 0xe5, + 0x47, 0xe0, 0x23, 0xb8, 0x70, 0xe7, 0x17, 0x20, 0xc4, 0x05, 0x4b, 0x57, 0x46, 0x5b, 0x13, 0xdd, + 0xb9, 0x33, 0xee, 0x34, 0xbd, 0xf7, 0x4e, 0x6d, 0xd1, 0xd2, 0x0a, 0xa8, 0x6c, 0x9a, 0x39, 0xe7, + 0x9e, 0x39, 0xe7, 0xfc, 0x4e, 0xff, 0x73, 0x66, 0xe0, 0x1c, 0x09, 0x1f, 0x62, 0x4f, 0x90, 0x3a, + 0xb6, 0x28, 0x43, 0x5e, 0x80, 0xad, 0xfa, 0x8a, 0x8b, 0x05, 0x5a, 0xb1, 0x22, 0x46, 0x23, 0xca, + 0x51, 0x90, 0x8f, 0x18, 0x15, 0x34, 0x95, 0x6e, 0x07, 0xe6, 0x55, 0x60, 0x5e, 0x07, 0x66, 0x0c, + 0x8f, 0xf2, 0x2a, 0xe5, 0x96, 0x8b, 0xf8, 0xb7, 0xbb, 0x3d, 0x4a, 0x42, 0x75, 0x67, 0xe6, 0x7f, + 0x75, 0xee, 0x48, 0xcb, 0x52, 0x86, 0x3e, 0x9a, 0x2a, 0xd3, 0x32, 0x55, 0xfe, 0xd6, 0x95, 0xf6, + 0xce, 0xf6, 0xec, 0x49, 0x57, 0x56, 0x61, 0xff, 0xa2, 0x2a, 0x09, 0xa9, 0x25, 0x7f, 0x95, 0xcb, + 0x3c, 0x00, 0x30, 0xb7, 0xce, 0x50, 0x28, 0x0a, 0x28, 0xf4, 0x6f, 0xc9, 0xe0, 0x12, 0x23, 0x75, + 0x12, 0xe0, 0x32, 0x2e, 0x69, 0x9e, 0xd4, 0x14, 0x1c, 0x11, 0x44, 0x04, 0x38, 0x0d, 0x72, 0x60, + 0x7e, 0xcc, 0x56, 0x46, 0x2a, 0x07, 0xc7, 0x7d, 0xcc, 0x3d, 0x46, 0x22, 0x41, 0x68, 0x98, 0x1e, + 0x92, 0x67, 0x9d, 0xae, 0x54, 0x06, 0x8e, 0x32, 0x1c, 0xa0, 0x5d, 0xcc, 0x78, 0x7a, 0x38, 0x37, + 0x3c, 0x3f, 0x66, 0xb7, 0xed, 0x55, 0xfb, 0xf1, 0x5e, 0x36, 0xf1, 0x61, 0x2f, 0x9b, 0x38, 0x78, + 0xbe, 0x9c, 0xd1, 0x88, 0x65, 0x5a, 0x8f, 0x67, 0x94, 0x5f, 0xa3, 0xa1, 0xc0, 0xa1, 0x78, 0xf2, + 0xfe, 0xd9, 0xe5, 0x39, 0xcd, 0xd4, 0xaf, 0x4f, 0xf3, 0x25, 0x80, 0x33, 0x36, 0xae, 0xd3, 0x6d, + 0xfc, 0xbb, 0x69, 0x36, 0x07, 0xa7, 0x99, 0xd7, 0x34, 0x7d, 0x1b, 0x35, 0x3f, 0x01, 0x38, 0x23, + 0x99, 0x4b, 0x8c, 0x78, 0xf8, 0x06, 0xc6, 0x3e, 0x66, 0x67, 0x87, 0x93, 0x82, 0xc9, 0x96, 0xfe, + 0xd2, 0xc3, 0xf2, 0x48, 0x5e, 0xb7, 0x72, 0xed, 0xd4, 0xa8, 0xc0, 0xe9, 0xa4, 0xca, 0x25, 0x8d, + 0x2e, 0xf0, 0x91, 0xd3, 0x83, 0xf7, 0x45, 0x32, 0x1b, 0x00, 0x1a, 0x3a, 0x8a, 0xd6, 0xc9, 0x99, + 0x52, 0x67, 0xe0, 0x68, 0xa4, 0x93, 0x6a, 0xf2, 0xb6, 0xdd, 0xc5, 0x99, 0x3c, 0xc2, 0x59, 0x1a, + 0x9c, 0x73, 0xb6, 0x9b, 0xb3, 0x07, 0x81, 0xf9, 0x0e, 0xc0, 0xac, 0xd2, 0xc0, 0x9f, 0xa3, 0x3c, + 0xfa, 0x6f, 0xde, 0x1e, 0x9c, 0xf2, 0x52, 0x97, 0x8c, 0x7b, 0x63, 0x7e, 0x06, 0xd0, 0x8c, 0x63, + 0xce, 0xad, 0x8a, 0xef, 0x0c, 0xce, 0xbd, 0x70, 0x84, 0xfb, 0x18, 0x19, 0x7f, 0x01, 0xd0, 0xbc, + 0x56, 0x13, 0x15, 0xca, 0xc8, 0xa3, 0x8e, 0x07, 0xdd, 0xc6, 0x3b, 0x35, 0xcc, 0xc5, 0xa9, 0xd1, + 0x6f, 0xc2, 0xbf, 0x99, 0x4a, 0x25, 0xe9, 0xc7, 0xaf, 0x2c, 0xe6, 0x7b, 0xbd, 0x71, 0xf2, 0xdf, + 0x55, 0x2f, 0x24, 0xf7, 0x5f, 0x67, 0x13, 0x76, 0x9c, 0xe1, 0x24, 0x13, 0xe8, 0x8f, 0x66, 0xbe, + 0x18, 0x82, 0xd9, 0xad, 0xc8, 0x47, 0xe2, 0x17, 0xe0, 0x2f, 0xc1, 0x94, 0x8f, 0x03, 0x2c, 0xb0, + 0xa3, 0x19, 0x1c, 0xe2, 0xab, 0xc5, 0x9c, 0xb4, 0x27, 0xd5, 0x89, 0x2e, 0x55, 0xf4, 0x79, 0xca, + 0x81, 0xd3, 0x35, 0xd9, 0x88, 0xa3, 0xba, 0x8f, 0x6f, 0x92, 0x1a, 0xf9, 0xb9, 0xd1, 0xd9, 0xff, + 0xa9, 0x4c, 0x5d, 0xce, 0x93, 0x3c, 0x3a, 0x7d, 0x26, 0x63, 0x7e, 0x04, 0x70, 0xfa, 0x7a, 0x88, + 0xdc, 0x40, 0xc6, 0x14, 0x0b, 0x6b, 0xa7, 0x9e, 0xd9, 0x16, 0x9c, 0x70, 0x51, 0xe8, 0x3b, 0xc4, + 0xf5, 0x9c, 0x08, 0x31, 0x54, 0xe5, 0x5a, 0x3a, 0x73, 0xc7, 0xf3, 0xb7, 0x6a, 0xcb, 0x70, 0x2d, + 0x9b, 0x7f, 0x5a, 0x59, 0x8a, 0xae, 0xa7, 0x9c, 0xab, 0xeb, 0x83, 0xb3, 0x5f, 0xd0, 0xec, 0x3f, + 0xe4, 0x32, 0xdf, 0x02, 0x78, 0x51, 0xae, 0xcd, 0x4d, 0x41, 0xd9, 0x76, 0xa9, 0xe6, 0x06, 0x84, + 0x57, 0xce, 0x72, 0x5d, 0x2c, 0xc0, 0x49, 0xde, 0x4a, 0xed, 0x44, 0x71, 0xee, 0xf8, 0x5d, 0x3e, + 0xc1, 0xbb, 0x4a, 0xf2, 0xd5, 0xbb, 0x83, 0x43, 0x2d, 0x76, 0x6e, 0xfc, 0x3e, 0xad, 0x9b, 0x4d, + 0x00, 0x67, 0xd5, 0xf2, 0x38, 0x07, 0x90, 0xf7, 0x06, 0x87, 0x5c, 0xea, 0x5a, 0x7c, 0x7d, 0x7a, + 0x2f, 0x3c, 0xd8, 0x6f, 0x18, 0xe0, 0xb0, 0x61, 0x80, 0x37, 0x0d, 0x03, 0x3c, 0x6d, 0x1a, 0x89, + 0xc3, 0xa6, 0x91, 0x78, 0xd5, 0x34, 0x12, 0xf7, 0x37, 0xca, 0x44, 0x54, 0x6a, 0x6e, 0xde, 0xa3, + 0x55, 0xab, 0x18, 0x8b, 0x6e, 0x03, 0xb9, 0xdc, 0x6a, 0x4b, 0x70, 0xd9, 0xa3, 0x0c, 0x77, 0x9a, + 0x15, 0x44, 0x42, 0xab, 0x4a, 0xfd, 0x5a, 0x80, 0x79, 0xfc, 0x85, 0x2b, 0x76, 0x23, 0xcc, 0xdd, + 0xbf, 0xe4, 0x67, 0xec, 0xd5, 0xaf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x1f, 0x49, 0x54, 0x14, 0x96, + 0x0b, 0x00, 0x00, } func (m *GrantBandOraclePrivilegeProposal) Marshal() (dAtA []byte, err error) { @@ -925,6 +1010,98 @@ func (m *EnableBandIBCProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *GrantStorkPublisherPrivilegeProposal) 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 *GrantStorkPublisherPrivilegeProposal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *GrantStorkPublisherPrivilegeProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.StorkPublishers) > 0 { + for iNdEx := len(m.StorkPublishers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.StorkPublishers[iNdEx]) + copy(dAtA[i:], m.StorkPublishers[iNdEx]) + i = encodeVarintProposal(dAtA, i, uint64(len(m.StorkPublishers[iNdEx]))) + 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 *RevokeStorkPublisherPrivilegeProposal) 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 *RevokeStorkPublisherPrivilegeProposal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RevokeStorkPublisherPrivilegeProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.StorkPublishers) > 0 { + for iNdEx := len(m.StorkPublishers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.StorkPublishers[iNdEx]) + copy(dAtA[i:], m.StorkPublishers[iNdEx]) + i = encodeVarintProposal(dAtA, i, uint64(len(m.StorkPublishers[iNdEx]))) + 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 @@ -1164,6 +1341,52 @@ func (m *EnableBandIBCProposal) Size() (n int) { return n } +func (m *GrantStorkPublisherPrivilegeProposal) 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)) + } + if len(m.StorkPublishers) > 0 { + for _, s := range m.StorkPublishers { + l = len(s) + n += 1 + l + sovProposal(uint64(l)) + } + } + return n +} + +func (m *RevokeStorkPublisherPrivilegeProposal) 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)) + } + if len(m.StorkPublishers) > 0 { + for _, s := range m.StorkPublishers { + l = len(s) + n += 1 + l + sovProposal(uint64(l)) + } + } + return n +} + func sovProposal(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -2758,6 +2981,298 @@ func (m *EnableBandIBCProposal) Unmarshal(dAtA []byte) error { } return nil } +func (m *GrantStorkPublisherPrivilegeProposal) 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: GrantStorkPublisherPrivilegeProposal: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GrantStorkPublisherPrivilegeProposal: 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 StorkPublishers", 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.StorkPublishers = append(m.StorkPublishers, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipProposal(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthProposal + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RevokeStorkPublisherPrivilegeProposal) 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: RevokeStorkPublisherPrivilegeProposal: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RevokeStorkPublisherPrivilegeProposal: 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 StorkPublishers", 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.StorkPublishers = append(m.StorkPublishers, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipProposal(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (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 diff --git a/chain/oracle/types/query.pb.go b/chain/oracle/types/query.pb.go index 38a42c17..09773598 100644 --- a/chain/oracle/types/query.pb.go +++ b/chain/oracle/types/query.pb.go @@ -706,6 +706,174 @@ func (m *QueryPythPriceStatesResponse) GetPriceStates() []*PythPriceState { return nil } +// QueryStorkPriceStatesRequest is the request type for the +// Query/StorkPriceStates RPC method. +type QueryStorkPriceStatesRequest struct { +} + +func (m *QueryStorkPriceStatesRequest) Reset() { *m = QueryStorkPriceStatesRequest{} } +func (m *QueryStorkPriceStatesRequest) String() string { return proto.CompactTextString(m) } +func (*QueryStorkPriceStatesRequest) ProtoMessage() {} +func (*QueryStorkPriceStatesRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_52f5d6f9962923ad, []int{16} +} +func (m *QueryStorkPriceStatesRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryStorkPriceStatesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryStorkPriceStatesRequest.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 *QueryStorkPriceStatesRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryStorkPriceStatesRequest.Merge(m, src) +} +func (m *QueryStorkPriceStatesRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryStorkPriceStatesRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryStorkPriceStatesRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryStorkPriceStatesRequest proto.InternalMessageInfo + +// QueryStorkPriceStatesResponse is the response type for the +// Query/StorkPriceStates RPC method. +type QueryStorkPriceStatesResponse struct { + PriceStates []*StorkPriceState `protobuf:"bytes,1,rep,name=price_states,json=priceStates,proto3" json:"price_states,omitempty"` +} + +func (m *QueryStorkPriceStatesResponse) Reset() { *m = QueryStorkPriceStatesResponse{} } +func (m *QueryStorkPriceStatesResponse) String() string { return proto.CompactTextString(m) } +func (*QueryStorkPriceStatesResponse) ProtoMessage() {} +func (*QueryStorkPriceStatesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_52f5d6f9962923ad, []int{17} +} +func (m *QueryStorkPriceStatesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryStorkPriceStatesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryStorkPriceStatesResponse.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 *QueryStorkPriceStatesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryStorkPriceStatesResponse.Merge(m, src) +} +func (m *QueryStorkPriceStatesResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryStorkPriceStatesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryStorkPriceStatesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryStorkPriceStatesResponse proto.InternalMessageInfo + +func (m *QueryStorkPriceStatesResponse) GetPriceStates() []*StorkPriceState { + if m != nil { + return m.PriceStates + } + return nil +} + +// QueryStorkPublishersRequest is the request type for the +// Query/StorkPublishers RPC method. +type QueryStorkPublishersRequest struct { +} + +func (m *QueryStorkPublishersRequest) Reset() { *m = QueryStorkPublishersRequest{} } +func (m *QueryStorkPublishersRequest) String() string { return proto.CompactTextString(m) } +func (*QueryStorkPublishersRequest) ProtoMessage() {} +func (*QueryStorkPublishersRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_52f5d6f9962923ad, []int{18} +} +func (m *QueryStorkPublishersRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryStorkPublishersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryStorkPublishersRequest.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 *QueryStorkPublishersRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryStorkPublishersRequest.Merge(m, src) +} +func (m *QueryStorkPublishersRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryStorkPublishersRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryStorkPublishersRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryStorkPublishersRequest proto.InternalMessageInfo + +// QueryStorkPublishersResponse is the response type for the +// Query/StorkPublishers RPC method. +type QueryStorkPublishersResponse struct { + Publishers []string `protobuf:"bytes,1,rep,name=publishers,proto3" json:"publishers,omitempty"` +} + +func (m *QueryStorkPublishersResponse) Reset() { *m = QueryStorkPublishersResponse{} } +func (m *QueryStorkPublishersResponse) String() string { return proto.CompactTextString(m) } +func (*QueryStorkPublishersResponse) ProtoMessage() {} +func (*QueryStorkPublishersResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_52f5d6f9962923ad, []int{19} +} +func (m *QueryStorkPublishersResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryStorkPublishersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryStorkPublishersResponse.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 *QueryStorkPublishersResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryStorkPublishersResponse.Merge(m, src) +} +func (m *QueryStorkPublishersResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryStorkPublishersResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryStorkPublishersResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryStorkPublishersResponse proto.InternalMessageInfo + +func (m *QueryStorkPublishersResponse) GetPublishers() []string { + if m != nil { + return m.Publishers + } + return nil +} + // QueryProviderPriceStateRequest is the request type for the // Query/ProviderPriceState RPC method. type QueryProviderPriceStateRequest struct { @@ -717,7 +885,7 @@ func (m *QueryProviderPriceStateRequest) Reset() { *m = QueryProviderPri func (m *QueryProviderPriceStateRequest) String() string { return proto.CompactTextString(m) } func (*QueryProviderPriceStateRequest) ProtoMessage() {} func (*QueryProviderPriceStateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{16} + return fileDescriptor_52f5d6f9962923ad, []int{20} } func (m *QueryProviderPriceStateRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -770,7 +938,7 @@ func (m *QueryProviderPriceStateResponse) Reset() { *m = QueryProviderPr func (m *QueryProviderPriceStateResponse) String() string { return proto.CompactTextString(m) } func (*QueryProviderPriceStateResponse) ProtoMessage() {} func (*QueryProviderPriceStateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{17} + return fileDescriptor_52f5d6f9962923ad, []int{21} } func (m *QueryProviderPriceStateResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -815,7 +983,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_52f5d6f9962923ad, []int{18} + return fileDescriptor_52f5d6f9962923ad, []int{22} } func (m *QueryModuleStateRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -854,7 +1022,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_52f5d6f9962923ad, []int{19} + return fileDescriptor_52f5d6f9962923ad, []int{23} } func (m *QueryModuleStateResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -899,7 +1067,7 @@ func (m *QueryHistoricalPriceRecordsRequest) Reset() { *m = QueryHistori func (m *QueryHistoricalPriceRecordsRequest) String() string { return proto.CompactTextString(m) } func (*QueryHistoricalPriceRecordsRequest) ProtoMessage() {} func (*QueryHistoricalPriceRecordsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{20} + return fileDescriptor_52f5d6f9962923ad, []int{24} } func (m *QueryHistoricalPriceRecordsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -950,7 +1118,7 @@ func (m *QueryHistoricalPriceRecordsResponse) Reset() { *m = QueryHistor func (m *QueryHistoricalPriceRecordsResponse) String() string { return proto.CompactTextString(m) } func (*QueryHistoricalPriceRecordsResponse) ProtoMessage() {} func (*QueryHistoricalPriceRecordsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{21} + return fileDescriptor_52f5d6f9962923ad, []int{25} } func (m *QueryHistoricalPriceRecordsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1003,7 +1171,7 @@ func (m *OracleHistoryOptions) Reset() { *m = OracleHistoryOptions{} } func (m *OracleHistoryOptions) String() string { return proto.CompactTextString(m) } func (*OracleHistoryOptions) ProtoMessage() {} func (*OracleHistoryOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{22} + return fileDescriptor_52f5d6f9962923ad, []int{26} } func (m *OracleHistoryOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1065,7 +1233,7 @@ func (m *QueryOracleVolatilityRequest) Reset() { *m = QueryOracleVolatil func (m *QueryOracleVolatilityRequest) String() string { return proto.CompactTextString(m) } func (*QueryOracleVolatilityRequest) ProtoMessage() {} func (*QueryOracleVolatilityRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{23} + return fileDescriptor_52f5d6f9962923ad, []int{27} } func (m *QueryOracleVolatilityRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1127,7 +1295,7 @@ func (m *QueryOracleVolatilityResponse) Reset() { *m = QueryOracleVolati func (m *QueryOracleVolatilityResponse) String() string { return proto.CompactTextString(m) } func (*QueryOracleVolatilityResponse) ProtoMessage() {} func (*QueryOracleVolatilityResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{24} + return fileDescriptor_52f5d6f9962923ad, []int{28} } func (m *QueryOracleVolatilityResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1177,7 +1345,7 @@ func (m *QueryOracleProvidersInfoRequest) Reset() { *m = QueryOracleProv func (m *QueryOracleProvidersInfoRequest) String() string { return proto.CompactTextString(m) } func (*QueryOracleProvidersInfoRequest) ProtoMessage() {} func (*QueryOracleProvidersInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{25} + return fileDescriptor_52f5d6f9962923ad, []int{29} } func (m *QueryOracleProvidersInfoRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1214,7 +1382,7 @@ func (m *QueryOracleProvidersInfoResponse) Reset() { *m = QueryOraclePro func (m *QueryOracleProvidersInfoResponse) String() string { return proto.CompactTextString(m) } func (*QueryOracleProvidersInfoResponse) ProtoMessage() {} func (*QueryOracleProvidersInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{26} + return fileDescriptor_52f5d6f9962923ad, []int{30} } func (m *QueryOracleProvidersInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1258,7 +1426,7 @@ func (m *QueryOracleProviderPricesRequest) Reset() { *m = QueryOraclePro func (m *QueryOracleProviderPricesRequest) String() string { return proto.CompactTextString(m) } func (*QueryOracleProviderPricesRequest) ProtoMessage() {} func (*QueryOracleProviderPricesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{27} + return fileDescriptor_52f5d6f9962923ad, []int{31} } func (m *QueryOracleProviderPricesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1302,7 +1470,7 @@ func (m *QueryOracleProviderPricesResponse) Reset() { *m = QueryOraclePr func (m *QueryOracleProviderPricesResponse) String() string { return proto.CompactTextString(m) } func (*QueryOracleProviderPricesResponse) ProtoMessage() {} func (*QueryOracleProviderPricesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{28} + return fileDescriptor_52f5d6f9962923ad, []int{32} } func (m *QueryOracleProviderPricesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1350,7 +1518,7 @@ func (m *ScalingOptions) Reset() { *m = ScalingOptions{} } func (m *ScalingOptions) String() string { return proto.CompactTextString(m) } func (*ScalingOptions) ProtoMessage() {} func (*ScalingOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{29} + return fileDescriptor_52f5d6f9962923ad, []int{33} } func (m *ScalingOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1406,7 +1574,7 @@ func (m *QueryOraclePriceRequest) Reset() { *m = QueryOraclePriceRequest func (m *QueryOraclePriceRequest) String() string { return proto.CompactTextString(m) } func (*QueryOraclePriceRequest) ProtoMessage() {} func (*QueryOraclePriceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{30} + return fileDescriptor_52f5d6f9962923ad, []int{34} } func (m *QueryOraclePriceRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1477,7 +1645,7 @@ func (m *PricePairState) Reset() { *m = PricePairState{} } func (m *PricePairState) String() string { return proto.CompactTextString(m) } func (*PricePairState) ProtoMessage() {} func (*PricePairState) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{31} + return fileDescriptor_52f5d6f9962923ad, []int{35} } func (m *PricePairState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1530,7 +1698,7 @@ func (m *QueryOraclePriceResponse) Reset() { *m = QueryOraclePriceRespon func (m *QueryOraclePriceResponse) String() string { return proto.CompactTextString(m) } func (*QueryOraclePriceResponse) ProtoMessage() {} func (*QueryOraclePriceResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{32} + return fileDescriptor_52f5d6f9962923ad, []int{36} } func (m *QueryOraclePriceResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1583,6 +1751,10 @@ func init() { proto.RegisterType((*QueryCoinbasePriceStatesResponse)(nil), "injective.oracle.v1beta1.QueryCoinbasePriceStatesResponse") proto.RegisterType((*QueryPythPriceStatesRequest)(nil), "injective.oracle.v1beta1.QueryPythPriceStatesRequest") proto.RegisterType((*QueryPythPriceStatesResponse)(nil), "injective.oracle.v1beta1.QueryPythPriceStatesResponse") + proto.RegisterType((*QueryStorkPriceStatesRequest)(nil), "injective.oracle.v1beta1.QueryStorkPriceStatesRequest") + proto.RegisterType((*QueryStorkPriceStatesResponse)(nil), "injective.oracle.v1beta1.QueryStorkPriceStatesResponse") + proto.RegisterType((*QueryStorkPublishersRequest)(nil), "injective.oracle.v1beta1.QueryStorkPublishersRequest") + proto.RegisterType((*QueryStorkPublishersResponse)(nil), "injective.oracle.v1beta1.QueryStorkPublishersResponse") proto.RegisterType((*QueryProviderPriceStateRequest)(nil), "injective.oracle.v1beta1.QueryProviderPriceStateRequest") proto.RegisterType((*QueryProviderPriceStateResponse)(nil), "injective.oracle.v1beta1.QueryProviderPriceStateResponse") proto.RegisterType((*QueryModuleStateRequest)(nil), "injective.oracle.v1beta1.QueryModuleStateRequest") @@ -1607,115 +1779,123 @@ func init() { } var fileDescriptor_52f5d6f9962923ad = []byte{ - // 1728 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xdd, 0x6f, 0x13, 0xc7, - 0x16, 0xcf, 0xe6, 0x8b, 0xf8, 0x98, 0x7c, 0x30, 0x31, 0x21, 0x18, 0x48, 0xc2, 0x86, 0x7c, 0x20, - 0xc0, 0x26, 0xe6, 0xde, 0x0b, 0x97, 0xcb, 0xa5, 0x22, 0x09, 0xb4, 0x69, 0x41, 0xa4, 0x0b, 0x2d, - 0x6d, 0x55, 0xc9, 0x1a, 0xaf, 0x27, 0xf6, 0x16, 0x7b, 0xc7, 0xec, 0xae, 0x03, 0x16, 0x42, 0x55, - 0xfb, 0x58, 0x55, 0x6a, 0xa5, 0xbe, 0xb6, 0xef, 0x55, 0xdf, 0xfa, 0xd0, 0x87, 0xbe, 0x56, 0xaa, - 0x44, 0xdf, 0xa8, 0xaa, 0x4a, 0x15, 0x0f, 0xa8, 0x4a, 0xfa, 0x87, 0x54, 0x3b, 0x67, 0x76, 0xe3, - 0x8d, 0x77, 0xbd, 0xeb, 0x48, 0x7d, 0xf3, 0xcc, 0x9c, 0xf3, 0x3b, 0xbf, 0x73, 0xe6, 0x9c, 0xb3, - 0x73, 0x64, 0x38, 0x63, 0x98, 0x1f, 0x31, 0xdd, 0x31, 0xb6, 0x59, 0x9e, 0x5b, 0x54, 0xaf, 0xb1, - 0xfc, 0xf6, 0x4a, 0x89, 0x39, 0x74, 0x25, 0xff, 0xa8, 0xc9, 0xac, 0x56, 0xae, 0x61, 0x71, 0x87, - 0x93, 0x69, 0x5f, 0x2a, 0x87, 0x52, 0x39, 0x29, 0x95, 0x3d, 0x59, 0xe1, 0xbc, 0x52, 0x63, 0x79, - 0xda, 0x30, 0xf2, 0xd4, 0x34, 0xb9, 0x43, 0x1d, 0x83, 0x9b, 0x36, 0xea, 0x65, 0x17, 0x22, 0xd1, - 0x25, 0x0c, 0x8a, 0x2d, 0x46, 0x8a, 0x55, 0x98, 0xc9, 0x6c, 0xc3, 0x83, 0xcb, 0x54, 0x78, 0x85, - 0x8b, 0x9f, 0x79, 0xf7, 0x17, 0xee, 0xaa, 0x05, 0x38, 0xfa, 0xb6, 0xcb, 0x75, 0xb3, 0xe5, 0x54, - 0x37, 0x2d, 0x43, 0x67, 0x1a, 0x7b, 0xd4, 0x64, 0xb6, 0x43, 0x8e, 0xc3, 0x48, 0xc3, 0x5d, 0x17, - 0x8d, 0xf2, 0xb4, 0x32, 0xa7, 0x2c, 0xa7, 0xb4, 0x43, 0x62, 0xbd, 0x51, 0x56, 0x75, 0x98, 0xda, - 0xaf, 0x63, 0x37, 0xb8, 0x69, 0x33, 0xb2, 0x01, 0x69, 0x54, 0xb2, 0x1d, 0xea, 0x30, 0xa1, 0x97, - 0x2e, 0x2c, 0xe7, 0xa2, 0x02, 0x90, 0xf3, 0x11, 0xee, 0xb9, 0xf2, 0x1a, 0x34, 0xfc, 0xdf, 0x6a, - 0x06, 0x08, 0x1a, 0xa1, 0x16, 0xad, 0xdb, 0x92, 0x95, 0xfa, 0x0e, 0x4c, 0x06, 0x76, 0xa5, 0xdd, - 0xeb, 0x30, 0xdc, 0x10, 0x3b, 0xd2, 0xe4, 0x5c, 0x17, 0x93, 0x42, 0x6e, 0x75, 0xf0, 0xf9, 0xab, - 0xd9, 0x3e, 0x4d, 0x6a, 0xa9, 0x59, 0x98, 0x16, 0xb0, 0xab, 0xd4, 0x2c, 0x6b, 0xac, 0x46, 0x5b, - 0xcc, 0xf2, 0x4d, 0x5e, 0x86, 0xe3, 0x21, 0x67, 0xd2, 0x70, 0x16, 0x46, 0x2c, 0xb9, 0x37, 0xad, - 0xcc, 0x0d, 0x2c, 0xa7, 0x34, 0x7f, 0xad, 0x9e, 0x82, 0x13, 0xbe, 0xe2, 0x9e, 0x93, 0x3e, 0xee, - 0x43, 0x38, 0x19, 0x7e, 0x2c, 0xa1, 0xdf, 0x82, 0xc3, 0x6d, 0xb1, 0x44, 0xf8, 0xae, 0xc1, 0x0c, - 0x02, 0x69, 0xe9, 0xbd, 0x60, 0xda, 0xea, 0x1c, 0xcc, 0xf8, 0xc6, 0x36, 0x56, 0xd7, 0x42, 0xe8, - 0x98, 0x30, 0x1b, 0x29, 0xf1, 0x4f, 0x30, 0x52, 0x61, 0x0e, 0x6f, 0xd2, 0xdd, 0xbb, 0xc5, 0x58, - 0x58, 0x88, 0x1a, 0x70, 0xba, 0x8b, 0xcc, 0x41, 0x59, 0xf9, 0x68, 0x21, 0xac, 0x4e, 0xcb, 0x28, - 0xac, 0x71, 0xc3, 0x2c, 0x51, 0x9b, 0x85, 0x90, 0xb2, 0x25, 0xf1, 0x50, 0x11, 0xc9, 0xe9, 0x6e, - 0x28, 0xa7, 0xf3, 0xd1, 0x9c, 0x3a, 0xc1, 0x82, 0xbc, 0xbc, 0x5c, 0x0a, 0x16, 0x4c, 0x47, 0x2e, - 0x75, 0x1c, 0x1f, 0x38, 0x46, 0xc1, 0xc2, 0x0c, 0x70, 0xb9, 0x2f, 0x73, 0x69, 0xd3, 0xe2, 0xdb, - 0x46, 0x99, 0x59, 0x6d, 0x72, 0xb2, 0x77, 0x64, 0xdd, 0xde, 0x81, 0x87, 0xb2, 0x77, 0xf8, 0x6b, - 0x32, 0x05, 0xc3, 0x76, 0xab, 0x5e, 0xe2, 0xb5, 0xe9, 0x7e, 0x71, 0x22, 0x57, 0x6a, 0x55, 0x46, - 0x3e, 0x0c, 0x55, 0x7a, 0x71, 0x33, 0xac, 0xbb, 0x9c, 0x89, 0xb9, 0xe8, 0xce, 0xce, 0x72, 0x1c, - 0x8e, 0x09, 0x4b, 0x77, 0x78, 0xb9, 0x59, 0x0b, 0x10, 0x57, 0xdf, 0x93, 0x7d, 0x20, 0x70, 0x24, - 0xad, 0x5f, 0x83, 0xa1, 0x76, 0xbb, 0x8b, 0xd1, 0x76, 0x5f, 0xc7, 0xbe, 0x8b, 0xea, 0xa8, 0xa4, - 0x7e, 0x0c, 0xaa, 0x40, 0x7e, 0xc3, 0xb0, 0x1d, 0x6e, 0x19, 0x3a, 0xad, 0xc9, 0xce, 0xa9, 0x73, - 0xab, 0xec, 0xdd, 0x23, 0xb9, 0x06, 0xc3, 0x88, 0x25, 0x8c, 0x8c, 0x75, 0x73, 0xee, 0xae, 0x58, - 0xde, 0x6f, 0x35, 0x98, 0x26, 0x75, 0xc8, 0x09, 0x48, 0x61, 0x30, 0xdd, 0x9e, 0x8d, 0xd1, 0x1d, - 0xc1, 0x8d, 0x8d, 0xb2, 0x6a, 0xc1, 0x7c, 0x57, 0x02, 0x7e, 0xa6, 0x8c, 0x62, 0x8c, 0x2d, 0x3c, - 0x90, 0xa9, 0xb2, 0x18, 0x13, 0x65, 0x0f, 0x06, 0xd3, 0x4c, 0xae, 0xd4, 0xcf, 0x14, 0xc8, 0x20, - 0x4f, 0xb4, 0xda, 0xba, 0xdb, 0x10, 0x1f, 0x38, 0x72, 0x0c, 0x0e, 0xd5, 0xe9, 0x93, 0x22, 0xad, - 0xa0, 0xa3, 0x83, 0xda, 0x70, 0x9d, 0x3e, 0xb9, 0x51, 0x61, 0x24, 0x07, 0x93, 0x86, 0xa9, 0xd7, - 0x9a, 0x65, 0x56, 0xb4, 0xe8, 0xe3, 0x62, 0x15, 0xd5, 0x84, 0x33, 0x23, 0xda, 0x11, 0x79, 0xa4, - 0xd1, 0xc7, 0x12, 0x8f, 0x9c, 0x85, 0x09, 0x4f, 0xbe, 0xce, 0x1c, 0x5a, 0xa6, 0x0e, 0x9d, 0x1e, - 0x10, 0xc2, 0xe3, 0x72, 0xff, 0x8e, 0xdc, 0x56, 0x3f, 0xef, 0x97, 0x45, 0x82, 0x8c, 0xde, 0xe5, - 0x35, 0xea, 0x18, 0x35, 0xc3, 0x69, 0x79, 0xc1, 0xbf, 0x01, 0x29, 0xb7, 0x04, 0x8b, 0x86, 0xb9, - 0xc5, 0xe3, 0x93, 0x0b, 0x51, 0x36, 0xcc, 0x2d, 0xae, 0x8d, 0xb8, 0x6a, 0xee, 0x2f, 0xb2, 0x06, - 0xf0, 0xa8, 0xc9, 0x1d, 0x89, 0xd1, 0xdf, 0x03, 0x46, 0x4a, 0xe8, 0x09, 0x90, 0x32, 0x4c, 0xa1, - 0x9c, 0xe7, 0x7e, 0x91, 0x63, 0xd8, 0x84, 0x67, 0xe9, 0x42, 0x2e, 0x0e, 0x30, 0x18, 0x6c, 0x2d, - 0xc3, 0x43, 0x76, 0xd5, 0x4f, 0xfa, 0xe1, 0x54, 0x44, 0x38, 0x64, 0x2a, 0xbc, 0x06, 0xb0, 0xed, - 0xef, 0x62, 0x1d, 0xaf, 0xce, 0xbe, 0x7c, 0x35, 0x7b, 0x42, 0xe7, 0x76, 0x9d, 0xdb, 0x76, 0xf9, - 0x61, 0xce, 0xe0, 0xf9, 0x3a, 0x75, 0xaa, 0xb9, 0xdb, 0xac, 0x42, 0xf5, 0xd6, 0x3a, 0xd3, 0xb5, - 0x36, 0x15, 0xf2, 0x00, 0x26, 0x3c, 0x0f, 0xfc, 0xcb, 0xc1, 0x98, 0x74, 0xe9, 0x84, 0xde, 0x7d, - 0xb9, 0xd5, 0x63, 0xd8, 0x8e, 0xa1, 0xdb, 0xda, 0xb8, 0x44, 0xf1, 0x8e, 0xc8, 0x2d, 0x48, 0xb7, - 0x67, 0xc7, 0x80, 0x48, 0xd1, 0x85, 0x44, 0x29, 0xaa, 0x81, 0xe5, 0x67, 0x8f, 0xdf, 0xed, 0x31, - 0x04, 0x5e, 0xe7, 0xb1, 0xc5, 0x85, 0xc8, 0x8e, 0x50, 0x95, 0xdd, 0x3e, 0x54, 0x44, 0x06, 0x6a, - 0x1d, 0x52, 0x5e, 0x7b, 0x4b, 0x54, 0x2f, 0x28, 0x8a, 0xd7, 0xee, 0x2b, 0xaa, 0xd7, 0x43, 0x2d, - 0x09, 0xea, 0x76, 0x82, 0xc6, 0xaa, 0x5a, 0xf2, 0x63, 0x19, 0xae, 0x2f, 0xa9, 0xde, 0x71, 0xcb, - 0x1b, 0x4f, 0xee, 0xc9, 0x66, 0xe6, 0xd2, 0x5d, 0x8a, 0xa7, 0x8b, 0xdd, 0x2c, 0xa8, 0xad, 0x7e, - 0x08, 0x63, 0xf7, 0x74, 0x5a, 0x33, 0xcc, 0x8a, 0x57, 0xd9, 0xf3, 0x30, 0x2a, 0x8a, 0xa8, 0xcc, - 0x74, 0xa3, 0x4e, 0x6b, 0xf8, 0x20, 0x1b, 0xd5, 0x0e, 0xbb, 0x9b, 0xeb, 0x72, 0x8f, 0x2c, 0xc0, - 0x18, 0x96, 0x89, 0x2f, 0xd5, 0x2f, 0xa4, 0x46, 0xc5, 0xae, 0x27, 0xa6, 0xee, 0x2a, 0xb2, 0x53, - 0x7b, 0x2e, 0xb5, 0x3d, 0x4f, 0x6f, 0x42, 0x5a, 0x16, 0x89, 0xd3, 0x6a, 0xf4, 0xd6, 0x2e, 0x81, - 0xfb, 0xbf, 0x09, 0x81, 0x41, 0x97, 0x99, 0xec, 0x96, 0xe2, 0x37, 0xc9, 0xc0, 0x90, 0xe0, 0x21, - 0xca, 0x2d, 0xa5, 0xe1, 0x82, 0x3c, 0x80, 0x71, 0x1b, 0x5d, 0xf5, 0xcb, 0x71, 0x30, 0xee, 0x79, - 0x1b, 0x8c, 0x8d, 0x78, 0x73, 0x2a, 0xda, 0x98, 0x1d, 0xd8, 0x55, 0x77, 0x06, 0x60, 0x4c, 0xb8, - 0xb6, 0x49, 0x0d, 0x0c, 0x2b, 0x59, 0x05, 0x68, 0x50, 0xc3, 0x2a, 0x8a, 0x66, 0x2a, 0x2b, 0x6f, - 0xde, 0x7d, 0xb0, 0xc6, 0x55, 0x5f, 0xca, 0x55, 0x13, 0x60, 0x2e, 0x86, 0xb8, 0x08, 0xc4, 0xe8, - 0xef, 0x01, 0xc3, 0x7f, 0x87, 0x90, 0x75, 0x48, 0xe3, 0x3d, 0x21, 0xc8, 0x40, 0x72, 0x10, 0x6c, - 0x83, 0x88, 0xf2, 0x00, 0x8e, 0x0a, 0x26, 0x7a, 0xb3, 0xde, 0x74, 0x7b, 0xc3, 0xb6, 0x87, 0x37, - 0x98, 0x1c, 0x6f, 0xd2, 0x45, 0x58, 0xf3, 0x01, 0x10, 0xf8, 0x7d, 0x98, 0x42, 0x7a, 0x1d, 0xc8, - 0x43, 0xc9, 0x91, 0x33, 0x02, 0x62, 0x3f, 0xf4, 0x02, 0x8c, 0x09, 0xce, 0x8e, 0x51, 0x67, 0xb6, - 0x43, 0xeb, 0x8d, 0xe9, 0xe1, 0x39, 0x65, 0x79, 0x40, 0x13, 0xc9, 0x7d, 0xdf, 0xdb, 0x24, 0x4b, - 0x30, 0x8e, 0x0c, 0xf6, 0xe4, 0x0e, 0x09, 0x39, 0xcc, 0x6f, 0x5f, 0x50, 0x35, 0xe5, 0xc3, 0x22, - 0x90, 0xc9, 0xb2, 0x26, 0x35, 0x98, 0xc0, 0x4f, 0xae, 0xb8, 0xf3, 0xa4, 0x93, 0x53, 0x20, 0x63, - 0xb4, 0xb1, 0x46, 0x60, 0x5d, 0x78, 0x79, 0x14, 0x86, 0x84, 0x41, 0xf2, 0x85, 0x02, 0xc3, 0x38, - 0xf3, 0x90, 0x2e, 0x5d, 0xb7, 0x73, 0xd4, 0xca, 0x5e, 0x48, 0x28, 0x8d, 0x5e, 0xa8, 0xcb, 0x9f, - 0xfe, 0xf6, 0xd7, 0x57, 0xfd, 0x2a, 0x99, 0xcb, 0x47, 0xce, 0xa3, 0x38, 0x6c, 0x91, 0x6f, 0x15, - 0x38, 0xdc, 0x3e, 0x4c, 0x91, 0x42, 0x8c, 0xa5, 0x90, 0xa9, 0x2c, 0x7b, 0xa9, 0x27, 0x1d, 0xc9, - 0x31, 0x2f, 0x38, 0x9e, 0x25, 0x4b, 0xd1, 0x1c, 0x4b, 0xd4, 0x2c, 0x17, 0xbd, 0x11, 0x8e, 0xfc, - 0xa0, 0xc0, 0xf8, 0xbe, 0xf9, 0x8c, 0xfc, 0x3b, 0x81, 0xe5, 0xce, 0x27, 0x7a, 0xf6, 0x3f, 0xbd, - 0xaa, 0x49, 0xce, 0x97, 0x04, 0xe7, 0x0b, 0xe4, 0x5c, 0x0c, 0xe7, 0xf6, 0xf7, 0x3d, 0xf9, 0x49, - 0x01, 0xd2, 0x39, 0xc8, 0x91, 0x2b, 0x09, 0x38, 0x84, 0x4e, 0x87, 0xd9, 0xff, 0x1e, 0x40, 0x53, - 0x3a, 0x70, 0x59, 0x38, 0xb0, 0x42, 0xf2, 0x31, 0x0e, 0x18, 0x25, 0x3d, 0xe8, 0xc4, 0x2f, 0x0a, - 0x64, 0xc2, 0x26, 0x3f, 0x72, 0x35, 0x2e, 0x33, 0xa3, 0x47, 0xca, 0xec, 0xff, 0x0e, 0xa4, 0x2b, - 0x5d, 0xb9, 0x22, 0x5c, 0x29, 0x90, 0x8b, 0x5d, 0x72, 0xdc, 0x55, 0xdb, 0x62, 0x6c, 0xdf, 0x85, - 0xfc, 0xac, 0xc0, 0x64, 0xc8, 0xc0, 0x48, 0xe2, 0xe2, 0x1a, 0x3d, 0x87, 0x66, 0xaf, 0x1e, 0x44, - 0x35, 0xf9, 0x9d, 0xe8, 0x52, 0x3d, 0xe8, 0x87, 0x5b, 0x10, 0xfb, 0x86, 0xcc, 0xd8, 0x82, 0x08, - 0x9f, 0x59, 0x63, 0x0b, 0x22, 0x62, 0x96, 0x4d, 0x52, 0x10, 0x8d, 0x96, 0x53, 0x0d, 0xf2, 0xfe, - 0x5d, 0x01, 0xd2, 0x39, 0x59, 0xc6, 0x16, 0x44, 0xe4, 0x88, 0x1b, 0x5b, 0x10, 0xd1, 0x63, 0xac, - 0xfa, 0xa6, 0x70, 0x60, 0x9d, 0xac, 0x76, 0xcb, 0x22, 0xd4, 0x6e, 0x77, 0x22, 0xff, 0xd4, 0xdb, - 0x7d, 0x96, 0x7f, 0x8a, 0x63, 0xdd, 0x33, 0xf2, 0x9d, 0x02, 0x47, 0xf0, 0x9b, 0xd2, 0x36, 0xb2, - 0x92, 0x95, 0x18, 0x72, 0x9d, 0x93, 0x6f, 0xb6, 0xd0, 0x8b, 0x8a, 0x74, 0x24, 0x27, 0x1c, 0x59, - 0x26, 0x8b, 0xd1, 0x8e, 0xd4, 0x85, 0x1a, 0x3a, 0x40, 0x7e, 0x55, 0x60, 0x2a, 0x7c, 0xfc, 0x24, - 0xd7, 0x62, 0xcc, 0x77, 0x1d, 0x9b, 0xb3, 0xff, 0x3f, 0xa0, 0xb6, 0xf4, 0xe3, 0xaa, 0xf0, 0xe3, - 0x5f, 0xa4, 0x10, 0xed, 0x47, 0xd5, 0x47, 0x28, 0x06, 0xc6, 0x63, 0xf2, 0xbd, 0x02, 0x13, 0xfb, - 0x27, 0x28, 0x12, 0x97, 0xda, 0x11, 0x13, 0x68, 0xf6, 0x72, 0xcf, 0x7a, 0xd2, 0x83, 0xf3, 0xc2, - 0x83, 0x45, 0x72, 0x26, 0xda, 0x83, 0xb6, 0xb9, 0xec, 0x47, 0x05, 0x26, 0x43, 0xe6, 0x99, 0xd8, - 0x66, 0x14, 0x3d, 0x26, 0xc5, 0x36, 0xa3, 0x2e, 0xe3, 0x93, 0x7a, 0x4e, 0x90, 0x5f, 0x20, 0xf3, - 0xf1, 0xf5, 0x20, 0xbe, 0x6c, 0x99, 0xb0, 0x09, 0x87, 0xf4, 0xc6, 0x20, 0x30, 0x56, 0xc5, 0x7e, - 0x14, 0xba, 0x8d, 0x54, 0xea, 0x8a, 0xa0, 0x7f, 0x8e, 0x9c, 0x4d, 0x5a, 0xce, 0x36, 0xf9, 0x46, - 0x81, 0x74, 0xdb, 0x4b, 0x30, 0xb6, 0x5e, 0x3b, 0xe7, 0x9f, 0xd8, 0x7a, 0x0d, 0x79, 0x68, 0xaa, - 0x4b, 0x82, 0xe9, 0x69, 0x32, 0x1b, 0xf3, 0xf9, 0x22, 0x5f, 0x2b, 0x90, 0xf2, 0xdb, 0x2f, 0xc9, - 0x27, 0x6d, 0xd4, 0x1e, 0xb7, 0x8b, 0xc9, 0x15, 0x92, 0xe7, 0xef, 0x5e, 0x4f, 0x5f, 0xdd, 0x7a, - 0xbe, 0x33, 0xa3, 0xbc, 0xd8, 0x99, 0x51, 0xfe, 0xdc, 0x99, 0x51, 0xbe, 0xdc, 0x9d, 0xe9, 0x7b, - 0xb1, 0x3b, 0xd3, 0xf7, 0xc7, 0xee, 0x4c, 0xdf, 0x07, 0xb7, 0x2b, 0x86, 0x53, 0x6d, 0x96, 0x72, - 0x3a, 0xaf, 0xe7, 0x37, 0x3c, 0xa4, 0xdb, 0xb4, 0x64, 0xef, 0xe1, 0x5e, 0xd0, 0xb9, 0xc5, 0xda, - 0x97, 0x55, 0x6a, 0x98, 0xb2, 0x4f, 0xd9, 0x9e, 0x51, 0x77, 0xa6, 0xb4, 0x4b, 0xc3, 0xe2, 0x2f, - 0x92, 0x4b, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x51, 0x7a, 0x1d, 0x9a, 0xe7, 0x19, 0x00, 0x00, + // 1846 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xdd, 0x6f, 0xdb, 0x46, + 0x12, 0x37, 0xfd, 0x15, 0x6b, 0x14, 0x7f, 0x64, 0xad, 0x38, 0x8a, 0x92, 0xc8, 0x0e, 0x1d, 0x7f, + 0x5d, 0x1c, 0x29, 0x56, 0x72, 0x49, 0x2e, 0x97, 0xcb, 0x21, 0xb6, 0x93, 0x3b, 0xdf, 0x39, 0x88, + 0x8f, 0xce, 0x35, 0x6d, 0x51, 0x40, 0x58, 0x51, 0xb4, 0xc4, 0x5a, 0x22, 0x15, 0x92, 0x72, 0x22, + 0x04, 0x41, 0xd1, 0x3e, 0x16, 0x05, 0x5a, 0xa0, 0xaf, 0xed, 0x7b, 0xd1, 0xb7, 0x02, 0xed, 0x43, + 0x5e, 0x0b, 0x14, 0x48, 0x1f, 0x0a, 0xa4, 0x28, 0x0a, 0x14, 0x7d, 0x08, 0x0a, 0xbb, 0x7f, 0x48, + 0xc1, 0xdd, 0x21, 0x4d, 0x4a, 0xa4, 0x48, 0x19, 0xe8, 0x9b, 0x76, 0x77, 0xe6, 0xb7, 0xbf, 0x99, + 0x9d, 0x99, 0xdd, 0xa1, 0xe0, 0x82, 0xaa, 0xbd, 0xab, 0xc8, 0x96, 0xba, 0xa7, 0xe4, 0x75, 0x83, + 0xca, 0x35, 0x25, 0xbf, 0xb7, 0x52, 0x52, 0x2c, 0xba, 0x92, 0x7f, 0xdc, 0x54, 0x8c, 0x56, 0xae, + 0x61, 0xe8, 0x96, 0x4e, 0xd2, 0xae, 0x54, 0x8e, 0x4b, 0xe5, 0x50, 0x2a, 0x73, 0xb6, 0xa2, 0xeb, + 0x95, 0x9a, 0x92, 0xa7, 0x0d, 0x35, 0x4f, 0x35, 0x4d, 0xb7, 0xa8, 0xa5, 0xea, 0x9a, 0xc9, 0xf5, + 0x32, 0x73, 0xa1, 0xe8, 0x08, 0xc3, 0xc5, 0xe6, 0x43, 0xc5, 0x2a, 0x8a, 0xa6, 0x98, 0xaa, 0x03, + 0x97, 0xaa, 0xe8, 0x15, 0x9d, 0xfd, 0xcc, 0xdb, 0xbf, 0xf8, 0xac, 0x58, 0x80, 0x93, 0xff, 0xb3, + 0xb9, 0x6e, 0xb5, 0xac, 0xea, 0x96, 0xa1, 0xca, 0x8a, 0xa4, 0x3c, 0x6e, 0x2a, 0xa6, 0x45, 0x4e, + 0xc3, 0x48, 0xc3, 0x1e, 0x17, 0xd5, 0x72, 0x5a, 0x98, 0x11, 0x16, 0x13, 0xd2, 0x31, 0x36, 0xde, + 0x28, 0x8b, 0x32, 0x4c, 0xb5, 0xeb, 0x98, 0x0d, 0x5d, 0x33, 0x15, 0xb2, 0x01, 0x49, 0xae, 0x64, + 0x5a, 0xd4, 0x52, 0x98, 0x5e, 0xb2, 0xb0, 0x98, 0x0b, 0x73, 0x40, 0xce, 0x45, 0xd8, 0xb6, 0xe5, + 0x25, 0x68, 0xb8, 0xbf, 0xc5, 0x14, 0x10, 0xbe, 0x09, 0x35, 0x68, 0xdd, 0x44, 0x56, 0xe2, 0xff, + 0x61, 0xd2, 0x37, 0x8b, 0xfb, 0xde, 0x86, 0xe1, 0x06, 0x9b, 0xc1, 0x2d, 0x67, 0xba, 0x6c, 0xc9, + 0xe4, 0x56, 0x07, 0x5f, 0xbe, 0x9e, 0xee, 0x93, 0x50, 0x4b, 0xcc, 0x40, 0x9a, 0xc1, 0xae, 0x52, + 0xad, 0x2c, 0x29, 0x35, 0xda, 0x52, 0x0c, 0x77, 0xcb, 0xeb, 0x70, 0x3a, 0x60, 0x0d, 0x37, 0xce, + 0xc0, 0x88, 0x81, 0x73, 0x69, 0x61, 0x66, 0x60, 0x31, 0x21, 0xb9, 0x63, 0xf1, 0x1c, 0x9c, 0x71, + 0x15, 0x0f, 0x8d, 0x74, 0x71, 0x77, 0xe1, 0x6c, 0xf0, 0x32, 0x42, 0xff, 0x17, 0x8e, 0x7b, 0x7c, + 0xc9, 0xe1, 0xbb, 0x3a, 0xd3, 0x0f, 0x24, 0x25, 0x0f, 0x9d, 0x69, 0x8a, 0x33, 0x90, 0x75, 0x37, + 0xdb, 0x58, 0x5d, 0x0b, 0xa0, 0xa3, 0xc1, 0x74, 0xa8, 0xc4, 0x9f, 0xc1, 0x48, 0x84, 0x19, 0x7e, + 0x92, 0xf6, 0xdc, 0x3d, 0x45, 0x09, 0x72, 0x51, 0x03, 0xce, 0x77, 0x91, 0x39, 0x2a, 0x2b, 0x17, + 0x2d, 0x80, 0xd5, 0x79, 0xf4, 0xc2, 0x9a, 0xae, 0x6a, 0x25, 0x6a, 0x2a, 0x01, 0xa4, 0x4c, 0x24, + 0x1e, 0x28, 0x82, 0x9c, 0x1e, 0x04, 0x72, 0x5a, 0x0e, 0xe7, 0xd4, 0x09, 0xe6, 0xe7, 0xe5, 0xc4, + 0x92, 0x3f, 0x61, 0x3a, 0x62, 0xa9, 0x63, 0xf9, 0xc8, 0x3e, 0xf2, 0x27, 0xa6, 0x8f, 0x4b, 0x16, + 0x37, 0xdb, 0xb6, 0x74, 0x63, 0x37, 0x80, 0x4c, 0x1d, 0xce, 0x85, 0xac, 0x23, 0x9b, 0xcd, 0x40, + 0x36, 0x4b, 0xe1, 0x6c, 0xda, 0x90, 0x82, 0x5d, 0xc3, 0x85, 0x9a, 0xa5, 0x9a, 0x6a, 0x56, 0x3d, + 0xe9, 0x7b, 0xdb, 0xc7, 0xd6, 0xb3, 0x8c, 0x64, 0xb2, 0x00, 0x0d, 0x77, 0x16, 0x73, 0xd8, 0x33, + 0x23, 0x3e, 0xc4, 0xcc, 0xd9, 0x32, 0xf4, 0x3d, 0xb5, 0xac, 0x18, 0x1e, 0x1a, 0x58, 0x29, 0x33, + 0x76, 0xa5, 0xe4, 0x8b, 0x58, 0x29, 0xdd, 0x31, 0x99, 0x82, 0x61, 0xb3, 0x55, 0x2f, 0xe9, 0xb5, + 0x74, 0x3f, 0x5b, 0xc1, 0x91, 0x58, 0xc5, 0x38, 0x0b, 0x42, 0x45, 0x62, 0x77, 0x83, 0x6a, 0xe9, + 0x85, 0x88, 0xb0, 0xee, 0xac, 0xa3, 0xa7, 0xe1, 0x14, 0xdb, 0xe9, 0xbe, 0x5e, 0x6e, 0xd6, 0x7c, + 0xc4, 0xc5, 0x37, 0xb1, 0xea, 0xf9, 0x96, 0x70, 0xf7, 0x5b, 0x30, 0xe4, 0xdd, 0x77, 0x3e, 0x7c, + 0xdf, 0x7f, 0xf1, 0x5b, 0x86, 0xab, 0x73, 0x25, 0xf1, 0x3d, 0x10, 0x19, 0xf2, 0xbf, 0x55, 0xd3, + 0xd2, 0x0d, 0x55, 0xa6, 0x35, 0xbc, 0x27, 0x64, 0xdd, 0x28, 0x3b, 0x47, 0x43, 0x6e, 0xc1, 0x30, + 0xc7, 0x62, 0x9b, 0x8c, 0x75, 0x33, 0xee, 0x01, 0x1b, 0x3e, 0x6c, 0x35, 0x14, 0x09, 0x75, 0xc8, + 0x19, 0x48, 0x70, 0x67, 0xda, 0x37, 0x14, 0xf7, 0xee, 0x08, 0x9f, 0xd8, 0x28, 0x8b, 0x06, 0xcc, + 0x76, 0x25, 0xe0, 0xe6, 0xc5, 0x28, 0xf7, 0xb1, 0xc1, 0x17, 0x30, 0x14, 0xe7, 0x23, 0xbc, 0xec, + 0xc0, 0xf0, 0x30, 0xc6, 0x91, 0xf8, 0xa1, 0x00, 0x29, 0xce, 0x93, 0xef, 0xda, 0x7a, 0xd0, 0x60, + 0xd7, 0x39, 0x39, 0x05, 0xc7, 0xea, 0xf4, 0x69, 0x91, 0x56, 0xb8, 0xa1, 0x83, 0xd2, 0x70, 0x9d, + 0x3e, 0xbd, 0x53, 0x51, 0x48, 0x0e, 0x26, 0x55, 0x4d, 0xae, 0x35, 0xcb, 0x4a, 0xd1, 0xa0, 0x4f, + 0x8a, 0x55, 0xae, 0xc6, 0x8c, 0x19, 0x91, 0x4e, 0xe0, 0x92, 0x44, 0x9f, 0x20, 0x1e, 0x59, 0x82, + 0x09, 0x47, 0xbe, 0xae, 0x58, 0xb4, 0x4c, 0x2d, 0x9a, 0x1e, 0x60, 0xc2, 0xe3, 0x38, 0x7f, 0x1f, + 0xa7, 0xc5, 0x8f, 0xfa, 0x31, 0xee, 0x39, 0xa3, 0x37, 0xf4, 0x1a, 0xb5, 0xd4, 0x9a, 0x6a, 0xb5, + 0x1c, 0xe7, 0xdf, 0x81, 0x84, 0x5d, 0x70, 0x8a, 0xaa, 0xb6, 0xa3, 0x47, 0x07, 0x17, 0x47, 0xd9, + 0xd0, 0x76, 0x74, 0x69, 0xc4, 0x56, 0xb3, 0x7f, 0x91, 0x35, 0x80, 0xc7, 0x4d, 0xdd, 0x42, 0x8c, + 0xfe, 0x1e, 0x30, 0x12, 0x4c, 0x8f, 0x81, 0x94, 0x61, 0x8a, 0xcb, 0x39, 0xe6, 0x17, 0x75, 0xee, + 0x36, 0x66, 0x59, 0xb2, 0x90, 0x8b, 0x02, 0xf4, 0x3b, 0x5b, 0x4a, 0xe9, 0x01, 0xb3, 0xe2, 0xfb, + 0xfd, 0x58, 0x94, 0x3a, 0xdd, 0x81, 0xa1, 0xf0, 0x4f, 0x80, 0x3d, 0x77, 0x96, 0xe7, 0xf1, 0xea, + 0xf4, 0xaf, 0xaf, 0xa7, 0xcf, 0xc8, 0xba, 0x59, 0xd7, 0x4d, 0xb3, 0xbc, 0x9b, 0x53, 0xf5, 0x7c, + 0x9d, 0x5a, 0xd5, 0xdc, 0xa6, 0x52, 0xa1, 0x72, 0x6b, 0x5d, 0x91, 0x25, 0x8f, 0x0a, 0x79, 0x04, + 0x13, 0x8e, 0x05, 0xee, 0xe1, 0x70, 0x9f, 0x74, 0xa9, 0xfb, 0xce, 0x79, 0xd9, 0xd9, 0xa3, 0x9a, + 0x96, 0x2a, 0x9b, 0xd2, 0x38, 0xa2, 0x38, 0x4b, 0xe4, 0x1e, 0x24, 0xbd, 0xd1, 0x31, 0xc0, 0x42, + 0x74, 0x2e, 0x56, 0x88, 0x4a, 0x60, 0xb8, 0xd1, 0xe3, 0xde, 0x6d, 0xdc, 0x05, 0x4e, 0xe5, 0x31, + 0xd9, 0x81, 0x60, 0x45, 0xa8, 0xe2, 0xdd, 0x16, 0x28, 0x82, 0x8e, 0x5a, 0x87, 0x84, 0x53, 0xde, + 0x62, 0xe5, 0x0b, 0x17, 0xe5, 0xc7, 0xee, 0x2a, 0x8a, 0xb7, 0x03, 0x77, 0x62, 0xd4, 0xcd, 0x18, + 0x85, 0x55, 0x34, 0xf0, 0x69, 0x10, 0xac, 0x8f, 0x54, 0xef, 0xdb, 0xe9, 0xcd, 0x57, 0xb6, 0xb1, + 0x98, 0xd9, 0x74, 0x17, 0xa2, 0xe9, 0xf2, 0x6a, 0xe6, 0xd7, 0x16, 0xdf, 0x81, 0xb1, 0x6d, 0x99, + 0xd6, 0x54, 0xad, 0xe2, 0x64, 0xf6, 0x2c, 0x8c, 0xb2, 0x24, 0x2a, 0x2b, 0xb2, 0x5a, 0xa7, 0x35, + 0xfe, 0xfc, 0x1c, 0x95, 0x8e, 0xdb, 0x93, 0xeb, 0x38, 0x47, 0xe6, 0x60, 0x8c, 0xa7, 0x89, 0x2b, + 0xd5, 0xcf, 0xa4, 0x46, 0xd9, 0xac, 0x23, 0x26, 0x1e, 0x08, 0x58, 0xa9, 0x1d, 0x93, 0x3c, 0x8f, + 0xf1, 0xbb, 0x90, 0xc4, 0x24, 0xb1, 0x5a, 0x8d, 0xde, 0xca, 0x25, 0xe8, 0xee, 0x6f, 0x42, 0x60, + 0xd0, 0x66, 0x86, 0xd5, 0x92, 0xfd, 0x26, 0x29, 0x18, 0x62, 0x3c, 0x58, 0xba, 0x25, 0x24, 0x3e, + 0x20, 0x8f, 0x60, 0xdc, 0xe4, 0xa6, 0xba, 0xe9, 0x38, 0x18, 0xf5, 0x98, 0xf7, 0xfb, 0x86, 0xbd, + 0xb0, 0x05, 0x69, 0xcc, 0xf4, 0xcd, 0x8a, 0xfb, 0x03, 0x30, 0xc6, 0x4c, 0xdb, 0xa2, 0x2a, 0x77, + 0x2b, 0x59, 0x05, 0x68, 0x50, 0xd5, 0x28, 0xb2, 0x62, 0x8a, 0x99, 0x37, 0x6b, 0x3f, 0xcf, 0xa3, + 0xb2, 0x2f, 0x61, 0xab, 0x31, 0x30, 0x1b, 0x83, 0x1d, 0x04, 0xc7, 0xe8, 0xef, 0x01, 0xc3, 0x7d, + 0x75, 0x91, 0x75, 0x48, 0xf2, 0x73, 0xe2, 0x20, 0x03, 0xf1, 0x41, 0x78, 0x19, 0xe4, 0x28, 0x8f, + 0xe0, 0x24, 0x63, 0x22, 0x37, 0xeb, 0x4d, 0xbb, 0x36, 0xec, 0x39, 0x78, 0x83, 0xf1, 0xf1, 0x26, + 0x6d, 0x84, 0x35, 0x17, 0x80, 0x03, 0xbf, 0x05, 0x53, 0x9c, 0x5e, 0x07, 0xf2, 0x50, 0x7c, 0xe4, + 0x14, 0x83, 0x68, 0x87, 0x9e, 0x83, 0x31, 0xc6, 0xd9, 0x52, 0xeb, 0x8a, 0x69, 0xd1, 0x7a, 0x23, + 0x3d, 0x3c, 0x23, 0x2c, 0x0e, 0x48, 0x2c, 0xb8, 0x1f, 0x3a, 0x93, 0x64, 0x01, 0xc6, 0x39, 0x83, + 0x43, 0xb9, 0x63, 0x4c, 0x8e, 0xc7, 0xb7, 0x2b, 0x28, 0x6a, 0xf8, 0xb0, 0xf0, 0x45, 0x32, 0xe6, + 0xa4, 0x04, 0x13, 0xfc, 0xca, 0x65, 0x67, 0x1e, 0xb7, 0x4f, 0xf4, 0x45, 0x8c, 0x34, 0xd6, 0xf0, + 0x8d, 0x0b, 0x3f, 0xa4, 0x61, 0x88, 0x6d, 0x48, 0x3e, 0x16, 0x60, 0x98, 0x77, 0x78, 0xa4, 0x4b, + 0xd5, 0xed, 0x6c, 0x2c, 0x33, 0x97, 0x62, 0x4a, 0x73, 0x2b, 0xc4, 0xc5, 0x0f, 0x7e, 0xfa, 0xfd, + 0xd3, 0x7e, 0x91, 0xcc, 0xe4, 0x43, 0xbb, 0x6f, 0xde, 0x5a, 0x92, 0x2f, 0x04, 0x38, 0xee, 0x6d, + 0x1d, 0x49, 0x21, 0x62, 0xa7, 0x80, 0x1e, 0x34, 0x73, 0xa5, 0x27, 0x1d, 0xe4, 0x98, 0x67, 0x1c, + 0x97, 0xc8, 0x42, 0x38, 0xc7, 0x12, 0xd5, 0xca, 0x45, 0xa7, 0x61, 0x25, 0xdf, 0x08, 0x30, 0xde, + 0xd6, 0x8d, 0x92, 0xbf, 0xc6, 0xd8, 0xb9, 0xb3, 0x07, 0xc8, 0x5c, 0xeb, 0x55, 0x0d, 0x39, 0x5f, + 0x61, 0x9c, 0x2f, 0x91, 0x8b, 0x11, 0x9c, 0xbd, 0xfd, 0x03, 0xf9, 0x56, 0x00, 0xd2, 0xd9, 0xb6, + 0x92, 0x1b, 0x31, 0x38, 0x04, 0xf6, 0xc2, 0x99, 0xbf, 0x1d, 0x41, 0x13, 0x0d, 0xb8, 0xce, 0x0c, + 0x58, 0x21, 0xf9, 0x08, 0x03, 0xd4, 0x92, 0xec, 0x37, 0xe2, 0x7b, 0x01, 0x52, 0x41, 0x7d, 0x2e, + 0xb9, 0x19, 0x15, 0x99, 0xe1, 0x0d, 0x74, 0xe6, 0xef, 0x47, 0xd2, 0x45, 0x53, 0x6e, 0x30, 0x53, + 0x0a, 0xe4, 0x72, 0x97, 0x18, 0xb7, 0xd5, 0x76, 0x14, 0xa5, 0xed, 0x40, 0xbe, 0x13, 0x60, 0x32, + 0xa0, 0x3d, 0x26, 0x51, 0x7e, 0x0d, 0xef, 0xba, 0x33, 0x37, 0x8f, 0xa2, 0x1a, 0xff, 0x4c, 0x64, + 0x54, 0xf7, 0xdb, 0x61, 0x27, 0x44, 0x5b, 0x4b, 0x1d, 0x99, 0x10, 0xc1, 0x1d, 0x7a, 0x64, 0x42, + 0x84, 0x74, 0xee, 0x71, 0x12, 0xa2, 0xd1, 0xb2, 0xaa, 0x7e, 0xde, 0x2f, 0x04, 0x98, 0x68, 0xef, + 0xbe, 0x49, 0x14, 0x83, 0x90, 0x76, 0x3e, 0x73, 0xbd, 0x67, 0x3d, 0xa4, 0x7e, 0x95, 0x51, 0xcf, + 0x91, 0xe5, 0x70, 0xea, 0xf6, 0xc3, 0x74, 0xd7, 0xcf, 0xfd, 0x6b, 0x01, 0xc6, 0xdb, 0x7a, 0xf5, + 0x48, 0x9f, 0x07, 0xb7, 0xfe, 0x99, 0x6b, 0xbd, 0xaa, 0x21, 0xf1, 0x02, 0x23, 0xbe, 0x4c, 0xfe, + 0x12, 0x49, 0xfc, 0x90, 0xe2, 0xcf, 0x02, 0x90, 0xce, 0x66, 0x3e, 0xb2, 0x06, 0x85, 0x7e, 0x55, + 0x88, 0xac, 0x41, 0xe1, 0x5f, 0x0e, 0xc4, 0xff, 0x30, 0xfe, 0xeb, 0x64, 0xb5, 0x5b, 0xe2, 0x72, + 0x6d, 0xaf, 0xef, 0xf3, 0xcf, 0x9c, 0xd9, 0xe7, 0xf9, 0x67, 0xbc, 0x93, 0x7e, 0x4e, 0xbe, 0x14, + 0xe0, 0x04, 0xbf, 0xc6, 0x3d, 0x5f, 0x09, 0xc8, 0x4a, 0x04, 0xb9, 0xce, 0x8f, 0x0d, 0x99, 0x42, + 0x2f, 0x2a, 0x68, 0x48, 0x8e, 0x19, 0xb2, 0x48, 0xe6, 0xc3, 0x0d, 0xa9, 0x33, 0x35, 0x6e, 0x00, + 0xf9, 0x51, 0x80, 0xa9, 0xe0, 0x8e, 0x9f, 0xdc, 0x8a, 0xd8, 0xbe, 0xeb, 0x97, 0x8a, 0xcc, 0x3f, + 0x8e, 0xa8, 0x8d, 0x76, 0xdc, 0x64, 0x76, 0x5c, 0x25, 0x85, 0x70, 0x3b, 0xaa, 0x2e, 0x42, 0xd1, + 0xf7, 0x45, 0x82, 0x7c, 0x25, 0xc0, 0x44, 0x7b, 0xd3, 0x1a, 0x99, 0xcb, 0x21, 0x4d, 0x7f, 0x64, + 0x2e, 0x87, 0x75, 0xc7, 0xe2, 0x32, 0xb3, 0x60, 0x9e, 0x5c, 0x08, 0xb7, 0xc0, 0xd3, 0x0a, 0xbf, + 0x10, 0x60, 0x32, 0xa0, 0x85, 0x8c, 0xac, 0xff, 0xe1, 0x9d, 0x69, 0x64, 0xfd, 0xef, 0xd2, 0xb1, + 0x8a, 0x17, 0x19, 0xf9, 0x39, 0x32, 0x1b, 0x9d, 0x0f, 0xec, 0x31, 0x91, 0x0a, 0x6a, 0x2a, 0x49, + 0x6f, 0x0c, 0x7c, 0x9d, 0x6c, 0xe4, 0x3d, 0xdc, 0xad, 0x8b, 0x15, 0x57, 0x18, 0xfd, 0x8b, 0x64, + 0x29, 0x6e, 0x3a, 0x9b, 0xe4, 0x73, 0x01, 0x92, 0x9e, 0xc7, 0x77, 0x64, 0xbe, 0x76, 0xb6, 0x9c, + 0x91, 0xf9, 0x1a, 0xf0, 0xb6, 0x17, 0x17, 0x18, 0xd3, 0xf3, 0x64, 0x3a, 0xe2, 0xc5, 0x40, 0x3e, + 0x13, 0x20, 0xe1, 0xde, 0x78, 0x24, 0x1f, 0xf7, 0x6e, 0x74, 0xb8, 0x5d, 0x8e, 0xaf, 0x10, 0x3f, + 0x7e, 0x0f, 0xaf, 0xd1, 0xd5, 0x9d, 0x97, 0xfb, 0x59, 0xe1, 0xd5, 0x7e, 0x56, 0xf8, 0x6d, 0x3f, + 0x2b, 0x7c, 0x72, 0x90, 0xed, 0x7b, 0x75, 0x90, 0xed, 0xfb, 0xe5, 0x20, 0xdb, 0xf7, 0xf6, 0x66, + 0x45, 0xb5, 0xaa, 0xcd, 0x52, 0x4e, 0xd6, 0xeb, 0xf9, 0x0d, 0x07, 0x69, 0x93, 0x96, 0xcc, 0x43, + 0xdc, 0x4b, 0xb2, 0x6e, 0x28, 0xde, 0x61, 0x95, 0xaa, 0x1a, 0xd6, 0x29, 0xd3, 0xd9, 0xd4, 0x6e, + 0xe3, 0xcd, 0xd2, 0x30, 0xfb, 0x0f, 0xee, 0xca, 0x1f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x91, 0x50, + 0x4b, 0xd5, 0x48, 0x1c, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1744,6 +1924,10 @@ type QueryClient interface { CoinbasePriceStates(ctx context.Context, in *QueryCoinbasePriceStatesRequest, opts ...grpc.CallOption) (*QueryCoinbasePriceStatesResponse, error) // Retrieves the state for all pyth price feeds PythPriceStates(ctx context.Context, in *QueryPythPriceStatesRequest, opts ...grpc.CallOption) (*QueryPythPriceStatesResponse, error) + // Retrieves the state for all stork price feeds + StorkPriceStates(ctx context.Context, in *QueryStorkPriceStatesRequest, opts ...grpc.CallOption) (*QueryStorkPriceStatesResponse, error) + // Retrieves all stork publishers + StorkPublishers(ctx context.Context, in *QueryStorkPublishersRequest, opts ...grpc.CallOption) (*QueryStorkPublishersResponse, error) // Retrieves the state for all provider price feeds ProviderPriceState(ctx context.Context, in *QueryProviderPriceStateRequest, opts ...grpc.CallOption) (*QueryProviderPriceStateResponse, error) // Retrieves the entire oracle module's state @@ -1829,6 +2013,24 @@ func (c *queryClient) PythPriceStates(ctx context.Context, in *QueryPythPriceSta return out, nil } +func (c *queryClient) StorkPriceStates(ctx context.Context, in *QueryStorkPriceStatesRequest, opts ...grpc.CallOption) (*QueryStorkPriceStatesResponse, error) { + out := new(QueryStorkPriceStatesResponse) + err := c.cc.Invoke(ctx, "/injective.oracle.v1beta1.Query/StorkPriceStates", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) StorkPublishers(ctx context.Context, in *QueryStorkPublishersRequest, opts ...grpc.CallOption) (*QueryStorkPublishersResponse, error) { + out := new(QueryStorkPublishersResponse) + err := c.cc.Invoke(ctx, "/injective.oracle.v1beta1.Query/StorkPublishers", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) ProviderPriceState(ctx context.Context, in *QueryProviderPriceStateRequest, opts ...grpc.CallOption) (*QueryProviderPriceStateResponse, error) { out := new(QueryProviderPriceStateResponse) err := c.cc.Invoke(ctx, "/injective.oracle.v1beta1.Query/ProviderPriceState", in, out, opts...) @@ -1917,6 +2119,10 @@ type QueryServer interface { CoinbasePriceStates(context.Context, *QueryCoinbasePriceStatesRequest) (*QueryCoinbasePriceStatesResponse, error) // Retrieves the state for all pyth price feeds PythPriceStates(context.Context, *QueryPythPriceStatesRequest) (*QueryPythPriceStatesResponse, error) + // Retrieves the state for all stork price feeds + StorkPriceStates(context.Context, *QueryStorkPriceStatesRequest) (*QueryStorkPriceStatesResponse, error) + // Retrieves all stork publishers + StorkPublishers(context.Context, *QueryStorkPublishersRequest) (*QueryStorkPublishersResponse, error) // Retrieves the state for all provider price feeds ProviderPriceState(context.Context, *QueryProviderPriceStateRequest) (*QueryProviderPriceStateResponse, error) // Retrieves the entire oracle module's state @@ -1956,6 +2162,12 @@ func (*UnimplementedQueryServer) CoinbasePriceStates(ctx context.Context, req *Q func (*UnimplementedQueryServer) PythPriceStates(ctx context.Context, req *QueryPythPriceStatesRequest) (*QueryPythPriceStatesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method PythPriceStates not implemented") } +func (*UnimplementedQueryServer) StorkPriceStates(ctx context.Context, req *QueryStorkPriceStatesRequest) (*QueryStorkPriceStatesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method StorkPriceStates not implemented") +} +func (*UnimplementedQueryServer) StorkPublishers(ctx context.Context, req *QueryStorkPublishersRequest) (*QueryStorkPublishersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method StorkPublishers not implemented") +} func (*UnimplementedQueryServer) ProviderPriceState(ctx context.Context, req *QueryProviderPriceStateRequest) (*QueryProviderPriceStateResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ProviderPriceState not implemented") } @@ -2111,6 +2323,42 @@ func _Query_PythPriceStates_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } +func _Query_StorkPriceStates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryStorkPriceStatesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).StorkPriceStates(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.oracle.v1beta1.Query/StorkPriceStates", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).StorkPriceStates(ctx, req.(*QueryStorkPriceStatesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_StorkPublishers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryStorkPublishersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).StorkPublishers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.oracle.v1beta1.Query/StorkPublishers", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).StorkPublishers(ctx, req.(*QueryStorkPublishersRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Query_ProviderPriceState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QueryProviderPriceStateRequest) if err := dec(in); err != nil { @@ -2287,6 +2535,14 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "PythPriceStates", Handler: _Query_PythPriceStates_Handler, }, + { + MethodName: "StorkPriceStates", + Handler: _Query_StorkPriceStates_Handler, + }, + { + MethodName: "StorkPublishers", + Handler: _Query_StorkPublishers_Handler, + }, { MethodName: "ProviderPriceState", Handler: _Query_ProviderPriceState_Handler, @@ -2800,7 +3056,7 @@ func (m *QueryPythPriceStatesResponse) MarshalToSizedBuffer(dAtA []byte) (int, e return len(dAtA) - i, nil } -func (m *QueryProviderPriceStateRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryStorkPriceStatesRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2810,34 +3066,20 @@ func (m *QueryProviderPriceStateRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryProviderPriceStateRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryStorkPriceStatesRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryProviderPriceStateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryStorkPriceStatesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Symbol) > 0 { - i -= len(m.Symbol) - copy(dAtA[i:], m.Symbol) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Symbol))) - i-- - dAtA[i] = 0x12 - } - if len(m.Provider) > 0 { - i -= len(m.Provider) - copy(dAtA[i:], m.Provider) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Provider))) - i-- - dAtA[i] = 0xa - } return len(dAtA) - i, nil } -func (m *QueryProviderPriceStateResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryStorkPriceStatesResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2847,32 +3089,34 @@ func (m *QueryProviderPriceStateResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryProviderPriceStateResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryStorkPriceStatesResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryProviderPriceStateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryStorkPriceStatesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.PriceState != nil { - { - size, err := m.PriceState.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err + if len(m.PriceStates) > 0 { + for iNdEx := len(m.PriceStates) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.PriceStates[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa } - i-- - dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *QueryModuleStateRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryStorkPublishersRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2882,12 +3126,12 @@ func (m *QueryModuleStateRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryModuleStateRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryStorkPublishersRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryModuleStateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryStorkPublishersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -2895,7 +3139,7 @@ func (m *QueryModuleStateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *QueryModuleStateResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryStorkPublishersResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2905,32 +3149,29 @@ func (m *QueryModuleStateResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryModuleStateResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryStorkPublishersResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryModuleStateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryStorkPublishersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.State != nil { - { - size, err := m.State.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) + if len(m.Publishers) > 0 { + for iNdEx := len(m.Publishers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Publishers[iNdEx]) + copy(dAtA[i:], m.Publishers[iNdEx]) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Publishers[iNdEx]))) + i-- + dAtA[i] = 0xa } - i-- - dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *QueryHistoricalPriceRecordsRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryProviderPriceStateRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2940,32 +3181,34 @@ func (m *QueryHistoricalPriceRecordsRequest) Marshal() (dAtA []byte, err error) return dAtA[:n], nil } -func (m *QueryHistoricalPriceRecordsRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryProviderPriceStateRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryHistoricalPriceRecordsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryProviderPriceStateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.SymbolId) > 0 { - i -= len(m.SymbolId) - copy(dAtA[i:], m.SymbolId) - i = encodeVarintQuery(dAtA, i, uint64(len(m.SymbolId))) + if len(m.Symbol) > 0 { + i -= len(m.Symbol) + copy(dAtA[i:], m.Symbol) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Symbol))) i-- dAtA[i] = 0x12 } - if m.Oracle != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Oracle)) + if len(m.Provider) > 0 { + i -= len(m.Provider) + copy(dAtA[i:], m.Provider) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Provider))) i-- - dAtA[i] = 0x8 + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *QueryHistoricalPriceRecordsResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryProviderPriceStateResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2975,7 +3218,135 @@ func (m *QueryHistoricalPriceRecordsResponse) Marshal() (dAtA []byte, err error) return dAtA[:n], nil } -func (m *QueryHistoricalPriceRecordsResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryProviderPriceStateResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryProviderPriceStateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.PriceState != nil { + { + size, err := m.PriceState.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 *QueryModuleStateRequest) 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 *QueryModuleStateRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryModuleStateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryModuleStateResponse) 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 *QueryModuleStateResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryModuleStateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.State != nil { + { + size, err := m.State.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 *QueryHistoricalPriceRecordsRequest) 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 *QueryHistoricalPriceRecordsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryHistoricalPriceRecordsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.SymbolId) > 0 { + i -= len(m.SymbolId) + copy(dAtA[i:], m.SymbolId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.SymbolId))) + i-- + dAtA[i] = 0x12 + } + if m.Oracle != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Oracle)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *QueryHistoricalPriceRecordsResponse) 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 *QueryHistoricalPriceRecordsResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } @@ -3703,6 +4074,54 @@ func (m *QueryPythPriceStatesResponse) Size() (n int) { return n } +func (m *QueryStorkPriceStatesRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryStorkPriceStatesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.PriceStates) > 0 { + for _, e := range m.PriceStates { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + +func (m *QueryStorkPublishersRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryStorkPublishersResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Publishers) > 0 { + for _, s := range m.Publishers { + l = len(s) + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + func (m *QueryProviderPriceStateRequest) Size() (n int) { if m == nil { return 0 @@ -5086,6 +5505,272 @@ func (m *QueryPythPriceStatesResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryStorkPriceStatesRequest) 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: QueryStorkPriceStatesRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryStorkPriceStatesRequest: 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 *QueryStorkPriceStatesResponse) 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: QueryStorkPriceStatesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryStorkPriceStatesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PriceStates", 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.PriceStates = append(m.PriceStates, &StorkPriceState{}) + if err := m.PriceStates[len(m.PriceStates)-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 *QueryStorkPublishersRequest) 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: QueryStorkPublishersRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryStorkPublishersRequest: 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 *QueryStorkPublishersResponse) 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: QueryStorkPublishersResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryStorkPublishersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Publishers", 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.Publishers = append(m.Publishers, 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 *QueryProviderPriceStateRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/chain/oracle/types/stork.go b/chain/oracle/types/stork.go new file mode 100644 index 00000000..343eb8e8 --- /dev/null +++ b/chain/oracle/types/stork.go @@ -0,0 +1,29 @@ +package types + +import ( + "cosmossdk.io/math" +) + +func NewStorkPriceState( + price math.LegacyDec, + timestamp uint64, + symbol string, + blockTime int64, +) *StorkPriceState { + return &StorkPriceState{ + Timestamp: timestamp, + Symbol: symbol, + Value: price, + PriceState: *NewPriceState(price, blockTime), + } +} + +func (s *StorkPriceState) Update(price math.LegacyDec, timestamp uint64, blockTime int64) { + s.Value = price + s.Timestamp = timestamp + s.PriceState.UpdatePrice(price, blockTime) +} + +func ScaleStorkPrice(price math.LegacyDec) math.LegacyDec { + return price.QuoTruncate(EighteenDecimals) +} diff --git a/chain/oracle/types/stork_oracle.go b/chain/oracle/types/stork_oracle.go new file mode 100644 index 00000000..da52f788 --- /dev/null +++ b/chain/oracle/types/stork_oracle.go @@ -0,0 +1,39 @@ +package types + +import ( + "bytes" + "math/big" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/common/math" + "github.com/ethereum/go-ethereum/crypto" + + peggytypes "github.com/InjectiveLabs/sdk-go/chain/peggy/types" +) + +func getMessageHash(publisher common.Address, assetPairID, timeStamp, price string) (hash common.Hash) { + enc := encodePacked(publisher.Bytes(), []byte(assetPairID), encodeUint256(timeStamp), encodeUint256(price)) + + return crypto.Keccak256Hash(enc) +} + +func encodePacked(input ...[]byte) []byte { + return bytes.Join(input, nil) +} + +func encodeUint256(v string) []byte { + bn := new(big.Int) + bn.SetString(v, 10) + return math.U256Bytes(bn) +} + +func VerifyStorkMsgSignature(oraclePubKey common.Address, assetPairID, timeStamp, price string, signature []byte) bool { + hash := getMessageHash(oraclePubKey, assetPairID, timeStamp, price) + + recoveredPubKey, err := peggytypes.EthAddressFromSignature(hash, signature) + if err != nil { + return false + } + + return recoveredPubKey == oraclePubKey +} diff --git a/chain/oracle/types/tx.pb.go b/chain/oracle/types/tx.pb.go index 8eae71e5..eaf64d6b 100644 --- a/chain/oracle/types/tx.pb.go +++ b/chain/oracle/types/tx.pb.go @@ -378,6 +378,82 @@ func (m *MsgRelayCoinbaseMessagesResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgRelayCoinbaseMessagesResponse proto.InternalMessageInfo +// MsgRelayStorkPrices defines a SDK message for relaying price message +// from Stork API. +type MsgRelayStorkPrices struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` + AssetPairs []*AssetPair `protobuf:"bytes,2,rep,name=asset_pairs,json=assetPairs,proto3" json:"asset_pairs,omitempty"` +} + +func (m *MsgRelayStorkPrices) Reset() { *m = MsgRelayStorkPrices{} } +func (m *MsgRelayStorkPrices) String() string { return proto.CompactTextString(m) } +func (*MsgRelayStorkPrices) ProtoMessage() {} +func (*MsgRelayStorkPrices) Descriptor() ([]byte, []int) { + return fileDescriptor_5fdf1c490eba4310, []int{8} +} +func (m *MsgRelayStorkPrices) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRelayStorkPrices) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRelayStorkPrices.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 *MsgRelayStorkPrices) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRelayStorkPrices.Merge(m, src) +} +func (m *MsgRelayStorkPrices) XXX_Size() int { + return m.Size() +} +func (m *MsgRelayStorkPrices) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRelayStorkPrices.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRelayStorkPrices proto.InternalMessageInfo + +type MsgRelayStorkPricesResponse struct { +} + +func (m *MsgRelayStorkPricesResponse) Reset() { *m = MsgRelayStorkPricesResponse{} } +func (m *MsgRelayStorkPricesResponse) String() string { return proto.CompactTextString(m) } +func (*MsgRelayStorkPricesResponse) ProtoMessage() {} +func (*MsgRelayStorkPricesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_5fdf1c490eba4310, []int{9} +} +func (m *MsgRelayStorkPricesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRelayStorkPricesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRelayStorkPricesResponse.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 *MsgRelayStorkPricesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRelayStorkPricesResponse.Merge(m, src) +} +func (m *MsgRelayStorkPricesResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgRelayStorkPricesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRelayStorkPricesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRelayStorkPricesResponse proto.InternalMessageInfo + // MsgRequestBandIBCRates defines a SDK message for requesting data from // BandChain using IBC. type MsgRequestBandIBCRates struct { @@ -389,7 +465,7 @@ func (m *MsgRequestBandIBCRates) Reset() { *m = MsgRequestBandIBCRates{} func (m *MsgRequestBandIBCRates) String() string { return proto.CompactTextString(m) } func (*MsgRequestBandIBCRates) ProtoMessage() {} func (*MsgRequestBandIBCRates) Descriptor() ([]byte, []int) { - return fileDescriptor_5fdf1c490eba4310, []int{8} + return fileDescriptor_5fdf1c490eba4310, []int{10} } func (m *MsgRequestBandIBCRates) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -426,7 +502,7 @@ func (m *MsgRequestBandIBCRatesResponse) Reset() { *m = MsgRequestBandIB func (m *MsgRequestBandIBCRatesResponse) String() string { return proto.CompactTextString(m) } func (*MsgRequestBandIBCRatesResponse) ProtoMessage() {} func (*MsgRequestBandIBCRatesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_5fdf1c490eba4310, []int{9} + return fileDescriptor_5fdf1c490eba4310, []int{11} } func (m *MsgRequestBandIBCRatesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -465,7 +541,7 @@ func (m *MsgRelayPythPrices) Reset() { *m = MsgRelayPythPrices{} } func (m *MsgRelayPythPrices) String() string { return proto.CompactTextString(m) } func (*MsgRelayPythPrices) ProtoMessage() {} func (*MsgRelayPythPrices) Descriptor() ([]byte, []int) { - return fileDescriptor_5fdf1c490eba4310, []int{10} + return fileDescriptor_5fdf1c490eba4310, []int{12} } func (m *MsgRelayPythPrices) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -502,7 +578,7 @@ func (m *MsgRelayPythPricesResponse) Reset() { *m = MsgRelayPythPricesRe func (m *MsgRelayPythPricesResponse) String() string { return proto.CompactTextString(m) } func (*MsgRelayPythPricesResponse) ProtoMessage() {} func (*MsgRelayPythPricesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_5fdf1c490eba4310, []int{11} + return fileDescriptor_5fdf1c490eba4310, []int{13} } func (m *MsgRelayPythPricesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -544,7 +620,7 @@ 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} + return fileDescriptor_5fdf1c490eba4310, []int{14} } func (m *MsgUpdateParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -594,7 +670,7 @@ 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} + return fileDescriptor_5fdf1c490eba4310, []int{15} } func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -632,6 +708,8 @@ func init() { proto.RegisterType((*MsgRelayBandRatesResponse)(nil), "injective.oracle.v1beta1.MsgRelayBandRatesResponse") proto.RegisterType((*MsgRelayCoinbaseMessages)(nil), "injective.oracle.v1beta1.MsgRelayCoinbaseMessages") proto.RegisterType((*MsgRelayCoinbaseMessagesResponse)(nil), "injective.oracle.v1beta1.MsgRelayCoinbaseMessagesResponse") + proto.RegisterType((*MsgRelayStorkPrices)(nil), "injective.oracle.v1beta1.MsgRelayStorkPrices") + proto.RegisterType((*MsgRelayStorkPricesResponse)(nil), "injective.oracle.v1beta1.MsgRelayStorkPricesResponse") proto.RegisterType((*MsgRequestBandIBCRates)(nil), "injective.oracle.v1beta1.MsgRequestBandIBCRates") proto.RegisterType((*MsgRequestBandIBCRatesResponse)(nil), "injective.oracle.v1beta1.MsgRequestBandIBCRatesResponse") proto.RegisterType((*MsgRelayPythPrices)(nil), "injective.oracle.v1beta1.MsgRelayPythPrices") @@ -643,65 +721,69 @@ func init() { func init() { proto.RegisterFile("injective/oracle/v1beta1/tx.proto", fileDescriptor_5fdf1c490eba4310) } var fileDescriptor_5fdf1c490eba4310 = []byte{ - // 914 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0x4f, 0x6f, 0x1b, 0x45, - 0x14, 0xf7, 0x26, 0x8e, 0x21, 0xd3, 0x40, 0x95, 0x21, 0xa4, 0x9b, 0x2d, 0xb5, 0x8d, 0x2b, 0xa4, - 0x36, 0xd0, 0x5d, 0x9c, 0xf2, 0xd7, 0x48, 0x48, 0x75, 0x2b, 0xa4, 0x48, 0x89, 0x14, 0x2d, 0x70, - 0x80, 0x4b, 0x34, 0xde, 0x1d, 0xd6, 0x03, 0xde, 0x9d, 0xed, 0xcc, 0xd8, 0xc2, 0x47, 0x38, 0x00, - 0xe2, 0xc4, 0x47, 0xe8, 0x8d, 0x6b, 0x0f, 0x3d, 0xf1, 0x09, 0x7a, 0x00, 0xa9, 0xe2, 0x84, 0x7a, - 0xa8, 0x50, 0x72, 0x28, 0x1f, 0x80, 0x0f, 0x50, 0xed, 0xec, 0xec, 0x78, 0xbd, 0xf6, 0xc6, 0xf6, - 0x25, 0x99, 0xf7, 0xde, 0xef, 0xbd, 0xf9, 0xfd, 0xe6, 0xcd, 0x3c, 0x2f, 0x78, 0x93, 0x44, 0xdf, - 0x62, 0x4f, 0x90, 0x11, 0x76, 0x28, 0x43, 0xde, 0x00, 0x3b, 0xa3, 0x76, 0x0f, 0x0b, 0xd4, 0x76, - 0xc4, 0xf7, 0x76, 0xcc, 0xa8, 0xa0, 0xd0, 0xd4, 0x10, 0x3b, 0x85, 0xd8, 0x0a, 0x62, 0xed, 0x04, - 0x34, 0xa0, 0x12, 0xe4, 0x24, 0xab, 0x14, 0x6f, 0xbd, 0x55, 0x5a, 0x52, 0xa5, 0xa7, 0xb0, 0x2b, - 0x1e, 0xe5, 0x21, 0xe5, 0x4e, 0xc8, 0x03, 0x67, 0xd4, 0x4e, 0xfe, 0xa9, 0xc0, 0x5e, 0x1a, 0x38, - 0x4d, 0x0b, 0xa7, 0x86, 0x0a, 0x6d, 0xa3, 0x90, 0x44, 0xd4, 0x91, 0x7f, 0x53, 0x57, 0xeb, 0xa9, - 0x01, 0x76, 0x8f, 0x79, 0xe0, 0xe2, 0x01, 0x1a, 0x9f, 0x30, 0x3a, 0x22, 0x3e, 0x66, 0x27, 0x8c, - 0x78, 0x98, 0xc3, 0x5d, 0x50, 0xe3, 0x38, 0xf2, 0x31, 0x33, 0x8d, 0xa6, 0x71, 0x63, 0xd3, 0x55, - 0x16, 0xb4, 0xc0, 0xcb, 0xb1, 0x42, 0x9a, 0x6b, 0x32, 0xa2, 0x6d, 0x68, 0x82, 0x97, 0xf8, 0x38, - 0xec, 0xd1, 0x01, 0x37, 0xd7, 0x9b, 0xeb, 0x37, 0x36, 0xdd, 0xcc, 0x84, 0x9f, 0x80, 0x5a, 0x2c, - 0xeb, 0x9a, 0xd5, 0x24, 0xd0, 0xbd, 0xfe, 0xf8, 0x59, 0xa3, 0xf2, 0xf4, 0x59, 0xe3, 0x6a, 0xca, - 0x90, 0xfb, 0xdf, 0xd9, 0x84, 0x3a, 0x21, 0x12, 0x7d, 0xfb, 0x08, 0x07, 0xc8, 0x1b, 0xdf, 0xc3, - 0x9e, 0xab, 0x52, 0x3a, 0xef, 0xff, 0xf2, 0xa0, 0x51, 0xf9, 0xef, 0x41, 0xa3, 0xf2, 0xe3, 0xf3, - 0x87, 0xfb, 0x8a, 0xc7, 0xaf, 0xcf, 0x1f, 0xee, 0x5f, 0x53, 0x27, 0x34, 0x5f, 0x41, 0xab, 0x09, - 0xea, 0xf3, 0x23, 0x2e, 0xe6, 0x31, 0x8d, 0x38, 0x6e, 0xfd, 0x39, 0x25, 0x9f, 0x78, 0xf8, 0x33, - 0x8c, 0x7d, 0xb9, 0x28, 0x95, 0x0f, 0x41, 0xb5, 0x87, 0x38, 0x36, 0xd7, 0xa4, 0x3e, 0xb9, 0x86, - 0x3b, 0x60, 0xe3, 0xfe, 0x90, 0x0a, 0xac, 0x44, 0xa7, 0x06, 0xfc, 0x18, 0x6c, 0x48, 0xfe, 0xab, - 0x28, 0x4e, 0x33, 0x56, 0x10, 0x9c, 0xe7, 0x3c, 0x2d, 0x38, 0x1f, 0xd1, 0x82, 0xff, 0x32, 0xc0, - 0x76, 0x06, 0xe9, 0xa2, 0xc8, 0x77, 0x91, 0xc0, 0x3c, 0x69, 0x1b, 0x4b, 0x3c, 0x5a, 0x6c, 0x66, - 0xe6, 0x1b, 0xba, 0x36, 0xdd, 0xd0, 0x1d, 0xb0, 0xc1, 0x92, 0x64, 0xa9, 0xb9, 0xea, 0xa6, 0x06, - 0xbc, 0x0e, 0x5e, 0x61, 0x98, 0xd3, 0xc1, 0x08, 0x9f, 0x0a, 0x12, 0xaa, 0x6e, 0x57, 0xdd, 0x2d, - 0xe5, 0xfc, 0x22, 0xf1, 0xc1, 0x3a, 0x00, 0x0c, 0xdf, 0x1f, 0x62, 0x2e, 0x0e, 0xef, 0x71, 0x73, - 0x43, 0x22, 0x72, 0x9e, 0xce, 0xcd, 0x44, 0x75, 0x46, 0x21, 0x91, 0x6d, 0x16, 0x64, 0x6b, 0xe6, - 0xad, 0xab, 0x60, 0x6f, 0xc6, 0xa9, 0xc5, 0xfe, 0x6e, 0x00, 0x33, 0x8b, 0xde, 0xa5, 0x24, 0x4a, - 0x7a, 0x75, 0x8c, 0x39, 0x47, 0xc1, 0xc5, 0xd7, 0x3b, 0x54, 0x18, 0x29, 0x79, 0xcb, 0xd5, 0x76, - 0x42, 0x9c, 0x93, 0x20, 0x42, 0x62, 0xc8, 0x94, 0xf0, 0x2d, 0x37, 0xe7, 0xe9, 0x7c, 0x58, 0xd2, - 0xb6, 0x46, 0x81, 0x7f, 0x91, 0x4c, 0xab, 0x05, 0x9a, 0x65, 0x31, 0xad, 0xe6, 0xa7, 0xec, 0xae, - 0xca, 0x73, 0x4a, 0xd4, 0x1e, 0x76, 0xef, 0xa6, 0xfd, 0x2b, 0xd3, 0x72, 0x4d, 0x1f, 0xf4, 0x29, - 0xf1, 0xe5, 0x63, 0xad, 0xba, 0x9b, 0xd9, 0x41, 0xfb, 0xcb, 0xdd, 0xb2, 0x99, 0xdd, 0xf4, 0x2d, - 0x9b, 0x89, 0x68, 0xaa, 0x7f, 0x18, 0x00, 0xea, 0x8b, 0x38, 0x16, 0xfd, 0x05, 0x13, 0xe5, 0x2b, - 0x00, 0xe5, 0xb5, 0x3f, 0x45, 0x42, 0x60, 0x2e, 0x90, 0x20, 0x34, 0x4a, 0x0f, 0xff, 0xd2, 0xc1, - 0xbe, 0x5d, 0x36, 0x3f, 0x6d, 0x59, 0xf5, 0xce, 0x24, 0xc5, 0xdd, 0x8e, 0x0b, 0x1e, 0xde, 0x69, - 0x97, 0x48, 0xdc, 0x2b, 0x3e, 0x24, 0xcd, 0xb2, 0xf5, 0x06, 0xb0, 0x66, 0xbd, 0x5a, 0xda, 0x23, - 0x03, 0x5c, 0x3e, 0xe6, 0xc1, 0x97, 0xb1, 0x8f, 0x04, 0x3e, 0x41, 0x0c, 0x85, 0x1c, 0x7e, 0x00, - 0x36, 0xd1, 0x50, 0xf4, 0x29, 0x23, 0x62, 0x9c, 0x4a, 0xeb, 0x9a, 0x7f, 0x3f, 0xba, 0xb5, 0xa3, - 0x86, 0xef, 0x1d, 0xdf, 0x67, 0x98, 0xf3, 0xcf, 0x05, 0x23, 0x51, 0xe0, 0x4e, 0xa0, 0xf0, 0x53, - 0x50, 0x8b, 0x65, 0x05, 0xd9, 0x9a, 0x4b, 0x07, 0xcd, 0x0b, 0xb4, 0x4a, 0x5c, 0xb7, 0x9a, 0xcc, - 0x10, 0x57, 0x65, 0xa5, 0xef, 0x64, 0x52, 0x2f, 0xd1, 0xb5, 0x3b, 0xd1, 0x95, 0xa7, 0xd8, 0xda, - 0x03, 0x57, 0x0a, 0xae, 0x4c, 0xd1, 0xc1, 0xff, 0x35, 0xb0, 0x7e, 0xcc, 0x03, 0xf8, 0x83, 0x01, - 0x5e, 0x9b, 0xf7, 0x3b, 0xf0, 0x6e, 0x39, 0xab, 0xf9, 0xd3, 0xd5, 0xfa, 0x68, 0xd5, 0x8c, 0x8c, - 0x4b, 0x9e, 0xc3, 0xd4, 0x30, 0x5e, 0x8a, 0x43, 0x3e, 0x63, 0x39, 0x0e, 0xf3, 0x46, 0x24, 0x64, - 0xe0, 0xd5, 0xc2, 0x78, 0x7c, 0x7b, 0x71, 0x2d, 0x0d, 0xb6, 0x6e, 0xaf, 0x00, 0x2e, 0xe8, 0x9e, - 0x7d, 0xd8, 0x8b, 0x74, 0xcf, 0x64, 0x2c, 0xd4, 0x5d, 0xfa, 0x68, 0xe1, 0xcf, 0x06, 0x78, 0x7d, - 0xfe, 0xa8, 0x3c, 0x58, 0x2c, 0xa9, 0x98, 0x63, 0x75, 0x56, 0xcf, 0xd1, 0x4c, 0x86, 0xe0, 0x72, - 0x71, 0x74, 0xbc, 0xb3, 0x44, 0x3b, 0x35, 0xda, 0x7a, 0x6f, 0x15, 0xb4, 0xde, 0x76, 0x00, 0xb6, - 0xa6, 0x9e, 0xf5, 0xcd, 0x0b, 0xab, 0xe4, 0xa1, 0x56, 0x7b, 0x69, 0x68, 0xb6, 0x5b, 0xf7, 0x9b, - 0xc7, 0x67, 0x75, 0xe3, 0xc9, 0x59, 0xdd, 0xf8, 0xf7, 0xac, 0x6e, 0xfc, 0x76, 0x5e, 0xaf, 0x3c, - 0x39, 0xaf, 0x57, 0xfe, 0x39, 0xaf, 0x57, 0xbe, 0x3e, 0x0a, 0x88, 0xe8, 0x0f, 0x7b, 0xb6, 0x47, - 0x43, 0xe7, 0x30, 0x2b, 0x7b, 0x84, 0x7a, 0xdc, 0xd1, 0x9b, 0xdc, 0xf2, 0x28, 0xc3, 0x79, 0xb3, - 0x8f, 0x48, 0xe4, 0x84, 0xd4, 0x1f, 0x0e, 0x30, 0xcf, 0xbe, 0x1b, 0xc5, 0x38, 0xc6, 0xbc, 0x57, - 0x93, 0x1f, 0x7a, 0xb7, 0x5f, 0x04, 0x00, 0x00, 0xff, 0xff, 0xed, 0x5d, 0x1e, 0x24, 0xab, 0x0a, - 0x00, 0x00, + // 990 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0x4f, 0x6f, 0xe3, 0x44, + 0x14, 0x8f, 0xdb, 0xa4, 0x4b, 0x5f, 0x0b, 0xab, 0xba, 0xa5, 0xeb, 0xba, 0x34, 0x09, 0xa9, 0x90, + 0x76, 0x0b, 0x8d, 0x49, 0x97, 0xe5, 0x4f, 0x90, 0x90, 0x9a, 0xad, 0x90, 0x2a, 0xb5, 0x52, 0xe5, + 0x85, 0x03, 0x5c, 0xa2, 0x49, 0x3c, 0x38, 0x66, 0x63, 0x8f, 0x77, 0x66, 0x12, 0x91, 0x1b, 0x70, + 0x80, 0x15, 0x27, 0x3e, 0xc2, 0xde, 0xb8, 0xf6, 0xb0, 0x27, 0x3e, 0xc1, 0x1e, 0x40, 0x5a, 0x71, + 0x42, 0x7b, 0xa8, 0x50, 0x7b, 0x28, 0x9f, 0x80, 0x33, 0xf2, 0xd8, 0x9e, 0x38, 0x4e, 0xdc, 0x24, + 0x97, 0xd6, 0xef, 0xbd, 0xdf, 0x7b, 0xf3, 0xfb, 0xf9, 0xcd, 0x7b, 0x0e, 0xbc, 0xed, 0x78, 0xdf, + 0xe2, 0x36, 0x77, 0xfa, 0xd8, 0x20, 0x14, 0xb5, 0xbb, 0xd8, 0xe8, 0xd7, 0x5a, 0x98, 0xa3, 0x9a, + 0xc1, 0xbf, 0xab, 0xfa, 0x94, 0x70, 0xa2, 0x6a, 0x12, 0x52, 0x0d, 0x21, 0xd5, 0x08, 0xa2, 0x6f, + 0xd8, 0xc4, 0x26, 0x02, 0x64, 0x04, 0x4f, 0x21, 0x5e, 0x7f, 0x27, 0xb3, 0x64, 0x94, 0x1e, 0xc2, + 0xee, 0xb4, 0x09, 0x73, 0x09, 0x33, 0x5c, 0x66, 0x1b, 0xfd, 0x5a, 0xf0, 0x2f, 0x0a, 0x6c, 0x85, + 0x81, 0x66, 0x58, 0x38, 0x34, 0xa2, 0xd0, 0x1a, 0x72, 0x1d, 0x8f, 0x18, 0xe2, 0x6f, 0xe8, 0xaa, + 0xbc, 0x52, 0x60, 0xf3, 0x94, 0xd9, 0x26, 0xee, 0xa2, 0xc1, 0x19, 0x25, 0x7d, 0xc7, 0xc2, 0xf4, + 0x8c, 0x3a, 0x6d, 0xcc, 0xd4, 0x4d, 0x58, 0x62, 0xd8, 0xb3, 0x30, 0xd5, 0x94, 0xb2, 0x72, 0x77, + 0xd9, 0x8c, 0x2c, 0x55, 0x87, 0xd7, 0xfc, 0x08, 0xa9, 0x2d, 0x88, 0x88, 0xb4, 0x55, 0x0d, 0x6e, + 0xb1, 0x81, 0xdb, 0x22, 0x5d, 0xa6, 0x2d, 0x96, 0x17, 0xef, 0x2e, 0x9b, 0xb1, 0xa9, 0x7e, 0x0a, + 0x4b, 0xbe, 0xa8, 0xab, 0xe5, 0x83, 0x40, 0x63, 0xf7, 0xc5, 0x45, 0x29, 0xf7, 0xea, 0xa2, 0xb4, + 0x1d, 0x32, 0x64, 0xd6, 0xe3, 0xaa, 0x43, 0x0c, 0x17, 0xf1, 0x4e, 0xf5, 0x04, 0xdb, 0xa8, 0x3d, + 0x38, 0xc2, 0x6d, 0x33, 0x4a, 0xa9, 0x3f, 0x78, 0xfa, 0xac, 0x94, 0xfb, 0xf7, 0x59, 0x29, 0xf7, + 0xe3, 0xf5, 0xf9, 0x5e, 0xc4, 0xe3, 0x97, 0xeb, 0xf3, 0xbd, 0x9d, 0xe8, 0x0d, 0x4d, 0x56, 0x50, + 0x29, 0x43, 0x71, 0x72, 0xc4, 0xc4, 0xcc, 0x27, 0x1e, 0xc3, 0x95, 0x3f, 0x46, 0xe4, 0x3b, 0x6d, + 0xfc, 0x39, 0xc6, 0x96, 0x78, 0xc8, 0x94, 0xaf, 0x42, 0xbe, 0x85, 0x18, 0xd6, 0x16, 0x84, 0x3e, + 0xf1, 0xac, 0x6e, 0x40, 0xe1, 0x49, 0x8f, 0x70, 0x1c, 0x89, 0x0e, 0x0d, 0xf5, 0x13, 0x28, 0x08, + 0xfe, 0xf3, 0x28, 0x0e, 0x33, 0xe6, 0x10, 0x9c, 0xe4, 0x3c, 0x2a, 0x38, 0x19, 0x91, 0x82, 0xff, + 0x54, 0x60, 0x2d, 0x86, 0x34, 0x90, 0x67, 0x99, 0x88, 0x63, 0x16, 0xb4, 0x8d, 0x06, 0x1e, 0x29, + 0x36, 0x36, 0x93, 0x0d, 0x5d, 0x18, 0x6d, 0xe8, 0x06, 0x14, 0x68, 0x90, 0x2c, 0x34, 0xe7, 0xcd, + 0xd0, 0x50, 0x77, 0xe1, 0x75, 0x8a, 0x19, 0xe9, 0xf6, 0x71, 0x93, 0x3b, 0x6e, 0xd4, 0xed, 0xbc, + 0xb9, 0x1a, 0x39, 0xbf, 0x08, 0x7c, 0x6a, 0x11, 0x80, 0xe2, 0x27, 0x3d, 0xcc, 0xf8, 0xf1, 0x11, + 0xd3, 0x0a, 0x02, 0x91, 0xf0, 0xd4, 0xef, 0x05, 0xaa, 0x63, 0x0a, 0x81, 0x6c, 0x2d, 0x25, 0x5b, + 0x32, 0xaf, 0x6c, 0xc3, 0xd6, 0x98, 0x53, 0x8a, 0xfd, 0x4d, 0x01, 0x2d, 0x8e, 0x3e, 0x24, 0x8e, + 0x17, 0xf4, 0xea, 0x14, 0x33, 0x86, 0xec, 0x9b, 0xaf, 0xb7, 0x1b, 0x61, 0x84, 0xe4, 0x55, 0x53, + 0xda, 0x01, 0x71, 0xe6, 0xd8, 0x1e, 0xe2, 0x3d, 0x1a, 0x09, 0x5f, 0x35, 0x13, 0x9e, 0xfa, 0x47, + 0x19, 0x6d, 0x2b, 0xa5, 0xf8, 0xa7, 0xc9, 0x54, 0x2a, 0x50, 0xce, 0x8a, 0x49, 0x35, 0x4f, 0x15, + 0x58, 0x8f, 0x41, 0x8f, 0x38, 0xa1, 0x8f, 0xa7, 0xcc, 0xe9, 0x11, 0xac, 0x20, 0xc6, 0x30, 0x6f, + 0xfa, 0xc8, 0xa1, 0xa1, 0x96, 0x95, 0x83, 0xdd, 0x6a, 0xd6, 0x3a, 0xaa, 0x1e, 0x06, 0xe0, 0x33, + 0xe4, 0x50, 0x13, 0x50, 0xfc, 0xc8, 0xea, 0xeb, 0x13, 0x24, 0x55, 0x76, 0x60, 0x7b, 0x02, 0x13, + 0xc9, 0xf4, 0xa7, 0x78, 0xaa, 0x44, 0x47, 0x83, 0xbe, 0x1c, 0x37, 0x1e, 0x86, 0x37, 0x2d, 0x8b, + 0xec, 0x8e, 0xbc, 0x12, 0x4d, 0xc7, 0x12, 0x6b, 0x25, 0x6f, 0x2e, 0xc7, 0x57, 0xc2, 0x9a, 0x6d, + 0x1e, 0xc6, 0x4e, 0x93, 0xf3, 0x30, 0x16, 0x91, 0x54, 0x7f, 0x57, 0x40, 0x95, 0x23, 0x33, 0xe0, + 0x9d, 0x29, 0xef, 0xf4, 0x2b, 0x50, 0xc5, 0x80, 0x36, 0x11, 0xe7, 0x98, 0x71, 0xc4, 0x1d, 0xe2, + 0xc5, 0xaf, 0x76, 0x2f, 0xfb, 0xd5, 0x8a, 0xaa, 0x87, 0xc3, 0x14, 0x73, 0xcd, 0x4f, 0x79, 0x58, + 0xbd, 0x96, 0x21, 0x71, 0x2b, 0x3d, 0xf2, 0x92, 0x65, 0xe5, 0x2d, 0xd0, 0xc7, 0xbd, 0x52, 0xda, + 0x73, 0x05, 0x6e, 0x9f, 0x32, 0xfb, 0x4b, 0xdf, 0x42, 0x1c, 0x9f, 0x21, 0x8a, 0x5c, 0xa6, 0x7e, + 0x08, 0xcb, 0xa8, 0xc7, 0x3b, 0x84, 0x3a, 0x7c, 0x10, 0x4a, 0x6b, 0x68, 0x7f, 0x3d, 0xdf, 0xdf, + 0x88, 0x3e, 0x13, 0x87, 0x96, 0x45, 0x31, 0x63, 0x8f, 0x38, 0x75, 0x3c, 0xdb, 0x1c, 0x42, 0xd5, + 0xcf, 0x60, 0xc9, 0x17, 0x15, 0x44, 0x6b, 0x56, 0x0e, 0xca, 0x37, 0x68, 0x15, 0xb8, 0x46, 0x3e, + 0xd8, 0x76, 0x66, 0x94, 0x15, 0x4e, 0xf4, 0xb0, 0x5e, 0xa0, 0x6b, 0x73, 0xa8, 0x2b, 0x49, 0xb1, + 0xb2, 0x05, 0x77, 0x52, 0xae, 0x58, 0xd1, 0xc1, 0x7f, 0xb7, 0x60, 0xf1, 0x94, 0xd9, 0xea, 0x0f, + 0x0a, 0xac, 0x4f, 0xfa, 0x62, 0xbd, 0x9f, 0xcd, 0x6a, 0xf2, 0x77, 0x40, 0xff, 0x78, 0xde, 0x8c, + 0x98, 0x4b, 0x92, 0xc3, 0xc8, 0x67, 0x63, 0x26, 0x0e, 0xc9, 0x8c, 0xd9, 0x38, 0x4c, 0x5a, 0xe6, + 0x2a, 0x85, 0x37, 0x52, 0x8b, 0xfc, 0xdd, 0xe9, 0xb5, 0x24, 0x58, 0xbf, 0x3f, 0x07, 0x38, 0xa5, + 0x7b, 0x7c, 0xb0, 0xa7, 0xe9, 0x1e, 0xcb, 0x98, 0xaa, 0x3b, 0x73, 0x68, 0xd5, 0x9f, 0x15, 0x78, + 0x73, 0xf2, 0x52, 0x3f, 0x98, 0x2e, 0x29, 0x9d, 0xa3, 0xd7, 0xe7, 0xcf, 0x91, 0x4c, 0x06, 0xb0, + 0x36, 0xdc, 0x82, 0x51, 0x54, 0xdd, 0x9f, 0x5e, 0x30, 0xb1, 0x35, 0xf5, 0x07, 0x73, 0xc1, 0xe5, + 0xd1, 0x3d, 0xb8, 0x9d, 0xde, 0x5a, 0xef, 0xcd, 0x70, 0x93, 0x24, 0x5a, 0xff, 0x60, 0x1e, 0xb4, + 0x3c, 0xb6, 0x0b, 0xab, 0x23, 0x1b, 0xe5, 0xde, 0x8d, 0x55, 0x92, 0x50, 0xbd, 0x36, 0x33, 0x34, + 0x3e, 0x4d, 0x2f, 0x7c, 0x7f, 0x7d, 0xbe, 0xa7, 0x34, 0xbe, 0x79, 0x71, 0x59, 0x54, 0x5e, 0x5e, + 0x16, 0x95, 0x7f, 0x2e, 0x8b, 0xca, 0xaf, 0x57, 0xc5, 0xdc, 0xcb, 0xab, 0x62, 0xee, 0xef, 0xab, + 0x62, 0xee, 0xeb, 0x13, 0xdb, 0xe1, 0x9d, 0x5e, 0xab, 0xda, 0x26, 0xae, 0x71, 0x1c, 0x57, 0x3f, + 0x41, 0x2d, 0x66, 0xc8, 0xb3, 0xf6, 0xdb, 0x84, 0xe2, 0xa4, 0xd9, 0x41, 0x8e, 0x67, 0xb8, 0xc4, + 0xea, 0x75, 0x31, 0x8b, 0x7f, 0x63, 0xf3, 0x81, 0x8f, 0x59, 0x6b, 0x49, 0xfc, 0x28, 0xbe, 0xff, + 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x21, 0x85, 0x8e, 0x1e, 0xd7, 0x0b, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -729,6 +811,9 @@ type MsgClient interface { // RelayCoinbaseMessages defines a method for relaying price messages from // Coinbase API RelayCoinbaseMessages(ctx context.Context, in *MsgRelayCoinbaseMessages, opts ...grpc.CallOption) (*MsgRelayCoinbaseMessagesResponse, error) + // RelayStorkMessage defines a method for relaying price message from + // Stork API + RelayStorkMessage(ctx context.Context, in *MsgRelayStorkPrices, opts ...grpc.CallOption) (*MsgRelayStorkPricesResponse, 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 @@ -788,6 +873,15 @@ func (c *msgClient) RelayCoinbaseMessages(ctx context.Context, in *MsgRelayCoinb return out, nil } +func (c *msgClient) RelayStorkMessage(ctx context.Context, in *MsgRelayStorkPrices, opts ...grpc.CallOption) (*MsgRelayStorkPricesResponse, error) { + out := new(MsgRelayStorkPricesResponse) + err := c.cc.Invoke(ctx, "/injective.oracle.v1beta1.Msg/RelayStorkMessage", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *msgClient) RelayPythPrices(ctx context.Context, in *MsgRelayPythPrices, opts ...grpc.CallOption) (*MsgRelayPythPricesResponse, error) { out := new(MsgRelayPythPricesResponse) err := c.cc.Invoke(ctx, "/injective.oracle.v1beta1.Msg/RelayPythPrices", in, out, opts...) @@ -821,6 +915,9 @@ type MsgServer interface { // RelayCoinbaseMessages defines a method for relaying price messages from // Coinbase API RelayCoinbaseMessages(context.Context, *MsgRelayCoinbaseMessages) (*MsgRelayCoinbaseMessagesResponse, error) + // RelayStorkMessage defines a method for relaying price message from + // Stork API + RelayStorkMessage(context.Context, *MsgRelayStorkPrices) (*MsgRelayStorkPricesResponse, 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 @@ -846,6 +943,9 @@ func (*UnimplementedMsgServer) RequestBandIBCRates(ctx context.Context, req *Msg func (*UnimplementedMsgServer) RelayCoinbaseMessages(ctx context.Context, req *MsgRelayCoinbaseMessages) (*MsgRelayCoinbaseMessagesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RelayCoinbaseMessages not implemented") } +func (*UnimplementedMsgServer) RelayStorkMessage(ctx context.Context, req *MsgRelayStorkPrices) (*MsgRelayStorkPricesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RelayStorkMessage not implemented") +} func (*UnimplementedMsgServer) RelayPythPrices(ctx context.Context, req *MsgRelayPythPrices) (*MsgRelayPythPricesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RelayPythPrices not implemented") } @@ -947,6 +1047,24 @@ func _Msg_RelayCoinbaseMessages_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } +func _Msg_RelayStorkMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRelayStorkPrices) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).RelayStorkMessage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.oracle.v1beta1.Msg/RelayStorkMessage", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).RelayStorkMessage(ctx, req.(*MsgRelayStorkPrices)) + } + return interceptor(ctx, in, info, handler) +} + func _Msg_RelayPythPrices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MsgRelayPythPrices) if err := dec(in); err != nil { @@ -1007,6 +1125,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "RelayCoinbaseMessages", Handler: _Msg_RelayCoinbaseMessages_Handler, }, + { + MethodName: "RelayStorkMessage", + Handler: _Msg_RelayStorkMessage_Handler, + }, { MethodName: "RelayPythPrices", Handler: _Msg_RelayPythPrices_Handler, @@ -1375,6 +1497,73 @@ func (m *MsgRelayCoinbaseMessagesResponse) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } +func (m *MsgRelayStorkPrices) 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 *MsgRelayStorkPrices) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRelayStorkPrices) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.AssetPairs) > 0 { + for iNdEx := len(m.AssetPairs) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.AssetPairs[iNdEx].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 *MsgRelayStorkPricesResponse) 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 *MsgRelayStorkPricesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRelayStorkPricesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func (m *MsgRequestBandIBCRates) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -1735,6 +1924,34 @@ func (m *MsgRelayCoinbaseMessagesResponse) Size() (n int) { return n } +func (m *MsgRelayStorkPrices) 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)) + } + if len(m.AssetPairs) > 0 { + for _, e := range m.AssetPairs { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgRelayStorkPricesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func (m *MsgRequestBandIBCRates) Size() (n int) { if m == nil { return 0 @@ -2870,6 +3087,172 @@ func (m *MsgRelayCoinbaseMessagesResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgRelayStorkPrices) 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: MsgRelayStorkPrices: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRelayStorkPrices: 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 AssetPairs", 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 + } + m.AssetPairs = append(m.AssetPairs, &AssetPair{}) + if err := m.AssetPairs[len(m.AssetPairs)-1].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 *MsgRelayStorkPricesResponse) 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: MsgRelayStorkPricesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRelayStorkPricesResponse: 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 *MsgRequestBandIBCRates) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/chain/peggy/types/msgs.pb.go b/chain/peggy/types/msgs.pb.go index a19ba087..b9928aab 100644 --- a/chain/peggy/types/msgs.pb.go +++ b/chain/peggy/types/msgs.pb.go @@ -1610,118 +1610,118 @@ func init() { func init() { proto.RegisterFile("injective/peggy/v1/msgs.proto", fileDescriptor_751daa04abed7ef4) } var fileDescriptor_751daa04abed7ef4 = []byte{ - // 1769 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4d, 0x6c, 0xdc, 0xc6, - 0x15, 0x16, 0xb5, 0xab, 0xbf, 0x59, 0xc9, 0xb2, 0x59, 0xd9, 0x5e, 0xd1, 0xd6, 0x4a, 0xa2, 0x6c, - 0x4b, 0x96, 0x6d, 0x52, 0x2b, 0xb7, 0x76, 0x2d, 0xa0, 0x05, 0xbc, 0x92, 0x8a, 0x1a, 0xad, 0xdc, - 0x62, 0xe5, 0xba, 0x40, 0x2f, 0xec, 0x2c, 0x39, 0x26, 0x59, 0x2d, 0x39, 0x5b, 0xce, 0xec, 0xba, - 0x3a, 0x14, 0x68, 0x7d, 0x74, 0x0f, 0x2d, 0xd0, 0x43, 0x90, 0x43, 0x4e, 0xc9, 0xd5, 0x80, 0x0f, - 0x01, 0x82, 0xf8, 0x9c, 0x00, 0x3e, 0x1a, 0xc9, 0x25, 0x08, 0x02, 0x23, 0xb0, 0x03, 0x18, 0xc8, - 0x29, 0xf7, 0x5c, 0x02, 0xce, 0x0c, 0xb9, 0xe4, 0x2e, 0xb9, 0x5a, 0x01, 0xba, 0x08, 0x3b, 0x6f, - 0xde, 0x9b, 0xf9, 0xde, 0xef, 0x7c, 0x14, 0x58, 0x70, 0xfd, 0xbf, 0x21, 0x93, 0xba, 0x1d, 0xa4, - 0xb7, 0x90, 0x6d, 0x1f, 0xea, 0x9d, 0xaa, 0xee, 0x11, 0x9b, 0x68, 0xad, 0x00, 0x53, 0x2c, 0xcb, - 0xf1, 0xb6, 0xc6, 0xb6, 0xb5, 0x4e, 0x55, 0xa9, 0x98, 0x98, 0x78, 0x98, 0xe8, 0x0d, 0x48, 0x90, - 0xde, 0xa9, 0x36, 0x10, 0x85, 0x55, 0xdd, 0xc4, 0xae, 0xcf, 0x6d, 0x94, 0x39, 0x1b, 0xdb, 0x98, - 0xfd, 0xd4, 0xc3, 0x5f, 0x42, 0x7a, 0xd1, 0xc6, 0xd8, 0x6e, 0x22, 0x1d, 0xb6, 0x5c, 0x1d, 0xfa, - 0x3e, 0xa6, 0x90, 0xba, 0xd8, 0x17, 0xf7, 0x28, 0x95, 0x0c, 0x18, 0xf4, 0xb0, 0x85, 0xa2, 0xfd, - 0xc5, 0x8c, 0xfd, 0x16, 0x0c, 0xa0, 0x17, 0x29, 0xcc, 0x8b, 0xe3, 0xd9, 0xaa, 0xd1, 0x7e, 0xa4, - 0x43, 0xff, 0x50, 0x6c, 0x9d, 0x17, 0x78, 0x3d, 0x62, 0x0b, 0xef, 0x22, 0x1b, 0xbe, 0x61, 0x70, - 0xac, 0x7c, 0x21, 0xb6, 0xce, 0x40, 0xcf, 0xf5, 0xb1, 0xce, 0xfe, 0x72, 0x91, 0xfa, 0x4c, 0x02, - 0x17, 0xf6, 0x88, 0xbd, 0x8f, 0xe8, 0x1f, 0x02, 0xd3, 0x41, 0x84, 0x06, 0x90, 0xe2, 0xe0, 0xae, - 0x65, 0x05, 0x88, 0x10, 0x44, 0xe4, 0x73, 0x60, 0x9c, 0x20, 0xdf, 0x42, 0x41, 0x59, 0x5a, 0x92, - 0xd6, 0xa6, 0xea, 0x62, 0x25, 0xab, 0x60, 0x1a, 0x27, 0x0c, 0xca, 0xa3, 0x6c, 0x37, 0x25, 0x93, - 0x17, 0x41, 0x09, 0x51, 0xc7, 0x80, 0xfc, 0xb0, 0x72, 0x81, 0xa9, 0x00, 0x44, 0x1d, 0x71, 0xfc, - 0x56, 0xf5, 0xc9, 0xbb, 0xe7, 0xeb, 0xe2, 0xc4, 0xa7, 0xef, 0x9e, 0xaf, 0x2f, 0xf3, 0x28, 0x0c, - 0xc0, 0xa3, 0x5e, 0x06, 0x2b, 0x03, 0xb6, 0xeb, 0x88, 0xb4, 0xb0, 0x4f, 0x90, 0xfa, 0xa9, 0x04, - 0x4e, 0xef, 0x11, 0xfb, 0x21, 0x6c, 0x12, 0x44, 0xb7, 0xb1, 0xff, 0xc8, 0x0d, 0x3c, 0x79, 0x0e, - 0x8c, 0xf9, 0xd8, 0x37, 0x11, 0x73, 0xa5, 0x58, 0xe7, 0x8b, 0x13, 0xf1, 0x44, 0xbe, 0x08, 0xa6, - 0x88, 0x6b, 0xfb, 0x90, 0xb6, 0x03, 0x54, 0x2e, 0xb2, 0xed, 0xae, 0x60, 0xeb, 0x7a, 0xe8, 0x67, - 0xea, 0xc4, 0xd0, 0xdb, 0x73, 0xb1, 0xb7, 0x29, 0x98, 0xaa, 0x02, 0xca, 0xbd, 0xb2, 0xd8, 0xaf, - 0xd7, 0x12, 0x98, 0x66, 0xfe, 0xfb, 0xd6, 0x03, 0xbc, 0x4b, 0x9d, 0xdc, 0xfc, 0xcc, 0x83, 0xc9, - 0x10, 0xb1, 0x85, 0x08, 0x15, 0x1e, 0x4d, 0x20, 0xea, 0xec, 0x20, 0x42, 0xe5, 0xdb, 0x60, 0x1c, - 0x7a, 0xb8, 0xed, 0x53, 0xe6, 0x47, 0x69, 0x73, 0x5e, 0x13, 0x45, 0x12, 0x96, 0xbe, 0x26, 0x4a, - 0x5f, 0xdb, 0xc6, 0xae, 0x5f, 0x2b, 0xbe, 0x7c, 0xbd, 0x38, 0x52, 0x17, 0xea, 0xf2, 0xaf, 0x01, - 0x68, 0x04, 0xae, 0x65, 0x23, 0xe3, 0x11, 0xe2, 0x5e, 0x0e, 0x61, 0x3c, 0xc5, 0x4d, 0x7e, 0x83, - 0xd0, 0x96, 0xda, 0x93, 0x6e, 0x39, 0x91, 0x6e, 0xe1, 0x8f, 0x7a, 0x0e, 0xcc, 0x25, 0xd7, 0xb1, - 0xe3, 0xff, 0x00, 0xb3, 0x7b, 0xc4, 0xae, 0xa3, 0xbf, 0xb7, 0x11, 0xa1, 0x35, 0x48, 0x4d, 0xa7, - 0x2f, 0x71, 0x52, 0x46, 0xe2, 0xe6, 0xc0, 0x98, 0x85, 0x7c, 0xec, 0x89, 0x18, 0xf0, 0xc5, 0xd6, - 0xb5, 0xcc, 0x7c, 0x9c, 0x8d, 0xe1, 0x24, 0xaf, 0x51, 0xe7, 0xc1, 0xf9, 0x1e, 0x51, 0x0c, 0xea, - 0x1b, 0x89, 0xa1, 0x12, 0x49, 0xe2, 0xa8, 0xb2, 0x8b, 0xec, 0x32, 0x38, 0x45, 0xf1, 0x01, 0xf2, - 0x0d, 0x13, 0xfb, 0x34, 0x80, 0x66, 0x94, 0x94, 0x19, 0x26, 0xdd, 0x16, 0x42, 0x79, 0x01, 0x84, - 0x45, 0x65, 0x84, 0x95, 0x83, 0x02, 0x51, 0x66, 0x53, 0x88, 0x3a, 0xfb, 0x4c, 0xd0, 0xe7, 0x71, - 0x31, 0xc3, 0xe3, 0x54, 0x25, 0x8e, 0xf5, 0x56, 0xe2, 0x51, 0x9e, 0x27, 0x5d, 0x11, 0x9e, 0x27, - 0x45, 0xb1, 0xe7, 0xdf, 0x8f, 0x32, 0xcf, 0x77, 0x50, 0x0b, 0x13, 0x97, 0x6e, 0x37, 0xa1, 0xeb, - 0xb1, 0x26, 0xe9, 0x20, 0x9f, 0x1a, 0x49, 0xff, 0x01, 0x13, 0xdd, 0x67, 0x41, 0x58, 0x06, 0xd3, - 0x8d, 0x26, 0x36, 0x0f, 0x0c, 0x07, 0xb9, 0xb6, 0xc3, 0x43, 0x50, 0xac, 0x97, 0x98, 0xec, 0xb7, - 0x4c, 0x94, 0x11, 0xa7, 0x42, 0x56, 0x9c, 0x7e, 0x11, 0x97, 0x30, 0x0b, 0x41, 0x6d, 0x21, 0x2c, - 0xb5, 0xaf, 0x5f, 0x2f, 0x9e, 0xe5, 0xc5, 0x48, 0xac, 0x03, 0xcd, 0xc5, 0xba, 0x07, 0xa9, 0xa3, - 0xdd, 0xf3, 0x69, 0x5c, 0xc0, 0xab, 0x60, 0x16, 0x51, 0x07, 0x05, 0xa8, 0xed, 0x19, 0xa2, 0x6b, - 0x78, 0x84, 0x4e, 0x45, 0xe2, 0x7d, 0xde, 0x3d, 0xab, 0x60, 0x56, 0x4c, 0xd1, 0x00, 0x99, 0xc8, - 0xed, 0xa0, 0xa0, 0x3c, 0xce, 0x15, 0xb9, 0xb8, 0x2e, 0xa4, 0x7d, 0x19, 0x99, 0xc8, 0xc8, 0x88, - 0x0c, 0x8a, 0x16, 0xa4, 0xb0, 0x3c, 0xc9, 0xf6, 0xd8, 0xef, 0x23, 0xf3, 0x90, 0x0c, 0xac, 0xc8, - 0x43, 0x52, 0x14, 0xe7, 0xe1, 0x07, 0x3e, 0xe7, 0xfe, 0xec, 0x52, 0xc7, 0x0a, 0xe0, 0xe3, 0x93, - 0x4b, 0xc4, 0x22, 0x28, 0x35, 0xc2, 0x8c, 0x8b, 0x33, 0x0a, 0xfc, 0x0c, 0x26, 0xba, 0x9f, 0x53, - 0xd1, 0xc5, 0xac, 0x4c, 0xf5, 0x06, 0x68, 0xac, 0x3f, 0x40, 0x47, 0x8e, 0xc7, 0x94, 0x77, 0x62, - 0x3c, 0xa6, 0x64, 0x71, 0x38, 0x3e, 0x1b, 0x05, 0x67, 0xf7, 0x88, 0xbd, 0x5b, 0xdf, 0xde, 0xdc, - 0xd8, 0x41, 0xad, 0x26, 0x3e, 0x44, 0xd6, 0xc9, 0xc5, 0x64, 0x19, 0x4c, 0x8b, 0xaa, 0xe0, 0x33, - 0x85, 0x97, 0x66, 0x89, 0xcb, 0x76, 0x42, 0xd1, 0xb0, 0x51, 0x91, 0x41, 0xd1, 0x87, 0x5e, 0xd4, - 0x9f, 0xec, 0x37, 0x9b, 0xe4, 0x87, 0x5e, 0x03, 0x37, 0x45, 0xa9, 0x89, 0x95, 0xac, 0x80, 0x49, - 0x0b, 0x99, 0xae, 0x07, 0x9b, 0x84, 0x95, 0x57, 0xb1, 0x1e, 0xaf, 0xfb, 0xa2, 0x3b, 0x99, 0x11, - 0xdd, 0x6a, 0x66, 0x74, 0x2f, 0xc4, 0xd1, 0xed, 0x0f, 0x96, 0xba, 0x08, 0x16, 0x32, 0x37, 0xe2, - 0x38, 0xff, 0x13, 0xc8, 0xe1, 0x64, 0x80, 0xbe, 0x89, 0x9a, 0xdd, 0xb7, 0x28, 0x74, 0x3e, 0x80, - 0x3e, 0x81, 0x66, 0x48, 0x82, 0x0c, 0xd7, 0x12, 0x61, 0x9e, 0x49, 0x48, 0xef, 0x59, 0x89, 0x27, - 0x6b, 0x34, 0xf9, 0x64, 0x6d, 0xad, 0xf5, 0x3c, 0x0f, 0xe5, 0xee, 0x54, 0x4a, 0x5f, 0xa4, 0x5e, - 0x04, 0x4a, 0xbf, 0x34, 0x06, 0xf7, 0x42, 0x62, 0xf0, 0xf7, 0xdb, 0x0d, 0xcf, 0xa5, 0x35, 0x68, - 0xed, 0x47, 0xd3, 0x6f, 0xb7, 0xe3, 0x5a, 0x28, 0xcc, 0xb5, 0x06, 0x26, 0x48, 0xbb, 0x11, 0x52, - 0x2f, 0x86, 0xb0, 0xb4, 0x39, 0xa7, 0x71, 0xa2, 0xa5, 0x45, 0x44, 0x4b, 0xbb, 0xeb, 0x1f, 0xd6, - 0x23, 0xa5, 0xf4, 0x4c, 0x1d, 0xed, 0x99, 0xa9, 0x09, 0x7f, 0x0a, 0x29, 0x7f, 0x6e, 0xf6, 0xf8, - 0xb3, 0xd2, 0x7d, 0xee, 0x72, 0xa1, 0xa9, 0xab, 0xe0, 0xf2, 0x40, 0x85, 0xd8, 0xcb, 0x1f, 0x79, - 0xa9, 0x73, 0x9a, 0xf0, 0xa7, 0x96, 0x05, 0xe9, 0x71, 0x4a, 0xbd, 0xc3, 0xcc, 0x84, 0x86, 0x28, - 0x75, 0x2e, 0xcb, 0xee, 0x86, 0x42, 0x7f, 0x37, 0xfc, 0x0a, 0x4c, 0x78, 0xc8, 0x6b, 0xa0, 0x80, - 0x94, 0x8b, 0x4b, 0x85, 0xb5, 0xd2, 0xe6, 0x8a, 0xd6, 0x4f, 0xab, 0xb5, 0x1a, 0x7b, 0xfd, 0x1f, - 0xc2, 0xa6, 0x6b, 0x85, 0xa5, 0x57, 0x8f, 0x6c, 0xe4, 0x1a, 0x98, 0x09, 0xd0, 0x63, 0x18, 0x58, - 0x86, 0x98, 0xe4, 0x63, 0xc3, 0x4c, 0xf2, 0x69, 0x6e, 0x73, 0x97, 0xcf, 0xf3, 0x65, 0x20, 0xd6, - 0x06, 0x6b, 0x2f, 0xd1, 0x38, 0x25, 0x2e, 0x7b, 0x10, 0x8a, 0x86, 0x19, 0xd0, 0x47, 0x76, 0x48, - 0x7f, 0x8c, 0x45, 0x87, 0xf4, 0x6f, 0xc4, 0xe9, 0x79, 0xc6, 0xa9, 0x01, 0xdf, 0xfb, 0x23, 0xe3, - 0xf4, 0xf2, 0x2d, 0x30, 0x05, 0xdb, 0xd4, 0xc1, 0x81, 0x4b, 0x0f, 0x39, 0x5b, 0xa9, 0x95, 0xbf, - 0xf8, 0xf8, 0xc6, 0x9c, 0x60, 0x50, 0x82, 0x4b, 0xee, 0xd3, 0xc0, 0xf5, 0xed, 0x7a, 0x57, 0x55, - 0xfe, 0x25, 0x18, 0xe7, 0x5f, 0x05, 0x2c, 0x53, 0xa5, 0x4d, 0x25, 0x2b, 0xd0, 0xfc, 0x8e, 0x88, - 0xb1, 0x71, 0x7d, 0xde, 0x52, 0xdd, 0x93, 0xd2, 0x6f, 0x4c, 0x12, 0x9b, 0x78, 0x63, 0x92, 0xa2, - 0xd8, 0x95, 0x0f, 0x78, 0x3f, 0xd5, 0x9a, 0xd0, 0x3c, 0x68, 0xba, 0x84, 0xee, 0x8a, 0xb7, 0x32, - 0xfd, 0x91, 0xc0, 0x29, 0x4b, 0x44, 0x42, 0x39, 0x5f, 0xd1, 0xc1, 0xcf, 0x1a, 0x91, 0x55, 0x44, - 0x9e, 0x51, 0xe8, 0x45, 0x61, 0x6d, 0xaa, 0x2e, 0xc7, 0x5b, 0xf1, 0x41, 0x51, 0xcb, 0x30, 0xeb, - 0x74, 0xcb, 0xe4, 0xdf, 0x2e, 0x5a, 0x26, 0x5f, 0x21, 0x76, 0xe4, 0x3d, 0x89, 0xcd, 0x8d, 0x3a, - 0xea, 0xe0, 0x03, 0x14, 0xa9, 0xc5, 0x76, 0x27, 0xe7, 0xc5, 0x46, 0x8f, 0x17, 0x4b, 0x09, 0x62, - 0x99, 0x79, 0xb5, 0x7a, 0x09, 0xa8, 0xf9, 0xbb, 0x11, 0xfe, 0xcd, 0x4f, 0x4e, 0x83, 0xc2, 0x1e, - 0xb1, 0xe5, 0xff, 0x4a, 0x60, 0x26, 0xfd, 0x65, 0x73, 0x29, 0xab, 0x22, 0x7a, 0x3f, 0x22, 0x94, - 0xeb, 0xc3, 0x68, 0xc5, 0xd1, 0x5a, 0x7f, 0xf2, 0xe5, 0x77, 0xff, 0x1f, 0xbd, 0xa4, 0xaa, 0x7a, - 0xc6, 0x57, 0xaa, 0x98, 0x1f, 0xa6, 0xb8, 0xff, 0x5f, 0x12, 0x98, 0xea, 0xbe, 0x03, 0x4b, 0x39, - 0xf7, 0xc4, 0x1a, 0xca, 0xda, 0x51, 0x1a, 0x31, 0x8a, 0x55, 0x86, 0x62, 0x59, 0x5d, 0xcc, 0x42, - 0x11, 0xce, 0x56, 0x83, 0x62, 0x03, 0x51, 0x47, 0xfe, 0x8f, 0x04, 0xa6, 0x53, 0x9f, 0x07, 0x2b, - 0x39, 0x77, 0x24, 0x95, 0x94, 0x6b, 0x43, 0x28, 0xc5, 0x58, 0xae, 0x32, 0x2c, 0x2b, 0xea, 0x72, - 0x16, 0x96, 0x80, 0x5b, 0x18, 0x8c, 0x22, 0x31, 0x34, 0xa9, 0xcf, 0x82, 0x3c, 0x34, 0x49, 0xa5, - 0x5c, 0x34, 0x99, 0x14, 0x7c, 0x20, 0x1a, 0x91, 0x98, 0x04, 0x9a, 0x14, 0x55, 0xcf, 0x43, 0x93, - 0x54, 0xca, 0x45, 0x93, 0x49, 0x44, 0x07, 0xa2, 0xb1, 0xb8, 0x85, 0x61, 0xb2, 0xcb, 0xc3, 0xf2, - 0x4d, 0x13, 0xd6, 0xbc, 0xf2, 0x4d, 0x69, 0xe5, 0x96, 0x6f, 0x36, 0x15, 0x1c, 0x58, 0xbe, 0x8f, - 0x85, 0x89, 0x40, 0xf4, 0xa1, 0x04, 0xce, 0x24, 0x67, 0x39, 0x47, 0x75, 0x75, 0x60, 0xbb, 0x24, - 0xa7, 0xbe, 0x52, 0x1d, 0x5a, 0x35, 0xc6, 0xb7, 0xc1, 0xf0, 0xad, 0xab, 0x6b, 0x03, 0xda, 0xab, - 0xcd, 0x0d, 0x05, 0xca, 0x8f, 0x24, 0x20, 0x67, 0x30, 0xdb, 0x3c, 0x98, 0xfd, 0xaa, 0xb9, 0x30, - 0x07, 0x30, 0xbd, 0x81, 0x30, 0x51, 0x60, 0x6e, 0x6e, 0x18, 0x96, 0x30, 0x14, 0x30, 0x5f, 0x48, - 0xa0, 0x9c, 0xfb, 0xef, 0x24, 0x3d, 0xb7, 0xf1, 0xb3, 0x0d, 0x94, 0xdb, 0xc7, 0x34, 0x88, 0x81, - 0xff, 0x9c, 0x01, 0xd7, 0xd4, 0xeb, 0xd9, 0x83, 0x83, 0x1a, 0xc9, 0xf7, 0x3e, 0x1a, 0xeb, 0xf2, - 0xfb, 0x12, 0x98, 0xed, 0xa5, 0xb5, 0x57, 0xf2, 0xba, 0x32, 0xad, 0xa7, 0x68, 0xc3, 0xe9, 0xc5, - 0x08, 0x35, 0x86, 0x70, 0x4d, 0xbd, 0x92, 0xd9, 0xc0, 0xcc, 0xc8, 0x48, 0x4e, 0xb8, 0xcf, 0x25, - 0xa0, 0x0c, 0x20, 0xb5, 0x79, 0xc9, 0xcd, 0x37, 0x51, 0xee, 0x1c, 0xdb, 0x24, 0x06, 0x7f, 0x87, - 0x81, 0xbf, 0xa9, 0x56, 0x33, 0xc3, 0xcb, 0xec, 0x8d, 0x06, 0xb4, 0x8c, 0x98, 0x26, 0x1b, 0x28, - 0x02, 0xfa, 0x57, 0x30, 0x9d, 0xa2, 0x45, 0x79, 0xc3, 0x28, 0xa9, 0x94, 0x3b, 0x8c, 0xb2, 0x18, - 0x8b, 0xfc, 0x54, 0x02, 0xca, 0x00, 0xba, 0x92, 0x17, 0xa9, 0x7c, 0x93, 0xdc, 0x48, 0x1d, 0xcd, - 0x3a, 0xe4, 0x7f, 0x4b, 0xe0, 0x7c, 0x1e, 0xe5, 0xd0, 0x72, 0x9f, 0x9f, 0x4c, 0x7d, 0xe5, 0xd6, - 0xf1, 0xf4, 0x23, 0x0c, 0x35, 0xf4, 0xf2, 0x4d, 0x45, 0x7a, 0xf5, 0xa6, 0x22, 0x7d, 0xfb, 0xa6, - 0x22, 0xfd, 0xef, 0x6d, 0x65, 0xe4, 0xd5, 0xdb, 0xca, 0xc8, 0x57, 0x6f, 0x2b, 0x23, 0x7f, 0xf9, - 0x9d, 0xed, 0x52, 0xa7, 0xdd, 0xd0, 0x4c, 0xec, 0xe9, 0xf7, 0xa2, 0xb3, 0x7f, 0x0f, 0x1b, 0xa4, - 0x9b, 0xd7, 0x1b, 0x26, 0x0e, 0x50, 0x72, 0xe9, 0x40, 0xd7, 0xd7, 0x3d, 0x6c, 0xb5, 0x9b, 0x88, - 0x88, 0xa4, 0xb3, 0xff, 0x6a, 0x37, 0xc6, 0xd9, 0xe7, 0xd3, 0xcd, 0x9f, 0x02, 0x00, 0x00, 0xff, - 0xff, 0x13, 0xd4, 0x22, 0xee, 0x7f, 0x17, 0x00, 0x00, + // 1776 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4d, 0x6c, 0xdb, 0xc8, + 0x15, 0x36, 0x2d, 0xf9, 0x6f, 0x64, 0xc7, 0x09, 0xeb, 0x24, 0x32, 0x13, 0xcb, 0x36, 0x9d, 0xc4, + 0x8e, 0x93, 0x90, 0x96, 0xd3, 0x26, 0x8d, 0x81, 0x16, 0x88, 0x6c, 0x17, 0x0d, 0x5a, 0xa7, 0x85, + 0x9c, 0xa6, 0x40, 0x2f, 0xec, 0x88, 0x9c, 0x90, 0xac, 0x45, 0x8e, 0xca, 0x19, 0x29, 0xf5, 0xa1, + 0x40, 0x9a, 0x63, 0x7a, 0x68, 0x81, 0x1e, 0x8a, 0x1e, 0x7a, 0xda, 0xbd, 0x06, 0xc8, 0x61, 0x2f, + 0x9b, 0xc3, 0x9e, 0x76, 0x81, 0x1c, 0x83, 0xdd, 0xcb, 0x62, 0xb1, 0x08, 0x16, 0xc9, 0x02, 0x01, + 0xf6, 0xb4, 0xf7, 0xbd, 0x2c, 0x38, 0x33, 0xa4, 0x48, 0x89, 0x94, 0x65, 0xc0, 0x17, 0x43, 0xf3, + 0xe6, 0xbd, 0x99, 0xef, 0xfd, 0xce, 0x47, 0x83, 0x05, 0xd7, 0xff, 0x0b, 0x32, 0xa9, 0xdb, 0x41, + 0x7a, 0x0b, 0xd9, 0xf6, 0xa1, 0xde, 0xa9, 0xea, 0x1e, 0xb1, 0x89, 0xd6, 0x0a, 0x30, 0xc5, 0xb2, + 0x1c, 0x6f, 0x6b, 0x6c, 0x5b, 0xeb, 0x54, 0x95, 0x8a, 0x89, 0x89, 0x87, 0x89, 0xde, 0x80, 0x04, + 0xe9, 0x9d, 0x6a, 0x03, 0x51, 0x58, 0xd5, 0x4d, 0xec, 0xfa, 0xdc, 0x46, 0x99, 0xb3, 0xb1, 0x8d, + 0xd9, 0x4f, 0x3d, 0xfc, 0x25, 0xa4, 0x17, 0x6d, 0x8c, 0xed, 0x26, 0xd2, 0x61, 0xcb, 0xd5, 0xa1, + 0xef, 0x63, 0x0a, 0xa9, 0x8b, 0x7d, 0x71, 0x8f, 0x52, 0xc9, 0x80, 0x41, 0x0f, 0x5b, 0x28, 0xda, + 0x5f, 0xcc, 0xd8, 0x6f, 0xc1, 0x00, 0x7a, 0x91, 0xc2, 0xbc, 0x38, 0x9e, 0xad, 0x1a, 0xed, 0x47, + 0x3a, 0xf4, 0x0f, 0xc5, 0xd6, 0x79, 0x81, 0xd7, 0x23, 0xb6, 0xf0, 0x2e, 0xb2, 0xe1, 0x1b, 0x06, + 0xc7, 0xca, 0x17, 0x62, 0xeb, 0x0c, 0xf4, 0x5c, 0x1f, 0xeb, 0xec, 0x2f, 0x17, 0xa9, 0xcf, 0x25, + 0x70, 0x61, 0x8f, 0xd8, 0xfb, 0x88, 0xfe, 0x2e, 0x30, 0x1d, 0x44, 0x68, 0x00, 0x29, 0x0e, 0xee, + 0x5a, 0x56, 0x80, 0x08, 0x41, 0x44, 0x3e, 0x07, 0xc6, 0x09, 0xf2, 0x2d, 0x14, 0x94, 0xa5, 0x25, + 0x69, 0x6d, 0xaa, 0x2e, 0x56, 0xb2, 0x0a, 0xa6, 0x71, 0xc2, 0xa0, 0x3c, 0xca, 0x76, 0x53, 0x32, + 0x79, 0x11, 0x94, 0x10, 0x75, 0x0c, 0xc8, 0x0f, 0x2b, 0x17, 0x98, 0x0a, 0x40, 0xd4, 0x11, 0xc7, + 0x6f, 0x55, 0x9f, 0xbe, 0x7f, 0xb1, 0x2e, 0x4e, 0x7c, 0xf6, 0xfe, 0xc5, 0xfa, 0x32, 0x8f, 0xc2, + 0x00, 0x3c, 0xea, 0x65, 0xb0, 0x32, 0x60, 0xbb, 0x8e, 0x48, 0x0b, 0xfb, 0x04, 0xa9, 0x1f, 0x4b, + 0xe0, 0xf4, 0x1e, 0xb1, 0x1f, 0xc2, 0x26, 0x41, 0x74, 0x1b, 0xfb, 0x8f, 0xdc, 0xc0, 0x93, 0xe7, + 0xc0, 0x98, 0x8f, 0x7d, 0x13, 0x31, 0x57, 0x8a, 0x75, 0xbe, 0x38, 0x11, 0x4f, 0xe4, 0x8b, 0x60, + 0x8a, 0xb8, 0xb6, 0x0f, 0x69, 0x3b, 0x40, 0xe5, 0x22, 0xdb, 0xee, 0x0a, 0xb6, 0xae, 0x87, 0x7e, + 0xa6, 0x4e, 0x0c, 0xbd, 0x3d, 0x17, 0x7b, 0x9b, 0x82, 0xa9, 0x2a, 0xa0, 0xdc, 0x2b, 0x8b, 0xfd, + 0x7a, 0x23, 0x81, 0x69, 0xe6, 0xbf, 0x6f, 0x3d, 0xc0, 0xbb, 0xd4, 0xc9, 0xcd, 0xcf, 0x3c, 0x98, + 0x0c, 0x11, 0x5b, 0x88, 0x50, 0xe1, 0xd1, 0x04, 0xa2, 0xce, 0x0e, 0x22, 0x54, 0xbe, 0x0d, 0xc6, + 0xa1, 0x87, 0xdb, 0x3e, 0x65, 0x7e, 0x94, 0x36, 0xe7, 0x35, 0x51, 0x24, 0x61, 0xe9, 0x6b, 0xa2, + 0xf4, 0xb5, 0x6d, 0xec, 0xfa, 0xb5, 0xe2, 0xab, 0x37, 0x8b, 0x23, 0x75, 0xa1, 0x2e, 0xff, 0x12, + 0x80, 0x46, 0xe0, 0x5a, 0x36, 0x32, 0x1e, 0x21, 0xee, 0xe5, 0x10, 0xc6, 0x53, 0xdc, 0xe4, 0x57, + 0x08, 0x6d, 0xa9, 0x3d, 0xe9, 0x96, 0x13, 0xe9, 0x16, 0xfe, 0xa8, 0xe7, 0xc0, 0x5c, 0x72, 0x1d, + 0x3b, 0xfe, 0x37, 0x30, 0xbb, 0x47, 0xec, 0x3a, 0xfa, 0x6b, 0x1b, 0x11, 0x5a, 0x83, 0xd4, 0x74, + 0xfa, 0x12, 0x27, 0x65, 0x24, 0x6e, 0x0e, 0x8c, 0x59, 0xc8, 0xc7, 0x9e, 0x88, 0x01, 0x5f, 0x6c, + 0x5d, 0xcb, 0xcc, 0xc7, 0xd9, 0x18, 0x4e, 0xf2, 0x1a, 0x75, 0x1e, 0x9c, 0xef, 0x11, 0xc5, 0xa0, + 0xbe, 0x96, 0x18, 0x2a, 0x91, 0x24, 0x8e, 0x2a, 0xbb, 0xc8, 0x2e, 0x83, 0x53, 0x14, 0x1f, 0x20, + 0xdf, 0x30, 0xb1, 0x4f, 0x03, 0x68, 0x46, 0x49, 0x99, 0x61, 0xd2, 0x6d, 0x21, 0x94, 0x17, 0x40, + 0x58, 0x54, 0x46, 0x58, 0x39, 0x28, 0x10, 0x65, 0x36, 0x85, 0xa8, 0xb3, 0xcf, 0x04, 0x7d, 0x1e, + 0x17, 0x33, 0x3c, 0x4e, 0x55, 0xe2, 0x58, 0x6f, 0x25, 0x1e, 0xe5, 0x79, 0xd2, 0x15, 0xe1, 0x79, + 0x52, 0x14, 0x7b, 0xfe, 0xdd, 0x28, 0xf3, 0x7c, 0x07, 0xb5, 0x30, 0x71, 0xe9, 0x76, 0x13, 0xba, + 0x1e, 0x6b, 0x92, 0x0e, 0xf2, 0xa9, 0x91, 0xf4, 0x1f, 0x30, 0xd1, 0x7d, 0x16, 0x84, 0x65, 0x30, + 0xdd, 0x68, 0x62, 0xf3, 0xc0, 0x70, 0x90, 0x6b, 0x3b, 0x3c, 0x04, 0xc5, 0x7a, 0x89, 0xc9, 0x7e, + 0xcd, 0x44, 0x19, 0x71, 0x2a, 0x64, 0xc5, 0xe9, 0x67, 0x71, 0x09, 0xb3, 0x10, 0xd4, 0x16, 0xc2, + 0x52, 0xfb, 0xea, 0xcd, 0xe2, 0x59, 0x5e, 0x8c, 0xc4, 0x3a, 0xd0, 0x5c, 0xac, 0x7b, 0x90, 0x3a, + 0xda, 0x3d, 0x9f, 0xc6, 0x05, 0xbc, 0x0a, 0x66, 0x11, 0x75, 0x50, 0x80, 0xda, 0x9e, 0x21, 0xba, + 0x86, 0x47, 0xe8, 0x54, 0x24, 0xde, 0xe7, 0xdd, 0xb3, 0x0a, 0x66, 0xc5, 0x14, 0x0d, 0x90, 0x89, + 0xdc, 0x0e, 0x0a, 0xca, 0xe3, 0x5c, 0x91, 0x8b, 0xeb, 0x42, 0xda, 0x97, 0x91, 0x89, 0x8c, 0x8c, + 0xc8, 0xa0, 0x68, 0x41, 0x0a, 0xcb, 0x93, 0x6c, 0x8f, 0xfd, 0x3e, 0x32, 0x0f, 0xc9, 0xc0, 0x8a, + 0x3c, 0x24, 0x45, 0x71, 0x1e, 0xbe, 0xe7, 0x73, 0xee, 0x8f, 0x2e, 0x75, 0xac, 0x00, 0x3e, 0x3e, + 0xb9, 0x44, 0x2c, 0x82, 0x52, 0x23, 0xcc, 0xb8, 0x38, 0xa3, 0xc0, 0xcf, 0x60, 0xa2, 0xfb, 0x39, + 0x15, 0x5d, 0xcc, 0xca, 0x54, 0x6f, 0x80, 0xc6, 0xfa, 0x03, 0x74, 0xe4, 0x78, 0x4c, 0x79, 0x27, + 0xc6, 0x63, 0x4a, 0x16, 0x87, 0xe3, 0xd3, 0x51, 0x70, 0x76, 0x8f, 0xd8, 0xbb, 0xf5, 0xed, 0xcd, + 0x8d, 0x1d, 0xd4, 0x6a, 0xe2, 0x43, 0x64, 0x9d, 0x5c, 0x4c, 0x96, 0xc1, 0xb4, 0xa8, 0x0a, 0x3e, + 0x53, 0x78, 0x69, 0x96, 0xb8, 0x6c, 0x27, 0x14, 0x0d, 0x1b, 0x15, 0x19, 0x14, 0x7d, 0xe8, 0x45, + 0xfd, 0xc9, 0x7e, 0xb3, 0x49, 0x7e, 0xe8, 0x35, 0x70, 0x53, 0x94, 0x9a, 0x58, 0xc9, 0x0a, 0x98, + 0xb4, 0x90, 0xe9, 0x7a, 0xb0, 0x49, 0x58, 0x79, 0x15, 0xeb, 0xf1, 0xba, 0x2f, 0xba, 0x93, 0x19, + 0xd1, 0xad, 0x66, 0x46, 0xf7, 0x42, 0x1c, 0xdd, 0xfe, 0x60, 0xa9, 0x8b, 0x60, 0x21, 0x73, 0x23, + 0x8e, 0xf3, 0xdf, 0x81, 0x1c, 0x4e, 0x06, 0xe8, 0x9b, 0xa8, 0xd9, 0x7d, 0x8b, 0x42, 0xe7, 0x03, + 0xe8, 0x13, 0x68, 0x86, 0x24, 0xc8, 0x70, 0x2d, 0x11, 0xe6, 0x99, 0x84, 0xf4, 0x9e, 0x95, 0x78, + 0xb2, 0x46, 0x93, 0x4f, 0xd6, 0xd6, 0x5a, 0xcf, 0xf3, 0x50, 0xee, 0x4e, 0xa5, 0xf4, 0x45, 0xea, + 0x45, 0xa0, 0xf4, 0x4b, 0x63, 0x70, 0x2f, 0x25, 0x06, 0x7f, 0xbf, 0xdd, 0xf0, 0x5c, 0x5a, 0x83, + 0xd6, 0x7e, 0x34, 0xfd, 0x76, 0x3b, 0xae, 0x85, 0xc2, 0x5c, 0x6b, 0x60, 0x82, 0xb4, 0x1b, 0x21, + 0xf5, 0x62, 0x08, 0x4b, 0x9b, 0x73, 0x1a, 0x27, 0x5a, 0x5a, 0x44, 0xb4, 0xb4, 0xbb, 0xfe, 0x61, + 0x3d, 0x52, 0x4a, 0xcf, 0xd4, 0xd1, 0x9e, 0x99, 0x9a, 0xf0, 0xa7, 0x90, 0xf2, 0xe7, 0x66, 0x8f, + 0x3f, 0x2b, 0xdd, 0xe7, 0x2e, 0x17, 0x9a, 0xba, 0x0a, 0x2e, 0x0f, 0x54, 0x88, 0xbd, 0xfc, 0x81, + 0x97, 0x3a, 0xa7, 0x09, 0x7f, 0x68, 0x59, 0x90, 0x1e, 0xa7, 0xd4, 0x3b, 0xcc, 0x4c, 0x68, 0x88, + 0x52, 0xe7, 0xb2, 0xec, 0x6e, 0x28, 0xf4, 0x77, 0xc3, 0x2f, 0xc0, 0x84, 0x87, 0xbc, 0x06, 0x0a, + 0x48, 0xb9, 0xb8, 0x54, 0x58, 0x2b, 0x6d, 0xae, 0x68, 0xfd, 0xb4, 0x5a, 0xab, 0xb1, 0xd7, 0xff, + 0x21, 0x6c, 0xba, 0x56, 0x58, 0x7a, 0xf5, 0xc8, 0x46, 0xae, 0x81, 0x99, 0x00, 0x3d, 0x86, 0x81, + 0x65, 0x88, 0x49, 0x3e, 0x36, 0xcc, 0x24, 0x9f, 0xe6, 0x36, 0x77, 0xf9, 0x3c, 0x5f, 0x06, 0x62, + 0x6d, 0xb0, 0xf6, 0x12, 0x8d, 0x53, 0xe2, 0xb2, 0x07, 0xa1, 0x68, 0x98, 0x01, 0x7d, 0x64, 0x87, + 0xf4, 0xc7, 0x58, 0x74, 0x48, 0xff, 0x46, 0x9c, 0x9e, 0xe7, 0x9c, 0x1a, 0xf0, 0xbd, 0xdf, 0x33, + 0x4e, 0x2f, 0xdf, 0x02, 0x53, 0xb0, 0x4d, 0x1d, 0x1c, 0xb8, 0xf4, 0x90, 0xb3, 0x95, 0x5a, 0xf9, + 0xf3, 0x8f, 0x6e, 0xcc, 0x09, 0x06, 0x25, 0xb8, 0xe4, 0x3e, 0x0d, 0x5c, 0xdf, 0xae, 0x77, 0x55, + 0xe5, 0x9f, 0x83, 0x71, 0xfe, 0x55, 0xc0, 0x32, 0x55, 0xda, 0x54, 0xb2, 0x02, 0xcd, 0xef, 0x88, + 0x18, 0x1b, 0xd7, 0xe7, 0x2d, 0xd5, 0x3d, 0x29, 0xfd, 0xc6, 0x24, 0xb1, 0x89, 0x37, 0x26, 0x29, + 0x8a, 0x5d, 0xf9, 0x3f, 0xef, 0xa7, 0x5a, 0x13, 0x9a, 0x07, 0x4d, 0x97, 0xd0, 0x5d, 0xf1, 0x56, + 0xa6, 0x3f, 0x12, 0x38, 0x65, 0x89, 0x48, 0x28, 0xe7, 0x2b, 0x3a, 0xf8, 0x49, 0x23, 0xb2, 0x8a, + 0xc8, 0x33, 0x0a, 0xbd, 0x28, 0xac, 0x4d, 0xd5, 0xe5, 0x78, 0x2b, 0x3e, 0x28, 0x6a, 0x19, 0x66, + 0x9d, 0x6e, 0x99, 0xfc, 0xdb, 0x45, 0xcb, 0xe4, 0x2b, 0xc4, 0x8e, 0xfc, 0x57, 0x62, 0x73, 0xa3, + 0x8e, 0x3a, 0xf8, 0x00, 0x45, 0x6a, 0xb1, 0xdd, 0xc9, 0x79, 0xb1, 0xd1, 0xe3, 0xc5, 0x52, 0x82, + 0x58, 0x66, 0x5e, 0xad, 0x5e, 0x02, 0x6a, 0xfe, 0x6e, 0x84, 0x7f, 0xf3, 0x93, 0xd3, 0xa0, 0xb0, + 0x47, 0x6c, 0xf9, 0x5f, 0x12, 0x98, 0x49, 0x7f, 0xd9, 0x5c, 0xca, 0xaa, 0x88, 0xde, 0x8f, 0x08, + 0xe5, 0xfa, 0x30, 0x5a, 0x71, 0xb4, 0xd6, 0x9f, 0x7e, 0xf1, 0xed, 0x7f, 0x46, 0x2f, 0xa9, 0xaa, + 0x9e, 0xf1, 0x95, 0x2a, 0xe6, 0x87, 0x29, 0xee, 0x7f, 0x22, 0x81, 0xa9, 0xee, 0x3b, 0xb0, 0x94, + 0x73, 0x4f, 0xac, 0xa1, 0xac, 0x1d, 0xa5, 0x11, 0xa3, 0x58, 0x65, 0x28, 0x96, 0xd5, 0xc5, 0x2c, + 0x14, 0xe1, 0x6c, 0x35, 0x28, 0x36, 0x10, 0x75, 0xe4, 0x7f, 0x4a, 0x60, 0x3a, 0xf5, 0x79, 0xb0, + 0x92, 0x73, 0x47, 0x52, 0x49, 0xb9, 0x36, 0x84, 0x52, 0x8c, 0xe5, 0x2a, 0xc3, 0xb2, 0xa2, 0x2e, + 0x67, 0x61, 0x09, 0xb8, 0x85, 0xc1, 0x28, 0x12, 0x43, 0x93, 0xfa, 0x2c, 0xc8, 0x43, 0x93, 0x54, + 0xca, 0x45, 0x93, 0x49, 0xc1, 0x07, 0xa2, 0x11, 0x89, 0x49, 0xa0, 0x49, 0x51, 0xf5, 0x3c, 0x34, + 0x49, 0xa5, 0x5c, 0x34, 0x99, 0x44, 0x74, 0x20, 0x1a, 0x8b, 0x5b, 0x18, 0x26, 0xbb, 0x3c, 0x2c, + 0xdf, 0x34, 0x61, 0xcd, 0x2b, 0xdf, 0x94, 0x56, 0x6e, 0xf9, 0x66, 0x53, 0xc1, 0x81, 0xe5, 0xfb, + 0x58, 0x98, 0x08, 0x44, 0x1f, 0x48, 0xe0, 0x4c, 0x72, 0x96, 0x73, 0x54, 0x57, 0x07, 0xb6, 0x4b, + 0x72, 0xea, 0x2b, 0xd5, 0xa1, 0x55, 0x63, 0x7c, 0x1b, 0x0c, 0xdf, 0xba, 0xba, 0x36, 0xa0, 0xbd, + 0xda, 0xdc, 0x50, 0xa0, 0xfc, 0x50, 0x02, 0x72, 0x06, 0xb3, 0xcd, 0x83, 0xd9, 0xaf, 0x9a, 0x0b, + 0x73, 0x00, 0xd3, 0x1b, 0x08, 0x13, 0x05, 0xe6, 0xe6, 0x86, 0x61, 0x09, 0x43, 0x01, 0xf3, 0xa5, + 0x04, 0xca, 0xb9, 0xff, 0x4e, 0xd2, 0x73, 0x1b, 0x3f, 0xdb, 0x40, 0xb9, 0x7d, 0x4c, 0x83, 0x18, + 0xf8, 0x4f, 0x19, 0x70, 0x4d, 0xbd, 0x9e, 0x3d, 0x38, 0xa8, 0x91, 0x7c, 0xef, 0xa3, 0xb1, 0x2e, + 0xff, 0x4f, 0x02, 0xb3, 0xbd, 0xb4, 0xf6, 0x4a, 0x5e, 0x57, 0xa6, 0xf5, 0x14, 0x6d, 0x38, 0xbd, + 0x18, 0xa1, 0xc6, 0x10, 0xae, 0xa9, 0x57, 0x32, 0x1b, 0x98, 0x19, 0x19, 0xc9, 0x09, 0xf7, 0x99, + 0x04, 0x94, 0x01, 0xa4, 0x36, 0x2f, 0xb9, 0xf9, 0x26, 0xca, 0x9d, 0x63, 0x9b, 0xc4, 0xe0, 0xef, + 0x30, 0xf0, 0x37, 0xd5, 0x6a, 0x66, 0x78, 0x99, 0xbd, 0xd1, 0x80, 0x96, 0x11, 0xd3, 0x64, 0x03, + 0x45, 0x40, 0xff, 0x0c, 0xa6, 0x53, 0xb4, 0x28, 0x6f, 0x18, 0x25, 0x95, 0x72, 0x87, 0x51, 0x16, + 0x63, 0x91, 0x9f, 0x49, 0x40, 0x19, 0x40, 0x57, 0xf2, 0x22, 0x95, 0x6f, 0x92, 0x1b, 0xa9, 0xa3, + 0x59, 0x87, 0xfc, 0x0f, 0x09, 0x9c, 0xcf, 0xa3, 0x1c, 0x5a, 0xee, 0xf3, 0x93, 0xa9, 0xaf, 0xdc, + 0x3a, 0x9e, 0x7e, 0x84, 0x41, 0x19, 0x7b, 0xf2, 0xfe, 0xc5, 0xba, 0x54, 0x43, 0xaf, 0xde, 0x56, + 0xa4, 0xd7, 0x6f, 0x2b, 0xd2, 0x37, 0x6f, 0x2b, 0xd2, 0xbf, 0xdf, 0x55, 0x46, 0x5e, 0xbf, 0xab, + 0x8c, 0x7c, 0xf9, 0xae, 0x32, 0xf2, 0xa7, 0xdf, 0xd8, 0x2e, 0x75, 0xda, 0x0d, 0xcd, 0xc4, 0x9e, + 0x7e, 0x2f, 0xba, 0xe2, 0xb7, 0xb0, 0x41, 0xba, 0xe9, 0xbd, 0x61, 0xe2, 0x00, 0x25, 0x97, 0x0e, + 0x74, 0x7d, 0xdd, 0xc3, 0x56, 0xbb, 0x89, 0x88, 0xc8, 0x3d, 0xfb, 0xe7, 0x76, 0x63, 0x9c, 0x7d, + 0x45, 0xdd, 0xfc, 0x31, 0x00, 0x00, 0xff, 0xff, 0x97, 0x47, 0xe3, 0xea, 0x86, 0x17, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/peggy/types/params.go b/chain/peggy/types/params.go index b4363219..656ada2b 100644 --- a/chain/peggy/types/params.go +++ b/chain/peggy/types/params.go @@ -290,6 +290,6 @@ func validateSlashFractionBadEthSignature(i interface{}) error { return nil } -func validateValsetReward(_ interface{}) error { +func validateValsetReward(i interface{}) error { return nil } diff --git a/chain/permissions/types/errors.go b/chain/permissions/types/errors.go index 2ad6e08d..f104edaf 100644 --- a/chain/permissions/types/errors.go +++ b/chain/permissions/types/errors.go @@ -8,16 +8,17 @@ import ( // x/tokenfactory module sentinel errors var ( - ErrDenomNamespaceExists = errors.Register(ModuleName, 2, "attempting to create a namespace for denom that already exists") - ErrUnauthorized = errors.Register(ModuleName, 3, "unauthorized account") - ErrInvalidGenesis = errors.Register(ModuleName, 4, "invalid genesis") - ErrInvalidNamespaceAdmin = errors.Register(ModuleName, 5, "invalid admin") - ErrInvalidPermission = errors.Register(ModuleName, 6, "invalid permissions") - ErrUnknownRole = errors.Register(ModuleName, 7, "unknown role") - ErrUnknownWasmHook = errors.Register(ModuleName, 8, "unknown contract address") - ErrRestrictedAction = errors.Register(ModuleName, 9, "restricted action") - ErrInvalidRole = errors.Register(ModuleName, 10, "invalid role") - ErrUnknownDenom = errors.Register(ModuleName, 11, "namespace for denom is not existing") - ErrWasmHookError = errors.Register(ModuleName, 12, "wasm hook query error") - ErrVoucherNotFound = errors.Register(ModuleName, 13, "voucher was not found") + ErrDenomNamespaceExists = errors.Register(ModuleName, 2, "attempting to create a namespace for denom that already exists") + ErrUnauthorized = errors.Register(ModuleName, 3, "unauthorized account") + ErrInvalidGenesis = errors.Register(ModuleName, 4, "invalid genesis") + ErrInvalidNamespace = errors.Register(ModuleName, 5, "invalid namespace") + ErrInvalidPermission = errors.Register(ModuleName, 6, "invalid permissions") + ErrUnknownRole = errors.Register(ModuleName, 7, "unknown role") + ErrUnknownWasmHook = errors.Register(ModuleName, 8, "unknown contract address") + ErrRestrictedAction = errors.Register(ModuleName, 9, "restricted action") + ErrInvalidRole = errors.Register(ModuleName, 10, "invalid role") + ErrUnknownDenom = errors.Register(ModuleName, 11, "namespace for denom is not existing") + ErrWasmHookError = errors.Register(ModuleName, 12, "wasm hook query error") + ErrVoucherNotFound = errors.Register(ModuleName, 13, "voucher was not found") + ErrInvalidWasmHook = errors.Register(ModuleName, 14, "invalid wasm hook") ) diff --git a/chain/permissions/types/events.pb.go b/chain/permissions/types/events.pb.go index 5073c605..d5c783c5 100644 --- a/chain/permissions/types/events.pb.go +++ b/chain/permissions/types/events.pb.go @@ -5,11 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types" + types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/x/bank/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. @@ -23,23 +25,355 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package +type EventSetVoucher struct { + Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` + Voucher types.Coin `protobuf:"bytes,2,opt,name=voucher,proto3" json:"voucher"` +} + +func (m *EventSetVoucher) Reset() { *m = EventSetVoucher{} } +func (m *EventSetVoucher) String() string { return proto.CompactTextString(m) } +func (*EventSetVoucher) ProtoMessage() {} +func (*EventSetVoucher) Descriptor() ([]byte, []int) { + return fileDescriptor_705c3e21b20426fa, []int{0} +} +func (m *EventSetVoucher) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventSetVoucher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventSetVoucher.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 *EventSetVoucher) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventSetVoucher.Merge(m, src) +} +func (m *EventSetVoucher) XXX_Size() int { + return m.Size() +} +func (m *EventSetVoucher) XXX_DiscardUnknown() { + xxx_messageInfo_EventSetVoucher.DiscardUnknown(m) +} + +var xxx_messageInfo_EventSetVoucher proto.InternalMessageInfo + +func (m *EventSetVoucher) GetAddr() string { + if m != nil { + return m.Addr + } + return "" +} + +func (m *EventSetVoucher) GetVoucher() types.Coin { + if m != nil { + return m.Voucher + } + return types.Coin{} +} + +func init() { + proto.RegisterType((*EventSetVoucher)(nil), "injective.permissions.v1beta1.EventSetVoucher") +} + func init() { proto.RegisterFile("injective/permissions/v1beta1/events.proto", fileDescriptor_705c3e21b20426fa) } var fileDescriptor_705c3e21b20426fa = []byte{ - // 202 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0xca, 0xcc, 0xcb, 0x4a, - 0x4d, 0x2e, 0xc9, 0x2c, 0x4b, 0xd5, 0x2f, 0x48, 0x2d, 0xca, 0xcd, 0x2c, 0x2e, 0xce, 0xcc, 0xcf, - 0x2b, 0xd6, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x4f, 0x2d, 0x4b, 0xcd, 0x2b, 0x29, - 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0x85, 0xab, 0xd5, 0x43, 0x52, 0xab, 0x07, 0x55, - 0x2b, 0x25, 0x92, 0x9e, 0x9f, 0x9e, 0x0f, 0x56, 0xa9, 0x0f, 0x62, 0x41, 0x34, 0x49, 0xc9, 0x25, - 0xe7, 0x17, 0xe7, 0xe6, 0x17, 0xeb, 0x27, 0x25, 0x16, 0xa7, 0xc2, 0x8d, 0x4d, 0xce, 0xcf, 0xcc, - 0xc3, 0x90, 0xcf, 0xcb, 0x86, 0xcb, 0x83, 0x38, 0x10, 0x79, 0xa7, 0xec, 0x13, 0x8f, 0xe4, 0x18, - 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, - 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x88, 0x0a, 0x4c, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, - 0xcf, 0xd5, 0xf7, 0x84, 0xb9, 0xcc, 0x27, 0x31, 0xa9, 0x58, 0x1f, 0xee, 0x4e, 0xdd, 0xe4, 0xfc, - 0xa2, 0x54, 0x64, 0x6e, 0x46, 0x62, 0x66, 0x9e, 0x7e, 0x6e, 0x7e, 0x4a, 0x69, 0x4e, 0x6a, 0x31, - 0x8a, 0x87, 0x4b, 0x2a, 0x0b, 0x52, 0x8b, 0x93, 0xd8, 0xc0, 0x76, 0x1a, 0x03, 0x02, 0x00, 0x00, - 0xff, 0xff, 0xf5, 0x22, 0x59, 0x7e, 0x16, 0x01, 0x00, 0x00, + // 272 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x90, 0xb1, 0x4a, 0xc4, 0x40, + 0x10, 0x86, 0xb3, 0x72, 0x28, 0xc6, 0x42, 0x08, 0x16, 0xe7, 0x81, 0xeb, 0x61, 0x75, 0x08, 0xee, + 0x72, 0x5a, 0xd9, 0x9e, 0x58, 0x08, 0x36, 0x9e, 0x60, 0x61, 0x65, 0xb2, 0x19, 0x92, 0xf5, 0xcc, + 0x4e, 0xd8, 0xd9, 0x04, 0x7c, 0x0b, 0x1f, 0xeb, 0xca, 0x2b, 0xad, 0x44, 0x92, 0x17, 0x91, 0x24, + 0x26, 0x9c, 0xd8, 0xcd, 0xf0, 0x7d, 0x3b, 0x3b, 0xf3, 0xfb, 0xe7, 0xda, 0xbc, 0x82, 0x72, 0xba, + 0x04, 0x99, 0x83, 0xcd, 0x34, 0x91, 0x46, 0x43, 0xb2, 0x9c, 0x47, 0xe0, 0xc2, 0xb9, 0x84, 0x12, + 0x8c, 0x23, 0x91, 0x5b, 0x74, 0x18, 0x9c, 0x0c, 0xae, 0xd8, 0x72, 0xc5, 0xaf, 0x3b, 0x39, 0x4a, + 0x30, 0xc1, 0xd6, 0x94, 0x4d, 0xd5, 0x3d, 0x9a, 0x70, 0x85, 0x94, 0x21, 0xc9, 0x28, 0x24, 0x18, + 0xc6, 0x2a, 0xd4, 0xe6, 0x1f, 0x37, 0xab, 0x81, 0x37, 0x4d, 0xc7, 0xcf, 0x5e, 0xfc, 0xc3, 0xdb, + 0x66, 0x89, 0x47, 0x70, 0x4f, 0x58, 0xa8, 0x14, 0x6c, 0x10, 0xf8, 0xa3, 0x30, 0x8e, 0xed, 0x98, + 0x4d, 0xd9, 0x6c, 0x7f, 0xd9, 0xd6, 0xc1, 0xb5, 0xbf, 0x57, 0x76, 0x78, 0xbc, 0x33, 0x65, 0xb3, + 0x83, 0xcb, 0x63, 0xd1, 0x0d, 0x16, 0xcd, 0xc7, 0xfd, 0x8e, 0xe2, 0x06, 0xb5, 0x59, 0x8c, 0xd6, + 0x5f, 0xa7, 0xde, 0xb2, 0xf7, 0x17, 0xab, 0x75, 0xc5, 0xd9, 0xa6, 0xe2, 0xec, 0xbb, 0xe2, 0xec, + 0xa3, 0xe6, 0xde, 0xa6, 0xe6, 0xde, 0x67, 0xcd, 0xbd, 0xe7, 0x87, 0x44, 0xbb, 0xb4, 0x88, 0x84, + 0xc2, 0x4c, 0xde, 0xf5, 0xb7, 0xdf, 0x87, 0x11, 0xc9, 0x21, 0x89, 0x0b, 0x85, 0x16, 0xb6, 0xdb, + 0x34, 0xd4, 0x46, 0x66, 0x18, 0x17, 0x6f, 0x40, 0x7f, 0x22, 0x75, 0xef, 0x39, 0x50, 0xb4, 0xdb, + 0x5e, 0x75, 0xf5, 0x13, 0x00, 0x00, 0xff, 0xff, 0x74, 0x79, 0xe1, 0x33, 0x78, 0x01, 0x00, 0x00, } + +func (m *EventSetVoucher) 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 *EventSetVoucher) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventSetVoucher) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Voucher.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Addr) > 0 { + i -= len(m.Addr) + copy(dAtA[i:], m.Addr) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Addr))) + 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 *EventSetVoucher) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Addr) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = m.Voucher.Size() + 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 *EventSetVoucher) 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: EventSetVoucher: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventSetVoucher: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Addr", 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.Addr = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Voucher", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Voucher.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + 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/permissions/types/msgs.go b/chain/permissions/types/msgs.go new file mode 100644 index 00000000..e9b762b1 --- /dev/null +++ b/chain/permissions/types/msgs.go @@ -0,0 +1,227 @@ +package types + +import ( + "fmt" + + "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + + tftypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types" +) + +// constants +const ( + // RouterKey is the message route for slashing + routerKey = ModuleName + + TypeMsgUpdateParams = "update_params" + TypeMsgCreateNamespace = "create_namespace" + TypeMsgDeleteNamespace = "delete_namespace" + TypeUpdateNamespace = "update_namespace" + TypeMsgUpdateNamespaceRoles = "update_namespace_roles" + TypeMsgRevokeNamespaceRoles = "revoke_namespace_roles" + TypeMsgClaimVoucher = "claim_voucher" +) + +var ( + _ sdk.Msg = &MsgUpdateParams{} + _ sdk.Msg = &MsgCreateNamespace{} + _ sdk.Msg = &MsgDeleteNamespace{} + _ sdk.Msg = &MsgUpdateNamespace{} + _ sdk.Msg = &MsgUpdateNamespaceRoles{} + _ sdk.Msg = &MsgRevokeNamespaceRoles{} + _ sdk.Msg = &MsgClaimVoucher{} +) + +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 err + } + + 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} +} + +func (m MsgCreateNamespace) Route() string { return routerKey } + +func (m MsgCreateNamespace) Type() string { return TypeMsgCreateNamespace } + +func (msg MsgCreateNamespace) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { + return err + } + + if err := msg.Namespace.Validate(); err != nil { + return err + } + return nil +} + +func (m *MsgCreateNamespace) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgCreateNamespace) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +func (m MsgDeleteNamespace) Route() string { return routerKey } + +func (m MsgDeleteNamespace) Type() string { return TypeMsgDeleteNamespace } + +func (m MsgDeleteNamespace) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(m.Sender); err != nil { + return err + } + + if _, _, err := tftypes.DeconstructDenom(m.NamespaceDenom); err != nil { + return errors.Wrap(err, "permissions namespace can only be applied to tokenfactory denoms") + } + return nil +} + +func (m *MsgDeleteNamespace) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgDeleteNamespace) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +func (m MsgUpdateNamespace) Route() string { return routerKey } + +func (m MsgUpdateNamespace) Type() string { return TypeUpdateNamespace } + +func (m MsgUpdateNamespace) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(m.Sender); err != nil { + return err + } + + if m.WasmHook != nil { + if _, err := sdk.AccAddressFromBech32(m.WasmHook.NewValue); err != nil { + return ErrInvalidWasmHook + } + } + return nil +} + +func (m *MsgUpdateNamespace) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgUpdateNamespace) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +func (m MsgUpdateNamespaceRoles) Route() string { return routerKey } + +func (m MsgUpdateNamespaceRoles) Type() string { return TypeMsgUpdateNamespaceRoles } + +func (msg MsgUpdateNamespaceRoles) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { + return err + } + if _, _, err := tftypes.DeconstructDenom(msg.NamespaceDenom); err != nil { + return errors.Wrap(err, "permissions namespace can only be applied to tokenfactory denoms") + } + + for _, role := range msg.AddressRoles { + if _, err := sdk.AccAddressFromBech32(role.Address); err != nil { + return errors.Wrapf(err, "invalid address %s", role.Address) + } + } + + return nil +} + +func (m *MsgUpdateNamespaceRoles) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgUpdateNamespaceRoles) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +func (m MsgRevokeNamespaceRoles) Route() string { return routerKey } + +func (m MsgRevokeNamespaceRoles) Type() string { return TypeMsgRevokeNamespaceRoles } + +func (msg MsgRevokeNamespaceRoles) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { + return err + } + + if _, _, err := tftypes.DeconstructDenom(msg.NamespaceDenom); err != nil { + return errors.Wrap(err, "permissions namespace can only be applied to tokenfactory denoms") + } + + // address_roles + foundAddresses := make(map[string]struct{}, len(msg.AddressRolesToRevoke)) + for _, addrRoles := range msg.AddressRolesToRevoke { + if _, err := sdk.AccAddressFromBech32(addrRoles.Address); err != nil { + return errors.Wrapf(err, "invalid address %s", addrRoles.Address) + } + if _, ok := foundAddresses[addrRoles.Address]; ok { + return errors.Wrapf(ErrInvalidRole, "address %s - revoking roles multiple times?", addrRoles.Address) + } + for _, role := range addrRoles.Roles { + if role == EVERYONE { + return errors.Wrapf(ErrInvalidRole, "role %s can not be set / revoked", EVERYONE) + } + } + foundAddresses[addrRoles.Address] = struct{}{} + } + return nil +} + +func (m *MsgRevokeNamespaceRoles) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgRevokeNamespaceRoles) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +func (m MsgClaimVoucher) Route() string { return routerKey } + +func (m MsgClaimVoucher) Type() string { return TypeMsgClaimVoucher } + +func (msg MsgClaimVoucher) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { + return err + } + + if msg.Denom == "" { + return fmt.Errorf("invalid denom") + } + return nil +} + +func (m *MsgClaimVoucher) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgClaimVoucher) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} diff --git a/chain/permissions/types/query.pb.go b/chain/permissions/types/query.pb.go index db2b4c09..78206717 100644 --- a/chain/permissions/types/query.pb.go +++ b/chain/permissions/types/query.pb.go @@ -6,6 +6,8 @@ package types import ( context "context" fmt "fmt" + 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/query" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" @@ -538,7 +540,7 @@ func (m *QueryVouchersForAddressRequest) GetAddress() string { } type QueryVouchersForAddressResponse struct { - Vouchers []*AddressVoucher `protobuf:"bytes,1,rep,name=vouchers,proto3" json:"vouchers,omitempty"` + Vouchers github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,1,rep,name=vouchers,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"vouchers,omitempty"` } func (m *QueryVouchersForAddressResponse) Reset() { *m = QueryVouchersForAddressResponse{} } @@ -574,7 +576,7 @@ func (m *QueryVouchersForAddressResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryVouchersForAddressResponse proto.InternalMessageInfo -func (m *QueryVouchersForAddressResponse) GetVouchers() []*AddressVoucher { +func (m *QueryVouchersForAddressResponse) GetVouchers() github_com_cosmos_cosmos_sdk_types.Coins { if m != nil { return m.Vouchers } @@ -601,55 +603,58 @@ func init() { } var fileDescriptor_e0ae50f1018498b3 = []byte{ - // 758 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x96, 0xcf, 0x6f, 0xd3, 0x4a, - 0x10, 0xc7, 0xb3, 0x7d, 0x6d, 0x5f, 0x33, 0x6d, 0xf5, 0x9e, 0xf6, 0xe5, 0x90, 0xe7, 0xb6, 0x69, - 0x65, 0x54, 0x11, 0x40, 0x89, 0x49, 0xaa, 0x8a, 0xfe, 0x02, 0x89, 0x80, 0x0a, 0x45, 0x08, 0x51, - 0x1f, 0x90, 0xe8, 0x25, 0xda, 0x24, 0x5b, 0xd7, 0x60, 0x7b, 0x5d, 0xaf, 0x53, 0x29, 0x57, 0x6e, - 0xdc, 0x90, 0xb8, 0xf3, 0x8f, 0xf4, 0xca, 0xa1, 0xc7, 0x4a, 0x5c, 0x38, 0x21, 0xd4, 0xf2, 0x87, - 0x20, 0xaf, 0xd7, 0x8e, 0xd3, 0x34, 0x71, 0x1a, 0x6e, 0xd9, 0xdd, 0xf9, 0xce, 0x7c, 0xbe, 0x93, - 0xcc, 0x28, 0x70, 0xc7, 0x74, 0xde, 0xd1, 0xa6, 0x6f, 0x9e, 0x50, 0xcd, 0xa5, 0x9e, 0x6d, 0x72, - 0x6e, 0x32, 0x87, 0x6b, 0x27, 0x95, 0x06, 0xf5, 0x49, 0x45, 0x3b, 0x6e, 0x53, 0xaf, 0x53, 0x76, - 0x3d, 0xe6, 0x33, 0xbc, 0x14, 0x87, 0x96, 0x13, 0xa1, 0x65, 0x19, 0xaa, 0xe4, 0x0c, 0x66, 0x30, - 0x11, 0xa9, 0x05, 0x9f, 0x42, 0x91, 0xb2, 0x68, 0x30, 0x66, 0x58, 0x54, 0x23, 0xae, 0xa9, 0x11, - 0xc7, 0x61, 0x3e, 0xf1, 0x85, 0x2a, 0x7c, 0xbd, 0xdb, 0x64, 0xdc, 0x66, 0x5c, 0x6b, 0x10, 0x4e, - 0xc3, 0x5a, 0x71, 0x65, 0x97, 0x18, 0xa6, 0x23, 0x82, 0xa3, 0xd8, 0xe1, 0xa4, 0x2e, 0xf1, 0x88, - 0x1d, 0xe5, 0xbd, 0x37, 0x3c, 0xd6, 0xa0, 0x0e, 0xe5, 0x66, 0x14, 0xac, 0xa5, 0x24, 0x4e, 0x78, - 0x15, 0x02, 0x35, 0x07, 0x78, 0x3f, 0x60, 0x7d, 0x2d, 0x4a, 0xea, 0xf4, 0xb8, 0x4d, 0xb9, 0xaf, - 0x1e, 0xc0, 0x7f, 0x3d, 0xb7, 0xdc, 0x65, 0x0e, 0xa7, 0xf8, 0x09, 0x4c, 0x87, 0x68, 0x79, 0xb4, - 0x82, 0x8a, 0xb3, 0xd5, 0xd5, 0xf2, 0xd0, 0x36, 0x96, 0x43, 0x79, 0x6d, 0xf2, 0xec, 0xc7, 0x72, - 0x46, 0x97, 0x52, 0x75, 0x01, 0xfe, 0x17, 0xb9, 0x1f, 0x5b, 0xd6, 0x2b, 0x62, 0x53, 0xee, 0x92, - 0x26, 0x8d, 0x0b, 0x1f, 0x82, 0x72, 0xdd, 0xa3, 0xac, 0xff, 0x1c, 0xc0, 0x89, 0x6f, 0xf3, 0x68, - 0xe5, 0xaf, 0xe2, 0x6c, 0xb5, 0x98, 0xc2, 0x10, 0xa7, 0xd1, 0x13, 0x5a, 0xf5, 0x2d, 0x2c, 0x8a, - 0x3a, 0xf1, 0x6b, 0xad, 0xf3, 0x94, 0x3a, 0xcc, 0x96, 0x1c, 0x38, 0x07, 0x53, 0xad, 0xe0, 0x2c, - 0x8c, 0x66, 0xf5, 0xf0, 0x80, 0x6f, 0xc1, 0xbc, 0xe9, 0x34, 0xad, 0x76, 0x8b, 0xd6, 0x3d, 0x66, - 0x51, 0x9e, 0x9f, 0x58, 0x41, 0xc5, 0x19, 0x7d, 0x4e, 0x5e, 0xea, 0xc1, 0x9d, 0x6a, 0xc0, 0xd2, - 0x80, 0xd4, 0xd2, 0xc5, 0x2e, 0x64, 0x63, 0x12, 0xd9, 0xc8, 0xd1, 0x4d, 0x74, 0xa5, 0xea, 0x33, - 0x58, 0x08, 0x7b, 0xd5, 0x6a, 0x79, 0x94, 0x73, 0xca, 0x6b, 0x9d, 0x80, 0x60, 0xb8, 0x05, 0x0c, - 0x93, 0x01, 0xba, 0x20, 0xcf, 0xea, 0xe2, 0xb3, 0xba, 0x23, 0x9b, 0xd1, 0x97, 0x48, 0x02, 0x2f, - 0x42, 0x96, 0x44, 0x4f, 0xa2, 0xeb, 0x59, 0xbd, 0x7b, 0xa1, 0xbe, 0x80, 0x7c, 0x52, 0x2d, 0x9a, - 0x30, 0x9c, 0x21, 0x0f, 0x7f, 0x4b, 0xb9, 0xc4, 0x88, 0x8e, 0x6a, 0x25, 0xfa, 0x6d, 0xf4, 0xe4, - 0x92, 0x18, 0x39, 0x98, 0x0a, 0xbb, 0x1e, 0x22, 0x84, 0x07, 0x75, 0x0b, 0x0a, 0x42, 0xf2, 0x86, - 0xb5, 0x9b, 0x47, 0xd4, 0xe3, 0xbb, 0xcc, 0x8b, 0xd4, 0x12, 0x22, 0x51, 0x0e, 0xf5, 0x96, 0xb3, - 0x60, 0x79, 0xa0, 0x56, 0x16, 0xdd, 0x83, 0x99, 0x13, 0xf9, 0x2a, 0x7f, 0x70, 0xa5, 0x94, 0xef, - 0x4a, 0x66, 0x90, 0x39, 0xf5, 0x58, 0x5e, 0xfd, 0x98, 0x85, 0x29, 0x51, 0x0e, 0x7f, 0x41, 0x30, - 0x1d, 0xce, 0x06, 0xae, 0xa4, 0x64, 0xeb, 0x1f, 0x4e, 0xa5, 0x7a, 0x13, 0x49, 0x68, 0x43, 0x2d, - 0x7d, 0xf8, 0xf6, 0xeb, 0xf3, 0xc4, 0x6d, 0xbc, 0xaa, 0x8d, 0xb2, 0x79, 0xf0, 0x29, 0x82, 0xf9, - 0x9e, 0x11, 0xc4, 0x1b, 0xa3, 0x14, 0xbd, 0x6e, 0xa4, 0x95, 0xcd, 0x31, 0x94, 0x92, 0x7a, 0x5d, - 0x50, 0x6b, 0xb8, 0x94, 0x42, 0x4d, 0x2c, 0xab, 0xde, 0x1d, 0x6e, 0x7c, 0x86, 0xe0, 0xdf, 0xab, - 0xd3, 0x87, 0xb7, 0x47, 0xc1, 0x18, 0xb0, 0x0e, 0x94, 0x9d, 0xf1, 0xc4, 0xd2, 0xc6, 0xa6, 0xb0, - 0xb1, 0x86, 0x2b, 0x29, 0x36, 0x62, 0x0b, 0xf5, 0x46, 0xa7, 0x1e, 0x8e, 0xca, 0x29, 0x82, 0xb9, - 0xe4, 0x30, 0xe0, 0x07, 0x23, 0x75, 0xb3, 0x7f, 0x14, 0x95, 0x8d, 0x9b, 0x0b, 0x25, 0xfe, 0x86, - 0xc0, 0xaf, 0xe2, 0xfb, 0x69, 0xdf, 0x42, 0xb4, 0x12, 0x02, 0xfc, 0x60, 0x38, 0xf1, 0x57, 0x04, - 0xff, 0x5c, 0x59, 0x2a, 0x78, 0xeb, 0x06, 0x1c, 0x57, 0x56, 0x9a, 0xb2, 0x3d, 0x96, 0xf6, 0x8f, - 0x6d, 0x9c, 0x23, 0xc0, 0xfd, 0x2b, 0x02, 0x3f, 0x1c, 0x85, 0x66, 0xe0, 0x5a, 0x52, 0x1e, 0x8d, - 0x2b, 0x97, 0x7e, 0xb6, 0x85, 0x9f, 0x75, 0xbc, 0x96, 0xe2, 0x27, 0xda, 0x3f, 0xf5, 0x43, 0xe6, - 0xd5, 0xa5, 0xb9, 0xda, 0xfb, 0xb3, 0x8b, 0x02, 0x3a, 0xbf, 0x28, 0xa0, 0x9f, 0x17, 0x05, 0xf4, - 0xe9, 0xb2, 0x90, 0x39, 0xbf, 0x2c, 0x64, 0xbe, 0x5f, 0x16, 0x32, 0x07, 0xfb, 0x86, 0xe9, 0x1f, - 0xb5, 0x1b, 0xe5, 0x26, 0xb3, 0xb5, 0xbd, 0x28, 0xf1, 0x4b, 0xd2, 0xe0, 0xdd, 0x32, 0xa5, 0x26, - 0xf3, 0x68, 0xf2, 0x78, 0x44, 0x4c, 0x47, 0xb3, 0x59, 0xab, 0x6d, 0x51, 0xde, 0xc3, 0xe0, 0x77, - 0x5c, 0xca, 0x1b, 0xd3, 0xe2, 0xaf, 0xc6, 0xda, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0, 0xec, - 0x3f, 0x09, 0xa0, 0x09, 0x00, 0x00, + // 816 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0x4d, 0x4f, 0xdb, 0x4a, + 0x14, 0xcd, 0xf0, 0x80, 0x47, 0x06, 0xd0, 0x7b, 0x9a, 0x66, 0x11, 0x0c, 0x38, 0xc8, 0x15, 0x6a, + 0xfa, 0x11, 0xbb, 0x09, 0x42, 0xe5, 0xab, 0x95, 0x1a, 0x2a, 0xfa, 0xa1, 0xaa, 0x2a, 0x5e, 0x54, + 0x2a, 0x9b, 0xc8, 0x71, 0x06, 0xe3, 0x62, 0x7b, 0x8c, 0xc7, 0x41, 0xca, 0xa2, 0x9b, 0xee, 0xba, + 0xab, 0xd4, 0x7d, 0xd5, 0x75, 0xff, 0x02, 0xdb, 0x2e, 0x58, 0x22, 0x75, 0xd3, 0x15, 0xad, 0xa0, + 0xab, 0xfe, 0x8a, 0xca, 0xe3, 0xb1, 0xe3, 0x10, 0x12, 0x87, 0x74, 0x45, 0x66, 0xee, 0x3d, 0xf7, + 0x9e, 0x73, 0x3d, 0xf7, 0x08, 0x78, 0xd3, 0x74, 0xde, 0x60, 0xdd, 0x37, 0x0f, 0xb1, 0xe2, 0x62, + 0xcf, 0x36, 0x29, 0x35, 0x89, 0x43, 0x95, 0xc3, 0x72, 0x1d, 0xfb, 0x5a, 0x59, 0x39, 0x68, 0x62, + 0xaf, 0x25, 0xbb, 0x1e, 0xf1, 0x09, 0x9a, 0x8f, 0x53, 0xe5, 0x44, 0xaa, 0xcc, 0x53, 0x85, 0x9c, + 0x41, 0x0c, 0xc2, 0x32, 0x95, 0xe0, 0x57, 0x08, 0x12, 0xe6, 0x0c, 0x42, 0x0c, 0x0b, 0x2b, 0x9a, + 0x6b, 0x2a, 0x9a, 0xe3, 0x10, 0x5f, 0xf3, 0x19, 0x2a, 0x8c, 0x8a, 0x3a, 0xa1, 0x36, 0xa1, 0x4a, + 0x5d, 0xa3, 0x38, 0xee, 0xa9, 0x13, 0xd3, 0xe1, 0xf1, 0x5b, 0xc9, 0x38, 0xe3, 0x12, 0x67, 0xb9, + 0x9a, 0x61, 0x3a, 0xac, 0x58, 0x94, 0xdb, 0x5f, 0x89, 0xab, 0x79, 0x9a, 0x1d, 0xf5, 0xbd, 0xdd, + 0x3f, 0xd7, 0xc0, 0x0e, 0xa6, 0x66, 0x94, 0xac, 0xa4, 0x14, 0x4e, 0xcc, 0x82, 0x01, 0xa4, 0x1c, + 0x44, 0xdb, 0x01, 0xd7, 0x97, 0xac, 0xa5, 0x8a, 0x0f, 0x9a, 0x98, 0xfa, 0xd2, 0x0e, 0xbc, 0xd6, + 0x71, 0x4b, 0x5d, 0xe2, 0x50, 0x8c, 0x36, 0xe1, 0x78, 0x48, 0x2d, 0x0f, 0x16, 0x40, 0x71, 0xb2, + 0xb2, 0x28, 0xf7, 0x1d, 0xb3, 0x1c, 0xc2, 0xab, 0xa3, 0xc7, 0xa7, 0x85, 0x8c, 0xca, 0xa1, 0xd2, + 0x2c, 0x9c, 0x61, 0xb5, 0x1f, 0x5a, 0xd6, 0x0b, 0xcd, 0xc6, 0xd4, 0xd5, 0x74, 0x1c, 0x37, 0xde, + 0x85, 0xc2, 0x65, 0x41, 0xde, 0xff, 0x09, 0x84, 0x4e, 0x7c, 0x9b, 0x07, 0x0b, 0xff, 0x14, 0x27, + 0x2b, 0xc5, 0x14, 0x0e, 0x71, 0x19, 0x35, 0x81, 0x95, 0x5e, 0xc3, 0x39, 0xd6, 0x27, 0x8e, 0x56, + 0x5b, 0x8f, 0xb0, 0x43, 0x6c, 0xce, 0x03, 0xe5, 0xe0, 0x58, 0x23, 0x38, 0x33, 0xa1, 0x59, 0x35, + 0x3c, 0xa0, 0xeb, 0x70, 0xda, 0x74, 0x74, 0xab, 0xd9, 0xc0, 0x35, 0x8f, 0x58, 0x98, 0xe6, 0x47, + 0x16, 0x40, 0x71, 0x42, 0x9d, 0xe2, 0x97, 0x6a, 0x70, 0x27, 0x19, 0x70, 0xbe, 0x47, 0x69, 0xae, + 0x62, 0x0b, 0x66, 0x63, 0x26, 0x7c, 0x90, 0x83, 0x8b, 0x68, 0x43, 0xa5, 0xc7, 0x70, 0x36, 0x9c, + 0x55, 0xa3, 0xe1, 0x61, 0x4a, 0x31, 0xad, 0xb6, 0x02, 0x06, 0xfd, 0x25, 0x20, 0x38, 0x1a, 0x50, + 0x67, 0xcc, 0xb3, 0x2a, 0xfb, 0x2d, 0x6d, 0xf0, 0x61, 0x74, 0x15, 0xe2, 0x84, 0xe7, 0x60, 0x56, + 0x8b, 0x42, 0x6c, 0xea, 0x59, 0xb5, 0x7d, 0x21, 0x3d, 0x83, 0xf9, 0x24, 0x9a, 0x0d, 0xa1, 0x3f, + 0x87, 0x3c, 0xfc, 0x97, 0xc3, 0x39, 0x8d, 0xe8, 0x28, 0x95, 0xa3, 0xb7, 0xd1, 0x51, 0x8b, 0xd3, + 0xc8, 0xc1, 0xb1, 0x70, 0xea, 0x21, 0x85, 0xf0, 0x20, 0xad, 0x41, 0x91, 0x41, 0x5e, 0x91, 0xa6, + 0xbe, 0x87, 0x3d, 0xba, 0x45, 0xbc, 0x08, 0xcd, 0x49, 0x24, 0xda, 0x81, 0xce, 0x76, 0x9f, 0x01, + 0x2c, 0xf4, 0x04, 0xf3, 0xae, 0x6f, 0xe1, 0xc4, 0x21, 0x8f, 0xf2, 0x17, 0x37, 0x23, 0x87, 0x9b, + 0x2e, 0x07, 0x9b, 0x1e, 0x7f, 0xa2, 0x4d, 0x62, 0x3a, 0xd5, 0xad, 0xe0, 0xa5, 0xff, 0x3e, 0x2d, + 0xa0, 0x08, 0x72, 0x87, 0xd8, 0xa6, 0x8f, 0x6d, 0xd7, 0x6f, 0x7d, 0xf9, 0x51, 0x28, 0x1a, 0xa6, + 0xbf, 0xd7, 0xac, 0xcb, 0x3a, 0xb1, 0x15, 0x6e, 0x16, 0xe1, 0x9f, 0x12, 0x6d, 0xec, 0x2b, 0x7e, + 0xcb, 0xc5, 0x94, 0x95, 0xa1, 0x6a, 0xdc, 0xb2, 0xf2, 0x3e, 0x0b, 0xc7, 0x18, 0x45, 0xf4, 0x09, + 0xc0, 0xf1, 0x70, 0xa1, 0x50, 0x39, 0xe5, 0xb9, 0x74, 0x6f, 0xb4, 0x50, 0xb9, 0x0a, 0x24, 0x94, + 0x2e, 0x95, 0xde, 0x7d, 0xfb, 0xf5, 0x71, 0xe4, 0x06, 0x5a, 0x54, 0x06, 0xb1, 0x2b, 0x74, 0x04, + 0xe0, 0x74, 0xc7, 0xde, 0xa2, 0x95, 0x41, 0x9a, 0x5e, 0xe6, 0x03, 0xc2, 0xea, 0x10, 0x48, 0xce, + 0x7a, 0x99, 0xb1, 0x56, 0x50, 0x29, 0x85, 0xb5, 0x66, 0x59, 0xb5, 0xb6, 0x23, 0xa0, 0x63, 0x00, + 0xff, 0xbf, 0xb8, 0xb2, 0x68, 0x7d, 0x10, 0x1a, 0x3d, 0x3c, 0x44, 0xd8, 0x18, 0x0e, 0xcc, 0x65, + 0xac, 0x32, 0x19, 0x4b, 0xa8, 0x9c, 0x22, 0x23, 0x96, 0x50, 0xab, 0xb7, 0x6a, 0xe1, 0x7e, 0x1d, + 0x01, 0x38, 0x95, 0xdc, 0x20, 0x74, 0x6f, 0xa0, 0x69, 0x76, 0xef, 0xaf, 0xb0, 0x72, 0x75, 0x20, + 0xa7, 0xbf, 0xc2, 0xe8, 0x57, 0xd0, 0xdd, 0xb4, 0xaf, 0x10, 0xf9, 0x48, 0x40, 0x3f, 0xd8, 0x68, + 0xf4, 0x15, 0xc0, 0xff, 0x2e, 0x38, 0x11, 0x5a, 0xbb, 0x02, 0x8f, 0x0b, 0x3e, 0x28, 0xac, 0x0f, + 0x85, 0xfd, 0x6b, 0x19, 0x27, 0x00, 0xa2, 0x6e, 0x5b, 0x41, 0xf7, 0x07, 0x61, 0xd3, 0xd3, 0xcb, + 0x84, 0x07, 0xc3, 0xc2, 0xb9, 0x9e, 0x75, 0xa6, 0x67, 0x19, 0x2d, 0xa5, 0xe8, 0x89, 0xfc, 0xa7, + 0xb6, 0x4b, 0xbc, 0x1a, 0x17, 0x57, 0xdd, 0x3f, 0x3e, 0x13, 0xc1, 0xc9, 0x99, 0x08, 0x7e, 0x9e, + 0x89, 0xe0, 0xc3, 0xb9, 0x98, 0x39, 0x39, 0x17, 0x33, 0xdf, 0xcf, 0xc5, 0xcc, 0xce, 0x76, 0xc2, + 0xd9, 0x9e, 0x46, 0x85, 0x9f, 0x6b, 0x75, 0xda, 0x6e, 0x53, 0xd2, 0x89, 0x87, 0x93, 0xc7, 0x3d, + 0xcd, 0x74, 0x14, 0x9b, 0x34, 0x9a, 0x16, 0xa6, 0x1d, 0x1c, 0x98, 0x11, 0xd6, 0xc7, 0xd9, 0xff, + 0x27, 0x4b, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x50, 0xbf, 0x64, 0x1e, 0xf5, 0x09, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2503,7 +2508,7 @@ func (m *QueryVouchersForAddressResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Vouchers = append(m.Vouchers, &AddressVoucher{}) + m.Vouchers = append(m.Vouchers, types.Coin{}) if err := m.Vouchers[len(m.Vouchers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/chain/permissions/types/tx.go b/chain/permissions/types/tx.go deleted file mode 100644 index 776372a5..00000000 --- a/chain/permissions/types/tx.go +++ /dev/null @@ -1,130 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" -) - -// constants -const ( - // RouterKey is the message route for slashing - routerKey = ModuleName -) - -var _ sdk.Msg = &MsgUpdateParams{} - -func (m MsgUpdateParams) Route() string { return routerKey } - -func (m MsgUpdateParams) Type() string { return "update_params" } - -func (m MsgUpdateParams) ValidateBasic() error { 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} -} - -var _ sdk.Msg = &MsgCreateNamespace{} - -func (m MsgCreateNamespace) Route() string { return routerKey } - -func (m MsgCreateNamespace) Type() string { return "create_namespace" } - -func (m MsgCreateNamespace) ValidateBasic() error { return nil } - -func (m *MsgCreateNamespace) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) -} - -func (m MsgCreateNamespace) GetSigners() []sdk.AccAddress { - addr, _ := sdk.AccAddressFromBech32(m.Sender) - return []sdk.AccAddress{addr} -} - -var _ sdk.Msg = &MsgDeleteNamespace{} - -func (m MsgDeleteNamespace) Route() string { return routerKey } - -func (m MsgDeleteNamespace) Type() string { return "delete_namespace" } - -func (m MsgDeleteNamespace) ValidateBasic() error { return nil } - -func (m *MsgDeleteNamespace) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) -} - -func (m MsgDeleteNamespace) GetSigners() []sdk.AccAddress { - addr, _ := sdk.AccAddressFromBech32(m.Sender) - return []sdk.AccAddress{addr} -} - -var _ sdk.Msg = &MsgUpdateNamespace{} - -func (m MsgUpdateNamespace) Route() string { return routerKey } - -func (m MsgUpdateNamespace) Type() string { return "update_namespace" } - -func (m MsgUpdateNamespace) ValidateBasic() error { return nil } - -func (m *MsgUpdateNamespace) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) -} - -func (m MsgUpdateNamespace) GetSigners() []sdk.AccAddress { - addr, _ := sdk.AccAddressFromBech32(m.Sender) - return []sdk.AccAddress{addr} -} - -var _ sdk.Msg = &MsgUpdateNamespaceRoles{} - -func (m MsgUpdateNamespaceRoles) Route() string { return routerKey } - -func (m MsgUpdateNamespaceRoles) Type() string { return "update_namespace_roles" } - -func (m MsgUpdateNamespaceRoles) ValidateBasic() error { return nil } - -func (m *MsgUpdateNamespaceRoles) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) -} - -func (m MsgUpdateNamespaceRoles) GetSigners() []sdk.AccAddress { - addr, _ := sdk.AccAddressFromBech32(m.Sender) - return []sdk.AccAddress{addr} -} - -var _ sdk.Msg = &MsgRevokeNamespaceRoles{} - -func (m MsgRevokeNamespaceRoles) Route() string { return routerKey } - -func (m MsgRevokeNamespaceRoles) Type() string { return "revoke_namespace_roles" } - -func (m MsgRevokeNamespaceRoles) ValidateBasic() error { return nil } - -func (m *MsgRevokeNamespaceRoles) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) -} - -func (m MsgRevokeNamespaceRoles) GetSigners() []sdk.AccAddress { - addr, _ := sdk.AccAddressFromBech32(m.Sender) - return []sdk.AccAddress{addr} -} - -var _ sdk.Msg = &MsgClaimVoucher{} - -func (m MsgClaimVoucher) Route() string { return routerKey } - -func (m MsgClaimVoucher) Type() string { return "claim_voucher" } - -func (m MsgClaimVoucher) ValidateBasic() error { return nil } - -func (m *MsgClaimVoucher) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) -} - -func (m MsgClaimVoucher) GetSigners() []sdk.AccAddress { - addr, _ := sdk.AccAddressFromBech32(m.Sender) - return []sdk.AccAddress{addr} -} diff --git a/chain/permissions/types/tx.pb.go b/chain/permissions/types/tx.pb.go index a6c5feda..7516812d 100644 --- a/chain/permissions/types/tx.pb.go +++ b/chain/permissions/types/tx.pb.go @@ -798,8 +798,8 @@ func (m *MsgRevokeNamespaceRolesResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgRevokeNamespaceRolesResponse proto.InternalMessageInfo type MsgClaimVoucher struct { - Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` - Originator string `protobuf:"bytes,2,opt,name=originator,proto3" json:"originator,omitempty"` + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` + Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` } func (m *MsgClaimVoucher) Reset() { *m = MsgClaimVoucher{} } @@ -842,9 +842,9 @@ func (m *MsgClaimVoucher) GetSender() string { return "" } -func (m *MsgClaimVoucher) GetOriginator() string { +func (m *MsgClaimVoucher) GetDenom() string { if m != nil { - return m.Originator + return m.Denom } return "" } @@ -911,68 +911,68 @@ func init() { } var fileDescriptor_ab9bfdcab1d9b6fa = []byte{ - // 962 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0x4f, 0x6f, 0xe3, 0x44, - 0x1c, 0xad, 0xb7, 0xdd, 0xd2, 0x4c, 0xbb, 0x5b, 0x6a, 0x55, 0x6a, 0xd6, 0x0b, 0x6e, 0xc9, 0x0a, - 0x28, 0x5d, 0xd5, 0x26, 0x5d, 0xa9, 0x12, 0x39, 0x20, 0x48, 0xf6, 0x00, 0xd2, 0x66, 0x15, 0x5c, - 0x58, 0x24, 0x24, 0x64, 0x8d, 0x93, 0xc1, 0x31, 0x89, 0x67, 0x2c, 0x8f, 0x93, 0xd0, 0x13, 0x12, - 0x07, 0x24, 0x38, 0x20, 0x8e, 0x88, 0x4f, 0xb1, 0x07, 0xae, 0x70, 0xe2, 0xb0, 0xc7, 0x15, 0x27, - 0x4e, 0x2b, 0xd4, 0x1e, 0xf6, 0x8e, 0xf8, 0x00, 0x68, 0x3c, 0x13, 0xdb, 0x99, 0xa4, 0xb1, 0xd3, - 0x55, 0xf7, 0xd2, 0x66, 0x7e, 0x7f, 0xdf, 0x7b, 0xa3, 0xdf, 0xcc, 0x18, 0xbc, 0xe5, 0xe1, 0xaf, - 0x51, 0x3b, 0xf2, 0x86, 0xc8, 0x0c, 0x50, 0xe8, 0x7b, 0x94, 0x7a, 0x04, 0x53, 0x73, 0x58, 0x75, - 0x50, 0x04, 0xab, 0x66, 0xf4, 0x8d, 0x11, 0x84, 0x24, 0x22, 0xea, 0xeb, 0x49, 0x9c, 0x91, 0x89, - 0x33, 0x44, 0x9c, 0xb6, 0xed, 0x12, 0x97, 0xc4, 0x91, 0x26, 0xfb, 0xc5, 0x93, 0x34, 0xbd, 0x4d, - 0xa8, 0x4f, 0xa8, 0xe9, 0x40, 0x8a, 0x92, 0x92, 0x6d, 0xe2, 0xe1, 0x29, 0x3f, 0xee, 0x25, 0x7e, - 0xb6, 0x10, 0xfe, 0x1d, 0xe1, 0xf7, 0xa9, 0x6b, 0x0e, 0xab, 0xec, 0x9f, 0x70, 0xdc, 0xe2, 0x0e, - 0x9b, 0x77, 0xe4, 0x0b, 0xe1, 0x3a, 0x98, 0x4f, 0x28, 0x80, 0x21, 0xf4, 0xc7, 0xb1, 0x66, 0x4e, - 0x6c, 0x86, 0x28, 0x4f, 0xd8, 0x82, 0xbe, 0x87, 0x89, 0x19, 0xff, 0xe5, 0xa6, 0xca, 0x1f, 0x0a, - 0xd8, 0x6c, 0x52, 0xf7, 0xb3, 0xa0, 0x03, 0x23, 0xd4, 0x8a, 0xab, 0xab, 0xc7, 0xa0, 0x04, 0x07, - 0x51, 0x97, 0x84, 0x5e, 0x74, 0x5a, 0x56, 0xf6, 0x94, 0xfd, 0x52, 0xbd, 0xfc, 0xd7, 0x6f, 0x87, - 0xdb, 0x02, 0xe8, 0x87, 0x9d, 0x4e, 0x88, 0x28, 0x3d, 0x89, 0x42, 0x0f, 0xbb, 0x56, 0x1a, 0xaa, - 0x36, 0xc0, 0x2a, 0xc7, 0x57, 0xbe, 0xb6, 0xa7, 0xec, 0xaf, 0x1f, 0xbd, 0x69, 0xcc, 0x55, 0xdd, - 0xe0, 0xed, 0xea, 0x2b, 0x4f, 0x9e, 0xed, 0x2e, 0x59, 0x22, 0xb5, 0x66, 0x7c, 0xf7, 0xfc, 0xf1, - 0x41, 0x5a, 0xf4, 0xc7, 0xe7, 0x8f, 0x0f, 0x6e, 0x67, 0xd9, 0x49, 0x60, 0x2b, 0xb7, 0xc0, 0x8e, - 0x64, 0xb2, 0x10, 0x0d, 0x08, 0xa6, 0xa8, 0xf2, 0xbb, 0x02, 0xd4, 0x26, 0x75, 0x1b, 0x21, 0x82, - 0x11, 0x7a, 0x08, 0x7d, 0x44, 0x03, 0xd8, 0x46, 0xea, 0x3b, 0x60, 0x95, 0x22, 0xdc, 0x41, 0xa1, - 0xe0, 0xb6, 0xf5, 0xef, 0xb3, 0xdd, 0x1b, 0xa7, 0xd0, 0xef, 0xd7, 0x2a, 0xdc, 0x5e, 0xb1, 0x44, - 0x80, 0xfa, 0x00, 0x94, 0xf0, 0x38, 0x4f, 0x90, 0xda, 0xcf, 0x21, 0x95, 0xf4, 0x11, 0xbc, 0xd2, - 0x02, 0x9c, 0x9a, 0x28, 0xcd, 0x78, 0xe9, 0x12, 0x2f, 0x09, 0x68, 0xe5, 0x35, 0xa0, 0x4d, 0x5b, - 0x13, 0x76, 0xbf, 0x70, 0x76, 0xf7, 0x51, 0x1f, 0x5d, 0x92, 0xdd, 0xdb, 0x60, 0x33, 0x01, 0x67, - 0x77, 0x10, 0x26, 0x7e, 0xcc, 0xb1, 0x64, 0xdd, 0x4c, 0xcc, 0xf7, 0x99, 0x35, 0x17, 0xb8, 0x84, - 0x41, 0x00, 0x97, 0xac, 0x09, 0xf0, 0xff, 0xae, 0xc7, 0xc0, 0xf9, 0x96, 0x5d, 0x29, 0x70, 0xf5, - 0x4b, 0x50, 0x1a, 0x41, 0xea, 0xdb, 0x5d, 0x42, 0x7a, 0xe5, 0xe5, 0x78, 0xff, 0x3e, 0xc8, 0xd9, - 0xbf, 0x69, 0x64, 0xcc, 0x74, 0x82, 0xa2, 0xcf, 0x21, 0xf5, 0x3f, 0x22, 0xa4, 0x67, 0xad, 0x8d, - 0xc4, 0x2f, 0xf5, 0x2b, 0xb0, 0xe1, 0x7b, 0x38, 0xa2, 0x76, 0x00, 0x07, 0x14, 0x75, 0xca, 0x2b, - 0x71, 0x87, 0xc6, 0x65, 0x3b, 0x34, 0x59, 0xad, 0x56, 0x5c, 0xca, 0x5a, 0xf7, 0xd3, 0x05, 0xeb, - 0xc3, 0x98, 0x27, 0x7d, 0xae, 0xbf, 0x58, 0x9f, 0x13, 0x56, 0x6b, 0xdc, 0x87, 0xa6, 0x0b, 0xd6, - 0xc7, 0x19, 0x84, 0x38, 0xe9, 0xb3, 0xfa, 0x62, 0x7d, 0xea, 0xac, 0xd6, 0xb8, 0x8f, 0x93, 0x2e, - 0xb4, 0x43, 0x70, 0x73, 0x52, 0x53, 0xf5, 0x36, 0x28, 0x61, 0x34, 0xb2, 0x87, 0xb0, 0x3f, 0x40, - 0x7c, 0xff, 0xad, 0x35, 0x8c, 0x46, 0x8f, 0xd8, 0x5a, 0x7b, 0x17, 0x6c, 0x4d, 0x09, 0x34, 0x9d, - 0xb1, 0x36, 0x2b, 0x23, 0x43, 0xb5, 0x60, 0x46, 0x06, 0xf4, 0xdc, 0x8c, 0xdc, 0xa1, 0x90, 0x34, - 0x11, 0x43, 0x21, 0x59, 0x93, 0xa1, 0xf8, 0xf3, 0x5a, 0xe6, 0x1c, 0x4b, 0xdd, 0xa4, 0x8f, 0xe8, - 0x95, 0x4c, 0xc6, 0x43, 0xf0, 0x6a, 0x48, 0xfa, 0xc8, 0xce, 0x80, 0x2e, 0x2f, 0xef, 0x2d, 0xef, - 0xaf, 0x1f, 0xdd, 0xc9, 0xd9, 0x6e, 0x86, 0xc9, 0xda, 0x64, 0xc9, 0xad, 0xd4, 0xab, 0xb6, 0xc0, - 0x0d, 0xc8, 0xef, 0x05, 0x9b, 0xb9, 0x68, 0x79, 0x25, 0x2e, 0x76, 0x37, 0xa7, 0x98, 0xb8, 0x4b, - 0x62, 0x9e, 0xd6, 0x06, 0xcc, 0xac, 0x6a, 0xf7, 0x24, 0x7d, 0xef, 0xcc, 0xd7, 0x37, 0x4e, 0xaa, - 0xbc, 0x01, 0x76, 0x2f, 0x70, 0x25, 0x4a, 0x7f, 0xcf, 0x95, 0xb6, 0xd0, 0x90, 0xf4, 0x5e, 0x86, - 0xd2, 0x0e, 0xd8, 0x99, 0x50, 0xc6, 0x8e, 0x88, 0x1d, 0xc6, 0xcd, 0x85, 0xe0, 0x0b, 0x69, 0xb4, - 0x9d, 0xd5, 0xe8, 0x53, 0xc2, 0x59, 0xe4, 0x6a, 0x35, 0x8b, 0xac, 0xd0, 0x6a, 0x96, 0x2b, 0xd1, - 0xea, 0x07, 0xfe, 0x3a, 0x68, 0xf4, 0xa1, 0xe7, 0x3f, 0x22, 0x83, 0x76, 0x17, 0x85, 0x8b, 0x68, - 0xa4, 0x03, 0x40, 0x42, 0xcf, 0xf5, 0x30, 0x8c, 0x48, 0x28, 0xe4, 0xc9, 0x58, 0x6a, 0x77, 0x25, - 0xd8, 0xf2, 0x45, 0x9f, 0xed, 0x2b, 0x2e, 0xfa, 0xac, 0x69, 0x0c, 0xf3, 0xe8, 0xd7, 0x57, 0xc0, - 0x72, 0x93, 0xba, 0xea, 0x10, 0x6c, 0x4c, 0x3c, 0x64, 0x8c, 0xa2, 0x27, 0x17, 0x8f, 0xd7, 0x8e, - 0x17, 0x8b, 0x1f, 0xf7, 0x57, 0xbf, 0x05, 0x9b, 0xf2, 0x23, 0xa3, 0x9a, 0x5f, 0x4a, 0x4a, 0xd1, - 0xde, 0x5b, 0x38, 0x25, 0x0b, 0x40, 0x7e, 0x07, 0x14, 0x00, 0x20, 0xa5, 0x14, 0x01, 0x70, 0xc1, - 0x9d, 0xce, 0x00, 0xc8, 0xf7, 0x79, 0x75, 0xe1, 0x6b, 0xa3, 0x08, 0x80, 0x0b, 0xce, 0x4f, 0xf5, - 0x27, 0x05, 0x6c, 0xcf, 0x3c, 0x3c, 0x8f, 0x17, 0xaf, 0xc9, 0xf2, 0xb4, 0xf7, 0x2f, 0x97, 0x37, - 0x01, 0x68, 0xe6, 0x19, 0x53, 0x00, 0xd0, 0xac, 0xbc, 0x22, 0x80, 0xe6, 0xcd, 0x32, 0x1b, 0x8e, - 0x89, 0x39, 0x2e, 0x30, 0x1c, 0xd9, 0xf8, 0x22, 0xc3, 0x31, 0x6b, 0x38, 0xeb, 0xbd, 0x27, 0x67, - 0xba, 0xf2, 0xf4, 0x4c, 0x57, 0xfe, 0x39, 0xd3, 0x95, 0x9f, 0xcf, 0xf5, 0xa5, 0xa7, 0xe7, 0xfa, - 0xd2, 0xdf, 0xe7, 0xfa, 0xd2, 0x17, 0x9f, 0xb8, 0x5e, 0xd4, 0x1d, 0x38, 0x46, 0x9b, 0xf8, 0xe6, - 0xc7, 0xe3, 0xda, 0x0f, 0xa0, 0x43, 0xd3, 0x0f, 0x9b, 0xc3, 0x36, 0x09, 0x51, 0x76, 0xd9, 0x85, - 0x1e, 0x36, 0x7d, 0xd2, 0x19, 0xf4, 0x11, 0x9d, 0xf8, 0xea, 0x89, 0x4e, 0x03, 0x44, 0x9d, 0xd5, - 0xf8, 0xab, 0xe6, 0xde, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xef, 0xa1, 0xe8, 0x8e, 0x18, 0x0e, - 0x00, 0x00, + // 961 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0x4d, 0x6f, 0xe3, 0x44, + 0x18, 0xae, 0xb7, 0x1f, 0x34, 0xd3, 0xee, 0x96, 0x5a, 0x91, 0x9a, 0xf5, 0x82, 0x5b, 0xb2, 0x02, + 0x42, 0x56, 0xb5, 0x49, 0x57, 0xaa, 0x44, 0x0e, 0x08, 0x92, 0x3d, 0x80, 0xb4, 0x59, 0x05, 0x17, + 0x16, 0x09, 0x09, 0x59, 0xe3, 0x64, 0x70, 0x4c, 0x62, 0x8f, 0xe5, 0x71, 0x12, 0x7a, 0x5a, 0xc4, + 0x81, 0x03, 0x07, 0xc4, 0x91, 0x2b, 0xff, 0xa0, 0x07, 0xae, 0x70, 0xe2, 0xb0, 0xc7, 0x15, 0x27, + 0x4e, 0x2b, 0xd4, 0x1e, 0x7a, 0x47, 0xfc, 0x00, 0x34, 0x9e, 0x89, 0xed, 0x4c, 0xd2, 0xd8, 0xe9, + 0x6a, 0xb9, 0xb4, 0x79, 0xbf, 0x9f, 0xe7, 0xb1, 0xde, 0x19, 0x1b, 0xbc, 0xe5, 0x78, 0x5f, 0xa3, + 0x4e, 0xe8, 0x8c, 0x90, 0xee, 0xa3, 0xc0, 0x75, 0x08, 0x71, 0xb0, 0x47, 0xf4, 0x51, 0xcd, 0x42, + 0x21, 0xac, 0xe9, 0xe1, 0x37, 0x9a, 0x1f, 0xe0, 0x10, 0xcb, 0xaf, 0xc7, 0x79, 0x5a, 0x2a, 0x4f, + 0xe3, 0x79, 0x4a, 0xd1, 0xc6, 0x36, 0x8e, 0x32, 0x75, 0xfa, 0x8b, 0x15, 0x29, 0x6a, 0x07, 0x13, + 0x17, 0x13, 0xdd, 0x82, 0x04, 0xc5, 0x2d, 0x3b, 0xd8, 0xf1, 0x66, 0xe2, 0x5e, 0x3f, 0x8e, 0x53, + 0x83, 0xc7, 0xf7, 0x78, 0xdc, 0x25, 0xb6, 0x3e, 0xaa, 0xd1, 0x7f, 0x3c, 0x70, 0x9b, 0x05, 0x4c, + 0x36, 0x91, 0x19, 0x3c, 0x54, 0x5d, 0x4c, 0xc8, 0x87, 0x01, 0x74, 0x27, 0xb9, 0x7a, 0x46, 0x6e, + 0x8a, 0x28, 0x2b, 0xd8, 0x85, 0xae, 0xe3, 0x61, 0x3d, 0xfa, 0xcb, 0x5c, 0xe5, 0xdf, 0x25, 0xb0, + 0xd3, 0x22, 0xf6, 0x67, 0x7e, 0x17, 0x86, 0xa8, 0x1d, 0x75, 0x97, 0x8f, 0x41, 0x01, 0x0e, 0xc3, + 0x1e, 0x0e, 0x9c, 0xf0, 0xb4, 0x24, 0x1d, 0x48, 0x95, 0x42, 0xa3, 0xf4, 0xe7, 0xaf, 0x87, 0x45, + 0x0e, 0xf4, 0xc3, 0x6e, 0x37, 0x40, 0x84, 0x9c, 0x84, 0x81, 0xe3, 0xd9, 0x46, 0x92, 0x2a, 0x37, + 0xc1, 0x06, 0xc3, 0x57, 0xba, 0x71, 0x20, 0x55, 0xb6, 0x8e, 0xde, 0xd4, 0x16, 0xaa, 0xae, 0xb1, + 0x71, 0x8d, 0xb5, 0xa7, 0xcf, 0xf7, 0x57, 0x0c, 0x5e, 0x5a, 0xd7, 0xbe, 0xbb, 0x3c, 0xab, 0x26, + 0x4d, 0x7f, 0xb8, 0x3c, 0xab, 0xde, 0x49, 0xb3, 0x13, 0xc0, 0x96, 0x6f, 0x83, 0x3d, 0xc1, 0x65, + 0x20, 0xe2, 0x63, 0x8f, 0xa0, 0xf2, 0x6f, 0x12, 0x90, 0x5b, 0xc4, 0x6e, 0x06, 0x08, 0x86, 0xe8, + 0x11, 0x74, 0x11, 0xf1, 0x61, 0x07, 0xc9, 0xef, 0x80, 0x0d, 0x82, 0xbc, 0x2e, 0x0a, 0x38, 0xb7, + 0xdd, 0x7f, 0x9e, 0xef, 0xdf, 0x3c, 0x85, 0xee, 0xa0, 0x5e, 0x66, 0xfe, 0xb2, 0xc1, 0x13, 0xe4, + 0x87, 0xa0, 0xe0, 0x4d, 0xea, 0x38, 0xa9, 0x4a, 0x06, 0xa9, 0x78, 0x0e, 0xe7, 0x95, 0x34, 0x60, + 0xd4, 0x78, 0x6b, 0xca, 0x4b, 0x15, 0x78, 0x09, 0x40, 0xcb, 0xaf, 0x01, 0x65, 0xd6, 0x1b, 0xb3, + 0xfb, 0x99, 0xb1, 0x7b, 0x80, 0x06, 0xe8, 0x9a, 0xec, 0xde, 0x06, 0x3b, 0x31, 0x38, 0xb3, 0x8b, + 0x3c, 0xec, 0x46, 0x1c, 0x0b, 0xc6, 0xad, 0xd8, 0xfd, 0x80, 0x7a, 0x33, 0x81, 0x0b, 0x18, 0x38, + 0x70, 0xc1, 0x1b, 0x03, 0xff, 0x77, 0x3d, 0x02, 0xce, 0x1e, 0xd9, 0x4b, 0x05, 0x2e, 0x7f, 0x09, + 0x0a, 0x63, 0x48, 0x5c, 0xb3, 0x87, 0x71, 0xbf, 0xb4, 0x1a, 0x3d, 0xbf, 0x0f, 0x32, 0x9e, 0xdf, + 0x2c, 0x32, 0xea, 0x3a, 0x41, 0xe1, 0xe7, 0x90, 0xb8, 0x1f, 0x61, 0xdc, 0x37, 0x36, 0xc7, 0xfc, + 0x97, 0xfc, 0x15, 0xd8, 0x76, 0x1d, 0x2f, 0x24, 0xa6, 0x0f, 0x87, 0x04, 0x75, 0x4b, 0x6b, 0xd1, + 0x84, 0xe6, 0x75, 0x27, 0xb4, 0x68, 0xaf, 0x76, 0xd4, 0xca, 0xd8, 0x72, 0x13, 0x83, 0xce, 0xa1, + 0xcc, 0xe3, 0x39, 0xeb, 0x2f, 0x36, 0xe7, 0x84, 0xf6, 0x9a, 0xcc, 0x21, 0x89, 0x41, 0xe7, 0x58, + 0xc3, 0xc0, 0x8b, 0xe7, 0x6c, 0xbc, 0xd8, 0x9c, 0x06, 0xed, 0x35, 0x99, 0x63, 0x25, 0x86, 0x72, + 0x08, 0x6e, 0x4d, 0x6b, 0x2a, 0xdf, 0x01, 0x05, 0x0f, 0x8d, 0xcd, 0x11, 0x1c, 0x0c, 0x11, 0x7b, + 0xfe, 0xc6, 0xa6, 0x87, 0xc6, 0x8f, 0xa9, 0xad, 0xbc, 0x0b, 0x76, 0x67, 0x04, 0x9a, 0xad, 0xd8, + 0x9c, 0x57, 0x91, 0xa2, 0x9a, 0xb3, 0x22, 0x05, 0x7a, 0x61, 0x45, 0xe6, 0x52, 0x08, 0x9a, 0xf0, + 0xa5, 0x10, 0xbc, 0xf1, 0x52, 0xfc, 0x71, 0x23, 0x75, 0x8e, 0x25, 0x61, 0x3c, 0x40, 0xe4, 0xa5, + 0x6c, 0xc6, 0x23, 0xf0, 0x6a, 0x80, 0x07, 0xc8, 0x4c, 0x81, 0x2e, 0xad, 0x1e, 0xac, 0x56, 0xb6, + 0x8e, 0xee, 0x66, 0x3c, 0x6e, 0x8a, 0xc9, 0xd8, 0xa1, 0xc5, 0xed, 0x24, 0x2a, 0xb7, 0xc1, 0x4d, + 0xc8, 0xee, 0x05, 0x93, 0x86, 0x48, 0x69, 0x2d, 0x6a, 0x76, 0x2f, 0xa3, 0x19, 0xbf, 0x4b, 0x22, + 0x9e, 0xc6, 0x36, 0x4c, 0x59, 0xf5, 0xfb, 0x82, 0xbe, 0x77, 0x17, 0xeb, 0x1b, 0x15, 0x95, 0xdf, + 0x00, 0xfb, 0x57, 0x84, 0x62, 0xa5, 0xbf, 0x67, 0x4a, 0x1b, 0x68, 0x84, 0xfb, 0xff, 0x87, 0xd2, + 0x16, 0xd8, 0x9b, 0x52, 0xc6, 0x0c, 0xb1, 0x19, 0x44, 0xc3, 0xb9, 0xe0, 0x4b, 0x69, 0x54, 0x4c, + 0x6b, 0xf4, 0x29, 0x66, 0x2c, 0x32, 0xb5, 0x9a, 0x47, 0x96, 0x6b, 0x35, 0x2f, 0x14, 0x6b, 0xf5, + 0x24, 0x7a, 0x39, 0x68, 0x0e, 0xa0, 0xe3, 0x3e, 0xc6, 0xc3, 0x4e, 0x0f, 0x05, 0xcb, 0x48, 0x54, + 0x04, 0xeb, 0x69, 0x61, 0x98, 0x51, 0xbf, 0x27, 0x60, 0x15, 0x6f, 0xf7, 0xf4, 0x34, 0x7e, 0xbb, + 0xa7, 0x5d, 0x13, 0x6c, 0x47, 0xbf, 0xbc, 0x02, 0x56, 0x5b, 0xc4, 0x96, 0x47, 0x60, 0x7b, 0xea, + 0xed, 0x45, 0xcb, 0x7b, 0x5c, 0xb1, 0x7c, 0xe5, 0x78, 0xb9, 0xfc, 0xc9, 0x7c, 0xf9, 0x09, 0xd8, + 0x11, 0xdf, 0x2c, 0x6a, 0xd9, 0xad, 0x84, 0x12, 0xe5, 0xbd, 0xa5, 0x4b, 0xd2, 0x00, 0xc4, 0xcb, + 0x3f, 0x07, 0x00, 0xa1, 0x24, 0x0f, 0x80, 0x2b, 0x2e, 0x72, 0x0a, 0x40, 0xbc, 0xc4, 0x6b, 0x4b, + 0xdf, 0x15, 0x79, 0x00, 0x5c, 0x71, 0x68, 0xca, 0x3f, 0x4a, 0xa0, 0x38, 0xf7, 0xc4, 0x3c, 0x5e, + 0xbe, 0x27, 0xad, 0x53, 0xde, 0xbf, 0x5e, 0xdd, 0x14, 0xa0, 0xb9, 0x07, 0x4b, 0x0e, 0x40, 0xf3, + 0xea, 0xf2, 0x00, 0x5a, 0xb4, 0xc0, 0x74, 0x39, 0xa6, 0xb6, 0x37, 0xc7, 0x72, 0xa4, 0xf3, 0xf3, + 0x2c, 0xc7, 0xbc, 0xe5, 0x54, 0xd6, 0xbf, 0xbd, 0x3c, 0xab, 0x4a, 0x8d, 0xfe, 0xd3, 0x73, 0x55, + 0x7a, 0x76, 0xae, 0x4a, 0x7f, 0x9f, 0xab, 0xd2, 0x4f, 0x17, 0xea, 0xca, 0xb3, 0x0b, 0x75, 0xe5, + 0xaf, 0x0b, 0x75, 0xe5, 0x8b, 0x4f, 0x6c, 0x27, 0xec, 0x0d, 0x2d, 0xad, 0x83, 0x5d, 0xfd, 0xe3, + 0xc9, 0x88, 0x87, 0xd0, 0x22, 0xc9, 0x47, 0xcd, 0x61, 0x07, 0x07, 0x28, 0x6d, 0xf6, 0xa0, 0xe3, + 0xe9, 0x2e, 0xee, 0x0e, 0x07, 0x88, 0x4c, 0x7d, 0xf1, 0x84, 0xa7, 0x3e, 0x22, 0xd6, 0x46, 0xf4, + 0x45, 0x73, 0xff, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x72, 0x97, 0x38, 0xd1, 0x14, 0x0e, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1876,10 +1876,10 @@ func (m *MsgClaimVoucher) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.Originator) > 0 { - i -= len(m.Originator) - copy(dAtA[i:], m.Originator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Originator))) + if len(m.Denom) > 0 { + i -= len(m.Denom) + copy(dAtA[i:], m.Denom) + i = encodeVarintTx(dAtA, i, uint64(len(m.Denom))) i-- dAtA[i] = 0x12 } @@ -2172,7 +2172,7 @@ func (m *MsgClaimVoucher) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Originator) + l = len(m.Denom) if l > 0 { n += 1 + l + sovTx(uint64(l)) } @@ -3781,7 +3781,7 @@ func (m *MsgClaimVoucher) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Originator", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -3809,7 +3809,7 @@ func (m *MsgClaimVoucher) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Originator = string(dAtA[iNdEx:postIndex]) + m.Denom = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex diff --git a/chain/permissions/types/types.go b/chain/permissions/types/types.go index 563d1b68..12a6b08f 100644 --- a/chain/permissions/types/types.go +++ b/chain/permissions/types/types.go @@ -1,6 +1,8 @@ package types import ( + "encoding/json" + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" @@ -19,18 +21,63 @@ type WasmHookMsg struct { Amounts sdk.Coins `json:"amounts"` } +func NewWasmHookMsg(fromAddr, toAddr sdk.AccAddress, action Action, amount sdk.Coin) WasmHookMsg { + return WasmHookMsg{ + From: fromAddr, + To: toAddr, + Action: action.String(), + Amounts: sdk.NewCoins(amount), + } +} + +func GetWasmHookMsgBytes(fromAddr, toAddr sdk.AccAddress, action Action, amount sdk.Coin) ([]byte, error) { + wasmHookMsg := struct { + SendRestriction WasmHookMsg `json:"send_restriction"` + }{NewWasmHookMsg(fromAddr, toAddr, action, amount)} + + bz, err := json.Marshal(wasmHookMsg) + if err != nil { + return nil, err + } + + return bz, nil +} + func (n *Namespace) Validate() error { + if err := n.ValidateBasicParams(); err != nil { + return err + } + + if err := n.ValidateEveryoneRole(); err != nil { + return err + } + + if err := n.ValidateRoles(false); err != nil { + return err + } + + return nil +} + +func (n *Namespace) ValidateBasicParams() error { if _, _, err := tftypes.DeconstructDenom(n.Denom); err != nil { return errors.Wrap(err, "permissions namespace can only be applied to tokenfactory denoms") } + // existing wasm hook contract + if n.WasmHook != "" { + if _, err := sdk.AccAddressFromBech32(n.WasmHook); err != nil { + return ErrInvalidWasmHook + } + } + + return nil +} + +func (n *Namespace) ValidateRoles(isForUpdate bool) error { // role_permissions - hasEveryoneSet := false foundRoles := make(map[string]struct{}, len(n.RolePermissions)) for _, rolePerm := range n.RolePermissions { - if rolePerm.Role == EVERYONE { - hasEveryoneSet = true - } if _, ok := foundRoles[rolePerm.Role]; ok { return errors.Wrapf(ErrInvalidPermission, "permissions for the role %s set multiple times?", rolePerm.Role) } @@ -40,10 +87,6 @@ func (n *Namespace) Validate() error { foundRoles[rolePerm.Role] = struct{}{} } - if !hasEveryoneSet { - return errors.Wrapf(ErrInvalidPermission, "permissions for role %s should be explicitly set", EVERYONE) - } - // address_roles foundAddresses := make(map[string]struct{}, len(n.AddressRoles)) for _, addrRoles := range n.AddressRoles { @@ -54,7 +97,8 @@ func (n *Namespace) Validate() error { return errors.Wrapf(ErrInvalidRole, "address %s is assigned new roles multiple times?", addrRoles.Address) } for _, role := range addrRoles.Roles { - if _, ok := foundRoles[role]; !ok { + _, found := foundRoles[role] + if !isForUpdate && !found { return errors.Wrapf(ErrUnknownRole, "role %s has no defined permissions", role) } if role == EVERYONE { @@ -64,12 +108,49 @@ func (n *Namespace) Validate() error { foundAddresses[addrRoles.Address] = struct{}{} } - // existing wasm hook contract - if n.WasmHook != "" { - if _, err := sdk.AccAddressFromBech32(n.WasmHook); err != nil { - return errors.Wrap(err, "invalid WasmHook address") + return nil +} + +func (n *Namespace) ValidateEveryoneRole() error { + // role_permissions + for _, rolePerm := range n.RolePermissions { + if rolePerm.Role == EVERYONE { + return nil } } + return errors.Wrapf(ErrInvalidPermission, "permissions for role %s should be explicitly set", EVERYONE) +} + +func (n *Namespace) CheckActionValidity(action Action) error { + // check that action is not paused + switch action { + case Action_MINT: + if n.MintsPaused { + return errors.Wrap(ErrRestrictedAction, "mints paused") + } + case Action_RECEIVE: + if n.SendsPaused { + return errors.Wrap(ErrRestrictedAction, "sends paused") + } + case Action_BURN: + if n.BurnsPaused { + return errors.Wrap(ErrRestrictedAction, "burns paused") + } + } return nil } + +func (a Action) DeriveActor(fromAddr, toAddr sdk.AccAddress) sdk.AccAddress { + switch a { + case Action_MINT, Action_RECEIVE: + return toAddr + case Action_BURN: + return fromAddr + } + return fromAddr +} + +func NewEmptyVoucher(denom string) sdk.Coin { + return sdk.NewInt64Coin(denom, 0) +} diff --git a/chain/tokenfactory/types/expected_keepers.go b/chain/tokenfactory/types/expected_keepers.go index 6482fbe2..27c25b23 100644 --- a/chain/tokenfactory/types/expected_keepers.go +++ b/chain/tokenfactory/types/expected_keepers.go @@ -21,6 +21,7 @@ type BankKeeper interface { SendCoins(ctx context.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error HasBalance(ctx context.Context, addr sdk.AccAddress, amt sdk.Coin) bool + BlockedAddr(addr sdk.AccAddress) bool } type AccountKeeper interface { diff --git a/chain/tokenfactory/types/msgs.go b/chain/tokenfactory/types/msgs.go index 7b0c417e..4b1749ac 100644 --- a/chain/tokenfactory/types/msgs.go +++ b/chain/tokenfactory/types/msgs.go @@ -3,9 +3,11 @@ package types import ( "cosmossdk.io/errors" "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/chain/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + "strings" ) // constants @@ -15,7 +17,6 @@ const ( TypeMsgBurn = "tf_burn" TypeMsgChangeAdmin = "change_admin" TypeMsgSetDenomMetadata = "set_denom_metadata" - TypeMsgForceTransfer = "force_transfer" TypeMsgUpdateParams = "update_params" ) @@ -210,11 +211,24 @@ func (m MsgSetDenomMetadata) ValidateBasic() error { return err } - _, _, err = DeconstructDenom(m.Metadata.Base) + if m.Metadata.Base == types.InjectiveCoin { + return errors.Wrap(ErrInvalidDenom, "cannot set metadata for INJ") + } + + err = sdk.ValidateDenom(m.Metadata.Base) if err != nil { return err } + // If denom metadata is for a TokenFactory denom, run the different components validations + strParts := strings.Split(m.Metadata.Base, "/") + if len(strParts) > 2 { + _, _, err = DeconstructDenom(m.Metadata.Base) + if err != nil { + return err + } + } + return nil } diff --git a/chain/tokenfactory/types/tx.pb.go b/chain/tokenfactory/types/tx.pb.go index b12c89c3..c4002d82 100644 --- a/chain/tokenfactory/types/tx.pb.go +++ b/chain/tokenfactory/types/tx.pb.go @@ -641,61 +641,61 @@ func init() { } var fileDescriptor_b0b26fd7f19ce3c4 = []byte{ - // 855 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0x4d, 0x6f, 0xe3, 0x44, - 0x18, 0x8e, 0xd9, 0x6c, 0x68, 0xa7, 0xbb, 0xa4, 0xf5, 0x96, 0x6d, 0x9a, 0xd5, 0x3a, 0xc8, 0x8b, - 0x76, 0x69, 0xab, 0xd8, 0x4a, 0x2b, 0xb5, 0x22, 0x9c, 0x9a, 0xf6, 0x00, 0x12, 0x91, 0x90, 0x0b, - 0x17, 0x84, 0x54, 0xc6, 0xf1, 0xe0, 0x98, 0xc6, 0x33, 0x91, 0x67, 0xdc, 0x36, 0x57, 0xc4, 0x89, - 0x13, 0xff, 0x83, 0x4b, 0x0f, 0x1c, 0xf8, 0x09, 0x95, 0x38, 0x50, 0x71, 0xe2, 0x14, 0xa1, 0xf6, - 0xd0, 0x33, 0xf9, 0x05, 0x68, 0x3e, 0xec, 0x38, 0x09, 0xa1, 0x0e, 0x27, 0x2e, 0xad, 0x67, 0xde, - 0xe7, 0x79, 0xe7, 0x7d, 0xde, 0x2f, 0x05, 0xbc, 0x09, 0xf0, 0xb7, 0xa8, 0xc3, 0x82, 0x73, 0x64, - 0x33, 0x72, 0x86, 0xf0, 0x37, 0xb0, 0xc3, 0x48, 0x34, 0xb0, 0xcf, 0x1b, 0x2e, 0x62, 0xb0, 0x61, - 0xb3, 0x4b, 0xab, 0x1f, 0x11, 0x46, 0x74, 0x23, 0x05, 0x5a, 0x59, 0xa0, 0xa5, 0x80, 0xd5, 0x75, - 0x9f, 0xf8, 0x44, 0x40, 0x6d, 0xfe, 0x25, 0x59, 0x55, 0xa3, 0x43, 0x68, 0x48, 0xa8, 0xed, 0x42, - 0x8a, 0x52, 0x9f, 0x1d, 0x12, 0xe0, 0x19, 0x3b, 0x3e, 0x4b, 0xed, 0xfc, 0xa0, 0xec, 0x1b, 0xca, - 0x1e, 0x52, 0xdf, 0x3e, 0x6f, 0xf0, 0x7f, 0xca, 0xb0, 0x29, 0x0d, 0xa7, 0xf2, 0x45, 0x79, 0x50, - 0xa6, 0x9d, 0x07, 0x24, 0xf5, 0x61, 0x04, 0xc3, 0x04, 0xbc, 0x06, 0xc3, 0x00, 0x13, 0x5b, 0xfc, - 0x95, 0x57, 0xe6, 0x5f, 0x1a, 0x78, 0xa7, 0x4d, 0xfd, 0xa3, 0x08, 0x41, 0x86, 0x8e, 0x11, 0x26, - 0xa1, 0xbe, 0x05, 0x4a, 0x14, 0x61, 0x0f, 0x45, 0x15, 0xed, 0x3d, 0xed, 0x83, 0xe5, 0xd6, 0xda, - 0x68, 0x58, 0x7b, 0x3a, 0x80, 0x61, 0xaf, 0x69, 0xca, 0x7b, 0xd3, 0x51, 0x00, 0xdd, 0x06, 0x4b, - 0x34, 0x76, 0x3d, 0x4e, 0xab, 0xbc, 0x25, 0xc0, 0xcf, 0x46, 0xc3, 0x5a, 0x59, 0x81, 0x95, 0xc5, - 0x74, 0x52, 0x90, 0xfe, 0x0a, 0x14, 0x31, 0x0c, 0x51, 0xe5, 0x91, 0x00, 0x97, 0x47, 0xc3, 0xda, - 0x8a, 0x04, 0xf3, 0x5b, 0xd3, 0x11, 0x46, 0x11, 0xc0, 0x20, 0x74, 0x49, 0xaf, 0x52, 0x9c, 0x09, - 0x40, 0xdc, 0xf3, 0x00, 0xc4, 0x47, 0x73, 0xef, 0xbb, 0xfb, 0xab, 0x6d, 0x15, 0xcd, 0x0f, 0xf7, - 0x57, 0xdb, 0xaf, 0xe6, 0xa4, 0xa3, 0x23, 0xf4, 0xd5, 0x65, 0x3c, 0x5f, 0x81, 0xe7, 0x93, 0x92, - 0x1d, 0x44, 0xfb, 0x04, 0x53, 0xa4, 0xb7, 0x40, 0x19, 0xa3, 0x8b, 0x53, 0x41, 0x3d, 0x95, 0xb2, - 0x64, 0x0e, 0xaa, 0xa3, 0x61, 0xed, 0xb9, 0x8a, 0x74, 0x12, 0x60, 0x3a, 0x4f, 0x31, 0xba, 0xf8, - 0x9c, 0x5f, 0x08, 0x5f, 0xe6, 0x4f, 0x1a, 0x78, 0xbb, 0x4d, 0xfd, 0x76, 0x80, 0xd9, 0x22, 0xa9, - 0xfc, 0x18, 0x94, 0x60, 0x48, 0x62, 0xcc, 0x44, 0x22, 0x57, 0x76, 0x37, 0x2d, 0x55, 0x67, 0xde, - 0x4d, 0x49, 0xe3, 0x59, 0x47, 0x24, 0xc0, 0xad, 0x77, 0xaf, 0x87, 0xb5, 0xc2, 0xd8, 0x93, 0xa4, - 0x99, 0x8e, 0xe2, 0x37, 0x77, 0xa6, 0x72, 0xf2, 0x62, 0x4e, 0x4e, 0xc2, 0x00, 0x33, 0x73, 0x0d, - 0x94, 0x55, 0xb0, 0x49, 0x12, 0x12, 0x01, 0xad, 0x38, 0xc2, 0xff, 0x6f, 0x01, 0x6e, 0x1c, 0x61, - 0x25, 0x80, 0x07, 0x9b, 0x0a, 0xf8, 0x55, 0xf5, 0x74, 0x17, 0x62, 0x1f, 0x1d, 0x7a, 0x61, 0xb0, - 0x90, 0x8e, 0xd7, 0xe0, 0x71, 0xb6, 0xa1, 0x57, 0x47, 0xc3, 0xda, 0x13, 0x89, 0x54, 0xf5, 0x96, - 0x66, 0xbd, 0x01, 0x96, 0x79, 0x2b, 0x40, 0xee, 0x5f, 0xf5, 0xf3, 0xfa, 0x68, 0x58, 0x5b, 0x1d, - 0x77, 0x89, 0x30, 0x99, 0xce, 0x12, 0x46, 0x17, 0x22, 0x8a, 0xfc, 0xdd, 0x2a, 0x22, 0xaf, 0x4b, - 0x7e, 0x45, 0x76, 0xeb, 0x58, 0x4c, 0xaa, 0xf3, 0x37, 0x0d, 0x3c, 0x6b, 0x53, 0xff, 0x04, 0x31, - 0xd1, 0x79, 0x6d, 0xc4, 0xa0, 0x07, 0x19, 0x5c, 0x44, 0xac, 0x03, 0x96, 0x42, 0x45, 0x53, 0x65, - 0x7b, 0x39, 0x2e, 0x1b, 0x3e, 0x4b, 0xcb, 0x96, 0xf8, 0x6e, 0x6d, 0xa8, 0xd2, 0xa9, 0x19, 0x4f, - 0xc8, 0xa6, 0x93, 0xfa, 0x69, 0x7e, 0x38, 0xa5, 0x72, 0x6b, 0x8e, 0x4a, 0x8a, 0x98, 0x1c, 0xc8, - 0x7a, 0xea, 0xe5, 0x25, 0x78, 0xf1, 0x0f, 0x82, 0x52, 0xc1, 0xd7, 0x9a, 0x28, 0xf6, 0x17, 0x7d, - 0x0f, 0x32, 0xf4, 0x99, 0xd8, 0x6c, 0xfa, 0x3e, 0x58, 0x86, 0x31, 0xeb, 0x92, 0x28, 0x60, 0x03, - 0xa5, 0xb7, 0xf2, 0xfb, 0xcf, 0xf5, 0x75, 0xa5, 0xe2, 0xd0, 0xf3, 0x22, 0x44, 0xe9, 0x09, 0x8b, - 0x02, 0xec, 0x3b, 0x63, 0xa8, 0x7e, 0x0c, 0x4a, 0x72, 0x37, 0x2a, 0xdd, 0xaf, 0xad, 0x7f, 0xdf, - 0xf9, 0x96, 0x7c, 0xaf, 0x55, 0xe4, 0x09, 0x70, 0x14, 0xb7, 0x79, 0xc0, 0xb5, 0x8e, 0xbd, 0x72, - 0xb9, 0xef, 0xcf, 0x91, 0x1b, 0x8b, 0xa8, 0xeb, 0x92, 0x68, 0x6e, 0x82, 0x8d, 0x29, 0x25, 0x89, - 0xca, 0xdd, 0x5f, 0x1e, 0x83, 0x47, 0x6d, 0xea, 0xeb, 0x31, 0x58, 0xc9, 0xae, 0x65, 0xeb, 0xa1, - 0x00, 0x27, 0x77, 0x5a, 0x75, 0x7f, 0x31, 0x7c, 0xba, 0x03, 0xbf, 0x06, 0x45, 0xb1, 0xbb, 0xde, - 0xe4, 0xe0, 0x73, 0x60, 0xd5, 0xce, 0x09, 0xcc, 0xbe, 0x20, 0x96, 0x4b, 0x9e, 0x17, 0x38, 0x30, - 0xd7, 0x0b, 0xd9, 0x0d, 0x20, 0x52, 0x97, 0x99, 0xfe, 0x5c, 0xa9, 0x1b, 0xe3, 0xf3, 0xa5, 0x6e, - 0x76, 0x20, 0xf5, 0xef, 0x35, 0xb0, 0x3a, 0x33, 0x8d, 0x7b, 0x39, 0x9c, 0x4d, 0x93, 0xaa, 0x1f, - 0xfd, 0x07, 0x52, 0x1a, 0xc6, 0x25, 0x78, 0x32, 0x31, 0x22, 0x79, 0xd2, 0x97, 0x25, 0x54, 0x0f, - 0x16, 0x24, 0x24, 0x2f, 0xb7, 0x7a, 0xd7, 0xb7, 0x86, 0x76, 0x73, 0x6b, 0x68, 0x7f, 0xde, 0x1a, - 0xda, 0x8f, 0x77, 0x46, 0xe1, 0xe6, 0xce, 0x28, 0xfc, 0x71, 0x67, 0x14, 0xbe, 0x74, 0xfc, 0x80, - 0x75, 0x63, 0xd7, 0xea, 0x90, 0xd0, 0xfe, 0x24, 0x71, 0xfe, 0x29, 0x74, 0xa9, 0x9d, 0x3e, 0x55, - 0xef, 0x90, 0x08, 0x65, 0x8f, 0x5d, 0x18, 0x60, 0x3b, 0x24, 0x5e, 0xdc, 0x43, 0x74, 0x72, 0x96, - 0xd8, 0xa0, 0x8f, 0xa8, 0x5b, 0x12, 0x3f, 0x61, 0xf6, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xaa, - 0xc1, 0x4d, 0x17, 0xd7, 0x09, 0x00, 0x00, + // 864 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0xcf, 0x6f, 0xe3, 0x44, + 0x14, 0x8e, 0xd9, 0x34, 0xb4, 0xd3, 0x5d, 0xd2, 0x7a, 0xcb, 0x36, 0xf5, 0x6a, 0x1d, 0xe4, 0x45, + 0xbb, 0x6c, 0x57, 0xb1, 0x95, 0xad, 0xb4, 0x2b, 0xc2, 0x69, 0xd3, 0x1e, 0x40, 0x22, 0x12, 0x72, + 0xe1, 0x82, 0x90, 0xca, 0x38, 0x1e, 0x1c, 0xd3, 0x78, 0x26, 0xf2, 0x8c, 0xdb, 0xe6, 0x86, 0x10, + 0x27, 0x4e, 0xfc, 0x1f, 0x5c, 0x7a, 0xe0, 0xce, 0xb5, 0x12, 0x07, 0x2a, 0x4e, 0x9c, 0x22, 0xd4, + 0x1e, 0x7a, 0x26, 0x7f, 0x01, 0x9a, 0x1f, 0x76, 0x9c, 0x84, 0x50, 0x87, 0xd3, 0x5e, 0x5a, 0xcf, + 0xbc, 0xef, 0x7b, 0xef, 0x7d, 0x6f, 0xde, 0x7b, 0x0a, 0x78, 0x1a, 0xe2, 0x6f, 0x51, 0x97, 0x85, + 0x27, 0xc8, 0x61, 0xe4, 0x18, 0xe1, 0x6f, 0x60, 0x97, 0x91, 0x78, 0xe8, 0x9c, 0x34, 0x3d, 0xc4, + 0x60, 0xd3, 0x61, 0x67, 0xf6, 0x20, 0x26, 0x8c, 0xe8, 0x66, 0x06, 0xb4, 0xf3, 0x40, 0x5b, 0x01, + 0x8d, 0xad, 0x80, 0x04, 0x44, 0x40, 0x1d, 0xfe, 0x25, 0x59, 0x86, 0xd9, 0x25, 0x34, 0x22, 0xd4, + 0xf1, 0x20, 0x45, 0x99, 0xcf, 0x2e, 0x09, 0xf1, 0x9c, 0x1d, 0x1f, 0x67, 0x76, 0x7e, 0x50, 0xf6, + 0x6d, 0x65, 0x8f, 0x68, 0xe0, 0x9c, 0x34, 0xf9, 0x3f, 0x65, 0xd8, 0x91, 0x86, 0x23, 0x19, 0x51, + 0x1e, 0x94, 0xe9, 0xf9, 0x2d, 0x92, 0x06, 0x30, 0x86, 0x51, 0x0a, 0xde, 0x84, 0x51, 0x88, 0x89, + 0x23, 0xfe, 0xca, 0x2b, 0xeb, 0x6f, 0x0d, 0xbc, 0xd3, 0xa1, 0xc1, 0x7e, 0x8c, 0x20, 0x43, 0x07, + 0x08, 0x93, 0x48, 0x7f, 0x06, 0x2a, 0x14, 0x61, 0x1f, 0xc5, 0x35, 0xed, 0x3d, 0xed, 0x83, 0xb5, + 0xf6, 0xe6, 0x78, 0x54, 0xbf, 0x37, 0x84, 0x51, 0xbf, 0x65, 0xc9, 0x7b, 0xcb, 0x55, 0x00, 0xdd, + 0x01, 0xab, 0x34, 0xf1, 0x7c, 0x4e, 0xab, 0xbd, 0x25, 0xc0, 0xf7, 0xc7, 0xa3, 0x7a, 0x55, 0x81, + 0x95, 0xc5, 0x72, 0x33, 0x90, 0xfe, 0x18, 0x94, 0x31, 0x8c, 0x50, 0xed, 0x8e, 0x00, 0x57, 0xc7, + 0xa3, 0xfa, 0xba, 0x04, 0xf3, 0x5b, 0xcb, 0x15, 0x46, 0x91, 0xc0, 0x30, 0xf2, 0x48, 0xbf, 0x56, + 0x9e, 0x4b, 0x40, 0xdc, 0xf3, 0x04, 0xc4, 0x47, 0x6b, 0xef, 0xfb, 0x9b, 0xf3, 0x5d, 0x95, 0xcd, + 0x8f, 0x37, 0xe7, 0xbb, 0x8f, 0x17, 0x94, 0xa3, 0x2b, 0xf4, 0x35, 0x64, 0x3e, 0x5f, 0x81, 0x07, + 0xd3, 0x92, 0x5d, 0x44, 0x07, 0x04, 0x53, 0xa4, 0xb7, 0x41, 0x15, 0xa3, 0xd3, 0x23, 0x41, 0x3d, + 0x92, 0xb2, 0x64, 0x0d, 0x8c, 0xf1, 0xa8, 0xfe, 0x40, 0x65, 0x3a, 0x0d, 0xb0, 0xdc, 0x7b, 0x18, + 0x9d, 0x7e, 0xce, 0x2f, 0x84, 0x2f, 0xeb, 0x67, 0x0d, 0xbc, 0xdd, 0xa1, 0x41, 0x27, 0xc4, 0x6c, + 0x99, 0x52, 0x7e, 0x0c, 0x2a, 0x30, 0x22, 0x09, 0x66, 0xa2, 0x90, 0xeb, 0x2f, 0x76, 0x6c, 0xf5, + 0xce, 0xbc, 0x9b, 0xd2, 0xc6, 0xb3, 0xf7, 0x49, 0x88, 0xdb, 0xef, 0x5e, 0x8c, 0xea, 0xa5, 0x89, + 0x27, 0x49, 0xb3, 0x5c, 0xc5, 0x6f, 0x3d, 0x9f, 0xa9, 0xc9, 0xc3, 0x05, 0x35, 0x89, 0x42, 0xcc, + 0xac, 0x4d, 0x50, 0x55, 0xc9, 0xa6, 0x45, 0x48, 0x05, 0xb4, 0x93, 0x18, 0xbf, 0xd9, 0x02, 0xbc, + 0x24, 0xc6, 0x4a, 0x00, 0x4f, 0x36, 0x13, 0xf0, 0x9b, 0xea, 0xe9, 0x1e, 0xc4, 0x01, 0x7a, 0xed, + 0x47, 0xe1, 0x52, 0x3a, 0x9e, 0x80, 0x95, 0x7c, 0x43, 0x6f, 0x8c, 0x47, 0xf5, 0xbb, 0x12, 0xa9, + 0xde, 0x5b, 0x9a, 0xf5, 0x26, 0x58, 0xe3, 0xad, 0x00, 0xb9, 0x7f, 0xd5, 0xcf, 0x5b, 0xe3, 0x51, + 0x7d, 0x63, 0xd2, 0x25, 0xc2, 0x64, 0xb9, 0xab, 0x18, 0x9d, 0x8a, 0x2c, 0x8a, 0x77, 0xab, 0xc8, + 0xbc, 0x21, 0xf9, 0x35, 0xd9, 0xad, 0x13, 0x31, 0x99, 0xce, 0xdf, 0x35, 0x70, 0xbf, 0x43, 0x83, + 0x43, 0xc4, 0x44, 0xe7, 0x75, 0x10, 0x83, 0x3e, 0x64, 0x70, 0x19, 0xb1, 0x2e, 0x58, 0x8d, 0x14, + 0x4d, 0x3d, 0xdb, 0xa3, 0xc9, 0xb3, 0xe1, 0xe3, 0xec, 0xd9, 0x52, 0xdf, 0xed, 0x6d, 0xf5, 0x74, + 0x6a, 0xc6, 0x53, 0xb2, 0xe5, 0x66, 0x7e, 0x5a, 0x1f, 0xce, 0xa8, 0x7c, 0xb6, 0x40, 0x25, 0x45, + 0x4c, 0x0e, 0x64, 0x23, 0xf3, 0xf2, 0x08, 0x3c, 0xfc, 0x17, 0x41, 0x99, 0xe0, 0x0b, 0x4d, 0x3c, + 0xf6, 0x17, 0x03, 0x1f, 0x32, 0xf4, 0x99, 0xd8, 0x6c, 0xfa, 0x4b, 0xb0, 0x06, 0x13, 0xd6, 0x23, + 0x71, 0xc8, 0x86, 0x4a, 0x6f, 0xed, 0x8f, 0x5f, 0x1a, 0x5b, 0x4a, 0xc5, 0x6b, 0xdf, 0x8f, 0x11, + 0xa5, 0x87, 0x2c, 0x0e, 0x71, 0xe0, 0x4e, 0xa0, 0xfa, 0x01, 0xa8, 0xc8, 0xdd, 0xa8, 0x74, 0x3f, + 0xb1, 0xff, 0x7b, 0xe7, 0xdb, 0x32, 0x5e, 0xbb, 0xcc, 0x0b, 0xe0, 0x2a, 0x6e, 0xeb, 0x15, 0xd7, + 0x3a, 0xf1, 0xca, 0xe5, 0xbe, 0xbf, 0x40, 0x6e, 0x22, 0xb2, 0x6e, 0x48, 0xa2, 0xb5, 0x03, 0xb6, + 0x67, 0x94, 0xa4, 0x2a, 0x5f, 0xfc, 0xba, 0x02, 0xee, 0x74, 0x68, 0xa0, 0x27, 0x60, 0x3d, 0xbf, + 0x96, 0xed, 0xdb, 0x12, 0x9c, 0xde, 0x69, 0xc6, 0xcb, 0xe5, 0xf0, 0xd9, 0x0e, 0xfc, 0x1a, 0x94, + 0xc5, 0xee, 0x7a, 0x5a, 0x80, 0xcf, 0x81, 0x86, 0x53, 0x10, 0x98, 0x8f, 0x20, 0x96, 0x4b, 0x91, + 0x08, 0x1c, 0x58, 0x28, 0x42, 0x7e, 0x03, 0x88, 0xd2, 0xe5, 0xa6, 0xbf, 0x50, 0xe9, 0x26, 0xf8, + 0x62, 0xa5, 0x9b, 0x1f, 0x48, 0xfd, 0x07, 0x0d, 0x6c, 0xcc, 0x4d, 0xe3, 0x5e, 0x01, 0x67, 0xb3, + 0x24, 0xe3, 0xa3, 0xff, 0x41, 0xca, 0xd2, 0x38, 0x03, 0x77, 0xa7, 0x46, 0xa4, 0x48, 0xf9, 0xf2, + 0x04, 0xe3, 0xd5, 0x92, 0x84, 0x34, 0xb2, 0xb1, 0xf2, 0xdd, 0xcd, 0xf9, 0xae, 0xd6, 0xee, 0x5f, + 0x5c, 0x99, 0xda, 0xe5, 0x95, 0xa9, 0xfd, 0x75, 0x65, 0x6a, 0x3f, 0x5d, 0x9b, 0xa5, 0xcb, 0x6b, + 0xb3, 0xf4, 0xe7, 0xb5, 0x59, 0xfa, 0xd2, 0x0d, 0x42, 0xd6, 0x4b, 0x3c, 0xbb, 0x4b, 0x22, 0xe7, + 0x93, 0x34, 0xc6, 0xa7, 0xd0, 0xa3, 0x4e, 0x16, 0xb1, 0xd1, 0x25, 0x31, 0xca, 0x1f, 0x7b, 0x30, + 0xc4, 0x4e, 0x44, 0xfc, 0xa4, 0x8f, 0xe8, 0xf4, 0x48, 0xb1, 0xe1, 0x00, 0x51, 0xaf, 0x22, 0x7e, + 0xc9, 0xec, 0xfd, 0x13, 0x00, 0x00, 0xff, 0xff, 0x3b, 0xfb, 0x43, 0xd6, 0xde, 0x09, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/wasmx/types/params.go b/chain/wasmx/types/params.go index 8e1e5351..53bd56d5 100644 --- a/chain/wasmx/types/params.go +++ b/chain/wasmx/types/params.go @@ -19,7 +19,7 @@ const ( var ( DefaultIsExecutionEnabled = false DefaultMaxBeginBlockTotalGas uint64 = 42_000_000 // 42M - DefaultMaxContractGasLimit = DefaultMaxBeginBlockTotalGas / 12 // 3.5M + DefaultMaxContractGasLimit uint64 = DefaultMaxBeginBlockTotalGas / 12 // 3.5M DefaultMinGasPrice uint64 = 1_000_000_000 // 1B ) diff --git a/chain/wasmx/types/tx.pb.go b/chain/wasmx/types/tx.pb.go index 46b3d349..fbf519a8 100644 --- a/chain/wasmx/types/tx.pb.go +++ b/chain/wasmx/types/tx.pb.go @@ -644,58 +644,58 @@ func init() { func init() { proto.RegisterFile("injective/wasmx/v1/tx.proto", fileDescriptor_f7afe23baa925f70) } var fileDescriptor_f7afe23baa925f70 = []byte{ - // 801 bytes of a gzipped FileDescriptorProto + // 808 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x41, 0x4f, 0xdc, 0x46, - 0x14, 0x5e, 0x97, 0x05, 0xc1, 0x94, 0x0a, 0x70, 0xa1, 0xec, 0x7a, 0x8b, 0xa1, 0xae, 0x2a, 0x58, - 0x28, 0x6b, 0x41, 0x2b, 0x54, 0xed, 0x0d, 0x68, 0x0f, 0x55, 0x59, 0x09, 0xb9, 0xea, 0xa5, 0x97, - 0xed, 0xac, 0x3d, 0x0c, 0xae, 0xd6, 0x1e, 0xc7, 0x33, 0x4b, 0xd8, 0xe4, 0x96, 0x1c, 0x22, 0xe5, - 0x94, 0x5f, 0x91, 0x5b, 0x24, 0x0e, 0x39, 0xe5, 0x17, 0x70, 0x44, 0xc9, 0x25, 0xa7, 0x28, 0x82, - 0x48, 0xfc, 0x8d, 0xc8, 0x33, 0xe3, 0xd9, 0xe0, 0xb5, 0xc9, 0x46, 0x4a, 0x2e, 0x2b, 0xbf, 0xf7, - 0xbe, 0x99, 0xef, 0xfb, 0xde, 0xbc, 0xf1, 0x1a, 0xd4, 0xfc, 0xf0, 0x7f, 0xe4, 0x32, 0xff, 0x04, - 0xd9, 0x77, 0x21, 0x0d, 0x4e, 0xed, 0x93, 0x2d, 0x9b, 0x9d, 0x36, 0xa2, 0x98, 0x30, 0xa2, 0xeb, - 0xaa, 0xd8, 0xe0, 0xc5, 0xc6, 0xc9, 0x96, 0x31, 0x8f, 0x09, 0x26, 0xbc, 0x6c, 0x27, 0x4f, 0x02, - 0x69, 0x54, 0x31, 0x21, 0xb8, 0x8b, 0x6c, 0x1e, 0x75, 0x7a, 0x47, 0x36, 0x0c, 0xfb, 0x69, 0xc9, - 0x25, 0x34, 0x20, 0xb4, 0x2d, 0xd6, 0x88, 0x40, 0x96, 0x16, 0x45, 0x64, 0x07, 0x14, 0x27, 0xbc, - 0x01, 0xc5, 0xb2, 0x60, 0xe6, 0xa8, 0x12, 0x0a, 0x44, 0xfd, 0x87, 0x9c, 0x7a, 0x14, 0x93, 0x88, - 0x50, 0xd8, 0x95, 0x90, 0x39, 0x18, 0xf8, 0x21, 0xb1, 0xf9, 0xaf, 0x48, 0x59, 0x4f, 0x35, 0x50, - 0x69, 0x51, 0xfc, 0xc7, 0x29, 0x72, 0x7b, 0x0c, 0xed, 0x93, 0x90, 0xc5, 0xd0, 0x65, 0xfb, 0x24, - 0x88, 0x20, 0xd3, 0xbf, 0x03, 0x13, 0x14, 0x85, 0x1e, 0x8a, 0x2b, 0xda, 0x8a, 0xb6, 0x36, 0xe5, - 0xc8, 0x48, 0x37, 0xc0, 0xa4, 0x2b, 0x91, 0x95, 0xaf, 0x78, 0x45, 0xc5, 0xfa, 0x2c, 0x18, 0x0b, - 0x28, 0xae, 0x8c, 0xf1, 0x74, 0xf2, 0xa8, 0xcf, 0x83, 0xf1, 0xa3, 0x5e, 0xe8, 0xd1, 0x4a, 0x99, - 0xe7, 0x44, 0xd0, 0x6c, 0x3c, 0xb8, 0x3e, 0x5b, 0x97, 0x1b, 0x3e, 0xbe, 0x3e, 0x5b, 0x37, 0x85, - 0xe8, 0x22, 0x2d, 0xd6, 0x0e, 0x58, 0x29, 0xaa, 0x39, 0x88, 0x46, 0x24, 0xa4, 0x48, 0xd7, 0x41, - 0xd9, 0x83, 0x0c, 0x72, 0xb5, 0xd3, 0x0e, 0x7f, 0xb6, 0xde, 0x69, 0x60, 0xae, 0x45, 0xf1, 0x3f, - 0x91, 0x07, 0x07, 0xeb, 0x0a, 0x9d, 0xd5, 0xc1, 0x6c, 0xea, 0xa4, 0x0d, 0x3d, 0x2f, 0x46, 0x94, - 0x4a, 0x87, 0x33, 0x69, 0x7e, 0x57, 0xa4, 0xf5, 0x1a, 0x98, 0xc2, 0x90, 0xb6, 0xbb, 0x7e, 0xe0, - 0x33, 0x6e, 0xb7, 0xec, 0x4c, 0x62, 0x48, 0x0f, 0x92, 0x38, 0x2d, 0x46, 0xb1, 0xef, 0x22, 0xee, - 0x5b, 0x14, 0x0f, 0x93, 0x58, 0xaf, 0x83, 0x6f, 0xa0, 0x17, 0xf8, 0xa1, 0x62, 0x18, 0x4f, 0x18, - 0xf6, 0xca, 0xe7, 0x6f, 0x96, 0x35, 0x67, 0x9a, 0x97, 0x24, 0x49, 0x73, 0x35, 0xd3, 0xa5, 0x45, - 0xd5, 0xa5, 0x9b, 0x86, 0xac, 0x1a, 0xa8, 0x0e, 0x25, 0xd3, 0xbe, 0x58, 0x0f, 0x35, 0xf0, 0x6d, - 0x8b, 0xe2, 0xdd, 0x64, 0x3a, 0x3e, 0x6f, 0x17, 0x9a, 0xf5, 0x8c, 0xc0, 0xaa, 0x12, 0x98, 0x65, - 0xb3, 0x96, 0x40, 0x2d, 0x27, 0xad, 0x44, 0x3e, 0xd2, 0xc0, 0x42, 0x8b, 0xe2, 0xdf, 0x11, 0xfc, - 0x02, 0x32, 0x37, 0x32, 0x32, 0x6b, 0x4a, 0xe6, 0x30, 0x9f, 0xb5, 0x0c, 0x96, 0x72, 0x0b, 0x4a, - 0xea, 0x33, 0x0d, 0xcc, 0xa8, 0x6e, 0x1f, 0xc2, 0x18, 0x06, 0x54, 0xdf, 0x01, 0x53, 0xb0, 0xc7, - 0x8e, 0x49, 0xec, 0xb3, 0xbe, 0xd0, 0xb9, 0x57, 0x79, 0xf9, 0x7c, 0x73, 0x5e, 0x5e, 0x6e, 0x29, - 0xe4, 0x6f, 0x16, 0xfb, 0x21, 0x76, 0x06, 0x50, 0xfd, 0x37, 0x30, 0x11, 0xf1, 0x1d, 0xb8, 0xf4, - 0xaf, 0xb7, 0x8d, 0xc6, 0xf0, 0x0b, 0xa6, 0x21, 0x38, 0xf8, 0x84, 0x94, 0x1c, 0x89, 0x6f, 0xae, - 0x25, 0x9e, 0x06, 0x3b, 0x25, 0xb6, 0x16, 0x32, 0xe3, 0x21, 0xd6, 0x59, 0x55, 0xb0, 0x98, 0x49, - 0x29, 0x2b, 0xaf, 0xc4, 0x68, 0x38, 0x08, 0xfb, 0x94, 0xa1, 0xf8, 0xa3, 0x3d, 0xef, 0x83, 0x25, - 0xd5, 0xf3, 0x98, 0x2f, 0x8a, 0x21, 0xf3, 0x49, 0xd8, 0x8e, 0xd1, 0x9d, 0x1e, 0xa2, 0x4c, 0xba, - 0xb0, 0xf3, 0x5c, 0x0c, 0xfa, 0x38, 0x58, 0xe7, 0x88, 0x65, 0xd2, 0x5a, 0xcd, 0x2d, 0x86, 0xdc, - 0x32, 0x6a, 0x59, 0xf5, 0x72, 0xd4, 0xb2, 0xe9, 0xd4, 0xf4, 0xf6, 0x8b, 0x71, 0x30, 0xd6, 0xa2, - 0x58, 0x67, 0xe0, 0x7b, 0xd1, 0x14, 0x49, 0xd7, 0x4f, 0x91, 0xf2, 0x4c, 0x7f, 0xca, 0x73, 0x31, - 0x74, 0xcd, 0x8c, 0xcd, 0x91, 0x60, 0xea, 0x2d, 0xc5, 0x40, 0x25, 0xbd, 0x04, 0x59, 0x5e, 0x7d, - 0xb5, 0x60, 0xab, 0xec, 0xad, 0x31, 0xec, 0x11, 0x81, 0x8a, 0xf5, 0x1e, 0x30, 0x06, 0x13, 0x3d, - 0xc4, 0x5b, 0x2f, 0xd8, 0x6e, 0xf8, 0x12, 0x18, 0x5b, 0x23, 0x43, 0x15, 0xf7, 0x7d, 0xb0, 0x90, - 0xff, 0x07, 0xf3, 0x73, 0xc1, 0x5e, 0xb9, 0x68, 0xe3, 0xd7, 0x4f, 0x41, 0x2b, 0xf2, 0xff, 0xc0, - 0xf4, 0x8d, 0x8b, 0xfa, 0xe3, 0xad, 0xa7, 0x25, 0x40, 0xc6, 0xc6, 0x08, 0x20, 0xc5, 0xd0, 0x05, - 0xb3, 0x43, 0xf7, 0xa7, 0xe8, 0x20, 0xb3, 0xc0, 0xc2, 0x83, 0x2c, 0x1a, 0xde, 0x3d, 0x74, 0x7e, - 0x69, 0x6a, 0x17, 0x97, 0xa6, 0xf6, 0xf6, 0xd2, 0xd4, 0x9e, 0x5c, 0x99, 0xa5, 0x8b, 0x2b, 0xb3, - 0xf4, 0xfa, 0xca, 0x2c, 0xfd, 0xfb, 0x17, 0xf6, 0xd9, 0x71, 0xaf, 0xd3, 0x70, 0x49, 0x60, 0xff, - 0x99, 0x6e, 0x7a, 0x00, 0x3b, 0xd4, 0x56, 0x14, 0x9b, 0x2e, 0x89, 0xd1, 0x87, 0xe1, 0x31, 0xf4, - 0x43, 0x3b, 0x20, 0x5e, 0xaf, 0x8b, 0xa8, 0xfc, 0x6e, 0x60, 0xfd, 0x08, 0xd1, 0xce, 0x04, 0xff, - 0x3e, 0xf8, 0xe5, 0x7d, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4a, 0xd0, 0xc8, 0x8a, 0x0d, 0x09, 0x00, - 0x00, + 0x14, 0x5e, 0x97, 0x5d, 0x04, 0x53, 0x2a, 0xc0, 0x85, 0xb2, 0xeb, 0x2d, 0x86, 0xba, 0xaa, 0x60, + 0xa1, 0xac, 0x05, 0xad, 0x50, 0xb5, 0x37, 0xa0, 0x3d, 0x54, 0x65, 0x25, 0xe4, 0xaa, 0x97, 0x5e, + 0xb6, 0xb3, 0xf6, 0x30, 0xb8, 0x5a, 0x7b, 0x5c, 0xcf, 0x2c, 0x65, 0xdb, 0x4b, 0xd5, 0x1c, 0x22, + 0xe5, 0x94, 0x5f, 0x91, 0x5b, 0x24, 0x0e, 0xf9, 0x03, 0xb9, 0x71, 0x44, 0xc9, 0x25, 0xa7, 0x28, + 0x82, 0x48, 0xfc, 0x8d, 0xc8, 0x33, 0xe3, 0xd9, 0xe0, 0xb5, 0xc9, 0x46, 0x4a, 0x2e, 0x2b, 0xbf, + 0xf7, 0xbe, 0x99, 0xef, 0xfb, 0xde, 0xbc, 0xf1, 0x1a, 0xd4, 0xfd, 0xf0, 0x4f, 0xe4, 0x32, 0xff, + 0x14, 0xd9, 0x7f, 0x43, 0x1a, 0x9c, 0xd9, 0xa7, 0xdb, 0x36, 0x3b, 0x6b, 0x46, 0x31, 0x61, 0x44, + 0xd7, 0x55, 0xb1, 0xc9, 0x8b, 0xcd, 0xd3, 0x6d, 0x63, 0x01, 0x13, 0x4c, 0x78, 0xd9, 0x4e, 0x9e, + 0x04, 0xd2, 0xa8, 0x61, 0x42, 0x70, 0x0f, 0xd9, 0x3c, 0xea, 0xf6, 0x8f, 0x6d, 0x18, 0x0e, 0xd2, + 0x92, 0x4b, 0x68, 0x40, 0x68, 0x47, 0xac, 0x11, 0x81, 0x2c, 0x2d, 0x89, 0xc8, 0x0e, 0x28, 0x4e, + 0x78, 0x03, 0x8a, 0x65, 0xc1, 0xcc, 0x51, 0x25, 0x14, 0x88, 0xfa, 0x57, 0x39, 0xf5, 0x28, 0x26, + 0x11, 0xa1, 0xb0, 0x27, 0x21, 0xf3, 0x30, 0xf0, 0x43, 0x62, 0xf3, 0x5f, 0x91, 0xb2, 0x1e, 0x69, + 0xa0, 0xda, 0xa6, 0xf8, 0xa7, 0x33, 0xe4, 0xf6, 0x19, 0x3a, 0x20, 0x21, 0x8b, 0xa1, 0xcb, 0x0e, + 0x48, 0x10, 0x41, 0xa6, 0x7f, 0x01, 0x26, 0x29, 0x0a, 0x3d, 0x14, 0x57, 0xb5, 0x55, 0x6d, 0x7d, + 0xda, 0x91, 0x91, 0x6e, 0x80, 0x29, 0x57, 0x22, 0xab, 0x9f, 0xf0, 0x8a, 0x8a, 0xf5, 0x39, 0x30, + 0x11, 0x50, 0x5c, 0x9d, 0xe0, 0xe9, 0xe4, 0x51, 0x5f, 0x00, 0x95, 0xe3, 0x7e, 0xe8, 0xd1, 0x6a, + 0x99, 0xe7, 0x44, 0xd0, 0x6a, 0xfe, 0x7f, 0x73, 0xbe, 0x21, 0x37, 0x7c, 0x70, 0x73, 0xbe, 0x61, + 0x0a, 0xd1, 0x45, 0x5a, 0xac, 0x5d, 0xb0, 0x5a, 0x54, 0x73, 0x10, 0x8d, 0x48, 0x48, 0x91, 0xae, + 0x83, 0xb2, 0x07, 0x19, 0xe4, 0x6a, 0x67, 0x1c, 0xfe, 0x6c, 0xbd, 0xd6, 0xc0, 0x7c, 0x9b, 0xe2, + 0xdf, 0x22, 0x0f, 0x0e, 0xd7, 0x15, 0x3a, 0x6b, 0x80, 0xb9, 0xd4, 0x49, 0x07, 0x7a, 0x5e, 0x8c, + 0x28, 0x95, 0x0e, 0x67, 0xd3, 0xfc, 0x9e, 0x48, 0xeb, 0x75, 0x30, 0x8d, 0x21, 0xed, 0xf4, 0xfc, + 0xc0, 0x67, 0xdc, 0x6e, 0xd9, 0x99, 0xc2, 0x90, 0x1e, 0x26, 0x71, 0x5a, 0x8c, 0x62, 0xdf, 0x45, + 0xdc, 0xb7, 0x28, 0x1e, 0x25, 0xb1, 0xde, 0x00, 0x9f, 0x41, 0x2f, 0xf0, 0x43, 0xc5, 0x50, 0x49, + 0x18, 0xf6, 0xcb, 0x17, 0x2f, 0x57, 0x34, 0x67, 0x86, 0x97, 0x24, 0x49, 0x6b, 0x2d, 0xd3, 0xa5, + 0x25, 0xd5, 0xa5, 0xdb, 0x86, 0xac, 0x3a, 0xa8, 0x8d, 0x24, 0xd3, 0xbe, 0x58, 0xf7, 0x34, 0xf0, + 0x79, 0x9b, 0xe2, 0xbd, 0x64, 0x3a, 0x3e, 0x6c, 0x17, 0x5a, 0x8d, 0x8c, 0xc0, 0x9a, 0x12, 0x98, + 0x65, 0xb3, 0x96, 0x41, 0x3d, 0x27, 0xad, 0x44, 0xde, 0xd7, 0xc0, 0x62, 0x9b, 0xe2, 0x1f, 0x11, + 0xfc, 0x08, 0x32, 0x37, 0x33, 0x32, 0xeb, 0x4a, 0xe6, 0x28, 0x9f, 0xb5, 0x02, 0x96, 0x73, 0x0b, + 0x4a, 0xea, 0x63, 0x0d, 0xcc, 0xaa, 0x6e, 0x1f, 0xc1, 0x18, 0x06, 0x54, 0xdf, 0x05, 0xd3, 0xb0, + 0xcf, 0x4e, 0x48, 0xec, 0xb3, 0x81, 0xd0, 0xb9, 0x5f, 0x7d, 0xf6, 0x64, 0x6b, 0x41, 0x5e, 0x6e, + 0x29, 0xe4, 0x57, 0x16, 0xfb, 0x21, 0x76, 0x86, 0x50, 0xfd, 0x07, 0x30, 0x19, 0xf1, 0x1d, 0xb8, + 0xf4, 0x4f, 0x77, 0x8c, 0xe6, 0xe8, 0x0b, 0xa6, 0x29, 0x38, 0xf8, 0x84, 0x94, 0x1c, 0x89, 0x6f, + 0xad, 0x27, 0x9e, 0x86, 0x3b, 0x25, 0xb6, 0x16, 0x33, 0xe3, 0x21, 0xd6, 0x59, 0x35, 0xb0, 0x94, + 0x49, 0x29, 0x2b, 0xcf, 0xc5, 0x68, 0x38, 0x08, 0xfb, 0x94, 0xa1, 0xf8, 0x9d, 0x3d, 0x1f, 0x80, + 0x65, 0xd5, 0xf3, 0x98, 0x2f, 0x8a, 0x21, 0xf3, 0x49, 0xd8, 0x89, 0xd1, 0x5f, 0x7d, 0x44, 0x99, + 0x74, 0x61, 0xe7, 0xb9, 0x18, 0xf6, 0x71, 0xb8, 0xce, 0x11, 0xcb, 0xa4, 0xb5, 0xba, 0x5b, 0x0c, + 0xb9, 0x63, 0xd4, 0xb2, 0xea, 0xe5, 0xa8, 0x65, 0xd3, 0xa9, 0xe9, 0x9d, 0xa7, 0x15, 0x30, 0xd1, + 0xa6, 0x58, 0x67, 0xe0, 0x4b, 0xd1, 0x14, 0x49, 0x37, 0x48, 0x91, 0xf2, 0x4c, 0xbf, 0xc9, 0x73, + 0x31, 0x72, 0xcd, 0x8c, 0xad, 0xb1, 0x60, 0xea, 0x2d, 0xc5, 0x40, 0x35, 0xbd, 0x04, 0x59, 0x5e, + 0x7d, 0xad, 0x60, 0xab, 0xec, 0xad, 0x31, 0xec, 0x31, 0x81, 0x8a, 0xf5, 0x1f, 0x60, 0x0c, 0x27, + 0x7a, 0x84, 0xb7, 0x51, 0xb0, 0xdd, 0xe8, 0x25, 0x30, 0xb6, 0xc7, 0x86, 0x2a, 0xee, 0x7f, 0xc1, + 0x62, 0xfe, 0x1f, 0xcc, 0xb7, 0x05, 0x7b, 0xe5, 0xa2, 0x8d, 0xef, 0xdf, 0x07, 0xad, 0xc8, 0xff, + 0x00, 0x33, 0xb7, 0x2e, 0xea, 0xd7, 0x77, 0x9e, 0x96, 0x00, 0x19, 0x9b, 0x63, 0x80, 0x14, 0x43, + 0x0f, 0xcc, 0x8d, 0xdc, 0x9f, 0xa2, 0x83, 0xcc, 0x02, 0x0b, 0x0f, 0xb2, 0x68, 0x78, 0x8d, 0xca, + 0x7f, 0x37, 0xe7, 0x1b, 0xda, 0x3e, 0xba, 0xb8, 0x32, 0xb5, 0xcb, 0x2b, 0x53, 0x7b, 0x75, 0x65, + 0x6a, 0x0f, 0xaf, 0xcd, 0xd2, 0xe5, 0xb5, 0x59, 0x7a, 0x71, 0x6d, 0x96, 0x7e, 0xff, 0x05, 0xfb, + 0xec, 0xa4, 0xdf, 0x6d, 0xba, 0x24, 0xb0, 0x7f, 0x4e, 0xf7, 0x3e, 0x84, 0x5d, 0x6a, 0x2b, 0xa6, + 0x2d, 0x97, 0xc4, 0xe8, 0xed, 0xf0, 0x04, 0xfa, 0xa1, 0x1d, 0x10, 0xaf, 0xdf, 0x43, 0x54, 0x7e, + 0x3e, 0xb0, 0x41, 0x84, 0x68, 0x77, 0x92, 0x7f, 0x26, 0x7c, 0xf7, 0x26, 0x00, 0x00, 0xff, 0xff, + 0x2d, 0xeb, 0x38, 0x54, 0x14, 0x09, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/client/chain/chain.go b/client/chain/chain.go index c8d25ddc..aeb7c1bf 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -59,6 +59,8 @@ const ( defaultBroadcastTimeout = 40 * time.Second defaultTimeoutHeight = 20 defaultTimeoutHeightSyncInterval = 10 * time.Second + SpotOrderbook = "injective.exchange.v1beta1.EventOrderbookUpdate.spot_orderbooks" + DerivativeOrderbook = "injective.exchange.v1beta1.EventOrderbookUpdate.derivative_orderbooks" ) var ( diff --git a/client/chain/tx_factory.go b/client/chain/tx_factory.go index e70fef12..ec7e8284 100644 --- a/client/chain/tx_factory.go +++ b/client/chain/tx_factory.go @@ -14,5 +14,6 @@ func NewTxFactory(clientCtx client.Context) tx.Factory { WithSimulateAndExecute(true). WithGasAdjustment(1.5). WithChainID(clientCtx.ChainID). - WithSignMode(signing.SignMode_SIGN_MODE_DIRECT) + WithSignMode(signing.SignMode_SIGN_MODE_DIRECT). + WithFromName(clientCtx.GetFromName()) } diff --git a/examples/chain/auction/1_MsgBid/example.go b/examples/chain/auction/1_MsgBid/example.go index 705b626a..bae1cbd1 100644 --- a/examples/chain/auction/1_MsgBid/example.go +++ b/examples/chain/auction/1_MsgBid/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -59,7 +61,7 @@ func main() { round := uint64(9355) bidAmount := sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ } msg := &auctiontypes.MsgBid{ diff --git a/examples/chain/bank/1_MsgSend/example.go b/examples/chain/bank/1_MsgSend/example.go index a7a2e737..309ede31 100644 --- a/examples/chain/bank/1_MsgSend/example.go +++ b/examples/chain/bank/1_MsgSend/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -62,7 +64,7 @@ func main() { FromAddress: senderAddress.String(), ToAddress: "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", Amount: []sdktypes.Coin{{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000)}, // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000)}, // 1 INJ }, } diff --git a/examples/chain/bank/2_MsgMultiSend/example.go b/examples/chain/bank/2_MsgMultiSend/example.go index 77c8e0b5..62b69343 100644 --- a/examples/chain/bank/2_MsgMultiSend/example.go +++ b/examples/chain/bank/2_MsgMultiSend/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -66,13 +68,13 @@ func main() { { Address: senderAddress.String(), Coins: []sdktypes.Coin{{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000)}, // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000)}, // 1 INJ }, }, { Address: senderAddress.String(), Coins: []sdktypes.Coin{{ - Denom: "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", Amount: sdktypes.NewInt(1000000)}, // 1 USDT + Denom: "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", Amount: math.NewInt(1000000)}, // 1 USDT }, }, }, @@ -80,13 +82,13 @@ func main() { { Address: "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", Coins: []sdktypes.Coin{{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000)}, // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000)}, // 1 INJ }, }, { Address: "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", Coins: []sdktypes.Coin{{ - Denom: "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", Amount: sdktypes.NewInt(1000000)}, // 1 USDT + Denom: "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", Amount: math.NewInt(1000000)}, // 1 USDT }, }, }, diff --git a/examples/chain/distribution/4_FundCommunityPool/example.go b/examples/chain/distribution/4_FundCommunityPool/example.go index 9da1b1d7..01ff6b2e 100644 --- a/examples/chain/distribution/4_FundCommunityPool/example.go +++ b/examples/chain/distribution/4_FundCommunityPool/example.go @@ -5,6 +5,8 @@ import ( "fmt" "os" + "cosmossdk.io/math" + "github.com/cosmos/cosmos-sdk/types" distriutiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" @@ -57,7 +59,7 @@ func main() { panic(err) } - amount := types.NewCoin("inj", types.NewInt(1)) + amount := types.NewCoin("inj", math.NewInt(1)) msg := &distriutiontypes.MsgFundCommunityPool{ Amount: []types.Coin{amount}, diff --git a/examples/chain/exchange/13_MsgInstantBinaryOptionsMarketLaunch/example.go b/examples/chain/exchange/13_MsgInstantBinaryOptionsMarketLaunch/example.go index 475aed44..f9534a72 100644 --- a/examples/chain/exchange/13_MsgInstantBinaryOptionsMarketLaunch/example.go +++ b/examples/chain/exchange/13_MsgInstantBinaryOptionsMarketLaunch/example.go @@ -6,12 +6,12 @@ import ( "fmt" "os" + "cosmossdk.io/math" + exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" oracletypes "github.com/InjectiveLabs/sdk-go/chain/oracle/types" exchangeclient "github.com/InjectiveLabs/sdk-go/client/exchange" - "github.com/cosmos/cosmos-sdk/types" - "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" @@ -72,10 +72,10 @@ func main() { } quoteToken := marketsAssistant.AllTokens()["USDC"] - minPriceTickSize := types.MustNewDecFromStr("0.01") - minQuantityTickSize := types.MustNewDecFromStr("0.001") + minPriceTickSize := math.LegacyMustNewDecFromStr("0.01") + minQuantityTickSize := math.LegacyMustNewDecFromStr("0.001") - chainMinPriceTickSize := minPriceTickSize.Mul(types.NewDecFromIntWithPrec(types.NewInt(1), int64(quoteToken.Decimals))) + chainMinPriceTickSize := minPriceTickSize.Mul(math.LegacyNewDecFromIntWithPrec(math.NewInt(1), int64(quoteToken.Decimals))) chainMinQuantityTickSize := minQuantityTickSize msg := &exchangetypes.MsgInstantBinaryOptionsMarketLaunch{ @@ -85,8 +85,8 @@ func main() { OracleProvider: "UFC", OracleType: oracletypes.OracleType_Provider, OracleScaleFactor: 6, - MakerFeeRate: types.MustNewDecFromStr("0.0005"), - TakerFeeRate: types.MustNewDecFromStr("0.0010"), + MakerFeeRate: math.LegacyMustNewDecFromStr("0.0005"), + TakerFeeRate: math.LegacyMustNewDecFromStr("0.0010"), ExpirationTimestamp: 1680730982, SettlementTimestamp: 1690730982, Admin: senderAddress.String(), diff --git a/examples/chain/exchange/14_MsgSubaccountTransfer/example.go b/examples/chain/exchange/14_MsgSubaccountTransfer/example.go index 2bae28c4..797bf8e0 100644 --- a/examples/chain/exchange/14_MsgSubaccountTransfer/example.go +++ b/examples/chain/exchange/14_MsgSubaccountTransfer/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -62,7 +64,7 @@ func main() { SourceSubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", DestinationSubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000001", Amount: sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ }, } diff --git a/examples/chain/exchange/15_MsgExternalTransfer/example.go b/examples/chain/exchange/15_MsgExternalTransfer/example.go index 3481f248..c67b2ca9 100644 --- a/examples/chain/exchange/15_MsgExternalTransfer/example.go +++ b/examples/chain/exchange/15_MsgExternalTransfer/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -62,7 +64,7 @@ func main() { SourceSubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", DestinationSubaccountId: "0xbdaedec95d563fb05240d6e01821008454c24c36000000000000000000000000", Amount: sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ }, } diff --git a/examples/chain/exchange/17_MsgIncreasePositionMargin/example.go b/examples/chain/exchange/17_MsgIncreasePositionMargin/example.go index f27c5904..c239cbc0 100644 --- a/examples/chain/exchange/17_MsgIncreasePositionMargin/example.go +++ b/examples/chain/exchange/17_MsgIncreasePositionMargin/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -12,7 +14,6 @@ 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" ) func main() { @@ -63,7 +64,7 @@ func main() { MarketId: "0x4ca0f92fc28be0c9761326016b5a1a2177dd6375558365116b5bdda9abc229ce", SourceSubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", DestinationSubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", - Amount: cosmtypes.MustNewDecFromStr("100000000"), //100 USDT + Amount: math.LegacyMustNewDecFromStr("100000000"), //100 USDT } // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg diff --git a/examples/chain/exchange/1_MsgDeposit/example.go b/examples/chain/exchange/1_MsgDeposit/example.go index 33c274ce..f1f507b3 100644 --- a/examples/chain/exchange/1_MsgDeposit/example.go +++ b/examples/chain/exchange/1_MsgDeposit/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -61,7 +63,7 @@ func main() { Sender: senderAddress.String(), SubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", Amount: sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ }, } diff --git a/examples/chain/exchange/2_MsgWithdraw/example.go b/examples/chain/exchange/2_MsgWithdraw/example.go index 522fbacf..ab1f76db 100644 --- a/examples/chain/exchange/2_MsgWithdraw/example.go +++ b/examples/chain/exchange/2_MsgWithdraw/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -61,7 +63,7 @@ func main() { Sender: senderAddress.String(), SubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", Amount: sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ }, } diff --git a/examples/chain/exchange/3_MsgInstantSpotMarketLaunch/example.go b/examples/chain/exchange/3_MsgInstantSpotMarketLaunch/example.go index 1b34f23f..63f091a0 100644 --- a/examples/chain/exchange/3_MsgInstantSpotMarketLaunch/example.go +++ b/examples/chain/exchange/3_MsgInstantSpotMarketLaunch/example.go @@ -6,11 +6,11 @@ import ( "fmt" "os" + "cosmossdk.io/math" + exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" exchangeclient "github.com/InjectiveLabs/sdk-go/client/exchange" - "github.com/cosmos/cosmos-sdk/types" - "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" @@ -72,13 +72,13 @@ func main() { baseToken := marketsAssistant.AllTokens()["INJ"] quoteToken := marketsAssistant.AllTokens()["USDC"] - minPriceTickSize := types.MustNewDecFromStr("0.01") - minQuantityTickSize := types.MustNewDecFromStr("0.001") + minPriceTickSize := math.LegacyMustNewDecFromStr("0.01") + minQuantityTickSize := math.LegacyMustNewDecFromStr("0.001") - chainMinPriceTickSize := minPriceTickSize.Mul(types.NewDecFromIntWithPrec(types.NewInt(1), int64(quoteToken.Decimals))) - chainMinPriceTickSize = chainMinPriceTickSize.Quo(types.NewDecFromIntWithPrec(types.NewInt(1), int64(baseToken.Decimals))) + chainMinPriceTickSize := minPriceTickSize.Mul(math.LegacyNewDecFromIntWithPrec(math.NewInt(1), int64(quoteToken.Decimals))) + chainMinPriceTickSize = chainMinPriceTickSize.Quo(math.LegacyNewDecFromIntWithPrec(math.NewInt(1), int64(baseToken.Decimals))) - chainMinQuantityTickSize := minQuantityTickSize.Mul(types.NewDecFromIntWithPrec(types.NewInt(1), int64(baseToken.Decimals))) + chainMinQuantityTickSize := minQuantityTickSize.Mul(math.LegacyNewDecFromIntWithPrec(math.NewInt(1), int64(baseToken.Decimals))) msg := &exchangetypes.MsgInstantSpotMarketLaunch{ Sender: senderAddress.String(), diff --git a/examples/chain/exchange/4_MsgInstantPerpetualMarketLaunch/example.go b/examples/chain/exchange/4_MsgInstantPerpetualMarketLaunch/example.go index 890c2286..2de5f4fb 100644 --- a/examples/chain/exchange/4_MsgInstantPerpetualMarketLaunch/example.go +++ b/examples/chain/exchange/4_MsgInstantPerpetualMarketLaunch/example.go @@ -6,12 +6,12 @@ import ( "fmt" "os" + "cosmossdk.io/math" + exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" oracletypes "github.com/InjectiveLabs/sdk-go/chain/oracle/types" exchangeclient "github.com/InjectiveLabs/sdk-go/client/exchange" - "github.com/cosmos/cosmos-sdk/types" - "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" @@ -72,10 +72,10 @@ func main() { } quoteToken := marketsAssistant.AllTokens()["USDC"] - minPriceTickSize := types.MustNewDecFromStr("0.01") - minQuantityTickSize := types.MustNewDecFromStr("0.001") + minPriceTickSize := math.LegacyMustNewDecFromStr("0.01") + minQuantityTickSize := math.LegacyMustNewDecFromStr("0.001") - chainMinPriceTickSize := minPriceTickSize.Mul(types.NewDecFromIntWithPrec(types.NewInt(1), int64(quoteToken.Decimals))) + chainMinPriceTickSize := minPriceTickSize.Mul(math.LegacyNewDecFromIntWithPrec(math.NewInt(1), int64(quoteToken.Decimals))) chainMinQuantityTickSize := minQuantityTickSize msg := &exchangetypes.MsgInstantPerpetualMarketLaunch{ @@ -86,10 +86,10 @@ func main() { OracleQuote: "USDC", OracleScaleFactor: 6, OracleType: oracletypes.OracleType_Band, - MakerFeeRate: types.MustNewDecFromStr("-0.0001"), - TakerFeeRate: types.MustNewDecFromStr("0.001"), - InitialMarginRatio: types.MustNewDecFromStr("0.33"), - MaintenanceMarginRatio: types.MustNewDecFromStr("0.095"), + MakerFeeRate: math.LegacyMustNewDecFromStr("-0.0001"), + TakerFeeRate: math.LegacyMustNewDecFromStr("0.001"), + InitialMarginRatio: math.LegacyMustNewDecFromStr("0.33"), + MaintenanceMarginRatio: math.LegacyMustNewDecFromStr("0.095"), MinPriceTickSize: chainMinPriceTickSize, MinQuantityTickSize: chainMinQuantityTickSize, } diff --git a/examples/chain/exchange/5_MsgInstantExpiryFuturesMarketLaunch/example.go b/examples/chain/exchange/5_MsgInstantExpiryFuturesMarketLaunch/example.go index e1cba9c9..e02b7835 100644 --- a/examples/chain/exchange/5_MsgInstantExpiryFuturesMarketLaunch/example.go +++ b/examples/chain/exchange/5_MsgInstantExpiryFuturesMarketLaunch/example.go @@ -6,12 +6,12 @@ import ( "fmt" "os" + "cosmossdk.io/math" + exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" oracletypes "github.com/InjectiveLabs/sdk-go/chain/oracle/types" exchangeclient "github.com/InjectiveLabs/sdk-go/client/exchange" - "github.com/cosmos/cosmos-sdk/types" - "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" @@ -72,10 +72,10 @@ func main() { } quoteToken := marketsAssistant.AllTokens()["USDC"] - minPriceTickSize := types.MustNewDecFromStr("0.01") - minQuantityTickSize := types.MustNewDecFromStr("0.001") + minPriceTickSize := math.LegacyMustNewDecFromStr("0.01") + minQuantityTickSize := math.LegacyMustNewDecFromStr("0.001") - chainMinPriceTickSize := minPriceTickSize.Mul(types.NewDecFromIntWithPrec(types.NewInt(1), int64(quoteToken.Decimals))) + chainMinPriceTickSize := minPriceTickSize.Mul(math.LegacyNewDecFromIntWithPrec(math.NewInt(1), int64(quoteToken.Decimals))) chainMinQuantityTickSize := minQuantityTickSize msg := &exchangetypes.MsgInstantExpiryFuturesMarketLaunch{ @@ -87,10 +87,10 @@ func main() { OracleScaleFactor: 6, OracleType: oracletypes.OracleType_Band, Expiry: 2000000000, - MakerFeeRate: types.MustNewDecFromStr("-0.0001"), - TakerFeeRate: types.MustNewDecFromStr("0.001"), - InitialMarginRatio: types.MustNewDecFromStr("0.33"), - MaintenanceMarginRatio: types.MustNewDecFromStr("0.095"), + MakerFeeRate: math.LegacyMustNewDecFromStr("-0.0001"), + TakerFeeRate: math.LegacyMustNewDecFromStr("0.001"), + InitialMarginRatio: math.LegacyMustNewDecFromStr("0.33"), + MaintenanceMarginRatio: math.LegacyMustNewDecFromStr("0.095"), MinPriceTickSize: chainMinPriceTickSize, MinQuantityTickSize: chainMinQuantityTickSize, } diff --git a/examples/chain/exchange/query/14_SpotOrderbook/example.go b/examples/chain/exchange/query/14_SpotOrderbook/example.go index 8c127a4b..65c07040 100644 --- a/examples/chain/exchange/query/14_SpotOrderbook/example.go +++ b/examples/chain/exchange/query/14_SpotOrderbook/example.go @@ -5,11 +5,12 @@ import ( "encoding/json" "fmt" - "github.com/InjectiveLabs/sdk-go/chain/exchange/types" - cosmostypes "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" "os" + "github.com/InjectiveLabs/sdk-go/chain/exchange/types" + "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" @@ -64,8 +65,8 @@ func main() { marketId := "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" limit := uint64(2) orderSide := types.OrderSide_Buy - limitCumulativeNotional := cosmostypes.Dec{} - limitCumulativeQuantity := cosmostypes.Dec{} + limitCumulativeNotional := math.LegacyDec{} + limitCumulativeQuantity := math.LegacyDec{} res, err := chainClient.FetchChainSpotOrderbook(ctx, marketId, limit, orderSide, limitCumulativeNotional, limitCumulativeQuantity) if err != nil { diff --git a/examples/chain/exchange/query/22_DerivativeOrderbook/example.go b/examples/chain/exchange/query/22_DerivativeOrderbook/example.go index 9ab20712..5af14c85 100644 --- a/examples/chain/exchange/query/22_DerivativeOrderbook/example.go +++ b/examples/chain/exchange/query/22_DerivativeOrderbook/example.go @@ -5,7 +5,7 @@ import ( "encoding/json" "fmt" - cosmostypes "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/math" "os" @@ -62,7 +62,7 @@ func main() { marketId := "0x0611780ba69656949525013d947713300f56c37b6175e02f26bffa495c3208fe" limit := uint64(2) - limitCumulativeNotional := cosmostypes.Dec{} + limitCumulativeNotional := math.LegacyDec{} res, err := chainClient.FetchChainDerivativeOrderbook(ctx, marketId, limit, limitCumulativeNotional) if err != nil { diff --git a/examples/chain/ibc/transfer/1_MsgTransfer/example.go b/examples/chain/ibc/transfer/1_MsgTransfer/example.go index 587b0c91..52667bfa 100644 --- a/examples/chain/ibc/transfer/1_MsgTransfer/example.go +++ b/examples/chain/ibc/transfer/1_MsgTransfer/example.go @@ -5,6 +5,8 @@ import ( "fmt" "os" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -60,7 +62,7 @@ func main() { sourcePort := "transfer" sourceChannel := "channel-126" coin := sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ } sender := senderAddress.String() receiver := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" diff --git a/examples/chain/oracle/1_MsgRelayPriceFeedPrice/example.go b/examples/chain/oracle/1_MsgRelayPriceFeedPrice/example.go index f7988a87..72ced79e 100644 --- a/examples/chain/oracle/1_MsgRelayPriceFeedPrice/example.go +++ b/examples/chain/oracle/1_MsgRelayPriceFeedPrice/example.go @@ -3,15 +3,14 @@ package main import ( "fmt" "os" - "time" + "cosmossdk.io/math" "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" 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" ) func main() { @@ -57,7 +56,7 @@ func main() { panic(err) } - price := []cosmtypes.Dec{cosmtypes.MustNewDecFromStr("100")} + price := []math.LegacyDec{math.LegacyMustNewDecFromStr("100")} base := []string{"BAYC"} quote := []string{"WETH"} @@ -69,20 +68,11 @@ func main() { } // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg - err = chainClient.QueueBroadcastMsg(msg) + result, err := chainClient.SyncBroadcastMsg(msg) if err != nil { - fmt.Println(err) - } - - time.Sleep(time.Second * 5) - - gasFee, err := chainClient.GetGasFee() - - if err != nil { - fmt.Println(err) - return + panic(err) } - fmt.Println("gas fee:", gasFee, "INJ") + fmt.Printf("Broadcast result: %s\n", result) } diff --git a/examples/chain/peggy/1_MsgSendToEth/example.go b/examples/chain/peggy/1_MsgSendToEth/example.go index bee6838b..6bffa175 100644 --- a/examples/chain/peggy/1_MsgSendToEth/example.go +++ b/examples/chain/peggy/1_MsgSendToEth/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -60,10 +62,10 @@ func main() { ethDest := "0xaf79152ac5df276d9a8e1e2e22822f9713474902" amount := sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(5000000000000000000), // 5 INJ + Denom: "inj", Amount: math.NewInt(5000000000000000000), // 5 INJ } bridgeFee := sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(2000000000000000000), // 2 INJ + Denom: "inj", Amount: math.NewInt(2000000000000000000), // 2 INJ } msg := &peggytypes.MsgSendToEth{ diff --git a/examples/chain/staking/1_MsgDelegate/example.go b/examples/chain/staking/1_MsgDelegate/example.go index 0ba43c66..59e753e8 100644 --- a/examples/chain/staking/1_MsgDelegate/example.go +++ b/examples/chain/staking/1_MsgDelegate/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -61,7 +63,7 @@ func main() { msg.DelegatorAddress = senderAddress.String() msg.ValidatorAddress = "injvaloper14gy4acwjm96wd20awm9ar6j54lev5p7espy9ug" msg.Amount = sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ } // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg diff --git a/examples/chain/tokenfactory/2_MsgMint/example.go b/examples/chain/tokenfactory/2_MsgMint/example.go index c651e18f..f04b6899 100644 --- a/examples/chain/tokenfactory/2_MsgMint/example.go +++ b/examples/chain/tokenfactory/2_MsgMint/example.go @@ -5,6 +5,8 @@ import ( "fmt" "os" + "cosmossdk.io/math" + tokenfactorytypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" @@ -59,7 +61,7 @@ func main() { message.Sender = senderAddress.String() message.Amount = sdktypes.Coin{ Denom: "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test", - Amount: sdktypes.NewInt(1000000000), + Amount: math.NewInt(1000000000), } // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg diff --git a/examples/chain/tokenfactory/3_MsgBurn/example.go b/examples/chain/tokenfactory/3_MsgBurn/example.go index a342a851..53a6aae1 100644 --- a/examples/chain/tokenfactory/3_MsgBurn/example.go +++ b/examples/chain/tokenfactory/3_MsgBurn/example.go @@ -5,6 +5,8 @@ import ( "fmt" "os" + "cosmossdk.io/math" + tokenfactorytypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" @@ -59,7 +61,7 @@ func main() { message.Sender = senderAddress.String() message.Amount = sdktypes.Coin{ Denom: "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test", - Amount: sdktypes.NewInt(100), + Amount: math.NewInt(100), } // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg diff --git a/examples/exchange/meta/4_StreamKeepAlive/example.go b/examples/exchange/meta/4_StreamKeepAlive/example.go index bd007577..fb483320 100644 --- a/examples/exchange/meta/4_StreamKeepAlive/example.go +++ b/examples/exchange/meta/4_StreamKeepAlive/example.go @@ -29,7 +29,7 @@ func main() { case <-ctx.Done(): return default: - res, err := (*stream).Recv() + res, err := stream.Recv() if err != nil { fmt.Println(err) return diff --git a/examples/exchange/spot/8_StreamOrderbookUpdate/example.go b/examples/exchange/spot/8_StreamOrderbookUpdate/example.go index 9e0ba2d3..2d293f72 100644 --- a/examples/exchange/spot/8_StreamOrderbookUpdate/example.go +++ b/examples/exchange/spot/8_StreamOrderbookUpdate/example.go @@ -20,7 +20,7 @@ type MapOrderbook struct { func main() { network := common.LoadNetwork("devnet-1", "") - exchangeClient, err := exchangeclient.NewExchangeClient(network.ExchangeGrpcEndpoint) + exchangeClient, err := exchangeclient.NewExchangeClient(network) if err != nil { fmt.Println(err) panic(err) diff --git a/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.pb.go b/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.pb.go index d68f07d1..b118a8a5 100644 --- a/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.pb.go +++ b/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.pb.go @@ -8,7 +8,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v4.25.3 +// protoc v3.19.4 // source: goadesign_goagen_injective_accounts_rpc.proto package injective_accounts_rpcpb diff --git a/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go b/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go index fc873c15..ceb634f9 100644 --- a/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go +++ b/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v4.25.3 +// - protoc v3.19.4 // source: goadesign_goagen_injective_accounts_rpc.proto package injective_accounts_rpcpb diff --git a/exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.proto b/exchange/accounts_rpc/pb/injective_accounts_rpc.proto similarity index 100% rename from exchange/accounts_rpc/pb/goadesign_goagen_injective_accounts_rpc.proto rename to exchange/accounts_rpc/pb/injective_accounts_rpc.proto diff --git a/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.pb.go b/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.pb.go index d68f07d1..b118a8a5 100644 --- a/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.pb.go +++ b/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.pb.go @@ -8,7 +8,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v4.25.3 +// protoc v3.19.4 // source: goadesign_goagen_injective_accounts_rpc.proto package injective_accounts_rpcpb diff --git a/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go b/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go index fc873c15..ceb634f9 100644 --- a/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go +++ b/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v4.25.3 +// - protoc v3.19.4 // source: goadesign_goagen_injective_accounts_rpc.proto package injective_accounts_rpcpb diff --git a/exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.proto b/exchange/accounts_rpc/pb/pb/injective_accounts_rpc.proto similarity index 100% rename from exchange/accounts_rpc/pb/pb/goadesign_goagen_injective_accounts_rpc.proto rename to exchange/accounts_rpc/pb/pb/injective_accounts_rpc.proto diff --git a/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc.pb.go b/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc.pb.go index 97affccb..865f0882 100644 --- a/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc.pb.go +++ b/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc.pb.go @@ -8,7 +8,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v4.25.3 +// protoc v3.19.4 // source: goadesign_goagen_injective_auction_rpc.proto package injective_auction_rpcpb diff --git a/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc_grpc.pb.go b/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc_grpc.pb.go index 5614a0ec..4100ffbf 100644 --- a/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc_grpc.pb.go +++ b/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v4.25.3 +// - protoc v3.19.4 // source: goadesign_goagen_injective_auction_rpc.proto package injective_auction_rpcpb diff --git a/exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc.proto b/exchange/auction_rpc/pb/injective_auction_rpc.proto similarity index 100% rename from exchange/auction_rpc/pb/goadesign_goagen_injective_auction_rpc.proto rename to exchange/auction_rpc/pb/injective_auction_rpc.proto diff --git a/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.pb.go b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.pb.go index 7fbab22c..f9b93eb6 100644 --- a/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.pb.go +++ b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.pb.go @@ -8,7 +8,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v4.25.3 +// protoc v3.19.4 // source: goadesign_goagen_injective_campaign_rpc.proto package injective_campaign_rpcpb diff --git a/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc_grpc.pb.go b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc_grpc.pb.go index 6359121f..2b2b7828 100644 --- a/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc_grpc.pb.go +++ b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v4.25.3 +// - protoc v3.19.4 // source: goadesign_goagen_injective_campaign_rpc.proto package injective_campaign_rpcpb diff --git a/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.proto b/exchange/campaign_rpc/pb/injective_campaign_rpc.proto similarity index 100% rename from exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.proto rename to exchange/campaign_rpc/pb/injective_campaign_rpc.proto diff --git a/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.pb.go b/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.pb.go index 37996a86..37dc8fde 100644 --- a/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.pb.go +++ b/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.pb.go @@ -8,7 +8,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v4.25.3 +// protoc v3.19.4 // source: goadesign_goagen_injective_derivative_exchange_rpc.proto package injective_derivative_exchange_rpcpb diff --git a/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc_grpc.pb.go b/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc_grpc.pb.go index 7ebc3c29..3fe28e50 100644 --- a/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc_grpc.pb.go +++ b/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v4.25.3 +// - protoc v3.19.4 // source: goadesign_goagen_injective_derivative_exchange_rpc.proto package injective_derivative_exchange_rpcpb diff --git a/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.proto b/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.proto similarity index 100% rename from exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.proto rename to exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.proto diff --git a/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc.pb.go b/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc.pb.go index 70064bb9..9011281f 100644 --- a/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc.pb.go +++ b/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc.pb.go @@ -8,7 +8,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v4.25.3 +// protoc v3.19.4 // source: goadesign_goagen_injective_exchange_rpc.proto package injective_exchange_rpcpb @@ -206,6 +206,8 @@ type PrepareTxRequest struct { Fee *CosmosTxFee `protobuf:"bytes,6,opt,name=fee,proto3" json:"fee,omitempty"` // List of Cosmos proto3-encoded Msgs to include in a single tx Msgs [][]byte `protobuf:"bytes,7,rep,name=msgs,proto3" json:"msgs,omitempty"` + // The wrapper of the EIP712 message, V1 or V2 + Eip712Wrapper string `protobuf:"bytes,8,opt,name=eip712_wrapper,json=eip712Wrapper,proto3" json:"eip712_wrapper,omitempty"` } func (x *PrepareTxRequest) Reset() { @@ -289,6 +291,13 @@ func (x *PrepareTxRequest) GetMsgs() [][]byte { return nil } +func (x *PrepareTxRequest) GetEip712Wrapper() string { + if x != nil { + return x.Eip712Wrapper + } + return "" +} + type CosmosTxFee struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1277,7 +1286,7 @@ var file_goadesign_goagen_injective_exchange_rpc_proto_rawDesc = []byte{ 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x77, 0x4c, 0x6f, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x22, 0xf6, 0x01, 0x0a, 0x10, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x78, 0x52, + 0x70, 0x22, 0x9d, 0x02, 0x0a, 0x10, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, @@ -1292,173 +1301,175 @@ var file_goadesign_goagen_injective_exchange_rpc_proto_rawDesc = []byte{ 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x46, 0x65, 0x65, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x07, - 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x22, 0x7c, 0x0a, 0x0b, 0x43, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x46, 0x65, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x70, 0x72, 0x69, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x69, + 0x70, 0x37, 0x31, 0x32, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x65, 0x69, 0x70, 0x37, 0x31, 0x32, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, + 0x72, 0x22, 0x7c, 0x0a, 0x0b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x46, 0x65, 0x65, + 0x12, 0x38, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x43, + 0x6f, 0x69, 0x6e, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x61, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x67, 0x61, 0x73, 0x12, 0x21, 0x0a, 0x0c, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 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, 0xc3, 0x01, 0x0a, 0x11, + 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x20, + 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x22, 0x0a, + 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, + 0x67, 0x22, 0x85, 0x02, 0x0a, 0x12, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, + 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x02, 0x74, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x05, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x03, 0x67, 0x61, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 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, 0xc3, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, - 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, - 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, - 0x67, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, + 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x06, + 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, + 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, + 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, + 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, + 0x65, 0x72, 0x53, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x34, 0x0a, 0x0c, 0x43, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, + 0xd9, 0x01, 0x0a, 0x13, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, + 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, + 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, + 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x61, 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x77, 0x4c, 0x6f, 0x67, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xe0, 0x01, 0x0a, 0x16, + 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, + 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x25, 0x0a, 0x0e, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x48, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x12, 0x35, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x54, 0x78, 0x46, 0x65, 0x65, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x73, + 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x22, 0xfa, + 0x01, 0x0a, 0x17, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, + 0x67, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x5f, 0x6b, - 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, + 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, - 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, + 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, - 0x79, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, - 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x67, 0x22, 0x85, 0x02, 0x0a, 0x12, 0x42, - 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, - 0x74, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 0x78, 0x12, 0x12, 0x0a, 0x04, - 0x6d, 0x73, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, - 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, - 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x0a, - 0x09, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, - 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x67, 0x12, 0x12, - 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, - 0x64, 0x65, 0x22, 0x34, 0x0a, 0x0c, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, 0x62, 0x4b, - 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0xd9, 0x01, 0x0a, 0x13, 0x42, 0x72, 0x6f, - 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, - 0x07, 0x72, 0x61, 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x72, 0x61, 0x77, 0x4c, 0x6f, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x22, 0xe0, 0x01, 0x0a, 0x16, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x74, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x35, 0x0a, 0x03, - 0x66, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x79, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, + 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x11, 0x66, 0x65, + 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0e, 0x66, 0x65, 0x65, + 0x50, 0x61, 0x79, 0x65, 0x72, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x22, 0xae, 0x01, 0x0a, 0x18, + 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, + 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 0x78, 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x46, 0x65, 0x65, 0x52, 0x03, - 0x66, 0x65, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0c, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x17, 0x50, 0x72, 0x65, 0x70, - 0x61, 0x72, 0x65, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x02, 0x74, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x4d, 0x6f, 0x64, 0x65, - 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, - 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, - 0x53, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, - 0x5f, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, + 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xdf, 0x01, 0x0a, + 0x19, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, + 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x61, 0x77, 0x5f, 0x6c, + 0x6f, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x77, 0x4c, 0x6f, 0x67, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x14, + 0x0a, 0x12, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x83, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, 0x50, + 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x11, 0x66, 0x65, 0x65, + 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0e, 0x66, 0x65, 0x65, 0x50, + 0x61, 0x79, 0x65, 0x72, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x32, 0x8c, 0x05, 0x0a, 0x14, 0x49, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x52, 0x50, 0x43, 0x12, 0x54, 0x0a, 0x05, 0x47, 0x65, 0x74, 0x54, 0x78, 0x12, 0x24, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x54, + 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x09, 0x50, 0x72, 0x65, + 0x70, 0x61, 0x72, 0x65, 0x54, 0x78, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, + 0x65, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x42, + 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0f, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x43, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x12, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x11, 0x42, 0x72, 0x6f, 0x61, 0x64, + 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x12, 0x30, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, - 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0e, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x50, 0x75, - 0x62, 0x4b, 0x65, 0x79, 0x22, 0xae, 0x01, 0x0a, 0x18, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, - 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, - 0x78, 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x25, - 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xdf, 0x01, 0x0a, 0x19, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, - 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, - 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x68, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, - 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, - 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x17, 0x0a, 0x07, 0x72, 0x61, 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x72, 0x61, 0x77, 0x4c, 0x6f, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x14, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x46, 0x65, - 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x83, 0x01, - 0x0a, 0x13, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, - 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, - 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x50, 0x75, 0x62, - 0x4b, 0x65, 0x79, 0x52, 0x0e, 0x66, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x50, 0x75, 0x62, - 0x4b, 0x65, 0x79, 0x32, 0x8c, 0x05, 0x0a, 0x14, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x50, 0x43, 0x12, 0x54, 0x0a, 0x05, - 0x47, 0x65, 0x74, 0x54, 0x78, 0x12, 0x24, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, - 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x69, 0x6e, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, + 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, + 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, + 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x1b, 0x5a, 0x19, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x60, 0x0a, 0x09, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x78, 0x12, - 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, - 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, - 0x74, 0x54, 0x78, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x72, 0x6f, - 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, - 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0f, - 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x12, - 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x78, 0x0a, 0x11, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x54, 0x78, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, - 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x54, 0x78, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x47, 0x65, - 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, - 0x65, 0x74, 0x46, 0x65, 0x65, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x42, 0x1b, 0x5a, 0x19, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc_grpc.pb.go b/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc_grpc.pb.go index 743899c7..c7e2827d 100644 --- a/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc_grpc.pb.go +++ b/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v4.25.3 +// - protoc v3.19.4 // source: goadesign_goagen_injective_exchange_rpc.proto package injective_exchange_rpcpb diff --git a/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc.proto b/exchange/exchange_rpc/pb/injective_exchange_rpc.proto similarity index 98% rename from exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc.proto rename to exchange/exchange_rpc/pb/injective_exchange_rpc.proto index 0788c6d3..54536b59 100644 --- a/exchange/exchange_rpc/pb/goadesign_goagen_injective_exchange_rpc.proto +++ b/exchange/exchange_rpc/pb/injective_exchange_rpc.proto @@ -67,6 +67,8 @@ message PrepareTxRequest { CosmosTxFee fee = 6; // List of Cosmos proto3-encoded Msgs to include in a single tx repeated bytes msgs = 7; + // The wrapper of the EIP712 message, V1 or V2 + string eip712_wrapper = 8; } message CosmosTxFee { diff --git a/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc.pb.go b/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc.pb.go index 2295464b..d59b7740 100644 --- a/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc.pb.go +++ b/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc.pb.go @@ -8,7 +8,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v4.25.3 +// protoc v3.19.4 // source: goadesign_goagen_injective_explorer_rpc.proto package injective_explorer_rpcpb diff --git a/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc_grpc.pb.go b/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc_grpc.pb.go index 79f668a5..bbcb920f 100644 --- a/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc_grpc.pb.go +++ b/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v4.25.3 +// - protoc v3.19.4 // source: goadesign_goagen_injective_explorer_rpc.proto package injective_explorer_rpcpb diff --git a/exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc.proto b/exchange/explorer_rpc/pb/injective_explorer_rpc.proto similarity index 100% rename from exchange/explorer_rpc/pb/goadesign_goagen_injective_explorer_rpc.proto rename to exchange/explorer_rpc/pb/injective_explorer_rpc.proto diff --git a/exchange/health_rpc/pb/goadesign_goagen_health.pb.go b/exchange/health_rpc/pb/goadesign_goagen_health.pb.go index b7680d05..1a3968ae 100644 --- a/exchange/health_rpc/pb/goadesign_goagen_health.pb.go +++ b/exchange/health_rpc/pb/goadesign_goagen_health.pb.go @@ -8,7 +8,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v4.25.3 +// protoc v3.19.4 // source: goadesign_goagen_health.proto package api_v1pb diff --git a/exchange/health_rpc/pb/goadesign_goagen_health_grpc.pb.go b/exchange/health_rpc/pb/goadesign_goagen_health_grpc.pb.go index f456f4f5..193c66cf 100644 --- a/exchange/health_rpc/pb/goadesign_goagen_health_grpc.pb.go +++ b/exchange/health_rpc/pb/goadesign_goagen_health_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v4.25.3 +// - protoc v3.19.4 // source: goadesign_goagen_health.proto package api_v1pb diff --git a/exchange/health_rpc/pb/goadesign_goagen_health.proto b/exchange/health_rpc/pb/health.proto similarity index 100% rename from exchange/health_rpc/pb/goadesign_goagen_health.proto rename to exchange/health_rpc/pb/health.proto diff --git a/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.pb.go b/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.pb.go index 3759dbcd..400542ac 100644 --- a/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.pb.go +++ b/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.pb.go @@ -8,7 +8,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v4.25.3 +// protoc v3.19.4 // source: goadesign_goagen_injective_insurance_rpc.proto package injective_insurance_rpcpb diff --git a/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc_grpc.pb.go b/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc_grpc.pb.go index 1361dc6b..5a87cd1a 100644 --- a/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc_grpc.pb.go +++ b/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v4.25.3 +// - protoc v3.19.4 // source: goadesign_goagen_injective_insurance_rpc.proto package injective_insurance_rpcpb diff --git a/exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.proto b/exchange/insurance_rpc/pb/injective_insurance_rpc.proto similarity index 100% rename from exchange/insurance_rpc/pb/goadesign_goagen_injective_insurance_rpc.proto rename to exchange/insurance_rpc/pb/injective_insurance_rpc.proto diff --git a/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc.pb.go b/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc.pb.go index 57610fcc..e6f93ea1 100644 --- a/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc.pb.go +++ b/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc.pb.go @@ -8,7 +8,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v4.25.3 +// protoc v3.19.4 // source: goadesign_goagen_injective_meta_rpc.proto package injective_meta_rpcpb diff --git a/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc_grpc.pb.go b/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc_grpc.pb.go index 5928b6b7..3266ca1a 100644 --- a/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc_grpc.pb.go +++ b/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v4.25.3 +// - protoc v3.19.4 // source: goadesign_goagen_injective_meta_rpc.proto package injective_meta_rpcpb diff --git a/exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc.proto b/exchange/meta_rpc/pb/injective_meta_rpc.proto similarity index 100% rename from exchange/meta_rpc/pb/goadesign_goagen_injective_meta_rpc.proto rename to exchange/meta_rpc/pb/injective_meta_rpc.proto diff --git a/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc.pb.go b/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc.pb.go index 7af894ce..3308dfee 100644 --- a/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc.pb.go +++ b/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc.pb.go @@ -8,7 +8,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v4.25.3 +// protoc v3.19.4 // source: goadesign_goagen_injective_oracle_rpc.proto package injective_oracle_rpcpb diff --git a/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc_grpc.pb.go b/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc_grpc.pb.go index 342df40a..4c24eee8 100644 --- a/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc_grpc.pb.go +++ b/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v4.25.3 +// - protoc v3.19.4 // source: goadesign_goagen_injective_oracle_rpc.proto package injective_oracle_rpcpb diff --git a/exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc.proto b/exchange/oracle_rpc/pb/injective_oracle_rpc.proto similarity index 100% rename from exchange/oracle_rpc/pb/goadesign_goagen_injective_oracle_rpc.proto rename to exchange/oracle_rpc/pb/injective_oracle_rpc.proto diff --git a/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.pb.go b/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.pb.go index 7f9f25db..4a6d0331 100644 --- a/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.pb.go +++ b/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.pb.go @@ -8,7 +8,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v4.25.3 +// protoc v3.19.4 // source: goadesign_goagen_injective_portfolio_rpc.proto package injective_portfolio_rpcpb diff --git a/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc_grpc.pb.go b/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc_grpc.pb.go index ba8d525d..86b88e4d 100644 --- a/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc_grpc.pb.go +++ b/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v4.25.3 +// - protoc v3.19.4 // source: goadesign_goagen_injective_portfolio_rpc.proto package injective_portfolio_rpcpb diff --git a/exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.proto b/exchange/portfolio_rpc/pb/injective_portfolio_rpc.proto similarity index 100% rename from exchange/portfolio_rpc/pb/goadesign_goagen_injective_portfolio_rpc.proto rename to exchange/portfolio_rpc/pb/injective_portfolio_rpc.proto diff --git a/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.pb.go b/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.pb.go index c73b808a..35a5cd4e 100644 --- a/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.pb.go +++ b/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.pb.go @@ -8,7 +8,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v4.25.3 +// protoc v3.19.4 // source: goadesign_goagen_injective_spot_exchange_rpc.proto package injective_spot_exchange_rpcpb diff --git a/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc_grpc.pb.go b/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc_grpc.pb.go index 4032d51d..e276906a 100644 --- a/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc_grpc.pb.go +++ b/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v4.25.3 +// - protoc v3.19.4 // source: goadesign_goagen_injective_spot_exchange_rpc.proto package injective_spot_exchange_rpcpb diff --git a/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.proto b/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.proto similarity index 100% rename from exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.proto rename to exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.proto diff --git a/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.pb.go b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.pb.go index fa06c65a..0dc68f16 100644 --- a/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.pb.go +++ b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.pb.go @@ -8,7 +8,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v4.25.3 +// protoc v3.19.4 // source: goadesign_goagen_injective_trading_rpc.proto package injective_trading_rpcpb diff --git a/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc_grpc.pb.go b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc_grpc.pb.go index ec918fd5..a48d438a 100644 --- a/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc_grpc.pb.go +++ b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v4.25.3 +// - protoc v3.19.4 // source: goadesign_goagen_injective_trading_rpc.proto package injective_trading_rpcpb diff --git a/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.proto b/exchange/trading_rpc/pb/injective_trading_rpc.proto similarity index 100% rename from exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.proto rename to exchange/trading_rpc/pb/injective_trading_rpc.proto diff --git a/go.mod b/go.mod index a2b71fba..3082653d 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/btcsuite/btcd/btcutil v1.1.3 github.com/cometbft/cometbft v0.38.7 github.com/cosmos/cosmos-proto v1.0.0-beta.5 - github.com/cosmos/cosmos-sdk v0.50.6 + github.com/cosmos/cosmos-sdk v0.50.7 github.com/cosmos/gogoproto v1.4.12 github.com/cosmos/ibc-go/modules/capability v1.0.0 github.com/cosmos/ibc-go/v8 v8.2.0 @@ -31,7 +31,7 @@ require ( github.com/shopspring/decimal v1.2.0 github.com/stretchr/testify v1.9.0 github.com/tyler-smith/go-bip39 v1.1.0 - golang.org/x/crypto v0.22.0 + golang.org/x/crypto v0.24.0 google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de google.golang.org/grpc v1.63.2 google.golang.org/protobuf v1.33.0 @@ -41,7 +41,7 @@ require ( ) require ( - cosmossdk.io/api v0.7.4 // indirect + cosmossdk.io/api v0.7.5 // indirect cosmossdk.io/collections v0.4.0 // indirect cosmossdk.io/core v0.11.0 // indirect cosmossdk.io/depinject v1.0.0-alpha.4 // indirect @@ -51,9 +51,19 @@ require ( github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect github.com/CosmWasm/wasmvm/v2 v2.0.0 // indirect + github.com/DataDog/appsec-internal-go v1.5.0 // indirect + github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0 // indirect + github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1 // indirect github.com/DataDog/datadog-go v3.2.0+incompatible // indirect + github.com/DataDog/datadog-go/v5 v5.3.0 // indirect + github.com/DataDog/go-libddwaf/v2 v2.3.2 // indirect + github.com/DataDog/go-tuf v1.0.2-0.5.2 // indirect + github.com/DataDog/sketches-go v1.4.2 // indirect github.com/DataDog/zstd v1.5.5 // indirect + github.com/InjectiveLabs/metrics v0.0.10 // indirect + github.com/Microsoft/go-winio v0.6.1 // indirect github.com/StackExchange/wmi v1.2.1 // indirect + github.com/alexcesaro/statsd v2.0.0+incompatible // indirect github.com/aws/aws-sdk-go v1.44.327 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect @@ -91,6 +101,7 @@ require ( github.com/distribution/reference v0.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/dvsekhvalnov/jose2go v1.6.0 // indirect + github.com/ebitengine/purego v0.6.0-alpha.5 // indirect github.com/emicklei/dot v1.6.1 // indirect github.com/fatih/color v1.15.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect @@ -100,6 +111,8 @@ require ( github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect + github.com/go-logr/logr v1.4.1 // indirect + github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect github.com/go-stack/stack v1.8.1 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect @@ -116,9 +129,11 @@ require ( github.com/grpc-ecosystem/go-grpc-middleware v1.4.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/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-hclog v1.5.0 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/go-metrics v0.5.3 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/go-plugin v1.5.2 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect github.com/hashicorp/hcl v1.0.1-vault-5 // indirect @@ -149,8 +164,10 @@ require ( github.com/oklog/run v1.1.0 // indirect github.com/oklog/ulid v1.3.1 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect + github.com/outcaste-io/ristretto v0.2.3 // indirect github.com/pelletier/go-toml/v2 v2.1.0 // indirect github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67 // indirect + github.com/philhofer/fwd v1.1.2 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.1 // indirect @@ -164,8 +181,9 @@ require ( github.com/sagikazarmark/locafero v0.4.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect + github.com/secure-systems-lab/go-securesystemslib v0.7.0 // indirect github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect - github.com/sirupsen/logrus v1.9.0 // indirect + github.com/sirupsen/logrus v1.9.3 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.11.0 // indirect github.com/spf13/cast v1.6.0 // indirect @@ -176,20 +194,30 @@ require ( github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect github.com/tendermint/go-amino v0.16.0 // indirect github.com/tidwall/btree v1.7.0 // indirect + github.com/tinylib/msgp v1.1.8 // indirect github.com/tklauser/go-sysconf v0.3.10 // indirect github.com/tklauser/numcpus v0.4.0 // indirect github.com/zondax/hid v0.9.2 // indirect github.com/zondax/ledger-go v0.14.3 // indirect go.etcd.io/bbolt v1.3.8 // indirect + go.opentelemetry.io/otel v1.24.0 // indirect + go.opentelemetry.io/otel/metric v1.24.0 // indirect + go.opentelemetry.io/otel/trace v1.24.0 // indirect + go.uber.org/atomic v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0 // indirect - golang.org/x/net v0.24.0 // indirect + golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 // indirect + golang.org/x/mod v0.18.0 // indirect + golang.org/x/net v0.26.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/term v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/time v0.5.0 // indirect + golang.org/x/tools v0.22.0 // indirect + golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda // indirect + gopkg.in/DataDog/dd-trace-go.v1 v1.62.0 // indirect gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect gopkg.in/yaml.v3 v3.0.1 // indirect nhooyr.io/websocket v1.8.6 // indirect @@ -207,9 +235,9 @@ replace ( github.com/bandprotocol/bandchain-packet => github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1 github.com/cometbft/cometbft => github.com/InjectiveLabs/cometbft v0.38.7-0.20240530121154-e6f77c2eab89 - github.com/cosmos/cosmos-sdk => github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240530121542-f786214f432c + github.com/cosmos/cosmos-sdk => github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240701215658-e99dd7f94758 github.com/cosmos/ibc-apps/modules/ibc-hooks/v8 => github.com/InjectiveLabs/ibc-apps/modules/ibc-hooks/v8 v8.0.0-20240507173420-7acb85b883f5 - github.com/cosmos/ibc-go/v8 => github.com/InjectiveLabs/ibc-go/v8 v8.3.2-0.20240530084055-772bafc23563 + github.com/cosmos/ibc-go/v8 => github.com/InjectiveLabs/ibc-go/v8 v8.3.3-0.20240620175254-376c45360bb0 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 40c5e343..02b998c2 100644 --- a/go.sum +++ b/go.sum @@ -10,8 +10,8 @@ cloud.google.com/go/iam v1.1.6 h1:bEa06k05IO4f4uJonbB5iAgKTPpABy1ayxaIZV/GHVc= cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI= cloud.google.com/go/storage v1.36.0 h1:P0mOkAcaJxhCTvAkMhxMfrTKiNcub4YmmPBtlhAyTr8= cloud.google.com/go/storage v1.36.0/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= -cosmossdk.io/api v0.7.4 h1:sPo8wKwCty1lht8kgL3J7YL1voJywP3YWuA5JKkBz30= -cosmossdk.io/api v0.7.4/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= +cosmossdk.io/api v0.7.5 h1:eMPTReoNmGUm8DeiQL9DyM8sYDjEhWzL1+nLbI9DqtQ= +cosmossdk.io/api v0.7.5/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= cosmossdk.io/client/v2 v2.0.0-beta.1 h1:XkHh1lhrLYIT9zKl7cIOXUXg2hdhtjTPBUfqERNA1/Q= cosmossdk.io/client/v2 v2.0.0-beta.1/go.mod h1:JEUSu9moNZQ4kU3ir1DKD5eU4bllmAexrGWjmb9k8qU= cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= @@ -41,16 +41,32 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/CosmWasm/wasmvm/v2 v2.0.0 h1:IqNCI2G0mvs7K6ej17/I28805rVqnu+Y1cWDqIdwb08= github.com/CosmWasm/wasmvm/v2 v2.0.0/go.mod h1:su9lg5qLr7adV95eOfzjZWkGiky8WNaNIHDr7Fpu7Ck= +github.com/DataDog/appsec-internal-go v1.5.0 h1:8kS5zSx5T49uZ8dZTdT19QVAvC/B8ByyZdhQKYQWHno= +github.com/DataDog/appsec-internal-go v1.5.0/go.mod h1:pEp8gjfNLtEOmz+iZqC8bXhu0h4k7NUsW/qiQb34k1U= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0 h1:bUMSNsw1iofWiju9yc1f+kBd33E3hMJtq9GuU602Iy8= +github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0/go.mod h1:HzySONXnAgSmIQfL6gOv9hWprKJkx8CicuXuUbmgWfo= +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1 h1:5nE6N3JSs2IG3xzMthNFhXfOaXlrsdgqmJ73lndFf8c= +github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1/go.mod h1:Vc+snp0Bey4MrrJyiV2tVxxJb6BmLomPvN1RgAvjGaQ= github.com/DataDog/datadog-go v3.2.0+incompatible h1:qSG2N4FghB1He/r2mFrWKCaL7dXCilEuNEeAn20fdD4= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/DataDog/datadog-go/v5 v5.3.0 h1:2q2qjFOb3RwAZNU+ez27ZVDwErJv5/VpbBPprz7Z+s8= +github.com/DataDog/datadog-go/v5 v5.3.0/go.mod h1:XRDJk1pTc00gm+ZDiBKsjh7oOOtJfYfglVCmFb8C2+Q= +github.com/DataDog/go-libddwaf/v2 v2.3.2 h1:pdi9xjWW57IpOpTeOyPuNveEDFLmmInsHDeuZk3TY34= +github.com/DataDog/go-libddwaf/v2 v2.3.2/go.mod h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE= +github.com/DataDog/go-tuf v1.0.2-0.5.2 h1:EeZr937eKAWPxJ26IykAdWA4A0jQXJgkhUjqEI/w7+I= +github.com/DataDog/go-tuf v1.0.2-0.5.2/go.mod h1:zBcq6f654iVqmkk8n2Cx81E1JnNTMOAx1UEO/wZR+P0= +github.com/DataDog/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4= +github.com/DataDog/gostackparse v0.7.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= +github.com/DataDog/sketches-go v1.4.2 h1:gppNudE9d19cQ98RYABOetxIhpTCl4m7CnbRZjvVA/o= +github.com/DataDog/sketches-go v1.4.2/go.mod h1:xJIXldczJyyjnbDop7ZZcLxJdV3+7Kra7H1KMgpgkLk= github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1 h1:ZnvCV/lzjWmBwuGbkAz+okucfJEyEzkU9GYK3tKU9cU= github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1/go.mod h1:QELTDYiwnbAqIgTF9zeKr+hVlK6eVyt6Nxmh6/1mmzQ= github.com/InjectiveLabs/cometbft v0.38.7-0.20240530121154-e6f77c2eab89 h1:Bd0zseWj0r5WFVWfSkYOIkJEfSWWMPGxlkLTxdhfOv4= github.com/InjectiveLabs/cometbft v0.38.7-0.20240530121154-e6f77c2eab89/go.mod h1:8rSPxzUJYquCN8uuBgbUHOMg2KAwvr7CyUw+6ukO4nw= -github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240530121542-f786214f432c h1:BFzkjbIeeB/Fu07lg8MqfPSJj+pLpRjo9SIxQD5LZvI= -github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240530121542-f786214f432c/go.mod h1:iylzgvhuWvrLrI2udUARCGSqfo5zFNVe5iZzjuxju3E= +github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240701215658-e99dd7f94758 h1:kltEChIugO4nhFi/kCzSF4cd1J40A8RK4icO8SPqch4= +github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240701215658-e99dd7f94758/go.mod h1:hqnVyiD7QUNoq8Hu8992JLo9soJIXCF8Vcv+aT1Njn0= github.com/InjectiveLabs/cosmos-sdk/store v1.1.1-0.20240522173845-46ef88f66790 h1:F4FYZR9rLg9igzxitFdLU5s7ZU9XS0wUB7DbkBOVXc8= github.com/InjectiveLabs/cosmos-sdk/store v1.1.1-0.20240522173845-46ef88f66790/go.mod h1:ZW4eIE98wivInyQyhxU2nHqEielc/iZAcr41qNyWSrw= github.com/InjectiveLabs/cosmos-sdk/x/evidence v0.1.1-0.20240522173845-46ef88f66790 h1:vbSB6IBNnrVw3s/odYJiF1MUi2JL6PnjgNEBkTM/sBI= @@ -59,13 +75,18 @@ github.com/InjectiveLabs/cosmos-sdk/x/feegrant v0.1.1-0.20240522173845-46ef88f66 github.com/InjectiveLabs/cosmos-sdk/x/feegrant v0.1.1-0.20240522173845-46ef88f66790/go.mod h1:Tnwfp0+AmtSF3sktmOwt5Sk4PbRMrDAWsJTr6cX1Hj8= github.com/InjectiveLabs/cosmos-sdk/x/upgrade v0.1.2-0.20240522173845-46ef88f66790 h1:ImlT8paRJvKIve+ZGi6RvCNp+1u1CC/EIHebQhm+ZYo= github.com/InjectiveLabs/cosmos-sdk/x/upgrade v0.1.2-0.20240522173845-46ef88f66790/go.mod h1:Cn5qF2yRpXZcd+yJM6mu0UGt1p75IherhBhfeAvkmPc= -github.com/InjectiveLabs/ibc-go/v8 v8.3.2-0.20240530084055-772bafc23563 h1:hapevKTBYkJVv8Y/H8PGjj2u7rVbgnIZWBvghUSXyLw= -github.com/InjectiveLabs/ibc-go/v8 v8.3.2-0.20240530084055-772bafc23563/go.mod h1:H8y0uWT/SlGELRCkzAKd7H6Psjvtji6nP3326MJppbM= +github.com/InjectiveLabs/ibc-go/v8 v8.3.3-0.20240620175254-376c45360bb0 h1:Tgr8mk4+FAlcp08AkVsyqSLW8GZKRZcnf0e8JeQMBAA= +github.com/InjectiveLabs/ibc-go/v8 v8.3.3-0.20240620175254-376c45360bb0/go.mod h1:TGEIiuEAjZH11VCehlYjmx6RTUjv4vbkKFL9s2r+VRg= +github.com/InjectiveLabs/metrics v0.0.10 h1:BoOwXnCtRRIPmq06jcI20pXZYE758eusaCI5jDOoN4U= +github.com/InjectiveLabs/metrics v0.0.10/go.mod h1:eYu++0DVUjk/jjV9WgvCo8gQU+16Yoyhp1iu+ghKNME= 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.51.1-0.20240517110802-c05574f2352f h1:HB590uhSnGKBDC/yC7vtpN1+pXHnKwJEur0RCbSLDaA= github.com/InjectiveLabs/wasmd v0.51.1-0.20240517110802-c05574f2352f/go.mod h1:CGIOxbGca/pOiZ+Q7e6aMoNnnSPXrV5/hV1dK3H8FUo= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= +github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= @@ -83,6 +104,8 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuy github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/alexcesaro/statsd v2.0.0+incompatible h1:HG17k1Qk8V1F4UOoq6tx+IUoAbOcI5PHzzEUGeDD72w= +github.com/alexcesaro/statsd v2.0.0+incompatible/go.mod h1:vNepIbQAiyLe1j480173M6NYYaAsGwEcvuDTU3OCUGY= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= @@ -144,6 +167,8 @@ github.com/bugsnag/bugsnag-go v2.1.2+incompatible h1:E7dor84qzwUO8KdCM68CZwq9QOS github.com/bugsnag/bugsnag-go v2.1.2+incompatible/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= 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/bytedance/sonic v1.10.0 h1:qtNZduETEIWJVIyDl01BeNxur2rW9OwTQ/yBqFRkKEk= +github.com/bytedance/sonic v1.10.0/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= 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= @@ -157,6 +182,10 @@ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghf github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d h1:77cEq6EriyTZ0g/qfRdp61a3Uu/AWrgIq2s0ClJV1g0= +github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d/go.mod h1:8EPpVsBuRksnlj1mLy4AWzRNQYxauNi62uWcE3to6eA= +github.com/chenzhuoyu/iasm v0.9.0 h1:9fhXjVzq5hUy2gkhhgHl95zG2cEAhw9OSGs8toWWAwo= +github.com/chenzhuoyu/iasm v0.9.0/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= 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= @@ -267,6 +296,8 @@ github.com/dvsekhvalnov/jose2go v1.6.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/ebitengine/purego v0.6.0-alpha.5 h1:EYID3JOAdmQ4SNZYJHu9V6IqOeRQDBYxqKAg9PyoHFY= +github.com/ebitengine/purego v0.6.0-alpha.5/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ= github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/emicklei/dot v1.6.1 h1:ujpDlBkkwgWUY+qPId5IwapRW/xEoligRSYjioR6DFI= @@ -299,6 +330,8 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= +github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= +github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= 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/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps= @@ -307,8 +340,8 @@ github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeME github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= -github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= -github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= +github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= +github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= 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-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -325,6 +358,7 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= @@ -334,14 +368,14 @@ github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= 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 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= -github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= +github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= +github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= -github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= -github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= +github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= +github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= -github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= +github.com/go-playground/validator/v10 v10.15.1 h1:BSe8uhN+xQ4r5guV/ywQI4gO59C2raYcGffYWZEjZzM= +github.com/go-playground/validator/v10 v10.15.1/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= @@ -354,8 +388,8 @@ github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og= github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= -github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= -github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= +github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -427,6 +461,8 @@ 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/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-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo= +github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= @@ -465,6 +501,8 @@ github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NM github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +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-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= @@ -482,6 +520,8 @@ github.com/hashicorp/go-metrics v0.5.3 h1:M5uADWMOGCTUNU1YuC4hfknOeHNaX54LDm4oYS github.com/hashicorp/go-metrics v0.5.3/go.mod h1:KEjodfebIOuBYSAe/bHTm+HChmKSxAOXPBieMLYozDE= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-plugin v1.5.2 h1:aWv8eimFqWlsEiMrYZdPYl+FdHaBJSN4AWwGWfT1G2Y= github.com/hashicorp/go-plugin v1.5.2/go.mod h1:w1sAEES3g3PuV/RzUrgow20W2uErMly84hhD3um1WL4= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= @@ -492,8 +532,8 @@ github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerX github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= -github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= +github.com/hashicorp/go-uuid v1.0.3/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.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= @@ -571,6 +611,8 @@ github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYs github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg= +github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= 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.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= @@ -584,8 +626,8 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= 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/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= -github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= -github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= +github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= +github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= 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= @@ -690,10 +732,14 @@ github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/outcaste-io/ristretto v0.2.3 h1:AK4zt/fJ76kjlYObOeNwh4T3asEuaCmp26pOvUOL9w0= +github.com/outcaste-io/ristretto v0.2.3/go.mod h1:W8HywhmtlopSB1jeMg3JtdIhf+DYkLAr0VN/s4+MHac= 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= @@ -706,6 +752,8 @@ github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9 github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67 h1:jik8PHtAIsPlCRJjJzl4udgEf7hawInF9texMeO2jrU= github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= +github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= +github.com/philhofer/fwd v1.1.2/go.mod h1:qkPdfjR2SIEbspLqpe1tO4n5yICnr2DY7mqEx2tUTP0= 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/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= @@ -755,6 +803,8 @@ github.com/prometheus/procfs v0.13.0/go.mod h1:cd4PFCR54QLnGKPaKGA6l+cfuNXtht43Z github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/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/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA= +github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= @@ -784,6 +834,8 @@ github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0 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/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/secure-systems-lab/go-securesystemslib v0.7.0 h1:OwvJ5jQf9LnIAS83waAjPbcMsODrTQUpJ02eNLUoxBg= +github.com/secure-systems-lab/go-securesystemslib v0.7.0/go.mod h1:/2gYnlnHVQ6xeGtfIqFy7Do03K4cdCY0A/GlJLDKLHI= 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/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= @@ -794,8 +846,8 @@ github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6Mwd github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= -github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= @@ -843,6 +895,7 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= @@ -854,12 +907,16 @@ github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2l github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= github.com/tidwall/btree v1.7.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= +github.com/tinylib/msgp v1.1.8 h1:FCXC1xanKO4I8plpHGH2P7koL/RzZs12l/+r7vakfm0= +github.com/tinylib/msgp v1.1.8/go.mod h1:qkpG+2ldGg4xRFmx+jfTvZPxfGFhi64BcnL9vkCm/Tw= 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.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/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= +github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= 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/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= @@ -900,18 +957,23 @@ go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.4 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0/go.mod h1:r9vWsPS/3AQItv3OSlEJ/E4mbrhUbbw18meOjArPtKQ= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 h1:sv9kVfal0MK0wBMCOGr+HeJm9v803BkJxGrk2au7j08= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0/go.mod h1:SK2UL73Zy1quvRPonmOmRDiWk1KBV3LyIeeIxcEApWw= -go.opentelemetry.io/otel v1.22.0 h1:xS7Ku+7yTFvDfDraDIJVpw7XPyuHlB9MCiqqX5mcJ6Y= -go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI= -go.opentelemetry.io/otel/metric v1.22.0 h1:lypMQnGyJYeuYPhOM/bgjbFM6WE44W1/T45er4d8Hhg= -go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY= -go.opentelemetry.io/otel/trace v1.22.0 h1:Hg6pPujv0XG9QaVbGOBVHunyuLcCC3jN7WEhPx83XD0= -go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo= +go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= +go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= +go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= +go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= +go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= +go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= +go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= @@ -921,6 +983,8 @@ go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9E go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= +golang.org/x/arch v0.4.0 h1:A8WCeEWhLwPBKNbFi5Wv5UTCBx5zzubnXDlMOFAzFMc= +golang.org/x/arch v0.4.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -932,13 +996,13 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U 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-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= -golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0 h1:985EYyeCOxTpcgOTJpflJUwOeEz0CQOdPt73OzpE9F8= -golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI= +golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 h1:yixxcjnhBmY0nkL253HFVIm0JsFHwrHdT3Yh6szTnfY= +golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= 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/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -954,6 +1018,9 @@ 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.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= +golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= 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= @@ -985,8 +1052,9 @@ golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su golang.org/x/net v0.0.0-20220517181318-183a9ca12b87/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= -golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= +golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= +golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1001,6 +1069,7 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1040,6 +1109,7 @@ golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1055,20 +1125,23 @@ golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220315194320-039c03cc5b86/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/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-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -1076,8 +1149,9 @@ 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.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/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.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= @@ -1103,10 +1177,15 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= +golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= +golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= 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= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +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= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.162.0 h1:Vhs54HkaEpkMBdgGdOT2P6F0csGG/vxDS0hWHJzmmps= google.golang.org/api v0.162.0/go.mod h1:6SulDkfoBIg4NFmCuZ39XeeAgSHCPecfSUuDyYlAHs0= @@ -1164,10 +1243,15 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= 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.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +gopkg.in/DataDog/dd-trace-go.v1 v1.62.0 h1:jeZxE4ZlfAc+R0zO5TEmJBwOLet3NThsOfYJeSQg1x0= +gopkg.in/DataDog/dd-trace-go.v1 v1.62.0/go.mod h1:YTvYkk3PTsfw0OWrRFxV/IQ5Gy4nZ5TRvxTAP3JcIzs= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/alexcesaro/statsd.v2 v2.0.0 h1:FXkZSCZIH17vLCO5sO2UucTHsH9pc+17F6pl3JVCwMc= +gopkg.in/alexcesaro/statsd.v2 v2.0.0/go.mod h1:i0ubccKGzBVNBpdGV5MocxyA/XlLUJzA7SLonnE4drU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -1202,6 +1286,8 @@ 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/v3 v3.5.1 h1:EENdUnS3pdur5nybKYIh2Vfgc8IUNBjxDPSjtiJcOzU= gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= +honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ= +honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/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-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= From 8dcedabab3b4a59fcf55ee4a851842b0866f290b Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Mon, 8 Jul 2024 15:38:10 -0300 Subject: [PATCH 35/48] (fix) Fix pre-commit issues --- client/chain/chain.go | 8 ++++---- client/chain/keys.go | 8 ++++---- client/exchange/exchange.go | 18 +++++++++--------- client/exchange/exchange_test_support.go | 6 +++--- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/client/chain/chain.go b/client/chain/chain.go index aeb7c1bf..6cbbefff 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -355,7 +355,7 @@ func NewChainClient( var txFactory tx.Factory if opts.TxFactory == nil { txFactory = NewTxFactory(ctx) - if len(opts.GasPrices) > 0 { + if opts.GasPrices != "" { txFactory = txFactory.WithGasPrices(opts.GasPrices) } } else { @@ -1381,9 +1381,9 @@ func (c *chainClient) StreamOrderbookUpdateEventsWithWebsocket(orderbookType Ord } // turn array into map for convenient lookup - marketIdsMap := map[string]bool{} + marketIDsMap := map[string]bool{} for _, id := range marketIds { - marketIdsMap[id] = true + marketIDsMap[id] = true } filteredOrderbookUpdateCh := make(chan exchangetypes.Orderbook, 10000) @@ -1401,7 +1401,7 @@ func (c *chainClient) StreamOrderbookUpdateEventsWithWebsocket(orderbookType Ord for _, ob := range allOrderbookUpdates { id := ethcommon.BytesToHash(ob.MarketId).String() - if marketIdsMap[id] { + if marketIDsMap[id] { filteredOrderbookUpdateCh <- ob } } diff --git a/client/chain/keys.go b/client/chain/keys.go index f9a97aa2..e6cb14c8 100644 --- a/client/chain/keys.go +++ b/client/chain/keys.go @@ -36,7 +36,7 @@ func InitCosmosKeyring( cosmosUseLedger bool, ) (cosmtypes.AccAddress, keyring.Keyring, error) { switch { - case len(cosmosPrivKey) > 0: + case cosmosPrivKey != "": if cosmosUseLedger { err := errors.New("cannot combine ledger and privkey options") return emptyCosmosAddress, nil, err @@ -59,7 +59,7 @@ func InitCosmosKeyring( var keyName string // check that if cosmos 'From' specified separately, it must match the provided privkey, - if len(cosmosKeyFrom) > 0 { + if cosmosKeyFrom != "" { addressFrom, err := cosmtypes.AccAddressFromBech32(cosmosKeyFrom) if err == nil { if !bytes.Equal(addressFrom.Bytes(), addressFromPk.Bytes()) { @@ -80,7 +80,7 @@ func InitCosmosKeyring( kb, err := KeyringForPrivKey(keyName, cosmosAccPk) return addressFromPk, kb, err - case len(cosmosKeyFrom) > 0: + case cosmosKeyFrom != "": var fromIsAddress bool addressFrom, err := cosmtypes.AccAddressFromBech32(cosmosKeyFrom) if err == nil { @@ -88,7 +88,7 @@ func InitCosmosKeyring( } var passReader io.Reader = os.Stdin - if len(cosmosKeyPassphrase) > 0 { + if cosmosKeyPassphrase != "" { passReader = newPassReader(cosmosKeyPassphrase) } diff --git a/client/exchange/exchange.go b/client/exchange/exchange.go index 3ca077fb..05883455 100644 --- a/client/exchange/exchange.go +++ b/client/exchange/exchange.go @@ -24,10 +24,10 @@ type ExchangeClient interface { QueryClient() *grpc.ClientConn GetDerivativeMarket(ctx context.Context, marketId string) (*derivativeExchangePB.MarketResponse, error) GetDerivativeOrderbookV2(ctx context.Context, marketId string) (*derivativeExchangePB.OrderbookV2Response, error) - GetDerivativeOrderbooksV2(ctx context.Context, marketIds []string) (*derivativeExchangePB.OrderbooksV2Response, error) + GetDerivativeOrderbooksV2(ctx context.Context, marketIDs []string) (*derivativeExchangePB.OrderbooksV2Response, error) // StreamDerivativeOrderbook deprecated API - StreamDerivativeOrderbookV2(ctx context.Context, marketIds []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamOrderbookV2Client, error) - StreamDerivativeOrderbookUpdate(ctx context.Context, marketIds []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamOrderbookUpdateClient, error) + StreamDerivativeOrderbookV2(ctx context.Context, marketIDs []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamOrderbookV2Client, error) + StreamDerivativeOrderbookUpdate(ctx context.Context, marketIDs []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamOrderbookUpdateClient, error) StreamDerivativeMarket(ctx context.Context, marketIds []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamMarketClient, error) GetDerivativeOrders(ctx context.Context, req *derivativeExchangePB.OrdersRequest) (*derivativeExchangePB.OrdersResponse, error) GetDerivativeMarkets(ctx context.Context, req *derivativeExchangePB.MarketsRequest) (*derivativeExchangePB.MarketsResponse, error) @@ -222,9 +222,9 @@ func (c *exchangeClient) GetDerivativeOrderbookV2(ctx context.Context, marketId return res, nil } -func (c *exchangeClient) GetDerivativeOrderbooksV2(ctx context.Context, marketIds []string) (*derivativeExchangePB.OrderbooksV2Response, error) { +func (c *exchangeClient) GetDerivativeOrderbooksV2(ctx context.Context, marketIDs []string) (*derivativeExchangePB.OrderbooksV2Response, error) { req := derivativeExchangePB.OrderbooksV2Request{ - MarketIds: marketIds, + MarketIds: marketIDs, } res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.OrderbooksV2, &req) @@ -236,9 +236,9 @@ func (c *exchangeClient) GetDerivativeOrderbooksV2(ctx context.Context, marketId return res, nil } -func (c *exchangeClient) StreamDerivativeOrderbookV2(ctx context.Context, marketIds []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamOrderbookV2Client, error) { +func (c *exchangeClient) StreamDerivativeOrderbookV2(ctx context.Context, marketIDs []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamOrderbookV2Client, error) { req := derivativeExchangePB.StreamOrderbookV2Request{ - MarketIds: marketIds, + MarketIds: marketIDs, } stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.StreamOrderbookV2, &req) @@ -251,9 +251,9 @@ func (c *exchangeClient) StreamDerivativeOrderbookV2(ctx context.Context, market return stream, nil } -func (c *exchangeClient) StreamDerivativeOrderbookUpdate(ctx context.Context, marketIds []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamOrderbookUpdateClient, error) { +func (c *exchangeClient) StreamDerivativeOrderbookUpdate(ctx context.Context, marketIDs []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamOrderbookUpdateClient, error) { req := derivativeExchangePB.StreamOrderbookUpdateRequest{ - MarketIds: marketIds, + MarketIds: marketIDs, } stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.StreamOrderbookUpdate, &req) diff --git a/client/exchange/exchange_test_support.go b/client/exchange/exchange_test_support.go index 3553f498..79d14276 100644 --- a/client/exchange/exchange_test_support.go +++ b/client/exchange/exchange_test_support.go @@ -36,15 +36,15 @@ func (e *MockExchangeClient) GetDerivativeOrderbookV2(ctx context.Context, marke return &derivativeExchangePB.OrderbookV2Response{}, nil } -func (e *MockExchangeClient) GetDerivativeOrderbooksV2(ctx context.Context, marketIds []string) (*derivativeExchangePB.OrderbooksV2Response, error) { +func (e *MockExchangeClient) GetDerivativeOrderbooksV2(ctx context.Context, marketIDs []string) (*derivativeExchangePB.OrderbooksV2Response, error) { return &derivativeExchangePB.OrderbooksV2Response{}, nil } -func (e *MockExchangeClient) StreamDerivativeOrderbookV2(ctx context.Context, marketIds []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamOrderbookV2Client, error) { +func (e *MockExchangeClient) StreamDerivativeOrderbookV2(ctx context.Context, marketIDs []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamOrderbookV2Client, error) { return nil, nil } -func (e *MockExchangeClient) StreamDerivativeOrderbookUpdate(ctx context.Context, marketIds []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamOrderbookUpdateClient, error) { +func (e *MockExchangeClient) StreamDerivativeOrderbookUpdate(ctx context.Context, marketIDs []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamOrderbookUpdateClient, error) { return nil, nil } From cea06a15ad5048e1fa734d6b827397277a74c3aa Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Mon, 8 Jul 2024 15:55:11 -0300 Subject: [PATCH 36/48] (fix) Fix pre-commit issues --- client/exchange/exchange.go | 18 +++++++++--------- client/exchange/exchange_test_support.go | 6 +++--- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/client/exchange/exchange.go b/client/exchange/exchange.go index 05883455..61a6ca01 100644 --- a/client/exchange/exchange.go +++ b/client/exchange/exchange.go @@ -63,10 +63,10 @@ type ExchangeClient interface { GetRewards(ctx context.Context, req *accountPB.RewardsRequest) (*accountPB.RewardsResponse, error) GetSpotOrders(ctx context.Context, req *spotExchangePB.OrdersRequest) (*spotExchangePB.OrdersResponse, error) GetSpotOrderbookV2(ctx context.Context, marketId string) (*spotExchangePB.OrderbookV2Response, error) - GetSpotOrderbooksV2(ctx context.Context, marketIds []string) (*spotExchangePB.OrderbooksV2Response, error) + GetSpotOrderbooksV2(ctx context.Context, marketIDs []string) (*spotExchangePB.OrderbooksV2Response, error) // StreamSpotOrderbook deprecated API - StreamSpotOrderbookV2(ctx context.Context, marketIds []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamOrderbookV2Client, error) - StreamSpotOrderbookUpdate(ctx context.Context, marketIds []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamOrderbookUpdateClient, error) + StreamSpotOrderbookV2(ctx context.Context, marketIDs []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamOrderbookV2Client, error) + StreamSpotOrderbookUpdate(ctx context.Context, marketIDs []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamOrderbookUpdateClient, error) GetSpotMarkets(ctx context.Context, req *spotExchangePB.MarketsRequest) (*spotExchangePB.MarketsResponse, error) GetSpotMarket(ctx context.Context, marketId string) (*spotExchangePB.MarketResponse, error) StreamSpotMarket(ctx context.Context, marketIds []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamMarketsClient, error) @@ -670,9 +670,9 @@ func (c *exchangeClient) GetSpotOrderbookV2(ctx context.Context, marketId string return res, nil } -func (c *exchangeClient) GetSpotOrderbooksV2(ctx context.Context, marketIds []string) (*spotExchangePB.OrderbooksV2Response, error) { +func (c *exchangeClient) GetSpotOrderbooksV2(ctx context.Context, marketIDs []string) (*spotExchangePB.OrderbooksV2Response, error) { req := spotExchangePB.OrderbooksV2Request{ - MarketIds: marketIds, + MarketIds: marketIDs, } res, err := common.ExecuteCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.OrderbooksV2, &req) @@ -685,9 +685,9 @@ func (c *exchangeClient) GetSpotOrderbooksV2(ctx context.Context, marketIds []st return res, nil } -func (c *exchangeClient) StreamSpotOrderbookUpdate(ctx context.Context, marketIds []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamOrderbookUpdateClient, error) { +func (c *exchangeClient) StreamSpotOrderbookUpdate(ctx context.Context, marketIDs []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamOrderbookUpdateClient, error) { req := spotExchangePB.StreamOrderbookUpdateRequest{ - MarketIds: marketIds, + MarketIds: marketIDs, } stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.StreamOrderbookUpdate, &req) @@ -700,9 +700,9 @@ func (c *exchangeClient) StreamSpotOrderbookUpdate(ctx context.Context, marketId return stream, nil } -func (c *exchangeClient) StreamSpotOrderbookV2(ctx context.Context, marketIds []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamOrderbookV2Client, error) { +func (c *exchangeClient) StreamSpotOrderbookV2(ctx context.Context, marketIDs []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamOrderbookV2Client, error) { req := spotExchangePB.StreamOrderbookV2Request{ - MarketIds: marketIds, + MarketIds: marketIDs, } stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.StreamOrderbookV2, &req) diff --git a/client/exchange/exchange_test_support.go b/client/exchange/exchange_test_support.go index 79d14276..bd00910a 100644 --- a/client/exchange/exchange_test_support.go +++ b/client/exchange/exchange_test_support.go @@ -199,15 +199,15 @@ func (e *MockExchangeClient) GetSpotOrderbookV2(ctx context.Context, marketId st return &spotExchangePB.OrderbookV2Response{}, nil } -func (e *MockExchangeClient) GetSpotOrderbooksV2(ctx context.Context, marketIds []string) (*spotExchangePB.OrderbooksV2Response, error) { +func (e *MockExchangeClient) GetSpotOrderbooksV2(ctx context.Context, marketIDs []string) (*spotExchangePB.OrderbooksV2Response, error) { return &spotExchangePB.OrderbooksV2Response{}, nil } -func (e *MockExchangeClient) StreamSpotOrderbookV2(ctx context.Context, marketIds []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamOrderbookV2Client, error) { +func (e *MockExchangeClient) StreamSpotOrderbookV2(ctx context.Context, marketIDs []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamOrderbookV2Client, error) { return nil, nil } -func (e *MockExchangeClient) StreamSpotOrderbookUpdate(ctx context.Context, marketIds []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamOrderbookUpdateClient, error) { +func (e *MockExchangeClient) StreamSpotOrderbookUpdate(ctx context.Context, marketIDs []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamOrderbookUpdateClient, error) { return nil, nil } From c6441921f6189b8084425ef62797be7b0f6bc47f Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Mon, 8 Jul 2024 16:07:51 -0300 Subject: [PATCH 37/48] (fix) Fix pre-commit issues --- client/chain/chain.go | 42 ++++++++++++------------ client/chain/chain_test_support.go | 14 ++++---- client/exchange/exchange.go | 12 +++---- client/exchange/exchange_test_support.go | 4 +-- 4 files changed, 36 insertions(+), 36 deletions(-) diff --git a/client/chain/chain.go b/client/chain/chain.go index 6cbbefff..19748aed 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -135,8 +135,8 @@ type ChainClient interface { StreamEventOrderFail(sender string, failEventCh chan map[string]uint) StreamEventOrderFailWithWebsocket(sender string, websocket *rpchttp.HTTP, failEventCh chan map[string]uint) - StreamOrderbookUpdateEvents(orderbookType OrderbookType, marketIds []string, orderbookCh chan exchangetypes.Orderbook) - StreamOrderbookUpdateEventsWithWebsocket(orderbookType OrderbookType, marketIds []string, websocket *rpchttp.HTTP, orderbookCh chan exchangetypes.Orderbook) + StreamOrderbookUpdateEvents(orderbookType OrderbookType, marketIDs []string, orderbookCh chan exchangetypes.Orderbook) + StreamOrderbookUpdateEventsWithWebsocket(orderbookType OrderbookType, marketIDs []string, websocket *rpchttp.HTTP, orderbookCh chan exchangetypes.Orderbook) ChainStream(ctx context.Context, req chainstreamtypes.StreamRequest) (chainstreamtypes.Stream_StreamClient, error) @@ -184,14 +184,14 @@ type ChainClient interface { FetchSubaccountDeposit(ctx context.Context, subaccountId string, denom string) (*exchangetypes.QuerySubaccountDepositResponse, error) FetchExchangeBalances(ctx context.Context) (*exchangetypes.QueryExchangeBalancesResponse, error) FetchAggregateVolume(ctx context.Context, account string) (*exchangetypes.QueryAggregateVolumeResponse, error) - FetchAggregateVolumes(ctx context.Context, accounts []string, marketIds []string) (*exchangetypes.QueryAggregateVolumesResponse, error) + FetchAggregateVolumes(ctx context.Context, accounts []string, marketIDs []string) (*exchangetypes.QueryAggregateVolumesResponse, error) FetchAggregateMarketVolume(ctx context.Context, marketId string) (*exchangetypes.QueryAggregateMarketVolumeResponse, error) - FetchAggregateMarketVolumes(ctx context.Context, marketIds []string) (*exchangetypes.QueryAggregateMarketVolumesResponse, error) + FetchAggregateMarketVolumes(ctx context.Context, marketIDs []string) (*exchangetypes.QueryAggregateMarketVolumesResponse, error) FetchDenomDecimal(ctx context.Context, denom string) (*exchangetypes.QueryDenomDecimalResponse, error) FetchDenomDecimals(ctx context.Context, denoms []string) (*exchangetypes.QueryDenomDecimalsResponse, error) - FetchChainSpotMarkets(ctx context.Context, status string, marketIds []string) (*exchangetypes.QuerySpotMarketsResponse, error) + FetchChainSpotMarkets(ctx context.Context, status string, marketIDs []string) (*exchangetypes.QuerySpotMarketsResponse, error) FetchChainSpotMarket(ctx context.Context, marketId string) (*exchangetypes.QuerySpotMarketResponse, error) - FetchChainFullSpotMarkets(ctx context.Context, status string, marketIds []string, withMidPriceAndTob bool) (*exchangetypes.QueryFullSpotMarketsResponse, error) + FetchChainFullSpotMarkets(ctx context.Context, status string, marketIDs []string, withMidPriceAndTob bool) (*exchangetypes.QueryFullSpotMarketsResponse, error) FetchChainFullSpotMarket(ctx context.Context, marketId string, withMidPriceAndTob bool) (*exchangetypes.QueryFullSpotMarketResponse, error) FetchChainSpotOrderbook(ctx context.Context, marketId string, limit uint64, orderSide exchangetypes.OrderSide, limitCumulativeNotional sdkmath.LegacyDec, limitCumulativeQuantity sdkmath.LegacyDec) (*exchangetypes.QuerySpotOrderbookResponse, error) FetchChainTraderSpotOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderSpotOrdersResponse, error) @@ -206,7 +206,7 @@ type ChainClient interface { FetchChainAccountAddressDerivativeOrders(ctx context.Context, marketId string, address string) (*exchangetypes.QueryAccountAddressDerivativeOrdersResponse, error) FetchChainDerivativeOrdersByHashes(ctx context.Context, marketId string, subaccountId string, orderHashes []string) (*exchangetypes.QueryDerivativeOrdersByHashesResponse, error) FetchChainTraderDerivativeTransientOrders(ctx context.Context, marketId string, subaccountId string) (*exchangetypes.QueryTraderDerivativeOrdersResponse, error) - FetchChainDerivativeMarkets(ctx context.Context, status string, marketIds []string, withMidPriceAndTob bool) (*exchangetypes.QueryDerivativeMarketsResponse, error) + FetchChainDerivativeMarkets(ctx context.Context, status string, marketIDs []string, withMidPriceAndTob bool) (*exchangetypes.QueryDerivativeMarketsResponse, error) FetchChainDerivativeMarket(ctx context.Context, marketId string) (*exchangetypes.QueryDerivativeMarketResponse, error) FetchDerivativeMarketAddress(ctx context.Context, marketId string) (*exchangetypes.QueryDerivativeMarketAddressResponse, error) FetchSubaccountTradeNonce(ctx context.Context, subaccountId string) (*exchangetypes.QuerySubaccountTradeNonceResponse, error) @@ -1347,7 +1347,7 @@ func (c *chainClient) StreamEventOrderFailWithWebsocket(sender string, websocket } } -func (c *chainClient) StreamOrderbookUpdateEvents(orderbookType OrderbookType, marketIds []string, orderbookCh chan exchangetypes.Orderbook) { +func (c *chainClient) StreamOrderbookUpdateEvents(orderbookType OrderbookType, marketIDs []string, orderbookCh chan exchangetypes.Orderbook) { var cometbftClient *rpchttp.HTTP var err error @@ -1369,11 +1369,11 @@ func (c *chainClient) StreamOrderbookUpdateEvents(orderbookType OrderbookType, m } }() - c.StreamOrderbookUpdateEventsWithWebsocket(orderbookType, marketIds, cometbftClient, orderbookCh) + c.StreamOrderbookUpdateEventsWithWebsocket(orderbookType, marketIDs, cometbftClient, orderbookCh) } -func (c *chainClient) StreamOrderbookUpdateEventsWithWebsocket(orderbookType OrderbookType, marketIds []string, websocket *rpchttp.HTTP, orderbookCh chan exchangetypes.Orderbook) { +func (c *chainClient) StreamOrderbookUpdateEventsWithWebsocket(orderbookType OrderbookType, marketIDs []string, websocket *rpchttp.HTTP, orderbookCh chan exchangetypes.Orderbook) { filter := fmt.Sprintf("tm.event='NewBlock' AND %s EXISTS", orderbookType) eventCh, err := websocket.Subscribe(context.Background(), "OrderbookUpdate", filter, 10000) if err != nil { @@ -1382,7 +1382,7 @@ func (c *chainClient) StreamOrderbookUpdateEventsWithWebsocket(orderbookType Ord // turn array into map for convenient lookup marketIDsMap := map[string]bool{} - for _, id := range marketIds { + for _, id := range marketIDs { marketIDsMap[id] = true } @@ -1729,10 +1729,10 @@ func (c *chainClient) FetchAggregateVolume(ctx context.Context, account string) return res, err } -func (c *chainClient) FetchAggregateVolumes(ctx context.Context, accounts, marketIds []string) (*exchangetypes.QueryAggregateVolumesResponse, error) { +func (c *chainClient) FetchAggregateVolumes(ctx context.Context, accounts, marketIDs []string) (*exchangetypes.QueryAggregateVolumesResponse, error) { req := &exchangetypes.QueryAggregateVolumesRequest{ Accounts: accounts, - MarketIds: marketIds, + MarketIds: marketIDs, } res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.AggregateVolumes, req) @@ -1748,9 +1748,9 @@ func (c *chainClient) FetchAggregateMarketVolume(ctx context.Context, marketId s return res, err } -func (c *chainClient) FetchAggregateMarketVolumes(ctx context.Context, marketIds []string) (*exchangetypes.QueryAggregateMarketVolumesResponse, error) { +func (c *chainClient) FetchAggregateMarketVolumes(ctx context.Context, marketIDs []string) (*exchangetypes.QueryAggregateMarketVolumesResponse, error) { req := &exchangetypes.QueryAggregateMarketVolumesRequest{ - MarketIds: marketIds, + MarketIds: marketIDs, } res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.exchangeQueryClient.AggregateMarketVolumes, req) @@ -1775,9 +1775,9 @@ func (c *chainClient) FetchDenomDecimals(ctx context.Context, denoms []string) ( return res, err } -func (c *chainClient) FetchChainSpotMarkets(ctx context.Context, status string, marketIds []string) (*exchangetypes.QuerySpotMarketsResponse, error) { +func (c *chainClient) FetchChainSpotMarkets(ctx context.Context, status string, marketIDs []string) (*exchangetypes.QuerySpotMarketsResponse, error) { req := &exchangetypes.QuerySpotMarketsRequest{ - MarketIds: marketIds, + MarketIds: marketIDs, } if status != "" { req.Status = status @@ -1796,9 +1796,9 @@ func (c *chainClient) FetchChainSpotMarket(ctx context.Context, marketId string) return res, err } -func (c *chainClient) FetchChainFullSpotMarkets(ctx context.Context, status string, marketIds []string, withMidPriceAndTob bool) (*exchangetypes.QueryFullSpotMarketsResponse, error) { +func (c *chainClient) FetchChainFullSpotMarkets(ctx context.Context, status string, marketIDs []string, withMidPriceAndTob bool) (*exchangetypes.QueryFullSpotMarketsResponse, error) { req := &exchangetypes.QueryFullSpotMarketsRequest{ - MarketIds: marketIds, + MarketIds: marketIDs, WithMidPriceAndTob: withMidPriceAndTob, } if status != "" { @@ -1953,9 +1953,9 @@ func (c *chainClient) FetchChainTraderDerivativeTransientOrders(ctx context.Cont return res, err } -func (c *chainClient) FetchChainDerivativeMarkets(ctx context.Context, status string, marketIds []string, withMidPriceAndTob bool) (*exchangetypes.QueryDerivativeMarketsResponse, error) { +func (c *chainClient) FetchChainDerivativeMarkets(ctx context.Context, status string, marketIDs []string, withMidPriceAndTob bool) (*exchangetypes.QueryDerivativeMarketsResponse, error) { req := &exchangetypes.QueryDerivativeMarketsRequest{ - MarketIds: marketIds, + MarketIds: marketIDs, WithMidPriceAndTob: withMidPriceAndTob, } if status != "" { diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index 2d8af3ab..afacd061 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -214,10 +214,10 @@ func (c *MockChainClient) StreamEventOrderFail(sender string, failEventCh chan m func (c *MockChainClient) StreamEventOrderFailWithWebsocket(sender string, websocket *rpchttp.HTTP, failEventCh chan map[string]uint) { } -func (c *MockChainClient) StreamOrderbookUpdateEvents(orderbookType OrderbookType, marketIds []string, orderbookCh chan exchangetypes.Orderbook) { +func (c *MockChainClient) StreamOrderbookUpdateEvents(orderbookType OrderbookType, marketIDs []string, orderbookCh chan exchangetypes.Orderbook) { } -func (c *MockChainClient) StreamOrderbookUpdateEventsWithWebsocket(orderbookType OrderbookType, marketIds []string, websocket *rpchttp.HTTP, orderbookCh chan exchangetypes.Orderbook) { +func (c *MockChainClient) StreamOrderbookUpdateEventsWithWebsocket(orderbookType OrderbookType, marketIDs []string, websocket *rpchttp.HTTP, orderbookCh chan exchangetypes.Orderbook) { } func (c *MockChainClient) ChainStream(ctx context.Context, req chainstreamtypes.StreamRequest) (chainstreamtypes.Stream_StreamClient, error) { @@ -348,7 +348,7 @@ func (c *MockChainClient) FetchAggregateVolume(ctx context.Context, account stri return &exchangetypes.QueryAggregateVolumeResponse{}, nil } -func (c *MockChainClient) FetchAggregateVolumes(ctx context.Context, accounts, marketIds []string) (*exchangetypes.QueryAggregateVolumesResponse, error) { +func (c *MockChainClient) FetchAggregateVolumes(ctx context.Context, accounts, marketIDs []string) (*exchangetypes.QueryAggregateVolumesResponse, error) { return &exchangetypes.QueryAggregateVolumesResponse{}, nil } @@ -356,7 +356,7 @@ func (c *MockChainClient) FetchAggregateMarketVolume(ctx context.Context, market return &exchangetypes.QueryAggregateMarketVolumeResponse{}, nil } -func (c *MockChainClient) FetchAggregateMarketVolumes(ctx context.Context, marketIds []string) (*exchangetypes.QueryAggregateMarketVolumesResponse, error) { +func (c *MockChainClient) FetchAggregateMarketVolumes(ctx context.Context, marketIDs []string) (*exchangetypes.QueryAggregateMarketVolumesResponse, error) { return &exchangetypes.QueryAggregateMarketVolumesResponse{}, nil } @@ -368,7 +368,7 @@ func (c *MockChainClient) FetchDenomDecimals(ctx context.Context, denoms []strin return &exchangetypes.QueryDenomDecimalsResponse{}, nil } -func (c *MockChainClient) FetchChainSpotMarkets(ctx context.Context, status string, marketIds []string) (*exchangetypes.QuerySpotMarketsResponse, error) { +func (c *MockChainClient) FetchChainSpotMarkets(ctx context.Context, status string, marketIDs []string) (*exchangetypes.QuerySpotMarketsResponse, error) { return &exchangetypes.QuerySpotMarketsResponse{}, nil } @@ -376,7 +376,7 @@ func (c *MockChainClient) FetchChainSpotMarket(ctx context.Context, marketId str return &exchangetypes.QuerySpotMarketResponse{}, nil } -func (c *MockChainClient) FetchChainFullSpotMarkets(ctx context.Context, status string, marketIds []string, withMidPriceAndTob bool) (*exchangetypes.QueryFullSpotMarketsResponse, error) { +func (c *MockChainClient) FetchChainFullSpotMarkets(ctx context.Context, status string, marketIDs []string, withMidPriceAndTob bool) (*exchangetypes.QueryFullSpotMarketsResponse, error) { return &exchangetypes.QueryFullSpotMarketsResponse{}, nil } @@ -436,7 +436,7 @@ func (c *MockChainClient) FetchChainTraderDerivativeTransientOrders(ctx context. return &exchangetypes.QueryTraderDerivativeOrdersResponse{}, nil } -func (c *MockChainClient) FetchChainDerivativeMarkets(ctx context.Context, status string, marketIds []string, withMidPriceAndTob bool) (*exchangetypes.QueryDerivativeMarketsResponse, error) { +func (c *MockChainClient) FetchChainDerivativeMarkets(ctx context.Context, status string, marketIDs []string, withMidPriceAndTob bool) (*exchangetypes.QueryDerivativeMarketsResponse, error) { return &exchangetypes.QueryDerivativeMarketsResponse{}, nil } diff --git a/client/exchange/exchange.go b/client/exchange/exchange.go index 61a6ca01..cc4b3f3b 100644 --- a/client/exchange/exchange.go +++ b/client/exchange/exchange.go @@ -28,7 +28,7 @@ type ExchangeClient interface { // StreamDerivativeOrderbook deprecated API StreamDerivativeOrderbookV2(ctx context.Context, marketIDs []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamOrderbookV2Client, error) StreamDerivativeOrderbookUpdate(ctx context.Context, marketIDs []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamOrderbookUpdateClient, error) - StreamDerivativeMarket(ctx context.Context, marketIds []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamMarketClient, error) + StreamDerivativeMarket(ctx context.Context, marketIDs []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamMarketClient, error) GetDerivativeOrders(ctx context.Context, req *derivativeExchangePB.OrdersRequest) (*derivativeExchangePB.OrdersResponse, error) GetDerivativeMarkets(ctx context.Context, req *derivativeExchangePB.MarketsRequest) (*derivativeExchangePB.MarketsResponse, error) GetDerivativePositions(ctx context.Context, req *derivativeExchangePB.PositionsRequest) (*derivativeExchangePB.PositionsResponse, error) @@ -69,7 +69,7 @@ type ExchangeClient interface { StreamSpotOrderbookUpdate(ctx context.Context, marketIDs []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamOrderbookUpdateClient, error) GetSpotMarkets(ctx context.Context, req *spotExchangePB.MarketsRequest) (*spotExchangePB.MarketsResponse, error) GetSpotMarket(ctx context.Context, marketId string) (*spotExchangePB.MarketResponse, error) - StreamSpotMarket(ctx context.Context, marketIds []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamMarketsClient, error) + StreamSpotMarket(ctx context.Context, marketIDs []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamMarketsClient, error) StreamSpotOrders(ctx context.Context, req *spotExchangePB.StreamOrdersRequest) (spotExchangePB.InjectiveSpotExchangeRPC_StreamOrdersClient, error) GetSpotTrades(ctx context.Context, req *spotExchangePB.TradesRequest) (*spotExchangePB.TradesResponse, error) GetSpotTradesV2(ctx context.Context, req *spotExchangePB.TradesV2Request) (*spotExchangePB.TradesV2Response, error) @@ -290,9 +290,9 @@ func (c *exchangeClient) GetDerivativeMarket(ctx context.Context, marketId strin return res, nil } -func (c *exchangeClient) StreamDerivativeMarket(ctx context.Context, marketIds []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamMarketClient, error) { +func (c *exchangeClient) StreamDerivativeMarket(ctx context.Context, marketIDs []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamMarketClient, error) { req := derivativeExchangePB.StreamMarketRequest{ - MarketIds: marketIds, + MarketIds: marketIDs, } stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.derivativeExchangeClient.StreamMarket, &req) @@ -741,9 +741,9 @@ func (c *exchangeClient) GetSpotMarket(ctx context.Context, marketId string) (*s return res, nil } -func (c *exchangeClient) StreamSpotMarket(ctx context.Context, marketIds []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamMarketsClient, error) { +func (c *exchangeClient) StreamSpotMarket(ctx context.Context, marketIDs []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamMarketsClient, error) { req := spotExchangePB.StreamMarketsRequest{ - MarketIds: marketIds, + MarketIds: marketIDs, } stream, err := common.ExecuteStreamCall(ctx, c.network.ExchangeCookieAssistant, c.spotExchangeClient.StreamMarkets, &req) diff --git a/client/exchange/exchange_test_support.go b/client/exchange/exchange_test_support.go index bd00910a..5c31f5e8 100644 --- a/client/exchange/exchange_test_support.go +++ b/client/exchange/exchange_test_support.go @@ -48,7 +48,7 @@ func (e *MockExchangeClient) StreamDerivativeOrderbookUpdate(ctx context.Context return nil, nil } -func (e *MockExchangeClient) StreamDerivativeMarket(ctx context.Context, marketIds []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamMarketClient, error) { +func (e *MockExchangeClient) StreamDerivativeMarket(ctx context.Context, marketIDs []string) (derivativeExchangePB.InjectiveDerivativeExchangeRPC_StreamMarketClient, error) { return nil, nil } @@ -230,7 +230,7 @@ func (e *MockExchangeClient) GetSpotMarket(ctx context.Context, marketId string) return &spotExchangePB.MarketResponse{}, nil } -func (e *MockExchangeClient) StreamSpotMarket(ctx context.Context, marketIds []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamMarketsClient, error) { +func (e *MockExchangeClient) StreamSpotMarket(ctx context.Context, marketIDs []string) (spotExchangePB.InjectiveSpotExchangeRPC_StreamMarketsClient, error) { return nil, nil } From 8684986ecabcfff16d361d0853da1d29575c0b0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Z=C3=A9?= Date: Wed, 10 Jul 2024 12:34:21 +0100 Subject: [PATCH 38/48] chore: update chain protos --- chain/exchange/types/fee_validation.go | 7 +- chain/exchange/types/spot_orders.go | 8 +- chain/exchange/types/tx.pb.go | 582 ++++++++++++++----------- chain/wasmx/types/util.go | 3 +- 4 files changed, 351 insertions(+), 249 deletions(-) diff --git a/chain/exchange/types/fee_validation.go b/chain/exchange/types/fee_validation.go index cc872f22..edef2393 100644 --- a/chain/exchange/types/fee_validation.go +++ b/chain/exchange/types/fee_validation.go @@ -16,10 +16,11 @@ func ValidateMakerWithTakerFee(makerFeeRate, takerFeeRate, relayerFeeShareRate, return nil } - // if makerFeeRate is negative, must hold: takerFeeRate * (1 - relayerFeeShareRate) + makerFeeRate > minimalProtocolFeeRate if takerFeeRate.Mul(math.LegacyOneDec().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 errors.Wrap(ErrFeeRatesRelation, errMsg) + // if makerFeeRate is negative then takerFeeRate >= (minimalProtocolFeeRate - relayerFeeShareRate)/(1 - makerFeeRate) + numerator := minimalProtocolFeeRate.Sub(relayerFeeShareRate) + denominator := math.LegacyOneDec().Sub(makerFeeRate) + return errors.Wrap(ErrFeeRatesRelation, fmt.Sprintf("if maker_fee_rate is negative (%v), taker_fee_rate must be GTE than %v [ taker_fee_rate >= (minimum_protocol_fee_rate - maker_fee_rate)/(1 - relayer_fee_share_rate) ]", makerFeeRate.String(), numerator.Quo(denominator).String())) } return nil diff --git a/chain/exchange/types/spot_orders.go b/chain/exchange/types/spot_orders.go index ac5b243e..3253e5b5 100644 --- a/chain/exchange/types/spot_orders.go +++ b/chain/exchange/types/spot_orders.go @@ -143,7 +143,9 @@ func (m *SpotLimitOrder) GetUnfilledFeeAmount(fee math.LegacyDec) math.LegacyDec return m.GetUnfilledNotional().Mul(fee) } -func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (balanceHold math.LegacyDec, denom string) { +func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (math.LegacyDec, string) { + var denom string + var balanceHold math.LegacyDec if m.IsBuy() { denom = market.QuoteDenom if m.OrderType.IsPostOnly() { @@ -165,7 +167,9 @@ func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (balanceHol return balanceHold, denom } -func (m *SpotLimitOrder) GetUnfilledMarginHoldAndMarginDenom(market *SpotMarket, isTransient bool) (balanceHold math.LegacyDec, denom string) { +func (m *SpotLimitOrder) GetUnfilledMarginHoldAndMarginDenom(market *SpotMarket, isTransient bool) (math.LegacyDec, string) { + var denom string + var balanceHold math.LegacyDec if m.IsBuy() { var tradeFeeRate math.LegacyDec diff --git a/chain/exchange/types/tx.pb.go b/chain/exchange/types/tx.pb.go index 4a78fb8f..867c3602 100644 --- a/chain/exchange/types/tx.pb.go +++ b/chain/exchange/types/tx.pb.go @@ -638,6 +638,10 @@ type MsgInstantSpotMarketLaunch struct { // min_notional defines the minimum notional (in quote asset) required for // orders in the market MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` + // maker_fee_rate defines the trade fee rate for makers + MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate"` + // taker_fee_rate defines the trade fee rate for takers + TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` } func (m *MsgInstantSpotMarketLaunch) Reset() { *m = MsgInstantSpotMarketLaunch{} } @@ -3674,254 +3678,254 @@ func init() { } var fileDescriptor_bd45b74cb6d81462 = []byte{ - // 3942 bytes of a gzipped FileDescriptorProto + // 3948 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x4b, 0x6c, 0x1c, 0xc7, 0x95, 0x6a, 0x0e, 0x39, 0x24, 0x1f, 0x29, 0x89, 0x6a, 0x52, 0xe2, 0x70, 0xf8, 0x93, 0x9a, 0x92, 0xf5, 0x27, 0xf5, 0xff, 0x8c, 0x56, 0x96, 0xf8, 0x91, 0x6c, 0xae, 0x45, 0x4b, 0x1e, 0xca, 0xbb, 0xde, 0x85, 0xbd, 0x83, 0x66, 0x4f, 0x71, 0xd8, 0xe6, 0x4c, 0xf7, 0xa8, 0xbb, 0x47, 0x12, 0x8d, 0x05, 0xd6, 0xeb, 0xc3, 0x42, 0xfb, 0xc1, 0x62, 0x17, 0x58, 0x60, 0x81, 0x05, 0x0c, 0x18, 0x58, - 0x20, 0x06, 0x9c, 0x20, 0x91, 0x83, 0x20, 0xf0, 0x21, 0x3f, 0x04, 0x39, 0x18, 0x3e, 0x29, 0x01, - 0x02, 0x04, 0x39, 0x28, 0x81, 0x7d, 0xb0, 0xe1, 0x53, 0x90, 0x4b, 0x80, 0xe4, 0x12, 0x74, 0x55, - 0x75, 0x4d, 0x7f, 0xaa, 0xba, 0x7b, 0x46, 0xa4, 0x2d, 0x07, 0xbe, 0x48, 0xec, 0xaa, 0xf7, 0x5e, - 0xbd, 0xf7, 0xea, 0x7d, 0xaa, 0x5e, 0x55, 0x0d, 0x4c, 0xe9, 0xc6, 0xeb, 0x48, 0x73, 0xf4, 0xbb, - 0x68, 0x06, 0xdd, 0xd7, 0xd6, 0x54, 0xa3, 0x82, 0x66, 0xee, 0x9e, 0x5c, 0x41, 0x8e, 0x7a, 0x72, - 0xc6, 0xb9, 0x3f, 0x5d, 0xb7, 0x4c, 0xc7, 0x94, 0xf3, 0x0c, 0x68, 0xda, 0x03, 0x9a, 0xa6, 0x40, - 0xf9, 0x09, 0xcd, 0xb4, 0x6b, 0xa6, 0x3d, 0xb3, 0xa2, 0xda, 0x4d, 0x4c, 0xcd, 0xd4, 0x0d, 0x82, - 0x9b, 0x9f, 0xa6, 0xfd, 0x65, 0xdd, 0x76, 0x2c, 0x7d, 0xa5, 0xe1, 0xe8, 0xa6, 0xc1, 0xe0, 0xfc, - 0x8d, 0x14, 0x7e, 0x98, 0xc2, 0xd7, 0xec, 0xca, 0xcc, 0xdd, 0x93, 0xee, 0x7f, 0xb4, 0x63, 0x84, - 0x74, 0x94, 0xf0, 0xd7, 0x0c, 0xf9, 0xa0, 0x5d, 0x43, 0x15, 0xb3, 0x62, 0x92, 0x76, 0xf7, 0x2f, - 0xda, 0x7a, 0x38, 0x46, 0x34, 0x26, 0x06, 0x01, 0x3d, 0xd0, 0x04, 0x35, 0x2d, 0x55, 0xab, 0x36, - 0x01, 0xc9, 0x27, 0x05, 0xdb, 0xa5, 0xd6, 0x74, 0xc3, 0x9c, 0xc1, 0xff, 0x92, 0x26, 0xe5, 0xdd, - 0x0c, 0x0c, 0x2e, 0xd9, 0x95, 0x97, 0xeb, 0x65, 0xd5, 0x41, 0xcb, 0x75, 0xd3, 0x59, 0x52, 0xad, - 0x75, 0xe4, 0xc8, 0x43, 0xd0, 0xa5, 0x96, 0x6b, 0xba, 0x91, 0x93, 0xf6, 0x4a, 0x87, 0x7a, 0x8b, - 0xe4, 0x43, 0x1e, 0x85, 0xde, 0x1a, 0xee, 0x2f, 0xe9, 0xe5, 0x5c, 0x07, 0xee, 0xe9, 0x21, 0x0d, - 0x8b, 0x65, 0x79, 0x1c, 0xc0, 0x40, 0xf7, 0x4a, 0x8e, 0xae, 0xad, 0x23, 0x2b, 0x97, 0xc1, 0xbd, - 0xbd, 0x06, 0xba, 0x77, 0x1b, 0x37, 0xc8, 0x7f, 0x07, 0xc3, 0x6e, 0x77, 0x4d, 0x37, 0x4a, 0x75, - 0x4b, 0xd7, 0x10, 0x06, 0x2c, 0xd9, 0xfa, 0x1b, 0x28, 0xd7, 0xe9, 0xc2, 0xce, 0x4d, 0x7d, 0xf8, - 0x78, 0x72, 0xdb, 0xaf, 0x1f, 0x4f, 0x8e, 0x12, 0xdd, 0xd8, 0xe5, 0xf5, 0x69, 0xdd, 0x9c, 0xa9, - 0xa9, 0xce, 0xda, 0xf4, 0x0d, 0x54, 0x51, 0xb5, 0x8d, 0x05, 0xa4, 0x15, 0x07, 0x0d, 0x74, 0x6f, - 0x49, 0x37, 0x6e, 0xb9, 0x14, 0x5c, 0xc2, 0xcb, 0xfa, 0x1b, 0x48, 0x2e, 0x41, 0xde, 0x23, 0x7d, - 0xa7, 0xa1, 0x1a, 0x8e, 0xee, 0x6c, 0xf8, 0xa8, 0x77, 0xa5, 0xa7, 0xbe, 0x87, 0x50, 0x7f, 0x89, - 0x12, 0x61, 0x03, 0x2c, 0xc1, 0x80, 0x37, 0x80, 0x61, 0xba, 0x93, 0xad, 0x56, 0x73, 0xd9, 0xf4, - 0x64, 0x77, 0x10, 0xb2, 0x2f, 0x52, 0xd4, 0xc2, 0xe9, 0x07, 0xef, 0x4c, 0x6e, 0xfb, 0xec, 0x9d, - 0xc9, 0x6d, 0x6f, 0x7d, 0xfa, 0xf0, 0x08, 0x51, 0xed, 0xbf, 0x7d, 0xfa, 0xf0, 0xc8, 0x18, 0x9b, - 0x66, 0xce, 0x8c, 0x28, 0xe3, 0x30, 0xca, 0x69, 0x2e, 0x22, 0xbb, 0x6e, 0x1a, 0x36, 0x52, 0xfe, - 0xd0, 0x09, 0x23, 0xac, 0x7f, 0x01, 0x59, 0xfa, 0x5d, 0xd5, 0xb5, 0x87, 0xaf, 0xa7, 0x73, 0xcb, - 0xa7, 0x53, 0x7e, 0x15, 0x72, 0x2e, 0x39, 0xdd, 0xd0, 0x1d, 0x5d, 0xad, 0x96, 0x6a, 0xaa, 0x55, - 0xd1, 0x8d, 0x92, 0xa5, 0x3a, 0xba, 0x99, 0xeb, 0x4e, 0x4f, 0x76, 0xb7, 0x81, 0xee, 0x2d, 0x12, - 0x1a, 0x4b, 0x98, 0x44, 0xd1, 0xa5, 0x20, 0x97, 0x61, 0x0c, 0x33, 0xab, 0xea, 0x86, 0x83, 0x0c, - 0xd5, 0xd0, 0x50, 0x70, 0x84, 0x9e, 0xf4, 0x23, 0x8c, 0xb8, 0x8c, 0x37, 0xe9, 0xf8, 0x46, 0x29, - 0x5c, 0xe4, 0x9b, 0xa4, 0x12, 0x35, 0xc9, 0xb0, 0x6d, 0x29, 0x53, 0xb0, 0x4f, 0xd8, 0xc9, 0xcc, - 0xf3, 0x03, 0x09, 0x76, 0x32, 0xa8, 0x5b, 0xaa, 0xa5, 0xd6, 0x6c, 0xf9, 0x1c, 0xf4, 0xaa, 0x0d, - 0x67, 0xcd, 0xb4, 0x74, 0x67, 0x83, 0x18, 0xe6, 0x5c, 0xee, 0x17, 0xdf, 0x3b, 0x3e, 0x44, 0x63, - 0xe3, 0x6c, 0xb9, 0x6c, 0x21, 0xdb, 0x5e, 0x76, 0x2c, 0xdd, 0xa8, 0x14, 0x9b, 0xa0, 0xf2, 0x55, - 0xc8, 0xd6, 0x31, 0x05, 0x6c, 0xb3, 0x7d, 0xa7, 0x94, 0x69, 0x71, 0x7c, 0x9f, 0x26, 0x63, 0xcd, - 0x75, 0xba, 0xfa, 0x29, 0x52, 0xbc, 0xc2, 0x51, 0x57, 0xca, 0x26, 0x45, 0x57, 0xd2, 0x5c, 0x54, - 0x52, 0x82, 0xaa, 0x8c, 0xc0, 0x70, 0xa8, 0x89, 0x49, 0xf5, 0x1d, 0x09, 0x60, 0xc9, 0xae, 0x2c, - 0xa0, 0xba, 0x69, 0xeb, 0x8e, 0xbc, 0x07, 0xb2, 0x36, 0x32, 0xca, 0xc8, 0xa2, 0x6e, 0x46, 0xbf, - 0xe4, 0x29, 0xd8, 0x6e, 0x37, 0x56, 0x54, 0x4d, 0x33, 0x1b, 0x86, 0xcf, 0xd7, 0xfa, 0x9b, 0x8d, - 0x8b, 0x65, 0xf9, 0x3c, 0x64, 0xd5, 0x9a, 0xfb, 0x37, 0xf6, 0xb5, 0xbe, 0x53, 0x23, 0x34, 0xf3, - 0x4c, 0xbb, 0x99, 0x89, 0x89, 0x33, 0x6f, 0xea, 0x86, 0x27, 0x0c, 0x01, 0x2f, 0x1c, 0xf5, 0x4f, - 0x1d, 0x1d, 0xd2, 0x95, 0x68, 0xd0, 0x2f, 0x11, 0x65, 0x51, 0x19, 0x02, 0xb9, 0xf9, 0xc5, 0xe4, - 0x78, 0x5f, 0x82, 0xbe, 0x25, 0xbb, 0xf2, 0xb7, 0xba, 0xb3, 0x56, 0xb6, 0xd4, 0x7b, 0x5f, 0x92, - 0x20, 0xc7, 0x04, 0x82, 0x0c, 0xf9, 0x05, 0xf1, 0x78, 0x54, 0x76, 0xe3, 0xc4, 0xe5, 0x7d, 0x32, - 0x51, 0xbe, 0x2d, 0xe1, 0xe9, 0x9a, 0xb7, 0x10, 0x8d, 0x93, 0x37, 0xf4, 0x9a, 0xee, 0xdc, 0xb4, - 0x5c, 0xf6, 0x45, 0x62, 0xcd, 0x42, 0x97, 0xe9, 0x02, 0x50, 0x7b, 0x3a, 0x10, 0x67, 0x4f, 0x2e, - 0x49, 0x4c, 0x8d, 0x32, 0x4f, 0x30, 0x0b, 0x17, 0x04, 0xbc, 0xef, 0xf5, 0xf3, 0xce, 0x63, 0x4a, - 0x79, 0x15, 0x26, 0x05, 0x5d, 0x9e, 0x4c, 0x6e, 0x28, 0xc6, 0xa3, 0x94, 0xd6, 0x54, 0x7b, 0x8d, - 0xf2, 0xde, 0x8b, 0x5b, 0x9e, 0x57, 0xed, 0x35, 0x79, 0x00, 0x32, 0x1a, 0x9b, 0x0b, 0xf7, 0xcf, - 0x42, 0x8f, 0xc7, 0x8d, 0xf2, 0x03, 0x09, 0xc6, 0x97, 0xec, 0xca, 0x9c, 0xea, 0x68, 0x6b, 0xbc, - 0x31, 0x6c, 0xa1, 0x52, 0xe6, 0x21, 0x8b, 0x87, 0x70, 0xbd, 0x2c, 0xd3, 0xaa, 0x56, 0x28, 0x6a, - 0xe1, 0x59, 0x81, 0x5a, 0x9e, 0xf1, 0xab, 0x45, 0xcc, 0x9c, 0xf2, 0x5d, 0x09, 0x0e, 0xc4, 0x42, - 0x30, 0x1d, 0xed, 0x83, 0xfe, 0xa6, 0x8e, 0x90, 0x9d, 0x93, 0xf6, 0x66, 0x0e, 0xf5, 0x16, 0xfb, - 0x98, 0x96, 0x90, 0x2d, 0x4f, 0xc3, 0xa0, 0x86, 0x69, 0x94, 0x4b, 0x84, 0xbd, 0x92, 0xa6, 0x97, - 0x89, 0x78, 0xbd, 0xc5, 0x5d, 0xb4, 0x8b, 0x90, 0x9d, 0xd7, 0xcb, 0xb6, 0x7c, 0x0c, 0xe4, 0x55, - 0x55, 0xaf, 0x86, 0xc0, 0x33, 0x18, 0x7c, 0x80, 0xf4, 0x34, 0xa1, 0x7d, 0x3a, 0xff, 0x71, 0x06, - 0xf2, 0x4b, 0x76, 0x65, 0xd1, 0xb0, 0x1d, 0xd5, 0x70, 0x9a, 0xb9, 0xfa, 0x86, 0xda, 0x30, 0xb4, - 0x35, 0xa1, 0xc2, 0xf7, 0x40, 0x96, 0x26, 0x5b, 0x32, 0x93, 0xf4, 0xcb, 0x9d, 0x7d, 0xd7, 0x73, - 0x4a, 0x65, 0x64, 0x98, 0x35, 0x2f, 0x11, 0xbb, 0x2d, 0x0b, 0x6e, 0x83, 0x3c, 0x09, 0x7d, 0x77, - 0x1a, 0xa6, 0xe3, 0xf5, 0xe3, 0xe4, 0x5b, 0x04, 0xdc, 0x44, 0x00, 0x8a, 0x30, 0xc8, 0xcb, 0xd2, - 0x2d, 0xe4, 0xd1, 0x81, 0x5a, 0x38, 0x45, 0xbf, 0x02, 0x7b, 0x04, 0xe9, 0xb9, 0x85, 0x3c, 0xea, - 0xb2, 0x15, 0xc9, 0xcd, 0xd7, 0xa1, 0x3f, 0x90, 0x97, 0x5b, 0x48, 0xa0, 0x7d, 0x35, 0xdf, 0x1a, - 0xeb, 0x92, 0xc0, 0xf2, 0xa6, 0xfc, 0x96, 0x27, 0x98, 0x22, 0x65, 0x3f, 0x28, 0xe2, 0xde, 0x66, - 0xd4, 0xec, 0xc6, 0xae, 0x4b, 0xc1, 0x6e, 0x21, 0xab, 0x8e, 0x9c, 0x06, 0x4e, 0xde, 0xed, 0x4f, - 0x76, 0x68, 0x36, 0x33, 0x91, 0xd9, 0x9c, 0x84, 0x3e, 0xb2, 0xa6, 0x2f, 0xb9, 0x26, 0xe0, 0x4d, - 0x37, 0x69, 0x9a, 0x53, 0x3d, 0x47, 0xc0, 0x00, 0x18, 0x8b, 0xcc, 0x73, 0x91, 0x22, 0xbd, 0xe4, - 0x36, 0xb9, 0x8e, 0x40, 0x41, 0x6c, 0x4d, 0xad, 0xa2, 0xd2, 0xaa, 0xaa, 0x39, 0xa6, 0x85, 0xa7, - 0x6e, 0x7b, 0x71, 0x17, 0xe9, 0x5a, 0x76, 0x7b, 0xae, 0xe3, 0x0e, 0xf9, 0x1a, 0x1b, 0xd3, 0xd9, - 0xa8, 0x23, 0x3c, 0x25, 0x3b, 0x4e, 0xed, 0xf7, 0xc5, 0x03, 0xba, 0xcb, 0xf0, 0xa2, 0xc1, 0x4d, - 0xfc, 0x79, 0x7b, 0xa3, 0x8e, 0x3c, 0xce, 0xdc, 0xbf, 0xe5, 0x45, 0xd8, 0x51, 0x53, 0xd7, 0x91, - 0x55, 0x5a, 0x45, 0xc8, 0x5d, 0xbc, 0xa0, 0x56, 0xd6, 0x2e, 0xfd, 0x18, 0xf5, 0x3a, 0x42, 0x45, - 0xd5, 0xc1, 0xa4, 0x9c, 0x20, 0xa9, 0xde, 0x16, 0x48, 0x39, 0x7e, 0x52, 0x2f, 0xc3, 0x10, 0x77, - 0xe5, 0x06, 0xe9, 0x09, 0xca, 0x7a, 0x74, 0xd9, 0xf6, 0x1a, 0xe4, 0x84, 0x4b, 0xb6, 0xbe, 0x16, - 0x96, 0xb0, 0x35, 0xee, 0x7a, 0x4d, 0xe4, 0xd4, 0xfd, 0x5b, 0xe3, 0xd4, 0xdb, 0x37, 0xd9, 0xa9, - 0x77, 0xb4, 0xe9, 0xd4, 0x57, 0x05, 0x4e, 0x7d, 0x88, 0xe3, 0xd4, 0x5c, 0x7f, 0x54, 0x0e, 0xc3, - 0xc1, 0x04, 0x10, 0xe6, 0xde, 0xff, 0xda, 0x0d, 0x53, 0x4d, 0xd8, 0x39, 0xdd, 0x50, 0xad, 0x8d, - 0x9b, 0x75, 0x97, 0x13, 0xfb, 0x89, 0x5c, 0x7c, 0x0a, 0xb6, 0x7b, 0xde, 0xb7, 0x51, 0x5b, 0x31, - 0xab, 0xd4, 0xc9, 0xa9, 0xd7, 0x2e, 0xe3, 0x36, 0xf9, 0x20, 0xec, 0xa4, 0x40, 0x75, 0xcb, 0xbc, - 0xab, 0xbb, 0xd4, 0x89, 0xab, 0xef, 0x20, 0xcd, 0xb7, 0x68, 0x6b, 0xd8, 0x37, 0xbb, 0xda, 0xf4, - 0xcd, 0x56, 0x43, 0x42, 0xd4, 0x97, 0xbb, 0x37, 0xcf, 0x97, 0x7b, 0xda, 0xf5, 0xe5, 0x93, 0x30, - 0x84, 0xee, 0xd7, 0x75, 0xec, 0x65, 0x46, 0xc9, 0xd1, 0x6b, 0xc8, 0x76, 0xd4, 0x5a, 0x1d, 0x07, - 0x87, 0x4c, 0x71, 0xb0, 0xd9, 0x77, 0xdb, 0xeb, 0x72, 0x51, 0x6c, 0xe4, 0x38, 0x55, 0x54, 0x43, - 0x86, 0xe3, 0x43, 0x01, 0x82, 0xd2, 0xec, 0x6b, 0xa2, 0xb0, 0xcd, 0x74, 0x9f, 0x7f, 0x33, 0x1d, - 0x8a, 0xdc, 0xfd, 0x69, 0xf3, 0xf0, 0xf6, 0xad, 0x71, 0xd9, 0x1d, 0x9b, 0xec, 0xb2, 0x3b, 0xdb, - 0x74, 0xd9, 0x05, 0x81, 0xcb, 0x1e, 0xe3, 0xb8, 0xac, 0xd0, 0xc7, 0x94, 0xe3, 0x70, 0x34, 0x05, - 0x18, 0x73, 0xdd, 0x9f, 0x07, 0x5c, 0xf7, 0x9a, 0x3b, 0xed, 0x1b, 0xd7, 0x1b, 0x4e, 0xc3, 0x42, - 0xf6, 0xd3, 0x9f, 0x9d, 0x43, 0x1e, 0x9d, 0xdd, 0x5c, 0x8f, 0xee, 0x16, 0x79, 0xf4, 0x1e, 0xc8, - 0x62, 0xff, 0xd8, 0xc0, 0xee, 0x97, 0x29, 0xd2, 0x2f, 0x8e, 0xa7, 0xf7, 0x6e, 0x9e, 0xa7, 0xc3, - 0x66, 0x67, 0xed, 0xbe, 0xad, 0xcb, 0xda, 0xfd, 0x5b, 0x96, 0xb5, 0xbf, 0x0e, 0x01, 0xc9, 0xbe, - 0x1a, 0x0c, 0x01, 0x42, 0x30, 0x16, 0x02, 0x1e, 0x4a, 0x90, 0x0b, 0xec, 0xab, 0x09, 0xd4, 0x96, - 0x17, 0x02, 0x2e, 0x0a, 0x84, 0xdd, 0xc7, 0x2f, 0x04, 0xf8, 0xb8, 0x52, 0xde, 0x97, 0x60, 0xaf, - 0xa8, 0x33, 0x6d, 0x2d, 0xa0, 0x08, 0xdd, 0x16, 0xb2, 0x1b, 0x55, 0xc7, 0x2b, 0x8e, 0x9d, 0x4a, - 0x92, 0x21, 0x38, 0x88, 0x8b, 0x89, 0x05, 0x92, 0x8a, 0x1e, 0x21, 0xaf, 0xbe, 0x90, 0xe1, 0xd5, - 0x17, 0x7e, 0x29, 0xc1, 0x1e, 0x3e, 0x15, 0xf9, 0x0a, 0xf4, 0x78, 0x46, 0x49, 0xab, 0x7b, 0xa9, - 0x4c, 0x87, 0x21, 0xc9, 0x17, 0xa1, 0x0b, 0x7b, 0x0a, 0x09, 0xc2, 0xe9, 0xb0, 0x09, 0x86, 0x7c, - 0x16, 0x32, 0xab, 0x08, 0x11, 0x96, 0xd3, 0x21, 0xba, 0xf0, 0xd1, 0xba, 0x09, 0x99, 0x8b, 0x66, - 0x55, 0x33, 0x45, 0x31, 0xe9, 0xb9, 0xa0, 0x0d, 0x1d, 0x8d, 0xd3, 0x7f, 0x93, 0x30, 0xc7, 0x92, - 0x0a, 0x0f, 0x12, 0xea, 0x26, 0x62, 0xe6, 0x94, 0x15, 0x5c, 0x36, 0x11, 0x03, 0x6c, 0x46, 0x69, - 0xe9, 0xa7, 0x7e, 0x73, 0x0d, 0xe4, 0xe4, 0x2f, 0x52, 0x4b, 0x97, 0x39, 0x5a, 0x3a, 0x1c, 0xd5, - 0x92, 0x80, 0x3f, 0x05, 0xc1, 0xa1, 0x24, 0x98, 0xcd, 0xd0, 0xd5, 0x47, 0x12, 0x5e, 0x90, 0xf8, - 0xea, 0x58, 0xbc, 0x59, 0x11, 0x17, 0xe3, 0x16, 0x43, 0xc5, 0xb8, 0x36, 0xf4, 0xe5, 0x95, 0xe4, - 0xae, 0x3e, 0x48, 0x88, 0xc4, 0x49, 0x4c, 0x2a, 0x1f, 0x48, 0x38, 0x14, 0x27, 0xc1, 0x3d, 0x8d, - 0xa5, 0xb9, 0x47, 0x12, 0xae, 0x7f, 0xcf, 0xbb, 0x89, 0xb9, 0xca, 0x22, 0xb8, 0x50, 0xed, 0xb1, - 0x07, 0x64, 0x91, 0x62, 0x78, 0x86, 0x53, 0x0c, 0x0f, 0xda, 0x4c, 0xa7, 0xc0, 0x66, 0xba, 0x9a, - 0x36, 0x33, 0xc3, 0x99, 0x9e, 0xd1, 0x80, 0x3d, 0x07, 0x79, 0x57, 0xc6, 0x70, 0xb1, 0x31, 0xd4, - 0xca, 0xd2, 0xe0, 0x7b, 0x24, 0x0d, 0x92, 0xb9, 0x0a, 0xc2, 0x88, 0xad, 0xed, 0x0a, 0x74, 0x96, - 0x55, 0x47, 0x4d, 0x53, 0xf8, 0xc5, 0x94, 0x16, 0x54, 0x47, 0xa5, 0x56, 0x86, 0x11, 0x0b, 0x67, - 0x1f, 0x24, 0x24, 0x40, 0x2e, 0x3f, 0xca, 0x75, 0x1c, 0x50, 0xb8, 0x7d, 0xcc, 0x98, 0x72, 0xd0, - 0x6d, 0x37, 0x34, 0x0d, 0xd9, 0xc4, 0x8e, 0x7a, 0x8a, 0xde, 0x67, 0x30, 0x78, 0xef, 0x0b, 0x12, - 0x0a, 0xb8, 0xf6, 0x56, 0x4b, 0xff, 0x2c, 0x47, 0xfa, 0x23, 0x02, 0xe9, 0x39, 0x8c, 0x29, 0x37, - 0xe1, 0x70, 0x22, 0x50, 0x4b, 0xfa, 0xf8, 0x7d, 0x37, 0x0c, 0x79, 0x14, 0xc9, 0x39, 0x56, 0x82, - 0x0a, 0x52, 0x9d, 0xf3, 0x5c, 0x81, 0x71, 0xbb, 0x6e, 0x3a, 0x25, 0xe6, 0x21, 0x76, 0xc9, 0x31, - 0x4b, 0x1a, 0xe6, 0xb8, 0xa4, 0x56, 0xab, 0xd4, 0x1d, 0x73, 0x36, 0x5b, 0x1e, 0x2c, 0x96, 0xed, - 0xdb, 0x26, 0x11, 0x69, 0xb6, 0x5a, 0x95, 0x5f, 0x80, 0xa9, 0x32, 0x0b, 0x1c, 0x62, 0x32, 0x9d, - 0x98, 0xcc, 0x44, 0x39, 0x74, 0xb4, 0x18, 0x22, 0xf6, 0x0f, 0xb0, 0x1b, 0x73, 0x43, 0xe3, 0x01, - 0x23, 0x91, 0xeb, 0x6a, 0x75, 0x1a, 0xa5, 0xa2, 0x6c, 0x33, 0xbb, 0xf3, 0x86, 0x90, 0x5f, 0x87, - 0x51, 0x1f, 0xb3, 0x91, 0x51, 0xb2, 0xad, 0x8f, 0x92, 0x2b, 0x07, 0xe3, 0x74, 0x73, 0x2c, 0x8e, - 0x2c, 0x38, 0x02, 0xe6, 0xba, 0x5b, 0x3d, 0x89, 0x09, 0xcb, 0x82, 0xc9, 0xc8, 0x75, 0x91, 0x2c, - 0x64, 0x94, 0x9e, 0xf6, 0x52, 0x0c, 0x5f, 0x22, 0x32, 0xe2, 0x1d, 0x98, 0x5c, 0xc1, 0x46, 0x5c, - 0x32, 0x89, 0x15, 0x47, 0x35, 0xd8, 0xdb, 0xba, 0x06, 0x47, 0x57, 0xa2, 0x8e, 0xc1, 0x94, 0x58, - 0x84, 0x83, 0xa1, 0x21, 0x85, 0x16, 0x06, 0xd8, 0xc2, 0xf6, 0xad, 0x44, 0xeb, 0x0a, 0x21, 0x23, - 0xbb, 0x17, 0x27, 0x06, 0x51, 0x5e, 0x5f, 0xbb, 0xca, 0x13, 0x08, 0x83, 0xa9, 0x16, 0x4e, 0x72, - 0x42, 0xca, 0x78, 0x24, 0xa4, 0xf8, 0x7d, 0x5b, 0x79, 0x90, 0x85, 0x31, 0x5e, 0x07, 0x8b, 0x1c, - 0xd3, 0x30, 0x88, 0xad, 0x8c, 0x2a, 0x22, 0x18, 0x45, 0x76, 0xb9, 0x5d, 0x34, 0x08, 0x93, 0x0e, - 0xb9, 0x00, 0x23, 0x3e, 0xab, 0x09, 0x61, 0x75, 0x60, 0xac, 0xe1, 0x26, 0x40, 0x10, 0xf7, 0x08, - 0xec, 0x6a, 0x5a, 0xb4, 0xb7, 0x0e, 0x20, 0xf1, 0x61, 0x27, 0x33, 0x50, 0xba, 0x16, 0x38, 0x07, - 0xc3, 0x61, 0xeb, 0xf4, 0x30, 0x48, 0x28, 0xd8, 0x1d, 0x32, 0x33, 0x8a, 0x37, 0x0b, 0xe3, 0xa1, - 0xc9, 0x09, 0xf1, 0xd8, 0x85, 0x79, 0xcc, 0x07, 0xf4, 0x1c, 0x64, 0xf3, 0x32, 0x8c, 0xf2, 0xe6, - 0xd7, 0x1b, 0x3e, 0x4b, 0x02, 0x5a, 0x74, 0xa2, 0x28, 0x07, 0xe7, 0x21, 0xe7, 0xad, 0x62, 0xfc, - 0xfe, 0x8b, 0xd7, 0x26, 0xdd, 0x84, 0x75, 0xda, 0xdf, 0x4c, 0x6c, 0x78, 0x39, 0x73, 0x16, 0x86, - 0xe9, 0x72, 0x26, 0x82, 0xd7, 0x83, 0xf1, 0x86, 0x48, 0x77, 0x08, 0x6d, 0x1e, 0x26, 0xbc, 0xf1, - 0xa2, 0xfe, 0x8c, 0xb1, 0x7b, 0x31, 0xf6, 0x28, 0x85, 0x0a, 0x19, 0x1e, 0x21, 0x32, 0x0b, 0xe3, - 0x74, 0x6c, 0x01, 0x0d, 0xe2, 0x1d, 0x79, 0x02, 0xc4, 0x25, 0xf1, 0xd7, 0xa0, 0x78, 0x7c, 0xf0, - 0xdd, 0x03, 0xd3, 0xe9, 0x23, 0x71, 0x9c, 0x42, 0x72, 0x72, 0x1a, 0xa6, 0xf5, 0x3c, 0xec, 0xa3, - 0xec, 0xc4, 0x90, 0xea, 0xc7, 0xa4, 0x28, 0xdf, 0x02, 0x4a, 0xbe, 0xfc, 0xf7, 0x23, 0x09, 0x26, - 0x38, 0xdb, 0xa1, 0x34, 0x15, 0x81, 0x4d, 0xdb, 0xa7, 0x5c, 0xe2, 0x78, 0xf0, 0xc1, 0xb8, 0xdd, - 0x9c, 0xbf, 0x32, 0xf0, 0x43, 0x09, 0x9e, 0x89, 0x07, 0x49, 0xbb, 0x49, 0x79, 0x25, 0x5c, 0x1f, - 0xb8, 0x90, 0x4e, 0xa2, 0x27, 0xab, 0x12, 0xfc, 0xae, 0x03, 0xc6, 0xe2, 0x68, 0x7d, 0x05, 0x6b, - 0x05, 0xf2, 0xdf, 0xc0, 0x0e, 0x7c, 0x89, 0x46, 0x37, 0x8d, 0x52, 0x19, 0x55, 0x1d, 0x15, 0xaf, - 0xee, 0xfb, 0x4e, 0x1d, 0x8e, 0xbd, 0x8d, 0x44, 0x31, 0x16, 0x5c, 0x04, 0x6a, 0x20, 0xdb, 0xeb, - 0xfe, 0x46, 0xf9, 0x12, 0x64, 0xeb, 0xea, 0x86, 0xd9, 0x70, 0x5a, 0x39, 0xa1, 0xa7, 0x28, 0x3e, - 0x95, 0xff, 0x8c, 0xac, 0x81, 0x39, 0x3b, 0xdb, 0x2f, 0xd4, 0xec, 0x13, 0xd7, 0xc2, 0xf1, 0x0c, - 0x2a, 0x3f, 0x91, 0xf0, 0x62, 0x38, 0x1e, 0xea, 0xe9, 0x36, 0xfe, 0x3f, 0xd1, 0x4a, 0x24, 0xce, - 0x34, 0x21, 0x65, 0x7d, 0x79, 0x3b, 0x4f, 0xd6, 0x5d, 0x53, 0xed, 0x75, 0x6c, 0x6a, 0x5d, 0xb4, - 0x7b, 0x49, 0xb5, 0xd7, 0x3d, 0x81, 0xb2, 0x4d, 0x81, 0x12, 0xf7, 0x74, 0x5c, 0x01, 0x15, 0x85, - 0x14, 0x89, 0x78, 0x7d, 0x6c, 0x93, 0xfa, 0xcf, 0x1d, 0xf8, 0x6e, 0xab, 0x68, 0xb3, 0xf3, 0x15, - 0x52, 0xd2, 0x05, 0x8e, 0x92, 0xf6, 0x47, 0x95, 0x14, 0x95, 0x51, 0x39, 0x80, 0x0b, 0x44, 0xa2, - 0x6e, 0xa6, 0xaa, 0xb7, 0x25, 0xe8, 0x65, 0xcb, 0xe0, 0xa0, 0x02, 0xa4, 0x24, 0x05, 0x74, 0x24, - 0x2a, 0x20, 0x13, 0xaf, 0x80, 0x4e, 0x81, 0x02, 0x9a, 0xe5, 0x0b, 0xe5, 0xfb, 0x24, 0xd5, 0xfa, - 0x36, 0xaf, 0xe1, 0x15, 0xc3, 0xd6, 0xed, 0xbb, 0x13, 0x53, 0x6c, 0x0c, 0x57, 0xca, 0x0d, 0x9c, - 0x61, 0x63, 0x20, 0x5a, 0xda, 0x71, 0xff, 0x4b, 0x07, 0xec, 0x5e, 0xb2, 0x2b, 0xcb, 0x4c, 0xd5, - 0xb7, 0x2d, 0xd5, 0xb0, 0x57, 0x63, 0x6c, 0xf9, 0x04, 0x0c, 0xd9, 0x66, 0xc3, 0xd2, 0x50, 0x89, - 0x37, 0x69, 0x32, 0xe9, 0x5b, 0xf6, 0x4f, 0x1d, 0x5e, 0x8f, 0xdb, 0x8e, 0x6e, 0x90, 0xd3, 0x6e, - 0x9e, 0xb1, 0x0f, 0xfb, 0x00, 0x96, 0xf9, 0x77, 0x34, 0x3b, 0x5b, 0xbb, 0xa3, 0x39, 0x1d, 0xd2, - 0xef, 0x84, 0x5f, 0xbf, 0x51, 0x71, 0x95, 0x49, 0x5c, 0x46, 0x8f, 0x76, 0x30, 0x83, 0x7e, 0xab, - 0x03, 0xdf, 0xe3, 0xbc, 0x76, 0xdf, 0x41, 0x96, 0xa1, 0x56, 0xff, 0x52, 0xf4, 0x74, 0x2c, 0xa4, - 0xa7, 0xc0, 0xdd, 0xfe, 0xb0, 0xb0, 0xf4, 0x6e, 0x7f, 0xb8, 0x99, 0xe9, 0xe8, 0x33, 0x09, 0xd7, - 0x6f, 0x6e, 0xe8, 0x77, 0x1a, 0x3a, 0xbe, 0x85, 0x4c, 0x17, 0x0c, 0x4f, 0x56, 0xbf, 0x09, 0x04, - 0x8f, 0x4c, 0x28, 0x78, 0xb0, 0x05, 0x40, 0x67, 0x7b, 0x0b, 0x00, 0xc9, 0x5b, 0x00, 0x1c, 0x8f, - 0xdb, 0xb5, 0x46, 0x24, 0x52, 0x26, 0xf0, 0xa6, 0x35, 0xd2, 0xce, 0x54, 0xf1, 0x2e, 0x49, 0xa6, - 0xd7, 0x6a, 0xc8, 0xaa, 0x20, 0x43, 0xdb, 0x58, 0xc6, 0xf7, 0x33, 0xe8, 0x2b, 0x87, 0x2d, 0x53, - 0x47, 0xe1, 0x64, 0x5c, 0xe2, 0xe3, 0x32, 0x43, 0x13, 0x1f, 0xb7, 0xaf, 0x79, 0x7f, 0xbc, 0x03, - 0x3f, 0xda, 0x58, 0x34, 0xdc, 0x4d, 0x91, 0xcd, 0xa4, 0x25, 0x47, 0xc6, 0x4f, 0x89, 0x0b, 0x04, - 0xf4, 0xd2, 0x19, 0x32, 0x93, 0x4b, 0xcc, 0x3f, 0x5a, 0x59, 0xac, 0x52, 0x1f, 0x39, 0x15, 0x52, - 0xaa, 0x12, 0x3c, 0x0f, 0xe6, 0xe9, 0x84, 0x3e, 0x36, 0xe0, 0x77, 0x86, 0xd5, 0xba, 0x80, 0xbe, - 0x56, 0x6b, 0x58, 0xad, 0x7c, 0x9d, 0x50, 0xb5, 0xf2, 0x3b, 0x99, 0x5a, 0x3f, 0x92, 0xb0, 0x73, - 0xde, 0xb2, 0xf4, 0xbb, 0x7a, 0x15, 0x55, 0x50, 0xf9, 0xda, 0x7d, 0xa4, 0x35, 0x1c, 0x34, 0x6f, - 0x1a, 0x8e, 0xa5, 0x6a, 0x62, 0xff, 0x1b, 0x82, 0xae, 0xd5, 0x86, 0x51, 0xb6, 0xa9, 0x2a, 0xc9, - 0x87, 0x7c, 0x18, 0x06, 0x34, 0x8a, 0x59, 0x52, 0xc9, 0x5b, 0x0f, 0xaa, 0xb4, 0x9d, 0x5e, 0x3b, - 0x7d, 0x02, 0x22, 0xcb, 0x74, 0x69, 0x40, 0xf4, 0x44, 0xb2, 0xfd, 0x65, 0xc1, 0x41, 0xfb, 0x01, - 0xbf, 0xb8, 0x42, 0x5e, 0xdd, 0x40, 0xb2, 0x3f, 0x0e, 0x80, 0xa5, 0xfb, 0xd7, 0x01, 0x30, 0xbf, - 0xa5, 0xb2, 0xbe, 0xba, 0x8a, 0x33, 0x7e, 0x6c, 0x1a, 0x38, 0xe1, 0x4e, 0xd5, 0x7b, 0xbf, 0x99, - 0x3c, 0x54, 0xd1, 0x9d, 0xb5, 0xc6, 0xca, 0xb4, 0x66, 0xd6, 0xe8, 0x63, 0x3f, 0xfa, 0xdf, 0x71, - 0xbb, 0xbc, 0x3e, 0xe3, 0x6c, 0xd4, 0x91, 0x8d, 0x11, 0xec, 0x62, 0x2f, 0x26, 0xbf, 0xa0, 0xaf, - 0xae, 0x16, 0x06, 0x39, 0x32, 0x29, 0xaf, 0xc1, 0xc0, 0x92, 0x5d, 0x29, 0xa2, 0x7b, 0xaa, 0x55, - 0xb6, 0x6f, 0xd6, 0x9d, 0x9b, 0x0d, 0xa1, 0xa6, 0x49, 0x9d, 0x90, 0xa3, 0x94, 0x11, 0xbf, 0x52, - 0x02, 0xa4, 0x94, 0x3c, 0x0e, 0xa8, 0x81, 0x36, 0xff, 0xfb, 0x96, 0xdd, 0xb8, 0x53, 0xab, 0xaa, - 0x7a, 0xed, 0x86, 0xa9, 0xad, 0xa3, 0xf2, 0x75, 0x3c, 0x79, 0x62, 0x27, 0x1a, 0xac, 0x62, 0xb0, - 0x59, 0x62, 0xe9, 0xb7, 0x1a, 0x2b, 0x2f, 0xa0, 0x0d, 0x3c, 0xf1, 0xfd, 0x45, 0x5e, 0x97, 0x3c, - 0x06, 0xbd, 0xb6, 0x5e, 0x31, 0x54, 0xa7, 0x61, 0x91, 0x4d, 0x78, 0x7f, 0xb1, 0xd9, 0x10, 0xbf, - 0xde, 0x88, 0xf2, 0x45, 0xd7, 0x1b, 0xd1, 0x0e, 0x26, 0xd2, 0x9b, 0xe4, 0xa9, 0xcb, 0xb2, 0x5e, - 0x31, 0xf0, 0x12, 0x7a, 0x19, 0xb2, 0xee, 0xdf, 0x54, 0x90, 0xfe, 0xb9, 0x4b, 0x9f, 0x3f, 0x9e, - 0xcc, 0xda, 0xb8, 0xe5, 0x8f, 0x8f, 0x27, 0x8f, 0xa7, 0x98, 0xc5, 0x59, 0x4d, 0xa3, 0x76, 0x5a, - 0xa4, 0xa4, 0xe4, 0x31, 0xe8, 0x5c, 0x20, 0x4b, 0x59, 0x97, 0x64, 0xcf, 0xe7, 0x8f, 0x27, 0xb1, - 0xcd, 0x16, 0x71, 0xab, 0x72, 0x1f, 0x3f, 0x1a, 0xc2, 0x1c, 0x98, 0x9a, 0x7c, 0x80, 0xc8, 0x4f, - 0x2e, 0x7b, 0x91, 0xda, 0x07, 0x46, 0x70, 0xbf, 0x8b, 0x3d, 0x6e, 0x17, 0xbe, 0xce, 0x35, 0x0f, - 0x5d, 0x77, 0xd5, 0x6a, 0x03, 0xd1, 0x9d, 0xeb, 0xc1, 0xb8, 0x84, 0xec, 0x93, 0xcf, 0xdb, 0x8d, - 0x63, 0x5c, 0xe5, 0x3f, 0x32, 0xd8, 0xcf, 0x67, 0xcb, 0x35, 0xdd, 0x20, 0x35, 0x61, 0xce, 0x96, - 0xba, 0xbd, 0xed, 0xd6, 0x8b, 0x30, 0xe0, 0xbb, 0x47, 0x49, 0x6a, 0x31, 0xcd, 0x92, 0x8a, 0x94, - 0x14, 0xbc, 0x76, 0x36, 0x91, 0xf1, 0xf5, 0x26, 0xe1, 0x55, 0xce, 0xce, 0xd6, 0xaf, 0x72, 0x76, - 0x89, 0xaf, 0x72, 0x5e, 0x85, 0xac, 0xed, 0xa8, 0x4e, 0xc3, 0xa6, 0xd7, 0xec, 0x0e, 0xc5, 0xaa, - 0x15, 0xcb, 0xba, 0x8c, 0xe1, 0x8b, 0x14, 0xaf, 0x50, 0x88, 0x2b, 0x6e, 0xc4, 0x2b, 0x5a, 0x39, - 0x8a, 0x6b, 0x1b, 0xf1, 0x40, 0xcc, 0x70, 0xbf, 0x49, 0x1e, 0x36, 0xcd, 0x92, 0x47, 0x6b, 0x6f, - 0xa0, 0x65, 0x47, 0x5d, 0x47, 0xcf, 0x59, 0xaa, 0xe1, 0x88, 0xbd, 0xf1, 0x3a, 0x64, 0x2b, 0x18, - 0x82, 0x6e, 0xaa, 0xa6, 0xe3, 0xc4, 0xc3, 0xb4, 0x3c, 0xf2, 0x58, 0xb5, 0x45, 0x8a, 0x5d, 0x38, - 0x11, 0xf7, 0xaa, 0x89, 0xc7, 0x91, 0xb2, 0x0f, 0x3f, 0x8d, 0xe0, 0x75, 0x31, 0x81, 0x36, 0x70, - 0x6c, 0x99, 0x75, 0xb9, 0x51, 0x1d, 0x1f, 0x84, 0x50, 0x9a, 0x1c, 0x74, 0x63, 0x7e, 0xd8, 0xb5, - 0x4c, 0xef, 0x33, 0x3e, 0x4a, 0x44, 0x47, 0xa0, 0x51, 0x22, 0xda, 0xe1, 0xf1, 0x76, 0xea, 0xd1, - 0x41, 0xc8, 0x2c, 0xd9, 0x15, 0x59, 0x85, 0x6e, 0xef, 0x71, 0xdf, 0x33, 0x09, 0x1e, 0x47, 0xe1, - 0xf2, 0xd3, 0xe9, 0xe0, 0x58, 0x7e, 0x29, 0x43, 0x0f, 0x7b, 0x77, 0x97, 0xe4, 0xd5, 0x1e, 0x60, - 0x7e, 0x26, 0x25, 0x20, 0x1b, 0xe5, 0xbf, 0x25, 0x18, 0x16, 0x3d, 0x48, 0x3a, 0x97, 0x40, 0x4c, - 0x80, 0x97, 0x7f, 0xb6, 0x3d, 0x3c, 0xc6, 0xd3, 0x3b, 0x12, 0x8c, 0xc5, 0x3e, 0x9e, 0xb9, 0x94, - 0x6e, 0x00, 0x2e, 0x72, 0x7e, 0xfe, 0x09, 0x90, 0x19, 0x8b, 0xdf, 0x92, 0x60, 0x6f, 0xe2, 0x2d, - 0xe2, 0x2b, 0xe9, 0x46, 0x12, 0x12, 0xc8, 0x3f, 0xf7, 0x84, 0x04, 0x18, 0xbb, 0x0f, 0x24, 0x18, - 0xe2, 0xbe, 0x7c, 0x3c, 0x9d, 0x30, 0x02, 0x0f, 0x29, 0x7f, 0xa9, 0x0d, 0x24, 0xc6, 0xca, 0xff, - 0x49, 0x90, 0x8f, 0x79, 0x75, 0x78, 0x31, 0x81, 0xb6, 0x18, 0x35, 0x3f, 0xdb, 0x36, 0x2a, 0x63, - 0xee, 0xdf, 0x25, 0xd8, 0xcd, 0xbf, 0x19, 0x7a, 0x26, 0xb5, 0xcc, 0x3e, 0xac, 0xfc, 0x5f, 0xb5, - 0x83, 0xc5, 0xb8, 0xd9, 0x80, 0x9d, 0xe1, 0x0b, 0x49, 0x49, 0x41, 0x24, 0x04, 0x9f, 0x3f, 0xd7, - 0x1a, 0x7c, 0x40, 0x11, 0xfc, 0xbb, 0x41, 0x67, 0x52, 0x69, 0x39, 0x84, 0x95, 0xa8, 0x88, 0xf8, - 0xbb, 0x3d, 0xff, 0x04, 0xbb, 0xa2, 0x77, 0x54, 0x4e, 0xa4, 0x21, 0xe9, 0xc7, 0xc8, 0x5f, 0x68, - 0x15, 0x83, 0x31, 0xf0, 0xbf, 0x12, 0x8c, 0x88, 0xb7, 0x37, 0x49, 0x74, 0x85, 0x98, 0xf9, 0xab, - 0xed, 0x62, 0x06, 0xdc, 0x29, 0xe6, 0x32, 0xea, 0xc5, 0x54, 0x06, 0xc8, 0x43, 0x4d, 0x74, 0xa7, - 0x14, 0x97, 0x48, 0xdd, 0x28, 0x99, 0x78, 0xb5, 0xf1, 0x4a, 0x7a, 0xb7, 0xe5, 0x12, 0x48, 0x8c, - 0x92, 0xa9, 0xef, 0x23, 0xbe, 0x2d, 0xc1, 0x68, 0xdc, 0x59, 0x70, 0xa1, 0x45, 0x8d, 0xf8, 0x23, - 0xc1, 0x5c, 0xfb, 0xb8, 0xc1, 0xe8, 0xc4, 0x3d, 0x2d, 0x3a, 0x93, 0xca, 0xcd, 0x43, 0x58, 0xc9, - 0xd1, 0x29, 0xee, 0x70, 0x06, 0x6b, 0x2b, 0xae, 0x9c, 0x5f, 0x48, 0xef, 0xf2, 0x61, 0xdc, 0x44, - 0x6d, 0xa5, 0x29, 0xc7, 0xfb, 0x52, 0xb4, 0xf8, 0x8d, 0x5e, 0xca, 0x14, 0x2d, 0x24, 0x90, 0x36, - 0x45, 0x27, 0x3e, 0x4d, 0x92, 0xff, 0x5f, 0x82, 0xf1, 0xf8, 0x2b, 0xd3, 0xe9, 0x92, 0x89, 0x00, - 0x3b, 0xbf, 0xf0, 0x24, 0xd8, 0x8c, 0xcb, 0x6f, 0x48, 0x30, 0x91, 0x70, 0x74, 0x7c, 0xb9, 0xf5, - 0x81, 0xfc, 0x8e, 0x72, 0xed, 0x89, 0xd0, 0x19, 0xa3, 0xff, 0x23, 0x41, 0x4e, 0x78, 0x6e, 0x78, - 0x3e, 0x95, 0xe1, 0x47, 0x11, 0xf3, 0x57, 0xda, 0x44, 0x0c, 0xe8, 0x2f, 0xe1, 0xfa, 0xe9, 0xe5, - 0xf4, 0xb6, 0xcf, 0x41, 0x4f, 0xd4, 0x5f, 0xca, 0xeb, 0xa3, 0x6f, 0x49, 0x20, 0x73, 0x4e, 0xa9, - 0x4e, 0x26, 0x95, 0x17, 0x22, 0x28, 0xf9, 0x8b, 0x2d, 0xa3, 0x30, 0x26, 0xfe, 0x11, 0x06, 0x22, - 0xe7, 0x3f, 0x49, 0x3b, 0x9c, 0x30, 0x42, 0xfe, 0x7c, 0x8b, 0x08, 0xfe, 0x55, 0x47, 0xf4, 0x64, - 0x25, 0x69, 0xd5, 0x11, 0xc1, 0x48, 0x5c, 0x75, 0x08, 0xcf, 0x34, 0x70, 0xbc, 0xe7, 0x1f, 0x68, - 0x24, 0xc5, 0x7b, 0x2e, 0x56, 0x62, 0xbc, 0x8f, 0x3d, 0x93, 0x90, 0xff, 0x53, 0x82, 0x3d, 0x82, - 0x03, 0x89, 0xb3, 0x89, 0x41, 0x90, 0x87, 0x96, 0xbf, 0xdc, 0x16, 0x5a, 0x80, 0x21, 0x41, 0x29, - 0xff, 0x6c, 0xe2, 0x5e, 0xbb, 0x2d, 0x86, 0xe2, 0xeb, 0xe0, 0xb2, 0x0d, 0xdb, 0x83, 0xd5, 0xd8, - 0x63, 0x09, 0xf4, 0x02, 0xd0, 0xf9, 0x33, 0xad, 0x40, 0x07, 0x22, 0x4a, 0x42, 0xdd, 0x2e, 0x49, - 0xac, 0x78, 0xf4, 0xc4, 0x88, 0x92, 0xae, 0x4e, 0x25, 0xd7, 0xa1, 0x3f, 0xf0, 0x2b, 0x4f, 0x47, - 0x13, 0xc8, 0xfa, 0x81, 0xf3, 0xa7, 0x5b, 0x00, 0xf6, 0x87, 0x8f, 0xc8, 0xef, 0xd7, 0xcd, 0xa4, - 0x22, 0xd4, 0x44, 0x48, 0x0c, 0x1f, 0xa2, 0x1f, 0x5e, 0xc3, 0xe6, 0x29, 0xf8, 0xd5, 0xb5, 0xb3, - 0xa9, 0x68, 0x86, 0xd1, 0x12, 0xcd, 0x33, 0xfe, 0xa7, 0xb6, 0x70, 0x11, 0x80, 0x5b, 0x25, 0x4c, - 0x52, 0x2e, 0x0f, 0x29, 0xb1, 0x08, 0x10, 0x57, 0xe2, 0xc3, 0xd9, 0x85, 0x53, 0xe0, 0x4b, 0xca, - 0x2e, 0x51, 0x94, 0xc4, 0xec, 0x22, 0xae, 0xe5, 0xe5, 0xbb, 0xde, 0xfc, 0xf4, 0xe1, 0x11, 0x69, - 0x6e, 0xed, 0xc3, 0x8f, 0x27, 0xa4, 0x47, 0x1f, 0x4f, 0x48, 0xbf, 0xfd, 0x78, 0x42, 0xfa, 0xaf, - 0x4f, 0x26, 0xb6, 0x3d, 0xfa, 0x64, 0x62, 0xdb, 0xaf, 0x3e, 0x99, 0xd8, 0xf6, 0xf7, 0x2f, 0xfa, - 0x8a, 0xfc, 0x8b, 0xde, 0x28, 0x37, 0xd4, 0x15, 0x7b, 0x86, 0x8d, 0x79, 0x5c, 0x33, 0x2d, 0xe4, - 0xff, 0x5c, 0x53, 0x75, 0x63, 0xa6, 0x66, 0x96, 0x1b, 0x55, 0x64, 0x37, 0x7f, 0x9e, 0x11, 0x1f, - 0x08, 0xac, 0x64, 0xf1, 0x4f, 0x2b, 0x9e, 0xfe, 0x73, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5c, 0x05, - 0xa8, 0x24, 0x9c, 0x52, 0x00, 0x00, + 0x20, 0x06, 0x9c, 0x20, 0x91, 0x83, 0x20, 0xf0, 0x21, 0x09, 0x82, 0x20, 0x07, 0xc3, 0x27, 0x25, + 0x80, 0x81, 0x20, 0x07, 0x25, 0xb0, 0x0f, 0x36, 0x7c, 0x0a, 0x72, 0x09, 0x90, 0x5c, 0x82, 0xae, + 0xaa, 0xae, 0xe9, 0x4f, 0x55, 0x77, 0xcf, 0x88, 0xb4, 0xe5, 0xc0, 0x17, 0x89, 0x5d, 0xf5, 0xde, + 0xab, 0xf7, 0x5e, 0xbd, 0x4f, 0xd5, 0xab, 0xaa, 0x81, 0x29, 0xdd, 0x78, 0x1d, 0x69, 0x8e, 0x7e, + 0x17, 0xcd, 0xa0, 0xfb, 0xda, 0x9a, 0x6a, 0x54, 0xd0, 0xcc, 0xdd, 0x93, 0x2b, 0xc8, 0x51, 0x4f, + 0xce, 0x38, 0xf7, 0xa7, 0xeb, 0x96, 0xe9, 0x98, 0x72, 0x9e, 0x01, 0x4d, 0x7b, 0x40, 0xd3, 0x14, + 0x28, 0x3f, 0xa1, 0x99, 0x76, 0xcd, 0xb4, 0x67, 0x56, 0x54, 0xbb, 0x89, 0xa9, 0x99, 0xba, 0x41, + 0x70, 0xf3, 0xd3, 0xb4, 0xbf, 0xac, 0xdb, 0x8e, 0xa5, 0xaf, 0x34, 0x1c, 0xdd, 0x34, 0x18, 0x9c, + 0xbf, 0x91, 0xc2, 0x0f, 0x53, 0xf8, 0x9a, 0x5d, 0x99, 0xb9, 0x7b, 0xd2, 0xfd, 0x8f, 0x76, 0x8c, + 0x90, 0x8e, 0x12, 0xfe, 0x9a, 0x21, 0x1f, 0xb4, 0x6b, 0xa8, 0x62, 0x56, 0x4c, 0xd2, 0xee, 0xfe, + 0x45, 0x5b, 0x0f, 0xc7, 0x88, 0xc6, 0xc4, 0x20, 0xa0, 0x07, 0x9a, 0xa0, 0xa6, 0xa5, 0x6a, 0xd5, + 0x26, 0x20, 0xf9, 0xa4, 0x60, 0xbb, 0xd4, 0x9a, 0x6e, 0x98, 0x33, 0xf8, 0x5f, 0xd2, 0xa4, 0xbc, + 0x9b, 0x81, 0xc1, 0x25, 0xbb, 0xf2, 0x72, 0xbd, 0xac, 0x3a, 0x68, 0xb9, 0x6e, 0x3a, 0x4b, 0xaa, + 0xb5, 0x8e, 0x1c, 0x79, 0x08, 0xba, 0xd4, 0x72, 0x4d, 0x37, 0x72, 0xd2, 0x5e, 0xe9, 0x50, 0x6f, + 0x91, 0x7c, 0xc8, 0xa3, 0xd0, 0x5b, 0xc3, 0xfd, 0x25, 0xbd, 0x9c, 0xeb, 0xc0, 0x3d, 0x3d, 0xa4, + 0x61, 0xb1, 0x2c, 0x8f, 0x03, 0x18, 0xe8, 0x5e, 0xc9, 0xd1, 0xb5, 0x75, 0x64, 0xe5, 0x32, 0xb8, + 0xb7, 0xd7, 0x40, 0xf7, 0x6e, 0xe3, 0x06, 0xf9, 0xef, 0x60, 0xd8, 0xed, 0xae, 0xe9, 0x46, 0xa9, + 0x6e, 0xe9, 0x1a, 0xc2, 0x80, 0x25, 0x5b, 0x7f, 0x03, 0xe5, 0x3a, 0x5d, 0xd8, 0xb9, 0xa9, 0x0f, + 0x1f, 0x4f, 0x6e, 0xfb, 0xf5, 0xe3, 0xc9, 0x51, 0xa2, 0x1b, 0xbb, 0xbc, 0x3e, 0xad, 0x9b, 0x33, + 0x35, 0xd5, 0x59, 0x9b, 0xbe, 0x81, 0x2a, 0xaa, 0xb6, 0xb1, 0x80, 0xb4, 0xe2, 0xa0, 0x81, 0xee, + 0x2d, 0xe9, 0xc6, 0x2d, 0x97, 0x82, 0x4b, 0x78, 0x59, 0x7f, 0x03, 0xc9, 0x25, 0xc8, 0x7b, 0xa4, + 0xef, 0x34, 0x54, 0xc3, 0xd1, 0x9d, 0x0d, 0x1f, 0xf5, 0xae, 0xf4, 0xd4, 0xf7, 0x10, 0xea, 0x2f, + 0x51, 0x22, 0x6c, 0x80, 0x25, 0x18, 0xf0, 0x06, 0x30, 0x4c, 0x77, 0xb2, 0xd5, 0x6a, 0x2e, 0x9b, + 0x9e, 0xec, 0x0e, 0x42, 0xf6, 0x45, 0x8a, 0x5a, 0x38, 0xfd, 0xe0, 0x9d, 0xc9, 0x6d, 0x9f, 0xbf, + 0x33, 0xb9, 0xed, 0xad, 0xcf, 0x1e, 0x1e, 0x21, 0xaa, 0xfd, 0xb7, 0xcf, 0x1e, 0x1e, 0x19, 0x63, + 0xd3, 0xcc, 0x99, 0x11, 0x65, 0x1c, 0x46, 0x39, 0xcd, 0x45, 0x64, 0xd7, 0x4d, 0xc3, 0x46, 0xca, + 0x1f, 0x3a, 0x61, 0x84, 0xf5, 0x2f, 0x20, 0x4b, 0xbf, 0xab, 0xba, 0xf6, 0xf0, 0xcd, 0x74, 0x6e, + 0xf9, 0x74, 0xca, 0xaf, 0x42, 0xce, 0x25, 0xa7, 0x1b, 0xba, 0xa3, 0xab, 0xd5, 0x52, 0x4d, 0xb5, + 0x2a, 0xba, 0x51, 0xb2, 0x54, 0x47, 0x37, 0x73, 0xdd, 0xe9, 0xc9, 0xee, 0x36, 0xd0, 0xbd, 0x45, + 0x42, 0x63, 0x09, 0x93, 0x28, 0xba, 0x14, 0xe4, 0x32, 0x8c, 0x61, 0x66, 0x55, 0xdd, 0x70, 0x90, + 0xa1, 0x1a, 0x1a, 0x0a, 0x8e, 0xd0, 0x93, 0x7e, 0x84, 0x11, 0x97, 0xf1, 0x26, 0x1d, 0xdf, 0x28, + 0x85, 0x8b, 0x7c, 0x93, 0x54, 0xa2, 0x26, 0x19, 0xb6, 0x2d, 0x65, 0x0a, 0xf6, 0x09, 0x3b, 0x99, + 0x79, 0x7e, 0x20, 0xc1, 0x4e, 0x06, 0x75, 0x4b, 0xb5, 0xd4, 0x9a, 0x2d, 0x9f, 0x83, 0x5e, 0xb5, + 0xe1, 0xac, 0x99, 0x96, 0xee, 0x6c, 0x10, 0xc3, 0x9c, 0xcb, 0xfd, 0xf2, 0x07, 0xc7, 0x87, 0x68, + 0x6c, 0x9c, 0x2d, 0x97, 0x2d, 0x64, 0xdb, 0xcb, 0x8e, 0xa5, 0x1b, 0x95, 0x62, 0x13, 0x54, 0xbe, + 0x0a, 0xd9, 0x3a, 0xa6, 0x80, 0x6d, 0xb6, 0xef, 0x94, 0x32, 0x2d, 0x8e, 0xef, 0xd3, 0x64, 0xac, + 0xb9, 0x4e, 0x57, 0x3f, 0x45, 0x8a, 0x57, 0x38, 0xea, 0x4a, 0xd9, 0xa4, 0xe8, 0x4a, 0x9a, 0x8b, + 0x4a, 0x4a, 0x50, 0x95, 0x11, 0x18, 0x0e, 0x35, 0x31, 0xa9, 0xbe, 0x27, 0x01, 0x2c, 0xd9, 0x95, + 0x05, 0x54, 0x37, 0x6d, 0xdd, 0x91, 0xf7, 0x40, 0xd6, 0x46, 0x46, 0x19, 0x59, 0xd4, 0xcd, 0xe8, + 0x97, 0x3c, 0x05, 0xdb, 0xed, 0xc6, 0x8a, 0xaa, 0x69, 0x66, 0xc3, 0xf0, 0xf9, 0x5a, 0x7f, 0xb3, + 0x71, 0xb1, 0x2c, 0x9f, 0x87, 0xac, 0x5a, 0x73, 0xff, 0xc6, 0xbe, 0xd6, 0x77, 0x6a, 0x84, 0x66, + 0x9e, 0x69, 0x37, 0x33, 0x31, 0x71, 0xe6, 0x4d, 0xdd, 0xf0, 0x84, 0x21, 0xe0, 0x85, 0xa3, 0xfe, + 0xa9, 0xa3, 0x43, 0xba, 0x12, 0x0d, 0xfa, 0x25, 0xa2, 0x2c, 0x2a, 0x43, 0x20, 0x37, 0xbf, 0x98, + 0x1c, 0xef, 0x4b, 0xd0, 0xb7, 0x64, 0x57, 0xfe, 0x56, 0x77, 0xd6, 0xca, 0x96, 0x7a, 0xef, 0x2b, + 0x12, 0xe4, 0x98, 0x40, 0x90, 0x21, 0xbf, 0x20, 0x1e, 0x8f, 0xca, 0x6e, 0x9c, 0xb8, 0xbc, 0x4f, + 0x26, 0xca, 0x77, 0x25, 0x3c, 0x5d, 0xf3, 0x16, 0xa2, 0x71, 0xf2, 0x86, 0x5e, 0xd3, 0x9d, 0x9b, + 0x96, 0xcb, 0xbe, 0x48, 0xac, 0x59, 0xe8, 0x32, 0x5d, 0x00, 0x6a, 0x4f, 0x07, 0xe2, 0xec, 0xc9, + 0x25, 0x89, 0xa9, 0x51, 0xe6, 0x09, 0x66, 0xe1, 0x82, 0x80, 0xf7, 0xbd, 0x7e, 0xde, 0x79, 0x4c, + 0x29, 0xaf, 0xc2, 0xa4, 0xa0, 0xcb, 0x93, 0xc9, 0x0d, 0xc5, 0x78, 0x94, 0xd2, 0x9a, 0x6a, 0xaf, + 0x51, 0xde, 0x7b, 0x71, 0xcb, 0xf3, 0xaa, 0xbd, 0x26, 0x0f, 0x40, 0x46, 0x63, 0x73, 0xe1, 0xfe, + 0x59, 0xe8, 0xf1, 0xb8, 0x51, 0x7e, 0x24, 0xc1, 0xf8, 0x92, 0x5d, 0x99, 0x53, 0x1d, 0x6d, 0x8d, + 0x37, 0x86, 0x2d, 0x54, 0xca, 0x3c, 0x64, 0xf1, 0x10, 0xae, 0x97, 0x65, 0x5a, 0xd5, 0x0a, 0x45, + 0x2d, 0x3c, 0x2b, 0x50, 0xcb, 0x33, 0x7e, 0xb5, 0x88, 0x99, 0x53, 0xbe, 0x2f, 0xc1, 0x81, 0x58, + 0x08, 0xa6, 0xa3, 0x7d, 0xd0, 0xdf, 0xd4, 0x11, 0xb2, 0x73, 0xd2, 0xde, 0xcc, 0xa1, 0xde, 0x62, + 0x1f, 0xd3, 0x12, 0xb2, 0xe5, 0x69, 0x18, 0xd4, 0x30, 0x8d, 0x72, 0x89, 0xb0, 0x57, 0xd2, 0xf4, + 0x32, 0x11, 0xaf, 0xb7, 0xb8, 0x8b, 0x76, 0x11, 0xb2, 0xf3, 0x7a, 0xd9, 0x96, 0x8f, 0x81, 0xbc, + 0xaa, 0xea, 0xd5, 0x10, 0x78, 0x06, 0x83, 0x0f, 0x90, 0x9e, 0x26, 0xb4, 0x4f, 0xe7, 0x1f, 0x77, + 0x42, 0x7e, 0xc9, 0xae, 0x2c, 0x1a, 0xb6, 0xa3, 0x1a, 0x4e, 0x33, 0x57, 0xdf, 0x50, 0x1b, 0x86, + 0xb6, 0x26, 0x54, 0xf8, 0x1e, 0xc8, 0xd2, 0x64, 0x4b, 0x66, 0x92, 0x7e, 0xb9, 0xb3, 0xef, 0x7a, + 0x4e, 0xa9, 0x8c, 0x0c, 0xb3, 0xe6, 0x25, 0x62, 0xb7, 0x65, 0xc1, 0x6d, 0x90, 0x27, 0xa1, 0xef, + 0x4e, 0xc3, 0x74, 0xbc, 0x7e, 0x9c, 0x7c, 0x8b, 0x80, 0x9b, 0x08, 0x40, 0x11, 0x06, 0x79, 0x59, + 0xba, 0x85, 0x3c, 0x3a, 0x50, 0x0b, 0xa7, 0xe8, 0x57, 0x60, 0x8f, 0x20, 0x3d, 0xb7, 0x90, 0x47, + 0x5d, 0xb6, 0x22, 0xb9, 0xf9, 0x3a, 0xf4, 0x07, 0xf2, 0x72, 0x0b, 0x09, 0xb4, 0xaf, 0xe6, 0x4b, + 0xca, 0x8b, 0xb0, 0xa3, 0xa6, 0xae, 0x23, 0xab, 0xb4, 0x8a, 0x90, 0x9b, 0x29, 0x51, 0x2b, 0x89, + 0xb2, 0x1f, 0xa3, 0x5e, 0x47, 0xa8, 0xa8, 0x3a, 0xc8, 0x25, 0xe5, 0x04, 0x49, 0xf5, 0xb6, 0x40, + 0xca, 0xf1, 0x91, 0x2a, 0x5c, 0x12, 0xf8, 0xc3, 0x94, 0xdf, 0x1f, 0x04, 0x86, 0xa3, 0xec, 0x07, + 0x45, 0xdc, 0xdb, 0x8c, 0xe5, 0xdd, 0x38, 0xa0, 0x50, 0xb0, 0x5b, 0xc8, 0xaa, 0x23, 0xa7, 0x81, + 0x97, 0x14, 0xed, 0x9b, 0x60, 0xc8, 0xc6, 0x32, 0x11, 0x1b, 0x9b, 0x84, 0x3e, 0xb2, 0xd3, 0x28, + 0xb9, 0x86, 0xe9, 0x19, 0x21, 0x69, 0x9a, 0x53, 0x3d, 0xf7, 0xc4, 0x00, 0x18, 0x8b, 0x58, 0x5f, + 0x91, 0x22, 0xbd, 0xe4, 0x36, 0xb9, 0xee, 0x49, 0x41, 0x6c, 0x4d, 0xad, 0xa2, 0xd2, 0xaa, 0xaa, + 0x39, 0xa6, 0x85, 0x0d, 0x6a, 0x7b, 0x71, 0x17, 0xe9, 0x5a, 0x76, 0x7b, 0xae, 0xe3, 0x0e, 0xf9, + 0x1a, 0x1b, 0xd3, 0xd9, 0xa8, 0x23, 0x6c, 0x28, 0x3b, 0x4e, 0xed, 0xf7, 0x45, 0x29, 0xba, 0xf7, + 0xf1, 0x62, 0xd4, 0x4d, 0xfc, 0x79, 0x7b, 0xa3, 0x8e, 0x3c, 0xce, 0xdc, 0xbf, 0x9f, 0x4e, 0x43, + 0x91, 0x5f, 0x86, 0x21, 0xee, 0x7a, 0x12, 0xd2, 0x13, 0x94, 0xf5, 0xe8, 0x62, 0xf2, 0x35, 0xc8, + 0x09, 0x17, 0x92, 0x7d, 0x2d, 0x2c, 0xac, 0x6b, 0xdc, 0x55, 0xa4, 0x28, 0xd4, 0xf4, 0x6f, 0x4d, + 0xa8, 0xd9, 0xbe, 0xc9, 0xa1, 0x66, 0x47, 0x7b, 0xa1, 0xa6, 0x70, 0x55, 0xe0, 0xd4, 0x87, 0x38, + 0x4e, 0xcd, 0xf5, 0x47, 0xe5, 0x30, 0x1c, 0x4c, 0x00, 0x61, 0xee, 0xfd, 0xaf, 0xdd, 0x30, 0xd5, + 0x84, 0x9d, 0xd3, 0x0d, 0xd5, 0xda, 0xb8, 0x59, 0x77, 0x39, 0xb1, 0x9f, 0xc8, 0xc5, 0xa7, 0x60, + 0xbb, 0xe7, 0x7d, 0x1b, 0xb5, 0x15, 0xb3, 0x4a, 0x9d, 0x9c, 0x7a, 0xed, 0x32, 0x6e, 0x93, 0x0f, + 0xc2, 0x4e, 0x0a, 0x54, 0xb7, 0xcc, 0xbb, 0xba, 0x4b, 0x9d, 0xb8, 0xfa, 0x0e, 0xd2, 0x7c, 0x8b, + 0xb6, 0x86, 0x7d, 0xb3, 0xab, 0x4d, 0xdf, 0x6c, 0x35, 0x24, 0x44, 0x7d, 0xb9, 0x7b, 0xf3, 0x7c, + 0xb9, 0xa7, 0x5d, 0x5f, 0x3e, 0x09, 0x43, 0xe8, 0x7e, 0x5d, 0xc7, 0x5e, 0x66, 0x94, 0x1c, 0xbd, + 0x86, 0x6c, 0x47, 0xad, 0xd5, 0x71, 0x70, 0xc8, 0x14, 0x07, 0x9b, 0x7d, 0xb7, 0xbd, 0x2e, 0x17, + 0xc5, 0x46, 0x8e, 0x53, 0x45, 0x35, 0x64, 0x38, 0x3e, 0x14, 0x20, 0x28, 0xcd, 0xbe, 0x26, 0x0a, + 0xdb, 0xe2, 0xf7, 0xf9, 0xb7, 0xf8, 0xa1, 0xc8, 0xdd, 0x9f, 0x76, 0x75, 0xb0, 0x7d, 0x6b, 0x5c, + 0x76, 0xc7, 0x26, 0xbb, 0xec, 0xce, 0x36, 0x5d, 0x76, 0x41, 0xe0, 0xb2, 0xc7, 0x38, 0x2e, 0x2b, + 0xf4, 0x31, 0xe5, 0x38, 0x1c, 0x4d, 0x01, 0xc6, 0x5c, 0xf7, 0x17, 0x01, 0xd7, 0xbd, 0xe6, 0x4e, + 0xfb, 0xc6, 0xf5, 0x86, 0xd3, 0xb0, 0x90, 0xfd, 0xf4, 0x67, 0xe7, 0x90, 0x47, 0x67, 0x37, 0xd7, + 0xa3, 0xbb, 0x45, 0x1e, 0xbd, 0x07, 0xb2, 0xd8, 0x3f, 0x36, 0xb0, 0xfb, 0x65, 0x8a, 0xf4, 0x8b, + 0xe3, 0xe9, 0xbd, 0x9b, 0xe7, 0xe9, 0xb0, 0xd9, 0x59, 0xbb, 0x6f, 0xeb, 0xb2, 0x76, 0xff, 0x96, + 0x65, 0xed, 0x6f, 0x42, 0x40, 0xb2, 0xaf, 0x06, 0x43, 0x80, 0x10, 0x8c, 0x85, 0x80, 0x87, 0x12, + 0xe4, 0x02, 0xbb, 0x7d, 0x02, 0xb5, 0xe5, 0xe5, 0x89, 0x8b, 0x02, 0x61, 0xf7, 0xf1, 0xcb, 0x13, + 0x3e, 0xae, 0x94, 0xf7, 0x25, 0xd8, 0x2b, 0xea, 0x4c, 0x5b, 0xa1, 0x28, 0x42, 0xb7, 0x85, 0xec, + 0x46, 0xd5, 0xf1, 0x4a, 0x76, 0xa7, 0x92, 0x64, 0x08, 0x0e, 0xe2, 0x62, 0x62, 0x81, 0xa4, 0xa2, + 0x47, 0xc8, 0xab, 0x7a, 0x64, 0x78, 0x55, 0x8f, 0x8f, 0x25, 0xd8, 0xc3, 0xa7, 0x22, 0x5f, 0x81, + 0x1e, 0xcf, 0x28, 0x69, 0xcd, 0x31, 0x95, 0xe9, 0x30, 0x24, 0xf9, 0x22, 0x74, 0x61, 0x4f, 0x21, + 0x41, 0x38, 0x1d, 0x36, 0xc1, 0x90, 0xcf, 0x42, 0x66, 0x15, 0x21, 0xc2, 0x72, 0x3a, 0x44, 0x17, + 0x3e, 0x5a, 0xcd, 0x21, 0x73, 0xd1, 0xac, 0xb5, 0xa6, 0x28, 0x71, 0x3d, 0x17, 0xb4, 0xa1, 0xa3, + 0x71, 0xfa, 0x6f, 0x12, 0xe6, 0x58, 0x52, 0xe1, 0x41, 0x42, 0x35, 0x47, 0xcc, 0x9c, 0xb2, 0x82, + 0x8b, 0x39, 0x62, 0x80, 0xcd, 0x28, 0x78, 0xfd, 0xcc, 0x6f, 0xae, 0x81, 0x9c, 0xfc, 0x65, 0x6a, + 0xe9, 0x32, 0x47, 0x4b, 0x87, 0xa3, 0x5a, 0x12, 0xf0, 0xa7, 0x20, 0x38, 0x94, 0x04, 0xb3, 0x19, + 0xba, 0xfa, 0x48, 0xc2, 0x0b, 0x12, 0x5f, 0x75, 0x8d, 0x37, 0x2b, 0xe2, 0x12, 0xe1, 0x62, 0xa8, + 0x44, 0xd8, 0x86, 0xbe, 0xbc, 0x42, 0xe1, 0xd5, 0x07, 0x09, 0x91, 0x38, 0x89, 0x49, 0xe5, 0x03, + 0x09, 0x87, 0xe2, 0x24, 0xb8, 0xa7, 0xb1, 0x60, 0xf8, 0x48, 0xc2, 0x55, 0xf9, 0x79, 0x37, 0x31, + 0x57, 0x59, 0x04, 0x17, 0xaa, 0x3d, 0xf6, 0xd8, 0x2e, 0x52, 0xa2, 0xcf, 0x70, 0x4a, 0xf4, 0x41, + 0x9b, 0xe9, 0x14, 0xd8, 0x4c, 0x57, 0xd3, 0x66, 0x66, 0x38, 0xd3, 0x33, 0x1a, 0xb0, 0xe7, 0x20, + 0xef, 0xca, 0x18, 0x2e, 0x81, 0x86, 0x5a, 0x59, 0x1a, 0x7c, 0x8f, 0xa4, 0x41, 0x32, 0x57, 0x41, + 0x18, 0xb1, 0xb5, 0x5d, 0x81, 0xce, 0xb2, 0xea, 0xa8, 0x69, 0xca, 0xd1, 0x98, 0xd2, 0x82, 0xea, + 0xa8, 0xd4, 0xca, 0x30, 0x62, 0xe1, 0xec, 0x83, 0x84, 0x04, 0xc8, 0xe5, 0x47, 0xb9, 0x8e, 0x03, + 0x0a, 0xb7, 0x8f, 0x19, 0x53, 0x0e, 0xba, 0xed, 0x86, 0xa6, 0x21, 0x9b, 0xd8, 0x51, 0x4f, 0xd1, + 0xfb, 0x0c, 0x06, 0xef, 0x7d, 0x41, 0x42, 0x01, 0xd7, 0xde, 0x6a, 0xe9, 0x9f, 0xe5, 0x48, 0x7f, + 0x44, 0x20, 0x3d, 0x87, 0x31, 0xe5, 0x26, 0x1c, 0x4e, 0x04, 0x6a, 0x49, 0x1f, 0xbf, 0xef, 0x86, + 0x21, 0x8f, 0x22, 0x39, 0x5d, 0x4b, 0x50, 0x41, 0xaa, 0xd3, 0xa7, 0x2b, 0x30, 0x6e, 0xd7, 0x4d, + 0xa7, 0xc4, 0x3c, 0xc4, 0x2e, 0x39, 0x66, 0x49, 0xc3, 0x1c, 0x97, 0xd4, 0x6a, 0x95, 0xba, 0x63, + 0xce, 0x66, 0xcb, 0x83, 0xc5, 0xb2, 0x7d, 0xdb, 0x24, 0x22, 0xcd, 0x56, 0xab, 0xf2, 0x0b, 0x30, + 0x55, 0x66, 0x81, 0x43, 0x4c, 0xa6, 0x13, 0x93, 0x99, 0x28, 0x87, 0x0e, 0x3c, 0x43, 0xc4, 0xfe, + 0x01, 0x76, 0x63, 0x6e, 0x68, 0x3c, 0x60, 0x24, 0x72, 0x5d, 0xad, 0x4e, 0xa3, 0x54, 0x94, 0x6d, + 0x66, 0x77, 0xde, 0x10, 0xf2, 0xeb, 0x30, 0xea, 0x63, 0x36, 0x32, 0x4a, 0xb6, 0xf5, 0x51, 0x72, + 0xe5, 0x60, 0x9c, 0x6e, 0x8e, 0xc5, 0x91, 0x05, 0x47, 0xc0, 0x5c, 0x77, 0xab, 0xe7, 0x43, 0x61, + 0x59, 0x30, 0x19, 0xb9, 0x2e, 0x92, 0x85, 0x8c, 0xd2, 0xd3, 0x5e, 0x8a, 0xe1, 0x4b, 0x44, 0x46, + 0xbc, 0x03, 0x93, 0x2b, 0xd8, 0x88, 0x4b, 0x26, 0xb1, 0xe2, 0xa8, 0x06, 0x7b, 0x5b, 0xd7, 0xe0, + 0xe8, 0x4a, 0xd4, 0x31, 0x98, 0x12, 0x8b, 0x70, 0x30, 0x34, 0xa4, 0xd0, 0xc2, 0x00, 0x5b, 0xd8, + 0xbe, 0x95, 0x68, 0x5d, 0x21, 0x64, 0x64, 0xf7, 0xe2, 0xc4, 0x20, 0xca, 0xeb, 0x6b, 0x57, 0x79, + 0x02, 0x61, 0x30, 0xd5, 0xc2, 0x49, 0x4e, 0x48, 0x19, 0x8f, 0x84, 0x14, 0xbf, 0x6f, 0x2b, 0x0f, + 0xb2, 0x30, 0xc6, 0xeb, 0x60, 0x91, 0x63, 0x1a, 0x06, 0xb1, 0x95, 0x51, 0x45, 0x04, 0xa3, 0xc8, + 0x2e, 0xb7, 0x8b, 0x06, 0x61, 0xd2, 0x21, 0x17, 0x60, 0xc4, 0x67, 0x35, 0x21, 0xac, 0x0e, 0x8c, + 0x35, 0xdc, 0x04, 0x08, 0xe2, 0x1e, 0x81, 0x5d, 0x4d, 0x8b, 0xf6, 0xd6, 0x01, 0x24, 0x3e, 0xec, + 0x64, 0x06, 0x4a, 0xd7, 0x02, 0xe7, 0x60, 0x38, 0x6c, 0x9d, 0x1e, 0x06, 0x09, 0x05, 0xbb, 0x43, + 0x66, 0x46, 0xf1, 0x66, 0x61, 0x3c, 0x34, 0x39, 0x21, 0x1e, 0xbb, 0x30, 0x8f, 0xf9, 0x80, 0x9e, + 0x83, 0x6c, 0x5e, 0x86, 0x51, 0xde, 0xfc, 0x7a, 0xc3, 0x67, 0x49, 0x40, 0x8b, 0x4e, 0x14, 0xe5, + 0xe0, 0x3c, 0xe4, 0xbc, 0x55, 0x8c, 0xdf, 0x7f, 0xf1, 0xda, 0xa4, 0x9b, 0xb0, 0x4e, 0xfb, 0x9b, + 0x89, 0x0d, 0x2f, 0x67, 0xce, 0xc2, 0x30, 0x5d, 0xce, 0x44, 0xf0, 0x7a, 0x30, 0xde, 0x10, 0xe9, + 0x0e, 0xa1, 0xcd, 0xc3, 0x84, 0x37, 0x5e, 0xd4, 0x9f, 0x31, 0x76, 0x2f, 0xc6, 0x1e, 0xa5, 0x50, + 0x21, 0xc3, 0x23, 0x44, 0x66, 0x61, 0x9c, 0x8e, 0x2d, 0xa0, 0x41, 0xbc, 0x23, 0x4f, 0x80, 0xb8, + 0x24, 0xfe, 0x1a, 0x14, 0x8f, 0x0f, 0xbe, 0x7b, 0x60, 0x3a, 0x7d, 0x24, 0x8e, 0x53, 0x48, 0x4e, + 0x4e, 0xc3, 0xb4, 0x9e, 0x87, 0x7d, 0x94, 0x9d, 0x18, 0x52, 0xfd, 0x98, 0x14, 0xe5, 0x5b, 0x40, + 0xc9, 0x97, 0xff, 0x7e, 0x22, 0xc1, 0x04, 0x67, 0x3b, 0x94, 0xa6, 0x22, 0xb0, 0x69, 0xfb, 0x94, + 0x4b, 0x1c, 0x0f, 0x3e, 0x18, 0xb7, 0x9b, 0xf3, 0x57, 0x06, 0x7e, 0x2c, 0xc1, 0x33, 0xf1, 0x20, + 0x69, 0x37, 0x29, 0xaf, 0x84, 0xeb, 0x03, 0x17, 0xd2, 0x49, 0xf4, 0x64, 0x55, 0x82, 0xdf, 0x75, + 0xc0, 0x58, 0x1c, 0xad, 0xaf, 0x61, 0xad, 0x40, 0xfe, 0x1b, 0xd8, 0x81, 0xaf, 0xf6, 0xe8, 0xa6, + 0x51, 0x2a, 0xa3, 0xaa, 0xa3, 0xe2, 0xd5, 0x7d, 0xdf, 0xa9, 0xc3, 0xb1, 0x77, 0xa4, 0x28, 0xc6, + 0x82, 0x8b, 0x40, 0x0d, 0x64, 0x7b, 0xdd, 0xdf, 0x28, 0x5f, 0x82, 0x6c, 0x5d, 0xdd, 0x30, 0x1b, + 0x4e, 0x2b, 0xf7, 0x06, 0x28, 0x8a, 0x4f, 0xe5, 0x3f, 0x27, 0x6b, 0x60, 0xce, 0xce, 0xf6, 0x4b, + 0x35, 0xfb, 0xc4, 0xb5, 0x70, 0x3c, 0x83, 0xca, 0x4f, 0x25, 0xbc, 0x18, 0x8e, 0x87, 0x7a, 0xba, + 0x8d, 0xff, 0x4f, 0xb4, 0x12, 0x89, 0x33, 0x4d, 0x48, 0x59, 0x5f, 0xdd, 0xce, 0x93, 0x75, 0xd7, + 0x54, 0x7b, 0x1d, 0x9b, 0x5a, 0x17, 0xed, 0x5e, 0x52, 0xed, 0x75, 0x4f, 0xa0, 0x6c, 0x53, 0xa0, + 0xc4, 0x3d, 0x1d, 0x57, 0x40, 0x45, 0x21, 0x45, 0x22, 0x5e, 0x1f, 0xdb, 0xa4, 0xfe, 0x73, 0x07, + 0xbe, 0x71, 0x2b, 0xda, 0xec, 0x7c, 0x8d, 0x94, 0x74, 0x81, 0xa3, 0xa4, 0xfd, 0x51, 0x25, 0x45, + 0x65, 0x54, 0x0e, 0xe0, 0x02, 0x91, 0xa8, 0x9b, 0xa9, 0xea, 0x6d, 0x09, 0x7a, 0xd9, 0x32, 0x38, + 0xa8, 0x00, 0x29, 0x49, 0x01, 0x1d, 0x89, 0x0a, 0xc8, 0xc4, 0x2b, 0xa0, 0x53, 0xa0, 0x80, 0x66, + 0xf9, 0x42, 0xf9, 0x21, 0x49, 0xb5, 0xbe, 0xcd, 0x6b, 0x78, 0xc5, 0xb0, 0x75, 0xfb, 0xee, 0xc4, + 0x14, 0x1b, 0xc3, 0x95, 0x72, 0x03, 0x67, 0xd8, 0x18, 0x88, 0x96, 0x76, 0xdc, 0xff, 0xd2, 0x01, + 0xbb, 0x97, 0xec, 0xca, 0x32, 0x53, 0xf5, 0x6d, 0x4b, 0x35, 0xec, 0xd5, 0x18, 0x5b, 0x3e, 0x01, + 0x43, 0xb6, 0xd9, 0xb0, 0x34, 0x54, 0xe2, 0x4d, 0x9a, 0x4c, 0xfa, 0x96, 0xfd, 0x53, 0x87, 0xd7, + 0xe3, 0xb6, 0xa3, 0x1b, 0xe4, 0xb4, 0x9b, 0x67, 0xec, 0xc3, 0x3e, 0x80, 0x65, 0xfe, 0xcd, 0xd1, + 0xce, 0xd6, 0x6e, 0x8e, 0x4e, 0x87, 0xf4, 0x3b, 0xe1, 0xd7, 0x6f, 0x54, 0x5c, 0x65, 0x12, 0x97, + 0xd1, 0xa3, 0x1d, 0xcc, 0xa0, 0xdf, 0xea, 0xc0, 0xb7, 0x4b, 0xaf, 0xdd, 0x77, 0x90, 0x65, 0xa8, + 0xd5, 0xbf, 0x14, 0x3d, 0x1d, 0x0b, 0xe9, 0x29, 0xf0, 0xe2, 0x20, 0x2c, 0x2c, 0x7d, 0x71, 0x10, + 0x6e, 0x66, 0x3a, 0xfa, 0x5c, 0xc2, 0xf5, 0x9b, 0x1b, 0xfa, 0x9d, 0x86, 0x8e, 0xef, 0x46, 0xd3, + 0x05, 0xc3, 0x93, 0xd5, 0x6f, 0x02, 0xc1, 0x23, 0x13, 0x0a, 0x1e, 0x6c, 0x01, 0xd0, 0xd9, 0xde, + 0x02, 0x40, 0xf2, 0x16, 0x00, 0xc7, 0xe3, 0x76, 0xad, 0x11, 0x89, 0x94, 0x09, 0xbc, 0x69, 0x8d, + 0xb4, 0x33, 0x55, 0xbc, 0x4b, 0x92, 0xe9, 0xb5, 0x1a, 0xb2, 0x2a, 0xc8, 0xd0, 0x36, 0x96, 0xf1, + 0xfd, 0x0c, 0xfa, 0xf6, 0x62, 0xcb, 0xd4, 0x51, 0x38, 0x19, 0x97, 0xf8, 0xb8, 0xcc, 0xd0, 0xc4, + 0xc7, 0xed, 0x6b, 0xde, 0x6a, 0xef, 0xc0, 0x4f, 0x49, 0x16, 0x0d, 0x77, 0x53, 0x64, 0x33, 0x69, + 0xc9, 0x91, 0xf1, 0x53, 0xe2, 0x02, 0x01, 0xbd, 0x74, 0x86, 0xcc, 0xe4, 0x12, 0xf3, 0x8f, 0x56, + 0x16, 0xab, 0xd4, 0x47, 0x4e, 0x85, 0x94, 0xaa, 0x04, 0xcf, 0x83, 0x79, 0x3a, 0xa1, 0x4f, 0x20, + 0xf8, 0x9d, 0x61, 0xb5, 0x2e, 0xa0, 0x6f, 0xd4, 0x1a, 0x56, 0x2b, 0x5f, 0x27, 0x54, 0xad, 0xfc, + 0x4e, 0xa6, 0xd6, 0x8f, 0x24, 0xec, 0x9c, 0xb7, 0x2c, 0xfd, 0xae, 0x5e, 0x45, 0x15, 0x54, 0xbe, + 0x76, 0x1f, 0x69, 0x0d, 0x07, 0xcd, 0x9b, 0x86, 0x63, 0xa9, 0x9a, 0xd8, 0xff, 0x86, 0xa0, 0x6b, + 0xb5, 0x61, 0x94, 0x6d, 0xaa, 0x4a, 0xf2, 0x21, 0x1f, 0x86, 0x01, 0x8d, 0x62, 0x96, 0x54, 0xf2, + 0x02, 0x85, 0x2a, 0x6d, 0xa7, 0xd7, 0x4e, 0x1f, 0xa6, 0xc8, 0x32, 0x5d, 0x1a, 0x10, 0x3d, 0x91, + 0x6c, 0x7f, 0x59, 0x70, 0xd0, 0x7e, 0xc0, 0x2f, 0xae, 0x90, 0x57, 0x37, 0x90, 0xec, 0x8f, 0x03, + 0x60, 0xe9, 0xfe, 0x75, 0x00, 0xcc, 0x6f, 0xa9, 0xac, 0xaf, 0xae, 0xe2, 0x8c, 0x1f, 0x9b, 0x06, + 0x4e, 0xb8, 0x53, 0xf5, 0xde, 0x6f, 0x26, 0x0f, 0x55, 0x74, 0x67, 0xad, 0xb1, 0x32, 0xad, 0x99, + 0x35, 0xfa, 0x04, 0x91, 0xfe, 0x77, 0xdc, 0x2e, 0xaf, 0xcf, 0x38, 0x1b, 0x75, 0x64, 0x63, 0x04, + 0xbb, 0xd8, 0x8b, 0xc9, 0x2f, 0xe8, 0xab, 0xab, 0x85, 0x41, 0x8e, 0x4c, 0xca, 0x6b, 0x30, 0xb0, + 0x64, 0x57, 0x8a, 0xe8, 0x9e, 0x6a, 0x95, 0xed, 0x9b, 0x75, 0xe7, 0x66, 0x43, 0xa8, 0x69, 0x52, + 0x27, 0xe4, 0x28, 0x65, 0xc4, 0xaf, 0x94, 0x00, 0x29, 0x25, 0x8f, 0x03, 0x6a, 0xa0, 0xcd, 0xff, + 0xea, 0x66, 0x37, 0xee, 0xd4, 0xaa, 0xaa, 0x5e, 0xbb, 0x61, 0x6a, 0xeb, 0xa8, 0x7c, 0x1d, 0x4f, + 0x9e, 0xd8, 0x89, 0x06, 0xab, 0x18, 0x6c, 0x96, 0x58, 0xfa, 0xad, 0xc6, 0xca, 0x0b, 0x68, 0x03, + 0x4f, 0x7c, 0x7f, 0x91, 0xd7, 0x25, 0x8f, 0x41, 0xaf, 0xad, 0x57, 0x0c, 0xd5, 0x69, 0x58, 0x64, + 0x13, 0xde, 0x5f, 0x6c, 0x36, 0xc4, 0xaf, 0x37, 0xa2, 0x7c, 0xd1, 0xf5, 0x46, 0xb4, 0x83, 0x89, + 0xf4, 0x26, 0x79, 0x80, 0xb3, 0xac, 0x57, 0x0c, 0xbc, 0x84, 0x5e, 0x86, 0xac, 0xfb, 0x37, 0x15, + 0xa4, 0x7f, 0xee, 0xd2, 0x17, 0x8f, 0x27, 0xb3, 0x36, 0x6e, 0xf9, 0xe3, 0xe3, 0xc9, 0xe3, 0x29, + 0x66, 0x71, 0x56, 0xd3, 0xa8, 0x9d, 0x16, 0x29, 0x29, 0x79, 0x0c, 0x3a, 0x17, 0xc8, 0x52, 0xd6, + 0x25, 0xd9, 0xf3, 0xc5, 0xe3, 0x49, 0x6c, 0xb3, 0x45, 0xdc, 0xaa, 0xdc, 0xc7, 0x4f, 0x99, 0x30, + 0x07, 0xa6, 0x26, 0x1f, 0x20, 0xf2, 0x93, 0xcb, 0x5e, 0xa4, 0xf6, 0x81, 0x11, 0xdc, 0xef, 0x62, + 0x8f, 0xdb, 0x85, 0xaf, 0x73, 0xcd, 0x43, 0xd7, 0x5d, 0xb5, 0xda, 0x40, 0x74, 0xe7, 0x7a, 0x30, + 0x2e, 0x21, 0xfb, 0xe4, 0xf3, 0x76, 0xe3, 0x18, 0x57, 0xf9, 0x8f, 0x0c, 0xf6, 0xf3, 0xd9, 0x72, + 0x4d, 0x37, 0x48, 0x4d, 0x98, 0xb3, 0xa5, 0x6e, 0x6f, 0xbb, 0xf5, 0x22, 0x0c, 0xf8, 0xee, 0x51, + 0x92, 0x5a, 0x4c, 0xb3, 0xa4, 0x22, 0x25, 0x05, 0xaf, 0x9d, 0x4d, 0x64, 0x7c, 0xbd, 0x49, 0x78, + 0x95, 0xb3, 0xb3, 0xf5, 0xab, 0x9c, 0x5d, 0xe2, 0xab, 0x9c, 0x57, 0x21, 0x6b, 0x3b, 0xaa, 0xd3, + 0xb0, 0xe9, 0x35, 0xbb, 0x43, 0xb1, 0x6a, 0xc5, 0xb2, 0x2e, 0x63, 0xf8, 0x22, 0xc5, 0x2b, 0x14, + 0xe2, 0x8a, 0x1b, 0xf1, 0x8a, 0x56, 0x8e, 0xe2, 0xda, 0x46, 0x3c, 0x10, 0x33, 0xdc, 0x6f, 0x93, + 0xe7, 0x56, 0xb3, 0xe4, 0x29, 0xdd, 0x1b, 0x68, 0xd9, 0x51, 0xd7, 0xd1, 0x73, 0x96, 0x6a, 0x38, + 0x62, 0x6f, 0xbc, 0x0e, 0xd9, 0x0a, 0x86, 0xa0, 0x9b, 0xaa, 0xe9, 0x38, 0xf1, 0x30, 0x2d, 0x8f, + 0x3c, 0x56, 0x6d, 0x91, 0x62, 0x17, 0x4e, 0xc4, 0xbd, 0xb5, 0xe2, 0x71, 0xa4, 0xec, 0xc3, 0x4f, + 0x23, 0x78, 0x5d, 0x4c, 0xa0, 0x0d, 0x1c, 0x5b, 0x66, 0x5d, 0x6e, 0x54, 0xc7, 0x07, 0x21, 0x94, + 0x26, 0x07, 0xdd, 0x98, 0x1f, 0x76, 0x2d, 0xd3, 0xfb, 0x8c, 0x8f, 0x12, 0xd1, 0x11, 0x68, 0x94, + 0x88, 0x76, 0x78, 0xbc, 0x9d, 0x7a, 0x74, 0x10, 0x32, 0x4b, 0x76, 0x45, 0x56, 0xa1, 0xdb, 0x7b, + 0x72, 0xf8, 0x4c, 0x82, 0xc7, 0x51, 0xb8, 0xfc, 0x74, 0x3a, 0x38, 0x96, 0x5f, 0xca, 0xd0, 0xc3, + 0x5e, 0x03, 0x26, 0x79, 0xb5, 0x07, 0x98, 0x9f, 0x49, 0x09, 0xc8, 0x46, 0xf9, 0x6f, 0x09, 0x86, + 0x45, 0xcf, 0xa4, 0xce, 0x25, 0x10, 0x13, 0xe0, 0xe5, 0x9f, 0x6d, 0x0f, 0x8f, 0xf1, 0xf4, 0x8e, + 0x04, 0x63, 0xb1, 0x8f, 0x67, 0x2e, 0xa5, 0x1b, 0x80, 0x8b, 0x9c, 0x9f, 0x7f, 0x02, 0x64, 0xc6, + 0xe2, 0x77, 0x24, 0xd8, 0x9b, 0x78, 0x8b, 0xf8, 0x4a, 0xba, 0x91, 0x84, 0x04, 0xf2, 0xcf, 0x3d, + 0x21, 0x01, 0xc6, 0xee, 0x03, 0x09, 0x86, 0xb8, 0xef, 0x31, 0x4f, 0x27, 0x8c, 0xc0, 0x43, 0xca, + 0x5f, 0x6a, 0x03, 0x89, 0xb1, 0xf2, 0x7f, 0x12, 0xe4, 0x63, 0xde, 0x42, 0x5e, 0x4c, 0xa0, 0x2d, + 0x46, 0xcd, 0xcf, 0xb6, 0x8d, 0xca, 0x98, 0xfb, 0x77, 0x09, 0x76, 0xf3, 0x6f, 0x86, 0x9e, 0x49, + 0x2d, 0xb3, 0x0f, 0x2b, 0xff, 0x57, 0xed, 0x60, 0x31, 0x6e, 0x36, 0x60, 0x67, 0xf8, 0x42, 0x52, + 0x52, 0x10, 0x09, 0xc1, 0xe7, 0xcf, 0xb5, 0x06, 0x1f, 0x50, 0x04, 0xff, 0x6e, 0xd0, 0x99, 0x54, + 0x5a, 0x0e, 0x61, 0x25, 0x2a, 0x22, 0xfe, 0x6e, 0xcf, 0x3f, 0xc1, 0xae, 0xe8, 0x1d, 0x95, 0x13, + 0x69, 0x48, 0xfa, 0x31, 0xf2, 0x17, 0x5a, 0xc5, 0x60, 0x0c, 0xfc, 0xaf, 0x04, 0x23, 0xe2, 0xed, + 0x4d, 0x12, 0x5d, 0x21, 0x66, 0xfe, 0x6a, 0xbb, 0x98, 0x01, 0x77, 0x8a, 0xb9, 0x8c, 0x7a, 0x31, + 0x95, 0x01, 0xf2, 0x50, 0x13, 0xdd, 0x29, 0xc5, 0x25, 0x52, 0x37, 0x4a, 0x26, 0x5e, 0x6d, 0xbc, + 0x92, 0xde, 0x6d, 0xb9, 0x04, 0x12, 0xa3, 0x64, 0xea, 0xfb, 0x88, 0x6f, 0x4b, 0x30, 0x1a, 0x77, + 0x16, 0x5c, 0x68, 0x51, 0x23, 0xfe, 0x48, 0x30, 0xd7, 0x3e, 0x6e, 0x30, 0x3a, 0x71, 0x4f, 0x8b, + 0xce, 0xa4, 0x72, 0xf3, 0x10, 0x56, 0x72, 0x74, 0x8a, 0x3b, 0x9c, 0xc1, 0xda, 0x8a, 0x2b, 0xe7, + 0x17, 0xd2, 0xbb, 0x7c, 0x18, 0x37, 0x51, 0x5b, 0x69, 0xca, 0xf1, 0xbe, 0x14, 0x2d, 0x7e, 0xa3, + 0x97, 0x32, 0x45, 0x0b, 0x09, 0xa4, 0x4d, 0xd1, 0x89, 0x4f, 0x93, 0xe4, 0xff, 0x97, 0x60, 0x3c, + 0xfe, 0xca, 0x74, 0xba, 0x64, 0x22, 0xc0, 0xce, 0x2f, 0x3c, 0x09, 0x36, 0xe3, 0xf2, 0x5b, 0x12, + 0x4c, 0x24, 0x1c, 0x1d, 0x5f, 0x6e, 0x7d, 0x20, 0xbf, 0xa3, 0x5c, 0x7b, 0x22, 0x74, 0xc6, 0xe8, + 0xff, 0x48, 0x90, 0x13, 0x9e, 0x1b, 0x9e, 0x4f, 0x65, 0xf8, 0x51, 0xc4, 0xfc, 0x95, 0x36, 0x11, + 0x03, 0xfa, 0x4b, 0xb8, 0x7e, 0x7a, 0x39, 0xbd, 0xed, 0x73, 0xd0, 0x13, 0xf5, 0x97, 0xf2, 0xfa, + 0xe8, 0x5b, 0x12, 0xc8, 0x9c, 0x53, 0xaa, 0x93, 0x49, 0xe5, 0x85, 0x08, 0x4a, 0xfe, 0x62, 0xcb, + 0x28, 0x8c, 0x89, 0x7f, 0x84, 0x81, 0xc8, 0xf9, 0x4f, 0xd2, 0x0e, 0x27, 0x8c, 0x90, 0x3f, 0xdf, + 0x22, 0x82, 0x7f, 0xd5, 0x11, 0x3d, 0x59, 0x49, 0x5a, 0x75, 0x44, 0x30, 0x12, 0x57, 0x1d, 0xc2, + 0x33, 0x0d, 0x1c, 0xef, 0xf9, 0x07, 0x1a, 0x49, 0xf1, 0x9e, 0x8b, 0x95, 0x18, 0xef, 0x63, 0xcf, + 0x24, 0xe4, 0xff, 0x94, 0x60, 0x8f, 0xe0, 0x40, 0xe2, 0x6c, 0x62, 0x10, 0xe4, 0xa1, 0xe5, 0x2f, + 0xb7, 0x85, 0x16, 0x60, 0x48, 0x50, 0xca, 0x3f, 0x9b, 0xb8, 0xd7, 0x6e, 0x8b, 0xa1, 0xf8, 0x3a, + 0xb8, 0x6c, 0xc3, 0xf6, 0x60, 0x35, 0xf6, 0x58, 0x02, 0xbd, 0x00, 0x74, 0xfe, 0x4c, 0x2b, 0xd0, + 0x81, 0x88, 0x92, 0x50, 0xb7, 0x4b, 0x12, 0x2b, 0x1e, 0x3d, 0x31, 0xa2, 0xa4, 0xab, 0x53, 0xc9, + 0x75, 0xe8, 0x0f, 0xfc, 0xf6, 0xd4, 0xd1, 0x04, 0xb2, 0x7e, 0xe0, 0xfc, 0xe9, 0x16, 0x80, 0xfd, + 0xe1, 0x23, 0xf2, 0xab, 0x7a, 0x33, 0xa9, 0x08, 0x35, 0x11, 0x12, 0xc3, 0x87, 0xe8, 0xe7, 0xe0, + 0xb0, 0x79, 0x0a, 0x7e, 0x0b, 0xee, 0x6c, 0x2a, 0x9a, 0x61, 0xb4, 0x44, 0xf3, 0x8c, 0xff, 0x01, + 0x30, 0x5c, 0x04, 0xe0, 0x56, 0x09, 0x93, 0x94, 0xcb, 0x43, 0x4a, 0x2c, 0x02, 0xc4, 0x95, 0xf8, + 0x70, 0x76, 0xe1, 0x14, 0xf8, 0x92, 0xb2, 0x4b, 0x14, 0x25, 0x31, 0xbb, 0x88, 0x6b, 0x79, 0xf9, + 0xae, 0x37, 0x3f, 0x7b, 0x78, 0x44, 0x9a, 0x5b, 0xfb, 0xf0, 0x93, 0x09, 0xe9, 0xd1, 0x27, 0x13, + 0xd2, 0x6f, 0x3f, 0x99, 0x90, 0xfe, 0xeb, 0xd3, 0x89, 0x6d, 0x8f, 0x3e, 0x9d, 0xd8, 0xf6, 0xab, + 0x4f, 0x27, 0xb6, 0xfd, 0xfd, 0x8b, 0xbe, 0x22, 0xff, 0xa2, 0x37, 0xca, 0x0d, 0x75, 0xc5, 0x9e, + 0x61, 0x63, 0x1e, 0xd7, 0x4c, 0x0b, 0xf9, 0x3f, 0xd7, 0x54, 0xdd, 0x98, 0xa9, 0x99, 0xe5, 0x46, + 0x15, 0xd9, 0xcd, 0x1f, 0x8d, 0xc4, 0x07, 0x02, 0x2b, 0x59, 0xfc, 0x83, 0x8f, 0xa7, 0xff, 0x1c, + 0x00, 0x00, 0xff, 0xff, 0x27, 0x50, 0x06, 0x26, 0x32, 0x53, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -5942,6 +5946,26 @@ func (m *MsgInstantSpotMarketLaunch) MarshalToSizedBuffer(dAtA []byte) (int, err _ = i var l int _ = l + { + size := m.TakerFeeRate.Size() + i -= size + if _, err := m.TakerFeeRate.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x4a + { + size := m.MakerFeeRate.Size() + i -= size + if _, err := m.MakerFeeRate.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 { size := m.MinNotional.Size() i -= size @@ -9232,6 +9256,10 @@ func (m *MsgInstantSpotMarketLaunch) Size() (n int) { n += 1 + l + sovTx(uint64(l)) l = m.MinNotional.Size() n += 1 + l + sovTx(uint64(l)) + l = m.MakerFeeRate.Size() + n += 1 + l + sovTx(uint64(l)) + l = m.TakerFeeRate.Size() + n += 1 + l + sovTx(uint64(l)) return n } @@ -12459,6 +12487,74 @@ func (m *MsgInstantSpotMarketLaunch) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MakerFeeRate", 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 + } + if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TakerFeeRate", 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 + } + if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) diff --git a/chain/wasmx/types/util.go b/chain/wasmx/types/util.go index bde09b7a..c7eb5ae2 100644 --- a/chain/wasmx/types/util.go +++ b/chain/wasmx/types/util.go @@ -6,7 +6,8 @@ import ( ) func IsAllowed(accessConfig types.AccessConfig, actor types2.AccAddress) bool { - if accessConfig.Permission == types.AccessTypeAnyOfAddresses { + switch accessConfig.Permission { + case types.AccessTypeAnyOfAddresses: for _, v := range accessConfig.Addresses { if v == actor.String() { return true From 2aae7cb07553b550cb50453998a77fbd185a0a7a Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Wed, 10 Jul 2024 15:56:32 -0300 Subject: [PATCH 39/48] (fix) Added token decimals to the MsgSetDenomMetadata example --- examples/chain/tokenfactory/4_MsgSetDenomMetadata/example.go | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/chain/tokenfactory/4_MsgSetDenomMetadata/example.go b/examples/chain/tokenfactory/4_MsgSetDenomMetadata/example.go index 2957f952..bb516b1a 100644 --- a/examples/chain/tokenfactory/4_MsgSetDenomMetadata/example.go +++ b/examples/chain/tokenfactory/4_MsgSetDenomMetadata/example.go @@ -79,6 +79,7 @@ func main() { Symbol: "INJTEST", URI: "http://injective-test.com/icon.jpg", URIHash: "", + Decimals: tokenDecimals, } message := new(tokenfactorytypes.MsgSetDenomMetadata) From e12052b3be6085a6109c9bdca9383c89c0b50191 Mon Sep 17 00:00:00 2001 From: kakysha Date: Fri, 12 Jul 2024 21:02:05 +0300 Subject: [PATCH 40/48] fix: make PrepareFactory public so chilliass can re-use it --- client/chain/chain.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/client/chain/chain.go b/client/chain/chain.go index 19748aed..08214e4b 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -481,11 +481,11 @@ func (c *chainClient) syncTimeoutHeight() { } } -// prepareFactory ensures the account defined by ctx.GetFromAddress() exists and +// PrepareFactory ensures the account defined by ctx.GetFromAddress() exists and // if the account number and/or the account sequence number are zero (not set), // they will be queried for and set on the provided Factory. A new Factory with // the updated fields will be returned. -func (c *chainClient) prepareFactory(clientCtx client.Context, txf tx.Factory) (tx.Factory, error) { +func PrepareFactory(clientCtx client.Context, txf tx.Factory) (tx.Factory, error) { from := clientCtx.GetFromAddress() if err := txf.AccountRetriever().EnsureExists(clientCtx, from); err != nil { @@ -703,7 +703,7 @@ func (c *chainClient) GetFeeDiscountInfo(ctx context.Context, account string) (* func (c *chainClient) SimulateMsg(clientCtx client.Context, msgs ...sdk.Msg) (*txtypes.SimulateResponse, error) { c.txFactory = c.txFactory.WithSequence(c.accSeq) c.txFactory = c.txFactory.WithAccountNumber(c.accNum) - txf, err := c.prepareFactory(clientCtx, c.txFactory) + txf, err := PrepareFactory(clientCtx, c.txFactory) if err != nil { err = errors.Wrap(err, "failed to prepareFactory") return nil, err @@ -785,7 +785,7 @@ func (c *chainClient) buildSignedTx(clientCtx client.Context, txf tx.Factory, ms c.gasWanted = adjustedGas } - txf, err := c.prepareFactory(clientCtx, txf) + txf, err := PrepareFactory(clientCtx, txf) if err != nil { return nil, errors.Wrap(err, "failed to prepareFactory") } From 50dedaabc23e607585f7a89c4395daae8f99264d Mon Sep 17 00:00:00 2001 From: kakysha Date: Mon, 15 Jul 2024 16:21:29 +0300 Subject: [PATCH 41/48] chore: lint --- chain/exchange/types/spot_orders.go | 8 ++------ chain/wasmx/types/util.go | 3 ++- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/chain/exchange/types/spot_orders.go b/chain/exchange/types/spot_orders.go index 3253e5b5..ac5b243e 100644 --- a/chain/exchange/types/spot_orders.go +++ b/chain/exchange/types/spot_orders.go @@ -143,9 +143,7 @@ func (m *SpotLimitOrder) GetUnfilledFeeAmount(fee math.LegacyDec) math.LegacyDec return m.GetUnfilledNotional().Mul(fee) } -func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (math.LegacyDec, string) { - var denom string - var balanceHold math.LegacyDec +func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (balanceHold math.LegacyDec, denom string) { if m.IsBuy() { denom = market.QuoteDenom if m.OrderType.IsPostOnly() { @@ -167,9 +165,7 @@ func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (math.Legac return balanceHold, denom } -func (m *SpotLimitOrder) GetUnfilledMarginHoldAndMarginDenom(market *SpotMarket, isTransient bool) (math.LegacyDec, string) { - var denom string - var balanceHold math.LegacyDec +func (m *SpotLimitOrder) GetUnfilledMarginHoldAndMarginDenom(market *SpotMarket, isTransient bool) (balanceHold math.LegacyDec, denom string) { if m.IsBuy() { var tradeFeeRate math.LegacyDec diff --git a/chain/wasmx/types/util.go b/chain/wasmx/types/util.go index c7eb5ae2..b543ec29 100644 --- a/chain/wasmx/types/util.go +++ b/chain/wasmx/types/util.go @@ -14,6 +14,7 @@ func IsAllowed(accessConfig types.AccessConfig, actor types2.AccAddress) bool { } } return false + default: + return false } - return false } From fb8a8bf6b2d7f774addb171239eb04c7be5a104a Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Wed, 17 Jul 2024 12:58:09 -0300 Subject: [PATCH 42/48] (fix) Synced proto definition with latest versions from injective-core and injective-indexer (v1.13 chain upgrade candidates) --- chain/exchange/types/exchange.pb.go | 609 ++--- chain/exchange/types/fee_validation.go | 7 +- chain/exchange/types/params.go | 34 +- chain/exchange/types/tx.pb.go | 582 ++--- chain/oracle/types/msgs.go | 32 +- chain/peggy/types/params.go | 31 +- chain/peggy/types/params_legacy.go | 3 + chain/wasmx/types/params.go | 56 +- chain/wasmx/types/util.go | 7 +- client/chain/context.go | 31 +- client/chain/keys.go | 3 +- ...en_injective_derivative_exchange_rpc.pb.go | 2212 +++++++++-------- .../injective_derivative_exchange_rpc.proto | 4 + ...n_goagen_injective_spot_exchange_rpc.pb.go | 1377 +++++----- .../pb/injective_spot_exchange_rpc.proto | 2 + ...adesign_goagen_injective_trading_rpc.pb.go | 2 +- ...gn_goagen_injective_trading_rpc_grpc.pb.go | 2 +- go.mod | 8 +- go.sum | 10 +- 19 files changed, 2571 insertions(+), 2441 deletions(-) diff --git a/chain/exchange/types/exchange.pb.go b/chain/exchange/types/exchange.pb.go index fb4b5b68..ff40e9d8 100644 --- a/chain/exchange/types/exchange.pb.go +++ b/chain/exchange/types/exchange.pb.go @@ -306,6 +306,8 @@ type Params struct { MarginDecreasePriceTimestampThresholdSeconds int64 `protobuf:"varint,26,opt,name=margin_decrease_price_timestamp_threshold_seconds,json=marginDecreasePriceTimestampThresholdSeconds,proto3" json:"margin_decrease_price_timestamp_threshold_seconds,omitempty"` // List of addresses that are allowed to perform exchange admin operations ExchangeAdmins []string `protobuf:"bytes,27,rep,name=exchange_admins,json=exchangeAdmins,proto3" json:"exchange_admins,omitempty"` + // inj_auction_max_cap defines the maximum cap for INJ sent to auction + InjAuctionMaxCap cosmossdk_io_math.Int `protobuf:"bytes,28,opt,name=inj_auction_max_cap,json=injAuctionMaxCap,proto3,customtype=cosmossdk.io/math.Int" json:"inj_auction_max_cap"` } func (m *Params) Reset() { *m = Params{} } @@ -3342,283 +3344,285 @@ func init() { } var fileDescriptor_2116e2804e9c53f9 = []byte{ - // 4410 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7c, 0xdb, 0x6f, 0x64, 0xd9, - 0x55, 0x77, 0x9f, 0x2a, 0x5f, 0xaa, 0x56, 0x5d, 0x5c, 0x3e, 0xbe, 0x95, 0xed, 0x6e, 0xbb, 0xa6, - 0x7a, 0x3a, 0xe3, 0xe9, 0x99, 0xb1, 0xd3, 0xf3, 0x7d, 0x13, 0x4d, 0x26, 0x8a, 0xd2, 0x65, 0x97, - 0xdd, 0x5d, 0x8c, 0x6f, 0x39, 0x65, 0x0f, 0x74, 0xa2, 0xe4, 0x68, 0xfb, 0x9c, 0x6d, 0xd7, 0x1e, - 0x9f, 0x4b, 0xf5, 0xd9, 0xa7, 0xdc, 0xf6, 0x20, 0x24, 0x1e, 0x46, 0x88, 0x18, 0x50, 0xc2, 0x03, - 0x42, 0x42, 0x32, 0x0a, 0x0f, 0x08, 0xc1, 0x0b, 0xbc, 0xc3, 0x03, 0x12, 0x02, 0xf2, 0x10, 0xa4, - 0x3c, 0x20, 0x81, 0x78, 0x08, 0x68, 0x06, 0x09, 0x84, 0xf2, 0x27, 0x20, 0x84, 0xf6, 0xe5, 0x5c, - 0xaa, 0xca, 0x2e, 0x57, 0xd9, 0x0e, 0x04, 0x78, 0xe9, 0xae, 0x7d, 0x59, 0xbf, 0xb5, 0xf6, 0x5a, - 0x6b, 0xaf, 0xb5, 0xf6, 0x3e, 0xe7, 0x18, 0xde, 0x24, 0xce, 0xc7, 0xd8, 0xf0, 0xc9, 0x09, 0x5e, - 0xc1, 0xa7, 0x46, 0x03, 0x39, 0x47, 0x78, 0xe5, 0xe4, 0xc9, 0x01, 0xf6, 0xd1, 0x93, 0xb0, 0x63, - 0xb9, 0xe9, 0xb9, 0xbe, 0xab, 0xce, 0x85, 0x53, 0x97, 0xc3, 0x11, 0x39, 0x75, 0x6e, 0xf2, 0xc8, - 0x3d, 0x72, 0xf9, 0xb4, 0x15, 0xf6, 0x4b, 0x50, 0xcc, 0x2d, 0x18, 0x2e, 0xb5, 0x5d, 0xba, 0x72, - 0x80, 0x68, 0x84, 0x6a, 0xb8, 0xc4, 0x91, 0xe3, 0x8f, 0x22, 0xe6, 0xae, 0x87, 0x0c, 0x2b, 0x9a, - 0x24, 0x9a, 0x72, 0xda, 0x38, 0xb2, 0x89, 0xe3, 0xae, 0xf0, 0x7f, 0x45, 0x57, 0xf9, 0xbb, 0x53, - 0x30, 0xb2, 0x8b, 0x3c, 0x64, 0x53, 0x15, 0xc3, 0x22, 0x6d, 0xba, 0xbe, 0x6e, 0x23, 0xef, 0x18, - 0xfb, 0x3a, 0x71, 0xa8, 0x8f, 0x1c, 0x5f, 0xb7, 0x08, 0xf5, 0x89, 0x73, 0xa4, 0x1f, 0x62, 0x5c, - 0x54, 0x4a, 0xca, 0x52, 0xe6, 0xdd, 0xd9, 0x65, 0x21, 0xce, 0x32, 0x13, 0x27, 0x90, 0x7c, 0x79, - 0xcd, 0x25, 0xce, 0xea, 0xd0, 0x0f, 0x7e, 0xbc, 0x78, 0x4f, 0x9b, 0x67, 0x38, 0x5b, 0x1c, 0xa6, - 0x26, 0x50, 0x36, 0x05, 0xc8, 0x06, 0xc6, 0xea, 0x4b, 0x78, 0x64, 0x62, 0x8f, 0x9c, 0x20, 0x26, - 0x6e, 0x2f, 0x66, 0x89, 0xfe, 0x98, 0xbd, 0x16, 0xa1, 0x5d, 0xc5, 0x12, 0xc1, 0xbc, 0x89, 0x0f, - 0x51, 0xcb, 0xf2, 0x75, 0xb9, 0xc2, 0x63, 0xec, 0x31, 0x1e, 0xba, 0x87, 0x7c, 0x5c, 0x4c, 0x96, - 0x94, 0xa5, 0xf4, 0xea, 0x43, 0x86, 0xf6, 0x0f, 0x3f, 0x5e, 0x9c, 0x17, 0xfc, 0xa8, 0x79, 0xbc, - 0x4c, 0xdc, 0x15, 0x1b, 0xf9, 0x8d, 0xe5, 0x4d, 0x7c, 0x84, 0x8c, 0xb3, 0x2a, 0x36, 0xb4, 0x19, - 0x89, 0x53, 0xe7, 0x0b, 0x3c, 0xc6, 0xde, 0x06, 0xc6, 0x1a, 0xf2, 0xbb, 0x59, 0xf8, 0xed, 0x2c, - 0x86, 0x6e, 0xc6, 0x62, 0x2f, 0xce, 0xc2, 0x86, 0xd7, 0x02, 0x16, 0x6d, 0x0a, 0x6c, 0x63, 0x34, - 0xdc, 0x3f, 0xa3, 0x07, 0x12, 0xad, 0x1a, 0xd3, 0xdf, 0xb5, 0xec, 0x3a, 0xd6, 0x35, 0x72, 0x1b, - 0x76, 0x6d, 0xab, 0x33, 0xe1, 0x7e, 0xc0, 0x8e, 0x38, 0xc4, 0x27, 0xc8, 0x62, 0xbe, 0x71, 0x44, - 0x1c, 0xc6, 0x88, 0xb8, 0xc5, 0xd1, 0xfe, 0x39, 0xcd, 0x4a, 0xa0, 0x9a, 0xc0, 0xd9, 0xe2, 0x30, - 0x1a, 0x43, 0x51, 0x2d, 0x28, 0x05, 0x5c, 0x6c, 0x44, 0x1c, 0x1f, 0x3b, 0xc8, 0x31, 0x70, 0x3b, - 0xa7, 0xd4, 0xe0, 0x6b, 0xda, 0x8a, 0xb0, 0xe2, 0xdc, 0xde, 0x87, 0x62, 0xc0, 0xed, 0xb0, 0xe5, - 0x98, 0xcc, 0xb1, 0xd9, 0x3c, 0xef, 0x04, 0x59, 0xc5, 0x74, 0x49, 0x59, 0x4a, 0x6a, 0xd3, 0x72, - 0x7c, 0x43, 0x0c, 0xd7, 0xe4, 0xa8, 0xfa, 0x26, 0x14, 0x02, 0x0a, 0xbb, 0x65, 0xf9, 0xa4, 0x69, - 0xe1, 0x22, 0x70, 0x8a, 0x31, 0xd9, 0xbf, 0x25, 0xbb, 0xd5, 0x5f, 0x80, 0x69, 0x0f, 0x5b, 0xe8, - 0x4c, 0x9a, 0x85, 0x36, 0x90, 0x27, 0x8d, 0x93, 0xe9, 0x7f, 0x21, 0x13, 0x12, 0x62, 0x03, 0xe3, - 0x3a, 0x03, 0xe0, 0x26, 0x21, 0xb0, 0x18, 0x88, 0xdf, 0x70, 0x5b, 0x9e, 0x75, 0x16, 0xae, 0x82, - 0xc1, 0xeb, 0x06, 0x6a, 0x16, 0xb3, 0xfd, 0xb3, 0x08, 0xf6, 0xc7, 0x73, 0x0e, 0x25, 0x17, 0xcc, - 0xf8, 0xac, 0xa1, 0x66, 0xdc, 0xfa, 0x92, 0x15, 0x57, 0x14, 0xa6, 0xbe, 0x58, 0x4a, 0x6e, 0x70, - 0xeb, 0x0b, 0x3e, 0x35, 0x09, 0xc3, 0x17, 0x54, 0x85, 0x45, 0x1b, 0x9d, 0xc6, 0xdd, 0xd9, 0xf5, - 0x4c, 0xec, 0xe9, 0x94, 0x98, 0x58, 0x37, 0xdc, 0x96, 0xe3, 0x17, 0xf3, 0x25, 0x65, 0x29, 0xa7, - 0xcd, 0xdb, 0xe8, 0x34, 0xf2, 0xd3, 0x1d, 0x36, 0xa9, 0x4e, 0x4c, 0xbc, 0xc6, 0xa6, 0xa8, 0x14, - 0xde, 0x20, 0xce, 0xc7, 0xba, 0x87, 0x5f, 0x21, 0xcf, 0xd4, 0x29, 0xdb, 0x11, 0xa6, 0xee, 0xe1, - 0x97, 0x2d, 0xe2, 0x61, 0x1b, 0x3b, 0xbe, 0xee, 0x37, 0x3c, 0x4c, 0x1b, 0xae, 0x65, 0x16, 0xc7, - 0xb8, 0xd8, 0x0f, 0xa4, 0xd8, 0x53, 0xdd, 0x62, 0xd7, 0x1c, 0x5f, 0x7b, 0x48, 0x9c, 0x8f, 0x35, - 0x0e, 0x56, 0xe7, 0x58, 0x5a, 0x04, 0xb5, 0x17, 0x20, 0xa9, 0xcf, 0xa0, 0xe4, 0x7b, 0x48, 0x28, - 0x9f, 0xcf, 0xa5, 0xfa, 0x09, 0x16, 0xb1, 0xd2, 0x6c, 0x71, 0xbf, 0x75, 0x8a, 0x05, 0xee, 0x20, - 0x0f, 0xe4, 0x3c, 0x01, 0x49, 0x3f, 0x12, 0xb3, 0xaa, 0x72, 0x12, 0xd3, 0xb4, 0x45, 0x5e, 0xb6, - 0x88, 0x89, 0x7c, 0xd7, 0x0b, 0x17, 0x11, 0x39, 0xcd, 0xf8, 0x00, 0x9a, 0x8e, 0x80, 0xa4, 0xfc, - 0xa1, 0xeb, 0x9c, 0xc2, 0x9b, 0x07, 0xc4, 0x41, 0xde, 0x99, 0xee, 0x36, 0x19, 0x5b, 0xda, 0x2b, - 0xd0, 0xab, 0xfd, 0x05, 0xfa, 0xd7, 0x05, 0xe2, 0x8e, 0x00, 0xbc, 0x2a, 0xd6, 0xff, 0xb2, 0x02, - 0x25, 0xe4, 0xbb, 0x36, 0x31, 0x02, 0x96, 0xc2, 0xc6, 0xc8, 0x30, 0x30, 0xa5, 0xba, 0x85, 0x4f, - 0xb0, 0x55, 0x9c, 0x28, 0x29, 0x4b, 0xf9, 0x77, 0xdf, 0x5f, 0xbe, 0x3a, 0x11, 0x2f, 0x57, 0x38, - 0x86, 0xe0, 0xc2, 0x1d, 0xa0, 0xc2, 0x01, 0x36, 0x19, 0xbd, 0x76, 0x1f, 0xf5, 0x18, 0x55, 0x4f, - 0xe1, 0x0d, 0x9e, 0x03, 0x2e, 0x13, 0x83, 0x6d, 0x51, 0xb9, 0xa3, 0x09, 0xf6, 0x8a, 0x93, 0xfd, - 0x6b, 0xbb, 0xcc, 0x30, 0xbb, 0xa4, 0xda, 0xc0, 0x78, 0x2b, 0x84, 0x53, 0x3f, 0x55, 0xe0, 0x9d, - 0x98, 0x77, 0xf7, 0x21, 0xc0, 0x54, 0xff, 0x02, 0x2c, 0x45, 0xc8, 0xd7, 0x88, 0xf1, 0x6b, 0x0a, - 0x3c, 0xe9, 0x30, 0x7f, 0x1f, 0xa2, 0x4c, 0xf7, 0x2f, 0xca, 0x5b, 0x6d, 0xae, 0x70, 0x8d, 0x34, - 0xdf, 0x86, 0x59, 0x9b, 0x38, 0xc4, 0x46, 0x96, 0xce, 0x6b, 0x1e, 0xc3, 0xb5, 0xa2, 0x04, 0x36, - 0xd3, 0x3f, 0xd3, 0x69, 0x89, 0xb2, 0x2b, 0x41, 0x82, 0xcc, 0xf5, 0x4d, 0x78, 0x8b, 0xd0, 0xd0, - 0xb1, 0xbb, 0x6b, 0x1b, 0x0b, 0xb5, 0x1c, 0xa3, 0xa1, 0x63, 0x07, 0x1d, 0x58, 0xd8, 0x2c, 0x16, - 0x4b, 0xca, 0x52, 0x4a, 0xfb, 0x02, 0xa1, 0xd2, 0x77, 0xab, 0x1d, 0xe5, 0xcb, 0x26, 0x9f, 0xbe, - 0x2e, 0x66, 0xb3, 0x90, 0xd5, 0x74, 0xa9, 0xaf, 0xbb, 0x8e, 0x75, 0xa6, 0xdb, 0xae, 0x89, 0xf5, - 0x06, 0x26, 0x47, 0x8d, 0x78, 0x90, 0x99, 0xe5, 0xdb, 0x7e, 0x9e, 0x4d, 0xdb, 0x71, 0xac, 0xb3, - 0x2d, 0xd7, 0xc4, 0xcf, 0xf9, 0x9c, 0x28, 0x7a, 0x1c, 0xc1, 0x13, 0x99, 0xe2, 0x4c, 0x6c, 0x78, - 0x18, 0x51, 0xac, 0x37, 0x3d, 0x62, 0x60, 0xdd, 0x27, 0x36, 0xa6, 0x3e, 0xb2, 0x9b, 0x11, 0x9e, - 0x4e, 0xb1, 0xe1, 0x3a, 0x26, 0x2d, 0xce, 0x71, 0xdc, 0xb7, 0x05, 0x61, 0x55, 0xd2, 0xed, 0x32, - 0xb2, 0xbd, 0x80, 0x2a, 0xe4, 0x50, 0x17, 0x34, 0xea, 0x1b, 0x30, 0x16, 0xec, 0x24, 0x1d, 0x99, - 0x36, 0x71, 0x68, 0x71, 0xbe, 0x94, 0x5c, 0x4a, 0x6b, 0xf9, 0xa0, 0xbb, 0xc2, 0x7b, 0x3f, 0x28, - 0xfe, 0xeb, 0xf7, 0x17, 0x95, 0xf3, 0x7f, 0xf9, 0x93, 0xc7, 0xe1, 0xfc, 0x15, 0x51, 0x86, 0x96, - 0x3f, 0x55, 0x60, 0x42, 0x68, 0xa2, 0xdd, 0x8c, 0xf3, 0x90, 0x0e, 0x62, 0x88, 0xc9, 0x0b, 0xd1, - 0xb4, 0x96, 0x12, 0x1d, 0x35, 0x53, 0xfd, 0x39, 0xc8, 0x77, 0x78, 0x53, 0xa2, 0x7f, 0xc3, 0xe6, - 0x0e, 0xe3, 0x8c, 0x3e, 0x18, 0xfa, 0xd5, 0xef, 0x2f, 0xde, 0x2b, 0xff, 0x24, 0x05, 0x85, 0x4e, - 0xd3, 0xa8, 0xd3, 0x30, 0xe2, 0x13, 0xe3, 0x18, 0x7b, 0x52, 0x00, 0xd9, 0x52, 0x17, 0x21, 0x23, - 0x0a, 0x6d, 0x9d, 0x05, 0x2f, 0xc1, 0x5b, 0x03, 0xd1, 0xb5, 0x8a, 0x28, 0x56, 0x5f, 0x83, 0xac, - 0x9c, 0xf0, 0xb2, 0xe5, 0x06, 0x25, 0xa7, 0x26, 0x89, 0xbe, 0xce, 0xba, 0xd4, 0xf5, 0x10, 0xc3, - 0x3f, 0x6b, 0x8a, 0x8a, 0x31, 0xff, 0xee, 0xeb, 0xb1, 0x10, 0x25, 0x4b, 0xf9, 0x20, 0x40, 0xed, - 0xf0, 0xe6, 0xde, 0x59, 0x13, 0x07, 0x9c, 0xd8, 0x6f, 0x75, 0x19, 0x26, 0x24, 0x0c, 0x35, 0x90, - 0x85, 0xf5, 0x43, 0x64, 0xf8, 0xae, 0xc7, 0xeb, 0xc2, 0x9c, 0x36, 0x2e, 0x86, 0xea, 0x6c, 0x64, - 0x83, 0x0f, 0x30, 0xd1, 0xb9, 0x48, 0xba, 0x89, 0x1d, 0xd7, 0x16, 0x05, 0x9d, 0x06, 0xbc, 0xab, - 0xca, 0x7a, 0xda, 0xf5, 0x3e, 0xda, 0xa1, 0xf7, 0x7d, 0x98, 0xbc, 0xb4, 0x5a, 0x1b, 0xa0, 0x86, - 0x52, 0x49, 0x77, 0x99, 0xf6, 0x2d, 0x28, 0x5e, 0x59, 0x9e, 0xa5, 0x07, 0xd9, 0xb1, 0x97, 0xd7, - 0x65, 0x35, 0xc8, 0x77, 0x94, 0xcd, 0xd0, 0x3f, 0x68, 0xd6, 0x8e, 0x97, 0xad, 0x35, 0xc8, 0x77, - 0x94, 0xc4, 0x03, 0x54, 0x5d, 0x59, 0x3f, 0x0e, 0x75, 0x75, 0x21, 0x97, 0xbd, 0x65, 0x21, 0x57, - 0x82, 0x0c, 0xa1, 0xbb, 0xd8, 0x6b, 0x62, 0xbf, 0x85, 0x2c, 0x5e, 0x4c, 0xa5, 0xb4, 0x78, 0x97, - 0xfa, 0x14, 0x46, 0xa8, 0x8f, 0xfc, 0x16, 0xe5, 0x05, 0x50, 0xfe, 0xdd, 0xa5, 0x5e, 0xa9, 0x51, - 0x6c, 0x86, 0x3a, 0x9f, 0xaf, 0x49, 0x3a, 0x55, 0x83, 0x09, 0x9b, 0x38, 0x61, 0x58, 0x31, 0x8e, - 0x75, 0x4a, 0x3e, 0xc1, 0xb2, 0x02, 0xea, 0x4b, 0xf4, 0x82, 0x4d, 0x1c, 0x19, 0x5e, 0x8c, 0xe3, - 0x3a, 0xf9, 0x84, 0x6b, 0x84, 0x61, 0xbe, 0x6c, 0x21, 0xc7, 0x27, 0xfe, 0x59, 0x0c, 0xb6, 0x30, - 0x80, 0x46, 0x6c, 0xe2, 0x7c, 0x5d, 0x22, 0x84, 0xc8, 0x1b, 0x90, 0x65, 0xc8, 0x8e, 0xcb, 0x12, - 0x08, 0xb2, 0x06, 0xa9, 0x7a, 0x32, 0x36, 0x71, 0xb6, 0x25, 0x9d, 0x3a, 0x09, 0xc3, 0x3c, 0xcc, - 0xf1, 0x1a, 0x26, 0xad, 0x89, 0x86, 0xfa, 0x16, 0x8c, 0xf3, 0x1f, 0x7a, 0x13, 0x7b, 0x36, 0xa1, - 0x94, 0x25, 0x29, 0x5e, 0x73, 0xe4, 0xb4, 0x02, 0x1f, 0xd8, 0x8d, 0xfa, 0x65, 0xb8, 0xf9, 0xbb, - 0x14, 0x4c, 0xac, 0x76, 0xd7, 0x37, 0x57, 0x46, 0x9c, 0x87, 0x90, 0x0b, 0xb6, 0xf9, 0x99, 0x7d, - 0xe0, 0x5a, 0x32, 0xe6, 0xc8, 0x28, 0x53, 0xe7, 0x7d, 0x2c, 0x1a, 0xcb, 0x49, 0x4d, 0xcf, 0x3d, - 0x21, 0x26, 0xf6, 0x64, 0xe0, 0xc9, 0x8b, 0xee, 0x5d, 0xd9, 0xfb, 0xdf, 0x15, 0x7b, 0x9e, 0xc0, - 0x24, 0x3e, 0x6d, 0x12, 0x51, 0x99, 0x46, 0xb9, 0x88, 0x07, 0xa1, 0xa4, 0x36, 0x11, 0x8d, 0x85, - 0x09, 0x87, 0x91, 0x50, 0xec, 0xfb, 0x96, 0xac, 0xb4, 0x43, 0x92, 0x51, 0x41, 0x12, 0x8d, 0x45, - 0x24, 0xa1, 0x8d, 0x52, 0x71, 0x1b, 0x75, 0xc4, 0xbd, 0x74, 0xef, 0xb8, 0x07, 0x1d, 0x71, 0xaf, - 0x3b, 0x82, 0x64, 0xee, 0x2e, 0x82, 0x64, 0xef, 0x3e, 0x82, 0xe4, 0x6e, 0x19, 0x41, 0xfe, 0xaf, - 0xc5, 0x87, 0x6d, 0x28, 0xc4, 0xdc, 0x8c, 0x0b, 0x1d, 0x8b, 0x11, 0xca, 0x75, 0x98, 0x63, 0x11, - 0x31, 0x97, 0xb8, 0x2b, 0xde, 0xa8, 0x37, 0x8c, 0x37, 0x37, 0x88, 0x2c, 0xff, 0x9c, 0x80, 0x99, - 0x75, 0xb6, 0x93, 0xce, 0x36, 0x5a, 0x7e, 0xcb, 0xc3, 0xe1, 0xc9, 0xe9, 0xd0, 0xed, 0x5d, 0x53, - 0x5d, 0xb5, 0x3b, 0x13, 0x57, 0xef, 0xce, 0x2f, 0xc2, 0xa4, 0xff, 0x0a, 0x35, 0xd9, 0xa1, 0xd8, - 0x8b, 0xef, 0xce, 0x24, 0x27, 0x51, 0xd9, 0x58, 0x9d, 0x0d, 0x45, 0x14, 0xaf, 0xe0, 0x0b, 0x71, - 0x26, 0x11, 0xb1, 0x70, 0x14, 0xa3, 0x65, 0xb7, 0x2c, 0x5e, 0x81, 0x0d, 0x72, 0x85, 0x56, 0x8e, - 0xc9, 0x16, 0xb0, 0xe4, 0x76, 0x58, 0x0b, 0xe1, 0x2e, 0xb5, 0xf0, 0x00, 0x97, 0x67, 0x9d, 0x16, - 0x2e, 0xff, 0x55, 0x02, 0x26, 0xc2, 0x7c, 0xda, 0xaf, 0x8a, 0xbf, 0x01, 0x33, 0x57, 0xdd, 0xac, - 0x0c, 0x50, 0xbf, 0x4e, 0x36, 0x2e, 0xbb, 0x52, 0xd9, 0x87, 0xc9, 0x4b, 0xaf, 0x52, 0x06, 0xb8, - 0xed, 0x54, 0x1b, 0xdd, 0x77, 0x28, 0xff, 0x1f, 0xa6, 0x1d, 0x7c, 0x1a, 0x5d, 0x68, 0x45, 0x46, - 0x1e, 0xe2, 0x46, 0x9e, 0x64, 0xa3, 0x52, 0x94, 0xc8, 0xcc, 0xb1, 0xfb, 0xac, 0xf0, 0x06, 0x6c, - 0xb8, 0xed, 0x3e, 0x2b, 0xb8, 0xfa, 0x2a, 0x7f, 0xae, 0xc0, 0x74, 0x87, 0x22, 0x25, 0x9c, 0xaa, - 0x81, 0x1a, 0x39, 0x44, 0x20, 0x81, 0x50, 0x6a, 0x7f, 0x0b, 0x1a, 0x8f, 0xc8, 0x03, 0xcc, 0x6d, - 0x28, 0xc4, 0x30, 0x85, 0x1f, 0x0c, 0xa0, 0xfb, 0xb1, 0x88, 0x58, 0xec, 0xf4, 0x47, 0x90, 0xb7, - 0x10, 0xed, 0x76, 0xfe, 0x1c, 0xeb, 0x0d, 0x15, 0x52, 0xfe, 0x0d, 0x05, 0x16, 0x3a, 0x8f, 0x17, - 0xf5, 0xd0, 0xa5, 0xae, 0xf7, 0x9c, 0xcb, 0xdc, 0x37, 0x71, 0x0b, 0xf7, 0xfd, 0x2a, 0x4c, 0x6e, - 0x5f, 0x66, 0xb8, 0x47, 0x90, 0xe7, 0xe6, 0x8e, 0x96, 0xa3, 0x88, 0xe5, 0xb0, 0xde, 0x68, 0x39, - 0xff, 0xa6, 0x40, 0x7e, 0x8b, 0x98, 0x1c, 0xab, 0xe2, 0x98, 0x7b, 0x3b, 0xab, 0xea, 0x53, 0x48, - 0xdb, 0xc4, 0x94, 0xa2, 0x29, 0xfd, 0xc7, 0xce, 0x94, 0x2d, 0x71, 0x58, 0x66, 0x3c, 0x60, 0x6e, - 0x7b, 0xd0, 0x3a, 0xeb, 0x5a, 0xe1, 0xb5, 0x30, 0x59, 0x46, 0xba, 0xda, 0x3a, 0x13, 0x50, 0x1f, - 0xc2, 0x18, 0x87, 0xa2, 0xd8, 0xb2, 0x24, 0x56, 0xb2, 0x7f, 0xac, 0x1c, 0xa3, 0xad, 0x63, 0xcb, - 0x12, 0xba, 0xfa, 0xc9, 0x30, 0x40, 0x3d, 0x7c, 0xc2, 0x71, 0x65, 0x89, 0xf6, 0x00, 0x80, 0x9d, - 0x06, 0x65, 0x81, 0x21, 0xea, 0xb3, 0x34, 0xeb, 0x11, 0xf5, 0x45, 0x47, 0x01, 0x92, 0xec, 0x2a, - 0x40, 0xba, 0x6b, 0x8c, 0xa1, 0xbb, 0xab, 0x31, 0x86, 0xef, 0xbe, 0xc6, 0x18, 0xb9, 0x65, 0x8d, - 0xd1, 0xf3, 0xa0, 0x19, 0x15, 0x20, 0xa9, 0xbb, 0x2d, 0x40, 0xd2, 0x3f, 0x9d, 0x02, 0x04, 0xee, - 0xf8, 0x80, 0x92, 0xb9, 0xed, 0x01, 0x25, 0x7b, 0xed, 0x01, 0x25, 0x77, 0x79, 0x19, 0x51, 0xfe, - 0x7d, 0x05, 0x46, 0xab, 0xb8, 0xe9, 0x52, 0xe2, 0xab, 0xbb, 0x30, 0x8e, 0x4e, 0x10, 0xb1, 0xd0, - 0x01, 0xbf, 0xeb, 0xb0, 0xd8, 0xc9, 0x7a, 0x90, 0x00, 0x5c, 0x08, 0xa9, 0x57, 0x05, 0xb1, 0xfa, - 0x1c, 0x72, 0xbe, 0xeb, 0x23, 0x2b, 0x44, 0x4b, 0x0c, 0xe2, 0x99, 0x8c, 0x52, 0x22, 0x95, 0xdf, - 0x86, 0xc9, 0x7a, 0xeb, 0x00, 0x19, 0xfc, 0x22, 0x7f, 0xcf, 0x43, 0x26, 0xde, 0x76, 0x19, 0x87, - 0x49, 0x18, 0x76, 0xdc, 0x40, 0xce, 0x9c, 0x26, 0x1a, 0x2c, 0xcd, 0xa4, 0xf9, 0x65, 0x21, 0x8f, - 0xb5, 0x0f, 0x21, 0x47, 0x43, 0xda, 0x28, 0xde, 0x66, 0xa3, 0xce, 0x9a, 0xc9, 0x26, 0xf1, 0xfd, - 0x83, 0x0d, 0xd2, 0x24, 0xd8, 0xf1, 0x83, 0x33, 0xd7, 0x21, 0xc6, 0x5a, 0xd0, 0xa7, 0x7e, 0x19, - 0x86, 0x3b, 0xe3, 0xcb, 0xb5, 0xeb, 0x10, 0x14, 0xea, 0xd7, 0x20, 0x15, 0x78, 0xd2, 0x20, 0x5b, - 0x3d, 0x24, 0x52, 0x0b, 0x90, 0x34, 0x88, 0x29, 0xf6, 0xb6, 0xc6, 0x7e, 0x96, 0x3f, 0x4d, 0x40, - 0x9a, 0x85, 0x2a, 0xbe, 0xd2, 0xeb, 0xae, 0xd0, 0x40, 0x5c, 0xcb, 0x12, 0xe7, 0xd0, 0x95, 0x0f, - 0x5f, 0x1f, 0xf5, 0xda, 0x65, 0xa1, 0xf6, 0xe4, 0xfd, 0x7c, 0xda, 0x0d, 0xd5, 0x59, 0x0d, 0xb0, - 0xf8, 0x71, 0x32, 0xc9, 0x77, 0xec, 0xf5, 0x58, 0xfc, 0x3c, 0x29, 0x50, 0xf8, 0x71, 0x92, 0xb9, - 0x86, 0x47, 0x8e, 0x8e, 0xb0, 0x27, 0x43, 0xf6, 0xd0, 0x00, 0xe1, 0x5f, 0x52, 0x8a, 0x88, 0xfd, - 0xc3, 0x04, 0xe4, 0x99, 0x1a, 0x36, 0x89, 0x4d, 0xa4, 0x2e, 0xda, 0x97, 0xab, 0xdc, 0xe1, 0x72, - 0x13, 0x37, 0x5c, 0xee, 0xd7, 0x20, 0x75, 0x48, 0x2c, 0xbe, 0x39, 0x06, 0x71, 0x9e, 0x90, 0xe8, - 0xee, 0xf4, 0xc5, 0x52, 0x97, 0x58, 0x50, 0x03, 0xd1, 0x06, 0xf7, 0xa7, 0xac, 0x94, 0xf4, 0x39, - 0xa2, 0x8d, 0xf2, 0xdf, 0x26, 0x60, 0x2c, 0x4a, 0x80, 0x77, 0xaf, 0xcf, 0x0d, 0xc8, 0xca, 0x68, - 0xa0, 0xf3, 0x1b, 0xee, 0x01, 0x42, 0x42, 0x46, 0x12, 0x3e, 0x77, 0x2d, 0xb3, 0x63, 0x19, 0xc9, - 0x8e, 0x65, 0x74, 0x98, 0x6d, 0xe8, 0xae, 0xbc, 0x74, 0xf8, 0xa6, 0x5e, 0xfa, 0xd7, 0x09, 0x18, - 0xeb, 0x78, 0xea, 0xf8, 0x3f, 0x6d, 0xcb, 0x7e, 0x05, 0x46, 0xc4, 0x65, 0xed, 0x20, 0x01, 0x4c, - 0x92, 0xdc, 0xa1, 0x26, 0xff, 0x3d, 0x09, 0xf3, 0x51, 0x2e, 0xe0, 0x92, 0x1e, 0xb8, 0xee, 0xf1, - 0x16, 0xf6, 0x91, 0x89, 0x7c, 0xa4, 0x7e, 0x19, 0x66, 0x4f, 0x90, 0xc3, 0xf6, 0x8d, 0x6e, 0xb1, - 0x90, 0x20, 0x1f, 0x48, 0x89, 0x47, 0xc0, 0x22, 0x4d, 0x4c, 0xcb, 0x09, 0x51, 0xc8, 0x10, 0x4f, - 0x7f, 0x9f, 0xc2, 0x03, 0x0f, 0x9b, 0x2d, 0x03, 0x8b, 0x47, 0x32, 0xdd, 0xe4, 0x09, 0x4e, 0x3e, - 0x2b, 0x26, 0xed, 0x38, 0xd6, 0x59, 0x27, 0x42, 0x03, 0x16, 0xd0, 0xd1, 0x91, 0x87, 0x8f, 0xd8, - 0x51, 0x2f, 0x8e, 0x15, 0x06, 0xff, 0x01, 0x76, 0xff, 0x7c, 0x08, 0xa5, 0x85, 0x0c, 0x83, 0x62, - 0x42, 0x45, 0x30, 0x17, 0x71, 0x0a, 0x16, 0x7c, 0x93, 0x14, 0x53, 0x0c, 0x61, 0x3e, 0x12, 0x28, - 0x21, 0x8b, 0x75, 0x58, 0x0c, 0x80, 0x0d, 0xd7, 0x31, 0x89, 0x28, 0x3b, 0xda, 0x14, 0x22, 0xae, - 0xff, 0xee, 0xcb, 0x69, 0x6b, 0xd1, 0xac, 0x98, 0x4e, 0x36, 0xe1, 0x61, 0x5c, 0x13, 0x57, 0x41, - 0x8d, 0x70, 0xa8, 0xc5, 0x48, 0xb7, 0x97, 0xa2, 0x95, 0xff, 0x42, 0x81, 0xb1, 0x0e, 0xf3, 0x47, - 0x79, 0x59, 0xb9, 0x55, 0x5e, 0x4e, 0xdc, 0x24, 0x2f, 0x97, 0x21, 0x4b, 0x68, 0x64, 0x1f, 0x6e, - 0xdf, 0x94, 0xd6, 0xd6, 0x17, 0xe4, 0xee, 0xa1, 0x28, 0x77, 0xbf, 0x82, 0x89, 0x8e, 0x45, 0x54, - 0x99, 0xef, 0x56, 0x60, 0x98, 0xab, 0x44, 0xc6, 0xd8, 0xb7, 0x7a, 0xed, 0xd1, 0x0e, 0x7a, 0x4d, - 0x50, 0x76, 0xc4, 0xc5, 0x44, 0x67, 0x78, 0xff, 0x6e, 0x12, 0x26, 0xa3, 0x38, 0xf4, 0x33, 0x9d, - 0x33, 0xa3, 0x78, 0x93, 0x1c, 0x3c, 0xde, 0xc4, 0x13, 0xee, 0xd0, 0x9d, 0x24, 0xdc, 0xe1, 0xbb, - 0x49, 0xb8, 0x23, 0x9d, 0x16, 0xf9, 0xad, 0x24, 0x4c, 0x75, 0xde, 0x16, 0xfc, 0xaf, 0x34, 0x49, - 0x15, 0x32, 0xf2, 0x61, 0x1f, 0x4f, 0xfc, 0x03, 0x58, 0x05, 0x04, 0x1d, 0xcf, 0xfb, 0xff, 0x65, - 0x76, 0xf9, 0xcb, 0x04, 0xa4, 0x76, 0xd9, 0xc1, 0x88, 0xb8, 0x8e, 0x3a, 0x0d, 0x23, 0x84, 0x6e, - 0xba, 0xf2, 0x46, 0x2a, 0xa5, 0xc9, 0xd6, 0xed, 0xc3, 0x47, 0x15, 0x32, 0xd8, 0xf1, 0xbd, 0x33, - 0x7d, 0xe0, 0x83, 0x05, 0x70, 0x3a, 0xb1, 0x94, 0x5b, 0xa5, 0xe6, 0x6f, 0x41, 0xb1, 0xfb, 0xe6, - 0x4d, 0xe7, 0xe8, 0x83, 0x5c, 0x25, 0x4c, 0x77, 0xdd, 0xbf, 0xad, 0x33, 0x88, 0x72, 0x0d, 0x26, - 0x63, 0x4e, 0x5d, 0x73, 0x4c, 0x62, 0x20, 0xdf, 0xbd, 0xa6, 0xfa, 0x99, 0x84, 0x61, 0x42, 0x57, - 0x5b, 0x42, 0xa9, 0x29, 0x4d, 0x34, 0xca, 0x7f, 0x93, 0x80, 0x14, 0x3f, 0xfc, 0x6d, 0xba, 0xed, - 0xaa, 0x57, 0x6e, 0xa2, 0xfa, 0x30, 0x6b, 0x24, 0x06, 0xce, 0x1a, 0x5d, 0x47, 0x4a, 0x51, 0x7f, - 0xb6, 0x1f, 0x29, 0xdf, 0x83, 0xe4, 0x21, 0x1e, 0x28, 0xfa, 0xb0, 0xf9, 0xd7, 0xd4, 0xe7, 0xea, - 0xfb, 0x30, 0xd5, 0x76, 0x50, 0xd5, 0x91, 0x69, 0x7a, 0x98, 0x52, 0xe1, 0xc0, 0x7c, 0xe3, 0x2b, - 0xda, 0x44, 0xfc, 0xd8, 0x5a, 0x11, 0x13, 0x82, 0x2c, 0x34, 0x1a, 0x65, 0xa1, 0xdf, 0x49, 0x40, - 0x2e, 0x70, 0xf1, 0x2a, 0xb6, 0x7c, 0xa4, 0xce, 0xc0, 0x28, 0xa1, 0xba, 0xd5, 0xed, 0xe8, 0x1a, - 0xa8, 0xf8, 0x14, 0x1b, 0x2d, 0x7e, 0x95, 0x7f, 0x13, 0x97, 0x1f, 0x0f, 0xc9, 0xc3, 0xfa, 0x62, - 0x1b, 0x0a, 0x11, 0xe6, 0xe0, 0x71, 0x65, 0x2c, 0x24, 0x16, 0xcf, 0xff, 0xd5, 0x4d, 0x88, 0xba, - 0xba, 0x4e, 0x49, 0xd7, 0xc2, 0xe5, 0x43, 0x5a, 0x51, 0x67, 0xfe, 0x5e, 0x12, 0xd4, 0xd8, 0xfb, - 0xac, 0x81, 0xdb, 0x5d, 0x7a, 0x9b, 0xd0, 0x69, 0xfa, 0x5d, 0xc8, 0x37, 0xa5, 0x5e, 0x75, 0x93, - 0x29, 0x56, 0x16, 0xf0, 0x6f, 0xf6, 0x8a, 0xb8, 0x6d, 0x96, 0xd0, 0x72, 0xcd, 0x36, 0xc3, 0x7c, - 0x05, 0x46, 0x9a, 0xe8, 0xcc, 0x6d, 0xf9, 0x03, 0x45, 0x5e, 0x41, 0xf2, 0xb3, 0xef, 0x89, 0x4c, - 0xc2, 0xa6, 0x63, 0x0d, 0xf2, 0x6a, 0x09, 0x9b, 0x5f, 0xfe, 0x45, 0x50, 0xa3, 0x32, 0x28, 0x0c, - 0xd6, 0x4f, 0x21, 0x15, 0x28, 0x4f, 0x66, 0xcd, 0xd7, 0xfb, 0xd1, 0xbb, 0x16, 0x52, 0x75, 0x1b, - 0x39, 0xd1, 0x6d, 0xe4, 0xf2, 0x2b, 0x18, 0x8f, 0x98, 0x07, 0x97, 0x68, 0x7d, 0xb9, 0xc7, 0x57, - 0x61, 0xd4, 0x14, 0xf3, 0xa5, 0x5f, 0x3c, 0xec, 0x25, 0x9f, 0x84, 0xd6, 0x02, 0x9a, 0x72, 0x13, - 0x72, 0xb2, 0x6f, 0xbf, 0x69, 0x22, 0x9f, 0xdf, 0x82, 0x89, 0x8b, 0x66, 0x11, 0x46, 0x45, 0x43, - 0xad, 0x41, 0x4a, 0x52, 0xd0, 0x62, 0xa2, 0x94, 0x5c, 0xca, 0xbc, 0xfb, 0x4e, 0x7f, 0xf5, 0x64, - 0xc0, 0x30, 0x24, 0x2f, 0xff, 0x50, 0x81, 0xc2, 0xae, 0x4b, 0x1c, 0x9f, 0xc6, 0x5e, 0xda, 0xfa, - 0x26, 0xcc, 0x88, 0x3b, 0xec, 0x26, 0x1f, 0x89, 0xbf, 0xa0, 0x35, 0x40, 0x3c, 0x9e, 0xe2, 0x18, - 0x97, 0x81, 0xfb, 0x57, 0x80, 0x0f, 0x10, 0x74, 0xa6, 0xfc, 0xcb, 0xc0, 0xcb, 0xff, 0x91, 0x80, - 0x85, 0xbd, 0xf8, 0x9b, 0xb4, 0x6b, 0xc8, 0x6e, 0x22, 0x72, 0xe4, 0xac, 0xba, 0x2e, 0x15, 0x0f, - 0x68, 0xde, 0x83, 0x99, 0x03, 0xd6, 0xc0, 0xa6, 0xde, 0xf6, 0xe1, 0x84, 0x49, 0x8b, 0x0a, 0x7f, - 0xe9, 0x6d, 0x52, 0x0e, 0x47, 0x77, 0x25, 0x35, 0x93, 0xaa, 0x1f, 0xc3, 0x4c, 0x7c, 0x7a, 0x24, - 0x75, 0x60, 0x82, 0xb7, 0x7b, 0x7b, 0x62, 0xbb, 0xa0, 0xb2, 0x8c, 0x9b, 0x8a, 0x3e, 0xb9, 0x88, - 0xc6, 0xa8, 0x5a, 0x81, 0x07, 0x81, 0x88, 0x97, 0x7c, 0x74, 0x61, 0xd2, 0x62, 0x92, 0x0b, 0x3a, - 0x27, 0x27, 0x75, 0xd6, 0x98, 0x4c, 0xdc, 0x13, 0x78, 0xd0, 0x4d, 0x1a, 0x17, 0x7a, 0xe8, 0xc6, - 0x42, 0xcf, 0x77, 0x7e, 0xba, 0x11, 0x13, 0xbd, 0xfc, 0x67, 0x0a, 0xa8, 0x81, 0xce, 0x85, 0x05, - 0x76, 0x5d, 0xf1, 0x4e, 0x4b, 0xe7, 0xd3, 0x65, 0xf1, 0x44, 0x2a, 0x4f, 0xdb, 0x9f, 0x2c, 0xff, - 0x12, 0x4c, 0xda, 0xe8, 0x54, 0x37, 0x24, 0x44, 0xf0, 0xda, 0xb4, 0xd4, 0x71, 0x8f, 0xb7, 0x8d, - 0xbf, 0xc8, 0x64, 0xfb, 0xa3, 0x7f, 0x5c, 0x5c, 0x3a, 0x22, 0x7e, 0xa3, 0x75, 0xb0, 0x6c, 0xb8, - 0xf6, 0x8a, 0xfc, 0xfe, 0x46, 0xfc, 0xf7, 0x0e, 0x35, 0x8f, 0x57, 0x58, 0x8d, 0x4c, 0x39, 0x01, - 0xd5, 0x54, 0x1b, 0x9d, 0xb6, 0x8b, 0x4a, 0xcb, 0x7f, 0x98, 0x80, 0xd9, 0x4b, 0xfd, 0x87, 0xbb, - 0xce, 0x07, 0x30, 0x1b, 0x0a, 0x16, 0xbc, 0xbf, 0x1d, 0xbe, 0x78, 0x29, 0xd6, 0x33, 0x13, 0x4c, - 0x08, 0x5e, 0xdd, 0x0e, 0xde, 0xb1, 0x7c, 0x0d, 0xb2, 0xb1, 0x07, 0x47, 0x62, 0x41, 0x69, 0x2d, - 0x13, 0x3d, 0x39, 0xa2, 0x6a, 0x0b, 0x66, 0xdb, 0xdf, 0x16, 0xd7, 0xb9, 0x81, 0xc5, 0x21, 0x21, - 0xc9, 0xc3, 0xc9, 0x07, 0xbd, 0xec, 0xd5, 0xdb, 0xf1, 0xb5, 0xe9, 0xb6, 0x57, 0xcc, 0xa3, 0x0d, - 0xf1, 0x25, 0x98, 0x31, 0x09, 0x7d, 0xd9, 0x42, 0x16, 0x39, 0x24, 0xd8, 0x8c, 0xfb, 0xd9, 0x10, - 0x17, 0x72, 0x2a, 0x3e, 0x1c, 0xba, 0x58, 0xf9, 0xcf, 0x13, 0x30, 0xb1, 0x81, 0x71, 0x95, 0x50, - 0x71, 0x77, 0x4f, 0xe4, 0x81, 0xa4, 0x0e, 0x13, 0x22, 0x7a, 0x98, 0x72, 0x44, 0x3c, 0x68, 0x1a, - 0xe4, 0x81, 0x2f, 0xa7, 0x0f, 0x80, 0xf9, 0x63, 0xa6, 0x3a, 0x4c, 0xf8, 0x97, 0x80, 0x0e, 0x52, - 0xa6, 0xf8, 0x5d, 0xa0, 0xab, 0x90, 0x93, 0x1f, 0x02, 0x20, 0x9b, 0xdf, 0x54, 0x24, 0xfb, 0x79, - 0xf3, 0x3f, 0x2b, 0x68, 0x2a, 0x9c, 0x84, 0xa5, 0xef, 0x13, 0xd7, 0x6a, 0xd9, 0x03, 0x25, 0x61, - 0x49, 0x52, 0xfe, 0xf5, 0x76, 0x15, 0xd6, 0x8d, 0x06, 0x36, 0x5b, 0x16, 0x7f, 0xf1, 0xf4, 0xa0, - 0x65, 0x30, 0x2b, 0x44, 0x97, 0x5b, 0x43, 0x5a, 0x46, 0xf4, 0x89, 0xbb, 0x97, 0x37, 0x60, 0x4c, - 0x4e, 0x09, 0xbf, 0x24, 0x10, 0xaf, 0x78, 0xe4, 0x45, 0x77, 0xf8, 0xe9, 0x40, 0xa7, 0xe3, 0x25, - 0xbb, 0x1d, 0x6f, 0x1b, 0xc0, 0x27, 0xf2, 0x34, 0x1a, 0x44, 0x86, 0x95, 0x5e, 0x9e, 0x76, 0x89, - 0xd9, 0xb5, 0xb4, 0x2f, 0x7f, 0xd1, 0x5e, 0x1e, 0x35, 0xdc, 0xcb, 0xa3, 0xb6, 0x40, 0xed, 0x40, - 0xde, 0xdb, 0xdb, 0x54, 0x55, 0x18, 0xf2, 0x83, 0xd4, 0x33, 0xa4, 0xf1, 0xdf, 0x2c, 0x19, 0xfb, - 0xbe, 0xd5, 0xf5, 0x7a, 0x4b, 0xd6, 0xf7, 0xad, 0xe8, 0xf1, 0xf6, 0xef, 0x2a, 0x90, 0xfd, 0x88, - 0x2b, 0x5a, 0xc3, 0x86, 0xeb, 0x99, 0xfc, 0xf1, 0x1c, 0x77, 0x22, 0x69, 0x31, 0x65, 0x90, 0xc7, - 0x73, 0x8c, 0x50, 0xa0, 0x31, 0x1c, 0x3f, 0x8e, 0x33, 0xc8, 0x4d, 0xb7, 0x1f, 0xe1, 0x94, 0x7f, - 0x53, 0x81, 0x7c, 0x45, 0x64, 0x66, 0x19, 0x80, 0xd4, 0x22, 0x8c, 0xca, 0x5c, 0x2d, 0x53, 0x7e, - 0xd0, 0x54, 0x31, 0x8c, 0xfe, 0x14, 0x83, 0x61, 0x80, 0x5d, 0xfe, 0x15, 0x05, 0xb2, 0xbc, 0x24, - 0x16, 0x3a, 0xa3, 0xbd, 0x4f, 0x73, 0x2f, 0x60, 0xd2, 0x42, 0x3e, 0xa6, 0xbe, 0xce, 0x82, 0x0b, - 0x2f, 0x19, 0xdd, 0x48, 0xc2, 0x37, 0xae, 0x8b, 0x56, 0x92, 0x89, 0xa6, 0x0a, 0x90, 0x38, 0xdf, - 0xf2, 0x97, 0x20, 0x17, 0x15, 0x2e, 0xb5, 0x2a, 0x55, 0x1f, 0x41, 0xbe, 0xad, 0x00, 0x13, 0xf9, - 0x3a, 0xab, 0xe5, 0xe2, 0x15, 0x18, 0x2d, 0xff, 0x81, 0x02, 0x99, 0x18, 0x90, 0x7a, 0x1f, 0xd2, - 0x9d, 0x49, 0x27, 0xea, 0xb8, 0xcd, 0x51, 0x31, 0x7e, 0x4c, 0x4d, 0xde, 0xe0, 0x98, 0x5a, 0xb6, - 0x61, 0x58, 0x7c, 0x7a, 0xf2, 0x04, 0x94, 0xe6, 0x20, 0xce, 0xa8, 0x34, 0x19, 0xc9, 0xcb, 0x41, - 0x64, 0x56, 0x5e, 0x96, 0x7f, 0x5b, 0x81, 0xc5, 0x4a, 0x70, 0x23, 0x1c, 0xa9, 0xb6, 0x6d, 0x87, - 0xf4, 0xf5, 0x44, 0x75, 0x07, 0xf2, 0xd2, 0x23, 0x84, 0xff, 0x07, 0xe6, 0xee, 0xe3, 0xe9, 0xbe, - 0x64, 0x96, 0xb3, 0x63, 0x2d, 0x5a, 0xfe, 0x8e, 0x02, 0xf7, 0x43, 0xc9, 0x2a, 0x97, 0x88, 0x75, - 0xf5, 0xae, 0xb8, 0x73, 0x59, 0x28, 0x64, 0xe3, 0xc3, 0xbd, 0xdd, 0x7f, 0x23, 0x0c, 0xfe, 0xa2, - 0xda, 0xef, 0xc9, 0x35, 0xbe, 0x22, 0x59, 0x4a, 0x05, 0x79, 0xa0, 0xc2, 0xea, 0x7e, 0xc7, 0xb5, - 0xab, 0xd8, 0x20, 0x36, 0xb2, 0xe8, 0x15, 0x75, 0xff, 0x1c, 0xab, 0xfb, 0xc5, 0x0c, 0xce, 0x70, - 0x48, 0x0b, 0xdb, 0x65, 0x0c, 0xea, 0x33, 0x0f, 0x39, 0x7e, 0xa5, 0xe5, 0x37, 0x5c, 0x8f, 0x7c, - 0x22, 0x82, 0x7f, 0x11, 0x46, 0x8f, 0x58, 0xaf, 0xfc, 0x0a, 0x38, 0xad, 0x05, 0x4d, 0xf5, 0x3d, - 0x18, 0x91, 0x49, 0x2f, 0xd1, 0x4f, 0xd2, 0x93, 0x93, 0xcb, 0xdf, 0x86, 0x4c, 0x85, 0xaf, 0x8f, - 0x33, 0x8b, 0xf0, 0xbd, 0x76, 0x7c, 0xef, 0xa6, 0xf8, 0xdf, 0x53, 0x20, 0xbf, 0x7e, 0x78, 0x88, - 0xfb, 0xe2, 0x51, 0x83, 0x71, 0x07, 0xfb, 0xba, 0x68, 0xca, 0x8f, 0xfa, 0xfa, 0x63, 0x37, 0xe6, - 0x60, 0xff, 0x99, 0x20, 0xe3, 0x9f, 0xef, 0xa9, 0xb3, 0x90, 0x22, 0x54, 0x3f, 0x41, 0x96, 0xbc, - 0xf2, 0x49, 0x69, 0xa3, 0x84, 0x7e, 0xc4, 0x9a, 0x8f, 0x7d, 0xb8, 0xdf, 0xeb, 0xb3, 0x32, 0x15, - 0x60, 0x64, 0xdb, 0x3d, 0x70, 0xcd, 0xb3, 0xc2, 0x3d, 0xb5, 0x0c, 0x0b, 0xab, 0xf8, 0x88, 0x38, - 0xab, 0x96, 0x6b, 0x1c, 0x63, 0xaf, 0x6e, 0x23, 0xcf, 0x5f, 0x73, 0x1d, 0xdf, 0x43, 0x86, 0x4f, - 0x77, 0x1c, 0xeb, 0xac, 0xa0, 0xa8, 0xd3, 0xa0, 0x5e, 0xd2, 0x9f, 0x50, 0xb3, 0x90, 0x5a, 0x3f, - 0xc1, 0xde, 0x99, 0xeb, 0xe0, 0x42, 0xf2, 0xf1, 0x5e, 0xe0, 0x87, 0xe2, 0x85, 0x18, 0x75, 0x0c, - 0x32, 0xfb, 0x0e, 0x6d, 0x62, 0x83, 0xe7, 0xcc, 0xc2, 0x3d, 0xc6, 0x56, 0x58, 0xa2, 0xa0, 0xb0, - 0xdf, 0xbb, 0xa8, 0x45, 0xb1, 0x59, 0x48, 0xa8, 0x79, 0x80, 0x2a, 0xb6, 0x5d, 0x8b, 0xd0, 0x06, - 0x36, 0x0b, 0x49, 0x35, 0x03, 0xa3, 0xfc, 0x45, 0x52, 0x6c, 0x16, 0x86, 0x1e, 0xff, 0x69, 0x42, - 0xbe, 0x3f, 0xc1, 0x2f, 0x7d, 0x4b, 0x90, 0xd9, 0xdf, 0xae, 0xef, 0xae, 0xaf, 0xd5, 0x36, 0x6a, - 0xeb, 0xd5, 0xc2, 0xbd, 0xb9, 0xb1, 0xf3, 0x8b, 0x52, 0xbc, 0x8b, 0x9d, 0xe7, 0x57, 0xf7, 0x5f, - 0x14, 0x94, 0xb9, 0xd1, 0xf3, 0x8b, 0x12, 0xfb, 0xc9, 0xb2, 0x71, 0x7d, 0x7d, 0x73, 0xb3, 0x90, - 0x98, 0x4b, 0x9d, 0x5f, 0x94, 0xf8, 0x6f, 0xe6, 0x97, 0xf5, 0xbd, 0x9d, 0x5d, 0x9d, 0x4d, 0x4d, - 0xce, 0x65, 0xcf, 0x2f, 0x4a, 0x61, 0x9b, 0x85, 0x5f, 0xfe, 0x9b, 0x13, 0x0d, 0xcd, 0xe5, 0xce, - 0x2f, 0x4a, 0x51, 0x07, 0xa3, 0xdc, 0xab, 0x7c, 0xb8, 0xce, 0x29, 0x87, 0x05, 0x65, 0xd0, 0x66, - 0x94, 0xfc, 0x37, 0xa7, 0x1c, 0x11, 0x94, 0x61, 0x87, 0x3a, 0x0d, 0x23, 0xab, 0xfb, 0x2f, 0xf4, - 0xdd, 0x9d, 0xc2, 0xe8, 0x1c, 0x9c, 0x5f, 0x94, 0x64, 0x8b, 0x79, 0x0b, 0x1b, 0x67, 0x03, 0xa9, - 0xb9, 0xcc, 0xf9, 0x45, 0x29, 0x68, 0xaa, 0x0b, 0x00, 0x6c, 0x4e, 0x65, 0x6f, 0x67, 0xab, 0xb6, - 0x56, 0x48, 0xcf, 0xe5, 0xcf, 0x2f, 0x4a, 0xb1, 0x1e, 0xa6, 0x0d, 0x3e, 0x55, 0x4e, 0x00, 0xa1, - 0x8d, 0x58, 0xd7, 0xe3, 0x3f, 0x56, 0x20, 0xb7, 0x1e, 0xdc, 0x25, 0x71, 0x0d, 0xde, 0x87, 0x62, - 0xcc, 0x2a, 0x6d, 0x63, 0xc2, 0x44, 0xc2, 0x86, 0x05, 0x45, 0xcd, 0x41, 0x9a, 0x3f, 0x93, 0xd9, - 0x20, 0x96, 0x55, 0x48, 0xa8, 0x73, 0x30, 0xcd, 0x9b, 0x5b, 0xc8, 0x37, 0x1a, 0x9a, 0xf8, 0xda, - 0x93, 0x1b, 0xa6, 0x90, 0x64, 0x0e, 0x12, 0x8d, 0x6d, 0xe3, 0x57, 0xa2, 0x7f, 0x48, 0x9d, 0x82, - 0x71, 0xf9, 0xb1, 0x99, 0xfc, 0x82, 0x93, 0xb8, 0x4e, 0x61, 0x98, 0x41, 0x89, 0x37, 0x85, 0x3b, - 0xdf, 0x47, 0x2c, 0x8c, 0x3c, 0xfe, 0x4e, 0x60, 0xef, 0x2d, 0x44, 0x8f, 0x99, 0xce, 0xf6, 0xb7, - 0xf7, 0xeb, 0xdc, 0xd4, 0x5c, 0x67, 0xa2, 0xc5, 0xac, 0x5c, 0xd9, 0x0e, 0xad, 0x5c, 0xd9, 0x7e, - 0xc1, 0xb4, 0xa8, 0xad, 0x3f, 0xdb, 0xdf, 0xac, 0x68, 0x85, 0x84, 0xd0, 0xa2, 0x6c, 0x32, 0x2d, - 0xad, 0xed, 0x6c, 0x57, 0x6b, 0x7b, 0xb5, 0x9d, 0xed, 0x0a, 0xb3, 0x28, 0xd7, 0x52, 0xac, 0x4b, - 0x5d, 0x86, 0x99, 0x6a, 0x4d, 0x5b, 0x5f, 0x63, 0x4d, 0x66, 0x48, 0x7d, 0x47, 0xd3, 0x9f, 0xd7, - 0x9e, 0x3d, 0x5f, 0xd7, 0x0a, 0xa9, 0xb9, 0xf1, 0xf3, 0x8b, 0x52, 0xae, 0xad, 0xb3, 0x7d, 0x3e, - 0x57, 0xf7, 0x8e, 0xa6, 0x6f, 0xee, 0xfc, 0xfc, 0xba, 0x56, 0x28, 0x88, 0xf9, 0x6d, 0x9d, 0xea, - 0x3c, 0x64, 0xf6, 0x5e, 0xec, 0xae, 0xeb, 0x5b, 0x15, 0xed, 0xc3, 0xf5, 0xbd, 0x42, 0x49, 0x2c, - 0x45, 0xb4, 0xd4, 0x59, 0x00, 0x3e, 0xb8, 0x59, 0xdb, 0xaa, 0xed, 0x15, 0x9e, 0xce, 0xa5, 0xcf, - 0x2f, 0x4a, 0xc3, 0xbc, 0xb1, 0xda, 0xf8, 0xc1, 0x67, 0x0b, 0xca, 0x8f, 0x3e, 0x5b, 0x50, 0xfe, - 0xe9, 0xb3, 0x05, 0xe5, 0x7b, 0x9f, 0x2f, 0xdc, 0xfb, 0xd1, 0xe7, 0x0b, 0xf7, 0xfe, 0xfe, 0xf3, - 0x85, 0x7b, 0xdf, 0xd8, 0x8e, 0x95, 0x49, 0xb5, 0x20, 0x80, 0x6f, 0xa2, 0x03, 0xba, 0x12, 0x86, - 0xf3, 0x77, 0x0c, 0xd7, 0xc3, 0xf1, 0x66, 0x03, 0x11, 0x67, 0xc5, 0x76, 0x59, 0xb9, 0x4e, 0xa3, - 0xbf, 0x1d, 0xc1, 0x4b, 0xaa, 0x83, 0x11, 0xfe, 0xc5, 0xe2, 0xff, 0xfb, 0xcf, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xf1, 0x88, 0x50, 0x14, 0x5e, 0x42, 0x00, 0x00, + // 4438 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7c, 0xdb, 0x6f, 0x63, 0x59, + 0x56, 0x77, 0x1d, 0x3b, 0x17, 0x7b, 0xf9, 0x12, 0xe7, 0xe4, 0xe6, 0x24, 0x55, 0x89, 0xdb, 0xd5, + 0x35, 0x9d, 0xae, 0xee, 0x4e, 0xa6, 0xfa, 0xfb, 0x7a, 0xd4, 0xd3, 0xa3, 0xd1, 0xb4, 0x13, 0x27, + 0x55, 0xa6, 0x73, 0x9b, 0xe3, 0xa4, 0xa1, 0x66, 0x34, 0x73, 0xb4, 0x73, 0xce, 0x4e, 0xbc, 0x2b, + 0xe7, 0xe2, 0x3a, 0xfb, 0x38, 0x95, 0x34, 0x42, 0xe2, 0xa1, 0x85, 0x98, 0x00, 0x62, 0x78, 0x40, + 0x48, 0x48, 0x41, 0xc3, 0x03, 0x42, 0xf0, 0x02, 0xef, 0xf0, 0x80, 0x84, 0x80, 0x79, 0x18, 0xa4, + 0x79, 0x40, 0x02, 0x21, 0x31, 0xa0, 0x6e, 0x24, 0x10, 0x9a, 0x3f, 0x01, 0x21, 0xb4, 0x2f, 0xe7, + 0x62, 0x3b, 0x71, 0xec, 0x24, 0x03, 0x03, 0xbc, 0x54, 0x79, 0x5f, 0xd6, 0x6f, 0xed, 0xbd, 0xd6, + 0xda, 0x6b, 0xad, 0x7d, 0x39, 0x81, 0x37, 0x89, 0xf3, 0x02, 0x1b, 0x3e, 0x39, 0xc1, 0x2b, 0xf8, + 0xd4, 0x68, 0x20, 0xe7, 0x08, 0xaf, 0x9c, 0x3c, 0x39, 0xc0, 0x3e, 0x7a, 0x12, 0x56, 0x2c, 0x37, + 0x3d, 0xd7, 0x77, 0xd5, 0xb9, 0xb0, 0xeb, 0x72, 0xd8, 0x22, 0xbb, 0xce, 0x4d, 0x1e, 0xb9, 0x47, + 0x2e, 0xef, 0xb6, 0xc2, 0x7e, 0x09, 0x8a, 0xb9, 0x05, 0xc3, 0xa5, 0xb6, 0x4b, 0x57, 0x0e, 0x10, + 0x8d, 0x50, 0x0d, 0x97, 0x38, 0xb2, 0xfd, 0x51, 0xc4, 0xdc, 0xf5, 0x90, 0x61, 0x45, 0x9d, 0x44, + 0x51, 0x76, 0x1b, 0x47, 0x36, 0x71, 0xdc, 0x15, 0xfe, 0xaf, 0xa8, 0x2a, 0xff, 0xc3, 0x14, 0x8c, + 0xec, 0x22, 0x0f, 0xd9, 0x54, 0xc5, 0xb0, 0x48, 0x9b, 0xae, 0xaf, 0xdb, 0xc8, 0x3b, 0xc6, 0xbe, + 0x4e, 0x1c, 0xea, 0x23, 0xc7, 0xd7, 0x2d, 0x42, 0x7d, 0xe2, 0x1c, 0xe9, 0x87, 0x18, 0x17, 0x95, + 0x92, 0xb2, 0x94, 0x79, 0x77, 0x76, 0x59, 0x0c, 0x67, 0x99, 0x0d, 0x27, 0x18, 0xf9, 0xf2, 0x9a, + 0x4b, 0x9c, 0xd5, 0xa1, 0xef, 0xff, 0x68, 0xf1, 0x9e, 0x36, 0xcf, 0x70, 0xb6, 0x38, 0x4c, 0x4d, + 0xa0, 0x6c, 0x0a, 0x90, 0x0d, 0x8c, 0xd5, 0x97, 0xf0, 0xc8, 0xc4, 0x1e, 0x39, 0x41, 0x6c, 0xb8, + 0xbd, 0x98, 0x25, 0xfa, 0x63, 0xf6, 0x5a, 0x84, 0x76, 0x15, 0x4b, 0x04, 0xf3, 0x26, 0x3e, 0x44, + 0x2d, 0xcb, 0xd7, 0xe5, 0x0c, 0x8f, 0xb1, 0xc7, 0x78, 0xe8, 0x1e, 0xf2, 0x71, 0x31, 0x59, 0x52, + 0x96, 0xd2, 0xab, 0x0f, 0x19, 0xda, 0xdf, 0xff, 0x68, 0x71, 0x5e, 0xf0, 0xa3, 0xe6, 0xf1, 0x32, + 0x71, 0x57, 0x6c, 0xe4, 0x37, 0x96, 0x37, 0xf1, 0x11, 0x32, 0xce, 0xaa, 0xd8, 0xd0, 0x66, 0x24, + 0x4e, 0x9d, 0x4f, 0xf0, 0x18, 0x7b, 0x1b, 0x18, 0x6b, 0xc8, 0xef, 0x66, 0xe1, 0xb7, 0xb3, 0x18, + 0xba, 0x19, 0x8b, 0xbd, 0x38, 0x0b, 0x1b, 0x5e, 0x0b, 0x58, 0xb4, 0x09, 0xb0, 0x8d, 0xd1, 0x70, + 0xff, 0x8c, 0x1e, 0x48, 0xb4, 0x6a, 0x4c, 0x7e, 0xd7, 0xb2, 0xeb, 0x98, 0xd7, 0xc8, 0x6d, 0xd8, + 0xb5, 0xcd, 0xce, 0x84, 0xfb, 0x01, 0x3b, 0xe2, 0x10, 0x9f, 0x20, 0x8b, 0xd9, 0xc6, 0x11, 0x71, + 0x18, 0x23, 0xe2, 0x16, 0x47, 0xfb, 0xe7, 0x34, 0x2b, 0x81, 0x6a, 0x02, 0x67, 0x8b, 0xc3, 0x68, + 0x0c, 0x45, 0xb5, 0xa0, 0x14, 0x70, 0xb1, 0x11, 0x71, 0x7c, 0xec, 0x20, 0xc7, 0xc0, 0xed, 0x9c, + 0x52, 0x83, 0xcf, 0x69, 0x2b, 0xc2, 0x8a, 0x73, 0x7b, 0x1f, 0x8a, 0x01, 0xb7, 0xc3, 0x96, 0x63, + 0x32, 0xc3, 0x66, 0xfd, 0xbc, 0x13, 0x64, 0x15, 0xd3, 0x25, 0x65, 0x29, 0xa9, 0x4d, 0xcb, 0xf6, + 0x0d, 0xd1, 0x5c, 0x93, 0xad, 0xea, 0x9b, 0x50, 0x08, 0x28, 0xec, 0x96, 0xe5, 0x93, 0xa6, 0x85, + 0x8b, 0xc0, 0x29, 0xc6, 0x64, 0xfd, 0x96, 0xac, 0x56, 0x7f, 0x0e, 0xa6, 0x3d, 0x6c, 0xa1, 0x33, + 0xa9, 0x16, 0xda, 0x40, 0x9e, 0x54, 0x4e, 0xa6, 0xff, 0x89, 0x4c, 0x48, 0x88, 0x0d, 0x8c, 0xeb, + 0x0c, 0x80, 0xab, 0x84, 0xc0, 0x62, 0x30, 0xfc, 0x86, 0xdb, 0xf2, 0xac, 0xb3, 0x70, 0x16, 0x0c, + 0x5e, 0x37, 0x50, 0xb3, 0x98, 0xed, 0x9f, 0x45, 0xb0, 0x3e, 0x9e, 0x71, 0x28, 0x39, 0x61, 0xc6, + 0x67, 0x0d, 0x35, 0xe3, 0xda, 0x97, 0xac, 0xb8, 0xa0, 0x30, 0xf5, 0xc5, 0x54, 0x72, 0x83, 0x6b, + 0x5f, 0xf0, 0xa9, 0x49, 0x18, 0x3e, 0xa1, 0x2a, 0x2c, 0xda, 0xe8, 0x34, 0x6e, 0xce, 0xae, 0x67, + 0x62, 0x4f, 0xa7, 0xc4, 0xc4, 0xba, 0xe1, 0xb6, 0x1c, 0xbf, 0x98, 0x2f, 0x29, 0x4b, 0x39, 0x6d, + 0xde, 0x46, 0xa7, 0x91, 0x9d, 0xee, 0xb0, 0x4e, 0x75, 0x62, 0xe2, 0x35, 0xd6, 0x45, 0xa5, 0xf0, + 0x06, 0x71, 0x5e, 0xe8, 0x1e, 0x7e, 0x85, 0x3c, 0x53, 0xa7, 0x6c, 0x45, 0x98, 0xba, 0x87, 0x5f, + 0xb6, 0x88, 0x87, 0x6d, 0xec, 0xf8, 0xba, 0xdf, 0xf0, 0x30, 0x6d, 0xb8, 0x96, 0x59, 0x1c, 0xe3, + 0xc3, 0x7e, 0x20, 0x87, 0x3d, 0xd5, 0x3d, 0xec, 0x9a, 0xe3, 0x6b, 0x0f, 0x89, 0xf3, 0x42, 0xe3, + 0x60, 0x75, 0x8e, 0xa5, 0x45, 0x50, 0x7b, 0x01, 0x92, 0xfa, 0x14, 0x4a, 0xbe, 0x87, 0x84, 0xf0, + 0x79, 0x5f, 0xaa, 0x9f, 0x60, 0xe1, 0x2b, 0xcd, 0x16, 0xb7, 0x5b, 0xa7, 0x58, 0xe0, 0x06, 0xf2, + 0x40, 0xf6, 0x13, 0x90, 0xf4, 0x63, 0xd1, 0xab, 0x2a, 0x3b, 0x31, 0x49, 0x5b, 0xe4, 0x65, 0x8b, + 0x98, 0xc8, 0x77, 0xbd, 0x70, 0x12, 0x91, 0xd1, 0x8c, 0x0f, 0x20, 0xe9, 0x08, 0x48, 0x8e, 0x3f, + 0x34, 0x9d, 0x53, 0x78, 0xf3, 0x80, 0x38, 0xc8, 0x3b, 0xd3, 0xdd, 0x26, 0x63, 0x4b, 0x7b, 0x39, + 0x7a, 0xb5, 0x3f, 0x47, 0xff, 0xba, 0x40, 0xdc, 0x11, 0x80, 0x57, 0xf9, 0xfa, 0x5f, 0x54, 0xa0, + 0x84, 0x7c, 0xd7, 0x26, 0x46, 0xc0, 0x52, 0xe8, 0x18, 0x19, 0x06, 0xa6, 0x54, 0xb7, 0xf0, 0x09, + 0xb6, 0x8a, 0x13, 0x25, 0x65, 0x29, 0xff, 0xee, 0xfb, 0xcb, 0x57, 0x07, 0xe2, 0xe5, 0x0a, 0xc7, + 0x10, 0x5c, 0xb8, 0x01, 0x54, 0x38, 0xc0, 0x26, 0xa3, 0xd7, 0xee, 0xa3, 0x1e, 0xad, 0xea, 0x29, + 0xbc, 0xc1, 0x63, 0xc0, 0x65, 0xc3, 0x60, 0x4b, 0x54, 0xae, 0x68, 0x82, 0xbd, 0xe2, 0x64, 0xff, + 0xd2, 0x2e, 0x33, 0xcc, 0xae, 0x51, 0x6d, 0x60, 0xbc, 0x15, 0xc2, 0xa9, 0x9f, 0x2a, 0xf0, 0x4e, + 0xcc, 0xba, 0xfb, 0x18, 0xc0, 0x54, 0xff, 0x03, 0x58, 0x8a, 0x90, 0xaf, 0x19, 0xc6, 0xaf, 0x28, + 0xf0, 0xa4, 0x43, 0xfd, 0x7d, 0x0c, 0x65, 0xba, 0xff, 0xa1, 0xbc, 0xd5, 0x66, 0x0a, 0xd7, 0x8c, + 0xe6, 0xdb, 0x30, 0x6b, 0x13, 0x87, 0xd8, 0xc8, 0xd2, 0x79, 0xce, 0x63, 0xb8, 0x56, 0x14, 0xc0, + 0x66, 0xfa, 0x67, 0x3a, 0x2d, 0x51, 0x76, 0x25, 0x48, 0x10, 0xb9, 0xbe, 0x09, 0x6f, 0x11, 0x1a, + 0x1a, 0x76, 0x77, 0x6e, 0x63, 0xa1, 0x96, 0x63, 0x34, 0x74, 0xec, 0xa0, 0x03, 0x0b, 0x9b, 0xc5, + 0x62, 0x49, 0x59, 0x4a, 0x69, 0x5f, 0x20, 0x54, 0xda, 0x6e, 0xb5, 0x23, 0x7d, 0xd9, 0xe4, 0xdd, + 0xd7, 0x45, 0x6f, 0xe6, 0xb2, 0x9a, 0x2e, 0xf5, 0x75, 0xd7, 0xb1, 0xce, 0x74, 0xdb, 0x35, 0xb1, + 0xde, 0xc0, 0xe4, 0xa8, 0x11, 0x77, 0x32, 0xb3, 0x7c, 0xd9, 0xcf, 0xb3, 0x6e, 0x3b, 0x8e, 0x75, + 0xb6, 0xe5, 0x9a, 0xf8, 0x19, 0xef, 0x13, 0x79, 0x8f, 0x23, 0x78, 0x22, 0x43, 0x9c, 0x89, 0x0d, + 0x0f, 0x23, 0x8a, 0xf5, 0xa6, 0x47, 0x0c, 0xac, 0xfb, 0xc4, 0xc6, 0xd4, 0x47, 0x76, 0x33, 0xc2, + 0xd3, 0x29, 0x36, 0x5c, 0xc7, 0xa4, 0xc5, 0x39, 0x8e, 0xfb, 0xb6, 0x20, 0xac, 0x4a, 0xba, 0x5d, + 0x46, 0xb6, 0x17, 0x50, 0x85, 0x1c, 0xea, 0x82, 0x46, 0x7d, 0x03, 0xc6, 0x82, 0x95, 0xa4, 0x23, + 0xd3, 0x26, 0x0e, 0x2d, 0xce, 0x97, 0x92, 0x4b, 0x69, 0x2d, 0x1f, 0x54, 0x57, 0x78, 0xad, 0xba, + 0x09, 0x13, 0xcc, 0x89, 0xa2, 0x96, 0xc1, 0x54, 0xa8, 0x33, 0xb7, 0xcc, 0xe2, 0xc9, 0xfd, 0x7e, + 0x1c, 0x66, 0x81, 0x38, 0x2f, 0x2a, 0x82, 0x70, 0x0b, 0x9d, 0xae, 0xa1, 0xe6, 0x07, 0xc5, 0x7f, + 0xfd, 0xde, 0xa2, 0x72, 0xfe, 0x2f, 0x7f, 0xfc, 0x38, 0xe4, 0xbe, 0x22, 0x92, 0xda, 0xf2, 0xa7, + 0x0a, 0x4c, 0x08, 0xb9, 0xb6, 0x1b, 0xc5, 0x3c, 0xa4, 0x03, 0x8f, 0x64, 0xf2, 0xb4, 0x36, 0xad, + 0xa5, 0x44, 0x45, 0xcd, 0x54, 0x7f, 0x06, 0xf2, 0x1d, 0xb6, 0x99, 0xe8, 0xdf, 0x4c, 0x72, 0x87, + 0x71, 0x46, 0x1f, 0x0c, 0xfd, 0xf2, 0xf7, 0x16, 0xef, 0x95, 0x7f, 0x9c, 0x82, 0x42, 0xa7, 0xa2, + 0xd5, 0x69, 0x18, 0xf1, 0x89, 0x71, 0x8c, 0x3d, 0x39, 0x00, 0x59, 0x52, 0x17, 0x21, 0x23, 0xd2, + 0x76, 0x9d, 0xb9, 0x42, 0xc1, 0x5b, 0x03, 0x51, 0xb5, 0x8a, 0x28, 0x56, 0x5f, 0x83, 0xac, 0xec, + 0xf0, 0xb2, 0xe5, 0x06, 0x09, 0xac, 0x26, 0x89, 0xbe, 0xce, 0xaa, 0xd4, 0xf5, 0x10, 0xc3, 0x3f, + 0x6b, 0x8a, 0xfc, 0x33, 0xff, 0xee, 0xeb, 0x31, 0x87, 0x27, 0x37, 0x06, 0x81, 0xbb, 0xdb, 0xe1, + 0xc5, 0xbd, 0xb3, 0x26, 0x0e, 0x38, 0xb1, 0xdf, 0xea, 0x32, 0x4c, 0x48, 0x18, 0x6a, 0x20, 0x0b, + 0xeb, 0x87, 0xc8, 0xf0, 0x5d, 0x8f, 0x67, 0x99, 0x39, 0x6d, 0x5c, 0x34, 0xd5, 0x59, 0xcb, 0x06, + 0x6f, 0x60, 0x43, 0xe7, 0x43, 0xd2, 0x4d, 0xec, 0xb8, 0xb6, 0x48, 0x0f, 0x35, 0xe0, 0x55, 0x55, + 0x56, 0xd3, 0x2e, 0xf7, 0xd1, 0x0e, 0xb9, 0xef, 0xc3, 0xe4, 0xa5, 0xb9, 0xdf, 0x00, 0x19, 0x99, + 0x4a, 0xba, 0x93, 0xbe, 0x6f, 0x41, 0xf1, 0xca, 0x64, 0x2f, 0x3d, 0xc8, 0xfa, 0xbf, 0x3c, 0xcb, + 0xab, 0x41, 0xbe, 0x23, 0x09, 0x87, 0xfe, 0x41, 0xb3, 0x76, 0x3c, 0x09, 0xae, 0x41, 0xbe, 0x23, + 0xc1, 0x1e, 0x20, 0x87, 0xcb, 0xfa, 0x71, 0xa8, 0xab, 0xd3, 0xc2, 0xec, 0x2d, 0xd3, 0xc2, 0x12, + 0x64, 0x08, 0xdd, 0xc5, 0x5e, 0x13, 0xfb, 0x2d, 0x64, 0xf1, 0xd4, 0x2c, 0xa5, 0xc5, 0xab, 0xd4, + 0x0f, 0x61, 0x84, 0xfa, 0xc8, 0x6f, 0x51, 0x9e, 0x4e, 0xe5, 0xdf, 0x5d, 0xea, 0x15, 0x68, 0xc5, + 0x62, 0xa8, 0xf3, 0xfe, 0x9a, 0xa4, 0x53, 0x35, 0x98, 0xb0, 0x89, 0x13, 0x3a, 0x29, 0xe3, 0x58, + 0xa7, 0xe4, 0x13, 0x2c, 0xf3, 0xa9, 0xbe, 0x86, 0x5e, 0xb0, 0x89, 0x23, 0x9d, 0x95, 0x71, 0x5c, + 0x27, 0x9f, 0x70, 0x89, 0x30, 0xcc, 0x97, 0x2d, 0xe4, 0xf8, 0xc4, 0x3f, 0x8b, 0xc1, 0x16, 0x06, + 0x90, 0x88, 0x4d, 0x9c, 0xaf, 0x4b, 0x84, 0x10, 0x79, 0x03, 0xb2, 0x0c, 0xd9, 0x71, 0x99, 0x4b, + 0x42, 0xd6, 0x20, 0x39, 0x54, 0xc6, 0x26, 0xce, 0xb6, 0xa4, 0x53, 0x27, 0x61, 0x98, 0x3b, 0x4d, + 0x9e, 0x11, 0xa5, 0x35, 0x51, 0x50, 0xdf, 0x82, 0x71, 0xfe, 0x43, 0x6f, 0x62, 0xcf, 0x26, 0x94, + 0xb2, 0x90, 0xc7, 0x33, 0x98, 0x9c, 0x56, 0xe0, 0x0d, 0xbb, 0x51, 0xbd, 0x74, 0x37, 0x7f, 0x9b, + 0x82, 0x89, 0xd5, 0xee, 0x6c, 0xe9, 0x4a, 0x8f, 0xf3, 0x10, 0x72, 0xc1, 0x32, 0x3f, 0xb3, 0x0f, + 0x5c, 0x4b, 0xfa, 0x1c, 0xe9, 0x65, 0xea, 0xbc, 0x8e, 0xf9, 0x76, 0xd9, 0xa9, 0xe9, 0xb9, 0x27, + 0xc4, 0xc4, 0x9e, 0x74, 0x3c, 0x79, 0x51, 0xbd, 0x2b, 0x6b, 0xff, 0xbb, 0x7c, 0xcf, 0x13, 0x98, + 0xc4, 0xa7, 0x4d, 0x22, 0xf2, 0xdc, 0x28, 0xb2, 0x71, 0x27, 0x94, 0xd4, 0x26, 0xa2, 0xb6, 0x30, + 0x7c, 0x31, 0x12, 0x8a, 0x7d, 0xdf, 0x92, 0x79, 0x7b, 0x48, 0x32, 0x2a, 0x48, 0xa2, 0xb6, 0x88, + 0x24, 0xd4, 0x51, 0x2a, 0xae, 0xa3, 0x0e, 0xbf, 0x97, 0xee, 0xed, 0xf7, 0xa0, 0xc3, 0xef, 0x75, + 0x7b, 0x90, 0xcc, 0xdd, 0x79, 0x90, 0xec, 0xdd, 0x7b, 0x90, 0xdc, 0x2d, 0x3d, 0xc8, 0xff, 0x35, + 0xff, 0xb0, 0x0d, 0x85, 0x98, 0x99, 0xf1, 0x41, 0xc7, 0x7c, 0x84, 0x72, 0x1d, 0xe6, 0x58, 0x44, + 0xcc, 0x47, 0xdc, 0xe5, 0x6f, 0xd4, 0x1b, 0xfa, 0x9b, 0x1b, 0x78, 0x96, 0x7f, 0x4e, 0xc0, 0xcc, + 0x3a, 0x5b, 0x49, 0x67, 0x1b, 0x2d, 0xbf, 0xe5, 0xe1, 0x70, 0x1f, 0x76, 0xe8, 0xf6, 0xce, 0xa9, + 0xae, 0x5a, 0x9d, 0x89, 0xab, 0x57, 0xe7, 0x17, 0x61, 0xd2, 0x7f, 0x85, 0x9a, 0x6c, 0x8b, 0xed, + 0xc5, 0x57, 0x67, 0x92, 0x93, 0xa8, 0xac, 0xad, 0xce, 0x9a, 0x22, 0x8a, 0x57, 0xf0, 0x85, 0x38, + 0x93, 0x88, 0x58, 0x18, 0x8a, 0xd1, 0xb2, 0x5b, 0x16, 0xcf, 0xc0, 0x06, 0x39, 0x90, 0x2b, 0xc7, + 0xc6, 0x16, 0xb0, 0xe4, 0x7a, 0x58, 0x0b, 0xe1, 0x2e, 0xd5, 0xf0, 0x00, 0x47, 0x71, 0x9d, 0x1a, + 0x2e, 0xff, 0x65, 0x02, 0x26, 0xc2, 0x78, 0xda, 0xaf, 0x88, 0xbf, 0x01, 0x33, 0x57, 0x9d, 0xd3, + 0x0c, 0x90, 0xbf, 0x4e, 0x36, 0x2e, 0x3b, 0xa0, 0xd9, 0x87, 0xc9, 0x4b, 0x0f, 0x66, 0x06, 0x38, + 0x3b, 0x55, 0x1b, 0xdd, 0x27, 0x32, 0xff, 0x1f, 0xa6, 0x1d, 0x7c, 0x1a, 0x1d, 0x8f, 0x45, 0x4a, + 0x1e, 0xe2, 0x4a, 0x9e, 0x64, 0xad, 0x72, 0x28, 0x91, 0x9a, 0x63, 0xa7, 0x63, 0xe1, 0x79, 0xda, + 0x70, 0xdb, 0xe9, 0x58, 0x70, 0x90, 0x56, 0xfe, 0x5c, 0x81, 0xe9, 0x0e, 0x41, 0x4a, 0x38, 0x55, + 0x03, 0x35, 0x32, 0x88, 0x60, 0x04, 0x42, 0xa8, 0xfd, 0x4d, 0x68, 0x3c, 0x22, 0x0f, 0x30, 0xb7, + 0xa1, 0x10, 0xc3, 0x14, 0x76, 0x30, 0x80, 0xec, 0xc7, 0x22, 0x62, 0xb1, 0xd2, 0x1f, 0x41, 0xde, + 0x42, 0xb4, 0xdb, 0xf8, 0x73, 0xac, 0x36, 0x14, 0x48, 0xf9, 0xd7, 0x14, 0x58, 0xe8, 0xdc, 0x5e, + 0xd4, 0x43, 0x93, 0xba, 0xde, 0x72, 0x2e, 0x33, 0xdf, 0xc4, 0x2d, 0xcc, 0xf7, 0xab, 0x30, 0xb9, + 0x7d, 0x99, 0xe2, 0x1e, 0x41, 0x9e, 0xab, 0x3b, 0x9a, 0x8e, 0x22, 0xa6, 0xc3, 0x6a, 0xa3, 0xe9, + 0xfc, 0x9b, 0x02, 0xf9, 0x2d, 0x62, 0x72, 0xac, 0x8a, 0x63, 0xee, 0xed, 0xac, 0xaa, 0x1f, 0x42, + 0xda, 0x26, 0xa6, 0x1c, 0x9a, 0xd2, 0xbf, 0xef, 0x4c, 0xd9, 0x12, 0x87, 0x45, 0xc6, 0x03, 0x66, + 0xb6, 0x07, 0xad, 0xb3, 0xae, 0x19, 0x5e, 0x0b, 0x93, 0x65, 0xa4, 0xab, 0xad, 0x33, 0x01, 0xf5, + 0x11, 0x8c, 0x71, 0x28, 0x8a, 0x2d, 0x4b, 0x62, 0x25, 0xfb, 0xc7, 0xca, 0x31, 0xda, 0x3a, 0xb6, + 0x2c, 0x21, 0xab, 0x1f, 0x0f, 0x03, 0xd4, 0xc3, 0xfb, 0x92, 0x2b, 0x53, 0xb4, 0x07, 0x00, 0x6c, + 0x37, 0x28, 0x13, 0x0c, 0x91, 0x9f, 0xa5, 0x59, 0x8d, 0xc8, 0x2f, 0x3a, 0x12, 0x90, 0x64, 0x57, + 0x02, 0xd2, 0x9d, 0x63, 0x0c, 0xdd, 0x5d, 0x8e, 0x31, 0x7c, 0xf7, 0x39, 0xc6, 0xc8, 0x2d, 0x73, + 0x8c, 0x9e, 0x1b, 0xcd, 0x28, 0x01, 0x49, 0xdd, 0x6d, 0x02, 0x92, 0xfe, 0xc9, 0x24, 0x20, 0x70, + 0xc7, 0x1b, 0x94, 0xcc, 0x6d, 0x37, 0x28, 0xd9, 0x6b, 0x37, 0x28, 0xb9, 0xcb, 0xd3, 0x88, 0xf2, + 0xef, 0x29, 0x30, 0x5a, 0xc5, 0x4d, 0x97, 0x12, 0x5f, 0xdd, 0x85, 0x71, 0x74, 0x82, 0x88, 0x85, + 0x0e, 0xf8, 0x59, 0x87, 0xc5, 0x76, 0xd6, 0x83, 0x38, 0xe0, 0x42, 0x48, 0xbd, 0x2a, 0x88, 0xd5, + 0x67, 0x90, 0xf3, 0x5d, 0x1f, 0x59, 0x21, 0x5a, 0x62, 0x10, 0xcb, 0x64, 0x94, 0x12, 0xa9, 0xfc, + 0x36, 0x4c, 0xd6, 0x5b, 0x07, 0xc8, 0xe0, 0xd7, 0x02, 0x7b, 0x1e, 0x32, 0xf1, 0xb6, 0xcb, 0x38, + 0x4c, 0xc2, 0xb0, 0xe3, 0x06, 0xe3, 0xcc, 0x69, 0xa2, 0xc0, 0xc2, 0x4c, 0x9a, 0x1f, 0x3d, 0x72, + 0x5f, 0xfb, 0x10, 0x72, 0x34, 0xa4, 0x8d, 0xfc, 0x6d, 0x36, 0xaa, 0xac, 0x99, 0xac, 0x13, 0x5f, + 0x3f, 0xd8, 0x20, 0x4d, 0x82, 0x1d, 0x3f, 0xd8, 0x73, 0x1d, 0x62, 0xac, 0x05, 0x75, 0xea, 0x97, + 0x61, 0xb8, 0xd3, 0xbf, 0x5c, 0x3b, 0x0f, 0x41, 0xa1, 0x7e, 0x0d, 0x52, 0x81, 0x25, 0x0d, 0xb2, + 0xd4, 0x43, 0x22, 0xb5, 0x00, 0x49, 0x83, 0x98, 0x62, 0x6d, 0x6b, 0xec, 0x67, 0xf9, 0xd3, 0x04, + 0xa4, 0x99, 0xab, 0xe2, 0x33, 0xbd, 0xee, 0x08, 0x0d, 0xc4, 0x21, 0x2f, 0x71, 0x0e, 0x5d, 0x79, + 0x95, 0xfb, 0xa8, 0xd7, 0x2a, 0x0b, 0xa5, 0x27, 0x4f, 0xfb, 0xd3, 0x6e, 0x28, 0xce, 0x6a, 0x80, + 0xc5, 0xb7, 0x93, 0x49, 0xbe, 0x62, 0xaf, 0xc7, 0xe2, 0xfb, 0x49, 0x81, 0xc2, 0xb7, 0x93, 0xcc, + 0x34, 0x3c, 0x72, 0x74, 0x84, 0x3d, 0xe9, 0xb2, 0x87, 0x06, 0x70, 0xff, 0x92, 0x52, 0x78, 0xec, + 0x1f, 0x24, 0x20, 0xcf, 0xc4, 0xb0, 0x49, 0x6c, 0x22, 0x65, 0xd1, 0x3e, 0x5d, 0xe5, 0x0e, 0xa7, + 0x9b, 0xb8, 0xe1, 0x74, 0xbf, 0x06, 0xa9, 0x43, 0x62, 0xf1, 0xc5, 0x31, 0x88, 0xf1, 0x84, 0x44, + 0x77, 0x27, 0x2f, 0x16, 0xba, 0xc4, 0x84, 0x1a, 0x88, 0x36, 0xb8, 0x3d, 0x65, 0xe5, 0x48, 0x9f, + 0x21, 0xda, 0x28, 0xff, 0x4d, 0x02, 0xc6, 0xa2, 0x00, 0x78, 0xf7, 0xf2, 0xdc, 0x80, 0xac, 0xf4, + 0x06, 0x3a, 0x3f, 0x2f, 0x1f, 0xc0, 0x25, 0x64, 0x24, 0xe1, 0x33, 0xd7, 0x32, 0x3b, 0xa6, 0x91, + 0xec, 0x98, 0x46, 0x87, 0xda, 0x86, 0xee, 0xca, 0x4a, 0x87, 0x6f, 0x6a, 0xa5, 0x7f, 0x95, 0x80, + 0xb1, 0x8e, 0x3b, 0xcc, 0xff, 0x69, 0x4b, 0xf6, 0x2b, 0x30, 0x22, 0x0e, 0x6b, 0x07, 0x71, 0x60, + 0x92, 0xe4, 0x0e, 0x25, 0xf9, 0xef, 0x49, 0x98, 0x8f, 0x62, 0x01, 0x1f, 0xe9, 0x81, 0xeb, 0x1e, + 0x6f, 0x61, 0x1f, 0x99, 0xc8, 0x47, 0xea, 0x97, 0x61, 0xf6, 0x04, 0x39, 0x6c, 0xdd, 0xe8, 0x16, + 0x73, 0x09, 0xf2, 0x7a, 0x4b, 0x5c, 0x28, 0x8b, 0x30, 0x31, 0x2d, 0x3b, 0x44, 0x2e, 0x43, 0xdc, + 0x25, 0x7f, 0x08, 0x0f, 0x3c, 0x6c, 0xb6, 0x0c, 0x2c, 0x2e, 0x78, 0xba, 0xc9, 0x13, 0x9c, 0x7c, + 0x56, 0x74, 0xda, 0x71, 0xac, 0xb3, 0x4e, 0x84, 0x06, 0x2c, 0xa0, 0xa3, 0x23, 0x0f, 0x1f, 0xb1, + 0xad, 0x5e, 0x1c, 0x2b, 0x74, 0xfe, 0x03, 0xac, 0xfe, 0xf9, 0x10, 0x4a, 0x0b, 0x19, 0x06, 0xc9, + 0x84, 0x8a, 0x60, 0x2e, 0xe2, 0x14, 0x4c, 0xf8, 0x26, 0x21, 0xa6, 0x18, 0xc2, 0x7c, 0x2c, 0x50, + 0x42, 0x16, 0xeb, 0xb0, 0x18, 0x00, 0x1b, 0xae, 0x63, 0x12, 0x91, 0x76, 0xb4, 0x09, 0x44, 0x1c, + 0xff, 0xdd, 0x97, 0xdd, 0xd6, 0xa2, 0x5e, 0x31, 0x99, 0x6c, 0xc2, 0xc3, 0xb8, 0x24, 0xae, 0x82, + 0x1a, 0xe1, 0x50, 0x8b, 0x91, 0x6c, 0x2f, 0x45, 0x2b, 0xff, 0xb9, 0x02, 0x63, 0x1d, 0xea, 0x8f, + 0xe2, 0xb2, 0x72, 0xab, 0xb8, 0x9c, 0xb8, 0x49, 0x5c, 0x2e, 0x43, 0x96, 0xd0, 0x48, 0x3f, 0x5c, + 0xbf, 0x29, 0xad, 0xad, 0x2e, 0x88, 0xdd, 0x43, 0x51, 0xec, 0x7e, 0x05, 0x13, 0x1d, 0x93, 0xa8, + 0x32, 0xdb, 0xad, 0xc0, 0x30, 0x17, 0x89, 0xf4, 0xb1, 0x6f, 0xf5, 0x5a, 0xa3, 0x1d, 0xf4, 0x9a, + 0xa0, 0xec, 0xf0, 0x8b, 0x89, 0x4e, 0xf7, 0xfe, 0xeb, 0x49, 0x98, 0x8c, 0xfc, 0xd0, 0x4f, 0x75, + 0xcc, 0x8c, 0xfc, 0x4d, 0x72, 0x70, 0x7f, 0x13, 0x0f, 0xb8, 0x43, 0x77, 0x12, 0x70, 0x87, 0xef, + 0x26, 0xe0, 0x8e, 0x74, 0x6a, 0xe4, 0x37, 0x93, 0x30, 0xd5, 0x79, 0x5a, 0xf0, 0xbf, 0x52, 0x25, + 0x55, 0xc8, 0xc8, 0xcb, 0x3e, 0x1e, 0xf8, 0x07, 0xd0, 0x0a, 0x08, 0x3a, 0x1e, 0xf7, 0xff, 0xcb, + 0xf4, 0xf2, 0x17, 0x09, 0x48, 0xed, 0xb2, 0x8d, 0x11, 0x71, 0x1d, 0x75, 0x1a, 0x46, 0x08, 0xdd, + 0x74, 0xe5, 0x89, 0x54, 0x4a, 0x93, 0xa5, 0xdb, 0xbb, 0x8f, 0x2a, 0x64, 0xb0, 0xe3, 0x7b, 0x67, + 0xfa, 0xc0, 0x1b, 0x0b, 0xe0, 0x74, 0x62, 0x2a, 0xb7, 0x0a, 0xcd, 0xdf, 0x82, 0x62, 0xf7, 0xc9, + 0x9b, 0xce, 0xd1, 0x07, 0x39, 0x4a, 0x98, 0xee, 0x3a, 0x7f, 0x5b, 0x67, 0x10, 0xe5, 0x1a, 0x4c, + 0xc6, 0x8c, 0xba, 0xe6, 0x98, 0xc4, 0x40, 0xbe, 0x7b, 0x4d, 0xf6, 0x33, 0x09, 0xc3, 0x84, 0xae, + 0xb6, 0x84, 0x50, 0x53, 0x9a, 0x28, 0x94, 0xff, 0x3a, 0x01, 0x29, 0xbe, 0xf9, 0xdb, 0x74, 0xdb, + 0x45, 0xaf, 0xdc, 0x44, 0xf4, 0x61, 0xd4, 0x48, 0x0c, 0x1c, 0x35, 0xba, 0xb6, 0x94, 0x22, 0xff, + 0x6c, 0xdf, 0x52, 0xbe, 0x07, 0xc9, 0x43, 0x3c, 0x90, 0xf7, 0x61, 0xfd, 0xaf, 0xc9, 0xcf, 0xd5, + 0xf7, 0x61, 0xaa, 0x6d, 0xa3, 0xaa, 0x23, 0xd3, 0xf4, 0x30, 0xa5, 0xc2, 0x80, 0xf9, 0xc2, 0x57, + 0xb4, 0x89, 0xf8, 0xb6, 0xb5, 0x22, 0x3a, 0x04, 0x51, 0x68, 0x34, 0x8a, 0x42, 0xbf, 0x9d, 0x80, + 0x5c, 0x60, 0xe2, 0x55, 0x6c, 0xf9, 0x48, 0x9d, 0x81, 0x51, 0x42, 0x75, 0xab, 0xdb, 0xd0, 0x35, + 0x50, 0xf1, 0x29, 0x36, 0x5a, 0xfc, 0x28, 0xff, 0x26, 0x26, 0x3f, 0x1e, 0x92, 0x87, 0xf9, 0xc5, + 0x36, 0x14, 0x22, 0xcc, 0xc1, 0xfd, 0xca, 0x58, 0x48, 0x2c, 0xee, 0xff, 0xd5, 0x4d, 0x88, 0xaa, + 0xba, 0x76, 0x49, 0xd7, 0xc2, 0xe5, 0x43, 0x5a, 0x91, 0x67, 0xfe, 0x6e, 0x12, 0xd4, 0xd8, 0xeb, + 0xd8, 0xc0, 0xec, 0x2e, 0x3d, 0x4d, 0xe8, 0x54, 0xfd, 0x2e, 0xe4, 0x9b, 0x52, 0xae, 0xba, 0xc9, + 0x04, 0x2b, 0x13, 0xf8, 0x37, 0x7b, 0x79, 0xdc, 0x36, 0x4d, 0x68, 0xb9, 0x66, 0x9b, 0x62, 0xbe, + 0x02, 0x23, 0x4d, 0x74, 0xe6, 0xb6, 0xfc, 0x81, 0x3c, 0xaf, 0x20, 0xf9, 0xe9, 0xb7, 0x44, 0x36, + 0xc2, 0xa6, 0x63, 0x0d, 0xf2, 0xb4, 0x84, 0xf5, 0x2f, 0xff, 0x3c, 0xa8, 0x51, 0x1a, 0x14, 0x3a, + 0xeb, 0x0f, 0x21, 0x15, 0x08, 0x4f, 0x46, 0xcd, 0xd7, 0xfb, 0x91, 0xbb, 0x16, 0x52, 0x75, 0x2b, + 0x39, 0xd1, 0xad, 0xe4, 0xf2, 0x2b, 0x18, 0x8f, 0x98, 0x07, 0x87, 0x68, 0x7d, 0x99, 0xc7, 0x57, + 0x61, 0xd4, 0x14, 0xfd, 0xa5, 0x5d, 0x3c, 0xec, 0x35, 0x3e, 0x09, 0xad, 0x05, 0x34, 0xe5, 0x26, + 0xe4, 0x64, 0xdd, 0x7e, 0xd3, 0x44, 0x3e, 0x3f, 0x05, 0x13, 0x07, 0xcd, 0xc2, 0x8d, 0x8a, 0x82, + 0x5a, 0x83, 0x94, 0xa4, 0xa0, 0xc5, 0x44, 0x29, 0xb9, 0x94, 0x79, 0xf7, 0x9d, 0xfe, 0xf2, 0xc9, + 0x80, 0x61, 0x48, 0x5e, 0xfe, 0x81, 0x02, 0x85, 0x5d, 0x97, 0x38, 0x3e, 0x8d, 0x3d, 0xda, 0xfa, + 0x26, 0xcc, 0x88, 0x33, 0xec, 0x26, 0x6f, 0x89, 0x3f, 0xd0, 0x1a, 0xc0, 0x1f, 0x4f, 0x71, 0x8c, + 0xcb, 0xc0, 0xfd, 0x2b, 0xc0, 0x07, 0x70, 0x3a, 0x53, 0xfe, 0x65, 0xe0, 0xe5, 0xff, 0x48, 0xc0, + 0xc2, 0x5e, 0xfc, 0x5d, 0xee, 0x1a, 0xb2, 0x9b, 0x88, 0x1c, 0x39, 0xab, 0xae, 0x4b, 0xc5, 0x05, + 0xcd, 0x7b, 0x30, 0x73, 0xc0, 0x0a, 0xd8, 0xd4, 0xdb, 0x3e, 0xc3, 0x30, 0x69, 0x51, 0xe1, 0x4f, + 0xe8, 0x26, 0x65, 0x73, 0x74, 0x56, 0x52, 0x33, 0xa9, 0xfa, 0x02, 0x66, 0xe2, 0xdd, 0xa3, 0x51, + 0x07, 0x2a, 0x78, 0xbb, 0xb7, 0x25, 0xb6, 0x0f, 0x54, 0xa6, 0x71, 0x53, 0xd1, 0x07, 0x1c, 0x51, + 0x1b, 0x55, 0x2b, 0xf0, 0x20, 0x18, 0xe2, 0x25, 0x9f, 0x70, 0x98, 0xb4, 0x98, 0xe4, 0x03, 0x9d, + 0x93, 0x9d, 0x3a, 0x73, 0x4c, 0x36, 0xdc, 0x13, 0x78, 0xd0, 0x4d, 0x1a, 0x1f, 0xf4, 0xd0, 0x8d, + 0x07, 0x3d, 0xdf, 0xf9, 0x21, 0x48, 0x6c, 0xe8, 0xe5, 0x3f, 0x55, 0x40, 0x0d, 0x64, 0x2e, 0x34, + 0xb0, 0xeb, 0x8a, 0x37, 0x2d, 0x9d, 0xb7, 0xcb, 0xe2, 0x46, 0x2a, 0x4f, 0xdb, 0x6f, 0x96, 0x7f, + 0x01, 0x26, 0xc5, 0x1b, 0x45, 0x01, 0x11, 0x3c, 0xc2, 0x96, 0x32, 0xee, 0xf1, 0x76, 0xf9, 0x8b, + 0x6c, 0x6c, 0x7f, 0xf8, 0x8f, 0x8b, 0x4b, 0x47, 0xc4, 0x6f, 0xb4, 0x0e, 0x96, 0x0d, 0xd7, 0x5e, + 0x91, 0x5f, 0xf3, 0x88, 0xff, 0xde, 0xa1, 0xe6, 0xf1, 0x0a, 0xcb, 0x91, 0x29, 0x27, 0xa0, 0x9a, + 0x6a, 0xa3, 0xd3, 0xf6, 0xa1, 0xd2, 0xf2, 0x1f, 0x24, 0x60, 0xf6, 0x52, 0xfb, 0xe1, 0xa6, 0xf3, + 0x01, 0xcc, 0x86, 0x03, 0x0b, 0x5e, 0x83, 0x87, 0xcf, 0x38, 0xc5, 0x7c, 0x66, 0x82, 0x0e, 0xc1, + 0x43, 0xf0, 0xe0, 0xc5, 0xe6, 0x6b, 0x90, 0x8d, 0x5d, 0x1c, 0x89, 0x09, 0xa5, 0xb5, 0x4c, 0x74, + 0x73, 0x44, 0xd5, 0x16, 0xcc, 0xb6, 0xbf, 0x3d, 0xd7, 0xb9, 0x82, 0xc5, 0x26, 0x21, 0xc9, 0xdd, + 0xc9, 0x07, 0xbd, 0xf4, 0xd5, 0xdb, 0xf0, 0xb5, 0xe9, 0xb6, 0x07, 0xeb, 0xd1, 0x82, 0xf8, 0x12, + 0xcc, 0x98, 0x84, 0xbe, 0x6c, 0x21, 0x8b, 0x1c, 0x12, 0x6c, 0xc6, 0xed, 0x6c, 0x88, 0x0f, 0x72, + 0x2a, 0xde, 0x1c, 0x9a, 0x58, 0xf9, 0xcf, 0x12, 0x30, 0xb1, 0x81, 0x71, 0x95, 0x50, 0x71, 0x76, + 0x4f, 0xe4, 0x86, 0xa4, 0x0e, 0x13, 0xc2, 0x7b, 0x98, 0xb2, 0x45, 0x5c, 0x34, 0x0d, 0x72, 0xe1, + 0xcb, 0xe9, 0x03, 0x60, 0x7e, 0xcd, 0x54, 0x87, 0x09, 0xff, 0x12, 0xd0, 0x41, 0xd2, 0x14, 0xbf, + 0x0b, 0x74, 0x15, 0x72, 0xf2, 0xb3, 0x02, 0x64, 0xf3, 0x93, 0x8a, 0x64, 0x3f, 0xcf, 0x62, 0xb3, + 0x82, 0xa6, 0xc2, 0x49, 0x58, 0xf8, 0x3e, 0x71, 0xad, 0x96, 0x3d, 0x50, 0x10, 0x96, 0x24, 0xe5, + 0x5f, 0x6d, 0x17, 0x61, 0xdd, 0x68, 0x60, 0xb3, 0x65, 0xf1, 0x87, 0xa7, 0x07, 0x2d, 0x83, 0x69, + 0x21, 0x3a, 0xdc, 0x1a, 0xd2, 0x32, 0xa2, 0x4e, 0x9c, 0xbd, 0xbc, 0x01, 0x63, 0xb2, 0x4b, 0xf8, + 0x5d, 0x82, 0x78, 0xe2, 0x91, 0x17, 0xd5, 0xe1, 0x87, 0x08, 0x9d, 0x86, 0x97, 0xec, 0x36, 0xbc, + 0x6d, 0x00, 0x9f, 0xc8, 0xdd, 0x68, 0xe0, 0x19, 0x56, 0x7a, 0x59, 0xda, 0x25, 0x6a, 0xd7, 0xd2, + 0xbe, 0xfc, 0x45, 0x7b, 0x59, 0xd4, 0x70, 0x2f, 0x8b, 0xda, 0x02, 0xb5, 0x03, 0x79, 0x6f, 0x6f, + 0x53, 0x55, 0x61, 0xc8, 0x0f, 0x42, 0xcf, 0x90, 0xc6, 0x7f, 0xb3, 0x60, 0xec, 0xfb, 0x56, 0xd7, + 0xf3, 0x96, 0xac, 0xef, 0x5b, 0xd1, 0xf5, 0xf6, 0xef, 0x28, 0x90, 0xfd, 0x98, 0x0b, 0x5a, 0xc3, + 0x86, 0xeb, 0x99, 0xfc, 0x7a, 0x8e, 0x1b, 0x91, 0xd4, 0x98, 0x32, 0xc8, 0xf5, 0x1c, 0x23, 0x14, + 0x68, 0x0c, 0xc7, 0x8f, 0xe3, 0x0c, 0x72, 0xd2, 0xed, 0x47, 0x38, 0xe5, 0xdf, 0x50, 0x20, 0x5f, + 0x11, 0x91, 0x59, 0x3a, 0x20, 0xb5, 0x08, 0xa3, 0x32, 0x56, 0xcb, 0x90, 0x1f, 0x14, 0x55, 0x0c, + 0xa3, 0x3f, 0x41, 0x67, 0x18, 0x60, 0x97, 0x7f, 0x49, 0x81, 0x2c, 0x4f, 0x89, 0x85, 0xcc, 0x68, + 0xef, 0xdd, 0xdc, 0x73, 0x98, 0xb4, 0x90, 0x8f, 0xa9, 0xaf, 0x33, 0xe7, 0xc2, 0x53, 0x46, 0x37, + 0x1a, 0xe1, 0x1b, 0xd7, 0x79, 0x2b, 0xc9, 0x44, 0x53, 0x05, 0x48, 0x9c, 0x6f, 0xf9, 0x4b, 0x90, + 0x8b, 0x12, 0x97, 0x5a, 0x95, 0xaa, 0x8f, 0x20, 0xdf, 0x96, 0x80, 0x89, 0x78, 0x9d, 0xd5, 0x72, + 0xf1, 0x0c, 0x8c, 0x96, 0x7f, 0x5f, 0x81, 0x4c, 0x0c, 0x48, 0xbd, 0x0f, 0xe9, 0xce, 0xa0, 0x13, + 0x55, 0xdc, 0x66, 0xab, 0x18, 0xdf, 0xa6, 0x26, 0x6f, 0xb0, 0x4d, 0x2d, 0xdb, 0x30, 0x2c, 0x3e, + 0x64, 0x79, 0x02, 0x4a, 0x73, 0x10, 0x63, 0x54, 0x9a, 0x8c, 0xe4, 0xe5, 0x20, 0x63, 0x56, 0x5e, + 0x96, 0x7f, 0x4b, 0x81, 0xc5, 0x4a, 0x70, 0x22, 0x1c, 0x89, 0xb6, 0x6d, 0x85, 0xf4, 0x75, 0xa3, + 0xba, 0x03, 0x79, 0x69, 0x11, 0xc2, 0xfe, 0x03, 0x75, 0xf7, 0x71, 0xbb, 0x2f, 0x99, 0xe5, 0xec, + 0x58, 0x89, 0x96, 0xbf, 0xa3, 0xc0, 0xfd, 0x70, 0x64, 0x95, 0x4b, 0x86, 0x75, 0xf5, 0xaa, 0xb8, + 0xf3, 0xb1, 0x50, 0xc8, 0xc6, 0x9b, 0x7b, 0x9b, 0xff, 0x46, 0xe8, 0xfc, 0x45, 0xb6, 0xdf, 0x93, + 0x6b, 0x7c, 0x46, 0x32, 0x95, 0x0a, 0xe2, 0x40, 0x85, 0xe5, 0xfd, 0x8e, 0x6b, 0x57, 0xb1, 0x41, + 0x6c, 0x64, 0xd1, 0x2b, 0xf2, 0xfe, 0x39, 0x96, 0xf7, 0x8b, 0x1e, 0x9c, 0xe1, 0x90, 0x16, 0x96, + 0xcb, 0x18, 0xd4, 0xa7, 0x1e, 0x72, 0xfc, 0x4a, 0xcb, 0x6f, 0xb8, 0x1e, 0xf9, 0x44, 0x38, 0xff, + 0x22, 0x8c, 0x1e, 0xb1, 0x5a, 0xf9, 0x4d, 0x71, 0x5a, 0x0b, 0x8a, 0xea, 0x7b, 0x30, 0x22, 0x83, + 0x5e, 0xa2, 0x9f, 0xa0, 0x27, 0x3b, 0x97, 0xbf, 0x0d, 0x99, 0x0a, 0x9f, 0x1f, 0x67, 0x16, 0xe1, + 0x7b, 0xed, 0xf8, 0xde, 0x4d, 0xf1, 0xbf, 0xab, 0x40, 0x7e, 0xfd, 0xf0, 0x10, 0xf7, 0xc5, 0xa3, + 0x06, 0xe3, 0x0e, 0xf6, 0x75, 0x51, 0x94, 0x9f, 0x08, 0xf6, 0xc7, 0x6e, 0xcc, 0xc1, 0xfe, 0x53, + 0x41, 0xc6, 0x3f, 0x06, 0x54, 0x67, 0x21, 0x45, 0xa8, 0x7e, 0x82, 0x2c, 0x79, 0xe4, 0x93, 0xd2, + 0x46, 0x09, 0xfd, 0x98, 0x15, 0x1f, 0xfb, 0x70, 0xbf, 0xd7, 0x47, 0x6a, 0x2a, 0xc0, 0xc8, 0xb6, + 0x7b, 0xe0, 0x9a, 0x67, 0x85, 0x7b, 0x6a, 0x19, 0x16, 0x56, 0xf1, 0x11, 0x71, 0x56, 0x2d, 0xd7, + 0x38, 0xc6, 0x5e, 0xdd, 0x46, 0x9e, 0xbf, 0xe6, 0x3a, 0xbe, 0x87, 0x0c, 0x9f, 0xee, 0x38, 0xd6, + 0x59, 0x41, 0x51, 0xa7, 0x41, 0xbd, 0xa4, 0x3e, 0xa1, 0x66, 0x21, 0xb5, 0x7e, 0x82, 0xbd, 0x33, + 0xd7, 0xc1, 0x85, 0xe4, 0xe3, 0xbd, 0xc0, 0x0e, 0xc5, 0x83, 0x18, 0x75, 0x0c, 0x32, 0xfb, 0x0e, + 0x6d, 0x62, 0x83, 0xc7, 0xcc, 0xc2, 0x3d, 0xc6, 0x56, 0x68, 0xa2, 0xa0, 0xb0, 0xdf, 0xbb, 0xa8, + 0x45, 0xb1, 0x59, 0x48, 0xa8, 0x79, 0x80, 0x2a, 0xb6, 0x5d, 0x8b, 0xd0, 0x06, 0x36, 0x0b, 0x49, + 0x35, 0x03, 0xa3, 0xfc, 0x21, 0x29, 0x36, 0x0b, 0x43, 0x8f, 0xff, 0x24, 0x21, 0xdf, 0x4f, 0xf0, + 0x43, 0xdf, 0x12, 0x64, 0xf6, 0xb7, 0xeb, 0xbb, 0xeb, 0x6b, 0xb5, 0x8d, 0xda, 0x7a, 0xb5, 0x70, + 0x6f, 0x6e, 0xec, 0xfc, 0xa2, 0x14, 0xaf, 0x62, 0xfb, 0xf9, 0xd5, 0xfd, 0xe7, 0x05, 0x65, 0x6e, + 0xf4, 0xfc, 0xa2, 0xc4, 0x7e, 0xb2, 0x68, 0x5c, 0x5f, 0xdf, 0xdc, 0x2c, 0x24, 0xe6, 0x52, 0xe7, + 0x17, 0x25, 0xfe, 0x9b, 0xd9, 0x65, 0x7d, 0x6f, 0x67, 0x57, 0x67, 0x5d, 0x93, 0x73, 0xd9, 0xf3, + 0x8b, 0x52, 0x58, 0x66, 0xee, 0x97, 0xff, 0xe6, 0x44, 0x43, 0x73, 0xb9, 0xf3, 0x8b, 0x52, 0x54, + 0xc1, 0x28, 0xf7, 0x2a, 0x1f, 0xad, 0x73, 0xca, 0x61, 0x41, 0x19, 0x94, 0x19, 0x25, 0xff, 0xcd, + 0x29, 0x47, 0x04, 0x65, 0x58, 0xa1, 0x4e, 0xc3, 0xc8, 0xea, 0xfe, 0x73, 0x7d, 0x77, 0xa7, 0x30, + 0x3a, 0x07, 0xe7, 0x17, 0x25, 0x59, 0x62, 0xd6, 0xc2, 0xda, 0x59, 0x43, 0x6a, 0x2e, 0x73, 0x7e, + 0x51, 0x0a, 0x8a, 0xea, 0x02, 0x00, 0xeb, 0x53, 0xd9, 0xdb, 0xd9, 0xaa, 0xad, 0x15, 0xd2, 0x73, + 0xf9, 0xf3, 0x8b, 0x52, 0xac, 0x86, 0x49, 0x83, 0x77, 0x95, 0x1d, 0x40, 0x48, 0x23, 0x56, 0xf5, + 0xf8, 0x8f, 0x14, 0xc8, 0xad, 0x07, 0x67, 0x49, 0x5c, 0x82, 0xf7, 0xa1, 0x18, 0xd3, 0x4a, 0x5b, + 0x9b, 0x50, 0x91, 0xd0, 0x61, 0x41, 0x51, 0x73, 0x90, 0xe6, 0x77, 0x32, 0x1b, 0xc4, 0xb2, 0x0a, + 0x09, 0x75, 0x0e, 0xa6, 0x79, 0x71, 0x0b, 0xf9, 0x46, 0x43, 0x13, 0xdf, 0x8e, 0x72, 0xc5, 0x14, + 0x92, 0xcc, 0x40, 0xa2, 0xb6, 0x6d, 0xfc, 0x4a, 0xd4, 0x0f, 0xa9, 0x53, 0x30, 0x2e, 0x3f, 0x5d, + 0x93, 0xdf, 0x83, 0x12, 0xd7, 0x29, 0x0c, 0x33, 0x28, 0xf1, 0x52, 0xb8, 0xf3, 0x3d, 0x62, 0x61, + 0xe4, 0xf1, 0x77, 0x02, 0x7d, 0x6f, 0x21, 0x7a, 0xcc, 0x64, 0xb6, 0xbf, 0xbd, 0x5f, 0xe7, 0xaa, + 0xe6, 0x32, 0x13, 0x25, 0xa6, 0xe5, 0xca, 0x76, 0xa8, 0xe5, 0xca, 0xf6, 0x73, 0x26, 0x45, 0x6d, + 0xfd, 0xe9, 0xfe, 0x66, 0x45, 0x2b, 0x24, 0x84, 0x14, 0x65, 0x91, 0x49, 0x69, 0x6d, 0x67, 0xbb, + 0x5a, 0xdb, 0xab, 0xed, 0x6c, 0x57, 0x98, 0x46, 0xb9, 0x94, 0x62, 0x55, 0xea, 0x32, 0xcc, 0x54, + 0x6b, 0xda, 0xfa, 0x1a, 0x2b, 0x32, 0x45, 0xea, 0x3b, 0x9a, 0xfe, 0xac, 0xf6, 0xf4, 0xd9, 0xba, + 0x56, 0x48, 0xcd, 0x8d, 0x9f, 0x5f, 0x94, 0x72, 0x6d, 0x95, 0xed, 0xfd, 0xb9, 0xb8, 0x77, 0x34, + 0x7d, 0x73, 0xe7, 0x67, 0xd7, 0xb5, 0x42, 0x41, 0xf4, 0x6f, 0xab, 0x54, 0xe7, 0x21, 0xb3, 0xf7, + 0x7c, 0x77, 0x5d, 0xdf, 0xaa, 0x68, 0x1f, 0xad, 0xef, 0x15, 0x4a, 0x62, 0x2a, 0xa2, 0xa4, 0xce, + 0x02, 0xf0, 0xc6, 0xcd, 0xda, 0x56, 0x6d, 0xaf, 0xf0, 0xe1, 0x5c, 0xfa, 0xfc, 0xa2, 0x34, 0xcc, + 0x0b, 0xab, 0x8d, 0xef, 0x7f, 0xb6, 0xa0, 0xfc, 0xf0, 0xb3, 0x05, 0xe5, 0x9f, 0x3e, 0x5b, 0x50, + 0xbe, 0xfb, 0xf9, 0xc2, 0xbd, 0x1f, 0x7e, 0xbe, 0x70, 0xef, 0xef, 0x3e, 0x5f, 0xb8, 0xf7, 0x8d, + 0xed, 0x58, 0x9a, 0x54, 0x0b, 0x1c, 0xf8, 0x26, 0x3a, 0xa0, 0x2b, 0xa1, 0x3b, 0x7f, 0xc7, 0x70, + 0x3d, 0x1c, 0x2f, 0x36, 0x10, 0x71, 0x56, 0x6c, 0x97, 0xa5, 0xeb, 0x34, 0xfa, 0x4b, 0x14, 0x3c, + 0xa5, 0x3a, 0x18, 0xe1, 0xdf, 0x3f, 0xfe, 0xbf, 0xff, 0x0c, 0x00, 0x00, 0xff, 0xff, 0x35, 0xcc, + 0x95, 0x72, 0xac, 0x42, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { @@ -3726,6 +3730,9 @@ func (this *Params) Equal(that interface{}) bool { return false } } + if !this.InjAuctionMaxCap.Equal(that1.InjAuctionMaxCap) { + return false + } return true } func (m *Params) Marshal() (dAtA []byte, err error) { @@ -3748,6 +3755,18 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + { + size := m.InjAuctionMaxCap.Size() + i -= size + if _, err := m.InjAuctionMaxCap.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintExchange(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xe2 if len(m.ExchangeAdmins) > 0 { for iNdEx := len(m.ExchangeAdmins) - 1; iNdEx >= 0; iNdEx-- { i -= len(m.ExchangeAdmins[iNdEx]) @@ -7023,6 +7042,8 @@ func (m *Params) Size() (n int) { n += 2 + l + sovExchange(uint64(l)) } } + l = m.InjAuctionMaxCap.Size() + n += 2 + l + sovExchange(uint64(l)) return n } @@ -8958,6 +8979,40 @@ func (m *Params) Unmarshal(dAtA []byte) error { } m.ExchangeAdmins = append(m.ExchangeAdmins, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex + case 28: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field InjAuctionMaxCap", 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 + } + if err := m.InjAuctionMaxCap.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipExchange(dAtA[iNdEx:]) diff --git a/chain/exchange/types/fee_validation.go b/chain/exchange/types/fee_validation.go index edef2393..cc872f22 100644 --- a/chain/exchange/types/fee_validation.go +++ b/chain/exchange/types/fee_validation.go @@ -16,11 +16,10 @@ func ValidateMakerWithTakerFee(makerFeeRate, takerFeeRate, relayerFeeShareRate, return nil } + // if makerFeeRate is negative, must hold: takerFeeRate * (1 - relayerFeeShareRate) + makerFeeRate > minimalProtocolFeeRate if takerFeeRate.Mul(math.LegacyOneDec().Sub(relayerFeeShareRate)).Add(makerFeeRate).LT(minimalProtocolFeeRate) { - // if makerFeeRate is negative then takerFeeRate >= (minimalProtocolFeeRate - relayerFeeShareRate)/(1 - makerFeeRate) - numerator := minimalProtocolFeeRate.Sub(relayerFeeShareRate) - denominator := math.LegacyOneDec().Sub(makerFeeRate) - return errors.Wrap(ErrFeeRatesRelation, fmt.Sprintf("if maker_fee_rate is negative (%v), taker_fee_rate must be GTE than %v [ taker_fee_rate >= (minimum_protocol_fee_rate - maker_fee_rate)/(1 - relayer_fee_share_rate) ]", makerFeeRate.String(), numerator.Quo(denominator).String())) + errMsg := fmt.Sprintf("if makerFeeRate (%v) is negative, (takerFeeRate = %v) * (1 - relayerFeeShareRate = %v) + makerFeeRate < %v", makerFeeRate.String(), takerFeeRate.String(), relayerFeeShareRate.String(), minimalProtocolFeeRate.String()) + return errors.Wrap(ErrFeeRatesRelation, errMsg) } return nil diff --git a/chain/exchange/types/params.go b/chain/exchange/types/params.go index 51e03d31..fbec3e19 100644 --- a/chain/exchange/types/params.go +++ b/chain/exchange/types/params.go @@ -21,11 +21,11 @@ const ( // funding is consistently applied on the hour for all perpetual markets. DefaultFundingMultipleSeconds int64 = 3600 - // SpotMarketInstantListingFee is 1000 INJ - SpotMarketInstantListingFee int64 = 1000 + // SpotMarketInstantListingFee is 20 INJ + SpotMarketInstantListingFee int64 = 20 - // DerivativeMarketInstantListingFee is 1000 INJ - DerivativeMarketInstantListingFee int64 = 1000 + // DerivativeMarketInstantListingFee is 20 INJ + DerivativeMarketInstantListingFee int64 = 20 // BinaryOptionsMarketInstantListingFee is 100 INJ BinaryOptionsMarketInstantListingFee int64 = 100 @@ -289,6 +289,9 @@ func (p Params) Validate() error { if err := validatePostOnlyModeHeightThreshold(p.PostOnlyModeHeightThreshold); err != nil { return fmt.Errorf("post_only_mode_height_threshold is incorrect: %w", err) } + if err := validateAdmins(p.ExchangeAdmins); err != nil { + return fmt.Errorf("ExchangeAdmins is incorrect: %w", err) + } return nil } @@ -524,6 +527,29 @@ func validatePostOnlyModeHeightThreshold(i interface{}) error { return nil } +func validateAdmins(i interface{}) error { + v, ok := i.([]string) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + + admins := make(map[string]struct{}) + + for _, admin := range v { + adminAddr, err := sdk.AccAddressFromBech32(admin) + if err != nil { + return fmt.Errorf("invalid admin address: %s", admin) + } + + if _, found := admins[adminAddr.String()]; found { + return fmt.Errorf("duplicate admin: %s", admin) + } + admins[adminAddr.String()] = struct{}{} + } + + return nil +} + func validateFundingMultiple(i interface{}) error { v, ok := i.(int64) if !ok { diff --git a/chain/exchange/types/tx.pb.go b/chain/exchange/types/tx.pb.go index 867c3602..4a78fb8f 100644 --- a/chain/exchange/types/tx.pb.go +++ b/chain/exchange/types/tx.pb.go @@ -638,10 +638,6 @@ type MsgInstantSpotMarketLaunch struct { // min_notional defines the minimum notional (in quote asset) required for // orders in the market MinNotional cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=min_notional,json=minNotional,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_notional"` - // maker_fee_rate defines the trade fee rate for makers - MakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=maker_fee_rate,json=makerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"maker_fee_rate"` - // taker_fee_rate defines the trade fee rate for takers - TakerFeeRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=taker_fee_rate,json=takerFeeRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"taker_fee_rate"` } func (m *MsgInstantSpotMarketLaunch) Reset() { *m = MsgInstantSpotMarketLaunch{} } @@ -3678,254 +3674,254 @@ func init() { } var fileDescriptor_bd45b74cb6d81462 = []byte{ - // 3948 bytes of a gzipped FileDescriptorProto + // 3942 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x4b, 0x6c, 0x1c, 0xc7, 0x95, 0x6a, 0x0e, 0x39, 0x24, 0x1f, 0x29, 0x89, 0x6a, 0x52, 0xe2, 0x70, 0xf8, 0x93, 0x9a, 0x92, 0xf5, 0x27, 0xf5, 0xff, 0x8c, 0x56, 0x96, 0xf8, 0x91, 0x6c, 0xae, 0x45, 0x4b, 0x1e, 0xca, 0xbb, 0xde, 0x85, 0xbd, 0x83, 0x66, 0x4f, 0x71, 0xd8, 0xe6, 0x4c, 0xf7, 0xa8, 0xbb, 0x47, 0x12, 0x8d, 0x05, 0xd6, 0xeb, 0xc3, 0x42, 0xfb, 0xc1, 0x62, 0x17, 0x58, 0x60, 0x81, 0x05, 0x0c, 0x18, 0x58, - 0x20, 0x06, 0x9c, 0x20, 0x91, 0x83, 0x20, 0xf0, 0x21, 0x09, 0x82, 0x20, 0x07, 0xc3, 0x27, 0x25, - 0x80, 0x81, 0x20, 0x07, 0x25, 0xb0, 0x0f, 0x36, 0x7c, 0x0a, 0x72, 0x09, 0x90, 0x5c, 0x82, 0xae, - 0xaa, 0xae, 0xe9, 0x4f, 0x55, 0x77, 0xcf, 0x88, 0xb4, 0xe5, 0xc0, 0x17, 0x89, 0x5d, 0xf5, 0xde, - 0xab, 0xf7, 0x5e, 0xbd, 0x4f, 0xd5, 0xab, 0xaa, 0x81, 0x29, 0xdd, 0x78, 0x1d, 0x69, 0x8e, 0x7e, - 0x17, 0xcd, 0xa0, 0xfb, 0xda, 0x9a, 0x6a, 0x54, 0xd0, 0xcc, 0xdd, 0x93, 0x2b, 0xc8, 0x51, 0x4f, - 0xce, 0x38, 0xf7, 0xa7, 0xeb, 0x96, 0xe9, 0x98, 0x72, 0x9e, 0x01, 0x4d, 0x7b, 0x40, 0xd3, 0x14, - 0x28, 0x3f, 0xa1, 0x99, 0x76, 0xcd, 0xb4, 0x67, 0x56, 0x54, 0xbb, 0x89, 0xa9, 0x99, 0xba, 0x41, - 0x70, 0xf3, 0xd3, 0xb4, 0xbf, 0xac, 0xdb, 0x8e, 0xa5, 0xaf, 0x34, 0x1c, 0xdd, 0x34, 0x18, 0x9c, - 0xbf, 0x91, 0xc2, 0x0f, 0x53, 0xf8, 0x9a, 0x5d, 0x99, 0xb9, 0x7b, 0xd2, 0xfd, 0x8f, 0x76, 0x8c, - 0x90, 0x8e, 0x12, 0xfe, 0x9a, 0x21, 0x1f, 0xb4, 0x6b, 0xa8, 0x62, 0x56, 0x4c, 0xd2, 0xee, 0xfe, - 0x45, 0x5b, 0x0f, 0xc7, 0x88, 0xc6, 0xc4, 0x20, 0xa0, 0x07, 0x9a, 0xa0, 0xa6, 0xa5, 0x6a, 0xd5, - 0x26, 0x20, 0xf9, 0xa4, 0x60, 0xbb, 0xd4, 0x9a, 0x6e, 0x98, 0x33, 0xf8, 0x5f, 0xd2, 0xa4, 0xbc, - 0x9b, 0x81, 0xc1, 0x25, 0xbb, 0xf2, 0x72, 0xbd, 0xac, 0x3a, 0x68, 0xb9, 0x6e, 0x3a, 0x4b, 0xaa, - 0xb5, 0x8e, 0x1c, 0x79, 0x08, 0xba, 0xd4, 0x72, 0x4d, 0x37, 0x72, 0xd2, 0x5e, 0xe9, 0x50, 0x6f, - 0x91, 0x7c, 0xc8, 0xa3, 0xd0, 0x5b, 0xc3, 0xfd, 0x25, 0xbd, 0x9c, 0xeb, 0xc0, 0x3d, 0x3d, 0xa4, - 0x61, 0xb1, 0x2c, 0x8f, 0x03, 0x18, 0xe8, 0x5e, 0xc9, 0xd1, 0xb5, 0x75, 0x64, 0xe5, 0x32, 0xb8, - 0xb7, 0xd7, 0x40, 0xf7, 0x6e, 0xe3, 0x06, 0xf9, 0xef, 0x60, 0xd8, 0xed, 0xae, 0xe9, 0x46, 0xa9, - 0x6e, 0xe9, 0x1a, 0xc2, 0x80, 0x25, 0x5b, 0x7f, 0x03, 0xe5, 0x3a, 0x5d, 0xd8, 0xb9, 0xa9, 0x0f, - 0x1f, 0x4f, 0x6e, 0xfb, 0xf5, 0xe3, 0xc9, 0x51, 0xa2, 0x1b, 0xbb, 0xbc, 0x3e, 0xad, 0x9b, 0x33, - 0x35, 0xd5, 0x59, 0x9b, 0xbe, 0x81, 0x2a, 0xaa, 0xb6, 0xb1, 0x80, 0xb4, 0xe2, 0xa0, 0x81, 0xee, - 0x2d, 0xe9, 0xc6, 0x2d, 0x97, 0x82, 0x4b, 0x78, 0x59, 0x7f, 0x03, 0xc9, 0x25, 0xc8, 0x7b, 0xa4, - 0xef, 0x34, 0x54, 0xc3, 0xd1, 0x9d, 0x0d, 0x1f, 0xf5, 0xae, 0xf4, 0xd4, 0xf7, 0x10, 0xea, 0x2f, - 0x51, 0x22, 0x6c, 0x80, 0x25, 0x18, 0xf0, 0x06, 0x30, 0x4c, 0x77, 0xb2, 0xd5, 0x6a, 0x2e, 0x9b, - 0x9e, 0xec, 0x0e, 0x42, 0xf6, 0x45, 0x8a, 0x5a, 0x38, 0xfd, 0xe0, 0x9d, 0xc9, 0x6d, 0x9f, 0xbf, - 0x33, 0xb9, 0xed, 0xad, 0xcf, 0x1e, 0x1e, 0x21, 0xaa, 0xfd, 0xb7, 0xcf, 0x1e, 0x1e, 0x19, 0x63, - 0xd3, 0xcc, 0x99, 0x11, 0x65, 0x1c, 0x46, 0x39, 0xcd, 0x45, 0x64, 0xd7, 0x4d, 0xc3, 0x46, 0xca, - 0x1f, 0x3a, 0x61, 0x84, 0xf5, 0x2f, 0x20, 0x4b, 0xbf, 0xab, 0xba, 0xf6, 0xf0, 0xcd, 0x74, 0x6e, - 0xf9, 0x74, 0xca, 0xaf, 0x42, 0xce, 0x25, 0xa7, 0x1b, 0xba, 0xa3, 0xab, 0xd5, 0x52, 0x4d, 0xb5, - 0x2a, 0xba, 0x51, 0xb2, 0x54, 0x47, 0x37, 0x73, 0xdd, 0xe9, 0xc9, 0xee, 0x36, 0xd0, 0xbd, 0x45, - 0x42, 0x63, 0x09, 0x93, 0x28, 0xba, 0x14, 0xe4, 0x32, 0x8c, 0x61, 0x66, 0x55, 0xdd, 0x70, 0x90, - 0xa1, 0x1a, 0x1a, 0x0a, 0x8e, 0xd0, 0x93, 0x7e, 0x84, 0x11, 0x97, 0xf1, 0x26, 0x1d, 0xdf, 0x28, - 0x85, 0x8b, 0x7c, 0x93, 0x54, 0xa2, 0x26, 0x19, 0xb6, 0x2d, 0x65, 0x0a, 0xf6, 0x09, 0x3b, 0x99, - 0x79, 0x7e, 0x20, 0xc1, 0x4e, 0x06, 0x75, 0x4b, 0xb5, 0xd4, 0x9a, 0x2d, 0x9f, 0x83, 0x5e, 0xb5, - 0xe1, 0xac, 0x99, 0x96, 0xee, 0x6c, 0x10, 0xc3, 0x9c, 0xcb, 0xfd, 0xf2, 0x07, 0xc7, 0x87, 0x68, - 0x6c, 0x9c, 0x2d, 0x97, 0x2d, 0x64, 0xdb, 0xcb, 0x8e, 0xa5, 0x1b, 0x95, 0x62, 0x13, 0x54, 0xbe, - 0x0a, 0xd9, 0x3a, 0xa6, 0x80, 0x6d, 0xb6, 0xef, 0x94, 0x32, 0x2d, 0x8e, 0xef, 0xd3, 0x64, 0xac, - 0xb9, 0x4e, 0x57, 0x3f, 0x45, 0x8a, 0x57, 0x38, 0xea, 0x4a, 0xd9, 0xa4, 0xe8, 0x4a, 0x9a, 0x8b, - 0x4a, 0x4a, 0x50, 0x95, 0x11, 0x18, 0x0e, 0x35, 0x31, 0xa9, 0xbe, 0x27, 0x01, 0x2c, 0xd9, 0x95, - 0x05, 0x54, 0x37, 0x6d, 0xdd, 0x91, 0xf7, 0x40, 0xd6, 0x46, 0x46, 0x19, 0x59, 0xd4, 0xcd, 0xe8, - 0x97, 0x3c, 0x05, 0xdb, 0xed, 0xc6, 0x8a, 0xaa, 0x69, 0x66, 0xc3, 0xf0, 0xf9, 0x5a, 0x7f, 0xb3, - 0x71, 0xb1, 0x2c, 0x9f, 0x87, 0xac, 0x5a, 0x73, 0xff, 0xc6, 0xbe, 0xd6, 0x77, 0x6a, 0x84, 0x66, - 0x9e, 0x69, 0x37, 0x33, 0x31, 0x71, 0xe6, 0x4d, 0xdd, 0xf0, 0x84, 0x21, 0xe0, 0x85, 0xa3, 0xfe, - 0xa9, 0xa3, 0x43, 0xba, 0x12, 0x0d, 0xfa, 0x25, 0xa2, 0x2c, 0x2a, 0x43, 0x20, 0x37, 0xbf, 0x98, - 0x1c, 0xef, 0x4b, 0xd0, 0xb7, 0x64, 0x57, 0xfe, 0x56, 0x77, 0xd6, 0xca, 0x96, 0x7a, 0xef, 0x2b, - 0x12, 0xe4, 0x98, 0x40, 0x90, 0x21, 0xbf, 0x20, 0x1e, 0x8f, 0xca, 0x6e, 0x9c, 0xb8, 0xbc, 0x4f, - 0x26, 0xca, 0x77, 0x25, 0x3c, 0x5d, 0xf3, 0x16, 0xa2, 0x71, 0xf2, 0x86, 0x5e, 0xd3, 0x9d, 0x9b, - 0x96, 0xcb, 0xbe, 0x48, 0xac, 0x59, 0xe8, 0x32, 0x5d, 0x00, 0x6a, 0x4f, 0x07, 0xe2, 0xec, 0xc9, - 0x25, 0x89, 0xa9, 0x51, 0xe6, 0x09, 0x66, 0xe1, 0x82, 0x80, 0xf7, 0xbd, 0x7e, 0xde, 0x79, 0x4c, - 0x29, 0xaf, 0xc2, 0xa4, 0xa0, 0xcb, 0x93, 0xc9, 0x0d, 0xc5, 0x78, 0x94, 0xd2, 0x9a, 0x6a, 0xaf, - 0x51, 0xde, 0x7b, 0x71, 0xcb, 0xf3, 0xaa, 0xbd, 0x26, 0x0f, 0x40, 0x46, 0x63, 0x73, 0xe1, 0xfe, - 0x59, 0xe8, 0xf1, 0xb8, 0x51, 0x7e, 0x24, 0xc1, 0xf8, 0x92, 0x5d, 0x99, 0x53, 0x1d, 0x6d, 0x8d, - 0x37, 0x86, 0x2d, 0x54, 0xca, 0x3c, 0x64, 0xf1, 0x10, 0xae, 0x97, 0x65, 0x5a, 0xd5, 0x0a, 0x45, - 0x2d, 0x3c, 0x2b, 0x50, 0xcb, 0x33, 0x7e, 0xb5, 0x88, 0x99, 0x53, 0xbe, 0x2f, 0xc1, 0x81, 0x58, - 0x08, 0xa6, 0xa3, 0x7d, 0xd0, 0xdf, 0xd4, 0x11, 0xb2, 0x73, 0xd2, 0xde, 0xcc, 0xa1, 0xde, 0x62, - 0x1f, 0xd3, 0x12, 0xb2, 0xe5, 0x69, 0x18, 0xd4, 0x30, 0x8d, 0x72, 0x89, 0xb0, 0x57, 0xd2, 0xf4, - 0x32, 0x11, 0xaf, 0xb7, 0xb8, 0x8b, 0x76, 0x11, 0xb2, 0xf3, 0x7a, 0xd9, 0x96, 0x8f, 0x81, 0xbc, - 0xaa, 0xea, 0xd5, 0x10, 0x78, 0x06, 0x83, 0x0f, 0x90, 0x9e, 0x26, 0xb4, 0x4f, 0xe7, 0x1f, 0x77, - 0x42, 0x7e, 0xc9, 0xae, 0x2c, 0x1a, 0xb6, 0xa3, 0x1a, 0x4e, 0x33, 0x57, 0xdf, 0x50, 0x1b, 0x86, - 0xb6, 0x26, 0x54, 0xf8, 0x1e, 0xc8, 0xd2, 0x64, 0x4b, 0x66, 0x92, 0x7e, 0xb9, 0xb3, 0xef, 0x7a, - 0x4e, 0xa9, 0x8c, 0x0c, 0xb3, 0xe6, 0x25, 0x62, 0xb7, 0x65, 0xc1, 0x6d, 0x90, 0x27, 0xa1, 0xef, - 0x4e, 0xc3, 0x74, 0xbc, 0x7e, 0x9c, 0x7c, 0x8b, 0x80, 0x9b, 0x08, 0x40, 0x11, 0x06, 0x79, 0x59, - 0xba, 0x85, 0x3c, 0x3a, 0x50, 0x0b, 0xa7, 0xe8, 0x57, 0x60, 0x8f, 0x20, 0x3d, 0xb7, 0x90, 0x47, - 0x5d, 0xb6, 0x22, 0xb9, 0xf9, 0x3a, 0xf4, 0x07, 0xf2, 0x72, 0x0b, 0x09, 0xb4, 0xaf, 0xe6, 0x4b, - 0xca, 0x8b, 0xb0, 0xa3, 0xa6, 0xae, 0x23, 0xab, 0xb4, 0x8a, 0x90, 0x9b, 0x29, 0x51, 0x2b, 0x89, - 0xb2, 0x1f, 0xa3, 0x5e, 0x47, 0xa8, 0xa8, 0x3a, 0xc8, 0x25, 0xe5, 0x04, 0x49, 0xf5, 0xb6, 0x40, - 0xca, 0xf1, 0x91, 0x2a, 0x5c, 0x12, 0xf8, 0xc3, 0x94, 0xdf, 0x1f, 0x04, 0x86, 0xa3, 0xec, 0x07, - 0x45, 0xdc, 0xdb, 0x8c, 0xe5, 0xdd, 0x38, 0xa0, 0x50, 0xb0, 0x5b, 0xc8, 0xaa, 0x23, 0xa7, 0x81, - 0x97, 0x14, 0xed, 0x9b, 0x60, 0xc8, 0xc6, 0x32, 0x11, 0x1b, 0x9b, 0x84, 0x3e, 0xb2, 0xd3, 0x28, - 0xb9, 0x86, 0xe9, 0x19, 0x21, 0x69, 0x9a, 0x53, 0x3d, 0xf7, 0xc4, 0x00, 0x18, 0x8b, 0x58, 0x5f, - 0x91, 0x22, 0xbd, 0xe4, 0x36, 0xb9, 0xee, 0x49, 0x41, 0x6c, 0x4d, 0xad, 0xa2, 0xd2, 0xaa, 0xaa, - 0x39, 0xa6, 0x85, 0x0d, 0x6a, 0x7b, 0x71, 0x17, 0xe9, 0x5a, 0x76, 0x7b, 0xae, 0xe3, 0x0e, 0xf9, - 0x1a, 0x1b, 0xd3, 0xd9, 0xa8, 0x23, 0x6c, 0x28, 0x3b, 0x4e, 0xed, 0xf7, 0x45, 0x29, 0xba, 0xf7, - 0xf1, 0x62, 0xd4, 0x4d, 0xfc, 0x79, 0x7b, 0xa3, 0x8e, 0x3c, 0xce, 0xdc, 0xbf, 0x9f, 0x4e, 0x43, - 0x91, 0x5f, 0x86, 0x21, 0xee, 0x7a, 0x12, 0xd2, 0x13, 0x94, 0xf5, 0xe8, 0x62, 0xf2, 0x35, 0xc8, - 0x09, 0x17, 0x92, 0x7d, 0x2d, 0x2c, 0xac, 0x6b, 0xdc, 0x55, 0xa4, 0x28, 0xd4, 0xf4, 0x6f, 0x4d, - 0xa8, 0xd9, 0xbe, 0xc9, 0xa1, 0x66, 0x47, 0x7b, 0xa1, 0xa6, 0x70, 0x55, 0xe0, 0xd4, 0x87, 0x38, - 0x4e, 0xcd, 0xf5, 0x47, 0xe5, 0x30, 0x1c, 0x4c, 0x00, 0x61, 0xee, 0xfd, 0xaf, 0xdd, 0x30, 0xd5, - 0x84, 0x9d, 0xd3, 0x0d, 0xd5, 0xda, 0xb8, 0x59, 0x77, 0x39, 0xb1, 0x9f, 0xc8, 0xc5, 0xa7, 0x60, - 0xbb, 0xe7, 0x7d, 0x1b, 0xb5, 0x15, 0xb3, 0x4a, 0x9d, 0x9c, 0x7a, 0xed, 0x32, 0x6e, 0x93, 0x0f, - 0xc2, 0x4e, 0x0a, 0x54, 0xb7, 0xcc, 0xbb, 0xba, 0x4b, 0x9d, 0xb8, 0xfa, 0x0e, 0xd2, 0x7c, 0x8b, - 0xb6, 0x86, 0x7d, 0xb3, 0xab, 0x4d, 0xdf, 0x6c, 0x35, 0x24, 0x44, 0x7d, 0xb9, 0x7b, 0xf3, 0x7c, - 0xb9, 0xa7, 0x5d, 0x5f, 0x3e, 0x09, 0x43, 0xe8, 0x7e, 0x5d, 0xc7, 0x5e, 0x66, 0x94, 0x1c, 0xbd, - 0x86, 0x6c, 0x47, 0xad, 0xd5, 0x71, 0x70, 0xc8, 0x14, 0x07, 0x9b, 0x7d, 0xb7, 0xbd, 0x2e, 0x17, - 0xc5, 0x46, 0x8e, 0x53, 0x45, 0x35, 0x64, 0x38, 0x3e, 0x14, 0x20, 0x28, 0xcd, 0xbe, 0x26, 0x0a, - 0xdb, 0xe2, 0xf7, 0xf9, 0xb7, 0xf8, 0xa1, 0xc8, 0xdd, 0x9f, 0x76, 0x75, 0xb0, 0x7d, 0x6b, 0x5c, - 0x76, 0xc7, 0x26, 0xbb, 0xec, 0xce, 0x36, 0x5d, 0x76, 0x41, 0xe0, 0xb2, 0xc7, 0x38, 0x2e, 0x2b, - 0xf4, 0x31, 0xe5, 0x38, 0x1c, 0x4d, 0x01, 0xc6, 0x5c, 0xf7, 0x17, 0x01, 0xd7, 0xbd, 0xe6, 0x4e, - 0xfb, 0xc6, 0xf5, 0x86, 0xd3, 0xb0, 0x90, 0xfd, 0xf4, 0x67, 0xe7, 0x90, 0x47, 0x67, 0x37, 0xd7, - 0xa3, 0xbb, 0x45, 0x1e, 0xbd, 0x07, 0xb2, 0xd8, 0x3f, 0x36, 0xb0, 0xfb, 0x65, 0x8a, 0xf4, 0x8b, - 0xe3, 0xe9, 0xbd, 0x9b, 0xe7, 0xe9, 0xb0, 0xd9, 0x59, 0xbb, 0x6f, 0xeb, 0xb2, 0x76, 0xff, 0x96, - 0x65, 0xed, 0x6f, 0x42, 0x40, 0xb2, 0xaf, 0x06, 0x43, 0x80, 0x10, 0x8c, 0x85, 0x80, 0x87, 0x12, - 0xe4, 0x02, 0xbb, 0x7d, 0x02, 0xb5, 0xe5, 0xe5, 0x89, 0x8b, 0x02, 0x61, 0xf7, 0xf1, 0xcb, 0x13, - 0x3e, 0xae, 0x94, 0xf7, 0x25, 0xd8, 0x2b, 0xea, 0x4c, 0x5b, 0xa1, 0x28, 0x42, 0xb7, 0x85, 0xec, - 0x46, 0xd5, 0xf1, 0x4a, 0x76, 0xa7, 0x92, 0x64, 0x08, 0x0e, 0xe2, 0x62, 0x62, 0x81, 0xa4, 0xa2, - 0x47, 0xc8, 0xab, 0x7a, 0x64, 0x78, 0x55, 0x8f, 0x8f, 0x25, 0xd8, 0xc3, 0xa7, 0x22, 0x5f, 0x81, - 0x1e, 0xcf, 0x28, 0x69, 0xcd, 0x31, 0x95, 0xe9, 0x30, 0x24, 0xf9, 0x22, 0x74, 0x61, 0x4f, 0x21, - 0x41, 0x38, 0x1d, 0x36, 0xc1, 0x90, 0xcf, 0x42, 0x66, 0x15, 0x21, 0xc2, 0x72, 0x3a, 0x44, 0x17, - 0x3e, 0x5a, 0xcd, 0x21, 0x73, 0xd1, 0xac, 0xb5, 0xa6, 0x28, 0x71, 0x3d, 0x17, 0xb4, 0xa1, 0xa3, - 0x71, 0xfa, 0x6f, 0x12, 0xe6, 0x58, 0x52, 0xe1, 0x41, 0x42, 0x35, 0x47, 0xcc, 0x9c, 0xb2, 0x82, - 0x8b, 0x39, 0x62, 0x80, 0xcd, 0x28, 0x78, 0xfd, 0xcc, 0x6f, 0xae, 0x81, 0x9c, 0xfc, 0x65, 0x6a, - 0xe9, 0x32, 0x47, 0x4b, 0x87, 0xa3, 0x5a, 0x12, 0xf0, 0xa7, 0x20, 0x38, 0x94, 0x04, 0xb3, 0x19, - 0xba, 0xfa, 0x48, 0xc2, 0x0b, 0x12, 0x5f, 0x75, 0x8d, 0x37, 0x2b, 0xe2, 0x12, 0xe1, 0x62, 0xa8, - 0x44, 0xd8, 0x86, 0xbe, 0xbc, 0x42, 0xe1, 0xd5, 0x07, 0x09, 0x91, 0x38, 0x89, 0x49, 0xe5, 0x03, - 0x09, 0x87, 0xe2, 0x24, 0xb8, 0xa7, 0xb1, 0x60, 0xf8, 0x48, 0xc2, 0x55, 0xf9, 0x79, 0x37, 0x31, - 0x57, 0x59, 0x04, 0x17, 0xaa, 0x3d, 0xf6, 0xd8, 0x2e, 0x52, 0xa2, 0xcf, 0x70, 0x4a, 0xf4, 0x41, - 0x9b, 0xe9, 0x14, 0xd8, 0x4c, 0x57, 0xd3, 0x66, 0x66, 0x38, 0xd3, 0x33, 0x1a, 0xb0, 0xe7, 0x20, - 0xef, 0xca, 0x18, 0x2e, 0x81, 0x86, 0x5a, 0x59, 0x1a, 0x7c, 0x8f, 0xa4, 0x41, 0x32, 0x57, 0x41, - 0x18, 0xb1, 0xb5, 0x5d, 0x81, 0xce, 0xb2, 0xea, 0xa8, 0x69, 0xca, 0xd1, 0x98, 0xd2, 0x82, 0xea, - 0xa8, 0xd4, 0xca, 0x30, 0x62, 0xe1, 0xec, 0x83, 0x84, 0x04, 0xc8, 0xe5, 0x47, 0xb9, 0x8e, 0x03, - 0x0a, 0xb7, 0x8f, 0x19, 0x53, 0x0e, 0xba, 0xed, 0x86, 0xa6, 0x21, 0x9b, 0xd8, 0x51, 0x4f, 0xd1, - 0xfb, 0x0c, 0x06, 0xef, 0x7d, 0x41, 0x42, 0x01, 0xd7, 0xde, 0x6a, 0xe9, 0x9f, 0xe5, 0x48, 0x7f, - 0x44, 0x20, 0x3d, 0x87, 0x31, 0xe5, 0x26, 0x1c, 0x4e, 0x04, 0x6a, 0x49, 0x1f, 0xbf, 0xef, 0x86, - 0x21, 0x8f, 0x22, 0x39, 0x5d, 0x4b, 0x50, 0x41, 0xaa, 0xd3, 0xa7, 0x2b, 0x30, 0x6e, 0xd7, 0x4d, - 0xa7, 0xc4, 0x3c, 0xc4, 0x2e, 0x39, 0x66, 0x49, 0xc3, 0x1c, 0x97, 0xd4, 0x6a, 0x95, 0xba, 0x63, - 0xce, 0x66, 0xcb, 0x83, 0xc5, 0xb2, 0x7d, 0xdb, 0x24, 0x22, 0xcd, 0x56, 0xab, 0xf2, 0x0b, 0x30, - 0x55, 0x66, 0x81, 0x43, 0x4c, 0xa6, 0x13, 0x93, 0x99, 0x28, 0x87, 0x0e, 0x3c, 0x43, 0xc4, 0xfe, - 0x01, 0x76, 0x63, 0x6e, 0x68, 0x3c, 0x60, 0x24, 0x72, 0x5d, 0xad, 0x4e, 0xa3, 0x54, 0x94, 0x6d, - 0x66, 0x77, 0xde, 0x10, 0xf2, 0xeb, 0x30, 0xea, 0x63, 0x36, 0x32, 0x4a, 0xb6, 0xf5, 0x51, 0x72, - 0xe5, 0x60, 0x9c, 0x6e, 0x8e, 0xc5, 0x91, 0x05, 0x47, 0xc0, 0x5c, 0x77, 0xab, 0xe7, 0x43, 0x61, - 0x59, 0x30, 0x19, 0xb9, 0x2e, 0x92, 0x85, 0x8c, 0xd2, 0xd3, 0x5e, 0x8a, 0xe1, 0x4b, 0x44, 0x46, - 0xbc, 0x03, 0x93, 0x2b, 0xd8, 0x88, 0x4b, 0x26, 0xb1, 0xe2, 0xa8, 0x06, 0x7b, 0x5b, 0xd7, 0xe0, - 0xe8, 0x4a, 0xd4, 0x31, 0x98, 0x12, 0x8b, 0x70, 0x30, 0x34, 0xa4, 0xd0, 0xc2, 0x00, 0x5b, 0xd8, - 0xbe, 0x95, 0x68, 0x5d, 0x21, 0x64, 0x64, 0xf7, 0xe2, 0xc4, 0x20, 0xca, 0xeb, 0x6b, 0x57, 0x79, - 0x02, 0x61, 0x30, 0xd5, 0xc2, 0x49, 0x4e, 0x48, 0x19, 0x8f, 0x84, 0x14, 0xbf, 0x6f, 0x2b, 0x0f, - 0xb2, 0x30, 0xc6, 0xeb, 0x60, 0x91, 0x63, 0x1a, 0x06, 0xb1, 0x95, 0x51, 0x45, 0x04, 0xa3, 0xc8, - 0x2e, 0xb7, 0x8b, 0x06, 0x61, 0xd2, 0x21, 0x17, 0x60, 0xc4, 0x67, 0x35, 0x21, 0xac, 0x0e, 0x8c, - 0x35, 0xdc, 0x04, 0x08, 0xe2, 0x1e, 0x81, 0x5d, 0x4d, 0x8b, 0xf6, 0xd6, 0x01, 0x24, 0x3e, 0xec, - 0x64, 0x06, 0x4a, 0xd7, 0x02, 0xe7, 0x60, 0x38, 0x6c, 0x9d, 0x1e, 0x06, 0x09, 0x05, 0xbb, 0x43, - 0x66, 0x46, 0xf1, 0x66, 0x61, 0x3c, 0x34, 0x39, 0x21, 0x1e, 0xbb, 0x30, 0x8f, 0xf9, 0x80, 0x9e, - 0x83, 0x6c, 0x5e, 0x86, 0x51, 0xde, 0xfc, 0x7a, 0xc3, 0x67, 0x49, 0x40, 0x8b, 0x4e, 0x14, 0xe5, - 0xe0, 0x3c, 0xe4, 0xbc, 0x55, 0x8c, 0xdf, 0x7f, 0xf1, 0xda, 0xa4, 0x9b, 0xb0, 0x4e, 0xfb, 0x9b, - 0x89, 0x0d, 0x2f, 0x67, 0xce, 0xc2, 0x30, 0x5d, 0xce, 0x44, 0xf0, 0x7a, 0x30, 0xde, 0x10, 0xe9, - 0x0e, 0xa1, 0xcd, 0xc3, 0x84, 0x37, 0x5e, 0xd4, 0x9f, 0x31, 0x76, 0x2f, 0xc6, 0x1e, 0xa5, 0x50, - 0x21, 0xc3, 0x23, 0x44, 0x66, 0x61, 0x9c, 0x8e, 0x2d, 0xa0, 0x41, 0xbc, 0x23, 0x4f, 0x80, 0xb8, - 0x24, 0xfe, 0x1a, 0x14, 0x8f, 0x0f, 0xbe, 0x7b, 0x60, 0x3a, 0x7d, 0x24, 0x8e, 0x53, 0x48, 0x4e, - 0x4e, 0xc3, 0xb4, 0x9e, 0x87, 0x7d, 0x94, 0x9d, 0x18, 0x52, 0xfd, 0x98, 0x14, 0xe5, 0x5b, 0x40, - 0xc9, 0x97, 0xff, 0x7e, 0x22, 0xc1, 0x04, 0x67, 0x3b, 0x94, 0xa6, 0x22, 0xb0, 0x69, 0xfb, 0x94, - 0x4b, 0x1c, 0x0f, 0x3e, 0x18, 0xb7, 0x9b, 0xf3, 0x57, 0x06, 0x7e, 0x2c, 0xc1, 0x33, 0xf1, 0x20, - 0x69, 0x37, 0x29, 0xaf, 0x84, 0xeb, 0x03, 0x17, 0xd2, 0x49, 0xf4, 0x64, 0x55, 0x82, 0xdf, 0x75, - 0xc0, 0x58, 0x1c, 0xad, 0xaf, 0x61, 0xad, 0x40, 0xfe, 0x1b, 0xd8, 0x81, 0xaf, 0xf6, 0xe8, 0xa6, - 0x51, 0x2a, 0xa3, 0xaa, 0xa3, 0xe2, 0xd5, 0x7d, 0xdf, 0xa9, 0xc3, 0xb1, 0x77, 0xa4, 0x28, 0xc6, - 0x82, 0x8b, 0x40, 0x0d, 0x64, 0x7b, 0xdd, 0xdf, 0x28, 0x5f, 0x82, 0x6c, 0x5d, 0xdd, 0x30, 0x1b, - 0x4e, 0x2b, 0xf7, 0x06, 0x28, 0x8a, 0x4f, 0xe5, 0x3f, 0x27, 0x6b, 0x60, 0xce, 0xce, 0xf6, 0x4b, - 0x35, 0xfb, 0xc4, 0xb5, 0x70, 0x3c, 0x83, 0xca, 0x4f, 0x25, 0xbc, 0x18, 0x8e, 0x87, 0x7a, 0xba, - 0x8d, 0xff, 0x4f, 0xb4, 0x12, 0x89, 0x33, 0x4d, 0x48, 0x59, 0x5f, 0xdd, 0xce, 0x93, 0x75, 0xd7, - 0x54, 0x7b, 0x1d, 0x9b, 0x5a, 0x17, 0xed, 0x5e, 0x52, 0xed, 0x75, 0x4f, 0xa0, 0x6c, 0x53, 0xa0, - 0xc4, 0x3d, 0x1d, 0x57, 0x40, 0x45, 0x21, 0x45, 0x22, 0x5e, 0x1f, 0xdb, 0xa4, 0xfe, 0x73, 0x07, - 0xbe, 0x71, 0x2b, 0xda, 0xec, 0x7c, 0x8d, 0x94, 0x74, 0x81, 0xa3, 0xa4, 0xfd, 0x51, 0x25, 0x45, - 0x65, 0x54, 0x0e, 0xe0, 0x02, 0x91, 0xa8, 0x9b, 0xa9, 0xea, 0x6d, 0x09, 0x7a, 0xd9, 0x32, 0x38, - 0xa8, 0x00, 0x29, 0x49, 0x01, 0x1d, 0x89, 0x0a, 0xc8, 0xc4, 0x2b, 0xa0, 0x53, 0xa0, 0x80, 0x66, - 0xf9, 0x42, 0xf9, 0x21, 0x49, 0xb5, 0xbe, 0xcd, 0x6b, 0x78, 0xc5, 0xb0, 0x75, 0xfb, 0xee, 0xc4, - 0x14, 0x1b, 0xc3, 0x95, 0x72, 0x03, 0x67, 0xd8, 0x18, 0x88, 0x96, 0x76, 0xdc, 0xff, 0xd2, 0x01, - 0xbb, 0x97, 0xec, 0xca, 0x32, 0x53, 0xf5, 0x6d, 0x4b, 0x35, 0xec, 0xd5, 0x18, 0x5b, 0x3e, 0x01, - 0x43, 0xb6, 0xd9, 0xb0, 0x34, 0x54, 0xe2, 0x4d, 0x9a, 0x4c, 0xfa, 0x96, 0xfd, 0x53, 0x87, 0xd7, - 0xe3, 0xb6, 0xa3, 0x1b, 0xe4, 0xb4, 0x9b, 0x67, 0xec, 0xc3, 0x3e, 0x80, 0x65, 0xfe, 0xcd, 0xd1, - 0xce, 0xd6, 0x6e, 0x8e, 0x4e, 0x87, 0xf4, 0x3b, 0xe1, 0xd7, 0x6f, 0x54, 0x5c, 0x65, 0x12, 0x97, - 0xd1, 0xa3, 0x1d, 0xcc, 0xa0, 0xdf, 0xea, 0xc0, 0xb7, 0x4b, 0xaf, 0xdd, 0x77, 0x90, 0x65, 0xa8, - 0xd5, 0xbf, 0x14, 0x3d, 0x1d, 0x0b, 0xe9, 0x29, 0xf0, 0xe2, 0x20, 0x2c, 0x2c, 0x7d, 0x71, 0x10, - 0x6e, 0x66, 0x3a, 0xfa, 0x5c, 0xc2, 0xf5, 0x9b, 0x1b, 0xfa, 0x9d, 0x86, 0x8e, 0xef, 0x46, 0xd3, - 0x05, 0xc3, 0x93, 0xd5, 0x6f, 0x02, 0xc1, 0x23, 0x13, 0x0a, 0x1e, 0x6c, 0x01, 0xd0, 0xd9, 0xde, - 0x02, 0x40, 0xf2, 0x16, 0x00, 0xc7, 0xe3, 0x76, 0xad, 0x11, 0x89, 0x94, 0x09, 0xbc, 0x69, 0x8d, - 0xb4, 0x33, 0x55, 0xbc, 0x4b, 0x92, 0xe9, 0xb5, 0x1a, 0xb2, 0x2a, 0xc8, 0xd0, 0x36, 0x96, 0xf1, - 0xfd, 0x0c, 0xfa, 0xf6, 0x62, 0xcb, 0xd4, 0x51, 0x38, 0x19, 0x97, 0xf8, 0xb8, 0xcc, 0xd0, 0xc4, - 0xc7, 0xed, 0x6b, 0xde, 0x6a, 0xef, 0xc0, 0x4f, 0x49, 0x16, 0x0d, 0x77, 0x53, 0x64, 0x33, 0x69, - 0xc9, 0x91, 0xf1, 0x53, 0xe2, 0x02, 0x01, 0xbd, 0x74, 0x86, 0xcc, 0xe4, 0x12, 0xf3, 0x8f, 0x56, - 0x16, 0xab, 0xd4, 0x47, 0x4e, 0x85, 0x94, 0xaa, 0x04, 0xcf, 0x83, 0x79, 0x3a, 0xa1, 0x4f, 0x20, - 0xf8, 0x9d, 0x61, 0xb5, 0x2e, 0xa0, 0x6f, 0xd4, 0x1a, 0x56, 0x2b, 0x5f, 0x27, 0x54, 0xad, 0xfc, - 0x4e, 0xa6, 0xd6, 0x8f, 0x24, 0xec, 0x9c, 0xb7, 0x2c, 0xfd, 0xae, 0x5e, 0x45, 0x15, 0x54, 0xbe, - 0x76, 0x1f, 0x69, 0x0d, 0x07, 0xcd, 0x9b, 0x86, 0x63, 0xa9, 0x9a, 0xd8, 0xff, 0x86, 0xa0, 0x6b, - 0xb5, 0x61, 0x94, 0x6d, 0xaa, 0x4a, 0xf2, 0x21, 0x1f, 0x86, 0x01, 0x8d, 0x62, 0x96, 0x54, 0xf2, - 0x02, 0x85, 0x2a, 0x6d, 0xa7, 0xd7, 0x4e, 0x1f, 0xa6, 0xc8, 0x32, 0x5d, 0x1a, 0x10, 0x3d, 0x91, - 0x6c, 0x7f, 0x59, 0x70, 0xd0, 0x7e, 0xc0, 0x2f, 0xae, 0x90, 0x57, 0x37, 0x90, 0xec, 0x8f, 0x03, - 0x60, 0xe9, 0xfe, 0x75, 0x00, 0xcc, 0x6f, 0xa9, 0xac, 0xaf, 0xae, 0xe2, 0x8c, 0x1f, 0x9b, 0x06, - 0x4e, 0xb8, 0x53, 0xf5, 0xde, 0x6f, 0x26, 0x0f, 0x55, 0x74, 0x67, 0xad, 0xb1, 0x32, 0xad, 0x99, - 0x35, 0xfa, 0x04, 0x91, 0xfe, 0x77, 0xdc, 0x2e, 0xaf, 0xcf, 0x38, 0x1b, 0x75, 0x64, 0x63, 0x04, - 0xbb, 0xd8, 0x8b, 0xc9, 0x2f, 0xe8, 0xab, 0xab, 0x85, 0x41, 0x8e, 0x4c, 0xca, 0x6b, 0x30, 0xb0, - 0x64, 0x57, 0x8a, 0xe8, 0x9e, 0x6a, 0x95, 0xed, 0x9b, 0x75, 0xe7, 0x66, 0x43, 0xa8, 0x69, 0x52, - 0x27, 0xe4, 0x28, 0x65, 0xc4, 0xaf, 0x94, 0x00, 0x29, 0x25, 0x8f, 0x03, 0x6a, 0xa0, 0xcd, 0xff, - 0xea, 0x66, 0x37, 0xee, 0xd4, 0xaa, 0xaa, 0x5e, 0xbb, 0x61, 0x6a, 0xeb, 0xa8, 0x7c, 0x1d, 0x4f, - 0x9e, 0xd8, 0x89, 0x06, 0xab, 0x18, 0x6c, 0x96, 0x58, 0xfa, 0xad, 0xc6, 0xca, 0x0b, 0x68, 0x03, - 0x4f, 0x7c, 0x7f, 0x91, 0xd7, 0x25, 0x8f, 0x41, 0xaf, 0xad, 0x57, 0x0c, 0xd5, 0x69, 0x58, 0x64, - 0x13, 0xde, 0x5f, 0x6c, 0x36, 0xc4, 0xaf, 0x37, 0xa2, 0x7c, 0xd1, 0xf5, 0x46, 0xb4, 0x83, 0x89, - 0xf4, 0x26, 0x79, 0x80, 0xb3, 0xac, 0x57, 0x0c, 0xbc, 0x84, 0x5e, 0x86, 0xac, 0xfb, 0x37, 0x15, - 0xa4, 0x7f, 0xee, 0xd2, 0x17, 0x8f, 0x27, 0xb3, 0x36, 0x6e, 0xf9, 0xe3, 0xe3, 0xc9, 0xe3, 0x29, - 0x66, 0x71, 0x56, 0xd3, 0xa8, 0x9d, 0x16, 0x29, 0x29, 0x79, 0x0c, 0x3a, 0x17, 0xc8, 0x52, 0xd6, - 0x25, 0xd9, 0xf3, 0xc5, 0xe3, 0x49, 0x6c, 0xb3, 0x45, 0xdc, 0xaa, 0xdc, 0xc7, 0x4f, 0x99, 0x30, - 0x07, 0xa6, 0x26, 0x1f, 0x20, 0xf2, 0x93, 0xcb, 0x5e, 0xa4, 0xf6, 0x81, 0x11, 0xdc, 0xef, 0x62, - 0x8f, 0xdb, 0x85, 0xaf, 0x73, 0xcd, 0x43, 0xd7, 0x5d, 0xb5, 0xda, 0x40, 0x74, 0xe7, 0x7a, 0x30, - 0x2e, 0x21, 0xfb, 0xe4, 0xf3, 0x76, 0xe3, 0x18, 0x57, 0xf9, 0x8f, 0x0c, 0xf6, 0xf3, 0xd9, 0x72, - 0x4d, 0x37, 0x48, 0x4d, 0x98, 0xb3, 0xa5, 0x6e, 0x6f, 0xbb, 0xf5, 0x22, 0x0c, 0xf8, 0xee, 0x51, - 0x92, 0x5a, 0x4c, 0xb3, 0xa4, 0x22, 0x25, 0x05, 0xaf, 0x9d, 0x4d, 0x64, 0x7c, 0xbd, 0x49, 0x78, - 0x95, 0xb3, 0xb3, 0xf5, 0xab, 0x9c, 0x5d, 0xe2, 0xab, 0x9c, 0x57, 0x21, 0x6b, 0x3b, 0xaa, 0xd3, - 0xb0, 0xe9, 0x35, 0xbb, 0x43, 0xb1, 0x6a, 0xc5, 0xb2, 0x2e, 0x63, 0xf8, 0x22, 0xc5, 0x2b, 0x14, - 0xe2, 0x8a, 0x1b, 0xf1, 0x8a, 0x56, 0x8e, 0xe2, 0xda, 0x46, 0x3c, 0x10, 0x33, 0xdc, 0x6f, 0x93, - 0xe7, 0x56, 0xb3, 0xe4, 0x29, 0xdd, 0x1b, 0x68, 0xd9, 0x51, 0xd7, 0xd1, 0x73, 0x96, 0x6a, 0x38, - 0x62, 0x6f, 0xbc, 0x0e, 0xd9, 0x0a, 0x86, 0xa0, 0x9b, 0xaa, 0xe9, 0x38, 0xf1, 0x30, 0x2d, 0x8f, - 0x3c, 0x56, 0x6d, 0x91, 0x62, 0x17, 0x4e, 0xc4, 0xbd, 0xb5, 0xe2, 0x71, 0xa4, 0xec, 0xc3, 0x4f, - 0x23, 0x78, 0x5d, 0x4c, 0xa0, 0x0d, 0x1c, 0x5b, 0x66, 0x5d, 0x6e, 0x54, 0xc7, 0x07, 0x21, 0x94, - 0x26, 0x07, 0xdd, 0x98, 0x1f, 0x76, 0x2d, 0xd3, 0xfb, 0x8c, 0x8f, 0x12, 0xd1, 0x11, 0x68, 0x94, - 0x88, 0x76, 0x78, 0xbc, 0x9d, 0x7a, 0x74, 0x10, 0x32, 0x4b, 0x76, 0x45, 0x56, 0xa1, 0xdb, 0x7b, - 0x72, 0xf8, 0x4c, 0x82, 0xc7, 0x51, 0xb8, 0xfc, 0x74, 0x3a, 0x38, 0x96, 0x5f, 0xca, 0xd0, 0xc3, - 0x5e, 0x03, 0x26, 0x79, 0xb5, 0x07, 0x98, 0x9f, 0x49, 0x09, 0xc8, 0x46, 0xf9, 0x6f, 0x09, 0x86, - 0x45, 0xcf, 0xa4, 0xce, 0x25, 0x10, 0x13, 0xe0, 0xe5, 0x9f, 0x6d, 0x0f, 0x8f, 0xf1, 0xf4, 0x8e, - 0x04, 0x63, 0xb1, 0x8f, 0x67, 0x2e, 0xa5, 0x1b, 0x80, 0x8b, 0x9c, 0x9f, 0x7f, 0x02, 0x64, 0xc6, - 0xe2, 0x77, 0x24, 0xd8, 0x9b, 0x78, 0x8b, 0xf8, 0x4a, 0xba, 0x91, 0x84, 0x04, 0xf2, 0xcf, 0x3d, - 0x21, 0x01, 0xc6, 0xee, 0x03, 0x09, 0x86, 0xb8, 0xef, 0x31, 0x4f, 0x27, 0x8c, 0xc0, 0x43, 0xca, - 0x5f, 0x6a, 0x03, 0x89, 0xb1, 0xf2, 0x7f, 0x12, 0xe4, 0x63, 0xde, 0x42, 0x5e, 0x4c, 0xa0, 0x2d, - 0x46, 0xcd, 0xcf, 0xb6, 0x8d, 0xca, 0x98, 0xfb, 0x77, 0x09, 0x76, 0xf3, 0x6f, 0x86, 0x9e, 0x49, - 0x2d, 0xb3, 0x0f, 0x2b, 0xff, 0x57, 0xed, 0x60, 0x31, 0x6e, 0x36, 0x60, 0x67, 0xf8, 0x42, 0x52, - 0x52, 0x10, 0x09, 0xc1, 0xe7, 0xcf, 0xb5, 0x06, 0x1f, 0x50, 0x04, 0xff, 0x6e, 0xd0, 0x99, 0x54, - 0x5a, 0x0e, 0x61, 0x25, 0x2a, 0x22, 0xfe, 0x6e, 0xcf, 0x3f, 0xc1, 0xae, 0xe8, 0x1d, 0x95, 0x13, - 0x69, 0x48, 0xfa, 0x31, 0xf2, 0x17, 0x5a, 0xc5, 0x60, 0x0c, 0xfc, 0xaf, 0x04, 0x23, 0xe2, 0xed, - 0x4d, 0x12, 0x5d, 0x21, 0x66, 0xfe, 0x6a, 0xbb, 0x98, 0x01, 0x77, 0x8a, 0xb9, 0x8c, 0x7a, 0x31, - 0x95, 0x01, 0xf2, 0x50, 0x13, 0xdd, 0x29, 0xc5, 0x25, 0x52, 0x37, 0x4a, 0x26, 0x5e, 0x6d, 0xbc, - 0x92, 0xde, 0x6d, 0xb9, 0x04, 0x12, 0xa3, 0x64, 0xea, 0xfb, 0x88, 0x6f, 0x4b, 0x30, 0x1a, 0x77, - 0x16, 0x5c, 0x68, 0x51, 0x23, 0xfe, 0x48, 0x30, 0xd7, 0x3e, 0x6e, 0x30, 0x3a, 0x71, 0x4f, 0x8b, - 0xce, 0xa4, 0x72, 0xf3, 0x10, 0x56, 0x72, 0x74, 0x8a, 0x3b, 0x9c, 0xc1, 0xda, 0x8a, 0x2b, 0xe7, - 0x17, 0xd2, 0xbb, 0x7c, 0x18, 0x37, 0x51, 0x5b, 0x69, 0xca, 0xf1, 0xbe, 0x14, 0x2d, 0x7e, 0xa3, - 0x97, 0x32, 0x45, 0x0b, 0x09, 0xa4, 0x4d, 0xd1, 0x89, 0x4f, 0x93, 0xe4, 0xff, 0x97, 0x60, 0x3c, - 0xfe, 0xca, 0x74, 0xba, 0x64, 0x22, 0xc0, 0xce, 0x2f, 0x3c, 0x09, 0x36, 0xe3, 0xf2, 0x5b, 0x12, - 0x4c, 0x24, 0x1c, 0x1d, 0x5f, 0x6e, 0x7d, 0x20, 0xbf, 0xa3, 0x5c, 0x7b, 0x22, 0x74, 0xc6, 0xe8, - 0xff, 0x48, 0x90, 0x13, 0x9e, 0x1b, 0x9e, 0x4f, 0x65, 0xf8, 0x51, 0xc4, 0xfc, 0x95, 0x36, 0x11, - 0x03, 0xfa, 0x4b, 0xb8, 0x7e, 0x7a, 0x39, 0xbd, 0xed, 0x73, 0xd0, 0x13, 0xf5, 0x97, 0xf2, 0xfa, - 0xe8, 0x5b, 0x12, 0xc8, 0x9c, 0x53, 0xaa, 0x93, 0x49, 0xe5, 0x85, 0x08, 0x4a, 0xfe, 0x62, 0xcb, - 0x28, 0x8c, 0x89, 0x7f, 0x84, 0x81, 0xc8, 0xf9, 0x4f, 0xd2, 0x0e, 0x27, 0x8c, 0x90, 0x3f, 0xdf, - 0x22, 0x82, 0x7f, 0xd5, 0x11, 0x3d, 0x59, 0x49, 0x5a, 0x75, 0x44, 0x30, 0x12, 0x57, 0x1d, 0xc2, - 0x33, 0x0d, 0x1c, 0xef, 0xf9, 0x07, 0x1a, 0x49, 0xf1, 0x9e, 0x8b, 0x95, 0x18, 0xef, 0x63, 0xcf, - 0x24, 0xe4, 0xff, 0x94, 0x60, 0x8f, 0xe0, 0x40, 0xe2, 0x6c, 0x62, 0x10, 0xe4, 0xa1, 0xe5, 0x2f, - 0xb7, 0x85, 0x16, 0x60, 0x48, 0x50, 0xca, 0x3f, 0x9b, 0xb8, 0xd7, 0x6e, 0x8b, 0xa1, 0xf8, 0x3a, - 0xb8, 0x6c, 0xc3, 0xf6, 0x60, 0x35, 0xf6, 0x58, 0x02, 0xbd, 0x00, 0x74, 0xfe, 0x4c, 0x2b, 0xd0, - 0x81, 0x88, 0x92, 0x50, 0xb7, 0x4b, 0x12, 0x2b, 0x1e, 0x3d, 0x31, 0xa2, 0xa4, 0xab, 0x53, 0xc9, - 0x75, 0xe8, 0x0f, 0xfc, 0xf6, 0xd4, 0xd1, 0x04, 0xb2, 0x7e, 0xe0, 0xfc, 0xe9, 0x16, 0x80, 0xfd, - 0xe1, 0x23, 0xf2, 0xab, 0x7a, 0x33, 0xa9, 0x08, 0x35, 0x11, 0x12, 0xc3, 0x87, 0xe8, 0xe7, 0xe0, - 0xb0, 0x79, 0x0a, 0x7e, 0x0b, 0xee, 0x6c, 0x2a, 0x9a, 0x61, 0xb4, 0x44, 0xf3, 0x8c, 0xff, 0x01, - 0x30, 0x5c, 0x04, 0xe0, 0x56, 0x09, 0x93, 0x94, 0xcb, 0x43, 0x4a, 0x2c, 0x02, 0xc4, 0x95, 0xf8, - 0x70, 0x76, 0xe1, 0x14, 0xf8, 0x92, 0xb2, 0x4b, 0x14, 0x25, 0x31, 0xbb, 0x88, 0x6b, 0x79, 0xf9, - 0xae, 0x37, 0x3f, 0x7b, 0x78, 0x44, 0x9a, 0x5b, 0xfb, 0xf0, 0x93, 0x09, 0xe9, 0xd1, 0x27, 0x13, - 0xd2, 0x6f, 0x3f, 0x99, 0x90, 0xfe, 0xeb, 0xd3, 0x89, 0x6d, 0x8f, 0x3e, 0x9d, 0xd8, 0xf6, 0xab, - 0x4f, 0x27, 0xb6, 0xfd, 0xfd, 0x8b, 0xbe, 0x22, 0xff, 0xa2, 0x37, 0xca, 0x0d, 0x75, 0xc5, 0x9e, - 0x61, 0x63, 0x1e, 0xd7, 0x4c, 0x0b, 0xf9, 0x3f, 0xd7, 0x54, 0xdd, 0x98, 0xa9, 0x99, 0xe5, 0x46, - 0x15, 0xd9, 0xcd, 0x1f, 0x8d, 0xc4, 0x07, 0x02, 0x2b, 0x59, 0xfc, 0x83, 0x8f, 0xa7, 0xff, 0x1c, - 0x00, 0x00, 0xff, 0xff, 0x27, 0x50, 0x06, 0x26, 0x32, 0x53, 0x00, 0x00, + 0x20, 0x06, 0x9c, 0x20, 0x91, 0x83, 0x20, 0xf0, 0x21, 0x3f, 0x04, 0x39, 0x18, 0x3e, 0x29, 0x01, + 0x02, 0x04, 0x39, 0x28, 0x81, 0x7d, 0xb0, 0xe1, 0x53, 0x90, 0x4b, 0x80, 0xe4, 0x12, 0x74, 0x55, + 0x75, 0x4d, 0x7f, 0xaa, 0xba, 0x7b, 0x46, 0xa4, 0x2d, 0x07, 0xbe, 0x48, 0xec, 0xaa, 0xf7, 0x5e, + 0xbd, 0xf7, 0xea, 0x7d, 0xaa, 0x5e, 0x55, 0x0d, 0x4c, 0xe9, 0xc6, 0xeb, 0x48, 0x73, 0xf4, 0xbb, + 0x68, 0x06, 0xdd, 0xd7, 0xd6, 0x54, 0xa3, 0x82, 0x66, 0xee, 0x9e, 0x5c, 0x41, 0x8e, 0x7a, 0x72, + 0xc6, 0xb9, 0x3f, 0x5d, 0xb7, 0x4c, 0xc7, 0x94, 0xf3, 0x0c, 0x68, 0xda, 0x03, 0x9a, 0xa6, 0x40, + 0xf9, 0x09, 0xcd, 0xb4, 0x6b, 0xa6, 0x3d, 0xb3, 0xa2, 0xda, 0x4d, 0x4c, 0xcd, 0xd4, 0x0d, 0x82, + 0x9b, 0x9f, 0xa6, 0xfd, 0x65, 0xdd, 0x76, 0x2c, 0x7d, 0xa5, 0xe1, 0xe8, 0xa6, 0xc1, 0xe0, 0xfc, + 0x8d, 0x14, 0x7e, 0x98, 0xc2, 0xd7, 0xec, 0xca, 0xcc, 0xdd, 0x93, 0xee, 0x7f, 0xb4, 0x63, 0x84, + 0x74, 0x94, 0xf0, 0xd7, 0x0c, 0xf9, 0xa0, 0x5d, 0x43, 0x15, 0xb3, 0x62, 0x92, 0x76, 0xf7, 0x2f, + 0xda, 0x7a, 0x38, 0x46, 0x34, 0x26, 0x06, 0x01, 0x3d, 0xd0, 0x04, 0x35, 0x2d, 0x55, 0xab, 0x36, + 0x01, 0xc9, 0x27, 0x05, 0xdb, 0xa5, 0xd6, 0x74, 0xc3, 0x9c, 0xc1, 0xff, 0x92, 0x26, 0xe5, 0xdd, + 0x0c, 0x0c, 0x2e, 0xd9, 0x95, 0x97, 0xeb, 0x65, 0xd5, 0x41, 0xcb, 0x75, 0xd3, 0x59, 0x52, 0xad, + 0x75, 0xe4, 0xc8, 0x43, 0xd0, 0xa5, 0x96, 0x6b, 0xba, 0x91, 0x93, 0xf6, 0x4a, 0x87, 0x7a, 0x8b, + 0xe4, 0x43, 0x1e, 0x85, 0xde, 0x1a, 0xee, 0x2f, 0xe9, 0xe5, 0x5c, 0x07, 0xee, 0xe9, 0x21, 0x0d, + 0x8b, 0x65, 0x79, 0x1c, 0xc0, 0x40, 0xf7, 0x4a, 0x8e, 0xae, 0xad, 0x23, 0x2b, 0x97, 0xc1, 0xbd, + 0xbd, 0x06, 0xba, 0x77, 0x1b, 0x37, 0xc8, 0x7f, 0x07, 0xc3, 0x6e, 0x77, 0x4d, 0x37, 0x4a, 0x75, + 0x4b, 0xd7, 0x10, 0x06, 0x2c, 0xd9, 0xfa, 0x1b, 0x28, 0xd7, 0xe9, 0xc2, 0xce, 0x4d, 0x7d, 0xf8, + 0x78, 0x72, 0xdb, 0xaf, 0x1f, 0x4f, 0x8e, 0x12, 0xdd, 0xd8, 0xe5, 0xf5, 0x69, 0xdd, 0x9c, 0xa9, + 0xa9, 0xce, 0xda, 0xf4, 0x0d, 0x54, 0x51, 0xb5, 0x8d, 0x05, 0xa4, 0x15, 0x07, 0x0d, 0x74, 0x6f, + 0x49, 0x37, 0x6e, 0xb9, 0x14, 0x5c, 0xc2, 0xcb, 0xfa, 0x1b, 0x48, 0x2e, 0x41, 0xde, 0x23, 0x7d, + 0xa7, 0xa1, 0x1a, 0x8e, 0xee, 0x6c, 0xf8, 0xa8, 0x77, 0xa5, 0xa7, 0xbe, 0x87, 0x50, 0x7f, 0x89, + 0x12, 0x61, 0x03, 0x2c, 0xc1, 0x80, 0x37, 0x80, 0x61, 0xba, 0x93, 0xad, 0x56, 0x73, 0xd9, 0xf4, + 0x64, 0x77, 0x10, 0xb2, 0x2f, 0x52, 0xd4, 0xc2, 0xe9, 0x07, 0xef, 0x4c, 0x6e, 0xfb, 0xec, 0x9d, + 0xc9, 0x6d, 0x6f, 0x7d, 0xfa, 0xf0, 0x08, 0x51, 0xed, 0xbf, 0x7d, 0xfa, 0xf0, 0xc8, 0x18, 0x9b, + 0x66, 0xce, 0x8c, 0x28, 0xe3, 0x30, 0xca, 0x69, 0x2e, 0x22, 0xbb, 0x6e, 0x1a, 0x36, 0x52, 0xfe, + 0xd0, 0x09, 0x23, 0xac, 0x7f, 0x01, 0x59, 0xfa, 0x5d, 0xd5, 0xb5, 0x87, 0xaf, 0xa7, 0x73, 0xcb, + 0xa7, 0x53, 0x7e, 0x15, 0x72, 0x2e, 0x39, 0xdd, 0xd0, 0x1d, 0x5d, 0xad, 0x96, 0x6a, 0xaa, 0x55, + 0xd1, 0x8d, 0x92, 0xa5, 0x3a, 0xba, 0x99, 0xeb, 0x4e, 0x4f, 0x76, 0xb7, 0x81, 0xee, 0x2d, 0x12, + 0x1a, 0x4b, 0x98, 0x44, 0xd1, 0xa5, 0x20, 0x97, 0x61, 0x0c, 0x33, 0xab, 0xea, 0x86, 0x83, 0x0c, + 0xd5, 0xd0, 0x50, 0x70, 0x84, 0x9e, 0xf4, 0x23, 0x8c, 0xb8, 0x8c, 0x37, 0xe9, 0xf8, 0x46, 0x29, + 0x5c, 0xe4, 0x9b, 0xa4, 0x12, 0x35, 0xc9, 0xb0, 0x6d, 0x29, 0x53, 0xb0, 0x4f, 0xd8, 0xc9, 0xcc, + 0xf3, 0x03, 0x09, 0x76, 0x32, 0xa8, 0x5b, 0xaa, 0xa5, 0xd6, 0x6c, 0xf9, 0x1c, 0xf4, 0xaa, 0x0d, + 0x67, 0xcd, 0xb4, 0x74, 0x67, 0x83, 0x18, 0xe6, 0x5c, 0xee, 0x17, 0xdf, 0x3b, 0x3e, 0x44, 0x63, + 0xe3, 0x6c, 0xb9, 0x6c, 0x21, 0xdb, 0x5e, 0x76, 0x2c, 0xdd, 0xa8, 0x14, 0x9b, 0xa0, 0xf2, 0x55, + 0xc8, 0xd6, 0x31, 0x05, 0x6c, 0xb3, 0x7d, 0xa7, 0x94, 0x69, 0x71, 0x7c, 0x9f, 0x26, 0x63, 0xcd, + 0x75, 0xba, 0xfa, 0x29, 0x52, 0xbc, 0xc2, 0x51, 0x57, 0xca, 0x26, 0x45, 0x57, 0xd2, 0x5c, 0x54, + 0x52, 0x82, 0xaa, 0x8c, 0xc0, 0x70, 0xa8, 0x89, 0x49, 0xf5, 0x1d, 0x09, 0x60, 0xc9, 0xae, 0x2c, + 0xa0, 0xba, 0x69, 0xeb, 0x8e, 0xbc, 0x07, 0xb2, 0x36, 0x32, 0xca, 0xc8, 0xa2, 0x6e, 0x46, 0xbf, + 0xe4, 0x29, 0xd8, 0x6e, 0x37, 0x56, 0x54, 0x4d, 0x33, 0x1b, 0x86, 0xcf, 0xd7, 0xfa, 0x9b, 0x8d, + 0x8b, 0x65, 0xf9, 0x3c, 0x64, 0xd5, 0x9a, 0xfb, 0x37, 0xf6, 0xb5, 0xbe, 0x53, 0x23, 0x34, 0xf3, + 0x4c, 0xbb, 0x99, 0x89, 0x89, 0x33, 0x6f, 0xea, 0x86, 0x27, 0x0c, 0x01, 0x2f, 0x1c, 0xf5, 0x4f, + 0x1d, 0x1d, 0xd2, 0x95, 0x68, 0xd0, 0x2f, 0x11, 0x65, 0x51, 0x19, 0x02, 0xb9, 0xf9, 0xc5, 0xe4, + 0x78, 0x5f, 0x82, 0xbe, 0x25, 0xbb, 0xf2, 0xb7, 0xba, 0xb3, 0x56, 0xb6, 0xd4, 0x7b, 0x5f, 0x92, + 0x20, 0xc7, 0x04, 0x82, 0x0c, 0xf9, 0x05, 0xf1, 0x78, 0x54, 0x76, 0xe3, 0xc4, 0xe5, 0x7d, 0x32, + 0x51, 0xbe, 0x2d, 0xe1, 0xe9, 0x9a, 0xb7, 0x10, 0x8d, 0x93, 0x37, 0xf4, 0x9a, 0xee, 0xdc, 0xb4, + 0x5c, 0xf6, 0x45, 0x62, 0xcd, 0x42, 0x97, 0xe9, 0x02, 0x50, 0x7b, 0x3a, 0x10, 0x67, 0x4f, 0x2e, + 0x49, 0x4c, 0x8d, 0x32, 0x4f, 0x30, 0x0b, 0x17, 0x04, 0xbc, 0xef, 0xf5, 0xf3, 0xce, 0x63, 0x4a, + 0x79, 0x15, 0x26, 0x05, 0x5d, 0x9e, 0x4c, 0x6e, 0x28, 0xc6, 0xa3, 0x94, 0xd6, 0x54, 0x7b, 0x8d, + 0xf2, 0xde, 0x8b, 0x5b, 0x9e, 0x57, 0xed, 0x35, 0x79, 0x00, 0x32, 0x1a, 0x9b, 0x0b, 0xf7, 0xcf, + 0x42, 0x8f, 0xc7, 0x8d, 0xf2, 0x03, 0x09, 0xc6, 0x97, 0xec, 0xca, 0x9c, 0xea, 0x68, 0x6b, 0xbc, + 0x31, 0x6c, 0xa1, 0x52, 0xe6, 0x21, 0x8b, 0x87, 0x70, 0xbd, 0x2c, 0xd3, 0xaa, 0x56, 0x28, 0x6a, + 0xe1, 0x59, 0x81, 0x5a, 0x9e, 0xf1, 0xab, 0x45, 0xcc, 0x9c, 0xf2, 0x5d, 0x09, 0x0e, 0xc4, 0x42, + 0x30, 0x1d, 0xed, 0x83, 0xfe, 0xa6, 0x8e, 0x90, 0x9d, 0x93, 0xf6, 0x66, 0x0e, 0xf5, 0x16, 0xfb, + 0x98, 0x96, 0x90, 0x2d, 0x4f, 0xc3, 0xa0, 0x86, 0x69, 0x94, 0x4b, 0x84, 0xbd, 0x92, 0xa6, 0x97, + 0x89, 0x78, 0xbd, 0xc5, 0x5d, 0xb4, 0x8b, 0x90, 0x9d, 0xd7, 0xcb, 0xb6, 0x7c, 0x0c, 0xe4, 0x55, + 0x55, 0xaf, 0x86, 0xc0, 0x33, 0x18, 0x7c, 0x80, 0xf4, 0x34, 0xa1, 0x7d, 0x3a, 0xff, 0x71, 0x06, + 0xf2, 0x4b, 0x76, 0x65, 0xd1, 0xb0, 0x1d, 0xd5, 0x70, 0x9a, 0xb9, 0xfa, 0x86, 0xda, 0x30, 0xb4, + 0x35, 0xa1, 0xc2, 0xf7, 0x40, 0x96, 0x26, 0x5b, 0x32, 0x93, 0xf4, 0xcb, 0x9d, 0x7d, 0xd7, 0x73, + 0x4a, 0x65, 0x64, 0x98, 0x35, 0x2f, 0x11, 0xbb, 0x2d, 0x0b, 0x6e, 0x83, 0x3c, 0x09, 0x7d, 0x77, + 0x1a, 0xa6, 0xe3, 0xf5, 0xe3, 0xe4, 0x5b, 0x04, 0xdc, 0x44, 0x00, 0x8a, 0x30, 0xc8, 0xcb, 0xd2, + 0x2d, 0xe4, 0xd1, 0x81, 0x5a, 0x38, 0x45, 0xbf, 0x02, 0x7b, 0x04, 0xe9, 0xb9, 0x85, 0x3c, 0xea, + 0xb2, 0x15, 0xc9, 0xcd, 0xd7, 0xa1, 0x3f, 0x90, 0x97, 0x5b, 0x48, 0xa0, 0x7d, 0x35, 0xdf, 0x1a, + 0xeb, 0x92, 0xc0, 0xf2, 0xa6, 0xfc, 0x96, 0x27, 0x98, 0x22, 0x65, 0x3f, 0x28, 0xe2, 0xde, 0x66, + 0xd4, 0xec, 0xc6, 0xae, 0x4b, 0xc1, 0x6e, 0x21, 0xab, 0x8e, 0x9c, 0x06, 0x4e, 0xde, 0xed, 0x4f, + 0x76, 0x68, 0x36, 0x33, 0x91, 0xd9, 0x9c, 0x84, 0x3e, 0xb2, 0xa6, 0x2f, 0xb9, 0x26, 0xe0, 0x4d, + 0x37, 0x69, 0x9a, 0x53, 0x3d, 0x47, 0xc0, 0x00, 0x18, 0x8b, 0xcc, 0x73, 0x91, 0x22, 0xbd, 0xe4, + 0x36, 0xb9, 0x8e, 0x40, 0x41, 0x6c, 0x4d, 0xad, 0xa2, 0xd2, 0xaa, 0xaa, 0x39, 0xa6, 0x85, 0xa7, + 0x6e, 0x7b, 0x71, 0x17, 0xe9, 0x5a, 0x76, 0x7b, 0xae, 0xe3, 0x0e, 0xf9, 0x1a, 0x1b, 0xd3, 0xd9, + 0xa8, 0x23, 0x3c, 0x25, 0x3b, 0x4e, 0xed, 0xf7, 0xc5, 0x03, 0xba, 0xcb, 0xf0, 0xa2, 0xc1, 0x4d, + 0xfc, 0x79, 0x7b, 0xa3, 0x8e, 0x3c, 0xce, 0xdc, 0xbf, 0xe5, 0x45, 0xd8, 0x51, 0x53, 0xd7, 0x91, + 0x55, 0x5a, 0x45, 0xc8, 0x5d, 0xbc, 0xa0, 0x56, 0xd6, 0x2e, 0xfd, 0x18, 0xf5, 0x3a, 0x42, 0x45, + 0xd5, 0xc1, 0xa4, 0x9c, 0x20, 0xa9, 0xde, 0x16, 0x48, 0x39, 0x7e, 0x52, 0x2f, 0xc3, 0x10, 0x77, + 0xe5, 0x06, 0xe9, 0x09, 0xca, 0x7a, 0x74, 0xd9, 0xf6, 0x1a, 0xe4, 0x84, 0x4b, 0xb6, 0xbe, 0x16, + 0x96, 0xb0, 0x35, 0xee, 0x7a, 0x4d, 0xe4, 0xd4, 0xfd, 0x5b, 0xe3, 0xd4, 0xdb, 0x37, 0xd9, 0xa9, + 0x77, 0xb4, 0xe9, 0xd4, 0x57, 0x05, 0x4e, 0x7d, 0x88, 0xe3, 0xd4, 0x5c, 0x7f, 0x54, 0x0e, 0xc3, + 0xc1, 0x04, 0x10, 0xe6, 0xde, 0xff, 0xda, 0x0d, 0x53, 0x4d, 0xd8, 0x39, 0xdd, 0x50, 0xad, 0x8d, + 0x9b, 0x75, 0x97, 0x13, 0xfb, 0x89, 0x5c, 0x7c, 0x0a, 0xb6, 0x7b, 0xde, 0xb7, 0x51, 0x5b, 0x31, + 0xab, 0xd4, 0xc9, 0xa9, 0xd7, 0x2e, 0xe3, 0x36, 0xf9, 0x20, 0xec, 0xa4, 0x40, 0x75, 0xcb, 0xbc, + 0xab, 0xbb, 0xd4, 0x89, 0xab, 0xef, 0x20, 0xcd, 0xb7, 0x68, 0x6b, 0xd8, 0x37, 0xbb, 0xda, 0xf4, + 0xcd, 0x56, 0x43, 0x42, 0xd4, 0x97, 0xbb, 0x37, 0xcf, 0x97, 0x7b, 0xda, 0xf5, 0xe5, 0x93, 0x30, + 0x84, 0xee, 0xd7, 0x75, 0xec, 0x65, 0x46, 0xc9, 0xd1, 0x6b, 0xc8, 0x76, 0xd4, 0x5a, 0x1d, 0x07, + 0x87, 0x4c, 0x71, 0xb0, 0xd9, 0x77, 0xdb, 0xeb, 0x72, 0x51, 0x6c, 0xe4, 0x38, 0x55, 0x54, 0x43, + 0x86, 0xe3, 0x43, 0x01, 0x82, 0xd2, 0xec, 0x6b, 0xa2, 0xb0, 0xcd, 0x74, 0x9f, 0x7f, 0x33, 0x1d, + 0x8a, 0xdc, 0xfd, 0x69, 0xf3, 0xf0, 0xf6, 0xad, 0x71, 0xd9, 0x1d, 0x9b, 0xec, 0xb2, 0x3b, 0xdb, + 0x74, 0xd9, 0x05, 0x81, 0xcb, 0x1e, 0xe3, 0xb8, 0xac, 0xd0, 0xc7, 0x94, 0xe3, 0x70, 0x34, 0x05, + 0x18, 0x73, 0xdd, 0x9f, 0x07, 0x5c, 0xf7, 0x9a, 0x3b, 0xed, 0x1b, 0xd7, 0x1b, 0x4e, 0xc3, 0x42, + 0xf6, 0xd3, 0x9f, 0x9d, 0x43, 0x1e, 0x9d, 0xdd, 0x5c, 0x8f, 0xee, 0x16, 0x79, 0xf4, 0x1e, 0xc8, + 0x62, 0xff, 0xd8, 0xc0, 0xee, 0x97, 0x29, 0xd2, 0x2f, 0x8e, 0xa7, 0xf7, 0x6e, 0x9e, 0xa7, 0xc3, + 0x66, 0x67, 0xed, 0xbe, 0xad, 0xcb, 0xda, 0xfd, 0x5b, 0x96, 0xb5, 0xbf, 0x0e, 0x01, 0xc9, 0xbe, + 0x1a, 0x0c, 0x01, 0x42, 0x30, 0x16, 0x02, 0x1e, 0x4a, 0x90, 0x0b, 0xec, 0xab, 0x09, 0xd4, 0x96, + 0x17, 0x02, 0x2e, 0x0a, 0x84, 0xdd, 0xc7, 0x2f, 0x04, 0xf8, 0xb8, 0x52, 0xde, 0x97, 0x60, 0xaf, + 0xa8, 0x33, 0x6d, 0x2d, 0xa0, 0x08, 0xdd, 0x16, 0xb2, 0x1b, 0x55, 0xc7, 0x2b, 0x8e, 0x9d, 0x4a, + 0x92, 0x21, 0x38, 0x88, 0x8b, 0x89, 0x05, 0x92, 0x8a, 0x1e, 0x21, 0xaf, 0xbe, 0x90, 0xe1, 0xd5, + 0x17, 0x7e, 0x29, 0xc1, 0x1e, 0x3e, 0x15, 0xf9, 0x0a, 0xf4, 0x78, 0x46, 0x49, 0xab, 0x7b, 0xa9, + 0x4c, 0x87, 0x21, 0xc9, 0x17, 0xa1, 0x0b, 0x7b, 0x0a, 0x09, 0xc2, 0xe9, 0xb0, 0x09, 0x86, 0x7c, + 0x16, 0x32, 0xab, 0x08, 0x11, 0x96, 0xd3, 0x21, 0xba, 0xf0, 0xd1, 0xba, 0x09, 0x99, 0x8b, 0x66, + 0x55, 0x33, 0x45, 0x31, 0xe9, 0xb9, 0xa0, 0x0d, 0x1d, 0x8d, 0xd3, 0x7f, 0x93, 0x30, 0xc7, 0x92, + 0x0a, 0x0f, 0x12, 0xea, 0x26, 0x62, 0xe6, 0x94, 0x15, 0x5c, 0x36, 0x11, 0x03, 0x6c, 0x46, 0x69, + 0xe9, 0xa7, 0x7e, 0x73, 0x0d, 0xe4, 0xe4, 0x2f, 0x52, 0x4b, 0x97, 0x39, 0x5a, 0x3a, 0x1c, 0xd5, + 0x92, 0x80, 0x3f, 0x05, 0xc1, 0xa1, 0x24, 0x98, 0xcd, 0xd0, 0xd5, 0x47, 0x12, 0x5e, 0x90, 0xf8, + 0xea, 0x58, 0xbc, 0x59, 0x11, 0x17, 0xe3, 0x16, 0x43, 0xc5, 0xb8, 0x36, 0xf4, 0xe5, 0x95, 0xe4, + 0xae, 0x3e, 0x48, 0x88, 0xc4, 0x49, 0x4c, 0x2a, 0x1f, 0x48, 0x38, 0x14, 0x27, 0xc1, 0x3d, 0x8d, + 0xa5, 0xb9, 0x47, 0x12, 0xae, 0x7f, 0xcf, 0xbb, 0x89, 0xb9, 0xca, 0x22, 0xb8, 0x50, 0xed, 0xb1, + 0x07, 0x64, 0x91, 0x62, 0x78, 0x86, 0x53, 0x0c, 0x0f, 0xda, 0x4c, 0xa7, 0xc0, 0x66, 0xba, 0x9a, + 0x36, 0x33, 0xc3, 0x99, 0x9e, 0xd1, 0x80, 0x3d, 0x07, 0x79, 0x57, 0xc6, 0x70, 0xb1, 0x31, 0xd4, + 0xca, 0xd2, 0xe0, 0x7b, 0x24, 0x0d, 0x92, 0xb9, 0x0a, 0xc2, 0x88, 0xad, 0xed, 0x0a, 0x74, 0x96, + 0x55, 0x47, 0x4d, 0x53, 0xf8, 0xc5, 0x94, 0x16, 0x54, 0x47, 0xa5, 0x56, 0x86, 0x11, 0x0b, 0x67, + 0x1f, 0x24, 0x24, 0x40, 0x2e, 0x3f, 0xca, 0x75, 0x1c, 0x50, 0xb8, 0x7d, 0xcc, 0x98, 0x72, 0xd0, + 0x6d, 0x37, 0x34, 0x0d, 0xd9, 0xc4, 0x8e, 0x7a, 0x8a, 0xde, 0x67, 0x30, 0x78, 0xef, 0x0b, 0x12, + 0x0a, 0xb8, 0xf6, 0x56, 0x4b, 0xff, 0x2c, 0x47, 0xfa, 0x23, 0x02, 0xe9, 0x39, 0x8c, 0x29, 0x37, + 0xe1, 0x70, 0x22, 0x50, 0x4b, 0xfa, 0xf8, 0x7d, 0x37, 0x0c, 0x79, 0x14, 0xc9, 0x39, 0x56, 0x82, + 0x0a, 0x52, 0x9d, 0xf3, 0x5c, 0x81, 0x71, 0xbb, 0x6e, 0x3a, 0x25, 0xe6, 0x21, 0x76, 0xc9, 0x31, + 0x4b, 0x1a, 0xe6, 0xb8, 0xa4, 0x56, 0xab, 0xd4, 0x1d, 0x73, 0x36, 0x5b, 0x1e, 0x2c, 0x96, 0xed, + 0xdb, 0x26, 0x11, 0x69, 0xb6, 0x5a, 0x95, 0x5f, 0x80, 0xa9, 0x32, 0x0b, 0x1c, 0x62, 0x32, 0x9d, + 0x98, 0xcc, 0x44, 0x39, 0x74, 0xb4, 0x18, 0x22, 0xf6, 0x0f, 0xb0, 0x1b, 0x73, 0x43, 0xe3, 0x01, + 0x23, 0x91, 0xeb, 0x6a, 0x75, 0x1a, 0xa5, 0xa2, 0x6c, 0x33, 0xbb, 0xf3, 0x86, 0x90, 0x5f, 0x87, + 0x51, 0x1f, 0xb3, 0x91, 0x51, 0xb2, 0xad, 0x8f, 0x92, 0x2b, 0x07, 0xe3, 0x74, 0x73, 0x2c, 0x8e, + 0x2c, 0x38, 0x02, 0xe6, 0xba, 0x5b, 0x3d, 0x89, 0x09, 0xcb, 0x82, 0xc9, 0xc8, 0x75, 0x91, 0x2c, + 0x64, 0x94, 0x9e, 0xf6, 0x52, 0x0c, 0x5f, 0x22, 0x32, 0xe2, 0x1d, 0x98, 0x5c, 0xc1, 0x46, 0x5c, + 0x32, 0x89, 0x15, 0x47, 0x35, 0xd8, 0xdb, 0xba, 0x06, 0x47, 0x57, 0xa2, 0x8e, 0xc1, 0x94, 0x58, + 0x84, 0x83, 0xa1, 0x21, 0x85, 0x16, 0x06, 0xd8, 0xc2, 0xf6, 0xad, 0x44, 0xeb, 0x0a, 0x21, 0x23, + 0xbb, 0x17, 0x27, 0x06, 0x51, 0x5e, 0x5f, 0xbb, 0xca, 0x13, 0x08, 0x83, 0xa9, 0x16, 0x4e, 0x72, + 0x42, 0xca, 0x78, 0x24, 0xa4, 0xf8, 0x7d, 0x5b, 0x79, 0x90, 0x85, 0x31, 0x5e, 0x07, 0x8b, 0x1c, + 0xd3, 0x30, 0x88, 0xad, 0x8c, 0x2a, 0x22, 0x18, 0x45, 0x76, 0xb9, 0x5d, 0x34, 0x08, 0x93, 0x0e, + 0xb9, 0x00, 0x23, 0x3e, 0xab, 0x09, 0x61, 0x75, 0x60, 0xac, 0xe1, 0x26, 0x40, 0x10, 0xf7, 0x08, + 0xec, 0x6a, 0x5a, 0xb4, 0xb7, 0x0e, 0x20, 0xf1, 0x61, 0x27, 0x33, 0x50, 0xba, 0x16, 0x38, 0x07, + 0xc3, 0x61, 0xeb, 0xf4, 0x30, 0x48, 0x28, 0xd8, 0x1d, 0x32, 0x33, 0x8a, 0x37, 0x0b, 0xe3, 0xa1, + 0xc9, 0x09, 0xf1, 0xd8, 0x85, 0x79, 0xcc, 0x07, 0xf4, 0x1c, 0x64, 0xf3, 0x32, 0x8c, 0xf2, 0xe6, + 0xd7, 0x1b, 0x3e, 0x4b, 0x02, 0x5a, 0x74, 0xa2, 0x28, 0x07, 0xe7, 0x21, 0xe7, 0xad, 0x62, 0xfc, + 0xfe, 0x8b, 0xd7, 0x26, 0xdd, 0x84, 0x75, 0xda, 0xdf, 0x4c, 0x6c, 0x78, 0x39, 0x73, 0x16, 0x86, + 0xe9, 0x72, 0x26, 0x82, 0xd7, 0x83, 0xf1, 0x86, 0x48, 0x77, 0x08, 0x6d, 0x1e, 0x26, 0xbc, 0xf1, + 0xa2, 0xfe, 0x8c, 0xb1, 0x7b, 0x31, 0xf6, 0x28, 0x85, 0x0a, 0x19, 0x1e, 0x21, 0x32, 0x0b, 0xe3, + 0x74, 0x6c, 0x01, 0x0d, 0xe2, 0x1d, 0x79, 0x02, 0xc4, 0x25, 0xf1, 0xd7, 0xa0, 0x78, 0x7c, 0xf0, + 0xdd, 0x03, 0xd3, 0xe9, 0x23, 0x71, 0x9c, 0x42, 0x72, 0x72, 0x1a, 0xa6, 0xf5, 0x3c, 0xec, 0xa3, + 0xec, 0xc4, 0x90, 0xea, 0xc7, 0xa4, 0x28, 0xdf, 0x02, 0x4a, 0xbe, 0xfc, 0xf7, 0x23, 0x09, 0x26, + 0x38, 0xdb, 0xa1, 0x34, 0x15, 0x81, 0x4d, 0xdb, 0xa7, 0x5c, 0xe2, 0x78, 0xf0, 0xc1, 0xb8, 0xdd, + 0x9c, 0xbf, 0x32, 0xf0, 0x43, 0x09, 0x9e, 0x89, 0x07, 0x49, 0xbb, 0x49, 0x79, 0x25, 0x5c, 0x1f, + 0xb8, 0x90, 0x4e, 0xa2, 0x27, 0xab, 0x12, 0xfc, 0xae, 0x03, 0xc6, 0xe2, 0x68, 0x7d, 0x05, 0x6b, + 0x05, 0xf2, 0xdf, 0xc0, 0x0e, 0x7c, 0x89, 0x46, 0x37, 0x8d, 0x52, 0x19, 0x55, 0x1d, 0x15, 0xaf, + 0xee, 0xfb, 0x4e, 0x1d, 0x8e, 0xbd, 0x8d, 0x44, 0x31, 0x16, 0x5c, 0x04, 0x6a, 0x20, 0xdb, 0xeb, + 0xfe, 0x46, 0xf9, 0x12, 0x64, 0xeb, 0xea, 0x86, 0xd9, 0x70, 0x5a, 0x39, 0xa1, 0xa7, 0x28, 0x3e, + 0x95, 0xff, 0x8c, 0xac, 0x81, 0x39, 0x3b, 0xdb, 0x2f, 0xd4, 0xec, 0x13, 0xd7, 0xc2, 0xf1, 0x0c, + 0x2a, 0x3f, 0x91, 0xf0, 0x62, 0x38, 0x1e, 0xea, 0xe9, 0x36, 0xfe, 0x3f, 0xd1, 0x4a, 0x24, 0xce, + 0x34, 0x21, 0x65, 0x7d, 0x79, 0x3b, 0x4f, 0xd6, 0x5d, 0x53, 0xed, 0x75, 0x6c, 0x6a, 0x5d, 0xb4, + 0x7b, 0x49, 0xb5, 0xd7, 0x3d, 0x81, 0xb2, 0x4d, 0x81, 0x12, 0xf7, 0x74, 0x5c, 0x01, 0x15, 0x85, + 0x14, 0x89, 0x78, 0x7d, 0x6c, 0x93, 0xfa, 0xcf, 0x1d, 0xf8, 0x6e, 0xab, 0x68, 0xb3, 0xf3, 0x15, + 0x52, 0xd2, 0x05, 0x8e, 0x92, 0xf6, 0x47, 0x95, 0x14, 0x95, 0x51, 0x39, 0x80, 0x0b, 0x44, 0xa2, + 0x6e, 0xa6, 0xaa, 0xb7, 0x25, 0xe8, 0x65, 0xcb, 0xe0, 0xa0, 0x02, 0xa4, 0x24, 0x05, 0x74, 0x24, + 0x2a, 0x20, 0x13, 0xaf, 0x80, 0x4e, 0x81, 0x02, 0x9a, 0xe5, 0x0b, 0xe5, 0xfb, 0x24, 0xd5, 0xfa, + 0x36, 0xaf, 0xe1, 0x15, 0xc3, 0xd6, 0xed, 0xbb, 0x13, 0x53, 0x6c, 0x0c, 0x57, 0xca, 0x0d, 0x9c, + 0x61, 0x63, 0x20, 0x5a, 0xda, 0x71, 0xff, 0x4b, 0x07, 0xec, 0x5e, 0xb2, 0x2b, 0xcb, 0x4c, 0xd5, + 0xb7, 0x2d, 0xd5, 0xb0, 0x57, 0x63, 0x6c, 0xf9, 0x04, 0x0c, 0xd9, 0x66, 0xc3, 0xd2, 0x50, 0x89, + 0x37, 0x69, 0x32, 0xe9, 0x5b, 0xf6, 0x4f, 0x1d, 0x5e, 0x8f, 0xdb, 0x8e, 0x6e, 0x90, 0xd3, 0x6e, + 0x9e, 0xb1, 0x0f, 0xfb, 0x00, 0x96, 0xf9, 0x77, 0x34, 0x3b, 0x5b, 0xbb, 0xa3, 0x39, 0x1d, 0xd2, + 0xef, 0x84, 0x5f, 0xbf, 0x51, 0x71, 0x95, 0x49, 0x5c, 0x46, 0x8f, 0x76, 0x30, 0x83, 0x7e, 0xab, + 0x03, 0xdf, 0xe3, 0xbc, 0x76, 0xdf, 0x41, 0x96, 0xa1, 0x56, 0xff, 0x52, 0xf4, 0x74, 0x2c, 0xa4, + 0xa7, 0xc0, 0xdd, 0xfe, 0xb0, 0xb0, 0xf4, 0x6e, 0x7f, 0xb8, 0x99, 0xe9, 0xe8, 0x33, 0x09, 0xd7, + 0x6f, 0x6e, 0xe8, 0x77, 0x1a, 0x3a, 0xbe, 0x85, 0x4c, 0x17, 0x0c, 0x4f, 0x56, 0xbf, 0x09, 0x04, + 0x8f, 0x4c, 0x28, 0x78, 0xb0, 0x05, 0x40, 0x67, 0x7b, 0x0b, 0x00, 0xc9, 0x5b, 0x00, 0x1c, 0x8f, + 0xdb, 0xb5, 0x46, 0x24, 0x52, 0x26, 0xf0, 0xa6, 0x35, 0xd2, 0xce, 0x54, 0xf1, 0x2e, 0x49, 0xa6, + 0xd7, 0x6a, 0xc8, 0xaa, 0x20, 0x43, 0xdb, 0x58, 0xc6, 0xf7, 0x33, 0xe8, 0x2b, 0x87, 0x2d, 0x53, + 0x47, 0xe1, 0x64, 0x5c, 0xe2, 0xe3, 0x32, 0x43, 0x13, 0x1f, 0xb7, 0xaf, 0x79, 0x7f, 0xbc, 0x03, + 0x3f, 0xda, 0x58, 0x34, 0xdc, 0x4d, 0x91, 0xcd, 0xa4, 0x25, 0x47, 0xc6, 0x4f, 0x89, 0x0b, 0x04, + 0xf4, 0xd2, 0x19, 0x32, 0x93, 0x4b, 0xcc, 0x3f, 0x5a, 0x59, 0xac, 0x52, 0x1f, 0x39, 0x15, 0x52, + 0xaa, 0x12, 0x3c, 0x0f, 0xe6, 0xe9, 0x84, 0x3e, 0x36, 0xe0, 0x77, 0x86, 0xd5, 0xba, 0x80, 0xbe, + 0x56, 0x6b, 0x58, 0xad, 0x7c, 0x9d, 0x50, 0xb5, 0xf2, 0x3b, 0x99, 0x5a, 0x3f, 0x92, 0xb0, 0x73, + 0xde, 0xb2, 0xf4, 0xbb, 0x7a, 0x15, 0x55, 0x50, 0xf9, 0xda, 0x7d, 0xa4, 0x35, 0x1c, 0x34, 0x6f, + 0x1a, 0x8e, 0xa5, 0x6a, 0x62, 0xff, 0x1b, 0x82, 0xae, 0xd5, 0x86, 0x51, 0xb6, 0xa9, 0x2a, 0xc9, + 0x87, 0x7c, 0x18, 0x06, 0x34, 0x8a, 0x59, 0x52, 0xc9, 0x5b, 0x0f, 0xaa, 0xb4, 0x9d, 0x5e, 0x3b, + 0x7d, 0x02, 0x22, 0xcb, 0x74, 0x69, 0x40, 0xf4, 0x44, 0xb2, 0xfd, 0x65, 0xc1, 0x41, 0xfb, 0x01, + 0xbf, 0xb8, 0x42, 0x5e, 0xdd, 0x40, 0xb2, 0x3f, 0x0e, 0x80, 0xa5, 0xfb, 0xd7, 0x01, 0x30, 0xbf, + 0xa5, 0xb2, 0xbe, 0xba, 0x8a, 0x33, 0x7e, 0x6c, 0x1a, 0x38, 0xe1, 0x4e, 0xd5, 0x7b, 0xbf, 0x99, + 0x3c, 0x54, 0xd1, 0x9d, 0xb5, 0xc6, 0xca, 0xb4, 0x66, 0xd6, 0xe8, 0x63, 0x3f, 0xfa, 0xdf, 0x71, + 0xbb, 0xbc, 0x3e, 0xe3, 0x6c, 0xd4, 0x91, 0x8d, 0x11, 0xec, 0x62, 0x2f, 0x26, 0xbf, 0xa0, 0xaf, + 0xae, 0x16, 0x06, 0x39, 0x32, 0x29, 0xaf, 0xc1, 0xc0, 0x92, 0x5d, 0x29, 0xa2, 0x7b, 0xaa, 0x55, + 0xb6, 0x6f, 0xd6, 0x9d, 0x9b, 0x0d, 0xa1, 0xa6, 0x49, 0x9d, 0x90, 0xa3, 0x94, 0x11, 0xbf, 0x52, + 0x02, 0xa4, 0x94, 0x3c, 0x0e, 0xa8, 0x81, 0x36, 0xff, 0xfb, 0x96, 0xdd, 0xb8, 0x53, 0xab, 0xaa, + 0x7a, 0xed, 0x86, 0xa9, 0xad, 0xa3, 0xf2, 0x75, 0x3c, 0x79, 0x62, 0x27, 0x1a, 0xac, 0x62, 0xb0, + 0x59, 0x62, 0xe9, 0xb7, 0x1a, 0x2b, 0x2f, 0xa0, 0x0d, 0x3c, 0xf1, 0xfd, 0x45, 0x5e, 0x97, 0x3c, + 0x06, 0xbd, 0xb6, 0x5e, 0x31, 0x54, 0xa7, 0x61, 0x91, 0x4d, 0x78, 0x7f, 0xb1, 0xd9, 0x10, 0xbf, + 0xde, 0x88, 0xf2, 0x45, 0xd7, 0x1b, 0xd1, 0x0e, 0x26, 0xd2, 0x9b, 0xe4, 0xa9, 0xcb, 0xb2, 0x5e, + 0x31, 0xf0, 0x12, 0x7a, 0x19, 0xb2, 0xee, 0xdf, 0x54, 0x90, 0xfe, 0xb9, 0x4b, 0x9f, 0x3f, 0x9e, + 0xcc, 0xda, 0xb8, 0xe5, 0x8f, 0x8f, 0x27, 0x8f, 0xa7, 0x98, 0xc5, 0x59, 0x4d, 0xa3, 0x76, 0x5a, + 0xa4, 0xa4, 0xe4, 0x31, 0xe8, 0x5c, 0x20, 0x4b, 0x59, 0x97, 0x64, 0xcf, 0xe7, 0x8f, 0x27, 0xb1, + 0xcd, 0x16, 0x71, 0xab, 0x72, 0x1f, 0x3f, 0x1a, 0xc2, 0x1c, 0x98, 0x9a, 0x7c, 0x80, 0xc8, 0x4f, + 0x2e, 0x7b, 0x91, 0xda, 0x07, 0x46, 0x70, 0xbf, 0x8b, 0x3d, 0x6e, 0x17, 0xbe, 0xce, 0x35, 0x0f, + 0x5d, 0x77, 0xd5, 0x6a, 0x03, 0xd1, 0x9d, 0xeb, 0xc1, 0xb8, 0x84, 0xec, 0x93, 0xcf, 0xdb, 0x8d, + 0x63, 0x5c, 0xe5, 0x3f, 0x32, 0xd8, 0xcf, 0x67, 0xcb, 0x35, 0xdd, 0x20, 0x35, 0x61, 0xce, 0x96, + 0xba, 0xbd, 0xed, 0xd6, 0x8b, 0x30, 0xe0, 0xbb, 0x47, 0x49, 0x6a, 0x31, 0xcd, 0x92, 0x8a, 0x94, + 0x14, 0xbc, 0x76, 0x36, 0x91, 0xf1, 0xf5, 0x26, 0xe1, 0x55, 0xce, 0xce, 0xd6, 0xaf, 0x72, 0x76, + 0x89, 0xaf, 0x72, 0x5e, 0x85, 0xac, 0xed, 0xa8, 0x4e, 0xc3, 0xa6, 0xd7, 0xec, 0x0e, 0xc5, 0xaa, + 0x15, 0xcb, 0xba, 0x8c, 0xe1, 0x8b, 0x14, 0xaf, 0x50, 0x88, 0x2b, 0x6e, 0xc4, 0x2b, 0x5a, 0x39, + 0x8a, 0x6b, 0x1b, 0xf1, 0x40, 0xcc, 0x70, 0xbf, 0x49, 0x1e, 0x36, 0xcd, 0x92, 0x47, 0x6b, 0x6f, + 0xa0, 0x65, 0x47, 0x5d, 0x47, 0xcf, 0x59, 0xaa, 0xe1, 0x88, 0xbd, 0xf1, 0x3a, 0x64, 0x2b, 0x18, + 0x82, 0x6e, 0xaa, 0xa6, 0xe3, 0xc4, 0xc3, 0xb4, 0x3c, 0xf2, 0x58, 0xb5, 0x45, 0x8a, 0x5d, 0x38, + 0x11, 0xf7, 0xaa, 0x89, 0xc7, 0x91, 0xb2, 0x0f, 0x3f, 0x8d, 0xe0, 0x75, 0x31, 0x81, 0x36, 0x70, + 0x6c, 0x99, 0x75, 0xb9, 0x51, 0x1d, 0x1f, 0x84, 0x50, 0x9a, 0x1c, 0x74, 0x63, 0x7e, 0xd8, 0xb5, + 0x4c, 0xef, 0x33, 0x3e, 0x4a, 0x44, 0x47, 0xa0, 0x51, 0x22, 0xda, 0xe1, 0xf1, 0x76, 0xea, 0xd1, + 0x41, 0xc8, 0x2c, 0xd9, 0x15, 0x59, 0x85, 0x6e, 0xef, 0x71, 0xdf, 0x33, 0x09, 0x1e, 0x47, 0xe1, + 0xf2, 0xd3, 0xe9, 0xe0, 0x58, 0x7e, 0x29, 0x43, 0x0f, 0x7b, 0x77, 0x97, 0xe4, 0xd5, 0x1e, 0x60, + 0x7e, 0x26, 0x25, 0x20, 0x1b, 0xe5, 0xbf, 0x25, 0x18, 0x16, 0x3d, 0x48, 0x3a, 0x97, 0x40, 0x4c, + 0x80, 0x97, 0x7f, 0xb6, 0x3d, 0x3c, 0xc6, 0xd3, 0x3b, 0x12, 0x8c, 0xc5, 0x3e, 0x9e, 0xb9, 0x94, + 0x6e, 0x00, 0x2e, 0x72, 0x7e, 0xfe, 0x09, 0x90, 0x19, 0x8b, 0xdf, 0x92, 0x60, 0x6f, 0xe2, 0x2d, + 0xe2, 0x2b, 0xe9, 0x46, 0x12, 0x12, 0xc8, 0x3f, 0xf7, 0x84, 0x04, 0x18, 0xbb, 0x0f, 0x24, 0x18, + 0xe2, 0xbe, 0x7c, 0x3c, 0x9d, 0x30, 0x02, 0x0f, 0x29, 0x7f, 0xa9, 0x0d, 0x24, 0xc6, 0xca, 0xff, + 0x49, 0x90, 0x8f, 0x79, 0x75, 0x78, 0x31, 0x81, 0xb6, 0x18, 0x35, 0x3f, 0xdb, 0x36, 0x2a, 0x63, + 0xee, 0xdf, 0x25, 0xd8, 0xcd, 0xbf, 0x19, 0x7a, 0x26, 0xb5, 0xcc, 0x3e, 0xac, 0xfc, 0x5f, 0xb5, + 0x83, 0xc5, 0xb8, 0xd9, 0x80, 0x9d, 0xe1, 0x0b, 0x49, 0x49, 0x41, 0x24, 0x04, 0x9f, 0x3f, 0xd7, + 0x1a, 0x7c, 0x40, 0x11, 0xfc, 0xbb, 0x41, 0x67, 0x52, 0x69, 0x39, 0x84, 0x95, 0xa8, 0x88, 0xf8, + 0xbb, 0x3d, 0xff, 0x04, 0xbb, 0xa2, 0x77, 0x54, 0x4e, 0xa4, 0x21, 0xe9, 0xc7, 0xc8, 0x5f, 0x68, + 0x15, 0x83, 0x31, 0xf0, 0xbf, 0x12, 0x8c, 0x88, 0xb7, 0x37, 0x49, 0x74, 0x85, 0x98, 0xf9, 0xab, + 0xed, 0x62, 0x06, 0xdc, 0x29, 0xe6, 0x32, 0xea, 0xc5, 0x54, 0x06, 0xc8, 0x43, 0x4d, 0x74, 0xa7, + 0x14, 0x97, 0x48, 0xdd, 0x28, 0x99, 0x78, 0xb5, 0xf1, 0x4a, 0x7a, 0xb7, 0xe5, 0x12, 0x48, 0x8c, + 0x92, 0xa9, 0xef, 0x23, 0xbe, 0x2d, 0xc1, 0x68, 0xdc, 0x59, 0x70, 0xa1, 0x45, 0x8d, 0xf8, 0x23, + 0xc1, 0x5c, 0xfb, 0xb8, 0xc1, 0xe8, 0xc4, 0x3d, 0x2d, 0x3a, 0x93, 0xca, 0xcd, 0x43, 0x58, 0xc9, + 0xd1, 0x29, 0xee, 0x70, 0x06, 0x6b, 0x2b, 0xae, 0x9c, 0x5f, 0x48, 0xef, 0xf2, 0x61, 0xdc, 0x44, + 0x6d, 0xa5, 0x29, 0xc7, 0xfb, 0x52, 0xb4, 0xf8, 0x8d, 0x5e, 0xca, 0x14, 0x2d, 0x24, 0x90, 0x36, + 0x45, 0x27, 0x3e, 0x4d, 0x92, 0xff, 0x5f, 0x82, 0xf1, 0xf8, 0x2b, 0xd3, 0xe9, 0x92, 0x89, 0x00, + 0x3b, 0xbf, 0xf0, 0x24, 0xd8, 0x8c, 0xcb, 0x6f, 0x48, 0x30, 0x91, 0x70, 0x74, 0x7c, 0xb9, 0xf5, + 0x81, 0xfc, 0x8e, 0x72, 0xed, 0x89, 0xd0, 0x19, 0xa3, 0xff, 0x23, 0x41, 0x4e, 0x78, 0x6e, 0x78, + 0x3e, 0x95, 0xe1, 0x47, 0x11, 0xf3, 0x57, 0xda, 0x44, 0x0c, 0xe8, 0x2f, 0xe1, 0xfa, 0xe9, 0xe5, + 0xf4, 0xb6, 0xcf, 0x41, 0x4f, 0xd4, 0x5f, 0xca, 0xeb, 0xa3, 0x6f, 0x49, 0x20, 0x73, 0x4e, 0xa9, + 0x4e, 0x26, 0x95, 0x17, 0x22, 0x28, 0xf9, 0x8b, 0x2d, 0xa3, 0x30, 0x26, 0xfe, 0x11, 0x06, 0x22, + 0xe7, 0x3f, 0x49, 0x3b, 0x9c, 0x30, 0x42, 0xfe, 0x7c, 0x8b, 0x08, 0xfe, 0x55, 0x47, 0xf4, 0x64, + 0x25, 0x69, 0xd5, 0x11, 0xc1, 0x48, 0x5c, 0x75, 0x08, 0xcf, 0x34, 0x70, 0xbc, 0xe7, 0x1f, 0x68, + 0x24, 0xc5, 0x7b, 0x2e, 0x56, 0x62, 0xbc, 0x8f, 0x3d, 0x93, 0x90, 0xff, 0x53, 0x82, 0x3d, 0x82, + 0x03, 0x89, 0xb3, 0x89, 0x41, 0x90, 0x87, 0x96, 0xbf, 0xdc, 0x16, 0x5a, 0x80, 0x21, 0x41, 0x29, + 0xff, 0x6c, 0xe2, 0x5e, 0xbb, 0x2d, 0x86, 0xe2, 0xeb, 0xe0, 0xb2, 0x0d, 0xdb, 0x83, 0xd5, 0xd8, + 0x63, 0x09, 0xf4, 0x02, 0xd0, 0xf9, 0x33, 0xad, 0x40, 0x07, 0x22, 0x4a, 0x42, 0xdd, 0x2e, 0x49, + 0xac, 0x78, 0xf4, 0xc4, 0x88, 0x92, 0xae, 0x4e, 0x25, 0xd7, 0xa1, 0x3f, 0xf0, 0x2b, 0x4f, 0x47, + 0x13, 0xc8, 0xfa, 0x81, 0xf3, 0xa7, 0x5b, 0x00, 0xf6, 0x87, 0x8f, 0xc8, 0xef, 0xd7, 0xcd, 0xa4, + 0x22, 0xd4, 0x44, 0x48, 0x0c, 0x1f, 0xa2, 0x1f, 0x5e, 0xc3, 0xe6, 0x29, 0xf8, 0xd5, 0xb5, 0xb3, + 0xa9, 0x68, 0x86, 0xd1, 0x12, 0xcd, 0x33, 0xfe, 0xa7, 0xb6, 0x70, 0x11, 0x80, 0x5b, 0x25, 0x4c, + 0x52, 0x2e, 0x0f, 0x29, 0xb1, 0x08, 0x10, 0x57, 0xe2, 0xc3, 0xd9, 0x85, 0x53, 0xe0, 0x4b, 0xca, + 0x2e, 0x51, 0x94, 0xc4, 0xec, 0x22, 0xae, 0xe5, 0xe5, 0xbb, 0xde, 0xfc, 0xf4, 0xe1, 0x11, 0x69, + 0x6e, 0xed, 0xc3, 0x8f, 0x27, 0xa4, 0x47, 0x1f, 0x4f, 0x48, 0xbf, 0xfd, 0x78, 0x42, 0xfa, 0xaf, + 0x4f, 0x26, 0xb6, 0x3d, 0xfa, 0x64, 0x62, 0xdb, 0xaf, 0x3e, 0x99, 0xd8, 0xf6, 0xf7, 0x2f, 0xfa, + 0x8a, 0xfc, 0x8b, 0xde, 0x28, 0x37, 0xd4, 0x15, 0x7b, 0x86, 0x8d, 0x79, 0x5c, 0x33, 0x2d, 0xe4, + 0xff, 0x5c, 0x53, 0x75, 0x63, 0xa6, 0x66, 0x96, 0x1b, 0x55, 0x64, 0x37, 0x7f, 0x9e, 0x11, 0x1f, + 0x08, 0xac, 0x64, 0xf1, 0x4f, 0x2b, 0x9e, 0xfe, 0x73, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5c, 0x05, + 0xa8, 0x24, 0x9c, 0x52, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -5946,26 +5942,6 @@ func (m *MsgInstantSpotMarketLaunch) MarshalToSizedBuffer(dAtA []byte) (int, err _ = i var l int _ = l - { - size := m.TakerFeeRate.Size() - i -= size - if _, err := m.TakerFeeRate.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x4a - { - size := m.MakerFeeRate.Size() - i -= size - if _, err := m.MakerFeeRate.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x42 { size := m.MinNotional.Size() i -= size @@ -9256,10 +9232,6 @@ func (m *MsgInstantSpotMarketLaunch) Size() (n int) { n += 1 + l + sovTx(uint64(l)) l = m.MinNotional.Size() n += 1 + l + sovTx(uint64(l)) - l = m.MakerFeeRate.Size() - n += 1 + l + sovTx(uint64(l)) - l = m.TakerFeeRate.Size() - n += 1 + l + sovTx(uint64(l)) return n } @@ -12487,74 +12459,6 @@ func (m *MsgInstantSpotMarketLaunch) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MakerFeeRate", 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 - } - if err := m.MakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TakerFeeRate", 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 - } - if err := m.TakerFeeRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) diff --git a/chain/oracle/types/msgs.go b/chain/oracle/types/msgs.go index f26a3b39..ba4f9b5b 100644 --- a/chain/oracle/types/msgs.go +++ b/chain/oracle/types/msgs.go @@ -341,11 +341,13 @@ func (msg MsgRelayStorkPrices) ValidateBasic() error { oldestTimestamp := ^uint64(0) // max uint64 for i := range assetPair.SignedPrices { p := assetPair.SignedPrices[i] - if p.Timestamp > newestTimestamp { - newestTimestamp = p.Timestamp + // convert timestamp to nanoseconds to validate conditions + timestamp := ConvertTimestampToNanoSecond(p.Timestamp) + if timestamp > newestTimestamp { + newestTimestamp = timestamp } - if p.Timestamp < oldestTimestamp { - oldestTimestamp = p.Timestamp + if timestamp < oldestTimestamp { + oldestTimestamp = timestamp } price := new(big.Int).Quo(p.Price.BigInt(), sdkmath.LegacyOneDec().BigInt()).String() @@ -376,3 +378,25 @@ func (msg MsgRelayStorkPrices) GetSigners() []sdk.AccAddress { } return []sdk.AccAddress{sender} } + +// ConvertTimestampToNanoSecond converts timestamp to nano seconds +// if timestamp > 1e18 => timestamp is in nanosecond format +// else if timestamp > 1e15 => timestamp is in microsecond format +// else if timestamp > 1e12 => timestamp is in millisecond format +// else the timestamp is in second format +func ConvertTimestampToNanoSecond(timestamp uint64) (nanoSeconds uint64) { + switch { + // nanosecond + case timestamp > 1e18: + return timestamp + // microsecond + case timestamp > 1e15: + return timestamp * 1_000 + // millisecond + case timestamp > 1e12: + return timestamp * 1_000_000 + // second + default: + return timestamp * 1_000_000_000 + } +} diff --git a/chain/peggy/types/params.go b/chain/peggy/types/params.go index 656ada2b..b518fc22 100644 --- a/chain/peggy/types/params.go +++ b/chain/peggy/types/params.go @@ -7,11 +7,11 @@ import ( "cosmossdk.io/errors" "cosmossdk.io/math" + sdk "github.com/cosmos/cosmos-sdk/types" ) -// DefaultParamspace defines the default auth module parameter subspace +// DefaultParamspace defines the default peggy module parameter subspace const ( - // todo: implement oracle constants as params DefaultParamspace = ModuleName ) @@ -33,6 +33,7 @@ func DefaultParams() *Params { CosmosCoinDenom: "inj", UnbondSlashingValsetsWindow: 10000, ClaimSlashingEnabled: false, + Admins: nil, } } @@ -98,6 +99,9 @@ func (p Params) ValidateBasic() error { if err := validateClaimSlashingEnabled(p.ClaimSlashingEnabled); err != nil { return errors.Wrap(err, "claim slashing enabled") } + if err := validateAdmins(p.Admins); err != nil { + return errors.Wrap(err, "admins") + } return nil } @@ -293,3 +297,26 @@ func validateSlashFractionBadEthSignature(i interface{}) error { func validateValsetReward(i interface{}) error { return nil } + +func validateAdmins(i interface{}) error { + v, ok := i.([]string) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + + admins := make(map[string]struct{}) + + for _, admin := range v { + adminAddr, err := sdk.AccAddressFromBech32(admin) + if err != nil { + return fmt.Errorf("invalid admin address: %s", admin) + } + + if _, found := admins[adminAddr.String()]; found { + return fmt.Errorf("duplicate admin: %s", admin) + } + admins[adminAddr.String()] = struct{}{} + } + + return nil +} diff --git a/chain/peggy/types/params_legacy.go b/chain/peggy/types/params_legacy.go index aa63c6f6..f64a9856 100644 --- a/chain/peggy/types/params_legacy.go +++ b/chain/peggy/types/params_legacy.go @@ -67,6 +67,8 @@ var ( // to a relayer when they relay a valset ParamStoreValsetRewardAmount = []byte("ValsetReward") + ParamStoreAdmins = []byte("Admins") + // Ensure that params implements the proper interface _ paramtypes.ParamSet = &Params{} ) @@ -101,5 +103,6 @@ func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { paramtypes.NewParamSetPair(ParamStoreClaimSlashingEnabled, &p.ClaimSlashingEnabled, validateClaimSlashingEnabled), paramtypes.NewParamSetPair(ParamsStoreKeyBridgeContractStartHeight, &p.BridgeContractStartHeight, validateBridgeContractStartHeight), paramtypes.NewParamSetPair(ParamStoreValsetRewardAmount, &p.ValsetReward, validateValsetReward), + paramtypes.NewParamSetPair(ParamStoreAdmins, &p.Admins, validateAdmins), } } diff --git a/chain/wasmx/types/params.go b/chain/wasmx/types/params.go index 53bd56d5..618a79bc 100644 --- a/chain/wasmx/types/params.go +++ b/chain/wasmx/types/params.go @@ -3,6 +3,8 @@ package types import ( "fmt" + wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" + sdk "github.com/cosmos/cosmos-sdk/types" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" ) @@ -25,10 +27,11 @@ var ( // Parameter keys var ( - KeyIsExecutionEnabled = []byte("IsExecutionEnabled") - KeyMaxBeginBlockTotalGas = []byte("MaxBeginBlockTotalGas") - KeyMaxContractGasLimit = []byte("MaxContractGasLimit") - KeyMinGasPrice = []byte("MinGasPrice") + KeyIsExecutionEnabled = []byte("IsExecutionEnabled") + KeyMaxBeginBlockTotalGas = []byte("MaxBeginBlockTotalGas") + KeyMaxContractGasLimit = []byte("MaxContractGasLimit") + KeyMinGasPrice = []byte("MinGasPrice") + KeyRegisterContractAccess = []byte("RegisterContractAccess") ) // ParamKeyTable returns the parameter key table. @@ -42,12 +45,14 @@ func NewParams( maxBeginBlockTotalGas uint64, maxContractGasLimit uint64, minGasPrice uint64, + registerContractAccess wasmtypes.AccessConfig, ) Params { return Params{ - IsExecutionEnabled: isExecutionEnabled, - MaxBeginBlockTotalGas: maxBeginBlockTotalGas, - MaxContractGasLimit: maxContractGasLimit, - MinGasPrice: minGasPrice, + IsExecutionEnabled: isExecutionEnabled, + MaxBeginBlockTotalGas: maxBeginBlockTotalGas, + MaxContractGasLimit: maxContractGasLimit, + MinGasPrice: minGasPrice, + RegisterContractAccess: registerContractAccess, } } @@ -58,16 +63,18 @@ func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { paramtypes.NewParamSetPair(KeyIsExecutionEnabled, &p.IsExecutionEnabled, validateIsExecutionEnabled), paramtypes.NewParamSetPair(KeyMaxBeginBlockTotalGas, &p.MaxBeginBlockTotalGas, validateMaxBeginBlockTotalGas), paramtypes.NewParamSetPair(KeyMaxContractGasLimit, &p.MaxContractGasLimit, validateMaxContractGasLimit), + paramtypes.NewParamSetPair(KeyRegisterContractAccess, &p.RegisterContractAccess, validateAccessConfig), } } // DefaultParams returns a default set of parameters. func DefaultParams() Params { return Params{ - IsExecutionEnabled: DefaultIsExecutionEnabled, - MaxBeginBlockTotalGas: DefaultMaxBeginBlockTotalGas, - MaxContractGasLimit: DefaultMaxContractGasLimit, - MinGasPrice: DefaultMinGasPrice, + IsExecutionEnabled: DefaultIsExecutionEnabled, + MaxBeginBlockTotalGas: DefaultMaxBeginBlockTotalGas, + MaxContractGasLimit: DefaultMaxContractGasLimit, + MinGasPrice: DefaultMinGasPrice, + RegisterContractAccess: wasmtypes.AccessConfig{}, } } @@ -89,6 +96,9 @@ func (p Params) Validate() error { return err } + if err := validateAccessConfig(p.RegisterContractAccess); err != nil { + return err + } return nil } @@ -137,3 +147,25 @@ func validateMinGasPrice(i interface{}) error { } return nil } + +func validateAccessConfig(i interface{}) error { + v, ok := i.(wasmtypes.AccessConfig) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + + uploaders := make(map[string]struct{}) + + for _, addr := range v.Addresses { + address, err := sdk.AccAddressFromBech32(addr) + if err != nil { + return fmt.Errorf("invalid address: %s", addr) + } + + if _, found := uploaders[address.String()]; found { + return fmt.Errorf("duplicate address: %s", addr) + } + uploaders[address.String()] = struct{}{} + } + return nil +} diff --git a/chain/wasmx/types/util.go b/chain/wasmx/types/util.go index b543ec29..e23b04eb 100644 --- a/chain/wasmx/types/util.go +++ b/chain/wasmx/types/util.go @@ -6,15 +6,12 @@ import ( ) func IsAllowed(accessConfig types.AccessConfig, actor types2.AccAddress) bool { - switch accessConfig.Permission { - case types.AccessTypeAnyOfAddresses: + if accessConfig.Permission == types.AccessTypeAnyOfAddresses { for _, v := range accessConfig.Addresses { if v == actor.String() { return true } } - return false - default: - return false } + return false } diff --git a/client/chain/context.go b/client/chain/context.go index 5715986a..efaf985a 100644 --- a/client/chain/context.go +++ b/client/chain/context.go @@ -3,6 +3,10 @@ package chain import ( "os" + "cosmossdk.io/x/tx/signing" + "github.com/cosmos/cosmos-sdk/codec/address" + "github.com/cosmos/gogoproto/proto" + "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/codec/types" @@ -49,9 +53,28 @@ import ( ibctenderminttypes "github.com/cosmos/ibc-go/v8/modules/light-clients/07-tendermint" ) +// NewInterfaceRegistry returns a new InterfaceRegistry +func NewInterfaceRegistry() types.InterfaceRegistry { + registry, err := types.NewInterfaceRegistryWithOptions(types.InterfaceRegistryOptions{ + ProtoFiles: proto.HybridResolver, + SigningOptions: signing.Options{ + AddressCodec: address.Bech32Codec{ + Bech32Prefix: cosmostypes.GetConfig().GetBech32AccountAddrPrefix(), + }, + ValidatorAddressCodec: address.Bech32Codec{ + Bech32Prefix: cosmostypes.GetConfig().GetBech32ValidatorAddrPrefix(), + }, + }, + }) + if err != nil { + panic(err) + } + return registry +} + // NewTxConfig initializes new Cosmos TxConfig with certain signModes enabled. func NewTxConfig(signModes []signingtypes.SignMode) client.TxConfig { - interfaceRegistry := types.NewInterfaceRegistry() + interfaceRegistry := NewInterfaceRegistry() keyscodec.RegisterInterfaces(interfaceRegistry) std.RegisterInterfaces(interfaceRegistry) exchange.RegisterInterfaces(interfaceRegistry) @@ -98,7 +121,7 @@ func NewClientContext( ) (client.Context, error) { clientCtx := client.Context{} - interfaceRegistry := types.NewInterfaceRegistry() + interfaceRegistry := NewInterfaceRegistry() keyscodec.RegisterInterfaces(interfaceRegistry) std.RegisterInterfaces(interfaceRegistry) exchange.RegisterInterfaces(interfaceRegistry) @@ -205,12 +228,12 @@ func newContext( } if keyInfo.PubKey != nil { - address, err := keyInfo.GetAddress() + keyInfoAddress, err := keyInfo.GetAddress() if err != nil { panic(err) } clientCtx = clientCtx.WithKeyring(kb) - clientCtx = clientCtx.WithFromAddress(address) + clientCtx = clientCtx.WithFromAddress(keyInfoAddress) clientCtx = clientCtx.WithFromName(keyInfo.Name) clientCtx = clientCtx.WithFrom(keyInfo.Name) } diff --git a/client/chain/keys.go b/client/chain/keys.go index e6cb14c8..c29d8bd4 100644 --- a/client/chain/keys.go +++ b/client/chain/keys.go @@ -9,7 +9,6 @@ import ( "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" @@ -190,7 +189,7 @@ func (r *passReader) Read(p []byte) (n int, err error) { } func getCryptoCodec() *codec.ProtoCodec { - registry := types.NewInterfaceRegistry() + registry := NewInterfaceRegistry() crypto_cdc.RegisterInterfaces(registry) return codec.NewProtoCodec(registry) } diff --git a/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.pb.go b/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.pb.go index 37dc8fde..98af60fa 100644 --- a/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.pb.go +++ b/exchange/derivative_exchange_rpc/pb/goadesign_goagen_injective_derivative_exchange_rpc.pb.go @@ -187,6 +187,8 @@ type DerivativeMarketInfo struct { PerpetualMarketInfo *PerpetualMarketInfo `protobuf:"bytes,18,opt,name=perpetual_market_info,json=perpetualMarketInfo,proto3" json:"perpetual_market_info,omitempty"` PerpetualMarketFunding *PerpetualMarketFunding `protobuf:"bytes,19,opt,name=perpetual_market_funding,json=perpetualMarketFunding,proto3" json:"perpetual_market_funding,omitempty"` ExpiryFuturesMarketInfo *ExpiryFuturesMarketInfo `protobuf:"bytes,20,opt,name=expiry_futures_market_info,json=expiryFuturesMarketInfo,proto3" json:"expiry_futures_market_info,omitempty"` + // Minimum notional value for the order + MinNotional string `protobuf:"bytes,21,opt,name=min_notional,json=minNotional,proto3" json:"min_notional,omitempty"` } func (x *DerivativeMarketInfo) Reset() { @@ -361,6 +363,13 @@ func (x *DerivativeMarketInfo) GetExpiryFuturesMarketInfo() *ExpiryFuturesMarket return nil } +func (x *DerivativeMarketInfo) GetMinNotional() string { + if x != nil { + return x.MinNotional + } + return "" +} + type TokenMeta struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1038,6 +1047,8 @@ type BinaryOptionsMarketInfo struct { MinQuantityTickSize string `protobuf:"bytes,16,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3" json:"min_quantity_tick_size,omitempty"` // Defines the settlement price of the market SettlementPrice string `protobuf:"bytes,17,opt,name=settlement_price,json=settlementPrice,proto3" json:"settlement_price,omitempty"` + // Defines the minimum notional value for the market + MinNotional string `protobuf:"bytes,18,opt,name=min_notional,json=minNotional,proto3" json:"min_notional,omitempty"` } func (x *BinaryOptionsMarketInfo) Reset() { @@ -1191,6 +1202,13 @@ func (x *BinaryOptionsMarketInfo) GetSettlementPrice() string { return "" } +func (x *BinaryOptionsMarketInfo) GetMinNotional() string { + if x != nil { + return x.MinNotional + } + return "" +} + // Paging defines the structure for required params for handling pagination type Paging struct { state protoimpl.MessageState @@ -6264,7 +6282,7 @@ var file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDesc = []by 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x73, 0x22, 0xc9, 0x08, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x6b, 0x65, 0x74, 0x73, 0x22, 0xec, 0x08, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 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, 0x23, 0x0a, 0x0d, 0x6d, 0x61, @@ -6333,1168 +6351,1172 @@ var file_goadesign_goagen_injective_derivative_exchange_rpc_proto_rawDesc = []by 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x17, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 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, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, - 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, - 0x6d, 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, - 0x6d, 0x61, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x22, 0xdf, 0x01, 0x0a, 0x13, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, 0x75, 0x61, - 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x17, 0x68, - 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, - 0x74, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x68, 0x6f, - 0x75, 0x72, 0x6c, 0x79, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x43, - 0x61, 0x70, 0x12, 0x30, 0x0a, 0x14, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x12, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, - 0x52, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x75, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x14, 0x6e, 0x65, 0x78, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x75, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x99, 0x01, 0x0a, 0x16, 0x50, 0x65, 0x72, 0x70, 0x65, 0x74, - 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, - 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x75, - 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, - 0x29, 0x0a, 0x10, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x75, 0x6d, 0x75, 0x6c, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x22, 0x77, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x46, 0x75, 0x74, 0x75, 0x72, - 0x65, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x14, - 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x13, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x29, 0x0a, 0x10, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x74, 0x74, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x2c, 0x0a, 0x0d, 0x4d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x61, 0x0a, 0x0e, 0x4d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, - 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x22, 0x34, 0x0a, 0x13, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, - 0x73, 0x22, 0xac, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, - 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x22, 0x8d, 0x01, 0x0a, 0x1b, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, - 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x22, 0xb7, 0x01, 0x0a, 0x1c, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x54, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, - 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, - 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xfe, 0x05, 0x0a, 0x17, 0x42, - 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 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, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, - 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, - 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, - 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x53, - 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1f, - 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x2e, 0x0a, 0x13, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, - 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x72, - 0x61, 0x63, 0x6c, 0x65, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, + 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 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, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x64, + 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, + 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xdf, 0x01, 0x0a, 0x13, 0x50, 0x65, 0x72, 0x70, 0x65, + 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, + 0x0a, 0x17, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x14, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, + 0x74, 0x65, 0x43, 0x61, 0x70, 0x12, 0x30, 0x0a, 0x14, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x12, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x65, 0x73, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x14, 0x6e, 0x65, 0x78, 0x74, 0x46, 0x75, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x29, 0x0a, + 0x10, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x99, 0x01, 0x0a, 0x16, 0x50, 0x65, 0x72, + 0x70, 0x65, 0x74, 0x75, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x46, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x11, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x75, + 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x22, 0x77, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x46, 0x75, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x13, 0x65, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x13, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x12, 0x31, 0x0a, 0x14, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x13, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, - 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x56, 0x0a, 0x10, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0e, - 0x71, 0x75, 0x6f, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x24, - 0x0a, 0x0e, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, - 0x52, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, - 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, - 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x66, - 0x65, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x65, 0x65, 0x12, 0x2d, 0x0a, 0x13, - 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d, - 0x69, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x63, 0x6b, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x69, 0x6e, - 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, - 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, - 0x72, 0x69, 0x63, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x74, 0x74, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x06, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, - 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, - 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x65, 0x78, 0x74, 0x22, 0x39, 0x0a, 0x1a, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 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, 0x22, - 0x71, 0x0a, 0x1b, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, - 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x22, 0x31, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, - 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x72, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x09, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0xde, 0x01, 0x0a, 0x1a, 0x44, 0x65, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x41, 0x0a, 0x04, 0x62, 0x75, 0x79, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, - 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x04, 0x62, 0x75, 0x79, 0x73, 0x12, 0x43, 0x0a, 0x05, 0x73, - 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, + 0x6d, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, + 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x2c, 0x0a, + 0x0d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x61, 0x0a, 0x0e, 0x4d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, + 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x22, 0x34, + 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x49, 0x64, 0x73, 0x22, 0xac, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, + 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x25, + 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x22, 0x8d, 0x01, 0x0a, 0x1b, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, + 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, + 0x75, 0x6f, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, + 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x22, 0xb7, 0x01, 0x0a, 0x1c, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, + 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, - 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x73, 0x65, 0x6c, 0x6c, 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, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x34, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x7b, - 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, - 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, - 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, - 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x20, - 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, - 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, 0x5b, 0x0a, - 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xa1, 0x06, + 0x0a, 0x17, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 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, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, + 0x6b, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x79, + 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x61, 0x63, + 0x6c, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x61, 0x63, + 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, + 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x11, 0x6f, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, + 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x13, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x31, 0x0a, 0x14, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x13, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x6f, 0x74, + 0x65, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x71, + 0x75, 0x6f, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x56, 0x0a, 0x10, 0x71, 0x75, 0x6f, + 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x52, 0x0e, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, + 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6b, 0x65, 0x72, + 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6b, 0x65, 0x72, + 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x74, 0x61, 0x6b, 0x65, 0x72, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, + 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x65, 0x65, 0x12, + 0x2d, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x63, + 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x69, + 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x33, + 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, + 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, + 0x6d, 0x69, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x53, + 0x69, 0x7a, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, + 0x65, 0x74, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x12, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, + 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x22, 0x39, 0x0a, 0x1a, 0x42, 0x69, + 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x71, 0x0a, 0x1b, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x22, 0x31, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x72, 0x0a, 0x13, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, + 0xde, 0x01, 0x0a, 0x1a, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x41, + 0x0a, 0x04, 0x62, 0x75, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x04, 0x62, 0x75, 0x79, + 0x73, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, + 0x05, 0x73, 0x65, 0x6c, 0x6c, 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, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, + 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x34, + 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x49, 0x64, 0x73, 0x22, 0x7b, 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, + 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0a, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x43, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, - 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0x39, 0x0a, 0x18, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xda, 0x01, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, + 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x20, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 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, 0x5b, 0x0a, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, - 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, - 0x73, 0x22, 0xf3, 0x01, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x17, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, - 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x15, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0x83, 0x02, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 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, 0x1a, - 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x04, 0x62, 0x75, - 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, - 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x04, 0x62, - 0x75, 0x79, 0x73, 0x12, 0x49, 0x0a, 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, - 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, - 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x1d, - 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x7f, 0x0a, - 0x10, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc9, - 0x03, 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 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, 0x1d, 0x0a, - 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, - 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, - 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, - 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x73, - 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, - 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa4, 0x01, 0x0a, 0x0e, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, - 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x41, - 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x22, 0x39, 0x0a, 0x18, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xda, 0x01, 0x0a, 0x19, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, + 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x09, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xf3, 0x01, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x17, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x52, 0x15, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0x83, 0x02, + 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 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, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, + 0x12, 0x47, 0x0a, 0x04, 0x62, 0x75, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x67, 0x22, 0xd7, 0x05, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x49, 0x64, 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, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, - 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, - 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, - 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, - 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, - 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, - 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, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 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, 0x0e, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, - 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x74, 0x12, 0x2a, 0x0a, - 0x11, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, - 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xdc, 0x02, 0x0a, 0x10, - 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, - 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, - 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x11, 0x50, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x53, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x04, 0x62, 0x75, 0x79, 0x73, 0x12, 0x49, 0x0a, 0x05, 0x73, 0x65, 0x6c, + 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, + 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x22, 0x7f, 0x0a, 0x10, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc9, 0x03, 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, + 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, + 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x49, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, + 0x22, 0xa4, 0x01, 0x0a, 0x0e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, - 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, - 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xb0, 0x03, 0x0a, 0x12, 0x44, 0x65, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, - 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, - 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, - 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, - 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, - 0x61, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x1e, 0x61, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, - 0x79, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x1b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x64, 0x75, 0x63, - 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, - 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xde, 0x02, 0x0a, 0x12, - 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x73, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xaf, 0x01, 0x0a, - 0x13, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, + 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, + 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xd7, 0x05, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, + 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, + 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 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, + 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, + 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, 0x75, + 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x14, + 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6e, 0x66, + 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, + 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, + 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, + 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 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, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x12, 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, 0x0e, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, + 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, + 0x61, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, + 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, + 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, + 0x64, 0x22, 0xdc, 0x02, 0x0a, 0x10, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x73, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x22, 0xab, 0x01, 0x0a, 0x11, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xe4, - 0x02, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, - 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, - 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, - 0x72, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x10, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x63, 0x0a, 0x1a, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, - 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 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, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, - 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x72, 0x0a, 0x1b, 0x4c, 0x69, - 0x71, 0x75, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x09, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbe, - 0x01, 0x0a, 0x16, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, - 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, - 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, - 0xab, 0x01, 0x0a, 0x17, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x08, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xb0, + 0x03, 0x0a, 0x12, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1b, 0x0a, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, + 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, + 0x72, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, + 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, + 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x43, + 0x0a, 0x1e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x75, + 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x51, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x22, 0xde, 0x02, 0x0a, 0x12, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, + 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, + 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x1a, 0x73, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x18, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x22, 0xaf, 0x01, 0x0a, 0x13, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x09, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0x88, 0x01, - 0x0a, 0x0e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 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, 0x23, 0x0a, - 0x0d, 0x73, 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, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x77, 0x0a, 0x13, 0x46, 0x75, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x12, 0x0a, 0x04, - 0x73, 0x6b, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, - 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, - 0x65, 0x22, 0xae, 0x01, 0x0a, 0x14, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0d, 0x66, 0x75, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, + 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, - 0x65, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, - 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, - 0x6e, 0x67, 0x22, 0x5c, 0x0a, 0x0b, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, - 0x65, 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, 0x12, - 0x0a, 0x04, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x61, - 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x22, 0xc9, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, - 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, - 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, - 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x8a, 0x01, 0x0a, - 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, - 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xcf, 0x03, 0x0a, 0x13, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 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, 0x1d, - 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, - 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, - 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, - 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, - 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x19, - 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x14, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, - 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xbf, 0x03, 0x0a, 0x0d, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, - 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, - 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, - 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, - 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x9f, 0x01, 0x0a, 0x0e, 0x54, - 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, - 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, - 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xe8, 0x03, 0x0a, - 0x0f, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, + 0x67, 0x69, 0x6e, 0x67, 0x22, 0xe4, 0x02, 0x0a, 0x14, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x16, 0x0a, + 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, + 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, + 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x5f, + 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, + 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x63, 0x0a, 0x1a, 0x4c, + 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x22, 0x72, 0x0a, 0x1b, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x53, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x16, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 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, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, - 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x12, 0x74, 0x72, 0x61, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4c, - 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0e, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, - 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x65, 0x6c, 0x74, 0x61, 0x52, 0x0d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, - 0x6c, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, - 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, - 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, - 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, - 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, - 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x0d, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, - 0x64, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x61, 0x72, 0x67, 0x69, 0x6e, 0x22, 0xc1, 0x03, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, - 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, - 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, - 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, - 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x10, 0x54, 0x72, - 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, - 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xc5, 0x03, - 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x17, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x4d, 0x0a, 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, + 0x69, 0x6e, 0x67, 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 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, 0x23, 0x0a, 0x0d, 0x73, 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, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x77, + 0x0a, 0x13, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, - 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, - 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, - 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, - 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa5, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, - 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc7, 0x03, - 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, + 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, + 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xae, 0x01, 0x0a, 0x14, 0x46, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x53, 0x0a, 0x0d, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0x5c, 0x0a, 0x0b, 0x46, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, - 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, - 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa7, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x72, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc9, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xb2, 0x01, - 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, - 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, + 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, + 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, + 0xcf, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, + 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, + 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, + 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, + 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, + 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, + 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x05, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xbf, + 0x03, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 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, 0x25, 0x0a, + 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, + 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, + 0x22, 0x9f, 0x01, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, - 0x6e, 0x67, 0x22, 0xce, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, - 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x22, 0x6a, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x6e, 0x67, 0x22, 0xe8, 0x03, 0x0a, 0x0f, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, 0x72, 0x61, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, + 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x57, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6c, + 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x52, 0x0d, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x79, + 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x79, 0x6f, 0x75, + 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, + 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, + 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, + 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, + 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, + 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xbb, 0x01, + 0x0a, 0x0d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, + 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, + 0x72, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x22, 0xc1, 0x03, 0x0a, 0x0f, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, + 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, + 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, + 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, + 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, + 0xa1, 0x01, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, + 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, + 0x69, 0x6e, 0x67, 0x22, 0xc5, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, + 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, + 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa5, 0x01, 0x0a, 0x14, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, - 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x22, - 0xfc, 0x03, 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, + 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, + 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x22, 0xc7, 0x03, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, + 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, + 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, + 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xa7, 0x01, + 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, + 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, + 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x22, 0xb2, 0x01, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xce, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, - 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, - 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, - 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, - 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, - 0x6e, 0x6c, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x63, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xad, - 0x01, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xa9, - 0x05, 0x0a, 0x16, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x65, 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, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, - 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, - 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, - 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, 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, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, - 0x6e, 0x6c, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, - 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, - 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x70, - 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, - 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, - 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, - 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xdc, 0x01, 0x0a, 0x1a, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, - 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x1b, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x05, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x32, - 0xc4, 0x1a, 0x0a, 0x1e, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, - 0x50, 0x43, 0x12, 0x70, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x31, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x06, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x30, + 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, + 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x6a, 0x0a, 0x1c, 0x53, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x74, 0x72, 0x61, + 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x73, 0x22, 0xfc, 0x03, 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, + 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, + 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x73, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x6e, + 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x63, 0x69, 0x64, 0x22, 0xad, 0x01, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, + 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x97, 0x01, 0x0a, 0x14, 0x42, 0x69, 0x6e, 0x61, - 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, - 0x12, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x94, 0x01, 0x0a, 0x13, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, - 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, - 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, + 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x73, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, + 0x67, 0x69, 0x6e, 0x67, 0x22, 0xa9, 0x05, 0x0a, 0x16, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, + 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1b, + 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, + 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 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, 0x12, 0x25, 0x0a, + 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, + 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x12, 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, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x72, 0x65, + 0x64, 0x75, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0c, 0x69, 0x73, 0x52, 0x65, 0x64, 0x75, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1c, 0x0a, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x69, + 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x74, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, + 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, + 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, + 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, + 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, + 0x22, 0xdc, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, + 0xb3, 0x01, 0x0a, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4f, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x0c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, - 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x70, 0x63, 0x2e, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x32, 0xc4, 0x1a, 0x0a, 0x1e, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x44, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x45, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x50, 0x43, 0x12, 0x70, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x06, 0x4d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x0c, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x97, 0x01, + 0x0a, 0x14, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, + 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, + 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x94, 0x01, 0x0a, 0x13, 0x42, 0x69, 0x6e, 0x61, + 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, + 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x90, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x3b, 0x2e, + 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, + 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, - 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9c, 0x01, 0x0a, 0x15, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x6d, 0x0a, 0x06, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x0c, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x12, 0x36, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x90, 0x01, + 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, + 0x6b, 0x56, 0x32, 0x12, 0x3b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x09, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x69, 0x6e, 0x6a, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x3c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, + 0x12, 0x9c, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x7c, 0x0a, 0x0b, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, - 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x94, - 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x71, 0x75, 0x69, - 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, - 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x88, 0x01, 0x0a, 0x0f, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, + 0x6d, 0x0a, 0x06, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x7f, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, - 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, + 0x0a, 0x09, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x1a, 0x34, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x81, - 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, - 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x30, 0x01, 0x12, 0x6d, 0x0a, 0x06, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x69, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0b, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x94, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, + 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, + 0x2e, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x88, 0x01, 0x0a, 0x0f, + 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, + 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x73, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x32, 0x2e, + 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x30, 0x01, 0x12, 0x81, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x6d, 0x0a, 0x06, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x73, 0x56, 0x32, 0x12, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x87, 0x01, 0x0a, 0x0e, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x38, 0x2e, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, + 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x36, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, + 0x12, 0x87, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x73, 0x56, 0x32, 0x12, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x30, 0x01, 0x12, 0x97, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x2e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x97, 0x01, 0x0a, 0x14, 0x53, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x97, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, + 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x97, - 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x0d, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x37, 0x2e, 0x69, 0x6e, 0x6a, + 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x82, + 0x01, 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x12, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x96, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3d, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x96, 0x01, - 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, 0x26, 0x5a, 0x24, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, 0x26, 0x5a, 0x24, + 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.proto b/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.proto index 38828579..468da6c6 100644 --- a/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.proto +++ b/exchange/derivative_exchange_rpc/pb/injective_derivative_exchange_rpc.proto @@ -124,6 +124,8 @@ message DerivativeMarketInfo { PerpetualMarketInfo perpetual_market_info = 18; PerpetualMarketFunding perpetual_market_funding = 19; ExpiryFuturesMarketInfo expiry_futures_market_info = 20; + // Minimum notional value for the order + string min_notional = 21; } message TokenMeta { @@ -250,6 +252,8 @@ message BinaryOptionsMarketInfo { string min_quantity_tick_size = 16; // Defines the settlement price of the market string settlement_price = 17; + // Defines the minimum notional value for the market + string min_notional = 18; } // Paging defines the structure for required params for handling pagination message Paging { diff --git a/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.pb.go b/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.pb.go index 35a5cd4e..e42a27b8 100644 --- a/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.pb.go +++ b/exchange/spot_exchange_rpc/pb/goadesign_goagen_injective_spot_exchange_rpc.pb.go @@ -179,6 +179,8 @@ type SpotMarketInfo struct { MinPriceTickSize string `protobuf:"bytes,11,opt,name=min_price_tick_size,json=minPriceTickSize,proto3" json:"min_price_tick_size,omitempty"` // Defines the minimum required tick size for the order's quantity MinQuantityTickSize string `protobuf:"bytes,12,opt,name=min_quantity_tick_size,json=minQuantityTickSize,proto3" json:"min_quantity_tick_size,omitempty"` + // Minimum notional value for the market + MinNotional string `protobuf:"bytes,13,opt,name=min_notional,json=minNotional,proto3" json:"min_notional,omitempty"` } func (x *SpotMarketInfo) Reset() { @@ -297,6 +299,13 @@ func (x *SpotMarketInfo) GetMinQuantityTickSize() string { return "" } +func (x *SpotMarketInfo) GetMinNotional() string { + if x != nil { + return x.MinNotional + } + return "" +} + type TokenMeta struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4320,7 +4329,7 @@ var file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDesc = []byte{ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xae, 0x04, 0x0a, + 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xd1, 0x04, 0x0a, 0x0e, 0x53, 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 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, 0x23, 0x0a, 0x0d, @@ -4355,252 +4364,319 @@ var file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDesc = []byte{ 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x51, 0x75, 0x61, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa0, 0x01, - 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 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, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, - 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, - 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, - 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x22, 0x2c, 0x0a, 0x0d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 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, 0x22, 0x55, - 0x0a, 0x0e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x43, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, + 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 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, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, + 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, + 0x6d, 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, + 0x6d, 0x61, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x22, 0x2c, 0x0a, 0x0d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x55, 0x0a, 0x0e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x22, 0x35, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, + 0xa1, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x25, + 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x22, 0x31, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, + 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x66, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, + 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, - 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x22, 0x35, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xa1, 0x01, 0x0a, - 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x22, 0x31, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x66, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, - 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, + 0x6b, 0x56, 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0xcc, + 0x01, 0x0a, 0x14, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x3b, 0x0a, 0x04, 0x62, 0x75, 0x79, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x04, + 0x62, 0x75, 0x79, 0x73, 0x12, 0x3d, 0x0a, 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x73, 0x65, + 0x6c, 0x6c, 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, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x5c, 0x0a, + 0x0a, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x34, 0x0a, 0x13, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, + 0x73, 0x22, 0x6f, 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, + 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0a, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, - 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0xcc, 0x01, 0x0a, 0x14, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x69, 0x6e, 0x67, + 0x6c, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, + 0x6b, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x1a, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x70, 0x6f, + 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, + 0x32, 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, 0x4f, + 0x0a, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, + 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x3b, 0x0a, 0x04, 0x62, 0x75, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, - 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x04, 0x62, 0x75, 0x79, - 0x73, 0x12, 0x3d, 0x0a, 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, - 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, - 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x73, 0x65, 0x6c, 0x6c, 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, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, + 0x39, 0x0a, 0x18, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, + 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xce, 0x01, 0x0a, 0x19, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, + 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x1c, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xed, 0x01, 0x0a, 0x1d, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x17, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x73, 0x52, 0x15, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0xf7, 0x01, 0x0a, 0x15, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 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, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, + 0x04, 0x62, 0x75, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x04, 0x62, 0x75, 0x79, 0x73, + 0x12, 0x43, 0x0a, 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, + 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x22, 0x7f, 0x0a, 0x10, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x34, 0x0a, 0x13, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0x6f, - 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, - 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, - 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, - 0x6b, 0x56, 0x32, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x22, - 0x8a, 0x01, 0x0a, 0x1a, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 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, 0x4f, 0x0a, 0x09, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, + 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, + 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x83, 0x03, 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, + 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, + 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x19, + 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x92, 0x01, 0x0a, 0x0e, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, + 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, - 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, - 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0x39, 0x0a, 0x18, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, - 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xce, 0x01, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x22, 0xb8, 0x03, 0x0a, 0x0e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, + 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 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, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, + 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, + 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 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, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x06, + 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, + 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, + 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x65, 0x78, 0x74, 0x22, 0x89, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, + 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, + 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, + 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x49, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, + 0x22, 0x9e, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x09, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x22, 0xed, 0x01, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x17, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x15, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0xf7, 0x01, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 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, 0x1a, - 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x04, 0x62, 0x75, - 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, - 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x04, 0x62, 0x75, 0x79, 0x73, 0x12, 0x43, 0x0a, - 0x05, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, - 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x65, 0x6c, - 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x22, 0x7f, 0x0a, 0x10, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, - 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, - 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x22, 0x83, 0x03, 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 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, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, - 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, - 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, - 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, - 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x92, 0x01, 0x0a, 0x0e, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, - 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, - 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xb8, 0x03, - 0x0a, 0x0e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, - 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1b, - 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 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, - 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, - 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, - 0x6e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, - 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, - 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, - 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, - 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x12, 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, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x17, 0x0a, - 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, - 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, - 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, - 0x02, 0x74, 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, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, - 0x74, 0x22, 0x89, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, - 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x53, 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x22, 0xbf, 0x03, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, + 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, - 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, - 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, + 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x29, 0x0a, - 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x49, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, - 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, - 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x9e, 0x01, - 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xbf, - 0x03, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, + 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, + 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x63, 0x69, 0x64, 0x22, 0x8d, 0x01, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, + 0x69, 0x6e, 0x67, 0x22, 0xb2, 0x03, 0x0a, 0x09, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, + 0x12, 0x23, 0x0a, 0x0d, 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x12, 0x74, 0x72, 0x61, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, + 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x66, 0x65, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1f, + 0x0a, 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x23, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, + 0x69, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, + 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, + 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xc5, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, @@ -4628,485 +4704,420 @@ var file_goadesign_goagen_injective_spot_exchange_rpc_proto_rawDesc = []byte{ 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, - 0x22, 0x8d, 0x01, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, - 0x64, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, - 0x22, 0xb2, 0x03, 0x0a, 0x09, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, - 0x0d, 0x73, 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, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, - 0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, - 0x72, 0x61, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, - 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x05, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, - 0x65, 0x6c, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, - 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, - 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xc5, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, - 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, - 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, - 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x99, 0x01, - 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x22, 0x99, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x74, 0x72, 0x61, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x52, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc1, 0x03, 0x0a, + 0x0f, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 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, 0x25, 0x0a, + 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, + 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, + 0x22, 0x8f, 0x01, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x74, - 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc1, 0x03, 0x0a, 0x0f, 0x54, 0x72, - 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x67, 0x22, 0xc7, 0x03, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, + 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, + 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, + 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, + 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, + 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, + 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x9b, 0x01, 0x0a, + 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x53, + 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, + 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xa0, 0x01, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x06, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, + 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xce, 0x01, 0x0a, 0x1b, 0x53, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, + 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, + 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x5e, 0x0a, 0x1c, 0x53, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x22, 0xb6, 0x03, 0x0a, 0x14, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, + 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, + 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, - 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, - 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x8f, 0x01, - 0x0a, 0x10, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, - 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, - 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, - 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, - 0xc7, 0x03, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, - 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, - 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, - 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x27, - 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x16, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, - 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, - 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x22, 0xa0, 0x01, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, + 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x6e, 0x6c, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x63, 0x69, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, + 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, - 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, - 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xce, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, + 0x67, 0x22, 0xf3, 0x03, 0x0a, 0x10, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 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, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x6c, + 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x12, 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, 0x0d, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, + 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, + 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xdc, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, - 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6b, 0x69, - 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, - 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x5e, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, - 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x22, 0xb6, 0x03, 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, + 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x22, 0xc7, 0x01, 0x0a, 0x18, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 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, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, - 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, - 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, - 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0a, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, - 0x49, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x49, 0x64, 0x12, 0x2e, - 0x0a, 0x13, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, - 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, - 0x22, 0x9b, 0x01, 0x0a, 0x15, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x06, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, - 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xf3, - 0x03, 0x0a, 0x10, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, - 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x61, - 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, - 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 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, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, - 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, - 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, - 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x51, - 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x12, 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, 0x0d, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, - 0x68, 0x61, 0x73, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, - 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x63, 0x69, 0x64, 0x22, 0xdc, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, - 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, - 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc7, 0x01, - 0x0a, 0x18, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 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, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x73, - 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 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, 0x05, 0x20, 0x01, 0x28, 0x11, 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, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x74, - 0x6f, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x95, 0x01, 0x0a, 0x19, 0x41, 0x74, 0x6f, 0x6d, - 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, - 0x6e, 0x67, 0x12, 0x3b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, - 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, - 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, - 0xe0, 0x03, 0x0a, 0x0a, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 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, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x0b, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x11, 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, 0x06, 0x20, 0x01, 0x28, 0x11, + 0x52, 0x08, 0x74, 0x6f, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x95, 0x01, 0x0a, 0x19, 0x41, + 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x3b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x22, 0xe0, 0x03, 0x0a, 0x0a, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, + 0x70, 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, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x12, + 0x42, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, + 0x6f, 0x69, 0x6e, 0x12, 0x3e, 0x0a, 0x09, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x69, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x08, 0x64, 0x65, 0x73, 0x74, 0x43, + 0x6f, 0x69, 0x6e, 0x12, 0x35, 0x0a, 0x04, 0x66, 0x65, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x69, 0x6e, - 0x12, 0x3e, 0x0a, 0x09, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x04, 0x66, 0x65, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x62, + 0x79, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0d, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x37, 0x0a, + 0x18, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, + 0x15, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, + 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x34, 0x0a, 0x04, 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, 0x32, 0x9e, 0x11, 0x0a, 0x18, + 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x50, 0x43, 0x12, 0x64, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x73, 0x12, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x08, 0x64, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x69, 0x6e, - 0x12, 0x35, 0x0a, 0x04, 0x66, 0x65, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, - 0x6e, 0x52, 0x04, 0x66, 0x65, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x62, 0x79, 0x5f, 0x73, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0d, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x42, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x15, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x42, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x0b, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, - 0x0d, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x22, 0x34, 0x0a, 0x04, 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, 0x32, 0x9e, 0x11, 0x0a, 0x18, 0x49, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x52, 0x50, 0x43, 0x12, 0x64, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, - 0x12, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, + 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, - 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x4d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, - 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, - 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x12, - 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, + 0x0a, 0x06, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x78, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, + 0x74, 0x73, 0x12, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x70, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, - 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, - 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x0c, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x70, 0x0a, 0x0b, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, - 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x84, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, - 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, - 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x90, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, - 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x69, 0x6e, + 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x73, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, + 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, + 0x0c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x12, 0x30, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x0c, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x30, 0x2e, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, + 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x56, 0x32, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x90, 0x01, 0x0a, 0x15, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x12, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, + 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x2a, 0x2e, - 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x67, 0x0a, - 0x08, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x69, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, + 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x75, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, + 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, + 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, + 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, + 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x30, 0x01, 0x12, 0x8b, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x2e, 0x69, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x0c, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, + 0x12, 0x67, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x2c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x2e, 0x69, 0x6e, 0x6a, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x76, 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x12, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, - 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, + 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x0e, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x12, 0x32, 0x2e, 0x69, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x33, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x8b, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, + 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x76, 0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x12, 0x31, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, - 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, - 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x35, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, - 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, - 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x20, 0x5a, 0x1e, 0x2f, 0x69, 0x6e, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x13, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x12, 0x37, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, + 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x41, 0x74, 0x6f, 0x6d, + 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x35, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x74, 0x6f, 0x6d, + 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x53, 0x77, 0x61, 0x70, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x20, 0x5a, 0x1e, + 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.proto b/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.proto index e5759878..aa7b07f4 100644 --- a/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.proto +++ b/exchange/spot_exchange_rpc/pb/injective_spot_exchange_rpc.proto @@ -92,6 +92,8 @@ message SpotMarketInfo { string min_price_tick_size = 11; // Defines the minimum required tick size for the order's quantity string min_quantity_tick_size = 12; + // Minimum notional value for the market + string min_notional = 13; } message TokenMeta { diff --git a/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.pb.go b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.pb.go index 0dc68f16..fa06c65a 100644 --- a/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.pb.go +++ b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc.pb.go @@ -8,7 +8,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 -// protoc v3.19.4 +// protoc v4.25.3 // source: goadesign_goagen_injective_trading_rpc.proto package injective_trading_rpcpb diff --git a/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc_grpc.pb.go b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc_grpc.pb.go index a48d438a..ec918fd5 100644 --- a/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc_grpc.pb.go +++ b/exchange/trading_rpc/pb/goadesign_goagen_injective_trading_rpc_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v3.19.4 +// - protoc v4.25.3 // source: goadesign_goagen_injective_trading_rpc.proto package injective_trading_rpcpb diff --git a/go.mod b/go.mod index 3082653d..8dc59205 100644 --- a/go.mod +++ b/go.mod @@ -8,13 +8,14 @@ require ( cosmossdk.io/store v1.1.0 cosmossdk.io/x/evidence v0.1.0 cosmossdk.io/x/feegrant v0.1.0 + cosmossdk.io/x/tx v0.13.3 cosmossdk.io/x/upgrade v0.1.1 github.com/CosmWasm/wasmd v0.40.2 github.com/InjectiveLabs/suplog v1.3.3 github.com/bandprotocol/bandchain-packet v0.0.4 github.com/btcsuite/btcd v0.23.4 github.com/btcsuite/btcd/btcutil v1.1.3 - github.com/cometbft/cometbft v0.38.7 + github.com/cometbft/cometbft v0.38.9 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.50.7 github.com/cosmos/gogoproto v1.4.12 @@ -46,7 +47,6 @@ require ( cosmossdk.io/core v0.11.0 // indirect cosmossdk.io/depinject v1.0.0-alpha.4 // indirect cosmossdk.io/log v1.3.1 // indirect - cosmossdk.io/x/tx v0.13.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.2 // indirect @@ -233,9 +233,9 @@ replace ( github.com/CosmWasm/wasmd => github.com/InjectiveLabs/wasmd v0.51.1-0.20240517110802-c05574f2352f github.com/bandprotocol/bandchain-packet => github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1 - github.com/cometbft/cometbft => github.com/InjectiveLabs/cometbft v0.38.7-0.20240530121154-e6f77c2eab89 + github.com/cometbft/cometbft => github.com/InjectiveLabs/cometbft v0.38.9-0.20240709140635-a708e04e3d90 - github.com/cosmos/cosmos-sdk => github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240701215658-e99dd7f94758 + github.com/cosmos/cosmos-sdk => github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240715151413-9c09fcb833cd github.com/cosmos/ibc-apps/modules/ibc-hooks/v8 => github.com/InjectiveLabs/ibc-apps/modules/ibc-hooks/v8 v8.0.0-20240507173420-7acb85b883f5 github.com/cosmos/ibc-go/v8 => github.com/InjectiveLabs/ibc-go/v8 v8.3.3-0.20240620175254-376c45360bb0 github.com/miguelmota/go-ethereum-hdwallet => github.com/InjectiveLabs/go-ethereum-hdwallet v0.1.2 diff --git a/go.sum b/go.sum index 02b998c2..dd98eb5a 100644 --- a/go.sum +++ b/go.sum @@ -63,10 +63,10 @@ github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1 h1:ZnvCV/lzjWmBwuGbkAz+okucfJEyEzkU9GYK3tKU9cU= github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1/go.mod h1:QELTDYiwnbAqIgTF9zeKr+hVlK6eVyt6Nxmh6/1mmzQ= -github.com/InjectiveLabs/cometbft v0.38.7-0.20240530121154-e6f77c2eab89 h1:Bd0zseWj0r5WFVWfSkYOIkJEfSWWMPGxlkLTxdhfOv4= -github.com/InjectiveLabs/cometbft v0.38.7-0.20240530121154-e6f77c2eab89/go.mod h1:8rSPxzUJYquCN8uuBgbUHOMg2KAwvr7CyUw+6ukO4nw= -github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240701215658-e99dd7f94758 h1:kltEChIugO4nhFi/kCzSF4cd1J40A8RK4icO8SPqch4= -github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240701215658-e99dd7f94758/go.mod h1:hqnVyiD7QUNoq8Hu8992JLo9soJIXCF8Vcv+aT1Njn0= +github.com/InjectiveLabs/cometbft v0.38.9-0.20240709140635-a708e04e3d90 h1:0+YWz/cRVC61HYNDtqDAqqvtfdVSFzmu/gN4cKOLmGU= +github.com/InjectiveLabs/cometbft v0.38.9-0.20240709140635-a708e04e3d90/go.mod h1:xOoGZrtUT+A5izWfHSJgl0gYZUE7lu7Z2XIS1vWG/QQ= +github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240715151413-9c09fcb833cd h1:0j0/iwBY+Wi30dzcNoTvKXtKNBlBPawmA88xpVEjSYM= +github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240715151413-9c09fcb833cd/go.mod h1:OwiEQAyD/vrgJfSjxkF1Z4lPGSjU0dnLqbD8fZJADC8= github.com/InjectiveLabs/cosmos-sdk/store v1.1.1-0.20240522173845-46ef88f66790 h1:F4FYZR9rLg9igzxitFdLU5s7ZU9XS0wUB7DbkBOVXc8= github.com/InjectiveLabs/cosmos-sdk/store v1.1.1-0.20240522173845-46ef88f66790/go.mod h1:ZW4eIE98wivInyQyhxU2nHqEielc/iZAcr41qNyWSrw= github.com/InjectiveLabs/cosmos-sdk/x/evidence v0.1.1-0.20240522173845-46ef88f66790 h1:vbSB6IBNnrVw3s/odYJiF1MUi2JL6PnjgNEBkTM/sBI= @@ -542,6 +542,8 @@ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= +github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/hcl v1.0.1-vault-5 h1:kI3hhbbyzr4dldA8UdTb7ZlVVlI2DACdCfz31RPDgJM= github.com/hashicorp/hcl v1.0.1-vault-5/go.mod h1:XYhtn6ijBSAj6n4YqAaf7RBPS4I06AItNorpy+MoQNM= From 1f96e8f5495c8b89735796e7cc58f4ed48b37b48 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Wed, 26 Jun 2024 15:28:11 -0300 Subject: [PATCH 43/48] (feat) Added support for module. Added also example scripts for all permissions module's messages and queries --- client/chain/chain.go | 59 ++++++++++++ client/chain/chain_test_support.go | 23 +++++ .../permissions/1_CreateNamespace/example.go | 92 +++++++++++++++++++ .../permissions/2_DeleteNamespace/example.go | 73 +++++++++++++++ .../permissions/3_UpdateNamespace/example.go | 77 ++++++++++++++++ .../4_UpdateNamespaceRoles/example.go | 90 ++++++++++++++++++ .../5_RevokeNamespaceRoles/example.go | 80 ++++++++++++++++ .../permissions/6_ClaimVoucher/example.go | 73 +++++++++++++++ .../query/1_AllNamespaces/example.go | 69 ++++++++++++++ .../query/2_NamespaceByDenom/example.go | 68 ++++++++++++++ .../query/3_AddressRoles/example.go | 69 ++++++++++++++ .../query/4_AddressesByRole/example.go | 69 ++++++++++++++ .../query/5_VouchersForAddress/example.go | 68 ++++++++++++++ 13 files changed, 910 insertions(+) create mode 100644 examples/chain/permissions/1_CreateNamespace/example.go create mode 100644 examples/chain/permissions/2_DeleteNamespace/example.go create mode 100644 examples/chain/permissions/3_UpdateNamespace/example.go create mode 100644 examples/chain/permissions/4_UpdateNamespaceRoles/example.go create mode 100644 examples/chain/permissions/5_RevokeNamespaceRoles/example.go create mode 100644 examples/chain/permissions/6_ClaimVoucher/example.go create mode 100644 examples/chain/permissions/query/1_AllNamespaces/example.go create mode 100644 examples/chain/permissions/query/2_NamespaceByDenom/example.go create mode 100644 examples/chain/permissions/query/3_AddressRoles/example.go create mode 100644 examples/chain/permissions/query/4_AddressesByRole/example.go create mode 100644 examples/chain/permissions/query/5_VouchersForAddress/example.go diff --git a/client/chain/chain.go b/client/chain/chain.go index 08214e4b..3f9f5a17 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -13,6 +13,8 @@ import ( "sync/atomic" "time" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + sdkmath "cosmossdk.io/math" "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice" @@ -286,6 +288,13 @@ type ChainClient interface { FetchIBCConnectionConsensusState(ctx context.Context, connectionId string, revisionNumber uint64, revisionHeight uint64) (*ibcconnectiontypes.QueryConnectionConsensusStateResponse, error) FetchIBCConnectionParams(ctx context.Context) (*ibcconnectiontypes.QueryConnectionParamsResponse, error) + // Permissions module + FetchAllNamespaces(ctx context.Context) (*permissionstypes.QueryAllNamespacesResponse, error) + FetchNamespaceByDenom(ctx context.Context, denom string, includeRoles bool) (*permissionstypes.QueryNamespaceByDenomResponse, error) + FetchAddressRoles(ctx context.Context, denom, address string) (*permissionstypes.QueryAddressRolesResponse, error) + FetchAddressesByRole(ctx context.Context, denom, role string) (*permissionstypes.QueryAddressesByRoleResponse, error) + FetchVouchersForAddress(ctx context.Context, address string) (*permissionstypes.QueryVouchersForAddressResponse, error) + Close() } @@ -322,6 +331,7 @@ type chainClient struct { ibcClientQueryClient ibcclienttypes.QueryClient ibcConnectionQueryClient ibcconnectiontypes.QueryClient ibcTransferQueryClient ibctransfertypes.QueryClient + permissionsQueryClient permissionstypes.QueryClient tendermintQueryClient cmtservice.ServiceClient tokenfactoryQueryClient tokenfactorytypes.QueryClient txClient txtypes.ServiceClient @@ -422,6 +432,7 @@ func NewChainClient( ibcClientQueryClient: ibcclienttypes.NewQueryClient(conn), ibcConnectionQueryClient: ibcconnectiontypes.NewQueryClient(conn), ibcTransferQueryClient: ibctransfertypes.NewQueryClient(conn), + permissionsQueryClient: permissionstypes.NewQueryClient(conn), tendermintQueryClient: cmtservice.NewServiceClient(conn), tokenfactoryQueryClient: tokenfactorytypes.NewQueryClient(conn), txClient: txtypes.NewServiceClient(conn), @@ -2592,3 +2603,51 @@ func (c *chainClient) FetchIBCConnectionParams(ctx context.Context) (*ibcconnect return res, err } + +// Permissions module + +func (c *chainClient) FetchAllNamespaces(ctx context.Context) (*permissionstypes.QueryAllNamespacesResponse, error) { + req := &permissionstypes.QueryAllNamespacesRequest{} + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.AllNamespaces, req) + + return res, err +} + +func (c *chainClient) FetchNamespaceByDenom(ctx context.Context, denom string, includeRoles bool) (*permissionstypes.QueryNamespaceByDenomResponse, error) { + req := &permissionstypes.QueryNamespaceByDenomRequest{ + Denom: denom, + IncludeRoles: includeRoles, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.NamespaceByDenom, req) + + return res, err +} + +func (c *chainClient) FetchAddressRoles(ctx context.Context, denom, address string) (*permissionstypes.QueryAddressRolesResponse, error) { + req := &permissionstypes.QueryAddressRolesRequest{ + Denom: denom, + Address: address, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.AddressRoles, req) + + return res, err +} + +func (c *chainClient) FetchAddressesByRole(ctx context.Context, denom, role string) (*permissionstypes.QueryAddressesByRoleResponse, error) { + req := &permissionstypes.QueryAddressesByRoleRequest{ + Denom: denom, + Role: role, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.AddressesByRole, req) + + return res, err +} + +func (c *chainClient) FetchVouchersForAddress(ctx context.Context, address string) (*permissionstypes.QueryVouchersForAddressResponse, error) { + req := &permissionstypes.QueryVouchersForAddressRequest{ + Address: address, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.VouchersForAddress, req) + + return res, err +} diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index afacd061..bf7e2a66 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -3,6 +3,7 @@ package chain import ( "context" "errors" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "time" sdkmath "cosmossdk.io/math" @@ -717,3 +718,25 @@ func (c *MockChainClient) FetchIBCConnectionConsensusState(ctx context.Context, func (c *MockChainClient) FetchIBCConnectionParams(ctx context.Context) (*ibcconnectiontypes.QueryConnectionParamsResponse, error) { return &ibcconnectiontypes.QueryConnectionParamsResponse{}, nil } + +// Permissions module + +func (c *MockChainClient) FetchAllNamespaces(ctx context.Context) (*permissionstypes.QueryAllNamespacesResponse, error) { + return &permissionstypes.QueryAllNamespacesResponse{}, nil +} + +func (c *MockChainClient) FetchNamespaceByDenom(ctx context.Context, denom string, includeRoles bool) (*permissionstypes.QueryNamespaceByDenomResponse, error) { + return &permissionstypes.QueryNamespaceByDenomResponse{}, nil +} + +func (c *MockChainClient) FetchAddressRoles(ctx context.Context, denom, address string) (*permissionstypes.QueryAddressRolesResponse, error) { + return &permissionstypes.QueryAddressRolesResponse{}, nil +} + +func (c *MockChainClient) FetchAddressesByRole(ctx context.Context, denom, role string) (*permissionstypes.QueryAddressesByRoleResponse, error) { + return &permissionstypes.QueryAddressesByRoleResponse{}, nil +} + +func (c *MockChainClient) FetchVouchersForAddress(ctx context.Context, address string) (*permissionstypes.QueryVouchersForAddressResponse, error) { + return &permissionstypes.QueryVouchersForAddressResponse{}, nil +} diff --git a/examples/chain/permissions/1_CreateNamespace/example.go b/examples/chain/permissions/1_CreateNamespace/example.go new file mode 100644 index 00000000..c7354033 --- /dev/null +++ b/examples/chain/permissions/1_CreateNamespace/example.go @@ -0,0 +1,92 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + blockedAddress := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" + namespace := permissionstypes.Namespace{ + Denom: "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test", + RolePermissions: []*permissionstypes.Role{ + { + Role: permissionstypes.EVERYONE, + Permissions: uint32(permissionstypes.Action_MINT | permissionstypes.Action_RECEIVE | permissionstypes.Action_BURN), + }, + { + Role: "blacklisted", + Permissions: 0, + }, + }, + AddressRoles: []*permissionstypes.AddressRoles{ + { + Address: blockedAddress, + Roles: []string{"blacklisted"}, + }, + }, + } + + msg := &permissionstypes.MsgCreateNamespace{ + Sender: senderAddress.String(), + Namespace: namespace, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/2_DeleteNamespace/example.go b/examples/chain/permissions/2_DeleteNamespace/example.go new file mode 100644 index 00000000..6c8c08a1 --- /dev/null +++ b/examples/chain/permissions/2_DeleteNamespace/example.go @@ -0,0 +1,73 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + msg := &permissionstypes.MsgDeleteNamespace{ + Sender: senderAddress.String(), + NamespaceDenom: namespaceDenom, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/3_UpdateNamespace/example.go b/examples/chain/permissions/3_UpdateNamespace/example.go new file mode 100644 index 00000000..f6e85bd2 --- /dev/null +++ b/examples/chain/permissions/3_UpdateNamespace/example.go @@ -0,0 +1,77 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + msg := &permissionstypes.MsgUpdateNamespace{ + Sender: senderAddress.String(), + NamespaceDenom: namespaceDenom, + WasmHook: &permissionstypes.MsgUpdateNamespace_MsgSetWasmHook{NewValue: "inj19ld6swyldyujcn72j7ugnu9twafhs9wxlyye5m"}, + SendsPaused: &permissionstypes.MsgUpdateNamespace_MsgSetSendsPaused{NewValue: true}, + MintsPaused: &permissionstypes.MsgUpdateNamespace_MsgSetMintsPaused{NewValue: true}, + BurnsPaused: &permissionstypes.MsgUpdateNamespace_MsgSetBurnsPaused{NewValue: true}, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/4_UpdateNamespaceRoles/example.go b/examples/chain/permissions/4_UpdateNamespaceRoles/example.go new file mode 100644 index 00000000..7a8bfb61 --- /dev/null +++ b/examples/chain/permissions/4_UpdateNamespaceRoles/example.go @@ -0,0 +1,90 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + blockedAddress := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" + + msg := &permissionstypes.MsgUpdateNamespaceRoles{ + Sender: senderAddress.String(), + NamespaceDenom: namespaceDenom, + RolePermissions: []*permissionstypes.Role{ + { + Role: permissionstypes.EVERYONE, + Permissions: uint32(permissionstypes.Action_RECEIVE), + }, + { + Role: "blacklisted", + Permissions: 0, + }, + }, + AddressRoles: []*permissionstypes.AddressRoles{ + { + Address: blockedAddress, + Roles: []string{"blacklisted"}, + }, + }, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/5_RevokeNamespaceRoles/example.go b/examples/chain/permissions/5_RevokeNamespaceRoles/example.go new file mode 100644 index 00000000..7c9f1449 --- /dev/null +++ b/examples/chain/permissions/5_RevokeNamespaceRoles/example.go @@ -0,0 +1,80 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + blockedAddress := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" + + msg := &permissionstypes.MsgRevokeNamespaceRoles{ + Sender: senderAddress.String(), + NamespaceDenom: namespaceDenom, + AddressRolesToRevoke: []*permissionstypes.AddressRoles{ + { + Address: blockedAddress, + Roles: []string{"blacklisted"}, + }, + }, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/6_ClaimVoucher/example.go b/examples/chain/permissions/6_ClaimVoucher/example.go new file mode 100644 index 00000000..82a15347 --- /dev/null +++ b/examples/chain/permissions/6_ClaimVoucher/example.go @@ -0,0 +1,73 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + denom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + msg := &permissionstypes.MsgClaimVoucher{ + Sender: senderAddress.String(), + Denom: denom, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/query/1_AllNamespaces/example.go b/examples/chain/permissions/query/1_AllNamespaces/example.go new file mode 100644 index 00000000..650477d2 --- /dev/null +++ b/examples/chain/permissions/query/1_AllNamespaces/example.go @@ -0,0 +1,69 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "os" + + "github.com/InjectiveLabs/sdk-go/client" + 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("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + ctx := context.Background() + + res, err := chainClient.FetchAllNamespaces(ctx) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/permissions/query/2_NamespaceByDenom/example.go b/examples/chain/permissions/query/2_NamespaceByDenom/example.go new file mode 100644 index 00000000..e8bc93fb --- /dev/null +++ b/examples/chain/permissions/query/2_NamespaceByDenom/example.go @@ -0,0 +1,68 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + ctx := context.Background() + + res, err := chainClient.FetchNamespaceByDenom(ctx, namespaceDenom, true) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/query/3_AddressRoles/example.go b/examples/chain/permissions/query/3_AddressRoles/example.go new file mode 100644 index 00000000..943c2219 --- /dev/null +++ b/examples/chain/permissions/query/3_AddressRoles/example.go @@ -0,0 +1,69 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + address := senderAddress.String() + + ctx := context.Background() + + res, err := chainClient.FetchAddressRoles(ctx, namespaceDenom, address) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/query/4_AddressesByRole/example.go b/examples/chain/permissions/query/4_AddressesByRole/example.go new file mode 100644 index 00000000..3e916a42 --- /dev/null +++ b/examples/chain/permissions/query/4_AddressesByRole/example.go @@ -0,0 +1,69 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + role := "blacklisted" + + ctx := context.Background() + + res, err := chainClient.FetchAddressesByRole(ctx, namespaceDenom, role) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/query/5_VouchersForAddress/example.go b/examples/chain/permissions/query/5_VouchersForAddress/example.go new file mode 100644 index 00000000..06be757e --- /dev/null +++ b/examples/chain/permissions/query/5_VouchersForAddress/example.go @@ -0,0 +1,68 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + address := senderAddress.String() + + ctx := context.Background() + + res, err := chainClient.FetchVouchersForAddress(ctx, address) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) +} From 88f1ced30554964fc399fd926b7aed38bb26c3b4 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Wed, 26 Jun 2024 16:07:22 -0300 Subject: [PATCH 44/48] (fix) Added logic to ensure this branch is only used to interact with Devnet --- client/chain/chain.go | 7 ++ client/chain/chain_test.go | 4 +- client/chain/chain_test_support.go | 3 +- client/common/network.go | 96 ------------------- .../permissions/1_CreateNamespace/example.go | 3 +- .../permissions/2_DeleteNamespace/example.go | 3 +- .../permissions/3_UpdateNamespace/example.go | 3 +- .../4_UpdateNamespaceRoles/example.go | 3 +- .../5_RevokeNamespaceRoles/example.go | 3 +- .../permissions/6_ClaimVoucher/example.go | 3 +- .../query/2_NamespaceByDenom/example.go | 3 +- .../query/3_AddressRoles/example.go | 3 +- .../query/4_AddressesByRole/example.go | 3 +- .../query/5_VouchersForAddress/example.go | 3 +- 14 files changed, 31 insertions(+), 109 deletions(-) diff --git a/client/chain/chain.go b/client/chain/chain.go index 3f9f5a17..4f6f8301 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -774,6 +774,9 @@ func (c *chainClient) BuildSignedTx(clientCtx client.Context, accNum, accSeq, in } func (c *chainClient) buildSignedTx(clientCtx client.Context, txf tx.Factory, msgs ...sdk.Msg) ([]byte, error) { + if c.network.ChainId != "injective-777" { + panic("This versions of Go SDK should only be used with Devnet environment") + } ctx := context.Background() if clientCtx.Simulate { simTxBytes, err := txf.BuildSimTx(msgs...) @@ -885,6 +888,10 @@ func (c *chainClient) broadcastTx( await bool, msgs ...sdk.Msg, ) (*txtypes.BroadcastTxResponse, error) { + if c.network.ChainId != "injective-777" { + panic("This versions of Go SDK should only be used with Devnet environment") + } + txBytes, err := c.buildSignedTx(clientCtx, txf, msgs...) if err != nil { err = errors.Wrap(err, "failed to build signed Tx") diff --git a/client/chain/chain_test.go b/client/chain/chain_test.go index f3845e06..0016f37f 100644 --- a/client/chain/chain_test.go +++ b/client/chain/chain_test.go @@ -52,7 +52,7 @@ func createClient(senderAddress cosmtypes.AccAddress, cosmosKeyring keyring.Keyr } func TestDefaultSubaccount(t *testing.T) { - network := common.LoadNetwork("testnet", "lb") + network := common.LoadNetwork("devnet", "lb") senderAddress, cosmosKeyring, err := accountForTests() if err != nil { @@ -75,7 +75,7 @@ func TestDefaultSubaccount(t *testing.T) { } func TestGetSubaccountWithIndex(t *testing.T) { - network := common.LoadNetwork("testnet", "lb") + network := common.LoadNetwork("devnet", "lb") senderAddress, cosmosKeyring, err := accountForTests() if err != nil { diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index bf7e2a66..1d8df620 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -3,9 +3,10 @@ package chain import ( "context" "errors" - permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "time" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + sdkmath "cosmossdk.io/math" "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice" diff --git a/client/common/network.go b/client/common/network.go index 4714f997..e7b62672 100644 --- a/client/common/network.go +++ b/client/common/network.go @@ -2,7 +2,6 @@ package common import ( "context" - "crypto/tls" "fmt" "net" "net/http" @@ -256,101 +255,6 @@ func LoadNetwork(name, node string) Network { ExplorerCookieAssistant: &DisabledCookieAssistant{}, OfficialTokensListURL: DevnetTokensListURL, } - case "testnet": - validNodes := []string{"lb", "sentry"} - if !contains(validNodes, node) { - panic(fmt.Sprintf("invalid node %s for %s", node, name)) - } - - var lcdEndpoint, tmEndpoint, chainGrpcEndpoint, chainStreamGrpcEndpoint, exchangeGrpcEndpoint, explorerGrpcEndpoint string - var chainTLSCert, exchangeTLSCert, explorerTLSCert credentials.TransportCredentials - var chainCookieAssistant, exchangeCookieAssistant, explorerCookieAssistant CookieAssistant - if node == "lb" { - lcdEndpoint = "https://testnet.sentry.lcd.injective.network:443" - tmEndpoint = "https://testnet.sentry.tm.injective.network:443" - chainGrpcEndpoint = "testnet.sentry.chain.grpc.injective.network:443" - chainStreamGrpcEndpoint = "testnet.sentry.chain.stream.injective.network:443" - exchangeGrpcEndpoint = "testnet.sentry.exchange.grpc.injective.network:443" - explorerGrpcEndpoint = "testnet.sentry.explorer.grpc.injective.network:443" - chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - chainCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - exchangeCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - explorerCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - } else if node == "sentry" { - lcdEndpoint = "https://testnet.lcd.injective.network:443" - tmEndpoint = "https://testnet.tm.injective.network:443" - chainGrpcEndpoint = "testnet.chain.grpc.injective.network:443" - chainStreamGrpcEndpoint = "testnet.chain.stream.injective.network:443" - exchangeGrpcEndpoint = "testnet.exchange.grpc.injective.network:443" - explorerGrpcEndpoint = "testnet.explorer.grpc.injective.network:443" - chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - chainCookieAssistant = &DisabledCookieAssistant{} - exchangeCookieAssistant = &DisabledCookieAssistant{} - explorerCookieAssistant = &DisabledCookieAssistant{} - } - - return Network{ - LcdEndpoint: lcdEndpoint, - TmEndpoint: tmEndpoint, - ChainGrpcEndpoint: chainGrpcEndpoint, - ChainStreamGrpcEndpoint: chainStreamGrpcEndpoint, - ChainTLSCert: chainTLSCert, - ExchangeGrpcEndpoint: exchangeGrpcEndpoint, - ExchangeTLSCert: exchangeTLSCert, - ExplorerGrpcEndpoint: explorerGrpcEndpoint, - ExplorerTLSCert: explorerTLSCert, - ChainId: "injective-888", - FeeDenom: "inj", - Name: "testnet", - ChainCookieAssistant: chainCookieAssistant, - ExchangeCookieAssistant: exchangeCookieAssistant, - ExplorerCookieAssistant: explorerCookieAssistant, - OfficialTokensListURL: TestnetTokensListURL, - } - case "mainnet": - validNodes := []string{"lb"} - if !contains(validNodes, node) { - panic(fmt.Sprintf("invalid node %s for %s", node, name)) - } - var lcdEndpoint, tmEndpoint, chainGrpcEndpoint, chainStreamGrpcEndpoint, exchangeGrpcEndpoint, explorerGrpcEndpoint string - var chainTLSCert, exchangeTLSCert, explorerTLSCert credentials.TransportCredentials - var chainCookieAssistant, exchangeCookieAssistant, explorerCookieAssistant CookieAssistant - - lcdEndpoint = "https://sentry.lcd.injective.network" - tmEndpoint = "https://sentry.tm.injective.network:443" - chainGrpcEndpoint = "sentry.chain.grpc.injective.network:443" - chainStreamGrpcEndpoint = "sentry.chain.stream.injective.network:443" - exchangeGrpcEndpoint = "sentry.exchange.grpc.injective.network:443" - explorerGrpcEndpoint = "sentry.explorer.grpc.injective.network:443" - chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - chainCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - exchangeCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - explorerCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - - return Network{ - LcdEndpoint: lcdEndpoint, - TmEndpoint: tmEndpoint, - ChainGrpcEndpoint: chainGrpcEndpoint, - ChainStreamGrpcEndpoint: chainStreamGrpcEndpoint, - ChainTLSCert: chainTLSCert, - ExchangeGrpcEndpoint: exchangeGrpcEndpoint, - ExchangeTLSCert: exchangeTLSCert, - ExplorerGrpcEndpoint: explorerGrpcEndpoint, - ExplorerTLSCert: explorerTLSCert, - ChainId: "injective-1", - FeeDenom: "inj", - Name: "mainnet", - ChainCookieAssistant: chainCookieAssistant, - ExchangeCookieAssistant: exchangeCookieAssistant, - ExplorerCookieAssistant: explorerCookieAssistant, - OfficialTokensListURL: MainnetTokensListURL, - } default: panic(fmt.Sprintf("invalid network %s", name)) diff --git a/examples/chain/permissions/1_CreateNamespace/example.go b/examples/chain/permissions/1_CreateNamespace/example.go index c7354033..540d2a9b 100644 --- a/examples/chain/permissions/1_CreateNamespace/example.go +++ b/examples/chain/permissions/1_CreateNamespace/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/2_DeleteNamespace/example.go b/examples/chain/permissions/2_DeleteNamespace/example.go index 6c8c08a1..611f569e 100644 --- a/examples/chain/permissions/2_DeleteNamespace/example.go +++ b/examples/chain/permissions/2_DeleteNamespace/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/3_UpdateNamespace/example.go b/examples/chain/permissions/3_UpdateNamespace/example.go index f6e85bd2..2fd48eaf 100644 --- a/examples/chain/permissions/3_UpdateNamespace/example.go +++ b/examples/chain/permissions/3_UpdateNamespace/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/4_UpdateNamespaceRoles/example.go b/examples/chain/permissions/4_UpdateNamespaceRoles/example.go index 7a8bfb61..62941e9d 100644 --- a/examples/chain/permissions/4_UpdateNamespaceRoles/example.go +++ b/examples/chain/permissions/4_UpdateNamespaceRoles/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/5_RevokeNamespaceRoles/example.go b/examples/chain/permissions/5_RevokeNamespaceRoles/example.go index 7c9f1449..3bc62f57 100644 --- a/examples/chain/permissions/5_RevokeNamespaceRoles/example.go +++ b/examples/chain/permissions/5_RevokeNamespaceRoles/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/6_ClaimVoucher/example.go b/examples/chain/permissions/6_ClaimVoucher/example.go index 82a15347..3af4da11 100644 --- a/examples/chain/permissions/6_ClaimVoucher/example.go +++ b/examples/chain/permissions/6_ClaimVoucher/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/query/2_NamespaceByDenom/example.go b/examples/chain/permissions/query/2_NamespaceByDenom/example.go index e8bc93fb..69efeb11 100644 --- a/examples/chain/permissions/query/2_NamespaceByDenom/example.go +++ b/examples/chain/permissions/query/2_NamespaceByDenom/example.go @@ -4,11 +4,12 @@ import ( "context" "encoding/json" "fmt" + "os" + "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/query/3_AddressRoles/example.go b/examples/chain/permissions/query/3_AddressRoles/example.go index 943c2219..17fe06a0 100644 --- a/examples/chain/permissions/query/3_AddressRoles/example.go +++ b/examples/chain/permissions/query/3_AddressRoles/example.go @@ -4,11 +4,12 @@ import ( "context" "encoding/json" "fmt" + "os" + "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/query/4_AddressesByRole/example.go b/examples/chain/permissions/query/4_AddressesByRole/example.go index 3e916a42..ca2b3f7f 100644 --- a/examples/chain/permissions/query/4_AddressesByRole/example.go +++ b/examples/chain/permissions/query/4_AddressesByRole/example.go @@ -4,11 +4,12 @@ import ( "context" "encoding/json" "fmt" + "os" + "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/query/5_VouchersForAddress/example.go b/examples/chain/permissions/query/5_VouchersForAddress/example.go index 06be757e..fe7b9d96 100644 --- a/examples/chain/permissions/query/5_VouchersForAddress/example.go +++ b/examples/chain/permissions/query/5_VouchersForAddress/example.go @@ -4,11 +4,12 @@ import ( "context" "encoding/json" "fmt" + "os" + "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { From d45b89b3673413b3a57a845aa1f6a5be1eaef7c8 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Fri, 26 Jul 2024 18:07:30 -0300 Subject: [PATCH 45/48] (fix) Remove restrictions in SDK to not use with mainnet or testnet --- client/chain/chain.go | 7 --- client/common/network.go | 96 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+), 7 deletions(-) diff --git a/client/chain/chain.go b/client/chain/chain.go index 4f6f8301..3f9f5a17 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -774,9 +774,6 @@ func (c *chainClient) BuildSignedTx(clientCtx client.Context, accNum, accSeq, in } func (c *chainClient) buildSignedTx(clientCtx client.Context, txf tx.Factory, msgs ...sdk.Msg) ([]byte, error) { - if c.network.ChainId != "injective-777" { - panic("This versions of Go SDK should only be used with Devnet environment") - } ctx := context.Background() if clientCtx.Simulate { simTxBytes, err := txf.BuildSimTx(msgs...) @@ -888,10 +885,6 @@ func (c *chainClient) broadcastTx( await bool, msgs ...sdk.Msg, ) (*txtypes.BroadcastTxResponse, error) { - if c.network.ChainId != "injective-777" { - panic("This versions of Go SDK should only be used with Devnet environment") - } - txBytes, err := c.buildSignedTx(clientCtx, txf, msgs...) if err != nil { err = errors.Wrap(err, "failed to build signed Tx") diff --git a/client/common/network.go b/client/common/network.go index e7b62672..4714f997 100644 --- a/client/common/network.go +++ b/client/common/network.go @@ -2,6 +2,7 @@ package common import ( "context" + "crypto/tls" "fmt" "net" "net/http" @@ -255,6 +256,101 @@ func LoadNetwork(name, node string) Network { ExplorerCookieAssistant: &DisabledCookieAssistant{}, OfficialTokensListURL: DevnetTokensListURL, } + case "testnet": + validNodes := []string{"lb", "sentry"} + if !contains(validNodes, node) { + panic(fmt.Sprintf("invalid node %s for %s", node, name)) + } + + var lcdEndpoint, tmEndpoint, chainGrpcEndpoint, chainStreamGrpcEndpoint, exchangeGrpcEndpoint, explorerGrpcEndpoint string + var chainTLSCert, exchangeTLSCert, explorerTLSCert credentials.TransportCredentials + var chainCookieAssistant, exchangeCookieAssistant, explorerCookieAssistant CookieAssistant + if node == "lb" { + lcdEndpoint = "https://testnet.sentry.lcd.injective.network:443" + tmEndpoint = "https://testnet.sentry.tm.injective.network:443" + chainGrpcEndpoint = "testnet.sentry.chain.grpc.injective.network:443" + chainStreamGrpcEndpoint = "testnet.sentry.chain.stream.injective.network:443" + exchangeGrpcEndpoint = "testnet.sentry.exchange.grpc.injective.network:443" + explorerGrpcEndpoint = "testnet.sentry.explorer.grpc.injective.network:443" + chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + chainCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} + exchangeCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} + explorerCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} + } else if node == "sentry" { + lcdEndpoint = "https://testnet.lcd.injective.network:443" + tmEndpoint = "https://testnet.tm.injective.network:443" + chainGrpcEndpoint = "testnet.chain.grpc.injective.network:443" + chainStreamGrpcEndpoint = "testnet.chain.stream.injective.network:443" + exchangeGrpcEndpoint = "testnet.exchange.grpc.injective.network:443" + explorerGrpcEndpoint = "testnet.explorer.grpc.injective.network:443" + chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + chainCookieAssistant = &DisabledCookieAssistant{} + exchangeCookieAssistant = &DisabledCookieAssistant{} + explorerCookieAssistant = &DisabledCookieAssistant{} + } + + return Network{ + LcdEndpoint: lcdEndpoint, + TmEndpoint: tmEndpoint, + ChainGrpcEndpoint: chainGrpcEndpoint, + ChainStreamGrpcEndpoint: chainStreamGrpcEndpoint, + ChainTLSCert: chainTLSCert, + ExchangeGrpcEndpoint: exchangeGrpcEndpoint, + ExchangeTLSCert: exchangeTLSCert, + ExplorerGrpcEndpoint: explorerGrpcEndpoint, + ExplorerTLSCert: explorerTLSCert, + ChainId: "injective-888", + FeeDenom: "inj", + Name: "testnet", + ChainCookieAssistant: chainCookieAssistant, + ExchangeCookieAssistant: exchangeCookieAssistant, + ExplorerCookieAssistant: explorerCookieAssistant, + OfficialTokensListURL: TestnetTokensListURL, + } + case "mainnet": + validNodes := []string{"lb"} + if !contains(validNodes, node) { + panic(fmt.Sprintf("invalid node %s for %s", node, name)) + } + var lcdEndpoint, tmEndpoint, chainGrpcEndpoint, chainStreamGrpcEndpoint, exchangeGrpcEndpoint, explorerGrpcEndpoint string + var chainTLSCert, exchangeTLSCert, explorerTLSCert credentials.TransportCredentials + var chainCookieAssistant, exchangeCookieAssistant, explorerCookieAssistant CookieAssistant + + lcdEndpoint = "https://sentry.lcd.injective.network" + tmEndpoint = "https://sentry.tm.injective.network:443" + chainGrpcEndpoint = "sentry.chain.grpc.injective.network:443" + chainStreamGrpcEndpoint = "sentry.chain.stream.injective.network:443" + exchangeGrpcEndpoint = "sentry.exchange.grpc.injective.network:443" + explorerGrpcEndpoint = "sentry.explorer.grpc.injective.network:443" + chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) + chainCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} + exchangeCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} + explorerCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} + + return Network{ + LcdEndpoint: lcdEndpoint, + TmEndpoint: tmEndpoint, + ChainGrpcEndpoint: chainGrpcEndpoint, + ChainStreamGrpcEndpoint: chainStreamGrpcEndpoint, + ChainTLSCert: chainTLSCert, + ExchangeGrpcEndpoint: exchangeGrpcEndpoint, + ExchangeTLSCert: exchangeTLSCert, + ExplorerGrpcEndpoint: explorerGrpcEndpoint, + ExplorerTLSCert: explorerTLSCert, + ChainId: "injective-1", + FeeDenom: "inj", + Name: "mainnet", + ChainCookieAssistant: chainCookieAssistant, + ExchangeCookieAssistant: exchangeCookieAssistant, + ExplorerCookieAssistant: explorerCookieAssistant, + OfficialTokensListURL: MainnetTokensListURL, + } default: panic(fmt.Sprintf("invalid network %s", name)) From 9ea244ba623d0a6df510fbdd5d81edbbdbb9fe82 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Mon, 29 Jul 2024 16:49:51 -0300 Subject: [PATCH 46/48] (fix) Regenerated all compiled protos. Updated CreateDenom example script. Updated all markets and tokens INI files --- Makefile | 10 +- chain/codec/types/types.go | 57 + chain/exchange/types/fee_validation.go | 18 +- chain/oracle/types/codec.go | 4 +- chain/tokenfactory/types/genesis.pb.go | 96 +- chain/tokenfactory/types/msgs.go | 3 +- chain/tokenfactory/types/tx.pb.go | 147 +- chain/wasmx/types/util.go | 4 +- client/metadata/assets/devnet-1.ini | 1466 +- client/metadata/assets/devnet.ini | 1466 +- client/metadata/assets/mainnet.ini | 12200 +++++++++++++++- client/metadata/assets/testnet.ini | 11850 ++++++++++++++- .../tokenfactory/1_CreateDenom/example.go | 1 + ...design_goagen_injective_campaign_rpc.pb.go | 1045 +- ...n_goagen_injective_campaign_rpc_grpc.pb.go | 38 + .../pb/injective_campaign_rpc.pb.gw.go | 85 + .../pb/injective_campaign_rpc.proto | 59 + proto/buf.yaml | 1 + proto/injective/auction/v1beta1/auction.proto | 16 +- proto/injective/auction/v1beta1/genesis.proto | 3 + proto/injective/auction/v1beta1/query.proto | 16 +- proto/injective/auction/v1beta1/tx.proto | 4 + .../crypto/v1beta1/ethsecp256k1/keys.proto | 21 +- proto/injective/exchange/v1beta1/authz.proto | 12 + proto/injective/exchange/v1beta1/events.proto | 41 +- .../injective/exchange/v1beta1/exchange.proto | 255 +- .../injective/exchange/v1beta1/genesis.proto | 23 +- .../injective/exchange/v1beta1/proposal.proto | 167 +- proto/injective/exchange/v1beta1/query.proto | 143 +- proto/injective/exchange/v1beta1/tx.proto | 291 +- .../insurance/v1beta1/insurance.proto | 6 +- proto/injective/insurance/v1beta1/tx.proto | 6 + proto/injective/ocr/v1beta1/ocr.proto | 34 +- proto/injective/ocr/v1beta1/tx.proto | 16 +- proto/injective/oracle/v1beta1/events.proto | 14 +- proto/injective/oracle/v1beta1/genesis.proto | 4 + proto/injective/oracle/v1beta1/oracle.proto | 60 +- proto/injective/oracle/v1beta1/proposal.proto | 38 +- proto/injective/oracle/v1beta1/query.proto | 52 +- proto/injective/oracle/v1beta1/tx.proto | 31 +- proto/injective/peggy/v1/attestation.proto | 2 +- proto/injective/peggy/v1/events.proto | 6 +- proto/injective/peggy/v1/msgs.proto | 64 +- proto/injective/peggy/v1/params.proto | 14 +- proto/injective/peggy/v1/pool.proto | 2 +- proto/injective/peggy/v1/types.proto | 2 +- .../permissions/v1beta1/events.proto | 5 + .../permissions/v1beta1/params.proto | 8 +- .../permissions/v1beta1/permissions.proto | 19 +- .../injective/permissions/v1beta1/query.proto | 9 +- proto/injective/permissions/v1beta1/tx.proto | 21 +- proto/injective/stream/v1beta1/query.proto | 20 +- .../tokenfactory/v1beta1/genesis.proto | 1 + .../tokenfactory/v1beta1/params.proto | 3 + proto/injective/tokenfactory/v1beta1/tx.proto | 10 + proto/injective/types/v1beta1/account.proto | 3 +- proto/injective/wasmx/v1/proposal.proto | 5 + proto/injective/wasmx/v1/tx.proto | 9 + proto/injective/wasmx/v1/wasmx.proto | 9 + 59 files changed, 28594 insertions(+), 1421 deletions(-) create mode 100644 chain/codec/types/types.go diff --git a/Makefile b/Makefile index 418f085d..4492bf96 100644 --- a/Makefile +++ b/Makefile @@ -36,6 +36,8 @@ copy-exchange-client: copy-chain-types: cp ../injective-core/injective-chain/crypto/ethsecp256k1/*.go chain/crypto/ethsecp256k1 rm -rf chain/crypto/ethsecp256k1/*test.go rm -rf chain/crypto/ethsecp256k1/*gw.go + cp ../injective-core/injective-chain/codec/types/*.go chain/codec/types + rm -rf chain/codec/types/*test.go rm -rf chain/codec/types/*gw.go 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 @@ -60,9 +62,11 @@ copy-chain-types: cp ../injective-core/injective-chain/types/*.go chain/types rm -rf chain/types/*test.go rm -rf chain/types/*gw.go - echo "👉 Replace injective-core/injective-chain/modules with sdk-go/chain" - echo "👉 Replace injective-core/injective-chain/types with sdk-go/chain/types" - echo "👉 Replace injective-core/injective-chain/crypto with sdk-go/chain/crypto" + @echo "👉 Replace injective-core/injective-chain/modules with sdk-go/chain" + @echo "👉 Replace injective-core/injective-chain/codec with sdk-go/chain/codec" + @echo "👉 Replace injective-core/injective-chain/codec/types with sdk-go/chain/codec/types" + @echo "👉 Replace injective-core/injective-chain/types with sdk-go/chain/types" + @echo "👉 Replace injective-core/injective-chain/crypto with sdk-go/chain/crypto" tests: go test -race ./client/... ./ethereum/... diff --git a/chain/codec/types/types.go b/chain/codec/types/types.go new file mode 100644 index 00000000..ceb722f1 --- /dev/null +++ b/chain/codec/types/types.go @@ -0,0 +1,57 @@ +package types + +import ( + "cosmossdk.io/x/tx/signing" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/codec" + "github.com/cosmos/cosmos-sdk/codec/address" + "github.com/cosmos/cosmos-sdk/codec/types" + sdktypes "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/x/auth/tx" + "github.com/cosmos/gogoproto/proto" + + injcodec "github.com/InjectiveLabs/sdk-go/chain/codec" +) + +type EncodingConfig struct { + InterfaceRegistry types.InterfaceRegistry + Codec codec.Codec + TxConfig client.TxConfig + Amino *codec.LegacyAmino +} + +// MakeEncodingConfig creates an EncodingConfig for testing +func MakeEncodingConfig() EncodingConfig { + cdc := codec.NewLegacyAmino() + interfaceRegistry := NewInterfaceRegistry() + appCodec := codec.NewProtoCodec(interfaceRegistry) + encodingConfig := EncodingConfig{ + InterfaceRegistry: interfaceRegistry, + Codec: appCodec, + TxConfig: tx.NewTxConfig(appCodec, tx.DefaultSignModes), + Amino: cdc, + } + + injcodec.RegisterInterfaces(encodingConfig.InterfaceRegistry) + injcodec.RegisterLegacyAminoCodec(encodingConfig.Amino) + return encodingConfig +} + +// NewInterfaceRegistry returns a new InterfaceRegistry +func NewInterfaceRegistry() types.InterfaceRegistry { + registry, err := types.NewInterfaceRegistryWithOptions(types.InterfaceRegistryOptions{ + ProtoFiles: proto.HybridResolver, + SigningOptions: signing.Options{ + AddressCodec: address.Bech32Codec{ + Bech32Prefix: sdktypes.GetConfig().GetBech32AccountAddrPrefix(), + }, + ValidatorAddressCodec: address.Bech32Codec{ + Bech32Prefix: sdktypes.GetConfig().GetBech32ValidatorAddrPrefix(), + }, + }, + }) + if err != nil { + panic(err) + } + return registry +} diff --git a/chain/exchange/types/fee_validation.go b/chain/exchange/types/fee_validation.go index cc872f22..96f301af 100644 --- a/chain/exchange/types/fee_validation.go +++ b/chain/exchange/types/fee_validation.go @@ -13,13 +13,17 @@ func ValidateMakerWithTakerFee(makerFeeRate, takerFeeRate, relayerFeeShareRate, } if !makerFeeRate.IsNegative() { - return nil - } - - // if makerFeeRate is negative, must hold: takerFeeRate * (1 - relayerFeeShareRate) + makerFeeRate > minimalProtocolFeeRate - if takerFeeRate.Mul(math.LegacyOneDec().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 errors.Wrap(ErrFeeRatesRelation, errMsg) + // if makerFeeRate is positive, must hold: (takerFeeRate + makerFeeRate) * (1 - relayerFeeShareRate) > minimalProtocolFeeRate + if takerFeeRate.Add(makerFeeRate).Mul(math.LegacyOneDec().Sub(relayerFeeShareRate)).LT(minimalProtocolFeeRate) { + errMsg := fmt.Sprintf("if makerFeeRate (%v) is positive, (takerFeeRate = %v + makerFeeRate = %v) * (1 - relayerFeeShareRate = %v) > %v", makerFeeRate.String(), takerFeeRate.String(), makerFeeRate.String(), relayerFeeShareRate.String(), minimalProtocolFeeRate.String()) + return errors.Wrap(ErrFeeRatesRelation, errMsg) + } + } else { + // if makerFeeRate is negative, must hold: takerFeeRate * (1 - relayerFeeShareRate) + makerFeeRate > minimalProtocolFeeRate + if takerFeeRate.Mul(math.LegacyOneDec().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 errors.Wrap(ErrFeeRatesRelation, errMsg) + } } return nil diff --git a/chain/oracle/types/codec.go b/chain/oracle/types/codec.go index 67c93b8d..bcdcebe3 100644 --- a/chain/oracle/types/codec.go +++ b/chain/oracle/types/codec.go @@ -8,6 +8,8 @@ import ( "github.com/cosmos/cosmos-sdk/types/msgservice" authzcdc "github.com/cosmos/cosmos-sdk/x/authz/codec" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + + injcodectypes "github.com/InjectiveLabs/sdk-go/chain/codec/types" ) // RegisterLegacyAminoCodec registers the necessary x/oracle interfaces and concrete types @@ -76,7 +78,7 @@ var ( // defined at the application level. // ModuleCdc = codec.NewAminoCodec(amino) - ModuleCdc = codec.NewProtoCodec(types.NewInterfaceRegistry()) + ModuleCdc = codec.NewProtoCodec(injcodectypes.NewInterfaceRegistry()) ) func init() { diff --git a/chain/tokenfactory/types/genesis.pb.go b/chain/tokenfactory/types/genesis.pb.go index 85a59947..bf6e4160 100644 --- a/chain/tokenfactory/types/genesis.pb.go +++ b/chain/tokenfactory/types/genesis.pb.go @@ -85,6 +85,7 @@ type GenesisDenom struct { AuthorityMetadata DenomAuthorityMetadata `protobuf:"bytes,2,opt,name=authority_metadata,json=authorityMetadata,proto3" json:"authority_metadata" yaml:"authority_metadata"` Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty" yaml:"name"` Symbol string `protobuf:"bytes,4,opt,name=symbol,proto3" json:"symbol,omitempty" yaml:"symbol"` + Decimals uint32 `protobuf:"varint,5,opt,name=decimals,proto3" json:"decimals,omitempty" yaml:"decimals"` } func (m *GenesisDenom) Reset() { *m = GenesisDenom{} } @@ -148,6 +149,13 @@ func (m *GenesisDenom) GetSymbol() string { return "" } +func (m *GenesisDenom) GetDecimals() uint32 { + if m != nil { + return m.Decimals + } + return 0 +} + func init() { proto.RegisterType((*GenesisState)(nil), "injective.tokenfactory.v1beta1.GenesisState") proto.RegisterType((*GenesisDenom)(nil), "injective.tokenfactory.v1beta1.GenesisDenom") @@ -158,34 +166,36 @@ func init() { } var fileDescriptor_a7bae9323951328f = []byte{ - // 428 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0x41, 0x8b, 0xd3, 0x40, - 0x18, 0x86, 0x33, 0xdd, 0x58, 0x70, 0xba, 0xab, 0xee, 0xa0, 0x10, 0x17, 0x4c, 0xd6, 0x08, 0x4b, - 0xc5, 0x9a, 0xd0, 0x0a, 0x3d, 0xf4, 0x66, 0x28, 0x88, 0xa0, 0x20, 0xf1, 0xe6, 0xa5, 0x4c, 0xd2, - 0x31, 0x8d, 0x66, 0x32, 0x25, 0x99, 0x16, 0xf2, 0x0f, 0x3c, 0x7a, 0xf3, 0xea, 0xcf, 0xe9, 0xb1, - 0x47, 0x4f, 0x41, 0xda, 0x8b, 0xe7, 0xfc, 0x02, 0xc9, 0xcc, 0x18, 0x5a, 0x0b, 0x9b, 0xdb, 0xcc, - 0x37, 0xcf, 0xfb, 0x7d, 0xef, 0x3b, 0x33, 0x70, 0x10, 0xa7, 0x5f, 0x48, 0xc8, 0xe3, 0x35, 0x71, - 0x39, 0xfb, 0x4a, 0xd2, 0xcf, 0x38, 0xe4, 0x2c, 0x2b, 0xdc, 0xf5, 0x30, 0x20, 0x1c, 0x0f, 0xdd, - 0x88, 0xa4, 0x24, 0x8f, 0x73, 0x67, 0x99, 0x31, 0xce, 0x90, 0xd9, 0xd0, 0xce, 0x21, 0xed, 0x28, - 0xfa, 0xea, 0x61, 0xc4, 0x22, 0x26, 0x50, 0xb7, 0x5e, 0x49, 0xd5, 0xd5, 0xb8, 0x65, 0x06, 0x5e, - 0xf1, 0x05, 0xcb, 0x62, 0x5e, 0xbc, 0x27, 0x1c, 0xcf, 0x31, 0xc7, 0x4a, 0xf7, 0xa2, 0x45, 0xb7, - 0xc4, 0x19, 0xa6, 0xca, 0x9a, 0xbd, 0x01, 0xf0, 0xfc, 0x8d, 0x34, 0xfb, 0x91, 0x63, 0x4e, 0xd0, - 0x14, 0x76, 0x25, 0x60, 0x80, 0x6b, 0xd0, 0xef, 0x8d, 0x6e, 0x9c, 0xdb, 0xcd, 0x3b, 0x1f, 0x04, - 0xed, 0xe9, 0x9b, 0xd2, 0xd2, 0x7c, 0xa5, 0x45, 0x19, 0xbc, 0xa7, 0xb8, 0xd9, 0x9c, 0xa4, 0x8c, - 0xe6, 0x46, 0xe7, 0xfa, 0xac, 0xdf, 0x1b, 0x0d, 0xda, 0xba, 0x29, 0x2f, 0xd3, 0x5a, 0xe4, 0x3d, - 0xa9, 0x7b, 0x56, 0xa5, 0xf5, 0xa8, 0xc0, 0x34, 0x99, 0xd8, 0xc7, 0x1d, 0x6d, 0xff, 0x42, 0x15, - 0xa6, 0x72, 0xff, 0xa3, 0xd3, 0x44, 0x11, 0x15, 0x74, 0x03, 0xef, 0x08, 0x54, 0x24, 0xb9, 0xeb, - 0x3d, 0xa8, 0x4a, 0xeb, 0x5c, 0x76, 0x12, 0x65, 0xdb, 0x97, 0xc7, 0xe8, 0x1b, 0x80, 0xa8, 0xb9, - 0xcc, 0x19, 0x55, 0xb7, 0x69, 0x74, 0x44, 0xfe, 0x71, 0x9b, 0x63, 0x31, 0xeb, 0xf5, 0xff, 0x6f, - 0xe1, 0x3d, 0x55, 0xde, 0x1f, 0xcb, 0x89, 0xa7, 0xfd, 0x6d, 0xff, 0xf2, 0xe4, 0x05, 0xd1, 0x33, - 0xa8, 0xa7, 0x98, 0x12, 0xe3, 0x4c, 0x38, 0xbe, 0x5f, 0x95, 0x56, 0x4f, 0xea, 0xeb, 0xaa, 0xed, - 0x8b, 0x43, 0xf4, 0x1c, 0x76, 0xf3, 0x82, 0x06, 0x2c, 0x31, 0x74, 0x81, 0x5d, 0x56, 0xa5, 0x75, - 0x21, 0x31, 0x59, 0xb7, 0x7d, 0x05, 0x4c, 0xf4, 0x3f, 0x3f, 0x2d, 0xe0, 0x25, 0x9b, 0x9d, 0x09, - 0xb6, 0x3b, 0x13, 0xfc, 0xde, 0x99, 0xe0, 0xfb, 0xde, 0xd4, 0xb6, 0x7b, 0x53, 0xfb, 0xb5, 0x37, - 0xb5, 0x4f, 0x7e, 0x14, 0xf3, 0xc5, 0x2a, 0x70, 0x42, 0x46, 0xdd, 0xb7, 0xff, 0x72, 0xbe, 0xc3, - 0x41, 0xee, 0x36, 0xa9, 0x5f, 0x86, 0x2c, 0x23, 0x87, 0xdb, 0x05, 0x8e, 0x53, 0x97, 0xb2, 0xf9, - 0x2a, 0x21, 0xf9, 0xf1, 0x0f, 0xe3, 0xc5, 0x92, 0xe4, 0x41, 0x57, 0xfc, 0xac, 0x57, 0x7f, 0x03, - 0x00, 0x00, 0xff, 0xff, 0x0c, 0x9b, 0x79, 0xd8, 0x24, 0x03, 0x00, 0x00, + // 455 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0x41, 0x6f, 0xd3, 0x30, + 0x14, 0xc7, 0xeb, 0xae, 0xab, 0xc0, 0x5d, 0x19, 0x33, 0x20, 0x85, 0x49, 0x24, 0xc5, 0x48, 0x53, + 0x11, 0x23, 0xd6, 0x86, 0xb4, 0xc3, 0x6e, 0x44, 0x95, 0x10, 0x12, 0x48, 0xc8, 0xdc, 0xb8, 0x4c, + 0x4e, 0x6a, 0xda, 0x40, 0x1c, 0x57, 0xb1, 0x3b, 0x29, 0xdf, 0x80, 0x23, 0x1f, 0x81, 0x8f, 0xd3, + 0xe3, 0x8e, 0x9c, 0x22, 0xd4, 0x5e, 0x38, 0xe7, 0x13, 0xa0, 0xda, 0x5e, 0xb4, 0x51, 0x69, 0xbd, + 0xd9, 0xef, 0xfd, 0xfe, 0xef, 0xfd, 0xdf, 0xb3, 0xe1, 0x71, 0x9a, 0x7f, 0xe3, 0x89, 0x4e, 0x2f, + 0x39, 0xd1, 0xf2, 0x3b, 0xcf, 0xbf, 0xb2, 0x44, 0xcb, 0xa2, 0x24, 0x97, 0x27, 0x31, 0xd7, 0xec, + 0x84, 0x4c, 0x78, 0xce, 0x55, 0xaa, 0xc2, 0x59, 0x21, 0xb5, 0x44, 0x7e, 0x43, 0x87, 0x37, 0xe9, + 0xd0, 0xd1, 0x87, 0x8f, 0x27, 0x72, 0x22, 0x0d, 0x4a, 0xd6, 0x27, 0xab, 0x3a, 0x3c, 0xdb, 0xd2, + 0x83, 0xcd, 0xf5, 0x54, 0x16, 0xa9, 0x2e, 0x3f, 0x72, 0xcd, 0xc6, 0x4c, 0x33, 0xa7, 0x7b, 0xb5, + 0x45, 0x37, 0x63, 0x05, 0x13, 0xce, 0x1a, 0x5e, 0x00, 0xb8, 0xf7, 0xce, 0x9a, 0xfd, 0xac, 0x99, + 0xe6, 0x68, 0x04, 0xbb, 0x16, 0xf0, 0xc0, 0x00, 0x0c, 0x7b, 0xa7, 0x47, 0xe1, 0xdd, 0xe6, 0xc3, + 0x4f, 0x86, 0x8e, 0x3a, 0x8b, 0x2a, 0x68, 0x51, 0xa7, 0x45, 0x05, 0x7c, 0xe0, 0xb8, 0x8b, 0x31, + 0xcf, 0xa5, 0x50, 0x5e, 0x7b, 0xb0, 0x33, 0xec, 0x9d, 0x1e, 0x6f, 0xab, 0xe6, 0xbc, 0x8c, 0xd6, + 0xa2, 0xe8, 0xd9, 0xba, 0x66, 0x5d, 0x05, 0x4f, 0x4a, 0x26, 0xb2, 0x73, 0x7c, 0xbb, 0x22, 0xa6, + 0x7d, 0x17, 0x18, 0xd9, 0xfb, 0xa2, 0xdd, 0x8c, 0x62, 0x22, 0xe8, 0x08, 0xee, 0x1a, 0xd4, 0x4c, + 0x72, 0x3f, 0x7a, 0x58, 0x57, 0xc1, 0x9e, 0xad, 0x64, 0xc2, 0x98, 0xda, 0x34, 0xfa, 0x01, 0x20, + 0x6a, 0x96, 0x79, 0x21, 0xdc, 0x36, 0xbd, 0xb6, 0x99, 0xff, 0x6c, 0x9b, 0x63, 0xd3, 0xeb, 0xed, + 0xff, 0x6f, 0x11, 0x3d, 0x77, 0xde, 0x9f, 0xda, 0x8e, 0x9b, 0xf5, 0x31, 0x3d, 0xd8, 0x78, 0x41, + 0xf4, 0x02, 0x76, 0x72, 0x26, 0xb8, 0xb7, 0x63, 0x1c, 0xef, 0xd7, 0x55, 0xd0, 0xb3, 0xfa, 0x75, + 0x14, 0x53, 0x93, 0x44, 0x2f, 0x61, 0x57, 0x95, 0x22, 0x96, 0x99, 0xd7, 0x31, 0xd8, 0x41, 0x5d, + 0x05, 0x7d, 0x8b, 0xd9, 0x38, 0xa6, 0x0e, 0x40, 0x04, 0xde, 0x1b, 0xf3, 0x24, 0x15, 0x2c, 0x53, + 0xde, 0xee, 0x00, 0x0c, 0xfb, 0xd1, 0xa3, 0xba, 0x0a, 0xf6, 0xaf, 0xb7, 0x60, 0x33, 0x98, 0x36, + 0xd0, 0x79, 0xe7, 0xef, 0xaf, 0x00, 0x44, 0xd9, 0x62, 0xe9, 0x83, 0xab, 0xa5, 0x0f, 0xfe, 0x2c, + 0x7d, 0xf0, 0x73, 0xe5, 0xb7, 0xae, 0x56, 0x7e, 0xeb, 0xf7, 0xca, 0x6f, 0x7d, 0xa1, 0x93, 0x54, + 0x4f, 0xe7, 0x71, 0x98, 0x48, 0x41, 0xde, 0x5f, 0x2f, 0xe6, 0x03, 0x8b, 0x15, 0x69, 0xd6, 0xf4, + 0x3a, 0x91, 0x05, 0xbf, 0x79, 0x9d, 0xb2, 0x34, 0x27, 0x42, 0x8e, 0xe7, 0x19, 0x57, 0xb7, 0xbf, + 0xa4, 0x2e, 0x67, 0x5c, 0xc5, 0x5d, 0xf3, 0x15, 0xdf, 0xfc, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xb1, + 0x74, 0x8d, 0xe9, 0x55, 0x03, 0x00, 0x00, } func (this *GenesisDenom) Equal(that interface{}) bool { @@ -219,6 +229,9 @@ func (this *GenesisDenom) Equal(that interface{}) bool { if this.Symbol != that1.Symbol { return false } + if this.Decimals != that1.Decimals { + return false + } return true } func (m *GenesisState) Marshal() (dAtA []byte, err error) { @@ -288,6 +301,11 @@ func (m *GenesisDenom) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.Decimals != 0 { + i = encodeVarintGenesis(dAtA, i, uint64(m.Decimals)) + i-- + dAtA[i] = 0x28 + } if len(m.Symbol) > 0 { i -= len(m.Symbol) copy(dAtA[i:], m.Symbol) @@ -370,6 +388,9 @@ func (m *GenesisDenom) Size() (n int) { if l > 0 { n += 1 + l + sovGenesis(uint64(l)) } + if m.Decimals != 0 { + n += 1 + sovGenesis(uint64(m.Decimals)) + } return n } @@ -654,6 +675,25 @@ func (m *GenesisDenom) Unmarshal(dAtA []byte) error { } m.Symbol = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Decimals", wireType) + } + m.Decimals = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Decimals |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) diff --git a/chain/tokenfactory/types/msgs.go b/chain/tokenfactory/types/msgs.go index 4b1749ac..c3a62338 100644 --- a/chain/tokenfactory/types/msgs.go +++ b/chain/tokenfactory/types/msgs.go @@ -53,12 +53,13 @@ func (m MsgUpdateParams) GetSigners() []sdk.AccAddress { } // NewMsgCreateDenom creates a msg to create a new denom -func NewMsgCreateDenom(sender, subdenom, name, symbol string) *MsgCreateDenom { +func NewMsgCreateDenom(sender, subdenom, name, symbol string, decimals uint32) *MsgCreateDenom { return &MsgCreateDenom{ Sender: sender, Subdenom: subdenom, Name: name, Symbol: symbol, + Decimals: decimals, } } diff --git a/chain/tokenfactory/types/tx.pb.go b/chain/tokenfactory/types/tx.pb.go index c4002d82..10dc706d 100644 --- a/chain/tokenfactory/types/tx.pb.go +++ b/chain/tokenfactory/types/tx.pb.go @@ -48,6 +48,7 @@ type MsgCreateDenom struct { Subdenom string `protobuf:"bytes,2,opt,name=subdenom,proto3" json:"subdenom,omitempty" yaml:"subdenom"` Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty" yaml:"name"` Symbol string `protobuf:"bytes,4,opt,name=symbol,proto3" json:"symbol,omitempty" yaml:"symbol"` + Decimals uint32 `protobuf:"varint,5,opt,name=decimals,proto3" json:"decimals,omitempty" yaml:"decimals"` } func (m *MsgCreateDenom) Reset() { *m = MsgCreateDenom{} } @@ -111,6 +112,13 @@ func (m *MsgCreateDenom) GetSymbol() string { return "" } +func (m *MsgCreateDenom) GetDecimals() uint32 { + if m != nil { + return m.Decimals + } + return 0 +} + // MsgCreateDenomResponse is the return value of MsgCreateDenom // It returns the full string of the newly created denom type MsgCreateDenomResponse struct { @@ -641,61 +649,63 @@ func init() { } var fileDescriptor_b0b26fd7f19ce3c4 = []byte{ - // 864 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0xcf, 0x6f, 0xe3, 0x44, - 0x14, 0x8e, 0xd9, 0x34, 0xb4, 0xd3, 0x5d, 0xd2, 0x7a, 0xcb, 0x36, 0xf5, 0x6a, 0x1d, 0xe4, 0x45, - 0xbb, 0x6c, 0x57, 0xb1, 0x95, 0xad, 0xb4, 0x2b, 0xc2, 0x69, 0xd3, 0x1e, 0x40, 0x22, 0x12, 0x72, - 0xe1, 0x82, 0x90, 0xca, 0x38, 0x1e, 0x1c, 0xd3, 0x78, 0x26, 0xf2, 0x8c, 0xdb, 0xe6, 0x86, 0x10, - 0x27, 0x4e, 0xfc, 0x1f, 0x5c, 0x7a, 0xe0, 0xce, 0xb5, 0x12, 0x07, 0x2a, 0x4e, 0x9c, 0x22, 0xd4, - 0x1e, 0x7a, 0x26, 0x7f, 0x01, 0x9a, 0x1f, 0x76, 0x9c, 0x84, 0x50, 0x87, 0xd3, 0x5e, 0x5a, 0xcf, - 0xbc, 0xef, 0x7b, 0xef, 0x7d, 0x6f, 0xde, 0x7b, 0x0a, 0x78, 0x1a, 0xe2, 0x6f, 0x51, 0x97, 0x85, - 0x27, 0xc8, 0x61, 0xe4, 0x18, 0xe1, 0x6f, 0x60, 0x97, 0x91, 0x78, 0xe8, 0x9c, 0x34, 0x3d, 0xc4, - 0x60, 0xd3, 0x61, 0x67, 0xf6, 0x20, 0x26, 0x8c, 0xe8, 0x66, 0x06, 0xb4, 0xf3, 0x40, 0x5b, 0x01, - 0x8d, 0xad, 0x80, 0x04, 0x44, 0x40, 0x1d, 0xfe, 0x25, 0x59, 0x86, 0xd9, 0x25, 0x34, 0x22, 0xd4, - 0xf1, 0x20, 0x45, 0x99, 0xcf, 0x2e, 0x09, 0xf1, 0x9c, 0x1d, 0x1f, 0x67, 0x76, 0x7e, 0x50, 0xf6, - 0x6d, 0x65, 0x8f, 0x68, 0xe0, 0x9c, 0x34, 0xf9, 0x3f, 0x65, 0xd8, 0x91, 0x86, 0x23, 0x19, 0x51, - 0x1e, 0x94, 0xe9, 0xf9, 0x2d, 0x92, 0x06, 0x30, 0x86, 0x51, 0x0a, 0xde, 0x84, 0x51, 0x88, 0x89, - 0x23, 0xfe, 0xca, 0x2b, 0xeb, 0x6f, 0x0d, 0xbc, 0xd3, 0xa1, 0xc1, 0x7e, 0x8c, 0x20, 0x43, 0x07, - 0x08, 0x93, 0x48, 0x7f, 0x06, 0x2a, 0x14, 0x61, 0x1f, 0xc5, 0x35, 0xed, 0x3d, 0xed, 0x83, 0xb5, - 0xf6, 0xe6, 0x78, 0x54, 0xbf, 0x37, 0x84, 0x51, 0xbf, 0x65, 0xc9, 0x7b, 0xcb, 0x55, 0x00, 0xdd, - 0x01, 0xab, 0x34, 0xf1, 0x7c, 0x4e, 0xab, 0xbd, 0x25, 0xc0, 0xf7, 0xc7, 0xa3, 0x7a, 0x55, 0x81, - 0x95, 0xc5, 0x72, 0x33, 0x90, 0xfe, 0x18, 0x94, 0x31, 0x8c, 0x50, 0xed, 0x8e, 0x00, 0x57, 0xc7, - 0xa3, 0xfa, 0xba, 0x04, 0xf3, 0x5b, 0xcb, 0x15, 0x46, 0x91, 0xc0, 0x30, 0xf2, 0x48, 0xbf, 0x56, - 0x9e, 0x4b, 0x40, 0xdc, 0xf3, 0x04, 0xc4, 0x47, 0x6b, 0xef, 0xfb, 0x9b, 0xf3, 0x5d, 0x95, 0xcd, - 0x8f, 0x37, 0xe7, 0xbb, 0x8f, 0x17, 0x94, 0xa3, 0x2b, 0xf4, 0x35, 0x64, 0x3e, 0x5f, 0x81, 0x07, - 0xd3, 0x92, 0x5d, 0x44, 0x07, 0x04, 0x53, 0xa4, 0xb7, 0x41, 0x15, 0xa3, 0xd3, 0x23, 0x41, 0x3d, - 0x92, 0xb2, 0x64, 0x0d, 0x8c, 0xf1, 0xa8, 0xfe, 0x40, 0x65, 0x3a, 0x0d, 0xb0, 0xdc, 0x7b, 0x18, - 0x9d, 0x7e, 0xce, 0x2f, 0x84, 0x2f, 0xeb, 0x67, 0x0d, 0xbc, 0xdd, 0xa1, 0x41, 0x27, 0xc4, 0x6c, - 0x99, 0x52, 0x7e, 0x0c, 0x2a, 0x30, 0x22, 0x09, 0x66, 0xa2, 0x90, 0xeb, 0x2f, 0x76, 0x6c, 0xf5, - 0xce, 0xbc, 0x9b, 0xd2, 0xc6, 0xb3, 0xf7, 0x49, 0x88, 0xdb, 0xef, 0x5e, 0x8c, 0xea, 0xa5, 0x89, - 0x27, 0x49, 0xb3, 0x5c, 0xc5, 0x6f, 0x3d, 0x9f, 0xa9, 0xc9, 0xc3, 0x05, 0x35, 0x89, 0x42, 0xcc, - 0xac, 0x4d, 0x50, 0x55, 0xc9, 0xa6, 0x45, 0x48, 0x05, 0xb4, 0x93, 0x18, 0xbf, 0xd9, 0x02, 0xbc, - 0x24, 0xc6, 0x4a, 0x00, 0x4f, 0x36, 0x13, 0xf0, 0x9b, 0xea, 0xe9, 0x1e, 0xc4, 0x01, 0x7a, 0xed, - 0x47, 0xe1, 0x52, 0x3a, 0x9e, 0x80, 0x95, 0x7c, 0x43, 0x6f, 0x8c, 0x47, 0xf5, 0xbb, 0x12, 0xa9, - 0xde, 0x5b, 0x9a, 0xf5, 0x26, 0x58, 0xe3, 0xad, 0x00, 0xb9, 0x7f, 0xd5, 0xcf, 0x5b, 0xe3, 0x51, - 0x7d, 0x63, 0xd2, 0x25, 0xc2, 0x64, 0xb9, 0xab, 0x18, 0x9d, 0x8a, 0x2c, 0x8a, 0x77, 0xab, 0xc8, - 0xbc, 0x21, 0xf9, 0x35, 0xd9, 0xad, 0x13, 0x31, 0x99, 0xce, 0xdf, 0x35, 0x70, 0xbf, 0x43, 0x83, - 0x43, 0xc4, 0x44, 0xe7, 0x75, 0x10, 0x83, 0x3e, 0x64, 0x70, 0x19, 0xb1, 0x2e, 0x58, 0x8d, 0x14, - 0x4d, 0x3d, 0xdb, 0xa3, 0xc9, 0xb3, 0xe1, 0xe3, 0xec, 0xd9, 0x52, 0xdf, 0xed, 0x6d, 0xf5, 0x74, - 0x6a, 0xc6, 0x53, 0xb2, 0xe5, 0x66, 0x7e, 0x5a, 0x1f, 0xce, 0xa8, 0x7c, 0xb6, 0x40, 0x25, 0x45, - 0x4c, 0x0e, 0x64, 0x23, 0xf3, 0xf2, 0x08, 0x3c, 0xfc, 0x17, 0x41, 0x99, 0xe0, 0x0b, 0x4d, 0x3c, - 0xf6, 0x17, 0x03, 0x1f, 0x32, 0xf4, 0x99, 0xd8, 0x6c, 0xfa, 0x4b, 0xb0, 0x06, 0x13, 0xd6, 0x23, - 0x71, 0xc8, 0x86, 0x4a, 0x6f, 0xed, 0x8f, 0x5f, 0x1a, 0x5b, 0x4a, 0xc5, 0x6b, 0xdf, 0x8f, 0x11, - 0xa5, 0x87, 0x2c, 0x0e, 0x71, 0xe0, 0x4e, 0xa0, 0xfa, 0x01, 0xa8, 0xc8, 0xdd, 0xa8, 0x74, 0x3f, - 0xb1, 0xff, 0x7b, 0xe7, 0xdb, 0x32, 0x5e, 0xbb, 0xcc, 0x0b, 0xe0, 0x2a, 0x6e, 0xeb, 0x15, 0xd7, - 0x3a, 0xf1, 0xca, 0xe5, 0xbe, 0xbf, 0x40, 0x6e, 0x22, 0xb2, 0x6e, 0x48, 0xa2, 0xb5, 0x03, 0xb6, - 0x67, 0x94, 0xa4, 0x2a, 0x5f, 0xfc, 0xba, 0x02, 0xee, 0x74, 0x68, 0xa0, 0x27, 0x60, 0x3d, 0xbf, - 0x96, 0xed, 0xdb, 0x12, 0x9c, 0xde, 0x69, 0xc6, 0xcb, 0xe5, 0xf0, 0xd9, 0x0e, 0xfc, 0x1a, 0x94, - 0xc5, 0xee, 0x7a, 0x5a, 0x80, 0xcf, 0x81, 0x86, 0x53, 0x10, 0x98, 0x8f, 0x20, 0x96, 0x4b, 0x91, - 0x08, 0x1c, 0x58, 0x28, 0x42, 0x7e, 0x03, 0x88, 0xd2, 0xe5, 0xa6, 0xbf, 0x50, 0xe9, 0x26, 0xf8, - 0x62, 0xa5, 0x9b, 0x1f, 0x48, 0xfd, 0x07, 0x0d, 0x6c, 0xcc, 0x4d, 0xe3, 0x5e, 0x01, 0x67, 0xb3, - 0x24, 0xe3, 0xa3, 0xff, 0x41, 0xca, 0xd2, 0x38, 0x03, 0x77, 0xa7, 0x46, 0xa4, 0x48, 0xf9, 0xf2, - 0x04, 0xe3, 0xd5, 0x92, 0x84, 0x34, 0xb2, 0xb1, 0xf2, 0xdd, 0xcd, 0xf9, 0xae, 0xd6, 0xee, 0x5f, - 0x5c, 0x99, 0xda, 0xe5, 0x95, 0xa9, 0xfd, 0x75, 0x65, 0x6a, 0x3f, 0x5d, 0x9b, 0xa5, 0xcb, 0x6b, - 0xb3, 0xf4, 0xe7, 0xb5, 0x59, 0xfa, 0xd2, 0x0d, 0x42, 0xd6, 0x4b, 0x3c, 0xbb, 0x4b, 0x22, 0xe7, - 0x93, 0x34, 0xc6, 0xa7, 0xd0, 0xa3, 0x4e, 0x16, 0xb1, 0xd1, 0x25, 0x31, 0xca, 0x1f, 0x7b, 0x30, - 0xc4, 0x4e, 0x44, 0xfc, 0xa4, 0x8f, 0xe8, 0xf4, 0x48, 0xb1, 0xe1, 0x00, 0x51, 0xaf, 0x22, 0x7e, - 0xc9, 0xec, 0xfd, 0x13, 0x00, 0x00, 0xff, 0xff, 0x3b, 0xfb, 0x43, 0xd6, 0xde, 0x09, 0x00, 0x00, + // 888 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0xbd, 0x6f, 0xdb, 0x46, + 0x14, 0x37, 0x13, 0x49, 0xb5, 0xcf, 0x71, 0x65, 0x33, 0x6e, 0x2c, 0x33, 0x08, 0x15, 0x30, 0x45, + 0x3e, 0x1c, 0x88, 0x84, 0x62, 0x20, 0x41, 0xd5, 0x29, 0x4a, 0x86, 0x16, 0xa8, 0x80, 0x82, 0x69, + 0x97, 0xa2, 0x80, 0x7b, 0x24, 0xaf, 0x14, 0x6b, 0xf1, 0x4e, 0xe0, 0x1d, 0xed, 0x68, 0x2b, 0x8a, + 0x4e, 0x9d, 0xfa, 0x37, 0x74, 0xed, 0xe2, 0xa1, 0x7b, 0x57, 0x03, 0x1d, 0x1a, 0x74, 0xea, 0x24, + 0x14, 0xf6, 0xe0, 0x5d, 0x7f, 0x41, 0x71, 0x1f, 0xa4, 0x28, 0xa9, 0x6a, 0xa8, 0x4e, 0x5d, 0x24, + 0xf2, 0xde, 0xef, 0x7d, 0xfc, 0x7e, 0xf7, 0xde, 0x93, 0xc0, 0x83, 0x08, 0x7f, 0x83, 0x7c, 0x16, + 0x9d, 0x20, 0x87, 0x91, 0x63, 0x84, 0xbf, 0x86, 0x3e, 0x23, 0xc9, 0xc8, 0x39, 0x69, 0x7b, 0x88, + 0xc1, 0xb6, 0xc3, 0x5e, 0xdb, 0xc3, 0x84, 0x30, 0xa2, 0x9b, 0x39, 0xd0, 0x2e, 0x02, 0x6d, 0x05, + 0x34, 0x76, 0x43, 0x12, 0x12, 0x01, 0x75, 0xf8, 0x93, 0xf4, 0x32, 0x4c, 0x9f, 0xd0, 0x98, 0x50, + 0xc7, 0x83, 0x14, 0xe5, 0x31, 0x7d, 0x12, 0xe1, 0x05, 0x3b, 0x3e, 0xce, 0xed, 0xfc, 0x45, 0xd9, + 0xf7, 0x94, 0x3d, 0xa6, 0xa1, 0x73, 0xd2, 0xe6, 0x5f, 0xca, 0xb0, 0x2f, 0x0d, 0x47, 0x32, 0xa3, + 0x7c, 0x51, 0xa6, 0xc7, 0x6f, 0xa1, 0x34, 0x84, 0x09, 0x8c, 0x33, 0xf0, 0x0e, 0x8c, 0x23, 0x4c, + 0x1c, 0xf1, 0x29, 0x8f, 0xac, 0x9f, 0xae, 0x81, 0x77, 0x7b, 0x34, 0x7c, 0x91, 0x20, 0xc8, 0xd0, + 0x4b, 0x84, 0x49, 0xac, 0x3f, 0x02, 0x35, 0x8a, 0x70, 0x80, 0x92, 0x86, 0x76, 0x57, 0x7b, 0xb8, + 0xd1, 0xdd, 0x99, 0x8c, 0x9b, 0x5b, 0x23, 0x18, 0x0f, 0x3a, 0x96, 0x3c, 0xb7, 0x5c, 0x05, 0xd0, + 0x1d, 0xb0, 0x4e, 0x53, 0x2f, 0xe0, 0x6e, 0x8d, 0x6b, 0x02, 0x7c, 0x73, 0x32, 0x6e, 0xd6, 0x15, + 0x58, 0x59, 0x2c, 0x37, 0x07, 0xe9, 0xf7, 0x40, 0x05, 0xc3, 0x18, 0x35, 0xae, 0x0b, 0x70, 0x7d, + 0x32, 0x6e, 0x6e, 0x4a, 0x30, 0x3f, 0xb5, 0x5c, 0x61, 0x14, 0x05, 0x8c, 0x62, 0x8f, 0x0c, 0x1a, + 0x95, 0x85, 0x02, 0xc4, 0x39, 0x2f, 0x40, 0x3c, 0xf0, 0x02, 0x02, 0xe4, 0x47, 0x31, 0x1c, 0xd0, + 0x46, 0xf5, 0xae, 0xf6, 0x70, 0xab, 0x58, 0x40, 0x66, 0xb1, 0xdc, 0x1c, 0xd4, 0x39, 0xfc, 0xee, + 0xea, 0xec, 0x40, 0x95, 0xff, 0xc3, 0xd5, 0xd9, 0xc1, 0xbd, 0x25, 0xfa, 0xf9, 0x42, 0x90, 0x96, + 0x24, 0xf0, 0x25, 0xb8, 0x35, 0xab, 0x91, 0x8b, 0xe8, 0x90, 0x60, 0x8a, 0xf4, 0x2e, 0xa8, 0x63, + 0x74, 0x7a, 0x24, 0x5c, 0x8f, 0xa4, 0x0e, 0x52, 0x34, 0x63, 0x32, 0x6e, 0xde, 0x52, 0xd4, 0x66, + 0x01, 0x96, 0xbb, 0x85, 0xd1, 0xe9, 0x67, 0xfc, 0x40, 0xc4, 0xb2, 0x7e, 0xd6, 0xc0, 0x3b, 0x3d, + 0x1a, 0xf6, 0x22, 0xcc, 0x56, 0xd1, 0xfe, 0x23, 0x50, 0x83, 0x31, 0x49, 0x31, 0x13, 0xca, 0x6f, + 0x3e, 0xd9, 0xb7, 0x55, 0x63, 0xf0, 0xf6, 0xcb, 0x3a, 0xd5, 0x7e, 0x41, 0x22, 0xdc, 0x7d, 0xef, + 0x7c, 0xdc, 0x5c, 0x9b, 0x46, 0x92, 0x6e, 0x96, 0xab, 0xfc, 0x3b, 0x8f, 0xe7, 0x34, 0xb9, 0xbd, + 0x44, 0x93, 0x38, 0xc2, 0xcc, 0xda, 0x01, 0x75, 0x55, 0x6c, 0x26, 0x42, 0x46, 0xa0, 0x9b, 0x26, + 0xf8, 0xff, 0x4d, 0xc0, 0x4b, 0x13, 0xac, 0x08, 0xf0, 0x62, 0x73, 0x02, 0xbf, 0x69, 0x72, 0x08, + 0xfa, 0x10, 0x87, 0xe8, 0x79, 0x10, 0x47, 0x2b, 0xf1, 0xb8, 0x0f, 0xaa, 0xc5, 0x09, 0xd8, 0x9e, + 0x8c, 0x9b, 0x37, 0xb2, 0x06, 0x14, 0xf7, 0x2d, 0xcd, 0x7a, 0x1b, 0x6c, 0xf0, 0x56, 0x80, 0x3c, + 0xbe, 0x1a, 0x80, 0xdd, 0xc9, 0xb8, 0xb9, 0x3d, 0xed, 0x12, 0x61, 0xb2, 0xdc, 0x75, 0x8c, 0x4e, + 0x45, 0x15, 0xe5, 0xbb, 0x55, 0x54, 0xde, 0x92, 0xfe, 0x0d, 0xd9, 0xad, 0x53, 0x32, 0x39, 0xcf, + 0xdf, 0x35, 0x70, 0xb3, 0x47, 0xc3, 0x57, 0x88, 0x89, 0xce, 0xeb, 0x21, 0x06, 0x03, 0xc8, 0xe0, + 0x2a, 0x64, 0x5d, 0xb0, 0x1e, 0x2b, 0x37, 0x75, 0x6d, 0x77, 0xa6, 0xd7, 0x86, 0x8f, 0xf3, 0x6b, + 0xcb, 0x62, 0x77, 0xf7, 0xd4, 0xd5, 0xa9, 0x99, 0xcc, 0x9c, 0x2d, 0x37, 0x8f, 0xd3, 0xf9, 0x60, + 0x8e, 0xe5, 0xa3, 0x25, 0x2c, 0x29, 0x62, 0x72, 0x20, 0x5b, 0x79, 0x94, 0x3b, 0xe0, 0xf6, 0x3f, + 0x10, 0xca, 0x09, 0x9f, 0x6b, 0xe2, 0xb2, 0x3f, 0x1f, 0x06, 0x90, 0xa1, 0x4f, 0xc5, 0x2a, 0xd4, + 0x9f, 0x82, 0x0d, 0x98, 0xb2, 0x3e, 0x49, 0x22, 0x36, 0x52, 0x7c, 0x1b, 0x7f, 0xfc, 0xd2, 0xda, + 0x55, 0x2c, 0x9e, 0x07, 0x41, 0x82, 0x28, 0x7d, 0xc5, 0x92, 0x08, 0x87, 0xee, 0x14, 0xaa, 0xbf, + 0x04, 0x35, 0xb9, 0x4c, 0x15, 0xef, 0xfb, 0xf6, 0xbf, 0xff, 0x48, 0xd8, 0x32, 0x5f, 0xb7, 0xc2, + 0x05, 0x70, 0x95, 0x6f, 0xe7, 0x19, 0xe7, 0x3a, 0x8d, 0xca, 0xe9, 0xbe, 0xbf, 0x84, 0x6e, 0x2a, + 0xaa, 0x6e, 0x49, 0x47, 0x6b, 0x1f, 0xec, 0xcd, 0x31, 0xc9, 0x58, 0x3e, 0xf9, 0xb5, 0x0a, 0xae, + 0xf7, 0x68, 0xa8, 0xa7, 0x60, 0xb3, 0xb8, 0xc7, 0xed, 0xb7, 0x15, 0x38, 0xbb, 0xd3, 0x8c, 0xa7, + 0xab, 0xe1, 0xf3, 0x1d, 0xf8, 0x15, 0xa8, 0x88, 0xdd, 0xf5, 0xa0, 0x84, 0x3f, 0x07, 0x1a, 0x4e, + 0x49, 0x60, 0x31, 0x83, 0x58, 0x2e, 0x65, 0x32, 0x70, 0x60, 0xa9, 0x0c, 0xc5, 0x0d, 0x20, 0xa4, + 0x2b, 0x4c, 0x7f, 0x29, 0xe9, 0xa6, 0xf8, 0x72, 0xd2, 0x2d, 0x0e, 0xa4, 0xfe, 0xbd, 0x06, 0xb6, + 0x17, 0xa6, 0xf1, 0xb0, 0x44, 0xb0, 0x79, 0x27, 0xe3, 0xc3, 0xff, 0xe0, 0x94, 0x97, 0xf1, 0x1a, + 0xdc, 0x98, 0x19, 0x91, 0x32, 0xf2, 0x15, 0x1d, 0x8c, 0x67, 0x2b, 0x3a, 0x64, 0x99, 0x8d, 0xea, + 0xb7, 0x57, 0x67, 0x07, 0x5a, 0x77, 0x70, 0x7e, 0x61, 0x6a, 0x6f, 0x2e, 0x4c, 0xed, 0xaf, 0x0b, + 0x53, 0xfb, 0xf1, 0xd2, 0x5c, 0x7b, 0x73, 0x69, 0xae, 0xfd, 0x79, 0x69, 0xae, 0x7d, 0xe1, 0x86, + 0x11, 0xeb, 0xa7, 0x9e, 0xed, 0x93, 0xd8, 0xf9, 0x38, 0xcb, 0xf1, 0x09, 0xf4, 0xa8, 0x93, 0x67, + 0x6c, 0xf9, 0x24, 0x41, 0xc5, 0xd7, 0x3e, 0x8c, 0xb0, 0x13, 0x93, 0x20, 0x1d, 0x20, 0x3a, 0x3b, + 0x52, 0x6c, 0x34, 0x44, 0xd4, 0xab, 0x89, 0xbf, 0x3e, 0x87, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, + 0xf0, 0x22, 0x4e, 0x61, 0x0f, 0x0a, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -978,6 +988,11 @@ func (m *MsgCreateDenom) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.Decimals != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Decimals)) + i-- + dAtA[i] = 0x28 + } if len(m.Symbol) > 0 { i -= len(m.Symbol) copy(dAtA[i:], m.Symbol) @@ -1391,6 +1406,9 @@ func (m *MsgCreateDenom) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } + if m.Decimals != 0 { + n += 1 + sovTx(uint64(m.Decimals)) + } return n } @@ -1696,6 +1714,25 @@ func (m *MsgCreateDenom) Unmarshal(dAtA []byte) error { } m.Symbol = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Decimals", wireType) + } + m.Decimals = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Decimals |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) diff --git a/chain/wasmx/types/util.go b/chain/wasmx/types/util.go index e23b04eb..49eb4491 100644 --- a/chain/wasmx/types/util.go +++ b/chain/wasmx/types/util.go @@ -2,10 +2,10 @@ package types import ( "github.com/CosmWasm/wasmd/x/wasm/types" - types2 "github.com/cosmos/cosmos-sdk/types" + sdktypes "github.com/cosmos/cosmos-sdk/types" ) -func IsAllowed(accessConfig types.AccessConfig, actor types2.AccAddress) bool { +func IsAllowed(accessConfig types.AccessConfig, actor sdktypes.AccAddress) bool { if accessConfig.Permission == types.AccessTypeAnyOfAddresses { for _, v := range accessConfig.Addresses { if v == actor.String() { diff --git a/client/metadata/assets/devnet-1.ini b/client/metadata/assets/devnet-1.ini index 62979d72..c49c4e14 100644 --- a/client/metadata/assets/devnet-1.ini +++ b/client/metadata/assets/devnet-1.ini @@ -164,10 +164,46 @@ min_display_quantity_tick_size = 0.00001 description = 'Devnet Spot PROJ/INJ' base = 18 quote = 18 -min_price_tick_size = 0.001 -min_display_price_tick_size = 0.001 -min_quantity_tick_size = 10000000000000 -min_display_quantity_tick_size = 0.00001 +min_price_tick_size = 0.00000001 +min_display_price_tick_size = 0.00000001 +min_quantity_tick_size = 1000000000000000000000 +min_display_quantity_tick_size = 1000 + +[0x2d3b8d8833dda54a717adea9119134556848105fd6028e9a4a526e4e5a122a57] +description = 'Devnet Spot KIRA/INJ' +base = 6 +quote = 18 +min_price_tick_size = 10000 +min_display_price_tick_size = 0.00000001 +min_quantity_tick_size = 1000000000 +min_display_quantity_tick_size = 1000 + +[0x42edf70cc37e155e9b9f178e04e18999bc8c404bd7b638cc4cbf41da8ef45a21] +description = 'Devnet Spot QUNT/INJ' +base = 6 +quote = 18 +min_price_tick_size = 10000 +min_display_price_tick_size = 0.00000001 +min_quantity_tick_size = 1000000000 +min_display_quantity_tick_size = 1000 + +[0xc8fafa1fcab27e16da20e98b4dc9dda45320418c27db80663b21edac72f3b597] +description = 'Devnet Spot HDRO/INJ' +base = 6 +quote = 18 +min_price_tick_size = 1000000 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 1 + +[0xd166688623206f9931307285678e9ff17cecd80a27d7b781dd88cecfba3b1839] +description = 'Devnet Spot BLACK/INJ' +base = 6 +quote = 18 +min_price_tick_size = 1000000 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 1 [0x1422a13427d5eabd4d8de7907c8340f7e58cb15553a9fd4ad5c90406561886f9] description = 'Devnet Derivative COMP/USDT PERP' @@ -259,78 +295,1450 @@ min_display_price_tick_size = 0.0000000001 min_quantity_tick_size = 0.1 min_display_quantity_tick_size = 0.1 +[$ALIEN] +peggy_denom = factory/inj1mly2ykhf6f9tdj58pvndjf4q8dzdl4myjqm9t6/$alien +decimals = 6 + +[$AOI] +peggy_denom = factory/inj169ed97mcnf8ay6rgvskn95n6tyt46uwvy5qgs0/$aoi +decimals = 6 + +[$Babykira] +peggy_denom = factory/inj13vau2mgx6mg7ams9nngjhyng58tl9zyw0n8s93/$babykira +decimals = 6 + +[1INCH] +peggy_denom = peggy0x111111111117dC0aa78b770fA6A738034120C302 +decimals = 18 + [AAVE] peggy_denom = peggy0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9 decimals = 18 +[ALPHA] +peggy_denom = inj1zwnsemwrpve3wrrg0njj89w6mt5rmj9ydkc46u +decimals = 8 + +[ANDR] +peggy_denom = ibc/61FA42C3F0B0F8768ED2CE380EDD3BE0E4CB7E67688F81F70DE9ECF5F8684E1E +decimals = 6 + [APE] -peggy_denom = peggy0x4d224452801ACEd8B2F0aebE155379bb5D594381 +peggy_denom = peggy0x44d63c7FC48385b212aB397aB91A2637ec964634 +decimals = 18 + +[APP] +peggy_denom = peggy0xC5d27F27F08D1FD1E3EbBAa50b3442e6c0D50439 +decimals = 18 + +[ARB] +peggy_denom = ibc/8CF0E4184CA3105798EDB18CAA3981ADB16A9951FE9B05C6D830C746202747E1 +decimals = 8 + +[ARBlegacy] +peggy_denom = inj1d5vz0uzwlpfvgwrwulxg6syy82axa58y4fuszd +decimals = 8 + +[ASG] +peggy_denom = ibc/2D40732D27E22D27A2AB79F077F487F27B6F13DB6293040097A71A52FB8AD021 +decimals = 8 + +[ASTR] +peggy_denom = inj1mhmln627samtkuwe459ylq763r4n7n69gxxc9x decimals = 18 +[ASTRO] +peggy_denom = ibc/EBD5A24C554198EBAF44979C5B4D2C2D312E6EBAB71962C92F735499C7575839 +decimals = 6 + [ATOM] -peggy_denom = ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9 +peggy_denom = peggy0x8D983cb9388EaC77af0474fA441C4815500Cb7BB +decimals = 6 + +[AUTISM] +peggy_denom = factory/inj14lf8xm6fcvlggpa7guxzjqwjmtr24gnvf56hvz/autism +decimals = 6 + +[AVAX] +peggy_denom = inj18a2u6az6dzw528rptepfg6n49ak6hdzkny4um6 +decimals = 8 + +[AXL] +peggy_denom = ibc/B68C1D2682A8B69E20BB921E34C6A3A2B6D1E13E3E8C0092E373826F546DEE65 +decimals = 6 + +[AXS] +peggy_denom = peggy0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b +decimals = 18 + +[Alpha Coin] +peggy_denom = peggy0x138C2F1123cF3f82E4596d097c118eAc6684940B +decimals = 18 + +[Ape Coin] +peggy_denom = peggy0x4d224452801ACEd8B2F0aebE155379bb5D594381 +decimals = 18 + +[Arbitrum] +peggy_denom = peggy0x912CE59144191C1204E64559FE8253a0e49E6548 +decimals = 18 + +[Axelar] +peggy_denom = peggy0x3eacbDC6C382ea22b78aCc158581A55aaF4ef3Cc +decimals = 6 + +[BAMBOO] +peggy_denom = factory/inj144nw6ny28mlwuvhfnh7sv4fcmuxnpjx4pksr0j/bamboo +decimals = 6 + +[BAND] +peggy_denom = peggy0xBA11D00c5f74255f56a5E366F4F77f5A186d7f55 +decimals = 18 + +[BAT] +peggy_denom = peggy0x0D8775F648430679A709E98d2b0Cb6250d2887EF +decimals = 18 + +[BAYC] +peggy_denom = bayc +decimals = 18 + +[BEAST] +peggy_denom = peggy0xA4426666addBE8c4985377d36683D17FB40c31Be +decimals = 6 + +[BINJ] +peggy_denom = factory/inj1lhr06p7k3rdgk0knw5hfsde3fj87g2aq4e9a52/binj +decimals = 6 + +[BITS] +peggy_denom = factory/inj10gcvfpnn4932kzk56h5kp77mrfdqas8z63qr7n/bits +decimals = 6 + +[BLACK] +peggy_denom = factory/inj16eckaf75gcu9uxdglyvmh63k9t0l7chd0qmu85/black +decimals = 6 + +[BMOS] +peggy_denom = ibc/D9353C3B1407A7F7FE0A5CCB7D06249B57337888C95C6648AEAF2C83F4F3074E decimals = 6 [BNB] peggy_denom = peggy0xB8c77482e45F1F44dE1745F52C74426C631bDD52 decimals = 18 +[BODEN] +peggy_denom = boden +decimals = 9 + +[BONJO] +peggy_denom = factory/inj1r35twz3smeeycsn4ugnd3w0l5h2lxe44ptuu4w/bonjo +decimals = 6 + +[BONK] +peggy_denom = inj14rry9q6dym3dgcwzq79yay0e9azdz55jr465ch +decimals = 5 + +[BONUS] +peggy_denom = ibc/DCF43489B9438BB7E462F1A1AD38C7898DF7F49649F9CC8FEBFC533A1192F3EF +decimals = 8 + +[BRETT] +peggy_denom = factory/inj13jjdsa953w03dvecsr43dj5r6a2vzt7n0spncv/brett +decimals = 6 + +[BRZ] +peggy_denom = inj14jesa4q248mfxztfc9zgpswkpa4wx249mya9kk +decimals = 4 + +[BSKT] +peggy_denom = inj193340xxv49hkug7r65xzc0l40tze44pee4fj94 +decimals = 5 + +[BTC] +peggy_denom = btc +decimals = 8 + +[BULLS] +peggy_denom = factory/inj1zq37mfquqgud2uqemqdkyv36gdstkxl27pj5e3/bulls +decimals = 6 + +[BUSD] +peggy_denom = peggy0x4Fabb145d64652a948d72533023f6E7A623C7C53 +decimals = 18 + +[Babykira] +peggy_denom = factory/inj15jeczm4mqwtc9lk4c0cyynndud32mqd4m9xnmu/$babykira +decimals = 6 + +[Basket] +peggy_denom = peggy0xbC0899E527007f1B8Ced694508FCb7a2b9a46F53 +decimals = 5 + +[Bird INJ] +peggy_denom = factory/inj125hcdvz9dnhdqal2u8ctr7l0hd8xy9wdgzt8ld/binj +decimals = 6 + +[BitSong] +peggy_denom = peggy0x05079687D35b93538cbd59fe5596380cae9054A9 +decimals = 18 + +[Bonjo] +peggy_denom = inj19w5lfwk6k9q2d8kxnwsu4962ljnay85f9sgwn6 +decimals = 18 + +[Brazilian Digital Token] +peggy_denom = peggy0x420412E765BFa6d85aaaC94b4f7b708C89be2e2B +decimals = 4 + +[CAD] +peggy_denom = cad +decimals = 6 + +[CANTO] +peggy_denom = ibc/D91A2C4EE7CD86BBAFCE0FA44A60DDD9AFBB7EEB5B2D46C0984DEBCC6FEDFAE8 +decimals = 18 + +[CEL] +peggy_denom = peggy0xaaAEBE6Fe48E54f431b0C390CfaF0b017d09D42d +decimals = 4 + +[CELL] +peggy_denom = peggy0x26c8AFBBFE1EBaca03C2bB082E69D0476Bffe099 +decimals = 18 + [CHZ] +peggy_denom = peggy0x3506424F91fD33084466F402d5D97f05F8e3b4AF +decimals = 18 + +[CHZlegacy] peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q6kpxy6ar5lkxqudjvryarrrttmakwsvzkvcyh decimals = 8 +[CLON] +peggy_denom = ibc/695B1D16DE4D0FD293E6B79451640974080B59AA60942974C1CC906568DED795 +decimals = 6 + +[COCK] +peggy_denom = factory/inj1eucxlpy6c387g5wrn4ee7ppshdzg3rh4t50ahf/cock +decimals = 6 + +[COKE] +peggy_denom = inj14eaxewvy7a3fk948c3g3qham98mcqpm8v5y0dp +decimals = 6 + +[COMP] +peggy_denom = peggy0xc00e94Cb662C3520282E6f5717214004A7f26888 +decimals = 18 + +[CRE] +peggy_denom = ibc/3A6DD3358D9F7ADD18CDE79BA10B400511A5DE4AE2C037D7C9639B52ADAF35C6 +decimals = 6 + +[CVR] +peggy_denom = peggy0x3c03b4ec9477809072ff9cc9292c9b25d4a8e6c6 +decimals = 18 + +[Chiliz (legacy)] +peggy_denom = inj1q6kpxy6ar5lkxqudjvryarrrttmakwsvzkvcyh +decimals = 8 + +[Cosmos] +peggy_denom = ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9 +decimals = 6 + +[DAI] +peggy_denom = peggy0x6b175474e89094c44da98b954eedeac495271d0f +decimals = 18 + +[DDL] +peggy_denom = factory/inj1put8lfpkwm47tqcl9fgh8grz987mezvrx4arls/ddl +decimals = 6 + +[DEFI5] +peggy_denom = peggy0xfa6de2697D59E88Ed7Fc4dFE5A33daC43565ea41 +decimals = 18 + +[DEMO] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/demo +decimals = 18 + +[DGNZ] +peggy_denom = factory/inj1l2kcs4yxsxe0c87qy4ejmvkgegvjf0hkyhqk59/dgnz +decimals = 6 + +[DOGE] +peggy_denom = doge +decimals = 8 + +[DOJ] +peggy_denom = factory/inj172ccd0gddgz203e4pf86ype7zjx573tn8g0df9/doj +decimals = 6 + +[DOJO] +peggy_denom = factory/inj1any4rpwq7r850u6feajg5payvhwpunu9cxqevc/dojo +decimals = 6 + +[DOT] +peggy_denom = peggy0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080 +decimals = 10 + +[DREAM] +peggy_denom = factory/inj1l2kcs4yxsxe0c87qy4ejmvkgegvjf0hkyhqk59/dream +decimals = 6 + +[DROGO] +peggy_denom = ibc/565FE65B82C091F8BAD1379FA1B4560C036C07913355ED4BD8D156DA63F43712 +decimals = 6 + +[DUDE] +peggy_denom = factory/inj1sn34edy635nv4yhts3khgpy5qxw8uey6wvzq53/dude +decimals = 6 + +[Dojo Token] +peggy_denom = inj1zdj9kqnknztl2xclm5ssv25yre09f8908d4923 +decimals = 18 + +[ELON] +peggy_denom = peggy0x43123e1d077351267113ada8bE85A058f5D492De +decimals = 6 + +[ENA] +peggy_denom = peggy0x57e114b691db790c35207b2e685d4a43181e6061 +decimals = 18 + +[ENJ] +peggy_denom = peggy0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c +decimals = 18 + +[ERIC] +peggy_denom = factory/inj1w7cw5tltax6dx7znehul98gel6yutwuvh44j77/eric +decimals = 6 + +[ETH] +peggy_denom = eth +decimals = 18 + [ETHBTCTrend] peggy_denom = peggy0x6b7f87279982d919Bbf85182DDeAB179B366D8f2 decimals = 18 +[EUR] +peggy_denom = eur +decimals = 6 + +[EVAI] +peggy_denom = peggy0x50f09629d0afDF40398a3F317cc676cA9132055c +decimals = 8 + +[EVIINDEX] +peggy_denom = eviindex +decimals = 18 + +[EVMOS] +peggy_denom = ibc/16618B7F7AC551F48C057A13F4CA5503693FBFF507719A85BC6876B8BD75F821 +decimals = 18 + +[FET] +peggy_denom = ibc/C1D3666F27EA64209584F18BC79648E0C1783BB6EEC04A8060E4A8E9881C841B +decimals = 18 + +[FTM] +peggy_denom = peggy0x4E15361FD6b4BB609Fa63C81A2be19d873717870 +decimals = 18 + +[Fetch.ai] +peggy_denom = peggy0xaea46a60368a7bd060eec7df8cba43b7ef41ad85 +decimals = 18 + +[GALAXY] +peggy_denom = factory/inj10zdjt8ylfln5xr3a2ruf9nwn6d5q2d2r3v6mh8/galaxy +decimals = 6 + +[GBP] +peggy_denom = gbp +decimals = 6 + [GF] peggy_denom = peggy0xAaEf88cEa01475125522e117BFe45cF32044E238 decimals = 18 +[GIGA] +peggy_denom = ibc/36C811A2253AA64B58A9B66C537B89348FE5792A8808AAA343082CBFCAA72278 +decimals = 5 + +[GINGER] +peggy_denom = factory/inj172ccd0gddgz203e4pf86ype7zjx573tn8g0df9/ginger +decimals = 6 + +[GLTO] +peggy_denom = peggy0xd73175f9eb15eee81745d367ae59309Ca2ceb5e2 +decimals = 6 + +[GME] +peggy_denom = ibc/CAA5AB050F6C3DFE878212A37A4A6D3BEA6670F5B9786FFF7EF2D34213025272 +decimals = 8 + +[GOLD] +peggy_denom = gold +decimals = 18 + +[GOLDIE] +peggy_denom = factory/inj130ayayz6ls8qpmu699axhlg7ygy8u6thjjk9nc/goldie +decimals = 6 + +[GROK] +peggy_denom = factory/inj1vgrf5mcvvg9p5c6jajqefn840nq74wjzgkt30z/grok +decimals = 6 + +[GRT] +peggy_denom = peggy0xc944E90C64B2c07662A292be6244BDf05Cda44a7 +decimals = 18 + +[GYEN] +peggy_denom = peggy0xC08512927D12348F6620a698105e1BAac6EcD911 +decimals = 6 + +[HDRO] +peggy_denom = factory/inj1etz0laas6h7vemg3qtd67jpr6lh8v7xz7gfzqw/hdro +decimals = 6 + +[HT] +peggy_denom = peggy0x6f259637dcD74C767781E37Bc6133cd6A68aa161 +decimals = 18 + +[HUAHUA] +peggy_denom = ibc/E7807A46C0B7B44B350DA58F51F278881B863EC4DCA94635DAB39E52C30766CB +decimals = 6 + +[Hydro] +peggy_denom = factory/inj1pk7jhvjj2lufcghmvr7gl49dzwkk3xj0uqkwfk/hdro +decimals = 6 + +[Hydro Wrapped INJ] +peggy_denom = inj1mz7mfhgx8tuvjqut03qdujrkzwlx9xhcj6yldc +decimals = 18 + +[IKINGS] +peggy_denom = factory/inj1mt876zny9j6xae25h7hl7zuqf7gkx8q63k0426/ikings +decimals = 6 + +[INCEL] +peggy_denom = factory/inj17g4j3geupy762u0wrewqwprvtzar7k5et2zqsh/incel +decimals = 6 + [INJ] -peggy_denom = inj +peggy_denom = peggy0xe28b3b32b6c345a34ff64674606124dd5aceca30 decimals = 18 -[LINK] -peggy_denom = peggy0x514910771AF9Ca656af840dff83E8264EcF986CA +[INJECT] +peggy_denom = factory/inj1j7zt6g03vpmg9p7g7qngvylfxqeuds73utsjnk/inject +decimals = 6 + +[INJER] +peggy_denom = factory/inj1sjmplasxl9zgj6yh45j3ndskgdhcfcss9djkdn/injer +decimals = 6 + +[INJINU] +peggy_denom = factory/inj1vjppa6h9lf75pt0v6qnxtej4xcl0qevnxzcrvm/injinu +decimals = 6 + +[INJX] +peggy_denom = factory/inj104h3hchl7ws8lp78zpvrunvsjdwfjc02r5d0fp/injx +decimals = 6 + +[INJbsc] +peggy_denom = inj1xcgprh58szttp0vqtztvcfy34tkpupr563ua40 decimals = 18 -[MATIC] -peggy_denom = peggy0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0 +[INJet] +peggy_denom = inj1v8gg4wzfauwf9l7895t0eyrrkwe65vh5n7dqmw decimals = 18 -[PROJ] -peggy_denom = proj +[IOTX] +peggy_denom = peggy0x6fB3e0A217407EFFf7Ca062D46c26E5d60a14d69 decimals = 18 -[SOMM] -peggy_denom = ibc/34346A60A95EB030D62D6F5BDD4B745BE18E8A693372A8A347D5D53DBBB1328B +[IPandaAI] +peggy_denom = factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/ipandaai decimals = 6 -[USC Coin (Wormhole from Ethereum)] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q6zlut7gtkzknkk773jecujwsdkgq882akqksk +[Injective] +peggy_denom = peggy0x5512c04B6FF813f3571bDF64A1d74c98B5257332 +decimals = 18 + +[Injective Panda] +peggy_denom = factory/inj183lz632dna57ayuf6unqph5d0v2u655h2jzzyy/bamboo decimals = 6 -[USD Coin] -peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj12sqy9uzzl3h3vqxam7sz9f0yvmhampcgesh3qw +[Internet Explorer] +peggy_denom = factory/inj1zhevrrwywg3az9ulxd9u233eyy4m2mmr6vegsg/ninjb decimals = 6 -[USDC] -peggy_denom = peggy0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 +[JPY] +peggy_denom = jpy decimals = 6 -[USDT] -peggy_denom = peggy0xdAC17F958D2ee523a2206206994597C13D831ec7 +[JUNO] +peggy_denom = ibc/D50E26996253EBAA8C684B9CD653FE2F7665D7BDDCA3D48D5E1378CF6334F211 +decimals = 6 + +[JUP] +peggy_denom = jup decimals = 6 -[WBTC] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku +[KAGE] +peggy_denom = inj1l49685vnk88zfw2egf6v65se7trw2497wsqk65 decimals = 18 -[WETH] -peggy_denom = peggy0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +[KARATE] +peggy_denom = factory/inj1898t0vtmul3tcn3t0v8qe3pat47ca937jkpezv/karate +decimals = 6 + +[KARMA] +peggy_denom = factory/inj1d4ld9w7mf8wjyv5y7fnhpate07fguv3s3tmngm/karma +decimals = 6 + +[KATANA] +peggy_denom = factory/inj1vwn4x08hlactxj3y3kuqddafs2hhqzapruwt87/katana +decimals = 6 + +[KAVA] +peggy_denom = ibc/57AA1A70A4BC9769C525EBF6386F7A21536E04A79D62E1981EFCEF9428EBB205 +decimals = 6 + +[KINJA] +peggy_denom = factory/inj1h33jkaqqalcy3wf8um6ewk4hxmfwf8uern470k/kinja +decimals = 6 + +[KIRA] +peggy_denom = factory/inj1xy3kvlr4q4wdd6lrelsrw2fk2ged0any44hhwq/KIRA +decimals = 6 + +[KPEPE] +peggy_denom = pepe decimals = 18 -[YFI] -peggy_denom = peggy0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e +[KUJI] +peggy_denom = ibc/9A115B56E769B92621FFF90567E2D60EFD146E86E867491DB69EEDA9ADC36204 +decimals = 6 + +[LAMA] +peggy_denom = factory/inj18lh8zx4hx0pyksyu74srktv4vgxskkkafknggl/lama +decimals = 6 + +[LAMBO] +peggy_denom = peggy0x3d2b66BC4f9D6388BD2d97B95b565BE1686aEfB3 +decimals = 18 + +[LDO] +peggy_denom = inj1me6t602jlndzxgv2d7ekcnkjuqdp7vfh4txpyy +decimals = 8 + +[LINK] +peggy_denom = peggy0x514910771AF9Ca656af840dff83E8264EcF986CA +decimals = 18 + +[LIOR] +peggy_denom = factory/inj1tgphgjqsz8fupkfjx6cy275e3s0l8xfu6rd6jh/lior +decimals = 6 + +[LUNA] +peggy_denom = ibc/B8AF5D92165F35AB31F3FC7C7B444B9D240760FA5D406C49D24862BD0284E395 +decimals = 6 + +[LVN] +peggy_denom = ibc/4971C5E4786D5995EC7EF894FCFA9CF2E127E95D5D53A982F6A062F3F410EDB8 +decimals = 6 + +[LYM] +peggy_denom = peggy0xc690f7c7fcffa6a82b79fab7508c466fefdfc8c5 +decimals = 18 + +[Lido DAO Token] +peggy_denom = peggy0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32 +decimals = 18 + +[MAGA] +peggy_denom = peggy0x576e2BeD8F7b46D34016198911Cdf9886f78bea7 +decimals = 9 + +[MATIC] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/matic +decimals = 18 + +[MEMEME] +peggy_denom = peggy0x1A963Df363D01EEBB2816b366d61C917F20e1EbE +decimals = 18 + +[MILA] +peggy_denom = factory/inj1z08usf75ecfp3cqtwey6gx7nr79s3agal3k8xf/mila +decimals = 6 + +[MILK] +peggy_denom = factory/inj1yg24mn8enl5e6v4jl2j6cce47mx4vyd6e8dpck/milk +decimals = 6 + +[MOONIFY] +peggy_denom = factory/inj1ktq0gf7altpsf0l2qzql4sfs0vc0ru75cnj3a6/moonify +decimals = 6 + +[MOTHER] +peggy_denom = ibc/984E90A8E0265B9804B7345C7542BF9B3046978AE5557B4AABADDFE605CACABE +decimals = 6 + +[MPEPE] +peggy_denom = mpepe +decimals = 18 + +[MT] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/mt +decimals = 6 + +[NBLA] +peggy_denom = factory/inj1d0zfq42409a5mhdagjutl8u6u9rgcm4h8zfmfq/nbla +decimals = 6 + +[NBZ] +peggy_denom = ibc/1011E4D6D4800DA9B8F21D7C207C0B0C18E54E614A8576037F066B775210709D +decimals = 6 + +[NBZAIRDROP] +peggy_denom = factory/inj1llr45x92t7jrqtxvc02gpkcqhqr82dvyzkr4mz/nbzairdrop +decimals = 0 + +[NEOK] +peggy_denom = ibc/F6CC233E5C0EA36B1F74AB1AF98471A2D6A80E2542856639703E908B4D93E7C4 +decimals = 18 + +[NEXO] +peggy_denom = peggy0xB62132e35a6c13ee1EE0f84dC5d40bad8d815206 +decimals = 18 + +[NINJA] +peggy_denom = factory/inj1xtel2knkt8hmc9dnzpjz6kdmacgcfmlv5f308w/ninja +decimals = 6 + +[NINJB] +peggy_denom = factory/inj1ezzzfm2exjz57hxuc65sl8s3d5y6ee0kxvu67n/ninjb +decimals = 6 + +[NLC] +peggy_denom = inj1r9h59ke0a77zkaarr4tuq25r3lt9za4r2mgyf4 +decimals = 6 + +[NOBI] +peggy_denom = factory/inj1xawhm3d8lf9n0rqdljpal033yackja3dt0kvp0/nobi +decimals = 6 + +[NOBITCHES] +peggy_denom = factory/inj14n8f39qdg6t68s5z00t4vczvkcvzlgm6ea5vk5/nobitches +decimals = 6 + +[NOIA] +peggy_denom = peggy0xa8c8CfB141A3bB59FEA1E2ea6B79b5ECBCD7b6ca +decimals = 18 + +[NOIS] +peggy_denom = ibc/DD9182E8E2B13C89D6B4707C7B43E8DB6193F9FF486AFA0E6CF86B427B0D231A +decimals = 6 + +[NONE] +peggy_denom = peggy0x903ff0ba636E32De1767A4B5eEb55c155763D8B7 +decimals = 18 + +[NONJA] +peggy_denom = inj1fu5u29slsg2xtsj7v5la22vl4mr4ywl7wlqeck +decimals = 18 + +[NPEPE] +peggy_denom = factory/inj1ga982yy0wumrlt4nnj79wcgmw7mzvw6jcyecl0/npepe +decimals = 6 + +[Neptune Receipt INJ] +peggy_denom = inj1rmzufd7h09sqfrre5dtvu5d09ta7c0t4jzkr2f +decimals = 18 + +[OCEAN] +peggy_denom = peggy0x967da4048cD07aB37855c090aAF366e4ce1b9F48 +decimals = 18 + +[OMI] +peggy_denom = peggy0xed35af169af46a02ee13b9d79eb57d6d68c1749e +decimals = 18 + +[OMNI] +peggy_denom = peggy0x36e66fbbce51e4cd5bd3c62b637eb411b18949d4 +decimals = 18 + +[OP] +peggy_denom = op +decimals = 18 + +[ORAI] +peggy_denom = ibc/C20C0A822BD22B2CEF0D067400FCCFB6FAEEE9E91D360B4E0725BD522302D565 +decimals = 6 + +[ORNE] +peggy_denom = ibc/3D99439444ACDEE71DBC4A774E49DB74B58846CCE31B9A868A7A61E4C14D321E +decimals = 6 + +[OSMO] +peggy_denom = ibc/92E0120F15D037353CFB73C14651FC8930ADC05B93100FD7754D3A689E53B333 +decimals = 6 + +[OX] +peggy_denom = peggy0x78a0A62Fba6Fb21A83FE8a3433d44C73a4017A6f +decimals = 18 + +[Oraichain] +peggy_denom = peggy0x4c11249814f11b9346808179Cf06e71ac328c1b5 +decimals = 18 + +[PAXG] +peggy_denom = peggy0x45804880De22913dAFE09f4980848ECE6EcbAf78 +decimals = 18 + +[PEPE] +peggy_denom = peggy0x6982508145454ce325ddbe47a25d4ec3d2311933 +decimals = 18 + +[PHUC] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/phuc +decimals = 6 + +[PIKA] +peggy_denom = factory/inj1h4usvhhva6dgmun9rk4haeh8lynln7yhk6ym00/pika +decimals = 6 + +[POINT] +peggy_denom = factory/inj1zaem9jqplp08hkkd5vcl6vmvala9qury79vfj4/point +decimals = 0 + +[POOL] +peggy_denom = peggy0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e +decimals = 18 + +[POOR] +peggy_denom = peggy0x9D433Fa992C5933D6843f8669019Da6D512fd5e9 +decimals = 8 + +[PROJ] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/proj +decimals = 18 + +[PROJX] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/projx +decimals = 18 + +[PUG] +peggy_denom = peggy0xf9a06dE3F6639E6ee4F079095D5093644Ad85E8b +decimals = 18 + +[PUNK] +peggy_denom = factory/inj1esz96ru3guug4ctmn5chjmkymt979sfvufq0hs/punk +decimals = 6 + +[PVP] +peggy_denom = peggy0x9B44793a0177C84DD01AD81137db696531902871 +decimals = 8 + +[PYTH] +peggy_denom = ibc/F3330C1B8BD1886FE9509B94C7B5398B892EA41420D2BC0B7C6A53CB8ED761D6 +decimals = 6 + +[PYTHlegacy] +peggy_denom = inj1tjcf9497fwmrnk22jfu5hsdq82qshga54ajvzy +decimals = 6 + +[PYUSD] +peggy_denom = peggy0x6c3ea9036406852006290770BEdFcAbA0e23A0e8 +decimals = 6 + +[Phuc] +peggy_denom = factory/inj1995xnrrtnmtdgjmx0g937vf28dwefhkhy6gy5e/phuc +decimals = 6 + +[Pikachu] +peggy_denom = factory/inj1h9zu2u6yqf3t5uym75z94zsqfhazzkyg39957u/pika +decimals = 6 + +[Polkadot] +peggy_denom = inj1spzwwtr2luljr300ng2gu52zg7wn7j44m92mdf +decimals = 10 + +[Polygon] +peggy_denom = peggy0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0 +decimals = 18 + +[Punk Token] +peggy_denom = inj1wmrzttj7ms7glplek348vedx4v2ls467n539xt +decimals = 18 + +[QAT] +peggy_denom = peggy0x5Ac3A2F6205a481C7a8984E4291E450e52cd0369 +decimals = 18 + +[QNT] +peggy_denom = peggy0x4a220e6096b25eadb88358cb44068a3248254675 +decimals = 18 + +[QUNT] +peggy_denom = factory/inj127l5a2wmkyvucxdlupqyac3y0v6wqfhq03ka64/qunt +decimals = 6 + +[RAI] +peggy_denom = peggy0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919 +decimals = 18 + +[RAMEN] +peggy_denom = factory/inj1z5utcc5u90n8a5m8gv30char6j4hdzxz6t3pke/ramen +decimals = 6 + +[RIBBIT] +peggy_denom = peggy0xb794Ad95317f75c44090f64955954C3849315fFe +decimals = 18 + +[RICE] +peggy_denom = factory/inj1mt876zny9j6xae25h7hl7zuqf7gkx8q63k0426/rice +decimals = 12 + +[ROOT] +peggy_denom = peggy0xa3d4BEe77B05d4a0C943877558Ce21A763C4fa29 +decimals = 6 + +[RUNE] +peggy_denom = peggy0x3155BA85D5F96b2d030a4966AF206230e46849cb +decimals = 18 + +[SAE] +peggy_denom = factory/inj152mdu38fkkk4fl7ycrpdqxpm63w3ztadgtktyr/sae +decimals = 6 + +[SAGA] +peggy_denom = ibc/AF921F0874131B56897A11AA3F33D5B29CD9C147A1D7C37FE8D918CB420956B2 +decimals = 6 + +[SCRT] +peggy_denom = ibc/0954E1C28EB7AF5B72D24F3BC2B47BBB2FDF91BDDFD57B74B99E133AED40972A +decimals = 6 + +[SDEX] +peggy_denom = peggy0x5DE8ab7E27f6E7A1fFf3E5B337584Aa43961BEeF +decimals = 18 + +[SEI] +peggy_denom = sei +decimals = 6 + +[SHIB] +peggy_denom = peggy0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE +decimals = 18 + +[SHROOM] +peggy_denom = inj1300xcg9naqy00fujsr9r8alwk7dh65uqu87xm8 +decimals = 18 + +[SHURIKEN] +peggy_denom = factory/inj1z426atp9k68uv49kaam7m0vnehw5fulxkyvde0/shuriken +decimals = 6 + +[SKIPBIDIDOBDOBDOBYESYESYESYES] +peggy_denom = peggy0x5085202d0A4D8E4724Aa98C42856441c3b97Bc6d +decimals = 9 + +[SMELLY] +peggy_denom = factory/inj10pz3xq7zf8xudqxaqealgyrnfk66u3c99ud5m2/smelly +decimals = 6 + +[SNOWY] +peggy_denom = factory/inj1ml33x7lkxk6x2x95d3alw4h84evlcdz2gnehmk/snowy +decimals = 6 + +[SNS] +peggy_denom = ibc/4BFB3FB1903142C5A7570EE7697636436E52FDB99AB8ABE0257E178A926E2568 +decimals = 8 + +[SNX] +peggy_denom = peggy0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F +decimals = 18 + +[SOL] +peggy_denom = ibc/A8B0B746B5AB736C2D8577259B510D56B8AF598008F68041E3D634BCDE72BE97 +decimals = 8 + +[SOLlegacy] +peggy_denom = inj1sthrn5ep8ls5vzz8f9gp89khhmedahhdkqa8z3 +decimals = 8 + +[SOMM] +peggy_denom = ibc/34346A60A95EB030D62D6F5BDD4B745BE18E8A693372A8A347D5D53DBBB1328B +decimals = 6 + +[SPUUN] +peggy_denom = factory/inj1flkktfvf8nxvk300f2z3vxglpllpw59c563pk7/spuun +decimals = 6 + +[STARS] +peggy_denom = peggy0xc55c2175E90A46602fD42e931f62B3Acc1A013Ca +decimals = 18 + +[STINJ] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/stinj +decimals = 18 + +[STRD] +peggy_denom = ibc/3FDD002A3A4019B05A33D324B2F29748E77AF501BEA5C96D1F28B2D6755F9F25 +decimals = 6 + +[STT] +peggy_denom = peggy0xaC9Bb427953aC7FDDC562ADcA86CF42D988047Fd +decimals = 18 + +[STX] +peggy_denom = stx +decimals = 6 + +[SUI] +peggy_denom = sui +decimals = 9 + +[SUSHI] +peggy_denom = inj1n73yuus64z0yrda9hvn77twkspc4uste9j9ydd +decimals = 18 + +[SWAP] +peggy_denom = peggy0xcc4304a31d09258b0029ea7fe63d032f52e44efe +decimals = 18 + +[Shiba INJ] +peggy_denom = factory/inj1v0yk4msqsff7e9zf8ktxykfhz2hen6t2u4ue4r/shiba inj +decimals = 6 + +[Shinobi] +peggy_denom = factory/inj1t02au5gsk40ev9jaq0ggcyry9deuvvza6s4wav/nobi +decimals = 6 + +[Shuriken Token] +peggy_denom = factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/shuriken +decimals = 6 + +[Solana] +peggy_denom = inj12ngevx045zpvacus9s6anr258gkwpmthnz80e9 +decimals = 8 + +[Sommelier] +peggy_denom = peggy0xa670d7237398238DE01267472C6f13e5B8010FD1 +decimals = 6 + +[SteadyBTC] +peggy_denom = peggy0x4986fD36b6b16f49b43282Ee2e24C5cF90ed166d +decimals = 18 + +[SteadyETH] +peggy_denom = peggy0x3F07A84eCdf494310D397d24c1C78B041D2fa622 +decimals = 18 + +[Stride Staked Injective] +peggy_denom = ibc/AC87717EA002B0123B10A05063E69BCA274BA2C44D842AEEB41558D2856DCE93 +decimals = 18 + +[Summoners Arena Essence] +peggy_denom = ibc/0AFCFFE18230E0E703A527F7522223D808EBB0E02FDBC84AAF8A045CD8FE0BBB +decimals = 8 + +[SushiSwap] +peggy_denom = peggy0x6B3595068778DD592e39A122f4f5a5cF09C90fE2 +decimals = 18 + +[TAB] +peggy_denom = peggy0x36B3D7ACe7201E28040eFf30e815290D7b37ffaD +decimals = 18 + +[TALIS] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/talis +decimals = 6 + +[TEST1] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/test1 +decimals = 6 + +[TEST2] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/test2 +decimals = 6 + +[TEST3] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/test3 +decimals = 6 + +[TEvmos] +peggy_denom = ibc/300B5A980CA53175DBAC918907B47A2885CADD17042AD58209E777217D64AF20 +decimals = 18 + +[TIA] +peggy_denom = ibc/F51BB221BAA275F2EBF654F70B005627D7E713AFFD6D86AFD1E43CAA886149F4 +decimals = 6 + +[TIX] +peggy_denom = factory/inj1rw3qvamxgmvyexuz2uhyfa4hukvtvteznxjvke/tix +decimals = 6 + +[TRUCPI] +peggy_denom = trucpi +decimals = 18 + +[Terra] +peggy_denom = peggy0xd2877702675e6cEb975b4A1dFf9fb7BAF4C91ea9 +decimals = 6 + +[TerraUSD] +peggy_denom = peggy0xa47c8bf37f92aBed4A126BDA807A7b7498661acD +decimals = 18 + +[Test QAT] +peggy_denom = peggy0x1902e18fEB1234D00d880f1fACA5C8d74e8501E9 +decimals = 18 + +[Tether] +peggy_denom = peggy0xdAC17F958D2ee523a2206206994597C13D831ec7 +decimals = 6 + +[UMA] +peggy_denom = peggy0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828 +decimals = 18 + +[UNI] +peggy_denom = peggy0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984 +decimals = 18 + +[UPHOTON] +peggy_denom = ibc/48BC9C6ACBDFC1EBA034F1859245D53EA4BF74147189D66F27C23BF966335DFB +decimals = 6 + +[USD Coin] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj12sqy9uzzl3h3vqxam7sz9f0yvmhampcgesh3qw +decimals = 6 + +[USD Coin (legacy)] +peggy_denom = inj1q6zlut7gtkzknkk773jecujwsdkgq882akqksk +decimals = 6 + +[USDC] +peggy_denom = ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E +decimals = 6 + +[USDC-MPL] +peggy_denom = peggy0xf875aef00C4E21E9Ab4A335eB36A1175Ab00424A +decimals = 6 + +[USDCarb] +peggy_denom = inj1lmcfftadjkt4gt3lcvmz6qn4dhx59dv2m7yv8r +decimals = 6 + +[USDCbsc] +peggy_denom = inj1dngqzz6wphf07fkdam7dn55t8t3r6qenewy9zu +decimals = 6 + +[USDCet] +peggy_denom = inj12sqy9uzzl3h3vqxam7sz9f0yvmhampcgesh3qw +decimals = 6 + +[USDCgateway] +peggy_denom = ibc/7BE71BB68C781453F6BB10114F8E2DF8DC37BA791C502F5389EA10E7BEA68323 +decimals = 6 + +[USDClegacy] +peggy_denom = peggy0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 +decimals = 6 + +[USDCpoly] +peggy_denom = inj19s2r64ghfqq3py7f5dr0ynk8yj0nmngca3yvy3 +decimals = 6 + +[USDCso] +peggy_denom = inj12pwnhtv7yat2s30xuf4gdk9qm85v4j3e60dgvu +decimals = 6 + +[USDT] +peggy_denom = peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5 +decimals = 6 + +[USDTap] +peggy_denom = inj13yrhllhe40sd3nj0lde9azlwfkyrf2t9r78dx5 +decimals = 6 + +[USDTbsc] +peggy_denom = inj1l9eyrnv3ret8da3qh8j5aytp6q4f73crd505lj +decimals = 6 + +[USDTet] +peggy_denom = inj18zykysxw9pcvtyr9ylhe0p5s7yzf6pzdagune8 +decimals = 6 + +[USDTkv] +peggy_denom = ibc/4ABBEF4C8926DDDB320AE5188CFD63267ABBCEFC0583E4AE05D6E5AA2401DDAB +decimals = 6 + +[USDTso] +peggy_denom = inj1qjn06jt7zjhdqxgud07nylkpgnaurq6xc5c4fd +decimals = 6 + +[USDY] +peggy_denom = ibc/93EAE5F9D6C14BFAC8DD1AFDBE95501055A7B22C5D8FA8C986C31D6EFADCA8A9 +decimals = 18 + +[USDYet] +peggy_denom = peggy0x96F6eF951840721AdBF46Ac996b59E0235CB985C +decimals = 18 + +[USDe] +peggy_denom = peggy0x4c9EDD5852cd905f086C759E8383e09bff1E68B3 +decimals = 18 + +[UST] +peggy_denom = ibc/B448C0CA358B958301D328CCDC5D5AD642FC30A6D3AE106FF721DB315F3DDE5C +decimals = 18 + +[UTK] +peggy_denom = peggy0xdc9Ac3C20D1ed0B540dF9b1feDC10039Df13F99c +decimals = 18 + +[UUST] +peggy_denom = ibc/C643B73073217F778DD7BDCB74C7EBCEF8E7EF81614FFA3C1C31861221AA9C4A +decimals = 0 + +[Unknown] +peggy_denom = ibc/88C49ADE2E583244058E4786C9FAE1AC431D55289EE31D59DDCC45201A60B82E +decimals = 0 + +[VATRENI] +peggy_denom = inj1tn457ed2gg5vj2cur5khjjw63w73y3xhyhtaay +decimals = 8 + +[VRD] +peggy_denom = peggy0xf25304e75026E6a35FEDcA3B0889aE5c4D3C55D8 +decimals = 18 + +[W] +peggy_denom = ibc/F16F0F685BEF7BC6A145F16CBE78C6EC8C7C3A5F3066A98A9E57DCEA0903E537 +decimals = 6 + +[WAGMI] +peggy_denom = factory/inj188veuqed0dygkcmq5d24u3807n6csv4wdv28gh/wagmi +decimals = 9 + +[WAIFU] +peggy_denom = factory/inj12dvzf9tx2ndc9498aqpkrxgugr3suysqwlmn49/waifu +decimals = 6 + +[WASSIE] +peggy_denom = peggy0x2c95d751da37a5c1d9c5a7fd465c1d50f3d96160 +decimals = 18 + +[WGLMR-WEI] +peggy_denom = ibc/8FF72FB47F07B4AFA8649500A168683BEFCB9EE164BD331FA597D26224D51055 +decimals = 0 + +[WGMI] +peggy_denom = factory/inj1rmjzj9fn47kdmfk4f3z39qr6czexxe0yjyc546/wgmi +decimals = 6 + +[WHALE] +peggy_denom = ibc/D6E6A20ABDD600742D22464340A7701558027759CE14D12590F8EA869CCCF445 +decimals = 6 + +[WIF] +peggy_denom = wif +decimals = 6 + +[WIZZ] +peggy_denom = factory/inj1uvfpvnmuqhx8jwg4786y59tkagmph827h38mst/wizz +decimals = 6 + +[WKLAY] +peggy_denom = inj14cl67lprqkt3pncjav070gavaxslc0tzpc56f4 +decimals = 8 + +[WMATIC] +peggy_denom = ibc/4DEFEB42BAAB2788723759D95B7550BCE460855563ED977036248F5B94C842FC +decimals = 8 + +[WMATIClegacy] +peggy_denom = inj1dxv423h8ygzgxmxnvrf33ws3k94aedfdevxd8h +decimals = 8 + +[WOSMO] +peggy_denom = ibc/DD648F5D3CDA56D0D8D8820CF703D246B9FC4007725D8B38D23A21FF1A1477E3 +decimals = 6 + +[WSTETH] +peggy_denom = peggy0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0 +decimals = 18 + +[Wrapped Bitcoin] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/wbtc +decimals = 8 + +[Wrapped Ethereum] +peggy_denom = inj1k9r62py07wydch6sj5sfvun93e4qe0lg7jyatc +decimals = 8 + +[XAC] +peggy_denom = peggy0xDe4C5a791913838027a2185709E98c5C6027EA63 +decimals = 8 + +[XAG] +peggy_denom = xag +decimals = 6 + +[XAU] +peggy_denom = xau +decimals = 6 + +[XBX] +peggy_denom = peggy0x080B12E80C9b45e97C23b6ad10a16B3e2a123949 +decimals = 18 + +[XIII] +peggy_denom = factory/inj18flmwwaxxqj8m8l5zl8xhjrnah98fcjp3gcy3e/xiii +decimals = 6 + +[XION] +peggy_denom = ibc/DAB0823884DB5785F08EE136EE9EB362E166F4C7455716641B03E93CE7F14193 +decimals = 6 + +[XNJ] +peggy_denom = inj17pgmlk6fpfmqyffs205l98pmnmp688mt0948ar +decimals = 18 + +[XPLA] +peggy_denom = inj1j08452mqwadp8xu25kn9rleyl2gufgfjqjvewe +decimals = 8 + +[XPRT] +peggy_denom = ibc/B786E7CBBF026F6F15A8DA248E0F18C62A0F7A70CB2DABD9239398C8B5150ABB +decimals = 6 + +[XRP] +peggy_denom = peggy0x1d2f0da169ceb9fc7b3144628db156f3f6c60dbe +decimals = 18 + +[XTALIS] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/xtalis +decimals = 6 + +[YFI] +peggy_denom = peggy0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e +decimals = 18 + +[YUKI] +peggy_denom = factory/inj1spdy83ds5ezq9rvtg0ndy8480ad5rlczcpvtu2/yuki +decimals = 6 + +[ZEN] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/zen +decimals = 18 + +[ZIG] +peggy_denom = peggy0xb2617246d0c6c0087f18703d576831899ca94f01 +decimals = 18 + +[ZK] +peggy_denom = zk +decimals = 18 + +[ZRO] +peggy_denom = zro +decimals = 6 + +[ZRX] +peggy_denom = peggy0xE41d2489571d322189246DaFA5ebDe1F4699F498 +decimals = 18 + +[axlUSDC] +peggy_denom = ibc/7E1AF94AD246BE522892751046F0C959B768642E5671CC3742264068D49553C0 +decimals = 6 + +[dINJ] +peggy_denom = inj134wfjutywny9qnyux2xgdmm0hfj7mwpl39r3r9 +decimals = 18 + +[dYdX] +peggy_denom = peggy0x92d6c1e31e14520e676a687f0a93788b716beff5 +decimals = 18 + +[ezETH] +peggy_denom = peggy0xbf5495Efe5DB9ce00f80364C8B423567e58d2110 +decimals = 18 + +[fUSDT] +peggy_denom = peggy0x81994b9607e06ab3d5cF3AffF9a67374f05F27d7 +decimals = 8 + +[factory/inj153e2w8u77h4ytrhgry846k5t8n9uea8xtal6d7/lp] +peggy_denom = factory/inj153e2w8u77h4ytrhgry846k5t8n9uea8xtal6d7/lp +decimals = 0 + +[factory/inj1lv0mhwcu3y4p9av5nafct8j7y4ag6lmlfuxuy3/lp] +peggy_denom = factory/inj1lv0mhwcu3y4p9av5nafct8j7y4ag6lmlfuxuy3/lp +decimals = 0 + +[factory/inj1uukt3kqela4vsllvrqnrgllkna5wn3cm588w6k/inj1kwdranvwf6vl2grh99layugwdnph6um2e8k25g] +peggy_denom = factory/inj1uukt3kqela4vsllvrqnrgllkna5wn3cm588w6k/inj1kwdranvwf6vl2grh99layugwdnph6um2e8k25g +decimals = 0 + +[factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj149ltwdnpxrhx9al42s359glcjnsuc6x3gfemjd] +peggy_denom = factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj149ltwdnpxrhx9al42s359glcjnsuc6x3gfemjd +decimals = 0 + +[factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj1ery8l6jquynn9a4cz2pff6khg8c68f7u20ufuj] +peggy_denom = factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj1ery8l6jquynn9a4cz2pff6khg8c68f7u20ufuj +decimals = 0 + +[factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj1up07dctjqud4fns75cnpejr4frmjtddztvuruc] +peggy_denom = factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj1up07dctjqud4fns75cnpejr4frmjtddztvuruc +decimals = 0 + +[factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj1vauk4puffxad4r3qs3ex0vfl5mkuw5xe8aya8c] +peggy_denom = factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj1vauk4puffxad4r3qs3ex0vfl5mkuw5xe8aya8c +decimals = 0 + +[factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj1w798gp0zqv3s9hjl3jlnwxtwhykga6rnx4llty] +peggy_denom = factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj1w798gp0zqv3s9hjl3jlnwxtwhykga6rnx4llty +decimals = 0 + +[hINJ] +peggy_denom = inj18luqttqyckgpddndh8hvaq25d5nfwjc78m56lc +decimals = 18 + +[lootbox1] +peggy_denom = factory/inj1llr45x92t7jrqtxvc02gpkcqhqr82dvyzkr4mz/lootbox1 +decimals = 0 + +[nATOM] +peggy_denom = inj16jf4qkcarp3lan4wl2qkrelf4kduvvujwg0780 +decimals = 6 + +[nINJ] +peggy_denom = inj13xlpypcwl5fuc84uhqzzqumnrcfpptyl6w3vrf +decimals = 18 + +[nTIA] +peggy_denom = inj1fzquxxxam59z6fzewy2hvvreeh3m04x83zg4vv +decimals = 6 + +[nUSDT] +peggy_denom = inj1cy9hes20vww2yr6crvs75gxy5hpycya2hmjg9s +decimals = 6 + +[nWETH] +peggy_denom = inj1kehk5nvreklhylx22p3x0yjydfsz9fv3fvg5xt +decimals = 18 + +[proj] +peggy_denom = proj +decimals = 18 + +[sUSDE] +peggy_denom = peggy0x9D39A5DE30e57443BfF2A8307A4256c8797A3497 +decimals = 18 + +[share11] +peggy_denom = share11 +decimals = 18 + +[share13] +peggy_denom = share13 +decimals = 18 + +[share14] +peggy_denom = share14 +decimals = 18 + +[share15] +peggy_denom = share15 +decimals = 18 + +[share16] +peggy_denom = share16 +decimals = 18 + +[share17] +peggy_denom = share17 +decimals = 18 + +[share18] +peggy_denom = share18 +decimals = 18 + +[share19] +peggy_denom = share19 +decimals = 18 + +[share20] +peggy_denom = share20 +decimals = 18 + +[share21] +peggy_denom = share21 +decimals = 18 + +[share22] +peggy_denom = share22 +decimals = 18 + +[share23] +peggy_denom = share23 +decimals = 18 + +[share24] +peggy_denom = share24 +decimals = 18 + +[share25] +peggy_denom = share25 +decimals = 18 + +[share26] +peggy_denom = share26 +decimals = 18 + +[share27] +peggy_denom = share27 +decimals = 18 + +[share28] +peggy_denom = share28 +decimals = 18 + +[share29] +peggy_denom = share29 +decimals = 18 + +[share30] +peggy_denom = share30 +decimals = 18 + +[share31] +peggy_denom = share31 +decimals = 18 + +[share9] +peggy_denom = share9 +decimals = 18 + +[stETH] +peggy_denom = peggy0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84 +decimals = 18 + +[wBTC] +peggy_denom = peggy0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 +decimals = 8 + +[wETH] +peggy_denom = peggy0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +decimals = 18 + +[wUSDM] +peggy_denom = peggy0x57F5E098CaD7A3D1Eed53991D4d66C45C9AF7812 decimals = 18 diff --git a/client/metadata/assets/devnet.ini b/client/metadata/assets/devnet.ini index 62979d72..c49c4e14 100644 --- a/client/metadata/assets/devnet.ini +++ b/client/metadata/assets/devnet.ini @@ -164,10 +164,46 @@ min_display_quantity_tick_size = 0.00001 description = 'Devnet Spot PROJ/INJ' base = 18 quote = 18 -min_price_tick_size = 0.001 -min_display_price_tick_size = 0.001 -min_quantity_tick_size = 10000000000000 -min_display_quantity_tick_size = 0.00001 +min_price_tick_size = 0.00000001 +min_display_price_tick_size = 0.00000001 +min_quantity_tick_size = 1000000000000000000000 +min_display_quantity_tick_size = 1000 + +[0x2d3b8d8833dda54a717adea9119134556848105fd6028e9a4a526e4e5a122a57] +description = 'Devnet Spot KIRA/INJ' +base = 6 +quote = 18 +min_price_tick_size = 10000 +min_display_price_tick_size = 0.00000001 +min_quantity_tick_size = 1000000000 +min_display_quantity_tick_size = 1000 + +[0x42edf70cc37e155e9b9f178e04e18999bc8c404bd7b638cc4cbf41da8ef45a21] +description = 'Devnet Spot QUNT/INJ' +base = 6 +quote = 18 +min_price_tick_size = 10000 +min_display_price_tick_size = 0.00000001 +min_quantity_tick_size = 1000000000 +min_display_quantity_tick_size = 1000 + +[0xc8fafa1fcab27e16da20e98b4dc9dda45320418c27db80663b21edac72f3b597] +description = 'Devnet Spot HDRO/INJ' +base = 6 +quote = 18 +min_price_tick_size = 1000000 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 1 + +[0xd166688623206f9931307285678e9ff17cecd80a27d7b781dd88cecfba3b1839] +description = 'Devnet Spot BLACK/INJ' +base = 6 +quote = 18 +min_price_tick_size = 1000000 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 1 [0x1422a13427d5eabd4d8de7907c8340f7e58cb15553a9fd4ad5c90406561886f9] description = 'Devnet Derivative COMP/USDT PERP' @@ -259,78 +295,1450 @@ min_display_price_tick_size = 0.0000000001 min_quantity_tick_size = 0.1 min_display_quantity_tick_size = 0.1 +[$ALIEN] +peggy_denom = factory/inj1mly2ykhf6f9tdj58pvndjf4q8dzdl4myjqm9t6/$alien +decimals = 6 + +[$AOI] +peggy_denom = factory/inj169ed97mcnf8ay6rgvskn95n6tyt46uwvy5qgs0/$aoi +decimals = 6 + +[$Babykira] +peggy_denom = factory/inj13vau2mgx6mg7ams9nngjhyng58tl9zyw0n8s93/$babykira +decimals = 6 + +[1INCH] +peggy_denom = peggy0x111111111117dC0aa78b770fA6A738034120C302 +decimals = 18 + [AAVE] peggy_denom = peggy0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9 decimals = 18 +[ALPHA] +peggy_denom = inj1zwnsemwrpve3wrrg0njj89w6mt5rmj9ydkc46u +decimals = 8 + +[ANDR] +peggy_denom = ibc/61FA42C3F0B0F8768ED2CE380EDD3BE0E4CB7E67688F81F70DE9ECF5F8684E1E +decimals = 6 + [APE] -peggy_denom = peggy0x4d224452801ACEd8B2F0aebE155379bb5D594381 +peggy_denom = peggy0x44d63c7FC48385b212aB397aB91A2637ec964634 +decimals = 18 + +[APP] +peggy_denom = peggy0xC5d27F27F08D1FD1E3EbBAa50b3442e6c0D50439 +decimals = 18 + +[ARB] +peggy_denom = ibc/8CF0E4184CA3105798EDB18CAA3981ADB16A9951FE9B05C6D830C746202747E1 +decimals = 8 + +[ARBlegacy] +peggy_denom = inj1d5vz0uzwlpfvgwrwulxg6syy82axa58y4fuszd +decimals = 8 + +[ASG] +peggy_denom = ibc/2D40732D27E22D27A2AB79F077F487F27B6F13DB6293040097A71A52FB8AD021 +decimals = 8 + +[ASTR] +peggy_denom = inj1mhmln627samtkuwe459ylq763r4n7n69gxxc9x decimals = 18 +[ASTRO] +peggy_denom = ibc/EBD5A24C554198EBAF44979C5B4D2C2D312E6EBAB71962C92F735499C7575839 +decimals = 6 + [ATOM] -peggy_denom = ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9 +peggy_denom = peggy0x8D983cb9388EaC77af0474fA441C4815500Cb7BB +decimals = 6 + +[AUTISM] +peggy_denom = factory/inj14lf8xm6fcvlggpa7guxzjqwjmtr24gnvf56hvz/autism +decimals = 6 + +[AVAX] +peggy_denom = inj18a2u6az6dzw528rptepfg6n49ak6hdzkny4um6 +decimals = 8 + +[AXL] +peggy_denom = ibc/B68C1D2682A8B69E20BB921E34C6A3A2B6D1E13E3E8C0092E373826F546DEE65 +decimals = 6 + +[AXS] +peggy_denom = peggy0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b +decimals = 18 + +[Alpha Coin] +peggy_denom = peggy0x138C2F1123cF3f82E4596d097c118eAc6684940B +decimals = 18 + +[Ape Coin] +peggy_denom = peggy0x4d224452801ACEd8B2F0aebE155379bb5D594381 +decimals = 18 + +[Arbitrum] +peggy_denom = peggy0x912CE59144191C1204E64559FE8253a0e49E6548 +decimals = 18 + +[Axelar] +peggy_denom = peggy0x3eacbDC6C382ea22b78aCc158581A55aaF4ef3Cc +decimals = 6 + +[BAMBOO] +peggy_denom = factory/inj144nw6ny28mlwuvhfnh7sv4fcmuxnpjx4pksr0j/bamboo +decimals = 6 + +[BAND] +peggy_denom = peggy0xBA11D00c5f74255f56a5E366F4F77f5A186d7f55 +decimals = 18 + +[BAT] +peggy_denom = peggy0x0D8775F648430679A709E98d2b0Cb6250d2887EF +decimals = 18 + +[BAYC] +peggy_denom = bayc +decimals = 18 + +[BEAST] +peggy_denom = peggy0xA4426666addBE8c4985377d36683D17FB40c31Be +decimals = 6 + +[BINJ] +peggy_denom = factory/inj1lhr06p7k3rdgk0knw5hfsde3fj87g2aq4e9a52/binj +decimals = 6 + +[BITS] +peggy_denom = factory/inj10gcvfpnn4932kzk56h5kp77mrfdqas8z63qr7n/bits +decimals = 6 + +[BLACK] +peggy_denom = factory/inj16eckaf75gcu9uxdglyvmh63k9t0l7chd0qmu85/black +decimals = 6 + +[BMOS] +peggy_denom = ibc/D9353C3B1407A7F7FE0A5CCB7D06249B57337888C95C6648AEAF2C83F4F3074E decimals = 6 [BNB] peggy_denom = peggy0xB8c77482e45F1F44dE1745F52C74426C631bDD52 decimals = 18 +[BODEN] +peggy_denom = boden +decimals = 9 + +[BONJO] +peggy_denom = factory/inj1r35twz3smeeycsn4ugnd3w0l5h2lxe44ptuu4w/bonjo +decimals = 6 + +[BONK] +peggy_denom = inj14rry9q6dym3dgcwzq79yay0e9azdz55jr465ch +decimals = 5 + +[BONUS] +peggy_denom = ibc/DCF43489B9438BB7E462F1A1AD38C7898DF7F49649F9CC8FEBFC533A1192F3EF +decimals = 8 + +[BRETT] +peggy_denom = factory/inj13jjdsa953w03dvecsr43dj5r6a2vzt7n0spncv/brett +decimals = 6 + +[BRZ] +peggy_denom = inj14jesa4q248mfxztfc9zgpswkpa4wx249mya9kk +decimals = 4 + +[BSKT] +peggy_denom = inj193340xxv49hkug7r65xzc0l40tze44pee4fj94 +decimals = 5 + +[BTC] +peggy_denom = btc +decimals = 8 + +[BULLS] +peggy_denom = factory/inj1zq37mfquqgud2uqemqdkyv36gdstkxl27pj5e3/bulls +decimals = 6 + +[BUSD] +peggy_denom = peggy0x4Fabb145d64652a948d72533023f6E7A623C7C53 +decimals = 18 + +[Babykira] +peggy_denom = factory/inj15jeczm4mqwtc9lk4c0cyynndud32mqd4m9xnmu/$babykira +decimals = 6 + +[Basket] +peggy_denom = peggy0xbC0899E527007f1B8Ced694508FCb7a2b9a46F53 +decimals = 5 + +[Bird INJ] +peggy_denom = factory/inj125hcdvz9dnhdqal2u8ctr7l0hd8xy9wdgzt8ld/binj +decimals = 6 + +[BitSong] +peggy_denom = peggy0x05079687D35b93538cbd59fe5596380cae9054A9 +decimals = 18 + +[Bonjo] +peggy_denom = inj19w5lfwk6k9q2d8kxnwsu4962ljnay85f9sgwn6 +decimals = 18 + +[Brazilian Digital Token] +peggy_denom = peggy0x420412E765BFa6d85aaaC94b4f7b708C89be2e2B +decimals = 4 + +[CAD] +peggy_denom = cad +decimals = 6 + +[CANTO] +peggy_denom = ibc/D91A2C4EE7CD86BBAFCE0FA44A60DDD9AFBB7EEB5B2D46C0984DEBCC6FEDFAE8 +decimals = 18 + +[CEL] +peggy_denom = peggy0xaaAEBE6Fe48E54f431b0C390CfaF0b017d09D42d +decimals = 4 + +[CELL] +peggy_denom = peggy0x26c8AFBBFE1EBaca03C2bB082E69D0476Bffe099 +decimals = 18 + [CHZ] +peggy_denom = peggy0x3506424F91fD33084466F402d5D97f05F8e3b4AF +decimals = 18 + +[CHZlegacy] peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q6kpxy6ar5lkxqudjvryarrrttmakwsvzkvcyh decimals = 8 +[CLON] +peggy_denom = ibc/695B1D16DE4D0FD293E6B79451640974080B59AA60942974C1CC906568DED795 +decimals = 6 + +[COCK] +peggy_denom = factory/inj1eucxlpy6c387g5wrn4ee7ppshdzg3rh4t50ahf/cock +decimals = 6 + +[COKE] +peggy_denom = inj14eaxewvy7a3fk948c3g3qham98mcqpm8v5y0dp +decimals = 6 + +[COMP] +peggy_denom = peggy0xc00e94Cb662C3520282E6f5717214004A7f26888 +decimals = 18 + +[CRE] +peggy_denom = ibc/3A6DD3358D9F7ADD18CDE79BA10B400511A5DE4AE2C037D7C9639B52ADAF35C6 +decimals = 6 + +[CVR] +peggy_denom = peggy0x3c03b4ec9477809072ff9cc9292c9b25d4a8e6c6 +decimals = 18 + +[Chiliz (legacy)] +peggy_denom = inj1q6kpxy6ar5lkxqudjvryarrrttmakwsvzkvcyh +decimals = 8 + +[Cosmos] +peggy_denom = ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9 +decimals = 6 + +[DAI] +peggy_denom = peggy0x6b175474e89094c44da98b954eedeac495271d0f +decimals = 18 + +[DDL] +peggy_denom = factory/inj1put8lfpkwm47tqcl9fgh8grz987mezvrx4arls/ddl +decimals = 6 + +[DEFI5] +peggy_denom = peggy0xfa6de2697D59E88Ed7Fc4dFE5A33daC43565ea41 +decimals = 18 + +[DEMO] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/demo +decimals = 18 + +[DGNZ] +peggy_denom = factory/inj1l2kcs4yxsxe0c87qy4ejmvkgegvjf0hkyhqk59/dgnz +decimals = 6 + +[DOGE] +peggy_denom = doge +decimals = 8 + +[DOJ] +peggy_denom = factory/inj172ccd0gddgz203e4pf86ype7zjx573tn8g0df9/doj +decimals = 6 + +[DOJO] +peggy_denom = factory/inj1any4rpwq7r850u6feajg5payvhwpunu9cxqevc/dojo +decimals = 6 + +[DOT] +peggy_denom = peggy0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080 +decimals = 10 + +[DREAM] +peggy_denom = factory/inj1l2kcs4yxsxe0c87qy4ejmvkgegvjf0hkyhqk59/dream +decimals = 6 + +[DROGO] +peggy_denom = ibc/565FE65B82C091F8BAD1379FA1B4560C036C07913355ED4BD8D156DA63F43712 +decimals = 6 + +[DUDE] +peggy_denom = factory/inj1sn34edy635nv4yhts3khgpy5qxw8uey6wvzq53/dude +decimals = 6 + +[Dojo Token] +peggy_denom = inj1zdj9kqnknztl2xclm5ssv25yre09f8908d4923 +decimals = 18 + +[ELON] +peggy_denom = peggy0x43123e1d077351267113ada8bE85A058f5D492De +decimals = 6 + +[ENA] +peggy_denom = peggy0x57e114b691db790c35207b2e685d4a43181e6061 +decimals = 18 + +[ENJ] +peggy_denom = peggy0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c +decimals = 18 + +[ERIC] +peggy_denom = factory/inj1w7cw5tltax6dx7znehul98gel6yutwuvh44j77/eric +decimals = 6 + +[ETH] +peggy_denom = eth +decimals = 18 + [ETHBTCTrend] peggy_denom = peggy0x6b7f87279982d919Bbf85182DDeAB179B366D8f2 decimals = 18 +[EUR] +peggy_denom = eur +decimals = 6 + +[EVAI] +peggy_denom = peggy0x50f09629d0afDF40398a3F317cc676cA9132055c +decimals = 8 + +[EVIINDEX] +peggy_denom = eviindex +decimals = 18 + +[EVMOS] +peggy_denom = ibc/16618B7F7AC551F48C057A13F4CA5503693FBFF507719A85BC6876B8BD75F821 +decimals = 18 + +[FET] +peggy_denom = ibc/C1D3666F27EA64209584F18BC79648E0C1783BB6EEC04A8060E4A8E9881C841B +decimals = 18 + +[FTM] +peggy_denom = peggy0x4E15361FD6b4BB609Fa63C81A2be19d873717870 +decimals = 18 + +[Fetch.ai] +peggy_denom = peggy0xaea46a60368a7bd060eec7df8cba43b7ef41ad85 +decimals = 18 + +[GALAXY] +peggy_denom = factory/inj10zdjt8ylfln5xr3a2ruf9nwn6d5q2d2r3v6mh8/galaxy +decimals = 6 + +[GBP] +peggy_denom = gbp +decimals = 6 + [GF] peggy_denom = peggy0xAaEf88cEa01475125522e117BFe45cF32044E238 decimals = 18 +[GIGA] +peggy_denom = ibc/36C811A2253AA64B58A9B66C537B89348FE5792A8808AAA343082CBFCAA72278 +decimals = 5 + +[GINGER] +peggy_denom = factory/inj172ccd0gddgz203e4pf86ype7zjx573tn8g0df9/ginger +decimals = 6 + +[GLTO] +peggy_denom = peggy0xd73175f9eb15eee81745d367ae59309Ca2ceb5e2 +decimals = 6 + +[GME] +peggy_denom = ibc/CAA5AB050F6C3DFE878212A37A4A6D3BEA6670F5B9786FFF7EF2D34213025272 +decimals = 8 + +[GOLD] +peggy_denom = gold +decimals = 18 + +[GOLDIE] +peggy_denom = factory/inj130ayayz6ls8qpmu699axhlg7ygy8u6thjjk9nc/goldie +decimals = 6 + +[GROK] +peggy_denom = factory/inj1vgrf5mcvvg9p5c6jajqefn840nq74wjzgkt30z/grok +decimals = 6 + +[GRT] +peggy_denom = peggy0xc944E90C64B2c07662A292be6244BDf05Cda44a7 +decimals = 18 + +[GYEN] +peggy_denom = peggy0xC08512927D12348F6620a698105e1BAac6EcD911 +decimals = 6 + +[HDRO] +peggy_denom = factory/inj1etz0laas6h7vemg3qtd67jpr6lh8v7xz7gfzqw/hdro +decimals = 6 + +[HT] +peggy_denom = peggy0x6f259637dcD74C767781E37Bc6133cd6A68aa161 +decimals = 18 + +[HUAHUA] +peggy_denom = ibc/E7807A46C0B7B44B350DA58F51F278881B863EC4DCA94635DAB39E52C30766CB +decimals = 6 + +[Hydro] +peggy_denom = factory/inj1pk7jhvjj2lufcghmvr7gl49dzwkk3xj0uqkwfk/hdro +decimals = 6 + +[Hydro Wrapped INJ] +peggy_denom = inj1mz7mfhgx8tuvjqut03qdujrkzwlx9xhcj6yldc +decimals = 18 + +[IKINGS] +peggy_denom = factory/inj1mt876zny9j6xae25h7hl7zuqf7gkx8q63k0426/ikings +decimals = 6 + +[INCEL] +peggy_denom = factory/inj17g4j3geupy762u0wrewqwprvtzar7k5et2zqsh/incel +decimals = 6 + [INJ] -peggy_denom = inj +peggy_denom = peggy0xe28b3b32b6c345a34ff64674606124dd5aceca30 decimals = 18 -[LINK] -peggy_denom = peggy0x514910771AF9Ca656af840dff83E8264EcF986CA +[INJECT] +peggy_denom = factory/inj1j7zt6g03vpmg9p7g7qngvylfxqeuds73utsjnk/inject +decimals = 6 + +[INJER] +peggy_denom = factory/inj1sjmplasxl9zgj6yh45j3ndskgdhcfcss9djkdn/injer +decimals = 6 + +[INJINU] +peggy_denom = factory/inj1vjppa6h9lf75pt0v6qnxtej4xcl0qevnxzcrvm/injinu +decimals = 6 + +[INJX] +peggy_denom = factory/inj104h3hchl7ws8lp78zpvrunvsjdwfjc02r5d0fp/injx +decimals = 6 + +[INJbsc] +peggy_denom = inj1xcgprh58szttp0vqtztvcfy34tkpupr563ua40 decimals = 18 -[MATIC] -peggy_denom = peggy0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0 +[INJet] +peggy_denom = inj1v8gg4wzfauwf9l7895t0eyrrkwe65vh5n7dqmw decimals = 18 -[PROJ] -peggy_denom = proj +[IOTX] +peggy_denom = peggy0x6fB3e0A217407EFFf7Ca062D46c26E5d60a14d69 decimals = 18 -[SOMM] -peggy_denom = ibc/34346A60A95EB030D62D6F5BDD4B745BE18E8A693372A8A347D5D53DBBB1328B +[IPandaAI] +peggy_denom = factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/ipandaai decimals = 6 -[USC Coin (Wormhole from Ethereum)] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q6zlut7gtkzknkk773jecujwsdkgq882akqksk +[Injective] +peggy_denom = peggy0x5512c04B6FF813f3571bDF64A1d74c98B5257332 +decimals = 18 + +[Injective Panda] +peggy_denom = factory/inj183lz632dna57ayuf6unqph5d0v2u655h2jzzyy/bamboo decimals = 6 -[USD Coin] -peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj12sqy9uzzl3h3vqxam7sz9f0yvmhampcgesh3qw +[Internet Explorer] +peggy_denom = factory/inj1zhevrrwywg3az9ulxd9u233eyy4m2mmr6vegsg/ninjb decimals = 6 -[USDC] -peggy_denom = peggy0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 +[JPY] +peggy_denom = jpy decimals = 6 -[USDT] -peggy_denom = peggy0xdAC17F958D2ee523a2206206994597C13D831ec7 +[JUNO] +peggy_denom = ibc/D50E26996253EBAA8C684B9CD653FE2F7665D7BDDCA3D48D5E1378CF6334F211 +decimals = 6 + +[JUP] +peggy_denom = jup decimals = 6 -[WBTC] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku +[KAGE] +peggy_denom = inj1l49685vnk88zfw2egf6v65se7trw2497wsqk65 decimals = 18 -[WETH] -peggy_denom = peggy0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +[KARATE] +peggy_denom = factory/inj1898t0vtmul3tcn3t0v8qe3pat47ca937jkpezv/karate +decimals = 6 + +[KARMA] +peggy_denom = factory/inj1d4ld9w7mf8wjyv5y7fnhpate07fguv3s3tmngm/karma +decimals = 6 + +[KATANA] +peggy_denom = factory/inj1vwn4x08hlactxj3y3kuqddafs2hhqzapruwt87/katana +decimals = 6 + +[KAVA] +peggy_denom = ibc/57AA1A70A4BC9769C525EBF6386F7A21536E04A79D62E1981EFCEF9428EBB205 +decimals = 6 + +[KINJA] +peggy_denom = factory/inj1h33jkaqqalcy3wf8um6ewk4hxmfwf8uern470k/kinja +decimals = 6 + +[KIRA] +peggy_denom = factory/inj1xy3kvlr4q4wdd6lrelsrw2fk2ged0any44hhwq/KIRA +decimals = 6 + +[KPEPE] +peggy_denom = pepe decimals = 18 -[YFI] -peggy_denom = peggy0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e +[KUJI] +peggy_denom = ibc/9A115B56E769B92621FFF90567E2D60EFD146E86E867491DB69EEDA9ADC36204 +decimals = 6 + +[LAMA] +peggy_denom = factory/inj18lh8zx4hx0pyksyu74srktv4vgxskkkafknggl/lama +decimals = 6 + +[LAMBO] +peggy_denom = peggy0x3d2b66BC4f9D6388BD2d97B95b565BE1686aEfB3 +decimals = 18 + +[LDO] +peggy_denom = inj1me6t602jlndzxgv2d7ekcnkjuqdp7vfh4txpyy +decimals = 8 + +[LINK] +peggy_denom = peggy0x514910771AF9Ca656af840dff83E8264EcF986CA +decimals = 18 + +[LIOR] +peggy_denom = factory/inj1tgphgjqsz8fupkfjx6cy275e3s0l8xfu6rd6jh/lior +decimals = 6 + +[LUNA] +peggy_denom = ibc/B8AF5D92165F35AB31F3FC7C7B444B9D240760FA5D406C49D24862BD0284E395 +decimals = 6 + +[LVN] +peggy_denom = ibc/4971C5E4786D5995EC7EF894FCFA9CF2E127E95D5D53A982F6A062F3F410EDB8 +decimals = 6 + +[LYM] +peggy_denom = peggy0xc690f7c7fcffa6a82b79fab7508c466fefdfc8c5 +decimals = 18 + +[Lido DAO Token] +peggy_denom = peggy0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32 +decimals = 18 + +[MAGA] +peggy_denom = peggy0x576e2BeD8F7b46D34016198911Cdf9886f78bea7 +decimals = 9 + +[MATIC] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/matic +decimals = 18 + +[MEMEME] +peggy_denom = peggy0x1A963Df363D01EEBB2816b366d61C917F20e1EbE +decimals = 18 + +[MILA] +peggy_denom = factory/inj1z08usf75ecfp3cqtwey6gx7nr79s3agal3k8xf/mila +decimals = 6 + +[MILK] +peggy_denom = factory/inj1yg24mn8enl5e6v4jl2j6cce47mx4vyd6e8dpck/milk +decimals = 6 + +[MOONIFY] +peggy_denom = factory/inj1ktq0gf7altpsf0l2qzql4sfs0vc0ru75cnj3a6/moonify +decimals = 6 + +[MOTHER] +peggy_denom = ibc/984E90A8E0265B9804B7345C7542BF9B3046978AE5557B4AABADDFE605CACABE +decimals = 6 + +[MPEPE] +peggy_denom = mpepe +decimals = 18 + +[MT] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/mt +decimals = 6 + +[NBLA] +peggy_denom = factory/inj1d0zfq42409a5mhdagjutl8u6u9rgcm4h8zfmfq/nbla +decimals = 6 + +[NBZ] +peggy_denom = ibc/1011E4D6D4800DA9B8F21D7C207C0B0C18E54E614A8576037F066B775210709D +decimals = 6 + +[NBZAIRDROP] +peggy_denom = factory/inj1llr45x92t7jrqtxvc02gpkcqhqr82dvyzkr4mz/nbzairdrop +decimals = 0 + +[NEOK] +peggy_denom = ibc/F6CC233E5C0EA36B1F74AB1AF98471A2D6A80E2542856639703E908B4D93E7C4 +decimals = 18 + +[NEXO] +peggy_denom = peggy0xB62132e35a6c13ee1EE0f84dC5d40bad8d815206 +decimals = 18 + +[NINJA] +peggy_denom = factory/inj1xtel2knkt8hmc9dnzpjz6kdmacgcfmlv5f308w/ninja +decimals = 6 + +[NINJB] +peggy_denom = factory/inj1ezzzfm2exjz57hxuc65sl8s3d5y6ee0kxvu67n/ninjb +decimals = 6 + +[NLC] +peggy_denom = inj1r9h59ke0a77zkaarr4tuq25r3lt9za4r2mgyf4 +decimals = 6 + +[NOBI] +peggy_denom = factory/inj1xawhm3d8lf9n0rqdljpal033yackja3dt0kvp0/nobi +decimals = 6 + +[NOBITCHES] +peggy_denom = factory/inj14n8f39qdg6t68s5z00t4vczvkcvzlgm6ea5vk5/nobitches +decimals = 6 + +[NOIA] +peggy_denom = peggy0xa8c8CfB141A3bB59FEA1E2ea6B79b5ECBCD7b6ca +decimals = 18 + +[NOIS] +peggy_denom = ibc/DD9182E8E2B13C89D6B4707C7B43E8DB6193F9FF486AFA0E6CF86B427B0D231A +decimals = 6 + +[NONE] +peggy_denom = peggy0x903ff0ba636E32De1767A4B5eEb55c155763D8B7 +decimals = 18 + +[NONJA] +peggy_denom = inj1fu5u29slsg2xtsj7v5la22vl4mr4ywl7wlqeck +decimals = 18 + +[NPEPE] +peggy_denom = factory/inj1ga982yy0wumrlt4nnj79wcgmw7mzvw6jcyecl0/npepe +decimals = 6 + +[Neptune Receipt INJ] +peggy_denom = inj1rmzufd7h09sqfrre5dtvu5d09ta7c0t4jzkr2f +decimals = 18 + +[OCEAN] +peggy_denom = peggy0x967da4048cD07aB37855c090aAF366e4ce1b9F48 +decimals = 18 + +[OMI] +peggy_denom = peggy0xed35af169af46a02ee13b9d79eb57d6d68c1749e +decimals = 18 + +[OMNI] +peggy_denom = peggy0x36e66fbbce51e4cd5bd3c62b637eb411b18949d4 +decimals = 18 + +[OP] +peggy_denom = op +decimals = 18 + +[ORAI] +peggy_denom = ibc/C20C0A822BD22B2CEF0D067400FCCFB6FAEEE9E91D360B4E0725BD522302D565 +decimals = 6 + +[ORNE] +peggy_denom = ibc/3D99439444ACDEE71DBC4A774E49DB74B58846CCE31B9A868A7A61E4C14D321E +decimals = 6 + +[OSMO] +peggy_denom = ibc/92E0120F15D037353CFB73C14651FC8930ADC05B93100FD7754D3A689E53B333 +decimals = 6 + +[OX] +peggy_denom = peggy0x78a0A62Fba6Fb21A83FE8a3433d44C73a4017A6f +decimals = 18 + +[Oraichain] +peggy_denom = peggy0x4c11249814f11b9346808179Cf06e71ac328c1b5 +decimals = 18 + +[PAXG] +peggy_denom = peggy0x45804880De22913dAFE09f4980848ECE6EcbAf78 +decimals = 18 + +[PEPE] +peggy_denom = peggy0x6982508145454ce325ddbe47a25d4ec3d2311933 +decimals = 18 + +[PHUC] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/phuc +decimals = 6 + +[PIKA] +peggy_denom = factory/inj1h4usvhhva6dgmun9rk4haeh8lynln7yhk6ym00/pika +decimals = 6 + +[POINT] +peggy_denom = factory/inj1zaem9jqplp08hkkd5vcl6vmvala9qury79vfj4/point +decimals = 0 + +[POOL] +peggy_denom = peggy0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e +decimals = 18 + +[POOR] +peggy_denom = peggy0x9D433Fa992C5933D6843f8669019Da6D512fd5e9 +decimals = 8 + +[PROJ] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/proj +decimals = 18 + +[PROJX] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/projx +decimals = 18 + +[PUG] +peggy_denom = peggy0xf9a06dE3F6639E6ee4F079095D5093644Ad85E8b +decimals = 18 + +[PUNK] +peggy_denom = factory/inj1esz96ru3guug4ctmn5chjmkymt979sfvufq0hs/punk +decimals = 6 + +[PVP] +peggy_denom = peggy0x9B44793a0177C84DD01AD81137db696531902871 +decimals = 8 + +[PYTH] +peggy_denom = ibc/F3330C1B8BD1886FE9509B94C7B5398B892EA41420D2BC0B7C6A53CB8ED761D6 +decimals = 6 + +[PYTHlegacy] +peggy_denom = inj1tjcf9497fwmrnk22jfu5hsdq82qshga54ajvzy +decimals = 6 + +[PYUSD] +peggy_denom = peggy0x6c3ea9036406852006290770BEdFcAbA0e23A0e8 +decimals = 6 + +[Phuc] +peggy_denom = factory/inj1995xnrrtnmtdgjmx0g937vf28dwefhkhy6gy5e/phuc +decimals = 6 + +[Pikachu] +peggy_denom = factory/inj1h9zu2u6yqf3t5uym75z94zsqfhazzkyg39957u/pika +decimals = 6 + +[Polkadot] +peggy_denom = inj1spzwwtr2luljr300ng2gu52zg7wn7j44m92mdf +decimals = 10 + +[Polygon] +peggy_denom = peggy0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0 +decimals = 18 + +[Punk Token] +peggy_denom = inj1wmrzttj7ms7glplek348vedx4v2ls467n539xt +decimals = 18 + +[QAT] +peggy_denom = peggy0x5Ac3A2F6205a481C7a8984E4291E450e52cd0369 +decimals = 18 + +[QNT] +peggy_denom = peggy0x4a220e6096b25eadb88358cb44068a3248254675 +decimals = 18 + +[QUNT] +peggy_denom = factory/inj127l5a2wmkyvucxdlupqyac3y0v6wqfhq03ka64/qunt +decimals = 6 + +[RAI] +peggy_denom = peggy0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919 +decimals = 18 + +[RAMEN] +peggy_denom = factory/inj1z5utcc5u90n8a5m8gv30char6j4hdzxz6t3pke/ramen +decimals = 6 + +[RIBBIT] +peggy_denom = peggy0xb794Ad95317f75c44090f64955954C3849315fFe +decimals = 18 + +[RICE] +peggy_denom = factory/inj1mt876zny9j6xae25h7hl7zuqf7gkx8q63k0426/rice +decimals = 12 + +[ROOT] +peggy_denom = peggy0xa3d4BEe77B05d4a0C943877558Ce21A763C4fa29 +decimals = 6 + +[RUNE] +peggy_denom = peggy0x3155BA85D5F96b2d030a4966AF206230e46849cb +decimals = 18 + +[SAE] +peggy_denom = factory/inj152mdu38fkkk4fl7ycrpdqxpm63w3ztadgtktyr/sae +decimals = 6 + +[SAGA] +peggy_denom = ibc/AF921F0874131B56897A11AA3F33D5B29CD9C147A1D7C37FE8D918CB420956B2 +decimals = 6 + +[SCRT] +peggy_denom = ibc/0954E1C28EB7AF5B72D24F3BC2B47BBB2FDF91BDDFD57B74B99E133AED40972A +decimals = 6 + +[SDEX] +peggy_denom = peggy0x5DE8ab7E27f6E7A1fFf3E5B337584Aa43961BEeF +decimals = 18 + +[SEI] +peggy_denom = sei +decimals = 6 + +[SHIB] +peggy_denom = peggy0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE +decimals = 18 + +[SHROOM] +peggy_denom = inj1300xcg9naqy00fujsr9r8alwk7dh65uqu87xm8 +decimals = 18 + +[SHURIKEN] +peggy_denom = factory/inj1z426atp9k68uv49kaam7m0vnehw5fulxkyvde0/shuriken +decimals = 6 + +[SKIPBIDIDOBDOBDOBYESYESYESYES] +peggy_denom = peggy0x5085202d0A4D8E4724Aa98C42856441c3b97Bc6d +decimals = 9 + +[SMELLY] +peggy_denom = factory/inj10pz3xq7zf8xudqxaqealgyrnfk66u3c99ud5m2/smelly +decimals = 6 + +[SNOWY] +peggy_denom = factory/inj1ml33x7lkxk6x2x95d3alw4h84evlcdz2gnehmk/snowy +decimals = 6 + +[SNS] +peggy_denom = ibc/4BFB3FB1903142C5A7570EE7697636436E52FDB99AB8ABE0257E178A926E2568 +decimals = 8 + +[SNX] +peggy_denom = peggy0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F +decimals = 18 + +[SOL] +peggy_denom = ibc/A8B0B746B5AB736C2D8577259B510D56B8AF598008F68041E3D634BCDE72BE97 +decimals = 8 + +[SOLlegacy] +peggy_denom = inj1sthrn5ep8ls5vzz8f9gp89khhmedahhdkqa8z3 +decimals = 8 + +[SOMM] +peggy_denom = ibc/34346A60A95EB030D62D6F5BDD4B745BE18E8A693372A8A347D5D53DBBB1328B +decimals = 6 + +[SPUUN] +peggy_denom = factory/inj1flkktfvf8nxvk300f2z3vxglpllpw59c563pk7/spuun +decimals = 6 + +[STARS] +peggy_denom = peggy0xc55c2175E90A46602fD42e931f62B3Acc1A013Ca +decimals = 18 + +[STINJ] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/stinj +decimals = 18 + +[STRD] +peggy_denom = ibc/3FDD002A3A4019B05A33D324B2F29748E77AF501BEA5C96D1F28B2D6755F9F25 +decimals = 6 + +[STT] +peggy_denom = peggy0xaC9Bb427953aC7FDDC562ADcA86CF42D988047Fd +decimals = 18 + +[STX] +peggy_denom = stx +decimals = 6 + +[SUI] +peggy_denom = sui +decimals = 9 + +[SUSHI] +peggy_denom = inj1n73yuus64z0yrda9hvn77twkspc4uste9j9ydd +decimals = 18 + +[SWAP] +peggy_denom = peggy0xcc4304a31d09258b0029ea7fe63d032f52e44efe +decimals = 18 + +[Shiba INJ] +peggy_denom = factory/inj1v0yk4msqsff7e9zf8ktxykfhz2hen6t2u4ue4r/shiba inj +decimals = 6 + +[Shinobi] +peggy_denom = factory/inj1t02au5gsk40ev9jaq0ggcyry9deuvvza6s4wav/nobi +decimals = 6 + +[Shuriken Token] +peggy_denom = factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/shuriken +decimals = 6 + +[Solana] +peggy_denom = inj12ngevx045zpvacus9s6anr258gkwpmthnz80e9 +decimals = 8 + +[Sommelier] +peggy_denom = peggy0xa670d7237398238DE01267472C6f13e5B8010FD1 +decimals = 6 + +[SteadyBTC] +peggy_denom = peggy0x4986fD36b6b16f49b43282Ee2e24C5cF90ed166d +decimals = 18 + +[SteadyETH] +peggy_denom = peggy0x3F07A84eCdf494310D397d24c1C78B041D2fa622 +decimals = 18 + +[Stride Staked Injective] +peggy_denom = ibc/AC87717EA002B0123B10A05063E69BCA274BA2C44D842AEEB41558D2856DCE93 +decimals = 18 + +[Summoners Arena Essence] +peggy_denom = ibc/0AFCFFE18230E0E703A527F7522223D808EBB0E02FDBC84AAF8A045CD8FE0BBB +decimals = 8 + +[SushiSwap] +peggy_denom = peggy0x6B3595068778DD592e39A122f4f5a5cF09C90fE2 +decimals = 18 + +[TAB] +peggy_denom = peggy0x36B3D7ACe7201E28040eFf30e815290D7b37ffaD +decimals = 18 + +[TALIS] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/talis +decimals = 6 + +[TEST1] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/test1 +decimals = 6 + +[TEST2] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/test2 +decimals = 6 + +[TEST3] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/test3 +decimals = 6 + +[TEvmos] +peggy_denom = ibc/300B5A980CA53175DBAC918907B47A2885CADD17042AD58209E777217D64AF20 +decimals = 18 + +[TIA] +peggy_denom = ibc/F51BB221BAA275F2EBF654F70B005627D7E713AFFD6D86AFD1E43CAA886149F4 +decimals = 6 + +[TIX] +peggy_denom = factory/inj1rw3qvamxgmvyexuz2uhyfa4hukvtvteznxjvke/tix +decimals = 6 + +[TRUCPI] +peggy_denom = trucpi +decimals = 18 + +[Terra] +peggy_denom = peggy0xd2877702675e6cEb975b4A1dFf9fb7BAF4C91ea9 +decimals = 6 + +[TerraUSD] +peggy_denom = peggy0xa47c8bf37f92aBed4A126BDA807A7b7498661acD +decimals = 18 + +[Test QAT] +peggy_denom = peggy0x1902e18fEB1234D00d880f1fACA5C8d74e8501E9 +decimals = 18 + +[Tether] +peggy_denom = peggy0xdAC17F958D2ee523a2206206994597C13D831ec7 +decimals = 6 + +[UMA] +peggy_denom = peggy0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828 +decimals = 18 + +[UNI] +peggy_denom = peggy0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984 +decimals = 18 + +[UPHOTON] +peggy_denom = ibc/48BC9C6ACBDFC1EBA034F1859245D53EA4BF74147189D66F27C23BF966335DFB +decimals = 6 + +[USD Coin] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj12sqy9uzzl3h3vqxam7sz9f0yvmhampcgesh3qw +decimals = 6 + +[USD Coin (legacy)] +peggy_denom = inj1q6zlut7gtkzknkk773jecujwsdkgq882akqksk +decimals = 6 + +[USDC] +peggy_denom = ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E +decimals = 6 + +[USDC-MPL] +peggy_denom = peggy0xf875aef00C4E21E9Ab4A335eB36A1175Ab00424A +decimals = 6 + +[USDCarb] +peggy_denom = inj1lmcfftadjkt4gt3lcvmz6qn4dhx59dv2m7yv8r +decimals = 6 + +[USDCbsc] +peggy_denom = inj1dngqzz6wphf07fkdam7dn55t8t3r6qenewy9zu +decimals = 6 + +[USDCet] +peggy_denom = inj12sqy9uzzl3h3vqxam7sz9f0yvmhampcgesh3qw +decimals = 6 + +[USDCgateway] +peggy_denom = ibc/7BE71BB68C781453F6BB10114F8E2DF8DC37BA791C502F5389EA10E7BEA68323 +decimals = 6 + +[USDClegacy] +peggy_denom = peggy0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 +decimals = 6 + +[USDCpoly] +peggy_denom = inj19s2r64ghfqq3py7f5dr0ynk8yj0nmngca3yvy3 +decimals = 6 + +[USDCso] +peggy_denom = inj12pwnhtv7yat2s30xuf4gdk9qm85v4j3e60dgvu +decimals = 6 + +[USDT] +peggy_denom = peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5 +decimals = 6 + +[USDTap] +peggy_denom = inj13yrhllhe40sd3nj0lde9azlwfkyrf2t9r78dx5 +decimals = 6 + +[USDTbsc] +peggy_denom = inj1l9eyrnv3ret8da3qh8j5aytp6q4f73crd505lj +decimals = 6 + +[USDTet] +peggy_denom = inj18zykysxw9pcvtyr9ylhe0p5s7yzf6pzdagune8 +decimals = 6 + +[USDTkv] +peggy_denom = ibc/4ABBEF4C8926DDDB320AE5188CFD63267ABBCEFC0583E4AE05D6E5AA2401DDAB +decimals = 6 + +[USDTso] +peggy_denom = inj1qjn06jt7zjhdqxgud07nylkpgnaurq6xc5c4fd +decimals = 6 + +[USDY] +peggy_denom = ibc/93EAE5F9D6C14BFAC8DD1AFDBE95501055A7B22C5D8FA8C986C31D6EFADCA8A9 +decimals = 18 + +[USDYet] +peggy_denom = peggy0x96F6eF951840721AdBF46Ac996b59E0235CB985C +decimals = 18 + +[USDe] +peggy_denom = peggy0x4c9EDD5852cd905f086C759E8383e09bff1E68B3 +decimals = 18 + +[UST] +peggy_denom = ibc/B448C0CA358B958301D328CCDC5D5AD642FC30A6D3AE106FF721DB315F3DDE5C +decimals = 18 + +[UTK] +peggy_denom = peggy0xdc9Ac3C20D1ed0B540dF9b1feDC10039Df13F99c +decimals = 18 + +[UUST] +peggy_denom = ibc/C643B73073217F778DD7BDCB74C7EBCEF8E7EF81614FFA3C1C31861221AA9C4A +decimals = 0 + +[Unknown] +peggy_denom = ibc/88C49ADE2E583244058E4786C9FAE1AC431D55289EE31D59DDCC45201A60B82E +decimals = 0 + +[VATRENI] +peggy_denom = inj1tn457ed2gg5vj2cur5khjjw63w73y3xhyhtaay +decimals = 8 + +[VRD] +peggy_denom = peggy0xf25304e75026E6a35FEDcA3B0889aE5c4D3C55D8 +decimals = 18 + +[W] +peggy_denom = ibc/F16F0F685BEF7BC6A145F16CBE78C6EC8C7C3A5F3066A98A9E57DCEA0903E537 +decimals = 6 + +[WAGMI] +peggy_denom = factory/inj188veuqed0dygkcmq5d24u3807n6csv4wdv28gh/wagmi +decimals = 9 + +[WAIFU] +peggy_denom = factory/inj12dvzf9tx2ndc9498aqpkrxgugr3suysqwlmn49/waifu +decimals = 6 + +[WASSIE] +peggy_denom = peggy0x2c95d751da37a5c1d9c5a7fd465c1d50f3d96160 +decimals = 18 + +[WGLMR-WEI] +peggy_denom = ibc/8FF72FB47F07B4AFA8649500A168683BEFCB9EE164BD331FA597D26224D51055 +decimals = 0 + +[WGMI] +peggy_denom = factory/inj1rmjzj9fn47kdmfk4f3z39qr6czexxe0yjyc546/wgmi +decimals = 6 + +[WHALE] +peggy_denom = ibc/D6E6A20ABDD600742D22464340A7701558027759CE14D12590F8EA869CCCF445 +decimals = 6 + +[WIF] +peggy_denom = wif +decimals = 6 + +[WIZZ] +peggy_denom = factory/inj1uvfpvnmuqhx8jwg4786y59tkagmph827h38mst/wizz +decimals = 6 + +[WKLAY] +peggy_denom = inj14cl67lprqkt3pncjav070gavaxslc0tzpc56f4 +decimals = 8 + +[WMATIC] +peggy_denom = ibc/4DEFEB42BAAB2788723759D95B7550BCE460855563ED977036248F5B94C842FC +decimals = 8 + +[WMATIClegacy] +peggy_denom = inj1dxv423h8ygzgxmxnvrf33ws3k94aedfdevxd8h +decimals = 8 + +[WOSMO] +peggy_denom = ibc/DD648F5D3CDA56D0D8D8820CF703D246B9FC4007725D8B38D23A21FF1A1477E3 +decimals = 6 + +[WSTETH] +peggy_denom = peggy0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0 +decimals = 18 + +[Wrapped Bitcoin] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/wbtc +decimals = 8 + +[Wrapped Ethereum] +peggy_denom = inj1k9r62py07wydch6sj5sfvun93e4qe0lg7jyatc +decimals = 8 + +[XAC] +peggy_denom = peggy0xDe4C5a791913838027a2185709E98c5C6027EA63 +decimals = 8 + +[XAG] +peggy_denom = xag +decimals = 6 + +[XAU] +peggy_denom = xau +decimals = 6 + +[XBX] +peggy_denom = peggy0x080B12E80C9b45e97C23b6ad10a16B3e2a123949 +decimals = 18 + +[XIII] +peggy_denom = factory/inj18flmwwaxxqj8m8l5zl8xhjrnah98fcjp3gcy3e/xiii +decimals = 6 + +[XION] +peggy_denom = ibc/DAB0823884DB5785F08EE136EE9EB362E166F4C7455716641B03E93CE7F14193 +decimals = 6 + +[XNJ] +peggy_denom = inj17pgmlk6fpfmqyffs205l98pmnmp688mt0948ar +decimals = 18 + +[XPLA] +peggy_denom = inj1j08452mqwadp8xu25kn9rleyl2gufgfjqjvewe +decimals = 8 + +[XPRT] +peggy_denom = ibc/B786E7CBBF026F6F15A8DA248E0F18C62A0F7A70CB2DABD9239398C8B5150ABB +decimals = 6 + +[XRP] +peggy_denom = peggy0x1d2f0da169ceb9fc7b3144628db156f3f6c60dbe +decimals = 18 + +[XTALIS] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/xtalis +decimals = 6 + +[YFI] +peggy_denom = peggy0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e +decimals = 18 + +[YUKI] +peggy_denom = factory/inj1spdy83ds5ezq9rvtg0ndy8480ad5rlczcpvtu2/yuki +decimals = 6 + +[ZEN] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/zen +decimals = 18 + +[ZIG] +peggy_denom = peggy0xb2617246d0c6c0087f18703d576831899ca94f01 +decimals = 18 + +[ZK] +peggy_denom = zk +decimals = 18 + +[ZRO] +peggy_denom = zro +decimals = 6 + +[ZRX] +peggy_denom = peggy0xE41d2489571d322189246DaFA5ebDe1F4699F498 +decimals = 18 + +[axlUSDC] +peggy_denom = ibc/7E1AF94AD246BE522892751046F0C959B768642E5671CC3742264068D49553C0 +decimals = 6 + +[dINJ] +peggy_denom = inj134wfjutywny9qnyux2xgdmm0hfj7mwpl39r3r9 +decimals = 18 + +[dYdX] +peggy_denom = peggy0x92d6c1e31e14520e676a687f0a93788b716beff5 +decimals = 18 + +[ezETH] +peggy_denom = peggy0xbf5495Efe5DB9ce00f80364C8B423567e58d2110 +decimals = 18 + +[fUSDT] +peggy_denom = peggy0x81994b9607e06ab3d5cF3AffF9a67374f05F27d7 +decimals = 8 + +[factory/inj153e2w8u77h4ytrhgry846k5t8n9uea8xtal6d7/lp] +peggy_denom = factory/inj153e2w8u77h4ytrhgry846k5t8n9uea8xtal6d7/lp +decimals = 0 + +[factory/inj1lv0mhwcu3y4p9av5nafct8j7y4ag6lmlfuxuy3/lp] +peggy_denom = factory/inj1lv0mhwcu3y4p9av5nafct8j7y4ag6lmlfuxuy3/lp +decimals = 0 + +[factory/inj1uukt3kqela4vsllvrqnrgllkna5wn3cm588w6k/inj1kwdranvwf6vl2grh99layugwdnph6um2e8k25g] +peggy_denom = factory/inj1uukt3kqela4vsllvrqnrgllkna5wn3cm588w6k/inj1kwdranvwf6vl2grh99layugwdnph6um2e8k25g +decimals = 0 + +[factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj149ltwdnpxrhx9al42s359glcjnsuc6x3gfemjd] +peggy_denom = factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj149ltwdnpxrhx9al42s359glcjnsuc6x3gfemjd +decimals = 0 + +[factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj1ery8l6jquynn9a4cz2pff6khg8c68f7u20ufuj] +peggy_denom = factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj1ery8l6jquynn9a4cz2pff6khg8c68f7u20ufuj +decimals = 0 + +[factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj1up07dctjqud4fns75cnpejr4frmjtddztvuruc] +peggy_denom = factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj1up07dctjqud4fns75cnpejr4frmjtddztvuruc +decimals = 0 + +[factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj1vauk4puffxad4r3qs3ex0vfl5mkuw5xe8aya8c] +peggy_denom = factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj1vauk4puffxad4r3qs3ex0vfl5mkuw5xe8aya8c +decimals = 0 + +[factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj1w798gp0zqv3s9hjl3jlnwxtwhykga6rnx4llty] +peggy_denom = factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj1w798gp0zqv3s9hjl3jlnwxtwhykga6rnx4llty +decimals = 0 + +[hINJ] +peggy_denom = inj18luqttqyckgpddndh8hvaq25d5nfwjc78m56lc +decimals = 18 + +[lootbox1] +peggy_denom = factory/inj1llr45x92t7jrqtxvc02gpkcqhqr82dvyzkr4mz/lootbox1 +decimals = 0 + +[nATOM] +peggy_denom = inj16jf4qkcarp3lan4wl2qkrelf4kduvvujwg0780 +decimals = 6 + +[nINJ] +peggy_denom = inj13xlpypcwl5fuc84uhqzzqumnrcfpptyl6w3vrf +decimals = 18 + +[nTIA] +peggy_denom = inj1fzquxxxam59z6fzewy2hvvreeh3m04x83zg4vv +decimals = 6 + +[nUSDT] +peggy_denom = inj1cy9hes20vww2yr6crvs75gxy5hpycya2hmjg9s +decimals = 6 + +[nWETH] +peggy_denom = inj1kehk5nvreklhylx22p3x0yjydfsz9fv3fvg5xt +decimals = 18 + +[proj] +peggy_denom = proj +decimals = 18 + +[sUSDE] +peggy_denom = peggy0x9D39A5DE30e57443BfF2A8307A4256c8797A3497 +decimals = 18 + +[share11] +peggy_denom = share11 +decimals = 18 + +[share13] +peggy_denom = share13 +decimals = 18 + +[share14] +peggy_denom = share14 +decimals = 18 + +[share15] +peggy_denom = share15 +decimals = 18 + +[share16] +peggy_denom = share16 +decimals = 18 + +[share17] +peggy_denom = share17 +decimals = 18 + +[share18] +peggy_denom = share18 +decimals = 18 + +[share19] +peggy_denom = share19 +decimals = 18 + +[share20] +peggy_denom = share20 +decimals = 18 + +[share21] +peggy_denom = share21 +decimals = 18 + +[share22] +peggy_denom = share22 +decimals = 18 + +[share23] +peggy_denom = share23 +decimals = 18 + +[share24] +peggy_denom = share24 +decimals = 18 + +[share25] +peggy_denom = share25 +decimals = 18 + +[share26] +peggy_denom = share26 +decimals = 18 + +[share27] +peggy_denom = share27 +decimals = 18 + +[share28] +peggy_denom = share28 +decimals = 18 + +[share29] +peggy_denom = share29 +decimals = 18 + +[share30] +peggy_denom = share30 +decimals = 18 + +[share31] +peggy_denom = share31 +decimals = 18 + +[share9] +peggy_denom = share9 +decimals = 18 + +[stETH] +peggy_denom = peggy0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84 +decimals = 18 + +[wBTC] +peggy_denom = peggy0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 +decimals = 8 + +[wETH] +peggy_denom = peggy0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +decimals = 18 + +[wUSDM] +peggy_denom = peggy0x57F5E098CaD7A3D1Eed53991D4d66C45C9AF7812 decimals = 18 diff --git a/client/metadata/assets/mainnet.ini b/client/metadata/assets/mainnet.ini index b2430837..7716e5e7 100644 --- a/client/metadata/assets/mainnet.ini +++ b/client/metadata/assets/mainnet.ini @@ -119,8 +119,8 @@ min_display_quantity_tick_size = 0.001 description = 'Mainnet Spot WETH/USDT' base = 18 quote = 6 -min_price_tick_size = 0.0000000000001 -min_display_price_tick_size = 0.1 +min_price_tick_size = 0.000000000000001 +min_display_price_tick_size = 0.001 min_quantity_tick_size = 1000000000000000 min_display_quantity_tick_size = 0.001 @@ -191,8 +191,8 @@ min_display_quantity_tick_size = 0.01 description = 'Mainnet Spot ATOM/USDT' base = 6 quote = 6 -min_price_tick_size = 0.001 -min_display_price_tick_size = 0.001 +min_price_tick_size = 0.01 +min_display_price_tick_size = 0.01 min_quantity_tick_size = 10000 min_display_quantity_tick_size = 0.01 @@ -200,35 +200,35 @@ min_display_quantity_tick_size = 0.01 description = 'Mainnet Spot GF/USDT' base = 18 quote = 6 -min_price_tick_size = 0.0000000000000001 -min_display_price_tick_size = 0.0001 +min_price_tick_size = 0.000000000000001 +min_display_price_tick_size = 0.001 min_quantity_tick_size = 1000000000000000 min_display_quantity_tick_size = 0.001 -[0xdce84d5e9c4560b549256f34583fb4ed07c82026987451d5da361e6e238287b3] -description = 'Mainnet Spot LUNA/UST' -base = 6 -quote = 6 -min_price_tick_size = 0.00000001 -min_display_price_tick_size = 0.00000001 -min_quantity_tick_size = 100000 -min_display_quantity_tick_size = 0.1 - [0x0f1a11df46d748c2b20681273d9528021522c6a0db00de4684503bbd53bef16e] description = 'Mainnet Spot UST/USDT' -base = 6 +base = 18 quote = 6 min_price_tick_size = 0.0001 -min_display_price_tick_size = 0.0001 +min_display_price_tick_size = 100000000 min_quantity_tick_size = 10000 -min_display_quantity_tick_size = 0.01 +min_display_quantity_tick_size = 0.00000000000001 + +[0xdce84d5e9c4560b549256f34583fb4ed07c82026987451d5da361e6e238287b3] +description = 'Mainnet Spot LUNA/UST' +base = 6 +quote = 18 +min_price_tick_size = 0.01 +min_display_price_tick_size = 0.00000000000001 +min_quantity_tick_size = 100000 +min_display_quantity_tick_size = 0.1 [0xfbc729e93b05b4c48916c1433c9f9c2ddb24605a73483303ea0f87a8886b52af] description = 'Mainnet Spot INJ/UST' base = 18 -quote = 6 +quote = 18 min_price_tick_size = 0.000000000000001 -min_display_price_tick_size = 0.001 +min_display_price_tick_size = 0.000000000000001 min_quantity_tick_size = 1000000000000000 min_display_quantity_tick_size = 0.001 @@ -277,786 +277,11748 @@ min_display_price_tick_size = 0.0001 min_quantity_tick_size = 1000 min_display_quantity_tick_size = 0.001 -[0xd5f5895102b67300a2f8f2c2e4b8d7c4c820d612bc93c039ba8cb5b93ccedf22] -description = 'Mainnet Spot DOT/USDT' -base = 10 +[0x4ca0f92fc28be0c9761326016b5a1a2177dd6375558365116b5bdda9abc229ce] +description = 'Mainnet Derivative BTC/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 100000 +min_display_price_tick_size = 0.1 +min_quantity_tick_size = 0.0001 +min_display_quantity_tick_size = 0.0001 + +[0x54d4505adef6a5cef26bc403a33d595620ded4e15b9e2bc3dd489b714813366a] +description = 'Mainnet Derivative ETH/USDT PERP' +base = 0 quote = 6 -min_price_tick_size = 0.000001 +min_price_tick_size = 10000 min_display_price_tick_size = 0.01 -min_quantity_tick_size = 100000000 +min_quantity_tick_size = 0.01 min_display_quantity_tick_size = 0.01 -[0xabc20971099f5df5d1de138f8ea871e7e9832e3b0b54b61056eae15b09fed678] -description = 'Mainnet Spot USDC/USDT' -base = 6 +[0x1c79dac019f73e4060494ab1b4fcba734350656d6fc4d474f6a238c13c6f9ced] +description = 'Mainnet Derivative BNB/USDT PERP' +base = 0 quote = 6 -min_price_tick_size = 0.0001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 1000000 -min_display_quantity_tick_size = 1 +min_price_tick_size = 10000 +min_display_price_tick_size = 0.01 +min_quantity_tick_size = 0.01 +min_display_quantity_tick_size = 0.01 -[0xcd4b823ad32db2245b61bf498936145d22cdedab808d2f9d65100330da315d29] -description = 'Mainnet Spot STRD/USDT' -base = 6 +[0x9b9980167ecc3645ff1a5517886652d94a0825e54a77d2057cbbe3ebee015963] +description = 'Mainnet Derivative INJ/USDT PERP' +base = 0 quote = 6 -min_price_tick_size = 0.0001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 1000 +min_price_tick_size = 1000 +min_display_price_tick_size = 0.001 +min_quantity_tick_size = 0.001 min_display_quantity_tick_size = 0.001 -[0x4807e9ac33c565b4278fb9d288bd79546abbf5a368dfc73f160fe9caa37a70b1] -description = 'Mainnet Spot axlUSDC/USDT' -base = 6 -quote = 6 -min_price_tick_size = 0.0001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 1000000 -min_display_quantity_tick_size = 1 - -[0xe03df6e1571acb076c3d8f22564a692413b6843ad2df67411d8d8e56449c7ff4] -description = 'Mainnet Spot CRE/USDT' -base = 6 -quote = 6 -min_price_tick_size = 0.0001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 1000 -min_display_quantity_tick_size = 0.001 +[0x8158e603fb80c4e417696b0e98765b4ca89dcf886d3b9b2b90dc15bfb1aebd51] +description = 'Mainnet Derivative LUNA/UST PERP' +base = 0 +quote = 18 +min_price_tick_size = 10000 +min_display_price_tick_size = 0.00000000000001 +min_quantity_tick_size = 0.1 +min_display_quantity_tick_size = 0.1 -[0x219b522871725d175f63d5cb0a55e95aa688b1c030272c5ae967331e45620032] -description = 'Mainnet Spot SteadyETH/USDT' -base = 18 +[0xc559df216747fc11540e638646c384ad977617d6d8f0ea5ffdfc18d52e58ab01] +description = 'Mainnet Derivative ATOM/USDT PERP' +base = 0 quote = 6 -min_price_tick_size = 0.000000000000001 +min_price_tick_size = 1000 min_display_price_tick_size = 0.001 -min_quantity_tick_size = 10000000000000000 +min_quantity_tick_size = 0.01 min_display_quantity_tick_size = 0.01 -[0x510855ccf9148b47c6114e1c9e26731f9fd68a6f6dbc5d148152d02c0f3e5ce0] -description = 'Mainnet Spot SteadyBTC/USDT' -base = 18 +[0xc60c2ba4c11976e4c10ed7c1f5ca789b63282d0b3782ec3d7fc29dec9f43415e] +description = 'Mainnet Derivative STX/USDT PERP' +base = 0 quote = 6 -min_price_tick_size = 0.000000000000001 +min_price_tick_size = 1000 min_display_price_tick_size = 0.001 -min_quantity_tick_size = 10000000000000000 +min_quantity_tick_size = 0.1 +min_display_quantity_tick_size = 0.1 + +[0x2d1fc1ebff7cae29d6f85d3a2bb7f3f6f2bab12a25d6cc2834bcb06d7b08fd74] +description = 'Mainnet Derivative BAYC/WETH PERP' +base = 0 +quote = 18 +min_price_tick_size = 100000000000000 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 0.0001 +min_display_quantity_tick_size = 0.0001 + +[0x8c7fd5e6a7f49d840512a43d95389a78e60ebaf0cde1af86b26a785eb23b3be5] +description = 'Mainnet Derivative OSMO/UST PERP' +base = 0 +quote = 18 +min_price_tick_size = 1000 +min_display_price_tick_size = 0.000000000000001 +min_quantity_tick_size = 0.01 min_display_quantity_tick_size = 0.01 -[0x2021159081a88c9a627c66f770fb60c7be78d492509c89b203e1829d0413995a] -description = 'Mainnet Spot ETHBTCTrend/USDT' -base = 18 +[0xcf18525b53e54ad7d27477426ade06d69d8d56d2f3bf35fe5ce2ad9eb97c2fbc] +description = 'Mainnet Derivative OSMO/USDT PERP' +base = 0 quote = 6 -min_price_tick_size = 0.000000000000001 +min_price_tick_size = 1000 min_display_price_tick_size = 0.001 -min_quantity_tick_size = 10000000000000000 +min_quantity_tick_size = 0.01 min_display_quantity_tick_size = 0.01 -[0x0686357b934c761784d58a2b8b12618dfe557de108a220e06f8f6580abb83aab] -description = 'Mainnet Spot SOMM/USDT' -base = 6 -quote = 6 -min_price_tick_size = 0.0001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 1000000 -min_display_quantity_tick_size = 1 +[ tether] +peggy_denom = inj1wpeh7cm7s0mj7m3x6vrf5hvxfx2xusz5l27evk +decimals = 18 -[0x84ba79ffde31db8273a9655eb515cb6cadfdf451b8f57b83eb3f78dca5bbbe6d] -description = 'Mainnet Spot SOL/USDC' -base = 8 -quote = 6 -min_price_tick_size = 0.0001 -min_display_price_tick_size = 0.01 -min_quantity_tick_size = 1000000 -min_display_quantity_tick_size = 0.01 +[$ALIEN] +peggy_denom = factory/inj1mly2ykhf6f9tdj58pvndjf4q8dzdl4myjqm9t6/ALIEN +decimals = 6 -[0xb825e2e4dbe369446e454e21c16e041cbc4d95d73f025c369f92210e82d2106f] -description = 'Mainnet Spot USDCso/USDCet' -base = 6 -quote = 6 -min_price_tick_size = 0.0001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 100 -min_display_quantity_tick_size = 0.0001 +[$AOI] +peggy_denom = factory/inj169ed97mcnf8ay6rgvskn95n6tyt46uwvy5qgs0/$aoi +decimals = 6 -[0xf66f797a0ff49bd2170a04d288ca3f13b5df1c822a7b0cc4204aca64a5860666] -description = 'Mainnet Spot USDC/USDCet' -base = 6 -quote = 6 -min_price_tick_size = 0.0001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 100 -min_display_quantity_tick_size = 0.0001 +[$Babykira] +peggy_denom = factory/inj13vau2mgx6mg7ams9nngjhyng58tl9zyw0n8s93/BABYKIRA +decimals = 6 -[0xda0bb7a7d8361d17a9d2327ed161748f33ecbf02738b45a7dd1d812735d1531c] -description = 'Mainnet Spot USDT/USDC' -base = 6 -quote = 6 -min_price_tick_size = 0.0001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 100 -min_display_quantity_tick_size = 0.0001 +[$NINJA] +peggy_denom = inj1yngv6had7vm443k220q9ttg0sc4zkpdwp70fmq +decimals = 6 -[0x4fa0bd2c2adbfe077f58395c18a72f5cbf89532743e3bddf43bc7aba706b0b74] -description = 'Mainnet Spot CHZ/USDC' -base = 8 -quote = 6 -min_price_tick_size = 0.000001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 100000000 -min_display_quantity_tick_size = 1 +[$TunaSniper] +peggy_denom = inj1nmzj7jartqsex022j3kkkszeayypqkzl5vpe59 +decimals = 8 -[0xa7fb70ac87e220f3ea7f7f77faf48b47b3575a9f7ad22291f04a02799e631ca9] -description = 'Mainnet Spot CANTO/USDT' -base = 18 -quote = 6 -min_price_tick_size = 0.0000000000000001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 10000000000000000000 -min_display_quantity_tick_size = 10 +[$WIF] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1802ascnwzdhvv84url475eyx26ptuc6jc590nl +decimals = 8 -[0x7fce43f1140df2e5f16977520629e32a591939081b59e8fbc1e1c4ddfa77a044] -description = 'Mainnet Spot LDO/USDC' -base = 6 -quote = 8 -min_price_tick_size = 0.1 -min_display_price_tick_size = 0.001 -min_quantity_tick_size = 1000 -min_display_quantity_tick_size = 0.001 +[$wifs] +peggy_denom = factory/inj10edtfelcttj3s98f755ntfplt0da5xv4z8z0lf/dogwifshoes +decimals = 6 -[0x66a113e1f0c57196985f8f1f1cfce2f220fa0a96bca39360c70b6788a0bc06e0] -description = 'Mainnet Spot LDO/USDC' -base = 8 -quote = 6 -min_price_tick_size = 0.00001 -min_display_price_tick_size = 0.001 -min_quantity_tick_size = 100000 -min_display_quantity_tick_size = 0.001 +[...] +peggy_denom = factory/inj1jj7z2f69374z6lmph44ztnxghgczyylqgc7tzw/dot +decimals = 6 -[0x4b29b6df99d73920acdc56962050786ac950fcdfec6603094b63cd38cad5197e] -description = 'Mainnet Spot PUG/USDT' -base = 18 -quote = 6 -min_price_tick_size = 0.0000000000000001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 100000000000000 -min_display_quantity_tick_size = 0.0001 +[0XGNSS] +peggy_denom = inj1cfv8rrcete7vengcken0mjqt8q75vpcc0j0my5 +decimals = 8 -[0x1bba49ea1eb64958a19b66c450e241f17151bc2e5ea81ed5e2793af45598b906] -description = 'Mainnet Spot ARB/USDT' -base = 8 -quote = 6 -min_price_tick_size = 0.000001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 10000000 -min_display_quantity_tick_size = 0.1 +[1INCH] +peggy_denom = peggy0x111111111117dC0aa78b770fA6A738034120C302 +decimals = 18 -[0xba33c2cdb84b9ad941f5b76c74e2710cf35f6479730903e93715f73f2f5d44be] -description = 'Mainnet Spot WMATIC/USDC' -base = 8 -quote = 6 -min_price_tick_size = 0.000001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 10000000 -min_display_quantity_tick_size = 0.1 +[2024MEME] +peggy_denom = inj1m2w8aenm3365w8t4x7jvpassk9ju7xq3snahhh +decimals = 8 -[0xb9a07515a5c239fcbfa3e25eaa829a03d46c4b52b9ab8ee6be471e9eb0e9ea31] -description = 'Mainnet Spot WMATIC/USDT' -base = 8 -quote = 6 -min_price_tick_size = 0.000001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 10000000 -min_display_quantity_tick_size = 0.1 +[4] +peggy_denom = ibc/F9823EBB2D7E55C5998A51A6AC1572451AB81CE1421E9AEF841902D78EA7B5AD +decimals = 0 -[0xce1829d4942ed939580e72e66fd8be3502396fc840b6d12b2d676bdb86542363] -description = 'Mainnet Spot stINJ/INJ' -base = 18 -quote = 18 -min_price_tick_size = 0.0001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 1000000000000000 -min_display_quantity_tick_size = 0.001 +[79228162514264337593543950342] +peggy_denom = ibc/80A315889AFA247F37386C42CC38EAAF25B8C7B8DA8FC5EC5D7EEC72DCE9B3D0 +decimals = 0 -[0xa04adeed0f09ed45c73b344b520d05aa31eabe2f469dcbb02a021e0d9d098715] -description = 'Mainnet Spot ORAI/USDT' -base = 6 -quote = 6 -min_price_tick_size = 0.0001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 100000 -min_display_quantity_tick_size = 0.1 +[AAAA] +peggy_denom = inj1wlrndkkyj90jsp9mness2kqp5x0huzuhuhx28d +decimals = 18 -[0xe8fe754e16233754e2811c36aca89992e35951cfd61376f1cbdc44be6ac8d3fb] -description = 'Mainnet Spot NEOK/USDT' -base = 18 -quote = 6 -min_price_tick_size = 0.0000000000000001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 100000000000000000 -min_display_quantity_tick_size = 0.1 +[AAVE] +peggy_denom = peggy0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9 +decimals = 18 -[0x2d8b2a2bef3782b988e16a8d718ea433d6dfebbb3b932975ca7913589cb408b5] -description = 'Mainnet Spot KAVA/USDT' -base = 6 -quote = 6 -min_price_tick_size = 0.0001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 1000000 -min_display_quantity_tick_size = 1 +[ABC] +peggy_denom = factory/inj13njxly446jm3gd8y84qnk3sm6wu0pjjc47mwl6/ABC +decimals = 6 -[0xbf94d932d1463959badee52ffbeb2eeeeeda750e655493e909ced540c375a277] -description = 'Mainnet Spot USDTkv/USDT' -base = 6 -quote = 6 -min_price_tick_size = 0.0001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 100000 -min_display_quantity_tick_size = 0.1 +[ADA] +peggy_denom = inj1vla438tlw69h93crmq3wq9l79d6cqwecqef3ps +decimals = 18 -[0x35fd4fa9291ea68ce5eef6e0ea8567c7744c1891c2059ef08580ba2e7a31f101] -description = 'Mainnet Spot TIA/USDT' -base = 6 -quote = 6 -min_price_tick_size = 0.001 -min_display_price_tick_size = 0.001 -min_quantity_tick_size = 100000 -min_display_quantity_tick_size = 0.1 +[ADO] +peggy_denom = ibc/CF0C070562EC0816B09DDD9518328DCCFBE6C4388907EFF883FD4BE4E510005E +decimals = 6 -[0x21f3eed62ddc64458129c0dcbff32b3f54c92084db787eb5cf7c20e69a1de033] -description = 'Mainnet Spot TALIS/USDT' -base = 6 -quote = 6 -min_price_tick_size = 0.00001 -min_display_price_tick_size = 0.00001 -min_quantity_tick_size = 10000000 -min_display_quantity_tick_size = 10 +[ADOLF] +peggy_denom = factory/inj1nhswhqrgfu3hpauvyeycz7pfealx4ack2c5hfp/adolf +decimals = 6 -[0xf09dd242aea343afd7b6644151bb00d1b8770d842881009bea867658602b6bf0] -description = 'Mainnet Spot TALIS/INJ' -base = 6 -quote = 18 -min_price_tick_size = 1000000 -min_display_price_tick_size = 0.000001 -min_quantity_tick_size = 10000000 -min_display_quantity_tick_size = 10 +[AGIX] +peggy_denom = inj163fdg2e00gfdx9mjvarlgljuzt4guvx8ghhwml +decimals = 8 -[0x6922cf4383294c673971dd06aa4ae5ef47f65cb4f1ec1c2af4271c5e5ca67486] -description = 'Mainnet Spot KUJI/USDT' -base = 6 -quote = 6 -min_price_tick_size = 0.001 -min_display_price_tick_size = 0.001 -min_quantity_tick_size = 100000 -min_display_quantity_tick_size = 0.1 +[AI] +peggy_denom = inj1sw0zn2vfy6wnfg0rht7r80tq3jq4ukjafjud7x +decimals = 8 -[0xa6ec1de114a5ffa85b6b235144383ce51028a1c0c2dee7db5ff8bf14d5ca0d49] -description = 'Mainnet Spot PYTH/USDT' -base = 6 -quote = 6 -min_price_tick_size = 0.0001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 1000000 -min_display_quantity_tick_size = 1 +[AININJA] +peggy_denom = inj1vun8dfgm6rr9xv40p4tpmd8lcc9cvt3384dv7w +decimals = 6 -[0x75f6a79b552dac417df219ab384be19cb13b53dec7cf512d73a965aee8bc83af] -description = 'Mainnet Spot USDY/USDT' -base = 18 -quote = 6 -min_price_tick_size = 0.0000000000000001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 100000000000000000 -min_display_quantity_tick_size = 0.1 +[AINJ] +peggy_denom = inj10k45sksxulzp7avvmt2fud25cmywk6u75pwgd2 +decimals = 8 + +[AJNIN] +peggy_denom = inj1msvvtt2e6rshp0fyqlp7gzceffzgymvwjucwyh +decimals = 18 + +[AK47] +peggy_denom = factory/inj1y207pve646dtac77v7qehw85heuy92c03t7t07/ak47 +decimals = 6 + +[AKITA] +peggy_denom = factory/inj1z0yv9ljw68eh4pec2r790jw8yal4dt5wnu4wuk/akita +decimals = 6 + +[ALASKA] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1wndunmgj56h5cssn96hhdh49ssclc24rfl9vr4 +decimals = 18 + +[ALCHECN] +peggy_denom = inj1fxmws9tyrfs7ewgkh0ktae3f5pqffd4uudygze +decimals = 6 + +[ALE] +peggy_denom = inj1yq0394aplhz94nrthglzsx2c29e8spyrq6u8ah +decimals = 18 + +[ALEM] +peggy_denom = ibc/FE5CF6EA14A5A5EF61AFBD8294E7B245DF4523F6F3B38DE8CC65A916BCEA00B4 +decimals = 6 + +[ALFAROMEO] +peggy_denom = inj1jvtzkr6cwd4dzeqq4q74g2qj3gp2gvmuar5c0t +decimals = 6 + +[ALIEN] +peggy_denom = factory/inj175fuhj3rlyttt255fsc6fwyteealzt67szpvan/ALIEN +decimals = 6 + +[ALIENWARE] +peggy_denom = inj128hmvp03navfcad7fjdsdnjdaxsp8q8z9av3th +decimals = 6 + +[ALIGATOR] +peggy_denom = inj1t6uqhmlgpju7265aelawdkvn3xqnq3jv8j60l7 +decimals = 6 + +[ALPHA] +peggy_denom = peggy0x138C2F1123cF3f82E4596d097c118eAc6684940B +decimals = 18 + +[ALPHANET] +peggy_denom = inj135fkkvwr9neffh40pgg24as5mwwuuku33n8zzw +decimals = 8 + +[AMM] +peggy_denom = factory/inj12yazr8lq5ptlz2qj9y36v8zwmz90gy9gh35026/AMM +decimals = 6 + +[AMOGUS] +peggy_denom = factory/inj1a47ddtzh8le8ukznc9v3dvqs5w5anwjjvy8lqj/amogus +decimals = 6 + +[ANALOS] +peggy_denom = inj1zr4fs5xkkf4h99sdalaxyglr3txjuewtyzjvg5 +decimals = 8 + +[ANBU] +peggy_denom = factory/inj1aqnupu0z86nyttmpejmgu57vx22wmuz9fdg7ps/ANBU +decimals = 6 + +[ANDR] +peggy_denom = ibc/61FA42C3F0B0F8768ED2CE380EDD3BE0E4CB7E67688F81F70DE9ECF5F8684E1E +decimals = 6 + +[ANDRE] +peggy_denom = inj1qtqd73kkp9jdm7tzv3vrjn9038e6lsk929fel8 +decimals = 8 + +[ANDY] +peggy_denom = factory/inj1c0f9ze9wh2xket0zs6wy59v66alwratsdx648k/andy +decimals = 6 + +[ANIME] +peggy_denom = inj1mas82tve60sh3tkh879chgjkeaggxpeydwkl2n +decimals = 18 + +[ANK] +peggy_denom = inj16lxeq4xcdefptg39p9x78z5hkn0849z9z7xkyt +decimals = 18 + +[ANONS] +peggy_denom = factory/inj1e05u43qmn9jt502784c009u4elz5l86678esrk/ANONS +decimals = 6 + +[AOT] +peggy_denom = factory/inj1yjeq7tz86a8su0asaxckpa3a9rslfp97vpq3zq/AOT +decimals = 6 + +[APC] +peggy_denom = inj150382m6ah6lg3znprdrsggx38xl47fs4rmzy3m +decimals = 18 + +[APE] +peggy_denom = factory/inj1qx7qnj9wwdrxc9e239ycshqnqgapdh7s44vez7/APE +decimals = 6 + +[APEINJ] +peggy_denom = factory/inj1pn6cg7jt5nvmh2rpjxhg95nrcjz0rujv54wkdg/apeinj +decimals = 6 + +[APOLLO] +peggy_denom = ibc/1D10FF873E3C5EC7263A7658CB116F9535EC0794185A8153F2DD662E0FA08CE5 +decimals = 6 + +[APP] +peggy_denom = peggy0xC5d27F27F08D1FD1E3EbBAa50b3442e6c0D50439 +decimals = 18 + +[APPLE] +peggy_denom = factory/inj12yazr8lq5ptlz2qj9y36v8zwmz90gy9gh35026/APPLE +decimals = 6 + +[APSO] +peggy_denom = inj1sqsthjm8fpqc7seaa6lj08k7ja43jsd70rgy09 +decimals = 6 + +[APT] +peggy_denom = inj1mrltq7kh35xjkdzvul9ky077khsa5qatc0ylxj +decimals = 6 + +[AQLA] +peggy_denom = ibc/46B490B10E114ED9CE18FA1C92394F78CAA8A907EC72D66FF881E3B5EDC5E327 +decimals = 6 + +[ARB] +peggy_denom = ibc/F28C5C931D2673B7A2F06FC74934F7BDC0D2906D2AF40D582ED27D1E5C48D475 +decimals = 18 + +[ARBlegacy] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d5vz0uzwlpfvgwrwulxg6syy82axa58y4fuszd +decimals = 8 + +[ARCH] +peggy_denom = ibc/9C6E75FE14DF8959B7CC6E77398DF825B9815C753BB49D2860E303EA2FD803DD +decimals = 18 + +[ARCHER] +peggy_denom = inj1ype9ps9ep2qukhuuyf4s2emr7qnexkcfa09p34 +decimals = 6 + +[ARIZO] +peggy_denom = inj1mdgw6dnw7hda2lancr0zgy6retrd2s5m253qud +decimals = 6 + +[ARKI] +peggy_denom = inj1zhnaq7aunhzp0q6g5nrac9dxe5dg0ws0sqzftv +decimals = 18 + +[ARMANI] +peggy_denom = ibc/0C04597A68991F93CE8C9EF88EA795179CD020695041D00911E5CFF023D415CC +decimals = 6 + +[ARTEMIS] +peggy_denom = inj1yt49wv3up03hnlsfd7yh6dqfdxwxayrk6as6al +decimals = 8 + +[ARTINJ] +peggy_denom = inj1qgj0lnaq9rxcstjaevvd4q43uy4dk77e6mrza9 +decimals = 6 + +[ARVI] +peggy_denom = inj16ff6zvsaay89w7e5ukvz83f6f9my98s20z5ea3 +decimals = 18 + +[ARYAN] +peggy_denom = inj16z7ja300985vuvkt975zyvtccu80xmzcfr4upt +decimals = 18 + +[ASG] +peggy_denom = ibc/2D40732D27E22D27A2AB79F077F487F27B6F13DB6293040097A71A52FB8AD021 +decimals = 8 + +[ASH] +peggy_denom = ibc/EED40547772504DF629EFEC08892E689CD14498B1C0AD766CD5075BBBEE3D808 +decimals = 6 + +[ASI] +peggy_denom = inj1wgd5c8l27w8sac4tdfcxl2zyu5cfurtuxdvfx9 +decimals = 18 + +[ASS] +peggy_denom = inj1fj7z77awl6srtmcuux3xgq995uempgx5hethh3 +decimals = 18 + +[ASSYN] +peggy_denom = factory/inj1qzn0ys7rht689z4p6pq99u6kc92jnkqyj02cur/ASSYN +decimals = 6 + +[ASTR] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mhmln627samtkuwe459ylq763r4n7n69gxxc9x +decimals = 18 + +[ASTRO] +peggy_denom = ibc/063F4461F7317CFF10F50AB044E44932D22AAD84FA7107082744946E6DB7B7A8 +decimals = 6 + +[ASTROBOT] +peggy_denom = inj153k5xjpqx39jm06gcxvjq5sxl8f7j79n72q9pz +decimals = 18 + +[ASTROGEMS] +peggy_denom = inj1xvlxqaxw0ef0596d96ecfwpta29y2jc9n5w9s9 +decimals = 8 + +[ASTROINJ] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sdk8sm96c7hkkax0wzxzhde9z5rpu6cr4ld8dn +decimals = 8 + +[ASTROLAND] +peggy_denom = inj16q7u3mzp3qmm6vf5a9jfzp46rs2dj68cuktzyw +decimals = 8 + +[ASTROLOGY] +peggy_denom = inj1u9th8dxhyrkz3tr2h5s6z2yap2s6e6955jk4yf +decimals = 8 + +[ASTROPAD] +peggy_denom = inj1tvcarn0xz9p9rxrgev5a2qjmrtqtnl4xtu5vsu +decimals = 8 + +[ASTROPEPE] +peggy_denom = ibc/03BC83F4E4972621EAE3144FC91AED13AF3541A90A51B690425C95D1E03850D9 +decimals = 6 + +[ASTROSOL] +peggy_denom = inj12vy3zzany7gtl9l9hdkzgvvr597r2ta48tvylj +decimals = 8 + +[ASTROXMAS] +peggy_denom = inj19q50d6sgc3sv2hcvlfalc5kf2fc576v4nga849 +decimals = 8 + +[ASUKA] +peggy_denom = inj1c64fwq7xexhh58spf2eer85yz3uvv3y659j5dd +decimals = 18 + +[ASWC] +peggy_denom = factory/inj10emnhmzncp27szh758nc7tvl3ph9wfxgej5u5v/ASWC +decimals = 6 + +[ATOM] +peggy_denom = ibc/8D311D92BCD4E87F145DEB9DDA339416DEF7E13571D92A3521CAB0BF62760FBE +decimals = 6 + +[ATOM-LUNA-LP] +peggy_denom = ibc/0ED853D2B77215F953F65364EF1CA7D8A2BD7B7E3009196BBA18E884FE3D3576 +decimals = 6 + +[ATOM1KLFG] +peggy_denom = ibc/2061C894621F0F53F6FEAE9ABD3841F66D27F0D7368CC67864508BDE6D8C4522 +decimals = 6 + +[AUTISM] +peggy_denom = factory/inj14lf8xm6fcvlggpa7guxzjqwjmtr24gnvf56hvz/autism +decimals = 6 + +[AUUU] +peggy_denom = ibc/4CEF2F778CDA8306B6DE18A3A4C4450BEBC84F27FC49F91F3617A37203FE84B2 +decimals = 6 + +[AVAX] +peggy_denom = inj18a2u6az6dzw528rptepfg6n49ak6hdzkny4um6 +decimals = 8 + +[AXL] +peggy_denom = ibc/B68C1D2682A8B69E20BB921E34C6A3A2B6D1E13E3E8C0092E373826F546DEE65 +decimals = 6 + +[AXS] +peggy_denom = peggy0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b +decimals = 18 + +[AZUKI] +peggy_denom = inj1l5qrquc6kun08asp6dt50zgcxes9ntazyvs9eu +decimals = 8 + +[Aave] +peggy_denom = ibc/49265FCAA6CC20B59652C0B45B2283A260BB19FC183DE95C29CCA8E01F8B004C +decimals = 18 + +[Alaskan Malamute] +peggy_denom = inj1wndunmgj56h5cssn96hhdh49ssclc24rfl9vr4 +decimals = 18 + +[Alien Token] +peggy_denom = factory/inj169ed97mcnf8ay6rgvskn95n6tyt46uwvy5qgs0/aoi +decimals = 6 + +[Alpha Coin] +peggy_denom = inj1zwnsemwrpve3wrrg0njj89w6mt5rmj9ydkc46u +decimals = 8 + +[Alpha Pro Club] +peggy_denom = inj1q2u8r40uh0ykqrjwszppz6yj2nvst4xvfvks29 +decimals = 8 + +[ApeCoin] +peggy_denom = ibc/8A13F5DA968B4D526E9DC5AE20B584FE62462E80AF06B9D0EA0B0DB35ABBBF27 +decimals = 18 + +[Apots Doge ] +peggy_denom = inj1dgnrks2s53jd5a0qsuhyvryhk4s03f5mxv9khy +decimals = 6 + +[April Fool's Day] +peggy_denom = inj1m9vaf9rm6qfjtq4ymupefkxjtv7vake0z4fc35 +decimals = 6 + +[Aptos Coin (Wormhole)] +peggy_denom = ibc/D807D81AB6C2983C9DCC2E1268051C4195405A030E1999549C562BCB7E1251A5 +decimals = 8 + +[Arbitrum] +peggy_denom = peggy0x912CE59144191C1204E64559FE8253a0e49E6548 +decimals = 18 + +[Arbitrum (legacy)] +peggy_denom = inj1d5vz0uzwlpfvgwrwulxg6syy82axa58y4fuszd +decimals = 8 + +[Arbitrum axlETH] +peggy_denom = ibc/A124994412FAC16975DF2DA42D7AFDB538A1CFCE0E40FB19620BADF6292B0A62 +decimals = 18 + +[Artro] +peggy_denom = factory/inj13r3azv5009e8w3xql5g0tuxug974ps6eed0czz/Artro +decimals = 6 + +[Astar] +peggy_denom = inj1mhmln627samtkuwe459ylq763r4n7n69gxxc9x +decimals = 18 + +[Astro-Injective] +peggy_denom = inj1sdk8sm96c7hkkax0wzxzhde9z5rpu6cr4ld8dn +decimals = 8 + +[AstroGems] +peggy_denom = inj122y9wxxmpyu2rj5ju30uwgdvk9sj020z2zt7rv +decimals = 8 + +[Astrophile] +peggy_denom = inj1y07h8hugnqnqvrpj9kmjpsva7pj4yjwjjkd0u4 +decimals = 18 + +[Axelar] +peggy_denom = peggy0x3eacbDC6C382ea22b78aCc158581A55aaF4ef3Cc +decimals = 6 + +[Axie Infinity Shard] +peggy_denom = ibc/EB519ECF709F0DB6BA1359F91BA2DDC5A07FB9869E1768D377EFEF9DF33DC4AB +decimals = 18 + +[BABY] +peggy_denom = factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/GINGERDOG +decimals = 6 + +[BABY GINGER] +peggy_denom = factory/inj15zruc9fw2qw9sc3pvlup5qmmqsk5pcmck7ylhw/BABYGINGER +decimals = 6 + +[BABY NINJA] +peggy_denom = factory/inj1hs5chngjfhjwc4fsajyr50qfu8tjqsqrj9rf29/baby-ninja +decimals = 6 + +[BABYDEK] +peggy_denom = factory/inj1fdqalekg73v06gvzch0zu74ealp35g3y00shmz/BABYDEK +decimals = 6 + +[BABYDGNZ] +peggy_denom = inj1tyvchyp04yscelq30q6vzngn9wvmjw446sw786 +decimals = 6 + +[BABYDOGE] +peggy_denom = inj1nk2x5ll6guwt84aagnw82e7ajmlwde6w2zmpdw +decimals = 6 + +[BABYGINGER] +peggy_denom = inj17uyp6dz3uyq40ckkzlgrze2k25zhgvdqa3yh0v +decimals = 6 + +[BABYHACHI] +peggy_denom = factory/inj1hjfm3z53dj4ct5nxef5ghn8hul0y53u7ytv8st/babyhachi +decimals = 6 + +[BABYINJ] +peggy_denom = inj1llatk73a2935vky6nzv78w80ff5v3etqadzv76 +decimals = 8 + +[BABYIPEPE] +peggy_denom = factory/inj14u2wghxjswct5uznt40kre5ct7a477m2ma5hsm/babyipepe +decimals = 6 + +[BABYKIRA] +peggy_denom = factory/inj15jeczm4mqwtc9lk4c0cyynndud32mqd4m9xnmu/BABYKIRA +decimals = 6 + +[BABYKISHU] +peggy_denom = factory/inj15e7ah9tmmhyd3qafupnwe8uj74nc7gkehkrnuw/babykishu +decimals = 6 + +[BABYNINJA] +peggy_denom = inj16exmkvtzkqgxgl44w6793hzjta78f4zpyv8z9p +decimals = 6 + +[BABYPANDA] +peggy_denom = factory/inj19mznavp32fkmwzdyuute4al2lrjzvy6ym9em3h/babypanda +decimals = 6 + +[BABYPEPE] +peggy_denom = factory/inj1un9z8767u2r8snaqqcysnm9skxf36dspqx86sy/babypepe +decimals = 6 + +[BABYQUNT] +peggy_denom = factory/inj1xdm6zdjcwu4vy32yp2g2dazwg2ug50w2k7sy9p/BABYQUNT +decimals = 6 + +[BABYROLL] +peggy_denom = inj16rvlt87pmpntkyv3x4zfvgmyxt8ejj9mpcc72m +decimals = 18 + +[BABYSHROOM] +peggy_denom = inj1dch98v88yhksd8j4wsypdua0gk3d9zdmsj7k59 +decimals = 6 + +[BABYSPUUN] +peggy_denom = inj1n73ty9gxej3xk7c0hhktjdq3ppsekwjnhq98p5 +decimals = 6 + +[BAD] +peggy_denom = ibc/C04478BE3CAA4A14EAF4A47967945E92ED2C39E02146E1577991FC5243E974BB +decimals = 6 + +[BADKID] +peggy_denom = ibc/A0C5AD197FECAF6636F589071338DC7ECD6B0809CD3A5AB131EAAA5395E7E5E8 +decimals = 6 + +[BAG] +peggy_denom = ibc/CFD97474BEB91453470ABF422E94B4C55ACF2CBA300B1FE7ED494DB5F5E012B1 +decimals = 6 + +[BAJE] +peggy_denom = factory/inj10yymeqd0hydqmaq0gn6k6s8795svjq7gt5tmsf/BAJE +decimals = 6 + +[BALLOON] +peggy_denom = inj17p4x63h8gpfd7f6whmmcah6vq6wzzmejvkpqms +decimals = 18 + +[BAMBOO] +peggy_denom = factory/inj144nw6ny28mlwuvhfnh7sv4fcmuxnpjx4pksr0j/bamboo +decimals = 6 + +[BAND] +peggy_denom = peggy0xBA11D00c5f74255f56a5E366F4F77f5A186d7f55 +decimals = 18 + +[BAPE] +peggy_denom = factory/inj16mnhqpzuj4s4ermuh76uffaq3r6rf8dw5v9rm3/BAPE +decimals = 6 + +[BAR] +peggy_denom = inj1hnap888nfhv2gnlp4zvjlyq9wmsw6hm3afvhuf +decimals = 18 + +[BARCA] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/barcelona +decimals = 6 + +[BARRY] +peggy_denom = inj1ykpcvay9rty363wtxr9749qgnnj3rlp94r302y +decimals = 18 + +[BASE] +peggy_denom = factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/BASE +decimals = 6 + +[BASTARD] +peggy_denom = factory/inj16g5w38hqehsmye9yavag0g0tw7u8pjuzep0sys/BASTARD +decimals = 6 + +[BAT] +peggy_denom = factory/inj1h75s3ne4vjpp3wtf300uv2xuz7r9lt2xu87jjk/BAT +decimals = 6 + +[BATMAN] +peggy_denom = inj158jjagrr499yfc6t5kd9c989tx6f7ukrulj280 +decimals = 6 + +[BAYC] +peggy_denom = bayc +decimals = 18 + +[BCA] +peggy_denom = factory/inj12ygx3scssu2d9rymtppaf6nks8qg08z9w3tml9/BCA +decimals = 6 + +[BCAT] +peggy_denom = factory/inj12ygx3scssu2d9rymtppaf6nks8qg08z9w3tml9/BCAT +decimals = 6 + +[BCC] +peggy_denom = factory/inj1hr4rj6k72emjh9u7l6zg58c0n0daezz68060aq/BCC +decimals = 6 + +[BCUBE] +peggy_denom = peggy0x93C9175E26F57d2888c7Df8B470C9eeA5C0b0A93 +decimals = 18 + +[BEANS] +peggy_denom = inj1j7e95jmqaqgazje8kvuzp6kh2j2pr6n6ffvuq5 +decimals = 8 + +[BEAR] +peggy_denom = factory/inj1jhwwydrfxe33r7ayy7nnrvped84njx97mma56r/BEAR +decimals = 6 + +[BEAST] +peggy_denom = peggy0xA4426666addBE8c4985377d36683D17FB40c31Be +decimals = 6 + +[BECKHAM] +peggy_denom = factory/inj1nhswhqrgfu3hpauvyeycz7pfealx4ack2c5hfp/beckham +decimals = 6 + +[BEEN] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/been +decimals = 6 + +[BELL] +peggy_denom = factory/inj1ht2x2pyj42y4y48tj9n5029w8j9f4sxu0zkwq4/BELL +decimals = 6 + +[BENANCE] +peggy_denom = inj1292223n3vfhrxndvlzsvrrlkkyt7jyeydf77h0 +decimals = 6 + +[BENJAMIN] +peggy_denom = inj1cr970pgvudvgfva60jtxnztgsu5ngm7e80e7vd +decimals = 18 + +[BERB] +peggy_denom = inj1rlyw9tl7e5u9haunh39mh87clvmww5p39dd9kv +decimals = 18 + +[BERLIN] +peggy_denom = inj1atu2677agwrskzxj4a5dn8lq43nhmeyjz5tsfq +decimals = 18 + +[BERNESE] +peggy_denom = ibc/28E915262E40A4CA526D5BFB0BAF67A1C024F8318B779C3379147A6C26D11EA8 +decimals = 6 + +[BICHO] +peggy_denom = inj1hd42hz95w6w3rt5pkeuj783a5mtx8hx28p2eg9 +decimals = 18 + +[BIDEN] +peggy_denom = inj1d2ymlnpvqny9x2qfqykzp8geq3gmg9qrm3qwhe +decimals = 6 + +[BIGSHROOM] +peggy_denom = inj1kld2dd6xa5rs98v7afv3l57m6s30hyj8dcuhh4 +decimals = 6 + +[BIN] +peggy_denom = factory/inj1ax459aj3gkph6z0sxaddk6htzlshqlp5mfwqvx/catinbin +decimals = 6 + +[BINJ] +peggy_denom = inj14nursn4ezeqy9cgxmush6vk2p2wjsrucsl6gc9 +decimals = 18 + +[BINJANS] +peggy_denom = factory/inj1aj47a2vflavw92yyhn7rpa32f0dazf5cfj59v8/binjans +decimals = 6 + +[BINJE] +peggy_denom = inj1ufew4geh63l45ugk6aett2rdtatjm9xtycjcyd +decimals = 6 + +[BIRB] +peggy_denom = inj136zssf58vsk9uge7ulgpw9umerzcuu0kxdu5dj +decimals = 6 + +[BITCOIN] +peggy_denom = factory/inj1aj4yhftluexp75mlfmsm7sfjemrtt3rjkg3q3h/BITCOIN +decimals = 6 + +[BITS] +peggy_denom = factory/inj10gcvfpnn4932kzk56h5kp77mrfdqas8z63qr7n/bits +decimals = 6 + +[BITZ] +peggy_denom = ibc/01A69EE21F6A76CAA8D0DB900AF2789BF665B5B67D89A7D69E7ECF7F513CD0CA +decimals = 6 + +[BJNO] +peggy_denom = inj1jlugmrq0h5l5ndndcq0gyav3flwmulsmdsfh58 +decimals = 18 + +[BLACK] +peggy_denom = factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/BLACK +decimals = 6 + +[BLACK PANTHER] +peggy_denom = inj12tkaz9e540zszf5vtlxc0aksywu9rejnwxmv3n +decimals = 18 + +[BLACKHOLE PROTOCOL] +peggy_denom = peggy0xd714d91A169127e11D8FAb3665d72E8b7ef9Dbe2 +decimals = 18 + +[BLD] +peggy_denom = ibc/B7933C59879BFE059942C6F76CAF4B1609D441AD22D54D42DAC00CE7918CAF1F +decimals = 6 + +[BLEND] +peggy_denom = ibc/45C0FE8ACE1C9C8BA38D3D6FDEBDE4F7198A434B6C63ADCEFC3D32D12443BB84 +decimals = 6 + +[BLISS] +peggy_denom = factory/inj15tz959pa5mlghhku2vm5sq45jpp4s0yf23mk6d/BLISS +decimals = 6 + +[BLOCKTOWER] +peggy_denom = inj1cnldf982xlmk5rzxgylvax6vmrlxjlvw7ss5mt +decimals = 8 + +[BLUE] +peggy_denom = factory/inj130nkx4u8p5sa2jl4apqlnnjlej2ymfq0e398w9/BLUE +decimals = 6 + +[BLUE CUB DAO] +peggy_denom = ibc/B692197280D4E62F8D9F8E5C0B697DC4C2C680ED6DE8FFF0368E0552C9215607 +decimals = 6 + +[BLUEINJ] +peggy_denom = inj1ss3d6gw5xzk5gdt9w4qhp3px62mqygk69uxwyv +decimals = 8 + +[BLUEINJECTIVE] +peggy_denom = inj1zkm3r90ard692tvrjrhu7vtkzlqpkjkdwwc57s +decimals = 8 + +[BMO] +peggy_denom = inj17fawlptgvptqwwtgxmz0prexrz2nel6zqdn2gd +decimals = 8 + +[BMOS] +peggy_denom = ibc/D9353C3B1407A7F7FE0A5CCB7D06249B57337888C95C6648AEAF2C83F4F3074E +decimals = 6 + +[BMSCWA] +peggy_denom = factory/inj1v888gdj5k9pykjca7kp7jdy6cdalfj667yws54/BabyMiloSillyCoqWifAnalos +decimals = 6 + +[BMW] +peggy_denom = inj1fzqfk93lrmn7pgmnssgqwrlmddnq7w5h3e47pc +decimals = 6 + +[BMX] +peggy_denom = inj12u37kzv3ax6ccja5felud8rtcp68gl69hjun4v +decimals = 18 + +[BNB] +peggy_denom = peggy0xB8c77482e45F1F44dE1745F52C74426C631bDD52 +decimals = 18 + +[BNINJA] +peggy_denom = factory/inj1k7tuhcp7shy4qwkwrg6ckjteucg44qfm79rkmx/BNINJA +decimals = 6 + +[BOB] +peggy_denom = inj1cwaw3cl4wscxadtmydjmwuelqw95w5rukmk47n +decimals = 18 + +[BOBURU] +peggy_denom = factory/inj1qw7egul6sr0yjpxfqq5qars2qvxucgp2sartet/boburu +decimals = 6 + +[BODED] +peggy_denom = inj10xtrreumk28cucrtgse232s3gw2yxcclh0wswd +decimals = 6 + +[BODEN] +peggy_denom = boden +decimals = 9 + +[BOME] +peggy_denom = factory/inj1ne284hkg3yltn7aq250lghkqqrywmk2sk9x2yu/BOME +decimals = 6 + +[BONE] +peggy_denom = inj1kpp05gff8xgs0m9k7s2w66vvn53n77t9t6maqr +decimals = 6 + +[BONJA] +peggy_denom = factory/inj18v0e5dj2s726em58sg69sgmrnqmd08q5apgklm/bj +decimals = 6 + +[BONJO] +peggy_denom = factory/inj1r35twz3smeeycsn4ugnd3w0l5h2lxe44ptuu4w/BONJO +decimals = 6 + +[BONK] +peggy_denom = factory/inj1zy0r4d9s4zmssym0u46j5vxqatt5k5phfxt6rf/bonk +decimals = 18 + +[BONKINJ] +peggy_denom = inj173f5j4xtmah4kpppxgh8p6armad5cg5e6ay5qh +decimals = 6 + +[BONKJA] +peggy_denom = factory/inj1gc8fjmp9y8kfsy3s6yzucg9q0azcz60tm9hldp/bonkja +decimals = 6 + +[BONSAI] +peggy_denom = factory/inj13jx69l98q0skvwy3n503e0zcrh3wz9dcqxpwxy/bonsai +decimals = 6 + +[BONUS] +peggy_denom = ibc/DCF43489B9438BB7E462F1A1AD38C7898DF7F49649F9CC8FEBFC533A1192F3EF +decimals = 8 + +[BOOM] +peggy_denom = inj1xuu84fqdq45wdqj38xt8fhxsazt88d7xumhzrn +decimals = 18 + +[BOOSH] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/boosh +decimals = 6 + +[BOY] +peggy_denom = ibc/84DA08CF29CD08373ABB0E36F4E6E8DC2908EA9A8E529349EBDC08520527EFC2 +decimals = 6 + +[BOYS] +peggy_denom = factory/inj1q7unmeeqkj8r4m4en50wqlfnptfvgf0wavuah8/BOYS +decimals = 6 + +[BOZO] +peggy_denom = inj1mf5dj5jscuw3z0eykkfccy2rfz7tvugvw2rkly +decimals = 18 + +[BPEPE] +peggy_denom = inj1pel9sz78wy4kphn2k7uwv5f6txuyvtrxn9j6c3 +decimals = 8 + +[BRETT] +peggy_denom = factory/inj13jjdsa953w03dvecsr43dj5r6a2vzt7n0spncv/brett +decimals = 6 + +[BRNZ] +peggy_denom = ibc/713B768D6B89E4DEEFDBE75390CA2DC234FAB6A016D3FD8D324E08A66BF5070F +decimals = 0 + +[BRO] +peggy_denom = factory/inj1cd4q88qplpve64hzftut2cameknk2rnt45kkq5/BRO +decimals = 6 + +[BRRR] +peggy_denom = inj16veue9c0sz0mp7dnf5znsakqwt7cnjpwz3auau +decimals = 18 + +[BRUCELEE] +peggy_denom = inj1dtww84csxcq2pwkvaanlfk09cer93xzc9kwnzf +decimals = 6 + +[BRZ] +peggy_denom = peggy0x420412E765BFa6d85aaaC94b4f7b708C89be2e2B +decimals = 4 + +[BSKT] +peggy_denom = ibc/2138C4EA63EFD757D42F75B90177FE34A9508DC0046DC48844CFF26659AE7A9D +decimals = 5 + +[BTC] +peggy_denom = btc +decimals = 8 + +[BTCETF] +peggy_denom = inj1gzmkap8g09h70keaph9utxy9ahjvuuhk5tzpw9 +decimals = 18 + +[BUFFON] +peggy_denom = inj16m2tnugwtrdec80fxvuaxgchqcdpzhf2lrftck +decimals = 18 + +[BUGS] +peggy_denom = factory/inj1zzc2wt4xzy9yhxz7y8mzcn3s6zwvajyutgay3c/BUGS +decimals = 6 + +[BUILD] +peggy_denom = inj1z9utpqxm586476kzpk7nn2ukhnydmu8vchhqlu +decimals = 18 + +[BUL] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/bul +decimals = 6 + +[BULL] +peggy_denom = factory/inj1uv64p5ky9c298dlswy5krq4xcn78qearqaqqc9/BULL +decimals = 6 + +[BULLS] +peggy_denom = factory/inj1zq37mfquqgud2uqemqdkyv36gdstkxl27pj5e3/bulls +decimals = 6 + +[BURGE] +peggy_denom = inj1xcmamawydqlnqde7ah3xq7gzye9acwkmc5k5ne +decimals = 18 + +[BUS] +peggy_denom = inj1me9svqmf539hfzrfhw2emm2s579kv73w77u8yz +decimals = 18 + +[BUSD] +peggy_denom = peggy0x4Fabb145d64652a948d72533023f6E7A623C7C53 +decimals = 18 + +[BUSD (BEP-20)] +peggy_denom = ibc/A8F9B4EC630F52C13D715E373A0E7B57B3F8D870B4168DADE0357398712ECC0E +decimals = 18 + +[BWH] +peggy_denom = ibc/9A31315BECC84265BCF32A31E4EB75C3B59ADCF8CCAE3C6EF8D0DF1C4EF829EB +decimals = 6 + +[BYE] +peggy_denom = inj1zfaug0dfg7zmd888thjx2hwuas0vl2ly4euk3r +decimals = 18 + +[Baby Corgi] +peggy_denom = ibc/9AC0F8299A5157831C7DF1AE52F178EFBA8D5E1826D4DD539441E3827FFCB873 +decimals = 6 + +[Baby DOJO Token] +peggy_denom = inj19dtllzcquads0hu3ykda9m58llupksqwekkfnw +decimals = 6 + +[Baby Dog Wif Nunchucks] +peggy_denom = inj1nddcunwpg4cwyl725lvkh9an3s5cradaajuwup +decimals = 8 + +[Baby Ninja] +peggy_denom = factory/inj1h3y27yhly6a87d95937jztc3tupl3nt8fg3lcp/BABYNINJA +decimals = 6 + +[Baby Nonja] +peggy_denom = inj1pchqd64c7uzsgujux6n87djwpf363x8a6jfsay +decimals = 18 + +[BabyBonk] +peggy_denom = inj1kaad0grcw49zql08j4xhxrh8m503qu58wspgdn +decimals = 18 + +[BabyInjective] +peggy_denom = inj1dvflqrkkaxped5cmks92q6vmtzx75cge9gvvap +decimals = 8 + +[Babykira] +peggy_denom = factory/inj15jeczm4mqwtc9lk4c0cyynndud32mqd4m9xnmu/$babykira +decimals = 6 + +[Babyroll] +peggy_denom = inj1qd60tuupdtq2ypts6jleq60kw53d06f3gc76j5 +decimals = 18 + +[Baguette] +peggy_denom = inj15a3yppu5h3zktk2hkq8f3ywhfpqqrwft8awyq0 +decimals = 18 + +[Bamboo] +peggy_denom = factory/inj144nw6ny28mlwuvhfnh7sv4fcmuxnpjx4pksr0j/boo +decimals = 6 + +[Base axlETH] +peggy_denom = ibc/FD8134B9853AABCA2B22A942B2BFC5AD59ED84F7E6DFAC4A7D5326E98DA946FB +decimals = 18 + +[Basket] +peggy_denom = inj193340xxv49hkug7r65xzc0l40tze44pee4fj94 +decimals = 5 + +[Benance] +peggy_denom = inj1gn8ss00s3htff0gv6flycgdqhc9xdsmvdpzktd +decimals = 8 + +[BetaDojo] +peggy_denom = inj1p6cj0r9ne63xhu4yr2vhntkzcfvt8gaxt2a5mw +decimals = 6 + +[Binance Coin] +peggy_denom = ibc/AAED29A220506DF2EF39E43B2EE35717636502267FF6E0343B943D70E2DA59EB +decimals = 18 + +[Binance USD] +peggy_denom = ibc/A62F794AAEC56B6828541224D91DA3E21423AB0DC4D21ECB05E4588A07BD934C +decimals = 18 + +[Binu] +peggy_denom = inj1myh9um5cmpghrfnh620cnauxd8sfh4tv2mcznl +decimals = 18 + +[Bird INJ] +peggy_denom = factory/inj125hcdvz9dnhdqal2u8ctr7l0hd8xy9wdgzt8ld/binj +decimals = 6 + +[BitSong] +peggy_denom = peggy0x05079687D35b93538cbd59fe5596380cae9054A9 +decimals = 18 + +[Bitcoin] +peggy_denom = inj1ce249uga9znmc3qk2jzr67v6qxq73pudfxhwqx +decimals = 8 + +[Bitcosmos] +peggy_denom = ibc/E440667C70A0C9A5AD5A8D709731289AFB92301D64D70D0B33D18EF4FDD797FE +decimals = 6 + +[Black] +peggy_denom = inj1nuwasf0jsj3chnvzfddh06ft2fev3f5g447u2f +decimals = 18 + +[BlueInjective] +peggy_denom = inj17qsyspyh44wjch355pr72wzfv9czt5cw3h7vrr +decimals = 8 + +[Bnana] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/banana +decimals = 18 + +[Bonded Crescent] +peggy_denom = ibc/D9E839DE6F40C036592B6CEDB73841EE9A18987BC099DD112762A46AFE72159B +decimals = 6 + +[Bonjo] +peggy_denom = inj19w5lfwk6k9q2d8kxnwsu4962ljnay85f9sgwn6 +decimals = 18 + +[Bonk] +peggy_denom = ibc/C951FBB321708183F5A14811A3D099B3D73457D12E193E2B8429BDDCC6810D5A +decimals = 5 + +[Bonk Injective] +peggy_denom = factory/inj15705jepx03fxl3sntfhdznjnl0mlqwtdvyt32d/bonk +decimals = 18 + +[Bonk on INJ] +peggy_denom = factory/inj147laec3n2gq8gadzg8xthr7653r76jzhavemhh/BONK +decimals = 6 + +[BonkToken] +peggy_denom = inj1jzxkr7lzzljdsyq8483jnduvpwtq7ny5x4ch08 +decimals = 8 + +[Boomer] +peggy_denom = inj1ethjlrk28wqklz48ejtqja9yfft8t4mm92m2ga +decimals = 18 + +[Brazilian Digital Token] +peggy_denom = inj14jesa4q248mfxztfc9zgpswkpa4wx249mya9kk +decimals = 4 + +[Brett] +peggy_denom = inj1zhce7csk22mpwrfk855qhw4u5926u0mjyw4df6 +decimals = 18 + +[Bull] +peggy_denom = inj1j82m0njz2gm0eea0ujmyjdlq2gzvwkvqapxeuw +decimals = 8 + +[CAC] +peggy_denom = ibc/97D9F67F798DBB31DAFA9CF4E791E69399E0FC3FC2F2A54066EE666052E23EF6 +decimals = 6 + +[CACTUS] +peggy_denom = inj16ch9sx5c6fa6lnndh7vunrjsf60h67hz988hdg +decimals = 18 + +[CAD] +peggy_denom = cad +decimals = 6 + +[CAL] +peggy_denom = inj1a9pvrzmymj7rvdw0cf5ut9hkjsvtg4v8cqae24 +decimals = 18 + +[CANTO] +peggy_denom = ibc/6C55598A43348E41BCE1CE3C9313208CB953A036955869C47C3265A3BE2BB8D4 +decimals = 18 + +[CAPY] +peggy_denom = factory/inj1krswly444gyuunnmchg4uz2ekqvu02k7903skh/capybara +decimals = 6 + +[CARTEL] +peggy_denom = factory/inj12tl0d8a739t8pun23mzldhan26ndqllyt6d67p/cartel +decimals = 6 + +[CASINO] +peggy_denom = inj12zqf6p9me86493yzpr9v3kmunvjzv24fg736yd +decimals = 18 + +[CASSIO] +peggy_denom = inj179m94j3vkvpzurq2zpn0q9uxdfuc4nq0p76h6w +decimals = 8 + +[CAT] +peggy_denom = inj129hsu2espaf4xn8d2snqyaxrhf0jgl4tzh2weq +decimals = 18 + +[CATCOIN] +peggy_denom = inj1rwhc09dv2c9kg6d63t3qp679jws04p8van3yu8 +decimals = 8 + +[CATINJ] +peggy_denom = factory/inj1cm5lg3z9l3gftt0c09trnllmayxpwt8825zxw3/catinj +decimals = 6 + +[CATNIP] +peggy_denom = factory/inj1rnlhp35xqtl0zwlp9tnrelykea9f52nd8av7ec/CATNIPPY +decimals = 6 + +[CBG] +peggy_denom = inj19k6fxafkf8q595lvwrh3ejf9fuz9m0jusncmm6 +decimals = 18 + +[CDT] +peggy_denom = ibc/25288BA0C7D146D37373657ECA719B9AADD49DA9E514B4172D08F7C88D56C9EF +decimals = 6 + +[CEL] +peggy_denom = peggy0xaaAEBE6Fe48E54f431b0C390CfaF0b017d09D42d +decimals = 4 + +[CELL] +peggy_denom = peggy0x26c8AFBBFE1EBaca03C2bB082E69D0476Bffe099 +decimals = 18 + +[CENTER] +peggy_denom = inj1khd6f66tp8dd4f58dzsxa5uu7sy3phamkv2yr8 +decimals = 8 + +[CERBERUS] +peggy_denom = inj1932un3uh05nxy4ej50cfc3se096jd6w3jvl69g +decimals = 6 + +[CET] +peggy_denom = factory/inj1hst0759zk7c29rktahm0atx7tql5x65jnsc966/CET +decimals = 6 + +[CGLP] +peggy_denom = ibc/6A3840A623A809BC76B075D7206302622180D9FA8AEA59067025812B1BC6A1CC +decimals = 18 + +[CHAD] +peggy_denom = inj12e5vzu6a8jqr5dnl4mh04hdskjnx9rw5n86exk +decimals = 6 + +[CHAININJ] +peggy_denom = inj143rjlwt7r28wn89r39wr76umle8spx47z0c05d +decimals = 8 + +[CHAKRA] +peggy_denom = factory/inj13zsd797dnkgpxcrf3zxxjzykzcz55tw7kk5x3y/CHAKRA +decimals = 6 + +[CHAMP] +peggy_denom = inj1gnde7drvw03ahz84aah0qhkum4vf4vz6mv0us7 +decimals = 8 + +[CHAMPION] +peggy_denom = inj1rh94naxf7y20qxct44mrlawyhs79d06zmprv70 +decimals = 8 + +[CHARM] +peggy_denom = inj1c2e37gwl2q7kvuxyfk5c0qs89rquzmes0nsgjf +decimals = 8 + +[CHEEMS] +peggy_denom = factory/inj1mck4g2zd7p057un8l3kfamsyj57w7gymgrdyjw/cheems +decimals = 6 + +[CHEESE] +peggy_denom = inj1p6v3qxttvh36x7gxpwl9ltnmc6a7cgselpd7ya +decimals = 18 + +[CHELE] +peggy_denom = factory/inj16fsle0ywczyf8h4xfpwntg3mnv7cukd48nnjjp/CHELE +decimals = 6 + +[CHEN] +peggy_denom = factory/inj1s79ssggksqujyrwhq5zwxart33t98mmm2xd8f7/CHEN +decimals = 6 + +[CHI] +peggy_denom = inj198rrzmcv69xay8xuhalqz2z02egmsyzp08mvkk +decimals = 18 + +[CHICKEN] +peggy_denom = factory/inj1gqeyl6704zr62sk2lsprt54gcwc6y724xvlgq2/CHICKEN +decimals = 6 + +[CHIKU] +peggy_denom = factory/inj1g8s4usdsy7gujf96qma3p8r2a7m02juzfm4neh/CHIKU +decimals = 6 + +[CHINMOY] +peggy_denom = inj1t52r8h56j9ctycqhlkdswhjjn42s6dnc6huwzs +decimals = 18 + +[CHOCOLATE] +peggy_denom = inj1slny6cqjkag3hgkygpq5nze6newysqpsfy0dxj +decimals = 6 + +[CHONK] +peggy_denom = inj17aze0egvc8hrmgf25kkhlw3720vurz99pdp58q +decimals = 18 + +[CHOWCHOW] +peggy_denom = inj1syqdgn79wnnlzxd63g2h00rzx90k6s2pltec6w +decimals = 6 + +[CHROME] +peggy_denom = inj1k20q72a4hxt0g20sx3rcnjvhfye6u3k6dhx6nc +decimals = 6 + +[CHROMIUM] +peggy_denom = inj1plmyzu0l2jku2yw0hnh8x6lw4z5r2rggu6uu05 +decimals = 8 + +[CHUN] +peggy_denom = factory/inj19tjhqehpyq4n05hjlqyd7c5suywf3hcuvetpcr/CHUN +decimals = 9 + +[CHUNGUS] +peggy_denom = factory/inj1khr6lahyjz0wgnwzuu4dk5wz24mjrudz6vgd0z/bigchungus +decimals = 6 + +[CHZ] +peggy_denom = peggy0x3506424F91fD33084466F402d5D97f05F8e3b4AF +decimals = 18 + +[CHZlegacy] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q6kpxy6ar5lkxqudjvryarrrttmakwsvzkvcyh +decimals = 8 + +[CINU] +peggy_denom = inj14pq4ewrxju997x0y7g2ug6cn3lqyp66ygz5x6s +decimals = 8 + +[CIRCUS] +peggy_denom = ibc/AEE5A4EF1B28693C4FF12F046C17197E509030B18F70FE3D74F6C3542BB008AD +decimals = 6 + +[CITY] +peggy_denom = factory/inj1jpddz58n2ugstuhp238qwwvdf3shxsxy5g6jkn/CITY +decimals = 6 + +[CJN] +peggy_denom = inj1eln607626f3j058rfh4xd3m4pd728x2cnxw4al +decimals = 18 + +[CLEO] +peggy_denom = inj1fr66v0vrkh55yg6xfw845q78kd0cnxmu0d5pnq +decimals = 18 + +[CLEVER] +peggy_denom = inj1f6h8cvfsyz450kkcqmy53w0y4qnpj9eylsazww +decimals = 18 + +[CLON] +peggy_denom = ibc/695B1D16DE4D0FD293E6B79451640974080B59AA60942974C1CC906568DED795 +decimals = 6 + +[CNJ] +peggy_denom = inj1w38vdrkemf8s40m5xpqe5fc8hnvwq3d794vc4a +decimals = 18 + +[COCA] +peggy_denom = ibc/8C82A729E6D74B03797962FE5E1385D87B1DFD3E0B58CF99E0D5948F30A55093 +decimals = 6 + +[COCK] +peggy_denom = factory/inj1eucxlpy6c387g5wrn4ee7ppshdzg3rh4t50ahf/COCK +decimals = 6 + +[COCKPIT] +peggy_denom = factory/inj15u2mc2vyh2my4qcuj5wtv27an6lhjrnnydr926/COCKPIT +decimals = 9 + +[COFFEE] +peggy_denom = inj166gumme9j7alwh64uepatjk4sw3axq84ra6u5j +decimals = 6 + +[COFFEIN] +peggy_denom = inj18me8d9xxm340zcgk5eu8ljdantsk8ktxrvkup8 +decimals = 18 + +[COKE] +peggy_denom = inj14eaxewvy7a3fk948c3g3qham98mcqpm8v5y0dp +decimals = 6 + +[COMP] +peggy_denom = peggy0xc00e94Cb662C3520282E6f5717214004A7f26888 +decimals = 18 + +[CONK] +peggy_denom = inj18vcz02pukdr2kak6g2p34krgdddan2vlpzmqju +decimals = 8 + +[CONK2.0] +peggy_denom = inj1zuz0rpg224mrpz2lu6npta34yc48sl7e5sndly +decimals = 8 + +[CONT] +peggy_denom = inj1vzpegrrn6zthj9ka93l9xk3judfx23sn0zl444 +decimals = 18 + +[COOK] +peggy_denom = ibc/C9EC3080B046D49949239E1704522EE8B7BE0A668027028059A7FE7BC20B0976 +decimals = 6 + +[COOKIG] +peggy_denom = factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/COOKIG +decimals = 6 + +[COOL] +peggy_denom = factory/inj1rdu7lqpvq4h2fyrjdfnp9gycdkut5ewql3e4uq/coolcat +decimals = 6 + +[COPE] +peggy_denom = inj1lchcdq3rqc2kaupt6fwshd7fyj7p0mpkeknkyw +decimals = 18 + +[COQ] +peggy_denom = inj1lefh6m9ldqm55ume0j52fhhw6tzmx9pezkqhzp +decimals = 18 + +[CORE] +peggy_denom = inj1363eddx0m5mlyeg9z9qjyvfyutrekre47kmq34 +decimals = 18 + +[CORGI] +peggy_denom = inj129t9ywsya0tyma00xy3de7q2wnah7hrw7v9gvk +decimals = 18 + +[CORONA] +peggy_denom = inj1md4ejkx70463q3suv68t96kjg8vctnpf3ze2uz +decimals = 18 + +[COSMO] +peggy_denom = factory/inj1je6n5sr4qtx2lhpldfxndntmgls9hf38ncmcez/COSMO +decimals = 6 + +[COSMWASM] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1yl8z48uwve5wk0j9elxql8c327wy87anccf4ex +decimals = 8 + +[COST] +peggy_denom = inj1hlwjvef4g4tdsa5erdnzfzd8ufcw403a6558nm +decimals = 18 + +[COVID] +peggy_denom = inj1ce38ehk3cxa7tzcq2rqmgek9hc3gdldvxvtzqy +decimals = 6 + +[COWBOY] +peggy_denom = inj1dp7uy8sa0sevnj65atsdah0sa6wmwtfczwg08d +decimals = 6 + +[CP] +peggy_denom = factory/inj1300jzt0tyjg8x4txsfs79l29k556vqqk22c7es/cope +decimals = 6 + +[CPINJ] +peggy_denom = factory/inj1qczkutnsy3nmt909xtyjy4rsrkl2q4dm6aq960/coping +decimals = 6 + +[CR7] +peggy_denom = factory/inj1v25y8fcxfznd2jkz2eh5cy2520jpvt3felux66/CR7 +decimals = 6 + +[CRAB] +peggy_denom = factory/inj1fx2mj8532ynky2xw0k8tr46t5z8u7cjvpr57tq/crabfu +decimals = 6 + +[CRAB APPLE] +peggy_denom = inj1ku7f3v7z3dd9hrp898xs7xnwmmwzw32tkevahk +decimals = 18 + +[CRASH] +peggy_denom = inj1k3rankglvxjxzsaqrfff4h5ttwcjjh3m4l3pa2 +decimals = 8 + +[CRAZYHORSE] +peggy_denom = ibc/7BE6E83B27AC96A280F40229539A1B4486AA789622255283168D237C41577D3B +decimals = 6 + +[CRBRUS] +peggy_denom = ibc/F8D4A8A44D8EF57F83D49624C4C89EECB1472D6D2D1242818CDABA6BC2479DA9 +decimals = 6 + +[CRE] +peggy_denom = ibc/DDE000907D85FB1F358B3FBB1143452BE13F68E0BEA0DFFD8787095B76EEE0A1 +decimals = 6 + +[CRINJ] +peggy_denom = factory/inj1r4usuj62gywdwhq9uvx6tg0ywqpppcjqu7z4js/crinj +decimals = 6 + +[CRITPO] +peggy_denom = factory/inj1safqtpalmkes3hlyr0zfdr0dw4aaxulh306n67/CRITPO +decimals = 7 + +[CRN] +peggy_denom = inj1wcj4224qpghv94j8lzq8c2m9wa4f2slhqcxm9y +decimals = 18 + +[CROCO] +peggy_denom = factory/inj1y6zxg76ltrjdx7xppvtrdqlc5ujyhfra8aqr3f/CROCO +decimals = 6 + +[CROCO_NINJA] +peggy_denom = factory/inj1c0tfeukmrw69076w7nffjqhrswp8vm9rr6t3eh/CROCO +decimals = 6 + +[CRT] +peggy_denom = inj10qt8pyaenyl2waxaznez6v5dfwn05skd4guugw +decimals = 18 + +[CRYPB] +peggy_denom = inj1p82fws0lzshx2zg2sx5c5f855cf6wht9uudxg0 +decimals = 18 + +[CRseven] +peggy_denom = inj19jp9v5wqz065nhr4uhty9psztlqeg6th0wrp35 +decimals = 6 + +[CTAX] +peggy_denom = inj1mwj4p98clpf9aldzcxn7g8ffzrwz65uszesdre +decimals = 18 + +[CTO] +peggy_denom = inj19kk6ywwu5h0rnz4453gyzt3ymgu739egv954tf +decimals = 18 + +[CUB] +peggy_denom = ibc/5CB35B165F689DD57F836C6C5ED3AB268493AA5A810740446C4F2141664714F4 +decimals = 6 + +[CUIT] +peggy_denom = factory/inj1zlmrdu0ntnmgjqvj2a4p0uyrg9jw802ld00x7c/CUIT +decimals = 6 + +[CVR] +peggy_denom = peggy0x3C03b4EC9477809072FF9CC9292C9B25d4A8e6c6 +decimals = 18 + +[CW20] +peggy_denom = inj1c2mjatph5nru36x2kkls0pwpez8jjs7yd23zrl +decimals = 18 + +[CW20-wrapped inj] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj12kq4zh7kckuu0rfpxcr9l6l2x26ajf23uc0w55 +decimals = 18 + +[CWIFLUCK] +peggy_denom = factory/inj1u2fhfn0g8srf2kt3am52wd9dp4zyjvecm86uhj/CWIFLUCK +decimals = 6 + +[CWL] +peggy_denom = factory/inj1u2fhfn0g8srf2kt3am52wd9dp4zyjvecm86uhj/CWL +decimals = 6 + +[CWT] +peggy_denom = factory/inj1j5hqczk6ee2zsuz7kjt5nshxcjg5g69njxe6ny/inj-cttoken +decimals = 18 + +[Canto] +peggy_denom = ibc/5C0C70B490A3568D40E81884F200716F96FCE8B0A55CB5EE41C1E369E6086CCA +decimals = 18 + +[Cat] +peggy_denom = inj1eerjxzvwklcgvclj9m2pulqsmpentaes8h347x +decimals = 18 + +[Cat WIF luck] +peggy_denom = inj1mqurena8qgf775t28feqefnp63qme7jyupk4kg +decimals = 18 + +[Cat Wif Luck] +peggy_denom = inj19lwxrsr2ke407xw2fdgs80f3rghg2pueqae3vf +decimals = 6 + +[CatInjective] +peggy_denom = inj1p2w55xu2yt55rydrf8l6k79kt3xmjmmsnn3mse +decimals = 8 + +[Chainlink] +peggy_denom = ibc/AC447F1D6EDAF817589C5FECECB6CD3B9E9EFFD33C7E16FE8820009F92A2F585 +decimals = 18 + +[Chb] +peggy_denom = inj1fvzre25nqkakvwmjr8av5jrfs56dk6c8sc6us9 +decimals = 8 + +[CheeseBalls] +peggy_denom = inj1usr473hh8hlff874tvcl4pe6qzsmc08w3k32nd +decimals = 6 + +[Chiliz (legacy)] +peggy_denom = inj1q6kpxy6ar5lkxqudjvryarrrttmakwsvzkvcyh +decimals = 8 + +[Chonk] +peggy_denom = factory/inj1an9qflgvpvjdhczce6xwrh4afkaap77c72k4yd/Chonk +decimals = 6 + +[Chonk The Cat] +peggy_denom = inj1ftq3h2y70hrx5rn5a26489drjau9qel58h3gfr +decimals = 18 + +[Circle USD] +peggy_denom = ibc/8F3ED95BF70AEC83B3A557A7F764190B8314A93E9B578DE6A8BDF00D13153708 +decimals = 6 + +[CosmWasm] +peggy_denom = inj1yl8z48uwve5wk0j9elxql8c327wy87anccf4ex +decimals = 8 + +[Cosmic] +peggy_denom = inj19zcnfvv3qazdhgtpnynm0456zdda5yy8nmsw6t +decimals = 18 + +[Cosmo] +peggy_denom = factory/osmo1ua9rmqtmlyv49yety86ys8uqx3hawfkyjr0g7t/Cosmo +decimals = 6 + +[Cosmos] +peggy_denom = peggy0x8D983cb9388EaC77af0474fA441C4815500Cb7BB +decimals = 6 + +[Crinj Token] +peggy_denom = factory/inj1kgyxepqnymx8hy7nydl65w3ecyut566pl70swj/crinj +decimals = 6 + +[D.a.r.e] +peggy_denom = inj19vy83ne9tzta2yqynj8yg7dq9ghca6yqn9hyej +decimals = 18 + +[DAB] +peggy_denom = factory/inj1n8w9wy72cwmec80qpjsfkgl67zft3j3lklg8fg/DAB +decimals = 6 + +[DAI] +peggy_denom = ibc/433133545CF68587777A01C3EFCF720EFE1B42F14AB2153D349DC4559984F2E8 +decimals = 6 + +[DANJER] +peggy_denom = factory/inj1xzk83u23djtynmz3a3h9k0q454cuhsn3y9jhr3/DANJER +decimals = 6 + +[DAOJO] +peggy_denom = inj1jusxykgkl04rgaam65gmvyyymth9flxjdpdruh +decimals = 9 + +[DATOSHI] +peggy_denom = inj1rp63ym52lawyuha4wvn8gy33ccqtpj5pu0n2ef +decimals = 18 + +[DBT] +peggy_denom = factory/inj1xtel2knkt8hmc9dnzpjz6kdmacgcfmlv5f308w/dbt +decimals = 6 + +[DBTT] +peggy_denom = inj1wwga56n4glj9x7cnuweklepl59hp95g9ysg283 +decimals = 18 + +[DDD] +peggy_denom = factory/inj12yazr8lq5ptlz2qj9y36v8zwmz90gy9gh35026/ddd +decimals = 6 + +[DDL] +peggy_denom = factory/inj1put8lfpkwm47tqcl9fgh8grz987mezvrx4arls/DDL +decimals = 6 + +[DDLTest] +peggy_denom = inj10zhn525tfxf5j34dg5uh5js4fr2plr4yydasxd +decimals = 18 + +[DEFI5] +peggy_denom = peggy0xfa6de2697D59E88Ed7Fc4dFE5A33daC43565ea41 +decimals = 18 + +[DEFIKINGS] +peggy_denom = inj18h33x5qcr44feutwr2cgazaalcqwtpez57nutx +decimals = 8 + +[DEGGZ] +peggy_denom = inj1uv2arm5gzd35zrxd7ghsslegn0cwpc9jwc0enz +decimals = 18 + +[DEK] +peggy_denom = factory/inj1aey234egq5efqr7zfvtzdsq6h2c5wsrma4lw7h/dek +decimals = 6 + +[DEK on INJ] +peggy_denom = factory/inj1aey234egq5efqr7zfvtzdsq6h2c5wsrma4lw7h/dekinj +decimals = 1 + +[DEPE] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/depe +decimals = 6 + +[DEXTER] +peggy_denom = inj1nlcg7dgufuytaa2sfxam5hm0l38dyv3uk47kdf +decimals = 18 + +[DGNZ] +peggy_denom = factory/inj1l2kcs4yxsxe0c87qy4ejmvkgegvjf0hkyhqk59/DGNZ +decimals = 6 + +[DIB] +peggy_denom = inj1nzngv0ch009jyc0mvm5h55d38c32sqp2fjjws9 +decimals = 18 + +[DICE] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/DICE +decimals = 6 + +[DICES] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/dices +decimals = 6 + +[DICK] +peggy_denom = factory/inj1wqk200kkyh53d5px5zc6v8usq3pluk07r4pxpu/DICK +decimals = 6 + +[DIDX] +peggy_denom = factory/inj1w24j0sv9rvv473x6pqfd2cnnxtk6cvrh5ek89e/DIDX +decimals = 6 + +[DINHEIROS] +peggy_denom = ibc/306269448B7ED8EC0DB6DC30BAEA279A9190E1D583572681749B9C0D44915DAB +decimals = 0 + +[DINO] +peggy_denom = inj1zx9tv9jg98t0fa7u9882gjrtansggmakmwnenm +decimals = 18 + +[DITTO] +peggy_denom = inj1vtg4almersef8pnyh5lptwvcdxnrgqp0zkxafu +decimals = 6 + +[DNA] +peggy_denom = ibc/AE8E20F37C6A72187633E418169758A6974DD18AB460ABFC74820AAC364D2A13 +decimals = 6 + +[DOCE] +peggy_denom = inj1xx8qlk3g9g3cyqs409strtxq7fuphzwzd4mqzw +decimals = 18 + +[DOGE] +peggy_denom = factory/inj1ghcjw8w7a7ettwn97fadhamywvwf7kk3mhkndy/DOGE +decimals = 6 + +[DOGECoin] +peggy_denom = factory/inj1s0ckch4dlp5eyx7khtqnt9dryd60v6ns4g0yn4/DOGE +decimals = 6 + +[DOGEINJ] +peggy_denom = inj1qaakagef76lgu56uhdc9rdsycdrznf7pjfjt2c +decimals = 6 + +[DOGEINJCoin] +peggy_denom = factory/inj1s0ckch4dlp5eyx7khtqnt9dryd60v6ns4g0yn4/DOGEINJ +decimals = 6 + +[DOGEKIRA] +peggy_denom = inj1xux4gj0g3u8qmuasz7fsk99c0hgny4wl7hfzqu +decimals = 6 + +[DOGENINJA] +peggy_denom = inj1wjv6l090h9wgwr6lc58mj0xphg50mzt8y6dfsy +decimals = 6 + +[DOGGO] +peggy_denom = factory/inj1a4qjk3ytal0alrq566zy6z7vjv6tgrgg0h7wu9/DOGGO +decimals = 6 + +[DOGINJBREAD] +peggy_denom = inj1s4srnj2cdjf3cgun57swe2je8u7n3tkm6kz257 +decimals = 18 + +[DOGOFTHUN] +peggy_denom = factory/inj1056f9jwmdxjmc3xf3urpka00gjfsnna7ct3gy3/DOGOFTHUN +decimals = 6 + +[DOGWIF] +peggy_denom = inj16ykyeaggxaqzj3x85rjuk3xunky7mg78yd2q32 +decimals = 8 + +[DOINJ] +peggy_denom = inj1swqv8e6e8tmyeqwq3rp43pfsr75p8wey7vrh0u +decimals = 8 + +[DOJ] +peggy_denom = factory/inj172ccd0gddgz203e4pf86ype7zjx573tn8g0df9/doj +decimals = 6 + +[DOJO] +peggy_denom = inj1wjh8gnp7a6yfcldnp82s0e4yt7n98xpm363c38 +decimals = 18 + +[DOJO SWAP] +peggy_denom = inj1qzqlurx22acr4peuawyj3y95v9r9sdqqrafwqa +decimals = 18 + +[DOJODOG] +peggy_denom = factory/inj1s0awzzjfr92mu6t6h85jmq6s9f6hxnqwpmy3f7/DOJODOG +decimals = 6 + +[DOJOshroom] +peggy_denom = inj194l9mfrjsthrvv07d648q24pvpfkntetx68e7l +decimals = 6 + +[DOJSHIB] +peggy_denom = inj17n55k95up6tvf6ajcqs6cjwpty0j3qxxfv05vd +decimals = 18 + +[DOKI] +peggy_denom = ibc/EA7CE127E1CFD7822AD169019CAFDD63D0F5A278DCE974F438099BF16C99FB8B +decimals = 6 + +[DON] +peggy_denom = factory/inj1xjcq2ch3pacc9gql24hfwpuvy9gxszxpz7nzmz/don +decimals = 6 + +[DONALD TRUMP] +peggy_denom = inj1mdf4myxfhgranmzew5kg39nv5wtljwksm9jyuj +decimals = 18 + +[DONK] +peggy_denom = inj1jargzf3ndsadyznuj7p3yrp5grdxsthxyfp0fj +decimals = 6 + +[DONKEY] +peggy_denom = inj1ctczwjzhjjes7vch52anvr9nfhdudq6586kyze +decimals = 18 + +[DONNA] +peggy_denom = inj17k4lmkjl963pcugn389d070rh0n70f5mtrzrvv +decimals = 18 + +[DONOTBUY] +peggy_denom = inj197p39k7ued8e6r5mnekg47hphap8zcku8nws5y +decimals = 6 + +[DOOMER] +peggy_denom = factory/inj1lqv3a2hxggzall4jekg7lpe6lwqsjevnm9ztnf/doomer +decimals = 6 + +[DOPE] +peggy_denom = factory/inj1tphwcsachh92dh5ljcdwexdwgk2lvxansym77k/DOPE +decimals = 0 + +[DORA] +peggy_denom = ibc/BC3AD52E42C6E1D13D2BDCEB497CF5AB9FEE24D804F5563B9E7DCFB825246947 +decimals = 18 + +[DOT] +peggy_denom = peggy0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080 +decimals = 10 + +[DRACO] +peggy_denom = inj14g9hcmdzlwvafsmrka6gmd22mhz7jd3cm5d8e6 +decimals = 8 + +[DRAGON] +peggy_denom = factory/inj1mg2pnk0djfmvlrrfucnhsfs4um08mwdue3hp9x/DRAGON +decimals = 6 + +[DREAM] +peggy_denom = factory/inj1l2kcs4yxsxe0c87qy4ejmvkgegvjf0hkyhqk59/dream +decimals = 6 + +[DRG] +peggy_denom = inj15jg279nugsgqplswynqqfal29tav9va5wzf56t +decimals = 18 + +[DRIVING] +peggy_denom = inj1ghhdy9mejncsvhwxmvnk5hspkd5fchtrmhu3x2 +decimals = 8 + +[DROGO] +peggy_denom = ibc/565FE65B82C091F8BAD1379FA1B4560C036C07913355ED4BD8D156DA63F43712 +decimals = 6 + +[DROGON] +peggy_denom = inj1h86egqfpypg8q3jp9t607t0y8ea6fdpv66gx0j +decimals = 6 + +[DTEST] +peggy_denom = factory/inj1zn8qlkjautjt3mvr7xwuvpe6eddqt5w3mak5s7/DTEST +decimals = 6 + +[DTHREE] +peggy_denom = factory/inj12yazr8lq5ptlz2qj9y36v8zwmz90gy9gh35026/DTHREE +decimals = 6 + +[DUBAIcoin] +peggy_denom = inj1gsm06ndeq620sp73lu26nz76rqfpy9qtg7xfdw +decimals = 6 + +[DUBDUB] +peggy_denom = inj1nwm43spkusyva27208recgwya2yu2yja934x0n +decimals = 6 + +[DUCKS] +peggy_denom = factory/inj1mtxwccht2hpfn2498jc8u4k7sgrurxt04jzgcn/DUCKS +decimals = 6 + +[DUDE] +peggy_denom = factory/inj1sn34edy635nv4yhts3khgpy5qxw8uey6wvzq53/DUDE +decimals = 6 + +[DUEL] +peggy_denom = peggy0x943Af2ece93118B973c95c2F698EE9D15002e604 +decimals = 18 + +[DUMB] +peggy_denom = factory/inj122c9quyv6aq5e2kr6gdcazdxy2eq2u2jgycrly/DUMB +decimals = 6 + +[DUMP BEOPLE] +peggy_denom = inj13d8cpsfc9gxxspdatucvngrvs435zddscapyhk +decimals = 18 + +[DUROV] +peggy_denom = inj1y73laasqpykehcf67hh3z7vn899sdmn6vtsg22 +decimals = 18 + +[DWHPPET] +peggy_denom = inj1rreafnwdwc9mu7rm6sm2nwwjd2yw46h26rzz36 +decimals = 18 + +[DWIFLUCK] +peggy_denom = factory/inj1gn54l05v5kqy5zmzk5l6wydzgvhvx2srm7rdkg/DWIFLUCK +decimals = 6 + +[DYDX] +peggy_denom = ibc/7B911D87318EB1D6A472E9F08FE93955371DF3E1DFFE851A58F4919450FFE7AA +decimals = 18 + +[DYM] +peggy_denom = ibc/346B01430895DC4273D1FAFF470A9CE1155BF6E9F845E625374D019EC9EE796D +decimals = 18 + +[Dai Stablecoin] +peggy_denom = ibc/265ABC4B9F767AF45CAC6FB76E930548D835EDA3E94BC56B70582A55A73D8C90 +decimals = 18 + +[Dai Stablecoin (Wormhole)] +peggy_denom = ibc/293F6074F0D8FF3D8A686F11BCA3DD459C54695B8F205C8867E4917A630634C2 +decimals = 8 + +[Daisy] +peggy_denom = inj1djnh5pf860722a38lxlxluwaxw6tmycqmzgvhp +decimals = 18 + +[Daojo] +peggy_denom = inj1dpgkaju5xqpa3vuz6qxqp0vljne044xgycw0d7 +decimals = 18 + +[DarkDeath] +peggy_denom = factory/inj133nvqdan8c79fhqfkmc3h59v30v4urgwuuejke/DarkDeath +decimals = 6 + +[Degen] +peggy_denom = factory/inj1j3rm46nj4z8eckv5333897z7esectj64kufs4a/Degen +decimals = 6 + +[DelPiero] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/delpiero +decimals = 6 + +[Dnd] +peggy_denom = inj1acxjvpu68t2nuw6950606gw2k59qt43zfxrcwq +decimals = 18 + +[Dog Wif Token ] +peggy_denom = inj1qhu9yxtp0x9gkn0n89hcw8c0wc8nhuke8zgw0d +decimals = 8 + +[Doge] +peggy_denom = inj1n4hl6mxv749jkqsrhu23z24e2p3s55de98jypt +decimals = 18 + +[Dogelon Mars] +peggy_denom = peggy0x761D38e5ddf6ccf6Cf7c55759d5210750B5D60F3 +decimals = 18 + +[Doggo] +peggy_denom = inj1gasr3mz9wdw2andhuf5254v9haw2j60zlftmha +decimals = 18 + +[Doginbread] +peggy_denom = inj1sx9mflrf6jvnzantd8rlzqh9tahgdyul5hq4pc +decimals = 18 + +[Dojo Staked INJ] +peggy_denom = inj134wfjutywny9qnyux2xgdmm0hfj7mwpl39r3r9 +decimals = 18 + +[Dojo Token] +peggy_denom = inj1zdj9kqnknztl2xclm5ssv25yre09f8908d4923 +decimals = 18 + +[Dojo bot] +peggy_denom = factory/inj1any4rpwq7r850u6feajg5payvhwpunu9cxqevc/DOJO +decimals = 6 + +[Don] +peggy_denom = inj19yv3uvkww6gjda2jn90aayrefjacclsrulr5n2 +decimals = 18 + +[DonatelloShurikenLipsInjection2dust] +peggy_denom = factory/inj1ya7ltz2mkj0z4w25lxueh7emz6qhwe33m4knx8/INJECTIV +decimals = 6 + +[Doodle] +peggy_denom = factory/inj1yjhn49auvxjqe2y3hxl9uwwzsjynl4ms0kq6d4/Doodle +decimals = 6 + +[Dope Token] +peggy_denom = inj1lrewwyn3m2dms6ny7m59x9s5wwcxs5zf5y2w20 +decimals = 8 + +[Dot] +peggy_denom = ibc/B0442E32E21ED4228301A2B1B247D3F3355B73BF288470F9643AAD0CA07DD593 +decimals = 10 + +[Drachme] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/drachme +decimals = 6 + +[Dragon Coin] +peggy_denom = inj1ftfc7f0s7ynkr3n7fnv37qpskfu3mu69ethpkq +decimals = 18 + +[Drugs] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj19vy83ne9tzta2yqynj8yg7dq9ghca6yqn9hyej +decimals = 18 + +[Duel] +peggy_denom = inj1ghackffa8xhf0zehv6n8j3gjzpz532c4h2zkkp +decimals = 18 + +[Dwake] +peggy_denom = factory/inj1a7697s5yg3tsgkfrm0u5hvxm34mu8v0v3trryx/Dwake +decimals = 6 + +[E-SHURIKEN] +peggy_denom = inj1z93hdgsd9pn6eajslmyerask38yugxsaygyyu0 +decimals = 6 + +[EARS] +peggy_denom = inj1g07rttdqwcy43yx9m20z030uex29sxpcwvvjmf +decimals = 8 + +[EASPORTS] +peggy_denom = factory/inj1cus3dx8lxq2h2y9mzraxagaw8kjjcx6ul5feak/EASPORTS +decimals = 6 + +[ECOCH] +peggy_denom = factory/inj1tquax9jy4t7lg2uya4yclhlqlh5a75ykha2ewr/EcoChain +decimals = 6 + +[ECPS] +peggy_denom = inj1vzjfp3swqhhjp56w40j4cmekjpmrkq6d3ua7c8 +decimals = 8 + +[EGGMAN] +peggy_denom = inj1hjym72e40g8yf3dd3lah98acmkc6ms5chdxh6g +decimals = 8 + +[ELE] +peggy_denom = inj1zyg7gvzzsc0q39vhv5je50r2jcfv2ru506pd7w +decimals = 6 + +[ELEM] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1kxwmyuns9z36dd0luggj7wyzetqyfz8cuhdvm2 +decimals = 18 + +[ELM] +peggy_denom = inj1uu3dc475nuhz68j3g4s3cpxzdfczpa3k4dcqz7 +decimals = 18 + +[ELMNT] +peggy_denom = inj17z53rhx0w6szyhuakgnj9y0khprrp2rmdg0djz +decimals = 6 + +[ELON] +peggy_denom = factory/inj1wjtuzkprkc4gdf4r7dlh9gu96yyxml8qpzzy9p/elon +decimals = 6 + +[ELON-GATED-PENIS] +peggy_denom = inj1v0ahzyf4mup6eunf4hswcs9dq3ffea4nqxdhmq +decimals = 6 + +[ELONXMAS] +peggy_denom = inj1nmrve743hvmxzv7e3p37nyjl2tf8fszcqg44ma +decimals = 8 + +[EMP] +peggy_denom = factory/inj1vc6gdrn5ta9h9danl5g0sl3wjwxqfeq6wj2rtm/EMP +decimals = 6 + +[EMP On Injective] +peggy_denom = inj1qm7x53esf29xpd2l8suuxtxgucrcv8fkd52p7t +decimals = 18 + +[ENA] +peggy_denom = peggy0x57e114B691Db790C35207b2e685D4A43181e6061 +decimals = 18 + +[ENJ] +peggy_denom = peggy0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c +decimals = 18 + +[EPIC] +peggy_denom = inj1k0f8fqym9t3gz8qq3f72d3x5uk2gx4prs6mld5 +decimals = 18 + +[EPICEIGHT] +peggy_denom = inj19dd2lqy8vpcl3kc9ftz3y7xna6qyevuhq7zxkz +decimals = 18 + +[EPICEL] +peggy_denom = inj1hz2e3fasvhhuxywx96g5vu8nnuvak5ca4r7jsk +decimals = 18 + +[EPICFIVE] +peggy_denom = inj1cavzx4eswevydc8hawdy362z3a2nucku8c0lp6 +decimals = 18 + +[EPICNINE] +peggy_denom = inj1a6jfnquus2vrfshwvurae9wkefu0k3n8ay6u4r +decimals = 18 + +[EPICONE] +peggy_denom = inj16nenk0jqfcgj8qhfap9n7ldjzke97rw9auxptx +decimals = 18 + +[EPICSEVEN] +peggy_denom = inj19tval5k0qjgqqkuw0v8g5qz9sautru4jr9rz7e +decimals = 18 + +[EPICSIX] +peggy_denom = inj1gyf3358u6juk3xvrrp7vlez9yuk2ek33dhqdau +decimals = 18 + +[EPICTE] +peggy_denom = inj1c6mpj4p2dvxdgqq9l0sasz0uzu4gah7k3g03xf +decimals = 18 + +[EPICTEN] +peggy_denom = inj1e9t4mhc00s4p0rthuyhpy2tz54nuh552sk5v60 +decimals = 18 + +[EPICTREE] +peggy_denom = inj1hjt77g9ujsh52jdm388ggx387w9dk4jwe8w5sq +decimals = 18 + +[EPICTWO] +peggy_denom = inj1z24n2kmsxkz9l75zm7e90f2l0rfgaazh6usw3h +decimals = 18 + +[EPICfour] +peggy_denom = inj14m6t04x80r2f78l26wxz3vragpy892pdmshcat +decimals = 18 + +[ERA] +peggy_denom = peggy0x3e1556B5b65C53Ab7f6956E7272A8ff6C1D0ed7b +decimals = 18 + +[ERIC] +peggy_denom = factory/inj1w7cw5tltax6dx7znehul98gel6yutwuvh44j77/eric +decimals = 6 + +[ERIS Amplified SEI] +peggy_denom = ibc/9774771543D917853B9A9D108885C223DFF03ABC7BD39AD2783CA4E1F58CDC6E +decimals = 6 + +[ESCUDOS] +peggy_denom = ibc/D1546953F51A43131EDB1E80447C823FD0B562C928496808801A57F374357CE5 +decimals = 6 + +[ETF] +peggy_denom = inj1cdfcc6x6fn22wl6gs6axgn48rjve2yhjqt8hv2 +decimals = 18 + +[ETH] +peggy_denom = factory/inj1a0n3xm83w6d0gzheffkve30z8wpz6xq8zdf48r/ETH +decimals = 6 + +[ETHBTCTrend] +peggy_denom = peggy0x6b7f87279982d919Bbf85182DDeAB179B366D8f2 +decimals = 18 + +[ETK] +peggy_denom = inj1hzh43wet6vskk0ltfm27dm9lq2jps2r6e4xvz8 +decimals = 18 + +[EUR] +peggy_denom = eur +decimals = 6 + +[EURO] +peggy_denom = factory/inj1t8wuan5zxp58uwtn6j50kx4tjv25argx6lucwy/EURO +decimals = 6 + +[EVAI] +peggy_denom = peggy0x50f09629d0afDF40398a3F317cc676cA9132055c +decimals = 8 + +[EVI] +peggy_denom = inj1mxcj2f8aqv8uflul4ydr7kqv90kprgsrx0mqup +decimals = 18 + +[EVIINDEX] +peggy_denom = eviindex +decimals = 18 + +[EVITCEJNI] +peggy_denom = factory/inj1n8kcnuzsrg9d7guu8c5n4cxcurqyszthy29yhg/EVITCEJNI +decimals = 6 + +[EVL] +peggy_denom = inj1yhrpy3sr475cfn0g856hzpfrgk5jufvpllfakr +decimals = 18 + +[EVMOS] +peggy_denom = ibc/16618B7F7AC551F48C057A13F4CA5503693FBFF507719A85BC6876B8BD75F821 +decimals = 18 + +[EXOTIC] +peggy_denom = inj1xyf06dyfuldfynqgl9j6yf4vly6fsjr7zny25p +decimals = 8 + +[EXP] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10ktwcqd5n4k6278jegrc0u08fudf8r00vdsjwd +decimals = 8 + +[EYES] +peggy_denom = factory/inj12jtagr03n6fqln4q8mg06lrpaj4scwts49x2cp/eyes +decimals = 6 + +[Eik] +peggy_denom = inj1a0rphvxxgr56354vqz8jhlzuhwyqs8p4zag2kn +decimals = 18 + +[Elemental Token] +peggy_denom = inj1kxwmyuns9z36dd0luggj7wyzetqyfz8cuhdvm2 +decimals = 18 + +[Elite] +peggy_denom = inj1rakgrkwx9hs6ye4mt4pcvnhy5zt28dt02u9ws8 +decimals = 18 + +[Enjineer] +peggy_denom = inj1xsc3wp2m654tk62z7y98egtdvd0mqcs7lp4lj0 +decimals = 18 + +[Ethena] +peggy_denom = inj1c68rz4w9csvny5xmq6f87auuhfut5zukngmptz +decimals = 18 + +[Ethereum (Arbitrum)] +peggy_denom = ibc/56ADC03A83B6E812C0C30864C8B69CBE502487AD5664D0164F73A1C832D2C7FC +decimals = 18 + +[Ethereum (ERC20)] +peggy_denom = ibc/56CD30F5F8344FDDC41733A058F9021581E97DC668BFAC631DC77A414C05451B +decimals = 18 + +[Explore Exchange] +peggy_denom = inj10ktwcqd5n4k6278jegrc0u08fudf8r00vdsjwd +decimals = 8 + +[ExtraVirginOliveInu] +peggy_denom = factory/inj14n8f39qdg6t68s5z00t4vczvkcvzlgm6ea5vk5/extravirginoliveinu +decimals = 6 + +[FABLE] +peggy_denom = ibc/5FE5E50EA0DF6D68C29EDFB7992EB81CD40B6780C33834A8AB3712FB148E1313 +decimals = 6 + +[FACTORY01] +peggy_denom = inj1q8h6pxj73kv36ehv8dx9d6jd6qnphmr0xydx2h +decimals = 6 + +[FAITH] +peggy_denom = inj1efjaf4yuz5ehncz0atjxvrmal7eeschauma26q +decimals = 6 + +[FAMILY] +peggy_denom = factory/inj175n4kj6va8yejh7w35t5v5f5gfm6ecyasgjnn9/FAMILY +decimals = 6 + +[FAP] +peggy_denom = inj1qekjz857yggl23469xjr9rynp6padw54f0hhkh +decimals = 18 + +[FAST] +peggy_denom = inj1m8wfsukqzxt6uduymrpkjawvpap3earl4p2xlt +decimals = 8 + +[FCS] +peggy_denom = inj1h7smsl8nzjfeszy03cqnjn2yvf629kf3m02fay +decimals = 18 + +[FCUK] +peggy_denom = inj1j3gg49wg40epnsd644s84wrzkcy98k2v50cwvv +decimals = 18 + +[FDA] +peggy_denom = inj174zq6m77dqvx4e56uqvjq25t7qq5ukmt2zhysh +decimals = 18 + +[FDAPERP] +peggy_denom = inj1zl5uwywdkgchs54ycp8f84cedz29fhwz0pzvjd +decimals = 18 + +[FDC] +peggy_denom = inj1h9tu7ul5pyu2fl2qwpsyvshhqt2g4xqaqxm89z +decimals = 6 + +[FDC3] +peggy_denom = inj1zmpydq6mlwfj246jk9sc5r7898jgcks9rj87mg +decimals = 6 + +[FDC40624A] +peggy_denom = inj1est038f5zfdj7qp3ktmqtygfkef5wj6fdl8nx2 +decimals = 6 + +[FDC40624B] +peggy_denom = inj1gukq56dd9erzmssdxp305g8wjf7ujz0kc46m6e +decimals = 6 + +[FDC40624C] +peggy_denom = inj1623nrzk2us368e6ecl7dfe4tdncqykx76ycvuy +decimals = 6 + +[FDC40625A] +peggy_denom = inj1t3zvq2n5rl2r902zmsynaysse2vj0t4c6zfjlv +decimals = 6 + +[FDC40625B] +peggy_denom = inj1m4n783st9cvc06emtgl29laypf2980j5j9l3rs +decimals = 6 + +[FDC40625C] +peggy_denom = inj1uac3sy4jv0uu6drk2pcfqmtdue7w0q0urpwgzl +decimals = 6 + +[FDC40625D] +peggy_denom = inj1shu8jhwh9g6yxx6gk6hcg89hmqccdwflljcpes +decimals = 6 + +[FDCP40626A] +peggy_denom = inj18ls4r6pw85gk39pyh4pjhln7j6504v0dtk7kxz +decimals = 6 + +[FET] +peggy_denom = inj1ap9u5fa47yhgs4xv4dcnzn08qvlcpqn0dt59sy +decimals = 18 + +[FIDEN] +peggy_denom = factory/inj1xm8azp82qt9cytzg5guhx8cjrjmrunv97dfdd3/FIDEN +decimals = 6 + +[FIFA] +peggy_denom = inj1ma5f4cpyryqukl57k22qr9dyxmmc99pw50fn72 +decimals = 18 + +[FIG] +peggy_denom = inj1whqqv3hrqt58laptw90mdhxx7upx40q6s7d0qx +decimals = 18 + +[FINNEON] +peggy_denom = inj1t3lzvya9p4zslzetpzcmc968a9c5jjkdycwlzf +decimals = 6 + +[FISHY] +peggy_denom = inj178xpd5dxe7dq82dtxpcufelshxxlqmzn0h0r26 +decimals = 8 + +[FIVE] +peggy_denom = inj1wltxzzuvl9tz8jrawcw756wcawcjt4l4cmsjru +decimals = 18 + +[FIX] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1xpvxfn66l8aslcc8qgr7jc5rp638ampdnsfqda +decimals = 18 + +[FLOKI] +peggy_denom = factory/inj1g7nvetpqjcugdnjxd27v37m7adm4wf7wphgzq2/FLOKI +decimals = 6 + +[FLUFFY] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hfk4z29f5cv73gxpdydedhkq0yspqc5ymeze9z +decimals = 18 + +[FLUID] +peggy_denom = inj1avj9gwyj5hzxdkpegcr47kmp8k39nrnejn69mh +decimals = 8 + +[FMLY] +peggy_denom = factory/inj1ku7eqpwpgjgt9ch07gqhvxev5pn2p2upzf72rm/FAMILY +decimals = 6 + +[FOJO] +peggy_denom = inj1n37zp9g8fzdwxca8m7wrp2e7qvrjzfemaxgp8e +decimals = 18 + +[FOMO] +peggy_denom = factory/inj1k7ygz5ufgavnutv0hkgsz7u9g4c3yj6lq6p0jn/FOMO +decimals = 6 + +[FOMOFox] +peggy_denom = factory/inj1k2kcx5n03pe0z9rfzvs9lt764jja9xpvwrxk7c/FOMOFox +decimals = 6 + +[FOO] +peggy_denom = inj1svrvyqm8uu6u4xnkz6tva207pztglcjylxe367 +decimals = 18 + +[FOOL] +peggy_denom = factory/inj16g5w38hqehsmye9yavag0g0tw7u8pjuzep0sys/FOOL +decimals = 6 + +[FOORK] +peggy_denom = inj1zu6qda7u90c8w28xkru4v56ak05xpfjtwps0vw +decimals = 18 + +[FORZA] +peggy_denom = inj1p0tsq248wyk2vd980csndrtep3rz50ezfvhfrw +decimals = 18 + +[FOTHER] +peggy_denom = factory/inj1cus3dx8lxq2h2y9mzraxagaw8kjjcx6ul5feak/FOTHER +decimals = 6 + +[FOUR] +peggy_denom = inj1clfx8jgq3636249d0tr3yu26hsp3yqct6lpvcy +decimals = 18 + +[FOX] +peggy_denom = inj167naeycu49dhs8wduj5ddtq6zex9cd6hpn4k4w +decimals = 18 + +[FOXY] +peggy_denom = inj15acrj6ew42jvgl5qz53q7c9g82vf3n98l84s4t +decimals = 6 + +[FPL] +peggy_denom = inj13yutezdwjkz8xucrt6d564yqr3ava76r6q9vle +decimals = 8 + +[FRANKLYN] +peggy_denom = inj1gadcw96ha8fpd6ulgzulsuqj9vjz8dv0s57at8 +decimals = 18 + +[FRAX] +peggy_denom = ibc/3E5504815B2D69DCC32B1FF54CDAC28D7DA2C445BD29C496A83732DC1D52DB90 +decimals = 18 + +[FREE] +peggy_denom = inj1rp9tjztx0m5ekcxavq9w27875szf8sm7p0hwpg +decimals = 18 + +[FRINJE] +peggy_denom = factory/inj1mcx5h5wfeqk334u8wx6jv3g520zwy3lh22dyp7/FRINJE +decimals = 10 + +[FRNZ] +peggy_denom = ibc/CDD7374B312BEF9723AAEBDE622206490E112CE2B5F49275683CCCD86C7D4BCE +decimals = 6 + +[FROG] +peggy_denom = inj104y5dpcdtga79tczv6rg3rsekx4hasw2k83h5s +decimals = 18 + +[FROGCOIN] +peggy_denom = inj1dljz0rexnhhxa2vnnfxerg7y0am46kdzltwwgp +decimals = 6 + +[FROGGY] +peggy_denom = factory/inj1l8pq22awax6r8hamk2v3cgd77w90qtkmynvp8q/FROGGY +decimals = 6 + +[FROGY] +peggy_denom = factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/FROGiY +decimals = 6 + +[FTC] +peggy_denom = inj1v092fpcqz0k5pf6zwz7z8v40q2yxa0elfzt2hk +decimals = 18 + +[FTM] +peggy_denom = peggy0x4E15361FD6b4BB609Fa63C81A2be19d873717870 +decimals = 18 + +[FTUNA] +peggy_denom = inj1yqm9apy8kat8fav2mmm7geshyytdld0al67ks4 +decimals = 6 + +[FUCK] +peggy_denom = factory/inj1fdqalekg73v06gvzch0zu74ealp35g3y00shmz/FUCK +decimals = 6 + +[FUD] +peggy_denom = factory/inj1j2r6vr20cnhqz3tumd2lh9w8k8guamze3pdf7t/FUD +decimals = 6 + +[FUINJ] +peggy_denom = factory/inj1wlwsd6w84ydmsqs5swthm5hw22qm8fxrth5ggx/FUINJ +decimals = 6 + +[FUSION] +peggy_denom = inj1hpczn65hygw4aaaytxe6gvdu8h3245gjz0q2fx +decimals = 8 + +[FUSIONX] +peggy_denom = inj1a5pxsj6f8jggncw4s2cg39p25swgzdjyljw5tf +decimals = 8 + +[FUZION] +peggy_denom = inj1m8hyuja8wmfm0a2l04dgp5ntwkmetkkemw2jcs +decimals = 8 + +[FUZN] +peggy_denom = ibc/FE87E1E1BB401EC35CD02A57FE5DEF872FA309C018172C4E7DA07F194EAC6F19 +decimals = 6 + +[FaDaCai] +peggy_denom = inj1yevjg9fdp7px757d6g3j2dkpzmeczturx3vpme +decimals = 6 + +[Fetch.ai] +peggy_denom = peggy0xaea46a60368a7bd060eec7df8cba43b7ef41ad85 +decimals = 18 + +[FixedFloat] +peggy_denom = inj1xpvxfn66l8aslcc8qgr7jc5rp638ampdnsfqda +decimals = 18 + +[Fluffy] +peggy_denom = inj1hfk4z29f5cv73gxpdydedhkq0yspqc5ymeze9z +decimals = 18 + +[FollowNinjaBoy_inj] +peggy_denom = factory/inj1sn6u0472ds6v8x2x482gqqc36g0lz28uhq660v/FollowNinjaBoy_inj +decimals = 6 + +[Frogy the frog] +peggy_denom = factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/FROGIYY +decimals = 6 + +[FuckSol] +peggy_denom = factory/inj1na5d9jqhkyckh8gc5uqht75a74jq85gvpycp44/FUCKSOL +decimals = 6 + +[FusionX] +peggy_denom = inj1fghekhpfn2rfds6c466p38ttdm2a70gnzymc86 +decimals = 8 + +[GAINJA] +peggy_denom = inj1jnwu7u6h00lzanpl8d5qerr77zcj2vd65r2j7e +decimals = 18 + +[GALA] +peggy_denom = factory/inj1xtwk60ey0g03s69gfsure0kx8hwwuk24zl0g6l/GALA +decimals = 6 + +[GALAXY] +peggy_denom = factory/inj10zdjt8ylfln5xr3a2ruf9nwn6d5q2d2r3v6mh8/galaxy +decimals = 6 + +[GAMBLE] +peggy_denom = factory/inj10g0paz4mx7mq2z8l9vpxz022xshc04g5kw7s43/gamble +decimals = 6 + +[GAMER] +peggy_denom = inj1h8l2xcn4h9v0m67qem8x7rmf2akjwc34tjmm7a +decimals = 18 + +[GASH] +peggy_denom = ibc/98C86DE314A044503F35E8C395B745B65E990E12A77A357CBA74F474F860A845 +decimals = 6 + +[GASTON] +peggy_denom = factory/inj1sskt2d66eqsan9flcqa9vlt7nvn9hh2dtvp8ua/GASTON +decimals = 6 + +[GBP] +peggy_denom = gbp +decimals = 6 + +[GCM] +peggy_denom = inj1p87lprkgg4c465scz5z49a37hf835nzkcpyeej +decimals = 18 + +[GDUCK] +peggy_denom = factory/inj1fc0ngp72an2x8zxf268xe5avfan5z4g0saz6ns/gduck +decimals = 6 + +[GEISHA] +peggy_denom = factory/inj1h2dqvlca2lay8amfk5fgvateslp3h0sgf8wmmp/geisha +decimals = 6 + +[GEIST] +peggy_denom = inj1x2lg9j9pwmgnnwmhvq2g6pm6emcx7w02pnjnm6 +decimals = 8 + +[GEM] +peggy_denom = factory/inj1s5php9vmd03w6nszlnsny43cmuhw3y6u3vt7qc/gem +decimals = 6 + +[GEM DAO] +peggy_denom = ibc/8AE86084C0D921352F711EF42CCA7BA4C8238C244FE4CC3E4E995D9782FB0E2B +decimals = 6 + +[GEMININJ] +peggy_denom = factory/inj14vrd79l2pxvqctawz39qewfh72x62pfjecxsmv/GEMININJ +decimals = 6 + +[GEMOY] +peggy_denom = inj1j5l0xc2lwqpj2duvllmegxse0dqlx5kgyjehlv +decimals = 18 + +[GENJI] +peggy_denom = factory/inj1p2rmxvzhctu4z22sxcsry874sekvjdhl7k8rys/GENJI +decimals = 6 + +[GENZONE] +peggy_denom = inj1zh9924tws4ctzx5zmz06j09nyjs8fw6wupkadr +decimals = 8 + +[GEO] +peggy_denom = ibc/8E4953E506CF135A3ACDF6D6556ED1DB4F6A749F3910D2B4A77E2E851C4B2638 +decimals = 6 + +[GF] +peggy_denom = peggy0xAaEf88cEa01475125522e117BFe45cF32044E238 +decimals = 18 + +[GGBOND] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/ggbond +decimals = 6 + +[GGG] +peggy_denom = inj1yrw42rwc56lq7a3rjnfa5nvse9veennne8srdj +decimals = 8 + +[GGS] +peggy_denom = factory/inj1282wzngdg46gjuttvhxumkx65fnqx0aqmyl0lu/GGS +decimals = 6 + +[GIANT] +peggy_denom = factory/inj1r4usuj62gywdwhq9uvx6tg0ywqpppcjqu7z4js/giant +decimals = 6 + +[GIFT] +peggy_denom = factory/inj1exks7fvnh9lxzgqejtlvca8t7mw47rks0s0mwa/GIFT +decimals = 6 + +[GIGA] +peggy_denom = ibc/36C811A2253AA64B58A9B66C537B89348FE5792A8808AAA343082CBFCAA72278 +decimals = 5 + +[GINGER] +peggy_denom = factory/inj172ccd0gddgz203e4pf86ype7zjx573tn8g0df9/GINGER +decimals = 6 + +[GINKO] +peggy_denom = factory/inj1krswly444gyuunnmchg4uz2ekqvu02k7903skh/ginko +decimals = 6 + +[GIRL] +peggy_denom = inj1zkmp7m0u0hll3k5w5598g4qs75t7j8qqvmjspz +decimals = 18 + +[GLODIOTOR] +peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/glodiotor +decimals = 6 + +[GLTO] +peggy_denom = peggy0xd73175f9eb15eee81745d367ae59309Ca2ceb5e2 +decimals = 6 + +[GME] +peggy_denom = ibc/CAA5AB050F6C3DFE878212A37A4A6D3BEA6670F5B9786FFF7EF2D34213025272 +decimals = 8 + +[GMKY] +peggy_denom = factory/inj1s09n0td75x8p20uyt9dw29uz8j46kejchl4nrv/GMKY +decimals = 6 + +[GOD] +peggy_denom = inj1whzt6ct4v3zf28a6h08lpf90pglzw7fdh0d384 +decimals = 18 + +[GODDARD] +peggy_denom = ibc/3E89FBB226585CF08EB2E3C2625D1D2B0156CCC2233CAB56165125CACCBE731A +decimals = 6 + +[GODRD] +peggy_denom = ibc/CABB197E23D81F1D1A4CE56A304488C35830F81AC9647F817313AE657221420D +decimals = 6 + +[GODS] +peggy_denom = factory/inj1vug68m8evczhxm26hfe7tetycsfnmm92mr6aaj/GODS +decimals = 6 + +[GODSTRIKE] +peggy_denom = inj1deejw5k4sxnlxgxnzsy5k2vgc9fzu257ajjcy7 +decimals = 8 + +[GODZILLA] +peggy_denom = factory/inj1e05u43qmn9jt502784c009u4elz5l86678esrk/GODZILLA +decimals = 6 + +[GOJO] +peggy_denom = factory/inj13qhzj4fr4u7t7gqj5pqy0yts07eu6k6dkjdcsx/gojo +decimals = 6 + +[GOKU] +peggy_denom = factory/inj1pgkwcngxel97d9qjvg75upe8y3lvvzncq5tdr0/goku +decimals = 6 + +[GOLD] +peggy_denom = gold +decimals = 18 + +[GOLDIE] +peggy_denom = factory/inj130ayayz6ls8qpmu699axhlg7ygy8u6thjjk9nc/GOLDIE +decimals = 6 + +[GOLDMAN] +peggy_denom = inj140ypzhrxyt7n3fhrgk866hnha29u5l2pv733d0 +decimals = 8 + +[GOOSE] +peggy_denom = factory/inj12tl0d8a739t8pun23mzldhan26ndqllyt6d67p/goose +decimals = 6 + +[GORILLA] +peggy_denom = inj1cef5deszfl232ws7nxjgma4deaydd7e7aj6hyf +decimals = 8 + +[GPT] +peggy_denom = factory/inj168gnj4lavp3y5w40rg5qhf50tupwhaj3yvhgr0/GPT +decimals = 6 + +[GRAC] +peggy_denom = ibc/59AA66AA80190D98D3A6C5114AB8249DE16B7EC848552091C7DCCFE33E0C575C +decimals = 6 + +[GREATDANE] +peggy_denom = inj195vgq0yvykunkccdzvys548p90ejuc639ryhkg +decimals = 6 + +[GREEN] +peggy_denom = inj1nlt0jkqfl6f2wlnalyk2wd4g3dq97uj8z0amn0 +decimals = 8 + +[GRENADINE] +peggy_denom = inj1ljquutxnpx3ut24up85e708hjk85hm47skx3xj +decimals = 8 + +[GRINJ] +peggy_denom = factory/inj1h3h0yjxlchmydvsjpazcfyhp57lajdurznpeh0/grinj +decimals = 6 + +[GROK] +peggy_denom = inj1shlkety7fs0n7l2lxz3pyg6hr0j6dkcdvgvjch +decimals = 8 + +[GRONI] +peggy_denom = factory/inj12jtagr03n6fqln4q8mg06lrpaj4scwts49x2cp/groni +decimals = 6 + +[GRT] +peggy_denom = peggy0xc944E90C64B2c07662A292be6244BDf05Cda44a7 +decimals = 18 + +[GRUMPY] +peggy_denom = inj16fr4w5q629jdqt0ygknf06yna93ead2pr74gr3 +decimals = 8 + +[GUGU] +peggy_denom = ibc/B1826CEA5AE790AB7FCAE84344F113F6C42E6AA3A357CAFEAC4A05BB7531927D +decimals = 6 + +[GUPPY] +peggy_denom = ibc/F729B93A13133D7390455293338A0CEAAF876D0F180B7C154607989A1617DD45 +decimals = 6 + +[GYEN] +peggy_denom = peggy0xC08512927D12348F6620a698105e1BAac6EcD911 +decimals = 6 + +[GZZ] +peggy_denom = inj1ec70stm6p3e6u2lmpl5vzan4pdm79vwlfgcdzd +decimals = 18 + +[Galaxy] +peggy_denom = inj13n675x36dnettkxkjll82q72zgnvsazn4we7dx +decimals = 6 + +[Gamble Gold] +peggy_denom = inj13a8vmd652mn2e7d8x0w7fdcdt8742j98jxjcx5 +decimals = 18 + +[Game Stop] +peggy_denom = inj1vnj7fynxr5a62maf34vca4fes4k0wrj4le5gae +decimals = 18 + +[Gay] +peggy_denom = inj1pw54fsqmp0ludl6vl5wfe63ddax52z5hlq9jhy +decimals = 18 + +[Geisha] +peggy_denom = factory/inj1krswly444gyuunnmchg4uz2ekqvu02k7903skh/geisha +decimals = 6 + +[Genny] +peggy_denom = inj1dpn7mdrxf49audd5ydk5062z08xqgnl4npzfvv +decimals = 6 + +[GoatInj] +peggy_denom = factory/inj1ua3rm4lsrse2canapg96v8jtg9k9yqzuscu766/GoatInj +decimals = 6 + +[Gorilla] +peggy_denom = factory/inj1wc7a5e50hq9nglgwhc6vs7cnskzedskj2xqv6j/Gorilla +decimals = 6 + +[GreenMarket] +peggy_denom = inj1wjd2u3wq2dwyr7zlp09squh2xrqjlggy0vlftj +decimals = 8 + +[Greenenergy] +peggy_denom = inj1aqu4y55rg43gk09muvrcel3z45nuxczukhmfut +decimals = 18 + +[Grind] +peggy_denom = inj125ry0fhlcha7fpt373kejwf8rq5h3mwewqr0y2 +decimals = 18 + +[Gryphon Staked Injective] +peggy_denom = inj13xlpypcwl5fuc84uhqzzqumnrcfpptyl6w3vrf +decimals = 18 + +[H3NSY] +peggy_denom = inj1c22v69304zlaan50gdygmlgeaw56lcphl22n87 +decimals = 8 + +[HABS] +peggy_denom = factory/inj1ddn2cxjx0w4ndvcrq4k0s0pjyzwhfc5jaj6qqv/habs +decimals = 6 + +[HACHI] +peggy_denom = factory/inj13ze65lwstqrz4qy6vvxx3lglnkkuan436aw45e/HACHI +decimals = 9 + +[HAIR] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/hair +decimals = 6 + +[HAKI] +peggy_denom = factory/inj1pgkwcngxel97d9qjvg75upe8y3lvvzncq5tdr0/haki +decimals = 6 + +[HAL] +peggy_denom = factory/inj197jczxq905z5ddeemfmhsc077vs4y7xal3wyrm/HALLAS +decimals = 18 + +[HALVING] +peggy_denom = factory/inj1k0mzgwd4ujuu9w95xzs8p7qu8udy3atqj3sau7/HALVING +decimals = 6 + +[HAMU] +peggy_denom = factory/inj1t6py7esw8z6jc8c204ag3zjevqlpfx203hqyt2/HAMU +decimals = 6 + +[HAMURAI] +peggy_denom = factory/inj1xqf6rk5p5w3zh22xaxck9g2rnksfhpg33gm9xt/hamu +decimals = 6 + +[HANZO] +peggy_denom = factory/inj1xz4h76wctruu6l0hezq3dhtfkxzv56ztg4l29t/HANZO +decimals = 6 + +[HARD] +peggy_denom = ibc/D6C28E07F7343360AC41E15DDD44D79701DDCA2E0C2C41279739C8D4AE5264BC +decimals = 6 + +[HATEQUNT] +peggy_denom = factory/inj1sfaqn28d0nw4q8f2cm9gvhs69ecv5x8jjtk7ul/HATEQUNT +decimals = 6 + +[HATTORI] +peggy_denom = factory/inj1h7zackjlzcld6my000mtg3uzuqdv0ly4c9g88p/HATTORI +decimals = 6 + +[HAVA] +peggy_denom = factory/inj1h0ypsdtjfcjynqu3m75z2zwwz5mmrj8rtk2g52/uhava +decimals = 6 + +[HAVA COIN] +peggy_denom = inj1u759lmx8e6g8f6l2p08qvrekjwcq87dff0ks3n +decimals = 18 + +[HDRO] +peggy_denom = factory/inj1etz0laas6h7vemg3qtd67jpr6lh8v7xz7gfzqw/hdro +decimals = 6 + +[HEMULE] +peggy_denom = inj1hqamaawcve5aum0mgupe9z7dh28fy8ghh7qxa7 +decimals = 18 + +[HERB] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/herb +decimals = 6 + +[HERO] +peggy_denom = inj18mqec04e948rdz07epr9w3j20wje9rpg6flufs +decimals = 6 + +[HEST] +peggy_denom = factory/inj15vj7e40j5cqvxmy8u7h9ud3ustrgeqa98uey96/HEST +decimals = 6 + +[HEXA] +peggy_denom = inj13e4hazjnsnapqvd06ngrq5zapw8gegarudzehd +decimals = 8 + +[HGM] +peggy_denom = inj14y8j4je4gs57fgwakakreevx6ultyy7c7rcmk2 +decimals = 18 + +[HINJ] +peggy_denom = factory/inj1srha80fxkk40gzymgrgt3m3ya0u8ms3z022f70/hinj +decimals = 6 + +[HOUND] +peggy_denom = factory/inj1nccncwqx5q22lf4uh83dhe89e3f0sh8kljf055/HOUND +decimals = 6 + +[HOUSE] +peggy_denom = factory/inj1rvstpdy3ml3c879yzz8evk37ralz7w4dtydsqp/HOUSE +decimals = 6 + +[HRBE] +peggy_denom = factory/inj1lucykkh3kv3wf6amckf205rg5jl8rprdcq8v83/HRBE +decimals = 6 + +[HST] +peggy_denom = inj1xhvj4u6xtx3p9kr4pqzl3fdu2vedh3e2y8a79z +decimals = 18 + +[HT] +peggy_denom = peggy0x6f259637dcD74C767781E37Bc6133cd6A68aa161 +decimals = 18 + +[HUAHUA] +peggy_denom = ibc/9D9B59CA222E54842555DBD81B22EEABE61796D4C6EC8AB47A97C388333AC340 +decimals = 6 + +[HULK] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/HULK +decimals = 6 + +[HUMP] +peggy_denom = inj1v29k9gaw7gnds42mrzqdygdgjh28vx38memy0q +decimals = 18 + +[HUOBINJ] +peggy_denom = factory/inj1srha80fxkk40gzymgrgt3m3ya0u8ms3z022f70/huobinj +decimals = 6 + +[HUSKY] +peggy_denom = factory/inj1467q6d05yz02c2rp5qau95te3p74rqllda4ql7/husky +decimals = 6 + +[HYDRO] +peggy_denom = inj10r75ap4ztrpwnan8er49dvv4lkjxhgvqflg0f5 +decimals = 8 + +[HYDRO WRAPPED INJ] +peggy_denom = inj1r9qgault3k4jyp60d9fkzy62dt09zwg89dn4p6 +decimals = 18 + +[HappyGilmore] +peggy_denom = inj1h5d90rl5hmkp8mtuyc0zpjt00hakldm6wtseew +decimals = 18 + +[HarryPotterObamaSonicInu] +peggy_denom = inj1y64pkwy0m0jjd825c7amftqe2hmq2wn5ra8ap4 +decimals = 18 + +[Hava Coin] +peggy_denom = inj1fnlfy6r22slr72ryt4wl6uwpg3dd7emrqaq7ne +decimals = 18 + +[Hellooooo] +peggy_denom = inj1xj7c6r65e8asrrpgm889m8pr7x3ze7va2ypql4 +decimals = 18 + +[Hero Wars] +peggy_denom = inj1f63rgzp2quzxrgfchqhs6sltzf0sksxtl7wtzn +decimals = 8 + +[HeyDay] +peggy_denom = inj1rel4r07gl38pc5xqe2q36ytfczgcrry0c4wuwf +decimals = 6 + +[HnH] +peggy_denom = inj1e8r3gxvzu34ufgfwzr6gzv6plq55lg0p95qx5w +decimals = 8 + +[Hydro] +peggy_denom = factory/inj1pk7jhvjj2lufcghmvr7gl49dzwkk3xj0uqkwfk/hdro +decimals = 6 + +[Hydro Protocol] +peggy_denom = inj1vkptqdl42csvr5tsh0gwczdxdenqm7xxg9se0z +decimals = 8 + +[Hydro Wrapped INJ] +peggy_denom = inj18luqttqyckgpddndh8hvaq25d5nfwjc78m56lc +decimals = 18 + +[Hydrogen oxide] +peggy_denom = factory/inj1utlxkwfxhmfc826gu07w20mvguysavz72edy4n/h2o +decimals = 6 + +[IBC] +peggy_denom = ibc/75BD031C1301C554833F205FAFA065178D51AC6100BCE608E6DC2759C2B71715 +decimals = 6 + +[IBCX] +peggy_denom = ibc/491C92BEEAFE513BABA355275C7AE3AC47AA7FD57285AC1D910CE874D2DC7CA0 +decimals = 6 + +[IBONK] +peggy_denom = factory/inj14cm9e5n5pjgzvwe5t8zshts2t9x2lxk3zp0js2/ibonk +decimals = 6 + +[IDFI] +peggy_denom = inj13ac29xfk969qmydhq2rwekja6mxgwtdgpeq3dj +decimals = 8 + +[IDOGE] +peggy_denom = inj18nuas38jw742ezmk942j4l935lenc6nxd4ypga +decimals = 18 + +[IHOP] +peggy_denom = factory/inj17rpa60xtn3rgzuzltuwgpw2lu3ayulkdjgwaza/IHOP +decimals = 6 + +[IJ] +peggy_denom = factory/inj1hcymy0z58zxpm3esch2u5mps04a3vq2fup4j29/InjBull +decimals = 6 + +[IJT] +peggy_denom = inj1tn8vjk2kdsr97nt5w3fhsslk0t8pnue7mf96wd +decimals = 18 + +[IKINGS] +peggy_denom = factory/inj1mt876zny9j6xae25h7hl7zuqf7gkx8q63k0426/IKINGS +decimals = 6 + +[INCEL] +peggy_denom = factory/inj17g4j3geupy762u0wrewqwprvtzar7k5et2zqsh/incel +decimals = 6 + +[INDUSTRY] +peggy_denom = inj1kkc0l4xnz2eedrtp0pxr4l45cfuyw7tywd5682 +decimals = 18 + +[INJ] +peggy_denom = inj134pxgsexyt782qp3kvxf8nf9xl0q7dfdxk5tws +decimals = 18 + +[INJ LOUNGE] +peggy_denom = inj1dntqalk5gj6g5u74838lmrym3hslc9v3v9etqg +decimals = 8 + +[INJ TEST] +peggy_denom = factory/inj1gxf874xgdcza4rtkashrc8w2s3ulaxa3c7lmeh/inj-tt +decimals = 6 + +[INJ TO THE MOON] +peggy_denom = factory/inj1e05u43qmn9jt502784c009u4elz5l86678esrk/MOON +decimals = 6 + +[INJA] +peggy_denom = factory/inj13y9m57hw2rnvdmsym8na45z9kvexy82c4n6apc/INJA +decimals = 6 + +[INJBOT] +peggy_denom = inj1hhxn5p7gkcql23dpmkx6agy308xnklzsg5v5cw +decimals = 8 + +[INJCEL] +peggy_denom = factory/inj1597pysn2u56ggcckykt2zzjuqkeezy5yxfujtj/INJcel +decimals = 6 + +[INJDAO] +peggy_denom = inj177wz9fpk6xjfrr7ex06sv5ukh0csgfak7x5uaq +decimals = 8 + +[INJDINO] +peggy_denom = inj13fnjq02hwxejdm584v9qhrh66mt4l3j8l3yh6f +decimals = 6 + +[INJDOGE] +peggy_denom = factory/inj1k2kcx5n03pe0z9rfzvs9lt764jja9xpvwrxk7c/INJDOGE +decimals = 6 + +[INJDOGOS] +peggy_denom = inj1kl2zc5djmp8nmwsetua8gnmvug2c3dfa3uvy2e +decimals = 18 + +[INJECT] +peggy_denom = factory/inj1j7zt6g03vpmg9p7g7qngvylfxqeuds73utsjnk/INJECT +decimals = 6 + +[INJECTIV] +peggy_denom = factory/inj1x04zxeyrjc7ke5nt7ht3v3gkevxdk7rr0fx8qp/INJECTIV +decimals = 6 + +[INJECTIVED] +peggy_denom = inj16ccz3z2usevpyzrarggtqf5fgh8stjsql0rtew +decimals = 6 + +[INJER] +peggy_denom = factory/inj1sjmplasxl9zgj6yh45j3ndskgdhcfcss9djkdn/INJER +decimals = 6 + +[INJERA] +peggy_denom = inj1032h3lllszfld2utcunjvk8knx2c8eedgl7r4y +decimals = 6 + +[INJESUS] +peggy_denom = inj12d7qq0lp656jkrr2d3ez55cr330f3we9c75ml6 +decimals = 8 + +[INJEVO] +peggy_denom = inj1f6fxh20pdyuj98c8l2svlky8k7z7hkdztttrd2 +decimals = 8 + +[INJEX] +peggy_denom = factory/inj1zhevrrwywg3az9ulxd9u233eyy4m2mmr6vegsg/INJEX +decimals = 6 + +[INJFIRE] +peggy_denom = inj1544nmruy3xc3qqp84cenuzqrdnlyfkprwdfcz5 +decimals = 8 + +[INJGEN] +peggy_denom = factory/inj1ruwdh4vc29t75eryvxs7vwzt7trtrz885teuwa/injgen +decimals = 6 + +[INJGOAT] +peggy_denom = inj1p9nluxkvuu5y9y7radpfnwemrdty74l74q2ycp +decimals = 6 + +[INJHACKTIVE] +peggy_denom = factory/inj14cpnzf4mxyxel7le3wp2zxyvwr8g0wukch9865/INJHACKTIVE +decimals = 6 + +[INJHAT] +peggy_denom = factory/inj1uc7awz4e4kg9dakz5t8w6zzz7r62992ezsr279/injhat +decimals = 6 + +[INJI] +peggy_denom = factory/inj1nql734ta2npe48l26kcexk8ysg4s9fnacv9tvv/INJI +decimals = 6 + +[INJINU] +peggy_denom = inj1ykfurk0jsxcz6hp9tqm8vn2p5k0hn76y6uans6 +decimals = 6 + +[INJM] +peggy_denom = inj1czlt30femafl68uawedg63834vcg5z92u4ld8k +decimals = 18 + +[INJMEME] +peggy_denom = inj179luuhr3ajhsyp92tw73w8d7c60jxzjcy22356 +decimals = 8 + +[INJMETA] +peggy_denom = inj1m7264u6ytz43uh5hpup7cg78h6a8xus9dnugeh +decimals = 8 + +[INJMOON] +peggy_denom = inj12val9c8g0ztttfy8c5amey0adyn0su7x7f27gc +decimals = 8 + +[INJMOOON] +peggy_denom = inj1eu0zlrku7yculmcjep0n3xu3ehvms9pz96ug9e +decimals = 6 + +[INJNET] +peggy_denom = inj13ew774de6d3qhfm3msmhs9j57le9krrw2ezh3a +decimals = 8 + +[INJOFGOD] +peggy_denom = inj1snaeff6pryn48fnrt6df04wysuq0rk7sg8ulje +decimals = 8 + +[INJOY] +peggy_denom = factory/inj1qdepvfux04s8pqvzs4leam4pgl46wy0fx37eyt/injoy +decimals = 9 + +[INJPEPE] +peggy_denom = inj1395ty2rphfvxa6jdwxugk3qrk8h49wn245afcr +decimals = 6 + +[INJPEPE2] +peggy_denom = factory/inj1jsduylsevrmddn64hdxutcel023eavw44n63z2/INJPEPE2 +decimals = 6 + +[INJPORTAL] +peggy_denom = inj1etyzmggnjdtjazuj3eqqlngvvgu2tqt6vummfh +decimals = 8 + +[INJPREMIUM] +peggy_denom = inj18uw5etyyjqudtaap029u9g5qpxf85kqvtkyhq9 +decimals = 8 + +[INJPRO] +peggy_denom = inj15x75x44futqdpx7mp86qc6dcuaqcyvfh0gpxp5 +decimals = 8 + +[INJS] +peggy_denom = factory/inj1yftyfrc720nhrzdep5j70rr8dm9na2thnrl7ut/injs +decimals = 6 + +[INJSANTA] +peggy_denom = inj1ur3qac37axxmuqpsegr7cts77t78jyupucpua3 +decimals = 8 + +[INJSHIB] +peggy_denom = inj1tty2w6sacjpc0ma6mefns27qtudmmp780rxlch +decimals = 8 + +[INJSWAP] +peggy_denom = inj1pn5u0rs8qprush2e6re775kyf7jdzk7hrm3gpj +decimals = 8 + +[INJTOOLS] +peggy_denom = factory/inj105a0fdpnq0wt5zygrhc0th5rlamd982r6ua75r/injtools +decimals = 6 + +[INJUNI] +peggy_denom = inj1dz8acarv345mk5uarfef99ecxuhne3vxux606r +decimals = 8 + +[INJUSSY] +peggy_denom = inj1vt2sgyzrna5uj6yetju8k0fjex4g8t7fr3w0vc +decimals = 6 + +[INJUST] +peggy_denom = inj1j9ld52dpgzyc6j42fv5ggk2xkzukm4tjun6449 +decimals = 6 + +[INJUSTICE] +peggy_denom = factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/INJUSTICE +decimals = 6 + +[INJVERSE] +peggy_denom = inj1leqzwmk6xkczjrum5nefcysqt8k6qnmq5v043y +decimals = 8 + +[INJX] +peggy_denom = factory/inj104h3hchl7ws8lp78zpvrunvsjdwfjc02r5d0fp/injx +decimals = 6 + +[INJXMAS] +peggy_denom = inj1uneeqwr3anam9qknjln6973lewv9k0cjmhj7rj +decimals = 8 + +[INJXSOL] +peggy_denom = inj174p4dt45793vylmt8575cltj6wadtc62nakczq +decimals = 8 + +[INJXXX] +peggy_denom = inj1pykhnt3l4ekxe6ra5gjc03pgdglavsv34vdjmx +decimals = 8 + +[INJbsc] +peggy_denom = inj1xcgprh58szttp0vqtztvcfy34tkpupr563ua40 +decimals = 18 + +[INJet] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1v8gg4wzfauwf9l7895t0eyrrkwe65vh5n7dqmw +decimals = 18 + +[INJjP] +peggy_denom = inj1xwr2fzkakfpx5afthuudhs90594kr2ka9wwldl +decimals = 8 + +[INJusd] +peggy_denom = inj1qchqhwkzzws94rpfe22qr2v5cv529t93xgrdfv +decimals = 18 + +[INUJ] +peggy_denom = inj13jhpsn63j6p693ffnfag3efadm9ds5dqqpuml9 +decimals = 18 + +[INUWIFHAT] +peggy_denom = inj1xtrzl67q5rkdrgcauljpwzwpt7pgs3jm32zcaz +decimals = 18 + +[IOA] +peggy_denom = inj1xwkqem29z2faqhjgr6jnpl7n62f2wy4nme8v77 +decimals = 18 + +[ION] +peggy_denom = ibc/1B2D7E4261A7E2130E8E3506058E3081D3154998413F0DB2F82B04035B3FE676 +decimals = 6 + +[IOTX] +peggy_denom = peggy0x6fB3e0A217407EFFf7Ca062D46c26E5d60a14d69 +decimals = 18 + +[IPDAI] +peggy_denom = factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/ipdai +decimals = 6 + +[IPEPE] +peggy_denom = factory/inj1td7t8spd4k6uev6uunu40qvrrcwhr756d5qw59/ipepe +decimals = 6 + +[IPEPER] +peggy_denom = factory/inj1fdqalekg73v06gvzch0zu74ealp35g3y00shmz/IPEPER +decimals = 6 + +[IPandaAI] +peggy_denom = factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/ipandaai +decimals = 6 + +[ISILLY] +peggy_denom = factory/inj1499ez5npathr0zkphz2yq6npdfc6xvg3d4zynj/iSILLY +decimals = 6 + +[ITO] +peggy_denom = ibc/E7140919F6B70594F89401B574DC198D206D923964184A9F79B39074301EB04F +decimals = 6 + +[ITSC] +peggy_denom = inj1r63ncppq6shw6z6pfrlflvxm6ysjm6ucx7ddnh +decimals = 18 + +[IUSD] +peggy_denom = factory/inj1l7u9lv8dfqkjnc7antm5lk7lmskh8zldh9yg05/iUSD +decimals = 18 + +[IWH] +peggy_denom = factory/inj1sgnkljwsekkf36p4lgd7v9qa0p66rj64xa756j/IWH +decimals = 6 + +[IXB] +peggy_denom = inj1p0tvxzfhht5ychd6vj8rqhm0u7g5zxl6prrzpk +decimals = 8 + +[Imol] +peggy_denom = factory/inj1g055dn0qmm9qyrnuaryffqe3hu8qja0qnslx87/Mol7 +decimals = 0 + +[InjBots] +peggy_denom = factory/inj1qfdgzwy6ppn4nq5s234smhhp9rt8z2yvjl2v49/InjBots +decimals = 18 + +[InjCroc] +peggy_denom = inj1dcl8q3yul8hu3htwxp8jf5ar5nqem62twjl0ga +decimals = 18 + +[InjDoge] +peggy_denom = inj1hlg3pr7mtvzcczq0se4xygscmm2c99rrndh4gv +decimals = 8 + +[InjDragon] +peggy_denom = inj1gkf6h3jwsxayy068uuf6ey55h29vjd5x45pg9g +decimals = 18 + +[InjPepe] +peggy_denom = inj19xa3v0nwvdghpj4v2lzf64n70yx7wlqvaxcejn +decimals = 8 + +[InjXsolana] +peggy_denom = inj1u82h7d8l47q3kzwvkm2mgzrskk5au4lrkntkjn +decimals = 8 + +[Inject] +peggy_denom = inj1tn88veylex4f4tu7clpkyneahpmf7nqqmvquuw +decimals = 18 + +[InjectDOGE] +peggy_denom = factory/inj1nf43yjjx7sjc3eulffgfyxqhcraywwgrnqmqjc/INJDOGE +decimals = 6 + +[Injection] +peggy_denom = inj1e8lv55d2nkjss7jtuht9m46cmjd83e39rppzkv +decimals = 6 + +[Injection ] +peggy_denom = inj15sls6g6crwhax7uw704fewmktg6d64h8p46dqy +decimals = 18 + +[Injective] +peggy_denom = inj1v8gg4wzfauwf9l7895t0eyrrkwe65vh5n7dqmw +decimals = 18 + +[Injective City] +peggy_denom = factory/inj1xzl47mx87r7sx8e6cz9d3q257xtp9fue3dx073/CITY +decimals = 6 + +[Injective Genesis] +peggy_denom = inj19gm2tefdz5lpx49veyqe3dhtqqkwmtyswv60ux +decimals = 8 + +[Injective Inu] +peggy_denom = inj1pv567vvmkv2udn6llcnmnww78erjln35ut05kc +decimals = 8 + +[Injective Memes] +peggy_denom = inj1zq5mry9y76s5w7rd6eaf8kx3ak3mlssqkpzerp +decimals = 8 + +[Injective Moon] +peggy_denom = inj1tu45dzd54ugqc9fdwmce8vcpeyels45rllx4tt +decimals = 8 + +[Injective Panda] +peggy_denom = factory/inj183lz632dna57ayuf6unqph5d0v2u655h2jzzyy/bamboo +decimals = 6 + +[Injective Protocol] +peggy_denom = peggy0x7C7aB80590708cD1B7cf15fE602301FE52BB1d18 +decimals = 18 + +[Injective Snowy] +peggy_denom = inj17hsx7q99utdthm9l6c6nvm2j8a92dr489car5x +decimals = 8 + +[Injective-X] +peggy_denom = inj1uk9ac7qsjxqruva3tavqsu6mfvldu2zdws4cg2 +decimals = 8 + +[InjectivePEPE] +peggy_denom = inj18y9v9w55v6dsp6nuk6gnjcvegf7ndtmqh9p9z4 +decimals = 18 + +[InjectiveSwap] +peggy_denom = inj1t0dfz5gqfrq6exqn0sgyz4pen4lxchfka3udn4 +decimals = 6 + +[InjectiveToMoon] +peggy_denom = inj1jwms7tyq6fcr0gfzdu8q5qh906a8f44wws9pyn +decimals = 8 + +[Injera] +peggy_denom = inj1fqn5wr483v6kvd3cs6sxdcmq4arcsjla5e5gkh +decimals = 18 + +[Injera Gem] +peggy_denom = peggy0x7872f1B5A8b66BF3c94146D4C95dEbB6c0997c7B +decimals = 18 + +[Internet Explorer] +peggy_denom = factory/inj1zhevrrwywg3az9ulxd9u233eyy4m2mmr6vegsg/ninjb +decimals = 6 + +[Inu] +peggy_denom = factory/inj1z0my390aysyk276lazp4h6c8c49ndnm8splv7n/Inu +decimals = 6 + +[Inv] +peggy_denom = inj1ajzrh9zffh0j4ktjczcjgp87v0vf59nhyvye9v +decimals = 18 + +[Inzor] +peggy_denom = factory/inj1j7ap5xxp42urr4shkt0zvm0jtfahlrn5muy99a/Inzor +decimals = 6 + +[JAKE] +peggy_denom = factory/inj1t0vyy5c3cnrw9f0mpjz9xk7fp22ezjjmrza7xn/JAKE +decimals = 6 + +[JAPAN] +peggy_denom = factory/inj13vtsydqxwya3mpmnqa20lhjg4uhg8pp42wvl7t/japan +decimals = 18 + +[JCLUB] +peggy_denom = factory/inj12lhhu0hpszdq5wmt630wcspdxyewz3x2m04khh/JCLUB +decimals = 6 + +[JEDI] +peggy_denom = inj1vhsam3xn26fq6lpfpnsnrrg66tjfxts8p7hrrf +decimals = 6 + +[JEET] +peggy_denom = inj1sjff8grguxkzp2wft4xnvsmrksera5l5hhr2nt +decimals = 18 + +[JEETERS] +peggy_denom = factory/inj1jxj9u5y02w4veajmke39jnzmymy5538n420l9z/jeeters +decimals = 6 + +[JEFF] +peggy_denom = factory/inj10twe630w3tpqvxmeyl5ye99vfv4rmy92jd9was/JEFF +decimals = 6 + +[JEJU] +peggy_denom = factory/inj1ymsgskf2467d6q7hwkms9uqsq3h35ng7mj6qs2/jeju +decimals = 6 + +[JELLY] +peggy_denom = factory/inj13ez8llxz7smjgflrgqegwnj258tfs978c0ccz8/JELLY +decimals = 6 + +[JESUS] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/JESUS +decimals = 6 + +[JESUSINJ] +peggy_denom = inj13tnc70qhxuhc2efyvadc35rgq8uxeztl4ajvkf +decimals = 8 + +[JIMMY] +peggy_denom = ibc/BE0CC03465ABE696C3AE57F6FE166721DF79405DFC4F4E3DC09B50FACABB8888 +decimals = 6 + +[JINJA] +peggy_denom = factory/inj1kr66vwdpxmcgqgw30t6duhtmfdpcvlkljgn5f7/JINJA +decimals = 6 + +[JINJAO] +peggy_denom = factory/inj105ujajd95znwjvcy3hwcz80pgy8tc6v77spur0/LILKRYSTAL +decimals = 6 + +[JINX] +peggy_denom = factory/inj1rmf0pe6dns2kaasjt82j5lps3t8ke9dzyh3nqt/JINX +decimals = 6 + +[JIT] +peggy_denom = factory/inj1d3nq64h56hvjvdqatk9e4p26z5y4g4l6uf2a7w/JIT +decimals = 18 + +[JITSU] +peggy_denom = inj1gjujeawsmwel2d5p78pxmvytert726sejn8ff3 +decimals = 6 + +[JITZ] +peggy_denom = inj1cuxse2aaggs6dqgq7ek8nkxzsnyxljpy9sylyf +decimals = 6 + +[JNI] +peggy_denom = factory/inj140ddmtvnfytfy4htnqk06um3dmq5l79rl3wlgy/jni +decimals = 6 + +[JOHNXINA] +peggy_denom = inj1xxqe7t8gp5pexe0qtlh67x0peqs2psctn59h24 +decimals = 6 + +[JOKER] +peggy_denom = inj1q4amkjwefyh60nhtvtzhsmpz3mukc0fmpt6vd0 +decimals = 8 + +[JPE] +peggy_denom = inj1s8e7sn0f0sgtcj9jnpqnaut3tlh7z720dsxnn7 +decimals = 18 + +[JPY] +peggy_denom = jpy +decimals = 6 + +[JSON] +peggy_denom = factory/inj1nz984w2xnpwrtzsj7mt8rsc57vyhpwa360fq2r/json +decimals = 6 + +[JSR] +peggy_denom = inj1hdc2qk2epr5fehdjkquz3s4pa0u4alyrd7ews9 +decimals = 18 + +[JTEST] +peggy_denom = inj1vvekjsupcth0g2w0tkp6347xxzk5cpx87hwqdm +decimals = 18 + +[JUDO] +peggy_denom = inj16ukv8g2jcmml7gykxn5ws8ykhxjkugl4zhft5h +decimals = 18 + +[JUKI] +peggy_denom = inj1nj2d93q2ktlxrju2uwyevmwcatwcumuejrplxz +decimals = 18 + +[JUMONG] +peggy_denom = inj1w9vzzh7y5y90j69j774trp6z0qfh8r4q4yc3yc +decimals = 6 + +[JUNO] +peggy_denom = ibc/D50E26996253EBAA8C684B9CD653FE2F7665D7BDDCA3D48D5E1378CF6334F211 +decimals = 6 + +[JUP] +peggy_denom = jup +decimals = 6 + +[JUSSY] +peggy_denom = inj1qydw0aj2gwv27zkrp7xulrg43kx88rv27ymw6m +decimals = 18 + +[JUTSU] +peggy_denom = inj1aj27yjf5cg6aaccj0xxdpep9h5kymtmu3ccz9h +decimals = 6 + +[Jay] +peggy_denom = inj1qt007zcu57qd4nq9u7g5ffgeyyqkx2h4qfzmn4 +decimals = 18 + +[Jenner] +peggy_denom = inj1yjecs8uklzruxphv447l7urdnlguwynm5f45z7 +decimals = 18 + +[Joe] +peggy_denom = inj14jgu6cs42decuqdfwfz2j462n8lrwhs2d5qdsy +decimals = 18 + +[Joe Boden] +peggy_denom = factory/inj1wnrxrkj59t6jeg3jxzhkc0efr2y24y6knvsnmp/boden +decimals = 6 + +[KADO] +peggy_denom = inj1608auvvlrz9gf3hxkpkjf90vwwgfyxfxth83g6 +decimals = 8 + +[KAGE] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1l49685vnk88zfw2egf6v65se7trw2497wsqk65 +decimals = 18 + +[KAGECoin] +peggy_denom = factory/inj1jqu8w2qqlc79aewc74r5ts7hl85ksjk4ud7jm8/KAGE +decimals = 6 + +[KAI] +peggy_denom = factory/inj1kdvaxn5373fm4g8xxqhq08jefjhmefqjn475dc/KAI +decimals = 6 + +[KAKAPO] +peggy_denom = factory/inj14ykszmwjjsu9s6aakqc02nh3t32h9m7rnz7qd4/KAKAPO +decimals = 6 + +[KANGAL] +peggy_denom = inj1aq9f75yaq9rwewh38r0ffdf4eqt4mlfktef0q2 +decimals = 18 + +[KARATE] +peggy_denom = factory/inj1898t0vtmul3tcn3t0v8qe3pat47ca937jkpezv/karate +decimals = 6 + +[KARMA] +peggy_denom = factory/inj1d4ld9w7mf8wjyv5y7fnhpate07fguv3s3tmngm/karma +decimals = 6 + +[KASA] +peggy_denom = factory/inj183lz632dna57ayuf6unqph5d0v2u655h2jzzyy/kasa +decimals = 6 + +[KAT] +peggy_denom = factory/inj1ms8lr6y6qf2nsffshfmusr8amth5y5wnrjrzur/KAT +decimals = 6 + +[KATANA] +peggy_denom = inj1j36ddpvef5jgmp4ngy6kl0r45c2tftu4qjuke8 +decimals = 6 + +[KATI] +peggy_denom = factory/inj1gueqq3xdek4q5uyh8jp5xnm0ah33elanvgc524/KATI +decimals = 6 + +[KATO] +peggy_denom = factory/inj18dsv2pywequv9c7t5s4kaayg9440hwhht6kkvx/KATO +decimals = 6 + +[KAVA] +peggy_denom = ibc/57AA1A70A4BC9769C525EBF6386F7A21536E04A79D62E1981EFCEF9428EBB205 +decimals = 6 + +[KAVAverified] +peggy_denom = inj1t307cfqzqkm4jwqdtcwmvdrfvrz232sffatgva +decimals = 18 + +[KAZE BOT] +peggy_denom = factory/inj1q42vrh9rhdnr20eq9ju9lymsxaqxcjpuqgd2cg/KZB +decimals = 6 + +[KET] +peggy_denom = factory/inj1y3tkh4dph28gf2fprxy98sg7w5s7e6ymnrvwgv/KET +decimals = 6 + +[KETCHUP] +peggy_denom = factory/inj16g5w38hqehsmye9yavag0g0tw7u8pjuzep0sys/KETCHUP +decimals = 6 + +[KGM] +peggy_denom = factory/inj1a9dsv5whfhqptkycx4l9uly9x684lwmwuv7l3n/KGM +decimals = 6 + +[KIBA] +peggy_denom = factory/inj1k2kcx5n03pe0z9rfzvs9lt764jja9xpvwrxk7c/KIBA +decimals = 6 + +[KIDZ] +peggy_denom = factory/inj1f502ktya5h69hxs9acvf3j3d6ygepgxxh2w40u/kidz +decimals = 6 + +[KIKI] +peggy_denom = factory/inj1yc9tdwkff6fdhseshk2qe4737hysf3dv0jkq35/kiki +decimals = 6 + +[KIMJ] +peggy_denom = factory/inj137z9mjeja534w789fnl4y7afphn6qq7qvwhd8y/KIMJ +decimals = 6 + +[KINGELON] +peggy_denom = inj195vkuzpy64f6r7mra4m5aqgtj4ldnk2qs0zx8n +decimals = 8 + +[KINGFUSION] +peggy_denom = inj1mnzwm6fvkruendv8r63vzlw72yv7fvtngkkzs9 +decimals = 8 + +[KINGINJ] +peggy_denom = inj1a3ec88sxlnu3ntdjk79skr58uetrvxcm4puhth +decimals = 8 + +[KINGS] +peggy_denom = factory/inj1pqxpkmczds78hz8cacyvrht65ey58e5yg99zh7/kings +decimals = 6 + +[KINJ] +peggy_denom = factory/inj12jtagr03n6fqln4q8mg06lrpaj4scwts49x2cp/kinj +decimals = 6 + +[KINJA] +peggy_denom = factory/inj1h33jkaqqalcy3wf8um6ewk4hxmfwf8uern470k/Kinja +decimals = 6 + +[KIRA] +peggy_denom = factory/inj1xy3kvlr4q4wdd6lrelsrw2fk2ged0any44hhwq/KIRA +decimals = 6 + +[KIRAINU] +peggy_denom = factory/inj1weyajq6ksmzzhfpum9texpsgm9u20fc0kdqpgy/KIRAINU +decimals = 6 + +[KISH] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/KISH +decimals = 18 + +[KISH6] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/KISH6 +decimals = 6 + +[KISHU] +peggy_denom = factory/inj1putkaddmnnwjw096tfn7rfyl7jq447y74vmqzt/kishu +decimals = 6 + +[KLAUS] +peggy_denom = inj1yjgk5ywd0mhczx3shvreajtg2ag9l3d56us0f8 +decimals = 8 + +[KMT] +peggy_denom = factory/inj1av2965j0asg5qwyccm8ycz3qk0eya4873dkp3u/kermit +decimals = 6 + +[KNIGHT] +peggy_denom = factory/inj1nz984w2xnpwrtzsj7mt8rsc57vyhpwa360fq2r/knight +decimals = 6 + +[KOGA] +peggy_denom = factory/inj1npvrye90c9j7vfv8ldh9apt8t3a9mv9lsv52yd/KOGA +decimals = 6 + +[KOOG] +peggy_denom = inj1dkpmkm7j8t2dh5zqp04xnjlhljmejss3edz3wp +decimals = 18 + +[KPEPE] +peggy_denom = pepe +decimals = 18 + +[KRINJ] +peggy_denom = factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/KRINJ +decimals = 6 + +[KRIPDRAGON] +peggy_denom = inj12txuqr77qknte82pv5uaz8fpg0rsvssjr2n6jj +decimals = 8 + +[KROPA] +peggy_denom = inj1smlveclt2dakmxx36zla343qyznscaxsyza3gh +decimals = 18 + +[KROPPA] +peggy_denom = inj15x62fd9yy0d8lll00k3h66d3terjn79e29l60p +decimals = 18 + +[KRYSY] +peggy_denom = inj1jxcn5t8tmnw26r6fa27m76cw0a7zrzhyenf4c5 +decimals = 6 + +[KSO] +peggy_denom = factory/inj1waemxur3hdu8gavxrymn6axduxe8ful3rm4qcm/koskesh +decimals = 6 + +[KTN] +peggy_denom = inj18kem7dt3tpjp2mx8khujnuuhevqg4exjcd7dnm +decimals = 18 + +[KU9] +peggy_denom = factory/inj1056f9jwmdxjmc3xf3urpka00gjfsnna7ct3gy3/KU9 +decimals = 6 + +[KUJI] +peggy_denom = ibc/9A115B56E769B92621FFF90567E2D60EFD146E86E867491DB69EEDA9ADC36204 +decimals = 6 + +[KUNAI] +peggy_denom = inj12ntgeddvyzt2vnmy2h8chz080n274df7vvr0ru +decimals = 8 + +[Kage] +peggy_denom = inj1l49685vnk88zfw2egf6v65se7trw2497wsqk65 +decimals = 18 + +[Karma] +peggy_denom = factory/inj1d4ld9w7mf8wjyv5y7fnhpate07fguv3s3tmngm/karmainj +decimals = 6 + +[Katana] +peggy_denom = inj1tj4l2qmvw22nquwqkr34v83llyzu97l65zjqsf +decimals = 6 + +[Kaz] +peggy_denom = inj1vweya4us4npaa5xdf026sel0r4qazdvzx6v0v4 +decimals = 6 + +[King] +peggy_denom = factory/inj156zqdswjfcttc8hrvwd5z3nv5n53l5xg9mqvht/King +decimals = 6 + +[KingFusion] +peggy_denom = inj1ynehe0s2kh9fqp5tka99f8wj2xgsha74h3cmtu +decimals = 8 + +[KiraWifHat] +peggy_denom = factory/inj1rrg35k5g58vunyze4tqvqhef2fgrurkpxxdr43/KiraWifHat +decimals = 6 + +[Kitty] +peggy_denom = inj1pfmvtdxhl2l5e245nsfwwl78sfx090asmxnmsw +decimals = 18 + +[Klaus Project] +peggy_denom = inj1zgurc2nd5awcxmpq7q6zgh9elnxg0z9g5yn4k3 +decimals = 8 + +[Knight] +peggy_denom = inj1tvxfut7uayypz2ywm92dkvhm7pdjcs85khsenj +decimals = 18 + +[Koga] +peggy_denom = inj1npvknmdjsk7s35gmemwalxlq4dd38p68mywgvv +decimals = 18 + +[Kuso] +peggy_denom = factory/inj1weyajq6ksmzzhfpum9texpsgm9u20fc0kdqpgy/Kuso +decimals = 6 + +[LAB] +peggy_denom = ibc/4BFC760786BE40F8C10AA8777D68C6BEFE9C95A881AD29AF1462194018AB7C0C +decimals = 6 + +[LABS] +peggy_denom = factory/inj1eutzkvh4gf5vvmxusdwl2t6gprux67d4acwc0p/labs +decimals = 6 + +[LADS] +peggy_denom = ibc/5631EB07DC39253B07E35FC9EA7CFB652F63A459A6B2140300EB4C253F1E06A2 +decimals = 6 + +[LALA] +peggy_denom = inj156wqs2alkgmspj8shjje56ajgneqtjfk20w9n6 +decimals = 18 + +[LAMA] +peggy_denom = factory/inj18lh8zx4hx0pyksyu74srktv4vgxskkkafknggl/LAMA +decimals = 6 + +[LAMBO] +peggy_denom = peggy0x3d2b66BC4f9D6388BD2d97B95b565BE1686aEfB3 +decimals = 18 + +[LAMBOPEPE] +peggy_denom = factory/inj1rge0wzk9hn8qgwz77m9zcznahrp5s322fa6lhu/LAMBO +decimals = 6 + +[LAVA] +peggy_denom = inj1jrykfhmfcy4eh8t3yw6ru3ypef39s3dsu46th7 +decimals = 18 + +[LBFS] +peggy_denom = inj18ssfe746a42me2j02casptrs0y2z5yak06cy4w +decimals = 8 + +[LDO] +peggy_denom = peggy0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32 +decimals = 18 + +[LEGE] +peggy_denom = inj122gwdl0xl6908uhdgql2ftrezsy2ru2gme8mhc +decimals = 18 + +[LENARD] +peggy_denom = factory/inj1p2rmxvzhctu4z22sxcsry874sekvjdhl7k8rys/LENARD +decimals = 6 + +[LEO] +peggy_denom = factory/inj1f0gj22j0vep9jt48tnt2mg97c8ysgyxllhvp68/LEO +decimals = 9 + +[LESS] +peggy_denom = inj105ke2sw329yl64m4273js3vxfxvq2kdqtz0s63 +decimals = 18 + +[LEVERKUSEN] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/LEVERKUSEN +decimals = 6 + +[LFR] +peggy_denom = inj176pze4mvaw2kv72sam0fwt3vn08axlj08e46ac +decimals = 18 + +[LFROG] +peggy_denom = inj1vhw7xadr0366hjnvet8tnpgt898vkm47faycar +decimals = 18 + +[LFrog] +peggy_denom = factory/inj1wu2kfkmrvfr34keemcmjh9zups72r5skygltrg/LFrog +decimals = 11 + +[LIBE] +peggy_denom = inj1y7cqd6x50ezv8xrgqx0lnqf4p747nyqq533ma3 +decimals = 18 + +[LIGMA] +peggy_denom = inj17mhem35tyszwpyfh6s0sr4l5p7wkj0knja9ck3 +decimals = 6 + +[LINK] +peggy_denom = peggy0x514910771AF9Ca656af840dff83E8264EcF986CA +decimals = 18 + +[LIO] +peggy_denom = factory/inj1p2nh5tx9j27eqwxvr6aj9sasttff6200tpq24k/LIO +decimals = 6 + +[LIOR] +peggy_denom = factory/inj1tgphgjqsz8fupkfjx6cy275e3s0l8xfu6rd6jh/DINO +decimals = 6 + +[LMAO] +peggy_denom = inj1yd07kujagk0t6rlj0zca2xsm6qpekv8mmwqknv +decimals = 18 + +[LMEOW] +peggy_denom = inj1wu77ndd9t2yehansltt7wkhhqfjcsah0z4jvlf +decimals = 18 + +[LNC] +peggy_denom = inj18epz5afrhu0zehdlj0mp8cfmv3vtusq6fd6ufw +decimals = 6 + +[LOCAL] +peggy_denom = ibc/FECCDCFA89278B117C76A11A946A7991A68E5DD12DED6EB938ADC1B1286AC591 +decimals = 6 + +[LOL] +peggy_denom = inj1kjfeuqtp56newrdye4d5rczfkwe4dg3llc0kc9 +decimals = 18 + +[LONG] +peggy_denom = inj10yr5mmvxez3h0xzrpaa89my99qlv3u2rmzg0ge +decimals = 8 + +[LOOL] +peggy_denom = inj12xn584cdkhnz2nn08xz4yrwxscxa8tr2fuxwam +decimals = 18 + +[LORD] +peggy_denom = inj1flek07wkz73a7ptxutumr4u5fukt6th4fwy9zn +decimals = 6 + +[LOST] +peggy_denom = inj150rlxjvk2trcm59mpwyg7hkkq8sfmdtu0tj873 +decimals = 8 + +[LOTUS] +peggy_denom = inj1luz09rzlytzdqnyp2n0cqevdxkf9u780uvsew5 +decimals = 6 + +[LOXA] +peggy_denom = inj175ut0y843p0kc4secgplsrs609uwaq3d93tp0x +decimals = 8 + +[LP AKT-MNTA] +peggy_denom = ibc/D128AB965B69D44D80AFD886D8A252C10D6B0B792B3AEA7833C7A1F95BA4BCF8 +decimals = 6 + +[LP ARB-MNTA] +peggy_denom = ibc/A7BBB8697F21D2CE19732D6CCE137E00B78CE83B5F38AC5E7FB163D7E77C1325 +decimals = 6 + +[LP ATOM-MNTA] +peggy_denom = ibc/67E901393C5DE5F1D26A0DBC86F352EA9CEBC6F5A1791ADAB33AB557136CD4D0 +decimals = 6 + +[LP AXL-MNTA] +peggy_denom = ibc/F829D655E96C070395E364658EFB2EC4B93906D44A6C1AE6A2A8821FCB7BA4B8 +decimals = 6 + +[LP CHEQ-MNTA] +peggy_denom = ibc/454555FFF0452DD86BC65DDE0158300132DE275CB22183ECE357EA07EBA18528 +decimals = 6 + +[LP DOT.axl-MNTA] +peggy_denom = ibc/E9BC2E73393C6C1AD36B04109F5C20CC1CDC4BCB913C8038993C8F68A0CD8474 +decimals = 6 + +[LP DYDX-MNTA] +peggy_denom = ibc/0FC1BAA3BF09FA73946A6412088FCED87D1D2368F30BDC771FB5FF6EAE0EB5E9 +decimals = 6 + +[LP DYM-MNTA] +peggy_denom = ibc/CC151284BE8E76C67E78ADAE3892C0D9084F0C802CC1EC44BFBE91EE695206E8 +decimals = 6 + +[LP FUZN-MNTA] +peggy_denom = ibc/A064F58ADEAA6DF2AE8006787DFF5E1F144FECF79F880F0140CB38800C295AC2 +decimals = 6 + +[LP INJ-MNTA] +peggy_denom = ibc/4229FC85617819AFFE8543D646BE8A41CD9F8257985A198E0DF09E54F23EC6D3 +decimals = 6 + +[LP LINK.axl-MNTA] +peggy_denom = ibc/BA3A7ACF9AEF1F3D1973ED4406EB35CF2DCB9B545D71A7F06B27A7EA918F8396 +decimals = 6 + +[LP MNTA-KUJI] +peggy_denom = ibc/AE8EDE6CB769E0EAB809204D5E770F5DF03BC35D3E5977272E6CE5147229F938 +decimals = 6 + +[LP NTRN-MNTA] +peggy_denom = ibc/77011B441A8655A392E5B6DA8AE4ADFB0D3DF3E26B069803D64B89208EC8C07E +decimals = 6 + +[LP OSMO-MNTA] +peggy_denom = ibc/CF0564CF0C15332430432E8D7C417521004EBB2EA4CB922C577BA751A64B6599 +decimals = 6 + +[LP PAXG.grv-MNTA] +peggy_denom = ibc/8C1E93AB13F5FC3E907751DA5BE4C7518E930A4C9F441523E608323C1CA35F6B +decimals = 6 + +[LP SCRT-MNTA] +peggy_denom = ibc/9FE7DE3797BC1F75E8CBE30B16CE84A3835B8A280E7E7780CE2C86C244F6253C +decimals = 6 + +[LP SHD-MNTA] +peggy_denom = ibc/B512CFCA199DCBDF098824846D2D78E1E04EBA6A5091A99472236B69B24C979E +decimals = 6 + +[LP SOL.wh-MNTA] +peggy_denom = ibc/D765CDBB85910E131773AF7072439F9C382DF0B894D2209E09D2EEFE0298EADC +decimals = 6 + +[LP SOMM-MNTA] +peggy_denom = ibc/457CF9F4112FB7E765A83A1F93DE93246C1E0D5A1C83F9A909B5890A172AAC34 +decimals = 6 + +[LP STARS-MNTA] +peggy_denom = ibc/B6B6EB8527A6EE9040DBE926D378EC23CB231AC8680AF75372DBF6B7B64625A7 +decimals = 6 + +[LP TIA-MNTA] +peggy_denom = ibc/59F96C9AAFC26E872D534D483EF8648305AD440EF2E9A506F061BADFC378CE13 +decimals = 6 + +[LP UNI.axl-MNTA] +peggy_denom = ibc/4E4B25966A3CF92B796F5F5D1A70A375F32D8EF4C7E49DEC1C38441B7CA8C7CA +decimals = 6 + +[LP WHALE-MNTA] +peggy_denom = ibc/89E80D95AF2FD42A47E9746F7CFF32F3B56FE3E113B81241A6A818C8B3221C17 +decimals = 6 + +[LP ampMNTA-MNTA] +peggy_denom = ibc/8545604BFCCC408B753EB0840FF131CB34B9ED1283A9BD551F68C324B53FEF0C +decimals = 6 + +[LP qcMNTA-MNTA] +peggy_denom = ibc/23ADD2AC1D22776CE8CB37FB446E552B9AE5532B76008ADF73F75222A6ACFE19 +decimals = 6 + +[LP stOSMO-OSMO] +peggy_denom = ibc/20D8F1713F8DF3B990E23E205F1CCD99492390558022FF3FE60B1FAFCF955689 +decimals = 6 + +[LP wAVAX.axl-MNTA] +peggy_denom = ibc/57CC0316BFD206E1A8953DD6EC629F1556998EB9454152F21D51EFB5A35851EF +decimals = 6 + +[LP wBNB.axl-MNTA] +peggy_denom = ibc/2961FC233B605E5D179611D7D5C88E89DD3717081B5D06469FF27DFE83AF9BEB +decimals = 6 + +[LP wBTC.axl-MNTA] +peggy_denom = ibc/B73EDDE38FFE4C5782B5C6108F4977B8B4A0C13AA9EBABEBCCFC049ED5CC0968 +decimals = 6 + +[LP wETH.axl-MNTA] +peggy_denom = ibc/83DDCD6991A94C4ED287A029243527A14A86D4A62FB69BBEC51FB9B0156C6683 +decimals = 6 + +[LP wETH.axl-USK] +peggy_denom = ibc/6E2B993CA402C047E232E4722D1CE0C73DBD47CBBE465E16F6E3732D27F37649 +decimals = 6 + +[LP wFTM.axl-MNTA] +peggy_denom = ibc/EBF34B929B7744BD0C97ECF6F8B8331E2BCA464F1E5EA702B6B40ED2F55433BD +decimals = 6 + +[LP wMATIC.axl-MNTA] +peggy_denom = ibc/942AA5D504B03747AF67B19A874D4E47DAD307E455AEB34E3A4A2ECF7B9D64C8 +decimals = 6 + +[LP wTAO.grv-MNTA] +peggy_denom = ibc/51BB7FAEEDCFC7782519C8A6FB0D7168609B2450B56FED6883ABD742AEED8CC4 +decimals = 6 + +[LP wstETH.axl-MNTA] +peggy_denom = ibc/BAB4B518D0972626B854BE5139FCAD7F1113E3787BC13013CB6A370298EFE0C1 +decimals = 6 + +[LP wstETH.axl-wETH.axl] +peggy_denom = ibc/CEECB0B01EC9BF90822BCA6A1D6D2BF4DC6291BD0C947BEE512BD4639045EAD1 +decimals = 6 + +[LP yieldETH.axl-MNTA] +peggy_denom = ibc/D410037544911319AB9F3BF0C375598AAD69A7555A5B23158484DFFC10651316 +decimals = 6 + +[LRDSVN] +peggy_denom = inj1xcrrweel03eu2fzlvmllhy52wdv25wvejn24dr +decimals = 8 + +[LUCK] +peggy_denom = factory/inj13f6c0hc3l80qa7w80j992wtscslkg8pm65rxua/LUCK +decimals = 6 + +[LUCKY] +peggy_denom = inj1v8vkngk2pn2sye2zduy77lfdeaqq9cd924f5le +decimals = 18 + +[LUFFY] +peggy_denom = inj1yzz7pvx7e98u3xv4uz0tkqrm6uj684j9lvv0z4 +decimals = 6 + +[LUIGI] +peggy_denom = inj1h8yjr8ely8q8r8rlvs2zx0pmty70ajy4ud6l0y +decimals = 18 + +[LUKE] +peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/luke +decimals = 6 + +[LUM] +peggy_denom = ibc/2C58CBDF1C96FAD7E6B1C5EC0A484E9BD9A27E126E36AFBDD7E45F0EA17F3640 +decimals = 6 + +[LUNA] +peggy_denom = ibc/B8AF5D92165F35AB31F3FC7C7B444B9D240760FA5D406C49D24862BD0284E395 +decimals = 6 + +[LUNA-USDC-LP] +peggy_denom = ibc/CBC3DCBC6559DB851F487B6A41C547A2D75DB0C54A143DDF39C04250E50DA888 +decimals = 6 + +[LUNA-USDT-LP] +peggy_denom = ibc/E06B8ECC4B080937AFD0AD0308C4E9354AB169C297F45E087D6057F0010E502D +decimals = 6 + +[LUNAR] +peggy_denom = inj1hpu5e5620hvd7hf3t4t4em96cx9t58yefcr3uu +decimals = 8 + +[LVN] +peggy_denom = ibc/4971C5E4786D5995EC7EF894FCFA9CF2E127E95D5D53A982F6A062F3F410EDB8 +decimals = 6 + +[LYM] +peggy_denom = peggy0xc690F7C7FcfFA6a82b79faB7508c466FEfdfc8c5 +decimals = 18 + +[Leapwifhat] +peggy_denom = factory/inj10xsan7m2gwhwjm9hrr74ej77lx8qaxk9cl7rfw/Leapwifhat +decimals = 6 + +[Leia] +peggy_denom = inj1vm24dp02njzgd35srtlfqkuvxz40dysyx7lgfl +decimals = 6 + +[Lenz] +peggy_denom = factory/inj19xadglv3eaaavaeur5553hjj99c3vtkajhj4r6/Lenz +decimals = 6 + +[Leo] +peggy_denom = inj1xnqaq553d5awhzr68p5vkenrj64ueqpfzjjp0f +decimals = 18 + +[Leonardo] +peggy_denom = inj1yndh0j4dpnjuqaap7u6csta2krvhqddjwd3p9w +decimals = 18 + +[Lido DAO Token] +peggy_denom = inj1me6t602jlndzxgv2d7ekcnkjuqdp7vfh4txpyy +decimals = 8 + +[Lido Staked Ether] +peggy_denom = ibc/FB1B967C690FEA7E9AD7CF76AE2255169D4EA2937D6694B2C0E61A370F76D9FB +decimals = 18 + +[Lost Paradise AI] +peggy_denom = inj1wf0d0ynpfcmpcq8h9evv2z4p0stc73x3skj96r +decimals = 8 + +[Luigi] +peggy_denom = inj1vrz0yfrlxe6mqaadmeup8g6nhhzmg7hwpfr6kz +decimals = 18 + +[Luna] +peggy_denom = ibc/0DDC992F19041FC1D499CCA1486721479EBAA7270604E15EDDFABA89D1E772E5 +decimals = 6 + +[MAD] +peggy_denom = inj1u97mcn0sx00hnksfc9775gh5vtjhn4my340t0j +decimals = 18 + +[MADDOG] +peggy_denom = inj1y942sn0su2wxzh65xnd6h6fplajm04zl8fh0xy +decimals = 6 + +[MAFIAz] +peggy_denom = factory/inj175n4kj6va8yejh7w35t5v5f5gfm6ecyasgjnn9/MAFIAz +decimals = 6 + +[MAGA] +peggy_denom = peggy0x576e2BeD8F7b46D34016198911Cdf9886f78bea7 +decimals = 9 + +[MAI] +peggy_denom = inj1wd3vgvjur8du5zxktj4v4xvny4n8skjezadpp2 +decimals = 8 + +[MAKI] +peggy_denom = factory/inj1l0pnjpc2y8f0wlua025g5verjuvnyjyq39x9q0/MAKI +decimals = 6 + +[MAMA] +peggy_denom = inj1ayukjh6wufyuymv6ehl2cmjjpvrqjf5m75ty90 +decimals = 6 + +[MAMBA] +peggy_denom = factory/inj18z5cm702ylpqz8j6gznalcw69wp4m7fsdjhnfq/mamba +decimals = 6 + +[MANEKI] +peggy_denom = factory/inj1an9qflgvpvjdhczce6xwrh4afkaap77c72k4yd/MANEKI +decimals = 6 + +[MANTAINJ] +peggy_denom = inj1rluhqhev2v4kmz0m8qjfrlyrlrlqckajuf0ajs +decimals = 6 + +[MANTIS] +peggy_denom = inj1s6hmmyy9f2k37qqw2pryufg4arqxegurddkdp9 +decimals = 6 + +[MARA] +peggy_denom = inj1kaqrfnqy59dm6rf7skn8j05fdmdya9af0g56we +decimals = 18 + +[MARB] +peggy_denom = inj1up4k6vxrq4nhzvp5ssksqejk3e26q2jfvngjlj +decimals = 18 + +[MARC] +peggy_denom = inj1xg8d0nf0f9075zj3h5p4hku8r6ahtssxs4sq5q +decimals = 18 + +[MARD] +peggy_denom = inj177n6een54mcs8sg3hgdruumky308ehgkp9mghr +decimals = 18 + +[MARE] +peggy_denom = inj1k4ytnwu0luen8vyvahqmusxmt362r8xw3mmu55 +decimals = 18 + +[MARF] +peggy_denom = inj1phkfvvrzqtsq6ajklt0vsha78jsl3kg6wcd68m +decimals = 18 + +[MARG] +peggy_denom = inj14qypf8qd0zw3t7405n4rj86whxhyqnvacl8c9n +decimals = 18 + +[MARH] +peggy_denom = inj1sarc5fq8rlqxl9q3y6f6u5qnzumsqdn6vvvgyh +decimals = 18 + +[MARI] +peggy_denom = inj1x5wvc0k7xht6jyh04vj2dtstcrv68lps4r58d5 +decimals = 18 + +[MARJ] +peggy_denom = inj1zhqnqzdg6738q9wjrkr50c6qkkd5ghar9fp36s +decimals = 18 + +[MARK] +peggy_denom = inj1mnv033jcerdf4d3xw2kfreakahtuf0ue3xgr3u +decimals = 18 + +[MARM] +peggy_denom = inj1qls0sp552zw55df5klhv98zjueagtn6ugq292f +decimals = 18 + +[MARN] +peggy_denom = inj1q4swwrf6kvut57k8hpul7ef39vr5ka3h74dcwj +decimals = 18 + +[MARS] +peggy_denom = inj1h28xpjed0xtjwe558gr2nx7nsfx2p6sey6zduc +decimals = 8 + +[MASK] +peggy_denom = factory/inj1nhswhqrgfu3hpauvyeycz7pfealx4ack2c5hfp/mask +decimals = 6 + +[MASTER] +peggy_denom = inj1at4cjadsrags6c65g4vmtnwzw93pv55kky796l +decimals = 6 + +[MATIC] +peggy_denom = peggy0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0 +decimals = 18 + +[MATR1X] +peggy_denom = inj1367pnje9e8myaw04av6j2n5z7827407k4sa4m8 +decimals = 8 + +[MATR1X AI] +peggy_denom = inj18d3wkfajxh7t9cq280ggrksrchj0ymjf7cxwcf +decimals = 8 + +[MAX] +peggy_denom = factory/inj164jk46xjwsn6x4rzu6sfuvtlzy2nza0nxfj0nz/MAX +decimals = 6 + +[MAXH] +peggy_denom = inj1h97mmp9v36ljlmhllyqas0srsfsaq2ppq4dhez +decimals = 18 + +[MAXI] +peggy_denom = factory/inj1jtx66k3adkjkrhuqypkt2ld7equf3whcmj2lde/MAXI +decimals = 6 + +[MBERB] +peggy_denom = inj1d6wle0ugcg2u3hcl9unkuz7usdvhv6tx44l9qn +decimals = 6 + +[MBRN] +peggy_denom = ibc/7AF90EDF6F5328C6C33B03DB7E33445708A46FF006932472D00D5076F5504B67 +decimals = 6 + +[MC01] +peggy_denom = ibc/7F8D9BCCF7063FD843B5C052358466691FBEB29F75FA496A5174340B51EDA568 +decimals = 6 + +[MDRA] +peggy_denom = factory/inj1n85jfpxee430qavn9edlkup9kny7aszarag8ed/MADARA +decimals = 18 + +[MEAT] +peggy_denom = inj1naxd5z6h78khd90nmfguxht55eecvttus8vfuh +decimals = 6 + +[MEHTER] +peggy_denom = factory/inj1tscuvmskt4fxvqurh0aueg57x4vja683z79q4u/MEHTER +decimals = 6 + +[MEME] +peggy_denom = inj1u0y6k9grtux3dlzpvj6hspkg6n0l0l2zmlhygu +decimals = 18 + +[MEMEAI] +peggy_denom = inj1ps72fm7jpvnp3n0ysmjcece6rje9yp7dg8ep5j +decimals = 8 + +[MEMEME] +peggy_denom = peggy0x1A963Df363D01EEBB2816b366d61C917F20e1EbE +decimals = 18 + +[MEMT] +peggy_denom = factory/inj1vust6dc470q02c35vh8z4qz22ddr0zv35pxaxe/MEMEMINT +decimals = 6 + +[MEOW] +peggy_denom = factory/inj13wngn7gt8mt2k66x3ykp9tvfk5x89ajwd7yrtr/meow +decimals = 6 + +[MESSI] +peggy_denom = inj1upun866849c4kh4yddzkd7s88sxhvn3ldllqjq +decimals = 6 + +[META] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/meta +decimals = 6 + +[METAOASIS] +peggy_denom = inj1303k783m2ukvgn8n4a2u5jvm25ffqe97236rx2 +decimals = 8 + +[METAWORLD] +peggy_denom = inj1lafjpyp045430pgddc8wkkg23uxz3gjlsaf4t3 +decimals = 8 + +[MEW] +peggy_denom = factory/inj1c0f9ze9wh2xket0zs6wy59v66alwratsdx648k/mew +decimals = 6 + +[MIB] +peggy_denom = factory/inj1s9pckznjz4hmgtxu5t9gerxtalch7wtle4y3a6/MIB +decimals = 6 + +[MICE] +peggy_denom = factory/inj16g5w38hqehsmye9yavag0g0tw7u8pjuzep0sys/MICE +decimals = 6 + +[MICHAEL] +peggy_denom = factory/inj1hem3hs6fsugvx65ry43hpcth55snyy8x4c5s89/MICHAEL +decimals = 6 + +[MICRO] +peggy_denom = inj1jnn7uf83lpl9ug5y6d9pxes9v7vqphd379rfeh +decimals = 6 + +[MIGMIG] +peggy_denom = inj1vl8swymtge55tncm8j6f02yemxqueaj7n5atkv +decimals = 6 + +[MILA] +peggy_denom = factory/inj1z08usf75ecfp3cqtwey6gx7nr79s3agal3k8xf/MILA +decimals = 6 + +[MILF] +peggy_denom = inj1mlahaecngtx3f5l4k6mq882h9r2fhhplsatgur +decimals = 18 + +[MILFQUNT] +peggy_denom = factory/inj164mk88yzadt26tzvjkpc4sl2v06xgqnn0hj296/MILFQUNT +decimals = 6 + +[MILK] +peggy_denom = factory/inj1yg24mn8enl5e6v4jl2j6cce47mx4vyd6e8dpck/milk +decimals = 6 + +[MINIDOG] +peggy_denom = inj1shzx0tx7x74ew6ewjdhvw2l3a828tfaggk5lj3 +decimals = 18 + +[MINJ] +peggy_denom = factory/inj1cm5lg3z9l3gftt0c09trnllmayxpwt8825zxw3/minj +decimals = 6 + +[MIRZA] +peggy_denom = factory/inj1m6mqdp030nj6n7pa9n03y0zrkczajm96rcn7ye/MIRZA +decimals = 6 + +[MITHU] +peggy_denom = inj1uh3nt2d0q69hwsgge4z38rm2vg9h7hugdnf5wx +decimals = 6 + +[MIYOYO] +peggy_denom = factory/inj1xuds68kdmuhextjew8zlt73g5ku7aj0g7tlyjr/miyoyo +decimals = 6 + +[MKEY] +peggy_denom = inj1jqqysx5j8uef2kyd32aczp3fktl46aqh7jckd5 +decimals = 18 + +[MKR] +peggy_denom = ibc/E8C65EFAB7804152191B8311F61877A36779277E316883D8812D3CBEFC79AE4F +decimals = 18 + +[MNC] +peggy_denom = inj1fr693adew9nnl64ez2mmp46smgn48c9vq2gv6t +decimals = 18 + +[MNINJA] +peggy_denom = inj1cv3dxtjpngy029k5j0mmsye3qrg0uh979ur920 +decimals = 18 + +[MNP] +peggy_denom = inj1s02f4aygftq6yhpev9dmnzp8889g5h3juhd5re +decimals = 18 + +[MNTA] +peggy_denom = ibc/A4495880A4A2E3C242F63C710F447BAE072E1A4C2A22F1851E0BB7ABDD26B43D +decimals = 6 + +[MOAR] +peggy_denom = ibc/D37C63726080331AF3713AA59B8FFD409ABD44F5FDB4685E5F3AB43D40108F6F +decimals = 6 + +[MOBX] +peggy_denom = ibc/D80D1912495833112073348F460F603B496092385558F836D574F86825B031B4 +decimals = 9 + +[MOGD] +peggy_denom = inj1yycep5ey53zh2388k6m2jmy4s4qaaurmjhcatj +decimals = 6 + +[MOJO] +peggy_denom = inj14ttljn98g36yp6s9qn59y3xsgej69t53ja2m3n +decimals = 18 + +[MOL] +peggy_denom = factory/inj1fnpmp99kclt00kst3ht8g0g44erxr5wx6fem9x/MOL +decimals = 6 + +[MOM] +peggy_denom = inj17p7q5jrc6y00akcjjwu32j8kmjkaj8f0mjfn9p +decimals = 6 + +[MOMO] +peggy_denom = factory/inj12kja5s3dngydnhmdm69v776mkfrf7nuzclwzc4/MOMO +decimals = 6 + +[MONKEY] +peggy_denom = factory/inj1zgpg4laenyplsjeqz4pxfhmsv55vcx70lf2sgz/MONKEY +decimals = 6 + +[MONKS] +peggy_denom = inj1fy4hd7gqtdzp6j84v9phacm3f998382yz37rjd +decimals = 18 + +[MOO] +peggy_denom = factory/inj10tj05gfpxgnmpr4q7rhxthuknc6csatrp0uxff/moo +decimals = 6 + +[MOON] +peggy_denom = factory/inj1k7ygz5ufgavnutv0hkgsz7u9g4c3yj6lq6p0jn/MOON +decimals = 6 + +[MOONIFY] +peggy_denom = factory/inj1ktq0gf7altpsf0l2qzql4sfs0vc0ru75cnj3a6/moonify +decimals = 6 + +[MOONTRADE] +peggy_denom = inj19fzjd8rungrlmkujr85v0v7u7xm2aygxsl03cy +decimals = 8 + +[MOR] +peggy_denom = inj13vyz379revr8w4p2a59ethm53z6grtw6cvljlt +decimals = 8 + +[MORKIE] +peggy_denom = inj1k30vrj8q6x6nfyn6gpkxt633v3u2cwncpxflaa +decimals = 18 + +[MOTHER] +peggy_denom = inj1rytr7mwrentqhng3gldplyf59k23qd3x5umc36 +decimals = 18 + +[MOX] +peggy_denom = inj1w86sch2d2zmpw0vaj5sn2hdy6evlvqy5kx3mf0 +decimals = 18 + +[MPEPE] +peggy_denom = mpepe +decimals = 18 + +[MRKO] +peggy_denom = inj10wufg9exwgr8qgehee9q8m8pk25c62wwul4xjx +decimals = 8 + +[MRZ] +peggy_denom = factory/inj15e6p3slz9pa7kcn280y7hgp6rvhsqm3vnczlaw/mirza +decimals = 6 + +[MT] +peggy_denom = inj1exeh9j6acv6375mv9rhwtzp4qhfne5hajncllk +decimals = 8 + +[MUBI] +peggy_denom = factory/inj1fzhwjv2kjv7xr2h4phue5yqsjawjypcamcpl5a/mubi +decimals = 6 + +[MUSHROOM] +peggy_denom = inj1wchqefgxuupymlumlzw2n42c6y4ttjk9a9nedq +decimals = 6 + +[MUSK] +peggy_denom = inj1em3kmw6dmef39t7gs8v9atsvzkprdr03k5h5ej +decimals = 8 + +[MYRK] +peggy_denom = ibc/48D1DA9AA68C949E27BAB39B409681292035ABF63EAB663017C7BEF98A3D118E +decimals = 6 + +[MYSTERYBOX1] +peggy_denom = factory/inj1llr45x92t7jrqtxvc02gpkcqhqr82dvyzkr4mz/MYSTERYBOX1 +decimals = 0 + +[MacTRUMP] +peggy_denom = inj10gsw06ee0ppy7ltqeqhagle35h0pnue9nnsetg +decimals = 6 + +[Maga] +peggy_denom = inj1wey50ukykccy8h6uaacln8naz5aahhsy09h4x0 +decimals = 6 + +[Mak] +peggy_denom = inj1vpks54yg6kwtsmt9r2psclcp0gmkgma3c3rvmg +decimals = 18 + +[MantaInj] +peggy_denom = inj1qzc2djpnpg9n5jjcjzayl0dn4gjvft77yfau52 +decimals = 8 + +[Mark] +peggy_denom = factory/inj1uw9z3drc0ea680e4wk60lmymstx892nta7ycyt/MARK +decimals = 6 + +[Marshmello] +peggy_denom = inj1aw5t8shvcesdrh47xfyy9x9j0vzkhxuadzv6dw +decimals = 6 + +[MartialArts] +peggy_denom = factory/inj1tjspc227y7ck52hppnpxrmhfj3kd2pw3frjw8v/MartialArts +decimals = 6 + +[Matr1x AI] +peggy_denom = inj1gu7vdyclf2fjf9jlr6dhzf34kcxchjavevuktl +decimals = 8 + +[MelonMask] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/melonmask +decimals = 6 + +[Meme] +peggy_denom = factory/inj1c72uunyxvpwfe77myy7jhhjtkqdk3csum846x4/Meme +decimals = 4 + +[MemeCoin] +peggy_denom = inj12dag0a67uxcvs5x730lpq0pdsatgmx8ktqeafl +decimals = 8 + +[Men In Black] +peggy_denom = factory/inj1q3xa3r638hmpu2mywg5r0w8a3pz2u5l9n7x4q2/MeninblackINJ +decimals = 6 + +[Messi] +peggy_denom = inj1lvq52czuxncydg3f9z430glfysk4yru6p4apfr +decimals = 18 + +[MetaOasis] +peggy_denom = inj1uk7dm0ws0eum6rqqfvu8d2s5vrwkr9y2p7vtxh +decimals = 8 + +[MetaPX] +peggy_denom = inj1dntprsalugnudg7n38303l3l577sxkxc6q7qt5 +decimals = 8 + +[Metti] +peggy_denom = inj1lgnrkj6lkrckyx23jkchdyuy62fj4773vjp3jf +decimals = 8 + +[Mew Cat] +peggy_denom = inj12pykmszt7g2l5h2q9h8vfk0w6aq2nj8waaqs7d +decimals = 8 + +[Minions] +peggy_denom = inj1wezquktplhkx9gheczc95gh98xemuxqv4mtc84 +decimals = 6 + +[MitoTutorial] +peggy_denom = factory/inj1m3ea9vs5scly8c5rm6l3zypknfckcc3xzu8u5v/Test +decimals = 6 + +[Money] +peggy_denom = inj108rxfpdh8q0pyrnnp286ftj6jctwtajjeur773 +decimals = 18 + +[Monks] +peggy_denom = factory/inj148sjw9h9n3n8gjw37reetwdlc7v4hfhl8r7vv3/Monks +decimals = 6 + +[Moon] +peggy_denom = inj143ccar58qxmwgxr0zcp32759z5nsvseyr2gm7c +decimals = 18 + +[Moon ] +peggy_denom = inj1e3gqdkr2v7ld6m3620lgddfcarretrca0e7gn5 +decimals = 18 + +[Moonlana] +peggy_denom = inj1trg4pfcu07ft2dhd9mljp9s8pajxeclzq5cnuw +decimals = 8 + +[Morc] +peggy_denom = inj1vnwc3n4z2rewaetwwxz9lz46qncwayvhytpddl +decimals = 8 + +[MrT] +peggy_denom = inj1hrhfzv3dfzugfymf7xw37t0erp32f2wkcx3r74 +decimals = 6 + +[Multichain USDC] +peggy_denom = ibc/610D4A1B3F3198C35C09E9AF7C8FB81707912463357C9398B02C7F13049678A8 +decimals = 6 + +[MySymbol] +peggy_denom = inj1t6hampk8u4hsrxwt2ncw6xx5xryansh9mg94mp +decimals = 18 + +[MyTokenOne] +peggy_denom = inj13m7h8rdfvr0hwvzzvufwe2sghlfd6e45rz0txa +decimals = 18 + +[MyTokenZero] +peggy_denom = inj1kzk2h0g6glmlwamvmzq5jekshshkdez6dnqemf +decimals = 18 + +[NAKI] +peggy_denom = factory/inj10lauc4jvzyacjtyk7tp3mmwtep0pjnencdsnuc/NAKI +decimals = 6 + +[NAMI] +peggy_denom = ibc/B82AA4A3CB90BA24FACE9F9997B75359EC72788B8D82451DCC93986CB450B953 +decimals = 6 + +[NARUTO] +peggy_denom = factory/inj16x0d8udzf2z2kjkdlr9ehdt7mawn9cckzt927t/naruto +decimals = 6 + +[NAWU] +peggy_denom = inj1y5qs5nm0q5qz62lxkeq5q9hpkh050pfn2j6mh4 +decimals = 18 + +[NBD] +peggy_denom = factory/inj1ckw2dxkwp7ruef943x50ywupsmxx9wv8ahdzkt/NBD +decimals = 6 + +[NBLA] +peggy_denom = factory/inj1d0zfq42409a5mhdagjutl8u6u9rgcm4h8zfmfq/nbla +decimals = 6 + +[NBOY] +peggy_denom = factory/inj1nmc5namhwszx0yartvjm6evsxrj0ctq2qa30l7/NBOY +decimals = 6 + +[NBZ] +peggy_denom = ibc/1011E4D6D4800DA9B8F21D7C207C0B0C18E54E614A8576037F066B775210709D +decimals = 6 + +[NBZAIRDROP] +peggy_denom = factory/inj1llr45x92t7jrqtxvc02gpkcqhqr82dvyzkr4mz/NBZAIRDROP +decimals = 0 + +[NBZPROMO1] +peggy_denom = factory/inj1llr45x92t7jrqtxvc02gpkcqhqr82dvyzkr4mz/NBZPROMO1 +decimals = 0 + +[NCACTE] +peggy_denom = factory/inj1zpgcfma4ynpte8lwfxqfszddf4nveq95prqyht/NCACTE +decimals = 6 + +[NCH] +peggy_denom = inj1d8pmcxk2grd62pwcy4q58l2vqh98vwkjx9nsvm +decimals = 8 + +[NCOQ] +peggy_denom = factory/inj13gc6rhwe73hf7kz2fwpall9h73ft635yss7tas/NCOQ +decimals = 6 + +[NEO] +peggy_denom = inj12hnvz0xs4mnaqh0vt9suwf8puxzd7he0mukgnu +decimals = 8 + +[NEOK] +peggy_denom = ibc/F6CC233E5C0EA36B1F74AB1AF98471A2D6A80E2542856639703E908B4D93E7C4 +decimals = 18 + +[NEPT] +peggy_denom = inj1464m9k0njt596t88chlp3nqg73j2fzd7t6kvac +decimals = 18 + +[NETZ] +peggy_denom = inj1dg27j0agxx8prrrzj5y8hkw0tccgwfuwzr3h50 +decimals = 8 + +[NEURA] +peggy_denom = peggy0x3D1C949a761C11E4CC50c3aE6BdB0F24fD7A39DA +decimals = 18 + +[NEURAL] +peggy_denom = factory/inj1esryrafqyqmtm50wz7fsumvq0xevx0q0a9u7um/NEURAL +decimals = 6 + +[NEWF] +peggy_denom = inj1uhqyzzmjq2czlsejqjg8gpc00gm5llw54gr806 +decimals = 18 + +[NEWS] +peggy_denom = factory/inj1uw4cjg4nw20zy0y8z8kyug7hum48tt8ytljv50/NEWS +decimals = 6 + +[NEWSHROOM] +peggy_denom = inj1e0957khyf2l5knwtdnzjr6t4d0x496fyz6fwja +decimals = 6 + +[NEWT] +peggy_denom = inj1k4gxlzrqvmttwzt2el9fltnzcdtcywutxqnahw +decimals = 18 + +[NEWTON] +peggy_denom = inj14a7q9frkgtvn53xldccsvmz8lr5u6qffu7jmmx +decimals = 8 + +[NEWYEARINJ] +peggy_denom = inj1980cshwxa5mnptp6vzngha6h2qe556anm4zjtt +decimals = 8 + +[NEXO] +peggy_denom = peggy0xB62132e35a6c13ee1EE0f84dC5d40bad8d815206 +decimals = 18 + +[NEYMAR] +peggy_denom = inj1s2ealpaglaz24fucgjlmtrwq0esagd0yq0f5w5 +decimals = 6 + +[NFA] +peggy_denom = factory/inj1c5gk9y20ptuyjlul0w86dsxhfttpjgajhvf9lh/NFA +decimals = 6 + +[NFCTV] +peggy_denom = factory/inj14mn4n0lh52vxttlg5a4nx58pnvc2ntfnt44y4j/NFCTV +decimals = 6 + +[NFT] +peggy_denom = factory/inj1zchn2chqyv0cqfva8asg4lx58pxxhmhhhgx3t5/NFT +decimals = 6 + +[NI] +peggy_denom = factory/inj1kzaaapa8ux4z4lh8stm6vv9c5ykhtwl84zxrtl/ni +decimals = 6 + +[NICO] +peggy_denom = ibc/EED3F204DCABACBEB858B0A56017070283098A81DEB49F1F9D6702309AA7F7DE +decimals = 18 + +[NIF] +peggy_denom = factory/inj1pnwrzhnjfncxgf4jkv3zadf542tpfc3xx3x4xw/NIF +decimals = 6 + +[NIGGA] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/nigga +decimals = 6 + +[NIJIO] +peggy_denom = inj1lwgzxuv0wkz86906dfssuwgmhld8705tzcfhml +decimals = 18 + +[NIKE] +peggy_denom = inj1e2ee7hk8em3kxqxc0uuupzpzvrcda85s3lx37h +decimals = 18 + +[NIM] +peggy_denom = ibc/C1BA2AC55B969517F1FCCFC47779EC83C901BE2FC3E1AFC8A59681481C74C399 +decimals = 18 + +[NIN] +peggy_denom = inj1d0z43f50a950e2vdzrlu7w8yeyy0rp5pdey43v +decimals = 18 + +[NINISHROOM] +peggy_denom = inj1vlgszdzq75lh56t5nqvxz28u0d9ftyve6pglxr +decimals = 6 + +[NINJ] +peggy_denom = factory/inj13m5k0v69lrrng4y3h5895dlkr6zcp272jmhrve/Ninjutsu +decimals = 6 + +[NINJA] +peggy_denom = factory/inj1xtel2knkt8hmc9dnzpjz6kdmacgcfmlv5f308w/ninja +decimals = 6 + +[NINJA MEME] +peggy_denom = inj1dypt8q7gc97vfqe37snleawaz2gp7hquxkvh34 +decimals = 18 + +[NINJA WIF HAT] +peggy_denom = inj1pj40tpv7algd067muqukfer37swt7esymxx2ww +decimals = 6 + +[NINJAGO] +peggy_denom = factory/inj19025raqd5rquku4ha42age7c6r7ws9jg6hrulx/NINJAGO +decimals = 6 + +[NINJAMOON] +peggy_denom = inj1etlxd0j3u83d8jqhwwu3krp0t4chrvk9tzh75e +decimals = 6 + +[NINJANGROK] +peggy_denom = inj17006r28luxtfaf7hn3jd76pjn7l49lv9le3983 +decimals = 6 + +[NINJAPE] +peggy_denom = factory/inj1rvg9a58qtcf8f464w2hkynrvpnl9x59wsaq922/NINJAPE +decimals = 6 + +[NINJAPEPE] +peggy_denom = inj1jhufny7g2wjv4yjh5za97jauemwmecflvuguty +decimals = 18 + +[NINJAS] +peggy_denom = factory/inj1j3rm46nj4z8eckv5333897z7esectj64kufs4a/NINJAS +decimals = 6 + +[NINJASAMURAI] +peggy_denom = inj1kfr9r9vvflgyka50yykjm9l02wsazl958jffl2 +decimals = 6 + +[NINJATRUMP] +peggy_denom = factory/inj1f95tm7382nhj42e48s427nevh3rkj64xe7da5z/NINJATRUMP +decimals = 6 + +[NINJAWIFHAT] +peggy_denom = factory/inj1xukaxxx4yuaz6xys5dpuhe60un7ct9umju5ash/NWIF +decimals = 6 + +[NINJB] +peggy_denom = factory/inj1ezzzfm2exjz57hxuc65sl8s3d5y6ee0kxvu67n/ninjb +decimals = 6 + +[NINJT] +peggy_denom = inj1tp3cszqlqa7e08zcm78r4j0kqkvaccayhx97qh +decimals = 18 + +[NINPO] +peggy_denom = inj1sudjgsyhufqu95yp7rqad3g78ws8g6htf32h88 +decimals = 6 + +[NINU] +peggy_denom = inj14057e7c29klms2fzgjsm5s6serwwpeswxry6tk +decimals = 6 + +[NINZA] +peggy_denom = factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/NINZA +decimals = 6 + +[NITROID] +peggy_denom = inj1f7srklvw4cf6net8flmes4mz5xl53mcv3gs8j9 +decimals = 8 + +[NJO] +peggy_denom = inj1c8jk5qh2lhmvqs33z4y0l84trdu7zhgtd3aqrd +decimals = 18 + +[NLB] +peggy_denom = inj10s6mwhlv44sf03d5lfk4ntmplsujgftu587rzq +decimals = 18 + +[NLBZ] +peggy_denom = inj1qfmf6gmpsna8a3k6da2zcf7ha3tvf2wdep6cky +decimals = 18 + +[NLBZZ] +peggy_denom = inj1rn2yv784zf90yyq834n7juwgeurjxly8xfkh9d +decimals = 18 + +[NLC] +peggy_denom = inj1r9h59ke0a77zkaarr4tuq25r3lt9za4r2mgyf4 +decimals = 6 + +[NLT] +peggy_denom = factory/inj1995xnrrtnmtdgjmx0g937vf28dwefhkhy6gy5e/NLT +decimals = 18 + +[NNJG] +peggy_denom = inj1e8eqle6queaywa8w2ns0u9m7tldz9vv44s28p2 +decimals = 18 + +[NOBI] +peggy_denom = factory/inj1xawhm3d8lf9n0rqdljpal033yackja3dt0kvp0/nobi +decimals = 6 + +[NOBITCHES] +peggy_denom = factory/inj14n8f39qdg6t68s5z00t4vczvkcvzlgm6ea5vk5/nobitches +decimals = 6 + +[NOGGA] +peggy_denom = factory/inj1a7697s5yg3tsgkfrm0u5hvxm34mu8v0v3trryx/NOGGA +decimals = 6 + +[NOIA] +peggy_denom = peggy0xa8c8CfB141A3bB59FEA1E2ea6B79b5ECBCD7b6ca +decimals = 18 + +[NOIS] +peggy_denom = ibc/DD9182E8E2B13C89D6B4707C7B43E8DB6193F9FF486AFA0E6CF86B427B0D231A +decimals = 6 + +[NONE] +peggy_denom = peggy0x903ff0ba636E32De1767A4B5eEb55c155763D8B7 +decimals = 18 + +[NONJA] +peggy_denom = inj1zfcny0x77lt6z4rg04zt2mp6j4zuwm5uufkguz +decimals = 6 + +[NORUG] +peggy_denom = inj1vh38phzhnytvwepqv57jj3d7q2gerf8627dje3 +decimals = 18 + +[NOVA] +peggy_denom = inj1dqcyzn9p48f0dh9xh3wxqv3hs5y3lhqr43ecs0 +decimals = 8 + +[NPEPE] +peggy_denom = factory/inj1ga982yy0wumrlt4nnj79wcgmw7mzvw6jcyecl0/NPEPE +decimals = 6 + +[NSTK] +peggy_denom = ibc/35366063B530778DC37A16AAED4DDC14C0DCA161FBF55B5B69F5171FEE19BF93 +decimals = 6 + +[NTRL] +peggy_denom = ibc/4D228A037CE6EDD54034D9656AE5850BDE871EF71D6DD290E8EC81603AD40899 +decimals = 6 + +[NTRN] +peggy_denom = ibc/E8E84092B9063AAC97846712D43D6555928073B8A0BFFCC2549E55EE224F1610 +decimals = 6 + +[NTRUMP] +peggy_denom = inj16dv3vfngtaqfsvd07436f6v4tgzxu90f0hq0lz +decimals = 6 + +[NTY] +peggy_denom = inj1zzfltckwxs7tlsudadul960w7rdfjemlrehmrd +decimals = 18 + +[NUDES] +peggy_denom = factory/inj1dla04adlxke6t4lvt20xdxc9jh3ed609dewter/NUDES +decimals = 6 + +[NUIT] +peggy_denom = inj1kxntfyzsqpug6gea7ha4pvmt44cpvmtma2mdkl +decimals = 18 + +[NUN] +peggy_denom = inj15sgutwwu0ha5dfs5zwk4ctjz8hjmkc3tgzvjgf +decimals = 18 + +[NUNCHAKU] +peggy_denom = inj12q6sut4npwhnvjedht574tmz9vfrdqavwq7ufw +decimals = 18 + +[NWIF] +peggy_denom = factory/inj10l4tnj73fl3wferljef802t63n9el49ppnv6a8/nwif +decimals = 6 + +[NWJNS] +peggy_denom = inj1slwarzmdgzwulzwzlr2fe87k7qajd59hggvcha +decimals = 6 + +[NYAN] +peggy_denom = factory/inj1lttm52qk6hs43vqak5qyk4hl4fzu2snq2gmg0c/nyan +decimals = 6 + +[NYX] +peggy_denom = factory/inj1fnq8xx5hye89jvhmkqycj7luyy08f3tudus0cd/nyx +decimals = 6 + +[Naruto] +peggy_denom = factory/inj1j53ejjhlya29m4w8l9sxa7pxxyhjplrz4xsjqw/naruto +decimals = 6 + +[Naruto Token] +peggy_denom = factory/inj1gwkdx7lkpvq2ewpv29ptxdy9r95vh648nm8mp0/naruto +decimals = 6 + +[Neptune Receipt ATOM] +peggy_denom = inj16jf4qkcarp3lan4wl2qkrelf4kduvvujwg0780 +decimals = 6 + +[Neptune Receipt INJ] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rmzufd7h09sqfrre5dtvu5d09ta7c0t4jzkr2f +decimals = 18 + +[Neptune Receipt USDT] +peggy_denom = inj1cy9hes20vww2yr6crvs75gxy5hpycya2hmjg9s +decimals = 6 + +[Newt] +peggy_denom = ibc/B0A75E6F4606C844C05ED9E08335AFC50E814F210C03CABAD31562F606C69C46 +decimals = 6 + +[Nil] +peggy_denom = factory/inj1t8wuan5zxp58uwtn6j50kx4tjv25argx6lucwy/Nil +decimals = 6 + +[NinjAI] +peggy_denom = inj1u5mf7ueeym5qvvgtfkhgcu40gcc04fv7qmqx5u +decimals = 18 + +[Ninja] +peggy_denom = factory/inj1p0w30l464lxl8afxqfda5zxeeypnvdtx4yjc30/Ninja +decimals = 6 + +[Ninja Labs Coin] +peggy_denom = factory/inj1r9h59ke0a77zkaarr4tuq25r3lt9za4r2mgyf4/NLC +decimals = 6 + +[Ninja Swap] +peggy_denom = inj1lzdvr2d257lazc2824xqlpnn4q50vuyhnndqhv +decimals = 8 + +[NinjaBoy] +peggy_denom = inj1vz8h0tlxt5qv3hegqlajzn4egd8fxy3mty2w0h +decimals = 6 + +[NinjaCoq] +peggy_denom = inj1aapaljp62znaxy0s2huc6ka7cx7zksqtq8xnar +decimals = 6 + +[NinjaWifHat] +peggy_denom = inj1gmch7h49qwvnn05d3nj2rzqw4l7f0y8s4g2gpf +decimals = 6 + +[Nlc] +peggy_denom = inj17uhjy4u4aqhtwdn3mfc4w60dnaa6usg30ppr4x +decimals = 18 + +[NoobDev] +peggy_denom = inj1qzlkvt3vwyd6hjam70zmr3sg2ww00l953hka0d +decimals = 6 + +[O9W] +peggy_denom = ibc/AA206C13A2AD46401BD1E8E65F96EC9BF86051A8156A92DD08BEF70381D39CE2 +decimals = 6 + +[OBEMA] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/obema +decimals = 6 + +[OCEAN] +peggy_denom = peggy0x967da4048cD07aB37855c090aAF366e4ce1b9F48 +decimals = 18 + +[OCHO] +peggy_denom = inj1ltzx4qjtgmjyglf3nnhae0qxaxezkraqdhtgcn +decimals = 8 + +[ODIN] +peggy_denom = ibc/6ED95AEFA5D9A6F9EF9CDD05FED7D7C9D7F42D9892E7236EB9B251CE9E999701 +decimals = 6 + +[OIN] +peggy_denom = ibc/CDA55861E9E491479CB52D5C89F942F5EAF221F80B7CDDBBA8EE94D3658B03B4 +decimals = 6 + +[OIN STORE OF VALUE] +peggy_denom = ibc/486A0C3A5D9F8389FE01CF2656DF03DB119BC71C4164212F3541DD538A968B66 +decimals = 6 + +[OJO] +peggy_denom = inj1hg5ag8w3kwdn5hedn3mejujayvcy2gknn39rnl +decimals = 18 + +[OMG] +peggy_denom = inj194p79raj0qjesr26kzvhx9l2y77vyshvdpcgs9 +decimals = 6 + +[OMI] +peggy_denom = peggy0xeD35af169aF46a02eE13b9d79Eb57d6D68C1749e +decimals = 18 + +[OMNI] +peggy_denom = peggy0x36E66fbBce51e4cD5bd3C62B637Eb411b18949D4 +decimals = 18 + +[OMT] +peggy_denom = inj1tctqgl6y4mm7qlr0x2xmwanjwa0g8nfsfykap6 +decimals = 18 + +[ONE] +peggy_denom = inj1wu086fnygcr0sgytmt6pk8lsnqr9uev3dj700v +decimals = 18 + +[ONETOONE] +peggy_denom = inj1y346c6cjj0kxpcwj5gq88la9qsp88rzlw3pg98 +decimals = 18 + +[ONI] +peggy_denom = inj1aexws9pf9g0h3032fvdmxd3a9l2u9ex9aklugs +decimals = 18 + +[ONP] +peggy_denom = inj15wvxl4xq4zrx37kvh6tsqyqysukws46reywy06 +decimals = 18 + +[ONTON] +peggy_denom = inj1a3hxfatcu7yfz0ufp233m3q2egu8al2tesu4k5 +decimals = 6 + +[OOZARU] +peggy_denom = ibc/9E161F95E105436E3DB9AFD49D9C8C4C386461271A46DBA1AB2EDF6EC9364D62 +decimals = 6 + +[OP] +peggy_denom = op +decimals = 18 + +[OPHIR] +peggy_denom = ibc/19DEC3C890D19A782A3CD0C62EA8F2F8CC09D0C9AAA8045263F40526088FEEDB +decimals = 6 + +[ORAI] +peggy_denom = ibc/C20C0A822BD22B2CEF0D067400FCCFB6FAEEE9E91D360B4E0725BD522302D565 +decimals = 6 + +[ORN] +peggy_denom = peggy0x0258F474786DdFd37ABCE6df6BBb1Dd5dfC4434a +decimals = 8 + +[ORNE] +peggy_denom = ibc/3D99439444ACDEE71DBC4A774E49DB74B58846CCE31B9A868A7A61E4C14D321E +decimals = 6 + +[OSMO] +peggy_denom = ibc/C2025C1D34ED74CD6F9DF86CD650D92219AF645E9D0ADFFACF4E2CBECE649536 +decimals = 6 + +[OUTIES] +peggy_denom = factory/inj1282wzngdg46gjuttvhxumkx65fnqx0aqmyl0lu/OUTIES +decimals = 6 + +[OUTLINES] +peggy_denom = inj1zutqugjm9nfz4tx6rv5zzj77ts4ert0umnqsjm +decimals = 6 + +[OX] +peggy_denom = peggy0x78a0A62Fba6Fb21A83FE8a3433d44C73a4017A6f +decimals = 18 + +[Ocean Protocol] +peggy_denom = inj1cxnqp39cn972gn2qaw2qc7hrryaa52chx7lnpk +decimals = 18 + +[OjoD] +peggy_denom = inj1ku6t0pgaejg2ykmyzvfwd2qulx5gjjsae23kgm +decimals = 18 + +[Omni Cat] +peggy_denom = factory/inj1vzmmdd2prja64hs4n2vk8n4dr8luk6522wdrgk/OMNI +decimals = 6 + +[OmniCat] +peggy_denom = inj188rmn0k9hzdy35ue7nt5lvyd9g9ldnm0v9neyz +decimals = 8 + +[Onj] +peggy_denom = inj1p9kk998d6rapzmfhjdp4ee7r5n4f2klu7xf8td +decimals = 8 + +[Open Exchange Token] +peggy_denom = ibc/3DC896EFF521814E914264A691D9D462A7108E96E53DE135FC4D91A370F4CD77 +decimals = 18 + +[Oraichain] +peggy_denom = peggy0x4c11249814f11b9346808179Cf06e71ac328c1b5 +decimals = 18 + +[Orcat] +peggy_denom = inj1ldp0pssszyguhhey5dufagdwc5ara09fnlq8ms +decimals = 18 + +[PAMBI] +peggy_denom = factory/inj1wa976p5kzd5v2grzaz9uhdlcd2jcexaxlwghyj/PAMBI +decimals = 6 + +[PANDA] +peggy_denom = factory/inj1p8ey297l9qf835eprx4s3nlkesrugg28s23u0g/PANDA +decimals = 6 + +[PANDANINJA] +peggy_denom = factory/inj1ekvx0ftc46hqk5vfxcgw0ytd8r7u94ywjpjtt8/pandaninja +decimals = 6 + +[PANTERA] +peggy_denom = inj1hl4y29q5na4krdpk4umejwvpw4v5c3kpmxm69q +decimals = 8 + +[PARABOLIC] +peggy_denom = factory/inj126c3fck4ufvw3n0a7rsq75gx69pdxk8npnt5r5/PARABOLIC +decimals = 6 + +[PASS] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/pass +decimals = 6 + +[PAXG] +peggy_denom = peggy0x45804880De22913dAFE09f4980848ECE6EcbAf78 +decimals = 18 + +[PBB] +peggy_denom = ibc/05EC5AA673220183DBBA6825C66DB1446D3E56E5C9DA3D57D0DE5215BA7DE176 +decimals = 6 + +[PBJ] +peggy_denom = ibc/2B6F15447F07EA9DC0151E06A6926F4ED4C3EE38AB11D0A67A4E79BA97329830 +decimals = 6 + +[PBinj] +peggy_denom = inj1k4v0wzgxm5zln8asekgkdljvctee45l7ujwlr4 +decimals = 8 + +[PDIX] +peggy_denom = inj13m85m3pj3ndll30fxeudavyp85ffjaapdmhel5 +decimals = 18 + +[PEPE] +peggy_denom = inj1xx04zkrkrplefzgdgl78mrq3qmy9e3fkgspujk +decimals = 18 + +[PEPE Injective] +peggy_denom = inj1ytxxfuajl0fvhgy2qsx85s3t882u7qgv64kf2g +decimals = 18 + +[PEPE MEME ] +peggy_denom = inj1jev373k3l77mnhugwzke0ytuygrn8r8497zn6e +decimals = 18 + +[PEPE on INJ] +peggy_denom = factory/inj1aey234egq5efqr7zfvtzdsq6h2c5wsrma4lw7h/pepe +decimals = 1 + +[PEPEA] +peggy_denom = factory/inj1gaf6yxle4h6993qwsxdg0pkll57223qjetyn3n/PEPEA +decimals = 6 + +[PEPINJ] +peggy_denom = factory/inj12jtagr03n6fqln4q8mg06lrpaj4scwts49x2cp/pepinj +decimals = 6 + +[PETER] +peggy_denom = inj1xuqedjshmrqadvqhk4evn9kwzgkk5u9ewdua6z +decimals = 18 + +[PGN] +peggy_denom = inj1gx88hu6xjfvps4ddyap27kvgd5uxktl8ndauvp +decimals = 18 + +[PHEW] +peggy_denom = inj19dux2glqedeamjwltjv5srvhgxkf6gyawtce5s +decimals = 6 + +[PHUC] +peggy_denom = factory/inj1995xnrrtnmtdgjmx0g937vf28dwefhkhy6gy5e/phuc +decimals = 6 + +[PICA] +peggy_denom = ibc/9C2212CB87241A8D038222CF66BBCFABDD08330DFA0AC9B451135287DCBDC7A8 +decimals = 12 + +[PIG] +peggy_denom = factory/inj1ruwdh4vc29t75eryvxs7vwzt7trtrz885teuwa/pig +decimals = 6 + +[PIGS] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mcmjk2zgh5wpxkdmkevlpmah6tsmwvql78twpf +decimals = 18 + +[PIKA] +peggy_denom = factory/inj1h4usvhhva6dgmun9rk4haeh8lynln7yhk6ym00/PIKA +decimals = 6 + +[PIKACHU] +peggy_denom = factory/inj1h9zu2u6yqf3t5uym75z94zsqfhazzkyg39957u/PIKACHU +decimals = 6 + +[PIKACHU ] +peggy_denom = inj1x3m7cgzdl7402fhe29aakdwda5630r2hpx3gm2 +decimals = 18 + +[PING] +peggy_denom = inj1z647rvv0cfv5xx3tgsdx77qclkwu2ng7tg2zq5 +decimals = 18 + +[PING'S BROTHER PONG] +peggy_denom = inj1qrcr0xqraaldk9c85pfzxryjquvy9jfsgdkur7 +decimals = 18 + +[PINGDEV] +peggy_denom = inj17dlj84plm8yqjtp82mmg35494v8wjqfk29lzyf +decimals = 18 + +[PINJA] +peggy_denom = factory/inj1gyxrvcdvjr22l5fu43ng4c607nxpc8yuxslcv3/pinja +decimals = 6 + +[PINJEON] +peggy_denom = factory/inj1l73eqd7w5vu4srwmc722uwv7u9px7k5azzsqm2/pinjeon +decimals = 6 + +[PINJU] +peggy_denom = factory/inj1j43ya8q0u5dx64x362u62yq5zyvasvg98asm0d/pinju +decimals = 6 + +[PIO] +peggy_denom = factory/inj1ufkjuvf227gccns4nxjqc8vzktfvrz6y7xs9sy/PIO +decimals = 6 + +[PIPI] +peggy_denom = factory/inj1rhaefktcnhe3y73e82x4edcsn9h5y99gwmud6v/pipi +decimals = 6 + +[PIRATE] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/PIRATE +decimals = 6 + +[PIXDOG] +peggy_denom = inj1thsy9k5c90wu7sxk37r2g3u006cszqup8r39cl +decimals = 18 + +[PIXEL] +peggy_denom = inj1wmlkhs5y6qezacddsgwxl9ykm40crwp4fpp9vl +decimals = 8 + +[PIZZA] +peggy_denom = factory/inj1cus3dx8lxq2h2y9mzraxagaw8kjjcx6ul5feak/PIZZA +decimals = 6 + +[PKS] +peggy_denom = inj1m4z4gjrcq9wg6508ds4z2g43wcgynlyflaawef +decimals = 18 + +[PLNK] +peggy_denom = ibc/020098CDEC3D7555210CBC1593A175A6B24253823B0B711D072EC95F76FA4D42 +decimals = 6 + +[POINT] +peggy_denom = inj1l73x8hh6du0h8upp65r7ltzpj5twadtp5490n0 +decimals = 18 + +[POK] +peggy_denom = inj18nzsj7sef46q7puphfxvr5jrva6xtpm9zsqvhh +decimals = 18 + +[POLAR] +peggy_denom = inj1kgdp3wu5pr5ftuzczpgl5arg28tz44ucsjqsn9 +decimals = 8 + +[POLLY] +peggy_denom = factory/inj1nhswhqrgfu3hpauvyeycz7pfealx4ack2c5hfp/POLLY +decimals = 6 + +[PONDO] +peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/pondo +decimals = 6 + +[PONG] +peggy_denom = inj1lgy5ne3a5fja6nxag2vv2mwaan69sql9zfj7cl +decimals = 18 + +[POOL] +peggy_denom = peggy0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e +decimals = 18 + +[POOR] +peggy_denom = peggy0x9D433Fa992C5933D6843f8669019Da6D512fd5e9 +decimals = 8 + +[POP] +peggy_denom = factory/inj1a9dsv5whfhqptkycx4l9uly9x684lwmwuv7l3n/POP +decimals = 6 + +[POPCAT] +peggy_denom = inj1pfx2k2mtflde5yz0gz6f7xfks9klx3lv93llr6 +decimals = 18 + +[POPEYE] +peggy_denom = ibc/C35A94A42FEDA8E01903CD7A78FB33AE60B2064C0007BF2E4FD5A6368BDBC546 +decimals = 6 + +[PORK] +peggy_denom = inj14u3qj9fhrc6d337vlx4z7h3zucjsfrwwvnsrnt +decimals = 18 + +[PORNGPT] +peggy_denom = inj1ptlmxvkjxmjap436v9wrryd20r2gqf94fr57ga +decimals = 8 + +[PORTAL] +peggy_denom = factory/inj163072g64wsn8a9n2mydwlx7c0aqt4l7pjseeuu/PORTAL +decimals = 6 + +[POTIN] +peggy_denom = factory/inj1k0mzgwd4ujuu9w95xzs8p7qu8udy3atqj3sau7/POTIN +decimals = 6 + +[POTION] +peggy_denom = factory/inj1r7thtn5zj6mv9zupelkkw645ve8kgx35rf43ja/POTION +decimals = 18 + +[POTTER] +peggy_denom = factory/inj1c7h6wnfdz0dpc5llsdxfq9yemmq9nwfpr0c59r/potter +decimals = 6 + +[PRERICH] +peggy_denom = factory/inj18p952tvf264784sf9f90rpge4w7dhsjrtgn4lw/prerich +decimals = 7 + +[PROD] +peggy_denom = inj1y2mev78vrd4mcfrjunnktctwqhm7hznguue7fc +decimals = 18 + +[PROMETHEUS] +peggy_denom = inj1tugjw7wy3vhtqjap22j9e62yzrurrsu4efu0ph +decimals = 8 + +[PROOF] +peggy_denom = factory/inj1jpddz58n2ugstuhp238qwwvdf3shxsxy5g6jkn/PROOF +decimals = 6 + +[PROTON-011] +peggy_denom = inj1vts6mh344msrwr885ej5naev87yesred5mp23r +decimals = 8 + +[PRYZM] +peggy_denom = ibc/2A88907A69C27C7481E478005AAD1976F044246E0CDB4DB3367EADA4EF38373B +decimals = 6 + +[PSPS] +peggy_denom = inj145p4shl9xdutc7cv0v9qpfallh3s8z64yd66rg +decimals = 18 + +[PSYCHO] +peggy_denom = factory/inj18aptztz0pxvvjzumpnd36szzljup0t7t3pauu8/psycho +decimals = 6 + +[PUFF] +peggy_denom = inj1f8kkrgrfd7utflvsq7xknuxtzf92nm80vkshu2 +decimals = 6 + +[PUG] +peggy_denom = factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/PUG +decimals = 6 + +[PUNK] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1wmrzttj7ms7glplek348vedx4v2ls467n539xt +decimals = 18 + +[PUNKINJ] +peggy_denom = inj1vq0f9sgvg0zj5hc4vvg8yd6x9wzepzq5nekh4l +decimals = 8 + +[PUPZA] +peggy_denom = factory/inj13y9m57hw2rnvdmsym8na45z9kvexy82c4n6apc/PUPZA +decimals = 6 + +[PVP] +peggy_denom = peggy0x9B44793a0177C84DD01AD81137db696531902871 +decimals = 8 + +[PVV] +peggy_denom = inj1rk5y4m3qgm8h68z2lp3e2dqqjmpkx7m0aa84ah +decimals = 6 + +[PYTH] +peggy_denom = ibc/F3330C1B8BD1886FE9509B94C7B5398B892EA41420D2BC0B7C6A53CB8ED761D6 +decimals = 6 + +[PYTHlegacy] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1tjcf9497fwmrnk22jfu5hsdq82qshga54ajvzy +decimals = 6 + +[PYUSD] +peggy_denom = peggy0x6c3ea9036406852006290770BEdFcAbA0e23A0e8 +decimals = 6 + +[Panda Itamae] +peggy_denom = factory/inj1wpttce7eccrutxkddtzug4xyz4ztny88httxpg/panda +decimals = 6 + +[Pedro] +peggy_denom = inj1hsv0y599unrnv02xntzmcdquh4wagrns8gqfh7 +decimals = 18 + +[People] +peggy_denom = inj13pegx0ucn2e8w2g857n5828cmvl687jgq692t4 +decimals = 6 + +[Pepe] +peggy_denom = ibc/9144D78830C5ABD7B7D9E219EA7600E3A0E0AD5FC50C007668160595E94789AB +decimals = 18 + +[Phepe] +peggy_denom = inj1mtt0a4evtfxazpxjqlv5aesdn3mnysl78lppts +decimals = 8 + +[Pie] +peggy_denom = inj1m707m3ngxje4adfr86tll8z7yzm5e6eln8e3kr +decimals = 18 + +[PigFucker] +peggy_denom = factory/inj17p7p03yn0z6zmjwk4kjfd7jh7uasxwmgt8wv26/pigfucker +decimals = 6 + +[Pigs] +peggy_denom = inj1mcmjk2zgh5wpxkdmkevlpmah6tsmwvql78twpf +decimals = 18 + +[Pikachu] +peggy_denom = factory/inj1h9zu2u6yqf3t5uym75z94zsqfhazzkyg39957u/pika +decimals = 6 + +[PingDevRtard] +peggy_denom = inj1c8v52n2wyye96m4xwama3pwqkdc56gw03dlkcq +decimals = 18 + +[Point Token] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1l73x8hh6du0h8upp65r7ltzpj5twadtp5490n0 +decimals = 18 + +[Polkadot] +peggy_denom = ibc/624BA9DD171915A2B9EA70F69638B2CEA179959850C1A586F6C485498F29EDD4 +decimals = 10 + +[Popeye] +peggy_denom = ibc/833095AF2D530639121F8A07E24E5D02921CA19FF3192D082E9C80210515716C +decimals = 6 + +[Punk DAO Token] +peggy_denom = factory/inj1esz96ru3guug4ctmn5chjmkymt979sfvufq0hs/PUNK +decimals = 6 + +[Punk Token] +peggy_denom = inj1wmrzttj7ms7glplek348vedx4v2ls467n539xt +decimals = 18 + +[Pyth Network (legacy)] +peggy_denom = inj1tjcf9497fwmrnk22jfu5hsdq82qshga54ajvzy +decimals = 6 + +[QAT] +peggy_denom = inj1m4g54lg2mhhm7a4h3ms5xlyecafhe4macgsuen +decimals = 8 + +[QNT] +peggy_denom = peggy0x4a220E6096B25EADb88358cb44068A3248254675 +decimals = 18 + +[QOC] +peggy_denom = inj1czcj5472ukkj6pect59z5et39esr3kvquxl6dh +decimals = 8 + +[QTUM] +peggy_denom = factory/inj1jgc9ptfwgyapfrr0kgdjjnwpdqck24pp59uma3/qtum +decimals = 0 + +[QTest] +peggy_denom = inj1wze83lt3jk84f89era4ldakyv3mf90pj4af9cx +decimals = 6 + +[QUNT] +peggy_denom = factory/inj127l5a2wmkyvucxdlupqyac3y0v6wqfhq03ka64/qunt +decimals = 6 + +[QUOK] +peggy_denom = factory/inj1jdnjwhcjhpw8v0cmk80r286w5d426ns6tw3nst/QUOK +decimals = 6 + +[Quants] +peggy_denom = factory/inj1yttneqwxxc4qju4p54549p6dq2j0d09e7gdzx8/Quants +decimals = 6 + +[RAA] +peggy_denom = inj1vzpjnmm4s9qa74x2n7vgcesq46afjj5yfwvn4q +decimals = 18 + +[RAB] +peggy_denom = inj1xmdyafnth7g6pvg6zd687my3ekw3htvh95t2c8 +decimals = 18 + +[RAC] +peggy_denom = ibc/0F3A724673F682CF7812D0ED1A0C41D344C09E94C939E79D12712DC7C0676E80 +decimals = 6 + +[RAD] +peggy_denom = inj1r9wxpyqp4a75k9dhk5qzcfmkwtrg7utgrvx0zu +decimals = 18 + +[RAE] +peggy_denom = inj1lvtcdka9prgtugcdxeyw5kd9rm35p0y2whwj7j +decimals = 18 + +[RAF] +peggy_denom = inj1l8hztn806saqkacw8rur4qdgexp6sl7k0n6xjm +decimals = 18 + +[RAG] +peggy_denom = inj1k45q0qf0jwepajlkqcx5a6w833mm0lufzz0kex +decimals = 18 + +[RAH] +peggy_denom = inj1mpcxzhkk0c7wjrwft2xafsvds9un59gfdml706 +decimals = 18 + +[RAI] +peggy_denom = peggy0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919 +decimals = 18 + +[RAMEN] +peggy_denom = factory/inj1z5utcc5u90n8a5m8gv30char6j4hdzxz6t3pke/ramen +decimals = 6 + +[RAMEN2] +peggy_denom = factory/inj15d5v02thnac8mc79hx0nzuz4rjxuccy7rc63x3/RAMEN2 +decimals = 6 + +[RAMEN22] +peggy_denom = factory/inj15d5v02thnac8mc79hx0nzuz4rjxuccy7rc63x3/RAMEN22 +decimals = 6 + +[RAMENV2] +peggy_denom = factory/inj15d5v02thnac8mc79hx0nzuz4rjxuccy7rc63x3/RAMENV2 +decimals = 6 + +[RAMSES] +peggy_denom = inj1jttaxqcjtsys54k3m6mx4kzulzasg4tc6hhpp6 +decimals = 8 + +[RAPTR] +peggy_denom = ibc/592FDF11D4D958105B1E4620FAECAA6708655AB815F01A01C1540968893CDEBF +decimals = 6 + +[RATJA] +peggy_denom = inj1kl5pzllv782r8emj3umgn3dwcewc6hw6xdmvrv +decimals = 18 + +[RAY] +peggy_denom = factory/inj1ckddr5lfwjvm2lvtzra0ftx7066seqr3navva0/RAY +decimals = 6 + +[REAL] +peggy_denom = inj1uhralmk73lkxeyd9zhskmzz44lsmcxneluqgp9 +decimals = 18 + +[REALS] +peggy_denom = inj1g3l8chts5wrt437tkpmuy554wcky6devphqxf0 +decimals = 18 + +[RED] +peggy_denom = inj15ytmt6gng36relzntgz0qmgfqnygluz894yt28 +decimals = 18 + +[REDINJ] +peggy_denom = inj1jkts7lhvwx27z92l6dwgz6wpyd0xf9wu6qyfrh +decimals = 18 + +[REFIs] +peggy_denom = factory/inj1uklzzlu9um8rq922czs8g6f2ww760xhvgr6pat/REFIs +decimals = 6 + +[REIS] +peggy_denom = ibc/444BCB7AC154587F5D4ABE36EF6D7D65369224509DCBCA2E27AD539519DD66BB +decimals = 6 + +[RETRO] +peggy_denom = ibc/ACDEFBA440F37D89E2933AB2B42AA0855C30852588B7DF8CD5FBCEB0EB1471EB +decimals = 6 + +[RHINO] +peggy_denom = inj1t5f60ewnq8hepuvmwnlm06h0q23fxymldh0hpr +decimals = 6 + +[RIBBIT] +peggy_denom = peggy0xb794Ad95317f75c44090f64955954C3849315fFe +decimals = 18 + +[RICE] +peggy_denom = factory/inj1mt876zny9j6xae25h7hl7zuqf7gkx8q63k0426/rice +decimals = 12 + +[RICHINJ] +peggy_denom = inj143l8dlvhudhzuggrp5sakwmn8kw24hutr43fe2 +decimals = 8 + +[RICK] +peggy_denom = factory/inj1ga7xu92w0yxhedk92v6ckge6q76vx2hxcwxsxx/RICK +decimals = 6 + +[RIP] +peggy_denom = inj1eu8ty289eyjvm4hcrg70n4u95jggh9eekfxs5y +decimals = 18 + +[RITSU] +peggy_denom = inj17cqglnfpx7w20pc6urwxklw6kkews4hmfj6z28 +decimals = 18 + +[RKO] +peggy_denom = factory/inj1muuaghrdm2rfss9cdpxzhk3v7xqj8ltngrm0xd/RKO +decimals = 6 + +[RKT] +peggy_denom = factory/inj1af5v85xm5upykzsjj29lpr9dyp4n37746kpfmq/RKT +decimals = 6 + +[RNDR] +peggy_denom = inj1092d3j7yqup5c8lp92vv5kadl567rynj59yd92 +decimals = 18 + +[ROAR] +peggy_denom = ibc/E6CFB0AC1D339A8CBA3353DF0D7E080B4B14D026D1C90F63F666C223B04D548C +decimals = 6 + +[ROB] +peggy_denom = inj1x6lvx8s2gkjge0p0dnw4vscdld3rdcw94fhter +decimals = 18 + +[ROCK] +peggy_denom = factory/inj1xjcq2ch3pacc9gql24hfwpuvy9gxszxpz7nzmz/rock +decimals = 6 + +[ROCKET] +peggy_denom = inj1zrw6acmpnghlcwjyrqv0ta5wmzute7l4f0n3dz +decimals = 8 + +[ROLL] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1qv98cmfdaj5f382a0klq7ps4mnjp6calzh20h3 +decimals = 18 + +[ROM] +peggy_denom = inj16w9qp30vrpng8kr83efvmveen688klvtd00qdy +decimals = 6 + +[ROMAN] +peggy_denom = inj1h3z3gfzypugnctkkvz7vvucnanfa5nffvxgh2z +decimals = 18 + +[RONI] +peggy_denom = factory/inj13y9m57hw2rnvdmsym8na45z9kvexy82c4n6apc/RONI +decimals = 6 + +[RONIN] +peggy_denom = inj1rtyuaxaqfxczuys3k3cdvlg89ut66ulmp8mvuy +decimals = 18 + +[RONOLDO] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/ronoldo +decimals = 6 + +[ROOT] +peggy_denom = peggy0xa3d4BEe77B05d4a0C943877558Ce21A763C4fa29 +decimals = 6 + +[RSNL] +peggy_denom = factory/inj1uvexgrele9lr5p87kksg6gmz2telncpe0mxsm6/RSNL +decimals = 6 + +[RSTK] +peggy_denom = ibc/102810E506AC0FB1F14755ECA7A1D05066E0CBD574526521EF31E9B3237C0C02 +decimals = 6 + +[RTD] +peggy_denom = inj1ek524mnenxfla235pla3cec7ukmr3fwkgf6jq3 +decimals = 18 + +[RUDY] +peggy_denom = factory/inj1ykggxun6crask6eywr4a2lfy36f4we5l9rg2an/RUDY +decimals = 6 + +[RUG] +peggy_denom = factory/inj174r3j8pm93gfcdu0g36dg6g7u0alygppypa45e/RUG +decimals = 6 + +[RUGAOI] +peggy_denom = factory/inj1pe8rs2gfmem5ak8vtqkduzkgcyargk2fg6u4as/RUGAOI +decimals = 6 + +[RUGMYASS] +peggy_denom = inj18n9rpsstxsxgpmgegkn6fsvq9x3alqekqddgnq +decimals = 18 + +[RUGPULL] +peggy_denom = factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/RUGPULL +decimals = 6 + +[RUMBLERZ] +peggy_denom = inj1pcwdvq866uqd8lhpmasya2xqw9hk2u0euvvqxl +decimals = 8 + +[RUNE] +peggy_denom = peggy0x3155BA85D5F96b2d030a4966AF206230e46849cb +decimals = 18 + +[RYAN] +peggy_denom = inj1zdhl0fk08tr8xwppych2f7apzdymw4r3gf9kyr +decimals = 18 + +[RYU] +peggy_denom = factory/inj1cm0jn67exeqm5af8lrlra4epfhyk0v38w98g42/ryu +decimals = 18 + +[Rai Reflex Index] +peggy_denom = ibc/27817BAE3958FFB2BFBD8F4F6165153DFD230779994A7C42A91E0E45E8201768 +decimals = 18 + +[RealMadrid] +peggy_denom = factory/inj1a7697s5yg3tsgkfrm0u5hvxm34mu8v0v3trryx/RealMadrid +decimals = 6 + +[Rice Token] +peggy_denom = inj1j6qq40826d695eyszmekzu5muzmdey5mxelxhl +decimals = 18 + +[Rise] +peggy_denom = inj123aevc4lmpm09j6mqemrjpxgsa7dncg2yn2xt7 +decimals = 18 + +[Roll] +peggy_denom = inj15wuxx78q5p9h7fqg3ux7zljczj7jh5qxqhrevv +decimals = 18 + +[Roll Token] +peggy_denom = inj1qv98cmfdaj5f382a0klq7ps4mnjp6calzh20h3 +decimals = 18 + +[Rush] +peggy_denom = inj1r2gjtqgzhfcm4wgvmctpuul2m700v4ml24l7cq +decimals = 18 + +[SAE] +peggy_denom = factory/inj152mdu38fkkk4fl7ycrpdqxpm63w3ztadgtktyr/SAE +decimals = 6 + +[SAFAS] +peggy_denom = inj1vphq25x2r69mpf2arzsut8yxcav709kwd3t5ck +decimals = 18 + +[SAFEMOON] +peggy_denom = factory/inj1pgkwcngxel97d9qjvg75upe8y3lvvzncq5tdr0/safemoon +decimals = 6 + +[SAGA] +peggy_denom = ibc/AF921F0874131B56897A11AA3F33D5B29CD9C147A1D7C37FE8D918CB420956B2 +decimals = 6 + +[SAIL] +peggy_denom = ibc/2718A31D59C81CD1F972C829F097BDBE32D7B84025F909FFB6163AAD314961B3 +decimals = 6 + +[SAKE] +peggy_denom = factory/inj1mdyw30cuct3haazw546t4t92sadeuwde0tmqxx/SAKE +decimals = 6 + +[SAKI] +peggy_denom = factory/inj1gg43076kmy0prkxtn5xxka47lfmwwjsq6ygcfa/SAKI +decimals = 6 + +[SAKURA] +peggy_denom = factory/inj183fjyma33jsx0wndkmk69yukk3gpll7gunkyz6/sakurasakura +decimals = 6 + +[SALT] +peggy_denom = factory/inj15e6p3slz9pa7kcn280y7hgp6rvhsqm3vnczlaw/salt +decimals = 6 + +[SAM] +peggy_denom = factory/inj1wuw7wa8fvp0leuyvh9ypzmndduzd5vg0xc77ha/sam +decimals = 6 + +[SAMI] +peggy_denom = factory/inj13jvw7hl6hkyg8a8ltag47xyzxcc6h2qkk0u9kr/SAMI +decimals = 6 + +[SAMOORAII] +peggy_denom = factory/inj1056f9jwmdxjmc3xf3urpka00gjfsnna7ct3gy3/SAMOORAII +decimals = 6 + +[SAMP] +peggy_denom = inj1xd2l3406kypepnnczcn6fm0lnmsk6qk7dakryn +decimals = 18 + +[SAMURAI] +peggy_denom = inj1lvnuam0w70d4yj03vy30umqv4rr7gwfkfsemnc +decimals = 6 + +[SANSU] +peggy_denom = factory/inj1x5thnvjfwzmtxxhqckrap8ysgs2duy29m4xwsp/sansu +decimals = 6 + +[SANTA] +peggy_denom = factory/inj12qf874wcfxtxt004qmuhdtxw4l6d0f5w6cyfpz/santa +decimals = 6 + +[SANTABONK] +peggy_denom = inj1zjdtxmvkrxcd20q8nru4ws47nemkyxwnpuk34v +decimals = 8 + +[SANTAGODX] +peggy_denom = inj1j8nvansvyvhnz4vzf5d8cyjpwu85ksdhyjf3n4 +decimals = 8 + +[SANTAINJ] +peggy_denom = inj17cqy5lr4gprjgnlv0j2mw4rhqfhr9zpupkur8t +decimals = 8 + +[SANTAMEME] +peggy_denom = inj1dds0a220twm3pjprypmy0qun3cn727hzj0tpaa +decimals = 8 + +[SASUKE] +peggy_denom = inj1alpg8nw7lw8uplsrah8q0qn66rqq0fxzd3wf9f +decimals = 18 + +[SATOSHIVM] +peggy_denom = inj1y7pvzc8h05e8qs9de2c9qcypxw6xkj5wttvm70 +decimals = 8 + +[SATS] +peggy_denom = inj1ck568jpww8wludqh463lk6h32hhe58u0nrnnxe +decimals = 8 + +[SAVEOURSTRAYS] +peggy_denom = factory/inj1a5h6erkyttcsyjmrn4k3rxyjuktsxq4fnye0hg/SAVEOURSTRAYS +decimals = 6 + +[SAVM] +peggy_denom = inj1wuw0730q4rznqnhkw2nqwk3l2gvun7mll9ew3n +decimals = 6 + +[SAYVE] +peggy_denom = ibc/DF2B99CF1FEA6B292E79617BD6F7EF735C0B47CEF09D7104E270956E96C38B12 +decimals = 6 + +[SB] +peggy_denom = inj1cqq89rjk4v5a0teyaefqje3skntys7q6j5lu2p +decimals = 8 + +[SBF] +peggy_denom = factory/inj1j2me24lslpaa03fw8cuct8586t6f6qf0wcf4fm/SBF +decimals = 6 + +[SCAM] +peggy_denom = inj1hgh3dqc2kxl464qg9rnt3kctzplmsnqzycdtt7 +decimals = 18 + +[SCLX] +peggy_denom = factory/inj1faq30xe497yh5ztwt00krpf9a9lyakg2zhslwh/SCLX +decimals = 6 + +[SCORPION] +peggy_denom = factory/inj10w3p2qyursc03crkhg9djdm5tnu9xg63r2zumh/scorpion +decimals = 6 + +[SCRT] +peggy_denom = ibc/7C4A4847D6898FA8744A8F2A4FC287E98CA5A95E05842B897B3FB301103C8AB6 +decimals = 6 + +[SDEX] +peggy_denom = peggy0x5DE8ab7E27f6E7A1fFf3E5B337584Aa43961BEeF +decimals = 18 + +[SDOGE] +peggy_denom = inj1525sjr836apd4xkz8utflsm6e4ecuhar8qckhd +decimals = 8 + +[SEAS] +peggy_denom = ibc/FF5AC3E28E50C2C52063C18D0E2F742B3967BE5ACC6D7C8713118E54E1DEE4F6 +decimals = 6 + +[SECOND] +peggy_denom = inj1rr08epad58xlg5auytptgctysn7lmsk070qeer +decimals = 18 + +[SEI] +peggy_denom = ibc/BCE43BA530FBE35282B62C1E1EA4AD1F51522C61D40FB761005E1A02F18E0E58 +decimals = 6 + +[SEIFU] +peggy_denom = inj1jtenkjgqhwxdl93eak2aark5s9kl72awc4rk47 +decimals = 6 + +[SEISEI] +peggy_denom = factory/inj1lm95gdmz7qatcgw933t97rg58wnzz3dpxv7ldk/SEISEI +decimals = 6 + +[SEIWHAT?] +peggy_denom = inj1qjgtplwsrflwgqjy0ffp72mfzckwsqmlq2ml6n +decimals = 8 + +[SEIYAN] +peggy_denom = ibc/ECC41A6731F0C6B26606A03C295236AA516FA0108037565B7288868797F52B91 +decimals = 6 + +[SEKIRO] +peggy_denom = factory/inj1tpuscn4wl7sf35zx5w95d74ulzsdfle67x7cq5/Sekiro +decimals = 6 + +[SENJU] +peggy_denom = factory/inj1qdamq2fk7xs6m34qv8swl9un04w8fhk42k35e5/SENJU +decimals = 6 + +[SENSEI] +peggy_denom = factory/inj1qpv9su9nkkka5djeqjtt5puwn6lw90eh0yfy0f/sensei +decimals = 6 + +[SEQUENCE] +peggy_denom = factory/inj1nz984w2xnpwrtzsj7mt8rsc57vyhpwa360fq2r/sequence +decimals = 6 + +[SER] +peggy_denom = inj128cqeg7a78k64xdxsr6v5s6js97dxjgxynwdxc +decimals = 18 + +[SEUL] +peggy_denom = ibc/1C17C28AEA3C5E03F1A586575C6BE426A18B03B48C11859B82242EF32D372FDA +decimals = 6 + +[SEX] +peggy_denom = factory/inj1ary3d4xl6jjlkht33ktqc2py7lvc3l4mqrfq00/SEX +decimals = 6 + +[SHARINGAN] +peggy_denom = factory/inj1056f9jwmdxjmc3xf3urpka00gjfsnna7ct3gy3/SHARINGAN +decimals = 18 + +[SHARK] +peggy_denom = ibc/08B66006A5DC289F8CB3D7695F16D211D8DDCA68E4701A1EB90BF641D8637ACE +decimals = 6 + +[SHARP] +peggy_denom = inj134p6skwcyjac60d2jtff0daps7tvzuqj4n56fr +decimals = 8 + +[SHB] +peggy_denom = inj19zzdev3nkvpq26nfvdcm0szp8h272u2fxf0myv +decimals = 6 + +[SHBL] +peggy_denom = factory/inj1zp8a6nhhf3hc9pg2jp67vlxjmxgwjd8g0ck9mq/SHBL +decimals = 6 + +[SHENZI] +peggy_denom = factory/inj1e05u43qmn9jt502784c009u4elz5l86678esrk/SHENZI +decimals = 6 + +[SHI] +peggy_denom = inj1w7wwyy6pjs9k2ecxte8p6tp8g7kh6k3ut402af +decimals = 6 + +[SHIB] +peggy_denom = peggy0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE +decimals = 18 + +[SHIBINJ] +peggy_denom = factory/inj13yzzxz90naqer4utnp03zlj5rguhu7v0hd2jzl/SHIBINJ +decimals = 6 + +[SHIELD] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/SHIELD +decimals = 6 + +[SHINJ] +peggy_denom = factory/inj1h3vg2546p42hr955a7fwalaexjrypn8npds0nq/SHINJ +decimals = 6 + +[SHINJU] +peggy_denom = factory/inj1my757j0ndftrsdf2tuxsdhhy5qfkpuxw4x3wnc/shinju +decimals = 6 + +[SHINOBI] +peggy_denom = inj1h37nmz0r2dt8l33kt2c6us5hj00ykzgxmvyw55 +decimals = 18 + +[SHIRO] +peggy_denom = factory/inj1wu5464syj9xmud55u99hfwhyjd5u8fxfmurs8j/shiro +decimals = 6 + +[SHITMOS] +peggy_denom = ibc/96C34D4D443A2FBCA10B120679AB50AE61195DF9D48DEAD60F798A6AC6B3B653 +decimals = 6 + +[SHOGUN] +peggy_denom = inj16yxzdpw4fkyfzld98zt9l3txqpzj88pnme904j +decimals = 6 + +[SHRK] +peggy_denom = factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/SHRK +decimals = 6 + +[SHROOM] +peggy_denom = inj1mdzxqh9kag3a9e7x5488vn8hkeh42cuw0hnhrf +decimals = 6 + +[SHSA] +peggy_denom = inj1tsrxu2pxusyn24zgxyh2z36apxmhu22jfwd4v7 +decimals = 18 + +[SHT] +peggy_denom = factory/inj1sp8s6ng0e8a7q5dqywgyupwjyjgq2sk553t6r5/SHT +decimals = 6 + +[SHU] +peggy_denom = factory/inj1mllxwgvx0zhhr83rfawjl05dmuwwzfcrs9xz6t/SHU +decimals = 6 + +[SHURIKEN] +peggy_denom = inj1d8x73kj4xtgzhpztf6d60vcjnrw9w0sh2vq8em +decimals = 6 + +[SILLY] +peggy_denom = inj19j6q86wt75p3pexfkajpgxhkjht589zyu0e4rd +decimals = 8 + +[SIMPSONS] +peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/simpsons +decimals = 6 + +[SINU] +peggy_denom = inj1mxjvtp38yj866w7djhm9yjkwqc4ug7klqrnyyj +decimals = 8 + +[SJAKE] +peggy_denom = factory/inj1s4xa5jsp5sfv5nql5h3c2l8559l7rqyzckheha/SJAKE +decimals = 6 + +[SKI] +peggy_denom = inj167xkgla9kcpz5gxz6ak4vrqs7nqxr08kvyfqkz +decimals = 18 + +[SKIBIDI] +peggy_denom = factory/inj1ztugej2ytfwj9kxa8m5md85e5z3v8jvaxapz6n/skibidi +decimals = 6 + +[SKIPBIDIDOBDOBDOBYESYESYESYES] +peggy_denom = peggy0x5085202d0A4D8E4724Aa98C42856441c3b97Bc6d +decimals = 9 + +[SKR] +peggy_denom = factory/inj1xjcq2ch3pacc9gql24hfwpuvy9gxszxpz7nzmz/sakura +decimals = 6 + +[SKULL] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/SKULL +decimals = 6 + +[SKULLS] +peggy_denom = inj1qk4cfp3su44qzragr55fc9adeehle7lal63jpz +decimals = 18 + +[SKYPE] +peggy_denom = inj1e9nezwf7wvjj4rzfkjfad7teqjfa7r0838f6cs +decimals = 18 + +[SLOTH] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/sloth +decimals = 6 + +[SMART] +peggy_denom = factory/inj105ujajd95znwjvcy3hwcz80pgy8tc6v77spur0/SMART +decimals = 6 + +[SMAUG] +peggy_denom = inj1a2wzkydpw54f8adq76dkf6kwx6zffnjju93r0y +decimals = 18 + +[SMB] +peggy_denom = inj13xkzlcd490ky7uuh3wwd48r4qy35hlhqxjpe0r +decimals = 18 + +[SMELLY] +peggy_denom = factory/inj10pz3xq7zf8xudqxaqealgyrnfk66u3c99ud5m2/SMELLY +decimals = 6 + +[SMILE] +peggy_denom = factory/inj1tuwuzza5suj9hq4n8pwlfw2gfua8223jfaa6v7/SMILE +decimals = 6 + +[SMLE] +peggy_denom = inj1nqy47ullz048d8lzck9yr89dnpfefrdx30c7fx +decimals = 18 + +[SMOKE] +peggy_denom = factory/inj1t0vyy5c3cnrw9f0mpjz9xk7fp22ezjjmrza7xn/SMOKE +decimals = 6 + +[SMOKEe] +peggy_denom = factory/inj1t0vyy5c3cnrw9f0mpjz9xk7fp22ezjjmrza7xn/SMOKEe +decimals = 6 + +[SNAPPY] +peggy_denom = factory/inj13y5nqf8mymy9tfxkg055th7hdm2uaahs9q6q5w/SNAPPY +decimals = 6 + +[SNAPPY inj] +peggy_denom = inj19dfkr2rm8g5kltyu93ppgmvdzj799vug2m9jqp +decimals = 18 + +[SNARL] +peggy_denom = factory/inj1dskk29zmzjtc49w3fjxac4q4m87yg7gshw8ps9/SNARL +decimals = 6 + +[SNASA] +peggy_denom = factory/inj1peusyhlu85s3gq82tz8jcfxzkszte4zeqhdthw/SNASA +decimals = 6 + +[SNEK] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/snek +decimals = 6 + +[SNIPE] +peggy_denom = inj1ryzgvggaktks2pz69pugltfu7f3hpq7wc98t5e +decimals = 18 + +[SNIPEONE] +peggy_denom = inj146tnhg42q52jpj6ljefu6xstatactyd09wcgwh +decimals = 18 + +[SNIPER] +peggy_denom = factory/inj1qzxna8fqr56g83rvyyylxnyghpguzt2jx3dgr8/SNIPER +decimals = 6 + +[SNJT] +peggy_denom = inj1h6hma5fahwutgzynjrk3jkzygqfxf3l32hv673 +decimals = 18 + +[SNOWY] +peggy_denom = factory/inj1ml33x7lkxk6x2x95d3alw4h84evlcdz2gnehmk/SNOWY +decimals = 6 + +[SNS] +peggy_denom = ibc/4BFB3FB1903142C5A7570EE7697636436E52FDB99AB8ABE0257E178A926E2568 +decimals = 8 + +[SNX] +peggy_denom = peggy0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F +decimals = 18 + +[SOCRATES] +peggy_denom = inj18qupdvxmgswj9kfz66vaw4d4wn0453ap6ydxmy +decimals = 8 + +[SOGGS] +peggy_denom = factory/inj1c0f9ze9wh2xket0zs6wy59v66alwratsdx648k/soggs +decimals = 6 + +[SOK] +peggy_denom = inj1jdpc9y459hmce8yd699l9uf2aw97q3y7kwhg7t +decimals = 18 + +[SOKE] +peggy_denom = inj1ryqavpjvhfj0lewule2tvafnjga46st2q7dkee +decimals = 18 + +[SOL] +peggy_denom = factory/inj1a4hvejdwaf9gd9rltwftxf0fyz6mrzwmnauacp/SOL +decimals = 6 + +[SOLANAinj] +peggy_denom = inj18e7x9myj8vq58ycdutd6eq6luy7frrp4d2nglr +decimals = 6 + +[SOLinj] +peggy_denom = inj1n9nga2t49ep9hvew5u8xka0d4lsrxxg4cw4uaj +decimals = 6 + +[SOLlegacy] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sthrn5ep8ls5vzz8f9gp89khhmedahhdkqa8z3 +decimals = 8 + +[SOMM] +peggy_denom = ibc/34346A60A95EB030D62D6F5BDD4B745BE18E8A693372A8A347D5D53DBBB1328B +decimals = 6 + +[SONICFLOKITRUMPSPIDERMAN INU] +peggy_denom = inj16afzhsepkne4vc7hhu7fzx4cjpgkqzagexqaz6 +decimals = 8 + +[SONINJ] +peggy_denom = factory/inj1cm5lg3z9l3gftt0c09trnllmayxpwt8825zxw3/soninj +decimals = 6 + +[SOS] +peggy_denom = inj13wdqnmv40grlmje48akc2l0azxl38d2wzl5t92 +decimals = 6 + +[SPDR] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/spdr +decimals = 6 + +[SPK] +peggy_denom = inj18wclk6g0qwwqxa36wd4ty8g9eqgm6q04zjgnpp +decimals = 18 + +[SPONCH] +peggy_denom = factory/inj1qw7egul6sr0yjpxfqq5qars2qvxucgp2sartet/sponch +decimals = 6 + +[SPOONWORMS] +peggy_denom = inj1qt3c5sx94ag3rn7403qrwqtpnqthg4gr9cccrx +decimals = 6 + +[SPORTS] +peggy_denom = factory/inj1dewkg7z8vffqxk7jcer6sf9ttnx54z0c6gfjw6/SPORTS +decimals = 6 + +[SPUUN] +peggy_denom = inj1vgm0pwes4fusmvha62grh5aq55yxdz2x5k58xw +decimals = 18 + +[SPUUN INJ] +peggy_denom = inj1zrd6wwvyh4rqsx5tvje6ug6qd2xtn0xgu6ylml +decimals = 18 + +[SQRL] +peggy_denom = peggy0x762dD004fc5fB08961449dd30cDf888efb0Adc4F +decimals = 18 + +[SQUID] +peggy_denom = factory/inj1a7697s5yg3tsgkfrm0u5hvxm34mu8v0v3trryx/SQUID +decimals = 6 + +[SSFS] +peggy_denom = inj1m7hd99423w39aug74f6vtuqqzvw5vp0h2e85u0 +decimals = 6 + +[SSTST] +peggy_denom = factory/inj1wmu4fq03zvu60crvjdhksk62e8m08xsn9d5nv3/stream-swap-test +decimals = 0 + +[STAKELAND] +peggy_denom = inj1sx4mtq9kegurmuvdwddtr49u0hmxw6wt8dxu3v +decimals = 8 + +[STAR] +peggy_denom = inj1nkxdx2trqak6cv0q84sej5wy23k988wz66z73w +decimals = 8 + +[STARK] +peggy_denom = factory/inj106etgay573e32ksysc9dpdrynxhk7kkmaclhfc/stark +decimals = 6 + +[STARS] +peggy_denom = ibc/4D29F082A3C083C85C886B92A1EB438C3FC0632E5F9E4D875479BEB7B9511BD5 +decimals = 6 + +[STINJ] +peggy_denom = ibc/AC87717EA002B0123B10A05063E69BCA274BA2C44D842AEEB41558D2856DCE93 +decimals = 18 + +[STINJER] +peggy_denom = factory/inj1fepsfp58ff2l7fasj47ytwrrwwp6k7uz6uhfvn/stinjer +decimals = 6 + +[STL] +peggy_denom = inj1m2pce9f8wfql0st8jrf7y2en7gvrvd5wm573xc +decimals = 18 + +[STRD] +peggy_denom = ibc/02683677B1A58ECF74FFF25711E09735C44153FE9490BE5EF9FD21DE82BCB542 +decimals = 6 + +[STT] +peggy_denom = peggy0xaC9Bb427953aC7FDDC562ADcA86CF42D988047Fd +decimals = 18 + +[STX] +peggy_denom = stx +decimals = 6 + +[SUGAR] +peggy_denom = factory/inj1qukvpzhyjguma030s8dmvw4lxaluvlqq5jk3je/SUGAR +decimals = 6 + +[SUI] +peggy_denom = sui +decimals = 9 + +[SUMO] +peggy_denom = factory/inj15e6p3slz9pa7kcn280y7hgp6rvhsqm3vnczlaw/sumo +decimals = 6 + +[SUMOCOCO] +peggy_denom = factory/inj1056f9jwmdxjmc3xf3urpka00gjfsnna7ct3gy3/SUMOCOCO +decimals = 6 + +[SUPE] +peggy_denom = factory/inj1rl4sadxgt8c0qhl4pehs7563vw7j2dkz80cf55/SUPE +decimals = 6 + +[SUPERMARIO] +peggy_denom = inj1mgts7d5c32w6aqr8h9f5th08x0p4jaya2tp4zp +decimals = 18 + +[SUSHI] +peggy_denom = factory/inj14epxlhe56lhk5s3nc8wzmetwh6rpehuufe89ak/SUSHI +decimals = 6 + +[SUSHI FIGHTER] +peggy_denom = inj1n73yuus64z0yrda9hvn77twkspc4uste9j9ydd +decimals = 18 + +[SUSHII] +peggy_denom = inj1p6evqfal5hke6x5zy8ggk2h5fhn4hquk63g20d +decimals = 6 + +[SVM] +peggy_denom = inj1jyhzeqxnh8qnupt08gadn5emxpmmm998gwhuvv +decimals = 8 + +[SVN] +peggy_denom = inj1u4zp264el8hyxsqkeuj5yesp8pqmfh4fya86w6 +decimals = 18 + +[SWAP] +peggy_denom = peggy0xCC4304A31d09258b0029eA7FE63d032f52e44EFe +decimals = 18 + +[SWP] +peggy_denom = ibc/70CF1A54E23EA4E480DEDA9E12082D3FD5684C3483CBDCE190C5C807227688C5 +decimals = 6 + +[SWTH] +peggy_denom = ibc/8E697D6F7DAC1E5123D087A50D0FE0EBDD8A323B90DC19C7BA8484742AEB2D90 +decimals = 8 + +[SXC] +peggy_denom = inj1a4lr8sulev42zgup2g0sk8x4hl9th20cj4fqmu +decimals = 8 + +[SXI] +peggy_denom = inj12mjzeu7qrhn9w85dd02fkvjt8hgaewdk6j72fj +decimals = 8 + +[SYN] +peggy_denom = factory/inj1a6xdezq7a94qwamec6n6cnup02nvewvjtz6h6e/SYN +decimals = 6 + +[SamOrai] +peggy_denom = inj1a7fqtlllaynv6l4h2dmtzcrucx2a9r04e5ntnu +decimals = 18 + +[Samurai] +peggy_denom = factory/inj1s5php9vmd03w6nszlnsny43cmuhw3y6u3vt7qc/samurai +decimals = 6 + +[Samurai dex token] +peggy_denom = factory/inj1c0f9ze9wh2xket0zs6wy59v66alwratsdx648k/samurai +decimals = 6 + +[Santa] +peggy_denom = factory/inj1mwsgdlq6rxs3xte8p2m0pcw565czhgngrxgl38/Santa +decimals = 6 + +[SantaInjective] +peggy_denom = inj19wccuev2399ad0ftdfyvw8h9qq5dvqxqw0pqxe +decimals = 8 + +[Satoru Gojo] +peggy_denom = inj1hwc0ynah0xv6glpq89jvm3haydhxjs35yncuq2 +decimals = 6 + +[Sei] +peggy_denom = ibc/0D0B98E80BA0158D325074100998A78FB6EC1BF394EFF632E570A5C890ED7CC2 +decimals = 6 + +[Sekiro] +peggy_denom = factory/inj1nn8xzngf2ydkppk2h0n9nje72ttee726hvjplx/ak +decimals = 6 + +[Sendor] +peggy_denom = inj1hpwp280wsrsgn3r3mvufx09dy4e8glj8sq4vzx +decimals = 6 + +[Sensei Dog] +peggy_denom = ibc/12612A3EBAD01200A7FBD893D4B0D71F3AD65C41B2AEE5B42EE190672EBE57E9 +decimals = 6 + +[She] +peggy_denom = inj1k59du6npg24x2wacww9lmmleh5qrscf9gl7fr5 +decimals = 6 + +[Shiba INJ] +peggy_denom = factory/inj1v0yk4msqsff7e9zf8ktxykfhz2hen6t2u4ue4r/shiba inj +decimals = 6 + +[Shiba Inu] +peggy_denom = ibc/E68343A4DEF4AFBE7C5A9004D4C11888EE755A7B43B3F1AFA52F2C34C07990D5 +decimals = 18 + +[ShihTzu] +peggy_denom = factory/inj1x78kr9td7rk3yqylvhgg0ru2z0wwva9mq9nh92/ShihTzu +decimals = 6 + +[Shinobi] +peggy_denom = factory/inj1t02au5gsk40ev9jaq0ggcyry9deuvvza6s4wav/nobi +decimals = 6 + +[Shinobi Inu] +peggy_denom = factory/inj1t02au5gsk40ev9jaq0ggcyry9deuvvza6s4wav/Shinobi +decimals = 6 + +[Shuriken] +peggy_denom = inj1kxamn5nmsn8l7tyu752sm2tyt6qlpufupjyscl +decimals = 18 + +[Shuriken Token] +peggy_denom = factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/shuriken +decimals = 6 + +[Sin] +peggy_denom = inj10fnmtl9mh95gjtgl67ww6clugl35d8lc7tewkd +decimals = 18 + +[Sinful] +peggy_denom = inj1lhfk33ydwwnnmtluyuu3re2g4lp79c86ge546g +decimals = 18 + +[Smoking Nonja] +peggy_denom = factory/inj1nvv2gplh009e4s32snu5y3ge7tny0mauy9dxzg/smokingnonja +decimals = 6 + +[Solana (legacy)] +peggy_denom = inj1sthrn5ep8ls5vzz8f9gp89khhmedahhdkqa8z3 +decimals = 8 + +[Sommelier] +peggy_denom = peggy0xa670d7237398238DE01267472C6f13e5B8010FD1 +decimals = 6 + +[SpoonWORMS] +peggy_denom = inj1klc8puvggvjwuee6yksmxx4za6xdh20pwjdnec +decimals = 6 + +[Spuun] +peggy_denom = inj1hs0xupdsrnwfx3lcpz56qkp72q7rn57v3jm0x7 +decimals = 18 + +[Spuurk] +peggy_denom = inj1m9yfd6f2dw0f6uyx4r2av2xk8s5fq5m7pt3mec +decimals = 18 + +[Spuvn] +peggy_denom = inj1f66rlllh2uef95p3v7cswqmnnh2w3uv3f97kv3 +decimals = 18 + +[SteadyBTC] +peggy_denom = peggy0x4986fD36b6b16f49b43282Ee2e24C5cF90ed166d +decimals = 18 + +[SteadyETH] +peggy_denom = peggy0x3F07A84eCdf494310D397d24c1C78B041D2fa622 +decimals = 18 + +[Sui (Wormhole)] +peggy_denom = ibc/F96C68219E987465D9EB253DACD385855827C5705164DAFDB0161429F8B95780 +decimals = 8 + +[Summoners Arena Essence] +peggy_denom = ibc/0AFCFFE18230E0E703A527F7522223D808EBB0E02FDBC84AAF8A045CD8FE0BBB +decimals = 8 + +[Sushi Staked INJ] +peggy_denom = inj1hwj3xz8ljajs87km07nev9jt7uhmvf9k9q4k0f +decimals = 6 + +[SushiSwap] +peggy_denom = peggy0x6B3595068778DD592e39A122f4f5a5cF09C90fE2 +decimals = 18 + +[TAB] +peggy_denom = peggy0x36B3D7ACe7201E28040eFf30e815290D7b37ffaD +decimals = 18 + +[TABOO] +peggy_denom = inj1ttxw2rn2s3hqu4haew9e3ugekafu3hkhtqzmyw +decimals = 8 + +[TACOS] +peggy_denom = inj1ac9d646xzyam5pd2yx4ekgfjhc65564533fl2m +decimals = 6 + +[TAJIK] +peggy_denom = factory/inj1dvlqazkar9jdy8x02j5k2tftwjnp7c53sgfavp/TAJIK +decimals = 6 + +[TAKUMI] +peggy_denom = ibc/ADE961D980CB5F2D49527E028774DE42BFD3D78F4CBBD4B8BA54890E60606DBD +decimals = 6 + +[TALIS] +peggy_denom = factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/TALIS +decimals = 6 + +[TANSHA] +peggy_denom = factory/inj1qw7egul6sr0yjpxfqq5qars2qvxucgp2sartet/tansha +decimals = 6 + +[TATAS] +peggy_denom = factory/inj10pz3xq7zf8xudqxaqealgyrnfk66u3c99ud5m2/tatas +decimals = 6 + +[TC] +peggy_denom = factory/inj1ureedhqkm8tv2v60de54xzgqgu9u25xkuw8ecs/tyler +decimals = 6 + +[TENSOR] +peggy_denom = inj1py9r5ghr2rx92c0hyn75pjl7ung4euqdm8tvn5 +decimals = 6 + +[TERRAFORMS] +peggy_denom = inj19rev0qmuz3eccvkluz8sptm6e9693jduexrc4v +decimals = 8 + +[TERT] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/tert +decimals = 6 + +[TEST] +peggy_denom = ibc/A83851234A83F3FE51CDB44FF1A4435472A197C096EF9E7312B69E67C16B7FB7 +decimals = 6 + +[TEST13] +peggy_denom = factory/inj1mux0he68umjpcy8ltefeuxm9ha2ww3689rv2g4/TEST13 +decimals = 6 + +[TESTI] +peggy_denom = inj1mzcamv0w3q797x4sj4ny05hfpgacm90a2d2xqp +decimals = 18 + +[TF] +peggy_denom = factory/inj1pjcmuxd2ek7mvx4gnv6quyn6c6rjxwcrs4h5y4/truffle +decimals = 6 + +[THE10] +peggy_denom = factory/inj18u2790weecgqkmcyh2sg9uupz538kwgmmcmtps/THE10 +decimals = 6 + +[THREE] +peggy_denom = inj1qqfhg6l8d7punj4z597t0p3wwwxdcpfew4fz7a +decimals = 18 + +[THUG] +peggy_denom = factory/inj108qcx6eu6l6adl6kxm0qpyshlmzf3w9mnq5vav/THUGLIFE +decimals = 6 + +[THUNDER] +peggy_denom = inj1gacpupgyt74farecd9pv20emdv6vpkpkhft59y +decimals = 6 + +[TIA] +peggy_denom = ibc/F51BB221BAA275F2EBF654F70B005627D7E713AFFD6D86AFD1E43CAA886149F4 +decimals = 6 + +[TIK] +peggy_denom = inj1xetmk66rv8nhjur9s8t8szkdff0xwks8e4vym3 +decimals = 6 + +[TINJER] +peggy_denom = factory/inj1srha80fxkk40gzymgrgt3m3ya0u8ms3z022f70/tinjer +decimals = 6 + +[TITAN] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/titan +decimals = 6 + +[TJCLUB] +peggy_denom = factory/inj12lhhu0hpszdq5wmt630wcspdxyewz3x2m04khh/TJCLUB +decimals = 6 + +[TKN] +peggy_denom = factory/inj1f4sglhz3ss74fell9ecvqrj2qvlt6wmk3ctd3f/TKN +decimals = 6 + +[TMB] +peggy_denom = factory/inj1dg4n304450kswa7hdj8tqq3p28f5kkye2fxey3/TMB +decimals = 6 + +[TMNT] +peggy_denom = inj1yt6erfe7a55es7gnwhta94g08zq9qrsjw25eq5 +decimals = 18 + +[TOKYO] +peggy_denom = inj1k8ad5x6auhzr9tu3drq6ahh5dtu5989utxeu89 +decimals = 18 + +[TOM] +peggy_denom = factory/inj1k9tqa6al637y8qu9yvmsw3ke6r3knsn8ewv73f/TOM +decimals = 18 + +[TOMO] +peggy_denom = inj1d08rut8e0u2e0rlf3pynaplas6q0akj5p976kv +decimals = 8 + +[TONKURU] +peggy_denom = factory/inj1krswly444gyuunnmchg4uz2ekqvu02k7903skh/tonkuru +decimals = 6 + +[TORO] +peggy_denom = ibc/37DF4CCD7D156B9A8BF3636CD7E073BADBFD54E7C7D5B42B34C116E33DB0FE81 +decimals = 6 + +[TOTS] +peggy_denom = factory/inj1u09lh0p69n7salm6l8ufytfsm0p40pnlxgpcz5/TOTS +decimals = 6 + +[TRASH] +peggy_denom = inj1re43j2d6jxlk4m5sn9lc5qdc0rwkz64c8gqk5x +decimals = 18 + +[TREN] +peggy_denom = inj14y8f4jc0qmmwzcyj9k7dxnlq6tgjq9ql6n2kdn +decimals = 18 + +[TRG] +peggy_denom = inj1scn6ssfehuw735llele39kk7w6ylg4auw3epjp +decimals = 8 + +[TRH] +peggy_denom = inj1dxtnr2cmqaaq0h5sgnhdftjhh5t6dmsu37x40q +decimals = 18 + +[TRIPPY] +peggy_denom = inj1puwde6qxl5v96f5sw0dmql4r3a0e9wvxp3w805 +decimals = 18 + +[TRR] +peggy_denom = inj1cqwslhvaaferrf3c933efmddfsvakdhzaaex5h +decimals = 18 + +[TRUCPI] +peggy_denom = trucpi +decimals = 18 + +[TRUFFLE] +peggy_denom = factory/inj1e5va7kntnq245j57hfe78tqhnd763ekrtu9fez/TRUFFLE +decimals = 6 + +[TRUMP] +peggy_denom = inj19l7z2pezzt0xn52w647zxrffyrqag02ft88grm +decimals = 18 + +[TRX] +peggy_denom = inj17ssa7q9nnv5e5p6c4ezzxj02yjhmvv5jmg6adq +decimals = 6 + +[TRY] +peggy_denom = inj10dqyn46ljqwzx4947zc3dska84hpnwc7r6rzzs +decimals = 18 + +[TRY2] +peggy_denom = factory/inj1jpddz58n2ugstuhp238qwwvdf3shxsxy5g6jkn/TRY2 +decimals = 6 + +[TSNG] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/tsng +decimals = 6 + +[TST] +peggy_denom = factory/inj1cq5ygzlgh6l2pll2thtx82rhde2v7cpxlqfz93/TST +decimals = 6 + +[TSTI] +peggy_denom = factory/inj1lvlvg3mkc3txakeyrqfzemkc7muvm9656mf2az/TSTI +decimals = 6 + +[TSTT] +peggy_denom = inj19p5am8kye6r7xu3xy9crzh4dj7uhqvpw3n3mny +decimals = 18 + +[TSUNADE] +peggy_denom = inj1vwzqtjcwv2wt5pcajvlhmaeejwme57q52mhjy3 +decimals = 18 + +[TTNY] +peggy_denom = inj10c0ufysjj52pe7m9a3ncymzf98sysl3nr730r5 +decimals = 18 + +[TTS] +peggy_denom = factory/inj1en4mpfud040ykmlneentdf77ksa3usjcgw9hax/TTS +decimals = 6 + +[TURBO] +peggy_denom = factory/inj1hhmra48t7xwz4snc7ttn6eu5nvmgzu0lwalmwk/TURBO +decimals = 6 + +[TURBOTOAD] +peggy_denom = factory/inj1nmc5namhwszx0yartvjm6evsxrj0ctq2qa30l7/TURBOTOAD +decimals = 6 + +[TURD] +peggy_denom = ibc/3CF3E1A31015028265DADCA63920C320E4ECDEC2F77D2B4A0FD7DD2E460B9EF3 +decimals = 6 + +[TURTLE] +peggy_denom = factory/inj1nshrauly795k2h97l98gy8zx6gl63ak2489q0u/TURTLE +decimals = 8 + +[TURTLENINJ] +peggy_denom = factory/inj1lv9v2z2zvvng6v9qm8eh02t2mre6f8q6ez5jxl/turtleninj +decimals = 6 + +[TWO] +peggy_denom = inj19fza325yjfnx9zxvtvawn0rrjwl73g4nkzmm2w +decimals = 18 + +[Talis NFT] +peggy_denom = inj155kuqqlmdz7ft2jas4fc23pvtsecce8xps47w5 +decimals = 8 + +[Terra] +peggy_denom = peggy0xd2877702675e6cEb975b4A1dFf9fb7BAF4C91ea9 +decimals = 6 + +[TerraUSD] +peggy_denom = peggy0xa47c8bf37f92aBed4A126BDA807A7b7498661acD +decimals = 18 + +[Test] +peggy_denom = inj1xnk5ca6u4hl9rfm2qretz6p5wjt3yptvng2jvd +decimals = 18 + +[Test QAT] +peggy_denom = peggy0x1902e18fEB1234D00d880f1fACA5C8d74e8501E9 +decimals = 18 + +[Test Token] +peggy_denom = inj1a6qdxdanekzgq6dluymlk7n7khg3dqq9lua9q9 +decimals = 18 + +[Test coin don't buy] +peggy_denom = inj19xpgme02uxc55hgplg4vkm4vw0n7p6xl4ksqcz +decimals = 18 + +[TestOne] +peggy_denom = inj1f8fsu2xl97c6yss7s3vgmvnjau2qdlk3vq3fg2 +decimals = 18 + +[TestThree] +peggy_denom = inj14e3anyw3r9dx4wchnkcg8nlzps73x86cze3nq6 +decimals = 18 + +[TestTwo] +peggy_denom = inj1krcpgdu3a83pdtnus70qlalrxken0h4y52lfhg +decimals = 18 + +[TestingToken] +peggy_denom = inj1j5y95qltlyyjayjpyupgy7e5y7kkmvjgph888r +decimals = 18 + +[Tether] +peggy_denom = inj13yrhllhe40sd3nj0lde9azlwfkyrf2t9r78dx5 +decimals = 6 + +[Tether USD (Wormhole)] +peggy_denom = ibc/3384DCE14A72BBD0A47107C19A30EDD5FD1AC50909C632CB807680DBC798BB30 +decimals = 6 + +[The Mask] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/mask +decimals = 6 + +[TheJanitor] +peggy_denom = factory/inj1w7cw5tltax6dx7znehul98gel6yutwuvh44j77/TheJanitor +decimals = 6 + +[TrempBoden] +peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/trempboden +decimals = 6 + +[Trump] +peggy_denom = inj1neclyywnhlhe4me0g2tky9fznjnun2n9maxuhx +decimals = 6 + +[Trump Ninja] +peggy_denom = inj1dj0u7mqn3z8vxz6muwudhpl95sajmy00w7t6gq +decimals = 18 + +[TryCW] +peggy_denom = inj15res2a5r94y8s33lc7c5czcswx76pygjk827t0 +decimals = 18 + +[Tsu Grenade] +peggy_denom = inj1zgxh52u45qy3xxrq72ypdajhhjftj0hu5x4eea +decimals = 18 + +[TunaSniper] +peggy_denom = inj1ypa69pvev7rlv8d2rdxkaxn23tk7rx5vgnxaam +decimals = 6 + +[UIA] +peggy_denom = inj1h6avzdsgkfvymg3sq5utgpq2aqg4pdee7ep77t +decimals = 18 + +[UICIDE] +peggy_denom = factory/inj158g7dfclyg9rr6u4ddxg9d2afwevq5d79g2tm6/UICIDE +decimals = 6 + +[UMA] +peggy_denom = peggy0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828 +decimals = 18 + +[UMEE] +peggy_denom = ibc/221E9E20795E6E250532A6A871E7F6310FCEDFC69B681037BBA6561270360D86 +decimals = 6 + +[UNI] +peggy_denom = factory/inj14epxlhe56lhk5s3nc8wzmetwh6rpehuufe89ak/UNI +decimals = 6 + +[UP10X] +peggy_denom = inj1zeu70usj0gtgqapy2srsp7pstf9r82ckqk45hs +decimals = 6 + +[UPGRADE] +peggy_denom = inj1f32xp69g4qf7t8tnvkgnmhh70gzy43nznkkk7f +decimals = 8 + +[UPHOTON] +peggy_denom = ibc/48BC9C6ACBDFC1EBA034F1859245D53EA4BF74147189D66F27C23BF966335DFB +decimals = 6 + +[UPTENX] +peggy_denom = inj10jgxzcqdf6phdmettetd8m92gxucxz5rpp9kwu +decimals = 6 + +[URO] +peggy_denom = factory/inj1t8wuan5zxp58uwtn6j50kx4tjv25argx6lucwy/URO +decimals = 6 + +[USC] +peggy_denom = ibc/5307C5A7B88337FE81565E210CDB5C50FBD6DCCF2D90D524A7E9D1FE00C40139 +decimals = 8 + +[USD] +peggy_denom = ibc/7474CABFDF3CF58A227C19B2CEDE34315A68212C863E367FC69928ABA344024C +decimals = 18 + +[USD Coin] +peggy_denom = inj12pwnhtv7yat2s30xuf4gdk9qm85v4j3e60dgvu +decimals = 6 + +[USD Coin (BEP-20)] +peggy_denom = ibc/5FF8FE2FDCD9E28C0608B17FA177A918DFAF7218FA18E5A2C688F34D86EF2407 +decimals = 18 + +[USD Coin (legacy)] +peggy_denom = inj1q6zlut7gtkzknkk773jecujwsdkgq882akqksk +decimals = 6 + +[USD Coin from Avalanche] +peggy_denom = ibc/705E7E25F94467E363B2EB324A5A6FF4C683A4A6D20AAD2AEEABA2D9EB1B897F +decimals = 6 + +[USD Coin from Polygon] +peggy_denom = ibc/2E93E8914CA07B73A794657DA76170A016057D1C6B0DC42D969918D4F22D95A3 +decimals = 6 + +[USD Con] +peggy_denom = peggy0xB855dBC314C39BFa2583567E02a40CBB246CF82B +decimals = 18 + +[USDC] +peggy_denom = ibc/DF32F083238097AD2CA5444BFB8F338534C32865EFE0696C5AF89AFB3A0144D6 +decimals = 6 + +[USDC-MPL] +peggy_denom = peggy0xf875aef00C4E21E9Ab4A335eB36A1175Ab00424A +decimals = 6 + +[USDCarb] +peggy_denom = inj1lmcfftadjkt4gt3lcvmz6qn4dhx59dv2m7yv8r +decimals = 6 + +[USDCbsc] +peggy_denom = inj1dngqzz6wphf07fkdam7dn55t8t3r6qenewy9zu +decimals = 6 + +[USDCet] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q6zlut7gtkzknkk773jecujwsdkgq882akqksk +decimals = 6 + +[USDCgateway] +peggy_denom = ibc/7BE71BB68C781453F6BB10114F8E2DF8DC37BA791C502F5389EA10E7BEA68323 +decimals = 6 + +[USDClegacy] +peggy_denom = peggy0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 +decimals = 6 + +[USDCpoly] +peggy_denom = inj19s2r64ghfqq3py7f5dr0ynk8yj0nmngca3yvy3 +decimals = 6 + +[USDCso] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj12pwnhtv7yat2s30xuf4gdk9qm85v4j3e60dgvu +decimals = 6 + +[USDLR] +peggy_denom = ibc/E15121C1541741E0A7BA2B96B30864C1B1052F1AD8189D81E6C97939B415D12E +decimals = 6 + +[USDT] +peggy_denom = ibc/7965483148018AFAA12DC569959897E7A5E474F4B41A87FFC5513B552C108DB5 +decimals = 6 + +[USDT.axl] +peggy_denom = ibc/90C6F06139D663CFD7949223D257C5B5D241E72ED61EBD12FFDDA6F068715E47 +decimals = 6 + +[USDT.multi] +peggy_denom = ibc/24E5D0825D3D71BF00C4A01CD8CA8F2D27B1DD32B7446CF633534AEA25379271 +decimals = 6 + +[USDTap] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13yrhllhe40sd3nj0lde9azlwfkyrf2t9r78dx5 +decimals = 6 + +[USDTbsc] +peggy_denom = inj1l9eyrnv3ret8da3qh8j5aytp6q4f73crd505lj +decimals = 6 + +[USDTet] +peggy_denom = inj18zykysxw9pcvtyr9ylhe0p5s7yzf6pzdagune8 +decimals = 6 + +[USDTkv] +peggy_denom = ibc/4ABBEF4C8926DDDB320AE5188CFD63267ABBCEFC0583E4AE05D6E5AA2401DDAB +decimals = 6 + +[USDTso] +peggy_denom = inj1qjn06jt7zjhdqxgud07nylkpgnaurq6xc5c4fd +decimals = 6 + +[USDX] +peggy_denom = ibc/C78F65E1648A3DFE0BAEB6C4CDA69CC2A75437F1793C0E6386DFDA26393790AE +decimals = 6 + +[USDY] +peggy_denom = ibc/93EAE5F9D6C14BFAC8DD1AFDBE95501055A7B22C5D8FA8C986C31D6EFADCA8A9 +decimals = 18 + +[USDYet] +peggy_denom = peggy0x96F6eF951840721AdBF46Ac996b59E0235CB985C +decimals = 18 + +[USDe] +peggy_denom = peggy0x4c9EDD5852cd905f086C759E8383e09bff1E68B3 +decimals = 18 + +[USDi] +peggy_denom = peggy0x83E7D0451da91Ac509cd7F545Fb4AA04D4dD3BA8 +decimals = 18 + +[USK] +peggy_denom = ibc/58BC643F2EB5758C08D8B1569C7948A5DA796802576005F676BBFB7526E520EB +decimals = 6 + +[UST] +peggy_denom = ibc/B448C0CA358B958301D328CCDC5D5AD642FC30A6D3AE106FF721DB315F3DDE5C +decimals = 18 + +[UTK] +peggy_denom = peggy0xdc9Ac3C20D1ed0B540dF9b1feDC10039Df13F99c +decimals = 18 + +[Ulp] +peggy_denom = inj1ynqtgucs3z20n80c0zammyqd7skfgc7kyanc2j +decimals = 18 + +[Umee] +peggy_denom = ibc/2FF3DC3A0265B9A220750E75E75E5D44ED2F716B8AC4EDC378A596CC958ABF6B +decimals = 6 + +[Uniswap] +peggy_denom = ibc/3E3A8A403AE81114F4341962A6D73162D586C9DF4CE3BE7C7B459108430675F7 +decimals = 18 + +[Unknown] +peggy_denom = unknown +decimals = 0 + +[VATRENI] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1tn457ed2gg5vj2cur5khjjw63w73y3xhyhtaay +decimals = 8 + +[VAULT] +peggy_denom = factory/inj16j0dhn7qg9sh7cg8y3vm6fecpfweq4f46tzrvd/VAULT +decimals = 6 + +[VEGAS] +peggy_denom = inj12sy2vdgspes6p7af4ssv2sv0u020ew4httwp5y +decimals = 6 + +[VELO] +peggy_denom = inj1srz2afh8cmay4nuk8tjkq9lhu6tz3hhmjnevlv +decimals = 8 + +[VENUS] +peggy_denom = inj109z6sf8pxl4l6dwh7s328hqcn0ruzflch8mnum +decimals = 8 + +[VERHA] +peggy_denom = inj1v2rqvnaavskyhjkx7xfkkyljhnyhuv6fmczprq +decimals = 18 + +[VIDA] +peggy_denom = inj18wa0xa2xg8ydass70e8uvlvzupt9wcn5l9tuxm +decimals = 6 + +[VINJETTA] +peggy_denom = factory/inj1f4x4j5zcv3uf8d2806umhd50p78gfrftjc3gg4/vinjetta +decimals = 6 + +[VIU] +peggy_denom = inj1ccpccejcrql2878cq55nqpgsl46s26qj8hm6ws +decimals = 8 + +[VIX] +peggy_denom = inj108qxa8lvywqgg0cqma0ghksfvvurgvv7wcf4qy +decimals = 6 + +[VRD] +peggy_denom = peggy0xf25304e75026E6a35FEDcA3B0889aE5c4D3C55D8 +decimals = 18 + +[VYK] +peggy_denom = inj15ssgwg2whxt3qnthlrq288uxtda82mcy258xp9 +decimals = 18 + +[Vatreni Token] +peggy_denom = inj1tn457ed2gg5vj2cur5khjjw63w73y3xhyhtaay +decimals = 8 + +[W] +peggy_denom = ibc/F16F0F685BEF7BC6A145F16CBE78C6EC8C7C3A5F3066A98A9E57DCEA0903E537 +decimals = 6 + +[WAGMI] +peggy_denom = factory/inj188veuqed0dygkcmq5d24u3807n6csv4wdv28gh/wagmi +decimals = 9 + +[WAIFU] +peggy_denom = factory/inj12dvzf9tx2ndc9498aqpkrxgugr3suysqwlmn49/waifu +decimals = 6 + +[WAIFUBOT] +peggy_denom = inj1fmw3t86ncrlz35pm0q66ca5kpudlxzg55tt54f +decimals = 6 + +[WAIFUDOGE] +peggy_denom = inj1py5zka74z0h02gqqaexllddn8232vqxsc946qf +decimals = 6 + +[WAIT] +peggy_denom = inj17pg77tx07drrx6tm6c72cd9sz6qxhwd4gp93ep +decimals = 8 + +[WAR] +peggy_denom = inj1nfkjyevl6z0fyc86w88xr8qq3awugw0nt2dvxq +decimals = 8 + +[WASABI] +peggy_denom = factory/inj1h6j2hwdn446d3nye82q2thte5pc6qqvyehsjzj/WASABI +decimals = 6 + +[WASSIE] +peggy_denom = peggy0x2c95d751da37a5c1d9c5a7fd465c1d50f3d96160 +decimals = 18 + +[WAVAX] +peggy_denom = ibc/A4FF8E161D2835BA06A7522684E874EFC91004AD0CD14E038F37940562158D73 +decimals = 18 + +[WBNB] +peggy_denom = ibc/B877B8EF095028B807370AB5C7790CA0C328777C9FF09AA7F5436BA7FAE4A86F +decimals = 18 + +[WBTC] +peggy_denom = ibc/A07BB73539F556DA5238F1B7E9471B34DD19897B1EE7050B959989F13EFE73B3 +decimals = 8 + +[WDDG] +peggy_denom = factory/inj1hse75gfje5jllds5t9gnzdwyp3cdc3cvdt7gpw/wddg +decimals = 6 + +[WEED] +peggy_denom = factory/inj1nm8kf7pn60mww3hnqj5je28q49u4h9gnk6g344/WEED +decimals = 6 + +[WEIRD] +peggy_denom = ibc/5533268E098543E02422FF94216D50A97CD9732AEBBC436AF5F492E7930CF152 +decimals = 6 + +[WEN] +peggy_denom = inj1wvd7jt2fwsdqph0culwmf3c4l4y63x4t6gu27v +decimals = 18 + +[WETH] +peggy_denom = ibc/4AC4A819B0BFCB25497E83B92A7D124F24C4E8B32B0E4B45704CC4D224A085A0 +decimals = 8 + +[WFTM] +peggy_denom = ibc/31E8DDA49D53535F358B29CFCBED1B9224DAAFE82788C0477930DCDE231DA878 +decimals = 18 + +[WGLMR] +peggy_denom = ibc/8FF72FB47F07B4AFA8649500A168683BEFCB9EE164BD331FA597D26224D51055 +decimals = 18 + +[WGMI] +peggy_denom = factory/inj1rmjzj9fn47kdmfk4f3z39qr6czexxe0yjyc546/WGMI +decimals = 6 + +[WHALE] +peggy_denom = ibc/D6E6A20ABDD600742D22464340A7701558027759CE14D12590F8EA869CCCF445 +decimals = 6 + +[WHITE] +peggy_denom = factory/inj1hdlavqur8ayu2kcdc9qv4dvee47aere5g80vg5/WHITE +decimals = 6 + +[WIF] +peggy_denom = wif +decimals = 6 + +[WIFDOG] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/wifdog +decimals = 6 + +[WIFLUCK] +peggy_denom = inj10vhddx39e3q8ayaxw4dg36tfs9lpf6xx649zfn +decimals = 18 + +[WIGO] +peggy_denom = inj1jzarcskrdgqzn9ynqn05uthv07sepnpftw8xg9 +decimals = 18 + +[WIHA] +peggy_denom = ibc/E1BD2AE3C3879D2D79EA2F81E2A106BC8781CF449F70DDE6D97EF1A45F18C270 +decimals = 6 + +[WINJ] +peggy_denom = inj1cxp5f0m79a9yexyplx550vxtnun8vjdaqf28r5 +decimals = 18 + +[WINJA] +peggy_denom = factory/inj1mq6we23vx50e4kyq6fyqgty4zqq27p20czq283/WINJA +decimals = 6 + +[WINK] +peggy_denom = ibc/325300CEF4149AD1BBFEB540FF07699CDEEFBB653401E872532030CFB31CD767 +decimals = 6 + +[WIZZ] +peggy_denom = factory/inj1uvfpvnmuqhx8jwg4786y59tkagmph827h38mst/WIZZ +decimals = 6 + +[WKLAY] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14cl67lprqkt3pncjav070gavaxslc0tzpc56f4 +decimals = 8 + +[WMATIC] +peggy_denom = ibc/4DEFEB42BAAB2788723759D95B7550BCE460855563ED977036248F5B94C842FC +decimals = 8 + +[WMATIClegacy] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1dxv423h8ygzgxmxnvrf33ws3k94aedfdevxd8h +decimals = 8 + +[WNINJ] +peggy_denom = factory/inj1ducfa3t9sj5uyxs7tzqwxhp6mcfdag2jcq2km6/wnINJ +decimals = 18 + +[WOJAK] +peggy_denom = factory/inj17kqcwkgdayv585dr7mljclechqzymgfsqc8x9k/WOJAK +decimals = 6 + +[WOJO] +peggy_denom = inj1n7qrdluu3gve6660dygc0m5al3awdg8gv07v62 +decimals = 6 + +[WOKE] +peggy_denom = inj17ka378ydj6ka5q0jlqt0eqhk5tmzqynx43ue7m +decimals = 18 + +[WOLF] +peggy_denom = factory/inj18pe85zjlrg5fcmna8tzqr0lysppcw5x7ecq33n/WOLF +decimals = 6 + +[WONDER] +peggy_denom = inj1ppg7jkl9vaj9tafrceq6awgr4ngst3n0musuq3 +decimals = 8 + +[WOOF] +peggy_denom = factory/inj1wu5464syj9xmud55u99hfwhyjd5u8fxfmurs8j/woof +decimals = 6 + +[WOOF INU] +peggy_denom = inj1h0h49fpkn5r0pjmscywws0m3e7hwskdsff4qkr +decimals = 8 + +[WORM] +peggy_denom = ibc/13C9967E4F065F5E4946302C1F94EA5F21261F3F90DAC0212C4037FA3E058297 +decimals = 6 + +[WOSMO] +peggy_denom = ibc/DD648F5D3CDA56D0D8D8820CF703D246B9FC4007725D8B38D23A21FF1A1477E3 +decimals = 6 + +[WSTETH] +peggy_denom = peggy0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0 +decimals = 18 + +[WTF] +peggy_denom = ibc/3C788BF2FC1269D66CA3E339634E14856A90336C5562E183EFC9B743C343BC31 +decimals = 6 + +[WUBBA] +peggy_denom = inj17g65zpdwql8xjju92k6fne8luqe35cjvf3j54v +decimals = 6 + +[Waifu] +peggy_denom = factory/inj12dvzf9tx2ndc9498aqpkrxgugr3suysqwlmn49/waifuinj +decimals = 6 + +[What does the fox say?] +peggy_denom = inj1x0nz4k6k9pmjq0y9uutq3kp0rj3vt37p2p39sy +decimals = 6 + +[Wolf Party] +peggy_denom = factory/inj1xjcq2ch3pacc9gql24hfwpuvy9gxszxpz7nzmz/wolf +decimals = 6 + +[Wormhole] +peggy_denom = factory/inj1xmxx0c3elm96s9s30t0k0gvr4h7l4wx9enndsl/wormhole +decimals = 6 + +[Wrapped Bitcoin] +peggy_denom = peggy0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 +decimals = 8 + +[Wrapped Ether] +peggy_denom = ibc/65A6973F7A4013335AE5FFE623FE019A78A1FEEE9B8982985099978837D764A7 +decimals = 18 + +[Wrapped Ethereum] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1plsk58sxqjw9828aqzeskmc8xy9eu5kppw3jg4 +decimals = 8 + +[Wrapped Klaytn] +peggy_denom = inj14cl67lprqkt3pncjav070gavaxslc0tzpc56f4 +decimals = 8 + +[Wrapped Matic] +peggy_denom = ibc/7E23647941230DA0AB4ED10F599647D9BE34E1C991D0DA032B5A1522941EBA73 +decimals = 18 + +[Wrapped Matic (legacy)] +peggy_denom = inj1dxv423h8ygzgxmxnvrf33ws3k94aedfdevxd8h +decimals = 8 + +[Wrapped liquid staked Ether 2.0 (Wormhole)] +peggy_denom = ibc/AF173F64492152DA94107B8AD53906589CA7B844B650EFC2FEFED371A3FA235E +decimals = 8 + +[Wynn] +peggy_denom = factory/inj1mmn3lqt5eahuu7cmpcjme6lj0xhjlhj3qj4fhh/Wynn +decimals = 18 + +[X747] +peggy_denom = factory/inj12ccehmgslwzkg4d4n4t78mpz0ja3vxyctu3whl/X747 +decimals = 6 + +[XAC] +peggy_denom = peggy0xDe4C5a791913838027a2185709E98c5C6027EA63 +decimals = 8 + +[XAEAXii] +peggy_denom = inj1wlw9hzsrrtnttgl229kvmu55n4z2gfjqzr6e2k +decimals = 18 + +[XAG] +peggy_denom = xag +decimals = 6 + +[XAI] +peggy_denom = inj15a8vutf0edqcuanpwrz0rt8hfclz9w8v6maum3 +decimals = 8 + +[XAU] +peggy_denom = xau +decimals = 6 + +[XBX] +peggy_denom = peggy0x080B12E80C9b45e97C23b6ad10a16B3e2a123949 +decimals = 18 + +[XCN] +peggy_denom = ibc/79D01DE88DFFC0610003439D38200E77A3D2A1CCCBE4B1958D685026ABB01814 +decimals = 18 + +[XDD] +peggy_denom = inj10e64r6exkrm52w9maa2e99nse2zh5w4zajzv7e +decimals = 18 + +[XIII] +peggy_denom = inj1zw35mh6q23cnxa0j6kdh2n4dtss795avxmn9kn +decimals = 6 + +[XMAS] +peggy_denom = factory/inj1sn34edy635nv4yhts3khgpy5qxw8uey6wvzq53/XMAS +decimals = 6 + +[XMASINJ] +peggy_denom = inj1yhp235hgpa0nartawhtx0q2hkhr6y8cdth4neu +decimals = 8 + +[XMASPUMP] +peggy_denom = inj165lcmjswrkuz2m5p45wn00qz4k2zpq8r9axkp9 +decimals = 8 + +[XNJ] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17pgmlk6fpfmqyffs205l98pmnmp688mt0948ar +decimals = 18 + +[XPLA] +peggy_denom = inj1j08452mqwadp8xu25kn9rleyl2gufgfjqjvewe +decimals = 8 + +[XPRT] +peggy_denom = ibc/B786E7CBBF026F6F15A8DA248E0F18C62A0F7A70CB2DABD9239398C8B5150ABB +decimals = 6 + +[XRAY] +peggy_denom = inj1aqgkr4r272dg62l9err5v3d3hme2hpt3rzy4zt +decimals = 8 + +[XRP] +peggy_denom = peggy0x1d2f0da169ceb9fc7b3144628db156f3f6c60dbe +decimals = 18 + +[XTALIS] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/xTalis +decimals = 6 + +[XUPS] +peggy_denom = inj1f3ppu7jgputk3qr833f4hsl8n3sm3k88zw6um0 +decimals = 8 + +[XYZ] +peggy_denom = factory/inj12aljr5fewp8vlns0ny740wuwd60q89x0xsqcz3/XYZ +decimals = 6 + +[XmasPump] +peggy_denom = inj1yjtgs6a9nwsljwk958ypf2u7l5kqf5ld8h3tmd +decimals = 8 + +[YAKUZA] +peggy_denom = factory/inj1r5pgeg9xt3xr0mw5n7js8kux7hyvjlsjn6k8ce/YAKUZA +decimals = 6 + +[YAMEI] +peggy_denom = inj1042ucqa8edhazdc27xz0gsphk3cdwxefkfycsr +decimals = 18 + +[YEA] +peggy_denom = inj1vfasyvcp7jpqfpdp980w28xemyurdnfys84xwn +decimals = 18 + +[YEET] +peggy_denom = inj10vhq60u08mfxuq3zr6ffpm7uelcc9ape94xq5f +decimals = 18 + +[YFI] +peggy_denom = peggy0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e +decimals = 18 + +[YKZ] +peggy_denom = inj1sgdvujejhvc0yqw26jz2kvg9fx2wvfvvjtjnjq +decimals = 6 + +[YMOS] +peggy_denom = ibc/26AB5A32422A0E9BC3B7FFCCF57CB30F3E8AEEA0F1705D64DCF4D8FA3DD71B9D +decimals = 6 + +[YOAN] +peggy_denom = inj1hgrgkrpwsu6n44ueucx0809usskkp6vdcr3ul9 +decimals = 18 + +[YOKAI] +peggy_denom = inj1y7k7hdw0nyw05rc8qr6nmwlp2kq3vzh065frd6 +decimals = 18 + +[YOSHI] +peggy_denom = inj13y8susc9dle4x664ktps3ynksxxgt6lhmckuxp +decimals = 18 + +[YSIR] +peggy_denom = inj1zff494cl7wf0g2fzqxdtxn5ws4mkgy5ypxwlql +decimals = 18 + +[YUKI] +peggy_denom = factory/inj1spdy83ds5ezq9rvtg0ndy8480ad5rlczcpvtu2/YUKI +decimals = 6 + +[YUM.axl] +peggy_denom = ibc/253F76EB6D04F50492930A5D97465A495E5D6ED674A33EB60DDD46F01EF56504 +decimals = 18 + +[Yakuza] +peggy_denom = factory/inj1t0vyy5c3cnrw9f0mpjz9xk7fp22ezjjmrza7xn/Yakuza +decimals = 6 + +[Yang] +peggy_denom = inj10ga6ju39mxt94suaqsfagea9t9p2ys2lawml9z +decimals = 6 + +[YeetYak] +peggy_denom = factory/inj1k2kcx5n03pe0z9rfzvs9lt764jja9xpvwrxk7c/YeetYak +decimals = 6 + +[YieldETH] +peggy_denom = ibc/6B7E243C586784E1BE150B71F541A3880F0409E994365AF31FF63A2764B72556 +decimals = 18 + +[Ykz] +peggy_denom = inj1ur8dhklqn5ntq45jcm5vy2tzp5zfc05w2pmjam +decimals = 18 + +[Yogi] +peggy_denom = inj1zc3uujkm2sfwk5x8xlrudaxwsc0t903rj2jcen +decimals = 6 + +[ZEUS] +peggy_denom = inj1302yft4ppsj99qy5avv2qv6hfuvzluy4q8eq0k +decimals = 18 + +[ZIG] +peggy_denom = peggy0xb2617246d0c6c0087f18703d576831899ca94f01 +decimals = 18 + +[ZIGZAG] +peggy_denom = inj1d70m92ml2cjzy2lkj5t2addyz6jq4qu8gyfwn8 +decimals = 6 + +[ZIL] +peggy_denom = ibc/AE996D1AF771FED531442A232A4403FAC51ACFFF9B645FF4363CFCB76019F5BD +decimals = 12 + +[ZK] +peggy_denom = zk +decimals = 18 + +[ZOE] +peggy_denom = factory/inj17v462f55kkuhjhvw7vdcjzd2wdk85yh8js3ug9/ZOE +decimals = 6 + +[ZOMBIE] +peggy_denom = factory/inj12yvvkskjdedhztpl4g2vh888z00rgl0wctarst/ZOMBIE +decimals = 6 + +[ZOOMER] +peggy_denom = inj173zkm8yfuqagcc5m7chc4dhnq0k5hdl7vwca4n +decimals = 18 + +[ZORO] +peggy_denom = factory/inj1z70nam7mp5qq4wd45ker230n3x4e35dkca9la4/ZORO +decimals = 18 + +[ZRO] +peggy_denom = zro +decimals = 6 + +[ZRX] +peggy_denom = peggy0xE41d2489571d322189246DaFA5ebDe1F4699F498 +decimals = 18 + +[ZUZU] +peggy_denom = factory/inj1v05uapg65p6f4307qg0hdkzssn82js6n5gc03q/ZUZU +decimals = 6 + +[ZZZ] +peggy_denom = factory/inj1a2qk8tsd4qv7rmtp8g8ktj7zfldj60hpp0arqp/ZZZ +decimals = 6 + +[aUSD] +peggy_denom = inj1p3nrwgm9u3dtln6rwdvrsmjt5fwlhhhq3ugckd +decimals = 18 + +[aevmos] +peggy_denom = ibc/EEB2EB2A678B5788DB413B5A7EC81085B34F33DA9750C1C790CE8E1EDC8282B5 +decimals = 0 + +[allBTC] +peggy_denom = ibc/2D805BFDFB164DE4CE69514BF2CD203C07BF79DF52EF1971763DCBD325917CC5 +decimals = 8 + +[allETH] +peggy_denom = ibc/1638ABB0A4233B36CC9EBBD43775D17DB9A86190E826580963A0B59A621BD7FD +decimals = 18 + +[allSOL] +peggy_denom = ibc/FA2D0C9110C1DFBAEF084C161D1A0EFC6270C64B446FDEC686C30FCF99FE22CA +decimals = 9 + +[allUSDT] +peggy_denom = ibc/7991930BA02EBF3893A7E244233E005C2CB14679898D8C9E680DA5F7D54E647D +decimals = 6 + +[ampGASH] +peggy_denom = ibc/B52F9774CA89A45FFB924CEE4D1E586013E33628A3784F3CCF10C8CE26A89E7F +decimals = 6 + +[ampINJ] +peggy_denom = factory/inj1cdwt8g7nxgtg2k4fn8sj363mh9ahkw2qt0vrnc/ampINJ +decimals = 6 + +[ampKUJI] +peggy_denom = ibc/34E48C7C43383203519D996D1D93FE80ED50153E28FB6A9465DE463AEF2EC9EC +decimals = 6 + +[ampLUNA] +peggy_denom = ibc/751CCECAF75D686B1DC8708BE62F8C7411B211750E6009C6AC4C93881F0543E8 +decimals = 6 + +[ampMNTA] +peggy_denom = ibc/A87178EAA371050DDFD80F78630AE622B176C7634160EE515C27CE62FCC8A0CC +decimals = 6 + +[ampOSMO] +peggy_denom = ibc/012D069D557C4DD59A670AA17E809CB7A790D778E364D0BC0A3248105DA6432D +decimals = 6 + +[ampROAR] +peggy_denom = ibc/7BE54594EAE77464217B9BB5171035946ED23DB309B030B5708E15C9455BB557 +decimals = 6 + +[ampSEI] +peggy_denom = ibc/E175256127F32A27BB1FF863D15D8C4BB14968ED069B6A292723D485A33514A2 +decimals = 6 + +[ampWHALE] +peggy_denom = ibc/168C3904C45C6FE3539AE85A8892DF87371D00EA7942515AFC50AA43C4BB0A32 +decimals = 6 + +[ampWHALEt] +peggy_denom = ibc/DF3225D7381562B58AA8BE107A87260DDDC7FA08E4B0898E3D795392CF844BBE +decimals = 6 + +[anon] +peggy_denom = factory/inj15n8jl0dcepjfy3nhsa3gm734rjx5x2ff3y9f2s/anon +decimals = 6 + +[ape] +peggy_denom = factory/inj1rhaefktcnhe3y73e82x4edcsn9h5y99gwmud6v/ape +decimals = 6 + +[aplanq] +peggy_denom = ibc/BA26BE85B9D5F046FC7071ED0F77053662A4B2F5B7552B3834A3F1B2DD3BD18F +decimals = 0 + +[ashLAB] +peggy_denom = ibc/D3D5FB034E9CAA6922BB9D7D52D909116B7FFF7BD73299F686C972643B4767B9 +decimals = 6 + +[ashLUNA] +peggy_denom = ibc/19C3905E752163B6EEB903A611E0832CCD05A32007E98C018759905025619D8F +decimals = 6 + +[ashSYN] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/syn.ash +decimals = 6 + +[avalanche.USDC.wh] +peggy_denom = ibc/348633370BE07A623D7FC9CD229150936ADCD3A4E842DAD246BBA817D21FF6C7 +decimals = 6 + +[axlETH] +peggy_denom = ibc/34EF5DA5B1CFB23FA25F1D486C89AFC9E5CC5727C224975438583C444E88F039 +decimals = 18 + +[axlFIL] +peggy_denom = ibc/9D1889339AEC850B1D719CCF19BD813955C086BE1ED323ED68318A273922E40D +decimals = 18 + +[axlUSDC] +peggy_denom = ibc/7E1AF94AD246BE522892751046F0C959B768642E5671CC3742264068D49553C0 +decimals = 6 + +[axlWBTC] +peggy_denom = ibc/F57B53E102171E6DC254532ECC184228BB8E23B755AD55FA6FDCBD70464A9A54 +decimals = 6 + +[bCRE] +peggy_denom = ibc/83D54420DD46764F2ED5EE511DAA63EC28012480A245D8E33AA1F7D1FB15D736 +decimals = 6 + +[bINJ] +peggy_denom = factory/inj1dxp690rd86xltejgfq2fa7f2nxtgmm5cer3hvu/bINJ +decimals = 18 + +[bKUJI] +peggy_denom = ibc/5C48695BF3A6BCC5DD147CC1A2D09DC1A30683FE369BF472704A52CF9D59B42D +decimals = 6 + +[bLUNA] +peggy_denom = ibc/C9D55B62C9D9CA84DD94DC019009B840DDFD861BF2F33F7CF2A8A74933797680 +decimals = 6 + +[bNEO] +peggy_denom = ibc/48F6A028444987BB26299A074A5C32DC1679A050D5563AC10FF81EED9E22D8B8 +decimals = 8 + +[bOSMO] +peggy_denom = ibc/C949BEFD9026997A65D0125340B096AA809941B3BB13D6C2D1E8E4A17F2130C4 +decimals = 6 + +[bWHALE] +peggy_denom = ibc/ECB0AA28D6001EF985047558C410B65581FC85BD92D4E3CFCCA0D3D964C67CC2 +decimals = 6 + +[baby INJ] +peggy_denom = inj1j0l9t4n748k2zy8zm7yfwjlpkf069d2jslfh3d +decimals = 18 + +[babyBENANCE] +peggy_denom = inj1rfv2lhr0qshztmk86f05vdmx2sft9zs6cc2ltj +decimals = 6 + +[babyCLON] +peggy_denom = inj1pyghkw9q0kx8mnuhcxpqnczfxst0way2ep9s54 +decimals = 6 + +[babyCOKE] +peggy_denom = inj15sslujc0pv3kdjsw0fhzvclwmgv2zh7a00fcx5 +decimals = 6 + +[babyDIB] +peggy_denom = inj1tquat4mh95g33q5rhg5c72yh6j6x5w3p6ynuqg +decimals = 18 + +[babyDOJO] +peggy_denom = inj10ny97fhd827s3u4slfwehu7m5swnpnmwzxsc40 +decimals = 6 + +[babyDRAGON] +peggy_denom = inj1lfemyjlce83a7wre4k5kzd8zyytqavran5ckkv +decimals = 18 + +[babyDRUGS] +peggy_denom = inj1nqcrsh0fs60k06mkc2ptxa9l4g9ktu4jct8z2w +decimals = 6 + +[babyDrugs] +peggy_denom = inj1457z9m26aqvga58demjz87uyt6su7hyf65aqvr +decimals = 6 + +[babyGINGER] +peggy_denom = inj1y4dk7ey2vrd4sqems8hnzh2ays8swealvfzdmg +decimals = 6 + +[babyINJUSSY] +peggy_denom = inj10jl28fj7yc2pmj7p08vmaa85nxm4a09kteqng0 +decimals = 18 + +[babyJUNIORES] +peggy_denom = inj1m4k5fcjz86dyz25pgagj50jcydh9llvpw8lxyj +decimals = 18 + +[babyKAGE] +peggy_denom = inj12gh464eqc4su4qd3frxxlyjymf0nhzgzm9a203 +decimals = 6 + +[babyKANGAROO] +peggy_denom = inj12s9a6vnmgyf8vx448cmt2hzmhhfuptw8agn2xs +decimals = 6 + +[babyKOALA] +peggy_denom = inj19lm6nrfvam539ahr0c8nuapfh6xzlhjaxv2a39 +decimals = 6 + +[babyMONKS] +peggy_denom = inj17udts7hdggcurc8892tmd7y56w5dkxsgv2v6eu +decimals = 18 + +[babyNINJA] +peggy_denom = inj1n8883sfdp3cufstk05sd8dkp7pcdxr3m2fp24m +decimals = 6 + +[babyNONJA] +peggy_denom = inj15hxdpukklz4c4f3l20rl50h9wqa7rams74gyah +decimals = 18 + +[babyPANDA] +peggy_denom = inj1lpu8rcw04zenfwkxdld2dm2pd70g7yv6hz7dnf +decimals = 18 + +[babyPING] +peggy_denom = inj17fa3gt6lvwj4kguyulkqrc0lcmxcgcqr7xddr0 +decimals = 18 + +[babySAMURAI] +peggy_denom = inj1arnd0xnxzg4qgxn4kupnzsra2a0rzrspwpwmrs +decimals = 6 + +[babySHEROOM] +peggy_denom = inj1cmw4kwqkhwzx6ha7d5e0fu9zj7aknn4mxqqtf0 +decimals = 6 + +[babySHROOM] +peggy_denom = inj14zxwefzz5p3l4mltlzgmfwh2jkgjqum256qhna +decimals = 6 + +[babySMELLY] +peggy_denom = inj16hl3nlwlg2va07y4zh09vzh9xtxy6uwpmy0f5l +decimals = 6 + +[babySPUUN] +peggy_denom = inj1cjvssl698h094n6c2uqdx75degfewey26yt6uw +decimals = 6 + +[babyYAKUZA] +peggy_denom = inj1rep4p2x86avty00qvgcu4vfhywmsznf42jdpzs +decimals = 6 + +[babyYKZ] +peggy_denom = inj16wa97auct633ft6cjzr22xv2pxvym3k38rzskc +decimals = 18 + +[babyYODA] +peggy_denom = factory/inj1qpv9su9nkkka5djeqjtt5puwn6lw90eh0yfy0f/babyYODA +decimals = 6 + +[babyshroomin] +peggy_denom = inj1qgcfkznvtw96h950wraae20em9zmhtcm0rws68 +decimals = 18 + +[bapc] +peggy_denom = inj13j4ymx9kz3cdasg0e00tsc8ruq03j6q8fftcll +decimals = 18 + +[beef] +peggy_denom = factory/inj18xg8yh445ernwxdquklwpngffqv3agfyt5uqqs/beef +decimals = 6 + +[bellboy] +peggy_denom = inj1ywvmwtpe253qhtrnvratjqmhy4aar4yl5an9dk +decimals = 6 + +[bobmarley] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/bobmarley +decimals = 6 + +[bobo] +peggy_denom = factory/inj1ne49gse9uxujj3fjdc0evxez4yeq9k2larmuxu/bobo +decimals = 18 + +[boden] +peggy_denom = factory/inj1c0f9ze9wh2xket0zs6wy59v66alwratsdx648k/boden +decimals = 6 + +[boneWHALEt] +peggy_denom = ibc/F993B2C44A70D8B97B09581F12CF1A68A38DF8BBCFBA9F82016984138C718A57 +decimals = 6 + +[bonja the bad ninja] +peggy_denom = inj155fauc0h355fk5t9qa2x2uzq7vlt26sv0u08fp +decimals = 18 + +[bonkinu] +peggy_denom = factory/inj1936pplnstvecjgttz9eug83x2cs7xs2emdad4z/bonkinu +decimals = 6 + +[bonkmas] +peggy_denom = factory/inj17a0fp4rguzgf9mwz90y2chc3lr445nujdwc063/bonkmas +decimals = 6 + +[bozo] +peggy_denom = inj14r42t23gx9yredm37q3wjw3vx0q6du85vuugdr +decimals = 18 + +[brian] +peggy_denom = factory/inj1pgkwcngxel97d9qjvg75upe8y3lvvzncq5tdr0/brian +decimals = 6 + +[burn] +peggy_denom = inj1p6h58futtvzw5gdjs30fqv4l9ljq8aepk3e0k5 +decimals = 18 + +[cartel] +peggy_denom = ibc/FDD71937DFA4E18BBF16734EB0AD0EFA9F7F1B0F21D13FAF63F0B4F3EA7DEF28 +decimals = 6 + +[cat] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/cat +decimals = 6 + +[cbETH] +peggy_denom = ibc/545E97C6EFB2633645720DEBCA78B2BE6F5382C4693EA7DEB2D4C456371EA4F0 +decimals = 18 + +[ccsl] +peggy_denom = inj1mpande8tekavagemc998amgkqr5yte0qdvaaah +decimals = 18 + +[cdj] +peggy_denom = inj1qwx2gx7ydumz2wt43phzkrqsauqghvct48pplw +decimals = 18 + +[chad] +peggy_denom = factory/inj182lgxnfnztjalxqxcjn7jal27w7xg28aeygwd9/chad +decimals = 6 + +[coke] +peggy_denom = factory/inj1cdlqynzr2ktn54l3azhlulzkyksuw8yj3mfadx/coke +decimals = 6 + +[cook] +peggy_denom = factory/inj1cadquzdmqe04hyjfyag3d9me9vxh9t6py383sy/cook +decimals = 6 + +[cookie] +peggy_denom = factory/inj1cadquzdmqe04hyjfyag3d9me9vxh9t6py383sy/cookie +decimals = 6 + +[crypto] +peggy_denom = inj19w5ntlx023v9rnecjuy7yem7s5lrg5gxlfrxfj +decimals = 18 + +[cw20:terra1nsuqsk6kh58ulczatwev87ttq2z6r3pusulg9r24mfj2fvtzd4uq3exn26] +peggy_denom = ibc/D18907CCF379EEA71AE2C3725A135AE678A67A35B7C6556A77A4E0B3520F7854 +decimals = 0 + +[dINJ] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj134wfjutywny9qnyux2xgdmm0hfj7mwpl39r3r9 +decimals = 18 + +[dYdX] +peggy_denom = peggy0x92D6C1e31e14520e676a687F0a93788B716BEff5 +decimals = 18 + +[dab] +peggy_denom = inj1a93l8989wmjupyq4ftnu06836n2jjn7hjee68d +decimals = 18 + +[dada] +peggy_denom = inj1yqwjse85pqmum5pkyxz9x4aqdz8etwhervtv66 +decimals = 18 + +[dalton] +peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/dalton +decimals = 6 + +[devUSDC] +peggy_denom = inj13mpkggs6t62kzt6pjd6guqfy6naljpp2jd3eue +decimals = 8 + +[dmo] +peggy_denom = inj1z7d2f66wh0r653qp7lqpj6tx3z0yetnjahnsrd +decimals = 18 + +[dmoone] +peggy_denom = inj12qlppehc4fsfduv46gmtgu5n38ngl6annnr4r4 +decimals = 18 + +[dmotree] +peggy_denom = inj15x7u49kw47krzlhrrj9mr5gq20d3797kv3fh3y +decimals = 18 + +[dmotwo] +peggy_denom = inj1tegs6sre80hhvyj204x5pu52e5p3p9pl9vy4ue +decimals = 18 + +[dogwifhat] +peggy_denom = inj1802ascnwzdhvv84url475eyx26ptuc6jc590nl +decimals = 8 + +[dogwifshoess] +peggy_denom = factory/inj10edtfelcttj3s98f755ntfplt0da5xv4z8z0lf/dogwifshoess +decimals = 6 + +[dojo] +peggy_denom = inj1p0ccaveldsv7hq4s53378und5ke9jz24rtsr9z +decimals = 18 + +[dojodoge] +peggy_denom = inj1nueaw6mc7t7703t65f7xamj63zwaew3dqx90sn +decimals = 18 + +[dojodojo] +peggy_denom = inj1ht0qh7csdl3txk6htnalf8qpz26xzuq78x7h87 +decimals = 18 + +[dojoinu] +peggy_denom = inj14hszr5wnhshu4zre6e4l5ae2el9v2420eypu6k +decimals = 18 + +[dojoswap] +peggy_denom = inj1tml6e474rxgc0gc5pd8ljmheqep5wrqrm9m9ks +decimals = 6 + +[done] +peggy_denom = factory/inj12yazr8lq5ptlz2qj9y36v8zwmz90gy9gh35026/done +decimals = 6 + +[dontbuy] +peggy_denom = factory/inj1vg2vj46d3cy54l63qkjprtcnel2svkjhgwkfhy/dontbuy +decimals = 10 + +[dsINJ] +peggy_denom = inj1nfsxxz3q59f0yyqsjjnr7ze020klxyfefy6wcg +decimals = 6 + +[dtwo] +peggy_denom = factory/inj12yazr8lq5ptlz2qj9y36v8zwmz90gy9gh35026/dtwo +decimals = 12 + +[enuk] +peggy_denom = inj1x0km562rxugpvxq8nucy7pdmefguv6xxumng27 +decimals = 18 + +[erc20/0x655ecB57432CC1370f65e5dc2309588b71b473A9] +peggy_denom = ibc/D5AF5FAEA92918A24ACBF0DEB61C674C8951A97D13CFBF7F6617280E82ECB1E6 +decimals = 0 + +[erc20/tether/usdt] +peggy_denom = ibc/9D592A0F3E812505C6B3F7860458B7AC4DBDECACC04A2602FC13ED0AB6C762B6 +decimals = 0 + +[estamina] +peggy_denom = inj1sklu3me2d8e2e0k6eu83t4pzcnleczal7d2zra +decimals = 18 + +[estate] +peggy_denom = inj16mx8h5updpwkslymehlm0wq84sckaytru0apvx +decimals = 18 + +[ezETH] +peggy_denom = peggy0xbf5495Efe5DB9ce00f80364C8B423567e58d2110 +decimals = 18 + +[fUSDT] +peggy_denom = peggy0x81994b9607e06ab3d5cF3AffF9a67374f05F27d7 +decimals = 8 + +[factory/chihuahua1x4q2vkrz4dfgd9hcw0p5m2f2nuv2uqmt9xr8k2/achihuahuawifhat] +peggy_denom = ibc/F8AB96FFB2BF8F69AA42481D43B24E9121FF7403A4E95673D9135128CA769577 +decimals = 0 + +[factory/inj102jhts2dfqh80nygmzx8hzxl9nm282vnstf5w6/position] +peggy_denom = factory/inj102jhts2dfqh80nygmzx8hzxl9nm282vnstf5w6/position +decimals = 0 + +[factory/inj1043hsv3ug5z9updx32a0a3rae87w6fzlzhcjm4/INJ] +peggy_denom = factory/inj1043hsv3ug5z9updx32a0a3rae87w6fzlzhcjm4/INJ +decimals = 6 + +[factory/inj106etgay573e32ksysc9dpdrynxhk7kkmaclhfc/stark] +peggy_denom = ibc/81B0CF8BB06F95247E3680844D0CB3889ACB2662B3AE2458C2370985BF4BD00B +decimals = 0 + +[factory/inj107grqcr0ugrx8jt8rdyru2ywmfngz5lrermw8q/INJ] +peggy_denom = factory/inj107grqcr0ugrx8jt8rdyru2ywmfngz5lrermw8q/INJ +decimals = 6 + +[factory/inj107zjs4j5p92pl78kwfulh8ea7nqhlq8fj6s6fr/INJ] +peggy_denom = factory/inj107zjs4j5p92pl78kwfulh8ea7nqhlq8fj6s6fr/INJ +decimals = 6 + +[factory/inj10cplvlvpnkd9ch5cfw7gn9ed9vhlkzg0y73w8y/INJ] +peggy_denom = factory/inj10cplvlvpnkd9ch5cfw7gn9ed9vhlkzg0y73w8y/INJ +decimals = 6 + +[factory/inj10pz3xq7zf8xudqxaqealgyrnfk66u3c99ud5m2/ROAR] +peggy_denom = factory/inj10pz3xq7zf8xudqxaqealgyrnfk66u3c99ud5m2/ROAR +decimals = 0 + +[factory/inj10t3rc9u6hpvwm3kq8fx648z5elv2use4mtc8cv/INJ] +peggy_denom = factory/inj10t3rc9u6hpvwm3kq8fx648z5elv2use4mtc8cv/INJ +decimals = 6 + +[factory/inj10w0glw8d30weulv3pu6r7mx6vmflxyck27fqkd/INJ] +peggy_denom = factory/inj10w0glw8d30weulv3pu6r7mx6vmflxyck27fqkd/INJ +decimals = 6 + +[factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/EA] +peggy_denom = factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/EA +decimals = 0 + +[factory/inj1255swku4m04m533wmkmtmvhnh77zrk83dqgwfr/position] +peggy_denom = factory/inj1255swku4m04m533wmkmtmvhnh77zrk83dqgwfr/position +decimals = 0 + +[factory/inj125anxwhzcsqksvthce0xhktqhn4x406vfgxasx/INJ] +peggy_denom = factory/inj125anxwhzcsqksvthce0xhktqhn4x406vfgxasx/INJ +decimals = 6 + +[factory/inj12dgml8gwd2v88yn0kfcs6mtkmvlu32llekfzzv/position] +peggy_denom = factory/inj12dgml8gwd2v88yn0kfcs6mtkmvlu32llekfzzv/position +decimals = 0 + +[factory/inj12vhmdjtvyxzr0vmg5znxvhw7dsakjuj7adz5a4/INJ] +peggy_denom = factory/inj12vhmdjtvyxzr0vmg5znxvhw7dsakjuj7adz5a4/INJ +decimals = 6 + +[factory/inj12wkmu2y4vp0hg69k36pkve6rgczwga0yzff7ha/position] +peggy_denom = factory/inj12wkmu2y4vp0hg69k36pkve6rgczwga0yzff7ha/position +decimals = 0 + +[factory/inj12ytu4vvxmsclxuqm9w0g2jazllvztlvdxjdvvg/INJ] +peggy_denom = factory/inj12ytu4vvxmsclxuqm9w0g2jazllvztlvdxjdvvg/INJ +decimals = 6 + +[factory/inj133np9gr58athpjgv3d9cuzmaed84gnm95sp97h/LowQ] +peggy_denom = factory/inj133np9gr58athpjgv3d9cuzmaed84gnm95sp97h/LowQ +decimals = 6 + +[factory/inj138fs6ctxd0vwsn7xmw0v29a2jxe3s7uhgn405w/position] +peggy_denom = factory/inj138fs6ctxd0vwsn7xmw0v29a2jxe3s7uhgn405w/position +decimals = 0 + +[factory/inj13jjz8nlt7wjpt5m2semml2ytdjkfrltnjtphsv/position] +peggy_denom = factory/inj13jjz8nlt7wjpt5m2semml2ytdjkfrltnjtphsv/position +decimals = 0 + +[factory/inj13qr6jk3y20ulaj3mvjzn2rnxx9y8d8nl7ahxpg/position] +peggy_denom = factory/inj13qr6jk3y20ulaj3mvjzn2rnxx9y8d8nl7ahxpg/position +decimals = 0 + +[factory/inj13xdqhnegnj37fna95nyjtj68cyk4exut9mp9am/position] +peggy_denom = factory/inj13xdqhnegnj37fna95nyjtj68cyk4exut9mp9am/position +decimals = 0 + +[factory/inj13xwndajdxqz2jjg05caycedjdj099vy2mzdha2/INJ] +peggy_denom = factory/inj13xwndajdxqz2jjg05caycedjdj099vy2mzdha2/INJ +decimals = 6 + +[factory/inj140z6rk5x40rn842c648yvgl9zp7q206gyvj3w4/INJ] +peggy_denom = factory/inj140z6rk5x40rn842c648yvgl9zp7q206gyvj3w4/INJ +decimals = 6 + +[factory/inj144javr53kzz7qedyynwrpa83tnykw9lrzzxsr9/position] +peggy_denom = factory/inj144javr53kzz7qedyynwrpa83tnykw9lrzzxsr9/position +decimals = 0 + +[factory/inj1499ez5npathr0zkphz2yq6npdfc6xvg3d4zynj/ISILLY] +peggy_denom = factory/inj1499ez5npathr0zkphz2yq6npdfc6xvg3d4zynj/ISILLY +decimals = 6 + +[factory/inj14czx0fv80fnkfxtj9zn9wg7thdca8ynlu6vrg8/INJ] +peggy_denom = factory/inj14czx0fv80fnkfxtj9zn9wg7thdca8ynlu6vrg8/INJ +decimals = 6 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj100cpphf3gjq4xwzaun8dm22h6zk6tjlzl57uhe] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj100cpphf3gjq4xwzaun8dm22h6zk6tjlzl57uhe +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj109hqm6wdaq2f6nlvrf46f4gj7rwl55nmhmcslp] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj109hqm6wdaq2f6nlvrf46f4gj7rwl55nmhmcslp +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10dctm5qkm722pgazwq0wy9lxnzh8mlnnv9mr65] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10dctm5qkm722pgazwq0wy9lxnzh8mlnnv9mr65 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10hyl7t5zxrs83thk33yk90lue34lttf9wuccf8] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10hyl7t5zxrs83thk33yk90lue34lttf9wuccf8 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10nfzrxq5jl9v3ymyuna49jhhxe3x4yd2sxxs8p] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10nfzrxq5jl9v3ymyuna49jhhxe3x4yd2sxxs8p +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10x6rq57rhc7ekce0jgzcjl3ywplcjh66ufqanv] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10x6rq57rhc7ekce0jgzcjl3ywplcjh66ufqanv +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj12sl2vnrja04juaan5rt3pn4h3lwa6d9348yh6h] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj12sl2vnrja04juaan5rt3pn4h3lwa6d9348yh6h +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13844sjp45gta5hshs0avptawnptz23gfdjy8eg] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13844sjp45gta5hshs0avptawnptz23gfdjy8eg +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13j6rdjsakqt6ymv48ytfkr563k7h9mc9h9lh5s] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13j6rdjsakqt6ymv48ytfkr563k7h9mc9h9lh5s +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13qqk8lgn6x68r34c9w938vxwmxm5pl72kzjufq] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13qqk8lgn6x68r34c9w938vxwmxm5pl72kzjufq +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13tqf9a4tssf8gsqejecp90a03nvfpa2h29sc6y] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13tqf9a4tssf8gsqejecp90a03nvfpa2h29sc6y +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13w3fqm6zn068slf6mh4jvf7lxva4qdchrlws9u] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13w3fqm6zn068slf6mh4jvf7lxva4qdchrlws9u +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj147ymh390v733ty3l0t7yv0w3vllnky5vr78xeh] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj147ymh390v733ty3l0t7yv0w3vllnky5vr78xeh +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1494q6d3un6rpew6znydq0a0l5edw80gptj3p27] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1494q6d3un6rpew6znydq0a0l5edw80gptj3p27 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14fjgyt69ayhlz9gtgrutqdqyaf50wfxs7xx89e] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14fjgyt69ayhlz9gtgrutqdqyaf50wfxs7xx89e +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14n26cr7dj79smrgg44hfylhph9y45h4yx5gvzm] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14n26cr7dj79smrgg44hfylhph9y45h4yx5gvzm +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14r3dv360jptv4wugpcca4h5ychltfn8j738l6k] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14r3dv360jptv4wugpcca4h5ychltfn8j738l6k +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14txwtn7rkt999kek39qlxwcm2fwfqzpfyrxcvq] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14txwtn7rkt999kek39qlxwcm2fwfqzpfyrxcvq +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1557zqvn2lwg3lvl3cfk3kurd6d2gq9klypg83g] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1557zqvn2lwg3lvl3cfk3kurd6d2gq9klypg83g +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj15f3xcpv3m9wgycmgc62gn3av9k7a9lydnkcrdr] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj15f3xcpv3m9wgycmgc62gn3av9k7a9lydnkcrdr +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj15hgev8qm20mhttw6xrjts37puqm068dfupj5m2] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj15hgev8qm20mhttw6xrjts37puqm068dfupj5m2 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj15xk5d4d3we8z9s9avcqfns2xsrqq9u5mgaw6q6] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj15xk5d4d3we8z9s9avcqfns2xsrqq9u5mgaw6q6 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1623vfn9glj9wtd34yv3ck5z3adp673ad2ssuh2] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1623vfn9glj9wtd34yv3ck5z3adp673ad2ssuh2 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj164j450vfh7chdsxdqna3925sdqg9xry38fxf4w] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj164j450vfh7chdsxdqna3925sdqg9xry38fxf4w +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj16eggztyy9ul8hfkckwgjvj43naefhazt04ruzl] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj16eggztyy9ul8hfkckwgjvj43naefhazt04ruzl +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj174whv2m9y92vawm0rnte3czu3g4anr56eacqpc] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj174whv2m9y92vawm0rnte3czu3g4anr56eacqpc +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17e3zurs95u5rqp7amj4hz9sk43hu5n6f06n5g8] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17e3zurs95u5rqp7amj4hz9sk43hu5n6f06n5g8 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17g3sn33ld59n2uyevp833u4pwynvfw7chfcxq6] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17g3sn33ld59n2uyevp833u4pwynvfw7chfcxq6 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17gvlu9v8h0kk06aqf66u9zk235824ksknugpqm] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17gvlu9v8h0kk06aqf66u9zk235824ksknugpqm +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17m8xuqntg5sc3m78jzajte5r4my4erwhujq3uh] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17m8xuqntg5sc3m78jzajte5r4my4erwhujq3uh +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17pda96ujt7fzr3d5jmfkh4dzvrqzc0nk56kt34] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17pda96ujt7fzr3d5jmfkh4dzvrqzc0nk56kt34 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj180zwmntk4yw8mp90qzedvgg63lc8g9ju4f79pn] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj180zwmntk4yw8mp90qzedvgg63lc8g9ju4f79pn +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj185gqewrlde8vrqw7j8lpad67v8jfrx9u28w38t] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj185gqewrlde8vrqw7j8lpad67v8jfrx9u28w38t +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj188yjwj0gpnd39ysgas0f95pngdacwma2jmm8ne] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj188yjwj0gpnd39ysgas0f95pngdacwma2jmm8ne +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18cd8sht8pksj07z8k36rwytn6gyg3kku8x6xgq] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18cd8sht8pksj07z8k36rwytn6gyg3kku8x6xgq +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18dc3m7xtxa6wx0auycyfrq239atvzwe9g2s0nt] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18dc3m7xtxa6wx0auycyfrq239atvzwe9g2s0nt +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18ms5jl7dtdjzsj0gwceqnc46apdfym7xpjqyes] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18ms5jl7dtdjzsj0gwceqnc46apdfym7xpjqyes +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18x46txl47l8gtcrl05a7xynhjx6w0xgtmnng7s] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18x46txl47l8gtcrl05a7xynhjx6w0xgtmnng7s +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj19f6ww9peaa3tjhjynjcsxms9v4mcpqrpdxz76l] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj19f6ww9peaa3tjhjynjcsxms9v4mcpqrpdxz76l +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj19t6urf7j7t85xa8yf5h85323j5zmvpg030dr6w] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj19t6urf7j7t85xa8yf5h85323j5zmvpg030dr6w +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a36gng2z5p7m3ecx528zx09eclg5hsmnhrjaun] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a36gng2z5p7m3ecx528zx09eclg5hsmnhrjaun +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a52nehymq2m779j7zy6ra4eus70y6dnahfs4a5] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a52nehymq2m779j7zy6ra4eus70y6dnahfs4a5 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a7wd7ks949wxzcw69n6md60c0qhykk93w0r8g6] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a7wd7ks949wxzcw69n6md60c0qhykk93w0r8g6 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a8mlar2l3r25uaxdgk0zxyapq7h0435264h8jk] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a8mlar2l3r25uaxdgk0zxyapq7h0435264h8jk +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1c43k77927yryd8wkzupnppen83alqkm5myt6we] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1c43k77927yryd8wkzupnppen83alqkm5myt6we +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ceq66p5aahn6txg5fvyg4mhy2vfq00cuk75y9r] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ceq66p5aahn6txg5fvyg4mhy2vfq00cuk75y9r +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ch7unkwz0v99ynz98v5p0xae4gg0yxnjw6meg7] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ch7unkwz0v99ynz98v5p0xae4gg0yxnjw6meg7 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1clr2v2jwx8umtd4t3ent5la6q2ngsureenjqtg] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1clr2v2jwx8umtd4t3ent5la6q2ngsureenjqtg +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ctr4vujpjvmqxxkqym9zgm76p4uf0hyklvdp25] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ctr4vujpjvmqxxkqym9zgm76p4uf0hyklvdp25 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1cv6d835mxs5wsahaf6dp6pqs4h453s3lpk5wxd] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1cv6d835mxs5wsahaf6dp6pqs4h453s3lpk5wxd +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d3rkrv8f4xm4zv5rcdkydy36xzdksq94ewy5md] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d3rkrv8f4xm4zv5rcdkydy36xzdksq94ewy5md +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d4vlrslnwxn3zpq64e8z7ap04c5svu5s83f2k5] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d4vlrslnwxn3zpq64e8z7ap04c5svu5s83f2k5 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d62ry5fwsafggxu67fwhavpu3954vf5n8e5pmt] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d62ry5fwsafggxu67fwhavpu3954vf5n8e5pmt +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1dsd2d4ac60gs2sc34nmwu6x9q2h5cvdr0vz4du] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1dsd2d4ac60gs2sc34nmwu6x9q2h5cvdr0vz4du +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1dtpqn48watxrezj6gg630x0xzxw4jm70mqxgpt] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1dtpqn48watxrezj6gg630x0xzxw4jm70mqxgpt +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1e4r4gcx3z4f2cey2wyy27zcnr8tvjs0zrdvtvs] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1e4r4gcx3z4f2cey2wyy27zcnr8tvjs0zrdvtvs +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1e7zmlmkexknfseutx2anr0mhkry8mwg000xm0r] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1e7zmlmkexknfseutx2anr0mhkry8mwg000xm0r +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1elhv36r9nkw0praytqqgjpxgyd8lte7r4msp5y] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1elhv36r9nkw0praytqqgjpxgyd8lte7r4msp5y +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1esca7pkwcptl7xcwfntnye9lgmqj7exnh4waqw] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1esca7pkwcptl7xcwfntnye9lgmqj7exnh4waqw +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ete5curf5mjtznmtzu5xxyrvyxclgsscxd9qk9] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ete5curf5mjtznmtzu5xxyrvyxclgsscxd9qk9 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1eux0764t05hmmyfksjmwhahq9kh3yq4stcg0rs] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1eux0764t05hmmyfksjmwhahq9kh3yq4stcg0rs +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1f8nq8vvlhms85ywsnp9vnkua3jszqjfd6ts4qq] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1f8nq8vvlhms85ywsnp9vnkua3jszqjfd6ts4qq +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1fz2tp874h856zuhtujjz3a65c0x6fh742lwdv9] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1fz2tp874h856zuhtujjz3a65c0x6fh742lwdv9 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1gzcx85m49u6y8a9dwx6eddfw8d9r4xtzzna83y] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1gzcx85m49u6y8a9dwx6eddfw8d9r4xtzzna83y +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1h5f6vxsn5hpln75c4mfmntza9m7maj6s396u4w] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1h5f6vxsn5hpln75c4mfmntza9m7maj6s396u4w +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hawmarr2vaswduu09xvkcqjqm79d5zp8zku95r] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hawmarr2vaswduu09xvkcqjqm79d5zp8zku95r +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hqp8mnaa0m9zj77y9qqrv33v3k8w2jx3xjahm2] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hqp8mnaa0m9zj77y9qqrv33v3k8w2jx3xjahm2 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hxq5q8h7d8up6j4jcmxje42zpkzr409j6ay4wu] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hxq5q8h7d8up6j4jcmxje42zpkzr409j6ay4wu +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hza9v3f32kt8vjx24twpj46c5gx52uhylj5qzm] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hza9v3f32kt8vjx24twpj46c5gx52uhylj5qzm +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1j62tv3rr6ypyfft09q2uvgnplvdy5h7knas83w] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1j62tv3rr6ypyfft09q2uvgnplvdy5h7knas83w +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1jm4q2da9xutly7uslzce3ftgjr0xunvj6ek5ve] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1jm4q2da9xutly7uslzce3ftgjr0xunvj6ek5ve +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1kvlz7j3meau8uy5upr95p2kn0j275jck9vjh4j] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1kvlz7j3meau8uy5upr95p2kn0j275jck9vjh4j +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ln2tayrlh0vl73cdzxryhkuuppkycxpna5jm87] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ln2tayrlh0vl73cdzxryhkuuppkycxpna5jm87 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ln9zmpv8nruce89hrf6z0m5t8t93jswyrw89r9] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ln9zmpv8nruce89hrf6z0m5t8t93jswyrw89r9 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1lp0lcf67tk4y8ccnmmggpj8c8wf3gkhtt439r8] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1lp0lcf67tk4y8ccnmmggpj8c8wf3gkhtt439r8 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1lpctts3ah545m8q0pnd696kwthdzgaxur70cm0] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1lpctts3ah545m8q0pnd696kwthdzgaxur70cm0 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1lt4tg3zxula8kgg4q73s02mqdnjnyu2mal4fv9] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1lt4tg3zxula8kgg4q73s02mqdnjnyu2mal4fv9 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1m5czravjfjjmf6l0qujkvxtue373e4cff07d4n] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1m5czravjfjjmf6l0qujkvxtue373e4cff07d4n +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1m9chxsuw52eydkah423ue2e6w8pyj89zxlla6m] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1m9chxsuw52eydkah423ue2e6w8pyj89zxlla6m +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mgypkdu4esseefz7dgahuduft33a3any5lrx8a] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mgypkdu4esseefz7dgahuduft33a3any5lrx8a +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ms0ycmqsqnnd8zztvzrq0jts0cudfujjmzesw2] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ms0ycmqsqnnd8zztvzrq0jts0cudfujjmzesw2 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mve80zt9gyetq9e2qsjdz579qc9nnpxprkuqjt] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mve80zt9gyetq9e2qsjdz579qc9nnpxprkuqjt +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mw99k3jrxhzhktphtr55e9fhp2rncc2elh75js] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mw99k3jrxhzhktphtr55e9fhp2rncc2elh75js +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1n0cq8p8zd36ecq2tljtsg0uqkpxn830n5mk38j] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1n0cq8p8zd36ecq2tljtsg0uqkpxn830n5mk38j +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1nemphsdeqekqr7j8ve8gz8jcz4z2lurzty9dw3] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1nemphsdeqekqr7j8ve8gz8jcz4z2lurzty9dw3 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1nkj7k722lduxvhs376qkl9lhjw0le0pwux57wp] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1nkj7k722lduxvhs376qkl9lhjw0le0pwux57wp +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1np2ylwgqgyzwppx4k2lr8rkqq5vs8v5y84ghwp] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1np2ylwgqgyzwppx4k2lr8rkqq5vs8v5y84ghwp +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1nssppa309t2pty5agwrmrjqx9md9764ntesce6] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1nssppa309t2pty5agwrmrjqx9md9764ntesce6 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1pljwjmkngg7atyxwm8mpwwdayyqk0pfjz8d4j0] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1pljwjmkngg7atyxwm8mpwwdayyqk0pfjz8d4j0 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ps7s09q5mldj3wghtcvpsflt0uvc9c0wllqvm0] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ps7s09q5mldj3wghtcvpsflt0uvc9c0wllqvm0 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1pwqllsz0d7377v6gvx5vd3df9xurekpyrsscln] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1pwqllsz0d7377v6gvx5vd3df9xurekpyrsscln +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q37t59kug9hhjvht20uc8kheva0tfdjak4yys8] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q37t59kug9hhjvht20uc8kheva0tfdjak4yys8 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q62knrccf8n2386jzzv2plr6rat2lfvx95muqv] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q62knrccf8n2386jzzv2plr6rat2lfvx95muqv +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1qg8x9eec40aqjzezku7r2dpz0sz3962ljsk8ga] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1qg8x9eec40aqjzezku7r2dpz0sz3962ljsk8ga +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1qu0zyksruugw9az7e0m7wf9lmatacf5d2uznqw] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1qu0zyksruugw9az7e0m7wf9lmatacf5d2uznqw +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rl004yqz80hdkn5ctnqfxngv24cs2yc39zqaxt] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rl004yqz80hdkn5ctnqfxngv24cs2yc39zqaxt +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rm88t0crsdfkjpgs9k6tzupzf9qsv2az8u06a7] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rm88t0crsdfkjpgs9k6tzupzf9qsv2az8u06a7 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rn0hfpfcj09uq7r6l7tx2fhdwsufptv340w904] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rn0hfpfcj09uq7r6l7tx2fhdwsufptv340w904 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rnraxu54huv7wkmpff3v8mzhqh49g0e6fj67sd] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rnraxu54huv7wkmpff3v8mzhqh49g0e6fj67sd +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rx2yfurr3zh4nzv5gazh899dyc2v4lhx2fex3r] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rx2yfurr3zh4nzv5gazh899dyc2v4lhx2fex3r +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ry55p3hcfwqd0r4d6hkd2hgldfamf63ehkem8a] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ry55p3hcfwqd0r4d6hkd2hgldfamf63ehkem8a +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1s2rs23gg0mw6jr7s3rjhwsrssnnhn8vck24n2r] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1s2rs23gg0mw6jr7s3rjhwsrssnnhn8vck24n2r +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1s66zhks8v3fm24974crzxufh7w6ktt694g9t3j] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1s66zhks8v3fm24974crzxufh7w6ktt694g9t3j +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sn40ldl8ud3dalqk39mxp7t4unqaadnt9cg9a4] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sn40ldl8ud3dalqk39mxp7t4unqaadnt9cg9a4 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sqc9jap0yye84dx5uyqyvepg83p7hvqke5sjvk] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sqc9jap0yye84dx5uyqyvepg83p7hvqke5sjvk +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sthrn5ep8ls5vzz8f9gp89khhmedahhdkqa8z3] +peggy_denom = ibc/884A8507A762D0F1DE350C4E640ECA6EDD6F25617F39AD57BC6F5B7EC8DF7181 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ta03vxka8mpgem44xvhewekg89wxel8leyvugw] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ta03vxka8mpgem44xvhewekg89wxel8leyvugw +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ufx78kwvwpds77hxrmxkedsp6yhvflk5lz2a58] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ufx78kwvwpds77hxrmxkedsp6yhvflk5lz2a58 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1uhukgtdm0xyq35w34rxh73g3yhffxw4qg568sx] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1uhukgtdm0xyq35w34rxh73g3yhffxw4qg568sx +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1uq30shptkerand4zl6xr8ga2jt0mu0c6npak0a] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1uq30shptkerand4zl6xr8ga2jt0mu0c6npak0a +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1uu9dsss65z2dt6cz9avr2tk6wrdjxxe0cxh4d5] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1uu9dsss65z2dt6cz9avr2tk6wrdjxxe0cxh4d5 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1v0dxtj5ku80w4h96jc0scyxlnk3j869dj2nnay] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1v0dxtj5ku80w4h96jc0scyxlnk3j869dj2nnay +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1v3z2nx0k9fjv83ktx4dtsau82ff2c68gxfqah9] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1v3z2nx0k9fjv83ktx4dtsau82ff2c68gxfqah9 +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1vd8qv39y8ay7x0ldlhhnfcjc0k6ya69fvp2vzw] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1vd8qv39y8ay7x0ldlhhnfcjc0k6ya69fvp2vzw +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1vy9xhn2gmswm7xyt39wnnd8pz4w6e93zjzurdu] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1vy9xhn2gmswm7xyt39wnnd8pz4w6e93zjzurdu +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1w9z5t04v2jl6r85s8e0984f4v2drdpq8fnl6hs] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1w9z5t04v2jl6r85s8e0984f4v2drdpq8fnl6hs +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1wea6emsvgrxnsg07wsf9kx5djn2r4fyqzsxcja] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1wea6emsvgrxnsg07wsf9kx5djn2r4fyqzsxcja +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1wyd57qlwdhfj4sepl4y2eedsn077gzgg95cgwh] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1wyd57qlwdhfj4sepl4y2eedsn077gzgg95cgwh +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1x9uecns088t3dw2map7q235nzvyfhtzqkgneux] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1x9uecns088t3dw2map7q235nzvyfhtzqkgneux +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1xjvf8nzcx5uvjnmey6x7vx4xe08k95k7gx0fyl] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1xjvf8nzcx5uvjnmey6x7vx4xe08k95k7gx0fyl +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1yzjcwy4m2qyn3kvspgsxhdltxz5kw34n8x80xx] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1yzjcwy4m2qyn3kvspgsxhdltxz5kw34n8x80xx +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1yzm2tg8mv3ajgw4z4vnjynpanjqvezywcgjkzf] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1yzm2tg8mv3ajgw4z4vnjynpanjqvezywcgjkzf +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1zcssxvw4x9zdqww2atu7at0n5ss2lv8gg8u6ul] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1zcssxvw4x9zdqww2atu7at0n5ss2lv8gg8u6ul +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1zejzp0ne0hh7c0wupuspkcqwajlw6kww3r86jl] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1zejzp0ne0hh7c0wupuspkcqwajlw6kww3r86jl +decimals = 0 + +[factory/inj14fx6k6an38hmqz58nxzggxycmy7mpy9ju7mqxq/INJ] +peggy_denom = factory/inj14fx6k6an38hmqz58nxzggxycmy7mpy9ju7mqxq/INJ +decimals = 6 + +[factory/inj14r67lv9phdjs94x6zsd446ptw04cmkq2j4t6wm/position] +peggy_denom = factory/inj14r67lv9phdjs94x6zsd446ptw04cmkq2j4t6wm/position +decimals = 0 + +[factory/inj1532ekcsx3mqtmxx0s5uc32my0et9vazdkkfcna/INJ] +peggy_denom = factory/inj1532ekcsx3mqtmxx0s5uc32my0et9vazdkkfcna/INJ +decimals = 6 + +[factory/inj15446d66cyfqh97hp0x3n749mvq4kx0lnfvuwt5/INJ] +peggy_denom = factory/inj15446d66cyfqh97hp0x3n749mvq4kx0lnfvuwt5/INJ +decimals = 6 + +[factory/inj157g6qg542h735ww6kzk5jf7s2ayscgtcg7mvv3/position] +peggy_denom = factory/inj157g6qg542h735ww6kzk5jf7s2ayscgtcg7mvv3/position +decimals = 0 + +[factory/inj157l55k7pt6wlkmvs95kx96m2y30tgvxuld6zfc/INJ] +peggy_denom = factory/inj157l55k7pt6wlkmvs95kx96m2y30tgvxuld6zfc/INJ +decimals = 6 + +[factory/inj158xvl6jgd6cgdetnxu4rus4vcv50u3q06wryjl/INJ] +peggy_denom = factory/inj158xvl6jgd6cgdetnxu4rus4vcv50u3q06wryjl/INJ +decimals = 6 + +[factory/inj1598f9vtwc3furg3dnat9lnjw5eflcyuazv2c3m/position] +peggy_denom = factory/inj1598f9vtwc3furg3dnat9lnjw5eflcyuazv2c3m/position +decimals = 0 + +[factory/inj15rddsgzhts4lyuk4a92aq7g4wemgf7r3u6w80p/INJ] +peggy_denom = factory/inj15rddsgzhts4lyuk4a92aq7g4wemgf7r3u6w80p/INJ +decimals = 6 + +[factory/inj15sqzlm42xks73nxez8tw8k6tp9xln7gfth2sv6/position] +peggy_denom = factory/inj15sqzlm42xks73nxez8tw8k6tp9xln7gfth2sv6/position +decimals = 0 + +[factory/inj15xxgscstfpaztar2hjluzphvq4m8jffjym8svh/lpinj1alqcad69f6y4zepfu3k8cx0ysynjemju4auc42] +peggy_denom = factory/inj15xxgscstfpaztar2hjluzphvq4m8jffjym8svh/lpinj1alqcad69f6y4zepfu3k8cx0ysynjemju4auc42 +decimals = 0 + +[factory/inj164shttz4dv6ec8m44gulucpej3pgl7tjqhdvyk/position] +peggy_denom = factory/inj164shttz4dv6ec8m44gulucpej3pgl7tjqhdvyk/position +decimals = 0 + +[factory/inj16936rlm3gm2z7gd8t677t926qz93hqy07qhh3z/position] +peggy_denom = factory/inj16936rlm3gm2z7gd8t677t926qz93hqy07qhh3z/position +decimals = 0 + +[factory/inj169rj69y0td97a0gvz3jthr63ml79h0ez2sc0rm/position] +peggy_denom = factory/inj169rj69y0td97a0gvz3jthr63ml79h0ez2sc0rm/position +decimals = 0 + +[factory/inj16hsmv4grd5ru3axtvgc8c0dygc0skpfct837dv/position] +peggy_denom = factory/inj16hsmv4grd5ru3axtvgc8c0dygc0skpfct837dv/position +decimals = 0 + +[factory/inj16tth6zcljja520fetw9u7plyza5e6sj0rta6ua/inj18luqttqyckgpddndh8hvaq25d5nfwjc78m56lc] +peggy_denom = factory/inj16tth6zcljja520fetw9u7plyza5e6sj0rta6ua/inj18luqttqyckgpddndh8hvaq25d5nfwjc78m56lc +decimals = 0 + +[factory/inj16xkr5efuae9ur5tftr5epxtse43falevltugdt/TEST] +peggy_denom = factory/inj16xkr5efuae9ur5tftr5epxtse43falevltugdt/TEST +decimals = 6 + +[factory/inj16zm5htn50fm4veztrazn2a6yjp2kjwnvthq8r8/PEPE] +peggy_denom = factory/inj16zm5htn50fm4veztrazn2a6yjp2kjwnvthq8r8/PEPE +decimals = 6 + +[factory/inj16zquths3dwk0varlj32ur9skutl640umvllxeu/position] +peggy_denom = factory/inj16zquths3dwk0varlj32ur9skutl640umvllxeu/position +decimals = 0 + +[factory/inj17g9jsj37jt0w77x4gfmt6rxf0r2zr307kky875/INJ] +peggy_denom = factory/inj17g9jsj37jt0w77x4gfmt6rxf0r2zr307kky875/INJ +decimals = 6 + +[factory/inj17kqcwkgdayv585dr7mljclechqzymgfsqc8x9k/THUG] +peggy_denom = factory/inj17kqcwkgdayv585dr7mljclechqzymgfsqc8x9k/THUG +decimals = 6 + +[factory/inj17pn6nwvk33404flhglujj4n5y3p2esy5x0cfhm/SPUUN] +peggy_denom = factory/inj17pn6nwvk33404flhglujj4n5y3p2esy5x0cfhm/SPUUN +decimals = 6 + +[factory/inj17vgy7dxx5j0a3xag8hg53e74ztjs50qrycj2pn/INJ] +peggy_denom = factory/inj17vgy7dxx5j0a3xag8hg53e74ztjs50qrycj2pn/INJ +decimals = 6 + +[factory/inj18c9gq53gs52rmj6nevfg48v3xx222stnxgwpku/position] +peggy_denom = factory/inj18c9gq53gs52rmj6nevfg48v3xx222stnxgwpku/position +decimals = 0 + +[factory/inj18prwk9vqw82x86lx9d8kmymmzl9vzuznzye3l0/INJ] +peggy_denom = factory/inj18prwk9vqw82x86lx9d8kmymmzl9vzuznzye3l0/INJ +decimals = 6 + +[factory/inj19fa4pmpnxysawtps7aq7nhh7k2x8wvvqwxv7kl/position] +peggy_denom = factory/inj19fa4pmpnxysawtps7aq7nhh7k2x8wvvqwxv7kl/position +decimals = 0 + +[factory/inj19g8xh8wfaxl7a4z5pr67e908ph68n5zamsagxt/position] +peggy_denom = factory/inj19g8xh8wfaxl7a4z5pr67e908ph68n5zamsagxt/position +decimals = 0 + +[factory/inj19h8ypfpczenmslgvxk73kszedfd9h9ptn2a5ml/position] +peggy_denom = factory/inj19h8ypfpczenmslgvxk73kszedfd9h9ptn2a5ml/position +decimals = 0 + +[factory/inj19jeceymrrcvqty0mapdf7daa47gr33khpwpfnt/position] +peggy_denom = factory/inj19jeceymrrcvqty0mapdf7daa47gr33khpwpfnt/position +decimals = 0 + +[factory/inj19uyuzl6chkdp3ez8aua2marzqwuv3n23ynf2x0/position] +peggy_denom = factory/inj19uyuzl6chkdp3ez8aua2marzqwuv3n23ynf2x0/position +decimals = 0 + +[factory/inj19xq90yxtaar7xlz5jdzvqgkjw285rqzsjvxc2j/position] +peggy_denom = factory/inj19xq90yxtaar7xlz5jdzvqgkjw285rqzsjvxc2j/position +decimals = 0 + +[factory/inj19y42qwvf6s9aq6qqjk09qfe0f4n78e48cqe7w4/INJ] +peggy_denom = factory/inj19y42qwvf6s9aq6qqjk09qfe0f4n78e48cqe7w4/INJ +decimals = 6 + +[factory/inj19yyllwqvapt4hsn7cpcg540qt5c3fekxxhjppg/position] +peggy_denom = factory/inj19yyllwqvapt4hsn7cpcg540qt5c3fekxxhjppg/position +decimals = 0 + +[factory/inj1a3lpj7yf5spw344pfa9gjcgwx3zyx5v9e6cpg2/INJ] +peggy_denom = factory/inj1a3lpj7yf5spw344pfa9gjcgwx3zyx5v9e6cpg2/INJ +decimals = 6 + +[factory/inj1a3m6hv5hmt4lxkw0uqqz7m3m7dgtd2uy4hmenp/position] +peggy_denom = factory/inj1a3m6hv5hmt4lxkw0uqqz7m3m7dgtd2uy4hmenp/position +decimals = 0 + +[factory/inj1a6xdezq7a94qwamec6n6cnup02nvewvjtz6h6e/uabc] +peggy_denom = factory/inj1a6xdezq7a94qwamec6n6cnup02nvewvjtz6h6e/uabc +decimals = 0 + +[factory/inj1acyx78g70fwu2fcjx6dj9yff34gscu0g4tg8vw/INJ] +peggy_denom = factory/inj1acyx78g70fwu2fcjx6dj9yff34gscu0g4tg8vw/INJ +decimals = 6 + +[factory/inj1adam3fc7h0wjlhht0utgyl53rcataw3q70vntr/INJ] +peggy_denom = factory/inj1adam3fc7h0wjlhht0utgyl53rcataw3q70vntr/INJ +decimals = 6 + +[factory/inj1aq5rpkexhycqk54afj630ktmgaqvc468fwk34k/position] +peggy_denom = factory/inj1aq5rpkexhycqk54afj630ktmgaqvc468fwk34k/position +decimals = 0 + +[factory/inj1avm2ruactjhxlrd8cq7ja7vhmtqwpu2lpnnq79/position] +peggy_denom = factory/inj1avm2ruactjhxlrd8cq7ja7vhmtqwpu2lpnnq79/position +decimals = 0 + +[factory/inj1awuqzd4sgmw9pguaftekx87pnl8ylqhvm3n97y/INJ] +peggy_denom = factory/inj1awuqzd4sgmw9pguaftekx87pnl8ylqhvm3n97y/INJ +decimals = 6 + +[factory/inj1c6eq9yp3c3ray4prfyumyv9m5ttkdzxawpg6c0/position] +peggy_denom = factory/inj1c6eq9yp3c3ray4prfyumyv9m5ttkdzxawpg6c0/position +decimals = 0 + +[factory/inj1cjzufvday63thkgqkxnesgav69c5afsm5aws8w/test] +peggy_denom = factory/inj1cjzufvday63thkgqkxnesgav69c5afsm5aws8w/test +decimals = 6 + +[factory/inj1cq5ygzlgh6l2pll2thtx82rhde2v7cpxlqfz93/GME] +peggy_denom = factory/inj1cq5ygzlgh6l2pll2thtx82rhde2v7cpxlqfz93/GME +decimals = 6 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707147655.812049146InjUsdt1d1.08C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707147655.812049146InjUsdt1d1.08C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707151420.026670141InjUsdt1d1.08C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707151420.026670141InjUsdt1d1.08C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707230551.918032637InjUsdt20d1.21C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707230551.918032637InjUsdt20d1.21C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707230884.525553719InjUsdt28d1.16C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707230884.525553719InjUsdt28d1.16C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707231283.066300029InjUsdt20d1.21C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707231283.066300029InjUsdt20d1.21C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707231469.923471325InjUsdt16d0.87P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707231469.923471325InjUsdt16d0.87P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707570015.556318592InjUsdt20d1.21C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707570015.556318592InjUsdt20d1.21C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707570076.365183070InjUsdt28d1.16C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707570076.365183070InjUsdt28d1.16C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707570225.110365254InjUsdt16d0.87P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707570225.110365254InjUsdt16d0.87P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707915798.275383427InjUsdt24d1.22C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707915798.275383427InjUsdt24d1.22C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707915921.506232293InjUsdt30d1.16C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707915921.506232293InjUsdt30d1.16C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707916064.752464733InjUsdt18d0.87P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707916064.752464733InjUsdt18d0.87P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708434382.147236316InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708434382.147236316InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708434608.109548440InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708434608.109548440InjUsdt30d1.12C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708434695.365984945InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708434695.365984945InjUsdt18d0.9P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708952496.551991999InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708952496.551991999InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708952558.556210993InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708952558.556210993InjUsdt18d0.9P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708952714.916449575InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708952714.916449575InjUsdt30d1.12C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709471628.501760810InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709471628.501760810InjUsdt18d0.9P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709471628.501760810InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709471628.501760810InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709471628.501760810InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709471628.501760810InjUsdt30d1.12C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709989206.952525115InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709989206.952525115InjUsdt18d0.9P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709989206.952525115InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709989206.952525115InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709989206.952525115InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709989206.952525115InjUsdt30d1.12C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1710512672.125817391InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1710512672.125817391InjUsdt18d0.9P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1710512672.125817391InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1710512672.125817391InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1710512672.125817391InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1710512672.125817391InjUsdt30d1.12C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711026012.447108856InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711026012.447108856InjUsdt18d0.9P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711026012.447108856InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711026012.447108856InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711026012.447108856InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711026012.447108856InjUsdt30d1.12C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711544412.396311094InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711544412.396311094InjUsdt18d0.9P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711544412.396311094InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711544412.396311094InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711544412.396311094InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711544412.396311094InjUsdt30d1.12C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712063630.920057621InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712063630.920057621InjUsdt18d0.9P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712063630.920057621InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712063630.920057621InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712063630.920057621InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712063630.920057621InjUsdt30d1.12C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712583066.521732861InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712583066.521732861InjUsdt18d0.9P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712583066.521732861InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712583066.521732861InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712583066.521732861InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712583066.521732861InjUsdt30d1.12C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713104421.579085515InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713104421.579085515InjUsdt18d0.9P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713104421.579085515InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713104421.579085515InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713104421.579085515InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713104421.579085515InjUsdt30d1.12C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713342050InjUsdt18d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713342050InjUsdt18d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713356956InjUsdt18d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713356956InjUsdt18d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618016InjUsdt18d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618016InjUsdt18d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618016InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618016InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618016InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618016InjUsdt28d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618060InjUsdt16d0.89P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618060InjUsdt16d0.89P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713974295InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713974295InjUsdt28d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713974528InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713974528InjUsdt16d0.85P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713974528InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713974528InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714309564InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714309564InjUsdt16d0.85P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714309564InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714309564InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714309564InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714309564InjUsdt28d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714658833InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714658833InjUsdt16d0.85P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714658833InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714658833InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714658833InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714658833InjUsdt28d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715000420InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715000420InjUsdt16d0.85P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715000420InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715000420InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715000420InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715000420InjUsdt28d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715346009InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715346009InjUsdt16d0.85P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715346009InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715346009InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715346009InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715346009InjUsdt28d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715691712InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715691712InjUsdt16d0.85P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715691712InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715691712InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715691712InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715691712InjUsdt28d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716037433InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716037433InjUsdt16d0.85P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716037433InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716037433InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716037433InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716037433InjUsdt28d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716385437InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716385437InjUsdt16d0.85P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716385437InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716385437InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716385437InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716385437InjUsdt28d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716728415InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716728415InjUsdt16d0.85P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716728415InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716728415InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716728415InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716728415InjUsdt28d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717074021InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717074021InjUsdt16d0.85P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717074021InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717074021InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717074021InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717074021InjUsdt28d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717419602InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717419602InjUsdt16d0.85P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717419602InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717419602InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717419602InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717419602InjUsdt28d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717769182InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717769182InjUsdt16d0.85P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717769182InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717769182InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717769182InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717769182InjUsdt28d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718110812InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718110812InjUsdt16d0.85P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718110812InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718110812InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718110812InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718110812InjUsdt28d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718456416InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718456416InjUsdt16d0.85P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718456416InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718456416InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718456416InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718456416InjUsdt28d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718802323InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718802323InjUsdt16d0.85P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718802323InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718802323InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718802323InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718802323InjUsdt28d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719147607InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719147607InjUsdt16d0.85P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719147607InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719147607InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719147607InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719147607InjUsdt28d1.13C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719493268InjUsdt16d0.82P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719493268InjUsdt16d0.82P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719493268InjUsdt24d1.25C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719493268InjUsdt24d1.25C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719493268InjUsdt28d1.18C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719493268InjUsdt28d1.18C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719804902InjUsdt16d0.82P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719804902InjUsdt16d0.82P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719804902InjUsdt28d1.18C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719804902InjUsdt28d1.18C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719805152InjUsdt24d1.25C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719805152InjUsdt24d1.25C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720184412InjUsdt16d0.82P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720184412InjUsdt16d0.82P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720184412InjUsdt24d1.25C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720184412InjUsdt24d1.25C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720184412InjUsdt28d1.18C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720184412InjUsdt28d1.18C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720530062InjUsdt16d0.82P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720530062InjUsdt16d0.82P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720530062InjUsdt24d1.25C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720530062InjUsdt24d1.25C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720530062InjUsdt28d1.18C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720530062InjUsdt28d1.18C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720875614InjUsdt16d0.82P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720875614InjUsdt16d0.82P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720875614InjUsdt24d1.25C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720875614InjUsdt24d1.25C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720875614InjUsdt28d1.18C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720875614InjUsdt28d1.18C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721221498InjUsdt16d0.82P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721221498InjUsdt16d0.82P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721221498InjUsdt24d1.25C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721221498InjUsdt24d1.25C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721221498InjUsdt28d1.18C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721221498InjUsdt28d1.18C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721566814InjUsdt16d0.82P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721566814InjUsdt16d0.82P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721566814InjUsdt24d1.25C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721566814InjUsdt24d1.25C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721566814InjUsdt28d1.18C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721566814InjUsdt28d1.18C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721912418InjUsdt16d0.82P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721912418InjUsdt16d0.82P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721912418InjUsdt24d1.25C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721912418InjUsdt24d1.25C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721912418InjUsdt28d1.18C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721912418InjUsdt28d1.18C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1722259395InjUsdt16d0.82P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1722259395InjUsdt16d0.82P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1722259395InjUsdt24d1.25C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1722259395InjUsdt24d1.25C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1722259395InjUsdt28d1.18C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1722259395InjUsdt28d1.18C +decimals = 0 + +[factory/inj1csmzuxsp5vp2ng5cue7wdknudk8m69wlr62rq5/uLP] +peggy_denom = factory/inj1csmzuxsp5vp2ng5cue7wdknudk8m69wlr62rq5/uLP +decimals = 0 + +[factory/inj1cus3dx8lxq2h2y9mzraxagaw8kjjcx6ul5feak/EA] +peggy_denom = factory/inj1cus3dx8lxq2h2y9mzraxagaw8kjjcx6ul5feak/EA +decimals = 0 + +[factory/inj1cuv9fu0p28u60e5rtw7u6pch8zdm840zctlx84/position] +peggy_denom = factory/inj1cuv9fu0p28u60e5rtw7u6pch8zdm840zctlx84/position +decimals = 0 + +[factory/inj1cvhsxdjs64q9l83s7twdhsw3vjx54haqgv2d6k/position] +peggy_denom = factory/inj1cvhsxdjs64q9l83s7twdhsw3vjx54haqgv2d6k/position +decimals = 0 + +[factory/inj1d4zluv70jrx4nl68fp7rqjhpq7egdey2433l96/position] +peggy_denom = factory/inj1d4zluv70jrx4nl68fp7rqjhpq7egdey2433l96/position +decimals = 0 + +[factory/inj1d5fe04g9xa577e2zn82n4m0ksq8wp8vxgvfupw/PINKIE] +peggy_denom = factory/inj1d5fe04g9xa577e2zn82n4m0ksq8wp8vxgvfupw/PINKIE +decimals = 6 + +[factory/inj1d80r2q4lcsajwr494wyswykn46smag0yy8scfv/position] +peggy_denom = factory/inj1d80r2q4lcsajwr494wyswykn46smag0yy8scfv/position +decimals = 0 + +[factory/inj1dg6eay6q34r2eh88u6hghlz5r3y25n2wpp494v/position] +peggy_denom = factory/inj1dg6eay6q34r2eh88u6hghlz5r3y25n2wpp494v/position +decimals = 0 + +[factory/inj1dl8d43lz8ctmtka5d0tta8yj2urmgal7fgqcmh/position] +peggy_denom = factory/inj1dl8d43lz8ctmtka5d0tta8yj2urmgal7fgqcmh/position +decimals = 0 + +[factory/inj1dpyjsuehlrsmr78cddezd488euydtew3vukjmf/INJ] +peggy_denom = factory/inj1dpyjsuehlrsmr78cddezd488euydtew3vukjmf/INJ +decimals = 6 + +[factory/inj1drpns3cxn82e5q0nmmdaz8zxmla5lqsh6txmc9/position] +peggy_denom = factory/inj1drpns3cxn82e5q0nmmdaz8zxmla5lqsh6txmc9/position +decimals = 0 + +[factory/inj1dvr32vqxs8m6tmzv50xnnpzgph0wxp2jcfvl4u/INJ] +peggy_denom = factory/inj1dvr32vqxs8m6tmzv50xnnpzgph0wxp2jcfvl4u/INJ +decimals = 6 + +[factory/inj1dwfggufv8vkjcfkuk7fkkucs4rje0krav9ruyr/presale] +peggy_denom = factory/inj1dwfggufv8vkjcfkuk7fkkucs4rje0krav9ruyr/presale +decimals = 0 + +[factory/inj1dxprjkxz06cpahgqrv90hug9d8z504j52ms07n/test] +peggy_denom = factory/inj1dxprjkxz06cpahgqrv90hug9d8z504j52ms07n/test +decimals = 0 + +[factory/inj1e2pu02vjnh27mte3s0wqld9f85mzglyrxxuuvz/position] +peggy_denom = factory/inj1e2pu02vjnh27mte3s0wqld9f85mzglyrxxuuvz/position +decimals = 0 + +[factory/inj1e60tjgqhfsxutrcvklhgc7gechtq3pcej8gy4e/position] +peggy_denom = factory/inj1e60tjgqhfsxutrcvklhgc7gechtq3pcej8gy4e/position +decimals = 0 + +[factory/inj1e66ekacsxnv60yk006mymnrprged95n6crzzwg/INJ] +peggy_denom = factory/inj1e66ekacsxnv60yk006mymnrprged95n6crzzwg/INJ +decimals = 6 + +[factory/inj1e6wv0fn2cggsgwlmywp9u5pyd0zcx5vth3djrv/position] +peggy_denom = factory/inj1e6wv0fn2cggsgwlmywp9u5pyd0zcx5vth3djrv/position +decimals = 0 + +[factory/inj1e94cdzndq5xr2lx5dsjnz0ts5lm8nc8k9wanax/INJ] +peggy_denom = factory/inj1e94cdzndq5xr2lx5dsjnz0ts5lm8nc8k9wanax/INJ +decimals = 6 + +[factory/inj1ea4p8khg0e4zusfv339cy5h9h3myctfcl74ee6/INJ] +peggy_denom = factory/inj1ea4p8khg0e4zusfv339cy5h9h3myctfcl74ee6/INJ +decimals = 6 + +[factory/inj1egnhxmtnh76p2lgdky8985msrue92ag499ev6w/position] +peggy_denom = factory/inj1egnhxmtnh76p2lgdky8985msrue92ag499ev6w/position +decimals = 0 + +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/GINGER.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/GINGER.ash +decimals = 0 + +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/HACHI.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/HACHI.ash +decimals = 0 + +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/Hava.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/Hava.ash +decimals = 0 + +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/KIRA.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/KIRA.ash +decimals = 0 + +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/SYN.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/SYN.ash +decimals = 0 + +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/Talis.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/Talis.ash +decimals = 0 + +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/autism.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/autism.ash +decimals = 0 + +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/coping.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/coping.ash +decimals = 0 + +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/inj.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/inj.ash +decimals = 0 + +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/katana.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/katana.ash +decimals = 0 + +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/ninja.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/ninja.ash +decimals = 0 + +[factory/inj1ejwjldm2k7k9zcgzvglkht5hhxg50lcnnnud9l/position] +peggy_denom = factory/inj1ejwjldm2k7k9zcgzvglkht5hhxg50lcnnnud9l/position +decimals = 0 + +[factory/inj1ekmnc56xkc3cl7wzrew8q89700vtry5wnjlgqw/INJ] +peggy_denom = factory/inj1ekmnc56xkc3cl7wzrew8q89700vtry5wnjlgqw/INJ +decimals = 6 + +[factory/inj1em0ejkywcq6lnzpgj9wx7z4jx7r9gpcntys04x/INJ] +peggy_denom = factory/inj1em0ejkywcq6lnzpgj9wx7z4jx7r9gpcntys04x/INJ +decimals = 6 + +[factory/inj1ep9yuk86cwdeaytmgsz3hz7qsargsn4sgnlrrs/INJ] +peggy_denom = factory/inj1ep9yuk86cwdeaytmgsz3hz7qsargsn4sgnlrrs/INJ +decimals = 6 + +[factory/inj1evy243kr8kh8prtgwv8vtvtj6m5vcahpt94f28/position] +peggy_denom = factory/inj1evy243kr8kh8prtgwv8vtvtj6m5vcahpt94f28/position +decimals = 0 + +[factory/inj1ezvtzukpf6x7aa4p52sejvyky8lkl6l5j47tym/position] +peggy_denom = factory/inj1ezvtzukpf6x7aa4p52sejvyky8lkl6l5j47tym/position +decimals = 0 + +[factory/inj1f4u2643nw7ennyadqmv428fmhg56jduc90xpgy/position] +peggy_denom = factory/inj1f4u2643nw7ennyadqmv428fmhg56jduc90xpgy/position +decimals = 0 + +[factory/inj1f79dkr20ax43ah3c3velf3ttxjdqe645k5rws3/position] +peggy_denom = factory/inj1f79dkr20ax43ah3c3velf3ttxjdqe645k5rws3/position +decimals = 0 + +[factory/inj1fa8ayqjnzup3af2heatnlyvmr2ljjm5f8x83fn/position] +peggy_denom = factory/inj1fa8ayqjnzup3af2heatnlyvmr2ljjm5f8x83fn/position +decimals = 0 + +[factory/inj1faqh7wcap9h2z007yx63eqvpqlzghdmser5l7u/position] +peggy_denom = factory/inj1faqh7wcap9h2z007yx63eqvpqlzghdmser5l7u/position +decimals = 0 + +[factory/inj1ff64ftrd6plvxurruzh3kthaxk5h050e0s5t95/position] +peggy_denom = factory/inj1ff64ftrd6plvxurruzh3kthaxk5h050e0s5t95/position +decimals = 0 + +[factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/LowQ] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/LowQ +decimals = 6 + +[factory/inj1frr7kyd4nuemr0hrzlqyrgc72sggv7ukc3dfx0/chain-factory] +peggy_denom = factory/inj1frr7kyd4nuemr0hrzlqyrgc72sggv7ukc3dfx0/chain-factory +decimals = 0 + +[factory/inj1frr7kyd4nuemr0hrzlqyrgc72sggv7ukc3dfx0/chainfactory] +peggy_denom = factory/inj1frr7kyd4nuemr0hrzlqyrgc72sggv7ukc3dfx0/chainfactory +decimals = 0 + +[factory/inj1fzej8p0acdplqad876a0mdewejqwuaea9e0rjl/position] +peggy_denom = factory/inj1fzej8p0acdplqad876a0mdewejqwuaea9e0rjl/position +decimals = 0 + +[factory/inj1g3xlmzw6z6wrhxqmxsdwj60fmscenaxlzfnwm7/TBT] +peggy_denom = factory/inj1g3xlmzw6z6wrhxqmxsdwj60fmscenaxlzfnwm7/TBT +decimals = 0 + +[factory/inj1g6j6w6860sfe7um3q6ja60cktfd50a2vxxy7qr/position] +peggy_denom = factory/inj1g6j6w6860sfe7um3q6ja60cktfd50a2vxxy7qr/position +decimals = 0 + +[factory/inj1gk4thnx4t9y4ltnau60mpst5xyu0u57hqfl0qs/uLP] +peggy_denom = factory/inj1gk4thnx4t9y4ltnau60mpst5xyu0u57hqfl0qs/uLP +decimals = 0 + +[factory/inj1gpf6gxs9hyz4jty423pxuns8cduhcuyvcxwxkv/position] +peggy_denom = factory/inj1gpf6gxs9hyz4jty423pxuns8cduhcuyvcxwxkv/position +decimals = 0 + +[factory/inj1gtpdm0dt5zg7p7nf9ftghrgvyt9ftz0w3f7kfk/WIF] +peggy_denom = factory/inj1gtpdm0dt5zg7p7nf9ftghrgvyt9ftz0w3f7kfk/WIF +decimals = 6 + +[factory/inj1gutzdupyjzzk46hrpf6lsf8ul030ty8wszvpta/INJ] +peggy_denom = factory/inj1gutzdupyjzzk46hrpf6lsf8ul030ty8wszvpta/INJ +decimals = 6 + +[factory/inj1h3vcnx6f2r9hxf8mf7s3ck9pu02r3zxes6t50t/INJ] +peggy_denom = factory/inj1h3vcnx6f2r9hxf8mf7s3ck9pu02r3zxes6t50t/INJ +decimals = 6 + +[factory/inj1h4ppr74nmqmftmzd8d54nk439rftyxaxgx42fa/INJ] +peggy_denom = factory/inj1h4ppr74nmqmftmzd8d54nk439rftyxaxgx42fa/INJ +decimals = 6 + +[factory/inj1hkzntx25hpq37dfrms6ymtrch8dskx8t8u0e5r/INJ] +peggy_denom = factory/inj1hkzntx25hpq37dfrms6ymtrch8dskx8t8u0e5r/INJ +decimals = 6 + +[factory/inj1hteau2zqjwn2m62zshrg2v30hvhpwwrkymsaeq/INJ] +peggy_denom = factory/inj1hteau2zqjwn2m62zshrg2v30hvhpwwrkymsaeq/INJ +decimals = 6 + +[factory/inj1j4vj8qzqyyf77ffxnwxwtm4lqvsalzfqg0yk9v/KIMJ] +peggy_denom = factory/inj1j4vj8qzqyyf77ffxnwxwtm4lqvsalzfqg0yk9v/KIMJ +decimals = 6 + +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TESTSP] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TESTSP +decimals = 6 + +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TESTSTAYAWAY] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TESTSTAYAWAY +decimals = 6 + +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TESTTSTAYAWAY] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TESTTSTAYAWAY +decimals = 6 + +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/teeeeeeeeest] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/teeeeeeeeest +decimals = 6 + +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/testinggggggg] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/testinggggggg +decimals = 6 + +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/tstttttttt] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/tstttttttt +decimals = 6 + +[factory/inj1j9sczxqcyhtvt586qywk8hmz3sk4rrk8rypv28/position] +peggy_denom = factory/inj1j9sczxqcyhtvt586qywk8hmz3sk4rrk8rypv28/position +decimals = 0 + +[factory/inj1jcvx3q6rfj7rdw60grjj3rah5uqsk64msnlafc/position] +peggy_denom = factory/inj1jcvx3q6rfj7rdw60grjj3rah5uqsk64msnlafc/position +decimals = 0 + +[factory/inj1jdvx7mpauukwhdlgay0jgxaj393rju42ht9mkn/position] +peggy_denom = factory/inj1jdvx7mpauukwhdlgay0jgxaj393rju42ht9mkn/position +decimals = 0 + +[factory/inj1jknhf2m8f9plqa2g7rm78vdhwr58nlyjfd62ru/BAMBOO] +peggy_denom = factory/inj1jknhf2m8f9plqa2g7rm78vdhwr58nlyjfd62ru/BAMBOO +decimals = 6 + +[factory/inj1jls5kflqlfylyq42n8e5k3t6wn5jnhhlyq3w2r/INJ] +peggy_denom = factory/inj1jls5kflqlfylyq42n8e5k3t6wn5jnhhlyq3w2r/INJ +decimals = 6 + +[factory/inj1jpaxtp8jvepvhc7pqk5xgumz3jghwuh7xrqatw/position] +peggy_denom = factory/inj1jpaxtp8jvepvhc7pqk5xgumz3jghwuh7xrqatw/position +decimals = 0 + +[factory/inj1js4qpjl2f9cpl8s764d0y9jl96ham3g4kkaaqd/position] +peggy_denom = factory/inj1js4qpjl2f9cpl8s764d0y9jl96ham3g4kkaaqd/position +decimals = 0 + +[factory/inj1k9jy245r9749kl008h7nf764wnrnj9kgkmj6vz/position] +peggy_denom = factory/inj1k9jy245r9749kl008h7nf764wnrnj9kgkmj6vz/position +decimals = 0 + +[factory/inj1k9k62nfrsnznd2ekzgmsxr74apglqfa2h6wz9g/INJ] +peggy_denom = factory/inj1k9k62nfrsnznd2ekzgmsxr74apglqfa2h6wz9g/INJ +decimals = 6 + +[factory/inj1k9tqa6al637y8qu9yvmsw3ke6r3knsn8ewv73f/test] +peggy_denom = factory/inj1k9tqa6al637y8qu9yvmsw3ke6r3knsn8ewv73f/test +decimals = 6 + +[factory/inj1k9xr7frkwkjjsd3w9yf8kdxu7wdfqtrkp0a809/position] +peggy_denom = factory/inj1k9xr7frkwkjjsd3w9yf8kdxu7wdfqtrkp0a809/position +decimals = 0 + +[factory/inj1kcda2te0sjxmcvykyr9cfpleyyx283d46nkspv/test] +peggy_denom = factory/inj1kcda2te0sjxmcvykyr9cfpleyyx283d46nkspv/test +decimals = 0 + +[factory/inj1kf7t8qjq83gg6kn7nl5zwzscfystyqzr62ydsn/injx] +peggy_denom = factory/inj1kf7t8qjq83gg6kn7nl5zwzscfystyqzr62ydsn/injx +decimals = 6 + +[factory/inj1khy2c3pzu22c25z2zg3vmzh2fw7eh8yhluzlux/INJ] +peggy_denom = factory/inj1khy2c3pzu22c25z2zg3vmzh2fw7eh8yhluzlux/INJ +decimals = 6 + +[factory/inj1kjpk9s9fm5c7ltgf54m5vz39n70x4quskl9sfu/INJ] +peggy_denom = factory/inj1kjpk9s9fm5c7ltgf54m5vz39n70x4quskl9sfu/INJ +decimals = 6 + +[factory/inj1kk6dnn7pl7e508lj4qvllprwa44qtgf98es2ak/ENA] +peggy_denom = factory/inj1kk6dnn7pl7e508lj4qvllprwa44qtgf98es2ak/ENA +decimals = 18 + +[factory/inj1kkarwsh947c34emv3wju779ys2tt2g76m6kequ/position] +peggy_denom = factory/inj1kkarwsh947c34emv3wju779ys2tt2g76m6kequ/position +decimals = 0 + +[factory/inj1krsf4as63jnytzekzndlv9eflku5nmkavtr3d3/SNAPPY] +peggy_denom = factory/inj1krsf4as63jnytzekzndlv9eflku5nmkavtr3d3/SNAPPY +decimals = 6 + +[factory/inj1kvug5dcjdmkpdrjr088xdh9h4e8wvr04vrplmh/INJ] +peggy_denom = factory/inj1kvug5dcjdmkpdrjr088xdh9h4e8wvr04vrplmh/INJ +decimals = 6 + +[factory/inj1l2r43rx3p79yhspt48qvtd0qvqz4zyf70puxv6/position] +peggy_denom = factory/inj1l2r43rx3p79yhspt48qvtd0qvqz4zyf70puxv6/position +decimals = 0 + +[factory/inj1lcsc97wz2ztyn50vxqz2gcdjnzf53qd3gzvdt2/position] +peggy_denom = factory/inj1lcsc97wz2ztyn50vxqz2gcdjnzf53qd3gzvdt2/position +decimals = 0 + +[factory/inj1lgq2vj9xhptzflqk05fnaf585c2vtv33s76l68/INJ] +peggy_denom = factory/inj1lgq2vj9xhptzflqk05fnaf585c2vtv33s76l68/INJ +decimals = 6 + +[factory/inj1ljdraxlvy4cjdhytpxd7vhw387dq0r0g0fqucd/nbla] +peggy_denom = factory/inj1ljdraxlvy4cjdhytpxd7vhw387dq0r0g0fqucd/nbla +decimals = 0 + +[factory/inj1ljdraxlvy4cjdhytpxd7vhw387dq0r0g0fqucd/point] +peggy_denom = factory/inj1ljdraxlvy4cjdhytpxd7vhw387dq0r0g0fqucd/point +decimals = 0 + +[factory/inj1ljdraxlvy4cjdhytpxd7vhw387dq0r0g0fqucd/zzzza] +peggy_denom = factory/inj1ljdraxlvy4cjdhytpxd7vhw387dq0r0g0fqucd/zzzza +decimals = 0 + +[factory/inj1lnealva69klvt2dxpe0gxzj4a2ea7jqcjar7rq/INJ] +peggy_denom = factory/inj1lnealva69klvt2dxpe0gxzj4a2ea7jqcjar7rq/INJ +decimals = 6 + +[factory/inj1lnvtsm9avzyqs67syzakg0mncq6naldlw6eqek/ELON] +peggy_denom = factory/inj1lnvtsm9avzyqs67syzakg0mncq6naldlw6eqek/ELON +decimals = 6 + +[factory/inj1m3cvaumsw5l9mnhu53g2s7nd8pwqhsgm0r7zc5/position] +peggy_denom = factory/inj1m3cvaumsw5l9mnhu53g2s7nd8pwqhsgm0r7zc5/position +decimals = 0 + +[factory/inj1m9myf06pt3kq3caeksz0ghvzr0xthhxqenu622/NLC] +peggy_denom = factory/inj1m9myf06pt3kq3caeksz0ghvzr0xthhxqenu622/NLC +decimals = 6 + +[factory/inj1me7s2kyfk7ffdwh8qatluy9nj8yvh89kuwr235/INJ] +peggy_denom = factory/inj1me7s2kyfk7ffdwh8qatluy9nj8yvh89kuwr235/INJ +decimals = 6 + +[factory/inj1mfe2m554uffc9lul3q3fxzmzw8k7cuglnxvxjc/INJ] +peggy_denom = factory/inj1mfe2m554uffc9lul3q3fxzmzw8k7cuglnxvxjc/INJ +decimals = 6 + +[factory/inj1mthhttrxpewts2k8vlp276xtsa5te9mt8vws38/position] +peggy_denom = factory/inj1mthhttrxpewts2k8vlp276xtsa5te9mt8vws38/position +decimals = 0 + +[factory/inj1mu6w5fmvrp8kkxpaxxdvkcqfmm7rh79tr9pzr4/position] +peggy_denom = factory/inj1mu6w5fmvrp8kkxpaxxdvkcqfmm7rh79tr9pzr4/position +decimals = 0 + +[factory/inj1n2f2ehc6eplk7s5kwwy6e0hl9vf08mdqjxdacs/INJ] +peggy_denom = factory/inj1n2f2ehc6eplk7s5kwwy6e0hl9vf08mdqjxdacs/INJ +decimals = 6 + +[factory/inj1nguhj0ph48vfs2pnrf0kqz5zyn7znys5cymx3y/SHINJI] +peggy_denom = factory/inj1nguhj0ph48vfs2pnrf0kqz5zyn7znys5cymx3y/SHINJI +decimals = 0 + +[factory/inj1p65r3rdzwxq9xykp3pvwvajukauxulsn28uxdr/position] +peggy_denom = factory/inj1p65r3rdzwxq9xykp3pvwvajukauxulsn28uxdr/position +decimals = 0 + +[factory/inj1pgwrcf3j7yk0a5lxcyyuztr2ekpnzwqsqlkgke/position] +peggy_denom = factory/inj1pgwrcf3j7yk0a5lxcyyuztr2ekpnzwqsqlkgke/position +decimals = 0 + +[factory/inj1phq9r67sd6ypgsgsmh62dvf5eyj3lac6nqvdnt/position] +peggy_denom = factory/inj1phq9r67sd6ypgsgsmh62dvf5eyj3lac6nqvdnt/position +decimals = 0 + +[factory/inj1pjp9q2ycs7eaav8d5ny5956k5m6t0alpl33xd6/Shinobi] +peggy_denom = factory/inj1pjp9q2ycs7eaav8d5ny5956k5m6t0alpl33xd6/Shinobi +decimals = 6 + +[factory/inj1ptze5zs7f8upr3fdj6dsrh0gpq97rsugfl5efe/position] +peggy_denom = factory/inj1ptze5zs7f8upr3fdj6dsrh0gpq97rsugfl5efe/position +decimals = 0 + +[factory/inj1q4z7jjxdk7whwmkt39x7krc49xaqapuswhjhkn/BOYS] +peggy_denom = factory/inj1q4z7jjxdk7whwmkt39x7krc49xaqapuswhjhkn/BOYS +decimals = 6 + +[factory/inj1q4z7jjxdk7whwmkt39x7krc49xaqapuswhjhkn/COCK] +peggy_denom = factory/inj1q4z7jjxdk7whwmkt39x7krc49xaqapuswhjhkn/COCK +decimals = 9 + +[factory/inj1q8ky6w56wcv2ya3kxzg83s667q86xtrlvwytcs/position] +peggy_denom = factory/inj1q8ky6w56wcv2ya3kxzg83s667q86xtrlvwytcs/position +decimals = 0 + +[factory/inj1qpf0xj4w824774q8mp9x29q547qe66607h96ll/ELON] +peggy_denom = factory/inj1qpf0xj4w824774q8mp9x29q547qe66607h96ll/ELON +decimals = 12 + +[factory/inj1qqc56qqlqyzsycj50kqne8ygr6r6dk4a3e23z9/position] +peggy_denom = factory/inj1qqc56qqlqyzsycj50kqne8ygr6r6dk4a3e23z9/position +decimals = 0 + +[factory/inj1qqc7ekvm06tch3dtyselt2rl5y4s9daman0ahv/uLP] +peggy_denom = factory/inj1qqc7ekvm06tch3dtyselt2rl5y4s9daman0ahv/uLP +decimals = 0 + +[factory/inj1qrdfxrx7kg0kvgapxyj8dc0wuj4yr2npw7gmkr/QTUM] +peggy_denom = factory/inj1qrdfxrx7kg0kvgapxyj8dc0wuj4yr2npw7gmkr/QTUM +decimals = 6 + +[factory/inj1qwlpnrg97jq0ytl28pm6c20apr6c6ga3fqc75t/position] +peggy_denom = factory/inj1qwlpnrg97jq0ytl28pm6c20apr6c6ga3fqc75t/position +decimals = 0 + +[factory/inj1qz4fua8emzx9h2sdafkpxazl5rwyl75t0d6vc8/position] +peggy_denom = factory/inj1qz4fua8emzx9h2sdafkpxazl5rwyl75t0d6vc8/position +decimals = 0 + +[factory/inj1r3krfh3nh6qhe3znwkfpzs4rdedgyu0wryfsjf/position] +peggy_denom = factory/inj1r3krfh3nh6qhe3znwkfpzs4rdedgyu0wryfsjf/position +decimals = 0 + +[factory/inj1r42k2w9rf6jtqktpfceg3f0a8eu2flm98vm9cs/position] +peggy_denom = factory/inj1r42k2w9rf6jtqktpfceg3f0a8eu2flm98vm9cs/position +decimals = 0 + +[factory/inj1rau42vnjsz7hrr3fh9nf7hyzrrv4ajuc2kzulq/INJ] +peggy_denom = factory/inj1rau42vnjsz7hrr3fh9nf7hyzrrv4ajuc2kzulq/INJ +decimals = 6 + +[factory/inj1rdu7lqpvq4h2fyrjdfnp9gycdkut5ewql3e4uq/testor] +peggy_denom = factory/inj1rdu7lqpvq4h2fyrjdfnp9gycdkut5ewql3e4uq/testor +decimals = 6 + +[factory/inj1rfw3sugvss3z22zzuhlccqug0y8lvd4q95runz/position] +peggy_denom = factory/inj1rfw3sugvss3z22zzuhlccqug0y8lvd4q95runz/position +decimals = 0 + +[factory/inj1rlcfjuhupp56nkk3gspy0x0nstmd02ptzxzkvx/position] +peggy_denom = factory/inj1rlcfjuhupp56nkk3gspy0x0nstmd02ptzxzkvx/position +decimals = 0 + +[factory/inj1rmf0pe6dns2kaasjt82j5lps3t8ke9dzyh3nqt/HOSHI] +peggy_denom = factory/inj1rmf0pe6dns2kaasjt82j5lps3t8ke9dzyh3nqt/HOSHI +decimals = 0 + +[factory/inj1rmlm94wu0unvveueyvuczcgsae76esjm7wcudh/BRO] +peggy_denom = factory/inj1rmlm94wu0unvveueyvuczcgsae76esjm7wcudh/BRO +decimals = 6 + +[factory/inj1rnlhp35xqtl0zwlp9tnrelykea9f52nd8av7ec/CATNIP] +peggy_denom = factory/inj1rnlhp35xqtl0zwlp9tnrelykea9f52nd8av7ec/CATNIP +decimals = 6 + +[factory/inj1rnlhp35xqtl0zwlp9tnrelykea9f52nd8av7ec/NIPPY] +peggy_denom = factory/inj1rnlhp35xqtl0zwlp9tnrelykea9f52nd8av7ec/NIPPY +decimals = 6 + +[factory/inj1rw5ndf4g2ppl586guwgx6ry06tr2sk9vmpd9jk/position] +peggy_denom = factory/inj1rw5ndf4g2ppl586guwgx6ry06tr2sk9vmpd9jk/position +decimals = 0 + +[factory/inj1s0tcn9c42fz3fpfdy7pargxj4rwrcp0aushf2p/INJ] +peggy_denom = factory/inj1s0tcn9c42fz3fpfdy7pargxj4rwrcp0aushf2p/INJ +decimals = 6 + +[factory/inj1s8uw9vqpk7tvhjj2znqyhfxwfcvfl9g6d2drtc/position] +peggy_denom = factory/inj1s8uw9vqpk7tvhjj2znqyhfxwfcvfl9g6d2drtc/position +decimals = 0 + +[factory/inj1sdkwtcjd0wkp5sft3pyzpaesfgllxl06sgvnkk/INJ] +peggy_denom = factory/inj1sdkwtcjd0wkp5sft3pyzpaesfgllxl06sgvnkk/INJ +decimals = 6 + +[factory/inj1se3jy798wzjtlf588e8qh7342pqs4n0yhjxd0p/position] +peggy_denom = factory/inj1se3jy798wzjtlf588e8qh7342pqs4n0yhjxd0p/position +decimals = 0 + +[factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/FROGIY] +peggy_denom = factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/FROGIY +decimals = 6 + +[factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/FROGY] +peggy_denom = factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/FROGY +decimals = 0 + +[factory/inj1sf0ldwenurgttrmvgt65xgsj8jn487dggsy7el/position] +peggy_denom = factory/inj1sf0ldwenurgttrmvgt65xgsj8jn487dggsy7el/position +decimals = 0 + +[factory/inj1sgvrzysd32xdqtscaen2gprrjyg997lkn2h4wg/uLP] +peggy_denom = factory/inj1sgvrzysd32xdqtscaen2gprrjyg997lkn2h4wg/uLP +decimals = 0 + +[factory/inj1sm4l3jrh4cynhwv3x3yudkf4gtepv3wdjsryj3/INJ] +peggy_denom = factory/inj1sm4l3jrh4cynhwv3x3yudkf4gtepv3wdjsryj3/INJ +decimals = 6 + +[factory/inj1sz76uf4fj7jn4wptpsszt63x27uthjvehhwsk9/MEOW] +peggy_denom = factory/inj1sz76uf4fj7jn4wptpsszt63x27uthjvehhwsk9/MEOW +decimals = 6 + +[factory/inj1t6wfs24ewwnx9mxtm26n6q6zpm73wsan9u8n0v/position] +peggy_denom = factory/inj1t6wfs24ewwnx9mxtm26n6q6zpm73wsan9u8n0v/position +decimals = 0 + +[factory/inj1taqmwnnd3rucr8ydyl8u30vc29dkyc9rzrjy6r/position] +peggy_denom = factory/inj1taqmwnnd3rucr8ydyl8u30vc29dkyc9rzrjy6r/position +decimals = 0 + +[factory/inj1tdv8p2pp68veauzezvgt8ze0wpf6ysddh99s6g/hINJ] +peggy_denom = factory/inj1tdv8p2pp68veauzezvgt8ze0wpf6ysddh99s6g/hINJ +decimals = 6 + +[factory/inj1tl8w4z9a7ykdmardg2a5qgryzc9e92fduqy8vj/position] +peggy_denom = factory/inj1tl8w4z9a7ykdmardg2a5qgryzc9e92fduqy8vj/position +decimals = 0 + +[factory/inj1tm6kuf59h46q0sy73cdyxyjwexwjp4a3h07yvt/position] +peggy_denom = factory/inj1tm6kuf59h46q0sy73cdyxyjwexwjp4a3h07yvt/position +decimals = 0 + +[factory/inj1tn2nqgzsgu8ts87fe3fdhh2zy85ymdrc4qd37s/position] +peggy_denom = factory/inj1tn2nqgzsgu8ts87fe3fdhh2zy85ymdrc4qd37s/position +decimals = 0 + +[factory/inj1tuemzz3xa2gurzv828y795r7uycmcafr0ktzwk/uLP] +peggy_denom = factory/inj1tuemzz3xa2gurzv828y795r7uycmcafr0ktzwk/uLP +decimals = 0 + +[factory/inj1tvnxhtnlkad7xzq7kkd0fcrtn0lncnvydp8mh3/position] +peggy_denom = factory/inj1tvnxhtnlkad7xzq7kkd0fcrtn0lncnvydp8mh3/position +decimals = 0 + +[factory/inj1u2nhcc06qvxscfmqwqwq5x6saf0smlhmykgg2j/position] +peggy_denom = factory/inj1u2nhcc06qvxscfmqwqwq5x6saf0smlhmykgg2j/position +decimals = 0 + +[factory/inj1u7xh7k9w5kddcyjjkq2rmpmnw7scrx25526x0k/lpinj13t8y6evvue023zg5q4f4ngaav54285pfw482xd] +peggy_denom = factory/inj1u7xh7k9w5kddcyjjkq2rmpmnw7scrx25526x0k/lpinj13t8y6evvue023zg5q4f4ngaav54285pfw482xd +decimals = 0 + +[factory/inj1u7xh7k9w5kddcyjjkq2rmpmnw7scrx25526x0k/lpinj1tpmwkd0psrutlqd4ytjq7pugj5dedjys9u0wd3] +peggy_denom = factory/inj1u7xh7k9w5kddcyjjkq2rmpmnw7scrx25526x0k/lpinj1tpmwkd0psrutlqd4ytjq7pugj5dedjys9u0wd3 +decimals = 0 + +[factory/inj1ucamzt4l70qnwwtqac4wjpvqdfmuhuft5ezy6x/sniperfactory] +peggy_denom = factory/inj1ucamzt4l70qnwwtqac4wjpvqdfmuhuft5ezy6x/sniperfactory +decimals = 6 + +[factory/inj1uja2y06ef8mmygnalg5hsugpa8q5m4pscjduec/INJ] +peggy_denom = factory/inj1uja2y06ef8mmygnalg5hsugpa8q5m4pscjduec/INJ +decimals = 6 + +[factory/inj1ul7m4hcf72jn3ah4rgez6vsykqjs90jwyqkkjm/position] +peggy_denom = factory/inj1ul7m4hcf72jn3ah4rgez6vsykqjs90jwyqkkjm/position +decimals = 0 + +[factory/inj1uq9wzg2hc6gsl9hue8qj5ymdfv4k8ccluxhesj/INJ] +peggy_denom = factory/inj1uq9wzg2hc6gsl9hue8qj5ymdfv4k8ccluxhesj/INJ +decimals = 6 + +[factory/inj1ur2gpeg5yw67dagpcm5946lnd6v8l2s2k9tx3q/position] +peggy_denom = factory/inj1ur2gpeg5yw67dagpcm5946lnd6v8l2s2k9tx3q/position +decimals = 0 + +[factory/inj1utkmtctnp767m0rdl294ypshrjjv8qendcm3md/position] +peggy_denom = factory/inj1utkmtctnp767m0rdl294ypshrjjv8qendcm3md/position +decimals = 0 + +[factory/inj1utyrpze9qzx037av0vrxz2w63y2et4wcd84j3q/position] +peggy_denom = factory/inj1utyrpze9qzx037av0vrxz2w63y2et4wcd84j3q/position +decimals = 0 + +[factory/inj1uv64p5ky9c298dlswy5krq4xcn78qearqaqqc9/DOGO] +peggy_denom = factory/inj1uv64p5ky9c298dlswy5krq4xcn78qearqaqqc9/DOGO +decimals = 0 + +[factory/inj1uyvpwvurunezljvear62kswrcduup8e4hkf3er/INJ] +peggy_denom = factory/inj1uyvpwvurunezljvear62kswrcduup8e4hkf3er/INJ +decimals = 6 + +[factory/inj1uz997yw7vq5ala7hhr5rpn386v7w7uva9v4e23/INJ] +peggy_denom = factory/inj1uz997yw7vq5ala7hhr5rpn386v7w7uva9v4e23/INJ +decimals = 6 + +[factory/inj1uzasxz38jtgjmsd6m52h2yy3zqy36wswy5hta9/position] +peggy_denom = factory/inj1uzasxz38jtgjmsd6m52h2yy3zqy36wswy5hta9/position +decimals = 0 + +[factory/inj1v06t5cjcnzawlvk665s0wynqy6zfjuulvaadhh/position] +peggy_denom = factory/inj1v06t5cjcnzawlvk665s0wynqy6zfjuulvaadhh/position +decimals = 0 + +[factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/cook] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/cook +decimals = 6 + +[factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/cookie] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/cookie +decimals = 6 + +[factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/frog] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/frog +decimals = 6 + +[factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/wif] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/wif +decimals = 6 + +[factory/inj1vc3d90452zqh5vp265maz69wdg4dhj7m0g6aty/position] +peggy_denom = factory/inj1vc3d90452zqh5vp265maz69wdg4dhj7m0g6aty/position +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj12hrath9g2c02e87vjadnlqnmurxtr8md7djyxm] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj12hrath9g2c02e87vjadnlqnmurxtr8md7djyxm +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj12s6eccju5addagv2f74sphfmenv9xwp0ynmtqv] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj12s6eccju5addagv2f74sphfmenv9xwp0ynmtqv +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj13ly2q9g40lta4dcn7n6z9nack42r2hk64un07x] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj13ly2q9g40lta4dcn7n6z9nack42r2hk64un07x +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj14gmk6jg5kduvy882yjdq4967e46jaka7ffuf58] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj14gmk6jg5kduvy882yjdq4967e46jaka7ffuf58 +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj14xy8dvgjyhqjn8dhegf9zz5g7c3yeflt0kgarp] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj14xy8dvgjyhqjn8dhegf9zz5g7c3yeflt0kgarp +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj15599wr9jzgrt6e04xkue9l6409mlc3l7lqr38d] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj15599wr9jzgrt6e04xkue9l6409mlc3l7lqr38d +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj15s4c3kqa0j6glrgppcn0h357jac40ndyptv3sr] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj15s4c3kqa0j6glrgppcn0h357jac40ndyptv3sr +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj16mz5n3dsnal4m0emy4pa02d67hh0r70tlm8095] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj16mz5n3dsnal4m0emy4pa02d67hh0r70tlm8095 +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj16vjf4nnyqvjws6chw6u3t3kmujhllj4wjn9nlh] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj16vjf4nnyqvjws6chw6u3t3kmujhllj4wjn9nlh +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj17hm5smrnrmdr88slpfzfmyxxna9fe6xtvzlr0p] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj17hm5smrnrmdr88slpfzfmyxxna9fe6xtvzlr0p +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj17jdcvmkpvhgwfnukxjt6uvu2cptuqv309rz8pu] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj17jdcvmkpvhgwfnukxjt6uvu2cptuqv309rz8pu +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj19ujrgrvsm5zn6d389lua74y6pyldxzv5gdrln9] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj19ujrgrvsm5zn6d389lua74y6pyldxzv5gdrln9 +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1a9hcr7zf5a2ahkv5fvumyky50ww7ds2cg5tk95] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1a9hcr7zf5a2ahkv5fvumyky50ww7ds2cg5tk95 +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ckyym37k9u3gne0qdcpu7ty20p59d3lutepkge] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ckyym37k9u3gne0qdcpu7ty20p59d3lutepkge +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1djuudn6jj6g70kunu8sgtnrvytw9e27xtzyphe] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1djuudn6jj6g70kunu8sgtnrvytw9e27xtzyphe +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1dvrvhcpq6aru0g5d9m9wjnz7utr67we5dlaq79] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1dvrvhcpq6aru0g5d9m9wjnz7utr67we5dlaq79 +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1e6f0ma2j0j9duwyn7vv0jdn6qaztxgmqpr56hu] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1e6f0ma2j0j9duwyn7vv0jdn6qaztxgmqpr56hu +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1g89dl74lyre9q6rjua9l37pcc7psnw66capurp] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1g89dl74lyre9q6rjua9l37pcc7psnw66capurp +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1gqmr3vdr9k0hwyjkkphn9etqqsj06mm0tuj7vl] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1gqmr3vdr9k0hwyjkkphn9etqqsj06mm0tuj7vl +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1hffc8x68rp843ygjg9e4eaxj54v5w6vcev9vvu] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1hffc8x68rp843ygjg9e4eaxj54v5w6vcev9vvu +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1hw4vgqyvgw5vca224mpg2e0ccqguhnu7yawpu8] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1hw4vgqyvgw5vca224mpg2e0ccqguhnu7yawpu8 +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1j0hepy2mrfc705djm2q53ucnyq5ygejq5mr4n2] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1j0hepy2mrfc705djm2q53ucnyq5ygejq5mr4n2 +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1jd845wf6zr4cxjne8j4580qq7cg0g5ueeaxpk4] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1jd845wf6zr4cxjne8j4580qq7cg0g5ueeaxpk4 +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1k7kvdzm7n8g5xf6c733lsyp6tugvxwsnvdcgur] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1k7kvdzm7n8g5xf6c733lsyp6tugvxwsnvdcgur +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1kf09fn0mjq3d9v7x25xlmvacp9rfjqw96039e3] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1kf09fn0mjq3d9v7x25xlmvacp9rfjqw96039e3 +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1khp440nluesxmnr0mgdstzxujhkmcu8mad797f] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1khp440nluesxmnr0mgdstzxujhkmcu8mad797f +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1kv5amrnaczurcyc9rw0uve4e3wh2jfujxn3zlz] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1kv5amrnaczurcyc9rw0uve4e3wh2jfujxn3zlz +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1l6e65hq8w79zepulpt768rj8qd2e2qejxl5uga] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1l6e65hq8w79zepulpt768rj8qd2e2qejxl5uga +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1nvq8pyvt2kf5xctc4v3xt4gszq5a9lhpadyfwg] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1nvq8pyvt2kf5xctc4v3xt4gszq5a9lhpadyfwg +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1nyv50r7vnktgpp5s22fh8nzf7ak8sthh6l7s3t] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1nyv50r7vnktgpp5s22fh8nzf7ak8sthh6l7s3t +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1p9djw5xkg7dfgteqnh3cqmef2xs6meycd2k5r5] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1p9djw5xkg7dfgteqnh3cqmef2xs6meycd2k5r5 +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1pwf7q5vtq0thplnkdsp4v09mr66jkfyrsjr5g3] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1pwf7q5vtq0thplnkdsp4v09mr66jkfyrsjr5g3 +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1pww37pr6qnnndzz2azxhxl0rcvtxcftg0y70vh] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1pww37pr6qnnndzz2azxhxl0rcvtxcftg0y70vh +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1r4pjz70l4ytk06dfparzd6na5qqjeq09fkxdt4] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1r4pjz70l4ytk06dfparzd6na5qqjeq09fkxdt4 +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1r86atmuulmhzw63pqx5tp989nmupvn4fd94m7u] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1r86atmuulmhzw63pqx5tp989nmupvn4fd94m7u +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1rayjg2wktsj9aa9j5ps52v3qunn80m7fjhdstp] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1rayjg2wktsj9aa9j5ps52v3qunn80m7fjhdstp +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1rduwtul0x7fkryzpdn85yuujntwyel8z04h7cq] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1rduwtul0x7fkryzpdn85yuujntwyel8z04h7cq +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1sfk9r0jk9wxs7n726qfjg5e649zf34yq6q65gn] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1sfk9r0jk9wxs7n726qfjg5e649zf34yq6q65gn +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1sm36lxmzynkt9q37nwspf8n6pzplktul006u08] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1sm36lxmzynkt9q37nwspf8n6pzplktul006u08 +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1sqj6x44uxtmklyewqxk9frqjrkjqjjmu6u0mrm] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1sqj6x44uxtmklyewqxk9frqjrkjqjjmu6u0mrm +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ucj4veavs4jeuhe98xx8fe6yk0n83ulvjqank3] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ucj4veavs4jeuhe98xx8fe6yk0n83ulvjqank3 +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ulxnf3qhjk8l383nllhglfaautcstkmth089jp] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ulxnf3qhjk8l383nllhglfaautcstkmth089jp +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1v8v8jepsjdsxj29hxmm62qwzmg54r75v6mq6q9] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1v8v8jepsjdsxj29hxmm62qwzmg54r75v6mq6q9 +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ve3uga90prrwtpsptjrhnxlfd9u0qwuf0v43ke] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ve3uga90prrwtpsptjrhnxlfd9u0qwuf0v43ke +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1wzt78jy575ejcps76gpc2m8k2v4x2526aksnk0] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1wzt78jy575ejcps76gpc2m8k2v4x2526aksnk0 +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1xar9nfhqc9al47hkh7eljrc3g66lntqch8hh0r] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1xar9nfhqc9al47hkh7eljrc3g66lntqch8hh0r +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1xkq56rjtpcqgwh9yut6zwh3lxcle2yz4dljyxc] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1xkq56rjtpcqgwh9yut6zwh3lxcle2yz4dljyxc +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1zqe2p2xegqyr3zeltt9kh7c934v7tlevmk6xg7] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1zqe2p2xegqyr3zeltt9kh7c934v7tlevmk6xg7 +decimals = 0 + +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1zxk9xvs6mnq2m5yws8gdgqstrmcqntuedlnua3] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1zxk9xvs6mnq2m5yws8gdgqstrmcqntuedlnua3 +decimals = 0 + +[factory/inj1vk2re2ak5xf4w2vnscy4ym2a23cwx375872e73/INJ] +peggy_denom = factory/inj1vk2re2ak5xf4w2vnscy4ym2a23cwx375872e73/INJ +decimals = 6 + +[factory/inj1vr0te6wepj0pne8qaw5gt9jjm78g2aqgl4lz26/INJ] +peggy_denom = factory/inj1vr0te6wepj0pne8qaw5gt9jjm78g2aqgl4lz26/INJ +decimals = 6 + +[factory/inj1vss35hmc5fzy0d4glcyt39w425pvwfsqk9zu3p/ABC] +peggy_denom = factory/inj1vss35hmc5fzy0d4glcyt39w425pvwfsqk9zu3p/ABC +decimals = 6 + +[factory/inj1vyelgqnlmnwd8sq2rcmg7d0jglrvggdk6s5y4k/position] +peggy_denom = factory/inj1vyelgqnlmnwd8sq2rcmg7d0jglrvggdk6s5y4k/position +decimals = 0 + +[factory/inj1w4ru8gx7mjhagafdn2ljumrc8s5aaefzmynuqd/black] +peggy_denom = factory/inj1w4ru8gx7mjhagafdn2ljumrc8s5aaefzmynuqd/black +decimals = 0 + +[factory/inj1wc3a7mqvdvhe8mkglvzq6pmelex53e2x8safdv/position] +peggy_denom = factory/inj1wc3a7mqvdvhe8mkglvzq6pmelex53e2x8safdv/position +decimals = 0 + +[factory/inj1whxcxhncnftrc76w0zns3l6934rqfenj5fl0kg/position] +peggy_denom = factory/inj1whxcxhncnftrc76w0zns3l6934rqfenj5fl0kg/position +decimals = 0 + +[factory/inj1wl8fjknkq2ge4tgynls5kdkkmwstj5fm3ts7s4/BINJ] +peggy_denom = factory/inj1wl8fjknkq2ge4tgynls5kdkkmwstj5fm3ts7s4/BINJ +decimals = 6 + +[factory/inj1wm66m98g8yluvl7vzcmsq5fvh4c7eacs32u5xh/INJ] +peggy_denom = factory/inj1wm66m98g8yluvl7vzcmsq5fvh4c7eacs32u5xh/INJ +decimals = 6 + +[factory/inj1wrltqpkxk8w5whk09knfyq4tkx06j5c9553fwh/INJ] +peggy_denom = factory/inj1wrltqpkxk8w5whk09knfyq4tkx06j5c9553fwh/INJ +decimals = 6 + +[factory/inj1ws4f65dx7kmspn28v22lmta3hkfps9cqfjwkyj/INJ] +peggy_denom = factory/inj1ws4f65dx7kmspn28v22lmta3hkfps9cqfjwkyj/INJ +decimals = 6 + +[factory/inj1wud39wkdk6vlqy65v4ytqrmldagvaz8c7gtnjm/position] +peggy_denom = factory/inj1wud39wkdk6vlqy65v4ytqrmldagvaz8c7gtnjm/position +decimals = 0 + +[factory/inj1wx6k6wkamm5pudf43d8q77ug094rydd6gkg622/INJ] +peggy_denom = factory/inj1wx6k6wkamm5pudf43d8q77ug094rydd6gkg622/INJ +decimals = 6 + +[factory/inj1xaw8dvp6v05vsnxxwa4y7gpuddxhes97rqmcv6/position] +peggy_denom = factory/inj1xaw8dvp6v05vsnxxwa4y7gpuddxhes97rqmcv6/position +decimals = 0 + +[factory/inj1xdmkzn2zpfh0rp38mjly8xza4xhx54vrlslqad/position] +peggy_denom = factory/inj1xdmkzn2zpfh0rp38mjly8xza4xhx54vrlslqad/position +decimals = 0 + +[factory/inj1xfl2jxuwpvpxxc5upxm8fxxzv6nxd65z5kpqny/position] +peggy_denom = factory/inj1xfl2jxuwpvpxxc5upxm8fxxzv6nxd65z5kpqny/position +decimals = 0 + +[factory/inj1xhzt72xa3pyk25chwa3kh5j2dpuwehmycukh38/test] +peggy_denom = factory/inj1xhzt72xa3pyk25chwa3kh5j2dpuwehmycukh38/test +decimals = 6 + +[factory/inj1xns9khp247zkasydzvkcvv7et2qrf679gkudmy/FOMO] +peggy_denom = factory/inj1xns9khp247zkasydzvkcvv7et2qrf679gkudmy/FOMO +decimals = 6 + +[factory/inj1xnw3266sqst4xatdgu7qme69rf58vnlj99vsty/INJ] +peggy_denom = factory/inj1xnw3266sqst4xatdgu7qme69rf58vnlj99vsty/INJ +decimals = 6 + +[factory/inj1y4mmnuck96ffjswgd37963f5ch9kph8sk99zuj/position] +peggy_denom = factory/inj1y4mmnuck96ffjswgd37963f5ch9kph8sk99zuj/position +decimals = 0 + +[factory/inj1y5lrg2p5cmlne4jr8uj479ns05srq59cw99gm8/INJ] +peggy_denom = factory/inj1y5lrg2p5cmlne4jr8uj479ns05srq59cw99gm8/INJ +decimals = 6 + +[factory/inj1yc2pc60avmdv3sfvamt27nk3kxhcxlf53q8ysr/position] +peggy_denom = factory/inj1yc2pc60avmdv3sfvamt27nk3kxhcxlf53q8ysr/position +decimals = 0 + +[factory/inj1yg49drflp8vmf4hj07jy9c8wl2fmqrfq09etpm/position] +peggy_denom = factory/inj1yg49drflp8vmf4hj07jy9c8wl2fmqrfq09etpm/position +decimals = 0 + +[factory/inj1ykf3aln7wwx7la80z5xc7w572d7vwtq92x09h5/INJ] +peggy_denom = factory/inj1ykf3aln7wwx7la80z5xc7w572d7vwtq92x09h5/INJ +decimals = 6 + +[factory/inj1yq82w2mugv4qvuy863p2urrwqegde4fyksmcmj/position] +peggy_denom = factory/inj1yq82w2mugv4qvuy863p2urrwqegde4fyksmcmj/position +decimals = 0 + +[factory/inj1yqgc6sv5eyhkf3p3nynrq5lsffnwp5vwvwqgqf/position] +peggy_denom = factory/inj1yqgc6sv5eyhkf3p3nynrq5lsffnwp5vwvwqgqf/position +decimals = 0 + +[factory/inj1yqnt9aswsjdujxxdeyzm4twqchjtaw2ddrxkqv/position] +peggy_denom = factory/inj1yqnt9aswsjdujxxdeyzm4twqchjtaw2ddrxkqv/position +decimals = 0 + +[factory/inj1yt3dxjvwyq5f4hw86sadk5jd9nqu6dnml3v7sv/INJ] +peggy_denom = factory/inj1yt3dxjvwyq5f4hw86sadk5jd9nqu6dnml3v7sv/INJ +decimals = 6 + +[factory/inj1yu54sj0phd59dgcd023hhlezxmtzqwgf44c6ka/position] +peggy_denom = factory/inj1yu54sj0phd59dgcd023hhlezxmtzqwgf44c6ka/position +decimals = 0 + +[factory/inj1yuaz9qw8m75w7gxn3j7p9ph9pcsp8krpune70q/Test] +peggy_denom = factory/inj1yuaz9qw8m75w7gxn3j7p9ph9pcsp8krpune70q/Test +decimals = 6 + +[factory/inj1z3mux0g3fw2ggem5qnuqcy46nl5wwsdcm9q5eg/position] +peggy_denom = factory/inj1z3mux0g3fw2ggem5qnuqcy46nl5wwsdcm9q5eg/position +decimals = 0 + +[factory/inj1z60w4nx27cyt8tygmwxe045aa5h8u0acupv3dl/position] +peggy_denom = factory/inj1z60w4nx27cyt8tygmwxe045aa5h8u0acupv3dl/position +decimals = 0 + +[factory/inj1z7mx2tc9ea4y2y0nx230pe7knm8fryk3rv6r2c/uLP] +peggy_denom = factory/inj1z7mx2tc9ea4y2y0nx230pe7knm8fryk3rv6r2c/uLP +decimals = 0 + +[factory/inj1ze3ad8k5aw7ejwlpvwfdht9yslnpfqez45sd3v/BCAT] +peggy_denom = factory/inj1ze3ad8k5aw7ejwlpvwfdht9yslnpfqez45sd3v/BCAT +decimals = 6 + +[factory/inj1zjd5nqyvyksjqzsc207v80pcd9a0r9fec8rvn6/INJ] +peggy_denom = factory/inj1zjd5nqyvyksjqzsc207v80pcd9a0r9fec8rvn6/INJ +decimals = 6 + +[factory/inj1zmlf85er8we52r9qsq8wdumwpkdrhqh0f0u27j/INJ] +peggy_denom = factory/inj1zmlf85er8we52r9qsq8wdumwpkdrhqh0f0u27j/INJ +decimals = 6 + +[factory/inj1zt0ts2z4r0sx0g3ae87ct9r9pgjmxexe4lj2h3/position] +peggy_denom = factory/inj1zt0ts2z4r0sx0g3ae87ct9r9pgjmxexe4lj2h3/position +decimals = 0 + +[factory/inj1zthvl3awskg6a7l2v4yq9srxjjatvl4ydesfhc/position] +peggy_denom = factory/inj1zthvl3awskg6a7l2v4yq9srxjjatvl4ydesfhc/position +decimals = 0 + +[factory/neutron133xakkrfksq39wxy575unve2nyehg5npx75nph/GOP] +peggy_denom = ibc/B6DEF77F4106DE5F5E1D5C7AA857392A8B5CE766733BA23589AD4760AF953819 +decimals = 0 + +[factory/neutron133xakkrfksq39wxy575unve2nyehg5npx75nph/MOO] +peggy_denom = ibc/572EB1D6454B3BF6474A30B06D56597D1DEE758569CC695FF628D4EA235EFD5D +decimals = 0 + +[factory/neutron154gg0wtm2v4h9ur8xg32ep64e8ef0g5twlsgvfeajqwghdryvyqsqhgk8e/APOLLO] +peggy_denom = ibc/1B47F9D980CBB32A87022E1381C15005DE942A71CB61C1B498DBC2A18F43A8FE +decimals = 0 + +[factory/osmo1q77cw0mmlluxu0wr29fcdd0tdnh78gzhkvhe4n6ulal9qvrtu43qtd0nh8/djjtga] +peggy_denom = ibc/50DC83F6AD408BC81CE04004C86BF457F9ED9BF70839F8E6BA6A3903228948D7 +decimals = 0 + +[factory/osmo1q77cw0mmlluxu0wr29fcdd0tdnh78gzhkvhe4n6ulal9qvrtu43qtd0nh8/test] +peggy_denom = ibc/40C510742D7CE7F5EB2EF894AA9AD5056183D80628A73A04B48708A660FD088D +decimals = 0 + +[factory/sei189adguawugk3e55zn63z8r9ll29xrjwca636ra7v7gxuzn98sxyqwzt47l/9fELvUhFo6yWL34ZaLgPbCPzdk9MD1tAzMycgH45qShH] +peggy_denom = ibc/999FD9811C895A63FE1A2FCDDA24DEC6AF7D70D907BD97E9C455BDFD57B373CA +decimals = 0 + +[factory/sei189adguawugk3e55zn63z8r9ll29xrjwca636ra7v7gxuzn98sxyqwzt47l/Hq4tuDzhRBnxw3tFA5n6M52NVMVcC19XggbyDiJKCD6H] +peggy_denom = ibc/247FF5EB358DA07AE08BC0E975E1AD955494A51B6C11452271A216E67AF1E4D1 +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/2Wb6ueMFc9WLc2eyYVha6qnwHKbwzUXdooXsg6XXVvos] +peggy_denom = ibc/8D59D4FCFE77CA4F11F9FD9E9ACA645197E9BFFE48B05ADA172D750D3C5F47E7 +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/3wftBtqKjWFXFWhtsG6fjaLTbpnaLhN3bhfSMdvEVdXT] +peggy_denom = ibc/6C1F980F3D295DA21EC3AFD71008CC7674BA580EBEDBD76FD5E25E481067AF09 +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/576uQXyQrjFdqzDRvBnXihn467ipuc12a5yN8v8H99f8] +peggy_denom = ibc/0F18C33D7C2C28E24A67BEFA2689A1552DCE9856E1BB3A16259403D5398EB23C +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/5MeVz64BbVszQaCqCTQ2zfWTmnQ5uKwNMaDDSJDRuqTY] +peggy_denom = ibc/B7936BF07D9035C66C83B81B61672A05F30DE4196BE0A016A6CD4EDD20CB8F24 +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/5cKyTGhoHu1VFNPd6iXdKYTm3CkTtz1MeCdYLUGgF4zt] +peggy_denom = ibc/3C2EEA34EAF26698EE47A58FA2142369CE42E105E8452E1C074A32D34431484B +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/6wMmXNYNi8tYB32cCAGPoPrr6nHLKx4j9kpGv5moBnuT] +peggy_denom = ibc/13055E6ECA7C05091DD7B93DF81F0BB12479779DE3B9410CF445CC34B8361664 +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/7KQX8bVDa8W4EdpED8oHqhSfJsgF79XDcxcd8ELUws7G] +peggy_denom = ibc/0A44483A7AFF7C096B2A4FB00A12E912BE717CD7703CF7F33ED99DB35230D404 +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/8iuAc6DSeLvi2JDUtwJxLytsZT8R19itXebZsNReLLNi] +peggy_denom = ibc/6D434846D1535247426AA917BBEC53BE1A881D49A010BF7EDACBFCD84DE4A5B8 +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/8sYgCzLRJC3J7qPn2bNbx6PiGcarhyx8rBhVaNnfvHCA] +peggy_denom = ibc/F433CC4D2A46173B47A691E8C432F11E47E8C06C574CEF798F6F7BA116EACCAC +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/9weDXCi5EPvG2xk6VTiKKxhijYuq79U6UzPwBniF1cET] +peggy_denom = ibc/C2C022DC63E598614F39C575BC5EF4EC54E5D081365D9BE090D75F743364E54D +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/AsSyBMk2D3FmntrGtd539XWDGwmJ7Uv8vVXQTwTjyqBw] +peggy_denom = ibc/7A39488A287BF7DBC4A33DDA2BE3DDAC0F281FBCFF23934B7194893C136AAA99 +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/BSWyXu2ZJFGaSau3aLDwNZMCDwenWhwPfWALpYna7WzV] +peggy_denom = ibc/CB8E08B5C734BDA8344DDCFE5C9CCCC91521763BA1BC9F61CADE6E8F0B556E3D +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/BjqmpMWFUphe7Qr3v8rLCZh8aoH2qfi2S1z8649b62TY] +peggy_denom = ibc/4F72D2F3EAFB61D8615566B3C80AEF2778BB14B648929607568C79CD90416188 +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/CroEB5zf21ea42ezHnpcv1jj1jANLY4A1sQL6y4UsHGR] +peggy_denom = ibc/8E7F71072C97C5D8D19978C7E38AE90C0FBCCE551AF95FEB000EA9EBBFD6396B +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/Cv4gKZrfUhNZtcjUDgdodrup397e9Nm7hMaqFwSCPVjj] +peggy_denom = ibc/44EC7BD858EC12CE9C2F882119F522937264B50DD26DE73270CA219242E9C1B2 +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/EfeMLPMU8BcwMbzNy5DfbYCzRDvDVdo7nLZt7GZG4a8Y] +peggy_denom = ibc/366870891D57A5076D117307C42F597A000EB757793A9AB58019660B896292AA +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/Eh6t4Hgff8mveKYH5Csa7zyoq5hgKNnLF8qq9YhSsu7j] +peggy_denom = ibc/AA2394D484EADAC0B982A8979B18109FAEDD5D47E36D8153955369FEC16D027B +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/Ej6p2SmCeEnkLsZR2pwSCK9L1LUQWgKsMd3iVdYMFaJq] +peggy_denom = ibc/6912080A54CAB152D10CED28050E6DBE87B49E4F77D6BA6D54A05DBF4C3CCA88 +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/F6QdZRjBTFmK1BNMrws1D9uPqQkHE25qqR2bMpeTuLjb] +peggy_denom = ibc/473D128E740A340B0663BD09CFC9799A0254564448B62CAA557D65DB23D0FCCD +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/FrbRcKDffWhKiHimzrWBpQRyM65uJkYDSf4J3QksasJ9] +peggy_denom = ibc/E2C56B24C032D2C54CF12EAD43432D65FDF22C64E819F97AAD3B141829EF3E60 +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/G4b8zJq7EUqVTwgbokQiHyYa5PzhQ1bLiyAeK3Yw9en8] +peggy_denom = ibc/683CD81C466CF3678E78B5E822FA07F0C23107B1F8FA06E80EAD32D569C4CF84 +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/G8PQ2heLLT8uBjoCfkkD3pNmTGZo6hNtSEEuJUGn9daJ] +peggy_denom = ibc/65CF217605B92B4CD37AC22955C5C59DE39CFD2A7A2E667861CCAFC810C4F5BD +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/GGh9Ufn1SeDGrhzEkMyRKt5568VbbxZK2yvWNsd6PbXt] +peggy_denom = ibc/DC9E276D4E80CD04F8A8C681842A3A16C59F85963FB262E34BBB6CB4F5BFDB14 +decimals = 0 + +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/HJk1XMDRNUbRrpKkNZYui7SwWDMjXZAsySzqgyNcQoU3] +peggy_denom = ibc/CC610E1295BCF3ADE3C3DD4ABF3496C6EAA7541A1E45696E9D642D7B0A27B127 +decimals = 0 + +[factory:kujira13ryry75s34y4sl5st7g5mhk0he8rc2nn7ah6sl:SPERM] +peggy_denom = ibc/EBC2F00888A965121201A6150B7C55E0941E49438BC7F02385A632D6C4E68E2A +decimals = 0 + +[factory:kujira1e224c8ry0nuun5expxm00hmssl8qnsjkd02ft94p3m2a33xked2qypgys3:urcpt] +peggy_denom = ibc/49994E6147933B46B83CCEDE3528C6B3E5960ECE5A85548C2A519CF3B812E8B9 +decimals = 0 + +[factory:kujira1jelmu9tdmr6hqg0d6qw4g6c9mwrexrzuryh50fwcavcpthp5m0uq20853h:urcpt] +peggy_denom = ibc/E970A80269F0867B0E9C914004AB991E6AF94F3EF2D4E1DFC92E140ACB6BBD5C +decimals = 0 + +[factory:kujira1yntegc5v3tvl0xfrde0rupnt9kfnx0sy9lytge9g2mryjknudk6qg4zyw9:urcpt] +peggy_denom = ibc/D4D75686C76511349744536403E94B31AC010EB6EA1B579C01B2D64B6888E068 +decimals = 0 + +[faot] +peggy_denom = inj1vnhhrcnnnr6tq96eaa8gcsuaz55ugnhs3dmfqq +decimals = 18 + +[fatPEPE] +peggy_denom = factory/inj1an9qflgvpvjdhczce6xwrh4afkaap77c72k4yd/fatpepe +decimals = 6 + +[fff] +peggy_denom = factory/inj1xy7dcllc7wn5prcy73xr7xhpt9zwg49c6szqcz/fff +decimals = 6 + +[fiftycent] +peggy_denom = inj1rtgfdnja2xav84ta0twq8cmmvkqzycnu9uxzw5 +decimals = 18 + +[fmXEN] +peggy_denom = inj14vluf5wc7tsptnfzrjs9g579uyp9gvvlwre5e4 +decimals = 8 + +[foo] +peggy_denom = factory/inj12vxhuaamfs33sxgnf95lxvzy9lpugpgjsrsxl3/foo +decimals = 6 + +[footjob] +peggy_denom = inj1gn7tah4p0uvgmtwgwe5lp9q7ce8d4yr8jxrfcv +decimals = 18 + +[fox] +peggy_denom = factory/inj1ddmyuzh42n8ymyhcm5jla3aaq9tucjnye02dlf/fox +decimals = 6 + +[frINJa] +peggy_denom = factory/inj1sm0feg2fxpmx5yg3ywzdzyn0s93m6d9dt87jf5/frINJa +decimals = 7 + +[franklin] +peggy_denom = inj1zd0043cf6q7yft07aaqgsurgh53xy5gercpzuu +decimals = 18 + +[gay] +peggy_denom = inj15x48ts4jw429zd9vvkwxf0advg9j24z2q948fl +decimals = 18 + +[gayasf] +peggy_denom = inj1qu6eldq9ftz2wvr43848ff8x5586xm0639kg7a +decimals = 18 + +[get] +peggy_denom = factory/inj1ldee0qev4khjdpw8wpqpyeyw0n0z8nnqtc423g/get +decimals = 6 + +[ginj] +peggy_denom = factory/inj1r4usuj62gywdwhq9uvx6tg0ywqpppcjqu7z4js/ginj +decimals = 6 + +[gipsyCOINS] +peggy_denom = inj1pyeutpz66lhapppt2ny36s57zfspglqtvdwywd +decimals = 6 + +[godzilla] +peggy_denom = factory/inj1nhswhqrgfu3hpauvyeycz7pfealx4ack2c5hfp/godzilla +decimals = 6 + +[gravity0xA0b73E1Ff0B80914AB6fe0444E65848C4C34450b] +peggy_denom = ibc/FF8F4C5D1664F946E88654921D6C1E81D5C167B8A58A4E75B559BAA2DBBF0101 +decimals = 0 + +[gravity0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48] +peggy_denom = ibc/7C2AA3086423029B3E915B5563975DB87EF2E552A40F996C7F6D19FFBD5B2AEA +decimals = 0 + +[gravity0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2] +peggy_denom = ibc/ECC0DF3D9C80F79B81056569EE2140FD977886AB274FA08BA03E987264D6DE19 +decimals = 0 + +[gravity0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30] +peggy_denom = ibc/57E7FEFD5872F89EB1C792C4B06B51EA565AC644EA2F64B88F8FC40704F8E9C4 +decimals = 0 + +[gto] +peggy_denom = inj1ehnt0lcek8wdf0xj7y5mmz7nzr8j7ytjgk6l7g +decimals = 18 + +[h2o] +peggy_denom = factory/inj1utlxkwfxhmfc826gu07w20mvguysavz72edy4n/fbi +decimals = 6 + +[hINJ] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18luqttqyckgpddndh8hvaq25d5nfwjc78m56lc +decimals = 18 + +[httuy] +peggy_denom = inj1996tdgklvleuja56gfpv9v3cc2uflmm9vavw05 +decimals = 18 + +[hug] +peggy_denom = inj1ncjqkvnxpyyhvm475std34eyn5c7eydpxxagds +decimals = 18 + +[inj] +peggy_denom = ibc/EA180E422271F35D66E7B9B57AFF072DABEE97EDA4522DAB91F97AE6DD45426D +decimals = 0 + +[injJay] +peggy_denom = factory/inj1ruwdh4vc29t75eryvxs7vwzt7trtrz885teuwa/injJay +decimals = 6 + +[injape] +peggy_denom = inj15ta6ukknq82qcaq38erkvv3ycvmuqc83kn2vqh +decimals = 18 + +[injbulls] +peggy_denom = factory/inj14t4aafu7v0vmls8f73ssrzptcm3prkx2r4tp0n/injbulls +decimals = 6 + +[injera] +peggy_denom = inj1curmejva2lcpu7r887q3skr5ew2jxh8kl0m50t +decimals = 8 + +[injmeme] +peggy_denom = inj18n3gzxa40ht824clrvg2p83fy6panstngkjakt +decimals = 18 + +[injpad] +peggy_denom = factory/inj17yqt8f5677hnxpv5gxjt7uwdrjxln0qhhfcj9j/injpad +decimals = 6 + +[injshiba] +peggy_denom = factory/inj1pgkwcngxel97d9qjvg75upe8y3lvvzncq5tdr0/injshiba +decimals = 6 + +[jack11] +peggy_denom = factory/inj17kgavlktg96nf6uhpje6sutjp60jj8wppx3y3p/jack11 +decimals = 6 + +[jack12] +peggy_denom = factory/inj1maj952d7h8ecseelsur6urhm7lwwnrasuug4y0/jack12 +decimals = 6 + +[jim] +peggy_denom = inj13f6gll3666sa2wnj978lhrvjv2803tu5q8kuqd +decimals = 18 + +[jomanji] +peggy_denom = inj1gy76l9p5ar4yqquk7mqqlmpygxtluu2nf7mt4c +decimals = 18 + +[kami] +peggy_denom = factory/inj1hyjg677dqp3uj3dh9vny874k2gjr5fuvdjjzk7/kami +decimals = 6 + +[keke] +peggy_denom = inj1037seqrvafhzmwffe2rqgcad3akh935d5p3kgk +decimals = 6 + +[ken] +peggy_denom = inj19ajm97y78hpqg5pxwy4ezyf437mccy57k4krh7 +decimals = 6 + +[kimo] +peggy_denom = inj1czegjew4z5tfq8mwljx3qax5ql5k57t38zpkg5 +decimals = 18 + +[kis] +peggy_denom = factory/inj1ygeap3ypldmjgl22al5rpqafemyw7dt6k45n8r/kis +decimals = 0 + +[kishida] +peggy_denom = factory/inj1gt60kj3se0yt8pysnygc3e0syrkrl87k4qc3mz/kishida +decimals = 6 + +[koINJ] +peggy_denom = factory/inj1ruwdh4vc29t75eryvxs7vwzt7trtrz885teuwa/koinj +decimals = 6 + +[ksdhjkahkjhaskj] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/ksdhjkahkjhaskj +decimals = 6 + +[localstorage] +peggy_denom = inj17auxme00fj267ccyhx9y9ue4tuwwuadgxshl7x +decimals = 18 + +[loki] +peggy_denom = ibc/72C208D790F59429C66542C648D69EDA1DC8A81C4B869C11444D906233678D3D +decimals = 0 + +[lootbox1] +peggy_denom = factory/inj1llr45x92t7jrqtxvc02gpkcqhqr82dvyzkr4mz/lootbox1 +decimals = 0 + +[lord] +peggy_denom = inj1xysu0n9sv5wv6aeygdegywz9qkq0v77culynum +decimals = 18 + +[lsdSHARK] +peggy_denom = ibc/E62FEA8924CD79277BD5170852416E863466FB39A6EC0E6AE95E98D6A487AE5F +decimals = 6 + +[mBERB] +peggy_denom = factory/inj168casv2pd0qhjup5u774qeyxlh8gd3g77yneuy/mBERB +decimals = 6 + +[massi] +peggy_denom = inj12n44z9mk0vmga7kv8gysv5w7tgdh6zh4q6t8r7 +decimals = 18 + +[mcNINJA] +peggy_denom = factory/inj1056f9jwmdxjmc3xf3urpka00gjfsnna7ct3gy3/mcNINJA +decimals = 6 + +[memegod] +peggy_denom = factory/inj18fql07frqe0lkvk6ajmpq4smk3q6c0f0qa5yfw/memegod +decimals = 6 + +[memej] +peggy_denom = factory/inj1g5aagfv2t662prxul8ynlzsfmtcx8699w0j7tz/memej +decimals = 6 + +[milkTIA] +peggy_denom = ibc/C2A70D6717D595F388B115200E789DC6E7EE409167B918B5F4E73838B8451A71 +decimals = 6 + +[miniSHROOM] +peggy_denom = inj1mcdhsphq3rkyg9d0sax0arm95tkac4qxdynlkz +decimals = 6 + +[miniSUSHI] +peggy_denom = inj1ex7an3yw5hvw7a6rzd8ljaq9vfd4vc0a06skdp +decimals = 6 + +[mininonja] +peggy_denom = inj1zwhu648g5zm9dqtxfaa6vcja56q7rqz4vff988 +decimals = 18 + +[minions] +peggy_denom = inj1tq0fhr0p05az32c0ehx425c63xrm6ajhak2zpw +decimals = 18 + +[mockBERB] +peggy_denom = inj1s4fua53u7argmq3npm0x9lnm8hkamjjtwayznf +decimals = 6 + +[mycelium] +peggy_denom = factory/inj14cpnzf4mxyxel7le3wp2zxyvwr8g0wukch9865/mycelium +decimals = 6 + +[nATOM] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj16jf4qkcarp3lan4wl2qkrelf4kduvvujwg0780 +decimals = 6 + +[nINJ] +peggy_denom = inj1rmzufd7h09sqfrre5dtvu5d09ta7c0t4jzkr2f +decimals = 18 + +[nTIA] +peggy_denom = inj1fzquxxxam59z6fzewy2hvvreeh3m04x83zg4vv +decimals = 6 -[0x689ea50a30b0aeaf162e57100fefe5348a00099774f1c1ebcd90c4b480fda46a] -description = 'Mainnet Spot WHALE/USDT' -base = 6 -quote = 6 -min_price_tick_size = 0.00001 -min_display_price_tick_size = 0.00001 -min_quantity_tick_size = 10000000 -min_display_quantity_tick_size = 10 +[nUSD] +peggy_denom = factory/inj18nm3q7r2rckklp7h8hgfzu2dlc20sftvd2893w/nUSD +decimals = 18 -[0xac938722067b1dfdfbf346d2434573fb26cb090d309b19af17df2c6827ceb32c] -description = 'Mainnet Spot SOL/USDT' -base = 8 -quote = 6 -min_price_tick_size = 0.0001 -min_display_price_tick_size = 0.01 -min_quantity_tick_size = 1000000 -min_display_quantity_tick_size = 0.01 +[nUSDT] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1cy9hes20vww2yr6crvs75gxy5hpycya2hmjg9s +decimals = 6 -[0x2d3b8d8833dda54a717adea9119134556848105fd6028e9a4a526e4e5a122a57] -description = 'Mainnet Spot KIRA/INJ' -base = 6 -quote = 18 -min_price_tick_size = 10000 -min_display_price_tick_size = 0.00000001 -min_quantity_tick_size = 1000000000 -min_display_quantity_tick_size = 1000 +[nWETH] +peggy_denom = inj1kehk5nvreklhylx22p3x0yjydfsz9fv3fvg5xt +decimals = 18 -[0xdf9317eac1739a23bc385e264afde5d480c0b3d2322660b5efd206071d4e70b7] -description = 'Mainnet Spot NINJA/INJ' -base = 6 -quote = 18 -min_price_tick_size = 1000000 -min_display_price_tick_size = 0.000001 -min_quantity_tick_size = 10000000 -min_display_quantity_tick_size = 10 +[needle] +peggy_denom = inj145ueepjcu9xd42vkwvvwvqa3fvk0q66rnzdkxn +decimals = 6 -[0x4bb3426a2d7ba80c244ef7eecfd7c4fd177d78e63ff40ba6235b1ae471e23cdb] -description = 'Mainnet Spot KATANA/INJ' -base = 6 -quote = 18 -min_price_tick_size = 10000 -min_display_price_tick_size = 0.00000001 -min_quantity_tick_size = 1000000000 -min_display_quantity_tick_size = 1000 +[nibba] +peggy_denom = inj1rk68f3a4kvcrt2nra6klz6npealww2g2avknuj +decimals = 18 -[0x23983c260fc8a6627befa50cfc0374feef834dc1dc90835238c8559cc073e08f] -description = 'Mainnet Spot BRETT/INJ' -base = 6 -quote = 18 -min_price_tick_size = 1000000 -min_display_price_tick_size = 0.000001 -min_quantity_tick_size = 10000000 -min_display_quantity_tick_size = 10 +[ninga] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/ninga +decimals = 6 -[0x6de141d12691dd13fffcc4e3ceeb09191ff445e1f10dfbecedc63a1e365fb6cd] -description = 'Mainnet Spot ZIG/INJ' -base = 18 -quote = 18 -min_price_tick_size = 0.000001 -min_display_price_tick_size = 0.000001 -min_quantity_tick_size = 10000000000000000000 -min_display_quantity_tick_size = 10 +[nipniptestest] +peggy_denom = factory/inj1rnlhp35xqtl0zwlp9tnrelykea9f52nd8av7ec/nipniptestest +decimals = 6 -[0x02b56c5e6038f0dd795efb521718b33412126971608750538409f4b81ab5da2f] -description = 'Mainnet Spot nINJ/INJ' -base = 18 -quote = 18 -min_price_tick_size = 0.0001 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 1000000000000000 -min_display_quantity_tick_size = 0.001 +[nodevnorug] +peggy_denom = factory/inj14epxlhe56lhk5s3nc8wzmetwh6rpehuufe89ak/NODEVNORUG +decimals = 6 -[0xb6c24e9a586a50062f2fac059ddd79f8b0cf1c101e263f4b2c7484b0e20d2899] -description = 'Mainnet Spot GINGER/INJ' -base = 6 -quote = 18 -min_price_tick_size = 100 -min_display_price_tick_size = 0.0000000001 -min_quantity_tick_size = 10000000000 -min_display_quantity_tick_size = 10000 +[nonjainu] +peggy_denom = factory/inj1gxq2pk3ufkpng5s4qc62rcq5rssdxsvk955xdw/nonjainu +decimals = 6 -[0x9b13c89f8f10386b61dd3a58aae56d5c7995133534ed65ac9835bb8d54890961] -description = 'Mainnet Spot SNOWY/INJ' -base = 6 -quote = 18 -min_price_tick_size = 1000000 -min_display_price_tick_size = 0.000001 -min_quantity_tick_size = 1000000 -min_display_quantity_tick_size = 1 +[nonjaktif] +peggy_denom = inj1ra46mrdcc4qd7m8mhdjd9fkut50pa07lwxsvst +decimals = 18 -[0xb3f38c081a1817bb0fc717bf869e93f5557c10851db4e15922e1d9d2297bd802] -description = 'Mainnet Spot AUTISM/INJ' -base = 6 -quote = 18 -min_price_tick_size = 1000000 -min_display_price_tick_size = 0.000001 -min_quantity_tick_size = 10000000 -min_display_quantity_tick_size = 10 +[notDOJO] +peggy_denom = inj1n2l9mq2ndyp83u6me4hf7yw76xkx7h792juksq +decimals = 6 -[0xd0ba680312852ffb0709446fff518e6c4d798fb70cfd2699aba3717a2517cfd5] -description = 'Mainnet Spot APP/INJ' -base = 18 -quote = 6 -min_price_tick_size = 0.000000000000000001 -min_display_price_tick_size = 0.000001 -min_quantity_tick_size = 10000000000000000000 -min_display_quantity_tick_size = 10 +[nub] +peggy_denom = inj1jaahfnl4zf5azy8x20kw43j2qv2vlhavecy9u5 +decimals = 8 -[0x05288e393771f09c923d1189e4265b7c2646b6699f08971fd2adf0bfd4b1ce7a] -description = 'Mainnet Spot APP/INJ ' -base = 18 -quote = 18 -min_price_tick_size = 0.000001 -min_display_price_tick_size = 0.000001 -min_quantity_tick_size = 10000000000000000000 -min_display_quantity_tick_size = 10 +[oneCENT] +peggy_denom = inj12fdu6zgd9z5pv9cm8klv9w98ue7hs25z7uukdg +decimals = 6 -[0x4ca0f92fc28be0c9761326016b5a1a2177dd6375558365116b5bdda9abc229ce] -description = 'Mainnet Derivative BTC/USDT PERP' -base = 0 -quote = 6 -min_price_tick_size = 1000000 -min_display_price_tick_size = 1 -min_quantity_tick_size = 0.0001 -min_display_quantity_tick_size = 0.0001 +[ooga] +peggy_denom = inj1rysrq2nzm0fz3h7t25deh5wetlqz4k9rl06guu +decimals = 18 -[0x54d4505adef6a5cef26bc403a33d595620ded4e15b9e2bc3dd489b714813366a] -description = 'Mainnet Derivative ETH/USDT PERP' -base = 0 -quote = 6 -min_price_tick_size = 100000 -min_display_price_tick_size = 0.1 -min_quantity_tick_size = 0.01 -min_display_quantity_tick_size = 0.01 +[opps] +peggy_denom = inj1wazl9873fqgs4p7rjvn6a4qgqfdafacz9jzzjd +decimals = 18 -[0x1c79dac019f73e4060494ab1b4fcba734350656d6fc4d474f6a238c13c6f9ced] -description = 'Mainnet Derivative BNB/USDT PERP' -base = 0 -quote = 6 -min_price_tick_size = 10000 -min_display_price_tick_size = 0.01 -min_quantity_tick_size = 0.01 -min_display_quantity_tick_size = 0.01 +[orai] +peggy_denom = ibc/E247857D53653BA3592A6CCAF9914227153B938BA768C415FF3BAD6CE6CFA316 +decimals = 0 -[0x9b9980167ecc3645ff1a5517886652d94a0825e54a77d2057cbbe3ebee015963] -description = 'Mainnet Derivative INJ/USDT PERP' -base = 0 -quote = 6 -min_price_tick_size = 1000 -min_display_price_tick_size = 0.001 -min_quantity_tick_size = 0.001 -min_display_quantity_tick_size = 0.001 +[paam] +peggy_denom = factory/inj1hg6n7nfhtevnxq87y2zj4xf28n4p38te6q56vx/paam +decimals = 6 -[0xc559df216747fc11540e638646c384ad977617d6d8f0ea5ffdfc18d52e58ab01] -description = 'Mainnet Derivative ATOM/USDT PERP' -base = 0 -quote = 6 -min_price_tick_size = 1000 -min_display_price_tick_size = 0.001 -min_quantity_tick_size = 0.01 -min_display_quantity_tick_size = 0.01 +[peggy0xdAC17F958D2ee523a2206206994597C13D831ec7] +peggy_denom = ibc/ECBEA5A9A992EE96B327CBA081AA35EB4E62C6A1A3990D2C0326E9A5840793A4 +decimals = 0 -[0x8c7fd5e6a7f49d840512a43d95389a78e60ebaf0cde1af86b26a785eb23b3be5] -description = 'Mainnet Derivative OSMO/UST PERP' -base = 0 -quote = 6 -min_price_tick_size = 1000 -min_display_price_tick_size = 0.001 -min_quantity_tick_size = 0.01 -min_display_quantity_tick_size = 0.01 +[peipei] +peggy_denom = inj1rd0ympknmutwvvq8egl6j7ukjyqeh2uteqyyx7 +decimals = 6 -[0x06c5a306492ddc2b8dc56969766959163287ed68a6b59baa2f42330dda0aebe0] -description = 'Mainnet Derivative SOL/USDT PERP' -base = 0 -quote = 6 -min_price_tick_size = 10000 -min_display_price_tick_size = 0.01 -min_quantity_tick_size = 0.1 -min_display_quantity_tick_size = 0.1 +[pepe] +peggy_denom = inj1f2vr6hd9w4xujncyprw670l3g7x2esj50umn8k +decimals = 18 -[0xcd0c859a99f26bb3530e21890937ed77d20754aa7825a599c71710514fc125ef] -description = 'Mainnet Derivative 1MPEPE/USDT PERP' -base = 0 -quote = 6 -min_price_tick_size = 100 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 1 -min_display_quantity_tick_size = 1 +[pigs] +peggy_denom = factory/inj1prp8jk9fvxjzdgv8n2qlgrdfgxpq7t6k6rkmc7/PIGS +decimals = 6 -[0x63bafbeee644b6606afb8476dd378fba35d516c7081d6045145790af963545aa] -description = 'Mainnet Derivative XRP/USDT PERP' -base = 0 -quote = 6 -min_price_tick_size = 100 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 0.1 -min_display_quantity_tick_size = 0.1 +[poolDFB8434D5A80B4EAFA94B6878BD5B85265AC6C5D37204AB899B1C3C52543DA7E] +peggy_denom = ibc/9E9FFBF2C6921D1DFB3326DF5A140D1F802E336FE0BF38C0D708B62492A7326D +decimals = 0 -[0x1afa358349b140e49441b6e68529578c7d2f27f06e18ef874f428457c0aaeb8b] -description = 'Mainnet Derivative SEI/USDT PERP' -base = 0 -quote = 6 -min_price_tick_size = 100 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 1 -min_display_quantity_tick_size = 1 +[popINJay] +peggy_denom = factory/inj1rn2snthhvdt4m62uakp7snzk7melj2x8nfqkx5/popINJay +decimals = 6 + +[ppica] +peggy_denom = ibc/8B42C90767030357E99BE35BB5BCBD5A69F6E9E20F4A9FD0498823FD10FF86F9 +decimals = 0 + +[pumping] +peggy_denom = inj1rts275s729dqcf7htz4hulrerpz85leufsh8xl +decimals = 8 + +[qcAQLA] +peggy_denom = ibc/F33465130E040E67BFEA9BFF0F805F6B08BD49F87CC6C02EEBEB6D4E2D94FDCE +decimals = 6 + +[qcFUZN] +peggy_denom = ibc/5E44326A289ED1CA0536517BC958881B611D21CBB33EBE068F1E04A502A9F548 +decimals = 6 + +[qcKUJI] +peggy_denom = ibc/B7C8418ABE8CF56B42A37215F6A715097FDD82AC322FE560CA589833FEE8C50D +decimals = 6 + +[qcMNTA] +peggy_denom = ibc/F770E830BC7E2992BC0DBECAC789432995B64BD6714C36EA092D877E28AA9493 +decimals = 6 + +[rBAGGIO] +peggy_denom = inj13z8pahkrcu2zk44el6lcnw9z3amstuneay5efs +decimals = 6 + +[rETH] +peggy_denom = ibc/8906BF683A89D1ABE075A49EFA35A3128D7E9D809775B8E9D5AEEAA55D2889DD +decimals = 18 + +[rFUZN] +peggy_denom = ibc/F5FFC37BBF4B24F94D920BC7DAFCCE5B9403B2DB33DF759B8CED76EA8A6E3E24 +decimals = 6 + +[ra] +peggy_denom = factory/inj1evhsnsrfpvq7jrjzkkn7zwcdtm9k5ac8rh47n8/ra +decimals = 6 + +[rat] +peggy_denom = factory/inj1evhsnsrfpvq7jrjzkkn7zwcdtm9k5ac8rh47n8/rat +decimals = 9 + +[rdl] +peggy_denom = inj1q6khaa8av7pet763qmz0ytvgndl6g4sn37tvs5 +decimals = 18 + +[roba] +peggy_denom = inj1gn3py3euhfunvt5qe8maanzuwzf8y2lm2ysy24 +decimals = 18 + +[sINJ] +peggy_denom = inj162hf4hjntzpdghq2c5e966g2ldd83jkmqcvqgq +decimals = 6 + +[sUSDE] +peggy_denom = peggy0x9D39A5DE30e57443BfF2A8307A4256c8797A3497 +decimals = 18 + +[santakurosu] +peggy_denom = factory/inj1dzd34k9x3pt09pc68emp85usgeyk33qn9a4euv/santakurosu +decimals = 6 + +[sclaleX Finance] +peggy_denom = inj1x04gt4mtdepdjy5j3dk22g8mymw3jgqkzrm0fc +decimals = 18 + +[scorpion] +peggy_denom = factory/inj1a37dnkznmek8l5uyg24xl5f7rvftpvqsduex24/scorpion +decimals = 6 + +[sentinel] +peggy_denom = inj172tsvz4t82m28rrthmvatfzqaphen66ty06qzn +decimals = 18 + +[seven] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/seven +decimals = 6 + +[sfrxETH] +peggy_denom = ibc/E918585C09958BD328DD9E7215E4726623E7A9A94342FEA5BE126A2AAF920730 +decimals = 18 + +[share1] +peggy_denom = share1 +decimals = 18 + +[share10] +peggy_denom = share10 +decimals = 18 + +[share11] +peggy_denom = share11 +decimals = 18 + +[share15] +peggy_denom = share15 +decimals = 18 + +[share16] +peggy_denom = share16 +decimals = 18 + +[share18] +peggy_denom = share18 +decimals = 18 + +[share2] +peggy_denom = share2 +decimals = 18 + +[share20] +peggy_denom = share20 +decimals = 18 + +[share24] +peggy_denom = share24 +decimals = 18 + +[share25] +peggy_denom = share25 +decimals = 18 + +[share26] +peggy_denom = share26 +decimals = 18 + +[share27] +peggy_denom = share27 +decimals = 18 + +[share28] +peggy_denom = share28 +decimals = 18 + +[share29] +peggy_denom = share29 +decimals = 18 + +[share3] +peggy_denom = share3 +decimals = 18 + +[share30] +peggy_denom = share30 +decimals = 18 + +[share31] +peggy_denom = share31 +decimals = 18 + +[share32] +peggy_denom = share32 +decimals = 18 + +[share33] +peggy_denom = share33 +decimals = 18 + +[share34] +peggy_denom = share34 +decimals = 18 + +[share35] +peggy_denom = share35 +decimals = 18 + +[share36] +peggy_denom = share36 +decimals = 18 + +[share37] +peggy_denom = share37 +decimals = 18 + +[share38] +peggy_denom = share38 +decimals = 18 + +[share39] +peggy_denom = share39 +decimals = 18 + +[share4] +peggy_denom = share4 +decimals = 18 + +[share40] +peggy_denom = share40 +decimals = 18 + +[share41] +peggy_denom = share41 +decimals = 18 + +[share42] +peggy_denom = share42 +decimals = 18 + +[share43] +peggy_denom = share43 +decimals = 18 + +[share44] +peggy_denom = share44 +decimals = 18 + +[share45] +peggy_denom = share45 +decimals = 18 + +[share46] +peggy_denom = share46 +decimals = 18 + +[share47] +peggy_denom = share47 +decimals = 18 + +[share48] +peggy_denom = share48 +decimals = 18 + +[share49] +peggy_denom = share49 +decimals = 18 + +[share5] +peggy_denom = share5 +decimals = 18 + +[share50] +peggy_denom = share50 +decimals = 18 + +[share51] +peggy_denom = share51 +decimals = 18 + +[share52] +peggy_denom = share52 +decimals = 18 + +[share53] +peggy_denom = share53 +decimals = 18 + +[share54] +peggy_denom = share54 +decimals = 18 + +[share55] +peggy_denom = share55 +decimals = 18 + +[share56] +peggy_denom = share56 +decimals = 18 -[0x4fe7aff4dd27be7cbb924336e7fe2d160387bb1750811cf165ce58d4c612aebb] -description = 'Mainnet Derivative AXL/USDT PERP' -base = 0 -quote = 6 -min_price_tick_size = 100 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 1 -min_display_quantity_tick_size = 1 +[share57] +peggy_denom = share57 +decimals = 18 -[0x887beca72224f88fb678a13a1ae91d39c53a05459fd37ef55005eb68f745d46d] -description = 'Mainnet Derivative PYTH/USDT PERP' -base = 0 -quote = 6 -min_price_tick_size = 100 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 1 -min_display_quantity_tick_size = 1 +[share58] +peggy_denom = share58 +decimals = 18 -[0x9066bfa1bd97685e0df4e22a104f510fb867fde7f74a52f3341c7f5f56eb889c] -description = 'Mainnet Derivative TIA/USDT PERP' -base = 0 -quote = 6 -min_price_tick_size = 1000 -min_display_price_tick_size = 0.001 -min_quantity_tick_size = 0.1 -min_display_quantity_tick_size = 0.1 +[share59] +peggy_denom = share59 +decimals = 18 -[0x7a70d95e24ba42b99a30121e6a4ff0d6161847d5b86cbfc3d4b3a81d8e190a70] -description = 'Mainnet Derivative ZRO/USDT PERP' -base = 0 -quote = 6 -min_price_tick_size = 1000 -min_display_price_tick_size = 0.001 -min_quantity_tick_size = 0.1 -min_display_quantity_tick_size = 0.1 +[share6] +peggy_denom = share6 +decimals = 18 -[0x03841e74624fd885d1ee28453f921d18c211e78a0d7646c792c7903054eb152c] -description = 'Mainnet Derivative JUP/USDT PERP' -base = 0 -quote = 6 -min_price_tick_size = 10 -min_display_price_tick_size = 0.00001 -min_quantity_tick_size = 1 -min_display_quantity_tick_size = 1 +[share60] +peggy_denom = share60 +decimals = 18 -[AAVE] -peggy_denom = peggy0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9 +[share61] +peggy_denom = share61 decimals = 18 -[APE] -peggy_denom = peggy0x4d224452801ACEd8B2F0aebE155379bb5D594381 +[share8] +peggy_denom = share8 decimals = 18 -[APP] -peggy_denom = peggy0xC5d27F27F08D1FD1E3EbBAa50b3442e6c0D50439 +[share9] +peggy_denom = share9 decimals = 18 -[ARB] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d5vz0uzwlpfvgwrwulxg6syy82axa58y4fuszd -decimals = 8 +[shark] +peggy_denom = inj13y7ft3ppnwvnwey2meslv3w60arx074vlt6zwl +decimals = 18 -[ATOM] -peggy_denom = ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9 +[shiba] +peggy_denom = factory/inj1v0yk4msqsff7e9zf8ktxykfhz2hen6t2u4ue4r/shiba decimals = 6 -[AUTISM] -peggy_denom = factory/inj14lf8xm6fcvlggpa7guxzjqwjmtr24gnvf56hvz/autism +[shromin] +peggy_denom = inj1x084w0279944a2f4hwcr7hay5knrmuuf8xrvvs decimals = 6 -[AXS] -peggy_denom = peggy0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b +[shroomin] +peggy_denom = inj1300xcg9naqy00fujsr9r8alwk7dh65uqu87xm8 decimals = 18 -[BRETT] -peggy_denom = factory/inj13jjdsa953w03dvecsr43dj5r6a2vzt7n0spncv/brett +[shuriken] +peggy_denom = inj1afr2er5nrevh90nywpka0gv8ywcx3fjhlpz4w3 decimals = 6 -[CANTO] -peggy_denom = ibc/D91A2C4EE7CD86BBAFCE0FA44A60DDD9AFBB7EEB5B2D46C0984DEBCC6FEDFAE8 +[smokingNONJA] +peggy_denom = factory/inj1907wkvrn9q256pulcc6n4dkk9425d2rd8t2qwt/smokingNONJA +decimals = 6 + +[socks] +peggy_denom = factory/inj1an64kx7fr7fgyrpsuhlzjmuw4a5mmwnwyk3udq/socks +decimals = 6 + +[solana.USDC.wh] +peggy_denom = ibc/FF3CF830E60679530072C4787A76D18E81C04F9725C3523F941DF0D8B7EB24F0 +decimals = 6 + +[space candy for degens] +peggy_denom = inj1qt78z7xru0fcks54ca56uehuzwal026ghhtxdv +decimals = 6 + +[spore] +peggy_denom = inj1uqhcsup58gjfxl26z9esenmr03hn8wyz2mlc02 decimals = 18 -[CHZ] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q6kpxy6ar5lkxqudjvryarrrttmakwsvzkvcyh -decimals = 8 +[spuun] +peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/spuun +decimals = 6 -[CRE] -peggy_denom = ibc/3A6DD3358D9F7ADD18CDE79BA10B400511A5DE4AE2C037D7C9639B52ADAF35C6 +[sqATOM] +peggy_denom = ibc/C63E6285FA0EE014B89671A7A633E1CE7F62310312843B9AC7248910619143C6 decimals = 6 -[DOT] -peggy_denom = ibc/624BA9DD171915A2B9EA70F69638B2CEA179959850C1A586F6C485498F29EDD4 -decimals = 10 +[sqBTC] +peggy_denom = ibc/81C212661A115B9799C71173DD131B5077B14A3FBD26A8A9A0C669F76F434E23 +decimals = 6 -[ETHBTCTrend] -peggy_denom = peggy0x6b7f87279982d919Bbf85182DDeAB179B366D8f2 +[sqOSMO] +peggy_denom = ibc/AFCDF4348DBDF92BCF631B1D38628F75683F45A8A0DCE304FC9AAD4F31609916 +decimals = 6 + +[sqTIA] +peggy_denom = ibc/D2098712E1B9398AD8D05966A5766D4C32137D9A06CF839376221176CFD9AF0B +decimals = 6 + +[squid] +peggy_denom = factory/inj1nhswhqrgfu3hpauvyeycz7pfealx4ack2c5hfp/squid +decimals = 6 + +[stATOM] +peggy_denom = ibc/B024EC4AE846F690CB46C1CE886BE7DCE27CBBB6CE1E4EFBA4AA764E07B81A69 +decimals = 6 + +[stBAND] +peggy_denom = ibc/95A65C08D2A7BFE5630E1B7FDCD89B2134D1A5ACE0C5726D6060A992CBAFA504 +decimals = 6 + +[stCMDX] +peggy_denom = ibc/0CAB2CA45981598C95B6BE18252AEFE1E9E1691D8B4C661997AD7B836FD904D6 +decimals = 6 + +[stDYDX] +peggy_denom = ibc/9B324282388BEBD0E028749E9E10627BA2BA13ADBE7FF04274F2CFBDD271BA4B decimals = 18 -[EVMOS] -peggy_denom = ibc/16618B7F7AC551F48C057A13F4CA5503693FBFF507719A85BC6876B8BD75F821 +[stDYM] +peggy_denom = ibc/7F4BE10120E17C0F493124FFEDC1A3397B8BECEA83701CE8DC8D8B1E3A2A7763 decimals = 18 -[GF] -peggy_denom = peggy0xAaEf88cEa01475125522e117BFe45cF32044E238 +[stETH] +peggy_denom = peggy0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84 decimals = 18 -[GINGER] -peggy_denom = factory/inj172ccd0gddgz203e4pf86ype7zjx573tn8g0df9/GINGER +[stEVMOS] +peggy_denom = ibc/75F64E20A70C5059F8EA792F1C47260DC7C6CBAC69DBA60E151AD5416E93C34C +decimals = 18 + +[stIBCX] +peggy_denom = ibc/0A6B424A8207047D9FD499F59177BABD8DB08BBC2316B29B702A403BFB414419 decimals = 6 -[GRT] -peggy_denom = peggy0xc944E90C64B2c07662A292be6244BDf05Cda44a7 +[stISLM] +peggy_denom = ibc/813891E20F25E46CF9DE9836EB7F34BCABA45927754DDE8C0E74FE694968F8C2 decimals = 18 -[HUAHUA] -peggy_denom = ibc/E7807A46C0B7B44B350DA58F51F278881B863EC4DCA94635DAB39E52C30766CB +[stJUNO] +peggy_denom = ibc/580E52A2C2DB126EE2160D1BDBBA33B5839D53B5E59D04D4FF438AE9BB7BFAAB decimals = 6 -[INJ] -peggy_denom = inj -decimals = 18 +[stLUNA] +peggy_denom = ibc/E98796F283A8B56A221011C2EDF7079BB62D1EA3EEF3E7CF4C679E91C6D97D08 +decimals = 6 -[KATANA] -peggy_denom = factory/inj1vwn4x08hlactxj3y3kuqddafs2hhqzapruwt87/katana +[stOSMO] +peggy_denom = ibc/6D821F3CFAE78E9EBD872FAEC61C400C0D9B72E77FA14614CF1B775A528854FD decimals = 6 -[KAVA] -peggy_denom = ibc/57AA1A70A4BC9769C525EBF6386F7A21536E04A79D62E1981EFCEF9428EBB205 +[stSAGA] +peggy_denom = ibc/7C9A65FC985CCD22D0B56F1CEB2DDA3D552088FCE17E9FDF6D18F49BEDBEBF97 decimals = 6 -[KIRA] -peggy_denom = factory/inj1xy3kvlr4q4wdd6lrelsrw2fk2ged0any44hhwq/KIRA +[stSOMM] +peggy_denom = ibc/9C234DA49B8DDAFB8F71F21BEB109F6255ECA146A32FD3A36CB9210647CBD037 decimals = 6 -[KUJI] -peggy_denom = ibc/9A115B56E769B92621FFF90567E2D60EFD146E86E867491DB69EEDA9ADC36204 +[stSTARS] +peggy_denom = ibc/DD0F92D576A9A60487F17685A987AB6EDB359E661D281ED31F3AE560650ECFCB decimals = 6 -[LDO] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1me6t602jlndzxgv2d7ekcnkjuqdp7vfh4txpyy -decimals = 8 +[stTIA] +peggy_denom = ibc/32F6EDA3E2B2A7F9C4A62F11935CF5D25948372A5A85281D7ABB9A2D0F0B7182 +decimals = 6 -[LINK] -peggy_denom = peggy0x514910771AF9Ca656af840dff83E8264EcF986CA -decimals = 18 +[stUMEE] +peggy_denom = ibc/FC8E98DF998AE88129183094E49383F94B3E5F1844C939D380AF18061FEF41EB +decimals = 6 -[LUNA] -peggy_denom = ibc/B8AF5D92165F35AB31F3FC7C7B444B9D240760FA5D406C49D24862BD0284E395 +[stinj] +peggy_denom = ibc/FAFBDE851E97E4B566B050B843F6BBCE14D7DC88DA69840850271BA8DF72EAEE +decimals = 0 + +[stkATOM] +peggy_denom = ibc/B8E30AECB0FB5BA1B02747BE003E55934A9E42488495412C7E9934FBEC06B201 decimals = 6 -[MATIC] -peggy_denom = peggy0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0 +[stkDYDX] +peggy_denom = ibc/93948A8FB433293F1C89970EA4596C4E8D4DD7E9F041058C7C47F0760F7C9693 decimals = 18 -[NEOK] -peggy_denom = ibc/F6CC233E5C0EA36B1F74AB1AF98471A2D6A80E2542856639703E908B4D93E7C4 -decimals = 18 +[stkHUAHUA] +peggy_denom = ibc/7DC72C8C753E145A627515EC6DFFD23CDED27D443C79E4B8DB2B1AB1F18B6A66 +decimals = 6 -[NINJA] -peggy_denom = factory/inj1xtel2knkt8hmc9dnzpjz6kdmacgcfmlv5f308w/ninja +[stkOSMO] +peggy_denom = ibc/F60E1792296F6264E594B5F87C3B5CDE859A1D9B3421F203E986B7BA3C4E05F1 decimals = 6 -[ORAI] -peggy_denom = ibc/C20C0A822BD22B2CEF0D067400FCCFB6FAEEE9E91D360B4E0725BD522302D565 +[stkSTARS] +peggy_denom = ibc/77F4E05BDB54051FAF0BE956FCE83D8E0E4227DD53F764BB32D8ECF685A93F55 decimals = 6 -[PUG] -peggy_denom = peggy0xf9a06dE3F6639E6ee4F079095D5093644Ad85E8b +[stkXPRT] +peggy_denom = ibc/6E5EEA7EC6379417CA5A661AD367753359607BD74A58FD4F60E8D26254FB8D12 +decimals = 6 + +[storage] +peggy_denom = inj1dzatga5p63z2rpfqx7vh4fp6as8y46enkrfst0 decimals = 18 -[PYTH] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1tjcf9497fwmrnk22jfu5hsdq82qshga54ajvzy +[subs] +peggy_denom = factory/inj1lq9wn94d49tt7gc834cxkm0j5kwlwu4gm65lhe/subs decimals = 6 -[QNT] -peggy_denom = peggy0x4a220E6096B25EADb88358cb44068A3248254675 +[super] +peggy_denom = inj1fq8mjddyvkas32ltzzaqru6nesse2ft8xnn3vs decimals = 18 -[SNOWY] -peggy_denom = factory/inj1ml33x7lkxk6x2x95d3alw4h84evlcdz2gnehmk/SNOWY +[symbol] +peggy_denom = factory/inj1v0yk4msqsff7e9zf8ktxykfhz2hen6t2u4ue4r/inj-test decimals = 6 -[SNX] -peggy_denom = peggy0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F +[tBTC] +peggy_denom = ibc/CDF0747148A7E6FCF27143312A8A5B7F9AEF0EF8BD4FA4381815A5EDBFC9B87E +decimals = 8 + +[tama] +peggy_denom = factory/inj18feu0k5w2r0jsffgx8ue8pfj2nntfucaj0dr8v/tama +decimals = 6 + +[teclub] +peggy_denom = inj125hp6pmxyajhldefkrcmc87lx08kvwtag382ks decimals = 18 -[SOL] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sthrn5ep8ls5vzz8f9gp89khhmedahhdkqa8z3 -decimals = 8 +[terever] +peggy_denom = inj14tepyvvxsn9yy2hgqrl4stqzm2h0vla9ee8ya9 +decimals = 18 -[SOMM] -peggy_denom = ibc/34346A60A95EB030D62D6F5BDD4B745BE18E8A693372A8A347D5D53DBBB1328B +[test] +peggy_denom = inj1qqn3urdskeq9mlm37c375978kv3rxgjx2kff9p +decimals = 18 + +[test1] +peggy_denom = factory/inj1lq9wn94d49tt7gc834cxkm0j5kwlwu4gm65lhe/test1 decimals = 6 -[STRD] -peggy_denom = ibc/3FDD002A3A4019B05A33D324B2F29748E77AF501BEA5C96D1F28B2D6755F9F25 +[test2] +peggy_denom = factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/test2 decimals = 6 -[SUSHI] -peggy_denom = peggy0x6B3595068778DD592e39A122f4f5a5cF09C90fE2 +[test3] +peggy_denom = factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/test3 +decimals = 6 + +[test4] +peggy_denom = factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/test4 +decimals = 6 + +[test5] +peggy_denom = factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/test5 +decimals = 6 + +[test6] +peggy_denom = factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/test6 +decimals = 6 + +[testclub] +peggy_denom = inj15v7mu4ywf8rvy5wk9ptrq7we32e3q0shkhuhg8 decimals = 18 -[SteadyBTC] -peggy_denom = peggy0x4986fD36b6b16f49b43282Ee2e24C5cF90ed166d +[testclubss] +peggy_denom = inj1r0rkq2v70lur23jczassuqu5qwc5npcjpp3e8c decimals = 18 -[SteadyETH] -peggy_denom = peggy0x3F07A84eCdf494310D397d24c1C78B041D2fa622 +[testdaojo] +peggy_denom = inj174v6mke336kqzf7rl7ud43ddc4vsqh2q4mnl6t decimals = 18 -[TALIS] -peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/Talis +[testooo] +peggy_denom = factory/inj17pn6nwvk33404flhglujj4n5y3p2esy5x0cfhm/testooo decimals = 6 -[TIA] -peggy_denom = ibc/F51BB221BAA275F2EBF654F70B005627D7E713AFFD6D86AFD1E43CAA886149F4 +[testt] +peggy_denom = factory/inj1lq9wn94d49tt7gc834cxkm0j5kwlwu4gm65lhe/testt decimals = 6 -[UNI] -peggy_denom = peggy0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984 +[testtesttest] +peggy_denom = inj1w4clv0alsnt5ez2v7dl9yjzmg7mkfzjs0cf7cz decimals = 18 -[USC Coin (Wormhole from Ethereum)] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q6zlut7gtkzknkk773jecujwsdkgq882akqksk +[testuuu] +peggy_denom = factory/inj17pn6nwvk33404flhglujj4n5y3p2esy5x0cfhm/testuuu decimals = 6 -[USDC] -peggy_denom = peggy0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 +[toby] +peggy_denom = factory/inj1temu696g738vldkgnn7fqmgvkq2l36qsng5ea7/toby decimals = 6 -[USDCso] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj12pwnhtv7yat2s30xuf4gdk9qm85v4j3e60dgvu +[token] +peggy_denom = inj1l2juxl35xedtneaq2eyk535cw5hq4x3krjqsl3 decimals = 6 -[USDT] -peggy_denom = peggy0xdAC17F958D2ee523a2206206994597C13D831ec7 +[tonc] +peggy_denom = inj1aqtnpa0ghger4mlz4u46cl48rr82jes043pugz +decimals = 18 + +[tone] +peggy_denom = inj1rgfquap6gahcdekg4pv6ru030w9yaph7nhcp9g +decimals = 18 + +[tonf] +peggy_denom = inj180rq0xetfzwjquxg4mukc4qw0mzprkhetrygv5 +decimals = 18 + +[toto] +peggy_denom = inj17dpjwzzr05uvegj4hhwtf47y0u362qgm6r3f5r +decimals = 18 + +[tpixdog] +peggy_denom = inj17mxrt7ywxgjh4lsk8kqjgqt0zc6pzj5jwd5xt7 +decimals = 18 + +[tremp] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/tremp decimals = 6 -[USDTkv] -peggy_denom = ibc/4ABBEF4C8926DDDB320AE5188CFD63267ABBCEFC0583E4AE05D6E5AA2401DDAB +[trs] +peggy_denom = factory/inj1h0w5sj0n07cugus02xfywaghvxxh8pp3e9egs6/trs +decimals = 12 + +[trump] +peggy_denom = inj1a6d54f5f737e8xs54qpxhs9v5l233n6qy9kyud +decimals = 18 + +[tst] +peggy_denom = inj1ukx6qs0guxzcf0an80vw8q88203cl75cey67lw +decimals = 18 + +[tsty] +peggy_denom = factory/inj1lvlvg3mkc3txakeyrqfzemkc7muvm9656mf2az/tsty decimals = 6 -[USDY] -peggy_denom = peggy0x96F6eF951840721AdBF46Ac996b59E0235CB985C +[tve] +peggy_denom = inj1y208239ua6mchwayw8s8jfnuyqktycqhk6tmhv decimals = 18 -[UST] -peggy_denom = ibc/B448C0CA358B958301D328CCDC5D5AD642FC30A6D3AE106FF721DB315F3DDE5C +[uLP] +peggy_denom = factory/inj1dewkg7z8vffqxk7jcer6sf9ttnx54z0c6gfjw6/uLP decimals = 6 -[WBTC] -peggy_denom = peggy0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 -decimals = 8 +[uakt] +peggy_denom = ibc/3BADB97E59D4BB8A26AD5E5485EF0AF123982363D1174AA1C6DEA9BE9C7E934D +decimals = 0 -[WETH] -peggy_denom = peggy0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 -decimals = 18 +[uatom] +peggy_denom = ibc/F1EEC63548B066D76B9B82D04DE25C424932DABD9234116836BAF759E8130BC3 +decimals = 0 -[WHALE] -peggy_denom = ibc/D6E6A20ABDD600742D22464340A7701558027759CE14D12590F8EA869CCCF445 +[uaxl] +peggy_denom = ibc/C49B72C4E85AE5361C3E0F0587B24F509CB16ECEB8970B6F917D697036AF49BE +decimals = 0 + +[ubld] +peggy_denom = ibc/40AE872789CC2B160222CC4301CA9B097493BD858EAD84218E2EC29C64F0BBAB +decimals = 0 + +[ubtsg] +peggy_denom = ibc/AC45D6359281E50A7498B10B9F38B7BE4868628E45E531D68F77422EFE430365 +decimals = 0 + +[ucmdx] +peggy_denom = ibc/2609F5ECC10691FE306DE1B99E4F6AF18F689ED328969F93186F28BE1173EEED +decimals = 0 + +[ucore] +peggy_denom = ibc/478A95ED132D071603C8AD0FC5E1A74717653880144E0D9B2508A230820921EF +decimals = 0 + +[ucrbrus] +peggy_denom = ibc/95B32740756E6DF2EAA242978EBF0FF6F3B632B8601DC12CB912D5957E8AB118 +decimals = 0 + +[ucre] +peggy_denom = ibc/021FDD63F6D8DA6998A93DD25A72BD18421604A50819D01932136E934F9A26C4 +decimals = 0 + +[udoki] +peggy_denom = ibc/80A2109FA720FF39E302876F885039D7378B3FC7B9FAF22E05E29EFB8F7B3306 +decimals = 0 + +[uhuahua] +peggy_denom = ibc/613786F0A8E01B0436DE4EBC2F922672063D8348AE5C7FEBA5CB22CD2B12E1D6 +decimals = 0 + +[ukuji] +peggy_denom = ibc/B5BB79AC621108184E03AD6B82456EBC96041B877A1652445CF32619CC9DA5C1 +decimals = 0 + +[uluna] +peggy_denom = ibc/BE3E2A75AFBA5F56017D7BB68FBAB013E08BF1633F92528197286C26967FBF42 +decimals = 0 + +[ulvn] +peggy_denom = factory/osmo1mlng7pz4pnyxtpq0akfwall37czyk9lukaucsrn30ameplhhshtqdvfm5c/ulvn decimals = 6 -[WMATIC] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1dxv423h8ygzgxmxnvrf33ws3k94aedfdevxd8h -decimals = 8 +[unois] +peggy_denom = ibc/FA2E855E713B5D73C6AA54822791ADFD1BA73EFA5FDFDA903120A1FB0FF12733 +decimals = 0 -[XBX] -peggy_denom = peggy0x080B12E80C9b45e97C23b6ad10a16B3e2a123949 +[untrn] +peggy_denom = ibc/C8099767548EA68F722AD0F8A8C807A5E6B6A8CA0A6FD7B8BD9B1AE96D19AC3E +decimals = 0 + +[uosmo] +peggy_denom = ibc/D24B4564BCD51D3D02D9987D92571EAC5915676A9BD6D9B0C1D0254CB8A5EA34 +decimals = 0 + +[uscrt] +peggy_denom = ibc/E801CF19C7B3FFC5FD81A1C9662BCFAE08F4976B054923BC0DA377F1863D3E56 +decimals = 0 + +[usei] +peggy_denom = ibc/BE749147EF2813020A5A77D29183336CFAA1A53B67E522EF103D6803DE0E084B +decimals = 0 + +[ustrd] +peggy_denom = ibc/F72F979601BD2FCF748C2E93092E9CB55A8BDB738567AB42C19D403A7C636110 +decimals = 0 + +[utia] +peggy_denom = ibc/FE2F22FEFB9E5F2EA063FD3135533B916577149A3D69CC2BF7BB4224BC9B1230 +decimals = 0 + +[uumee] +peggy_denom = ibc/EE0EC814EF89AFCA8C9CB385F5A69CFF52FAAD00879BEA44DE78F9AABFFCCE42 +decimals = 0 + +[uusd] +peggy_denom = ibc/C3BD5051E685B9A447352FB2D5773F8E4A015521CBD0A534B3F514FCA17C9030 +decimals = 0 + +[uusdc] +peggy_denom = ibc/E43E4F1FD4B84EE30EDB8E0BE6F03E0A5596B292EAA0F198789DDF0C1301FB85 +decimals = 0 + +[uusdt] +peggy_denom = ibc/D3FA7185FEB5D4A07F08F8A0847290A2BAC9372C5C5DF1E7F7BFEEDD852E9052 +decimals = 0 + +[uwhale] +peggy_denom = ibc/CB9BA999A7CDA4CE00784BFF705A1D0BDB95AD80334FD0F95A5BA306078C96E9 +decimals = 0 + +[uxprt] +peggy_denom = ibc/AB1E9C841105F28E9B70ED5EF1239B2D5E567F6E16818D87EFFA75E62778C8E4 +decimals = 0 + +[wBTC] +peggy_denom = inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku decimals = 18 -[XPRT] -peggy_denom = ibc/B786E7CBBF026F6F15A8DA248E0F18C62A0F7A70CB2DABD9239398C8B5150ABB +[wETH] +peggy_denom = peggy0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 +decimals = 18 + +[wLIBRA] +peggy_denom = ibc/FCCACE2DFDF08422A050486E09697AE34D4C620DC51CFBEF59B60AE3946CC569 decimals = 6 -[ZIG] -peggy_denom = peggy0xb2617246d0c6c0087f18703d576831899ca94f01 +[wUSDM] +peggy_denom = peggy0x57F5E098CaD7A3D1Eed53991D4d66C45C9AF7812 decimals = 18 -[axlUSDC] -peggy_denom = ibc/7E1AF94AD246BE522892751046F0C959B768642E5671CC3742264068D49553C0 +[wen] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/wen decimals = 6 -[nINJ] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13xlpypcwl5fuc84uhqzzqumnrcfpptyl6w3vrf +[wera] +peggy_denom = factory/inj1j3c89aqgw9g4sqwtxzldslqxla4d5a7csgaxgq/wera +decimals = 6 + +[wglmr-wei] +peggy_denom = ibc/0C8737145CF8CAE5DC1007450882E251744B57119600E1A2DACE72C8C272849D +decimals = 0 + +[winston] +peggy_denom = inj128kf4kufhd0w4zwpz4ug5x9qd7pa4hqyhm3re4 +decimals = 6 + +[wmatic-wei] +peggy_denom = ibc/D4ED143E25535EBF6374A1A077BE205A687B69872484DF064ED2BAD6E5C3D762 +decimals = 0 + +[wstETH] +peggy_denom = ibc/E4BDC3A9935959C715961FFC6C12159EAD8FA4A5955D069EE19D0423FF810C6E decimals = 18 -[stINJ] -peggy_denom = ibc/AC87717EA002B0123B10A05063E69BCA274BA2C44D842AEEB41558D2856DCE93 +[wynn] +peggy_denom = factory/inj1mmn3lqt5eahuu7cmpcjme6lj0xhjlhj3qj4fhh/wynn +decimals = 6 + +[x69] +peggy_denom = factory/inj1dkwqv24lyt94ukg65qf4xc8tj8wsu7x9p76enk/x69 +decimals = 6 + +[xASTRO] +peggy_denom = ibc/11B5974E9592AFEDBD74F08BE92A06A626CE01BEB395090C1567ABEE551B04C0 +decimals = 6 + +[xCC] +peggy_denom = inj1vnf98sw93chhpagtk54pr4z5dq02nxprhnhnm6 +decimals = 8 + +[xMNTA] +peggy_denom = ibc/0932033C2B34411381BB987F12539A031EF90CC7F818D65C531266413249F7DB +decimals = 6 + +[xNinja.Tech Token] +peggy_denom = inj17pgmlk6fpfmqyffs205l98pmnmp688mt0948ar decimals = 18 + +[xSEUL] +peggy_denom = ibc/CC381CB977B79239696AC471777FEC12816B9EF7F601EE2DAF17C00F51C25F6F +decimals = 6 + +[xUSK] +peggy_denom = ibc/F8E646585298F0F0B4CF0F8EC0978CEB10E8092389E7866BFD9A5E46BE9542A6 +decimals = 6 + +[xxx] +peggy_denom = ibc/C0B67C5C6E3D8ED32B5FEC0E5A4F4E5D0257C62B4FDE5E569AF425B6A0059CC4 +decimals = 10 + +[yFUZN] +peggy_denom = ibc/71C297610507CCB7D42E49EA49AF2ECBBE2D4A83D139C4A441EB7A2693C0464A +decimals = 6 + +[zinjer] +peggy_denom = factory/inj1t0vyy5c3cnrw9f0mpjz9xk7fp22ezjjmrza7xn/zinjer +decimals = 6 diff --git a/client/metadata/assets/testnet.ini b/client/metadata/assets/testnet.ini index d81212d8..bd39b4eb 100644 --- a/client/metadata/assets/testnet.ini +++ b/client/metadata/assets/testnet.ini @@ -9,19 +9,19 @@ min_display_quantity_tick_size = 0.001 [0x7a57e705bb4e09c88aecfc295569481dbf2fe1d5efe364651fbe72385938e9b0] description = 'Testnet Spot APE/USDT' -base = 18 +base = 0 quote = 6 min_price_tick_size = 0.000000000000001 -min_display_price_tick_size = 0.001 +min_display_price_tick_size = 0.000000000000000000001 min_quantity_tick_size = 1000000000000000 -min_display_quantity_tick_size = 0.001 +min_display_quantity_tick_size = 1000000000000000 [0xabed4a28baf4617bd4e04e4d71157c45ff6f95f181dee557aae59b4d1009aa97] description = 'Testnet Spot INJ/APE' base = 18 -quote = 18 +quote = 0 min_price_tick_size = 0.000000000000001 -min_display_price_tick_size = 0.000000000000001 +min_display_price_tick_size = 1000 min_quantity_tick_size = 1000000000000000000 min_display_quantity_tick_size = 1 @@ -117,12 +117,12 @@ min_display_quantity_tick_size = 0.0001 [0xf3298cc12f12945c9da877766d320e4056e5dfd7d3c38208a0ef2f525f7ca0a2] description = 'Testnet Spot APE/INJ' -base = 18 +base = 0 quote = 18 min_price_tick_size = 0.001 -min_display_price_tick_size = 0.001 +min_display_price_tick_size = 0.000000000000000000001 min_quantity_tick_size = 1000000000000000 -min_display_quantity_tick_size = 0.001 +min_display_quantity_tick_size = 1000000000000000 [0x263f7922659fa5b0ecb756a2dd8bf8e2aab9fe8d9ce375f7075d6e6d87b6f95d] description = 'Testnet Spot INJ' @@ -142,6 +142,24 @@ min_display_price_tick_size = 0.001 min_quantity_tick_size = 10000000000000 min_display_quantity_tick_size = 0.00001 +[0x21d4ee074f37f2a310929425e58f69850fca9f734d292bfc5ee48d3c28ea1c09] +description = 'Testnet Spot TEST2/INJ' +base = 6 +quote = 18 +min_price_tick_size = 100000000 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1000 +min_display_quantity_tick_size = 0.001 + +[0xf2ced33ef12a73962be92686503450cc4966feeb9cf6c809f4dc43acad5d7efb] +description = 'Testnet Spot TEST2/USDT' +base = 6 +quote = 6 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1000 +min_display_quantity_tick_size = 0.001 + [0xf02752c2c87728af7fd10a298a8a645261859eafd0295dcda7e2c5b45c8412cf] description = 'Testnet Spot stINJ/INJ' base = 18 @@ -189,12 +207,12 @@ min_display_quantity_tick_size = 0.00001 [0x382a1cf37bcdbccd5698753154335fa56651d64b88b054691648710c8dcf43e0] description = 'Testnet Spot ZEN/INJ' -base = 18 +base = 0 quote = 18 min_price_tick_size = 0.001 -min_display_price_tick_size = 0.001 +min_display_price_tick_size = 0.000000000000000000001 min_quantity_tick_size = 10000000000000 -min_display_quantity_tick_size = 0.00001 +min_display_quantity_tick_size = 10000000000000 [0x40c7fcb089fc603f26c38a5a5bc71f27b0e33a92c2b76801bd9b2ac592d86305] description = 'Testnet Spot ATOM/INJ' @@ -205,6 +223,60 @@ min_display_price_tick_size = 0.001 min_quantity_tick_size = 100000 min_display_quantity_tick_size = 0.001 +[0xe93f09f7a06d507ff8b66f2969e1af931c9eb9ec3f640a6f87dbcd3456258466] +description = 'Testnet Spot Inj' +base = 18 +quote = 8 +min_price_tick_size = 0.0000000000001 +min_display_price_tick_size = 0.001 +min_quantity_tick_size = 1000000000000000 +min_display_quantity_tick_size = 0.001 + +[0xed865fd44f1bc9d46d978db415ed00444fac4f6aef7e09e2d0235f8d140b219f] +description = 'Testnet Spot MT/INJ' +base = 6 +quote = 18 +min_price_tick_size = 10000 +min_display_price_tick_size = 0.00000001 +min_quantity_tick_size = 1000000000 +min_display_quantity_tick_size = 1000 + +[0x215970bfdea5c94d8e964a759d3ce6eae1d113900129cc8428267db5ccdb3d1a] +description = 'Testnet Spot INJ/USDC' +base = 18 +quote = 6 +min_price_tick_size = 0.000000000000001 +min_display_price_tick_size = 0.001 +min_quantity_tick_size = 10000000000000000 +min_display_quantity_tick_size = 0.01 + +[0xd8e9ea042ac67990134d8e024a251809b1b76c5f7df49f511858e040a285efca] +description = 'Testnet Spot HDRO/INJ' +base = 6 +quote = 18 +min_price_tick_size = 1000000 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 1 + +[0x2d7f47811527bd721ce2e4e0ff27b0f3a281f65abcd41758baf157c8ddfcd910] +description = 'Testnet Spot hINJ/INJ' +base = 18 +quote = 18 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1000000000000000 +min_display_quantity_tick_size = 0.001 + +[0xe4b31c0112c89e0963b2db6884b416c17101a899e0ce6dc9f5dde79e6a01b52b] +description = 'Testnet Spot TEST1/INJ' +base = 6 +quote = 18 +min_price_tick_size = 1000000 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 1 + [0x2e94326a421c3f66c15a3b663c7b1ab7fb6a5298b3a57759ecf07f0036793fc9] description = 'Testnet Derivative BTC/USDT PERP Pyth' base = 0 @@ -385,58 +457,11762 @@ min_display_price_tick_size = 0.001 min_quantity_tick_size = 0.1 min_display_quantity_tick_size = 0.1 +[$ALIEN] +peggy_denom = factory/inj1mly2ykhf6f9tdj58pvndjf4q8dzdl4myjqm9t6/$alien +decimals = 6 + +[$AOI] +peggy_denom = factory/inj169ed97mcnf8ay6rgvskn95n6tyt46uwvy5qgs0/$aoi +decimals = 6 + +[$BIRB] +peggy_denom = factory/inj1j37gy4hx0xgm9crwhew3sd6gfrg2z92rphynln/INJECTEDBIRB +decimals = 6 + +[$BITCOIN] +peggy_denom = factory/inj1xqkz4cgw3qn3p6xa2296g5ma8gh4fws8f3fxg6/BITCOIN +decimals = 6 + +[$Babykira] +peggy_denom = factory/inj13vau2mgx6mg7ams9nngjhyng58tl9zyw0n8s93/$babykira +decimals = 6 + +[$FORTUNE] +peggy_denom = factory/inj1ncytr25znls3tdw8q5g5pju83t4wcv6hv48kaz/FORTUNE +decimals = 6 + +[$HONEY] +peggy_denom = factory/inj1tx74j0uslp4pr5neyxxxgajh6gx5s9lnahpp5r/honey +decimals = 0 + +[$NEWT] +peggy_denom = factory/inj1w4v783ckdxa4sg3xr7thtqy92u8pjt09cq84ns/newTest +decimals = 6 + +[$PUNKS] +peggy_denom = factory/inj1mldpx3uh7jx25cr7wd4c7g6gwda7wa7mfnq469/injscoin +decimals = 6 + +[$ROFL] +peggy_denom = factory/inj1tx74j0uslp4pr5neyxxxgajh6gx5s9lnahpp5r/rofl +decimals = 6 + +[$TOK] +peggy_denom = factory/inj1w4v783ckdxa4sg3xr7thtqy92u8pjt09cq84ns/token +decimals = 6 + +[$TT] +peggy_denom = factory/inj1ndmztajhvx96a297axzuh80ke8jh0yjlcvs0xh/zule +decimals = 6 + +[1INCH] +peggy_denom = peggy0x111111111117dC0aa78b770fA6A738034120C302 +decimals = 18 + +[A4] +peggy_denom = factory/inj1cml96vmptgw99syqrrz8az79xer2pcgp0a885r/aaaa +decimals = 6 + +[AA] +peggy_denom = peggy0xdfb34A71B682e578C1a05ab6c9eF68661F1cC291 +decimals = 18 + +[AAA] +peggy_denom = factory/inj1tx74j0uslp4pr5neyxxxgajh6gx5s9lnahpp5r/AAA +decimals = 6 + +[AAAAMEMETEST] +peggy_denom = factory/inj1u4uuueup7p30zfl9xvslddnen45dg7pylsq4td/aaameme +decimals = 6 + +[AAVE] +peggy_denom = peggy0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9 +decimals = 18 + +[ABC] +peggy_denom = factory/inj13njxly446jm3gd8y84qnk3sm6wu0pjjc47mwl6/ABC +decimals = 6 + +[ADN] +peggy_denom = factory/inj14dvet9j73cak22sf7nzgn52ae8z4fdxzsn683v/ADN +decimals = 6 + +[AK] +peggy_denom = peggy0x6F3050fa31c4CC2bB4A213B7d53c220Ac04Dd59D +decimals = 18 + +[AKK] +peggy_denom = factory/inj1ygeap3ypldmjgl22al5rpqafemyw7dt6k45n8r/ak +decimals = 0 + +[ALEX] +peggy_denom = factory/inj1tka3m67unvw45xfp42v5u9rc6pxpysnh648vje/ALEX +decimals = 6 + +[ALLA] +peggy_denom = factory/inj1fukyda4ggze28p5eargxushyq7973kxgezn5hj/ALLA +decimals = 6 + +[ALLB] +peggy_denom = factory/inj1fukyda4ggze28p5eargxushyq7973kxgezn5hj/ALLB +decimals = 6 + +[ALPHA] +peggy_denom = inj1zwnsemwrpve3wrrg0njj89w6mt5rmj9ydkc46u +decimals = 8 + +[ALX] +peggy_denom = factory/inj1nppq4gg9ne5yvp9dw7fl9cdwjvn69u9mnyuynz/alx +decimals = 6 + +[ANANA] +peggy_denom = factory/inj1kezz4smdtr3t0v49d5qyt3ksd2emc594p7ftsx/ANANA +decimals = 6 + +[ANDR] +peggy_denom = ibc/61FA42C3F0B0F8768ED2CE380EDD3BE0E4CB7E67688F81F70DE9ECF5F8684E1E +decimals = 6 + +[ANK] +peggy_denom = factory/inj1cml96vmptgw99syqrrz8az79xer2pcgp0a885r/ANK +decimals = 6 + [APE] -peggy_denom = peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7 +peggy_denom = peggy0x44d63c7FC48385b212aB397aB91A2637ec964634 +decimals = 18 + +[APEINJ] +peggy_denom = factory/inj1pn6cg7jt5nvmh2rpjxhg95nrcjz0rujv54wkdg/apeinj +decimals = 6 + +[APP] +peggy_denom = peggy0xC5d27F27F08D1FD1E3EbBAa50b3442e6c0D50439 +decimals = 18 + +[ARB] +peggy_denom = ibc/8CF0E4184CA3105798EDB18CAA3981ADB16A9951FE9B05C6D830C746202747E1 +decimals = 8 + +[ARBlegacy] +peggy_denom = inj1d5vz0uzwlpfvgwrwulxg6syy82axa58y4fuszd +decimals = 8 + +[ASG] +peggy_denom = ibc/2D40732D27E22D27A2AB79F077F487F27B6F13DB6293040097A71A52FB8AD021 +decimals = 8 + +[ASR] +peggy_denom = factory/inj1g3xlmzw6z6wrhxqmxsdwj60fmscenaxlzfnwm7/AUM decimals = 18 +[ASTR] +peggy_denom = inj1mhmln627samtkuwe459ylq763r4n7n69gxxc9x +decimals = 18 + +[ASTRO] +peggy_denom = ibc/EBD5A24C554198EBAF44979C5B4D2C2D312E6EBAB71962C92F735499C7575839 +decimals = 6 + +[ATJ] +peggy_denom = factory/inj1xv73rnm0jwnens2ywgvz35d4k59raw5eqf5quw/auctiontestj +decimals = 6 + [ATOM] -peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/atom +peggy_denom = peggy0x8D983cb9388EaC77af0474fA441C4815500Cb7BB +decimals = 6 + +[ATT] +peggy_denom = factory/inj1xuxqgygmk79xfaf38ncgdp4jwmszh9rn3pmuex/ATT +decimals = 6 + +[AUTISM] +peggy_denom = factory/inj14lf8xm6fcvlggpa7guxzjqwjmtr24gnvf56hvz/autism +decimals = 6 + +[AVAX] +peggy_denom = inj18a2u6az6dzw528rptepfg6n49ak6hdzkny4um6 decimals = 8 -[INJ] -peggy_denom = inj +[AXL] +peggy_denom = ibc/B68C1D2682A8B69E20BB921E34C6A3A2B6D1E13E3E8C0092E373826F546DEE65 +decimals = 6 + +[AXS] +peggy_denom = peggy0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b decimals = 18 -[MITOTEST1] -peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/mitotest1 +[Alpha Coin] +peggy_denom = peggy0x138C2F1123cF3f82E4596d097c118eAc6684940B decimals = 18 -[PROJ] -peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/proj +[AmanullahTest2] +peggy_denom = factory/inj164dlu0as6r5a3kah6sdqv0tyx73upz8ggrcs77/AmanullahTest2 +decimals = 6 + +[Ape Coin] +peggy_denom = peggy0x4d224452801ACEd8B2F0aebE155379bb5D594381 decimals = 18 -[PROJX] -peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/projx +[Arbitrum] +peggy_denom = peggy0x912CE59144191C1204E64559FE8253a0e49E6548 decimals = 18 -[USD Coin] -peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/usdc +[Axelar] +peggy_denom = peggy0x3eacbDC6C382ea22b78aCc158581A55aaF4ef3Cc decimals = 6 -[USDC] -peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj12sqy9uzzl3h3vqxam7sz9f0yvmhampcgesh3qw +[BAB] +peggy_denom = factory/inj1ljvxl24c3nz0vxc8ypf0pfppp3s3t0aap5snag/BAB decimals = 6 -[USDT] -peggy_denom = peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5 +[BAG] +peggy_denom = factory/inj106ul9gd8vf0rdhs7gvul4e5eqju8uyr62twp6v/BAG +decimals = 6 + +[BAMBOO] +peggy_denom = factory/inj144nw6ny28mlwuvhfnh7sv4fcmuxnpjx4pksr0j/bamboo +decimals = 6 + +[BANANA] +peggy_denom = factory/inj1cvte76l69n78avthhz7a73cgs8e29knkquyguh/BANANA +decimals = 6 + +[BAND] +peggy_denom = peggy0xBA11D00c5f74255f56a5E366F4F77f5A186d7f55 +decimals = 18 + +[BAT] +peggy_denom = peggy0x0D8775F648430679A709E98d2b0Cb6250d2887EF +decimals = 18 + +[BAYC] +peggy_denom = bayc +decimals = 18 + +[BB] +peggy_denom = factory/inj1ku7eqpwpgjgt9ch07gqhvxev5pn2p2upzf72rm/BAMB +decimals = 6 + +[BEAST] +peggy_denom = peggy0xA4426666addBE8c4985377d36683D17FB40c31Be +decimals = 6 + +[BEER] +peggy_denom = factory/inj13y957x4lg74e60s9a47v66kex7mf4ujcqhc6xs/BEER +decimals = 6 + +[BIL] +peggy_denom = factory/inj14cxwqv9rt0hvmvmfawts8v6dvq6p26q0lkuajv/BIL +decimals = 6 + +[BINJ] +peggy_denom = factory/inj1lhr06p7k3rdgk0knw5hfsde3fj87g2aq4e9a52/binj +decimals = 6 + +[BITS] +peggy_denom = factory/inj10gcvfpnn4932kzk56h5kp77mrfdqas8z63qr7n/BITS +decimals = 6 + +[BK] +peggy_denom = factory/inj1pzwl6turgp49akhkxjynj77z9pd6x7zf2zmazz/bk +decimals = 6 + +[BLA] +peggy_denom = factory/inj1z6sccypszye9qke2w35m3ptmj7c4tjr2amedyf/blabla +decimals = 0 + +[BLACK] +peggy_denom = factory/inj16eckaf75gcu9uxdglyvmh63k9t0l7chd0qmu85/black +decimals = 6 + +[BLOCK] +peggy_denom = factory/inj1l32h3fua32wy7r7zwhddevan8lxwkseh4xz43w/BLOCKEATER +decimals = 18 + +[BMAN] +peggy_denom = factory/inj18zctja65nd5xlre0lzurwc63mgw7xn6p2fehxv/BMAN +decimals = 6 + +[BMOS] +peggy_denom = ibc/D9353C3B1407A7F7FE0A5CCB7D06249B57337888C95C6648AEAF2C83F4F3074E +decimals = 6 + +[BNB] +peggy_denom = peggy0xB8c77482e45F1F44dE1745F52C74426C631bDD52 +decimals = 18 + +[BOB] +peggy_denom = factory/inj1znqs22whsfqvd3503ehv2a40zhmcr3u7k5xu8d/BOB +decimals = 6 + +[BODEN] +peggy_denom = boden +decimals = 9 + +[BOME] +peggy_denom = factory/inj1zghufuvlx8wkt233k7r25um2c0y8zzqx2hpx7e/BOME +decimals = 6 + +[BONJO] +peggy_denom = factory/inj1r35twz3smeeycsn4ugnd3w0l5h2lxe44ptuu4w/bonjo +decimals = 6 + +[BONK] +peggy_denom = inj14rry9q6dym3dgcwzq79yay0e9azdz55jr465ch +decimals = 5 + +[BONK2] +peggy_denom = factory/inj1yxyprnlhyupl2lmpwsjhnux70uz8d5rgqussvc/bonk decimals = 6 -[WBTC] -peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/wbtc +[BONUS] +peggy_denom = ibc/DCF43489B9438BB7E462F1A1AD38C7898DF7F49649F9CC8FEBFC533A1192F3EF decimals = 8 -[WETH] -peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/weth +[BOYS] +peggy_denom = factory/inj1q4z7jjxdk7whwmkt39x7krc49xaqapuswhjhkn/BOYS +decimals = 6 + +[BRETT] +peggy_denom = factory/inj13jjdsa953w03dvecsr43dj5r6a2vzt7n0spncv/brett +decimals = 6 + +[BRZ] +peggy_denom = inj14jesa4q248mfxztfc9zgpswkpa4wx249mya9kk +decimals = 4 + +[BS] +peggy_denom = factory/inj1kzaaapa8ux4z4lh8stm6vv9c5ykhtwl84zxrtl/ak +decimals = 6 + +[BSKT] +peggy_denom = inj193340xxv49hkug7r65xzc0l40tze44pee4fj94 +decimals = 5 + +[BTC] +peggy_denom = btc decimals = 8 -[ZEN] -peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/zen +[BUKET] +peggy_denom = factory/inj1x8v44tuhlfk8f64j4vehftwggfzdjtthmeddwm/buket +decimals = 7 + +[BULLS] +peggy_denom = factory/inj1zq37mfquqgud2uqemqdkyv36gdstkxl27pj5e3/bulls +decimals = 6 + +[BUSD] +peggy_denom = peggy0x4Fabb145d64652a948d72533023f6E7A623C7C53 decimals = 18 -[factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/uzen] -peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/uzen +[Babykira] +peggy_denom = factory/inj15jeczm4mqwtc9lk4c0cyynndud32mqd4m9xnmu/$babykira +decimals = 6 + +[BadKid] +peggy_denom = factory/inj12cpkhwet3sv7ykwfusryk9zk8cj6kscjh08570/BadKid +decimals = 6 + +[Basket] +peggy_denom = peggy0xbC0899E527007f1B8Ced694508FCb7a2b9a46F53 +decimals = 5 + +[Bird INJ] +peggy_denom = factory/inj125hcdvz9dnhdqal2u8ctr7l0hd8xy9wdgzt8ld/binj +decimals = 6 + +[BitSong] +peggy_denom = peggy0x05079687D35b93538cbd59fe5596380cae9054A9 decimals = 18 -[stINJ] -peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/stinj +[BnW] +peggy_denom = factory/inj188t9lmw8fh22x0np5wuf4zcz4ew748erz3s8ay/BnW +decimals = 6 + +[Bnana] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/banana +decimals = 18 + +[Bonjo] +peggy_denom = inj19w5lfwk6k9q2d8kxnwsu4962ljnay85f9sgwn6 +decimals = 18 + +[Brazilian Digital Token] +peggy_denom = peggy0x420412E765BFa6d85aaaC94b4f7b708C89be2e2B +decimals = 4 + +[CAD] +peggy_denom = cad +decimals = 6 + +[CANTO] +peggy_denom = ibc/D91A2C4EE7CD86BBAFCE0FA44A60DDD9AFBB7EEB5B2D46C0984DEBCC6FEDFAE8 +decimals = 18 + +[CAT] +peggy_denom = factory/inj1r5pxuhg6nz5puchgm8gx63whwn7jx0y0zsqp9w/CAT +decimals = 18 + +[CDT] +peggy_denom = factory/inj1z6sccypszye9qke2w35m3ptmj7c4tjr2amedyf/chinhsieudeptrai +decimals = 0 + +[CEL] +peggy_denom = peggy0xaaAEBE6Fe48E54f431b0C390CfaF0b017d09D42d +decimals = 4 + +[CELL] +peggy_denom = peggy0x26c8AFBBFE1EBaca03C2bB082E69D0476Bffe099 decimals = 18 + +[CHELE] +peggy_denom = factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/CHELE +decimals = 6 + +[CHUT] +peggy_denom = factory/inj1gnflymetxrlfng7wc7yh9ejghrwzwhe542mr5l/CHUT +decimals = 6 + +[CHZ] +peggy_denom = peggy0x3506424F91fD33084466F402d5D97f05F8e3b4AF +decimals = 18 + +[CHZlegacy] +peggy_denom = inj1q6kpxy6ar5lkxqudjvryarrrttmakwsvzkvcyh +decimals = 8 + +[CLON] +peggy_denom = ibc/695B1D16DE4D0FD293E6B79451640974080B59AA60942974C1CC906568DED795 +decimals = 6 + +[CNR] +peggy_denom = factory/inj1qn3xnr49n0sw8h3v4h7udq5htl8lsfj2e0e8hw/CNR +decimals = 6 + +[COCK] +peggy_denom = factory/inj1eucxlpy6c387g5wrn4ee7ppshdzg3rh4t50ahf/cock +decimals = 6 + +[COCKOC] +peggy_denom = factory/inj1f595c8ml3sfvey4cd85j9f4ur02mymz87huu78/COCKOC +decimals = 6 + +[COKE] +peggy_denom = inj14eaxewvy7a3fk948c3g3qham98mcqpm8v5y0dp +decimals = 6 + +[COMP] +peggy_denom = peggy0xc00e94Cb662C3520282E6f5717214004A7f26888 +decimals = 18 + +[COOK] +peggy_denom = factory/inj19zee9dacv8pw6jyax0jyytt06nln6ued0c6xxr/cook +decimals = 6 + +[CPS] +peggy_denom = factory/inj1wn45x52wm3sghe7qjp9hwhge9cuk632u2a4xl0/CPS +decimals = 6 + +[CRE] +peggy_denom = ibc/3A6DD3358D9F7ADD18CDE79BA10B400511A5DE4AE2C037D7C9639B52ADAF35C6 +decimals = 6 + +[CRSP] +peggy_denom = factory/inj18jvnp6shjm30l2kw30u5w7tsh6y7v4yuux8ydv/CRSP +decimals = 6 + +[CRSRL] +peggy_denom = factory/inj1mcwzdmtfvccrec9nd9qfsq0p6u25d7rcupcmf8/cruiser-legend +decimals = 6 + +[CRY] +peggy_denom = factory/inj170545298c6cletkgqxlsanyh36uvxuceudt3e2/crystal +decimals = 6 + +[CSDT] +peggy_denom = factory/inj1z6sccypszye9qke2w35m3ptmj7c4tjr2amedyf/chinhdeptrai +decimals = 0 + +[CSM] +peggy_denom = factory/inj1ckddr5lfwjvm2lvtzra0ftx7066seqr3navva0/CSM +decimals = 6 + +[CSSSS] +peggy_denom = factory/inj1rwpsgl0y7q9t2t6vkphz3ajxe3m249rydkzuyx/CSSSS +decimals = 6 + +[CUONGPRO] +peggy_denom = factory/inj1z6sccypszye9qke2w35m3ptmj7c4tjr2amedyf/cuongpro1234 +decimals = 0 + +[CVR] +peggy_denom = peggy0x3c03b4ec9477809072ff9cc9292c9b25d4a8e6c6 +decimals = 18 + +[CW20:TERRA167DSQKH2ALURX997WMYCW9YDKYU54GYSWE3YGMRS4LWUME3VMWKS8RUQNV] +peggy_denom = ibc/53F48DC0479065C7BFFDC8D612A45EE90B28E4876405164C4CC7300661D8463D +decimals = 0 + +[CW20:TERRA1MCCMZMCXT6CTQF94QHHCWT79SPL0XZ27ULUVYEH232WCPDN6SJYQMDFXD4] +peggy_denom = ibc/599367B1633AB9A8F8BC5A5BA6A9B533EDE655B85D46F9A00A53E5FF68E25E57 +decimals = 0 + +[CXLD] +peggy_denom = factory/inj1gsvgj44zjlj6w890a7huedymh7v96sv839pwsv/CXLD +decimals = 6 + +[Cosmos] +peggy_denom = ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9 +decimals = 6 + +[D3RD] +peggy_denom = factory/inj1kw7xh603l8gghvr955a5752ywph5uhnmuyv7gy/D3RD +decimals = 6 + +[DAI] +peggy_denom = peggy0x6B175474E89094C44Da98b954EedeAC495271d0F +decimals = 18 + +[DAO] +peggy_denom = factory/inj13vkxa9aku6vy8gy6thtvv9xv7l3ut8x3hnnevf/DAOC +decimals = 6 + +[DD] +peggy_denom = factory/inj1gyxrvcdvjr22l5fu43ng4c607nxpc8yuxslcv3/dingdong +decimals = 6 + +[DDL] +peggy_denom = factory/inj1put8lfpkwm47tqcl9fgh8grz987mezvrx4arls/DDL +decimals = 6 + +[DDLTEST] +peggy_denom = factory/inj1dskr075p0ktts987r8h3jxcjce6h73flvmm8a4/DDLTest +decimals = 6 + +[DDLTESTTWO] +peggy_denom = factory/inj1dskr075p0ktts987r8h3jxcjce6h73flvmm8a4/DDLTESTTWO +decimals = 6 + +[DEFI5] +peggy_denom = peggy0xfa6de2697D59E88Ed7Fc4dFE5A33daC43565ea41 +decimals = 18 + +[DEGEN] +peggy_denom = factory/inj1zn8qlkjautjt3mvr7xwuvpe6eddqt5w3mak5s7/DEGEN +decimals = 6 + +[DEL] +peggy_denom = factory/inj1p2gs94exz0u2rwyg2sccxlpyfdyymp8k2ej7qa/DEL +decimals = 6 + +[DEMO] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/demo +decimals = 18 + +[DGNZ] +peggy_denom = factory/inj1l2kcs4yxsxe0c87qy4ejmvkgegvjf0hkyhqk59/dgnz +decimals = 6 + +[DGNZZ] +peggy_denom = factory/inj1nppq4gg9ne5yvp9dw7fl9cdwjvn69u9mnyuynz/dgnzz +decimals = 0 + +[DGNZZZZ] +peggy_denom = factory/inj1nppq4gg9ne5yvp9dw7fl9cdwjvn69u9mnyuynz/DGNZZZZ +decimals = 6 + +[DGZN] +peggy_denom = factory/inj1rjfu66szrqkw6mua8mxrruyjym0fj65j7y8ukz/DGZN +decimals = 6 + +[DICES] +peggy_denom = factory/inj1vpp394hzv5rwz9de9xx60rxjl9cx82t0nt0nrz/dices +decimals = 6 + +[DICK] +peggy_denom = factory/inj1r35twz3smeeycsn4ugnd3w0l5h2lxe44ptuu4w/DICK +decimals = 6 + +[DISC] +peggy_denom = factory/inj1prp8jk9fvxjzdgv8n2qlgrdfgxpq7t6k6rkmc7/DISC +decimals = 6 + +[DJN] +peggy_denom = factory/inj19hvtll63gdk7226lcgdthd8w6vkwvy2lygd54s/djn +decimals = 6 + +[DOGE] +peggy_denom = doge +decimals = 8 + +[DOGGO] +peggy_denom = factory/inj1a4qjk3ytal0alrq566zy6z7vjv6tgrgg0h7wu9/DOGGO +decimals = 0 + +[DOGGOS] +peggy_denom = factory/inj1a4qjk3ytal0alrq566zy6z7vjv6tgrgg0h7wu9/DOGGOS +decimals = 6 + +[DOJ] +peggy_denom = factory/inj172ccd0gddgz203e4pf86ype7zjx573tn8g0df9/doj +decimals = 6 + +[DOJE] +peggy_denom = factory/inj12e00ptda26wr4257jk8xktasjf5qrz97e76st2/doje +decimals = 6 + +[DOJO] +peggy_denom = factory/inj1any4rpwq7r850u6feajg5payvhwpunu9cxqevc/dojo +decimals = 6 + +[DOT] +peggy_denom = peggy0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080 +decimals = 10 + +[DREAM] +peggy_denom = factory/inj1l2kcs4yxsxe0c87qy4ejmvkgegvjf0hkyhqk59/dream +decimals = 6 + +[DROGO] +peggy_denom = ibc/565FE65B82C091F8BAD1379FA1B4560C036C07913355ED4BD8D156DA63F43712 +decimals = 6 + +[DUCK] +peggy_denom = factory/inj12vqaz34lk6s7jrtgnhcd53ffya8vrx67m7cev2/DUCK +decimals = 6 + +[DUDE] +peggy_denom = factory/inj1sn34edy635nv4yhts3khgpy5qxw8uey6wvzq53/dude +decimals = 6 + +[DUNE] +peggy_denom = factory/inj1zg54atp2u4f69fqjyxxx2v8pkzkrw47e3f6akr/DUNE +decimals = 6 + +[DV] +peggy_denom = factory/inj1sf4jk2ku0syp7x6lns8dau73sc2grtqpf3try5/dv +decimals = 6 + +[DZZY] +peggy_denom = factory/inj1nmdqvm2vcxtzal44f62hcv9sthsaunupdpuxlg/DZZY +decimals = 6 + +[Denz] +peggy_denom = factory/inj1geky3rlgv7ycg8hnf8dzj475c0zmdkqstk9k37/Denz +decimals = 6 + +[Dojo Token] +peggy_denom = inj1zdj9kqnknztl2xclm5ssv25yre09f8908d4923 +decimals = 18 + +[ELON] +peggy_denom = peggy0x43123e1d077351267113ada8bE85A058f5D492De +decimals = 6 + +[ENA] +peggy_denom = peggy0x57e114b691db790c35207b2e685d4a43181e6061 +decimals = 18 + +[ENJ] +peggy_denom = peggy0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c +decimals = 18 + +[ERIC] +peggy_denom = factory/inj1w7cw5tltax6dx7znehul98gel6yutwuvh44j77/eric +decimals = 6 + +[ERJ] +peggy_denom = factory/inj17v462f55kkuhjhvw7vdcjzd2wdk85yh8js3ug9/ERJ +decimals = 6 + +[ETH] +peggy_denom = eth +decimals = 18 + +[ETHBTCTrend] +peggy_denom = peggy0x6b7f87279982d919Bbf85182DDeAB179B366D8f2 +decimals = 18 + +[EUR] +peggy_denom = eur +decimals = 6 + +[EVAI] +peggy_denom = peggy0x50f09629d0afDF40398a3F317cc676cA9132055c +decimals = 8 + +[EVIINDEX] +peggy_denom = eviindex +decimals = 18 + +[EVMOS] +peggy_denom = ibc/16618B7F7AC551F48C057A13F4CA5503693FBFF507719A85BC6876B8BD75F821 +decimals = 18 + +[EVOI] +peggy_denom = factory/inj14n8f39qdg6t68s5z00t4vczvkcvzlgm6ea5vk5/evoi +decimals = 6 + +[FACTORY/PRYZM15K9S9P0AR0CX27NAYRGK6VMHYEC3LJ7VKRY7RX/UUSDSIM] +peggy_denom = ibc/6653E89983FE4CAE0DF67DF2257451B396D413431F583306E26DC6D7949CE648 +decimals = 0 + +[FAMILY] +peggy_denom = factory/inj175n4kj6va8yejh7w35t5v5f5gfm6ecyasgjnn9/FAMILY +decimals = 6 + +[FET] +peggy_denom = ibc/C1D3666F27EA64209584F18BC79648E0C1783BB6EEC04A8060E4A8E9881C841B +decimals = 18 + +[FGDE] +peggy_denom = factory/inj1fukyda4ggze28p5eargxushyq7973kxgezn5hj/fgdekghk +decimals = 6 + +[FGFGGW] +peggy_denom = factory/inj1p83xm4qnhww3twkcff3wdu6hgjn534j9jdry9d/FGFGGW +decimals = 6 + +[FIO] +peggy_denom = factory/inj133xeq92ak7p87hntvamgq3047kj8jfqhry92a8/FIO +decimals = 6 + +[FNLS] +peggy_denom = factory/inj1tx74j0uslp4pr5neyxxxgajh6gx5s9lnahpp5r/TheFinals +decimals = 6 + +[FTM] +peggy_denom = peggy0x4E15361FD6b4BB609Fa63C81A2be19d873717870 +decimals = 18 + +[FTTOKEN] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/FTTOKEN +decimals = 6 + +[FUN] +peggy_denom = factory/inj1k6vxjqq7xxdn96ftx9u099su4lxquhuexphfeu/FUN +decimals = 6 + +[FZZY] +peggy_denom = factory/inj1nmdqvm2vcxtzal44f62hcv9sthsaunupdpuxlg/FZZY +decimals = 6 + +[Fetch.ai] +peggy_denom = peggy0xaea46a60368a7bd060eec7df8cba43b7ef41ad85 +decimals = 18 + +[Flm] +peggy_denom = factory/inj17ef2m8f9l8zypef5wxyrrxpdqyq4wd2rfl23d4/Flm +decimals = 6 + +[GALA] +peggy_denom = factory/inj1xtwk60ey0g03s69gfsure0kx8hwwuk24zl0g6l/GALA +decimals = 6 + +[GALAXY] +peggy_denom = factory/inj10zdjt8ylfln5xr3a2ruf9nwn6d5q2d2r3v6mh8/galaxy +decimals = 6 + +[GBP] +peggy_denom = gbp +decimals = 6 + +[GF] +peggy_denom = peggy0xaaef88cea01475125522e117bfe45cf32044e238 +decimals = 18 + +[GFT] +peggy_denom = factory/inj1rw9z8q7l9xgffuu66e6w0eje3y7yvur452rst6/GFT +decimals = 6 + +[GGM] +peggy_denom = factory/inj1yq4dwvnujpr9m8w4m5uq3e8hu0xxnw0eypzr0k/GGM +decimals = 6 + +[GIGA] +peggy_denom = ibc/36C811A2253AA64B58A9B66C537B89348FE5792A8808AAA343082CBFCAA72278 +decimals = 5 + +[GINGER] +peggy_denom = factory/inj172ccd0gddgz203e4pf86ype7zjx573tn8g0df9/ginger +decimals = 6 + +[GLD] +peggy_denom = factory/inj1kgtamley85yj7eeuntz7ctty5wgfla5n6z2t42/gld +decimals = 6 + +[GLTO] +peggy_denom = peggy0xd73175f9eb15eee81745d367ae59309Ca2ceb5e2 +decimals = 6 + +[GME] +peggy_denom = ibc/CAA5AB050F6C3DFE878212A37A4A6D3BEA6670F5B9786FFF7EF2D34213025272 +decimals = 8 + +[GOLD] +peggy_denom = gold +decimals = 18 + +[GOLDIE] +peggy_denom = factory/inj130ayayz6ls8qpmu699axhlg7ygy8u6thjjk9nc/goldie +decimals = 6 + +[GRANJ] +peggy_denom = factory/inj1kprvcvuwkhpt33500guafzf09fr7p9yfklxlls/GRANJ +decimals = 6 + +[GRAY] +peggy_denom = factory/inj1g65a0tv2xl4vpu732k8u6yamq438t0lze8ksdx/GRAY +decimals = 6 + +[GROK] +peggy_denom = factory/inj1vgrf5mcvvg9p5c6jajqefn840nq74wjzgkt30z/grok +decimals = 6 + +[GRT] +peggy_denom = peggy0xc944E90C64B2c07662A292be6244BDf05Cda44a7 +decimals = 18 + +[GTHLI] +peggy_denom = factory/inj1uhxex6xjm6dfzud44ectgpkgfhhyxthmux8vd4/GTHLI +decimals = 6 + +[GYEN] +peggy_denom = peggy0xC08512927D12348F6620a698105e1BAac6EcD911 +decimals = 6 + +[God] +peggy_denom = factory/inj1x45ltvqzanx82wutwdxaayzzu0a7a8q5j3pz2f/God +decimals = 6 + +[HAPPY] +peggy_denom = factory/inj16ydu70t4s6z3lhcjh4aqkdpl9aag8pxve0kdyx/HAPPY +decimals = 6 + +[HDRO] +peggy_denom = factory/inj1etz0laas6h7vemg3qtd67jpr6lh8v7xz7gfzqw/hdro +decimals = 6 + +[HERB] +peggy_denom = factory/inj1mh7efynqjvw3rt2ntty2unmxr6kwaec5g5050y/HERB +decimals = 6 + +[HNY2] +peggy_denom = factory/inj14lvrxu8jlrdytval7k29nxhxr9a39u6am86tr3/HNY2 +decimals = 0 + +[HNY3] +peggy_denom = factory/inj14lvrxu8jlrdytval7k29nxhxr9a39u6am86tr3/HNY3 +decimals = 0 + +[HS] +peggy_denom = factory/inj1ce9d2lma4tvady03fnsd5nck54xhfeazks0y8d/hs +decimals = 6 + +[HSC2UPDATETEST] +peggy_denom = factory/inj1ce9d2lma4tvady03fnsd5nck54xhfeazks0y8d/hs2 +decimals = 6 + +[HT] +peggy_denom = peggy0x6f259637dcD74C767781E37Bc6133cd6A68aa161 +decimals = 18 + +[HUAHUA] +peggy_denom = ibc/E7807A46C0B7B44B350DA58F51F278881B863EC4DCA94635DAB39E52C30766CB +decimals = 6 + +[Hakmer] +peggy_denom = factory/inj1579jgr5gkv2h6z6wfwsmff2xvpuf4seyzx0xtn/Hakmer +decimals = 6 + +[Hallo123] +peggy_denom = factory/inj17ljxhz0c7tdcjfzhnk3xgk3mfudtcjs2g3676l/hallo123 +decimals = 6 + +[HarryPotterEricNinjaKiraInj10Inu] +peggy_denom = factory/inj1a4zfxyanjr2u4w0063rmm9fcuyj9ts64ztkxex/HarryPotterEricNinjaKiraInj10Inu +decimals = 6 + +[HarryPotterEricNinjaKiraInj20Inu] +peggy_denom = factory/inj1a4zfxyanjr2u4w0063rmm9fcuyj9ts64ztkxex/HarryPotterEricNinjaKiraInj20Inu +decimals = 6 + +[HarryPotterEricNinjaKiraInj30Inu] +peggy_denom = factory/inj1a4zfxyanjr2u4w0063rmm9fcuyj9ts64ztkxex/HarryPotterEricNinjaKiraInj30Inu +decimals = 6 + +[Hydro] +peggy_denom = factory/inj1pk7jhvjj2lufcghmvr7gl49dzwkk3xj0uqkwfk/hdro +decimals = 6 + +[Hydro Wrapped INJ] +peggy_denom = inj18luqttqyckgpddndh8hvaq25d5nfwjc78m56lc +decimals = 18 + +[IBJ] +peggy_denom = factory/inj1czcqn0a8s0zud72p9zpfrkduljp0hhjjt927fe/IBJ +decimals = 6 + +[IDOGE] +peggy_denom = factory/inj1kezz4smdtr3t0v49d5qyt3ksd2emc594p7ftsx/IDOGE +decimals = 6 + +[IIN] +peggy_denom = factory/inj1aeruvw7e4e90uqlegv52ttjtjdr60ndh2p5krq/IIN +decimals = 6 + +[IJTBOBI] +peggy_denom = factory/inj1s04p0wztwl823lwcnkdstd3xp3n30a8hhel2jf/ijtbobi +decimals = 6 + +[IK] +peggy_denom = factory/inj1axtwu6xh6hzpayy7mm9qwyggp5adtjnnj6tmkj/injscribedtoken +decimals = 6 + +[IKINGS] +peggy_denom = factory/inj1mt876zny9j6xae25h7hl7zuqf7gkx8q63k0426/ikings +decimals = 6 + +[ILEND] +peggy_denom = factory/inj19ae4ukagwrlprva55q9skskunv5ve7sr6myx7z/ilend-test-subdenom +decimals = 6 + +[ILL] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/ill +decimals = 0 + +[INC] +peggy_denom = factory/inj1nu7ftngqhuz6vazjj4wravdlweutam82rkt7j2/INC +decimals = 6 + +[INCEL] +peggy_denom = factory/inj17g4j3geupy762u0wrewqwprvtzar7k5et2zqsh/incel +decimals = 6 + +[IND] +peggy_denom = factory/inj1j0t7zeafazz33xx22a62esvghcyxwzzxeshv2z/IND +decimals = 6 + +[ING] +peggy_denom = factory/inj18x8g8gkc3kch72wtkh46a926634m784m3wnj50/ING +decimals = 6 + +[INJ] +peggy_denom = peggy0xe28b3b32b6c345a34ff64674606124dd5aceca30 +decimals = 18 + +[INJAmanullahTest1] +peggy_denom = factory/inj164dlu0as6r5a3kah6sdqv0tyx73upz8ggrcs77/INJAmanullahTest1 +decimals = 6 + +[INJBR] +peggy_denom = factory/inj1sn6u0472ds6v8x2x482gqqc36g0lz28uhq660v/INJBR +decimals = 6 + +[INJECT] +peggy_denom = factory/inj1j7zt6g03vpmg9p7g7qngvylfxqeuds73utsjnk/inject +decimals = 6 + +[INJER] +peggy_denom = factory/inj1sjmplasxl9zgj6yh45j3ndskgdhcfcss9djkdn/injer +decimals = 6 + +[INJF] +peggy_denom = factory/inj190nefqygs79s3cpvgjzhf7w9d7pzkag4u7cdce/INJF +decimals = 18 + +[INJINU] +peggy_denom = factory/inj1vjppa6h9lf75pt0v6qnxtej4xcl0qevnxzcrvm/injinu +decimals = 6 + +[INJKT] +peggy_denom = factory/inj19q4vqa9hxrnys04hc2se8axp5qkxf2u9qthewk/INJKT +decimals = 6 + +[INJOKI] +peggy_denom = factory/inj1rmjd5fdldnyfm62zx2v3q27eemqvq6x5ktae4f/INJOKI +decimals = 6 + +[INJPEPE] +peggy_denom = factory/inj14lvrxu8jlrdytval7k29nxhxr9a39u6am86tr3/injpepe +decimals = 6 + +[INJS] +peggy_denom = factory/inj15jy9vzmyy63ql9y6dvned2kdat2994x5f4ldu4/injs +decimals = 6 + +[INJSTKN] +peggy_denom = factory/inj1xx25yhe9ma0zy4ewyd0js8f4pm869gdek4g27j/injstkn +decimals = 6 + +[INJTEST] +peggy_denom = factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test +decimals = 6 + +[INJTEST2] +peggy_denom = factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test2 +decimals = 0 + +[INJTESTE] +peggy_denom = factory/inj1dskr075p0ktts987r8h3jxcjce6h73flvmm8a4/Injteste +decimals = 6 + +[INJX] +peggy_denom = factory/inj104h3hchl7ws8lp78zpvrunvsjdwfjc02r5d0fp/injx +decimals = 6 + +[INJbsc] +peggy_denom = inj1xcgprh58szttp0vqtztvcfy34tkpupr563ua40 +decimals = 18 + +[INJet] +peggy_denom = inj1v8gg4wzfauwf9l7895t0eyrrkwe65vh5n7dqmw +decimals = 18 + +[INO] +peggy_denom = factory/inj1fyanjlzhkcenneulrdjmuumc9njvzr08wxr4f6/INO +decimals = 6 + +[IOTX] +peggy_denom = peggy0x6fB3e0A217407EFFf7Ca062D46c26E5d60a14d69 +decimals = 18 + +[IPDAI] +peggy_denom = factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/ipdai +decimals = 6 + +[IPEPE] +peggy_denom = factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/ipepe +decimals = 6 + +[IPandaAI] +peggy_denom = factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/ipandaai +decimals = 6 + +[IPanther] +peggy_denom = factory/inj1rmjd5fdldnyfm62zx2v3q27eemqvq6x5ktae4f/InjectivePanther +decimals = 6 + +[IPantherN] +peggy_denom = factory/inj1rmjd5fdldnyfm62zx2v3q27eemqvq6x5ktae4f/injectivepanthernew +decimals = 6 + +[IPrint] +peggy_denom = factory/inj1rmjd5fdldnyfm62zx2v3q27eemqvq6x5ktae4f/InjectivePrinter +decimals = 6 + +[ITT] +peggy_denom = factory/inj1dskr075p0ktts987r8h3jxcjce6h73flvmm8a4/injtesttwo +decimals = 6 + +[ITTT] +peggy_denom = factory/inj1lypqwz349za88um0m4ltjhgf8q6q8p4y93pv6p/injectively-test-token +decimals = 6 + +[IUSD] +peggy_denom = factory/inj16020qlmmat0uwgjrj2nrcn3kglk6scj3e99uye/iusd +decimals = 6 + +[Inj] +peggy_denom = factory/inj1jcwlfkq76gvljfth56jjl360nxkzx8dlv6fjzr/Inj +decimals = 6 + +[InjDoge] +peggy_denom = factory/inj1rmjd5fdldnyfm62zx2v3q27eemqvq6x5ktae4f/InjDoge +decimals = 6 + +[Injective] +peggy_denom = peggy0x5512c04B6FF813f3571bDF64A1d74c98B5257332 +decimals = 18 + +[Injective Panda] +peggy_denom = factory/inj183lz632dna57ayuf6unqph5d0v2u655h2jzzyy/bamboo +decimals = 6 + +[Internet Explorer] +peggy_denom = factory/inj1zhevrrwywg3az9ulxd9u233eyy4m2mmr6vegsg/ninjb +decimals = 6 + +[J7J5] +peggy_denom = factory/inj1pvt70tt7epjudnurkqlxu62flfgy46j2ytj7j5/J7J5 +decimals = 6 + +[JCLUB] +peggy_denom = factory/inj12lhhu0hpszdq5wmt630wcspdxyewz3x2m04khh/JCLUB +decimals = 6 + +[JJJJ] +peggy_denom = factory/inj1eg83yq85cld5ngh2vynqlzmnzdplsallqrmlyd/JJJJ +decimals = 6 + +[JNI] +peggy_denom = factory/inj1q9mjtmhydvepcszp552lwyez52y7npjcvntprg/jni +decimals = 18 + +[JNI2] +peggy_denom = factory/inj19yes8qp3x2cz8y2kuyp70nvhe4nugdxaj4k5g3/jni2 +decimals = 0 + +[JNI3] +peggy_denom = factory/inj19yes8qp3x2cz8y2kuyp70nvhe4nugdxaj4k5g3/jni3 +decimals = 18 + +[JNI4] +peggy_denom = factory/inj19yes8qp3x2cz8y2kuyp70nvhe4nugdxaj4k5g3/jni4 +decimals = 18 + +[JNI5] +peggy_denom = factory/inj19yes8qp3x2cz8y2kuyp70nvhe4nugdxaj4k5g3/jni5 +decimals = 18 + +[JPY] +peggy_denom = jpy +decimals = 6 + +[JUL] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/JUL +decimals = 6 + +[JUNO] +peggy_denom = ibc/D50E26996253EBAA8C684B9CD653FE2F7665D7BDDCA3D48D5E1378CF6334F211 +decimals = 6 + +[JUP] +peggy_denom = jup +decimals = 6 + +[JUSSY] +peggy_denom = factory/inj125a0l6yk05z3jwvjfjh78tlkjm4kn6ndduxjnk/INJUSSY +decimals = 6 + +[Jet] +peggy_denom = factory/inj18r765lvc3pf975cx0k3derdxl302trjjnpwjgf/Jet +decimals = 6 + +[KAGE] +peggy_denom = inj1l49685vnk88zfw2egf6v65se7trw2497wsqk65 +decimals = 18 + +[KARATE] +peggy_denom = factory/inj1898t0vtmul3tcn3t0v8qe3pat47ca937jkpezv/karate +decimals = 6 + +[KARMA] +peggy_denom = factory/inj1d4ld9w7mf8wjyv5y7fnhpate07fguv3s3tmngm/karma +decimals = 6 + +[KATANA] +peggy_denom = factory/inj1vwn4x08hlactxj3y3kuqddafs2hhqzapruwt87/katana +decimals = 6 + +[KAVA] +peggy_denom = ibc/57AA1A70A4BC9769C525EBF6386F7A21536E04A79D62E1981EFCEF9428EBB205 +decimals = 6 + +[KELON] +peggy_denom = factory/inj1fdd59gyrtfkn7cflupyqqcj0t5c4whj0dzhead/KELON +decimals = 6 + +[KEN] +peggy_denom = factory/inj1ht6d6axu5u4g24zephnc48ee585e2vge8czkzn/ken +decimals = 6 + +[KFF] +peggy_denom = factory/inj10uen9k593sll79n9egwh80t09enk7gsaqqehuh/KFN +decimals = 6 + +[KGM1] +peggy_denom = factory/inj12yazr8lq5ptlz2qj9y36v8zwmz90gy9gh35026/inj-test1 +decimals = 6 + +[KIA] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/KIA +decimals = 18 + +[KIKI] +peggy_denom = factory/inj1yc9tdwkff6fdhseshk2qe4737hysf3dv0jkq35/kiki +decimals = 6 + +[KING] +peggy_denom = factory/inj156zqdswjfcttc8hrvwd5z3nv5n53l5xg9mqvht/KING +decimals = 6 + +[KINJA] +peggy_denom = factory/inj1h33jkaqqalcy3wf8um6ewk4hxmfwf8uern470k/kinja +decimals = 6 + +[KIRA] +peggy_denom = factory/inj1xy3kvlr4q4wdd6lrelsrw2fk2ged0any44hhwq/kira +decimals = 6 + +[KISH6] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/KISH6 +decimals = 6 + +[KIWI] +peggy_denom = factory/inj1lq9wn94d49tt7gc834cxkm0j5kwlwu4gm65lhe/KIWI +decimals = 18 + +[KNG] +peggy_denom = factory/inj1ht6d6axu5u4g24zephnc48ee585e2vge8czkzn/kennethii +decimals = 6 + +[KPEPE] +peggy_denom = pepe +decimals = 18 + +[KRA] +peggy_denom = factory/inj1leuc4h7w5seyw4mc58xk6qtn2dm23hj79sdca9/korra +decimals = 6 + +[KRI] +peggy_denom = factory/inj17z0plmzyrz4zrrfaps99egwqk4xk6kpq4728xg/kril-test +decimals = 6 + +[KUJI] +peggy_denom = ibc/9A115B56E769B92621FFF90567E2D60EFD146E86E867491DB69EEDA9ADC36204 +decimals = 6 + +[KUSD] +peggy_denom = factory/inj1xmc078w8gv42v99a5mctsm2e4pldvu7jtd08ym/kusd +decimals = 6 + +[Koncga] +peggy_denom = factory/inj1hr4rj6k72emjh9u7l6zg58c0n0daezz68060aq/Koncga +decimals = 6 + +[LABS] +peggy_denom = factory/inj1eutzkvh4gf5vvmxusdwl2t6gprux67d4acwc0p/labs +decimals = 6 + +[LADY] +peggy_denom = factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/LADY +decimals = 18 + +[LAHN] +peggy_denom = factory/inj133xeq92ak7p87hntvamgq3047kj8jfqhry92a8/LAHN +decimals = 6 + +[LAMA] +peggy_denom = factory/inj18lh8zx4hx0pyksyu74srktv4vgxskkkafknggl/LAMA +decimals = 6 + +[LAMA2] +peggy_denom = factory/inj13s8gyvm86p7tfcv6zcx5sjqgx4ruwfz8vy3hnm/LAMA2 +decimals = 6 + +[LAMBO] +peggy_denom = peggy0x3d2b66BC4f9D6388BD2d97B95b565BE1686aEfB3 +decimals = 18 + +[LCK] +peggy_denom = factory/inj19vcgt0pcywuy3tld6yp96emctrafc5s2p5duym/lck +decimals = 18 + +[LDO] +peggy_denom = inj1me6t602jlndzxgv2d7ekcnkjuqdp7vfh4txpyy +decimals = 8 + +[LEO] +peggy_denom = factory/inj1ku7eqpwpgjgt9ch07gqhvxev5pn2p2upzf72rm/LEO +decimals = 6 + +[LILI] +peggy_denom = factory/inj14l2vccns668jq3gp0hgwl5lcpatx9nqq3m7wyy/LILI +decimals = 8 + +[LINK] +peggy_denom = peggy0x514910771AF9Ca656af840dff83E8264EcF986CA +decimals = 18 + +[LIOR] +peggy_denom = factory/inj1tgphgjqsz8fupkfjx6cy275e3s0l8xfu6rd6jh/lior +decimals = 6 + +[LOKI] +peggy_denom = ibc/49FFD5EA91774117260257E30924738A5A1ECBD00ABDBF0AF3FD51A63AE752CD +decimals = 0 + +[LOL] +peggy_denom = factory/inj19zqaa78d67xmzxp3e693n3zxwpc5fq587s2lyh/LOL +decimals = 6 + +[LUNA] +peggy_denom = ibc/B8AF5D92165F35AB31F3FC7C7B444B9D240760FA5D406C49D24862BD0284E395 +decimals = 6 + +[LVN] +peggy_denom = ibc/4971C5E4786D5995EC7EF894FCFA9CF2E127E95D5D53A982F6A062F3F410EDB8 +decimals = 6 + +[LYM] +peggy_denom = peggy0xc690f7c7fcffa6a82b79fab7508c466fefdfc8c5 +decimals = 18 + +[Lenz] +peggy_denom = factory/inj19xadglv3eaaavaeur5553hjj99c3vtkajhj4r6/Lenz +decimals = 6 + +[LenzTest] +peggy_denom = factory/inj164dlu0as6r5a3kah6sdqv0tyx73upz8ggrcs77/LenzTest +decimals = 6 + +[LenzTestingTestnetFinal] +peggy_denom = factory/inj164dlu0as6r5a3kah6sdqv0tyx73upz8ggrcs77/LenzTestingTestnetFinal +decimals = 6 + +[LenzToken] +peggy_denom = factory/inj1qkfk75uastafdvnphj95drkkuqsf0ct42k3grf/LenzToken +decimals = 6 + +[LenzTokenFinalTest] +peggy_denom = factory/inj1qkfk75uastafdvnphj95drkkuqsf0ct42k3grf/LenzTokenFinalTest +decimals = 6 + +[Lido DAO Token] +peggy_denom = peggy0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32 +decimals = 18 + +[MADRA] +peggy_denom = factory/inj1n85jfpxee430qavn9edlkup9kny7aszarag8ed/MADAFAKA +decimals = 18 + +[MAGA] +peggy_denom = peggy0x576e2BeD8F7b46D34016198911Cdf9886f78bea7 +decimals = 9 + +[MAN] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/MAN +decimals = 6 + +[MATIC] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/matic +decimals = 18 + +[MBIST] +peggy_denom = factory/inj1gsvgj44zjlj6w890a7huedymh7v96sv839pwsv/MBIST +decimals = 6 + +[MBS] +peggy_denom = factory/inj1wazq0k74kqmll9kzzhy300tc7slxn4t2py2pz9/mysubdenom +decimals = 6 + +[MCN] +peggy_denom = factory/inj1cg3ufnnh7cdj9mnxc5dpvzufcrtckqqec0y5dp/mcn +decimals = 6 + +[MCN1] +peggy_denom = factory/inj1cg3ufnnh7cdj9mnxc5dpvzufcrtckqqec0y5dp/mcn1 +decimals = 6 + +[MEME] +peggy_denom = factory/inj1y2q2m0j65utqr3sr4fd0lh0httm2dv8z0h6qrk/MEME +decimals = 6 + +[MEMEME] +peggy_denom = peggy0x1A963Df363D01EEBB2816b366d61C917F20e1EbE +decimals = 18 + +[MFT] +peggy_denom = factory/inj19vcgt0pcywuy3tld6yp96emctrafc5s2p5duym/mft +decimals = 6 + +[MFZ] +peggy_denom = factory/inj175n4kj6va8yejh7w35t5v5f5gfm6ecyasgjnn9/MFZ +decimals = 6 + +[MHC] +peggy_denom = factory/inj1wqxweeera42jdgxaj44t9apth40t6q52uhadqv/MHC +decimals = 18 + +[MILA] +peggy_denom = factory/inj1z08usf75ecfp3cqtwey6gx7nr79s3agal3k8xf/mila +decimals = 6 + +[MILK] +peggy_denom = factory/inj1yg24mn8enl5e6v4jl2j6cce47mx4vyd6e8dpck/milk +decimals = 6 + +[MIRO] +peggy_denom = factory/inj14vn4n9czlvgpjueznux0a9g2xlqzmrzm4xyl4s/MIRO +decimals = 6 + +[MITHU] +peggy_denom = factory/inj1n50p90fllw0pae3663v6hqagwst063u3m2eczf/MITHU +decimals = 6 + +[MITOKEN] +peggy_denom = factory/inj100z6tw8f2vs8ntrkd8fj4wj3cd6y9usg8dhpmc/subtoken +decimals = 0 + +[MJB] +peggy_denom = factory/inj17z0plmzyrz4zrrfaps99egwqk4xk6kpq4728xg/majin-buu-test +decimals = 6 + +[MM93] +peggy_denom = factory/inj1gpwhwhmeuk4pu7atg9t30e7jc5ywvc58jpe9kc/MM93 +decimals = 6 + +[MONI] +peggy_denom = factory/inj12ecryjw7km6a9w8lvlrlpqg7csl8ax3lgnav9d/MONI +decimals = 6 + +[MOONIFY] +peggy_denom = factory/inj1ktq0gf7altpsf0l2qzql4sfs0vc0ru75cnj3a6/moonify +decimals = 6 + +[MOONLY] +peggy_denom = factory/inj1lypqwz349za88um0m4ltjhgf8q6q8p4y93pv6p/moonly +decimals = 6 + +[MOR] +peggy_denom = factory/inj1g055dn0qmm9qyrnuaryffqe3hu8qja0qnslx87/MOR_test +decimals = 6 + +[MOTHER] +peggy_denom = ibc/984E90A8E0265B9804B7345C7542BF9B3046978AE5557B4AABADDFE605CACABE +decimals = 6 + +[MPEPE] +peggy_denom = mpepe +decimals = 18 + +[MSTR] +peggy_denom = factory/inj176tn6dtrvak9vrqkj2ejysuy5kctc6nphw7sfz/MSTR +decimals = 6 + +[MT] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/mt +decimals = 6 + +[MT2] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/mitotest2 +decimals = 6 + +[MTS] +peggy_denom = factory/inj1fvgk4zvph04nwjp4z96etek2uvejq3ehdleqz9/MagicTest +decimals = 6 + +[MYTOKEN] +peggy_denom = factory/inj1ef5ddgx4q83a8mmap2gxsc7w5q5pj6rmfhjaex/Mytoken2 +decimals = 6 + +[MitoTest] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/mitotest1 +decimals = 18 + +[MyINJ] +peggy_denom = factory/inj1ddu9unqz0tfazh3js36q0lr0dnhcql8slm3hkg/inj-test +decimals = 6 + +[MytokenTest1] +peggy_denom = factory/inj1ef5ddgx4q83a8mmap2gxsc7w5q5pj6rmfhjaex/MytokenTest1 +decimals = 6 + +[NAFU] +peggy_denom = factory/inj14e53h3c6fmvxlwrzfaewd5p2x7em787s4kgc8g/NAFU +decimals = 6 + +[NANAS] +peggy_denom = factory/inj1zn8qlkjautjt3mvr7xwuvpe6eddqt5w3mak5s7/NANAS +decimals = 6 + +[NANTA] +peggy_denom = factory/inj12ecryjw7km6a9w8lvlrlpqg7csl8ax3lgnav9d/NANTA +decimals = 6 + +[NBLA] +peggy_denom = factory/inj1d0zfq42409a5mhdagjutl8u6u9rgcm4h8zfmfq/nbla +decimals = 6 + +[NBZ] +peggy_denom = ibc/1011E4D6D4800DA9B8F21D7C207C0B0C18E54E614A8576037F066B775210709D +decimals = 6 + +[NBZAIRDROP] +peggy_denom = factory/inj1llr45x92t7jrqtxvc02gpkcqhqr82dvyzkr4mz/nbzairdrop +decimals = 0 + +[NEOK] +peggy_denom = ibc/F6CC233E5C0EA36B1F74AB1AF98471A2D6A80E2542856639703E908B4D93E7C4 +decimals = 18 + +[NEX] +peggy_denom = factory/inj1v5ae8r4ax90k75qk7yavfmsv96grynqwyl0xg6/NEX +decimals = 0 + +[NEXO] +peggy_denom = peggy0xB62132e35a6c13ee1EE0f84dC5d40bad8d815206 +decimals = 18 + +[NINJA] +peggy_denom = factory/inj1xtel2knkt8hmc9dnzpjz6kdmacgcfmlv5f308w/ninja +decimals = 6 + +[NINJB] +peggy_denom = factory/inj1ezzzfm2exjz57hxuc65sl8s3d5y6ee0kxvu67n/ninjb +decimals = 6 + +[NINJI] +peggy_denom = factory/inj1eksclftnrmglhxw7pvjq8wnuhdwn4ykw2nffc2/ninjainu +decimals = 18 + +[NIS] +peggy_denom = factory/inj1qrnmf8dufs4xfln8nmgdqpfn7nvdnz27ntret0/NIS +decimals = 6 + +[NInj] +peggy_denom = factory/inj1kchqyuuk6mnjf4ndqasrswsfngd7jkrpduuyjr/NInj +decimals = 6 + +[NLC] +peggy_denom = inj1r9h59ke0a77zkaarr4tuq25r3lt9za4r2mgyf4 +decimals = 6 + +[NLT] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/NLT +decimals = 6 + +[NLT2] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/NLT2 +decimals = 6 + +[NLT3] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/NLT3 +decimals = 6 + +[NOBI] +peggy_denom = factory/inj1xawhm3d8lf9n0rqdljpal033yackja3dt0kvp0/nobi +decimals = 6 + +[NOBITCHES] +peggy_denom = factory/inj14n8f39qdg6t68s5z00t4vczvkcvzlgm6ea5vk5/nobitches +decimals = 6 + +[NOIA] +peggy_denom = peggy0xa8c8CfB141A3bB59FEA1E2ea6B79b5ECBCD7b6ca +decimals = 18 + +[NOIS] +peggy_denom = ibc/DD9182E8E2B13C89D6B4707C7B43E8DB6193F9FF486AFA0E6CF86B427B0D231A +decimals = 6 + +[NONE] +peggy_denom = peggy0x903ff0ba636E32De1767A4B5eEb55c155763D8B7 +decimals = 18 + +[NONJA] +peggy_denom = inj1fu5u29slsg2xtsj7v5la22vl4mr4ywl7wlqeck +decimals = 18 + +[NPEPE] +peggy_denom = factory/inj1ga982yy0wumrlt4nnj79wcgmw7mzvw6jcyecl0/npepe +decimals = 6 + +[NPP] +peggy_denom = factory/inj1wfu4622uhs5kmfws8vse76sxac7qxu3pckhkph/npepe +decimals = 6 + +[NRL] +peggy_denom = factory/inj13s8gyvm86p7tfcv6zcx5sjqgx4ruwfz8vy3hnm/NRL +decimals = 6 + +[NT] +peggy_denom = factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/NewToken +decimals = 6 + +[NTR] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/NTR +decimals = 6 + +[Neptune Receipt INJ] +peggy_denom = inj1rmzufd7h09sqfrre5dtvu5d09ta7c0t4jzkr2f +decimals = 18 + +[OCEAN] +peggy_denom = peggy0x967da4048cD07aB37855c090aAF366e4ce1b9F48 +decimals = 18 + +[OLI] +peggy_denom = factory/inj1xhz824048f03pq9zr3dx72zck7fv0r4kg4nr6j/OLI +decimals = 6 + +[OMI] +peggy_denom = peggy0xed35af169af46a02ee13b9d79eb57d6d68c1749e +decimals = 18 + +[OMNI] +peggy_denom = peggy0x36e66fbbce51e4cd5bd3c62b637eb411b18949d4 +decimals = 18 + +[ONE] +peggy_denom = factory/inj127fnqclnf2s2d3trhxc8yzuae6lq4zkfasehr0/ONE +decimals = 1 + +[OP] +peggy_denom = op +decimals = 18 + +[ORAI] +peggy_denom = ibc/C20C0A822BD22B2CEF0D067400FCCFB6FAEEE9E91D360B4E0725BD522302D565 +decimals = 6 + +[ORNE] +peggy_denom = ibc/3D99439444ACDEE71DBC4A774E49DB74B58846CCE31B9A868A7A61E4C14D321E +decimals = 6 + +[OSMO] +peggy_denom = ibc/92E0120F15D037353CFB73C14651FC8930ADC05B93100FD7754D3A689E53B333 +decimals = 6 + +[OX] +peggy_denom = peggy0x78a0A62Fba6Fb21A83FE8a3433d44C73a4017A6f +decimals = 18 + +[Oraichain] +peggy_denom = peggy0x4c11249814f11b9346808179Cf06e71ac328c1b5 +decimals = 18 + +[PANZ] +peggy_denom = factory/inj1nppq4gg9ne5yvp9dw7fl9cdwjvn69u9mnyuynz/PANZ +decimals = 6 + +[PAXG] +peggy_denom = peggy0x45804880De22913dAFE09f4980848ECE6EcbAf78 +decimals = 18 + +[PB] +peggy_denom = factory/inj124edzakrq96vwfxp996d0nkr3dzlcsy84c375w/PB +decimals = 0 + +[PED] +peggy_denom = factory/inj14x449v06kj4fw6s9wnx8ku23zzuazfpkz6a73v/PED +decimals = 6 + +[PENJY] +peggy_denom = factory/inj1gyxrvcdvjr22l5fu43ng4c607nxpc8yuxslcv3/penjy +decimals = 6 + +[PEPE] +peggy_denom = peggy0x6982508145454ce325ddbe47a25d4ec3d2311933 +decimals = 18 + +[PHUC] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/phuc +decimals = 6 + +[PHX] +peggy_denom = factory/inj1d9pn8qvfh75fpxw5lkcrmuwh94qlgctzuzp7hv/phoenix +decimals = 6 + +[PIKA] +peggy_denom = factory/inj1h4usvhhva6dgmun9rk4haeh8lynln7yhk6ym00/pika +decimals = 6 + +[PINJA] +peggy_denom = factory/inj1gyxrvcdvjr22l5fu43ng4c607nxpc8yuxslcv3/pinja +decimals = 6 + +[PINKIE] +peggy_denom = factory/inj1d5fe04g9xa577e2zn82n4m0ksq8wp8vxgvfupw/PINKIE +decimals = 6 + +[PKT] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/PKT +decimals = 6 + +[PLY] +peggy_denom = factory/inj1vumd9aald3efd8jjegwvppedyzmf7k4x3rv3zn/PLY +decimals = 6 + +[PMN] +peggy_denom = factory/inj1xwdmsf2pd3eg6axkdgkjpaq689f9mjun0qvrgt/PMN +decimals = 6 + +[POG] +peggy_denom = factory/inj1vpp394hzv5rwz9de9xx60rxjl9cx82t0nt0nrz/pog +decimals = 6 + +[POIL] +peggy_denom = factory/inj1h0ypsdtjfcjynqu3m75z2zwwz5mmrj8rtk2g52/upoil +decimals = 6 + +[POINT] +peggy_denom = factory/inj1zaem9jqplp08hkkd5vcl6vmvala9qury79vfj4/point +decimals = 0 + +[POL] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/POL +decimals = 6 + +[POOL] +peggy_denom = peggy0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e +decimals = 18 + +[POOR] +peggy_denom = peggy0x9D433Fa992C5933D6843f8669019Da6D512fd5e9 +decimals = 8 + +[PP] +peggy_denom = factory/inj1p5g2l4gknhnflr5qf0jdrp9snvx747nqttrh6k/pop +decimals = 6 + +[PPenguin] +peggy_denom = factory/inj1sq839juq97296mumt84hzfjpc2nf7h2u774g59/PPenguin +decimals = 6 + +[PRI] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/PRI +decimals = 6 + +[PROF] +peggy_denom = factory/inj1tnj7z7ufm5uwtf5n4nzlvxyy93p8shjanj9s8r/Prof +decimals = 6 + +[PROJ] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/proj +decimals = 18 + +[PROJX] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/projx +decimals = 18 + +[PTXE] +peggy_denom = factory/inj1g055dn0qmm9qyrnuaryffqe3hu8qja0qnslx87/PTXE +decimals = 6 + +[PUG] +peggy_denom = peggy0xf9a06dE3F6639E6ee4F079095D5093644Ad85E8b +decimals = 18 + +[PUNK] +peggy_denom = factory/inj1esz96ru3guug4ctmn5chjmkymt979sfvufq0hs/punk +decimals = 6 + +[PVP] +peggy_denom = peggy0x9B44793a0177C84DD01AD81137db696531902871 +decimals = 8 + +[PWH] +peggy_denom = factory/inj1smk28fqgy0jztu066ngfcwqc3lv65xgq79wly8/PWH +decimals = 6 + +[PYTH] +peggy_denom = ibc/F3330C1B8BD1886FE9509B94C7B5398B892EA41420D2BC0B7C6A53CB8ED761D6 +decimals = 6 + +[PYTHlegacy] +peggy_denom = inj1tjcf9497fwmrnk22jfu5hsdq82qshga54ajvzy +decimals = 6 + +[PYUSD] +peggy_denom = peggy0x6c3ea9036406852006290770BEdFcAbA0e23A0e8 +decimals = 6 + +[PZZ] +peggy_denom = factory/inj1vpp394hzv5rwz9de9xx60rxjl9cx82t0nt0nrz/pzz +decimals = 6 + +[Pep] +peggy_denom = factory/inj1zvy8xrlhe7ex9scer868clfstdv7j6vz790kwa/pepper +decimals = 6 + +[Phuc] +peggy_denom = factory/inj1995xnrrtnmtdgjmx0g937vf28dwefhkhy6gy5e/phuc +decimals = 6 + +[Pikachu] +peggy_denom = factory/inj1h9zu2u6yqf3t5uym75z94zsqfhazzkyg39957u/pika +decimals = 6 + +[Polkadot] +peggy_denom = inj1spzwwtr2luljr300ng2gu52zg7wn7j44m92mdf +decimals = 10 + +[Polygon] +peggy_denom = peggy0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0 +decimals = 18 + +[Punk Token] +peggy_denom = inj1wmrzttj7ms7glplek348vedx4v2ls467n539xt +decimals = 18 + +[QAQA] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/QAQA +decimals = 0 + +[QAT] +peggy_denom = peggy0x5Ac3A2F6205a481C7a8984E4291E450e52cd0369 +decimals = 18 + +[QATEST] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/QATEST +decimals = 6 + +[QATEST2] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/QATEST2 +decimals = 6 + +[QATEST3] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/QATEST3 +decimals = 6 + +[QATEST4] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/QATEST4 +decimals = 6 + +[QATS] +peggy_denom = factory/inj1navfuxj73mzrc8a28uwnwz4x4udzdsv9r5e279/qa-test +decimals = 0 + +[QN] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/QN +decimals = 0 + +[QNA] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/QNA +decimals = 6 + +[QNT] +peggy_denom = peggy0x4a220e6096b25eadb88358cb44068a3248254675 +decimals = 18 + +[QTUM] +peggy_denom = factory/inj1jgc9ptfwgyapfrr0kgdjjnwpdqck24pp59uma3/QTUM +decimals = 6 + +[QUK] +peggy_denom = factory/inj1y39rszzrs9hpfmt5uwkp6gxyvawrkt4krateru/QUK +decimals = 6 + +[QUNT] +peggy_denom = factory/inj127l5a2wmkyvucxdlupqyac3y0v6wqfhq03ka64/qunt +decimals = 6 + +[RAI] +peggy_denom = peggy0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919 +decimals = 18 + +[RAMEN] +peggy_denom = factory/inj1z5utcc5u90n8a5m8gv30char6j4hdzxz6t3pke/ramen +decimals = 6 + +[RAMENV2] +peggy_denom = factory/inj15d5v02thnac8mc79hx0nzuz4rjxuccy7rc63x3/RAMENV2 +decimals = 6 + +[RAY] +peggy_denom = factory/inj1ckddr5lfwjvm2lvtzra0ftx7066seqr3navva0/RAY +decimals = 6 + +[RBT] +peggy_denom = factory/inj130g9fldgdee4dcqazhuaqxhkr6rx75p8ufrl3m/robo-test +decimals = 6 + +[RD] +peggy_denom = factory/inj1d5p93zzsgr5dwvxfus4hsp3nxz29y99r80905q/ak +decimals = 6 + +[RED] +peggy_denom = factory/inj1xyufatym0y7dlv2qzm7p5rkythh9n6wa588yl6/ReactDev +decimals = 6 + +[REKT] +peggy_denom = factory/inj1cs9k0q8pv0446nxg66tu0u2w26qd52rc5pxvpy/REKT +decimals = 6 + +[RIBBINJ] +peggy_denom = factory/inj1kdcu73qfsaq37x6vfq05a8gqcxftepxyhcvyg5/RIBBINJ +decimals = 9 + +[RIBBIT] +peggy_denom = peggy0xb794Ad95317f75c44090f64955954C3849315fFe +decimals = 18 + +[RICE] +peggy_denom = factory/inj1mt876zny9j6xae25h7hl7zuqf7gkx8q63k0426/RICE +decimals = 12 + +[RKO] +peggy_denom = factory/inj1muuaghrdm2rfss9cdpxzhk3v7xqj8ltngrm0xd/RKO +decimals = 6 + +[RON] +peggy_denom = factory/inj1fe2cl7p79g469604u6x5elrphm7k5nruylms52/RON +decimals = 6 + +[ROOT] +peggy_denom = peggy0xa3d4BEe77B05d4a0C943877558Ce21A763C4fa29 +decimals = 6 + +[ROUTE] +peggy_denom = ibc/90FE7A5C905DA053907AEEABAE0C57E64C76D5346EE46F0E3C994C5470D311C0 +decimals = 0 + +[RUNE] +peggy_denom = peggy0x3155BA85D5F96b2d030a4966AF206230e46849cb +decimals = 18 + +[RUNES] +peggy_denom = factory/inj1ewgk2lynac2aa45yldl8cnnyped3ed8y0t76wx/RUNES +decimals = 6 + +[RYN] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/RYN +decimals = 6 + +[SAE] +peggy_denom = factory/inj152mdu38fkkk4fl7ycrpdqxpm63w3ztadgtktyr/sae +decimals = 6 + +[SAGA] +peggy_denom = ibc/AF921F0874131B56897A11AA3F33D5B29CD9C147A1D7C37FE8D918CB420956B2 +decimals = 6 + +[SAMOLEANS] +peggy_denom = ibc/6FFBDD9EACD2AC8C3CB7D3BEE5258813BC41AEEEA65C150ECB63E2DDAC8FB454 +decimals = 0 + +[SANTA] +peggy_denom = factory/inj1zvy8xrlhe7ex9scer868clfstdv7j6vz790kwa/santa +decimals = 6 + +[SCRT] +peggy_denom = ibc/0954E1C28EB7AF5B72D24F3BC2B47BBB2FDF91BDDFD57B74B99E133AED40972A +decimals = 6 + +[SDEX] +peggy_denom = peggy0x5DE8ab7E27f6E7A1fFf3E5B337584Aa43961BEeF +decimals = 18 + +[SEI] +peggy_denom = sei +decimals = 6 + +[SEX] +peggy_denom = factory/inj1hqlt3hl54m2qf86r3xzqa4fjsxrylr3sk9gdzq/SEX +decimals = 6 + +[SGINU] +peggy_denom = factory/inj17ejzl5zkkxqt73w7xq90vfta5typu2yk7uj3gw/SGINU +decimals = 6 + +[SHA] +peggy_denom = factory/inj1g3xlmzw6z6wrhxqmxsdwj60fmscenaxlzfnwm7/Sharissa +decimals = 6 + +[SHIB] +peggy_denom = peggy0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE +decimals = 18 + +[SHIBAINU] +peggy_denom = factory/inj1sq839juq97296mumt84hzfjpc2nf7h2u774g59/SHIBAINU +decimals = 6 + +[SHITBIT] +peggy_denom = factory/inj169w99uj9psyvhu7zunc5tnp8jjflc53np7vw06/SHITBIT +decimals = 6 + +[SHROOM] +peggy_denom = inj1300xcg9naqy00fujsr9r8alwk7dh65uqu87xm8 +decimals = 18 + +[SHSA] +peggy_denom = factory/inj1t9em6lv5x94w0d66nng6tqkrtrlhcpj9penatm/SHSA +decimals = 6 + +[SHURIKEN] +peggy_denom = factory/inj1z426atp9k68uv49kaam7m0vnehw5fulxkyvde0/shuriken +decimals = 6 + +[SKIPBIDIDOBDOBDOBYESYESYESYES] +peggy_denom = peggy0x5085202d0A4D8E4724Aa98C42856441c3b97Bc6d +decimals = 9 + +[SKk] +peggy_denom = factory/inj10jzww6ws9djfuhpnq8exhzf6um039fcww99myr/SKk +decimals = 6 + +[SLZ] +peggy_denom = factory/inj176tn6dtrvak9vrqkj2ejysuy5kctc6nphw7sfz/SLZ +decimals = 6 + +[SMELLY] +peggy_denom = factory/inj10pz3xq7zf8xudqxaqealgyrnfk66u3c99ud5m2/smelly +decimals = 6 + +[SMR] +peggy_denom = factory/inj105rtd2gweld3ecde79tg4k8f53pe3ekl8n5t3v/SMR +decimals = 6 + +[SNOWY] +peggy_denom = factory/inj1ml33x7lkxk6x2x95d3alw4h84evlcdz2gnehmk/snowy +decimals = 6 + +[SNS] +peggy_denom = ibc/4BFB3FB1903142C5A7570EE7697636436E52FDB99AB8ABE0257E178A926E2568 +decimals = 8 + +[SNX] +peggy_denom = peggy0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F +decimals = 18 + +[SOL] +peggy_denom = inj12ngevx045zpvacus9s6anr258gkwpmthnz80e9 +decimals = 8 + +[SOLlegacy] +peggy_denom = inj1sthrn5ep8ls5vzz8f9gp89khhmedahhdkqa8z3 +decimals = 8 + +[SOMM] +peggy_denom = ibc/34346A60A95EB030D62D6F5BDD4B745BE18E8A693372A8A347D5D53DBBB1328B +decimals = 6 + +[SPDR] +peggy_denom = factory/inj1vpp394hzv5rwz9de9xx60rxjl9cx82t0nt0nrz/spdr +decimals = 6 + +[SPDR2] +peggy_denom = factory/inj1vpp394hzv5rwz9de9xx60rxjl9cx82t0nt0nrz/spdr2 +decimals = 6 + +[SPNG] +peggy_denom = factory/inj1vpp394hzv5rwz9de9xx60rxjl9cx82t0nt0nrz/spng +decimals = 6 + +[SPUUN] +peggy_denom = factory/inj1flkktfvf8nxvk300f2z3vxglpllpw59c563pk7/spuun +decimals = 6 + +[SS] +peggy_denom = factory/inj1ujd7rlhp8980lwg74tek7gv4yv4qj4xcvxrx45/SuperSonic +decimals = 6 + +[SS-INJ-test] +peggy_denom = factory/inj1ejm3575vmekrr240xzlklvrzq23sg8r3enup29/SS-INJ-test +decimals = 6 + +[ST] +peggy_denom = factory/inj15gxryjn2m9yze97lem488qgq2q84vge8eksqfq/supertoken123 +decimals = 6 + +[STARS] +peggy_denom = peggy0xc55c2175E90A46602fD42e931f62B3Acc1A013Ca +decimals = 18 + +[STINJ] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/stinj +decimals = 18 + +[STRD] +peggy_denom = ibc/3FDD002A3A4019B05A33D324B2F29748E77AF501BEA5C96D1F28B2D6755F9F25 +decimals = 6 + +[STT] +peggy_denom = peggy0xaC9Bb427953aC7FDDC562ADcA86CF42D988047Fd +decimals = 18 + +[STX] +peggy_denom = stx +decimals = 6 + +[SUDD] +peggy_denom = factory/inj1vk5fgqjffp7e34elj8dxzwfvfqdtp5yn09gwmz/SUDD +decimals = 6 + +[SUDD2] +peggy_denom = factory/inj1vk5fgqjffp7e34elj8dxzwfvfqdtp5yn09gwmz/SUDD2 +decimals = 6 + +[SUDD3] +peggy_denom = factory/inj1vk5fgqjffp7e34elj8dxzwfvfqdtp5yn09gwmz/SUDD3 +decimals = 6 + +[SUI] +peggy_denom = sui +decimals = 9 + +[SUR] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/SUR +decimals = 6 + +[SUSDT] +peggy_denom = factory/inj14dvet9j73cak22sf7nzgn52ae8z4fdxzsn683v/susdt +decimals = 6 + +[SUSHI] +peggy_denom = inj1n73yuus64z0yrda9hvn77twkspc4uste9j9ydd +decimals = 18 + +[SWAP] +peggy_denom = peggy0xcc4304a31d09258b0029ea7fe63d032f52e44efe +decimals = 18 + +[Sea] +peggy_denom = factory/inj1xh6c9px2aqg09cnd8ls2wxykm70d7ygxce2czh/Sea +decimals = 6 + +[Shiba INJ] +peggy_denom = factory/inj1v0yk4msqsff7e9zf8ktxykfhz2hen6t2u4ue4r/shiba inj +decimals = 6 + +[Shinobi] +peggy_denom = factory/inj1t02au5gsk40ev9jaq0ggcyry9deuvvza6s4wav/nobi +decimals = 6 + +[Shrute] +peggy_denom = factory/inj1dng0drt6hncescgh0vwz22wjlhysn804pxnlar/Shrute +decimals = 6 + +[Shuriken Token] +peggy_denom = factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/shuriken +decimals = 6 + +[Solana] +peggy_denom = ibc/A8B0B746B5AB736C2D8577259B510D56B8AF598008F68041E3D634BCDE72BE97 +decimals = 8 + +[Sommelier] +peggy_denom = peggy0xa670d7237398238DE01267472C6f13e5B8010FD1 +decimals = 6 + +[SteadyBTC] +peggy_denom = peggy0x4986fD36b6b16f49b43282Ee2e24C5cF90ed166d +decimals = 18 + +[SteadyETH] +peggy_denom = peggy0x3F07A84eCdf494310D397d24c1C78B041D2fa622 +decimals = 18 + +[Stride Staked Injective] +peggy_denom = ibc/AC87717EA002B0123B10A05063E69BCA274BA2C44D842AEEB41558D2856DCE93 +decimals = 18 + +[Summoners Arena Essence] +peggy_denom = ibc/0AFCFFE18230E0E703A527F7522223D808EBB0E02FDBC84AAF8A045CD8FE0BBB +decimals = 8 + +[SushiSwap] +peggy_denom = peggy0x6B3595068778DD592e39A122f4f5a5cF09C90fE2 +decimals = 18 + +[TAB] +peggy_denom = peggy0x36B3D7ACe7201E28040eFf30e815290D7b37ffaD +decimals = 18 + +[TALIS] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/Talis +decimals = 6 + +[TALKS1N] +peggy_denom = factory/inj1cs9k0q8pv0446nxg66tu0u2w26qd52rc5pxvpy/TALKS1N +decimals = 6 + +[TALKSIN] +peggy_denom = factory/inj1cs9k0q8pv0446nxg66tu0u2w26qd52rc5pxvpy/TALKSIN +decimals = 6 + +[TBT] +peggy_denom = factory/inj1xyfrl7wrsczv7ah5tvvpcwnp3vlc3n9terc9d6/TBT +decimals = 18 + +[TCK] +peggy_denom = factory/inj1fcj6mmsj44wm04ff77kuncqx6vg4cl9qsgugkg/TCHUCA +decimals = 6 + +[TEST] +peggy_denom = factory/inj153aamk0zm4hfmv66pzgf629a9mjs2fyjr46y6q/TEST +decimals = 6 + +[TEST1] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/test1 +decimals = 6 + +[TEST10] +peggy_denom = factory/inj1vpp394hzv5rwz9de9xx60rxjl9cx82t0nt0nrz/test10 +decimals = 6 + +[TEST11] +peggy_denom = factory/inj1vpp394hzv5rwz9de9xx60rxjl9cx82t0nt0nrz/test11 +decimals = 6 + +[TEST12] +peggy_denom = factory/inj1vpp394hzv5rwz9de9xx60rxjl9cx82t0nt0nrz/test12 +decimals = 6 + +[TEST1234] +peggy_denom = factory/inj1kgx9rqg7dtl27lqqxyw6q0vvuljulj8gn99tme/test1234 +decimals = 6 + +[TEST13] +peggy_denom = factory/inj1vpp394hzv5rwz9de9xx60rxjl9cx82t0nt0nrz/test13 +decimals = 6 + +[TEST14] +peggy_denom = factory/inj1mux0he68umjpcy8ltefeuxm9ha2ww3689rv2g4/TEST14 +decimals = 6 + +[TEST2] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/test2 +decimals = 6 + +[TEST3] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/test3 +decimals = 6 + +[TEST4] +peggy_denom = factory/inj1asqp852arxkam8uckm2uvc4y365kdf06evq3zy/test4 +decimals = 6 + +[TEST5] +peggy_denom = factory/inj1gvhyp8un5l9jpxpd90rdtj3ejd6qser2s2jxtz/TEST5 +decimals = 9 + +[TEST6] +peggy_denom = factory/inj1u0lamqk0qggn5cxqn53t79jsthcpen9w754ayc/TEST6 +decimals = 6 + +[TEST9] +peggy_denom = factory/inj1asqp852arxkam8uckm2uvc4y365kdf06evq3zy/test9 +decimals = 6 + +[TESTES] +peggy_denom = factory/inj19hvtll63gdk7226lcgdthd8w6vkwvy2lygd54s/Testess +decimals = 6 + +[TESTING] +peggy_denom = factory/inj17ljxhz0c7tdcjfzhnk3xgk3mfudtcjs2g3676l/TESTING +decimals = 6 + +[TESTINTERNAL1] +peggy_denom = factory/inj1hj4nr0jt0mzpawxt5tyajqgwf3pct5552rvkvp/TESTINTERNAL1 +decimals = 6 + +[TESTNETMEMECOIN69] +peggy_denom = factory/inj1u4uuueup7p30zfl9xvslddnen45dg7pylsq4td/TESTNETMEMECOIN69 +decimals = 6 + +[TESTTOKEN] +peggy_denom = factory/inj14lvrxu8jlrdytval7k29nxhxr9a39u6am86tr3/TestToken1 +decimals = 0 + +[TESTTT] +peggy_denom = factory/inj13njxly446jm3gd8y84qnk3sm6wu0pjjc47mwl6/TESTTT +decimals = 6 + +[TEZ] +peggy_denom = factory/inj10nzx9ke6em2lhsvzakut8tah53m6j3972g4yhm/TEZ +decimals = 6 + +[TEvmos] +peggy_denom = ibc/300B5A980CA53175DBAC918907B47A2885CADD17042AD58209E777217D64AF20 +decimals = 18 + +[TFC] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/TFC +decimals = 1 + +[TFT] +peggy_denom = peggy0x05599Ff7e3FC3bbA01e3F378dC9C20CB5Bea2b75 +decimals = 18 + +[TIA] +peggy_denom = ibc/F51BB221BAA275F2EBF654F70B005627D7E713AFFD6D86AFD1E43CAA886149F4 +decimals = 6 + +[TINJ] +peggy_denom = peggy0x85AbEac4F09762e28a49D7dA91260A46766F4F79 +decimals = 18 + +[TINJT] +peggy_denom = factory/inj1gdxcak50wsvltn3pmcan437kt5hdnm0y480pj0/TINJT +decimals = 6 + +[TITOU] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/TITOU +decimals = 6 + +[TITS] +peggy_denom = factory/inj1uacfgkzyjqcwll6l4n5l23y9k0k80alsc2yt0k/TITS +decimals = 6 + +[TIX] +peggy_denom = factory/inj1rw3qvamxgmvyexuz2uhyfa4hukvtvteznxjvke/tix +decimals = 6 + +[TKN] +peggy_denom = peggy0xA4eE602c16C448Dc0D1fc38E6FC12f0d6C672Cbe +decimals = 18 + +[TLKSN] +peggy_denom = factory/inj1cs9k0q8pv0446nxg66tu0u2w26qd52rc5pxvpy/TLKSN +decimals = 6 + +[TMERC] +peggy_denom = factory/inj13xl0ffk4hugh48cpvtxxulvyelv758anhdruw0/TMERC +decimals = 6 + +[TMTT] +peggy_denom = factory/inj135fg9urn32jrddswnlqjuryvsz2l3z7w0xlc3g/TMTT +decimals = 6 + +[TNAM1QXVG64PSVHWUMV3MWRRJFCZ0H3T3274HWGGYZCEE] +peggy_denom = ibc/F5EAC29F246C99F56219AAF6F70A521B9AB0082D8FFC63648744C4BADD28976C +decimals = 0 + +[TOM] +peggy_denom = factory/inj10pdtl2nvatk5we2z8q7jx70mqgz244vwdeljnr/TOM +decimals = 6 + +[TOPE] +peggy_denom = factory/inj18jnrfl0w8j3r9mg0xhs53wqjfn26l4qrx3rw7u/TOPE +decimals = 6 + +[TOR] +peggy_denom = factory/inj18g3fzlzcvm869nfqx6vx3w569l2ehc2x7yd9zn/TOR +decimals = 6 + +[TPINKIE] +peggy_denom = factory/inj1d5fe04g9xa577e2zn82n4m0ksq8wp8vxgvfupw/TPINKIE +decimals = 6 + +[TREN] +peggy_denom = factory/inj1ckddr5lfwjvm2lvtzra0ftx7066seqr3navva0/TREN +decimals = 6 + +[TRIP] +peggy_denom = factory/inj1lq9wn94d49tt7gc834cxkm0j5kwlwu4gm65lhe/TRIP +decimals = 18 + +[TRIPP] +peggy_denom = factory/inj1lq9wn94d49tt7gc834cxkm0j5kwlwu4gm65lhe/TRIPP +decimals = 6 + +[TRIPPY] +peggy_denom = factory/inj1q2m26a7jdzjyfdn545vqsude3zwwtfrdap5jgz/TRIPPY +decimals = 18 + +[TRUCPI] +peggy_denom = trucpi +decimals = 18 + +[TS] +peggy_denom = factory/inj147s5vh6ck67zjtpgd674c7efd47jqck55chw4l/inj-demo12 +decimals = 6 + +[TSK] +peggy_denom = factory/inj1uqtnkdsteaxhsjy4xug2t3cklxdaz52nrjmgru/TSK +decimals = 6 + +[TST] +peggy_denom = factory/inj14sllqhu93hvvygte05ucu5am7ugny2gna7sffd/inj-test +decimals = 10 + +[TST2] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/TST2 +decimals = 6 + +[TST3] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/TST3 +decimals = 6 + +[TST4] +peggy_denom = factory/inj14lvrxu8jlrdytval7k29nxhxr9a39u6am86tr3/TST4 +decimals = 0 + +[TST5] +peggy_denom = factory/inj14lvrxu8jlrdytval7k29nxhxr9a39u6am86tr3/TST5 +decimals = 0 + +[TST6] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/TST6 +decimals = 6 + +[TSTESTTOKEN] +peggy_denom = factory/inj12ufkkhdg0u5lzxkljdanwn4955ev4ty3nk7l08/TSTESTTOKEN +decimals = 6 + +[TT] +peggy_denom = factory/inj1kp5yr4xragvff8el0unhgr4d5cx6322g7s04lt/inj-go +decimals = 18 + +[TTE] +peggy_denom = factory/inj1ks3hnkur9udnjuhf5ra806alm4tz3dmy03qkly/inj-go12 +decimals = 18 + +[TTN] +peggy_denom = factory/inj1d5fe04g9xa577e2zn82n4m0ksq8wp8vxgvfupw/TESTTOKEN +decimals = 6 + +[TTNY] +peggy_denom = factory/inj1uc2lndfg7qlvhnwkknlnqr37ekwf40xulf4cur/TTNY +decimals = 6 + +[TTTA] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/TTTA +decimals = 6 + +[TTX] +peggy_denom = factory/inj1ayjd8psv86kmfsg7k54rmr2hnrsnczqwc3ecrt/thanhtx +decimals = 6 + +[TUS] +peggy_denom = factory/inj1q3lwaq6wwfv69wdyga0f67vpk824g3a0uzqhqy/TUS +decimals = 6 + +[Terra] +peggy_denom = peggy0xd2877702675e6cEb975b4A1dFf9fb7BAF4C91ea9 +decimals = 6 + +[TerraUSD] +peggy_denom = peggy0xa47c8bf37f92aBed4A126BDA807A7b7498661acD +decimals = 18 + +[Test] +peggy_denom = factory/inj172z2fxya77cfeknz93vv4hxegfdave6g7uz9y9/Test +decimals = 6 + +[Test QAT] +peggy_denom = inj1m4g54lg2mhhm7a4h3ms5xlyecafhe4macgsuen +decimals = 8 + +[Test1] +peggy_denom = factory/inj1v2py2tvjpkntltgv79jj3mwe3hnqm2pvavu0ed/Test1 +decimals = 6 + +[Test2] +peggy_denom = factory/inj1v2py2tvjpkntltgv79jj3mwe3hnqm2pvavu0ed/Test2 +decimals = 6 + +[TestINJ91] +peggy_denom = factory/inj1yu5nmgrz0tzhlffmlmrff7zx3rfdwlju587vlc/TestINJ91 +decimals = 6 + +[TestInj] +peggy_denom = factory/inj172z2fxya77cfeknz93vv4hxegfdave6g7uz9y9/TestInj +decimals = 6 + +[TestOne] +peggy_denom = factory/inj1tu3en98ngtwlyszd55j50t0y6lpuf6dqf0rz4l/TestOne +decimals = 6 + +[Testeb] +peggy_denom = factory/inj1sn6u0472ds6v8x2x482gqqc36g0lz28uhq660v/Testeb +decimals = 6 + +[Tether] +peggy_denom = peggy0xdAC17F958D2ee523a2206206994597C13D831ec7 +decimals = 6 + +[Token with fee on transfer] +peggy_denom = peggy0x290FB1D3CFA67A0305608E457B31e368d82F3153 +decimals = 18 + +[Torres] +peggy_denom = factory/inj18wy4ns607slpn728rm88zl6jlrkd5dx48ew6ke/Torres +decimals = 6 + +[UANDR] +peggy_denom = ibc/4EF7835F49907C402631998B8F54FAA007B01999708C54A0F8DAABFAA793DA56 +decimals = 0 + +[UATOM] +peggy_denom = ibc/1738C5DCDE442A5614652C57AEAD4C37BB2E167402A0661754A868F3AE70C1A0 +decimals = 0 + +[ULUNA] +peggy_denom = ibc/3848612C1ADD343CF42B2B4D2D1B68BBE419BCF97E0B6DD29B6C412E2CD23DC5 +decimals = 0 + +[UMA] +peggy_denom = peggy0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828 +decimals = 18 + +[UNI] +peggy_denom = peggy0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984 +decimals = 18 + +[UNICORN] +peggy_denom = factory/inj1mrdkgz462sq0tvly8vzv0s320g8yyf67crxwdt/corn +decimals = 0 + +[UNOIS] +peggy_denom = ibc/A190CF3FC762D25A46A49E7CB0E998F4A494C7F64A356DA17C25A2D8B0069D3B +decimals = 0 + +[UOSMO] +peggy_denom = ibc/289D9B2071AD91C3E5529F68AF63497E723B506CE2480E0A39A2828D81A75739 +decimals = 0 + +[UPE] +peggy_denom = factory/inj1lahxt4xg8xu2dwjjsagjaj6lsg4q96uhnt2x6n/UPE +decimals = 6 + +[UPHOTON] +peggy_denom = ibc/48BC9C6ACBDFC1EBA034F1859245D53EA4BF74147189D66F27C23BF966335DFB +decimals = 6 + +[UPRYZM] +peggy_denom = ibc/89B44726816D9DB5C77B6D2E2A007A520C002355DA577001C56072EE5A903B05 +decimals = 0 + +[USD Coin] +peggy_denom = ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E +decimals = 6 + +[USD Coin (legacy)] +peggy_denom = inj1q6zlut7gtkzknkk773jecujwsdkgq882akqksk +decimals = 6 + +[USDC] +peggy_denom = peggy0xf9152067989BDc8783fF586624124C05A529A5D1 +decimals = 6 + +[USDC-MPL] +peggy_denom = peggy0xf875aef00C4E21E9Ab4A335eB36A1175Ab00424A +decimals = 6 + +[USDCarb] +peggy_denom = inj1lmcfftadjkt4gt3lcvmz6qn4dhx59dv2m7yv8r +decimals = 6 + +[USDCbsc] +peggy_denom = inj1dngqzz6wphf07fkdam7dn55t8t3r6qenewy9zu +decimals = 6 + +[USDCet] +peggy_denom = inj12sqy9uzzl3h3vqxam7sz9f0yvmhampcgesh3qw +decimals = 6 + +[USDCgateway] +peggy_denom = ibc/7BE71BB68C781453F6BB10114F8E2DF8DC37BA791C502F5389EA10E7BEA68323 +decimals = 6 + +[USDClegacy] +peggy_denom = peggy0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 +decimals = 6 + +[USDCpoly] +peggy_denom = inj19s2r64ghfqq3py7f5dr0ynk8yj0nmngca3yvy3 +decimals = 6 + +[USDCso] +peggy_denom = inj12pwnhtv7yat2s30xuf4gdk9qm85v4j3e60dgvu +decimals = 6 + +[USDT] +peggy_denom = peggy0xC2C527C0CACF457746Bd31B2a698Fe89de2b6d49 +decimals = 6 + +[USDT_31DEC23] +peggy_denom = factory/inj1m8vmsa84ha7up6cx3v7y7jj9egzl3u3vyzqml0/test_denom +decimals = 6 + +[USDTap] +peggy_denom = inj13yrhllhe40sd3nj0lde9azlwfkyrf2t9r78dx5 +decimals = 6 + +[USDTbsc] +peggy_denom = inj1l9eyrnv3ret8da3qh8j5aytp6q4f73crd505lj +decimals = 6 + +[USDTet] +peggy_denom = inj18zykysxw9pcvtyr9ylhe0p5s7yzf6pzdagune8 +decimals = 6 + +[USDTkv] +peggy_denom = ibc/4ABBEF4C8926DDDB320AE5188CFD63267ABBCEFC0583E4AE05D6E5AA2401DDAB +decimals = 6 + +[USDTso] +peggy_denom = inj1qjn06jt7zjhdqxgud07nylkpgnaurq6xc5c4fd +decimals = 6 + +[USDY] +peggy_denom = ibc/93EAE5F9D6C14BFAC8DD1AFDBE95501055A7B22C5D8FA8C986C31D6EFADCA8A9 +decimals = 18 + +[USDYet] +peggy_denom = peggy0x96F6eF951840721AdBF46Ac996b59E0235CB985C +decimals = 18 + +[USDe] +peggy_denom = peggy0x4c9EDD5852cd905f086C759E8383e09bff1E68B3 +decimals = 18 + +[UST] +peggy_denom = ibc/B448C0CA358B958301D328CCDC5D5AD642FC30A6D3AE106FF721DB315F3DDE5C +decimals = 18 + +[UTK] +peggy_denom = peggy0xdc9Ac3C20D1ed0B540dF9b1feDC10039Df13F99c +decimals = 18 + +[UUSDC] +peggy_denom = ibc/9EBCC3CA961DED955B08D249B01DCB03E4C6D0D31BE98A477716C54CC5DDB51B +decimals = 0 + +[UXION] +peggy_denom = ibc/6AB81EFD48DC233A206FAD0FB6F2691A456246C4A7F98D0CD37E2853DD0493EA +decimals = 0 + +[Unknown] +peggy_denom = unknown +decimals = 0 + +[VATRENI] +peggy_denom = inj1tn457ed2gg5vj2cur5khjjw63w73y3xhyhtaay +decimals = 8 + +[VDRR] +peggy_denom = factory/inj1sq839juq97296mumt84hzfjpc2nf7h2u774g59/Vaderr +decimals = 6 + +[VIC] +peggy_denom = factory/inj17l29rphqjy0fwud3xq4sf2zxhnhj4ue87df9u9/VIC +decimals = 6 + +[VICx] +peggy_denom = factory/inj1yq4dwvnujpr9m8w4m5uq3e8hu0xxnw0eypzr0k/VICx +decimals = 6 + +[VRD] +peggy_denom = peggy0xf25304e75026E6a35FEDcA3B0889aE5c4D3C55D8 +decimals = 18 + +[VVV] +peggy_denom = factory/inj1kezz4smdtr3t0v49d5qyt3ksd2emc594p7ftsx/VVV +decimals = 6 + +[W] +peggy_denom = ibc/F16F0F685BEF7BC6A145F16CBE78C6EC8C7C3A5F3066A98A9E57DCEA0903E537 +decimals = 6 + +[W3B] +peggy_denom = factory/inj1m7l6lmuf889k6vexvx74wrzuht2u8veclvy9hs/W3B +decimals = 6 + +[WAGMI] +peggy_denom = factory/inj188veuqed0dygkcmq5d24u3807n6csv4wdv28gh/wagmi +decimals = 9 + +[WAIFU] +peggy_denom = factory/inj12dvzf9tx2ndc9498aqpkrxgugr3suysqwlmn49/waifu +decimals = 6 + +[WASSIE] +peggy_denom = peggy0x2c95d751da37a5c1d9c5a7fd465c1d50f3d96160 +decimals = 18 + +[WFD] +peggy_denom = factory/inj1zj8dd6lu96lep97hguuch3lzwkcgr7edj0sjg2/WFD +decimals = 6 + +[WGMI] +peggy_denom = factory/inj1rmjzj9fn47kdmfk4f3z39qr6czexxe0yjyc546/wgmi +decimals = 6 + +[WHALE] +peggy_denom = ibc/D6E6A20ABDD600742D22464340A7701558027759CE14D12590F8EA869CCCF445 +decimals = 6 + +[WHAT] +peggy_denom = peggy0x69aa609A08ad451d45009834874C8c6D459d7731 +decimals = 9 + +[WIF] +peggy_denom = wif +decimals = 6 + +[WIZZ] +peggy_denom = factory/inj1uvfpvnmuqhx8jwg4786y59tkagmph827h38mst/wizz +decimals = 6 + +[WKLAY] +peggy_denom = inj14cl67lprqkt3pncjav070gavaxslc0tzpc56f4 +decimals = 8 + +[WMATIC] +peggy_denom = ibc/4DEFEB42BAAB2788723759D95B7550BCE460855563ED977036248F5B94C842FC +decimals = 8 + +[WMATIClegacy] +peggy_denom = inj1dxv423h8ygzgxmxnvrf33ws3k94aedfdevxd8h +decimals = 8 + +[WNINJ] +peggy_denom = factory/inj1gzg7vp5yds59hqw7swncz43zuktpx9jdmdlmmf/wnINJ +decimals = 18 + +[WONKA] +peggy_denom = factory/inj189hl8wqhf89r2l6x9arhtj2n8zx73cmsmts6pc/wonka +decimals = 6 + +[WOSMO] +peggy_denom = ibc/DD648F5D3CDA56D0D8D8820CF703D246B9FC4007725D8B38D23A21FF1A1477E3 +decimals = 6 + +[WSB] +peggy_denom = factory/inj147s5vh6ck67zjtpgd674c7efd47jqck55chw4l/inj-WSB +decimals = 6 + +[WSTETH] +peggy_denom = peggy0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0 +decimals = 18 + +[War] +peggy_denom = factory/inj10ehr7vet33h9ezphsk6uufm4wqg50sp93pqqe8/War +decimals = 6 + +[Wrapped Bitcoin] +peggy_denom = inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku +decimals = 18 + +[Wrapped Ethereum] +peggy_denom = inj1k9r62py07wydch6sj5sfvun93e4qe0lg7jyatc +decimals = 8 + +[XAC] +peggy_denom = peggy0xDe4C5a791913838027a2185709E98c5C6027EA63 +decimals = 8 + +[XAG] +peggy_denom = xag +decimals = 6 + +[XAU] +peggy_denom = xau +decimals = 6 + +[XBX] +peggy_denom = peggy0x080B12E80C9b45e97C23b6ad10a16B3e2a123949 +decimals = 18 + +[XIII] +peggy_denom = factory/inj18flmwwaxxqj8m8l5zl8xhjrnah98fcjp3gcy3e/XIII +decimals = 6 + +[XIII-COMBINED] +peggy_denom = factory/inj18flmwwaxxqj8m8l5zl8xhjrnah98fcjp3gcy3e/XIII-COMBINED +decimals = 6 + +[XIII-FINAL] +peggy_denom = factory/inj18flmwwaxxqj8m8l5zl8xhjrnah98fcjp3gcy3e/XIII-FINAL +decimals = 6 + +[XIIItest] +peggy_denom = factory/inj18flmwwaxxqj8m8l5zl8xhjrnah98fcjp3gcy3e/XIIItest +decimals = 6 + +[XION] +peggy_denom = ibc/DAB0823884DB5785F08EE136EE9EB362E166F4C7455716641B03E93CE7F14193 +decimals = 6 + +[XIV] +peggy_denom = factory/inj18flmwwaxxqj8m8l5zl8xhjrnah98fcjp3gcy3e/XIV +decimals = 6 + +[XIV-TEST1] +peggy_denom = factory/inj18flmwwaxxqj8m8l5zl8xhjrnah98fcjp3gcy3e/XIV-TEST1 +decimals = 6 + +[XNJ] +peggy_denom = inj17pgmlk6fpfmqyffs205l98pmnmp688mt0948ar +decimals = 18 + +[XPLA] +peggy_denom = inj1j08452mqwadp8xu25kn9rleyl2gufgfjqjvewe +decimals = 8 + +[XPRT] +peggy_denom = ibc/B786E7CBBF026F6F15A8DA248E0F18C62A0F7A70CB2DABD9239398C8B5150ABB +decimals = 6 + +[XRP] +peggy_denom = peggy0x1d2f0da169ceb9fc7b3144628db156f3f6c60dbe +decimals = 18 + +[XTALIS] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/xtalis +decimals = 6 + +[XTBV4] +peggy_denom = peggy0x33132640fF610A2E362856530a2D1E5d60FAe191 +decimals = 18 + +[YFI] +peggy_denom = peggy0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e +decimals = 18 + +[YOHOHO] +peggy_denom = factory/inj1gyxrvcdvjr22l5fu43ng4c607nxpc8yuxslcv3/yoyo +decimals = 18 + +[YOLO] +peggy_denom = factory/inj14lvrxu8jlrdytval7k29nxhxr9a39u6am86tr3/YOLO +decimals = 6 + +[YOMI] +peggy_denom = factory/inj1tlqtznd9gh0a53krerduzdsfadafamag0svccu/YoshiMitsu +decimals = 6 + +[YUE] +peggy_denom = factory/inj1la29j54twr2mucn2z6dewmhcpy3m20sud79fut/YUE +decimals = 15 + +[YUKI] +peggy_denom = factory/inj1spdy83ds5ezq9rvtg0ndy8480ad5rlczcpvtu2/yuki +decimals = 6 + +[ZEN] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/zen +decimals = 18 + +[ZIG] +peggy_denom = peggy0xb2617246d0c6c0087f18703d576831899ca94f01 +decimals = 18 + +[ZIN] +peggy_denom = factory/inj1xqtgc8v3w5yzcr5w5f40k8exp5j4k0uhumn5fh/ZIN +decimals = 6 + +[ZIP] +peggy_denom = factory/inj169w99uj9psyvhu7zunc5tnp8jjflc53np7vw06/ZIP +decimals = 6 + +[ZK] +peggy_denom = zk +decimals = 18 + +[ZNA] +peggy_denom = factory/inj1muuaghrdm2rfss9cdpxzhk3v7xqj8ltngrm0xd/ZNA +decimals = 18 + +[ZOZY] +peggy_denom = factory/inj1nmdqvm2vcxtzal44f62hcv9sthsaunupdpuxlg/ZOZY +decimals = 6 + +[ZRO] +peggy_denom = zro +decimals = 6 + +[ZRX] +peggy_denom = peggy0xE41d2489571d322189246DaFA5ebDe1F4699F498 +decimals = 18 + +[Zorro] +peggy_denom = factory/inj1v58n67dssmd5g3eva6dxmenm7g4qp2t7zkht94/Zorro +decimals = 0 + +[abcefz] +peggy_denom = factory/inj1wd3xjvya2tdvh3zscdu8sewdys4zv0ruqld06f/abcefz +decimals = 0 + +[adfadf] +peggy_denom = factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/fadsf +decimals = 6 + +[adfasf] +peggy_denom = factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/adfasf +decimals = 6 + +[afdf] +peggy_denom = factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/afda +decimals = 6 + +[ahwtf] +peggy_denom = factory/inj1tvwa4ug70d26k84y2zkvzykyu3vuce5lp2f60d/ahwtf +decimals = 6 + +[ankara] +peggy_denom = factory/inj1hslxdwcszyjesl0e7q339qvqme8jtpkgvfw667/ankara +decimals = 6 + +[arkSYN] +peggy_denom = factory/inj17ghwrdm2u2xsv8emlltqz3h3s6wvqcsdptr38z/arkSYN +decimals = 18 + +[as] +peggy_denom = factory/inj122qtfcjfx9suvgr5s7rtqgfy8xvtjhm8uc4x9f/aaa2 +decimals = 0 + +[axlUSDC] +peggy_denom = ibc/7E1AF94AD246BE522892751046F0C959B768642E5671CC3742264068D49553C0 +decimals = 6 + +[bab] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/bab +decimals = 6 + +[band] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/Vote-0 +decimals = 6 + +[bbk] +peggy_denom = factory/inj19lpvmsjush9l03csrkky9xynejfv229h5mttut/bbk +decimals = 6 + +[bdlsj] +peggy_denom = factory/inj18skkzztnku04f9cmscg2hwsj6xrau73lvjtklk/bdlsj +decimals = 6 + +[bior] +peggy_denom = factory/inj1rfdg206x7stm8rfl5crudn8v776k9q9njkqnzr/nnn +decimals = 6 + +[bzb] +peggy_denom = factory/inj19lpvmsjush9l03csrkky9xynejfv229h5mttut/bzb +decimals = 6 + +[como] +peggy_denom = factory/inj1pp0vx4nd96fdqw2kyj44ytx6xx7yu0368m5lpv/como +decimals = 6 + +[cook] +peggy_denom = factory/inj1asqp852arxkam8uckm2uvc4y365kdf06evq3zy/cook +decimals = 6 + +[cookie] +peggy_denom = factory/inj1asqp852arxkam8uckm2uvc4y365kdf06evq3zy/cookie +decimals = 6 + +[cxld] +peggy_denom = factory/inj1gsvgj44zjlj6w890a7huedymh7v96sv839pwsv/cxld +decimals = 6 + +[cxlddd] +peggy_denom = factory/inj1gsvgj44zjlj6w890a7huedymh7v96sv839pwsv/cxlddd +decimals = 6 + +[dINJ] +peggy_denom = inj134wfjutywny9qnyux2xgdmm0hfj7mwpl39r3r9 +decimals = 18 + +[dWIF] +peggy_denom = factory/inj1gdvjnrz6xx9ag293syafjjfk4t9pn73kmufxn3/dWIF +decimals = 6 + +[dYdX] +peggy_denom = peggy0x92d6c1e31e14520e676a687f0a93788b716beff5 +decimals = 18 + +[ddd] +peggy_denom = factory/inj1e3m5wx60p2q0tjyg976c805tnt60xdx4cqmskj/ddd +decimals = 6 + +[dfdf] +peggy_denom = factory/inj1js6xyr58llrsme8zwydk2u6jty95q0d3aqhrq6/dfdf +decimals = 6 + +[dffd] +peggy_denom = factory/inj1yuaz9qw8m75w7gxn3j7p9ph9pcsp8krpune70q/dffd +decimals = 6 + +[diesel] +peggy_denom = factory/inj14830p49gtge4tdxs2t8jujzlc3c08evgx0h9uv/diesel +decimals = 6 + +[ezETH] +peggy_denom = peggy0xbf5495Efe5DB9ce00f80364C8B423567e58d2110 +decimals = 18 + +[fINJ] +peggy_denom = factory/inj1znf9vj0gjl0uhewdqa7eqyvrjgmyqvmc7tvwrm/test +decimals = 0 + +[fUSDT] +peggy_denom = peggy0x81994b9607e06ab3d5cF3AffF9a67374f05F27d7 +decimals = 8 + +[factory/inj104y00apw6uu26gthl7cafztdy67hhmwksekdem/position] +peggy_denom = factory/inj104y00apw6uu26gthl7cafztdy67hhmwksekdem/position +decimals = 0 + +[factory/inj106rseec0xmv5k06aaf8jsnr57ajw76rxa3gpwm/position] +peggy_denom = factory/inj106rseec0xmv5k06aaf8jsnr57ajw76rxa3gpwm/position +decimals = 0 + +[factory/inj107aqkjc3t5r3l9j4n9lgrma5tm3jav8qgppz6m/position] +peggy_denom = factory/inj107aqkjc3t5r3l9j4n9lgrma5tm3jav8qgppz6m/position +decimals = 0 + +[factory/inj107skcseta3egagj822d3qdgusx7a7ua7sepmcf/position] +peggy_denom = factory/inj107skcseta3egagj822d3qdgusx7a7ua7sepmcf/position +decimals = 0 + +[factory/inj107srzqksjtdevlpw888vuyrnqmlpjuv64ytm85/position] +peggy_denom = factory/inj107srzqksjtdevlpw888vuyrnqmlpjuv64ytm85/position +decimals = 0 + +[factory/inj108kv68d4x747v4ap0l66ckyn963gedc4qvwml7/position] +peggy_denom = factory/inj108kv68d4x747v4ap0l66ckyn963gedc4qvwml7/position +decimals = 0 + +[factory/inj108t3mlej0dph8er6ca2lq5cs9pdgzva5mqsn5p/position] +peggy_denom = factory/inj108t3mlej0dph8er6ca2lq5cs9pdgzva5mqsn5p/position +decimals = 0 + +[factory/inj109rcepnmg7ewjcc4my3448jm3h0yjdwcl6kmnl/position] +peggy_denom = factory/inj109rcepnmg7ewjcc4my3448jm3h0yjdwcl6kmnl/position +decimals = 0 + +[factory/inj10ajd3f46mp755wmhgke8w4vcegfjndwfzymf82/position] +peggy_denom = factory/inj10ajd3f46mp755wmhgke8w4vcegfjndwfzymf82/position +decimals = 0 + +[factory/inj10fz2cj00ee80y76pdzg06dxfamat8nfpr9vl5s/position] +peggy_denom = factory/inj10fz2cj00ee80y76pdzg06dxfamat8nfpr9vl5s/position +decimals = 0 + +[factory/inj10g45te2l6s77jzxszjp9q6tsnn23l5suhnqmdz/position] +peggy_denom = factory/inj10g45te2l6s77jzxszjp9q6tsnn23l5suhnqmdz/position +decimals = 0 + +[factory/inj10hmmvlqq6rrlf2c2v982d6xqsns4m3sy086r27/position] +peggy_denom = factory/inj10hmmvlqq6rrlf2c2v982d6xqsns4m3sy086r27/position +decimals = 0 + +[factory/inj10ngu4y3t2zvn4xjfsmm73gvf03mcscrtrgjp0t/ak] +peggy_denom = factory/inj10ngu4y3t2zvn4xjfsmm73gvf03mcscrtrgjp0t/ak +decimals = 6 + +[factory/inj10nv20xe4x325sq557ddcmsyla7zaj6pnssrfw9/position] +peggy_denom = factory/inj10nv20xe4x325sq557ddcmsyla7zaj6pnssrfw9/position +decimals = 0 + +[factory/inj10p8ma8z6nrwm4u7kjn8gcc3dcm490sgp0d24az/position] +peggy_denom = factory/inj10p8ma8z6nrwm4u7kjn8gcc3dcm490sgp0d24az/position +decimals = 0 + +[factory/inj10r5lmqqu7qznvpffxkpwgxk0d3yrj82nj8gukz/position] +peggy_denom = factory/inj10r5lmqqu7qznvpffxkpwgxk0d3yrj82nj8gukz/position +decimals = 0 + +[factory/inj10u2e7h04fxlklnk34kjwuwfexmq8g8fke8zye8/position] +peggy_denom = factory/inj10u2e7h04fxlklnk34kjwuwfexmq8g8fke8zye8/position +decimals = 0 + +[factory/inj10u9gdgvqm90uh2ry27phtp3enhcxkwrvw0upq4/position] +peggy_denom = factory/inj10u9gdgvqm90uh2ry27phtp3enhcxkwrvw0upq4/position +decimals = 0 + +[factory/inj10uycavvkc4uqr8tns3599r0t2xux4rz3y8apym/1684002313InjUsdt1d110C] +peggy_denom = factory/inj10uycavvkc4uqr8tns3599r0t2xux4rz3y8apym/1684002313InjUsdt1d110C +decimals = 0 + +[factory/inj10v8zx4v6sgv86v9gvrm8xuv82yut469jhgahch/position] +peggy_denom = factory/inj10v8zx4v6sgv86v9gvrm8xuv82yut469jhgahch/position +decimals = 0 + +[factory/inj10vkkttgxdeqcgeppu20x9qtyvuaxxev8qh0awq/usdt] +peggy_denom = factory/inj10vkkttgxdeqcgeppu20x9qtyvuaxxev8qh0awq/usdt +decimals = 6 + +[factory/inj10xw27amgy7lc55r4g3z2uyxqm0p0l5xyeajvq6/position] +peggy_denom = factory/inj10xw27amgy7lc55r4g3z2uyxqm0p0l5xyeajvq6/position +decimals = 0 + +[factory/inj120xfj9muh5x5kxujgz2xwqh70zc034jt4cpjl0/position] +peggy_denom = factory/inj120xfj9muh5x5kxujgz2xwqh70zc034jt4cpjl0/position +decimals = 0 + +[factory/inj12264e59fxnly8dlfyq8eyhx4nuqcfejukwkr0d/ak] +peggy_denom = factory/inj12264e59fxnly8dlfyq8eyhx4nuqcfejukwkr0d/ak +decimals = 0 + +[factory/inj122qtfcjfx9suvgr5s7rtqgfy8xvtjhm8uc4x9f/am] +peggy_denom = factory/inj122qtfcjfx9suvgr5s7rtqgfy8xvtjhm8uc4x9f/am +decimals = 0 + +[factory/inj122qtfcjfx9suvgr5s7rtqgfy8xvtjhm8uc4x9f/ma] +peggy_denom = factory/inj122qtfcjfx9suvgr5s7rtqgfy8xvtjhm8uc4x9f/ma +decimals = 0 + +[factory/inj123mw4nhxxm69rl9pvzdhrasjjqs6suyj2qjpyj/position] +peggy_denom = factory/inj123mw4nhxxm69rl9pvzdhrasjjqs6suyj2qjpyj/position +decimals = 0 + +[factory/inj125a0l6yk05z3jwvjfjh78tlkjm4kn6ndduxjnk/DGNZ] +peggy_denom = factory/inj125a0l6yk05z3jwvjfjh78tlkjm4kn6ndduxjnk/DGNZ +decimals = 6 + +[factory/inj1275nlajjvqllkeupd65raqq3jcnm68qtzr8x8w/position] +peggy_denom = factory/inj1275nlajjvqllkeupd65raqq3jcnm68qtzr8x8w/position +decimals = 0 + +[factory/inj12e7m2n4fspavdxm5c35wakwq54se9vadufytv3/position] +peggy_denom = factory/inj12e7m2n4fspavdxm5c35wakwq54se9vadufytv3/position +decimals = 0 + +[factory/inj12f9v6rpd937gl8rggjprtd8egnt82yjwc9nu67/position] +peggy_denom = factory/inj12f9v6rpd937gl8rggjprtd8egnt82yjwc9nu67/position +decimals = 0 + +[factory/inj12h28c3a97savf42w0tarnjh9wza2wyx8v00r0n/position] +peggy_denom = factory/inj12h28c3a97savf42w0tarnjh9wza2wyx8v00r0n/position +decimals = 0 + +[factory/inj12hlpupnx80wj2ummwrjuw99mvr8a2z7us28n0g/position] +peggy_denom = factory/inj12hlpupnx80wj2ummwrjuw99mvr8a2z7us28n0g/position +decimals = 0 + +[factory/inj12nn88vtuf893cpfkke23dszpr5uccqj2zqukt6/rew1] +peggy_denom = factory/inj12nn88vtuf893cpfkke23dszpr5uccqj2zqukt6/rew1 +decimals = 0 + +[factory/inj12nn88vtuf893cpfkke23dszpr5uccqj2zqukt6/rew3] +peggy_denom = factory/inj12nn88vtuf893cpfkke23dszpr5uccqj2zqukt6/rew3 +decimals = 0 + +[factory/inj12nn88vtuf893cpfkke23dszpr5uccqj2zqukt6/reward1] +peggy_denom = factory/inj12nn88vtuf893cpfkke23dszpr5uccqj2zqukt6/reward1 +decimals = 0 + +[factory/inj12nn88vtuf893cpfkke23dszpr5uccqj2zqukt6/reward2] +peggy_denom = factory/inj12nn88vtuf893cpfkke23dszpr5uccqj2zqukt6/reward2 +decimals = 0 + +[factory/inj12nn88vtuf893cpfkke23dszpr5uccqj2zqukt6/reward3] +peggy_denom = factory/inj12nn88vtuf893cpfkke23dszpr5uccqj2zqukt6/reward3 +decimals = 0 + +[factory/inj12nn88vtuf893cpfkke23dszpr5uccqj2zqukt6/reward4] +peggy_denom = factory/inj12nn88vtuf893cpfkke23dszpr5uccqj2zqukt6/reward4 +decimals = 0 + +[factory/inj12nn88vtuf893cpfkke23dszpr5uccqj2zqukt6/test1] +peggy_denom = factory/inj12nn88vtuf893cpfkke23dszpr5uccqj2zqukt6/test1 +decimals = 0 + +[factory/inj12q3yjpr4rapsry7ccrmmrlgktn5dczca0c2upn/position] +peggy_denom = factory/inj12q3yjpr4rapsry7ccrmmrlgktn5dczca0c2upn/position +decimals = 0 + +[factory/inj12rh3d4xdhlvpqenrd04qhefcmxjsqpnewz3r6c/position] +peggy_denom = factory/inj12rh3d4xdhlvpqenrd04qhefcmxjsqpnewz3r6c/position +decimals = 0 + +[factory/inj12v9093vclva8930h4ptagh5pz7zg5wx5ch6d4g/position] +peggy_denom = factory/inj12v9093vclva8930h4ptagh5pz7zg5wx5ch6d4g/position +decimals = 0 + +[factory/inj12vdzxz9cngv3r250y0snwmc5w7u6dfpfvdw75s/SORA] +peggy_denom = factory/inj12vdzxz9cngv3r250y0snwmc5w7u6dfpfvdw75s/SORA +decimals = 0 + +[factory/inj12ve3saad36nr0jnj4whslpvct8adecydx8cxvh/position] +peggy_denom = factory/inj12ve3saad36nr0jnj4whslpvct8adecydx8cxvh/position +decimals = 0 + +[factory/inj12z248hyzzmpx57z7qfa075gv6mh6efqhfh9xda/position] +peggy_denom = factory/inj12z248hyzzmpx57z7qfa075gv6mh6efqhfh9xda/position +decimals = 0 + +[factory/inj12z5ym8nuu4g6xw48rjd25unkx3fa596qhvq7j3/position] +peggy_denom = factory/inj12z5ym8nuu4g6xw48rjd25unkx3fa596qhvq7j3/position +decimals = 0 + +[factory/inj130y99nqtke8hs2y7lksq8hq83rlvuf2ls8dxrw/ak] +peggy_denom = factory/inj130y99nqtke8hs2y7lksq8hq83rlvuf2ls8dxrw/ak +decimals = 6 + +[factory/inj133psax2mn2sx3gwl2jz46mjye4ykf60tqktwsj/position] +peggy_denom = factory/inj133psax2mn2sx3gwl2jz46mjye4ykf60tqktwsj/position +decimals = 0 + +[factory/inj134g8gmtnp9d30k8kas06p2lu74pv73hwnj9acp/position] +peggy_denom = factory/inj134g8gmtnp9d30k8kas06p2lu74pv73hwnj9acp/position +decimals = 0 + +[factory/inj1372sy27ey4y7smdmxvqjqxd9zfvj0m92pndq37/position] +peggy_denom = factory/inj1372sy27ey4y7smdmxvqjqxd9zfvj0m92pndq37/position +decimals = 0 + +[factory/inj1379wdcffrl3k9peggxz90z2exra3xzyt4khpdq/position] +peggy_denom = factory/inj1379wdcffrl3k9peggxz90z2exra3xzyt4khpdq/position +decimals = 0 + +[factory/inj137ag64fnuy3t0eezuep6uzh5e54nmg6lh97vdn/position] +peggy_denom = factory/inj137ag64fnuy3t0eezuep6uzh5e54nmg6lh97vdn/position +decimals = 0 + +[factory/inj137ymec4et82mk456v287s90ktl3zneajhda02j/position] +peggy_denom = factory/inj137ymec4et82mk456v287s90ktl3zneajhda02j/position +decimals = 0 + +[factory/inj1389hh5y5vy9sycdpja6l8lddhxft80srafdvs5/bINJ] +peggy_denom = factory/inj1389hh5y5vy9sycdpja6l8lddhxft80srafdvs5/bINJ +decimals = 0 + +[factory/inj13a3f3s2ts0vv6f07anaxrv8275hea5nydfy7mn/position] +peggy_denom = factory/inj13a3f3s2ts0vv6f07anaxrv8275hea5nydfy7mn/position +decimals = 0 + +[factory/inj13arjxgukmeadxuphhzfe3nc3m0e4prcjhyhq0v/position] +peggy_denom = factory/inj13arjxgukmeadxuphhzfe3nc3m0e4prcjhyhq0v/position +decimals = 0 + +[factory/inj13gcmxkhstgc932m5dw7t5nvsgq0xs4jjth02ru/position] +peggy_denom = factory/inj13gcmxkhstgc932m5dw7t5nvsgq0xs4jjth02ru/position +decimals = 0 + +[factory/inj13gpnyear408r74gz67tkufqxerzmleze4jpzk4/position] +peggy_denom = factory/inj13gpnyear408r74gz67tkufqxerzmleze4jpzk4/position +decimals = 0 + +[factory/inj13grw8z57336maklzmcrtqdavl3f0l2krdje7la/position] +peggy_denom = factory/inj13grw8z57336maklzmcrtqdavl3f0l2krdje7la/position +decimals = 0 + +[factory/inj13hvnqrr68qghfqqrnuupqapjf3jdcn8s3ydnd4/position] +peggy_denom = factory/inj13hvnqrr68qghfqqrnuupqapjf3jdcn8s3ydnd4/position +decimals = 0 + +[factory/inj13hzl5jn3snav6caduvs7nnu9aq29djqvvahmfl/position] +peggy_denom = factory/inj13hzl5jn3snav6caduvs7nnu9aq29djqvvahmfl/position +decimals = 0 + +[factory/inj13jktgp099d9nn05tapg2sk3p6lry5un3gt2khm/position] +peggy_denom = factory/inj13jktgp099d9nn05tapg2sk3p6lry5un3gt2khm/position +decimals = 0 + +[factory/inj13kg0eejq4cea4xrn6hgwxh9qejxpu3m66vgjg7/1716285818InjUsdt2d0.95P] +peggy_denom = factory/inj13kg0eejq4cea4xrn6hgwxh9qejxpu3m66vgjg7/1716285818InjUsdt2d0.95P +decimals = 0 + +[factory/inj13ll3ymyvcpx3psw0lw6eft7rvl8j59e5cgtrl6/position] +peggy_denom = factory/inj13ll3ymyvcpx3psw0lw6eft7rvl8j59e5cgtrl6/position +decimals = 0 + +[factory/inj13lpntvupm345s50ry2pqp0wanqgxqdt5d6p8lx/position] +peggy_denom = factory/inj13lpntvupm345s50ry2pqp0wanqgxqdt5d6p8lx/position +decimals = 0 + +[factory/inj13m8k8z8yprd8ml8nehgdgaszgpkdfj600hhnp9/test] +peggy_denom = factory/inj13m8k8z8yprd8ml8nehgdgaszgpkdfj600hhnp9/test +decimals = 0 + +[factory/inj13mk0qhujr7jrmfa6ythmu9am6kjnlh6c56v65x/position] +peggy_denom = factory/inj13mk0qhujr7jrmfa6ythmu9am6kjnlh6c56v65x/position +decimals = 0 + +[factory/inj13n6u7985zal9jdncfyqpk9mvk06gwnuscxdv9m/position] +peggy_denom = factory/inj13n6u7985zal9jdncfyqpk9mvk06gwnuscxdv9m/position +decimals = 0 + +[factory/inj13q53lemdwyzk075g0plmrxauk8xzl90rcnzvy3/position] +peggy_denom = factory/inj13q53lemdwyzk075g0plmrxauk8xzl90rcnzvy3/position +decimals = 0 + +[factory/inj13qw7vw4zwaup4l66d4x3nv237rp5lz76lry5rt/position] +peggy_denom = factory/inj13qw7vw4zwaup4l66d4x3nv237rp5lz76lry5rt/position +decimals = 0 + +[factory/inj13rrx4978c09yauvszy2k6velzpxj5u9wqmvzfa/position] +peggy_denom = factory/inj13rrx4978c09yauvszy2k6velzpxj5u9wqmvzfa/position +decimals = 0 + +[factory/inj13s80vf90lu5x0wh4p0uccshwaajhd0v9y58kxh/position] +peggy_denom = factory/inj13s80vf90lu5x0wh4p0uccshwaajhd0v9y58kxh/position +decimals = 0 + +[factory/inj13s8gyvm86p7tfcv6zcx5sjqgx4ruwfz8vy3hnm/LAMA] +peggy_denom = factory/inj13s8gyvm86p7tfcv6zcx5sjqgx4ruwfz8vy3hnm/LAMA +decimals = 6 + +[factory/inj13s8gyvm86p7tfcv6zcx5sjqgx4ruwfz8vy3hnm/TEST] +peggy_denom = factory/inj13s8gyvm86p7tfcv6zcx5sjqgx4ruwfz8vy3hnm/TEST +decimals = 6 + +[factory/inj13uegzntzhvesqgutkste6y483dznrlsc70ymvk/position] +peggy_denom = factory/inj13uegzntzhvesqgutkste6y483dznrlsc70ymvk/position +decimals = 0 + +[factory/inj13urjtxzgfy6g6x85ewpuq97jd9r7q92plp9s37/position] +peggy_denom = factory/inj13urjtxzgfy6g6x85ewpuq97jd9r7q92plp9s37/position +decimals = 0 + +[factory/inj13wp96prwk7dvh5ekrlld896xnawd38gn8jnydh/position] +peggy_denom = factory/inj13wp96prwk7dvh5ekrlld896xnawd38gn8jnydh/position +decimals = 0 + +[factory/inj13ylj40uqx338u5xtccujxystzy39q08q2gz3dx/lp] +peggy_denom = factory/inj13ylj40uqx338u5xtccujxystzy39q08q2gz3dx/lp +decimals = 0 + +[factory/inj13yzzxz90naqer4utnp03zlj5rguhu7v0hd2jzl/ak] +peggy_denom = factory/inj13yzzxz90naqer4utnp03zlj5rguhu7v0hd2jzl/ak +decimals = 0 + +[factory/inj144hz9eva0vg5e69lfe5c8j6jusm4z2mvjjc9vy/position] +peggy_denom = factory/inj144hz9eva0vg5e69lfe5c8j6jusm4z2mvjjc9vy/position +decimals = 0 + +[factory/inj14558npfqefc5e3qye4arcs49falh0vusyknz7m/position] +peggy_denom = factory/inj14558npfqefc5e3qye4arcs49falh0vusyknz7m/position +decimals = 0 + +[factory/inj1468yhun3ta93aqyasmwp3rmgjp5z4le4vfcmrh/test] +peggy_denom = factory/inj1468yhun3ta93aqyasmwp3rmgjp5z4le4vfcmrh/test +decimals = 0 + +[factory/inj146w955lesh75vampgn23eccy9yzaf46yaa60nh/position] +peggy_denom = factory/inj146w955lesh75vampgn23eccy9yzaf46yaa60nh/position +decimals = 0 + +[factory/inj147dmmltelpvkjcfneg5r4q66glhe2rmr2hmm59/lp] +peggy_denom = factory/inj147dmmltelpvkjcfneg5r4q66glhe2rmr2hmm59/lp +decimals = 0 + +[factory/inj147s5vh6ck67zjtpgd674c7efd47jqck55chw4l/inj-demo13] +peggy_denom = factory/inj147s5vh6ck67zjtpgd674c7efd47jqck55chw4l/inj-demo13 +decimals = 6 + +[factory/inj147s5vh6ck67zjtpgd674c7efd47jqck55chw4l/inj-erc] +peggy_denom = factory/inj147s5vh6ck67zjtpgd674c7efd47jqck55chw4l/inj-erc +decimals = 0 + +[factory/inj147s5vh6ck67zjtpgd674c7efd47jqck55chw4l/inj-fct] +peggy_denom = factory/inj147s5vh6ck67zjtpgd674c7efd47jqck55chw4l/inj-fct +decimals = 0 + +[factory/inj147s5vh6ck67zjtpgd674c7efd47jqck55chw4l/inj-test] +peggy_denom = factory/inj147s5vh6ck67zjtpgd674c7efd47jqck55chw4l/inj-test +decimals = 0 + +[factory/inj147s5vh6ck67zjtpgd674c7efd47jqck55chw4l/inj-test2] +peggy_denom = factory/inj147s5vh6ck67zjtpgd674c7efd47jqck55chw4l/inj-test2 +decimals = 0 + +[factory/inj147s5vh6ck67zjtpgd674c7efd47jqck55chw4l/inj-test3] +peggy_denom = factory/inj147s5vh6ck67zjtpgd674c7efd47jqck55chw4l/inj-test3 +decimals = 6 + +[factory/inj147s5vh6ck67zjtpgd674c7efd47jqck55chw4l/inj-test4] +peggy_denom = factory/inj147s5vh6ck67zjtpgd674c7efd47jqck55chw4l/inj-test4 +decimals = 6 + +[factory/inj147z3gktuc897hg9hp9razjqyj9uxfhhlck8y45/usdt] +peggy_denom = factory/inj147z3gktuc897hg9hp9razjqyj9uxfhhlck8y45/usdt +decimals = 0 + +[factory/inj14arqtqs4g4k6l6xhm37ga7dnks4l5ctd8n7hvv/position] +peggy_denom = factory/inj14arqtqs4g4k6l6xhm37ga7dnks4l5ctd8n7hvv/position +decimals = 0 + +[factory/inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku/phuc] +peggy_denom = factory/inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku/phuc +decimals = 6 + +[factory/inj14dvet9j73cak22sf7nzgn52ae8z4fdxzsn683v/asg] +peggy_denom = factory/inj14dvet9j73cak22sf7nzgn52ae8z4fdxzsn683v/asg +decimals = 8 + +[factory/inj14g9kg0smwfhmrg86sun8pegs5jemd0ngpnl0jr/position] +peggy_denom = factory/inj14g9kg0smwfhmrg86sun8pegs5jemd0ngpnl0jr/position +decimals = 0 + +[factory/inj14gtwrd65zehu99cka0j65597jglgvmdxcwmvps/position] +peggy_denom = factory/inj14gtwrd65zehu99cka0j65597jglgvmdxcwmvps/position +decimals = 0 + +[factory/inj14gzpam4a5cvy49g3kht9sj4rq4lxqcn50zh3zt/position] +peggy_denom = factory/inj14gzpam4a5cvy49g3kht9sj4rq4lxqcn50zh3zt/position +decimals = 0 + +[factory/inj14lvrxu8jlrdytval7k29nxhxr9a39u6am86tr3/TestToken] +peggy_denom = factory/inj14lvrxu8jlrdytval7k29nxhxr9a39u6am86tr3/TestToken +decimals = 0 + +[factory/inj14lvrxu8jlrdytval7k29nxhxr9a39u6am86tr3/TestToken2] +peggy_denom = factory/inj14lvrxu8jlrdytval7k29nxhxr9a39u6am86tr3/TestToken2 +decimals = 6 + +[factory/inj14lvrxu8jlrdytval7k29nxhxr9a39u6am86tr3/test1] +peggy_denom = factory/inj14lvrxu8jlrdytval7k29nxhxr9a39u6am86tr3/test1 +decimals = 0 + +[factory/inj14lvrxu8jlrdytval7k29nxhxr9a39u6am86tr3/tst2] +peggy_denom = factory/inj14lvrxu8jlrdytval7k29nxhxr9a39u6am86tr3/tst2 +decimals = 0 + +[factory/inj14lvrxu8jlrdytval7k29nxhxr9a39u6am86tr3/tst3] +peggy_denom = factory/inj14lvrxu8jlrdytval7k29nxhxr9a39u6am86tr3/tst3 +decimals = 0 + +[factory/inj14mm2x4azr024pte5pn74dpasxlvpf29s6k8gvj/uLP] +peggy_denom = factory/inj14mm2x4azr024pte5pn74dpasxlvpf29s6k8gvj/uLP +decimals = 0 + +[factory/inj14pr5qwg66mayechldze8dsm0garek6z4jng6et/position] +peggy_denom = factory/inj14pr5qwg66mayechldze8dsm0garek6z4jng6et/position +decimals = 0 + +[factory/inj14qzjk7c9a0wyl6kjhs74zg2hcv7vzc9025dwtu/position] +peggy_denom = factory/inj14qzjk7c9a0wyl6kjhs74zg2hcv7vzc9025dwtu/position +decimals = 0 + +[factory/inj14rzuvnd8al6f7jjfz3k54vkdtrrgvea8q8u0al/position] +peggy_denom = factory/inj14rzuvnd8al6f7jjfz3k54vkdtrrgvea8q8u0al/position +decimals = 0 + +[factory/inj14scx0fjp8m6ssn34ql8353yzpq3l4gmk9eycx3/position] +peggy_denom = factory/inj14scx0fjp8m6ssn34ql8353yzpq3l4gmk9eycx3/position +decimals = 0 + +[factory/inj14sllqhu93hvvygte05ucu5am7ugny2gna7sffd/inj-test2] +peggy_denom = factory/inj14sllqhu93hvvygte05ucu5am7ugny2gna7sffd/inj-test2 +decimals = 10 + +[factory/inj14sllqhu93hvvygte05ucu5am7ugny2gna7sffd/inj-test3] +peggy_denom = factory/inj14sllqhu93hvvygte05ucu5am7ugny2gna7sffd/inj-test3 +decimals = 10 + +[factory/inj14sxssk5tzx8ttq3msj2jl29kv60znk4c40nq59/position] +peggy_denom = factory/inj14sxssk5tzx8ttq3msj2jl29kv60znk4c40nq59/position +decimals = 0 + +[factory/inj14t478a7rap97aukq2da92qch7u7g2l5pfqjshc/position] +peggy_denom = factory/inj14t478a7rap97aukq2da92qch7u7g2l5pfqjshc/position +decimals = 0 + +[factory/inj14tccfnp5rfzhm6y6c97juheal6uancftmtpdvd/position] +peggy_denom = factory/inj14tccfnp5rfzhm6y6c97juheal6uancftmtpdvd/position +decimals = 0 + +[factory/inj14u5f88vmk2zl7xjjg8y57yek0sr9ardm0uac06/position] +peggy_denom = factory/inj14u5f88vmk2zl7xjjg8y57yek0sr9ardm0uac06/position +decimals = 0 + +[factory/inj14xya2gezzxnfy0mqtgl9uh3sk27tzfkt89ldhc/position] +peggy_denom = factory/inj14xya2gezzxnfy0mqtgl9uh3sk27tzfkt89ldhc/position +decimals = 0 + +[factory/inj14y95s7mdpke2jc7m4sqfykzwm3sujugz0dh5m7/position] +peggy_denom = factory/inj14y95s7mdpke2jc7m4sqfykzwm3sujugz0dh5m7/position +decimals = 0 + +[factory/inj14ywl5l5wsyaqx9g39sejvx7zqyecvvgktg5pxz/position] +peggy_denom = factory/inj14ywl5l5wsyaqx9g39sejvx7zqyecvvgktg5pxz/position +decimals = 0 + +[factory/inj14zw0njuejh9us94wdhg3msptzxpcjpq0anampd/ak] +peggy_denom = factory/inj14zw0njuejh9us94wdhg3msptzxpcjpq0anampd/ak +decimals = 6 + +[factory/inj150lje070zsehmdl4sesxxxjcc57200r9aqxk9c/test] +peggy_denom = factory/inj150lje070zsehmdl4sesxxxjcc57200r9aqxk9c/test +decimals = 0 + +[factory/inj152y0xa2s9w3txcaqsxu0zlzjak5gnvmxj7m09s/position] +peggy_denom = factory/inj152y0xa2s9w3txcaqsxu0zlzjak5gnvmxj7m09s/position +decimals = 0 + +[factory/inj1530p68vvxpn2jxj7v45wwf2acy99fu7pzlq66v/position] +peggy_denom = factory/inj1530p68vvxpn2jxj7v45wwf2acy99fu7pzlq66v/position +decimals = 0 + +[factory/inj153cngflyafkxxxycj23maguuh4nx2ny2k4phlt/position] +peggy_denom = factory/inj153cngflyafkxxxycj23maguuh4nx2ny2k4phlt/position +decimals = 0 + +[factory/inj154690wmz247j75at9ttvmf54h6drtwzq4lefa5/bINJ] +peggy_denom = factory/inj154690wmz247j75at9ttvmf54h6drtwzq4lefa5/bINJ +decimals = 0 + +[factory/inj157s8m4mf5tsjp5ttvhkta56lmu2wzfs6mxxrpk/position] +peggy_denom = factory/inj157s8m4mf5tsjp5ttvhkta56lmu2wzfs6mxxrpk/position +decimals = 0 + +[factory/inj1586dahe90a0xh4j56c8308pywxs0lmenhl4y2z/position] +peggy_denom = factory/inj1586dahe90a0xh4j56c8308pywxs0lmenhl4y2z/position +decimals = 0 + +[factory/inj15adq44kjk2xcc6tn27aqqwmawr4le6vshkcyut/position] +peggy_denom = factory/inj15adq44kjk2xcc6tn27aqqwmawr4le6vshkcyut/position +decimals = 0 + +[factory/inj15csnumyd59pv7sp4lmt8ycg0zaqwed8k474q79/position] +peggy_denom = factory/inj15csnumyd59pv7sp4lmt8ycg0zaqwed8k474q79/position +decimals = 0 + +[factory/inj15fywtwfmu7qx36x5sj84zcpgttmswa2g87jtz6/position] +peggy_denom = factory/inj15fywtwfmu7qx36x5sj84zcpgttmswa2g87jtz6/position +decimals = 0 + +[factory/inj15gm26dm98zl9nkcgapfk88zfukzk5j2xxmmdxr/position] +peggy_denom = factory/inj15gm26dm98zl9nkcgapfk88zfukzk5j2xxmmdxr/position +decimals = 0 + +[factory/inj15jt57jdw43qyz27z4rsnng6y3zdkafutm6yf56/position] +peggy_denom = factory/inj15jt57jdw43qyz27z4rsnng6y3zdkafutm6yf56/position +decimals = 0 + +[factory/inj15jy9vzmyy63ql9y6dvned2kdat2994x5f4ldu4/INJS] +peggy_denom = factory/inj15jy9vzmyy63ql9y6dvned2kdat2994x5f4ldu4/INJS +decimals = 0 + +[factory/inj15k2fpq4s2ndtreg428qtl8ddhfpmrtsxcs43l3/position] +peggy_denom = factory/inj15k2fpq4s2ndtreg428qtl8ddhfpmrtsxcs43l3/position +decimals = 0 + +[factory/inj15km5dcny0x3meyl65w6ks6mlfqnjurk7yrl0k3/position] +peggy_denom = factory/inj15km5dcny0x3meyl65w6ks6mlfqnjurk7yrl0k3/position +decimals = 0 + +[factory/inj15ltws5j4any8ld6j589c9p0yet3cj305kfndeh/position] +peggy_denom = factory/inj15ltws5j4any8ld6j589c9p0yet3cj305kfndeh/position +decimals = 0 + +[factory/inj15ne7du4sve9cycegurcnxuk2v4mh8c6hwytxxs/position] +peggy_denom = factory/inj15ne7du4sve9cycegurcnxuk2v4mh8c6hwytxxs/position +decimals = 0 + +[factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1ctstn2s984k5lppnuwjg5asvw00tnpym3du23f] +peggy_denom = factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1ctstn2s984k5lppnuwjg5asvw00tnpym3du23f +decimals = 0 + +[factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1d40cf938v7hjzva4rx8qj5drgw8ujmrll2rn5g] +peggy_denom = factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1d40cf938v7hjzva4rx8qj5drgw8ujmrll2rn5g +decimals = 0 + +[factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1glq4yyrg80x573ldx9k5889lndkgkzv40slncl] +peggy_denom = factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1glq4yyrg80x573ldx9k5889lndkgkzv40slncl +decimals = 0 + +[factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1k9r6nhxax73zhj9ll5wzylel8w0p7gm9e686r9] +peggy_denom = factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1k9r6nhxax73zhj9ll5wzylel8w0p7gm9e686r9 +decimals = 0 + +[factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1ka8ftk2849330y6r86tcgmv8a3rhpxfrxtn7g5] +peggy_denom = factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1ka8ftk2849330y6r86tcgmv8a3rhpxfrxtn7g5 +decimals = 0 + +[factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1kl57u9529z2ts3tlhv38mrtnfps0sy3vulevcr] +peggy_denom = factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1kl57u9529z2ts3tlhv38mrtnfps0sy3vulevcr +decimals = 0 + +[factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1ljgxpde6zkh48lqfjsusaq5p32wqjycsrjdlk9] +peggy_denom = factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1ljgxpde6zkh48lqfjsusaq5p32wqjycsrjdlk9 +decimals = 0 + +[factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1lxkn2vwetsdmw6v7s64m5r2kw6fgnew8suealn] +peggy_denom = factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1lxkn2vwetsdmw6v7s64m5r2kw6fgnew8suealn +decimals = 0 + +[factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1mknpkud4re5vasfcnx9k278f8lyr5ndaaka86p] +peggy_denom = factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1mknpkud4re5vasfcnx9k278f8lyr5ndaaka86p +decimals = 0 + +[factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1u6vdnft0qfzncpq6hvq42ck9pk6dz4qv74a0w9] +peggy_denom = factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1u6vdnft0qfzncpq6hvq42ck9pk6dz4qv74a0w9 +decimals = 0 + +[factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1xvqkdyqpmd2q74dfa95spjw2krg9nn6m865juk] +peggy_denom = factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1xvqkdyqpmd2q74dfa95spjw2krg9nn6m865juk +decimals = 0 + +[factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1yghk22j3l0nfaasmcs43x3t059ht8tsrm2rh6q] +peggy_denom = factory/inj15qdna0qtws4s56p00sszegzwng08w2ygnu5gjt/inj1yghk22j3l0nfaasmcs43x3t059ht8tsrm2rh6q +decimals = 0 + +[factory/inj15slc2dwxku5553gaauxnz89zcsmq5uzjcevue4/test] +peggy_denom = factory/inj15slc2dwxku5553gaauxnz89zcsmq5uzjcevue4/test +decimals = 6 + +[factory/inj15ukq6ja8l99dk0j82efvh2znjqesdpfxstlppn/position] +peggy_denom = factory/inj15ukq6ja8l99dk0j82efvh2znjqesdpfxstlppn/position +decimals = 0 + +[factory/inj15yf0qdyn5ej4hqw809nmv5n9e33mnqvddp84e4/bINJ] +peggy_denom = factory/inj15yf0qdyn5ej4hqw809nmv5n9e33mnqvddp84e4/bINJ +decimals = 0 + +[factory/inj162a76ehzty0rlqd2rthr3sf44vnjcgkrctakpv/position] +peggy_denom = factory/inj162a76ehzty0rlqd2rthr3sf44vnjcgkrctakpv/position +decimals = 0 + +[factory/inj162r4dwle5gaknz3ulsyk7r9mhgs3u2gy5vw7cw/position] +peggy_denom = factory/inj162r4dwle5gaknz3ulsyk7r9mhgs3u2gy5vw7cw/position +decimals = 0 + +[factory/inj1647wcz036pchv8fzz30r9wuw2uktaxfjcjll90/position] +peggy_denom = factory/inj1647wcz036pchv8fzz30r9wuw2uktaxfjcjll90/position +decimals = 0 + +[factory/inj164dlu0as6r5a3kah6sdqv0tyx73upz8ggrcs77/Lenz] +peggy_denom = factory/inj164dlu0as6r5a3kah6sdqv0tyx73upz8ggrcs77/Lenz +decimals = 0 + +[factory/inj164dlu0as6r5a3kah6sdqv0tyx73upz8ggrcs77/LenzTest1] +peggy_denom = factory/inj164dlu0as6r5a3kah6sdqv0tyx73upz8ggrcs77/LenzTest1 +decimals = 0 + +[factory/inj164dlu0as6r5a3kah6sdqv0tyx73upz8ggrcs77/inj-test1] +peggy_denom = factory/inj164dlu0as6r5a3kah6sdqv0tyx73upz8ggrcs77/inj-test1 +decimals = 0 + +[factory/inj164zhe75ldeez54pd0m5wt598upws5pcxgsytsp/RC] +peggy_denom = factory/inj164zhe75ldeez54pd0m5wt598upws5pcxgsytsp/RC +decimals = 0 + +[factory/inj16ckgjaln883kpwkm0ddgqtdhg8u0ycpl2gucl3/TEST] +peggy_denom = factory/inj16ckgjaln883kpwkm0ddgqtdhg8u0ycpl2gucl3/TEST +decimals = 0 + +[factory/inj16dv5y968dnz8x4tjpmkt3jqxgs9u6kh79hfk5f/position] +peggy_denom = factory/inj16dv5y968dnz8x4tjpmkt3jqxgs9u6kh79hfk5f/position +decimals = 0 + +[factory/inj16e7sphvq7r0urvmkkgurqzgv78g09xx7987y2s/position] +peggy_denom = factory/inj16e7sphvq7r0urvmkkgurqzgv78g09xx7987y2s/position +decimals = 0 + +[factory/inj16jpcu46u9apqydpgx95dtcldgcgacv670epwgq/position] +peggy_denom = factory/inj16jpcu46u9apqydpgx95dtcldgcgacv670epwgq/position +decimals = 0 + +[factory/inj16l9vv0v4uxqw7l4z2yq3pz002ku06fhqlwmed0/inj13772jvadyx4j0hrlfh4jzk0v39k8uyfxrfs540] +peggy_denom = factory/inj16l9vv0v4uxqw7l4z2yq3pz002ku06fhqlwmed0/inj13772jvadyx4j0hrlfh4jzk0v39k8uyfxrfs540 +decimals = 0 + +[factory/inj16l9vv0v4uxqw7l4z2yq3pz002ku06fhqlwmed0/inj1z0whhrxkg38lcrj7lv2eetsfhwztpfntfkc636] +peggy_denom = factory/inj16l9vv0v4uxqw7l4z2yq3pz002ku06fhqlwmed0/inj1z0whhrxkg38lcrj7lv2eetsfhwztpfntfkc636 +decimals = 0 + +[factory/inj16mrltj2lymz6y70apv9e50crmd59fqglfx8cut/base_token] +peggy_denom = factory/inj16mrltj2lymz6y70apv9e50crmd59fqglfx8cut/base_token +decimals = 0 + +[factory/inj16mrltj2lymz6y70apv9e50crmd59fqglfx8cut/staking_token] +peggy_denom = factory/inj16mrltj2lymz6y70apv9e50crmd59fqglfx8cut/staking_token +decimals = 0 + +[factory/inj16n20mwtmvunl9tdkxajxzezn87z4jv5hgkjn5l/inj1k7ekkswq203cutjxn9h6qlhxx35v5jjqqydt95] +peggy_denom = factory/inj16n20mwtmvunl9tdkxajxzezn87z4jv5hgkjn5l/inj1k7ekkswq203cutjxn9h6qlhxx35v5jjqqydt95 +decimals = 0 + +[factory/inj16n20mwtmvunl9tdkxajxzezn87z4jv5hgkjn5l/inj1mp73mhsv4c8q4a27eu3nezas7m6zm7kag74lxt] +peggy_denom = factory/inj16n20mwtmvunl9tdkxajxzezn87z4jv5hgkjn5l/inj1mp73mhsv4c8q4a27eu3nezas7m6zm7kag74lxt +decimals = 0 + +[factory/inj16n20mwtmvunl9tdkxajxzezn87z4jv5hgkjn5l/inj1n7xdv06zmaramkr0nlm7n9rnr8grh8s5p5g6ah] +peggy_denom = factory/inj16n20mwtmvunl9tdkxajxzezn87z4jv5hgkjn5l/inj1n7xdv06zmaramkr0nlm7n9rnr8grh8s5p5g6ah +decimals = 0 + +[factory/inj16n20mwtmvunl9tdkxajxzezn87z4jv5hgkjn5l/inj1w6ghr4pkladye5x9zj4cmx7lpg7a8tg4x2t63f] +peggy_denom = factory/inj16n20mwtmvunl9tdkxajxzezn87z4jv5hgkjn5l/inj1w6ghr4pkladye5x9zj4cmx7lpg7a8tg4x2t63f +decimals = 0 + +[factory/inj16ptqr4z9wxafkx902uhk6vggwlhxf5nsxsda2q/position] +peggy_denom = factory/inj16ptqr4z9wxafkx902uhk6vggwlhxf5nsxsda2q/position +decimals = 0 + +[factory/inj16q5wdfrw0lgkvfezk5c99jdytahggp00ywn4ap/position] +peggy_denom = factory/inj16q5wdfrw0lgkvfezk5c99jdytahggp00ywn4ap/position +decimals = 0 + +[factory/inj16rcm5lgxahvt4rf8a0ngqdn3errswhvmt5yspl/position] +peggy_denom = factory/inj16rcm5lgxahvt4rf8a0ngqdn3errswhvmt5yspl/position +decimals = 0 + +[factory/inj16wyujswd2z99et0jl7fu4q4rrpgdtpp2msnw9v/position] +peggy_denom = factory/inj16wyujswd2z99et0jl7fu4q4rrpgdtpp2msnw9v/position +decimals = 0 + +[factory/inj170545298c6cletkgqxlsanyh36uvxuceudt3e2/ak] +peggy_denom = factory/inj170545298c6cletkgqxlsanyh36uvxuceudt3e2/ak +decimals = 6 + +[factory/inj173k7ym5yf7s27g5qkqjxnndzjqrv6pkvm0sxws/position] +peggy_denom = factory/inj173k7ym5yf7s27g5qkqjxnndzjqrv6pkvm0sxws/position +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj143qfst3qa3u5mqk9rk6f4zjv5syj5eja3mng0g] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj143qfst3qa3u5mqk9rk6f4zjv5syj5eja3mng0g +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj160wzl4mnzqfxm9ux3mvs46uhqex0d5ewt9p8el] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj160wzl4mnzqfxm9ux3mvs46uhqex0d5ewt9p8el +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj18ax4p09y7k8quhslelkw6ktsj0c4n7dt4r67kf] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj18ax4p09y7k8quhslelkw6ktsj0c4n7dt4r67kf +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1a2whf4gfe8c533m7zahs36c7zxpap2khtwvnjj] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1a2whf4gfe8c533m7zahs36c7zxpap2khtwvnjj +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1alv0wvzkul2zndjylt9gssqc0qnzztvf5mv52r] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1alv0wvzkul2zndjylt9gssqc0qnzztvf5mv52r +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1druk8gz469vyfgapvnxput8k5wf5vyu30fqryy] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1druk8gz469vyfgapvnxput8k5wf5vyu30fqryy +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1f2zrn6qw5wm27jkdje99538lahmsjy35pzx0zq] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1f2zrn6qw5wm27jkdje99538lahmsjy35pzx0zq +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1f77zn4hytk8w6qjtr7ks98m4yq6hwduzk8yvp4] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1f77zn4hytk8w6qjtr7ks98m4yq6hwduzk8yvp4 +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1hwgrpwgs70cj7s5uc605jk832d6hlyq2pupw82] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1hwgrpwgs70cj7s5uc605jk832d6hlyq2pupw82 +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1j3nnhcvesttumyc46pmjx2daxa92f62ku36udl] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1j3nnhcvesttumyc46pmjx2daxa92f62ku36udl +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1jtgygvq0ulstx55hwenk4a6uh5tn8vqhkah8gc] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1jtgygvq0ulstx55hwenk4a6uh5tn8vqhkah8gc +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1lfl3y6z9vw3ceprnmxlxerrvgdkz42pm5vqsqy] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1lfl3y6z9vw3ceprnmxlxerrvgdkz42pm5vqsqy +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1lw0u2rtl36y9tht0uts90fv5vy3vgpmuel27hc] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1lw0u2rtl36y9tht0uts90fv5vy3vgpmuel27hc +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1prqzp6q2nlw2984pyvut6fr5jg47kwkzduw8j2] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1prqzp6q2nlw2984pyvut6fr5jg47kwkzduw8j2 +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1qdk7vpgmu3e5lj0cru7yyay38vff34tll789lr] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1qdk7vpgmu3e5lj0cru7yyay38vff34tll789lr +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1qvk5p306aqfvus6e0lktqwfsp0u478ckfddmv9] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1qvk5p306aqfvus6e0lktqwfsp0u478ckfddmv9 +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1t2zqcm98epsmpy99mjzdczzx79cfy74kh2w35l] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1t2zqcm98epsmpy99mjzdczzx79cfy74kh2w35l +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1t3y9mu0zk5zuu4y34lfxkq8zx08latdxa5cff5] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1t3y9mu0zk5zuu4y34lfxkq8zx08latdxa5cff5 +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1u8j7h7n8tdt66mgp6c0a7f3wq088d3jttwz7sj] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1u8j7h7n8tdt66mgp6c0a7f3wq088d3jttwz7sj +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1uqehwkl6m9gxjqlsf3yvwu528wtcjs00hyx08z] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1uqehwkl6m9gxjqlsf3yvwu528wtcjs00hyx08z +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1v3wvk6upf755pmpxlt8923ktfzrlcpc9fqlaq8] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1v3wvk6upf755pmpxlt8923ktfzrlcpc9fqlaq8 +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1x9k567g0tmpamjkemvm703ff6kczjvz2nany2u] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1x9k567g0tmpamjkemvm703ff6kczjvz2nany2u +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1xallacw6vz8p88qyrezmcyvkmrakacupkvvfvk] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1xallacw6vz8p88qyrezmcyvkmrakacupkvvfvk +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1z0rfjmyvhxmek2z6z702dypxtarphruww40fxr] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1z0rfjmyvhxmek2z6z702dypxtarphruww40fxr +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1zn7unxezftv5ltfm5jpfv4s09aueg97dty0zrm] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1zn7unxezftv5ltfm5jpfv4s09aueg97dty0zrm +decimals = 0 + +[factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1zngkg023f0fqlvpc026rr0pvd4rufw8d4ywke4] +peggy_denom = factory/inj174efvalr8d9muguudh9uyd7ah7zdukqs9w4adq/lpinj1zngkg023f0fqlvpc026rr0pvd4rufw8d4ywke4 +decimals = 0 + +[factory/inj175jqkyrsl84x0u4smqy7cg9nrj5wsd6edkefpz/usdcet] +peggy_denom = factory/inj175jqkyrsl84x0u4smqy7cg9nrj5wsd6edkefpz/usdcet +decimals = 0 + +[factory/inj1766dfyjxn36cwj9jlzjj8lk22vtm7he7ym43et/position] +peggy_denom = factory/inj1766dfyjxn36cwj9jlzjj8lk22vtm7he7ym43et/position +decimals = 0 + +[factory/inj179qpc0ra0ymyrgya9zdt3tp4a0vpawzlfgze48/ak] +peggy_denom = factory/inj179qpc0ra0ymyrgya9zdt3tp4a0vpawzlfgze48/ak +decimals = 6 + +[factory/inj179qpc0ra0ymyrgya9zdt3tp4a0vpawzlfgze48/poop] +peggy_denom = factory/inj179qpc0ra0ymyrgya9zdt3tp4a0vpawzlfgze48/poop +decimals = 0 + +[factory/inj17cx2lxl67mhxc966wl8syz4jyx9v764xgasyje/position] +peggy_denom = factory/inj17cx2lxl67mhxc966wl8syz4jyx9v764xgasyje/position +decimals = 0 + +[factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj134fxd4hh6l568wdwsma937lalyadgtpaajnytd] +peggy_denom = factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj134fxd4hh6l568wdwsma937lalyadgtpaajnytd +decimals = 0 + +[factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj139yst2xf5yvesyzfmz6g6e57rczthyuwt7v4qk] +peggy_denom = factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj139yst2xf5yvesyzfmz6g6e57rczthyuwt7v4qk +decimals = 0 + +[factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj13ude3tmmg6q7042su3wz8eruflayw76xy2axad] +peggy_denom = factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj13ude3tmmg6q7042su3wz8eruflayw76xy2axad +decimals = 0 + +[factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj14r7u95c072s2sfkad6jugk9r8dnpg4ppc2jwr9] +peggy_denom = factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj14r7u95c072s2sfkad6jugk9r8dnpg4ppc2jwr9 +decimals = 0 + +[factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj159g4a8rjwdjsdgc6ea253v9rarcn5fuvf0dex8] +peggy_denom = factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj159g4a8rjwdjsdgc6ea253v9rarcn5fuvf0dex8 +decimals = 0 + +[factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj15j9cez59pdvf9kgv7jnfc6twzjdu9kwzf58ale] +peggy_denom = factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj15j9cez59pdvf9kgv7jnfc6twzjdu9kwzf58ale +decimals = 0 + +[factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj163qqvz2aygp42acacnpg6zvatn49x2xv8dksdx] +peggy_denom = factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj163qqvz2aygp42acacnpg6zvatn49x2xv8dksdx +decimals = 0 + +[factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj179acfjvr8sy7ewrdgmy2jm6a6dkgvx5xt4xfmh] +peggy_denom = factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj179acfjvr8sy7ewrdgmy2jm6a6dkgvx5xt4xfmh +decimals = 0 + +[factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj195rvg27lmdpejxncv9n9py8q60l3fwvwx8tcww] +peggy_denom = factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj195rvg27lmdpejxncv9n9py8q60l3fwvwx8tcww +decimals = 0 + +[factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj1fwv0jgwhtq2peaxxrvp0ch4r6j22gftnqaxldx] +peggy_denom = factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj1fwv0jgwhtq2peaxxrvp0ch4r6j22gftnqaxldx +decimals = 0 + +[factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj1h4203fqnpm2dgze6e3h2muxpg3lyaaauwnk8tq] +peggy_denom = factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj1h4203fqnpm2dgze6e3h2muxpg3lyaaauwnk8tq +decimals = 0 + +[factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj1jvmgjhp9h9gynlxdgalcp42kz3e4zelqdc50mp] +peggy_denom = factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj1jvmgjhp9h9gynlxdgalcp42kz3e4zelqdc50mp +decimals = 0 + +[factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj1nhzvghauypl56kyem8msqkntkqrsulg23574dk] +peggy_denom = factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj1nhzvghauypl56kyem8msqkntkqrsulg23574dk +decimals = 0 + +[factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj1nxcvm92a9htme7k6zt57u0tsy9ey2707a8apq7] +peggy_denom = factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj1nxcvm92a9htme7k6zt57u0tsy9ey2707a8apq7 +decimals = 0 + +[factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj1r20szses3jy99gjz2qdw4gc9dvdavhwzdeches] +peggy_denom = factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj1r20szses3jy99gjz2qdw4gc9dvdavhwzdeches +decimals = 0 + +[factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj1tw5ed50hqnrul8zgdhz9rnjkwjmh25rh366csj] +peggy_denom = factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj1tw5ed50hqnrul8zgdhz9rnjkwjmh25rh366csj +decimals = 0 + +[factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj1xrg3lqha00tkllrma80jtvvxn77ce6ykhqur2q] +peggy_denom = factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj1xrg3lqha00tkllrma80jtvvxn77ce6ykhqur2q +decimals = 0 + +[factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj1zd8zg8xeerlsrsfzxhpe3xgncrp0txetqye9cl] +peggy_denom = factory/inj17d34nrgnq5sj24qd6rk4jrnak628wfqxjx9uhz/lpinj1zd8zg8xeerlsrsfzxhpe3xgncrp0txetqye9cl +decimals = 0 + +[factory/inj17d8znfm9xnrrjmfdhs3y2m3etsc27s6jhe2ggd/ak] +peggy_denom = factory/inj17d8znfm9xnrrjmfdhs3y2m3etsc27s6jhe2ggd/ak +decimals = 6 + +[factory/inj17da0fne9wqaq5yyshf4fx3223zlh9ckj5pjn2j/YOLO] +peggy_denom = factory/inj17da0fne9wqaq5yyshf4fx3223zlh9ckj5pjn2j/YOLO +decimals = 6 + +[factory/inj17dckyf9z5ns40adz6vytca7wpq9nxgftl9lzql/position] +peggy_denom = factory/inj17dckyf9z5ns40adz6vytca7wpq9nxgftl9lzql/position +decimals = 0 + +[factory/inj17dy06jvaz5gwhedqaje38kgp93p75pjy3res4k/position] +peggy_denom = factory/inj17dy06jvaz5gwhedqaje38kgp93p75pjy3res4k/position +decimals = 0 + +[factory/inj17exh9s5gv2ywtsthh2w95asv9n8z08jxgzgshz/position] +peggy_denom = factory/inj17exh9s5gv2ywtsthh2w95asv9n8z08jxgzgshz/position +decimals = 0 + +[factory/inj17g5ad3xy25rz9je6wu85qye09xklppswh6p0eu/TEST] +peggy_denom = factory/inj17g5ad3xy25rz9je6wu85qye09xklppswh6p0eu/TEST +decimals = 6 + +[factory/inj17g5ad3xy25rz9je6wu85qye09xklppswh6p0eu/ak] +peggy_denom = factory/inj17g5ad3xy25rz9je6wu85qye09xklppswh6p0eu/ak +decimals = 6 + +[factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/uzen] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/uzen +decimals = 0 + +[factory/inj17je4snps2rfvsxtqd2rfe4fgknswhexggx55ns/holding] +peggy_denom = factory/inj17je4snps2rfvsxtqd2rfe4fgknswhexggx55ns/holding +decimals = 0 + +[factory/inj17ljxhz0c7tdcjfzhnk3xgk3mfudtcjs2g3676l/LIOR] +peggy_denom = factory/inj17ljxhz0c7tdcjfzhnk3xgk3mfudtcjs2g3676l/LIOR +decimals = 6 + +[factory/inj17ljxhz0c7tdcjfzhnk3xgk3mfudtcjs2g3676l/TEST] +peggy_denom = factory/inj17ljxhz0c7tdcjfzhnk3xgk3mfudtcjs2g3676l/TEST +decimals = 6 + +[factory/inj17mzwp7vpxglwyjp43zhq6h756q5gkkvg4jsd6l/position] +peggy_denom = factory/inj17mzwp7vpxglwyjp43zhq6h756q5gkkvg4jsd6l/position +decimals = 0 + +[factory/inj17nqu6hrdye8u2sa2u8l7smw5hu8ey76qee8ayt/position] +peggy_denom = factory/inj17nqu6hrdye8u2sa2u8l7smw5hu8ey76qee8ayt/position +decimals = 0 + +[factory/inj17nw48wdkx3lxl2zqjzjel3ayhy7lxffhfqr3ve/position] +peggy_denom = factory/inj17nw48wdkx3lxl2zqjzjel3ayhy7lxffhfqr3ve/position +decimals = 0 + +[factory/inj17q6g7a3a9zsx59m2n7nqg7pe3avjl6flfrvfzx/position] +peggy_denom = factory/inj17q6g7a3a9zsx59m2n7nqg7pe3avjl6flfrvfzx/position +decimals = 0 + +[factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj182tjs70u33r7vssc8tfuwwed3x4ggfeutvk0sl] +peggy_denom = factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj182tjs70u33r7vssc8tfuwwed3x4ggfeutvk0sl +decimals = 0 + +[factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj1a9chuqkye3dytgzg4060nj4kglxt8tx3kr6mwv] +peggy_denom = factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj1a9chuqkye3dytgzg4060nj4kglxt8tx3kr6mwv +decimals = 0 + +[factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj1ajfruhkchstjzxwf0mnsc5c6gqw6s8jmptqgkg] +peggy_denom = factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj1ajfruhkchstjzxwf0mnsc5c6gqw6s8jmptqgkg +decimals = 0 + +[factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj1dlywe8v0t9gv2ceasj6se387ke95env8lyf3j8] +peggy_denom = factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj1dlywe8v0t9gv2ceasj6se387ke95env8lyf3j8 +decimals = 0 + +[factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj1g4exsdxg9gmme7a45lxgwv40ghrtl20vty0ynk] +peggy_denom = factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj1g4exsdxg9gmme7a45lxgwv40ghrtl20vty0ynk +decimals = 0 + +[factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj1hc6d3ytp2axqkl5td3387wkg0n23he6rlrek82] +peggy_denom = factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj1hc6d3ytp2axqkl5td3387wkg0n23he6rlrek82 +decimals = 0 + +[factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj1htdk4v3xd3tnvehecsuyqhc29gjtgxgg3ryej4] +peggy_denom = factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj1htdk4v3xd3tnvehecsuyqhc29gjtgxgg3ryej4 +decimals = 0 + +[factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj1l9z45vvdpeggnctjr5dt0setaf8pfg965whl0d] +peggy_denom = factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj1l9z45vvdpeggnctjr5dt0setaf8pfg965whl0d +decimals = 0 + +[factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj1lm5kx8suv5kzmlfya2kscqyzaxflekmh8cwuqz] +peggy_denom = factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj1lm5kx8suv5kzmlfya2kscqyzaxflekmh8cwuqz +decimals = 0 + +[factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj1vd0mf8a39xwr9hav2g7e8lmur07utjrjv025kd] +peggy_denom = factory/inj17q7ds0yh7hhtusff7gz8a5kx2uwxruttlxur96/lpinj1vd0mf8a39xwr9hav2g7e8lmur07utjrjv025kd +decimals = 0 + +[factory/inj17sjuxy3nsh3ytrckknztzl6gg0mmuyphmxp3pg/position] +peggy_denom = factory/inj17sjuxy3nsh3ytrckknztzl6gg0mmuyphmxp3pg/position +decimals = 0 + +[factory/inj17u7w6x9upf8j4f98x4ftptkkwj8lumah0zhvy7/position] +peggy_denom = factory/inj17u7w6x9upf8j4f98x4ftptkkwj8lumah0zhvy7/position +decimals = 0 + +[factory/inj17v9lheupewm0kqdppp9cwwdlymfgqsefalleld/position] +peggy_denom = factory/inj17v9lheupewm0kqdppp9cwwdlymfgqsefalleld/position +decimals = 0 + +[factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/ABC] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/ABC +decimals = 6 + +[factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/FT] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/FT +decimals = 0 + +[factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/GG] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/GG +decimals = 0 + +[factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/aave] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/aave +decimals = 0 + +[factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/ak] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/ak +decimals = 6 + +[factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/aptos] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/aptos +decimals = 0 + +[factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/art] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/art +decimals = 0 + +[factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/avax] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/avax +decimals = 0 + +[factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/bnb] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/bnb +decimals = 0 + +[factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/crv] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/crv +decimals = 0 + +[factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/cvx] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/cvx +decimals = 0 + +[factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/gala] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/gala +decimals = 0 + +[factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/hnt] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/hnt +decimals = 0 + +[factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/ldo] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/ldo +decimals = 0 + +[factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/op] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/op +decimals = 0 + +[factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/shib] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/shib +decimals = 0 + +[factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/sol] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/sol +decimals = 0 + +[factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/tia] +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/tia +decimals = 6 + +[factory/inj17wwa9nsg6k5adxck3uryud2qz380k3v06wne9k/position] +peggy_denom = factory/inj17wwa9nsg6k5adxck3uryud2qz380k3v06wne9k/position +decimals = 0 + +[factory/inj17yy8ajcqvhw4d0ssq8x7un8w4y3ql7nj3cgdy2/position] +peggy_denom = factory/inj17yy8ajcqvhw4d0ssq8x7un8w4y3ql7nj3cgdy2/position +decimals = 0 + +[factory/inj17z4scdds993lytxqj5s8kr8rjatkdcgchfqwfw/position] +peggy_denom = factory/inj17z4scdds993lytxqj5s8kr8rjatkdcgchfqwfw/position +decimals = 0 + +[factory/inj186uvu7eal5fr9w7s3g3jlvas0sknkd0chkjejh/position] +peggy_denom = factory/inj186uvu7eal5fr9w7s3g3jlvas0sknkd0chkjejh/position +decimals = 0 + +[factory/inj1889vpk022tkzsm89pjukp8cfyjp6qz2rdl43fn/position] +peggy_denom = factory/inj1889vpk022tkzsm89pjukp8cfyjp6qz2rdl43fn/position +decimals = 0 + +[factory/inj1890mjxvw8g3qqu9wnkyr0hnan0mvtqaulcmp3p/position] +peggy_denom = factory/inj1890mjxvw8g3qqu9wnkyr0hnan0mvtqaulcmp3p/position +decimals = 0 + +[factory/inj1894t5lutrkf895ndxtkxcwux5nkh5ykq32lrvj/position] +peggy_denom = factory/inj1894t5lutrkf895ndxtkxcwux5nkh5ykq32lrvj/position +decimals = 0 + +[factory/inj18c087n0mulwrmedajt6jt0zaa9xed8n7qtjt9p/position] +peggy_denom = factory/inj18c087n0mulwrmedajt6jt0zaa9xed8n7qtjt9p/position +decimals = 0 + +[factory/inj18c0c2c5ght4ffanxggq3ce0g8va6q5xvt8znty/position] +peggy_denom = factory/inj18c0c2c5ght4ffanxggq3ce0g8va6q5xvt8znty/position +decimals = 0 + +[factory/inj18ep02wj2074ek0v0qh6lj0skh9v8rh92eea77g/INJ] +peggy_denom = factory/inj18ep02wj2074ek0v0qh6lj0skh9v8rh92eea77g/INJ +decimals = 6 + +[factory/inj18k45cjqerwgq8y98zre05yr65wx42kagcdax8y/position] +peggy_denom = factory/inj18k45cjqerwgq8y98zre05yr65wx42kagcdax8y/position +decimals = 0 + +[factory/inj18l5a7rtkc8yh4m37jrvl7hg7xkm44rsch9nsth/position] +peggy_denom = factory/inj18l5a7rtkc8yh4m37jrvl7hg7xkm44rsch9nsth/position +decimals = 0 + +[factory/inj18lh8zx4hx0pyksyu74srktv4vgxskkkafknggl/NRL] +peggy_denom = factory/inj18lh8zx4hx0pyksyu74srktv4vgxskkkafknggl/NRL +decimals = 6 + +[factory/inj18pnq5dapjrvk6sp90f7stewu63rktmmhxuqx3m/position] +peggy_denom = factory/inj18pnq5dapjrvk6sp90f7stewu63rktmmhxuqx3m/position +decimals = 0 + +[factory/inj18sw8ljhpwm3289pz06hk79dgj0kdp6q288uey0/position] +peggy_denom = factory/inj18sw8ljhpwm3289pz06hk79dgj0kdp6q288uey0/position +decimals = 0 + +[factory/inj18uaqjlx6hw5dkd4lw4na6mynzfwufdlrv3kz7c/position] +peggy_denom = factory/inj18uaqjlx6hw5dkd4lw4na6mynzfwufdlrv3kz7c/position +decimals = 0 + +[factory/inj18udwms4qgh4wqv3g7754ur07wvl665n8uvemzz/position] +peggy_denom = factory/inj18udwms4qgh4wqv3g7754ur07wvl665n8uvemzz/position +decimals = 0 + +[factory/inj18vyfs7evrmtdawy9h3xjjv6y6mc42c3yt63qf8/position] +peggy_denom = factory/inj18vyfs7evrmtdawy9h3xjjv6y6mc42c3yt63qf8/position +decimals = 0 + +[factory/inj1925pr7emqd3w3xt8ywctpmtc5tqs3alya6t2ap/position] +peggy_denom = factory/inj1925pr7emqd3w3xt8ywctpmtc5tqs3alya6t2ap/position +decimals = 0 + +[factory/inj1954pmp3y7whagxek6u5rgc0y4xan3n5cpgvq4p/position] +peggy_denom = factory/inj1954pmp3y7whagxek6u5rgc0y4xan3n5cpgvq4p/position +decimals = 0 + +[factory/inj195z3zm3z5uspvxuelrsfp60shq9cfykjhnlqyg/position] +peggy_denom = factory/inj195z3zm3z5uspvxuelrsfp60shq9cfykjhnlqyg/position +decimals = 0 + +[factory/inj1967pm6xz3x0w8uucx8pgl0w96qqdnkrflhkgsa/nUSD] +peggy_denom = factory/inj1967pm6xz3x0w8uucx8pgl0w96qqdnkrflhkgsa/nUSD +decimals = 18 + +[factory/inj196dtfgyrp0ugmsdla8m7kufu6pku2nxsj23htn/position] +peggy_denom = factory/inj196dtfgyrp0ugmsdla8m7kufu6pku2nxsj23htn/position +decimals = 0 + +[factory/inj197k0fk258qfwx67nwhsr7dvng2hhm8l2qnrqpw/position] +peggy_denom = factory/inj197k0fk258qfwx67nwhsr7dvng2hhm8l2qnrqpw/position +decimals = 0 + +[factory/inj19846n86rsmxdc4jccxtqezmexxwytzwrjxxu5u/position] +peggy_denom = factory/inj19846n86rsmxdc4jccxtqezmexxwytzwrjxxu5u/position +decimals = 0 + +[factory/inj199sgh70upvs6lpyd85s0v08lpxy4tx9redtlup/position] +peggy_denom = factory/inj199sgh70upvs6lpyd85s0v08lpxy4tx9redtlup/position +decimals = 0 + +[factory/inj19dehwd2m6hgqprp32xmeulql4dyylytyxun5rc/lp] +peggy_denom = factory/inj19dehwd2m6hgqprp32xmeulql4dyylytyxun5rc/lp +decimals = 0 + +[factory/inj19eauq5pxlxcta8ngn4436s7jw4p0gy5nrn0yla/1] +peggy_denom = factory/inj19eauq5pxlxcta8ngn4436s7jw4p0gy5nrn0yla/1 +decimals = 0 + +[factory/inj19ec03mpecsww2je83ph6cpn5u586ncec5qemyh/position] +peggy_denom = factory/inj19ec03mpecsww2je83ph6cpn5u586ncec5qemyh/position +decimals = 0 + +[factory/inj19g5dym4epw5h6udv4r25jfc5e2hga8ga85la5e/KIRA] +peggy_denom = factory/inj19g5dym4epw5h6udv4r25jfc5e2hga8ga85la5e/KIRA +decimals = 0 + +[factory/inj19g5dym4epw5h6udv4r25jfc5e2hga8ga85la5e/ak] +peggy_denom = factory/inj19g5dym4epw5h6udv4r25jfc5e2hga8ga85la5e/ak +decimals = 6 + +[factory/inj19g8hqphpah2ueqfc6lp0whe8ycegcchjtavakr/position] +peggy_denom = factory/inj19g8hqphpah2ueqfc6lp0whe8ycegcchjtavakr/position +decimals = 0 + +[factory/inj19hvtll63gdk7226lcgdthd8w6vkwvy2lygd54s/TooTOO] +peggy_denom = factory/inj19hvtll63gdk7226lcgdthd8w6vkwvy2lygd54s/TooTOO +decimals = 6 + +[factory/inj19kfmq7r8mcfalfa8h3vwxw8xlq6vz9zj6y6xct/position] +peggy_denom = factory/inj19kfmq7r8mcfalfa8h3vwxw8xlq6vz9zj6y6xct/position +decimals = 0 + +[factory/inj19l2xm8w8henavhpcfw9jq22ucjesvnzdkv8pj3/inj19l2xm8w8henavhpcfw9jq22ucjesvnzdkv8pj2] +peggy_denom = factory/inj19l2xm8w8henavhpcfw9jq22ucjesvnzdkv8pj3/inj19l2xm8w8henavhpcfw9jq22ucjesvnzdkv8pj2 +decimals = 0 + +[factory/inj19l2xm8w8henavhpcfw9jq22ucjesvnzdkv8pj3/inj1z0whhrxkg38lcrj7lv2eetsfhwztpfntfkc636] +peggy_denom = factory/inj19l2xm8w8henavhpcfw9jq22ucjesvnzdkv8pj3/inj1z0whhrxkg38lcrj7lv2eetsfhwztpfntfkc636 +decimals = 0 + +[factory/inj19pyact4kpwn5jedpselllzdg9y9v9vj4hg35af/uLP] +peggy_denom = factory/inj19pyact4kpwn5jedpselllzdg9y9v9vj4hg35af/uLP +decimals = 0 + +[factory/inj19qxhsqgje6llmg7xkxkqk2q8xztxpue09p4pvz/position] +peggy_denom = factory/inj19qxhsqgje6llmg7xkxkqk2q8xztxpue09p4pvz/position +decimals = 0 + +[factory/inj19rhvya4gj8sur47y5wc9sgfjervum6wg8qe4gx/position] +peggy_denom = factory/inj19rhvya4gj8sur47y5wc9sgfjervum6wg8qe4gx/position +decimals = 0 + +[factory/inj19sg6yzf8dcz55e5y2wwtxg7zssa58jsgqk7gnv/position] +peggy_denom = factory/inj19sg6yzf8dcz55e5y2wwtxg7zssa58jsgqk7gnv/position +decimals = 0 + +[factory/inj19t2lrnwlztg8stpxd0tl4cvpkeaxrqv7a42jtz/position] +peggy_denom = factory/inj19t2lrnwlztg8stpxd0tl4cvpkeaxrqv7a42jtz/position +decimals = 0 + +[factory/inj19ucnm6n9eunuyxulv0hj0dkavn9ywut0dsnuml/utest] +peggy_denom = factory/inj19ucnm6n9eunuyxulv0hj0dkavn9ywut0dsnuml/utest +decimals = 6 + +[factory/inj19utmngz6ty3yjz7e7m8v37gqjlglgf3r9lkdx6/position] +peggy_denom = factory/inj19utmngz6ty3yjz7e7m8v37gqjlglgf3r9lkdx6/position +decimals = 0 + +[factory/inj19vcgt0pcywuy3tld6yp96emctrafc5s2p5duym/first-token] +peggy_denom = factory/inj19vcgt0pcywuy3tld6yp96emctrafc5s2p5duym/first-token +decimals = 0 + +[factory/inj19vcgt0pcywuy3tld6yp96emctrafc5s2p5duym/lck-1] +peggy_denom = factory/inj19vcgt0pcywuy3tld6yp96emctrafc5s2p5duym/lck-1 +decimals = 18 + +[factory/inj19vcgt0pcywuy3tld6yp96emctrafc5s2p5duym/mft-1] +peggy_denom = factory/inj19vcgt0pcywuy3tld6yp96emctrafc5s2p5duym/mft-1 +decimals = 18 + +[factory/inj19vcgt0pcywuy3tld6yp96emctrafc5s2p5duym/mftt] +peggy_denom = factory/inj19vcgt0pcywuy3tld6yp96emctrafc5s2p5duym/mftt +decimals = 6 + +[factory/inj19wpl5yqj68jf0esy2ss64a9vrwzwludrglck6u/position] +peggy_denom = factory/inj19wpl5yqj68jf0esy2ss64a9vrwzwludrglck6u/position +decimals = 0 + +[factory/inj19x3tplaa70fm420u48dwe7k0p4lypnaea0gm64/position] +peggy_denom = factory/inj19x3tplaa70fm420u48dwe7k0p4lypnaea0gm64/position +decimals = 0 + +[factory/inj19y64q35zwhxwsdzawhls8rrry7tmf50esvut7t/position] +peggy_denom = factory/inj19y64q35zwhxwsdzawhls8rrry7tmf50esvut7t/position +decimals = 0 + +[factory/inj19y8jas528ulf4s7edg6muyegthsm9z2mtaqkvz/lp] +peggy_denom = factory/inj19y8jas528ulf4s7edg6muyegthsm9z2mtaqkvz/lp +decimals = 0 + +[factory/inj1a30r8ef7l4hgwjcq3kuqtayez349ct68c6ttds/position] +peggy_denom = factory/inj1a30r8ef7l4hgwjcq3kuqtayez349ct68c6ttds/position +decimals = 0 + +[factory/inj1a3adz2q6ddsmswwh66u2yzs70wyjcfkd5d824c/position] +peggy_denom = factory/inj1a3adz2q6ddsmswwh66u2yzs70wyjcfkd5d824c/position +decimals = 0 + +[factory/inj1a46azyrr2uwgejvcf0dry7s0gjt8f0fzgp8kmj/position] +peggy_denom = factory/inj1a46azyrr2uwgejvcf0dry7s0gjt8f0fzgp8kmj/position +decimals = 0 + +[factory/inj1a5h0krl05ygsh3xyx8plmzm9anc7avvptp60v3/position] +peggy_denom = factory/inj1a5h0krl05ygsh3xyx8plmzm9anc7avvptp60v3/position +decimals = 0 + +[factory/inj1a5z8ae6nzemk8cnyjh326gu6py4n7jq8pz2x8e/position] +peggy_denom = factory/inj1a5z8ae6nzemk8cnyjh326gu6py4n7jq8pz2x8e/position +decimals = 0 + +[factory/inj1a8vtk998rq0mnd294527d4ufczshja85mcha4p/position] +peggy_denom = factory/inj1a8vtk998rq0mnd294527d4ufczshja85mcha4p/position +decimals = 0 + +[factory/inj1ae9wagmq456wm0rhlt0mpx4ea2w6q494y7gdml/position] +peggy_denom = factory/inj1ae9wagmq456wm0rhlt0mpx4ea2w6q494y7gdml/position +decimals = 0 + +[factory/inj1aetmaq5pswvfg6nhvgd4lt94qmg23ka3ljgxlm/SHURIKEN] +peggy_denom = factory/inj1aetmaq5pswvfg6nhvgd4lt94qmg23ka3ljgxlm/SHURIKEN +decimals = 6 + +[factory/inj1aetmaq5pswvfg6nhvgd4lt94qmg23ka3ljgxlm/lootbox1] +peggy_denom = factory/inj1aetmaq5pswvfg6nhvgd4lt94qmg23ka3ljgxlm/lootbox1 +decimals = 0 + +[factory/inj1aftq7re8s4d8s55l5aw4dgtt4ex837f2l5x0py/position] +peggy_denom = factory/inj1aftq7re8s4d8s55l5aw4dgtt4ex837f2l5x0py/position +decimals = 0 + +[factory/inj1agcntfljkxyjlqnvs07lym6ugtlcd2krvy2k4v/position] +peggy_denom = factory/inj1agcntfljkxyjlqnvs07lym6ugtlcd2krvy2k4v/position +decimals = 0 + +[factory/inj1agte07lxz2twqvt6upesxp4tc2z65mdshclgkh/position] +peggy_denom = factory/inj1agte07lxz2twqvt6upesxp4tc2z65mdshclgkh/position +decimals = 0 + +[factory/inj1akalafk23jw2rrgkpdfwsv05g5wkzu03lnynyp/position] +peggy_denom = factory/inj1akalafk23jw2rrgkpdfwsv05g5wkzu03lnynyp/position +decimals = 0 + +[factory/inj1al5pu3h64gl9e555t8cfekxy59pk30e6r38t9f/nusd] +peggy_denom = factory/inj1al5pu3h64gl9e555t8cfekxy59pk30e6r38t9f/nusd +decimals = 0 + +[factory/inj1al78qgdyw69uq50exzmmnfjllm3t3wa8rzyzn3/position] +peggy_denom = factory/inj1al78qgdyw69uq50exzmmnfjllm3t3wa8rzyzn3/position +decimals = 0 + +[factory/inj1aluh09npz2wc7rq8hveuwgzxnlflrzuagewuls/karate] +peggy_denom = factory/inj1aluh09npz2wc7rq8hveuwgzxnlflrzuagewuls/karate +decimals = 6 + +[factory/inj1aluh09npz2wc7rq8hveuwgzxnlflrzuagewuls/testcoin] +peggy_denom = factory/inj1aluh09npz2wc7rq8hveuwgzxnlflrzuagewuls/testcoin +decimals = 6 + +[factory/inj1ampqmsdk2687jdael7x89fu59zfw3xm52tchn8/position] +peggy_denom = factory/inj1ampqmsdk2687jdael7x89fu59zfw3xm52tchn8/position +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj108uf9tsu4e8q3f45pt3ylc4wv5c8kvrt66azun] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj108uf9tsu4e8q3f45pt3ylc4wv5c8kvrt66azun +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj13zf66kwwvmvr20sm5dh39p3x3pkw0ry3jrfus2] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj13zf66kwwvmvr20sm5dh39p3x3pkw0ry3jrfus2 +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj145lkwt43eq7u8vuw8h2schvycvt2ue03wm6s6x] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj145lkwt43eq7u8vuw8h2schvycvt2ue03wm6s6x +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj15p3jd8svfp40ez9ckj4qzak209sdequhmpt5c2] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj15p3jd8svfp40ez9ckj4qzak209sdequhmpt5c2 +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj15pcxscn4s0g95trxd42jk6xnssnvs9sze472pu] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj15pcxscn4s0g95trxd42jk6xnssnvs9sze472pu +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj15zhsj42y2p990m8j5uh2rym2fmqnalupmwuj9p] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj15zhsj42y2p990m8j5uh2rym2fmqnalupmwuj9p +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj17lt3vtgtpprn877gyd694hvtgn5p3c3mt6z39l] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj17lt3vtgtpprn877gyd694hvtgn5p3c3mt6z39l +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj18w7c5cj6ygmk2hxzu8d86husg8wyhgtd9n4fkf] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj18w7c5cj6ygmk2hxzu8d86husg8wyhgtd9n4fkf +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj196f5hz8x7laqyfykr6sf6f6qjkna2gd2eqvdcy] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj196f5hz8x7laqyfykr6sf6f6qjkna2gd2eqvdcy +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj19glgtxlvlmwuwdqyknn666arnxt4y88zgz3pnj] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj19glgtxlvlmwuwdqyknn666arnxt4y88zgz3pnj +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1ecnn87skvhfm579ms6w46zpf2gk6neftujky4k] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1ecnn87skvhfm579ms6w46zpf2gk6neftujky4k +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1f03c5r2nlsh390y97p776clvgm9pqmkecj92q3] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1f03c5r2nlsh390y97p776clvgm9pqmkecj92q3 +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1favce2lmfgwzvzeavrt88cqn8vx7w9aexfsuld] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1favce2lmfgwzvzeavrt88cqn8vx7w9aexfsuld +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1fys254q0ktp4k9uys94f0l5ujljjjc86qf0gx3] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1fys254q0ktp4k9uys94f0l5ujljjjc86qf0gx3 +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1hzs0sdqrmt3vw9w0qaxhtqed3mlhpldurkv6ty] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1hzs0sdqrmt3vw9w0qaxhtqed3mlhpldurkv6ty +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1kc6aehzj3uhc90qjrgsemq5evyay3ys24se2wu] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1kc6aehzj3uhc90qjrgsemq5evyay3ys24se2wu +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1l070c6tav7a7xxyh3rmjpqdffkwgsw3jr5ypmj] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1l070c6tav7a7xxyh3rmjpqdffkwgsw3jr5ypmj +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1m6fus7a9mmrvz7ac7k0m8c94ywj2q64d7vnzzx] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1m6fus7a9mmrvz7ac7k0m8c94ywj2q64d7vnzzx +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1mxe5r73ne92yg4a207vvpe0mjvylv86ghdu4cp] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1mxe5r73ne92yg4a207vvpe0mjvylv86ghdu4cp +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1ny8n2dlqn7s38tx8ljn9kn65t74tn6z3pe0l5u] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1ny8n2dlqn7s38tx8ljn9kn65t74tn6z3pe0l5u +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1r3nfgtptufxsatdd3kdr6e3qwjcmnma9myg8nq] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1r3nfgtptufxsatdd3kdr6e3qwjcmnma9myg8nq +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1rzheq4hfad8x9vh6zlwe7rhw59gps6vnhywtds] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1rzheq4hfad8x9vh6zlwe7rhw59gps6vnhywtds +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1s4227045efy2t5lmw5nm0a082y75a0t50zh5lc] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1s4227045efy2t5lmw5nm0a082y75a0t50zh5lc +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1sg25epqzk8g89wzlpx04mg5jphk0dk2eq2mkts] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1sg25epqzk8g89wzlpx04mg5jphk0dk2eq2mkts +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1sngs2wlfynj4y3vtw7pdfn4cm9xr83wc92vys7] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1sngs2wlfynj4y3vtw7pdfn4cm9xr83wc92vys7 +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1t9c9yggeyxfd0x8jfu869xvyksg5ytjlhmv4fz] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1t9c9yggeyxfd0x8jfu869xvyksg5ytjlhmv4fz +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1tl6rljef25zxtju0842w6vr0a20a8s9rdd25kj] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1tl6rljef25zxtju0842w6vr0a20a8s9rdd25kj +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1uu3llx95wl7u2pl44ltr45exdm5nja5r5c3hky] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1uu3llx95wl7u2pl44ltr45exdm5nja5r5c3hky +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1vczur6w8xaand2lzup2l8w7jjqy7e70md3xa7p] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1vczur6w8xaand2lzup2l8w7jjqy7e70md3xa7p +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1w9hnzhlq26wdgw3d2gh9fvf3nwnvxe6ff5crdj] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1w9hnzhlq26wdgw3d2gh9fvf3nwnvxe6ff5crdj +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1wdjs5alt50mqc9wq5zek5j0kv8gkxwasady0cp] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1wdjs5alt50mqc9wq5zek5j0kv8gkxwasady0cp +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1wrwpwkrhc6tyrm5px8xcmuv0ufgcqjngquw20h] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1wrwpwkrhc6tyrm5px8xcmuv0ufgcqjngquw20h +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1x6ux4um7xlctx09fe60k258yr03d3npvpt07jv] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1x6ux4um7xlctx09fe60k258yr03d3npvpt07jv +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1xvlnfmq5672rmvn6576rvj389ezu9nxc9dpk8l] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1xvlnfmq5672rmvn6576rvj389ezu9nxc9dpk8l +decimals = 0 + +[factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1z098f8syf3g2pmt606kqmsmwfy2z5rcgmzte0h] +peggy_denom = factory/inj1an0gxz8w2sfavu5glt32hly5m2ltz67eyx2gra/lpinj1z098f8syf3g2pmt606kqmsmwfy2z5rcgmzte0h +decimals = 0 + +[factory/inj1asqp852arxkam8uckm2uvc4y365kdf06evq3zy/test] +peggy_denom = factory/inj1asqp852arxkam8uckm2uvc4y365kdf06evq3zy/test +decimals = 6 + +[factory/inj1asqp852arxkam8uckm2uvc4y365kdf06evq3zy/testa1] +peggy_denom = factory/inj1asqp852arxkam8uckm2uvc4y365kdf06evq3zy/testa1 +decimals = 6 + +[factory/inj1astu9n8434xpd0h90gfgksp85324cd5kp6gs5q/position] +peggy_denom = factory/inj1astu9n8434xpd0h90gfgksp85324cd5kp6gs5q/position +decimals = 0 + +[factory/inj1au376u55jzxj3rxhk7e4q0pk2xz0xf6a0ww8me/position] +peggy_denom = factory/inj1au376u55jzxj3rxhk7e4q0pk2xz0xf6a0ww8me/position +decimals = 0 + +[factory/inj1audhvz4wweflplqpws7348w4tjj4lwdq8gs0g5/position] +peggy_denom = factory/inj1audhvz4wweflplqpws7348w4tjj4lwdq8gs0g5/position +decimals = 0 + +[factory/inj1aueqg42j0xs3yyea9ppgs652l99g4wegc6kuks/lpinj1f42t9j379jm5sss0j9xarf0mmwzp69nugd6pzf] +peggy_denom = factory/inj1aueqg42j0xs3yyea9ppgs652l99g4wegc6kuks/lpinj1f42t9j379jm5sss0j9xarf0mmwzp69nugd6pzf +decimals = 0 + +[factory/inj1aueqg42j0xs3yyea9ppgs652l99g4wegc6kuks/lpinj1yvm6xz7ztv24ketpw8hsuns95z7nrtjm2ws6s7] +peggy_denom = factory/inj1aueqg42j0xs3yyea9ppgs652l99g4wegc6kuks/lpinj1yvm6xz7ztv24ketpw8hsuns95z7nrtjm2ws6s7 +decimals = 0 + +[factory/inj1aus3al2tm7kd2kammhuvu7tae0gyn3vz4tmln2/position] +peggy_denom = factory/inj1aus3al2tm7kd2kammhuvu7tae0gyn3vz4tmln2/position +decimals = 0 + +[factory/inj1aw8kmum8xcnwramz0ekdy0pl0k7xfdydmhxr07/position] +peggy_denom = factory/inj1aw8kmum8xcnwramz0ekdy0pl0k7xfdydmhxr07/position +decimals = 0 + +[factory/inj1awvzukx5tfp6dzlc7v87jrtwg0m2z97gwgk2l7/position] +peggy_denom = factory/inj1awvzukx5tfp6dzlc7v87jrtwg0m2z97gwgk2l7/position +decimals = 0 + +[factory/inj1ayhegfjmnsnv5wcuuxk56c27zf0zhvcm659haz/position] +peggy_denom = factory/inj1ayhegfjmnsnv5wcuuxk56c27zf0zhvcm659haz/position +decimals = 0 + +[factory/inj1azh3q0uq5xhj856jfe7cq8g42vf0vqwe6q380d/position] +peggy_denom = factory/inj1azh3q0uq5xhj856jfe7cq8g42vf0vqwe6q380d/position +decimals = 0 + +[factory/inj1c36j9k3vrvxm5hg0p44n9lfmldmfughcr0yn9y/bINJ] +peggy_denom = factory/inj1c36j9k3vrvxm5hg0p44n9lfmldmfughcr0yn9y/bINJ +decimals = 0 + +[factory/inj1c588j3kkay3hk4np5xlqttrnzhqp7k2wfhg9jr/position] +peggy_denom = factory/inj1c588j3kkay3hk4np5xlqttrnzhqp7k2wfhg9jr/position +decimals = 0 + +[factory/inj1c8fxfgjnqssuqwsfn5lyyjff20tmwpjgr9zavx/position] +peggy_denom = factory/inj1c8fxfgjnqssuqwsfn5lyyjff20tmwpjgr9zavx/position +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1688393090InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1688393090InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1688393190InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1688393190InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1688562440InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1688562440InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1688562475InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1688562475InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1688738289InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1688738289InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1688738335InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1688738335InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1688919059InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1688919059InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1688919103InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1688919103InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1689267553InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1689267553InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1689267590InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1689267590InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1689599333InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1689599333InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1689599371InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1689599371InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1689947444InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1689947444InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1689947488InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1689947488InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1690292884InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1690292884InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1690292943InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1690292943InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1690638281InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1690638281InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1690638318InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1690638318InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1690977270InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1690977270InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1690985975InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1690985975InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1690986069InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1690986069InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1691332939InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1691332939InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1691332966InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1691332966InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1691672834InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1691672834InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1691672874InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1691672874InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1692088340InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1692088340InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1692088377InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1692088377InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1692366264InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1692366264InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1692366299InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1692366299InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1692713323InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1692713323InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1692713423InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1692713423InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1693059790InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1693059790InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1693061285InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1693061285InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1693314015InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1693314015InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1693400975InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1693400975InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1693401025InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1693401025InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1693573212InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1693573212InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1693668292InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1693668292InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1693918802InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1693918802InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1693919162InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1693919162InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1694264419InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1694264419InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1694264444InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1694264444InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1694610004InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1694610004InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1694610034InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1694610034InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1694955601InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1694955601InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1694955631InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1694955631InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695301201InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695301201InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695301775InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695301775InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695646812InjUsdt14d130C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695646812InjUsdt14d130C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695651424InjUsdt14d80P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695651424InjUsdt14d80P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695911036InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695911036InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695912528InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695912528InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695912582InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695912582InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695922942InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695922942InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695924094InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695924094InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695992413InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695992413InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695992443InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695992443InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695992458InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695992458InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695992533InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1695992533InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696165211InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696165211InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696165241InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696165241InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696165255InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696165255InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696165331InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696165331InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696182385InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696182385InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696338011InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696338011InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696338040InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696338040InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696338055InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696338055InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696339261InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696339261InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696339298InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696339298InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696510811InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696510811InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696510841InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696510841InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696510871InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696510871InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696515587InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696515587InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696515618InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696515618InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696683611InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696683611InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696683641InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696683641InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696693437InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696693437InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696693477InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696693477InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696693515InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696693515InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696856403InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696856403InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696856433InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696856433InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696856448InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696856448InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696857075InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696857075InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696857115InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1696857115InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697029205InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697029205InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697029235InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697029235InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697029250InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697029250InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697029808InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697029808InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697029853InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697029853InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697202011InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697202011InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697202035InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697202035InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697202050InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697202050InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697202096InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697202096InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697202125InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697202125InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697374809InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697374809InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697374839InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697374839InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697374854InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697374854InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697379492InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697379492InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697379504InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697379504InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697547614InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697547614InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697547643InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697547643InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697547658InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697547658InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697549059InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697549059InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697549075InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697549075InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697720411InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697720411InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697720438InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697720438InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697720453InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697720453InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722452InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722452InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722512InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722512InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722541InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722541InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722572InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722572InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722633InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722633InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722693InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722693InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722754InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722754InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722766InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722766InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722781InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722781InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722796InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697722796InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697724339InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697724339InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697724387InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697724387InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697724390InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697724390InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697724475InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697724475InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697893205InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697893205InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697893234InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697893234InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697893249InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697893249InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697893294InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697893294InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697895660InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1697895660InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698066012InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698066012InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698066056InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698066056InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698071468InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698071468InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698071537InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698071537InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698071660InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698071660InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698238813InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698238813InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698238853InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698238853InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698238868InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698238868InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698238913InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698238913InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698240068InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698240068InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698411615InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698411615InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698411656InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698411656InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698411673InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698411673InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698411686InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698411686InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698411717InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698411717InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698584414InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698584414InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698584458InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698584458InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698584475InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698584475InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698592535InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698592535InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698592576InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698592576InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698757215InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698757215InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698757256InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698757256InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698757273InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698757273InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698758802InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698758802InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698758832InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698758832InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698843614InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698843614InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698843674InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698843674InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698931135InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698931135InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698931139InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698931139InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698931146InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698931146InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698931150InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698931150InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698931183InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1698931183InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699016403InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699016403InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699016433InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699016433InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699016448InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699016448InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699016463InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699016463InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699016583InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699016583InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699103898InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699103898InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699104579InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699104579InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699104609InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699104609InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699104624InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699104624InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699104639InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699104639InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699189213InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699189213InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699189258InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699189258InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699189273InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699189273InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699189303InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699189303InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699189363InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699189363InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699362005InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699362005InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699362047WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699362047WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699362062InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699362062InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699362092InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699362092InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699362107InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699362107InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699362137InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699362137InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699362152WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699362152WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699362182WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699362182WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699363478WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699363478WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699534816InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699534816InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699534856InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699534856InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699534873InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699534873InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699534901WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699534901WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699534916InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699534916InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699534946WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699534946WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699537637InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699537637InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699537689WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699537689WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699537827WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699537827WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699707612InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699707612InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699707642WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699707642WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699707672WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699707672WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699707702InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699707702InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699707717WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699707717WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699707747WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699707747WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699880411InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699880411InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699880440WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699880440WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699880455AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699880455AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699880470WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699880470WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699880472AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699880472AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699880515WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699880515WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699880531WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699880531WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699880546InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699880546InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699880591InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699880591InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699883358InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699883358InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699883418AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699883418AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699883465InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699883465InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699883507AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1699883507AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700053208WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700053208WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700053237InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700053237InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700053252AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700053252AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700053268AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700053268AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700053297WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700053297WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700053313InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700053313InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700053358InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700053358InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700053403InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700053403InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700054233WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700054233WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700054322InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700054322InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700054425AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700054425AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700054460WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700054460WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700054540InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700054540InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700054603AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700054603AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700055200InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700055200InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700226004AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700226004AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700226032InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700226032InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700226047WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700226047WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700226065AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700226065AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700226093WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700226093WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700226108InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700226108InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700226123WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700226123WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700226214AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700226214AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700237848InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700237848InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700237905InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700237905InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700238026InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700238026InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700238071AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700238071AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700238126WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700238126WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700398810InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700398810InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700398838WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700398838WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700398853InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700398853InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700398871InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700398871InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700398929InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700398929InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700398944WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700398944WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700398974AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700398974AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700399004WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700399004WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700408075WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700408075WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700408140AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700408140AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700408200InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700408200InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700408248AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700408248AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700408289AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700408289AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700571609AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700571609AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700571632WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700571632WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700571647AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700571647AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700571666AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700571666AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700571677InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700571677InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700571692WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700571692WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700571707InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700571707InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700571723WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700571723WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700571768AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700571768AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700579392InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700579392InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700579439WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700579439WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700579479InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700579479InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700579489InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700579489InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700744414WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700744414WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700744455InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700744455InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700744473AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700744473AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700744485WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700744485WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700744500AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700744500AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700744515InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700744515InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700744561InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700744561InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700744591WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700744591WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700748942WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700748942WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700749133InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700749133InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700749179InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700749179InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700749219AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700749219AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700749252AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700749252AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917204WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917204WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917232InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917232InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917247InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917247InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917262InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917262InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917292WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917292WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917308AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917308AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917323AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917323AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917338WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917338WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917353InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917353InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917488AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700917488AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700921448InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700921448InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700921481AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700921481AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700921520WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1700921520WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701090009WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701090009WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701090052InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701090052InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701090066InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701090066InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701090081AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701090081AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701090096AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701090096AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701090111WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701090111WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701090141WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701090141WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701090171InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701090171InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701095493WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701095493WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701095532InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701095532InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701095557AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701095557AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701095607InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701095607InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701095626AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701095626AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701262817InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701262817InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701262857InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701262857InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701262872InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701262872InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701262875WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701262875WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701262902AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701262902AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701262933WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701262933WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701262963WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701262963WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701263083InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701263083InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701263221AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701263221AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701263221AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701263221AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701267248InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701267248InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701267412WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701267412WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701267494AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701267494AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701435312AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701435312AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701435312AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701435312AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701435613InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701435613InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701435655WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701435655WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701435675InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701435675InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701435684WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701435684WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701435775InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701435775InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701435790WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701435790WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701435880WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701435880WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701437080InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701437080InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701437560InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701437560InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701437574AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701437574AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701437574AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701437574AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608110AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608110AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608110AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608110AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608110AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608110AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608110AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608110AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608110InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608110InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608110InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608110InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608413WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608413WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608438InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608438InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608471InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608471InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608513WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608513WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608574WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608574WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608589InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701608589InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701614619WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701614619WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701780916AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701780916AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701780916AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701780916AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701780916AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701780916AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701780916AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701780916AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701780916InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701780916InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701780916InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701780916InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701780916WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701780916WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701781204InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701781204InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701781258WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701781258WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701781262InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701781262InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701781303WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701781303WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701781409WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701781409WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701782379InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701782379InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953703AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953703AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953703InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953703InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953703WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953703WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953703WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953703WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953704AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953704AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953704AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953704AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953704InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953704InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953704InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953704InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953704WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953704WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953705AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953705AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953705InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953705InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953705InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953705InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953705WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1701953705WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126501AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126501AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126501InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126501InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126501WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126501WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126501WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126501WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126502AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126502AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126502AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126502AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126502InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126502InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126502WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126502WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126503AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126503AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126503InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126503InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126503InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126503InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126504InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126504InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126504WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702126504WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299314WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299315InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299315InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299315InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299315InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299315WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702299315WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472108WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472110InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472110InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472110InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472110InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472110WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702472110WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644910InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644910InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644911AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644911AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644911AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644911AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644911AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644911AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644911InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644911InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644911InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644911InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644911WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644911WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644911WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644911WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644911WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644911WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644912AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644912AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644913InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644913InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644913InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644913InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644913WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702644913WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817700InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817700InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817700WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817700WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817700WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817700WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817701AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817701AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817701AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817701AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817701InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817701InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817701WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817701WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817702AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817702AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817702AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817702AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817702InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817702InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817702InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817702InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817702InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817702InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817702WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702817702WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990515AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990515AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990515AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990515AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990515AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990515AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990515InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990515InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990515InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990515InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990515WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990515WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990515WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990515WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990515WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990515WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990516AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990516AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990516InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990516InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990516InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990516InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990516InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990516InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990516WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1702990516WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163309InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163309InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163309WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163309WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163309WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163309WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163310AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163310AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163310AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163310AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163310InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163310InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163310WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163310WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163311AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163311AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163311AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163311AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163311InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163311InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163311InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163311InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163311InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163311InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163311WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703163311WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703336400WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703509200WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703682000WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854510WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854511InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854511InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854511WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854511WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854512InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1703854512InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027313InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027313InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027313WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027313WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027313WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027313WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027314AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027314AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027314AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027314AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027314AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027314AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027314InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027314InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027314InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027314InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027314WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027314WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027315AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027315AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027315InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027315InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027315InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027315InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027315WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704027315WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113708InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113708InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113708WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113708WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113708WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113708WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113709AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113709AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113709AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113709AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113709AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113709AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113709InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113709InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113709InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113709InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113709WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113709WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113710AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113710AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113710InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113710InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113710InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113710InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113710WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704113710WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286504AtomUsdt10d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286504AtomUsdt10d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286504AtomUsdt10d85P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286504AtomUsdt10d85P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286504InjUsdt10d84P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286504InjUsdt10d84P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286504WEthUsdt10d111C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286504WEthUsdt10d111C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286504WEthUsdt10d86P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286504WEthUsdt10d86P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286504WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286504WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286505AtomUsdt10d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286505AtomUsdt10d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286505AtomUsdt10d124C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286505AtomUsdt10d124C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286505InjUsdt10d128C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286505InjUsdt10d128C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286505InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286505InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286505InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286505InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286505WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286505WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286506InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704286506InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704459305InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704459305InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704459305InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704459305InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704459305InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704459305InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704459305WEthUsdt6d113C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704459305WEthUsdt6d113C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704459305WEthUsdt6d91P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704459305WEthUsdt6d91P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704632108InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704632108InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704632108InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704632108InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704632108InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704632108InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704804916InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704804916InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704804916InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704804916InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704804916InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704804916InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704977701InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704977701InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704977701InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704977701InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704977701InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1704977701InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705150513InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705150513InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705150513InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705150513InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705150514InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705150514InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705323312InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705323312InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705323312InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705323312InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705323312InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705323312InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705496114InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705496114InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705496114InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705496114InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705496114InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705496114InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705668906InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705668906InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705668907InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705668907InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705668907InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705668907InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705841709InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705841709InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705841709InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705841709InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705841709InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1705841709InjUsdt6d82P +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1706014513InjUsdt6d114C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1706014513InjUsdt6d114C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1706014513InjUsdt6d117C] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1706014513InjUsdt6d117C +decimals = 0 + +[factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1706014513InjUsdt6d82P] +peggy_denom = factory/inj1ccntcwshzgf40ac8zcpt8tfa6fd3w6r567mp3z/1706014513InjUsdt6d82P +decimals = 0 + +[factory/inj1cdtyk74jm0qg5r0snkddqwl4d0r4vu54zakvkd/position] +peggy_denom = factory/inj1cdtyk74jm0qg5r0snkddqwl4d0r4vu54zakvkd/position +decimals = 0 + +[factory/inj1ce5nts6qntka3te9zqcgf6pgyczxjd8aul9dvp/PTG] +peggy_denom = factory/inj1ce5nts6qntka3te9zqcgf6pgyczxjd8aul9dvp/PTG +decimals = 0 + +[factory/inj1cepq3ezj4plltmnu3zkkzmnta56ur39pu9wssy/position] +peggy_denom = factory/inj1cepq3ezj4plltmnu3zkkzmnta56ur39pu9wssy/position +decimals = 0 + +[factory/inj1cg3ufnnh7cdj9mnxc5dpvzufcrtckqqec0y5dp/dev] +peggy_denom = factory/inj1cg3ufnnh7cdj9mnxc5dpvzufcrtckqqec0y5dp/dev +decimals = 0 + +[factory/inj1cjcpjhrg2ame8u2358ufw4dk22uua0d75pf0rd/bpINJ] +peggy_denom = factory/inj1cjcpjhrg2ame8u2358ufw4dk22uua0d75pf0rd/bpINJ +decimals = 0 + +[factory/inj1cjju83m8tmzf48htuex6qgks3q6s3xzrdml4a2/position] +peggy_denom = factory/inj1cjju83m8tmzf48htuex6qgks3q6s3xzrdml4a2/position +decimals = 0 + +[factory/inj1ckmdhdz7r8glfurckgtg0rt7x9uvner4ygqhlv/lp] +peggy_denom = factory/inj1ckmdhdz7r8glfurckgtg0rt7x9uvner4ygqhlv/lp +decimals = 0 + +[factory/inj1cml96vmptgw99syqrrz8az79xer2pcgp0a885r/AAA] +peggy_denom = factory/inj1cml96vmptgw99syqrrz8az79xer2pcgp0a885r/AAA +decimals = 0 + +[factory/inj1cml96vmptgw99syqrrz8az79xer2pcgp0a885r/APE] +peggy_denom = factory/inj1cml96vmptgw99syqrrz8az79xer2pcgp0a885r/APE +decimals = 6 + +[factory/inj1cml96vmptgw99syqrrz8az79xer2pcgp0a885r/test] +peggy_denom = factory/inj1cml96vmptgw99syqrrz8az79xer2pcgp0a885r/test +decimals = 6 + +[factory/inj1cq2uqxukggfktp5pqgchkxnjg4u5ct346wvyvr/position] +peggy_denom = factory/inj1cq2uqxukggfktp5pqgchkxnjg4u5ct346wvyvr/position +decimals = 0 + +[factory/inj1cscsemd4rppu3rkxg98dr68npzygxshuylnuux/lp] +peggy_denom = factory/inj1cscsemd4rppu3rkxg98dr68npzygxshuylnuux/lp +decimals = 0 + +[factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj14gtevsjys2unq288w2trytk0e9cj7g45yq79fw] +peggy_denom = factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj14gtevsjys2unq288w2trytk0e9cj7g45yq79fw +decimals = 0 + +[factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj15tcjh9c7je9auea2xdj0zm2d6285mg23f97vnt] +peggy_denom = factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj15tcjh9c7je9auea2xdj0zm2d6285mg23f97vnt +decimals = 0 + +[factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj15ydvx7ynwj3ztsuhmge5dluq7xt942mwpktg7m] +peggy_denom = factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj15ydvx7ynwj3ztsuhmge5dluq7xt942mwpktg7m +decimals = 0 + +[factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj18kpc00ft4lmzk73wtw4a6lpny8plz6kmpzfmsa] +peggy_denom = factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj18kpc00ft4lmzk73wtw4a6lpny8plz6kmpzfmsa +decimals = 0 + +[factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj19hpqtcajc82cquytuxgmw6lg3k0qwuru3t00n7] +peggy_denom = factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj19hpqtcajc82cquytuxgmw6lg3k0qwuru3t00n7 +decimals = 0 + +[factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj19kaqlc2xxku64esn5fuml8qpmd43qu7puyawnc] +peggy_denom = factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj19kaqlc2xxku64esn5fuml8qpmd43qu7puyawnc +decimals = 0 + +[factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj19ydmpse0244sue79yzvszkpkk32y53urtcjtm6] +peggy_denom = factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj19ydmpse0244sue79yzvszkpkk32y53urtcjtm6 +decimals = 0 + +[factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1apapy3g66m52mmt2wkyjm6hpyd563t90u0dgmx] +peggy_denom = factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1apapy3g66m52mmt2wkyjm6hpyd563t90u0dgmx +decimals = 0 + +[factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1c4ax6zup2w2v6nfh8f8gv4ks83lhv9hv53xf7a] +peggy_denom = factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1c4ax6zup2w2v6nfh8f8gv4ks83lhv9hv53xf7a +decimals = 0 + +[factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1c6ql7ladykug4f0ue3ht8qrrwqen3jmz2sxaf2] +peggy_denom = factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1c6ql7ladykug4f0ue3ht8qrrwqen3jmz2sxaf2 +decimals = 0 + +[factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1dswjduvp7fq52ulcuqmv6caqs5ssxkspavhs4d] +peggy_denom = factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1dswjduvp7fq52ulcuqmv6caqs5ssxkspavhs4d +decimals = 0 + +[factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1g4cpf9jhqgfel02g94uguw332nvrtlp6dxjnkz] +peggy_denom = factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1g4cpf9jhqgfel02g94uguw332nvrtlp6dxjnkz +decimals = 0 + +[factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1hkuk3yf6apqqj93ay7e8cxx7tc88zdydm38c9u] +peggy_denom = factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1hkuk3yf6apqqj93ay7e8cxx7tc88zdydm38c9u +decimals = 0 + +[factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1jy6s387mwu2l96qqw3vxpzfgcyfleqy9r74uqp] +peggy_denom = factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1jy6s387mwu2l96qqw3vxpzfgcyfleqy9r74uqp +decimals = 0 + +[factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1kj5ynn7w4f8uymk4qdjythss8fkfrljh0wqlsz] +peggy_denom = factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1kj5ynn7w4f8uymk4qdjythss8fkfrljh0wqlsz +decimals = 0 + +[factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1nt9x2szk5dkgr7m8q60kxeg2we546ud0uqe276] +peggy_denom = factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1nt9x2szk5dkgr7m8q60kxeg2we546ud0uqe276 +decimals = 0 + +[factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1up4rl2q7n3fh785t9ej78xhvfah9mxt8u24n32] +peggy_denom = factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1up4rl2q7n3fh785t9ej78xhvfah9mxt8u24n32 +decimals = 0 + +[factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1ve5rqgz5l2fytd22egw5tgs79pa7l5zzzdt0ys] +peggy_denom = factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1ve5rqgz5l2fytd22egw5tgs79pa7l5zzzdt0ys +decimals = 0 + +[factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1y3cmnn0plm4vt6j2nyf5plg48rlywn7cuygv62] +peggy_denom = factory/inj1ctl84udl4flydzdgf8er4z35dd974sufuw4dfk/lpinj1y3cmnn0plm4vt6j2nyf5plg48rlywn7cuygv62 +decimals = 0 + +[factory/inj1cuwygvhqcxgjhudslflfxwxhge8d265tc0uqq5/position] +peggy_denom = factory/inj1cuwygvhqcxgjhudslflfxwxhge8d265tc0uqq5/position +decimals = 0 + +[factory/inj1cvdpxpwlggytumd9ydkvq7z3y0pp75wawnznqp/position] +peggy_denom = factory/inj1cvdpxpwlggytumd9ydkvq7z3y0pp75wawnznqp/position +decimals = 0 + +[factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1afn8932y6f5v44eguf4tazn5f80uaxz4q603c9] +peggy_denom = factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1afn8932y6f5v44eguf4tazn5f80uaxz4q603c9 +decimals = 0 + +[factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1fzm58vwmtsn4vxuajvhsdqrjqrdhhdlqfd9lfd] +peggy_denom = factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1fzm58vwmtsn4vxuajvhsdqrjqrdhhdlqfd9lfd +decimals = 0 + +[factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1gf9dpyjtc5gfnc69nj6e67a2wrsjpruk3caywc] +peggy_denom = factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1gf9dpyjtc5gfnc69nj6e67a2wrsjpruk3caywc +decimals = 0 + +[factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1ghzfg2v3jzqe3vrhw4wngs43mscpxx98fpjwga] +peggy_denom = factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1ghzfg2v3jzqe3vrhw4wngs43mscpxx98fpjwga +decimals = 0 + +[factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1jdthft9pq8s87n5x65g49z3rv9nqnvpwrjgfz4] +peggy_denom = factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1jdthft9pq8s87n5x65g49z3rv9nqnvpwrjgfz4 +decimals = 0 + +[factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1lz5wufvx8qnvpwnw936dsgacdfqcrvrzn7z99f] +peggy_denom = factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1lz5wufvx8qnvpwnw936dsgacdfqcrvrzn7z99f +decimals = 0 + +[factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1nlhwnpeph9gwlng972j9zjwm8n523hx0n2kaj9] +peggy_denom = factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1nlhwnpeph9gwlng972j9zjwm8n523hx0n2kaj9 +decimals = 0 + +[factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1nrlveguv98ag7hf3xepd3aycrm8mp7rnhek9av] +peggy_denom = factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1nrlveguv98ag7hf3xepd3aycrm8mp7rnhek9av +decimals = 0 + +[factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1nv62axs4mmxfcuwg6v9aayyevxr4z7p9u0vn4y] +peggy_denom = factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1nv62axs4mmxfcuwg6v9aayyevxr4z7p9u0vn4y +decimals = 0 + +[factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1v26u44zh87fvvdpayzvw8t9vrydz25mp6kdkru] +peggy_denom = factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1v26u44zh87fvvdpayzvw8t9vrydz25mp6kdkru +decimals = 0 + +[factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1yj6rs33p42t6qx6j43z8d4zqx5egr76wdpz44t] +peggy_denom = factory/inj1cwx93480s73en2qxqlacte42dpusxdkgs83j0f/lpinj1yj6rs33p42t6qx6j43z8d4zqx5egr76wdpz44t +decimals = 0 + +[factory/inj1cxjmxnuul7fcwt5jfgn87gf3u9yq74trgn2h64/position] +peggy_denom = factory/inj1cxjmxnuul7fcwt5jfgn87gf3u9yq74trgn2h64/position +decimals = 0 + +[factory/inj1cxx7gcy35zce6x869mvq7af4e3gnka5m8yr9xm/bpINJ] +peggy_denom = factory/inj1cxx7gcy35zce6x869mvq7af4e3gnka5m8yr9xm/bpINJ +decimals = 0 + +[factory/inj1cyp93g4eq3l4xknl803x3je4k5xr9fdr5qp78h/position] +peggy_denom = factory/inj1cyp93g4eq3l4xknl803x3je4k5xr9fdr5qp78h/position +decimals = 0 + +[factory/inj1d0646us3wrcw6a77qmth6sc539vplaqdya55zh/nUSD] +peggy_denom = factory/inj1d0646us3wrcw6a77qmth6sc539vplaqdya55zh/nUSD +decimals = 18 + +[factory/inj1d2fz729s6egfvaf0ucg9pwecatkyp3s4zns0qq/position] +peggy_denom = factory/inj1d2fz729s6egfvaf0ucg9pwecatkyp3s4zns0qq/position +decimals = 0 + +[factory/inj1d37eu9nq4l3za205cswnt9qwcp256cp4g6f2wl/position] +peggy_denom = factory/inj1d37eu9nq4l3za205cswnt9qwcp256cp4g6f2wl/position +decimals = 0 + +[factory/inj1d3jc5pr6nsf9twyzjh9w5nj7nn235ysllwtpq7/frcoin] +peggy_denom = factory/inj1d3jc5pr6nsf9twyzjh9w5nj7nn235ysllwtpq7/frcoin +decimals = 0 + +[factory/inj1d3zazwsqnsg29srlc52vp70gnxzr0njun8z79r/position] +peggy_denom = factory/inj1d3zazwsqnsg29srlc52vp70gnxzr0njun8z79r/position +decimals = 0 + +[factory/inj1d42m7tzg46rm986d4khfr4khvtlp5nuynqa258/position] +peggy_denom = factory/inj1d42m7tzg46rm986d4khfr4khvtlp5nuynqa258/position +decimals = 0 + +[factory/inj1d47wsg95r9nwr564y3c8q6f3du4fvvucuhkcy7/position] +peggy_denom = factory/inj1d47wsg95r9nwr564y3c8q6f3du4fvvucuhkcy7/position +decimals = 0 + +[factory/inj1d4ajy0e7ykpem7zq3ur7e56uff9zspk8rfuvl8/position] +peggy_denom = factory/inj1d4ajy0e7ykpem7zq3ur7e56uff9zspk8rfuvl8/position +decimals = 0 + +[factory/inj1d4gfk3ychy9qcklj7azay6djhfytmalj7e0yax/bpINJ] +peggy_denom = factory/inj1d4gfk3ychy9qcklj7azay6djhfytmalj7e0yax/bpINJ +decimals = 0 + +[factory/inj1d4q5kja5dy95ss0yxkk5zlfj6zc49f40yh3wd5/position] +peggy_denom = factory/inj1d4q5kja5dy95ss0yxkk5zlfj6zc49f40yh3wd5/position +decimals = 0 + +[factory/inj1d5a4g5h3ew2e5sta9fjk42t2pp2azaw96hu8r5/position] +peggy_denom = factory/inj1d5a4g5h3ew2e5sta9fjk42t2pp2azaw96hu8r5/position +decimals = 0 + +[factory/inj1d5p93zzsgr5dwvxfus4hsp3nxz29y99r80905q/injx] +peggy_denom = factory/inj1d5p93zzsgr5dwvxfus4hsp3nxz29y99r80905q/injx +decimals = 6 + +[factory/inj1d8je3vv9k4639et8asyypgyjrffxvj4me5zzdp/position] +peggy_denom = factory/inj1d8je3vv9k4639et8asyypgyjrffxvj4me5zzdp/position +decimals = 0 + +[factory/inj1dam3n6v90ky7l6emgv4v2zgzcxrmchssryzs7c/position] +peggy_denom = factory/inj1dam3n6v90ky7l6emgv4v2zgzcxrmchssryzs7c/position +decimals = 0 + +[factory/inj1dc6rrxhfjaxexzdcrec5w3ryl4jn6x5t7t9j3z/foobar] +peggy_denom = factory/inj1dc6rrxhfjaxexzdcrec5w3ryl4jn6x5t7t9j3z/foobar +decimals = 0 + +[factory/inj1ddp0ltux6sx2j2hh7q6uvqfhesyk0lwymzas6x/WIZZ] +peggy_denom = factory/inj1ddp0ltux6sx2j2hh7q6uvqfhesyk0lwymzas6x/WIZZ +decimals = 6 + +[factory/inj1dfvy2pcrk5cc3ypljed5f39xj75fpku38c09nr/position] +peggy_denom = factory/inj1dfvy2pcrk5cc3ypljed5f39xj75fpku38c09nr/position +decimals = 0 + +[factory/inj1dlfft5qkmmyhgvsrhalg5ncrxtsek4uggtsqcm/position] +peggy_denom = factory/inj1dlfft5qkmmyhgvsrhalg5ncrxtsek4uggtsqcm/position +decimals = 0 + +[factory/inj1dmfq9frxl7p3ym4w6lu8jj73ev7l35r5fwp2mu/position] +peggy_denom = factory/inj1dmfq9frxl7p3ym4w6lu8jj73ev7l35r5fwp2mu/position +decimals = 0 + +[factory/inj1dphl5v4j93lndzpeag8274aew870c425fdren7/position] +peggy_denom = factory/inj1dphl5v4j93lndzpeag8274aew870c425fdren7/position +decimals = 0 + +[factory/inj1dskr075p0ktts987r8h3jxcjce6h73flvmm8a4/DDL] +peggy_denom = factory/inj1dskr075p0ktts987r8h3jxcjce6h73flvmm8a4/DDL +decimals = 6 + +[factory/inj1dtv4sfv6kp72tsk8y4dz6s8w3lkjga9clx99jg/position] +peggy_denom = factory/inj1dtv4sfv6kp72tsk8y4dz6s8w3lkjga9clx99jg/position +decimals = 0 + +[factory/inj1du8933kzqm6zqq7kz93c5kv28e7ffqy9lmdgr9/position] +peggy_denom = factory/inj1du8933kzqm6zqq7kz93c5kv28e7ffqy9lmdgr9/position +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683106600InjUsdt7d120C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683106600InjUsdt7d120C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683107230InjUsdt7d85P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683107230InjUsdt7d85P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683107439InjUsdt7d85P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683107439InjUsdt7d85P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683108418InjUsdt7d120C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683108418InjUsdt7d120C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683108796InjUsdt7d85P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683108796InjUsdt7d85P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683109853AtomUsdt7d110C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683109853AtomUsdt7d110C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683136047InjUsdt7d85P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683136047InjUsdt7d85P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683136243InjUsdt14d80P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683136243InjUsdt14d80P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683136518AtomUsdt7d90P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683136518AtomUsdt7d90P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683136988InjUsdt14d130C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683136988InjUsdt14d130C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683138126InjUsdt7d120C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683138126InjUsdt7d120C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683138306AtomUsdt21d90P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683138306AtomUsdt21d90P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683138463AtomUsdt21d115C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683138463AtomUsdt21d115C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683139006InjUsdt21d110C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683139006InjUsdt21d110C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683139147InjUsdt21d88P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683139147InjUsdt21d88P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683302884InjUsdt21d88P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683302884InjUsdt21d88P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683302928InjUsdt14d80P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683302928InjUsdt14d80P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683303047InjUsdt7d85P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683303047InjUsdt7d85P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683303087AtomUsdt21d90P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683303087AtomUsdt21d90P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683303122AtomUsdt21d115C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683303122AtomUsdt21d115C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683303156InjUsdt7d120C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683303156InjUsdt7d120C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683303211InjUsdt14d130C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683303211InjUsdt14d130C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683303495InjUsdt21d110C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683303495InjUsdt21d110C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683476746InjUsdt21d110C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683476746InjUsdt21d110C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683476780InjUsdt14d130C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683476780InjUsdt14d130C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683476814InjUsdt7d120C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683476814InjUsdt7d120C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683476835AtomUsdt21d115C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683476835AtomUsdt21d115C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683476858AtomUsdt21d90P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683476858AtomUsdt21d90P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683476891InjUsdt7d85P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683476891InjUsdt7d85P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683476927InjUsdt14d80P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683476927InjUsdt14d80P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683476949InjUsdt21d88P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683476949InjUsdt21d88P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683650472InjUsdt21d88P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683650472InjUsdt21d88P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683650539InjUsdt14d80P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683650539InjUsdt14d80P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683650574InjUsdt7d85P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683650574InjUsdt7d85P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683650640AtomUsdt21d90P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683650640AtomUsdt21d90P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683650659AtomUsdt21d115C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683650659AtomUsdt21d115C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683650692InjUsdt7d120C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683650692InjUsdt7d120C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683650715InjUsdt14d130C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683650715InjUsdt14d130C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683650740InjUsdt21d110C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683650740InjUsdt21d110C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683820836InjUsdt3d112C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683820836InjUsdt3d112C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683820868InjUsdt21d110C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683820868InjUsdt21d110C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683820948InjUsdt14d130C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683820948InjUsdt14d130C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683821009InjUsdt7d120C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683821009InjUsdt7d120C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683821053AtomUsdt21d115C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683821053AtomUsdt21d115C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683821079AtomUsdt21d90P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683821079AtomUsdt21d90P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683821101InjUsdt7d85P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683821101InjUsdt7d85P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683821126InjUsdt14d80P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683821126InjUsdt14d80P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683821144InjUsdt21d88P] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683821144InjUsdt21d88P +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683822139InjUsdt3d112C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683822139InjUsdt3d112C +decimals = 0 + +[factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683883060InjUsdt1d110C] +peggy_denom = factory/inj1duhn2r05wkgym5a8whumjqee9ngcls2ckcd5y0/1683883060InjUsdt1d110C +decimals = 0 + +[factory/inj1dur2nnfx0mezw0yt80pzcvzacrs5dea3xmjmk0/position] +peggy_denom = factory/inj1dur2nnfx0mezw0yt80pzcvzacrs5dea3xmjmk0/position +decimals = 0 + +[factory/inj1dygmwx7n7ume7qldcsdhplzty5v5hlqkef9jwr/position] +peggy_denom = factory/inj1dygmwx7n7ume7qldcsdhplzty5v5hlqkef9jwr/position +decimals = 0 + +[factory/inj1dyzjct7twr54hnmvlgejaxz7uppzygp7hehrnu/iUSD] +peggy_denom = factory/inj1dyzjct7twr54hnmvlgejaxz7uppzygp7hehrnu/iUSD +decimals = 18 + +[factory/inj1e2muv4qz6fcj294hl8lmca62ujwavlvz4qm3hq/position] +peggy_denom = factory/inj1e2muv4qz6fcj294hl8lmca62ujwavlvz4qm3hq/position +decimals = 0 + +[factory/inj1e3h2tku2sj0chapk0dcmawqqkpp6u5tttxquk8/position] +peggy_denom = factory/inj1e3h2tku2sj0chapk0dcmawqqkpp6u5tttxquk8/position +decimals = 0 + +[factory/inj1e53379hwfxcsaa6lmf2m08d66wm9ddc4u5sh25/position] +peggy_denom = factory/inj1e53379hwfxcsaa6lmf2m08d66wm9ddc4u5sh25/position +decimals = 0 + +[factory/inj1e7m63dmrcz6t3x73n6dtpt6swwamyk04g97qlg/injpepe] +peggy_denom = factory/inj1e7m63dmrcz6t3x73n6dtpt6swwamyk04g97qlg/injpepe +decimals = 6 + +[factory/inj1ecx85kv6yhj7x4s5yt5qaqlt5xtpvpgmmvf92u/position] +peggy_denom = factory/inj1ecx85kv6yhj7x4s5yt5qaqlt5xtpvpgmmvf92u/position +decimals = 0 + +[factory/inj1efnh0jp95r6kwsved6y0k6pj8080gxuek2jrnk/ampINJ] +peggy_denom = factory/inj1efnh0jp95r6kwsved6y0k6pj8080gxuek2jrnk/ampINJ +decimals = 0 + +[factory/inj1eg6m8y4x74f9eq4e4754g2wva3pkr6vv3dmax5/position] +peggy_denom = factory/inj1eg6m8y4x74f9eq4e4754g2wva3pkr6vv3dmax5/position +decimals = 0 + +[factory/inj1ehjperv4y4tsmuzn76zg7asxxsgy9n3h97m4nw/position] +peggy_denom = factory/inj1ehjperv4y4tsmuzn76zg7asxxsgy9n3h97m4nw/position +decimals = 0 + +[factory/inj1ejm3575vmekrr240xzlklvrzq23sg8r3enup29/test] +peggy_denom = factory/inj1ejm3575vmekrr240xzlklvrzq23sg8r3enup29/test +decimals = 0 + +[factory/inj1ejm3575vmekrr240xzlklvrzq23sg8r3enup29/test12] +peggy_denom = factory/inj1ejm3575vmekrr240xzlklvrzq23sg8r3enup29/test12 +decimals = 0 + +[factory/inj1ejm3575vmekrr240xzlklvrzq23sg8r3enup29/test1234] +peggy_denom = factory/inj1ejm3575vmekrr240xzlklvrzq23sg8r3enup29/test1234 +decimals = 0 + +[factory/inj1eksclftnrmglhxw7pvjq8wnuhdwn4ykw2nffc2/UNI] +peggy_denom = factory/inj1eksclftnrmglhxw7pvjq8wnuhdwn4ykw2nffc2/UNI +decimals = 18 + +[factory/inj1eksclftnrmglhxw7pvjq8wnuhdwn4ykw2nffc2/ninji] +peggy_denom = factory/inj1eksclftnrmglhxw7pvjq8wnuhdwn4ykw2nffc2/ninji +decimals = 0 + +[factory/inj1em24m6ujruu8pan9fkcsvf25rw46gyzks55mtl/position] +peggy_denom = factory/inj1em24m6ujruu8pan9fkcsvf25rw46gyzks55mtl/position +decimals = 0 + +[factory/inj1ers87xhm27jtgg3tru3zlfqzz882jlql38ky36/position] +peggy_denom = factory/inj1ers87xhm27jtgg3tru3zlfqzz882jlql38ky36/position +decimals = 0 + +[factory/inj1es8t7hpuuhamym96camsumq8f2p7s67ex6ekuk/position] +peggy_denom = factory/inj1es8t7hpuuhamym96camsumq8f2p7s67ex6ekuk/position +decimals = 0 + +[factory/inj1ettpy46cd5rgvghntdzkgtzfxtylx8apuqn993/position] +peggy_denom = factory/inj1ettpy46cd5rgvghntdzkgtzfxtylx8apuqn993/position +decimals = 0 + +[factory/inj1eumzsffrxg4n86n08z4udltdvjw2audeq3ml4r/position] +peggy_denom = factory/inj1eumzsffrxg4n86n08z4udltdvjw2audeq3ml4r/position +decimals = 0 + +[factory/inj1euqtqjkuer85sajsd9jssxfqh6xk0hl79x3kr9/1] +peggy_denom = factory/inj1euqtqjkuer85sajsd9jssxfqh6xk0hl79x3kr9/1 +decimals = 0 + +[factory/inj1eutzkvh4gf5vvmxusdwl2t6gprux67d4acwc0p/inj-test] +peggy_denom = factory/inj1eutzkvh4gf5vvmxusdwl2t6gprux67d4acwc0p/inj-test +decimals = 6 + +[factory/inj1euzdefun9xrhm5985wyqycz337cy72jqepsvpz/position] +peggy_denom = factory/inj1euzdefun9xrhm5985wyqycz337cy72jqepsvpz/position +decimals = 0 + +[factory/inj1ev0r4jdrp32595r4dsep5glfz8r29ltn9f6fn8/position] +peggy_denom = factory/inj1ev0r4jdrp32595r4dsep5glfz8r29ltn9f6fn8/position +decimals = 0 + +[factory/inj1expnflv5vkdjglnstsmywdaeenlr7kmw3am9cd/bINJ] +peggy_denom = factory/inj1expnflv5vkdjglnstsmywdaeenlr7kmw3am9cd/bINJ +decimals = 0 + +[factory/inj1ezgwxucda3qv6ss9sgmn5tke55n7razrka4nxf/position] +peggy_denom = factory/inj1ezgwxucda3qv6ss9sgmn5tke55n7razrka4nxf/position +decimals = 0 + +[factory/inj1eznzrkxw0ajqerwg780nae52tnv6mf6vc53c8m/position] +peggy_denom = factory/inj1eznzrkxw0ajqerwg780nae52tnv6mf6vc53c8m/position +decimals = 0 + +[factory/inj1f34r70r5mn3ecgqh6z0r425ujfjf0z0ssh97wz/position] +peggy_denom = factory/inj1f34r70r5mn3ecgqh6z0r425ujfjf0z0ssh97wz/position +decimals = 0 + +[factory/inj1f5nlcumww7lzunw9l8jkm0hu6ml77fr9rxlqyt/position] +peggy_denom = factory/inj1f5nlcumww7lzunw9l8jkm0hu6ml77fr9rxlqyt/position +decimals = 0 + +[factory/inj1f5p279aznnd8wst2rasw46gf9wmdnspx3ymml8/DUCK] +peggy_denom = factory/inj1f5p279aznnd8wst2rasw46gf9wmdnspx3ymml8/DUCK +decimals = 6 + +[factory/inj1f76ard420a76f9kjyy3pte0z0jgmz3m7fmm25l/kd] +peggy_denom = factory/inj1f76ard420a76f9kjyy3pte0z0jgmz3m7fmm25l/kd +decimals = 0 + +[factory/inj1f8qce3t94xjattfldlrt8txkdajj4wp5e77wd5/position] +peggy_denom = factory/inj1f8qce3t94xjattfldlrt8txkdajj4wp5e77wd5/position +decimals = 0 + +[factory/inj1faj8wsfpwyyn5758j2ycjhy2v0kt6n8jl65yy5/test] +peggy_denom = factory/inj1faj8wsfpwyyn5758j2ycjhy2v0kt6n8jl65yy5/test +decimals = 0 + +[factory/inj1fcjg8rsr3uzusq9uk80accx45cajqh7tfu0z09/position] +peggy_denom = factory/inj1fcjg8rsr3uzusq9uk80accx45cajqh7tfu0z09/position +decimals = 0 + +[factory/inj1fcmgj8zhutjyq3rs649nmhl7nl64vshvedq5ac/position] +peggy_denom = factory/inj1fcmgj8zhutjyq3rs649nmhl7nl64vshvedq5ac/position +decimals = 0 + +[factory/inj1fcv9exmq8kqkqlch5cxgqnrmqnsmp99m5k42q7/position] +peggy_denom = factory/inj1fcv9exmq8kqkqlch5cxgqnrmqnsmp99m5k42q7/position +decimals = 0 + +[factory/inj1ff69sl4sgupxnxj6qslnwkjv7060y6cc6slp6m/ak] +peggy_denom = factory/inj1ff69sl4sgupxnxj6qslnwkjv7060y6cc6slp6m/ak +decimals = 6 + +[factory/inj1ff69sl4sgupxnxj6qslnwkjv7060y6cc6slp6m/test] +peggy_denom = factory/inj1ff69sl4sgupxnxj6qslnwkjv7060y6cc6slp6m/test +decimals = 6 + +[factory/inj1ff8anga339wvstvskeu2t9wngl99e2ddyu37en/position] +peggy_denom = factory/inj1ff8anga339wvstvskeu2t9wngl99e2ddyu37en/position +decimals = 0 + +[factory/inj1fhtkg9tga7wdvll35cprd9wyzztp2cdl0qmv69/position] +peggy_denom = factory/inj1fhtkg9tga7wdvll35cprd9wyzztp2cdl0qmv69/position +decimals = 0 + +[factory/inj1fl8vrwlcd9m8hfwdctwcwvmztut8wuclxrsc28/position] +peggy_denom = factory/inj1fl8vrwlcd9m8hfwdctwcwvmztut8wuclxrsc28/position +decimals = 0 + +[factory/inj1flelautgvu5x2yfzprke0m9damel9pvh4uegth/holding] +peggy_denom = factory/inj1flelautgvu5x2yfzprke0m9damel9pvh4uegth/holding +decimals = 0 + +[factory/inj1flelautgvu5x2yfzprke0m9damel9pvh4uegth/holding2] +peggy_denom = factory/inj1flelautgvu5x2yfzprke0m9damel9pvh4uegth/holding2 +decimals = 0 + +[factory/inj1fnlg4mqsz7swspeakkkkzedscx3wl74psgg42a/position] +peggy_denom = factory/inj1fnlg4mqsz7swspeakkkkzedscx3wl74psgg42a/position +decimals = 0 + +[factory/inj1fpmd6x8yk9trh9xl2n65emmcp53m82tenla0gs/position] +peggy_denom = factory/inj1fpmd6x8yk9trh9xl2n65emmcp53m82tenla0gs/position +decimals = 0 + +[factory/inj1fuhdsfutrh647ls7agk9hj37qqxdkr63xc54n9/position] +peggy_denom = factory/inj1fuhdsfutrh647ls7agk9hj37qqxdkr63xc54n9/position +decimals = 0 + +[factory/inj1fvgk4zvph04nwjp4z96etek2uvejq3ehdleqz9/Magic-Test] +peggy_denom = factory/inj1fvgk4zvph04nwjp4z96etek2uvejq3ehdleqz9/Magic-Test +decimals = 6 + +[factory/inj1fvqjyqul2jlnj7xkpz4a7u0jsn8erf2fh3lzzn/position] +peggy_denom = factory/inj1fvqjyqul2jlnj7xkpz4a7u0jsn8erf2fh3lzzn/position +decimals = 0 + +[factory/inj1fvrauqfuqluvhazephwtcgjqvwxsp5x8jhxsnx/ak] +peggy_denom = factory/inj1fvrauqfuqluvhazephwtcgjqvwxsp5x8jhxsnx/ak +decimals = 0 + +[factory/inj1fw7tkwmwma9eawavzh5kthhkhu9uuhstdczgky/position] +peggy_denom = factory/inj1fw7tkwmwma9eawavzh5kthhkhu9uuhstdczgky/position +decimals = 0 + +[factory/inj1fwa63dj2c9lpjnewdsgulwxllvka96h6z93yaz/position] +peggy_denom = factory/inj1fwa63dj2c9lpjnewdsgulwxllvka96h6z93yaz/position +decimals = 0 + +[factory/inj1fzpdfqd67grg38r3yy5983uke0mzf5mzhhckux/1] +peggy_denom = factory/inj1fzpdfqd67grg38r3yy5983uke0mzf5mzhhckux/1 +decimals = 0 + +[factory/inj1g2pyrpdutgp8gynad0meweplj0hu08nnj6mwps/position] +peggy_denom = factory/inj1g2pyrpdutgp8gynad0meweplj0hu08nnj6mwps/position +decimals = 0 + +[factory/inj1g3jpwhw2xxwn9qjwjtp80r839pfm8vyc9lpvfm/position] +peggy_denom = factory/inj1g3jpwhw2xxwn9qjwjtp80r839pfm8vyc9lpvfm/position +decimals = 0 + +[factory/inj1g3tflajrul49kh2l4lr6mqzu2tvrz6agmxqt0c/position] +peggy_denom = factory/inj1g3tflajrul49kh2l4lr6mqzu2tvrz6agmxqt0c/position +decimals = 0 + +[factory/inj1g3xlmzw6z6wrhxqmxsdwj60fmscenaxlzfnwm7/AKK] +peggy_denom = factory/inj1g3xlmzw6z6wrhxqmxsdwj60fmscenaxlzfnwm7/AKK +decimals = 6 + +[factory/inj1g3xlmzw6z6wrhxqmxsdwj60fmscenaxlzfnwm7/BC] +peggy_denom = factory/inj1g3xlmzw6z6wrhxqmxsdwj60fmscenaxlzfnwm7/BC +decimals = 0 + +[factory/inj1g3xlmzw6z6wrhxqmxsdwj60fmscenaxlzfnwm7/BCT] +peggy_denom = factory/inj1g3xlmzw6z6wrhxqmxsdwj60fmscenaxlzfnwm7/BCT +decimals = 0 + +[factory/inj1g3xlmzw6z6wrhxqmxsdwj60fmscenaxlzfnwm7/Sharissa1] +peggy_denom = factory/inj1g3xlmzw6z6wrhxqmxsdwj60fmscenaxlzfnwm7/Sharissa1 +decimals = 6 + +[factory/inj1g3xlmzw6z6wrhxqmxsdwj60fmscenaxlzfnwm7/TBT] +peggy_denom = factory/inj1g3xlmzw6z6wrhxqmxsdwj60fmscenaxlzfnwm7/TBT +decimals = 0 + +[factory/inj1g5793ypr3w8pp4qd75cuupwr6l27uwh4kwxtyp/position] +peggy_denom = factory/inj1g5793ypr3w8pp4qd75cuupwr6l27uwh4kwxtyp/position +decimals = 0 + +[factory/inj1g5lyftjq6zvj2vd4vhna4850ecjdw332sp7ah9/position] +peggy_denom = factory/inj1g5lyftjq6zvj2vd4vhna4850ecjdw332sp7ah9/position +decimals = 0 + +[factory/inj1g96xktmqzm89kz0cd3xr2mzhtzgyeyamhn4uy5/position] +peggy_denom = factory/inj1g96xktmqzm89kz0cd3xr2mzhtzgyeyamhn4uy5/position +decimals = 0 + +[factory/inj1gae0ejy3nhsc7zhujagrp9r86u5wwsq00te6sa/lpinj1v5dwwcnxdglerm3r8dgjy8a3scd7lwu7ffg5kc] +peggy_denom = factory/inj1gae0ejy3nhsc7zhujagrp9r86u5wwsq00te6sa/lpinj1v5dwwcnxdglerm3r8dgjy8a3scd7lwu7ffg5kc +decimals = 0 + +[factory/inj1gaq65qpckkamqqjjk92we2atekcu7z64jgms03/position] +peggy_denom = factory/inj1gaq65qpckkamqqjjk92we2atekcu7z64jgms03/position +decimals = 0 + +[factory/inj1gaz0m54z8excyw7lrnll865rmzm9tpzq7qltdy/ak] +peggy_denom = factory/inj1gaz0m54z8excyw7lrnll865rmzm9tpzq7qltdy/ak +decimals = 6 + +[factory/inj1gcvxhqqzfhc67283pv9zlwajfszn4zjmnvrt6f/position] +peggy_denom = factory/inj1gcvxhqqzfhc67283pv9zlwajfszn4zjmnvrt6f/position +decimals = 0 + +[factory/inj1gel3l0a7j4g9ph8lrfl97gwjrfu40hp8gt8laf/position] +peggy_denom = factory/inj1gel3l0a7j4g9ph8lrfl97gwjrfu40hp8gt8laf/position +decimals = 0 + +[factory/inj1gevmkpqjxgc8s0y8e6lvcdehfqc0e68ppq32df/position] +peggy_denom = factory/inj1gevmkpqjxgc8s0y8e6lvcdehfqc0e68ppq32df/position +decimals = 0 + +[factory/inj1gg3uw8u22f3223m7yryu8k9tgvgkwfr6pj630h/position] +peggy_denom = factory/inj1gg3uw8u22f3223m7yryu8k9tgvgkwfr6pj630h/position +decimals = 0 + +[factory/inj1ghuveva04c5ev9q20w4swt362n4sh49wya0fxl/position] +peggy_denom = factory/inj1ghuveva04c5ev9q20w4swt362n4sh49wya0fxl/position +decimals = 0 + +[factory/inj1gjjpzwvlak7kmqucl92g2car56r3zxjzysxuz8/foobar] +peggy_denom = factory/inj1gjjpzwvlak7kmqucl92g2car56r3zxjzysxuz8/foobar +decimals = 0 + +[factory/inj1gl0uf9nky7l6z280sle7x086pvgfd9e5tx932x/galaxy] +peggy_denom = factory/inj1gl0uf9nky7l6z280sle7x086pvgfd9e5tx932x/galaxy +decimals = 6 + +[factory/inj1gn6xfmxf6n9lu82892lyfwh4drxmwc2hmqef7u/position] +peggy_denom = factory/inj1gn6xfmxf6n9lu82892lyfwh4drxmwc2hmqef7u/position +decimals = 0 + +[factory/inj1gnqdy89s5q360f0j7rxsukxy0x343l6x4ferlt/position] +peggy_denom = factory/inj1gnqdy89s5q360f0j7rxsukxy0x343l6x4ferlt/position +decimals = 0 + +[factory/inj1gpux5gt63wn46yyfqh8cthugl9yqfrcnefmemm/position] +peggy_denom = factory/inj1gpux5gt63wn46yyfqh8cthugl9yqfrcnefmemm/position +decimals = 0 + +[factory/inj1gpxaq5mgd4ydhyxfdgcjwn5sm9qed7skpnrlj2/bINJ] +peggy_denom = factory/inj1gpxaq5mgd4ydhyxfdgcjwn5sm9qed7skpnrlj2/bINJ +decimals = 0 + +[factory/inj1grz7n07nu48jv8m5gpxsjlac3lqq5x3yspz9ck/position] +peggy_denom = factory/inj1grz7n07nu48jv8m5gpxsjlac3lqq5x3yspz9ck/position +decimals = 0 + +[factory/inj1gsfzd0l2xxkkvsrhedt7lnhrgydkp3argcwad3/position] +peggy_denom = factory/inj1gsfzd0l2xxkkvsrhedt7lnhrgydkp3argcwad3/position +decimals = 0 + +[factory/inj1gunkve73s0h7jr9jgujjqwdxpur0rzt2dz30w9/lp] +peggy_denom = factory/inj1gunkve73s0h7jr9jgujjqwdxpur0rzt2dz30w9/lp +decimals = 0 + +[factory/inj1gvftjh39gp6akdxm6l5yrwx426hu7l0fkd3yry/ak] +peggy_denom = factory/inj1gvftjh39gp6akdxm6l5yrwx426hu7l0fkd3yry/ak +decimals = 6 + +[factory/inj1gvhyp8un5l9jpxpd90rdtj3ejd6qser2s2jxtz/test] +peggy_denom = factory/inj1gvhyp8un5l9jpxpd90rdtj3ejd6qser2s2jxtz/test +decimals = 18 + +[factory/inj1gvhyp8un5l9jpxpd90rdtj3ejd6qser2s2jxtz/test2] +peggy_denom = factory/inj1gvhyp8un5l9jpxpd90rdtj3ejd6qser2s2jxtz/test2 +decimals = 6 + +[factory/inj1gvskqyvy4y2630mn7lswylsyrvzq8xnp06mrn6/position] +peggy_denom = factory/inj1gvskqyvy4y2630mn7lswylsyrvzq8xnp06mrn6/position +decimals = 0 + +[factory/inj1gvsx78tja0wfqq9e2tddhlky4ydc2w3wx2zkrd/position] +peggy_denom = factory/inj1gvsx78tja0wfqq9e2tddhlky4ydc2w3wx2zkrd/position +decimals = 0 + +[factory/inj1gy6kakuaatzkd4hw6urjx05t73pr6mc9zngqn5/position] +peggy_denom = factory/inj1gy6kakuaatzkd4hw6urjx05t73pr6mc9zngqn5/position +decimals = 0 + +[factory/inj1hadwz2rpsccxdpyv04nmqevtrss35lenmz8dzw/position] +peggy_denom = factory/inj1hadwz2rpsccxdpyv04nmqevtrss35lenmz8dzw/position +decimals = 0 + +[factory/inj1hajw3kjyrn2xr42eu7t7ywtydlm0p6nma4m6qh/test] +peggy_denom = factory/inj1hajw3kjyrn2xr42eu7t7ywtydlm0p6nma4m6qh/test +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj10f4x5azxg58tfykzntcj4edazh3g3fnslut9vc] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj10f4x5azxg58tfykzntcj4edazh3g3fnslut9vc +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj15466xjsqhh0l60kwx44h5hnzm5dy069mhpgcvk] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj15466xjsqhh0l60kwx44h5hnzm5dy069mhpgcvk +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj15dph6ndevrvvzec8wzdv9ahegndfcqs6922kkf] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj15dph6ndevrvvzec8wzdv9ahegndfcqs6922kkf +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj16e0ahu2q8u3teqk3z8ngr2nufslvsl5ru5ydt0] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj16e0ahu2q8u3teqk3z8ngr2nufslvsl5ru5ydt0 +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj18lh2du7f0mayz7cmyjm487eudc48m3d24jltpc] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj18lh2du7f0mayz7cmyjm487eudc48m3d24jltpc +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj192ta9slx6l7ftreft5mds90pmpavmsu9n6vhr6] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj192ta9slx6l7ftreft5mds90pmpavmsu9n6vhr6 +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1avns4wyef63l4scsxj2e6cf56fnt3m2lv9tgnk] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1avns4wyef63l4scsxj2e6cf56fnt3m2lv9tgnk +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1f5sksszg9uphrapwthjrrcpdmyr5r4guk5fq5x] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1f5sksszg9uphrapwthjrrcpdmyr5r4guk5fq5x +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1hhpqhlpch0h5xhufhlvl6xs95ccx2l8l4nk4un] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1hhpqhlpch0h5xhufhlvl6xs95ccx2l8l4nk4un +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1j58xf5f09u98jxvqyqsjhacdepepwxy67sg5dh] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1j58xf5f09u98jxvqyqsjhacdepepwxy67sg5dh +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1jrpf2rzsr9hfn7uaqgqjae6lx8vhfk00tjvvzw] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1jrpf2rzsr9hfn7uaqgqjae6lx8vhfk00tjvvzw +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1kfxppjerh6u36le9378zpu6da688v59y8qdjk2] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1kfxppjerh6u36le9378zpu6da688v59y8qdjk2 +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1lhfrehpyfgf5sx80z2qx7y4f6xqdwrf4y09znz] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1lhfrehpyfgf5sx80z2qx7y4f6xqdwrf4y09znz +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1lu4uvsxf2dar0xsuvxargvtr9370jzwek43vn7] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1lu4uvsxf2dar0xsuvxargvtr9370jzwek43vn7 +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1m70qfh8wte92l55lrddn2gzsscc97ve79ccdtc] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1m70qfh8wte92l55lrddn2gzsscc97ve79ccdtc +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1me0ydc5m8ggwuaerwt67tg4zh8yc6zgn39kz6k] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1me0ydc5m8ggwuaerwt67tg4zh8yc6zgn39kz6k +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1mvlsa3azvj05xe68szp3jrzeg8p5lakeh40rkj] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1mvlsa3azvj05xe68szp3jrzeg8p5lakeh40rkj +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1n9hcmejg2mfkkyyzze82nk9fdls5g32ykga47l] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1n9hcmejg2mfkkyyzze82nk9fdls5g32ykga47l +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1nkdq6elhmu0cv3ucy5zql7uakr05g94jx3nv0p] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1nkdq6elhmu0cv3ucy5zql7uakr05g94jx3nv0p +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1npj6nv6kxcyqjtjn8sguqsyc60ghr3j48pjj7x] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1npj6nv6kxcyqjtjn8sguqsyc60ghr3j48pjj7x +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1p9qrra4k3pt6ts3larlguucpw0urlc8jyq2ddg] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1p9qrra4k3pt6ts3larlguucpw0urlc8jyq2ddg +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1pmv03tjwu798ry6dyss4a2qn5dnmh7m7t9ljqe] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1pmv03tjwu798ry6dyss4a2qn5dnmh7m7t9ljqe +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1qdnxd73mfvj6uu6h08yk8h7zwvzpqx35ycnupf] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1qdnxd73mfvj6uu6h08yk8h7zwvzpqx35ycnupf +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1s5y4wz7yyzkp4pthylm84uyswnsfmqyayx22w3] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1s5y4wz7yyzkp4pthylm84uyswnsfmqyayx22w3 +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1tzvk3zjxd7jjcnugz6jhufaqsn8c5llhjj3x67] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1tzvk3zjxd7jjcnugz6jhufaqsn8c5llhjj3x67 +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1u5zugw73cvcj43efq5j3ns4y7tqvq52u4nvqu9] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1u5zugw73cvcj43efq5j3ns4y7tqvq52u4nvqu9 +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1ufmjm7stkuhlzma23ypzgvlvtgqjweatkztq0c] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1ufmjm7stkuhlzma23ypzgvlvtgqjweatkztq0c +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1uqnsq33sjwhyhsc7wjh2d2tc40lu0tfrktes5v] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1uqnsq33sjwhyhsc7wjh2d2tc40lu0tfrktes5v +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1wrtwcee23p0k9z5tveerx8tyesvjs4k8vlf4en] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1wrtwcee23p0k9z5tveerx8tyesvjs4k8vlf4en +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1yhz4e7df95908jhs9erl87vdzjkdsc24q7afjf] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1yhz4e7df95908jhs9erl87vdzjkdsc24q7afjf +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1z0whhrxkg38lcrj7lv2eetsfhwztpfntfkc636] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1z0whhrxkg38lcrj7lv2eetsfhwztpfntfkc636 +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1zav98x9dlswwttdjmz7qg9fqhdvauc8smfqhvs] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1zav98x9dlswwttdjmz7qg9fqhdvauc8smfqhvs +decimals = 0 + +[factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1zflmjmg0qt02s0l0vlcg8zlyplsapefzy6ej3t] +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1zflmjmg0qt02s0l0vlcg8zlyplsapefzy6ej3t +decimals = 0 + +[factory/inj1he7245j7my7f6470a94g0drsw86xajwzhr4ah9/position] +peggy_denom = factory/inj1he7245j7my7f6470a94g0drsw86xajwzhr4ah9/position +decimals = 0 + +[factory/inj1heah64yarps3u85jyml4ter53h4lyrag4shfzp/inj12ngevx045zpvacus9s6anr258gkwpmthnz80e9] +peggy_denom = factory/inj1heah64yarps3u85jyml4ter53h4lyrag4shfzp/inj12ngevx045zpvacus9s6anr258gkwpmthnz80e9 +decimals = 0 + +[factory/inj1heah64yarps3u85jyml4ter53h4lyrag4shfzp/inj17wnnyqxj57y3crf5nn72krhx7w35zect2srfe2] +peggy_denom = factory/inj1heah64yarps3u85jyml4ter53h4lyrag4shfzp/inj17wnnyqxj57y3crf5nn72krhx7w35zect2srfe2 +decimals = 0 + +[factory/inj1heah64yarps3u85jyml4ter53h4lyrag4shfzp/inj19axs93f4hk8cansmhj372m96v2zhdmdqdd5fnm] +peggy_denom = factory/inj1heah64yarps3u85jyml4ter53h4lyrag4shfzp/inj19axs93f4hk8cansmhj372m96v2zhdmdqdd5fnm +decimals = 0 + +[factory/inj1heah64yarps3u85jyml4ter53h4lyrag4shfzp/inj1wme3afmfl94l83jzekcm3j0h544ussu0x68wnl] +peggy_denom = factory/inj1heah64yarps3u85jyml4ter53h4lyrag4shfzp/inj1wme3afmfl94l83jzekcm3j0h544ussu0x68wnl +decimals = 0 + +[factory/inj1heah64yarps3u85jyml4ter53h4lyrag4shfzp/inj1z0whhrxkg38lcrj7lv2eetsfhwztpfntfkc636] +peggy_denom = factory/inj1heah64yarps3u85jyml4ter53h4lyrag4shfzp/inj1z0whhrxkg38lcrj7lv2eetsfhwztpfntfkc636 +decimals = 0 + +[factory/inj1hh4ngvv0l7tlt5gcpwwauzuthrmzwyutxkxq0x/position] +peggy_denom = factory/inj1hh4ngvv0l7tlt5gcpwwauzuthrmzwyutxkxq0x/position +decimals = 0 + +[factory/inj1hhezfw883am7xk86jkxauf92kg8wm9xsv5hymd/position] +peggy_denom = factory/inj1hhezfw883am7xk86jkxauf92kg8wm9xsv5hymd/position +decimals = 0 + +[factory/inj1hj4nr0jt0mzpawxt5tyajqgwf3pct5552rvkvp/TEST2] +peggy_denom = factory/inj1hj4nr0jt0mzpawxt5tyajqgwf3pct5552rvkvp/TEST2 +decimals = 6 + +[factory/inj1hj4nr0jt0mzpawxt5tyajqgwf3pct5552rvkvp/test1] +peggy_denom = factory/inj1hj4nr0jt0mzpawxt5tyajqgwf3pct5552rvkvp/test1 +decimals = 0 + +[factory/inj1hjujvtzpwqfm76tkmg6qr2vlsp2drzph6n3n4n/position] +peggy_denom = factory/inj1hjujvtzpwqfm76tkmg6qr2vlsp2drzph6n3n4n/position +decimals = 0 + +[factory/inj1hk8w93z3rw6aznyvnc537qn9aht6gxlxn80j0h/position] +peggy_denom = factory/inj1hk8w93z3rw6aznyvnc537qn9aht6gxlxn80j0h/position +decimals = 0 + +[factory/inj1hlgmzgxzxzyjxu6394328vf0fmwd74pcc6cztc/position] +peggy_denom = factory/inj1hlgmzgxzxzyjxu6394328vf0fmwd74pcc6cztc/position +decimals = 0 + +[factory/inj1hljrl5cx0gcd8gdxmqm4tsuqkxchysdakyfhan/position] +peggy_denom = factory/inj1hljrl5cx0gcd8gdxmqm4tsuqkxchysdakyfhan/position +decimals = 0 + +[factory/inj1hm9qgpe4ksgat77xjstkhhcns0xex770t4crr3/bpINJ] +peggy_denom = factory/inj1hm9qgpe4ksgat77xjstkhhcns0xex770t4crr3/bpINJ +decimals = 0 + +[factory/inj1hms4dradmmdjlgrnh4dywg897g3hpcc5n7hxgk/position] +peggy_denom = factory/inj1hms4dradmmdjlgrnh4dywg897g3hpcc5n7hxgk/position +decimals = 0 + +[factory/inj1hnnwzsudnmtshgky0xfts8zm637skect2prc2l/position] +peggy_denom = factory/inj1hnnwzsudnmtshgky0xfts8zm637skect2prc2l/position +decimals = 0 + +[factory/inj1hr0hpnh95jdf2w8rax063mrqxcgesq4jeazg34/position] +peggy_denom = factory/inj1hr0hpnh95jdf2w8rax063mrqxcgesq4jeazg34/position +decimals = 0 + +[factory/inj1hr2aj9frer4n50j64ew6j4n434du4etv65t25h/position] +peggy_denom = factory/inj1hr2aj9frer4n50j64ew6j4n434du4etv65t25h/position +decimals = 0 + +[factory/inj1hs6te9qe40mzr4qayc9hhngv4tzn07a3cujshr/position] +peggy_denom = factory/inj1hs6te9qe40mzr4qayc9hhngv4tzn07a3cujshr/position +decimals = 0 + +[factory/inj1ht67n9wwrf8pkd2dupwsjqfe2wzaelaz2dsqj7/position] +peggy_denom = factory/inj1ht67n9wwrf8pkd2dupwsjqfe2wzaelaz2dsqj7/position +decimals = 0 + +[factory/inj1ht6d6axu5u4g24zephnc48ee585e2vge8czkzn/ak] +peggy_denom = factory/inj1ht6d6axu5u4g24zephnc48ee585e2vge8czkzn/ak +decimals = 6 + +[factory/inj1ht6d6axu5u4g24zephnc48ee585e2vge8czkzn/inj-test] +peggy_denom = factory/inj1ht6d6axu5u4g24zephnc48ee585e2vge8czkzn/inj-test +decimals = 0 + +[factory/inj1hu80gaauahnfnd0pwfa97xzge7td6e4atu29jw/position] +peggy_denom = factory/inj1hu80gaauahnfnd0pwfa97xzge7td6e4atu29jw/position +decimals = 0 + +[factory/inj1hwaycepzld9rvsqzkeyjtflumzlu37n4xj8f3a/position] +peggy_denom = factory/inj1hwaycepzld9rvsqzkeyjtflumzlu37n4xj8f3a/position +decimals = 0 + +[factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706193599InjUsdt2d110C] +peggy_denom = factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706193599InjUsdt2d110C +decimals = 0 + +[factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706193683AtomUsdt2d90P] +peggy_denom = factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706193683AtomUsdt2d90P +decimals = 0 + +[factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706273714AtomUsdt2d90P] +peggy_denom = factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706273714AtomUsdt2d90P +decimals = 0 + +[factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706273714InjUsdt2d110C] +peggy_denom = factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706273714InjUsdt2d110C +decimals = 0 + +[factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706360115AtomUsdt2d90P] +peggy_denom = factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706360115AtomUsdt2d90P +decimals = 0 + +[factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706360115InjUsdt2d110C] +peggy_denom = factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706360115InjUsdt2d110C +decimals = 0 + +[factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706446512AtomUsdt2d90P] +peggy_denom = factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706446512AtomUsdt2d90P +decimals = 0 + +[factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706446512InjUsdt2d110C] +peggy_denom = factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706446512InjUsdt2d110C +decimals = 0 + +[factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706532910AtomUsdt2d90P] +peggy_denom = factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706532910AtomUsdt2d90P +decimals = 0 + +[factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706532910InjUsdt2d110C] +peggy_denom = factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706532910InjUsdt2d110C +decimals = 0 + +[factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706619311AtomUsdt2d90P] +peggy_denom = factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706619311AtomUsdt2d90P +decimals = 0 + +[factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706619311InjUsdt2d110C] +peggy_denom = factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706619311InjUsdt2d110C +decimals = 0 + +[factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706705707AtomUsdt2d90P] +peggy_denom = factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706705707AtomUsdt2d90P +decimals = 0 + +[factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706705707InjUsdt2d110C] +peggy_denom = factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706705707InjUsdt2d110C +decimals = 0 + +[factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706792103AtomUsdt2d90P] +peggy_denom = factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706792103AtomUsdt2d90P +decimals = 0 + +[factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706792103InjUsdt2d110C] +peggy_denom = factory/inj1hyf3u76xpr5fna80yutgklxhyrl70f76gdzfqv/1706792103InjUsdt2d110C +decimals = 0 + +[factory/inj1hzuhzk3ng8x09ev6at6z4smdg00slcff6g77k7/1] +peggy_denom = factory/inj1hzuhzk3ng8x09ev6at6z4smdg00slcff6g77k7/1 +decimals = 0 + +[factory/inj1hzuhzk3ng8x09ev6at6z4smdg00slcff6g77k7/2] +peggy_denom = factory/inj1hzuhzk3ng8x09ev6at6z4smdg00slcff6g77k7/2 +decimals = 0 + +[factory/inj1j07z60sprgkzqtqtq2lxtnpdxly25xj44h22nr/test] +peggy_denom = factory/inj1j07z60sprgkzqtqtq2lxtnpdxly25xj44h22nr/test +decimals = 0 + +[factory/inj1j3593zd3nx9gygnfxkqw5e7gr6wgl403yh3ydl/position] +peggy_denom = factory/inj1j3593zd3nx9gygnfxkqw5e7gr6wgl403yh3ydl/position +decimals = 0 + +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TEST] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TEST +decimals = 6 + +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TST] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TST +decimals = 6 + +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TSTTT] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TSTTT +decimals = 6 + +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/testigg] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/testigg +decimals = 6 + +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/testiggg] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/testiggg +decimals = 6 + +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/testingggg] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/testingggg +decimals = 6 + +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/testingggggg] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/testingggggg +decimals = 6 + +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/testinggggggg] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/testinggggggg +decimals = 6 + +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/tstigg] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/tstigg +decimals = 6 + +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/tstttttttt] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/tstttttttt +decimals = 6 + +[factory/inj1j5uwfmqj9wcm8tu4ltva673wv03f884cpvurq8/position] +peggy_denom = factory/inj1j5uwfmqj9wcm8tu4ltva673wv03f884cpvurq8/position +decimals = 0 + +[factory/inj1j64299hq4a8yfd5qmpxkwu24t3as2xs9q78md0/position] +peggy_denom = factory/inj1j64299hq4a8yfd5qmpxkwu24t3as2xs9q78md0/position +decimals = 0 + +[factory/inj1j7ehe6pdmp92zs2gqz67tp4ukv9p323yk7qacy/RAMENV2] +peggy_denom = factory/inj1j7ehe6pdmp92zs2gqz67tp4ukv9p323yk7qacy/RAMENV2 +decimals = 6 + +[factory/inj1j9k4l9fep89pgaqecc5h9hpghjsa4ffwg8mjcr/position] +peggy_denom = factory/inj1j9k4l9fep89pgaqecc5h9hpghjsa4ffwg8mjcr/position +decimals = 0 + +[factory/inj1jc7jj2wx6mlgy2umkw03duflgvf5h77cc0cqjr/ak] +peggy_denom = factory/inj1jc7jj2wx6mlgy2umkw03duflgvf5h77cc0cqjr/ak +decimals = 6 + +[factory/inj1jcgs0vmqg5jyuz2y53w06prtwdhq0q3gyecfrl/position] +peggy_denom = factory/inj1jcgs0vmqg5jyuz2y53w06prtwdhq0q3gyecfrl/position +decimals = 0 + +[factory/inj1jd6tjedh3a8fcervaec5ftn463504k0d6d0ftg/position] +peggy_denom = factory/inj1jd6tjedh3a8fcervaec5ftn463504k0d6d0ftg/position +decimals = 0 + +[factory/inj1jfuyujpvvkxq4566r3z3tv3jdy29pqra5ln0yk/ak] +peggy_denom = factory/inj1jfuyujpvvkxq4566r3z3tv3jdy29pqra5ln0yk/ak +decimals = 6 + +[factory/inj1jfuyujpvvkxq4566r3z3tv3jdy29pqra5ln0yk/kirat] +peggy_denom = factory/inj1jfuyujpvvkxq4566r3z3tv3jdy29pqra5ln0yk/kirat +decimals = 0 + +[factory/inj1jjlw9gfgn4kq2cpw2dlcz77z9dxuypg7dpfl2g/position] +peggy_denom = factory/inj1jjlw9gfgn4kq2cpw2dlcz77z9dxuypg7dpfl2g/position +decimals = 0 + +[factory/inj1jnu67egy9gex77d2fafz36nse6sg4sml7r3vv7/position] +peggy_denom = factory/inj1jnu67egy9gex77d2fafz36nse6sg4sml7r3vv7/position +decimals = 0 + +[factory/inj1jq267957yt6h7987szcrf5e8asfrzu86ayr568/1684001277InjUsdt1d110C] +peggy_denom = factory/inj1jq267957yt6h7987szcrf5e8asfrzu86ayr568/1684001277InjUsdt1d110C +decimals = 0 + +[factory/inj1jqccfrzpfhx9pvtxtrz0ufh6vl72uft7v5r360/position] +peggy_denom = factory/inj1jqccfrzpfhx9pvtxtrz0ufh6vl72uft7v5r360/position +decimals = 0 + +[factory/inj1jrjsn947qrmlujlpjahmg67qv9dcxkvyx6rl97/position] +peggy_denom = factory/inj1jrjsn947qrmlujlpjahmg67qv9dcxkvyx6rl97/position +decimals = 0 + +[factory/inj1js6xyr58llrsme8zwydk2u6jty95q0d3aqhrq6/test] +peggy_denom = factory/inj1js6xyr58llrsme8zwydk2u6jty95q0d3aqhrq6/test +decimals = 0 + +[factory/inj1jtkk33paqrupr39tchhdavw2vmk5m09ymfq8xx/position] +peggy_denom = factory/inj1jtkk33paqrupr39tchhdavw2vmk5m09ymfq8xx/position +decimals = 0 + +[factory/inj1jx8akujhkqe88fm7juf9qr3r5m74z5lcyffzlf/position] +peggy_denom = factory/inj1jx8akujhkqe88fm7juf9qr3r5m74z5lcyffzlf/position +decimals = 0 + +[factory/inj1jxcx0qljtdzps58an4r66zn8hg5hv4z2694y2v/position] +peggy_denom = factory/inj1jxcx0qljtdzps58an4r66zn8hg5hv4z2694y2v/position +decimals = 0 + +[factory/inj1jy0zw3cpctqrhcg7qc0yglnljcsk89sr046rnj/position] +peggy_denom = factory/inj1jy0zw3cpctqrhcg7qc0yglnljcsk89sr046rnj/position +decimals = 0 + +[factory/inj1jykz2vaea5382hd7r76wvjv56v69h4agr52v2e/position] +peggy_denom = factory/inj1jykz2vaea5382hd7r76wvjv56v69h4agr52v2e/position +decimals = 0 + +[factory/inj1k2z5rumpc53854hzq5chxyayrqcrqm9uwad308/position] +peggy_denom = factory/inj1k2z5rumpc53854hzq5chxyayrqcrqm9uwad308/position +decimals = 0 + +[factory/inj1k3pnnh5fyjuc6tmmupyp2042cryk59l7nx2pu3/lpinj17dw5ek2829evlwcepftlvv9r53rqmc72akrsdz] +peggy_denom = factory/inj1k3pnnh5fyjuc6tmmupyp2042cryk59l7nx2pu3/lpinj17dw5ek2829evlwcepftlvv9r53rqmc72akrsdz +decimals = 0 + +[factory/inj1k4ytv0a9xhrxedsjsn9e92v4333a5n33u8zpwj/position] +peggy_denom = factory/inj1k4ytv0a9xhrxedsjsn9e92v4333a5n33u8zpwj/position +decimals = 0 + +[factory/inj1k7mc760g739rmxv8yhvya5mtpvymrs3vf98s4m/position] +peggy_denom = factory/inj1k7mc760g739rmxv8yhvya5mtpvymrs3vf98s4m/position +decimals = 0 + +[factory/inj1kagzsefacxy5p765q8upkjj9fwkjczlhe580ar/position] +peggy_denom = factory/inj1kagzsefacxy5p765q8upkjj9fwkjczlhe580ar/position +decimals = 0 + +[factory/inj1kchw3uh70ujhmvrkx7phjayaswnpf7sde67uzw/position] +peggy_denom = factory/inj1kchw3uh70ujhmvrkx7phjayaswnpf7sde67uzw/position +decimals = 0 + +[factory/inj1kdksyv2jv3nnmenqfvxxe38q4drwn8e7wj5pcx/position] +peggy_denom = factory/inj1kdksyv2jv3nnmenqfvxxe38q4drwn8e7wj5pcx/position +decimals = 0 + +[factory/inj1kezz4smdtr3t0v49d5qyt3ksd2emc594p7ftsx/inj-test] +peggy_denom = factory/inj1kezz4smdtr3t0v49d5qyt3ksd2emc594p7ftsx/inj-test +decimals = 0 + +[factory/inj1kg5qz6vfxxz7l6d8qh5spgjdjuwusarcmf447y/position] +peggy_denom = factory/inj1kg5qz6vfxxz7l6d8qh5spgjdjuwusarcmf447y/position +decimals = 0 + +[factory/inj1kgx9rqg7dtl27lqqxyw6q0vvuljulj8gn99tme/cook] +peggy_denom = factory/inj1kgx9rqg7dtl27lqqxyw6q0vvuljulj8gn99tme/cook +decimals = 6 + +[factory/inj1kgx9rqg7dtl27lqqxyw6q0vvuljulj8gn99tme/cookie] +peggy_denom = factory/inj1kgx9rqg7dtl27lqqxyw6q0vvuljulj8gn99tme/cookie +decimals = 6 + +[factory/inj1kgzm28dyl9sh9atz5ms9wmv0tmp72dg3s4eezz/position] +peggy_denom = factory/inj1kgzm28dyl9sh9atz5ms9wmv0tmp72dg3s4eezz/position +decimals = 0 + +[factory/inj1kjcc00fu0ven6khmdrx8kmzsa3w03mxrzlvp66/position] +peggy_denom = factory/inj1kjcc00fu0ven6khmdrx8kmzsa3w03mxrzlvp66/position +decimals = 0 + +[factory/inj1kp5yr4xragvff8el0unhgr4d5cx6322g7s04lt/inj-go1] +peggy_denom = factory/inj1kp5yr4xragvff8el0unhgr4d5cx6322g7s04lt/inj-go1 +decimals = 18 + +[factory/inj1kp5yr4xragvff8el0unhgr4d5cx6322g7s04lt/inj-main] +peggy_denom = factory/inj1kp5yr4xragvff8el0unhgr4d5cx6322g7s04lt/inj-main +decimals = 18 + +[factory/inj1kp5yr4xragvff8el0unhgr4d5cx6322g7s04lt/inj-test] +peggy_denom = factory/inj1kp5yr4xragvff8el0unhgr4d5cx6322g7s04lt/inj-test +decimals = 0 + +[factory/inj1kp5z0kxyrnwzt3mgwl0klanx8yty6lnne25stk/position] +peggy_denom = factory/inj1kp5z0kxyrnwzt3mgwl0klanx8yty6lnne25stk/position +decimals = 0 + +[factory/inj1kql9xt6essgccf594ypqdu690wnjkdksp75d7r/position] +peggy_denom = factory/inj1kql9xt6essgccf594ypqdu690wnjkdksp75d7r/position +decimals = 0 + +[factory/inj1ks3hnkur9udnjuhf5ra806alm4tz3dmy03qkly/inj-go1] +peggy_denom = factory/inj1ks3hnkur9udnjuhf5ra806alm4tz3dmy03qkly/inj-go1 +decimals = 18 + +[factory/inj1ks3hnkur9udnjuhf5ra806alm4tz3dmy03qkly/inj-main] +peggy_denom = factory/inj1ks3hnkur9udnjuhf5ra806alm4tz3dmy03qkly/inj-main +decimals = 0 + +[factory/inj1kscpq7lqluusxhmzv0z2eluaj9yf2njayudlcs/TAB] +peggy_denom = factory/inj1kscpq7lqluusxhmzv0z2eluaj9yf2njayudlcs/TAB +decimals = 6 + +[factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/inj-test] +peggy_denom = factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/inj-test +decimals = 0 + +[factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/shurikena] +peggy_denom = factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/shurikena +decimals = 6 + +[factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/shurikeng] +peggy_denom = factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/shurikeng +decimals = 6 + +[factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/shurikenk] +peggy_denom = factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/shurikenk +decimals = 6 + +[factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/shurikenl] +peggy_denom = factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/shurikenl +decimals = 0 + +[factory/inj1ku42wlmwuznlzeywnsvjkr5mf00hg4u72qau7y/position] +peggy_denom = factory/inj1ku42wlmwuznlzeywnsvjkr5mf00hg4u72qau7y/position +decimals = 0 + +[factory/inj1ku7eqpwpgjgt9ch07gqhvxev5pn2p2upzf72rm/AKK] +peggy_denom = factory/inj1ku7eqpwpgjgt9ch07gqhvxev5pn2p2upzf72rm/AKK +decimals = 0 + +[factory/inj1ku7eqpwpgjgt9ch07gqhvxev5pn2p2upzf72rm/FAMILY] +peggy_denom = factory/inj1ku7eqpwpgjgt9ch07gqhvxev5pn2p2upzf72rm/FAMILY +decimals = 6 + +[factory/inj1ku7eqpwpgjgt9ch07gqhvxev5pn2p2upzf72rm/ak] +peggy_denom = factory/inj1ku7eqpwpgjgt9ch07gqhvxev5pn2p2upzf72rm/ak +decimals = 0 + +[factory/inj1ku7eqpwpgjgt9ch07gqhvxev5pn2p2upzf72rm/hdro] +peggy_denom = factory/inj1ku7eqpwpgjgt9ch07gqhvxev5pn2p2upzf72rm/hdro +decimals = 6 + +[factory/inj1ku7eqpwpgjgt9ch07gqhvxev5pn2p2upzf72rm/sl] +peggy_denom = factory/inj1ku7eqpwpgjgt9ch07gqhvxev5pn2p2upzf72rm/sl +decimals = 0 + +[factory/inj1kvsuv80cz74znps8jpm7td9gxnd6zyjhs379rd/position] +peggy_denom = factory/inj1kvsuv80cz74znps8jpm7td9gxnd6zyjhs379rd/position +decimals = 0 + +[factory/inj1kw7hdjnneatd2mgc9snqhehhm8wkvmym9c3a37/position] +peggy_denom = factory/inj1kw7hdjnneatd2mgc9snqhehhm8wkvmym9c3a37/position +decimals = 0 + +[factory/inj1kygt3qa7rjux7wjmp3r2p29aq8zerz8zjcml8l/position] +peggy_denom = factory/inj1kygt3qa7rjux7wjmp3r2p29aq8zerz8zjcml8l/position +decimals = 0 + +[factory/inj1kzfya35nclmpzj95m3yhc0zht93k0xvdn2zgtj/position] +peggy_denom = factory/inj1kzfya35nclmpzj95m3yhc0zht93k0xvdn2zgtj/position +decimals = 0 + +[factory/inj1l08w00ngs4twqa7mhaavnjgs8sdym7l0pv57mn/position] +peggy_denom = factory/inj1l08w00ngs4twqa7mhaavnjgs8sdym7l0pv57mn/position +decimals = 0 + +[factory/inj1l3urpgrzr6eh2alcfvyyxpazjzfdltz4h97u3m/lp] +peggy_denom = factory/inj1l3urpgrzr6eh2alcfvyyxpazjzfdltz4h97u3m/lp +decimals = 0 + +[factory/inj1l5u0qphqa02dl257e2h6te07szdlnsjfuggf7d/position] +peggy_denom = factory/inj1l5u0qphqa02dl257e2h6te07szdlnsjfuggf7d/position +decimals = 0 + +[factory/inj1l67cg8jf97gxsxrf8cfz5khmutwh392c7hdlyp/position] +peggy_denom = factory/inj1l67cg8jf97gxsxrf8cfz5khmutwh392c7hdlyp/position +decimals = 0 + +[factory/inj1l7frwkpwkpx5ulleqz9tuj754m9z02rfdsmsqp/uLP] +peggy_denom = factory/inj1l7frwkpwkpx5ulleqz9tuj754m9z02rfdsmsqp/uLP +decimals = 0 + +[factory/inj1l8r30dpqq98l97wwwdxkkwdnpzu02aj0r6mnrw/banana] +peggy_denom = factory/inj1l8r30dpqq98l97wwwdxkkwdnpzu02aj0r6mnrw/banana +decimals = 0 + +[factory/inj1l92lfj2wudxpawj7rkta6kqvxr7twg7kah9zq9/position] +peggy_denom = factory/inj1l92lfj2wudxpawj7rkta6kqvxr7twg7kah9zq9/position +decimals = 0 + +[factory/inj1l96mcs69en0u4y423m4k5z8k6u48e25wnd4zpu/position] +peggy_denom = factory/inj1l96mcs69en0u4y423m4k5z8k6u48e25wnd4zpu/position +decimals = 0 + +[factory/inj1la5tx5xccss5ku6j8rk7erwukzl40q29mk97am/position] +peggy_denom = factory/inj1la5tx5xccss5ku6j8rk7erwukzl40q29mk97am/position +decimals = 0 + +[factory/inj1lg4ycnwe3xt9x9wsc2tfe0v9lm9kdxkyj760nw/position] +peggy_denom = factory/inj1lg4ycnwe3xt9x9wsc2tfe0v9lm9kdxkyj760nw/position +decimals = 0 + +[factory/inj1lg9sysgklc6tt85ax54k7fd28lx26prg5guunl/position] +peggy_denom = factory/inj1lg9sysgklc6tt85ax54k7fd28lx26prg5guunl/position +decimals = 0 + +[factory/inj1lgcxyyvmnhtp42apwgvhhvlqvezwlqly998eex/nUSD] +peggy_denom = factory/inj1lgcxyyvmnhtp42apwgvhhvlqvezwlqly998eex/nUSD +decimals = 18 + +[factory/inj1ljsmrpm3hlth5zk347lqr23rdzm2ktd4aathkl/position] +peggy_denom = factory/inj1ljsmrpm3hlth5zk347lqr23rdzm2ktd4aathkl/position +decimals = 0 + +[factory/inj1lm6prvcxdq5e32f0eeq3nuvq6g9zk0k6787sas/lp] +peggy_denom = factory/inj1lm6prvcxdq5e32f0eeq3nuvq6g9zk0k6787sas/lp +decimals = 0 + +[factory/inj1lq9wn94d49tt7gc834cxkm0j5kwlwu4gm65lhe/TEST] +peggy_denom = factory/inj1lq9wn94d49tt7gc834cxkm0j5kwlwu4gm65lhe/TEST +decimals = 6 + +[factory/inj1lq9wn94d49tt7gc834cxkm0j5kwlwu4gm65lhe/shroom] +peggy_denom = factory/inj1lq9wn94d49tt7gc834cxkm0j5kwlwu4gm65lhe/shroom +decimals = 0 + +[factory/inj1lq9wn94d49tt7gc834cxkm0j5kwlwu4gm65lhe/t1] +peggy_denom = factory/inj1lq9wn94d49tt7gc834cxkm0j5kwlwu4gm65lhe/t1 +decimals = 0 + +[factory/inj1lqt0nl9xuvprp2l2x0x6htln8cu7zrc39q0td4/position] +peggy_denom = factory/inj1lqt0nl9xuvprp2l2x0x6htln8cu7zrc39q0td4/position +decimals = 0 + +[factory/inj1lr2vhedf3a285rx5ms84w576g3hkktn7d8dx70/position] +peggy_denom = factory/inj1lr2vhedf3a285rx5ms84w576g3hkktn7d8dx70/position +decimals = 0 + +[factory/inj1lskj3yp5gdzyq5w8vqh82d9lhcu5xaq85tuewa/position] +peggy_denom = factory/inj1lskj3yp5gdzyq5w8vqh82d9lhcu5xaq85tuewa/position +decimals = 0 + +[factory/inj1lssnhhl6npy0v2wd6jm5575u06nu8a68ged88m/position] +peggy_denom = factory/inj1lssnhhl6npy0v2wd6jm5575u06nu8a68ged88m/position +decimals = 0 + +[factory/inj1ludhv2cz6xs53sayfhf7ykypq99akrxha3esw6/position] +peggy_denom = factory/inj1ludhv2cz6xs53sayfhf7ykypq99akrxha3esw6/position +decimals = 0 + +[factory/inj1luxu6s0qywql92pnh3xnfdqzn6gkt7rrnetfc0/1703682000InjUsdt1d85P] +peggy_denom = factory/inj1luxu6s0qywql92pnh3xnfdqzn6gkt7rrnetfc0/1703682000InjUsdt1d85P +decimals = 0 + +[factory/inj1luxu6s0qywql92pnh3xnfdqzn6gkt7rrnetfc0/1705510171InjUsdt1d105C] +peggy_denom = factory/inj1luxu6s0qywql92pnh3xnfdqzn6gkt7rrnetfc0/1705510171InjUsdt1d105C +decimals = 0 + +[factory/inj1luxu6s0qywql92pnh3xnfdqzn6gkt7rrnetfc0/1705555894InjUsdt1d105C] +peggy_denom = factory/inj1luxu6s0qywql92pnh3xnfdqzn6gkt7rrnetfc0/1705555894InjUsdt1d105C +decimals = 0 + +[factory/inj1luxu6s0qywql92pnh3xnfdqzn6gkt7rrnetfc0/1705569976InjUsdt1d85P] +peggy_denom = factory/inj1luxu6s0qywql92pnh3xnfdqzn6gkt7rrnetfc0/1705569976InjUsdt1d85P +decimals = 0 + +[factory/inj1luxu6s0qywql92pnh3xnfdqzn6gkt7rrnetfc0/1705588200000000001InjUsdt1d85P] +peggy_denom = factory/inj1luxu6s0qywql92pnh3xnfdqzn6gkt7rrnetfc0/1705588200000000001InjUsdt1d85P +decimals = 0 + +[factory/inj1luxu6s0qywql92pnh3xnfdqzn6gkt7rrnetfc0/1705932000InjUsdt1d85P] +peggy_denom = factory/inj1luxu6s0qywql92pnh3xnfdqzn6gkt7rrnetfc0/1705932000InjUsdt1d85P +decimals = 0 + +[factory/inj1luxu6s0qywql92pnh3xnfdqzn6gkt7rrnetfc0/1705932001InjUsdt1d85P] +peggy_denom = factory/inj1luxu6s0qywql92pnh3xnfdqzn6gkt7rrnetfc0/1705932001InjUsdt1d85P +decimals = 0 + +[factory/inj1luxu6s0qywql92pnh3xnfdqzn6gkt7rrnetfc0/1705932002InjUsdt1d85P] +peggy_denom = factory/inj1luxu6s0qywql92pnh3xnfdqzn6gkt7rrnetfc0/1705932002InjUsdt1d85P +decimals = 0 + +[factory/inj1lvj3thsvqlkps32mkrwptc4qyryrdt99k64f4m/position] +peggy_denom = factory/inj1lvj3thsvqlkps32mkrwptc4qyryrdt99k64f4m/position +decimals = 0 + +[factory/inj1lw7w3yfp8mrp4klef0y3y7fenap46kkrytav8v/position] +peggy_denom = factory/inj1lw7w3yfp8mrp4klef0y3y7fenap46kkrytav8v/position +decimals = 0 + +[factory/inj1lw9xs5y0mgcat5h4s8dylalyh93vlw3y7zavx5/holding] +peggy_denom = factory/inj1lw9xs5y0mgcat5h4s8dylalyh93vlw3y7zavx5/holding +decimals = 0 + +[factory/inj1lw9xs5y0mgcat5h4s8dylalyh93vlw3y7zavx5/holding2] +peggy_denom = factory/inj1lw9xs5y0mgcat5h4s8dylalyh93vlw3y7zavx5/holding2 +decimals = 0 + +[factory/inj1lw9xs5y0mgcat5h4s8dylalyh93vlw3y7zavx5/holding3] +peggy_denom = factory/inj1lw9xs5y0mgcat5h4s8dylalyh93vlw3y7zavx5/holding3 +decimals = 0 + +[factory/inj1lw9xs5y0mgcat5h4s8dylalyh93vlw3y7zavx5/holding4] +peggy_denom = factory/inj1lw9xs5y0mgcat5h4s8dylalyh93vlw3y7zavx5/holding4 +decimals = 0 + +[factory/inj1lw9xs5y0mgcat5h4s8dylalyh93vlw3y7zavx5/holding5] +peggy_denom = factory/inj1lw9xs5y0mgcat5h4s8dylalyh93vlw3y7zavx5/holding5 +decimals = 0 + +[factory/inj1lwhr9t3aha4qc2p6rdvj6n5q9jwt4pf8czlhhn/ak] +peggy_denom = factory/inj1lwhr9t3aha4qc2p6rdvj6n5q9jwt4pf8czlhhn/ak +decimals = 6 + +[factory/inj1lxxt0kcw8fnc8y3svem9fpyhmelqccx5lk83fd/position] +peggy_denom = factory/inj1lxxt0kcw8fnc8y3svem9fpyhmelqccx5lk83fd/position +decimals = 0 + +[factory/inj1lypqwz349za88um0m4ltjhgf8q6q8p4y93pv6p/moonify] +peggy_denom = factory/inj1lypqwz349za88um0m4ltjhgf8q6q8p4y93pv6p/moonify +decimals = 6 + +[factory/inj1lz2zgagnwgpzepxk6ny3amludjzajg98uhehwq/position] +peggy_denom = factory/inj1lz2zgagnwgpzepxk6ny3amludjzajg98uhehwq/position +decimals = 0 + +[factory/inj1m0a3h8dvz88xgf5v36tqm6kydeuu79te7sar05/upinj] +peggy_denom = factory/inj1m0a3h8dvz88xgf5v36tqm6kydeuu79te7sar05/upinj +decimals = 0 + +[factory/inj1m2v8rhhrma5207d5s6vmtxd9hajk559wdtc9lh/position] +peggy_denom = factory/inj1m2v8rhhrma5207d5s6vmtxd9hajk559wdtc9lh/position +decimals = 0 + +[factory/inj1m3c4lxq6gstpgd5f0ll7jln8fyweec5xxd7phy/TEST] +peggy_denom = factory/inj1m3c4lxq6gstpgd5f0ll7jln8fyweec5xxd7phy/TEST +decimals = 9 + +[factory/inj1m65rqkqvzmzeplzy3wl2mfrurku9hyxrpla2eq/position] +peggy_denom = factory/inj1m65rqkqvzmzeplzy3wl2mfrurku9hyxrpla2eq/position +decimals = 0 + +[factory/inj1m8hxczuf4gq8z5nvjw4nmcmnyfa5ch8kgkjuqp/position] +peggy_denom = factory/inj1m8hxczuf4gq8z5nvjw4nmcmnyfa5ch8kgkjuqp/position +decimals = 0 + +[factory/inj1m9myf06pt3kq3caeksz0ghvzr0xthhxqenu622/NLC] +peggy_denom = factory/inj1m9myf06pt3kq3caeksz0ghvzr0xthhxqenu622/NLC +decimals = 6 + +[factory/inj1m9myf06pt3kq3caeksz0ghvzr0xthhxqenu622/nlc] +peggy_denom = factory/inj1m9myf06pt3kq3caeksz0ghvzr0xthhxqenu622/nlc +decimals = 6 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/Stake-007] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/Stake-007 +decimals = 6 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/Talis-2] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/Talis-2 +decimals = 6 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/Talis-3] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/Talis-3 +decimals = 6 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/Talis-4] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/Talis-4 +decimals = 6 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/Vote-007] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/Vote-007 +decimals = 6 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token10] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token10 +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token2] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token2 +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token3] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token3 +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token4] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token4 +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token5] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token5 +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token6] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token6 +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token7] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token7 +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token8] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token8 +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token9] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/stake-token9 +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/talis-5] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/talis-5 +decimals = 6 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/talis-6] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/talis-6 +decimals = 6 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/talis-7] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/talis-7 +decimals = 6 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/talis-8] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/talis-8 +decimals = 6 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token10] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token10 +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token2] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token2 +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token3] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token3 +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token4] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token4 +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token5] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token5 +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token6] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token6 +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token7] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token7 +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token8] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token8 +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token9] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/vote-token9 +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/xTalis-4] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/xTalis-4 +decimals = 6 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/xbanana] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/xbanana +decimals = 18 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/xtalis-5] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/xtalis-5 +decimals = 6 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/xtalis-6] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/xtalis-6 +decimals = 6 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/xtalis-7] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/xtalis-7 +decimals = 6 + +[factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/xtalis-8] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/xtalis-8 +decimals = 6 + +[factory/inj1mea0kyuezl2ky54qtagsv7xlp0dxgqfs0cum8z/position] +peggy_denom = factory/inj1mea0kyuezl2ky54qtagsv7xlp0dxgqfs0cum8z/position +decimals = 0 + +[factory/inj1mecfy6gg944yt5mkwp34petqdd9dd37yu5yd5t/position] +peggy_denom = factory/inj1mecfy6gg944yt5mkwp34petqdd9dd37yu5yd5t/position +decimals = 0 + +[factory/inj1mf3x77h5ynafa57ga92rkp3hhwru5l63awf59v/tix] +peggy_denom = factory/inj1mf3x77h5ynafa57ga92rkp3hhwru5l63awf59v/tix +decimals = 6 + +[factory/inj1mfthw7jt2hzqq24exq66sregqwp8varmsdtyae/position] +peggy_denom = factory/inj1mfthw7jt2hzqq24exq66sregqwp8varmsdtyae/position +decimals = 0 + +[factory/inj1mg7www3nqcyaxaa82hf8vfx2jx39hj5qfkw3h3/position] +peggy_denom = factory/inj1mg7www3nqcyaxaa82hf8vfx2jx39hj5qfkw3h3/position +decimals = 0 + +[factory/inj1mhvjhmxs5fwnp3ladqehrsa8k8dhjfnaup9uhf/position] +peggy_denom = factory/inj1mhvjhmxs5fwnp3ladqehrsa8k8dhjfnaup9uhf/position +decimals = 0 + +[factory/inj1mlcqn2e3v6w0tum7ef5lkhqjjtnv5rzrzrh7rj/position] +peggy_denom = factory/inj1mlcqn2e3v6w0tum7ef5lkhqjjtnv5rzrzrh7rj/position +decimals = 0 + +[factory/inj1mldpx3uh7jx25cr7wd4c7g6gwda7wa7mfnq469/boobs] +peggy_denom = factory/inj1mldpx3uh7jx25cr7wd4c7g6gwda7wa7mfnq469/boobs +decimals = 0 + +[factory/inj1mly2ykhf6f9tdj58pvndjf4q8dzdl4myjqm9t6/ALIEN] +peggy_denom = factory/inj1mly2ykhf6f9tdj58pvndjf4q8dzdl4myjqm9t6/ALIEN +decimals = 6 + +[factory/inj1mq9zzzhdaza60pytwxkzd05grq963cgkkvpuez/position] +peggy_denom = factory/inj1mq9zzzhdaza60pytwxkzd05grq963cgkkvpuez/position +decimals = 0 + +[factory/inj1mt4qz5ytxeja23fn5ugpgqafut6lycj2jw58j2/injx] +peggy_denom = factory/inj1mt4qz5ytxeja23fn5ugpgqafut6lycj2jw58j2/injx +decimals = 18 + +[factory/inj1mu99lzv5z9cfm03xg3fryacxkgcsq6vh3x7ar7/position] +peggy_denom = factory/inj1mu99lzv5z9cfm03xg3fryacxkgcsq6vh3x7ar7/position +decimals = 0 + +[factory/inj1mwvx58l903kjlnjd0lmm3da7yw5tyl3jy85rfu/bINJ] +peggy_denom = factory/inj1mwvx58l903kjlnjd0lmm3da7yw5tyl3jy85rfu/bINJ +decimals = 0 + +[factory/inj1mxe7fkhprdmyv5tjlhwwcceyq5hcaqky82u0q9/position] +peggy_denom = factory/inj1mxe7fkhprdmyv5tjlhwwcceyq5hcaqky82u0q9/position +decimals = 0 + +[factory/inj1myspe4s4x800spny2c8v3z7ft5uvw5r0dxpjul/position] +peggy_denom = factory/inj1myspe4s4x800spny2c8v3z7ft5uvw5r0dxpjul/position +decimals = 0 + +[factory/inj1mznfy9hfq2ltcqfdaht4hk2dj7mvrfkucq6w8v/test] +peggy_denom = factory/inj1mznfy9hfq2ltcqfdaht4hk2dj7mvrfkucq6w8v/test +decimals = 6 + +[factory/inj1n0zpsl7shvw2ccyex45qs769rkmksuy90fpwpu/position] +peggy_denom = factory/inj1n0zpsl7shvw2ccyex45qs769rkmksuy90fpwpu/position +decimals = 0 + +[factory/inj1n4jprtth7dyd4y99g08pehyue7yy0nkhs8lugm/position] +peggy_denom = factory/inj1n4jprtth7dyd4y99g08pehyue7yy0nkhs8lugm/position +decimals = 0 + +[factory/inj1n5jpp6v84yj7cft7qnake9r7tflycx7tj6ksj7/KEKW] +peggy_denom = factory/inj1n5jpp6v84yj7cft7qnake9r7tflycx7tj6ksj7/KEKW +decimals = 0 + +[factory/inj1n5jpp6v84yj7cft7qnake9r7tflycx7tj6ksj7/ak] +peggy_denom = factory/inj1n5jpp6v84yj7cft7qnake9r7tflycx7tj6ksj7/ak +decimals = 0 + +[factory/inj1n5jpp6v84yj7cft7qnake9r7tflycx7tj6ksj7/xxxaaxxx] +peggy_denom = factory/inj1n5jpp6v84yj7cft7qnake9r7tflycx7tj6ksj7/xxxaaxxx +decimals = 6 + +[factory/inj1n5lp946tqfygmc0ywwz6afs3jfrph0a07grsek/ak] +peggy_denom = factory/inj1n5lp946tqfygmc0ywwz6afs3jfrph0a07grsek/ak +decimals = 0 + +[factory/inj1n5lp946tqfygmc0ywwz6afs3jfrph0a07grsek/btc] +peggy_denom = factory/inj1n5lp946tqfygmc0ywwz6afs3jfrph0a07grsek/btc +decimals = 6 + +[factory/inj1n75yp8epalhnzgwdp4esaakte8ymhjyqlqmujt/1683106055InjUsdt7d120C] +peggy_denom = factory/inj1n75yp8epalhnzgwdp4esaakte8ymhjyqlqmujt/1683106055InjUsdt7d120C +decimals = 0 + +[factory/inj1n85jfpxee430qavn9edlkup9kny7aszarag8ed/MADARA] +peggy_denom = factory/inj1n85jfpxee430qavn9edlkup9kny7aszarag8ed/MADARA +decimals = 0 + +[factory/inj1n85jfpxee430qavn9edlkup9kny7aszarag8ed/MADRA] +peggy_denom = factory/inj1n85jfpxee430qavn9edlkup9kny7aszarag8ed/MADRA +decimals = 0 + +[factory/inj1n85jfpxee430qavn9edlkup9kny7aszarag8ed/MADRAA] +peggy_denom = factory/inj1n85jfpxee430qavn9edlkup9kny7aszarag8ed/MADRAA +decimals = 0 + +[factory/inj1n9753c33nxml0er69zmvz4cc8s4xzx7jt4v2ga/position] +peggy_denom = factory/inj1n9753c33nxml0er69zmvz4cc8s4xzx7jt4v2ga/position +decimals = 0 + +[factory/inj1nahz98w2aqu9wlra68umlk7qmqmyqe0s00e7p7/position] +peggy_denom = factory/inj1nahz98w2aqu9wlra68umlk7qmqmyqe0s00e7p7/position +decimals = 0 + +[factory/inj1naq6rga6q9d94ale8elwt3kt55d5fxafe6trk5/position] +peggy_denom = factory/inj1naq6rga6q9d94ale8elwt3kt55d5fxafe6trk5/position +decimals = 0 + +[factory/inj1nd89fx0tn7twr6l5zfzdjex2ufgldxj7u3srd8/position] +peggy_denom = factory/inj1nd89fx0tn7twr6l5zfzdjex2ufgldxj7u3srd8/position +decimals = 0 + +[factory/inj1ndxqvkk6xv224z8uegusqr2jupa70ffg06n24r/position] +peggy_denom = factory/inj1ndxqvkk6xv224z8uegusqr2jupa70ffg06n24r/position +decimals = 0 + +[factory/inj1nfhnq3awj43m7fr76a39x2mrc96l95wm39hfcm/position] +peggy_denom = factory/inj1nfhnq3awj43m7fr76a39x2mrc96l95wm39hfcm/position +decimals = 0 + +[factory/inj1nfxhcjda4mn929gwtnk40mj9lce5m9rsun73qk/position] +peggy_denom = factory/inj1nfxhcjda4mn929gwtnk40mj9lce5m9rsun73qk/position +decimals = 0 + +[factory/inj1ng33rlfhcqrte7q70yvugkmsmhzslu247yxjlv/position] +peggy_denom = factory/inj1ng33rlfhcqrte7q70yvugkmsmhzslu247yxjlv/position +decimals = 0 + +[factory/inj1ng7cp4u2e3dsvd58uraw6vkz8qkxrw8trd9qd3/position] +peggy_denom = factory/inj1ng7cp4u2e3dsvd58uraw6vkz8qkxrw8trd9qd3/position +decimals = 0 + +[factory/inj1nm95w69a42qgnkw0hf8krvdt4eucqnyp0rwfwc/position] +peggy_denom = factory/inj1nm95w69a42qgnkw0hf8krvdt4eucqnyp0rwfwc/position +decimals = 0 + +[factory/inj1nmk2djc8hlv5eyxaqlys9w0klgh042r7g5n0nq/position] +peggy_denom = factory/inj1nmk2djc8hlv5eyxaqlys9w0klgh042r7g5n0nq/position +decimals = 0 + +[factory/inj1nnpa506h2ev0tn4csd5mk957hvggjfj5crt20c/position] +peggy_denom = factory/inj1nnpa506h2ev0tn4csd5mk957hvggjfj5crt20c/position +decimals = 0 + +[factory/inj1npas8uzgdhqul5wddw7fg2ym6yz6h9desduxlg/position] +peggy_denom = factory/inj1npas8uzgdhqul5wddw7fg2ym6yz6h9desduxlg/position +decimals = 0 + +[factory/inj1npmexmukus8uznafm4cnf7kp4lm7jzskfxc9px/position] +peggy_denom = factory/inj1npmexmukus8uznafm4cnf7kp4lm7jzskfxc9px/position +decimals = 0 + +[factory/inj1nppq4gg9ne5yvp9dw7fl9cdwjvn69u9mnyuynz/DGNZ] +peggy_denom = factory/inj1nppq4gg9ne5yvp9dw7fl9cdwjvn69u9mnyuynz/DGNZ +decimals = 6 + +[factory/inj1nppq4gg9ne5yvp9dw7fl9cdwjvn69u9mnyuynz/dgnz] +peggy_denom = factory/inj1nppq4gg9ne5yvp9dw7fl9cdwjvn69u9mnyuynz/dgnz +decimals = 0 + +[factory/inj1nppq4gg9ne5yvp9dw7fl9cdwjvn69u9mnyuynz/dgnzzz] +peggy_denom = factory/inj1nppq4gg9ne5yvp9dw7fl9cdwjvn69u9mnyuynz/dgnzzz +decimals = 0 + +[factory/inj1nprnh57tgavs4dgdvqetkfn0xmjn99dvgnmwlq/ak] +peggy_denom = factory/inj1nprnh57tgavs4dgdvqetkfn0xmjn99dvgnmwlq/ak +decimals = 0 + +[factory/inj1npsfelk7ul73wp77q3gqvxm94eyfzy3320t0j0/injshit] +peggy_denom = factory/inj1npsfelk7ul73wp77q3gqvxm94eyfzy3320t0j0/injshit +decimals = 0 + +[factory/inj1nqnmkah2rcyesy7l0kafhppwqmjh4egmeamx2k/position] +peggy_denom = factory/inj1nqnmkah2rcyesy7l0kafhppwqmjh4egmeamx2k/position +decimals = 0 + +[factory/inj1nr2gsxj4mfzd6qlwsay3y6kf5kfdh5h5x5xn7p/position] +peggy_denom = factory/inj1nr2gsxj4mfzd6qlwsay3y6kf5kfdh5h5x5xn7p/position +decimals = 0 + +[factory/inj1nscw9jx4pzg3sa7ynmrn0xf7vf3zpqt3usd7n6/position] +peggy_denom = factory/inj1nscw9jx4pzg3sa7ynmrn0xf7vf3zpqt3usd7n6/position +decimals = 0 + +[factory/inj1nshc8fmkku4q8f47z7fagdh0fxyexva9vnc5yn/position] +peggy_denom = factory/inj1nshc8fmkku4q8f47z7fagdh0fxyexva9vnc5yn/position +decimals = 0 + +[factory/inj1nwk46lyvhmdj5hr8ynwdvz0jaa4men9ce2gt58/TEST] +peggy_denom = factory/inj1nwk46lyvhmdj5hr8ynwdvz0jaa4men9ce2gt58/TEST +decimals = 6 + +[factory/inj1nwqrpzzxd2w266u28vhq5cmhf9y6u6zvlg4e6c/position] +peggy_denom = factory/inj1nwqrpzzxd2w266u28vhq5cmhf9y6u6zvlg4e6c/position +decimals = 0 + +[factory/inj1nydlk930aypjgh8k6rsrdj5lulzvf295r4sxpu/nUSD] +peggy_denom = factory/inj1nydlk930aypjgh8k6rsrdj5lulzvf295r4sxpu/nUSD +decimals = 0 + +[factory/inj1nzvf3w7h345qzz3scf7et5ad8r0a4gn4u0jtf4/position] +peggy_denom = factory/inj1nzvf3w7h345qzz3scf7et5ad8r0a4gn4u0jtf4/position +decimals = 0 + +[factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/CRE] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/CRE +decimals = 6 + +[factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/TST] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/TST +decimals = 6 + +[factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/TST4] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/TST4 +decimals = 6 + +[factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/TST5] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/TST5 +decimals = 6 + +[factory/inj1p3j46g9p9ha2h5696kcq4z9l6e04ywnrskmyqa/position] +peggy_denom = factory/inj1p3j46g9p9ha2h5696kcq4z9l6e04ywnrskmyqa/position +decimals = 0 + +[factory/inj1p52h0yc5c9qz8hrdklc9pqwutfh9hr9dh4th5a/position] +peggy_denom = factory/inj1p52h0yc5c9qz8hrdklc9pqwutfh9hr9dh4th5a/position +decimals = 0 + +[factory/inj1p5w72hfax0ums3rnagtl6zr0e33pnyv20qut8a/position] +peggy_denom = factory/inj1p5w72hfax0ums3rnagtl6zr0e33pnyv20qut8a/position +decimals = 0 + +[factory/inj1p6g5aa4h0r7pae69y5rzs9ce60fn7ddsf4fynl/position] +peggy_denom = factory/inj1p6g5aa4h0r7pae69y5rzs9ce60fn7ddsf4fynl/position +decimals = 0 + +[factory/inj1p6qq59lapujkvyyfem4qe4xwkfqncxpwkr65yv/position] +peggy_denom = factory/inj1p6qq59lapujkvyyfem4qe4xwkfqncxpwkr65yv/position +decimals = 0 + +[factory/inj1pdckalz3dknkr7vqrrd40tg56gapya99u8t90t/position] +peggy_denom = factory/inj1pdckalz3dknkr7vqrrd40tg56gapya99u8t90t/position +decimals = 0 + +[factory/inj1pdutmxa3f7q4mtu42ynndx0p9lxfxvdf60swc9/position] +peggy_denom = factory/inj1pdutmxa3f7q4mtu42ynndx0p9lxfxvdf60swc9/position +decimals = 0 + +[factory/inj1pe4uuptfqzydz89eh27an4hrnd8eslwc2c6efe/position] +peggy_denom = factory/inj1pe4uuptfqzydz89eh27an4hrnd8eslwc2c6efe/position +decimals = 0 + +[factory/inj1ped5vf305cwv50z9y296jh8klglxt7ayj7p6dk/position] +peggy_denom = factory/inj1ped5vf305cwv50z9y296jh8klglxt7ayj7p6dk/position +decimals = 0 + +[factory/inj1pjp9q2ycs7eaav8d5ny5956k5m6t0alpl33xd6/inj-test] +peggy_denom = factory/inj1pjp9q2ycs7eaav8d5ny5956k5m6t0alpl33xd6/inj-test +decimals = 6 + +[factory/inj1pjp9q2ycs7eaav8d5ny5956k5m6t0alpl33xd6/utest] +peggy_denom = factory/inj1pjp9q2ycs7eaav8d5ny5956k5m6t0alpl33xd6/utest +decimals = 0 + +[factory/inj1pk7jhvjj2lufcghmvr7gl49dzwkk3xj0uqkwfk/inj-test1] +peggy_denom = factory/inj1pk7jhvjj2lufcghmvr7gl49dzwkk3xj0uqkwfk/inj-test1 +decimals = 6 + +[factory/inj1pk7jhvjj2lufcghmvr7gl49dzwkk3xj0uqkwfk/inj-test2] +peggy_denom = factory/inj1pk7jhvjj2lufcghmvr7gl49dzwkk3xj0uqkwfk/inj-test2 +decimals = 6 + +[factory/inj1pk7jhvjj2lufcghmvr7gl49dzwkk3xj0uqkwfk/inj-test2323432] +peggy_denom = factory/inj1pk7jhvjj2lufcghmvr7gl49dzwkk3xj0uqkwfk/inj-test2323432 +decimals = 0 + +[factory/inj1pk7jhvjj2lufcghmvr7gl49dzwkk3xj0uqkwfk/inj-test3] +peggy_denom = factory/inj1pk7jhvjj2lufcghmvr7gl49dzwkk3xj0uqkwfk/inj-test3 +decimals = 6 + +[factory/inj1pk7jhvjj2lufcghmvr7gl49dzwkk3xj0uqkwfk/test1] +peggy_denom = factory/inj1pk7jhvjj2lufcghmvr7gl49dzwkk3xj0uqkwfk/test1 +decimals = 0 + +[factory/inj1pk9rw4sz4sgmceu3pxjtd7dwvylgxmceff63qn/position] +peggy_denom = factory/inj1pk9rw4sz4sgmceu3pxjtd7dwvylgxmceff63qn/position +decimals = 0 + +[factory/inj1pl9pe5yatc45hzngpt2s7l5avkl5znun5p40wl/lp] +peggy_denom = factory/inj1pl9pe5yatc45hzngpt2s7l5avkl5znun5p40wl/lp +decimals = 0 + +[factory/inj1pmr64rmtj9tlnz3ueeagcm9ja4ej3emkpdkr6x/position] +peggy_denom = factory/inj1pmr64rmtj9tlnz3ueeagcm9ja4ej3emkpdkr6x/position +decimals = 0 + +[factory/inj1pn6cg7jt5nvmh2rpjxhg95nrcjz0rujv54wkdg/pussy] +peggy_denom = factory/inj1pn6cg7jt5nvmh2rpjxhg95nrcjz0rujv54wkdg/pussy +decimals = 0 + +[factory/inj1pn6cg7jt5nvmh2rpjxhg95nrcjz0rujv54wkdg/testtoken] +peggy_denom = factory/inj1pn6cg7jt5nvmh2rpjxhg95nrcjz0rujv54wkdg/testtoken +decimals = 0 + +[factory/inj1ppqx8xqhc7kexgwkpkll57lns49qxr96rhupps/kUSD] +peggy_denom = factory/inj1ppqx8xqhc7kexgwkpkll57lns49qxr96rhupps/kUSD +decimals = 0 + +[factory/inj1prp8jk9fvxjzdgv8n2qlgrdfgxpq7t6k6rkmc7/PIGS-1] +peggy_denom = factory/inj1prp8jk9fvxjzdgv8n2qlgrdfgxpq7t6k6rkmc7/PIGS-1 +decimals = 0 + +[factory/inj1prp8jk9fvxjzdgv8n2qlgrdfgxpq7t6k6rkmc7/PIGS1] +peggy_denom = factory/inj1prp8jk9fvxjzdgv8n2qlgrdfgxpq7t6k6rkmc7/PIGS1 +decimals = 0 + +[factory/inj1psjmkh8edtywpelhgh6knwy6fsqdrm9fet4ht7/position] +peggy_denom = factory/inj1psjmkh8edtywpelhgh6knwy6fsqdrm9fet4ht7/position +decimals = 0 + +[factory/inj1put8lfpkwm47tqcl9fgh8grz987mezvrx4arls/DDLTest] +peggy_denom = factory/inj1put8lfpkwm47tqcl9fgh8grz987mezvrx4arls/DDLTest +decimals = 6 + +[factory/inj1puwsgl5qfv5z8z6ljfztcfc82euz063j655xlg/position] +peggy_denom = factory/inj1puwsgl5qfv5z8z6ljfztcfc82euz063j655xlg/position +decimals = 0 + +[factory/inj1pvs8adl72tdcwn5rty4pfmqpjfkxs6atkvzfy4/position] +peggy_denom = factory/inj1pvs8adl72tdcwn5rty4pfmqpjfkxs6atkvzfy4/position +decimals = 0 + +[factory/inj1pwjch4d8snnt3xkakdhn5xuzpp6n2v5ye8wnth/utest] +peggy_denom = factory/inj1pwjch4d8snnt3xkakdhn5xuzpp6n2v5ye8wnth/utest +decimals = 0 + +[factory/inj1pwztvdkju9lcmw68t04n7vt7832s3w9clv59ws/lp] +peggy_denom = factory/inj1pwztvdkju9lcmw68t04n7vt7832s3w9clv59ws/lp +decimals = 0 + +[factory/inj1pxnj6sh6njq66d2rffnth032ct07qatmr6fer3/position] +peggy_denom = factory/inj1pxnj6sh6njq66d2rffnth032ct07qatmr6fer3/position +decimals = 0 + +[factory/inj1pzwl6turgp49akhkxjynj77z9pd6x7zf2zmazz/ak] +peggy_denom = factory/inj1pzwl6turgp49akhkxjynj77z9pd6x7zf2zmazz/ak +decimals = 6 + +[factory/inj1q2m26a7jdzjyfdn545vqsude3zwwtfrdap5jgz/TEST] +peggy_denom = factory/inj1q2m26a7jdzjyfdn545vqsude3zwwtfrdap5jgz/TEST +decimals = 6 + +[factory/inj1q3c3sar5uq02xus9j6a7vxrpdqwya4xfkdj0wv/position] +peggy_denom = factory/inj1q3c3sar5uq02xus9j6a7vxrpdqwya4xfkdj0wv/position +decimals = 0 + +[factory/inj1q4z7jjxdk7whwmkt39x7krc49xaqapuswhjhkn/COCK] +peggy_denom = factory/inj1q4z7jjxdk7whwmkt39x7krc49xaqapuswhjhkn/COCK +decimals = 0 + +[factory/inj1qau4ax7mlyxam8f4xrz02tqydus4h8n5pt0zue/position] +peggy_denom = factory/inj1qau4ax7mlyxam8f4xrz02tqydus4h8n5pt0zue/position +decimals = 0 + +[factory/inj1qc5kqy83ksr0xtd08vjv9eyv3d72kcc93e740s/position] +peggy_denom = factory/inj1qc5kqy83ksr0xtd08vjv9eyv3d72kcc93e740s/position +decimals = 0 + +[factory/inj1qemlmtltmk7rhzk0wzwrhnp0ystlvx3mx046xs/position] +peggy_denom = factory/inj1qemlmtltmk7rhzk0wzwrhnp0ystlvx3mx046xs/position +decimals = 0 + +[factory/inj1qh6h56lfum2fxpvweukyx83m8q96s7lj03hxtg/position] +peggy_denom = factory/inj1qh6h56lfum2fxpvweukyx83m8q96s7lj03hxtg/position +decimals = 0 + +[factory/inj1qhw695hnxrg8nk8krat53jva7jctlxp576pq4x/position] +peggy_denom = factory/inj1qhw695hnxrg8nk8krat53jva7jctlxp576pq4x/position +decimals = 0 + +[factory/inj1qhx3w0663ta9tmu330vljhfs6r2qcfnklyqfe0/position] +peggy_denom = factory/inj1qhx3w0663ta9tmu330vljhfs6r2qcfnklyqfe0/position +decimals = 0 + +[factory/inj1qkfk75uastafdvnphj95drkkuqsf0ct42k3grf/Lenz] +peggy_denom = factory/inj1qkfk75uastafdvnphj95drkkuqsf0ct42k3grf/Lenz +decimals = 6 + +[factory/inj1qkfk75uastafdvnphj95drkkuqsf0ct42k3grf/LenzTestingTestnetFinal] +peggy_denom = factory/inj1qkfk75uastafdvnphj95drkkuqsf0ct42k3grf/LenzTestingTestnetFinal +decimals = 6 + +[factory/inj1qn2t30yflmrkmtxyc348jhmvnypsd2xk4lk74s/position] +peggy_denom = factory/inj1qn2t30yflmrkmtxyc348jhmvnypsd2xk4lk74s/position +decimals = 0 + +[factory/inj1qnymwcy78ty0ldvfcxk6ksfct9ndgpj0p06zak/position] +peggy_denom = factory/inj1qnymwcy78ty0ldvfcxk6ksfct9ndgpj0p06zak/position +decimals = 0 + +[factory/inj1qplngxl3zt3j6n0r3ryx6d8k58wu38t8amfpv3/position] +peggy_denom = factory/inj1qplngxl3zt3j6n0r3ryx6d8k58wu38t8amfpv3/position +decimals = 0 + +[factory/inj1qpr7c23qy3usjy3hem2wr2e9vuz39sau9032lr/position] +peggy_denom = factory/inj1qpr7c23qy3usjy3hem2wr2e9vuz39sau9032lr/position +decimals = 0 + +[factory/inj1quptgzfh2z6258sh3yckklyg7gys569rmp5s3e/kUSD] +peggy_denom = factory/inj1quptgzfh2z6258sh3yckklyg7gys569rmp5s3e/kUSD +decimals = 6 + +[factory/inj1qusz42g00le4gvqu6cej3qsf4n383dr4f2c4gj/position] +peggy_denom = factory/inj1qusz42g00le4gvqu6cej3qsf4n383dr4f2c4gj/position +decimals = 0 + +[factory/inj1qx7qnj9wwdrxc9e239ycshqnqgapdh7s44vez7/AA] +peggy_denom = factory/inj1qx7qnj9wwdrxc9e239ycshqnqgapdh7s44vez7/AA +decimals = 0 + +[factory/inj1qx7qnj9wwdrxc9e239ycshqnqgapdh7s44vez7/ape] +peggy_denom = factory/inj1qx7qnj9wwdrxc9e239ycshqnqgapdh7s44vez7/ape +decimals = 6 + +[factory/inj1qxwtvk3ctdrctnmyen9v2wvcr026rpauc0q25g/position] +peggy_denom = factory/inj1qxwtvk3ctdrctnmyen9v2wvcr026rpauc0q25g/position +decimals = 0 + +[factory/inj1qy5wmnjahh8aek5cjmgkupcu9dxkksfelkllae/position] +peggy_denom = factory/inj1qy5wmnjahh8aek5cjmgkupcu9dxkksfelkllae/position +decimals = 0 + +[factory/inj1qyz0463rsew039f2lny2vzx0c0mhc6ru6jfarz/position] +peggy_denom = factory/inj1qyz0463rsew039f2lny2vzx0c0mhc6ru6jfarz/position +decimals = 0 + +[factory/inj1r2964d6pf76jpylnyc447jv67ddc4dflqrqk4m/position] +peggy_denom = factory/inj1r2964d6pf76jpylnyc447jv67ddc4dflqrqk4m/position +decimals = 0 + +[factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/Life-Token] +peggy_denom = factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/Life-Token +decimals = 6 + +[factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/Lifeless-Token] +peggy_denom = factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/Lifeless-Token +decimals = 6 + +[factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/Liquifier] +peggy_denom = factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/Liquifier +decimals = 6 + +[factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/Liquify] +peggy_denom = factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/Liquify +decimals = 6 + +[factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/Savior-Token] +peggy_denom = factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/Savior-Token +decimals = 6 + +[factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/Tested-Token] +peggy_denom = factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/Tested-Token +decimals = 6 + +[factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/lifedd] +peggy_denom = factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/lifedd +decimals = 6 + +[factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/lord-stone-token] +peggy_denom = factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/lord-stone-token +decimals = 6 + +[factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/saramon] +peggy_denom = factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/saramon +decimals = 6 + +[factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/test-token] +peggy_denom = factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/test-token +decimals = 0 + +[factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/test-token2] +peggy_denom = factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/test-token2 +decimals = 0 + +[factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/test-tokens] +peggy_denom = factory/inj1r2nhkxpuk8kna036rud4kqz2357dptqs2gcjll/test-tokens +decimals = 0 + +[factory/inj1r3qaemv4lnht42z8mynzfcfjrlyhlupx76le90/position] +peggy_denom = factory/inj1r3qaemv4lnht42z8mynzfcfjrlyhlupx76le90/position +decimals = 0 + +[factory/inj1r3u5yl5u5twct896xm2nhk8e8f2d3vvz28uuen/position] +peggy_denom = factory/inj1r3u5yl5u5twct896xm2nhk8e8f2d3vvz28uuen/position +decimals = 0 + +[factory/inj1r4fje8a30glg7fmr3uqnk4fl0sm67s6dpvgrg3/testToken] +peggy_denom = factory/inj1r4fje8a30glg7fmr3uqnk4fl0sm67s6dpvgrg3/testToken +decimals = 6 + +[factory/inj1r6mje70a37k8c5ata5g42pp87ncdxfv23vzzu7/position] +peggy_denom = factory/inj1r6mje70a37k8c5ata5g42pp87ncdxfv23vzzu7/position +decimals = 0 + +[factory/inj1r6tj96lrtn6jtyjq8xa39ny2j2spqajm43awu4/position] +peggy_denom = factory/inj1r6tj96lrtn6jtyjq8xa39ny2j2spqajm43awu4/position +decimals = 0 + +[factory/inj1r8dwjecdv7z9dk6kl4mgqtvt2e3g002z8ptvvm/position] +peggy_denom = factory/inj1r8dwjecdv7z9dk6kl4mgqtvt2e3g002z8ptvvm/position +decimals = 0 + +[factory/inj1raephyfwd5mxp6ps4dmsw8d7mup8efmf0tdj0r/inj1477ukmxx47mgsfe09qwd6gyp98ftecjytrqdrc] +peggy_denom = factory/inj1raephyfwd5mxp6ps4dmsw8d7mup8efmf0tdj0r/inj1477ukmxx47mgsfe09qwd6gyp98ftecjytrqdrc +decimals = 0 + +[factory/inj1raephyfwd5mxp6ps4dmsw8d7mup8efmf0tdj0r/inj1u67283zzclfr4pvxc9svwn7jurxm4aku46tjtt] +peggy_denom = factory/inj1raephyfwd5mxp6ps4dmsw8d7mup8efmf0tdj0r/inj1u67283zzclfr4pvxc9svwn7jurxm4aku46tjtt +decimals = 0 + +[factory/inj1rc38yz7hvvdygad44lfz0xe8ymf0mt539p6u8l/position] +peggy_denom = factory/inj1rc38yz7hvvdygad44lfz0xe8ymf0mt539p6u8l/position +decimals = 0 + +[factory/inj1rfdg206x7stm8rfl5crudn8v776k9q9njkqnzr/LIOR] +peggy_denom = factory/inj1rfdg206x7stm8rfl5crudn8v776k9q9njkqnzr/LIOR +decimals = 6 + +[factory/inj1rfdg206x7stm8rfl5crudn8v776k9q9njkqnzr/ak] +peggy_denom = factory/inj1rfdg206x7stm8rfl5crudn8v776k9q9njkqnzr/ak +decimals = 6 + +[factory/inj1rfdg206x7stm8rfl5crudn8v776k9q9njkqnzr/factory/bior] +peggy_denom = factory/inj1rfdg206x7stm8rfl5crudn8v776k9q9njkqnzr/factory/bior +decimals = 0 + +[factory/inj1rfdg206x7stm8rfl5crudn8v776k9q9njkqnzr/libor] +peggy_denom = factory/inj1rfdg206x7stm8rfl5crudn8v776k9q9njkqnzr/libor +decimals = 0 + +[factory/inj1rfdg206x7stm8rfl5crudn8v776k9q9njkqnzr/lior] +peggy_denom = factory/inj1rfdg206x7stm8rfl5crudn8v776k9q9njkqnzr/lior +decimals = 6 + +[factory/inj1rfdg206x7stm8rfl5crudn8v776k9q9njkqnzr/nain] +peggy_denom = factory/inj1rfdg206x7stm8rfl5crudn8v776k9q9njkqnzr/nain +decimals = 0 + +[factory/inj1rl8xukts6h729y2l3s29k5v95fur7nj6d5kerm/DREAM] +peggy_denom = factory/inj1rl8xukts6h729y2l3s29k5v95fur7nj6d5kerm/DREAM +decimals = 6 + +[factory/inj1rlg44s9tmzsecj7fnxzd5p7tzptrfwqt8cgewf/shuriken] +peggy_denom = factory/inj1rlg44s9tmzsecj7fnxzd5p7tzptrfwqt8cgewf/shuriken +decimals = 0 + +[factory/inj1rmfvy5j4fhqlfzlutz26hynhhpt7xyf8r3vsxu/position] +peggy_denom = factory/inj1rmfvy5j4fhqlfzlutz26hynhhpt7xyf8r3vsxu/position +decimals = 0 + +[factory/inj1rn4cagrvcgl49d7n60vnxpftnaqw7xtuxerh23/position] +peggy_denom = factory/inj1rn4cagrvcgl49d7n60vnxpftnaqw7xtuxerh23/position +decimals = 0 + +[factory/inj1rq4l2efkesetql824keqewk7h95ltua6xxu6fw/TTKC] +peggy_denom = factory/inj1rq4l2efkesetql824keqewk7h95ltua6xxu6fw/TTKC +decimals = 6 + +[factory/inj1rq4l2efkesetql824keqewk7h95ltua6xxu6fw/ak] +peggy_denom = factory/inj1rq4l2efkesetql824keqewk7h95ltua6xxu6fw/ak +decimals = 6 + +[factory/inj1rq4l2efkesetql824keqewk7h95ltua6xxu6fw/bINJ] +peggy_denom = factory/inj1rq4l2efkesetql824keqewk7h95ltua6xxu6fw/bINJ +decimals = 6 + +[factory/inj1rq4l2efkesetql824keqewk7h95ltua6xxu6fw/ninja] +peggy_denom = factory/inj1rq4l2efkesetql824keqewk7h95ltua6xxu6fw/ninja +decimals = 6 + +[factory/inj1rqn67w2cm3uxxvnjxvsm9889zyrtxxpjl56g7p/nUSD] +peggy_denom = factory/inj1rqn67w2cm3uxxvnjxvsm9889zyrtxxpjl56g7p/nUSD +decimals = 18 + +[factory/inj1rr23r9ysrtg0jat8ljm5lfc9g0nz8y0ts27fhg/position] +peggy_denom = factory/inj1rr23r9ysrtg0jat8ljm5lfc9g0nz8y0ts27fhg/position +decimals = 0 + +[factory/inj1rrw6l34tzj8nwxrg2u6ra78jlcykrz763ltp9d/position] +peggy_denom = factory/inj1rrw6l34tzj8nwxrg2u6ra78jlcykrz763ltp9d/position +decimals = 0 + +[factory/inj1rsvh5w3pzs9ta8v484agjzyfsq4c42nlaetmnv/position] +peggy_denom = factory/inj1rsvh5w3pzs9ta8v484agjzyfsq4c42nlaetmnv/position +decimals = 0 + +[factory/inj1ruljx4vla6qq08ejml5syehqf40xh3q7365dee/position] +peggy_denom = factory/inj1ruljx4vla6qq08ejml5syehqf40xh3q7365dee/position +decimals = 0 + +[factory/inj1rw057xldmte58t9jqljn3gyzck07lyy7stmqnu/position] +peggy_denom = factory/inj1rw057xldmte58t9jqljn3gyzck07lyy7stmqnu/position +decimals = 0 + +[factory/inj1rw3qvamxgmvyexuz2uhyfa4hukvtvteznxjvke/test] +peggy_denom = factory/inj1rw3qvamxgmvyexuz2uhyfa4hukvtvteznxjvke/test +decimals = 0 + +[factory/inj1s04p0wztwl823lwcnkdstd3xp3n30a8hhel2jf/INJDOGE] +peggy_denom = factory/inj1s04p0wztwl823lwcnkdstd3xp3n30a8hhel2jf/INJDOGE +decimals = 0 + +[factory/inj1s04p0wztwl823lwcnkdstd3xp3n30a8hhel2jf/ak] +peggy_denom = factory/inj1s04p0wztwl823lwcnkdstd3xp3n30a8hhel2jf/ak +decimals = 0 + +[factory/inj1s0sl8egfgc29scvlj2x3v5cj73xhkm90237u97/position] +peggy_denom = factory/inj1s0sl8egfgc29scvlj2x3v5cj73xhkm90237u97/position +decimals = 0 + +[factory/inj1s4s8tmcfc43y0mfxm8cwhf3wehsxw6za8k3x4c/position] +peggy_denom = factory/inj1s4s8tmcfc43y0mfxm8cwhf3wehsxw6za8k3x4c/position +decimals = 0 + +[factory/inj1s6yq89jvdq3ps4h8wx8jk60c2r0jwczes4sgl6/position] +peggy_denom = factory/inj1s6yq89jvdq3ps4h8wx8jk60c2r0jwczes4sgl6/position +decimals = 0 + +[factory/inj1s8cp9up483f30cxpd7saxp935evy70fd4jddzg/iUSD] +peggy_denom = factory/inj1s8cp9up483f30cxpd7saxp935evy70fd4jddzg/iUSD +decimals = 18 + +[factory/inj1s8knaspkz9s5cphxxx62j5saxr923mqy4vsycz/position] +peggy_denom = factory/inj1s8knaspkz9s5cphxxx62j5saxr923mqy4vsycz/position +decimals = 0 + +[factory/inj1s92j8qw73qhhuhlecj3ekux8ck60wj93ry5haw/position] +peggy_denom = factory/inj1s92j8qw73qhhuhlecj3ekux8ck60wj93ry5haw/position +decimals = 0 + +[factory/inj1sa2wmd8zhf893ex6da8jgnp06pcj2tv59mq457/position] +peggy_denom = factory/inj1sa2wmd8zhf893ex6da8jgnp06pcj2tv59mq457/position +decimals = 0 + +[factory/inj1sa5g8q4egwzy09942675r0az9tftac9tnrz2kr/JCLUB] +peggy_denom = factory/inj1sa5g8q4egwzy09942675r0az9tftac9tnrz2kr/JCLUB +decimals = 6 + +[factory/inj1sclqgctp0hxenfgvh59y8reppg5gssjw8p078u/position] +peggy_denom = factory/inj1sclqgctp0hxenfgvh59y8reppg5gssjw8p078u/position +decimals = 0 + +[factory/inj1sdpk4n3zw4n70uxg83ep3sj5x2ynh608lqxcw0/ak] +peggy_denom = factory/inj1sdpk4n3zw4n70uxg83ep3sj5x2ynh608lqxcw0/ak +decimals = 6 + +[factory/inj1sf0dsdnsvtf06fdwsy800ysne2cemlkfwe3duq/position] +peggy_denom = factory/inj1sf0dsdnsvtf06fdwsy800ysne2cemlkfwe3duq/position +decimals = 0 + +[factory/inj1sf4jk2ku0syp7x6lns8dau73sc2grtqpf3try5/ak] +peggy_denom = factory/inj1sf4jk2ku0syp7x6lns8dau73sc2grtqpf3try5/ak +decimals = 0 + +[factory/inj1sf4jk2ku0syp7x6lns8dau73sc2grtqpf3try5/test123] +peggy_denom = factory/inj1sf4jk2ku0syp7x6lns8dau73sc2grtqpf3try5/test123 +decimals = 6 + +[factory/inj1sg9htcd8tqgxlnsl9qe2mm5y4l9zq0mq6qhph9/position] +peggy_denom = factory/inj1sg9htcd8tqgxlnsl9qe2mm5y4l9zq0mq6qhph9/position +decimals = 0 + +[factory/inj1sgh3equhfwqpscgcxksnz69r67qu4yfcvlreyj/position] +peggy_denom = factory/inj1sgh3equhfwqpscgcxksnz69r67qu4yfcvlreyj/position +decimals = 0 + +[factory/inj1sh5n5v86gmugkq8za8gh2flfsurymmha4fvw2x/at-token] +peggy_denom = factory/inj1sh5n5v86gmugkq8za8gh2flfsurymmha4fvw2x/at-token +decimals = 0 + +[factory/inj1sj9xzvxq2fmfwmaffueymlmrdmgcsfzexlnxzl/bINJ] +peggy_denom = factory/inj1sj9xzvxq2fmfwmaffueymlmrdmgcsfzexlnxzl/bINJ +decimals = 0 + +[factory/inj1sjgzywux3snnkz74r5sul04vk44zfrfdq6yx9g/iUSD] +peggy_denom = factory/inj1sjgzywux3snnkz74r5sul04vk44zfrfdq6yx9g/iUSD +decimals = 18 + +[factory/inj1skkzrk8x56lz2t0908tsgywyq9u63l7633z47d/position] +peggy_denom = factory/inj1skkzrk8x56lz2t0908tsgywyq9u63l7633z47d/position +decimals = 0 + +[factory/inj1skpv9emvexywcg42mne4lugd6xjwglzsqxu888/position] +peggy_denom = factory/inj1skpv9emvexywcg42mne4lugd6xjwglzsqxu888/position +decimals = 0 + +[factory/inj1sm0ccywqn6nmzjgrptlauzpzrjz42rt9uq2vlr/position] +peggy_denom = factory/inj1sm0ccywqn6nmzjgrptlauzpzrjz42rt9uq2vlr/position +decimals = 0 + +[factory/inj1sm8mpx3e4p2z4ryzhp6t2gdzwrzdwxnf447dnx/position] +peggy_denom = factory/inj1sm8mpx3e4p2z4ryzhp6t2gdzwrzdwxnf447dnx/position +decimals = 0 + +[factory/inj1sn34edy635nv4yhts3khgpy5qxw8uey6wvzq53/TEST] +peggy_denom = factory/inj1sn34edy635nv4yhts3khgpy5qxw8uey6wvzq53/TEST +decimals = 6 + +[factory/inj1sq839juq97296mumt84hzfjpc2nf7h2u774g59/CAT] +peggy_denom = factory/inj1sq839juq97296mumt84hzfjpc2nf7h2u774g59/CAT +decimals = 6 + +[factory/inj1sq839juq97296mumt84hzfjpc2nf7h2u774g59/Vader] +peggy_denom = factory/inj1sq839juq97296mumt84hzfjpc2nf7h2u774g59/Vader +decimals = 0 + +[factory/inj1sr4jakhjmur7hc3j9n3tv72uu9dwv9756sgpwq/position] +peggy_denom = factory/inj1sr4jakhjmur7hc3j9n3tv72uu9dwv9756sgpwq/position +decimals = 0 + +[factory/inj1ss277vzv95cllcl5q4wy4jrmpxk093xgltmphw/position] +peggy_denom = factory/inj1ss277vzv95cllcl5q4wy4jrmpxk093xgltmphw/position +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1706894751.711989485AtomUsdt2d0.93P] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1706894751.711989485AtomUsdt2d0.93P +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1706894751.711989485InjUsdt2d1.08C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1706894751.711989485InjUsdt2d1.08C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1706965216.786331230AtomUsdt2d0.93P] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1706965216.786331230AtomUsdt2d0.93P +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1706965216.786331230InjUsdt2d1.08C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1706965216.786331230InjUsdt2d1.08C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1706969190.664112751InjUsdt2d1.08C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1706969190.664112751InjUsdt2d1.08C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1706969205.325387195InjUsdt2d1.08C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1706969205.325387195InjUsdt2d1.08C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1706969261.401032761InjUsdt2d1.08C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1706969261.401032761InjUsdt2d1.08C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1706969341.520964599AtomUsdt2d0.93P] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1706969341.520964599AtomUsdt2d0.93P +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1707054927.433248405AtomUsdt2d0.93P] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1707054927.433248405AtomUsdt2d0.93P +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1707054927.433248405InjUsdt2d1.08C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1707054927.433248405InjUsdt2d1.08C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1708611446.026416584InjUsdt2d1.08C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1708611446.026416584InjUsdt2d1.08C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1709902288.058267150InjUsdt24d1.17C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1709902288.058267150InjUsdt24d1.17C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1711621611InjUsdt1d1.06C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1711621611InjUsdt1d1.06C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1712154662InjUsdt1d1.06C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1712154662InjUsdt1d1.06C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1712738450InjUsdt28d1.2C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1712738450InjUsdt28d1.2C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1712738484InjUsdt28d0.85P] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1712738484InjUsdt28d0.85P +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1712738818InjUsdt28d0.85P] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1712738818InjUsdt28d0.85P +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1712739110InjUsdt28d0.86P] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1712739110InjUsdt28d0.86P +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1713965158InjUsdt28d0.86P] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1713965158InjUsdt28d0.86P +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1713966058InjUsdt28d1.2C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1713966058InjUsdt28d1.2C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1713966386InjUsdt28d1.2C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1713966386InjUsdt28d1.2C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1715066545InjUsdt24d1.17C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1715066545InjUsdt24d1.17C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1715066761InjUsdt16d0.89P] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1715066761InjUsdt16d0.89P +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1715097040InjUsdt2d0.95P] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1715097040InjUsdt2d0.95P +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1715097040InjUsdt2d1.1C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1715097040InjUsdt2d1.1C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1715266529InjUsdt2d0.95P] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1715266529InjUsdt2d0.95P +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1715266529InjUsdt2d1.1C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1715266529InjUsdt2d1.1C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1717647176InjUsdt2d1.1C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1717647176InjUsdt2d1.1C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1717749427InjUsdt2d0.95P] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1717749427InjUsdt2d0.95P +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1717749631InjUsdt2d0.95P] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1717749631InjUsdt2d0.95P +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1718699872InjUsdt26d1.2C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1718699872InjUsdt26d1.2C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1718764795InjUsdt26d1.2C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1718764795InjUsdt26d1.2C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1718766318InjUsdt24d1.19C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1718766318InjUsdt24d1.19C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1718779878InjUsdt26d1.19C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1718779878InjUsdt26d1.19C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1719297355InjUsdt26d1.19C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1719297355InjUsdt26d1.19C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1719306854InjUsdt26d1.2C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1719306854InjUsdt26d1.2C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1719393332InjUsdt2d0.95P] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1719393332InjUsdt2d0.95P +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1719918905InjUsdt26d1.2C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1719918905InjUsdt26d1.2C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1719921133InjUsdt26d1.2C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1719921133InjUsdt26d1.2C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1720000120InjUsdt26d1.2C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1720000120InjUsdt26d1.2C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1720513336InjUsdt26d1.2C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1720513336InjUsdt26d1.2C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1720513965InjUsdt2d0.95P] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1720513965InjUsdt2d0.95P +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1721199238InjUsdt26d1.2C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1721199238InjUsdt26d1.2C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1721736957InjUsdt26d1.2C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1721736957InjUsdt26d1.2C +decimals = 0 + +[factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1721737329InjUsdt28d1.2C] +peggy_denom = factory/inj1ss7rm7yde55dyddg7532dmdjy3gzvrjthxmqtd/1721737329InjUsdt28d1.2C +decimals = 0 + +[factory/inj1ssysf4uhqa4nndser07cvgfzlqtvsg3l0y8vvn/position] +peggy_denom = factory/inj1ssysf4uhqa4nndser07cvgfzlqtvsg3l0y8vvn/position +decimals = 0 + +[factory/inj1st6pj5nvz429dkmz3t0papc3273j5xnzjan8sm/position] +peggy_denom = factory/inj1st6pj5nvz429dkmz3t0papc3273j5xnzjan8sm/position +decimals = 0 + +[factory/inj1svtmsxdu47vc0kd0eppxnq9khky324wjfxa0yg/position] +peggy_denom = factory/inj1svtmsxdu47vc0kd0eppxnq9khky324wjfxa0yg/position +decimals = 0 + +[factory/inj1t3kcptjlvg8vjpedkr2y7pe0cwlkkjmtn8p5w7/position] +peggy_denom = factory/inj1t3kcptjlvg8vjpedkr2y7pe0cwlkkjmtn8p5w7/position +decimals = 0 + +[factory/inj1t3p0szvrgxax3zf7c02w673axrut9mu5vw342u/position] +peggy_denom = factory/inj1t3p0szvrgxax3zf7c02w673axrut9mu5vw342u/position +decimals = 0 + +[factory/inj1t6jgdm6ullrxazu2g6hl7493qcacefyver6ltq/position] +peggy_denom = factory/inj1t6jgdm6ullrxazu2g6hl7493qcacefyver6ltq/position +decimals = 0 + +[factory/inj1t6ur7kmu7vu2k6lja2ng9ayrqfdmsqzks7se0q/position] +peggy_denom = factory/inj1t6ur7kmu7vu2k6lja2ng9ayrqfdmsqzks7se0q/position +decimals = 0 + +[factory/inj1t6z53mnu7wulpp3n886k3laqk4za9xyr4e8azx/lpinj1c0rh80uc9v4frwh00zvmkr2qx0599z78lm7jxj] +peggy_denom = factory/inj1t6z53mnu7wulpp3n886k3laqk4za9xyr4e8azx/lpinj1c0rh80uc9v4frwh00zvmkr2qx0599z78lm7jxj +decimals = 0 + +[factory/inj1t6z53mnu7wulpp3n886k3laqk4za9xyr4e8azx/lpinj1hl2qkjhs5t8xqa7yetjghr4x3yxnlja7wemzy8] +peggy_denom = factory/inj1t6z53mnu7wulpp3n886k3laqk4za9xyr4e8azx/lpinj1hl2qkjhs5t8xqa7yetjghr4x3yxnlja7wemzy8 +decimals = 0 + +[factory/inj1t6z53mnu7wulpp3n886k3laqk4za9xyr4e8azx/lpinj1nzpletdxtcznj0xlu75y0dtly8acvm253kaj07] +peggy_denom = factory/inj1t6z53mnu7wulpp3n886k3laqk4za9xyr4e8azx/lpinj1nzpletdxtcznj0xlu75y0dtly8acvm253kaj07 +decimals = 0 + +[factory/inj1t6z53mnu7wulpp3n886k3laqk4za9xyr4e8azx/lpinj1r6zj9v8c4hyj64uzdhe844ncwd0vspy0lhrke4] +peggy_denom = factory/inj1t6z53mnu7wulpp3n886k3laqk4za9xyr4e8azx/lpinj1r6zj9v8c4hyj64uzdhe844ncwd0vspy0lhrke4 +decimals = 0 + +[factory/inj1t6z53mnu7wulpp3n886k3laqk4za9xyr4e8azx/lpinj1yne8ww7fahfjvadqkasld3vkj597gsysk06dym] +peggy_denom = factory/inj1t6z53mnu7wulpp3n886k3laqk4za9xyr4e8azx/lpinj1yne8ww7fahfjvadqkasld3vkj597gsysk06dym +decimals = 0 + +[factory/inj1t70s0zcf7twcm7qm0lv7f7u5j3yd7v4mttxnvn/position] +peggy_denom = factory/inj1t70s0zcf7twcm7qm0lv7f7u5j3yd7v4mttxnvn/position +decimals = 0 + +[factory/inj1t80nlw8w36am2575rfd5z2yn4m46v2gsch9aj5/position] +peggy_denom = factory/inj1t80nlw8w36am2575rfd5z2yn4m46v2gsch9aj5/position +decimals = 0 + +[factory/inj1t88furrvvv32qj82wwtz86s03rzxqlj0f59eev/TEST] +peggy_denom = factory/inj1t88furrvvv32qj82wwtz86s03rzxqlj0f59eev/TEST +decimals = 6 + +[factory/inj1t88furrvvv32qj82wwtz86s03rzxqlj0f59eev/TEST2] +peggy_denom = factory/inj1t88furrvvv32qj82wwtz86s03rzxqlj0f59eev/TEST2 +decimals = 6 + +[factory/inj1t9cx33dk3tywjct6f6lq8d3j5yg7cg5jtarmkz/position] +peggy_denom = factory/inj1t9cx33dk3tywjct6f6lq8d3j5yg7cg5jtarmkz/position +decimals = 0 + +[factory/inj1ta3rgat7k3s9jehqfr3lv4dpwsytrqejdstv5m/position] +peggy_denom = factory/inj1ta3rgat7k3s9jehqfr3lv4dpwsytrqejdstv5m/position +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj12yhwzv3wvh0lgwft5n5x4q382d7q4fj2am62y6] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj12yhwzv3wvh0lgwft5n5x4q382d7q4fj2am62y6 +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj13g2ry3dwj49jd3hdyq2xvyd4eghtkr5dnejhff] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj13g2ry3dwj49jd3hdyq2xvyd4eghtkr5dnejhff +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj14dz74tz06lxz2pl4e5vcv3v62lst8d43rp6hy4] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj14dz74tz06lxz2pl4e5vcv3v62lst8d43rp6hy4 +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj176anlxqyz6289gf0dg0xvd3qja7ahs3cnsda63] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj176anlxqyz6289gf0dg0xvd3qja7ahs3cnsda63 +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj17kjkepym5j8xss5nmud6gq4c47xt0xf02wgsms] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj17kjkepym5j8xss5nmud6gq4c47xt0xf02wgsms +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1dycczj4m8gwdj4m2fv7xm396u8tq9lp9w363zj] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1dycczj4m8gwdj4m2fv7xm396u8tq9lp9w363zj +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1fde04yn4n8skenekdth633922qajlk8yk730re] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1fde04yn4n8skenekdth633922qajlk8yk730re +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1fgdlfyru0e0fk4tsxtdz6an7vfwz3g82w40qy6] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1fgdlfyru0e0fk4tsxtdz6an7vfwz3g82w40qy6 +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1fujkefqpzz8crmm655q2x24y7gp7p9ppnph495] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1fujkefqpzz8crmm655q2x24y7gp7p9ppnph495 +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1gruytagt6wcqarncm5ske8y3zevgqv8u6mkgyx] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1gruytagt6wcqarncm5ske8y3zevgqv8u6mkgyx +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1jmqvf9eypak3hh85gfpcpm7d8jjzd7jnnhr0xw] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1jmqvf9eypak3hh85gfpcpm7d8jjzd7jnnhr0xw +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1kxdfjs4tnu88aaqhvl9caja9qq9fs4r5qmpwqj] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1kxdfjs4tnu88aaqhvl9caja9qq9fs4r5qmpwqj +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1l9cu77ay8wlyh7mxlgh0dpazw70w4f3y26g5v5] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1l9cu77ay8wlyh7mxlgh0dpazw70w4f3y26g5v5 +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1lz280526tw8r06jtpxkzxajqmfsjkt57963kfr] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1lz280526tw8r06jtpxkzxajqmfsjkt57963kfr +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1q37rs9cmgqz5vnvwmr5v2a4sdzez0xfs2lvl63] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1q37rs9cmgqz5vnvwmr5v2a4sdzez0xfs2lvl63 +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1qamlsmj22p3zkchgva2ydhegfwz3ls7m5sm7rs] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1qamlsmj22p3zkchgva2ydhegfwz3ls7m5sm7rs +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1qaq7mkvuc474k2nyjm2suwyes06fdm4kt26ks4] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1qaq7mkvuc474k2nyjm2suwyes06fdm4kt26ks4 +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1tzkdzjq28sjp2rn6053rg9526w8sc2tm8jh0u4] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1tzkdzjq28sjp2rn6053rg9526w8sc2tm8jh0u4 +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1uavssa4h4s73h5fdqlheytyl6c8mvl89yfuuq9] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1uavssa4h4s73h5fdqlheytyl6c8mvl89yfuuq9 +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1urvjvfzgmrvj79tk97t22whkwdfg7qng32rjjz] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1urvjvfzgmrvj79tk97t22whkwdfg7qng32rjjz +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1xqsp96842fsht7m6p4slvrfhl53wfqft866sc7] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1xqsp96842fsht7m6p4slvrfhl53wfqft866sc7 +decimals = 0 + +[factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1xwk6glum68vdqdnx5gs0mkp909vdhx6uwhfr4y] +peggy_denom = factory/inj1tcjf7r5vksr0g80pdcdada44teauwkkahelyfy/lpinj1xwk6glum68vdqdnx5gs0mkp909vdhx6uwhfr4y +decimals = 0 + +[factory/inj1td2vzcjnhwmzfd9ky9mxtwmnfrv0a3keytv2y3/position] +peggy_denom = factory/inj1td2vzcjnhwmzfd9ky9mxtwmnfrv0a3keytv2y3/position +decimals = 0 + +[factory/inj1tg5f2vykdt4sweqgsm3q8lva30wry955hwdvju/position] +peggy_denom = factory/inj1tg5f2vykdt4sweqgsm3q8lva30wry955hwdvju/position +decimals = 0 + +[factory/inj1tgn4tyjf0y20mxpydwv3454l3ze0uwdl3cgpaf/position] +peggy_denom = factory/inj1tgn4tyjf0y20mxpydwv3454l3ze0uwdl3cgpaf/position +decimals = 0 + +[factory/inj1tk4ml8fce5ghx7y2gtnqhw57e9m59ep27497xv/uLP] +peggy_denom = factory/inj1tk4ml8fce5ghx7y2gtnqhw57e9m59ep27497xv/uLP +decimals = 0 + +[factory/inj1tlfznhm0t6m456nlqzcdhcm54048dp00n4rznd/lpinj1kjpg9p0h6g5zuwdzhgn7atleqeuqnysxs9xvtv] +peggy_denom = factory/inj1tlfznhm0t6m456nlqzcdhcm54048dp00n4rznd/lpinj1kjpg9p0h6g5zuwdzhgn7atleqeuqnysxs9xvtv +decimals = 0 + +[factory/inj1tlfznhm0t6m456nlqzcdhcm54048dp00n4rznd/lpinj1qscnau8y47upvhc7rs5c2kkpkrpqc0a0crp6av] +peggy_denom = factory/inj1tlfznhm0t6m456nlqzcdhcm54048dp00n4rznd/lpinj1qscnau8y47upvhc7rs5c2kkpkrpqc0a0crp6av +decimals = 0 + +[factory/inj1tlrwn7cm5hgpttyjkrw94qvwapeck2f7u855hn/position] +peggy_denom = factory/inj1tlrwn7cm5hgpttyjkrw94qvwapeck2f7u855hn/position +decimals = 0 + +[factory/inj1tlxsr4ezttv242jh3tdt675s2kemvcqx9yn4m3/position] +peggy_denom = factory/inj1tlxsr4ezttv242jh3tdt675s2kemvcqx9yn4m3/position +decimals = 0 + +[factory/inj1tnplj57r9he4z0v4596zvqxysj4hyr8l4vndhj/inj-test] +peggy_denom = factory/inj1tnplj57r9he4z0v4596zvqxysj4hyr8l4vndhj/inj-test +decimals = 0 + +[factory/inj1tnplj57r9he4z0v4596zvqxysj4hyr8l4vndhj/inj-test2] +peggy_denom = factory/inj1tnplj57r9he4z0v4596zvqxysj4hyr8l4vndhj/inj-test2 +decimals = 0 + +[factory/inj1tnplj57r9he4z0v4596zvqxysj4hyr8l4vndhj/inj-test3] +peggy_denom = factory/inj1tnplj57r9he4z0v4596zvqxysj4hyr8l4vndhj/inj-test3 +decimals = 0 + +[factory/inj1tnplj57r9he4z0v4596zvqxysj4hyr8l4vndhj/your-token-subdenom] +peggy_denom = factory/inj1tnplj57r9he4z0v4596zvqxysj4hyr8l4vndhj/your-token-subdenom +decimals = 0 + +[factory/inj1tnwe94x7n52vs70rsawvcs0fnktqp2h38vje26/BOND] +peggy_denom = factory/inj1tnwe94x7n52vs70rsawvcs0fnktqp2h38vje26/BOND +decimals = 0 + +[factory/inj1tq80yx8jmw48wjzpaajqpyd7pe849vsz20qwsk/position] +peggy_denom = factory/inj1tq80yx8jmw48wjzpaajqpyd7pe849vsz20qwsk/position +decimals = 0 + +[factory/inj1tqw2laydve0l92fvkel5l6cdjgzm8ek5k6w7yq/position] +peggy_denom = factory/inj1tqw2laydve0l92fvkel5l6cdjgzm8ek5k6w7yq/position +decimals = 0 + +[factory/inj1trs377m67pndeu0sxptzuptcrzua5k4jya9rc3/position] +peggy_denom = factory/inj1trs377m67pndeu0sxptzuptcrzua5k4jya9rc3/position +decimals = 0 + +[factory/inj1tsqkcae8d6azqn6587d0e28prw682954y22ejs/position] +peggy_denom = factory/inj1tsqkcae8d6azqn6587d0e28prw682954y22ejs/position +decimals = 0 + +[factory/inj1tvgmd4hmxt4synazauj02v044dwenmucljzm3h/kin] +peggy_denom = factory/inj1tvgmd4hmxt4synazauj02v044dwenmucljzm3h/kin +decimals = 0 + +[factory/inj1tvml37kkfymrwmx583ed9eyur3jjq72ftf67rc/inj-test] +peggy_denom = factory/inj1tvml37kkfymrwmx583ed9eyur3jjq72ftf67rc/inj-test +decimals = 0 + +[factory/inj1tvzvzmhp5wnryf6dph2w5alkweqy4jj4w9fxwc/position] +peggy_denom = factory/inj1tvzvzmhp5wnryf6dph2w5alkweqy4jj4w9fxwc/position +decimals = 0 + +[factory/inj1twteeyr3xuvckejmu9z4728qdasavaq0z32gkd/position] +peggy_denom = factory/inj1twteeyr3xuvckejmu9z4728qdasavaq0z32gkd/position +decimals = 0 + +[factory/inj1tx74j0uslp4pr5neyxxxgajh6gx5s9lnahpp5r/TheJanitor] +peggy_denom = factory/inj1tx74j0uslp4pr5neyxxxgajh6gx5s9lnahpp5r/TheJanitor +decimals = 0 + +[factory/inj1tx74j0uslp4pr5neyxxxgajh6gx5s9lnahpp5r/mtsc] +peggy_denom = factory/inj1tx74j0uslp4pr5neyxxxgajh6gx5s9lnahpp5r/mtsc +decimals = 0 + +[factory/inj1tx74j0uslp4pr5neyxxxgajh6gx5s9lnahpp5r/rfl] +peggy_denom = factory/inj1tx74j0uslp4pr5neyxxxgajh6gx5s9lnahpp5r/rfl +decimals = 0 + +[factory/inj1tx74j0uslp4pr5neyxxxgajh6gx5s9lnahpp5r/rflf] +peggy_denom = factory/inj1tx74j0uslp4pr5neyxxxgajh6gx5s9lnahpp5r/rflf +decimals = 0 + +[factory/inj1tx74j0uslp4pr5neyxxxgajh6gx5s9lnahpp5r/tst] +peggy_denom = factory/inj1tx74j0uslp4pr5neyxxxgajh6gx5s9lnahpp5r/tst +decimals = 0 + +[factory/inj1tx74j0uslp4pr5neyxxxgajh6gx5s9lnahpp5r/tstt] +peggy_denom = factory/inj1tx74j0uslp4pr5neyxxxgajh6gx5s9lnahpp5r/tstt +decimals = 0 + +[factory/inj1txpchnswwz7qnwgx4ew5enwalwkxl0wm7fwjfp/position] +peggy_denom = factory/inj1txpchnswwz7qnwgx4ew5enwalwkxl0wm7fwjfp/position +decimals = 0 + +[factory/inj1txza6wm8eykq7v6d97kywxz9r0xe9r8tleq9al/inj1ylxjl6qvr3efug3950rn9z2atdp02fyejlpsgx] +peggy_denom = factory/inj1txza6wm8eykq7v6d97kywxz9r0xe9r8tleq9al/inj1ylxjl6qvr3efug3950rn9z2atdp02fyejlpsgx +decimals = 0 + +[factory/inj1txza6wm8eykq7v6d97kywxz9r0xe9r8tleq9al/inj1yzv093zw480v5q3vmy275xyvp4x9q98k029ezd] +peggy_denom = factory/inj1txza6wm8eykq7v6d97kywxz9r0xe9r8tleq9al/inj1yzv093zw480v5q3vmy275xyvp4x9q98k029ezd +decimals = 0 + +[factory/inj1u0lamqk0qggn5cxqn53t79jsthcpen9w754ayc/KIWI] +peggy_denom = factory/inj1u0lamqk0qggn5cxqn53t79jsthcpen9w754ayc/KIWI +decimals = 6 + +[factory/inj1u0lamqk0qggn5cxqn53t79jsthcpen9w754ayc/TEST] +peggy_denom = factory/inj1u0lamqk0qggn5cxqn53t79jsthcpen9w754ayc/TEST +decimals = 6 + +[factory/inj1u0lamqk0qggn5cxqn53t79jsthcpen9w754ayc/TEST2] +peggy_denom = factory/inj1u0lamqk0qggn5cxqn53t79jsthcpen9w754ayc/TEST2 +decimals = 6 + +[factory/inj1u0lamqk0qggn5cxqn53t79jsthcpen9w754ayc/TEST3] +peggy_denom = factory/inj1u0lamqk0qggn5cxqn53t79jsthcpen9w754ayc/TEST3 +decimals = 6 + +[factory/inj1u0lamqk0qggn5cxqn53t79jsthcpen9w754ayc/TEST4] +peggy_denom = factory/inj1u0lamqk0qggn5cxqn53t79jsthcpen9w754ayc/TEST4 +decimals = 6 + +[factory/inj1u0lamqk0qggn5cxqn53t79jsthcpen9w754ayc/TEST5] +peggy_denom = factory/inj1u0lamqk0qggn5cxqn53t79jsthcpen9w754ayc/TEST5 +decimals = 18 + +[factory/inj1u0yfajq9e5huyylh4tllxvswdsgp3d2eum7za5/position] +peggy_denom = factory/inj1u0yfajq9e5huyylh4tllxvswdsgp3d2eum7za5/position +decimals = 0 + +[factory/inj1u2gzmedq4suw64ulpu7uwehy2mqaysfrt0nq0q/position] +peggy_denom = factory/inj1u2gzmedq4suw64ulpu7uwehy2mqaysfrt0nq0q/position +decimals = 0 + +[factory/inj1u4d97wd4mya77h6mxk8q7grz6smc4esmjawhv9/position] +peggy_denom = factory/inj1u4d97wd4mya77h6mxk8q7grz6smc4esmjawhv9/position +decimals = 0 + +[factory/inj1u4h6wt3rcctpcrmpcctmkhvxqt3aj5ugmm5hlj/position] +peggy_denom = factory/inj1u4h6wt3rcctpcrmpcctmkhvxqt3aj5ugmm5hlj/position +decimals = 0 + +[factory/inj1u64862u7plt539jm79eqnm4redcke8nszdy504/position] +peggy_denom = factory/inj1u64862u7plt539jm79eqnm4redcke8nszdy504/position +decimals = 0 + +[factory/inj1u6czgmqjcpku02z5hgnqd8c8z647lhzx07r8vd/position] +peggy_denom = factory/inj1u6czgmqjcpku02z5hgnqd8c8z647lhzx07r8vd/position +decimals = 0 + +[factory/inj1u6kx7cmvay8pv74d5xk07wtdergjcmhm5yfuxa/tp] +peggy_denom = factory/inj1u6kx7cmvay8pv74d5xk07wtdergjcmhm5yfuxa/tp +decimals = 0 + +[factory/inj1uc0hj8z6xu6nf3m4flwpklf98vu4wr87hud3mh/TEST] +peggy_denom = factory/inj1uc0hj8z6xu6nf3m4flwpklf98vu4wr87hud3mh/TEST +decimals = 6 + +[factory/inj1uc0hj8z6xu6nf3m4flwpklf98vu4wr87hud3mh/Test] +peggy_denom = factory/inj1uc0hj8z6xu6nf3m4flwpklf98vu4wr87hud3mh/Test +decimals = 6 + +[factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684004788InjUsdt1d110C] +peggy_denom = factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684004788InjUsdt1d110C +decimals = 0 + +[factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684160754InjUsdt1d110C] +peggy_denom = factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684160754InjUsdt1d110C +decimals = 0 + +[factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684161043InjUsdt7d85P] +peggy_denom = factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684161043InjUsdt7d85P +decimals = 0 + +[factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684342128InjUsdt21d110C] +peggy_denom = factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684342128InjUsdt21d110C +decimals = 0 + +[factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684342228InjUsdt14d130C] +peggy_denom = factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684342228InjUsdt14d130C +decimals = 0 + +[factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684342259InjUsdt7d120C] +peggy_denom = factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684342259InjUsdt7d120C +decimals = 0 + +[factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684342288AtomUsdt21d115C] +peggy_denom = factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684342288AtomUsdt21d115C +decimals = 0 + +[factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684342323AtomUsdt21d90P] +peggy_denom = factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684342323AtomUsdt21d90P +decimals = 0 + +[factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684342562InjUsdt14d80P] +peggy_denom = factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684342562InjUsdt14d80P +decimals = 0 + +[factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684342583InjUsdt21d88P] +peggy_denom = factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684342583InjUsdt21d88P +decimals = 0 + +[factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684342627InjUsdt7d85P] +peggy_denom = factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684342627InjUsdt7d85P +decimals = 0 + +[factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684519105InjUsdt14d130C] +peggy_denom = factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684519105InjUsdt14d130C +decimals = 0 + +[factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684730927InjUsdt14d130C] +peggy_denom = factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684730927InjUsdt14d130C +decimals = 0 + +[factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684902871InjUsdt14d130C] +peggy_denom = factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1684902871InjUsdt14d130C +decimals = 0 + +[factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1685029827InjUsdt14d130C] +peggy_denom = factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1685029827InjUsdt14d130C +decimals = 0 + +[factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1685200859InjUsdt14d130C] +peggy_denom = factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1685200859InjUsdt14d130C +decimals = 0 + +[factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1685201782InjUsdt14d130C] +peggy_denom = factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1685201782InjUsdt14d130C +decimals = 0 + +[factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1685379415InjUsdt14d130C] +peggy_denom = factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1685379415InjUsdt14d130C +decimals = 0 + +[factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1685547447InjUsdt14d130C] +peggy_denom = factory/inj1udrg8ug3g0qr54zw5yvcg3rxesuj06pvr4xtkz/1685547447InjUsdt14d130C +decimals = 0 + +[factory/inj1ue7fhf4gm9et2j8c74pf3j6mpq6zfr0ss9pymj/position] +peggy_denom = factory/inj1ue7fhf4gm9et2j8c74pf3j6mpq6zfr0ss9pymj/position +decimals = 0 + +[factory/inj1uegc6g6gvjeq3efkevha8a26lruku53j2tm6ez/nusd] +peggy_denom = factory/inj1uegc6g6gvjeq3efkevha8a26lruku53j2tm6ez/nusd +decimals = 0 + +[factory/inj1ueq4h3gh8v2wdq6nk97d4ucxutdkqz7uma7twy/position] +peggy_denom = factory/inj1ueq4h3gh8v2wdq6nk97d4ucxutdkqz7uma7twy/position +decimals = 0 + +[factory/inj1ujd7rlhp8980lwg74tek7gv4yv4qj4xcvxrx45/ak] +peggy_denom = factory/inj1ujd7rlhp8980lwg74tek7gv4yv4qj4xcvxrx45/ak +decimals = 6 + +[factory/inj1unjzfc767mt3ddln99h3u7gqccq4ktnkqxssgn/position] +peggy_denom = factory/inj1unjzfc767mt3ddln99h3u7gqccq4ktnkqxssgn/position +decimals = 0 + +[factory/inj1up4y7jqyz0vxqpzky20jve5837thglaccfu80m/position] +peggy_denom = factory/inj1up4y7jqyz0vxqpzky20jve5837thglaccfu80m/position +decimals = 0 + +[factory/inj1urpyedgvqtfutghgd9pygsa9n9df6nahjygjfc/position] +peggy_denom = factory/inj1urpyedgvqtfutghgd9pygsa9n9df6nahjygjfc/position +decimals = 0 + +[factory/inj1usgjy0d22uetxkrw7wk7ghdwcje5mldjlahf9u/position] +peggy_denom = factory/inj1usgjy0d22uetxkrw7wk7ghdwcje5mldjlahf9u/position +decimals = 0 + +[factory/inj1ut4dqsjmy359rtcm2c968kju22j3auejw227yk/position] +peggy_denom = factory/inj1ut4dqsjmy359rtcm2c968kju22j3auejw227yk/position +decimals = 0 + +[factory/inj1utgap8ev5g4f97t5qta6fz2vreea6kh49x7d57/position] +peggy_denom = factory/inj1utgap8ev5g4f97t5qta6fz2vreea6kh49x7d57/position +decimals = 0 + +[factory/inj1uumx6djsue8reph7zqxvct9qh5ymfkewrlrvkh/position] +peggy_denom = factory/inj1uumx6djsue8reph7zqxvct9qh5ymfkewrlrvkh/position +decimals = 0 + +[factory/inj1uv23c02y8kyst63gmd9s90xnusxm082cz75svm/position] +peggy_denom = factory/inj1uv23c02y8kyst63gmd9s90xnusxm082cz75svm/position +decimals = 0 + +[factory/inj1uv6psuupldve0c9n3uezqlecadszqexv5vxx04/position] +peggy_denom = factory/inj1uv6psuupldve0c9n3uezqlecadszqexv5vxx04/position +decimals = 0 + +[factory/inj1uvhnfynmzakn5w9hy0lx4ekjg2n43l6wn589yn/position] +peggy_denom = factory/inj1uvhnfynmzakn5w9hy0lx4ekjg2n43l6wn589yn/position +decimals = 0 + +[factory/inj1uxfds27smnfldzeqvw9sxe9ezmsn76vf36y8mu/position] +peggy_denom = factory/inj1uxfds27smnfldzeqvw9sxe9ezmsn76vf36y8mu/position +decimals = 0 + +[factory/inj1uyv6e9u30eckntsa5y968mvzh53482stcmhuqp/position] +peggy_denom = factory/inj1uyv6e9u30eckntsa5y968mvzh53482stcmhuqp/position +decimals = 0 + +[factory/inj1v3nvact8rvv23fc5ql8ghv46s8gxajwynddsgf/position] +peggy_denom = factory/inj1v3nvact8rvv23fc5ql8ghv46s8gxajwynddsgf/position +decimals = 0 + +[factory/inj1v3t83cl8jg2g9rxxzzyz663sx2md7mkap48qpw/position] +peggy_denom = factory/inj1v3t83cl8jg2g9rxxzzyz663sx2md7mkap48qpw/position +decimals = 0 + +[factory/inj1v4rt4k8c92m2e39xnrp0rur23ch24vlraeqrnj/position] +peggy_denom = factory/inj1v4rt4k8c92m2e39xnrp0rur23ch24vlraeqrnj/position +decimals = 0 + +[factory/inj1v4s3v3nmsx6szyxqgcnqdfseucu4ccm65sh0xr/lp] +peggy_denom = factory/inj1v4s3v3nmsx6szyxqgcnqdfseucu4ccm65sh0xr/lp +decimals = 0 + +[factory/inj1v50298l9a3p8zq3hm6sfa02sj3h4l40m2e85sg/position] +peggy_denom = factory/inj1v50298l9a3p8zq3hm6sfa02sj3h4l40m2e85sg/position +decimals = 0 + +[factory/inj1v6f2f8gqyk9u5pquxqvsxamjfmu0anlqty0tck/position] +peggy_denom = factory/inj1v6f2f8gqyk9u5pquxqvsxamjfmu0anlqty0tck/position +decimals = 0 + +[factory/inj1v6j600fchr65djzwg32pwn0wrmumayk7wz3045/position] +peggy_denom = factory/inj1v6j600fchr65djzwg32pwn0wrmumayk7wz3045/position +decimals = 0 + +[factory/inj1v9dh0z7vmn8aa6rjssertmh65q6zu43vu4lzqg/position] +peggy_denom = factory/inj1v9dh0z7vmn8aa6rjssertmh65q6zu43vu4lzqg/position +decimals = 0 + +[factory/inj1v9efws63c8luhqqcxxyjv5yn84tw4an528avmn/position] +peggy_denom = factory/inj1v9efws63c8luhqqcxxyjv5yn84tw4an528avmn/position +decimals = 0 + +[factory/inj1v9m8ra08jmvgf7r086wjs660gaz4qman79068v/position] +peggy_denom = factory/inj1v9m8ra08jmvgf7r086wjs660gaz4qman79068v/position +decimals = 0 + +[factory/inj1v9u88x6364g7mgyhywe6k5mgmwh9hrmzgfqkga/position] +peggy_denom = factory/inj1v9u88x6364g7mgyhywe6k5mgmwh9hrmzgfqkga/position +decimals = 0 + +[factory/inj1vam3mucqmr3jq8g8tlyvwpg2d6n5saepvjqm9j/position] +peggy_denom = factory/inj1vam3mucqmr3jq8g8tlyvwpg2d6n5saepvjqm9j/position +decimals = 0 + +[factory/inj1vdjylk9h6x5l5rdeq69kzz8epkdj49jz3vnkck/lpinj167fk7vydv5sc3yvdlhrrnrh236qusaaunsrlaw] +peggy_denom = factory/inj1vdjylk9h6x5l5rdeq69kzz8epkdj49jz3vnkck/lpinj167fk7vydv5sc3yvdlhrrnrh236qusaaunsrlaw +decimals = 0 + +[factory/inj1vdjylk9h6x5l5rdeq69kzz8epkdj49jz3vnkck/lpinj1jl72nssaq64u6ze7ducpvne4k3knd7p4e38wmv] +peggy_denom = factory/inj1vdjylk9h6x5l5rdeq69kzz8epkdj49jz3vnkck/lpinj1jl72nssaq64u6ze7ducpvne4k3knd7p4e38wmv +decimals = 0 + +[factory/inj1vfwt0zwcx60sk3rlszfwezygd35lq9kjh6g9df/ak] +peggy_denom = factory/inj1vfwt0zwcx60sk3rlszfwezygd35lq9kjh6g9df/ak +decimals = 6 + +[factory/inj1vgg9a0fgt03s6naw4y8kpeqrxaftvjx7n729x9/position] +peggy_denom = factory/inj1vgg9a0fgt03s6naw4y8kpeqrxaftvjx7n729x9/position +decimals = 0 + +[factory/inj1vh4qp2p4y0lxqxhu7w2wj3puam6x28atmkqcar/ABC] +peggy_denom = factory/inj1vh4qp2p4y0lxqxhu7w2wj3puam6x28atmkqcar/ABC +decimals = 0 + +[factory/inj1vh4qp2p4y0lxqxhu7w2wj3puam6x28atmkqcar/INJ] +peggy_denom = factory/inj1vh4qp2p4y0lxqxhu7w2wj3puam6x28atmkqcar/INJ +decimals = 0 + +[factory/inj1vh4qp2p4y0lxqxhu7w2wj3puam6x28atmkqcar/TOK] +peggy_denom = factory/inj1vh4qp2p4y0lxqxhu7w2wj3puam6x28atmkqcar/TOK +decimals = 0 + +[factory/inj1vh4qp2p4y0lxqxhu7w2wj3puam6x28atmkqcar/TST] +peggy_denom = factory/inj1vh4qp2p4y0lxqxhu7w2wj3puam6x28atmkqcar/TST +decimals = 0 + +[factory/inj1vh4qp2p4y0lxqxhu7w2wj3puam6x28atmkqcar/TYC] +peggy_denom = factory/inj1vh4qp2p4y0lxqxhu7w2wj3puam6x28atmkqcar/TYC +decimals = 0 + +[factory/inj1vh4qp2p4y0lxqxhu7w2wj3puam6x28atmkqcar/WWG] +peggy_denom = factory/inj1vh4qp2p4y0lxqxhu7w2wj3puam6x28atmkqcar/WWG +decimals = 0 + +[factory/inj1vh4qp2p4y0lxqxhu7w2wj3puam6x28atmkqcar/WWWG] +peggy_denom = factory/inj1vh4qp2p4y0lxqxhu7w2wj3puam6x28atmkqcar/WWWG +decimals = 0 + +[factory/inj1vh4qp2p4y0lxqxhu7w2wj3puam6x28atmkqcar/WWwGG] +peggy_denom = factory/inj1vh4qp2p4y0lxqxhu7w2wj3puam6x28atmkqcar/WWwGG +decimals = 0 + +[factory/inj1vh4qp2p4y0lxqxhu7w2wj3puam6x28atmkqcar/your-token-subdenom] +peggy_denom = factory/inj1vh4qp2p4y0lxqxhu7w2wj3puam6x28atmkqcar/your-token-subdenom +decimals = 0 + +[factory/inj1vh87n639uwq0smzzxj82mqlyu5yxzn7l7fjcs0/position] +peggy_denom = factory/inj1vh87n639uwq0smzzxj82mqlyu5yxzn7l7fjcs0/position +decimals = 0 + +[factory/inj1vjjppnr2gws0e678uhegmcruhyx55nk6w2hg2k/position] +peggy_denom = factory/inj1vjjppnr2gws0e678uhegmcruhyx55nk6w2hg2k/position +decimals = 0 + +[factory/inj1vjjzzlev5u0hzzh4lju29mhv9efte87w5czs39/position] +peggy_denom = factory/inj1vjjzzlev5u0hzzh4lju29mhv9efte87w5czs39/position +decimals = 0 + +[factory/inj1vjyvqyhvd00zzpwrr6v3keydp43z8pnsl48cx3/Testone] +peggy_denom = factory/inj1vjyvqyhvd00zzpwrr6v3keydp43z8pnsl48cx3/Testone +decimals = 6 + +[factory/inj1vkrp72xd67plcggcfjtjelqa4t5a093xljf2vj/inj1spw6nd0pj3kd3fgjljhuqpc8tv72a9v89myuja] +peggy_denom = factory/inj1vkrp72xd67plcggcfjtjelqa4t5a093xljf2vj/inj1spw6nd0pj3kd3fgjljhuqpc8tv72a9v89myuja +decimals = 0 + +[factory/inj1vlkpm04nu8dssskal6xkssfz6rl4zayg2pq7yu/position] +peggy_denom = factory/inj1vlkpm04nu8dssskal6xkssfz6rl4zayg2pq7yu/position +decimals = 0 + +[factory/inj1vmch9emlwa49ersxh7svqjckkjwuzrm76xuyqq/position] +peggy_denom = factory/inj1vmch9emlwa49ersxh7svqjckkjwuzrm76xuyqq/position +decimals = 0 + +[factory/inj1vmcrwdcymjkz8djsp04ya95xcux6utvp4dvwch/position] +peggy_denom = factory/inj1vmcrwdcymjkz8djsp04ya95xcux6utvp4dvwch/position +decimals = 0 + +[factory/inj1vnw2qhycavcehry6a9sex07nr76axev5s59x96/position] +peggy_denom = factory/inj1vnw2qhycavcehry6a9sex07nr76axev5s59x96/position +decimals = 0 + +[factory/inj1vpp394hzv5rwz9de9xx60rxjl9cx82t0nt0nrz/cook] +peggy_denom = factory/inj1vpp394hzv5rwz9de9xx60rxjl9cx82t0nt0nrz/cook +decimals = 6 + +[factory/inj1vpp394hzv5rwz9de9xx60rxjl9cx82t0nt0nrz/cookie] +peggy_denom = factory/inj1vpp394hzv5rwz9de9xx60rxjl9cx82t0nt0nrz/cookie +decimals = 6 + +[factory/inj1vpp394hzv5rwz9de9xx60rxjl9cx82t0nt0nrz/test213] +peggy_denom = factory/inj1vpp394hzv5rwz9de9xx60rxjl9cx82t0nt0nrz/test213 +decimals = 6 + +[factory/inj1vpp394hzv5rwz9de9xx60rxjl9cx82t0nt0nrz/test9] +peggy_denom = factory/inj1vpp394hzv5rwz9de9xx60rxjl9cx82t0nt0nrz/test9 +decimals = 6 + +[factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/BONK] +peggy_denom = factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/BONK +decimals = 18 + +[factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/BOY] +peggy_denom = factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/BOY +decimals = 0 + +[factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/MAD] +peggy_denom = factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/MAD +decimals = 0 + +[factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/MADARA] +peggy_denom = factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/MADARA +decimals = 0 + +[factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/MADRAA] +peggy_denom = factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/MADRAA +decimals = 0 + +[factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/MAY] +peggy_denom = factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/MAY +decimals = 0 + +[factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/MUD] +peggy_denom = factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/MUD +decimals = 0 + +[factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/TTS] +peggy_denom = factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/TTS +decimals = 0 + +[factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/bou] +peggy_denom = factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/bou +decimals = 0 + +[factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/lyl] +peggy_denom = factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/lyl +decimals = 0 + +[factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/ruk] +peggy_denom = factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/ruk +decimals = 0 + +[factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/tis] +peggy_denom = factory/inj1vqt6a3y2t7efvdv7u3zl6ht7tg4a5733wljxy5/tis +decimals = 0 + +[factory/inj1vu3ywmx6jhknclgjetxftdf2fpgyxsndh9xy4t/ugop] +peggy_denom = factory/inj1vu3ywmx6jhknclgjetxftdf2fpgyxsndh9xy4t/ugop +decimals = 0 + +[factory/inj1vursge2u0xq88ff5dc9zl3wzxpaed6498pyurc/position] +peggy_denom = factory/inj1vursge2u0xq88ff5dc9zl3wzxpaed6498pyurc/position +decimals = 0 + +[factory/inj1vypjl0lxse2hpkpff9jpjcfpexnwhjhrl4jtxg/position] +peggy_denom = factory/inj1vypjl0lxse2hpkpff9jpjcfpexnwhjhrl4jtxg/position +decimals = 0 + +[factory/inj1vzup2kfsrsevjcesq3pyzc6dyz07ve8jc6m4kf/tv-t1] +peggy_denom = factory/inj1vzup2kfsrsevjcesq3pyzc6dyz07ve8jc6m4kf/tv-t1 +decimals = 0 + +[factory/inj1w0dj787d00t9t53vz9aszkcmdt0he6cmall5lz/position] +peggy_denom = factory/inj1w0dj787d00t9t53vz9aszkcmdt0he6cmall5lz/position +decimals = 0 + +[factory/inj1w2p89vprfp4rk9ql22fcat579jw6lcndaqenxk/position] +peggy_denom = factory/inj1w2p89vprfp4rk9ql22fcat579jw6lcndaqenxk/position +decimals = 0 + +[factory/inj1w4v783ckdxa4sg3xr7thtqy92u8pjt09cq84ns/inj-test] +peggy_denom = factory/inj1w4v783ckdxa4sg3xr7thtqy92u8pjt09cq84ns/inj-test +decimals = 0 + +[factory/inj1w64pxulxdnjnsgg88yg0wv4xtltuvdt60dxx52/usdcet] +peggy_denom = factory/inj1w64pxulxdnjnsgg88yg0wv4xtltuvdt60dxx52/usdcet +decimals = 0 + +[factory/inj1wcgxfkevadmdvrnfj6arpm0dulaap778gdfydy/position] +peggy_denom = factory/inj1wcgxfkevadmdvrnfj6arpm0dulaap778gdfydy/position +decimals = 0 + +[factory/inj1wdlaxz5j2kuvvw6j6zapkhst03w99uqu4qzjqr/position] +peggy_denom = factory/inj1wdlaxz5j2kuvvw6j6zapkhst03w99uqu4qzjqr/position +decimals = 0 + +[factory/inj1weg6gph4cwe7mnk06h7r640r9kjz3aah5vd8q2/position] +peggy_denom = factory/inj1weg6gph4cwe7mnk06h7r640r9kjz3aah5vd8q2/position +decimals = 0 + +[factory/inj1wfu4622uhs5kmfws8vse76sxac7qxu3pckhkph/ak] +peggy_denom = factory/inj1wfu4622uhs5kmfws8vse76sxac7qxu3pckhkph/ak +decimals = 0 + +[factory/inj1wljgztgggw6a96hgyypyl8fwmtgtedzkekhnxn/position] +peggy_denom = factory/inj1wljgztgggw6a96hgyypyl8fwmtgtedzkekhnxn/position +decimals = 0 + +[factory/inj1wlygmaypnsznpvnzjmlcfntua0k9smduh9ps3k/position] +peggy_denom = factory/inj1wlygmaypnsznpvnzjmlcfntua0k9smduh9ps3k/position +decimals = 0 + +[factory/inj1wn5jk6wn52c3lcz7tj2syt3tye7s7hzn49gnk7/position] +peggy_denom = factory/inj1wn5jk6wn52c3lcz7tj2syt3tye7s7hzn49gnk7/position +decimals = 0 + +[factory/inj1wpuctnwfks0c9wu8cysq8lj056a07h4lk8pffc/position] +peggy_denom = factory/inj1wpuctnwfks0c9wu8cysq8lj056a07h4lk8pffc/position +decimals = 0 + +[factory/inj1wqk89jknq4z4vk247r7qw83e3efq79pr0gcrac/TEST] +peggy_denom = factory/inj1wqk89jknq4z4vk247r7qw83e3efq79pr0gcrac/TEST +decimals = 18 + +[factory/inj1wr9djhlgvu6ssy9aw2f6xnzr6edl8p3fmdxvr5/position] +peggy_denom = factory/inj1wr9djhlgvu6ssy9aw2f6xnzr6edl8p3fmdxvr5/position +decimals = 0 + +[factory/inj1wtkwu7263hrj6qsyq59dvjtfq7eg3n97zmyew7/position] +peggy_denom = factory/inj1wtkwu7263hrj6qsyq59dvjtfq7eg3n97zmyew7/position +decimals = 0 + +[factory/inj1ww0njtv5man6as3evjy4aq3t08dnapf8wgvvpx/kusd] +peggy_denom = factory/inj1ww0njtv5man6as3evjy4aq3t08dnapf8wgvvpx/kusd +decimals = 0 + +[factory/inj1wyuxew5u8tdv2fcrjxqtewa75a0nhud26yx322/position] +peggy_denom = factory/inj1wyuxew5u8tdv2fcrjxqtewa75a0nhud26yx322/position +decimals = 0 + +[factory/inj1wz4c7eq2kqzchry9ppc5nv0llcr56v8s8xy3qy/ak] +peggy_denom = factory/inj1wz4c7eq2kqzchry9ppc5nv0llcr56v8s8xy3qy/ak +decimals = 0 + +[factory/inj1x098l8f3uxkfslk02n8ekct867qft2q9a43pez/position] +peggy_denom = factory/inj1x098l8f3uxkfslk02n8ekct867qft2q9a43pez/position +decimals = 0 + +[factory/inj1x0y2k45p8g4c5k09z6y4s62ann48td8dmmtr7p/position] +peggy_denom = factory/inj1x0y2k45p8g4c5k09z6y4s62ann48td8dmmtr7p/position +decimals = 0 + +[factory/inj1x33pdf4m2d89klwevndvdv408em5fskarss4j4/position] +peggy_denom = factory/inj1x33pdf4m2d89klwevndvdv408em5fskarss4j4/position +decimals = 0 + +[factory/inj1x36xltunr3hczrzzcjgsdz8a4rjrxvl3lwnyxx/position] +peggy_denom = factory/inj1x36xltunr3hczrzzcjgsdz8a4rjrxvl3lwnyxx/position +decimals = 0 + +[factory/inj1x52kjrdrfxlsgnfu67cstxfcf33ax97anne4qw/position] +peggy_denom = factory/inj1x52kjrdrfxlsgnfu67cstxfcf33ax97anne4qw/position +decimals = 0 + +[factory/inj1x59f3klrj20uenzynq5va3r9jjn0g4req7wpc0/Test] +peggy_denom = factory/inj1x59f3klrj20uenzynq5va3r9jjn0g4req7wpc0/Test +decimals = 0 + +[factory/inj1x59f3klrj20uenzynq5va3r9jjn0g4req7wpc0/test] +peggy_denom = factory/inj1x59f3klrj20uenzynq5va3r9jjn0g4req7wpc0/test +decimals = 6 + +[factory/inj1x5w6ggv3p67kpj9n6teprx3uqxfn4e5rpq82fv/position] +peggy_denom = factory/inj1x5w6ggv3p67kpj9n6teprx3uqxfn4e5rpq82fv/position +decimals = 0 + +[factory/inj1x63pwwsuwpmgnm3jjgm8v4cva05358082tqysd/position] +peggy_denom = factory/inj1x63pwwsuwpmgnm3jjgm8v4cva05358082tqysd/position +decimals = 0 + +[factory/inj1x66srsf7gnm0fz3p6ceazp7h9p60hyxmxqh0s3/position] +peggy_denom = factory/inj1x66srsf7gnm0fz3p6ceazp7h9p60hyxmxqh0s3/position +decimals = 0 + +[factory/inj1x7c4naavu5g6325xkxgaffll6q033prgpe86q3/nUSD] +peggy_denom = factory/inj1x7c4naavu5g6325xkxgaffll6q033prgpe86q3/nUSD +decimals = 18 + +[factory/inj1x8lczzuhxpp5nhf72nfv0e74vkjxvqag05clpn/position] +peggy_denom = factory/inj1x8lczzuhxpp5nhf72nfv0e74vkjxvqag05clpn/position +decimals = 0 + +[factory/inj1x8rucyh7paah9dlldcfcfuscl3scdtus26m822/position] +peggy_denom = factory/inj1x8rucyh7paah9dlldcfcfuscl3scdtus26m822/position +decimals = 0 + +[factory/inj1x8v44tuhlfk8f64j4vehftwggfzdjtthmeddwm/test] +peggy_denom = factory/inj1x8v44tuhlfk8f64j4vehftwggfzdjtthmeddwm/test +decimals = 18 + +[factory/inj1x8v44tuhlfk8f64j4vehftwggfzdjtthmeddwm/test1] +peggy_denom = factory/inj1x8v44tuhlfk8f64j4vehftwggfzdjtthmeddwm/test1 +decimals = 8 + +[factory/inj1xcj5al0gdrs7mwcn84jhsj5a2kgsqj4c9qk5en/injMiam] +peggy_denom = factory/inj1xcj5al0gdrs7mwcn84jhsj5a2kgsqj4c9qk5en/injMiam +decimals = 0 + +[factory/inj1xcmem6znjw0tevhewzaj9vgck3j5jggfc47ue0/position] +peggy_denom = factory/inj1xcmem6znjw0tevhewzaj9vgck3j5jggfc47ue0/position +decimals = 0 + +[factory/inj1xcn064p3w42wmuple0tqxv2zgkv2pyuzl3u5px/position] +peggy_denom = factory/inj1xcn064p3w42wmuple0tqxv2zgkv2pyuzl3u5px/position +decimals = 0 + +[factory/inj1xfjnl464vcmwzx82tcjmgkde68hra4rhetq2c5/position] +peggy_denom = factory/inj1xfjnl464vcmwzx82tcjmgkde68hra4rhetq2c5/position +decimals = 0 + +[factory/inj1xgf4n9sa7rpedzngd66m49wd74aywptnujwqeq/position] +peggy_denom = factory/inj1xgf4n9sa7rpedzngd66m49wd74aywptnujwqeq/position +decimals = 0 + +[factory/inj1xh3ced9w5hkak0te7gcqejlg0uskv3xsqw6nqr/position] +peggy_denom = factory/inj1xh3ced9w5hkak0te7gcqejlg0uskv3xsqw6nqr/position +decimals = 0 + +[factory/inj1xh928v0zwy54nv3d9m9splk0nu9jfnugg8pmkk/asg] +peggy_denom = factory/inj1xh928v0zwy54nv3d9m9splk0nu9jfnugg8pmkk/asg +decimals = 0 + +[factory/inj1xl7n4zw38878cret04u6vk3m2r6z8upepweccn/lp] +peggy_denom = factory/inj1xl7n4zw38878cret04u6vk3m2r6z8upepweccn/lp +decimals = 0 + +[factory/inj1xlkkl7hvcvk2thxn6gf706eykx5j4j57mak7hp/position] +peggy_denom = factory/inj1xlkkl7hvcvk2thxn6gf706eykx5j4j57mak7hp/position +decimals = 0 + +[factory/inj1xmgw5eyauaftulpu0xaeafhre33q02vf6pc4ts/position] +peggy_denom = factory/inj1xmgw5eyauaftulpu0xaeafhre33q02vf6pc4ts/position +decimals = 0 + +[factory/inj1xpx6s84xjvlgz63y0nkw8nw66zu3ezzxwwx8wh/position] +peggy_denom = factory/inj1xpx6s84xjvlgz63y0nkw8nw66zu3ezzxwwx8wh/position +decimals = 0 + +[factory/inj1xrhrlnawe9g6ct95nurs8sfehcq8tsm35c4al2/PUGGO] +peggy_denom = factory/inj1xrhrlnawe9g6ct95nurs8sfehcq8tsm35c4al2/PUGGO +decimals = 0 + +[factory/inj1xrhrlnawe9g6ct95nurs8sfehcq8tsm35c4al2/Test1] +peggy_denom = factory/inj1xrhrlnawe9g6ct95nurs8sfehcq8tsm35c4al2/Test1 +decimals = 0 + +[factory/inj1xrhrlnawe9g6ct95nurs8sfehcq8tsm35c4al2/Test2] +peggy_denom = factory/inj1xrhrlnawe9g6ct95nurs8sfehcq8tsm35c4al2/Test2 +decimals = 0 + +[factory/inj1xsadv6kc7v6jhauunr8qy8angg9ttx752j4ama/position] +peggy_denom = factory/inj1xsadv6kc7v6jhauunr8qy8angg9ttx752j4ama/position +decimals = 0 + +[factory/inj1xug34v8e887uzcc9mr2pql06h2ztvhxxm6asll/utest] +peggy_denom = factory/inj1xug34v8e887uzcc9mr2pql06h2ztvhxxm6asll/utest +decimals = 0 + +[factory/inj1xv7td74ss4q0rrvsuey9qrzqc8qj89zvlh0kmj/INJECT] +peggy_denom = factory/inj1xv7td74ss4q0rrvsuey9qrzqc8qj89zvlh0kmj/INJECT +decimals = 6 + +[factory/inj1xv7td74ss4q0rrvsuey9qrzqc8qj89zvlh0kmj/ak] +peggy_denom = factory/inj1xv7td74ss4q0rrvsuey9qrzqc8qj89zvlh0kmj/ak +decimals = 0 + +[factory/inj1xwdxxej579ns9gcs80jfxvl50yctvptxtpn2fa/DGNZ] +peggy_denom = factory/inj1xwdxxej579ns9gcs80jfxvl50yctvptxtpn2fa/DGNZ +decimals = 6 + +[factory/inj1xwdxxej579ns9gcs80jfxvl50yctvptxtpn2fa/DREAM] +peggy_denom = factory/inj1xwdxxej579ns9gcs80jfxvl50yctvptxtpn2fa/DREAM +decimals = 6 + +[factory/inj1xyr5tt9ltrdm9uvnerwtv4sz9hllqvgt3pkea2/position] +peggy_denom = factory/inj1xyr5tt9ltrdm9uvnerwtv4sz9hllqvgt3pkea2/position +decimals = 0 + +[factory/inj1xyufatym0y7dlv2qzm7p5rkythh9n6wa588yl6/testtoken] +peggy_denom = factory/inj1xyufatym0y7dlv2qzm7p5rkythh9n6wa588yl6/testtoken +decimals = 6 + +[factory/inj1xzfme2xzc2zcwdvkhkklssudaeyeax5mpfu45c/kira] +peggy_denom = factory/inj1xzfme2xzc2zcwdvkhkklssudaeyeax5mpfu45c/kira +decimals = 6 + +[factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/IPDAI] +peggy_denom = factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/IPDAI +decimals = 0 + +[factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/Ipdai] +peggy_denom = factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/Ipdai +decimals = 0 + +[factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/Test1] +peggy_denom = factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/Test1 +decimals = 6 + +[factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/ak] +peggy_denom = factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/ak +decimals = 0 + +[factory/inj1y3g6p8hsdk2tx85nhftujuz2femtztwpzwxlun/position] +peggy_denom = factory/inj1y3g6p8hsdk2tx85nhftujuz2femtztwpzwxlun/position +decimals = 0 + +[factory/inj1y3uz825u9x4yr440x7dpfpz9p93k2ua3mfsj8m/position] +peggy_denom = factory/inj1y3uz825u9x4yr440x7dpfpz9p93k2ua3mfsj8m/position +decimals = 0 + +[factory/inj1y40ej8fymv3y3002y7vs38ad8wmkfx70x6p9fl/position] +peggy_denom = factory/inj1y40ej8fymv3y3002y7vs38ad8wmkfx70x6p9fl/position +decimals = 0 + +[factory/inj1y8mflyjjgrtmtmufn9cpt9snkyaksv8yyjfn7e/position] +peggy_denom = factory/inj1y8mflyjjgrtmtmufn9cpt9snkyaksv8yyjfn7e/position +decimals = 0 + +[factory/inj1y8n40n0r4qhpv03refwjf2w8qeskn7wz9papy9/position] +peggy_denom = factory/inj1y8n40n0r4qhpv03refwjf2w8qeskn7wz9papy9/position +decimals = 0 + +[factory/inj1y9ns569xn73s2dez3edfl8x9rldhlnmf342x2v/uLP] +peggy_denom = factory/inj1y9ns569xn73s2dez3edfl8x9rldhlnmf342x2v/uLP +decimals = 0 + +[factory/inj1yflxv3tzd0ya8rsqzl8y5e2fanzmwczzlzrh96/position] +peggy_denom = factory/inj1yflxv3tzd0ya8rsqzl8y5e2fanzmwczzlzrh96/position +decimals = 0 + +[factory/inj1yfxejgk5n6jljvf9f5sxex7k22td5vkqnugnvm/ak] +peggy_denom = factory/inj1yfxejgk5n6jljvf9f5sxex7k22td5vkqnugnvm/ak +decimals = 6 + +[factory/inj1yhyhvdj0lsjnvvrsv6r0wplzvg5w3ye5nskecp/position] +peggy_denom = factory/inj1yhyhvdj0lsjnvvrsv6r0wplzvg5w3ye5nskecp/position +decimals = 0 + +[factory/inj1ykvprwchmpgm632hsqwwmnwquazrpxmdykap3m/position] +peggy_denom = factory/inj1ykvprwchmpgm632hsqwwmnwquazrpxmdykap3m/position +decimals = 0 + +[factory/inj1yl97tnwqftg37d6ccjvd4zq3vh4mxynp6e2ldp/position] +peggy_denom = factory/inj1yl97tnwqftg37d6ccjvd4zq3vh4mxynp6e2ldp/position +decimals = 0 + +[factory/inj1ym7sl98neeh4t7gq8z4we3ugp4s68ghpvvkyas/position] +peggy_denom = factory/inj1ym7sl98neeh4t7gq8z4we3ugp4s68ghpvvkyas/position +decimals = 0 + +[factory/inj1ymah0zcd9ujkgaqaldfks6drttmxhwun05fvpv/kUSD] +peggy_denom = factory/inj1ymah0zcd9ujkgaqaldfks6drttmxhwun05fvpv/kUSD +decimals = 0 + +[factory/inj1ymqf6eyt00yxxqg40c8jrn9ey3ydms52ep39wh/position] +peggy_denom = factory/inj1ymqf6eyt00yxxqg40c8jrn9ey3ydms52ep39wh/position +decimals = 0 + +[factory/inj1yn4sntvmxmmzejlq7uer85g0jn0qr884qnhhkk/position] +peggy_denom = factory/inj1yn4sntvmxmmzejlq7uer85g0jn0qr884qnhhkk/position +decimals = 0 + +[factory/inj1yq4dwvnujpr9m8w4m5uq3e8hu0xxnw0eypzr0k/VIC] +peggy_denom = factory/inj1yq4dwvnujpr9m8w4m5uq3e8hu0xxnw0eypzr0k/VIC +decimals = 6 + +[factory/inj1yq4dwvnujpr9m8w4m5uq3e8hu0xxnw0eypzr0k/injtokens] +peggy_denom = factory/inj1yq4dwvnujpr9m8w4m5uq3e8hu0xxnw0eypzr0k/injtokens +decimals = 0 + +[factory/inj1yrcescuerfwmuk9fcsmzrcqxjk0l2crkva7w7q/position] +peggy_denom = factory/inj1yrcescuerfwmuk9fcsmzrcqxjk0l2crkva7w7q/position +decimals = 0 + +[factory/inj1yreaxfwm7hrnft6qckl9g8xc3p827qm06c90sp/position] +peggy_denom = factory/inj1yreaxfwm7hrnft6qckl9g8xc3p827qm06c90sp/position +decimals = 0 + +[factory/inj1ysw6mfrdusl7t68axsjzva7uf805zjrf35uzf4/position] +peggy_denom = factory/inj1ysw6mfrdusl7t68axsjzva7uf805zjrf35uzf4/position +decimals = 0 + +[factory/inj1ysym7p26k099yftp7pecfefefqu6y8lpg5380e/position] +peggy_denom = factory/inj1ysym7p26k099yftp7pecfefefqu6y8lpg5380e/position +decimals = 0 + +[factory/inj1ytsgm4785kt2knde6zs9dr24w0vhsaqptma6wh/position] +peggy_denom = factory/inj1ytsgm4785kt2knde6zs9dr24w0vhsaqptma6wh/position +decimals = 0 + +[factory/inj1yuaz9qw8m75w7gxn3j7p9ph9pcsp8krpune70q/test] +peggy_denom = factory/inj1yuaz9qw8m75w7gxn3j7p9ph9pcsp8krpune70q/test +decimals = 6 + +[factory/inj1yuaz9qw8m75w7gxn3j7p9ph9pcsp8krpune70q/testtt] +peggy_denom = factory/inj1yuaz9qw8m75w7gxn3j7p9ph9pcsp8krpune70q/testtt +decimals = 6 + +[factory/inj1yuaz9qw8m75w7gxn3j7p9ph9pcsp8krpune70q/testttt] +peggy_denom = factory/inj1yuaz9qw8m75w7gxn3j7p9ph9pcsp8krpune70q/testttt +decimals = 6 + +[factory/inj1yuhlreumk975lw4ne3qp0r3cvp4zphvpjm0x3a/bINJ] +peggy_denom = factory/inj1yuhlreumk975lw4ne3qp0r3cvp4zphvpjm0x3a/bINJ +decimals = 0 + +[factory/inj1yvfgszkzz5elj0vt8zwnua9fqkgmep83kety09/position] +peggy_denom = factory/inj1yvfgszkzz5elj0vt8zwnua9fqkgmep83kety09/position +decimals = 0 + +[factory/inj1yvu45hmxcn53m4uwrklzpemxhfpgcvw5klglyd/LIOR] +peggy_denom = factory/inj1yvu45hmxcn53m4uwrklzpemxhfpgcvw5klglyd/LIOR +decimals = 6 + +[factory/inj1yvu45hmxcn53m4uwrklzpemxhfpgcvw5klglyd/LIORi] +peggy_denom = factory/inj1yvu45hmxcn53m4uwrklzpemxhfpgcvw5klglyd/LIORi +decimals = 6 + +[factory/inj1yxyprnlhyupl2lmpwsjhnux70uz8d5rgqussvc/ak] +peggy_denom = factory/inj1yxyprnlhyupl2lmpwsjhnux70uz8d5rgqussvc/ak +decimals = 0 + +[factory/inj1yxyprnlhyupl2lmpwsjhnux70uz8d5rgqussvc/bonk2] +peggy_denom = factory/inj1yxyprnlhyupl2lmpwsjhnux70uz8d5rgqussvc/bonk2 +decimals = 0 + +[factory/inj1yy6u35zlmjz9wr3judrakha5t896y2zu8l96ld/position] +peggy_denom = factory/inj1yy6u35zlmjz9wr3judrakha5t896y2zu8l96ld/position +decimals = 0 + +[factory/inj1yzctp4r2g9phkam9zhensdasar83h0u4hrq0ap/MEME] +peggy_denom = factory/inj1yzctp4r2g9phkam9zhensdasar83h0u4hrq0ap/MEME +decimals = 6 + +[factory/inj1yzl27sewa2447vtvnp00r02fca8sw3vyc57fkl/position] +peggy_denom = factory/inj1yzl27sewa2447vtvnp00r02fca8sw3vyc57fkl/position +decimals = 0 + +[factory/inj1z2mvkyphlykuayz5jk5geujpc2s5h6x5p40gkq/position] +peggy_denom = factory/inj1z2mvkyphlykuayz5jk5geujpc2s5h6x5p40gkq/position +decimals = 0 + +[factory/inj1z2yh32tk3gu8z9shasyrhh42vwsuljmcft82ut/position] +peggy_denom = factory/inj1z2yh32tk3gu8z9shasyrhh42vwsuljmcft82ut/position +decimals = 0 + +[factory/inj1z3qduw4n3uq549xx47sertmrclyratf498x63e/position] +peggy_denom = factory/inj1z3qduw4n3uq549xx47sertmrclyratf498x63e/position +decimals = 0 + +[factory/inj1z4phq0clwmns79duanyg7nk2eankp3we7h4sdk/position] +peggy_denom = factory/inj1z4phq0clwmns79duanyg7nk2eankp3we7h4sdk/position +decimals = 0 + +[factory/inj1z7jcqanqnw969ad6wlucxn9v0t3z3j6swnunvs/lp] +peggy_denom = factory/inj1z7jcqanqnw969ad6wlucxn9v0t3z3j6swnunvs/lp +decimals = 0 + +[factory/inj1z8hv3ad5uskyk8rqtm7aje8gnml5y4rrs97txq/position] +peggy_denom = factory/inj1z8hv3ad5uskyk8rqtm7aje8gnml5y4rrs97txq/position +decimals = 0 + +[factory/inj1z9vd7p6pjgun9h8g0c8snuu03nrqer0sjuuhdf/position] +peggy_denom = factory/inj1z9vd7p6pjgun9h8g0c8snuu03nrqer0sjuuhdf/position +decimals = 0 + +[factory/inj1zcd6q9pgvlqg77uap9fy89a0ljpwm2wnaskf0g/position] +peggy_denom = factory/inj1zcd6q9pgvlqg77uap9fy89a0ljpwm2wnaskf0g/position +decimals = 0 + +[factory/inj1zdhmeaydxdhdd35wa4edrf748rpma662vrenk3/position] +peggy_denom = factory/inj1zdhmeaydxdhdd35wa4edrf748rpma662vrenk3/position +decimals = 0 + +[factory/inj1zf6dferymtlutcycrlddy9gy979sgsp6wj9046/position] +peggy_denom = factory/inj1zf6dferymtlutcycrlddy9gy979sgsp6wj9046/position +decimals = 0 + +[factory/inj1zgrjmn0ak8w566fvruttuzu22lyuqgm0gwtn6x/ninja] +peggy_denom = factory/inj1zgrjmn0ak8w566fvruttuzu22lyuqgm0gwtn6x/ninja +decimals = 0 + +[factory/inj1zhwkngnvdh6wewmp75ka7q6jn3c4z8sglrvfgl/position] +peggy_denom = factory/inj1zhwkngnvdh6wewmp75ka7q6jn3c4z8sglrvfgl/position +decimals = 0 + +[factory/inj1zmunv4qvrnl5023drl008kqnm5dp5luwxylf4p/position] +peggy_denom = factory/inj1zmunv4qvrnl5023drl008kqnm5dp5luwxylf4p/position +decimals = 0 + +[factory/inj1zmy72r0sl4q85kxszv5jljqsvqsq4geqg8yvcz/position] +peggy_denom = factory/inj1zmy72r0sl4q85kxszv5jljqsvqsq4geqg8yvcz/position +decimals = 0 + +[factory/inj1znf9vj0gjl0uhewdqa7eqyvrjgmyqvmc7tvwrm/test3] +peggy_denom = factory/inj1znf9vj0gjl0uhewdqa7eqyvrjgmyqvmc7tvwrm/test3 +decimals = 0 + +[factory/inj1zr0qfmzlputn5x8g62l383wasj6tsqvu9l6fcv/position] +peggy_denom = factory/inj1zr0qfmzlputn5x8g62l383wasj6tsqvu9l6fcv/position +decimals = 0 + +[factory/inj1zszapyz8f2meqqccarkervwtcqq6994n6e4uce/position] +peggy_denom = factory/inj1zszapyz8f2meqqccarkervwtcqq6994n6e4uce/position +decimals = 0 + +[factory/inj1ztude0usp9vkxmaeh7pggx5lcc80rrwj97l3pz/position] +peggy_denom = factory/inj1ztude0usp9vkxmaeh7pggx5lcc80rrwj97l3pz/position +decimals = 0 + +[factory/inj1ztz8ftj8c87xczhfa24t0enntz86e0u4dp7sp3/position] +peggy_denom = factory/inj1ztz8ftj8c87xczhfa24t0enntz86e0u4dp7sp3/position +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj10khun6rk82dp2wdajh6z3vjsrac6wpuywt22yy] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj10khun6rk82dp2wdajh6z3vjsrac6wpuywt22yy +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj12yzugqf4uchk7y3j4mw5epwh88rw7hc7k79x2y] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj12yzugqf4uchk7y3j4mw5epwh88rw7hc7k79x2y +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj144r9lg7zjsmxkz34wa9cjj83mamfav3yr7pguc] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj144r9lg7zjsmxkz34wa9cjj83mamfav3yr7pguc +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1989lj26y5jcartkvj2x55vnef8kf5ayl6p67gw] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1989lj26y5jcartkvj2x55vnef8kf5ayl6p67gw +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1etyvn2kgsgl0fwlcwljsq7l85cep878v7n0n3z] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1etyvn2kgsgl0fwlcwljsq7l85cep878v7n0n3z +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1fm2wjk79v79qdm5nprxrevnmjxlnhpvclg84rq] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1fm2wjk79v79qdm5nprxrevnmjxlnhpvclg84rq +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1haaudm8yme03h45aflzerlsng098prk83pxany] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1haaudm8yme03h45aflzerlsng098prk83pxany +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1j3twfggy7t48hq3rkwnt9lf3q7q3ud58jzdnx6] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1j3twfggy7t48hq3rkwnt9lf3q7q3ud58jzdnx6 +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1jd2sq5eh25dszupf08dgnhha5dufmp5u85zhgj] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1jd2sq5eh25dszupf08dgnhha5dufmp5u85zhgj +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1juujgtcttsykxmqn0rr5whsr0djc73pgawr622] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1juujgtcttsykxmqn0rr5whsr0djc73pgawr622 +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1l0ge2pwpr74ck23p99f29p7tpkuj6uuhxrvt5x] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1l0ge2pwpr74ck23p99f29p7tpkuj6uuhxrvt5x +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1pllmhm80hnlh56u4aledjqye989cf83hhfwrxk] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1pllmhm80hnlh56u4aledjqye989cf83hhfwrxk +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1qpha543j56js3nfx0ywd3m5av7qhl68qcad8h4] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1qpha543j56js3nfx0ywd3m5av7qhl68qcad8h4 +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1rejyjsu3rdgx0w9l3v07ar220n5s7tawg48p2a] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1rejyjsu3rdgx0w9l3v07ar220n5s7tawg48p2a +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1rltxjlvs4wz53jldufklaaxar73n5ytpcpacfp] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1rltxjlvs4wz53jldufklaaxar73n5ytpcpacfp +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1ru65qlj534a8wu4guw9txetpkev43ausxdsv3s] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1ru65qlj534a8wu4guw9txetpkev43ausxdsv3s +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1s5v5rmqmplwa68fj26rztlyh0dzy83sqd255xq] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1s5v5rmqmplwa68fj26rztlyh0dzy83sqd255xq +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1sln84pshkreuvash6js0vu2gzcnwfg34lugwt7] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1sln84pshkreuvash6js0vu2gzcnwfg34lugwt7 +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1stjq2xyc7mtxp3ms60rauw2v6fvpfdl04d2qxj] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1stjq2xyc7mtxp3ms60rauw2v6fvpfdl04d2qxj +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1wm6uhg9ht6089c8h3yev2mt454s54v8kanxmcf] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1wm6uhg9ht6089c8h3yev2mt454s54v8kanxmcf +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1xdc8dhazn69vt4u6elpcn0kwxlmq0hjtjwytq5] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1xdc8dhazn69vt4u6elpcn0kwxlmq0hjtjwytq5 +decimals = 0 + +[factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1y3pkfkrr3nr23320a3w4t2x5qlfk0l5w0s6rwl] +peggy_denom = factory/inj1zxd4pvdczkw52yhum0u23vsxzhqr7jyuau7cef/lpinj1y3pkfkrr3nr23320a3w4t2x5qlfk0l5w0s6rwl +decimals = 0 + +[factory/inj1zzm7s6thfkfr2hhpaq6m2c7xc0g3nek7gvrcht/inj136zzmzanrgth7hw4f4z09eqym5ur76wr664la2] +peggy_denom = factory/inj1zzm7s6thfkfr2hhpaq6m2c7xc0g3nek7gvrcht/inj136zzmzanrgth7hw4f4z09eqym5ur76wr664la2 +decimals = 0 + +[factory/inj1zzm7s6thfkfr2hhpaq6m2c7xc0g3nek7gvrcht/inj1rfl7neqrtmhmujrktpll075latrq760c96emkc] +peggy_denom = factory/inj1zzm7s6thfkfr2hhpaq6m2c7xc0g3nek7gvrcht/inj1rfl7neqrtmhmujrktpll075latrq760c96emkc +decimals = 0 + +[good] +peggy_denom = factory/inj1gvhyp8un5l9jpxpd90rdtj3ejd6qser2s2jxtz/good +decimals = 6 + +[hINJ] +peggy_denom = inj1mz7mfhgx8tuvjqut03qdujrkzwlx9xhcj6yldc +decimals = 18 + +[hng] +peggy_denom = factory/inj1hslxdwcszyjesl0e7q339qvqme8jtpkgvfw667/hng +decimals = 6 + +[iUSD] +peggy_denom = factory/inj16a2uxar2v8uyj3xanx6tyvzaqmlqj6jj03829u/nUSD +decimals = 18 + +[ibc/2CD6478D5AFA173C86448E008B760934166AED04C3968874EA6E44D2ECEA236D] +peggy_denom = ibc/2CD6478D5AFA173C86448E008B760934166AED04C3968874EA6E44D2ECEA236D +decimals = 0 + +[ibc/45B1C97F9EF078E4E4E0DEBA0CCE451F7CCA62C051DD29A4C57B7C31F8EBF87D] +peggy_denom = ibc/45B1C97F9EF078E4E4E0DEBA0CCE451F7CCA62C051DD29A4C57B7C31F8EBF87D +decimals = 0 + +[ibc/51EF06F0C3D94C42CBB77F2E9FD853862B29D8524D69A389F761C94F12DDABFB] +peggy_denom = ibc/51EF06F0C3D94C42CBB77F2E9FD853862B29D8524D69A389F761C94F12DDABFB +decimals = 0 + +[ibc/6767A6D74DE6E67F282BF0DA664960588594E10FAE25C7568D0E9714854A614A] +peggy_denom = ibc/6767A6D74DE6E67F282BF0DA664960588594E10FAE25C7568D0E9714854A614A +decimals = 0 + +[ibc/728275E9A4A5485F9EE43886013B01426A4A5C6E9747C8F0F422492B74BF0DD5] +peggy_denom = ibc/728275E9A4A5485F9EE43886013B01426A4A5C6E9747C8F0F422492B74BF0DD5 +decimals = 0 + +[ibc/85F860A9556E285E2F5E6CBC39F04E8E7A497488B9E7D11912030EB49D5E2CCB] +peggy_denom = ibc/85F860A9556E285E2F5E6CBC39F04E8E7A497488B9E7D11912030EB49D5E2CCB +decimals = 0 + +[ibc/86D3C0CC2008F9254902A58D2B24237BEFB9194F8CF1FF7E29312D932C31E841] +peggy_denom = ibc/86D3C0CC2008F9254902A58D2B24237BEFB9194F8CF1FF7E29312D932C31E841 +decimals = 0 + +[ibc/8D50C7D7F9EE586BC705D088C68601ACA5D192C63F6043B785676963074774B3] +peggy_denom = ibc/8D50C7D7F9EE586BC705D088C68601ACA5D192C63F6043B785676963074774B3 +decimals = 0 + +[ibc/97498452BF27CC90656FD7D6EFDA287FA2BFFFF3E84691C84CB9E0451F6DF0A4] +peggy_denom = ibc/97498452BF27CC90656FD7D6EFDA287FA2BFFFF3E84691C84CB9E0451F6DF0A4 +decimals = 0 + +[ibc/9E7EA73E3A4BA56CE72A4E574F529D43DABFEB1BDE5451515A21D6828E52EED5] +peggy_denom = ibc/9E7EA73E3A4BA56CE72A4E574F529D43DABFEB1BDE5451515A21D6828E52EED5 +decimals = 0 + +[ibc/9EBB1486F41AC90325E2BDB23F1EBE57BD6B0DDE25CC9E3051A5EAE2A589B032] +peggy_denom = ibc/9EBB1486F41AC90325E2BDB23F1EBE57BD6B0DDE25CC9E3051A5EAE2A589B032 +decimals = 0 + +[ibc/A2BBF23BE4234FD27AEF7269B30A124B91E3EB2D7F33E756B5EC2FC1F3DCF0B3] +peggy_denom = ibc/A2BBF23BE4234FD27AEF7269B30A124B91E3EB2D7F33E756B5EC2FC1F3DCF0B3 +decimals = 0 + +[ibc/B0D9A85855FFB4C6472AD514B48C91275453B2AFC501472EE29895C400463E6B] +peggy_denom = ibc/B0D9A85855FFB4C6472AD514B48C91275453B2AFC501472EE29895C400463E6B +decimals = 0 + +[ibc/B8F94CEDA547914DC365232034474E8AFE503304BDE91D281C3AB5024060A491] +peggy_denom = ibc/B8F94CEDA547914DC365232034474E8AFE503304BDE91D281C3AB5024060A491 +decimals = 0 + +[ibc/BE8B9A10C7F6E014F617E4C883D24A8E34A4399C2E18D583DD9506CEADF0D7E5] +peggy_denom = ibc/BE8B9A10C7F6E014F617E4C883D24A8E34A4399C2E18D583DD9506CEADF0D7E5 +decimals = 0 + +[ibc/C738E90C95E4D7A405B7D3D8992EC554DDCC2079991AB5FF67051A99E02C95A1] +peggy_denom = ibc/C738E90C95E4D7A405B7D3D8992EC554DDCC2079991AB5FF67051A99E02C95A1 +decimals = 0 + +[ibc/C877F38C8B5172A906FBFDEBB243B8313C58CCF2F534C1EC5DD6819662051DDE] +peggy_denom = ibc/C877F38C8B5172A906FBFDEBB243B8313C58CCF2F534C1EC5DD6819662051DDE +decimals = 0 + +[ibc/D9C20413CBBD2CD0AA87141639F7048597F2A90A80F63D155A91F483BD04CFA3] +peggy_denom = ibc/D9C20413CBBD2CD0AA87141639F7048597F2A90A80F63D155A91F483BD04CFA3 +decimals = 0 + +[ibc/E1932BA371D397A1FD6066792D585348090F3764E2BA4F08298803ED8A76F226] +peggy_denom = ibc/E1932BA371D397A1FD6066792D585348090F3764E2BA4F08298803ED8A76F226 +decimals = 0 + +[ibc/E40FBDD3CB829D3A57D8A5588783C39620B4E4F26B08970DE0F8173D60E3E6E1] +peggy_denom = ibc/E40FBDD3CB829D3A57D8A5588783C39620B4E4F26B08970DE0F8173D60E3E6E1 +decimals = 0 + +[ibc/F14B1670FD61AC2BA511C6260D940A120A47B27AAF8322FCDBBAD8E9967BB518] +peggy_denom = ibc/F14B1670FD61AC2BA511C6260D940A120A47B27AAF8322FCDBBAD8E9967BB518 +decimals = 0 + +[inj-test] +peggy_denom = factory/inj1dskr075p0ktts987r8h3jxcjce6h73flvmm8a4/inj-test +decimals = 6 + +[injjj] +peggy_denom = factory/inj1dqagu9cx72lph0rg3ghhuwj20cw9f8x7rq2zz6/injjj +decimals = 6 + +[injo] +peggy_denom = factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/injo +decimals = 6 + +[injtest1] +peggy_denom = factory/inj1ef5ddgx4q83a8mmap2gxsc7w5q5pj6rmfhjaex/inj-test1 +decimals = 6 + +[kUSD] +peggy_denom = factory/inj1kheekln6ukwx36hwa3d4u05a0yjnf97kjkes4h/kUSD +decimals = 6 + +[lol] +peggy_denom = factory/inj1x5h2d974gqwcskvk4pdtf25f7heml469e756ez/lol +decimals = 6 + +[lootbox1] +peggy_denom = factory/inj1llr45x92t7jrqtxvc02gpkcqhqr82dvyzkr4mz/lootbox1 +decimals = 0 + +[lootbox22] +peggy_denom = factory/inj1aetmaq5pswvfg6nhvgd4lt94qmg23ka3ljgxlm/lootbox22 +decimals = 0 + +[lym] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/lym +decimals = 6 + +[mINJo] +peggy_denom = factory/inj1tnphav95y6ekpvnta3ztsdyhla0543mkrfy7af/mINJo +decimals = 6 + +[mani] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/mani +decimals = 6 + +[mnk] +peggy_denom = factory/inj1ckddr5lfwjvm2lvtzra0ftx7066seqr3navva0/mnk +decimals = 6 + +[nATOM] +peggy_denom = inj16jf4qkcarp3lan4wl2qkrelf4kduvvujwg0780 +decimals = 6 + +[nINJ] +peggy_denom = inj13xlpypcwl5fuc84uhqzzqumnrcfpptyl6w3vrf +decimals = 18 + +[nTIA] +peggy_denom = inj1fzquxxxam59z6fzewy2hvvreeh3m04x83zg4vv +decimals = 6 + +[nUSD] +peggy_denom = factory/inj13l36tutxv09s72adll47g3jykymj305zuw42r0/nUSD +decimals = 18 + +[nUSDT] +peggy_denom = inj1cy9hes20vww2yr6crvs75gxy5hpycya2hmjg9s +decimals = 6 + +[nWETH] +peggy_denom = inj1kehk5nvreklhylx22p3x0yjydfsz9fv3fvg5xt +decimals = 18 + +[napejas] +peggy_denom = factory/inj148sjw9h9n3n8gjw37reetwdlc7v4hfhl8r7vv3/napejas +decimals = 6 + +[ninja] +peggy_denom = factory/inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0/ninja +decimals = 6 + +[pal] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/pal +decimals = 6 + +[pip] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/pip +decimals = 6 + +[pli] +peggy_denom = factory/inj1jx7r5vjr7ykdg4weseluq7ta90emw02jyz5mt5/pli +decimals = 6 + +[pop] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/pop +decimals = 6 + +[pot] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/pot +decimals = 6 + +[pqc] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/pqc +decimals = 6 + +[pvs] +peggy_denom = factory/inj1rc34aepsrw03kczyskra9dlk9fzkx9jf48ccjc/pvs +decimals = 6 + +[red] +peggy_denom = factory/inj18xg8yh445ernwxdquklwpngffqv3agfyt5uqqs/red +decimals = 6 + +[rereerre] +peggy_denom = factory/inj1yuaz9qw8m75w7gxn3j7p9ph9pcsp8krpune70q/rereerre +decimals = 6 + +[rpo] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/rpo +decimals = 6 + +[rrrt] +peggy_denom = factory/inj13rgc9jwc3q7day42a7r2znhyvvvaauvlpuxwvh/rrrt +decimals = 6 + +[s] +peggy_denom = factory/inj1tvml37kkfymrwmx583ed9eyur3jjq72ftf67rc/inj-fuckingcomeon +decimals = 6 + +[sUSDE] +peggy_denom = peggy0x9D39A5DE30e57443BfF2A8307A4256c8797A3497 +decimals = 18 + +[share1] +peggy_denom = share1 +decimals = 18 + +[share10] +peggy_denom = share10 +decimals = 18 + +[share100] +peggy_denom = share100 +decimals = 18 + +[share101] +peggy_denom = share101 +decimals = 18 + +[share102] +peggy_denom = share102 +decimals = 18 + +[share103] +peggy_denom = share103 +decimals = 18 + +[share104] +peggy_denom = share104 +decimals = 18 + +[share105] +peggy_denom = share105 +decimals = 18 + +[share106] +peggy_denom = share106 +decimals = 18 + +[share107] +peggy_denom = share107 +decimals = 18 + +[share108] +peggy_denom = share108 +decimals = 18 + +[share109] +peggy_denom = share109 +decimals = 18 + +[share11] +peggy_denom = share11 +decimals = 18 + +[share110] +peggy_denom = share110 +decimals = 18 + +[share111] +peggy_denom = share111 +decimals = 18 + +[share112] +peggy_denom = share112 +decimals = 18 + +[share113] +peggy_denom = share113 +decimals = 18 + +[share114] +peggy_denom = share114 +decimals = 18 + +[share115] +peggy_denom = share115 +decimals = 18 + +[share116] +peggy_denom = share116 +decimals = 18 + +[share117] +peggy_denom = share117 +decimals = 18 + +[share118] +peggy_denom = share118 +decimals = 18 + +[share119] +peggy_denom = share119 +decimals = 18 + +[share12] +peggy_denom = share12 +decimals = 18 + +[share120] +peggy_denom = share120 +decimals = 18 + +[share121] +peggy_denom = share121 +decimals = 18 + +[share122] +peggy_denom = share122 +decimals = 18 + +[share123] +peggy_denom = share123 +decimals = 18 + +[share124] +peggy_denom = share124 +decimals = 18 + +[share125] +peggy_denom = share125 +decimals = 18 + +[share126] +peggy_denom = share126 +decimals = 18 + +[share127] +peggy_denom = share127 +decimals = 18 + +[share128] +peggy_denom = share128 +decimals = 18 + +[share129] +peggy_denom = share129 +decimals = 18 + +[share13] +peggy_denom = share13 +decimals = 18 + +[share130] +peggy_denom = share130 +decimals = 18 + +[share131] +peggy_denom = share131 +decimals = 18 + +[share132] +peggy_denom = share132 +decimals = 18 + +[share133] +peggy_denom = share133 +decimals = 18 + +[share134] +peggy_denom = share134 +decimals = 18 + +[share135] +peggy_denom = share135 +decimals = 18 + +[share136] +peggy_denom = share136 +decimals = 18 + +[share137] +peggy_denom = share137 +decimals = 18 + +[share138] +peggy_denom = share138 +decimals = 18 + +[share139] +peggy_denom = share139 +decimals = 18 + +[share14] +peggy_denom = share14 +decimals = 18 + +[share140] +peggy_denom = share140 +decimals = 18 + +[share141] +peggy_denom = share141 +decimals = 18 + +[share142] +peggy_denom = share142 +decimals = 18 + +[share143] +peggy_denom = share143 +decimals = 18 + +[share144] +peggy_denom = share144 +decimals = 18 + +[share145] +peggy_denom = share145 +decimals = 18 + +[share146] +peggy_denom = share146 +decimals = 18 + +[share147] +peggy_denom = share147 +decimals = 18 + +[share148] +peggy_denom = share148 +decimals = 18 + +[share149] +peggy_denom = share149 +decimals = 18 + +[share15] +peggy_denom = share15 +decimals = 18 + +[share150] +peggy_denom = share150 +decimals = 18 + +[share151] +peggy_denom = share151 +decimals = 18 + +[share16] +peggy_denom = share16 +decimals = 18 + +[share17] +peggy_denom = share17 +decimals = 18 + +[share18] +peggy_denom = share18 +decimals = 18 + +[share19] +peggy_denom = share19 +decimals = 18 + +[share2] +peggy_denom = share2 +decimals = 18 + +[share20] +peggy_denom = share20 +decimals = 18 + +[share21] +peggy_denom = share21 +decimals = 18 + +[share22] +peggy_denom = share22 +decimals = 18 + +[share23] +peggy_denom = share23 +decimals = 18 + +[share24] +peggy_denom = share24 +decimals = 18 + +[share25] +peggy_denom = share25 +decimals = 18 + +[share27] +peggy_denom = share27 +decimals = 18 + +[share28] +peggy_denom = share28 +decimals = 18 + +[share29] +peggy_denom = share29 +decimals = 18 + +[share3] +peggy_denom = share3 +decimals = 18 + +[share30] +peggy_denom = share30 +decimals = 18 + +[share31] +peggy_denom = share31 +decimals = 18 + +[share32] +peggy_denom = share32 +decimals = 18 + +[share33] +peggy_denom = share33 +decimals = 18 + +[share34] +peggy_denom = share34 +decimals = 18 + +[share35] +peggy_denom = share35 +decimals = 18 + +[share36] +peggy_denom = share36 +decimals = 18 + +[share37] +peggy_denom = share37 +decimals = 18 + +[share38] +peggy_denom = share38 +decimals = 18 + +[share39] +peggy_denom = share39 +decimals = 18 + +[share4] +peggy_denom = share4 +decimals = 18 + +[share40] +peggy_denom = share40 +decimals = 18 + +[share41] +peggy_denom = share41 +decimals = 18 + +[share42] +peggy_denom = share42 +decimals = 18 + +[share43] +peggy_denom = share43 +decimals = 18 + +[share44] +peggy_denom = share44 +decimals = 18 + +[share45] +peggy_denom = share45 +decimals = 18 + +[share46] +peggy_denom = share46 +decimals = 18 + +[share47] +peggy_denom = share47 +decimals = 18 + +[share48] +peggy_denom = share48 +decimals = 18 + +[share49] +peggy_denom = share49 +decimals = 18 + +[share5] +peggy_denom = share5 +decimals = 18 + +[share50] +peggy_denom = share50 +decimals = 18 + +[share51] +peggy_denom = share51 +decimals = 18 + +[share52] +peggy_denom = share52 +decimals = 18 + +[share53] +peggy_denom = share53 +decimals = 18 + +[share54] +peggy_denom = share54 +decimals = 18 + +[share55] +peggy_denom = share55 +decimals = 18 + +[share56] +peggy_denom = share56 +decimals = 18 + +[share57] +peggy_denom = share57 +decimals = 18 + +[share58] +peggy_denom = share58 +decimals = 18 + +[share59] +peggy_denom = share59 +decimals = 18 + +[share6] +peggy_denom = share6 +decimals = 18 + +[share60] +peggy_denom = share60 +decimals = 18 + +[share61] +peggy_denom = share61 +decimals = 18 + +[share62] +peggy_denom = share62 +decimals = 18 + +[share63] +peggy_denom = share63 +decimals = 18 + +[share64] +peggy_denom = share64 +decimals = 18 + +[share65] +peggy_denom = share65 +decimals = 18 + +[share66] +peggy_denom = share66 +decimals = 18 + +[share67] +peggy_denom = share67 +decimals = 18 + +[share68] +peggy_denom = share68 +decimals = 18 + +[share69] +peggy_denom = share69 +decimals = 18 + +[share7] +peggy_denom = share7 +decimals = 18 + +[share70] +peggy_denom = share70 +decimals = 18 + +[share71] +peggy_denom = share71 +decimals = 18 + +[share72] +peggy_denom = share72 +decimals = 18 + +[share73] +peggy_denom = share73 +decimals = 18 + +[share74] +peggy_denom = share74 +decimals = 18 + +[share75] +peggy_denom = share75 +decimals = 18 + +[share76] +peggy_denom = share76 +decimals = 18 + +[share77] +peggy_denom = share77 +decimals = 18 + +[share78] +peggy_denom = share78 +decimals = 18 + +[share79] +peggy_denom = share79 +decimals = 18 + +[share8] +peggy_denom = share8 +decimals = 18 + +[share80] +peggy_denom = share80 +decimals = 18 + +[share81] +peggy_denom = share81 +decimals = 18 + +[share82] +peggy_denom = share82 +decimals = 18 + +[share83] +peggy_denom = share83 +decimals = 18 + +[share84] +peggy_denom = share84 +decimals = 18 + +[share85] +peggy_denom = share85 +decimals = 18 + +[share86] +peggy_denom = share86 +decimals = 18 + +[share87] +peggy_denom = share87 +decimals = 18 + +[share88] +peggy_denom = share88 +decimals = 18 + +[share89] +peggy_denom = share89 +decimals = 18 + +[share9] +peggy_denom = share9 +decimals = 18 + +[share90] +peggy_denom = share90 +decimals = 18 + +[share91] +peggy_denom = share91 +decimals = 18 + +[share92] +peggy_denom = share92 +decimals = 18 + +[share93] +peggy_denom = share93 +decimals = 18 + +[share94] +peggy_denom = share94 +decimals = 18 + +[share95] +peggy_denom = share95 +decimals = 18 + +[share96] +peggy_denom = share96 +decimals = 18 + +[share97] +peggy_denom = share97 +decimals = 18 + +[share98] +peggy_denom = share98 +decimals = 18 + +[share99] +peggy_denom = share99 +decimals = 18 + +[shroom1] +peggy_denom = factory/inj1lq9wn94d49tt7gc834cxkm0j5kwlwu4gm65lhe/shroom1 +decimals = 18 + +[shroom2] +peggy_denom = factory/inj1lq9wn94d49tt7gc834cxkm0j5kwlwu4gm65lhe/shroom2 +decimals = 18 + +[sis] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/sis +decimals = 6 + +[sms] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/sms +decimals = 6 + +[snake] +peggy_denom = factory/inj1lq9wn94d49tt7gc834cxkm0j5kwlwu4gm65lhe/snake +decimals = 18 + +[spore] +peggy_denom = factory/inj1lq9wn94d49tt7gc834cxkm0j5kwlwu4gm65lhe/spore +decimals = 18 + +[ssINJ] +peggy_denom = factory/inj1mlalkqq4egj7mz68x47tmpnf57aj7480g4evxa/ssainj +decimals = 0 + +[sssyn] +peggy_denom = factory/inj1mlalkqq4egj7mz68x47tmpnf57aj7480g4evxa/sssyn +decimals = 0 + +[stETH] +peggy_denom = peggy0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84 +decimals = 18 + +[syl] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/syl +decimals = 6 + +[tclub] +peggy_denom = factory/inj10knx7vr764l30lwckhsk6ahwzg52akrrngccfh/tclub +decimals = 6 + +[test] +peggy_denom = factory/inj106ul9gd8vf0rdhs7gvul4e5eqju8uyr62twp6v/test +decimals = 6 + +[test123] +peggy_denom = factory/inj1kle8tjn2z2rq4vy6y2getsva6vd3n3j7uh2tds/test123 +decimals = 6 + +[test2] +peggy_denom = factory/inj1cml96vmptgw99syqrrz8az79xer2pcgp0a885r/test2 +decimals = 6 + +[test213] +peggy_denom = factory/inj1asqp852arxkam8uckm2uvc4y365kdf06evq3zy/test213 +decimals = 6 + +[test2134] +peggy_denom = factory/inj1asqp852arxkam8uckm2uvc4y365kdf06evq3zy/test2134 +decimals = 6 + +[test3] +peggy_denom = factory/inj1gvhyp8un5l9jpxpd90rdtj3ejd6qser2s2jxtz/test222 +decimals = 0 + +[test5] +peggy_denom = factory/inj1k4wfy3kjmhczjzttwatrpapdgpvaqxchr7gk7a/test7555 +decimals = 0 + +[testcoin21] +peggy_denom = factory/inj1rgetw4w58wy9p74ckx6lph5p8qg20md8u9z9eq/testcoin21 +decimals = 6 + +[testdokwon] +peggy_denom = factory/inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0/testdokwon +decimals = 6 + +[teste] +peggy_denom = factory/inj1fcj6mmsj44wm04ff77kuncqx6vg4cl9qsgugkg/teste +decimals = 6 + +[teste3] +peggy_denom = factory/inj1sn6u0472ds6v8x2x482gqqc36g0lz28uhq660v/teste3 +decimals = 8 + +[testestse] +peggy_denom = factory/inj1597pysn2u56ggcckykt2zzjuqkeezy5yxfujtj/TooTOO +decimals = 6 + +[testff] +peggy_denom = factory/inj1yuaz9qw8m75w7gxn3j7p9ph9pcsp8krpune70q/testff +decimals = 6 + +[testt] +peggy_denom = factory/inj1js6xyr58llrsme8zwydk2u6jty95q0d3aqhrq6/testt +decimals = 6 + +[testtoken] +peggy_denom = factory/inj1yuaz9qw8m75w7gxn3j7p9ph9pcsp8krpune70q/testtoken +decimals = 6 + +[testtt] +peggy_denom = factory/inj1js6xyr58llrsme8zwydk2u6jty95q0d3aqhrq6/testtt +decimals = 6 + +[testttt] +peggy_denom = factory/inj1cml96vmptgw99syqrrz8az79xer2pcgp0a885r/testttt +decimals = 6 + +[testtttt] +peggy_denom = factory/inj1yuaz9qw8m75w7gxn3j7p9ph9pcsp8krpune70q/testtttt +decimals = 6 + +[tet] +peggy_denom = factory/inj1e5yundzcqr77d8nkswgxn9qyrhmr4hdk6qq9pl/tet +decimals = 6 + +[toby] +peggy_denom = factory/inj1temu696g738vldkgnn7fqmgvkq2l36qsng5ea7/toby +decimals = 6 + +[token-symbol] +peggy_denom = factory/inj1lq9wn94d49tt7gc834cxkm0j5kwlwu4gm65lhe/token-symbol +decimals = 6 + +[tol] +peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/tol +decimals = 6 + +[tst] +peggy_denom = factory/inj1s2n5rq58sp9cak8808q0c0qtdpu5xhfgeu2y97/inj-icon +decimals = 6 + +[tst1] +peggy_denom = factory/inj1wt8aa8ct7eap805lsz9jh8spezf6mkxe0ejp79/tst1 +decimals = 6 + +[usssyn] +peggy_denom = factory/inj1mlalkqq4egj7mz68x47tmpnf57aj7480g4evxa/usssyn +decimals = 0 + +[uyO] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/uyO +decimals = 0 + +[wBTC] +peggy_denom = peggy0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 +decimals = 8 + +[wETH] +peggy_denom = peggy0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6 +decimals = 18 + +[wUSDM] +peggy_denom = peggy0x57F5E098CaD7A3D1Eed53991D4d66C45C9AF7812 +decimals = 18 + +[xband] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/Stake-0 +decimals = 6 + +[yolo] +peggy_denom = factory/inj1mt876zny9j6xae25h7hl7zuqf7gkx8q63k0426/yolo +decimals = 6 diff --git a/examples/chain/tokenfactory/1_CreateDenom/example.go b/examples/chain/tokenfactory/1_CreateDenom/example.go index 6839dca9..83fe830c 100644 --- a/examples/chain/tokenfactory/1_CreateDenom/example.go +++ b/examples/chain/tokenfactory/1_CreateDenom/example.go @@ -59,6 +59,7 @@ func main() { message.Subdenom = "inj_test" message.Name = "Injective Test Token" message.Symbol = "INJTEST" + message.Decimals = 18 // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg response, err := chainClient.AsyncBroadcastMsg(message) diff --git a/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.pb.go b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.pb.go index f9b93eb6..da99cb0b 100644 --- a/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.pb.go +++ b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc.pb.go @@ -219,6 +219,8 @@ type Campaign struct { // Version of reward contract, UI use this to determine the message that need // to be sent Version string `protobuf:"bytes,16,opt,name=version,proto3" json:"version,omitempty"` + // Campaign type + Type string `protobuf:"bytes,17,opt,name=type,proto3" json:"type,omitempty"` } func (x *Campaign) Reset() { @@ -358,6 +360,13 @@ func (x *Campaign) GetVersion() string { return "" } +func (x *Campaign) GetType() string { + if x != nil { + return x.Type + } + return "" +} + type Coin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -642,6 +651,8 @@ type CampaignsRequest struct { ToRoundId int32 `protobuf:"zigzag32,3,opt,name=to_round_id,json=toRoundId,proto3" json:"to_round_id,omitempty"` // Contract address that manages the round and reward ContractAddress string `protobuf:"bytes,4,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"` + // Campaign type + Type string `protobuf:"bytes,5,opt,name=type,proto3" json:"type,omitempty"` } func (x *CampaignsRequest) Reset() { @@ -704,6 +715,13 @@ func (x *CampaignsRequest) GetContractAddress() string { return "" } +func (x *CampaignsRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + type CampaignsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -767,6 +785,328 @@ func (x *CampaignsResponse) GetRewardCount() int32 { return 0 } +type CampaignsV2Request struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Campaign type + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // Whether the campaign is active + Active bool `protobuf:"varint,2,opt,name=active,proto3" json:"active,omitempty"` + // Limit number of returned campaigns + Limit int32 `protobuf:"zigzag32,3,opt,name=limit,proto3" json:"limit,omitempty"` + // Cursor for pagination + Cursor string `protobuf:"bytes,4,opt,name=cursor,proto3" json:"cursor,omitempty"` +} + +func (x *CampaignsV2Request) Reset() { + *x = CampaignsV2Request{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CampaignsV2Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CampaignsV2Request) ProtoMessage() {} + +func (x *CampaignsV2Request) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CampaignsV2Request.ProtoReflect.Descriptor instead. +func (*CampaignsV2Request) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{8} +} + +func (x *CampaignsV2Request) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *CampaignsV2Request) GetActive() bool { + if x != nil { + return x.Active + } + return false +} + +func (x *CampaignsV2Request) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *CampaignsV2Request) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +type CampaignsV2Response struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Campaigns []*CampaignV2 `protobuf:"bytes,1,rep,name=campaigns,proto3" json:"campaigns,omitempty"` + Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` +} + +func (x *CampaignsV2Response) Reset() { + *x = CampaignsV2Response{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CampaignsV2Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CampaignsV2Response) ProtoMessage() {} + +func (x *CampaignsV2Response) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CampaignsV2Response.ProtoReflect.Descriptor instead. +func (*CampaignsV2Response) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{9} +} + +func (x *CampaignsV2Response) GetCampaigns() []*CampaignV2 { + if x != nil { + return x.Campaigns + } + return nil +} + +func (x *CampaignsV2Response) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +type CampaignV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CampaignId string `protobuf:"bytes,1,opt,name=campaign_id,json=campaignId,proto3" json:"campaign_id,omitempty"` + // MarketId of the trading strategy + MarketId string `protobuf:"bytes,2,opt,name=market_id,json=marketId,proto3" json:"market_id,omitempty"` + // Total campaign score + TotalScore string `protobuf:"bytes,4,opt,name=total_score,json=totalScore,proto3" json:"total_score,omitempty"` + // Campaign creation date in UNIX millis. + CreatedAt int64 `protobuf:"zigzag64,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Campaign last update date in UNIX millis. + UpdatedAt int64 `protobuf:"zigzag64,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Campaign start date in UNIX millis. + StartDate int64 `protobuf:"zigzag64,7,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"` + // Campaign end date in UNIX millis. + EndDate int64 `protobuf:"zigzag64,8,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"` + // Whether the campaign rewards can be claimed. + IsClaimable bool `protobuf:"varint,9,opt,name=is_claimable,json=isClaimable,proto3" json:"is_claimable,omitempty"` + // Campaigns round ID + RoundId int32 `protobuf:"zigzag32,10,opt,name=round_id,json=roundId,proto3" json:"round_id,omitempty"` + // Contract address that controls this campaign + ManagerContract string `protobuf:"bytes,11,opt,name=manager_contract,json=managerContract,proto3" json:"manager_contract,omitempty"` + // Reward tokens of this campaign + Rewards []*Coin `protobuf:"bytes,12,rep,name=rewards,proto3" json:"rewards,omitempty"` + // Suffix of the subaccount that eligible for volume score + SubaccountIdSuffix string `protobuf:"bytes,13,opt,name=subaccount_id_suffix,json=subaccountIdSuffix,proto3" json:"subaccount_id_suffix,omitempty"` + // Contract that manage users reward + RewardContract string `protobuf:"bytes,14,opt,name=reward_contract,json=rewardContract,proto3" json:"reward_contract,omitempty"` + // Campaign type + Type string `protobuf:"bytes,15,opt,name=type,proto3" json:"type,omitempty"` + // Version of reward contract, UI use this to determine the message that need + // to be sent + Version string `protobuf:"bytes,16,opt,name=version,proto3" json:"version,omitempty"` + // Campaign name + Name string `protobuf:"bytes,17,opt,name=name,proto3" json:"name,omitempty"` + // Campaign description + Description string `protobuf:"bytes,18,opt,name=description,proto3" json:"description,omitempty"` +} + +func (x *CampaignV2) Reset() { + *x = CampaignV2{} + if protoimpl.UnsafeEnabled { + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CampaignV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CampaignV2) ProtoMessage() {} + +func (x *CampaignV2) ProtoReflect() protoreflect.Message { + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CampaignV2.ProtoReflect.Descriptor instead. +func (*CampaignV2) Descriptor() ([]byte, []int) { + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{10} +} + +func (x *CampaignV2) GetCampaignId() string { + if x != nil { + return x.CampaignId + } + return "" +} + +func (x *CampaignV2) GetMarketId() string { + if x != nil { + return x.MarketId + } + return "" +} + +func (x *CampaignV2) GetTotalScore() string { + if x != nil { + return x.TotalScore + } + return "" +} + +func (x *CampaignV2) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *CampaignV2) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *CampaignV2) GetStartDate() int64 { + if x != nil { + return x.StartDate + } + return 0 +} + +func (x *CampaignV2) GetEndDate() int64 { + if x != nil { + return x.EndDate + } + return 0 +} + +func (x *CampaignV2) GetIsClaimable() bool { + if x != nil { + return x.IsClaimable + } + return false +} + +func (x *CampaignV2) GetRoundId() int32 { + if x != nil { + return x.RoundId + } + return 0 +} + +func (x *CampaignV2) GetManagerContract() string { + if x != nil { + return x.ManagerContract + } + return "" +} + +func (x *CampaignV2) GetRewards() []*Coin { + if x != nil { + return x.Rewards + } + return nil +} + +func (x *CampaignV2) GetSubaccountIdSuffix() string { + if x != nil { + return x.SubaccountIdSuffix + } + return "" +} + +func (x *CampaignV2) GetRewardContract() string { + if x != nil { + return x.RewardContract + } + return "" +} + +func (x *CampaignV2) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *CampaignV2) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *CampaignV2) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CampaignV2) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + type ListGuildsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -785,7 +1125,7 @@ type ListGuildsRequest struct { func (x *ListGuildsRequest) Reset() { *x = ListGuildsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -798,7 +1138,7 @@ func (x *ListGuildsRequest) String() string { func (*ListGuildsRequest) ProtoMessage() {} func (x *ListGuildsRequest) ProtoReflect() protoreflect.Message { - mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[8] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -811,7 +1151,7 @@ func (x *ListGuildsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGuildsRequest.ProtoReflect.Descriptor instead. func (*ListGuildsRequest) Descriptor() ([]byte, []int) { - return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{8} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{11} } func (x *ListGuildsRequest) GetCampaignContract() string { @@ -858,7 +1198,7 @@ type ListGuildsResponse struct { func (x *ListGuildsResponse) Reset() { *x = ListGuildsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -871,7 +1211,7 @@ func (x *ListGuildsResponse) String() string { func (*ListGuildsResponse) ProtoMessage() {} func (x *ListGuildsResponse) ProtoReflect() protoreflect.Message { - mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[9] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -884,7 +1224,7 @@ func (x *ListGuildsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGuildsResponse.ProtoReflect.Descriptor instead. func (*ListGuildsResponse) Descriptor() ([]byte, []int) { - return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{9} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{12} } func (x *ListGuildsResponse) GetGuilds() []*Guild { @@ -956,7 +1296,7 @@ type Guild struct { func (x *Guild) Reset() { *x = Guild{} if protoimpl.UnsafeEnabled { - mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -969,7 +1309,7 @@ func (x *Guild) String() string { func (*Guild) ProtoMessage() {} func (x *Guild) ProtoReflect() protoreflect.Message { - mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[10] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -982,7 +1322,7 @@ func (x *Guild) ProtoReflect() protoreflect.Message { // Deprecated: Use Guild.ProtoReflect.Descriptor instead. func (*Guild) Descriptor() ([]byte, []int) { - return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{10} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{13} } func (x *Guild) GetCampaignContract() string { @@ -1120,7 +1460,7 @@ type CampaignSummary struct { func (x *CampaignSummary) Reset() { *x = CampaignSummary{} if protoimpl.UnsafeEnabled { - mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1133,7 +1473,7 @@ func (x *CampaignSummary) String() string { func (*CampaignSummary) ProtoMessage() {} func (x *CampaignSummary) ProtoReflect() protoreflect.Message { - mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[11] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1146,7 +1486,7 @@ func (x *CampaignSummary) ProtoReflect() protoreflect.Message { // Deprecated: Use CampaignSummary.ProtoReflect.Descriptor instead. func (*CampaignSummary) Descriptor() ([]byte, []int) { - return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{11} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{14} } func (x *CampaignSummary) GetCampaignId() string { @@ -1242,7 +1582,7 @@ type ListGuildMembersRequest struct { func (x *ListGuildMembersRequest) Reset() { *x = ListGuildMembersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1255,7 +1595,7 @@ func (x *ListGuildMembersRequest) String() string { func (*ListGuildMembersRequest) ProtoMessage() {} func (x *ListGuildMembersRequest) ProtoReflect() protoreflect.Message { - mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[12] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1268,7 +1608,7 @@ func (x *ListGuildMembersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGuildMembersRequest.ProtoReflect.Descriptor instead. func (*ListGuildMembersRequest) Descriptor() ([]byte, []int) { - return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{12} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{15} } func (x *ListGuildMembersRequest) GetCampaignContract() string { @@ -1326,7 +1666,7 @@ type ListGuildMembersResponse struct { func (x *ListGuildMembersResponse) Reset() { *x = ListGuildMembersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1339,7 +1679,7 @@ func (x *ListGuildMembersResponse) String() string { func (*ListGuildMembersResponse) ProtoMessage() {} func (x *ListGuildMembersResponse) ProtoReflect() protoreflect.Message { - mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[13] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1352,7 +1692,7 @@ func (x *ListGuildMembersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGuildMembersResponse.ProtoReflect.Descriptor instead. func (*ListGuildMembersResponse) Descriptor() ([]byte, []int) { - return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{13} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{16} } func (x *ListGuildMembersResponse) GetMembers() []*GuildMember { @@ -1408,7 +1748,7 @@ type GuildMember struct { func (x *GuildMember) Reset() { *x = GuildMember{} if protoimpl.UnsafeEnabled { - mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1421,7 +1761,7 @@ func (x *GuildMember) String() string { func (*GuildMember) ProtoMessage() {} func (x *GuildMember) ProtoReflect() protoreflect.Message { - mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[14] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1434,7 +1774,7 @@ func (x *GuildMember) ProtoReflect() protoreflect.Message { // Deprecated: Use GuildMember.ProtoReflect.Descriptor instead. func (*GuildMember) Descriptor() ([]byte, []int) { - return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{14} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{17} } func (x *GuildMember) GetCampaignContract() string { @@ -1528,7 +1868,7 @@ type GetGuildMemberRequest struct { func (x *GetGuildMemberRequest) Reset() { *x = GetGuildMemberRequest{} if protoimpl.UnsafeEnabled { - mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[15] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1541,7 +1881,7 @@ func (x *GetGuildMemberRequest) String() string { func (*GetGuildMemberRequest) ProtoMessage() {} func (x *GetGuildMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[15] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1554,7 +1894,7 @@ func (x *GetGuildMemberRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGuildMemberRequest.ProtoReflect.Descriptor instead. func (*GetGuildMemberRequest) Descriptor() ([]byte, []int) { - return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{15} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{18} } func (x *GetGuildMemberRequest) GetCampaignContract() string { @@ -1582,7 +1922,7 @@ type GetGuildMemberResponse struct { func (x *GetGuildMemberResponse) Reset() { *x = GetGuildMemberResponse{} if protoimpl.UnsafeEnabled { - mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[16] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1595,7 +1935,7 @@ func (x *GetGuildMemberResponse) String() string { func (*GetGuildMemberResponse) ProtoMessage() {} func (x *GetGuildMemberResponse) ProtoReflect() protoreflect.Message { - mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[16] + mi := &file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1608,7 +1948,7 @@ func (x *GetGuildMemberResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGuildMemberResponse.ProtoReflect.Descriptor instead. func (*GetGuildMemberResponse) Descriptor() ([]byte, []int) { - return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{16} + return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP(), []int{19} } func (x *GetGuildMemberResponse) GetInfo() *GuildMember { @@ -1650,7 +1990,7 @@ var file_goadesign_goagen_injective_campaign_rpc_proto_rawDesc = []byte{ 0x73, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0x9e, 0x04, 0x0a, + 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x22, 0xb2, 0x04, 0x0a, 0x08, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, @@ -1684,247 +2024,307 @@ var file_goadesign_goagen_injective_campaign_rpc_proto_rawDesc = []byte{ 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x34, 0x0a, - 0x04, 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, 0xef, 0x02, 0x0a, 0x0c, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x55, 0x73, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61, - 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x22, 0x34, 0x0a, 0x04, 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, 0xef, 0x02, 0x0a, 0x0c, 0x43, 0x61, 0x6d, 0x70, + 0x61, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, + 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, + 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, + 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, + 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x5f, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x75, + 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, + 0x0d, 0x67, 0x61, 0x6c, 0x78, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x67, 0x61, 0x6c, 0x78, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6c, 0x61, + 0x69, 0x6d, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, + 0x67, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, + 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, + 0x0a, 0x02, 0x74, 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, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, + 0x78, 0x74, 0x22, 0xb5, 0x01, 0x0a, 0x10, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, - 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, - 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, - 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x29, - 0x0a, 0x10, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, - 0x73, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x61, 0x6c, - 0x78, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0c, 0x67, 0x61, 0x6c, 0x78, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x25, - 0x0a, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6c, - 0x61, 0x69, 0x6d, 0x65, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, - 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 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, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, - 0x78, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x22, 0xa1, - 0x01, 0x0a, 0x10, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x27, - 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x74, 0x6f, 0x5f, 0x72, 0x6f, - 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x09, 0x74, 0x6f, - 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x11, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x09, 0x63, 0x61, 0x6d, 0x70, - 0x61, 0x69, 0x67, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x52, 0x09, 0x63, - 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x13, 0x61, 0x63, 0x63, 0x75, - 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, - 0x6f, 0x69, 0x6e, 0x52, 0x12, 0x61, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0b, 0x72, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x4c, - 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, - 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 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, - 0x11, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, - 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, - 0x22, 0xf6, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x67, 0x75, 0x69, 0x6c, 0x64, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x06, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x36, - 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x74, + 0x6f, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, + 0x52, 0x09, 0x74, 0x6f, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc5, 0x01, 0x0a, 0x11, 0x43, + 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x3e, 0x0a, 0x09, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, + 0x70, 0x61, 0x69, 0x67, 0x6e, 0x52, 0x09, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, + 0x12, 0x4d, 0x0a, 0x13, 0x61, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, + 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x12, 0x61, 0x63, 0x63, + 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, + 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x22, 0x6e, 0x0a, 0x12, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x56, + 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x11, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, + 0x72, 0x73, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, + 0x6f, 0x72, 0x22, 0x6f, 0x0a, 0x13, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x56, + 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x63, 0x61, 0x6d, + 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, + 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x56, 0x32, + 0x52, 0x09, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, + 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, + 0x73, 0x6f, 0x72, 0x22, 0xc3, 0x04, 0x0a, 0x0a, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, + 0x56, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, + 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, + 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x12, 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, 0x06, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x19, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, + 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x69, 0x73, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0c, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x69, + 0x6e, 0x52, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x75, + 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x75, 0x66, 0x66, + 0x69, 0x78, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x27, 0x0a, 0x0f, + 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x4c, 0x69, + 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, + 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 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, 0x11, + 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x22, + 0xf6, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x06, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x36, 0x0a, + 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, + 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x52, 0x0a, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, + 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, - 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, - 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x52, 0x0a, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, - 0x6e, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, - 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, - 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, - 0x67, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0xe5, 0x03, 0x0a, 0x05, 0x47, 0x75, - 0x69, 0x6c, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6d, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x76, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x76, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x63, 0x6f, 0x72, - 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x62, 0x79, 0x5f, 0x76, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0c, 0x72, 0x61, 0x6e, 0x6b, 0x42, - 0x79, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x6b, 0x5f, - 0x62, 0x79, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x09, 0x72, 0x61, - 0x6e, 0x6b, 0x42, 0x79, 0x54, 0x76, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x76, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, - 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, - 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x73, 0x74, - 0x65, 0x72, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x82, 0x03, 0x0a, 0x0f, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x53, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, - 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, - 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x67, 0x75, 0x69, - 0x6c, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, - 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x76, 0x6c, 0x12, 0x2a, - 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x76, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x76, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2e, 0x0a, 0x13, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, - 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, - 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, + 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, + 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, + 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0xe5, 0x03, 0x0a, 0x05, 0x47, 0x75, 0x69, + 0x6c, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 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, 0x11, 0x52, 0x04, - 0x73, 0x6b, 0x69, 0x70, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, - 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x22, 0xcf, 0x01, 0x0a, 0x18, - 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, - 0x70, 0x63, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, - 0x3c, 0x0a, 0x0a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x75, 0x69, - 0x6c, 0x64, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xd3, 0x03, - 0x0a, 0x0b, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2b, 0x0a, - 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, - 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, - 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, - 0x69, 0x6c, 0x64, 0x49, 0x64, 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, - 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, - 0x74, 0x76, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x74, 0x76, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x76, 0x6c, 0x12, 0x36, 0x0a, 0x17, 0x76, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, - 0x74, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x15, 0x76, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, - 0x65, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x76, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, - 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x12, 0x74, 0x76, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, - 0x61, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x74, 0x76, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x09, 0x74, 0x76, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x12, 0x41, 0x0a, 0x0d, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x22, 0x5e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x11, + 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, + 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x76, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x76, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, + 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x62, 0x79, 0x5f, 0x76, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0c, 0x72, 0x61, 0x6e, 0x6b, 0x42, 0x79, + 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x62, + 0x79, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x09, 0x72, 0x61, 0x6e, + 0x6b, 0x42, 0x79, 0x54, 0x76, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x76, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, + 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x73, 0x74, 0x65, + 0x72, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x20, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x82, 0x03, 0x0a, 0x0f, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x53, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61, + 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, + 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x67, 0x75, 0x69, 0x6c, + 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x10, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x76, 0x6c, 0x12, 0x2a, 0x0a, + 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x76, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, + 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x76, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x65, 0x6e, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, + 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, + 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x19, + 0x0a, 0x08, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 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, 0x11, 0x52, 0x04, 0x73, + 0x6b, 0x69, 0x70, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x67, + 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x22, 0xcf, 0x01, 0x0a, 0x18, 0x4c, + 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, + 0x63, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, + 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x3c, + 0x0a, 0x0a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, + 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x75, 0x69, 0x6c, + 0x64, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xd3, 0x03, 0x0a, + 0x0b, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, - 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 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, 0x51, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, - 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x32, 0xa1, 0x04, 0x0a, 0x14, 0x49, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x52, 0x50, 0x43, 0x12, - 0x5a, 0x0a, 0x07, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, - 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x6b, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x09, 0x43, - 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, - 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, - 0x61, 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, - 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x29, 0x2e, 0x69, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x69, + 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, + 0x6c, 0x64, 0x49, 0x64, 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, 0x1b, + 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, + 0x76, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x74, 0x76, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x76, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x76, 0x6c, 0x12, 0x36, 0x0a, 0x17, 0x76, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, + 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x15, 0x76, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, + 0x12, 0x30, 0x0a, 0x14, 0x74, 0x76, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x65, + 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, + 0x74, 0x76, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, + 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x74, 0x76, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x75, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x09, 0x74, 0x76, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, + 0x41, 0x0a, 0x0d, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x22, 0x5e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x63, + 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 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, 0x51, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x04, + 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, + 0x72, 0x70, 0x63, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, + 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x32, 0x89, 0x05, 0x0a, 0x14, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x52, 0x50, 0x43, 0x12, 0x5a, + 0x0a, 0x07, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x2e, 0x69, 0x6e, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, + 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x27, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, + 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x09, 0x43, 0x61, + 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x0e, 0x47, 0x65, 0x74, - 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x69, 0x6e, + 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, + 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, + 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0b, + 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x56, 0x32, 0x12, 0x2a, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, - 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, - 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x1b, 0x5a, 0x19, 0x2f, 0x69, - 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, - 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x56, 0x32, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, + 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, + 0x64, 0x73, 0x12, 0x29, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, + 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x47, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, + 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x10, 0x4c, 0x69, 0x73, + 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x2e, + 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, + 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, + 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, + 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x69, 0x6c, + 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x6f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, + 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x47, + 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2e, 0x2e, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, + 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x75, + 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x42, 0x1b, 0x5a, 0x19, 0x2f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x70, 0x63, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1939,7 +2339,7 @@ func file_goadesign_goagen_injective_campaign_rpc_proto_rawDescGZIP() []byte { return file_goadesign_goagen_injective_campaign_rpc_proto_rawDescData } -var file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_goadesign_goagen_injective_campaign_rpc_proto_goTypes = []interface{}{ (*RankingRequest)(nil), // 0: injective_campaign_rpc.RankingRequest (*RankingResponse)(nil), // 1: injective_campaign_rpc.RankingResponse @@ -1949,15 +2349,18 @@ var file_goadesign_goagen_injective_campaign_rpc_proto_goTypes = []interface{}{ (*Paging)(nil), // 5: injective_campaign_rpc.Paging (*CampaignsRequest)(nil), // 6: injective_campaign_rpc.CampaignsRequest (*CampaignsResponse)(nil), // 7: injective_campaign_rpc.CampaignsResponse - (*ListGuildsRequest)(nil), // 8: injective_campaign_rpc.ListGuildsRequest - (*ListGuildsResponse)(nil), // 9: injective_campaign_rpc.ListGuildsResponse - (*Guild)(nil), // 10: injective_campaign_rpc.Guild - (*CampaignSummary)(nil), // 11: injective_campaign_rpc.CampaignSummary - (*ListGuildMembersRequest)(nil), // 12: injective_campaign_rpc.ListGuildMembersRequest - (*ListGuildMembersResponse)(nil), // 13: injective_campaign_rpc.ListGuildMembersResponse - (*GuildMember)(nil), // 14: injective_campaign_rpc.GuildMember - (*GetGuildMemberRequest)(nil), // 15: injective_campaign_rpc.GetGuildMemberRequest - (*GetGuildMemberResponse)(nil), // 16: injective_campaign_rpc.GetGuildMemberResponse + (*CampaignsV2Request)(nil), // 8: injective_campaign_rpc.CampaignsV2Request + (*CampaignsV2Response)(nil), // 9: injective_campaign_rpc.CampaignsV2Response + (*CampaignV2)(nil), // 10: injective_campaign_rpc.CampaignV2 + (*ListGuildsRequest)(nil), // 11: injective_campaign_rpc.ListGuildsRequest + (*ListGuildsResponse)(nil), // 12: injective_campaign_rpc.ListGuildsResponse + (*Guild)(nil), // 13: injective_campaign_rpc.Guild + (*CampaignSummary)(nil), // 14: injective_campaign_rpc.CampaignSummary + (*ListGuildMembersRequest)(nil), // 15: injective_campaign_rpc.ListGuildMembersRequest + (*ListGuildMembersResponse)(nil), // 16: injective_campaign_rpc.ListGuildMembersResponse + (*GuildMember)(nil), // 17: injective_campaign_rpc.GuildMember + (*GetGuildMemberRequest)(nil), // 18: injective_campaign_rpc.GetGuildMemberRequest + (*GetGuildMemberResponse)(nil), // 19: injective_campaign_rpc.GetGuildMemberResponse } var file_goadesign_goagen_injective_campaign_rpc_proto_depIdxs = []int32{ 2, // 0: injective_campaign_rpc.RankingResponse.campaign:type_name -> injective_campaign_rpc.Campaign @@ -1966,30 +2369,34 @@ var file_goadesign_goagen_injective_campaign_rpc_proto_depIdxs = []int32{ 3, // 3: injective_campaign_rpc.Campaign.rewards:type_name -> injective_campaign_rpc.Coin 2, // 4: injective_campaign_rpc.CampaignsResponse.campaigns:type_name -> injective_campaign_rpc.Campaign 3, // 5: injective_campaign_rpc.CampaignsResponse.accumulated_rewards:type_name -> injective_campaign_rpc.Coin - 10, // 6: injective_campaign_rpc.ListGuildsResponse.guilds:type_name -> injective_campaign_rpc.Guild - 5, // 7: injective_campaign_rpc.ListGuildsResponse.paging:type_name -> injective_campaign_rpc.Paging - 11, // 8: injective_campaign_rpc.ListGuildsResponse.campaign_summary:type_name -> injective_campaign_rpc.CampaignSummary - 14, // 9: injective_campaign_rpc.ListGuildMembersResponse.members:type_name -> injective_campaign_rpc.GuildMember - 5, // 10: injective_campaign_rpc.ListGuildMembersResponse.paging:type_name -> injective_campaign_rpc.Paging - 10, // 11: injective_campaign_rpc.ListGuildMembersResponse.guild_info:type_name -> injective_campaign_rpc.Guild - 3, // 12: injective_campaign_rpc.GuildMember.tvl_reward:type_name -> injective_campaign_rpc.Coin - 3, // 13: injective_campaign_rpc.GuildMember.volume_reward:type_name -> injective_campaign_rpc.Coin - 14, // 14: injective_campaign_rpc.GetGuildMemberResponse.info:type_name -> injective_campaign_rpc.GuildMember - 0, // 15: injective_campaign_rpc.InjectiveCampaignRPC.Ranking:input_type -> injective_campaign_rpc.RankingRequest - 6, // 16: injective_campaign_rpc.InjectiveCampaignRPC.Campaigns:input_type -> injective_campaign_rpc.CampaignsRequest - 8, // 17: injective_campaign_rpc.InjectiveCampaignRPC.ListGuilds:input_type -> injective_campaign_rpc.ListGuildsRequest - 12, // 18: injective_campaign_rpc.InjectiveCampaignRPC.ListGuildMembers:input_type -> injective_campaign_rpc.ListGuildMembersRequest - 15, // 19: injective_campaign_rpc.InjectiveCampaignRPC.GetGuildMember:input_type -> injective_campaign_rpc.GetGuildMemberRequest - 1, // 20: injective_campaign_rpc.InjectiveCampaignRPC.Ranking:output_type -> injective_campaign_rpc.RankingResponse - 7, // 21: injective_campaign_rpc.InjectiveCampaignRPC.Campaigns:output_type -> injective_campaign_rpc.CampaignsResponse - 9, // 22: injective_campaign_rpc.InjectiveCampaignRPC.ListGuilds:output_type -> injective_campaign_rpc.ListGuildsResponse - 13, // 23: injective_campaign_rpc.InjectiveCampaignRPC.ListGuildMembers:output_type -> injective_campaign_rpc.ListGuildMembersResponse - 16, // 24: injective_campaign_rpc.InjectiveCampaignRPC.GetGuildMember:output_type -> injective_campaign_rpc.GetGuildMemberResponse - 20, // [20:25] is the sub-list for method output_type - 15, // [15:20] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 10, // 6: injective_campaign_rpc.CampaignsV2Response.campaigns:type_name -> injective_campaign_rpc.CampaignV2 + 3, // 7: injective_campaign_rpc.CampaignV2.rewards:type_name -> injective_campaign_rpc.Coin + 13, // 8: injective_campaign_rpc.ListGuildsResponse.guilds:type_name -> injective_campaign_rpc.Guild + 5, // 9: injective_campaign_rpc.ListGuildsResponse.paging:type_name -> injective_campaign_rpc.Paging + 14, // 10: injective_campaign_rpc.ListGuildsResponse.campaign_summary:type_name -> injective_campaign_rpc.CampaignSummary + 17, // 11: injective_campaign_rpc.ListGuildMembersResponse.members:type_name -> injective_campaign_rpc.GuildMember + 5, // 12: injective_campaign_rpc.ListGuildMembersResponse.paging:type_name -> injective_campaign_rpc.Paging + 13, // 13: injective_campaign_rpc.ListGuildMembersResponse.guild_info:type_name -> injective_campaign_rpc.Guild + 3, // 14: injective_campaign_rpc.GuildMember.tvl_reward:type_name -> injective_campaign_rpc.Coin + 3, // 15: injective_campaign_rpc.GuildMember.volume_reward:type_name -> injective_campaign_rpc.Coin + 17, // 16: injective_campaign_rpc.GetGuildMemberResponse.info:type_name -> injective_campaign_rpc.GuildMember + 0, // 17: injective_campaign_rpc.InjectiveCampaignRPC.Ranking:input_type -> injective_campaign_rpc.RankingRequest + 6, // 18: injective_campaign_rpc.InjectiveCampaignRPC.Campaigns:input_type -> injective_campaign_rpc.CampaignsRequest + 8, // 19: injective_campaign_rpc.InjectiveCampaignRPC.CampaignsV2:input_type -> injective_campaign_rpc.CampaignsV2Request + 11, // 20: injective_campaign_rpc.InjectiveCampaignRPC.ListGuilds:input_type -> injective_campaign_rpc.ListGuildsRequest + 15, // 21: injective_campaign_rpc.InjectiveCampaignRPC.ListGuildMembers:input_type -> injective_campaign_rpc.ListGuildMembersRequest + 18, // 22: injective_campaign_rpc.InjectiveCampaignRPC.GetGuildMember:input_type -> injective_campaign_rpc.GetGuildMemberRequest + 1, // 23: injective_campaign_rpc.InjectiveCampaignRPC.Ranking:output_type -> injective_campaign_rpc.RankingResponse + 7, // 24: injective_campaign_rpc.InjectiveCampaignRPC.Campaigns:output_type -> injective_campaign_rpc.CampaignsResponse + 9, // 25: injective_campaign_rpc.InjectiveCampaignRPC.CampaignsV2:output_type -> injective_campaign_rpc.CampaignsV2Response + 12, // 26: injective_campaign_rpc.InjectiveCampaignRPC.ListGuilds:output_type -> injective_campaign_rpc.ListGuildsResponse + 16, // 27: injective_campaign_rpc.InjectiveCampaignRPC.ListGuildMembers:output_type -> injective_campaign_rpc.ListGuildMembersResponse + 19, // 28: injective_campaign_rpc.InjectiveCampaignRPC.GetGuildMember:output_type -> injective_campaign_rpc.GetGuildMemberResponse + 23, // [23:29] is the sub-list for method output_type + 17, // [17:23] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name } func init() { file_goadesign_goagen_injective_campaign_rpc_proto_init() } @@ -2095,7 +2502,7 @@ func file_goadesign_goagen_injective_campaign_rpc_proto_init() { } } file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListGuildsRequest); i { + switch v := v.(*CampaignsV2Request); i { case 0: return &v.state case 1: @@ -2107,7 +2514,7 @@ func file_goadesign_goagen_injective_campaign_rpc_proto_init() { } } file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListGuildsResponse); i { + switch v := v.(*CampaignsV2Response); i { case 0: return &v.state case 1: @@ -2119,7 +2526,7 @@ func file_goadesign_goagen_injective_campaign_rpc_proto_init() { } } file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Guild); i { + switch v := v.(*CampaignV2); i { case 0: return &v.state case 1: @@ -2131,7 +2538,7 @@ func file_goadesign_goagen_injective_campaign_rpc_proto_init() { } } file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CampaignSummary); i { + switch v := v.(*ListGuildsRequest); i { case 0: return &v.state case 1: @@ -2143,7 +2550,7 @@ func file_goadesign_goagen_injective_campaign_rpc_proto_init() { } } file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListGuildMembersRequest); i { + switch v := v.(*ListGuildsResponse); i { case 0: return &v.state case 1: @@ -2155,7 +2562,7 @@ func file_goadesign_goagen_injective_campaign_rpc_proto_init() { } } file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListGuildMembersResponse); i { + switch v := v.(*Guild); i { case 0: return &v.state case 1: @@ -2167,7 +2574,7 @@ func file_goadesign_goagen_injective_campaign_rpc_proto_init() { } } file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GuildMember); i { + switch v := v.(*CampaignSummary); i { case 0: return &v.state case 1: @@ -2179,7 +2586,7 @@ func file_goadesign_goagen_injective_campaign_rpc_proto_init() { } } file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGuildMemberRequest); i { + switch v := v.(*ListGuildMembersRequest); i { case 0: return &v.state case 1: @@ -2191,6 +2598,42 @@ func file_goadesign_goagen_injective_campaign_rpc_proto_init() { } } file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListGuildMembersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GuildMember); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetGuildMemberRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_goadesign_goagen_injective_campaign_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetGuildMemberResponse); i { case 0: return &v.state @@ -2209,7 +2652,7 @@ func file_goadesign_goagen_injective_campaign_rpc_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_goadesign_goagen_injective_campaign_rpc_proto_rawDesc, NumEnums: 0, - NumMessages: 17, + NumMessages: 20, NumExtensions: 0, NumServices: 1, }, diff --git a/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc_grpc.pb.go b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc_grpc.pb.go index 2b2b7828..f45711c2 100644 --- a/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc_grpc.pb.go +++ b/exchange/campaign_rpc/pb/goadesign_goagen_injective_campaign_rpc_grpc.pb.go @@ -26,6 +26,8 @@ type InjectiveCampaignRPCClient interface { Ranking(ctx context.Context, in *RankingRequest, opts ...grpc.CallOption) (*RankingResponse, error) // List current round active campaigns Campaigns(ctx context.Context, in *CampaignsRequest, opts ...grpc.CallOption) (*CampaignsResponse, error) + // List campaigns v2 + CampaignsV2(ctx context.Context, in *CampaignsV2Request, opts ...grpc.CallOption) (*CampaignsV2Response, error) // List guilds by campaign ListGuilds(ctx context.Context, in *ListGuildsRequest, opts ...grpc.CallOption) (*ListGuildsResponse, error) // List guild members of given campaign and guildId @@ -60,6 +62,15 @@ func (c *injectiveCampaignRPCClient) Campaigns(ctx context.Context, in *Campaign return out, nil } +func (c *injectiveCampaignRPCClient) CampaignsV2(ctx context.Context, in *CampaignsV2Request, opts ...grpc.CallOption) (*CampaignsV2Response, error) { + out := new(CampaignsV2Response) + err := c.cc.Invoke(ctx, "/injective_campaign_rpc.InjectiveCampaignRPC/CampaignsV2", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *injectiveCampaignRPCClient) ListGuilds(ctx context.Context, in *ListGuildsRequest, opts ...grpc.CallOption) (*ListGuildsResponse, error) { out := new(ListGuildsResponse) err := c.cc.Invoke(ctx, "/injective_campaign_rpc.InjectiveCampaignRPC/ListGuilds", in, out, opts...) @@ -95,6 +106,8 @@ type InjectiveCampaignRPCServer interface { Ranking(context.Context, *RankingRequest) (*RankingResponse, error) // List current round active campaigns Campaigns(context.Context, *CampaignsRequest) (*CampaignsResponse, error) + // List campaigns v2 + CampaignsV2(context.Context, *CampaignsV2Request) (*CampaignsV2Response, error) // List guilds by campaign ListGuilds(context.Context, *ListGuildsRequest) (*ListGuildsResponse, error) // List guild members of given campaign and guildId @@ -114,6 +127,9 @@ func (UnimplementedInjectiveCampaignRPCServer) Ranking(context.Context, *Ranking func (UnimplementedInjectiveCampaignRPCServer) Campaigns(context.Context, *CampaignsRequest) (*CampaignsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Campaigns not implemented") } +func (UnimplementedInjectiveCampaignRPCServer) CampaignsV2(context.Context, *CampaignsV2Request) (*CampaignsV2Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method CampaignsV2 not implemented") +} func (UnimplementedInjectiveCampaignRPCServer) ListGuilds(context.Context, *ListGuildsRequest) (*ListGuildsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListGuilds not implemented") } @@ -172,6 +188,24 @@ func _InjectiveCampaignRPC_Campaigns_Handler(srv interface{}, ctx context.Contex return interceptor(ctx, in, info, handler) } +func _InjectiveCampaignRPC_CampaignsV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CampaignsV2Request) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InjectiveCampaignRPCServer).CampaignsV2(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective_campaign_rpc.InjectiveCampaignRPC/CampaignsV2", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InjectiveCampaignRPCServer).CampaignsV2(ctx, req.(*CampaignsV2Request)) + } + return interceptor(ctx, in, info, handler) +} + func _InjectiveCampaignRPC_ListGuilds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ListGuildsRequest) if err := dec(in); err != nil { @@ -241,6 +275,10 @@ var InjectiveCampaignRPC_ServiceDesc = grpc.ServiceDesc{ MethodName: "Campaigns", Handler: _InjectiveCampaignRPC_Campaigns_Handler, }, + { + MethodName: "CampaignsV2", + Handler: _InjectiveCampaignRPC_CampaignsV2_Handler, + }, { MethodName: "ListGuilds", Handler: _InjectiveCampaignRPC_ListGuilds_Handler, diff --git a/exchange/campaign_rpc/pb/injective_campaign_rpc.pb.gw.go b/exchange/campaign_rpc/pb/injective_campaign_rpc.pb.gw.go index d403baec..b2564260 100644 --- a/exchange/campaign_rpc/pb/injective_campaign_rpc.pb.gw.go +++ b/exchange/campaign_rpc/pb/injective_campaign_rpc.pb.gw.go @@ -99,6 +99,40 @@ func local_request_InjectiveCampaignRPC_Campaigns_0(ctx context.Context, marshal } +func request_InjectiveCampaignRPC_CampaignsV2_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveCampaignRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CampaignsV2Request + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CampaignsV2(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_InjectiveCampaignRPC_CampaignsV2_0(ctx context.Context, marshaler runtime.Marshaler, server InjectiveCampaignRPCServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CampaignsV2Request + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CampaignsV2(ctx, &protoReq) + return msg, metadata, err + +} + func request_InjectiveCampaignRPC_ListGuilds_0(ctx context.Context, marshaler runtime.Marshaler, client InjectiveCampaignRPCClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ListGuildsRequest var metadata runtime.ServerMetadata @@ -257,6 +291,31 @@ func RegisterInjectiveCampaignRPCHandlerServer(ctx context.Context, mux *runtime }) + mux.Handle("POST", pattern_InjectiveCampaignRPC_CampaignsV2_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/CampaignsV2", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/CampaignsV2")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_InjectiveCampaignRPC_CampaignsV2_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveCampaignRPC_CampaignsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("POST", pattern_InjectiveCampaignRPC_ListGuilds_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -417,6 +476,28 @@ func RegisterInjectiveCampaignRPCHandlerClient(ctx context.Context, mux *runtime }) + mux.Handle("POST", pattern_InjectiveCampaignRPC_CampaignsV2_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/injective_campaign_rpc.InjectiveCampaignRPC/CampaignsV2", runtime.WithHTTPPathPattern("/injective_campaign_rpc.InjectiveCampaignRPC/CampaignsV2")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_InjectiveCampaignRPC_CampaignsV2_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_InjectiveCampaignRPC_CampaignsV2_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("POST", pattern_InjectiveCampaignRPC_ListGuilds_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -491,6 +572,8 @@ var ( pattern_InjectiveCampaignRPC_Campaigns_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_campaign_rpc.InjectiveCampaignRPC", "Campaigns"}, "")) + pattern_InjectiveCampaignRPC_CampaignsV2_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_campaign_rpc.InjectiveCampaignRPC", "CampaignsV2"}, "")) + pattern_InjectiveCampaignRPC_ListGuilds_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_campaign_rpc.InjectiveCampaignRPC", "ListGuilds"}, "")) pattern_InjectiveCampaignRPC_ListGuildMembers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"injective_campaign_rpc.InjectiveCampaignRPC", "ListGuildMembers"}, "")) @@ -503,6 +586,8 @@ var ( forward_InjectiveCampaignRPC_Campaigns_0 = runtime.ForwardResponseMessage + forward_InjectiveCampaignRPC_CampaignsV2_0 = runtime.ForwardResponseMessage + forward_InjectiveCampaignRPC_ListGuilds_0 = runtime.ForwardResponseMessage forward_InjectiveCampaignRPC_ListGuildMembers_0 = runtime.ForwardResponseMessage diff --git a/exchange/campaign_rpc/pb/injective_campaign_rpc.proto b/exchange/campaign_rpc/pb/injective_campaign_rpc.proto index 08a9aa9b..f5095311 100644 --- a/exchange/campaign_rpc/pb/injective_campaign_rpc.proto +++ b/exchange/campaign_rpc/pb/injective_campaign_rpc.proto @@ -17,6 +17,8 @@ service InjectiveCampaignRPC { rpc Ranking (RankingRequest) returns (RankingResponse); // List current round active campaigns rpc Campaigns (CampaignsRequest) returns (CampaignsResponse); + // List campaigns v2 + rpc CampaignsV2 (CampaignsV2Request) returns (CampaignsV2Response); // List guilds by campaign rpc ListGuilds (ListGuildsRequest) returns (ListGuildsResponse); // List guild members of given campaign and guildId @@ -78,6 +80,8 @@ message Campaign { // Version of reward contract, UI use this to determine the message that need // to be sent string version = 16; + // Campaign type + string type = 17; } message Coin { @@ -132,6 +136,8 @@ message CampaignsRequest { sint32 to_round_id = 3; // Contract address that manages the round and reward string contract_address = 4; + // Campaign type + string type = 5; } message CampaignsResponse { @@ -140,6 +146,59 @@ message CampaignsResponse { sint32 reward_count = 3; } +message CampaignsV2Request { + // Campaign type + string type = 1; + // Whether the campaign is active + bool active = 2; + // Limit number of returned campaigns + sint32 limit = 3; + // Cursor for pagination + string cursor = 4; +} + +message CampaignsV2Response { + repeated CampaignV2 campaigns = 1; + string cursor = 2; +} + +message CampaignV2 { + string campaign_id = 1; + // MarketId of the trading strategy + string market_id = 2; + // Total campaign score + string total_score = 4; + // Campaign creation date in UNIX millis. + sint64 created_at = 5; + // Campaign last update date in UNIX millis. + sint64 updated_at = 6; + // Campaign start date in UNIX millis. + sint64 start_date = 7; + // Campaign end date in UNIX millis. + sint64 end_date = 8; + // Whether the campaign rewards can be claimed. + bool is_claimable = 9; + // Campaigns round ID + sint32 round_id = 10; + // Contract address that controls this campaign + string manager_contract = 11; + // Reward tokens of this campaign + repeated Coin rewards = 12; + // Suffix of the subaccount that eligible for volume score + string subaccount_id_suffix = 13; + // Contract that manage users reward + string reward_contract = 14; + // Campaign type + string type = 15; + // Version of reward contract, UI use this to determine the message that need +// to be sent + string version = 16; + // Campaign name + string name = 17; + // Campaign description + string description = 18; +} + message ListGuildsRequest { // Campaign contract address string campaign_contract = 1; diff --git a/proto/buf.yaml b/proto/buf.yaml index 8a588757..74507427 100644 --- a/proto/buf.yaml +++ b/proto/buf.yaml @@ -1,6 +1,7 @@ version: v1 name: buf.build/InjectiveLabs/injective-core deps: + - buf.build/googleapis/googleapis - buf.build/cosmos/cosmos-proto - buf.build/cosmos/cosmos-sdk:v0.50.5 - buf.build/cosmos/gogo-proto diff --git a/proto/injective/auction/v1beta1/auction.proto b/proto/injective/auction/v1beta1/auction.proto index 530859f1..c5f95038 100644 --- a/proto/injective/auction/v1beta1/auction.proto +++ b/proto/injective/auction/v1beta1/auction.proto @@ -3,17 +3,19 @@ package injective.auction.v1beta1; import "gogoproto/gogo.proto"; import "cosmos/base/v1beta1/coin.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/auction/types"; message Params { option (gogoproto.equal) = true; + option (amino.name) = "auction/Params"; // auction_period_duration defines the auction period duration int64 auction_period = 1; // min_next_bid_increment_rate defines the minimum increment rate for new bids string min_next_bid_increment_rate = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -30,6 +32,18 @@ message Bid { ]; } +message LastAuctionResult { + // winner describes the address of the winner + string winner = 1; + // amount describes the amount the winner get from the auction + string amount = 2 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin", + (gogoproto.nullable) = false + ]; + // round defines the round number of auction + uint64 round = 3; +} + message EventBid { // bidder describes the address of bidder string bidder = 1; diff --git a/proto/injective/auction/v1beta1/genesis.proto b/proto/injective/auction/v1beta1/genesis.proto index f0c9e155..08b5b9f2 100644 --- a/proto/injective/auction/v1beta1/genesis.proto +++ b/proto/injective/auction/v1beta1/genesis.proto @@ -19,4 +19,7 @@ message GenesisState { // auction ending timestamp int64 auction_ending_timestamp = 4; + + // last auction result + LastAuctionResult last_auction_result = 5; } diff --git a/proto/injective/auction/v1beta1/query.proto b/proto/injective/auction/v1beta1/query.proto index 2a546f5f..44e46d60 100644 --- a/proto/injective/auction/v1beta1/query.proto +++ b/proto/injective/auction/v1beta1/query.proto @@ -28,6 +28,12 @@ service Query { returns (QueryModuleStateResponse) { option (google.api.http).get = "/injective/auction/v1beta1/module_state"; } + + rpc LastAuctionResult(QueryLastAuctionResultRequest) + returns (QueryLastAuctionResultResponse) { + option (google.api.http).get = + "/injective/auction/v1beta1/last_auction_result"; + } } // QueryAuctionParamsRequest is the request type for the Query/AuctionParams RPC @@ -60,7 +66,7 @@ message QueryCurrentAuctionBasketResponse { string highestBidder = 4; // highestBidAmount describes highest bid amount on current round string highestBidAmount = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; } @@ -71,4 +77,10 @@ message QueryModuleStateRequest {} // QueryModuleStateResponse is the response type for the // Query/AuctionModuleState RPC method. -message QueryModuleStateResponse { GenesisState state = 1; } \ No newline at end of file +message QueryModuleStateResponse { GenesisState state = 1; } + +message QueryLastAuctionResultRequest {} + +message QueryLastAuctionResultResponse { + LastAuctionResult last_auction_result = 1; +} diff --git a/proto/injective/auction/v1beta1/tx.proto b/proto/injective/auction/v1beta1/tx.proto index 9e7eb5b9..34d7859b 100644 --- a/proto/injective/auction/v1beta1/tx.proto +++ b/proto/injective/auction/v1beta1/tx.proto @@ -6,11 +6,13 @@ import "cosmos/base/v1beta1/coin.proto"; import "cosmos/msg/v1/msg.proto"; import "cosmos_proto/cosmos.proto"; import "injective/auction/v1beta1/auction.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/auction/types"; // Msg defines the auction Msg service. service Msg { + option (cosmos.msg.v1.service) = true; // Bid defines a method for placing a bid for an auction rpc Bid(MsgBid) returns (MsgBidResponse); @@ -22,6 +24,7 @@ service Msg { message MsgBid { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; + option (amino.name) = "auction/MsgBid"; option (cosmos.msg.v1.signer) = "sender"; @@ -36,6 +39,7 @@ message MsgBidResponse {} message MsgUpdateParams { option (cosmos.msg.v1.signer) = "authority"; + option (amino.name) = "auction/MsgUpdateParams"; // authority is the address of the governance account. string authority = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; diff --git a/proto/injective/crypto/v1beta1/ethsecp256k1/keys.proto b/proto/injective/crypto/v1beta1/ethsecp256k1/keys.proto index cb30e830..c5e13a1b 100644 --- a/proto/injective/crypto/v1beta1/ethsecp256k1/keys.proto +++ b/proto/injective/crypto/v1beta1/ethsecp256k1/keys.proto @@ -2,6 +2,7 @@ syntax = "proto3"; package injective.crypto.v1beta1.ethsecp256k1; import "gogoproto/gogo.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/crypto/ethsecp256k1"; @@ -9,6 +10,19 @@ option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/cry // Tendermint's PubKey interface. It represents the 33-byte compressed public // key format. message PubKey { + option (amino.name) = "injective/PubKeyEthSecp256k1"; + // The Amino encoding is simply the inner bytes field, and not the Amino + // encoding of the whole PubKey struct. + // + // Example (JSON): + // s := PubKey{Key: []byte{0x01}} + // out := AminoJSONEncoder(s) + // + // Then we have: + // out == `"MQ=="` + // out != `{"key":"MQ=="}` + option (amino.message_encoding) = "key_field"; + option (gogoproto.goproto_stringer) = false; bytes key = 1; @@ -16,4 +30,9 @@ message PubKey { // PrivKey defines a type alias for an ecdsa.PrivateKey that implements // Tendermint's PrivateKey interface. -message PrivKey { bytes key = 1; } +message PrivKey { + option (amino.name) = "injective/PrivKeyEthSecp256k1"; + option (amino.message_encoding) = "key_field"; + + bytes key = 1; +} diff --git a/proto/injective/exchange/v1beta1/authz.proto b/proto/injective/exchange/v1beta1/authz.proto index 6c9f540d..0d2bdea8 100644 --- a/proto/injective/exchange/v1beta1/authz.proto +++ b/proto/injective/exchange/v1beta1/authz.proto @@ -2,35 +2,41 @@ syntax = "proto3"; package injective.exchange.v1beta1; import "cosmos_proto/cosmos.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types"; // spot authz messages message CreateSpotLimitOrderAuthz { + option (amino.name) = "exchange/CreateSpotLimitOrderAuthz"; option (cosmos_proto.implements_interface) = "Authorization"; string subaccount_id = 1; repeated string market_ids = 2; } message CreateSpotMarketOrderAuthz { + option (amino.name) = "exchange/CreateSpotMarketOrderAuthz"; option (cosmos_proto.implements_interface) = "Authorization"; string subaccount_id = 1; repeated string market_ids = 2; } message BatchCreateSpotLimitOrdersAuthz { + option (amino.name) = "exchange/BatchCreateSpotLimitOrdersAuthz"; option (cosmos_proto.implements_interface) = "Authorization"; string subaccount_id = 1; repeated string market_ids = 2; } message CancelSpotOrderAuthz { + option (amino.name) = "exchange/CancelSpotOrderAuthz"; option (cosmos_proto.implements_interface) = "Authorization"; string subaccount_id = 1; repeated string market_ids = 2; } message BatchCancelSpotOrdersAuthz { + option (amino.name) = "exchange/BatchCancelSpotOrdersAuthz"; option (cosmos_proto.implements_interface) = "Authorization"; string subaccount_id = 1; repeated string market_ids = 2; @@ -38,30 +44,35 @@ message BatchCancelSpotOrdersAuthz { // derivative authz messages message CreateDerivativeLimitOrderAuthz { + option (amino.name) = "exchange/CreateDerivativeLimitOrderAuthz"; option (cosmos_proto.implements_interface) = "Authorization"; string subaccount_id = 1; repeated string market_ids = 2; } message CreateDerivativeMarketOrderAuthz { + option (amino.name) = "exchange/CreateDerivativeMarketOrderAuthz"; option (cosmos_proto.implements_interface) = "Authorization"; string subaccount_id = 1; repeated string market_ids = 2; } message BatchCreateDerivativeLimitOrdersAuthz { + option (amino.name) = "exchange/BatchCreateDerivativeLimitOrdersAuthz"; option (cosmos_proto.implements_interface) = "Authorization"; string subaccount_id = 1; repeated string market_ids = 2; } message CancelDerivativeOrderAuthz { + option (amino.name) = "exchange/CancelDerivativeOrderAuthz"; option (cosmos_proto.implements_interface) = "Authorization"; string subaccount_id = 1; repeated string market_ids = 2; } message BatchCancelDerivativeOrdersAuthz { + option (amino.name) = "exchange/BatchCancelDerivativeOrdersAuthz"; option (cosmos_proto.implements_interface) = "Authorization"; string subaccount_id = 1; repeated string market_ids = 2; @@ -69,6 +80,7 @@ message BatchCancelDerivativeOrdersAuthz { // common authz message used in both spot & derivative markets message BatchUpdateOrdersAuthz { + option (amino.name) = "exchange/BatchUpdateOrdersAuthz"; option (cosmos_proto.implements_interface) = "Authorization"; string subaccount_id = 1; repeated string spot_markets = 2; diff --git a/proto/injective/exchange/v1beta1/events.proto b/proto/injective/exchange/v1beta1/events.proto index 22d30340..22cbafdd 100644 --- a/proto/injective/exchange/v1beta1/events.proto +++ b/proto/injective/exchange/v1beta1/events.proto @@ -21,7 +21,7 @@ message EventBatchDerivativeExecution { bool is_liquidation = 3; // nil for time expiry futures string cumulative_funding = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; ExecutionType executionType = 5; @@ -32,11 +32,11 @@ message EventLostFundsFromLiquidation { string market_id = 1; bytes subaccount_id = 2; string lost_funds_from_available_during_payout = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string lost_funds_from_order_cancels = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -107,11 +107,11 @@ message EventPerpetualMarketFundingUpdate { PerpetualMarketFunding funding = 2 [ (gogoproto.nullable) = false ]; bool is_hourly_funding = 3; string funding_rate = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; string mark_price = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; } @@ -139,7 +139,7 @@ message EventBatchDepositUpdate { repeated DepositUpdate deposit_updates = 1; } message DerivativeMarketOrderCancel { DerivativeMarketOrder market_order = 1 [ (gogoproto.nullable) = true ]; string cancel_quantity = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -182,12 +182,14 @@ message EventConditionalDerivativeOrderTrigger { bool isLimitTrigger = 2; bytes triggered_order_hash = 3; bytes placed_order_hash = 4; + string triggered_order_cid = 5; } message EventOrderFail { bytes account = 1; repeated bytes hashes = 2; repeated uint32 flags = 3; + repeated string cids = 4; } message EventAtomicMarketOrderFeeMultipliersUpdated { @@ -209,3 +211,30 @@ message Orderbook { repeated Level buy_levels = 2; repeated Level sell_levels = 3; } + +message EventGrantAuthorizations { + string granter = 1; + repeated GrantAuthorization grants = 2; +} + +message EventGrantActivation { + string grantee = 1; + string granter = 2; + string amount = 3 [ + (gogoproto.customtype) = "cosmossdk.io/math.Int", + (gogoproto.nullable) = false + ]; +} + +message EventInvalidGrant { + string grantee = 1; + string granter = 2; +} + +message EventOrderCancelFail { + string market_id = 1; + string subaccount_id = 2; + string order_hash = 3; + string cid = 4; + string description = 5; +} diff --git a/proto/injective/exchange/v1beta1/exchange.proto b/proto/injective/exchange/v1beta1/exchange.proto index 1a27e648..c7b837b6 100644 --- a/proto/injective/exchange/v1beta1/exchange.proto +++ b/proto/injective/exchange/v1beta1/exchange.proto @@ -4,6 +4,7 @@ package injective.exchange.v1beta1; import "gogoproto/gogo.proto"; import "cosmos/base/v1beta1/coin.proto"; import "injective/oracle/v1beta1/oracle.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types"; @@ -17,6 +18,7 @@ enum AtomicMarketOrderAccessLevel { message Params { option (gogoproto.equal) = true; + option (amino.name) = "exchange/Params"; // spot_market_instant_listing_fee defines the expedited fee in INJ required // to create a spot market by bypassing governance @@ -31,42 +33,42 @@ message Params { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; @@ -81,20 +83,20 @@ message Params { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // hourly_interest_rate defines the hourly interest rate string default_hourly_interest_rate = 13 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; @@ -105,7 +107,7 @@ message Params { // 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.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; @@ -116,7 +118,7 @@ message Params { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // binary_options_market_instant_listing_fee defines the expedited fee in INJ @@ -130,27 +132,27 @@ message Params { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // minimal_protocol_fee_rate defines the minimal protocol fee rate string minimal_protocol_fee_rate = 23 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; @@ -159,6 +161,19 @@ message Params { bool is_instant_derivative_market_launch_enabled = 24; int64 post_only_mode_height_threshold = 25; + + // Maximum time in seconds since the last mark price update to allow a + // decrease in margin + int64 margin_decrease_price_timestamp_threshold_seconds = 26; + + // List of addresses that are allowed to perform exchange admin operations + repeated string exchange_admins = 27; + + // inj_auction_max_cap defines the maximum cap for INJ sent to auction + string inj_auction_max_cap = 28 [ + (gogoproto.customtype) = "cosmossdk.io/math.Int", + (gogoproto.nullable) = false + ]; } enum MarketStatus { @@ -175,7 +190,7 @@ message MarketFeeMultiplier { string market_id = 1; string fee_multiplier = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -201,29 +216,29 @@ message DerivativeMarket { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // maker_fee_rate defines the maker fee rate of a derivative market string maker_fee_rate = 10 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // taker_fee_rate defines the taker fee rate of a derivative market string taker_fee_rate = 11 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // true if the market is a perpetual market. false if the market is an expiry @@ -234,15 +249,26 @@ message DerivativeMarket { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + string min_notional = 17 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; + + // current market admin + string admin = 18; + // level of admin permissions + uint32 admin_permissions = 19; } // An object describing a binary options market in Injective Protocol. message BinaryOptionsMarket { @@ -270,18 +296,18 @@ message BinaryOptionsMarket { string market_id = 10; // maker_fee_rate defines the maker fee rate of a binary options market string maker_fee_rate = 11 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // taker_fee_rate defines the taker fee rate of a derivative market string taker_fee_rate = 12 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // Status of the market @@ -289,20 +315,28 @@ message BinaryOptionsMarket { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string settlement_price = 17 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + string min_notional = 18 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; + // level of admin permissions + uint32 admin_permissions = 19; } message ExpiryFuturesMarketInfo { @@ -317,13 +351,13 @@ message ExpiryFuturesMarketInfo { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -334,12 +368,12 @@ message PerpetualMarketInfo { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // hourly_interest_rate defines the hourly interest rate string hourly_interest_rate = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // next_funding_timestamp defines the next funding timestamp in seconds of a @@ -353,13 +387,13 @@ message PerpetualMarketInfo { message PerpetualMarketFunding { // cumulative_funding defines the cumulative funding of a perpetual market. string cumulative_funding = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; int64 last_timestamp = 3; @@ -370,7 +404,7 @@ message DerivativeMarketSettlementInfo { string market_id = 1; // settlement_price defines the settlement price string settlement_price = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -380,17 +414,17 @@ 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // best buy price of the market string best_buy_price = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // best sell price of the market string best_sell_price = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; } @@ -406,18 +440,18 @@ message SpotMarket { string quote_denom = 3; // maker_fee_rate defines the fee percentage makers pay when trading string maker_fee_rate = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // taker_fee_rate defines the fee percentage takers pay when trading string taker_fee_rate = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // Unique market ID. @@ -427,25 +461,36 @@ message SpotMarket { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + string min_notional = 11 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; + + // current market admin + string admin = 12; + // level of admin permissions + uint32 admin_permissions = 13; } // A subaccount's deposit for a given base currency message Deposit { string available_balance = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string total_balance = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -459,12 +504,12 @@ message OrderInfo { string fee_recipient = 2; // price of the order string price = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // quantity of the order string quantity = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string cid = 5; @@ -493,7 +538,7 @@ message SpotOrder { OrderType order_type = 3; // trigger_price is the trigger price used by stop/take orders string trigger_price = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; } @@ -506,12 +551,12 @@ message SpotLimitOrder { OrderType order_type = 2; // the amount of the quantity remaining fillable string fillable = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // trigger_price is the trigger price used by stop/take orders string trigger_price = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; bytes order_hash = 5; @@ -522,7 +567,7 @@ message SpotMarketOrder { // order_info contains the information of the order OrderInfo order_info = 1 [ (gogoproto.nullable) = false ]; string balance_hold = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; bytes order_hash = 3; @@ -530,7 +575,7 @@ message SpotMarketOrder { OrderType order_type = 4; // trigger_price is the trigger price used by stop/take orders string trigger_price = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; } @@ -544,12 +589,12 @@ message DerivativeOrder { OrderType order_type = 3; // margin is the margin used by the limit order string margin = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // trigger_price is the trigger price used by stop/take orders string trigger_price = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; } @@ -560,13 +605,13 @@ message SubaccountOrderbookMetadata { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; @@ -577,15 +622,16 @@ message SubaccountOrderbookMetadata { message SubaccountOrder { // price of the order string price = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // the amount of the quantity remaining fillable string quantity = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; bool isReduceOnly = 3; + string cid = 4; } message SubaccountOrderData { @@ -601,17 +647,17 @@ message DerivativeLimitOrder { OrderType order_type = 2; // margin is the margin used by the limit order string margin = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // the amount of the quantity remaining fillable string fillable = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // trigger_price is the trigger price used by stop/take orders string trigger_price = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; bytes order_hash = 6; @@ -624,16 +670,16 @@ message DerivativeMarketOrder { // order types OrderType order_type = 2; string margin = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string margin_hold = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // trigger_price is the trigger price used by stop/take orders string trigger_price = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; bytes order_hash = 6; @@ -642,19 +688,19 @@ message DerivativeMarketOrder { message Position { bool isLong = 1; string quantity = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string entry_price = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string margin = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string cumulative_funding_entry = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -667,17 +713,17 @@ message MarketOrderIndicator { message TradeLog { string quantity = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string price = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // bytes32 subaccount ID that executed the trade bytes subaccount_id = 3; string fee = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; bytes order_hash = 5; @@ -688,15 +734,15 @@ message TradeLog { message PositionDelta { bool is_long = 1; string execution_quantity = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string execution_margin = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string execution_price = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -705,16 +751,20 @@ message DerivativeTradeLog { bytes subaccount_id = 1; PositionDelta position_delta = 2; string payout = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string fee = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; bytes order_hash = 5; bytes fee_recipient_address = 6 [ (gogoproto.nullable) = true ]; string cid = 7; + string pnl = 8 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; } enum ExecutionType { @@ -744,11 +794,11 @@ message DepositUpdate { message PointsMultiplier { string maker_points_multiplier = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string taker_points_multiplier = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -785,19 +835,19 @@ message TradingRewardCampaignInfo { message FeeDiscountTierInfo { string maker_discount_rate = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string taker_discount_rate = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string staked_amount = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; string volume = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -822,11 +872,11 @@ message FeeDiscountTierTTL { message VolumeRecord { string maker_volume = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string taker_volume = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -850,12 +900,12 @@ message TradeRecord { int64 timestamp = 1; string price = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string quantity = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -878,12 +928,12 @@ enum OrderMask { message Level { // price string p = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // quantity string q = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -906,4 +956,29 @@ message MarketVolume { message DenomDecimals { string denom = 1; uint64 decimals = 2; -} \ No newline at end of file +} + +message GrantAuthorization { + string grantee = 1; + string amount = 2 [ + (gogoproto.customtype) = "cosmossdk.io/math.Int", + (gogoproto.nullable) = false + ]; +} + +message ActiveGrant { + string granter = 1; + string amount = 2 [ + (gogoproto.customtype) = "cosmossdk.io/math.Int", + (gogoproto.nullable) = false + ]; +} + +message EffectiveGrant { + string granter = 1; + string net_granted_stake = 2 [ + (gogoproto.customtype) = "cosmossdk.io/math.Int", + (gogoproto.nullable) = false + ]; + bool is_valid = 3; +} diff --git a/proto/injective/exchange/v1beta1/genesis.proto b/proto/injective/exchange/v1beta1/genesis.proto index 51b99045..eccb4363 100644 --- a/proto/injective/exchange/v1beta1/genesis.proto +++ b/proto/injective/exchange/v1beta1/genesis.proto @@ -129,6 +129,10 @@ message GenesisState { repeated AggregateSubaccountVolumeRecord subaccount_volumes = 33; repeated MarketVolume market_volumes = 34; + + repeated FullGrantAuthorizations grant_authorizations = 35; + + repeated FullActiveGrant active_grants = 36; } message OrderbookSequence { @@ -149,7 +153,7 @@ message FeeDiscountBucketVolumeAccounts { message AccountVolume { string account = 1; string volume = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -157,7 +161,7 @@ message AccountVolume { message TradingRewardCampaignAccountPoints { string account = 1; string points = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -235,3 +239,18 @@ message PerpetualMarketFundingState { string market_id = 1; PerpetualMarketFunding funding = 2; } + +message FullGrantAuthorizations { + string granter = 1; + string total_grant_amount = 2 [ + (gogoproto.customtype) = "cosmossdk.io/math.Int", + (gogoproto.nullable) = false + ]; + int64 last_delegations_checked_time = 3; + repeated GrantAuthorization grants = 4; +} + +message FullActiveGrant { + string grantee = 1; + ActiveGrant active_grant = 2; +} \ No newline at end of file diff --git a/proto/injective/exchange/v1beta1/proposal.proto b/proto/injective/exchange/v1beta1/proposal.proto index c4b09115..a116cfc8 100644 --- a/proto/injective/exchange/v1beta1/proposal.proto +++ b/proto/injective/exchange/v1beta1/proposal.proto @@ -8,10 +8,12 @@ import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; import "injective/exchange/v1beta1/exchange.proto"; import "injective/oracle/v1beta1/oracle.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types"; message SpotMarketParamUpdateProposal { + option (amino.name) = "exchange/SpotMarketParamUpdateProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; @@ -22,37 +24,48 @@ message SpotMarketParamUpdateProposal { // maker_fee_rate defines the trade fee rate for makers on the spot market string maker_fee_rate = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // taker_fee_rate defines the trade fee rate for takers on the spot market string taker_fee_rate = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; MarketStatus status = 9; + + string ticker = 10 [ (gogoproto.nullable) = true ]; + + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + string min_notional = 11 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = true + ]; + + AdminInfo admin_info = 12; } enum ExchangeType { @@ -63,6 +76,7 @@ enum ExchangeType { } message ExchangeEnableProposal { + option (amino.name) = "exchange/ExchangeEnableProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -73,6 +87,7 @@ message ExchangeEnableProposal { } message BatchExchangeModificationProposal { + option (amino.name) = "exchange/BatchExchangeModificationProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; @@ -104,6 +119,7 @@ message BatchExchangeModificationProposal { // SpotMarketLaunchProposal defines a SDK message for proposing a new spot // market through governance message SpotMarketLaunchProposal { + option (amino.name) = "exchange/SpotMarketLaunchProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; @@ -118,30 +134,37 @@ message SpotMarketLaunchProposal { string quote_denom = 5; // min_price_tick_size defines the minimum tick size of the order's price string min_price_tick_size = 6 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // maker_fee_rate defines the fee percentage makers pay when trading string maker_fee_rate = 8 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // taker_fee_rate defines the fee percentage takers pay when trading string taker_fee_rate = 9 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; + // min_notional defines the minimum notional for orders in the market + string min_notional = 10 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; + AdminInfo admin_info = 11; } // PerpetualMarketLaunchProposal defines a SDK message for proposing a new // perpetual futures market through governance message PerpetualMarketLaunchProposal { + option (amino.name) = "exchange/PerpetualMarketLaunchProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; @@ -163,45 +186,53 @@ message PerpetualMarketLaunchProposal { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + string min_notional = 15 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; + AdminInfo admin_info = 16; } message BinaryOptionsMarketLaunchProposal { + option (amino.name) = "exchange/BinaryOptionsMarketLaunchProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; @@ -228,31 +259,39 @@ message BinaryOptionsMarketLaunchProposal { string quote_denom = 11; // maker_fee_rate defines the maker fee rate of a binary options market string maker_fee_rate = 12 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // taker_fee_rate defines the taker fee rate of a derivative market string taker_fee_rate = 13 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + string min_notional = 16 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; + uint32 admin_permissions = 17; } // ExpiryFuturesMarketLaunchProposal defines a SDK message for proposing a new // expiry futures market through governance message ExpiryFuturesMarketLaunchProposal { + option (amino.name) = "exchange/ExpiryFuturesMarketLaunchProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; @@ -276,45 +315,54 @@ message ExpiryFuturesMarketLaunchProposal { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + string min_notional = 16 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; + + AdminInfo admin_info = 17; } message DerivativeMarketParamUpdateProposal { + option (amino.name) = "exchange/DerivativeMarketParamUpdateProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -327,68 +375,85 @@ message DerivativeMarketParamUpdateProposal { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // hourly_interest_rate defines the hourly interest rate string HourlyInterestRate = 11 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; MarketStatus status = 13; OracleParams oracle_params = 14; + + string ticker = 15 [ (gogoproto.nullable) = true ]; + + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + string min_notional = 16 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = true + ]; + + AdminInfo admin_info = 17; +} + +message AdminInfo { + string admin = 1; + uint32 admin_permissions = 2; } message MarketForcedSettlementProposal { + option (amino.name) = "exchange/MarketForcedSettlementProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; @@ -397,12 +462,13 @@ message MarketForcedSettlementProposal { string description = 2; string market_id = 3; string settlement_price = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; } message UpdateDenomDecimalsProposal { + option (amino.name) = "exchange/UpdateDenomDecimalsProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; @@ -413,6 +479,7 @@ message UpdateDenomDecimalsProposal { } message BinaryOptionsMarketParamUpdateProposal { + option (amino.name) = "exchange/BinaryOptionsMarketParamUpdateProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -425,34 +492,34 @@ message BinaryOptionsMarketParamUpdateProposal { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; @@ -462,13 +529,22 @@ message BinaryOptionsMarketParamUpdateProposal { int64 settlement_timestamp = 10; // new price at which market will be settled string settlement_price = 11 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // admin of the market string admin = 12; MarketStatus status = 13; ProviderOracleParams oracle_params = 14; + + string ticker = 15 [ (gogoproto.nullable) = true ]; + + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + string min_notional = 16 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = true + ]; } message ProviderOracleParams { @@ -494,6 +570,7 @@ message OracleParams { } message TradingRewardCampaignLaunchProposal { + option (amino.name) = "exchange/TradingRewardCampaignLaunchProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; @@ -505,6 +582,7 @@ message TradingRewardCampaignLaunchProposal { } message TradingRewardCampaignUpdateProposal { + option (amino.name) = "exchange/TradingRewardCampaignUpdateProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; @@ -520,12 +598,13 @@ message RewardPointUpdate { string account_address = 1; // new_points overwrites the current trading reward points for the account string new_points = 12 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } message TradingRewardPendingPointsUpdateProposal { + option (amino.name) = "exchange/TradingRewardPendingPointsUpdateProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; @@ -537,6 +616,7 @@ message TradingRewardPendingPointsUpdateProposal { } message FeeDiscountProposal { + option (amino.name) = "exchange/FeeDiscountProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; @@ -547,6 +627,7 @@ message FeeDiscountProposal { } message BatchCommunityPoolSpendProposal { + option (amino.name) = "exchange/BatchCommunityPoolSpendProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; @@ -559,6 +640,8 @@ message BatchCommunityPoolSpendProposal { // AtomicMarketOrderFeeMultiplierScheduleProposal defines a SDK message for // proposing new atomic take fee multipliers for specified markets message AtomicMarketOrderFeeMultiplierScheduleProposal { + option (amino.name) = + "exchange/AtomicMarketOrderFeeMultiplierScheduleProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; diff --git a/proto/injective/exchange/v1beta1/query.proto b/proto/injective/exchange/v1beta1/query.proto index cb89c00e..e74a687c 100644 --- a/proto/injective/exchange/v1beta1/query.proto +++ b/proto/injective/exchange/v1beta1/query.proto @@ -416,6 +416,27 @@ service Query { option (google.api.http).get = "/injective/exchange/v1beta1/atomic_order_fee_multiplier"; } + + // Retrieves the active stake grant for a grantee + rpc ActiveStakeGrant(QueryActiveStakeGrantRequest) + returns (QueryActiveStakeGrantResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/active_stake_grant/{grantee}"; + } + + // Retrieves the grant authorization amount for a granter and grantee + rpc GrantAuthorization(QueryGrantAuthorizationRequest) + returns (QueryGrantAuthorizationResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/grant_authorization/{granter}/{grantee}"; + } + + // Retrieves the grant authorization amount for a granter and grantee + rpc GrantAuthorizations(QueryGrantAuthorizationsRequest) + returns (QueryGrantAuthorizationsResponse) { + option (google.api.http).get = + "/injective/exchange/v1beta1/grant_authorizations/{granter}"; + } } message Subaccount { @@ -594,11 +615,11 @@ message QuerySpotOrderbookRequest { uint64 limit = 2; OrderSide order_side = 3; string limit_cumulative_notional = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; string limit_cumulative_quantity = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; } @@ -687,22 +708,23 @@ message QueryAccountAddressSpotOrdersRequest { message TrimmedSpotLimitOrder { // price of the order string price = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // quantity of the order string quantity = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // the amount of the quantity remaining fillable string fillable = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // true if the order is a buy bool isBuy = 4; string order_hash = 5; + string cid = 6; } // QueryTraderSpotOrdersResponse is the response type for the @@ -729,17 +751,17 @@ message QuerySpotMidPriceAndTOBRequest { message QuerySpotMidPriceAndTOBResponse { // mid price of the market string mid_price = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // best buy price of the market string best_buy_price = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // best sell price of the market string best_sell_price = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; } @@ -756,17 +778,17 @@ message QueryDerivativeMidPriceAndTOBRequest { message QueryDerivativeMidPriceAndTOBResponse { // mid price of the market string mid_price = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // best buy price of the market string best_buy_price = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // best sell price of the market string best_sell_price = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; } @@ -778,7 +800,7 @@ message QueryDerivativeOrderbookRequest { string market_id = 1; uint64 limit = 2; string limit_cumulative_notional = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; } @@ -812,12 +834,12 @@ message QueryTraderSpotOrdersToCancelUpToAmountRequest { string subaccount_id = 2; // the base amount to cancel (free up) string base_amount = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // the quote amount to cancel (free up) string quote_amount = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // The cancellation strategy @@ -825,7 +847,7 @@ message QueryTraderSpotOrdersToCancelUpToAmountRequest { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; } @@ -839,7 +861,7 @@ message QueryTraderDerivativeOrdersToCancelUpToAmountRequest { string subaccount_id = 2; // the quote amount to cancel (free up) string quote_amount = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // The cancellation strategy @@ -847,7 +869,7 @@ message QueryTraderDerivativeOrdersToCancelUpToAmountRequest { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; } @@ -873,28 +895,29 @@ message QueryAccountAddressDerivativeOrdersRequest { message TrimmedDerivativeLimitOrder { // price of the order string price = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // quantity of the order string quantity = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // margin of the order string margin = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // the amount of the quantity remaining fillable string fillable = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // true if the order is a buy bool isBuy = 5 [ (gogoproto.jsontag) = "isBuy" ]; // ensure omitempty is not in jsontag string order_hash = 6; + string cid = 7; } // QueryTraderDerivativeOrdersResponse is the response type for the @@ -942,12 +965,12 @@ message QueryDerivativeMarketsRequest { message PriceLevel { string price = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // quantity string quantity = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -964,7 +987,7 @@ message FullDerivativeMarket { ExpiryFuturesMarketInfo futures_info = 3; } string mark_price = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; @@ -1047,15 +1070,15 @@ message QuerySubaccountPositionInMarketResponse { message EffectivePosition { bool is_long = 1; string quantity = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string entry_price = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string effective_margin = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -1135,7 +1158,7 @@ message QueryTradeRewardPointsRequest { // Query/TradeRewardPoints RPC method. message QueryTradeRewardPointsResponse { repeated string account_trade_reward_points = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -1150,12 +1173,12 @@ message QueryTradeRewardCampaignResponse { TradingRewardCampaignInfo trading_reward_campaign_info = 1; repeated CampaignRewardPool trading_reward_pool_campaign_schedule = 2; string total_trade_reward_points = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; repeated CampaignRewardPool pending_trading_reward_pool_campaign_schedule = 4; repeated string pending_total_trade_reward_points = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -1206,23 +1229,23 @@ message BalanceMismatch { string subaccountId = 1; string denom = 2; string available = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string total = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string balance_hold = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string expected_total = 6 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string difference = 7 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -1241,15 +1264,15 @@ message BalanceWithMarginHold { string subaccountId = 1; string denom = 2; string available = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string total = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string balance_hold = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -1330,7 +1353,7 @@ message QueryMarketVolatilityRequest { // Query/MarketVolatility RPC method. message QueryMarketVolatilityResponse { string volatility = 1 - [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec" ]; + [ (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec" ]; injective.oracle.v1beta1.MetadataStatistics history_metadata = 2; repeated TradeRecord raw_history = 3; } @@ -1356,22 +1379,22 @@ message QueryTraderDerivativeConditionalOrdersRequest { message TrimmedDerivativeConditionalOrder { // price of the order string price = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // quantity of the order string quantity = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // margin of the order string margin = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // price to trigger the order string triggerPrice = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // true if the order is a buy @@ -1379,6 +1402,7 @@ message TrimmedDerivativeConditionalOrder { [ (gogoproto.jsontag) = "isBuy" ]; // ensure omitempty is not in jsontag bool isLimit = 6 [ (gogoproto.jsontag) = "isLimit" ]; string order_hash = 7; + string cid = 8; } // QueryTraderDerivativeOrdersResponse is the response type for the @@ -1391,7 +1415,36 @@ message QueryMarketAtomicExecutionFeeMultiplierRequest { string market_id = 1; } message QueryMarketAtomicExecutionFeeMultiplierResponse { string multiplier = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; +} + +message QueryActiveStakeGrantRequest { string grantee = 1; } + +message QueryActiveStakeGrantResponse { + ActiveGrant grant = 1; + EffectiveGrant effective_grant = 2; +} + +message QueryGrantAuthorizationRequest { + string granter = 1; + string grantee = 2; +} + +message QueryGrantAuthorizationResponse { + string amount = 1 [ + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; -} \ No newline at end of file +} + +message QueryGrantAuthorizationsRequest { string granter = 1; } + +message QueryGrantAuthorizationsResponse { + string total_grant_amount = 1 [ + (gogoproto.customtype) = "cosmossdk.io/math.Int", + (gogoproto.nullable) = false + ]; + repeated GrantAuthorization grants = 2; +} diff --git a/proto/injective/exchange/v1beta1/tx.proto b/proto/injective/exchange/v1beta1/tx.proto index 6a8de7ba..b282f4da 100644 --- a/proto/injective/exchange/v1beta1/tx.proto +++ b/proto/injective/exchange/v1beta1/tx.proto @@ -8,11 +8,14 @@ import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; import "injective/exchange/v1beta1/exchange.proto"; import "injective/oracle/v1beta1/oracle.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types"; // Msg defines the exchange Msg service. service Msg { + option (cosmos.msg.v1.service) = true; + // Deposit defines a method for transferring coins from the sender's bank // balance into the subaccount's exchange deposits rpc Deposit(MsgDeposit) returns (MsgDepositResponse); @@ -137,6 +140,10 @@ service Msg { rpc IncreasePositionMargin(MsgIncreasePositionMargin) returns (MsgIncreasePositionMarginResponse); + // DecreasePositionMargin defines a method for decreasing margin of a position + rpc DecreasePositionMargin(MsgDecreasePositionMargin) + returns (MsgDecreasePositionMarginResponse); + // RewardsOptOut defines a method for opting out of rewards rpc RewardsOptOut(MsgRewardsOptOut) returns (MsgRewardsOptOutResponse); @@ -145,14 +152,110 @@ service Msg { rpc AdminUpdateBinaryOptionsMarket(MsgAdminUpdateBinaryOptionsMarket) returns (MsgAdminUpdateBinaryOptionsMarketResponse); - // - rpc ReclaimLockedFunds(MsgReclaimLockedFunds) - returns (MsgReclaimLockedFundsResponse); - rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); + + // UpdateSpotMarket modifies certain spot market fields (admin only) + rpc UpdateSpotMarket(MsgUpdateSpotMarket) + returns (MsgUpdateSpotMarketResponse); + + // UpdateDerivativeMarket modifies certain derivative market fields (admin + // only) + rpc UpdateDerivativeMarket(MsgUpdateDerivativeMarket) + returns (MsgUpdateDerivativeMarketResponse); + + rpc AuthorizeStakeGrants(MsgAuthorizeStakeGrants) + returns (MsgAuthorizeStakeGrantsResponse); + + rpc ActivateStakeGrant(MsgActivateStakeGrant) + returns (MsgActivateStakeGrantResponse); +} + +message MsgUpdateSpotMarket { + option (amino.name) = "exchange/MsgUpdateSpotMarket"; + option (gogoproto.equal) = false; + option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "admin"; + + // current admin address of the associated market + string admin = 1; + + // id of the market to be updated + string market_id = 2; + + // (optional) updated ticker value + string new_ticker = 3; + + // (optional) updated min price tick size value + string new_min_price_tick_size = 4 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; + + // (optional) updated min quantity tick size value + string new_min_quantity_tick_size = 5 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; + + // (optional) updated min notional + string new_min_notional = 6 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; +} + +message MsgUpdateSpotMarketResponse {} + +message MsgUpdateDerivativeMarket { + option (amino.name) = "exchange/MsgUpdateDerivativeMarket"; + option (gogoproto.equal) = false; + option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "admin"; + + // current admin address of the associated market + string admin = 1; + + // id of the market to be updated + string market_id = 2; + + // (optional) updated value for ticker + string new_ticker = 3; + + // (optional) updated value for min_price_tick_size + string new_min_price_tick_size = 4 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; + + // (optional) updated value min_quantity_tick_size + string new_min_quantity_tick_size = 5 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; + + // (optional) updated min notional + string new_min_notional = 6 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; + + // (optional) updated value for initial_margin_ratio + string new_initial_margin_ratio = 7 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; + + // (optional) updated value for maintenance_margin_ratio + string new_maintenance_margin_ratio = 8 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; } +message MsgUpdateDerivativeMarketResponse {} + message MsgUpdateParams { + option (amino.name) = "exchange/MsgUpdateParams"; option (cosmos.msg.v1.signer) = "authority"; // authority is the address of the governance account. @@ -169,6 +272,7 @@ 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 (amino.name) = "exchange/MsgDeposit"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -186,6 +290,7 @@ message MsgDepositResponse {} // MsgWithdraw defines a SDK message for withdrawing coins from a subaccount's // deposits to the user's bank balance message MsgWithdraw { + option (amino.name) = "exchange/MsgWithdraw"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -202,6 +307,7 @@ message MsgWithdrawResponse {} // MsgCreateSpotLimitOrder defines a SDK message for creating a new spot limit // order. message MsgCreateSpotLimitOrder { + option (amino.name) = "exchange/MsgCreateSpotLimitOrder"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -217,11 +323,13 @@ message MsgCreateSpotLimitOrderResponse { option (gogoproto.goproto_getters) = false; string order_hash = 1; + string cid = 2; } // MsgBatchCreateSpotLimitOrders defines a SDK message for creating a new batch // of spot limit orders. message MsgBatchCreateSpotLimitOrders { + option (amino.name) = "exchange/MsgBatchCreateSpotLimitOrders"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -237,11 +345,14 @@ message MsgBatchCreateSpotLimitOrdersResponse { option (gogoproto.goproto_getters) = false; repeated string order_hashes = 1; + repeated string created_orders_cids = 2; + repeated string failed_orders_cids = 3; } // MsgInstantSpotMarketLaunch defines a SDK message for creating a new spot // market by paying listing fee without governance message MsgInstantSpotMarketLaunch { + option (amino.name) = "exchange/MsgInstantSpotMarketLaunch"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -255,13 +366,19 @@ message MsgInstantSpotMarketLaunch { string quote_denom = 4; // min_price_tick_size defines the minimum tick size of the order's price string min_price_tick_size = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + string min_notional = 7 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -273,6 +390,7 @@ message MsgInstantSpotMarketLaunchResponse {} // MsgInstantPerpetualMarketLaunch defines a SDK message for creating a new // perpetual futures market by paying listing fee without governance message MsgInstantPerpetualMarketLaunch { + option (amino.name) = "exchange/MsgInstantPerpetualMarketLaunch"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -293,38 +411,44 @@ message MsgInstantPerpetualMarketLaunch { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + string min_notional = 14 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -336,6 +460,7 @@ message MsgInstantPerpetualMarketLaunchResponse {} // MsgInstantBinaryOptionsMarketLaunch defines a SDK message for creating a new // perpetual futures market by paying listing fee without governance message MsgInstantBinaryOptionsMarketLaunch { + option (amino.name) = "exchange/MsgInstantBinaryOptionsMarketLaunch"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -354,14 +479,14 @@ message MsgInstantBinaryOptionsMarketLaunch { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // expiration timestamp @@ -375,13 +500,19 @@ message MsgInstantBinaryOptionsMarketLaunch { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + string min_notional = 15 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -393,6 +524,7 @@ message MsgInstantBinaryOptionsMarketLaunchResponse {} // MsgInstantExpiryFuturesMarketLaunch defines a SDK message for creating a new // expiry futures market by paying listing fee without governance message MsgInstantExpiryFuturesMarketLaunch { + option (amino.name) = "exchange/MsgInstantExpiryFuturesMarketLaunch"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -415,37 +547,43 @@ message MsgInstantExpiryFuturesMarketLaunch { // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // 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.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; + // min_notional defines the minimum notional (in quote asset) required for + // orders in the market + string min_notional = 15 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -457,6 +595,7 @@ message MsgInstantExpiryFuturesMarketLaunchResponse {} // MsgCreateSpotMarketOrder defines a SDK message for creating a new spot market // order. message MsgCreateSpotMarketOrder { + option (amino.name) = "exchange/MsgCreateSpotMarketOrder"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -474,6 +613,8 @@ message MsgCreateSpotMarketOrderResponse { string order_hash = 1; SpotMarketOrderResults results = 2 [ (gogoproto.nullable) = true ]; + + string cid = 3; } message SpotMarketOrderResults { @@ -481,21 +622,22 @@ message SpotMarketOrderResults { option (gogoproto.goproto_getters) = false; string quantity = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string price = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string fee = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } // A Cosmos-SDK MsgCreateDerivativeLimitOrder message MsgCreateDerivativeLimitOrder { + option (amino.name) = "exchange/MsgCreateDerivativeLimitOrder"; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -510,10 +652,12 @@ message MsgCreateDerivativeLimitOrderResponse { option (gogoproto.goproto_getters) = false; string order_hash = 1; + string cid = 2; } // A Cosmos-SDK MsgCreateBinaryOptionsLimitOrder message MsgCreateBinaryOptionsLimitOrder { + option (amino.name) = "exchange/MsgCreateBinaryOptionsLimitOrder"; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -528,10 +672,12 @@ message MsgCreateBinaryOptionsLimitOrderResponse { option (gogoproto.goproto_getters) = false; string order_hash = 1; + string cid = 2; } // A Cosmos-SDK MsgBatchCreateDerivativeLimitOrders message MsgBatchCreateDerivativeLimitOrders { + option (amino.name) = "exchange/MsgBatchCreateDerivativeLimitOrders"; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -546,10 +692,13 @@ message MsgBatchCreateDerivativeLimitOrdersResponse { option (gogoproto.goproto_getters) = false; repeated string order_hashes = 1; + repeated string created_orders_cids = 2; + repeated string failed_orders_cids = 3; } // MsgCancelSpotOrder defines the Msg/CancelSpotOrder response type. message MsgCancelSpotOrder { + option (amino.name) = "exchange/MsgCancelSpotOrder"; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -565,6 +714,7 @@ message MsgCancelSpotOrderResponse {} // MsgBatchCancelSpotOrders defines the Msg/BatchCancelSpotOrders response type. message MsgBatchCancelSpotOrders { + option (amino.name) = "exchange/MsgBatchCancelSpotOrders"; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -584,6 +734,7 @@ message MsgBatchCancelSpotOrdersResponse { // MsgBatchCancelBinaryOptionsOrders defines the // Msg/BatchCancelBinaryOptionsOrders response type. message MsgBatchCancelBinaryOptionsOrders { + option (amino.name) = "exchange/MsgBatchCancelBinaryOptionsOrders"; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -602,6 +753,7 @@ message MsgBatchCancelBinaryOptionsOrdersResponse { // MsgBatchUpdateOrders defines the Msg/BatchUpdateOrders response type. message MsgBatchUpdateOrders { + option (amino.name) = "exchange/MsgBatchUpdateOrders"; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -635,10 +787,17 @@ message MsgBatchUpdateOrdersResponse { repeated string derivative_order_hashes = 4; repeated bool binary_options_cancel_success = 5; repeated string binary_options_order_hashes = 6; + repeated string created_spot_orders_cids = 7; + repeated string failed_spot_orders_cids = 8; + repeated string created_derivative_orders_cids = 9; + repeated string failed_derivative_orders_cids = 10; + repeated string created_binary_options_orders_cids = 11; + repeated string failed_binary_options_orders_cids = 12; } // A Cosmos-SDK MsgCreateDerivativeMarketOrder message MsgCreateDerivativeMarketOrder { + option (amino.name) = "exchange/MsgCreateDerivativeMarketOrder"; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -655,6 +814,8 @@ message MsgCreateDerivativeMarketOrderResponse { string order_hash = 1; DerivativeMarketOrderResults results = 2 [ (gogoproto.nullable) = true ]; + + string cid = 3; } message DerivativeMarketOrderResults { @@ -662,26 +823,27 @@ message DerivativeMarketOrderResults { option (gogoproto.goproto_getters) = false; string quantity = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string price = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string fee = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; PositionDelta position_delta = 4 [ (gogoproto.nullable) = false ]; string payout = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } // A Cosmos-SDK MsgCreateBinaryOptionsMarketOrder message MsgCreateBinaryOptionsMarketOrder { + option (amino.name) = "exchange/MsgCreateBinaryOptionsMarketOrder"; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -698,10 +860,13 @@ message MsgCreateBinaryOptionsMarketOrderResponse { string order_hash = 1; DerivativeMarketOrderResults results = 2 [ (gogoproto.nullable) = true ]; + + string cid = 3; } // MsgCancelDerivativeOrder defines the Msg/CancelDerivativeOrder response type. message MsgCancelDerivativeOrder { + option (amino.name) = "exchange/MsgCancelDerivativeOrder"; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -720,6 +885,7 @@ message MsgCancelDerivativeOrderResponse {} // MsgCancelBinaryOptionsOrder defines the Msg/CancelBinaryOptionsOrder response // type. message MsgCancelBinaryOptionsOrder { + option (amino.name) = "exchange/MsgCancelBinaryOptionsOrder"; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -746,6 +912,7 @@ message OrderData { // MsgBatchCancelDerivativeOrders defines the Msg/CancelDerivativeOrders // response type. message MsgBatchCancelDerivativeOrders { + option (amino.name) = "exchange/MsgBatchCancelDerivativeOrders"; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -764,6 +931,7 @@ message MsgBatchCancelDerivativeOrdersResponse { // A Cosmos-SDK MsgSubaccountTransfer message MsgSubaccountTransfer { + option (amino.name) = "exchange/MsgSubaccountTransfer"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1; @@ -778,6 +946,7 @@ message MsgSubaccountTransferResponse {} // A Cosmos-SDK MsgExternalTransfer message MsgExternalTransfer { + option (amino.name) = "exchange/MsgExternalTransfer"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1; @@ -791,6 +960,7 @@ message MsgExternalTransferResponse {} // A Cosmos-SDK MsgLiquidatePosition message MsgLiquidatePosition { + option (amino.name) = "exchange/MsgLiquidatePosition"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1; @@ -806,6 +976,7 @@ message MsgLiquidatePositionResponse {} // A Cosmos-SDK MsgEmergencySettleMarket message MsgEmergencySettleMarket { + option (amino.name) = "exchange/MsgEmergencySettleMarket"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1; @@ -819,6 +990,7 @@ message MsgEmergencySettleMarketResponse {} // A Cosmos-SDK MsgIncreasePositionMargin message MsgIncreasePositionMargin { + option (amino.name) = "exchange/MsgIncreasePositionMargin"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1; @@ -827,17 +999,39 @@ message MsgIncreasePositionMargin { string market_id = 4; // amount defines the amount of margin to add to the position string amount = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } // MsgIncreasePositionMarginResponse defines the Msg/IncreasePositionMargin // response type. -message MsgIncreasePositionMarginResponse {} +message MsgIncreasePositionMarginResponse { +} // A Cosmos-SDK MsgIncreasePositionMargin + +// A Cosmos-SDK MsgDecreasePositionMargin +message MsgDecreasePositionMargin { + option (amino.name) = "exchange/MsgDecreasePositionMargin"; + option (cosmos.msg.v1.signer) = "sender"; + + string sender = 1; + string source_subaccount_id = 2; + string destination_subaccount_id = 3; + string market_id = 4; + // amount defines the amount of margin to withdraw from the position + string amount = 5 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; +} + +// MsgDecreasePositionMarginResponse defines the Msg/MsgDecreasePositionMargin +// response type. +message MsgDecreasePositionMarginResponse {} // MsgPrivilegedExecuteContract defines the Msg/Exec message type message MsgPrivilegedExecuteContract { + option (amino.name) = "exchange/MsgPrivilegedExecuteContract"; option (cosmos.msg.v1.signer) = "sender"; option (gogoproto.equal) = false; @@ -868,13 +1062,21 @@ message MsgPrivilegedExecuteContractResponse { } // A Cosmos-SDK MsgRewardsOptOut -message MsgRewardsOptOut { string sender = 1; } +message MsgRewardsOptOut { + option (amino.name) = "exchange/MsgRewardsOptOut"; + option (cosmos.msg.v1.signer) = "sender"; + option (gogoproto.equal) = false; + option (gogoproto.goproto_getters) = false; + + string sender = 1; +} // MsgRewardsOptOutResponse defines the Msg/RewardsOptOut response type. message MsgRewardsOptOutResponse {} // A Cosmos-SDK MsgReclaimLockedFunds message MsgReclaimLockedFunds { + option (amino.name) = "exchange/MsgReclaimLockedFunds"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1; @@ -907,13 +1109,14 @@ message MsgSignDoc { // MsgAdminUpdateBinaryOptionsMarket is used by the market Admin to operate the // market message MsgAdminUpdateBinaryOptionsMarket { + option (amino.name) = "exchange/MsgAdminUpdateBinaryOptionsMarket"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1; string market_id = 2; // new price at which market will be settled string settlement_price = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = true ]; // expiration timestamp @@ -927,3 +1130,25 @@ message MsgAdminUpdateBinaryOptionsMarket { // MsgAdminUpdateBinaryOptionsMarketResponse is the response for // AdminUpdateBinaryOptionsMarket rpc method message MsgAdminUpdateBinaryOptionsMarketResponse {} + +// MsgAuthorizeStakeGrants grants stakes to grantees. +message MsgAuthorizeStakeGrants { + option (amino.name) = "exchange/MsgAuthorizeStakeGrants"; + option (cosmos.msg.v1.signer) = "sender"; + + string sender = 1; + repeated GrantAuthorization grants = 2; +} + +message MsgAuthorizeStakeGrantsResponse {} + +// MsgActivateStakeGrant allows a grantee to activate a stake grant. +message MsgActivateStakeGrant { + option (amino.name) = "exchange/MsgActivateStakeGrant"; + option (cosmos.msg.v1.signer) = "sender"; + + string sender = 1; + string granter = 2; +} + +message MsgActivateStakeGrantResponse {} \ No newline at end of file diff --git a/proto/injective/insurance/v1beta1/insurance.proto b/proto/injective/insurance/v1beta1/insurance.proto index 9999b2d6..e4e2ada5 100644 --- a/proto/injective/insurance/v1beta1/insurance.proto +++ b/proto/injective/insurance/v1beta1/insurance.proto @@ -6,11 +6,13 @@ import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; import "cosmos/base/v1beta1/coin.proto"; import "injective/oracle/v1beta1/oracle.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/insurance/types"; message Params { option (gogoproto.equal) = true; + option (amino.name) = "insurance/Params"; // default_redemption_notice_period_duration defines the default minimum // notice period duration that must pass after an underwriter sends a @@ -37,12 +39,12 @@ message InsuranceFund { ]; // balance of fund string balance = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; // total share tokens minted string total_share = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; // marketID of the derivative market diff --git a/proto/injective/insurance/v1beta1/tx.proto b/proto/injective/insurance/v1beta1/tx.proto index 22e33993..88410ff4 100644 --- a/proto/injective/insurance/v1beta1/tx.proto +++ b/proto/injective/insurance/v1beta1/tx.proto @@ -7,11 +7,13 @@ import "cosmos/msg/v1/msg.proto"; import "cosmos_proto/cosmos.proto"; import "injective/insurance/v1beta1/insurance.proto"; import "injective/oracle/v1beta1/oracle.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/insurance/types"; // Msg defines the insurance Msg service. service Msg { + option (cosmos.msg.v1.service) = true; // CreateInsuranceFund defines a method for creating an insurance fund rpc CreateInsuranceFund(MsgCreateInsuranceFund) @@ -32,6 +34,7 @@ service Msg { // MsgCreateInsuranceFund a message to create an insurance fund for a derivative // market. message MsgCreateInsuranceFund { + option (amino.name) = "insurance/MsgCreateInsuranceFund"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -63,6 +66,7 @@ message MsgCreateInsuranceFundResponse {} // MsgUnderwrite defines a message for depositing coins to underwrite an // insurance fund message MsgUnderwrite { + option (amino.name) = "insurance/MsgUnderwrite"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -81,6 +85,7 @@ message MsgUnderwriteResponse {} // MsgRequestRedemption defines a message for requesting a redemption of the // sender's insurance fund tokens message MsgRequestRedemption { + option (amino.name) = "insurance/MsgRequestRedemption"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -97,6 +102,7 @@ message MsgRequestRedemption { message MsgRequestRedemptionResponse {} message MsgUpdateParams { + option (amino.name) = "insurance/MsgUpdateParams"; option (cosmos.msg.v1.signer) = "authority"; // authority is the address of the governance account. diff --git a/proto/injective/ocr/v1beta1/ocr.proto b/proto/injective/ocr/v1beta1/ocr.proto index 48bfe7cc..8f7c2a5d 100644 --- a/proto/injective/ocr/v1beta1/ocr.proto +++ b/proto/injective/ocr/v1beta1/ocr.proto @@ -5,10 +5,12 @@ import "cosmos/base/v1beta1/coin.proto"; import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; import "google/protobuf/timestamp.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/ocr/types"; message Params { + option (amino.name) = "ocr/Params"; option (gogoproto.equal) = true; // Native denom for LINK coin in the bank keeper @@ -62,25 +64,25 @@ message ModuleParams { // lowest answer the median of a report is allowed to be string min_answer = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // highest answer the median of a report is allowed to be string max_answer = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // Fixed LINK reward for each observer string link_per_observation = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; // Fixed LINK reward for transmitter string link_per_transmission = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; @@ -130,6 +132,7 @@ message ContractConfig { } message SetConfigProposal { + option (amino.name) = "ocr/SetConfigProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -161,25 +164,25 @@ message FeedProperties { // lowest answer the median of a report is allowed to be string min_answer = 6 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // highest answer the median of a report is allowed to be string max_answer = 7 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // Fixed LINK reward for each observer string link_per_observation = 8 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; // Fixed LINK reward for transmitter string link_per_transmission = 9 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; @@ -192,6 +195,7 @@ message FeedProperties { } message SetBatchConfigProposal { + option (amino.name) = "ocr/SetBatchConfigProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -230,7 +234,7 @@ message Payee { // time timestamp message Transmission { string answer = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; int64 observations_timestamp = 2; // when were observations made offchain @@ -246,7 +250,7 @@ message Report { int64 observations_timestamp = 1; bytes observers = 2; // ith element is the index of the ith observer repeated string observations = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // ith element is the ith observation } @@ -269,12 +273,12 @@ message EventOraclePaid { message EventAnswerUpdated { string current = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; string round_id = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; @@ -284,7 +288,7 @@ message EventAnswerUpdated { message EventNewRound { string round_id = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; @@ -304,13 +308,13 @@ message EventNewTransmission { string feed_id = 1; uint32 aggregator_round_id = 2; string answer = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string transmitter = 4; int64 observations_timestamp = 5; repeated string observations = 6 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; bytes observers = 7; diff --git a/proto/injective/ocr/v1beta1/tx.proto b/proto/injective/ocr/v1beta1/tx.proto index fa84a912..1da0a80b 100644 --- a/proto/injective/ocr/v1beta1/tx.proto +++ b/proto/injective/ocr/v1beta1/tx.proto @@ -6,11 +6,14 @@ import "cosmos/msg/v1/msg.proto"; import "gogoproto/gogo.proto"; import "injective/ocr/v1beta1/ocr.proto"; import "cosmos_proto/cosmos.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/ocr/types"; // Msg defines the OCR Msg service. service Msg { + option (cosmos.msg.v1.service) = true; + // 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 @@ -39,6 +42,7 @@ service Msg { } message MsgCreateFeed { + option (amino.name) = "ocr/MsgCreateFeed"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -51,6 +55,7 @@ message MsgCreateFeed { message MsgCreateFeedResponse {} message MsgUpdateFeed { + option (amino.name) = "ocr/MsgUpdateFeed"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -69,13 +74,13 @@ message MsgUpdateFeed { // Fixed LINK reward for each observer string link_per_observation = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = true ]; // Fixed LINK reward for transmitter string link_per_transmission = 6 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = true ]; @@ -92,6 +97,7 @@ message MsgUpdateFeed { message MsgUpdateFeedResponse {} message MsgTransmit { + option (amino.name) = "ocr/MsgTransmit"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -111,6 +117,7 @@ message MsgTransmit { message MsgTransmitResponse {} message MsgFundFeedRewardPool { + option (amino.name) = "ocr/MsgFundFeedRewardPool"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -124,6 +131,7 @@ message MsgFundFeedRewardPool { message MsgFundFeedRewardPoolResponse {} message MsgWithdrawFeedRewardPool { + option (amino.name) = "ocr/MsgWithdrawFeedRewardPool"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -137,6 +145,7 @@ message MsgWithdrawFeedRewardPool { message MsgWithdrawFeedRewardPoolResponse {} message MsgSetPayees { + option (amino.name) = "ocr/MsgSetPayees"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -154,6 +163,7 @@ message MsgSetPayees { message MsgSetPayeesResponse {} message MsgTransferPayeeship { + option (amino.name) = "ocr/MsgTransferPayeeship"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -170,6 +180,7 @@ message MsgTransferPayeeship { message MsgTransferPayeeshipResponse {} message MsgAcceptPayeeship { + option (amino.name) = "ocr/MsgAcceptPayeeship"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -185,6 +196,7 @@ message MsgAcceptPayeeship { message MsgAcceptPayeeshipResponse {} message MsgUpdateParams { + option (amino.name) = "ocr/MsgUpdateParams"; option (cosmos.msg.v1.signer) = "authority"; // authority is the address of the governance account. diff --git a/proto/injective/oracle/v1beta1/events.proto b/proto/injective/oracle/v1beta1/events.proto index 5db1c22a..82c151fc 100644 --- a/proto/injective/oracle/v1beta1/events.proto +++ b/proto/injective/oracle/v1beta1/events.proto @@ -10,7 +10,7 @@ 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; uint64 timestamp = 3; @@ -21,7 +21,7 @@ message SetBandPriceEvent { string relayer = 1; string symbol = 2; string price = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; uint64 resolve_time = 4; @@ -32,7 +32,7 @@ message SetBandIBCPriceEvent { string relayer = 1; repeated string symbols = 2; repeated string prices = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; uint64 resolve_time = 4; @@ -60,7 +60,7 @@ message SetPriceFeedPriceEvent { // price defines the price of the oracle base and quote string price = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -70,7 +70,7 @@ message SetProviderPriceEvent { string relayer = 2; string symbol = 3; string price = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -78,10 +78,12 @@ message SetProviderPriceEvent { message SetCoinbasePriceEvent { string symbol = 1; string price = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; uint64 timestamp = 3; } +message EventSetStorkPrices { repeated StorkPriceState 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 864afc83..8e2665dc 100644 --- a/proto/injective/oracle/v1beta1/genesis.proto +++ b/proto/injective/oracle/v1beta1/genesis.proto @@ -38,6 +38,10 @@ message GenesisState { repeated ProviderState provider_states = 14; repeated PythPriceState pyth_price_states = 15; + + repeated StorkPriceState stork_price_states = 16; + + repeated string stork_publishers = 17; } message CalldataRecord { diff --git a/proto/injective/oracle/v1beta1/oracle.proto b/proto/injective/oracle/v1beta1/oracle.proto index 47ea13dd..2b9e2a84 100644 --- a/proto/injective/oracle/v1beta1/oracle.proto +++ b/proto/injective/oracle/v1beta1/oracle.proto @@ -3,11 +3,13 @@ package injective.oracle.v1beta1; import "gogoproto/gogo.proto"; import "cosmos/base/v1beta1/coin.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/oracle/types"; option (gogoproto.goproto_registration) = true; message Params { + option (amino.name) = "oracle/Params"; option (gogoproto.equal) = true; string pyth_contract = 1; @@ -26,6 +28,7 @@ enum OracleType { Pyth = 9; BandIBC = 10; Provider = 11; + Stork = 12; } message OracleInfo { @@ -36,7 +39,7 @@ message OracleInfo { message ChainlinkPriceState { string feed_id = 1; string answer = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; uint64 timestamp = 3; @@ -46,7 +49,7 @@ message ChainlinkPriceState { message BandPriceState { string symbol = 1; string rate = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; uint64 resolve_time = 3; @@ -83,7 +86,7 @@ message PriceFeedInfo { message PriceFeedPrice { string price = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -101,14 +104,28 @@ message CoinbasePriceState { PriceState price_state = 5 [ (gogoproto.nullable) = false ]; } +message StorkPriceState { + // timestamp of the when the price was signed by stork + uint64 timestamp = 1; + // the symbol of the price, e.g. BTC + string symbol = 2; + // the value of the price scaled by 1e18 + string value = 3 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; + // the price state + PriceState price_state = 5 [ (gogoproto.nullable) = false ]; +} + message PriceState { string price = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string cumulative_price = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; @@ -118,15 +135,15 @@ message PriceState { message PythPriceState { string price_id = 1; string ema_price = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string ema_conf = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string conf = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; uint64 publish_time = 5; @@ -206,7 +223,7 @@ message PriceRecord { int64 timestamp = 1; string price = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -224,13 +241,13 @@ message MetadataStatistics { // (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.customtype) = "cosmossdk.io/math.LegacyDec", (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} string twap = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // FirstTimestamp is the timestamp of the oldest record considered @@ -239,17 +256,17 @@ message MetadataStatistics { int64 last_timestamp = 6; // MinPrice refers to the smallest individual raw price considered string min_price = 7 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // MaxPrice refers to the largest individual raw price considered string max_price = 8 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // MedianPrice refers to the median individual raw price considered string median_price = 9 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -265,3 +282,18 @@ message PriceAttestation { int32 ema_expo = 7; int64 publish_time = 8; } + +message AssetPair { + string asset_id = 1; + repeated SignedPriceOfAssetPair signed_prices = 2; +} + +message SignedPriceOfAssetPair { + string publisher_key = 1; + uint64 timestamp = 2; + string price = 3 [ + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false + ]; + bytes signature = 4; +} diff --git a/proto/injective/oracle/v1beta1/proposal.proto b/proto/injective/oracle/v1beta1/proposal.proto index 925d786d..2c149cf7 100644 --- a/proto/injective/oracle/v1beta1/proposal.proto +++ b/proto/injective/oracle/v1beta1/proposal.proto @@ -5,10 +5,12 @@ import "cosmos/base/v1beta1/coin.proto"; import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; import "injective/oracle/v1beta1/oracle.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/oracle/types"; message GrantBandOraclePrivilegeProposal { + option (amino.name) = "oracle/GrantBandOraclePrivilegeProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -20,6 +22,7 @@ message GrantBandOraclePrivilegeProposal { } message RevokeBandOraclePrivilegeProposal { + option (amino.name) = "oracle/RevokeBandOraclePrivilegeProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -31,6 +34,7 @@ message RevokeBandOraclePrivilegeProposal { } message GrantPriceFeederPrivilegeProposal { + option (amino.name) = "oracle/GrantPriceFeederPrivilegeProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -44,6 +48,7 @@ message GrantPriceFeederPrivilegeProposal { } message GrantProviderPrivilegeProposal { + option (amino.name) = "oracle/GrantProviderPrivilegeProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -56,6 +61,7 @@ message GrantProviderPrivilegeProposal { } message RevokeProviderPrivilegeProposal { + option (amino.name) = "oracle/RevokeProviderPrivilegeProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -68,6 +74,7 @@ message RevokeProviderPrivilegeProposal { } message RevokePriceFeederPrivilegeProposal { + option (amino.name) = "oracle/RevokePriceFeederPrivilegeProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -81,6 +88,7 @@ message RevokePriceFeederPrivilegeProposal { } message AuthorizeBandOracleRequestProposal { + option (amino.name) = "oracle/AuthorizeBandOracleRequestProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -92,6 +100,7 @@ message AuthorizeBandOracleRequestProposal { } message UpdateBandOracleRequestProposal { + option (amino.name) = "oracle/UpdateBandOracleRequestProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -104,6 +113,7 @@ message UpdateBandOracleRequestProposal { } message EnableBandIBCProposal { + option (amino.name) = "oracle/EnableBandIBCProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; @@ -113,4 +123,30 @@ message EnableBandIBCProposal { string description = 2; BandIBCParams band_ibc_params = 3 [ (gogoproto.nullable) = false ]; -} \ No newline at end of file +} + +message GrantStorkPublisherPrivilegeProposal { + option (amino.name) = "oracle/GrantStorkPublisherPrivilegeProposal"; + 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 stork_publishers = 3; +} + +message RevokeStorkPublisherPrivilegeProposal { + option (amino.name) = "oracle/RevokeStorkPublisherPrivilegeProposal"; + 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 stork_publishers = 3; +} diff --git a/proto/injective/oracle/v1beta1/query.proto b/proto/injective/oracle/v1beta1/query.proto index 4673ed48..f949c580 100644 --- a/proto/injective/oracle/v1beta1/query.proto +++ b/proto/injective/oracle/v1beta1/query.proto @@ -56,6 +56,19 @@ service Query { "/injective/oracle/v1beta1/pyth_price_states"; } + // Retrieves the state for all stork price feeds + rpc StorkPriceStates(QueryStorkPriceStatesRequest) + returns (QueryStorkPriceStatesResponse) { + option (google.api.http).get = + "/injective/oracle/v1beta1/stork_price_states"; + } + + // Retrieves all stork publishers + rpc StorkPublishers(QueryStorkPublishersRequest) + returns (QueryStorkPublishersResponse) { + option (google.api.http).get = "/injective/oracle/v1beta1/stork_publishers"; + } + // Retrieves the state for all provider price feeds rpc ProviderPriceState(QueryProviderPriceStateRequest) returns (QueryProviderPriceStateResponse) { @@ -173,6 +186,24 @@ message QueryPythPriceStatesResponse { repeated PythPriceState price_states = 1; } +// QueryStorkPriceStatesRequest is the request type for the +// Query/StorkPriceStates RPC method. +message QueryStorkPriceStatesRequest {} + +// QueryStorkPriceStatesResponse is the response type for the +// Query/StorkPriceStates RPC method. +message QueryStorkPriceStatesResponse { + repeated StorkPriceState price_states = 1; +} + +// QueryStorkPublishersRequest is the request type for the +// Query/StorkPublishers RPC method. +message QueryStorkPublishersRequest {} + +// QueryStorkPublishersResponse is the response type for the +// Query/StorkPublishers RPC method. +message QueryStorkPublishersResponse { repeated string publishers = 1; } + // QueryProviderPriceStateRequest is the request type for the // Query/ProviderPriceState RPC method. message QueryProviderPriceStateRequest { @@ -226,7 +257,7 @@ message QueryOracleVolatilityRequest { // RPC method. message QueryOracleVolatilityResponse { string volatility = 1 - [ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec" ]; + [ (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec" ]; MetadataStatistics history_metadata = 2; repeated PriceRecord raw_history = 3; } @@ -243,34 +274,43 @@ message QueryOracleProviderPricesResponse { repeated ProviderState providerState = 1; } +// ScalingOptions defines optional configuration to avoid precision loss. The +// oracle result will be returned as base_price * 10^base_decimals / quote_price +// * 10^quote_decimals +message ScalingOptions { + uint32 base_decimals = 1; + uint32 quote_decimals = 2; +} + // QueryOraclePriceRequest is the request type for the Query/OraclePrice RPC // method. message QueryOraclePriceRequest { OracleType oracle_type = 1; string base = 2; string quote = 3; + ScalingOptions scaling_options = 4 [ (gogoproto.nullable) = true ]; } message PricePairState { string pair_price = 1 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string base_price = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string quote_price = 3 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string base_cumulative_price = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string quote_cumulative_price = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; diff --git a/proto/injective/oracle/v1beta1/tx.proto b/proto/injective/oracle/v1beta1/tx.proto index 2c5ccebf..bc48f5e6 100644 --- a/proto/injective/oracle/v1beta1/tx.proto +++ b/proto/injective/oracle/v1beta1/tx.proto @@ -5,11 +5,13 @@ import "gogoproto/gogo.proto"; import "injective/oracle/v1beta1/oracle.proto"; import "cosmos/msg/v1/msg.proto"; import "cosmos_proto/cosmos.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/oracle/types"; // Msg defines the oracle Msg service. service Msg { + option (cosmos.msg.v1.service) = true; // RelayProviderPrice defines a method for relaying a price for a // provider-based oracle @@ -33,6 +35,11 @@ service Msg { rpc RelayCoinbaseMessages(MsgRelayCoinbaseMessages) returns (MsgRelayCoinbaseMessagesResponse); + // RelayStorkMessage defines a method for relaying price message from + // Stork API + rpc RelayStorkMessage(MsgRelayStorkPrices) + returns (MsgRelayStorkPricesResponse); + // RelayPythPrices defines a method for relaying rates from the Pyth contract rpc RelayPythPrices(MsgRelayPythPrices) returns (MsgRelayPythPricesResponse); @@ -43,6 +50,7 @@ service Msg { // MsgRelayProviderPrice defines a SDK message for setting a price through the // provider oracle. message MsgRelayProviderPrices { + option (amino.name) = "oracle/MsgRelayProviderPrices"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -51,7 +59,7 @@ message MsgRelayProviderPrices { string provider = 2; repeated string symbols = 3; repeated string prices = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -61,6 +69,7 @@ message MsgRelayProviderPricesResponse {} // MsgRelayPriceFeedPrice defines a SDK message for setting a price through the // pricefeed oracle. message MsgRelayPriceFeedPrice { + option (amino.name) = "oracle/MsgRelayPriceFeedPrice"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -72,7 +81,7 @@ message MsgRelayPriceFeedPrice { // price defines the price of the oracle base and quote repeated string price = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -80,6 +89,7 @@ message MsgRelayPriceFeedPrice { message MsgRelayPriceFeedPriceResponse {} message MsgRelayBandRates { + option (amino.name) = "oracle/MsgRelayBandRates"; option (cosmos.msg.v1.signer) = "relayer"; string relayer = 1; @@ -94,6 +104,7 @@ message MsgRelayBandRatesResponse {} // MsgRelayCoinbaseMessages defines a SDK message for relaying price messages // from Coinbase API. message MsgRelayCoinbaseMessages { + option (amino.name) = "oracle/MsgRelayCoinbaseMessages"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -106,9 +117,23 @@ message MsgRelayCoinbaseMessages { message MsgRelayCoinbaseMessagesResponse {} +// MsgRelayStorkPrices defines a SDK message for relaying price message +// from Stork API. +message MsgRelayStorkPrices { + option (gogoproto.equal) = false; + option (gogoproto.goproto_getters) = false; + option (cosmos.msg.v1.signer) = "sender"; + + string sender = 1; + repeated AssetPair asset_pairs = 2; +} + +message MsgRelayStorkPricesResponse {} + // MsgRequestBandIBCRates defines a SDK message for requesting data from // BandChain using IBC. message MsgRequestBandIBCRates { + option (amino.name) = "oracle/MsgRequestBandIBCRates"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -122,6 +147,7 @@ message MsgRequestBandIBCRatesResponse {} // MsgRelayPythPrices defines a SDK message for updating Pyth prices message MsgRelayPythPrices { + option (amino.name) = "oracle/MsgRelayPythPrices"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos.msg.v1.signer) = "sender"; @@ -134,6 +160,7 @@ message MsgRelayPythPrices { message MsgRelayPythPricesResponse {} message MsgUpdateParams { + option (amino.name) = "oracle/MsgUpdateParams"; option (cosmos.msg.v1.signer) = "authority"; // authority is the address of the governance account. diff --git a/proto/injective/peggy/v1/attestation.proto b/proto/injective/peggy/v1/attestation.proto index f059c054..fa6301dc 100644 --- a/proto/injective/peggy/v1/attestation.proto +++ b/proto/injective/peggy/v1/attestation.proto @@ -56,7 +56,7 @@ message Attestation { message ERC20Token { string contract = 1; string amount = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; } diff --git a/proto/injective/peggy/v1/events.proto b/proto/injective/peggy/v1/events.proto index 2436735c..8a5f866d 100644 --- a/proto/injective/peggy/v1/events.proto +++ b/proto/injective/peggy/v1/events.proto @@ -40,7 +40,7 @@ message EventValsetUpdateRequest { uint64 valset_height = 2; repeated BridgeValidator valset_members = 3; string reward_amount = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; string reward_token = 5; @@ -90,7 +90,7 @@ message EventDepositClaim { string cosmos_receiver = 5; string token_contract = 6; string amount = 7 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; string orchestrator_address = 8; @@ -125,7 +125,7 @@ message EventValsetUpdateClaim { uint64 valset_nonce = 4; repeated BridgeValidator valset_members = 5; string reward_amount = 6 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; string reward_token = 7; diff --git a/proto/injective/peggy/v1/msgs.proto b/proto/injective/peggy/v1/msgs.proto index f28584cc..2858a1f7 100644 --- a/proto/injective/peggy/v1/msgs.proto +++ b/proto/injective/peggy/v1/msgs.proto @@ -9,10 +9,13 @@ import "injective/peggy/v1/params.proto"; import "google/protobuf/any.proto"; import "cosmos/msg/v1/msg.proto"; import "cosmos_proto/cosmos.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types"; service Msg { + option (cosmos.msg.v1.service) = true; + rpc ValsetConfirm(MsgValsetConfirm) returns (MsgValsetConfirmResponse) { option (google.api.http).post = "/injective/peggy/v1/valset_confirm"; } @@ -54,6 +57,15 @@ service Msg { } rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); + + // BlacklistEthereumAddresses adds Ethereum addresses to the peggy blacklist. + rpc BlacklistEthereumAddresses(MsgBlacklistEthereumAddresses) + returns (MsgBlacklistEthereumAddressesResponse); + + // RevokeEthereumBlacklist removes Ethereum addresses from the peggy + // blacklist. + rpc RevokeEthereumBlacklist(MsgRevokeEthereumBlacklist) + returns (MsgRevokeEthereumBlacklistResponse); } // MsgSetOrchestratorAddresses @@ -70,6 +82,9 @@ service Msg { // This is a hex encoded 0x Ethereum public key that will be used by this // validator on Ethereum message MsgSetOrchestratorAddresses { + option (amino.name) = "peggy/MsgSetOrchestratorAddresses"; + option (cosmos.msg.v1.signer) = "sender"; + string sender = 1; string orchestrator = 2; string eth_address = 3; @@ -93,6 +108,7 @@ message MsgSetOrchestratorAddressesResponse {} // chain store and submit them to Ethereum to update the validator set // ------------- message MsgValsetConfirm { + option (amino.name) = "peggy/MsgValsetConfirm"; option (cosmos.msg.v1.signer) = "orchestrator"; uint64 nonce = 1; @@ -116,6 +132,7 @@ message MsgValsetConfirmResponse {} // actually send this message in the first place. So a successful send has // two layers of fees for the user message MsgSendToEth { + option (amino.name) = "peggy/MsgSendToEth"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1; @@ -136,6 +153,7 @@ message MsgSendToEthResponse {} // can finally submit the batch // ------------- message MsgRequestBatch { + option (amino.name) = "peggy/MsgRequestBatch"; option (cosmos.msg.v1.signer) = "orchestrator"; string orchestrator = 1; @@ -153,6 +171,7 @@ message MsgRequestBatchResponse {} // as well as an Ethereum signature over this batch by the validator // ------------- message MsgConfirmBatch { + option (amino.name) = "peggy/MsgConfirmBatch"; option (cosmos.msg.v1.signer) = "orchestrator"; uint64 nonce = 1; @@ -170,13 +189,14 @@ message MsgConfirmBatchResponse {} // issued to the Cosmos address in question // ------------- message MsgDepositClaim { + option (amino.name) = "peggy/MsgDepositClaim"; option (cosmos.msg.v1.signer) = "orchestrator"; uint64 event_nonce = 1; uint64 block_height = 2; string token_contract = 3; string amount = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; string ethereum_sender = 5; @@ -190,6 +210,7 @@ message MsgDepositClaimResponse {} // WithdrawClaim claims that a batch of withdrawal // operations on the bridge contract was executed. message MsgWithdrawClaim { + option (amino.name) = "peggy/MsgWithdrawClaim"; option (cosmos.msg.v1.signer) = "orchestrator"; uint64 event_nonce = 1; @@ -205,6 +226,7 @@ message MsgWithdrawClaimResponse {} // to learn about an ERC20 that someone deployed // to represent a Cosmos asset message MsgERC20DeployedClaim { + option (amino.name) = "peggy/MsgERC20DeployedClaim"; option (cosmos.msg.v1.signer) = "orchestrator"; uint64 event_nonce = 1; @@ -223,6 +245,7 @@ message MsgERC20DeployedClaimResponse {} // to cancel a given MsgSendToEth and recieve a refund // of the tokens message MsgCancelSendToEth { + option (amino.name) = "peggy/MsgCancelSendToEth"; option (cosmos.msg.v1.signer) = "sender"; uint64 transaction_id = 1; @@ -235,6 +258,7 @@ 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 (amino.name) = "peggy/MsgSubmitBadSignatureEvidence"; option (cosmos.msg.v1.signer) = "sender"; google.protobuf.Any subject = 1; @@ -247,6 +271,7 @@ message MsgSubmitBadSignatureEvidenceResponse {} // This informs the Cosmos module that a validator // set has been updated. message MsgValsetUpdatedClaim { + option (amino.name) = "peggy/MsgValsetUpdatedClaim"; option (cosmos.msg.v1.signer) = "orchestrator"; uint64 event_nonce = 1; @@ -254,7 +279,7 @@ message MsgValsetUpdatedClaim { uint64 block_height = 3; repeated BridgeValidator members = 4; string reward_amount = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; string reward_token = 6; @@ -264,6 +289,7 @@ message MsgValsetUpdatedClaim { message MsgValsetUpdatedClaimResponse {} message MsgUpdateParams { + option (amino.name) = "peggy/MsgUpdateParams"; option (cosmos.msg.v1.signer) = "authority"; // authority is the address of the governance account. @@ -275,4 +301,36 @@ message MsgUpdateParams { Params params = 2 [ (gogoproto.nullable) = false ]; } -message MsgUpdateParamsResponse {} \ No newline at end of file +message MsgUpdateParamsResponse {} + +// MsgBlacklistEthereumAddresses defines the message used to add Ethereum +// addresses to peggy blacklist. +message MsgBlacklistEthereumAddresses { + option (amino.name) = "peggy/MsgBlacklistEthereumAddresses"; + option (cosmos.msg.v1.signer) = "signer"; + + // signer address + string signer = 1; + // Ethereum addresses to include in the blacklist + repeated string blacklist_addresses = 2; +} + +// MsgBlacklistEthereumAddressesResponse defines the +// MsgBlacklistEthereumAddresses response type. +message MsgBlacklistEthereumAddressesResponse {} + +// MsgRevokeEthereumBlacklist defines the message used to remove Ethereum +// addresses from peggy blacklist. +message MsgRevokeEthereumBlacklist { + option (amino.name) = "peggy/MsgRevokeEthereumBlacklist"; + option (cosmos.msg.v1.signer) = "signer"; + + // signer address + string signer = 1; + // Ethereum addresses to include in the blacklist + repeated string blacklist_addresses = 2; +} + +// MsgRevokeEthereumBlacklistResponse defines the MsgRevokeEthereumBlacklist +// response type. +message MsgRevokeEthereumBlacklistResponse {} diff --git a/proto/injective/peggy/v1/params.proto b/proto/injective/peggy/v1/params.proto index 8e84f61d..43c4b3a8 100644 --- a/proto/injective/peggy/v1/params.proto +++ b/proto/injective/peggy/v1/params.proto @@ -3,6 +3,7 @@ package injective.peggy.v1; import "gogoproto/gogo.proto"; import "cosmos/base/v1beta1/coin.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/peggy/types"; @@ -90,6 +91,7 @@ option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/mod // bootstrapping. message Params { + option (amino.name) = "peggy/Params"; option (gogoproto.stringer) = false; string peggy_id = 1; @@ -103,24 +105,24 @@ message Params { 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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; bytes slash_fraction_batch = 12 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; bytes slash_fraction_claim = 13 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; bytes slash_fraction_conflicting_claim = 14 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (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.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string cosmos_coin_denom = 17; @@ -129,4 +131,6 @@ message Params { uint64 bridge_contract_start_height = 20; cosmos.base.v1beta1.Coin valset_reward = 21 [ (gogoproto.nullable) = false ]; + + repeated string admins = 22; } diff --git a/proto/injective/peggy/v1/pool.proto b/proto/injective/peggy/v1/pool.proto index 6853ed26..b4152a3f 100644 --- a/proto/injective/peggy/v1/pool.proto +++ b/proto/injective/peggy/v1/pool.proto @@ -11,7 +11,7 @@ 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.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; } \ No newline at end of file diff --git a/proto/injective/peggy/v1/types.proto b/proto/injective/peggy/v1/types.proto index d0593262..5ba5964e 100644 --- a/proto/injective/peggy/v1/types.proto +++ b/proto/injective/peggy/v1/types.proto @@ -17,7 +17,7 @@ message Valset { repeated BridgeValidator members = 2; uint64 height = 3; string reward_amount = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; // the reward token in it's Ethereum hex address representation diff --git a/proto/injective/permissions/v1beta1/events.proto b/proto/injective/permissions/v1beta1/events.proto index 78818bb1..7bec7e4d 100644 --- a/proto/injective/permissions/v1beta1/events.proto +++ b/proto/injective/permissions/v1beta1/events.proto @@ -6,3 +6,8 @@ import "cosmos/base/v1beta1/coin.proto"; import "cosmos/bank/v1beta1/bank.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types"; + +message EventSetVoucher { + string addr = 1; + cosmos.base.v1beta1.Coin voucher = 2 [ (gogoproto.nullable) = false ]; +} \ No newline at end of file diff --git a/proto/injective/permissions/v1beta1/params.proto b/proto/injective/permissions/v1beta1/params.proto index 0b054a07..5b731fd6 100644 --- a/proto/injective/permissions/v1beta1/params.proto +++ b/proto/injective/permissions/v1beta1/params.proto @@ -4,8 +4,14 @@ package injective.permissions.v1beta1; import "gogoproto/gogo.proto"; import "cosmos_proto/cosmos.proto"; import "cosmos/base/v1beta1/coin.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types"; // Params defines the parameters for the permissions module. -message Params {} +message Params { + option (gogoproto.equal) = true; + option (amino.name) = "permissions/Params"; + + uint64 wasm_hook_query_max_gas = 1; +} diff --git a/proto/injective/permissions/v1beta1/permissions.proto b/proto/injective/permissions/v1beta1/permissions.proto index 7d190ed5..0abb5c5c 100644 --- a/proto/injective/permissions/v1beta1/permissions.proto +++ b/proto/injective/permissions/v1beta1/permissions.proto @@ -16,8 +16,14 @@ message Namespace { bool sends_paused = 4; bool burns_paused = 5; - map role_permissions = 6; // permissions for each role - map address_roles = 7; + repeated Role role_permissions = 6; // permissions for each role + + repeated AddressRoles address_roles = 7; +} + +message AddressRoles { + string address = 1; + repeated string roles = 2; } // each Action enum value should be a power of two @@ -30,12 +36,10 @@ enum Action { // Role is only used for storage message Role { - string name = 1; + string role = 1; uint32 permissions = 2; } -message Roles { repeated string roles = 1; } - // used in storage message RoleIDs { repeated uint32 role_ids = 1; } @@ -44,4 +48,9 @@ message Voucher { (gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; +} + +message AddressVoucher { + string address = 1; + Voucher voucher = 2; } \ No newline at end of file diff --git a/proto/injective/permissions/v1beta1/query.proto b/proto/injective/permissions/v1beta1/query.proto index 0322e301..6e4d4b9c 100644 --- a/proto/injective/permissions/v1beta1/query.proto +++ b/proto/injective/permissions/v1beta1/query.proto @@ -3,6 +3,7 @@ package injective.permissions.v1beta1; import "gogoproto/gogo.proto"; import "google/api/annotations.proto"; +import "cosmos/base/v1beta1/coin.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; import "injective/permissions/v1beta1/params.proto"; import "injective/permissions/v1beta1/genesis.proto"; @@ -108,4 +109,10 @@ message QueryAddressRolesResponse { repeated string roles = 1; } message QueryVouchersForAddressRequest { string address = 1; } -message QueryVouchersForAddressResponse { map vouchers = 1; } +message QueryVouchersForAddressResponse { + repeated cosmos.base.v1beta1.Coin vouchers = 1 [ + (gogoproto.nullable) = false, + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", + (gogoproto.jsontag) = "vouchers,omitempty" + ]; +} diff --git a/proto/injective/permissions/v1beta1/tx.proto b/proto/injective/permissions/v1beta1/tx.proto index 2ea0c509..b5749aa7 100644 --- a/proto/injective/permissions/v1beta1/tx.proto +++ b/proto/injective/permissions/v1beta1/tx.proto @@ -8,11 +8,14 @@ import "cosmos/msg/v1/msg.proto"; import "cosmos_proto/cosmos.proto"; import "injective/permissions/v1beta1/params.proto"; import "injective/permissions/v1beta1/permissions.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types"; // Msg defines the permissions module's gRPC message service. service Msg { + option (cosmos.msg.v1.service) = true; + rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); rpc CreateNamespace(MsgCreateNamespace) returns (MsgCreateNamespaceResponse); rpc DeleteNamespace(MsgDeleteNamespace) returns (MsgDeleteNamespaceResponse); @@ -25,6 +28,7 @@ service Msg { } message MsgUpdateParams { + option (amino.name) = "permissions/MsgUpdateParams"; option (cosmos.msg.v1.signer) = "authority"; // authority is the address of the governance account. @@ -39,6 +43,7 @@ message MsgUpdateParams { message MsgUpdateParamsResponse {} message MsgCreateNamespace { + option (amino.name) = "permissions/MsgCreateNamespace"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; @@ -48,6 +53,7 @@ message MsgCreateNamespace { message MsgCreateNamespaceResponse {} message MsgDeleteNamespace { + option (amino.name) = "permissions/MsgDeleteNamespace"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; @@ -57,6 +63,7 @@ message MsgDeleteNamespace { message MsgDeleteNamespaceResponse {} message MsgUpdateNamespace { + option (amino.name) = "permissions/MsgUpdateNamespace"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; @@ -80,15 +87,16 @@ message MsgUpdateNamespace { message MsgUpdateNamespaceResponse {} message MsgUpdateNamespaceRoles { + option (amino.name) = "permissions/MsgUpdateNamespaceRoles"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; string namespace_denom = 2; // namespace denom to which this updates are applied - map role_permissions = + repeated Role role_permissions = 3; // new role definitions or updated permissions for existing roles - map address_roles = + repeated AddressRoles address_roles = 4; // new addresses to add or new roles for existing addresses to // overwrite current roles } @@ -96,23 +104,24 @@ message MsgUpdateNamespaceRoles { message MsgUpdateNamespaceRolesResponse {} message MsgRevokeNamespaceRoles { + option (amino.name) = "permissions/MsgRevokeNamespaceRoles"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; string namespace_denom = 2; // namespace denom to which this updates are applied - map address_roles_to_revoke = - 3; // map of {"address" => array of roles to revoke from this address} + repeated AddressRoles address_roles_to_revoke = + 3; // {"address" => array of roles to revoke from this address} } message MsgRevokeNamespaceRolesResponse {} message MsgClaimVoucher { + option (amino.name) = "permissions/MsgClaimVoucher"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; - string originator = 2; // address of the original voucher sender (typically a module address, - // a key from VouchersForAddress query response) + string denom = 2; } message MsgClaimVoucherResponse {} diff --git a/proto/injective/stream/v1beta1/query.proto b/proto/injective/stream/v1beta1/query.proto index d7de75fc..66d168ed 100644 --- a/proto/injective/stream/v1beta1/query.proto +++ b/proto/injective/stream/v1beta1/query.proto @@ -110,19 +110,19 @@ message Position { string subaccount_id = 2; bool isLong = 3; string quantity = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string entry_price = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string margin = 6 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string cumulative_funding_entry = 7 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } @@ -130,7 +130,7 @@ message Position { message OraclePrice { string symbol = 1; string price = 2 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string type = 3; @@ -142,17 +142,17 @@ message SpotTrade { string executionType = 3; string quantity = 4 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string price = 5 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // bytes32 subaccount ID that executed the trade string subaccount_id = 6; string fee = 7 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; bytes order_hash = 8; @@ -168,11 +168,11 @@ message DerivativeTrade { string subaccount_id = 4; injective.exchange.v1beta1.PositionDelta position_delta = 5; string payout = 6 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string fee = 7 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; string order_hash = 8; diff --git a/proto/injective/tokenfactory/v1beta1/genesis.proto b/proto/injective/tokenfactory/v1beta1/genesis.proto index 9227ee2d..b8316666 100644 --- a/proto/injective/tokenfactory/v1beta1/genesis.proto +++ b/proto/injective/tokenfactory/v1beta1/genesis.proto @@ -31,4 +31,5 @@ message GenesisDenom { ]; string name = 3 [ (gogoproto.moretags) = "yaml:\"name\"" ]; string symbol = 4 [ (gogoproto.moretags) = "yaml:\"symbol\"" ]; + uint32 decimals = 5 [ (gogoproto.moretags) = "yaml:\"decimals\"" ]; } diff --git a/proto/injective/tokenfactory/v1beta1/params.proto b/proto/injective/tokenfactory/v1beta1/params.proto index 327ce69b..fb936f36 100644 --- a/proto/injective/tokenfactory/v1beta1/params.proto +++ b/proto/injective/tokenfactory/v1beta1/params.proto @@ -5,11 +5,14 @@ import "gogoproto/gogo.proto"; import "injective/tokenfactory/v1beta1/authorityMetadata.proto"; import "cosmos_proto/cosmos.proto"; import "cosmos/base/v1beta1/coin.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types"; // Params defines the parameters for the tokenfactory module. message Params { + option (amino.name) = "injective/tokenfactory/Params"; + repeated cosmos.base.v1beta1.Coin denom_creation_fee = 1 [ (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", (gogoproto.moretags) = "yaml:\"denom_creation_fee\"", diff --git a/proto/injective/tokenfactory/v1beta1/tx.proto b/proto/injective/tokenfactory/v1beta1/tx.proto index eef5a90f..7ece2944 100644 --- a/proto/injective/tokenfactory/v1beta1/tx.proto +++ b/proto/injective/tokenfactory/v1beta1/tx.proto @@ -7,11 +7,14 @@ import "cosmos/bank/v1beta1/bank.proto"; import "cosmos/msg/v1/msg.proto"; import "cosmos_proto/cosmos.proto"; import "injective/tokenfactory/v1beta1/params.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types"; // Msg defines the tokefactory module's gRPC message service. service Msg { + option (cosmos.msg.v1.service) = true; + rpc CreateDenom(MsgCreateDenom) returns (MsgCreateDenomResponse); rpc Mint(MsgMint) returns (MsgMintResponse); rpc Burn(MsgBurn) returns (MsgBurnResponse); @@ -35,6 +38,7 @@ 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 (amino.name) = "injective/tokenfactory/create-denom"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; @@ -42,6 +46,7 @@ message MsgCreateDenom { string subdenom = 2 [ (gogoproto.moretags) = "yaml:\"subdenom\"" ]; string name = 3 [ (gogoproto.moretags) = "yaml:\"name\"" ]; string symbol = 4 [ (gogoproto.moretags) = "yaml:\"symbol\"" ]; + uint32 decimals = 5 [ (gogoproto.moretags) = "yaml:\"decimals\"" ]; } // MsgCreateDenomResponse is the return value of MsgCreateDenom @@ -54,6 +59,7 @@ 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 (amino.name) = "injective/tokenfactory/mint"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; @@ -68,6 +74,7 @@ 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 (amino.name) = "injective/tokenfactory/burn"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; @@ -82,6 +89,7 @@ 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 (amino.name) = "injective/tokenfactory/change-admin"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; @@ -110,6 +118,7 @@ message MsgChangeAdminResponse {} // MsgSetDenomMetadata is the sdk.Msg type for allowing an admin account to set // the denom's bank metadata message MsgSetDenomMetadata { + option (amino.name) = "injective/tokenfactory/set-denom-metadata"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; @@ -124,6 +133,7 @@ message MsgSetDenomMetadata { message MsgSetDenomMetadataResponse {} message MsgUpdateParams { + option (amino.name) = "injective/tokenfactory/update-params"; option (cosmos.msg.v1.signer) = "authority"; // authority is the address of the governance account. diff --git a/proto/injective/types/v1beta1/account.proto b/proto/injective/types/v1beta1/account.proto index 54e6e527..f17a2a13 100644 --- a/proto/injective/types/v1beta1/account.proto +++ b/proto/injective/types/v1beta1/account.proto @@ -14,8 +14,7 @@ message EthAccount { option (gogoproto.goproto_stringer) = false; option (gogoproto.equal) = false; - option (cosmos_proto.implements_interface) = - "github.com/cosmos/cosmos-sdk/x/auth/types.AccountI"; + option (cosmos_proto.implements_interface) = "cosmos.auth.v1beta1.AccountI"; cosmos.auth.v1beta1.BaseAccount base_account = 1 [ (gogoproto.embed) = true, diff --git a/proto/injective/wasmx/v1/proposal.proto b/proto/injective/wasmx/v1/proposal.proto index 64bbc8f3..3fbe2af4 100644 --- a/proto/injective/wasmx/v1/proposal.proto +++ b/proto/injective/wasmx/v1/proposal.proto @@ -4,10 +4,12 @@ package injective.wasmx.v1; import "cosmos_proto/cosmos.proto"; import "cosmwasm/wasm/v1/proposal_legacy.proto"; import "gogoproto/gogo.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/wasmx/types"; message ContractRegistrationRequestProposal { + option (amino.name) = "wasmx/ContractRegistrationRequestProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; @@ -19,6 +21,7 @@ message ContractRegistrationRequestProposal { } message BatchContractRegistrationRequestProposal { + option (amino.name) = "wasmx/BatchContractRegistrationRequestProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; @@ -30,6 +33,7 @@ message BatchContractRegistrationRequestProposal { } message BatchContractDeregistrationProposal { + option (amino.name) = "wasmx/BatchContractDeregistrationProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; @@ -81,6 +85,7 @@ message ContractRegistrationRequest { } message BatchStoreCodeProposal { + option (amino.name) = "wasmx/BatchStoreCodeProposal"; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.gov.v1beta1.Content"; diff --git a/proto/injective/wasmx/v1/tx.proto b/proto/injective/wasmx/v1/tx.proto index aa18b471..ac19a6f1 100644 --- a/proto/injective/wasmx/v1/tx.proto +++ b/proto/injective/wasmx/v1/tx.proto @@ -7,11 +7,14 @@ import "cosmos_proto/cosmos.proto"; import "cosmos/msg/v1/msg.proto"; import "injective/wasmx/v1/wasmx.proto"; import "injective/wasmx/v1/proposal.proto"; +import "amino/amino.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/wasmx/types"; // Msg defines the wasmx Msg service. service Msg { + option (cosmos.msg.v1.service) = true; + rpc UpdateRegistryContractParams(MsgUpdateContract) returns (MsgUpdateContractResponse); rpc ActivateRegistryContract(MsgActivateContract) @@ -28,6 +31,7 @@ service Msg { // MsgExecuteContractCompat submits the given message data to a smart contract, // compatible with EIP712 message MsgExecuteContractCompat { + option (amino.name) = "wasmx/MsgExecuteContractCompat"; option (cosmos.msg.v1.signer) = "sender"; // Sender is the that actor that signed the messages @@ -47,6 +51,7 @@ message MsgExecuteContractCompatResponse { } message MsgUpdateContract { + option (amino.name) = "wasmx/MsgUpdateContract"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1; @@ -63,6 +68,7 @@ message MsgUpdateContract { message MsgUpdateContractResponse {} message MsgActivateContract { + option (amino.name) = "wasmx/MsgActivateContract"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1; @@ -73,6 +79,7 @@ message MsgActivateContract { message MsgActivateContractResponse {} message MsgDeactivateContract { + option (amino.name) = "wasmx/MsgDeactivateContract"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1; @@ -83,6 +90,7 @@ message MsgDeactivateContract { message MsgDeactivateContractResponse {} message MsgUpdateParams { + option (amino.name) = "wasmx/MsgUpdateParams"; option (cosmos.msg.v1.signer) = "authority"; // authority is the address of the governance account. @@ -97,6 +105,7 @@ message MsgUpdateParams { message MsgUpdateParamsResponse {} message MsgRegisterContract { + option (amino.name) = "wasmx/MsgRegisterContract"; option (cosmos.msg.v1.signer) = "sender"; string sender = 1; diff --git a/proto/injective/wasmx/v1/wasmx.proto b/proto/injective/wasmx/v1/wasmx.proto index fb501c9b..4f0436c4 100644 --- a/proto/injective/wasmx/v1/wasmx.proto +++ b/proto/injective/wasmx/v1/wasmx.proto @@ -2,11 +2,14 @@ syntax = "proto3"; package injective.wasmx.v1; import "gogoproto/gogo.proto"; +import "cosmwasm/wasm/v1/types.proto"; +import "amino/amino.proto"; import "injective/wasmx/v1/proposal.proto"; option go_package = "github.com/InjectiveLabs/injective-core/injective-chain/modules/wasmx/types"; message Params { + option (amino.name) = "wasmx/Params"; option (gogoproto.equal) = true; // Set the status to active to indicate that contracts can be executed in @@ -24,6 +27,12 @@ message Params { // min_gas_price defines the minimum gas price the contracts must pay to be // executed in the BeginBlocker. uint64 min_gas_price = 4; + + cosmwasm.wasm.v1.AccessConfig register_contract_access = 5 [ + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true, + (gogoproto.moretags) = "yaml:\"register_contract_access\"" + ]; } message RegisteredContract { From 4ffc005d56581b81a49dafc02689675fa019964f Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Mon, 29 Jul 2024 16:55:16 -0300 Subject: [PATCH 47/48] (fix) Updated go.mod dependencies --- go.mod | 21 ++++++++++----------- go.sum | 38 ++++++++++++++++++-------------------- 2 files changed, 28 insertions(+), 31 deletions(-) diff --git a/go.mod b/go.mod index 8dc59205..34e0b5b1 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( github.com/cometbft/cometbft v0.38.9 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.50.7 - github.com/cosmos/gogoproto v1.4.12 + github.com/cosmos/gogoproto v1.5.0 github.com/cosmos/ibc-go/modules/capability v1.0.0 github.com/cosmos/ibc-go/v8 v8.2.0 github.com/ethereum/go-ethereum v1.11.5 @@ -150,7 +150,6 @@ require ( github.com/klauspost/compress v1.17.7 // 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/linxGnu/grocksdb v1.8.14 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect @@ -226,18 +225,18 @@ require ( ) replace ( - cosmossdk.io/store => github.com/InjectiveLabs/cosmos-sdk/store v1.1.1-0.20240522173845-46ef88f66790 - cosmossdk.io/x/evidence => github.com/InjectiveLabs/cosmos-sdk/x/evidence v0.1.1-0.20240522173845-46ef88f66790 - cosmossdk.io/x/feegrant => github.com/InjectiveLabs/cosmos-sdk/x/feegrant v0.1.1-0.20240522173845-46ef88f66790 - cosmossdk.io/x/upgrade => github.com/InjectiveLabs/cosmos-sdk/x/upgrade v0.1.2-0.20240522173845-46ef88f66790 + cosmossdk.io/store => github.com/InjectiveLabs/cosmos-sdk/store v0.50.6-inj-0 + cosmossdk.io/x/evidence => github.com/InjectiveLabs/cosmos-sdk/x/evidence v0.50.6-inj-0 + cosmossdk.io/x/feegrant => github.com/InjectiveLabs/cosmos-sdk/x/feegrant v0.50.6-inj-0 + cosmossdk.io/x/upgrade => github.com/InjectiveLabs/cosmos-sdk/x/upgrade v0.50.6-inj-0 - github.com/CosmWasm/wasmd => github.com/InjectiveLabs/wasmd v0.51.1-0.20240517110802-c05574f2352f + github.com/CosmWasm/wasmd => github.com/InjectiveLabs/wasmd v0.51.0-inj-0 github.com/bandprotocol/bandchain-packet => github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1 - github.com/cometbft/cometbft => github.com/InjectiveLabs/cometbft v0.38.9-0.20240709140635-a708e04e3d90 + github.com/cometbft/cometbft => github.com/InjectiveLabs/cometbft v0.38.10-inj-1 - github.com/cosmos/cosmos-sdk => github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240715151413-9c09fcb833cd - github.com/cosmos/ibc-apps/modules/ibc-hooks/v8 => github.com/InjectiveLabs/ibc-apps/modules/ibc-hooks/v8 v8.0.0-20240507173420-7acb85b883f5 - github.com/cosmos/ibc-go/v8 => github.com/InjectiveLabs/ibc-go/v8 v8.3.3-0.20240620175254-376c45360bb0 + github.com/cosmos/cosmos-sdk => github.com/InjectiveLabs/cosmos-sdk v0.50.8-inj-0 + github.com/cosmos/ibc-apps/modules/ibc-hooks/v8 => github.com/InjectiveLabs/ibc-apps/modules/ibc-hooks/v8 v8.0.0-inj-0 + github.com/cosmos/ibc-go/v8 => github.com/InjectiveLabs/ibc-go/v8 v8.3.2-inj-0 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 dd98eb5a..a9b25d4b 100644 --- a/go.sum +++ b/go.sum @@ -63,26 +63,26 @@ github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1 h1:ZnvCV/lzjWmBwuGbkAz+okucfJEyEzkU9GYK3tKU9cU= github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1/go.mod h1:QELTDYiwnbAqIgTF9zeKr+hVlK6eVyt6Nxmh6/1mmzQ= -github.com/InjectiveLabs/cometbft v0.38.9-0.20240709140635-a708e04e3d90 h1:0+YWz/cRVC61HYNDtqDAqqvtfdVSFzmu/gN4cKOLmGU= -github.com/InjectiveLabs/cometbft v0.38.9-0.20240709140635-a708e04e3d90/go.mod h1:xOoGZrtUT+A5izWfHSJgl0gYZUE7lu7Z2XIS1vWG/QQ= -github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240715151413-9c09fcb833cd h1:0j0/iwBY+Wi30dzcNoTvKXtKNBlBPawmA88xpVEjSYM= -github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240715151413-9c09fcb833cd/go.mod h1:OwiEQAyD/vrgJfSjxkF1Z4lPGSjU0dnLqbD8fZJADC8= -github.com/InjectiveLabs/cosmos-sdk/store v1.1.1-0.20240522173845-46ef88f66790 h1:F4FYZR9rLg9igzxitFdLU5s7ZU9XS0wUB7DbkBOVXc8= -github.com/InjectiveLabs/cosmos-sdk/store v1.1.1-0.20240522173845-46ef88f66790/go.mod h1:ZW4eIE98wivInyQyhxU2nHqEielc/iZAcr41qNyWSrw= -github.com/InjectiveLabs/cosmos-sdk/x/evidence v0.1.1-0.20240522173845-46ef88f66790 h1:vbSB6IBNnrVw3s/odYJiF1MUi2JL6PnjgNEBkTM/sBI= -github.com/InjectiveLabs/cosmos-sdk/x/evidence v0.1.1-0.20240522173845-46ef88f66790/go.mod h1:/5BJ6rqcaDZgfdhFGHsqwoD3sCqMPU6M/RMhKTPxV6Y= -github.com/InjectiveLabs/cosmos-sdk/x/feegrant v0.1.1-0.20240522173845-46ef88f66790 h1:19d3ZzozFNd9MYVeto4JmXHm03xKsynyQIDI32iiRD4= -github.com/InjectiveLabs/cosmos-sdk/x/feegrant v0.1.1-0.20240522173845-46ef88f66790/go.mod h1:Tnwfp0+AmtSF3sktmOwt5Sk4PbRMrDAWsJTr6cX1Hj8= -github.com/InjectiveLabs/cosmos-sdk/x/upgrade v0.1.2-0.20240522173845-46ef88f66790 h1:ImlT8paRJvKIve+ZGi6RvCNp+1u1CC/EIHebQhm+ZYo= -github.com/InjectiveLabs/cosmos-sdk/x/upgrade v0.1.2-0.20240522173845-46ef88f66790/go.mod h1:Cn5qF2yRpXZcd+yJM6mu0UGt1p75IherhBhfeAvkmPc= -github.com/InjectiveLabs/ibc-go/v8 v8.3.3-0.20240620175254-376c45360bb0 h1:Tgr8mk4+FAlcp08AkVsyqSLW8GZKRZcnf0e8JeQMBAA= -github.com/InjectiveLabs/ibc-go/v8 v8.3.3-0.20240620175254-376c45360bb0/go.mod h1:TGEIiuEAjZH11VCehlYjmx6RTUjv4vbkKFL9s2r+VRg= +github.com/InjectiveLabs/cometbft v0.38.10-inj-1 h1:k4I22d5KcXEluYFSVfuSepkibyUesMD+UGOpBwqjXbo= +github.com/InjectiveLabs/cometbft v0.38.10-inj-1/go.mod h1:jHPx9vQpWzPHEAiYI/7EDKaB1NXhK6o3SArrrY8ExKc= +github.com/InjectiveLabs/cosmos-sdk v0.50.8-inj-0 h1:Jf+0AEdUUNG1mNARompZWTFI/UltAUGX66owYks7TAs= +github.com/InjectiveLabs/cosmos-sdk v0.50.8-inj-0/go.mod h1:igpF5mgbiTmaS3hO/yoIIv7+ICbzMBIowFWSw5aOrKA= +github.com/InjectiveLabs/cosmos-sdk/store v0.50.6-inj-0 h1:75YtRrju3R21u/VXttzuBoh49o28xABR2OUqioT9hMQ= +github.com/InjectiveLabs/cosmos-sdk/store v0.50.6-inj-0/go.mod h1:ZW4eIE98wivInyQyhxU2nHqEielc/iZAcr41qNyWSrw= +github.com/InjectiveLabs/cosmos-sdk/x/evidence v0.50.6-inj-0 h1:rb73cHJPCTwnBq96WC9L1ymqnHe5i4of1wjpXFAOUe4= +github.com/InjectiveLabs/cosmos-sdk/x/evidence v0.50.6-inj-0/go.mod h1:/5BJ6rqcaDZgfdhFGHsqwoD3sCqMPU6M/RMhKTPxV6Y= +github.com/InjectiveLabs/cosmos-sdk/x/feegrant v0.50.6-inj-0 h1:2ZHZP06FVWvmzqk+L6GUE2LwEG4GO5b5iWWr1daTe8c= +github.com/InjectiveLabs/cosmos-sdk/x/feegrant v0.50.6-inj-0/go.mod h1:Tnwfp0+AmtSF3sktmOwt5Sk4PbRMrDAWsJTr6cX1Hj8= +github.com/InjectiveLabs/cosmos-sdk/x/upgrade v0.50.6-inj-0 h1:fgiPag7wJJ0nX0Bnjm9Q0VuQLJTMV7U5nOyE82f/ed4= +github.com/InjectiveLabs/cosmos-sdk/x/upgrade v0.50.6-inj-0/go.mod h1:Cn5qF2yRpXZcd+yJM6mu0UGt1p75IherhBhfeAvkmPc= +github.com/InjectiveLabs/ibc-go/v8 v8.3.2-inj-0 h1:ABUXDLG1crwZHtCUUPnX8vZMlcRByhWq7ZawKVpnkYc= +github.com/InjectiveLabs/ibc-go/v8 v8.3.2-inj-0/go.mod h1:TGEIiuEAjZH11VCehlYjmx6RTUjv4vbkKFL9s2r+VRg= github.com/InjectiveLabs/metrics v0.0.10 h1:BoOwXnCtRRIPmq06jcI20pXZYE758eusaCI5jDOoN4U= github.com/InjectiveLabs/metrics v0.0.10/go.mod h1:eYu++0DVUjk/jjV9WgvCo8gQU+16Yoyhp1iu+ghKNME= 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.51.1-0.20240517110802-c05574f2352f h1:HB590uhSnGKBDC/yC7vtpN1+pXHnKwJEur0RCbSLDaA= -github.com/InjectiveLabs/wasmd v0.51.1-0.20240517110802-c05574f2352f/go.mod h1:CGIOxbGca/pOiZ+Q7e6aMoNnnSPXrV5/hV1dK3H8FUo= +github.com/InjectiveLabs/wasmd v0.51.0-inj-0 h1:5YvS+OWjein0p3APDqLok/DjLmxJ4XAi8FXrmzhjjXo= +github.com/InjectiveLabs/wasmd v0.51.0-inj-0/go.mod h1:CGIOxbGca/pOiZ+Q7e6aMoNnnSPXrV5/hV1dK3H8FUo= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= @@ -241,8 +241,8 @@ github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4x 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.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.2 h1:zL9FK7C4L/P4IF1Dm5fIwz0WXCnn7Bp1M2FxH0ayM7Y= github.com/cosmos/iavl v1.1.2/go.mod h1:jLeUvm6bGT1YutCaL2fIar/8vGUE8cPZvh/gXEWDaDM= github.com/cosmos/ibc-go/modules/capability v1.0.0 h1:r/l++byFtn7jHYa09zlAdSeevo8ci1mVZNO9+V0xsLE= @@ -632,8 +632,6 @@ github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= 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/linxGnu/grocksdb v1.8.14 h1:HTgyYalNwBSG/1qCQUIott44wU5b2Y9Kr3z7SK5OfGQ= From 4c652eda5a7ed93b303241f5e759a06706280eb2 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Tue, 30 Jul 2024 16:03:02 -0300 Subject: [PATCH 48/48] (fix) Updtated market and tokens INI files --- client/metadata/assets/devnet-1.ini | 158 +- client/metadata/assets/devnet.ini | 158 +- client/metadata/assets/mainnet.ini | 15991 +++++++++++++++----------- client/metadata/assets/testnet.ini | 202 +- 4 files changed, 9707 insertions(+), 6802 deletions(-) diff --git a/client/metadata/assets/devnet-1.ini b/client/metadata/assets/devnet-1.ini index c49c4e14..f01ccd09 100644 --- a/client/metadata/assets/devnet-1.ini +++ b/client/metadata/assets/devnet-1.ini @@ -348,12 +348,12 @@ peggy_denom = inj1mhmln627samtkuwe459ylq763r4n7n69gxxc9x decimals = 18 [ASTRO] -peggy_denom = ibc/EBD5A24C554198EBAF44979C5B4D2C2D312E6EBAB71962C92F735499C7575839 +peggy_denom = ibc/E8AC6B792CDE60AB208CA060CA010A3881F682A7307F624347AB71B6A0B0BF89 decimals = 6 [ATOM] -peggy_denom = peggy0x8D983cb9388EaC77af0474fA441C4815500Cb7BB -decimals = 6 +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/atom +decimals = 8 [AUTISM] peggy_denom = factory/inj14lf8xm6fcvlggpa7guxzjqwjmtr24gnvf56hvz/autism @@ -408,8 +408,8 @@ peggy_denom = peggy0xA4426666addBE8c4985377d36683D17FB40c31Be decimals = 6 [BINJ] -peggy_denom = factory/inj1lhr06p7k3rdgk0knw5hfsde3fj87g2aq4e9a52/binj -decimals = 6 +peggy_denom = factory/inj10q36ygr0pkz7ezajcnjd2f0tat5n737yg6g6d5/binj +decimals = 18 [BITS] peggy_denom = factory/inj10gcvfpnn4932kzk56h5kp77mrfdqas8z63qr7n/bits @@ -524,7 +524,7 @@ peggy_denom = factory/inj1eucxlpy6c387g5wrn4ee7ppshdzg3rh4t50ahf/cock decimals = 6 [COKE] -peggy_denom = inj14eaxewvy7a3fk948c3g3qham98mcqpm8v5y0dp +peggy_denom = factory/inj158g7dfclyg9rr6u4ddxg9d2afwevq5d79g2tm6/coke decimals = 6 [COMP] @@ -580,7 +580,7 @@ peggy_denom = factory/inj1any4rpwq7r850u6feajg5payvhwpunu9cxqevc/dojo decimals = 6 [DOT] -peggy_denom = peggy0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080 +peggy_denom = ibc/624BA9DD171915A2B9EA70F69638B2CEA179959850C1A586F6C485498F29EDD4 decimals = 10 [DREAM] @@ -600,7 +600,7 @@ peggy_denom = inj1zdj9kqnknztl2xclm5ssv25yre09f8908d4923 decimals = 18 [ELON] -peggy_denom = peggy0x43123e1d077351267113ada8bE85A058f5D492De +peggy_denom = inj10pqutl0av9ltrw9jq8d3wjwjayvz76jhfcfza0 decimals = 6 [ENA] @@ -728,7 +728,7 @@ peggy_denom = factory/inj17g4j3geupy762u0wrewqwprvtzar7k5et2zqsh/incel decimals = 6 [INJ] -peggy_denom = peggy0xe28b3b32b6c345a34ff64674606124dd5aceca30 +peggy_denom = inj decimals = 18 [INJECT] @@ -812,7 +812,7 @@ peggy_denom = factory/inj1h33jkaqqalcy3wf8um6ewk4hxmfwf8uern470k/kinja decimals = 6 [KIRA] -peggy_denom = factory/inj1xy3kvlr4q4wdd6lrelsrw2fk2ged0any44hhwq/KIRA +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/kira decimals = 6 [KPEPE] @@ -840,7 +840,7 @@ peggy_denom = peggy0x514910771AF9Ca656af840dff83E8264EcF986CA decimals = 18 [LIOR] -peggy_denom = factory/inj1tgphgjqsz8fupkfjx6cy275e3s0l8xfu6rd6jh/lior +peggy_denom = factory/inj1cjus5ragdkvpmt627fw7wkj2ydsra9s0vap4zx/lior decimals = 6 [LUNA] @@ -876,7 +876,7 @@ peggy_denom = factory/inj1z08usf75ecfp3cqtwey6gx7nr79s3agal3k8xf/mila decimals = 6 [MILK] -peggy_denom = factory/inj1yg24mn8enl5e6v4jl2j6cce47mx4vyd6e8dpck/milk +peggy_denom = factory/inj1fpl63h7at2epr55yn5svmqkq4fkye32vmxq8ry/milk decimals = 6 [MOONIFY] @@ -928,7 +928,7 @@ peggy_denom = inj1r9h59ke0a77zkaarr4tuq25r3lt9za4r2mgyf4 decimals = 6 [NOBI] -peggy_denom = factory/inj1xawhm3d8lf9n0rqdljpal033yackja3dt0kvp0/nobi +peggy_denom = factory/inj1pjp9q2ycs7eaav8d5ny5956k5m6t0alpl33xd6/nobi decimals = 6 [NOBITCHES] @@ -1052,7 +1052,7 @@ peggy_denom = inj1tjcf9497fwmrnk22jfu5hsdq82qshga54ajvzy decimals = 6 [PYUSD] -peggy_denom = peggy0x6c3ea9036406852006290770BEdFcAbA0e23A0e8 +peggy_denom = ibc/4367FD29E33CDF0487219CD3E88D8C432BD4C2776C0C1034FF05A3E6451B8B11 decimals = 6 [Phuc] @@ -1076,8 +1076,8 @@ peggy_denom = inj1wmrzttj7ms7glplek348vedx4v2ls467n539xt decimals = 18 [QAT] -peggy_denom = peggy0x5Ac3A2F6205a481C7a8984E4291E450e52cd0369 -decimals = 18 +peggy_denom = inj1m4g54lg2mhhm7a4h3ms5xlyecafhe4macgsuen +decimals = 8 [QNT] peggy_denom = peggy0x4a220e6096b25eadb88358cb44068a3248254675 @@ -1140,7 +1140,7 @@ peggy_denom = inj1300xcg9naqy00fujsr9r8alwk7dh65uqu87xm8 decimals = 18 [SHURIKEN] -peggy_denom = factory/inj1z426atp9k68uv49kaam7m0vnehw5fulxkyvde0/shuriken +peggy_denom = factory/inj1gflhshg8yrk8rrr3sgswhmsnygw9ghzdsn05a0/shuriken decimals = 6 [SKIPBIDIDOBDOBDOBYESYESYESYES] @@ -1324,7 +1324,7 @@ peggy_denom = inj1q6zlut7gtkzknkk773jecujwsdkgq882akqksk decimals = 6 [USDC] -peggy_denom = ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/usdc decimals = 6 [USDC-MPL] @@ -1340,7 +1340,7 @@ peggy_denom = inj1dngqzz6wphf07fkdam7dn55t8t3r6qenewy9zu decimals = 6 [USDCet] -peggy_denom = inj12sqy9uzzl3h3vqxam7sz9f0yvmhampcgesh3qw +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q6zlut7gtkzknkk773jecujwsdkgq882akqksk decimals = 6 [USDCgateway] @@ -1408,8 +1408,8 @@ peggy_denom = ibc/C643B73073217F778DD7BDCB74C7EBCEF8E7EF81614FFA3C1C31861221AA9C decimals = 0 [Unknown] -peggy_denom = ibc/88C49ADE2E583244058E4786C9FAE1AC431D55289EE31D59DDCC45201A60B82E -decimals = 0 +peggy_denom = ibc/078184C66B073F0464BA0BBD736DD601A0C637F9C42B592DDA5D6A95289D99A4 +decimals = 6 [VATRENI] peggy_denom = inj1tn457ed2gg5vj2cur5khjjw63w73y3xhyhtaay @@ -1579,10 +1579,26 @@ decimals = 8 peggy_denom = factory/inj153e2w8u77h4ytrhgry846k5t8n9uea8xtal6d7/lp decimals = 0 +[factory/inj1jfuyujpvvkxq4566r3z3tv3jdy29pqra5ln0yk/kira] +peggy_denom = factory/inj1jfuyujpvvkxq4566r3z3tv3jdy29pqra5ln0yk/kira +decimals = 6 + +[factory/inj1lhr06p7k3rdgk0knw5hfsde3fj87g2aq4e9a52/binj] +peggy_denom = factory/inj1lhr06p7k3rdgk0knw5hfsde3fj87g2aq4e9a52/binj +decimals = 6 + [factory/inj1lv0mhwcu3y4p9av5nafct8j7y4ag6lmlfuxuy3/lp] peggy_denom = factory/inj1lv0mhwcu3y4p9av5nafct8j7y4ag6lmlfuxuy3/lp decimals = 0 +[factory/inj1sg3yjgjlwhtrepeuusj4jwv209rh6cmk882cw3/lior] +peggy_denom = factory/inj1sg3yjgjlwhtrepeuusj4jwv209rh6cmk882cw3/lior +decimals = 6 + +[factory/inj1tgphgjqsz8fupkfjx6cy275e3s0l8xfu6rd6jh/lior] +peggy_denom = factory/inj1tgphgjqsz8fupkfjx6cy275e3s0l8xfu6rd6jh/lior +decimals = 6 + [factory/inj1uukt3kqela4vsllvrqnrgllkna5wn3cm588w6k/inj1kwdranvwf6vl2grh99layugwdnph6um2e8k25g] peggy_denom = factory/inj1uukt3kqela4vsllvrqnrgllkna5wn3cm588w6k/inj1kwdranvwf6vl2grh99layugwdnph6um2e8k25g decimals = 0 @@ -1607,10 +1623,58 @@ decimals = 0 peggy_denom = factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj1w798gp0zqv3s9hjl3jlnwxtwhykga6rnx4llty decimals = 0 +[factory/inj1xawhm3d8lf9n0rqdljpal033yackja3dt0kvp0/nobi] +peggy_denom = factory/inj1xawhm3d8lf9n0rqdljpal033yackja3dt0kvp0/nobi +decimals = 6 + +[factory/inj1xy3kvlr4q4wdd6lrelsrw2fk2ged0any44hhwq/KIRA] +peggy_denom = factory/inj1xy3kvlr4q4wdd6lrelsrw2fk2ged0any44hhwq/KIRA +decimals = 6 + +[factory/inj1yg24mn8enl5e6v4jl2j6cce47mx4vyd6e8dpck/milk] +peggy_denom = factory/inj1yg24mn8enl5e6v4jl2j6cce47mx4vyd6e8dpck/milk +decimals = 6 + +[factory/inj1z426atp9k68uv49kaam7m0vnehw5fulxkyvde0/shuriken] +peggy_denom = factory/inj1z426atp9k68uv49kaam7m0vnehw5fulxkyvde0/shuriken +decimals = 6 + [hINJ] peggy_denom = inj18luqttqyckgpddndh8hvaq25d5nfwjc78m56lc decimals = 18 +[ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E] +peggy_denom = ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E +decimals = 6 + +[ibc/4457C4FE143DA253CBBE998681F090B51F67E0A6AFDC8D9347516DB519712C2F] +peggy_denom = ibc/4457C4FE143DA253CBBE998681F090B51F67E0A6AFDC8D9347516DB519712C2F +decimals = 0 + +[ibc/88C49ADE2E583244058E4786C9FAE1AC431D55289EE31D59DDCC45201A60B82E] +peggy_denom = ibc/88C49ADE2E583244058E4786C9FAE1AC431D55289EE31D59DDCC45201A60B82E +decimals = 0 + +[ibc/EBD5A24C554198EBAF44979C5B4D2C2D312E6EBAB71962C92F735499C7575839] +peggy_denom = ibc/EBD5A24C554198EBAF44979C5B4D2C2D312E6EBAB71962C92F735499C7575839 +decimals = 6 + +[inj12sqy9uzzl3h3vqxam7sz9f0yvmhampcgesh3qw] +peggy_denom = inj12sqy9uzzl3h3vqxam7sz9f0yvmhampcgesh3qw +decimals = 6 + +[inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku] +peggy_denom = inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku +decimals = 18 + +[inj14eaxewvy7a3fk948c3g3qham98mcqpm8v5y0dp] +peggy_denom = inj14eaxewvy7a3fk948c3g3qham98mcqpm8v5y0dp +decimals = 6 + +[inj1plsk58sxqjw9828aqzeskmc8xy9eu5kppw3jg4] +peggy_denom = inj1plsk58sxqjw9828aqzeskmc8xy9eu5kppw3jg4 +decimals = 8 + [lootbox1] peggy_denom = factory/inj1llr45x92t7jrqtxvc02gpkcqhqr82dvyzkr4mz/lootbox1 decimals = 0 @@ -1635,6 +1699,46 @@ decimals = 6 peggy_denom = inj1kehk5nvreklhylx22p3x0yjydfsz9fv3fvg5xt decimals = 18 +[peggy0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599] +peggy_denom = peggy0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 +decimals = 8 + +[peggy0x43123e1d077351267113ada8bE85A058f5D492De] +peggy_denom = peggy0x43123e1d077351267113ada8bE85A058f5D492De +decimals = 6 + +[peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7] +peggy_denom = peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7 +decimals = 0 + +[peggy0x5Ac3A2F6205a481C7a8984E4291E450e52cd0369] +peggy_denom = peggy0x5Ac3A2F6205a481C7a8984E4291E450e52cd0369 +decimals = 18 + +[peggy0x6c3ea9036406852006290770BEdFcAbA0e23A0e8] +peggy_denom = peggy0x6c3ea9036406852006290770BEdFcAbA0e23A0e8 +decimals = 6 + +[peggy0x8D983cb9388EaC77af0474fA441C4815500Cb7BB] +peggy_denom = peggy0x8D983cb9388EaC77af0474fA441C4815500Cb7BB +decimals = 6 + +[peggy0xBe8d71D26525440A03311cc7fa372262c5354A3c] +peggy_denom = peggy0xBe8d71D26525440A03311cc7fa372262c5354A3c +decimals = 18 + +[peggy0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080] +peggy_denom = peggy0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080 +decimals = 10 + +[peggy0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2] +peggy_denom = peggy0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +decimals = 18 + +[peggy0xe28b3b32b6c345a34ff64674606124dd5aceca30] +peggy_denom = peggy0xe28b3b32b6c345a34ff64674606124dd5aceca30 +decimals = 18 + [proj] peggy_denom = proj decimals = 18 @@ -1731,13 +1835,17 @@ decimals = 18 peggy_denom = peggy0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84 decimals = 18 +[unknown] +peggy_denom = unknown +decimals = 0 + [wBTC] -peggy_denom = peggy0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 -decimals = 8 +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku +decimals = 18 [wETH] -peggy_denom = peggy0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -decimals = 18 +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/weth +decimals = 8 [wUSDM] peggy_denom = peggy0x57F5E098CaD7A3D1Eed53991D4d66C45C9AF7812 diff --git a/client/metadata/assets/devnet.ini b/client/metadata/assets/devnet.ini index c49c4e14..f01ccd09 100644 --- a/client/metadata/assets/devnet.ini +++ b/client/metadata/assets/devnet.ini @@ -348,12 +348,12 @@ peggy_denom = inj1mhmln627samtkuwe459ylq763r4n7n69gxxc9x decimals = 18 [ASTRO] -peggy_denom = ibc/EBD5A24C554198EBAF44979C5B4D2C2D312E6EBAB71962C92F735499C7575839 +peggy_denom = ibc/E8AC6B792CDE60AB208CA060CA010A3881F682A7307F624347AB71B6A0B0BF89 decimals = 6 [ATOM] -peggy_denom = peggy0x8D983cb9388EaC77af0474fA441C4815500Cb7BB -decimals = 6 +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/atom +decimals = 8 [AUTISM] peggy_denom = factory/inj14lf8xm6fcvlggpa7guxzjqwjmtr24gnvf56hvz/autism @@ -408,8 +408,8 @@ peggy_denom = peggy0xA4426666addBE8c4985377d36683D17FB40c31Be decimals = 6 [BINJ] -peggy_denom = factory/inj1lhr06p7k3rdgk0knw5hfsde3fj87g2aq4e9a52/binj -decimals = 6 +peggy_denom = factory/inj10q36ygr0pkz7ezajcnjd2f0tat5n737yg6g6d5/binj +decimals = 18 [BITS] peggy_denom = factory/inj10gcvfpnn4932kzk56h5kp77mrfdqas8z63qr7n/bits @@ -524,7 +524,7 @@ peggy_denom = factory/inj1eucxlpy6c387g5wrn4ee7ppshdzg3rh4t50ahf/cock decimals = 6 [COKE] -peggy_denom = inj14eaxewvy7a3fk948c3g3qham98mcqpm8v5y0dp +peggy_denom = factory/inj158g7dfclyg9rr6u4ddxg9d2afwevq5d79g2tm6/coke decimals = 6 [COMP] @@ -580,7 +580,7 @@ peggy_denom = factory/inj1any4rpwq7r850u6feajg5payvhwpunu9cxqevc/dojo decimals = 6 [DOT] -peggy_denom = peggy0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080 +peggy_denom = ibc/624BA9DD171915A2B9EA70F69638B2CEA179959850C1A586F6C485498F29EDD4 decimals = 10 [DREAM] @@ -600,7 +600,7 @@ peggy_denom = inj1zdj9kqnknztl2xclm5ssv25yre09f8908d4923 decimals = 18 [ELON] -peggy_denom = peggy0x43123e1d077351267113ada8bE85A058f5D492De +peggy_denom = inj10pqutl0av9ltrw9jq8d3wjwjayvz76jhfcfza0 decimals = 6 [ENA] @@ -728,7 +728,7 @@ peggy_denom = factory/inj17g4j3geupy762u0wrewqwprvtzar7k5et2zqsh/incel decimals = 6 [INJ] -peggy_denom = peggy0xe28b3b32b6c345a34ff64674606124dd5aceca30 +peggy_denom = inj decimals = 18 [INJECT] @@ -812,7 +812,7 @@ peggy_denom = factory/inj1h33jkaqqalcy3wf8um6ewk4hxmfwf8uern470k/kinja decimals = 6 [KIRA] -peggy_denom = factory/inj1xy3kvlr4q4wdd6lrelsrw2fk2ged0any44hhwq/KIRA +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/kira decimals = 6 [KPEPE] @@ -840,7 +840,7 @@ peggy_denom = peggy0x514910771AF9Ca656af840dff83E8264EcF986CA decimals = 18 [LIOR] -peggy_denom = factory/inj1tgphgjqsz8fupkfjx6cy275e3s0l8xfu6rd6jh/lior +peggy_denom = factory/inj1cjus5ragdkvpmt627fw7wkj2ydsra9s0vap4zx/lior decimals = 6 [LUNA] @@ -876,7 +876,7 @@ peggy_denom = factory/inj1z08usf75ecfp3cqtwey6gx7nr79s3agal3k8xf/mila decimals = 6 [MILK] -peggy_denom = factory/inj1yg24mn8enl5e6v4jl2j6cce47mx4vyd6e8dpck/milk +peggy_denom = factory/inj1fpl63h7at2epr55yn5svmqkq4fkye32vmxq8ry/milk decimals = 6 [MOONIFY] @@ -928,7 +928,7 @@ peggy_denom = inj1r9h59ke0a77zkaarr4tuq25r3lt9za4r2mgyf4 decimals = 6 [NOBI] -peggy_denom = factory/inj1xawhm3d8lf9n0rqdljpal033yackja3dt0kvp0/nobi +peggy_denom = factory/inj1pjp9q2ycs7eaav8d5ny5956k5m6t0alpl33xd6/nobi decimals = 6 [NOBITCHES] @@ -1052,7 +1052,7 @@ peggy_denom = inj1tjcf9497fwmrnk22jfu5hsdq82qshga54ajvzy decimals = 6 [PYUSD] -peggy_denom = peggy0x6c3ea9036406852006290770BEdFcAbA0e23A0e8 +peggy_denom = ibc/4367FD29E33CDF0487219CD3E88D8C432BD4C2776C0C1034FF05A3E6451B8B11 decimals = 6 [Phuc] @@ -1076,8 +1076,8 @@ peggy_denom = inj1wmrzttj7ms7glplek348vedx4v2ls467n539xt decimals = 18 [QAT] -peggy_denom = peggy0x5Ac3A2F6205a481C7a8984E4291E450e52cd0369 -decimals = 18 +peggy_denom = inj1m4g54lg2mhhm7a4h3ms5xlyecafhe4macgsuen +decimals = 8 [QNT] peggy_denom = peggy0x4a220e6096b25eadb88358cb44068a3248254675 @@ -1140,7 +1140,7 @@ peggy_denom = inj1300xcg9naqy00fujsr9r8alwk7dh65uqu87xm8 decimals = 18 [SHURIKEN] -peggy_denom = factory/inj1z426atp9k68uv49kaam7m0vnehw5fulxkyvde0/shuriken +peggy_denom = factory/inj1gflhshg8yrk8rrr3sgswhmsnygw9ghzdsn05a0/shuriken decimals = 6 [SKIPBIDIDOBDOBDOBYESYESYESYES] @@ -1324,7 +1324,7 @@ peggy_denom = inj1q6zlut7gtkzknkk773jecujwsdkgq882akqksk decimals = 6 [USDC] -peggy_denom = ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/usdc decimals = 6 [USDC-MPL] @@ -1340,7 +1340,7 @@ peggy_denom = inj1dngqzz6wphf07fkdam7dn55t8t3r6qenewy9zu decimals = 6 [USDCet] -peggy_denom = inj12sqy9uzzl3h3vqxam7sz9f0yvmhampcgesh3qw +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q6zlut7gtkzknkk773jecujwsdkgq882akqksk decimals = 6 [USDCgateway] @@ -1408,8 +1408,8 @@ peggy_denom = ibc/C643B73073217F778DD7BDCB74C7EBCEF8E7EF81614FFA3C1C31861221AA9C decimals = 0 [Unknown] -peggy_denom = ibc/88C49ADE2E583244058E4786C9FAE1AC431D55289EE31D59DDCC45201A60B82E -decimals = 0 +peggy_denom = ibc/078184C66B073F0464BA0BBD736DD601A0C637F9C42B592DDA5D6A95289D99A4 +decimals = 6 [VATRENI] peggy_denom = inj1tn457ed2gg5vj2cur5khjjw63w73y3xhyhtaay @@ -1579,10 +1579,26 @@ decimals = 8 peggy_denom = factory/inj153e2w8u77h4ytrhgry846k5t8n9uea8xtal6d7/lp decimals = 0 +[factory/inj1jfuyujpvvkxq4566r3z3tv3jdy29pqra5ln0yk/kira] +peggy_denom = factory/inj1jfuyujpvvkxq4566r3z3tv3jdy29pqra5ln0yk/kira +decimals = 6 + +[factory/inj1lhr06p7k3rdgk0knw5hfsde3fj87g2aq4e9a52/binj] +peggy_denom = factory/inj1lhr06p7k3rdgk0knw5hfsde3fj87g2aq4e9a52/binj +decimals = 6 + [factory/inj1lv0mhwcu3y4p9av5nafct8j7y4ag6lmlfuxuy3/lp] peggy_denom = factory/inj1lv0mhwcu3y4p9av5nafct8j7y4ag6lmlfuxuy3/lp decimals = 0 +[factory/inj1sg3yjgjlwhtrepeuusj4jwv209rh6cmk882cw3/lior] +peggy_denom = factory/inj1sg3yjgjlwhtrepeuusj4jwv209rh6cmk882cw3/lior +decimals = 6 + +[factory/inj1tgphgjqsz8fupkfjx6cy275e3s0l8xfu6rd6jh/lior] +peggy_denom = factory/inj1tgphgjqsz8fupkfjx6cy275e3s0l8xfu6rd6jh/lior +decimals = 6 + [factory/inj1uukt3kqela4vsllvrqnrgllkna5wn3cm588w6k/inj1kwdranvwf6vl2grh99layugwdnph6um2e8k25g] peggy_denom = factory/inj1uukt3kqela4vsllvrqnrgllkna5wn3cm588w6k/inj1kwdranvwf6vl2grh99layugwdnph6um2e8k25g decimals = 0 @@ -1607,10 +1623,58 @@ decimals = 0 peggy_denom = factory/inj1wug8sewp6cedgkmrmvhl3lf3tulagm9h5uhctd/lpinj1w798gp0zqv3s9hjl3jlnwxtwhykga6rnx4llty decimals = 0 +[factory/inj1xawhm3d8lf9n0rqdljpal033yackja3dt0kvp0/nobi] +peggy_denom = factory/inj1xawhm3d8lf9n0rqdljpal033yackja3dt0kvp0/nobi +decimals = 6 + +[factory/inj1xy3kvlr4q4wdd6lrelsrw2fk2ged0any44hhwq/KIRA] +peggy_denom = factory/inj1xy3kvlr4q4wdd6lrelsrw2fk2ged0any44hhwq/KIRA +decimals = 6 + +[factory/inj1yg24mn8enl5e6v4jl2j6cce47mx4vyd6e8dpck/milk] +peggy_denom = factory/inj1yg24mn8enl5e6v4jl2j6cce47mx4vyd6e8dpck/milk +decimals = 6 + +[factory/inj1z426atp9k68uv49kaam7m0vnehw5fulxkyvde0/shuriken] +peggy_denom = factory/inj1z426atp9k68uv49kaam7m0vnehw5fulxkyvde0/shuriken +decimals = 6 + [hINJ] peggy_denom = inj18luqttqyckgpddndh8hvaq25d5nfwjc78m56lc decimals = 18 +[ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E] +peggy_denom = ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E +decimals = 6 + +[ibc/4457C4FE143DA253CBBE998681F090B51F67E0A6AFDC8D9347516DB519712C2F] +peggy_denom = ibc/4457C4FE143DA253CBBE998681F090B51F67E0A6AFDC8D9347516DB519712C2F +decimals = 0 + +[ibc/88C49ADE2E583244058E4786C9FAE1AC431D55289EE31D59DDCC45201A60B82E] +peggy_denom = ibc/88C49ADE2E583244058E4786C9FAE1AC431D55289EE31D59DDCC45201A60B82E +decimals = 0 + +[ibc/EBD5A24C554198EBAF44979C5B4D2C2D312E6EBAB71962C92F735499C7575839] +peggy_denom = ibc/EBD5A24C554198EBAF44979C5B4D2C2D312E6EBAB71962C92F735499C7575839 +decimals = 6 + +[inj12sqy9uzzl3h3vqxam7sz9f0yvmhampcgesh3qw] +peggy_denom = inj12sqy9uzzl3h3vqxam7sz9f0yvmhampcgesh3qw +decimals = 6 + +[inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku] +peggy_denom = inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku +decimals = 18 + +[inj14eaxewvy7a3fk948c3g3qham98mcqpm8v5y0dp] +peggy_denom = inj14eaxewvy7a3fk948c3g3qham98mcqpm8v5y0dp +decimals = 6 + +[inj1plsk58sxqjw9828aqzeskmc8xy9eu5kppw3jg4] +peggy_denom = inj1plsk58sxqjw9828aqzeskmc8xy9eu5kppw3jg4 +decimals = 8 + [lootbox1] peggy_denom = factory/inj1llr45x92t7jrqtxvc02gpkcqhqr82dvyzkr4mz/lootbox1 decimals = 0 @@ -1635,6 +1699,46 @@ decimals = 6 peggy_denom = inj1kehk5nvreklhylx22p3x0yjydfsz9fv3fvg5xt decimals = 18 +[peggy0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599] +peggy_denom = peggy0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 +decimals = 8 + +[peggy0x43123e1d077351267113ada8bE85A058f5D492De] +peggy_denom = peggy0x43123e1d077351267113ada8bE85A058f5D492De +decimals = 6 + +[peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7] +peggy_denom = peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7 +decimals = 0 + +[peggy0x5Ac3A2F6205a481C7a8984E4291E450e52cd0369] +peggy_denom = peggy0x5Ac3A2F6205a481C7a8984E4291E450e52cd0369 +decimals = 18 + +[peggy0x6c3ea9036406852006290770BEdFcAbA0e23A0e8] +peggy_denom = peggy0x6c3ea9036406852006290770BEdFcAbA0e23A0e8 +decimals = 6 + +[peggy0x8D983cb9388EaC77af0474fA441C4815500Cb7BB] +peggy_denom = peggy0x8D983cb9388EaC77af0474fA441C4815500Cb7BB +decimals = 6 + +[peggy0xBe8d71D26525440A03311cc7fa372262c5354A3c] +peggy_denom = peggy0xBe8d71D26525440A03311cc7fa372262c5354A3c +decimals = 18 + +[peggy0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080] +peggy_denom = peggy0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080 +decimals = 10 + +[peggy0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2] +peggy_denom = peggy0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +decimals = 18 + +[peggy0xe28b3b32b6c345a34ff64674606124dd5aceca30] +peggy_denom = peggy0xe28b3b32b6c345a34ff64674606124dd5aceca30 +decimals = 18 + [proj] peggy_denom = proj decimals = 18 @@ -1731,13 +1835,17 @@ decimals = 18 peggy_denom = peggy0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84 decimals = 18 +[unknown] +peggy_denom = unknown +decimals = 0 + [wBTC] -peggy_denom = peggy0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 -decimals = 8 +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku +decimals = 18 [wETH] -peggy_denom = peggy0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -decimals = 18 +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/weth +decimals = 8 [wUSDM] peggy_denom = peggy0x57F5E098CaD7A3D1Eed53991D4d66C45C9AF7812 diff --git a/client/metadata/assets/mainnet.ini b/client/metadata/assets/mainnet.ini index 7716e5e7..9a76e299 100644 --- a/client/metadata/assets/mainnet.ini +++ b/client/metadata/assets/mainnet.ini @@ -119,8 +119,8 @@ min_display_quantity_tick_size = 0.001 description = 'Mainnet Spot WETH/USDT' base = 18 quote = 6 -min_price_tick_size = 0.000000000000001 -min_display_price_tick_size = 0.001 +min_price_tick_size = 0.0000000000001 +min_display_price_tick_size = 0.1 min_quantity_tick_size = 1000000000000000 min_display_quantity_tick_size = 0.001 @@ -191,8 +191,8 @@ min_display_quantity_tick_size = 0.01 description = 'Mainnet Spot ATOM/USDT' base = 6 quote = 6 -min_price_tick_size = 0.01 -min_display_price_tick_size = 0.01 +min_price_tick_size = 0.001 +min_display_price_tick_size = 0.001 min_quantity_tick_size = 10000 min_display_quantity_tick_size = 0.01 @@ -200,11 +200,20 @@ min_display_quantity_tick_size = 0.01 description = 'Mainnet Spot GF/USDT' base = 18 quote = 6 -min_price_tick_size = 0.000000000000001 -min_display_price_tick_size = 0.001 +min_price_tick_size = 0.0000000000000001 +min_display_price_tick_size = 0.0001 min_quantity_tick_size = 1000000000000000 min_display_quantity_tick_size = 0.001 +[0xdce84d5e9c4560b549256f34583fb4ed07c82026987451d5da361e6e238287b3] +description = 'Mainnet Spot LUNA/UST' +base = 6 +quote = 18 +min_price_tick_size = 0.00000001 +min_display_price_tick_size = 0.00000000000000000001 +min_quantity_tick_size = 100000 +min_display_quantity_tick_size = 0.1 + [0x0f1a11df46d748c2b20681273d9528021522c6a0db00de4684503bbd53bef16e] description = 'Mainnet Spot UST/USDT' base = 18 @@ -214,15 +223,6 @@ min_display_price_tick_size = 100000000 min_quantity_tick_size = 10000 min_display_quantity_tick_size = 0.00000000000001 -[0xdce84d5e9c4560b549256f34583fb4ed07c82026987451d5da361e6e238287b3] -description = 'Mainnet Spot LUNA/UST' -base = 6 -quote = 18 -min_price_tick_size = 0.01 -min_display_price_tick_size = 0.00000000000001 -min_quantity_tick_size = 100000 -min_display_quantity_tick_size = 0.1 - [0xfbc729e93b05b4c48916c1433c9f9c2ddb24605a73483303ea0f87a8886b52af] description = 'Mainnet Spot INJ/UST' base = 18 @@ -277,10715 +277,13204 @@ min_display_price_tick_size = 0.0001 min_quantity_tick_size = 1000 min_display_quantity_tick_size = 0.001 -[0x4ca0f92fc28be0c9761326016b5a1a2177dd6375558365116b5bdda9abc229ce] -description = 'Mainnet Derivative BTC/USDT PERP' -base = 0 -quote = 6 -min_price_tick_size = 100000 -min_display_price_tick_size = 0.1 -min_quantity_tick_size = 0.0001 -min_display_quantity_tick_size = 0.0001 - -[0x54d4505adef6a5cef26bc403a33d595620ded4e15b9e2bc3dd489b714813366a] -description = 'Mainnet Derivative ETH/USDT PERP' -base = 0 +[0xd5f5895102b67300a2f8f2c2e4b8d7c4c820d612bc93c039ba8cb5b93ccedf22] +description = 'Mainnet Spot DOT/USDT' +base = 10 quote = 6 -min_price_tick_size = 10000 +min_price_tick_size = 0.000001 min_display_price_tick_size = 0.01 -min_quantity_tick_size = 0.01 +min_quantity_tick_size = 100000000 min_display_quantity_tick_size = 0.01 -[0x1c79dac019f73e4060494ab1b4fcba734350656d6fc4d474f6a238c13c6f9ced] -description = 'Mainnet Derivative BNB/USDT PERP' -base = 0 +[0xabc20971099f5df5d1de138f8ea871e7e9832e3b0b54b61056eae15b09fed678] +description = 'Mainnet Spot USDC/USDT' +base = 6 quote = 6 -min_price_tick_size = 10000 -min_display_price_tick_size = 0.01 -min_quantity_tick_size = 0.01 -min_display_quantity_tick_size = 0.01 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 1 -[0x9b9980167ecc3645ff1a5517886652d94a0825e54a77d2057cbbe3ebee015963] -description = 'Mainnet Derivative INJ/USDT PERP' -base = 0 +[0xcd4b823ad32db2245b61bf498936145d22cdedab808d2f9d65100330da315d29] +description = 'Mainnet Spot STRD/USDT' +base = 6 quote = 6 -min_price_tick_size = 1000 -min_display_price_tick_size = 0.001 -min_quantity_tick_size = 0.001 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1000 min_display_quantity_tick_size = 0.001 -[0x8158e603fb80c4e417696b0e98765b4ca89dcf886d3b9b2b90dc15bfb1aebd51] -description = 'Mainnet Derivative LUNA/UST PERP' -base = 0 -quote = 18 -min_price_tick_size = 10000 -min_display_price_tick_size = 0.00000000000001 -min_quantity_tick_size = 0.1 -min_display_quantity_tick_size = 0.1 +[0x4807e9ac33c565b4278fb9d288bd79546abbf5a368dfc73f160fe9caa37a70b1] +description = 'Mainnet Spot axlUSDC/USDT' +base = 6 +quote = 6 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 1 -[0xc559df216747fc11540e638646c384ad977617d6d8f0ea5ffdfc18d52e58ab01] -description = 'Mainnet Derivative ATOM/USDT PERP' -base = 0 +[0xe03df6e1571acb076c3d8f22564a692413b6843ad2df67411d8d8e56449c7ff4] +description = 'Mainnet Spot CRE/USDT' +base = 6 quote = 6 -min_price_tick_size = 1000 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1000 +min_display_quantity_tick_size = 0.001 + +[0x219b522871725d175f63d5cb0a55e95aa688b1c030272c5ae967331e45620032] +description = 'Mainnet Spot SteadyETH/USDT' +base = 18 +quote = 6 +min_price_tick_size = 0.000000000000001 min_display_price_tick_size = 0.001 -min_quantity_tick_size = 0.01 +min_quantity_tick_size = 10000000000000000 min_display_quantity_tick_size = 0.01 -[0xc60c2ba4c11976e4c10ed7c1f5ca789b63282d0b3782ec3d7fc29dec9f43415e] -description = 'Mainnet Derivative STX/USDT PERP' -base = 0 +[0x510855ccf9148b47c6114e1c9e26731f9fd68a6f6dbc5d148152d02c0f3e5ce0] +description = 'Mainnet Spot SteadyBTC/USDT' +base = 18 quote = 6 -min_price_tick_size = 1000 +min_price_tick_size = 0.000000000000001 min_display_price_tick_size = 0.001 -min_quantity_tick_size = 0.1 -min_display_quantity_tick_size = 0.1 - -[0x2d1fc1ebff7cae29d6f85d3a2bb7f3f6f2bab12a25d6cc2834bcb06d7b08fd74] -description = 'Mainnet Derivative BAYC/WETH PERP' -base = 0 -quote = 18 -min_price_tick_size = 100000000000000 -min_display_price_tick_size = 0.0001 -min_quantity_tick_size = 0.0001 -min_display_quantity_tick_size = 0.0001 - -[0x8c7fd5e6a7f49d840512a43d95389a78e60ebaf0cde1af86b26a785eb23b3be5] -description = 'Mainnet Derivative OSMO/UST PERP' -base = 0 -quote = 18 -min_price_tick_size = 1000 -min_display_price_tick_size = 0.000000000000001 -min_quantity_tick_size = 0.01 +min_quantity_tick_size = 10000000000000000 min_display_quantity_tick_size = 0.01 -[0xcf18525b53e54ad7d27477426ade06d69d8d56d2f3bf35fe5ce2ad9eb97c2fbc] -description = 'Mainnet Derivative OSMO/USDT PERP' -base = 0 +[0x2021159081a88c9a627c66f770fb60c7be78d492509c89b203e1829d0413995a] +description = 'Mainnet Spot ETHBTCTrend/USDT' +base = 18 quote = 6 -min_price_tick_size = 1000 +min_price_tick_size = 0.000000000000001 min_display_price_tick_size = 0.001 -min_quantity_tick_size = 0.01 +min_quantity_tick_size = 10000000000000000 min_display_quantity_tick_size = 0.01 -[ tether] -peggy_denom = inj1wpeh7cm7s0mj7m3x6vrf5hvxfx2xusz5l27evk -decimals = 18 - -[$ALIEN] -peggy_denom = factory/inj1mly2ykhf6f9tdj58pvndjf4q8dzdl4myjqm9t6/ALIEN -decimals = 6 +[0x0686357b934c761784d58a2b8b12618dfe557de108a220e06f8f6580abb83aab] +description = 'Mainnet Spot SOMM/USDT' +base = 6 +quote = 6 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 1 -[$AOI] -peggy_denom = factory/inj169ed97mcnf8ay6rgvskn95n6tyt46uwvy5qgs0/$aoi -decimals = 6 +[0x84ba79ffde31db8273a9655eb515cb6cadfdf451b8f57b83eb3f78dca5bbbe6d] +description = 'Mainnet Spot SOL/USDC' +base = 8 +quote = 6 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.01 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 0.01 -[$Babykira] -peggy_denom = factory/inj13vau2mgx6mg7ams9nngjhyng58tl9zyw0n8s93/BABYKIRA -decimals = 6 +[0xb825e2e4dbe369446e454e21c16e041cbc4d95d73f025c369f92210e82d2106f] +description = 'Mainnet Spot USDCso/USDCet' +base = 6 +quote = 6 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 100 +min_display_quantity_tick_size = 0.0001 -[$NINJA] -peggy_denom = inj1yngv6had7vm443k220q9ttg0sc4zkpdwp70fmq -decimals = 6 +[0xf66f797a0ff49bd2170a04d288ca3f13b5df1c822a7b0cc4204aca64a5860666] +description = 'Mainnet Spot USDC/USDCet' +base = 6 +quote = 6 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 100 +min_display_quantity_tick_size = 0.0001 -[$TunaSniper] -peggy_denom = inj1nmzj7jartqsex022j3kkkszeayypqkzl5vpe59 -decimals = 8 +[0xda0bb7a7d8361d17a9d2327ed161748f33ecbf02738b45a7dd1d812735d1531c] +description = 'Mainnet Spot USDT/USDC' +base = 6 +quote = 6 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 100 +min_display_quantity_tick_size = 0.0001 -[$WIF] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1802ascnwzdhvv84url475eyx26ptuc6jc590nl -decimals = 8 +[0x4fa0bd2c2adbfe077f58395c18a72f5cbf89532743e3bddf43bc7aba706b0b74] +description = 'Mainnet Spot CHZ/USDC' +base = 8 +quote = 6 +min_price_tick_size = 0.000001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 100000000 +min_display_quantity_tick_size = 1 -[$wifs] -peggy_denom = factory/inj10edtfelcttj3s98f755ntfplt0da5xv4z8z0lf/dogwifshoes -decimals = 6 +[0xa7fb70ac87e220f3ea7f7f77faf48b47b3575a9f7ad22291f04a02799e631ca9] +description = 'Mainnet Spot CANTO/USDT' +base = 18 +quote = 6 +min_price_tick_size = 0.0000000000000001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 10000000000000000000 +min_display_quantity_tick_size = 10 -[...] -peggy_denom = factory/inj1jj7z2f69374z6lmph44ztnxghgczyylqgc7tzw/dot -decimals = 6 +[0x7fce43f1140df2e5f16977520629e32a591939081b59e8fbc1e1c4ddfa77a044] +description = 'Mainnet Spot LDO/USDC' +base = 6 +quote = 8 +min_price_tick_size = 0.1 +min_display_price_tick_size = 0.001 +min_quantity_tick_size = 1000 +min_display_quantity_tick_size = 0.001 -[0XGNSS] -peggy_denom = inj1cfv8rrcete7vengcken0mjqt8q75vpcc0j0my5 -decimals = 8 +[0x66a113e1f0c57196985f8f1f1cfce2f220fa0a96bca39360c70b6788a0bc06e0] +description = 'Mainnet Spot LDO/USDC' +base = 8 +quote = 6 +min_price_tick_size = 0.00001 +min_display_price_tick_size = 0.001 +min_quantity_tick_size = 100000 +min_display_quantity_tick_size = 0.001 -[1INCH] -peggy_denom = peggy0x111111111117dC0aa78b770fA6A738034120C302 -decimals = 18 +[0x4b29b6df99d73920acdc56962050786ac950fcdfec6603094b63cd38cad5197e] +description = 'Mainnet Spot PUG/USDT' +base = 18 +quote = 6 +min_price_tick_size = 0.0000000000000001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 100000000000000 +min_display_quantity_tick_size = 0.0001 -[2024MEME] -peggy_denom = inj1m2w8aenm3365w8t4x7jvpassk9ju7xq3snahhh -decimals = 8 +[0x1bba49ea1eb64958a19b66c450e241f17151bc2e5ea81ed5e2793af45598b906] +description = 'Mainnet Spot ARB/USDT' +base = 8 +quote = 6 +min_price_tick_size = 0.000001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 10000000 +min_display_quantity_tick_size = 0.1 -[4] -peggy_denom = ibc/F9823EBB2D7E55C5998A51A6AC1572451AB81CE1421E9AEF841902D78EA7B5AD -decimals = 0 +[0xba33c2cdb84b9ad941f5b76c74e2710cf35f6479730903e93715f73f2f5d44be] +description = 'Mainnet Spot WMATIC/USDC' +base = 8 +quote = 6 +min_price_tick_size = 0.000001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 10000000 +min_display_quantity_tick_size = 0.1 -[79228162514264337593543950342] -peggy_denom = ibc/80A315889AFA247F37386C42CC38EAAF25B8C7B8DA8FC5EC5D7EEC72DCE9B3D0 -decimals = 0 +[0xb9a07515a5c239fcbfa3e25eaa829a03d46c4b52b9ab8ee6be471e9eb0e9ea31] +description = 'Mainnet Spot WMATIC/USDT' +base = 8 +quote = 6 +min_price_tick_size = 0.000001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 10000000 +min_display_quantity_tick_size = 0.1 -[AAAA] -peggy_denom = inj1wlrndkkyj90jsp9mness2kqp5x0huzuhuhx28d -decimals = 18 +[0xce1829d4942ed939580e72e66fd8be3502396fc840b6d12b2d676bdb86542363] +description = 'Mainnet Spot stINJ/INJ' +base = 18 +quote = 18 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1000000000000000 +min_display_quantity_tick_size = 0.001 -[AAVE] -peggy_denom = peggy0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9 -decimals = 18 +[0xa04adeed0f09ed45c73b344b520d05aa31eabe2f469dcbb02a021e0d9d098715] +description = 'Mainnet Spot ORAI/USDT' +base = 6 +quote = 6 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 100000 +min_display_quantity_tick_size = 0.1 -[ABC] -peggy_denom = factory/inj13njxly446jm3gd8y84qnk3sm6wu0pjjc47mwl6/ABC -decimals = 6 +[0xe8fe754e16233754e2811c36aca89992e35951cfd61376f1cbdc44be6ac8d3fb] +description = 'Mainnet Spot NEOK/USDT' +base = 18 +quote = 6 +min_price_tick_size = 0.0000000000000001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 100000000000000000 +min_display_quantity_tick_size = 0.1 -[ADA] -peggy_denom = inj1vla438tlw69h93crmq3wq9l79d6cqwecqef3ps -decimals = 18 +[0x2d8b2a2bef3782b988e16a8d718ea433d6dfebbb3b932975ca7913589cb408b5] +description = 'Mainnet Spot KAVA/USDT' +base = 6 +quote = 6 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 1 + +[0xbf94d932d1463959badee52ffbeb2eeeeeda750e655493e909ced540c375a277] +description = 'Mainnet Spot USDTkv/USDT' +base = 6 +quote = 6 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 100000 +min_display_quantity_tick_size = 0.1 + +[0x35fd4fa9291ea68ce5eef6e0ea8567c7744c1891c2059ef08580ba2e7a31f101] +description = 'Mainnet Spot TIA/USDT' +base = 6 +quote = 6 +min_price_tick_size = 0.001 +min_display_price_tick_size = 0.001 +min_quantity_tick_size = 100000 +min_display_quantity_tick_size = 0.1 + +[0x21f3eed62ddc64458129c0dcbff32b3f54c92084db787eb5cf7c20e69a1de033] +description = 'Mainnet Spot TALIS/USDT' +base = 6 +quote = 6 +min_price_tick_size = 0.00001 +min_display_price_tick_size = 0.00001 +min_quantity_tick_size = 10000000 +min_display_quantity_tick_size = 10 + +[0xf09dd242aea343afd7b6644151bb00d1b8770d842881009bea867658602b6bf0] +description = 'Mainnet Spot TALIS/INJ' +base = 6 +quote = 18 +min_price_tick_size = 1000000 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 10000000 +min_display_quantity_tick_size = 10 + +[0x6922cf4383294c673971dd06aa4ae5ef47f65cb4f1ec1c2af4271c5e5ca67486] +description = 'Mainnet Spot KUJI/USDT' +base = 6 +quote = 6 +min_price_tick_size = 0.001 +min_display_price_tick_size = 0.001 +min_quantity_tick_size = 100000 +min_display_quantity_tick_size = 0.1 + +[0xa6ec1de114a5ffa85b6b235144383ce51028a1c0c2dee7db5ff8bf14d5ca0d49] +description = 'Mainnet Spot PYTH/USDT' +base = 6 +quote = 6 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 1 + +[0x75f6a79b552dac417df219ab384be19cb13b53dec7cf512d73a965aee8bc83af] +description = 'Mainnet Spot USDY/USDT' +base = 18 +quote = 6 +min_price_tick_size = 0.0000000000000001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 100000000000000000 +min_display_quantity_tick_size = 0.1 + +[0x689ea50a30b0aeaf162e57100fefe5348a00099774f1c1ebcd90c4b480fda46a] +description = 'Mainnet Spot WHALE/USDT' +base = 6 +quote = 6 +min_price_tick_size = 0.00001 +min_display_price_tick_size = 0.00001 +min_quantity_tick_size = 10000000 +min_display_quantity_tick_size = 10 + +[0xac938722067b1dfdfbf346d2434573fb26cb090d309b19af17df2c6827ceb32c] +description = 'Mainnet Spot SOL/USDT' +base = 8 +quote = 6 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.01 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 0.01 + +[0x2d3b8d8833dda54a717adea9119134556848105fd6028e9a4a526e4e5a122a57] +description = 'Mainnet Spot KIRA/INJ' +base = 6 +quote = 18 +min_price_tick_size = 10000 +min_display_price_tick_size = 0.00000001 +min_quantity_tick_size = 1000000000 +min_display_quantity_tick_size = 1000 + +[0xdf9317eac1739a23bc385e264afde5d480c0b3d2322660b5efd206071d4e70b7] +description = 'Mainnet Spot NINJA/INJ' +base = 6 +quote = 18 +min_price_tick_size = 1000000 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 10000000 +min_display_quantity_tick_size = 10 + +[0x4bb3426a2d7ba80c244ef7eecfd7c4fd177d78e63ff40ba6235b1ae471e23cdb] +description = 'Mainnet Spot KATANA/INJ' +base = 6 +quote = 18 +min_price_tick_size = 10000 +min_display_price_tick_size = 0.00000001 +min_quantity_tick_size = 1000000000 +min_display_quantity_tick_size = 1000 + +[0x23983c260fc8a6627befa50cfc0374feef834dc1dc90835238c8559cc073e08f] +description = 'Mainnet Spot BRETT/INJ' +base = 6 +quote = 18 +min_price_tick_size = 1000000 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 10000000 +min_display_quantity_tick_size = 10 + +[0x6de141d12691dd13fffcc4e3ceeb09191ff445e1f10dfbecedc63a1e365fb6cd] +description = 'Mainnet Spot ZIG/INJ' +base = 18 +quote = 18 +min_price_tick_size = 0.000001 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 10000000000000000000 +min_display_quantity_tick_size = 10 + +[0x02b56c5e6038f0dd795efb521718b33412126971608750538409f4b81ab5da2f] +description = 'Mainnet Spot nINJ/INJ' +base = 18 +quote = 18 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1000000000000000 +min_display_quantity_tick_size = 0.001 + +[0xb6c24e9a586a50062f2fac059ddd79f8b0cf1c101e263f4b2c7484b0e20d2899] +description = 'Mainnet Spot GINGER/INJ' +base = 6 +quote = 18 +min_price_tick_size = 100 +min_display_price_tick_size = 0.0000000001 +min_quantity_tick_size = 10000000000 +min_display_quantity_tick_size = 10000 + +[0x9b13c89f8f10386b61dd3a58aae56d5c7995133534ed65ac9835bb8d54890961] +description = 'Mainnet Spot SNOWY/INJ' +base = 6 +quote = 18 +min_price_tick_size = 1000000 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 1 + +[0xb3f38c081a1817bb0fc717bf869e93f5557c10851db4e15922e1d9d2297bd802] +description = 'Mainnet Spot AUTISM/INJ' +base = 6 +quote = 18 +min_price_tick_size = 1000000 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 10000000 +min_display_quantity_tick_size = 10 + +[0xd0ba680312852ffb0709446fff518e6c4d798fb70cfd2699aba3717a2517cfd5] +description = 'Mainnet Spot APP/INJ' +base = 18 +quote = 6 +min_price_tick_size = 0.000000000000000001 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 10000000000000000000 +min_display_quantity_tick_size = 10 + +[0x05288e393771f09c923d1189e4265b7c2646b6699f08971fd2adf0bfd4b1ce7a] +description = 'Mainnet Spot APP/INJ ' +base = 18 +quote = 18 +min_price_tick_size = 0.000001 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 10000000000000000000 +min_display_quantity_tick_size = 10 + +[0xe6dd9895b169e2ca0087fcb8e8013805d06c3ed8ffc01ccaa31c710eef14a984] +description = 'Mainnet Spot DOJO/INJ' +base = 18 +quote = 18 +min_price_tick_size = 0.000001 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 10000000000000000000 +min_display_quantity_tick_size = 10 + +[0x0a1366c8b05658c0ccca6064e4b20aacd5ad350c02debd6ec0f4dc9178145d14] +description = 'Mainnet Spot GYEN/USDT' +base = 6 +quote = 6 +min_price_tick_size = 0.000001 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 100000000 +min_display_quantity_tick_size = 100 + +[0x9c8a91a894f773792b1e8d0b6a8224a6b748753738e9945020ee566266f817be] +description = 'Mainnet Spot USDCnb/USDT' +base = 6 +quote = 6 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 100000 +min_display_quantity_tick_size = 0.1 + +[0x9c42d763ba5135809ac4684b02082e9c880d69f6b96d258fe4c172396e9af7be] +description = 'Mainnet Spot ANDR/INJ' +base = 6 +quote = 18 +min_price_tick_size = 10000000 +min_display_price_tick_size = 0.00001 +min_quantity_tick_size = 100000 +min_display_quantity_tick_size = 0.1 + +[0x1b1e062b3306f26ae3af3c354a10c1cf38b00dcb42917f038ba3fc14978b1dd8] +description = 'Mainnet Spot hINJ/INJ' +base = 18 +quote = 18 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1000000000000000 +min_display_quantity_tick_size = 0.001 + +[0x959c9401a557ac090fff3ec11db5a1a9832e51a97a41b722d2496bb3cb0b2f72] +description = 'Mainnet Spot ANDR/INJ' +base = 6 +quote = 6 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 1 + +[0x697457537bc2af5ff652bc0616fe23537437a570d0e4d91566f03af279e095d5] +description = 'Mainnet Spot PHUC/INJ' +base = 6 +quote = 18 +min_price_tick_size = 10000 +min_display_price_tick_size = 0.00000001 +min_quantity_tick_size = 1000000000 +min_display_quantity_tick_size = 1000 + +[0x42edf70cc37e155e9b9f178e04e18999bc8c404bd7b638cc4cbf41da8ef45a21] +description = 'Mainnet Spot QUNT/INJ' +base = 6 +quote = 18 +min_price_tick_size = 10000 +min_display_price_tick_size = 0.00000001 +min_quantity_tick_size = 100000000 +min_display_quantity_tick_size = 100 + +[0x586409ac5f6d6e90a81d2585b9a8e76de0b4898d5f2c047d0bc025a036489ba1] +description = 'Mainnet Spot WHALE/INJ' +base = 6 +quote = 18 +min_price_tick_size = 1000000 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 1 + +[0x1af8fa374392dc1bd6331f38f0caa424a39b05dd9dfdc7a2a537f6f62bde50fe] +description = 'Mainnet Spot USDe/USDT' +base = 18 +quote = 6 +min_price_tick_size = 0.0000000000000001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 100000000000000000 +min_display_quantity_tick_size = 0.1 + +[0xc8fafa1fcab27e16da20e98b4dc9dda45320418c27db80663b21edac72f3b597] +description = 'Mainnet Spot HDRO/INJ' +base = 6 +quote = 18 +min_price_tick_size = 1000000 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 1 + +[0xb965ebede42e67af153929339040e650d5c2af26d6aa43382c110d943c627b0a] +description = 'Mainnet Spot PYTH/INJ' +base = 6 +quote = 18 +min_price_tick_size = 10000000 +min_display_price_tick_size = 0.00001 +min_quantity_tick_size = 100000 +min_display_quantity_tick_size = 0.1 + +[0x25b545439f8e072856270d4b5ca94764521c4111dd9a2bbb5fbc96d2ab280f13] +description = 'Mainnet Spot PYTH/INJ' +base = 6 +quote = 18 +min_price_tick_size = 10000000 +min_display_price_tick_size = 0.00001 +min_quantity_tick_size = 100000 +min_display_quantity_tick_size = 0.1 + +[0xeb95ab0b5416266b1987f1d46bcd5f63addeac68bbf5a089c5ed02484c97b6a3] +description = 'Mainnet Spot LVN/INJ' +base = 6 +quote = 18 +min_price_tick_size = 1000000 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 1 + +[0x85ccdb2b6022b0586da19a2de0a11ce9876621630778e28a5d534464cbfff238] +description = 'Mainnet Spot NONJA/INJ' +base = 18 +quote = 18 +min_price_tick_size = 0.00000001 +min_display_price_tick_size = 0.00000001 +min_quantity_tick_size = 100000000000000000000 +min_display_quantity_tick_size = 100 + +[0xd9089235d2c1b07261cbb2071f4f5a7f92fa1eca940e3cad88bb671c288a972f] +description = 'Mainnet Spot SOL/USDT' +base = 8 +quote = 6 +min_price_tick_size = 0.0001 +min_display_price_tick_size = 0.01 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 0.01 + +[0x8cd25fdc0d7aad678eb998248f3d1771a2d27c964a7630e6ffa5406de7ea54c1] +description = 'Mainnet Spot WMATIC/USDT' +base = 8 +quote = 6 +min_price_tick_size = 0.000001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 10000000 +min_display_quantity_tick_size = 0.1 + +[0x1c2e5b1b4b1269ff893b4817a478fba6095a89a3e5ce0cccfcafa72b3941eeb6] +description = 'Mainnet Spot ARB/USDT' +base = 8 +quote = 6 +min_price_tick_size = 0.000001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 10000000 +min_display_quantity_tick_size = 0.1 + +[0xd5ef157b855101a19da355aee155a66f3f2eea7baca787bd27597f5182246da4] +description = 'Mainnet Spot STRD/INJ' +base = 6 +quote = 18 +min_price_tick_size = 10000000 +min_display_price_tick_size = 0.00001 +min_quantity_tick_size = 100000 +min_display_quantity_tick_size = 0.1 + +[0x1f5d69fc3d063e2a130c29943a0c83c3e79c2ba897fe876fcd82c51ab2ea61de] +description = 'Mainnet Spot sUSDe/USDe' +base = 18 +quote = 18 +min_price_tick_size = 0.00001 +min_display_price_tick_size = 0.00001 +min_quantity_tick_size = 100000000000000 +min_display_quantity_tick_size = 0.0001 + +[0x6ad662364885b8a4c50edfc88deeef23338b2bd0c1e4dc9b680b054afc9b6b24] +description = 'Mainnet Spot ENA/USDT' +base = 18 +quote = 6 +min_price_tick_size = 0.0000000000000001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1000000000000000000 +min_display_quantity_tick_size = 1 + +[0xb03ead807922111939d1b62121ae2956cf6f0a6b03dfdea8d9589c05b98f670f] +description = 'Mainnet Spot BONUS/USDT' +base = 8 +quote = 6 +min_price_tick_size = 0.000001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 100000000 +min_display_quantity_tick_size = 1 + +[0x35a83ec8948babe4c1b8fbbf1d93f61c754fedd3af4d222fe11ce2a294cd74fb] +description = 'Mainnet Spot W/USDT' +base = 6 +quote = 6 +min_price_tick_size = 0.001 +min_display_price_tick_size = 0.001 +min_quantity_tick_size = 100000 +min_display_quantity_tick_size = 0.1 + +[0x315e5cd5ee24b3a1e1396679885b5e42bbe18045105d1662c6618430a131d117] +description = 'Mainnet Spot XIII/INJ' +base = 6 +quote = 18 +min_price_tick_size = 10000 +min_display_price_tick_size = 0.00000001 +min_quantity_tick_size = 100000000 +min_display_quantity_tick_size = 100 + +[0xd166688623206f9931307285678e9ff17cecd80a27d7b781dd88cecfba3b1839] +description = 'Mainnet Spot BLACK/INJ' +base = 6 +quote = 18 +min_price_tick_size = 1000000 +min_display_price_tick_size = 0.000001 +min_quantity_tick_size = 1000000 +min_display_quantity_tick_size = 1 + +[0x2be72879bb90ec8cbbd7510d0eed6a727f6c2690ce7f1397982453d552f9fe8f] +description = 'Mainnet Spot OMNI/USDT' +base = 18 +quote = 6 +min_price_tick_size = 0.00000000000001 +min_display_price_tick_size = 0.01 +min_quantity_tick_size = 10000000000000000 +min_display_quantity_tick_size = 0.01 + +[0xbd370d025c3693e8d658b44afe8434fa61cbc94178d0871bffd49e25773ef879] +description = 'Mainnet Spot ASG/INJ' +base = 8 +quote = 18 +min_price_tick_size = 1000 +min_display_price_tick_size = 0.0000001 +min_quantity_tick_size = 100000000 +min_display_quantity_tick_size = 1 + +[0xacb0dc21cddb15b686f36c3456f4223f701a2afa382006ef478d156439483b4d] +description = 'Mainnet Spot EZETH/WETH' +base = 18 +quote = 18 +min_price_tick_size = 0.00001 +min_display_price_tick_size = 0.00001 +min_quantity_tick_size = 10000000000000 +min_display_quantity_tick_size = 0.00001 + +[0x960038a93b70a08f1694c4aa5c914afda329063191e65a5b698f9d0676a0abf9] +description = 'Mainnet Spot SAGA/USDT' +base = 6 +quote = 6 +min_price_tick_size = 0.001 +min_display_price_tick_size = 0.001 +min_quantity_tick_size = 100000 +min_display_quantity_tick_size = 0.1 + +[0xca8121ea57a4f7fd3e058fa1957ebb69b37d52792e49b0b43932f1b9c0e01f8b] +description = 'Mainnet Spot wUSDM/USDT' +base = 18 +quote = 6 +min_price_tick_size = 0.0000000000000001 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 100000000000000000 +min_display_quantity_tick_size = 0.1 + +[0x4ca0f92fc28be0c9761326016b5a1a2177dd6375558365116b5bdda9abc229ce] +description = 'Mainnet Derivative BTC/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 1000000 +min_display_price_tick_size = 1 +min_quantity_tick_size = 0.0001 +min_display_quantity_tick_size = 0.0001 + +[0x54d4505adef6a5cef26bc403a33d595620ded4e15b9e2bc3dd489b714813366a] +description = 'Mainnet Derivative ETH/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 100000 +min_display_price_tick_size = 0.1 +min_quantity_tick_size = 0.01 +min_display_quantity_tick_size = 0.01 + +[0x1c79dac019f73e4060494ab1b4fcba734350656d6fc4d474f6a238c13c6f9ced] +description = 'Mainnet Derivative BNB/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 10000 +min_display_price_tick_size = 0.01 +min_quantity_tick_size = 0.01 +min_display_quantity_tick_size = 0.01 + +[0x9b9980167ecc3645ff1a5517886652d94a0825e54a77d2057cbbe3ebee015963] +description = 'Mainnet Derivative INJ/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 1000 +min_display_price_tick_size = 0.001 +min_quantity_tick_size = 0.001 +min_display_quantity_tick_size = 0.001 + +[0xc559df216747fc11540e638646c384ad977617d6d8f0ea5ffdfc18d52e58ab01] +description = 'Mainnet Derivative ATOM/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 1000 +min_display_price_tick_size = 0.001 +min_quantity_tick_size = 0.01 +min_display_quantity_tick_size = 0.01 + +[0x8c7fd5e6a7f49d840512a43d95389a78e60ebaf0cde1af86b26a785eb23b3be5] +description = 'Mainnet Derivative OSMO/UST PERP' +base = 0 +quote = 18 +min_price_tick_size = 1000 +min_display_price_tick_size = 0.000000000000001 +min_quantity_tick_size = 0.01 +min_display_quantity_tick_size = 0.01 + +[0xcf18525b53e54ad7d27477426ade06d69d8d56d2f3bf35fe5ce2ad9eb97c2fbc] +description = 'Mainnet Derivative OSMO/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 1000 +min_display_price_tick_size = 0.001 +min_quantity_tick_size = 0.1 +min_display_quantity_tick_size = 0.1 + +[0x06c5a306492ddc2b8dc56969766959163287ed68a6b59baa2f42330dda0aebe0] +description = 'Mainnet Derivative SOL/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 10000 +min_display_price_tick_size = 0.01 +min_quantity_tick_size = 0.001 +min_display_quantity_tick_size = 0.001 + +[0x3b7fb1d9351f7fa2e6e0e5a11b3639ee5e0486c33a6a74f629c3fc3c3043efd5] +description = 'Mainnet Derivative BONK/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 0.01 +min_display_price_tick_size = 0.00000001 +min_quantity_tick_size = 10000 +min_display_quantity_tick_size = 10000 + +[0xcd0c859a99f26bb3530e21890937ed77d20754aa7825a599c71710514fc125ef] +description = 'Mainnet Derivative 1MPEPE/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 100 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1 +min_display_quantity_tick_size = 1 + +[0x63bafbeee644b6606afb8476dd378fba35d516c7081d6045145790af963545aa] +description = 'Mainnet Derivative XRP/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 100 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 0.1 +min_display_quantity_tick_size = 0.1 + +[0x1afa358349b140e49441b6e68529578c7d2f27f06e18ef874f428457c0aaeb8b] +description = 'Mainnet Derivative SEI/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 100 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1 +min_display_quantity_tick_size = 1 + +[0x4fe7aff4dd27be7cbb924336e7fe2d160387bb1750811cf165ce58d4c612aebb] +description = 'Mainnet Derivative AXL/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 100 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1 +min_display_quantity_tick_size = 1 + +[0x887beca72224f88fb678a13a1ae91d39c53a05459fd37ef55005eb68f745d46d] +description = 'Mainnet Derivative PYTH/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 100 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1 +min_display_quantity_tick_size = 1 + +[0x9066bfa1bd97685e0df4e22a104f510fb867fde7f74a52f3341c7f5f56eb889c] +description = 'Mainnet Derivative TIA/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 1000 +min_display_price_tick_size = 0.001 +min_quantity_tick_size = 0.1 +min_display_quantity_tick_size = 0.1 + +[0x7a70d95e24ba42b99a30121e6a4ff0d6161847d5b86cbfc3d4b3a81d8e190a70] +description = 'Mainnet Derivative ZRO/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 1000 +min_display_price_tick_size = 0.001 +min_quantity_tick_size = 0.1 +min_display_quantity_tick_size = 0.1 + +[0x03841e74624fd885d1ee28453f921d18c211e78a0d7646c792c7903054eb152c] +description = 'Mainnet Derivative JUP/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 10 +min_display_price_tick_size = 0.00001 +min_quantity_tick_size = 1 +min_display_quantity_tick_size = 1 + +[0x30a1463cfb4c393c80e257ab93118cecd73c1e632dc4d2d31c12a51bc0a70bd7] +description = 'Mainnet Derivative AVAX/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 10000 +min_display_price_tick_size = 0.01 +min_quantity_tick_size = 0.01 +min_display_quantity_tick_size = 0.01 + +[0x18b2ca44b3d20a3b87c87d3765669b09b73b5e900693896c08394c70e79ab1e7] +description = 'Mainnet Derivative SUI/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 1000 +min_display_price_tick_size = 0.001 +min_quantity_tick_size = 0.1 +min_display_quantity_tick_size = 0.1 + +[0x1a6d3a59f45904e0a4a2eed269fc2f552e7e407ac90aaaeb602c31b017573f88] +description = 'Mainnet Derivative WIF/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 100 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1 +min_display_quantity_tick_size = 1 + +[0x48fcecd66ebabbf5a331178ec693b261dfae66ddfe6f552d7446744c6e78046c] +description = 'Mainnet Derivative OP/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 1000 +min_display_price_tick_size = 0.001 +min_quantity_tick_size = 0.1 +min_display_quantity_tick_size = 0.1 + +[0x6ddf0b8fbbd888981aafdae9fc967a12c6777aac4dd100a8257b8755c0c4b7d5] +description = 'Mainnet Derivative ARB/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 1000 +min_display_price_tick_size = 0.001 +min_quantity_tick_size = 0.1 +min_display_quantity_tick_size = 0.1 + +[0xf1bc70398e9b469db459f3153433c6bd1253bd02377248ee29bd346a218e6243] +description = 'Mainnet Derivative W/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 100 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1 +min_display_quantity_tick_size = 1 + +[0x03c8da1f6aaf8aca2be26b0f4d6b89d475835c7812a1dcdb19af7dec1c6b7f60] +description = 'Mainnet Derivative LINK/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 10000 +min_display_price_tick_size = 0.01 +min_quantity_tick_size = 0.01 +min_display_quantity_tick_size = 0.01 + +[0x7980993e508e0efc1c2634c153a1ef90f517b74351d6406221c77c04ec4799fe] +description = 'Mainnet Derivative DOGE/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 10 +min_display_price_tick_size = 0.00001 +min_quantity_tick_size = 10 +min_display_quantity_tick_size = 10 + +[0x4d42425fc3ccd6b61b8c4ad61134ab3cf21bdae1b665317eff671cfab79f4387] +description = 'Mainnet Derivative OMNI/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 100000 +min_display_price_tick_size = 0.1 +min_quantity_tick_size = 0.01 +min_display_quantity_tick_size = 0.01 + +[0x0160a0c8ecbf5716465b9fc22bceeedf6e92dcdc688e823bbe1af3b22a84e5b5] +description = 'Mainnet Derivative XAU/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 10000 +min_display_price_tick_size = 0.01 +min_quantity_tick_size = 0.0001 +min_display_quantity_tick_size = 0.0001 + +[0xedc48ec071136eeb858b11ba50ba87c96e113400e29670fecc0a18d588238052] +description = 'Mainnet Derivative XAG/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 1000 +min_display_price_tick_size = 0.001 +min_quantity_tick_size = 0.01 +min_display_quantity_tick_size = 0.01 + +[0x3c5bba656074e6e84965dc7d99a218f6f514066e6ddc5046acaff59105bb6bf5] +description = 'Mainnet Derivative EUR/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 10 +min_display_price_tick_size = 0.00001 +min_quantity_tick_size = 0.1 +min_display_quantity_tick_size = 0.1 + +[0x5c0de20c02afe5dcc1c3c841e33bfbaa1144d8900611066141ad584eeaefbd2f] +description = 'Mainnet Derivative GBP/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 10 +min_display_price_tick_size = 0.00001 +min_quantity_tick_size = 0.1 +min_display_quantity_tick_size = 0.1 + +[0xf1ceea00e01327497c321679896e5e64ad2a4e4b88e7324adeec7661351b6d93] +description = 'Mainnet Derivative BODEN/USDT PERP' +base = 0 +quote = 6 +min_price_tick_size = 100 +min_display_price_tick_size = 0.0001 +min_quantity_tick_size = 1 +min_display_quantity_tick_size = 1 + +[0x0d4c722badb032f14dfc07355258a4bcbd354cbc5d79cb5b69ddd52b1eb2f709] +description = 'Mainnet Derivative BTC/wUSDM Perp' +base = 0 +quote = 18 +min_price_tick_size = 1000000000000000000 +min_display_price_tick_size = 1 +min_quantity_tick_size = 0.0001 +min_display_quantity_tick_size = 0.0001 + +[ tether] +peggy_denom = inj1wpeh7cm7s0mj7m3x6vrf5hvxfx2xusz5l27evk +decimals = 18 + +[$ALIEN] +peggy_denom = factory/inj1mly2ykhf6f9tdj58pvndjf4q8dzdl4myjqm9t6/$alien +decimals = 6 + +[$AOI] +peggy_denom = factory/inj169ed97mcnf8ay6rgvskn95n6tyt46uwvy5qgs0/$aoi +decimals = 6 + +[$Babykira] +peggy_denom = factory/inj13vau2mgx6mg7ams9nngjhyng58tl9zyw0n8s93/$babykira +decimals = 6 + +[$NINJA] +peggy_denom = inj1yngv6had7vm443k220q9ttg0sc4zkpdwp70fmq +decimals = 6 + +[$TunaSniper] +peggy_denom = inj1nmzj7jartqsex022j3kkkszeayypqkzl5vpe59 +decimals = 8 + +[$WIF] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1802ascnwzdhvv84url475eyx26ptuc6jc590nl +decimals = 8 + +[$wifs] +peggy_denom = factory/inj10edtfelcttj3s98f755ntfplt0da5xv4z8z0lf/dogwifshoes +decimals = 6 + +[...] +peggy_denom = factory/inj1jj7z2f69374z6lmph44ztnxghgczyylqgc7tzw/dot +decimals = 6 + +[0XGNSS] +peggy_denom = inj1cfv8rrcete7vengcken0mjqt8q75vpcc0j0my5 +decimals = 8 + +[1INCH] +peggy_denom = peggy0x111111111117dC0aa78b770fA6A738034120C302 +decimals = 18 + +[2024MEME] +peggy_denom = inj1m2w8aenm3365w8t4x7jvpassk9ju7xq3snahhh +decimals = 8 + +[4] +peggy_denom = ibc/F9823EBB2D7E55C5998A51A6AC1572451AB81CE1421E9AEF841902D78EA7B5AD +decimals = 0 + +[79228162514264337593543950342] +peggy_denom = ibc/80A315889AFA247F37386C42CC38EAAF25B8C7B8DA8FC5EC5D7EEC72DCE9B3D0 +decimals = 0 + +[AAAA] +peggy_denom = inj1wlrndkkyj90jsp9mness2kqp5x0huzuhuhx28d +decimals = 18 + +[AAVE] +peggy_denom = peggy0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9 +decimals = 18 + +[ABC] +peggy_denom = factory/inj13njxly446jm3gd8y84qnk3sm6wu0pjjc47mwl6/ABC +decimals = 6 + +[ADA] +peggy_denom = inj1vla438tlw69h93crmq3wq9l79d6cqwecqef3ps +decimals = 18 [ADO] peggy_denom = ibc/CF0C070562EC0816B09DDD9518328DCCFBE6C4388907EFF883FD4BE4E510005E decimals = 6 -[ADOLF] -peggy_denom = factory/inj1nhswhqrgfu3hpauvyeycz7pfealx4ack2c5hfp/adolf +[ADOLF] +peggy_denom = factory/inj1nhswhqrgfu3hpauvyeycz7pfealx4ack2c5hfp/adolf +decimals = 6 + +[AGIX] +peggy_denom = inj163fdg2e00gfdx9mjvarlgljuzt4guvx8ghhwml +decimals = 8 + +[AI] +peggy_denom = inj1sw0zn2vfy6wnfg0rht7r80tq3jq4ukjafjud7x +decimals = 8 + +[AININJA] +peggy_denom = inj1vun8dfgm6rr9xv40p4tpmd8lcc9cvt3384dv7w +decimals = 6 + +[AINJ] +peggy_denom = inj10k45sksxulzp7avvmt2fud25cmywk6u75pwgd2 +decimals = 8 + +[AJNIN] +peggy_denom = inj1msvvtt2e6rshp0fyqlp7gzceffzgymvwjucwyh +decimals = 18 + +[AK47] +peggy_denom = factory/inj1y207pve646dtac77v7qehw85heuy92c03t7t07/ak47 +decimals = 6 + +[AKITA] +peggy_denom = factory/inj1z0yv9ljw68eh4pec2r790jw8yal4dt5wnu4wuk/akita +decimals = 6 + +[ALASKA] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1wndunmgj56h5cssn96hhdh49ssclc24rfl9vr4 +decimals = 18 + +[ALCHECN] +peggy_denom = inj1fxmws9tyrfs7ewgkh0ktae3f5pqffd4uudygze +decimals = 6 + +[ALE] +peggy_denom = inj1yq0394aplhz94nrthglzsx2c29e8spyrq6u8ah +decimals = 18 + +[ALEM] +peggy_denom = ibc/FE5CF6EA14A5A5EF61AFBD8294E7B245DF4523F6F3B38DE8CC65A916BCEA00B4 +decimals = 6 + +[ALFAROMEO] +peggy_denom = inj1jvtzkr6cwd4dzeqq4q74g2qj3gp2gvmuar5c0t +decimals = 6 + +[ALIEN] +peggy_denom = factory/inj175fuhj3rlyttt255fsc6fwyteealzt67szpvan/ALIEN +decimals = 6 + +[ALIENWARE] +peggy_denom = inj128hmvp03navfcad7fjdsdnjdaxsp8q8z9av3th +decimals = 6 + +[ALIGATOR] +peggy_denom = inj1t6uqhmlgpju7265aelawdkvn3xqnq3jv8j60l7 +decimals = 6 + +[ALPHA] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1zwnsemwrpve3wrrg0njj89w6mt5rmj9ydkc46u +decimals = 8 + +[ALPHANET] +peggy_denom = inj135fkkvwr9neffh40pgg24as5mwwuuku33n8zzw +decimals = 8 + +[AMM] +peggy_denom = factory/inj12yazr8lq5ptlz2qj9y36v8zwmz90gy9gh35026/AMM +decimals = 6 + +[AMOGUS] +peggy_denom = factory/inj1a47ddtzh8le8ukznc9v3dvqs5w5anwjjvy8lqj/amogus +decimals = 6 + +[ANALOS] +peggy_denom = factory/inj1g8yvnh0lzxc06qe2n4qux5cqlz8h6gnpvaxzus/analos +decimals = 6 + +[ANBU] +peggy_denom = factory/inj1aqnupu0z86nyttmpejmgu57vx22wmuz9fdg7ps/ANBU +decimals = 6 + +[ANDR] +peggy_denom = ibc/61FA42C3F0B0F8768ED2CE380EDD3BE0E4CB7E67688F81F70DE9ECF5F8684E1E +decimals = 6 + +[ANDRE] +peggy_denom = inj1qtqd73kkp9jdm7tzv3vrjn9038e6lsk929fel8 +decimals = 8 + +[ANDY] +peggy_denom = factory/inj1c0f9ze9wh2xket0zs6wy59v66alwratsdx648k/andy +decimals = 6 + +[ANIME] +peggy_denom = inj1mas82tve60sh3tkh879chgjkeaggxpeydwkl2n +decimals = 18 + +[ANK] +peggy_denom = inj16lxeq4xcdefptg39p9x78z5hkn0849z9z7xkyt +decimals = 18 + +[ANONS] +peggy_denom = factory/inj1e05u43qmn9jt502784c009u4elz5l86678esrk/ANONS +decimals = 6 + +[AOT] +peggy_denom = factory/inj1yjeq7tz86a8su0asaxckpa3a9rslfp97vpq3zq/AOT +decimals = 6 + +[APC] +peggy_denom = inj150382m6ah6lg3znprdrsggx38xl47fs4rmzy3m +decimals = 18 + +[APE] +peggy_denom = peggy0x4d224452801ACEd8B2F0aebE155379bb5D594381 +decimals = 18 + +[APEINJ] +peggy_denom = factory/inj1pn6cg7jt5nvmh2rpjxhg95nrcjz0rujv54wkdg/apeinj +decimals = 6 + +[APOLLO] +peggy_denom = ibc/1D10FF873E3C5EC7263A7658CB116F9535EC0794185A8153F2DD662E0FA08CE5 +decimals = 6 + +[APP] +peggy_denom = peggy0xC5d27F27F08D1FD1E3EbBAa50b3442e6c0D50439 +decimals = 18 + +[APPLE] +peggy_denom = factory/inj12yazr8lq5ptlz2qj9y36v8zwmz90gy9gh35026/APPLE +decimals = 6 + +[APSO] +peggy_denom = inj1sqsthjm8fpqc7seaa6lj08k7ja43jsd70rgy09 +decimals = 6 + +[APT] +peggy_denom = inj1mrltq7kh35xjkdzvul9ky077khsa5qatc0ylxj +decimals = 6 + +[AQLA] +peggy_denom = ibc/46B490B10E114ED9CE18FA1C92394F78CAA8A907EC72D66FF881E3B5EDC5E327 +decimals = 6 + +[ARB] +peggy_denom = ibc/8CF0E4184CA3105798EDB18CAA3981ADB16A9951FE9B05C6D830C746202747E1 +decimals = 8 + +[ARBlegacy] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d5vz0uzwlpfvgwrwulxg6syy82axa58y4fuszd +decimals = 8 + +[ARCH] +peggy_denom = ibc/9C6E75FE14DF8959B7CC6E77398DF825B9815C753BB49D2860E303EA2FD803DD +decimals = 18 + +[ARCHER] +peggy_denom = inj1ype9ps9ep2qukhuuyf4s2emr7qnexkcfa09p34 +decimals = 6 + +[ARIZO] +peggy_denom = inj1mdgw6dnw7hda2lancr0zgy6retrd2s5m253qud +decimals = 6 + +[ARKI] +peggy_denom = inj1zhnaq7aunhzp0q6g5nrac9dxe5dg0ws0sqzftv +decimals = 18 + +[ARMANI] +peggy_denom = ibc/0C04597A68991F93CE8C9EF88EA795179CD020695041D00911E5CFF023D415CC +decimals = 6 + +[ARTEMIS] +peggy_denom = inj1yt49wv3up03hnlsfd7yh6dqfdxwxayrk6as6al +decimals = 8 + +[ARTINJ] +peggy_denom = inj1qgj0lnaq9rxcstjaevvd4q43uy4dk77e6mrza9 +decimals = 6 + +[ARVI] +peggy_denom = inj16ff6zvsaay89w7e5ukvz83f6f9my98s20z5ea3 +decimals = 18 + +[ARYAN] +peggy_denom = inj16z7ja300985vuvkt975zyvtccu80xmzcfr4upt +decimals = 18 + +[ASG] +peggy_denom = ibc/2D40732D27E22D27A2AB79F077F487F27B6F13DB6293040097A71A52FB8AD021 +decimals = 8 + +[ASH] +peggy_denom = factory/inj1uecmky6hkcexz86hqgrl5p5krg8kl4gfldjkrp/ASH +decimals = 6 + +[ASI] +peggy_denom = inj1wgd5c8l27w8sac4tdfcxl2zyu5cfurtuxdvfx9 +decimals = 18 + +[ASS] +peggy_denom = inj1fj7z77awl6srtmcuux3xgq995uempgx5hethh3 +decimals = 18 + +[ASSYN] +peggy_denom = factory/inj1qzn0ys7rht689z4p6pq99u6kc92jnkqyj02cur/ASSYN +decimals = 6 + +[ASTR] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mhmln627samtkuwe459ylq763r4n7n69gxxc9x +decimals = 18 + +[ASTRO] +peggy_denom = ibc/EBD5A24C554198EBAF44979C5B4D2C2D312E6EBAB71962C92F735499C7575839 +decimals = 6 + +[ASTROBOT] +peggy_denom = inj153k5xjpqx39jm06gcxvjq5sxl8f7j79n72q9pz +decimals = 18 + +[ASTROGEMS] +peggy_denom = inj1eqzdmkdr2l72y75m7hx3rwnfcugzu0hhw7l76l +decimals = 8 + +[ASTROINJ] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sdk8sm96c7hkkax0wzxzhde9z5rpu6cr4ld8dn +decimals = 8 + +[ASTROLAND] +peggy_denom = inj16q7u3mzp3qmm6vf5a9jfzp46rs2dj68cuktzyw +decimals = 8 + +[ASTROLOGY] +peggy_denom = inj1u9th8dxhyrkz3tr2h5s6z2yap2s6e6955jk4yf +decimals = 8 + +[ASTROPAD] +peggy_denom = inj1tvcarn0xz9p9rxrgev5a2qjmrtqtnl4xtu5vsu +decimals = 8 + +[ASTROPEPE] +peggy_denom = ibc/03BC83F4E4972621EAE3144FC91AED13AF3541A90A51B690425C95D1E03850D9 +decimals = 6 + +[ASTROSOL] +peggy_denom = inj12vy3zzany7gtl9l9hdkzgvvr597r2ta48tvylj +decimals = 8 + +[ASTROXMAS] +peggy_denom = inj19q50d6sgc3sv2hcvlfalc5kf2fc576v4nga849 +decimals = 8 + +[ASUKA] +peggy_denom = inj1c64fwq7xexhh58spf2eer85yz3uvv3y659j5dd +decimals = 18 + +[ASWC] +peggy_denom = factory/inj10emnhmzncp27szh758nc7tvl3ph9wfxgej5u5v/ASWC +decimals = 6 + +[ATOM] +peggy_denom = ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9 +decimals = 6 + +[ATOM-LUNA-LP] +peggy_denom = ibc/0ED853D2B77215F953F65364EF1CA7D8A2BD7B7E3009196BBA18E884FE3D3576 +decimals = 6 + +[ATOM1KLFG] +peggy_denom = ibc/2061C894621F0F53F6FEAE9ABD3841F66D27F0D7368CC67864508BDE6D8C4522 +decimals = 6 + +[AUTISM] +peggy_denom = factory/inj14lf8xm6fcvlggpa7guxzjqwjmtr24gnvf56hvz/autism +decimals = 6 + +[AUUU] +peggy_denom = ibc/4CEF2F778CDA8306B6DE18A3A4C4450BEBC84F27FC49F91F3617A37203FE84B2 +decimals = 6 + +[AVAX] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18a2u6az6dzw528rptepfg6n49ak6hdzkny4um6 +decimals = 8 + +[AXL] +peggy_denom = ibc/B68C1D2682A8B69E20BB921E34C6A3A2B6D1E13E3E8C0092E373826F546DEE65 +decimals = 6 + +[AXS] +peggy_denom = peggy0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b +decimals = 18 + +[AZUKI] +peggy_denom = inj1l5qrquc6kun08asp6dt50zgcxes9ntazyvs9eu +decimals = 8 + +[Aave] +peggy_denom = ibc/49265FCAA6CC20B59652C0B45B2283A260BB19FC183DE95C29CCA8E01F8B004C +decimals = 18 + +[Alaskan Malamute] +peggy_denom = inj1wndunmgj56h5cssn96hhdh49ssclc24rfl9vr4 +decimals = 18 + +[Alien Token] +peggy_denom = factory/inj169ed97mcnf8ay6rgvskn95n6tyt46uwvy5qgs0/aoi +decimals = 6 + +[Alpha Coin] +peggy_denom = inj1zwnsemwrpve3wrrg0njj89w6mt5rmj9ydkc46u +decimals = 8 + +[Alpha Pro Club] +peggy_denom = inj1q2u8r40uh0ykqrjwszppz6yj2nvst4xvfvks29 +decimals = 8 + +[ApeCoin] +peggy_denom = ibc/8A13F5DA968B4D526E9DC5AE20B584FE62462E80AF06B9D0EA0B0DB35ABBBF27 +decimals = 18 + +[Apots Doge ] +peggy_denom = inj1dgnrks2s53jd5a0qsuhyvryhk4s03f5mxv9khy +decimals = 6 + +[April Fool's Day] +peggy_denom = inj1m9vaf9rm6qfjtq4ymupefkxjtv7vake0z4fc35 +decimals = 6 + +[Aptos Coin (Wormhole)] +peggy_denom = ibc/D807D81AB6C2983C9DCC2E1268051C4195405A030E1999549C562BCB7E1251A5 +decimals = 8 + +[Arbitrum] +peggy_denom = peggy0x912CE59144191C1204E64559FE8253a0e49E6548 +decimals = 18 + +[Arbitrum (legacy)] +peggy_denom = inj1d5vz0uzwlpfvgwrwulxg6syy82axa58y4fuszd +decimals = 8 + +[Arbitrum axlETH] +peggy_denom = ibc/A124994412FAC16975DF2DA42D7AFDB538A1CFCE0E40FB19620BADF6292B0A62 +decimals = 18 + +[Artro] +peggy_denom = factory/inj13r3azv5009e8w3xql5g0tuxug974ps6eed0czz/Artro +decimals = 6 + +[Astar] +peggy_denom = inj1mhmln627samtkuwe459ylq763r4n7n69gxxc9x +decimals = 18 + +[Astro-Injective] +peggy_denom = inj1sdk8sm96c7hkkax0wzxzhde9z5rpu6cr4ld8dn +decimals = 8 + +[AstroGems] +peggy_denom = inj122y9wxxmpyu2rj5ju30uwgdvk9sj020z2zt7rv +decimals = 8 + +[Astrophile] +peggy_denom = inj1y07h8hugnqnqvrpj9kmjpsva7pj4yjwjjkd0u4 +decimals = 18 + +[Axelar] +peggy_denom = peggy0x3eacbDC6C382ea22b78aCc158581A55aaF4ef3Cc +decimals = 6 + +[Axie Infinity Shard] +peggy_denom = ibc/EB519ECF709F0DB6BA1359F91BA2DDC5A07FB9869E1768D377EFEF9DF33DC4AB +decimals = 18 + +[BABY] +peggy_denom = factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/BABY +decimals = 6 + +[BABY GINGER] +peggy_denom = factory/inj15zruc9fw2qw9sc3pvlup5qmmqsk5pcmck7ylhw/BABYGINGER +decimals = 6 + +[BABY NINJA] +peggy_denom = factory/inj1hs5chngjfhjwc4fsajyr50qfu8tjqsqrj9rf29/baby-ninja +decimals = 6 + +[BABYDEK] +peggy_denom = factory/inj1fdqalekg73v06gvzch0zu74ealp35g3y00shmz/BABYDEK +decimals = 6 + +[BABYDGNZ] +peggy_denom = inj1tyvchyp04yscelq30q6vzngn9wvmjw446sw786 +decimals = 6 + +[BABYDOGE] +peggy_denom = inj1nk2x5ll6guwt84aagnw82e7ajmlwde6w2zmpdw +decimals = 6 + +[BABYGINGER] +peggy_denom = inj17uyp6dz3uyq40ckkzlgrze2k25zhgvdqa3yh0v +decimals = 6 + +[BABYHACHI] +peggy_denom = factory/inj1hjfm3z53dj4ct5nxef5ghn8hul0y53u7ytv8st/babyhachi +decimals = 6 + +[BABYINJ] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1dvflqrkkaxped5cmks92q6vmtzx75cge9gvvap +decimals = 8 + +[BABYIPEPE] +peggy_denom = factory/inj14u2wghxjswct5uznt40kre5ct7a477m2ma5hsm/babyipepe +decimals = 6 + +[BABYKIRA] +peggy_denom = factory/inj15jeczm4mqwtc9lk4c0cyynndud32mqd4m9xnmu/BABYKIRA +decimals = 6 + +[BABYKISHU] +peggy_denom = factory/inj15e7ah9tmmhyd3qafupnwe8uj74nc7gkehkrnuw/babykishu +decimals = 6 + +[BABYNINJA] +peggy_denom = factory/inj12lv4gm863c4pj0utr7zgzp46d6p86krp8stqgp/BABYNINJA +decimals = 6 + +[BABYPANDA] +peggy_denom = factory/inj15e7ah9tmmhyd3qafupnwe8uj74nc7gkehkrnuw/babypanda +decimals = 6 + +[BABYPEPE] +peggy_denom = factory/inj1un9z8767u2r8snaqqcysnm9skxf36dspqx86sy/babypepe +decimals = 6 + +[BABYQUNT] +peggy_denom = factory/inj1xdm6zdjcwu4vy32yp2g2dazwg2ug50w2k7sy9p/BABYQUNT +decimals = 6 + +[BABYROLL] +peggy_denom = inj16rvlt87pmpntkyv3x4zfvgmyxt8ejj9mpcc72m +decimals = 18 + +[BABYSHROOM] +peggy_denom = inj1dch98v88yhksd8j4wsypdua0gk3d9zdmsj7k59 +decimals = 6 + +[BABYSPUUN] +peggy_denom = inj1n73ty9gxej3xk7c0hhktjdq3ppsekwjnhq98p5 +decimals = 6 + +[BAD] +peggy_denom = ibc/C04478BE3CAA4A14EAF4A47967945E92ED2C39E02146E1577991FC5243E974BB +decimals = 6 + +[BADKID] +peggy_denom = ibc/A0C5AD197FECAF6636F589071338DC7ECD6B0809CD3A5AB131EAAA5395E7E5E8 +decimals = 6 + +[BAG] +peggy_denom = inj13dcqczqyynw08m0tds50e0z2dsynf48g4uafac +decimals = 18 + +[BAJE] +peggy_denom = factory/inj10yymeqd0hydqmaq0gn6k6s8795svjq7gt5tmsf/BAJE +decimals = 6 + +[BALLOON] +peggy_denom = inj17p4x63h8gpfd7f6whmmcah6vq6wzzmejvkpqms +decimals = 18 + +[BAMBOO] +peggy_denom = factory/inj144nw6ny28mlwuvhfnh7sv4fcmuxnpjx4pksr0j/bamboo +decimals = 6 + +[BAND] +peggy_denom = peggy0xBA11D00c5f74255f56a5E366F4F77f5A186d7f55 +decimals = 18 + +[BAPE] +peggy_denom = factory/inj16mnhqpzuj4s4ermuh76uffaq3r6rf8dw5v9rm3/BAPE +decimals = 6 + +[BAR] +peggy_denom = factory/inj1j4qcyfayj64nyzl4lhlacuz62zak5uz5ngc576/BAR +decimals = 6 + +[BARCA] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/barcelona +decimals = 6 + +[BARRY] +peggy_denom = inj1ykpcvay9rty363wtxr9749qgnnj3rlp94r302y +decimals = 18 + +[BASE] +peggy_denom = factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/BASE +decimals = 6 + +[BASTARD] +peggy_denom = factory/inj16g5w38hqehsmye9yavag0g0tw7u8pjuzep0sys/BASTARD +decimals = 6 + +[BAT] +peggy_denom = peggy0x0D8775F648430679A709E98d2b0Cb6250d2887EF +decimals = 18 + +[BATMAN] +peggy_denom = inj158jjagrr499yfc6t5kd9c989tx6f7ukrulj280 +decimals = 6 + +[BAYC] +peggy_denom = bayc +decimals = 18 + +[BCA] +peggy_denom = factory/inj12ygx3scssu2d9rymtppaf6nks8qg08z9w3tml9/BCA +decimals = 6 + +[BCAT] +peggy_denom = factory/inj12ygx3scssu2d9rymtppaf6nks8qg08z9w3tml9/BCAT +decimals = 6 + +[BCC] +peggy_denom = factory/inj1hr4rj6k72emjh9u7l6zg58c0n0daezz68060aq/BCC +decimals = 6 + +[BCUBE] +peggy_denom = peggy0x93C9175E26F57d2888c7Df8B470C9eeA5C0b0A93 +decimals = 18 + +[BEANS] +peggy_denom = inj1j7e95jmqaqgazje8kvuzp6kh2j2pr6n6ffvuq5 +decimals = 8 + +[BEAR] +peggy_denom = factory/inj1jhwwydrfxe33r7ayy7nnrvped84njx97mma56r/BEAR +decimals = 6 + +[BEAST] +peggy_denom = peggy0xA4426666addBE8c4985377d36683D17FB40c31Be +decimals = 6 + +[BECKHAM] +peggy_denom = factory/inj1nhswhqrgfu3hpauvyeycz7pfealx4ack2c5hfp/beckham +decimals = 6 + +[BEEN] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/been +decimals = 6 + +[BELL] +peggy_denom = factory/inj1ht2x2pyj42y4y48tj9n5029w8j9f4sxu0zkwq4/BELL +decimals = 6 + +[BENANCE] +peggy_denom = inj1292223n3vfhrxndvlzsvrrlkkyt7jyeydf77h0 +decimals = 6 + +[BENJAMIN] +peggy_denom = inj1cr970pgvudvgfva60jtxnztgsu5ngm7e80e7vd +decimals = 18 + +[BERB] +peggy_denom = inj1rlyw9tl7e5u9haunh39mh87clvmww5p39dd9kv +decimals = 18 + +[BERLIN] +peggy_denom = inj1atu2677agwrskzxj4a5dn8lq43nhmeyjz5tsfq +decimals = 18 + +[BERNESE] +peggy_denom = ibc/28E915262E40A4CA526D5BFB0BAF67A1C024F8318B779C3379147A6C26D11EA8 +decimals = 6 + +[BICHO] +peggy_denom = inj1hd42hz95w6w3rt5pkeuj783a5mtx8hx28p2eg9 +decimals = 18 + +[BIDEN] +peggy_denom = inj1d2ymlnpvqny9x2qfqykzp8geq3gmg9qrm3qwhe +decimals = 6 + +[BIGSHROOM] +peggy_denom = inj1kld2dd6xa5rs98v7afv3l57m6s30hyj8dcuhh4 +decimals = 6 + +[BIN] +peggy_denom = factory/inj1ax459aj3gkph6z0sxaddk6htzlshqlp5mfwqvx/catinbin +decimals = 6 + +[BINJ] +peggy_denom = factory/inj10q36ygr0pkz7ezajcnjd2f0tat5n737yg6g6d5/bINJ +decimals = 18 + +[BINJANS] +peggy_denom = factory/inj1aj47a2vflavw92yyhn7rpa32f0dazf5cfj59v8/binjans +decimals = 6 + +[BINJE] +peggy_denom = inj10dysh3p4q8nh5zzhsq5j84de5pq6dxahnplt2f +decimals = 6 + +[BIRB] +peggy_denom = inj136zssf58vsk9uge7ulgpw9umerzcuu0kxdu5dj +decimals = 6 + +[BITCOIN] +peggy_denom = factory/inj1aj4yhftluexp75mlfmsm7sfjemrtt3rjkg3q3h/BITCOIN +decimals = 6 + +[BITS] +peggy_denom = factory/inj10gcvfpnn4932kzk56h5kp77mrfdqas8z63qr7n/bits +decimals = 6 + +[BITZ] +peggy_denom = ibc/01A69EE21F6A76CAA8D0DB900AF2789BF665B5B67D89A7D69E7ECF7F513CD0CA +decimals = 6 + +[BJNO] +peggy_denom = inj1jlugmrq0h5l5ndndcq0gyav3flwmulsmdsfh58 +decimals = 18 + +[BLACK] +peggy_denom = factory/inj16eckaf75gcu9uxdglyvmh63k9t0l7chd0qmu85/black +decimals = 6 + +[BLACK PANTHER] +peggy_denom = inj12tkaz9e540zszf5vtlxc0aksywu9rejnwxmv3n +decimals = 18 + +[BLACKHOLE PROTOCOL] +peggy_denom = peggy0xd714d91A169127e11D8FAb3665d72E8b7ef9Dbe2 +decimals = 18 + +[BLD] +peggy_denom = ibc/B7933C59879BFE059942C6F76CAF4B1609D441AD22D54D42DAC00CE7918CAF1F +decimals = 6 + +[BLEND] +peggy_denom = ibc/45C0FE8ACE1C9C8BA38D3D6FDEBDE4F7198A434B6C63ADCEFC3D32D12443BB84 +decimals = 6 + +[BLISS] +peggy_denom = factory/inj15tz959pa5mlghhku2vm5sq45jpp4s0yf23mk6d/BLISS +decimals = 6 + +[BLOCKTOWER] +peggy_denom = inj1cnldf982xlmk5rzxgylvax6vmrlxjlvw7ss5mt +decimals = 8 + +[BLUE] +peggy_denom = factory/inj130nkx4u8p5sa2jl4apqlnnjlej2ymfq0e398w9/BLUE +decimals = 6 + +[BLUE CUB DAO] +peggy_denom = ibc/B692197280D4E62F8D9F8E5C0B697DC4C2C680ED6DE8FFF0368E0552C9215607 +decimals = 6 + +[BLUEINJ] +peggy_denom = inj1aalqnnh24ddn3vd9plnevwnxd03x7sevm77lps +decimals = 8 + +[BLUEINJECTIVE] +peggy_denom = inj1zkm3r90ard692tvrjrhu7vtkzlqpkjkdwwc57s +decimals = 8 + +[BMO] +peggy_denom = inj17fawlptgvptqwwtgxmz0prexrz2nel6zqdn2gd +decimals = 8 + +[BMOS] +peggy_denom = ibc/D9353C3B1407A7F7FE0A5CCB7D06249B57337888C95C6648AEAF2C83F4F3074E +decimals = 6 + +[BMSCWA] +peggy_denom = factory/inj1v888gdj5k9pykjca7kp7jdy6cdalfj667yws54/BabyMiloSillyCoqWifAnalos +decimals = 6 + +[BMW] +peggy_denom = inj1fzqfk93lrmn7pgmnssgqwrlmddnq7w5h3e47pc +decimals = 6 + +[BMX] +peggy_denom = inj12u37kzv3ax6ccja5felud8rtcp68gl69hjun4v +decimals = 18 + +[BNB] +peggy_denom = peggy0xB8c77482e45F1F44dE1745F52C74426C631bDD52 +decimals = 18 + +[BNINJA] +peggy_denom = factory/inj1k7tuhcp7shy4qwkwrg6ckjteucg44qfm79rkmx/BNINJA +decimals = 6 + +[BOB] +peggy_denom = inj1cwaw3cl4wscxadtmydjmwuelqw95w5rukmk47n +decimals = 18 + +[BOBURU] +peggy_denom = factory/inj1qw7egul6sr0yjpxfqq5qars2qvxucgp2sartet/boburu +decimals = 6 + +[BODED] +peggy_denom = inj10xtrreumk28cucrtgse232s3gw2yxcclh0wswd +decimals = 6 + +[BODEN] +peggy_denom = boden +decimals = 9 + +[BOME] +peggy_denom = factory/inj1ne284hkg3yltn7aq250lghkqqrywmk2sk9x2yu/BOME +decimals = 6 + +[BONE] +peggy_denom = inj1kpp05gff8xgs0m9k7s2w66vvn53n77t9t6maqr +decimals = 6 + +[BONJA] +peggy_denom = factory/inj18v0e5dj2s726em58sg69sgmrnqmd08q5apgklm/bj +decimals = 6 + +[BONJO] +peggy_denom = factory/inj1r35twz3smeeycsn4ugnd3w0l5h2lxe44ptuu4w/BONJO +decimals = 6 + +[BONK] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14rry9q6dym3dgcwzq79yay0e9azdz55jr465ch +decimals = 5 + +[BONKINJ] +peggy_denom = inj173f5j4xtmah4kpppxgh8p6armad5cg5e6ay5qh +decimals = 6 + +[BONKJA] +peggy_denom = factory/inj1gc8fjmp9y8kfsy3s6yzucg9q0azcz60tm9hldp/bonkja +decimals = 6 + +[BONSAI] +peggy_denom = factory/inj13jx69l98q0skvwy3n503e0zcrh3wz9dcqxpwxy/bonsai +decimals = 6 + +[BONUS] +peggy_denom = ibc/DCF43489B9438BB7E462F1A1AD38C7898DF7F49649F9CC8FEBFC533A1192F3EF +decimals = 8 + +[BOOM] +peggy_denom = inj1xuu84fqdq45wdqj38xt8fhxsazt88d7xumhzrn +decimals = 18 + +[BOOSH] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/boosh +decimals = 6 + +[BOY] +peggy_denom = ibc/84DA08CF29CD08373ABB0E36F4E6E8DC2908EA9A8E529349EBDC08520527EFC2 +decimals = 6 + +[BOYS] +peggy_denom = factory/inj1q4z7jjxdk7whwmkt39x7krc49xaqapuswhjhkn/boys +decimals = 6 + +[BOZO] +peggy_denom = inj1mf5dj5jscuw3z0eykkfccy2rfz7tvugvw2rkly +decimals = 18 + +[BPEPE] +peggy_denom = inj1pel9sz78wy4kphn2k7uwv5f6txuyvtrxn9j6c3 +decimals = 8 + +[BRETT] +peggy_denom = factory/inj13jjdsa953w03dvecsr43dj5r6a2vzt7n0spncv/brett +decimals = 6 + +[BRNZ] +peggy_denom = ibc/713B768D6B89E4DEEFDBE75390CA2DC234FAB6A016D3FD8D324E08A66BF5070F +decimals = 0 + +[BRO] +peggy_denom = factory/inj1cd4q88qplpve64hzftut2cameknk2rnt45kkq5/BRO +decimals = 6 + +[BRRR] +peggy_denom = inj16veue9c0sz0mp7dnf5znsakqwt7cnjpwz3auau +decimals = 18 + +[BRUCELEE] +peggy_denom = inj1dtww84csxcq2pwkvaanlfk09cer93xzc9kwnzf +decimals = 6 + +[BRZ] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14jesa4q248mfxztfc9zgpswkpa4wx249mya9kk +decimals = 4 + +[BSKT] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj193340xxv49hkug7r65xzc0l40tze44pee4fj94 +decimals = 5 + +[BTC] +peggy_denom = btc +decimals = 8 + +[BTCETF] +peggy_denom = inj1gzmkap8g09h70keaph9utxy9ahjvuuhk5tzpw9 +decimals = 18 + +[BUFFON] +peggy_denom = inj16m2tnugwtrdec80fxvuaxgchqcdpzhf2lrftck +decimals = 18 + +[BUGS] +peggy_denom = factory/inj1zzc2wt4xzy9yhxz7y8mzcn3s6zwvajyutgay3c/BUGS +decimals = 6 + +[BUILD] +peggy_denom = inj1z9utpqxm586476kzpk7nn2ukhnydmu8vchhqlu +decimals = 18 + +[BUL] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/bul +decimals = 6 + +[BULL] +peggy_denom = factory/inj1uv64p5ky9c298dlswy5krq4xcn78qearqaqqc9/BULL +decimals = 6 + +[BULLS] +peggy_denom = factory/inj1zq37mfquqgud2uqemqdkyv36gdstkxl27pj5e3/bulls +decimals = 6 + +[BURGE] +peggy_denom = inj1xcmamawydqlnqde7ah3xq7gzye9acwkmc5k5ne +decimals = 18 + +[BUS] +peggy_denom = inj1me9svqmf539hfzrfhw2emm2s579kv73w77u8yz +decimals = 18 + +[BUSD] +peggy_denom = peggy0x4Fabb145d64652a948d72533023f6E7A623C7C53 +decimals = 18 + +[BUSD (BEP-20)] +peggy_denom = ibc/A8F9B4EC630F52C13D715E373A0E7B57B3F8D870B4168DADE0357398712ECC0E +decimals = 18 + +[BWH] +peggy_denom = ibc/9A31315BECC84265BCF32A31E4EB75C3B59ADCF8CCAE3C6EF8D0DF1C4EF829EB +decimals = 6 + +[BYE] +peggy_denom = inj1zfaug0dfg7zmd888thjx2hwuas0vl2ly4euk3r +decimals = 18 + +[Baby Corgi] +peggy_denom = ibc/9AC0F8299A5157831C7DF1AE52F178EFBA8D5E1826D4DD539441E3827FFCB873 +decimals = 6 + +[Baby DOJO Token] +peggy_denom = inj19dtllzcquads0hu3ykda9m58llupksqwekkfnw +decimals = 6 + +[Baby Dog Wif Nunchucks] +peggy_denom = inj1nddcunwpg4cwyl725lvkh9an3s5cradaajuwup +decimals = 8 + +[Baby Ninja] +peggy_denom = factory/inj1h3y27yhly6a87d95937jztc3tupl3nt8fg3lcp/BABYNINJA +decimals = 6 + +[Baby Nonja] +peggy_denom = inj1pchqd64c7uzsgujux6n87djwpf363x8a6jfsay +decimals = 18 + +[BabyBonk] +peggy_denom = inj1kaad0grcw49zql08j4xhxrh8m503qu58wspgdn +decimals = 18 + +[BabyInjective] +peggy_denom = inj1dvflqrkkaxped5cmks92q6vmtzx75cge9gvvap +decimals = 8 + +[Babykira] +peggy_denom = factory/inj15jeczm4mqwtc9lk4c0cyynndud32mqd4m9xnmu/$babykira +decimals = 6 + +[Babyroll] +peggy_denom = inj1qd60tuupdtq2ypts6jleq60kw53d06f3gc76j5 +decimals = 18 + +[Baguette] +peggy_denom = inj15a3yppu5h3zktk2hkq8f3ywhfpqqrwft8awyq0 +decimals = 18 + +[Bamboo] +peggy_denom = factory/inj144nw6ny28mlwuvhfnh7sv4fcmuxnpjx4pksr0j/boo +decimals = 6 + +[Base axlETH] +peggy_denom = ibc/FD8134B9853AABCA2B22A942B2BFC5AD59ED84F7E6DFAC4A7D5326E98DA946FB +decimals = 18 + +[Basket] +peggy_denom = inj193340xxv49hkug7r65xzc0l40tze44pee4fj94 +decimals = 5 + +[Benance] +peggy_denom = inj1gn8ss00s3htff0gv6flycgdqhc9xdsmvdpzktd +decimals = 8 + +[BetaDojo] +peggy_denom = inj1p6cj0r9ne63xhu4yr2vhntkzcfvt8gaxt2a5mw +decimals = 6 + +[Binance Coin] +peggy_denom = ibc/AAED29A220506DF2EF39E43B2EE35717636502267FF6E0343B943D70E2DA59EB +decimals = 18 + +[Binance USD] +peggy_denom = ibc/A62F794AAEC56B6828541224D91DA3E21423AB0DC4D21ECB05E4588A07BD934C +decimals = 18 + +[Binu] +peggy_denom = inj1myh9um5cmpghrfnh620cnauxd8sfh4tv2mcznl +decimals = 18 + +[Bird INJ] +peggy_denom = factory/inj125hcdvz9dnhdqal2u8ctr7l0hd8xy9wdgzt8ld/binj +decimals = 6 + +[BitSong] +peggy_denom = peggy0x05079687D35b93538cbd59fe5596380cae9054A9 +decimals = 18 + +[Bitcoin] +peggy_denom = inj1ce249uga9znmc3qk2jzr67v6qxq73pudfxhwqx +decimals = 8 + +[Bitcosmos] +peggy_denom = ibc/E440667C70A0C9A5AD5A8D709731289AFB92301D64D70D0B33D18EF4FDD797FE +decimals = 6 + +[Black] +peggy_denom = inj1nuwasf0jsj3chnvzfddh06ft2fev3f5g447u2f +decimals = 18 + +[BlueInjective] +peggy_denom = inj17qsyspyh44wjch355pr72wzfv9czt5cw3h7vrr +decimals = 8 + +[Bnana] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/banana +decimals = 18 + +[Bonded Crescent] +peggy_denom = ibc/D9E839DE6F40C036592B6CEDB73841EE9A18987BC099DD112762A46AFE72159B +decimals = 6 + +[Bonjo] +peggy_denom = inj19w5lfwk6k9q2d8kxnwsu4962ljnay85f9sgwn6 +decimals = 18 + +[Bonk] +peggy_denom = ibc/C951FBB321708183F5A14811A3D099B3D73457D12E193E2B8429BDDCC6810D5A +decimals = 5 + +[Bonk Injective] +peggy_denom = factory/inj15705jepx03fxl3sntfhdznjnl0mlqwtdvyt32d/bonk +decimals = 18 + +[Bonk on INJ] +peggy_denom = factory/inj147laec3n2gq8gadzg8xthr7653r76jzhavemhh/BONK decimals = 6 -[AGIX] -peggy_denom = inj163fdg2e00gfdx9mjvarlgljuzt4guvx8ghhwml +[BonkToken] +peggy_denom = inj1jzxkr7lzzljdsyq8483jnduvpwtq7ny5x4ch08 decimals = 8 -[AI] -peggy_denom = inj1sw0zn2vfy6wnfg0rht7r80tq3jq4ukjafjud7x +[Boomer] +peggy_denom = inj1ethjlrk28wqklz48ejtqja9yfft8t4mm92m2ga +decimals = 18 + +[Brazilian Digital Token] +peggy_denom = inj14jesa4q248mfxztfc9zgpswkpa4wx249mya9kk +decimals = 4 + +[Brett] +peggy_denom = inj1zhce7csk22mpwrfk855qhw4u5926u0mjyw4df6 +decimals = 18 + +[Bull] +peggy_denom = inj1j82m0njz2gm0eea0ujmyjdlq2gzvwkvqapxeuw decimals = 8 -[AININJA] -peggy_denom = inj1vun8dfgm6rr9xv40p4tpmd8lcc9cvt3384dv7w +[CAC] +peggy_denom = ibc/97D9F67F798DBB31DAFA9CF4E791E69399E0FC3FC2F2A54066EE666052E23EF6 decimals = 6 -[AINJ] -peggy_denom = inj10k45sksxulzp7avvmt2fud25cmywk6u75pwgd2 -decimals = 8 +[CACTUS] +peggy_denom = inj16ch9sx5c6fa6lnndh7vunrjsf60h67hz988hdg +decimals = 18 -[AJNIN] -peggy_denom = inj1msvvtt2e6rshp0fyqlp7gzceffzgymvwjucwyh +[CAD] +peggy_denom = cad +decimals = 6 + +[CAL] +peggy_denom = inj1a9pvrzmymj7rvdw0cf5ut9hkjsvtg4v8cqae24 decimals = 18 -[AK47] -peggy_denom = factory/inj1y207pve646dtac77v7qehw85heuy92c03t7t07/ak47 +[CANTO] +peggy_denom = ibc/D91A2C4EE7CD86BBAFCE0FA44A60DDD9AFBB7EEB5B2D46C0984DEBCC6FEDFAE8 +decimals = 18 + +[CAPY] +peggy_denom = factory/inj1krswly444gyuunnmchg4uz2ekqvu02k7903skh/capybara decimals = 6 -[AKITA] -peggy_denom = factory/inj1z0yv9ljw68eh4pec2r790jw8yal4dt5wnu4wuk/akita +[CARTEL] +peggy_denom = factory/inj12tl0d8a739t8pun23mzldhan26ndqllyt6d67p/cartel decimals = 6 -[ALASKA] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1wndunmgj56h5cssn96hhdh49ssclc24rfl9vr4 +[CASINO] +peggy_denom = inj12zqf6p9me86493yzpr9v3kmunvjzv24fg736yd decimals = 18 -[ALCHECN] -peggy_denom = inj1fxmws9tyrfs7ewgkh0ktae3f5pqffd4uudygze -decimals = 6 +[CASSIO] +peggy_denom = inj179m94j3vkvpzurq2zpn0q9uxdfuc4nq0p76h6w +decimals = 8 -[ALE] -peggy_denom = inj1yq0394aplhz94nrthglzsx2c29e8spyrq6u8ah +[CAT] +peggy_denom = inj129hsu2espaf4xn8d2snqyaxrhf0jgl4tzh2weq decimals = 18 -[ALEM] -peggy_denom = ibc/FE5CF6EA14A5A5EF61AFBD8294E7B245DF4523F6F3B38DE8CC65A916BCEA00B4 +[CATCOIN] +peggy_denom = inj1rwhc09dv2c9kg6d63t3qp679jws04p8van3yu8 +decimals = 8 + +[CATINJ] +peggy_denom = factory/inj1cm5lg3z9l3gftt0c09trnllmayxpwt8825zxw3/catinj decimals = 6 -[ALFAROMEO] -peggy_denom = inj1jvtzkr6cwd4dzeqq4q74g2qj3gp2gvmuar5c0t +[CATNIP] +peggy_denom = factory/inj1rnlhp35xqtl0zwlp9tnrelykea9f52nd8av7ec/CATNIPPY decimals = 6 -[ALIEN] -peggy_denom = factory/inj175fuhj3rlyttt255fsc6fwyteealzt67szpvan/ALIEN +[CBG] +peggy_denom = inj19k6fxafkf8q595lvwrh3ejf9fuz9m0jusncmm6 +decimals = 18 + +[CDT] +peggy_denom = ibc/25288BA0C7D146D37373657ECA719B9AADD49DA9E514B4172D08F7C88D56C9EF decimals = 6 -[ALIENWARE] -peggy_denom = inj128hmvp03navfcad7fjdsdnjdaxsp8q8z9av3th +[CEL] +peggy_denom = peggy0xaaAEBE6Fe48E54f431b0C390CfaF0b017d09D42d +decimals = 4 + +[CELL] +peggy_denom = peggy0x26c8AFBBFE1EBaca03C2bB082E69D0476Bffe099 +decimals = 18 + +[CENTER] +peggy_denom = inj1khd6f66tp8dd4f58dzsxa5uu7sy3phamkv2yr8 +decimals = 8 + +[CERBERUS] +peggy_denom = inj1932un3uh05nxy4ej50cfc3se096jd6w3jvl69g decimals = 6 -[ALIGATOR] -peggy_denom = inj1t6uqhmlgpju7265aelawdkvn3xqnq3jv8j60l7 +[CET] +peggy_denom = factory/inj1hst0759zk7c29rktahm0atx7tql5x65jnsc966/CET decimals = 6 -[ALPHA] -peggy_denom = peggy0x138C2F1123cF3f82E4596d097c118eAc6684940B +[CGLP] +peggy_denom = ibc/6A3840A623A809BC76B075D7206302622180D9FA8AEA59067025812B1BC6A1CC decimals = 18 -[ALPHANET] -peggy_denom = inj135fkkvwr9neffh40pgg24as5mwwuuku33n8zzw +[CHAD] +peggy_denom = factory/inj13f6c0hc3l80qa7w80j992wtscslkg8pm65rxua/CHAD +decimals = 6 + +[CHAININJ] +peggy_denom = inj143rjlwt7r28wn89r39wr76umle8spx47z0c05d decimals = 8 -[AMM] -peggy_denom = factory/inj12yazr8lq5ptlz2qj9y36v8zwmz90gy9gh35026/AMM +[CHAKRA] +peggy_denom = factory/inj13zsd797dnkgpxcrf3zxxjzykzcz55tw7kk5x3y/CHAKRA decimals = 6 -[AMOGUS] -peggy_denom = factory/inj1a47ddtzh8le8ukznc9v3dvqs5w5anwjjvy8lqj/amogus -decimals = 6 +[CHAMP] +peggy_denom = inj1gnde7drvw03ahz84aah0qhkum4vf4vz6mv0us7 +decimals = 8 -[ANALOS] -peggy_denom = inj1zr4fs5xkkf4h99sdalaxyglr3txjuewtyzjvg5 +[CHAMPION] +peggy_denom = inj1rh94naxf7y20qxct44mrlawyhs79d06zmprv70 decimals = 8 -[ANBU] -peggy_denom = factory/inj1aqnupu0z86nyttmpejmgu57vx22wmuz9fdg7ps/ANBU +[CHARM] +peggy_denom = inj1c2e37gwl2q7kvuxyfk5c0qs89rquzmes0nsgjf +decimals = 8 + +[CHEEMS] +peggy_denom = factory/inj1hrjm0jwfey8e4x3ef3pyeq4mpjvc8356lkgh9f/CHEEMS decimals = 6 -[ANDR] -peggy_denom = ibc/61FA42C3F0B0F8768ED2CE380EDD3BE0E4CB7E67688F81F70DE9ECF5F8684E1E +[CHEESE] +peggy_denom = inj1p6v3qxttvh36x7gxpwl9ltnmc6a7cgselpd7ya +decimals = 18 + +[CHELE] +peggy_denom = factory/inj16fsle0ywczyf8h4xfpwntg3mnv7cukd48nnjjp/CHELE decimals = 6 -[ANDRE] -peggy_denom = inj1qtqd73kkp9jdm7tzv3vrjn9038e6lsk929fel8 -decimals = 8 +[CHEN] +peggy_denom = factory/inj196t4n8dg3pzkk5wh7ytjwtl6e3a56u9fj705wr/CHEN +decimals = 6 -[ANDY] -peggy_denom = factory/inj1c0f9ze9wh2xket0zs6wy59v66alwratsdx648k/andy +[CHI] +peggy_denom = inj198rrzmcv69xay8xuhalqz2z02egmsyzp08mvkk +decimals = 18 + +[CHICKEN] +peggy_denom = factory/inj1gqeyl6704zr62sk2lsprt54gcwc6y724xvlgq2/CHICKEN decimals = 6 -[ANIME] -peggy_denom = inj1mas82tve60sh3tkh879chgjkeaggxpeydwkl2n +[CHIKU] +peggy_denom = factory/inj1g8s4usdsy7gujf96qma3p8r2a7m02juzfm4neh/CHIKU +decimals = 6 + +[CHINMOY] +peggy_denom = inj1t52r8h56j9ctycqhlkdswhjjn42s6dnc6huwzs decimals = 18 -[ANK] -peggy_denom = inj16lxeq4xcdefptg39p9x78z5hkn0849z9z7xkyt +[CHOCOLATE] +peggy_denom = inj1slny6cqjkag3hgkygpq5nze6newysqpsfy0dxj +decimals = 6 + +[CHONK] +peggy_denom = inj17aze0egvc8hrmgf25kkhlw3720vurz99pdp58q decimals = 18 -[ANONS] -peggy_denom = factory/inj1e05u43qmn9jt502784c009u4elz5l86678esrk/ANONS +[CHOWCHOW] +peggy_denom = inj1syqdgn79wnnlzxd63g2h00rzx90k6s2pltec6w decimals = 6 -[AOT] -peggy_denom = factory/inj1yjeq7tz86a8su0asaxckpa3a9rslfp97vpq3zq/AOT +[CHROME] +peggy_denom = inj1k20q72a4hxt0g20sx3rcnjvhfye6u3k6dhx6nc decimals = 6 -[APC] -peggy_denom = inj150382m6ah6lg3znprdrsggx38xl47fs4rmzy3m +[CHROMIUM] +peggy_denom = inj1plmyzu0l2jku2yw0hnh8x6lw4z5r2rggu6uu05 +decimals = 8 + +[CHUN] +peggy_denom = factory/inj19tjhqehpyq4n05hjlqyd7c5suywf3hcuvetpcr/CHUN +decimals = 9 + +[CHUNGUS] +peggy_denom = factory/inj1khr6lahyjz0wgnwzuu4dk5wz24mjrudz6vgd0z/bigchungus +decimals = 6 + +[CHZ] +peggy_denom = peggy0x3506424F91fD33084466F402d5D97f05F8e3b4AF decimals = 18 -[APE] -peggy_denom = factory/inj1qx7qnj9wwdrxc9e239ycshqnqgapdh7s44vez7/APE +[CHZlegacy] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q6kpxy6ar5lkxqudjvryarrrttmakwsvzkvcyh +decimals = 8 + +[CINU] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14pq4ewrxju997x0y7g2ug6cn3lqyp66ygz5x6s +decimals = 8 + +[CIRCUS] +peggy_denom = ibc/AEE5A4EF1B28693C4FF12F046C17197E509030B18F70FE3D74F6C3542BB008AD decimals = 6 -[APEINJ] -peggy_denom = factory/inj1pn6cg7jt5nvmh2rpjxhg95nrcjz0rujv54wkdg/apeinj +[CITY] +peggy_denom = factory/inj1jpddz58n2ugstuhp238qwwvdf3shxsxy5g6jkn/CITY decimals = 6 -[APOLLO] -peggy_denom = ibc/1D10FF873E3C5EC7263A7658CB116F9535EC0794185A8153F2DD662E0FA08CE5 +[CJN] +peggy_denom = inj1eln607626f3j058rfh4xd3m4pd728x2cnxw4al +decimals = 18 + +[CLEO] +peggy_denom = inj1fr66v0vrkh55yg6xfw845q78kd0cnxmu0d5pnq +decimals = 18 + +[CLEVER] +peggy_denom = inj1f6h8cvfsyz450kkcqmy53w0y4qnpj9eylsazww +decimals = 18 + +[CLON] +peggy_denom = ibc/695B1D16DE4D0FD293E6B79451640974080B59AA60942974C1CC906568DED795 decimals = 6 -[APP] -peggy_denom = peggy0xC5d27F27F08D1FD1E3EbBAa50b3442e6c0D50439 +[CNJ] +peggy_denom = inj1w38vdrkemf8s40m5xpqe5fc8hnvwq3d794vc4a decimals = 18 -[APPLE] -peggy_denom = factory/inj12yazr8lq5ptlz2qj9y36v8zwmz90gy9gh35026/APPLE +[COCA] +peggy_denom = ibc/8C82A729E6D74B03797962FE5E1385D87B1DFD3E0B58CF99E0D5948F30A55093 decimals = 6 -[APSO] -peggy_denom = inj1sqsthjm8fpqc7seaa6lj08k7ja43jsd70rgy09 +[COCK] +peggy_denom = factory/inj1eucxlpy6c387g5wrn4ee7ppshdzg3rh4t50ahf/COCK decimals = 6 -[APT] -peggy_denom = inj1mrltq7kh35xjkdzvul9ky077khsa5qatc0ylxj +[COCKPIT] +peggy_denom = factory/inj15u2mc2vyh2my4qcuj5wtv27an6lhjrnnydr926/COCKPIT +decimals = 9 + +[COFFEE] +peggy_denom = inj166gumme9j7alwh64uepatjk4sw3axq84ra6u5j decimals = 6 -[AQLA] -peggy_denom = ibc/46B490B10E114ED9CE18FA1C92394F78CAA8A907EC72D66FF881E3B5EDC5E327 +[COFFEIN] +peggy_denom = inj18me8d9xxm340zcgk5eu8ljdantsk8ktxrvkup8 +decimals = 18 + +[COKE] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14eaxewvy7a3fk948c3g3qham98mcqpm8v5y0dp decimals = 6 -[ARB] -peggy_denom = ibc/F28C5C931D2673B7A2F06FC74934F7BDC0D2906D2AF40D582ED27D1E5C48D475 +[COMP] +peggy_denom = peggy0xc00e94Cb662C3520282E6f5717214004A7f26888 decimals = 18 -[ARBlegacy] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d5vz0uzwlpfvgwrwulxg6syy82axa58y4fuszd +[CONK] +peggy_denom = inj18vcz02pukdr2kak6g2p34krgdddan2vlpzmqju decimals = 8 -[ARCH] -peggy_denom = ibc/9C6E75FE14DF8959B7CC6E77398DF825B9815C753BB49D2860E303EA2FD803DD +[CONK2.0] +peggy_denom = inj1zuz0rpg224mrpz2lu6npta34yc48sl7e5sndly +decimals = 8 + +[CONT] +peggy_denom = inj1vzpegrrn6zthj9ka93l9xk3judfx23sn0zl444 decimals = 18 -[ARCHER] -peggy_denom = inj1ype9ps9ep2qukhuuyf4s2emr7qnexkcfa09p34 +[COOK] +peggy_denom = factory/inj1pqpmffc7cdfx7tv9p2347ghgxdaell2xjzxmy6/COOK decimals = 6 -[ARIZO] -peggy_denom = inj1mdgw6dnw7hda2lancr0zgy6retrd2s5m253qud +[COOKIG] +peggy_denom = factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/COOKIG decimals = 6 -[ARKI] -peggy_denom = inj1zhnaq7aunhzp0q6g5nrac9dxe5dg0ws0sqzftv -decimals = 18 - -[ARMANI] -peggy_denom = ibc/0C04597A68991F93CE8C9EF88EA795179CD020695041D00911E5CFF023D415CC +[COOL] +peggy_denom = factory/inj1rdu7lqpvq4h2fyrjdfnp9gycdkut5ewql3e4uq/coolcat decimals = 6 -[ARTEMIS] -peggy_denom = inj1yt49wv3up03hnlsfd7yh6dqfdxwxayrk6as6al -decimals = 8 +[COPE] +peggy_denom = inj1lchcdq3rqc2kaupt6fwshd7fyj7p0mpkeknkyw +decimals = 18 -[ARTINJ] -peggy_denom = inj1qgj0lnaq9rxcstjaevvd4q43uy4dk77e6mrza9 -decimals = 6 +[COQ] +peggy_denom = inj1lefh6m9ldqm55ume0j52fhhw6tzmx9pezkqhzp +decimals = 18 -[ARVI] -peggy_denom = inj16ff6zvsaay89w7e5ukvz83f6f9my98s20z5ea3 +[CORE] +peggy_denom = inj1363eddx0m5mlyeg9z9qjyvfyutrekre47kmq34 decimals = 18 -[ARYAN] -peggy_denom = inj16z7ja300985vuvkt975zyvtccu80xmzcfr4upt +[CORGI] +peggy_denom = inj129t9ywsya0tyma00xy3de7q2wnah7hrw7v9gvk decimals = 18 -[ASG] -peggy_denom = ibc/2D40732D27E22D27A2AB79F077F487F27B6F13DB6293040097A71A52FB8AD021 -decimals = 8 +[CORONA] +peggy_denom = inj1md4ejkx70463q3suv68t96kjg8vctnpf3ze2uz +decimals = 18 -[ASH] -peggy_denom = ibc/EED40547772504DF629EFEC08892E689CD14498B1C0AD766CD5075BBBEE3D808 +[COSMO] +peggy_denom = factory/inj1je6n5sr4qtx2lhpldfxndntmgls9hf38ncmcez/COSMO decimals = 6 -[ASI] -peggy_denom = inj1wgd5c8l27w8sac4tdfcxl2zyu5cfurtuxdvfx9 -decimals = 18 +[COSMWASM] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1yl8z48uwve5wk0j9elxql8c327wy87anccf4ex +decimals = 8 -[ASS] -peggy_denom = inj1fj7z77awl6srtmcuux3xgq995uempgx5hethh3 +[COST] +peggy_denom = inj1hlwjvef4g4tdsa5erdnzfzd8ufcw403a6558nm decimals = 18 -[ASSYN] -peggy_denom = factory/inj1qzn0ys7rht689z4p6pq99u6kc92jnkqyj02cur/ASSYN +[COVID] +peggy_denom = inj1ce38ehk3cxa7tzcq2rqmgek9hc3gdldvxvtzqy decimals = 6 -[ASTR] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mhmln627samtkuwe459ylq763r4n7n69gxxc9x -decimals = 18 +[COWBOY] +peggy_denom = inj1dp7uy8sa0sevnj65atsdah0sa6wmwtfczwg08d +decimals = 6 -[ASTRO] -peggy_denom = ibc/063F4461F7317CFF10F50AB044E44932D22AAD84FA7107082744946E6DB7B7A8 +[CP] +peggy_denom = factory/inj1300jzt0tyjg8x4txsfs79l29k556vqqk22c7es/cope decimals = 6 -[ASTROBOT] -peggy_denom = inj153k5xjpqx39jm06gcxvjq5sxl8f7j79n72q9pz -decimals = 18 +[CPINJ] +peggy_denom = factory/inj1qczkutnsy3nmt909xtyjy4rsrkl2q4dm6aq960/coping +decimals = 6 -[ASTROGEMS] -peggy_denom = inj1xvlxqaxw0ef0596d96ecfwpta29y2jc9n5w9s9 -decimals = 8 +[CR7] +peggy_denom = factory/inj1v25y8fcxfznd2jkz2eh5cy2520jpvt3felux66/CR7 +decimals = 6 -[ASTROINJ] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sdk8sm96c7hkkax0wzxzhde9z5rpu6cr4ld8dn -decimals = 8 +[CRAB] +peggy_denom = factory/inj1fx2mj8532ynky2xw0k8tr46t5z8u7cjvpr57tq/crabfu +decimals = 6 -[ASTROLAND] -peggy_denom = inj16q7u3mzp3qmm6vf5a9jfzp46rs2dj68cuktzyw -decimals = 8 +[CRAB APPLE] +peggy_denom = inj1ku7f3v7z3dd9hrp898xs7xnwmmwzw32tkevahk +decimals = 18 -[ASTROLOGY] -peggy_denom = inj1u9th8dxhyrkz3tr2h5s6z2yap2s6e6955jk4yf +[CRASH] +peggy_denom = inj1k3rankglvxjxzsaqrfff4h5ttwcjjh3m4l3pa2 decimals = 8 -[ASTROPAD] -peggy_denom = inj1tvcarn0xz9p9rxrgev5a2qjmrtqtnl4xtu5vsu -decimals = 8 +[CRAZYHORSE] +peggy_denom = ibc/7BE6E83B27AC96A280F40229539A1B4486AA789622255283168D237C41577D3B +decimals = 6 -[ASTROPEPE] -peggy_denom = ibc/03BC83F4E4972621EAE3144FC91AED13AF3541A90A51B690425C95D1E03850D9 +[CRBRUS] +peggy_denom = ibc/F8D4A8A44D8EF57F83D49624C4C89EECB1472D6D2D1242818CDABA6BC2479DA9 decimals = 6 -[ASTROSOL] -peggy_denom = inj12vy3zzany7gtl9l9hdkzgvvr597r2ta48tvylj -decimals = 8 +[CRE] +peggy_denom = ibc/3A6DD3358D9F7ADD18CDE79BA10B400511A5DE4AE2C037D7C9639B52ADAF35C6 +decimals = 6 -[ASTROXMAS] -peggy_denom = inj19q50d6sgc3sv2hcvlfalc5kf2fc576v4nga849 -decimals = 8 +[CRINJ] +peggy_denom = factory/inj172d4lzaurwkmlvjfsz345mjmdc0e3ntsnhavf9/CRINJ +decimals = 6 -[ASUKA] -peggy_denom = inj1c64fwq7xexhh58spf2eer85yz3uvv3y659j5dd +[CRITPO] +peggy_denom = factory/inj1safqtpalmkes3hlyr0zfdr0dw4aaxulh306n67/CRITPO +decimals = 7 + +[CRN] +peggy_denom = inj1wcj4224qpghv94j8lzq8c2m9wa4f2slhqcxm9y decimals = 18 -[ASWC] -peggy_denom = factory/inj10emnhmzncp27szh758nc7tvl3ph9wfxgej5u5v/ASWC +[CROCO] +peggy_denom = factory/inj13j4gwlt2867y38z6e40366h38jtpmele209g6t/CROCO decimals = 6 -[ATOM] -peggy_denom = ibc/8D311D92BCD4E87F145DEB9DDA339416DEF7E13571D92A3521CAB0BF62760FBE +[CROCO_NINJA] +peggy_denom = factory/inj1c0tfeukmrw69076w7nffjqhrswp8vm9rr6t3eh/CROCO decimals = 6 -[ATOM-LUNA-LP] -peggy_denom = ibc/0ED853D2B77215F953F65364EF1CA7D8A2BD7B7E3009196BBA18E884FE3D3576 -decimals = 6 +[CRT] +peggy_denom = inj10qt8pyaenyl2waxaznez6v5dfwn05skd4guugw +decimals = 18 -[ATOM1KLFG] -peggy_denom = ibc/2061C894621F0F53F6FEAE9ABD3841F66D27F0D7368CC67864508BDE6D8C4522 -decimals = 6 +[CRYPB] +peggy_denom = inj1p82fws0lzshx2zg2sx5c5f855cf6wht9uudxg0 +decimals = 18 -[AUTISM] -peggy_denom = factory/inj14lf8xm6fcvlggpa7guxzjqwjmtr24gnvf56hvz/autism +[CRseven] +peggy_denom = inj19jp9v5wqz065nhr4uhty9psztlqeg6th0wrp35 decimals = 6 -[AUUU] -peggy_denom = ibc/4CEF2F778CDA8306B6DE18A3A4C4450BEBC84F27FC49F91F3617A37203FE84B2 -decimals = 6 +[CTAX] +peggy_denom = inj1mwj4p98clpf9aldzcxn7g8ffzrwz65uszesdre +decimals = 18 -[AVAX] -peggy_denom = inj18a2u6az6dzw528rptepfg6n49ak6hdzkny4um6 -decimals = 8 +[CTO] +peggy_denom = inj19kk6ywwu5h0rnz4453gyzt3ymgu739egv954tf +decimals = 18 -[AXL] -peggy_denom = ibc/B68C1D2682A8B69E20BB921E34C6A3A2B6D1E13E3E8C0092E373826F546DEE65 +[CUB] +peggy_denom = ibc/5CB35B165F689DD57F836C6C5ED3AB268493AA5A810740446C4F2141664714F4 decimals = 6 -[AXS] -peggy_denom = peggy0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b -decimals = 18 +[CUIT] +peggy_denom = factory/inj1zlmrdu0ntnmgjqvj2a4p0uyrg9jw802ld00x7c/CUIT +decimals = 6 -[AZUKI] -peggy_denom = inj1l5qrquc6kun08asp6dt50zgcxes9ntazyvs9eu -decimals = 8 +[CVR] +peggy_denom = peggy0x3C03b4EC9477809072FF9CC9292C9B25d4A8e6c6 +decimals = 18 -[Aave] -peggy_denom = ibc/49265FCAA6CC20B59652C0B45B2283A260BB19FC183DE95C29CCA8E01F8B004C +[CW20] +peggy_denom = inj1c2mjatph5nru36x2kkls0pwpez8jjs7yd23zrl decimals = 18 -[Alaskan Malamute] -peggy_denom = inj1wndunmgj56h5cssn96hhdh49ssclc24rfl9vr4 +[CW20-wrapped inj] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj12kq4zh7kckuu0rfpxcr9l6l2x26ajf23uc0w55 decimals = 18 -[Alien Token] -peggy_denom = factory/inj169ed97mcnf8ay6rgvskn95n6tyt46uwvy5qgs0/aoi +[CWIFLUCK] +peggy_denom = factory/inj1u2fhfn0g8srf2kt3am52wd9dp4zyjvecm86uhj/CWIFLUCK decimals = 6 -[Alpha Coin] -peggy_denom = inj1zwnsemwrpve3wrrg0njj89w6mt5rmj9ydkc46u -decimals = 8 +[CWL] +peggy_denom = factory/inj1u2fhfn0g8srf2kt3am52wd9dp4zyjvecm86uhj/CWL +decimals = 6 -[Alpha Pro Club] -peggy_denom = inj1q2u8r40uh0ykqrjwszppz6yj2nvst4xvfvks29 -decimals = 8 +[CWT] +peggy_denom = factory/inj1j5hqczk6ee2zsuz7kjt5nshxcjg5g69njxe6ny/inj-cttoken +decimals = 18 -[ApeCoin] -peggy_denom = ibc/8A13F5DA968B4D526E9DC5AE20B584FE62462E80AF06B9D0EA0B0DB35ABBBF27 +[Canto] +peggy_denom = ibc/5C0C70B490A3568D40E81884F200716F96FCE8B0A55CB5EE41C1E369E6086CCA decimals = 18 -[Apots Doge ] -peggy_denom = inj1dgnrks2s53jd5a0qsuhyvryhk4s03f5mxv9khy -decimals = 6 +[Cat] +peggy_denom = inj1eerjxzvwklcgvclj9m2pulqsmpentaes8h347x +decimals = 18 -[April Fool's Day] -peggy_denom = inj1m9vaf9rm6qfjtq4ymupefkxjtv7vake0z4fc35 +[Cat WIF luck] +peggy_denom = inj1mqurena8qgf775t28feqefnp63qme7jyupk4kg +decimals = 18 + +[Cat Wif Luck] +peggy_denom = inj19lwxrsr2ke407xw2fdgs80f3rghg2pueqae3vf decimals = 6 -[Aptos Coin (Wormhole)] -peggy_denom = ibc/D807D81AB6C2983C9DCC2E1268051C4195405A030E1999549C562BCB7E1251A5 +[CatInjective] +peggy_denom = inj1p2w55xu2yt55rydrf8l6k79kt3xmjmmsnn3mse decimals = 8 -[Arbitrum] -peggy_denom = peggy0x912CE59144191C1204E64559FE8253a0e49E6548 +[Chainlink] +peggy_denom = ibc/AC447F1D6EDAF817589C5FECECB6CD3B9E9EFFD33C7E16FE8820009F92A2F585 decimals = 18 -[Arbitrum (legacy)] -peggy_denom = inj1d5vz0uzwlpfvgwrwulxg6syy82axa58y4fuszd +[Chb] +peggy_denom = inj1fvzre25nqkakvwmjr8av5jrfs56dk6c8sc6us9 decimals = 8 -[Arbitrum axlETH] -peggy_denom = ibc/A124994412FAC16975DF2DA42D7AFDB538A1CFCE0E40FB19620BADF6292B0A62 -decimals = 18 +[CheeseBalls] +peggy_denom = inj13mjcjrwwjq7x6fanqvur4atd4sxyjz7t6kfhx0 +decimals = 6 + +[Chiliz (legacy)] +peggy_denom = inj1q6kpxy6ar5lkxqudjvryarrrttmakwsvzkvcyh +decimals = 8 -[Artro] -peggy_denom = factory/inj13r3azv5009e8w3xql5g0tuxug974ps6eed0czz/Artro +[Chonk] +peggy_denom = factory/inj1an9qflgvpvjdhczce6xwrh4afkaap77c72k4yd/Chonk decimals = 6 -[Astar] -peggy_denom = inj1mhmln627samtkuwe459ylq763r4n7n69gxxc9x +[Chonk The Cat] +peggy_denom = inj1ftq3h2y70hrx5rn5a26489drjau9qel58h3gfr decimals = 18 -[Astro-Injective] -peggy_denom = inj1sdk8sm96c7hkkax0wzxzhde9z5rpu6cr4ld8dn -decimals = 8 +[Circle USD] +peggy_denom = ibc/8F3ED95BF70AEC83B3A557A7F764190B8314A93E9B578DE6A8BDF00D13153708 +decimals = 6 -[AstroGems] -peggy_denom = inj122y9wxxmpyu2rj5ju30uwgdvk9sj020z2zt7rv +[CosmWasm] +peggy_denom = inj1yl8z48uwve5wk0j9elxql8c327wy87anccf4ex decimals = 8 -[Astrophile] -peggy_denom = inj1y07h8hugnqnqvrpj9kmjpsva7pj4yjwjjkd0u4 +[Cosmic] +peggy_denom = inj19zcnfvv3qazdhgtpnynm0456zdda5yy8nmsw6t decimals = 18 -[Axelar] -peggy_denom = peggy0x3eacbDC6C382ea22b78aCc158581A55aaF4ef3Cc +[Cosmo] +peggy_denom = factory/osmo1ua9rmqtmlyv49yety86ys8uqx3hawfkyjr0g7t/Cosmo decimals = 6 -[Axie Infinity Shard] -peggy_denom = ibc/EB519ECF709F0DB6BA1359F91BA2DDC5A07FB9869E1768D377EFEF9DF33DC4AB -decimals = 18 - -[BABY] -peggy_denom = factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/GINGERDOG +[Cosmos] +peggy_denom = peggy0x8D983cb9388EaC77af0474fA441C4815500Cb7BB decimals = 6 -[BABY GINGER] -peggy_denom = factory/inj15zruc9fw2qw9sc3pvlup5qmmqsk5pcmck7ylhw/BABYGINGER +[Crinj Token] +peggy_denom = factory/inj1kgyxepqnymx8hy7nydl65w3ecyut566pl70swj/crinj decimals = 6 -[BABY NINJA] -peggy_denom = factory/inj1hs5chngjfhjwc4fsajyr50qfu8tjqsqrj9rf29/baby-ninja -decimals = 6 +[D.a.r.e] +peggy_denom = inj19vy83ne9tzta2yqynj8yg7dq9ghca6yqn9hyej +decimals = 18 -[BABYDEK] -peggy_denom = factory/inj1fdqalekg73v06gvzch0zu74ealp35g3y00shmz/BABYDEK +[DAB] +peggy_denom = factory/inj1n8w9wy72cwmec80qpjsfkgl67zft3j3lklg8fg/DAB decimals = 6 -[BABYDGNZ] -peggy_denom = inj1tyvchyp04yscelq30q6vzngn9wvmjw446sw786 -decimals = 6 +[DAI] +peggy_denom = peggy0x6B175474E89094C44Da98b954EedeAC495271d0F +decimals = 18 -[BABYDOGE] -peggy_denom = inj1nk2x5ll6guwt84aagnw82e7ajmlwde6w2zmpdw +[DANJER] +peggy_denom = factory/inj1xzk83u23djtynmz3a3h9k0q454cuhsn3y9jhr3/DANJER decimals = 6 -[BABYGINGER] -peggy_denom = inj17uyp6dz3uyq40ckkzlgrze2k25zhgvdqa3yh0v +[DAOJO] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/daojo decimals = 6 -[BABYHACHI] -peggy_denom = factory/inj1hjfm3z53dj4ct5nxef5ghn8hul0y53u7ytv8st/babyhachi +[DATOSHI] +peggy_denom = inj1rp63ym52lawyuha4wvn8gy33ccqtpj5pu0n2ef +decimals = 18 + +[DBT] +peggy_denom = factory/inj1xtel2knkt8hmc9dnzpjz6kdmacgcfmlv5f308w/dbt decimals = 6 -[BABYINJ] -peggy_denom = inj1llatk73a2935vky6nzv78w80ff5v3etqadzv76 -decimals = 8 +[DBTT] +peggy_denom = inj1wwga56n4glj9x7cnuweklepl59hp95g9ysg283 +decimals = 18 -[BABYIPEPE] -peggy_denom = factory/inj14u2wghxjswct5uznt40kre5ct7a477m2ma5hsm/babyipepe +[DDD] +peggy_denom = factory/inj12yazr8lq5ptlz2qj9y36v8zwmz90gy9gh35026/ddd decimals = 6 -[BABYKIRA] -peggy_denom = factory/inj15jeczm4mqwtc9lk4c0cyynndud32mqd4m9xnmu/BABYKIRA +[DDL] +peggy_denom = factory/inj1put8lfpkwm47tqcl9fgh8grz987mezvrx4arls/DDL decimals = 6 -[BABYKISHU] -peggy_denom = factory/inj15e7ah9tmmhyd3qafupnwe8uj74nc7gkehkrnuw/babykishu -decimals = 6 +[DDLTest] +peggy_denom = inj10zhn525tfxf5j34dg5uh5js4fr2plr4yydasxd +decimals = 18 -[BABYNINJA] -peggy_denom = inj16exmkvtzkqgxgl44w6793hzjta78f4zpyv8z9p -decimals = 6 +[DEFI5] +peggy_denom = peggy0xfa6de2697D59E88Ed7Fc4dFE5A33daC43565ea41 +decimals = 18 -[BABYPANDA] -peggy_denom = factory/inj19mznavp32fkmwzdyuute4al2lrjzvy6ym9em3h/babypanda -decimals = 6 +[DEFIKINGS] +peggy_denom = inj18h33x5qcr44feutwr2cgazaalcqwtpez57nutx +decimals = 8 -[BABYPEPE] -peggy_denom = factory/inj1un9z8767u2r8snaqqcysnm9skxf36dspqx86sy/babypepe +[DEGGZ] +peggy_denom = factory/inj1k0ked7w3t3etzun47m00xmx9vr4zglznnsp3y9/DEGGZ +decimals = 9 + +[DEK] +peggy_denom = factory/inj1aey234egq5efqr7zfvtzdsq6h2c5wsrma4lw7h/dek decimals = 6 -[BABYQUNT] -peggy_denom = factory/inj1xdm6zdjcwu4vy32yp2g2dazwg2ug50w2k7sy9p/BABYQUNT +[DEK on INJ] +peggy_denom = factory/inj1aey234egq5efqr7zfvtzdsq6h2c5wsrma4lw7h/dekinj +decimals = 1 + +[DEPE] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/depe decimals = 6 -[BABYROLL] -peggy_denom = inj16rvlt87pmpntkyv3x4zfvgmyxt8ejj9mpcc72m +[DEXTER] +peggy_denom = inj12y0ucglt3twtwaaklgce3vpc95gxe67lpu2ghc decimals = 18 -[BABYSHROOM] -peggy_denom = inj1dch98v88yhksd8j4wsypdua0gk3d9zdmsj7k59 +[DGNZ] +peggy_denom = factory/inj1l2kcs4yxsxe0c87qy4ejmvkgegvjf0hkyhqk59/DGNZ decimals = 6 -[BABYSPUUN] -peggy_denom = inj1n73ty9gxej3xk7c0hhktjdq3ppsekwjnhq98p5 -decimals = 6 +[DIB] +peggy_denom = inj1nzngv0ch009jyc0mvm5h55d38c32sqp2fjjws9 +decimals = 18 -[BAD] -peggy_denom = ibc/C04478BE3CAA4A14EAF4A47967945E92ED2C39E02146E1577991FC5243E974BB +[DICE] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/DICE decimals = 6 -[BADKID] -peggy_denom = ibc/A0C5AD197FECAF6636F589071338DC7ECD6B0809CD3A5AB131EAAA5395E7E5E8 +[DICES] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/dices decimals = 6 -[BAG] -peggy_denom = ibc/CFD97474BEB91453470ABF422E94B4C55ACF2CBA300B1FE7ED494DB5F5E012B1 +[DICK] +peggy_denom = factory/inj1wqk200kkyh53d5px5zc6v8usq3pluk07r4pxpu/DICK decimals = 6 -[BAJE] -peggy_denom = factory/inj10yymeqd0hydqmaq0gn6k6s8795svjq7gt5tmsf/BAJE +[DIDX] +peggy_denom = factory/inj1w24j0sv9rvv473x6pqfd2cnnxtk6cvrh5ek89e/DIDX decimals = 6 -[BALLOON] -peggy_denom = inj17p4x63h8gpfd7f6whmmcah6vq6wzzmejvkpqms +[DINHEIROS] +peggy_denom = ibc/306269448B7ED8EC0DB6DC30BAEA279A9190E1D583572681749B9C0D44915DAB +decimals = 0 + +[DINO] +peggy_denom = inj1zx9tv9jg98t0fa7u9882gjrtansggmakmwnenm decimals = 18 -[BAMBOO] -peggy_denom = factory/inj144nw6ny28mlwuvhfnh7sv4fcmuxnpjx4pksr0j/bamboo +[DITTO] +peggy_denom = inj1vtg4almersef8pnyh5lptwvcdxnrgqp0zkxafu decimals = 6 -[BAND] -peggy_denom = peggy0xBA11D00c5f74255f56a5E366F4F77f5A186d7f55 -decimals = 18 - -[BAPE] -peggy_denom = factory/inj16mnhqpzuj4s4ermuh76uffaq3r6rf8dw5v9rm3/BAPE +[DNA] +peggy_denom = ibc/AE8E20F37C6A72187633E418169758A6974DD18AB460ABFC74820AAC364D2A13 decimals = 6 -[BAR] -peggy_denom = inj1hnap888nfhv2gnlp4zvjlyq9wmsw6hm3afvhuf +[DOCE] +peggy_denom = inj1xx8qlk3g9g3cyqs409strtxq7fuphzwzd4mqzw decimals = 18 -[BARCA] -peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/barcelona +[DOGE] +peggy_denom = doge +decimals = 8 + +[DOGECoin] +peggy_denom = factory/inj1s0ckch4dlp5eyx7khtqnt9dryd60v6ns4g0yn4/DOGE decimals = 6 -[BARRY] -peggy_denom = inj1ykpcvay9rty363wtxr9749qgnnj3rlp94r302y -decimals = 18 +[DOGEINJ] +peggy_denom = factory/inj1lm95gdmz7qatcgw933t97rg58wnzz3dpxv7ldk/DOGEINJ +decimals = 6 -[BASE] -peggy_denom = factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/BASE +[DOGEINJCoin] +peggy_denom = factory/inj1s0ckch4dlp5eyx7khtqnt9dryd60v6ns4g0yn4/DOGEINJ decimals = 6 -[BASTARD] -peggy_denom = factory/inj16g5w38hqehsmye9yavag0g0tw7u8pjuzep0sys/BASTARD +[DOGEKIRA] +peggy_denom = inj1xux4gj0g3u8qmuasz7fsk99c0hgny4wl7hfzqu decimals = 6 -[BAT] -peggy_denom = factory/inj1h75s3ne4vjpp3wtf300uv2xuz7r9lt2xu87jjk/BAT +[DOGENINJA] +peggy_denom = inj1wjv6l090h9wgwr6lc58mj0xphg50mzt8y6dfsy decimals = 6 -[BATMAN] -peggy_denom = inj158jjagrr499yfc6t5kd9c989tx6f7ukrulj280 +[DOGGO] +peggy_denom = factory/inj1a4qjk3ytal0alrq566zy6z7vjv6tgrgg0h7wu9/DOGGO decimals = 6 -[BAYC] -peggy_denom = bayc +[DOGINJBREAD] +peggy_denom = inj1s4srnj2cdjf3cgun57swe2je8u7n3tkm6kz257 decimals = 18 -[BCA] -peggy_denom = factory/inj12ygx3scssu2d9rymtppaf6nks8qg08z9w3tml9/BCA +[DOGOFTHUN] +peggy_denom = factory/inj1056f9jwmdxjmc3xf3urpka00gjfsnna7ct3gy3/DOGOFTHUN decimals = 6 -[BCAT] -peggy_denom = factory/inj12ygx3scssu2d9rymtppaf6nks8qg08z9w3tml9/BCAT -decimals = 6 +[DOGWIF] +peggy_denom = inj16ykyeaggxaqzj3x85rjuk3xunky7mg78yd2q32 +decimals = 8 -[BCC] -peggy_denom = factory/inj1hr4rj6k72emjh9u7l6zg58c0n0daezz68060aq/BCC +[DOINJ] +peggy_denom = inj1swqv8e6e8tmyeqwq3rp43pfsr75p8wey7vrh0u +decimals = 8 + +[DOJ] +peggy_denom = factory/inj172ccd0gddgz203e4pf86ype7zjx573tn8g0df9/doj decimals = 6 -[BCUBE] -peggy_denom = peggy0x93C9175E26F57d2888c7Df8B470C9eeA5C0b0A93 +[DOJO] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1zdj9kqnknztl2xclm5ssv25yre09f8908d4923 decimals = 18 -[BEANS] -peggy_denom = inj1j7e95jmqaqgazje8kvuzp6kh2j2pr6n6ffvuq5 -decimals = 8 +[DOJO SWAP] +peggy_denom = inj1qzqlurx22acr4peuawyj3y95v9r9sdqqrafwqa +decimals = 18 -[BEAR] -peggy_denom = factory/inj1jhwwydrfxe33r7ayy7nnrvped84njx97mma56r/BEAR +[DOJODOG] +peggy_denom = factory/inj1s0awzzjfr92mu6t6h85jmq6s9f6hxnqwpmy3f7/DOJODOG decimals = 6 -[BEAST] -peggy_denom = peggy0xA4426666addBE8c4985377d36683D17FB40c31Be +[DOJOshroom] +peggy_denom = inj194l9mfrjsthrvv07d648q24pvpfkntetx68e7l decimals = 6 -[BECKHAM] -peggy_denom = factory/inj1nhswhqrgfu3hpauvyeycz7pfealx4ack2c5hfp/beckham -decimals = 6 +[DOJSHIB] +peggy_denom = inj17n55k95up6tvf6ajcqs6cjwpty0j3qxxfv05vd +decimals = 18 -[BEEN] -peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/been +[DOKI] +peggy_denom = ibc/EA7CE127E1CFD7822AD169019CAFDD63D0F5A278DCE974F438099BF16C99FB8B decimals = 6 -[BELL] -peggy_denom = factory/inj1ht2x2pyj42y4y48tj9n5029w8j9f4sxu0zkwq4/BELL +[DON] +peggy_denom = factory/inj1xjcq2ch3pacc9gql24hfwpuvy9gxszxpz7nzmz/don decimals = 6 -[BENANCE] -peggy_denom = inj1292223n3vfhrxndvlzsvrrlkkyt7jyeydf77h0 +[DONALD TRUMP] +peggy_denom = inj1mdf4myxfhgranmzew5kg39nv5wtljwksm9jyuj +decimals = 18 + +[DONK] +peggy_denom = inj1jargzf3ndsadyznuj7p3yrp5grdxsthxyfp0fj decimals = 6 -[BENJAMIN] -peggy_denom = inj1cr970pgvudvgfva60jtxnztgsu5ngm7e80e7vd +[DONKEY] +peggy_denom = inj1ctczwjzhjjes7vch52anvr9nfhdudq6586kyze decimals = 18 -[BERB] -peggy_denom = inj1rlyw9tl7e5u9haunh39mh87clvmww5p39dd9kv +[DONNA] +peggy_denom = inj17k4lmkjl963pcugn389d070rh0n70f5mtrzrvv decimals = 18 -[BERLIN] -peggy_denom = inj1atu2677agwrskzxj4a5dn8lq43nhmeyjz5tsfq -decimals = 18 +[DONOTBUY] +peggy_denom = inj197p39k7ued8e6r5mnekg47hphap8zcku8nws5y +decimals = 6 -[BERNESE] -peggy_denom = ibc/28E915262E40A4CA526D5BFB0BAF67A1C024F8318B779C3379147A6C26D11EA8 +[DOOMER] +peggy_denom = factory/inj1lqv3a2hxggzall4jekg7lpe6lwqsjevnm9ztnf/doomer decimals = 6 -[BICHO] -peggy_denom = inj1hd42hz95w6w3rt5pkeuj783a5mtx8hx28p2eg9 +[DOPE] +peggy_denom = factory/inj1tphwcsachh92dh5ljcdwexdwgk2lvxansym77k/DOPE +decimals = 0 + +[DORA] +peggy_denom = ibc/BC3AD52E42C6E1D13D2BDCEB497CF5AB9FEE24D804F5563B9E7DCFB825246947 decimals = 18 -[BIDEN] -peggy_denom = inj1d2ymlnpvqny9x2qfqykzp8geq3gmg9qrm3qwhe +[DOT] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1spzwwtr2luljr300ng2gu52zg7wn7j44m92mdf +decimals = 10 + +[DOTRUMP] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/dotrump decimals = 6 -[BIGSHROOM] -peggy_denom = inj1kld2dd6xa5rs98v7afv3l57m6s30hyj8dcuhh4 +[DRACO] +peggy_denom = inj14g9hcmdzlwvafsmrka6gmd22mhz7jd3cm5d8e6 +decimals = 8 + +[DRAGON] +peggy_denom = factory/inj1apk9x267a3qplc6q9a22xsvd2k96g0655xw59m/DRAGON decimals = 6 -[BIN] -peggy_denom = factory/inj1ax459aj3gkph6z0sxaddk6htzlshqlp5mfwqvx/catinbin +[DREAM] +peggy_denom = factory/inj1l2kcs4yxsxe0c87qy4ejmvkgegvjf0hkyhqk59/dream decimals = 6 -[BINJ] -peggy_denom = inj14nursn4ezeqy9cgxmush6vk2p2wjsrucsl6gc9 +[DRG] +peggy_denom = inj15jg279nugsgqplswynqqfal29tav9va5wzf56t decimals = 18 -[BINJANS] -peggy_denom = factory/inj1aj47a2vflavw92yyhn7rpa32f0dazf5cfj59v8/binjans +[DRIVING] +peggy_denom = inj1ghhdy9mejncsvhwxmvnk5hspkd5fchtrmhu3x2 +decimals = 8 + +[DROGO] +peggy_denom = ibc/565FE65B82C091F8BAD1379FA1B4560C036C07913355ED4BD8D156DA63F43712 decimals = 6 -[BINJE] -peggy_denom = inj1ufew4geh63l45ugk6aett2rdtatjm9xtycjcyd +[DROGON] +peggy_denom = inj1h86egqfpypg8q3jp9t607t0y8ea6fdpv66gx0j decimals = 6 -[BIRB] -peggy_denom = inj136zssf58vsk9uge7ulgpw9umerzcuu0kxdu5dj +[DTEST] +peggy_denom = factory/inj1zn8qlkjautjt3mvr7xwuvpe6eddqt5w3mak5s7/DTEST decimals = 6 -[BITCOIN] -peggy_denom = factory/inj1aj4yhftluexp75mlfmsm7sfjemrtt3rjkg3q3h/BITCOIN +[DTHREE] +peggy_denom = factory/inj12yazr8lq5ptlz2qj9y36v8zwmz90gy9gh35026/DTHREE decimals = 6 -[BITS] -peggy_denom = factory/inj10gcvfpnn4932kzk56h5kp77mrfdqas8z63qr7n/bits +[DUBAIcoin] +peggy_denom = inj1gsm06ndeq620sp73lu26nz76rqfpy9qtg7xfdw decimals = 6 -[BITZ] -peggy_denom = ibc/01A69EE21F6A76CAA8D0DB900AF2789BF665B5B67D89A7D69E7ECF7F513CD0CA +[DUBDUB] +peggy_denom = inj1nwm43spkusyva27208recgwya2yu2yja934x0n decimals = 6 -[BJNO] -peggy_denom = inj1jlugmrq0h5l5ndndcq0gyav3flwmulsmdsfh58 -decimals = 18 +[DUCKS] +peggy_denom = factory/inj1mtxwccht2hpfn2498jc8u4k7sgrurxt04jzgcn/DUCKS +decimals = 6 -[BLACK] -peggy_denom = factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/BLACK +[DUDE] +peggy_denom = factory/inj1sn34edy635nv4yhts3khgpy5qxw8uey6wvzq53/DUDE decimals = 6 -[BLACK PANTHER] -peggy_denom = inj12tkaz9e540zszf5vtlxc0aksywu9rejnwxmv3n +[DUEL] +peggy_denom = peggy0x943Af2ece93118B973c95c2F698EE9D15002e604 decimals = 18 -[BLACKHOLE PROTOCOL] -peggy_denom = peggy0xd714d91A169127e11D8FAb3665d72E8b7ef9Dbe2 +[DUMB] +peggy_denom = factory/inj122c9quyv6aq5e2kr6gdcazdxy2eq2u2jgycrly/DUMB +decimals = 6 + +[DUMP BEOPLE] +peggy_denom = inj13d8cpsfc9gxxspdatucvngrvs435zddscapyhk decimals = 18 -[BLD] -peggy_denom = ibc/B7933C59879BFE059942C6F76CAF4B1609D441AD22D54D42DAC00CE7918CAF1F -decimals = 6 +[DUROV] +peggy_denom = inj1y73laasqpykehcf67hh3z7vn899sdmn6vtsg22 +decimals = 18 -[BLEND] -peggy_denom = ibc/45C0FE8ACE1C9C8BA38D3D6FDEBDE4F7198A434B6C63ADCEFC3D32D12443BB84 -decimals = 6 +[DWHPPET] +peggy_denom = inj1rreafnwdwc9mu7rm6sm2nwwjd2yw46h26rzz36 +decimals = 18 -[BLISS] -peggy_denom = factory/inj15tz959pa5mlghhku2vm5sq45jpp4s0yf23mk6d/BLISS +[DWIFLUCK] +peggy_denom = factory/inj1gn54l05v5kqy5zmzk5l6wydzgvhvx2srm7rdkg/DWIFLUCK decimals = 6 -[BLOCKTOWER] -peggy_denom = inj1cnldf982xlmk5rzxgylvax6vmrlxjlvw7ss5mt -decimals = 8 +[DYDX] +peggy_denom = ibc/7B911D87318EB1D6A472E9F08FE93955371DF3E1DFFE851A58F4919450FFE7AA +decimals = 18 -[BLUE] -peggy_denom = factory/inj130nkx4u8p5sa2jl4apqlnnjlej2ymfq0e398w9/BLUE -decimals = 6 +[DYM] +peggy_denom = ibc/346B01430895DC4273D1FAFF470A9CE1155BF6E9F845E625374D019EC9EE796D +decimals = 18 -[BLUE CUB DAO] -peggy_denom = ibc/B692197280D4E62F8D9F8E5C0B697DC4C2C680ED6DE8FFF0368E0552C9215607 -decimals = 6 +[Dai Stablecoin] +peggy_denom = ibc/265ABC4B9F767AF45CAC6FB76E930548D835EDA3E94BC56B70582A55A73D8C90 +decimals = 18 -[BLUEINJ] -peggy_denom = inj1ss3d6gw5xzk5gdt9w4qhp3px62mqygk69uxwyv +[Dai Stablecoin (Wormhole)] +peggy_denom = ibc/293F6074F0D8FF3D8A686F11BCA3DD459C54695B8F205C8867E4917A630634C2 decimals = 8 -[BLUEINJECTIVE] -peggy_denom = inj1zkm3r90ard692tvrjrhu7vtkzlqpkjkdwwc57s -decimals = 8 +[Daisy] +peggy_denom = inj1djnh5pf860722a38lxlxluwaxw6tmycqmzgvhp +decimals = 18 -[BMO] -peggy_denom = inj17fawlptgvptqwwtgxmz0prexrz2nel6zqdn2gd -decimals = 8 +[Daojo] +peggy_denom = inj1dpgkaju5xqpa3vuz6qxqp0vljne044xgycw0d7 +decimals = 18 -[BMOS] -peggy_denom = ibc/D9353C3B1407A7F7FE0A5CCB7D06249B57337888C95C6648AEAF2C83F4F3074E +[DarkDeath] +peggy_denom = factory/inj133nvqdan8c79fhqfkmc3h59v30v4urgwuuejke/DarkDeath decimals = 6 -[BMSCWA] -peggy_denom = factory/inj1v888gdj5k9pykjca7kp7jdy6cdalfj667yws54/BabyMiloSillyCoqWifAnalos +[Degen] +peggy_denom = factory/inj1j3rm46nj4z8eckv5333897z7esectj64kufs4a/Degen decimals = 6 -[BMW] -peggy_denom = inj1fzqfk93lrmn7pgmnssgqwrlmddnq7w5h3e47pc +[DelPiero] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/delpiero decimals = 6 -[BMX] -peggy_denom = inj12u37kzv3ax6ccja5felud8rtcp68gl69hjun4v -decimals = 18 - -[BNB] -peggy_denom = peggy0xB8c77482e45F1F44dE1745F52C74426C631bDD52 +[Dnd] +peggy_denom = inj1acxjvpu68t2nuw6950606gw2k59qt43zfxrcwq decimals = 18 -[BNINJA] -peggy_denom = factory/inj1k7tuhcp7shy4qwkwrg6ckjteucg44qfm79rkmx/BNINJA -decimals = 6 +[Dog Wif Token ] +peggy_denom = inj1qhu9yxtp0x9gkn0n89hcw8c0wc8nhuke8zgw0d +decimals = 8 -[BOB] -peggy_denom = inj1cwaw3cl4wscxadtmydjmwuelqw95w5rukmk47n +[Doge] +peggy_denom = inj1n4hl6mxv749jkqsrhu23z24e2p3s55de98jypt decimals = 18 -[BOBURU] -peggy_denom = factory/inj1qw7egul6sr0yjpxfqq5qars2qvxucgp2sartet/boburu -decimals = 6 - -[BODED] -peggy_denom = inj10xtrreumk28cucrtgse232s3gw2yxcclh0wswd -decimals = 6 +[Dogelon Mars] +peggy_denom = peggy0x761D38e5ddf6ccf6Cf7c55759d5210750B5D60F3 +decimals = 18 -[BODEN] -peggy_denom = boden -decimals = 9 +[Doggo] +peggy_denom = inj1gasr3mz9wdw2andhuf5254v9haw2j60zlftmha +decimals = 18 -[BOME] -peggy_denom = factory/inj1ne284hkg3yltn7aq250lghkqqrywmk2sk9x2yu/BOME -decimals = 6 +[Doginbread] +peggy_denom = inj1sx9mflrf6jvnzantd8rlzqh9tahgdyul5hq4pc +decimals = 18 -[BONE] -peggy_denom = inj1kpp05gff8xgs0m9k7s2w66vvn53n77t9t6maqr -decimals = 6 +[Dojo Staked INJ] +peggy_denom = inj134wfjutywny9qnyux2xgdmm0hfj7mwpl39r3r9 +decimals = 18 -[BONJA] -peggy_denom = factory/inj18v0e5dj2s726em58sg69sgmrnqmd08q5apgklm/bj -decimals = 6 +[Dojo Token] +peggy_denom = inj1zdj9kqnknztl2xclm5ssv25yre09f8908d4923 +decimals = 18 -[BONJO] -peggy_denom = factory/inj1r35twz3smeeycsn4ugnd3w0l5h2lxe44ptuu4w/BONJO +[Dojo bot] +peggy_denom = factory/inj1any4rpwq7r850u6feajg5payvhwpunu9cxqevc/DOJO decimals = 6 -[BONK] -peggy_denom = factory/inj1zy0r4d9s4zmssym0u46j5vxqatt5k5phfxt6rf/bonk +[Don] +peggy_denom = inj19yv3uvkww6gjda2jn90aayrefjacclsrulr5n2 decimals = 18 -[BONKINJ] -peggy_denom = inj173f5j4xtmah4kpppxgh8p6armad5cg5e6ay5qh -decimals = 6 - -[BONKJA] -peggy_denom = factory/inj1gc8fjmp9y8kfsy3s6yzucg9q0azcz60tm9hldp/bonkja +[DonatelloShurikenLipsInjection2dust] +peggy_denom = factory/inj1ya7ltz2mkj0z4w25lxueh7emz6qhwe33m4knx8/INJECTIV decimals = 6 -[BONSAI] -peggy_denom = factory/inj13jx69l98q0skvwy3n503e0zcrh3wz9dcqxpwxy/bonsai +[Doodle] +peggy_denom = factory/inj1yjhn49auvxjqe2y3hxl9uwwzsjynl4ms0kq6d4/Doodle decimals = 6 -[BONUS] -peggy_denom = ibc/DCF43489B9438BB7E462F1A1AD38C7898DF7F49649F9CC8FEBFC533A1192F3EF +[Dope Token] +peggy_denom = inj1lrewwyn3m2dms6ny7m59x9s5wwcxs5zf5y2w20 decimals = 8 -[BOOM] -peggy_denom = inj1xuu84fqdq45wdqj38xt8fhxsazt88d7xumhzrn -decimals = 18 - -[BOOSH] -peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/boosh -decimals = 6 +[Dot] +peggy_denom = ibc/B0442E32E21ED4228301A2B1B247D3F3355B73BF288470F9643AAD0CA07DD593 +decimals = 10 -[BOY] -peggy_denom = ibc/84DA08CF29CD08373ABB0E36F4E6E8DC2908EA9A8E529349EBDC08520527EFC2 +[Drachme] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/drachme decimals = 6 -[BOYS] -peggy_denom = factory/inj1q7unmeeqkj8r4m4en50wqlfnptfvgf0wavuah8/BOYS -decimals = 6 +[Dragon Coin] +peggy_denom = inj1ftfc7f0s7ynkr3n7fnv37qpskfu3mu69ethpkq +decimals = 18 -[BOZO] -peggy_denom = inj1mf5dj5jscuw3z0eykkfccy2rfz7tvugvw2rkly +[Drugs] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj19vy83ne9tzta2yqynj8yg7dq9ghca6yqn9hyej decimals = 18 -[BPEPE] -peggy_denom = inj1pel9sz78wy4kphn2k7uwv5f6txuyvtrxn9j6c3 -decimals = 8 +[Duel] +peggy_denom = inj1ghackffa8xhf0zehv6n8j3gjzpz532c4h2zkkp +decimals = 18 -[BRETT] -peggy_denom = factory/inj13jjdsa953w03dvecsr43dj5r6a2vzt7n0spncv/brett +[Dwake] +peggy_denom = factory/inj1a7697s5yg3tsgkfrm0u5hvxm34mu8v0v3trryx/Dwake decimals = 6 -[BRNZ] -peggy_denom = ibc/713B768D6B89E4DEEFDBE75390CA2DC234FAB6A016D3FD8D324E08A66BF5070F -decimals = 0 - -[BRO] -peggy_denom = factory/inj1cd4q88qplpve64hzftut2cameknk2rnt45kkq5/BRO +[E-SHURIKEN] +peggy_denom = inj1z93hdgsd9pn6eajslmyerask38yugxsaygyyu0 decimals = 6 -[BRRR] -peggy_denom = inj16veue9c0sz0mp7dnf5znsakqwt7cnjpwz3auau -decimals = 18 +[EARS] +peggy_denom = inj1g07rttdqwcy43yx9m20z030uex29sxpcwvvjmf +decimals = 8 -[BRUCELEE] -peggy_denom = inj1dtww84csxcq2pwkvaanlfk09cer93xzc9kwnzf +[EASPORTS] +peggy_denom = factory/inj1cus3dx8lxq2h2y9mzraxagaw8kjjcx6ul5feak/EASPORTS decimals = 6 -[BRZ] -peggy_denom = peggy0x420412E765BFa6d85aaaC94b4f7b708C89be2e2B -decimals = 4 +[ECOCH] +peggy_denom = factory/inj1tquax9jy4t7lg2uya4yclhlqlh5a75ykha2ewr/EcoChain +decimals = 6 -[BSKT] -peggy_denom = ibc/2138C4EA63EFD757D42F75B90177FE34A9508DC0046DC48844CFF26659AE7A9D -decimals = 5 +[ECPS] +peggy_denom = inj1vzjfp3swqhhjp56w40j4cmekjpmrkq6d3ua7c8 +decimals = 8 -[BTC] -peggy_denom = btc +[EGGMAN] +peggy_denom = inj1hjym72e40g8yf3dd3lah98acmkc6ms5chdxh6g decimals = 8 -[BTCETF] -peggy_denom = inj1gzmkap8g09h70keaph9utxy9ahjvuuhk5tzpw9 +[ELE] +peggy_denom = inj1zyg7gvzzsc0q39vhv5je50r2jcfv2ru506pd7w +decimals = 6 + +[ELEM] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1kxwmyuns9z36dd0luggj7wyzetqyfz8cuhdvm2 decimals = 18 -[BUFFON] -peggy_denom = inj16m2tnugwtrdec80fxvuaxgchqcdpzhf2lrftck +[ELM] +peggy_denom = inj1uu3dc475nuhz68j3g4s3cpxzdfczpa3k4dcqz7 decimals = 18 -[BUGS] -peggy_denom = factory/inj1zzc2wt4xzy9yhxz7y8mzcn3s6zwvajyutgay3c/BUGS +[ELMNT] +peggy_denom = inj17z53rhx0w6szyhuakgnj9y0khprrp2rmdg0djz decimals = 6 -[BUILD] -peggy_denom = inj1z9utpqxm586476kzpk7nn2ukhnydmu8vchhqlu -decimals = 18 - -[BUL] -peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/bul +[ELON] +peggy_denom = inj10pqutl0av9ltrw9jq8d3wjwjayvz76jhfcfza0 decimals = 6 -[BULL] -peggy_denom = factory/inj1uv64p5ky9c298dlswy5krq4xcn78qearqaqqc9/BULL +[ELON-GATED-PENIS] +peggy_denom = inj1v0ahzyf4mup6eunf4hswcs9dq3ffea4nqxdhmq decimals = 6 -[BULLS] -peggy_denom = factory/inj1zq37mfquqgud2uqemqdkyv36gdstkxl27pj5e3/bulls +[ELONXMAS] +peggy_denom = inj1nmrve743hvmxzv7e3p37nyjl2tf8fszcqg44ma +decimals = 8 + +[EMP] +peggy_denom = factory/inj1vc6gdrn5ta9h9danl5g0sl3wjwxqfeq6wj2rtm/EMP decimals = 6 -[BURGE] -peggy_denom = inj1xcmamawydqlnqde7ah3xq7gzye9acwkmc5k5ne +[EMP On Injective] +peggy_denom = inj1qm7x53esf29xpd2l8suuxtxgucrcv8fkd52p7t decimals = 18 -[BUS] -peggy_denom = inj1me9svqmf539hfzrfhw2emm2s579kv73w77u8yz +[ENA] +peggy_denom = peggy0x57e114B691Db790C35207b2e685D4A43181e6061 decimals = 18 -[BUSD] -peggy_denom = peggy0x4Fabb145d64652a948d72533023f6E7A623C7C53 +[ENJ] +peggy_denom = peggy0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c decimals = 18 -[BUSD (BEP-20)] -peggy_denom = ibc/A8F9B4EC630F52C13D715E373A0E7B57B3F8D870B4168DADE0357398712ECC0E +[EPIC] +peggy_denom = inj1ewmqrnxm8a5achem6zqg44w7lut3krls4m5mnu decimals = 18 -[BWH] -peggy_denom = ibc/9A31315BECC84265BCF32A31E4EB75C3B59ADCF8CCAE3C6EF8D0DF1C4EF829EB -decimals = 6 - -[BYE] -peggy_denom = inj1zfaug0dfg7zmd888thjx2hwuas0vl2ly4euk3r +[EPICEIGHT] +peggy_denom = inj19dd2lqy8vpcl3kc9ftz3y7xna6qyevuhq7zxkz decimals = 18 -[Baby Corgi] -peggy_denom = ibc/9AC0F8299A5157831C7DF1AE52F178EFBA8D5E1826D4DD539441E3827FFCB873 -decimals = 6 +[EPICEL] +peggy_denom = inj1hz2e3fasvhhuxywx96g5vu8nnuvak5ca4r7jsk +decimals = 18 -[Baby DOJO Token] -peggy_denom = inj19dtllzcquads0hu3ykda9m58llupksqwekkfnw -decimals = 6 +[EPICFIVE] +peggy_denom = inj1cavzx4eswevydc8hawdy362z3a2nucku8c0lp6 +decimals = 18 -[Baby Dog Wif Nunchucks] -peggy_denom = inj1nddcunwpg4cwyl725lvkh9an3s5cradaajuwup -decimals = 8 +[EPICNINE] +peggy_denom = inj1a6jfnquus2vrfshwvurae9wkefu0k3n8ay6u4r +decimals = 18 -[Baby Ninja] -peggy_denom = factory/inj1h3y27yhly6a87d95937jztc3tupl3nt8fg3lcp/BABYNINJA -decimals = 6 +[EPICONE] +peggy_denom = inj16nenk0jqfcgj8qhfap9n7ldjzke97rw9auxptx +decimals = 18 -[Baby Nonja] -peggy_denom = inj1pchqd64c7uzsgujux6n87djwpf363x8a6jfsay +[EPICSEVEN] +peggy_denom = inj19tval5k0qjgqqkuw0v8g5qz9sautru4jr9rz7e decimals = 18 -[BabyBonk] -peggy_denom = inj1kaad0grcw49zql08j4xhxrh8m503qu58wspgdn +[EPICSIX] +peggy_denom = inj1gyf3358u6juk3xvrrp7vlez9yuk2ek33dhqdau decimals = 18 -[BabyInjective] -peggy_denom = inj1dvflqrkkaxped5cmks92q6vmtzx75cge9gvvap -decimals = 8 +[EPICTE] +peggy_denom = inj1c6mpj4p2dvxdgqq9l0sasz0uzu4gah7k3g03xf +decimals = 18 -[Babykira] -peggy_denom = factory/inj15jeczm4mqwtc9lk4c0cyynndud32mqd4m9xnmu/$babykira -decimals = 6 +[EPICTEN] +peggy_denom = inj1e9t4mhc00s4p0rthuyhpy2tz54nuh552sk5v60 +decimals = 18 -[Babyroll] -peggy_denom = inj1qd60tuupdtq2ypts6jleq60kw53d06f3gc76j5 +[EPICTREE] +peggy_denom = inj1hjt77g9ujsh52jdm388ggx387w9dk4jwe8w5sq decimals = 18 -[Baguette] -peggy_denom = inj15a3yppu5h3zktk2hkq8f3ywhfpqqrwft8awyq0 +[EPICTWO] +peggy_denom = inj1z24n2kmsxkz9l75zm7e90f2l0rfgaazh6usw3h decimals = 18 -[Bamboo] -peggy_denom = factory/inj144nw6ny28mlwuvhfnh7sv4fcmuxnpjx4pksr0j/boo -decimals = 6 +[EPICfour] +peggy_denom = inj14m6t04x80r2f78l26wxz3vragpy892pdmshcat +decimals = 18 -[Base axlETH] -peggy_denom = ibc/FD8134B9853AABCA2B22A942B2BFC5AD59ED84F7E6DFAC4A7D5326E98DA946FB +[ERA] +peggy_denom = peggy0x3e1556B5b65C53Ab7f6956E7272A8ff6C1D0ed7b decimals = 18 -[Basket] -peggy_denom = inj193340xxv49hkug7r65xzc0l40tze44pee4fj94 -decimals = 5 +[ERIC] +peggy_denom = factory/inj1w7cw5tltax6dx7znehul98gel6yutwuvh44j77/eric +decimals = 6 -[Benance] -peggy_denom = inj1gn8ss00s3htff0gv6flycgdqhc9xdsmvdpzktd -decimals = 8 +[ERIS Amplified SEI] +peggy_denom = ibc/9774771543D917853B9A9D108885C223DFF03ABC7BD39AD2783CA4E1F58CDC6E +decimals = 6 -[BetaDojo] -peggy_denom = inj1p6cj0r9ne63xhu4yr2vhntkzcfvt8gaxt2a5mw +[ESCUDOS] +peggy_denom = ibc/D1546953F51A43131EDB1E80447C823FD0B562C928496808801A57F374357CE5 decimals = 6 -[Binance Coin] -peggy_denom = ibc/AAED29A220506DF2EF39E43B2EE35717636502267FF6E0343B943D70E2DA59EB +[ETF] +peggy_denom = inj1cdfcc6x6fn22wl6gs6axgn48rjve2yhjqt8hv2 decimals = 18 -[Binance USD] -peggy_denom = ibc/A62F794AAEC56B6828541224D91DA3E21423AB0DC4D21ECB05E4588A07BD934C +[ETH] +peggy_denom = eth decimals = 18 -[Binu] -peggy_denom = inj1myh9um5cmpghrfnh620cnauxd8sfh4tv2mcznl +[ETHBTCTrend] +peggy_denom = peggy0x6b7f87279982d919Bbf85182DDeAB179B366D8f2 decimals = 18 -[Bird INJ] -peggy_denom = factory/inj125hcdvz9dnhdqal2u8ctr7l0hd8xy9wdgzt8ld/binj +[ETK] +peggy_denom = inj1hzh43wet6vskk0ltfm27dm9lq2jps2r6e4xvz8 +decimals = 18 + +[EUR] +peggy_denom = eur decimals = 6 -[BitSong] -peggy_denom = peggy0x05079687D35b93538cbd59fe5596380cae9054A9 -decimals = 18 +[EURO] +peggy_denom = factory/inj1t8wuan5zxp58uwtn6j50kx4tjv25argx6lucwy/EURO +decimals = 6 -[Bitcoin] -peggy_denom = inj1ce249uga9znmc3qk2jzr67v6qxq73pudfxhwqx +[EVAI] +peggy_denom = peggy0x50f09629d0afDF40398a3F317cc676cA9132055c decimals = 8 -[Bitcosmos] -peggy_denom = ibc/E440667C70A0C9A5AD5A8D709731289AFB92301D64D70D0B33D18EF4FDD797FE +[EVI] +peggy_denom = inj1mxcj2f8aqv8uflul4ydr7kqv90kprgsrx0mqup +decimals = 18 + +[EVIINDEX] +peggy_denom = eviindex +decimals = 18 + +[EVITCEJNI] +peggy_denom = factory/inj1n8kcnuzsrg9d7guu8c5n4cxcurqyszthy29yhg/EVITCEJNI decimals = 6 -[Black] -peggy_denom = inj1nuwasf0jsj3chnvzfddh06ft2fev3f5g447u2f +[EVL] +peggy_denom = inj1yhrpy3sr475cfn0g856hzpfrgk5jufvpllfakr decimals = 18 -[BlueInjective] -peggy_denom = inj17qsyspyh44wjch355pr72wzfv9czt5cw3h7vrr +[EVMOS] +peggy_denom = ibc/16618B7F7AC551F48C057A13F4CA5503693FBFF507719A85BC6876B8BD75F821 +decimals = 18 + +[EXOTIC] +peggy_denom = inj1xyf06dyfuldfynqgl9j6yf4vly6fsjr7zny25p decimals = 8 -[Bnana] -peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/banana -decimals = 18 +[EXP] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10ktwcqd5n4k6278jegrc0u08fudf8r00vdsjwd +decimals = 8 -[Bonded Crescent] -peggy_denom = ibc/D9E839DE6F40C036592B6CEDB73841EE9A18987BC099DD112762A46AFE72159B +[EYES] +peggy_denom = factory/inj12jtagr03n6fqln4q8mg06lrpaj4scwts49x2cp/eyes decimals = 6 -[Bonjo] -peggy_denom = inj19w5lfwk6k9q2d8kxnwsu4962ljnay85f9sgwn6 -decimals = 18 - -[Bonk] -peggy_denom = ibc/C951FBB321708183F5A14811A3D099B3D73457D12E193E2B8429BDDCC6810D5A -decimals = 5 +[Eik] +peggy_denom = inj1a0rphvxxgr56354vqz8jhlzuhwyqs8p4zag2kn +decimals = 18 -[Bonk Injective] -peggy_denom = factory/inj15705jepx03fxl3sntfhdznjnl0mlqwtdvyt32d/bonk +[Elemental Token] +peggy_denom = inj1kxwmyuns9z36dd0luggj7wyzetqyfz8cuhdvm2 decimals = 18 -[Bonk on INJ] -peggy_denom = factory/inj147laec3n2gq8gadzg8xthr7653r76jzhavemhh/BONK -decimals = 6 +[Elite] +peggy_denom = inj1rakgrkwx9hs6ye4mt4pcvnhy5zt28dt02u9ws8 +decimals = 18 -[BonkToken] -peggy_denom = inj1jzxkr7lzzljdsyq8483jnduvpwtq7ny5x4ch08 -decimals = 8 +[Enjineer] +peggy_denom = inj1xsc3wp2m654tk62z7y98egtdvd0mqcs7lp4lj0 +decimals = 18 -[Boomer] -peggy_denom = inj1ethjlrk28wqklz48ejtqja9yfft8t4mm92m2ga +[Ethena] +peggy_denom = inj1c68rz4w9csvny5xmq6f87auuhfut5zukngmptz decimals = 18 -[Brazilian Digital Token] -peggy_denom = inj14jesa4q248mfxztfc9zgpswkpa4wx249mya9kk -decimals = 4 +[Ethereum (Arbitrum)] +peggy_denom = ibc/56ADC03A83B6E812C0C30864C8B69CBE502487AD5664D0164F73A1C832D2C7FC +decimals = 18 -[Brett] -peggy_denom = inj1zhce7csk22mpwrfk855qhw4u5926u0mjyw4df6 +[Ethereum (ERC20)] +peggy_denom = ibc/56CD30F5F8344FDDC41733A058F9021581E97DC668BFAC631DC77A414C05451B decimals = 18 -[Bull] -peggy_denom = inj1j82m0njz2gm0eea0ujmyjdlq2gzvwkvqapxeuw +[Explore Exchange] +peggy_denom = inj10ktwcqd5n4k6278jegrc0u08fudf8r00vdsjwd decimals = 8 -[CAC] -peggy_denom = ibc/97D9F67F798DBB31DAFA9CF4E791E69399E0FC3FC2F2A54066EE666052E23EF6 +[ExtraVirginOliveInu] +peggy_denom = factory/inj14n8f39qdg6t68s5z00t4vczvkcvzlgm6ea5vk5/extravirginoliveinu decimals = 6 -[CACTUS] -peggy_denom = inj16ch9sx5c6fa6lnndh7vunrjsf60h67hz988hdg -decimals = 18 - -[CAD] -peggy_denom = cad +[FABLE] +peggy_denom = ibc/5FE5E50EA0DF6D68C29EDFB7992EB81CD40B6780C33834A8AB3712FB148E1313 decimals = 6 -[CAL] -peggy_denom = inj1a9pvrzmymj7rvdw0cf5ut9hkjsvtg4v8cqae24 -decimals = 18 - -[CANTO] -peggy_denom = ibc/6C55598A43348E41BCE1CE3C9313208CB953A036955869C47C3265A3BE2BB8D4 -decimals = 18 +[FACTORY01] +peggy_denom = inj1q8h6pxj73kv36ehv8dx9d6jd6qnphmr0xydx2h +decimals = 6 -[CAPY] -peggy_denom = factory/inj1krswly444gyuunnmchg4uz2ekqvu02k7903skh/capybara +[FAITH] +peggy_denom = inj1efjaf4yuz5ehncz0atjxvrmal7eeschauma26q decimals = 6 -[CARTEL] -peggy_denom = factory/inj12tl0d8a739t8pun23mzldhan26ndqllyt6d67p/cartel +[FAMILY] +peggy_denom = factory/inj175n4kj6va8yejh7w35t5v5f5gfm6ecyasgjnn9/FAMILY decimals = 6 -[CASINO] -peggy_denom = inj12zqf6p9me86493yzpr9v3kmunvjzv24fg736yd +[FAP] +peggy_denom = inj1qekjz857yggl23469xjr9rynp6padw54f0hhkh decimals = 18 -[CASSIO] -peggy_denom = inj179m94j3vkvpzurq2zpn0q9uxdfuc4nq0p76h6w +[FAST] +peggy_denom = inj1m8wfsukqzxt6uduymrpkjawvpap3earl4p2xlt decimals = 8 -[CAT] -peggy_denom = inj129hsu2espaf4xn8d2snqyaxrhf0jgl4tzh2weq +[FCS] +peggy_denom = inj1h7smsl8nzjfeszy03cqnjn2yvf629kf3m02fay decimals = 18 -[CATCOIN] -peggy_denom = inj1rwhc09dv2c9kg6d63t3qp679jws04p8van3yu8 -decimals = 8 +[FCUK] +peggy_denom = inj1j3gg49wg40epnsd644s84wrzkcy98k2v50cwvv +decimals = 18 -[CATINJ] -peggy_denom = factory/inj1cm5lg3z9l3gftt0c09trnllmayxpwt8825zxw3/catinj +[FDA] +peggy_denom = inj174zq6m77dqvx4e56uqvjq25t7qq5ukmt2zhysh +decimals = 18 + +[FDAPERP] +peggy_denom = inj1zl5uwywdkgchs54ycp8f84cedz29fhwz0pzvjd +decimals = 18 + +[FDC] +peggy_denom = inj13pff0vsvfhnhcs4fkd609cr2f749rw22hznhar decimals = 6 -[CATNIP] -peggy_denom = factory/inj1rnlhp35xqtl0zwlp9tnrelykea9f52nd8av7ec/CATNIPPY +[FDC3] +peggy_denom = inj1zmpydq6mlwfj246jk9sc5r7898jgcks9rj87mg decimals = 6 -[CBG] -peggy_denom = inj19k6fxafkf8q595lvwrh3ejf9fuz9m0jusncmm6 -decimals = 18 +[FDC40624A] +peggy_denom = inj1est038f5zfdj7qp3ktmqtygfkef5wj6fdl8nx2 +decimals = 6 -[CDT] -peggy_denom = ibc/25288BA0C7D146D37373657ECA719B9AADD49DA9E514B4172D08F7C88D56C9EF +[FDC40624B] +peggy_denom = inj1gukq56dd9erzmssdxp305g8wjf7ujz0kc46m6e decimals = 6 -[CEL] -peggy_denom = peggy0xaaAEBE6Fe48E54f431b0C390CfaF0b017d09D42d -decimals = 4 +[FDC40624C] +peggy_denom = inj1623nrzk2us368e6ecl7dfe4tdncqykx76ycvuy +decimals = 6 -[CELL] -peggy_denom = peggy0x26c8AFBBFE1EBaca03C2bB082E69D0476Bffe099 -decimals = 18 +[FDC40625A] +peggy_denom = inj1t3zvq2n5rl2r902zmsynaysse2vj0t4c6zfjlv +decimals = 6 -[CENTER] -peggy_denom = inj1khd6f66tp8dd4f58dzsxa5uu7sy3phamkv2yr8 -decimals = 8 +[FDC40625B] +peggy_denom = inj1m4n783st9cvc06emtgl29laypf2980j5j9l3rs +decimals = 6 -[CERBERUS] -peggy_denom = inj1932un3uh05nxy4ej50cfc3se096jd6w3jvl69g +[FDC40625C] +peggy_denom = inj1uac3sy4jv0uu6drk2pcfqmtdue7w0q0urpwgzl decimals = 6 -[CET] -peggy_denom = factory/inj1hst0759zk7c29rktahm0atx7tql5x65jnsc966/CET +[FDC40625D] +peggy_denom = inj1shu8jhwh9g6yxx6gk6hcg89hmqccdwflljcpes decimals = 6 -[CGLP] -peggy_denom = ibc/6A3840A623A809BC76B075D7206302622180D9FA8AEA59067025812B1BC6A1CC +[FDCP40626A] +peggy_denom = inj18ls4r6pw85gk39pyh4pjhln7j6504v0dtk7kxz +decimals = 6 + +[FET] +peggy_denom = ibc/C1D3666F27EA64209584F18BC79648E0C1783BB6EEC04A8060E4A8E9881C841B decimals = 18 -[CHAD] -peggy_denom = inj12e5vzu6a8jqr5dnl4mh04hdskjnx9rw5n86exk +[FIDEN] +peggy_denom = factory/inj1xm8azp82qt9cytzg5guhx8cjrjmrunv97dfdd3/FIDEN decimals = 6 -[CHAININJ] -peggy_denom = inj143rjlwt7r28wn89r39wr76umle8spx47z0c05d -decimals = 8 +[FIFA] +peggy_denom = inj1ma5f4cpyryqukl57k22qr9dyxmmc99pw50fn72 +decimals = 18 -[CHAKRA] -peggy_denom = factory/inj13zsd797dnkgpxcrf3zxxjzykzcz55tw7kk5x3y/CHAKRA +[FIG] +peggy_denom = inj1whqqv3hrqt58laptw90mdhxx7upx40q6s7d0qx +decimals = 18 + +[FINNEON] +peggy_denom = inj1t3lzvya9p4zslzetpzcmc968a9c5jjkdycwlzf decimals = 6 -[CHAMP] -peggy_denom = inj1gnde7drvw03ahz84aah0qhkum4vf4vz6mv0us7 +[FISHY] +peggy_denom = inj178xpd5dxe7dq82dtxpcufelshxxlqmzn0h0r26 decimals = 8 -[CHAMPION] -peggy_denom = inj1rh94naxf7y20qxct44mrlawyhs79d06zmprv70 +[FIVE] +peggy_denom = inj1psx54edreejwmjsdgsad332c60y5lnzqkkudve decimals = 8 -[CHARM] -peggy_denom = inj1c2e37gwl2q7kvuxyfk5c0qs89rquzmes0nsgjf -decimals = 8 +[FIX] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1xpvxfn66l8aslcc8qgr7jc5rp638ampdnsfqda +decimals = 18 -[CHEEMS] -peggy_denom = factory/inj1mck4g2zd7p057un8l3kfamsyj57w7gymgrdyjw/cheems +[FLOKI] +peggy_denom = factory/inj1g7nvetpqjcugdnjxd27v37m7adm4wf7wphgzq2/FLOKI decimals = 6 -[CHEESE] -peggy_denom = inj1p6v3qxttvh36x7gxpwl9ltnmc6a7cgselpd7ya +[FLUFFY] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hfk4z29f5cv73gxpdydedhkq0yspqc5ymeze9z decimals = 18 -[CHELE] -peggy_denom = factory/inj16fsle0ywczyf8h4xfpwntg3mnv7cukd48nnjjp/CHELE -decimals = 6 +[FLUID] +peggy_denom = inj1avj9gwyj5hzxdkpegcr47kmp8k39nrnejn69mh +decimals = 8 -[CHEN] -peggy_denom = factory/inj1s79ssggksqujyrwhq5zwxart33t98mmm2xd8f7/CHEN +[FMLY] +peggy_denom = factory/inj1ku7eqpwpgjgt9ch07gqhvxev5pn2p2upzf72rm/FAMILY decimals = 6 -[CHI] -peggy_denom = inj198rrzmcv69xay8xuhalqz2z02egmsyzp08mvkk +[FOJO] +peggy_denom = inj1n37zp9g8fzdwxca8m7wrp2e7qvrjzfemaxgp8e decimals = 18 -[CHICKEN] -peggy_denom = factory/inj1gqeyl6704zr62sk2lsprt54gcwc6y724xvlgq2/CHICKEN +[FOMO] +peggy_denom = factory/inj1k7ygz5ufgavnutv0hkgsz7u9g4c3yj6lq6p0jn/FOMO decimals = 6 -[CHIKU] -peggy_denom = factory/inj1g8s4usdsy7gujf96qma3p8r2a7m02juzfm4neh/CHIKU +[FOMOFox] +peggy_denom = factory/inj1k2kcx5n03pe0z9rfzvs9lt764jja9xpvwrxk7c/FOMOFox decimals = 6 -[CHINMOY] -peggy_denom = inj1t52r8h56j9ctycqhlkdswhjjn42s6dnc6huwzs +[FOO] +peggy_denom = inj1s290d2uew9k2s00zlx9xnxq84dauysc85yhds0 decimals = 18 -[CHOCOLATE] -peggy_denom = inj1slny6cqjkag3hgkygpq5nze6newysqpsfy0dxj +[FOOL] +peggy_denom = factory/inj16g5w38hqehsmye9yavag0g0tw7u8pjuzep0sys/FOOL decimals = 6 -[CHONK] -peggy_denom = inj17aze0egvc8hrmgf25kkhlw3720vurz99pdp58q +[FOORK] +peggy_denom = inj1zu6qda7u90c8w28xkru4v56ak05xpfjtwps0vw decimals = 18 -[CHOWCHOW] -peggy_denom = inj1syqdgn79wnnlzxd63g2h00rzx90k6s2pltec6w -decimals = 6 - -[CHROME] -peggy_denom = inj1k20q72a4hxt0g20sx3rcnjvhfye6u3k6dhx6nc -decimals = 6 - -[CHROMIUM] -peggy_denom = inj1plmyzu0l2jku2yw0hnh8x6lw4z5r2rggu6uu05 -decimals = 8 - -[CHUN] -peggy_denom = factory/inj19tjhqehpyq4n05hjlqyd7c5suywf3hcuvetpcr/CHUN -decimals = 9 +[FORZA] +peggy_denom = inj1p0tsq248wyk2vd980csndrtep3rz50ezfvhfrw +decimals = 18 -[CHUNGUS] -peggy_denom = factory/inj1khr6lahyjz0wgnwzuu4dk5wz24mjrudz6vgd0z/bigchungus +[FOTHER] +peggy_denom = factory/inj1cus3dx8lxq2h2y9mzraxagaw8kjjcx6ul5feak/FOTHER decimals = 6 -[CHZ] -peggy_denom = peggy0x3506424F91fD33084466F402d5D97f05F8e3b4AF +[FOUR] +peggy_denom = inj1clfx8jgq3636249d0tr3yu26hsp3yqct6lpvcy decimals = 18 -[CHZlegacy] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q6kpxy6ar5lkxqudjvryarrrttmakwsvzkvcyh -decimals = 8 - -[CINU] -peggy_denom = inj14pq4ewrxju997x0y7g2ug6cn3lqyp66ygz5x6s -decimals = 8 +[FOX] +peggy_denom = inj167naeycu49dhs8wduj5ddtq6zex9cd6hpn4k4w +decimals = 18 -[CIRCUS] -peggy_denom = ibc/AEE5A4EF1B28693C4FF12F046C17197E509030B18F70FE3D74F6C3542BB008AD +[FOXY] +peggy_denom = inj15acrj6ew42jvgl5qz53q7c9g82vf3n98l84s4t decimals = 6 -[CITY] -peggy_denom = factory/inj1jpddz58n2ugstuhp238qwwvdf3shxsxy5g6jkn/CITY -decimals = 6 +[FPL] +peggy_denom = inj13yutezdwjkz8xucrt6d564yqr3ava76r6q9vle +decimals = 8 -[CJN] -peggy_denom = inj1eln607626f3j058rfh4xd3m4pd728x2cnxw4al +[FRANKLYN] +peggy_denom = inj1gadcw96ha8fpd6ulgzulsuqj9vjz8dv0s57at8 decimals = 18 -[CLEO] -peggy_denom = inj1fr66v0vrkh55yg6xfw845q78kd0cnxmu0d5pnq +[FRAX] +peggy_denom = ibc/3E5504815B2D69DCC32B1FF54CDAC28D7DA2C445BD29C496A83732DC1D52DB90 decimals = 18 -[CLEVER] -peggy_denom = inj1f6h8cvfsyz450kkcqmy53w0y4qnpj9eylsazww +[FREE] +peggy_denom = inj1rp9tjztx0m5ekcxavq9w27875szf8sm7p0hwpg decimals = 18 -[CLON] -peggy_denom = ibc/695B1D16DE4D0FD293E6B79451640974080B59AA60942974C1CC906568DED795 +[FRINJE] +peggy_denom = factory/inj1mcx5h5wfeqk334u8wx6jv3g520zwy3lh22dyp7/FRINJE +decimals = 10 + +[FRNZ] +peggy_denom = ibc/CDD7374B312BEF9723AAEBDE622206490E112CE2B5F49275683CCCD86C7D4BCE decimals = 6 -[CNJ] -peggy_denom = inj1w38vdrkemf8s40m5xpqe5fc8hnvwq3d794vc4a +[FROG] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj104y5dpcdtga79tczv6rg3rsekx4hasw2k83h5s decimals = 18 -[COCA] -peggy_denom = ibc/8C82A729E6D74B03797962FE5E1385D87B1DFD3E0B58CF99E0D5948F30A55093 +[FROGCOIN] +peggy_denom = inj1dljz0rexnhhxa2vnnfxerg7y0am46kdzltwwgp decimals = 6 -[COCK] -peggy_denom = factory/inj1eucxlpy6c387g5wrn4ee7ppshdzg3rh4t50ahf/COCK +[FROGGY] +peggy_denom = factory/inj1l8pq22awax6r8hamk2v3cgd77w90qtkmynvp8q/FROGGY decimals = 6 -[COCKPIT] -peggy_denom = factory/inj15u2mc2vyh2my4qcuj5wtv27an6lhjrnnydr926/COCKPIT -decimals = 9 - -[COFFEE] -peggy_denom = inj166gumme9j7alwh64uepatjk4sw3axq84ra6u5j +[FROGY] +peggy_denom = factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/FROGiY decimals = 6 -[COFFEIN] -peggy_denom = inj18me8d9xxm340zcgk5eu8ljdantsk8ktxrvkup8 +[FTC] +peggy_denom = inj1v092fpcqz0k5pf6zwz7z8v40q2yxa0elfzt2hk decimals = 18 -[COKE] -peggy_denom = inj14eaxewvy7a3fk948c3g3qham98mcqpm8v5y0dp +[FTM] +peggy_denom = peggy0x4E15361FD6b4BB609Fa63C81A2be19d873717870 +decimals = 18 + +[FTUNA] +peggy_denom = inj1yqm9apy8kat8fav2mmm7geshyytdld0al67ks4 decimals = 6 -[COMP] -peggy_denom = peggy0xc00e94Cb662C3520282E6f5717214004A7f26888 -decimals = 18 +[FUCK] +peggy_denom = factory/inj1fdqalekg73v06gvzch0zu74ealp35g3y00shmz/FUCK +decimals = 6 -[CONK] -peggy_denom = inj18vcz02pukdr2kak6g2p34krgdddan2vlpzmqju -decimals = 8 +[FUD] +peggy_denom = factory/inj1j2r6vr20cnhqz3tumd2lh9w8k8guamze3pdf7t/FUD +decimals = 6 -[CONK2.0] -peggy_denom = inj1zuz0rpg224mrpz2lu6npta34yc48sl7e5sndly +[FUINJ] +peggy_denom = factory/inj1wlwsd6w84ydmsqs5swthm5hw22qm8fxrth5ggx/FUINJ +decimals = 6 + +[FUSION] +peggy_denom = inj1hpczn65hygw4aaaytxe6gvdu8h3245gjz0q2fx decimals = 8 -[CONT] -peggy_denom = inj1vzpegrrn6zthj9ka93l9xk3judfx23sn0zl444 -decimals = 18 +[FUSIONX] +peggy_denom = inj1a5pxsj6f8jggncw4s2cg39p25swgzdjyljw5tf +decimals = 8 -[COOK] -peggy_denom = ibc/C9EC3080B046D49949239E1704522EE8B7BE0A668027028059A7FE7BC20B0976 -decimals = 6 +[FUZION] +peggy_denom = inj1m8hyuja8wmfm0a2l04dgp5ntwkmetkkemw2jcs +decimals = 8 -[COOKIG] -peggy_denom = factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/COOKIG +[FUZN] +peggy_denom = ibc/FE87E1E1BB401EC35CD02A57FE5DEF872FA309C018172C4E7DA07F194EAC6F19 decimals = 6 -[COOL] -peggy_denom = factory/inj1rdu7lqpvq4h2fyrjdfnp9gycdkut5ewql3e4uq/coolcat +[FaDaCai] +peggy_denom = inj13n695lr0ps5kpahv7rkd8njh2phw475rta8kw4 decimals = 6 -[COPE] -peggy_denom = inj1lchcdq3rqc2kaupt6fwshd7fyj7p0mpkeknkyw +[Fetch.ai] +peggy_denom = peggy0xaea46a60368a7bd060eec7df8cba43b7ef41ad85 decimals = 18 -[COQ] -peggy_denom = inj1lefh6m9ldqm55ume0j52fhhw6tzmx9pezkqhzp +[FixedFloat] +peggy_denom = inj1xpvxfn66l8aslcc8qgr7jc5rp638ampdnsfqda decimals = 18 -[CORE] -peggy_denom = inj1363eddx0m5mlyeg9z9qjyvfyutrekre47kmq34 +[Fluffy] +peggy_denom = inj1hfk4z29f5cv73gxpdydedhkq0yspqc5ymeze9z decimals = 18 -[CORGI] -peggy_denom = inj129t9ywsya0tyma00xy3de7q2wnah7hrw7v9gvk -decimals = 18 +[FollowNinjaBoy_inj] +peggy_denom = factory/inj1sn6u0472ds6v8x2x482gqqc36g0lz28uhq660v/FollowNinjaBoy_inj +decimals = 6 -[CORONA] -peggy_denom = inj1md4ejkx70463q3suv68t96kjg8vctnpf3ze2uz -decimals = 18 +[Frogy the frog] +peggy_denom = factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/FROGIYY +decimals = 6 -[COSMO] -peggy_denom = factory/inj1je6n5sr4qtx2lhpldfxndntmgls9hf38ncmcez/COSMO +[FuckSol] +peggy_denom = factory/inj1na5d9jqhkyckh8gc5uqht75a74jq85gvpycp44/FUCKSOL decimals = 6 -[COSMWASM] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1yl8z48uwve5wk0j9elxql8c327wy87anccf4ex +[FusionX] +peggy_denom = inj1fghekhpfn2rfds6c466p38ttdm2a70gnzymc86 decimals = 8 -[COST] -peggy_denom = inj1hlwjvef4g4tdsa5erdnzfzd8ufcw403a6558nm +[GAINJA] +peggy_denom = inj1jnwu7u6h00lzanpl8d5qerr77zcj2vd65r2j7e decimals = 18 -[COVID] -peggy_denom = inj1ce38ehk3cxa7tzcq2rqmgek9hc3gdldvxvtzqy +[GALA] +peggy_denom = factory/inj1xtwk60ey0g03s69gfsure0kx8hwwuk24zl0g6l/GALA decimals = 6 -[COWBOY] -peggy_denom = inj1dp7uy8sa0sevnj65atsdah0sa6wmwtfczwg08d +[GALAXY] +peggy_denom = factory/inj10zdjt8ylfln5xr3a2ruf9nwn6d5q2d2r3v6mh8/galaxy decimals = 6 -[CP] -peggy_denom = factory/inj1300jzt0tyjg8x4txsfs79l29k556vqqk22c7es/cope +[GAMBLE] +peggy_denom = factory/inj10g0paz4mx7mq2z8l9vpxz022xshc04g5kw7s43/gamble decimals = 6 -[CPINJ] -peggy_denom = factory/inj1qczkutnsy3nmt909xtyjy4rsrkl2q4dm6aq960/coping +[GAMER] +peggy_denom = inj1gqp2upvl8ftj28amxt90dut76prdpefx3qvpck +decimals = 18 + +[GASH] +peggy_denom = ibc/98C86DE314A044503F35E8C395B745B65E990E12A77A357CBA74F474F860A845 decimals = 6 -[CR7] -peggy_denom = factory/inj1v25y8fcxfznd2jkz2eh5cy2520jpvt3felux66/CR7 +[GASTON] +peggy_denom = factory/inj1sskt2d66eqsan9flcqa9vlt7nvn9hh2dtvp8ua/GASTON decimals = 6 -[CRAB] -peggy_denom = factory/inj1fx2mj8532ynky2xw0k8tr46t5z8u7cjvpr57tq/crabfu +[GBP] +peggy_denom = gbp decimals = 6 -[CRAB APPLE] -peggy_denom = inj1ku7f3v7z3dd9hrp898xs7xnwmmwzw32tkevahk +[GCM] +peggy_denom = inj1p87lprkgg4c465scz5z49a37hf835nzkcpyeej decimals = 18 -[CRASH] -peggy_denom = inj1k3rankglvxjxzsaqrfff4h5ttwcjjh3m4l3pa2 -decimals = 8 - -[CRAZYHORSE] -peggy_denom = ibc/7BE6E83B27AC96A280F40229539A1B4486AA789622255283168D237C41577D3B +[GDUCK] +peggy_denom = factory/inj1fc0ngp72an2x8zxf268xe5avfan5z4g0saz6ns/gduck decimals = 6 -[CRBRUS] -peggy_denom = ibc/F8D4A8A44D8EF57F83D49624C4C89EECB1472D6D2D1242818CDABA6BC2479DA9 +[GEISHA] +peggy_denom = factory/inj1c5uqenss9plc5rjw5kt5dksnlvnvw5tvygxpd8/GEISHA decimals = 6 -[CRE] -peggy_denom = ibc/DDE000907D85FB1F358B3FBB1143452BE13F68E0BEA0DFFD8787095B76EEE0A1 +[GEIST] +peggy_denom = inj1x2lg9j9pwmgnnwmhvq2g6pm6emcx7w02pnjnm6 +decimals = 8 + +[GEM] +peggy_denom = factory/inj1s5php9vmd03w6nszlnsny43cmuhw3y6u3vt7qc/gem decimals = 6 -[CRINJ] -peggy_denom = factory/inj1r4usuj62gywdwhq9uvx6tg0ywqpppcjqu7z4js/crinj +[GEM DAO] +peggy_denom = ibc/8AE86084C0D921352F711EF42CCA7BA4C8238C244FE4CC3E4E995D9782FB0E2B decimals = 6 -[CRITPO] -peggy_denom = factory/inj1safqtpalmkes3hlyr0zfdr0dw4aaxulh306n67/CRITPO -decimals = 7 +[GEMININJ] +peggy_denom = factory/inj14vrd79l2pxvqctawz39qewfh72x62pfjecxsmv/GEMININJ +decimals = 6 -[CRN] -peggy_denom = inj1wcj4224qpghv94j8lzq8c2m9wa4f2slhqcxm9y +[GEMOY] +peggy_denom = inj1j5l0xc2lwqpj2duvllmegxse0dqlx5kgyjehlv decimals = 18 -[CROCO] -peggy_denom = factory/inj1y6zxg76ltrjdx7xppvtrdqlc5ujyhfra8aqr3f/CROCO +[GENJI] +peggy_denom = factory/inj1p2rmxvzhctu4z22sxcsry874sekvjdhl7k8rys/GENJI decimals = 6 -[CROCO_NINJA] -peggy_denom = factory/inj1c0tfeukmrw69076w7nffjqhrswp8vm9rr6t3eh/CROCO -decimals = 6 +[GENZONE] +peggy_denom = inj1zh9924tws4ctzx5zmz06j09nyjs8fw6wupkadr +decimals = 8 -[CRT] -peggy_denom = inj10qt8pyaenyl2waxaznez6v5dfwn05skd4guugw -decimals = 18 +[GEO] +peggy_denom = ibc/8E4953E506CF135A3ACDF6D6556ED1DB4F6A749F3910D2B4A77E2E851C4B2638 +decimals = 6 -[CRYPB] -peggy_denom = inj1p82fws0lzshx2zg2sx5c5f855cf6wht9uudxg0 +[GF] +peggy_denom = peggy0xAaEf88cEa01475125522e117BFe45cF32044E238 decimals = 18 -[CRseven] -peggy_denom = inj19jp9v5wqz065nhr4uhty9psztlqeg6th0wrp35 +[GGBOND] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/ggbond decimals = 6 -[CTAX] -peggy_denom = inj1mwj4p98clpf9aldzcxn7g8ffzrwz65uszesdre -decimals = 18 +[GGG] +peggy_denom = inj1yrw42rwc56lq7a3rjnfa5nvse9veennne8srdj +decimals = 8 -[CTO] -peggy_denom = inj19kk6ywwu5h0rnz4453gyzt3ymgu739egv954tf -decimals = 18 +[GGS] +peggy_denom = factory/inj1282wzngdg46gjuttvhxumkx65fnqx0aqmyl0lu/GGS +decimals = 6 -[CUB] -peggy_denom = ibc/5CB35B165F689DD57F836C6C5ED3AB268493AA5A810740446C4F2141664714F4 +[GIANT] +peggy_denom = factory/inj1r4usuj62gywdwhq9uvx6tg0ywqpppcjqu7z4js/giant decimals = 6 -[CUIT] -peggy_denom = factory/inj1zlmrdu0ntnmgjqvj2a4p0uyrg9jw802ld00x7c/CUIT +[GIFT] +peggy_denom = factory/inj1exks7fvnh9lxzgqejtlvca8t7mw47rks0s0mwa/GIFT decimals = 6 -[CVR] -peggy_denom = peggy0x3C03b4EC9477809072FF9CC9292C9B25d4A8e6c6 -decimals = 18 +[GIGA] +peggy_denom = ibc/36C811A2253AA64B58A9B66C537B89348FE5792A8808AAA343082CBFCAA72278 +decimals = 5 -[CW20] -peggy_denom = inj1c2mjatph5nru36x2kkls0pwpez8jjs7yd23zrl -decimals = 18 +[GINGER] +peggy_denom = factory/inj172ccd0gddgz203e4pf86ype7zjx573tn8g0df9/GINGER +decimals = 6 -[CW20-wrapped inj] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj12kq4zh7kckuu0rfpxcr9l6l2x26ajf23uc0w55 +[GINKO] +peggy_denom = factory/inj1krswly444gyuunnmchg4uz2ekqvu02k7903skh/ginko +decimals = 6 + +[GIRL] +peggy_denom = inj1zkmp7m0u0hll3k5w5598g4qs75t7j8qqvmjspz decimals = 18 -[CWIFLUCK] -peggy_denom = factory/inj1u2fhfn0g8srf2kt3am52wd9dp4zyjvecm86uhj/CWIFLUCK +[GLODIOTOR] +peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/glodiotor decimals = 6 -[CWL] -peggy_denom = factory/inj1u2fhfn0g8srf2kt3am52wd9dp4zyjvecm86uhj/CWL +[GLTO] +peggy_denom = peggy0xd73175f9eb15eee81745d367ae59309Ca2ceb5e2 decimals = 6 -[CWT] -peggy_denom = factory/inj1j5hqczk6ee2zsuz7kjt5nshxcjg5g69njxe6ny/inj-cttoken -decimals = 18 +[GME] +peggy_denom = ibc/CAA5AB050F6C3DFE878212A37A4A6D3BEA6670F5B9786FFF7EF2D34213025272 +decimals = 8 -[Canto] -peggy_denom = ibc/5C0C70B490A3568D40E81884F200716F96FCE8B0A55CB5EE41C1E369E6086CCA -decimals = 18 +[GMKY] +peggy_denom = factory/inj1s09n0td75x8p20uyt9dw29uz8j46kejchl4nrv/GMKY +decimals = 6 -[Cat] -peggy_denom = inj1eerjxzvwklcgvclj9m2pulqsmpentaes8h347x +[GOD] +peggy_denom = inj1whzt6ct4v3zf28a6h08lpf90pglzw7fdh0d384 decimals = 18 -[Cat WIF luck] -peggy_denom = inj1mqurena8qgf775t28feqefnp63qme7jyupk4kg -decimals = 18 +[GODDARD] +peggy_denom = ibc/3E89FBB226585CF08EB2E3C2625D1D2B0156CCC2233CAB56165125CACCBE731A +decimals = 6 -[Cat Wif Luck] -peggy_denom = inj19lwxrsr2ke407xw2fdgs80f3rghg2pueqae3vf +[GODRD] +peggy_denom = ibc/CABB197E23D81F1D1A4CE56A304488C35830F81AC9647F817313AE657221420D decimals = 6 -[CatInjective] -peggy_denom = inj1p2w55xu2yt55rydrf8l6k79kt3xmjmmsnn3mse +[GODS] +peggy_denom = factory/inj147s5vh6ck67zjtpgd674c7efd47jqck55chw4l/inj-GODS +decimals = 6 + +[GODSTRIKE] +peggy_denom = inj1deejw5k4sxnlxgxnzsy5k2vgc9fzu257ajjcy7 decimals = 8 -[Chainlink] -peggy_denom = ibc/AC447F1D6EDAF817589C5FECECB6CD3B9E9EFFD33C7E16FE8820009F92A2F585 +[GODZILLA] +peggy_denom = factory/inj1e05u43qmn9jt502784c009u4elz5l86678esrk/GODZILLA +decimals = 6 + +[GOJO] +peggy_denom = factory/inj13qhzj4fr4u7t7gqj5pqy0yts07eu6k6dkjdcsx/gojo +decimals = 6 + +[GOKU] +peggy_denom = factory/inj1pgkwcngxel97d9qjvg75upe8y3lvvzncq5tdr0/goku +decimals = 6 + +[GOLD] +peggy_denom = gold decimals = 18 -[Chb] -peggy_denom = inj1fvzre25nqkakvwmjr8av5jrfs56dk6c8sc6us9 +[GOLDIE] +peggy_denom = factory/inj130ayayz6ls8qpmu699axhlg7ygy8u6thjjk9nc/GOLDIE +decimals = 6 + +[GOLDMAN] +peggy_denom = inj140ypzhrxyt7n3fhrgk866hnha29u5l2pv733d0 decimals = 8 -[CheeseBalls] -peggy_denom = inj1usr473hh8hlff874tvcl4pe6qzsmc08w3k32nd +[GOOSE] +peggy_denom = factory/inj12tl0d8a739t8pun23mzldhan26ndqllyt6d67p/goose decimals = 6 -[Chiliz (legacy)] -peggy_denom = inj1q6kpxy6ar5lkxqudjvryarrrttmakwsvzkvcyh +[GORILLA] +peggy_denom = inj1cef5deszfl232ws7nxjgma4deaydd7e7aj6hyf decimals = 8 -[Chonk] -peggy_denom = factory/inj1an9qflgvpvjdhczce6xwrh4afkaap77c72k4yd/Chonk +[GPT] +peggy_denom = factory/inj168gnj4lavp3y5w40rg5qhf50tupwhaj3yvhgr0/GPT decimals = 6 -[Chonk The Cat] -peggy_denom = inj1ftq3h2y70hrx5rn5a26489drjau9qel58h3gfr -decimals = 18 +[GRAC] +peggy_denom = ibc/59AA66AA80190D98D3A6C5114AB8249DE16B7EC848552091C7DCCFE33E0C575C +decimals = 6 -[Circle USD] -peggy_denom = ibc/8F3ED95BF70AEC83B3A557A7F764190B8314A93E9B578DE6A8BDF00D13153708 +[GREATDANE] +peggy_denom = inj195vgq0yvykunkccdzvys548p90ejuc639ryhkg decimals = 6 -[CosmWasm] -peggy_denom = inj1yl8z48uwve5wk0j9elxql8c327wy87anccf4ex +[GREEN] +peggy_denom = inj1nlt0jkqfl6f2wlnalyk2wd4g3dq97uj8z0amn0 decimals = 8 -[Cosmic] -peggy_denom = inj19zcnfvv3qazdhgtpnynm0456zdda5yy8nmsw6t -decimals = 18 +[GRENADINE] +peggy_denom = inj1ljquutxnpx3ut24up85e708hjk85hm47skx3xj +decimals = 8 -[Cosmo] -peggy_denom = factory/osmo1ua9rmqtmlyv49yety86ys8uqx3hawfkyjr0g7t/Cosmo +[GRINJ] +peggy_denom = factory/inj174r3j8pm93gfcdu0g36dg6g7u0alygppypa45e/GRINJ decimals = 6 -[Cosmos] -peggy_denom = peggy0x8D983cb9388EaC77af0474fA441C4815500Cb7BB +[GROK] +peggy_denom = factory/inj1vgrf5mcvvg9p5c6jajqefn840nq74wjzgkt30z/GROK decimals = 6 -[Crinj Token] -peggy_denom = factory/inj1kgyxepqnymx8hy7nydl65w3ecyut566pl70swj/crinj +[GRONI] +peggy_denom = factory/inj12jtagr03n6fqln4q8mg06lrpaj4scwts49x2cp/groni decimals = 6 -[D.a.r.e] -peggy_denom = inj19vy83ne9tzta2yqynj8yg7dq9ghca6yqn9hyej +[GRT] +peggy_denom = peggy0xc944E90C64B2c07662A292be6244BDf05Cda44a7 decimals = 18 -[DAB] -peggy_denom = factory/inj1n8w9wy72cwmec80qpjsfkgl67zft3j3lklg8fg/DAB -decimals = 6 +[GRUMPY] +peggy_denom = inj16fr4w5q629jdqt0ygknf06yna93ead2pr74gr3 +decimals = 8 -[DAI] -peggy_denom = ibc/433133545CF68587777A01C3EFCF720EFE1B42F14AB2153D349DC4559984F2E8 +[GUGU] +peggy_denom = ibc/B1826CEA5AE790AB7FCAE84344F113F6C42E6AA3A357CAFEAC4A05BB7531927D decimals = 6 -[DANJER] -peggy_denom = factory/inj1xzk83u23djtynmz3a3h9k0q454cuhsn3y9jhr3/DANJER +[GUPPY] +peggy_denom = ibc/F729B93A13133D7390455293338A0CEAAF876D0F180B7C154607989A1617DD45 decimals = 6 -[DAOJO] -peggy_denom = inj1jusxykgkl04rgaam65gmvyyymth9flxjdpdruh -decimals = 9 +[GYEN] +peggy_denom = peggy0xC08512927D12348F6620a698105e1BAac6EcD911 +decimals = 6 -[DATOSHI] -peggy_denom = inj1rp63ym52lawyuha4wvn8gy33ccqtpj5pu0n2ef +[GZZ] +peggy_denom = inj1ec70stm6p3e6u2lmpl5vzan4pdm79vwlfgcdzd decimals = 18 -[DBT] -peggy_denom = factory/inj1xtel2knkt8hmc9dnzpjz6kdmacgcfmlv5f308w/dbt +[Galaxy] +peggy_denom = inj13n675x36dnettkxkjll82q72zgnvsazn4we7dx decimals = 6 -[DBTT] -peggy_denom = inj1wwga56n4glj9x7cnuweklepl59hp95g9ysg283 +[Gamble Gold] +peggy_denom = inj13a8vmd652mn2e7d8x0w7fdcdt8742j98jxjcx5 decimals = 18 -[DDD] -peggy_denom = factory/inj12yazr8lq5ptlz2qj9y36v8zwmz90gy9gh35026/ddd +[Game Stop] +peggy_denom = inj1vnj7fynxr5a62maf34vca4fes4k0wrj4le5gae +decimals = 18 + +[Gay] +peggy_denom = inj1pw54fsqmp0ludl6vl5wfe63ddax52z5hlq9jhy +decimals = 18 + +[Geisha] +peggy_denom = factory/inj1krswly444gyuunnmchg4uz2ekqvu02k7903skh/geisha decimals = 6 -[DDL] -peggy_denom = factory/inj1put8lfpkwm47tqcl9fgh8grz987mezvrx4arls/DDL +[Genny] +peggy_denom = inj1dpn7mdrxf49audd5ydk5062z08xqgnl4npzfvv decimals = 6 -[DDLTest] -peggy_denom = inj10zhn525tfxf5j34dg5uh5js4fr2plr4yydasxd -decimals = 18 +[GoatInj] +peggy_denom = factory/inj1ua3rm4lsrse2canapg96v8jtg9k9yqzuscu766/GoatInj +decimals = 6 -[DEFI5] -peggy_denom = peggy0xfa6de2697D59E88Ed7Fc4dFE5A33daC43565ea41 -decimals = 18 +[Gorilla] +peggy_denom = factory/inj1wc7a5e50hq9nglgwhc6vs7cnskzedskj2xqv6j/Gorilla +decimals = 6 -[DEFIKINGS] -peggy_denom = inj18h33x5qcr44feutwr2cgazaalcqwtpez57nutx +[GreenMarket] +peggy_denom = inj1wjd2u3wq2dwyr7zlp09squh2xrqjlggy0vlftj decimals = 8 -[DEGGZ] -peggy_denom = inj1uv2arm5gzd35zrxd7ghsslegn0cwpc9jwc0enz +[Greenenergy] +peggy_denom = inj1aqu4y55rg43gk09muvrcel3z45nuxczukhmfut decimals = 18 -[DEK] -peggy_denom = factory/inj1aey234egq5efqr7zfvtzdsq6h2c5wsrma4lw7h/dek -decimals = 6 +[Grind] +peggy_denom = inj125ry0fhlcha7fpt373kejwf8rq5h3mwewqr0y2 +decimals = 18 -[DEK on INJ] -peggy_denom = factory/inj1aey234egq5efqr7zfvtzdsq6h2c5wsrma4lw7h/dekinj -decimals = 1 +[Gryphon Staked Injective] +peggy_denom = inj13xlpypcwl5fuc84uhqzzqumnrcfpptyl6w3vrf +decimals = 18 -[DEPE] -peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/depe +[H3NSY] +peggy_denom = inj1c22v69304zlaan50gdygmlgeaw56lcphl22n87 +decimals = 8 + +[HABS] +peggy_denom = factory/inj1ddn2cxjx0w4ndvcrq4k0s0pjyzwhfc5jaj6qqv/habs decimals = 6 -[DEXTER] -peggy_denom = inj1nlcg7dgufuytaa2sfxam5hm0l38dyv3uk47kdf -decimals = 18 +[HACHI] +peggy_denom = factory/inj13ze65lwstqrz4qy6vvxx3lglnkkuan436aw45e/HACHI +decimals = 9 -[DGNZ] -peggy_denom = factory/inj1l2kcs4yxsxe0c87qy4ejmvkgegvjf0hkyhqk59/DGNZ +[HAIR] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/hair decimals = 6 -[DIB] -peggy_denom = inj1nzngv0ch009jyc0mvm5h55d38c32sqp2fjjws9 +[HAKI] +peggy_denom = factory/inj1lm95gdmz7qatcgw933t97rg58wnzz3dpxv7ldk/YAKUSA +decimals = 6 + +[HAL] +peggy_denom = factory/inj197jczxq905z5ddeemfmhsc077vs4y7xal3wyrm/HALLAS decimals = 18 -[DICE] -peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/DICE +[HALVING] +peggy_denom = factory/inj1k0mzgwd4ujuu9w95xzs8p7qu8udy3atqj3sau7/HALVING decimals = 6 -[DICES] -peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/dices +[HAMU] +peggy_denom = factory/inj1t6py7esw8z6jc8c204ag3zjevqlpfx203hqyt2/HAMU decimals = 6 -[DICK] -peggy_denom = factory/inj1wqk200kkyh53d5px5zc6v8usq3pluk07r4pxpu/DICK +[HAMURAI] +peggy_denom = factory/inj1xqf6rk5p5w3zh22xaxck9g2rnksfhpg33gm9xt/hamu decimals = 6 -[DIDX] -peggy_denom = factory/inj1w24j0sv9rvv473x6pqfd2cnnxtk6cvrh5ek89e/DIDX +[HANZO] +peggy_denom = factory/inj1xz4h76wctruu6l0hezq3dhtfkxzv56ztg4l29t/HANZO decimals = 6 -[DINHEIROS] -peggy_denom = ibc/306269448B7ED8EC0DB6DC30BAEA279A9190E1D583572681749B9C0D44915DAB -decimals = 0 - -[DINO] -peggy_denom = inj1zx9tv9jg98t0fa7u9882gjrtansggmakmwnenm -decimals = 18 - -[DITTO] -peggy_denom = inj1vtg4almersef8pnyh5lptwvcdxnrgqp0zkxafu +[HARD] +peggy_denom = ibc/D6C28E07F7343360AC41E15DDD44D79701DDCA2E0C2C41279739C8D4AE5264BC decimals = 6 -[DNA] -peggy_denom = ibc/AE8E20F37C6A72187633E418169758A6974DD18AB460ABFC74820AAC364D2A13 +[HATEQUNT] +peggy_denom = factory/inj1sfaqn28d0nw4q8f2cm9gvhs69ecv5x8jjtk7ul/HATEQUNT decimals = 6 -[DOCE] -peggy_denom = inj1xx8qlk3g9g3cyqs409strtxq7fuphzwzd4mqzw -decimals = 18 - -[DOGE] -peggy_denom = factory/inj1ghcjw8w7a7ettwn97fadhamywvwf7kk3mhkndy/DOGE +[HATTORI] +peggy_denom = factory/inj1h7zackjlzcld6my000mtg3uzuqdv0ly4c9g88p/HATTORI decimals = 6 -[DOGECoin] -peggy_denom = factory/inj1s0ckch4dlp5eyx7khtqnt9dryd60v6ns4g0yn4/DOGE +[HAVA] +peggy_denom = factory/inj1h0ypsdtjfcjynqu3m75z2zwwz5mmrj8rtk2g52/uhava decimals = 6 -[DOGEINJ] -peggy_denom = inj1qaakagef76lgu56uhdc9rdsycdrznf7pjfjt2c -decimals = 6 +[HAVA COIN] +peggy_denom = inj1u759lmx8e6g8f6l2p08qvrekjwcq87dff0ks3n +decimals = 18 -[DOGEINJCoin] -peggy_denom = factory/inj1s0ckch4dlp5eyx7khtqnt9dryd60v6ns4g0yn4/DOGEINJ +[HDRO] +peggy_denom = factory/inj1etz0laas6h7vemg3qtd67jpr6lh8v7xz7gfzqw/hdro decimals = 6 -[DOGEKIRA] -peggy_denom = inj1xux4gj0g3u8qmuasz7fsk99c0hgny4wl7hfzqu +[HEMULE] +peggy_denom = inj1hqamaawcve5aum0mgupe9z7dh28fy8ghh7qxa7 +decimals = 18 + +[HERB] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/herb decimals = 6 -[DOGENINJA] -peggy_denom = inj1wjv6l090h9wgwr6lc58mj0xphg50mzt8y6dfsy +[HERO] +peggy_denom = inj18mqec04e948rdz07epr9w3j20wje9rpg6flufs decimals = 6 -[DOGGO] -peggy_denom = factory/inj1a4qjk3ytal0alrq566zy6z7vjv6tgrgg0h7wu9/DOGGO +[HEST] +peggy_denom = factory/inj15vj7e40j5cqvxmy8u7h9ud3ustrgeqa98uey96/HEST decimals = 6 -[DOGINJBREAD] -peggy_denom = inj1s4srnj2cdjf3cgun57swe2je8u7n3tkm6kz257 +[HEXA] +peggy_denom = inj13e4hazjnsnapqvd06ngrq5zapw8gegarudzehd +decimals = 8 + +[HGM] +peggy_denom = inj14y8j4je4gs57fgwakakreevx6ultyy7c7rcmk2 decimals = 18 -[DOGOFTHUN] -peggy_denom = factory/inj1056f9jwmdxjmc3xf3urpka00gjfsnna7ct3gy3/DOGOFTHUN +[HINJ] +peggy_denom = factory/inj1srha80fxkk40gzymgrgt3m3ya0u8ms3z022f70/hinj decimals = 6 -[DOGWIF] -peggy_denom = inj16ykyeaggxaqzj3x85rjuk3xunky7mg78yd2q32 -decimals = 8 +[HOUND] +peggy_denom = factory/inj1nccncwqx5q22lf4uh83dhe89e3f0sh8kljf055/HOUND +decimals = 6 -[DOINJ] -peggy_denom = inj1swqv8e6e8tmyeqwq3rp43pfsr75p8wey7vrh0u -decimals = 8 +[HOUSE] +peggy_denom = factory/inj1rvstpdy3ml3c879yzz8evk37ralz7w4dtydsqp/HOUSE +decimals = 6 -[DOJ] -peggy_denom = factory/inj172ccd0gddgz203e4pf86ype7zjx573tn8g0df9/doj +[HRBE] +peggy_denom = factory/inj1lucykkh3kv3wf6amckf205rg5jl8rprdcq8v83/HRBE decimals = 6 -[DOJO] -peggy_denom = inj1wjh8gnp7a6yfcldnp82s0e4yt7n98xpm363c38 +[HST] +peggy_denom = inj1xhvj4u6xtx3p9kr4pqzl3fdu2vedh3e2y8a79z decimals = 18 -[DOJO SWAP] -peggy_denom = inj1qzqlurx22acr4peuawyj3y95v9r9sdqqrafwqa +[HT] +peggy_denom = peggy0x6f259637dcD74C767781E37Bc6133cd6A68aa161 decimals = 18 -[DOJODOG] -peggy_denom = factory/inj1s0awzzjfr92mu6t6h85jmq6s9f6hxnqwpmy3f7/DOJODOG +[HUAHUA] +peggy_denom = ibc/E7807A46C0B7B44B350DA58F51F278881B863EC4DCA94635DAB39E52C30766CB decimals = 6 -[DOJOshroom] -peggy_denom = inj194l9mfrjsthrvv07d648q24pvpfkntetx68e7l +[HULK] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/HULK decimals = 6 -[DOJSHIB] -peggy_denom = inj17n55k95up6tvf6ajcqs6cjwpty0j3qxxfv05vd +[HUMP] +peggy_denom = inj1v29k9gaw7gnds42mrzqdygdgjh28vx38memy0q decimals = 18 -[DOKI] -peggy_denom = ibc/EA7CE127E1CFD7822AD169019CAFDD63D0F5A278DCE974F438099BF16C99FB8B +[HUOBINJ] +peggy_denom = factory/inj1srha80fxkk40gzymgrgt3m3ya0u8ms3z022f70/huobinj decimals = 6 -[DON] -peggy_denom = factory/inj1xjcq2ch3pacc9gql24hfwpuvy9gxszxpz7nzmz/don +[HUSKY] +peggy_denom = factory/inj1467q6d05yz02c2rp5qau95te3p74rqllda4ql7/husky decimals = 6 -[DONALD TRUMP] -peggy_denom = inj1mdf4myxfhgranmzew5kg39nv5wtljwksm9jyuj -decimals = 18 - -[DONK] -peggy_denom = inj1jargzf3ndsadyznuj7p3yrp5grdxsthxyfp0fj -decimals = 6 +[HYDRO] +peggy_denom = inj10r75ap4ztrpwnan8er49dvv4lkjxhgvqflg0f5 +decimals = 8 -[DONKEY] -peggy_denom = inj1ctczwjzhjjes7vch52anvr9nfhdudq6586kyze +[HYDRO WRAPPED INJ] +peggy_denom = inj1r9qgault3k4jyp60d9fkzy62dt09zwg89dn4p6 decimals = 18 -[DONNA] -peggy_denom = inj17k4lmkjl963pcugn389d070rh0n70f5mtrzrvv +[HappyGilmore] +peggy_denom = inj1h5d90rl5hmkp8mtuyc0zpjt00hakldm6wtseew decimals = 18 -[DONOTBUY] -peggy_denom = inj197p39k7ued8e6r5mnekg47hphap8zcku8nws5y -decimals = 6 - -[DOOMER] -peggy_denom = factory/inj1lqv3a2hxggzall4jekg7lpe6lwqsjevnm9ztnf/doomer -decimals = 6 - -[DOPE] -peggy_denom = factory/inj1tphwcsachh92dh5ljcdwexdwgk2lvxansym77k/DOPE -decimals = 0 +[HarryPotterObamaSonicInu] +peggy_denom = inj1y64pkwy0m0jjd825c7amftqe2hmq2wn5ra8ap4 +decimals = 18 -[DORA] -peggy_denom = ibc/BC3AD52E42C6E1D13D2BDCEB497CF5AB9FEE24D804F5563B9E7DCFB825246947 +[Hava Coin] +peggy_denom = inj1fnlfy6r22slr72ryt4wl6uwpg3dd7emrqaq7ne decimals = 18 -[DOT] -peggy_denom = peggy0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080 -decimals = 10 +[Hellooooo] +peggy_denom = inj1xj7c6r65e8asrrpgm889m8pr7x3ze7va2ypql4 +decimals = 18 -[DRACO] -peggy_denom = inj14g9hcmdzlwvafsmrka6gmd22mhz7jd3cm5d8e6 +[Hero Wars] +peggy_denom = inj1f63rgzp2quzxrgfchqhs6sltzf0sksxtl7wtzn decimals = 8 -[DRAGON] -peggy_denom = factory/inj1mg2pnk0djfmvlrrfucnhsfs4um08mwdue3hp9x/DRAGON +[HeyDay] +peggy_denom = inj1rel4r07gl38pc5xqe2q36ytfczgcrry0c4wuwf decimals = 6 -[DREAM] -peggy_denom = factory/inj1l2kcs4yxsxe0c87qy4ejmvkgegvjf0hkyhqk59/dream -decimals = 6 +[HnH] +peggy_denom = inj1e8r3gxvzu34ufgfwzr6gzv6plq55lg0p95qx5w +decimals = 8 -[DRG] -peggy_denom = inj15jg279nugsgqplswynqqfal29tav9va5wzf56t -decimals = 18 +[Hydro] +peggy_denom = factory/inj1pk7jhvjj2lufcghmvr7gl49dzwkk3xj0uqkwfk/hdro +decimals = 6 -[DRIVING] -peggy_denom = inj1ghhdy9mejncsvhwxmvnk5hspkd5fchtrmhu3x2 +[Hydro Protocol] +peggy_denom = inj1vkptqdl42csvr5tsh0gwczdxdenqm7xxg9se0z decimals = 8 -[DROGO] -peggy_denom = ibc/565FE65B82C091F8BAD1379FA1B4560C036C07913355ED4BD8D156DA63F43712 -decimals = 6 +[Hydro Wrapped INJ] +peggy_denom = inj18luqttqyckgpddndh8hvaq25d5nfwjc78m56lc +decimals = 18 -[DROGON] -peggy_denom = inj1h86egqfpypg8q3jp9t607t0y8ea6fdpv66gx0j +[Hydrogen oxide] +peggy_denom = factory/inj1utlxkwfxhmfc826gu07w20mvguysavz72edy4n/h2o decimals = 6 -[DTEST] -peggy_denom = factory/inj1zn8qlkjautjt3mvr7xwuvpe6eddqt5w3mak5s7/DTEST +[IBC] +peggy_denom = ibc/75BD031C1301C554833F205FAFA065178D51AC6100BCE608E6DC2759C2B71715 decimals = 6 -[DTHREE] -peggy_denom = factory/inj12yazr8lq5ptlz2qj9y36v8zwmz90gy9gh35026/DTHREE +[IBCX] +peggy_denom = ibc/491C92BEEAFE513BABA355275C7AE3AC47AA7FD57285AC1D910CE874D2DC7CA0 decimals = 6 -[DUBAIcoin] -peggy_denom = inj1gsm06ndeq620sp73lu26nz76rqfpy9qtg7xfdw +[IBONK] +peggy_denom = factory/inj14cm9e5n5pjgzvwe5t8zshts2t9x2lxk3zp0js2/ibonk decimals = 6 -[DUBDUB] -peggy_denom = inj1nwm43spkusyva27208recgwya2yu2yja934x0n -decimals = 6 +[IDFI] +peggy_denom = inj13ac29xfk969qmydhq2rwekja6mxgwtdgpeq3dj +decimals = 8 -[DUCKS] -peggy_denom = factory/inj1mtxwccht2hpfn2498jc8u4k7sgrurxt04jzgcn/DUCKS +[IDOGE] +peggy_denom = inj18nuas38jw742ezmk942j4l935lenc6nxd4ypga +decimals = 18 + +[IHOP] +peggy_denom = factory/inj17rpa60xtn3rgzuzltuwgpw2lu3ayulkdjgwaza/IHOP decimals = 6 -[DUDE] -peggy_denom = factory/inj1sn34edy635nv4yhts3khgpy5qxw8uey6wvzq53/DUDE +[IJ] +peggy_denom = factory/inj1hcymy0z58zxpm3esch2u5mps04a3vq2fup4j29/InjBull decimals = 6 -[DUEL] -peggy_denom = peggy0x943Af2ece93118B973c95c2F698EE9D15002e604 +[IJT] +peggy_denom = inj1tn8vjk2kdsr97nt5w3fhsslk0t8pnue7mf96wd decimals = 18 -[DUMB] -peggy_denom = factory/inj122c9quyv6aq5e2kr6gdcazdxy2eq2u2jgycrly/DUMB +[IKINGS] +peggy_denom = factory/inj1mt876zny9j6xae25h7hl7zuqf7gkx8q63k0426/IKINGS decimals = 6 -[DUMP BEOPLE] -peggy_denom = inj13d8cpsfc9gxxspdatucvngrvs435zddscapyhk -decimals = 18 +[INCEL] +peggy_denom = factory/inj17g4j3geupy762u0wrewqwprvtzar7k5et2zqsh/incel +decimals = 6 -[DUROV] -peggy_denom = inj1y73laasqpykehcf67hh3z7vn899sdmn6vtsg22 +[INDUSTRY] +peggy_denom = inj1kkc0l4xnz2eedrtp0pxr4l45cfuyw7tywd5682 decimals = 18 -[DWHPPET] -peggy_denom = inj1rreafnwdwc9mu7rm6sm2nwwjd2yw46h26rzz36 +[INJ] +peggy_denom = inj decimals = 18 -[DWIFLUCK] -peggy_denom = factory/inj1gn54l05v5kqy5zmzk5l6wydzgvhvx2srm7rdkg/DWIFLUCK +[INJ LOUNGE] +peggy_denom = inj1dntqalk5gj6g5u74838lmrym3hslc9v3v9etqg +decimals = 8 + +[INJ TEST] +peggy_denom = factory/inj1gxf874xgdcza4rtkashrc8w2s3ulaxa3c7lmeh/inj-tt decimals = 6 -[DYDX] -peggy_denom = ibc/7B911D87318EB1D6A472E9F08FE93955371DF3E1DFFE851A58F4919450FFE7AA -decimals = 18 +[INJ TO THE MOON] +peggy_denom = factory/inj1e05u43qmn9jt502784c009u4elz5l86678esrk/MOON +decimals = 6 -[DYM] -peggy_denom = ibc/346B01430895DC4273D1FAFF470A9CE1155BF6E9F845E625374D019EC9EE796D -decimals = 18 +[INJA] +peggy_denom = factory/inj13y9m57hw2rnvdmsym8na45z9kvexy82c4n6apc/INJA +decimals = 6 -[Dai Stablecoin] -peggy_denom = ibc/265ABC4B9F767AF45CAC6FB76E930548D835EDA3E94BC56B70582A55A73D8C90 -decimals = 18 +[INJBOT] +peggy_denom = inj1hhxn5p7gkcql23dpmkx6agy308xnklzsg5v5cw +decimals = 8 -[Dai Stablecoin (Wormhole)] -peggy_denom = ibc/293F6074F0D8FF3D8A686F11BCA3DD459C54695B8F205C8867E4917A630634C2 +[INJCEL] +peggy_denom = factory/inj1597pysn2u56ggcckykt2zzjuqkeezy5yxfujtj/INJcel +decimals = 6 + +[INJDAO] +peggy_denom = inj177wz9fpk6xjfrr7ex06sv5ukh0csgfak7x5uaq decimals = 8 -[Daisy] -peggy_denom = inj1djnh5pf860722a38lxlxluwaxw6tmycqmzgvhp -decimals = 18 +[INJDINO] +peggy_denom = inj13fnjq02hwxejdm584v9qhrh66mt4l3j8l3yh6f +decimals = 6 + +[INJDOGE] +peggy_denom = factory/inj13zcns55uycr8lcw8q4gvdqp0jejgknk9whv8uh/INJDOGE +decimals = 6 -[Daojo] -peggy_denom = inj1dpgkaju5xqpa3vuz6qxqp0vljne044xgycw0d7 +[INJDOGOS] +peggy_denom = inj1kl2zc5djmp8nmwsetua8gnmvug2c3dfa3uvy2e decimals = 18 -[DarkDeath] -peggy_denom = factory/inj133nvqdan8c79fhqfkmc3h59v30v4urgwuuejke/DarkDeath +[INJECT] +peggy_denom = factory/inj1j7zt6g03vpmg9p7g7qngvylfxqeuds73utsjnk/INJECT decimals = 6 -[Degen] -peggy_denom = factory/inj1j3rm46nj4z8eckv5333897z7esectj64kufs4a/Degen +[INJECTIV] +peggy_denom = factory/inj1x04zxeyrjc7ke5nt7ht3v3gkevxdk7rr0fx8qp/INJECTIV decimals = 6 -[DelPiero] -peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/delpiero +[INJECTIVED] +peggy_denom = inj16ccz3z2usevpyzrarggtqf5fgh8stjsql0rtew decimals = 6 -[Dnd] -peggy_denom = inj1acxjvpu68t2nuw6950606gw2k59qt43zfxrcwq -decimals = 18 +[INJER] +peggy_denom = factory/inj1sjmplasxl9zgj6yh45j3ndskgdhcfcss9djkdn/INJER +decimals = 6 -[Dog Wif Token ] -peggy_denom = inj1qhu9yxtp0x9gkn0n89hcw8c0wc8nhuke8zgw0d -decimals = 8 +[INJERA] +peggy_denom = inj1032h3lllszfld2utcunjvk8knx2c8eedgl7r4y +decimals = 6 -[Doge] -peggy_denom = inj1n4hl6mxv749jkqsrhu23z24e2p3s55de98jypt -decimals = 18 +[INJESUS] +peggy_denom = inj12d7qq0lp656jkrr2d3ez55cr330f3we9c75ml6 +decimals = 8 -[Dogelon Mars] -peggy_denom = peggy0x761D38e5ddf6ccf6Cf7c55759d5210750B5D60F3 -decimals = 18 +[INJEVO] +peggy_denom = inj1f6fxh20pdyuj98c8l2svlky8k7z7hkdztttrd2 +decimals = 8 -[Doggo] -peggy_denom = inj1gasr3mz9wdw2andhuf5254v9haw2j60zlftmha -decimals = 18 +[INJEX] +peggy_denom = factory/inj1zhevrrwywg3az9ulxd9u233eyy4m2mmr6vegsg/INJEX +decimals = 6 -[Doginbread] -peggy_denom = inj1sx9mflrf6jvnzantd8rlzqh9tahgdyul5hq4pc -decimals = 18 +[INJFIRE] +peggy_denom = inj1544nmruy3xc3qqp84cenuzqrdnlyfkprwdfcz5 +decimals = 8 -[Dojo Staked INJ] -peggy_denom = inj134wfjutywny9qnyux2xgdmm0hfj7mwpl39r3r9 -decimals = 18 +[INJGEN] +peggy_denom = factory/inj1ruwdh4vc29t75eryvxs7vwzt7trtrz885teuwa/injgen +decimals = 6 -[Dojo Token] -peggy_denom = inj1zdj9kqnknztl2xclm5ssv25yre09f8908d4923 -decimals = 18 +[INJGOAT] +peggy_denom = inj1p9nluxkvuu5y9y7radpfnwemrdty74l74q2ycp +decimals = 6 -[Dojo bot] -peggy_denom = factory/inj1any4rpwq7r850u6feajg5payvhwpunu9cxqevc/DOJO +[INJHACKTIVE] +peggy_denom = factory/inj14cpnzf4mxyxel7le3wp2zxyvwr8g0wukch9865/INJHACKTIVE decimals = 6 -[Don] -peggy_denom = inj19yv3uvkww6gjda2jn90aayrefjacclsrulr5n2 -decimals = 18 +[INJHAT] +peggy_denom = factory/inj1uc7awz4e4kg9dakz5t8w6zzz7r62992ezsr279/injhat +decimals = 6 -[DonatelloShurikenLipsInjection2dust] -peggy_denom = factory/inj1ya7ltz2mkj0z4w25lxueh7emz6qhwe33m4knx8/INJECTIV +[INJI] +peggy_denom = factory/inj1nql734ta2npe48l26kcexk8ysg4s9fnacv9tvv/INJI decimals = 6 -[Doodle] -peggy_denom = factory/inj1yjhn49auvxjqe2y3hxl9uwwzsjynl4ms0kq6d4/Doodle +[INJINU] +peggy_denom = factory/inj1vjppa6h9lf75pt0v6qnxtej4xcl0qevnxzcrvm/INJINU decimals = 6 -[Dope Token] -peggy_denom = inj1lrewwyn3m2dms6ny7m59x9s5wwcxs5zf5y2w20 +[INJM] +peggy_denom = inj1czlt30femafl68uawedg63834vcg5z92u4ld8k +decimals = 18 + +[INJMEME] +peggy_denom = inj179luuhr3ajhsyp92tw73w8d7c60jxzjcy22356 decimals = 8 -[Dot] -peggy_denom = ibc/B0442E32E21ED4228301A2B1B247D3F3355B73BF288470F9643AAD0CA07DD593 -decimals = 10 +[INJMETA] +peggy_denom = inj1m7264u6ytz43uh5hpup7cg78h6a8xus9dnugeh +decimals = 8 -[Drachme] -peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/drachme +[INJMOON] +peggy_denom = inj12val9c8g0ztttfy8c5amey0adyn0su7x7f27gc +decimals = 8 + +[INJMOOON] +peggy_denom = inj1eu0zlrku7yculmcjep0n3xu3ehvms9pz96ug9e decimals = 6 -[Dragon Coin] -peggy_denom = inj1ftfc7f0s7ynkr3n7fnv37qpskfu3mu69ethpkq -decimals = 18 +[INJNET] +peggy_denom = inj13ew774de6d3qhfm3msmhs9j57le9krrw2ezh3a +decimals = 8 -[Drugs] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj19vy83ne9tzta2yqynj8yg7dq9ghca6yqn9hyej -decimals = 18 +[INJOFGOD] +peggy_denom = inj1snaeff6pryn48fnrt6df04wysuq0rk7sg8ulje +decimals = 8 -[Duel] -peggy_denom = inj1ghackffa8xhf0zehv6n8j3gjzpz532c4h2zkkp -decimals = 18 +[INJOY] +peggy_denom = factory/inj10zvhydqqpejrfgvl2m9swcm0dkf9kc3zsj7yr4/injoy +decimals = 6 -[Dwake] -peggy_denom = factory/inj1a7697s5yg3tsgkfrm0u5hvxm34mu8v0v3trryx/Dwake +[INJPEPE] +peggy_denom = factory/inj15hxjpac22adg3s6znhpc27zx6ufhf6z7fseue2/injpepe decimals = 6 -[E-SHURIKEN] -peggy_denom = inj1z93hdgsd9pn6eajslmyerask38yugxsaygyyu0 +[INJPEPE2] +peggy_denom = factory/inj1jsduylsevrmddn64hdxutcel023eavw44n63z2/INJPEPE2 decimals = 6 -[EARS] -peggy_denom = inj1g07rttdqwcy43yx9m20z030uex29sxpcwvvjmf +[INJPORTAL] +peggy_denom = inj1etyzmggnjdtjazuj3eqqlngvvgu2tqt6vummfh decimals = 8 -[EASPORTS] -peggy_denom = factory/inj1cus3dx8lxq2h2y9mzraxagaw8kjjcx6ul5feak/EASPORTS -decimals = 6 +[INJPREMIUM] +peggy_denom = inj18uw5etyyjqudtaap029u9g5qpxf85kqvtkyhq9 +decimals = 8 -[ECOCH] -peggy_denom = factory/inj1tquax9jy4t7lg2uya4yclhlqlh5a75ykha2ewr/EcoChain +[INJPRO] +peggy_denom = inj15x75x44futqdpx7mp86qc6dcuaqcyvfh0gpxp5 +decimals = 8 + +[INJS] +peggy_denom = factory/inj1yftyfrc720nhrzdep5j70rr8dm9na2thnrl7ut/injs decimals = 6 -[ECPS] -peggy_denom = inj1vzjfp3swqhhjp56w40j4cmekjpmrkq6d3ua7c8 +[INJSANTA] +peggy_denom = inj1qpepg77mysjjqlm9znnmmkynreq9cs2rypwf35 decimals = 8 -[EGGMAN] -peggy_denom = inj1hjym72e40g8yf3dd3lah98acmkc6ms5chdxh6g +[INJSHIB] +peggy_denom = inj1tty2w6sacjpc0ma6mefns27qtudmmp780rxlch decimals = 8 -[ELE] -peggy_denom = inj1zyg7gvzzsc0q39vhv5je50r2jcfv2ru506pd7w -decimals = 6 +[INJSWAP] +peggy_denom = inj1pn5u0rs8qprush2e6re775kyf7jdzk7hrm3gpj +decimals = 8 -[ELEM] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1kxwmyuns9z36dd0luggj7wyzetqyfz8cuhdvm2 -decimals = 18 +[INJTOOLS] +peggy_denom = factory/inj105a0fdpnq0wt5zygrhc0th5rlamd982r6ua75r/injtools +decimals = 6 -[ELM] -peggy_denom = inj1uu3dc475nuhz68j3g4s3cpxzdfczpa3k4dcqz7 -decimals = 18 +[INJUNI] +peggy_denom = inj1dz8acarv345mk5uarfef99ecxuhne3vxux606r +decimals = 8 -[ELMNT] -peggy_denom = inj17z53rhx0w6szyhuakgnj9y0khprrp2rmdg0djz +[INJUSSY] +peggy_denom = factory/inj1s9smy53dtqq087usaf02sz984uddndwuj2f0wt/injussy decimals = 6 -[ELON] -peggy_denom = factory/inj1wjtuzkprkc4gdf4r7dlh9gu96yyxml8qpzzy9p/elon +[INJUST] +peggy_denom = factory/inj123hzxzuee7knt0lf7w9grkxtumg4kxszklmps6/INJUST decimals = 6 -[ELON-GATED-PENIS] -peggy_denom = inj1v0ahzyf4mup6eunf4hswcs9dq3ffea4nqxdhmq +[INJUSTICE] +peggy_denom = factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/INJUSTICE decimals = 6 -[ELONXMAS] -peggy_denom = inj1nmrve743hvmxzv7e3p37nyjl2tf8fszcqg44ma +[INJVERSE] +peggy_denom = inj1leqzwmk6xkczjrum5nefcysqt8k6qnmq5v043y decimals = 8 -[EMP] -peggy_denom = factory/inj1vc6gdrn5ta9h9danl5g0sl3wjwxqfeq6wj2rtm/EMP +[INJX] +peggy_denom = factory/inj104h3hchl7ws8lp78zpvrunvsjdwfjc02r5d0fp/injx decimals = 6 -[EMP On Injective] -peggy_denom = inj1qm7x53esf29xpd2l8suuxtxgucrcv8fkd52p7t -decimals = 18 - -[ENA] -peggy_denom = peggy0x57e114B691Db790C35207b2e685D4A43181e6061 -decimals = 18 - -[ENJ] -peggy_denom = peggy0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c -decimals = 18 - -[EPIC] -peggy_denom = inj1k0f8fqym9t3gz8qq3f72d3x5uk2gx4prs6mld5 -decimals = 18 - -[EPICEIGHT] -peggy_denom = inj19dd2lqy8vpcl3kc9ftz3y7xna6qyevuhq7zxkz -decimals = 18 +[INJXMAS] +peggy_denom = inj1uneeqwr3anam9qknjln6973lewv9k0cjmhj7rj +decimals = 8 -[EPICEL] -peggy_denom = inj1hz2e3fasvhhuxywx96g5vu8nnuvak5ca4r7jsk -decimals = 18 +[INJXSOL] +peggy_denom = inj174p4dt45793vylmt8575cltj6wadtc62nakczq +decimals = 8 -[EPICFIVE] -peggy_denom = inj1cavzx4eswevydc8hawdy362z3a2nucku8c0lp6 -decimals = 18 +[INJXXX] +peggy_denom = inj1pykhnt3l4ekxe6ra5gjc03pgdglavsv34vdjmx +decimals = 8 -[EPICNINE] -peggy_denom = inj1a6jfnquus2vrfshwvurae9wkefu0k3n8ay6u4r +[INJbsc] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1xcgprh58szttp0vqtztvcfy34tkpupr563ua40 decimals = 18 -[EPICONE] -peggy_denom = inj16nenk0jqfcgj8qhfap9n7ldjzke97rw9auxptx +[INJet] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1v8gg4wzfauwf9l7895t0eyrrkwe65vh5n7dqmw decimals = 18 -[EPICSEVEN] -peggy_denom = inj19tval5k0qjgqqkuw0v8g5qz9sautru4jr9rz7e -decimals = 18 +[INJjP] +peggy_denom = inj1xwr2fzkakfpx5afthuudhs90594kr2ka9wwldl +decimals = 8 -[EPICSIX] -peggy_denom = inj1gyf3358u6juk3xvrrp7vlez9yuk2ek33dhqdau +[INJusd] +peggy_denom = inj1qchqhwkzzws94rpfe22qr2v5cv529t93xgrdfv decimals = 18 -[EPICTE] -peggy_denom = inj1c6mpj4p2dvxdgqq9l0sasz0uzu4gah7k3g03xf +[INUJ] +peggy_denom = inj13jhpsn63j6p693ffnfag3efadm9ds5dqqpuml9 decimals = 18 -[EPICTEN] -peggy_denom = inj1e9t4mhc00s4p0rthuyhpy2tz54nuh552sk5v60 +[INUWIFHAT] +peggy_denom = inj1xtrzl67q5rkdrgcauljpwzwpt7pgs3jm32zcaz decimals = 18 -[EPICTREE] -peggy_denom = inj1hjt77g9ujsh52jdm388ggx387w9dk4jwe8w5sq +[IOA] +peggy_denom = inj1xwkqem29z2faqhjgr6jnpl7n62f2wy4nme8v77 decimals = 18 -[EPICTWO] -peggy_denom = inj1z24n2kmsxkz9l75zm7e90f2l0rfgaazh6usw3h -decimals = 18 +[ION] +peggy_denom = ibc/1B2D7E4261A7E2130E8E3506058E3081D3154998413F0DB2F82B04035B3FE676 +decimals = 6 -[EPICfour] -peggy_denom = inj14m6t04x80r2f78l26wxz3vragpy892pdmshcat +[IOTX] +peggy_denom = peggy0x6fB3e0A217407EFFf7Ca062D46c26E5d60a14d69 decimals = 18 -[ERA] -peggy_denom = peggy0x3e1556B5b65C53Ab7f6956E7272A8ff6C1D0ed7b -decimals = 18 +[IPDAI] +peggy_denom = factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/ipdai +decimals = 6 -[ERIC] -peggy_denom = factory/inj1w7cw5tltax6dx7znehul98gel6yutwuvh44j77/eric +[IPEPE] +peggy_denom = factory/inj1td7t8spd4k6uev6uunu40qvrrcwhr756d5qw59/ipepe decimals = 6 -[ERIS Amplified SEI] -peggy_denom = ibc/9774771543D917853B9A9D108885C223DFF03ABC7BD39AD2783CA4E1F58CDC6E +[IPEPER] +peggy_denom = factory/inj1fdqalekg73v06gvzch0zu74ealp35g3y00shmz/IPEPER decimals = 6 -[ESCUDOS] -peggy_denom = ibc/D1546953F51A43131EDB1E80447C823FD0B562C928496808801A57F374357CE5 +[IPandaAI] +peggy_denom = factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/ipandaai decimals = 6 -[ETF] -peggy_denom = inj1cdfcc6x6fn22wl6gs6axgn48rjve2yhjqt8hv2 -decimals = 18 +[ISILLY] +peggy_denom = factory/inj1499ez5npathr0zkphz2yq6npdfc6xvg3d4zynj/iSILLY +decimals = 6 -[ETH] -peggy_denom = factory/inj1a0n3xm83w6d0gzheffkve30z8wpz6xq8zdf48r/ETH +[ITO] +peggy_denom = ibc/E7140919F6B70594F89401B574DC198D206D923964184A9F79B39074301EB04F decimals = 6 -[ETHBTCTrend] -peggy_denom = peggy0x6b7f87279982d919Bbf85182DDeAB179B366D8f2 +[ITSC] +peggy_denom = inj1r63ncppq6shw6z6pfrlflvxm6ysjm6ucx7ddnh decimals = 18 -[ETK] -peggy_denom = inj1hzh43wet6vskk0ltfm27dm9lq2jps2r6e4xvz8 +[IUSD] +peggy_denom = factory/inj1l7u9lv8dfqkjnc7antm5lk7lmskh8zldh9yg05/iUSD decimals = 18 -[EUR] -peggy_denom = eur +[IWH] +peggy_denom = factory/inj1sgnkljwsekkf36p4lgd7v9qa0p66rj64xa756j/IWH decimals = 6 -[EURO] -peggy_denom = factory/inj1t8wuan5zxp58uwtn6j50kx4tjv25argx6lucwy/EURO -decimals = 6 +[IXB] +peggy_denom = inj1p0tvxzfhht5ychd6vj8rqhm0u7g5zxl6prrzpk +decimals = 8 -[EVAI] -peggy_denom = peggy0x50f09629d0afDF40398a3F317cc676cA9132055c +[Imol] +peggy_denom = factory/inj1g055dn0qmm9qyrnuaryffqe3hu8qja0qnslx87/Mol7 +decimals = 0 + +[InjBots] +peggy_denom = factory/inj1qfdgzwy6ppn4nq5s234smhhp9rt8z2yvjl2v49/InjBots +decimals = 18 + +[InjCroc] +peggy_denom = inj1dcl8q3yul8hu3htwxp8jf5ar5nqem62twjl0ga +decimals = 18 + +[InjDoge] +peggy_denom = inj1hlg3pr7mtvzcczq0se4xygscmm2c99rrndh4gv decimals = 8 -[EVI] -peggy_denom = inj1mxcj2f8aqv8uflul4ydr7kqv90kprgsrx0mqup +[InjDragon] +peggy_denom = inj1gkf6h3jwsxayy068uuf6ey55h29vjd5x45pg9g decimals = 18 -[EVIINDEX] -peggy_denom = eviindex +[InjPepe] +peggy_denom = inj19xa3v0nwvdghpj4v2lzf64n70yx7wlqvaxcejn +decimals = 8 + +[InjXsolana] +peggy_denom = inj1u82h7d8l47q3kzwvkm2mgzrskk5au4lrkntkjn +decimals = 8 + +[Inject] +peggy_denom = inj1tn88veylex4f4tu7clpkyneahpmf7nqqmvquuw decimals = 18 -[EVITCEJNI] -peggy_denom = factory/inj1n8kcnuzsrg9d7guu8c5n4cxcurqyszthy29yhg/EVITCEJNI +[InjectDOGE] +peggy_denom = factory/inj1nf43yjjx7sjc3eulffgfyxqhcraywwgrnqmqjc/INJDOGE decimals = 6 -[EVL] -peggy_denom = inj1yhrpy3sr475cfn0g856hzpfrgk5jufvpllfakr +[Injection] +peggy_denom = inj1e8lv55d2nkjss7jtuht9m46cmjd83e39rppzkv +decimals = 6 + +[Injection ] +peggy_denom = inj15sls6g6crwhax7uw704fewmktg6d64h8p46dqy decimals = 18 -[EVMOS] -peggy_denom = ibc/16618B7F7AC551F48C057A13F4CA5503693FBFF507719A85BC6876B8BD75F821 +[Injective] +peggy_denom = inj1v8gg4wzfauwf9l7895t0eyrrkwe65vh5n7dqmw decimals = 18 -[EXOTIC] -peggy_denom = inj1xyf06dyfuldfynqgl9j6yf4vly6fsjr7zny25p +[Injective City] +peggy_denom = factory/inj1xzl47mx87r7sx8e6cz9d3q257xtp9fue3dx073/CITY +decimals = 6 + +[Injective Genesis] +peggy_denom = inj19gm2tefdz5lpx49veyqe3dhtqqkwmtyswv60ux decimals = 8 -[EXP] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10ktwcqd5n4k6278jegrc0u08fudf8r00vdsjwd +[Injective Inu] +peggy_denom = inj1pv567vvmkv2udn6llcnmnww78erjln35ut05kc decimals = 8 -[EYES] -peggy_denom = factory/inj12jtagr03n6fqln4q8mg06lrpaj4scwts49x2cp/eyes +[Injective Memes] +peggy_denom = inj1zq5mry9y76s5w7rd6eaf8kx3ak3mlssqkpzerp +decimals = 8 + +[Injective Moon] +peggy_denom = inj1tu45dzd54ugqc9fdwmce8vcpeyels45rllx4tt +decimals = 8 + +[Injective Panda] +peggy_denom = factory/inj183lz632dna57ayuf6unqph5d0v2u655h2jzzyy/bamboo decimals = 6 -[Eik] -peggy_denom = inj1a0rphvxxgr56354vqz8jhlzuhwyqs8p4zag2kn +[Injective Protocol] +peggy_denom = peggy0x7C7aB80590708cD1B7cf15fE602301FE52BB1d18 decimals = 18 -[Elemental Token] -peggy_denom = inj1kxwmyuns9z36dd0luggj7wyzetqyfz8cuhdvm2 -decimals = 18 +[Injective Snowy] +peggy_denom = inj17hsx7q99utdthm9l6c6nvm2j8a92dr489car5x +decimals = 8 -[Elite] -peggy_denom = inj1rakgrkwx9hs6ye4mt4pcvnhy5zt28dt02u9ws8 -decimals = 18 +[Injective-X] +peggy_denom = inj1uk9ac7qsjxqruva3tavqsu6mfvldu2zdws4cg2 +decimals = 8 -[Enjineer] -peggy_denom = inj1xsc3wp2m654tk62z7y98egtdvd0mqcs7lp4lj0 +[InjectivePEPE] +peggy_denom = inj18y9v9w55v6dsp6nuk6gnjcvegf7ndtmqh9p9z4 decimals = 18 -[Ethena] -peggy_denom = inj1c68rz4w9csvny5xmq6f87auuhfut5zukngmptz -decimals = 18 +[InjectiveSwap] +peggy_denom = inj1t0dfz5gqfrq6exqn0sgyz4pen4lxchfka3udn4 +decimals = 6 -[Ethereum (Arbitrum)] -peggy_denom = ibc/56ADC03A83B6E812C0C30864C8B69CBE502487AD5664D0164F73A1C832D2C7FC -decimals = 18 +[InjectiveToMoon] +peggy_denom = inj1jwms7tyq6fcr0gfzdu8q5qh906a8f44wws9pyn +decimals = 8 -[Ethereum (ERC20)] -peggy_denom = ibc/56CD30F5F8344FDDC41733A058F9021581E97DC668BFAC631DC77A414C05451B +[Injera] +peggy_denom = inj1fqn5wr483v6kvd3cs6sxdcmq4arcsjla5e5gkh decimals = 18 -[Explore Exchange] -peggy_denom = inj10ktwcqd5n4k6278jegrc0u08fudf8r00vdsjwd -decimals = 8 +[Injera Gem] +peggy_denom = peggy0x7872f1B5A8b66BF3c94146D4C95dEbB6c0997c7B +decimals = 18 -[ExtraVirginOliveInu] -peggy_denom = factory/inj14n8f39qdg6t68s5z00t4vczvkcvzlgm6ea5vk5/extravirginoliveinu +[Internet Explorer] +peggy_denom = factory/inj1zhevrrwywg3az9ulxd9u233eyy4m2mmr6vegsg/ninjb decimals = 6 -[FABLE] -peggy_denom = ibc/5FE5E50EA0DF6D68C29EDFB7992EB81CD40B6780C33834A8AB3712FB148E1313 +[Inu] +peggy_denom = factory/inj1z0my390aysyk276lazp4h6c8c49ndnm8splv7n/Inu decimals = 6 -[FACTORY01] -peggy_denom = inj1q8h6pxj73kv36ehv8dx9d6jd6qnphmr0xydx2h -decimals = 6 +[Inv] +peggy_denom = inj1ajzrh9zffh0j4ktjczcjgp87v0vf59nhyvye9v +decimals = 18 -[FAITH] -peggy_denom = inj1efjaf4yuz5ehncz0atjxvrmal7eeschauma26q +[Inzor] +peggy_denom = factory/inj1j7ap5xxp42urr4shkt0zvm0jtfahlrn5muy99a/Inzor decimals = 6 -[FAMILY] -peggy_denom = factory/inj175n4kj6va8yejh7w35t5v5f5gfm6ecyasgjnn9/FAMILY +[JAKE] +peggy_denom = factory/inj1t0vyy5c3cnrw9f0mpjz9xk7fp22ezjjmrza7xn/JAKE decimals = 6 -[FAP] -peggy_denom = inj1qekjz857yggl23469xjr9rynp6padw54f0hhkh +[JAPAN] +peggy_denom = factory/inj13vtsydqxwya3mpmnqa20lhjg4uhg8pp42wvl7t/japan decimals = 18 -[FAST] -peggy_denom = inj1m8wfsukqzxt6uduymrpkjawvpap3earl4p2xlt -decimals = 8 - -[FCS] -peggy_denom = inj1h7smsl8nzjfeszy03cqnjn2yvf629kf3m02fay -decimals = 18 +[JCLUB] +peggy_denom = factory/inj12lhhu0hpszdq5wmt630wcspdxyewz3x2m04khh/JCLUB +decimals = 6 -[FCUK] -peggy_denom = inj1j3gg49wg40epnsd644s84wrzkcy98k2v50cwvv +[JEDI] +peggy_denom = inj1ejfu0rrx4ypfehpms8qzlwvyqs3p6c0tk2y7w7 decimals = 18 -[FDA] -peggy_denom = inj174zq6m77dqvx4e56uqvjq25t7qq5ukmt2zhysh +[JEET] +peggy_denom = inj1sjff8grguxkzp2wft4xnvsmrksera5l5hhr2nt decimals = 18 -[FDAPERP] -peggy_denom = inj1zl5uwywdkgchs54ycp8f84cedz29fhwz0pzvjd -decimals = 18 +[JEETERS] +peggy_denom = factory/inj1jxj9u5y02w4veajmke39jnzmymy5538n420l9z/jeeters +decimals = 6 -[FDC] -peggy_denom = inj1h9tu7ul5pyu2fl2qwpsyvshhqt2g4xqaqxm89z +[JEFF] +peggy_denom = factory/inj10twe630w3tpqvxmeyl5ye99vfv4rmy92jd9was/JEFF decimals = 6 -[FDC3] -peggy_denom = inj1zmpydq6mlwfj246jk9sc5r7898jgcks9rj87mg +[JEJU] +peggy_denom = factory/inj1ymsgskf2467d6q7hwkms9uqsq3h35ng7mj6qs2/jeju decimals = 6 -[FDC40624A] -peggy_denom = inj1est038f5zfdj7qp3ktmqtygfkef5wj6fdl8nx2 +[JELLY] +peggy_denom = factory/inj13ez8llxz7smjgflrgqegwnj258tfs978c0ccz8/JELLY decimals = 6 -[FDC40624B] -peggy_denom = inj1gukq56dd9erzmssdxp305g8wjf7ujz0kc46m6e +[JESUS] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/JESUS decimals = 6 -[FDC40624C] -peggy_denom = inj1623nrzk2us368e6ecl7dfe4tdncqykx76ycvuy +[JESUSINJ] +peggy_denom = inj13tnc70qhxuhc2efyvadc35rgq8uxeztl4ajvkf +decimals = 8 + +[JIMMY] +peggy_denom = ibc/BE0CC03465ABE696C3AE57F6FE166721DF79405DFC4F4E3DC09B50FACABB8888 decimals = 6 -[FDC40625A] -peggy_denom = inj1t3zvq2n5rl2r902zmsynaysse2vj0t4c6zfjlv +[JINJA] +peggy_denom = factory/inj1kr66vwdpxmcgqgw30t6duhtmfdpcvlkljgn5f7/JINJA decimals = 6 -[FDC40625B] -peggy_denom = inj1m4n783st9cvc06emtgl29laypf2980j5j9l3rs +[JINJAO] +peggy_denom = factory/inj105ujajd95znwjvcy3hwcz80pgy8tc6v77spur0/JINJAO decimals = 6 -[FDC40625C] -peggy_denom = inj1uac3sy4jv0uu6drk2pcfqmtdue7w0q0urpwgzl +[JINX] +peggy_denom = factory/inj1rmf0pe6dns2kaasjt82j5lps3t8ke9dzyh3nqt/JINX decimals = 6 -[FDC40625D] -peggy_denom = inj1shu8jhwh9g6yxx6gk6hcg89hmqccdwflljcpes +[JIT] +peggy_denom = factory/inj1d3nq64h56hvjvdqatk9e4p26z5y4g4l6uf2a7w/JIT +decimals = 18 + +[JITSU] +peggy_denom = inj1gjujeawsmwel2d5p78pxmvytert726sejn8ff3 decimals = 6 -[FDCP40626A] -peggy_denom = inj18ls4r6pw85gk39pyh4pjhln7j6504v0dtk7kxz +[JITZ] +peggy_denom = inj1cuxse2aaggs6dqgq7ek8nkxzsnyxljpy9sylyf decimals = 6 -[FET] -peggy_denom = inj1ap9u5fa47yhgs4xv4dcnzn08qvlcpqn0dt59sy -decimals = 18 +[JNI] +peggy_denom = factory/inj140ddmtvnfytfy4htnqk06um3dmq5l79rl3wlgy/jni +decimals = 6 -[FIDEN] -peggy_denom = factory/inj1xm8azp82qt9cytzg5guhx8cjrjmrunv97dfdd3/FIDEN +[JOHNXINA] +peggy_denom = inj1xxqe7t8gp5pexe0qtlh67x0peqs2psctn59h24 decimals = 6 -[FIFA] -peggy_denom = inj1ma5f4cpyryqukl57k22qr9dyxmmc99pw50fn72 -decimals = 18 +[JOKER] +peggy_denom = inj1q4amkjwefyh60nhtvtzhsmpz3mukc0fmpt6vd0 +decimals = 8 -[FIG] -peggy_denom = inj1whqqv3hrqt58laptw90mdhxx7upx40q6s7d0qx +[JPE] +peggy_denom = inj1s8e7sn0f0sgtcj9jnpqnaut3tlh7z720dsxnn7 decimals = 18 -[FINNEON] -peggy_denom = inj1t3lzvya9p4zslzetpzcmc968a9c5jjkdycwlzf +[JPY] +peggy_denom = jpy decimals = 6 -[FISHY] -peggy_denom = inj178xpd5dxe7dq82dtxpcufelshxxlqmzn0h0r26 -decimals = 8 +[JSON] +peggy_denom = factory/inj1nz984w2xnpwrtzsj7mt8rsc57vyhpwa360fq2r/json +decimals = 6 -[FIVE] -peggy_denom = inj1wltxzzuvl9tz8jrawcw756wcawcjt4l4cmsjru +[JSR] +peggy_denom = inj1hdc2qk2epr5fehdjkquz3s4pa0u4alyrd7ews9 decimals = 18 -[FIX] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1xpvxfn66l8aslcc8qgr7jc5rp638ampdnsfqda +[JTEST] +peggy_denom = inj1vvekjsupcth0g2w0tkp6347xxzk5cpx87hwqdm decimals = 18 -[FLOKI] -peggy_denom = factory/inj1g7nvetpqjcugdnjxd27v37m7adm4wf7wphgzq2/FLOKI -decimals = 6 - -[FLUFFY] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hfk4z29f5cv73gxpdydedhkq0yspqc5ymeze9z +[JUDO] +peggy_denom = inj16ukv8g2jcmml7gykxn5ws8ykhxjkugl4zhft5h decimals = 18 -[FLUID] -peggy_denom = inj1avj9gwyj5hzxdkpegcr47kmp8k39nrnejn69mh -decimals = 8 +[JUKI] +peggy_denom = inj1nj2d93q2ktlxrju2uwyevmwcatwcumuejrplxz +decimals = 18 -[FMLY] -peggy_denom = factory/inj1ku7eqpwpgjgt9ch07gqhvxev5pn2p2upzf72rm/FAMILY +[JUMONG] +peggy_denom = inj1w9vzzh7y5y90j69j774trp6z0qfh8r4q4yc3yc decimals = 6 -[FOJO] -peggy_denom = inj1n37zp9g8fzdwxca8m7wrp2e7qvrjzfemaxgp8e -decimals = 18 - -[FOMO] -peggy_denom = factory/inj1k7ygz5ufgavnutv0hkgsz7u9g4c3yj6lq6p0jn/FOMO +[JUNO] +peggy_denom = ibc/D50E26996253EBAA8C684B9CD653FE2F7665D7BDDCA3D48D5E1378CF6334F211 decimals = 6 -[FOMOFox] -peggy_denom = factory/inj1k2kcx5n03pe0z9rfzvs9lt764jja9xpvwrxk7c/FOMOFox +[JUP] +peggy_denom = jup decimals = 6 -[FOO] -peggy_denom = inj1svrvyqm8uu6u4xnkz6tva207pztglcjylxe367 +[JUSSY] +peggy_denom = inj1qydw0aj2gwv27zkrp7xulrg43kx88rv27ymw6m decimals = 18 -[FOOL] -peggy_denom = factory/inj16g5w38hqehsmye9yavag0g0tw7u8pjuzep0sys/FOOL +[JUTSU] +peggy_denom = inj1a7h4n3kd0nkn2hl7n22sgf4c5dj3uyvcue2gla decimals = 6 -[FOORK] -peggy_denom = inj1zu6qda7u90c8w28xkru4v56ak05xpfjtwps0vw -decimals = 18 - -[FORZA] -peggy_denom = inj1p0tsq248wyk2vd980csndrtep3rz50ezfvhfrw +[Jay] +peggy_denom = inj1qt007zcu57qd4nq9u7g5ffgeyyqkx2h4qfzmn4 decimals = 18 -[FOTHER] -peggy_denom = factory/inj1cus3dx8lxq2h2y9mzraxagaw8kjjcx6ul5feak/FOTHER -decimals = 6 - -[FOUR] -peggy_denom = inj1clfx8jgq3636249d0tr3yu26hsp3yqct6lpvcy +[Jenner] +peggy_denom = inj1yjecs8uklzruxphv447l7urdnlguwynm5f45z7 decimals = 18 -[FOX] -peggy_denom = inj167naeycu49dhs8wduj5ddtq6zex9cd6hpn4k4w +[Joe] +peggy_denom = inj14jgu6cs42decuqdfwfz2j462n8lrwhs2d5qdsy decimals = 18 -[FOXY] -peggy_denom = inj15acrj6ew42jvgl5qz53q7c9g82vf3n98l84s4t +[Joe Boden] +peggy_denom = factory/inj1wnrxrkj59t6jeg3jxzhkc0efr2y24y6knvsnmp/boden decimals = 6 -[FPL] -peggy_denom = inj13yutezdwjkz8xucrt6d564yqr3ava76r6q9vle +[KADO] +peggy_denom = inj1608auvvlrz9gf3hxkpkjf90vwwgfyxfxth83g6 decimals = 8 -[FRANKLYN] -peggy_denom = inj1gadcw96ha8fpd6ulgzulsuqj9vjz8dv0s57at8 -decimals = 18 - -[FRAX] -peggy_denom = ibc/3E5504815B2D69DCC32B1FF54CDAC28D7DA2C445BD29C496A83732DC1D52DB90 +[KAGE] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1l49685vnk88zfw2egf6v65se7trw2497wsqk65 decimals = 18 -[FREE] -peggy_denom = inj1rp9tjztx0m5ekcxavq9w27875szf8sm7p0hwpg -decimals = 18 +[KAGECoin] +peggy_denom = factory/inj1jqu8w2qqlc79aewc74r5ts7hl85ksjk4ud7jm8/KAGE +decimals = 6 -[FRINJE] -peggy_denom = factory/inj1mcx5h5wfeqk334u8wx6jv3g520zwy3lh22dyp7/FRINJE -decimals = 10 +[KAI] +peggy_denom = factory/inj1kdvaxn5373fm4g8xxqhq08jefjhmefqjn475dc/KAI +decimals = 6 -[FRNZ] -peggy_denom = ibc/CDD7374B312BEF9723AAEBDE622206490E112CE2B5F49275683CCCD86C7D4BCE +[KAKAPO] +peggy_denom = factory/inj14ykszmwjjsu9s6aakqc02nh3t32h9m7rnz7qd4/KAKAPO decimals = 6 -[FROG] -peggy_denom = inj104y5dpcdtga79tczv6rg3rsekx4hasw2k83h5s +[KANGAL] +peggy_denom = inj1aq9f75yaq9rwewh38r0ffdf4eqt4mlfktef0q2 decimals = 18 -[FROGCOIN] -peggy_denom = inj1dljz0rexnhhxa2vnnfxerg7y0am46kdzltwwgp +[KARATE] +peggy_denom = factory/inj1898t0vtmul3tcn3t0v8qe3pat47ca937jkpezv/karate decimals = 6 -[FROGGY] -peggy_denom = factory/inj1l8pq22awax6r8hamk2v3cgd77w90qtkmynvp8q/FROGGY +[KARMA] +peggy_denom = factory/inj1d4ld9w7mf8wjyv5y7fnhpate07fguv3s3tmngm/karma decimals = 6 -[FROGY] -peggy_denom = factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/FROGiY +[KASA] +peggy_denom = factory/inj183lz632dna57ayuf6unqph5d0v2u655h2jzzyy/kasa decimals = 6 -[FTC] -peggy_denom = inj1v092fpcqz0k5pf6zwz7z8v40q2yxa0elfzt2hk -decimals = 18 - -[FTM] -peggy_denom = peggy0x4E15361FD6b4BB609Fa63C81A2be19d873717870 -decimals = 18 - -[FTUNA] -peggy_denom = inj1yqm9apy8kat8fav2mmm7geshyytdld0al67ks4 +[KAT] +peggy_denom = factory/inj1ms8lr6y6qf2nsffshfmusr8amth5y5wnrjrzur/KAT decimals = 6 -[FUCK] -peggy_denom = factory/inj1fdqalekg73v06gvzch0zu74ealp35g3y00shmz/FUCK +[KATANA] +peggy_denom = factory/inj1vwn4x08hlactxj3y3kuqddafs2hhqzapruwt87/katana decimals = 6 -[FUD] -peggy_denom = factory/inj1j2r6vr20cnhqz3tumd2lh9w8k8guamze3pdf7t/FUD +[KATI] +peggy_denom = factory/inj1gueqq3xdek4q5uyh8jp5xnm0ah33elanvgc524/KATI decimals = 6 -[FUINJ] -peggy_denom = factory/inj1wlwsd6w84ydmsqs5swthm5hw22qm8fxrth5ggx/FUINJ +[KATO] +peggy_denom = factory/inj18dsv2pywequv9c7t5s4kaayg9440hwhht6kkvx/KATO decimals = 6 -[FUSION] -peggy_denom = inj1hpczn65hygw4aaaytxe6gvdu8h3245gjz0q2fx -decimals = 8 - -[FUSIONX] -peggy_denom = inj1a5pxsj6f8jggncw4s2cg39p25swgzdjyljw5tf -decimals = 8 +[KAVA] +peggy_denom = ibc/57AA1A70A4BC9769C525EBF6386F7A21536E04A79D62E1981EFCEF9428EBB205 +decimals = 6 -[FUZION] -peggy_denom = inj1m8hyuja8wmfm0a2l04dgp5ntwkmetkkemw2jcs -decimals = 8 +[KAVAverified] +peggy_denom = inj1t307cfqzqkm4jwqdtcwmvdrfvrz232sffatgva +decimals = 18 -[FUZN] -peggy_denom = ibc/FE87E1E1BB401EC35CD02A57FE5DEF872FA309C018172C4E7DA07F194EAC6F19 +[KAZE BOT] +peggy_denom = factory/inj1q42vrh9rhdnr20eq9ju9lymsxaqxcjpuqgd2cg/KBT decimals = 6 -[FaDaCai] -peggy_denom = inj1yevjg9fdp7px757d6g3j2dkpzmeczturx3vpme +[KET] +peggy_denom = factory/inj1y3tkh4dph28gf2fprxy98sg7w5s7e6ymnrvwgv/KET decimals = 6 -[Fetch.ai] -peggy_denom = peggy0xaea46a60368a7bd060eec7df8cba43b7ef41ad85 -decimals = 18 +[KETCHUP] +peggy_denom = factory/inj16g5w38hqehsmye9yavag0g0tw7u8pjuzep0sys/KETCHUP +decimals = 6 -[FixedFloat] -peggy_denom = inj1xpvxfn66l8aslcc8qgr7jc5rp638ampdnsfqda -decimals = 18 +[KGM] +peggy_denom = factory/inj1a9dsv5whfhqptkycx4l9uly9x684lwmwuv7l3n/KGM +decimals = 6 -[Fluffy] -peggy_denom = inj1hfk4z29f5cv73gxpdydedhkq0yspqc5ymeze9z -decimals = 18 +[KIBA] +peggy_denom = factory/inj1k2kcx5n03pe0z9rfzvs9lt764jja9xpvwrxk7c/KIBA +decimals = 6 -[FollowNinjaBoy_inj] -peggy_denom = factory/inj1sn6u0472ds6v8x2x482gqqc36g0lz28uhq660v/FollowNinjaBoy_inj +[KIDZ] +peggy_denom = factory/inj1f502ktya5h69hxs9acvf3j3d6ygepgxxh2w40u/kidz decimals = 6 -[Frogy the frog] -peggy_denom = factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/FROGIYY +[KIKI] +peggy_denom = factory/inj1yc9tdwkff6fdhseshk2qe4737hysf3dv0jkq35/kiki decimals = 6 -[FuckSol] -peggy_denom = factory/inj1na5d9jqhkyckh8gc5uqht75a74jq85gvpycp44/FUCKSOL +[KIMJ] +peggy_denom = factory/inj137z9mjeja534w789fnl4y7afphn6qq7qvwhd8y/KIMJ decimals = 6 -[FusionX] -peggy_denom = inj1fghekhpfn2rfds6c466p38ttdm2a70gnzymc86 +[KINGELON] +peggy_denom = inj195vkuzpy64f6r7mra4m5aqgtj4ldnk2qs0zx8n decimals = 8 -[GAINJA] -peggy_denom = inj1jnwu7u6h00lzanpl8d5qerr77zcj2vd65r2j7e -decimals = 18 +[KINGFUSION] +peggy_denom = inj1mnzwm6fvkruendv8r63vzlw72yv7fvtngkkzs9 +decimals = 8 -[GALA] -peggy_denom = factory/inj1xtwk60ey0g03s69gfsure0kx8hwwuk24zl0g6l/GALA -decimals = 6 +[KINGINJ] +peggy_denom = inj1a3ec88sxlnu3ntdjk79skr58uetrvxcm4puhth +decimals = 8 -[GALAXY] -peggy_denom = factory/inj10zdjt8ylfln5xr3a2ruf9nwn6d5q2d2r3v6mh8/galaxy +[KINGS] +peggy_denom = factory/inj1pqxpkmczds78hz8cacyvrht65ey58e5yg99zh7/kings decimals = 6 -[GAMBLE] -peggy_denom = factory/inj10g0paz4mx7mq2z8l9vpxz022xshc04g5kw7s43/gamble +[KINJ] +peggy_denom = factory/inj12jtagr03n6fqln4q8mg06lrpaj4scwts49x2cp/kinj decimals = 6 -[GAMER] -peggy_denom = inj1h8l2xcn4h9v0m67qem8x7rmf2akjwc34tjmm7a -decimals = 18 - -[GASH] -peggy_denom = ibc/98C86DE314A044503F35E8C395B745B65E990E12A77A357CBA74F474F860A845 +[KINJA] +peggy_denom = factory/inj1h33jkaqqalcy3wf8um6ewk4hxmfwf8uern470k/Kinja decimals = 6 -[GASTON] -peggy_denom = factory/inj1sskt2d66eqsan9flcqa9vlt7nvn9hh2dtvp8ua/GASTON +[KIRA] +peggy_denom = factory/inj1xy3kvlr4q4wdd6lrelsrw2fk2ged0any44hhwq/KIRA decimals = 6 -[GBP] -peggy_denom = gbp +[KIRAINU] +peggy_denom = factory/inj1weyajq6ksmzzhfpum9texpsgm9u20fc0kdqpgy/KIRAINU decimals = 6 -[GCM] -peggy_denom = inj1p87lprkgg4c465scz5z49a37hf835nzkcpyeej +[KISH] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/KISH decimals = 18 -[GDUCK] -peggy_denom = factory/inj1fc0ngp72an2x8zxf268xe5avfan5z4g0saz6ns/gduck +[KISH6] +peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/KISH6 decimals = 6 -[GEISHA] -peggy_denom = factory/inj1h2dqvlca2lay8amfk5fgvateslp3h0sgf8wmmp/geisha +[KISHU] +peggy_denom = factory/inj1putkaddmnnwjw096tfn7rfyl7jq447y74vmqzt/kishu decimals = 6 -[GEIST] -peggy_denom = inj1x2lg9j9pwmgnnwmhvq2g6pm6emcx7w02pnjnm6 +[KLAUS] +peggy_denom = inj1yjgk5ywd0mhczx3shvreajtg2ag9l3d56us0f8 decimals = 8 -[GEM] -peggy_denom = factory/inj1s5php9vmd03w6nszlnsny43cmuhw3y6u3vt7qc/gem +[KMT] +peggy_denom = factory/inj1av2965j0asg5qwyccm8ycz3qk0eya4873dkp3u/kermit decimals = 6 -[GEM DAO] -peggy_denom = ibc/8AE86084C0D921352F711EF42CCA7BA4C8238C244FE4CC3E4E995D9782FB0E2B +[KNIGHT] +peggy_denom = factory/inj1nz984w2xnpwrtzsj7mt8rsc57vyhpwa360fq2r/knight decimals = 6 -[GEMININJ] -peggy_denom = factory/inj14vrd79l2pxvqctawz39qewfh72x62pfjecxsmv/GEMININJ +[KOGA] +peggy_denom = factory/inj1npvrye90c9j7vfv8ldh9apt8t3a9mv9lsv52yd/KOGA decimals = 6 -[GEMOY] -peggy_denom = inj1j5l0xc2lwqpj2duvllmegxse0dqlx5kgyjehlv +[KOOG] +peggy_denom = inj1dkpmkm7j8t2dh5zqp04xnjlhljmejss3edz3wp decimals = 18 -[GENJI] -peggy_denom = factory/inj1p2rmxvzhctu4z22sxcsry874sekvjdhl7k8rys/GENJI +[KPEPE] +peggy_denom = pepe +decimals = 18 + +[KRINJ] +peggy_denom = factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/KRINJ decimals = 6 -[GENZONE] -peggy_denom = inj1zh9924tws4ctzx5zmz06j09nyjs8fw6wupkadr +[KRIPDRAGON] +peggy_denom = inj12txuqr77qknte82pv5uaz8fpg0rsvssjr2n6jj decimals = 8 -[GEO] -peggy_denom = ibc/8E4953E506CF135A3ACDF6D6556ED1DB4F6A749F3910D2B4A77E2E851C4B2638 -decimals = 6 +[KROPA] +peggy_denom = inj1smlveclt2dakmxx36zla343qyznscaxsyza3gh +decimals = 18 -[GF] -peggy_denom = peggy0xAaEf88cEa01475125522e117BFe45cF32044E238 +[KROPPA] +peggy_denom = inj15x62fd9yy0d8lll00k3h66d3terjn79e29l60p decimals = 18 -[GGBOND] -peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/ggbond +[KRYSY] +peggy_denom = inj1jxcn5t8tmnw26r6fa27m76cw0a7zrzhyenf4c5 decimals = 6 -[GGG] -peggy_denom = inj1yrw42rwc56lq7a3rjnfa5nvse9veennne8srdj -decimals = 8 - -[GGS] -peggy_denom = factory/inj1282wzngdg46gjuttvhxumkx65fnqx0aqmyl0lu/GGS +[KSO] +peggy_denom = factory/inj1waemxur3hdu8gavxrymn6axduxe8ful3rm4qcm/koskesh decimals = 6 -[GIANT] -peggy_denom = factory/inj1r4usuj62gywdwhq9uvx6tg0ywqpppcjqu7z4js/giant +[KTN] +peggy_denom = inj18kem7dt3tpjp2mx8khujnuuhevqg4exjcd7dnm +decimals = 18 + +[KU9] +peggy_denom = factory/inj1056f9jwmdxjmc3xf3urpka00gjfsnna7ct3gy3/KU9 decimals = 6 -[GIFT] -peggy_denom = factory/inj1exks7fvnh9lxzgqejtlvca8t7mw47rks0s0mwa/GIFT +[KUJI] +peggy_denom = ibc/9A115B56E769B92621FFF90567E2D60EFD146E86E867491DB69EEDA9ADC36204 decimals = 6 -[GIGA] -peggy_denom = ibc/36C811A2253AA64B58A9B66C537B89348FE5792A8808AAA343082CBFCAA72278 -decimals = 5 +[KUNAI] +peggy_denom = inj12ntgeddvyzt2vnmy2h8chz080n274df7vvr0ru +decimals = 8 -[GINGER] -peggy_denom = factory/inj172ccd0gddgz203e4pf86ype7zjx573tn8g0df9/GINGER -decimals = 6 +[Kage] +peggy_denom = inj1l49685vnk88zfw2egf6v65se7trw2497wsqk65 +decimals = 18 -[GINKO] -peggy_denom = factory/inj1krswly444gyuunnmchg4uz2ekqvu02k7903skh/ginko +[Karma] +peggy_denom = factory/inj1d4ld9w7mf8wjyv5y7fnhpate07fguv3s3tmngm/karmainj decimals = 6 -[GIRL] -peggy_denom = inj1zkmp7m0u0hll3k5w5598g4qs75t7j8qqvmjspz -decimals = 18 +[Katana] +peggy_denom = inj1tj4l2qmvw22nquwqkr34v83llyzu97l65zjqsf +decimals = 6 -[GLODIOTOR] -peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/glodiotor +[Kaz] +peggy_denom = inj1vweya4us4npaa5xdf026sel0r4qazdvzx6v0v4 decimals = 6 -[GLTO] -peggy_denom = peggy0xd73175f9eb15eee81745d367ae59309Ca2ceb5e2 +[King] +peggy_denom = factory/inj156zqdswjfcttc8hrvwd5z3nv5n53l5xg9mqvht/King decimals = 6 -[GME] -peggy_denom = ibc/CAA5AB050F6C3DFE878212A37A4A6D3BEA6670F5B9786FFF7EF2D34213025272 +[KingFusion] +peggy_denom = inj1ynehe0s2kh9fqp5tka99f8wj2xgsha74h3cmtu decimals = 8 -[GMKY] -peggy_denom = factory/inj1s09n0td75x8p20uyt9dw29uz8j46kejchl4nrv/GMKY +[KiraWifHat] +peggy_denom = factory/inj1kujwsrwlqa7yj9545r9tfmrlqcknlmwm3rqe0q/KiraWifHat decimals = 6 -[GOD] -peggy_denom = inj1whzt6ct4v3zf28a6h08lpf90pglzw7fdh0d384 +[Kitty] +peggy_denom = inj1pfmvtdxhl2l5e245nsfwwl78sfx090asmxnmsw decimals = 18 -[GODDARD] -peggy_denom = ibc/3E89FBB226585CF08EB2E3C2625D1D2B0156CCC2233CAB56165125CACCBE731A -decimals = 6 - -[GODRD] -peggy_denom = ibc/CABB197E23D81F1D1A4CE56A304488C35830F81AC9647F817313AE657221420D -decimals = 6 +[Klaus Project] +peggy_denom = inj1zgurc2nd5awcxmpq7q6zgh9elnxg0z9g5yn4k3 +decimals = 8 -[GODS] -peggy_denom = factory/inj1vug68m8evczhxm26hfe7tetycsfnmm92mr6aaj/GODS -decimals = 6 +[Knight] +peggy_denom = inj1tvxfut7uayypz2ywm92dkvhm7pdjcs85khsenj +decimals = 18 -[GODSTRIKE] -peggy_denom = inj1deejw5k4sxnlxgxnzsy5k2vgc9fzu257ajjcy7 -decimals = 8 +[Koga] +peggy_denom = inj1npvknmdjsk7s35gmemwalxlq4dd38p68mywgvv +decimals = 18 -[GODZILLA] -peggy_denom = factory/inj1e05u43qmn9jt502784c009u4elz5l86678esrk/GODZILLA +[Kuso] +peggy_denom = factory/inj1weyajq6ksmzzhfpum9texpsgm9u20fc0kdqpgy/Kuso decimals = 6 -[GOJO] -peggy_denom = factory/inj13qhzj4fr4u7t7gqj5pqy0yts07eu6k6dkjdcsx/gojo +[LAB] +peggy_denom = ibc/4BFC760786BE40F8C10AA8777D68C6BEFE9C95A881AD29AF1462194018AB7C0C decimals = 6 -[GOKU] -peggy_denom = factory/inj1pgkwcngxel97d9qjvg75upe8y3lvvzncq5tdr0/goku +[LABS] +peggy_denom = factory/inj1eutzkvh4gf5vvmxusdwl2t6gprux67d4acwc0p/labs decimals = 6 -[GOLD] -peggy_denom = gold -decimals = 18 - -[GOLDIE] -peggy_denom = factory/inj130ayayz6ls8qpmu699axhlg7ygy8u6thjjk9nc/GOLDIE +[LADS] +peggy_denom = ibc/5631EB07DC39253B07E35FC9EA7CFB652F63A459A6B2140300EB4C253F1E06A2 decimals = 6 -[GOLDMAN] -peggy_denom = inj140ypzhrxyt7n3fhrgk866hnha29u5l2pv733d0 -decimals = 8 +[LALA] +peggy_denom = inj156wqs2alkgmspj8shjje56ajgneqtjfk20w9n6 +decimals = 18 -[GOOSE] -peggy_denom = factory/inj12tl0d8a739t8pun23mzldhan26ndqllyt6d67p/goose +[LAMA] +peggy_denom = factory/inj18lh8zx4hx0pyksyu74srktv4vgxskkkafknggl/LAMA decimals = 6 -[GORILLA] -peggy_denom = inj1cef5deszfl232ws7nxjgma4deaydd7e7aj6hyf -decimals = 8 - -[GPT] -peggy_denom = factory/inj168gnj4lavp3y5w40rg5qhf50tupwhaj3yvhgr0/GPT -decimals = 6 +[LAMBO] +peggy_denom = peggy0x3d2b66BC4f9D6388BD2d97B95b565BE1686aEfB3 +decimals = 18 -[GRAC] -peggy_denom = ibc/59AA66AA80190D98D3A6C5114AB8249DE16B7EC848552091C7DCCFE33E0C575C +[LAMBOPEPE] +peggy_denom = factory/inj1rge0wzk9hn8qgwz77m9zcznahrp5s322fa6lhu/LAMBO decimals = 6 -[GREATDANE] -peggy_denom = inj195vgq0yvykunkccdzvys548p90ejuc639ryhkg -decimals = 6 +[LAVA] +peggy_denom = inj1jrykfhmfcy4eh8t3yw6ru3ypef39s3dsu46th7 +decimals = 18 -[GREEN] -peggy_denom = inj1nlt0jkqfl6f2wlnalyk2wd4g3dq97uj8z0amn0 +[LBFS] +peggy_denom = inj18ssfe746a42me2j02casptrs0y2z5yak06cy4w decimals = 8 -[GRENADINE] -peggy_denom = inj1ljquutxnpx3ut24up85e708hjk85hm47skx3xj +[LDO] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1me6t602jlndzxgv2d7ekcnkjuqdp7vfh4txpyy decimals = 8 -[GRINJ] -peggy_denom = factory/inj1h3h0yjxlchmydvsjpazcfyhp57lajdurznpeh0/grinj +[LEGE] +peggy_denom = inj122gwdl0xl6908uhdgql2ftrezsy2ru2gme8mhc +decimals = 18 + +[LENARD] +peggy_denom = factory/inj1p2rmxvzhctu4z22sxcsry874sekvjdhl7k8rys/LENARD decimals = 6 -[GROK] -peggy_denom = inj1shlkety7fs0n7l2lxz3pyg6hr0j6dkcdvgvjch -decimals = 8 +[LEO] +peggy_denom = factory/inj1f0gj22j0vep9jt48tnt2mg97c8ysgyxllhvp68/LEO +decimals = 9 -[GRONI] -peggy_denom = factory/inj12jtagr03n6fqln4q8mg06lrpaj4scwts49x2cp/groni +[LESS] +peggy_denom = inj105ke2sw329yl64m4273js3vxfxvq2kdqtz0s63 +decimals = 18 + +[LEVERKUSEN] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/LEVERKUSEN decimals = 6 -[GRT] -peggy_denom = peggy0xc944E90C64B2c07662A292be6244BDf05Cda44a7 +[LFR] +peggy_denom = inj176pze4mvaw2kv72sam0fwt3vn08axlj08e46ac decimals = 18 -[GRUMPY] -peggy_denom = inj16fr4w5q629jdqt0ygknf06yna93ead2pr74gr3 -decimals = 8 +[LFROG] +peggy_denom = inj1vhw7xadr0366hjnvet8tnpgt898vkm47faycar +decimals = 18 -[GUGU] -peggy_denom = ibc/B1826CEA5AE790AB7FCAE84344F113F6C42E6AA3A357CAFEAC4A05BB7531927D -decimals = 6 +[LFrog] +peggy_denom = factory/inj1wu2kfkmrvfr34keemcmjh9zups72r5skygltrg/LFrog +decimals = 11 -[GUPPY] -peggy_denom = ibc/F729B93A13133D7390455293338A0CEAAF876D0F180B7C154607989A1617DD45 -decimals = 6 +[LIBE] +peggy_denom = inj1y7cqd6x50ezv8xrgqx0lnqf4p747nyqq533ma3 +decimals = 18 -[GYEN] -peggy_denom = peggy0xC08512927D12348F6620a698105e1BAac6EcD911 +[LIGMA] +peggy_denom = inj17mhem35tyszwpyfh6s0sr4l5p7wkj0knja9ck3 decimals = 6 -[GZZ] -peggy_denom = inj1ec70stm6p3e6u2lmpl5vzan4pdm79vwlfgcdzd +[LINK] +peggy_denom = peggy0x514910771AF9Ca656af840dff83E8264EcF986CA decimals = 18 -[Galaxy] -peggy_denom = inj13n675x36dnettkxkjll82q72zgnvsazn4we7dx +[LIO] +peggy_denom = factory/inj1p2nh5tx9j27eqwxvr6aj9sasttff6200tpq24k/LIO decimals = 6 -[Gamble Gold] -peggy_denom = inj13a8vmd652mn2e7d8x0w7fdcdt8742j98jxjcx5 -decimals = 18 +[LIOR] +peggy_denom = factory/inj1cjus5ragdkvpmt627fw7wkj2ydsra9s0vap4zx/LIOR +decimals = 6 -[Game Stop] -peggy_denom = inj1vnj7fynxr5a62maf34vca4fes4k0wrj4le5gae +[LMAO] +peggy_denom = inj12d6gr7ky3nfwmsw8y455aryxc95f37dj9hnpuq decimals = 18 -[Gay] -peggy_denom = inj1pw54fsqmp0ludl6vl5wfe63ddax52z5hlq9jhy +[LMEOW] +peggy_denom = inj1wu77ndd9t2yehansltt7wkhhqfjcsah0z4jvlf decimals = 18 -[Geisha] -peggy_denom = factory/inj1krswly444gyuunnmchg4uz2ekqvu02k7903skh/geisha +[LNC] +peggy_denom = inj18epz5afrhu0zehdlj0mp8cfmv3vtusq6fd6ufw decimals = 6 -[Genny] -peggy_denom = inj1dpn7mdrxf49audd5ydk5062z08xqgnl4npzfvv +[LOCAL] +peggy_denom = factory/kujira1swkuyt08z74n5jl7zr6hx0ru5sa2yev5v896p6/local decimals = 6 -[GoatInj] -peggy_denom = factory/inj1ua3rm4lsrse2canapg96v8jtg9k9yqzuscu766/GoatInj +[LOL] +peggy_denom = factory/inj1jpddz58n2ugstuhp238qwwvdf3shxsxy5g6jkn/LOL decimals = 6 -[Gorilla] -peggy_denom = factory/inj1wc7a5e50hq9nglgwhc6vs7cnskzedskj2xqv6j/Gorilla +[LONG] +peggy_denom = factory/inj1ruwdh4vc29t75eryvxs7vwzt7trtrz885teuwa/long decimals = 6 -[GreenMarket] -peggy_denom = inj1wjd2u3wq2dwyr7zlp09squh2xrqjlggy0vlftj -decimals = 8 - -[Greenenergy] -peggy_denom = inj1aqu4y55rg43gk09muvrcel3z45nuxczukhmfut -decimals = 18 - -[Grind] -peggy_denom = inj125ry0fhlcha7fpt373kejwf8rq5h3mwewqr0y2 +[LOOL] +peggy_denom = inj10wuysemk8ptnnt2n4my8qsalgkmw6yxe8wthu2 decimals = 18 -[Gryphon Staked Injective] -peggy_denom = inj13xlpypcwl5fuc84uhqzzqumnrcfpptyl6w3vrf -decimals = 18 +[LORD] +peggy_denom = inj1flek07wkz73a7ptxutumr4u5fukt6th4fwy9zn +decimals = 6 -[H3NSY] -peggy_denom = inj1c22v69304zlaan50gdygmlgeaw56lcphl22n87 +[LOST] +peggy_denom = inj150rlxjvk2trcm59mpwyg7hkkq8sfmdtu0tj873 decimals = 8 -[HABS] -peggy_denom = factory/inj1ddn2cxjx0w4ndvcrq4k0s0pjyzwhfc5jaj6qqv/habs +[LOTUS] +peggy_denom = inj1luz09rzlytzdqnyp2n0cqevdxkf9u780uvsew5 decimals = 6 -[HACHI] -peggy_denom = factory/inj13ze65lwstqrz4qy6vvxx3lglnkkuan436aw45e/HACHI -decimals = 9 +[LOXA] +peggy_denom = inj175ut0y843p0kc4secgplsrs609uwaq3d93tp0x +decimals = 8 -[HAIR] -peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/hair +[LP AKT-MNTA] +peggy_denom = ibc/D128AB965B69D44D80AFD886D8A252C10D6B0B792B3AEA7833C7A1F95BA4BCF8 decimals = 6 -[HAKI] -peggy_denom = factory/inj1pgkwcngxel97d9qjvg75upe8y3lvvzncq5tdr0/haki +[LP ARB-MNTA] +peggy_denom = ibc/A7BBB8697F21D2CE19732D6CCE137E00B78CE83B5F38AC5E7FB163D7E77C1325 decimals = 6 -[HAL] -peggy_denom = factory/inj197jczxq905z5ddeemfmhsc077vs4y7xal3wyrm/HALLAS -decimals = 18 - -[HALVING] -peggy_denom = factory/inj1k0mzgwd4ujuu9w95xzs8p7qu8udy3atqj3sau7/HALVING +[LP ATOM-MNTA] +peggy_denom = ibc/67E901393C5DE5F1D26A0DBC86F352EA9CEBC6F5A1791ADAB33AB557136CD4D0 decimals = 6 -[HAMU] -peggy_denom = factory/inj1t6py7esw8z6jc8c204ag3zjevqlpfx203hqyt2/HAMU +[LP AXL-MNTA] +peggy_denom = ibc/F829D655E96C070395E364658EFB2EC4B93906D44A6C1AE6A2A8821FCB7BA4B8 decimals = 6 -[HAMURAI] -peggy_denom = factory/inj1xqf6rk5p5w3zh22xaxck9g2rnksfhpg33gm9xt/hamu +[LP CHEQ-MNTA] +peggy_denom = ibc/454555FFF0452DD86BC65DDE0158300132DE275CB22183ECE357EA07EBA18528 decimals = 6 -[HANZO] -peggy_denom = factory/inj1xz4h76wctruu6l0hezq3dhtfkxzv56ztg4l29t/HANZO +[LP DOT.axl-MNTA] +peggy_denom = ibc/E9BC2E73393C6C1AD36B04109F5C20CC1CDC4BCB913C8038993C8F68A0CD8474 decimals = 6 -[HARD] -peggy_denom = ibc/D6C28E07F7343360AC41E15DDD44D79701DDCA2E0C2C41279739C8D4AE5264BC +[LP DYDX-MNTA] +peggy_denom = ibc/0FC1BAA3BF09FA73946A6412088FCED87D1D2368F30BDC771FB5FF6EAE0EB5E9 decimals = 6 -[HATEQUNT] -peggy_denom = factory/inj1sfaqn28d0nw4q8f2cm9gvhs69ecv5x8jjtk7ul/HATEQUNT +[LP DYM-MNTA] +peggy_denom = ibc/CC151284BE8E76C67E78ADAE3892C0D9084F0C802CC1EC44BFBE91EE695206E8 decimals = 6 -[HATTORI] -peggy_denom = factory/inj1h7zackjlzcld6my000mtg3uzuqdv0ly4c9g88p/HATTORI +[LP FUZN-MNTA] +peggy_denom = ibc/A064F58ADEAA6DF2AE8006787DFF5E1F144FECF79F880F0140CB38800C295AC2 decimals = 6 -[HAVA] -peggy_denom = factory/inj1h0ypsdtjfcjynqu3m75z2zwwz5mmrj8rtk2g52/uhava +[LP INJ-MNTA] +peggy_denom = ibc/4229FC85617819AFFE8543D646BE8A41CD9F8257985A198E0DF09E54F23EC6D3 decimals = 6 -[HAVA COIN] -peggy_denom = inj1u759lmx8e6g8f6l2p08qvrekjwcq87dff0ks3n -decimals = 18 - -[HDRO] -peggy_denom = factory/inj1etz0laas6h7vemg3qtd67jpr6lh8v7xz7gfzqw/hdro +[LP LINK.axl-MNTA] +peggy_denom = ibc/BA3A7ACF9AEF1F3D1973ED4406EB35CF2DCB9B545D71A7F06B27A7EA918F8396 decimals = 6 -[HEMULE] -peggy_denom = inj1hqamaawcve5aum0mgupe9z7dh28fy8ghh7qxa7 -decimals = 18 - -[HERB] -peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/herb +[LP MNTA-KUJI] +peggy_denom = ibc/AE8EDE6CB769E0EAB809204D5E770F5DF03BC35D3E5977272E6CE5147229F938 decimals = 6 -[HERO] -peggy_denom = inj18mqec04e948rdz07epr9w3j20wje9rpg6flufs +[LP NTRN-MNTA] +peggy_denom = ibc/77011B441A8655A392E5B6DA8AE4ADFB0D3DF3E26B069803D64B89208EC8C07E decimals = 6 -[HEST] -peggy_denom = factory/inj15vj7e40j5cqvxmy8u7h9ud3ustrgeqa98uey96/HEST +[LP OSMO-MNTA] +peggy_denom = ibc/CF0564CF0C15332430432E8D7C417521004EBB2EA4CB922C577BA751A64B6599 decimals = 6 -[HEXA] -peggy_denom = inj13e4hazjnsnapqvd06ngrq5zapw8gegarudzehd -decimals = 8 - -[HGM] -peggy_denom = inj14y8j4je4gs57fgwakakreevx6ultyy7c7rcmk2 -decimals = 18 - -[HINJ] -peggy_denom = factory/inj1srha80fxkk40gzymgrgt3m3ya0u8ms3z022f70/hinj +[LP PAXG.grv-MNTA] +peggy_denom = ibc/8C1E93AB13F5FC3E907751DA5BE4C7518E930A4C9F441523E608323C1CA35F6B decimals = 6 -[HOUND] -peggy_denom = factory/inj1nccncwqx5q22lf4uh83dhe89e3f0sh8kljf055/HOUND +[LP SCRT-MNTA] +peggy_denom = ibc/9FE7DE3797BC1F75E8CBE30B16CE84A3835B8A280E7E7780CE2C86C244F6253C decimals = 6 -[HOUSE] -peggy_denom = factory/inj1rvstpdy3ml3c879yzz8evk37ralz7w4dtydsqp/HOUSE +[LP SHD-MNTA] +peggy_denom = ibc/B512CFCA199DCBDF098824846D2D78E1E04EBA6A5091A99472236B69B24C979E decimals = 6 -[HRBE] -peggy_denom = factory/inj1lucykkh3kv3wf6amckf205rg5jl8rprdcq8v83/HRBE +[LP SOL.wh-MNTA] +peggy_denom = ibc/D765CDBB85910E131773AF7072439F9C382DF0B894D2209E09D2EEFE0298EADC decimals = 6 -[HST] -peggy_denom = inj1xhvj4u6xtx3p9kr4pqzl3fdu2vedh3e2y8a79z -decimals = 18 - -[HT] -peggy_denom = peggy0x6f259637dcD74C767781E37Bc6133cd6A68aa161 -decimals = 18 - -[HUAHUA] -peggy_denom = ibc/9D9B59CA222E54842555DBD81B22EEABE61796D4C6EC8AB47A97C388333AC340 +[LP SOMM-MNTA] +peggy_denom = ibc/457CF9F4112FB7E765A83A1F93DE93246C1E0D5A1C83F9A909B5890A172AAC34 decimals = 6 -[HULK] -peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/HULK +[LP STARS-MNTA] +peggy_denom = ibc/B6B6EB8527A6EE9040DBE926D378EC23CB231AC8680AF75372DBF6B7B64625A7 decimals = 6 -[HUMP] -peggy_denom = inj1v29k9gaw7gnds42mrzqdygdgjh28vx38memy0q -decimals = 18 - -[HUOBINJ] -peggy_denom = factory/inj1srha80fxkk40gzymgrgt3m3ya0u8ms3z022f70/huobinj +[LP TIA-MNTA] +peggy_denom = ibc/59F96C9AAFC26E872D534D483EF8648305AD440EF2E9A506F061BADFC378CE13 decimals = 6 -[HUSKY] -peggy_denom = factory/inj1467q6d05yz02c2rp5qau95te3p74rqllda4ql7/husky +[LP UNI.axl-MNTA] +peggy_denom = ibc/4E4B25966A3CF92B796F5F5D1A70A375F32D8EF4C7E49DEC1C38441B7CA8C7CA decimals = 6 -[HYDRO] -peggy_denom = inj10r75ap4ztrpwnan8er49dvv4lkjxhgvqflg0f5 -decimals = 8 - -[HYDRO WRAPPED INJ] -peggy_denom = inj1r9qgault3k4jyp60d9fkzy62dt09zwg89dn4p6 -decimals = 18 +[LP WHALE-MNTA] +peggy_denom = ibc/89E80D95AF2FD42A47E9746F7CFF32F3B56FE3E113B81241A6A818C8B3221C17 +decimals = 6 -[HappyGilmore] -peggy_denom = inj1h5d90rl5hmkp8mtuyc0zpjt00hakldm6wtseew -decimals = 18 +[LP ampMNTA-MNTA] +peggy_denom = ibc/8545604BFCCC408B753EB0840FF131CB34B9ED1283A9BD551F68C324B53FEF0C +decimals = 6 -[HarryPotterObamaSonicInu] -peggy_denom = inj1y64pkwy0m0jjd825c7amftqe2hmq2wn5ra8ap4 -decimals = 18 +[LP qcMNTA-MNTA] +peggy_denom = ibc/23ADD2AC1D22776CE8CB37FB446E552B9AE5532B76008ADF73F75222A6ACFE19 +decimals = 6 -[Hava Coin] -peggy_denom = inj1fnlfy6r22slr72ryt4wl6uwpg3dd7emrqaq7ne -decimals = 18 +[LP stOSMO-OSMO] +peggy_denom = ibc/20D8F1713F8DF3B990E23E205F1CCD99492390558022FF3FE60B1FAFCF955689 +decimals = 6 -[Hellooooo] -peggy_denom = inj1xj7c6r65e8asrrpgm889m8pr7x3ze7va2ypql4 -decimals = 18 +[LP wAVAX.axl-MNTA] +peggy_denom = ibc/57CC0316BFD206E1A8953DD6EC629F1556998EB9454152F21D51EFB5A35851EF +decimals = 6 -[Hero Wars] -peggy_denom = inj1f63rgzp2quzxrgfchqhs6sltzf0sksxtl7wtzn -decimals = 8 +[LP wBNB.axl-MNTA] +peggy_denom = ibc/2961FC233B605E5D179611D7D5C88E89DD3717081B5D06469FF27DFE83AF9BEB +decimals = 6 -[HeyDay] -peggy_denom = inj1rel4r07gl38pc5xqe2q36ytfczgcrry0c4wuwf +[LP wBTC.axl-MNTA] +peggy_denom = ibc/B73EDDE38FFE4C5782B5C6108F4977B8B4A0C13AA9EBABEBCCFC049ED5CC0968 decimals = 6 -[HnH] -peggy_denom = inj1e8r3gxvzu34ufgfwzr6gzv6plq55lg0p95qx5w -decimals = 8 +[LP wETH.axl-MNTA] +peggy_denom = ibc/83DDCD6991A94C4ED287A029243527A14A86D4A62FB69BBEC51FB9B0156C6683 +decimals = 6 -[Hydro] -peggy_denom = factory/inj1pk7jhvjj2lufcghmvr7gl49dzwkk3xj0uqkwfk/hdro +[LP wETH.axl-USK] +peggy_denom = ibc/6E2B993CA402C047E232E4722D1CE0C73DBD47CBBE465E16F6E3732D27F37649 decimals = 6 -[Hydro Protocol] -peggy_denom = inj1vkptqdl42csvr5tsh0gwczdxdenqm7xxg9se0z -decimals = 8 +[LP wFTM.axl-MNTA] +peggy_denom = ibc/EBF34B929B7744BD0C97ECF6F8B8331E2BCA464F1E5EA702B6B40ED2F55433BD +decimals = 6 -[Hydro Wrapped INJ] -peggy_denom = inj18luqttqyckgpddndh8hvaq25d5nfwjc78m56lc -decimals = 18 +[LP wMATIC.axl-MNTA] +peggy_denom = ibc/942AA5D504B03747AF67B19A874D4E47DAD307E455AEB34E3A4A2ECF7B9D64C8 +decimals = 6 -[Hydrogen oxide] -peggy_denom = factory/inj1utlxkwfxhmfc826gu07w20mvguysavz72edy4n/h2o +[LP wTAO.grv-MNTA] +peggy_denom = ibc/51BB7FAEEDCFC7782519C8A6FB0D7168609B2450B56FED6883ABD742AEED8CC4 decimals = 6 -[IBC] -peggy_denom = ibc/75BD031C1301C554833F205FAFA065178D51AC6100BCE608E6DC2759C2B71715 +[LP wstETH.axl-MNTA] +peggy_denom = ibc/BAB4B518D0972626B854BE5139FCAD7F1113E3787BC13013CB6A370298EFE0C1 decimals = 6 -[IBCX] -peggy_denom = ibc/491C92BEEAFE513BABA355275C7AE3AC47AA7FD57285AC1D910CE874D2DC7CA0 +[LP wstETH.axl-wETH.axl] +peggy_denom = ibc/CEECB0B01EC9BF90822BCA6A1D6D2BF4DC6291BD0C947BEE512BD4639045EAD1 decimals = 6 -[IBONK] -peggy_denom = factory/inj14cm9e5n5pjgzvwe5t8zshts2t9x2lxk3zp0js2/ibonk +[LP yieldETH.axl-MNTA] +peggy_denom = ibc/D410037544911319AB9F3BF0C375598AAD69A7555A5B23158484DFFC10651316 decimals = 6 -[IDFI] -peggy_denom = inj13ac29xfk969qmydhq2rwekja6mxgwtdgpeq3dj +[LRDSVN] +peggy_denom = inj1xcrrweel03eu2fzlvmllhy52wdv25wvejn24dr decimals = 8 -[IDOGE] -peggy_denom = inj18nuas38jw742ezmk942j4l935lenc6nxd4ypga -decimals = 18 - -[IHOP] -peggy_denom = factory/inj17rpa60xtn3rgzuzltuwgpw2lu3ayulkdjgwaza/IHOP -decimals = 6 - -[IJ] -peggy_denom = factory/inj1hcymy0z58zxpm3esch2u5mps04a3vq2fup4j29/InjBull +[LUCK] +peggy_denom = factory/inj13f6c0hc3l80qa7w80j992wtscslkg8pm65rxua/LUCK decimals = 6 -[IJT] -peggy_denom = inj1tn8vjk2kdsr97nt5w3fhsslk0t8pnue7mf96wd +[LUCKY] +peggy_denom = inj1v8vkngk2pn2sye2zduy77lfdeaqq9cd924f5le decimals = 18 -[IKINGS] -peggy_denom = factory/inj1mt876zny9j6xae25h7hl7zuqf7gkx8q63k0426/IKINGS -decimals = 6 - -[INCEL] -peggy_denom = factory/inj17g4j3geupy762u0wrewqwprvtzar7k5et2zqsh/incel +[LUFFY] +peggy_denom = inj1yzz7pvx7e98u3xv4uz0tkqrm6uj684j9lvv0z4 decimals = 6 -[INDUSTRY] -peggy_denom = inj1kkc0l4xnz2eedrtp0pxr4l45cfuyw7tywd5682 -decimals = 18 - -[INJ] -peggy_denom = inj134pxgsexyt782qp3kvxf8nf9xl0q7dfdxk5tws +[LUIGI] +peggy_denom = inj1h8yjr8ely8q8r8rlvs2zx0pmty70ajy4ud6l0y decimals = 18 -[INJ LOUNGE] -peggy_denom = inj1dntqalk5gj6g5u74838lmrym3hslc9v3v9etqg -decimals = 8 - -[INJ TEST] -peggy_denom = factory/inj1gxf874xgdcza4rtkashrc8w2s3ulaxa3c7lmeh/inj-tt +[LUKE] +peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/luke decimals = 6 -[INJ TO THE MOON] -peggy_denom = factory/inj1e05u43qmn9jt502784c009u4elz5l86678esrk/MOON +[LUM] +peggy_denom = ibc/2C58CBDF1C96FAD7E6B1C5EC0A484E9BD9A27E126E36AFBDD7E45F0EA17F3640 decimals = 6 -[INJA] -peggy_denom = factory/inj13y9m57hw2rnvdmsym8na45z9kvexy82c4n6apc/INJA +[LUNA] +peggy_denom = ibc/B8AF5D92165F35AB31F3FC7C7B444B9D240760FA5D406C49D24862BD0284E395 decimals = 6 -[INJBOT] -peggy_denom = inj1hhxn5p7gkcql23dpmkx6agy308xnklzsg5v5cw -decimals = 8 +[LUNA-USDC-LP] +peggy_denom = ibc/CBC3DCBC6559DB851F487B6A41C547A2D75DB0C54A143DDF39C04250E50DA888 +decimals = 6 -[INJCEL] -peggy_denom = factory/inj1597pysn2u56ggcckykt2zzjuqkeezy5yxfujtj/INJcel +[LUNA-USDT-LP] +peggy_denom = ibc/E06B8ECC4B080937AFD0AD0308C4E9354AB169C297F45E087D6057F0010E502D decimals = 6 -[INJDAO] -peggy_denom = inj177wz9fpk6xjfrr7ex06sv5ukh0csgfak7x5uaq +[LUNAR] +peggy_denom = inj1hpu5e5620hvd7hf3t4t4em96cx9t58yefcr3uu decimals = 8 -[INJDINO] -peggy_denom = inj13fnjq02hwxejdm584v9qhrh66mt4l3j8l3yh6f -decimals = 6 - -[INJDOGE] -peggy_denom = factory/inj1k2kcx5n03pe0z9rfzvs9lt764jja9xpvwrxk7c/INJDOGE +[LVN] +peggy_denom = ibc/4971C5E4786D5995EC7EF894FCFA9CF2E127E95D5D53A982F6A062F3F410EDB8 decimals = 6 -[INJDOGOS] -peggy_denom = inj1kl2zc5djmp8nmwsetua8gnmvug2c3dfa3uvy2e +[LYM] +peggy_denom = peggy0xc690F7C7FcfFA6a82b79faB7508c466FEfdfc8c5 decimals = 18 -[INJECT] -peggy_denom = factory/inj1j7zt6g03vpmg9p7g7qngvylfxqeuds73utsjnk/INJECT +[Leapwifhat] +peggy_denom = factory/inj10xsan7m2gwhwjm9hrr74ej77lx8qaxk9cl7rfw/Leapwifhat decimals = 6 -[INJECTIV] -peggy_denom = factory/inj1x04zxeyrjc7ke5nt7ht3v3gkevxdk7rr0fx8qp/INJECTIV +[Leia] +peggy_denom = inj1vm24dp02njzgd35srtlfqkuvxz40dysyx7lgfl decimals = 6 -[INJECTIVED] -peggy_denom = inj16ccz3z2usevpyzrarggtqf5fgh8stjsql0rtew +[Lenz] +peggy_denom = factory/inj19xadglv3eaaavaeur5553hjj99c3vtkajhj4r6/Lenz decimals = 6 -[INJER] -peggy_denom = factory/inj1sjmplasxl9zgj6yh45j3ndskgdhcfcss9djkdn/INJER -decimals = 6 +[Leo] +peggy_denom = inj1xnqaq553d5awhzr68p5vkenrj64ueqpfzjjp0f +decimals = 18 -[INJERA] -peggy_denom = inj1032h3lllszfld2utcunjvk8knx2c8eedgl7r4y -decimals = 6 +[Leonardo] +peggy_denom = inj1yndh0j4dpnjuqaap7u6csta2krvhqddjwd3p9w +decimals = 18 -[INJESUS] -peggy_denom = inj12d7qq0lp656jkrr2d3ez55cr330f3we9c75ml6 +[Lido DAO Token] +peggy_denom = inj1me6t602jlndzxgv2d7ekcnkjuqdp7vfh4txpyy decimals = 8 -[INJEVO] -peggy_denom = inj1f6fxh20pdyuj98c8l2svlky8k7z7hkdztttrd2 +[Lido Staked Ether] +peggy_denom = ibc/FB1B967C690FEA7E9AD7CF76AE2255169D4EA2937D6694B2C0E61A370F76D9FB +decimals = 18 + +[Lost Paradise AI] +peggy_denom = inj1wf0d0ynpfcmpcq8h9evv2z4p0stc73x3skj96r decimals = 8 -[INJEX] -peggy_denom = factory/inj1zhevrrwywg3az9ulxd9u233eyy4m2mmr6vegsg/INJEX +[Luigi] +peggy_denom = inj1vrz0yfrlxe6mqaadmeup8g6nhhzmg7hwpfr6kz +decimals = 18 + +[Luna] +peggy_denom = ibc/0DDC992F19041FC1D499CCA1486721479EBAA7270604E15EDDFABA89D1E772E5 decimals = 6 -[INJFIRE] -peggy_denom = inj1544nmruy3xc3qqp84cenuzqrdnlyfkprwdfcz5 -decimals = 8 +[MAD] +peggy_denom = inj1u97mcn0sx00hnksfc9775gh5vtjhn4my340t0j +decimals = 18 -[INJGEN] -peggy_denom = factory/inj1ruwdh4vc29t75eryvxs7vwzt7trtrz885teuwa/injgen +[MADDOG] +peggy_denom = inj1y942sn0su2wxzh65xnd6h6fplajm04zl8fh0xy decimals = 6 -[INJGOAT] -peggy_denom = inj1p9nluxkvuu5y9y7radpfnwemrdty74l74q2ycp +[MAFIAz] +peggy_denom = factory/inj175n4kj6va8yejh7w35t5v5f5gfm6ecyasgjnn9/MAFIAz decimals = 6 -[INJHACKTIVE] -peggy_denom = factory/inj14cpnzf4mxyxel7le3wp2zxyvwr8g0wukch9865/INJHACKTIVE +[MAGA] +peggy_denom = peggy0x576e2BeD8F7b46D34016198911Cdf9886f78bea7 +decimals = 9 + +[MAI] +peggy_denom = inj1wd3vgvjur8du5zxktj4v4xvny4n8skjezadpp2 +decimals = 8 + +[MAKI] +peggy_denom = factory/inj1l0pnjpc2y8f0wlua025g5verjuvnyjyq39x9q0/MAKI decimals = 6 -[INJHAT] -peggy_denom = factory/inj1uc7awz4e4kg9dakz5t8w6zzz7r62992ezsr279/injhat +[MAMA] +peggy_denom = inj1ayukjh6wufyuymv6ehl2cmjjpvrqjf5m75ty90 decimals = 6 -[INJI] -peggy_denom = factory/inj1nql734ta2npe48l26kcexk8ysg4s9fnacv9tvv/INJI +[MAMBA] +peggy_denom = factory/inj18z5cm702ylpqz8j6gznalcw69wp4m7fsdjhnfq/mamba decimals = 6 -[INJINU] -peggy_denom = inj1ykfurk0jsxcz6hp9tqm8vn2p5k0hn76y6uans6 +[MANEKI] +peggy_denom = factory/inj1an9qflgvpvjdhczce6xwrh4afkaap77c72k4yd/MANEKI decimals = 6 -[INJM] -peggy_denom = inj1czlt30femafl68uawedg63834vcg5z92u4ld8k +[MANTAINJ] +peggy_denom = inj14mf5jzda45w25d2w20z5t2ee9a47wh2tqh6ndg +decimals = 8 + +[MANTIS] +peggy_denom = inj1s6hmmyy9f2k37qqw2pryufg4arqxegurddkdp9 +decimals = 6 + +[MARA] +peggy_denom = inj1kaqrfnqy59dm6rf7skn8j05fdmdya9af0g56we decimals = 18 -[INJMEME] -peggy_denom = inj179luuhr3ajhsyp92tw73w8d7c60jxzjcy22356 -decimals = 8 +[MARB] +peggy_denom = inj1up4k6vxrq4nhzvp5ssksqejk3e26q2jfvngjlj +decimals = 18 -[INJMETA] -peggy_denom = inj1m7264u6ytz43uh5hpup7cg78h6a8xus9dnugeh -decimals = 8 +[MARC] +peggy_denom = inj1xg8d0nf0f9075zj3h5p4hku8r6ahtssxs4sq5q +decimals = 18 -[INJMOON] -peggy_denom = inj12val9c8g0ztttfy8c5amey0adyn0su7x7f27gc -decimals = 8 +[MARD] +peggy_denom = inj177n6een54mcs8sg3hgdruumky308ehgkp9mghr +decimals = 18 -[INJMOOON] -peggy_denom = inj1eu0zlrku7yculmcjep0n3xu3ehvms9pz96ug9e -decimals = 6 +[MARE] +peggy_denom = inj1k4ytnwu0luen8vyvahqmusxmt362r8xw3mmu55 +decimals = 18 -[INJNET] -peggy_denom = inj13ew774de6d3qhfm3msmhs9j57le9krrw2ezh3a -decimals = 8 +[MARF] +peggy_denom = inj1phkfvvrzqtsq6ajklt0vsha78jsl3kg6wcd68m +decimals = 18 -[INJOFGOD] -peggy_denom = inj1snaeff6pryn48fnrt6df04wysuq0rk7sg8ulje -decimals = 8 +[MARG] +peggy_denom = inj14qypf8qd0zw3t7405n4rj86whxhyqnvacl8c9n +decimals = 18 -[INJOY] -peggy_denom = factory/inj1qdepvfux04s8pqvzs4leam4pgl46wy0fx37eyt/injoy -decimals = 9 +[MARH] +peggy_denom = inj1sarc5fq8rlqxl9q3y6f6u5qnzumsqdn6vvvgyh +decimals = 18 -[INJPEPE] -peggy_denom = inj1395ty2rphfvxa6jdwxugk3qrk8h49wn245afcr -decimals = 6 +[MARI] +peggy_denom = inj1x5wvc0k7xht6jyh04vj2dtstcrv68lps4r58d5 +decimals = 18 -[INJPEPE2] -peggy_denom = factory/inj1jsduylsevrmddn64hdxutcel023eavw44n63z2/INJPEPE2 -decimals = 6 +[MARJ] +peggy_denom = inj1sdxdvnn6g2c7qwfts55w4043x8qzdzrku0qp3z +decimals = 18 -[INJPORTAL] -peggy_denom = inj1etyzmggnjdtjazuj3eqqlngvvgu2tqt6vummfh -decimals = 8 +[MARK] +peggy_denom = inj1mnv033jcerdf4d3xw2kfreakahtuf0ue3xgr3u +decimals = 18 -[INJPREMIUM] -peggy_denom = inj18uw5etyyjqudtaap029u9g5qpxf85kqvtkyhq9 -decimals = 8 +[MARM] +peggy_denom = inj1qls0sp552zw55df5klhv98zjueagtn6ugq292f +decimals = 18 -[INJPRO] -peggy_denom = inj15x75x44futqdpx7mp86qc6dcuaqcyvfh0gpxp5 +[MARN] +peggy_denom = inj1q4swwrf6kvut57k8hpul7ef39vr5ka3h74dcwj +decimals = 18 + +[MARS] +peggy_denom = inj1h28xpjed0xtjwe558gr2nx7nsfx2p6sey6zduc decimals = 8 -[INJS] -peggy_denom = factory/inj1yftyfrc720nhrzdep5j70rr8dm9na2thnrl7ut/injs +[MASK] +peggy_denom = factory/inj1nhswhqrgfu3hpauvyeycz7pfealx4ack2c5hfp/mask +decimals = 6 + +[MASTER] +peggy_denom = inj1at4cjadsrags6c65g4vmtnwzw93pv55kky796l decimals = 6 -[INJSANTA] -peggy_denom = inj1ur3qac37axxmuqpsegr7cts77t78jyupucpua3 -decimals = 8 +[MATIC] +peggy_denom = peggy0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0 +decimals = 18 -[INJSHIB] -peggy_denom = inj1tty2w6sacjpc0ma6mefns27qtudmmp780rxlch +[MATR1X] +peggy_denom = inj1367pnje9e8myaw04av6j2n5z7827407k4sa4m8 decimals = 8 -[INJSWAP] -peggy_denom = inj1pn5u0rs8qprush2e6re775kyf7jdzk7hrm3gpj +[MATR1X AI] +peggy_denom = inj18d3wkfajxh7t9cq280ggrksrchj0ymjf7cxwcf decimals = 8 -[INJTOOLS] -peggy_denom = factory/inj105a0fdpnq0wt5zygrhc0th5rlamd982r6ua75r/injtools +[MAX] +peggy_denom = factory/inj164jk46xjwsn6x4rzu6sfuvtlzy2nza0nxfj0nz/MAX decimals = 6 -[INJUNI] -peggy_denom = inj1dz8acarv345mk5uarfef99ecxuhne3vxux606r -decimals = 8 +[MAXH] +peggy_denom = inj1h97mmp9v36ljlmhllyqas0srsfsaq2ppq4dhez +decimals = 18 -[INJUSSY] -peggy_denom = inj1vt2sgyzrna5uj6yetju8k0fjex4g8t7fr3w0vc +[MAXI] +peggy_denom = factory/inj1jtx66k3adkjkrhuqypkt2ld7equf3whcmj2lde/MAXI decimals = 6 -[INJUST] -peggy_denom = inj1j9ld52dpgzyc6j42fv5ggk2xkzukm4tjun6449 +[MBERB] +peggy_denom = inj1d6wle0ugcg2u3hcl9unkuz7usdvhv6tx44l9qn decimals = 6 -[INJUSTICE] -peggy_denom = factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/INJUSTICE +[MBRN] +peggy_denom = ibc/7AF90EDF6F5328C6C33B03DB7E33445708A46FF006932472D00D5076F5504B67 decimals = 6 -[INJVERSE] -peggy_denom = inj1leqzwmk6xkczjrum5nefcysqt8k6qnmq5v043y -decimals = 8 +[MC01] +peggy_denom = ibc/7F8D9BCCF7063FD843B5C052358466691FBEB29F75FA496A5174340B51EDA568 +decimals = 6 -[INJX] -peggy_denom = factory/inj104h3hchl7ws8lp78zpvrunvsjdwfjc02r5d0fp/injx +[MDRA] +peggy_denom = factory/inj1n85jfpxee430qavn9edlkup9kny7aszarag8ed/MADARA +decimals = 18 + +[MEAT] +peggy_denom = inj1naxd5z6h78khd90nmfguxht55eecvttus8vfuh decimals = 6 -[INJXMAS] -peggy_denom = inj1uneeqwr3anam9qknjln6973lewv9k0cjmhj7rj -decimals = 8 +[MEHTER] +peggy_denom = factory/inj1tscuvmskt4fxvqurh0aueg57x4vja683z79q4u/MEHTER +decimals = 6 -[INJXSOL] -peggy_denom = inj174p4dt45793vylmt8575cltj6wadtc62nakczq +[MEME] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj12dag0a67uxcvs5x730lpq0pdsatgmx8ktqeafl decimals = 8 -[INJXXX] -peggy_denom = inj1pykhnt3l4ekxe6ra5gjc03pgdglavsv34vdjmx +[MEMEAI] +peggy_denom = inj1ps72fm7jpvnp3n0ysmjcece6rje9yp7dg8ep5j decimals = 8 -[INJbsc] -peggy_denom = inj1xcgprh58szttp0vqtztvcfy34tkpupr563ua40 +[MEMEME] +peggy_denom = peggy0x1A963Df363D01EEBB2816b366d61C917F20e1EbE decimals = 18 -[INJet] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1v8gg4wzfauwf9l7895t0eyrrkwe65vh5n7dqmw -decimals = 18 +[MEMT] +peggy_denom = factory/inj1vust6dc470q02c35vh8z4qz22ddr0zv35pxaxe/MEMEMINT +decimals = 6 -[INJjP] -peggy_denom = inj1xwr2fzkakfpx5afthuudhs90594kr2ka9wwldl -decimals = 8 +[MEOW] +peggy_denom = factory/inj13wngn7gt8mt2k66x3ykp9tvfk5x89ajwd7yrtr/meow +decimals = 6 -[INJusd] -peggy_denom = inj1qchqhwkzzws94rpfe22qr2v5cv529t93xgrdfv -decimals = 18 +[MESSI] +peggy_denom = inj1upun866849c4kh4yddzkd7s88sxhvn3ldllqjq +decimals = 6 -[INUJ] -peggy_denom = inj13jhpsn63j6p693ffnfag3efadm9ds5dqqpuml9 -decimals = 18 +[META] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/meta +decimals = 6 -[INUWIFHAT] -peggy_denom = inj1xtrzl67q5rkdrgcauljpwzwpt7pgs3jm32zcaz -decimals = 18 +[METAOASIS] +peggy_denom = inj1303k783m2ukvgn8n4a2u5jvm25ffqe97236rx2 +decimals = 8 -[IOA] -peggy_denom = inj1xwkqem29z2faqhjgr6jnpl7n62f2wy4nme8v77 -decimals = 18 +[METAWORLD] +peggy_denom = inj1lafjpyp045430pgddc8wkkg23uxz3gjlsaf4t3 +decimals = 8 -[ION] -peggy_denom = ibc/1B2D7E4261A7E2130E8E3506058E3081D3154998413F0DB2F82B04035B3FE676 +[MEW] +peggy_denom = factory/inj1c0f9ze9wh2xket0zs6wy59v66alwratsdx648k/mew decimals = 6 -[IOTX] -peggy_denom = peggy0x6fB3e0A217407EFFf7Ca062D46c26E5d60a14d69 -decimals = 18 - -[IPDAI] -peggy_denom = factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/ipdai +[MIB] +peggy_denom = factory/inj1k0mzgwd4ujuu9w95xzs8p7qu8udy3atqj3sau7/MIB decimals = 6 -[IPEPE] -peggy_denom = factory/inj1td7t8spd4k6uev6uunu40qvrrcwhr756d5qw59/ipepe +[MICE] +peggy_denom = factory/inj16g5w38hqehsmye9yavag0g0tw7u8pjuzep0sys/MICE decimals = 6 -[IPEPER] -peggy_denom = factory/inj1fdqalekg73v06gvzch0zu74ealp35g3y00shmz/IPEPER +[MICHAEL] +peggy_denom = factory/inj1hem3hs6fsugvx65ry43hpcth55snyy8x4c5s89/MICHAEL decimals = 6 -[IPandaAI] -peggy_denom = factory/inj1y3g4wpgnc4s28gd9ure3vwm9cmvmdphml6mtul/ipandaai +[MICRO] +peggy_denom = inj1jnn7uf83lpl9ug5y6d9pxes9v7vqphd379rfeh decimals = 6 -[ISILLY] -peggy_denom = factory/inj1499ez5npathr0zkphz2yq6npdfc6xvg3d4zynj/iSILLY +[MIGMIG] +peggy_denom = inj1vl8swymtge55tncm8j6f02yemxqueaj7n5atkv decimals = 6 -[ITO] -peggy_denom = ibc/E7140919F6B70594F89401B574DC198D206D923964184A9F79B39074301EB04F +[MILA] +peggy_denom = factory/inj1z08usf75ecfp3cqtwey6gx7nr79s3agal3k8xf/MILA decimals = 6 -[ITSC] -peggy_denom = inj1r63ncppq6shw6z6pfrlflvxm6ysjm6ucx7ddnh -decimals = 18 - -[IUSD] -peggy_denom = factory/inj1l7u9lv8dfqkjnc7antm5lk7lmskh8zldh9yg05/iUSD +[MILF] +peggy_denom = inj1mlahaecngtx3f5l4k6mq882h9r2fhhplsatgur decimals = 18 -[IWH] -peggy_denom = factory/inj1sgnkljwsekkf36p4lgd7v9qa0p66rj64xa756j/IWH +[MILFQUNT] +peggy_denom = factory/inj164mk88yzadt26tzvjkpc4sl2v06xgqnn0hj296/MILFQUNT decimals = 6 -[IXB] -peggy_denom = inj1p0tvxzfhht5ychd6vj8rqhm0u7g5zxl6prrzpk -decimals = 8 - -[Imol] -peggy_denom = factory/inj1g055dn0qmm9qyrnuaryffqe3hu8qja0qnslx87/Mol7 -decimals = 0 - -[InjBots] -peggy_denom = factory/inj1qfdgzwy6ppn4nq5s234smhhp9rt8z2yvjl2v49/InjBots -decimals = 18 - -[InjCroc] -peggy_denom = inj1dcl8q3yul8hu3htwxp8jf5ar5nqem62twjl0ga -decimals = 18 - -[InjDoge] -peggy_denom = inj1hlg3pr7mtvzcczq0se4xygscmm2c99rrndh4gv -decimals = 8 +[MILK] +peggy_denom = factory/inj1fpl63h7at2epr55yn5svmqkq4fkye32vmxq8ry/MILK +decimals = 6 -[InjDragon] -peggy_denom = inj1gkf6h3jwsxayy068uuf6ey55h29vjd5x45pg9g +[MINIDOG] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1shzx0tx7x74ew6ewjdhvw2l3a828tfaggk5lj3 decimals = 18 -[InjPepe] -peggy_denom = inj19xa3v0nwvdghpj4v2lzf64n70yx7wlqvaxcejn -decimals = 8 - -[InjXsolana] -peggy_denom = inj1u82h7d8l47q3kzwvkm2mgzrskk5au4lrkntkjn -decimals = 8 +[MINJ] +peggy_denom = factory/inj1cm5lg3z9l3gftt0c09trnllmayxpwt8825zxw3/minj +decimals = 6 -[Inject] -peggy_denom = inj1tn88veylex4f4tu7clpkyneahpmf7nqqmvquuw -decimals = 18 +[MIRZA] +peggy_denom = factory/inj1m6mqdp030nj6n7pa9n03y0zrkczajm96rcn7ye/MIRZA +decimals = 6 -[InjectDOGE] -peggy_denom = factory/inj1nf43yjjx7sjc3eulffgfyxqhcraywwgrnqmqjc/INJDOGE +[MITHU] +peggy_denom = inj1uh3nt2d0q69hwsgge4z38rm2vg9h7hugdnf5wx decimals = 6 -[Injection] -peggy_denom = inj1e8lv55d2nkjss7jtuht9m46cmjd83e39rppzkv +[MIYOYO] +peggy_denom = factory/inj1xuds68kdmuhextjew8zlt73g5ku7aj0g7tlyjr/miyoyo decimals = 6 -[Injection ] -peggy_denom = inj15sls6g6crwhax7uw704fewmktg6d64h8p46dqy +[MKEY] +peggy_denom = inj1jqqysx5j8uef2kyd32aczp3fktl46aqh7jckd5 decimals = 18 -[Injective] -peggy_denom = inj1v8gg4wzfauwf9l7895t0eyrrkwe65vh5n7dqmw +[MKR] +peggy_denom = ibc/E8C65EFAB7804152191B8311F61877A36779277E316883D8812D3CBEFC79AE4F decimals = 18 -[Injective City] -peggy_denom = factory/inj1xzl47mx87r7sx8e6cz9d3q257xtp9fue3dx073/CITY -decimals = 6 - -[Injective Genesis] -peggy_denom = inj19gm2tefdz5lpx49veyqe3dhtqqkwmtyswv60ux -decimals = 8 - -[Injective Inu] -peggy_denom = inj1pv567vvmkv2udn6llcnmnww78erjln35ut05kc -decimals = 8 - -[Injective Memes] -peggy_denom = inj1zq5mry9y76s5w7rd6eaf8kx3ak3mlssqkpzerp -decimals = 8 - -[Injective Moon] -peggy_denom = inj1tu45dzd54ugqc9fdwmce8vcpeyels45rllx4tt -decimals = 8 +[MNC] +peggy_denom = inj1fr693adew9nnl64ez2mmp46smgn48c9vq2gv6t +decimals = 18 -[Injective Panda] -peggy_denom = factory/inj183lz632dna57ayuf6unqph5d0v2u655h2jzzyy/bamboo -decimals = 6 +[MNINJA] +peggy_denom = inj1cv3dxtjpngy029k5j0mmsye3qrg0uh979ur920 +decimals = 18 -[Injective Protocol] -peggy_denom = peggy0x7C7aB80590708cD1B7cf15fE602301FE52BB1d18 +[MNP] +peggy_denom = inj1s02f4aygftq6yhpev9dmnzp8889g5h3juhd5re decimals = 18 -[Injective Snowy] -peggy_denom = inj17hsx7q99utdthm9l6c6nvm2j8a92dr489car5x -decimals = 8 +[MNTA] +peggy_denom = ibc/A4495880A4A2E3C242F63C710F447BAE072E1A4C2A22F1851E0BB7ABDD26B43D +decimals = 6 -[Injective-X] -peggy_denom = inj1uk9ac7qsjxqruva3tavqsu6mfvldu2zdws4cg2 -decimals = 8 +[MOAR] +peggy_denom = ibc/D37C63726080331AF3713AA59B8FFD409ABD44F5FDB4685E5F3AB43D40108F6F +decimals = 6 -[InjectivePEPE] -peggy_denom = inj18y9v9w55v6dsp6nuk6gnjcvegf7ndtmqh9p9z4 -decimals = 18 +[MOBX] +peggy_denom = ibc/D80D1912495833112073348F460F603B496092385558F836D574F86825B031B4 +decimals = 9 -[InjectiveSwap] -peggy_denom = inj1t0dfz5gqfrq6exqn0sgyz4pen4lxchfka3udn4 +[MOGD] +peggy_denom = inj1yycep5ey53zh2388k6m2jmy4s4qaaurmjhcatj decimals = 6 -[InjectiveToMoon] -peggy_denom = inj1jwms7tyq6fcr0gfzdu8q5qh906a8f44wws9pyn -decimals = 8 - -[Injera] -peggy_denom = inj1fqn5wr483v6kvd3cs6sxdcmq4arcsjla5e5gkh +[MOJO] +peggy_denom = inj14ttljn98g36yp6s9qn59y3xsgej69t53ja2m3n decimals = 18 -[Injera Gem] -peggy_denom = peggy0x7872f1B5A8b66BF3c94146D4C95dEbB6c0997c7B -decimals = 18 +[MOL] +peggy_denom = factory/inj1fnpmp99kclt00kst3ht8g0g44erxr5wx6fem9x/MOL +decimals = 6 -[Internet Explorer] -peggy_denom = factory/inj1zhevrrwywg3az9ulxd9u233eyy4m2mmr6vegsg/ninjb +[MOM] +peggy_denom = inj17p7q5jrc6y00akcjjwu32j8kmjkaj8f0mjfn9p decimals = 6 -[Inu] -peggy_denom = factory/inj1z0my390aysyk276lazp4h6c8c49ndnm8splv7n/Inu +[MOMO] +peggy_denom = factory/inj12kja5s3dngydnhmdm69v776mkfrf7nuzclwzc4/MOMO decimals = 6 -[Inv] -peggy_denom = inj1ajzrh9zffh0j4ktjczcjgp87v0vf59nhyvye9v +[MONKEY] +peggy_denom = factory/inj1v88cetqty588vkc5anxnm3zjcj2dmf4dwpdxry/monkey +decimals = 6 + +[MONKS] +peggy_denom = inj1fy4hd7gqtdzp6j84v9phacm3f998382yz37rjd decimals = 18 -[Inzor] -peggy_denom = factory/inj1j7ap5xxp42urr4shkt0zvm0jtfahlrn5muy99a/Inzor +[MOO] +peggy_denom = factory/inj10tj05gfpxgnmpr4q7rhxthuknc6csatrp0uxff/moo decimals = 6 -[JAKE] -peggy_denom = factory/inj1t0vyy5c3cnrw9f0mpjz9xk7fp22ezjjmrza7xn/JAKE +[MOON] +peggy_denom = factory/inj1d2gl87f9ldwemvhm8rskqzuqprrsvc5fr5nllc/MOON decimals = 6 -[JAPAN] -peggy_denom = factory/inj13vtsydqxwya3mpmnqa20lhjg4uhg8pp42wvl7t/japan +[MOONIFY] +peggy_denom = factory/inj1ktq0gf7altpsf0l2qzql4sfs0vc0ru75cnj3a6/moonify +decimals = 6 + +[MOONTRADE] +peggy_denom = inj19fzjd8rungrlmkujr85v0v7u7xm2aygxsl03cy +decimals = 8 + +[MOR] +peggy_denom = inj13vyz379revr8w4p2a59ethm53z6grtw6cvljlt +decimals = 8 + +[MORKIE] +peggy_denom = inj1k30vrj8q6x6nfyn6gpkxt633v3u2cwncpxflaa decimals = 18 -[JCLUB] -peggy_denom = factory/inj12lhhu0hpszdq5wmt630wcspdxyewz3x2m04khh/JCLUB +[MOTHER] +peggy_denom = ibc/984E90A8E0265B9804B7345C7542BF9B3046978AE5557B4AABADDFE605CACABE decimals = 6 -[JEDI] -peggy_denom = inj1vhsam3xn26fq6lpfpnsnrrg66tjfxts8p7hrrf -decimals = 6 +[MOX] +peggy_denom = inj1w86sch2d2zmpw0vaj5sn2hdy6evlvqy5kx3mf0 +decimals = 18 -[JEET] -peggy_denom = inj1sjff8grguxkzp2wft4xnvsmrksera5l5hhr2nt +[MPEPE] +peggy_denom = mpepe decimals = 18 -[JEETERS] -peggy_denom = factory/inj1jxj9u5y02w4veajmke39jnzmymy5538n420l9z/jeeters -decimals = 6 +[MRKO] +peggy_denom = inj10wufg9exwgr8qgehee9q8m8pk25c62wwul4xjx +decimals = 8 -[JEFF] -peggy_denom = factory/inj10twe630w3tpqvxmeyl5ye99vfv4rmy92jd9was/JEFF +[MRZ] +peggy_denom = factory/inj15e6p3slz9pa7kcn280y7hgp6rvhsqm3vnczlaw/mirza decimals = 6 -[JEJU] -peggy_denom = factory/inj1ymsgskf2467d6q7hwkms9uqsq3h35ng7mj6qs2/jeju -decimals = 6 +[MT] +peggy_denom = inj1exeh9j6acv6375mv9rhwtzp4qhfne5hajncllk +decimals = 8 -[JELLY] -peggy_denom = factory/inj13ez8llxz7smjgflrgqegwnj258tfs978c0ccz8/JELLY +[MUBI] +peggy_denom = factory/inj1fzhwjv2kjv7xr2h4phue5yqsjawjypcamcpl5a/mubi decimals = 6 -[JESUS] -peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/JESUS +[MUSHROOM] +peggy_denom = inj1wchqefgxuupymlumlzw2n42c6y4ttjk9a9nedq decimals = 6 -[JESUSINJ] -peggy_denom = inj13tnc70qhxuhc2efyvadc35rgq8uxeztl4ajvkf +[MUSK] +peggy_denom = inj1em3kmw6dmef39t7gs8v9atsvzkprdr03k5h5ej decimals = 8 -[JIMMY] -peggy_denom = ibc/BE0CC03465ABE696C3AE57F6FE166721DF79405DFC4F4E3DC09B50FACABB8888 +[MYRK] +peggy_denom = ibc/48D1DA9AA68C949E27BAB39B409681292035ABF63EAB663017C7BEF98A3D118E decimals = 6 -[JINJA] -peggy_denom = factory/inj1kr66vwdpxmcgqgw30t6duhtmfdpcvlkljgn5f7/JINJA -decimals = 6 +[MYSTERYBOX1] +peggy_denom = factory/inj1llr45x92t7jrqtxvc02gpkcqhqr82dvyzkr4mz/MYSTERYBOX1 +decimals = 0 -[JINJAO] -peggy_denom = factory/inj105ujajd95znwjvcy3hwcz80pgy8tc6v77spur0/LILKRYSTAL +[MacTRUMP] +peggy_denom = inj10gsw06ee0ppy7ltqeqhagle35h0pnue9nnsetg decimals = 6 -[JINX] -peggy_denom = factory/inj1rmf0pe6dns2kaasjt82j5lps3t8ke9dzyh3nqt/JINX +[Maga] +peggy_denom = inj1wey50ukykccy8h6uaacln8naz5aahhsy09h4x0 decimals = 6 -[JIT] -peggy_denom = factory/inj1d3nq64h56hvjvdqatk9e4p26z5y4g4l6uf2a7w/JIT +[Mak] +peggy_denom = inj1vpks54yg6kwtsmt9r2psclcp0gmkgma3c3rvmg decimals = 18 -[JITSU] -peggy_denom = inj1gjujeawsmwel2d5p78pxmvytert726sejn8ff3 -decimals = 6 +[MantaInj] +peggy_denom = inj1qzc2djpnpg9n5jjcjzayl0dn4gjvft77yfau52 +decimals = 8 -[JITZ] -peggy_denom = inj1cuxse2aaggs6dqgq7ek8nkxzsnyxljpy9sylyf +[Mark] +peggy_denom = factory/inj1uw9z3drc0ea680e4wk60lmymstx892nta7ycyt/MARK decimals = 6 -[JNI] -peggy_denom = factory/inj140ddmtvnfytfy4htnqk06um3dmq5l79rl3wlgy/jni +[Marshmello] +peggy_denom = inj1aw5t8shvcesdrh47xfyy9x9j0vzkhxuadzv6dw decimals = 6 -[JOHNXINA] -peggy_denom = inj1xxqe7t8gp5pexe0qtlh67x0peqs2psctn59h24 +[MartialArts] +peggy_denom = factory/inj1tjspc227y7ck52hppnpxrmhfj3kd2pw3frjw8v/MartialArts decimals = 6 -[JOKER] -peggy_denom = inj1q4amkjwefyh60nhtvtzhsmpz3mukc0fmpt6vd0 +[Matr1x AI] +peggy_denom = inj1gu7vdyclf2fjf9jlr6dhzf34kcxchjavevuktl decimals = 8 -[JPE] -peggy_denom = inj1s8e7sn0f0sgtcj9jnpqnaut3tlh7z720dsxnn7 -decimals = 18 - -[JPY] -peggy_denom = jpy +[MelonMask] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/melonmask decimals = 6 -[JSON] -peggy_denom = factory/inj1nz984w2xnpwrtzsj7mt8rsc57vyhpwa360fq2r/json +[Meme] +peggy_denom = factory/inj1c72uunyxvpwfe77myy7jhhjtkqdk3csum846x4/Meme +decimals = 4 + +[MemeCoin] +peggy_denom = inj12dag0a67uxcvs5x730lpq0pdsatgmx8ktqeafl +decimals = 8 + +[Men In Black] +peggy_denom = factory/inj1q3xa3r638hmpu2mywg5r0w8a3pz2u5l9n7x4q2/MeninblackINJ decimals = 6 -[JSR] -peggy_denom = inj1hdc2qk2epr5fehdjkquz3s4pa0u4alyrd7ews9 +[Messi] +peggy_denom = inj1lvq52czuxncydg3f9z430glfysk4yru6p4apfr decimals = 18 -[JTEST] -peggy_denom = inj1vvekjsupcth0g2w0tkp6347xxzk5cpx87hwqdm -decimals = 18 +[MetaOasis] +peggy_denom = inj1uk7dm0ws0eum6rqqfvu8d2s5vrwkr9y2p7vtxh +decimals = 8 -[JUDO] -peggy_denom = inj16ukv8g2jcmml7gykxn5ws8ykhxjkugl4zhft5h -decimals = 18 +[MetaPX] +peggy_denom = inj1dntprsalugnudg7n38303l3l577sxkxc6q7qt5 +decimals = 8 -[JUKI] -peggy_denom = inj1nj2d93q2ktlxrju2uwyevmwcatwcumuejrplxz -decimals = 18 +[Metti] +peggy_denom = inj1lgnrkj6lkrckyx23jkchdyuy62fj4773vjp3jf +decimals = 8 -[JUMONG] -peggy_denom = inj1w9vzzh7y5y90j69j774trp6z0qfh8r4q4yc3yc -decimals = 6 +[Mew Cat] +peggy_denom = inj12pykmszt7g2l5h2q9h8vfk0w6aq2nj8waaqs7d +decimals = 8 -[JUNO] -peggy_denom = ibc/D50E26996253EBAA8C684B9CD653FE2F7665D7BDDCA3D48D5E1378CF6334F211 +[Minions] +peggy_denom = inj1wezquktplhkx9gheczc95gh98xemuxqv4mtc84 decimals = 6 -[JUP] -peggy_denom = jup +[MitoTutorial] +peggy_denom = factory/inj1m3ea9vs5scly8c5rm6l3zypknfckcc3xzu8u5v/Test decimals = 6 -[JUSSY] -peggy_denom = inj1qydw0aj2gwv27zkrp7xulrg43kx88rv27ymw6m +[Money] +peggy_denom = inj108rxfpdh8q0pyrnnp286ftj6jctwtajjeur773 decimals = 18 -[JUTSU] -peggy_denom = inj1aj27yjf5cg6aaccj0xxdpep9h5kymtmu3ccz9h +[Monks] +peggy_denom = factory/inj148sjw9h9n3n8gjw37reetwdlc7v4hfhl8r7vv3/Monks decimals = 6 -[Jay] -peggy_denom = inj1qt007zcu57qd4nq9u7g5ffgeyyqkx2h4qfzmn4 +[Moon] +peggy_denom = inj143ccar58qxmwgxr0zcp32759z5nsvseyr2gm7c decimals = 18 -[Jenner] -peggy_denom = inj1yjecs8uklzruxphv447l7urdnlguwynm5f45z7 +[Moon ] +peggy_denom = inj1e3gqdkr2v7ld6m3620lgddfcarretrca0e7gn5 decimals = 18 -[Joe] -peggy_denom = inj14jgu6cs42decuqdfwfz2j462n8lrwhs2d5qdsy -decimals = 18 +[Moonlana] +peggy_denom = inj1trg4pfcu07ft2dhd9mljp9s8pajxeclzq5cnuw +decimals = 8 -[Joe Boden] -peggy_denom = factory/inj1wnrxrkj59t6jeg3jxzhkc0efr2y24y6knvsnmp/boden +[Morc] +peggy_denom = inj1vnwc3n4z2rewaetwwxz9lz46qncwayvhytpddl +decimals = 8 + +[MrT] +peggy_denom = inj1hrhfzv3dfzugfymf7xw37t0erp32f2wkcx3r74 decimals = 6 -[KADO] -peggy_denom = inj1608auvvlrz9gf3hxkpkjf90vwwgfyxfxth83g6 -decimals = 8 +[Multichain USDC] +peggy_denom = ibc/610D4A1B3F3198C35C09E9AF7C8FB81707912463357C9398B02C7F13049678A8 +decimals = 6 -[KAGE] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1l49685vnk88zfw2egf6v65se7trw2497wsqk65 +[MySymbol] +peggy_denom = inj1t6hampk8u4hsrxwt2ncw6xx5xryansh9mg94mp decimals = 18 -[KAGECoin] -peggy_denom = factory/inj1jqu8w2qqlc79aewc74r5ts7hl85ksjk4ud7jm8/KAGE -decimals = 6 +[MyTokenOne] +peggy_denom = inj13m7h8rdfvr0hwvzzvufwe2sghlfd6e45rz0txa +decimals = 18 -[KAI] -peggy_denom = factory/inj1kdvaxn5373fm4g8xxqhq08jefjhmefqjn475dc/KAI +[MyTokenZero] +peggy_denom = inj1kzk2h0g6glmlwamvmzq5jekshshkdez6dnqemf +decimals = 18 + +[NAKI] +peggy_denom = factory/inj10lauc4jvzyacjtyk7tp3mmwtep0pjnencdsnuc/NAKI decimals = 6 -[KAKAPO] -peggy_denom = factory/inj14ykszmwjjsu9s6aakqc02nh3t32h9m7rnz7qd4/KAKAPO +[NAMI] +peggy_denom = ibc/B82AA4A3CB90BA24FACE9F9997B75359EC72788B8D82451DCC93986CB450B953 +decimals = 6 + +[NARUTO] +peggy_denom = factory/inj16x0d8udzf2z2kjkdlr9ehdt7mawn9cckzt927t/naruto decimals = 6 -[KANGAL] -peggy_denom = inj1aq9f75yaq9rwewh38r0ffdf4eqt4mlfktef0q2 +[NAWU] +peggy_denom = inj1y5qs5nm0q5qz62lxkeq5q9hpkh050pfn2j6mh4 decimals = 18 -[KARATE] -peggy_denom = factory/inj1898t0vtmul3tcn3t0v8qe3pat47ca937jkpezv/karate +[NBD] +peggy_denom = factory/inj1ckw2dxkwp7ruef943x50ywupsmxx9wv8ahdzkt/NBD decimals = 6 -[KARMA] -peggy_denom = factory/inj1d4ld9w7mf8wjyv5y7fnhpate07fguv3s3tmngm/karma +[NBLA] +peggy_denom = factory/inj1d0zfq42409a5mhdagjutl8u6u9rgcm4h8zfmfq/nbla decimals = 6 -[KASA] -peggy_denom = factory/inj183lz632dna57ayuf6unqph5d0v2u655h2jzzyy/kasa +[NBOY] +peggy_denom = factory/inj1nmc5namhwszx0yartvjm6evsxrj0ctq2qa30l7/NBOY decimals = 6 -[KAT] -peggy_denom = factory/inj1ms8lr6y6qf2nsffshfmusr8amth5y5wnrjrzur/KAT +[NBZ] +peggy_denom = ibc/1011E4D6D4800DA9B8F21D7C207C0B0C18E54E614A8576037F066B775210709D decimals = 6 -[KATANA] -peggy_denom = inj1j36ddpvef5jgmp4ngy6kl0r45c2tftu4qjuke8 -decimals = 6 +[NBZAIRDROP] +peggy_denom = factory/inj1llr45x92t7jrqtxvc02gpkcqhqr82dvyzkr4mz/NBZAIRDROP +decimals = 0 -[KATI] -peggy_denom = factory/inj1gueqq3xdek4q5uyh8jp5xnm0ah33elanvgc524/KATI -decimals = 6 +[NBZPROMO1] +peggy_denom = factory/inj1llr45x92t7jrqtxvc02gpkcqhqr82dvyzkr4mz/NBZPROMO1 +decimals = 0 -[KATO] -peggy_denom = factory/inj18dsv2pywequv9c7t5s4kaayg9440hwhht6kkvx/KATO +[NCACTE] +peggy_denom = factory/inj1zpgcfma4ynpte8lwfxqfszddf4nveq95prqyht/NCACTE decimals = 6 -[KAVA] -peggy_denom = ibc/57AA1A70A4BC9769C525EBF6386F7A21536E04A79D62E1981EFCEF9428EBB205 +[NCH] +peggy_denom = inj1d8pmcxk2grd62pwcy4q58l2vqh98vwkjx9nsvm +decimals = 8 + +[NCOQ] +peggy_denom = factory/inj13gc6rhwe73hf7kz2fwpall9h73ft635yss7tas/NCOQ decimals = 6 -[KAVAverified] -peggy_denom = inj1t307cfqzqkm4jwqdtcwmvdrfvrz232sffatgva +[NEO] +peggy_denom = inj12hnvz0xs4mnaqh0vt9suwf8puxzd7he0mukgnu +decimals = 8 + +[NEOK] +peggy_denom = ibc/F6CC233E5C0EA36B1F74AB1AF98471A2D6A80E2542856639703E908B4D93E7C4 decimals = 18 -[KAZE BOT] -peggy_denom = factory/inj1q42vrh9rhdnr20eq9ju9lymsxaqxcjpuqgd2cg/KZB -decimals = 6 +[NEPT] +peggy_denom = inj1464m9k0njt596t88chlp3nqg73j2fzd7t6kvac +decimals = 18 -[KET] -peggy_denom = factory/inj1y3tkh4dph28gf2fprxy98sg7w5s7e6ymnrvwgv/KET -decimals = 6 +[NETZ] +peggy_denom = inj1dg27j0agxx8prrrzj5y8hkw0tccgwfuwzr3h50 +decimals = 8 -[KETCHUP] -peggy_denom = factory/inj16g5w38hqehsmye9yavag0g0tw7u8pjuzep0sys/KETCHUP -decimals = 6 +[NEURA] +peggy_denom = peggy0x3D1C949a761C11E4CC50c3aE6BdB0F24fD7A39DA +decimals = 18 -[KGM] -peggy_denom = factory/inj1a9dsv5whfhqptkycx4l9uly9x684lwmwuv7l3n/KGM +[NEURAL] +peggy_denom = factory/inj1esryrafqyqmtm50wz7fsumvq0xevx0q0a9u7um/NEURAL decimals = 6 -[KIBA] -peggy_denom = factory/inj1k2kcx5n03pe0z9rfzvs9lt764jja9xpvwrxk7c/KIBA -decimals = 6 +[NEWF] +peggy_denom = inj1uhqyzzmjq2czlsejqjg8gpc00gm5llw54gr806 +decimals = 18 -[KIDZ] -peggy_denom = factory/inj1f502ktya5h69hxs9acvf3j3d6ygepgxxh2w40u/kidz +[NEWS] +peggy_denom = factory/inj1uw4cjg4nw20zy0y8z8kyug7hum48tt8ytljv50/NEWS decimals = 6 -[KIKI] -peggy_denom = factory/inj1yc9tdwkff6fdhseshk2qe4737hysf3dv0jkq35/kiki +[NEWSHROOM] +peggy_denom = inj1e0957khyf2l5knwtdnzjr6t4d0x496fyz6fwja decimals = 6 -[KIMJ] -peggy_denom = factory/inj137z9mjeja534w789fnl4y7afphn6qq7qvwhd8y/KIMJ -decimals = 6 +[NEWT] +peggy_denom = inj1k4gxlzrqvmttwzt2el9fltnzcdtcywutxqnahw +decimals = 18 -[KINGELON] -peggy_denom = inj195vkuzpy64f6r7mra4m5aqgtj4ldnk2qs0zx8n +[NEWTON] +peggy_denom = inj14a7q9frkgtvn53xldccsvmz8lr5u6qffu7jmmx decimals = 8 -[KINGFUSION] -peggy_denom = inj1mnzwm6fvkruendv8r63vzlw72yv7fvtngkkzs9 +[NEWYEARINJ] +peggy_denom = inj1980cshwxa5mnptp6vzngha6h2qe556anm4zjtt decimals = 8 -[KINGINJ] -peggy_denom = inj1a3ec88sxlnu3ntdjk79skr58uetrvxcm4puhth -decimals = 8 +[NEXO] +peggy_denom = peggy0xB62132e35a6c13ee1EE0f84dC5d40bad8d815206 +decimals = 18 -[KINGS] -peggy_denom = factory/inj1pqxpkmczds78hz8cacyvrht65ey58e5yg99zh7/kings +[NEYMAR] +peggy_denom = inj1s2ealpaglaz24fucgjlmtrwq0esagd0yq0f5w5 decimals = 6 -[KINJ] -peggy_denom = factory/inj12jtagr03n6fqln4q8mg06lrpaj4scwts49x2cp/kinj +[NFA] +peggy_denom = factory/inj1c5gk9y20ptuyjlul0w86dsxhfttpjgajhvf9lh/NFA decimals = 6 -[KINJA] -peggy_denom = factory/inj1h33jkaqqalcy3wf8um6ewk4hxmfwf8uern470k/Kinja +[NFCTV] +peggy_denom = factory/inj14mn4n0lh52vxttlg5a4nx58pnvc2ntfnt44y4j/NFCTV decimals = 6 -[KIRA] -peggy_denom = factory/inj1xy3kvlr4q4wdd6lrelsrw2fk2ged0any44hhwq/KIRA +[NFT] +peggy_denom = factory/inj1zchn2chqyv0cqfva8asg4lx58pxxhmhhhgx3t5/NFT decimals = 6 -[KIRAINU] -peggy_denom = factory/inj1weyajq6ksmzzhfpum9texpsgm9u20fc0kdqpgy/KIRAINU +[NI] +peggy_denom = factory/inj1kzaaapa8ux4z4lh8stm6vv9c5ykhtwl84zxrtl/ni decimals = 6 -[KISH] -peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/KISH +[NICO] +peggy_denom = ibc/EED3F204DCABACBEB858B0A56017070283098A81DEB49F1F9D6702309AA7F7DE decimals = 18 -[KISH6] -peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/KISH6 -decimals = 6 - -[KISHU] -peggy_denom = factory/inj1putkaddmnnwjw096tfn7rfyl7jq447y74vmqzt/kishu +[NIF] +peggy_denom = factory/inj1pnwrzhnjfncxgf4jkv3zadf542tpfc3xx3x4xw/NIF decimals = 6 -[KLAUS] -peggy_denom = inj1yjgk5ywd0mhczx3shvreajtg2ag9l3d56us0f8 -decimals = 8 - -[KMT] -peggy_denom = factory/inj1av2965j0asg5qwyccm8ycz3qk0eya4873dkp3u/kermit +[NIGGA] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/nigga decimals = 6 -[KNIGHT] -peggy_denom = factory/inj1nz984w2xnpwrtzsj7mt8rsc57vyhpwa360fq2r/knight -decimals = 6 +[NIJIO] +peggy_denom = inj1lwgzxuv0wkz86906dfssuwgmhld8705tzcfhml +decimals = 18 -[KOGA] -peggy_denom = factory/inj1npvrye90c9j7vfv8ldh9apt8t3a9mv9lsv52yd/KOGA -decimals = 6 +[NIKE] +peggy_denom = inj1e2ee7hk8em3kxqxc0uuupzpzvrcda85s3lx37h +decimals = 18 -[KOOG] -peggy_denom = inj1dkpmkm7j8t2dh5zqp04xnjlhljmejss3edz3wp +[NIM] +peggy_denom = ibc/C1BA2AC55B969517F1FCCFC47779EC83C901BE2FC3E1AFC8A59681481C74C399 decimals = 18 -[KPEPE] -peggy_denom = pepe +[NIN] +peggy_denom = inj1d0z43f50a950e2vdzrlu7w8yeyy0rp5pdey43v decimals = 18 -[KRINJ] -peggy_denom = factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/KRINJ +[NINISHROOM] +peggy_denom = inj1vlgszdzq75lh56t5nqvxz28u0d9ftyve6pglxr decimals = 6 -[KRIPDRAGON] -peggy_denom = inj12txuqr77qknte82pv5uaz8fpg0rsvssjr2n6jj -decimals = 8 +[NINJ] +peggy_denom = factory/inj13m5k0v69lrrng4y3h5895dlkr6zcp272jmhrve/Ninjutsu +decimals = 6 -[KROPA] -peggy_denom = inj1smlveclt2dakmxx36zla343qyznscaxsyza3gh -decimals = 18 +[NINJA] +peggy_denom = factory/inj1xtel2knkt8hmc9dnzpjz6kdmacgcfmlv5f308w/ninja +decimals = 6 -[KROPPA] -peggy_denom = inj15x62fd9yy0d8lll00k3h66d3terjn79e29l60p +[NINJA MEME] +peggy_denom = inj1dypt8q7gc97vfqe37snleawaz2gp7hquxkvh34 decimals = 18 -[KRYSY] -peggy_denom = inj1jxcn5t8tmnw26r6fa27m76cw0a7zrzhyenf4c5 +[NINJA WIF HAT] +peggy_denom = inj1pj40tpv7algd067muqukfer37swt7esymxx2ww decimals = 6 -[KSO] -peggy_denom = factory/inj1waemxur3hdu8gavxrymn6axduxe8ful3rm4qcm/koskesh +[NINJAGO] +peggy_denom = factory/inj19025raqd5rquku4ha42age7c6r7ws9jg6hrulx/NINJAGO decimals = 6 -[KTN] -peggy_denom = inj18kem7dt3tpjp2mx8khujnuuhevqg4exjcd7dnm -decimals = 18 - -[KU9] -peggy_denom = factory/inj1056f9jwmdxjmc3xf3urpka00gjfsnna7ct3gy3/KU9 +[NINJAMOON] +peggy_denom = inj1etlxd0j3u83d8jqhwwu3krp0t4chrvk9tzh75e decimals = 6 -[KUJI] -peggy_denom = ibc/9A115B56E769B92621FFF90567E2D60EFD146E86E867491DB69EEDA9ADC36204 +[NINJANGROK] +peggy_denom = inj17006r28luxtfaf7hn3jd76pjn7l49lv9le3983 decimals = 6 -[KUNAI] -peggy_denom = inj12ntgeddvyzt2vnmy2h8chz080n274df7vvr0ru -decimals = 8 +[NINJAPE] +peggy_denom = factory/inj13sdyzwu7l4kwcjkyuyepxufjxtk2u59xkksp69/NINJAPE +decimals = 6 -[Kage] -peggy_denom = inj1l49685vnk88zfw2egf6v65se7trw2497wsqk65 +[NINJAPEPE] +peggy_denom = inj1jhufny7g2wjv4yjh5za97jauemwmecflvuguty decimals = 18 -[Karma] -peggy_denom = factory/inj1d4ld9w7mf8wjyv5y7fnhpate07fguv3s3tmngm/karmainj +[NINJAS] +peggy_denom = factory/inj1j3rm46nj4z8eckv5333897z7esectj64kufs4a/NINJAS decimals = 6 -[Katana] -peggy_denom = inj1tj4l2qmvw22nquwqkr34v83llyzu97l65zjqsf +[NINJASAMURAI] +peggy_denom = inj1kfr9r9vvflgyka50yykjm9l02wsazl958jffl2 decimals = 6 -[Kaz] -peggy_denom = inj1vweya4us4npaa5xdf026sel0r4qazdvzx6v0v4 +[NINJATRUMP] +peggy_denom = factory/inj1f95tm7382nhj42e48s427nevh3rkj64xe7da5z/NINJATRUMP decimals = 6 -[King] -peggy_denom = factory/inj156zqdswjfcttc8hrvwd5z3nv5n53l5xg9mqvht/King +[NINJAWIFHAT] +peggy_denom = factory/inj1xukaxxx4yuaz6xys5dpuhe60un7ct9umju5ash/NWIF decimals = 6 -[KingFusion] -peggy_denom = inj1ynehe0s2kh9fqp5tka99f8wj2xgsha74h3cmtu -decimals = 8 - -[KiraWifHat] -peggy_denom = factory/inj1rrg35k5g58vunyze4tqvqhef2fgrurkpxxdr43/KiraWifHat +[NINJB] +peggy_denom = factory/inj1ezzzfm2exjz57hxuc65sl8s3d5y6ee0kxvu67n/ninjb decimals = 6 -[Kitty] -peggy_denom = inj1pfmvtdxhl2l5e245nsfwwl78sfx090asmxnmsw -decimals = 18 - -[Klaus Project] -peggy_denom = inj1zgurc2nd5awcxmpq7q6zgh9elnxg0z9g5yn4k3 -decimals = 8 - -[Knight] -peggy_denom = inj1tvxfut7uayypz2ywm92dkvhm7pdjcs85khsenj -decimals = 18 - -[Koga] -peggy_denom = inj1npvknmdjsk7s35gmemwalxlq4dd38p68mywgvv +[NINJT] +peggy_denom = inj1tp3cszqlqa7e08zcm78r4j0kqkvaccayhx97qh decimals = 18 -[Kuso] -peggy_denom = factory/inj1weyajq6ksmzzhfpum9texpsgm9u20fc0kdqpgy/Kuso +[NINPO] +peggy_denom = inj1sudjgsyhufqu95yp7rqad3g78ws8g6htf32h88 decimals = 6 -[LAB] -peggy_denom = ibc/4BFC760786BE40F8C10AA8777D68C6BEFE9C95A881AD29AF1462194018AB7C0C +[NINU] +peggy_denom = inj14057e7c29klms2fzgjsm5s6serwwpeswxry6tk decimals = 6 -[LABS] -peggy_denom = factory/inj1eutzkvh4gf5vvmxusdwl2t6gprux67d4acwc0p/labs +[NINZA] +peggy_denom = factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/NINZA decimals = 6 -[LADS] -peggy_denom = ibc/5631EB07DC39253B07E35FC9EA7CFB652F63A459A6B2140300EB4C253F1E06A2 -decimals = 6 +[NITROID] +peggy_denom = inj1f7srklvw4cf6net8flmes4mz5xl53mcv3gs8j9 +decimals = 8 -[LALA] -peggy_denom = inj156wqs2alkgmspj8shjje56ajgneqtjfk20w9n6 +[NJO] +peggy_denom = inj1c8jk5qh2lhmvqs33z4y0l84trdu7zhgtd3aqrd decimals = 18 -[LAMA] -peggy_denom = factory/inj18lh8zx4hx0pyksyu74srktv4vgxskkkafknggl/LAMA -decimals = 6 - -[LAMBO] -peggy_denom = peggy0x3d2b66BC4f9D6388BD2d97B95b565BE1686aEfB3 +[NLB] +peggy_denom = inj10s6mwhlv44sf03d5lfk4ntmplsujgftu587rzq decimals = 18 -[LAMBOPEPE] -peggy_denom = factory/inj1rge0wzk9hn8qgwz77m9zcznahrp5s322fa6lhu/LAMBO -decimals = 6 +[NLBZ] +peggy_denom = inj1qfmf6gmpsna8a3k6da2zcf7ha3tvf2wdep6cky +decimals = 18 -[LAVA] -peggy_denom = inj1jrykfhmfcy4eh8t3yw6ru3ypef39s3dsu46th7 +[NLBZZ] +peggy_denom = inj1rn2yv784zf90yyq834n7juwgeurjxly8xfkh9d decimals = 18 -[LBFS] -peggy_denom = inj18ssfe746a42me2j02casptrs0y2z5yak06cy4w -decimals = 8 +[NLC] +peggy_denom = inj1r9h59ke0a77zkaarr4tuq25r3lt9za4r2mgyf4 +decimals = 6 -[LDO] -peggy_denom = peggy0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32 +[NLT] +peggy_denom = factory/inj1995xnrrtnmtdgjmx0g937vf28dwefhkhy6gy5e/NLT decimals = 18 -[LEGE] -peggy_denom = inj122gwdl0xl6908uhdgql2ftrezsy2ru2gme8mhc +[NNJG] +peggy_denom = inj1e8eqle6queaywa8w2ns0u9m7tldz9vv44s28p2 decimals = 18 -[LENARD] -peggy_denom = factory/inj1p2rmxvzhctu4z22sxcsry874sekvjdhl7k8rys/LENARD +[NOBI] +peggy_denom = factory/inj1pjp9q2ycs7eaav8d5ny5956k5m6t0alpl33xd6/nobi decimals = 6 -[LEO] -peggy_denom = factory/inj1f0gj22j0vep9jt48tnt2mg97c8ysgyxllhvp68/LEO -decimals = 9 +[NOBITCHES] +peggy_denom = factory/inj14n8f39qdg6t68s5z00t4vczvkcvzlgm6ea5vk5/nobitches +decimals = 6 -[LESS] -peggy_denom = inj105ke2sw329yl64m4273js3vxfxvq2kdqtz0s63 +[NOGGA] +peggy_denom = factory/inj1a7697s5yg3tsgkfrm0u5hvxm34mu8v0v3trryx/NOGGA +decimals = 6 + +[NOIA] +peggy_denom = peggy0xa8c8CfB141A3bB59FEA1E2ea6B79b5ECBCD7b6ca decimals = 18 -[LEVERKUSEN] -peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/LEVERKUSEN +[NOIS] +peggy_denom = ibc/DD9182E8E2B13C89D6B4707C7B43E8DB6193F9FF486AFA0E6CF86B427B0D231A decimals = 6 -[LFR] -peggy_denom = inj176pze4mvaw2kv72sam0fwt3vn08axlj08e46ac +[NONE] +peggy_denom = peggy0x903ff0ba636E32De1767A4B5eEb55c155763D8B7 decimals = 18 -[LFROG] -peggy_denom = inj1vhw7xadr0366hjnvet8tnpgt898vkm47faycar +[NONJA] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1fu5u29slsg2xtsj7v5la22vl4mr4ywl7wlqeck decimals = 18 -[LFrog] -peggy_denom = factory/inj1wu2kfkmrvfr34keemcmjh9zups72r5skygltrg/LFrog -decimals = 11 - -[LIBE] -peggy_denom = inj1y7cqd6x50ezv8xrgqx0lnqf4p747nyqq533ma3 +[NORUG] +peggy_denom = inj1vh38phzhnytvwepqv57jj3d7q2gerf8627dje3 decimals = 18 -[LIGMA] -peggy_denom = inj17mhem35tyszwpyfh6s0sr4l5p7wkj0knja9ck3 +[NOVA] +peggy_denom = inj1dqcyzn9p48f0dh9xh3wxqv3hs5y3lhqr43ecs0 +decimals = 8 + +[NPEPE] +peggy_denom = factory/inj1ga982yy0wumrlt4nnj79wcgmw7mzvw6jcyecl0/NPEPE decimals = 6 -[LINK] -peggy_denom = peggy0x514910771AF9Ca656af840dff83E8264EcF986CA -decimals = 18 +[NSTK] +peggy_denom = ibc/35366063B530778DC37A16AAED4DDC14C0DCA161FBF55B5B69F5171FEE19BF93 +decimals = 6 -[LIO] -peggy_denom = factory/inj1p2nh5tx9j27eqwxvr6aj9sasttff6200tpq24k/LIO +[NTRL] +peggy_denom = ibc/4D228A037CE6EDD54034D9656AE5850BDE871EF71D6DD290E8EC81603AD40899 decimals = 6 -[LIOR] -peggy_denom = factory/inj1tgphgjqsz8fupkfjx6cy275e3s0l8xfu6rd6jh/DINO +[NTRN] +peggy_denom = ibc/6488808F32B07F6E8DCE7B700B92D9F7287D0FA1D0F76A25B11276E09DB0E626 decimals = 6 -[LMAO] -peggy_denom = inj1yd07kujagk0t6rlj0zca2xsm6qpekv8mmwqknv -decimals = 18 +[NTRUMP] +peggy_denom = inj16dv3vfngtaqfsvd07436f6v4tgzxu90f0hq0lz +decimals = 6 -[LMEOW] -peggy_denom = inj1wu77ndd9t2yehansltt7wkhhqfjcsah0z4jvlf +[NTY] +peggy_denom = inj1zzfltckwxs7tlsudadul960w7rdfjemlrehmrd decimals = 18 -[LNC] -peggy_denom = inj18epz5afrhu0zehdlj0mp8cfmv3vtusq6fd6ufw -decimals = 6 - -[LOCAL] -peggy_denom = ibc/FECCDCFA89278B117C76A11A946A7991A68E5DD12DED6EB938ADC1B1286AC591 +[NUDES] +peggy_denom = factory/inj1dla04adlxke6t4lvt20xdxc9jh3ed609dewter/NUDES decimals = 6 -[LOL] -peggy_denom = inj1kjfeuqtp56newrdye4d5rczfkwe4dg3llc0kc9 +[NUIT] +peggy_denom = inj1kxntfyzsqpug6gea7ha4pvmt44cpvmtma2mdkl decimals = 18 -[LONG] -peggy_denom = inj10yr5mmvxez3h0xzrpaa89my99qlv3u2rmzg0ge -decimals = 8 +[NUN] +peggy_denom = inj15sgutwwu0ha5dfs5zwk4ctjz8hjmkc3tgzvjgf +decimals = 18 -[LOOL] -peggy_denom = inj12xn584cdkhnz2nn08xz4yrwxscxa8tr2fuxwam +[NUNCHAKU] +peggy_denom = inj12q6sut4npwhnvjedht574tmz9vfrdqavwq7ufw decimals = 18 -[LORD] -peggy_denom = inj1flek07wkz73a7ptxutumr4u5fukt6th4fwy9zn +[NWIF] +peggy_denom = factory/inj10l4tnj73fl3wferljef802t63n9el49ppnv6a8/nwif decimals = 6 -[LOST] -peggy_denom = inj150rlxjvk2trcm59mpwyg7hkkq8sfmdtu0tj873 -decimals = 8 - -[LOTUS] -peggy_denom = inj1luz09rzlytzdqnyp2n0cqevdxkf9u780uvsew5 +[NWJNS] +peggy_denom = inj1slwarzmdgzwulzwzlr2fe87k7qajd59hggvcha decimals = 6 -[LOXA] -peggy_denom = inj175ut0y843p0kc4secgplsrs609uwaq3d93tp0x -decimals = 8 - -[LP AKT-MNTA] -peggy_denom = ibc/D128AB965B69D44D80AFD886D8A252C10D6B0B792B3AEA7833C7A1F95BA4BCF8 +[NYAN] +peggy_denom = factory/inj1lttm52qk6hs43vqak5qyk4hl4fzu2snq2gmg0c/nyan decimals = 6 -[LP ARB-MNTA] -peggy_denom = ibc/A7BBB8697F21D2CE19732D6CCE137E00B78CE83B5F38AC5E7FB163D7E77C1325 +[NYX] +peggy_denom = factory/inj1fnq8xx5hye89jvhmkqycj7luyy08f3tudus0cd/nyx decimals = 6 -[LP ATOM-MNTA] -peggy_denom = ibc/67E901393C5DE5F1D26A0DBC86F352EA9CEBC6F5A1791ADAB33AB557136CD4D0 +[Naruto] +peggy_denom = factory/inj1j53ejjhlya29m4w8l9sxa7pxxyhjplrz4xsjqw/naruto decimals = 6 -[LP AXL-MNTA] -peggy_denom = ibc/F829D655E96C070395E364658EFB2EC4B93906D44A6C1AE6A2A8821FCB7BA4B8 +[Naruto Token] +peggy_denom = factory/inj1gwkdx7lkpvq2ewpv29ptxdy9r95vh648nm8mp0/naruto decimals = 6 -[LP CHEQ-MNTA] -peggy_denom = ibc/454555FFF0452DD86BC65DDE0158300132DE275CB22183ECE357EA07EBA18528 +[Neptune Receipt ATOM] +peggy_denom = inj16jf4qkcarp3lan4wl2qkrelf4kduvvujwg0780 decimals = 6 -[LP DOT.axl-MNTA] -peggy_denom = ibc/E9BC2E73393C6C1AD36B04109F5C20CC1CDC4BCB913C8038993C8F68A0CD8474 -decimals = 6 +[Neptune Receipt INJ] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rmzufd7h09sqfrre5dtvu5d09ta7c0t4jzkr2f +decimals = 18 -[LP DYDX-MNTA] -peggy_denom = ibc/0FC1BAA3BF09FA73946A6412088FCED87D1D2368F30BDC771FB5FF6EAE0EB5E9 +[Neptune Receipt USDT] +peggy_denom = inj1cy9hes20vww2yr6crvs75gxy5hpycya2hmjg9s decimals = 6 -[LP DYM-MNTA] -peggy_denom = ibc/CC151284BE8E76C67E78ADAE3892C0D9084F0C802CC1EC44BFBE91EE695206E8 +[Newt] +peggy_denom = ibc/B0A75E6F4606C844C05ED9E08335AFC50E814F210C03CABAD31562F606C69C46 decimals = 6 -[LP FUZN-MNTA] -peggy_denom = ibc/A064F58ADEAA6DF2AE8006787DFF5E1F144FECF79F880F0140CB38800C295AC2 +[Nil] +peggy_denom = factory/inj1t8wuan5zxp58uwtn6j50kx4tjv25argx6lucwy/Nil decimals = 6 -[LP INJ-MNTA] -peggy_denom = ibc/4229FC85617819AFFE8543D646BE8A41CD9F8257985A198E0DF09E54F23EC6D3 +[NinjAI] +peggy_denom = factory/inj15we00jwlnd2ahpse0xfpswk8h296p80esn2wsx/NinjAI decimals = 6 -[LP LINK.axl-MNTA] -peggy_denom = ibc/BA3A7ACF9AEF1F3D1973ED4406EB35CF2DCB9B545D71A7F06B27A7EA918F8396 +[Ninja] +peggy_denom = factory/inj1p0w30l464lxl8afxqfda5zxeeypnvdtx4yjc30/Ninja decimals = 6 -[LP MNTA-KUJI] -peggy_denom = ibc/AE8EDE6CB769E0EAB809204D5E770F5DF03BC35D3E5977272E6CE5147229F938 +[Ninja Labs Coin] +peggy_denom = factory/inj1r9h59ke0a77zkaarr4tuq25r3lt9za4r2mgyf4/NLC decimals = 6 -[LP NTRN-MNTA] -peggy_denom = ibc/77011B441A8655A392E5B6DA8AE4ADFB0D3DF3E26B069803D64B89208EC8C07E +[Ninja Swap] +peggy_denom = inj1lzdvr2d257lazc2824xqlpnn4q50vuyhnndqhv +decimals = 8 + +[NinjaBoy] +peggy_denom = inj1vz8h0tlxt5qv3hegqlajzn4egd8fxy3mty2w0h decimals = 6 -[LP OSMO-MNTA] -peggy_denom = ibc/CF0564CF0C15332430432E8D7C417521004EBB2EA4CB922C577BA751A64B6599 +[NinjaCoq] +peggy_denom = inj1aapaljp62znaxy0s2huc6ka7cx7zksqtq8xnar decimals = 6 -[LP PAXG.grv-MNTA] -peggy_denom = ibc/8C1E93AB13F5FC3E907751DA5BE4C7518E930A4C9F441523E608323C1CA35F6B +[NinjaWifHat] +peggy_denom = inj1gmch7h49qwvnn05d3nj2rzqw4l7f0y8s4g2gpf decimals = 6 -[LP SCRT-MNTA] -peggy_denom = ibc/9FE7DE3797BC1F75E8CBE30B16CE84A3835B8A280E7E7780CE2C86C244F6253C +[Nlc] +peggy_denom = inj17uhjy4u4aqhtwdn3mfc4w60dnaa6usg30ppr4x +decimals = 18 + +[NoobDev] +peggy_denom = inj1qzlkvt3vwyd6hjam70zmr3sg2ww00l953hka0d decimals = 6 -[LP SHD-MNTA] -peggy_denom = ibc/B512CFCA199DCBDF098824846D2D78E1E04EBA6A5091A99472236B69B24C979E +[O9W] +peggy_denom = ibc/AA206C13A2AD46401BD1E8E65F96EC9BF86051A8156A92DD08BEF70381D39CE2 decimals = 6 -[LP SOL.wh-MNTA] -peggy_denom = ibc/D765CDBB85910E131773AF7072439F9C382DF0B894D2209E09D2EEFE0298EADC +[OBEMA] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/obema decimals = 6 -[LP SOMM-MNTA] -peggy_denom = ibc/457CF9F4112FB7E765A83A1F93DE93246C1E0D5A1C83F9A909B5890A172AAC34 +[OCEAN] +peggy_denom = peggy0x967da4048cD07aB37855c090aAF366e4ce1b9F48 +decimals = 18 + +[OCHO] +peggy_denom = inj1ltzx4qjtgmjyglf3nnhae0qxaxezkraqdhtgcn +decimals = 8 + +[ODIN] +peggy_denom = ibc/6ED95AEFA5D9A6F9EF9CDD05FED7D7C9D7F42D9892E7236EB9B251CE9E999701 decimals = 6 -[LP STARS-MNTA] -peggy_denom = ibc/B6B6EB8527A6EE9040DBE926D378EC23CB231AC8680AF75372DBF6B7B64625A7 +[OIN] +peggy_denom = ibc/09A596CF997F575F2D1E150DFECD7AAE4B44B119F4E45E0A2532EEBD1F8795FE decimals = 6 -[LP TIA-MNTA] -peggy_denom = ibc/59F96C9AAFC26E872D534D483EF8648305AD440EF2E9A506F061BADFC378CE13 +[OIN STORE OF VALUE] +peggy_denom = ibc/486A0C3A5D9F8389FE01CF2656DF03DB119BC71C4164212F3541DD538A968B66 decimals = 6 -[LP UNI.axl-MNTA] -peggy_denom = ibc/4E4B25966A3CF92B796F5F5D1A70A375F32D8EF4C7E49DEC1C38441B7CA8C7CA -decimals = 6 +[OJO] +peggy_denom = inj1hg5ag8w3kwdn5hedn3mejujayvcy2gknn39rnl +decimals = 18 -[LP WHALE-MNTA] -peggy_denom = ibc/89E80D95AF2FD42A47E9746F7CFF32F3B56FE3E113B81241A6A818C8B3221C17 +[OMG] +peggy_denom = inj14wpqhfcd4q6424vskcv8xch4s0chc8cs82v4qp decimals = 6 -[LP ampMNTA-MNTA] -peggy_denom = ibc/8545604BFCCC408B753EB0840FF131CB34B9ED1283A9BD551F68C324B53FEF0C -decimals = 6 +[OMI] +peggy_denom = peggy0xeD35af169aF46a02eE13b9d79Eb57d6D68C1749e +decimals = 18 -[LP qcMNTA-MNTA] -peggy_denom = ibc/23ADD2AC1D22776CE8CB37FB446E552B9AE5532B76008ADF73F75222A6ACFE19 -decimals = 6 +[OMNI] +peggy_denom = peggy0x36E66fbBce51e4cD5bd3C62B637Eb411b18949D4 +decimals = 18 -[LP stOSMO-OSMO] -peggy_denom = ibc/20D8F1713F8DF3B990E23E205F1CCD99492390558022FF3FE60B1FAFCF955689 -decimals = 6 +[OMT] +peggy_denom = inj1tctqgl6y4mm7qlr0x2xmwanjwa0g8nfsfykap6 +decimals = 18 -[LP wAVAX.axl-MNTA] -peggy_denom = ibc/57CC0316BFD206E1A8953DD6EC629F1556998EB9454152F21D51EFB5A35851EF -decimals = 6 +[ONE] +peggy_denom = inj1wu086fnygcr0sgytmt6pk8lsnqr9uev3dj700v +decimals = 18 -[LP wBNB.axl-MNTA] -peggy_denom = ibc/2961FC233B605E5D179611D7D5C88E89DD3717081B5D06469FF27DFE83AF9BEB -decimals = 6 +[ONETOONE] +peggy_denom = inj1y346c6cjj0kxpcwj5gq88la9qsp88rzlw3pg98 +decimals = 18 -[LP wBTC.axl-MNTA] -peggy_denom = ibc/B73EDDE38FFE4C5782B5C6108F4977B8B4A0C13AA9EBABEBCCFC049ED5CC0968 -decimals = 6 +[ONI] +peggy_denom = inj1aexws9pf9g0h3032fvdmxd3a9l2u9ex9aklugs +decimals = 18 -[LP wETH.axl-MNTA] -peggy_denom = ibc/83DDCD6991A94C4ED287A029243527A14A86D4A62FB69BBEC51FB9B0156C6683 +[ONP] +peggy_denom = inj15wvxl4xq4zrx37kvh6tsqyqysukws46reywy06 +decimals = 18 + +[ONTON] +peggy_denom = inj1a3hxfatcu7yfz0ufp233m3q2egu8al2tesu4k5 decimals = 6 -[LP wETH.axl-USK] -peggy_denom = ibc/6E2B993CA402C047E232E4722D1CE0C73DBD47CBBE465E16F6E3732D27F37649 +[OOZARU] +peggy_denom = ibc/9E161F95E105436E3DB9AFD49D9C8C4C386461271A46DBA1AB2EDF6EC9364D62 decimals = 6 -[LP wFTM.axl-MNTA] -peggy_denom = ibc/EBF34B929B7744BD0C97ECF6F8B8331E2BCA464F1E5EA702B6B40ED2F55433BD +[OP] +peggy_denom = op +decimals = 18 + +[OPHIR] +peggy_denom = ibc/19DEC3C890D19A782A3CD0C62EA8F2F8CC09D0C9AAA8045263F40526088FEEDB decimals = 6 -[LP wMATIC.axl-MNTA] -peggy_denom = ibc/942AA5D504B03747AF67B19A874D4E47DAD307E455AEB34E3A4A2ECF7B9D64C8 +[ORAI] +peggy_denom = ibc/C20C0A822BD22B2CEF0D067400FCCFB6FAEEE9E91D360B4E0725BD522302D565 decimals = 6 -[LP wTAO.grv-MNTA] -peggy_denom = ibc/51BB7FAEEDCFC7782519C8A6FB0D7168609B2450B56FED6883ABD742AEED8CC4 +[ORN] +peggy_denom = peggy0x0258F474786DdFd37ABCE6df6BBb1Dd5dfC4434a +decimals = 8 + +[ORNE] +peggy_denom = ibc/3D99439444ACDEE71DBC4A774E49DB74B58846CCE31B9A868A7A61E4C14D321E decimals = 6 -[LP wstETH.axl-MNTA] -peggy_denom = ibc/BAB4B518D0972626B854BE5139FCAD7F1113E3787BC13013CB6A370298EFE0C1 +[OSMO] +peggy_denom = ibc/92E0120F15D037353CFB73C14651FC8930ADC05B93100FD7754D3A689E53B333 decimals = 6 -[LP wstETH.axl-wETH.axl] -peggy_denom = ibc/CEECB0B01EC9BF90822BCA6A1D6D2BF4DC6291BD0C947BEE512BD4639045EAD1 +[OUTIES] +peggy_denom = factory/inj1282wzngdg46gjuttvhxumkx65fnqx0aqmyl0lu/OUTIES decimals = 6 -[LP yieldETH.axl-MNTA] -peggy_denom = ibc/D410037544911319AB9F3BF0C375598AAD69A7555A5B23158484DFFC10651316 +[OUTLINES] +peggy_denom = inj1zutqugjm9nfz4tx6rv5zzj77ts4ert0umnqsjm decimals = 6 -[LRDSVN] -peggy_denom = inj1xcrrweel03eu2fzlvmllhy52wdv25wvejn24dr -decimals = 8 +[OX] +peggy_denom = peggy0x78a0A62Fba6Fb21A83FE8a3433d44C73a4017A6f +decimals = 18 -[LUCK] -peggy_denom = factory/inj13f6c0hc3l80qa7w80j992wtscslkg8pm65rxua/LUCK -decimals = 6 +[Ocean Protocol] +peggy_denom = inj1cxnqp39cn972gn2qaw2qc7hrryaa52chx7lnpk +decimals = 18 -[LUCKY] -peggy_denom = inj1v8vkngk2pn2sye2zduy77lfdeaqq9cd924f5le +[OjoD] +peggy_denom = inj1ku6t0pgaejg2ykmyzvfwd2qulx5gjjsae23kgm decimals = 18 -[LUFFY] -peggy_denom = inj1yzz7pvx7e98u3xv4uz0tkqrm6uj684j9lvv0z4 +[Omni Cat] +peggy_denom = factory/inj1vzmmdd2prja64hs4n2vk8n4dr8luk6522wdrgk/OMNI decimals = 6 -[LUIGI] -peggy_denom = inj1h8yjr8ely8q8r8rlvs2zx0pmty70ajy4ud6l0y +[OmniCat] +peggy_denom = inj188rmn0k9hzdy35ue7nt5lvyd9g9ldnm0v9neyz +decimals = 8 + +[Onj] +peggy_denom = inj1p9kk998d6rapzmfhjdp4ee7r5n4f2klu7xf8td +decimals = 8 + +[Open Exchange Token] +peggy_denom = ibc/3DC896EFF521814E914264A691D9D462A7108E96E53DE135FC4D91A370F4CD77 decimals = 18 -[LUKE] -peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/luke -decimals = 6 +[Oraichain] +peggy_denom = peggy0x4c11249814f11b9346808179Cf06e71ac328c1b5 +decimals = 18 -[LUM] -peggy_denom = ibc/2C58CBDF1C96FAD7E6B1C5EC0A484E9BD9A27E126E36AFBDD7E45F0EA17F3640 -decimals = 6 +[Orcat] +peggy_denom = inj1ldp0pssszyguhhey5dufagdwc5ara09fnlq8ms +decimals = 18 -[LUNA] -peggy_denom = ibc/B8AF5D92165F35AB31F3FC7C7B444B9D240760FA5D406C49D24862BD0284E395 +[PAMBI] +peggy_denom = factory/inj1wa976p5kzd5v2grzaz9uhdlcd2jcexaxlwghyj/PAMBI decimals = 6 -[LUNA-USDC-LP] -peggy_denom = ibc/CBC3DCBC6559DB851F487B6A41C547A2D75DB0C54A143DDF39C04250E50DA888 +[PANDA] +peggy_denom = factory/inj1p8ey297l9qf835eprx4s3nlkesrugg28s23u0g/PANDA decimals = 6 -[LUNA-USDT-LP] -peggy_denom = ibc/E06B8ECC4B080937AFD0AD0308C4E9354AB169C297F45E087D6057F0010E502D +[PANDANINJA] +peggy_denom = factory/inj1ekvx0ftc46hqk5vfxcgw0ytd8r7u94ywjpjtt8/pandaninja decimals = 6 -[LUNAR] -peggy_denom = inj1hpu5e5620hvd7hf3t4t4em96cx9t58yefcr3uu +[PANTERA] +peggy_denom = inj1hl4y29q5na4krdpk4umejwvpw4v5c3kpmxm69q decimals = 8 -[LVN] -peggy_denom = ibc/4971C5E4786D5995EC7EF894FCFA9CF2E127E95D5D53A982F6A062F3F410EDB8 +[PARABOLIC] +peggy_denom = factory/inj126c3fck4ufvw3n0a7rsq75gx69pdxk8npnt5r5/PARABOLIC decimals = 6 -[LYM] -peggy_denom = peggy0xc690F7C7FcfFA6a82b79faB7508c466FEfdfc8c5 +[PASS] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/pass +decimals = 6 + +[PAXG] +peggy_denom = peggy0x45804880De22913dAFE09f4980848ECE6EcbAf78 decimals = 18 -[Leapwifhat] -peggy_denom = factory/inj10xsan7m2gwhwjm9hrr74ej77lx8qaxk9cl7rfw/Leapwifhat +[PBB] +peggy_denom = ibc/05EC5AA673220183DBBA6825C66DB1446D3E56E5C9DA3D57D0DE5215BA7DE176 decimals = 6 -[Leia] -peggy_denom = inj1vm24dp02njzgd35srtlfqkuvxz40dysyx7lgfl +[PBJ] +peggy_denom = ibc/2B6F15447F07EA9DC0151E06A6926F4ED4C3EE38AB11D0A67A4E79BA97329830 decimals = 6 -[Lenz] -peggy_denom = factory/inj19xadglv3eaaavaeur5553hjj99c3vtkajhj4r6/Lenz -decimals = 6 +[PBinj] +peggy_denom = inj1k4v0wzgxm5zln8asekgkdljvctee45l7ujwlr4 +decimals = 8 -[Leo] -peggy_denom = inj1xnqaq553d5awhzr68p5vkenrj64ueqpfzjjp0f +[PDIX] +peggy_denom = inj13m85m3pj3ndll30fxeudavyp85ffjaapdmhel5 decimals = 18 -[Leonardo] -peggy_denom = inj1yndh0j4dpnjuqaap7u6csta2krvhqddjwd3p9w +[PEPE] +peggy_denom = peggy0x6982508145454Ce325dDbE47a25d4ec3d2311933 decimals = 18 -[Lido DAO Token] -peggy_denom = inj1me6t602jlndzxgv2d7ekcnkjuqdp7vfh4txpyy -decimals = 8 - -[Lido Staked Ether] -peggy_denom = ibc/FB1B967C690FEA7E9AD7CF76AE2255169D4EA2937D6694B2C0E61A370F76D9FB +[PEPE Injective] +peggy_denom = inj1ytxxfuajl0fvhgy2qsx85s3t882u7qgv64kf2g decimals = 18 -[Lost Paradise AI] -peggy_denom = inj1wf0d0ynpfcmpcq8h9evv2z4p0stc73x3skj96r -decimals = 8 - -[Luigi] -peggy_denom = inj1vrz0yfrlxe6mqaadmeup8g6nhhzmg7hwpfr6kz +[PEPE MEME ] +peggy_denom = inj1jev373k3l77mnhugwzke0ytuygrn8r8497zn6e decimals = 18 -[Luna] -peggy_denom = ibc/0DDC992F19041FC1D499CCA1486721479EBAA7270604E15EDDFABA89D1E772E5 -decimals = 6 - -[MAD] -peggy_denom = inj1u97mcn0sx00hnksfc9775gh5vtjhn4my340t0j -decimals = 18 +[PEPE on INJ] +peggy_denom = factory/inj1aey234egq5efqr7zfvtzdsq6h2c5wsrma4lw7h/pepe +decimals = 1 -[MADDOG] -peggy_denom = inj1y942sn0su2wxzh65xnd6h6fplajm04zl8fh0xy +[PEPEA] +peggy_denom = factory/inj1gaf6yxle4h6993qwsxdg0pkll57223qjetyn3n/PEPEA decimals = 6 -[MAFIAz] -peggy_denom = factory/inj175n4kj6va8yejh7w35t5v5f5gfm6ecyasgjnn9/MAFIAz +[PEPINJ] +peggy_denom = factory/inj12jtagr03n6fqln4q8mg06lrpaj4scwts49x2cp/pepinj decimals = 6 -[MAGA] -peggy_denom = peggy0x576e2BeD8F7b46D34016198911Cdf9886f78bea7 -decimals = 9 +[PETER] +peggy_denom = inj1xuqedjshmrqadvqhk4evn9kwzgkk5u9ewdua6z +decimals = 18 -[MAI] -peggy_denom = inj1wd3vgvjur8du5zxktj4v4xvny4n8skjezadpp2 -decimals = 8 +[PGN] +peggy_denom = inj1gx88hu6xjfvps4ddyap27kvgd5uxktl8ndauvp +decimals = 18 -[MAKI] -peggy_denom = factory/inj1l0pnjpc2y8f0wlua025g5verjuvnyjyq39x9q0/MAKI +[PHEW] +peggy_denom = inj128usk4mqn69h9hmthqxhasyewkrhmprl7jp6lv decimals = 6 -[MAMA] -peggy_denom = inj1ayukjh6wufyuymv6ehl2cmjjpvrqjf5m75ty90 +[PHUC] +peggy_denom = factory/inj1995xnrrtnmtdgjmx0g937vf28dwefhkhy6gy5e/phuc decimals = 6 -[MAMBA] -peggy_denom = factory/inj18z5cm702ylpqz8j6gznalcw69wp4m7fsdjhnfq/mamba -decimals = 6 +[PICA] +peggy_denom = ibc/9C2212CB87241A8D038222CF66BBCFABDD08330DFA0AC9B451135287DCBDC7A8 +decimals = 12 -[MANEKI] -peggy_denom = factory/inj1an9qflgvpvjdhczce6xwrh4afkaap77c72k4yd/MANEKI +[PIG] +peggy_denom = factory/inj1ruwdh4vc29t75eryvxs7vwzt7trtrz885teuwa/pig decimals = 6 -[MANTAINJ] -peggy_denom = inj1rluhqhev2v4kmz0m8qjfrlyrlrlqckajuf0ajs +[PIGS] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mcmjk2zgh5wpxkdmkevlpmah6tsmwvql78twpf +decimals = 18 + +[PIKA] +peggy_denom = factory/inj1h4usvhhva6dgmun9rk4haeh8lynln7yhk6ym00/PIKA decimals = 6 -[MANTIS] -peggy_denom = inj1s6hmmyy9f2k37qqw2pryufg4arqxegurddkdp9 +[PIKACHU] +peggy_denom = factory/inj1h9zu2u6yqf3t5uym75z94zsqfhazzkyg39957u/PIKACHU decimals = 6 -[MARA] -peggy_denom = inj1kaqrfnqy59dm6rf7skn8j05fdmdya9af0g56we +[PIKACHU ] +peggy_denom = inj1x3m7cgzdl7402fhe29aakdwda5630r2hpx3gm2 decimals = 18 -[MARB] -peggy_denom = inj1up4k6vxrq4nhzvp5ssksqejk3e26q2jfvngjlj +[PING] +peggy_denom = inj1ty0274r9754kq8qn7hnlhmv35suq6ars7y2qnt decimals = 18 -[MARC] -peggy_denom = inj1xg8d0nf0f9075zj3h5p4hku8r6ahtssxs4sq5q +[PING'S BROTHER PONG] +peggy_denom = inj1qrcr0xqraaldk9c85pfzxryjquvy9jfsgdkur7 decimals = 18 -[MARD] -peggy_denom = inj177n6een54mcs8sg3hgdruumky308ehgkp9mghr +[PINGDEV] +peggy_denom = inj17dlj84plm8yqjtp82mmg35494v8wjqfk29lzyf decimals = 18 -[MARE] -peggy_denom = inj1k4ytnwu0luen8vyvahqmusxmt362r8xw3mmu55 -decimals = 18 +[PINJA] +peggy_denom = factory/inj1gyxrvcdvjr22l5fu43ng4c607nxpc8yuxslcv3/pinja +decimals = 6 -[MARF] -peggy_denom = inj1phkfvvrzqtsq6ajklt0vsha78jsl3kg6wcd68m -decimals = 18 +[PINJEON] +peggy_denom = factory/inj1l73eqd7w5vu4srwmc722uwv7u9px7k5azzsqm2/pinjeon +decimals = 6 -[MARG] -peggy_denom = inj14qypf8qd0zw3t7405n4rj86whxhyqnvacl8c9n -decimals = 18 +[PINJU] +peggy_denom = factory/inj1j43ya8q0u5dx64x362u62yq5zyvasvg98asm0d/pinju +decimals = 6 -[MARH] -peggy_denom = inj1sarc5fq8rlqxl9q3y6f6u5qnzumsqdn6vvvgyh -decimals = 18 +[PIO] +peggy_denom = factory/inj1ufkjuvf227gccns4nxjqc8vzktfvrz6y7xs9sy/PIO +decimals = 6 -[MARI] -peggy_denom = inj1x5wvc0k7xht6jyh04vj2dtstcrv68lps4r58d5 -decimals = 18 +[PIPI] +peggy_denom = factory/inj1rhaefktcnhe3y73e82x4edcsn9h5y99gwmud6v/pipi +decimals = 6 -[MARJ] -peggy_denom = inj1zhqnqzdg6738q9wjrkr50c6qkkd5ghar9fp36s -decimals = 18 +[PIRATE] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/PIRATE +decimals = 6 -[MARK] -peggy_denom = inj1mnv033jcerdf4d3xw2kfreakahtuf0ue3xgr3u +[PIXDOG] +peggy_denom = inj1thsy9k5c90wu7sxk37r2g3u006cszqup8r39cl decimals = 18 -[MARM] -peggy_denom = inj1qls0sp552zw55df5klhv98zjueagtn6ugq292f +[PIXEL] +peggy_denom = inj1wmlkhs5y6qezacddsgwxl9ykm40crwp4fpp9vl +decimals = 8 + +[PIZZA] +peggy_denom = factory/inj1cus3dx8lxq2h2y9mzraxagaw8kjjcx6ul5feak/PIZZA +decimals = 6 + +[PKS] +peggy_denom = inj1m4z4gjrcq9wg6508ds4z2g43wcgynlyflaawef decimals = 18 -[MARN] -peggy_denom = inj1q4swwrf6kvut57k8hpul7ef39vr5ka3h74dcwj +[PLNK] +peggy_denom = ibc/020098CDEC3D7555210CBC1593A175A6B24253823B0B711D072EC95F76FA4D42 +decimals = 6 + +[POINT] +peggy_denom = factory/inj1zaem9jqplp08hkkd5vcl6vmvala9qury79vfj4/point +decimals = 0 + +[POK] +peggy_denom = inj18nzsj7sef46q7puphfxvr5jrva6xtpm9zsqvhh decimals = 18 -[MARS] -peggy_denom = inj1h28xpjed0xtjwe558gr2nx7nsfx2p6sey6zduc +[POLAR] +peggy_denom = inj1kgdp3wu5pr5ftuzczpgl5arg28tz44ucsjqsn9 decimals = 8 -[MASK] -peggy_denom = factory/inj1nhswhqrgfu3hpauvyeycz7pfealx4ack2c5hfp/mask +[POLLY] +peggy_denom = factory/inj1nhswhqrgfu3hpauvyeycz7pfealx4ack2c5hfp/POLLY decimals = 6 -[MASTER] -peggy_denom = inj1at4cjadsrags6c65g4vmtnwzw93pv55kky796l +[PONDO] +peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/pondo decimals = 6 -[MATIC] -peggy_denom = peggy0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0 +[PONG] +peggy_denom = inj1lgy5ne3a5fja6nxag2vv2mwaan69sql9zfj7cl decimals = 18 -[MATR1X] -peggy_denom = inj1367pnje9e8myaw04av6j2n5z7827407k4sa4m8 -decimals = 8 +[POOL] +peggy_denom = peggy0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e +decimals = 18 -[MATR1X AI] -peggy_denom = inj18d3wkfajxh7t9cq280ggrksrchj0ymjf7cxwcf +[POOR] +peggy_denom = peggy0x9D433Fa992C5933D6843f8669019Da6D512fd5e9 decimals = 8 -[MAX] -peggy_denom = factory/inj164jk46xjwsn6x4rzu6sfuvtlzy2nza0nxfj0nz/MAX +[POP] +peggy_denom = factory/inj1a9dsv5whfhqptkycx4l9uly9x684lwmwuv7l3n/POP decimals = 6 -[MAXH] -peggy_denom = inj1h97mmp9v36ljlmhllyqas0srsfsaq2ppq4dhez +[POPCAT] +peggy_denom = inj1pfx2k2mtflde5yz0gz6f7xfks9klx3lv93llr6 decimals = 18 -[MAXI] -peggy_denom = factory/inj1jtx66k3adkjkrhuqypkt2ld7equf3whcmj2lde/MAXI +[POPEYE] +peggy_denom = ibc/7E4EA08D14451712CC921456E2FBA57B54D4CA80AE9E471FAAF16610029B9145 decimals = 6 -[MBERB] -peggy_denom = inj1d6wle0ugcg2u3hcl9unkuz7usdvhv6tx44l9qn -decimals = 6 +[PORK] +peggy_denom = inj14u3qj9fhrc6d337vlx4z7h3zucjsfrwwvnsrnt +decimals = 18 -[MBRN] -peggy_denom = ibc/7AF90EDF6F5328C6C33B03DB7E33445708A46FF006932472D00D5076F5504B67 +[PORNGPT] +peggy_denom = inj1ptlmxvkjxmjap436v9wrryd20r2gqf94fr57ga +decimals = 8 + +[PORTAL] +peggy_denom = factory/inj163072g64wsn8a9n2mydwlx7c0aqt4l7pjseeuu/PORTAL decimals = 6 -[MC01] -peggy_denom = ibc/7F8D9BCCF7063FD843B5C052358466691FBEB29F75FA496A5174340B51EDA568 +[POTIN] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/POTIN decimals = 6 -[MDRA] -peggy_denom = factory/inj1n85jfpxee430qavn9edlkup9kny7aszarag8ed/MADARA +[POTION] +peggy_denom = factory/inj1r7thtn5zj6mv9zupelkkw645ve8kgx35rf43ja/POTION decimals = 18 -[MEAT] -peggy_denom = inj1naxd5z6h78khd90nmfguxht55eecvttus8vfuh +[POTTER] +peggy_denom = factory/inj1c7h6wnfdz0dpc5llsdxfq9yemmq9nwfpr0c59r/potter decimals = 6 -[MEHTER] -peggy_denom = factory/inj1tscuvmskt4fxvqurh0aueg57x4vja683z79q4u/MEHTER -decimals = 6 +[PRERICH] +peggy_denom = factory/inj18p952tvf264784sf9f90rpge4w7dhsjrtgn4lw/prerich +decimals = 7 -[MEME] -peggy_denom = inj1u0y6k9grtux3dlzpvj6hspkg6n0l0l2zmlhygu +[PROD] +peggy_denom = inj1y2mev78vrd4mcfrjunnktctwqhm7hznguue7fc decimals = 18 -[MEMEAI] -peggy_denom = inj1ps72fm7jpvnp3n0ysmjcece6rje9yp7dg8ep5j +[PROMETHEUS] +peggy_denom = inj1tugjw7wy3vhtqjap22j9e62yzrurrsu4efu0ph decimals = 8 -[MEMEME] -peggy_denom = peggy0x1A963Df363D01EEBB2816b366d61C917F20e1EbE -decimals = 18 - -[MEMT] -peggy_denom = factory/inj1vust6dc470q02c35vh8z4qz22ddr0zv35pxaxe/MEMEMINT +[PROOF] +peggy_denom = factory/inj1jpddz58n2ugstuhp238qwwvdf3shxsxy5g6jkn/PROOF decimals = 6 -[MEOW] -peggy_denom = factory/inj13wngn7gt8mt2k66x3ykp9tvfk5x89ajwd7yrtr/meow +[PROTON-011] +peggy_denom = inj1vts6mh344msrwr885ej5naev87yesred5mp23r +decimals = 8 + +[PRYZM] +peggy_denom = ibc/2A88907A69C27C7481E478005AAD1976F044246E0CDB4DB3367EADA4EF38373B decimals = 6 -[MESSI] -peggy_denom = inj1upun866849c4kh4yddzkd7s88sxhvn3ldllqjq +[PSPS] +peggy_denom = inj145p4shl9xdutc7cv0v9qpfallh3s8z64yd66rg +decimals = 18 + +[PSYCHO] +peggy_denom = factory/inj18aptztz0pxvvjzumpnd36szzljup0t7t3pauu8/psycho decimals = 6 -[META] -peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/meta +[PUFF] +peggy_denom = inj1f8kkrgrfd7utflvsq7xknuxtzf92nm80vkshu2 decimals = 6 -[METAOASIS] -peggy_denom = inj1303k783m2ukvgn8n4a2u5jvm25ffqe97236rx2 -decimals = 8 +[PUG] +peggy_denom = peggy0xf9a06dE3F6639E6ee4F079095D5093644Ad85E8b +decimals = 18 -[METAWORLD] -peggy_denom = inj1lafjpyp045430pgddc8wkkg23uxz3gjlsaf4t3 +[PUNK] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1wmrzttj7ms7glplek348vedx4v2ls467n539xt +decimals = 18 + +[PUNKINJ] +peggy_denom = inj1vq0f9sgvg0zj5hc4vvg8yd6x9wzepzq5nekh4l decimals = 8 -[MEW] -peggy_denom = factory/inj1c0f9ze9wh2xket0zs6wy59v66alwratsdx648k/mew +[PUPZA] +peggy_denom = factory/inj13y9m57hw2rnvdmsym8na45z9kvexy82c4n6apc/PUPZA decimals = 6 -[MIB] -peggy_denom = factory/inj1s9pckznjz4hmgtxu5t9gerxtalch7wtle4y3a6/MIB +[PUTIN] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/putin decimals = 6 -[MICE] -peggy_denom = factory/inj16g5w38hqehsmye9yavag0g0tw7u8pjuzep0sys/MICE +[PVP] +peggy_denom = peggy0x9B44793a0177C84DD01AD81137db696531902871 +decimals = 8 + +[PVV] +peggy_denom = inj1rk5y4m3qgm8h68z2lp3e2dqqjmpkx7m0aa84ah decimals = 6 -[MICHAEL] -peggy_denom = factory/inj1hem3hs6fsugvx65ry43hpcth55snyy8x4c5s89/MICHAEL +[PYTH] +peggy_denom = ibc/F3330C1B8BD1886FE9509B94C7B5398B892EA41420D2BC0B7C6A53CB8ED761D6 decimals = 6 -[MICRO] -peggy_denom = inj1jnn7uf83lpl9ug5y6d9pxes9v7vqphd379rfeh +[PYTHlegacy] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1tjcf9497fwmrnk22jfu5hsdq82qshga54ajvzy decimals = 6 -[MIGMIG] -peggy_denom = inj1vl8swymtge55tncm8j6f02yemxqueaj7n5atkv +[PYUSD] +peggy_denom = ibc/4367FD29E33CDF0487219CD3E88D8C432BD4C2776C0C1034FF05A3E6451B8B11 decimals = 6 -[MILA] -peggy_denom = factory/inj1z08usf75ecfp3cqtwey6gx7nr79s3agal3k8xf/MILA +[Panda Itamae] +peggy_denom = factory/inj1wpttce7eccrutxkddtzug4xyz4ztny88httxpg/panda decimals = 6 -[MILF] -peggy_denom = inj1mlahaecngtx3f5l4k6mq882h9r2fhhplsatgur +[Pedro] +peggy_denom = inj1c6lxety9hqn9q4khwqvjcfa24c2qeqvvfsg4fm decimals = 18 -[MILFQUNT] -peggy_denom = factory/inj164mk88yzadt26tzvjkpc4sl2v06xgqnn0hj296/MILFQUNT -decimals = 6 - -[MILK] -peggy_denom = factory/inj1yg24mn8enl5e6v4jl2j6cce47mx4vyd6e8dpck/milk +[People] +peggy_denom = inj13pegx0ucn2e8w2g857n5828cmvl687jgq692t4 decimals = 6 -[MINIDOG] -peggy_denom = inj1shzx0tx7x74ew6ewjdhvw2l3a828tfaggk5lj3 +[Pepe] +peggy_denom = ibc/9144D78830C5ABD7B7D9E219EA7600E3A0E0AD5FC50C007668160595E94789AB decimals = 18 -[MINJ] -peggy_denom = factory/inj1cm5lg3z9l3gftt0c09trnllmayxpwt8825zxw3/minj -decimals = 6 - -[MIRZA] -peggy_denom = factory/inj1m6mqdp030nj6n7pa9n03y0zrkczajm96rcn7ye/MIRZA -decimals = 6 +[Phepe] +peggy_denom = inj1mtt0a4evtfxazpxjqlv5aesdn3mnysl78lppts +decimals = 8 -[MITHU] -peggy_denom = inj1uh3nt2d0q69hwsgge4z38rm2vg9h7hugdnf5wx -decimals = 6 +[Pie] +peggy_denom = inj1m707m3ngxje4adfr86tll8z7yzm5e6eln8e3kr +decimals = 18 -[MIYOYO] -peggy_denom = factory/inj1xuds68kdmuhextjew8zlt73g5ku7aj0g7tlyjr/miyoyo +[PigFucker] +peggy_denom = factory/inj17p7p03yn0z6zmjwk4kjfd7jh7uasxwmgt8wv26/pigfucker decimals = 6 -[MKEY] -peggy_denom = inj1jqqysx5j8uef2kyd32aczp3fktl46aqh7jckd5 +[Pigs] +peggy_denom = inj1mcmjk2zgh5wpxkdmkevlpmah6tsmwvql78twpf decimals = 18 -[MKR] -peggy_denom = ibc/E8C65EFAB7804152191B8311F61877A36779277E316883D8812D3CBEFC79AE4F -decimals = 18 +[Pikachu] +peggy_denom = factory/inj1h9zu2u6yqf3t5uym75z94zsqfhazzkyg39957u/pika +decimals = 6 -[MNC] -peggy_denom = inj1fr693adew9nnl64ez2mmp46smgn48c9vq2gv6t +[PingDevRtard] +peggy_denom = inj1c8v52n2wyye96m4xwama3pwqkdc56gw03dlkcq decimals = 18 -[MNINJA] -peggy_denom = inj1cv3dxtjpngy029k5j0mmsye3qrg0uh979ur920 +[Point Token] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1l73x8hh6du0h8upp65r7ltzpj5twadtp5490n0 decimals = 18 -[MNP] -peggy_denom = inj1s02f4aygftq6yhpev9dmnzp8889g5h3juhd5re -decimals = 18 +[Polkadot] +peggy_denom = ibc/624BA9DD171915A2B9EA70F69638B2CEA179959850C1A586F6C485498F29EDD4 +decimals = 10 -[MNTA] -peggy_denom = ibc/A4495880A4A2E3C242F63C710F447BAE072E1A4C2A22F1851E0BB7ABDD26B43D +[Popeye] +peggy_denom = ibc/833095AF2D530639121F8A07E24E5D02921CA19FF3192D082E9C80210515716C decimals = 6 -[MOAR] -peggy_denom = ibc/D37C63726080331AF3713AA59B8FFD409ABD44F5FDB4685E5F3AB43D40108F6F +[Punk DAO Token] +peggy_denom = factory/inj1esz96ru3guug4ctmn5chjmkymt979sfvufq0hs/PUNK decimals = 6 -[MOBX] -peggy_denom = ibc/D80D1912495833112073348F460F603B496092385558F836D574F86825B031B4 -decimals = 9 +[Punk Token] +peggy_denom = inj1wmrzttj7ms7glplek348vedx4v2ls467n539xt +decimals = 18 -[MOGD] -peggy_denom = inj1yycep5ey53zh2388k6m2jmy4s4qaaurmjhcatj +[Pyth Network (legacy)] +peggy_denom = inj1tjcf9497fwmrnk22jfu5hsdq82qshga54ajvzy decimals = 6 -[MOJO] -peggy_denom = inj14ttljn98g36yp6s9qn59y3xsgej69t53ja2m3n +[QAT] +peggy_denom = inj1m4g54lg2mhhm7a4h3ms5xlyecafhe4macgsuen +decimals = 8 + +[QNT] +peggy_denom = peggy0x4a220E6096B25EADb88358cb44068A3248254675 decimals = 18 -[MOL] -peggy_denom = factory/inj1fnpmp99kclt00kst3ht8g0g44erxr5wx6fem9x/MOL -decimals = 6 +[QOC] +peggy_denom = inj1czcj5472ukkj6pect59z5et39esr3kvquxl6dh +decimals = 8 -[MOM] -peggy_denom = inj17p7q5jrc6y00akcjjwu32j8kmjkaj8f0mjfn9p -decimals = 6 +[QTUM] +peggy_denom = factory/inj1jgc9ptfwgyapfrr0kgdjjnwpdqck24pp59uma3/qtum +decimals = 0 -[MOMO] -peggy_denom = factory/inj12kja5s3dngydnhmdm69v776mkfrf7nuzclwzc4/MOMO +[QTest] +peggy_denom = factory/inj1dda3mee75nppg9drvx8zc88zdj4qzvmlnrtrnh/QTest decimals = 6 -[MONKEY] -peggy_denom = factory/inj1zgpg4laenyplsjeqz4pxfhmsv55vcx70lf2sgz/MONKEY +[QUNT] +peggy_denom = factory/inj127l5a2wmkyvucxdlupqyac3y0v6wqfhq03ka64/qunt decimals = 6 -[MONKS] -peggy_denom = inj1fy4hd7gqtdzp6j84v9phacm3f998382yz37rjd -decimals = 18 - -[MOO] -peggy_denom = factory/inj10tj05gfpxgnmpr4q7rhxthuknc6csatrp0uxff/moo +[QUOK] +peggy_denom = factory/inj1jdnjwhcjhpw8v0cmk80r286w5d426ns6tw3nst/QUOK decimals = 6 -[MOON] -peggy_denom = factory/inj1k7ygz5ufgavnutv0hkgsz7u9g4c3yj6lq6p0jn/MOON +[Quants] +peggy_denom = factory/inj1yttneqwxxc4qju4p54549p6dq2j0d09e7gdzx8/Quants decimals = 6 -[MOONIFY] -peggy_denom = factory/inj1ktq0gf7altpsf0l2qzql4sfs0vc0ru75cnj3a6/moonify -decimals = 6 +[RAA] +peggy_denom = inj1vzpjnmm4s9qa74x2n7vgcesq46afjj5yfwvn4q +decimals = 18 -[MOONTRADE] -peggy_denom = inj19fzjd8rungrlmkujr85v0v7u7xm2aygxsl03cy -decimals = 8 +[RAB] +peggy_denom = inj1xmdyafnth7g6pvg6zd687my3ekw3htvh95t2c8 +decimals = 18 -[MOR] -peggy_denom = inj13vyz379revr8w4p2a59ethm53z6grtw6cvljlt -decimals = 8 +[RAC] +peggy_denom = inj1y6dgj675ttk2tzeasdwsk6n7etn0cfh9wz20vy +decimals = 18 -[MORKIE] -peggy_denom = inj1k30vrj8q6x6nfyn6gpkxt633v3u2cwncpxflaa +[RAD] +peggy_denom = inj1r9wxpyqp4a75k9dhk5qzcfmkwtrg7utgrvx0zu decimals = 18 -[MOTHER] -peggy_denom = inj1rytr7mwrentqhng3gldplyf59k23qd3x5umc36 +[RAE] +peggy_denom = inj1lvtcdka9prgtugcdxeyw5kd9rm35p0y2whwj7j decimals = 18 -[MOX] -peggy_denom = inj1w86sch2d2zmpw0vaj5sn2hdy6evlvqy5kx3mf0 +[RAF] +peggy_denom = inj1l8hztn806saqkacw8rur4qdgexp6sl7k0n6xjm decimals = 18 -[MPEPE] -peggy_denom = mpepe +[RAG] +peggy_denom = inj1k45q0qf0jwepajlkqcx5a6w833mm0lufzz0kex decimals = 18 -[MRKO] -peggy_denom = inj10wufg9exwgr8qgehee9q8m8pk25c62wwul4xjx -decimals = 8 +[RAH] +peggy_denom = inj1mpcxzhkk0c7wjrwft2xafsvds9un59gfdml706 +decimals = 18 -[MRZ] -peggy_denom = factory/inj15e6p3slz9pa7kcn280y7hgp6rvhsqm3vnczlaw/mirza +[RAI] +peggy_denom = peggy0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919 +decimals = 18 + +[RAMEN] +peggy_denom = factory/inj1z5utcc5u90n8a5m8gv30char6j4hdzxz6t3pke/ramen decimals = 6 -[MT] -peggy_denom = inj1exeh9j6acv6375mv9rhwtzp4qhfne5hajncllk -decimals = 8 +[RAMEN2] +peggy_denom = factory/inj15d5v02thnac8mc79hx0nzuz4rjxuccy7rc63x3/RAMEN2 +decimals = 6 -[MUBI] -peggy_denom = factory/inj1fzhwjv2kjv7xr2h4phue5yqsjawjypcamcpl5a/mubi +[RAMEN22] +peggy_denom = factory/inj15d5v02thnac8mc79hx0nzuz4rjxuccy7rc63x3/RAMEN22 decimals = 6 -[MUSHROOM] -peggy_denom = inj1wchqefgxuupymlumlzw2n42c6y4ttjk9a9nedq +[RAMENV2] +peggy_denom = factory/inj15d5v02thnac8mc79hx0nzuz4rjxuccy7rc63x3/RAMENV2 decimals = 6 -[MUSK] -peggy_denom = inj1em3kmw6dmef39t7gs8v9atsvzkprdr03k5h5ej +[RAMSES] +peggy_denom = inj1jttaxqcjtsys54k3m6mx4kzulzasg4tc6hhpp6 decimals = 8 -[MYRK] -peggy_denom = ibc/48D1DA9AA68C949E27BAB39B409681292035ABF63EAB663017C7BEF98A3D118E +[RAPTR] +peggy_denom = ibc/592FDF11D4D958105B1E4620FAECAA6708655AB815F01A01C1540968893CDEBF decimals = 6 -[MYSTERYBOX1] -peggy_denom = factory/inj1llr45x92t7jrqtxvc02gpkcqhqr82dvyzkr4mz/MYSTERYBOX1 -decimals = 0 +[RATJA] +peggy_denom = inj1kl5pzllv782r8emj3umgn3dwcewc6hw6xdmvrv +decimals = 18 -[MacTRUMP] -peggy_denom = inj10gsw06ee0ppy7ltqeqhagle35h0pnue9nnsetg +[RAY] +peggy_denom = factory/inj1ckddr5lfwjvm2lvtzra0ftx7066seqr3navva0/RAY decimals = 6 -[Maga] -peggy_denom = inj1wey50ukykccy8h6uaacln8naz5aahhsy09h4x0 -decimals = 6 +[REAL] +peggy_denom = inj1uhralmk73lkxeyd9zhskmzz44lsmcxneluqgp9 +decimals = 18 -[Mak] -peggy_denom = inj1vpks54yg6kwtsmt9r2psclcp0gmkgma3c3rvmg +[REALS] +peggy_denom = inj1g3l8chts5wrt437tkpmuy554wcky6devphqxf0 decimals = 18 -[MantaInj] -peggy_denom = inj1qzc2djpnpg9n5jjcjzayl0dn4gjvft77yfau52 -decimals = 8 +[RED] +peggy_denom = inj15ytmt6gng36relzntgz0qmgfqnygluz894yt28 +decimals = 18 -[Mark] -peggy_denom = factory/inj1uw9z3drc0ea680e4wk60lmymstx892nta7ycyt/MARK -decimals = 6 +[REDINJ] +peggy_denom = inj1jkts7lhvwx27z92l6dwgz6wpyd0xf9wu6qyfrh +decimals = 18 -[Marshmello] -peggy_denom = inj1aw5t8shvcesdrh47xfyy9x9j0vzkhxuadzv6dw +[REFIs] +peggy_denom = factory/inj1uklzzlu9um8rq922czs8g6f2ww760xhvgr6pat/REFIs decimals = 6 -[MartialArts] -peggy_denom = factory/inj1tjspc227y7ck52hppnpxrmhfj3kd2pw3frjw8v/MartialArts +[REIS] +peggy_denom = ibc/444BCB7AC154587F5D4ABE36EF6D7D65369224509DCBCA2E27AD539519DD66BB decimals = 6 -[Matr1x AI] -peggy_denom = inj1gu7vdyclf2fjf9jlr6dhzf34kcxchjavevuktl -decimals = 8 - -[MelonMask] -peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/melonmask +[RETRO] +peggy_denom = ibc/ACDEFBA440F37D89E2933AB2B42AA0855C30852588B7DF8CD5FBCEB0EB1471EB decimals = 6 -[Meme] -peggy_denom = factory/inj1c72uunyxvpwfe77myy7jhhjtkqdk3csum846x4/Meme -decimals = 4 - -[MemeCoin] -peggy_denom = inj12dag0a67uxcvs5x730lpq0pdsatgmx8ktqeafl -decimals = 8 - -[Men In Black] -peggy_denom = factory/inj1q3xa3r638hmpu2mywg5r0w8a3pz2u5l9n7x4q2/MeninblackINJ +[RHINO] +peggy_denom = inj1t5f60ewnq8hepuvmwnlm06h0q23fxymldh0hpr decimals = 6 -[Messi] -peggy_denom = inj1lvq52czuxncydg3f9z430glfysk4yru6p4apfr +[RIBBIT] +peggy_denom = peggy0xb794Ad95317f75c44090f64955954C3849315fFe decimals = 18 -[MetaOasis] -peggy_denom = inj1uk7dm0ws0eum6rqqfvu8d2s5vrwkr9y2p7vtxh -decimals = 8 +[RICE] +peggy_denom = factory/inj1mt876zny9j6xae25h7hl7zuqf7gkx8q63k0426/rice +decimals = 12 -[MetaPX] -peggy_denom = inj1dntprsalugnudg7n38303l3l577sxkxc6q7qt5 +[RICHINJ] +peggy_denom = inj143l8dlvhudhzuggrp5sakwmn8kw24hutr43fe2 decimals = 8 -[Metti] -peggy_denom = inj1lgnrkj6lkrckyx23jkchdyuy62fj4773vjp3jf -decimals = 8 +[RICK] +peggy_denom = factory/inj1ga7xu92w0yxhedk92v6ckge6q76vx2hxcwxsxx/RICK +decimals = 6 -[Mew Cat] -peggy_denom = inj12pykmszt7g2l5h2q9h8vfk0w6aq2nj8waaqs7d -decimals = 8 +[RIP] +peggy_denom = inj1eu8ty289eyjvm4hcrg70n4u95jggh9eekfxs5y +decimals = 18 -[Minions] -peggy_denom = inj1wezquktplhkx9gheczc95gh98xemuxqv4mtc84 +[RITSU] +peggy_denom = inj17cqglnfpx7w20pc6urwxklw6kkews4hmfj6z28 +decimals = 18 + +[RKO] +peggy_denom = factory/inj1muuaghrdm2rfss9cdpxzhk3v7xqj8ltngrm0xd/RKO decimals = 6 -[MitoTutorial] -peggy_denom = factory/inj1m3ea9vs5scly8c5rm6l3zypknfckcc3xzu8u5v/Test +[RKT] +peggy_denom = factory/inj1af5v85xm5upykzsjj29lpr9dyp4n37746kpfmq/RKT decimals = 6 -[Money] -peggy_denom = inj108rxfpdh8q0pyrnnp286ftj6jctwtajjeur773 +[RNDR] +peggy_denom = inj1092d3j7yqup5c8lp92vv5kadl567rynj59yd92 decimals = 18 -[Monks] -peggy_denom = factory/inj148sjw9h9n3n8gjw37reetwdlc7v4hfhl8r7vv3/Monks +[ROAR] +peggy_denom = ibc/E6CFB0AC1D339A8CBA3353DF0D7E080B4B14D026D1C90F63F666C223B04D548C decimals = 6 -[Moon] -peggy_denom = inj143ccar58qxmwgxr0zcp32759z5nsvseyr2gm7c -decimals = 18 - -[Moon ] -peggy_denom = inj1e3gqdkr2v7ld6m3620lgddfcarretrca0e7gn5 +[ROB] +peggy_denom = inj1x6lvx8s2gkjge0p0dnw4vscdld3rdcw94fhter decimals = 18 -[Moonlana] -peggy_denom = inj1trg4pfcu07ft2dhd9mljp9s8pajxeclzq5cnuw -decimals = 8 +[ROCK] +peggy_denom = factory/inj1xjcq2ch3pacc9gql24hfwpuvy9gxszxpz7nzmz/rock +decimals = 6 -[Morc] -peggy_denom = inj1vnwc3n4z2rewaetwwxz9lz46qncwayvhytpddl +[ROCKET] +peggy_denom = inj1zrw6acmpnghlcwjyrqv0ta5wmzute7l4f0n3dz decimals = 8 -[MrT] -peggy_denom = inj1hrhfzv3dfzugfymf7xw37t0erp32f2wkcx3r74 -decimals = 6 +[ROLL] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1qv98cmfdaj5f382a0klq7ps4mnjp6calzh20h3 +decimals = 18 -[Multichain USDC] -peggy_denom = ibc/610D4A1B3F3198C35C09E9AF7C8FB81707912463357C9398B02C7F13049678A8 +[ROM] +peggy_denom = inj16w9qp30vrpng8kr83efvmveen688klvtd00qdy decimals = 6 -[MySymbol] -peggy_denom = inj1t6hampk8u4hsrxwt2ncw6xx5xryansh9mg94mp +[ROMAN] +peggy_denom = inj1h3z3gfzypugnctkkvz7vvucnanfa5nffvxgh2z decimals = 18 -[MyTokenOne] -peggy_denom = inj13m7h8rdfvr0hwvzzvufwe2sghlfd6e45rz0txa -decimals = 18 +[RONI] +peggy_denom = factory/inj13y9m57hw2rnvdmsym8na45z9kvexy82c4n6apc/RONI +decimals = 6 -[MyTokenZero] -peggy_denom = inj1kzk2h0g6glmlwamvmzq5jekshshkdez6dnqemf -decimals = 18 +[RONIN] +peggy_denom = inj142hawfqncg5hd3z7rvpvx7us0h7c4mwjmeslpu +decimals = 6 -[NAKI] -peggy_denom = factory/inj10lauc4jvzyacjtyk7tp3mmwtep0pjnencdsnuc/NAKI +[RONOLDO] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/ronoldo decimals = 6 -[NAMI] -peggy_denom = ibc/B82AA4A3CB90BA24FACE9F9997B75359EC72788B8D82451DCC93986CB450B953 +[ROOT] +peggy_denom = peggy0xa3d4BEe77B05d4a0C943877558Ce21A763C4fa29 decimals = 6 -[NARUTO] -peggy_denom = factory/inj16x0d8udzf2z2kjkdlr9ehdt7mawn9cckzt927t/naruto +[RSNL] +peggy_denom = factory/inj1uvexgrele9lr5p87kksg6gmz2telncpe0mxsm6/RSNL decimals = 6 -[NAWU] -peggy_denom = inj1y5qs5nm0q5qz62lxkeq5q9hpkh050pfn2j6mh4 +[RSTK] +peggy_denom = ibc/102810E506AC0FB1F14755ECA7A1D05066E0CBD574526521EF31E9B3237C0C02 +decimals = 6 + +[RTD] +peggy_denom = inj1ek524mnenxfla235pla3cec7ukmr3fwkgf6jq3 decimals = 18 -[NBD] -peggy_denom = factory/inj1ckw2dxkwp7ruef943x50ywupsmxx9wv8ahdzkt/NBD +[RUDY] +peggy_denom = factory/inj1ykggxun6crask6eywr4a2lfy36f4we5l9rg2an/RUDY decimals = 6 -[NBLA] -peggy_denom = factory/inj1d0zfq42409a5mhdagjutl8u6u9rgcm4h8zfmfq/nbla +[RUG] +peggy_denom = factory/inj174r3j8pm93gfcdu0g36dg6g7u0alygppypa45e/RUG decimals = 6 -[NBOY] -peggy_denom = factory/inj1nmc5namhwszx0yartvjm6evsxrj0ctq2qa30l7/NBOY +[RUGAOI] +peggy_denom = factory/inj1pe8rs2gfmem5ak8vtqkduzkgcyargk2fg6u4as/RUGAOI decimals = 6 -[NBZ] -peggy_denom = ibc/1011E4D6D4800DA9B8F21D7C207C0B0C18E54E614A8576037F066B775210709D +[RUGMYASS] +peggy_denom = inj18n9rpsstxsxgpmgegkn6fsvq9x3alqekqddgnq +decimals = 18 + +[RUGPULL] +peggy_denom = factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/RUGPULL decimals = 6 -[NBZAIRDROP] -peggy_denom = factory/inj1llr45x92t7jrqtxvc02gpkcqhqr82dvyzkr4mz/NBZAIRDROP -decimals = 0 +[RUMBLERZ] +peggy_denom = inj1pcwdvq866uqd8lhpmasya2xqw9hk2u0euvvqxl +decimals = 8 -[NBZPROMO1] -peggy_denom = factory/inj1llr45x92t7jrqtxvc02gpkcqhqr82dvyzkr4mz/NBZPROMO1 -decimals = 0 +[RUNE] +peggy_denom = peggy0x3155BA85D5F96b2d030a4966AF206230e46849cb +decimals = 18 -[NCACTE] -peggy_denom = factory/inj1zpgcfma4ynpte8lwfxqfszddf4nveq95prqyht/NCACTE +[RYAN] +peggy_denom = inj1mng4fr0ckvrq8xvgtsjrj6mqzm7passfzjqxcx decimals = 6 -[NCH] -peggy_denom = inj1d8pmcxk2grd62pwcy4q58l2vqh98vwkjx9nsvm -decimals = 8 +[RYU] +peggy_denom = factory/inj1cm0jn67exeqm5af8lrlra4epfhyk0v38w98g42/ryu +decimals = 18 -[NCOQ] -peggy_denom = factory/inj13gc6rhwe73hf7kz2fwpall9h73ft635yss7tas/NCOQ +[Rai Reflex Index] +peggy_denom = ibc/27817BAE3958FFB2BFBD8F4F6165153DFD230779994A7C42A91E0E45E8201768 +decimals = 18 + +[RealMadrid] +peggy_denom = factory/inj1a7697s5yg3tsgkfrm0u5hvxm34mu8v0v3trryx/RealMadrid decimals = 6 -[NEO] -peggy_denom = inj12hnvz0xs4mnaqh0vt9suwf8puxzd7he0mukgnu -decimals = 8 +[Rice Token] +peggy_denom = inj1j6qq40826d695eyszmekzu5muzmdey5mxelxhl +decimals = 18 -[NEOK] -peggy_denom = ibc/F6CC233E5C0EA36B1F74AB1AF98471A2D6A80E2542856639703E908B4D93E7C4 +[Rise] +peggy_denom = inj123aevc4lmpm09j6mqemrjpxgsa7dncg2yn2xt7 decimals = 18 -[NEPT] -peggy_denom = inj1464m9k0njt596t88chlp3nqg73j2fzd7t6kvac +[Roll] +peggy_denom = inj15wuxx78q5p9h7fqg3ux7zljczj7jh5qxqhrevv decimals = 18 -[NETZ] -peggy_denom = inj1dg27j0agxx8prrrzj5y8hkw0tccgwfuwzr3h50 -decimals = 8 +[Roll Token] +peggy_denom = inj1qv98cmfdaj5f382a0klq7ps4mnjp6calzh20h3 +decimals = 18 -[NEURA] -peggy_denom = peggy0x3D1C949a761C11E4CC50c3aE6BdB0F24fD7A39DA +[Rush] +peggy_denom = inj1r2gjtqgzhfcm4wgvmctpuul2m700v4ml24l7cq decimals = 18 -[NEURAL] -peggy_denom = factory/inj1esryrafqyqmtm50wz7fsumvq0xevx0q0a9u7um/NEURAL +[SAE] +peggy_denom = factory/inj152mdu38fkkk4fl7ycrpdqxpm63w3ztadgtktyr/SAE decimals = 6 -[NEWF] -peggy_denom = inj1uhqyzzmjq2czlsejqjg8gpc00gm5llw54gr806 +[SAFAS] +peggy_denom = inj1vphq25x2r69mpf2arzsut8yxcav709kwd3t5ck decimals = 18 -[NEWS] -peggy_denom = factory/inj1uw4cjg4nw20zy0y8z8kyug7hum48tt8ytljv50/NEWS +[SAFEMOON] +peggy_denom = factory/inj1pgkwcngxel97d9qjvg75upe8y3lvvzncq5tdr0/safemoon decimals = 6 -[NEWSHROOM] -peggy_denom = inj1e0957khyf2l5knwtdnzjr6t4d0x496fyz6fwja +[SAGA] +peggy_denom = ibc/AF921F0874131B56897A11AA3F33D5B29CD9C147A1D7C37FE8D918CB420956B2 decimals = 6 -[NEWT] -peggy_denom = inj1k4gxlzrqvmttwzt2el9fltnzcdtcywutxqnahw -decimals = 18 - -[NEWTON] -peggy_denom = inj14a7q9frkgtvn53xldccsvmz8lr5u6qffu7jmmx -decimals = 8 +[SAIL] +peggy_denom = ibc/2718A31D59C81CD1F972C829F097BDBE32D7B84025F909FFB6163AAD314961B3 +decimals = 6 -[NEWYEARINJ] -peggy_denom = inj1980cshwxa5mnptp6vzngha6h2qe556anm4zjtt -decimals = 8 +[SAKE] +peggy_denom = factory/inj1mdyw30cuct3haazw546t4t92sadeuwde0tmqxx/SAKE +decimals = 6 -[NEXO] -peggy_denom = peggy0xB62132e35a6c13ee1EE0f84dC5d40bad8d815206 -decimals = 18 +[SAKI] +peggy_denom = factory/inj1gg43076kmy0prkxtn5xxka47lfmwwjsq6ygcfa/SAKI +decimals = 6 -[NEYMAR] -peggy_denom = inj1s2ealpaglaz24fucgjlmtrwq0esagd0yq0f5w5 +[SAKURA] +peggy_denom = factory/inj183fjyma33jsx0wndkmk69yukk3gpll7gunkyz6/sakura decimals = 6 -[NFA] -peggy_denom = factory/inj1c5gk9y20ptuyjlul0w86dsxhfttpjgajhvf9lh/NFA +[SALT] +peggy_denom = factory/inj15e6p3slz9pa7kcn280y7hgp6rvhsqm3vnczlaw/salt decimals = 6 -[NFCTV] -peggy_denom = factory/inj14mn4n0lh52vxttlg5a4nx58pnvc2ntfnt44y4j/NFCTV +[SAM] +peggy_denom = factory/inj1wuw7wa8fvp0leuyvh9ypzmndduzd5vg0xc77ha/sam decimals = 6 -[NFT] -peggy_denom = factory/inj1zchn2chqyv0cqfva8asg4lx58pxxhmhhhgx3t5/NFT +[SAMI] +peggy_denom = factory/inj13jvw7hl6hkyg8a8ltag47xyzxcc6h2qkk0u9kr/SAMI decimals = 6 -[NI] -peggy_denom = factory/inj1kzaaapa8ux4z4lh8stm6vv9c5ykhtwl84zxrtl/ni +[SAMOORAII] +peggy_denom = factory/inj1056f9jwmdxjmc3xf3urpka00gjfsnna7ct3gy3/SAMOORAII decimals = 6 -[NICO] -peggy_denom = ibc/EED3F204DCABACBEB858B0A56017070283098A81DEB49F1F9D6702309AA7F7DE +[SAMP] +peggy_denom = inj1xd2l3406kypepnnczcn6fm0lnmsk6qk7dakryn decimals = 18 -[NIF] -peggy_denom = factory/inj1pnwrzhnjfncxgf4jkv3zadf542tpfc3xx3x4xw/NIF +[SAMURAI] +peggy_denom = factory/inj16nffej2c5xx93lf976wkp7vlhenau464rawhkc/samurai decimals = 6 -[NIGGA] -peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/nigga +[SANSU] +peggy_denom = factory/inj1x5thnvjfwzmtxxhqckrap8ysgs2duy29m4xwsp/sansu decimals = 6 -[NIJIO] -peggy_denom = inj1lwgzxuv0wkz86906dfssuwgmhld8705tzcfhml -decimals = 18 +[SANTA] +peggy_denom = factory/inj12qf874wcfxtxt004qmuhdtxw4l6d0f5w6cyfpz/santa +decimals = 6 -[NIKE] -peggy_denom = inj1e2ee7hk8em3kxqxc0uuupzpzvrcda85s3lx37h -decimals = 18 +[SANTABONK] +peggy_denom = inj1zjdtxmvkrxcd20q8nru4ws47nemkyxwnpuk34v +decimals = 8 -[NIM] -peggy_denom = ibc/C1BA2AC55B969517F1FCCFC47779EC83C901BE2FC3E1AFC8A59681481C74C399 -decimals = 18 +[SANTAGODX] +peggy_denom = inj1j8nvansvyvhnz4vzf5d8cyjpwu85ksdhyjf3n4 +decimals = 8 -[NIN] -peggy_denom = inj1d0z43f50a950e2vdzrlu7w8yeyy0rp5pdey43v +[SANTAINJ] +peggy_denom = inj17cqy5lr4gprjgnlv0j2mw4rhqfhr9zpupkur8t +decimals = 8 + +[SANTAMEME] +peggy_denom = inj1dds0a220twm3pjprypmy0qun3cn727hzj0tpaa +decimals = 8 + +[SASUKE] +peggy_denom = inj1alpg8nw7lw8uplsrah8q0qn66rqq0fxzd3wf9f decimals = 18 -[NINISHROOM] -peggy_denom = inj1vlgszdzq75lh56t5nqvxz28u0d9ftyve6pglxr +[SATOSHIVM] +peggy_denom = inj1y7pvzc8h05e8qs9de2c9qcypxw6xkj5wttvm70 +decimals = 8 + +[SATS] +peggy_denom = inj1ck568jpww8wludqh463lk6h32hhe58u0nrnnxe +decimals = 8 + +[SAVEOURSTRAYS] +peggy_denom = factory/inj1a5h6erkyttcsyjmrn4k3rxyjuktsxq4fnye0hg/SAVEOURSTRAYS +decimals = 6 + +[SAVM] +peggy_denom = inj1wuw0730q4rznqnhkw2nqwk3l2gvun7mll9ew3n decimals = 6 -[NINJ] -peggy_denom = factory/inj13m5k0v69lrrng4y3h5895dlkr6zcp272jmhrve/Ninjutsu +[SAYVE] +peggy_denom = ibc/DF2B99CF1FEA6B292E79617BD6F7EF735C0B47CEF09D7104E270956E96C38B12 decimals = 6 -[NINJA] -peggy_denom = factory/inj1xtel2knkt8hmc9dnzpjz6kdmacgcfmlv5f308w/ninja +[SB] +peggy_denom = inj1cqq89rjk4v5a0teyaefqje3skntys7q6j5lu2p +decimals = 8 + +[SBF] +peggy_denom = factory/inj1j2me24lslpaa03fw8cuct8586t6f6qf0wcf4fm/SBF decimals = 6 -[NINJA MEME] -peggy_denom = inj1dypt8q7gc97vfqe37snleawaz2gp7hquxkvh34 +[SCAM] +peggy_denom = inj1f9rppeq5yduz2te5fxxwnalg54lsa3ac6da5fg decimals = 18 -[NINJA WIF HAT] -peggy_denom = inj1pj40tpv7algd067muqukfer37swt7esymxx2ww +[SCLX] +peggy_denom = factory/inj1faq30xe497yh5ztwt00krpf9a9lyakg2zhslwh/SCLX decimals = 6 -[NINJAGO] -peggy_denom = factory/inj19025raqd5rquku4ha42age7c6r7ws9jg6hrulx/NINJAGO +[SCORPION] +peggy_denom = factory/inj10w3p2qyursc03crkhg9djdm5tnu9xg63r2zumh/scorpion decimals = 6 -[NINJAMOON] -peggy_denom = inj1etlxd0j3u83d8jqhwwu3krp0t4chrvk9tzh75e +[SCRT] +peggy_denom = ibc/0954E1C28EB7AF5B72D24F3BC2B47BBB2FDF91BDDFD57B74B99E133AED40972A decimals = 6 -[NINJANGROK] -peggy_denom = inj17006r28luxtfaf7hn3jd76pjn7l49lv9le3983 -decimals = 6 +[SDEX] +peggy_denom = peggy0x5DE8ab7E27f6E7A1fFf3E5B337584Aa43961BEeF +decimals = 18 -[NINJAPE] -peggy_denom = factory/inj1rvg9a58qtcf8f464w2hkynrvpnl9x59wsaq922/NINJAPE +[SDOGE] +peggy_denom = inj1525sjr836apd4xkz8utflsm6e4ecuhar8qckhd +decimals = 8 + +[SEAS] +peggy_denom = ibc/FF5AC3E28E50C2C52063C18D0E2F742B3967BE5ACC6D7C8713118E54E1DEE4F6 decimals = 6 -[NINJAPEPE] -peggy_denom = inj1jhufny7g2wjv4yjh5za97jauemwmecflvuguty +[SECOND] +peggy_denom = inj1rr08epad58xlg5auytptgctysn7lmsk070qeer decimals = 18 -[NINJAS] -peggy_denom = factory/inj1j3rm46nj4z8eckv5333897z7esectj64kufs4a/NINJAS +[SEI] +peggy_denom = factory/inj1hae0z4qsxw90ghy249ymghyz2ewa0ww3qrkyx2/SEI decimals = 6 -[NINJASAMURAI] -peggy_denom = inj1kfr9r9vvflgyka50yykjm9l02wsazl958jffl2 +[SEIFU] +peggy_denom = inj1jtenkjgqhwxdl93eak2aark5s9kl72awc4rk47 decimals = 6 -[NINJATRUMP] -peggy_denom = factory/inj1f95tm7382nhj42e48s427nevh3rkj64xe7da5z/NINJATRUMP +[SEISEI] +peggy_denom = factory/inj1lm95gdmz7qatcgw933t97rg58wnzz3dpxv7ldk/SEISEI decimals = 6 -[NINJAWIFHAT] -peggy_denom = factory/inj1xukaxxx4yuaz6xys5dpuhe60un7ct9umju5ash/NWIF -decimals = 6 +[SEIWHAT?] +peggy_denom = inj1qjgtplwsrflwgqjy0ffp72mfzckwsqmlq2ml6n +decimals = 8 -[NINJB] -peggy_denom = factory/inj1ezzzfm2exjz57hxuc65sl8s3d5y6ee0kxvu67n/ninjb +[SEIYAN] +peggy_denom = ibc/ECC41A6731F0C6B26606A03C295236AA516FA0108037565B7288868797F52B91 decimals = 6 -[NINJT] -peggy_denom = inj1tp3cszqlqa7e08zcm78r4j0kqkvaccayhx97qh -decimals = 18 - -[NINPO] -peggy_denom = inj1sudjgsyhufqu95yp7rqad3g78ws8g6htf32h88 +[SEKIRO] +peggy_denom = factory/inj1nn8xzngf2ydkppk2h0n9nje72ttee726hvjplx/Sekiro decimals = 6 -[NINU] -peggy_denom = inj14057e7c29klms2fzgjsm5s6serwwpeswxry6tk +[SENJU] +peggy_denom = factory/inj1qdamq2fk7xs6m34qv8swl9un04w8fhk42k35e5/SENJU decimals = 6 -[NINZA] -peggy_denom = factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/NINZA +[SENSEI] +peggy_denom = factory/inj1qpv9su9nkkka5djeqjtt5puwn6lw90eh0yfy0f/sensei decimals = 6 -[NITROID] -peggy_denom = inj1f7srklvw4cf6net8flmes4mz5xl53mcv3gs8j9 -decimals = 8 +[SEQUENCE] +peggy_denom = factory/inj1nz984w2xnpwrtzsj7mt8rsc57vyhpwa360fq2r/sequence +decimals = 6 -[NJO] -peggy_denom = inj1c8jk5qh2lhmvqs33z4y0l84trdu7zhgtd3aqrd +[SER] +peggy_denom = inj128cqeg7a78k64xdxsr6v5s6js97dxjgxynwdxc decimals = 18 -[NLB] -peggy_denom = inj10s6mwhlv44sf03d5lfk4ntmplsujgftu587rzq -decimals = 18 +[SEUL] +peggy_denom = ibc/1C17C28AEA3C5E03F1A586575C6BE426A18B03B48C11859B82242EF32D372FDA +decimals = 6 -[NLBZ] -peggy_denom = inj1qfmf6gmpsna8a3k6da2zcf7ha3tvf2wdep6cky -decimals = 18 +[SEX] +peggy_denom = factory/inj174r3j8pm93gfcdu0g36dg6g7u0alygppypa45e/SEX +decimals = 6 -[NLBZZ] -peggy_denom = inj1rn2yv784zf90yyq834n7juwgeurjxly8xfkh9d +[SHARINGAN] +peggy_denom = factory/inj1056f9jwmdxjmc3xf3urpka00gjfsnna7ct3gy3/SHARINGAN decimals = 18 -[NLC] -peggy_denom = inj1r9h59ke0a77zkaarr4tuq25r3lt9za4r2mgyf4 +[SHARK] +peggy_denom = ibc/08B66006A5DC289F8CB3D7695F16D211D8DDCA68E4701A1EB90BF641D8637ACE decimals = 6 -[NLT] -peggy_denom = factory/inj1995xnrrtnmtdgjmx0g937vf28dwefhkhy6gy5e/NLT -decimals = 18 - -[NNJG] -peggy_denom = inj1e8eqle6queaywa8w2ns0u9m7tldz9vv44s28p2 -decimals = 18 +[SHARP] +peggy_denom = inj134p6skwcyjac60d2jtff0daps7tvzuqj4n56fr +decimals = 8 -[NOBI] -peggy_denom = factory/inj1xawhm3d8lf9n0rqdljpal033yackja3dt0kvp0/nobi +[SHB] +peggy_denom = inj19zzdev3nkvpq26nfvdcm0szp8h272u2fxf0myv decimals = 6 -[NOBITCHES] -peggy_denom = factory/inj14n8f39qdg6t68s5z00t4vczvkcvzlgm6ea5vk5/nobitches +[SHBL] +peggy_denom = factory/inj1zp8a6nhhf3hc9pg2jp67vlxjmxgwjd8g0ck9mq/SHBL decimals = 6 -[NOGGA] -peggy_denom = factory/inj1a7697s5yg3tsgkfrm0u5hvxm34mu8v0v3trryx/NOGGA +[SHENZI] +peggy_denom = factory/inj1e05u43qmn9jt502784c009u4elz5l86678esrk/SHENZI decimals = 6 -[NOIA] -peggy_denom = peggy0xa8c8CfB141A3bB59FEA1E2ea6B79b5ECBCD7b6ca -decimals = 18 - -[NOIS] -peggy_denom = ibc/DD9182E8E2B13C89D6B4707C7B43E8DB6193F9FF486AFA0E6CF86B427B0D231A +[SHI] +peggy_denom = inj1w7wwyy6pjs9k2ecxte8p6tp8g7kh6k3ut402af decimals = 6 -[NONE] -peggy_denom = peggy0x903ff0ba636E32De1767A4B5eEb55c155763D8B7 +[SHIB] +peggy_denom = peggy0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE decimals = 18 -[NONJA] -peggy_denom = inj1zfcny0x77lt6z4rg04zt2mp6j4zuwm5uufkguz +[SHIBINJ] +peggy_denom = factory/inj13yzzxz90naqer4utnp03zlj5rguhu7v0hd2jzl/SHIBINJ decimals = 6 -[NORUG] -peggy_denom = inj1vh38phzhnytvwepqv57jj3d7q2gerf8627dje3 -decimals = 18 - -[NOVA] -peggy_denom = inj1dqcyzn9p48f0dh9xh3wxqv3hs5y3lhqr43ecs0 -decimals = 8 - -[NPEPE] -peggy_denom = factory/inj1ga982yy0wumrlt4nnj79wcgmw7mzvw6jcyecl0/NPEPE +[SHIELD] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/SHIELD decimals = 6 -[NSTK] -peggy_denom = ibc/35366063B530778DC37A16AAED4DDC14C0DCA161FBF55B5B69F5171FEE19BF93 +[SHINJ] +peggy_denom = factory/inj1h3vg2546p42hr955a7fwalaexjrypn8npds0nq/SHINJ decimals = 6 -[NTRL] -peggy_denom = ibc/4D228A037CE6EDD54034D9656AE5850BDE871EF71D6DD290E8EC81603AD40899 +[SHINJU] +peggy_denom = factory/inj1my757j0ndftrsdf2tuxsdhhy5qfkpuxw4x3wnc/shinju decimals = 6 -[NTRN] -peggy_denom = ibc/E8E84092B9063AAC97846712D43D6555928073B8A0BFFCC2549E55EE224F1610 +[SHINOBI] +peggy_denom = factory/inj1xawhm3d8lf9n0rqdljpal033yackja3dt0kvp0/SHINOBI decimals = 6 -[NTRUMP] -peggy_denom = inj16dv3vfngtaqfsvd07436f6v4tgzxu90f0hq0lz +[SHIRO] +peggy_denom = factory/inj1wu5464syj9xmud55u99hfwhyjd5u8fxfmurs8j/shiro decimals = 6 -[NTY] -peggy_denom = inj1zzfltckwxs7tlsudadul960w7rdfjemlrehmrd -decimals = 18 +[SHITMOS] +peggy_denom = ibc/96C34D4D443A2FBCA10B120679AB50AE61195DF9D48DEAD60F798A6AC6B3B653 +decimals = 6 -[NUDES] -peggy_denom = factory/inj1dla04adlxke6t4lvt20xdxc9jh3ed609dewter/NUDES +[SHOGUN] +peggy_denom = factory/inj1yg24mn8enl5e6v4jl2j6cce47mx4vyd6e8dpck/shogun decimals = 6 -[NUIT] -peggy_denom = inj1kxntfyzsqpug6gea7ha4pvmt44cpvmtma2mdkl -decimals = 18 +[SHRK] +peggy_denom = factory/inj15xhherczv9q83lgdx3zna66s3pcznq6v2sh53d/SHRK +decimals = 6 -[NUN] -peggy_denom = inj15sgutwwu0ha5dfs5zwk4ctjz8hjmkc3tgzvjgf +[SHROOM] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1300xcg9naqy00fujsr9r8alwk7dh65uqu87xm8 decimals = 18 -[NUNCHAKU] -peggy_denom = inj12q6sut4npwhnvjedht574tmz9vfrdqavwq7ufw +[SHSA] +peggy_denom = inj1tsrxu2pxusyn24zgxyh2z36apxmhu22jfwd4v7 decimals = 18 -[NWIF] -peggy_denom = factory/inj10l4tnj73fl3wferljef802t63n9el49ppnv6a8/nwif +[SHT] +peggy_denom = factory/inj1sp8s6ng0e8a7q5dqywgyupwjyjgq2sk553t6r5/SHT decimals = 6 -[NWJNS] -peggy_denom = inj1slwarzmdgzwulzwzlr2fe87k7qajd59hggvcha +[SHU] +peggy_denom = factory/inj1mllxwgvx0zhhr83rfawjl05dmuwwzfcrs9xz6t/SHU decimals = 6 -[NYAN] -peggy_denom = factory/inj1lttm52qk6hs43vqak5qyk4hl4fzu2snq2gmg0c/nyan +[SHURIKEN] +peggy_denom = factory/inj1gflhshg8yrk8rrr3sgswhmsnygw9ghzdsn05a0/shuriken decimals = 6 -[NYX] -peggy_denom = factory/inj1fnq8xx5hye89jvhmkqycj7luyy08f3tudus0cd/nyx -decimals = 6 +[SILLY] +peggy_denom = inj19j6q86wt75p3pexfkajpgxhkjht589zyu0e4rd +decimals = 8 -[Naruto] -peggy_denom = factory/inj1j53ejjhlya29m4w8l9sxa7pxxyhjplrz4xsjqw/naruto +[SIMPSONS] +peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/simpsons decimals = 6 -[Naruto Token] -peggy_denom = factory/inj1gwkdx7lkpvq2ewpv29ptxdy9r95vh648nm8mp0/naruto -decimals = 6 +[SINU] +peggy_denom = inj1mxjvtp38yj866w7djhm9yjkwqc4ug7klqrnyyj +decimals = 8 -[Neptune Receipt ATOM] -peggy_denom = inj16jf4qkcarp3lan4wl2qkrelf4kduvvujwg0780 +[SJAKE] +peggy_denom = factory/inj1s4xa5jsp5sfv5nql5h3c2l8559l7rqyzckheha/SJAKE decimals = 6 -[Neptune Receipt INJ] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rmzufd7h09sqfrre5dtvu5d09ta7c0t4jzkr2f +[SKI] +peggy_denom = inj167xkgla9kcpz5gxz6ak4vrqs7nqxr08kvyfqkz decimals = 18 -[Neptune Receipt USDT] -peggy_denom = inj1cy9hes20vww2yr6crvs75gxy5hpycya2hmjg9s +[SKIBIDI] +peggy_denom = factory/inj1ztugej2ytfwj9kxa8m5md85e5z3v8jvaxapz6n/skibidi decimals = 6 -[Newt] -peggy_denom = ibc/B0A75E6F4606C844C05ED9E08335AFC50E814F210C03CABAD31562F606C69C46 +[SKIPBIDIDOBDOBDOBYESYESYESYES] +peggy_denom = peggy0x5085202d0A4D8E4724Aa98C42856441c3b97Bc6d +decimals = 9 + +[SKR] +peggy_denom = factory/inj1xjcq2ch3pacc9gql24hfwpuvy9gxszxpz7nzmz/sakura decimals = 6 -[Nil] -peggy_denom = factory/inj1t8wuan5zxp58uwtn6j50kx4tjv25argx6lucwy/Nil +[SKULL] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/SKULL decimals = 6 -[NinjAI] -peggy_denom = inj1u5mf7ueeym5qvvgtfkhgcu40gcc04fv7qmqx5u +[SKULLS] +peggy_denom = inj1qk4cfp3su44qzragr55fc9adeehle7lal63jpz +decimals = 18 + +[SKYPE] +peggy_denom = inj1e9nezwf7wvjj4rzfkjfad7teqjfa7r0838f6cs decimals = 18 -[Ninja] -peggy_denom = factory/inj1p0w30l464lxl8afxqfda5zxeeypnvdtx4yjc30/Ninja +[SLOTH] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/sloth decimals = 6 -[Ninja Labs Coin] -peggy_denom = factory/inj1r9h59ke0a77zkaarr4tuq25r3lt9za4r2mgyf4/NLC +[SMART] +peggy_denom = factory/inj105ujajd95znwjvcy3hwcz80pgy8tc6v77spur0/SMART decimals = 6 -[Ninja Swap] -peggy_denom = inj1lzdvr2d257lazc2824xqlpnn4q50vuyhnndqhv -decimals = 8 +[SMAUG] +peggy_denom = inj1a2wzkydpw54f8adq76dkf6kwx6zffnjju93r0y +decimals = 18 -[NinjaBoy] -peggy_denom = inj1vz8h0tlxt5qv3hegqlajzn4egd8fxy3mty2w0h -decimals = 6 +[SMB] +peggy_denom = inj13xkzlcd490ky7uuh3wwd48r4qy35hlhqxjpe0r +decimals = 18 -[NinjaCoq] -peggy_denom = inj1aapaljp62znaxy0s2huc6ka7cx7zksqtq8xnar +[SMELLY] +peggy_denom = factory/inj10pz3xq7zf8xudqxaqealgyrnfk66u3c99ud5m2/SMELLY decimals = 6 -[NinjaWifHat] -peggy_denom = inj1gmch7h49qwvnn05d3nj2rzqw4l7f0y8s4g2gpf +[SMILE] +peggy_denom = factory/inj1tuwuzza5suj9hq4n8pwlfw2gfua8223jfaa6v7/SMILE decimals = 6 -[Nlc] -peggy_denom = inj17uhjy4u4aqhtwdn3mfc4w60dnaa6usg30ppr4x +[SMLE] +peggy_denom = inj13ent4rmkzf2dht7hnlhg89t527k8xn5ft92e69 decimals = 18 -[NoobDev] -peggy_denom = inj1qzlkvt3vwyd6hjam70zmr3sg2ww00l953hka0d +[SMOKE] +peggy_denom = factory/inj1t0vyy5c3cnrw9f0mpjz9xk7fp22ezjjmrza7xn/SMOKE decimals = 6 -[O9W] -peggy_denom = ibc/AA206C13A2AD46401BD1E8E65F96EC9BF86051A8156A92DD08BEF70381D39CE2 +[SMOKEe] +peggy_denom = factory/inj1t0vyy5c3cnrw9f0mpjz9xk7fp22ezjjmrza7xn/SMOKEe decimals = 6 -[OBEMA] -peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/obema +[SNAPPY] +peggy_denom = factory/inj13y5nqf8mymy9tfxkg055th7hdm2uaahs9q6q5w/SNAPPY decimals = 6 -[OCEAN] -peggy_denom = peggy0x967da4048cD07aB37855c090aAF366e4ce1b9F48 +[SNAPPY inj] +peggy_denom = inj19dfkr2rm8g5kltyu93ppgmvdzj799vug2m9jqp decimals = 18 -[OCHO] -peggy_denom = inj1ltzx4qjtgmjyglf3nnhae0qxaxezkraqdhtgcn -decimals = 8 +[SNARL] +peggy_denom = factory/inj1dskk29zmzjtc49w3fjxac4q4m87yg7gshw8ps9/SNARL +decimals = 6 -[ODIN] -peggy_denom = ibc/6ED95AEFA5D9A6F9EF9CDD05FED7D7C9D7F42D9892E7236EB9B251CE9E999701 +[SNASA] +peggy_denom = factory/inj1peusyhlu85s3gq82tz8jcfxzkszte4zeqhdthw/SNASA decimals = 6 -[OIN] -peggy_denom = ibc/CDA55861E9E491479CB52D5C89F942F5EAF221F80B7CDDBBA8EE94D3658B03B4 +[SNEK] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/snek decimals = 6 -[OIN STORE OF VALUE] -peggy_denom = ibc/486A0C3A5D9F8389FE01CF2656DF03DB119BC71C4164212F3541DD538A968B66 +[SNIPE] +peggy_denom = factory/inj16g5w38hqehsmye9yavag0g0tw7u8pjuzep0sys/SNIPE decimals = 6 -[OJO] -peggy_denom = inj1hg5ag8w3kwdn5hedn3mejujayvcy2gknn39rnl +[SNIPEONE] +peggy_denom = inj146tnhg42q52jpj6ljefu6xstatactyd09wcgwh decimals = 18 -[OMG] -peggy_denom = inj194p79raj0qjesr26kzvhx9l2y77vyshvdpcgs9 +[SNIPER] +peggy_denom = factory/inj1qzxna8fqr56g83rvyyylxnyghpguzt2jx3dgr8/SNIPER decimals = 6 -[OMI] -peggy_denom = peggy0xeD35af169aF46a02eE13b9d79Eb57d6D68C1749e +[SNJT] +peggy_denom = inj1h6hma5fahwutgzynjrk3jkzygqfxf3l32hv673 decimals = 18 -[OMNI] -peggy_denom = peggy0x36E66fbBce51e4cD5bd3C62B637Eb411b18949D4 -decimals = 18 +[SNOWY] +peggy_denom = factory/inj1ml33x7lkxk6x2x95d3alw4h84evlcdz2gnehmk/SNOWY +decimals = 6 -[OMT] -peggy_denom = inj1tctqgl6y4mm7qlr0x2xmwanjwa0g8nfsfykap6 -decimals = 18 +[SNS] +peggy_denom = ibc/4BFB3FB1903142C5A7570EE7697636436E52FDB99AB8ABE0257E178A926E2568 +decimals = 8 -[ONE] -peggy_denom = inj1wu086fnygcr0sgytmt6pk8lsnqr9uev3dj700v +[SNX] +peggy_denom = peggy0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F decimals = 18 -[ONETOONE] -peggy_denom = inj1y346c6cjj0kxpcwj5gq88la9qsp88rzlw3pg98 -decimals = 18 +[SOCRATES] +peggy_denom = inj18qupdvxmgswj9kfz66vaw4d4wn0453ap6ydxmy +decimals = 8 -[ONI] -peggy_denom = inj1aexws9pf9g0h3032fvdmxd3a9l2u9ex9aklugs +[SOGGS] +peggy_denom = factory/inj1c0f9ze9wh2xket0zs6wy59v66alwratsdx648k/soggs +decimals = 6 + +[SOK] +peggy_denom = inj1jdpc9y459hmce8yd699l9uf2aw97q3y7kwhg7t decimals = 18 -[ONP] -peggy_denom = inj15wvxl4xq4zrx37kvh6tsqyqysukws46reywy06 +[SOKE] +peggy_denom = inj1ryqavpjvhfj0lewule2tvafnjga46st2q7dkee decimals = 18 -[ONTON] -peggy_denom = inj1a3hxfatcu7yfz0ufp233m3q2egu8al2tesu4k5 +[SOL] +peggy_denom = ibc/A8B0B746B5AB736C2D8577259B510D56B8AF598008F68041E3D634BCDE72BE97 +decimals = 8 + +[SOLANAinj] +peggy_denom = inj18e7x9myj8vq58ycdutd6eq6luy7frrp4d2nglr decimals = 6 -[OOZARU] -peggy_denom = ibc/9E161F95E105436E3DB9AFD49D9C8C4C386461271A46DBA1AB2EDF6EC9364D62 +[SOLinj] +peggy_denom = inj1n9nga2t49ep9hvew5u8xka0d4lsrxxg4cw4uaj decimals = 6 -[OP] -peggy_denom = op -decimals = 18 +[SOLlegacy] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sthrn5ep8ls5vzz8f9gp89khhmedahhdkqa8z3 +decimals = 8 -[OPHIR] -peggy_denom = ibc/19DEC3C890D19A782A3CD0C62EA8F2F8CC09D0C9AAA8045263F40526088FEEDB +[SOMM] +peggy_denom = ibc/34346A60A95EB030D62D6F5BDD4B745BE18E8A693372A8A347D5D53DBBB1328B decimals = 6 -[ORAI] -peggy_denom = ibc/C20C0A822BD22B2CEF0D067400FCCFB6FAEEE9E91D360B4E0725BD522302D565 +[SONICFLOKITRUMPSPIDERMAN INU] +peggy_denom = inj16afzhsepkne4vc7hhu7fzx4cjpgkqzagexqaz6 +decimals = 8 + +[SONINJ] +peggy_denom = factory/inj1cm5lg3z9l3gftt0c09trnllmayxpwt8825zxw3/soninj decimals = 6 -[ORN] -peggy_denom = peggy0x0258F474786DdFd37ABCE6df6BBb1Dd5dfC4434a -decimals = 8 +[SOS] +peggy_denom = inj13wdqnmv40grlmje48akc2l0azxl38d2wzl5t92 +decimals = 6 -[ORNE] -peggy_denom = ibc/3D99439444ACDEE71DBC4A774E49DB74B58846CCE31B9A868A7A61E4C14D321E +[SPDR] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/spdr decimals = 6 -[OSMO] -peggy_denom = ibc/C2025C1D34ED74CD6F9DF86CD650D92219AF645E9D0ADFFACF4E2CBECE649536 +[SPK] +peggy_denom = inj18wclk6g0qwwqxa36wd4ty8g9eqgm6q04zjgnpp +decimals = 18 + +[SPONCH] +peggy_denom = factory/inj1qw7egul6sr0yjpxfqq5qars2qvxucgp2sartet/sponch decimals = 6 -[OUTIES] -peggy_denom = factory/inj1282wzngdg46gjuttvhxumkx65fnqx0aqmyl0lu/OUTIES +[SPOONWORMS] +peggy_denom = inj1qt3c5sx94ag3rn7403qrwqtpnqthg4gr9cccrx decimals = 6 -[OUTLINES] -peggy_denom = inj1zutqugjm9nfz4tx6rv5zzj77ts4ert0umnqsjm +[SPORTS] +peggy_denom = factory/inj1dewkg7z8vffqxk7jcer6sf9ttnx54z0c6gfjw6/SPORTS decimals = 6 -[OX] -peggy_denom = peggy0x78a0A62Fba6Fb21A83FE8a3433d44C73a4017A6f -decimals = 18 +[SPUUN] +peggy_denom = factory/inj1flkktfvf8nxvk300f2z3vxglpllpw59c563pk7/SPUUN +decimals = 6 -[Ocean Protocol] -peggy_denom = inj1cxnqp39cn972gn2qaw2qc7hrryaa52chx7lnpk +[SPUUN INJ] +peggy_denom = inj1zrd6wwvyh4rqsx5tvje6ug6qd2xtn0xgu6ylml decimals = 18 -[OjoD] -peggy_denom = inj1ku6t0pgaejg2ykmyzvfwd2qulx5gjjsae23kgm +[SQRL] +peggy_denom = peggy0x762dD004fc5fB08961449dd30cDf888efb0Adc4F decimals = 18 -[Omni Cat] -peggy_denom = factory/inj1vzmmdd2prja64hs4n2vk8n4dr8luk6522wdrgk/OMNI +[SQUID] +peggy_denom = factory/inj1a7697s5yg3tsgkfrm0u5hvxm34mu8v0v3trryx/SQUID decimals = 6 -[OmniCat] -peggy_denom = inj188rmn0k9hzdy35ue7nt5lvyd9g9ldnm0v9neyz +[SSFS] +peggy_denom = inj1m7hd99423w39aug74f6vtuqqzvw5vp0h2e85u0 +decimals = 6 + +[SSTST] +peggy_denom = factory/inj1wmu4fq03zvu60crvjdhksk62e8m08xsn9d5nv3/stream-swap-test +decimals = 0 + +[STAKELAND] +peggy_denom = inj1sx4mtq9kegurmuvdwddtr49u0hmxw6wt8dxu3v decimals = 8 -[Onj] -peggy_denom = inj1p9kk998d6rapzmfhjdp4ee7r5n4f2klu7xf8td +[STAR] +peggy_denom = inj1nkxdx2trqak6cv0q84sej5wy23k988wz66z73w decimals = 8 -[Open Exchange Token] -peggy_denom = ibc/3DC896EFF521814E914264A691D9D462A7108E96E53DE135FC4D91A370F4CD77 +[STARK] +peggy_denom = factory/inj106etgay573e32ksysc9dpdrynxhk7kkmaclhfc/stark +decimals = 6 + +[STARS] +peggy_denom = peggy0xc55c2175E90A46602fD42e931f62B3Acc1A013Ca decimals = 18 -[Oraichain] -peggy_denom = peggy0x4c11249814f11b9346808179Cf06e71ac328c1b5 +[STINJ] +peggy_denom = ibc/AC87717EA002B0123B10A05063E69BCA274BA2C44D842AEEB41558D2856DCE93 decimals = 18 -[Orcat] -peggy_denom = inj1ldp0pssszyguhhey5dufagdwc5ara09fnlq8ms +[STINJER] +peggy_denom = factory/inj1fepsfp58ff2l7fasj47ytwrrwwp6k7uz6uhfvn/stinjer +decimals = 6 + +[STL] +peggy_denom = inj1m2pce9f8wfql0st8jrf7y2en7gvrvd5wm573xc decimals = 18 -[PAMBI] -peggy_denom = factory/inj1wa976p5kzd5v2grzaz9uhdlcd2jcexaxlwghyj/PAMBI +[STRD] +peggy_denom = ibc/3FDD002A3A4019B05A33D324B2F29748E77AF501BEA5C96D1F28B2D6755F9F25 decimals = 6 -[PANDA] -peggy_denom = factory/inj1p8ey297l9qf835eprx4s3nlkesrugg28s23u0g/PANDA +[STT] +peggy_denom = peggy0xaC9Bb427953aC7FDDC562ADcA86CF42D988047Fd +decimals = 18 + +[STX] +peggy_denom = stx decimals = 6 -[PANDANINJA] -peggy_denom = factory/inj1ekvx0ftc46hqk5vfxcgw0ytd8r7u94ywjpjtt8/pandaninja +[SUGAR] +peggy_denom = factory/inj1qukvpzhyjguma030s8dmvw4lxaluvlqq5jk3je/SUGAR decimals = 6 -[PANTERA] -peggy_denom = inj1hl4y29q5na4krdpk4umejwvpw4v5c3kpmxm69q -decimals = 8 +[SUI] +peggy_denom = sui +decimals = 9 -[PARABOLIC] -peggy_denom = factory/inj126c3fck4ufvw3n0a7rsq75gx69pdxk8npnt5r5/PARABOLIC +[SUMO] +peggy_denom = factory/inj15e6p3slz9pa7kcn280y7hgp6rvhsqm3vnczlaw/sumo decimals = 6 -[PASS] -peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/pass +[SUMOCOCO] +peggy_denom = factory/inj1056f9jwmdxjmc3xf3urpka00gjfsnna7ct3gy3/SUMOCOCO decimals = 6 -[PAXG] -peggy_denom = peggy0x45804880De22913dAFE09f4980848ECE6EcbAf78 +[SUPE] +peggy_denom = factory/inj1rl4sadxgt8c0qhl4pehs7563vw7j2dkz80cf55/SUPE +decimals = 6 + +[SUPERMARIO] +peggy_denom = inj1mgts7d5c32w6aqr8h9f5th08x0p4jaya2tp4zp +decimals = 18 + +[SUSHI] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1n73yuus64z0yrda9hvn77twkspc4uste9j9ydd decimals = 18 -[PBB] -peggy_denom = ibc/05EC5AA673220183DBBA6825C66DB1446D3E56E5C9DA3D57D0DE5215BA7DE176 -decimals = 6 +[SUSHI FIGHTER] +peggy_denom = inj1n73yuus64z0yrda9hvn77twkspc4uste9j9ydd +decimals = 18 -[PBJ] -peggy_denom = ibc/2B6F15447F07EA9DC0151E06A6926F4ED4C3EE38AB11D0A67A4E79BA97329830 +[SUSHII] +peggy_denom = inj1p6evqfal5hke6x5zy8ggk2h5fhn4hquk63g20d decimals = 6 -[PBinj] -peggy_denom = inj1k4v0wzgxm5zln8asekgkdljvctee45l7ujwlr4 +[SVM] +peggy_denom = inj1jyhzeqxnh8qnupt08gadn5emxpmmm998gwhuvv decimals = 8 -[PDIX] -peggy_denom = inj13m85m3pj3ndll30fxeudavyp85ffjaapdmhel5 +[SVN] +peggy_denom = inj1u4zp264el8hyxsqkeuj5yesp8pqmfh4fya86w6 decimals = 18 -[PEPE] -peggy_denom = inj1xx04zkrkrplefzgdgl78mrq3qmy9e3fkgspujk +[SWAP] +peggy_denom = peggy0xCC4304A31d09258b0029eA7FE63d032f52e44EFe decimals = 18 -[PEPE Injective] -peggy_denom = inj1ytxxfuajl0fvhgy2qsx85s3t882u7qgv64kf2g -decimals = 18 +[SWP] +peggy_denom = ibc/70CF1A54E23EA4E480DEDA9E12082D3FD5684C3483CBDCE190C5C807227688C5 +decimals = 6 -[PEPE MEME ] -peggy_denom = inj1jev373k3l77mnhugwzke0ytuygrn8r8497zn6e -decimals = 18 +[SWTH] +peggy_denom = ibc/8E697D6F7DAC1E5123D087A50D0FE0EBDD8A323B90DC19C7BA8484742AEB2D90 +decimals = 8 -[PEPE on INJ] -peggy_denom = factory/inj1aey234egq5efqr7zfvtzdsq6h2c5wsrma4lw7h/pepe -decimals = 1 +[SXC] +peggy_denom = inj1a4lr8sulev42zgup2g0sk8x4hl9th20cj4fqmu +decimals = 8 -[PEPEA] -peggy_denom = factory/inj1gaf6yxle4h6993qwsxdg0pkll57223qjetyn3n/PEPEA -decimals = 6 +[SXI] +peggy_denom = inj12mjzeu7qrhn9w85dd02fkvjt8hgaewdk6j72fj +decimals = 8 -[PEPINJ] -peggy_denom = factory/inj12jtagr03n6fqln4q8mg06lrpaj4scwts49x2cp/pepinj +[SYN] +peggy_denom = factory/inj16jsp4xd49k0lnqlmtzsskf70pkzyzv2hjkcr8f/synergy decimals = 6 -[PETER] -peggy_denom = inj1xuqedjshmrqadvqhk4evn9kwzgkk5u9ewdua6z +[SamOrai] +peggy_denom = inj1a7fqtlllaynv6l4h2dmtzcrucx2a9r04e5ntnu decimals = 18 -[PGN] -peggy_denom = inj1gx88hu6xjfvps4ddyap27kvgd5uxktl8ndauvp -decimals = 18 +[Samurai] +peggy_denom = factory/inj1s5php9vmd03w6nszlnsny43cmuhw3y6u3vt7qc/samurai +decimals = 6 -[PHEW] -peggy_denom = inj19dux2glqedeamjwltjv5srvhgxkf6gyawtce5s +[Samurai dex token] +peggy_denom = factory/inj1c0f9ze9wh2xket0zs6wy59v66alwratsdx648k/samurai decimals = 6 -[PHUC] -peggy_denom = factory/inj1995xnrrtnmtdgjmx0g937vf28dwefhkhy6gy5e/phuc +[Santa] +peggy_denom = factory/inj1mwsgdlq6rxs3xte8p2m0pcw565czhgngrxgl38/Santa decimals = 6 -[PICA] -peggy_denom = ibc/9C2212CB87241A8D038222CF66BBCFABDD08330DFA0AC9B451135287DCBDC7A8 -decimals = 12 +[SantaInjective] +peggy_denom = inj19wccuev2399ad0ftdfyvw8h9qq5dvqxqw0pqxe +decimals = 8 -[PIG] -peggy_denom = factory/inj1ruwdh4vc29t75eryvxs7vwzt7trtrz885teuwa/pig +[Satoru Gojo] +peggy_denom = inj1hwc0ynah0xv6glpq89jvm3haydhxjs35yncuq2 decimals = 6 -[PIGS] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mcmjk2zgh5wpxkdmkevlpmah6tsmwvql78twpf -decimals = 18 +[Sei] +peggy_denom = ibc/0D0B98E80BA0158D325074100998A78FB6EC1BF394EFF632E570A5C890ED7CC2 +decimals = 6 -[PIKA] -peggy_denom = factory/inj1h4usvhhva6dgmun9rk4haeh8lynln7yhk6ym00/PIKA +[Sekiro] +peggy_denom = factory/inj1nn8xzngf2ydkppk2h0n9nje72ttee726hvjplx/ak decimals = 6 -[PIKACHU] -peggy_denom = factory/inj1h9zu2u6yqf3t5uym75z94zsqfhazzkyg39957u/PIKACHU +[Sendor] +peggy_denom = inj1hpwp280wsrsgn3r3mvufx09dy4e8glj8sq4vzx decimals = 6 -[PIKACHU ] -peggy_denom = inj1x3m7cgzdl7402fhe29aakdwda5630r2hpx3gm2 -decimals = 18 +[Sensei Dog] +peggy_denom = ibc/12612A3EBAD01200A7FBD893D4B0D71F3AD65C41B2AEE5B42EE190672EBE57E9 +decimals = 6 -[PING] -peggy_denom = inj1z647rvv0cfv5xx3tgsdx77qclkwu2ng7tg2zq5 -decimals = 18 +[She] +peggy_denom = inj1k59du6npg24x2wacww9lmmleh5qrscf9gl7fr5 +decimals = 6 -[PING'S BROTHER PONG] -peggy_denom = inj1qrcr0xqraaldk9c85pfzxryjquvy9jfsgdkur7 -decimals = 18 +[Shiba INJ] +peggy_denom = factory/inj1v0yk4msqsff7e9zf8ktxykfhz2hen6t2u4ue4r/shiba inj +decimals = 6 -[PINGDEV] -peggy_denom = inj17dlj84plm8yqjtp82mmg35494v8wjqfk29lzyf +[Shiba Inu] +peggy_denom = ibc/E68343A4DEF4AFBE7C5A9004D4C11888EE755A7B43B3F1AFA52F2C34C07990D5 decimals = 18 -[PINJA] -peggy_denom = factory/inj1gyxrvcdvjr22l5fu43ng4c607nxpc8yuxslcv3/pinja +[ShihTzu] +peggy_denom = factory/inj1x78kr9td7rk3yqylvhgg0ru2z0wwva9mq9nh92/ShihTzu decimals = 6 -[PINJEON] -peggy_denom = factory/inj1l73eqd7w5vu4srwmc722uwv7u9px7k5azzsqm2/pinjeon +[Shinobi] +peggy_denom = factory/inj1t02au5gsk40ev9jaq0ggcyry9deuvvza6s4wav/nobi decimals = 6 -[PINJU] -peggy_denom = factory/inj1j43ya8q0u5dx64x362u62yq5zyvasvg98asm0d/pinju +[Shinobi Inu] +peggy_denom = factory/inj1t02au5gsk40ev9jaq0ggcyry9deuvvza6s4wav/Shinobi decimals = 6 -[PIO] -peggy_denom = factory/inj1ufkjuvf227gccns4nxjqc8vzktfvrz6y7xs9sy/PIO -decimals = 6 +[Shuriken] +peggy_denom = inj1kxamn5nmsn8l7tyu752sm2tyt6qlpufupjyscl +decimals = 18 -[PIPI] -peggy_denom = factory/inj1rhaefktcnhe3y73e82x4edcsn9h5y99gwmud6v/pipi +[Shuriken Token] +peggy_denom = factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/shuriken decimals = 6 -[PIRATE] -peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/PIRATE -decimals = 6 +[Sin] +peggy_denom = inj10fnmtl9mh95gjtgl67ww6clugl35d8lc7tewkd +decimals = 18 -[PIXDOG] -peggy_denom = inj1thsy9k5c90wu7sxk37r2g3u006cszqup8r39cl +[Sinful] +peggy_denom = inj1lhfk33ydwwnnmtluyuu3re2g4lp79c86ge546g decimals = 18 -[PIXEL] -peggy_denom = inj1wmlkhs5y6qezacddsgwxl9ykm40crwp4fpp9vl +[Smoking Nonja] +peggy_denom = factory/inj1nvv2gplh009e4s32snu5y3ge7tny0mauy9dxzg/smokingnonja +decimals = 6 + +[Solana (legacy)] +peggy_denom = inj1sthrn5ep8ls5vzz8f9gp89khhmedahhdkqa8z3 decimals = 8 -[PIZZA] -peggy_denom = factory/inj1cus3dx8lxq2h2y9mzraxagaw8kjjcx6ul5feak/PIZZA +[Sommelier] +peggy_denom = peggy0xa670d7237398238DE01267472C6f13e5B8010FD1 decimals = 6 -[PKS] -peggy_denom = inj1m4z4gjrcq9wg6508ds4z2g43wcgynlyflaawef +[SpoonWORMS] +peggy_denom = inj1klc8puvggvjwuee6yksmxx4za6xdh20pwjdnec +decimals = 6 + +[Spuun] +peggy_denom = inj1hs0xupdsrnwfx3lcpz56qkp72q7rn57v3jm0x7 decimals = 18 -[PLNK] -peggy_denom = ibc/020098CDEC3D7555210CBC1593A175A6B24253823B0B711D072EC95F76FA4D42 -decimals = 6 +[Spuurk] +peggy_denom = inj1m9yfd6f2dw0f6uyx4r2av2xk8s5fq5m7pt3mec +decimals = 18 -[POINT] -peggy_denom = inj1l73x8hh6du0h8upp65r7ltzpj5twadtp5490n0 +[Spuvn] +peggy_denom = inj1f66rlllh2uef95p3v7cswqmnnh2w3uv3f97kv3 decimals = 18 -[POK] -peggy_denom = inj18nzsj7sef46q7puphfxvr5jrva6xtpm9zsqvhh +[SteadyBTC] +peggy_denom = peggy0x4986fD36b6b16f49b43282Ee2e24C5cF90ed166d decimals = 18 -[POLAR] -peggy_denom = inj1kgdp3wu5pr5ftuzczpgl5arg28tz44ucsjqsn9 +[SteadyETH] +peggy_denom = peggy0x3F07A84eCdf494310D397d24c1C78B041D2fa622 +decimals = 18 + +[Sui (Wormhole)] +peggy_denom = ibc/F96C68219E987465D9EB253DACD385855827C5705164DAFDB0161429F8B95780 decimals = 8 -[POLLY] -peggy_denom = factory/inj1nhswhqrgfu3hpauvyeycz7pfealx4ack2c5hfp/POLLY -decimals = 6 +[Summoners Arena Essence] +peggy_denom = ibc/0AFCFFE18230E0E703A527F7522223D808EBB0E02FDBC84AAF8A045CD8FE0BBB +decimals = 8 -[PONDO] -peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/pondo +[Sushi Staked INJ] +peggy_denom = inj1hwj3xz8ljajs87km07nev9jt7uhmvf9k9q4k0f decimals = 6 -[PONG] -peggy_denom = inj1lgy5ne3a5fja6nxag2vv2mwaan69sql9zfj7cl +[SushiSwap] +peggy_denom = peggy0x6B3595068778DD592e39A122f4f5a5cF09C90fE2 decimals = 18 -[POOL] -peggy_denom = peggy0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e +[TAB] +peggy_denom = peggy0x36B3D7ACe7201E28040eFf30e815290D7b37ffaD decimals = 18 -[POOR] -peggy_denom = peggy0x9D433Fa992C5933D6843f8669019Da6D512fd5e9 +[TABOO] +peggy_denom = inj1ttxw2rn2s3hqu4haew9e3ugekafu3hkhtqzmyw decimals = 8 -[POP] -peggy_denom = factory/inj1a9dsv5whfhqptkycx4l9uly9x684lwmwuv7l3n/POP +[TACOS] +peggy_denom = inj1ac9d646xzyam5pd2yx4ekgfjhc65564533fl2m decimals = 6 -[POPCAT] -peggy_denom = inj1pfx2k2mtflde5yz0gz6f7xfks9klx3lv93llr6 -decimals = 18 +[TAJIK] +peggy_denom = factory/inj1dvlqazkar9jdy8x02j5k2tftwjnp7c53sgfavp/TAJIK +decimals = 6 -[POPEYE] -peggy_denom = ibc/C35A94A42FEDA8E01903CD7A78FB33AE60B2064C0007BF2E4FD5A6368BDBC546 +[TAKUMI] +peggy_denom = ibc/ADE961D980CB5F2D49527E028774DE42BFD3D78F4CBBD4B8BA54890E60606DBD decimals = 6 -[PORK] -peggy_denom = inj14u3qj9fhrc6d337vlx4z7h3zucjsfrwwvnsrnt -decimals = 18 +[TALIS] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/Talis +decimals = 6 -[PORNGPT] -peggy_denom = inj1ptlmxvkjxmjap436v9wrryd20r2gqf94fr57ga +[TANSHA] +peggy_denom = factory/inj1qw7egul6sr0yjpxfqq5qars2qvxucgp2sartet/tansha +decimals = 6 + +[TATAS] +peggy_denom = factory/inj10pz3xq7zf8xudqxaqealgyrnfk66u3c99ud5m2/tatas +decimals = 6 + +[TC] +peggy_denom = factory/inj1ureedhqkm8tv2v60de54xzgqgu9u25xkuw8ecs/tyler +decimals = 6 + +[TENSOR] +peggy_denom = inj1py9r5ghr2rx92c0hyn75pjl7ung4euqdm8tvn5 +decimals = 6 + +[TERRAFORMS] +peggy_denom = inj19rev0qmuz3eccvkluz8sptm6e9693jduexrc4v decimals = 8 -[PORTAL] -peggy_denom = factory/inj163072g64wsn8a9n2mydwlx7c0aqt4l7pjseeuu/PORTAL +[TERT] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/tert +decimals = 6 + +[TEST] +peggy_denom = factory/inj12qy3algm6e0zdpv8zxvauzquumuvd39ccdcdjt/TEST decimals = 6 -[POTIN] -peggy_denom = factory/inj1k0mzgwd4ujuu9w95xzs8p7qu8udy3atqj3sau7/POTIN +[TEST13] +peggy_denom = factory/inj1mux0he68umjpcy8ltefeuxm9ha2ww3689rv2g4/TEST13 decimals = 6 -[POTION] -peggy_denom = factory/inj1r7thtn5zj6mv9zupelkkw645ve8kgx35rf43ja/POTION +[TESTI] +peggy_denom = inj1mzcamv0w3q797x4sj4ny05hfpgacm90a2d2xqp decimals = 18 -[POTTER] -peggy_denom = factory/inj1c7h6wnfdz0dpc5llsdxfq9yemmq9nwfpr0c59r/potter +[TF] +peggy_denom = factory/inj1pjcmuxd2ek7mvx4gnv6quyn6c6rjxwcrs4h5y4/truffle decimals = 6 -[PRERICH] -peggy_denom = factory/inj18p952tvf264784sf9f90rpge4w7dhsjrtgn4lw/prerich -decimals = 7 +[THE10] +peggy_denom = factory/inj18u2790weecgqkmcyh2sg9uupz538kwgmmcmtps/THE10 +decimals = 6 -[PROD] -peggy_denom = inj1y2mev78vrd4mcfrjunnktctwqhm7hznguue7fc +[THREE] +peggy_denom = inj1qqfhg6l8d7punj4z597t0p3wwwxdcpfew4fz7a decimals = 18 -[PROMETHEUS] -peggy_denom = inj1tugjw7wy3vhtqjap22j9e62yzrurrsu4efu0ph -decimals = 8 +[THUG] +peggy_denom = factory/inj108qcx6eu6l6adl6kxm0qpyshlmzf3w9mnq5vav/THUGLIFE +decimals = 6 -[PROOF] -peggy_denom = factory/inj1jpddz58n2ugstuhp238qwwvdf3shxsxy5g6jkn/PROOF +[THUNDER] +peggy_denom = inj1gacpupgyt74farecd9pv20emdv6vpkpkhft59y decimals = 6 -[PROTON-011] -peggy_denom = inj1vts6mh344msrwr885ej5naev87yesred5mp23r -decimals = 8 +[TIA] +peggy_denom = ibc/F51BB221BAA275F2EBF654F70B005627D7E713AFFD6D86AFD1E43CAA886149F4 +decimals = 6 -[PRYZM] -peggy_denom = ibc/2A88907A69C27C7481E478005AAD1976F044246E0CDB4DB3367EADA4EF38373B +[TIK] +peggy_denom = inj1xetmk66rv8nhjur9s8t8szkdff0xwks8e4vym3 decimals = 6 -[PSPS] -peggy_denom = inj145p4shl9xdutc7cv0v9qpfallh3s8z64yd66rg -decimals = 18 +[TINJER] +peggy_denom = factory/inj1srha80fxkk40gzymgrgt3m3ya0u8ms3z022f70/tinjer +decimals = 6 -[PSYCHO] -peggy_denom = factory/inj18aptztz0pxvvjzumpnd36szzljup0t7t3pauu8/psycho +[TITAN] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/titan decimals = 6 -[PUFF] -peggy_denom = inj1f8kkrgrfd7utflvsq7xknuxtzf92nm80vkshu2 +[TJCLUB] +peggy_denom = factory/inj12lhhu0hpszdq5wmt630wcspdxyewz3x2m04khh/TJCLUB decimals = 6 -[PUG] -peggy_denom = factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/PUG +[TKN] +peggy_denom = factory/inj1f4sglhz3ss74fell9ecvqrj2qvlt6wmk3ctd3f/TKN decimals = 6 -[PUNK] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1wmrzttj7ms7glplek348vedx4v2ls467n539xt +[TMB] +peggy_denom = factory/inj1dg4n304450kswa7hdj8tqq3p28f5kkye2fxey3/TMB +decimals = 6 + +[TMNT] +peggy_denom = inj1yt6erfe7a55es7gnwhta94g08zq9qrsjw25eq5 decimals = 18 -[PUNKINJ] -peggy_denom = inj1vq0f9sgvg0zj5hc4vvg8yd6x9wzepzq5nekh4l -decimals = 8 +[TOKYO] +peggy_denom = inj1k8ad5x6auhzr9tu3drq6ahh5dtu5989utxeu89 +decimals = 18 -[PUPZA] -peggy_denom = factory/inj13y9m57hw2rnvdmsym8na45z9kvexy82c4n6apc/PUPZA -decimals = 6 +[TOM] +peggy_denom = factory/inj1k9tqa6al637y8qu9yvmsw3ke6r3knsn8ewv73f/TOM +decimals = 18 -[PVP] -peggy_denom = peggy0x9B44793a0177C84DD01AD81137db696531902871 +[TOMO] +peggy_denom = inj1d08rut8e0u2e0rlf3pynaplas6q0akj5p976kv decimals = 8 -[PVV] -peggy_denom = inj1rk5y4m3qgm8h68z2lp3e2dqqjmpkx7m0aa84ah -decimals = 6 - -[PYTH] -peggy_denom = ibc/F3330C1B8BD1886FE9509B94C7B5398B892EA41420D2BC0B7C6A53CB8ED761D6 -decimals = 6 - -[PYTHlegacy] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1tjcf9497fwmrnk22jfu5hsdq82qshga54ajvzy +[TONKURU] +peggy_denom = factory/inj1krswly444gyuunnmchg4uz2ekqvu02k7903skh/tonkuru decimals = 6 -[PYUSD] -peggy_denom = peggy0x6c3ea9036406852006290770BEdFcAbA0e23A0e8 +[TORO] +peggy_denom = ibc/37DF4CCD7D156B9A8BF3636CD7E073BADBFD54E7C7D5B42B34C116E33DB0FE81 decimals = 6 -[Panda Itamae] -peggy_denom = factory/inj1wpttce7eccrutxkddtzug4xyz4ztny88httxpg/panda +[TOTS] +peggy_denom = factory/inj1u09lh0p69n7salm6l8ufytfsm0p40pnlxgpcz5/TOTS decimals = 6 -[Pedro] -peggy_denom = inj1hsv0y599unrnv02xntzmcdquh4wagrns8gqfh7 +[TRASH] +peggy_denom = inj1re43j2d6jxlk4m5sn9lc5qdc0rwkz64c8gqk5x decimals = 18 -[People] -peggy_denom = inj13pegx0ucn2e8w2g857n5828cmvl687jgq692t4 -decimals = 6 - -[Pepe] -peggy_denom = ibc/9144D78830C5ABD7B7D9E219EA7600E3A0E0AD5FC50C007668160595E94789AB +[TREN] +peggy_denom = inj14y8f4jc0qmmwzcyj9k7dxnlq6tgjq9ql6n2kdn decimals = 18 -[Phepe] -peggy_denom = inj1mtt0a4evtfxazpxjqlv5aesdn3mnysl78lppts +[TRG] +peggy_denom = inj1scn6ssfehuw735llele39kk7w6ylg4auw3epjp decimals = 8 -[Pie] -peggy_denom = inj1m707m3ngxje4adfr86tll8z7yzm5e6eln8e3kr +[TRH] +peggy_denom = inj1dxtnr2cmqaaq0h5sgnhdftjhh5t6dmsu37x40q decimals = 18 -[PigFucker] -peggy_denom = factory/inj17p7p03yn0z6zmjwk4kjfd7jh7uasxwmgt8wv26/pigfucker -decimals = 6 - -[Pigs] -peggy_denom = inj1mcmjk2zgh5wpxkdmkevlpmah6tsmwvql78twpf +[TRIPPY] +peggy_denom = inj1puwde6qxl5v96f5sw0dmql4r3a0e9wvxp3w805 decimals = 18 -[Pikachu] -peggy_denom = factory/inj1h9zu2u6yqf3t5uym75z94zsqfhazzkyg39957u/pika -decimals = 6 - -[PingDevRtard] -peggy_denom = inj1c8v52n2wyye96m4xwama3pwqkdc56gw03dlkcq +[TRR] +peggy_denom = inj1cqwslhvaaferrf3c933efmddfsvakdhzaaex5h decimals = 18 -[Point Token] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1l73x8hh6du0h8upp65r7ltzpj5twadtp5490n0 +[TRUCPI] +peggy_denom = trucpi decimals = 18 -[Polkadot] -peggy_denom = ibc/624BA9DD171915A2B9EA70F69638B2CEA179959850C1A586F6C485498F29EDD4 -decimals = 10 +[TRUFFLE] +peggy_denom = factory/inj1e5va7kntnq245j57hfe78tqhnd763ekrtu9fez/TRUFFLE +decimals = 6 -[Popeye] -peggy_denom = ibc/833095AF2D530639121F8A07E24E5D02921CA19FF3192D082E9C80210515716C +[TRUMP] +peggy_denom = factory/inj16c0cnvw4jd20k9fkdlt4cauyd05hhg6jk7fedh/TRUMP decimals = 6 -[Punk DAO Token] -peggy_denom = factory/inj1esz96ru3guug4ctmn5chjmkymt979sfvufq0hs/PUNK +[TRX] +peggy_denom = inj17ssa7q9nnv5e5p6c4ezzxj02yjhmvv5jmg6adq decimals = 6 -[Punk Token] -peggy_denom = inj1wmrzttj7ms7glplek348vedx4v2ls467n539xt +[TRY] +peggy_denom = inj10dqyn46ljqwzx4947zc3dska84hpnwc7r6rzzs decimals = 18 -[Pyth Network (legacy)] -peggy_denom = inj1tjcf9497fwmrnk22jfu5hsdq82qshga54ajvzy +[TRY2] +peggy_denom = factory/inj1jpddz58n2ugstuhp238qwwvdf3shxsxy5g6jkn/TRY2 decimals = 6 -[QAT] -peggy_denom = inj1m4g54lg2mhhm7a4h3ms5xlyecafhe4macgsuen -decimals = 8 +[TSNG] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/tsng +decimals = 6 -[QNT] -peggy_denom = peggy0x4a220E6096B25EADb88358cb44068A3248254675 +[TST] +peggy_denom = factory/inj1cq5ygzlgh6l2pll2thtx82rhde2v7cpxlqfz93/TST +decimals = 6 + +[TSTI] +peggy_denom = factory/inj1lvlvg3mkc3txakeyrqfzemkc7muvm9656mf2az/TSTI +decimals = 6 + +[TSTT] +peggy_denom = inj19p5am8kye6r7xu3xy9crzh4dj7uhqvpw3n3mny decimals = 18 -[QOC] -peggy_denom = inj1czcj5472ukkj6pect59z5et39esr3kvquxl6dh -decimals = 8 +[TSUNADE] +peggy_denom = inj1vwzqtjcwv2wt5pcajvlhmaeejwme57q52mhjy3 +decimals = 18 -[QTUM] -peggy_denom = factory/inj1jgc9ptfwgyapfrr0kgdjjnwpdqck24pp59uma3/qtum -decimals = 0 +[TTNY] +peggy_denom = inj10c0ufysjj52pe7m9a3ncymzf98sysl3nr730r5 +decimals = 18 -[QTest] -peggy_denom = inj1wze83lt3jk84f89era4ldakyv3mf90pj4af9cx +[TTS] +peggy_denom = factory/inj1en4mpfud040ykmlneentdf77ksa3usjcgw9hax/TTS decimals = 6 -[QUNT] -peggy_denom = factory/inj127l5a2wmkyvucxdlupqyac3y0v6wqfhq03ka64/qunt +[TURBO] +peggy_denom = factory/inj1hhmra48t7xwz4snc7ttn6eu5nvmgzu0lwalmwk/TURBO decimals = 6 -[QUOK] -peggy_denom = factory/inj1jdnjwhcjhpw8v0cmk80r286w5d426ns6tw3nst/QUOK +[TURBOTOAD] +peggy_denom = factory/inj1nmc5namhwszx0yartvjm6evsxrj0ctq2qa30l7/TURBOTOAD decimals = 6 -[Quants] -peggy_denom = factory/inj1yttneqwxxc4qju4p54549p6dq2j0d09e7gdzx8/Quants +[TURD] +peggy_denom = ibc/3CF3E1A31015028265DADCA63920C320E4ECDEC2F77D2B4A0FD7DD2E460B9EF3 decimals = 6 -[RAA] -peggy_denom = inj1vzpjnmm4s9qa74x2n7vgcesq46afjj5yfwvn4q +[TURTLE] +peggy_denom = factory/inj1nshrauly795k2h97l98gy8zx6gl63ak2489q0u/TURTLE +decimals = 8 + +[TURTLENINJ] +peggy_denom = factory/inj1lv9v2z2zvvng6v9qm8eh02t2mre6f8q6ez5jxl/turtleninj +decimals = 6 + +[TWO] +peggy_denom = inj19fza325yjfnx9zxvtvawn0rrjwl73g4nkzmm2w decimals = 18 -[RAB] -peggy_denom = inj1xmdyafnth7g6pvg6zd687my3ekw3htvh95t2c8 +[Talis NFT] +peggy_denom = inj155kuqqlmdz7ft2jas4fc23pvtsecce8xps47w5 +decimals = 8 + +[Terra] +peggy_denom = peggy0xd2877702675e6cEb975b4A1dFf9fb7BAF4C91ea9 +decimals = 6 + +[TerraUSD] +peggy_denom = peggy0xa47c8bf37f92aBed4A126BDA807A7b7498661acD decimals = 18 -[RAC] -peggy_denom = ibc/0F3A724673F682CF7812D0ED1A0C41D344C09E94C939E79D12712DC7C0676E80 +[Test] +peggy_denom = factory/inj135plhn7dkun9rd8uj3hs5v06mk3g88ryd30qxr/Test decimals = 6 -[RAD] -peggy_denom = inj1r9wxpyqp4a75k9dhk5qzcfmkwtrg7utgrvx0zu +[Test QAT] +peggy_denom = peggy0x1902e18fEB1234D00d880f1fACA5C8d74e8501E9 decimals = 18 -[RAE] -peggy_denom = inj1lvtcdka9prgtugcdxeyw5kd9rm35p0y2whwj7j +[Test Token] +peggy_denom = inj1a6qdxdanekzgq6dluymlk7n7khg3dqq9lua9q9 decimals = 18 -[RAF] -peggy_denom = inj1l8hztn806saqkacw8rur4qdgexp6sl7k0n6xjm +[Test coin don't buy] +peggy_denom = inj19xpgme02uxc55hgplg4vkm4vw0n7p6xl4ksqcz +decimals = 18 + +[TestOne] +peggy_denom = inj1f8fsu2xl97c6yss7s3vgmvnjau2qdlk3vq3fg2 decimals = 18 -[RAG] -peggy_denom = inj1k45q0qf0jwepajlkqcx5a6w833mm0lufzz0kex +[TestThree] +peggy_denom = inj14e3anyw3r9dx4wchnkcg8nlzps73x86cze3nq6 decimals = 18 -[RAH] -peggy_denom = inj1mpcxzhkk0c7wjrwft2xafsvds9un59gfdml706 +[TestTwo] +peggy_denom = inj1krcpgdu3a83pdtnus70qlalrxken0h4y52lfhg decimals = 18 -[RAI] -peggy_denom = peggy0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919 +[TestingToken] +peggy_denom = inj1j5y95qltlyyjayjpyupgy7e5y7kkmvjgph888r decimals = 18 -[RAMEN] -peggy_denom = factory/inj1z5utcc5u90n8a5m8gv30char6j4hdzxz6t3pke/ramen +[Tether] +peggy_denom = inj13yrhllhe40sd3nj0lde9azlwfkyrf2t9r78dx5 decimals = 6 -[RAMEN2] -peggy_denom = factory/inj15d5v02thnac8mc79hx0nzuz4rjxuccy7rc63x3/RAMEN2 +[Tether USD (Wormhole)] +peggy_denom = ibc/3384DCE14A72BBD0A47107C19A30EDD5FD1AC50909C632CB807680DBC798BB30 decimals = 6 -[RAMEN22] -peggy_denom = factory/inj15d5v02thnac8mc79hx0nzuz4rjxuccy7rc63x3/RAMEN22 +[The Mask] +peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/mask decimals = 6 -[RAMENV2] -peggy_denom = factory/inj15d5v02thnac8mc79hx0nzuz4rjxuccy7rc63x3/RAMENV2 +[TheJanitor] +peggy_denom = factory/inj1w7cw5tltax6dx7znehul98gel6yutwuvh44j77/TheJanitor decimals = 6 -[RAMSES] -peggy_denom = inj1jttaxqcjtsys54k3m6mx4kzulzasg4tc6hhpp6 -decimals = 8 - -[RAPTR] -peggy_denom = ibc/592FDF11D4D958105B1E4620FAECAA6708655AB815F01A01C1540968893CDEBF +[TrempBoden] +peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/trempboden decimals = 6 -[RATJA] -peggy_denom = inj1kl5pzllv782r8emj3umgn3dwcewc6hw6xdmvrv -decimals = 18 - -[RAY] -peggy_denom = factory/inj1ckddr5lfwjvm2lvtzra0ftx7066seqr3navva0/RAY +[Trump] +peggy_denom = inj1neclyywnhlhe4me0g2tky9fznjnun2n9maxuhx decimals = 6 -[REAL] -peggy_denom = inj1uhralmk73lkxeyd9zhskmzz44lsmcxneluqgp9 +[Trump Ninja] +peggy_denom = inj1dj0u7mqn3z8vxz6muwudhpl95sajmy00w7t6gq decimals = 18 -[REALS] -peggy_denom = inj1g3l8chts5wrt437tkpmuy554wcky6devphqxf0 +[TryCW] +peggy_denom = inj15res2a5r94y8s33lc7c5czcswx76pygjk827t0 decimals = 18 -[RED] -peggy_denom = inj15ytmt6gng36relzntgz0qmgfqnygluz894yt28 +[Tsu Grenade] +peggy_denom = inj1zgxh52u45qy3xxrq72ypdajhhjftj0hu5x4eea decimals = 18 -[REDINJ] -peggy_denom = inj1jkts7lhvwx27z92l6dwgz6wpyd0xf9wu6qyfrh -decimals = 18 +[TunaSniper] +peggy_denom = inj1r3vswh4hevfj6ynfn7ypudzhe2rrngzjn4lv5a +decimals = 8 -[REFIs] -peggy_denom = factory/inj1uklzzlu9um8rq922czs8g6f2ww760xhvgr6pat/REFIs -decimals = 6 +[UIA] +peggy_denom = inj1h6avzdsgkfvymg3sq5utgpq2aqg4pdee7ep77t +decimals = 18 -[REIS] -peggy_denom = ibc/444BCB7AC154587F5D4ABE36EF6D7D65369224509DCBCA2E27AD539519DD66BB +[UICIDE] +peggy_denom = factory/inj158g7dfclyg9rr6u4ddxg9d2afwevq5d79g2tm6/UICIDE decimals = 6 -[RETRO] -peggy_denom = ibc/ACDEFBA440F37D89E2933AB2B42AA0855C30852588B7DF8CD5FBCEB0EB1471EB -decimals = 6 +[UMA] +peggy_denom = peggy0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828 +decimals = 18 -[RHINO] -peggy_denom = inj1t5f60ewnq8hepuvmwnlm06h0q23fxymldh0hpr +[UMEE] +peggy_denom = ibc/221E9E20795E6E250532A6A871E7F6310FCEDFC69B681037BBA6561270360D86 decimals = 6 -[RIBBIT] -peggy_denom = peggy0xb794Ad95317f75c44090f64955954C3849315fFe +[UNI] +peggy_denom = peggy0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984 decimals = 18 -[RICE] -peggy_denom = factory/inj1mt876zny9j6xae25h7hl7zuqf7gkx8q63k0426/rice -decimals = 12 +[UP10X] +peggy_denom = inj1zeu70usj0gtgqapy2srsp7pstf9r82ckqk45hs +decimals = 6 -[RICHINJ] -peggy_denom = inj143l8dlvhudhzuggrp5sakwmn8kw24hutr43fe2 +[UPGRADE] +peggy_denom = inj1f32xp69g4qf7t8tnvkgnmhh70gzy43nznkkk7f decimals = 8 -[RICK] -peggy_denom = factory/inj1ga7xu92w0yxhedk92v6ckge6q76vx2hxcwxsxx/RICK +[UPHOTON] +peggy_denom = ibc/48BC9C6ACBDFC1EBA034F1859245D53EA4BF74147189D66F27C23BF966335DFB decimals = 6 -[RIP] -peggy_denom = inj1eu8ty289eyjvm4hcrg70n4u95jggh9eekfxs5y -decimals = 18 - -[RITSU] -peggy_denom = inj17cqglnfpx7w20pc6urwxklw6kkews4hmfj6z28 -decimals = 18 - -[RKO] -peggy_denom = factory/inj1muuaghrdm2rfss9cdpxzhk3v7xqj8ltngrm0xd/RKO +[UPTENX] +peggy_denom = inj10jgxzcqdf6phdmettetd8m92gxucxz5rpp9kwu decimals = 6 -[RKT] -peggy_denom = factory/inj1af5v85xm5upykzsjj29lpr9dyp4n37746kpfmq/RKT +[URO] +peggy_denom = factory/inj1t8wuan5zxp58uwtn6j50kx4tjv25argx6lucwy/URO decimals = 6 -[RNDR] -peggy_denom = inj1092d3j7yqup5c8lp92vv5kadl567rynj59yd92 +[USC] +peggy_denom = ibc/5307C5A7B88337FE81565E210CDB5C50FBD6DCCF2D90D524A7E9D1FE00C40139 +decimals = 8 + +[USD] +peggy_denom = ibc/7474CABFDF3CF58A227C19B2CEDE34315A68212C863E367FC69928ABA344024C decimals = 18 -[ROAR] -peggy_denom = ibc/E6CFB0AC1D339A8CBA3353DF0D7E080B4B14D026D1C90F63F666C223B04D548C +[USD Coin] +peggy_denom = inj12pwnhtv7yat2s30xuf4gdk9qm85v4j3e60dgvu decimals = 6 -[ROB] -peggy_denom = inj1x6lvx8s2gkjge0p0dnw4vscdld3rdcw94fhter +[USD Coin (BEP-20)] +peggy_denom = ibc/5FF8FE2FDCD9E28C0608B17FA177A918DFAF7218FA18E5A2C688F34D86EF2407 decimals = 18 -[ROCK] -peggy_denom = factory/inj1xjcq2ch3pacc9gql24hfwpuvy9gxszxpz7nzmz/rock +[USD Coin (legacy)] +peggy_denom = inj1q6zlut7gtkzknkk773jecujwsdkgq882akqksk decimals = 6 -[ROCKET] -peggy_denom = inj1zrw6acmpnghlcwjyrqv0ta5wmzute7l4f0n3dz -decimals = 8 - -[ROLL] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1qv98cmfdaj5f382a0klq7ps4mnjp6calzh20h3 -decimals = 18 +[USD Coin from Avalanche] +peggy_denom = ibc/705E7E25F94467E363B2EB324A5A6FF4C683A4A6D20AAD2AEEABA2D9EB1B897F +decimals = 6 -[ROM] -peggy_denom = inj16w9qp30vrpng8kr83efvmveen688klvtd00qdy +[USD Coin from Polygon] +peggy_denom = ibc/2E93E8914CA07B73A794657DA76170A016057D1C6B0DC42D969918D4F22D95A3 decimals = 6 -[ROMAN] -peggy_denom = inj1h3z3gfzypugnctkkvz7vvucnanfa5nffvxgh2z +[USD Con] +peggy_denom = peggy0xB855dBC314C39BFa2583567E02a40CBB246CF82B decimals = 18 -[RONI] -peggy_denom = factory/inj13y9m57hw2rnvdmsym8na45z9kvexy82c4n6apc/RONI +[USDC] +peggy_denom = ibc/2CBC2EA121AE42563B08028466F37B600F2D7D4282342DE938283CC3FB2BC00E decimals = 6 -[RONIN] -peggy_denom = inj1rtyuaxaqfxczuys3k3cdvlg89ut66ulmp8mvuy -decimals = 18 +[USDC-MPL] +peggy_denom = peggy0xf875aef00C4E21E9Ab4A335eB36A1175Ab00424A +decimals = 6 -[RONOLDO] -peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/ronoldo +[USDCarb] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1lmcfftadjkt4gt3lcvmz6qn4dhx59dv2m7yv8r decimals = 6 -[ROOT] -peggy_denom = peggy0xa3d4BEe77B05d4a0C943877558Ce21A763C4fa29 +[USDCbsc] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1dngqzz6wphf07fkdam7dn55t8t3r6qenewy9zu decimals = 6 -[RSNL] -peggy_denom = factory/inj1uvexgrele9lr5p87kksg6gmz2telncpe0mxsm6/RSNL +[USDCet] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q6zlut7gtkzknkk773jecujwsdkgq882akqksk decimals = 6 -[RSTK] -peggy_denom = ibc/102810E506AC0FB1F14755ECA7A1D05066E0CBD574526521EF31E9B3237C0C02 +[USDCgateway] +peggy_denom = ibc/7BE71BB68C781453F6BB10114F8E2DF8DC37BA791C502F5389EA10E7BEA68323 decimals = 6 -[RTD] -peggy_denom = inj1ek524mnenxfla235pla3cec7ukmr3fwkgf6jq3 -decimals = 18 +[USDClegacy] +peggy_denom = peggy0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 +decimals = 6 -[RUDY] -peggy_denom = factory/inj1ykggxun6crask6eywr4a2lfy36f4we5l9rg2an/RUDY +[USDCpoly] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj19s2r64ghfqq3py7f5dr0ynk8yj0nmngca3yvy3 decimals = 6 -[RUG] -peggy_denom = factory/inj174r3j8pm93gfcdu0g36dg6g7u0alygppypa45e/RUG +[USDCso] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj12pwnhtv7yat2s30xuf4gdk9qm85v4j3e60dgvu decimals = 6 -[RUGAOI] -peggy_denom = factory/inj1pe8rs2gfmem5ak8vtqkduzkgcyargk2fg6u4as/RUGAOI +[USDLR] +peggy_denom = ibc/E15121C1541741E0A7BA2B96B30864C1B1052F1AD8189D81E6C97939B415D12E decimals = 6 -[RUGMYASS] -peggy_denom = inj18n9rpsstxsxgpmgegkn6fsvq9x3alqekqddgnq -decimals = 18 +[USDT] +peggy_denom = peggy0xdAC17F958D2ee523a2206206994597C13D831ec7 +decimals = 6 -[RUGPULL] -peggy_denom = factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/RUGPULL +[USDT.axl] +peggy_denom = ibc/90C6F06139D663CFD7949223D257C5B5D241E72ED61EBD12FFDDA6F068715E47 decimals = 6 -[RUMBLERZ] -peggy_denom = inj1pcwdvq866uqd8lhpmasya2xqw9hk2u0euvvqxl -decimals = 8 +[USDT.multi] +peggy_denom = ibc/24E5D0825D3D71BF00C4A01CD8CA8F2D27B1DD32B7446CF633534AEA25379271 +decimals = 6 -[RUNE] -peggy_denom = peggy0x3155BA85D5F96b2d030a4966AF206230e46849cb -decimals = 18 +[USDTap] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13yrhllhe40sd3nj0lde9azlwfkyrf2t9r78dx5 +decimals = 6 -[RYAN] -peggy_denom = inj1zdhl0fk08tr8xwppych2f7apzdymw4r3gf9kyr -decimals = 18 +[USDTbsc] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1l9eyrnv3ret8da3qh8j5aytp6q4f73crd505lj +decimals = 6 -[RYU] -peggy_denom = factory/inj1cm0jn67exeqm5af8lrlra4epfhyk0v38w98g42/ryu -decimals = 18 +[USDTet] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18zykysxw9pcvtyr9ylhe0p5s7yzf6pzdagune8 +decimals = 6 -[Rai Reflex Index] -peggy_denom = ibc/27817BAE3958FFB2BFBD8F4F6165153DFD230779994A7C42A91E0E45E8201768 -decimals = 18 +[USDTkv] +peggy_denom = ibc/4ABBEF4C8926DDDB320AE5188CFD63267ABBCEFC0583E4AE05D6E5AA2401DDAB +decimals = 6 -[RealMadrid] -peggy_denom = factory/inj1a7697s5yg3tsgkfrm0u5hvxm34mu8v0v3trryx/RealMadrid +[USDTso] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1qjn06jt7zjhdqxgud07nylkpgnaurq6xc5c4fd decimals = 6 -[Rice Token] -peggy_denom = inj1j6qq40826d695eyszmekzu5muzmdey5mxelxhl -decimals = 18 +[USDX] +peggy_denom = ibc/C78F65E1648A3DFE0BAEB6C4CDA69CC2A75437F1793C0E6386DFDA26393790AE +decimals = 6 -[Rise] -peggy_denom = inj123aevc4lmpm09j6mqemrjpxgsa7dncg2yn2xt7 +[USDY] +peggy_denom = ibc/93EAE5F9D6C14BFAC8DD1AFDBE95501055A7B22C5D8FA8C986C31D6EFADCA8A9 decimals = 18 -[Roll] -peggy_denom = inj15wuxx78q5p9h7fqg3ux7zljczj7jh5qxqhrevv +[USDYet] +peggy_denom = peggy0x96F6eF951840721AdBF46Ac996b59E0235CB985C decimals = 18 -[Roll Token] -peggy_denom = inj1qv98cmfdaj5f382a0klq7ps4mnjp6calzh20h3 +[USDe] +peggy_denom = peggy0x4c9EDD5852cd905f086C759E8383e09bff1E68B3 decimals = 18 -[Rush] -peggy_denom = inj1r2gjtqgzhfcm4wgvmctpuul2m700v4ml24l7cq +[USDi] +peggy_denom = peggy0x83E7D0451da91Ac509cd7F545Fb4AA04D4dD3BA8 decimals = 18 -[SAE] -peggy_denom = factory/inj152mdu38fkkk4fl7ycrpdqxpm63w3ztadgtktyr/SAE +[USK] +peggy_denom = ibc/58BC643F2EB5758C08D8B1569C7948A5DA796802576005F676BBFB7526E520EB decimals = 6 -[SAFAS] -peggy_denom = inj1vphq25x2r69mpf2arzsut8yxcav709kwd3t5ck +[UST] +peggy_denom = ibc/B448C0CA358B958301D328CCDC5D5AD642FC30A6D3AE106FF721DB315F3DDE5C decimals = 18 -[SAFEMOON] -peggy_denom = factory/inj1pgkwcngxel97d9qjvg75upe8y3lvvzncq5tdr0/safemoon -decimals = 6 +[UTK] +peggy_denom = peggy0xdc9Ac3C20D1ed0B540dF9b1feDC10039Df13F99c +decimals = 18 -[SAGA] -peggy_denom = ibc/AF921F0874131B56897A11AA3F33D5B29CD9C147A1D7C37FE8D918CB420956B2 -decimals = 6 +[Ulp] +peggy_denom = inj1ynqtgucs3z20n80c0zammyqd7skfgc7kyanc2j +decimals = 18 -[SAIL] -peggy_denom = ibc/2718A31D59C81CD1F972C829F097BDBE32D7B84025F909FFB6163AAD314961B3 +[Umee] +peggy_denom = ibc/2FF3DC3A0265B9A220750E75E75E5D44ED2F716B8AC4EDC378A596CC958ABF6B decimals = 6 -[SAKE] -peggy_denom = factory/inj1mdyw30cuct3haazw546t4t92sadeuwde0tmqxx/SAKE -decimals = 6 +[Uniswap] +peggy_denom = ibc/3E3A8A403AE81114F4341962A6D73162D586C9DF4CE3BE7C7B459108430675F7 +decimals = 18 -[SAKI] -peggy_denom = factory/inj1gg43076kmy0prkxtn5xxka47lfmwwjsq6ygcfa/SAKI +[Unknown] +peggy_denom = ibc/078184C66B073F0464BA0BBD736DD601A0C637F9C42B592DDA5D6A95289D99A4 decimals = 6 -[SAKURA] -peggy_denom = factory/inj183fjyma33jsx0wndkmk69yukk3gpll7gunkyz6/sakurasakura -decimals = 6 +[VATRENI] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1tn457ed2gg5vj2cur5khjjw63w73y3xhyhtaay +decimals = 8 -[SALT] -peggy_denom = factory/inj15e6p3slz9pa7kcn280y7hgp6rvhsqm3vnczlaw/salt +[VAULT] +peggy_denom = factory/inj16j0dhn7qg9sh7cg8y3vm6fecpfweq4f46tzrvd/VAULT decimals = 6 -[SAM] -peggy_denom = factory/inj1wuw7wa8fvp0leuyvh9ypzmndduzd5vg0xc77ha/sam +[VEGAS] +peggy_denom = inj12sy2vdgspes6p7af4ssv2sv0u020ew4httwp5y decimals = 6 -[SAMI] -peggy_denom = factory/inj13jvw7hl6hkyg8a8ltag47xyzxcc6h2qkk0u9kr/SAMI -decimals = 6 +[VELO] +peggy_denom = inj1srz2afh8cmay4nuk8tjkq9lhu6tz3hhmjnevlv +decimals = 8 -[SAMOORAII] -peggy_denom = factory/inj1056f9jwmdxjmc3xf3urpka00gjfsnna7ct3gy3/SAMOORAII -decimals = 6 +[VENUS] +peggy_denom = inj109z6sf8pxl4l6dwh7s328hqcn0ruzflch8mnum +decimals = 8 -[SAMP] -peggy_denom = inj1xd2l3406kypepnnczcn6fm0lnmsk6qk7dakryn +[VERHA] +peggy_denom = inj1v2rqvnaavskyhjkx7xfkkyljhnyhuv6fmczprq decimals = 18 -[SAMURAI] -peggy_denom = inj1lvnuam0w70d4yj03vy30umqv4rr7gwfkfsemnc -decimals = 6 - -[SANSU] -peggy_denom = factory/inj1x5thnvjfwzmtxxhqckrap8ysgs2duy29m4xwsp/sansu +[VIDA] +peggy_denom = inj18wa0xa2xg8ydass70e8uvlvzupt9wcn5l9tuxm decimals = 6 -[SANTA] -peggy_denom = factory/inj12qf874wcfxtxt004qmuhdtxw4l6d0f5w6cyfpz/santa +[VINJETTA] +peggy_denom = factory/inj1f4x4j5zcv3uf8d2806umhd50p78gfrftjc3gg4/vinjetta decimals = 6 -[SANTABONK] -peggy_denom = inj1zjdtxmvkrxcd20q8nru4ws47nemkyxwnpuk34v -decimals = 8 - -[SANTAGODX] -peggy_denom = inj1j8nvansvyvhnz4vzf5d8cyjpwu85ksdhyjf3n4 +[VIU] +peggy_denom = inj1ccpccejcrql2878cq55nqpgsl46s26qj8hm6ws decimals = 8 -[SANTAINJ] -peggy_denom = inj17cqy5lr4gprjgnlv0j2mw4rhqfhr9zpupkur8t -decimals = 8 +[VIX] +peggy_denom = inj108qxa8lvywqgg0cqma0ghksfvvurgvv7wcf4qy +decimals = 6 -[SANTAMEME] -peggy_denom = inj1dds0a220twm3pjprypmy0qun3cn727hzj0tpaa -decimals = 8 +[VRD] +peggy_denom = peggy0xf25304e75026E6a35FEDcA3B0889aE5c4D3C55D8 +decimals = 18 -[SASUKE] -peggy_denom = inj1alpg8nw7lw8uplsrah8q0qn66rqq0fxzd3wf9f +[VYK] +peggy_denom = inj15ssgwg2whxt3qnthlrq288uxtda82mcy258xp9 decimals = 18 -[SATOSHIVM] -peggy_denom = inj1y7pvzc8h05e8qs9de2c9qcypxw6xkj5wttvm70 +[Vatreni Token] +peggy_denom = inj1tn457ed2gg5vj2cur5khjjw63w73y3xhyhtaay decimals = 8 -[SATS] -peggy_denom = inj1ck568jpww8wludqh463lk6h32hhe58u0nrnnxe -decimals = 8 +[W] +peggy_denom = ibc/F16F0F685BEF7BC6A145F16CBE78C6EC8C7C3A5F3066A98A9E57DCEA0903E537 +decimals = 6 -[SAVEOURSTRAYS] -peggy_denom = factory/inj1a5h6erkyttcsyjmrn4k3rxyjuktsxq4fnye0hg/SAVEOURSTRAYS +[WAGMI] +peggy_denom = factory/inj188veuqed0dygkcmq5d24u3807n6csv4wdv28gh/wagmi +decimals = 9 + +[WAIFU] +peggy_denom = factory/inj12dvzf9tx2ndc9498aqpkrxgugr3suysqwlmn49/waifu decimals = 6 -[SAVM] -peggy_denom = inj1wuw0730q4rznqnhkw2nqwk3l2gvun7mll9ew3n +[WAIFUBOT] +peggy_denom = inj1fmw3t86ncrlz35pm0q66ca5kpudlxzg55tt54f decimals = 6 -[SAYVE] -peggy_denom = ibc/DF2B99CF1FEA6B292E79617BD6F7EF735C0B47CEF09D7104E270956E96C38B12 +[WAIFUDOGE] +peggy_denom = inj1py5zka74z0h02gqqaexllddn8232vqxsc946qf decimals = 6 -[SB] -peggy_denom = inj1cqq89rjk4v5a0teyaefqje3skntys7q6j5lu2p +[WAIT] +peggy_denom = inj17pg77tx07drrx6tm6c72cd9sz6qxhwd4gp93ep decimals = 8 -[SBF] -peggy_denom = factory/inj1j2me24lslpaa03fw8cuct8586t6f6qf0wcf4fm/SBF +[WAR] +peggy_denom = inj1nfkjyevl6z0fyc86w88xr8qq3awugw0nt2dvxq +decimals = 8 + +[WASABI] +peggy_denom = factory/inj1h6j2hwdn446d3nye82q2thte5pc6qqvyehsjzj/WASABI decimals = 6 -[SCAM] -peggy_denom = inj1hgh3dqc2kxl464qg9rnt3kctzplmsnqzycdtt7 +[WASSIE] +peggy_denom = peggy0x2c95d751da37a5c1d9c5a7fd465c1d50f3d96160 decimals = 18 -[SCLX] -peggy_denom = factory/inj1faq30xe497yh5ztwt00krpf9a9lyakg2zhslwh/SCLX +[WAVAX] +peggy_denom = ibc/A4FF8E161D2835BA06A7522684E874EFC91004AD0CD14E038F37940562158D73 +decimals = 18 + +[WBNB] +peggy_denom = ibc/B877B8EF095028B807370AB5C7790CA0C328777C9FF09AA7F5436BA7FAE4A86F +decimals = 18 + +[WBTC] +peggy_denom = ibc/48E69ED9995415D94BEA06BE70E4A6C2BEA0F5E83996D1E17AF95126770E06B2 +decimals = 8 + +[WDDG] +peggy_denom = factory/inj1hse75gfje5jllds5t9gnzdwyp3cdc3cvdt7gpw/wddg decimals = 6 -[SCORPION] -peggy_denom = factory/inj10w3p2qyursc03crkhg9djdm5tnu9xg63r2zumh/scorpion +[WEED] +peggy_denom = factory/inj1nm8kf7pn60mww3hnqj5je28q49u4h9gnk6g344/WEED decimals = 6 -[SCRT] -peggy_denom = ibc/7C4A4847D6898FA8744A8F2A4FC287E98CA5A95E05842B897B3FB301103C8AB6 +[WEIRD] +peggy_denom = ibc/5533268E098543E02422FF94216D50A97CD9732AEBBC436AF5F492E7930CF152 decimals = 6 -[SDEX] -peggy_denom = peggy0x5DE8ab7E27f6E7A1fFf3E5B337584Aa43961BEeF +[WEN] +peggy_denom = inj1wvd7jt2fwsdqph0culwmf3c4l4y63x4t6gu27v decimals = 18 -[SDOGE] -peggy_denom = inj1525sjr836apd4xkz8utflsm6e4ecuhar8qckhd +[WETH] +peggy_denom = ibc/4AC4A819B0BFCB25497E83B92A7D124F24C4E8B32B0E4B45704CC4D224A085A0 decimals = 8 -[SEAS] -peggy_denom = ibc/FF5AC3E28E50C2C52063C18D0E2F742B3967BE5ACC6D7C8713118E54E1DEE4F6 -decimals = 6 +[WFTM] +peggy_denom = ibc/31E8DDA49D53535F358B29CFCBED1B9224DAAFE82788C0477930DCDE231DA878 +decimals = 18 -[SECOND] -peggy_denom = inj1rr08epad58xlg5auytptgctysn7lmsk070qeer +[WGLMR] +peggy_denom = ibc/8FF72FB47F07B4AFA8649500A168683BEFCB9EE164BD331FA597D26224D51055 decimals = 18 -[SEI] -peggy_denom = ibc/BCE43BA530FBE35282B62C1E1EA4AD1F51522C61D40FB761005E1A02F18E0E58 +[WGMI] +peggy_denom = factory/inj1rmjzj9fn47kdmfk4f3z39qr6czexxe0yjyc546/WGMI decimals = 6 -[SEIFU] -peggy_denom = inj1jtenkjgqhwxdl93eak2aark5s9kl72awc4rk47 +[WHALE] +peggy_denom = ibc/D6E6A20ABDD600742D22464340A7701558027759CE14D12590F8EA869CCCF445 decimals = 6 -[SEISEI] -peggy_denom = factory/inj1lm95gdmz7qatcgw933t97rg58wnzz3dpxv7ldk/SEISEI +[WHITE] +peggy_denom = factory/inj1hdlavqur8ayu2kcdc9qv4dvee47aere5g80vg5/WHITE decimals = 6 -[SEIWHAT?] -peggy_denom = inj1qjgtplwsrflwgqjy0ffp72mfzckwsqmlq2ml6n -decimals = 8 - -[SEIYAN] -peggy_denom = ibc/ECC41A6731F0C6B26606A03C295236AA516FA0108037565B7288868797F52B91 +[WIF] +peggy_denom = factory/inj19xkrf82jar2qmf4tn92fajspq2e0warfufplhf/DogWifhat decimals = 6 -[SEKIRO] -peggy_denom = factory/inj1tpuscn4wl7sf35zx5w95d74ulzsdfle67x7cq5/Sekiro +[WIFDOG] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/wifdog decimals = 6 -[SENJU] -peggy_denom = factory/inj1qdamq2fk7xs6m34qv8swl9un04w8fhk42k35e5/SENJU -decimals = 6 +[WIFLUCK] +peggy_denom = inj10vhddx39e3q8ayaxw4dg36tfs9lpf6xx649zfn +decimals = 18 -[SENSEI] -peggy_denom = factory/inj1qpv9su9nkkka5djeqjtt5puwn6lw90eh0yfy0f/sensei -decimals = 6 +[WIGO] +peggy_denom = inj1jzarcskrdgqzn9ynqn05uthv07sepnpftw8xg9 +decimals = 18 -[SEQUENCE] -peggy_denom = factory/inj1nz984w2xnpwrtzsj7mt8rsc57vyhpwa360fq2r/sequence +[WIHA] +peggy_denom = ibc/E1BD2AE3C3879D2D79EA2F81E2A106BC8781CF449F70DDE6D97EF1A45F18C270 decimals = 6 -[SER] -peggy_denom = inj128cqeg7a78k64xdxsr6v5s6js97dxjgxynwdxc +[WINJ] +peggy_denom = inj1cxp5f0m79a9yexyplx550vxtnun8vjdaqf28r5 decimals = 18 -[SEUL] -peggy_denom = ibc/1C17C28AEA3C5E03F1A586575C6BE426A18B03B48C11859B82242EF32D372FDA +[WINJA] +peggy_denom = factory/inj1mq6we23vx50e4kyq6fyqgty4zqq27p20czq283/WINJA decimals = 6 -[SEX] -peggy_denom = factory/inj1ary3d4xl6jjlkht33ktqc2py7lvc3l4mqrfq00/SEX +[WINK] +peggy_denom = ibc/325300CEF4149AD1BBFEB540FF07699CDEEFBB653401E872532030CFB31CD767 decimals = 6 -[SHARINGAN] -peggy_denom = factory/inj1056f9jwmdxjmc3xf3urpka00gjfsnna7ct3gy3/SHARINGAN -decimals = 18 - -[SHARK] -peggy_denom = ibc/08B66006A5DC289F8CB3D7695F16D211D8DDCA68E4701A1EB90BF641D8637ACE +[WIZZ] +peggy_denom = factory/inj1uvfpvnmuqhx8jwg4786y59tkagmph827h38mst/WIZZ decimals = 6 -[SHARP] -peggy_denom = inj134p6skwcyjac60d2jtff0daps7tvzuqj4n56fr +[WKLAY] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14cl67lprqkt3pncjav070gavaxslc0tzpc56f4 decimals = 8 -[SHB] -peggy_denom = inj19zzdev3nkvpq26nfvdcm0szp8h272u2fxf0myv -decimals = 6 +[WMATIC] +peggy_denom = ibc/4DEFEB42BAAB2788723759D95B7550BCE460855563ED977036248F5B94C842FC +decimals = 8 -[SHBL] -peggy_denom = factory/inj1zp8a6nhhf3hc9pg2jp67vlxjmxgwjd8g0ck9mq/SHBL -decimals = 6 +[WMATIClegacy] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1dxv423h8ygzgxmxnvrf33ws3k94aedfdevxd8h +decimals = 8 + +[WNINJ] +peggy_denom = factory/inj1ducfa3t9sj5uyxs7tzqwxhp6mcfdag2jcq2km6/wnINJ +decimals = 18 -[SHENZI] -peggy_denom = factory/inj1e05u43qmn9jt502784c009u4elz5l86678esrk/SHENZI +[WOJAK] +peggy_denom = factory/inj17kqcwkgdayv585dr7mljclechqzymgfsqc8x9k/WOJAK decimals = 6 -[SHI] -peggy_denom = inj1w7wwyy6pjs9k2ecxte8p6tp8g7kh6k3ut402af +[WOJO] +peggy_denom = inj1n7qrdluu3gve6660dygc0m5al3awdg8gv07v62 decimals = 6 -[SHIB] -peggy_denom = peggy0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE +[WOKE] +peggy_denom = inj17ka378ydj6ka5q0jlqt0eqhk5tmzqynx43ue7m decimals = 18 -[SHIBINJ] -peggy_denom = factory/inj13yzzxz90naqer4utnp03zlj5rguhu7v0hd2jzl/SHIBINJ -decimals = 6 - -[SHIELD] -peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/SHIELD +[WOLF] +peggy_denom = factory/inj18pe85zjlrg5fcmna8tzqr0lysppcw5x7ecq33n/WOLF decimals = 6 -[SHINJ] -peggy_denom = factory/inj1h3vg2546p42hr955a7fwalaexjrypn8npds0nq/SHINJ -decimals = 6 +[WONDER] +peggy_denom = inj1ppg7jkl9vaj9tafrceq6awgr4ngst3n0musuq3 +decimals = 8 -[SHINJU] -peggy_denom = factory/inj1my757j0ndftrsdf2tuxsdhhy5qfkpuxw4x3wnc/shinju +[WOOF] +peggy_denom = factory/inj1wu5464syj9xmud55u99hfwhyjd5u8fxfmurs8j/woof decimals = 6 -[SHINOBI] -peggy_denom = inj1h37nmz0r2dt8l33kt2c6us5hj00ykzgxmvyw55 -decimals = 18 +[WOOF INU] +peggy_denom = inj1h0h49fpkn5r0pjmscywws0m3e7hwskdsff4qkr +decimals = 8 -[SHIRO] -peggy_denom = factory/inj1wu5464syj9xmud55u99hfwhyjd5u8fxfmurs8j/shiro +[WORM] +peggy_denom = ibc/13C9967E4F065F5E4946302C1F94EA5F21261F3F90DAC0212C4037FA3E058297 decimals = 6 -[SHITMOS] -peggy_denom = ibc/96C34D4D443A2FBCA10B120679AB50AE61195DF9D48DEAD60F798A6AC6B3B653 +[WOSMO] +peggy_denom = ibc/DD648F5D3CDA56D0D8D8820CF703D246B9FC4007725D8B38D23A21FF1A1477E3 decimals = 6 -[SHOGUN] -peggy_denom = inj16yxzdpw4fkyfzld98zt9l3txqpzj88pnme904j -decimals = 6 +[WSTETH] +peggy_denom = peggy0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0 +decimals = 18 -[SHRK] -peggy_denom = factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/SHRK +[WTF] +peggy_denom = ibc/3C788BF2FC1269D66CA3E339634E14856A90336C5562E183EFC9B743C343BC31 decimals = 6 -[SHROOM] -peggy_denom = inj1mdzxqh9kag3a9e7x5488vn8hkeh42cuw0hnhrf +[WUBBA] +peggy_denom = inj17g65zpdwql8xjju92k6fne8luqe35cjvf3j54v decimals = 6 -[SHSA] -peggy_denom = inj1tsrxu2pxusyn24zgxyh2z36apxmhu22jfwd4v7 -decimals = 18 +[Waifu] +peggy_denom = factory/inj12dvzf9tx2ndc9498aqpkrxgugr3suysqwlmn49/waifuinj +decimals = 6 -[SHT] -peggy_denom = factory/inj1sp8s6ng0e8a7q5dqywgyupwjyjgq2sk553t6r5/SHT +[What does the fox say?] +peggy_denom = inj1x0nz4k6k9pmjq0y9uutq3kp0rj3vt37p2p39sy decimals = 6 -[SHU] -peggy_denom = factory/inj1mllxwgvx0zhhr83rfawjl05dmuwwzfcrs9xz6t/SHU +[Wolf Party] +peggy_denom = factory/inj1xjcq2ch3pacc9gql24hfwpuvy9gxszxpz7nzmz/wolf decimals = 6 -[SHURIKEN] -peggy_denom = inj1d8x73kj4xtgzhpztf6d60vcjnrw9w0sh2vq8em +[Wormhole] +peggy_denom = factory/inj1xmxx0c3elm96s9s30t0k0gvr4h7l4wx9enndsl/wormhole decimals = 6 -[SILLY] -peggy_denom = inj19j6q86wt75p3pexfkajpgxhkjht589zyu0e4rd +[Wrapped Bitcoin] +peggy_denom = peggy0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 decimals = 8 -[SIMPSONS] -peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/simpsons -decimals = 6 +[Wrapped Ether] +peggy_denom = ibc/65A6973F7A4013335AE5FFE623FE019A78A1FEEE9B8982985099978837D764A7 +decimals = 18 -[SINU] -peggy_denom = inj1mxjvtp38yj866w7djhm9yjkwqc4ug7klqrnyyj +[Wrapped Ethereum] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1plsk58sxqjw9828aqzeskmc8xy9eu5kppw3jg4 decimals = 8 -[SJAKE] -peggy_denom = factory/inj1s4xa5jsp5sfv5nql5h3c2l8559l7rqyzckheha/SJAKE -decimals = 6 +[Wrapped Klaytn] +peggy_denom = inj14cl67lprqkt3pncjav070gavaxslc0tzpc56f4 +decimals = 8 -[SKI] -peggy_denom = inj167xkgla9kcpz5gxz6ak4vrqs7nqxr08kvyfqkz +[Wrapped Matic] +peggy_denom = ibc/7E23647941230DA0AB4ED10F599647D9BE34E1C991D0DA032B5A1522941EBA73 decimals = 18 -[SKIBIDI] -peggy_denom = factory/inj1ztugej2ytfwj9kxa8m5md85e5z3v8jvaxapz6n/skibidi -decimals = 6 +[Wrapped Matic (legacy)] +peggy_denom = inj1dxv423h8ygzgxmxnvrf33ws3k94aedfdevxd8h +decimals = 8 -[SKIPBIDIDOBDOBDOBYESYESYESYES] -peggy_denom = peggy0x5085202d0A4D8E4724Aa98C42856441c3b97Bc6d -decimals = 9 +[Wrapped liquid staked Ether 2.0 (Wormhole)] +peggy_denom = ibc/AF173F64492152DA94107B8AD53906589CA7B844B650EFC2FEFED371A3FA235E +decimals = 8 -[SKR] -peggy_denom = factory/inj1xjcq2ch3pacc9gql24hfwpuvy9gxszxpz7nzmz/sakura -decimals = 6 +[Wynn] +peggy_denom = factory/inj1mmn3lqt5eahuu7cmpcjme6lj0xhjlhj3qj4fhh/Wynn +decimals = 18 -[SKULL] -peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/SKULL +[X747] +peggy_denom = factory/inj12ccehmgslwzkg4d4n4t78mpz0ja3vxyctu3whl/X747 decimals = 6 -[SKULLS] -peggy_denom = inj1qk4cfp3su44qzragr55fc9adeehle7lal63jpz -decimals = 18 +[XAC] +peggy_denom = peggy0xDe4C5a791913838027a2185709E98c5C6027EA63 +decimals = 8 -[SKYPE] -peggy_denom = inj1e9nezwf7wvjj4rzfkjfad7teqjfa7r0838f6cs +[XAEAXii] +peggy_denom = inj1wlw9hzsrrtnttgl229kvmu55n4z2gfjqzr6e2k decimals = 18 -[SLOTH] -peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/sloth +[XAG] +peggy_denom = xag decimals = 6 -[SMART] -peggy_denom = factory/inj105ujajd95znwjvcy3hwcz80pgy8tc6v77spur0/SMART +[XAI] +peggy_denom = inj15a8vutf0edqcuanpwrz0rt8hfclz9w8v6maum3 +decimals = 8 + +[XAU] +peggy_denom = xau decimals = 6 -[SMAUG] -peggy_denom = inj1a2wzkydpw54f8adq76dkf6kwx6zffnjju93r0y +[XBX] +peggy_denom = peggy0x080B12E80C9b45e97C23b6ad10a16B3e2a123949 decimals = 18 -[SMB] -peggy_denom = inj13xkzlcd490ky7uuh3wwd48r4qy35hlhqxjpe0r +[XCN] +peggy_denom = ibc/79D01DE88DFFC0610003439D38200E77A3D2A1CCCBE4B1958D685026ABB01814 decimals = 18 -[SMELLY] -peggy_denom = factory/inj10pz3xq7zf8xudqxaqealgyrnfk66u3c99ud5m2/SMELLY +[XDD] +peggy_denom = inj10e64r6exkrm52w9maa2e99nse2zh5w4zajzv7e +decimals = 18 + +[XIII] +peggy_denom = factory/inj18flmwwaxxqj8m8l5zl8xhjrnah98fcjp3gcy3e/XIII decimals = 6 -[SMILE] -peggy_denom = factory/inj1tuwuzza5suj9hq4n8pwlfw2gfua8223jfaa6v7/SMILE +[XMAS] +peggy_denom = factory/inj1sn34edy635nv4yhts3khgpy5qxw8uey6wvzq53/XMAS decimals = 6 -[SMLE] -peggy_denom = inj1nqy47ullz048d8lzck9yr89dnpfefrdx30c7fx +[XMASINJ] +peggy_denom = inj1yhp235hgpa0nartawhtx0q2hkhr6y8cdth4neu +decimals = 8 + +[XMASPUMP] +peggy_denom = inj165lcmjswrkuz2m5p45wn00qz4k2zpq8r9axkp9 +decimals = 8 + +[XNJ] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17pgmlk6fpfmqyffs205l98pmnmp688mt0948ar decimals = 18 -[SMOKE] -peggy_denom = factory/inj1t0vyy5c3cnrw9f0mpjz9xk7fp22ezjjmrza7xn/SMOKE -decimals = 6 +[XPLA] +peggy_denom = inj1j08452mqwadp8xu25kn9rleyl2gufgfjqjvewe +decimals = 8 -[SMOKEe] -peggy_denom = factory/inj1t0vyy5c3cnrw9f0mpjz9xk7fp22ezjjmrza7xn/SMOKEe +[XPRT] +peggy_denom = ibc/B786E7CBBF026F6F15A8DA248E0F18C62A0F7A70CB2DABD9239398C8B5150ABB decimals = 6 -[SNAPPY] -peggy_denom = factory/inj13y5nqf8mymy9tfxkg055th7hdm2uaahs9q6q5w/SNAPPY -decimals = 6 +[XRAY] +peggy_denom = inj1aqgkr4r272dg62l9err5v3d3hme2hpt3rzy4zt +decimals = 8 -[SNAPPY inj] -peggy_denom = inj19dfkr2rm8g5kltyu93ppgmvdzj799vug2m9jqp +[XRP] +peggy_denom = peggy0x1d2f0da169ceb9fc7b3144628db156f3f6c60dbe decimals = 18 -[SNARL] -peggy_denom = factory/inj1dskk29zmzjtc49w3fjxac4q4m87yg7gshw8ps9/SNARL +[XTALIS] +peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/xTalis decimals = 6 -[SNASA] -peggy_denom = factory/inj1peusyhlu85s3gq82tz8jcfxzkszte4zeqhdthw/SNASA +[XUPS] +peggy_denom = inj1f3ppu7jgputk3qr833f4hsl8n3sm3k88zw6um0 +decimals = 8 + +[XYZ] +peggy_denom = factory/inj12aljr5fewp8vlns0ny740wuwd60q89x0xsqcz3/XYZ decimals = 6 -[SNEK] -peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/snek +[XmasPump] +peggy_denom = inj1yjtgs6a9nwsljwk958ypf2u7l5kqf5ld8h3tmd +decimals = 8 + +[YAKUZA] +peggy_denom = factory/inj1r5pgeg9xt3xr0mw5n7js8kux7hyvjlsjn6k8ce/YAKUZA decimals = 6 -[SNIPE] -peggy_denom = inj1ryzgvggaktks2pz69pugltfu7f3hpq7wc98t5e +[YAMEI] +peggy_denom = inj1042ucqa8edhazdc27xz0gsphk3cdwxefkfycsr decimals = 18 -[SNIPEONE] -peggy_denom = inj146tnhg42q52jpj6ljefu6xstatactyd09wcgwh +[YEA] +peggy_denom = inj1vfasyvcp7jpqfpdp980w28xemyurdnfys84xwn decimals = 18 -[SNIPER] -peggy_denom = factory/inj1qzxna8fqr56g83rvyyylxnyghpguzt2jx3dgr8/SNIPER -decimals = 6 +[YEET] +peggy_denom = inj10vhq60u08mfxuq3zr6ffpm7uelcc9ape94xq5f +decimals = 18 -[SNJT] -peggy_denom = inj1h6hma5fahwutgzynjrk3jkzygqfxf3l32hv673 +[YFI] +peggy_denom = peggy0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e decimals = 18 -[SNOWY] -peggy_denom = factory/inj1ml33x7lkxk6x2x95d3alw4h84evlcdz2gnehmk/SNOWY +[YKZ] +peggy_denom = factory/inj16a7s0v3c2hp575s0ugmva8cedq9yvsmz4mvdcd/YKZ decimals = 6 -[SNS] -peggy_denom = ibc/4BFB3FB1903142C5A7570EE7697636436E52FDB99AB8ABE0257E178A926E2568 -decimals = 8 +[YMOS] +peggy_denom = ibc/26AB5A32422A0E9BC3B7FFCCF57CB30F3E8AEEA0F1705D64DCF4D8FA3DD71B9D +decimals = 6 -[SNX] -peggy_denom = peggy0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F +[YOAN] +peggy_denom = inj1hgrgkrpwsu6n44ueucx0809usskkp6vdcr3ul9 +decimals = 18 + +[YOKAI] +peggy_denom = inj1y7k7hdw0nyw05rc8qr6nmwlp2kq3vzh065frd6 +decimals = 18 + +[YOSHI] +peggy_denom = inj13y8susc9dle4x664ktps3ynksxxgt6lhmckuxp decimals = 18 -[SOCRATES] -peggy_denom = inj18qupdvxmgswj9kfz66vaw4d4wn0453ap6ydxmy -decimals = 8 +[YSIR] +peggy_denom = inj1zff494cl7wf0g2fzqxdtxn5ws4mkgy5ypxwlql +decimals = 18 -[SOGGS] -peggy_denom = factory/inj1c0f9ze9wh2xket0zs6wy59v66alwratsdx648k/soggs +[YUKI] +peggy_denom = factory/inj1spdy83ds5ezq9rvtg0ndy8480ad5rlczcpvtu2/YUKI decimals = 6 -[SOK] -peggy_denom = inj1jdpc9y459hmce8yd699l9uf2aw97q3y7kwhg7t -decimals = 18 - -[SOKE] -peggy_denom = inj1ryqavpjvhfj0lewule2tvafnjga46st2q7dkee +[YUM.axl] +peggy_denom = ibc/253F76EB6D04F50492930A5D97465A495E5D6ED674A33EB60DDD46F01EF56504 decimals = 18 -[SOL] -peggy_denom = factory/inj1a4hvejdwaf9gd9rltwftxf0fyz6mrzwmnauacp/SOL +[Yakuza] +peggy_denom = factory/inj1t0vyy5c3cnrw9f0mpjz9xk7fp22ezjjmrza7xn/Yakuza decimals = 6 -[SOLANAinj] -peggy_denom = inj18e7x9myj8vq58ycdutd6eq6luy7frrp4d2nglr +[Yang] +peggy_denom = inj10ga6ju39mxt94suaqsfagea9t9p2ys2lawml9z decimals = 6 -[SOLinj] -peggy_denom = inj1n9nga2t49ep9hvew5u8xka0d4lsrxxg4cw4uaj +[YeetYak] +peggy_denom = factory/inj1k2kcx5n03pe0z9rfzvs9lt764jja9xpvwrxk7c/YeetYak decimals = 6 -[SOLlegacy] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sthrn5ep8ls5vzz8f9gp89khhmedahhdkqa8z3 -decimals = 8 +[YieldETH] +peggy_denom = ibc/6B7E243C586784E1BE150B71F541A3880F0409E994365AF31FF63A2764B72556 +decimals = 18 -[SOMM] -peggy_denom = ibc/34346A60A95EB030D62D6F5BDD4B745BE18E8A693372A8A347D5D53DBBB1328B +[Ykz] +peggy_denom = inj1ur8dhklqn5ntq45jcm5vy2tzp5zfc05w2pmjam +decimals = 18 + +[Yogi] +peggy_denom = inj1zc3uujkm2sfwk5x8xlrudaxwsc0t903rj2jcen decimals = 6 -[SONICFLOKITRUMPSPIDERMAN INU] -peggy_denom = inj16afzhsepkne4vc7hhu7fzx4cjpgkqzagexqaz6 -decimals = 8 +[ZEUS] +peggy_denom = inj1302yft4ppsj99qy5avv2qv6hfuvzluy4q8eq0k +decimals = 18 -[SONINJ] -peggy_denom = factory/inj1cm5lg3z9l3gftt0c09trnllmayxpwt8825zxw3/soninj -decimals = 6 +[ZIG] +peggy_denom = peggy0xb2617246d0c6c0087f18703d576831899ca94f01 +decimals = 18 -[SOS] -peggy_denom = inj13wdqnmv40grlmje48akc2l0azxl38d2wzl5t92 +[ZIGZAG] +peggy_denom = inj1d70m92ml2cjzy2lkj5t2addyz6jq4qu8gyfwn8 decimals = 6 -[SPDR] -peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/spdr -decimals = 6 +[ZIL] +peggy_denom = ibc/AE996D1AF771FED531442A232A4403FAC51ACFFF9B645FF4363CFCB76019F5BD +decimals = 12 -[SPK] -peggy_denom = inj18wclk6g0qwwqxa36wd4ty8g9eqgm6q04zjgnpp +[ZK] +peggy_denom = zk decimals = 18 -[SPONCH] -peggy_denom = factory/inj1qw7egul6sr0yjpxfqq5qars2qvxucgp2sartet/sponch -decimals = 6 - -[SPOONWORMS] -peggy_denom = inj1qt3c5sx94ag3rn7403qrwqtpnqthg4gr9cccrx +[ZOE] +peggy_denom = factory/inj17v462f55kkuhjhvw7vdcjzd2wdk85yh8js3ug9/ZOE decimals = 6 -[SPORTS] -peggy_denom = factory/inj1dewkg7z8vffqxk7jcer6sf9ttnx54z0c6gfjw6/SPORTS +[ZOMBIE] +peggy_denom = factory/inj12yvvkskjdedhztpl4g2vh888z00rgl0wctarst/ZOMBIE decimals = 6 -[SPUUN] -peggy_denom = inj1vgm0pwes4fusmvha62grh5aq55yxdz2x5k58xw +[ZOOMER] +peggy_denom = inj173zkm8yfuqagcc5m7chc4dhnq0k5hdl7vwca4n decimals = 18 -[SPUUN INJ] -peggy_denom = inj1zrd6wwvyh4rqsx5tvje6ug6qd2xtn0xgu6ylml +[ZORO] +peggy_denom = factory/inj1z70nam7mp5qq4wd45ker230n3x4e35dkca9la4/ZORO decimals = 18 -[SQRL] -peggy_denom = peggy0x762dD004fc5fB08961449dd30cDf888efb0Adc4F +[ZRO] +peggy_denom = zro +decimals = 6 + +[ZRX] +peggy_denom = peggy0xE41d2489571d322189246DaFA5ebDe1F4699F498 decimals = 18 -[SQUID] -peggy_denom = factory/inj1a7697s5yg3tsgkfrm0u5hvxm34mu8v0v3trryx/SQUID +[ZUZU] +peggy_denom = factory/inj1v05uapg65p6f4307qg0hdkzssn82js6n5gc03q/ZUZU decimals = 6 -[SSFS] -peggy_denom = inj1m7hd99423w39aug74f6vtuqqzvw5vp0h2e85u0 +[ZZZ] +peggy_denom = factory/inj1a2qk8tsd4qv7rmtp8g8ktj7zfldj60hpp0arqp/ZZZ decimals = 6 -[SSTST] -peggy_denom = factory/inj1wmu4fq03zvu60crvjdhksk62e8m08xsn9d5nv3/stream-swap-test +[aUSD] +peggy_denom = inj1p3nrwgm9u3dtln6rwdvrsmjt5fwlhhhq3ugckd +decimals = 18 + +[aevmos] +peggy_denom = ibc/295BF44E68BDD1B0D32A28C2084D89D63EDA3A01612789B01B62B8F07254D04C decimals = 0 -[STAKELAND] -peggy_denom = inj1sx4mtq9kegurmuvdwddtr49u0hmxw6wt8dxu3v +[allBTC] +peggy_denom = ibc/2D805BFDFB164DE4CE69514BF2CD203C07BF79DF52EF1971763DCBD325917CC5 decimals = 8 -[STAR] -peggy_denom = inj1nkxdx2trqak6cv0q84sej5wy23k988wz66z73w -decimals = 8 +[allETH] +peggy_denom = ibc/1638ABB0A4233B36CC9EBBD43775D17DB9A86190E826580963A0B59A621BD7FD +decimals = 18 -[STARK] -peggy_denom = factory/inj106etgay573e32ksysc9dpdrynxhk7kkmaclhfc/stark +[allSOL] +peggy_denom = ibc/FA2D0C9110C1DFBAEF084C161D1A0EFC6270C64B446FDEC686C30FCF99FE22CA +decimals = 9 + +[allUSDT] +peggy_denom = ibc/7991930BA02EBF3893A7E244233E005C2CB14679898D8C9E680DA5F7D54E647D decimals = 6 -[STARS] -peggy_denom = ibc/4D29F082A3C083C85C886B92A1EB438C3FC0632E5F9E4D875479BEB7B9511BD5 +[ampGASH] +peggy_denom = ibc/B52F9774CA89A45FFB924CEE4D1E586013E33628A3784F3CCF10C8CE26A89E7F decimals = 6 -[STINJ] -peggy_denom = ibc/AC87717EA002B0123B10A05063E69BCA274BA2C44D842AEEB41558D2856DCE93 -decimals = 18 +[ampINJ] +peggy_denom = factory/inj1cdwt8g7nxgtg2k4fn8sj363mh9ahkw2qt0vrnc/ampINJ +decimals = 6 -[STINJER] -peggy_denom = factory/inj1fepsfp58ff2l7fasj47ytwrrwwp6k7uz6uhfvn/stinjer +[ampKUJI] +peggy_denom = ibc/34E48C7C43383203519D996D1D93FE80ED50153E28FB6A9465DE463AEF2EC9EC decimals = 6 -[STL] -peggy_denom = inj1m2pce9f8wfql0st8jrf7y2en7gvrvd5wm573xc -decimals = 18 +[ampLUNA] +peggy_denom = ibc/751CCECAF75D686B1DC8708BE62F8C7411B211750E6009C6AC4C93881F0543E8 +decimals = 6 -[STRD] -peggy_denom = ibc/02683677B1A58ECF74FFF25711E09735C44153FE9490BE5EF9FD21DE82BCB542 +[ampMNTA] +peggy_denom = ibc/A87178EAA371050DDFD80F78630AE622B176C7634160EE515C27CE62FCC8A0CC decimals = 6 -[STT] -peggy_denom = peggy0xaC9Bb427953aC7FDDC562ADcA86CF42D988047Fd -decimals = 18 +[ampOSMO] +peggy_denom = ibc/012D069D557C4DD59A670AA17E809CB7A790D778E364D0BC0A3248105DA6432D +decimals = 6 -[STX] -peggy_denom = stx +[ampROAR] +peggy_denom = ibc/7BE54594EAE77464217B9BB5171035946ED23DB309B030B5708E15C9455BB557 decimals = 6 -[SUGAR] -peggy_denom = factory/inj1qukvpzhyjguma030s8dmvw4lxaluvlqq5jk3je/SUGAR +[ampSEI] +peggy_denom = ibc/6293B8AAE79F71B7DA3E8DEE00BEE0740D6D8495DB9BAED2342949B0A90152A5 decimals = 6 -[SUI] -peggy_denom = sui -decimals = 9 +[ampWHALE] +peggy_denom = ibc/168C3904C45C6FE3539AE85A8892DF87371D00EA7942515AFC50AA43C4BB0A32 +decimals = 6 -[SUMO] -peggy_denom = factory/inj15e6p3slz9pa7kcn280y7hgp6rvhsqm3vnczlaw/sumo +[ampWHALEt] +peggy_denom = ibc/DF3225D7381562B58AA8BE107A87260DDDC7FA08E4B0898E3D795392CF844BBE decimals = 6 -[SUMOCOCO] -peggy_denom = factory/inj1056f9jwmdxjmc3xf3urpka00gjfsnna7ct3gy3/SUMOCOCO +[anon] +peggy_denom = factory/inj15n8jl0dcepjfy3nhsa3gm734rjx5x2ff3y9f2s/anon decimals = 6 -[SUPE] -peggy_denom = factory/inj1rl4sadxgt8c0qhl4pehs7563vw7j2dkz80cf55/SUPE +[ape] +peggy_denom = factory/inj1rhaefktcnhe3y73e82x4edcsn9h5y99gwmud6v/ape decimals = 6 -[SUPERMARIO] -peggy_denom = inj1mgts7d5c32w6aqr8h9f5th08x0p4jaya2tp4zp -decimals = 18 +[aplanq] +peggy_denom = ibc/ABC34F1F9C95DAB3AD3DAFD5228FAB5CDEA67B6BD126BC545D6D25B15E57F527 +decimals = 0 -[SUSHI] -peggy_denom = factory/inj14epxlhe56lhk5s3nc8wzmetwh6rpehuufe89ak/SUSHI +[ashLAB] +peggy_denom = ibc/D3D5FB034E9CAA6922BB9D7D52D909116B7FFF7BD73299F686C972643B4767B9 decimals = 6 -[SUSHI FIGHTER] -peggy_denom = inj1n73yuus64z0yrda9hvn77twkspc4uste9j9ydd -decimals = 18 +[ashLUNA] +peggy_denom = ibc/19C3905E752163B6EEB903A611E0832CCD05A32007E98C018759905025619D8F +decimals = 6 -[SUSHII] -peggy_denom = inj1p6evqfal5hke6x5zy8ggk2h5fhn4hquk63g20d +[ashSYN] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/syn.ash decimals = 6 -[SVM] -peggy_denom = inj1jyhzeqxnh8qnupt08gadn5emxpmmm998gwhuvv -decimals = 8 +[avalanche.USDC.wh] +peggy_denom = ibc/348633370BE07A623D7FC9CD229150936ADCD3A4E842DAD246BBA817D21FF6C7 +decimals = 6 -[SVN] -peggy_denom = inj1u4zp264el8hyxsqkeuj5yesp8pqmfh4fya86w6 +[axlETH] +peggy_denom = ibc/34EF5DA5B1CFB23FA25F1D486C89AFC9E5CC5727C224975438583C444E88F039 decimals = 18 -[SWAP] -peggy_denom = peggy0xCC4304A31d09258b0029eA7FE63d032f52e44EFe +[axlFIL] +peggy_denom = ibc/9D1889339AEC850B1D719CCF19BD813955C086BE1ED323ED68318A273922E40D decimals = 18 -[SWP] -peggy_denom = ibc/70CF1A54E23EA4E480DEDA9E12082D3FD5684C3483CBDCE190C5C807227688C5 +[axlUSDC] +peggy_denom = ibc/7E1AF94AD246BE522892751046F0C959B768642E5671CC3742264068D49553C0 decimals = 6 -[SWTH] -peggy_denom = ibc/8E697D6F7DAC1E5123D087A50D0FE0EBDD8A323B90DC19C7BA8484742AEB2D90 -decimals = 8 +[axlWBTC] +peggy_denom = ibc/F57B53E102171E6DC254532ECC184228BB8E23B755AD55FA6FDCBD70464A9A54 +decimals = 6 -[SXC] -peggy_denom = inj1a4lr8sulev42zgup2g0sk8x4hl9th20cj4fqmu -decimals = 8 +[bCRE] +peggy_denom = ibc/83D54420DD46764F2ED5EE511DAA63EC28012480A245D8E33AA1F7D1FB15D736 +decimals = 6 -[SXI] -peggy_denom = inj12mjzeu7qrhn9w85dd02fkvjt8hgaewdk6j72fj +[bINJ] +peggy_denom = factory/inj1dxp690rd86xltejgfq2fa7f2nxtgmm5cer3hvu/bINJ +decimals = 18 + +[bKUJI] +peggy_denom = ibc/5C48695BF3A6BCC5DD147CC1A2D09DC1A30683FE369BF472704A52CF9D59B42D +decimals = 6 + +[bLUNA] +peggy_denom = ibc/C9D55B62C9D9CA84DD94DC019009B840DDFD861BF2F33F7CF2A8A74933797680 +decimals = 6 + +[bNEO] +peggy_denom = ibc/48F6A028444987BB26299A074A5C32DC1679A050D5563AC10FF81EED9E22D8B8 decimals = 8 -[SYN] -peggy_denom = factory/inj1a6xdezq7a94qwamec6n6cnup02nvewvjtz6h6e/SYN +[bOSMO] +peggy_denom = ibc/C949BEFD9026997A65D0125340B096AA809941B3BB13D6C2D1E8E4A17F2130C4 +decimals = 6 + +[bWHALE] +peggy_denom = ibc/ECB0AA28D6001EF985047558C410B65581FC85BD92D4E3CFCCA0D3D964C67CC2 decimals = 6 -[SamOrai] -peggy_denom = inj1a7fqtlllaynv6l4h2dmtzcrucx2a9r04e5ntnu +[baby INJ] +peggy_denom = inj1j0l9t4n748k2zy8zm7yfwjlpkf069d2jslfh3d decimals = 18 -[Samurai] -peggy_denom = factory/inj1s5php9vmd03w6nszlnsny43cmuhw3y6u3vt7qc/samurai +[babyBENANCE] +peggy_denom = inj1rfv2lhr0qshztmk86f05vdmx2sft9zs6cc2ltj decimals = 6 -[Samurai dex token] -peggy_denom = factory/inj1c0f9ze9wh2xket0zs6wy59v66alwratsdx648k/samurai +[babyCLON] +peggy_denom = inj1pyghkw9q0kx8mnuhcxpqnczfxst0way2ep9s54 decimals = 6 -[Santa] -peggy_denom = factory/inj1mwsgdlq6rxs3xte8p2m0pcw565czhgngrxgl38/Santa +[babyCOKE] +peggy_denom = inj14mu7fw0hzxvz3dl9y628xva2xuvngmz4zrwllz decimals = 6 -[SantaInjective] -peggy_denom = inj19wccuev2399ad0ftdfyvw8h9qq5dvqxqw0pqxe -decimals = 8 - -[Satoru Gojo] -peggy_denom = inj1hwc0ynah0xv6glpq89jvm3haydhxjs35yncuq2 -decimals = 6 +[babyDIB] +peggy_denom = inj1tquat4mh95g33q5rhg5c72yh6j6x5w3p6ynuqg +decimals = 18 -[Sei] -peggy_denom = ibc/0D0B98E80BA0158D325074100998A78FB6EC1BF394EFF632E570A5C890ED7CC2 +[babyDOJO] +peggy_denom = inj10ny97fhd827s3u4slfwehu7m5swnpnmwzxsc40 decimals = 6 -[Sekiro] -peggy_denom = factory/inj1nn8xzngf2ydkppk2h0n9nje72ttee726hvjplx/ak -decimals = 6 +[babyDRAGON] +peggy_denom = inj1lfemyjlce83a7wre4k5kzd8zyytqavran5ckkv +decimals = 18 -[Sendor] -peggy_denom = inj1hpwp280wsrsgn3r3mvufx09dy4e8glj8sq4vzx +[babyDRUGS] +peggy_denom = inj1nqcrsh0fs60k06mkc2ptxa9l4g9ktu4jct8z2w decimals = 6 -[Sensei Dog] -peggy_denom = ibc/12612A3EBAD01200A7FBD893D4B0D71F3AD65C41B2AEE5B42EE190672EBE57E9 +[babyDrugs] +peggy_denom = inj1457z9m26aqvga58demjz87uyt6su7hyf65aqvr decimals = 6 -[She] -peggy_denom = inj1k59du6npg24x2wacww9lmmleh5qrscf9gl7fr5 +[babyGINGER] +peggy_denom = inj1y4dk7ey2vrd4sqems8hnzh2ays8swealvfzdmg decimals = 6 -[Shiba INJ] -peggy_denom = factory/inj1v0yk4msqsff7e9zf8ktxykfhz2hen6t2u4ue4r/shiba inj +[babyINJUSSY] +peggy_denom = factory/inj1kk6dnn7pl7e508lj4qvllprwa44qtgf98es2ak/babyINJUSSY decimals = 6 -[Shiba Inu] -peggy_denom = ibc/E68343A4DEF4AFBE7C5A9004D4C11888EE755A7B43B3F1AFA52F2C34C07990D5 +[babyJUNIORES] +peggy_denom = inj1m4k5fcjz86dyz25pgagj50jcydh9llvpw8lxyj decimals = 18 -[ShihTzu] -peggy_denom = factory/inj1x78kr9td7rk3yqylvhgg0ru2z0wwva9mq9nh92/ShihTzu +[babyKAGE] +peggy_denom = inj12gh464eqc4su4qd3frxxlyjymf0nhzgzm9a203 decimals = 6 -[Shinobi] -peggy_denom = factory/inj1t02au5gsk40ev9jaq0ggcyry9deuvvza6s4wav/nobi +[babyKANGAROO] +peggy_denom = inj12s9a6vnmgyf8vx448cmt2hzmhhfuptw8agn2xs decimals = 6 -[Shinobi Inu] -peggy_denom = factory/inj1t02au5gsk40ev9jaq0ggcyry9deuvvza6s4wav/Shinobi +[babyKOALA] +peggy_denom = inj19lm6nrfvam539ahr0c8nuapfh6xzlhjaxv2a39 decimals = 6 -[Shuriken] -peggy_denom = inj1kxamn5nmsn8l7tyu752sm2tyt6qlpufupjyscl +[babyMONKS] +peggy_denom = inj17udts7hdggcurc8892tmd7y56w5dkxsgv2v6eu decimals = 18 -[Shuriken Token] -peggy_denom = factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/shuriken +[babyNINJA] +peggy_denom = inj1n8883sfdp3cufstk05sd8dkp7pcdxr3m2fp24m decimals = 6 -[Sin] -peggy_denom = inj10fnmtl9mh95gjtgl67ww6clugl35d8lc7tewkd +[babyNONJA] +peggy_denom = inj15hxdpukklz4c4f3l20rl50h9wqa7rams74gyah decimals = 18 -[Sinful] -peggy_denom = inj1lhfk33ydwwnnmtluyuu3re2g4lp79c86ge546g +[babyPANDA] +peggy_denom = inj1lpu8rcw04zenfwkxdld2dm2pd70g7yv6hz7dnf decimals = 18 -[Smoking Nonja] -peggy_denom = factory/inj1nvv2gplh009e4s32snu5y3ge7tny0mauy9dxzg/smokingnonja +[babyPING] +peggy_denom = inj17fa3gt6lvwj4kguyulkqrc0lcmxcgcqr7xddr0 +decimals = 18 + +[babySAMURAI] +peggy_denom = inj1arnd0xnxzg4qgxn4kupnzsra2a0rzrspwpwmrs decimals = 6 -[Solana (legacy)] -peggy_denom = inj1sthrn5ep8ls5vzz8f9gp89khhmedahhdkqa8z3 -decimals = 8 +[babySHEROOM] +peggy_denom = inj1cmw4kwqkhwzx6ha7d5e0fu9zj7aknn4mxqqtf0 +decimals = 6 -[Sommelier] -peggy_denom = peggy0xa670d7237398238DE01267472C6f13e5B8010FD1 +[babySHROOM] +peggy_denom = inj14zxwefzz5p3l4mltlzgmfwh2jkgjqum256qhna decimals = 6 -[SpoonWORMS] -peggy_denom = inj1klc8puvggvjwuee6yksmxx4za6xdh20pwjdnec +[babySMELLY] +peggy_denom = inj16hl3nlwlg2va07y4zh09vzh9xtxy6uwpmy0f5l decimals = 6 -[Spuun] -peggy_denom = inj1hs0xupdsrnwfx3lcpz56qkp72q7rn57v3jm0x7 -decimals = 18 +[babySPUUN] +peggy_denom = factory/inj1nhswhqrgfu3hpauvyeycz7pfealx4ack2c5hfp/babyspuun +decimals = 6 -[Spuurk] -peggy_denom = inj1m9yfd6f2dw0f6uyx4r2av2xk8s5fq5m7pt3mec -decimals = 18 +[babyYAKUZA] +peggy_denom = inj1rep4p2x86avty00qvgcu4vfhywmsznf42jdpzs +decimals = 6 -[Spuvn] -peggy_denom = inj1f66rlllh2uef95p3v7cswqmnnh2w3uv3f97kv3 +[babyYKZ] +peggy_denom = inj16wa97auct633ft6cjzr22xv2pxvym3k38rzskc decimals = 18 -[SteadyBTC] -peggy_denom = peggy0x4986fD36b6b16f49b43282Ee2e24C5cF90ed166d -decimals = 18 +[babyYODA] +peggy_denom = factory/inj1qpv9su9nkkka5djeqjtt5puwn6lw90eh0yfy0f/babyYODA +decimals = 6 -[SteadyETH] -peggy_denom = peggy0x3F07A84eCdf494310D397d24c1C78B041D2fa622 +[babyshroomin] +peggy_denom = inj1qgcfkznvtw96h950wraae20em9zmhtcm0rws68 decimals = 18 -[Sui (Wormhole)] -peggy_denom = ibc/F96C68219E987465D9EB253DACD385855827C5705164DAFDB0161429F8B95780 -decimals = 8 +[bapc] +peggy_denom = inj13j4ymx9kz3cdasg0e00tsc8ruq03j6q8fftcll +decimals = 18 -[Summoners Arena Essence] -peggy_denom = ibc/0AFCFFE18230E0E703A527F7522223D808EBB0E02FDBC84AAF8A045CD8FE0BBB -decimals = 8 +[beef] +peggy_denom = factory/inj18xg8yh445ernwxdquklwpngffqv3agfyt5uqqs/beef +decimals = 6 -[Sushi Staked INJ] -peggy_denom = inj1hwj3xz8ljajs87km07nev9jt7uhmvf9k9q4k0f +[bellboy] +peggy_denom = inj1ywvmwtpe253qhtrnvratjqmhy4aar4yl5an9dk decimals = 6 -[SushiSwap] -peggy_denom = peggy0x6B3595068778DD592e39A122f4f5a5cF09C90fE2 -decimals = 18 +[bobmarley] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/bobmarley +decimals = 6 -[TAB] -peggy_denom = peggy0x36B3D7ACe7201E28040eFf30e815290D7b37ffaD +[bobo] +peggy_denom = factory/inj1ne49gse9uxujj3fjdc0evxez4yeq9k2larmuxu/bobo decimals = 18 -[TABOO] -peggy_denom = inj1ttxw2rn2s3hqu4haew9e3ugekafu3hkhtqzmyw -decimals = 8 - -[TACOS] -peggy_denom = inj1ac9d646xzyam5pd2yx4ekgfjhc65564533fl2m +[boden] +peggy_denom = factory/inj1c0f9ze9wh2xket0zs6wy59v66alwratsdx648k/boden decimals = 6 -[TAJIK] -peggy_denom = factory/inj1dvlqazkar9jdy8x02j5k2tftwjnp7c53sgfavp/TAJIK +[boneWHALEt] +peggy_denom = ibc/F993B2C44A70D8B97B09581F12CF1A68A38DF8BBCFBA9F82016984138C718A57 decimals = 6 -[TAKUMI] -peggy_denom = ibc/ADE961D980CB5F2D49527E028774DE42BFD3D78F4CBBD4B8BA54890E60606DBD -decimals = 6 +[bonja the bad ninja] +peggy_denom = inj155fauc0h355fk5t9qa2x2uzq7vlt26sv0u08fp +decimals = 18 -[TALIS] -peggy_denom = factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/TALIS +[bonkinu] +peggy_denom = factory/inj1936pplnstvecjgttz9eug83x2cs7xs2emdad4z/bonkinu decimals = 6 -[TANSHA] -peggy_denom = factory/inj1qw7egul6sr0yjpxfqq5qars2qvxucgp2sartet/tansha +[bonkmas] +peggy_denom = factory/inj17a0fp4rguzgf9mwz90y2chc3lr445nujdwc063/bonkmas decimals = 6 -[TATAS] -peggy_denom = factory/inj10pz3xq7zf8xudqxaqealgyrnfk66u3c99ud5m2/tatas +[bozo] +peggy_denom = inj14r42t23gx9yredm37q3wjw3vx0q6du85vuugdr +decimals = 18 + +[brian] +peggy_denom = factory/inj1pgkwcngxel97d9qjvg75upe8y3lvvzncq5tdr0/brian decimals = 6 -[TC] -peggy_denom = factory/inj1ureedhqkm8tv2v60de54xzgqgu9u25xkuw8ecs/tyler +[burn] +peggy_denom = inj1p6h58futtvzw5gdjs30fqv4l9ljq8aepk3e0k5 +decimals = 18 + +[candy] +peggy_denom = inj1wyagfdn65kp5a2x03g9n5fllr02h4nyy5aunjy +decimals = 18 + +[cartel] +peggy_denom = ibc/FDD71937DFA4E18BBF16734EB0AD0EFA9F7F1B0F21D13FAF63F0B4F3EA7DEF28 decimals = 6 -[TENSOR] -peggy_denom = inj1py9r5ghr2rx92c0hyn75pjl7ung4euqdm8tvn5 +[cat] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/cat decimals = 6 -[TERRAFORMS] -peggy_denom = inj19rev0qmuz3eccvkluz8sptm6e9693jduexrc4v -decimals = 8 +[cbETH] +peggy_denom = ibc/545E97C6EFB2633645720DEBCA78B2BE6F5382C4693EA7DEB2D4C456371EA4F0 +decimals = 18 -[TERT] -peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/tert +[ccsl] +peggy_denom = inj1mpande8tekavagemc998amgkqr5yte0qdvaaah +decimals = 18 + +[cdj] +peggy_denom = inj1qwx2gx7ydumz2wt43phzkrqsauqghvct48pplw +decimals = 18 + +[chad] +peggy_denom = factory/inj182lgxnfnztjalxqxcjn7jal27w7xg28aeygwd9/chad decimals = 6 -[TEST] -peggy_denom = ibc/A83851234A83F3FE51CDB44FF1A4435472A197C096EF9E7312B69E67C16B7FB7 +[coke] +peggy_denom = factory/inj1cdlqynzr2ktn54l3azhlulzkyksuw8yj3mfadx/coke decimals = 6 -[TEST13] -peggy_denom = factory/inj1mux0he68umjpcy8ltefeuxm9ha2ww3689rv2g4/TEST13 +[cook] +peggy_denom = factory/inj1cadquzdmqe04hyjfyag3d9me9vxh9t6py383sy/cook decimals = 6 -[TESTI] -peggy_denom = inj1mzcamv0w3q797x4sj4ny05hfpgacm90a2d2xqp +[cookie] +peggy_denom = factory/inj1cadquzdmqe04hyjfyag3d9me9vxh9t6py383sy/cookie +decimals = 6 + +[crypto] +peggy_denom = inj19w5ntlx023v9rnecjuy7yem7s5lrg5gxlfrxfj decimals = 18 -[TF] -peggy_denom = factory/inj1pjcmuxd2ek7mvx4gnv6quyn6c6rjxwcrs4h5y4/truffle -decimals = 6 +[cw20:terra1nsuqsk6kh58ulczatwev87ttq2z6r3pusulg9r24mfj2fvtzd4uq3exn26] +peggy_denom = ibc/1966FE142949F3878ED8438FBDDE8620F4E0584D6605D2201E53388CF4CEAF41 +decimals = 0 -[THE10] -peggy_denom = factory/inj18u2790weecgqkmcyh2sg9uupz538kwgmmcmtps/THE10 -decimals = 6 +[dINJ] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj134wfjutywny9qnyux2xgdmm0hfj7mwpl39r3r9 +decimals = 18 + +[dYdX] +peggy_denom = peggy0x92D6C1e31e14520e676a687F0a93788B716BEff5 +decimals = 18 -[THREE] -peggy_denom = inj1qqfhg6l8d7punj4z597t0p3wwwxdcpfew4fz7a +[dab] +peggy_denom = inj1a93l8989wmjupyq4ftnu06836n2jjn7hjee68d decimals = 18 -[THUG] -peggy_denom = factory/inj108qcx6eu6l6adl6kxm0qpyshlmzf3w9mnq5vav/THUGLIFE -decimals = 6 +[dada] +peggy_denom = inj1yqwjse85pqmum5pkyxz9x4aqdz8etwhervtv66 +decimals = 18 -[THUNDER] -peggy_denom = inj1gacpupgyt74farecd9pv20emdv6vpkpkhft59y +[dalton] +peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/dalton decimals = 6 -[TIA] -peggy_denom = ibc/F51BB221BAA275F2EBF654F70B005627D7E713AFFD6D86AFD1E43CAA886149F4 -decimals = 6 +[devUSDC] +peggy_denom = inj13mpkggs6t62kzt6pjd6guqfy6naljpp2jd3eue +decimals = 8 -[TIK] -peggy_denom = inj1xetmk66rv8nhjur9s8t8szkdff0xwks8e4vym3 -decimals = 6 +[dmo] +peggy_denom = inj10uwj0vx6d42p67z8jl75eh4tgxrgm3mp4mqwq3 +decimals = 18 -[TINJER] -peggy_denom = factory/inj1srha80fxkk40gzymgrgt3m3ya0u8ms3z022f70/tinjer -decimals = 6 +[dmoone] +peggy_denom = inj12qlppehc4fsfduv46gmtgu5n38ngl6annnr4r4 +decimals = 18 -[TITAN] -peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/titan -decimals = 6 +[dmotree] +peggy_denom = inj15x7u49kw47krzlhrrj9mr5gq20d3797kv3fh3y +decimals = 18 -[TJCLUB] -peggy_denom = factory/inj12lhhu0hpszdq5wmt630wcspdxyewz3x2m04khh/TJCLUB -decimals = 6 +[dmotwo] +peggy_denom = inj1tegs6sre80hhvyj204x5pu52e5p3p9pl9vy4ue +decimals = 18 -[TKN] -peggy_denom = factory/inj1f4sglhz3ss74fell9ecvqrj2qvlt6wmk3ctd3f/TKN -decimals = 6 +[dogwifhat] +peggy_denom = inj1802ascnwzdhvv84url475eyx26ptuc6jc590nl +decimals = 8 -[TMB] -peggy_denom = factory/inj1dg4n304450kswa7hdj8tqq3p28f5kkye2fxey3/TMB +[dogwifshoess] +peggy_denom = factory/inj10edtfelcttj3s98f755ntfplt0da5xv4z8z0lf/dogwifshoess decimals = 6 -[TMNT] -peggy_denom = inj1yt6erfe7a55es7gnwhta94g08zq9qrsjw25eq5 +[dojo] +peggy_denom = inj1p0ccaveldsv7hq4s53378und5ke9jz24rtsr9z decimals = 18 -[TOKYO] -peggy_denom = inj1k8ad5x6auhzr9tu3drq6ahh5dtu5989utxeu89 +[dojodoge] +peggy_denom = inj1nueaw6mc7t7703t65f7xamj63zwaew3dqx90sn decimals = 18 -[TOM] -peggy_denom = factory/inj1k9tqa6al637y8qu9yvmsw3ke6r3knsn8ewv73f/TOM +[dojodojo] +peggy_denom = inj1ht0qh7csdl3txk6htnalf8qpz26xzuq78x7h87 decimals = 18 -[TOMO] -peggy_denom = inj1d08rut8e0u2e0rlf3pynaplas6q0akj5p976kv -decimals = 8 +[dojoinu] +peggy_denom = inj14hszr5wnhshu4zre6e4l5ae2el9v2420eypu6k +decimals = 18 -[TONKURU] -peggy_denom = factory/inj1krswly444gyuunnmchg4uz2ekqvu02k7903skh/tonkuru +[dojoswap] +peggy_denom = inj1tml6e474rxgc0gc5pd8ljmheqep5wrqrm9m9ks decimals = 6 -[TORO] -peggy_denom = ibc/37DF4CCD7D156B9A8BF3636CD7E073BADBFD54E7C7D5B42B34C116E33DB0FE81 +[done] +peggy_denom = factory/inj12yazr8lq5ptlz2qj9y36v8zwmz90gy9gh35026/done decimals = 6 -[TOTS] -peggy_denom = factory/inj1u09lh0p69n7salm6l8ufytfsm0p40pnlxgpcz5/TOTS +[dontbuy] +peggy_denom = factory/inj1vg2vj46d3cy54l63qkjprtcnel2svkjhgwkfhy/dontbuy +decimals = 10 + +[dsINJ] +peggy_denom = inj1nfsxxz3q59f0yyqsjjnr7ze020klxyfefy6wcg decimals = 6 -[TRASH] -peggy_denom = inj1re43j2d6jxlk4m5sn9lc5qdc0rwkz64c8gqk5x -decimals = 18 +[dtwo] +peggy_denom = factory/inj12yazr8lq5ptlz2qj9y36v8zwmz90gy9gh35026/dtwo +decimals = 12 -[TREN] -peggy_denom = inj14y8f4jc0qmmwzcyj9k7dxnlq6tgjq9ql6n2kdn +[enuk] +peggy_denom = inj1x0km562rxugpvxq8nucy7pdmefguv6xxumng27 decimals = 18 -[TRG] -peggy_denom = inj1scn6ssfehuw735llele39kk7w6ylg4auw3epjp -decimals = 8 +[erc20/0x655ecB57432CC1370f65e5dc2309588b71b473A9] +peggy_denom = ibc/9A7A2B6433CFA1CA5D93AF75D568D614456EA4FEBC39F0BE1BE9ECBD420FB36F +decimals = 0 -[TRH] -peggy_denom = inj1dxtnr2cmqaaq0h5sgnhdftjhh5t6dmsu37x40q -decimals = 18 +[erc20/tether/usdt] +peggy_denom = ibc/9D592A0F3E812505C6B3F7860458B7AC4DBDECACC04A2602FC13ED0AB6C762B6 +decimals = 0 -[TRIPPY] -peggy_denom = inj1puwde6qxl5v96f5sw0dmql4r3a0e9wvxp3w805 +[estamina] +peggy_denom = inj1sklu3me2d8e2e0k6eu83t4pzcnleczal7d2zra decimals = 18 -[TRR] -peggy_denom = inj1cqwslhvaaferrf3c933efmddfsvakdhzaaex5h +[estate] +peggy_denom = inj16mx8h5updpwkslymehlm0wq84sckaytru0apvx decimals = 18 -[TRUCPI] -peggy_denom = trucpi +[ezETH] +peggy_denom = peggy0xbf5495Efe5DB9ce00f80364C8B423567e58d2110 decimals = 18 -[TRUFFLE] -peggy_denom = factory/inj1e5va7kntnq245j57hfe78tqhnd763ekrtu9fez/TRUFFLE -decimals = 6 - -[TRUMP] -peggy_denom = inj19l7z2pezzt0xn52w647zxrffyrqag02ft88grm -decimals = 18 +[fUSDT] +peggy_denom = peggy0x81994b9607e06ab3d5cF3AffF9a67374f05F27d7 +decimals = 8 -[TRX] -peggy_denom = inj17ssa7q9nnv5e5p6c4ezzxj02yjhmvv5jmg6adq -decimals = 6 +[factory/chihuahua1x4q2vkrz4dfgd9hcw0p5m2f2nuv2uqmt9xr8k2/achihuahuawifhat] +peggy_denom = ibc/F8AB96FFB2BF8F69AA42481D43B24E9121FF7403A4E95673D9135128CA769577 +decimals = 0 -[TRY] -peggy_denom = inj10dqyn46ljqwzx4947zc3dska84hpnwc7r6rzzs -decimals = 18 +[factory/inj102jhts2dfqh80nygmzx8hzxl9nm282vnstf5w6/position] +peggy_denom = factory/inj102jhts2dfqh80nygmzx8hzxl9nm282vnstf5w6/position +decimals = 0 -[TRY2] -peggy_denom = factory/inj1jpddz58n2ugstuhp238qwwvdf3shxsxy5g6jkn/TRY2 +[factory/inj1043hsv3ug5z9updx32a0a3rae87w6fzlzhcjm4/INJ] +peggy_denom = factory/inj1043hsv3ug5z9updx32a0a3rae87w6fzlzhcjm4/INJ decimals = 6 -[TSNG] -peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/tsng +[factory/inj105ujajd95znwjvcy3hwcz80pgy8tc6v77spur0/LILKRYSTAL] +peggy_denom = factory/inj105ujajd95znwjvcy3hwcz80pgy8tc6v77spur0/LILKRYSTAL decimals = 6 -[TST] -peggy_denom = factory/inj1cq5ygzlgh6l2pll2thtx82rhde2v7cpxlqfz93/TST -decimals = 6 +[factory/inj106etgay573e32ksysc9dpdrynxhk7kkmaclhfc/stark] +peggy_denom = ibc/81B0CF8BB06F95247E3680844D0CB3889ACB2662B3AE2458C2370985BF4BD00B +decimals = 0 -[TSTI] -peggy_denom = factory/inj1lvlvg3mkc3txakeyrqfzemkc7muvm9656mf2az/TSTI +[factory/inj107grqcr0ugrx8jt8rdyru2ywmfngz5lrermw8q/INJ] +peggy_denom = factory/inj107grqcr0ugrx8jt8rdyru2ywmfngz5lrermw8q/INJ decimals = 6 -[TSTT] -peggy_denom = inj19p5am8kye6r7xu3xy9crzh4dj7uhqvpw3n3mny -decimals = 18 - -[TSUNADE] -peggy_denom = inj1vwzqtjcwv2wt5pcajvlhmaeejwme57q52mhjy3 -decimals = 18 - -[TTNY] -peggy_denom = inj10c0ufysjj52pe7m9a3ncymzf98sysl3nr730r5 -decimals = 18 +[factory/inj107zjs4j5p92pl78kwfulh8ea7nqhlq8fj6s6fr/INJ] +peggy_denom = factory/inj107zjs4j5p92pl78kwfulh8ea7nqhlq8fj6s6fr/INJ +decimals = 6 -[TTS] -peggy_denom = factory/inj1en4mpfud040ykmlneentdf77ksa3usjcgw9hax/TTS +[factory/inj10cplvlvpnkd9ch5cfw7gn9ed9vhlkzg0y73w8y/INJ] +peggy_denom = factory/inj10cplvlvpnkd9ch5cfw7gn9ed9vhlkzg0y73w8y/INJ decimals = 6 -[TURBO] -peggy_denom = factory/inj1hhmra48t7xwz4snc7ttn6eu5nvmgzu0lwalmwk/TURBO +[factory/inj10pz3xq7zf8xudqxaqealgyrnfk66u3c99ud5m2/ROAR] +peggy_denom = factory/inj10pz3xq7zf8xudqxaqealgyrnfk66u3c99ud5m2/ROAR +decimals = 0 + +[factory/inj10t3rc9u6hpvwm3kq8fx648z5elv2use4mtc8cv/INJ] +peggy_denom = factory/inj10t3rc9u6hpvwm3kq8fx648z5elv2use4mtc8cv/INJ decimals = 6 -[TURBOTOAD] -peggy_denom = factory/inj1nmc5namhwszx0yartvjm6evsxrj0ctq2qa30l7/TURBOTOAD +[factory/inj10w0glw8d30weulv3pu6r7mx6vmflxyck27fqkd/INJ] +peggy_denom = factory/inj10w0glw8d30weulv3pu6r7mx6vmflxyck27fqkd/INJ decimals = 6 -[TURD] -peggy_denom = ibc/3CF3E1A31015028265DADCA63920C320E4ECDEC2F77D2B4A0FD7DD2E460B9EF3 +[factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/BLACK] +peggy_denom = factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/BLACK decimals = 6 -[TURTLE] -peggy_denom = factory/inj1nshrauly795k2h97l98gy8zx6gl63ak2489q0u/TURTLE -decimals = 8 +[factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/EA] +peggy_denom = factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/EA +decimals = 0 -[TURTLENINJ] -peggy_denom = factory/inj1lv9v2z2zvvng6v9qm8eh02t2mre6f8q6ez5jxl/turtleninj +[factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/PUG] +peggy_denom = factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/PUG decimals = 6 -[TWO] -peggy_denom = inj19fza325yjfnx9zxvtvawn0rrjwl73g4nkzmm2w -decimals = 18 +[factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/TALIS] +peggy_denom = factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/TALIS +decimals = 6 -[Talis NFT] -peggy_denom = inj155kuqqlmdz7ft2jas4fc23pvtsecce8xps47w5 -decimals = 8 +[factory/inj1255swku4m04m533wmkmtmvhnh77zrk83dqgwfr/position] +peggy_denom = factory/inj1255swku4m04m533wmkmtmvhnh77zrk83dqgwfr/position +decimals = 0 -[Terra] -peggy_denom = peggy0xd2877702675e6cEb975b4A1dFf9fb7BAF4C91ea9 +[factory/inj125anxwhzcsqksvthce0xhktqhn4x406vfgxasx/INJ] +peggy_denom = factory/inj125anxwhzcsqksvthce0xhktqhn4x406vfgxasx/INJ decimals = 6 -[TerraUSD] -peggy_denom = peggy0xa47c8bf37f92aBed4A126BDA807A7b7498661acD -decimals = 18 +[factory/inj12dgml8gwd2v88yn0kfcs6mtkmvlu32llekfzzv/position] +peggy_denom = factory/inj12dgml8gwd2v88yn0kfcs6mtkmvlu32llekfzzv/position +decimals = 0 -[Test] -peggy_denom = inj1xnk5ca6u4hl9rfm2qretz6p5wjt3yptvng2jvd -decimals = 18 +[factory/inj12vhmdjtvyxzr0vmg5znxvhw7dsakjuj7adz5a4/INJ] +peggy_denom = factory/inj12vhmdjtvyxzr0vmg5znxvhw7dsakjuj7adz5a4/INJ +decimals = 6 -[Test QAT] -peggy_denom = peggy0x1902e18fEB1234D00d880f1fACA5C8d74e8501E9 -decimals = 18 +[factory/inj12wkmu2y4vp0hg69k36pkve6rgczwga0yzff7ha/position] +peggy_denom = factory/inj12wkmu2y4vp0hg69k36pkve6rgczwga0yzff7ha/position +decimals = 0 -[Test Token] -peggy_denom = inj1a6qdxdanekzgq6dluymlk7n7khg3dqq9lua9q9 -decimals = 18 +[factory/inj12ytu4vvxmsclxuqm9w0g2jazllvztlvdxjdvvg/INJ] +peggy_denom = factory/inj12ytu4vvxmsclxuqm9w0g2jazllvztlvdxjdvvg/INJ +decimals = 6 -[Test coin don't buy] -peggy_denom = inj19xpgme02uxc55hgplg4vkm4vw0n7p6xl4ksqcz -decimals = 18 +[factory/inj133np9gr58athpjgv3d9cuzmaed84gnm95sp97h/LowQ] +peggy_denom = factory/inj133np9gr58athpjgv3d9cuzmaed84gnm95sp97h/LowQ +decimals = 6 -[TestOne] -peggy_denom = inj1f8fsu2xl97c6yss7s3vgmvnjau2qdlk3vq3fg2 -decimals = 18 +[factory/inj138fs6ctxd0vwsn7xmw0v29a2jxe3s7uhgn405w/position] +peggy_denom = factory/inj138fs6ctxd0vwsn7xmw0v29a2jxe3s7uhgn405w/position +decimals = 0 -[TestThree] -peggy_denom = inj14e3anyw3r9dx4wchnkcg8nlzps73x86cze3nq6 -decimals = 18 +[factory/inj13gc95nsrtv3da5x6ujmktekaljwhj5npl2nszl/ELON] +peggy_denom = factory/inj13gc95nsrtv3da5x6ujmktekaljwhj5npl2nszl/ELON +decimals = 6 -[TestTwo] -peggy_denom = inj1krcpgdu3a83pdtnus70qlalrxken0h4y52lfhg -decimals = 18 +[factory/inj13jjz8nlt7wjpt5m2semml2ytdjkfrltnjtphsv/position] +peggy_denom = factory/inj13jjz8nlt7wjpt5m2semml2ytdjkfrltnjtphsv/position +decimals = 0 -[TestingToken] -peggy_denom = inj1j5y95qltlyyjayjpyupgy7e5y7kkmvjgph888r -decimals = 18 +[factory/inj13qr6jk3y20ulaj3mvjzn2rnxx9y8d8nl7ahxpg/position] +peggy_denom = factory/inj13qr6jk3y20ulaj3mvjzn2rnxx9y8d8nl7ahxpg/position +decimals = 0 -[Tether] -peggy_denom = inj13yrhllhe40sd3nj0lde9azlwfkyrf2t9r78dx5 +[factory/inj13vau2mgx6mg7ams9nngjhyng58tl9zyw0n8s93/BABYKIRA] +peggy_denom = factory/inj13vau2mgx6mg7ams9nngjhyng58tl9zyw0n8s93/BABYKIRA decimals = 6 -[Tether USD (Wormhole)] -peggy_denom = ibc/3384DCE14A72BBD0A47107C19A30EDD5FD1AC50909C632CB807680DBC798BB30 -decimals = 6 +[factory/inj13xdqhnegnj37fna95nyjtj68cyk4exut9mp9am/position] +peggy_denom = factory/inj13xdqhnegnj37fna95nyjtj68cyk4exut9mp9am/position +decimals = 0 -[The Mask] -peggy_denom = factory/inj1wgzj93vs2rdfff0jrhp6t7xfzsjpsay9g7un3l/mask +[factory/inj13xwndajdxqz2jjg05caycedjdj099vy2mzdha2/INJ] +peggy_denom = factory/inj13xwndajdxqz2jjg05caycedjdj099vy2mzdha2/INJ decimals = 6 -[TheJanitor] -peggy_denom = factory/inj1w7cw5tltax6dx7znehul98gel6yutwuvh44j77/TheJanitor +[factory/inj140z6rk5x40rn842c648yvgl9zp7q206gyvj3w4/INJ] +peggy_denom = factory/inj140z6rk5x40rn842c648yvgl9zp7q206gyvj3w4/INJ decimals = 6 -[TrempBoden] -peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/trempboden +[factory/inj144javr53kzz7qedyynwrpa83tnykw9lrzzxsr9/position] +peggy_denom = factory/inj144javr53kzz7qedyynwrpa83tnykw9lrzzxsr9/position +decimals = 0 + +[factory/inj1499ez5npathr0zkphz2yq6npdfc6xvg3d4zynj/ISILLY] +peggy_denom = factory/inj1499ez5npathr0zkphz2yq6npdfc6xvg3d4zynj/ISILLY decimals = 6 -[Trump] -peggy_denom = inj1neclyywnhlhe4me0g2tky9fznjnun2n9maxuhx +[factory/inj14czx0fv80fnkfxtj9zn9wg7thdca8ynlu6vrg8/INJ] +peggy_denom = factory/inj14czx0fv80fnkfxtj9zn9wg7thdca8ynlu6vrg8/INJ decimals = 6 -[Trump Ninja] -peggy_denom = inj1dj0u7mqn3z8vxz6muwudhpl95sajmy00w7t6gq -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj100cpphf3gjq4xwzaun8dm22h6zk6tjlzl57uhe] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj100cpphf3gjq4xwzaun8dm22h6zk6tjlzl57uhe +decimals = 0 -[TryCW] -peggy_denom = inj15res2a5r94y8s33lc7c5czcswx76pygjk827t0 -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj109hqm6wdaq2f6nlvrf46f4gj7rwl55nmhmcslp] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj109hqm6wdaq2f6nlvrf46f4gj7rwl55nmhmcslp +decimals = 0 -[Tsu Grenade] -peggy_denom = inj1zgxh52u45qy3xxrq72ypdajhhjftj0hu5x4eea -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10dctm5qkm722pgazwq0wy9lxnzh8mlnnv9mr65] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10dctm5qkm722pgazwq0wy9lxnzh8mlnnv9mr65 +decimals = 0 -[TunaSniper] -peggy_denom = inj1ypa69pvev7rlv8d2rdxkaxn23tk7rx5vgnxaam -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10hyl7t5zxrs83thk33yk90lue34lttf9wuccf8] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10hyl7t5zxrs83thk33yk90lue34lttf9wuccf8 +decimals = 0 -[UIA] -peggy_denom = inj1h6avzdsgkfvymg3sq5utgpq2aqg4pdee7ep77t -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10nfzrxq5jl9v3ymyuna49jhhxe3x4yd2sxxs8p] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10nfzrxq5jl9v3ymyuna49jhhxe3x4yd2sxxs8p +decimals = 0 -[UICIDE] -peggy_denom = factory/inj158g7dfclyg9rr6u4ddxg9d2afwevq5d79g2tm6/UICIDE -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10x6rq57rhc7ekce0jgzcjl3ywplcjh66ufqanv] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10x6rq57rhc7ekce0jgzcjl3ywplcjh66ufqanv +decimals = 0 -[UMA] -peggy_denom = peggy0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828 -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj12sl2vnrja04juaan5rt3pn4h3lwa6d9348yh6h] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj12sl2vnrja04juaan5rt3pn4h3lwa6d9348yh6h +decimals = 0 -[UMEE] -peggy_denom = ibc/221E9E20795E6E250532A6A871E7F6310FCEDFC69B681037BBA6561270360D86 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13844sjp45gta5hshs0avptawnptz23gfdjy8eg] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13844sjp45gta5hshs0avptawnptz23gfdjy8eg +decimals = 0 -[UNI] -peggy_denom = factory/inj14epxlhe56lhk5s3nc8wzmetwh6rpehuufe89ak/UNI -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13j6rdjsakqt6ymv48ytfkr563k7h9mc9h9lh5s] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13j6rdjsakqt6ymv48ytfkr563k7h9mc9h9lh5s +decimals = 0 -[UP10X] -peggy_denom = inj1zeu70usj0gtgqapy2srsp7pstf9r82ckqk45hs -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13qqk8lgn6x68r34c9w938vxwmxm5pl72kzjufq] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13qqk8lgn6x68r34c9w938vxwmxm5pl72kzjufq +decimals = 0 -[UPGRADE] -peggy_denom = inj1f32xp69g4qf7t8tnvkgnmhh70gzy43nznkkk7f -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13tqf9a4tssf8gsqejecp90a03nvfpa2h29sc6y] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13tqf9a4tssf8gsqejecp90a03nvfpa2h29sc6y +decimals = 0 -[UPHOTON] -peggy_denom = ibc/48BC9C6ACBDFC1EBA034F1859245D53EA4BF74147189D66F27C23BF966335DFB -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13w3fqm6zn068slf6mh4jvf7lxva4qdchrlws9u] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13w3fqm6zn068slf6mh4jvf7lxva4qdchrlws9u +decimals = 0 -[UPTENX] -peggy_denom = inj10jgxzcqdf6phdmettetd8m92gxucxz5rpp9kwu -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj147ymh390v733ty3l0t7yv0w3vllnky5vr78xeh] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj147ymh390v733ty3l0t7yv0w3vllnky5vr78xeh +decimals = 0 -[URO] -peggy_denom = factory/inj1t8wuan5zxp58uwtn6j50kx4tjv25argx6lucwy/URO -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1494q6d3un6rpew6znydq0a0l5edw80gptj3p27] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1494q6d3un6rpew6znydq0a0l5edw80gptj3p27 +decimals = 0 -[USC] -peggy_denom = ibc/5307C5A7B88337FE81565E210CDB5C50FBD6DCCF2D90D524A7E9D1FE00C40139 -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14fjgyt69ayhlz9gtgrutqdqyaf50wfxs7xx89e] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14fjgyt69ayhlz9gtgrutqdqyaf50wfxs7xx89e +decimals = 0 -[USD] -peggy_denom = ibc/7474CABFDF3CF58A227C19B2CEDE34315A68212C863E367FC69928ABA344024C -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14n26cr7dj79smrgg44hfylhph9y45h4yx5gvzm] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14n26cr7dj79smrgg44hfylhph9y45h4yx5gvzm +decimals = 0 -[USD Coin] -peggy_denom = inj12pwnhtv7yat2s30xuf4gdk9qm85v4j3e60dgvu -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14r3dv360jptv4wugpcca4h5ychltfn8j738l6k] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14r3dv360jptv4wugpcca4h5ychltfn8j738l6k +decimals = 0 -[USD Coin (BEP-20)] -peggy_denom = ibc/5FF8FE2FDCD9E28C0608B17FA177A918DFAF7218FA18E5A2C688F34D86EF2407 -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14txwtn7rkt999kek39qlxwcm2fwfqzpfyrxcvq] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14txwtn7rkt999kek39qlxwcm2fwfqzpfyrxcvq +decimals = 0 -[USD Coin (legacy)] -peggy_denom = inj1q6zlut7gtkzknkk773jecujwsdkgq882akqksk -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1557zqvn2lwg3lvl3cfk3kurd6d2gq9klypg83g] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1557zqvn2lwg3lvl3cfk3kurd6d2gq9klypg83g +decimals = 0 -[USD Coin from Avalanche] -peggy_denom = ibc/705E7E25F94467E363B2EB324A5A6FF4C683A4A6D20AAD2AEEABA2D9EB1B897F -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj15f3xcpv3m9wgycmgc62gn3av9k7a9lydnkcrdr] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj15f3xcpv3m9wgycmgc62gn3av9k7a9lydnkcrdr +decimals = 0 -[USD Coin from Polygon] -peggy_denom = ibc/2E93E8914CA07B73A794657DA76170A016057D1C6B0DC42D969918D4F22D95A3 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj15hgev8qm20mhttw6xrjts37puqm068dfupj5m2] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj15hgev8qm20mhttw6xrjts37puqm068dfupj5m2 +decimals = 0 -[USD Con] -peggy_denom = peggy0xB855dBC314C39BFa2583567E02a40CBB246CF82B -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj15xk5d4d3we8z9s9avcqfns2xsrqq9u5mgaw6q6] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj15xk5d4d3we8z9s9avcqfns2xsrqq9u5mgaw6q6 +decimals = 0 -[USDC] -peggy_denom = ibc/DF32F083238097AD2CA5444BFB8F338534C32865EFE0696C5AF89AFB3A0144D6 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1623vfn9glj9wtd34yv3ck5z3adp673ad2ssuh2] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1623vfn9glj9wtd34yv3ck5z3adp673ad2ssuh2 +decimals = 0 -[USDC-MPL] -peggy_denom = peggy0xf875aef00C4E21E9Ab4A335eB36A1175Ab00424A -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj164j450vfh7chdsxdqna3925sdqg9xry38fxf4w] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj164j450vfh7chdsxdqna3925sdqg9xry38fxf4w +decimals = 0 -[USDCarb] -peggy_denom = inj1lmcfftadjkt4gt3lcvmz6qn4dhx59dv2m7yv8r -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj16eggztyy9ul8hfkckwgjvj43naefhazt04ruzl] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj16eggztyy9ul8hfkckwgjvj43naefhazt04ruzl +decimals = 0 -[USDCbsc] -peggy_denom = inj1dngqzz6wphf07fkdam7dn55t8t3r6qenewy9zu -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj174whv2m9y92vawm0rnte3czu3g4anr56eacqpc] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj174whv2m9y92vawm0rnte3czu3g4anr56eacqpc +decimals = 0 -[USDCet] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q6zlut7gtkzknkk773jecujwsdkgq882akqksk -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17e3zurs95u5rqp7amj4hz9sk43hu5n6f06n5g8] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17e3zurs95u5rqp7amj4hz9sk43hu5n6f06n5g8 +decimals = 0 -[USDCgateway] -peggy_denom = ibc/7BE71BB68C781453F6BB10114F8E2DF8DC37BA791C502F5389EA10E7BEA68323 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17g3sn33ld59n2uyevp833u4pwynvfw7chfcxq6] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17g3sn33ld59n2uyevp833u4pwynvfw7chfcxq6 +decimals = 0 -[USDClegacy] -peggy_denom = peggy0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17gvlu9v8h0kk06aqf66u9zk235824ksknugpqm] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17gvlu9v8h0kk06aqf66u9zk235824ksknugpqm +decimals = 0 -[USDCpoly] -peggy_denom = inj19s2r64ghfqq3py7f5dr0ynk8yj0nmngca3yvy3 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17m8xuqntg5sc3m78jzajte5r4my4erwhujq3uh] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17m8xuqntg5sc3m78jzajte5r4my4erwhujq3uh +decimals = 0 -[USDCso] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj12pwnhtv7yat2s30xuf4gdk9qm85v4j3e60dgvu -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17pda96ujt7fzr3d5jmfkh4dzvrqzc0nk56kt34] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17pda96ujt7fzr3d5jmfkh4dzvrqzc0nk56kt34 +decimals = 0 -[USDLR] -peggy_denom = ibc/E15121C1541741E0A7BA2B96B30864C1B1052F1AD8189D81E6C97939B415D12E -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj180zwmntk4yw8mp90qzedvgg63lc8g9ju4f79pn] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj180zwmntk4yw8mp90qzedvgg63lc8g9ju4f79pn +decimals = 0 -[USDT] -peggy_denom = ibc/7965483148018AFAA12DC569959897E7A5E474F4B41A87FFC5513B552C108DB5 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj185gqewrlde8vrqw7j8lpad67v8jfrx9u28w38t] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj185gqewrlde8vrqw7j8lpad67v8jfrx9u28w38t +decimals = 0 -[USDT.axl] -peggy_denom = ibc/90C6F06139D663CFD7949223D257C5B5D241E72ED61EBD12FFDDA6F068715E47 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj188yjwj0gpnd39ysgas0f95pngdacwma2jmm8ne] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj188yjwj0gpnd39ysgas0f95pngdacwma2jmm8ne +decimals = 0 -[USDT.multi] -peggy_denom = ibc/24E5D0825D3D71BF00C4A01CD8CA8F2D27B1DD32B7446CF633534AEA25379271 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18cd8sht8pksj07z8k36rwytn6gyg3kku8x6xgq] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18cd8sht8pksj07z8k36rwytn6gyg3kku8x6xgq +decimals = 0 -[USDTap] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13yrhllhe40sd3nj0lde9azlwfkyrf2t9r78dx5 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18dc3m7xtxa6wx0auycyfrq239atvzwe9g2s0nt] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18dc3m7xtxa6wx0auycyfrq239atvzwe9g2s0nt +decimals = 0 -[USDTbsc] -peggy_denom = inj1l9eyrnv3ret8da3qh8j5aytp6q4f73crd505lj -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18ms5jl7dtdjzsj0gwceqnc46apdfym7xpjqyes] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18ms5jl7dtdjzsj0gwceqnc46apdfym7xpjqyes +decimals = 0 -[USDTet] -peggy_denom = inj18zykysxw9pcvtyr9ylhe0p5s7yzf6pzdagune8 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18x46txl47l8gtcrl05a7xynhjx6w0xgtmnng7s] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18x46txl47l8gtcrl05a7xynhjx6w0xgtmnng7s +decimals = 0 -[USDTkv] -peggy_denom = ibc/4ABBEF4C8926DDDB320AE5188CFD63267ABBCEFC0583E4AE05D6E5AA2401DDAB -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj19f6ww9peaa3tjhjynjcsxms9v4mcpqrpdxz76l] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj19f6ww9peaa3tjhjynjcsxms9v4mcpqrpdxz76l +decimals = 0 -[USDTso] -peggy_denom = inj1qjn06jt7zjhdqxgud07nylkpgnaurq6xc5c4fd -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj19t6urf7j7t85xa8yf5h85323j5zmvpg030dr6w] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj19t6urf7j7t85xa8yf5h85323j5zmvpg030dr6w +decimals = 0 -[USDX] -peggy_denom = ibc/C78F65E1648A3DFE0BAEB6C4CDA69CC2A75437F1793C0E6386DFDA26393790AE -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a36gng2z5p7m3ecx528zx09eclg5hsmnhrjaun] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a36gng2z5p7m3ecx528zx09eclg5hsmnhrjaun +decimals = 0 -[USDY] -peggy_denom = ibc/93EAE5F9D6C14BFAC8DD1AFDBE95501055A7B22C5D8FA8C986C31D6EFADCA8A9 -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a52nehymq2m779j7zy6ra4eus70y6dnahfs4a5] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a52nehymq2m779j7zy6ra4eus70y6dnahfs4a5 +decimals = 0 -[USDYet] -peggy_denom = peggy0x96F6eF951840721AdBF46Ac996b59E0235CB985C -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a7wd7ks949wxzcw69n6md60c0qhykk93w0r8g6] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a7wd7ks949wxzcw69n6md60c0qhykk93w0r8g6 +decimals = 0 -[USDe] -peggy_denom = peggy0x4c9EDD5852cd905f086C759E8383e09bff1E68B3 -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a8mlar2l3r25uaxdgk0zxyapq7h0435264h8jk] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a8mlar2l3r25uaxdgk0zxyapq7h0435264h8jk +decimals = 0 -[USDi] -peggy_denom = peggy0x83E7D0451da91Ac509cd7F545Fb4AA04D4dD3BA8 -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1c43k77927yryd8wkzupnppen83alqkm5myt6we] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1c43k77927yryd8wkzupnppen83alqkm5myt6we +decimals = 0 -[USK] -peggy_denom = ibc/58BC643F2EB5758C08D8B1569C7948A5DA796802576005F676BBFB7526E520EB -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ceq66p5aahn6txg5fvyg4mhy2vfq00cuk75y9r] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ceq66p5aahn6txg5fvyg4mhy2vfq00cuk75y9r +decimals = 0 -[UST] -peggy_denom = ibc/B448C0CA358B958301D328CCDC5D5AD642FC30A6D3AE106FF721DB315F3DDE5C -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ch7unkwz0v99ynz98v5p0xae4gg0yxnjw6meg7] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ch7unkwz0v99ynz98v5p0xae4gg0yxnjw6meg7 +decimals = 0 -[UTK] -peggy_denom = peggy0xdc9Ac3C20D1ed0B540dF9b1feDC10039Df13F99c -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1clr2v2jwx8umtd4t3ent5la6q2ngsureenjqtg] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1clr2v2jwx8umtd4t3ent5la6q2ngsureenjqtg +decimals = 0 -[Ulp] -peggy_denom = inj1ynqtgucs3z20n80c0zammyqd7skfgc7kyanc2j -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ctr4vujpjvmqxxkqym9zgm76p4uf0hyklvdp25] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ctr4vujpjvmqxxkqym9zgm76p4uf0hyklvdp25 +decimals = 0 -[Umee] -peggy_denom = ibc/2FF3DC3A0265B9A220750E75E75E5D44ED2F716B8AC4EDC378A596CC958ABF6B -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1cv6d835mxs5wsahaf6dp6pqs4h453s3lpk5wxd] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1cv6d835mxs5wsahaf6dp6pqs4h453s3lpk5wxd +decimals = 0 -[Uniswap] -peggy_denom = ibc/3E3A8A403AE81114F4341962A6D73162D586C9DF4CE3BE7C7B459108430675F7 -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d3rkrv8f4xm4zv5rcdkydy36xzdksq94ewy5md] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d3rkrv8f4xm4zv5rcdkydy36xzdksq94ewy5md +decimals = 0 -[Unknown] -peggy_denom = unknown +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d4vlrslnwxn3zpq64e8z7ap04c5svu5s83f2k5] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d4vlrslnwxn3zpq64e8z7ap04c5svu5s83f2k5 decimals = 0 -[VATRENI] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1tn457ed2gg5vj2cur5khjjw63w73y3xhyhtaay -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d62ry5fwsafggxu67fwhavpu3954vf5n8e5pmt] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d62ry5fwsafggxu67fwhavpu3954vf5n8e5pmt +decimals = 0 -[VAULT] -peggy_denom = factory/inj16j0dhn7qg9sh7cg8y3vm6fecpfweq4f46tzrvd/VAULT -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1dsd2d4ac60gs2sc34nmwu6x9q2h5cvdr0vz4du] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1dsd2d4ac60gs2sc34nmwu6x9q2h5cvdr0vz4du +decimals = 0 -[VEGAS] -peggy_denom = inj12sy2vdgspes6p7af4ssv2sv0u020ew4httwp5y -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1dtpqn48watxrezj6gg630x0xzxw4jm70mqxgpt] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1dtpqn48watxrezj6gg630x0xzxw4jm70mqxgpt +decimals = 0 -[VELO] -peggy_denom = inj1srz2afh8cmay4nuk8tjkq9lhu6tz3hhmjnevlv -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1e4r4gcx3z4f2cey2wyy27zcnr8tvjs0zrdvtvs] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1e4r4gcx3z4f2cey2wyy27zcnr8tvjs0zrdvtvs +decimals = 0 -[VENUS] -peggy_denom = inj109z6sf8pxl4l6dwh7s328hqcn0ruzflch8mnum -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1e7zmlmkexknfseutx2anr0mhkry8mwg000xm0r] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1e7zmlmkexknfseutx2anr0mhkry8mwg000xm0r +decimals = 0 -[VERHA] -peggy_denom = inj1v2rqvnaavskyhjkx7xfkkyljhnyhuv6fmczprq -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1elhv36r9nkw0praytqqgjpxgyd8lte7r4msp5y] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1elhv36r9nkw0praytqqgjpxgyd8lte7r4msp5y +decimals = 0 -[VIDA] -peggy_denom = inj18wa0xa2xg8ydass70e8uvlvzupt9wcn5l9tuxm -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1esca7pkwcptl7xcwfntnye9lgmqj7exnh4waqw] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1esca7pkwcptl7xcwfntnye9lgmqj7exnh4waqw +decimals = 0 -[VINJETTA] -peggy_denom = factory/inj1f4x4j5zcv3uf8d2806umhd50p78gfrftjc3gg4/vinjetta -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ete5curf5mjtznmtzu5xxyrvyxclgsscxd9qk9] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ete5curf5mjtznmtzu5xxyrvyxclgsscxd9qk9 +decimals = 0 -[VIU] -peggy_denom = inj1ccpccejcrql2878cq55nqpgsl46s26qj8hm6ws -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1eux0764t05hmmyfksjmwhahq9kh3yq4stcg0rs] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1eux0764t05hmmyfksjmwhahq9kh3yq4stcg0rs +decimals = 0 -[VIX] -peggy_denom = inj108qxa8lvywqgg0cqma0ghksfvvurgvv7wcf4qy -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1f8nq8vvlhms85ywsnp9vnkua3jszqjfd6ts4qq] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1f8nq8vvlhms85ywsnp9vnkua3jszqjfd6ts4qq +decimals = 0 -[VRD] -peggy_denom = peggy0xf25304e75026E6a35FEDcA3B0889aE5c4D3C55D8 -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1fz2tp874h856zuhtujjz3a65c0x6fh742lwdv9] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1fz2tp874h856zuhtujjz3a65c0x6fh742lwdv9 +decimals = 0 -[VYK] -peggy_denom = inj15ssgwg2whxt3qnthlrq288uxtda82mcy258xp9 -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1gzcx85m49u6y8a9dwx6eddfw8d9r4xtzzna83y] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1gzcx85m49u6y8a9dwx6eddfw8d9r4xtzzna83y +decimals = 0 -[Vatreni Token] -peggy_denom = inj1tn457ed2gg5vj2cur5khjjw63w73y3xhyhtaay -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1h5f6vxsn5hpln75c4mfmntza9m7maj6s396u4w] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1h5f6vxsn5hpln75c4mfmntza9m7maj6s396u4w +decimals = 0 -[W] -peggy_denom = ibc/F16F0F685BEF7BC6A145F16CBE78C6EC8C7C3A5F3066A98A9E57DCEA0903E537 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hawmarr2vaswduu09xvkcqjqm79d5zp8zku95r] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hawmarr2vaswduu09xvkcqjqm79d5zp8zku95r +decimals = 0 -[WAGMI] -peggy_denom = factory/inj188veuqed0dygkcmq5d24u3807n6csv4wdv28gh/wagmi -decimals = 9 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hqp8mnaa0m9zj77y9qqrv33v3k8w2jx3xjahm2] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hqp8mnaa0m9zj77y9qqrv33v3k8w2jx3xjahm2 +decimals = 0 -[WAIFU] -peggy_denom = factory/inj12dvzf9tx2ndc9498aqpkrxgugr3suysqwlmn49/waifu -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hxq5q8h7d8up6j4jcmxje42zpkzr409j6ay4wu] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hxq5q8h7d8up6j4jcmxje42zpkzr409j6ay4wu +decimals = 0 -[WAIFUBOT] -peggy_denom = inj1fmw3t86ncrlz35pm0q66ca5kpudlxzg55tt54f -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hza9v3f32kt8vjx24twpj46c5gx52uhylj5qzm] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hza9v3f32kt8vjx24twpj46c5gx52uhylj5qzm +decimals = 0 -[WAIFUDOGE] -peggy_denom = inj1py5zka74z0h02gqqaexllddn8232vqxsc946qf -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1j62tv3rr6ypyfft09q2uvgnplvdy5h7knas83w] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1j62tv3rr6ypyfft09q2uvgnplvdy5h7knas83w +decimals = 0 -[WAIT] -peggy_denom = inj17pg77tx07drrx6tm6c72cd9sz6qxhwd4gp93ep -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1jm4q2da9xutly7uslzce3ftgjr0xunvj6ek5ve] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1jm4q2da9xutly7uslzce3ftgjr0xunvj6ek5ve +decimals = 0 -[WAR] -peggy_denom = inj1nfkjyevl6z0fyc86w88xr8qq3awugw0nt2dvxq -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1kvlz7j3meau8uy5upr95p2kn0j275jck9vjh4j] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1kvlz7j3meau8uy5upr95p2kn0j275jck9vjh4j +decimals = 0 -[WASABI] -peggy_denom = factory/inj1h6j2hwdn446d3nye82q2thte5pc6qqvyehsjzj/WASABI -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ln2tayrlh0vl73cdzxryhkuuppkycxpna5jm87] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ln2tayrlh0vl73cdzxryhkuuppkycxpna5jm87 +decimals = 0 -[WASSIE] -peggy_denom = peggy0x2c95d751da37a5c1d9c5a7fd465c1d50f3d96160 -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ln9zmpv8nruce89hrf6z0m5t8t93jswyrw89r9] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ln9zmpv8nruce89hrf6z0m5t8t93jswyrw89r9 +decimals = 0 -[WAVAX] -peggy_denom = ibc/A4FF8E161D2835BA06A7522684E874EFC91004AD0CD14E038F37940562158D73 -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1lp0lcf67tk4y8ccnmmggpj8c8wf3gkhtt439r8] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1lp0lcf67tk4y8ccnmmggpj8c8wf3gkhtt439r8 +decimals = 0 -[WBNB] -peggy_denom = ibc/B877B8EF095028B807370AB5C7790CA0C328777C9FF09AA7F5436BA7FAE4A86F -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1lpctts3ah545m8q0pnd696kwthdzgaxur70cm0] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1lpctts3ah545m8q0pnd696kwthdzgaxur70cm0 +decimals = 0 -[WBTC] -peggy_denom = ibc/A07BB73539F556DA5238F1B7E9471B34DD19897B1EE7050B959989F13EFE73B3 -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1lt4tg3zxula8kgg4q73s02mqdnjnyu2mal4fv9] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1lt4tg3zxula8kgg4q73s02mqdnjnyu2mal4fv9 +decimals = 0 -[WDDG] -peggy_denom = factory/inj1hse75gfje5jllds5t9gnzdwyp3cdc3cvdt7gpw/wddg -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1m5czravjfjjmf6l0qujkvxtue373e4cff07d4n] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1m5czravjfjjmf6l0qujkvxtue373e4cff07d4n +decimals = 0 -[WEED] -peggy_denom = factory/inj1nm8kf7pn60mww3hnqj5je28q49u4h9gnk6g344/WEED -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1m9chxsuw52eydkah423ue2e6w8pyj89zxlla6m] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1m9chxsuw52eydkah423ue2e6w8pyj89zxlla6m +decimals = 0 -[WEIRD] -peggy_denom = ibc/5533268E098543E02422FF94216D50A97CD9732AEBBC436AF5F492E7930CF152 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mgypkdu4esseefz7dgahuduft33a3any5lrx8a] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mgypkdu4esseefz7dgahuduft33a3any5lrx8a +decimals = 0 -[WEN] -peggy_denom = inj1wvd7jt2fwsdqph0culwmf3c4l4y63x4t6gu27v -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ms0ycmqsqnnd8zztvzrq0jts0cudfujjmzesw2] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ms0ycmqsqnnd8zztvzrq0jts0cudfujjmzesw2 +decimals = 0 -[WETH] -peggy_denom = ibc/4AC4A819B0BFCB25497E83B92A7D124F24C4E8B32B0E4B45704CC4D224A085A0 -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mve80zt9gyetq9e2qsjdz579qc9nnpxprkuqjt] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mve80zt9gyetq9e2qsjdz579qc9nnpxprkuqjt +decimals = 0 -[WFTM] -peggy_denom = ibc/31E8DDA49D53535F358B29CFCBED1B9224DAAFE82788C0477930DCDE231DA878 -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mw99k3jrxhzhktphtr55e9fhp2rncc2elh75js] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mw99k3jrxhzhktphtr55e9fhp2rncc2elh75js +decimals = 0 -[WGLMR] -peggy_denom = ibc/8FF72FB47F07B4AFA8649500A168683BEFCB9EE164BD331FA597D26224D51055 -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1n0cq8p8zd36ecq2tljtsg0uqkpxn830n5mk38j] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1n0cq8p8zd36ecq2tljtsg0uqkpxn830n5mk38j +decimals = 0 -[WGMI] -peggy_denom = factory/inj1rmjzj9fn47kdmfk4f3z39qr6czexxe0yjyc546/WGMI -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1nemphsdeqekqr7j8ve8gz8jcz4z2lurzty9dw3] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1nemphsdeqekqr7j8ve8gz8jcz4z2lurzty9dw3 +decimals = 0 -[WHALE] -peggy_denom = ibc/D6E6A20ABDD600742D22464340A7701558027759CE14D12590F8EA869CCCF445 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1nkj7k722lduxvhs376qkl9lhjw0le0pwux57wp] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1nkj7k722lduxvhs376qkl9lhjw0le0pwux57wp +decimals = 0 -[WHITE] -peggy_denom = factory/inj1hdlavqur8ayu2kcdc9qv4dvee47aere5g80vg5/WHITE -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1np2ylwgqgyzwppx4k2lr8rkqq5vs8v5y84ghwp] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1np2ylwgqgyzwppx4k2lr8rkqq5vs8v5y84ghwp +decimals = 0 -[WIF] -peggy_denom = wif -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1nssppa309t2pty5agwrmrjqx9md9764ntesce6] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1nssppa309t2pty5agwrmrjqx9md9764ntesce6 +decimals = 0 -[WIFDOG] -peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/wifdog -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1pljwjmkngg7atyxwm8mpwwdayyqk0pfjz8d4j0] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1pljwjmkngg7atyxwm8mpwwdayyqk0pfjz8d4j0 +decimals = 0 -[WIFLUCK] -peggy_denom = inj10vhddx39e3q8ayaxw4dg36tfs9lpf6xx649zfn -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ps7s09q5mldj3wghtcvpsflt0uvc9c0wllqvm0] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ps7s09q5mldj3wghtcvpsflt0uvc9c0wllqvm0 +decimals = 0 -[WIGO] -peggy_denom = inj1jzarcskrdgqzn9ynqn05uthv07sepnpftw8xg9 -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1pwqllsz0d7377v6gvx5vd3df9xurekpyrsscln] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1pwqllsz0d7377v6gvx5vd3df9xurekpyrsscln +decimals = 0 -[WIHA] -peggy_denom = ibc/E1BD2AE3C3879D2D79EA2F81E2A106BC8781CF449F70DDE6D97EF1A45F18C270 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q37t59kug9hhjvht20uc8kheva0tfdjak4yys8] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q37t59kug9hhjvht20uc8kheva0tfdjak4yys8 +decimals = 0 -[WINJ] -peggy_denom = inj1cxp5f0m79a9yexyplx550vxtnun8vjdaqf28r5 -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q62knrccf8n2386jzzv2plr6rat2lfvx95muqv] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q62knrccf8n2386jzzv2plr6rat2lfvx95muqv +decimals = 0 -[WINJA] -peggy_denom = factory/inj1mq6we23vx50e4kyq6fyqgty4zqq27p20czq283/WINJA -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1qg8x9eec40aqjzezku7r2dpz0sz3962ljsk8ga] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1qg8x9eec40aqjzezku7r2dpz0sz3962ljsk8ga +decimals = 0 -[WINK] -peggy_denom = ibc/325300CEF4149AD1BBFEB540FF07699CDEEFBB653401E872532030CFB31CD767 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1qu0zyksruugw9az7e0m7wf9lmatacf5d2uznqw] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1qu0zyksruugw9az7e0m7wf9lmatacf5d2uznqw +decimals = 0 -[WIZZ] -peggy_denom = factory/inj1uvfpvnmuqhx8jwg4786y59tkagmph827h38mst/WIZZ -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rl004yqz80hdkn5ctnqfxngv24cs2yc39zqaxt] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rl004yqz80hdkn5ctnqfxngv24cs2yc39zqaxt +decimals = 0 -[WKLAY] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14cl67lprqkt3pncjav070gavaxslc0tzpc56f4 -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rm88t0crsdfkjpgs9k6tzupzf9qsv2az8u06a7] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rm88t0crsdfkjpgs9k6tzupzf9qsv2az8u06a7 +decimals = 0 -[WMATIC] -peggy_denom = ibc/4DEFEB42BAAB2788723759D95B7550BCE460855563ED977036248F5B94C842FC -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rn0hfpfcj09uq7r6l7tx2fhdwsufptv340w904] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rn0hfpfcj09uq7r6l7tx2fhdwsufptv340w904 +decimals = 0 -[WMATIClegacy] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1dxv423h8ygzgxmxnvrf33ws3k94aedfdevxd8h -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rnraxu54huv7wkmpff3v8mzhqh49g0e6fj67sd] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rnraxu54huv7wkmpff3v8mzhqh49g0e6fj67sd +decimals = 0 -[WNINJ] -peggy_denom = factory/inj1ducfa3t9sj5uyxs7tzqwxhp6mcfdag2jcq2km6/wnINJ -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rx2yfurr3zh4nzv5gazh899dyc2v4lhx2fex3r] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rx2yfurr3zh4nzv5gazh899dyc2v4lhx2fex3r +decimals = 0 -[WOJAK] -peggy_denom = factory/inj17kqcwkgdayv585dr7mljclechqzymgfsqc8x9k/WOJAK -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ry55p3hcfwqd0r4d6hkd2hgldfamf63ehkem8a] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ry55p3hcfwqd0r4d6hkd2hgldfamf63ehkem8a +decimals = 0 -[WOJO] -peggy_denom = inj1n7qrdluu3gve6660dygc0m5al3awdg8gv07v62 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1s2rs23gg0mw6jr7s3rjhwsrssnnhn8vck24n2r] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1s2rs23gg0mw6jr7s3rjhwsrssnnhn8vck24n2r +decimals = 0 -[WOKE] -peggy_denom = inj17ka378ydj6ka5q0jlqt0eqhk5tmzqynx43ue7m -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1s66zhks8v3fm24974crzxufh7w6ktt694g9t3j] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1s66zhks8v3fm24974crzxufh7w6ktt694g9t3j +decimals = 0 -[WOLF] -peggy_denom = factory/inj18pe85zjlrg5fcmna8tzqr0lysppcw5x7ecq33n/WOLF -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sn40ldl8ud3dalqk39mxp7t4unqaadnt9cg9a4] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sn40ldl8ud3dalqk39mxp7t4unqaadnt9cg9a4 +decimals = 0 -[WONDER] -peggy_denom = inj1ppg7jkl9vaj9tafrceq6awgr4ngst3n0musuq3 -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sqc9jap0yye84dx5uyqyvepg83p7hvqke5sjvk] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sqc9jap0yye84dx5uyqyvepg83p7hvqke5sjvk +decimals = 0 -[WOOF] -peggy_denom = factory/inj1wu5464syj9xmud55u99hfwhyjd5u8fxfmurs8j/woof -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sthrn5ep8ls5vzz8f9gp89khhmedahhdkqa8z3] +peggy_denom = ibc/884A8507A762D0F1DE350C4E640ECA6EDD6F25617F39AD57BC6F5B7EC8DF7181 +decimals = 0 -[WOOF INU] -peggy_denom = inj1h0h49fpkn5r0pjmscywws0m3e7hwskdsff4qkr -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ta03vxka8mpgem44xvhewekg89wxel8leyvugw] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ta03vxka8mpgem44xvhewekg89wxel8leyvugw +decimals = 0 -[WORM] -peggy_denom = ibc/13C9967E4F065F5E4946302C1F94EA5F21261F3F90DAC0212C4037FA3E058297 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ufx78kwvwpds77hxrmxkedsp6yhvflk5lz2a58] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ufx78kwvwpds77hxrmxkedsp6yhvflk5lz2a58 +decimals = 0 -[WOSMO] -peggy_denom = ibc/DD648F5D3CDA56D0D8D8820CF703D246B9FC4007725D8B38D23A21FF1A1477E3 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1uhukgtdm0xyq35w34rxh73g3yhffxw4qg568sx] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1uhukgtdm0xyq35w34rxh73g3yhffxw4qg568sx +decimals = 0 -[WSTETH] -peggy_denom = peggy0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0 -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1uq30shptkerand4zl6xr8ga2jt0mu0c6npak0a] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1uq30shptkerand4zl6xr8ga2jt0mu0c6npak0a +decimals = 0 -[WTF] -peggy_denom = ibc/3C788BF2FC1269D66CA3E339634E14856A90336C5562E183EFC9B743C343BC31 -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1uu9dsss65z2dt6cz9avr2tk6wrdjxxe0cxh4d5] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1uu9dsss65z2dt6cz9avr2tk6wrdjxxe0cxh4d5 +decimals = 0 -[WUBBA] -peggy_denom = inj17g65zpdwql8xjju92k6fne8luqe35cjvf3j54v -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1v0dxtj5ku80w4h96jc0scyxlnk3j869dj2nnay] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1v0dxtj5ku80w4h96jc0scyxlnk3j869dj2nnay +decimals = 0 -[Waifu] -peggy_denom = factory/inj12dvzf9tx2ndc9498aqpkrxgugr3suysqwlmn49/waifuinj -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1v3z2nx0k9fjv83ktx4dtsau82ff2c68gxfqah9] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1v3z2nx0k9fjv83ktx4dtsau82ff2c68gxfqah9 +decimals = 0 -[What does the fox say?] -peggy_denom = inj1x0nz4k6k9pmjq0y9uutq3kp0rj3vt37p2p39sy -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1vd8qv39y8ay7x0ldlhhnfcjc0k6ya69fvp2vzw] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1vd8qv39y8ay7x0ldlhhnfcjc0k6ya69fvp2vzw +decimals = 0 -[Wolf Party] -peggy_denom = factory/inj1xjcq2ch3pacc9gql24hfwpuvy9gxszxpz7nzmz/wolf -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1vy9xhn2gmswm7xyt39wnnd8pz4w6e93zjzurdu] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1vy9xhn2gmswm7xyt39wnnd8pz4w6e93zjzurdu +decimals = 0 -[Wormhole] -peggy_denom = factory/inj1xmxx0c3elm96s9s30t0k0gvr4h7l4wx9enndsl/wormhole -decimals = 6 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1w9z5t04v2jl6r85s8e0984f4v2drdpq8fnl6hs] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1w9z5t04v2jl6r85s8e0984f4v2drdpq8fnl6hs +decimals = 0 -[Wrapped Bitcoin] -peggy_denom = peggy0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1wea6emsvgrxnsg07wsf9kx5djn2r4fyqzsxcja] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1wea6emsvgrxnsg07wsf9kx5djn2r4fyqzsxcja +decimals = 0 -[Wrapped Ether] -peggy_denom = ibc/65A6973F7A4013335AE5FFE623FE019A78A1FEEE9B8982985099978837D764A7 -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1wyd57qlwdhfj4sepl4y2eedsn077gzgg95cgwh] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1wyd57qlwdhfj4sepl4y2eedsn077gzgg95cgwh +decimals = 0 -[Wrapped Ethereum] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1plsk58sxqjw9828aqzeskmc8xy9eu5kppw3jg4 -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1x9uecns088t3dw2map7q235nzvyfhtzqkgneux] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1x9uecns088t3dw2map7q235nzvyfhtzqkgneux +decimals = 0 -[Wrapped Klaytn] -peggy_denom = inj14cl67lprqkt3pncjav070gavaxslc0tzpc56f4 -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1xjvf8nzcx5uvjnmey6x7vx4xe08k95k7gx0fyl] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1xjvf8nzcx5uvjnmey6x7vx4xe08k95k7gx0fyl +decimals = 0 -[Wrapped Matic] -peggy_denom = ibc/7E23647941230DA0AB4ED10F599647D9BE34E1C991D0DA032B5A1522941EBA73 -decimals = 18 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1yzjcwy4m2qyn3kvspgsxhdltxz5kw34n8x80xx] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1yzjcwy4m2qyn3kvspgsxhdltxz5kw34n8x80xx +decimals = 0 + +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1yzm2tg8mv3ajgw4z4vnjynpanjqvezywcgjkzf] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1yzm2tg8mv3ajgw4z4vnjynpanjqvezywcgjkzf +decimals = 0 -[Wrapped Matic (legacy)] -peggy_denom = inj1dxv423h8ygzgxmxnvrf33ws3k94aedfdevxd8h -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1zcssxvw4x9zdqww2atu7at0n5ss2lv8gg8u6ul] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1zcssxvw4x9zdqww2atu7at0n5ss2lv8gg8u6ul +decimals = 0 -[Wrapped liquid staked Ether 2.0 (Wormhole)] -peggy_denom = ibc/AF173F64492152DA94107B8AD53906589CA7B844B650EFC2FEFED371A3FA235E -decimals = 8 +[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1zejzp0ne0hh7c0wupuspkcqwajlw6kww3r86jl] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1zejzp0ne0hh7c0wupuspkcqwajlw6kww3r86jl +decimals = 0 -[Wynn] -peggy_denom = factory/inj1mmn3lqt5eahuu7cmpcjme6lj0xhjlhj3qj4fhh/Wynn -decimals = 18 +[factory/inj14epxlhe56lhk5s3nc8wzmetwh6rpehuufe89ak/SUSHI] +peggy_denom = factory/inj14epxlhe56lhk5s3nc8wzmetwh6rpehuufe89ak/SUSHI +decimals = 6 -[X747] -peggy_denom = factory/inj12ccehmgslwzkg4d4n4t78mpz0ja3vxyctu3whl/X747 +[factory/inj14epxlhe56lhk5s3nc8wzmetwh6rpehuufe89ak/UNI] +peggy_denom = factory/inj14epxlhe56lhk5s3nc8wzmetwh6rpehuufe89ak/UNI decimals = 6 -[XAC] -peggy_denom = peggy0xDe4C5a791913838027a2185709E98c5C6027EA63 -decimals = 8 +[factory/inj14fx6k6an38hmqz58nxzggxycmy7mpy9ju7mqxq/INJ] +peggy_denom = factory/inj14fx6k6an38hmqz58nxzggxycmy7mpy9ju7mqxq/INJ +decimals = 6 -[XAEAXii] -peggy_denom = inj1wlw9hzsrrtnttgl229kvmu55n4z2gfjqzr6e2k -decimals = 18 +[factory/inj14r67lv9phdjs94x6zsd446ptw04cmkq2j4t6wm/position] +peggy_denom = factory/inj14r67lv9phdjs94x6zsd446ptw04cmkq2j4t6wm/position +decimals = 0 -[XAG] -peggy_denom = xag +[factory/inj1532ekcsx3mqtmxx0s5uc32my0et9vazdkkfcna/INJ] +peggy_denom = factory/inj1532ekcsx3mqtmxx0s5uc32my0et9vazdkkfcna/INJ decimals = 6 -[XAI] -peggy_denom = inj15a8vutf0edqcuanpwrz0rt8hfclz9w8v6maum3 -decimals = 8 - -[XAU] -peggy_denom = xau +[factory/inj15446d66cyfqh97hp0x3n749mvq4kx0lnfvuwt5/INJ] +peggy_denom = factory/inj15446d66cyfqh97hp0x3n749mvq4kx0lnfvuwt5/INJ decimals = 6 -[XBX] -peggy_denom = peggy0x080B12E80C9b45e97C23b6ad10a16B3e2a123949 -decimals = 18 +[factory/inj157g6qg542h735ww6kzk5jf7s2ayscgtcg7mvv3/position] +peggy_denom = factory/inj157g6qg542h735ww6kzk5jf7s2ayscgtcg7mvv3/position +decimals = 0 -[XCN] -peggy_denom = ibc/79D01DE88DFFC0610003439D38200E77A3D2A1CCCBE4B1958D685026ABB01814 -decimals = 18 +[factory/inj157l55k7pt6wlkmvs95kx96m2y30tgvxuld6zfc/INJ] +peggy_denom = factory/inj157l55k7pt6wlkmvs95kx96m2y30tgvxuld6zfc/INJ +decimals = 6 -[XDD] -peggy_denom = inj10e64r6exkrm52w9maa2e99nse2zh5w4zajzv7e -decimals = 18 +[factory/inj158g7dfclyg9rr6u4ddxg9d2afwevq5d79g2tm6/coke] +peggy_denom = factory/inj158g7dfclyg9rr6u4ddxg9d2afwevq5d79g2tm6/coke +decimals = 6 -[XIII] -peggy_denom = inj1zw35mh6q23cnxa0j6kdh2n4dtss795avxmn9kn +[factory/inj158xvl6jgd6cgdetnxu4rus4vcv50u3q06wryjl/INJ] +peggy_denom = factory/inj158xvl6jgd6cgdetnxu4rus4vcv50u3q06wryjl/INJ decimals = 6 -[XMAS] -peggy_denom = factory/inj1sn34edy635nv4yhts3khgpy5qxw8uey6wvzq53/XMAS +[factory/inj1598f9vtwc3furg3dnat9lnjw5eflcyuazv2c3m/position] +peggy_denom = factory/inj1598f9vtwc3furg3dnat9lnjw5eflcyuazv2c3m/position +decimals = 0 + +[factory/inj15rddsgzhts4lyuk4a92aq7g4wemgf7r3u6w80p/INJ] +peggy_denom = factory/inj15rddsgzhts4lyuk4a92aq7g4wemgf7r3u6w80p/INJ decimals = 6 -[XMASINJ] -peggy_denom = inj1yhp235hgpa0nartawhtx0q2hkhr6y8cdth4neu -decimals = 8 +[factory/inj15sqzlm42xks73nxez8tw8k6tp9xln7gfth2sv6/position] +peggy_denom = factory/inj15sqzlm42xks73nxez8tw8k6tp9xln7gfth2sv6/position +decimals = 0 -[XMASPUMP] -peggy_denom = inj165lcmjswrkuz2m5p45wn00qz4k2zpq8r9axkp9 -decimals = 8 +[factory/inj15xxgscstfpaztar2hjluzphvq4m8jffjym8svh/lpinj1alqcad69f6y4zepfu3k8cx0ysynjemju4auc42] +peggy_denom = factory/inj15xxgscstfpaztar2hjluzphvq4m8jffjym8svh/lpinj1alqcad69f6y4zepfu3k8cx0ysynjemju4auc42 +decimals = 0 -[XNJ] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17pgmlk6fpfmqyffs205l98pmnmp688mt0948ar -decimals = 18 +[factory/inj164shttz4dv6ec8m44gulucpej3pgl7tjqhdvyk/position] +peggy_denom = factory/inj164shttz4dv6ec8m44gulucpej3pgl7tjqhdvyk/position +decimals = 0 -[XPLA] -peggy_denom = inj1j08452mqwadp8xu25kn9rleyl2gufgfjqjvewe -decimals = 8 +[factory/inj16936rlm3gm2z7gd8t677t926qz93hqy07qhh3z/position] +peggy_denom = factory/inj16936rlm3gm2z7gd8t677t926qz93hqy07qhh3z/position +decimals = 0 -[XPRT] -peggy_denom = ibc/B786E7CBBF026F6F15A8DA248E0F18C62A0F7A70CB2DABD9239398C8B5150ABB +[factory/inj169rj69y0td97a0gvz3jthr63ml79h0ez2sc0rm/position] +peggy_denom = factory/inj169rj69y0td97a0gvz3jthr63ml79h0ez2sc0rm/position +decimals = 0 + +[factory/inj16hsmv4grd5ru3axtvgc8c0dygc0skpfct837dv/position] +peggy_denom = factory/inj16hsmv4grd5ru3axtvgc8c0dygc0skpfct837dv/position +decimals = 0 + +[factory/inj16tth6zcljja520fetw9u7plyza5e6sj0rta6ua/inj18luqttqyckgpddndh8hvaq25d5nfwjc78m56lc] +peggy_denom = factory/inj16tth6zcljja520fetw9u7plyza5e6sj0rta6ua/inj18luqttqyckgpddndh8hvaq25d5nfwjc78m56lc +decimals = 0 + +[factory/inj16xkr5efuae9ur5tftr5epxtse43falevltugdt/TEST] +peggy_denom = factory/inj16xkr5efuae9ur5tftr5epxtse43falevltugdt/TEST decimals = 6 -[XRAY] -peggy_denom = inj1aqgkr4r272dg62l9err5v3d3hme2hpt3rzy4zt -decimals = 8 +[factory/inj16zm5htn50fm4veztrazn2a6yjp2kjwnvthq8r8/PEPE] +peggy_denom = factory/inj16zm5htn50fm4veztrazn2a6yjp2kjwnvthq8r8/PEPE +decimals = 6 -[XRP] -peggy_denom = peggy0x1d2f0da169ceb9fc7b3144628db156f3f6c60dbe -decimals = 18 +[factory/inj16zquths3dwk0varlj32ur9skutl640umvllxeu/position] +peggy_denom = factory/inj16zquths3dwk0varlj32ur9skutl640umvllxeu/position +decimals = 0 -[XTALIS] -peggy_denom = factory/inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3/xTalis +[factory/inj17g9jsj37jt0w77x4gfmt6rxf0r2zr307kky875/INJ] +peggy_denom = factory/inj17g9jsj37jt0w77x4gfmt6rxf0r2zr307kky875/INJ decimals = 6 -[XUPS] -peggy_denom = inj1f3ppu7jgputk3qr833f4hsl8n3sm3k88zw6um0 -decimals = 8 +[factory/inj17kqcwkgdayv585dr7mljclechqzymgfsqc8x9k/THUG] +peggy_denom = factory/inj17kqcwkgdayv585dr7mljclechqzymgfsqc8x9k/THUG +decimals = 6 -[XYZ] -peggy_denom = factory/inj12aljr5fewp8vlns0ny740wuwd60q89x0xsqcz3/XYZ +[factory/inj17pn6nwvk33404flhglujj4n5y3p2esy5x0cfhm/SPUUN] +peggy_denom = factory/inj17pn6nwvk33404flhglujj4n5y3p2esy5x0cfhm/SPUUN decimals = 6 -[XmasPump] -peggy_denom = inj1yjtgs6a9nwsljwk958ypf2u7l5kqf5ld8h3tmd -decimals = 8 +[factory/inj17vgy7dxx5j0a3xag8hg53e74ztjs50qrycj2pn/INJ] +peggy_denom = factory/inj17vgy7dxx5j0a3xag8hg53e74ztjs50qrycj2pn/INJ +decimals = 6 -[YAKUZA] -peggy_denom = factory/inj1r5pgeg9xt3xr0mw5n7js8kux7hyvjlsjn6k8ce/YAKUZA +[factory/inj183fjyma33jsx0wndkmk69yukk3gpll7gunkyz6/sakurasakura] +peggy_denom = factory/inj183fjyma33jsx0wndkmk69yukk3gpll7gunkyz6/sakurasakura decimals = 6 -[YAMEI] -peggy_denom = inj1042ucqa8edhazdc27xz0gsphk3cdwxefkfycsr -decimals = 18 +[factory/inj18c9gq53gs52rmj6nevfg48v3xx222stnxgwpku/position] +peggy_denom = factory/inj18c9gq53gs52rmj6nevfg48v3xx222stnxgwpku/position +decimals = 0 -[YEA] -peggy_denom = inj1vfasyvcp7jpqfpdp980w28xemyurdnfys84xwn -decimals = 18 +[factory/inj18prwk9vqw82x86lx9d8kmymmzl9vzuznzye3l0/INJ] +peggy_denom = factory/inj18prwk9vqw82x86lx9d8kmymmzl9vzuznzye3l0/INJ +decimals = 6 -[YEET] -peggy_denom = inj10vhq60u08mfxuq3zr6ffpm7uelcc9ape94xq5f -decimals = 18 +[factory/inj19fa4pmpnxysawtps7aq7nhh7k2x8wvvqwxv7kl/position] +peggy_denom = factory/inj19fa4pmpnxysawtps7aq7nhh7k2x8wvvqwxv7kl/position +decimals = 0 -[YFI] -peggy_denom = peggy0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e -decimals = 18 +[factory/inj19g8xh8wfaxl7a4z5pr67e908ph68n5zamsagxt/position] +peggy_denom = factory/inj19g8xh8wfaxl7a4z5pr67e908ph68n5zamsagxt/position +decimals = 0 -[YKZ] -peggy_denom = inj1sgdvujejhvc0yqw26jz2kvg9fx2wvfvvjtjnjq -decimals = 6 +[factory/inj19h8ypfpczenmslgvxk73kszedfd9h9ptn2a5ml/position] +peggy_denom = factory/inj19h8ypfpczenmslgvxk73kszedfd9h9ptn2a5ml/position +decimals = 0 -[YMOS] -peggy_denom = ibc/26AB5A32422A0E9BC3B7FFCCF57CB30F3E8AEEA0F1705D64DCF4D8FA3DD71B9D +[factory/inj19jeceymrrcvqty0mapdf7daa47gr33khpwpfnt/position] +peggy_denom = factory/inj19jeceymrrcvqty0mapdf7daa47gr33khpwpfnt/position +decimals = 0 + +[factory/inj19mznavp32fkmwzdyuute4al2lrjzvy6ym9em3h/babypanda] +peggy_denom = factory/inj19mznavp32fkmwzdyuute4al2lrjzvy6ym9em3h/babypanda decimals = 6 -[YOAN] -peggy_denom = inj1hgrgkrpwsu6n44ueucx0809usskkp6vdcr3ul9 -decimals = 18 +[factory/inj19uyuzl6chkdp3ez8aua2marzqwuv3n23ynf2x0/position] +peggy_denom = factory/inj19uyuzl6chkdp3ez8aua2marzqwuv3n23ynf2x0/position +decimals = 0 -[YOKAI] -peggy_denom = inj1y7k7hdw0nyw05rc8qr6nmwlp2kq3vzh065frd6 -decimals = 18 +[factory/inj19xq90yxtaar7xlz5jdzvqgkjw285rqzsjvxc2j/position] +peggy_denom = factory/inj19xq90yxtaar7xlz5jdzvqgkjw285rqzsjvxc2j/position +decimals = 0 -[YOSHI] -peggy_denom = inj13y8susc9dle4x664ktps3ynksxxgt6lhmckuxp -decimals = 18 +[factory/inj19y42qwvf6s9aq6qqjk09qfe0f4n78e48cqe7w4/INJ] +peggy_denom = factory/inj19y42qwvf6s9aq6qqjk09qfe0f4n78e48cqe7w4/INJ +decimals = 6 -[YSIR] -peggy_denom = inj1zff494cl7wf0g2fzqxdtxn5ws4mkgy5ypxwlql -decimals = 18 +[factory/inj19yyllwqvapt4hsn7cpcg540qt5c3fekxxhjppg/position] +peggy_denom = factory/inj19yyllwqvapt4hsn7cpcg540qt5c3fekxxhjppg/position +decimals = 0 -[YUKI] -peggy_denom = factory/inj1spdy83ds5ezq9rvtg0ndy8480ad5rlczcpvtu2/YUKI +[factory/inj1a0n3xm83w6d0gzheffkve30z8wpz6xq8zdf48r/ETH] +peggy_denom = factory/inj1a0n3xm83w6d0gzheffkve30z8wpz6xq8zdf48r/ETH decimals = 6 -[YUM.axl] -peggy_denom = ibc/253F76EB6D04F50492930A5D97465A495E5D6ED674A33EB60DDD46F01EF56504 -decimals = 18 - -[Yakuza] -peggy_denom = factory/inj1t0vyy5c3cnrw9f0mpjz9xk7fp22ezjjmrza7xn/Yakuza +[factory/inj1a3lpj7yf5spw344pfa9gjcgwx3zyx5v9e6cpg2/INJ] +peggy_denom = factory/inj1a3lpj7yf5spw344pfa9gjcgwx3zyx5v9e6cpg2/INJ decimals = 6 -[Yang] -peggy_denom = inj10ga6ju39mxt94suaqsfagea9t9p2ys2lawml9z +[factory/inj1a3m6hv5hmt4lxkw0uqqz7m3m7dgtd2uy4hmenp/position] +peggy_denom = factory/inj1a3m6hv5hmt4lxkw0uqqz7m3m7dgtd2uy4hmenp/position +decimals = 0 + +[factory/inj1a4hvejdwaf9gd9rltwftxf0fyz6mrzwmnauacp/SOL] +peggy_denom = factory/inj1a4hvejdwaf9gd9rltwftxf0fyz6mrzwmnauacp/SOL decimals = 6 -[YeetYak] -peggy_denom = factory/inj1k2kcx5n03pe0z9rfzvs9lt764jja9xpvwrxk7c/YeetYak +[factory/inj1a6xdezq7a94qwamec6n6cnup02nvewvjtz6h6e/SYN] +peggy_denom = factory/inj1a6xdezq7a94qwamec6n6cnup02nvewvjtz6h6e/SYN decimals = 6 -[YieldETH] -peggy_denom = ibc/6B7E243C586784E1BE150B71F541A3880F0409E994365AF31FF63A2764B72556 -decimals = 18 +[factory/inj1a6xdezq7a94qwamec6n6cnup02nvewvjtz6h6e/uabc] +peggy_denom = factory/inj1a6xdezq7a94qwamec6n6cnup02nvewvjtz6h6e/uabc +decimals = 0 -[Ykz] -peggy_denom = inj1ur8dhklqn5ntq45jcm5vy2tzp5zfc05w2pmjam -decimals = 18 +[factory/inj1acyx78g70fwu2fcjx6dj9yff34gscu0g4tg8vw/INJ] +peggy_denom = factory/inj1acyx78g70fwu2fcjx6dj9yff34gscu0g4tg8vw/INJ +decimals = 6 -[Yogi] -peggy_denom = inj1zc3uujkm2sfwk5x8xlrudaxwsc0t903rj2jcen +[factory/inj1adam3fc7h0wjlhht0utgyl53rcataw3q70vntr/INJ] +peggy_denom = factory/inj1adam3fc7h0wjlhht0utgyl53rcataw3q70vntr/INJ decimals = 6 -[ZEUS] -peggy_denom = inj1302yft4ppsj99qy5avv2qv6hfuvzluy4q8eq0k -decimals = 18 +[factory/inj1alwxgkns9x7d2sprymwwfvzl5t7teetym02lrj/NONJA] +peggy_denom = factory/inj1alwxgkns9x7d2sprymwwfvzl5t7teetym02lrj/NONJA +decimals = 6 + +[factory/inj1aq5rpkexhycqk54afj630ktmgaqvc468fwk34k/position] +peggy_denom = factory/inj1aq5rpkexhycqk54afj630ktmgaqvc468fwk34k/position +decimals = 0 + +[factory/inj1ary3d4xl6jjlkht33ktqc2py7lvc3l4mqrfq00/SEX] +peggy_denom = factory/inj1ary3d4xl6jjlkht33ktqc2py7lvc3l4mqrfq00/SEX +decimals = 6 -[ZIG] -peggy_denom = peggy0xb2617246d0c6c0087f18703d576831899ca94f01 -decimals = 18 +[factory/inj1avm2ruactjhxlrd8cq7ja7vhmtqwpu2lpnnq79/position] +peggy_denom = factory/inj1avm2ruactjhxlrd8cq7ja7vhmtqwpu2lpnnq79/position +decimals = 0 -[ZIGZAG] -peggy_denom = inj1d70m92ml2cjzy2lkj5t2addyz6jq4qu8gyfwn8 +[factory/inj1awuqzd4sgmw9pguaftekx87pnl8ylqhvm3n97y/INJ] +peggy_denom = factory/inj1awuqzd4sgmw9pguaftekx87pnl8ylqhvm3n97y/INJ decimals = 6 -[ZIL] -peggy_denom = ibc/AE996D1AF771FED531442A232A4403FAC51ACFFF9B645FF4363CFCB76019F5BD -decimals = 12 +[factory/inj1c6eq9yp3c3ray4prfyumyv9m5ttkdzxawpg6c0/position] +peggy_denom = factory/inj1c6eq9yp3c3ray4prfyumyv9m5ttkdzxawpg6c0/position +decimals = 0 -[ZK] -peggy_denom = zk -decimals = 18 +[factory/inj1cjzufvday63thkgqkxnesgav69c5afsm5aws8w/test] +peggy_denom = factory/inj1cjzufvday63thkgqkxnesgav69c5afsm5aws8w/test +decimals = 6 -[ZOE] -peggy_denom = factory/inj17v462f55kkuhjhvw7vdcjzd2wdk85yh8js3ug9/ZOE +[factory/inj1cm5lg3z9l3gftt0c09trnllmayxpwt8825zxw3/elon] +peggy_denom = factory/inj1cm5lg3z9l3gftt0c09trnllmayxpwt8825zxw3/elon decimals = 6 -[ZOMBIE] -peggy_denom = factory/inj12yvvkskjdedhztpl4g2vh888z00rgl0wctarst/ZOMBIE +[factory/inj1cq5ygzlgh6l2pll2thtx82rhde2v7cpxlqfz93/GME] +peggy_denom = factory/inj1cq5ygzlgh6l2pll2thtx82rhde2v7cpxlqfz93/GME decimals = 6 -[ZOOMER] -peggy_denom = inj173zkm8yfuqagcc5m7chc4dhnq0k5hdl7vwca4n -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707147655.812049146InjUsdt1d1.08C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707147655.812049146InjUsdt1d1.08C +decimals = 0 -[ZORO] -peggy_denom = factory/inj1z70nam7mp5qq4wd45ker230n3x4e35dkca9la4/ZORO -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707151420.026670141InjUsdt1d1.08C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707151420.026670141InjUsdt1d1.08C +decimals = 0 -[ZRO] -peggy_denom = zro -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707230551.918032637InjUsdt20d1.21C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707230551.918032637InjUsdt20d1.21C +decimals = 0 -[ZRX] -peggy_denom = peggy0xE41d2489571d322189246DaFA5ebDe1F4699F498 -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707230884.525553719InjUsdt28d1.16C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707230884.525553719InjUsdt28d1.16C +decimals = 0 -[ZUZU] -peggy_denom = factory/inj1v05uapg65p6f4307qg0hdkzssn82js6n5gc03q/ZUZU -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707231283.066300029InjUsdt20d1.21C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707231283.066300029InjUsdt20d1.21C +decimals = 0 -[ZZZ] -peggy_denom = factory/inj1a2qk8tsd4qv7rmtp8g8ktj7zfldj60hpp0arqp/ZZZ -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707231469.923471325InjUsdt16d0.87P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707231469.923471325InjUsdt16d0.87P +decimals = 0 -[aUSD] -peggy_denom = inj1p3nrwgm9u3dtln6rwdvrsmjt5fwlhhhq3ugckd -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707570015.556318592InjUsdt20d1.21C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707570015.556318592InjUsdt20d1.21C +decimals = 0 -[aevmos] -peggy_denom = ibc/EEB2EB2A678B5788DB413B5A7EC81085B34F33DA9750C1C790CE8E1EDC8282B5 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707570076.365183070InjUsdt28d1.16C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707570076.365183070InjUsdt28d1.16C decimals = 0 -[allBTC] -peggy_denom = ibc/2D805BFDFB164DE4CE69514BF2CD203C07BF79DF52EF1971763DCBD325917CC5 -decimals = 8 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707570225.110365254InjUsdt16d0.87P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707570225.110365254InjUsdt16d0.87P +decimals = 0 -[allETH] -peggy_denom = ibc/1638ABB0A4233B36CC9EBBD43775D17DB9A86190E826580963A0B59A621BD7FD -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707915798.275383427InjUsdt24d1.22C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707915798.275383427InjUsdt24d1.22C +decimals = 0 -[allSOL] -peggy_denom = ibc/FA2D0C9110C1DFBAEF084C161D1A0EFC6270C64B446FDEC686C30FCF99FE22CA -decimals = 9 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707915921.506232293InjUsdt30d1.16C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707915921.506232293InjUsdt30d1.16C +decimals = 0 -[allUSDT] -peggy_denom = ibc/7991930BA02EBF3893A7E244233E005C2CB14679898D8C9E680DA5F7D54E647D -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707916064.752464733InjUsdt18d0.87P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707916064.752464733InjUsdt18d0.87P +decimals = 0 -[ampGASH] -peggy_denom = ibc/B52F9774CA89A45FFB924CEE4D1E586013E33628A3784F3CCF10C8CE26A89E7F -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708434382.147236316InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708434382.147236316InjUsdt24d1.17C +decimals = 0 -[ampINJ] -peggy_denom = factory/inj1cdwt8g7nxgtg2k4fn8sj363mh9ahkw2qt0vrnc/ampINJ -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708434608.109548440InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708434608.109548440InjUsdt30d1.12C +decimals = 0 -[ampKUJI] -peggy_denom = ibc/34E48C7C43383203519D996D1D93FE80ED50153E28FB6A9465DE463AEF2EC9EC -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708434695.365984945InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708434695.365984945InjUsdt18d0.9P +decimals = 0 -[ampLUNA] -peggy_denom = ibc/751CCECAF75D686B1DC8708BE62F8C7411B211750E6009C6AC4C93881F0543E8 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708952496.551991999InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708952496.551991999InjUsdt24d1.17C +decimals = 0 -[ampMNTA] -peggy_denom = ibc/A87178EAA371050DDFD80F78630AE622B176C7634160EE515C27CE62FCC8A0CC -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708952558.556210993InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708952558.556210993InjUsdt18d0.9P +decimals = 0 -[ampOSMO] -peggy_denom = ibc/012D069D557C4DD59A670AA17E809CB7A790D778E364D0BC0A3248105DA6432D -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708952714.916449575InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708952714.916449575InjUsdt30d1.12C +decimals = 0 -[ampROAR] -peggy_denom = ibc/7BE54594EAE77464217B9BB5171035946ED23DB309B030B5708E15C9455BB557 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709471628.501760810InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709471628.501760810InjUsdt18d0.9P +decimals = 0 -[ampSEI] -peggy_denom = ibc/E175256127F32A27BB1FF863D15D8C4BB14968ED069B6A292723D485A33514A2 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709471628.501760810InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709471628.501760810InjUsdt24d1.17C +decimals = 0 -[ampWHALE] -peggy_denom = ibc/168C3904C45C6FE3539AE85A8892DF87371D00EA7942515AFC50AA43C4BB0A32 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709471628.501760810InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709471628.501760810InjUsdt30d1.12C +decimals = 0 -[ampWHALEt] -peggy_denom = ibc/DF3225D7381562B58AA8BE107A87260DDDC7FA08E4B0898E3D795392CF844BBE -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709989206.952525115InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709989206.952525115InjUsdt18d0.9P +decimals = 0 -[anon] -peggy_denom = factory/inj15n8jl0dcepjfy3nhsa3gm734rjx5x2ff3y9f2s/anon -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709989206.952525115InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709989206.952525115InjUsdt24d1.17C +decimals = 0 -[ape] -peggy_denom = factory/inj1rhaefktcnhe3y73e82x4edcsn9h5y99gwmud6v/ape -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709989206.952525115InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709989206.952525115InjUsdt30d1.12C +decimals = 0 -[aplanq] -peggy_denom = ibc/BA26BE85B9D5F046FC7071ED0F77053662A4B2F5B7552B3834A3F1B2DD3BD18F +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1710512672.125817391InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1710512672.125817391InjUsdt18d0.9P decimals = 0 -[ashLAB] -peggy_denom = ibc/D3D5FB034E9CAA6922BB9D7D52D909116B7FFF7BD73299F686C972643B4767B9 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1710512672.125817391InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1710512672.125817391InjUsdt24d1.17C +decimals = 0 -[ashLUNA] -peggy_denom = ibc/19C3905E752163B6EEB903A611E0832CCD05A32007E98C018759905025619D8F -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1710512672.125817391InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1710512672.125817391InjUsdt30d1.12C +decimals = 0 -[ashSYN] -peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/syn.ash -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711026012.447108856InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711026012.447108856InjUsdt18d0.9P +decimals = 0 -[avalanche.USDC.wh] -peggy_denom = ibc/348633370BE07A623D7FC9CD229150936ADCD3A4E842DAD246BBA817D21FF6C7 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711026012.447108856InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711026012.447108856InjUsdt24d1.17C +decimals = 0 -[axlETH] -peggy_denom = ibc/34EF5DA5B1CFB23FA25F1D486C89AFC9E5CC5727C224975438583C444E88F039 -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711026012.447108856InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711026012.447108856InjUsdt30d1.12C +decimals = 0 -[axlFIL] -peggy_denom = ibc/9D1889339AEC850B1D719CCF19BD813955C086BE1ED323ED68318A273922E40D -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711544412.396311094InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711544412.396311094InjUsdt18d0.9P +decimals = 0 -[axlUSDC] -peggy_denom = ibc/7E1AF94AD246BE522892751046F0C959B768642E5671CC3742264068D49553C0 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711544412.396311094InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711544412.396311094InjUsdt24d1.17C +decimals = 0 -[axlWBTC] -peggy_denom = ibc/F57B53E102171E6DC254532ECC184228BB8E23B755AD55FA6FDCBD70464A9A54 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711544412.396311094InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711544412.396311094InjUsdt30d1.12C +decimals = 0 -[bCRE] -peggy_denom = ibc/83D54420DD46764F2ED5EE511DAA63EC28012480A245D8E33AA1F7D1FB15D736 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712063630.920057621InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712063630.920057621InjUsdt18d0.9P +decimals = 0 -[bINJ] -peggy_denom = factory/inj1dxp690rd86xltejgfq2fa7f2nxtgmm5cer3hvu/bINJ -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712063630.920057621InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712063630.920057621InjUsdt24d1.17C +decimals = 0 -[bKUJI] -peggy_denom = ibc/5C48695BF3A6BCC5DD147CC1A2D09DC1A30683FE369BF472704A52CF9D59B42D -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712063630.920057621InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712063630.920057621InjUsdt30d1.12C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712583066.521732861InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712583066.521732861InjUsdt18d0.9P +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712583066.521732861InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712583066.521732861InjUsdt24d1.17C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712583066.521732861InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712583066.521732861InjUsdt30d1.12C +decimals = 0 + +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713104421.579085515InjUsdt18d0.9P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713104421.579085515InjUsdt18d0.9P +decimals = 0 -[bLUNA] -peggy_denom = ibc/C9D55B62C9D9CA84DD94DC019009B840DDFD861BF2F33F7CF2A8A74933797680 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713104421.579085515InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713104421.579085515InjUsdt24d1.17C +decimals = 0 -[bNEO] -peggy_denom = ibc/48F6A028444987BB26299A074A5C32DC1679A050D5563AC10FF81EED9E22D8B8 -decimals = 8 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713104421.579085515InjUsdt30d1.12C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713104421.579085515InjUsdt30d1.12C +decimals = 0 -[bOSMO] -peggy_denom = ibc/C949BEFD9026997A65D0125340B096AA809941B3BB13D6C2D1E8E4A17F2130C4 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713342050InjUsdt18d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713342050InjUsdt18d1.13C +decimals = 0 -[bWHALE] -peggy_denom = ibc/ECB0AA28D6001EF985047558C410B65581FC85BD92D4E3CFCCA0D3D964C67CC2 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713356956InjUsdt18d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713356956InjUsdt18d1.13C +decimals = 0 -[baby INJ] -peggy_denom = inj1j0l9t4n748k2zy8zm7yfwjlpkf069d2jslfh3d -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618016InjUsdt18d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618016InjUsdt18d1.13C +decimals = 0 -[babyBENANCE] -peggy_denom = inj1rfv2lhr0qshztmk86f05vdmx2sft9zs6cc2ltj -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618016InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618016InjUsdt24d1.17C +decimals = 0 -[babyCLON] -peggy_denom = inj1pyghkw9q0kx8mnuhcxpqnczfxst0way2ep9s54 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618016InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618016InjUsdt28d1.13C +decimals = 0 -[babyCOKE] -peggy_denom = inj15sslujc0pv3kdjsw0fhzvclwmgv2zh7a00fcx5 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618060InjUsdt16d0.89P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618060InjUsdt16d0.89P +decimals = 0 -[babyDIB] -peggy_denom = inj1tquat4mh95g33q5rhg5c72yh6j6x5w3p6ynuqg -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713974295InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713974295InjUsdt28d1.13C +decimals = 0 -[babyDOJO] -peggy_denom = inj10ny97fhd827s3u4slfwehu7m5swnpnmwzxsc40 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713974528InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713974528InjUsdt16d0.85P +decimals = 0 -[babyDRAGON] -peggy_denom = inj1lfemyjlce83a7wre4k5kzd8zyytqavran5ckkv -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713974528InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713974528InjUsdt24d1.17C +decimals = 0 -[babyDRUGS] -peggy_denom = inj1nqcrsh0fs60k06mkc2ptxa9l4g9ktu4jct8z2w -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714309564InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714309564InjUsdt16d0.85P +decimals = 0 -[babyDrugs] -peggy_denom = inj1457z9m26aqvga58demjz87uyt6su7hyf65aqvr -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714309564InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714309564InjUsdt24d1.17C +decimals = 0 -[babyGINGER] -peggy_denom = inj1y4dk7ey2vrd4sqems8hnzh2ays8swealvfzdmg -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714309564InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714309564InjUsdt28d1.13C +decimals = 0 -[babyINJUSSY] -peggy_denom = inj10jl28fj7yc2pmj7p08vmaa85nxm4a09kteqng0 -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714658833InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714658833InjUsdt16d0.85P +decimals = 0 -[babyJUNIORES] -peggy_denom = inj1m4k5fcjz86dyz25pgagj50jcydh9llvpw8lxyj -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714658833InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714658833InjUsdt24d1.17C +decimals = 0 -[babyKAGE] -peggy_denom = inj12gh464eqc4su4qd3frxxlyjymf0nhzgzm9a203 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714658833InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714658833InjUsdt28d1.13C +decimals = 0 -[babyKANGAROO] -peggy_denom = inj12s9a6vnmgyf8vx448cmt2hzmhhfuptw8agn2xs -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715000420InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715000420InjUsdt16d0.85P +decimals = 0 -[babyKOALA] -peggy_denom = inj19lm6nrfvam539ahr0c8nuapfh6xzlhjaxv2a39 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715000420InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715000420InjUsdt24d1.17C +decimals = 0 -[babyMONKS] -peggy_denom = inj17udts7hdggcurc8892tmd7y56w5dkxsgv2v6eu -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715000420InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715000420InjUsdt28d1.13C +decimals = 0 -[babyNINJA] -peggy_denom = inj1n8883sfdp3cufstk05sd8dkp7pcdxr3m2fp24m -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715346009InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715346009InjUsdt16d0.85P +decimals = 0 -[babyNONJA] -peggy_denom = inj15hxdpukklz4c4f3l20rl50h9wqa7rams74gyah -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715346009InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715346009InjUsdt24d1.17C +decimals = 0 -[babyPANDA] -peggy_denom = inj1lpu8rcw04zenfwkxdld2dm2pd70g7yv6hz7dnf -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715346009InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715346009InjUsdt28d1.13C +decimals = 0 -[babyPING] -peggy_denom = inj17fa3gt6lvwj4kguyulkqrc0lcmxcgcqr7xddr0 -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715691712InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715691712InjUsdt16d0.85P +decimals = 0 -[babySAMURAI] -peggy_denom = inj1arnd0xnxzg4qgxn4kupnzsra2a0rzrspwpwmrs -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715691712InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715691712InjUsdt24d1.17C +decimals = 0 -[babySHEROOM] -peggy_denom = inj1cmw4kwqkhwzx6ha7d5e0fu9zj7aknn4mxqqtf0 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715691712InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715691712InjUsdt28d1.13C +decimals = 0 -[babySHROOM] -peggy_denom = inj14zxwefzz5p3l4mltlzgmfwh2jkgjqum256qhna -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716037433InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716037433InjUsdt16d0.85P +decimals = 0 -[babySMELLY] -peggy_denom = inj16hl3nlwlg2va07y4zh09vzh9xtxy6uwpmy0f5l -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716037433InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716037433InjUsdt24d1.17C +decimals = 0 -[babySPUUN] -peggy_denom = inj1cjvssl698h094n6c2uqdx75degfewey26yt6uw -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716037433InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716037433InjUsdt28d1.13C +decimals = 0 -[babyYAKUZA] -peggy_denom = inj1rep4p2x86avty00qvgcu4vfhywmsznf42jdpzs -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716385437InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716385437InjUsdt16d0.85P +decimals = 0 -[babyYKZ] -peggy_denom = inj16wa97auct633ft6cjzr22xv2pxvym3k38rzskc -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716385437InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716385437InjUsdt24d1.17C +decimals = 0 -[babyYODA] -peggy_denom = factory/inj1qpv9su9nkkka5djeqjtt5puwn6lw90eh0yfy0f/babyYODA -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716385437InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716385437InjUsdt28d1.13C +decimals = 0 -[babyshroomin] -peggy_denom = inj1qgcfkznvtw96h950wraae20em9zmhtcm0rws68 -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716728415InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716728415InjUsdt16d0.85P +decimals = 0 -[bapc] -peggy_denom = inj13j4ymx9kz3cdasg0e00tsc8ruq03j6q8fftcll -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716728415InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716728415InjUsdt24d1.17C +decimals = 0 -[beef] -peggy_denom = factory/inj18xg8yh445ernwxdquklwpngffqv3agfyt5uqqs/beef -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716728415InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716728415InjUsdt28d1.13C +decimals = 0 -[bellboy] -peggy_denom = inj1ywvmwtpe253qhtrnvratjqmhy4aar4yl5an9dk -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717074021InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717074021InjUsdt16d0.85P +decimals = 0 -[bobmarley] -peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/bobmarley -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717074021InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717074021InjUsdt24d1.17C +decimals = 0 -[bobo] -peggy_denom = factory/inj1ne49gse9uxujj3fjdc0evxez4yeq9k2larmuxu/bobo -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717074021InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717074021InjUsdt28d1.13C +decimals = 0 -[boden] -peggy_denom = factory/inj1c0f9ze9wh2xket0zs6wy59v66alwratsdx648k/boden -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717419602InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717419602InjUsdt16d0.85P +decimals = 0 -[boneWHALEt] -peggy_denom = ibc/F993B2C44A70D8B97B09581F12CF1A68A38DF8BBCFBA9F82016984138C718A57 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717419602InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717419602InjUsdt24d1.17C +decimals = 0 -[bonja the bad ninja] -peggy_denom = inj155fauc0h355fk5t9qa2x2uzq7vlt26sv0u08fp -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717419602InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717419602InjUsdt28d1.13C +decimals = 0 -[bonkinu] -peggy_denom = factory/inj1936pplnstvecjgttz9eug83x2cs7xs2emdad4z/bonkinu -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717769182InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717769182InjUsdt16d0.85P +decimals = 0 -[bonkmas] -peggy_denom = factory/inj17a0fp4rguzgf9mwz90y2chc3lr445nujdwc063/bonkmas -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717769182InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717769182InjUsdt24d1.17C +decimals = 0 -[bozo] -peggy_denom = inj14r42t23gx9yredm37q3wjw3vx0q6du85vuugdr -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717769182InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717769182InjUsdt28d1.13C +decimals = 0 -[brian] -peggy_denom = factory/inj1pgkwcngxel97d9qjvg75upe8y3lvvzncq5tdr0/brian -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718110812InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718110812InjUsdt16d0.85P +decimals = 0 -[burn] -peggy_denom = inj1p6h58futtvzw5gdjs30fqv4l9ljq8aepk3e0k5 -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718110812InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718110812InjUsdt24d1.17C +decimals = 0 -[cartel] -peggy_denom = ibc/FDD71937DFA4E18BBF16734EB0AD0EFA9F7F1B0F21D13FAF63F0B4F3EA7DEF28 -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718110812InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718110812InjUsdt28d1.13C +decimals = 0 -[cat] -peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/cat -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718456416InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718456416InjUsdt16d0.85P +decimals = 0 -[cbETH] -peggy_denom = ibc/545E97C6EFB2633645720DEBCA78B2BE6F5382C4693EA7DEB2D4C456371EA4F0 -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718456416InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718456416InjUsdt24d1.17C +decimals = 0 -[ccsl] -peggy_denom = inj1mpande8tekavagemc998amgkqr5yte0qdvaaah -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718456416InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718456416InjUsdt28d1.13C +decimals = 0 -[cdj] -peggy_denom = inj1qwx2gx7ydumz2wt43phzkrqsauqghvct48pplw -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718802323InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718802323InjUsdt16d0.85P +decimals = 0 -[chad] -peggy_denom = factory/inj182lgxnfnztjalxqxcjn7jal27w7xg28aeygwd9/chad -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718802323InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718802323InjUsdt24d1.17C +decimals = 0 -[coke] -peggy_denom = factory/inj1cdlqynzr2ktn54l3azhlulzkyksuw8yj3mfadx/coke -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718802323InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718802323InjUsdt28d1.13C +decimals = 0 -[cook] -peggy_denom = factory/inj1cadquzdmqe04hyjfyag3d9me9vxh9t6py383sy/cook -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719147607InjUsdt16d0.85P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719147607InjUsdt16d0.85P +decimals = 0 -[cookie] -peggy_denom = factory/inj1cadquzdmqe04hyjfyag3d9me9vxh9t6py383sy/cookie -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719147607InjUsdt24d1.17C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719147607InjUsdt24d1.17C +decimals = 0 -[crypto] -peggy_denom = inj19w5ntlx023v9rnecjuy7yem7s5lrg5gxlfrxfj -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719147607InjUsdt28d1.13C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719147607InjUsdt28d1.13C +decimals = 0 -[cw20:terra1nsuqsk6kh58ulczatwev87ttq2z6r3pusulg9r24mfj2fvtzd4uq3exn26] -peggy_denom = ibc/D18907CCF379EEA71AE2C3725A135AE678A67A35B7C6556A77A4E0B3520F7854 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719493268InjUsdt16d0.82P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719493268InjUsdt16d0.82P decimals = 0 -[dINJ] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj134wfjutywny9qnyux2xgdmm0hfj7mwpl39r3r9 -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719493268InjUsdt24d1.25C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719493268InjUsdt24d1.25C +decimals = 0 -[dYdX] -peggy_denom = peggy0x92D6C1e31e14520e676a687F0a93788B716BEff5 -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719493268InjUsdt28d1.18C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719493268InjUsdt28d1.18C +decimals = 0 -[dab] -peggy_denom = inj1a93l8989wmjupyq4ftnu06836n2jjn7hjee68d -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719804902InjUsdt16d0.82P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719804902InjUsdt16d0.82P +decimals = 0 -[dada] -peggy_denom = inj1yqwjse85pqmum5pkyxz9x4aqdz8etwhervtv66 -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719804902InjUsdt28d1.18C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719804902InjUsdt28d1.18C +decimals = 0 -[dalton] -peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/dalton -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719805152InjUsdt24d1.25C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719805152InjUsdt24d1.25C +decimals = 0 -[devUSDC] -peggy_denom = inj13mpkggs6t62kzt6pjd6guqfy6naljpp2jd3eue -decimals = 8 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720184412InjUsdt16d0.82P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720184412InjUsdt16d0.82P +decimals = 0 -[dmo] -peggy_denom = inj1z7d2f66wh0r653qp7lqpj6tx3z0yetnjahnsrd -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720184412InjUsdt24d1.25C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720184412InjUsdt24d1.25C +decimals = 0 -[dmoone] -peggy_denom = inj12qlppehc4fsfduv46gmtgu5n38ngl6annnr4r4 -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720184412InjUsdt28d1.18C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720184412InjUsdt28d1.18C +decimals = 0 -[dmotree] -peggy_denom = inj15x7u49kw47krzlhrrj9mr5gq20d3797kv3fh3y -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720530062InjUsdt16d0.82P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720530062InjUsdt16d0.82P +decimals = 0 -[dmotwo] -peggy_denom = inj1tegs6sre80hhvyj204x5pu52e5p3p9pl9vy4ue -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720530062InjUsdt24d1.25C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720530062InjUsdt24d1.25C +decimals = 0 -[dogwifhat] -peggy_denom = inj1802ascnwzdhvv84url475eyx26ptuc6jc590nl -decimals = 8 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720530062InjUsdt28d1.18C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720530062InjUsdt28d1.18C +decimals = 0 -[dogwifshoess] -peggy_denom = factory/inj10edtfelcttj3s98f755ntfplt0da5xv4z8z0lf/dogwifshoess -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720875614InjUsdt16d0.82P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720875614InjUsdt16d0.82P +decimals = 0 -[dojo] -peggy_denom = inj1p0ccaveldsv7hq4s53378und5ke9jz24rtsr9z -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720875614InjUsdt24d1.25C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720875614InjUsdt24d1.25C +decimals = 0 -[dojodoge] -peggy_denom = inj1nueaw6mc7t7703t65f7xamj63zwaew3dqx90sn -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720875614InjUsdt28d1.18C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720875614InjUsdt28d1.18C +decimals = 0 -[dojodojo] -peggy_denom = inj1ht0qh7csdl3txk6htnalf8qpz26xzuq78x7h87 -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721221498InjUsdt16d0.82P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721221498InjUsdt16d0.82P +decimals = 0 -[dojoinu] -peggy_denom = inj14hszr5wnhshu4zre6e4l5ae2el9v2420eypu6k -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721221498InjUsdt24d1.25C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721221498InjUsdt24d1.25C +decimals = 0 -[dojoswap] -peggy_denom = inj1tml6e474rxgc0gc5pd8ljmheqep5wrqrm9m9ks -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721221498InjUsdt28d1.18C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721221498InjUsdt28d1.18C +decimals = 0 -[done] -peggy_denom = factory/inj12yazr8lq5ptlz2qj9y36v8zwmz90gy9gh35026/done -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721566814InjUsdt16d0.82P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721566814InjUsdt16d0.82P +decimals = 0 -[dontbuy] -peggy_denom = factory/inj1vg2vj46d3cy54l63qkjprtcnel2svkjhgwkfhy/dontbuy -decimals = 10 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721566814InjUsdt24d1.25C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721566814InjUsdt24d1.25C +decimals = 0 -[dsINJ] -peggy_denom = inj1nfsxxz3q59f0yyqsjjnr7ze020klxyfefy6wcg -decimals = 6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721566814InjUsdt28d1.18C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721566814InjUsdt28d1.18C +decimals = 0 -[dtwo] -peggy_denom = factory/inj12yazr8lq5ptlz2qj9y36v8zwmz90gy9gh35026/dtwo -decimals = 12 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721912418InjUsdt16d0.82P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721912418InjUsdt16d0.82P +decimals = 0 -[enuk] -peggy_denom = inj1x0km562rxugpvxq8nucy7pdmefguv6xxumng27 -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721912418InjUsdt24d1.25C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721912418InjUsdt24d1.25C +decimals = 0 -[erc20/0x655ecB57432CC1370f65e5dc2309588b71b473A9] -peggy_denom = ibc/D5AF5FAEA92918A24ACBF0DEB61C674C8951A97D13CFBF7F6617280E82ECB1E6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721912418InjUsdt28d1.18C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721912418InjUsdt28d1.18C decimals = 0 -[erc20/tether/usdt] -peggy_denom = ibc/9D592A0F3E812505C6B3F7860458B7AC4DBDECACC04A2602FC13ED0AB6C762B6 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1722259395InjUsdt16d0.82P] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1722259395InjUsdt16d0.82P decimals = 0 -[estamina] -peggy_denom = inj1sklu3me2d8e2e0k6eu83t4pzcnleczal7d2zra -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1722259395InjUsdt24d1.25C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1722259395InjUsdt24d1.25C +decimals = 0 -[estate] -peggy_denom = inj16mx8h5updpwkslymehlm0wq84sckaytru0apvx -decimals = 18 +[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1722259395InjUsdt28d1.18C] +peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1722259395InjUsdt28d1.18C +decimals = 0 -[ezETH] -peggy_denom = peggy0xbf5495Efe5DB9ce00f80364C8B423567e58d2110 -decimals = 18 +[factory/inj1csmzuxsp5vp2ng5cue7wdknudk8m69wlr62rq5/uLP] +peggy_denom = factory/inj1csmzuxsp5vp2ng5cue7wdknudk8m69wlr62rq5/uLP +decimals = 0 -[fUSDT] -peggy_denom = peggy0x81994b9607e06ab3d5cF3AffF9a67374f05F27d7 -decimals = 8 +[factory/inj1cus3dx8lxq2h2y9mzraxagaw8kjjcx6ul5feak/EA] +peggy_denom = factory/inj1cus3dx8lxq2h2y9mzraxagaw8kjjcx6ul5feak/EA +decimals = 0 -[factory/chihuahua1x4q2vkrz4dfgd9hcw0p5m2f2nuv2uqmt9xr8k2/achihuahuawifhat] -peggy_denom = ibc/F8AB96FFB2BF8F69AA42481D43B24E9121FF7403A4E95673D9135128CA769577 +[factory/inj1cuv9fu0p28u60e5rtw7u6pch8zdm840zctlx84/position] +peggy_denom = factory/inj1cuv9fu0p28u60e5rtw7u6pch8zdm840zctlx84/position decimals = 0 -[factory/inj102jhts2dfqh80nygmzx8hzxl9nm282vnstf5w6/position] -peggy_denom = factory/inj102jhts2dfqh80nygmzx8hzxl9nm282vnstf5w6/position +[factory/inj1cvhsxdjs64q9l83s7twdhsw3vjx54haqgv2d6k/position] +peggy_denom = factory/inj1cvhsxdjs64q9l83s7twdhsw3vjx54haqgv2d6k/position decimals = 0 -[factory/inj1043hsv3ug5z9updx32a0a3rae87w6fzlzhcjm4/INJ] -peggy_denom = factory/inj1043hsv3ug5z9updx32a0a3rae87w6fzlzhcjm4/INJ +[factory/inj1cxcjn04l2vxg4zwrlhpghh32fdel856xn3a3rr/BONK] +peggy_denom = factory/inj1cxcjn04l2vxg4zwrlhpghh32fdel856xn3a3rr/BONK decimals = 6 -[factory/inj106etgay573e32ksysc9dpdrynxhk7kkmaclhfc/stark] -peggy_denom = ibc/81B0CF8BB06F95247E3680844D0CB3889ACB2662B3AE2458C2370985BF4BD00B +[factory/inj1d4zluv70jrx4nl68fp7rqjhpq7egdey2433l96/position] +peggy_denom = factory/inj1d4zluv70jrx4nl68fp7rqjhpq7egdey2433l96/position decimals = 0 -[factory/inj107grqcr0ugrx8jt8rdyru2ywmfngz5lrermw8q/INJ] -peggy_denom = factory/inj107grqcr0ugrx8jt8rdyru2ywmfngz5lrermw8q/INJ +[factory/inj1d5fe04g9xa577e2zn82n4m0ksq8wp8vxgvfupw/PINKIE] +peggy_denom = factory/inj1d5fe04g9xa577e2zn82n4m0ksq8wp8vxgvfupw/PINKIE decimals = 6 -[factory/inj107zjs4j5p92pl78kwfulh8ea7nqhlq8fj6s6fr/INJ] -peggy_denom = factory/inj107zjs4j5p92pl78kwfulh8ea7nqhlq8fj6s6fr/INJ -decimals = 6 +[factory/inj1d80r2q4lcsajwr494wyswykn46smag0yy8scfv/position] +peggy_denom = factory/inj1d80r2q4lcsajwr494wyswykn46smag0yy8scfv/position +decimals = 0 -[factory/inj10cplvlvpnkd9ch5cfw7gn9ed9vhlkzg0y73w8y/INJ] -peggy_denom = factory/inj10cplvlvpnkd9ch5cfw7gn9ed9vhlkzg0y73w8y/INJ -decimals = 6 +[factory/inj1dg6eay6q34r2eh88u6hghlz5r3y25n2wpp494v/position] +peggy_denom = factory/inj1dg6eay6q34r2eh88u6hghlz5r3y25n2wpp494v/position +decimals = 0 -[factory/inj10pz3xq7zf8xudqxaqealgyrnfk66u3c99ud5m2/ROAR] -peggy_denom = factory/inj10pz3xq7zf8xudqxaqealgyrnfk66u3c99ud5m2/ROAR +[factory/inj1dl8d43lz8ctmtka5d0tta8yj2urmgal7fgqcmh/position] +peggy_denom = factory/inj1dl8d43lz8ctmtka5d0tta8yj2urmgal7fgqcmh/position decimals = 0 -[factory/inj10t3rc9u6hpvwm3kq8fx648z5elv2use4mtc8cv/INJ] -peggy_denom = factory/inj10t3rc9u6hpvwm3kq8fx648z5elv2use4mtc8cv/INJ +[factory/inj1dpyjsuehlrsmr78cddezd488euydtew3vukjmf/INJ] +peggy_denom = factory/inj1dpyjsuehlrsmr78cddezd488euydtew3vukjmf/INJ decimals = 6 -[factory/inj10w0glw8d30weulv3pu6r7mx6vmflxyck27fqkd/INJ] -peggy_denom = factory/inj10w0glw8d30weulv3pu6r7mx6vmflxyck27fqkd/INJ +[factory/inj1drpns3cxn82e5q0nmmdaz8zxmla5lqsh6txmc9/position] +peggy_denom = factory/inj1drpns3cxn82e5q0nmmdaz8zxmla5lqsh6txmc9/position +decimals = 0 + +[factory/inj1dvr32vqxs8m6tmzv50xnnpzgph0wxp2jcfvl4u/INJ] +peggy_denom = factory/inj1dvr32vqxs8m6tmzv50xnnpzgph0wxp2jcfvl4u/INJ decimals = 6 -[factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/EA] -peggy_denom = factory/inj1238tn4srtzzplhgtd7fdrzdrf77hf9fye6q2xa/EA +[factory/inj1dwfggufv8vkjcfkuk7fkkucs4rje0krav9ruyr/presale] +peggy_denom = factory/inj1dwfggufv8vkjcfkuk7fkkucs4rje0krav9ruyr/presale decimals = 0 -[factory/inj1255swku4m04m533wmkmtmvhnh77zrk83dqgwfr/position] -peggy_denom = factory/inj1255swku4m04m533wmkmtmvhnh77zrk83dqgwfr/position +[factory/inj1dxprjkxz06cpahgqrv90hug9d8z504j52ms07n/test] +peggy_denom = factory/inj1dxprjkxz06cpahgqrv90hug9d8z504j52ms07n/test decimals = 0 -[factory/inj125anxwhzcsqksvthce0xhktqhn4x406vfgxasx/INJ] -peggy_denom = factory/inj125anxwhzcsqksvthce0xhktqhn4x406vfgxasx/INJ -decimals = 6 +[factory/inj1e2pu02vjnh27mte3s0wqld9f85mzglyrxxuuvz/position] +peggy_denom = factory/inj1e2pu02vjnh27mte3s0wqld9f85mzglyrxxuuvz/position +decimals = 0 -[factory/inj12dgml8gwd2v88yn0kfcs6mtkmvlu32llekfzzv/position] -peggy_denom = factory/inj12dgml8gwd2v88yn0kfcs6mtkmvlu32llekfzzv/position +[factory/inj1e60tjgqhfsxutrcvklhgc7gechtq3pcej8gy4e/position] +peggy_denom = factory/inj1e60tjgqhfsxutrcvklhgc7gechtq3pcej8gy4e/position decimals = 0 -[factory/inj12vhmdjtvyxzr0vmg5znxvhw7dsakjuj7adz5a4/INJ] -peggy_denom = factory/inj12vhmdjtvyxzr0vmg5znxvhw7dsakjuj7adz5a4/INJ +[factory/inj1e66ekacsxnv60yk006mymnrprged95n6crzzwg/INJ] +peggy_denom = factory/inj1e66ekacsxnv60yk006mymnrprged95n6crzzwg/INJ decimals = 6 -[factory/inj12wkmu2y4vp0hg69k36pkve6rgczwga0yzff7ha/position] -peggy_denom = factory/inj12wkmu2y4vp0hg69k36pkve6rgczwga0yzff7ha/position +[factory/inj1e6wv0fn2cggsgwlmywp9u5pyd0zcx5vth3djrv/position] +peggy_denom = factory/inj1e6wv0fn2cggsgwlmywp9u5pyd0zcx5vth3djrv/position decimals = 0 -[factory/inj12ytu4vvxmsclxuqm9w0g2jazllvztlvdxjdvvg/INJ] -peggy_denom = factory/inj12ytu4vvxmsclxuqm9w0g2jazllvztlvdxjdvvg/INJ +[factory/inj1e94cdzndq5xr2lx5dsjnz0ts5lm8nc8k9wanax/INJ] +peggy_denom = factory/inj1e94cdzndq5xr2lx5dsjnz0ts5lm8nc8k9wanax/INJ decimals = 6 -[factory/inj133np9gr58athpjgv3d9cuzmaed84gnm95sp97h/LowQ] -peggy_denom = factory/inj133np9gr58athpjgv3d9cuzmaed84gnm95sp97h/LowQ +[factory/inj1ea4p8khg0e4zusfv339cy5h9h3myctfcl74ee6/INJ] +peggy_denom = factory/inj1ea4p8khg0e4zusfv339cy5h9h3myctfcl74ee6/INJ decimals = 6 -[factory/inj138fs6ctxd0vwsn7xmw0v29a2jxe3s7uhgn405w/position] -peggy_denom = factory/inj138fs6ctxd0vwsn7xmw0v29a2jxe3s7uhgn405w/position +[factory/inj1egnhxmtnh76p2lgdky8985msrue92ag499ev6w/position] +peggy_denom = factory/inj1egnhxmtnh76p2lgdky8985msrue92ag499ev6w/position decimals = 0 -[factory/inj13jjz8nlt7wjpt5m2semml2ytdjkfrltnjtphsv/position] -peggy_denom = factory/inj13jjz8nlt7wjpt5m2semml2ytdjkfrltnjtphsv/position +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/GINGER.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/GINGER.ash decimals = 0 -[factory/inj13qr6jk3y20ulaj3mvjzn2rnxx9y8d8nl7ahxpg/position] -peggy_denom = factory/inj13qr6jk3y20ulaj3mvjzn2rnxx9y8d8nl7ahxpg/position +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/HACHI.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/HACHI.ash decimals = 0 -[factory/inj13xdqhnegnj37fna95nyjtj68cyk4exut9mp9am/position] -peggy_denom = factory/inj13xdqhnegnj37fna95nyjtj68cyk4exut9mp9am/position +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/Hava.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/Hava.ash decimals = 0 -[factory/inj13xwndajdxqz2jjg05caycedjdj099vy2mzdha2/INJ] -peggy_denom = factory/inj13xwndajdxqz2jjg05caycedjdj099vy2mzdha2/INJ -decimals = 6 - -[factory/inj140z6rk5x40rn842c648yvgl9zp7q206gyvj3w4/INJ] -peggy_denom = factory/inj140z6rk5x40rn842c648yvgl9zp7q206gyvj3w4/INJ -decimals = 6 +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/KIRA.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/KIRA.ash +decimals = 0 -[factory/inj144javr53kzz7qedyynwrpa83tnykw9lrzzxsr9/position] -peggy_denom = factory/inj144javr53kzz7qedyynwrpa83tnykw9lrzzxsr9/position +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/SYN.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/SYN.ash decimals = 0 -[factory/inj1499ez5npathr0zkphz2yq6npdfc6xvg3d4zynj/ISILLY] -peggy_denom = factory/inj1499ez5npathr0zkphz2yq6npdfc6xvg3d4zynj/ISILLY -decimals = 6 +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/Talis.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/Talis.ash +decimals = 0 -[factory/inj14czx0fv80fnkfxtj9zn9wg7thdca8ynlu6vrg8/INJ] -peggy_denom = factory/inj14czx0fv80fnkfxtj9zn9wg7thdca8ynlu6vrg8/INJ -decimals = 6 +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/autism.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/autism.ash +decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj100cpphf3gjq4xwzaun8dm22h6zk6tjlzl57uhe] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj100cpphf3gjq4xwzaun8dm22h6zk6tjlzl57uhe +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/coping.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/coping.ash decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj109hqm6wdaq2f6nlvrf46f4gj7rwl55nmhmcslp] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj109hqm6wdaq2f6nlvrf46f4gj7rwl55nmhmcslp +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/inj.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/inj.ash decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10dctm5qkm722pgazwq0wy9lxnzh8mlnnv9mr65] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10dctm5qkm722pgazwq0wy9lxnzh8mlnnv9mr65 +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/katana.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/katana.ash decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10hyl7t5zxrs83thk33yk90lue34lttf9wuccf8] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10hyl7t5zxrs83thk33yk90lue34lttf9wuccf8 +[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/ninja.ash] +peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/ninja.ash decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10nfzrxq5jl9v3ymyuna49jhhxe3x4yd2sxxs8p] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10nfzrxq5jl9v3ymyuna49jhhxe3x4yd2sxxs8p +[factory/inj1ejwjldm2k7k9zcgzvglkht5hhxg50lcnnnud9l/position] +peggy_denom = factory/inj1ejwjldm2k7k9zcgzvglkht5hhxg50lcnnnud9l/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10x6rq57rhc7ekce0jgzcjl3ywplcjh66ufqanv] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj10x6rq57rhc7ekce0jgzcjl3ywplcjh66ufqanv +[factory/inj1ekmnc56xkc3cl7wzrew8q89700vtry5wnjlgqw/INJ] +peggy_denom = factory/inj1ekmnc56xkc3cl7wzrew8q89700vtry5wnjlgqw/INJ +decimals = 6 + +[factory/inj1em0ejkywcq6lnzpgj9wx7z4jx7r9gpcntys04x/INJ] +peggy_denom = factory/inj1em0ejkywcq6lnzpgj9wx7z4jx7r9gpcntys04x/INJ +decimals = 6 + +[factory/inj1ep9yuk86cwdeaytmgsz3hz7qsargsn4sgnlrrs/INJ] +peggy_denom = factory/inj1ep9yuk86cwdeaytmgsz3hz7qsargsn4sgnlrrs/INJ +decimals = 6 + +[factory/inj1evy243kr8kh8prtgwv8vtvtj6m5vcahpt94f28/position] +peggy_denom = factory/inj1evy243kr8kh8prtgwv8vtvtj6m5vcahpt94f28/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj12sl2vnrja04juaan5rt3pn4h3lwa6d9348yh6h] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj12sl2vnrja04juaan5rt3pn4h3lwa6d9348yh6h +[factory/inj1ezvtzukpf6x7aa4p52sejvyky8lkl6l5j47tym/position] +peggy_denom = factory/inj1ezvtzukpf6x7aa4p52sejvyky8lkl6l5j47tym/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13844sjp45gta5hshs0avptawnptz23gfdjy8eg] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13844sjp45gta5hshs0avptawnptz23gfdjy8eg +[factory/inj1f4u2643nw7ennyadqmv428fmhg56jduc90xpgy/position] +peggy_denom = factory/inj1f4u2643nw7ennyadqmv428fmhg56jduc90xpgy/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13j6rdjsakqt6ymv48ytfkr563k7h9mc9h9lh5s] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13j6rdjsakqt6ymv48ytfkr563k7h9mc9h9lh5s +[factory/inj1f79dkr20ax43ah3c3velf3ttxjdqe645k5rws3/position] +peggy_denom = factory/inj1f79dkr20ax43ah3c3velf3ttxjdqe645k5rws3/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13qqk8lgn6x68r34c9w938vxwmxm5pl72kzjufq] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13qqk8lgn6x68r34c9w938vxwmxm5pl72kzjufq +[factory/inj1fa8ayqjnzup3af2heatnlyvmr2ljjm5f8x83fn/position] +peggy_denom = factory/inj1fa8ayqjnzup3af2heatnlyvmr2ljjm5f8x83fn/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13tqf9a4tssf8gsqejecp90a03nvfpa2h29sc6y] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13tqf9a4tssf8gsqejecp90a03nvfpa2h29sc6y +[factory/inj1faqh7wcap9h2z007yx63eqvpqlzghdmser5l7u/position] +peggy_denom = factory/inj1faqh7wcap9h2z007yx63eqvpqlzghdmser5l7u/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13w3fqm6zn068slf6mh4jvf7lxva4qdchrlws9u] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13w3fqm6zn068slf6mh4jvf7lxva4qdchrlws9u +[factory/inj1ff64ftrd6plvxurruzh3kthaxk5h050e0s5t95/position] +peggy_denom = factory/inj1ff64ftrd6plvxurruzh3kthaxk5h050e0s5t95/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj147ymh390v733ty3l0t7yv0w3vllnky5vr78xeh] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj147ymh390v733ty3l0t7yv0w3vllnky5vr78xeh +[factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/LowQ] +peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/LowQ +decimals = 6 + +[factory/inj1frr7kyd4nuemr0hrzlqyrgc72sggv7ukc3dfx0/chain-factory] +peggy_denom = factory/inj1frr7kyd4nuemr0hrzlqyrgc72sggv7ukc3dfx0/chain-factory decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1494q6d3un6rpew6znydq0a0l5edw80gptj3p27] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1494q6d3un6rpew6znydq0a0l5edw80gptj3p27 +[factory/inj1frr7kyd4nuemr0hrzlqyrgc72sggv7ukc3dfx0/chainfactory] +peggy_denom = factory/inj1frr7kyd4nuemr0hrzlqyrgc72sggv7ukc3dfx0/chainfactory decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14fjgyt69ayhlz9gtgrutqdqyaf50wfxs7xx89e] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14fjgyt69ayhlz9gtgrutqdqyaf50wfxs7xx89e +[factory/inj1fzej8p0acdplqad876a0mdewejqwuaea9e0rjl/position] +peggy_denom = factory/inj1fzej8p0acdplqad876a0mdewejqwuaea9e0rjl/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14n26cr7dj79smrgg44hfylhph9y45h4yx5gvzm] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14n26cr7dj79smrgg44hfylhph9y45h4yx5gvzm +[factory/inj1g3xlmzw6z6wrhxqmxsdwj60fmscenaxlzfnwm7/TBT] +peggy_denom = factory/inj1g3xlmzw6z6wrhxqmxsdwj60fmscenaxlzfnwm7/TBT decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14r3dv360jptv4wugpcca4h5ychltfn8j738l6k] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14r3dv360jptv4wugpcca4h5ychltfn8j738l6k +[factory/inj1g6j6w6860sfe7um3q6ja60cktfd50a2vxxy7qr/position] +peggy_denom = factory/inj1g6j6w6860sfe7um3q6ja60cktfd50a2vxxy7qr/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14txwtn7rkt999kek39qlxwcm2fwfqzpfyrxcvq] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj14txwtn7rkt999kek39qlxwcm2fwfqzpfyrxcvq +[factory/inj1gg43076kmy0prkxtn5xxka47lfmwwjsq6ygcfa/SAMURAI] +peggy_denom = factory/inj1gg43076kmy0prkxtn5xxka47lfmwwjsq6ygcfa/SAMURAI +decimals = 6 + +[factory/inj1ghcjw8w7a7ettwn97fadhamywvwf7kk3mhkndy/DOGE] +peggy_denom = factory/inj1ghcjw8w7a7ettwn97fadhamywvwf7kk3mhkndy/DOGE +decimals = 6 + +[factory/inj1gk4thnx4t9y4ltnau60mpst5xyu0u57hqfl0qs/uLP] +peggy_denom = factory/inj1gk4thnx4t9y4ltnau60mpst5xyu0u57hqfl0qs/uLP decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1557zqvn2lwg3lvl3cfk3kurd6d2gq9klypg83g] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1557zqvn2lwg3lvl3cfk3kurd6d2gq9klypg83g +[factory/inj1gpf6gxs9hyz4jty423pxuns8cduhcuyvcxwxkv/position] +peggy_denom = factory/inj1gpf6gxs9hyz4jty423pxuns8cduhcuyvcxwxkv/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj15f3xcpv3m9wgycmgc62gn3av9k7a9lydnkcrdr] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj15f3xcpv3m9wgycmgc62gn3av9k7a9lydnkcrdr -decimals = 0 +[factory/inj1gtpdm0dt5zg7p7nf9ftghrgvyt9ftz0w3f7kfk/WIF] +peggy_denom = factory/inj1gtpdm0dt5zg7p7nf9ftghrgvyt9ftz0w3f7kfk/WIF +decimals = 6 + +[factory/inj1gutzdupyjzzk46hrpf6lsf8ul030ty8wszvpta/INJ] +peggy_denom = factory/inj1gutzdupyjzzk46hrpf6lsf8ul030ty8wszvpta/INJ +decimals = 6 + +[factory/inj1h2dqvlca2lay8amfk5fgvateslp3h0sgf8wmmp/geisha] +peggy_denom = factory/inj1h2dqvlca2lay8amfk5fgvateslp3h0sgf8wmmp/geisha +decimals = 6 + +[factory/inj1h3h0yjxlchmydvsjpazcfyhp57lajdurznpeh0/grinj] +peggy_denom = factory/inj1h3h0yjxlchmydvsjpazcfyhp57lajdurznpeh0/grinj +decimals = 6 + +[factory/inj1h3vcnx6f2r9hxf8mf7s3ck9pu02r3zxes6t50t/INJ] +peggy_denom = factory/inj1h3vcnx6f2r9hxf8mf7s3ck9pu02r3zxes6t50t/INJ +decimals = 6 + +[factory/inj1h4ppr74nmqmftmzd8d54nk439rftyxaxgx42fa/INJ] +peggy_denom = factory/inj1h4ppr74nmqmftmzd8d54nk439rftyxaxgx42fa/INJ +decimals = 6 + +[factory/inj1h75s3ne4vjpp3wtf300uv2xuz7r9lt2xu87jjk/BAT] +peggy_denom = factory/inj1h75s3ne4vjpp3wtf300uv2xuz7r9lt2xu87jjk/BAT +decimals = 6 + +[factory/inj1hgs8gzt3ww6t6p5f3xvfjugk72h4lechll2qer/SEI] +peggy_denom = factory/inj1hgs8gzt3ww6t6p5f3xvfjugk72h4lechll2qer/SEI +decimals = 6 + +[factory/inj1hkzntx25hpq37dfrms6ymtrch8dskx8t8u0e5r/INJ] +peggy_denom = factory/inj1hkzntx25hpq37dfrms6ymtrch8dskx8t8u0e5r/INJ +decimals = 6 + +[factory/inj1hteau2zqjwn2m62zshrg2v30hvhpwwrkymsaeq/INJ] +peggy_denom = factory/inj1hteau2zqjwn2m62zshrg2v30hvhpwwrkymsaeq/INJ +decimals = 6 + +[factory/inj1hvhtcmzphss9ks9rlst8xshw00dqq3nvdazm6w/cheems] +peggy_denom = factory/inj1hvhtcmzphss9ks9rlst8xshw00dqq3nvdazm6w/cheems +decimals = 6 + +[factory/inj1j4vj8qzqyyf77ffxnwxwtm4lqvsalzfqg0yk9v/KIMJ] +peggy_denom = factory/inj1j4vj8qzqyyf77ffxnwxwtm4lqvsalzfqg0yk9v/KIMJ +decimals = 6 + +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TESTSP] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TESTSP +decimals = 6 + +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TESTSTAYAWAY] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TESTSTAYAWAY +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj15hgev8qm20mhttw6xrjts37puqm068dfupj5m2] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj15hgev8qm20mhttw6xrjts37puqm068dfupj5m2 -decimals = 0 +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TESTTSTAYAWAY] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TESTTSTAYAWAY +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj15xk5d4d3we8z9s9avcqfns2xsrqq9u5mgaw6q6] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj15xk5d4d3we8z9s9avcqfns2xsrqq9u5mgaw6q6 -decimals = 0 +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/teeeeeeeeest] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/teeeeeeeeest +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1623vfn9glj9wtd34yv3ck5z3adp673ad2ssuh2] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1623vfn9glj9wtd34yv3ck5z3adp673ad2ssuh2 -decimals = 0 +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/testinggggggg] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/testinggggggg +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj164j450vfh7chdsxdqna3925sdqg9xry38fxf4w] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj164j450vfh7chdsxdqna3925sdqg9xry38fxf4w -decimals = 0 +[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/tstttttttt] +peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/tstttttttt +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj16eggztyy9ul8hfkckwgjvj43naefhazt04ruzl] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj16eggztyy9ul8hfkckwgjvj43naefhazt04ruzl +[factory/inj1j9sczxqcyhtvt586qywk8hmz3sk4rrk8rypv28/position] +peggy_denom = factory/inj1j9sczxqcyhtvt586qywk8hmz3sk4rrk8rypv28/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj174whv2m9y92vawm0rnte3czu3g4anr56eacqpc] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj174whv2m9y92vawm0rnte3czu3g4anr56eacqpc -decimals = 0 +[factory/inj1ja9dyvqlx5u7rvlevmjwhr29p42424242pp3wn/CROCO] +peggy_denom = factory/inj1ja9dyvqlx5u7rvlevmjwhr29p42424242pp3wn/CROCO +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17e3zurs95u5rqp7amj4hz9sk43hu5n6f06n5g8] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17e3zurs95u5rqp7amj4hz9sk43hu5n6f06n5g8 -decimals = 0 +[factory/inj1jc4zt6y82gy3n0j8g2mh9n3f7fwf35sj6jq5zu/TEST] +peggy_denom = factory/inj1jc4zt6y82gy3n0j8g2mh9n3f7fwf35sj6jq5zu/TEST +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17g3sn33ld59n2uyevp833u4pwynvfw7chfcxq6] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17g3sn33ld59n2uyevp833u4pwynvfw7chfcxq6 +[factory/inj1jcvx3q6rfj7rdw60grjj3rah5uqsk64msnlafc/position] +peggy_denom = factory/inj1jcvx3q6rfj7rdw60grjj3rah5uqsk64msnlafc/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17gvlu9v8h0kk06aqf66u9zk235824ksknugpqm] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17gvlu9v8h0kk06aqf66u9zk235824ksknugpqm +[factory/inj1jdvx7mpauukwhdlgay0jgxaj393rju42ht9mkn/position] +peggy_denom = factory/inj1jdvx7mpauukwhdlgay0jgxaj393rju42ht9mkn/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17m8xuqntg5sc3m78jzajte5r4my4erwhujq3uh] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17m8xuqntg5sc3m78jzajte5r4my4erwhujq3uh -decimals = 0 +[factory/inj1jknhf2m8f9plqa2g7rm78vdhwr58nlyjfd62ru/BAMBOO] +peggy_denom = factory/inj1jknhf2m8f9plqa2g7rm78vdhwr58nlyjfd62ru/BAMBOO +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17pda96ujt7fzr3d5jmfkh4dzvrqzc0nk56kt34] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj17pda96ujt7fzr3d5jmfkh4dzvrqzc0nk56kt34 -decimals = 0 +[factory/inj1jls5kflqlfylyq42n8e5k3t6wn5jnhhlyq3w2r/INJ] +peggy_denom = factory/inj1jls5kflqlfylyq42n8e5k3t6wn5jnhhlyq3w2r/INJ +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj180zwmntk4yw8mp90qzedvgg63lc8g9ju4f79pn] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj180zwmntk4yw8mp90qzedvgg63lc8g9ju4f79pn +[factory/inj1jpaxtp8jvepvhc7pqk5xgumz3jghwuh7xrqatw/position] +peggy_denom = factory/inj1jpaxtp8jvepvhc7pqk5xgumz3jghwuh7xrqatw/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj185gqewrlde8vrqw7j8lpad67v8jfrx9u28w38t] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj185gqewrlde8vrqw7j8lpad67v8jfrx9u28w38t +[factory/inj1js4qpjl2f9cpl8s764d0y9jl96ham3g4kkaaqd/position] +peggy_denom = factory/inj1js4qpjl2f9cpl8s764d0y9jl96ham3g4kkaaqd/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj188yjwj0gpnd39ysgas0f95pngdacwma2jmm8ne] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj188yjwj0gpnd39ysgas0f95pngdacwma2jmm8ne -decimals = 0 +[factory/inj1k0mzgwd4ujuu9w95xzs8p7qu8udy3atqj3sau7/POTIN] +peggy_denom = factory/inj1k0mzgwd4ujuu9w95xzs8p7qu8udy3atqj3sau7/POTIN +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18cd8sht8pksj07z8k36rwytn6gyg3kku8x6xgq] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18cd8sht8pksj07z8k36rwytn6gyg3kku8x6xgq -decimals = 0 +[factory/inj1k2kcx5n03pe0z9rfzvs9lt764jja9xpvwrxk7c/INJDOGE] +peggy_denom = factory/inj1k2kcx5n03pe0z9rfzvs9lt764jja9xpvwrxk7c/INJDOGE +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18dc3m7xtxa6wx0auycyfrq239atvzwe9g2s0nt] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18dc3m7xtxa6wx0auycyfrq239atvzwe9g2s0nt -decimals = 0 +[factory/inj1k7ygz5ufgavnutv0hkgsz7u9g4c3yj6lq6p0jn/ELON] +peggy_denom = factory/inj1k7ygz5ufgavnutv0hkgsz7u9g4c3yj6lq6p0jn/ELON +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18ms5jl7dtdjzsj0gwceqnc46apdfym7xpjqyes] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18ms5jl7dtdjzsj0gwceqnc46apdfym7xpjqyes -decimals = 0 +[factory/inj1k7ygz5ufgavnutv0hkgsz7u9g4c3yj6lq6p0jn/MOON] +peggy_denom = factory/inj1k7ygz5ufgavnutv0hkgsz7u9g4c3yj6lq6p0jn/MOON +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18x46txl47l8gtcrl05a7xynhjx6w0xgtmnng7s] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18x46txl47l8gtcrl05a7xynhjx6w0xgtmnng7s +[factory/inj1k9jy245r9749kl008h7nf764wnrnj9kgkmj6vz/position] +peggy_denom = factory/inj1k9jy245r9749kl008h7nf764wnrnj9kgkmj6vz/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj19f6ww9peaa3tjhjynjcsxms9v4mcpqrpdxz76l] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj19f6ww9peaa3tjhjynjcsxms9v4mcpqrpdxz76l -decimals = 0 +[factory/inj1k9k62nfrsnznd2ekzgmsxr74apglqfa2h6wz9g/INJ] +peggy_denom = factory/inj1k9k62nfrsnznd2ekzgmsxr74apglqfa2h6wz9g/INJ +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj19t6urf7j7t85xa8yf5h85323j5zmvpg030dr6w] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj19t6urf7j7t85xa8yf5h85323j5zmvpg030dr6w -decimals = 0 +[factory/inj1k9tqa6al637y8qu9yvmsw3ke6r3knsn8ewv73f/test] +peggy_denom = factory/inj1k9tqa6al637y8qu9yvmsw3ke6r3knsn8ewv73f/test +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a36gng2z5p7m3ecx528zx09eclg5hsmnhrjaun] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a36gng2z5p7m3ecx528zx09eclg5hsmnhrjaun +[factory/inj1k9xr7frkwkjjsd3w9yf8kdxu7wdfqtrkp0a809/position] +peggy_denom = factory/inj1k9xr7frkwkjjsd3w9yf8kdxu7wdfqtrkp0a809/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a52nehymq2m779j7zy6ra4eus70y6dnahfs4a5] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a52nehymq2m779j7zy6ra4eus70y6dnahfs4a5 +[factory/inj1kcda2te0sjxmcvykyr9cfpleyyx283d46nkspv/test] +peggy_denom = factory/inj1kcda2te0sjxmcvykyr9cfpleyyx283d46nkspv/test decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a7wd7ks949wxzcw69n6md60c0qhykk93w0r8g6] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a7wd7ks949wxzcw69n6md60c0qhykk93w0r8g6 -decimals = 0 +[factory/inj1kf7t8qjq83gg6kn7nl5zwzscfystyqzr62ydsn/injx] +peggy_denom = factory/inj1kf7t8qjq83gg6kn7nl5zwzscfystyqzr62ydsn/injx +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a8mlar2l3r25uaxdgk0zxyapq7h0435264h8jk] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1a8mlar2l3r25uaxdgk0zxyapq7h0435264h8jk -decimals = 0 +[factory/inj1khy2c3pzu22c25z2zg3vmzh2fw7eh8yhluzlux/INJ] +peggy_denom = factory/inj1khy2c3pzu22c25z2zg3vmzh2fw7eh8yhluzlux/INJ +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1c43k77927yryd8wkzupnppen83alqkm5myt6we] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1c43k77927yryd8wkzupnppen83alqkm5myt6we -decimals = 0 +[factory/inj1kjpk9s9fm5c7ltgf54m5vz39n70x4quskl9sfu/INJ] +peggy_denom = factory/inj1kjpk9s9fm5c7ltgf54m5vz39n70x4quskl9sfu/INJ +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ceq66p5aahn6txg5fvyg4mhy2vfq00cuk75y9r] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ceq66p5aahn6txg5fvyg4mhy2vfq00cuk75y9r -decimals = 0 +[factory/inj1kk6dnn7pl7e508lj4qvllprwa44qtgf98es2ak/ENA] +peggy_denom = factory/inj1kk6dnn7pl7e508lj4qvllprwa44qtgf98es2ak/ENA +decimals = 18 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ch7unkwz0v99ynz98v5p0xae4gg0yxnjw6meg7] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ch7unkwz0v99ynz98v5p0xae4gg0yxnjw6meg7 +[factory/inj1kkarwsh947c34emv3wju779ys2tt2g76m6kequ/position] +peggy_denom = factory/inj1kkarwsh947c34emv3wju779ys2tt2g76m6kequ/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1clr2v2jwx8umtd4t3ent5la6q2ngsureenjqtg] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1clr2v2jwx8umtd4t3ent5la6q2ngsureenjqtg -decimals = 0 +[factory/inj1krsf4as63jnytzekzndlv9eflku5nmkavtr3d3/SNAPPY] +peggy_denom = factory/inj1krsf4as63jnytzekzndlv9eflku5nmkavtr3d3/SNAPPY +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ctr4vujpjvmqxxkqym9zgm76p4uf0hyklvdp25] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ctr4vujpjvmqxxkqym9zgm76p4uf0hyklvdp25 -decimals = 0 +[factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/SHRK] +peggy_denom = factory/inj1kt6ujkzdfv9we6t3ca344d3wquynrq6dg77qju/SHRK +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1cv6d835mxs5wsahaf6dp6pqs4h453s3lpk5wxd] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1cv6d835mxs5wsahaf6dp6pqs4h453s3lpk5wxd -decimals = 0 +[factory/inj1kvug5dcjdmkpdrjr088xdh9h4e8wvr04vrplmh/INJ] +peggy_denom = factory/inj1kvug5dcjdmkpdrjr088xdh9h4e8wvr04vrplmh/INJ +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d3rkrv8f4xm4zv5rcdkydy36xzdksq94ewy5md] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d3rkrv8f4xm4zv5rcdkydy36xzdksq94ewy5md +[factory/inj1l2r43rx3p79yhspt48qvtd0qvqz4zyf70puxv6/position] +peggy_denom = factory/inj1l2r43rx3p79yhspt48qvtd0qvqz4zyf70puxv6/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d4vlrslnwxn3zpq64e8z7ap04c5svu5s83f2k5] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d4vlrslnwxn3zpq64e8z7ap04c5svu5s83f2k5 +[factory/inj1lcsc97wz2ztyn50vxqz2gcdjnzf53qd3gzvdt2/position] +peggy_denom = factory/inj1lcsc97wz2ztyn50vxqz2gcdjnzf53qd3gzvdt2/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d62ry5fwsafggxu67fwhavpu3954vf5n8e5pmt] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1d62ry5fwsafggxu67fwhavpu3954vf5n8e5pmt -decimals = 0 +[factory/inj1lgq2vj9xhptzflqk05fnaf585c2vtv33s76l68/INJ] +peggy_denom = factory/inj1lgq2vj9xhptzflqk05fnaf585c2vtv33s76l68/INJ +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1dsd2d4ac60gs2sc34nmwu6x9q2h5cvdr0vz4du] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1dsd2d4ac60gs2sc34nmwu6x9q2h5cvdr0vz4du -decimals = 0 +[factory/inj1lhr06p7k3rdgk0knw5hfsde3fj87g2aq4e9a52/BINJ] +peggy_denom = factory/inj1lhr06p7k3rdgk0knw5hfsde3fj87g2aq4e9a52/BINJ +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1dtpqn48watxrezj6gg630x0xzxw4jm70mqxgpt] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1dtpqn48watxrezj6gg630x0xzxw4jm70mqxgpt +[factory/inj1ljdraxlvy4cjdhytpxd7vhw387dq0r0g0fqucd/nbla] +peggy_denom = factory/inj1ljdraxlvy4cjdhytpxd7vhw387dq0r0g0fqucd/nbla decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1e4r4gcx3z4f2cey2wyy27zcnr8tvjs0zrdvtvs] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1e4r4gcx3z4f2cey2wyy27zcnr8tvjs0zrdvtvs +[factory/inj1ljdraxlvy4cjdhytpxd7vhw387dq0r0g0fqucd/point] +peggy_denom = factory/inj1ljdraxlvy4cjdhytpxd7vhw387dq0r0g0fqucd/point decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1e7zmlmkexknfseutx2anr0mhkry8mwg000xm0r] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1e7zmlmkexknfseutx2anr0mhkry8mwg000xm0r +[factory/inj1ljdraxlvy4cjdhytpxd7vhw387dq0r0g0fqucd/zzzza] +peggy_denom = factory/inj1ljdraxlvy4cjdhytpxd7vhw387dq0r0g0fqucd/zzzza decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1elhv36r9nkw0praytqqgjpxgyd8lte7r4msp5y] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1elhv36r9nkw0praytqqgjpxgyd8lte7r4msp5y -decimals = 0 +[factory/inj1lnealva69klvt2dxpe0gxzj4a2ea7jqcjar7rq/INJ] +peggy_denom = factory/inj1lnealva69klvt2dxpe0gxzj4a2ea7jqcjar7rq/INJ +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1esca7pkwcptl7xcwfntnye9lgmqj7exnh4waqw] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1esca7pkwcptl7xcwfntnye9lgmqj7exnh4waqw -decimals = 0 +[factory/inj1lnvtsm9avzyqs67syzakg0mncq6naldlw6eqek/ELON] +peggy_denom = factory/inj1lnvtsm9avzyqs67syzakg0mncq6naldlw6eqek/ELON +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ete5curf5mjtznmtzu5xxyrvyxclgsscxd9qk9] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ete5curf5mjtznmtzu5xxyrvyxclgsscxd9qk9 +[factory/inj1m3cvaumsw5l9mnhu53g2s7nd8pwqhsgm0r7zc5/position] +peggy_denom = factory/inj1m3cvaumsw5l9mnhu53g2s7nd8pwqhsgm0r7zc5/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1eux0764t05hmmyfksjmwhahq9kh3yq4stcg0rs] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1eux0764t05hmmyfksjmwhahq9kh3yq4stcg0rs -decimals = 0 +[factory/inj1m9myf06pt3kq3caeksz0ghvzr0xthhxqenu622/NLC] +peggy_denom = factory/inj1m9myf06pt3kq3caeksz0ghvzr0xthhxqenu622/NLC +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1f8nq8vvlhms85ywsnp9vnkua3jszqjfd6ts4qq] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1f8nq8vvlhms85ywsnp9vnkua3jszqjfd6ts4qq -decimals = 0 +[factory/inj1mck4g2zd7p057un8l3kfamsyj57w7gymgrdyjw/cheems] +peggy_denom = factory/inj1mck4g2zd7p057un8l3kfamsyj57w7gymgrdyjw/cheems +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1fz2tp874h856zuhtujjz3a65c0x6fh742lwdv9] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1fz2tp874h856zuhtujjz3a65c0x6fh742lwdv9 -decimals = 0 +[factory/inj1me7s2kyfk7ffdwh8qatluy9nj8yvh89kuwr235/INJ] +peggy_denom = factory/inj1me7s2kyfk7ffdwh8qatluy9nj8yvh89kuwr235/INJ +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1gzcx85m49u6y8a9dwx6eddfw8d9r4xtzzna83y] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1gzcx85m49u6y8a9dwx6eddfw8d9r4xtzzna83y -decimals = 0 +[factory/inj1mfe2m554uffc9lul3q3fxzmzw8k7cuglnxvxjc/INJ] +peggy_denom = factory/inj1mfe2m554uffc9lul3q3fxzmzw8k7cuglnxvxjc/INJ +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1h5f6vxsn5hpln75c4mfmntza9m7maj6s396u4w] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1h5f6vxsn5hpln75c4mfmntza9m7maj6s396u4w -decimals = 0 +[factory/inj1mg2pnk0djfmvlrrfucnhsfs4um08mwdue3hp9x/DRAGON] +peggy_denom = factory/inj1mg2pnk0djfmvlrrfucnhsfs4um08mwdue3hp9x/DRAGON +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hawmarr2vaswduu09xvkcqjqm79d5zp8zku95r] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hawmarr2vaswduu09xvkcqjqm79d5zp8zku95r -decimals = 0 +[factory/inj1mly2ykhf6f9tdj58pvndjf4q8dzdl4myjqm9t6/ALIEN] +peggy_denom = factory/inj1mly2ykhf6f9tdj58pvndjf4q8dzdl4myjqm9t6/ALIEN +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hqp8mnaa0m9zj77y9qqrv33v3k8w2jx3xjahm2] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hqp8mnaa0m9zj77y9qqrv33v3k8w2jx3xjahm2 +[factory/inj1mthhttrxpewts2k8vlp276xtsa5te9mt8vws38/position] +peggy_denom = factory/inj1mthhttrxpewts2k8vlp276xtsa5te9mt8vws38/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hxq5q8h7d8up6j4jcmxje42zpkzr409j6ay4wu] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hxq5q8h7d8up6j4jcmxje42zpkzr409j6ay4wu +[factory/inj1mu6w5fmvrp8kkxpaxxdvkcqfmm7rh79tr9pzr4/position] +peggy_denom = factory/inj1mu6w5fmvrp8kkxpaxxdvkcqfmm7rh79tr9pzr4/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hza9v3f32kt8vjx24twpj46c5gx52uhylj5qzm] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1hza9v3f32kt8vjx24twpj46c5gx52uhylj5qzm -decimals = 0 +[factory/inj1n2f2ehc6eplk7s5kwwy6e0hl9vf08mdqjxdacs/INJ] +peggy_denom = factory/inj1n2f2ehc6eplk7s5kwwy6e0hl9vf08mdqjxdacs/INJ +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1j62tv3rr6ypyfft09q2uvgnplvdy5h7knas83w] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1j62tv3rr6ypyfft09q2uvgnplvdy5h7knas83w +[factory/inj1nguhj0ph48vfs2pnrf0kqz5zyn7znys5cymx3y/SHINJI] +peggy_denom = factory/inj1nguhj0ph48vfs2pnrf0kqz5zyn7znys5cymx3y/SHINJI decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1jm4q2da9xutly7uslzce3ftgjr0xunvj6ek5ve] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1jm4q2da9xutly7uslzce3ftgjr0xunvj6ek5ve +[factory/inj1p65r3rdzwxq9xykp3pvwvajukauxulsn28uxdr/position] +peggy_denom = factory/inj1p65r3rdzwxq9xykp3pvwvajukauxulsn28uxdr/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1kvlz7j3meau8uy5upr95p2kn0j275jck9vjh4j] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1kvlz7j3meau8uy5upr95p2kn0j275jck9vjh4j -decimals = 0 +[factory/inj1pgkwcngxel97d9qjvg75upe8y3lvvzncq5tdr0/haki] +peggy_denom = factory/inj1pgkwcngxel97d9qjvg75upe8y3lvvzncq5tdr0/haki +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ln2tayrlh0vl73cdzxryhkuuppkycxpna5jm87] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ln2tayrlh0vl73cdzxryhkuuppkycxpna5jm87 -decimals = 0 +[factory/inj1pgkwcngxel97d9qjvg75upe8y3lvvzncq5tdr0/samurai] +peggy_denom = factory/inj1pgkwcngxel97d9qjvg75upe8y3lvvzncq5tdr0/samurai +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ln9zmpv8nruce89hrf6z0m5t8t93jswyrw89r9] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ln9zmpv8nruce89hrf6z0m5t8t93jswyrw89r9 +[factory/inj1pgwrcf3j7yk0a5lxcyyuztr2ekpnzwqsqlkgke/position] +peggy_denom = factory/inj1pgwrcf3j7yk0a5lxcyyuztr2ekpnzwqsqlkgke/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1lp0lcf67tk4y8ccnmmggpj8c8wf3gkhtt439r8] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1lp0lcf67tk4y8ccnmmggpj8c8wf3gkhtt439r8 +[factory/inj1phq9r67sd6ypgsgsmh62dvf5eyj3lac6nqvdnt/position] +peggy_denom = factory/inj1phq9r67sd6ypgsgsmh62dvf5eyj3lac6nqvdnt/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1lpctts3ah545m8q0pnd696kwthdzgaxur70cm0] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1lpctts3ah545m8q0pnd696kwthdzgaxur70cm0 -decimals = 0 +[factory/inj1pjp9q2ycs7eaav8d5ny5956k5m6t0alpl33xd6/Shinobi] +peggy_denom = factory/inj1pjp9q2ycs7eaav8d5ny5956k5m6t0alpl33xd6/Shinobi +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1lt4tg3zxula8kgg4q73s02mqdnjnyu2mal4fv9] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1lt4tg3zxula8kgg4q73s02mqdnjnyu2mal4fv9 +[factory/inj1ptze5zs7f8upr3fdj6dsrh0gpq97rsugfl5efe/position] +peggy_denom = factory/inj1ptze5zs7f8upr3fdj6dsrh0gpq97rsugfl5efe/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1m5czravjfjjmf6l0qujkvxtue373e4cff07d4n] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1m5czravjfjjmf6l0qujkvxtue373e4cff07d4n -decimals = 0 +[factory/inj1q42vrh9rhdnr20eq9ju9lymsxaqxcjpuqgd2cg/KZB] +peggy_denom = factory/inj1q42vrh9rhdnr20eq9ju9lymsxaqxcjpuqgd2cg/KZB +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1m9chxsuw52eydkah423ue2e6w8pyj89zxlla6m] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1m9chxsuw52eydkah423ue2e6w8pyj89zxlla6m -decimals = 0 +[factory/inj1q4z7jjxdk7whwmkt39x7krc49xaqapuswhjhkn/BOYS] +peggy_denom = factory/inj1q4z7jjxdk7whwmkt39x7krc49xaqapuswhjhkn/BOYS +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mgypkdu4esseefz7dgahuduft33a3any5lrx8a] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mgypkdu4esseefz7dgahuduft33a3any5lrx8a -decimals = 0 +[factory/inj1q4z7jjxdk7whwmkt39x7krc49xaqapuswhjhkn/COCK] +peggy_denom = factory/inj1q4z7jjxdk7whwmkt39x7krc49xaqapuswhjhkn/COCK +decimals = 9 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ms0ycmqsqnnd8zztvzrq0jts0cudfujjmzesw2] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ms0ycmqsqnnd8zztvzrq0jts0cudfujjmzesw2 -decimals = 0 +[factory/inj1q7unmeeqkj8r4m4en50wqlfnptfvgf0wavuah8/BOYS] +peggy_denom = factory/inj1q7unmeeqkj8r4m4en50wqlfnptfvgf0wavuah8/BOYS +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mve80zt9gyetq9e2qsjdz579qc9nnpxprkuqjt] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mve80zt9gyetq9e2qsjdz579qc9nnpxprkuqjt +[factory/inj1q8ky6w56wcv2ya3kxzg83s667q86xtrlvwytcs/position] +peggy_denom = factory/inj1q8ky6w56wcv2ya3kxzg83s667q86xtrlvwytcs/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mw99k3jrxhzhktphtr55e9fhp2rncc2elh75js] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1mw99k3jrxhzhktphtr55e9fhp2rncc2elh75js -decimals = 0 +[factory/inj1qdepvfux04s8pqvzs4leam4pgl46wy0fx37eyt/injoy] +peggy_denom = factory/inj1qdepvfux04s8pqvzs4leam4pgl46wy0fx37eyt/injoy +decimals = 9 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1n0cq8p8zd36ecq2tljtsg0uqkpxn830n5mk38j] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1n0cq8p8zd36ecq2tljtsg0uqkpxn830n5mk38j -decimals = 0 +[factory/inj1qjjhhdn95u8s6tqqhx27n8g9vqtn6uhn63szp8/TEST] +peggy_denom = factory/inj1qjjhhdn95u8s6tqqhx27n8g9vqtn6uhn63szp8/TEST +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1nemphsdeqekqr7j8ve8gz8jcz4z2lurzty9dw3] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1nemphsdeqekqr7j8ve8gz8jcz4z2lurzty9dw3 -decimals = 0 +[factory/inj1qpf0xj4w824774q8mp9x29q547qe66607h96ll/ELON] +peggy_denom = factory/inj1qpf0xj4w824774q8mp9x29q547qe66607h96ll/ELON +decimals = 12 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1nkj7k722lduxvhs376qkl9lhjw0le0pwux57wp] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1nkj7k722lduxvhs376qkl9lhjw0le0pwux57wp +[factory/inj1qqc56qqlqyzsycj50kqne8ygr6r6dk4a3e23z9/position] +peggy_denom = factory/inj1qqc56qqlqyzsycj50kqne8ygr6r6dk4a3e23z9/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1np2ylwgqgyzwppx4k2lr8rkqq5vs8v5y84ghwp] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1np2ylwgqgyzwppx4k2lr8rkqq5vs8v5y84ghwp +[factory/inj1qqc7ekvm06tch3dtyselt2rl5y4s9daman0ahv/uLP] +peggy_denom = factory/inj1qqc7ekvm06tch3dtyselt2rl5y4s9daman0ahv/uLP decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1nssppa309t2pty5agwrmrjqx9md9764ntesce6] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1nssppa309t2pty5agwrmrjqx9md9764ntesce6 -decimals = 0 +[factory/inj1qqge7uaftfykr9wjqy4khwwzyr2wgcctwwgqv2/MIB] +peggy_denom = factory/inj1qqge7uaftfykr9wjqy4khwwzyr2wgcctwwgqv2/MIB +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1pljwjmkngg7atyxwm8mpwwdayyqk0pfjz8d4j0] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1pljwjmkngg7atyxwm8mpwwdayyqk0pfjz8d4j0 -decimals = 0 +[factory/inj1qrdfxrx7kg0kvgapxyj8dc0wuj4yr2npw7gmkr/QTUM] +peggy_denom = factory/inj1qrdfxrx7kg0kvgapxyj8dc0wuj4yr2npw7gmkr/QTUM +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ps7s09q5mldj3wghtcvpsflt0uvc9c0wllqvm0] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ps7s09q5mldj3wghtcvpsflt0uvc9c0wllqvm0 +[factory/inj1qwlpnrg97jq0ytl28pm6c20apr6c6ga3fqc75t/position] +peggy_denom = factory/inj1qwlpnrg97jq0ytl28pm6c20apr6c6ga3fqc75t/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1pwqllsz0d7377v6gvx5vd3df9xurekpyrsscln] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1pwqllsz0d7377v6gvx5vd3df9xurekpyrsscln -decimals = 0 +[factory/inj1qx7qnj9wwdrxc9e239ycshqnqgapdh7s44vez7/APE] +peggy_denom = factory/inj1qx7qnj9wwdrxc9e239ycshqnqgapdh7s44vez7/APE +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q37t59kug9hhjvht20uc8kheva0tfdjak4yys8] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q37t59kug9hhjvht20uc8kheva0tfdjak4yys8 +[factory/inj1qz4fua8emzx9h2sdafkpxazl5rwyl75t0d6vc8/position] +peggy_denom = factory/inj1qz4fua8emzx9h2sdafkpxazl5rwyl75t0d6vc8/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q62knrccf8n2386jzzv2plr6rat2lfvx95muqv] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1q62knrccf8n2386jzzv2plr6rat2lfvx95muqv +[factory/inj1r3krfh3nh6qhe3znwkfpzs4rdedgyu0wryfsjf/position] +peggy_denom = factory/inj1r3krfh3nh6qhe3znwkfpzs4rdedgyu0wryfsjf/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1qg8x9eec40aqjzezku7r2dpz0sz3962ljsk8ga] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1qg8x9eec40aqjzezku7r2dpz0sz3962ljsk8ga +[factory/inj1r42k2w9rf6jtqktpfceg3f0a8eu2flm98vm9cs/position] +peggy_denom = factory/inj1r42k2w9rf6jtqktpfceg3f0a8eu2flm98vm9cs/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1qu0zyksruugw9az7e0m7wf9lmatacf5d2uznqw] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1qu0zyksruugw9az7e0m7wf9lmatacf5d2uznqw -decimals = 0 +[factory/inj1r4usuj62gywdwhq9uvx6tg0ywqpppcjqu7z4js/crinj] +peggy_denom = factory/inj1r4usuj62gywdwhq9uvx6tg0ywqpppcjqu7z4js/crinj +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rl004yqz80hdkn5ctnqfxngv24cs2yc39zqaxt] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rl004yqz80hdkn5ctnqfxngv24cs2yc39zqaxt -decimals = 0 +[factory/inj1rau42vnjsz7hrr3fh9nf7hyzrrv4ajuc2kzulq/INJ] +peggy_denom = factory/inj1rau42vnjsz7hrr3fh9nf7hyzrrv4ajuc2kzulq/INJ +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rm88t0crsdfkjpgs9k6tzupzf9qsv2az8u06a7] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rm88t0crsdfkjpgs9k6tzupzf9qsv2az8u06a7 -decimals = 0 +[factory/inj1rdu7lqpvq4h2fyrjdfnp9gycdkut5ewql3e4uq/testor] +peggy_denom = factory/inj1rdu7lqpvq4h2fyrjdfnp9gycdkut5ewql3e4uq/testor +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rn0hfpfcj09uq7r6l7tx2fhdwsufptv340w904] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rn0hfpfcj09uq7r6l7tx2fhdwsufptv340w904 +[factory/inj1rfw3sugvss3z22zzuhlccqug0y8lvd4q95runz/position] +peggy_denom = factory/inj1rfw3sugvss3z22zzuhlccqug0y8lvd4q95runz/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rnraxu54huv7wkmpff3v8mzhqh49g0e6fj67sd] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rnraxu54huv7wkmpff3v8mzhqh49g0e6fj67sd +[factory/inj1rlcfjuhupp56nkk3gspy0x0nstmd02ptzxzkvx/position] +peggy_denom = factory/inj1rlcfjuhupp56nkk3gspy0x0nstmd02ptzxzkvx/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rx2yfurr3zh4nzv5gazh899dyc2v4lhx2fex3r] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1rx2yfurr3zh4nzv5gazh899dyc2v4lhx2fex3r +[factory/inj1rmf0pe6dns2kaasjt82j5lps3t8ke9dzyh3nqt/HOSHI] +peggy_denom = factory/inj1rmf0pe6dns2kaasjt82j5lps3t8ke9dzyh3nqt/HOSHI decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ry55p3hcfwqd0r4d6hkd2hgldfamf63ehkem8a] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ry55p3hcfwqd0r4d6hkd2hgldfamf63ehkem8a -decimals = 0 +[factory/inj1rmlm94wu0unvveueyvuczcgsae76esjm7wcudh/BRO] +peggy_denom = factory/inj1rmlm94wu0unvveueyvuczcgsae76esjm7wcudh/BRO +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1s2rs23gg0mw6jr7s3rjhwsrssnnhn8vck24n2r] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1s2rs23gg0mw6jr7s3rjhwsrssnnhn8vck24n2r -decimals = 0 +[factory/inj1rnlhp35xqtl0zwlp9tnrelykea9f52nd8av7ec/CATNIP] +peggy_denom = factory/inj1rnlhp35xqtl0zwlp9tnrelykea9f52nd8av7ec/CATNIP +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1s66zhks8v3fm24974crzxufh7w6ktt694g9t3j] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1s66zhks8v3fm24974crzxufh7w6ktt694g9t3j -decimals = 0 +[factory/inj1rnlhp35xqtl0zwlp9tnrelykea9f52nd8av7ec/NIPPY] +peggy_denom = factory/inj1rnlhp35xqtl0zwlp9tnrelykea9f52nd8av7ec/NIPPY +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sn40ldl8ud3dalqk39mxp7t4unqaadnt9cg9a4] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sn40ldl8ud3dalqk39mxp7t4unqaadnt9cg9a4 -decimals = 0 +[factory/inj1rrg35k5g58vunyze4tqvqhef2fgrurkpxxdr43/KiraWifHat] +peggy_denom = factory/inj1rrg35k5g58vunyze4tqvqhef2fgrurkpxxdr43/KiraWifHat +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sqc9jap0yye84dx5uyqyvepg83p7hvqke5sjvk] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sqc9jap0yye84dx5uyqyvepg83p7hvqke5sjvk -decimals = 0 +[factory/inj1rvg9a58qtcf8f464w2hkynrvpnl9x59wsaq922/NINJAPE] +peggy_denom = factory/inj1rvg9a58qtcf8f464w2hkynrvpnl9x59wsaq922/NINJAPE +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1sthrn5ep8ls5vzz8f9gp89khhmedahhdkqa8z3] -peggy_denom = ibc/884A8507A762D0F1DE350C4E640ECA6EDD6F25617F39AD57BC6F5B7EC8DF7181 +[factory/inj1rw5ndf4g2ppl586guwgx6ry06tr2sk9vmpd9jk/position] +peggy_denom = factory/inj1rw5ndf4g2ppl586guwgx6ry06tr2sk9vmpd9jk/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ta03vxka8mpgem44xvhewekg89wxel8leyvugw] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ta03vxka8mpgem44xvhewekg89wxel8leyvugw -decimals = 0 +[factory/inj1s0tcn9c42fz3fpfdy7pargxj4rwrcp0aushf2p/INJ] +peggy_denom = factory/inj1s0tcn9c42fz3fpfdy7pargxj4rwrcp0aushf2p/INJ +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ufx78kwvwpds77hxrmxkedsp6yhvflk5lz2a58] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1ufx78kwvwpds77hxrmxkedsp6yhvflk5lz2a58 -decimals = 0 +[factory/inj1s79ssggksqujyrwhq5zwxart33t98mmm2xd8f7/CHEN] +peggy_denom = factory/inj1s79ssggksqujyrwhq5zwxart33t98mmm2xd8f7/CHEN +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1uhukgtdm0xyq35w34rxh73g3yhffxw4qg568sx] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1uhukgtdm0xyq35w34rxh73g3yhffxw4qg568sx +[factory/inj1s8uw9vqpk7tvhjj2znqyhfxwfcvfl9g6d2drtc/position] +peggy_denom = factory/inj1s8uw9vqpk7tvhjj2znqyhfxwfcvfl9g6d2drtc/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1uq30shptkerand4zl6xr8ga2jt0mu0c6npak0a] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1uq30shptkerand4zl6xr8ga2jt0mu0c6npak0a -decimals = 0 +[factory/inj1s9pckznjz4hmgtxu5t9gerxtalch7wtle4y3a6/MIB] +peggy_denom = factory/inj1s9pckznjz4hmgtxu5t9gerxtalch7wtle4y3a6/MIB +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1uu9dsss65z2dt6cz9avr2tk6wrdjxxe0cxh4d5] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1uu9dsss65z2dt6cz9avr2tk6wrdjxxe0cxh4d5 -decimals = 0 +[factory/inj1sdkwtcjd0wkp5sft3pyzpaesfgllxl06sgvnkk/INJ] +peggy_denom = factory/inj1sdkwtcjd0wkp5sft3pyzpaesfgllxl06sgvnkk/INJ +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1v0dxtj5ku80w4h96jc0scyxlnk3j869dj2nnay] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1v0dxtj5ku80w4h96jc0scyxlnk3j869dj2nnay +[factory/inj1se3jy798wzjtlf588e8qh7342pqs4n0yhjxd0p/position] +peggy_denom = factory/inj1se3jy798wzjtlf588e8qh7342pqs4n0yhjxd0p/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1v3z2nx0k9fjv83ktx4dtsau82ff2c68gxfqah9] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1v3z2nx0k9fjv83ktx4dtsau82ff2c68gxfqah9 -decimals = 0 +[factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/FROGIY] +peggy_denom = factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/FROGIY +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1vd8qv39y8ay7x0ldlhhnfcjc0k6ya69fvp2vzw] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1vd8qv39y8ay7x0ldlhhnfcjc0k6ya69fvp2vzw +[factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/FROGY] +peggy_denom = factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/FROGY decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1vy9xhn2gmswm7xyt39wnnd8pz4w6e93zjzurdu] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1vy9xhn2gmswm7xyt39wnnd8pz4w6e93zjzurdu -decimals = 0 +[factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/test] +peggy_denom = factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/test +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1w9z5t04v2jl6r85s8e0984f4v2drdpq8fnl6hs] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1w9z5t04v2jl6r85s8e0984f4v2drdpq8fnl6hs +[factory/inj1sf0ldwenurgttrmvgt65xgsj8jn487dggsy7el/position] +peggy_denom = factory/inj1sf0ldwenurgttrmvgt65xgsj8jn487dggsy7el/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1wea6emsvgrxnsg07wsf9kx5djn2r4fyqzsxcja] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1wea6emsvgrxnsg07wsf9kx5djn2r4fyqzsxcja -decimals = 0 +[factory/inj1sg3yjgjlwhtrepeuusj4jwv209rh6cmk882cw3/LIOR] +peggy_denom = factory/inj1sg3yjgjlwhtrepeuusj4jwv209rh6cmk882cw3/LIOR +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1wyd57qlwdhfj4sepl4y2eedsn077gzgg95cgwh] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1wyd57qlwdhfj4sepl4y2eedsn077gzgg95cgwh -decimals = 0 +[factory/inj1sgnkljwsekkf36p4lgd7v9qa0p66rj64xa756j/BONK] +peggy_denom = factory/inj1sgnkljwsekkf36p4lgd7v9qa0p66rj64xa756j/BONK +decimals = 6 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1x9uecns088t3dw2map7q235nzvyfhtzqkgneux] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1x9uecns088t3dw2map7q235nzvyfhtzqkgneux +[factory/inj1sgvrzysd32xdqtscaen2gprrjyg997lkn2h4wg/uLP] +peggy_denom = factory/inj1sgvrzysd32xdqtscaen2gprrjyg997lkn2h4wg/uLP decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1xjvf8nzcx5uvjnmey6x7vx4xe08k95k7gx0fyl] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1xjvf8nzcx5uvjnmey6x7vx4xe08k95k7gx0fyl +[factory/inj1sm4l3jrh4cynhwv3x3yudkf4gtepv3wdjsryj3/INJ] +peggy_denom = factory/inj1sm4l3jrh4cynhwv3x3yudkf4gtepv3wdjsryj3/INJ +decimals = 6 + +[factory/inj1sz76uf4fj7jn4wptpsszt63x27uthjvehhwsk9/MEOW] +peggy_denom = factory/inj1sz76uf4fj7jn4wptpsszt63x27uthjvehhwsk9/MEOW +decimals = 6 + +[factory/inj1t0vyy5c3cnrw9f0mpjz9xk7fp22ezjjmrza7xn/BONK] +peggy_denom = factory/inj1t0vyy5c3cnrw9f0mpjz9xk7fp22ezjjmrza7xn/BONK +decimals = 6 + +[factory/inj1t6wfs24ewwnx9mxtm26n6q6zpm73wsan9u8n0v/position] +peggy_denom = factory/inj1t6wfs24ewwnx9mxtm26n6q6zpm73wsan9u8n0v/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1yzjcwy4m2qyn3kvspgsxhdltxz5kw34n8x80xx] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1yzjcwy4m2qyn3kvspgsxhdltxz5kw34n8x80xx +[factory/inj1taqmwnnd3rucr8ydyl8u30vc29dkyc9rzrjy6r/position] +peggy_denom = factory/inj1taqmwnnd3rucr8ydyl8u30vc29dkyc9rzrjy6r/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1yzm2tg8mv3ajgw4z4vnjynpanjqvezywcgjkzf] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1yzm2tg8mv3ajgw4z4vnjynpanjqvezywcgjkzf +[factory/inj1tdv8p2pp68veauzezvgt8ze0wpf6ysddh99s6g/hINJ] +peggy_denom = factory/inj1tdv8p2pp68veauzezvgt8ze0wpf6ysddh99s6g/hINJ +decimals = 6 + +[factory/inj1tgphgjqsz8fupkfjx6cy275e3s0l8xfu6rd6jh/DINO] +peggy_denom = factory/inj1tgphgjqsz8fupkfjx6cy275e3s0l8xfu6rd6jh/DINO +decimals = 6 + +[factory/inj1tgphgjqsz8fupkfjx6cy275e3s0l8xfu6rd6jh/lior] +peggy_denom = factory/inj1tgphgjqsz8fupkfjx6cy275e3s0l8xfu6rd6jh/lior +decimals = 6 + +[factory/inj1tl8w4z9a7ykdmardg2a5qgryzc9e92fduqy8vj/position] +peggy_denom = factory/inj1tl8w4z9a7ykdmardg2a5qgryzc9e92fduqy8vj/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1zcssxvw4x9zdqww2atu7at0n5ss2lv8gg8u6ul] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1zcssxvw4x9zdqww2atu7at0n5ss2lv8gg8u6ul +[factory/inj1tm6kuf59h46q0sy73cdyxyjwexwjp4a3h07yvt/position] +peggy_denom = factory/inj1tm6kuf59h46q0sy73cdyxyjwexwjp4a3h07yvt/position decimals = 0 -[factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1zejzp0ne0hh7c0wupuspkcqwajlw6kww3r86jl] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1zejzp0ne0hh7c0wupuspkcqwajlw6kww3r86jl +[factory/inj1tn2nqgzsgu8ts87fe3fdhh2zy85ymdrc4qd37s/position] +peggy_denom = factory/inj1tn2nqgzsgu8ts87fe3fdhh2zy85ymdrc4qd37s/position decimals = 0 -[factory/inj14fx6k6an38hmqz58nxzggxycmy7mpy9ju7mqxq/INJ] -peggy_denom = factory/inj14fx6k6an38hmqz58nxzggxycmy7mpy9ju7mqxq/INJ +[factory/inj1tpuscn4wl7sf35zx5w95d74ulzsdfle67x7cq5/Sekiro] +peggy_denom = factory/inj1tpuscn4wl7sf35zx5w95d74ulzsdfle67x7cq5/Sekiro decimals = 6 -[factory/inj14r67lv9phdjs94x6zsd446ptw04cmkq2j4t6wm/position] -peggy_denom = factory/inj14r67lv9phdjs94x6zsd446ptw04cmkq2j4t6wm/position +[factory/inj1tuemzz3xa2gurzv828y795r7uycmcafr0ktzwk/uLP] +peggy_denom = factory/inj1tuemzz3xa2gurzv828y795r7uycmcafr0ktzwk/uLP decimals = 0 -[factory/inj1532ekcsx3mqtmxx0s5uc32my0et9vazdkkfcna/INJ] -peggy_denom = factory/inj1532ekcsx3mqtmxx0s5uc32my0et9vazdkkfcna/INJ -decimals = 6 +[factory/inj1tvnxhtnlkad7xzq7kkd0fcrtn0lncnvydp8mh3/position] +peggy_denom = factory/inj1tvnxhtnlkad7xzq7kkd0fcrtn0lncnvydp8mh3/position +decimals = 0 -[factory/inj15446d66cyfqh97hp0x3n749mvq4kx0lnfvuwt5/INJ] -peggy_denom = factory/inj15446d66cyfqh97hp0x3n749mvq4kx0lnfvuwt5/INJ -decimals = 6 +[factory/inj1u2nhcc06qvxscfmqwqwq5x6saf0smlhmykgg2j/position] +peggy_denom = factory/inj1u2nhcc06qvxscfmqwqwq5x6saf0smlhmykgg2j/position +decimals = 0 -[factory/inj157g6qg542h735ww6kzk5jf7s2ayscgtcg7mvv3/position] -peggy_denom = factory/inj157g6qg542h735ww6kzk5jf7s2ayscgtcg7mvv3/position +[factory/inj1u7xh7k9w5kddcyjjkq2rmpmnw7scrx25526x0k/lpinj13t8y6evvue023zg5q4f4ngaav54285pfw482xd] +peggy_denom = factory/inj1u7xh7k9w5kddcyjjkq2rmpmnw7scrx25526x0k/lpinj13t8y6evvue023zg5q4f4ngaav54285pfw482xd decimals = 0 -[factory/inj157l55k7pt6wlkmvs95kx96m2y30tgvxuld6zfc/INJ] -peggy_denom = factory/inj157l55k7pt6wlkmvs95kx96m2y30tgvxuld6zfc/INJ -decimals = 6 +[factory/inj1u7xh7k9w5kddcyjjkq2rmpmnw7scrx25526x0k/lpinj1tpmwkd0psrutlqd4ytjq7pugj5dedjys9u0wd3] +peggy_denom = factory/inj1u7xh7k9w5kddcyjjkq2rmpmnw7scrx25526x0k/lpinj1tpmwkd0psrutlqd4ytjq7pugj5dedjys9u0wd3 +decimals = 0 -[factory/inj158xvl6jgd6cgdetnxu4rus4vcv50u3q06wryjl/INJ] -peggy_denom = factory/inj158xvl6jgd6cgdetnxu4rus4vcv50u3q06wryjl/INJ +[factory/inj1ucamzt4l70qnwwtqac4wjpvqdfmuhuft5ezy6x/sniperfactory] +peggy_denom = factory/inj1ucamzt4l70qnwwtqac4wjpvqdfmuhuft5ezy6x/sniperfactory decimals = 6 -[factory/inj1598f9vtwc3furg3dnat9lnjw5eflcyuazv2c3m/position] -peggy_denom = factory/inj1598f9vtwc3furg3dnat9lnjw5eflcyuazv2c3m/position -decimals = 0 - -[factory/inj15rddsgzhts4lyuk4a92aq7g4wemgf7r3u6w80p/INJ] -peggy_denom = factory/inj15rddsgzhts4lyuk4a92aq7g4wemgf7r3u6w80p/INJ +[factory/inj1uja2y06ef8mmygnalg5hsugpa8q5m4pscjduec/INJ] +peggy_denom = factory/inj1uja2y06ef8mmygnalg5hsugpa8q5m4pscjduec/INJ decimals = 6 -[factory/inj15sqzlm42xks73nxez8tw8k6tp9xln7gfth2sv6/position] -peggy_denom = factory/inj15sqzlm42xks73nxez8tw8k6tp9xln7gfth2sv6/position -decimals = 0 +[factory/inj1ujd7rlhp8980lwg74tek7gv4yv4qj4xcvxrx45/FROG] +peggy_denom = factory/inj1ujd7rlhp8980lwg74tek7gv4yv4qj4xcvxrx45/FROG +decimals = 6 -[factory/inj15xxgscstfpaztar2hjluzphvq4m8jffjym8svh/lpinj1alqcad69f6y4zepfu3k8cx0ysynjemju4auc42] -peggy_denom = factory/inj15xxgscstfpaztar2hjluzphvq4m8jffjym8svh/lpinj1alqcad69f6y4zepfu3k8cx0ysynjemju4auc42 +[factory/inj1ul7m4hcf72jn3ah4rgez6vsykqjs90jwyqkkjm/position] +peggy_denom = factory/inj1ul7m4hcf72jn3ah4rgez6vsykqjs90jwyqkkjm/position decimals = 0 -[factory/inj164shttz4dv6ec8m44gulucpej3pgl7tjqhdvyk/position] -peggy_denom = factory/inj164shttz4dv6ec8m44gulucpej3pgl7tjqhdvyk/position -decimals = 0 +[factory/inj1uq9wzg2hc6gsl9hue8qj5ymdfv4k8ccluxhesj/INJ] +peggy_denom = factory/inj1uq9wzg2hc6gsl9hue8qj5ymdfv4k8ccluxhesj/INJ +decimals = 6 -[factory/inj16936rlm3gm2z7gd8t677t926qz93hqy07qhh3z/position] -peggy_denom = factory/inj16936rlm3gm2z7gd8t677t926qz93hqy07qhh3z/position +[factory/inj1ur2gpeg5yw67dagpcm5946lnd6v8l2s2k9tx3q/position] +peggy_denom = factory/inj1ur2gpeg5yw67dagpcm5946lnd6v8l2s2k9tx3q/position decimals = 0 -[factory/inj169rj69y0td97a0gvz3jthr63ml79h0ez2sc0rm/position] -peggy_denom = factory/inj169rj69y0td97a0gvz3jthr63ml79h0ez2sc0rm/position +[factory/inj1utkmtctnp767m0rdl294ypshrjjv8qendcm3md/position] +peggy_denom = factory/inj1utkmtctnp767m0rdl294ypshrjjv8qendcm3md/position decimals = 0 -[factory/inj16hsmv4grd5ru3axtvgc8c0dygc0skpfct837dv/position] -peggy_denom = factory/inj16hsmv4grd5ru3axtvgc8c0dygc0skpfct837dv/position +[factory/inj1utyrpze9qzx037av0vrxz2w63y2et4wcd84j3q/position] +peggy_denom = factory/inj1utyrpze9qzx037av0vrxz2w63y2et4wcd84j3q/position decimals = 0 -[factory/inj16tth6zcljja520fetw9u7plyza5e6sj0rta6ua/inj18luqttqyckgpddndh8hvaq25d5nfwjc78m56lc] -peggy_denom = factory/inj16tth6zcljja520fetw9u7plyza5e6sj0rta6ua/inj18luqttqyckgpddndh8hvaq25d5nfwjc78m56lc +[factory/inj1uv64p5ky9c298dlswy5krq4xcn78qearqaqqc9/DOGO] +peggy_denom = factory/inj1uv64p5ky9c298dlswy5krq4xcn78qearqaqqc9/DOGO decimals = 0 -[factory/inj16xkr5efuae9ur5tftr5epxtse43falevltugdt/TEST] -peggy_denom = factory/inj16xkr5efuae9ur5tftr5epxtse43falevltugdt/TEST +[factory/inj1uyvpwvurunezljvear62kswrcduup8e4hkf3er/INJ] +peggy_denom = factory/inj1uyvpwvurunezljvear62kswrcduup8e4hkf3er/INJ decimals = 6 -[factory/inj16zm5htn50fm4veztrazn2a6yjp2kjwnvthq8r8/PEPE] -peggy_denom = factory/inj16zm5htn50fm4veztrazn2a6yjp2kjwnvthq8r8/PEPE +[factory/inj1uz997yw7vq5ala7hhr5rpn386v7w7uva9v4e23/INJ] +peggy_denom = factory/inj1uz997yw7vq5ala7hhr5rpn386v7w7uva9v4e23/INJ decimals = 6 -[factory/inj16zquths3dwk0varlj32ur9skutl640umvllxeu/position] -peggy_denom = factory/inj16zquths3dwk0varlj32ur9skutl640umvllxeu/position +[factory/inj1uzasxz38jtgjmsd6m52h2yy3zqy36wswy5hta9/position] +peggy_denom = factory/inj1uzasxz38jtgjmsd6m52h2yy3zqy36wswy5hta9/position decimals = 0 -[factory/inj17g9jsj37jt0w77x4gfmt6rxf0r2zr307kky875/INJ] -peggy_denom = factory/inj17g9jsj37jt0w77x4gfmt6rxf0r2zr307kky875/INJ -decimals = 6 +[factory/inj1v06t5cjcnzawlvk665s0wynqy6zfjuulvaadhh/position] +peggy_denom = factory/inj1v06t5cjcnzawlvk665s0wynqy6zfjuulvaadhh/position +decimals = 0 -[factory/inj17kqcwkgdayv585dr7mljclechqzymgfsqc8x9k/THUG] -peggy_denom = factory/inj17kqcwkgdayv585dr7mljclechqzymgfsqc8x9k/THUG +[factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/cook] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/cook decimals = 6 -[factory/inj17pn6nwvk33404flhglujj4n5y3p2esy5x0cfhm/SPUUN] -peggy_denom = factory/inj17pn6nwvk33404flhglujj4n5y3p2esy5x0cfhm/SPUUN +[factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/cookie] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/cookie decimals = 6 -[factory/inj17vgy7dxx5j0a3xag8hg53e74ztjs50qrycj2pn/INJ] -peggy_denom = factory/inj17vgy7dxx5j0a3xag8hg53e74ztjs50qrycj2pn/INJ +[factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/frog] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/frog decimals = 6 -[factory/inj18c9gq53gs52rmj6nevfg48v3xx222stnxgwpku/position] -peggy_denom = factory/inj18c9gq53gs52rmj6nevfg48v3xx222stnxgwpku/position -decimals = 0 +[factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/ninja] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/ninja +decimals = 6 -[factory/inj18prwk9vqw82x86lx9d8kmymmzl9vzuznzye3l0/INJ] -peggy_denom = factory/inj18prwk9vqw82x86lx9d8kmymmzl9vzuznzye3l0/INJ +[factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/wif] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/wif decimals = 6 -[factory/inj19fa4pmpnxysawtps7aq7nhh7k2x8wvvqwxv7kl/position] -peggy_denom = factory/inj19fa4pmpnxysawtps7aq7nhh7k2x8wvvqwxv7kl/position +[factory/inj1vc3d90452zqh5vp265maz69wdg4dhj7m0g6aty/position] +peggy_denom = factory/inj1vc3d90452zqh5vp265maz69wdg4dhj7m0g6aty/position decimals = 0 -[factory/inj19g8xh8wfaxl7a4z5pr67e908ph68n5zamsagxt/position] -peggy_denom = factory/inj19g8xh8wfaxl7a4z5pr67e908ph68n5zamsagxt/position +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj12hrath9g2c02e87vjadnlqnmurxtr8md7djyxm] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj12hrath9g2c02e87vjadnlqnmurxtr8md7djyxm decimals = 0 -[factory/inj19h8ypfpczenmslgvxk73kszedfd9h9ptn2a5ml/position] -peggy_denom = factory/inj19h8ypfpczenmslgvxk73kszedfd9h9ptn2a5ml/position +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj12s6eccju5addagv2f74sphfmenv9xwp0ynmtqv] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj12s6eccju5addagv2f74sphfmenv9xwp0ynmtqv decimals = 0 -[factory/inj19jeceymrrcvqty0mapdf7daa47gr33khpwpfnt/position] -peggy_denom = factory/inj19jeceymrrcvqty0mapdf7daa47gr33khpwpfnt/position +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj13ly2q9g40lta4dcn7n6z9nack42r2hk64un07x] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj13ly2q9g40lta4dcn7n6z9nack42r2hk64un07x decimals = 0 -[factory/inj19uyuzl6chkdp3ez8aua2marzqwuv3n23ynf2x0/position] -peggy_denom = factory/inj19uyuzl6chkdp3ez8aua2marzqwuv3n23ynf2x0/position +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj14gmk6jg5kduvy882yjdq4967e46jaka7ffuf58] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj14gmk6jg5kduvy882yjdq4967e46jaka7ffuf58 decimals = 0 -[factory/inj19xq90yxtaar7xlz5jdzvqgkjw285rqzsjvxc2j/position] -peggy_denom = factory/inj19xq90yxtaar7xlz5jdzvqgkjw285rqzsjvxc2j/position +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj14xy8dvgjyhqjn8dhegf9zz5g7c3yeflt0kgarp] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj14xy8dvgjyhqjn8dhegf9zz5g7c3yeflt0kgarp decimals = 0 -[factory/inj19y42qwvf6s9aq6qqjk09qfe0f4n78e48cqe7w4/INJ] -peggy_denom = factory/inj19y42qwvf6s9aq6qqjk09qfe0f4n78e48cqe7w4/INJ -decimals = 6 - -[factory/inj19yyllwqvapt4hsn7cpcg540qt5c3fekxxhjppg/position] -peggy_denom = factory/inj19yyllwqvapt4hsn7cpcg540qt5c3fekxxhjppg/position +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj15599wr9jzgrt6e04xkue9l6409mlc3l7lqr38d] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj15599wr9jzgrt6e04xkue9l6409mlc3l7lqr38d decimals = 0 -[factory/inj1a3lpj7yf5spw344pfa9gjcgwx3zyx5v9e6cpg2/INJ] -peggy_denom = factory/inj1a3lpj7yf5spw344pfa9gjcgwx3zyx5v9e6cpg2/INJ -decimals = 6 - -[factory/inj1a3m6hv5hmt4lxkw0uqqz7m3m7dgtd2uy4hmenp/position] -peggy_denom = factory/inj1a3m6hv5hmt4lxkw0uqqz7m3m7dgtd2uy4hmenp/position +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj15s4c3kqa0j6glrgppcn0h357jac40ndyptv3sr] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj15s4c3kqa0j6glrgppcn0h357jac40ndyptv3sr decimals = 0 -[factory/inj1a6xdezq7a94qwamec6n6cnup02nvewvjtz6h6e/uabc] -peggy_denom = factory/inj1a6xdezq7a94qwamec6n6cnup02nvewvjtz6h6e/uabc +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj16mz5n3dsnal4m0emy4pa02d67hh0r70tlm8095] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj16mz5n3dsnal4m0emy4pa02d67hh0r70tlm8095 decimals = 0 -[factory/inj1acyx78g70fwu2fcjx6dj9yff34gscu0g4tg8vw/INJ] -peggy_denom = factory/inj1acyx78g70fwu2fcjx6dj9yff34gscu0g4tg8vw/INJ -decimals = 6 - -[factory/inj1adam3fc7h0wjlhht0utgyl53rcataw3q70vntr/INJ] -peggy_denom = factory/inj1adam3fc7h0wjlhht0utgyl53rcataw3q70vntr/INJ -decimals = 6 - -[factory/inj1aq5rpkexhycqk54afj630ktmgaqvc468fwk34k/position] -peggy_denom = factory/inj1aq5rpkexhycqk54afj630ktmgaqvc468fwk34k/position +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj16vjf4nnyqvjws6chw6u3t3kmujhllj4wjn9nlh] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj16vjf4nnyqvjws6chw6u3t3kmujhllj4wjn9nlh decimals = 0 -[factory/inj1avm2ruactjhxlrd8cq7ja7vhmtqwpu2lpnnq79/position] -peggy_denom = factory/inj1avm2ruactjhxlrd8cq7ja7vhmtqwpu2lpnnq79/position +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj17hm5smrnrmdr88slpfzfmyxxna9fe6xtvzlr0p] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj17hm5smrnrmdr88slpfzfmyxxna9fe6xtvzlr0p decimals = 0 -[factory/inj1awuqzd4sgmw9pguaftekx87pnl8ylqhvm3n97y/INJ] -peggy_denom = factory/inj1awuqzd4sgmw9pguaftekx87pnl8ylqhvm3n97y/INJ -decimals = 6 - -[factory/inj1c6eq9yp3c3ray4prfyumyv9m5ttkdzxawpg6c0/position] -peggy_denom = factory/inj1c6eq9yp3c3ray4prfyumyv9m5ttkdzxawpg6c0/position +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj17jdcvmkpvhgwfnukxjt6uvu2cptuqv309rz8pu] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj17jdcvmkpvhgwfnukxjt6uvu2cptuqv309rz8pu decimals = 0 -[factory/inj1cjzufvday63thkgqkxnesgav69c5afsm5aws8w/test] -peggy_denom = factory/inj1cjzufvday63thkgqkxnesgav69c5afsm5aws8w/test -decimals = 6 +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj19ujrgrvsm5zn6d389lua74y6pyldxzv5gdrln9] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj19ujrgrvsm5zn6d389lua74y6pyldxzv5gdrln9 +decimals = 0 -[factory/inj1cq5ygzlgh6l2pll2thtx82rhde2v7cpxlqfz93/GME] -peggy_denom = factory/inj1cq5ygzlgh6l2pll2thtx82rhde2v7cpxlqfz93/GME -decimals = 6 +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1a9hcr7zf5a2ahkv5fvumyky50ww7ds2cg5tk95] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1a9hcr7zf5a2ahkv5fvumyky50ww7ds2cg5tk95 +decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707147655.812049146InjUsdt1d1.08C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707147655.812049146InjUsdt1d1.08C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ckyym37k9u3gne0qdcpu7ty20p59d3lutepkge] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ckyym37k9u3gne0qdcpu7ty20p59d3lutepkge decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707151420.026670141InjUsdt1d1.08C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707151420.026670141InjUsdt1d1.08C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1djuudn6jj6g70kunu8sgtnrvytw9e27xtzyphe] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1djuudn6jj6g70kunu8sgtnrvytw9e27xtzyphe decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707230551.918032637InjUsdt20d1.21C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707230551.918032637InjUsdt20d1.21C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1dvrvhcpq6aru0g5d9m9wjnz7utr67we5dlaq79] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1dvrvhcpq6aru0g5d9m9wjnz7utr67we5dlaq79 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707230884.525553719InjUsdt28d1.16C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707230884.525553719InjUsdt28d1.16C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1e6f0ma2j0j9duwyn7vv0jdn6qaztxgmqpr56hu] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1e6f0ma2j0j9duwyn7vv0jdn6qaztxgmqpr56hu decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707231283.066300029InjUsdt20d1.21C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707231283.066300029InjUsdt20d1.21C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1g89dl74lyre9q6rjua9l37pcc7psnw66capurp] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1g89dl74lyre9q6rjua9l37pcc7psnw66capurp decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707231469.923471325InjUsdt16d0.87P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707231469.923471325InjUsdt16d0.87P +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1gqmr3vdr9k0hwyjkkphn9etqqsj06mm0tuj7vl] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1gqmr3vdr9k0hwyjkkphn9etqqsj06mm0tuj7vl decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707570015.556318592InjUsdt20d1.21C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707570015.556318592InjUsdt20d1.21C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1hffc8x68rp843ygjg9e4eaxj54v5w6vcev9vvu] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1hffc8x68rp843ygjg9e4eaxj54v5w6vcev9vvu decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707570076.365183070InjUsdt28d1.16C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707570076.365183070InjUsdt28d1.16C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1hw4vgqyvgw5vca224mpg2e0ccqguhnu7yawpu8] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1hw4vgqyvgw5vca224mpg2e0ccqguhnu7yawpu8 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707570225.110365254InjUsdt16d0.87P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707570225.110365254InjUsdt16d0.87P +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1j0hepy2mrfc705djm2q53ucnyq5ygejq5mr4n2] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1j0hepy2mrfc705djm2q53ucnyq5ygejq5mr4n2 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707915798.275383427InjUsdt24d1.22C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707915798.275383427InjUsdt24d1.22C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1jd845wf6zr4cxjne8j4580qq7cg0g5ueeaxpk4] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1jd845wf6zr4cxjne8j4580qq7cg0g5ueeaxpk4 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707915921.506232293InjUsdt30d1.16C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707915921.506232293InjUsdt30d1.16C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1k7kvdzm7n8g5xf6c733lsyp6tugvxwsnvdcgur] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1k7kvdzm7n8g5xf6c733lsyp6tugvxwsnvdcgur decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707916064.752464733InjUsdt18d0.87P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1707916064.752464733InjUsdt18d0.87P +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1kf09fn0mjq3d9v7x25xlmvacp9rfjqw96039e3] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1kf09fn0mjq3d9v7x25xlmvacp9rfjqw96039e3 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708434382.147236316InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708434382.147236316InjUsdt24d1.17C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1khp440nluesxmnr0mgdstzxujhkmcu8mad797f] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1khp440nluesxmnr0mgdstzxujhkmcu8mad797f decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708434608.109548440InjUsdt30d1.12C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708434608.109548440InjUsdt30d1.12C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1kv5amrnaczurcyc9rw0uve4e3wh2jfujxn3zlz] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1kv5amrnaczurcyc9rw0uve4e3wh2jfujxn3zlz decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708434695.365984945InjUsdt18d0.9P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708434695.365984945InjUsdt18d0.9P +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1l6e65hq8w79zepulpt768rj8qd2e2qejxl5uga] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1l6e65hq8w79zepulpt768rj8qd2e2qejxl5uga decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708952496.551991999InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708952496.551991999InjUsdt24d1.17C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1nvq8pyvt2kf5xctc4v3xt4gszq5a9lhpadyfwg] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1nvq8pyvt2kf5xctc4v3xt4gszq5a9lhpadyfwg decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708952558.556210993InjUsdt18d0.9P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708952558.556210993InjUsdt18d0.9P +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1nyv50r7vnktgpp5s22fh8nzf7ak8sthh6l7s3t] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1nyv50r7vnktgpp5s22fh8nzf7ak8sthh6l7s3t decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708952714.916449575InjUsdt30d1.12C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1708952714.916449575InjUsdt30d1.12C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1p9djw5xkg7dfgteqnh3cqmef2xs6meycd2k5r5] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1p9djw5xkg7dfgteqnh3cqmef2xs6meycd2k5r5 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709471628.501760810InjUsdt18d0.9P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709471628.501760810InjUsdt18d0.9P +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1pwf7q5vtq0thplnkdsp4v09mr66jkfyrsjr5g3] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1pwf7q5vtq0thplnkdsp4v09mr66jkfyrsjr5g3 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709471628.501760810InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709471628.501760810InjUsdt24d1.17C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1pww37pr6qnnndzz2azxhxl0rcvtxcftg0y70vh] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1pww37pr6qnnndzz2azxhxl0rcvtxcftg0y70vh decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709471628.501760810InjUsdt30d1.12C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709471628.501760810InjUsdt30d1.12C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1r4pjz70l4ytk06dfparzd6na5qqjeq09fkxdt4] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1r4pjz70l4ytk06dfparzd6na5qqjeq09fkxdt4 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709989206.952525115InjUsdt18d0.9P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709989206.952525115InjUsdt18d0.9P +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1r86atmuulmhzw63pqx5tp989nmupvn4fd94m7u] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1r86atmuulmhzw63pqx5tp989nmupvn4fd94m7u decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709989206.952525115InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709989206.952525115InjUsdt24d1.17C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1rayjg2wktsj9aa9j5ps52v3qunn80m7fjhdstp] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1rayjg2wktsj9aa9j5ps52v3qunn80m7fjhdstp decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709989206.952525115InjUsdt30d1.12C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1709989206.952525115InjUsdt30d1.12C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1rduwtul0x7fkryzpdn85yuujntwyel8z04h7cq] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1rduwtul0x7fkryzpdn85yuujntwyel8z04h7cq decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1710512672.125817391InjUsdt18d0.9P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1710512672.125817391InjUsdt18d0.9P +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1sfk9r0jk9wxs7n726qfjg5e649zf34yq6q65gn] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1sfk9r0jk9wxs7n726qfjg5e649zf34yq6q65gn decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1710512672.125817391InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1710512672.125817391InjUsdt24d1.17C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1sm36lxmzynkt9q37nwspf8n6pzplktul006u08] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1sm36lxmzynkt9q37nwspf8n6pzplktul006u08 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1710512672.125817391InjUsdt30d1.12C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1710512672.125817391InjUsdt30d1.12C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1sqj6x44uxtmklyewqxk9frqjrkjqjjmu6u0mrm] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1sqj6x44uxtmklyewqxk9frqjrkjqjjmu6u0mrm decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711026012.447108856InjUsdt18d0.9P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711026012.447108856InjUsdt18d0.9P +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ucj4veavs4jeuhe98xx8fe6yk0n83ulvjqank3] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ucj4veavs4jeuhe98xx8fe6yk0n83ulvjqank3 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711026012.447108856InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711026012.447108856InjUsdt24d1.17C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ulxnf3qhjk8l383nllhglfaautcstkmth089jp] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ulxnf3qhjk8l383nllhglfaautcstkmth089jp decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711026012.447108856InjUsdt30d1.12C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711026012.447108856InjUsdt30d1.12C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1v8v8jepsjdsxj29hxmm62qwzmg54r75v6mq6q9] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1v8v8jepsjdsxj29hxmm62qwzmg54r75v6mq6q9 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711544412.396311094InjUsdt18d0.9P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711544412.396311094InjUsdt18d0.9P +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ve3uga90prrwtpsptjrhnxlfd9u0qwuf0v43ke] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ve3uga90prrwtpsptjrhnxlfd9u0qwuf0v43ke decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711544412.396311094InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711544412.396311094InjUsdt24d1.17C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1wzt78jy575ejcps76gpc2m8k2v4x2526aksnk0] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1wzt78jy575ejcps76gpc2m8k2v4x2526aksnk0 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711544412.396311094InjUsdt30d1.12C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1711544412.396311094InjUsdt30d1.12C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1xar9nfhqc9al47hkh7eljrc3g66lntqch8hh0r] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1xar9nfhqc9al47hkh7eljrc3g66lntqch8hh0r decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712063630.920057621InjUsdt18d0.9P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712063630.920057621InjUsdt18d0.9P +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1xkq56rjtpcqgwh9yut6zwh3lxcle2yz4dljyxc] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1xkq56rjtpcqgwh9yut6zwh3lxcle2yz4dljyxc decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712063630.920057621InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712063630.920057621InjUsdt24d1.17C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1zqe2p2xegqyr3zeltt9kh7c934v7tlevmk6xg7] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1zqe2p2xegqyr3zeltt9kh7c934v7tlevmk6xg7 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712063630.920057621InjUsdt30d1.12C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712063630.920057621InjUsdt30d1.12C +[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1zxk9xvs6mnq2m5yws8gdgqstrmcqntuedlnua3] +peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1zxk9xvs6mnq2m5yws8gdgqstrmcqntuedlnua3 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712583066.521732861InjUsdt18d0.9P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712583066.521732861InjUsdt18d0.9P -decimals = 0 +[factory/inj1vk2re2ak5xf4w2vnscy4ym2a23cwx375872e73/INJ] +peggy_denom = factory/inj1vk2re2ak5xf4w2vnscy4ym2a23cwx375872e73/INJ +decimals = 6 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712583066.521732861InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712583066.521732861InjUsdt24d1.17C +[factory/inj1vr0te6wepj0pne8qaw5gt9jjm78g2aqgl4lz26/INJ] +peggy_denom = factory/inj1vr0te6wepj0pne8qaw5gt9jjm78g2aqgl4lz26/INJ +decimals = 6 + +[factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/GINGERDOG] +peggy_denom = factory/inj1vrktrmvtxkzd52kk45ptc5m53zncm56d278qza/GINGERDOG +decimals = 6 + +[factory/inj1vss35hmc5fzy0d4glcyt39w425pvwfsqk9zu3p/ABC] +peggy_denom = factory/inj1vss35hmc5fzy0d4glcyt39w425pvwfsqk9zu3p/ABC +decimals = 6 + +[factory/inj1vug68m8evczhxm26hfe7tetycsfnmm92mr6aaj/GODS] +peggy_denom = factory/inj1vug68m8evczhxm26hfe7tetycsfnmm92mr6aaj/GODS +decimals = 6 + +[factory/inj1vyelgqnlmnwd8sq2rcmg7d0jglrvggdk6s5y4k/position] +peggy_denom = factory/inj1vyelgqnlmnwd8sq2rcmg7d0jglrvggdk6s5y4k/position decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712583066.521732861InjUsdt30d1.12C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1712583066.521732861InjUsdt30d1.12C +[factory/inj1w4ru8gx7mjhagafdn2ljumrc8s5aaefzmynuqd/black] +peggy_denom = factory/inj1w4ru8gx7mjhagafdn2ljumrc8s5aaefzmynuqd/black decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713104421.579085515InjUsdt18d0.9P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713104421.579085515InjUsdt18d0.9P +[factory/inj1wc3a7mqvdvhe8mkglvzq6pmelex53e2x8safdv/position] +peggy_denom = factory/inj1wc3a7mqvdvhe8mkglvzq6pmelex53e2x8safdv/position decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713104421.579085515InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713104421.579085515InjUsdt24d1.17C +[factory/inj1weyajq6ksmzzhfpum9texpsgm9u20fc0kdqpgy/PEPE] +peggy_denom = factory/inj1weyajq6ksmzzhfpum9texpsgm9u20fc0kdqpgy/PEPE +decimals = 6 + +[factory/inj1whxcxhncnftrc76w0zns3l6934rqfenj5fl0kg/position] +peggy_denom = factory/inj1whxcxhncnftrc76w0zns3l6934rqfenj5fl0kg/position decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713104421.579085515InjUsdt30d1.12C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713104421.579085515InjUsdt30d1.12C +[factory/inj1wjtuzkprkc4gdf4r7dlh9gu96yyxml8qpzzy9p/elon] +peggy_denom = factory/inj1wjtuzkprkc4gdf4r7dlh9gu96yyxml8qpzzy9p/elon +decimals = 6 + +[factory/inj1wl8fjknkq2ge4tgynls5kdkkmwstj5fm3ts7s4/BINJ] +peggy_denom = factory/inj1wl8fjknkq2ge4tgynls5kdkkmwstj5fm3ts7s4/BINJ +decimals = 6 + +[factory/inj1wm66m98g8yluvl7vzcmsq5fvh4c7eacs32u5xh/INJ] +peggy_denom = factory/inj1wm66m98g8yluvl7vzcmsq5fvh4c7eacs32u5xh/INJ +decimals = 6 + +[factory/inj1wrltqpkxk8w5whk09knfyq4tkx06j5c9553fwh/INJ] +peggy_denom = factory/inj1wrltqpkxk8w5whk09knfyq4tkx06j5c9553fwh/INJ +decimals = 6 + +[factory/inj1ws4f65dx7kmspn28v22lmta3hkfps9cqfjwkyj/INJ] +peggy_denom = factory/inj1ws4f65dx7kmspn28v22lmta3hkfps9cqfjwkyj/INJ +decimals = 6 + +[factory/inj1wud39wkdk6vlqy65v4ytqrmldagvaz8c7gtnjm/position] +peggy_denom = factory/inj1wud39wkdk6vlqy65v4ytqrmldagvaz8c7gtnjm/position decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713342050InjUsdt18d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713342050InjUsdt18d1.13C +[factory/inj1wx6k6wkamm5pudf43d8q77ug094rydd6gkg622/INJ] +peggy_denom = factory/inj1wx6k6wkamm5pudf43d8q77ug094rydd6gkg622/INJ +decimals = 6 + +[factory/inj1x8larhqwxyr39ytv38476rqpz723uy2ycc66cf/BONK] +peggy_denom = factory/inj1x8larhqwxyr39ytv38476rqpz723uy2ycc66cf/BONK +decimals = 6 + +[factory/inj1xaw8dvp6v05vsnxxwa4y7gpuddxhes97rqmcv6/position] +peggy_denom = factory/inj1xaw8dvp6v05vsnxxwa4y7gpuddxhes97rqmcv6/position decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713356956InjUsdt18d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713356956InjUsdt18d1.13C +[factory/inj1xawhm3d8lf9n0rqdljpal033yackja3dt0kvp0/nobi] +peggy_denom = factory/inj1xawhm3d8lf9n0rqdljpal033yackja3dt0kvp0/nobi +decimals = 6 + +[factory/inj1xdmkzn2zpfh0rp38mjly8xza4xhx54vrlslqad/position] +peggy_denom = factory/inj1xdmkzn2zpfh0rp38mjly8xza4xhx54vrlslqad/position decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618016InjUsdt18d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618016InjUsdt18d1.13C +[factory/inj1xfl2jxuwpvpxxc5upxm8fxxzv6nxd65z5kpqny/position] +peggy_denom = factory/inj1xfl2jxuwpvpxxc5upxm8fxxzv6nxd65z5kpqny/position decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618016InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618016InjUsdt24d1.17C +[factory/inj1xhzt72xa3pyk25chwa3kh5j2dpuwehmycukh38/test] +peggy_denom = factory/inj1xhzt72xa3pyk25chwa3kh5j2dpuwehmycukh38/test +decimals = 6 + +[factory/inj1xns9khp247zkasydzvkcvv7et2qrf679gkudmy/FOMO] +peggy_denom = factory/inj1xns9khp247zkasydzvkcvv7et2qrf679gkudmy/FOMO +decimals = 6 + +[factory/inj1xnw3266sqst4xatdgu7qme69rf58vnlj99vsty/INJ] +peggy_denom = factory/inj1xnw3266sqst4xatdgu7qme69rf58vnlj99vsty/INJ +decimals = 6 + +[factory/inj1xzjfandwwadxws0a8x2p2vfwg9lzyfksceuhxr/bonk] +peggy_denom = factory/inj1xzjfandwwadxws0a8x2p2vfwg9lzyfksceuhxr/bonk +decimals = 18 + +[factory/inj1y4mmnuck96ffjswgd37963f5ch9kph8sk99zuj/position] +peggy_denom = factory/inj1y4mmnuck96ffjswgd37963f5ch9kph8sk99zuj/position decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618016InjUsdt28d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618016InjUsdt28d1.13C +[factory/inj1y5lrg2p5cmlne4jr8uj479ns05srq59cw99gm8/INJ] +peggy_denom = factory/inj1y5lrg2p5cmlne4jr8uj479ns05srq59cw99gm8/INJ +decimals = 6 + +[factory/inj1y6zxg76ltrjdx7xppvtrdqlc5ujyhfra8aqr3f/CROCO] +peggy_denom = factory/inj1y6zxg76ltrjdx7xppvtrdqlc5ujyhfra8aqr3f/CROCO +decimals = 6 + +[factory/inj1yc2pc60avmdv3sfvamt27nk3kxhcxlf53q8ysr/position] +peggy_denom = factory/inj1yc2pc60avmdv3sfvamt27nk3kxhcxlf53q8ysr/position decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618060InjUsdt16d0.89P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713618060InjUsdt16d0.89P +[factory/inj1yg24mn8enl5e6v4jl2j6cce47mx4vyd6e8dpck/milk] +peggy_denom = factory/inj1yg24mn8enl5e6v4jl2j6cce47mx4vyd6e8dpck/milk +decimals = 6 + +[factory/inj1yg49drflp8vmf4hj07jy9c8wl2fmqrfq09etpm/position] +peggy_denom = factory/inj1yg49drflp8vmf4hj07jy9c8wl2fmqrfq09etpm/position decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713974295InjUsdt28d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713974295InjUsdt28d1.13C +[factory/inj1ykf3aln7wwx7la80z5xc7w572d7vwtq92x09h5/INJ] +peggy_denom = factory/inj1ykf3aln7wwx7la80z5xc7w572d7vwtq92x09h5/INJ +decimals = 6 + +[factory/inj1yq82w2mugv4qvuy863p2urrwqegde4fyksmcmj/position] +peggy_denom = factory/inj1yq82w2mugv4qvuy863p2urrwqegde4fyksmcmj/position decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713974528InjUsdt16d0.85P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713974528InjUsdt16d0.85P +[factory/inj1yqgc6sv5eyhkf3p3nynrq5lsffnwp5vwvwqgqf/position] +peggy_denom = factory/inj1yqgc6sv5eyhkf3p3nynrq5lsffnwp5vwvwqgqf/position decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713974528InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1713974528InjUsdt24d1.17C +[factory/inj1yqnt9aswsjdujxxdeyzm4twqchjtaw2ddrxkqv/position] +peggy_denom = factory/inj1yqnt9aswsjdujxxdeyzm4twqchjtaw2ddrxkqv/position decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714309564InjUsdt16d0.85P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714309564InjUsdt16d0.85P +[factory/inj1yt3dxjvwyq5f4hw86sadk5jd9nqu6dnml3v7sv/INJ] +peggy_denom = factory/inj1yt3dxjvwyq5f4hw86sadk5jd9nqu6dnml3v7sv/INJ +decimals = 6 + +[factory/inj1yu54sj0phd59dgcd023hhlezxmtzqwgf44c6ka/position] +peggy_denom = factory/inj1yu54sj0phd59dgcd023hhlezxmtzqwgf44c6ka/position decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714309564InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714309564InjUsdt24d1.17C +[factory/inj1yuaz9qw8m75w7gxn3j7p9ph9pcsp8krpune70q/Test] +peggy_denom = factory/inj1yuaz9qw8m75w7gxn3j7p9ph9pcsp8krpune70q/Test +decimals = 6 + +[factory/inj1z3mux0g3fw2ggem5qnuqcy46nl5wwsdcm9q5eg/position] +peggy_denom = factory/inj1z3mux0g3fw2ggem5qnuqcy46nl5wwsdcm9q5eg/position decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714309564InjUsdt28d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714309564InjUsdt28d1.13C +[factory/inj1z426atp9k68uv49kaam7m0vnehw5fulxkyvde0/SHURIKEN] +peggy_denom = factory/inj1z426atp9k68uv49kaam7m0vnehw5fulxkyvde0/SHURIKEN +decimals = 6 + +[factory/inj1z60w4nx27cyt8tygmwxe045aa5h8u0acupv3dl/position] +peggy_denom = factory/inj1z60w4nx27cyt8tygmwxe045aa5h8u0acupv3dl/position decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714658833InjUsdt16d0.85P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714658833InjUsdt16d0.85P +[factory/inj1z7mx2tc9ea4y2y0nx230pe7knm8fryk3rv6r2c/uLP] +peggy_denom = factory/inj1z7mx2tc9ea4y2y0nx230pe7knm8fryk3rv6r2c/uLP decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714658833InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714658833InjUsdt24d1.17C -decimals = 0 +[factory/inj1ze3ad8k5aw7ejwlpvwfdht9yslnpfqez45sd3v/BCAT] +peggy_denom = factory/inj1ze3ad8k5aw7ejwlpvwfdht9yslnpfqez45sd3v/BCAT +decimals = 6 + +[factory/inj1zgpg4laenyplsjeqz4pxfhmsv55vcx70lf2sgz/MONKEY] +peggy_denom = factory/inj1zgpg4laenyplsjeqz4pxfhmsv55vcx70lf2sgz/MONKEY +decimals = 6 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714658833InjUsdt28d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1714658833InjUsdt28d1.13C -decimals = 0 +[factory/inj1zjd5nqyvyksjqzsc207v80pcd9a0r9fec8rvn6/INJ] +peggy_denom = factory/inj1zjd5nqyvyksjqzsc207v80pcd9a0r9fec8rvn6/INJ +decimals = 6 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715000420InjUsdt16d0.85P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715000420InjUsdt16d0.85P -decimals = 0 +[factory/inj1zmlf85er8we52r9qsq8wdumwpkdrhqh0f0u27j/INJ] +peggy_denom = factory/inj1zmlf85er8we52r9qsq8wdumwpkdrhqh0f0u27j/INJ +decimals = 6 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715000420InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715000420InjUsdt24d1.17C +[factory/inj1zt0ts2z4r0sx0g3ae87ct9r9pgjmxexe4lj2h3/position] +peggy_denom = factory/inj1zt0ts2z4r0sx0g3ae87ct9r9pgjmxexe4lj2h3/position decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715000420InjUsdt28d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715000420InjUsdt28d1.13C +[factory/inj1zthvl3awskg6a7l2v4yq9srxjjatvl4ydesfhc/position] +peggy_denom = factory/inj1zthvl3awskg6a7l2v4yq9srxjjatvl4ydesfhc/position decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715346009InjUsdt16d0.85P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715346009InjUsdt16d0.85P -decimals = 0 +[factory/inj1zy0r4d9s4zmssym0u46j5vxqatt5k5phfxt6rf/bonk] +peggy_denom = factory/inj1zy0r4d9s4zmssym0u46j5vxqatt5k5phfxt6rf/bonk +decimals = 18 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715346009InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715346009InjUsdt24d1.17C +[factory/neutron133xakkrfksq39wxy575unve2nyehg5npx75nph/GOP] +peggy_denom = ibc/B6DEF77F4106DE5F5E1D5C7AA857392A8B5CE766733BA23589AD4760AF953819 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715346009InjUsdt28d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715346009InjUsdt28d1.13C +[factory/neutron133xakkrfksq39wxy575unve2nyehg5npx75nph/MOO] +peggy_denom = ibc/572EB1D6454B3BF6474A30B06D56597D1DEE758569CC695FF628D4EA235EFD5D decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715691712InjUsdt16d0.85P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715691712InjUsdt16d0.85P +[factory/neutron154gg0wtm2v4h9ur8xg32ep64e8ef0g5twlsgvfeajqwghdryvyqsqhgk8e/APOLLO] +peggy_denom = ibc/1B47F9D980CBB32A87022E1381C15005DE942A71CB61C1B498DBC2A18F43A8FE decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715691712InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715691712InjUsdt24d1.17C +[factory/osmo1q77cw0mmlluxu0wr29fcdd0tdnh78gzhkvhe4n6ulal9qvrtu43qtd0nh8/djjtga] +peggy_denom = ibc/50DC83F6AD408BC81CE04004C86BF457F9ED9BF70839F8E6BA6A3903228948D7 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715691712InjUsdt28d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1715691712InjUsdt28d1.13C +[factory/osmo1q77cw0mmlluxu0wr29fcdd0tdnh78gzhkvhe4n6ulal9qvrtu43qtd0nh8/test] +peggy_denom = ibc/40C510742D7CE7F5EB2EF894AA9AD5056183D80628A73A04B48708A660FD088D decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716037433InjUsdt16d0.85P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716037433InjUsdt16d0.85P +[factory/sei189adguawugk3e55zn63z8r9ll29xrjwca636ra7v7gxuzn98sxyqwzt47l/9fELvUhFo6yWL34ZaLgPbCPzdk9MD1tAzMycgH45qShH] +peggy_denom = ibc/8A8AA255C5C0C1C58A35D74FE992620E10292BDCE1D2C7F8C7C439D642C42040 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716037433InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716037433InjUsdt24d1.17C +[factory/sei189adguawugk3e55zn63z8r9ll29xrjwca636ra7v7gxuzn98sxyqwzt47l/Hq4tuDzhRBnxw3tFA5n6M52NVMVcC19XggbyDiJKCD6H] +peggy_denom = ibc/247FF5EB358DA07AE08BC0E975E1AD955494A51B6C11452271A216E67AF1E4D1 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716037433InjUsdt28d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716037433InjUsdt28d1.13C +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/2Wb6ueMFc9WLc2eyYVha6qnwHKbwzUXdooXsg6XXVvos] +peggy_denom = ibc/8D59D4FCFE77CA4F11F9FD9E9ACA645197E9BFFE48B05ADA172D750D3C5F47E7 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716385437InjUsdt16d0.85P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716385437InjUsdt16d0.85P +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/3wftBtqKjWFXFWhtsG6fjaLTbpnaLhN3bhfSMdvEVdXT] +peggy_denom = ibc/6C1F980F3D295DA21EC3AFD71008CC7674BA580EBEDBD76FD5E25E481067AF09 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716385437InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716385437InjUsdt24d1.17C +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/576uQXyQrjFdqzDRvBnXihn467ipuc12a5yN8v8H99f8] +peggy_denom = ibc/0F18C33D7C2C28E24A67BEFA2689A1552DCE9856E1BB3A16259403D5398EB23C decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716385437InjUsdt28d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716385437InjUsdt28d1.13C +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/5MeVz64BbVszQaCqCTQ2zfWTmnQ5uKwNMaDDSJDRuqTY] +peggy_denom = ibc/B7936BF07D9035C66C83B81B61672A05F30DE4196BE0A016A6CD4EDD20CB8F24 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716728415InjUsdt16d0.85P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716728415InjUsdt16d0.85P +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/5cKyTGhoHu1VFNPd6iXdKYTm3CkTtz1MeCdYLUGgF4zt] +peggy_denom = ibc/3C2EEA34EAF26698EE47A58FA2142369CE42E105E8452E1C074A32D34431484B decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716728415InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716728415InjUsdt24d1.17C +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/6wMmXNYNi8tYB32cCAGPoPrr6nHLKx4j9kpGv5moBnuT] +peggy_denom = ibc/13055E6ECA7C05091DD7B93DF81F0BB12479779DE3B9410CF445CC34B8361664 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716728415InjUsdt28d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1716728415InjUsdt28d1.13C +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/7KQX8bVDa8W4EdpED8oHqhSfJsgF79XDcxcd8ELUws7G] +peggy_denom = ibc/0A44483A7AFF7C096B2A4FB00A12E912BE717CD7703CF7F33ED99DB35230D404 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717074021InjUsdt16d0.85P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717074021InjUsdt16d0.85P +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/8iuAc6DSeLvi2JDUtwJxLytsZT8R19itXebZsNReLLNi] +peggy_denom = ibc/6D434846D1535247426AA917BBEC53BE1A881D49A010BF7EDACBFCD84DE4A5B8 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717074021InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717074021InjUsdt24d1.17C +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/8sYgCzLRJC3J7qPn2bNbx6PiGcarhyx8rBhVaNnfvHCA] +peggy_denom = ibc/1E4DACCD788219206F93485352B39DF83F6268F389997141498FAFB5BA06493B decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717074021InjUsdt28d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717074021InjUsdt28d1.13C +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/9weDXCi5EPvG2xk6VTiKKxhijYuq79U6UzPwBniF1cET] +peggy_denom = ibc/C2C022DC63E598614F39C575BC5EF4EC54E5D081365D9BE090D75F743364E54D decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717419602InjUsdt16d0.85P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717419602InjUsdt16d0.85P +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/AsSyBMk2D3FmntrGtd539XWDGwmJ7Uv8vVXQTwTjyqBw] +peggy_denom = ibc/7A39488A287BF7DBC4A33DDA2BE3DDAC0F281FBCFF23934B7194893C136AAA99 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717419602InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717419602InjUsdt24d1.17C +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/BSWyXu2ZJFGaSau3aLDwNZMCDwenWhwPfWALpYna7WzV] +peggy_denom = ibc/CB8E08B5C734BDA8344DDCFE5C9CCCC91521763BA1BC9F61CADE6E8F0B556E3D decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717419602InjUsdt28d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717419602InjUsdt28d1.13C +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/BjqmpMWFUphe7Qr3v8rLCZh8aoH2qfi2S1z8649b62TY] +peggy_denom = ibc/4F72D2F3EAFB61D8615566B3C80AEF2778BB14B648929607568C79CD90416188 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717769182InjUsdt16d0.85P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717769182InjUsdt16d0.85P +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/CroEB5zf21ea42ezHnpcv1jj1jANLY4A1sQL6y4UsHGR] +peggy_denom = ibc/8E7F71072C97C5D8D19978C7E38AE90C0FBCCE551AF95FEB000EA9EBBFD6396B decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717769182InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717769182InjUsdt24d1.17C +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/Cv4gKZrfUhNZtcjUDgdodrup397e9Nm7hMaqFwSCPVjj] +peggy_denom = ibc/44EC7BD858EC12CE9C2F882119F522937264B50DD26DE73270CA219242E9C1B2 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717769182InjUsdt28d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1717769182InjUsdt28d1.13C +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/EfeMLPMU8BcwMbzNy5DfbYCzRDvDVdo7nLZt7GZG4a8Y] +peggy_denom = ibc/366870891D57A5076D117307C42F597A000EB757793A9AB58019660B896292AA decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718110812InjUsdt16d0.85P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718110812InjUsdt16d0.85P +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/Eh6t4Hgff8mveKYH5Csa7zyoq5hgKNnLF8qq9YhSsu7j] +peggy_denom = ibc/AA2394D484EADAC0B982A8979B18109FAEDD5D47E36D8153955369FEC16D027B decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718110812InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718110812InjUsdt24d1.17C +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/Ej6p2SmCeEnkLsZR2pwSCK9L1LUQWgKsMd3iVdYMFaJq] +peggy_denom = ibc/6912080A54CAB152D10CED28050E6DBE87B49E4F77D6BA6D54A05DBF4C3CCA88 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718110812InjUsdt28d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718110812InjUsdt28d1.13C +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/F6QdZRjBTFmK1BNMrws1D9uPqQkHE25qqR2bMpeTuLjb] +peggy_denom = ibc/473D128E740A340B0663BD09CFC9799A0254564448B62CAA557D65DB23D0FCCD decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718456416InjUsdt16d0.85P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718456416InjUsdt16d0.85P +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/FrbRcKDffWhKiHimzrWBpQRyM65uJkYDSf4J3QksasJ9] +peggy_denom = ibc/E2C56B24C032D2C54CF12EAD43432D65FDF22C64E819F97AAD3B141829EF3E60 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718456416InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718456416InjUsdt24d1.17C +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/G4b8zJq7EUqVTwgbokQiHyYa5PzhQ1bLiyAeK3Yw9en8] +peggy_denom = ibc/683CD81C466CF3678E78B5E822FA07F0C23107B1F8FA06E80EAD32D569C4CF84 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718456416InjUsdt28d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718456416InjUsdt28d1.13C +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/G8PQ2heLLT8uBjoCfkkD3pNmTGZo6hNtSEEuJUGn9daJ] +peggy_denom = ibc/65CF217605B92B4CD37AC22955C5C59DE39CFD2A7A2E667861CCAFC810C4F5BD decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718802323InjUsdt16d0.85P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718802323InjUsdt16d0.85P +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/GGh9Ufn1SeDGrhzEkMyRKt5568VbbxZK2yvWNsd6PbXt] +peggy_denom = ibc/389982EAC0D365D49FABD2DA625B9EB2C5D4369EFC09FA05D7D324055A9B2FE7 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718802323InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718802323InjUsdt24d1.17C +[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/HJk1XMDRNUbRrpKkNZYui7SwWDMjXZAsySzqgyNcQoU3] +peggy_denom = ibc/126D6F24002F098804B70C133E0BBCEE40EE2ED489373C648805FEA4FF206333 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718802323InjUsdt28d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1718802323InjUsdt28d1.13C +[factory:kujira13ryry75s34y4sl5st7g5mhk0he8rc2nn7ah6sl:SPERM] +peggy_denom = ibc/EBC2F00888A965121201A6150B7C55E0941E49438BC7F02385A632D6C4E68E2A decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719147607InjUsdt16d0.85P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719147607InjUsdt16d0.85P +[factory:kujira1e224c8ry0nuun5expxm00hmssl8qnsjkd02ft94p3m2a33xked2qypgys3:urcpt] +peggy_denom = ibc/49994E6147933B46B83CCEDE3528C6B3E5960ECE5A85548C2A519CF3B812E8B9 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719147607InjUsdt24d1.17C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719147607InjUsdt24d1.17C +[factory:kujira1jelmu9tdmr6hqg0d6qw4g6c9mwrexrzuryh50fwcavcpthp5m0uq20853h:urcpt] +peggy_denom = ibc/E970A80269F0867B0E9C914004AB991E6AF94F3EF2D4E1DFC92E140ACB6BBD5C decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719147607InjUsdt28d1.13C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719147607InjUsdt28d1.13C +[factory:kujira1yntegc5v3tvl0xfrde0rupnt9kfnx0sy9lytge9g2mryjknudk6qg4zyw9:urcpt] +peggy_denom = ibc/D4D75686C76511349744536403E94B31AC010EB6EA1B579C01B2D64B6888E068 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719493268InjUsdt16d0.82P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719493268InjUsdt16d0.82P -decimals = 0 +[faot] +peggy_denom = inj1vnhhrcnnnr6tq96eaa8gcsuaz55ugnhs3dmfqq +decimals = 18 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719493268InjUsdt24d1.25C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719493268InjUsdt24d1.25C -decimals = 0 +[fatPEPE] +peggy_denom = factory/inj1an9qflgvpvjdhczce6xwrh4afkaap77c72k4yd/fatpepe +decimals = 6 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719493268InjUsdt28d1.18C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719493268InjUsdt28d1.18C -decimals = 0 +[fff] +peggy_denom = factory/inj1xy7dcllc7wn5prcy73xr7xhpt9zwg49c6szqcz/fff +decimals = 6 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719804902InjUsdt16d0.82P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719804902InjUsdt16d0.82P -decimals = 0 +[fiftycent] +peggy_denom = inj1rtgfdnja2xav84ta0twq8cmmvkqzycnu9uxzw5 +decimals = 18 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719804902InjUsdt28d1.18C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719804902InjUsdt28d1.18C -decimals = 0 +[fmXEN] +peggy_denom = inj14vluf5wc7tsptnfzrjs9g579uyp9gvvlwre5e4 +decimals = 8 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719805152InjUsdt24d1.25C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1719805152InjUsdt24d1.25C -decimals = 0 +[foo] +peggy_denom = factory/inj12vxhuaamfs33sxgnf95lxvzy9lpugpgjsrsxl3/foo +decimals = 6 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720184412InjUsdt16d0.82P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720184412InjUsdt16d0.82P -decimals = 0 +[footjob] +peggy_denom = inj1gn7tah4p0uvgmtwgwe5lp9q7ce8d4yr8jxrfcv +decimals = 18 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720184412InjUsdt24d1.25C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720184412InjUsdt24d1.25C -decimals = 0 +[fox] +peggy_denom = factory/inj1ddmyuzh42n8ymyhcm5jla3aaq9tucjnye02dlf/fox +decimals = 6 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720184412InjUsdt28d1.18C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720184412InjUsdt28d1.18C -decimals = 0 +[frINJa] +peggy_denom = factory/inj1sm0feg2fxpmx5yg3ywzdzyn0s93m6d9dt87jf5/frINJa +decimals = 7 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720530062InjUsdt16d0.82P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720530062InjUsdt16d0.82P -decimals = 0 +[franklin] +peggy_denom = inj1zd0043cf6q7yft07aaqgsurgh53xy5gercpzuu +decimals = 18 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720530062InjUsdt24d1.25C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720530062InjUsdt24d1.25C -decimals = 0 +[gay] +peggy_denom = inj15x48ts4jw429zd9vvkwxf0advg9j24z2q948fl +decimals = 18 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720530062InjUsdt28d1.18C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720530062InjUsdt28d1.18C -decimals = 0 +[gayasf] +peggy_denom = inj1qu6eldq9ftz2wvr43848ff8x5586xm0639kg7a +decimals = 18 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720875614InjUsdt16d0.82P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720875614InjUsdt16d0.82P -decimals = 0 +[get] +peggy_denom = factory/inj1ldee0qev4khjdpw8wpqpyeyw0n0z8nnqtc423g/get +decimals = 6 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720875614InjUsdt24d1.25C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720875614InjUsdt24d1.25C -decimals = 0 +[ginj] +peggy_denom = factory/inj1r4usuj62gywdwhq9uvx6tg0ywqpppcjqu7z4js/ginj +decimals = 6 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720875614InjUsdt28d1.18C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1720875614InjUsdt28d1.18C -decimals = 0 +[gipsyCOINS] +peggy_denom = inj1pyeutpz66lhapppt2ny36s57zfspglqtvdwywd +decimals = 6 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721221498InjUsdt16d0.82P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721221498InjUsdt16d0.82P -decimals = 0 +[godzilla] +peggy_denom = factory/inj1nhswhqrgfu3hpauvyeycz7pfealx4ack2c5hfp/godzilla +decimals = 6 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721221498InjUsdt24d1.25C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721221498InjUsdt24d1.25C +[gravity0xA0b73E1Ff0B80914AB6fe0444E65848C4C34450b] +peggy_denom = ibc/FF8F4C5D1664F946E88654921D6C1E81D5C167B8A58A4E75B559BAA2DBBF0101 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721221498InjUsdt28d1.18C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721221498InjUsdt28d1.18C +[gravity0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48] +peggy_denom = ibc/7C2AA3086423029B3E915B5563975DB87EF2E552A40F996C7F6D19FFBD5B2AEA decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721566814InjUsdt16d0.82P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721566814InjUsdt16d0.82P +[gravity0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2] +peggy_denom = ibc/E7C0089E196DB00A88D6EA6D1CD87D80C320D721ACFAEFF4342CEF15AE9EDAE0 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721566814InjUsdt24d1.25C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721566814InjUsdt24d1.25C +[gravity0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30] +peggy_denom = ibc/57E7FEFD5872F89EB1C792C4B06B51EA565AC644EA2F64B88F8FC40704F8E9C4 decimals = 0 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721566814InjUsdt28d1.18C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721566814InjUsdt28d1.18C -decimals = 0 +[gto] +peggy_denom = inj1ehnt0lcek8wdf0xj7y5mmz7nzr8j7ytjgk6l7g +decimals = 18 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721912418InjUsdt16d0.82P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721912418InjUsdt16d0.82P -decimals = 0 +[h2o] +peggy_denom = factory/inj1utlxkwfxhmfc826gu07w20mvguysavz72edy4n/fbi +decimals = 6 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721912418InjUsdt24d1.25C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721912418InjUsdt24d1.25C -decimals = 0 +[hINJ] +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18luqttqyckgpddndh8hvaq25d5nfwjc78m56lc +decimals = 18 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721912418InjUsdt28d1.18C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1721912418InjUsdt28d1.18C -decimals = 0 +[httuy] +peggy_denom = inj1996tdgklvleuja56gfpv9v3cc2uflmm9vavw05 +decimals = 18 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1722259395InjUsdt16d0.82P] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1722259395InjUsdt16d0.82P -decimals = 0 +[hug] +peggy_denom = inj1ncjqkvnxpyyhvm475std34eyn5c7eydpxxagds +decimals = 18 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1722259395InjUsdt24d1.25C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1722259395InjUsdt24d1.25C -decimals = 0 +[ibc/02683677B1A58ECF74FFF25711E09735C44153FE9490BE5EF9FD21DE82BCB542] +peggy_denom = ibc/02683677B1A58ECF74FFF25711E09735C44153FE9490BE5EF9FD21DE82BCB542 +decimals = 6 -[factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1722259395InjUsdt28d1.18C] -peggy_denom = factory/inj1cs57nurqssdy09a0tuzqetxn6nyzphj5w220jh/1722259395InjUsdt28d1.18C -decimals = 0 +[ibc/063F4461F7317CFF10F50AB044E44932D22AAD84FA7107082744946E6DB7B7A8] +peggy_denom = ibc/063F4461F7317CFF10F50AB044E44932D22AAD84FA7107082744946E6DB7B7A8 +decimals = 6 -[factory/inj1csmzuxsp5vp2ng5cue7wdknudk8m69wlr62rq5/uLP] -peggy_denom = factory/inj1csmzuxsp5vp2ng5cue7wdknudk8m69wlr62rq5/uLP +[ibc/0D2C8BD2BF7C53A7873D5D038273DF6E4E44092193202021308B90C6D035A98A] +peggy_denom = ibc/0D2C8BD2BF7C53A7873D5D038273DF6E4E44092193202021308B90C6D035A98A decimals = 0 -[factory/inj1cus3dx8lxq2h2y9mzraxagaw8kjjcx6ul5feak/EA] -peggy_denom = factory/inj1cus3dx8lxq2h2y9mzraxagaw8kjjcx6ul5feak/EA +[ibc/0F3A724673F682CF7812D0ED1A0C41D344C09E94C939E79D12712DC7C0676E80] +peggy_denom = ibc/0F3A724673F682CF7812D0ED1A0C41D344C09E94C939E79D12712DC7C0676E80 +decimals = 6 + +[ibc/10CE34C15047F36C29C0644383FD0908646D67C198A35CF089AD53902FE3CA28] +peggy_denom = ibc/10CE34C15047F36C29C0644383FD0908646D67C198A35CF089AD53902FE3CA28 decimals = 0 -[factory/inj1cuv9fu0p28u60e5rtw7u6pch8zdm840zctlx84/position] -peggy_denom = factory/inj1cuv9fu0p28u60e5rtw7u6pch8zdm840zctlx84/position +[ibc/10E1BF4C7142E07AA8CE7C91292E89B806F31263FCE48E966385FD47B53C1FFA] +peggy_denom = ibc/10E1BF4C7142E07AA8CE7C91292E89B806F31263FCE48E966385FD47B53C1FFA decimals = 0 -[factory/inj1cvhsxdjs64q9l83s7twdhsw3vjx54haqgv2d6k/position] -peggy_denom = factory/inj1cvhsxdjs64q9l83s7twdhsw3vjx54haqgv2d6k/position +[ibc/15FE2BB9D596F81B40D72E95953E0CB6E2280813799AED7058D499E0C2B561C6] +peggy_denom = ibc/15FE2BB9D596F81B40D72E95953E0CB6E2280813799AED7058D499E0C2B561C6 decimals = 0 -[factory/inj1d4zluv70jrx4nl68fp7rqjhpq7egdey2433l96/position] -peggy_denom = factory/inj1d4zluv70jrx4nl68fp7rqjhpq7egdey2433l96/position +[ibc/1D4FB764C95C003A2E274D52EBDA0590DE2CD5DF21BA56C06E285BC1167E5073] +peggy_denom = ibc/1D4FB764C95C003A2E274D52EBDA0590DE2CD5DF21BA56C06E285BC1167E5073 decimals = 0 -[factory/inj1d5fe04g9xa577e2zn82n4m0ksq8wp8vxgvfupw/PINKIE] -peggy_denom = factory/inj1d5fe04g9xa577e2zn82n4m0ksq8wp8vxgvfupw/PINKIE -decimals = 6 +[ibc/2138C4EA63EFD757D42F75B90177FE34A9508DC0046DC48844CFF26659AE7A9D] +peggy_denom = ibc/2138C4EA63EFD757D42F75B90177FE34A9508DC0046DC48844CFF26659AE7A9D +decimals = 5 -[factory/inj1d80r2q4lcsajwr494wyswykn46smag0yy8scfv/position] -peggy_denom = factory/inj1d80r2q4lcsajwr494wyswykn46smag0yy8scfv/position +[ibc/334B68D79945DEE86E2F8E20D8C744E98C87D0FED274D9684AA35ABD5F661699] +peggy_denom = ibc/334B68D79945DEE86E2F8E20D8C744E98C87D0FED274D9684AA35ABD5F661699 decimals = 0 -[factory/inj1dg6eay6q34r2eh88u6hghlz5r3y25n2wpp494v/position] -peggy_denom = factory/inj1dg6eay6q34r2eh88u6hghlz5r3y25n2wpp494v/position +[ibc/359EA1E69EF84A02FD453B9FC462F985287F51310FF2E3ECEDABFDF7D3EAC91A] +peggy_denom = ibc/359EA1E69EF84A02FD453B9FC462F985287F51310FF2E3ECEDABFDF7D3EAC91A decimals = 0 -[factory/inj1dl8d43lz8ctmtka5d0tta8yj2urmgal7fgqcmh/position] -peggy_denom = factory/inj1dl8d43lz8ctmtka5d0tta8yj2urmgal7fgqcmh/position +[ibc/365501AC8CD65F1BCB22C4A546458C3CA702985A30443120992B61483399B836] +peggy_denom = ibc/365501AC8CD65F1BCB22C4A546458C3CA702985A30443120992B61483399B836 decimals = 0 -[factory/inj1dpyjsuehlrsmr78cddezd488euydtew3vukjmf/INJ] -peggy_denom = factory/inj1dpyjsuehlrsmr78cddezd488euydtew3vukjmf/INJ +[ibc/377F82FD1E4F6408B1CB7C8BFF9134A1F2C5D5E5CC2760BAD972AF0F7F6D4675] +peggy_denom = ibc/377F82FD1E4F6408B1CB7C8BFF9134A1F2C5D5E5CC2760BAD972AF0F7F6D4675 decimals = 6 -[factory/inj1drpns3cxn82e5q0nmmdaz8zxmla5lqsh6txmc9/position] -peggy_denom = factory/inj1drpns3cxn82e5q0nmmdaz8zxmla5lqsh6txmc9/position -decimals = 0 +[ibc/433133545CF68587777A01C3EFCF720EFE1B42F14AB2153D349DC4559984F2E8] +peggy_denom = ibc/433133545CF68587777A01C3EFCF720EFE1B42F14AB2153D349DC4559984F2E8 +decimals = 6 -[factory/inj1dvr32vqxs8m6tmzv50xnnpzgph0wxp2jcfvl4u/INJ] -peggy_denom = factory/inj1dvr32vqxs8m6tmzv50xnnpzgph0wxp2jcfvl4u/INJ +[ibc/45C1BDD0F44EA61B79E6F07C61F6FBC601E496B281316C867B542D7964A4BD82] +peggy_denom = ibc/45C1BDD0F44EA61B79E6F07C61F6FBC601E496B281316C867B542D7964A4BD82 decimals = 6 -[factory/inj1dwfggufv8vkjcfkuk7fkkucs4rje0krav9ruyr/presale] -peggy_denom = factory/inj1dwfggufv8vkjcfkuk7fkkucs4rje0krav9ruyr/presale +[ibc/465B094023AC8545B0E07163C7111D4A876978712D8A33E546AADDDB4E11F265] +peggy_denom = ibc/465B094023AC8545B0E07163C7111D4A876978712D8A33E546AADDDB4E11F265 decimals = 0 -[factory/inj1dxprjkxz06cpahgqrv90hug9d8z504j52ms07n/test] -peggy_denom = factory/inj1dxprjkxz06cpahgqrv90hug9d8z504j52ms07n/test +[ibc/46AA3E75F15D7EFA00BF6747E8CE668F6A515182B2355942C567F47B88761072] +peggy_denom = ibc/46AA3E75F15D7EFA00BF6747E8CE668F6A515182B2355942C567F47B88761072 decimals = 0 -[factory/inj1e2pu02vjnh27mte3s0wqld9f85mzglyrxxuuvz/position] -peggy_denom = factory/inj1e2pu02vjnh27mte3s0wqld9f85mzglyrxxuuvz/position +[ibc/46FFF1A18F4AE92224E19065630685A16837C17FA3C59C23FE7012982216D0D5] +peggy_denom = ibc/46FFF1A18F4AE92224E19065630685A16837C17FA3C59C23FE7012982216D0D5 decimals = 0 -[factory/inj1e60tjgqhfsxutrcvklhgc7gechtq3pcej8gy4e/position] -peggy_denom = factory/inj1e60tjgqhfsxutrcvklhgc7gechtq3pcej8gy4e/position +[ibc/4A1CC41B019E6D412E3A337A1E5C1F301E9D2CAE8EA8EF449538CBA4BED6E2FA] +peggy_denom = ibc/4A1CC41B019E6D412E3A337A1E5C1F301E9D2CAE8EA8EF449538CBA4BED6E2FA decimals = 0 -[factory/inj1e66ekacsxnv60yk006mymnrprged95n6crzzwg/INJ] -peggy_denom = factory/inj1e66ekacsxnv60yk006mymnrprged95n6crzzwg/INJ -decimals = 6 +[ibc/4C8A332AE4FDE42709649B5F9A2A336192158C4465DF74B4513F5AD0C583EA6F] +peggy_denom = ibc/4C8A332AE4FDE42709649B5F9A2A336192158C4465DF74B4513F5AD0C583EA6F +decimals = 8 -[factory/inj1e6wv0fn2cggsgwlmywp9u5pyd0zcx5vth3djrv/position] -peggy_denom = factory/inj1e6wv0fn2cggsgwlmywp9u5pyd0zcx5vth3djrv/position +[ibc/4CE2DDC2BE301B92DD08ECBBF39910A4F055DC68156132B222B8CEF651941D31] +peggy_denom = ibc/4CE2DDC2BE301B92DD08ECBBF39910A4F055DC68156132B222B8CEF651941D31 decimals = 0 -[factory/inj1e94cdzndq5xr2lx5dsjnz0ts5lm8nc8k9wanax/INJ] -peggy_denom = factory/inj1e94cdzndq5xr2lx5dsjnz0ts5lm8nc8k9wanax/INJ -decimals = 6 - -[factory/inj1ea4p8khg0e4zusfv339cy5h9h3myctfcl74ee6/INJ] -peggy_denom = factory/inj1ea4p8khg0e4zusfv339cy5h9h3myctfcl74ee6/INJ +[ibc/4D29F082A3C083C85C886B92A1EB438C3FC0632E5F9E4D875479BEB7B9511BD5] +peggy_denom = ibc/4D29F082A3C083C85C886B92A1EB438C3FC0632E5F9E4D875479BEB7B9511BD5 decimals = 6 -[factory/inj1egnhxmtnh76p2lgdky8985msrue92ag499ev6w/position] -peggy_denom = factory/inj1egnhxmtnh76p2lgdky8985msrue92ag499ev6w/position -decimals = 0 - -[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/GINGER.ash] -peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/GINGER.ash +[ibc/4D5A68067A682C1EFEAE08E2355A2DE229E62145943E53CAC97EF5E1DE430072] +peggy_denom = ibc/4D5A68067A682C1EFEAE08E2355A2DE229E62145943E53CAC97EF5E1DE430072 decimals = 0 -[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/HACHI.ash] -peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/HACHI.ash +[ibc/557C8BDED38445765DAEBEB4EBBFC88F8ACBD9C414F95A1795AB45017F4A1786] +peggy_denom = ibc/557C8BDED38445765DAEBEB4EBBFC88F8ACBD9C414F95A1795AB45017F4A1786 decimals = 0 -[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/Hava.ash] -peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/Hava.ash +[ibc/5B8F90B1E3A33B45FF7AE086621456E8C2C162CABCC95406001322818AE92B63] +peggy_denom = ibc/5B8F90B1E3A33B45FF7AE086621456E8C2C162CABCC95406001322818AE92B63 decimals = 0 -[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/KIRA.ash] -peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/KIRA.ash +[ibc/5B9385ABA4F72BD0CD5D014BBF58C48B103C3FAF82A6283AA689AC76F5A80F66] +peggy_denom = ibc/5B9385ABA4F72BD0CD5D014BBF58C48B103C3FAF82A6283AA689AC76F5A80F66 decimals = 0 -[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/SYN.ash] -peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/SYN.ash +[ibc/60DC18B7771F14C0069205E538C0758FED60E92077F19C9485203743BC174C77] +peggy_denom = ibc/60DC18B7771F14C0069205E538C0758FED60E92077F19C9485203743BC174C77 decimals = 0 -[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/Talis.ash] -peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/Talis.ash +[ibc/63F1FCA502ADCA376A83257828085E542A10CD5CF3CF7FB3CFB33E055958EAB9] +peggy_denom = ibc/63F1FCA502ADCA376A83257828085E542A10CD5CF3CF7FB3CFB33E055958EAB9 decimals = 0 -[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/autism.ash] -peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/autism.ash -decimals = 0 +[ibc/64431EE79F3216B8F7773A630549ADA852EA8E4B545D22BD35B0BF56FD5D5201] +peggy_denom = ibc/64431EE79F3216B8F7773A630549ADA852EA8E4B545D22BD35B0BF56FD5D5201 +decimals = 6 -[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/coping.ash] -peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/coping.ash +[ibc/646315E3B0461F5FA4C5C8968A88FC45D4D5D04A45B98F1B8294DD82F386DD85] +peggy_denom = ibc/646315E3B0461F5FA4C5C8968A88FC45D4D5D04A45B98F1B8294DD82F386DD85 decimals = 0 -[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/inj.ash] -peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/inj.ash -decimals = 0 +[ibc/64D95807CA13CD9EC5BEF9D3709138A14295DDBDFBC9EF58A9FFE34B911545E6] +peggy_denom = ibc/64D95807CA13CD9EC5BEF9D3709138A14295DDBDFBC9EF58A9FFE34B911545E6 +decimals = 6 -[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/katana.ash] -peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/katana.ash +[ibc/66DB244867B50966FCD71C0457A9C0E239AB8228EFF2E60216A83B8710B23EBE] +peggy_denom = ibc/66DB244867B50966FCD71C0457A9C0E239AB8228EFF2E60216A83B8710B23EBE decimals = 0 -[factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/ninja.ash] -peggy_denom = factory/inj1ej2f3lmpxj4djsmmuxvnfuvplrut7zmwrq7zj8/ninja.ash +[ibc/69C979B0833FC4B34A9FCF6B75F2EAA4B93507E7F8629C69C03081C21837D038] +peggy_denom = ibc/69C979B0833FC4B34A9FCF6B75F2EAA4B93507E7F8629C69C03081C21837D038 decimals = 0 -[factory/inj1ejwjldm2k7k9zcgzvglkht5hhxg50lcnnnud9l/position] -peggy_denom = factory/inj1ejwjldm2k7k9zcgzvglkht5hhxg50lcnnnud9l/position +[ibc/6BBCFE43BE414294606BF4B05BB9EB18D685A9183DF5FD8CC5154879B8279C8D] +peggy_denom = ibc/6BBCFE43BE414294606BF4B05BB9EB18D685A9183DF5FD8CC5154879B8279C8D decimals = 0 -[factory/inj1ekmnc56xkc3cl7wzrew8q89700vtry5wnjlgqw/INJ] -peggy_denom = factory/inj1ekmnc56xkc3cl7wzrew8q89700vtry5wnjlgqw/INJ -decimals = 6 +[ibc/6C55598A43348E41BCE1CE3C9313208CB953A036955869C47C3265A3BE2BB8D4] +peggy_denom = ibc/6C55598A43348E41BCE1CE3C9313208CB953A036955869C47C3265A3BE2BB8D4 +decimals = 18 -[factory/inj1em0ejkywcq6lnzpgj9wx7z4jx7r9gpcntys04x/INJ] -peggy_denom = factory/inj1em0ejkywcq6lnzpgj9wx7z4jx7r9gpcntys04x/INJ -decimals = 6 +[ibc/6E2FE0B25FE6DE428D16B25D42832D13B8A6DF65B40844EA4AB49C94896BB932] +peggy_denom = ibc/6E2FE0B25FE6DE428D16B25D42832D13B8A6DF65B40844EA4AB49C94896BB932 +decimals = 0 -[factory/inj1ep9yuk86cwdeaytmgsz3hz7qsargsn4sgnlrrs/INJ] -peggy_denom = factory/inj1ep9yuk86cwdeaytmgsz3hz7qsargsn4sgnlrrs/INJ -decimals = 6 +[ibc/705B1CA519312502768926783464F5E1581D8626A837C55BD62B21ED121FB68F] +peggy_denom = ibc/705B1CA519312502768926783464F5E1581D8626A837C55BD62B21ED121FB68F +decimals = 0 -[factory/inj1evy243kr8kh8prtgwv8vtvtj6m5vcahpt94f28/position] -peggy_denom = factory/inj1evy243kr8kh8prtgwv8vtvtj6m5vcahpt94f28/position +[ibc/710DA81083B469FE562770EE16DCA2DB088D5796937BCB548DF27DA87156C5B3] +peggy_denom = ibc/710DA81083B469FE562770EE16DCA2DB088D5796937BCB548DF27DA87156C5B3 decimals = 0 -[factory/inj1ezvtzukpf6x7aa4p52sejvyky8lkl6l5j47tym/position] -peggy_denom = factory/inj1ezvtzukpf6x7aa4p52sejvyky8lkl6l5j47tym/position +[ibc/72C208D790F59429C66542C648D69EDA1DC8A81C4B869C11444D906233678D3D] +peggy_denom = ibc/72C208D790F59429C66542C648D69EDA1DC8A81C4B869C11444D906233678D3D decimals = 0 -[factory/inj1f4u2643nw7ennyadqmv428fmhg56jduc90xpgy/position] -peggy_denom = factory/inj1f4u2643nw7ennyadqmv428fmhg56jduc90xpgy/position +[ibc/745D31EA5FF54979B57A0797FF3E1B767E624D32498C9735A13E31A53DBC17F5] +peggy_denom = ibc/745D31EA5FF54979B57A0797FF3E1B767E624D32498C9735A13E31A53DBC17F5 decimals = 0 -[factory/inj1f79dkr20ax43ah3c3velf3ttxjdqe645k5rws3/position] -peggy_denom = factory/inj1f79dkr20ax43ah3c3velf3ttxjdqe645k5rws3/position +[ibc/74BFF6BAC652D00C8F3382B1D1CFF086A91F1AF281E84F849A28358D6B81915B] +peggy_denom = ibc/74BFF6BAC652D00C8F3382B1D1CFF086A91F1AF281E84F849A28358D6B81915B decimals = 0 -[factory/inj1fa8ayqjnzup3af2heatnlyvmr2ljjm5f8x83fn/position] -peggy_denom = factory/inj1fa8ayqjnzup3af2heatnlyvmr2ljjm5f8x83fn/position +[ibc/7965483148018AFAA12DC569959897E7A5E474F4B41A87FFC5513B552C108DB5] +peggy_denom = ibc/7965483148018AFAA12DC569959897E7A5E474F4B41A87FFC5513B552C108DB5 +decimals = 6 + +[ibc/7A007AE05C3DDE189E554697450A2BF8FFF380E88F7BA6DC7DF39E329E80A49D] +peggy_denom = ibc/7A007AE05C3DDE189E554697450A2BF8FFF380E88F7BA6DC7DF39E329E80A49D decimals = 0 -[factory/inj1faqh7wcap9h2z007yx63eqvpqlzghdmser5l7u/position] -peggy_denom = factory/inj1faqh7wcap9h2z007yx63eqvpqlzghdmser5l7u/position +[ibc/7A073FD73CCAD05DCF4571B92BC1E16D6E6211EF79A5AD1FEE6E5464D8348F27] +peggy_denom = ibc/7A073FD73CCAD05DCF4571B92BC1E16D6E6211EF79A5AD1FEE6E5464D8348F27 decimals = 0 -[factory/inj1ff64ftrd6plvxurruzh3kthaxk5h050e0s5t95/position] -peggy_denom = factory/inj1ff64ftrd6plvxurruzh3kthaxk5h050e0s5t95/position +[ibc/7A2FE4D6F3156F60E38623C684C21A9F4684B730F035D75712928F71B0DB08B5] +peggy_denom = ibc/7A2FE4D6F3156F60E38623C684C21A9F4684B730F035D75712928F71B0DB08B5 decimals = 0 -[factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/LowQ] -peggy_denom = factory/inj1fkq5lseels4xt20drvtck3rajvvte97uhyx85r/LowQ +[ibc/7C4A4847D6898FA8744A8F2A4FC287E98CA5A95E05842B897B3FB301103C8AB6] +peggy_denom = ibc/7C4A4847D6898FA8744A8F2A4FC287E98CA5A95E05842B897B3FB301103C8AB6 decimals = 6 -[factory/inj1frr7kyd4nuemr0hrzlqyrgc72sggv7ukc3dfx0/chain-factory] -peggy_denom = factory/inj1frr7kyd4nuemr0hrzlqyrgc72sggv7ukc3dfx0/chain-factory +[ibc/7CF12F727C8C8A6589016D8565830B6DE0D87F70ED1A2C80270B2ABC77426DE7] +peggy_denom = ibc/7CF12F727C8C8A6589016D8565830B6DE0D87F70ED1A2C80270B2ABC77426DE7 decimals = 0 -[factory/inj1frr7kyd4nuemr0hrzlqyrgc72sggv7ukc3dfx0/chainfactory] -peggy_denom = factory/inj1frr7kyd4nuemr0hrzlqyrgc72sggv7ukc3dfx0/chainfactory +[ibc/819B5FB8FA371CC26976CAF8CDF54F3B146060400AD55591B5F1BE3036E915D8] +peggy_denom = ibc/819B5FB8FA371CC26976CAF8CDF54F3B146060400AD55591B5F1BE3036E915D8 decimals = 0 -[factory/inj1fzej8p0acdplqad876a0mdewejqwuaea9e0rjl/position] -peggy_denom = factory/inj1fzej8p0acdplqad876a0mdewejqwuaea9e0rjl/position +[ibc/81B7F37966A8066DFAF1B2F07A3D3AFBBA2AAC479B1F0D4135AD85725592D7B1] +peggy_denom = ibc/81B7F37966A8066DFAF1B2F07A3D3AFBBA2AAC479B1F0D4135AD85725592D7B1 decimals = 0 -[factory/inj1g3xlmzw6z6wrhxqmxsdwj60fmscenaxlzfnwm7/TBT] -peggy_denom = factory/inj1g3xlmzw6z6wrhxqmxsdwj60fmscenaxlzfnwm7/TBT +[ibc/83601F79992DCDF21ECCE0D876C6E1E9578AB97D77CD3E975B92B715CA851F19] +peggy_denom = ibc/83601F79992DCDF21ECCE0D876C6E1E9578AB97D77CD3E975B92B715CA851F19 decimals = 0 -[factory/inj1g6j6w6860sfe7um3q6ja60cktfd50a2vxxy7qr/position] -peggy_denom = factory/inj1g6j6w6860sfe7um3q6ja60cktfd50a2vxxy7qr/position +[ibc/85C83BD4F9557A367AA5D890D58CA60E6691833679167ED1E65A00268E480287] +peggy_denom = ibc/85C83BD4F9557A367AA5D890D58CA60E6691833679167ED1E65A00268E480287 decimals = 0 -[factory/inj1gk4thnx4t9y4ltnau60mpst5xyu0u57hqfl0qs/uLP] -peggy_denom = factory/inj1gk4thnx4t9y4ltnau60mpst5xyu0u57hqfl0qs/uLP +[ibc/8A58946864367695DE89CE93634F5D76CCF7C8995915A0388FDF4D15A8BA8C4B] +peggy_denom = ibc/8A58946864367695DE89CE93634F5D76CCF7C8995915A0388FDF4D15A8BA8C4B decimals = 0 -[factory/inj1gpf6gxs9hyz4jty423pxuns8cduhcuyvcxwxkv/position] -peggy_denom = factory/inj1gpf6gxs9hyz4jty423pxuns8cduhcuyvcxwxkv/position +[ibc/8B42C90767030357E99BE35BB5BCBD5A69F6E9E20F4A9FD0498823FD10FF86F9] +peggy_denom = ibc/8B42C90767030357E99BE35BB5BCBD5A69F6E9E20F4A9FD0498823FD10FF86F9 decimals = 0 -[factory/inj1gtpdm0dt5zg7p7nf9ftghrgvyt9ftz0w3f7kfk/WIF] -peggy_denom = factory/inj1gtpdm0dt5zg7p7nf9ftghrgvyt9ftz0w3f7kfk/WIF -decimals = 6 - -[factory/inj1gutzdupyjzzk46hrpf6lsf8ul030ty8wszvpta/INJ] -peggy_denom = factory/inj1gutzdupyjzzk46hrpf6lsf8ul030ty8wszvpta/INJ -decimals = 6 - -[factory/inj1h3vcnx6f2r9hxf8mf7s3ck9pu02r3zxes6t50t/INJ] -peggy_denom = factory/inj1h3vcnx6f2r9hxf8mf7s3ck9pu02r3zxes6t50t/INJ -decimals = 6 - -[factory/inj1h4ppr74nmqmftmzd8d54nk439rftyxaxgx42fa/INJ] -peggy_denom = factory/inj1h4ppr74nmqmftmzd8d54nk439rftyxaxgx42fa/INJ -decimals = 6 - -[factory/inj1hkzntx25hpq37dfrms6ymtrch8dskx8t8u0e5r/INJ] -peggy_denom = factory/inj1hkzntx25hpq37dfrms6ymtrch8dskx8t8u0e5r/INJ -decimals = 6 +[ibc/8D0DA5929A6E7B901319D05D5434FB4BEB28459D72470A3A1C593A813FE461C8] +peggy_denom = ibc/8D0DA5929A6E7B901319D05D5434FB4BEB28459D72470A3A1C593A813FE461C8 +decimals = 0 -[factory/inj1hteau2zqjwn2m62zshrg2v30hvhpwwrkymsaeq/INJ] -peggy_denom = factory/inj1hteau2zqjwn2m62zshrg2v30hvhpwwrkymsaeq/INJ +[ibc/8D311D92BCD4E87F145DEB9DDA339416DEF7E13571D92A3521CAB0BF62760FBE] +peggy_denom = ibc/8D311D92BCD4E87F145DEB9DDA339416DEF7E13571D92A3521CAB0BF62760FBE decimals = 6 -[factory/inj1j4vj8qzqyyf77ffxnwxwtm4lqvsalzfqg0yk9v/KIMJ] -peggy_denom = factory/inj1j4vj8qzqyyf77ffxnwxwtm4lqvsalzfqg0yk9v/KIMJ -decimals = 6 +[ibc/948D16A08718820A10DE8F7B35CE60409E7B5DC61043E88BB368C776147E70E8] +peggy_denom = ibc/948D16A08718820A10DE8F7B35CE60409E7B5DC61043E88BB368C776147E70E8 +decimals = 0 -[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TESTSP] -peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TESTSP -decimals = 6 +[ibc/949FD45325A74482FB0FC29CB19B744CED7340511EDA8E4F9337D9500F29D169] +peggy_denom = ibc/949FD45325A74482FB0FC29CB19B744CED7340511EDA8E4F9337D9500F29D169 +decimals = 0 -[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TESTSTAYAWAY] -peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TESTSTAYAWAY -decimals = 6 +[ibc/95B32740756E6DF2EAA242978EBF0FF6F3B632B8601DC12CB912D5957E8AB118] +peggy_denom = ibc/95B32740756E6DF2EAA242978EBF0FF6F3B632B8601DC12CB912D5957E8AB118 +decimals = 0 -[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TESTTSTAYAWAY] -peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/TESTTSTAYAWAY -decimals = 6 +[ibc/95E6CD4D649BD33F938B2B7B2BED3CA6DC78F7765F7E5B01329D92DD22259AF3] +peggy_denom = ibc/95E6CD4D649BD33F938B2B7B2BED3CA6DC78F7765F7E5B01329D92DD22259AF3 +decimals = 0 -[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/teeeeeeeeest] -peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/teeeeeeeeest -decimals = 6 +[ibc/999FD9811C895A63FE1A2FCDDA24DEC6AF7D70D907BD97E9C455BDFD57B373CA] +peggy_denom = ibc/999FD9811C895A63FE1A2FCDDA24DEC6AF7D70D907BD97E9C455BDFD57B373CA +decimals = 0 -[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/testinggggggg] -peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/testinggggggg -decimals = 6 +[ibc/9CAF108FCC3EB3815E029462100828461FFAA829002C4366716437F8C07F5F9C] +peggy_denom = ibc/9CAF108FCC3EB3815E029462100828461FFAA829002C4366716437F8C07F5F9C +decimals = 0 -[factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/tstttttttt] -peggy_denom = factory/inj1j55d6mj5j3hdzfk5v8m3a9zthq7m7hpkfswvq0/tstttttttt +[ibc/9D9B59CA222E54842555DBD81B22EEABE61796D4C6EC8AB47A97C388333AC340] +peggy_denom = ibc/9D9B59CA222E54842555DBD81B22EEABE61796D4C6EC8AB47A97C388333AC340 decimals = 6 -[factory/inj1j9sczxqcyhtvt586qywk8hmz3sk4rrk8rypv28/position] -peggy_denom = factory/inj1j9sczxqcyhtvt586qywk8hmz3sk4rrk8rypv28/position -decimals = 0 - -[factory/inj1jcvx3q6rfj7rdw60grjj3rah5uqsk64msnlafc/position] -peggy_denom = factory/inj1jcvx3q6rfj7rdw60grjj3rah5uqsk64msnlafc/position +[ibc/A07BB73539F556DA5238F1B7E9471B34DD19897B1EE7050B959989F13EFE73B3] +peggy_denom = ibc/A07BB73539F556DA5238F1B7E9471B34DD19897B1EE7050B959989F13EFE73B3 +decimals = 8 + +[ibc/A211992C4D639DD2E59A45850BFC9CF1304519C1B7F46D7EDCFC1CFDFE9BFD31] +peggy_denom = ibc/A211992C4D639DD2E59A45850BFC9CF1304519C1B7F46D7EDCFC1CFDFE9BFD31 decimals = 0 -[factory/inj1jdvx7mpauukwhdlgay0jgxaj393rju42ht9mkn/position] -peggy_denom = factory/inj1jdvx7mpauukwhdlgay0jgxaj393rju42ht9mkn/position +[ibc/A2C433944E7989D2B32565DDF6B6C2806B2AF4500675AA39D3C3A061D37CE576] +peggy_denom = ibc/A2C433944E7989D2B32565DDF6B6C2806B2AF4500675AA39D3C3A061D37CE576 decimals = 0 -[factory/inj1jknhf2m8f9plqa2g7rm78vdhwr58nlyjfd62ru/BAMBOO] -peggy_denom = factory/inj1jknhf2m8f9plqa2g7rm78vdhwr58nlyjfd62ru/BAMBOO +[ibc/A83851234A83F3FE51CDB44FF1A4435472A197C096EF9E7312B69E67C16B7FB7] +peggy_denom = ibc/A83851234A83F3FE51CDB44FF1A4435472A197C096EF9E7312B69E67C16B7FB7 decimals = 6 -[factory/inj1jls5kflqlfylyq42n8e5k3t6wn5jnhhlyq3w2r/INJ] -peggy_denom = factory/inj1jls5kflqlfylyq42n8e5k3t6wn5jnhhlyq3w2r/INJ +[ibc/AB1E9C841105F28E9B70ED5EF1239B2D5E567F6E16818D87EFFA75E62778C8E4] +peggy_denom = ibc/AB1E9C841105F28E9B70ED5EF1239B2D5E567F6E16818D87EFFA75E62778C8E4 +decimals = 0 + +[ibc/ABF6109CA87727E3945C2DB5EA17D819D57041A91BFB0BC73320AFE097C230F5] +peggy_denom = ibc/ABF6109CA87727E3945C2DB5EA17D819D57041A91BFB0BC73320AFE097C230F5 decimals = 6 -[factory/inj1jpaxtp8jvepvhc7pqk5xgumz3jghwuh7xrqatw/position] -peggy_denom = factory/inj1jpaxtp8jvepvhc7pqk5xgumz3jghwuh7xrqatw/position +[ibc/AC45D6359281E50A7498B10B9F38B7BE4868628E45E531D68F77422EFE430365] +peggy_denom = ibc/AC45D6359281E50A7498B10B9F38B7BE4868628E45E531D68F77422EFE430365 decimals = 0 -[factory/inj1js4qpjl2f9cpl8s764d0y9jl96ham3g4kkaaqd/position] -peggy_denom = factory/inj1js4qpjl2f9cpl8s764d0y9jl96ham3g4kkaaqd/position +[ibc/AC8181FE5ECAC9A01FBC5C4A3A681537A01A95007C32C2FAF3CF7101E9DAE081] +peggy_denom = ibc/AC8181FE5ECAC9A01FBC5C4A3A681537A01A95007C32C2FAF3CF7101E9DAE081 decimals = 0 -[factory/inj1k9jy245r9749kl008h7nf764wnrnj9kgkmj6vz/position] -peggy_denom = factory/inj1k9jy245r9749kl008h7nf764wnrnj9kgkmj6vz/position +[ibc/AE198193A04103DD1AE4C8698E25DEDCA81396A4C484DA19E4221B3C3A3D2F2A] +peggy_denom = ibc/AE198193A04103DD1AE4C8698E25DEDCA81396A4C484DA19E4221B3C3A3D2F2A decimals = 0 -[factory/inj1k9k62nfrsnznd2ekzgmsxr74apglqfa2h6wz9g/INJ] -peggy_denom = factory/inj1k9k62nfrsnznd2ekzgmsxr74apglqfa2h6wz9g/INJ -decimals = 6 +[ibc/AE6D267A64EEFE1430D11221D579C91CFC6D7B0E7F885874AE1BC715FE8753E1] +peggy_denom = ibc/AE6D267A64EEFE1430D11221D579C91CFC6D7B0E7F885874AE1BC715FE8753E1 +decimals = 0 -[factory/inj1k9tqa6al637y8qu9yvmsw3ke6r3knsn8ewv73f/test] -peggy_denom = factory/inj1k9tqa6al637y8qu9yvmsw3ke6r3knsn8ewv73f/test +[ibc/B024EC4AE846F690CB46C1CE886BE7DCE27CBBB6CE1E4EFBA4AA764E07B81A69] +peggy_denom = ibc/B024EC4AE846F690CB46C1CE886BE7DCE27CBBB6CE1E4EFBA4AA764E07B81A69 decimals = 6 -[factory/inj1k9xr7frkwkjjsd3w9yf8kdxu7wdfqtrkp0a809/position] -peggy_denom = factory/inj1k9xr7frkwkjjsd3w9yf8kdxu7wdfqtrkp0a809/position +[ibc/B5BB79AC621108184E03AD6B82456EBC96041B877A1652445CF32619CC9DA5C1] +peggy_denom = ibc/B5BB79AC621108184E03AD6B82456EBC96041B877A1652445CF32619CC9DA5C1 decimals = 0 -[factory/inj1kcda2te0sjxmcvykyr9cfpleyyx283d46nkspv/test] -peggy_denom = factory/inj1kcda2te0sjxmcvykyr9cfpleyyx283d46nkspv/test +[ibc/B99CCD408EB17CBC3D295647F0D3A035576B109648ED833D4039B42C09DB4BDB] +peggy_denom = ibc/B99CCD408EB17CBC3D295647F0D3A035576B109648ED833D4039B42C09DB4BDB decimals = 0 -[factory/inj1kf7t8qjq83gg6kn7nl5zwzscfystyqzr62ydsn/injx] -peggy_denom = factory/inj1kf7t8qjq83gg6kn7nl5zwzscfystyqzr62ydsn/injx -decimals = 6 +[ibc/BA26BE85B9D5F046FC7071ED0F77053662A4B2F5B7552B3834A3F1B2DD3BD18F] +peggy_denom = ibc/BA26BE85B9D5F046FC7071ED0F77053662A4B2F5B7552B3834A3F1B2DD3BD18F +decimals = 0 -[factory/inj1khy2c3pzu22c25z2zg3vmzh2fw7eh8yhluzlux/INJ] -peggy_denom = factory/inj1khy2c3pzu22c25z2zg3vmzh2fw7eh8yhluzlux/INJ +[ibc/BCE43BA530FBE35282B62C1E1EA4AD1F51522C61D40FB761005E1A02F18E0E58] +peggy_denom = ibc/BCE43BA530FBE35282B62C1E1EA4AD1F51522C61D40FB761005E1A02F18E0E58 decimals = 6 -[factory/inj1kjpk9s9fm5c7ltgf54m5vz39n70x4quskl9sfu/INJ] -peggy_denom = factory/inj1kjpk9s9fm5c7ltgf54m5vz39n70x4quskl9sfu/INJ -decimals = 6 +[ibc/BDDF86413BCEAD3660A60F2B5B5C1D95635FA76B3E510924FEE2F6890CBD7E14] +peggy_denom = ibc/BDDF86413BCEAD3660A60F2B5B5C1D95635FA76B3E510924FEE2F6890CBD7E14 +decimals = 0 -[factory/inj1kk6dnn7pl7e508lj4qvllprwa44qtgf98es2ak/ENA] -peggy_denom = factory/inj1kk6dnn7pl7e508lj4qvllprwa44qtgf98es2ak/ENA -decimals = 18 +[ibc/BE3E2A75AFBA5F56017D7BB68FBAB013E08BF1633F92528197286C26967FBF42] +peggy_denom = ibc/BE3E2A75AFBA5F56017D7BB68FBAB013E08BF1633F92528197286C26967FBF42 +decimals = 0 -[factory/inj1kkarwsh947c34emv3wju779ys2tt2g76m6kequ/position] -peggy_denom = factory/inj1kkarwsh947c34emv3wju779ys2tt2g76m6kequ/position +[ibc/BE749147EF2813020A5A77D29183336CFAA1A53B67E522EF103D6803DE0E084B] +peggy_denom = ibc/BE749147EF2813020A5A77D29183336CFAA1A53B67E522EF103D6803DE0E084B decimals = 0 -[factory/inj1krsf4as63jnytzekzndlv9eflku5nmkavtr3d3/SNAPPY] -peggy_denom = factory/inj1krsf4as63jnytzekzndlv9eflku5nmkavtr3d3/SNAPPY +[ibc/BE8166C09385A65A64366092FA14CEAD171EBB8E2464400196A1B19B4DC3AD50] +peggy_denom = ibc/BE8166C09385A65A64366092FA14CEAD171EBB8E2464400196A1B19B4DC3AD50 +decimals = 0 + +[ibc/C2025C1D34ED74CD6F9DF86CD650D92219AF645E9D0ADFFACF4E2CBECE649536] +peggy_denom = ibc/C2025C1D34ED74CD6F9DF86CD650D92219AF645E9D0ADFFACF4E2CBECE649536 decimals = 6 -[factory/inj1kvug5dcjdmkpdrjr088xdh9h4e8wvr04vrplmh/INJ] -peggy_denom = factory/inj1kvug5dcjdmkpdrjr088xdh9h4e8wvr04vrplmh/INJ +[ibc/C35A94A42FEDA8E01903CD7A78FB33AE60B2064C0007BF2E4FD5A6368BDBC546] +peggy_denom = ibc/C35A94A42FEDA8E01903CD7A78FB33AE60B2064C0007BF2E4FD5A6368BDBC546 decimals = 6 -[factory/inj1l2r43rx3p79yhspt48qvtd0qvqz4zyf70puxv6/position] -peggy_denom = factory/inj1l2r43rx3p79yhspt48qvtd0qvqz4zyf70puxv6/position +[ibc/C3BD5051E685B9A447352FB2D5773F8E4A015521CBD0A534B3F514FCA17C9030] +peggy_denom = ibc/C3BD5051E685B9A447352FB2D5773F8E4A015521CBD0A534B3F514FCA17C9030 decimals = 0 -[factory/inj1lcsc97wz2ztyn50vxqz2gcdjnzf53qd3gzvdt2/position] -peggy_denom = factory/inj1lcsc97wz2ztyn50vxqz2gcdjnzf53qd3gzvdt2/position +[ibc/C443ADA9C3388000268B8B892A07AB6838A904E1CCA2A1F084CB9572CA66F0E2] +peggy_denom = ibc/C443ADA9C3388000268B8B892A07AB6838A904E1CCA2A1F084CB9572CA66F0E2 decimals = 0 -[factory/inj1lgq2vj9xhptzflqk05fnaf585c2vtv33s76l68/INJ] -peggy_denom = factory/inj1lgq2vj9xhptzflqk05fnaf585c2vtv33s76l68/INJ -decimals = 6 +[ibc/C49B72C4E85AE5361C3E0F0587B24F509CB16ECEB8970B6F917D697036AF49BE] +peggy_denom = ibc/C49B72C4E85AE5361C3E0F0587B24F509CB16ECEB8970B6F917D697036AF49BE +decimals = 0 -[factory/inj1ljdraxlvy4cjdhytpxd7vhw387dq0r0g0fqucd/nbla] -peggy_denom = factory/inj1ljdraxlvy4cjdhytpxd7vhw387dq0r0g0fqucd/nbla +[ibc/C508488741426E40AAE98E374F6D8DEA733A391D3388EBEC055F1C2A6845CBCA] +peggy_denom = ibc/C508488741426E40AAE98E374F6D8DEA733A391D3388EBEC055F1C2A6845CBCA decimals = 0 -[factory/inj1ljdraxlvy4cjdhytpxd7vhw387dq0r0g0fqucd/point] -peggy_denom = factory/inj1ljdraxlvy4cjdhytpxd7vhw387dq0r0g0fqucd/point +[ibc/C7132831617D38D152402A1F0E3B98A719C8288423A5116167E03A51D9B8B6D0] +peggy_denom = ibc/C7132831617D38D152402A1F0E3B98A719C8288423A5116167E03A51D9B8B6D0 decimals = 0 -[factory/inj1ljdraxlvy4cjdhytpxd7vhw387dq0r0g0fqucd/zzzza] -peggy_denom = factory/inj1ljdraxlvy4cjdhytpxd7vhw387dq0r0g0fqucd/zzzza +[ibc/C740C029985A03309A990268DEC5084C53F185A99C0A42F1D61D7A89DE905230] +peggy_denom = ibc/C740C029985A03309A990268DEC5084C53F185A99C0A42F1D61D7A89DE905230 decimals = 0 -[factory/inj1lnealva69klvt2dxpe0gxzj4a2ea7jqcjar7rq/INJ] -peggy_denom = factory/inj1lnealva69klvt2dxpe0gxzj4a2ea7jqcjar7rq/INJ +[ibc/C8099767548EA68F722AD0F8A8C807A5E6B6A8CA0A6FD7B8BD9B1AE96D19AC3E] +peggy_denom = ibc/C8099767548EA68F722AD0F8A8C807A5E6B6A8CA0A6FD7B8BD9B1AE96D19AC3E +decimals = 0 + +[ibc/C9EC3080B046D49949239E1704522EE8B7BE0A668027028059A7FE7BC20B0976] +peggy_denom = ibc/C9EC3080B046D49949239E1704522EE8B7BE0A668027028059A7FE7BC20B0976 decimals = 6 -[factory/inj1lnvtsm9avzyqs67syzakg0mncq6naldlw6eqek/ELON] -peggy_denom = factory/inj1lnvtsm9avzyqs67syzakg0mncq6naldlw6eqek/ELON +[ibc/CA0B808874A9890C171944FA44B35287E9701402C732FE5B2C6371BA8113462C] +peggy_denom = ibc/CA0B808874A9890C171944FA44B35287E9701402C732FE5B2C6371BA8113462C decimals = 6 -[factory/inj1m3cvaumsw5l9mnhu53g2s7nd8pwqhsgm0r7zc5/position] -peggy_denom = factory/inj1m3cvaumsw5l9mnhu53g2s7nd8pwqhsgm0r7zc5/position +[ibc/CB9BA999A7CDA4CE00784BFF705A1D0BDB95AD80334FD0F95A5BA306078C96E9] +peggy_denom = ibc/CB9BA999A7CDA4CE00784BFF705A1D0BDB95AD80334FD0F95A5BA306078C96E9 decimals = 0 -[factory/inj1m9myf06pt3kq3caeksz0ghvzr0xthhxqenu622/NLC] -peggy_denom = factory/inj1m9myf06pt3kq3caeksz0ghvzr0xthhxqenu622/NLC -decimals = 6 +[ibc/CC610E1295BCF3ADE3C3DD4ABF3496C6EAA7541A1E45696E9D642D7B0A27B127] +peggy_denom = ibc/CC610E1295BCF3ADE3C3DD4ABF3496C6EAA7541A1E45696E9D642D7B0A27B127 +decimals = 0 -[factory/inj1me7s2kyfk7ffdwh8qatluy9nj8yvh89kuwr235/INJ] -peggy_denom = factory/inj1me7s2kyfk7ffdwh8qatluy9nj8yvh89kuwr235/INJ +[ibc/CDA55861E9E491479CB52D5C89F942F5EAF221F80B7CDDBBA8EE94D3658B03B4] +peggy_denom = ibc/CDA55861E9E491479CB52D5C89F942F5EAF221F80B7CDDBBA8EE94D3658B03B4 decimals = 6 -[factory/inj1mfe2m554uffc9lul3q3fxzmzw8k7cuglnxvxjc/INJ] -peggy_denom = factory/inj1mfe2m554uffc9lul3q3fxzmzw8k7cuglnxvxjc/INJ +[ibc/CFD97474BEB91453470ABF422E94B4C55ACF2CBA300B1FE7ED494DB5F5E012B1] +peggy_denom = ibc/CFD97474BEB91453470ABF422E94B4C55ACF2CBA300B1FE7ED494DB5F5E012B1 decimals = 6 -[factory/inj1mthhttrxpewts2k8vlp276xtsa5te9mt8vws38/position] -peggy_denom = factory/inj1mthhttrxpewts2k8vlp276xtsa5te9mt8vws38/position +[ibc/D0474D169562F9773959C7CF69ED413D77883F5B958BD52B5D31DE7F9CB64F9E] +peggy_denom = ibc/D0474D169562F9773959C7CF69ED413D77883F5B958BD52B5D31DE7F9CB64F9E decimals = 0 -[factory/inj1mu6w5fmvrp8kkxpaxxdvkcqfmm7rh79tr9pzr4/position] -peggy_denom = factory/inj1mu6w5fmvrp8kkxpaxxdvkcqfmm7rh79tr9pzr4/position +[ibc/D18907CCF379EEA71AE2C3725A135AE678A67A35B7C6556A77A4E0B3520F7854] +peggy_denom = ibc/D18907CCF379EEA71AE2C3725A135AE678A67A35B7C6556A77A4E0B3520F7854 decimals = 0 -[factory/inj1n2f2ehc6eplk7s5kwwy6e0hl9vf08mdqjxdacs/INJ] -peggy_denom = factory/inj1n2f2ehc6eplk7s5kwwy6e0hl9vf08mdqjxdacs/INJ -decimals = 6 +[ibc/D208E775E677BAC87EB85C359E7A6BD123C7E6F0709D34DD4D8A1650CED77A77] +peggy_denom = ibc/D208E775E677BAC87EB85C359E7A6BD123C7E6F0709D34DD4D8A1650CED77A77 +decimals = 0 -[factory/inj1nguhj0ph48vfs2pnrf0kqz5zyn7znys5cymx3y/SHINJI] -peggy_denom = factory/inj1nguhj0ph48vfs2pnrf0kqz5zyn7znys5cymx3y/SHINJI +[ibc/D24B4564BCD51D3D02D9987D92571EAC5915676A9BD6D9B0C1D0254CB8A5EA34] +peggy_denom = ibc/D24B4564BCD51D3D02D9987D92571EAC5915676A9BD6D9B0C1D0254CB8A5EA34 decimals = 0 -[factory/inj1p65r3rdzwxq9xykp3pvwvajukauxulsn28uxdr/position] -peggy_denom = factory/inj1p65r3rdzwxq9xykp3pvwvajukauxulsn28uxdr/position +[ibc/D2E5F3E4E591C72C9E36CFA9EF962D58165D4CF8D63F4FCA64CA6833AF9486AF] +peggy_denom = ibc/D2E5F3E4E591C72C9E36CFA9EF962D58165D4CF8D63F4FCA64CA6833AF9486AF decimals = 0 -[factory/inj1pgwrcf3j7yk0a5lxcyyuztr2ekpnzwqsqlkgke/position] -peggy_denom = factory/inj1pgwrcf3j7yk0a5lxcyyuztr2ekpnzwqsqlkgke/position +[ibc/D3AAE460452B8D16C4569F108CB0462A68891278CCA73C82364D48DCAC258A0B] +peggy_denom = ibc/D3AAE460452B8D16C4569F108CB0462A68891278CCA73C82364D48DCAC258A0B decimals = 0 -[factory/inj1phq9r67sd6ypgsgsmh62dvf5eyj3lac6nqvdnt/position] -peggy_denom = factory/inj1phq9r67sd6ypgsgsmh62dvf5eyj3lac6nqvdnt/position +[ibc/D3AF228E8FD11597F699BBE5428361A49F8EF808E271909E6A5AF9C76CB5E5AC] +peggy_denom = ibc/D3AF228E8FD11597F699BBE5428361A49F8EF808E271909E6A5AF9C76CB5E5AC decimals = 0 -[factory/inj1pjp9q2ycs7eaav8d5ny5956k5m6t0alpl33xd6/Shinobi] -peggy_denom = factory/inj1pjp9q2ycs7eaav8d5ny5956k5m6t0alpl33xd6/Shinobi -decimals = 6 +[ibc/D3FA7185FEB5D4A07F08F8A0847290A2BAC9372C5C5DF1E7F7BFEEDD852E9052] +peggy_denom = ibc/D3FA7185FEB5D4A07F08F8A0847290A2BAC9372C5C5DF1E7F7BFEEDD852E9052 +decimals = 0 -[factory/inj1ptze5zs7f8upr3fdj6dsrh0gpq97rsugfl5efe/position] -peggy_denom = factory/inj1ptze5zs7f8upr3fdj6dsrh0gpq97rsugfl5efe/position +[ibc/D4ED143E25535EBF6374A1A077BE205A687B69872484DF064ED2BAD6E5C3D762] +peggy_denom = ibc/D4ED143E25535EBF6374A1A077BE205A687B69872484DF064ED2BAD6E5C3D762 decimals = 0 -[factory/inj1q4z7jjxdk7whwmkt39x7krc49xaqapuswhjhkn/BOYS] -peggy_denom = factory/inj1q4z7jjxdk7whwmkt39x7krc49xaqapuswhjhkn/BOYS -decimals = 6 +[ibc/D5AF5FAEA92918A24ACBF0DEB61C674C8951A97D13CFBF7F6617280E82ECB1E6] +peggy_denom = ibc/D5AF5FAEA92918A24ACBF0DEB61C674C8951A97D13CFBF7F6617280E82ECB1E6 +decimals = 0 -[factory/inj1q4z7jjxdk7whwmkt39x7krc49xaqapuswhjhkn/COCK] -peggy_denom = factory/inj1q4z7jjxdk7whwmkt39x7krc49xaqapuswhjhkn/COCK -decimals = 9 +[ibc/D64620F915AD2D3B93C958996CD0BD099DC5837490706FDE15E79440CF77CB36] +peggy_denom = ibc/D64620F915AD2D3B93C958996CD0BD099DC5837490706FDE15E79440CF77CB36 +decimals = 0 -[factory/inj1q8ky6w56wcv2ya3kxzg83s667q86xtrlvwytcs/position] -peggy_denom = factory/inj1q8ky6w56wcv2ya3kxzg83s667q86xtrlvwytcs/position +[ibc/DC9E276D4E80CD04F8A8C681842A3A16C59F85963FB262E34BBB6CB4F5BFDB14] +peggy_denom = ibc/DC9E276D4E80CD04F8A8C681842A3A16C59F85963FB262E34BBB6CB4F5BFDB14 decimals = 0 -[factory/inj1qpf0xj4w824774q8mp9x29q547qe66607h96ll/ELON] -peggy_denom = factory/inj1qpf0xj4w824774q8mp9x29q547qe66607h96ll/ELON -decimals = 12 +[ibc/DDE000907D85FB1F358B3FBB1143452BE13F68E0BEA0DFFD8787095B76EEE0A1] +peggy_denom = ibc/DDE000907D85FB1F358B3FBB1143452BE13F68E0BEA0DFFD8787095B76EEE0A1 +decimals = 6 -[factory/inj1qqc56qqlqyzsycj50kqne8ygr6r6dk4a3e23z9/position] -peggy_denom = factory/inj1qqc56qqlqyzsycj50kqne8ygr6r6dk4a3e23z9/position -decimals = 0 +[ibc/DF32F083238097AD2CA5444BFB8F338534C32865EFE0696C5AF89AFB3A0144D6] +peggy_denom = ibc/DF32F083238097AD2CA5444BFB8F338534C32865EFE0696C5AF89AFB3A0144D6 +decimals = 6 -[factory/inj1qqc7ekvm06tch3dtyselt2rl5y4s9daman0ahv/uLP] -peggy_denom = factory/inj1qqc7ekvm06tch3dtyselt2rl5y4s9daman0ahv/uLP +[ibc/E01C45463D148F2B469F17DB0497DFA70A746D0CFF6A90EE82825590ADE5F752] +peggy_denom = ibc/E01C45463D148F2B469F17DB0497DFA70A746D0CFF6A90EE82825590ADE5F752 decimals = 0 -[factory/inj1qrdfxrx7kg0kvgapxyj8dc0wuj4yr2npw7gmkr/QTUM] -peggy_denom = factory/inj1qrdfxrx7kg0kvgapxyj8dc0wuj4yr2npw7gmkr/QTUM +[ibc/E175256127F32A27BB1FF863D15D8C4BB14968ED069B6A292723D485A33514A2] +peggy_denom = ibc/E175256127F32A27BB1FF863D15D8C4BB14968ED069B6A292723D485A33514A2 decimals = 6 -[factory/inj1qwlpnrg97jq0ytl28pm6c20apr6c6ga3fqc75t/position] -peggy_denom = factory/inj1qwlpnrg97jq0ytl28pm6c20apr6c6ga3fqc75t/position +[ibc/E247857D53653BA3592A6CCAF9914227153B938BA768C415FF3BAD6CE6CFA316] +peggy_denom = ibc/E247857D53653BA3592A6CCAF9914227153B938BA768C415FF3BAD6CE6CFA316 decimals = 0 -[factory/inj1qz4fua8emzx9h2sdafkpxazl5rwyl75t0d6vc8/position] -peggy_denom = factory/inj1qz4fua8emzx9h2sdafkpxazl5rwyl75t0d6vc8/position +[ibc/E43E4F1FD4B84EE30EDB8E0BE6F03E0A5596B292EAA0F198789DDF0C1301FB85] +peggy_denom = ibc/E43E4F1FD4B84EE30EDB8E0BE6F03E0A5596B292EAA0F198789DDF0C1301FB85 decimals = 0 -[factory/inj1r3krfh3nh6qhe3znwkfpzs4rdedgyu0wryfsjf/position] -peggy_denom = factory/inj1r3krfh3nh6qhe3znwkfpzs4rdedgyu0wryfsjf/position -decimals = 0 +[ibc/E4BDC3A9935959C715961FFC6C12159EAD8FA4A5955D069EE19D0423FF810C6E] +peggy_denom = ibc/E4BDC3A9935959C715961FFC6C12159EAD8FA4A5955D069EE19D0423FF810C6E +decimals = 18 -[factory/inj1r42k2w9rf6jtqktpfceg3f0a8eu2flm98vm9cs/position] -peggy_denom = factory/inj1r42k2w9rf6jtqktpfceg3f0a8eu2flm98vm9cs/position +[ibc/E801CF19C7B3FFC5FD81A1C9662BCFAE08F4976B054923BC0DA377F1863D3E56] +peggy_denom = ibc/E801CF19C7B3FFC5FD81A1C9662BCFAE08F4976B054923BC0DA377F1863D3E56 decimals = 0 -[factory/inj1rau42vnjsz7hrr3fh9nf7hyzrrv4ajuc2kzulq/INJ] -peggy_denom = factory/inj1rau42vnjsz7hrr3fh9nf7hyzrrv4ajuc2kzulq/INJ +[ibc/E8E84092B9063AAC97846712D43D6555928073B8A0BFFCC2549E55EE224F1610] +peggy_denom = ibc/E8E84092B9063AAC97846712D43D6555928073B8A0BFFCC2549E55EE224F1610 decimals = 6 -[factory/inj1rdu7lqpvq4h2fyrjdfnp9gycdkut5ewql3e4uq/testor] -peggy_denom = factory/inj1rdu7lqpvq4h2fyrjdfnp9gycdkut5ewql3e4uq/testor -decimals = 6 +[ibc/EA180E422271F35D66E7B9B57AFF072DABEE97EDA4522DAB91F97AE6DD45426D] +peggy_denom = ibc/EA180E422271F35D66E7B9B57AFF072DABEE97EDA4522DAB91F97AE6DD45426D +decimals = 0 -[factory/inj1rfw3sugvss3z22zzuhlccqug0y8lvd4q95runz/position] -peggy_denom = factory/inj1rfw3sugvss3z22zzuhlccqug0y8lvd4q95runz/position +[ibc/ECBEA5A9A992EE96B327CBA081AA35EB4E62C6A1A3990D2C0326E9A5840793A4] +peggy_denom = ibc/ECBEA5A9A992EE96B327CBA081AA35EB4E62C6A1A3990D2C0326E9A5840793A4 decimals = 0 -[factory/inj1rlcfjuhupp56nkk3gspy0x0nstmd02ptzxzkvx/position] -peggy_denom = factory/inj1rlcfjuhupp56nkk3gspy0x0nstmd02ptzxzkvx/position +[ibc/ECC0DF3D9C80F79B81056569EE2140FD977886AB274FA08BA03E987264D6DE19] +peggy_denom = ibc/ECC0DF3D9C80F79B81056569EE2140FD977886AB274FA08BA03E987264D6DE19 decimals = 0 -[factory/inj1rmf0pe6dns2kaasjt82j5lps3t8ke9dzyh3nqt/HOSHI] -peggy_denom = factory/inj1rmf0pe6dns2kaasjt82j5lps3t8ke9dzyh3nqt/HOSHI +[ibc/EEB2EB2A678B5788DB413B5A7EC81085B34F33DA9750C1C790CE8E1EDC8282B5] +peggy_denom = ibc/EEB2EB2A678B5788DB413B5A7EC81085B34F33DA9750C1C790CE8E1EDC8282B5 decimals = 0 -[factory/inj1rmlm94wu0unvveueyvuczcgsae76esjm7wcudh/BRO] -peggy_denom = factory/inj1rmlm94wu0unvveueyvuczcgsae76esjm7wcudh/BRO +[ibc/EED40547772504DF629EFEC08892E689CD14498B1C0AD766CD5075BBBEE3D808] +peggy_denom = ibc/EED40547772504DF629EFEC08892E689CD14498B1C0AD766CD5075BBBEE3D808 decimals = 6 -[factory/inj1rnlhp35xqtl0zwlp9tnrelykea9f52nd8av7ec/CATNIP] -peggy_denom = factory/inj1rnlhp35xqtl0zwlp9tnrelykea9f52nd8av7ec/CATNIP -decimals = 6 +[ibc/F1EEC63548B066D76B9B82D04DE25C424932DABD9234116836BAF759E8130BC3] +peggy_denom = ibc/F1EEC63548B066D76B9B82D04DE25C424932DABD9234116836BAF759E8130BC3 +decimals = 0 -[factory/inj1rnlhp35xqtl0zwlp9tnrelykea9f52nd8av7ec/NIPPY] -peggy_denom = factory/inj1rnlhp35xqtl0zwlp9tnrelykea9f52nd8av7ec/NIPPY -decimals = 6 +[ibc/F28C5C931D2673B7A2F06FC74934F7BDC0D2906D2AF40D582ED27D1E5C48D475] +peggy_denom = ibc/F28C5C931D2673B7A2F06FC74934F7BDC0D2906D2AF40D582ED27D1E5C48D475 +decimals = 18 -[factory/inj1rw5ndf4g2ppl586guwgx6ry06tr2sk9vmpd9jk/position] -peggy_denom = factory/inj1rw5ndf4g2ppl586guwgx6ry06tr2sk9vmpd9jk/position +[ibc/F433CC4D2A46173B47A691E8C432F11E47E8C06C574CEF798F6F7BA116EACCAC] +peggy_denom = ibc/F433CC4D2A46173B47A691E8C432F11E47E8C06C574CEF798F6F7BA116EACCAC decimals = 0 -[factory/inj1s0tcn9c42fz3fpfdy7pargxj4rwrcp0aushf2p/INJ] -peggy_denom = factory/inj1s0tcn9c42fz3fpfdy7pargxj4rwrcp0aushf2p/INJ -decimals = 6 +[ibc/F72F979601BD2FCF748C2E93092E9CB55A8BDB738567AB42C19D403A7C636110] +peggy_denom = ibc/F72F979601BD2FCF748C2E93092E9CB55A8BDB738567AB42C19D403A7C636110 +decimals = 0 -[factory/inj1s8uw9vqpk7tvhjj2znqyhfxwfcvfl9g6d2drtc/position] -peggy_denom = factory/inj1s8uw9vqpk7tvhjj2znqyhfxwfcvfl9g6d2drtc/position +[ibc/FA2E855E713B5D73C6AA54822791ADFD1BA73EFA5FDFDA903120A1FB0FF12733] +peggy_denom = ibc/FA2E855E713B5D73C6AA54822791ADFD1BA73EFA5FDFDA903120A1FB0FF12733 decimals = 0 -[factory/inj1sdkwtcjd0wkp5sft3pyzpaesfgllxl06sgvnkk/INJ] -peggy_denom = factory/inj1sdkwtcjd0wkp5sft3pyzpaesfgllxl06sgvnkk/INJ -decimals = 6 +[ibc/FAFBDE851E97E4B566B050B843F6BBCE14D7DC88DA69840850271BA8DF72EAEE] +peggy_denom = ibc/FAFBDE851E97E4B566B050B843F6BBCE14D7DC88DA69840850271BA8DF72EAEE +decimals = 0 -[factory/inj1se3jy798wzjtlf588e8qh7342pqs4n0yhjxd0p/position] -peggy_denom = factory/inj1se3jy798wzjtlf588e8qh7342pqs4n0yhjxd0p/position +[ibc/FE2F22FEFB9E5F2EA063FD3135533B916577149A3D69CC2BF7BB4224BC9B1230] +peggy_denom = ibc/FE2F22FEFB9E5F2EA063FD3135533B916577149A3D69CC2BF7BB4224BC9B1230 decimals = 0 -[factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/FROGIY] -peggy_denom = factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/FROGIY +[ibc/FECCDCFA89278B117C76A11A946A7991A68E5DD12DED6EB938ADC1B1286AC591] +peggy_denom = ibc/FECCDCFA89278B117C76A11A946A7991A68E5DD12DED6EB938ADC1B1286AC591 decimals = 6 -[factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/FROGY] -peggy_denom = factory/inj1senn2rj7avpqerf0ha9xn7t6fmqlyr8hafu8ld/FROGY -decimals = 0 - -[factory/inj1sf0ldwenurgttrmvgt65xgsj8jn487dggsy7el/position] -peggy_denom = factory/inj1sf0ldwenurgttrmvgt65xgsj8jn487dggsy7el/position +[inj] +peggy_denom = ibc/052AF4B0650990067B8FC5345A39206497BCC12F0ABE94F15415413739B93B26 decimals = 0 -[factory/inj1sgvrzysd32xdqtscaen2gprrjyg997lkn2h4wg/uLP] -peggy_denom = factory/inj1sgvrzysd32xdqtscaen2gprrjyg997lkn2h4wg/uLP -decimals = 0 +[inj104y5dpcdtga79tczv6rg3rsekx4hasw2k83h5s] +peggy_denom = inj104y5dpcdtga79tczv6rg3rsekx4hasw2k83h5s +decimals = 18 -[factory/inj1sm4l3jrh4cynhwv3x3yudkf4gtepv3wdjsryj3/INJ] -peggy_denom = factory/inj1sm4l3jrh4cynhwv3x3yudkf4gtepv3wdjsryj3/INJ +[inj106kv9he9xlj4np4qthlzeq6hyj7ns6hqfapyt3] +peggy_denom = inj106kv9he9xlj4np4qthlzeq6hyj7ns6hqfapyt3 decimals = 6 -[factory/inj1sz76uf4fj7jn4wptpsszt63x27uthjvehhwsk9/MEOW] -peggy_denom = factory/inj1sz76uf4fj7jn4wptpsszt63x27uthjvehhwsk9/MEOW +[inj10jl28fj7yc2pmj7p08vmaa85nxm4a09kteqng0] +peggy_denom = inj10jl28fj7yc2pmj7p08vmaa85nxm4a09kteqng0 +decimals = 18 + +[inj10yr5mmvxez3h0xzrpaa89my99qlv3u2rmzg0ge] +peggy_denom = inj10yr5mmvxez3h0xzrpaa89my99qlv3u2rmzg0ge +decimals = 8 + +[inj122az278echmzpccw30yy4a4kfull4sfnytqqt7] +peggy_denom = inj122az278echmzpccw30yy4a4kfull4sfnytqqt7 +decimals = 18 + +[inj12e5vzu6a8jqr5dnl4mh04hdskjnx9rw5n86exk] +peggy_denom = inj12e5vzu6a8jqr5dnl4mh04hdskjnx9rw5n86exk decimals = 6 -[factory/inj1t6wfs24ewwnx9mxtm26n6q6zpm73wsan9u8n0v/position] -peggy_denom = factory/inj1t6wfs24ewwnx9mxtm26n6q6zpm73wsan9u8n0v/position -decimals = 0 +[inj12kq4zh7kckuu0rfpxcr9l6l2x26ajf23uc0w55] +peggy_denom = inj12kq4zh7kckuu0rfpxcr9l6l2x26ajf23uc0w55 +decimals = 18 -[factory/inj1taqmwnnd3rucr8ydyl8u30vc29dkyc9rzrjy6r/position] -peggy_denom = factory/inj1taqmwnnd3rucr8ydyl8u30vc29dkyc9rzrjy6r/position -decimals = 0 +[inj12pt3p50kgsn6p33cchf5qvlf9mw2y0del8fnj3] +peggy_denom = inj12pt3p50kgsn6p33cchf5qvlf9mw2y0del8fnj3 +decimals = 18 -[factory/inj1tdv8p2pp68veauzezvgt8ze0wpf6ysddh99s6g/hINJ] -peggy_denom = factory/inj1tdv8p2pp68veauzezvgt8ze0wpf6ysddh99s6g/hINJ +[inj12xn584cdkhnz2nn08xz4yrwxscxa8tr2fuxwam] +peggy_denom = inj12xn584cdkhnz2nn08xz4yrwxscxa8tr2fuxwam +decimals = 18 + +[inj134pxgsexyt782qp3kvxf8nf9xl0q7dfdxk5tws] +peggy_denom = inj134pxgsexyt782qp3kvxf8nf9xl0q7dfdxk5tws +decimals = 18 + +[inj1395ty2rphfvxa6jdwxugk3qrk8h49wn245afcr] +peggy_denom = inj1395ty2rphfvxa6jdwxugk3qrk8h49wn245afcr decimals = 6 -[factory/inj1tl8w4z9a7ykdmardg2a5qgryzc9e92fduqy8vj/position] -peggy_denom = factory/inj1tl8w4z9a7ykdmardg2a5qgryzc9e92fduqy8vj/position -decimals = 0 +[inj148quxv5nyu244hdzy37tmpn3f9s42hsk4tx485] +peggy_denom = inj148quxv5nyu244hdzy37tmpn3f9s42hsk4tx485 +decimals = 18 -[factory/inj1tm6kuf59h46q0sy73cdyxyjwexwjp4a3h07yvt/position] -peggy_denom = factory/inj1tm6kuf59h46q0sy73cdyxyjwexwjp4a3h07yvt/position -decimals = 0 +[inj14eaxewvy7a3fk948c3g3qham98mcqpm8v5y0dp] +peggy_denom = inj14eaxewvy7a3fk948c3g3qham98mcqpm8v5y0dp +decimals = 6 -[factory/inj1tn2nqgzsgu8ts87fe3fdhh2zy85ymdrc4qd37s/position] -peggy_denom = factory/inj1tn2nqgzsgu8ts87fe3fdhh2zy85ymdrc4qd37s/position +[inj14m99e5ge2cactnstklfz8w7rc004w0e0p7ezze] +peggy_denom = inj14m99e5ge2cactnstklfz8w7rc004w0e0p7ezze decimals = 0 -[factory/inj1tuemzz3xa2gurzv828y795r7uycmcafr0ktzwk/uLP] -peggy_denom = factory/inj1tuemzz3xa2gurzv828y795r7uycmcafr0ktzwk/uLP -decimals = 0 +[inj14na0udjrdtsqjk22fgr44gfgph4cp220agmwe2] +peggy_denom = inj14na0udjrdtsqjk22fgr44gfgph4cp220agmwe2 +decimals = 6 -[factory/inj1tvnxhtnlkad7xzq7kkd0fcrtn0lncnvydp8mh3/position] -peggy_denom = factory/inj1tvnxhtnlkad7xzq7kkd0fcrtn0lncnvydp8mh3/position -decimals = 0 +[inj14nursn4ezeqy9cgxmush6vk2p2wjsrucsl6gc9] +peggy_denom = inj14nursn4ezeqy9cgxmush6vk2p2wjsrucsl6gc9 +decimals = 18 -[factory/inj1u2nhcc06qvxscfmqwqwq5x6saf0smlhmykgg2j/position] -peggy_denom = factory/inj1u2nhcc06qvxscfmqwqwq5x6saf0smlhmykgg2j/position -decimals = 0 +[inj14pq4ewrxju997x0y7g2ug6cn3lqyp66ygz5x6s] +peggy_denom = inj14pq4ewrxju997x0y7g2ug6cn3lqyp66ygz5x6s +decimals = 8 -[factory/inj1u7xh7k9w5kddcyjjkq2rmpmnw7scrx25526x0k/lpinj13t8y6evvue023zg5q4f4ngaav54285pfw482xd] -peggy_denom = factory/inj1u7xh7k9w5kddcyjjkq2rmpmnw7scrx25526x0k/lpinj13t8y6evvue023zg5q4f4ngaav54285pfw482xd +[inj14rgkkvwar36drhuajheu3u84jh9gdk27acfphy] +peggy_denom = inj14rgkkvwar36drhuajheu3u84jh9gdk27acfphy decimals = 0 -[factory/inj1u7xh7k9w5kddcyjjkq2rmpmnw7scrx25526x0k/lpinj1tpmwkd0psrutlqd4ytjq7pugj5dedjys9u0wd3] -peggy_denom = factory/inj1u7xh7k9w5kddcyjjkq2rmpmnw7scrx25526x0k/lpinj1tpmwkd0psrutlqd4ytjq7pugj5dedjys9u0wd3 -decimals = 0 +[inj14rry9q6dym3dgcwzq79yay0e9azdz55jr465ch] +peggy_denom = inj14rry9q6dym3dgcwzq79yay0e9azdz55jr465ch +decimals = 5 -[factory/inj1ucamzt4l70qnwwtqac4wjpvqdfmuhuft5ezy6x/sniperfactory] -peggy_denom = factory/inj1ucamzt4l70qnwwtqac4wjpvqdfmuhuft5ezy6x/sniperfactory +[inj14vcn23l3jdn50px0wxmj2s24h5pn3eawcnktkh] +peggy_denom = inj14vcn23l3jdn50px0wxmj2s24h5pn3eawcnktkh decimals = 6 -[factory/inj1uja2y06ef8mmygnalg5hsugpa8q5m4pscjduec/INJ] -peggy_denom = factory/inj1uja2y06ef8mmygnalg5hsugpa8q5m4pscjduec/INJ +[inj14yh3a5jrcg4wckwdhj9sjxezkmdpuamkw9pghf] +peggy_denom = inj14yh3a5jrcg4wckwdhj9sjxezkmdpuamkw9pghf decimals = 6 -[factory/inj1ul7m4hcf72jn3ah4rgez6vsykqjs90jwyqkkjm/position] -peggy_denom = factory/inj1ul7m4hcf72jn3ah4rgez6vsykqjs90jwyqkkjm/position +[inj154ksu0cw6ra2wqv7ujay8crg6hqe03jpxp7l4w] +peggy_denom = inj154ksu0cw6ra2wqv7ujay8crg6hqe03jpxp7l4w decimals = 0 -[factory/inj1uq9wzg2hc6gsl9hue8qj5ymdfv4k8ccluxhesj/INJ] -peggy_denom = factory/inj1uq9wzg2hc6gsl9hue8qj5ymdfv4k8ccluxhesj/INJ -decimals = 6 +[inj15993xgce2tml487uhx6u2df8ltskgdlghc8zx7] +peggy_denom = inj15993xgce2tml487uhx6u2df8ltskgdlghc8zx7 +decimals = 18 -[factory/inj1ur2gpeg5yw67dagpcm5946lnd6v8l2s2k9tx3q/position] -peggy_denom = factory/inj1ur2gpeg5yw67dagpcm5946lnd6v8l2s2k9tx3q/position -decimals = 0 +[inj15fa69t6huq8nujze28ykdsldmtf23yk3sgxpns] +peggy_denom = inj15fa69t6huq8nujze28ykdsldmtf23yk3sgxpns +decimals = 18 -[factory/inj1utkmtctnp767m0rdl294ypshrjjv8qendcm3md/position] -peggy_denom = factory/inj1utkmtctnp767m0rdl294ypshrjjv8qendcm3md/position -decimals = 0 +[inj15hvdwk0zxxl2uegnryswvxre7pufuluahrl6s6] +peggy_denom = inj15hvdwk0zxxl2uegnryswvxre7pufuluahrl6s6 +decimals = 18 -[factory/inj1utyrpze9qzx037av0vrxz2w63y2et4wcd84j3q/position] -peggy_denom = factory/inj1utyrpze9qzx037av0vrxz2w63y2et4wcd84j3q/position -decimals = 0 +[inj15m47mfu8qjh9uc7cr04txp9udea635vkuwduck] +peggy_denom = inj15m47mfu8qjh9uc7cr04txp9udea635vkuwduck +decimals = 18 -[factory/inj1uv64p5ky9c298dlswy5krq4xcn78qearqaqqc9/DOGO] -peggy_denom = factory/inj1uv64p5ky9c298dlswy5krq4xcn78qearqaqqc9/DOGO -decimals = 0 +[inj15mfkraj8dhgye7s6gmrxm308w5z0ezd8pu2kef] +peggy_denom = inj15mfkraj8dhgye7s6gmrxm308w5z0ezd8pu2kef +decimals = 6 -[factory/inj1uyvpwvurunezljvear62kswrcduup8e4hkf3er/INJ] -peggy_denom = factory/inj1uyvpwvurunezljvear62kswrcduup8e4hkf3er/INJ +[inj15sslujc0pv3kdjsw0fhzvclwmgv2zh7a00fcx5] +peggy_denom = inj15sslujc0pv3kdjsw0fhzvclwmgv2zh7a00fcx5 decimals = 6 -[factory/inj1uz997yw7vq5ala7hhr5rpn386v7w7uva9v4e23/INJ] -peggy_denom = factory/inj1uz997yw7vq5ala7hhr5rpn386v7w7uva9v4e23/INJ +[inj15wqfmtvdmzy34hm5jafm6uqnqf53ykr0kz6227] +peggy_denom = inj15wqfmtvdmzy34hm5jafm6uqnqf53ykr0kz6227 decimals = 6 -[factory/inj1uzasxz38jtgjmsd6m52h2yy3zqy36wswy5hta9/position] -peggy_denom = factory/inj1uzasxz38jtgjmsd6m52h2yy3zqy36wswy5hta9/position -decimals = 0 +[inj15xz5537eujskaayp600gkke7qu82p5sa76lg50] +peggy_denom = inj15xz5537eujskaayp600gkke7qu82p5sa76lg50 +decimals = 18 -[factory/inj1v06t5cjcnzawlvk665s0wynqy6zfjuulvaadhh/position] -peggy_denom = factory/inj1v06t5cjcnzawlvk665s0wynqy6zfjuulvaadhh/position -decimals = 0 +[inj16exmkvtzkqgxgl44w6793hzjta78f4zpyv8z9p] +peggy_denom = inj16exmkvtzkqgxgl44w6793hzjta78f4zpyv8z9p +decimals = 6 -[factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/cook] -peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/cook +[inj16ny2lq4tnxnfwz745kaanqyuq7997nk3tkkm0t] +peggy_denom = inj16ny2lq4tnxnfwz745kaanqyuq7997nk3tkkm0t decimals = 6 -[factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/cookie] -peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/cookie +[inj16pcxmpl3nquute5hrjta0rgrzc0ga5sj8n6vpv] +peggy_denom = inj16pcxmpl3nquute5hrjta0rgrzc0ga5sj8n6vpv decimals = 6 -[factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/frog] -peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/frog +[inj16tp2zfy0kd5jjd0vku879j43757qqmt5nezfl0] +peggy_denom = inj16tp2zfy0kd5jjd0vku879j43757qqmt5nezfl0 decimals = 6 -[factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/wif] -peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/wif +[inj16yxzdpw4fkyfzld98zt9l3txqpzj88pnme904j] +peggy_denom = inj16yxzdpw4fkyfzld98zt9l3txqpzj88pnme904j decimals = 6 -[factory/inj1vc3d90452zqh5vp265maz69wdg4dhj7m0g6aty/position] -peggy_denom = factory/inj1vc3d90452zqh5vp265maz69wdg4dhj7m0g6aty/position -decimals = 0 +[inj17dtlpkmw4rtc02p7s9qwqz6kyx4nx8v380m0al] +peggy_denom = inj17dtlpkmw4rtc02p7s9qwqz6kyx4nx8v380m0al +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj12hrath9g2c02e87vjadnlqnmurxtr8md7djyxm] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj12hrath9g2c02e87vjadnlqnmurxtr8md7djyxm -decimals = 0 +[inj17gh0tgtr2d7l5lv47x4ra557jq27qv0tenqxar] +peggy_denom = inj17gh0tgtr2d7l5lv47x4ra557jq27qv0tenqxar +decimals = 18 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj12s6eccju5addagv2f74sphfmenv9xwp0ynmtqv] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj12s6eccju5addagv2f74sphfmenv9xwp0ynmtqv -decimals = 0 +[inj17jwmn6gfrwvc9rz6atx3f3rc2g8zuxklcpw8za] +peggy_denom = inj17jwmn6gfrwvc9rz6atx3f3rc2g8zuxklcpw8za +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj13ly2q9g40lta4dcn7n6z9nack42r2hk64un07x] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj13ly2q9g40lta4dcn7n6z9nack42r2hk64un07x -decimals = 0 +[inj17k84dsdjty50rs5pv5pvm9spz75qqe9stnx0vh] +peggy_denom = inj17k84dsdjty50rs5pv5pvm9spz75qqe9stnx0vh +decimals = 18 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj14gmk6jg5kduvy882yjdq4967e46jaka7ffuf58] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj14gmk6jg5kduvy882yjdq4967e46jaka7ffuf58 +[inj17n0zrpvl3u67z4mphxq9qmhv6fuqs8sywxt04d] +peggy_denom = inj17n0zrpvl3u67z4mphxq9qmhv6fuqs8sywxt04d decimals = 0 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj14xy8dvgjyhqjn8dhegf9zz5g7c3yeflt0kgarp] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj14xy8dvgjyhqjn8dhegf9zz5g7c3yeflt0kgarp -decimals = 0 +[inj182d65my2lfcc07fx658nt8zuf6yyham4r9dazk] +peggy_denom = inj182d65my2lfcc07fx658nt8zuf6yyham4r9dazk +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj15599wr9jzgrt6e04xkue9l6409mlc3l7lqr38d] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj15599wr9jzgrt6e04xkue9l6409mlc3l7lqr38d -decimals = 0 +[inj187xc89gy4ffsl2n8dme88dzrpgazfkf8kgjkmz] +peggy_denom = inj187xc89gy4ffsl2n8dme88dzrpgazfkf8kgjkmz +decimals = 18 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj15s4c3kqa0j6glrgppcn0h357jac40ndyptv3sr] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj15s4c3kqa0j6glrgppcn0h357jac40ndyptv3sr -decimals = 0 +[inj18a2u6az6dzw528rptepfg6n49ak6hdzkny4um6] +peggy_denom = inj18a2u6az6dzw528rptepfg6n49ak6hdzkny4um6 +decimals = 8 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj16mz5n3dsnal4m0emy4pa02d67hh0r70tlm8095] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj16mz5n3dsnal4m0emy4pa02d67hh0r70tlm8095 -decimals = 0 +[inj18ehdtnlrreg0ptdtvzx05nzpfvvjgnt8y95hns] +peggy_denom = inj18ehdtnlrreg0ptdtvzx05nzpfvvjgnt8y95hns +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj16vjf4nnyqvjws6chw6u3t3kmujhllj4wjn9nlh] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj16vjf4nnyqvjws6chw6u3t3kmujhllj4wjn9nlh -decimals = 0 +[inj18jn6s6605pa42qgxqekhqtku56gcmf24n2y03k] +peggy_denom = inj18jn6s6605pa42qgxqekhqtku56gcmf24n2y03k +decimals = 18 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj17hm5smrnrmdr88slpfzfmyxxna9fe6xtvzlr0p] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj17hm5smrnrmdr88slpfzfmyxxna9fe6xtvzlr0p -decimals = 0 +[inj18ywez34uk9n6y3u590pqr8hjmtel0ges6radf0] +peggy_denom = inj18ywez34uk9n6y3u590pqr8hjmtel0ges6radf0 +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj17jdcvmkpvhgwfnukxjt6uvu2cptuqv309rz8pu] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj17jdcvmkpvhgwfnukxjt6uvu2cptuqv309rz8pu -decimals = 0 +[inj18zfazlnerhgsv0nur6tnm97uymf7zrazzghrtq] +peggy_denom = inj18zfazlnerhgsv0nur6tnm97uymf7zrazzghrtq +decimals = 18 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj19ujrgrvsm5zn6d389lua74y6pyldxzv5gdrln9] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj19ujrgrvsm5zn6d389lua74y6pyldxzv5gdrln9 -decimals = 0 +[inj18zykysxw9pcvtyr9ylhe0p5s7yzf6pzdagune8] +peggy_denom = inj18zykysxw9pcvtyr9ylhe0p5s7yzf6pzdagune8 +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1a9hcr7zf5a2ahkv5fvumyky50ww7ds2cg5tk95] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1a9hcr7zf5a2ahkv5fvumyky50ww7ds2cg5tk95 -decimals = 0 +[inj194p79raj0qjesr26kzvhx9l2y77vyshvdpcgs9] +peggy_denom = inj194p79raj0qjesr26kzvhx9l2y77vyshvdpcgs9 +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ckyym37k9u3gne0qdcpu7ty20p59d3lutepkge] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ckyym37k9u3gne0qdcpu7ty20p59d3lutepkge -decimals = 0 +[inj19dux2glqedeamjwltjv5srvhgxkf6gyawtce5s] +peggy_denom = inj19dux2glqedeamjwltjv5srvhgxkf6gyawtce5s +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1djuudn6jj6g70kunu8sgtnrvytw9e27xtzyphe] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1djuudn6jj6g70kunu8sgtnrvytw9e27xtzyphe -decimals = 0 +[inj19hqn3gnxnwg4rm4c7kzc2k7gy9dj00ke9s9lm5] +peggy_denom = inj19hqn3gnxnwg4rm4c7kzc2k7gy9dj00ke9s9lm5 +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1dvrvhcpq6aru0g5d9m9wjnz7utr67we5dlaq79] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1dvrvhcpq6aru0g5d9m9wjnz7utr67we5dlaq79 -decimals = 0 +[inj19l7z2pezzt0xn52w647zxrffyrqag02ft88grm] +peggy_denom = inj19l7z2pezzt0xn52w647zxrffyrqag02ft88grm +decimals = 18 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1e6f0ma2j0j9duwyn7vv0jdn6qaztxgmqpr56hu] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1e6f0ma2j0j9duwyn7vv0jdn6qaztxgmqpr56hu -decimals = 0 +[inj19s2r64ghfqq3py7f5dr0ynk8yj0nmngca3yvy3] +peggy_denom = inj19s2r64ghfqq3py7f5dr0ynk8yj0nmngca3yvy3 +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1g89dl74lyre9q6rjua9l37pcc7psnw66capurp] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1g89dl74lyre9q6rjua9l37pcc7psnw66capurp -decimals = 0 +[inj1aj27yjf5cg6aaccj0xxdpep9h5kymtmu3ccz9h] +peggy_denom = inj1aj27yjf5cg6aaccj0xxdpep9h5kymtmu3ccz9h +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1gqmr3vdr9k0hwyjkkphn9etqqsj06mm0tuj7vl] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1gqmr3vdr9k0hwyjkkphn9etqqsj06mm0tuj7vl +[inj1ajws3g8x0r9p350xs4y3agyvmk4698ncmx72zk] +peggy_denom = inj1ajws3g8x0r9p350xs4y3agyvmk4698ncmx72zk decimals = 0 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1hffc8x68rp843ygjg9e4eaxj54v5w6vcev9vvu] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1hffc8x68rp843ygjg9e4eaxj54v5w6vcev9vvu -decimals = 0 +[inj1ap9u5fa47yhgs4xv4dcnzn08qvlcpqn0dt59sy] +peggy_denom = inj1ap9u5fa47yhgs4xv4dcnzn08qvlcpqn0dt59sy +decimals = 18 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1hw4vgqyvgw5vca224mpg2e0ccqguhnu7yawpu8] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1hw4vgqyvgw5vca224mpg2e0ccqguhnu7yawpu8 -decimals = 0 +[inj1aqjd9n8m86prgx0a2umtpjcyd6nu22gc82zjwj] +peggy_denom = inj1aqjd9n8m86prgx0a2umtpjcyd6nu22gc82zjwj +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1j0hepy2mrfc705djm2q53ucnyq5ygejq5mr4n2] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1j0hepy2mrfc705djm2q53ucnyq5ygejq5mr4n2 -decimals = 0 +[inj1as2gqhf6ct8fms53uashc2jtaejlj79h3rem2a] +peggy_denom = inj1as2gqhf6ct8fms53uashc2jtaejlj79h3rem2a +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1jd845wf6zr4cxjne8j4580qq7cg0g5ueeaxpk4] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1jd845wf6zr4cxjne8j4580qq7cg0g5ueeaxpk4 -decimals = 0 +[inj1c78258q4ahmaujmmj4emg7upx9n4muv0fzjrms] +peggy_denom = inj1c78258q4ahmaujmmj4emg7upx9n4muv0fzjrms +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1k7kvdzm7n8g5xf6c733lsyp6tugvxwsnvdcgur] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1k7kvdzm7n8g5xf6c733lsyp6tugvxwsnvdcgur -decimals = 0 +[inj1cfjpn3mh0z0ptsn4ujmm5hdf9x4jmh3hvwd9c2] +peggy_denom = inj1cfjpn3mh0z0ptsn4ujmm5hdf9x4jmh3hvwd9c2 +decimals = 18 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1kf09fn0mjq3d9v7x25xlmvacp9rfjqw96039e3] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1kf09fn0mjq3d9v7x25xlmvacp9rfjqw96039e3 -decimals = 0 +[inj1cgmxmra82qtxxjypjesnvu43e7nf6ucv3njy9u] +peggy_denom = inj1cgmxmra82qtxxjypjesnvu43e7nf6ucv3njy9u +decimals = 18 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1khp440nluesxmnr0mgdstzxujhkmcu8mad797f] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1khp440nluesxmnr0mgdstzxujhkmcu8mad797f -decimals = 0 +[inj1cjft36fxcspjdkcc5j45z6ucuqyxp7ky9ktu4f] +peggy_denom = inj1cjft36fxcspjdkcc5j45z6ucuqyxp7ky9ktu4f +decimals = 18 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1kv5amrnaczurcyc9rw0uve4e3wh2jfujxn3zlz] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1kv5amrnaczurcyc9rw0uve4e3wh2jfujxn3zlz -decimals = 0 +[inj1cjvssl698h094n6c2uqdx75degfewey26yt6uw] +peggy_denom = inj1cjvssl698h094n6c2uqdx75degfewey26yt6uw +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1l6e65hq8w79zepulpt768rj8qd2e2qejxl5uga] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1l6e65hq8w79zepulpt768rj8qd2e2qejxl5uga -decimals = 0 +[inj1cncjaeg0q6d8kdr77wxz90t6jhmm5wn23s2gxr] +peggy_denom = inj1cncjaeg0q6d8kdr77wxz90t6jhmm5wn23s2gxr +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1nvq8pyvt2kf5xctc4v3xt4gszq5a9lhpadyfwg] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1nvq8pyvt2kf5xctc4v3xt4gszq5a9lhpadyfwg -decimals = 0 +[inj1cnqf8xld9a2tezf4sq56lc3f9kfs257s45fd29] +peggy_denom = inj1cnqf8xld9a2tezf4sq56lc3f9kfs257s45fd29 +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1nyv50r7vnktgpp5s22fh8nzf7ak8sthh6l7s3t] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1nyv50r7vnktgpp5s22fh8nzf7ak8sthh6l7s3t -decimals = 0 +[inj1d205gq2wm72x2unrz9pslsgqf53mhe09w9gx5v] +peggy_denom = inj1d205gq2wm72x2unrz9pslsgqf53mhe09w9gx5v +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1p9djw5xkg7dfgteqnh3cqmef2xs6meycd2k5r5] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1p9djw5xkg7dfgteqnh3cqmef2xs6meycd2k5r5 -decimals = 0 +[inj1d8x73kj4xtgzhpztf6d60vcjnrw9w0sh2vq8em] +peggy_denom = inj1d8x73kj4xtgzhpztf6d60vcjnrw9w0sh2vq8em +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1pwf7q5vtq0thplnkdsp4v09mr66jkfyrsjr5g3] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1pwf7q5vtq0thplnkdsp4v09mr66jkfyrsjr5g3 -decimals = 0 +[inj1dg3xz7pj56kqph98pnput5kuj5h2fq97c68mfz] +peggy_denom = inj1dg3xz7pj56kqph98pnput5kuj5h2fq97c68mfz +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1pww37pr6qnnndzz2azxhxl0rcvtxcftg0y70vh] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1pww37pr6qnnndzz2azxhxl0rcvtxcftg0y70vh +[inj1dmfj6fuz0w5ffaxthax959w4jmswjdxr4f5jct] +peggy_denom = inj1dmfj6fuz0w5ffaxthax959w4jmswjdxr4f5jct decimals = 0 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1r4pjz70l4ytk06dfparzd6na5qqjeq09fkxdt4] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1r4pjz70l4ytk06dfparzd6na5qqjeq09fkxdt4 +[inj1dmn43jyt6w6kycgsuu5a3ygtmtk6fm49yvf73d] +peggy_denom = inj1dmn43jyt6w6kycgsuu5a3ygtmtk6fm49yvf73d decimals = 0 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1r86atmuulmhzw63pqx5tp989nmupvn4fd94m7u] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1r86atmuulmhzw63pqx5tp989nmupvn4fd94m7u -decimals = 0 +[inj1dngqzz6wphf07fkdam7dn55t8t3r6qenewy9zu] +peggy_denom = inj1dngqzz6wphf07fkdam7dn55t8t3r6qenewy9zu +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1rayjg2wktsj9aa9j5ps52v3qunn80m7fjhdstp] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1rayjg2wktsj9aa9j5ps52v3qunn80m7fjhdstp +[inj1edtqq8mvtlv83yfhuxcnayq2ks9fyvy670045s] +peggy_denom = inj1edtqq8mvtlv83yfhuxcnayq2ks9fyvy670045s decimals = 0 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1rduwtul0x7fkryzpdn85yuujntwyel8z04h7cq] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1rduwtul0x7fkryzpdn85yuujntwyel8z04h7cq -decimals = 0 +[inj1ele6z2tg7cglx2ul2ss94crc60wt70uec8rs9m] +peggy_denom = inj1ele6z2tg7cglx2ul2ss94crc60wt70uec8rs9m +decimals = 18 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1sfk9r0jk9wxs7n726qfjg5e649zf34yq6q65gn] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1sfk9r0jk9wxs7n726qfjg5e649zf34yq6q65gn -decimals = 0 +[inj1elwp603lt09g8s4ezyp6gg8axhh2n3zkffwfmp] +peggy_denom = inj1elwp603lt09g8s4ezyp6gg8axhh2n3zkffwfmp +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1sm36lxmzynkt9q37nwspf8n6pzplktul006u08] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1sm36lxmzynkt9q37nwspf8n6pzplktul006u08 -decimals = 0 +[inj1emeyr4q657cw6wu4twqx6c59mzfv00fkf9nukv] +peggy_denom = inj1emeyr4q657cw6wu4twqx6c59mzfv00fkf9nukv +decimals = 18 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1sqj6x44uxtmklyewqxk9frqjrkjqjjmu6u0mrm] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1sqj6x44uxtmklyewqxk9frqjrkjqjjmu6u0mrm +[inj1eqtcpx655e582j5xyu7rf2z8w92pah2re5jmm3] +peggy_denom = inj1eqtcpx655e582j5xyu7rf2z8w92pah2re5jmm3 decimals = 0 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ucj4veavs4jeuhe98xx8fe6yk0n83ulvjqank3] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ucj4veavs4jeuhe98xx8fe6yk0n83ulvjqank3 -decimals = 0 +[inj1ezt2a9azlwp5ucq84twup0skx9vsewpvjhh20d] +peggy_denom = inj1ezt2a9azlwp5ucq84twup0skx9vsewpvjhh20d +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ulxnf3qhjk8l383nllhglfaautcstkmth089jp] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ulxnf3qhjk8l383nllhglfaautcstkmth089jp -decimals = 0 +[inj1f2vr6hd9w4xujncyprw670l3g7x2esj50umn8k] +peggy_denom = inj1f2vr6hd9w4xujncyprw670l3g7x2esj50umn8k +decimals = 18 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1v8v8jepsjdsxj29hxmm62qwzmg54r75v6mq6q9] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1v8v8jepsjdsxj29hxmm62qwzmg54r75v6mq6q9 -decimals = 0 +[inj1f59h6qh6vckz8asg307zajzrht948vlymesg8c] +peggy_denom = inj1f59h6qh6vckz8asg307zajzrht948vlymesg8c +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ve3uga90prrwtpsptjrhnxlfd9u0qwuf0v43ke] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1ve3uga90prrwtpsptjrhnxlfd9u0qwuf0v43ke -decimals = 0 +[inj1f6ejww220hnygsehh7pl7pd484dg4k9fl7wkr5] +peggy_denom = inj1f6ejww220hnygsehh7pl7pd484dg4k9fl7wkr5 +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1wzt78jy575ejcps76gpc2m8k2v4x2526aksnk0] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1wzt78jy575ejcps76gpc2m8k2v4x2526aksnk0 -decimals = 0 +[inj1fg8ffu74pm99nwd584ne3gwa9pexnh39csm7qp] +peggy_denom = inj1fg8ffu74pm99nwd584ne3gwa9pexnh39csm7qp +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1xar9nfhqc9al47hkh7eljrc3g66lntqch8hh0r] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1xar9nfhqc9al47hkh7eljrc3g66lntqch8hh0r -decimals = 0 +[inj1fjg0pmf0fttg0g3vawttlshq7k58a49gv5u7up] +peggy_denom = inj1fjg0pmf0fttg0g3vawttlshq7k58a49gv5u7up +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1xkq56rjtpcqgwh9yut6zwh3lxcle2yz4dljyxc] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1xkq56rjtpcqgwh9yut6zwh3lxcle2yz4dljyxc -decimals = 0 +[inj1ft73gxa35pzcqv6zjzqgllwtzs5hf4wnjsfq3t] +peggy_denom = inj1ft73gxa35pzcqv6zjzqgllwtzs5hf4wnjsfq3t +decimals = 6 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1zqe2p2xegqyr3zeltt9kh7c934v7tlevmk6xg7] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1zqe2p2xegqyr3zeltt9kh7c934v7tlevmk6xg7 -decimals = 0 +[inj1fu5u29slsg2xtsj7v5la22vl4mr4ywl7wlqeck] +peggy_denom = inj1fu5u29slsg2xtsj7v5la22vl4mr4ywl7wlqeck +decimals = 18 -[factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1zxk9xvs6mnq2m5yws8gdgqstrmcqntuedlnua3] -peggy_denom = factory/inj1vcqkkvqs7prqu70dpddfj7kqeqfdz5gg662qs3/lpinj1zxk9xvs6mnq2m5yws8gdgqstrmcqntuedlnua3 -decimals = 0 +[inj1fx6cg4xruk55rld4p9urrjc2v3gvmaqh2yx32q] +peggy_denom = inj1fx6cg4xruk55rld4p9urrjc2v3gvmaqh2yx32q +decimals = 6 -[factory/inj1vk2re2ak5xf4w2vnscy4ym2a23cwx375872e73/INJ] -peggy_denom = factory/inj1vk2re2ak5xf4w2vnscy4ym2a23cwx375872e73/INJ +[inj1gaszym657k5mmxp3z5gaz2ze0drs6xv0dz6u6g] +peggy_denom = inj1gaszym657k5mmxp3z5gaz2ze0drs6xv0dz6u6g +decimals = 18 + +[inj1ghdvetj39n6fze4lsfvqq42qjya0e8ljfx420r] +peggy_denom = inj1ghdvetj39n6fze4lsfvqq42qjya0e8ljfx420r decimals = 6 -[factory/inj1vr0te6wepj0pne8qaw5gt9jjm78g2aqgl4lz26/INJ] -peggy_denom = factory/inj1vr0te6wepj0pne8qaw5gt9jjm78g2aqgl4lz26/INJ +[inj1gkc8ajx5pfkvdux3574r90ahgmtkpnprx0fuaa] +peggy_denom = inj1gkc8ajx5pfkvdux3574r90ahgmtkpnprx0fuaa +decimals = 18 + +[inj1gulvsqvun9qcdfxrsfc33ym82fuccu55zsw6ap] +peggy_denom = inj1gulvsqvun9qcdfxrsfc33ym82fuccu55zsw6ap +decimals = 18 + +[inj1h0ka230k265jtv5hnujr6tszd66rjk3dutmfuj] +peggy_denom = inj1h0ka230k265jtv5hnujr6tszd66rjk3dutmfuj decimals = 6 -[factory/inj1vss35hmc5fzy0d4glcyt39w425pvwfsqk9zu3p/ABC] -peggy_denom = factory/inj1vss35hmc5fzy0d4glcyt39w425pvwfsqk9zu3p/ABC +[inj1h2ewqh3mjzm72sfrtvxhzd34kxn0qstc6phl4a] +peggy_denom = inj1h2ewqh3mjzm72sfrtvxhzd34kxn0qstc6phl4a +decimals = 18 + +[inj1h37nmz0r2dt8l33kt2c6us5hj00ykzgxmvyw55] +peggy_denom = inj1h37nmz0r2dt8l33kt2c6us5hj00ykzgxmvyw55 +decimals = 18 + +[inj1h8l2xcn4h9v0m67qem8x7rmf2akjwc34tjmm7a] +peggy_denom = inj1h8l2xcn4h9v0m67qem8x7rmf2akjwc34tjmm7a +decimals = 18 + +[inj1h9tu7ul5pyu2fl2qwpsyvshhqt2g4xqaqxm89z] +peggy_denom = inj1h9tu7ul5pyu2fl2qwpsyvshhqt2g4xqaqxm89z decimals = 6 -[factory/inj1vyelgqnlmnwd8sq2rcmg7d0jglrvggdk6s5y4k/position] -peggy_denom = factory/inj1vyelgqnlmnwd8sq2rcmg7d0jglrvggdk6s5y4k/position -decimals = 0 +[inj1hd7pwkcwz9pweklkap04ucwztllxp70xu26dc8] +peggy_denom = inj1hd7pwkcwz9pweklkap04ucwztllxp70xu26dc8 +decimals = 18 -[factory/inj1w4ru8gx7mjhagafdn2ljumrc8s5aaefzmynuqd/black] -peggy_denom = factory/inj1w4ru8gx7mjhagafdn2ljumrc8s5aaefzmynuqd/black -decimals = 0 +[inj1hgh3dqc2kxl464qg9rnt3kctzplmsnqzycdtt7] +peggy_denom = inj1hgh3dqc2kxl464qg9rnt3kctzplmsnqzycdtt7 +decimals = 18 -[factory/inj1wc3a7mqvdvhe8mkglvzq6pmelex53e2x8safdv/position] -peggy_denom = factory/inj1wc3a7mqvdvhe8mkglvzq6pmelex53e2x8safdv/position -decimals = 0 +[inj1hnap888nfhv2gnlp4zvjlyq9wmsw6hm3afvhuf] +peggy_denom = inj1hnap888nfhv2gnlp4zvjlyq9wmsw6hm3afvhuf +decimals = 18 -[factory/inj1whxcxhncnftrc76w0zns3l6934rqfenj5fl0kg/position] -peggy_denom = factory/inj1whxcxhncnftrc76w0zns3l6934rqfenj5fl0kg/position -decimals = 0 +[inj1hsv0y599unrnv02xntzmcdquh4wagrns8gqfh7] +peggy_denom = inj1hsv0y599unrnv02xntzmcdquh4wagrns8gqfh7 +decimals = 18 -[factory/inj1wl8fjknkq2ge4tgynls5kdkkmwstj5fm3ts7s4/BINJ] -peggy_denom = factory/inj1wl8fjknkq2ge4tgynls5kdkkmwstj5fm3ts7s4/BINJ +[inj1j0spyxgnxavasfnj5r4pvc4wwmnd6psjf8j6rm] +peggy_denom = inj1j0spyxgnxavasfnj5r4pvc4wwmnd6psjf8j6rm decimals = 6 -[factory/inj1wm66m98g8yluvl7vzcmsq5fvh4c7eacs32u5xh/INJ] -peggy_denom = factory/inj1wm66m98g8yluvl7vzcmsq5fvh4c7eacs32u5xh/INJ +[inj1j36ddpvef5jgmp4ngy6kl0r45c2tftu4qjuke8] +peggy_denom = inj1j36ddpvef5jgmp4ngy6kl0r45c2tftu4qjuke8 decimals = 6 -[factory/inj1wrltqpkxk8w5whk09knfyq4tkx06j5c9553fwh/INJ] -peggy_denom = factory/inj1wrltqpkxk8w5whk09knfyq4tkx06j5c9553fwh/INJ +[inj1j4pwxtnf27qelps9erqg3fg47r9tz9qyl9l7gh] +peggy_denom = inj1j4pwxtnf27qelps9erqg3fg47r9tz9qyl9l7gh +decimals = 18 + +[inj1j9ld52dpgzyc6j42fv5ggk2xkzukm4tjun6449] +peggy_denom = inj1j9ld52dpgzyc6j42fv5ggk2xkzukm4tjun6449 decimals = 6 -[factory/inj1ws4f65dx7kmspn28v22lmta3hkfps9cqfjwkyj/INJ] -peggy_denom = factory/inj1ws4f65dx7kmspn28v22lmta3hkfps9cqfjwkyj/INJ +[inj1jdn48px2andzq693c2uu4k3pnr9fm5rtywtvmz] +peggy_denom = inj1jdn48px2andzq693c2uu4k3pnr9fm5rtywtvmz decimals = 6 -[factory/inj1wud39wkdk6vlqy65v4ytqrmldagvaz8c7gtnjm/position] -peggy_denom = factory/inj1wud39wkdk6vlqy65v4ytqrmldagvaz8c7gtnjm/position -decimals = 0 +[inj1jnswzkkdvkc6chwzffggrlp69efghlqdha6jaq] +peggy_denom = inj1jnswzkkdvkc6chwzffggrlp69efghlqdha6jaq +decimals = 18 -[factory/inj1wx6k6wkamm5pudf43d8q77ug094rydd6gkg622/INJ] -peggy_denom = factory/inj1wx6k6wkamm5pudf43d8q77ug094rydd6gkg622/INJ +[inj1jt20t0scnm6r048rklny7z7gyc4lfmm6s5c96e] +peggy_denom = inj1jt20t0scnm6r048rklny7z7gyc4lfmm6s5c96e +decimals = 18 + +[inj1jusxykgkl04rgaam65gmvyyymth9flxjdpdruh] +peggy_denom = inj1jusxykgkl04rgaam65gmvyyymth9flxjdpdruh +decimals = 9 + +[inj1k0f8fqym9t3gz8qq3f72d3x5uk2gx4prs6mld5] +peggy_denom = inj1k0f8fqym9t3gz8qq3f72d3x5uk2gx4prs6mld5 +decimals = 18 + +[inj1k23r395k2q5z4fw0zhtyzdymx5let8qw7q76lw] +peggy_denom = inj1k23r395k2q5z4fw0zhtyzdymx5let8qw7q76lw decimals = 6 -[factory/inj1xaw8dvp6v05vsnxxwa4y7gpuddxhes97rqmcv6/position] -peggy_denom = factory/inj1xaw8dvp6v05vsnxxwa4y7gpuddxhes97rqmcv6/position -decimals = 0 +[inj1k9r62py07wydch6sj5sfvun93e4qe0lg7jyatc] +peggy_denom = inj1k9r62py07wydch6sj5sfvun93e4qe0lg7jyatc +decimals = 8 -[factory/inj1xdmkzn2zpfh0rp38mjly8xza4xhx54vrlslqad/position] -peggy_denom = factory/inj1xdmkzn2zpfh0rp38mjly8xza4xhx54vrlslqad/position -decimals = 0 +[inj1kjfeuqtp56newrdye4d5rczfkwe4dg3llc0kc9] +peggy_denom = inj1kjfeuqtp56newrdye4d5rczfkwe4dg3llc0kc9 +decimals = 18 -[factory/inj1xfl2jxuwpvpxxc5upxm8fxxzv6nxd65z5kpqny/position] -peggy_denom = factory/inj1xfl2jxuwpvpxxc5upxm8fxxzv6nxd65z5kpqny/position +[inj1kpsej4ejcwut5wgu4jyvwvyel6kezjzuf3fd6z] +peggy_denom = inj1kpsej4ejcwut5wgu4jyvwvyel6kezjzuf3fd6z +decimals = 8 + +[inj1ky5zcvc82t6hrfsu6da3d9u9u33jt30rjr0cnj] +peggy_denom = inj1ky5zcvc82t6hrfsu6da3d9u9u33jt30rjr0cnj decimals = 0 -[factory/inj1xhzt72xa3pyk25chwa3kh5j2dpuwehmycukh38/test] -peggy_denom = factory/inj1xhzt72xa3pyk25chwa3kh5j2dpuwehmycukh38/test +[inj1kz94v8anl9j64cqwntd30l8vqw2p03w3fk7d03] +peggy_denom = inj1kz94v8anl9j64cqwntd30l8vqw2p03w3fk7d03 decimals = 6 -[factory/inj1xns9khp247zkasydzvkcvv7et2qrf679gkudmy/FOMO] -peggy_denom = factory/inj1xns9khp247zkasydzvkcvv7et2qrf679gkudmy/FOMO +[inj1l3uhj7dd5sx5fk87z0pxu0jum6rkpgmmv37a66] +peggy_denom = inj1l3uhj7dd5sx5fk87z0pxu0jum6rkpgmmv37a66 decimals = 6 -[factory/inj1xnw3266sqst4xatdgu7qme69rf58vnlj99vsty/INJ] -peggy_denom = factory/inj1xnw3266sqst4xatdgu7qme69rf58vnlj99vsty/INJ +[inj1l73x8hh6du0h8upp65r7ltzpj5twadtp5490n0] +peggy_denom = inj1l73x8hh6du0h8upp65r7ltzpj5twadtp5490n0 +decimals = 18 + +[inj1l9eyrnv3ret8da3qh8j5aytp6q4f73crd505lj] +peggy_denom = inj1l9eyrnv3ret8da3qh8j5aytp6q4f73crd505lj decimals = 6 -[factory/inj1y4mmnuck96ffjswgd37963f5ch9kph8sk99zuj/position] -peggy_denom = factory/inj1y4mmnuck96ffjswgd37963f5ch9kph8sk99zuj/position -decimals = 0 +[inj1ljrzvjuupmglq62frdcywzlc9a90xrf3vrcp02] +peggy_denom = inj1ljrzvjuupmglq62frdcywzlc9a90xrf3vrcp02 +decimals = 18 -[factory/inj1y5lrg2p5cmlne4jr8uj479ns05srq59cw99gm8/INJ] -peggy_denom = factory/inj1y5lrg2p5cmlne4jr8uj479ns05srq59cw99gm8/INJ +[inj1llatk73a2935vky6nzv78w80ff5v3etqadzv76] +peggy_denom = inj1llatk73a2935vky6nzv78w80ff5v3etqadzv76 +decimals = 8 + +[inj1lmcfftadjkt4gt3lcvmz6qn4dhx59dv2m7yv8r] +peggy_denom = inj1lmcfftadjkt4gt3lcvmz6qn4dhx59dv2m7yv8r decimals = 6 -[factory/inj1yc2pc60avmdv3sfvamt27nk3kxhcxlf53q8ysr/position] -peggy_denom = factory/inj1yc2pc60avmdv3sfvamt27nk3kxhcxlf53q8ysr/position -decimals = 0 +[inj1ltu2smt40xmz8lxvrg9xhkdc75rswkyflqf2p8] +peggy_denom = inj1ltu2smt40xmz8lxvrg9xhkdc75rswkyflqf2p8 +decimals = 6 -[factory/inj1yg49drflp8vmf4hj07jy9c8wl2fmqrfq09etpm/position] -peggy_denom = factory/inj1yg49drflp8vmf4hj07jy9c8wl2fmqrfq09etpm/position -decimals = 0 +[inj1lvnuam0w70d4yj03vy30umqv4rr7gwfkfsemnc] +peggy_denom = inj1lvnuam0w70d4yj03vy30umqv4rr7gwfkfsemnc +decimals = 6 -[factory/inj1ykf3aln7wwx7la80z5xc7w572d7vwtq92x09h5/INJ] -peggy_denom = factory/inj1ykf3aln7wwx7la80z5xc7w572d7vwtq92x09h5/INJ +[inj1m2h20qlrhs5nr89s48gm083qdl7333j3v83yjg] +peggy_denom = inj1m2h20qlrhs5nr89s48gm083qdl7333j3v83yjg decimals = 6 -[factory/inj1yq82w2mugv4qvuy863p2urrwqegde4fyksmcmj/position] -peggy_denom = factory/inj1yq82w2mugv4qvuy863p2urrwqegde4fyksmcmj/position -decimals = 0 +[inj1m6ntlp05hxg6gvmkzyjej8a5at0jemamydzx4g] +peggy_denom = inj1m6ntlp05hxg6gvmkzyjej8a5at0jemamydzx4g +decimals = 8 -[factory/inj1yqgc6sv5eyhkf3p3nynrq5lsffnwp5vwvwqgqf/position] -peggy_denom = factory/inj1yqgc6sv5eyhkf3p3nynrq5lsffnwp5vwvwqgqf/position -decimals = 0 +[inj1m84527ec0zxfsssrp5c4an5xgjz9hp4d2ev0pz] +peggy_denom = inj1m84527ec0zxfsssrp5c4an5xgjz9hp4d2ev0pz +decimals = 6 -[factory/inj1yqnt9aswsjdujxxdeyzm4twqchjtaw2ddrxkqv/position] -peggy_denom = factory/inj1yqnt9aswsjdujxxdeyzm4twqchjtaw2ddrxkqv/position -decimals = 0 +[inj1mas3j8u02wzcfysjhgrx0uj0qprua2lm0gx27r] +peggy_denom = inj1mas3j8u02wzcfysjhgrx0uj0qprua2lm0gx27r +decimals = 18 -[factory/inj1yt3dxjvwyq5f4hw86sadk5jd9nqu6dnml3v7sv/INJ] -peggy_denom = factory/inj1yt3dxjvwyq5f4hw86sadk5jd9nqu6dnml3v7sv/INJ +[inj1mdzxqh9kag3a9e7x5488vn8hkeh42cuw0hnhrf] +peggy_denom = inj1mdzxqh9kag3a9e7x5488vn8hkeh42cuw0hnhrf decimals = 6 -[factory/inj1yu54sj0phd59dgcd023hhlezxmtzqwgf44c6ka/position] -peggy_denom = factory/inj1yu54sj0phd59dgcd023hhlezxmtzqwgf44c6ka/position -decimals = 0 +[inj1mpm6l6g77c0flupzynj4lqvktdh5xuj0g4arn6] +peggy_denom = inj1mpm6l6g77c0flupzynj4lqvktdh5xuj0g4arn6 +decimals = 18 -[factory/inj1yuaz9qw8m75w7gxn3j7p9ph9pcsp8krpune70q/Test] -peggy_denom = factory/inj1yuaz9qw8m75w7gxn3j7p9ph9pcsp8krpune70q/Test +[inj1mv9jlerndqham75cp2sfyzkzxdz2rwqx20mpd5] +peggy_denom = inj1mv9jlerndqham75cp2sfyzkzxdz2rwqx20mpd5 decimals = 6 -[factory/inj1z3mux0g3fw2ggem5qnuqcy46nl5wwsdcm9q5eg/position] -peggy_denom = factory/inj1z3mux0g3fw2ggem5qnuqcy46nl5wwsdcm9q5eg/position -decimals = 0 +[inj1nlcg7dgufuytaa2sfxam5hm0l38dyv3uk47kdf] +peggy_denom = inj1nlcg7dgufuytaa2sfxam5hm0l38dyv3uk47kdf +decimals = 18 -[factory/inj1z60w4nx27cyt8tygmwxe045aa5h8u0acupv3dl/position] -peggy_denom = factory/inj1z60w4nx27cyt8tygmwxe045aa5h8u0acupv3dl/position -decimals = 0 +[inj1nqy47ullz048d8lzck9yr89dnpfefrdx30c7fx] +peggy_denom = inj1nqy47ullz048d8lzck9yr89dnpfefrdx30c7fx +decimals = 18 -[factory/inj1z7mx2tc9ea4y2y0nx230pe7knm8fryk3rv6r2c/uLP] -peggy_denom = factory/inj1z7mx2tc9ea4y2y0nx230pe7knm8fryk3rv6r2c/uLP +[inj1plsk58sxqjw9828aqzeskmc8xy9eu5kppw3jg4] +peggy_denom = inj1plsk58sxqjw9828aqzeskmc8xy9eu5kppw3jg4 +decimals = 8 + +[inj1pvestds0e0f7y6znfjqa8vwws9ylz6eutny8c3] +peggy_denom = inj1pvestds0e0f7y6znfjqa8vwws9ylz6eutny8c3 decimals = 0 -[factory/inj1ze3ad8k5aw7ejwlpvwfdht9yslnpfqez45sd3v/BCAT] -peggy_denom = factory/inj1ze3ad8k5aw7ejwlpvwfdht9yslnpfqez45sd3v/BCAT +[inj1qaakagef76lgu56uhdc9rdsycdrznf7pjfjt2c] +peggy_denom = inj1qaakagef76lgu56uhdc9rdsycdrznf7pjfjt2c decimals = 6 -[factory/inj1zjd5nqyvyksjqzsc207v80pcd9a0r9fec8rvn6/INJ] -peggy_denom = factory/inj1zjd5nqyvyksjqzsc207v80pcd9a0r9fec8rvn6/INJ +[inj1qjn06jt7zjhdqxgud07nylkpgnaurq6xc5c4fd] +peggy_denom = inj1qjn06jt7zjhdqxgud07nylkpgnaurq6xc5c4fd decimals = 6 -[factory/inj1zmlf85er8we52r9qsq8wdumwpkdrhqh0f0u27j/INJ] -peggy_denom = factory/inj1zmlf85er8we52r9qsq8wdumwpkdrhqh0f0u27j/INJ -decimals = 6 +[inj1qqn3urdskeq9mlm37c375978kv3rxgjx2kff9p] +peggy_denom = inj1qqn3urdskeq9mlm37c375978kv3rxgjx2kff9p +decimals = 18 -[factory/inj1zt0ts2z4r0sx0g3ae87ct9r9pgjmxexe4lj2h3/position] -peggy_denom = factory/inj1zt0ts2z4r0sx0g3ae87ct9r9pgjmxexe4lj2h3/position -decimals = 0 +[inj1qt32en8rjd0x486tganvc6u7q25xlr5wqr68xn] +peggy_denom = inj1qt32en8rjd0x486tganvc6u7q25xlr5wqr68xn +decimals = 18 -[factory/inj1zthvl3awskg6a7l2v4yq9srxjjatvl4ydesfhc/position] -peggy_denom = factory/inj1zthvl3awskg6a7l2v4yq9srxjjatvl4ydesfhc/position -decimals = 0 +[inj1quy82cgpf0jajc76w7why9kt94ph99uff2q7xh] +peggy_denom = inj1quy82cgpf0jajc76w7why9kt94ph99uff2q7xh +decimals = 6 -[factory/neutron133xakkrfksq39wxy575unve2nyehg5npx75nph/GOP] -peggy_denom = ibc/B6DEF77F4106DE5F5E1D5C7AA857392A8B5CE766733BA23589AD4760AF953819 -decimals = 0 +[inj1ra46mrdcc4qd7m8mhdjd9fkut50pa07lwxsvst] +peggy_denom = inj1ra46mrdcc4qd7m8mhdjd9fkut50pa07lwxsvst +decimals = 18 -[factory/neutron133xakkrfksq39wxy575unve2nyehg5npx75nph/MOO] -peggy_denom = ibc/572EB1D6454B3BF6474A30B06D56597D1DEE758569CC695FF628D4EA235EFD5D +[inj1rd2ej0vcg8crpgllv9k8f9dks96whhf3yqftd4] +peggy_denom = inj1rd2ej0vcg8crpgllv9k8f9dks96whhf3yqftd4 decimals = 0 -[factory/neutron154gg0wtm2v4h9ur8xg32ep64e8ef0g5twlsgvfeajqwghdryvyqsqhgk8e/APOLLO] -peggy_denom = ibc/1B47F9D980CBB32A87022E1381C15005DE942A71CB61C1B498DBC2A18F43A8FE +[inj1rdy2hzjw83hs2dec28lw6q3f8an5pma8l38uey] +peggy_denom = inj1rdy2hzjw83hs2dec28lw6q3f8an5pma8l38uey decimals = 0 -[factory/osmo1q77cw0mmlluxu0wr29fcdd0tdnh78gzhkvhe4n6ulal9qvrtu43qtd0nh8/djjtga] -peggy_denom = ibc/50DC83F6AD408BC81CE04004C86BF457F9ED9BF70839F8E6BA6A3903228948D7 -decimals = 0 +[inj1rluhqhev2v4kmz0m8qjfrlyrlrlqckajuf0ajs] +peggy_denom = inj1rluhqhev2v4kmz0m8qjfrlyrlrlqckajuf0ajs +decimals = 6 -[factory/osmo1q77cw0mmlluxu0wr29fcdd0tdnh78gzhkvhe4n6ulal9qvrtu43qtd0nh8/test] -peggy_denom = ibc/40C510742D7CE7F5EB2EF894AA9AD5056183D80628A73A04B48708A660FD088D -decimals = 0 +[inj1rmzufd7h09sqfrre5dtvu5d09ta7c0t4jzkr2f] +peggy_denom = inj1rmzufd7h09sqfrre5dtvu5d09ta7c0t4jzkr2f +decimals = 18 -[factory/sei189adguawugk3e55zn63z8r9ll29xrjwca636ra7v7gxuzn98sxyqwzt47l/9fELvUhFo6yWL34ZaLgPbCPzdk9MD1tAzMycgH45qShH] -peggy_denom = ibc/999FD9811C895A63FE1A2FCDDA24DEC6AF7D70D907BD97E9C455BDFD57B373CA -decimals = 0 +[inj1rtyuaxaqfxczuys3k3cdvlg89ut66ulmp8mvuy] +peggy_denom = inj1rtyuaxaqfxczuys3k3cdvlg89ut66ulmp8mvuy +decimals = 18 -[factory/sei189adguawugk3e55zn63z8r9ll29xrjwca636ra7v7gxuzn98sxyqwzt47l/Hq4tuDzhRBnxw3tFA5n6M52NVMVcC19XggbyDiJKCD6H] -peggy_denom = ibc/247FF5EB358DA07AE08BC0E975E1AD955494A51B6C11452271A216E67AF1E4D1 -decimals = 0 +[inj1rytr7mwrentqhng3gldplyf59k23qd3x5umc36] +peggy_denom = inj1rytr7mwrentqhng3gldplyf59k23qd3x5umc36 +decimals = 18 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/2Wb6ueMFc9WLc2eyYVha6qnwHKbwzUXdooXsg6XXVvos] -peggy_denom = ibc/8D59D4FCFE77CA4F11F9FD9E9ACA645197E9BFFE48B05ADA172D750D3C5F47E7 -decimals = 0 +[inj1ryzgvggaktks2pz69pugltfu7f3hpq7wc98t5e] +peggy_denom = inj1ryzgvggaktks2pz69pugltfu7f3hpq7wc98t5e +decimals = 18 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/3wftBtqKjWFXFWhtsG6fjaLTbpnaLhN3bhfSMdvEVdXT] -peggy_denom = ibc/6C1F980F3D295DA21EC3AFD71008CC7674BA580EBEDBD76FD5E25E481067AF09 -decimals = 0 +[inj1s3w6k5snskregtfrjqdc2ee6t3llypw2yy4w3l] +peggy_denom = inj1s3w6k5snskregtfrjqdc2ee6t3llypw2yy4w3l +decimals = 18 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/576uQXyQrjFdqzDRvBnXihn467ipuc12a5yN8v8H99f8] -peggy_denom = ibc/0F18C33D7C2C28E24A67BEFA2689A1552DCE9856E1BB3A16259403D5398EB23C -decimals = 0 +[inj1savfv8nemxsp0870m0dsqgprcwwr447jrj2yh5] +peggy_denom = inj1savfv8nemxsp0870m0dsqgprcwwr447jrj2yh5 +decimals = 18 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/5MeVz64BbVszQaCqCTQ2zfWTmnQ5uKwNMaDDSJDRuqTY] -peggy_denom = ibc/B7936BF07D9035C66C83B81B61672A05F30DE4196BE0A016A6CD4EDD20CB8F24 +[inj1sfvyudz7m8jfsqu4s53uw2ls2k07yjg8tmcgzl] +peggy_denom = inj1sfvyudz7m8jfsqu4s53uw2ls2k07yjg8tmcgzl decimals = 0 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/5cKyTGhoHu1VFNPd6iXdKYTm3CkTtz1MeCdYLUGgF4zt] -peggy_denom = ibc/3C2EEA34EAF26698EE47A58FA2142369CE42E105E8452E1C074A32D34431484B -decimals = 0 +[inj1sgdvujejhvc0yqw26jz2kvg9fx2wvfvvjtjnjq] +peggy_denom = inj1sgdvujejhvc0yqw26jz2kvg9fx2wvfvvjtjnjq +decimals = 6 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/6wMmXNYNi8tYB32cCAGPoPrr6nHLKx4j9kpGv5moBnuT] -peggy_denom = ibc/13055E6ECA7C05091DD7B93DF81F0BB12479779DE3B9410CF445CC34B8361664 -decimals = 0 +[inj1shlkety7fs0n7l2lxz3pyg6hr0j6dkcdvgvjch] +peggy_denom = inj1shlkety7fs0n7l2lxz3pyg6hr0j6dkcdvgvjch +decimals = 8 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/7KQX8bVDa8W4EdpED8oHqhSfJsgF79XDcxcd8ELUws7G] -peggy_denom = ibc/0A44483A7AFF7C096B2A4FB00A12E912BE717CD7703CF7F33ED99DB35230D404 -decimals = 0 +[inj1shzx0tx7x74ew6ewjdhvw2l3a828tfaggk5lj3] +peggy_denom = inj1shzx0tx7x74ew6ewjdhvw2l3a828tfaggk5lj3 +decimals = 18 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/8iuAc6DSeLvi2JDUtwJxLytsZT8R19itXebZsNReLLNi] -peggy_denom = ibc/6D434846D1535247426AA917BBEC53BE1A881D49A010BF7EDACBFCD84DE4A5B8 -decimals = 0 +[inj1sp8f3hg3qtjr75qxm89fgawwnme6lvldqxrz87] +peggy_denom = inj1sp8f3hg3qtjr75qxm89fgawwnme6lvldqxrz87 +decimals = 6 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/8sYgCzLRJC3J7qPn2bNbx6PiGcarhyx8rBhVaNnfvHCA] -peggy_denom = ibc/F433CC4D2A46173B47A691E8C432F11E47E8C06C574CEF798F6F7BA116EACCAC -decimals = 0 +[inj1spzwwtr2luljr300ng2gu52zg7wn7j44m92mdf] +peggy_denom = inj1spzwwtr2luljr300ng2gu52zg7wn7j44m92mdf +decimals = 10 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/9weDXCi5EPvG2xk6VTiKKxhijYuq79U6UzPwBniF1cET] -peggy_denom = ibc/C2C022DC63E598614F39C575BC5EF4EC54E5D081365D9BE090D75F743364E54D -decimals = 0 +[inj1ss3d6gw5xzk5gdt9w4qhp3px62mqygk69uxwyv] +peggy_denom = inj1ss3d6gw5xzk5gdt9w4qhp3px62mqygk69uxwyv +decimals = 8 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/AsSyBMk2D3FmntrGtd539XWDGwmJ7Uv8vVXQTwTjyqBw] -peggy_denom = ibc/7A39488A287BF7DBC4A33DDA2BE3DDAC0F281FBCFF23934B7194893C136AAA99 -decimals = 0 +[inj1ss6rtzavmpr9ssf0pcw8x20vxmphfqdmlfyz9t] +peggy_denom = inj1ss6rtzavmpr9ssf0pcw8x20vxmphfqdmlfyz9t +decimals = 18 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/BSWyXu2ZJFGaSau3aLDwNZMCDwenWhwPfWALpYna7WzV] -peggy_denom = ibc/CB8E08B5C734BDA8344DDCFE5C9CCCC91521763BA1BC9F61CADE6E8F0B556E3D -decimals = 0 +[inj1svrvyqm8uu6u4xnkz6tva207pztglcjylxe367] +peggy_denom = inj1svrvyqm8uu6u4xnkz6tva207pztglcjylxe367 +decimals = 18 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/BjqmpMWFUphe7Qr3v8rLCZh8aoH2qfi2S1z8649b62TY] -peggy_denom = ibc/4F72D2F3EAFB61D8615566B3C80AEF2778BB14B648929607568C79CD90416188 +[inj1sx8qf8upzccasf7ylv2adsek8nwzgwu944tqkd] +peggy_denom = inj1sx8qf8upzccasf7ylv2adsek8nwzgwu944tqkd decimals = 0 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/CroEB5zf21ea42ezHnpcv1jj1jANLY4A1sQL6y4UsHGR] -peggy_denom = ibc/8E7F71072C97C5D8D19978C7E38AE90C0FBCCE551AF95FEB000EA9EBBFD6396B +[inj1syak43khmndn5t0f67kmmdzjzuf0cz3tnhm6wd] +peggy_denom = inj1syak43khmndn5t0f67kmmdzjzuf0cz3tnhm6wd decimals = 0 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/Cv4gKZrfUhNZtcjUDgdodrup397e9Nm7hMaqFwSCPVjj] -peggy_denom = ibc/44EC7BD858EC12CE9C2F882119F522937264B50DD26DE73270CA219242E9C1B2 -decimals = 0 +[inj1t9r3s40sr3jjd20kp2w8dunff2466zwr89n2xr] +peggy_denom = inj1t9r3s40sr3jjd20kp2w8dunff2466zwr89n2xr +decimals = 18 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/EfeMLPMU8BcwMbzNy5DfbYCzRDvDVdo7nLZt7GZG4a8Y] -peggy_denom = ibc/366870891D57A5076D117307C42F597A000EB757793A9AB58019660B896292AA -decimals = 0 +[inj1tcgye8ekwd0fcnrwncdtt7k9r7eg7k824c0pdg] +peggy_denom = inj1tcgye8ekwd0fcnrwncdtt7k9r7eg7k824c0pdg +decimals = 18 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/Eh6t4Hgff8mveKYH5Csa7zyoq5hgKNnLF8qq9YhSsu7j] -peggy_denom = ibc/AA2394D484EADAC0B982A8979B18109FAEDD5D47E36D8153955369FEC16D027B -decimals = 0 +[inj1tjnjj9hvecuj3dpdvvl4yxhshgwzqyg57k7fnh] +peggy_denom = inj1tjnjj9hvecuj3dpdvvl4yxhshgwzqyg57k7fnh +decimals = 18 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/Ej6p2SmCeEnkLsZR2pwSCK9L1LUQWgKsMd3iVdYMFaJq] -peggy_denom = ibc/6912080A54CAB152D10CED28050E6DBE87B49E4F77D6BA6D54A05DBF4C3CCA88 -decimals = 0 +[inj1tr8dz3dudtnc7z3umjg7s5nwcw387phnjsy3pp] +peggy_denom = inj1tr8dz3dudtnc7z3umjg7s5nwcw387phnjsy3pp +decimals = 18 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/F6QdZRjBTFmK1BNMrws1D9uPqQkHE25qqR2bMpeTuLjb] -peggy_denom = ibc/473D128E740A340B0663BD09CFC9799A0254564448B62CAA557D65DB23D0FCCD -decimals = 0 +[inj1ttngjl2y886dcr7r34gp3r029f8l2pv8tdelk8] +peggy_denom = inj1ttngjl2y886dcr7r34gp3r029f8l2pv8tdelk8 +decimals = 18 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/FrbRcKDffWhKiHimzrWBpQRyM65uJkYDSf4J3QksasJ9] -peggy_denom = ibc/E2C56B24C032D2C54CF12EAD43432D65FDF22C64E819F97AAD3B141829EF3E60 -decimals = 0 +[inj1u0y6k9grtux3dlzpvj6hspkg6n0l0l2zmlhygu] +peggy_denom = inj1u0y6k9grtux3dlzpvj6hspkg6n0l0l2zmlhygu +decimals = 18 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/G4b8zJq7EUqVTwgbokQiHyYa5PzhQ1bLiyAeK3Yw9en8] -peggy_denom = ibc/683CD81C466CF3678E78B5E822FA07F0C23107B1F8FA06E80EAD32D569C4CF84 -decimals = 0 +[inj1u5mf7ueeym5qvvgtfkhgcu40gcc04fv7qmqx5u] +peggy_denom = inj1u5mf7ueeym5qvvgtfkhgcu40gcc04fv7qmqx5u +decimals = 18 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/G8PQ2heLLT8uBjoCfkkD3pNmTGZo6hNtSEEuJUGn9daJ] -peggy_denom = ibc/65CF217605B92B4CD37AC22955C5C59DE39CFD2A7A2E667861CCAFC810C4F5BD -decimals = 0 +[inj1ufew4geh63l45ugk6aett2rdtatjm9xtycjcyd] +peggy_denom = inj1ufew4geh63l45ugk6aett2rdtatjm9xtycjcyd +decimals = 6 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/GGh9Ufn1SeDGrhzEkMyRKt5568VbbxZK2yvWNsd6PbXt] -peggy_denom = ibc/DC9E276D4E80CD04F8A8C681842A3A16C59F85963FB262E34BBB6CB4F5BFDB14 -decimals = 0 +[inj1uqhcsup58gjfxl26z9esenmr03hn8wyz2mlc02] +peggy_denom = inj1uqhcsup58gjfxl26z9esenmr03hn8wyz2mlc02 +decimals = 18 -[factory/wormhole14ejqjyq8um4p3xfqj74yld5waqljf88fz25yxnma0cngspxe3les00fpjx/HJk1XMDRNUbRrpKkNZYui7SwWDMjXZAsySzqgyNcQoU3] -peggy_denom = ibc/CC610E1295BCF3ADE3C3DD4ABF3496C6EAA7541A1E45696E9D642D7B0A27B127 -decimals = 0 +[inj1ur3qac37axxmuqpsegr7cts77t78jyupucpua3] +peggy_denom = inj1ur3qac37axxmuqpsegr7cts77t78jyupucpua3 +decimals = 8 -[factory:kujira13ryry75s34y4sl5st7g5mhk0he8rc2nn7ah6sl:SPERM] -peggy_denom = ibc/EBC2F00888A965121201A6150B7C55E0941E49438BC7F02385A632D6C4E68E2A -decimals = 0 +[inj1usr473hh8hlff874tvcl4pe6qzsmc08w3k32nd] +peggy_denom = inj1usr473hh8hlff874tvcl4pe6qzsmc08w3k32nd +decimals = 6 -[factory:kujira1e224c8ry0nuun5expxm00hmssl8qnsjkd02ft94p3m2a33xked2qypgys3:urcpt] -peggy_denom = ibc/49994E6147933B46B83CCEDE3528C6B3E5960ECE5A85548C2A519CF3B812E8B9 -decimals = 0 +[inj1uv2arm5gzd35zrxd7ghsslegn0cwpc9jwc0enz] +peggy_denom = inj1uv2arm5gzd35zrxd7ghsslegn0cwpc9jwc0enz +decimals = 18 -[factory:kujira1jelmu9tdmr6hqg0d6qw4g6c9mwrexrzuryh50fwcavcpthp5m0uq20853h:urcpt] -peggy_denom = ibc/E970A80269F0867B0E9C914004AB991E6AF94F3EF2D4E1DFC92E140ACB6BBD5C -decimals = 0 +[inj1vgm0pwes4fusmvha62grh5aq55yxdz2x5k58xw] +peggy_denom = inj1vgm0pwes4fusmvha62grh5aq55yxdz2x5k58xw +decimals = 18 -[factory:kujira1yntegc5v3tvl0xfrde0rupnt9kfnx0sy9lytge9g2mryjknudk6qg4zyw9:urcpt] -peggy_denom = ibc/D4D75686C76511349744536403E94B31AC010EB6EA1B579C01B2D64B6888E068 +[inj1vgmpx429y5jv8z5hkcxxv3r4x6hwtmxzhve0xz] +peggy_denom = inj1vgmpx429y5jv8z5hkcxxv3r4x6hwtmxzhve0xz decimals = 0 -[faot] -peggy_denom = inj1vnhhrcnnnr6tq96eaa8gcsuaz55ugnhs3dmfqq -decimals = 18 +[inj1vhsam3xn26fq6lpfpnsnrrg66tjfxts8p7hrrf] +peggy_denom = inj1vhsam3xn26fq6lpfpnsnrrg66tjfxts8p7hrrf +decimals = 6 -[fatPEPE] -peggy_denom = factory/inj1an9qflgvpvjdhczce6xwrh4afkaap77c72k4yd/fatpepe +[inj1vllv3w7np7t68acdn6xj85yd9dzkxdfcuyluz0] +peggy_denom = inj1vllv3w7np7t68acdn6xj85yd9dzkxdfcuyluz0 decimals = 6 -[fff] -peggy_denom = factory/inj1xy7dcllc7wn5prcy73xr7xhpt9zwg49c6szqcz/fff +[inj1vt2sgyzrna5uj6yetju8k0fjex4g8t7fr3w0vc] +peggy_denom = inj1vt2sgyzrna5uj6yetju8k0fjex4g8t7fr3w0vc decimals = 6 -[fiftycent] -peggy_denom = inj1rtgfdnja2xav84ta0twq8cmmvkqzycnu9uxzw5 +[inj1vulh2mq9awyexpsmntff0wyumafcte4p5pqeav] +peggy_denom = inj1vulh2mq9awyexpsmntff0wyumafcte4p5pqeav +decimals = 6 + +[inj1vwhkr9qmntsfe9vzegh7xevvfaj4lnx9t783nf] +peggy_denom = inj1vwhkr9qmntsfe9vzegh7xevvfaj4lnx9t783nf decimals = 18 -[fmXEN] -peggy_denom = inj14vluf5wc7tsptnfzrjs9g579uyp9gvvlwre5e4 -decimals = 8 +[inj1w2w4n4mjzlx5snwf65l54a2gh4x0kmpvzm43fy] +peggy_denom = inj1w2w4n4mjzlx5snwf65l54a2gh4x0kmpvzm43fy +decimals = 18 -[foo] -peggy_denom = factory/inj12vxhuaamfs33sxgnf95lxvzy9lpugpgjsrsxl3/foo +[inj1w2wlt28t93szklu38wnw4dsgegug5rk3jar5k5] +peggy_denom = inj1w2wlt28t93szklu38wnw4dsgegug5rk3jar5k5 decimals = 6 -[footjob] -peggy_denom = inj1gn7tah4p0uvgmtwgwe5lp9q7ce8d4yr8jxrfcv +[inj1w3j52pppjr452f8ukj5apwpf9sc4t4p5cmyfjl] +peggy_denom = inj1w3j52pppjr452f8ukj5apwpf9sc4t4p5cmyfjl +decimals = 6 + +[inj1wjh8gnp7a6yfcldnp82s0e4yt7n98xpm363c38] +peggy_denom = inj1wjh8gnp7a6yfcldnp82s0e4yt7n98xpm363c38 decimals = 18 -[fox] -peggy_denom = factory/inj1ddmyuzh42n8ymyhcm5jla3aaq9tucjnye02dlf/fox +[inj1wltxzzuvl9tz8jrawcw756wcawcjt4l4cmsjru] +peggy_denom = inj1wltxzzuvl9tz8jrawcw756wcawcjt4l4cmsjru +decimals = 18 + +[inj1wze83lt3jk84f89era4ldakyv3mf90pj4af9cx] +peggy_denom = inj1wze83lt3jk84f89era4ldakyv3mf90pj4af9cx decimals = 6 -[frINJa] -peggy_denom = factory/inj1sm0feg2fxpmx5yg3ywzdzyn0s93m6d9dt87jf5/frINJa -decimals = 7 +[inj1wzqsfnz6936efkejd9znvtp6m75eg085yl7wzc] +peggy_denom = inj1wzqsfnz6936efkejd9znvtp6m75eg085yl7wzc +decimals = 6 -[franklin] -peggy_denom = inj1zd0043cf6q7yft07aaqgsurgh53xy5gercpzuu +[inj1xcgprh58szttp0vqtztvcfy34tkpupr563ua40] +peggy_denom = inj1xcgprh58szttp0vqtztvcfy34tkpupr563ua40 decimals = 18 -[gay] -peggy_denom = inj15x48ts4jw429zd9vvkwxf0advg9j24z2q948fl +[inj1xnk5ca6u4hl9rfm2qretz6p5wjt3yptvng2jvd] +peggy_denom = inj1xnk5ca6u4hl9rfm2qretz6p5wjt3yptvng2jvd decimals = 18 -[gayasf] -peggy_denom = inj1qu6eldq9ftz2wvr43848ff8x5586xm0639kg7a +[inj1xvlxqaxw0ef0596d96ecfwpta29y2jc9n5w9s9] +peggy_denom = inj1xvlxqaxw0ef0596d96ecfwpta29y2jc9n5w9s9 +decimals = 8 + +[inj1xx04zkrkrplefzgdgl78mrq3qmy9e3fkgspujk] +peggy_denom = inj1xx04zkrkrplefzgdgl78mrq3qmy9e3fkgspujk decimals = 18 -[get] -peggy_denom = factory/inj1ldee0qev4khjdpw8wpqpyeyw0n0z8nnqtc423g/get +[inj1y7q956uxwk7xgyft49n7k3j3gt5faeskje6gq2] +peggy_denom = inj1y7q956uxwk7xgyft49n7k3j3gt5faeskje6gq2 decimals = 6 -[ginj] -peggy_denom = factory/inj1r4usuj62gywdwhq9uvx6tg0ywqpppcjqu7z4js/ginj -decimals = 6 +[inj1yd07kujagk0t6rlj0zca2xsm6qpekv8mmwqknv] +peggy_denom = inj1yd07kujagk0t6rlj0zca2xsm6qpekv8mmwqknv +decimals = 18 -[gipsyCOINS] -peggy_denom = inj1pyeutpz66lhapppt2ny36s57zfspglqtvdwywd +[inj1yevjg9fdp7px757d6g3j2dkpzmeczturx3vpme] +peggy_denom = inj1yevjg9fdp7px757d6g3j2dkpzmeczturx3vpme decimals = 6 -[godzilla] -peggy_denom = factory/inj1nhswhqrgfu3hpauvyeycz7pfealx4ack2c5hfp/godzilla +[inj1ykfurk0jsxcz6hp9tqm8vn2p5k0hn76y6uans6] +peggy_denom = inj1ykfurk0jsxcz6hp9tqm8vn2p5k0hn76y6uans6 decimals = 6 -[gravity0xA0b73E1Ff0B80914AB6fe0444E65848C4C34450b] -peggy_denom = ibc/FF8F4C5D1664F946E88654921D6C1E81D5C167B8A58A4E75B559BAA2DBBF0101 -decimals = 0 +[inj1ypa69pvev7rlv8d2rdxkaxn23tk7rx5vgnxaam] +peggy_denom = inj1ypa69pvev7rlv8d2rdxkaxn23tk7rx5vgnxaam +decimals = 6 -[gravity0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48] -peggy_denom = ibc/7C2AA3086423029B3E915B5563975DB87EF2E552A40F996C7F6D19FFBD5B2AEA +[inj1yv2mdu33whk4z6xdjxu6fkzjtl5c0ghdgt337f] +peggy_denom = inj1yv2mdu33whk4z6xdjxu6fkzjtl5c0ghdgt337f decimals = 0 -[gravity0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2] -peggy_denom = ibc/ECC0DF3D9C80F79B81056569EE2140FD977886AB274FA08BA03E987264D6DE19 -decimals = 0 +[inj1z647rvv0cfv5xx3tgsdx77qclkwu2ng7tg2zq5] +peggy_denom = inj1z647rvv0cfv5xx3tgsdx77qclkwu2ng7tg2zq5 +decimals = 18 -[gravity0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30] -peggy_denom = ibc/57E7FEFD5872F89EB1C792C4B06B51EA565AC644EA2F64B88F8FC40704F8E9C4 -decimals = 0 +[inj1z7d2f66wh0r653qp7lqpj6tx3z0yetnjahnsrd] +peggy_denom = inj1z7d2f66wh0r653qp7lqpj6tx3z0yetnjahnsrd +decimals = 18 -[gto] -peggy_denom = inj1ehnt0lcek8wdf0xj7y5mmz7nzr8j7ytjgk6l7g +[inj1zdhl0fk08tr8xwppych2f7apzdymw4r3gf9kyr] +peggy_denom = inj1zdhl0fk08tr8xwppych2f7apzdymw4r3gf9kyr decimals = 18 -[h2o] -peggy_denom = factory/inj1utlxkwfxhmfc826gu07w20mvguysavz72edy4n/fbi +[inj1zfcny0x77lt6z4rg04zt2mp6j4zuwm5uufkguz] +peggy_denom = inj1zfcny0x77lt6z4rg04zt2mp6j4zuwm5uufkguz decimals = 6 -[hINJ] -peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj18luqttqyckgpddndh8hvaq25d5nfwjc78m56lc -decimals = 18 - -[httuy] -peggy_denom = inj1996tdgklvleuja56gfpv9v3cc2uflmm9vavw05 +[inj1zhqnqzdg6738q9wjrkr50c6qkkd5ghar9fp36s] +peggy_denom = inj1zhqnqzdg6738q9wjrkr50c6qkkd5ghar9fp36s decimals = 18 -[hug] -peggy_denom = inj1ncjqkvnxpyyhvm475std34eyn5c7eydpxxagds -decimals = 18 +[inj1zr4fs5xkkf4h99sdalaxyglr3txjuewtyzjvg5] +peggy_denom = inj1zr4fs5xkkf4h99sdalaxyglr3txjuewtyzjvg5 +decimals = 8 -[inj] -peggy_denom = ibc/EA180E422271F35D66E7B9B57AFF072DABEE97EDA4522DAB91F97AE6DD45426D -decimals = 0 +[inj1zw35mh6q23cnxa0j6kdh2n4dtss795avxmn9kn] +peggy_denom = inj1zw35mh6q23cnxa0j6kdh2n4dtss795avxmn9kn +decimals = 6 [injJay] peggy_denom = factory/inj1ruwdh4vc29t75eryvxs7vwzt7trtrz885teuwa/injJay @@ -11068,7 +13557,7 @@ peggy_denom = inj17auxme00fj267ccyhx9y9ue4tuwwuadgxshl7x decimals = 18 [loki] -peggy_denom = ibc/72C208D790F59429C66542C648D69EDA1DC8A81C4B869C11444D906233678D3D +peggy_denom = ibc/28325391B9F257ABED965813D29AE67D1FE5C58E40AB6D753250CD83306EC7A3 decimals = 0 [lootbox1] @@ -11136,7 +13625,7 @@ peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj16jf4qkcarp3 decimals = 6 [nINJ] -peggy_denom = inj1rmzufd7h09sqfrre5dtvu5d09ta7c0t4jzkr2f +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj13xlpypcwl5fuc84uhqzzqumnrcfpptyl6w3vrf decimals = 18 [nTIA] @@ -11180,8 +13669,8 @@ peggy_denom = factory/inj1gxq2pk3ufkpng5s4qc62rcq5rssdxsvk955xdw/nonjainu decimals = 6 [nonjaktif] -peggy_denom = inj1ra46mrdcc4qd7m8mhdjd9fkut50pa07lwxsvst -decimals = 18 +peggy_denom = factory/inj1x6u4muldaqn2cm95yn7g07z5wwvpd6d6rpt4da/nonjaktif +decimals = 6 [notDOJO] peggy_denom = inj1n2l9mq2ndyp83u6me4hf7yw76xkx7h792juksq @@ -11204,23 +13693,63 @@ peggy_denom = inj1wazl9873fqgs4p7rjvn6a4qgqfdafacz9jzzjd decimals = 18 [orai] -peggy_denom = ibc/E247857D53653BA3592A6CCAF9914227153B938BA768C415FF3BAD6CE6CFA316 +peggy_denom = ibc/7FF5CED7EF2ED6DFBC5B1278B5BE9ECBFB5939CC04218AC244A5E51D64ED50C8 decimals = 0 [paam] peggy_denom = factory/inj1hg6n7nfhtevnxq87y2zj4xf28n4p38te6q56vx/paam decimals = 6 +[peggy0x138C2F1123cF3f82E4596d097c118eAc6684940B] +peggy_denom = peggy0x138C2F1123cF3f82E4596d097c118eAc6684940B +decimals = 18 + +[peggy0x420412E765BFa6d85aaaC94b4f7b708C89be2e2B] +peggy_denom = peggy0x420412E765BFa6d85aaaC94b4f7b708C89be2e2B +decimals = 4 + +[peggy0x43123e1d077351267113ada8bE85A058f5D492De] +peggy_denom = peggy0x43123e1d077351267113ada8bE85A058f5D492De +decimals = 6 + +[peggy0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32] +peggy_denom = peggy0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32 +decimals = 18 + +[peggy0x6c3ea9036406852006290770BEdFcAbA0e23A0e8] +peggy_denom = peggy0x6c3ea9036406852006290770BEdFcAbA0e23A0e8 +decimals = 6 + +[peggy0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2] +peggy_denom = peggy0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 +decimals = 18 + +[peggy0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080] +peggy_denom = peggy0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080 +decimals = 10 + +[peggy0xbC0899E527007f1B8Ced694508FCb7a2b9a46F53] +peggy_denom = peggy0xbC0899E527007f1B8Ced694508FCb7a2b9a46F53 +decimals = 5 + [peggy0xdAC17F958D2ee523a2206206994597C13D831ec7] -peggy_denom = ibc/ECBEA5A9A992EE96B327CBA081AA35EB4E62C6A1A3990D2C0326E9A5840793A4 +peggy_denom = ibc/13EF490ADD26F95B3FEFBA0C8BC74345358B4C5A8D431AAE92CDB691CF8796FF decimals = 0 +[peggy0xe28b3b32b6c345a34ff64674606124dd5aceca30] +peggy_denom = peggy0xe28b3b32b6c345a34ff64674606124dd5aceca30 +decimals = 18 + [peipei] peggy_denom = inj1rd0ympknmutwvvq8egl6j7ukjyqeh2uteqyyx7 decimals = 6 [pepe] -peggy_denom = inj1f2vr6hd9w4xujncyprw670l3g7x2esj50umn8k +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1f2vr6hd9w4xujncyprw670l3g7x2esj50umn8k +decimals = 18 + +[peresident] +peggy_denom = inj1txs2fdchzula47kt7pygs7fzxfjmp73zhqs4dj decimals = 18 [pigs] @@ -11236,7 +13765,7 @@ peggy_denom = factory/inj1rn2snthhvdt4m62uakp7snzk7melj2x8nfqkx5/popINJay decimals = 6 [ppica] -peggy_denom = ibc/8B42C90767030357E99BE35BB5BCBD5A69F6E9E20F4A9FD0498823FD10FF86F9 +peggy_denom = ibc/455C0229DFEB1ADCA527BAE29F4F5B30EE50F282DBEB7124D2836D2DD31514C8 decimals = 0 [pumping] @@ -11307,6 +13836,10 @@ decimals = 18 peggy_denom = factory/inj1a37dnkznmek8l5uyg24xl5f7rvftpvqsduex24/scorpion decimals = 6 +[sei] +peggy_denom = sei +decimals = 6 + [sentinel] peggy_denom = inj172tsvz4t82m28rrthmvatfzqaphen66ty06qzn decimals = 18 @@ -11564,8 +14097,8 @@ peggy_denom = inj1qt78z7xru0fcks54ca56uehuzwal026ghhtxdv decimals = 6 [spore] -peggy_denom = inj1uqhcsup58gjfxl26z9esenmr03hn8wyz2mlc02 -decimals = 18 +peggy_denom = factory/inj1lq9wn94d49tt7gc834cxkm0j5kwlwu4gm65lhe/spore +decimals = 6 [spuun] peggy_denom = factory/inj168pjvcxwdr28uv295fchjtkk6pc5cd0lg3h450/spuun @@ -11592,7 +14125,7 @@ peggy_denom = factory/inj1nhswhqrgfu3hpauvyeycz7pfealx4ack2c5hfp/squid decimals = 6 [stATOM] -peggy_denom = ibc/B024EC4AE846F690CB46C1CE886BE7DCE27CBBB6CE1E4EFBA4AA764E07B81A69 +peggy_denom = ibc/A8F39212ED30B6A8C2AC736665835720D3D7BE4A1D18D68566525EC25ECF1C9B decimals = 6 [stBAND] @@ -11660,7 +14193,7 @@ peggy_denom = ibc/FC8E98DF998AE88129183094E49383F94B3E5F1844C939D380AF18061FEF41 decimals = 6 [stinj] -peggy_denom = ibc/FAFBDE851E97E4B566B050B843F6BBCE14D7DC88DA69840850271BA8DF72EAEE +peggy_denom = ibc/E9BBE9BBF0925155892D6E47553E83B8476C880F65DEB33859E751C0B107B0B1 decimals = 0 [stkATOM] @@ -11720,8 +14253,8 @@ peggy_denom = inj14tepyvvxsn9yy2hgqrl4stqzm2h0vla9ee8ya9 decimals = 18 [test] -peggy_denom = inj1qqn3urdskeq9mlm37c375978kv3rxgjx2kff9p -decimals = 18 +peggy_denom = factory/inj18xg8yh445ernwxdquklwpngffqv3agfyt5uqqs/test +decimals = 6 [test1] peggy_denom = factory/inj1lq9wn94d49tt7gc834cxkm0j5kwlwu4gm65lhe/test1 @@ -11775,6 +14308,10 @@ decimals = 18 peggy_denom = factory/inj17pn6nwvk33404flhglujj4n5y3p2esy5x0cfhm/testuuu decimals = 6 +[tet1w3112] +peggy_denom = factory/inj1v5vml3038t0expy7vf5vkwj7t9xly9kudtjdg5/tet1w3112 +decimals = 6 + [toby] peggy_denom = factory/inj1temu696g738vldkgnn7fqmgvkq2l36qsng5ea7/toby decimals = 6 @@ -11836,11 +14373,11 @@ peggy_denom = ibc/3BADB97E59D4BB8A26AD5E5485EF0AF123982363D1174AA1C6DEA9BE9C7E93 decimals = 0 [uatom] -peggy_denom = ibc/F1EEC63548B066D76B9B82D04DE25C424932DABD9234116836BAF759E8130BC3 +peggy_denom = ibc/057B70A05AFF2A38C082ACE15A260080D29627CCBF1655EA38B043275AFAADCE decimals = 0 [uaxl] -peggy_denom = ibc/C49B72C4E85AE5361C3E0F0587B24F509CB16ECEB8970B6F917D697036AF49BE +peggy_denom = ibc/2FB8CEA9180069DD4DB8883CA8E263D9879F446D6895CDAA90487ABCCFB4A45C decimals = 0 [ubld] @@ -11848,7 +14385,7 @@ peggy_denom = ibc/40AE872789CC2B160222CC4301CA9B097493BD858EAD84218E2EC29C64F0BB decimals = 0 [ubtsg] -peggy_denom = ibc/AC45D6359281E50A7498B10B9F38B7BE4868628E45E531D68F77422EFE430365 +peggy_denom = ibc/861CA7EF82BD341F2EB80C6F47730908E14A4E569099C510C0DAD8DA07F6DCC6 decimals = 0 [ucmdx] @@ -11860,7 +14397,7 @@ peggy_denom = ibc/478A95ED132D071603C8AD0FC5E1A74717653880144E0D9B2508A230820921 decimals = 0 [ucrbrus] -peggy_denom = ibc/95B32740756E6DF2EAA242978EBF0FF6F3B632B8601DC12CB912D5957E8AB118 +peggy_denom = ibc/617A276F35F40221C033B0662301374A225A9784653C30184F9305398054525D decimals = 0 [ucre] @@ -11876,43 +14413,47 @@ peggy_denom = ibc/613786F0A8E01B0436DE4EBC2F922672063D8348AE5C7FEBA5CB22CD2B12E1 decimals = 0 [ukuji] -peggy_denom = ibc/B5BB79AC621108184E03AD6B82456EBC96041B877A1652445CF32619CC9DA5C1 +peggy_denom = ibc/B4524C4C8F51F77C94D4E901AA26DF4F0E530F44E285D5D777E1634907E94CBD decimals = 0 [uluna] -peggy_denom = ibc/BE3E2A75AFBA5F56017D7BB68FBAB013E08BF1633F92528197286C26967FBF42 +peggy_denom = ibc/2B3FA34CE2779629F4CBDD4D52EFF1FED8AD78EBA63786E946C7CE6D06034D0D decimals = 0 [ulvn] peggy_denom = factory/osmo1mlng7pz4pnyxtpq0akfwall37czyk9lukaucsrn30ameplhhshtqdvfm5c/ulvn decimals = 6 +[unknown] +peggy_denom = unknown +decimals = 0 + [unois] -peggy_denom = ibc/FA2E855E713B5D73C6AA54822791ADFD1BA73EFA5FDFDA903120A1FB0FF12733 +peggy_denom = ibc/D2C7259861170E5EE7B21DBEC44D4720EC6C97293F1CAA79B0A0FF84B508C012 decimals = 0 [untrn] -peggy_denom = ibc/C8099767548EA68F722AD0F8A8C807A5E6B6A8CA0A6FD7B8BD9B1AE96D19AC3E +peggy_denom = ibc/6E512756C29F76C31032D456A4C957309E377827A443F1267D19DE551EB76048 decimals = 0 [uosmo] -peggy_denom = ibc/D24B4564BCD51D3D02D9987D92571EAC5915676A9BD6D9B0C1D0254CB8A5EA34 +peggy_denom = ibc/49CE7E3072FB1C70C1B2DE9AD1E74D15E2AC2AFD62949DB82EC653EB3E2B0A84 decimals = 0 [uscrt] -peggy_denom = ibc/E801CF19C7B3FFC5FD81A1C9662BCFAE08F4976B054923BC0DA377F1863D3E56 +peggy_denom = ibc/3C38B741DF7CD6CAC484343A4994CFC74BC002D1840AAFD5416D9DAC61E37F10 decimals = 0 [usei] -peggy_denom = ibc/BE749147EF2813020A5A77D29183336CFAA1A53B67E522EF103D6803DE0E084B +peggy_denom = ibc/262300516331DBB83707BF21D485454F5608610B74F9232FB2503ABA3363BD59 decimals = 0 [ustrd] -peggy_denom = ibc/F72F979601BD2FCF748C2E93092E9CB55A8BDB738567AB42C19D403A7C636110 +peggy_denom = ibc/CACFB6FEEC434B66254E2E27B2ABAD991171212EC8F67C566024D90490B7A079 decimals = 0 [utia] -peggy_denom = ibc/FE2F22FEFB9E5F2EA063FD3135533B916577149A3D69CC2BF7BB4224BC9B1230 +peggy_denom = ibc/056FEA49A8266ECD3EEF407A17EDC3FCEED144BE5EEF3A09ED6BC33F7118009F decimals = 0 [uumee] @@ -11920,23 +14461,23 @@ peggy_denom = ibc/EE0EC814EF89AFCA8C9CB385F5A69CFF52FAAD00879BEA44DE78F9AABFFCCE decimals = 0 [uusd] -peggy_denom = ibc/C3BD5051E685B9A447352FB2D5773F8E4A015521CBD0A534B3F514FCA17C9030 +peggy_denom = ibc/B61DB68037EA3B6E9A1833093616CDFD8233EB014C1EA4C2D06E6A62B1FF2A64 decimals = 0 [uusdc] -peggy_denom = ibc/E43E4F1FD4B84EE30EDB8E0BE6F03E0A5596B292EAA0F198789DDF0C1301FB85 +peggy_denom = ibc/02FF79280203E6BF0E7EAF70C5D0396B81B3CC95BA309354A539511387161AA5 decimals = 0 [uusdt] -peggy_denom = ibc/D3FA7185FEB5D4A07F08F8A0847290A2BAC9372C5C5DF1E7F7BFEEDD852E9052 +peggy_denom = ibc/63ADE20D7FF880975E9EC5FEBE87DB7CFCE6E85AB7F8E5097952052583C237EC decimals = 0 [uwhale] -peggy_denom = ibc/CB9BA999A7CDA4CE00784BFF705A1D0BDB95AD80334FD0F95A5BA306078C96E9 +peggy_denom = ibc/08E058987E0EB7A4ABEF68956D4AB2247447BA95EF06E6B43CB7D128E2924355 decimals = 0 [uxprt] -peggy_denom = ibc/AB1E9C841105F28E9B70ED5EF1239B2D5E567F6E16818D87EFFA75E62778C8E4 +peggy_denom = ibc/A1D2A5E125114E63EE6E19FBA05E0949A14B5A51BB91D6193EEAE771C76C91E6 decimals = 0 [wBTC] @@ -11944,8 +14485,8 @@ peggy_denom = inj14au322k9munkmx5wrchz9q30juf5wjgz2cfqku decimals = 18 [wETH] -peggy_denom = peggy0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 -decimals = 18 +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/inj1k9r62py07wydch6sj5sfvun93e4qe0lg7jyatc +decimals = 8 [wLIBRA] peggy_denom = ibc/FCCACE2DFDF08422A050486E09697AE34D4C620DC51CFBEF59B60AE3946CC569 @@ -11967,16 +14508,20 @@ decimals = 6 peggy_denom = ibc/0C8737145CF8CAE5DC1007450882E251744B57119600E1A2DACE72C8C272849D decimals = 0 +[wif] +peggy_denom = wif +decimals = 6 + [winston] peggy_denom = inj128kf4kufhd0w4zwpz4ug5x9qd7pa4hqyhm3re4 decimals = 6 [wmatic-wei] -peggy_denom = ibc/D4ED143E25535EBF6374A1A077BE205A687B69872484DF064ED2BAD6E5C3D762 +peggy_denom = ibc/8042DF9D0B312FE068D0336E5E9AFFE408839DA15643D83CA9AB005D0A2E38D8 decimals = 0 [wstETH] -peggy_denom = ibc/E4BDC3A9935959C715961FFC6C12159EAD8FA4A5955D069EE19D0423FF810C6E +peggy_denom = ibc/1E0FC59FB8495BF927B10E9D515661494B1BBEDAA15D80E52FE2BADA64656D16 decimals = 18 [wynn] diff --git a/client/metadata/assets/testnet.ini b/client/metadata/assets/testnet.ini index bd39b4eb..4eba7b4d 100644 --- a/client/metadata/assets/testnet.ini +++ b/client/metadata/assets/testnet.ini @@ -538,8 +538,8 @@ peggy_denom = factory/inj14dvet9j73cak22sf7nzgn52ae8z4fdxzsn683v/ADN decimals = 6 [AK] -peggy_denom = peggy0x6F3050fa31c4CC2bB4A213B7d53c220Ac04Dd59D -decimals = 18 +peggy_denom = factory/inj10jmp6sgh4cc6zt3e8gw05wavvejgr5pw6m8j75/ak +decimals = 6 [AKK] peggy_denom = factory/inj1ygeap3ypldmjgl22al5rpqafemyw7dt6k45n8r/ak @@ -610,7 +610,7 @@ peggy_denom = inj1mhmln627samtkuwe459ylq763r4n7n69gxxc9x decimals = 18 [ASTRO] -peggy_denom = ibc/EBD5A24C554198EBAF44979C5B4D2C2D312E6EBAB71962C92F735499C7575839 +peggy_denom = ibc/E8AC6B792CDE60AB208CA060CA010A3881F682A7307F624347AB71B6A0B0BF89 decimals = 6 [ATJ] @@ -618,8 +618,8 @@ peggy_denom = factory/inj1xv73rnm0jwnens2ywgvz35d4k59raw5eqf5quw/auctiontestj decimals = 6 [ATOM] -peggy_denom = peggy0x8D983cb9388EaC77af0474fA441C4815500Cb7BB -decimals = 6 +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/atom +decimals = 8 [ATT] peggy_denom = factory/inj1xuxqgygmk79xfaf38ncgdp4jwmszh9rn3pmuex/ATT @@ -706,8 +706,8 @@ peggy_denom = factory/inj14cxwqv9rt0hvmvmfawts8v6dvq6p26q0lkuajv/BIL decimals = 6 [BINJ] -peggy_denom = factory/inj1lhr06p7k3rdgk0knw5hfsde3fj87g2aq4e9a52/binj -decimals = 6 +peggy_denom = factory/inj10q36ygr0pkz7ezajcnjd2f0tat5n737yg6g6d5/binj +decimals = 18 [BITS] peggy_denom = factory/inj10gcvfpnn4932kzk56h5kp77mrfdqas8z63qr7n/BITS @@ -898,7 +898,7 @@ peggy_denom = factory/inj1f595c8ml3sfvey4cd85j9f4ur02mymz87huu78/COCKOC decimals = 6 [COKE] -peggy_denom = inj14eaxewvy7a3fk948c3g3qham98mcqpm8v5y0dp +peggy_denom = factory/inj158g7dfclyg9rr6u4ddxg9d2afwevq5d79g2tm6/coke decimals = 6 [COMP] @@ -1066,7 +1066,7 @@ peggy_denom = factory/inj1any4rpwq7r850u6feajg5payvhwpunu9cxqevc/dojo decimals = 6 [DOT] -peggy_denom = peggy0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080 +peggy_denom = ibc/624BA9DD171915A2B9EA70F69638B2CEA179959850C1A586F6C485498F29EDD4 decimals = 10 [DREAM] @@ -1106,7 +1106,7 @@ peggy_denom = inj1zdj9kqnknztl2xclm5ssv25yre09f8908d4923 decimals = 18 [ELON] -peggy_denom = peggy0x43123e1d077351267113ada8bE85A058f5D492De +peggy_denom = inj10pqutl0av9ltrw9jq8d3wjwjayvz76jhfcfza0 decimals = 6 [ENA] @@ -1398,7 +1398,7 @@ peggy_denom = factory/inj18x8g8gkc3kch72wtkh46a926634m784m3wnj50/ING decimals = 6 [INJ] -peggy_denom = peggy0xe28b3b32b6c345a34ff64674606124dd5aceca30 +peggy_denom = inj decimals = 18 [INJAmanullahTest1] @@ -1642,7 +1642,7 @@ peggy_denom = factory/inj1h33jkaqqalcy3wf8um6ewk4hxmfwf8uern470k/kinja decimals = 6 [KIRA] -peggy_denom = factory/inj1xy3kvlr4q4wdd6lrelsrw2fk2ged0any44hhwq/kira +peggy_denom = factory/inj14ejqjyq8um4p3xfqj74yld5waqljf88f9eneuk/kira decimals = 6 [KISH6] @@ -1726,7 +1726,7 @@ peggy_denom = peggy0x514910771AF9Ca656af840dff83E8264EcF986CA decimals = 18 [LIOR] -peggy_denom = factory/inj1tgphgjqsz8fupkfjx6cy275e3s0l8xfu6rd6jh/lior +peggy_denom = factory/inj1cjus5ragdkvpmt627fw7wkj2ydsra9s0vap4zx/lior decimals = 6 [LOKI] @@ -1830,7 +1830,7 @@ peggy_denom = factory/inj1z08usf75ecfp3cqtwey6gx7nr79s3agal3k8xf/mila decimals = 6 [MILK] -peggy_denom = factory/inj1yg24mn8enl5e6v4jl2j6cce47mx4vyd6e8dpck/milk +peggy_denom = factory/inj1fpl63h7at2epr55yn5svmqkq4fkye32vmxq8ry/milk decimals = 6 [MIRO] @@ -1982,7 +1982,7 @@ peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/NLT3 decimals = 6 [NOBI] -peggy_denom = factory/inj1xawhm3d8lf9n0rqdljpal033yackja3dt0kvp0/nobi +peggy_denom = factory/inj1pjp9q2ycs7eaav8d5ny5956k5m6t0alpl33xd6/nobi decimals = 6 [NOBITCHES] @@ -2206,7 +2206,7 @@ peggy_denom = inj1tjcf9497fwmrnk22jfu5hsdq82qshga54ajvzy decimals = 6 [PYUSD] -peggy_denom = peggy0x6c3ea9036406852006290770BEdFcAbA0e23A0e8 +peggy_denom = ibc/4367FD29E33CDF0487219CD3E88D8C432BD4C2776C0C1034FF05A3E6451B8B11 decimals = 6 [PZZ] @@ -2242,8 +2242,8 @@ peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/QAQA decimals = 0 [QAT] -peggy_denom = peggy0x5Ac3A2F6205a481C7a8984E4291E450e52cd0369 -decimals = 18 +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1m4g54lg2mhhm7a4h3ms5xlyecafhe4macgsuen +decimals = 8 [QATEST] peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/QATEST @@ -2422,7 +2422,7 @@ peggy_denom = factory/inj1t9em6lv5x94w0d66nng6tqkrtrlhcpj9penatm/SHSA decimals = 6 [SHURIKEN] -peggy_denom = factory/inj1z426atp9k68uv49kaam7m0vnehw5fulxkyvde0/shuriken +peggy_denom = factory/inj1gflhshg8yrk8rrr3sgswhmsnygw9ghzdsn05a0/shuriken decimals = 6 [SKIPBIDIDOBDOBDOBYESYESYESYES] @@ -2458,7 +2458,7 @@ peggy_denom = peggy0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F decimals = 18 [SOL] -peggy_denom = inj12ngevx045zpvacus9s6anr258gkwpmthnz80e9 +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj12ngevx045zpvacus9s6anr258gkwpmthnz80e9 decimals = 8 [SOLlegacy] @@ -2966,7 +2966,7 @@ peggy_denom = inj1q6zlut7gtkzknkk773jecujwsdkgq882akqksk decimals = 6 [USDC] -peggy_denom = peggy0xf9152067989BDc8783fF586624124C05A529A5D1 +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/usdc decimals = 6 [USDC-MPL] @@ -2982,7 +2982,7 @@ peggy_denom = inj1dngqzz6wphf07fkdam7dn55t8t3r6qenewy9zu decimals = 6 [USDCet] -peggy_denom = inj12sqy9uzzl3h3vqxam7sz9f0yvmhampcgesh3qw +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj12sqy9uzzl3h3vqxam7sz9f0yvmhampcgesh3qw decimals = 6 [USDCgateway] @@ -3002,7 +3002,7 @@ peggy_denom = inj12pwnhtv7yat2s30xuf4gdk9qm85v4j3e60dgvu decimals = 6 [USDT] -peggy_denom = peggy0xC2C527C0CACF457746Bd31B2a698Fe89de2b6d49 +peggy_denom = peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5 decimals = 6 [USDT_31DEC23] @@ -3058,8 +3058,8 @@ peggy_denom = ibc/6AB81EFD48DC233A206FAD0FB6F2691A456246C4A7F98D0CD37E2853DD0493 decimals = 0 [Unknown] -peggy_denom = unknown -decimals = 0 +peggy_denom = ibc/078184C66B073F0464BA0BBD736DD601A0C637F9C42B592DDA5D6A95289D99A4 +decimals = 6 [VATRENI] peggy_denom = inj1tn457ed2gg5vj2cur5khjjw63w73y3xhyhtaay @@ -8533,6 +8533,10 @@ decimals = 0 peggy_denom = factory/inj1jfuyujpvvkxq4566r3z3tv3jdy29pqra5ln0yk/ak decimals = 6 +[factory/inj1jfuyujpvvkxq4566r3z3tv3jdy29pqra5ln0yk/kira] +peggy_denom = factory/inj1jfuyujpvvkxq4566r3z3tv3jdy29pqra5ln0yk/kira +decimals = 6 + [factory/inj1jfuyujpvvkxq4566r3z3tv3jdy29pqra5ln0yk/kirat] peggy_denom = factory/inj1jfuyujpvvkxq4566r3z3tv3jdy29pqra5ln0yk/kirat decimals = 0 @@ -8773,6 +8777,10 @@ decimals = 0 peggy_denom = factory/inj1lgcxyyvmnhtp42apwgvhhvlqvezwlqly998eex/nUSD decimals = 18 +[factory/inj1lhr06p7k3rdgk0knw5hfsde3fj87g2aq4e9a52/binj] +peggy_denom = factory/inj1lhr06p7k3rdgk0knw5hfsde3fj87g2aq4e9a52/binj +decimals = 6 + [factory/inj1ljsmrpm3hlth5zk347lqr23rdzm2ktd4aathkl/position] peggy_denom = factory/inj1ljsmrpm3hlth5zk347lqr23rdzm2ktd4aathkl/position decimals = 0 @@ -9709,6 +9717,10 @@ decimals = 0 peggy_denom = factory/inj1s92j8qw73qhhuhlecj3ekux8ck60wj93ry5haw/position decimals = 0 +[factory/inj1s9dzsqrrq09z46ye7ffa9fldg3dt0e2cvx6yla/auction.0] +peggy_denom = factory/inj1s9dzsqrrq09z46ye7ffa9fldg3dt0e2cvx6yla/auction.0 +decimals = 0 + [factory/inj1sa2wmd8zhf893ex6da8jgnp06pcj2tv59mq457/position] peggy_denom = factory/inj1sa2wmd8zhf893ex6da8jgnp06pcj2tv59mq457/position decimals = 0 @@ -9737,6 +9749,10 @@ decimals = 0 peggy_denom = factory/inj1sf4jk2ku0syp7x6lns8dau73sc2grtqpf3try5/test123 decimals = 6 +[factory/inj1sg3yjgjlwhtrepeuusj4jwv209rh6cmk882cw3/lior] +peggy_denom = factory/inj1sg3yjgjlwhtrepeuusj4jwv209rh6cmk882cw3/lior +decimals = 6 + [factory/inj1sg9htcd8tqgxlnsl9qe2mm5y4l9zq0mq6qhph9/position] peggy_denom = factory/inj1sg9htcd8tqgxlnsl9qe2mm5y4l9zq0mq6qhph9/position decimals = 0 @@ -10145,6 +10161,10 @@ decimals = 0 peggy_denom = factory/inj1tgn4tyjf0y20mxpydwv3454l3ze0uwdl3cgpaf/position decimals = 0 +[factory/inj1tgphgjqsz8fupkfjx6cy275e3s0l8xfu6rd6jh/lior] +peggy_denom = factory/inj1tgphgjqsz8fupkfjx6cy275e3s0l8xfu6rd6jh/lior +decimals = 6 + [factory/inj1tk4ml8fce5ghx7y2gtnqhw57e9m59ep27497xv/uLP] peggy_denom = factory/inj1tk4ml8fce5ghx7y2gtnqhw57e9m59ep27497xv/uLP decimals = 0 @@ -10801,6 +10821,10 @@ decimals = 18 peggy_denom = factory/inj1x8v44tuhlfk8f64j4vehftwggfzdjtthmeddwm/test1 decimals = 8 +[factory/inj1xawhm3d8lf9n0rqdljpal033yackja3dt0kvp0/nobi] +peggy_denom = factory/inj1xawhm3d8lf9n0rqdljpal033yackja3dt0kvp0/nobi +decimals = 6 + [factory/inj1xcj5al0gdrs7mwcn84jhsj5a2kgsqj4c9qk5en/injMiam] peggy_denom = factory/inj1xcj5al0gdrs7mwcn84jhsj5a2kgsqj4c9qk5en/injMiam decimals = 0 @@ -10881,6 +10905,10 @@ decimals = 6 peggy_denom = factory/inj1xwdxxej579ns9gcs80jfxvl50yctvptxtpn2fa/DREAM decimals = 6 +[factory/inj1xy3kvlr4q4wdd6lrelsrw2fk2ged0any44hhwq/kira] +peggy_denom = factory/inj1xy3kvlr4q4wdd6lrelsrw2fk2ged0any44hhwq/kira +decimals = 6 + [factory/inj1xyr5tt9ltrdm9uvnerwtv4sz9hllqvgt3pkea2/position] peggy_denom = factory/inj1xyr5tt9ltrdm9uvnerwtv4sz9hllqvgt3pkea2/position decimals = 0 @@ -10941,6 +10969,10 @@ decimals = 0 peggy_denom = factory/inj1yfxejgk5n6jljvf9f5sxex7k22td5vkqnugnvm/ak decimals = 6 +[factory/inj1yg24mn8enl5e6v4jl2j6cce47mx4vyd6e8dpck/milk] +peggy_denom = factory/inj1yg24mn8enl5e6v4jl2j6cce47mx4vyd6e8dpck/milk +decimals = 6 + [factory/inj1yhyhvdj0lsjnvvrsv6r0wplzvg5w3ye5nskecp/position] peggy_denom = factory/inj1yhyhvdj0lsjnvvrsv6r0wplzvg5w3ye5nskecp/position decimals = 0 @@ -11057,6 +11089,10 @@ decimals = 0 peggy_denom = factory/inj1z3qduw4n3uq549xx47sertmrclyratf498x63e/position decimals = 0 +[factory/inj1z426atp9k68uv49kaam7m0vnehw5fulxkyvde0/shuriken] +peggy_denom = factory/inj1z426atp9k68uv49kaam7m0vnehw5fulxkyvde0/shuriken +decimals = 6 + [factory/inj1z4phq0clwmns79duanyg7nk2eankp3we7h4sdk/position] peggy_denom = factory/inj1z4phq0clwmns79duanyg7nk2eankp3we7h4sdk/position decimals = 0 @@ -11222,7 +11258,7 @@ peggy_denom = factory/inj1gvhyp8un5l9jpxpd90rdtj3ejd6qser2s2jxtz/good decimals = 6 [hINJ] -peggy_denom = inj1mz7mfhgx8tuvjqut03qdujrkzwlx9xhcj6yldc +peggy_denom = factory/inj1hdvy6tl89llqy3ze8lv6mz5qh66sx9enn0jxg6/inj1mz7mfhgx8tuvjqut03qdujrkzwlx9xhcj6yldc decimals = 18 [hng] @@ -11313,6 +11349,10 @@ decimals = 0 peggy_denom = ibc/E40FBDD3CB829D3A57D8A5588783C39620B4E4F26B08970DE0F8173D60E3E6E1 decimals = 0 +[ibc/EBD5A24C554198EBAF44979C5B4D2C2D312E6EBAB71962C92F735499C7575839] +peggy_denom = ibc/EBD5A24C554198EBAF44979C5B4D2C2D312E6EBAB71962C92F735499C7575839 +decimals = 6 + [ibc/F14B1670FD61AC2BA511C6260D940A120A47B27AAF8322FCDBBAD8E9967BB518] peggy_denom = ibc/F14B1670FD61AC2BA511C6260D940A120A47B27AAF8322FCDBBAD8E9967BB518 decimals = 0 @@ -11321,6 +11361,26 @@ decimals = 0 peggy_denom = factory/inj1dskr075p0ktts987r8h3jxcjce6h73flvmm8a4/inj-test decimals = 6 +[inj12ngevx045zpvacus9s6anr258gkwpmthnz80e9] +peggy_denom = inj12ngevx045zpvacus9s6anr258gkwpmthnz80e9 +decimals = 8 + +[inj12sqy9uzzl3h3vqxam7sz9f0yvmhampcgesh3qw] +peggy_denom = inj12sqy9uzzl3h3vqxam7sz9f0yvmhampcgesh3qw +decimals = 6 + +[inj14eaxewvy7a3fk948c3g3qham98mcqpm8v5y0dp] +peggy_denom = inj14eaxewvy7a3fk948c3g3qham98mcqpm8v5y0dp +decimals = 6 + +[inj1mz7mfhgx8tuvjqut03qdujrkzwlx9xhcj6yldc] +peggy_denom = inj1mz7mfhgx8tuvjqut03qdujrkzwlx9xhcj6yldc +decimals = 18 + +[inj1plsk58sxqjw9828aqzeskmc8xy9eu5kppw3jg4] +peggy_denom = inj1plsk58sxqjw9828aqzeskmc8xy9eu5kppw3jg4 +decimals = 8 + [injjj] peggy_denom = factory/inj1dqagu9cx72lph0rg3ghhuwj20cw9f8x7rq2zz6/injjj decimals = 6 @@ -11401,6 +11461,86 @@ decimals = 6 peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/pal decimals = 6 +[peggy0x1902e18fEB1234D00d880f1fACA5C8d74e8501E9] +peggy_denom = peggy0x1902e18fEB1234D00d880f1fACA5C8d74e8501E9 +decimals = 18 + +[peggy0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599] +peggy_denom = peggy0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 +decimals = 8 + +[peggy0x43123e1d077351267113ada8bE85A058f5D492De] +peggy_denom = peggy0x43123e1d077351267113ada8bE85A058f5D492De +decimals = 6 + +[peggy0x43871C5e85144EC340A3A63109F3F11C3745FE4E] +peggy_denom = peggy0x43871C5e85144EC340A3A63109F3F11C3745FE4E +decimals = 18 + +[peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7] +peggy_denom = peggy0x44C21afAaF20c270EBbF5914Cfc3b5022173FEB7 +decimals = 0 + +[peggy0x5Ac3A2F6205a481C7a8984E4291E450e52cd0369] +peggy_denom = peggy0x5Ac3A2F6205a481C7a8984E4291E450e52cd0369 +decimals = 18 + +[peggy0x6F3050fa31c4CC2bB4A213B7d53c220Ac04Dd59D] +peggy_denom = peggy0x6F3050fa31c4CC2bB4A213B7d53c220Ac04Dd59D +decimals = 18 + +[peggy0x6c3ea9036406852006290770BEdFcAbA0e23A0e8] +peggy_denom = peggy0x6c3ea9036406852006290770BEdFcAbA0e23A0e8 +decimals = 6 + +[peggy0x8D983cb9388EaC77af0474fA441C4815500Cb7BB] +peggy_denom = peggy0x8D983cb9388EaC77af0474fA441C4815500Cb7BB +decimals = 6 + +[peggy0x91Efc46E7C52ab1fFca310Ca7972AeA48891E5CD] +peggy_denom = peggy0x91Efc46E7C52ab1fFca310Ca7972AeA48891E5CD +decimals = 18 + +[peggy0x9ff0b0dA21e77D775eB27A4845eCbF9700bfCF0B] +peggy_denom = peggy0x9ff0b0dA21e77D775eB27A4845eCbF9700bfCF0B +decimals = 18 + +[peggy0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6] +peggy_denom = peggy0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6 +decimals = 18 + +[peggy0xBe8d71D26525440A03311cc7fa372262c5354A3c] +peggy_denom = peggy0xBe8d71D26525440A03311cc7fa372262c5354A3c +decimals = 18 + +[peggy0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2] +peggy_denom = peggy0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 +decimals = 18 + +[peggy0xC2C527C0CACF457746Bd31B2a698Fe89de2b6d49] +peggy_denom = peggy0xC2C527C0CACF457746Bd31B2a698Fe89de2b6d49 +decimals = 6 + +[peggy0xD87Ba7A50B2E7E660f678A895E4B72E7CB4CCd9C] +peggy_denom = peggy0xD87Ba7A50B2E7E660f678A895E4B72E7CB4CCd9C +decimals = 6 + +[peggy0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080] +peggy_denom = peggy0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080 +decimals = 10 + +[peggy0xaA8E23Fb1079EA71e0a56F48a2aA51851D8433D0] +peggy_denom = peggy0xaA8E23Fb1079EA71e0a56F48a2aA51851D8433D0 +decimals = 6 + +[peggy0xe28b3b32b6c345a34ff64674606124dd5aceca30] +peggy_denom = peggy0xe28b3b32b6c345a34ff64674606124dd5aceca30 +decimals = 18 + +[peggy0xf9152067989BDc8783fF586624124C05A529A5D1] +peggy_denom = peggy0xf9152067989BDc8783fF586624124C05A529A5D1 +decimals = 6 + [pip] peggy_denom = factory/inj1p30u767z9wwxmnh986snpp0c9u0sxwc9mnyexy/pip decimals = 6 @@ -12189,6 +12329,10 @@ decimals = 6 peggy_denom = factory/inj1wt8aa8ct7eap805lsz9jh8spezf6mkxe0ejp79/tst1 decimals = 6 +[unknown] +peggy_denom = unknown +decimals = 0 + [usssyn] peggy_denom = factory/inj1mlalkqq4egj7mz68x47tmpnf57aj7480g4evxa/usssyn decimals = 0 @@ -12198,12 +12342,12 @@ peggy_denom = factory/inj17gkuet8f6pssxd8nycm3qr9d9y699rupv6397z/uyO decimals = 0 [wBTC] -peggy_denom = peggy0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/wbtc decimals = 8 [wETH] -peggy_denom = peggy0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6 -decimals = 18 +peggy_denom = factory/inj17vytdwqczqz72j65saukplrktd4gyfme5agf6c/weth +decimals = 8 [wUSDM] peggy_denom = peggy0x57F5E098CaD7A3D1Eed53991D4d66C45C9AF7812